From 3f88b88c869533d148579f31ec033ed35b482924 Mon Sep 17 00:00:00 2001 From: MStarmans91 Date: Fri, 15 Feb 2019 17:52:07 +0100 Subject: [PATCH] Release 2.1.0. --- .eggs/PREDICT-2.1.0-py2.7.egg | Bin 396622 -> 0 bytes .eggs/README.txt | 6 - .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/PKG-INFO | 148 - .../EGG-INFO/SOURCES.txt | 65 - .../EGG-INFO/dependency_links.txt | 1 - .../EGG-INFO/not-zip-safe | 1 - .../EGG-INFO/requires.txt | 3 - .../EGG-INFO/top_level.txt | 1 - .eggs/boto3-1.8.8-py2.7.egg/boto3/__init__.py | 110 - .eggs/boto3-1.8.8-py2.7.egg/boto3/compat.py | 43 - .../2010-05-15/resources-1.json | 195 - .../cloudwatch/2010-08-01/resources-1.json | 334 - .../data/dynamodb/2012-08-10/resources-1.json | 150 - .../data/ec2/2014-10-01/resources-1.json | 2289 -- .../data/ec2/2015-03-01/resources-1.json | 2289 -- .../data/ec2/2015-04-15/resources-1.json | 2289 -- .../data/ec2/2015-10-01/resources-1.json | 2567 -- .../data/ec2/2016-04-01/resources-1.json | 2567 -- .../data/ec2/2016-09-15/resources-1.json | 2567 -- .../data/ec2/2016-11-15/resources-1.json | 2582 -- .../data/glacier/2012-06-01/resources-1.json | 581 - .../data/iam/2010-05-08/resources-1.json | 1721 -- .../data/opsworks/2013-02-18/resources-1.json | 173 - .../boto3/data/s3/2006-03-01/resources-1.json | 1249 - .../data/sns/2010-03-31/resources-1.json | 327 - .../data/sqs/2012-11-05/resources-1.json | 232 - .../boto3/docs/__init__.py | 39 - .../boto3/docs/action.py | 148 - .../boto3-1.8.8-py2.7.egg/boto3/docs/attr.py | 54 - .../boto3-1.8.8-py2.7.egg/boto3/docs/base.py | 31 - .../boto3/docs/client.py | 27 - .../boto3/docs/collection.py | 234 - .../boto3/docs/docstring.py | 74 - .../boto3/docs/method.py | 71 - .../boto3/docs/resource.py | 259 - .../boto3/docs/service.py | 129 - .../boto3/docs/subresource.py | 112 - .../boto3-1.8.8-py2.7.egg/boto3/docs/utils.py | 142 - .../boto3/docs/waiter.py | 91 - .../boto3/dynamodb/__init__.py | 12 - .../boto3/dynamodb/conditions.py | 428 - .../boto3/dynamodb/table.py | 156 - .../boto3/dynamodb/transform.py | 300 - .../boto3/dynamodb/types.py | 297 - .../boto3/ec2/__init__.py | 12 - .../boto3/ec2/createtags.py | 40 - .../boto3/ec2/deletetags.py | 34 - .../boto3-1.8.8-py2.7.egg/boto3/exceptions.py | 109 - .../boto3/resources/__init__.py | 0 .../boto3/resources/action.py | 244 - .../boto3/resources/base.py | 148 - .../boto3/resources/collection.py | 526 - .../boto3/resources/factory.py | 539 - .../boto3/resources/model.py | 622 - .../boto3/resources/params.py | 168 - .../boto3/resources/response.py | 300 - .../boto3/s3/__init__.py | 12 - .../boto3-1.8.8-py2.7.egg/boto3/s3/inject.py | 761 - .../boto3/s3/transfer.py | 338 - .eggs/boto3-1.8.8-py2.7.egg/boto3/session.py | 452 - .eggs/boto3-1.8.8-py2.7.egg/boto3/utils.py | 93 - .../EGG-INFO/PKG-INFO | 58 - .../EGG-INFO/SOURCES.txt | 1483 - .../EGG-INFO/dependency_links.txt | 1 - .../EGG-INFO/not-zip-safe | 1 - .../EGG-INFO/requires.txt | 8 - .../EGG-INFO/top_level.txt | 1 - .../botocore/__init__.py | 92 - .../botocore/args.py | 208 - .../botocore/auth.py | 871 - .../botocore/awsrequest.py | 585 - .../botocore/cacert.pem | 4433 --- .../botocore/client.py | 864 - .../botocore/compat.py | 379 - .../botocore/config.py | 208 - .../botocore/configloader.py | 272 - .../botocore/credentials.py | 1673 -- .../botocore/data/_retry.json | 261 - .../data/acm-pca/2017-08-22/paginators-1.json | 3 - .../data/acm-pca/2017-08-22/service-2.json | 1261 - .../data/acm/2015-12-08/examples-1.json | 5 - .../data/acm/2015-12-08/paginators-1.json | 10 - .../data/acm/2015-12-08/service-2.json | 1114 - .../data/acm/2015-12-08/waiters-2.json | 35 - .../2017-11-09/paginators-1.json | 46 - .../2017-11-09/service-2.json | 2843 -- .../apigateway/2015-07-09/examples-1.json | 5 - .../apigateway/2015-07-09/paginators-1.json | 76 - .../data/apigateway/2015-07-09/service-2.json | 7026 ----- .../2016-02-06/examples-1.json | 257 - .../2016-02-06/paginators-1.json | 22 - .../2016-02-06/service-2.json | 1183 - .../data/appstream/2016-12-01/examples-1.json | 5 - .../appstream/2016-12-01/paginators-1.json | 3 - .../data/appstream/2016-12-01/service-2.json | 2782 -- .../data/appstream/2016-12-01/waiters-2.json | 55 - .../data/appsync/2017-07-25/paginators-1.json | 3 - .../data/appsync/2017-07-25/service-2.json | 1918 -- .../data/athena/2017-05-18/paginators-1.json | 23 - .../data/athena/2017-05-18/service-2.json | 874 - .../2018-01-06/paginators-1.json | 3 - .../2018-01-06/service-2.json | 755 - .../autoscaling/2011-01-01/examples-1.json | 1395 - .../autoscaling/2011-01-01/paginators-1.json | 52 - .../autoscaling/2011-01-01/service-2.json | 3744 --- .../data/batch/2016-08-10/examples-1.json | 589 - .../data/batch/2016-08-10/paginators-1.json | 3 - .../data/batch/2016-08-10/service-2.json | 1660 -- .../data/budgets/2016-10-20/examples-1.json | 5 - .../data/budgets/2016-10-20/paginators-1.json | 3 - .../data/budgets/2016-10-20/service-2.json | 1055 - .../data/ce/2017-10-25/paginators-1.json | 3 - .../data/ce/2017-10-25/service-2.json | 1303 - .../data/cloud9/2017-09-23/paginators-1.json | 16 - .../data/cloud9/2017-09-23/service-2.json | 696 - .../2016-05-10/paginators-1.json | 100 - .../clouddirectory/2016-05-10/service-2.json | 5924 ---- .../2017-01-11/paginators-1.json | 100 - .../clouddirectory/2017-01-11/service-2.json | 5991 ---- .../cloudformation/2010-05-15/examples-1.json | 158 - .../2010-05-15/paginators-1.json | 34 - .../cloudformation/2010-05-15/service-2.json | 3784 --- .../cloudformation/2010-05-15/waiters-2.json | 182 - .../cloudfront/2014-05-31/paginators-1.json | 32 - .../data/cloudfront/2014-05-31/service-2.json | 3540 --- .../data/cloudfront/2014-05-31/waiters-2.json | 47 - .../cloudfront/2014-10-21/paginators-1.json | 32 - .../data/cloudfront/2014-10-21/service-2.json | 3588 --- .../data/cloudfront/2014-10-21/waiters-2.json | 47 - .../cloudfront/2014-11-06/paginators-1.json | 32 - .../data/cloudfront/2014-11-06/service-2.json | 3585 --- .../data/cloudfront/2014-11-06/waiters-2.json | 47 - .../cloudfront/2015-04-17/paginators-1.json | 32 - .../data/cloudfront/2015-04-17/service-2.json | 3637 --- .../data/cloudfront/2015-04-17/waiters-2.json | 47 - .../cloudfront/2015-07-27/paginators-1.json | 32 - .../data/cloudfront/2015-07-27/service-2.json | 3731 --- .../data/cloudfront/2015-07-27/waiters-2.json | 47 - .../cloudfront/2015-09-17/paginators-1.json | 32 - .../data/cloudfront/2015-09-17/service-2.json | 2928 -- .../data/cloudfront/2015-09-17/waiters-2.json | 47 - .../cloudfront/2016-01-13/paginators-1.json | 32 - .../data/cloudfront/2016-01-13/service-2.json | 3021 -- .../data/cloudfront/2016-01-13/waiters-2.json | 47 - .../cloudfront/2016-01-28/paginators-1.json | 32 - .../data/cloudfront/2016-01-28/service-2.json | 3026 -- .../data/cloudfront/2016-01-28/waiters-2.json | 47 - .../cloudfront/2016-08-01/paginators-1.json | 32 - .../data/cloudfront/2016-08-01/service-2.json | 3433 --- .../data/cloudfront/2016-08-01/waiters-2.json | 47 - .../cloudfront/2016-08-20/paginators-1.json | 32 - .../data/cloudfront/2016-08-20/service-2.json | 3480 --- .../data/cloudfront/2016-08-20/waiters-2.json | 47 - .../cloudfront/2016-09-07/paginators-1.json | 32 - .../data/cloudfront/2016-09-07/service-2.json | 3496 --- .../data/cloudfront/2016-09-07/waiters-2.json | 47 - .../cloudfront/2016-09-29/paginators-1.json | 32 - .../data/cloudfront/2016-09-29/service-2.json | 3496 --- .../data/cloudfront/2016-09-29/waiters-2.json | 47 - .../cloudfront/2016-11-25/examples-1.json | 5 - .../cloudfront/2016-11-25/paginators-1.json | 32 - .../data/cloudfront/2016-11-25/service-2.json | 3577 --- .../data/cloudfront/2016-11-25/waiters-2.json | 47 - .../cloudfront/2017-03-25/examples-1.json | 5 - .../cloudfront/2017-03-25/paginators-1.json | 32 - .../data/cloudfront/2017-03-25/service-2.json | 3653 --- .../data/cloudfront/2017-03-25/waiters-2.json | 47 - .../cloudfront/2017-10-30/examples-1.json | 5 - .../cloudfront/2017-10-30/paginators-1.json | 32 - .../data/cloudfront/2017-10-30/service-2.json | 5187 ---- .../data/cloudfront/2017-10-30/waiters-2.json | 47 - .../cloudfront/2018-06-18/examples-1.json | 5 - .../cloudfront/2018-06-18/paginators-1.json | 32 - .../data/cloudfront/2018-06-18/service-2.json | 5197 ---- .../data/cloudfront/2018-06-18/waiters-2.json | 47 - .../data/cloudhsm/2014-05-30/examples-1.json | 5 - .../cloudhsm/2014-05-30/paginators-1.json | 3 - .../data/cloudhsm/2014-05-30/service-2.json | 1197 - .../cloudhsmv2/2017-04-28/paginators-1.json | 22 - .../data/cloudhsmv2/2017-04-28/service-2.json | 892 - .../cloudsearch/2011-02-01/service-2.json | 2096 -- .../cloudsearch/2013-01-01/paginators-1.json | 3 - .../cloudsearch/2013-01-01/service-2.json | 2707 -- .../2013-01-01/examples-1.json | 5 - .../2013-01-01/service-2.json | 548 - .../cloudtrail/2013-11-01/examples-1.json | 5 - .../cloudtrail/2013-11-01/paginators-1.json | 10 - .../data/cloudtrail/2013-11-01/service-2.json | 1390 - .../cloudwatch/2010-08-01/examples-1.json | 5 - .../cloudwatch/2010-08-01/paginators-1.json | 26 - .../data/cloudwatch/2010-08-01/service-2.json | 1726 -- .../data/cloudwatch/2010-08-01/waiters-2.json | 18 - .../data/codebuild/2016-10-06/examples-1.json | 5 - .../codebuild/2016-10-06/paginators-1.json | 19 - .../data/codebuild/2016-10-06/service-2.json | 1683 -- .../codecommit/2015-04-13/examples-1.json | 5 - .../codecommit/2015-04-13/paginators-1.json | 44 - .../data/codecommit/2015-04-13/service-2.json | 3549 --- .../codedeploy/2014-10-06/examples-1.json | 5 - .../codedeploy/2014-10-06/paginators-1.json | 34 - .../data/codedeploy/2014-10-06/service-2.json | 3905 --- .../data/codedeploy/2014-10-06/waiters-2.json | 30 - .../codepipeline/2015-07-09/examples-1.json | 5 - .../codepipeline/2015-07-09/paginators-1.json | 3 - .../codepipeline/2015-07-09/service-2.json | 3043 -- .../codestar/2017-04-19/paginators-1.json | 3 - .../data/codestar/2017-04-19/service-2.json | 1212 - .../2014-06-30/examples-1.json | 5 - .../2014-06-30/paginators-1.json | 3 - .../2014-06-30/service-2.json | 1341 - .../cognito-idp/2016-04-18/examples-1.json | 5 - .../cognito-idp/2016-04-18/paginators-1.json | 3 - .../cognito-idp/2016-04-18/service-2.json | 7658 ----- .../cognito-sync/2014-06-30/service-2.json | 2441 -- .../comprehend/2017-11-27/paginators-1.json | 10 - .../data/comprehend/2017-11-27/service-2.json | 2165 -- .../data/config/2014-11-12/examples-1.json | 5 - .../data/config/2014-11-12/paginators-1.json | 40 - .../data/config/2014-11-12/service-2.json | 3413 --- .../data/connect/2017-08-08/paginators-1.json | 3 - .../data/connect/2017-08-08/service-2.json | 1371 - .../data/cur/2017-01-06/examples-1.json | 5 - .../data/cur/2017-01-06/paginators-1.json | 10 - .../data/cur/2017-01-06/service-2.json | 264 - .../datapipeline/2012-10-29/paginators-1.json | 23 - .../datapipeline/2012-10-29/service-2.json | 1779 -- .../data/dax/2017-04-19/paginators-1.json | 3 - .../data/dax/2017-04-19/service-2.json | 1683 -- .../devicefarm/2015-06-23/examples-1.json | 1242 - .../devicefarm/2015-06-23/paginators-1.json | 77 - .../data/devicefarm/2015-06-23/service-2.json | 4681 --- .../directconnect/2012-10-25/examples-1.json | 5 - .../2012-10-25/paginators-1.json | 3 - .../directconnect/2012-10-25/service-2.json | 2256 -- .../data/discovery/2015-11-01/examples-1.json | 5 - .../discovery/2015-11-01/paginators-1.json | 3 - .../data/discovery/2015-11-01/service-2.json | 1619 - .../data/dlm/2018-01-12/paginators-1.json | 3 - .../data/dlm/2018-01-12/service-2.json | 558 - .../data/dms/2016-01-01/examples-1.json | 5 - .../data/dms/2016-01-01/paginators-1.json | 82 - .../data/dms/2016-01-01/service-2.json | 3487 --- .../data/ds/2015-04-16/examples-1.json | 5 - .../data/ds/2015-04-16/paginators-1.json | 10 - .../data/ds/2015-04-16/service-2.json | 3079 -- .../data/dynamodb/2012-08-10/examples-1.json | 628 - .../dynamodb/2012-08-10/paginators-1.json | 42 - .../data/dynamodb/2012-08-10/service-2.json | 3899 --- .../data/dynamodb/2012-08-10/waiters-2.json | 35 - .../2012-08-10/examples-1.json | 212 - .../2012-08-10/paginators-1.json | 3 - .../dynamodbstreams/2012-08-10/service-2.json | 638 - .../data/ec2/2014-09-01/paginators-1.json | 45 - .../data/ec2/2014-09-01/service-2.json | 11699 -------- .../data/ec2/2014-09-01/waiters-2.json | 341 - .../data/ec2/2014-10-01/paginators-1.json | 51 - .../data/ec2/2014-10-01/service-2.json | 12085 -------- .../data/ec2/2014-10-01/waiters-2.json | 436 - .../data/ec2/2015-03-01/paginators-1.json | 51 - .../data/ec2/2015-03-01/service-2.json | 12707 -------- .../data/ec2/2015-03-01/waiters-2.json | 436 - .../data/ec2/2015-04-15/paginators-1.json | 51 - .../data/ec2/2015-04-15/service-2.json | 14625 --------- .../data/ec2/2015-04-15/waiters-2.json | 458 - .../data/ec2/2015-10-01/paginators-1.json | 63 - .../data/ec2/2015-10-01/service-2.json | 17075 ----------- .../data/ec2/2015-10-01/waiters-2.json | 589 - .../data/ec2/2016-04-01/paginators-1.json | 63 - .../data/ec2/2016-04-01/service-2.json | 17629 ----------- .../data/ec2/2016-04-01/waiters-2.json | 607 - .../data/ec2/2016-09-15/examples-1.json | 3740 --- .../data/ec2/2016-09-15/paginators-1.json | 63 - .../data/ec2/2016-09-15/service-2.json | 17907 ----------- .../data/ec2/2016-09-15/waiters-2.json | 593 - .../data/ec2/2016-11-15/examples-1.json | 3740 --- .../data/ec2/2016-11-15/paginators-1.json | 87 - .../data/ec2/2016-11-15/service-2.json | 24647 ---------------- .../data/ec2/2016-11-15/waiters-2.json | 622 - .../data/ecr/2015-09-21/examples-1.json | 215 - .../data/ecr/2015-09-21/paginators-1.json | 22 - .../data/ecr/2015-09-21/service-2.json | 1830 -- .../data/ecs/2014-11-13/examples-1.json | 883 - .../data/ecs/2014-11-13/paginators-1.json | 40 - .../data/ecs/2014-11-13/service-2.json | 3388 --- .../data/ecs/2014-11-13/waiters-2.json | 93 - .../data/efs/2015-02-01/examples-1.json | 222 - .../data/efs/2015-02-01/paginators-1.json | 22 - .../data/efs/2015-02-01/service-2.json | 1020 - .../data/eks/2017-11-01/paginators-1.json | 3 - .../data/eks/2017-11-01/service-2.json | 426 - .../elasticache/2014-09-30/paginators-1.json | 76 - .../elasticache/2014-09-30/service-2.json | 5049 ---- .../elasticache/2014-09-30/waiters-2.json | 139 - .../elasticache/2015-02-02/paginators-1.json | 76 - .../elasticache/2015-02-02/service-2.json | 4061 --- .../elasticache/2015-02-02/waiters-2.json | 143 - .../2010-12-01/examples-1.json | 1109 - .../2010-12-01/paginators-1.json | 10 - .../2010-12-01/service-2.json | 3997 --- .../2012-09-25/examples-1.json | 5 - .../2012-09-25/paginators-1.json | 24 - .../2012-09-25/service-2.json | 2337 -- .../2012-09-25/waiters-2.json | 30 - .../data/elb/2012-06-01/examples-1.json | 1036 - .../data/elb/2012-06-01/paginators-1.json | 10 - .../data/elb/2012-06-01/service-2.json | 2280 -- .../data/elb/2012-06-01/waiters-2.json | 54 - .../data/elbv2/2015-12-01/examples-1.json | 1384 - .../data/elbv2/2015-12-01/paginators-1.json | 22 - .../data/elbv2/2015-12-01/service-2.json | 3095 -- .../data/elbv2/2015-12-01/waiters-2.json | 100 - .../data/emr/2009-03-31/examples-1.json | 5 - .../data/emr/2009-03-31/paginators-1.json | 34 - .../data/emr/2009-03-31/service-2.json | 3571 --- .../data/emr/2009-03-31/waiters-2.json | 86 - .../botocore/data/endpoints.json | 2864 -- .../data/es/2015-01-01/paginators-1.json | 16 - .../data/es/2015-01-01/service-2.json | 2102 -- .../data/events/2014-02-03/service-2.json | 997 - .../data/events/2015-10-07/examples-1.json | 5 - .../data/events/2015-10-07/paginators-1.json | 3 - .../data/events/2015-10-07/service-2.json | 1181 - .../data/firehose/2015-08-04/examples-1.json | 5 - .../firehose/2015-08-04/paginators-1.json | 3 - .../data/firehose/2015-08-04/service-2.json | 2194 -- .../data/fms/2018-01-01/paginators-1.json | 3 - .../data/fms/2018-01-01/service-2.json | 753 - .../data/gamelift/2015-10-01/examples-1.json | 5 - .../gamelift/2015-10-01/paginators-1.json | 3 - .../data/gamelift/2015-10-01/service-2.json | 5040 ---- .../data/glacier/2012-06-01/examples-1.json | 806 - .../data/glacier/2012-06-01/paginators-1.json | 28 - .../data/glacier/2012-06-01/service-2.json | 2580 -- .../data/glacier/2012-06-01/waiters-2.json | 39 - .../data/glue/2017-03-31/paginators-1.json | 82 - .../data/glue/2017-03-31/service-2.json | 6549 ---- .../data/greengrass/2017-06-07/service-2.json | 4854 --- .../guardduty/2017-11-28/paginators-1.json | 46 - .../data/guardduty/2017-11-28/service-2.json | 3562 --- .../data/health/2016-08-04/examples-1.json | 5 - .../data/health/2016-08-04/paginators-1.json | 28 - .../data/health/2016-08-04/service-2.json | 824 - .../data/iam/2010-05-08/examples-1.json | 1191 - .../data/iam/2010-05-08/paginators-1.json | 198 - .../data/iam/2010-05-08/service-2.json | 7259 ----- .../data/iam/2010-05-08/waiters-2.json | 39 - .../importexport/2010-06-01/paginators-1.json | 11 - .../importexport/2010-06-01/service-2.json | 898 - .../data/inspector/2015-08-18/service-2.json | 2100 -- .../data/inspector/2016-02-16/examples-1.json | 1140 - .../inspector/2016-02-16/paginators-1.json | 52 - .../data/inspector/2016-02-16/service-2.json | 3315 --- .../data/iot-data/2015-05-28/service-2.json | 337 - .../2017-09-29/paginators-1.json | 3 - .../iot-jobs-data/2017-09-29/service-2.json | 474 - .../data/iot/2015-05-28/examples-1.json | 5 - .../data/iot/2015-05-28/paginators-1.json | 70 - .../data/iot/2015-05-28/service-2.json | 11237 ------- .../2018-05-14/service-2.json | 889 - .../2018-05-14/paginators-1.json | 3 - .../2018-05-14/service-2.json | 907 - .../iotanalytics/2017-11-27/paginators-1.json | 3 - .../iotanalytics/2017-11-27/service-2.json | 2762 -- .../2017-09-30/paginators-1.json | 3 - .../2017-09-30/service-2.json | 426 - .../2017-09-30/paginators-1.json | 3 - .../2017-09-30/service-2.json | 194 - .../data/kinesis/2013-12-02/examples-1.json | 5 - .../data/kinesis/2013-12-02/paginators-1.json | 28 - .../data/kinesis/2013-12-02/service-2.json | 2005 -- .../data/kinesis/2013-12-02/waiters-2.json | 30 - .../2015-08-14/examples-1.json | 5 - .../2015-08-14/paginators-1.json | 3 - .../2015-08-14/service-2.json | 2105 -- .../kinesisvideo/2017-09-30/paginators-1.json | 3 - .../kinesisvideo/2017-09-30/service-2.json | 729 - .../data/kms/2014-11-01/examples-1.json | 815 - .../data/kms/2014-11-01/paginators-1.json | 32 - .../data/kms/2014-11-01/service-2.json | 2065 -- .../data/lambda/2014-11-11/service-2.json | 873 - .../data/lambda/2015-03-31/examples-1.json | 614 - .../data/lambda/2015-03-31/paginators-1.json | 22 - .../data/lambda/2015-03-31/service-2.json | 2442 -- .../lex-models/2017-04-19/paginators-1.json | 64 - .../data/lex-models/2017-04-19/service-2.json | 3271 -- .../lex-runtime/2016-11-28/paginators-1.json | 3 - .../lex-runtime/2016-11-28/service-2.json | 524 - .../data/lightsail/2016-11-28/examples-1.json | 5 - .../lightsail/2016-11-28/paginators-1.json | 49 - .../data/lightsail/2016-11-28/service-2.json | 4791 --- .../data/logs/2014-03-28/examples-1.json | 5 - .../data/logs/2014-03-28/paginators-1.json | 43 - .../data/logs/2014-03-28/service-2.json | 2014 -- .../2014-12-12/examples-1.json | 5 - .../2014-12-12/paginators-1.json | 28 - .../machinelearning/2014-12-12/service-2.json | 3144 -- .../machinelearning/2014-12-12/waiters-2.json | 81 - .../data/macie/2017-12-19/paginators-1.json | 3 - .../data/macie/2017-12-19/service-2.json | 495 - .../2017-01-11/paginators-1.json | 3 - .../2017-01-11/service-2.json | 183 - .../2015-07-01/examples-1.json | 5 - .../2015-07-01/paginators-1.json | 3 - .../2015-07-01/service-2.json | 231 - .../mediaconvert/2017-08-29/service-2.json | 8087 ----- .../medialive/2017-10-14/paginators-1.json | 40 - .../data/medialive/2017-10-14/service-2.json | 9034 ------ .../mediapackage/2017-10-12/paginators-1.json | 16 - .../mediapackage/2017-10-12/service-2.json | 1995 -- .../2017-09-01/paginators-1.json | 3 - .../mediastore-data/2017-09-01/service-2.json | 465 - .../mediastore/2017-09-01/paginators-1.json | 3 - .../data/mediastore/2017-09-01/service-2.json | 570 - .../mediatailor/2018-04-23/paginators-1.json | 3 - .../mediatailor/2018-04-23/service-2.json | 320 - .../2016-01-14/examples-1.json | 5 - .../2016-01-14/service-2.json | 340 - .../data/mgh/2017-05-31/paginators-1.json | 3 - .../data/mgh/2017-05-31/service-2.json | 1123 - .../data/mobile/2017-07-01/paginators-1.json | 16 - .../data/mobile/2017-07-01/service-2.json | 732 - .../data/mq/2017-11-27/paginators-1.json | 3 - .../data/mq/2017-11-27/service-2.json | 2434 -- .../data/mturk/2017-01-17/paginators-1.json | 58 - .../data/mturk/2017-01-17/service-2.json | 2569 -- .../data/neptune/2014-10-31/paginators-1.json | 58 - .../data/neptune/2014-10-31/service-2.json | 5513 ---- .../data/neptune/2014-10-31/waiters-2.json | 90 - .../data/opsworks/2013-02-18/examples-1.json | 5 - .../opsworks/2013-02-18/paginators-1.json | 10 - .../data/opsworks/2013-02-18/service-2.json | 4965 ---- .../data/opsworks/2013-02-18/waiters-2.json | 289 - .../opsworkscm/2016-11-01/examples-1.json | 5 - .../opsworkscm/2016-11-01/paginators-1.json | 3 - .../data/opsworkscm/2016-11-01/service-2.json | 1147 - .../data/opsworkscm/2016-11-01/waiters-2.json | 25 - .../2016-11-28/paginators-1.json | 82 - .../organizations/2016-11-28/service-2.json | 2791 -- .../data/pi/2018-02-27/paginators-1.json | 3 - .../data/pi/2018-02-27/service-2.json | 401 - .../data/pinpoint/2016-12-01/examples-1.json | 5 - .../data/pinpoint/2016-12-01/service-2.json | 8069 ----- .../data/polly/2016-06-10/examples-1.json | 171 - .../data/polly/2016-06-10/paginators-1.json | 9 - .../data/polly/2016-06-10/service-2.json | 1020 - .../data/pricing/2017-10-15/paginators-1.json | 24 - .../data/pricing/2017-10-15/service-2.json | 315 - .../data/rds/2014-09-01/paginators-1.json | 107 - .../data/rds/2014-09-01/service-2.json | 6943 ----- .../data/rds/2014-09-01/waiters-2.json | 97 - .../data/rds/2014-10-31/examples-1.json | 1658 -- .../data/rds/2014-10-31/paginators-1.json | 119 - .../data/rds/2014-10-31/service-2.json | 9275 ------ .../rds/2014-10-31/service-2.sdk-extras.json | 39 - .../data/rds/2014-10-31/waiters-2.json | 193 - .../data/redshift/2012-12-01/examples-1.json | 5 - .../redshift/2012-12-01/paginators-1.json | 94 - .../data/redshift/2012-12-01/service-2.json | 6307 ---- .../data/redshift/2012-12-01/waiters-2.json | 97 - .../rekognition/2016-06-27/examples-1.json | 651 - .../rekognition/2016-06-27/paginators-1.json | 28 - .../rekognition/2016-06-27/service-2.json | 3120 -- .../2017-11-27/paginators-1.json | 22 - .../resource-groups/2017-11-27/service-2.json | 827 - .../2017-01-26/paginators-1.json | 20 - .../2017-01-26/service-2.json | 430 - .../data/route53/2013-04-01/examples-1.json | 5 - .../data/route53/2013-04-01/paginators-1.json | 33 - .../data/route53/2013-04-01/service-2.json | 5064 ---- .../data/route53/2013-04-01/waiters-2.json | 18 - .../2014-05-15/paginators-1.json | 17 - .../route53domains/2014-05-15/service-2.json | 1931 -- .../data/s3/2006-03-01/examples-1.json | 5 - .../data/s3/2006-03-01/paginators-1.json | 69 - .../data/s3/2006-03-01/service-2.json | 7099 ----- .../data/s3/2006-03-01/waiters-2.json | 73 - .../2017-05-13/paginators-1.json | 3 - .../2017-05-13/service-2.json | 180 - .../sagemaker/2017-07-24/paginators-1.json | 40 - .../data/sagemaker/2017-07-24/service-2.json | 4086 --- .../data/sagemaker/2017-07-24/waiters-2.json | 133 - .../data/sdb/2009-04-15/paginators-1.json | 15 - .../data/sdb/2009-04-15/service-2.json | 1180 - .../2017-10-17/paginators-1.json | 3 - .../secretsmanager/2017-10-17/service-2.json | 1344 - .../2017-09-08/paginators-1.json | 3 - .../serverlessrepo/2017-09-08/service-2.json | 1591 - .../servicecatalog/2015-12-10/examples-1.json | 5 - .../2015-12-10/paginators-1.json | 58 - .../servicecatalog/2015-12-10/service-2.json | 4523 --- .../2017-03-14/paginators-1.json | 28 - .../2017-03-14/service-2.json | 1481 - .../data/ses/2010-12-01/examples-1.json | 953 - .../data/ses/2010-12-01/paginators-1.json | 16 - .../data/ses/2010-12-01/service-2.json | 4417 --- .../data/ses/2010-12-01/waiters-2.json | 18 - .../data/shield/2016-06-02/examples-1.json | 5 - .../data/shield/2016-06-02/paginators-1.json | 10 - .../data/shield/2016-06-02/service-2.json | 1149 - .../data/signer/2017-08-25/paginators-1.json | 3 - .../data/signer/2017-08-25/service-2.json | 966 - .../data/signer/2017-08-25/waiters-2.json | 29 - .../data/sms/2016-10-24/examples-1.json | 5 - .../data/sms/2016-10-24/paginators-1.json | 28 - .../data/sms/2016-10-24/service-2.json | 724 - .../data/snowball/2016-06-30/examples-1.json | 442 - .../snowball/2016-06-30/paginators-1.json | 16 - .../data/snowball/2016-06-30/service-2.json | 1463 - .../data/sns/2010-03-31/examples-1.json | 5 - .../data/sns/2010-03-31/paginators-1.json | 29 - .../data/sns/2010-03-31/service-2.json | 1556 - .../data/sqs/2012-11-05/examples-1.json | 44 - .../data/sqs/2012-11-05/paginators-1.json | 3 - .../data/sqs/2012-11-05/service-2.json | 1424 - .../data/ssm/2014-11-06/examples-1.json | 5 - .../data/ssm/2014-11-06/paginators-1.json | 58 - .../data/ssm/2014-11-06/service-2.json | 11351 ------- .../stepfunctions/2016-11-23/examples-1.json | 5 - .../2016-11-23/paginators-1.json | 28 - .../stepfunctions/2016-11-23/service-2.json | 1562 - .../storagegateway/2013-06-30/examples-1.json | 1381 - .../2013-06-30/paginators-1.json | 40 - .../storagegateway/2013-06-30/service-2.json | 4109 --- .../data/sts/2011-06-15/examples-1.json | 206 - .../data/sts/2011-06-15/paginators-1.json | 3 - .../data/sts/2011-06-15/service-2.json | 723 - .../data/support/2013-04-15/examples-1.json | 5 - .../data/support/2013-04-15/paginators-1.json | 16 - .../data/support/2013-04-15/service-2.json | 1221 - .../data/swf/2012-01-25/paginators-1.json | 53 - .../data/swf/2012-01-25/service-2.json | 4513 --- .../transcribe/2017-10-26/paginators-1.json | 3 - .../data/transcribe/2017-10-26/service-2.json | 717 - .../translate/2017-07-01/paginators-1.json | 3 - .../data/translate/2017-07-01/service-2.json | 158 - .../waf-regional/2016-11-28/examples-1.json | 1017 - .../waf-regional/2016-11-28/paginators-1.json | 3 - .../waf-regional/2016-11-28/service-2.json | 5127 ---- .../data/waf/2015-08-24/examples-1.json | 1017 - .../data/waf/2015-08-24/paginators-1.json | 46 - .../data/waf/2015-08-24/service-2.json | 4975 ---- .../workdocs/2016-05-01/paginators-1.json | 25 - .../data/workdocs/2016-05-01/service-2.json | 3576 --- .../workmail/2017-10-01/paginators-1.json | 40 - .../data/workmail/2017-10-01/service-2.json | 2070 -- .../workspaces/2015-04-08/examples-1.json | 5 - .../workspaces/2015-04-08/paginators-1.json | 20 - .../data/workspaces/2015-04-08/service-2.json | 1745 -- .../data/xray/2016-04-12/examples-1.json | 5 - .../data/xray/2016-04-12/paginators-1.json | 24 - .../data/xray/2016-04-12/service-2.json | 1556 - .../botocore/docs/__init__.py | 38 - .../botocore/docs/bcdoc/__init__.py | 13 - .../botocore/docs/bcdoc/docevents.py | 103 - .../botocore/docs/bcdoc/docstringparser.py | 200 - .../botocore/docs/bcdoc/restdoc.py | 218 - .../botocore/docs/bcdoc/style.py | 418 - .../botocore/docs/bcdoc/textwriter.py | 799 - .../botocore/docs/client.py | 113 - .../botocore/docs/docstring.py | 96 - .../botocore/docs/example.py | 208 - .../botocore/docs/method.py | 282 - .../botocore/docs/paginator.py | 176 - .../botocore/docs/params.py | 220 - .../botocore/docs/service.py | 90 - .../botocore/docs/shape.py | 117 - .../botocore/docs/sharedexample.py | 223 - .../botocore/docs/utils.py | 197 - .../botocore/docs/waiter.py | 127 - .../botocore/endpoint.py | 267 - .../botocore/errorfactory.py | 95 - .../botocore/eventstream.py | 575 - .../botocore/exceptions.py | 477 - .../botocore/handlers.py | 1013 - .../botocore/history.py | 55 - .../botocore/hooks.py | 542 - .../botocore/httpsession.py | 278 - .../botocore/loaders.py | 461 - .../botocore/model.py | 735 - .../botocore/paginate.py | 675 - .../botocore/parsers.py | 933 - .../botocore/regions.py | 188 - .../botocore/response.py | 165 - .../botocore/retryhandler.py | 359 - .../botocore/serialize.py | 659 - .../botocore/session.py | 975 - .../botocore/signers.py | 721 - .../botocore/stub.py | 394 - .../botocore/translate.py | 76 - .../botocore/utils.py | 1191 - .../botocore/validate.py | 293 - .../botocore/vendored/__init__.py | 0 .../botocore/vendored/requests/__init__.py | 77 - .../botocore/vendored/requests/adapters.py | 437 - .../botocore/vendored/requests/api.py | 147 - .../botocore/vendored/requests/auth.py | 212 - .../botocore/vendored/requests/cacert.pem | 4433 --- .../botocore/vendored/requests/certs.py | 25 - .../botocore/vendored/requests/compat.py | 62 - .../botocore/vendored/requests/cookies.py | 479 - .../botocore/vendored/requests/exceptions.py | 99 - .../botocore/vendored/requests/hooks.py | 45 - .../botocore/vendored/requests/models.py | 859 - .../vendored/requests/packages/__init__.py | 3 - .../requests/packages/chardet/__init__.py | 32 - .../requests/packages/chardet/big5freq.py | 925 - .../requests/packages/chardet/big5prober.py | 42 - .../requests/packages/chardet/chardetect.py | 80 - .../packages/chardet/chardistribution.py | 231 - .../packages/chardet/charsetgroupprober.py | 106 - .../packages/chardet/charsetprober.py | 62 - .../packages/chardet/codingstatemachine.py | 61 - .../requests/packages/chardet/compat.py | 34 - .../requests/packages/chardet/constants.py | 39 - .../requests/packages/chardet/cp949prober.py | 44 - .../requests/packages/chardet/escprober.py | 86 - .../requests/packages/chardet/escsm.py | 242 - .../requests/packages/chardet/eucjpprober.py | 90 - .../requests/packages/chardet/euckrfreq.py | 596 - .../requests/packages/chardet/euckrprober.py | 42 - .../requests/packages/chardet/euctwfreq.py | 428 - .../requests/packages/chardet/euctwprober.py | 41 - .../requests/packages/chardet/gb2312freq.py | 472 - .../requests/packages/chardet/gb2312prober.py | 41 - .../requests/packages/chardet/hebrewprober.py | 283 - .../requests/packages/chardet/jisfreq.py | 569 - .../requests/packages/chardet/jpcntx.py | 227 - .../packages/chardet/langbulgarianmodel.py | 229 - .../packages/chardet/langcyrillicmodel.py | 329 - .../packages/chardet/langgreekmodel.py | 225 - .../packages/chardet/langhebrewmodel.py | 201 - .../packages/chardet/langhungarianmodel.py | 225 - .../packages/chardet/langthaimodel.py | 200 - .../requests/packages/chardet/latin1prober.py | 139 - .../packages/chardet/mbcharsetprober.py | 86 - .../packages/chardet/mbcsgroupprober.py | 54 - .../requests/packages/chardet/mbcssm.py | 572 - .../packages/chardet/sbcharsetprober.py | 120 - .../packages/chardet/sbcsgroupprober.py | 69 - .../requests/packages/chardet/sjisprober.py | 91 - .../packages/chardet/universaldetector.py | 170 - .../requests/packages/chardet/utf8prober.py | 76 - .../requests/packages/urllib3/__init__.py | 69 - .../requests/packages/urllib3/_collections.py | 323 - .../requests/packages/urllib3/connection.py | 264 - .../packages/urllib3/connectionpool.py | 795 - .../packages/urllib3/contrib/__init__.py | 0 .../packages/urllib3/contrib/ntlmpool.py | 114 - .../packages/urllib3/contrib/pyopenssl.py | 293 - .../requests/packages/urllib3/exceptions.py | 169 - .../requests/packages/urllib3/fields.py | 177 - .../requests/packages/urllib3/filepost.py | 93 - .../packages/urllib3/packages/__init__.py | 4 - .../packages/urllib3/packages/ordered_dict.py | 259 - .../requests/packages/urllib3/packages/six.py | 385 - .../packages/ssl_match_hostname/__init__.py | 13 - .../ssl_match_hostname/_implementation.py | 105 - .../requests/packages/urllib3/poolmanager.py | 280 - .../requests/packages/urllib3/request.py | 141 - .../requests/packages/urllib3/response.py | 466 - .../packages/urllib3/util/__init__.py | 24 - .../packages/urllib3/util/connection.py | 98 - .../requests/packages/urllib3/util/request.py | 71 - .../packages/urllib3/util/response.py | 22 - .../requests/packages/urllib3/util/retry.py | 285 - .../requests/packages/urllib3/util/ssl_.py | 280 - .../requests/packages/urllib3/util/timeout.py | 240 - .../requests/packages/urllib3/util/url.py | 214 - .../botocore/vendored/requests/sessions.py | 677 - .../vendored/requests/status_codes.py | 89 - .../botocore/vendored/requests/structures.py | 104 - .../botocore/vendored/requests/utils.py | 707 - .../botocore/vendored/six.py | 868 - .../botocore/waiter.py | 331 - .../EGG-INFO/PKG-INFO | 30 - .../EGG-INFO/SOURCES.txt | 117 - .../EGG-INFO/dependency_links.txt | 1 - .../EGG-INFO/not-zip-safe | 1 - .../EGG-INFO/top_level.txt | 1 - .../dicom-0.9.9.post1-py2.7.egg/dicom/UID.py | 192 - .../dicom/_UID_dict.py | 356 - .../dicom/__init__.py | 84 - .../dicom/_dicom_dict.py | 3806 --- .../dicom/_private_dict.py | 9332 ------ .../dicom/charset.py | 133 - .../dicom/config.py | 36 - .../dicom/contrib/__init__.py | 2 - .../dicom/contrib/dcm_qt_tree.py | 101 - .../dicom/contrib/dicom_dao.py | 409 - .../dicom/contrib/imViewer_Simple.py | 292 - .../dicom/contrib/pydicom_PIL.py | 75 - .../dicom/contrib/pydicom_Tkinter.py | 212 - .../dicom/contrib/pydicom_series.py | 675 - .../dicom/datadict.py | 246 - .../dicom/dataelem.py | 324 - .../dicom/dataset.py | 641 - .../dicom/dicomdir.py | 88 - .../dicom/doc/index.html | 12 - .../dicom/encaps.py | 72 - .../dicom/errors.py | 24 - .../dicom/examples/DicomDiff.py | 46 - .../dicom/examples/DicomInfo.py | 63 - .../dicom/examples/ListBeams.py | 34 - .../dicom/examples/__init__.py | 2 - .../dicom/examples/add_dict_entries.py | 40 - .../dicom/examples/anonymize.py | 109 - .../dicom/examples/dicomtree.py | 68 - .../dicom/examples/myprint.py | 46 - .../dicom/examples/show_charset_name.py | 33 - .../dicom/examples/show_dicomdir.py | 82 - .../dicom/examples/write_new.py | 69 - .../dicom/filebase.py | 166 - .../dicom/filereader.py | 692 - .../dicom/fileutil.py | 182 - .../dicom/filewriter.py | 398 - .../dicom-0.9.9.post1-py2.7.egg/dicom/misc.py | 22 - .../dicom/multival.py | 64 - .../dicom/sequence.py | 57 - .../dicom-0.9.9.post1-py2.7.egg/dicom/tag.py | 112 - .../dicom/tagtools.py | 21 - .../dicom/test/__init__.py | 1 - .../dicom/test/_write_stds.py | 68 - .../dicom/test/all.bat | 16 - .../dicom/test/performance/__init__.py | 2 - .../test/performance/raw_convert_test.py | 58 - .../dicom/test/performance/time_test.py | 125 - .../dicom/test/run_tests.py | 56 - .../dicom/test/shell_all | 17 - .../dicom/test/test_UID.py | 90 - .../dicom/test/test_charset.py | 73 - .../dicom/test/test_dataelem.py | 68 - .../dicom/test/test_dataset.py | 318 - .../dicom/test/test_dictionary.py | 46 - .../dicom/test/test_filereader.py | 443 - .../dicom/test/test_filewriter.py | 220 - .../dicom/test/test_multival.py | 64 - .../dicom/test/test_rawread.py | 274 - .../dicom/test/test_sequence.py | 60 - .../dicom/test/test_tag.py | 93 - .../dicom/test/test_unicode.py | 22 - .../dicom/test/test_valuerep.py | 117 - .../dicom/test/version_dep.py | 18 - .../dicom/test/warncheck.py | 43 - .../dicom/testcharsetfiles/FileInfo.txt | 18 - .../dicom/testcharsetfiles/charlist.py | 38 - .../dicom/testcharsetfiles/chrArab.dcm | Bin 1892 -> 0 bytes .../dicom/testcharsetfiles/chrFren.dcm | Bin 1890 -> 0 bytes .../dicom/testcharsetfiles/chrFrenMulti.dcm | Bin 1938 -> 0 bytes .../dicom/testcharsetfiles/chrGerm.dcm | Bin 1894 -> 0 bytes .../dicom/testcharsetfiles/chrGreek.dcm | Bin 1890 -> 0 bytes .../dicom/testcharsetfiles/chrH31.dcm | Bin 1950 -> 0 bytes .../dicom/testcharsetfiles/chrH32.dcm | Bin 1960 -> 0 bytes .../dicom/testcharsetfiles/chrHbrw.dcm | Bin 1890 -> 0 bytes .../dicom/testcharsetfiles/chrI2.dcm | Bin 1934 -> 0 bytes .../dicom/testcharsetfiles/chrJapMulti.dcm | Bin 1918 -> 0 bytes .../dicom/testcharsetfiles/chrKoreanMulti.dcm | Bin 1898 -> 0 bytes .../dicom/testcharsetfiles/chrRuss.dcm | Bin 1890 -> 0 bytes .../dicom/testcharsetfiles/chrSQEncoding.dcm | Bin 520 -> 0 bytes .../dicom/testcharsetfiles/chrX1.dcm | Bin 1910 -> 0 bytes .../dicom/testcharsetfiles/chrX2.dcm | Bin 1904 -> 0 bytes .../dicom/testfiles/CT_small.dcm | Bin 39122 -> 0 bytes .../dicom/testfiles/ExplVR_BigEnd.dcm | Bin 15412 -> 0 bytes .../dicom/testfiles/JPEG-LL.dcm | Bin 118986 -> 0 bytes .../dicom/testfiles/JPEG-lossy.dcm | Bin 9844 -> 0 bytes .../dicom/testfiles/JPEG2000.dcm | Bin 3308 -> 0 bytes .../dicom/testfiles/MR_small.dcm | Bin 9830 -> 0 bytes .../dicom/testfiles/README.txt | 133 - .../dicom/testfiles/image_dfl.dcm | Bin 4637 -> 0 bytes .../dicom/testfiles/nested_priv_SQ.dcm | Bin 343 -> 0 bytes .../dicom/testfiles/no_meta_group_length.dcm | Bin 408 -> 0 bytes .../dicom/testfiles/priv_SQ.dcm | Bin 532 -> 0 bytes .../dicom/testfiles/reportsi.dcm | Bin 2968 -> 0 bytes .../dicom/testfiles/rtdose.dcm | Bin 7568 -> 0 bytes .../dicom/testfiles/rtplan.dcm | Bin 2672 -> 0 bytes .../dicom/testfiles/rtplan.dump | 250 - .../dicom/testfiles/rtplan_truncated.dcm | Bin 2129 -> 0 bytes .../dicom/testfiles/rtstruct.dcm | Bin 2534 -> 0 bytes .../dicom/testfiles/rtstruct.dump | 124 - .../dicom/testfiles/test-SR.dcm | Bin 6796 -> 0 bytes .../dicom/testfiles/test.py | 28 - .../dicom/testfiles/zipMR.gz | Bin 6958 -> 0 bytes .../dicom/util/__init__.py | 1 - .../dicom/util/codify.py | 317 - .../dicom/util/dump.py | 98 - .../dicom/util/hexutil.py | 40 - .../dicom/valuerep.py | 442 - .../dicom/values.py | 242 - .../futures-3.2.0-py2.7.egg/EGG-INFO/PKG-INFO | 52 - .../EGG-INFO/SOURCES.txt | 23 - .../EGG-INFO/dependency_links.txt | 1 - .../EGG-INFO/not-zip-safe | 1 - .../EGG-INFO/top_level.txt | 1 - .../concurrent/__init__.py | 3 - .../concurrent/futures/__init__.py | 23 - .../concurrent/futures/_base.py | 667 - .../concurrent/futures/process.py | 363 - .../concurrent/futures/thread.py | 160 - .../hyperopt-0.1-py2.7.egg/EGG-INFO/PKG-INFO | 58 - .../EGG-INFO/SOURCES.txt | 53 - .../EGG-INFO/dependency_links.txt | 1 - .../EGG-INFO/not-zip-safe | 1 - .../EGG-INFO/requires.txt | 7 - .../EGG-INFO/scripts/hyperopt-mongo-worker | 6 - .../EGG-INFO/top_level.txt | 1 - .../hyperopt/__init__.py | 39 - .../hyperopt/algobase.py | 270 - .../hyperopt-0.1-py2.7.egg/hyperopt/anneal.py | 416 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/base.py | 955 - .../hyperopt/criteria.py | 98 - .../hyperopt/exceptions.py | 34 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/fmin.py | 345 - .../hyperopt/graphviz.py | 80 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/hp.py | 19 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/ipy.py | 250 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/main.py | 121 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/mix.py | 36 - .../hyperopt/mongoexp.py | 1302 - .../hyperopt/plotting.py | 609 - .../hyperopt/pyll/__init__.py | 13 - .../hyperopt/pyll/base.py | 1148 - .../hyperopt/pyll/stochastic.py | 196 - .../hyperopt/pyll/tests/__init__.py | 0 .../hyperopt/pyll/tests/test_base.py | 288 - .../hyperopt/pyll/tests/test_stochastic.py | 76 - .../hyperopt/pyll_utils.py | 237 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/rand.py | 47 - .../hyperopt-0.1-py2.7.egg/hyperopt/rdists.py | 325 - .../hyperopt/tests/__init__.py | 0 .../hyperopt/tests/test_anneal.py | 114 - .../hyperopt/tests/test_base.py | 219 - .../hyperopt/tests/test_criteria.py | 66 - .../hyperopt/tests/test_domains.py | 275 - .../hyperopt/tests/test_fmin.py | 171 - .../hyperopt/tests/test_ipy.py | 76 - .../hyperopt/tests/test_mongoexp.py | 382 - .../hyperopt/tests/test_pchoice.py | 181 - .../hyperopt/tests/test_plotting.py | 57 - .../hyperopt/tests/test_pyll_utils.py | 68 - .../hyperopt/tests/test_rand.py | 27 - .../hyperopt/tests/test_rdists.py | 265 - .../hyperopt/tests/test_tpe.py | 781 - .../hyperopt/tests/test_utils.py | 147 - .../hyperopt/tests/test_vectorize.py | 293 - .../hyperopt/tests/test_webpage.py | 32 - .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tpe.py | 893 - .../hyperopt-0.1-py2.7.egg/hyperopt/utils.py | 246 - .../hyperopt/vectorize.py | 446 - .eggs/jmespath-0.9.3-py2.7.egg | Bin 41736 -> 0 bytes .eggs/phasepack-1.5-py2.7.egg | Bin 45607 -> 0 bytes .eggs/pymongo-3.7.1-py2.7-linux-x86_64.egg | Bin 706264 -> 0 bytes .eggs/s3transfer-0.1.13-py2.7.egg | Bin 125260 -> 0 bytes CHANGELOG | 2 +- README.md | 10 +- README.rst | 16 +- WORC.egg-info/PKG-INFO | 10 +- WORC.egg-info/SOURCES.txt | 42 +- WORC/WORC.py | 1 + WORC/tools/Evaluate.py | 8 +- dist/WORC-2.1.0.tar.gz | Bin 552233 -> 0 bytes dist/WORC-2.1.1.tar.gz | Bin 0 -> 720279 bytes docs/Makefile | 4 +- docs/WORC.IOparser.rst | 12 +- docs/_build/doctrees/WORC.IOparser.doctree | Bin 0 -> 14552 bytes docs/_build/doctrees/WORC.doctree | Bin 0 -> 43615 bytes docs/_build/doctrees/WORC.processing.doctree | Bin 0 -> 27034 bytes docs/_build/doctrees/WORC.tools.doctree | Bin 0 -> 24439 bytes docs/_build/doctrees/environment.pickle | Bin 0 -> 24356 bytes docs/_build/doctrees/index.doctree | Bin 0 -> 37220 bytes docs/_build/doctrees/modules.doctree | Bin 0 -> 2741 bytes docs/_build/html/.buildinfo | 4 + docs/_build/html/WORC.IOparser.html | 160 + docs/_build/html/WORC.html | 311 + docs/_build/html/WORC.processing.html | 210 + docs/_build/html/WORC.tools.html | 197 + .../html/_sources/WORC.IOparser.rst.txt | 38 + .../html/_sources/WORC.processing.rst.txt | 38 + docs/_build/html/_sources/WORC.rst.txt | 39 + docs/_build/html/_sources/WORC.tools.rst.txt | 38 + docs/_build/html/_sources/index.rst.txt | 22 + docs/_build/html/_sources/modules.rst.txt | 7 + docs/_build/html/_static/ajax-loader.gif | Bin 0 -> 673 bytes docs/_build/html/_static/alabaster.css | 693 + docs/_build/html/_static/basic.css | 632 + docs/_build/html/_static/comment-bright.png | Bin 0 -> 756 bytes docs/_build/html/_static/comment-close.png | Bin 0 -> 829 bytes docs/_build/html/_static/comment.png | Bin 0 -> 641 bytes docs/_build/html/_static/custom.css | 1 + docs/_build/html/_static/doctools.js | 287 + docs/_build/html/_static/down-pressed.png | Bin 0 -> 222 bytes docs/_build/html/_static/down.png | Bin 0 -> 202 bytes docs/_build/html/_static/file.png | Bin 0 -> 286 bytes docs/_build/html/_static/jquery-3.1.0.js | 10074 +++++++ docs/_build/html/_static/jquery.js | 4 + docs/_build/html/_static/minus.png | Bin 0 -> 90 bytes docs/_build/html/_static/plus.png | Bin 0 -> 90 bytes docs/_build/html/_static/pygments.css | 69 + docs/_build/html/_static/searchtools.js | 758 + docs/_build/html/_static/underscore-1.3.1.js | 999 + docs/_build/html/_static/underscore.js | 31 + docs/_build/html/_static/up-pressed.png | Bin 0 -> 214 bytes docs/_build/html/_static/up.png | Bin 0 -> 203 bytes docs/_build/html/_static/websupport.js | 808 + docs/_build/html/genindex.html | 323 + docs/_build/html/index.html | 251 + docs/_build/html/modules.html | 135 + docs/_build/html/objects.inv | Bin 0 -> 782 bytes docs/_build/html/py-modindex.html | 175 + docs/_build/html/search.html | 104 + docs/_build/html/searchindex.js | 1 + docs/{source => }/conf.py | 85 +- docs/{source => }/index.rst | 4 +- docs/make.bat | 4 +- requirements.txt | 2 +- setup.py | 43 +- version | 2 +- 915 files changed, 16539 insertions(+), 735478 deletions(-) delete mode 100644 .eggs/PREDICT-2.1.0-py2.7.egg delete mode 100644 .eggs/README.txt delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/PKG-INFO delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/SOURCES.txt delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/dependency_links.txt delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/not-zip-safe delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/requires.txt delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/top_level.txt delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/compat.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudformation/2010-05-15/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudwatch/2010-08-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/dynamodb/2012-08-10/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2014-10-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-03-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-04-15/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-10-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-04-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-09-15/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-11-15/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/glacier/2012-06-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/iam/2010-05-08/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/opsworks/2013-02-18/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/s3/2006-03-01/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/sns/2010-03-31/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/data/sqs/2012-11-05/resources-1.json delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/action.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/attr.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/base.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/client.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/collection.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/docstring.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/method.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/resource.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/service.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/subresource.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/utils.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/docs/waiter.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/conditions.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/table.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/transform.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/types.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/createtags.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/deletetags.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/exceptions.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/action.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/base.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/collection.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/factory.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/model.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/params.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/resources/response.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/s3/__init__.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/s3/inject.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/s3/transfer.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/session.py delete mode 100644 .eggs/boto3-1.8.8-py2.7.egg/boto3/utils.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/PKG-INFO delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/SOURCES.txt delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/dependency_links.txt delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/not-zip-safe delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/requires.txt delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/top_level.txt delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/args.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/auth.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/awsrequest.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/cacert.pem delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/client.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/compat.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/config.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/configloader.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/credentials.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/_retry.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2011-02-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-sync/2014-06-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/endpoints.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2014-02-03/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/greengrass/2017-06-07/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2015-08-18/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-data/2015-05-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-devices/2018-05-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2014-11-11/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediaconvert/2017-08-29/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.sdk-extras.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/waiters-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/examples-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/paginators-1.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/service-2.json delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docevents.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docstringparser.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/restdoc.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/style.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/textwriter.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/client.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/docstring.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/example.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/method.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/paginator.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/params.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/service.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/shape.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/sharedexample.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/utils.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/docs/waiter.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/endpoint.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/errorfactory.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/eventstream.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/exceptions.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/handlers.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/history.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/hooks.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/httpsession.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/loaders.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/model.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/paginate.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/parsers.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/regions.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/response.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/retryhandler.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/serialize.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/session.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/signers.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/stub.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/translate.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/utils.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/validate.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/adapters.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/api.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/auth.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cacert.pem delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/certs.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/compat.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cookies.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/exceptions.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/hooks.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/models.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5freq.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5prober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardetect.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardistribution.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetgroupprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/codingstatemachine.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/compat.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/constants.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/cp949prober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escsm.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/eucjpprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrfreq.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwfreq.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312freq.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312prober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/hebrewprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jisfreq.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jpcntx.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langbulgarianmodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langcyrillicmodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langgreekmodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhebrewmodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhungarianmodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langthaimodel.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/latin1prober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcharsetprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcsgroupprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcssm.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcharsetprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcsgroupprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sjisprober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/universaldetector.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/utf8prober.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/_collections.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connection.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connectionpool.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/exceptions.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/fields.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/filepost.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/six.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/poolmanager.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/request.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/response.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/__init__.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/connection.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/request.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/response.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/retry.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/ssl_.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/timeout.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/url.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/sessions.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/status_codes.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/structures.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/utils.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/six.py delete mode 100644 .eggs/botocore-1.11.8-py2.7.egg/botocore/waiter.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/PKG-INFO delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/SOURCES.txt delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/dependency_links.txt delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/not-zip-safe delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/top_level.txt delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/UID.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_UID_dict.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_dicom_dict.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_private_dict.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/charset.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/config.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dcm_qt_tree.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dicom_dao.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/imViewer_Simple.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_PIL.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_Tkinter.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_series.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/datadict.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataelem.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataset.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dicomdir.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/doc/index.html delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/encaps.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/errors.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomDiff.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomInfo.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/ListBeams.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/add_dict_entries.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/anonymize.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/dicomtree.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/myprint.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_charset_name.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_dicomdir.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/write_new.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filebase.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filereader.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/fileutil.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filewriter.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/misc.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/multival.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/sequence.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tag.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tagtools.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/_write_stds.py delete mode 100755 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/all.bat delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/raw_convert_test.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/time_test.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/run_tests.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/shell_all delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_UID.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_charset.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataelem.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataset.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dictionary.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filereader.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filewriter.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_multival.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_rawread.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_sequence.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_tag.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_unicode.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_valuerep.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/version_dep.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/warncheck.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/FileInfo.txt delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/charlist.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrArab.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrFren.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrFrenMulti.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGerm.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGreek.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH31.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH32.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrHbrw.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrI2.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrJapMulti.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrKoreanMulti.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrRuss.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrSQEncoding.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrX1.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrX2.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/CT_small.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/ExplVR_BigEnd.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-LL.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-lossy.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG2000.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/MR_small.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/README.txt delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/image_dfl.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/nested_priv_SQ.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/no_meta_group_length.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/priv_SQ.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/reportsi.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtdose.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtplan.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtplan.dump delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtplan_truncated.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtstruct.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/rtstruct.dump delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/test-SR.dcm delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/test.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/zipMR.gz delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/__init__.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/codify.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/dump.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/hexutil.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/valuerep.py delete mode 100644 .eggs/dicom-0.9.9.post1-py2.7.egg/dicom/values.py delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/EGG-INFO/PKG-INFO delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/EGG-INFO/SOURCES.txt delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/EGG-INFO/dependency_links.txt delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/EGG-INFO/not-zip-safe delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/EGG-INFO/top_level.txt delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/concurrent/__init__.py delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/concurrent/futures/__init__.py delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/concurrent/futures/_base.py delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/concurrent/futures/process.py delete mode 100644 .eggs/futures-3.2.0-py2.7.egg/concurrent/futures/thread.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/PKG-INFO delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/SOURCES.txt delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/dependency_links.txt delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/not-zip-safe delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/requires.txt delete mode 100755 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/scripts/hyperopt-mongo-worker delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/top_level.txt delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/__init__.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/algobase.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/anneal.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/base.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/criteria.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/exceptions.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/fmin.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/graphviz.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/hp.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/ipy.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/main.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/mix.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/mongoexp.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/plotting.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/__init__.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/base.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/stochastic.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/__init__.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_base.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_stochastic.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll_utils.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/rand.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/rdists.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/__init__.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_anneal.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_base.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_criteria.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_domains.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_fmin.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_ipy.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_mongoexp.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pchoice.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_plotting.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pyll_utils.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rand.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rdists.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_tpe.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_utils.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_vectorize.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_webpage.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/tpe.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/utils.py delete mode 100644 .eggs/hyperopt-0.1-py2.7.egg/hyperopt/vectorize.py delete mode 100644 .eggs/jmespath-0.9.3-py2.7.egg delete mode 100644 .eggs/phasepack-1.5-py2.7.egg delete mode 100644 .eggs/pymongo-3.7.1-py2.7-linux-x86_64.egg delete mode 100644 .eggs/s3transfer-0.1.13-py2.7.egg delete mode 100644 dist/WORC-2.1.0.tar.gz create mode 100644 dist/WORC-2.1.1.tar.gz create mode 100644 docs/_build/doctrees/WORC.IOparser.doctree create mode 100644 docs/_build/doctrees/WORC.doctree create mode 100644 docs/_build/doctrees/WORC.processing.doctree create mode 100644 docs/_build/doctrees/WORC.tools.doctree create mode 100644 docs/_build/doctrees/environment.pickle create mode 100644 docs/_build/doctrees/index.doctree create mode 100644 docs/_build/doctrees/modules.doctree create mode 100644 docs/_build/html/.buildinfo create mode 100644 docs/_build/html/WORC.IOparser.html create mode 100644 docs/_build/html/WORC.html create mode 100644 docs/_build/html/WORC.processing.html create mode 100644 docs/_build/html/WORC.tools.html create mode 100644 docs/_build/html/_sources/WORC.IOparser.rst.txt create mode 100644 docs/_build/html/_sources/WORC.processing.rst.txt create mode 100644 docs/_build/html/_sources/WORC.rst.txt create mode 100644 docs/_build/html/_sources/WORC.tools.rst.txt create mode 100644 docs/_build/html/_sources/index.rst.txt create mode 100644 docs/_build/html/_sources/modules.rst.txt create mode 100644 docs/_build/html/_static/ajax-loader.gif create mode 100644 docs/_build/html/_static/alabaster.css create mode 100644 docs/_build/html/_static/basic.css create mode 100644 docs/_build/html/_static/comment-bright.png create mode 100644 docs/_build/html/_static/comment-close.png create mode 100644 docs/_build/html/_static/comment.png create mode 100644 docs/_build/html/_static/custom.css create mode 100644 docs/_build/html/_static/doctools.js create mode 100644 docs/_build/html/_static/down-pressed.png create mode 100644 docs/_build/html/_static/down.png create mode 100644 docs/_build/html/_static/file.png create mode 100644 docs/_build/html/_static/jquery-3.1.0.js create mode 100644 docs/_build/html/_static/jquery.js create mode 100644 docs/_build/html/_static/minus.png create mode 100644 docs/_build/html/_static/plus.png create mode 100644 docs/_build/html/_static/pygments.css create mode 100644 docs/_build/html/_static/searchtools.js create mode 100644 docs/_build/html/_static/underscore-1.3.1.js create mode 100644 docs/_build/html/_static/underscore.js create mode 100644 docs/_build/html/_static/up-pressed.png create mode 100644 docs/_build/html/_static/up.png create mode 100644 docs/_build/html/_static/websupport.js create mode 100644 docs/_build/html/genindex.html create mode 100644 docs/_build/html/index.html create mode 100644 docs/_build/html/modules.html create mode 100644 docs/_build/html/objects.inv create mode 100644 docs/_build/html/py-modindex.html create mode 100644 docs/_build/html/search.html create mode 100644 docs/_build/html/searchindex.js rename docs/{source => }/conf.py (70%) rename docs/{source => }/index.rst (82%) diff --git a/.eggs/PREDICT-2.1.0-py2.7.egg b/.eggs/PREDICT-2.1.0-py2.7.egg deleted file mode 100644 index 73664dcd5faafa3cdbe1fba913eb5a163a8f4e26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 396622 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 z z#q4)ljY)mZ3b%ecD^(4(P#|O)e`+9n=LefOC^;aAVKnO779tq}jKpDcie6N6;niuxCClZzH9DuE$04)D3oYyw62dF+L#S>1gaXrew?}t0D2@t@;kE-FP>m`m zJuDO1CPE(!sR~_vfoGTq9>NX5D4*DmQBUSQT%j^OO=F^EYq<@jQ}EGZbbTiCN~(T1 zD4=yVJq&!_TqzrH9S;{o!hd^v!iyUOa`$cNeec+5=NYUF%|P`C;BzNW7qqT~4dt(8 z=Bd2&y0GIJuYi9)PoD=GjI#X06NMWZVZgHYX7WQAZ$!emOn?0@gjIaYaPhl*WGzhO zWt>TF{LRPX@wdjz!t?|eqskL5NE(na#Og6IV;x_lChKF~c#*$D!1=6vZ-4!@zG0rG zvNm5PuKwq}$**{+t_xVQtea5RY=i&vx0J6icMX%aA`+{8i;c~~x5)ANU--^_l*s$MpYWl-Ad`w6k>4*Z=1QF;-RJ zl^ZvoGP z?rgo2Z-K7@Z~?G_aKSJcS|Cm!HZbmCKiG6*wCo6e-TBUhcu_j}CuZG-fZU z3t1eK$?Mo1pUCGpA#pkaad0+2m`cJ;Aixdi5Z6)@EL-Fn-(;eCw)AZ3&mO+1jx^D3 zREjvzIvX5$sQa%VcPof$N%~#UVwCyb=I%eh|2NM%)`OKbE=Q6{{P+F;)5eDU|3440 z@w{+D3@~DEc|_n99U=gckSbl`b`HU!zb4&Cka;&_3~bgf26Sk@gHeqO!sMsp_(EST_g(S|C4mR)?wol+l!8)LtH?* zbz1iy(inHQ?jBaMXEUxz6ZI*K6UhvJ_JX-o&YzpEl}j(;H}`~2(Pl>bq<4p6XVR!@ z)XL`Yad>oR{(gpk-<*IcFEXQqVQNGAi0Y%%M022sHLN<+gka}6m@?^M$1*_*V+x76Ekp;Kl0_V{(11b-{)_cA6fi-U zrkMzpHjcwKRCB|IMhN6CUmOV>mw6-Bpwd#2Z z^78R>etK)@BWQv67krQI zthgI82LI6P+krbPZVdkY8LUZongtp8DUQVmD#F|;}-s``KmIV;Ih8cb0s5i*!n#QrrW%BvUemLfHURtAi zizk`~Qn2wmn~oXR$nwvJ8LiA*yJ;xm6*{<5rXfn2oV781x>OnuJts5i7{ZU_I}+KS zMz$4E<(=DNeORhS1Sph&IOGkZ!ghWT&8#ApVerhS25@n{f9leT4~Hr#zK-UiU%!37 z|4CFA8jCogjnQrf(4VfdDa-2x)1EQ}CKMXv7KjsrcBpZ; zeljMBqBuV?4Pu0ITu|eO%BOG?L-DK$ab@f zFk4odj!g$Sm7+v~4pIp)2>_ZK0?WoJVSD;Y>uY*pkieK!M%+Qk#5SZZBoiK+xG1@WW+&|+A@declI_Xiat za^)gw75y5%<=Q1*`ds$z3y~-tCs8W4dW1~%gy}Ij-Yj%-7!EGSkhDJX_%gGBs zN3@-^AXvGn%+jKW_iA8aHXorOYV>=OzR0ZkorI^kPBowT`rx{Phj1OiLpgJm{H>#^ zvJYxEH5t!Ht6N?ZdNX!R3)y%M?T?q&j0#DCjdC?$C>OH=h$tvF`Ld$vOi< z(l9t_)Q{-YO2DJEy5)0fQfhIsN}D!KhwZKF4Y$@*S$mN=%d&%=S27in&~hLX*%h@Q zGLke_L|V?XBm3ixDR3Ct+%@S z>F%dI`lNjwvP!O+2?6J*$WL&GzGb=BG_?jd^w&x1x^fvS4{|HFscQFprQ}6~H1lEo z2%gY$29#Kj8Zn}F_9d0c-d#@lZkl`8dJBItts9E@mjdspE8W$cg&(EiTcbdIOu#Xn z)6Cz?sHM z-LX#YD~~$ZOBjHeT$v()?;xztyRmemolhU1&-p=|Q8VJ>#%K@ec~F?=Zshl|^o3#A zF}~|F1o1ELc`?FiJ-i6SyJfT?+RWj51H9L;TVYnITYJ9dE)5sf1N7_aPl1m;UtVoL zoDIIvmdBe=s%IbPof4g?h5a%x^RF7$aT(0q?;dh_v9~nVTD9k{v7zA;oJ|Dy?XWIg zJa0K6Oa!dpUE3wm4XcCJ!hJ84eLUzK-Z4)mPm!vKaEq(e}7a=B4VB?HKGS+wB@+ z?JDs*cxNfbN8E%KSa3BYA480HA$Hcc*5v6NlTo z<2rB`&Y=GJbN+qM&vL>8rBX>P*xS7CQx`pnwhAFfSA*`cicqB|s?--Ot|i51DU0kj z&o(ZG>m+kF_hwxKvA7w5xuFr|^>tbTU&r!UlLeeB$EIA<7mbi!U`4wHxEdJF_px?v ztSdkr+umG1KJAIm(DSOA$m*t?2m zS>je#nK9J!kO#wCBZ1skwb91)EZ3KB*#F|I|KMC2=CJaTe;D`TA42(0T=9S7Tq9Fc zGfxvUM^`Hc`~N2qxS}>=za)sX`^hS`#7=!EK_hIeFu_OGnGyvmEO=fBf}SEyv>9yX zLm5dvZgX8%$TiG!N6~}DIB+#0&^SU4(mFI7XY9wr^5NIav-R4##`lA!2TtdM!>NBb zFR%bL#;~x8wY=UkCYtMKafNG=&v+@zinWZ*x{mh40b4LRf&r`p)&f&7Dw-Y04x9^e z#?&Y`zz)0va>m>!GJpWw4c;&{LICUo_5@QfE}E~$`QiShu;5DhsQ4I)W(CHZ(0D(j z>B1QG8h(GC-JCorD0GaC^!dacI1<9Vs@EKyhwWdLq8iH1hF5QQMSvq{XI-M08_S3n zeNMikvDdnSk9I&-I|wsx=}d6e@vMNePYBbvZtuhkXoNpCwJt{umpu~ zl1sBsppYUfcmM~b%rh)M*91o$VFGKzZK=!gg0bIKCPPT;cGoPIFAPz4so7RaO#j6i zGcti$$UaOJvvfK5+-w4PwFGP4pps#G2+=%Bq8nfRYJ^`9U9xV=%Lp&+I$g}6PlCcg zDu%(euBFjdSmJDul7MA$p?=+7;!O+t0Q!YEMTS=@rJO2R6A3!J!KASW2}98z_+BM! zQlk?ybg@jR2#g?uJ?;*C)WsGXr5I41hJL=2rOmcPyTa|$Unm^!9LlU9Llx}?s@pd2 zqU>lzl>U`8Wtuq)(h5XWO6c0}Kdg@1L{(e`a0(zel@Pea~T263PFxK7$l7 z=+7@JgPRd*#E^NO<+Pl@wyGj1dUM+s>)UttwZe*vAAc4bTsUGmS8f8J+u3-BzBl)A zi~c7V8*iCP?+OB~yzEgnyoxA!&J_jmZZ(pg7x(!?Q7)JRq6Pb1gF zVO5@RbMhu2dnU{=vx*#We3b&k*6^s-$&lnk@IrMablOUlTw72qY@_C(p>U&lI5q=P z+4fYBz_vneQAS2&%SV79j-q)19QcKSP%Ucp_h0~wRmJjO3{iPcl18$W z%Jo2YB9!2kQ`Vy$tn&(7U`_n)SSCp&^+j&d^iUq6YH>lH=&@)m>P@!HDS%Mj_?f3Fq9&5s4zc6Bvb!}`R~CX)FzN6wTa5Z`Vnh#U%LYUf9MDI^E$-A6Va3NB1nw>Qs~=T(xV}Q(!K{)VdT_Hdc17 z+cooad4IeQOP*60z=;|BI#uA`3(6cI$HJJ<7_?oq2&f=w{mx~tW(H8UQ}9yh;qZ|r zVrP2|nP_}lP4&&75fc)#eua$+)0|^O$BnWg?58qCmgZ|1aD3L&l<_+GNPNRlce03y z!f&W8i3*@1YNp9ys!2yYJvdwljEH6ZL3cIXhQhEx(O&~Z^Sz!xO(=`?f#_4n5mk`r zD3`#q^`QBqyO7$FYMLf=!sUn9!x~pC*%IPA)AZxstaF|eKG~D7lZbRwnc-_w7S-q8 z>|B0yPkm5e(fBJ3_R#bWc_vzGw;TPgbD7PY1I@4u-3cp>LG+ap_U&v+JvE`Pah!F< zVF%7hKh7g;nbDBt8mijo%L;SQ^k&~?YJF{DiaAFXNTN^)Ca79oo1Mb{sn@EGpOVvH zt8Com6KJY7Q`%CS8+WhCkY-9PHCTXDoFWwzu9F{7023&V&P6B|>Wj2Oi+*=)L`qb9 ziU{cw(!g3_Y#)4wg8Z=0Hp%D6la=A-6!Q^59M_{s9(vmW5CZPL#=SKANL}Sap#8lu zq_w+tEL4^L`UsUsEI)=CIRo&XmzaYqu5DJUb@C{XJ4h7n&q)o8OuKm4s4&)ym43sq zWYw`!1&h!_j4MA7yL5%dmk)?`|AIF^PG{9kWjRQQM#U&M7o$Jb7k9AQBy`<7CttKp z`T+X$PQ;{GV^!hCqA=ovPWu~q5HwfM6t|PXqeI8Ydwe6bs4^Pkpn$GeOAu72&Lv^? zZTrgQcA)xu=lvJsGdJZy-f72^2Ia#g1b7nFPOz|;S zaIDFxBR?A_d!AFDr!~tr zGn~5S6>}6{D1g=G7Jh5ESA8HmREKg6+X#VuJ~#ijxz)>7~o~rX2KdmYboIw zuBnh1lQrZ_cR3*%`#32~_YYAz+p#l5XA!Xm^Mo3FCrmrq#irC-PZ)=HCSVAuBoGHE z8$)*(yi%^UI-e5qVb?I=+ee6AB%6LIpTy-kT}x!o#F>$#GX2h<3%@r8Ks%og=8$Yu zfB4FFW}@lE*Lri=;bmpq0C9kT^sFZ07siqC#o$x2oG*`&piDC4g_Q{YGdULxri;sB zmdLkO&?`^m5UsoLNAyP}QP(^Z5dhJ`DEL9reM}g2fkICj_Z9)adf?eq!VnKK%*P!j z3coW=6I=emC}L-h*NVqvs{C41m+*+lUJ&o=5a_|zYN-ENgd9-MO5^{Fvad_pq+Ylw zzzrJ$Q;=)EPdwxUbD(>$e6Ov>Z~LQM;L+arb+CPB#t!Ds1gQ@hX+c3B+l@m^QerZ$U7Ppxc=KQdkHFJ83KI; zMgkNSw%t2?$YkuBuF$J+NscH5>|x!EYqTOMiB?Bcjn+GQXWi|V#RnV#rb8}x0VEW3 zA-Ll;4-!Od^>Siomq)#!u1>KzJAeOxYUN6}16xW?D8i!VwTnsm;PWH(5ITI!cK2Y) zn@Umg3QFMwGt;$NSoPw|h@(7QIHe?imTl?R(!ZNP;pJ4;Wt>dZWJ~ z`&1VraYRB`p_jWz=N~H3nng5sB;QSyg$<2c3Q2X8 z81EDth=kh(Tgz1!kout1j4w@(!(-39PI_3ZFA9Z|X&C;^I8t+COre-bV3{u`pOQ>7V+S z|58$L^Qj6uJ?oB6mnx4Zj0``bq$lhROFa#@Pe7EHbc{%=*H4t^h+{Io6Jka_mb#)1 zJ(Um}zG^jl+NSyyC!oy{)=#F`NldU%k=V$K=f?ap-Vidbt7dH24EUd^V1-qcKuc3q|VLk)6oT!msQP;p$(jWtR*43gYr} zZ(q0Y;rYz@oUUQdJr;j*D*MC_EJ~u4rki7z_1V)$td+P){nI2R)Fe?nT}dZx15%4c zreC{mOzN#9h%8GMl~0+*cVq%Dy+-*%OCBf_$t;5k-LV)9m}TSQ?M8la(bMr_zF1QC zaV}V56SUseMF@0>-lWi=D-}uera4iMp$G}Kf+rC!OhS^t9n=IFrW|6q5cz~p;PiwC zM}=IAAKEJMIr+uvD6yXMkY4xQ+Ta-?-i>V#K94+D2L5kDgYo+Io4r)k4_oWl432A zX1vX`AW9lMXI*-exRyY~EJy;v z&Z#OwZHv-C%8_2BAW?y6;RT+6`Nv-cVeeH7>e&^%jKW+r97M8UYzptPYlorOx|u^< z6^4E86C5?E_F{RDZG;_MerD~=F#`bd-NN+9G{^~-a2)F*z>%3N&4#8VFPGEyNGmJv zS~0yC7v<>Sc{JFq)YgLq3pVhWW+pp3QgqsDhp1I~IlmlQ?dNTZbdq~I3kGpe3eoUu zpgivivFDX@RdGA`-eG2F7S5#sjfP$xgxjMD2TczuZKWjP0YhE)B8a5Bd{Wsrhct7< zpElWyK<#RGLKj7tRYY&4_-~uOno&&!@2tz8l00t5-fZy7&E`2>iE?x{h^4NBc!XWb z^ThLgg2Exw$?(t0_G`6LPpZh-Yd*81d%FQ^jQmhy#6?Uol<8xZHQuI0kLM7 zl&YbRb@%{DPgh&$Iue>fPaUrjq2$rjc%IMhj{@z|y(&BQ$9bVwaGL_fODG$3zLiT? z4n`b^Cb)44FRI#Kt|V%dM;74t)$AIAjfYEUNxBo&78!Nz3gE@52W5$rBWG?lLSyGx2M&R`%H4jb9|#quiCz-XSAQxyd8G&85z*g zX{wA$vkuhl*udK-;qHLcdf4&}HFYPV~^%6R9_^s@^0!0WOF2Y^?{q?|Z@q3zPL z3&BvkuJ#%0HDSWAbck$ZHJ;}k?7+OH@xq$fMBS&|)g@0Qp{B}eyb=!JYg&h+P0Jw5 z`zw4cAQF5bK#*I4xHWHXpRn6aLksS_P+D#?%oiDKI{Jb_B**Yg+HJ6NIQF}R!Unr6 z^I2gQ2F$jk(|gkog;BUv8|+)z7iy2=HpB-4Gsn`E>gn#_GC1S5$o6jgXTD3qleRQa0YuR-rNEQgt9N#b<-*NRpDq=(@@OTE#mbJ%+h1VJ@8is$rz>;x9cBtg9)u zm)*=FW*BQVckPr|@M{qhStF>E7BCm@L)G1hC6e=?lKOx_r>2={RwdwG3DmM2lQtq|I{02ecBUSlJBYk3{S`Yi8B_OahqfOWuAKo{1k}Da0 zHbGii>mkd*0S7L1@myL@4+qneV)%%c$VFhMUAkMMEM90QwudE~)(RZkuW_R6tZcu3 zRE?v*Z>kkQL0)+w=iMX206x8x0%!#Q zhwc<=tH}Qb=h7wmD`rq~5<-)lLy<97M1l5?Z=1nndRAxT zMYd@8H2tMNphXxxs1B_9b}6{ZbauaHa+>O=*-SG_=M1Y?u&3RWPIS^|OuylYko+}t zF@)`B?FZz)q)1$hUB;D&f9~_2I4VdB1Vr&aNRgwhgR85Ry#?ccUhJ&w?TkGCb*DN0 zQ%lYMc>{K|?G%nWFur#Uj0VG7M4-$7eP_-qi1>yX*4S9U-PLMpViZow1`lm*psw{V z{d+F9<#L-XEpWv=&G=RgM@OeUeBDqzP?aDU&%eEUVnrM=0jqX zaUSU?Fi99;os(%tMI}|za~glcq&CS)B}wG^JydQcigij>9tM%I!cM}&d*vP9Pm`bi z{?n3jyi}QQEuP4{Vf{PFBj2^fxLc2^cJ$>=2stipwyRgqKt(4+FYfYhVIZL#1}?wZcKiq^62Ek!qQT*L~Ely!(s6V)Su$1h4Z(S>o;Pon)c5e za#?AT^;>ex{fn=dd5|mUGd|7CdCDYMVUs~axxbdT$@?%(2Pl~m7m+X!RK)4hcOS}Z z|3aZ4S^E8K>bY}CBI0W zz9&S(j%hL^J4Z~d{{Tr3sni9Eyqb_Q4d{UqyJ)3X|n!)JNdMA z^*$Y?Gm-pby^l$PIN;9;1aw%mnJ{IIM)~GPiQ*;ATt&v;2< zl>|617-qhTL|ly;D?G`#>9@AOKJlMG%x3v=)Fvp-iDvuTl3={0K4|8Qk8^l2U1NOz zRob0|Nx?f16Ank$`%=xQgeqpG#q$+KUYs!g)~)VYVg>wk&hQh9KWKg>#{2uS4%Q#0 z4SEPUpzAJ7jRv$@GWcR>`2EjCVNbkq>DN^oZR8WGz(#2gapJxTzQTYkg`$Kv|O&=>(!V$Tvu4dTUkjtm8FxB$%5%X~o#XLd?-`4OC zM$&O0r$pNAV!)}~@YyZ<;Z*l&Z0}4$XfdxICS4u_4`>rTlw(ItaA2t!T#7v#s6z2` z*+1{!C|+;*PKlhOd*^5i&OZOYZ0vGndK3iW`=)y6Zc53%Vu%k_7)QPJ%oYpuLhNWh zrA%WBP^_i=8q~gDk_~VV5^RTTlYO!ooAG|n5S6e(pfX`oKN10Mg;ag#-$V-X;fqXA z&sDPSWi*8|KAFwY8Rc?f#NR)DoW${)>5!NZ`;&w{XR8C-UBtZtm_YQvzZr4Cr-tlf zYd?;EQ{#WOwBS$UL{?UM51iGoQNE`%JgDi@U=hB7AjFK%D&*%(mUKq=E$A^L+n^i{ zHaDP%RK9z)d{_9MFEv~|Gr4g05EPOB^D?_Qvx<#(>gZS77!cxAEjGaB$iWe- z7i}oU^_Z7xZEEuw1F>7niW8HlGGp+em@-UdR)3=87^+<7 z*C4f5_WU$ml)ZmL{N1PWkvh1qgNaW^Q_m@mpZ4Dh)X|S}FbcG%_8Vht5sP!cvJRp7D))#BJ+u;6`MNs8|6DRA*xu`Xjh6ILv>GpfV{C{EHm-)N~z#vLoUkk?vnD*d5OcQrrv7zKbHw{;QU( z^$zvMQ#-@F4qkSKns43@UC1lxOQl6lT;kkV??NJU^j3m9LE^a8R0@rLCinb6P zUSbGT-Jxzot*fju@2&SOIJ-;*I$J%zN>X>aM_miI;F8}f=6wcDi^LalU^p5#EgT4!)Y-oepUx~?m7i{|YZ_5$2Dx#ec8 zY=?-#uql@&FZ_l5uY-c3BnY%Q@jiS`_!FuOM+g&KY+E)y~ zx`alfAVOSq+9Yo6U@^cVu0f4K9mPKq%Xs+6nXyw#U;o_K$Q<^)%9rf2PSp^7v!uI)cVUl28(yvqc z)dvVKtHkw#_E-q}lbZyHnrxxQa~d4o`DLRRxckoM+{CEkV~6bqjDqe^xGp7r3(pz^ z{OkF5{?28MGM`N!l&wy9)fVJ{`OJp3*vzS#=vgP6Ocqi7k)o>bq4wX-uXL4UBp51D{V zVpE0$EAeBBy=NQoPg>E$Wb1s^WJZ~Y^Q<$C+aKoI2u;vJ*zm;KP}$0pL=x8MNw(Nd z$q{o7G8QQ{Z7Szq`0P^j?J>H{y=Kh7U~Z0J%l!8dW>KRh6UG$Kwn@!7;&IAb4py;lTmGp}AC&(jNc1kI|xlq3b5HC}SGRBmQRH#fXy3pvpH#Budn^ zhsjBi0ihVkpd8Bor&ue0c&iIqqJkadXiojoml=nTpC4iw3Kyyqn;b(imVc(ac`AE@ z2Wh?FGmTu9nq(s%JiXvzCvG0^IPwf%GIL&ngsc#E(og|51)$^%zl()JzWSah4WVjW z*K+I;`V#ZE1T;4r$dDl`akv?mxu1(nAb)4tAx!WH@b-{iy_a?jXuiB`p8D(SE>c%F z`E>E%+m~aYH?$?;?EaSe$=%OOh%&aIVK}B+^hrb}!P10f=RTZ42?Q4GrNI^bnk7-7 z(MJ8RRx8%ika>9jPo`|Autin^Fb%XqXBgH{DqrdE;9$^wsuBvV#NQGXBwGFrX(Z$q z{6?zgLVpA;A_h?8^FnA)P>LwbSYcQ4!Lb+-GE;=PwXMsyNyos~X>(?Gq!FBfabMHN z?d4SOpbeTsET)0TB6ak2=Vnir%o>cahkYFpjTpqh%0za6jgCy?J^NtM&h#d8gPEmG zog-d~6Vx+X8sc2#s52DG5#R|1#eeA}^CEMPT!(~m20JWx zLYY>)18Kj4Ho!ji%|YIj>#&jsP(W(q9I_SJB2$C9^qz}Cep9aET`1qKK78O|AP98R!FjE`ov4MUI|vNp8Dt4~EPpwhqQkXcd8(G6srgS>`dDrW`czJM z)%4Ht^cnC=hKvkUtX%yCfLXbfhEo$qx;r$?arBRS@JXoFH)(d&0N)p`3_ZBz8OI-_ zhDpt%_++feNud1K)tqDwbR0=-;oqXaJ^dLf*}$d_?%-r3BMrD1GU%m_o^A2z1pe~v z5yQIxBr6QS08%{aik9hzX6w{N;DFnM$6?2dm4+IJ-pBXp)1K|D;c;%p0rLPoiSK0~ zvp=<-=g60-@sEs{&CptCj@p9JV5f}(M^nbgWUxsYqGOt>=oHe>5-WK*c9jsdf#AU} zt8m6B2%8P35gfnN1z%PrE|k{-gJyFts}Yl>MC8Uf;oS1T6vh8pv^WVBc4Omldw8}} z{sOD1N_TB>Xv9XaF^_sSjV?ZB3k6e!+z4Gu;L`1Zi9z1U}KZUysxtp z5_x_~c^W%PR%E6sOA@MnLjX}Y?)6*JdS&;t9OOGI6Q8#}p^N@7ESIpH+Rw1fx?NVp zA2!Nbrsk^qfO(&rPC(tBbc>bw*LH`E$@KsjVl~uNdHI^1fn!8bIdy5 zy2DvkQkg}{w^C+8MQ}J)M7eU7B;B7H6>5gybE(+cOXu{?R2hES_7tzcP?TZaFN@+? zf_)kvy!VWt{S~nP>ykrg##=hSXLPWDSR0`{g(6%g#Zwp|T)vcjph%dp(Ary$ue=SC zvP@zed2nSz{RD?V#FJ`rzc^AedokdCJ9FWbZF}nF>rh8!Xce@A4WX#XWn1A0V!DdN zvD?5iFWilKhq0CP*7_Mj;MuKgHkY8(KG52!zGUqPLk=ilI&hf*spu} zrK#5!b~xEi)ux&g1xJUOO^dZe<^9p-;W~yZLO>>^XqiXV;1P<2Q}NxzGiAY0u~{SF z41bj`Nn^}pXjJCJX%IohO16B*RqdntN9gcYf3lIo$|+pP@=!FeoxCU2`MW$C39f#H zYJ0p@h37XGyn?}5KuoK%E5bk4s{ILaVMU?y3?cZNZOu=HjiKZjpX@L71bYk4=9*T$ z+-}>+EUu(9x|Q@_1aX7)Gb2#FtU`3|^-GV#zw{-bnCNX~LCI^5NE`b=c0>{>ku~s; zLcQD`*l|K{Y|}1X25~@~FeczwDL|BVK(=TzecAesy>w}19@rcT>oN;zkfYd10x*_7 zti89qF4uPQY|Wli)gl^^l;NKIRP^{B^^U0nim^7FyiDAN1rw`GX23VUT~eDM+-ddZ z)jESgw+1zA7!wSx5)FDp{TGD%587+zFs71Ji*s1744cM}t_pcGi)k!zW<}p+usR`g zH46Mc-fJbt-tnah(Ske(wqWNt#t`1_z6s@wwr9-t32aswy23K(UoT5~nsHshw{)OD zUuh!_^+s?b((XTChE{UNa4UFnG!p9Tg%bF^$b(@npJC|wME)%@K-2V12g$|jqa@!u z_DybKJYP*6c7SC}{_9|v*q`Y8U2`Do!AgdBf&z>Uh8G3$snDA^Brgl4nH$3z31i8U zX(frK|6<|*exxmwd_e)T*m$&ib^8&CeOQosD*(rfo#i4Yg0fW{2$)WZwaecon)659 zWo-enoeA5bW4PVGjXnH6X4S+VY7fGQot!w-$(mEC@N{3iThV`3k})vIfw7SaCs-S_ zyDsiA%W1P|xI;Vubc{Hi>zZU(S}9gINLSBM&O91>x%smZ!)m(kz(b7>YneM_)&3+Uv< zmgO@H{qyHoJT9=Qh!w3&_}xUBW1ibr`PlpkfDohK)}8Nb6F* zB%qrWKPF~wCqmluq$DZ;12Pf%_U^atcIN}(*25&7*DM3>Vr=w1e(MhUDcVJ0lrczz z9Cm`i4EKv3?Rt0Hfb za>FG5L*bH$8BG*Eio8U{=m;m8Af7OCS=aqNO7RW(f(8alHbE`);9uW0v1)lW z4den<$)Miree1Sz3DBxt?oWsLxi>lWkwXq>a`lU@t1yLfYNOI6))jFL;ba}jqjnFj zlJuc=QbjtT{g-W7Ljw?kg}ow0P%lVD+lycQbN8d3jO@mkCt><{-IR-!6LmEk*K-ci zM)q>$O-0Q1oTZKGYq`=I*E0`lBKg3^B%?hg& z?Pvi$0}`|^c8^VOqt-!wpNZtdb}$=s{^XE{yc*KZu-(MTESAC1lf{WS1oiqIe}Rq? z{Uh+S5yxL}18~0r-12XG+g|_Un~>M>we*xw-itV*c`LV1ro-Q}X)8Eja_4~G4w~|& zY{!X&l8h~%6Ch=TqKoIQyzTNs7|igUJd}Aj^omPYZXclMY+1bpf4lYPpDrj)q?bc_ z&4;mBag~}ey_v<3aHtottv$ixzxM%I8PrQ^1vaoAcM+k-klZMT+ejvCtc(a&tNX+r z2r5XUoZvZ1(#vC3f}P_JxE38V#;AhR=d&?4$C)Jlk3^t&H#1R3{TSV(!hS0$A%fNU$fspk zbI@G02+=jtro=~H1nI_bP2kF2i{}fxteLKEtdv!!=6@758E*USD7dXEykrNh>l#lB zPD>6#LUw>y=L$N>D&Wl4f?-<-pjltV%UvyvA!n--YNG9{+jn*e4k-wkTq{S1co{OGA;AP zi_qy3{1=E2y5S&RLuPi+>a`|3S`wQp&ooS_{>usd4l6$XyR$T6PqFE;bFkGuNELDd zK6VX~mfkW64*1&Jr(UF#)zu(WZaHSH{0z2Q?#!pK6}%A2U5dy10~SB5+_|t!qvGo) zVQ3eZ+`9@)ZlSH@jO&~S-|-Cq_X5rHK2b)dnuqXQ<8GV%*ZYZ0E&K~ukc%_L;{X73 z^N-ee^uY1Ub=%8|)2YU7%g?>V>*qzTW#U-+-%Bw^igd6`FJiFU)l1t81pwkillJAA5r@T^=f)UKn>H`6kdReOC+UE`pN|MJBQBS~BMiTPDwoBz z2`*^8)2FPfqx6Z~j&91s3KhW3OJ4s}GuVX=NKF>YCu`k{?(x*ICp#^hfWMk?(SiZE zznHHqi-gI}zib=#(#YqQgcPtq-^F`Z7+9heZz%b6thk$*E}@jn$oTg{B0gF_ao z1P{ZJh-kyDfpN`t6Ec#-CG3gaO*T++Geqkp6+Zw%q=b28hcW-i!jYACNIRYJjxJCZ z2W!SDHA5*KcWGaJBgHU)K6>MW|M~>aI3huDh(@vqCmb0ik7kL)wixKR zjP>1_fVUKJ%GGvH8KD;8BD0QyIhacHfmUK3h4=vodI{x}*>I{4jLl1YoJ>rP< zLNQyj_)ax{i3?~ZxQPdn4;#&wdaFHggdl8Iw4%f7ZV`$*T+u>|69j{d$~3hCOW6_y zD8k?L>J&|0O-(Qx7b~jB>Q*O{!qH%rNo;*K)7aHvW=(`ny=g3G6YkLhKQHpA4?SWU zN?XUe_QuK3#SuKsT`Fk9ijwjKiNwMO_-!dDr`$EeB@wLm$QC?DO;{QQ$tfa9JrvE{ zpfbdX2SP!RG=#*D1A>1^$Lo_ZCq`&wSte>0r~QRuCavhsTj?+5)!+gk#DdjkE5yEI zvFalhU<4)4(qfd*+lelfz0mjE-cZh7VPBwOWwVC%0CMZ<@T*zI0;w2BYK0xK>Rj=o zh=pf0(PxUsx9oHYFk6PxUD!$|%(HgsgPo75LeaJZJ%Sc_G z{pB#9@Q;cKdJNv+GK8VbeWZtO;gCBl0b znM{bL1;tFW!1=W+_X!*i=J;&oIi8>04FjMylSFV6{ZyRN}HQ-$#sG!t=SCi>FNgp(wlOtaPvQ#3?~#VerImE&ti>3gD+UiYa&@qaaw_GEn2 zmG(^W5-0y`o@SvrP+*xW4f)CX_g!O_UlzisJ*>|Blg|pr-ZJZ~rCzy+b9fkVp=x#d zHYIwwTn^&q?Qe1qJP(~}nGJqYsS>x>M%B6@fxX&>O!K zDiB5IRM_PQ=+;r)UhVAq64yPpcbsk6bIOv~cH#a4E&r1H{`}%$Z$iZ_U1U-1oiNT* ze%5~0sNGsE?pu4(@n1@}!0oAew(+rWVDb@td2i#ILUUF4!N!QzVJyv~xYZJBS$GYaK?FaY*^!e<4;}7f# zK2l_DSzdU9S}1>s=HRN#?j-29*P~eT?Wgz_S;1wOt-frL)OEEJEaLsW=u()zs=t)- z4gr#V7o?Mm#7WR$4Qio4I&+9lO_nk_s5}a)V~OE0#l^l6eD@72I1Tf*kLbiqTR$qi zbTYX#dPJl90grin>p0dgf9m}c>PqfL4lcPul@%?%(qmSG-A;90uFMl^>^Gw+L!T`M z8v5Ggw4zHnEyiM_9^0dJ!i@h#Nvw6K%dT{h-mzbwF?rZ4`xtt9@@BS;A?H5{B$v5{ zK0XKUw_el3|F+*KXy#<;+*E@oL5WTF4t_>I>fp^zla{l@ZIZ=>fQ=o8iJJ95o+X_W zCIW4lhQcb7Zkd+MswRpwUqfN3&bY9g#G2w)^J~WYw>h6svQbugGOI?2PpVZ7Sgc#* ziFVRSm!kvI%naDfj0|f#1*_I;Tq?X1Cum{eaFSqo;B_HOG+VI>n2M{kCNekL zq8LKG4Z%wP7_mv()NBRzyI&7zWZhDR3DqIO&@e_gBtKt99$te=?+zm0+NlPmQX=R8 z+JO4@bBW7g#Zt=%8s-hBnQ3)E=yiG;Qa(t|GoQOmp$G3>WJDpPemUVF*RAZjCVl>) z+1KEX53W+0#t~$#eu@gLP`*P+!QC_u8i}LmLjuq$A4Qr-Co*x=PTBgQ8-RKYGeaNI zi#(aDV;8ZfKyCwMQY5&RyE6}-9GSn>))28#vzfEca?jUF}uD6Sx2y&6cCi z>E9r(j@%0#HU{$cq(%ymwM*>r_J4Rb5CIDNMf9A3NBE`NtDy?nVCpZyLec|0p6A<& zMTJKi^eA|A28jI?mpO1g!eg1F!uDZ*`CLTYWS2>a*CNR>lUiH7_-i=@ zoq!}HnlNv_LXn}sQ6)T(lfB0Ae9VZC;W}&&!x=j%@v}}9^K5U#sGtUfRa^1&N-c+O z43va`aqLPw`a<)1dV8m|^z%FX9;bPU?SYtF$pu;S#1NwRz?(`~+K+=_L=me(BVLtK z(+?ejeS?tbzclke zz%E+>5|96A;()K|kH-S=JI~qaWs8%0<7}eOcsR#H3C$k zUYMVo#?b#PKT;p>qNCQ|&@3Ae#fVjr(3y2p~{rh1gdHo4qwRVSRSF`nfz#0c$hq@sEgp@W6QTUS`3ZpN%?N4=x z!-C~11@Q?2Ra0CXcN#KCQR-Q^7o$1@H`5RRhL+OR$i&gg#PQtUO|~2#eFJDA*$fCd ziC^%o%C{{JdWtapYomA{V#&H z#g60;FmQ5Fl9e`_L{NmA*$-cq;xMXZ8JUbKqJq=r-nb%DCa&zbG3X~1+i*_$8kiq{ zCvF@$8t=aC`jEV*u^S4hAk(=k=2)3g zhXa3Wu0(iY9?T@sETpyw!RIM%>EIP6Y=RIwp#)4ncEdZ+jH(g*ccthWQj4iu7!&lJ80eX;ar##fd-A!YCNr z9A*MT*xkEtA_K{gXa4S|x0?^>?Oc8R+$qQTUy!;wBX_obNr%O1F23HN$2Z7V`dkCi z!0neP%bL`g{G{VF@o9Ps*pXr|Nw^!WwT%1U7OLr*9Ja9yX@H6lbdA`m!%g-jsW3%p zeJ2r|CIDDHJ`>I+Q+IhTjEfBpLMzE%X^ihTxzrTXZ zY%~bE9J#5qvI|t&DSaXW|9~gHi1vI-J94o;7=CygwtFD8n0<{e7Mloe^*hRFR#=Gp zO}LqXE&|;Y&S+Dv+$er1D{y=h)J~GcL(KHhK8~8{l%7)hwJo(lm3axx@(zUY=eei0 z=8K7*#%uunuOe#q@kvu&e}raMkR;${uzv41-#s-@rh>geA-GB``Pfec+1=LyKG1OP+ zt^K0g|03)h0tAbeAX~O=yQ<5!ZQHhO+qP}nwyiGP=JcOg{8lOrUZbwmNuCx`v(VyftYTMyvOF zbN%p$8qrms(1U+df_~$1wFi0#@93I%9Q_x5QO!fBsHg_HKhnex4z7>=#u4LNy(NTA3K@IT_jgFHG$nv)7md`|_4AYfO8mwP!S!|L?eLEG3OK$F_*UY!Z58N>{-qX4pQ@rWT05jiUAhGhIwQ9|5> z<-|B1maSC}g(On`=sxw&MbQa=!hDsnh$2;pTF))a`iEa

^4j>rU3iYBR1ARvCsafJ_N)>`1I(Ed!4O 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 z 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
Ow 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�_;R|pj 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 diff --git a/.eggs/README.txt b/.eggs/README.txt deleted file mode 100644 index 5d016688..00000000 --- a/.eggs/README.txt +++ /dev/null @@ -1,6 +0,0 @@ -This directory contains eggs that were downloaded by setuptools to build, test, and run plug-ins. - -This directory caches those eggs to prevent repeated downloads. - -However, it is safe to delete this directory. - diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/PKG-INFO b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/PKG-INFO deleted file mode 100644 index abbc4ea8..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/PKG-INFO +++ /dev/null @@ -1,148 +0,0 @@ -Metadata-Version: 1.1 -Name: boto3 -Version: 1.8.8 -Summary: The AWS SDK for Python -Home-page: https://github.com/boto/boto3 -Author: Amazon Web Services -Author-email: UNKNOWN -License: Apache License 2.0 -Description: =============================== - Boto 3 - The AWS SDK for Python - =============================== - - |Build Status| |Version| |Gitter| - - Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for - Python, which allows Python developers to write software that makes use - of services like Amazon S3 and Amazon EC2. You can find the latest, most - up to date, documentation at our `doc site`_, including a list of - services that are supported. - - - .. _boto: https://docs.pythonboto.org/ - .. _`doc site`: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html - .. |Build Status| image:: http://img.shields.io/travis/boto/boto3/develop.svg?style=flat - :target: https://travis-ci.org/boto/boto3 - :alt: Build Status - .. |Gitter| image:: https://badges.gitter.im/boto/boto3.svg - :target: https://gitter.im/boto/boto3 - :alt: Gitter - .. |Downloads| image:: http://img.shields.io/pypi/dm/boto3.svg?style=flat - :target: https://pypi.python.org/pypi/boto3/ - :alt: Downloads - .. |Version| image:: http://img.shields.io/pypi/v/boto3.svg?style=flat - :target: https://pypi.python.org/pypi/boto3/ - :alt: Version - .. |License| image:: http://img.shields.io/pypi/l/boto3.svg?style=flat - :target: https://github.com/boto/boto3/blob/develop/LICENSE - :alt: License - - Quick Start - ----------- - First, install the library and set a default region: - - .. code-block:: sh - - $ pip install boto3 - - Next, set up credentials (in e.g. ``~/.aws/credentials``): - - .. code-block:: ini - - [default] - aws_access_key_id = YOUR_KEY - aws_secret_access_key = YOUR_SECRET - - Then, set up a default region (in e.g. ``~/.aws/config``): - - .. code-block:: ini - - [default] - region=us-east-1 - - Then, from a Python interpreter: - - .. code-block:: python - - >>> import boto3 - >>> s3 = boto3.resource('s3') - >>> for bucket in s3.buckets.all(): - print(bucket.name) - - Development - ----------- - - Getting Started - ~~~~~~~~~~~~~~~ - Assuming that you have Python and ``virtualenv`` installed, set up your - environment and install the required dependencies like this instead of - the ``pip install boto3`` defined above: - - .. code-block:: sh - - $ git clone https://github.com/boto/boto3.git - $ cd boto3 - $ virtualenv venv - ... - $ . venv/bin/activate - $ pip install -r requirements.txt - $ pip install -e . - - Running Tests - ~~~~~~~~~~~~~ - You can run tests in all supported Python versions using ``tox``. By default, - it will run all of the unit and functional tests, but you can also specify your own - ``nosetests`` options. Note that this requires that you have all supported - versions of Python installed, otherwise you must pass ``-e`` or run the - ``nosetests`` command directly: - - .. code-block:: sh - - $ tox - $ tox -- unit/test_session.py - $ tox -e py26,py33 -- integration/ - - You can also run individual tests with your default Python version: - - .. code-block:: sh - - $ nosetests tests/unit - - Generating Documentation - ~~~~~~~~~~~~~~~~~~~~~~~~ - Sphinx is used for documentation. You can generate HTML locally with the - following: - - .. code-block:: sh - - $ pip install -r requirements-docs.txt - $ cd docs - $ make html - - - 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: - - * 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 -Classifier: Intended Audience :: Developers -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/SOURCES.txt b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/SOURCES.txt deleted file mode 100644 index e28b09f2..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/SOURCES.txt +++ /dev/null @@ -1,65 +0,0 @@ -CONTRIBUTING.rst -LICENSE -MANIFEST.in -README.rst -requirements.txt -setup.cfg -setup.py -boto3/__init__.py -boto3/compat.py -boto3/exceptions.py -boto3/session.py -boto3/utils.py -boto3.egg-info/PKG-INFO -boto3.egg-info/SOURCES.txt -boto3.egg-info/dependency_links.txt -boto3.egg-info/requires.txt -boto3.egg-info/top_level.txt -boto3/data/cloudformation/2010-05-15/resources-1.json -boto3/data/cloudwatch/2010-08-01/resources-1.json -boto3/data/dynamodb/2012-08-10/resources-1.json -boto3/data/ec2/2014-10-01/resources-1.json -boto3/data/ec2/2015-03-01/resources-1.json -boto3/data/ec2/2015-04-15/resources-1.json -boto3/data/ec2/2015-10-01/resources-1.json -boto3/data/ec2/2016-04-01/resources-1.json -boto3/data/ec2/2016-09-15/resources-1.json -boto3/data/ec2/2016-11-15/resources-1.json -boto3/data/glacier/2012-06-01/resources-1.json -boto3/data/iam/2010-05-08/resources-1.json -boto3/data/opsworks/2013-02-18/resources-1.json -boto3/data/s3/2006-03-01/resources-1.json -boto3/data/sns/2010-03-31/resources-1.json -boto3/data/sqs/2012-11-05/resources-1.json -boto3/docs/__init__.py -boto3/docs/action.py -boto3/docs/attr.py -boto3/docs/base.py -boto3/docs/client.py -boto3/docs/collection.py -boto3/docs/docstring.py -boto3/docs/method.py -boto3/docs/resource.py -boto3/docs/service.py -boto3/docs/subresource.py -boto3/docs/utils.py -boto3/docs/waiter.py -boto3/dynamodb/__init__.py -boto3/dynamodb/conditions.py -boto3/dynamodb/table.py -boto3/dynamodb/transform.py -boto3/dynamodb/types.py -boto3/ec2/__init__.py -boto3/ec2/createtags.py -boto3/ec2/deletetags.py -boto3/resources/__init__.py -boto3/resources/action.py -boto3/resources/base.py -boto3/resources/collection.py -boto3/resources/factory.py -boto3/resources/model.py -boto3/resources/params.py -boto3/resources/response.py -boto3/s3/__init__.py -boto3/s3/inject.py -boto3/s3/transfer.py \ No newline at end of file diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/dependency_links.txt b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/not-zip-safe b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/requires.txt b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/requires.txt deleted file mode 100644 index bc550eec..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/requires.txt +++ /dev/null @@ -1,3 +0,0 @@ -botocore>=1.11.8,<1.12.0 -jmespath>=0.7.1,<1.0.0 -s3transfer>=0.1.10,<0.2.0 diff --git a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/top_level.txt b/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/top_level.txt deleted file mode 100644 index 30ddf823..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/EGG-INFO/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -boto3 diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/__init__.py deleted file mode 100644 index 1a1cd626..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/__init__.py +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import logging - -from boto3.session import Session - - -__author__ = 'Amazon Web Services' -__version__ = '1.8.8' - - -# The default Boto3 session; autoloaded when needed. -DEFAULT_SESSION = None - - -def setup_default_session(**kwargs): - """ - Set up a default session, passing through any parameters to the session - constructor. There is no need to call this unless you wish to pass custom - parameters, because a default session will be created for you. - """ - global DEFAULT_SESSION - DEFAULT_SESSION = Session(**kwargs) - - -def set_stream_logger(name='boto3', level=logging.DEBUG, format_string=None): - """ - Add a stream handler for the given name and level to the logging module. - By default, this logs all boto3 messages to ``stdout``. - - >>> import boto3 - >>> boto3.set_stream_logger('boto3.resources', logging.INFO) - - For debugging purposes a good choice is to set the stream logger to ``''`` - which is equivalent to saying "log everything". - - .. WARNING:: - Be aware that when logging anything from ``'botocore'`` the full wire - trace will appear in your logs. If your payloads contain sensitive data - this should not be used in production. - - :type name: string - :param name: Log name - :type level: int - :param level: Logging level, e.g. ``logging.INFO`` - :type format_string: str - :param format_string: Log message format - """ - if format_string is None: - format_string = "%(asctime)s %(name)s [%(levelname)s] %(message)s" - - logger = logging.getLogger(name) - logger.setLevel(level) - handler = logging.StreamHandler() - handler.setLevel(level) - formatter = logging.Formatter(format_string) - handler.setFormatter(formatter) - logger.addHandler(handler) - - -def _get_default_session(): - """ - Get the default session, creating one if needed. - - :rtype: :py:class:`~boto3.session.Session` - :return: The default session - """ - if DEFAULT_SESSION is None: - setup_default_session() - - return DEFAULT_SESSION - - -def client(*args, **kwargs): - """ - Create a low-level service client by name using the default session. - - See :py:meth:`boto3.session.Session.client`. - """ - return _get_default_session().client(*args, **kwargs) - - -def resource(*args, **kwargs): - """ - Create a resource service client by name using the default session. - - See :py:meth:`boto3.session.Session.resource`. - """ - return _get_default_session().resource(*args, **kwargs) - - -# Set up logging to ``/dev/null`` like a library is supposed to. -# http://docs.python.org/3.3/howto/logging.html#configuring-logging-for-a-library -class NullHandler(logging.Handler): - def emit(self, record): - pass - - -logging.getLogger('boto3').addHandler(NullHandler()) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/compat.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/compat.py deleted file mode 100644 index 3a7a832f..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/compat.py +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import sys -import os -import errno -import socket - -from botocore.vendored import six - -if six.PY3: - # In python3, socket.error is OSError, which is too general - # for what we want (i.e FileNotFoundError is a subclass of OSError). - # In py3 all the socket related errors are in a newly created - # ConnectionError - SOCKET_ERROR = ConnectionError -else: - SOCKET_ERROR = socket.error - - -if sys.platform.startswith('win'): - def rename_file(current_filename, new_filename): - try: - os.remove(new_filename) - except OSError as e: - if not e.errno == errno.ENOENT: - # We only want to a ignore trying to remove - # a file that does not exist. If it fails - # for any other reason we should be propagating - # that exception. - raise - os.rename(current_filename, new_filename) -else: - rename_file = os.rename diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudformation/2010-05-15/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudformation/2010-05-15/resources-1.json deleted file mode 100644 index fd439375..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudformation/2010-05-15/resources-1.json +++ /dev/null @@ -1,195 +0,0 @@ -{ - "service": { - "actions": { - "CreateStack": { - "request": { "operation": "CreateStack" }, - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "StackName" } - ] - } - } - }, - "has": { - "Event": { - "resource": { - "type": "Event", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Stack": { - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "Stacks": { - "request": { "operation": "DescribeStacks" }, - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Stacks[].StackName" } - ], - "path": "Stacks[]" - } - } - } - }, - "resources": { - "Event": { - "identifiers": [ - { - "name": "Id", - "memberName": "EventId" - } - ], - "shape": "StackEvent" - }, - "Stack": { - "identifiers": [ - { - "name": "Name", - "memberName": "StackName" - } - ], - "shape": "Stack", - "load": { - "request": { - "operation": "DescribeStacks", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - }, - "path": "Stacks[0]" - }, - "actions": { - "CancelUpdate": { - "request": { - "operation": "CancelUpdateStack", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteStack", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateStack", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "Resource": { - "resource": { - "type": "StackResource", - "identifiers": [ - { "target": "StackName", "source": "identifier", "name": "Name" }, - { "target": "LogicalId", "source": "input" } - ] - } - } - }, - "hasMany": { - "Events": { - "request": { - "operation": "DescribeStackEvents", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Event", - "identifiers": [ - { "target": "Id", "source": "response", "path": "StackEvents[].EventId" } - ], - "path": "StackEvents[]" - } - }, - "ResourceSummaries": { - "request": { - "operation": "ListStackResources", - "params": [ - { "target": "StackName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "StackResourceSummary", - "identifiers": [ - { "target": "LogicalId", "source": "response", "path": "StackResourceSummaries[].LogicalResourceId" }, - { "target": "StackName", "source": "requestParameter", "path": "StackName" } - ], - "path": "StackResourceSummaries[]" - } - } - } - }, - "StackResource": { - "identifiers": [ - { "name": "StackName" }, - { - "name": "LogicalId", - "memberName": "LogicalResourceId" - } - ], - "shape": "StackResourceDetail", - "load": { - "request": { - "operation": "DescribeStackResource", - "params": [ - { "target": "LogicalResourceId", "source": "identifier", "name": "LogicalId" }, - { "target": "StackName", "source": "identifier", "name": "StackName" } - ] - }, - "path": "StackResourceDetail" - }, - "has": { - "Stack": { - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "StackName" } - ] - } - } - } - }, - "StackResourceSummary": { - "identifiers": [ - { "name": "StackName" }, - { - "name": "LogicalId", - "memberName": "LogicalResourceId" - } - ], - "shape": "StackResourceSummary", - "has": { - "Resource": { - "resource": { - "type": "StackResource", - "identifiers": [ - { "target": "LogicalId", "source": "identifier", "name": "LogicalId" }, - { "target": "StackName", "source": "identifier", "name": "StackName" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudwatch/2010-08-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudwatch/2010-08-01/resources-1.json deleted file mode 100644 index e0746d04..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/cloudwatch/2010-08-01/resources-1.json +++ /dev/null @@ -1,334 +0,0 @@ -{ - "service": { - "has": { - "Alarm": { - "resource": { - "type": "Alarm", - "identifiers": [ - { - "target": "Name", - "source": "input" - } - ] - } - }, - "Metric": { - "resource": { - "type": "Metric", - "identifiers": [ - { - "target": "Namespace", - "source": "input" - }, - { - "target": "Name", - "source": "input" - } - ] - } - } - }, - "hasMany": { - "Alarms": { - "request": { "operation": "DescribeAlarms" }, - "resource": { - "type": "Alarm", - "identifiers": [ - { - "target": "Name", - "source": "response", - "path": "MetricAlarms[].AlarmName" - } - ], - "path": "MetricAlarms[]" - } - }, - "Metrics": { - "request": { "operation": "ListMetrics" }, - "resource": { - "type": "Metric", - "identifiers": [ - { - "target": "Namespace", - "source": "response", - "path": "Metrics[].Namespace" - }, - { - "target": "Name", - "source": "response", - "path": "Metrics[].MetricName" - } - ], - "path": "Metrics[]" - } - } - } - }, - "resources": { - "Alarm": { - "identifiers": [ - { - "name": "Name", - "memberName": "AlarmName" - } - ], - "shape": "MetricAlarm", - "load": { - "request": { - "operation": "DescribeAlarms", - "params": [ - { - "target": "AlarmNames[0]", - "source": "identifier", - "name": "Name" - } - ] - }, - "path": "MetricAlarms[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteAlarms", - "params": [ - { - "target": "AlarmNames[0]", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "DescribeHistory": { - "request": { - "operation": "DescribeAlarmHistory", - "params": [ - { - "target": "AlarmName", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "DisableActions": { - "request": { - "operation": "DisableAlarmActions", - "params": [ - { - "target": "AlarmNames[0]", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "EnableActions": { - "request": { - "operation": "EnableAlarmActions", - "params": [ - { - "target": "AlarmNames[0]", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "SetState": { - "request": { - "operation": "SetAlarmState", - "params": [ - { - "target": "AlarmName", - "source": "identifier", - "name": "Name" - } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteAlarms", - "params": [ - { - "target": "AlarmNames[]", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "DisableActions": { - "request": { - "operation": "DisableAlarmActions", - "params": [ - { - "target": "AlarmNames[]", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "EnableActions": { - "request": { - "operation": "EnableAlarmActions", - "params": [ - { - "target": "AlarmNames[]", - "source": "identifier", - "name": "Name" - } - ] - } - } - }, - "has": { - "Metric": { - "resource": { - "type": "Metric", - "identifiers": [ - { - "target": "Namespace", - "source": "data", - "path": "Namespace" - }, - { - "target": "Name", - "source": "data", - "path": "MetricName" - } - ] - } - } - } - }, - "Metric": { - "identifiers": [ - { - "name": "Namespace", - "memberName": "Namespace" - }, - { - "name": "Name", - "memberName": "MetricName" - } - ], - "shape": "Metric", - "load": { - "request": { - "operation": "ListMetrics", - "params": [ - { - "target": "MetricName", - "source": "identifier", - "name": "Name" - }, - { - "target": "Namespace", - "source": "identifier", - "name": "Namespace" - } - ] - }, - "path": "Metrics[0]" - }, - "actions": { - "GetStatistics": { - "request": { - "operation": "GetMetricStatistics", - "params": [ - { - "target": "Namespace", - "source": "identifier", - "name": "Namespace" - }, - { - "target": "MetricName", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "PutAlarm": { - "request": { - "operation": "PutMetricAlarm", - "params": [ - { - "target": "Namespace", - "source": "identifier", - "name": "Namespace" - }, - { - "target": "MetricName", - "source": "identifier", - "name": "Name" - } - ] - }, - "resource": { - "type": "Alarm", - "identifiers": [ - { - "target": "Name", - "source": "requestParameter", - "path": "AlarmName" - } - ] - } - }, - "PutData": { - "request": { - "operation": "PutMetricData", - "params": [ - { - "target": "Namespace", - "source": "identifier", - "name": "Namespace" - }, - { - "target": "MetricData[].MetricName", - "source": "identifier", - "name": "Name" - } - ] - } - } - }, - "hasMany": { - "Alarms": { - "request": { - "operation": "DescribeAlarmsForMetric", - "params": [ - { - "target": "Namespace", - "source": "identifier", - "name": "Namespace" - }, - { - "target": "MetricName", - "source": "identifier", - "name": "Name" - } - ] - }, - "resource": { - "type": "Alarm", - "identifiers": [ - { - "target": "Name", - "source": "response", - "path": "MetricAlarms[].AlarmName" - } - ], - "path": "MetricAlarms[]" - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/dynamodb/2012-08-10/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/dynamodb/2012-08-10/resources-1.json deleted file mode 100644 index b79994e2..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/dynamodb/2012-08-10/resources-1.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "service": { - "actions": { - "BatchGetItem": { - "request": { "operation": "BatchGetItem" } - }, - "BatchWriteItem": { - "request": { "operation": "BatchWriteItem" } - }, - "CreateTable": { - "request": { "operation": "CreateTable" }, - "resource": { - "type": "Table", - "identifiers": [ - { "target": "Name", "source": "response", "path": "TableDescription.TableName" } - ], - "path": "TableDescription" - } - } - }, - "has": { - "Table": { - "resource": { - "type": "Table", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "Tables": { - "request": { "operation": "ListTables" }, - "resource": { - "type": "Table", - "identifiers": [ - { "target": "Name", "source": "response", "path": "TableNames[]" } - ] - } - } - } - }, - "resources": { - "Table": { - "identifiers": [ - { - "name": "Name", - "memberName": "TableName" - } - ], - "shape": "TableDescription", - "load": { - "request": { - "operation": "DescribeTable", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - }, - "path": "Table" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTable", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "DeleteItem": { - "request": { - "operation": "DeleteItem", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "GetItem": { - "request": { - "operation": "GetItem", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "PutItem": { - "request": { - "operation": "PutItem", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "Query": { - "request": { - "operation": "Query", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "Scan": { - "request": { - "operation": "Scan", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateTable", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Table", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "Name" } - ], - "path": "TableDescription" - } - }, - "UpdateItem": { - "request": { - "operation": "UpdateItem", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "waiters":{ - "Exists": { - "waiterName": "TableExists", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - }, - "NotExists": { - "waiterName": "TableNotExists", - "params": [ - { "target": "TableName", "source": "identifier", "name": "Name" } - ] - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2014-10-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2014-10-01/resources-1.json deleted file mode 100644 index 8ccf160a..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2014-10-01/resources-1.json +++ /dev/null @@ -1,2289 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-03-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-03-01/resources-1.json deleted file mode 100644 index 8ccf160a..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-03-01/resources-1.json +++ /dev/null @@ -1,2289 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-04-15/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-04-15/resources-1.json deleted file mode 100644 index 8ccf160a..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-04-15/resources-1.json +++ /dev/null @@ -1,2289 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "requestParameter", "path": "Resources[]" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-10-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-10-01/resources-1.json deleted file mode 100644 index 4831a36b..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2015-10-01/resources-1.json +++ /dev/null @@ -1,2567 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ], - "path": "@" - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "ClassicAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" } - ] - }, - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" } - ], - "path": "Addresses[]" - } - }, - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "ClassicAddress": { - "identifiers": [ - { - "name": "PublicIp" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "PublicIp", "source": "identifier", "name": "PublicIp" } - ] - } - }, - "Disassociate": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - } - } - }, - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "ClassicAddress": { - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "NetworkInterfaces": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPair", - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "KeyPairInfo": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "Association.AssociationId" } - ], - "path": "Association" - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterfaceAssociation": { - "identifiers": [ - { - "name": "Id" - } - ], - "shape": "InstanceNetworkInterfaceAssociation", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0].Association" - }, - "actions": { - "Delete": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Address": { - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "Route": { - "identifiers": [ - { "name": "RouteTableId" }, - { - "name": "DestinationCidrBlock", - "memberName": "DestinationCidrBlock" - } - ], - "shape": "Route", - "actions": { - "Delete": { - "request": { - "operation": "DeleteRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - }, - "Replace": { - "request": { - "operation": "ReplaceRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "RouteTableId" } - ] - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Routes": { - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" } - ], - "path": "Routes[]" - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "VpcPeeringConnectionExists", - "params": [ - { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" } - ], - "path": "VpcPeeringConnections[0]" - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - }, - "VpcAddress": { - "identifiers": [ - { - "name": "AllocationId" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "AllocationId", "source": "identifier", "name": "AllocationId" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AssociationId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-04-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-04-01/resources-1.json deleted file mode 100644 index 4831a36b..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-04-01/resources-1.json +++ /dev/null @@ -1,2567 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ], - "path": "@" - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "ClassicAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" } - ] - }, - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" } - ], - "path": "Addresses[]" - } - }, - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "ClassicAddress": { - "identifiers": [ - { - "name": "PublicIp" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "PublicIp", "source": "identifier", "name": "PublicIp" } - ] - } - }, - "Disassociate": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - } - } - }, - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "ClassicAddress": { - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "NetworkInterfaces": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPair", - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "KeyPairInfo": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "Association.AssociationId" } - ], - "path": "Association" - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterfaceAssociation": { - "identifiers": [ - { - "name": "Id" - } - ], - "shape": "InstanceNetworkInterfaceAssociation", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0].Association" - }, - "actions": { - "Delete": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Address": { - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "Route": { - "identifiers": [ - { "name": "RouteTableId" }, - { - "name": "DestinationCidrBlock", - "memberName": "DestinationCidrBlock" - } - ], - "shape": "Route", - "actions": { - "Delete": { - "request": { - "operation": "DeleteRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - }, - "Replace": { - "request": { - "operation": "ReplaceRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "RouteTableId" } - ] - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Routes": { - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" } - ], - "path": "Routes[]" - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "VpcPeeringConnectionExists", - "params": [ - { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" } - ], - "path": "VpcPeeringConnections[0]" - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - }, - "VpcAddress": { - "identifiers": [ - { - "name": "AllocationId" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "AllocationId", "source": "identifier", "name": "AllocationId" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AssociationId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-09-15/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-09-15/resources-1.json deleted file mode 100644 index 4831a36b..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-09-15/resources-1.json +++ /dev/null @@ -1,2567 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ], - "path": "@" - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "ClassicAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" } - ] - }, - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" } - ], - "path": "Addresses[]" - } - }, - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "ClassicAddress": { - "identifiers": [ - { - "name": "PublicIp" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "PublicIp", "source": "identifier", "name": "PublicIp" } - ] - } - }, - "Disassociate": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - } - } - }, - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "ClassicAddress": { - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "NetworkInterfaces": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPair", - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "KeyPairInfo": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "Association.AssociationId" } - ], - "path": "Association" - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterfaceAssociation": { - "identifiers": [ - { - "name": "Id" - } - ], - "shape": "InstanceNetworkInterfaceAssociation", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0].Association" - }, - "actions": { - "Delete": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Address": { - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "Route": { - "identifiers": [ - { "name": "RouteTableId" }, - { - "name": "DestinationCidrBlock", - "memberName": "DestinationCidrBlock" - } - ], - "shape": "Route", - "actions": { - "Delete": { - "request": { - "operation": "DeleteRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - }, - "Replace": { - "request": { - "operation": "ReplaceRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "RouteTableId" } - ] - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Routes": { - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" } - ], - "path": "Routes[]" - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Associations": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[0].Associations[].RouteTableAssociationId" } - ], - "path": "RouteTables[0].Associations[]" - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "VpcPeeringConnectionExists", - "params": [ - { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" } - ], - "path": "VpcPeeringConnections[0]" - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - }, - "VpcAddress": { - "identifiers": [ - { - "name": "AllocationId" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "AllocationId", "source": "identifier", "name": "AllocationId" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AssociationId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-11-15/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-11-15/resources-1.json deleted file mode 100644 index 9872201d..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/ec2/2016-11-15/resources-1.json +++ /dev/null @@ -1,2582 +0,0 @@ -{ - "service": { - "actions": { - "CreateDhcpOptions": { - "request": { "operation": "CreateDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions.DhcpOptionsId" } - ], - "path": "DhcpOptions" - } - }, - "CreateInstances": { - "request": { "operation": "RunInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateInternetGateway": { - "request": { "operation": "CreateInternetGateway" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateway.InternetGatewayId" } - ], - "path": "InternetGateway" - } - }, - "CreateKeyPair": { - "request": { "operation": "CreateKeyPair" }, - "resource": { - "type": "KeyPair", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ], - "path": "@" - } - }, - "CreateNetworkAcl": { - "request": { "operation": "CreateNetworkAcl" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateNetworkInterface": { - "request": { "operation": "CreateNetworkInterface" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreatePlacementGroup": { - "request": { "operation": "CreatePlacementGroup" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ] - } - }, - "CreateRouteTable": { - "request": { "operation": "CreateRouteTable" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { "operation": "CreateSecurityGroup" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSnapshot": { - "request": { "operation": "CreateSnapshot" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateSubnet": { - "request": { "operation": "CreateSubnet" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { "operation": "CreateTags" } - }, - "CreateVolume": { - "request": { "operation": "CreateVolume" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VolumeId" } - ], - "path": "@" - } - }, - "CreateVpc": { - "request": { "operation": "CreateVpc" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpc.VpcId" } - ], - "path": "Vpc" - } - }, - "CreateVpcPeeringConnection": { - "request": { "operation": "CreateVpcPeeringConnection" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - }, - "DisassociateRouteTable": { - "request": { "operation": "DisassociateRouteTable" } - }, - "ImportKeyPair": { - "request": { "operation": "ImportKeyPair" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyName" } - ] - } - }, - "RegisterImage": { - "request": { "operation": "RegisterImage" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Instance": { - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "InternetGateway": { - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "NetworkAcl": { - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "NetworkInterface": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "RouteTableAssociation": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "SecurityGroup": { - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Snapshot": { - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "VpcPeeringConnection": { - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "ClassicAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "standard" } - ] - }, - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "response", "path": "Addresses[].PublicIp" } - ], - "path": "Addresses[]" - } - }, - "DhcpOptionsSets": { - "request": { "operation": "DescribeDhcpOptions" }, - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "response", "path": "DhcpOptions[].DhcpOptionsId" } - ], - "path": "DhcpOptions[]" - } - }, - "Images": { - "request": { "operation": "DescribeImages" }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Images[].ImageId" } - ], - "path": "Images[]" - } - }, - "Instances": { - "request": { "operation": "DescribeInstances" }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { "operation": "DescribeInternetGateways" }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "KeyPairs": { - "request": { "operation": "DescribeKeyPairs" }, - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "response", "path": "KeyPairs[].KeyName" } - ], - "path": "KeyPairs[]" - } - }, - "NetworkAcls": { - "request": { "operation": "DescribeNetworkAcls" }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { "operation": "DescribeNetworkInterfaces" }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroups": { - "request": { "operation": "DescribePlacementGroups" }, - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PlacementGroups[].GroupName" } - ], - "path": "PlacementGroups[]" - } - }, - "RouteTables": { - "request": { "operation": "DescribeRouteTables" }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { "operation": "DescribeSecurityGroups" }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Snapshots": { - "request": { "operation": "DescribeSnapshots" }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - }, - "Subnets": { - "request": { "operation": "DescribeSubnets" }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - }, - "Volumes": { - "request": { "operation": "DescribeVolumes" }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "domain" }, - { "target": "Filters[0].Values[0]", "source": "string", "value": "vpc" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - }, - "VpcPeeringConnections": { - "request": { "operation": "DescribeVpcPeeringConnections" }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Vpcs": { - "request": { "operation": "DescribeVpcs" }, - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Vpcs[].VpcId" } - ], - "path": "Vpcs[]" - } - } - } - }, - "resources": { - "ClassicAddress": { - "identifiers": [ - { - "name": "PublicIp" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "PublicIps[]", "source": "identifier", "name": "PublicIp" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "PublicIp", "source": "identifier", "name": "PublicIp" } - ] - } - }, - "Disassociate": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "PublicIp", "source": "data", "path": "PublicIp" } - ] - } - } - } - }, - "DhcpOptions": { - "identifiers": [ - { - "name": "Id", - "memberName": "DhcpOptionsId" - } - ], - "shape": "DhcpOptions", - "load": { - "request": { - "operation": "DescribeDhcpOptions", - "params": [ - { "target": "DhcpOptionsIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "DhcpOptions[0]" - }, - "actions": { - "AssociateWithVpc": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteDhcpOptions", - "params": [ - { "target": "DhcpOptionsId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Image": { - "identifiers": [ - { - "name": "Id", - "memberName": "ImageId" - } - ], - "shape": "Image", - "load": { - "request": { - "operation": "DescribeImages", - "params": [ - { "target": "ImageIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Images[0]" - }, - "actions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Deregister": { - "request": { - "operation": "DeregisterImage", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetImageAttribute", - "params": [ - { "target": "ImageId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "ImageExists", - "params": [ - { "target": "ImageIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Images[0]" - } - } - }, - "Instance": { - "identifiers": [ - { - "name": "Id", - "memberName": "InstanceId" - } - ], - "shape": "Instance", - "load": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Reservations[0].Instances[0]" - }, - "actions": { - "AttachClassicLinkVpc": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachVolume": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ConsoleOutput": { - "request": { - "operation": "GetConsoleOutput", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateImage": { - "request": { - "operation": "CreateImage", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "response", "path": "ImageId" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkVpc": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachVolume": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "PasswordData": { - "request": { - "operation": "GetPasswordData", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ReportStatus": { - "request": { - "operation": "ReportInstanceStatus", - "params": [ - { "target": "Instances[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetKernel": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "kernel" } - ] - } - }, - "ResetRamdisk": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "ramdisk" } - ] - } - }, - "ResetSourceDestCheck": { - "request": { - "operation": "ResetInstanceAttribute", - "params": [ - { "target": "InstanceId", "source": "identifier", "name": "Id" }, - { "target": "Attribute", "source": "string", "value": "sourceDestCheck" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[0]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Monitor": { - "request": { - "operation": "MonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Reboot": { - "request": { - "operation": "RebootInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Start": { - "request": { - "operation": "StartInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Stop": { - "request": { - "operation": "StopInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Terminate": { - "request": { - "operation": "TerminateInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "Unmonitor": { - "request": { - "operation": "UnmonitorInstances", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "InstanceExists", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Running": { - "waiterName": "InstanceRunning", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Stopped": { - "waiterName": "InstanceStopped", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - }, - "Terminated": { - "waiterName": "InstanceTerminated", - "params": [ - { "target": "InstanceIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Reservations[0].Instances[0]" - } - }, - "has": { - "ClassicAddress": { - "resource": { - "type": "ClassicAddress", - "identifiers": [ - { "target": "PublicIp", "source": "data", "path": "PublicIpAddress" } - ] - } - }, - "Image": { - "resource": { - "type": "Image", - "identifiers": [ - { "target": "Id", "source": "data", "path": "ImageId" } - ] - } - }, - "KeyPair": { - "resource": { - "type": "KeyPairInfo", - "identifiers": [ - { "target": "Name", "source": "data", "path": "KeyName" } - ] - } - }, - "NetworkInterfaces": { - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "data", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "PlacementGroup": { - "resource": { - "type": "PlacementGroup", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Placement.GroupName" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Volumes": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Volumes[].VolumeId" } - ], - "path": "Volumes[]" - } - }, - "VpcAddresses": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "instance-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "response", "path": "Addresses[].AllocationId" } - ], - "path": "Addresses[]" - } - } - } - }, - "InternetGateway": { - "identifiers": [ - { - "name": "Id", - "memberName": "InternetGatewayId" - } - ], - "shape": "InternetGateway", - "load": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "InternetGatewayIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "InternetGateways[0]" - }, - "actions": { - "AttachToVpc": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromVpc": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "InternetGatewayId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "KeyPair": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPair", - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "KeyPairInfo": { - "identifiers": [ - { - "name": "Name", - "memberName": "KeyName" - } - ], - "shape": "KeyPairInfo", - "load": { - "request": { - "operation": "DescribeKeyPairs", - "params": [ - { "target": "KeyNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "KeyPairs[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteKeyPair", - "params": [ - { "target": "KeyName", "source": "identifier", "name": "Name" } - ] - } - } - } - }, - "NetworkAcl": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkAclId" - } - ], - "shape": "NetworkAcl", - "load": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "NetworkAclIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkAcls[0]" - }, - "actions": { - "CreateEntry": { - "request": { - "operation": "CreateNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkAcl", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "DeleteEntry": { - "request": { - "operation": "DeleteNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceAssociation": { - "request": { - "operation": "ReplaceNetworkAclAssociation", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceEntry": { - "request": { - "operation": "ReplaceNetworkAclEntry", - "params": [ - { "target": "NetworkAclId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterface": { - "identifiers": [ - { - "name": "Id", - "memberName": "NetworkInterfaceId" - } - ], - "shape": "NetworkInterface", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "NetworkInterfaceIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0]" - }, - "actions": { - "AssignPrivateIpAddresses": { - "request": { - "operation": "AssignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Attach": { - "request": { - "operation": "AttachNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteNetworkInterface", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "Detach": { - "request": { - "operation": "DetachNetworkInterface", - "params": [ - { "target": "AttachmentId", "source": "data", "path": "Attachment.AttachmentId" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetNetworkInterfaceAttribute", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - }, - "UnassignPrivateIpAddresses": { - "request": { - "operation": "UnassignPrivateIpAddresses", - "params": [ - { "target": "NetworkInterfaceId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "Association.AssociationId" } - ], - "path": "Association" - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "NetworkInterfaceAssociation": { - "identifiers": [ - { - "name": "Id" - } - ], - "shape": "InstanceNetworkInterfaceAssociation", - "load": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "association.association-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "NetworkInterfaces[0].Association" - }, - "actions": { - "Delete": { - "request": { - "operation": "DisassociateAddress", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Address": { - "resource": { - "type": "VpcAddress", - "identifiers": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - } - }, - "PlacementGroup": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "PlacementGroup", - "load": { - "request": { - "operation": "DescribePlacementGroups", - "params": [ - { "target": "GroupNames[0]", "source": "identifier", "name": "Name" } - ] - }, - "path": "PlacementGroups[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePlacementGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "placement-group-name" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - } - } - }, - "Route": { - "identifiers": [ - { "name": "RouteTableId" }, - { - "name": "DestinationCidrBlock", - "memberName": "DestinationCidrBlock" - } - ], - "shape": "Route", - "actions": { - "Delete": { - "request": { - "operation": "DeleteRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - }, - "Replace": { - "request": { - "operation": "ReplaceRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "RouteTableId" }, - { "target": "DestinationCidrBlock", "source": "identifier", "name": "DestinationCidrBlock" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "RouteTableId" } - ] - } - } - } - }, - "RouteTable": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableId" - } - ], - "shape": "RouteTable", - "load": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "RouteTableIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "RouteTables[0]" - }, - "actions": { - "AssociateWithSubnet": { - "request": { - "operation": "AssociateRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "AssociationId" } - ] - } - }, - "CreateRoute": { - "request": { - "operation": "CreateRoute", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "requestParameter", "path": "DestinationCidrBlock" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRouteTable", - "params": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Associations": { - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "Associations[].RouteTableAssociationId" } - ], - "path": "Associations[]" - } - }, - "Routes": { - "resource": { - "type": "Route", - "identifiers": [ - { "target": "RouteTableId", "source": "identifier", "name": "Id" }, - { "target": "DestinationCidrBlock", "source": "data", "path": "Routes[].DestinationCidrBlock" } - ], - "path": "Routes[]" - } - }, - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - } - }, - "RouteTableAssociation": { - "identifiers": [ - { - "name": "Id", - "memberName": "RouteTableAssociationId" - } - ], - "shape": "RouteTableAssociation", - "actions": { - "Delete": { - "request": { - "operation": "DisassociateRouteTable", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - } - }, - "ReplaceSubnet": { - "request": { - "operation": "ReplaceRouteTableAssociation", - "params": [ - { "target": "AssociationId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTableAssociation", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NewAssociationId" } - ] - } - } - }, - "has": { - "RouteTable": { - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RouteTableId" } - ] - } - }, - "Subnet": { - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "data", "path": "SubnetId" } - ] - } - } - } - }, - "SecurityGroup": { - "identifiers": [ - { - "name": "Id", - "memberName": "GroupId" - } - ], - "shape": "SecurityGroup", - "load": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "GroupIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "SecurityGroups[0]" - }, - "actions": { - "AuthorizeEgress": { - "request": { - "operation": "AuthorizeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "AuthorizeIngress": { - "request": { - "operation": "AuthorizeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSecurityGroup", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeEgress": { - "request": { - "operation": "RevokeSecurityGroupEgress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - }, - "RevokeIngress": { - "request": { - "operation": "RevokeSecurityGroupIngress", - "params": [ - { "target": "GroupId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "Snapshot": { - "identifiers": [ - { - "name": "Id", - "memberName": "SnapshotId" - } - ], - "shape": "Snapshot", - "load": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "SnapshotIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Snapshots[0]" - }, - "actions": { - "Copy": { - "request": { - "operation": "CopySnapshot", - "params": [ - { "target": "SourceSnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSnapshot", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifySnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - }, - "ResetAttribute": { - "request": { - "operation": "ResetSnapshotAttribute", - "params": [ - { "target": "SnapshotId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Completed": { - "waiterName": "SnapshotCompleted", - "params": [ - { "target": "SnapshotIds[]", "source": "identifier", "name": "Id" } - ], - "path": "Snapshots[]" - } - }, - "has": { - "Volume": { - "resource": { - "type": "Volume", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VolumeId" } - ] - } - } - } - }, - "Subnet": { - "identifiers": [ - { - "name": "Id", - "memberName": "SubnetId" - } - ], - "shape": "Subnet", - "load": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "SubnetIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Subnets[0]" - }, - "actions": { - "CreateInstances": { - "request": { - "operation": "RunInstances", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Instances[].InstanceId" } - ], - "path": "Instances[]" - } - }, - "CreateNetworkInterface": { - "request": { - "operation": "CreateNetworkInterface", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterface.NetworkInterfaceId" } - ], - "path": "NetworkInterface" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSubnet", - "params": [ - { "target": "SubnetId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "VpcId" } - ] - } - } - }, - "hasMany": { - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "subnet-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - } - } - }, - "Tag": { - "identifiers": [ - { - "name": "ResourceId", - "memberName": "ResourceId" - }, - { - "name": "Key", - "memberName": "Key" - }, - { - "name": "Value", - "memberName": "Value" - } - ], - "shape": "TagDescription", - "load": { - "request": { - "operation": "DescribeTags", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "key" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Key" }, - { "target": "Filters[1].Name", "source": "string", "value": "value" }, - { "target": "Filters[1].Values[0]", "source": "identifier", "name": "Value" } - ] - }, - "path": "Tags[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[0].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[0].Value", "source": "identifier", "name": "Value" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteTags", - "params": [ - { "target": "Resources[]", "source": "identifier", "name": "ResourceId" }, - { "target": "Tags[*].Key", "source": "identifier", "name": "Key" }, - { "target": "Tags[*].Value", "source": "identifier", "name": "Value" } - ] - } - } - } - }, - "Volume": { - "identifiers": [ - { - "name": "Id", - "memberName": "VolumeId" - } - ], - "shape": "Volume", - "load": { - "request": { - "operation": "DescribeVolumes", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Volumes[0]" - }, - "actions": { - "AttachToInstance": { - "request": { - "operation": "AttachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateSnapshot": { - "request": { - "operation": "CreateSnapshot", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SnapshotId" } - ], - "path": "@" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeStatus": { - "request": { - "operation": "DescribeVolumeStatus", - "params": [ - { "target": "VolumeIds[0]", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachFromInstance": { - "request": { - "operation": "DetachVolume", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableIo": { - "request": { - "operation": "EnableVolumeIO", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVolumeAttribute", - "params": [ - { "target": "VolumeId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Snapshots": { - "request": { - "operation": "DescribeSnapshots", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "volume-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Snapshot", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Snapshots[].SnapshotId" } - ], - "path": "Snapshots[]" - } - } - } - }, - "Vpc": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcId" - } - ], - "shape": "Vpc", - "load": { - "request": { - "operation": "DescribeVpcs", - "params": [ - { "target": "VpcIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Vpcs[0]" - }, - "actions": { - "AssociateDhcpOptions": { - "request": { - "operation": "AssociateDhcpOptions", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachClassicLinkInstance": { - "request": { - "operation": "AttachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "AttachInternetGateway": { - "request": { - "operation": "AttachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "CreateNetworkAcl": { - "request": { - "operation": "CreateNetworkAcl", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcl.NetworkAclId" } - ], - "path": "NetworkAcl" - } - }, - "CreateRouteTable": { - "request": { - "operation": "CreateRouteTable", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTable.RouteTableId" } - ], - "path": "RouteTable" - } - }, - "CreateSecurityGroup": { - "request": { - "operation": "CreateSecurityGroup", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "GroupId" } - ] - } - }, - "CreateSubnet": { - "request": { - "operation": "CreateSubnet", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnet.SubnetId" } - ], - "path": "Subnet" - } - }, - "CreateTags": { - "request": { - "operation": "CreateTags", - "params": [ - { "target": "Resources[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Tag", - "identifiers": [ - { "target": "ResourceId", "source": "identifier", "name": "Id" }, - { "target": "Key", "source": "requestParameter", "path": "Tags[].Key" }, - { "target": "Value", "source": "requestParameter", "path": "Tags[].Value" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DescribeAttribute": { - "request": { - "operation": "DescribeVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachClassicLinkInstance": { - "request": { - "operation": "DetachClassicLinkVpc", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DetachInternetGateway": { - "request": { - "operation": "DetachInternetGateway", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "DisableClassicLink": { - "request": { - "operation": "DisableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "EnableClassicLink": { - "request": { - "operation": "EnableVpcClassicLink", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "ModifyAttribute": { - "request": { - "operation": "ModifyVpcAttribute", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - } - }, - "RequestVpcPeeringConnection": { - "request": { - "operation": "CreateVpcPeeringConnection", - "params": [ - { "target": "VpcId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnection.VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnection" - } - } - }, - "waiters": { - "Available": { - "waiterName": "VpcAvailable", - "params": [ - { "target": "VpcIds[]", "source": "identifier", "name": "Id" } - ] - }, - "Exists": { - "waiterName": "VpcExists", - "params": [ - { "target": "VpcIds[]", "source": "identifier", "name": "Id" } - ] - } - }, - "has": { - "DhcpOptions": { - "resource": { - "type": "DhcpOptions", - "identifiers": [ - { "target": "Id", "source": "data", "path": "DhcpOptionsId" } - ] - } - } - }, - "hasMany": { - "AcceptedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "accepter-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "Instances": { - "request": { - "operation": "DescribeInstances", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Instance", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Reservations[].Instances[].InstanceId" } - ], - "path": "Reservations[].Instances[]" - } - }, - "InternetGateways": { - "request": { - "operation": "DescribeInternetGateways", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "attachment.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "InternetGateway", - "identifiers": [ - { "target": "Id", "source": "response", "path": "InternetGateways[].InternetGatewayId" } - ], - "path": "InternetGateways[]" - } - }, - "NetworkAcls": { - "request": { - "operation": "DescribeNetworkAcls", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkAcl", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkAcls[].NetworkAclId" } - ], - "path": "NetworkAcls[]" - } - }, - "NetworkInterfaces": { - "request": { - "operation": "DescribeNetworkInterfaces", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "NetworkInterface", - "identifiers": [ - { "target": "Id", "source": "response", "path": "NetworkInterfaces[].NetworkInterfaceId" } - ], - "path": "NetworkInterfaces[]" - } - }, - "RequestedVpcPeeringConnections": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "requester-vpc-info.vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "VpcPeeringConnection", - "identifiers": [ - { "target": "Id", "source": "response", "path": "VpcPeeringConnections[].VpcPeeringConnectionId" } - ], - "path": "VpcPeeringConnections[]" - } - }, - "RouteTables": { - "request": { - "operation": "DescribeRouteTables", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "RouteTable", - "identifiers": [ - { "target": "Id", "source": "response", "path": "RouteTables[].RouteTableId" } - ], - "path": "RouteTables[]" - } - }, - "SecurityGroups": { - "request": { - "operation": "DescribeSecurityGroups", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "SecurityGroup", - "identifiers": [ - { "target": "Id", "source": "response", "path": "SecurityGroups[].GroupId" } - ], - "path": "SecurityGroups[]" - } - }, - "Subnets": { - "request": { - "operation": "DescribeSubnets", - "params": [ - { "target": "Filters[0].Name", "source": "string", "value": "vpc-id" }, - { "target": "Filters[0].Values[0]", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Subnet", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Subnets[].SubnetId" } - ], - "path": "Subnets[]" - } - } - } - }, - "VpcPeeringConnection": { - "identifiers": [ - { - "name": "Id", - "memberName": "VpcPeeringConnectionId" - } - ], - "shape": "VpcPeeringConnection", - "load": { - "request": { - "operation": "DescribeVpcPeeringConnections", - "params": [ - { "target": "VpcPeeringConnectionIds[0]", "source": "identifier", "name": "Id" } - ] - }, - "path": "VpcPeeringConnections[0]" - }, - "actions": { - "Accept": { - "request": { - "operation": "AcceptVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Reject": { - "request": { - "operation": "RejectVpcPeeringConnection", - "params": [ - { "target": "VpcPeeringConnectionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "VpcPeeringConnectionExists", - "params": [ - { "target": "VpcPeeringConnectionIds[]", "source": "identifier", "name": "Id" } - ], - "path": "VpcPeeringConnections[0]" - } - }, - "has": { - "AccepterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AccepterVpcInfo.VpcId" } - ] - } - }, - "RequesterVpc": { - "resource": { - "type": "Vpc", - "identifiers": [ - { "target": "Id", "source": "data", "path": "RequesterVpcInfo.VpcId" } - ] - } - } - } - }, - "VpcAddress": { - "identifiers": [ - { - "name": "AllocationId" - } - ], - "shape": "Address", - "load": { - "request": { - "operation": "DescribeAddresses", - "params": [ - { "target": "AllocationIds[0]", "source": "identifier", "name": "AllocationId" } - ] - }, - "path": "Addresses[0]" - }, - "actions": { - "Associate": { - "request": { - "operation": "AssociateAddress", - "params": [ - { "target": "AllocationId", "source": "identifier", "name": "AllocationId" } - ] - } - }, - "Release": { - "request": { - "operation": "ReleaseAddress", - "params": [ - { "target": "AllocationId", "source": "data", "path": "AllocationId" } - ] - } - } - }, - "has": { - "Association": { - "resource": { - "type": "NetworkInterfaceAssociation", - "identifiers": [ - { "target": "Id", "source": "data", "path": "AssociationId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/glacier/2012-06-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/glacier/2012-06-01/resources-1.json deleted file mode 100644 index d1ed48f4..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/glacier/2012-06-01/resources-1.json +++ /dev/null @@ -1,581 +0,0 @@ -{ - "service": { - "actions": { - "CreateVault": { - "request": { - "operation": "CreateVault", - "params": [ - { "target": "accountId", "source": "string", "value": "-" } - ] - }, - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "requestParameter", "path": "accountId" }, - { "target": "Name", "source": "requestParameter", "path": "vaultName" } - ] - } - } - }, - "has": { - "Account": { - "resource": { - "type": "Account", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "Vaults": { - "request": { - "operation": "ListVaults", - "params": [ - { "target": "accountId", "source": "string", "value": "-" } - ] - }, - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "requestParameter", "path": "accountId" }, - { "target": "Name", "source": "response", "path": "VaultList[].VaultName" } - ], - "path": "VaultList[]" - } - } - } - }, - "resources": { - "Account": { - "identifiers": [ - { "name": "Id" } - ], - "actions": { - "CreateVault": { - "request": { - "operation": "CreateVault", - "params": [ - { "target": "accountId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "Id" }, - { "target": "Name", "source": "requestParameter", "path": "vaultName" } - ] - } - } - }, - "has": { - "Vault": { - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "Id" }, - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "Vaults": { - "request": { - "operation": "ListVaults", - "params": [ - { "target": "accountId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "Id" }, - { "target": "Name", "source": "response", "path": "VaultList[].VaultName" } - ], - "path": "VaultList[]" - } - } - } - }, - "Archive": { - "identifiers": [ - { "name": "AccountId" }, - { "name": "VaultName" }, - { "name": "Id" } - ], - "actions": { - "Delete": { - "request": { - "operation": "DeleteArchive", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "archiveId", "source": "identifier", "name": "Id" } - ] - } - }, - "InitiateArchiveRetrieval": { - "request": { - "operation": "InitiateJob", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "jobParameters.Type", "source": "string", "value": "archive-retrieval" }, - { "target": "jobParameters.ArchiveId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "Id", "source": "response", "path": "jobId" }, - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "VaultName" } - ] - } - } - }, - "has": { - "Vault": { - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "Name", "source": "identifier", "name": "VaultName" } - ] - } - } - } - }, - "Job": { - "identifiers": [ - { "name": "AccountId" }, - { "name": "VaultName" }, - { - "name": "Id", - "memberName": "JobId" - } - ], - "shape": "GlacierJobDescription", - "load": { - "request": { - "operation": "DescribeJob", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "jobId", "source": "identifier", "name": "Id" } - ] - }, - "path": "@" - }, - "actions": { - "GetOutput": { - "request": { - "operation": "GetJobOutput", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "jobId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vault": { - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "Name", "source": "identifier", "name": "VaultName" } - ] - } - } - } - }, - "MultipartUpload": { - "identifiers": [ - { "name": "AccountId" }, - { "name": "VaultName" }, - { - "name": "Id", - "memberName": "MultipartUploadId" - } - ], - "shape": "UploadListElement", - "actions": { - "Abort": { - "request": { - "operation": "AbortMultipartUpload", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "uploadId", "source": "identifier", "name": "Id" } - ] - } - }, - "Complete": { - "request": { - "operation": "CompleteMultipartUpload", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "uploadId", "source": "identifier", "name": "Id" } - ] - } - }, - "Parts": { - "request": { - "operation": "ListParts", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "uploadId", "source": "identifier", "name": "Id" } - ] - } - }, - "UploadPart": { - "request": { - "operation": "UploadMultipartPart", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" }, - { "target": "uploadId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Vault": { - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "Name", "source": "identifier", "name": "VaultName" } - ] - } - } - } - }, - "Notification": { - "identifiers": [ - { "name": "AccountId" }, - { "name": "VaultName" } - ], - "shape": "VaultNotificationConfig", - "load": { - "request": { - "operation": "GetVaultNotifications", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" } - ] - }, - "path": "vaultNotificationConfig" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteVaultNotifications", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" } - ] - } - }, - "Set": { - "request": { - "operation": "SetVaultNotifications", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "VaultName" } - ] - } - } - }, - "has": { - "Vault": { - "resource": { - "type": "Vault", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "Name", "source": "identifier", "name": "VaultName" } - ] - } - } - } - }, - "Vault": { - "identifiers": [ - { "name": "AccountId" }, - { - "name": "Name", - "memberName": "VaultName" - } - ], - "shape": "DescribeVaultOutput", - "load": { - "request": { - "operation": "DescribeVault", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - }, - "path": "@" - }, - "actions": { - "Create": { - "request": { - "operation": "CreateVault", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteVault", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - } - }, - "InitiateInventoryRetrieval": { - "request": { - "operation": "InitiateJob", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "jobParameters.Type", "source": "string", "value": "inventory-retrieval" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "Id", "source": "response", "path": "jobId" }, - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" } - ] - } - }, - "InitiateMultipartUpload": { - "request": { - "operation": "InitiateMultipartUpload", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "Id", "source": "response", "path": "uploadId" }, - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" } - ] - } - }, - "UploadArchive": { - "request": { - "operation": "UploadArchive", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - }, - "resource": { - "type": "Archive", - "identifiers": [ - { "target": "Id", "source": "response", "path": "archiveId" }, - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "Account": { - "resource": { - "type": "Account", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "AccountId" } - ] - } - }, - "Archive": { - "resource": { - "type": "Archive", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "input" } - ] - } - }, - "Job": { - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "input" } - ] - } - }, - "MultipartUpload": { - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "input" } - ] - } - }, - "Notification": { - "resource": { - "type": "Notification", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "CompletedJobs": { - "request": { - "operation": "ListJobs", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "completed", "source": "string", "value": "true" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "JobList[].JobId" } - ], - "path": "JobList[]" - } - }, - "FailedJobs": { - "request": { - "operation": "ListJobs", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "statuscode", "source": "string", "value": "Failed" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "JobList[].JobId" } - ], - "path": "JobList[]" - } - }, - "Jobs": { - "request": { - "operation": "ListJobs", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "JobList[].JobId" } - ], - "path": "JobList[]" - } - }, - "JobsInProgress": { - "request": { - "operation": "ListJobs", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "statuscode", "source": "string", "value": "InProgress" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "JobList[].JobId" } - ], - "path": "JobList[]" - } - }, - "MultipartUplaods": { - "request": { - "operation": "ListMultipartUploads", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" } - ], - "path": "UploadsList[]" - } - }, - "MultipartUploads": { - "request": { - "operation": "ListMultipartUploads", - "params": [ - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "accountId", "source": "identifier", "name": "AccountId" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "UploadsList[].MultipartUploadId" } - ], - "path": "UploadsList[]" - } - }, - "SucceededJobs": { - "request": { - "operation": "ListJobs", - "params": [ - { "target": "accountId", "source": "identifier", "name": "AccountId" }, - { "target": "vaultName", "source": "identifier", "name": "Name" }, - { "target": "statuscode", "source": "string", "value": "Succeeded" } - ] - }, - "resource": { - "type": "Job", - "identifiers": [ - { "target": "AccountId", "source": "identifier", "name": "AccountId" }, - { "target": "VaultName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "JobList[].JobId" } - ], - "path": "JobList[]" - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/iam/2010-05-08/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/iam/2010-05-08/resources-1.json deleted file mode 100644 index 59d18556..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/iam/2010-05-08/resources-1.json +++ /dev/null @@ -1,1721 +0,0 @@ -{ - "service": { - "actions": { - "ChangePassword": { - "request": { "operation": "ChangePassword" } - }, - "CreateAccountAlias": { - "request": { "operation": "CreateAccountAlias" } - }, - "CreateAccountPasswordPolicy": { - "request": { "operation": "UpdateAccountPasswordPolicy" }, - "resource": { - "type": "AccountPasswordPolicy", - "identifiers": [ ] - } - }, - "CreateGroup": { - "request": { "operation": "CreateGroup" }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ], - "path": "Group" - } - }, - "CreateInstanceProfile": { - "request": { "operation": "CreateInstanceProfile" }, - "resource": { - "type": "InstanceProfile", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "InstanceProfileName" } - ], - "path": "InstanceProfile" - } - }, - "CreatePolicy": { - "request": { "operation": "CreatePolicy" }, - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Policy.Arn" } - ] - } - }, - "CreateRole": { - "request": { "operation": "CreateRole" }, - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "RoleName" } - ], - "path": "Role" - } - }, - "CreateSamlProvider": { - "request": { "operation": "CreateSAMLProvider" }, - "resource": { - "type": "SamlProvider", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "SAMLProviderArn" } - ] - } - }, - "CreateServerCertificate": { - "request": { "operation": "UploadServerCertificate" }, - "resource": { - "type": "ServerCertificate", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "ServerCertificateName" } - ] - } - }, - "CreateSigningCertificate": { - "request": { "operation": "UploadSigningCertificate" }, - "resource": { - "type": "SigningCertificate", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Certificate.CertificateId" } - ], - "path": "Certificate" - } - }, - "CreateUser": { - "request": { "operation": "CreateUser" }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "UserName" } - ], - "path": "User" - } - }, - "CreateVirtualMfaDevice": { - "request": { "operation": "CreateVirtualMFADevice" }, - "resource": { - "type": "VirtualMfaDevice", - "identifiers": [ - { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevice.SerialNumber" } - ], - "path": "VirtualMFADevice" - } - } - }, - "has": { - "AccountPasswordPolicy": { - "resource": { - "type": "AccountPasswordPolicy", - "identifiers": [ ] - } - }, - "AccountSummary": { - "resource": { - "type": "AccountSummary", - "identifiers": [ ] - } - }, - "CurrentUser": { - "resource": { - "type": "CurrentUser", - "identifiers": [ ] - } - }, - "Group": { - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "InstanceProfile": { - "resource": { - "type": "InstanceProfile", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "Policy": { - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "PolicyArn", "source": "input" } - ] - } - }, - "Role": { - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "SamlProvider": { - "resource": { - "type": "SamlProvider", - "identifiers": [ - { "target": "Arn", "source": "input" } - ] - } - }, - "ServerCertificate": { - "resource": { - "type": "ServerCertificate", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - }, - "VirtualMfaDevice": { - "resource": { - "type": "VirtualMfaDevice", - "identifiers": [ - { "target": "SerialNumber", "source": "input" } - ] - } - } - }, - "hasMany": { - "Groups": { - "request": { "operation": "ListGroups" }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Groups[].GroupName" } - ], - "path": "Groups[]" - } - }, - "InstanceProfiles": { - "request": { "operation": "ListInstanceProfiles" }, - "resource": { - "type": "InstanceProfile", - "identifiers": [ - { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" } - ], - "path": "InstanceProfiles[]" - } - }, - "Policies": { - "request": { "operation": "ListPolicies" }, - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Policies[].Arn" } - ], - "path": "Policies[]" - } - }, - "Roles": { - "request": { "operation": "ListRoles" }, - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Roles[].RoleName" } - ], - "path": "Roles[]" - } - }, - "SamlProviders": { - "request": { "operation": "ListSAMLProviders" }, - "resource": { - "type": "SamlProvider", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "SAMLProviderList[].Arn" } - ] - } - }, - "ServerCertificates": { - "request": { "operation": "ListServerCertificates" }, - "resource": { - "type": "ServerCertificate", - "identifiers": [ - { "target": "Name", "source": "response", "path": "ServerCertificateMetadataList[].ServerCertificateName" } - ] - } - }, - "Users": { - "request": { "operation": "ListUsers" }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Users[].UserName" } - ], - "path": "Users[]" - } - }, - "VirtualMfaDevices": { - "request": { "operation": "ListVirtualMFADevices" }, - "resource": { - "type": "VirtualMfaDevice", - "identifiers": [ - { "target": "SerialNumber", "source": "response", "path": "VirtualMFADevices[].SerialNumber" } - ], - "path": "VirtualMFADevices[]" - } - } - } - }, - "resources": { - "AccessKey": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - }, - { - "name": "Id", - "memberName": "AccessKeyId" - } - ], - "shape": "AccessKeyMetadata", - "actions": { - "Activate": { - "request": { - "operation": "UpdateAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Active" } - ] - } - }, - "Deactivate": { - "request": { - "operation": "UpdateAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Inactive" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "UserName" } - ] - } - } - } - }, - "AccessKeyPair": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - }, - { - "name": "Id", - "memberName": "AccessKeyId" - }, - { - "name": "Secret", - "memberName": "SecretAccessKey" - } - ], - "shape": "AccessKey", - "actions": { - "Activate": { - "request": { - "operation": "UpdateAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Active" } - ] - } - }, - "Deactivate": { - "request": { - "operation": "UpdateAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Inactive" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "AccessKeyId", "source": "identifier", "name": "Id" } - ] - } - } - } - }, - "AccountPasswordPolicy": { - "identifiers": [ ], - "shape": "PasswordPolicy", - "load": { - "request": { "operation": "GetAccountPasswordPolicy" }, - "path": "PasswordPolicy" - }, - "actions": { - "Delete": { - "request": { "operation": "DeleteAccountPasswordPolicy" } - }, - "Update": { - "request": { "operation": "UpdateAccountPasswordPolicy" } - } - } - }, - "AccountSummary": { - "identifiers": [ ], - "shape": "GetAccountSummaryResponse", - "load": { - "request": { "operation": "GetAccountSummary" }, - "path": "@" - } - }, - "AssumeRolePolicy": { - "identifiers": [ - { "name": "RoleName" } - ], - "actions": { - "Update": { - "request": { - "operation": "UpdateAssumeRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "RoleName" } - ] - } - } - }, - "has": { - "Role": { - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "RoleName" } - ] - } - } - } - }, - "CurrentUser": { - "identifiers": [ ], - "shape": "User", - "load": { - "request": { "operation": "GetUser" }, - "path": "User" - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "data", "path": "UserName" } - ] - } - } - }, - "hasMany": { - "AccessKeys": { - "request": { "operation": "ListAccessKeys" }, - "resource": { - "type": "AccessKey", - "identifiers": [ - { "target": "UserName", "source": "response", "path": "AccessKeyMetadata[].UserName" }, - { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" } - ], - "path": "AccessKeyMetadata[]" - } - }, - "MfaDevices": { - "request": { "operation": "ListMFADevices" }, - "resource": { - "type": "MfaDevice", - "identifiers": [ - { "target": "UserName", "source": "response", "path": "MFADevices[].UserName" }, - { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" } - ], - "path": "MFADevices[]" - } - }, - "SigningCertificates": { - "request": { "operation": "ListSigningCertificates" }, - "resource": { - "type": "SigningCertificate", - "identifiers": [ - { "target": "UserName", "source": "response", "path": "Certificates[].UserName" }, - { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" } - ], - "path": "Certificates[]" - } - } - } - }, - "Group": { - "identifiers": [ - { - "name": "Name", - "memberName": "GroupName" - } - ], - "shape": "Group", - "load": { - "request": { - "operation": "GetGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "path": "Group" - }, - "actions": { - "AddUser": { - "request": { - "operation": "AddUserToGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - }, - "AttachPolicy": { - "request": { - "operation": "AttachGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - }, - "Create": { - "request": { - "operation": "CreateGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "GroupName" } - ], - "path": "Group" - } - }, - "CreatePolicy": { - "request": { - "operation": "PutGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "GroupPolicy", - "identifiers": [ - { "target": "GroupName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "requestParameter", "path": "PolicyName" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - }, - "DetachPolicy": { - "request": { - "operation": "DetachGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - }, - "RemoveUser": { - "request": { - "operation": "RemoveUserFromGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "NewGroupName" } - ] - } - } - }, - "has": { - "Policy": { - "resource": { - "type": "GroupPolicy", - "identifiers": [ - { "target": "GroupName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "AttachedPolicies": { - "request": { - "operation": "ListAttachedGroupPolicies", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" } - ] - } - }, - "Policies": { - "request": { - "operation": "ListGroupPolicies", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "GroupPolicy", - "identifiers": [ - { "target": "GroupName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "response", "path": "PolicyNames[]" } - ] - } - }, - "Users": { - "request": { - "operation": "GetGroup", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Users[].UserName" } - ], - "path": "Users[]" - } - } - } - }, - "GroupPolicy": { - "identifiers": [ - { - "name": "GroupName", - "memberName": "GroupName" - }, - { - "name": "Name", - "memberName": "PolicyName" - } - ], - "shape": "GetGroupPolicyResponse", - "load": { - "request": { - "operation": "GetGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "GroupName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "GroupName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - }, - "Put": { - "request": { - "operation": "PutGroupPolicy", - "params": [ - { "target": "GroupName", "source": "identifier", "name": "GroupName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "Group": { - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "GroupName" } - ] - } - } - } - }, - "InstanceProfile": { - "identifiers": [ - { - "name": "Name", - "memberName": "InstanceProfileName" - } - ], - "shape": "InstanceProfile", - "load": { - "request": { - "operation": "GetInstanceProfile", - "params": [ - { "target": "InstanceProfileName", "source": "identifier", "name": "Name" } - ] - }, - "path": "InstanceProfile" - }, - "actions": { - "AddRole": { - "request": { - "operation": "AddRoleToInstanceProfile", - "params": [ - { "target": "InstanceProfileName", "source": "identifier", "name": "Name" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteInstanceProfile", - "params": [ - { "target": "InstanceProfileName", "source": "identifier", "name": "Name" } - ] - } - }, - "RemoveRole": { - "request": { - "operation": "RemoveRoleFromInstanceProfile", - "params": [ - { "target": "InstanceProfileName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "Roles": { - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "data", "path": "Roles[].RoleName" } - ], - "path": "Roles[]" - } - } - } - }, - "LoginProfile": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - } - ], - "shape": "LoginProfile", - "load": { - "request": { - "operation": "GetLoginProfile", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" } - ] - }, - "path": "LoginProfile" - }, - "actions": { - "Create": { - "request": { - "operation": "CreateLoginProfile", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" } - ] - }, - "resource": { - "type": "LoginProfile", - "identifiers": [ - { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" } - ], - "path": "LoginProfile" - } - }, - "Delete": { - "request": { - "operation": "DeleteLoginProfile", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateLoginProfile", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "UserName" } - ] - } - } - } - }, - "MfaDevice": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - }, - { - "name": "SerialNumber", - "memberName": "SerialNumber" - } - ], - "shape": "MFADevice", - "actions": { - "Associate": { - "request": { - "operation": "EnableMFADevice", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" } - ] - } - }, - "Disassociate": { - "request": { - "operation": "DeactivateMFADevice", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" } - ] - } - }, - "Resync": { - "request": { - "operation": "ResyncMFADevice", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "UserName" } - ] - } - } - } - }, - "Policy": { - "identifiers": [ - { - "name": "Arn", - "memberName": "Arn" - } - ], - "shape": "Policy", - "load": { - "request": { - "operation": "GetPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "Policy" - }, - "actions": { - "AttachGroup": { - "request": { - "operation": "AttachGroupPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "AttachRole": { - "request": { - "operation": "AttachRolePolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "AttachUser": { - "request": { - "operation": "AttachUserPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "CreateVersion": { - "request": { - "operation": "CreatePolicyVersion", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "PolicyVersion", - "identifiers": [ - { "target": "Arn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "response", "path": "PolicyVersion.VersionId" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeletePolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "DetachGroup": { - "request": { - "operation": "DetachGroupPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "DetachRole": { - "request": { - "operation": "DetachRolePolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "DetachUser": { - "request": { - "operation": "DetachUserPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - } - } - }, - "has": { - "DefaultVersion": { - "resource": { - "type": "PolicyVersion", - "identifiers": [ - { "target": "Arn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "data", "path": "DefaultVersionId" } - ] - } - } - }, - "hasMany": { - "AttachedGroups": { - "request": { - "operation": "ListEntitiesForPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "EntityFilter", "source": "string", "value": "Group" } - ] - }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PolicyGroups[].GroupName" } - ] - } - }, - "AttachedRoles": { - "request": { - "operation": "ListEntitiesForPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "EntityFilter", "source": "string", "value": "Role" } - ] - }, - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PolicyRoles[].RoleName" } - ] - } - }, - "AttachedUsers": { - "request": { - "operation": "ListEntitiesForPolicy", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "EntityFilter", "source": "string", "value": "User" } - ] - }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "response", "path": "PolicyUsers[].UserName" } - ] - } - }, - "Versions": { - "request": { - "operation": "ListPolicyVersions", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "PolicyVersion", - "identifiers": [ - { "target": "Arn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "response", "path": "Versions[].VersionId" } - ], - "path": "Versions[]" - } - } - } - }, - "PolicyVersion": { - "identifiers": [ - { "name": "Arn" }, - { "name": "VersionId" } - ], - "shape": "PolicyVersion", - "load": { - "request": { - "operation": "GetPolicyVersion", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "identifier", "name": "VersionId" } - ] - }, - "path": "PolicyVersion" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeletePolicyVersion", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "identifier", "name": "VersionId" } - ] - } - }, - "SetAsDefault": { - "request": { - "operation": "SetDefaultPolicyVersion", - "params": [ - { "target": "PolicyArn", "source": "identifier", "name": "Arn" }, - { "target": "VersionId", "source": "identifier", "name": "VersionId" } - ] - } - } - } - }, - "Role": { - "identifiers": [ - { - "name": "Name", - "memberName": "RoleName" - } - ], - "shape": "Role", - "load": { - "request": { - "operation": "GetRole", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - }, - "path": "Role" - }, - "actions": { - "AttachPolicy": { - "request": { - "operation": "AttachRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteRole", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - } - }, - "DetachPolicy": { - "request": { - "operation": "DetachRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "AssumeRolePolicy": { - "resource": { - "type": "AssumeRolePolicy", - "identifiers": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - } - }, - "Policy": { - "resource": { - "type": "RolePolicy", - "identifiers": [ - { "target": "RoleName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "AttachedPolicies": { - "request": { - "operation": "ListAttachedRolePolicies", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" } - ] - } - }, - "InstanceProfiles": { - "request": { - "operation": "ListInstanceProfilesForRole", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "InstanceProfile", - "identifiers": [ - { "target": "Name", "source": "response", "path": "InstanceProfiles[].InstanceProfileName" } - ], - "path": "InstanceProfiles[]" - } - }, - "Policies": { - "request": { - "operation": "ListRolePolicies", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "RolePolicy", - "identifiers": [ - { "target": "RoleName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "response", "path": "PolicyNames[]" } - ] - } - } - } - }, - "RolePolicy": { - "identifiers": [ - { - "name": "RoleName", - "memberName": "RoleName" - }, - { - "name": "Name", - "memberName": "PolicyName" - } - ], - "shape": "GetRolePolicyResponse", - "load": { - "request": { - "operation": "GetRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "RoleName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "RoleName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - }, - "Put": { - "request": { - "operation": "PutRolePolicy", - "params": [ - { "target": "RoleName", "source": "identifier", "name": "RoleName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "Role": { - "resource": { - "type": "Role", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "RoleName" } - ] - } - } - } - }, - "SamlProvider": { - "identifiers": [ - { "name": "Arn" } - ], - "shape": "GetSAMLProviderResponse", - "load": { - "request": { - "operation": "GetSAMLProvider", - "params": [ - { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteSAMLProvider", - "params": [ - { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateSAMLProvider", - "params": [ - { "target": "SAMLProviderArn", "source": "identifier", "name": "Arn" } - ] - } - } - } - }, - "ServerCertificate": { - "identifiers": [ - { "name": "Name" } - ], - "shape": "ServerCertificate", - "load": { - "request": { - "operation": "GetServerCertificate", - "params": [ - { "target": "ServerCertificateName", "source": "identifier", "name": "Name" } - ] - }, - "path": "ServerCertificate" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteServerCertificate", - "params": [ - { "target": "ServerCertificateName", "source": "identifier", "name": "Name" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateServerCertificate", - "params": [ - { "target": "ServerCertificateName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "ServerCertificate", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "NewServerCertificateName" } - ] - } - } - } - }, - "SigningCertificate": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - }, - { - "name": "Id", - "memberName": "CertificateId" - } - ], - "shape": "SigningCertificate", - "actions": { - "Activate": { - "request": { - "operation": "UpdateSigningCertificate", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "CertificateId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Active" } - ] - } - }, - "Deactivate": { - "request": { - "operation": "UpdateSigningCertificate", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "CertificateId", "source": "identifier", "name": "Id" }, - { "target": "Status", "source": "string", "value": "Inactive" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteSigningCertificate", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "CertificateId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "UserName" } - ] - } - } - } - }, - "User": { - "identifiers": [ - { - "name": "Name", - "memberName": "UserName" - } - ], - "shape": "User", - "load": { - "request": { - "operation": "GetUser", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "path": "User" - }, - "actions": { - "AddGroup": { - "request": { - "operation": "AddUserToGroup", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "AttachPolicy": { - "request": { - "operation": "AttachUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "Create": { - "request": { - "operation": "CreateUser", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "UserName" } - ], - "path": "User" - } - }, - "CreateAccessKeyPair": { - "request": { - "operation": "CreateAccessKey", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "AccessKeyPair", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "AccessKey.AccessKeyId" }, - { "target": "Secret", "source": "response", "path": "AccessKey.SecretAccessKey" } - ], - "path": "AccessKey" - } - }, - "CreateLoginProfile": { - "request": { - "operation": "CreateLoginProfile", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "LoginProfile", - "identifiers": [ - { "target": "UserName", "source": "response", "path": "LoginProfile.UserName" } - ], - "path": "LoginProfile" - } - }, - "CreatePolicy": { - "request": { - "operation": "PutUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "UserPolicy", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "requestParameter", "path": "PolicyName" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteUser", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "DetachPolicy": { - "request": { - "operation": "DetachUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "EnableMfa": { - "request": { - "operation": "EnableMFADevice", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "MfaDevice", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "SerialNumber", "source": "requestParameter", "path": "SerialNumber" } - ] - } - }, - "RemoveGroup": { - "request": { - "operation": "RemoveUserFromGroup", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "Update": { - "request": { - "operation": "UpdateUser", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "NewUserName" } - ] - } - } - }, - "has": { - "AccessKey": { - "resource": { - "type": "AccessKey", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "input" } - ] - } - }, - "LoginProfile": { - "resource": { - "type": "LoginProfile", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - } - }, - "MfaDevice": { - "resource": { - "type": "MfaDevice", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "SerialNumber", "source": "input" } - ] - } - }, - "Policy": { - "resource": { - "type": "UserPolicy", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "input" } - ] - } - }, - "SigningCertificate": { - "resource": { - "type": "SigningCertificate", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "AccessKeys": { - "request": { - "operation": "ListAccessKeys", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "AccessKey", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "AccessKeyMetadata[].AccessKeyId" } - ], - "path": "AccessKeyMetadata[]" - } - }, - "AttachedPolicies": { - "request": { - "operation": "ListAttachedUserPolicies", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Policy", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "AttachedPolicies[].PolicyArn" } - ] - } - }, - "Groups": { - "request": { - "operation": "ListGroupsForUser", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Group", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Groups[].GroupName" } - ], - "path": "Groups[]" - } - }, - "MfaDevices": { - "request": { - "operation": "ListMFADevices", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "MfaDevice", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "SerialNumber", "source": "response", "path": "MFADevices[].SerialNumber" } - ], - "path": "MFADevices[]" - } - }, - "Policies": { - "request": { - "operation": "ListUserPolicies", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "UserPolicy", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Name", "source": "response", "path": "PolicyNames[]" } - ] - } - }, - "SigningCertificates": { - "request": { - "operation": "ListSigningCertificates", - "params": [ - { "target": "UserName", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "SigningCertificate", - "identifiers": [ - { "target": "UserName", "source": "identifier", "name": "Name" }, - { "target": "Id", "source": "response", "path": "Certificates[].CertificateId" } - ], - "path": "Certificates[]" - } - } - } - }, - "UserPolicy": { - "identifiers": [ - { - "name": "UserName", - "memberName": "UserName" - }, - { - "name": "Name", - "memberName": "PolicyName" - } - ], - "shape": "GetUserPolicyResponse", - "load": { - "request": { - "operation": "GetUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - }, - "Put": { - "request": { - "operation": "PutUserPolicy", - "params": [ - { "target": "UserName", "source": "identifier", "name": "UserName" }, - { "target": "PolicyName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "UserName" } - ] - } - } - } - }, - "VirtualMfaDevice": { - "identifiers": [ - { - "name": "SerialNumber", - "memberName": "SerialNumber" - } - ], - "shape": "VirtualMFADevice", - "actions": { - "Delete": { - "request": { - "operation": "DeleteVirtualMFADevice", - "params": [ - { "target": "SerialNumber", "source": "identifier", "name": "SerialNumber" } - ] - } - } - }, - "has": { - "User": { - "resource": { - "type": "User", - "identifiers": [ - { "target": "Name", "source": "data", "path": "User.UserName" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/opsworks/2013-02-18/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/opsworks/2013-02-18/resources-1.json deleted file mode 100644 index 0435b13b..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/opsworks/2013-02-18/resources-1.json +++ /dev/null @@ -1,173 +0,0 @@ -{ - "service": { - "actions": { - "CreateStack": { - "request": { "operation": "CreateStack" }, - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Id", "source": "response", "path": "StackId" } - ] - } - } - }, - "has": { - "Layer": { - "resource": { - "type": "Layer", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - }, - "Stack": { - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Id", "source": "input" } - ] - } - } - }, - "hasMany": { - "Stacks": { - "request": { "operation": "DescribeStacks" }, - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Stacks[].StackId" } - ], - "path": "Stacks[]" - } - } - } - }, - "resources": { - "Layer": { - "identifiers": [ - { "name": "Id" } - ], - "shape": "Layer", - "load": { - "request": { - "operation": "DescribeLayers", - "params": [ - { "target": "LayerIds[]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Layers[0]" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteLayer", - "params": [ - { "target": "LayerId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Stack": { - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Id", "source": "data", "path": "StackId" } - ] - } - } - } - }, - "Stack": { - "identifiers": [ - { "name": "Id" } - ], - "shape": "Stack", - "load": { - "request": { - "operation": "DescribeStacks", - "params": [ - { "target": "StackIds[]", "source": "identifier", "name": "Id" } - ] - }, - "path": "Stacks[0]" - }, - "actions": { - "CreateLayer": { - "request": { - "operation": "CreateLayer", - "params": [ - { "target": "StackId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Layer", - "identifiers": [ - { "target": "Id", "source": "response", "path": "LayerId" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteStack", - "params": [ - { "target": "StackId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Summary": { - "resource": { - "type": "StackSummary", - "identifiers": [ - { "target": "StackId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "hasMany": { - "Layers": { - "request": { - "operation": "DescribeLayers", - "params": [ - { "target": "StackId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Layer", - "identifiers": [ - { "target": "Id", "source": "response", "path": "Layers[].LayerId" } - ], - "path": "Layers[]" - } - } - } - }, - "StackSummary": { - "identifiers": [ - { "name": "StackId" } - ], - "shape": "StackSummary", - "load": { - "request": { - "operation": "DescribeStackSummary", - "params": [ - { "target": "StackId", "source": "identifier", "name": "StackId" } - ] - }, - "path": "StackSummary" - }, - "has": { - "Stack": { - "resource": { - "type": "Stack", - "identifiers": [ - { "target": "Id", "source": "identifier", "name": "StackId" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/s3/2006-03-01/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/s3/2006-03-01/resources-1.json deleted file mode 100644 index f1e88c63..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/s3/2006-03-01/resources-1.json +++ /dev/null @@ -1,1249 +0,0 @@ -{ - "service": { - "actions": { - "CreateBucket": { - "request": { "operation": "CreateBucket" }, - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "requestParameter", "path": "Bucket" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "input" } - ] - } - } - }, - "hasMany": { - "Buckets": { - "request": { "operation": "ListBuckets" }, - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "response", "path": "Buckets[].Name" } - ], - "path": "Buckets[]" - } - } - } - }, - "resources": { - "Bucket": { - "identifiers": [ - { "name": "Name" } - ], - "shape": "Bucket", - "actions": { - "Create": { - "request": { - "operation": "CreateBucket", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteBucket", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - } - }, - "DeleteObjects": { - "request": { - "operation": "DeleteObjects", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - } - }, - "PutObject": { - "request": { - "operation": "PutObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" }, - { "target": "Key", "source": "requestParameter", "path": "Key" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "BucketExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - }, - "NotExists": { - "waiterName": "BucketNotExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - } - }, - "has": { - "Acl": { - "resource": { - "type": "BucketAcl", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Cors": { - "resource": { - "type": "BucketCors", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Lifecycle": { - "resource": { - "type": "BucketLifecycle", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "LifecycleConfiguration": { - "resource": { - "type": "BucketLifecycleConfiguration", - "identifiers": [ - { - "target": "BucketName", - "source": "identifier", - "name": "Name" - } - ] - } - }, - "Logging": { - "resource": { - "type": "BucketLogging", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Notification": { - "resource": { - "type": "BucketNotification", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Object": { - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" }, - { "target": "Key", "source": "input" } - ] - } - }, - "Policy": { - "resource": { - "type": "BucketPolicy", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "RequestPayment": { - "resource": { - "type": "BucketRequestPayment", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Tagging": { - "resource": { - "type": "BucketTagging", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Versioning": { - "resource": { - "type": "BucketVersioning", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - }, - "Website": { - "resource": { - "type": "BucketWebsite", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" } - ] - } - } - }, - "hasMany": { - "MultipartUploads": { - "request": { - "operation": "ListMultipartUploads", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" }, - { "target": "ObjectKey", "source": "response", "path": "Uploads[].Key" }, - { "target": "Id", "source": "response", "path": "Uploads[].UploadId" } - ], - "path": "Uploads[]" - } - }, - "ObjectVersions": { - "request": { - "operation": "ListObjectVersions", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "ObjectVersion", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" }, - { "target": "ObjectKey", "source": "response", "path": "[Versions,DeleteMarkers]|[].Key" }, - { "target": "Id", "source": "response", "path": "[Versions,DeleteMarkers]|[].VersionId" } - ], - "path": "[Versions,DeleteMarkers]|[]" - } - }, - "Objects": { - "request": { - "operation": "ListObjects", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "Name" } - ] - }, - "resource": { - "type": "ObjectSummary", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "Name" }, - { "target": "Key", "source": "response", "path": "Contents[].Key" } - ], - "path": "Contents[]" - } - } - } - }, - "BucketAcl": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketAclOutput", - "load": { - "request": { - "operation": "GetBucketAcl", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Put": { - "request": { - "operation": "PutBucketAcl", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketCors": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketCorsOutput", - "load": { - "request": { - "operation": "GetBucketCors", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketCors", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketCors", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketLifecycle": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketLifecycleOutput", - "load": { - "request": { - "operation": "GetBucketLifecycle", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketLifecycle", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketLifecycle", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketLifecycleConfiguration": { - "identifiers": [ - { - "name": "BucketName" - } - ], - "shape": "GetBucketLifecycleConfigurationOutput", - "load": { - "request": { - "operation": "GetBucketLifecycleConfiguration", - "params": [ - { - "target": "Bucket", - "source": "identifier", - "name": "BucketName" - } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketLifecycle", - "params": [ - { - "target": "Bucket", - "source": "identifier", - "name": "BucketName" - } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketLifecycleConfiguration", - "params": [ - { - "target": "Bucket", - "source": "identifier", - "name": "BucketName" - } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { - "target": "Name", - "source": "identifier", - "name": "BucketName" - } - ] - } - } - } - }, - "BucketLogging": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketLoggingOutput", - "load": { - "request": { - "operation": "GetBucketLogging", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Put": { - "request": { - "operation": "PutBucketLogging", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketNotification": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "NotificationConfiguration", - "load": { - "request": { - "operation": "GetBucketNotificationConfiguration", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Put": { - "request": { - "operation": "PutBucketNotificationConfiguration", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketPolicy": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketPolicyOutput", - "load": { - "request": { - "operation": "GetBucketPolicy", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketPolicy", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketPolicy", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketRequestPayment": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketRequestPaymentOutput", - "load": { - "request": { - "operation": "GetBucketRequestPayment", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Put": { - "request": { - "operation": "PutBucketRequestPayment", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketTagging": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketTaggingOutput", - "load": { - "request": { - "operation": "GetBucketTagging", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketTagging", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketTagging", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketVersioning": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketVersioningOutput", - "load": { - "request": { - "operation": "GetBucketVersioning", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Enable": { - "request": { - "operation": "PutBucketVersioning", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "VersioningConfiguration.Status", "source": "string", "value": "Enabled" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketVersioning", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Suspend": { - "request": { - "operation": "PutBucketVersioning", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "VersioningConfiguration.Status", "source": "string", "value": "Suspended" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "BucketWebsite": { - "identifiers": [ - { "name": "BucketName" } - ], - "shape": "GetBucketWebsiteOutput", - "load": { - "request": { - "operation": "GetBucketWebsite", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteBucketWebsite", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - }, - "Put": { - "request": { - "operation": "PutBucketWebsite", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" } - ] - } - } - }, - "has": { - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - } - } - }, - "MultipartUpload": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "ObjectKey" }, - { "name": "Id" } - ], - "shape": "MultipartUpload", - "actions": { - "Abort": { - "request": { - "operation": "AbortMultipartUpload", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "UploadId", "source": "identifier", "name": "Id" } - ] - } - }, - "Complete": { - "request": { - "operation": "CompleteMultipartUpload", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "UploadId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - } - } - }, - "has": { - "Object": { - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - } - }, - "Part": { - "resource": { - "type": "MultipartUploadPart", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" }, - { "target": "MultipartUploadId", "source": "identifier", "name": "Id" }, - { "target": "PartNumber", "source": "input" } - ] - } - } - }, - "hasMany": { - "Parts": { - "request": { - "operation": "ListParts", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "UploadId", "source": "identifier", "name": "Id" } - ] - }, - "resource": { - "type": "MultipartUploadPart", - "identifiers": [ - { "target": "BucketName", "source": "requestParameter", "path": "Bucket" }, - { "target": "ObjectKey", "source": "requestParameter", "path": "Key" }, - { "target": "MultipartUploadId", "source": "requestParameter", "path": "UploadId" }, - { "target": "PartNumber", "source": "response", "path": "Parts[].PartNumber" } - ], - "path": "Parts[]" - } - } - } - }, - "MultipartUploadPart": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "ObjectKey" }, - { "name": "MultipartUploadId" }, - { - "name": "PartNumber", - "type": "integer", - "memberName": "PartNumber" - } - ], - "shape": "Part", - "actions": { - "CopyFrom": { - "request": { - "operation": "UploadPartCopy", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" }, - { "target": "PartNumber", "source": "identifier", "name": "PartNumber" } - ] - } - }, - "Upload": { - "request": { - "operation": "UploadPart", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "UploadId", "source": "identifier", "name": "MultipartUploadId" }, - { "target": "PartNumber", "source": "identifier", "name": "PartNumber" } - ] - } - } - }, - "has": { - "MultipartUpload": { - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "ObjectKey" }, - { "target": "Id", "source": "identifier", "name": "MultipartUploadId" } - ] - } - } - } - }, - "Object": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "Key" } - ], - "shape": "HeadObjectOutput", - "load": { - "request": { - "operation": "HeadObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - }, - "path": "@" - }, - "actions": { - "CopyFrom": { - "request": { - "operation": "CopyObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "Get": { - "request": { - "operation": "GetObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "InitiateMultipartUpload": { - "request": { - "operation": "CreateMultipartUpload", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "response", "path": "UploadId" } - ] - } - }, - "Put": { - "request": { - "operation": "PutObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "RestoreObject": { - "request": { - "operation": "RestoreObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteObjects", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "ObjectExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - }, - "NotExists": { - "waiterName": "ObjectNotExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "has": { - "Acl": { - "resource": { - "type": "ObjectAcl", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" } - ] - } - }, - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - }, - "MultipartUpload": { - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "input" } - ] - } - }, - "Version": { - "resource": { - "type": "ObjectVersion", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "input" } - ] - } - } - } - }, - "ObjectAcl": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "ObjectKey" } - ], - "shape": "GetObjectAclOutput", - "load": { - "request": { - "operation": "GetObjectAcl", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - }, - "path": "@" - }, - "actions": { - "Put": { - "request": { - "operation": "PutObjectAcl", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - } - } - }, - "has": { - "Object": { - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - } - } - } - }, - "ObjectSummary": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "Key" } - ], - "shape": "Object", - "actions": { - "CopyFrom": { - "request": { - "operation": "CopyObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "Get": { - "request": { - "operation": "GetObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "InitiateMultipartUpload": { - "request": { - "operation": "CreateMultipartUpload", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - }, - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "response", "path": "UploadId" } - ] - } - }, - "Put": { - "request": { - "operation": "PutObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "RestoreObject": { - "request": { - "operation": "RestoreObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteObjects", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Delete.Objects[].Key", "source": "identifier", "name": "Key" } - ] - } - } - }, - "waiters": { - "Exists": { - "waiterName": "ObjectExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - }, - "NotExists": { - "waiterName": "ObjectNotExists", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "has": { - "Acl": { - "resource": { - "type": "ObjectAcl", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" } - ] - } - }, - "Bucket": { - "resource": { - "type": "Bucket", - "identifiers": [ - { "target": "Name", "source": "identifier", "name": "BucketName" } - ] - } - }, - "MultipartUpload": { - "resource": { - "type": "MultipartUpload", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "input" } - ] - } - }, - "Object": { - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "Key" } - ] - } - }, - "Version": { - "resource": { - "type": "ObjectVersion", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "ObjectKey", "source": "identifier", "name": "Key" }, - { "target": "Id", "source": "input" } - ] - } - } - } - }, - "ObjectVersion": { - "identifiers": [ - { "name": "BucketName" }, - { "name": "ObjectKey" }, - { "name": "Id" } - ], - "shape": "ObjectVersion", - "actions": { - "Delete": { - "request": { - "operation": "DeleteObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "VersionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Get": { - "request": { - "operation": "GetObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "VersionId", "source": "identifier", "name": "Id" } - ] - } - }, - "Head": { - "request": { - "operation": "HeadObject", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "VersionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteObjects", - "params": [ - { "target": "Bucket", "source": "identifier", "name": "BucketName" }, - { "target": "Delete.Objects[*].Key", "source": "identifier", "name": "ObjectKey" }, - { "target": "Delete.Objects[*].VersionId", "source": "identifier", "name": "Id" } - ] - } - } - }, - "has": { - "Object": { - "resource": { - "type": "Object", - "identifiers": [ - { "target": "BucketName", "source": "identifier", "name": "BucketName" }, - { "target": "Key", "source": "identifier", "name": "ObjectKey" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sns/2010-03-31/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sns/2010-03-31/resources-1.json deleted file mode 100644 index cee300a8..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sns/2010-03-31/resources-1.json +++ /dev/null @@ -1,327 +0,0 @@ -{ - "service": { - "actions": { - "CreatePlatformApplication": { - "request": { "operation": "CreatePlatformApplication" }, - "resource": { - "type": "PlatformApplication", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "PlatformApplicationArn" } - ] - } - }, - "CreateTopic": { - "request": { "operation": "CreateTopic" }, - "resource": { - "type": "Topic", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "TopicArn" } - ] - } - } - }, - "has": { - "PlatformApplication": { - "resource": { - "type": "PlatformApplication", - "identifiers": [ - { "target": "Arn", "source": "input" } - ] - } - }, - "PlatformEndpoint": { - "resource": { - "type": "PlatformEndpoint", - "identifiers": [ - { "target": "Arn", "source": "input" } - ] - } - }, - "Subscription": { - "resource": { - "type": "Subscription", - "identifiers": [ - { "target": "Arn", "source": "input" } - ] - } - }, - "Topic": { - "resource": { - "type": "Topic", - "identifiers": [ - { "target": "Arn", "source": "input" } - ] - } - } - }, - "hasMany": { - "PlatformApplications": { - "request": { "operation": "ListPlatformApplications" }, - "resource": { - "type": "PlatformApplication", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "PlatformApplications[].PlatformApplicationArn" } - ] - } - }, - "Subscriptions": { - "request": { "operation": "ListSubscriptions" }, - "resource": { - "type": "Subscription", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" } - ] - } - }, - "Topics": { - "request": { "operation": "ListTopics" }, - "resource": { - "type": "Topic", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Topics[].TopicArn" } - ] - } - } - } - }, - "resources": { - "PlatformApplication": { - "identifiers": [ - { "name": "Arn" } - ], - "shape": "GetPlatformApplicationAttributesResponse", - "load": { - "request": { - "operation": "GetPlatformApplicationAttributes", - "params": [ - { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "@" - }, - "actions": { - "CreatePlatformEndpoint": { - "request": { - "operation": "CreatePlatformEndpoint", - "params": [ - { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "PlatformEndpoint", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "EndpointArn" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeletePlatformApplication", - "params": [ - { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "SetAttributes": { - "request": { - "operation": "SetPlatformApplicationAttributes", - "params": [ - { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" } - ] - } - } - }, - "hasMany": { - "Endpoints": { - "request": { - "operation": "ListEndpointsByPlatformApplication", - "params": [ - { "target": "PlatformApplicationArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "PlatformEndpoint", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Endpoints[].EndpointArn" } - ] - } - } - } - }, - "PlatformEndpoint": { - "identifiers": [ - { "name": "Arn" } - ], - "shape": "GetEndpointAttributesResponse", - "load": { - "request": { - "operation": "GetEndpointAttributes", - "params": [ - { "target": "EndpointArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "DeleteEndpoint", - "params": [ - { "target": "EndpointArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "Publish": { - "request": { - "operation": "Publish", - "params": [ - { "target": "TargetArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "SetAttributes": { - "request": { - "operation": "SetEndpointAttributes", - "params": [ - { "target": "EndpointArn", "source": "identifier", "name": "Arn" } - ] - } - } - } - }, - "Subscription": { - "identifiers": [ - { "name": "Arn" } - ], - "shape": "GetSubscriptionAttributesResponse", - "load": { - "request": { - "operation": "GetSubscriptionAttributes", - "params": [ - { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "@" - }, - "actions": { - "Delete": { - "request": { - "operation": "Unsubscribe", - "params": [ - { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "SetAttributes": { - "request": { - "operation": "SetSubscriptionAttributes", - "params": [ - { "target": "SubscriptionArn", "source": "identifier", "name": "Arn" } - ] - } - } - } - }, - "Topic": { - "identifiers": [ - { "name": "Arn" } - ], - "shape": "GetTopicAttributesResponse", - "load": { - "request": { - "operation": "GetTopicAttributes", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - }, - "path": "@" - }, - "actions": { - "AddPermission": { - "request": { - "operation": "AddPermission", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "ConfirmSubscription": { - "request": { - "operation": "ConfirmSubscription", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "Subscription", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "SubscriptionArn" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteTopic", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "Publish": { - "request": { - "operation": "Publish", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "RemovePermission": { - "request": { - "operation": "RemovePermission", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "SetAttributes": { - "request": { - "operation": "SetTopicAttributes", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - } - }, - "Subscribe": { - "request": { - "operation": "Subscribe", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "Subscription", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "SubscriptionArn" } - ] - } - } - }, - "hasMany": { - "Subscriptions": { - "request": { - "operation": "ListSubscriptionsByTopic", - "params": [ - { "target": "TopicArn", "source": "identifier", "name": "Arn" } - ] - }, - "resource": { - "type": "Subscription", - "identifiers": [ - { "target": "Arn", "source": "response", "path": "Subscriptions[].SubscriptionArn" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sqs/2012-11-05/resources-1.json b/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sqs/2012-11-05/resources-1.json deleted file mode 100644 index b1e74ab0..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/data/sqs/2012-11-05/resources-1.json +++ /dev/null @@ -1,232 +0,0 @@ -{ - "service": { - "actions": { - "CreateQueue": { - "request": { "operation": "CreateQueue" }, - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "response", "path": "QueueUrl" } - ] - } - }, - "GetQueueByName": { - "request": { "operation": "GetQueueUrl" }, - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "response", "path": "QueueUrl" } - ] - } - } - }, - "has": { - "Queue": { - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "input" } - ] - } - } - }, - "hasMany": { - "Queues": { - "request": { "operation": "ListQueues" }, - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "response", "path": "QueueUrls[]" } - ] - } - } - } - }, - "resources": { - "Message": { - "identifiers": [ - { "name": "QueueUrl" }, - { - "name": "ReceiptHandle", - "memberName": "ReceiptHandle" - } - ], - "shape": "Message", - "actions": { - "ChangeVisibility": { - "request": { - "operation": "ChangeMessageVisibility", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" }, - { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteMessage", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" }, - { "target": "ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" } - ] - } - } - }, - "batchActions": { - "Delete": { - "request": { - "operation": "DeleteMessageBatch", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "QueueUrl" }, - { "target": "Entries[*].Id", "source": "data", "path": "MessageId" }, - { "target": "Entries[*].ReceiptHandle", "source": "identifier", "name": "ReceiptHandle" } - ] - } - } - }, - "has": { - "Queue": { - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "identifier", "name": "QueueUrl" } - ] - } - } - } - }, - "Queue": { - "identifiers": [ - { "name": "Url" } - ], - "shape": "GetQueueAttributesResult", - "load": { - "request": { - "operation": "GetQueueAttributes", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" }, - { "target": "AttributeNames[]", "source": "string", "value": "All" } - ] - }, - "path": "@" - }, - "actions": { - "AddPermission": { - "request": { - "operation": "AddPermission", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "ChangeMessageVisibilityBatch": { - "request": { - "operation": "ChangeMessageVisibilityBatch", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "Delete": { - "request": { - "operation": "DeleteQueue", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "DeleteMessages": { - "request": { - "operation": "DeleteMessageBatch", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "Purge": { - "request": { - "operation": "PurgeQueue", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "ReceiveMessages": { - "request": { - "operation": "ReceiveMessage", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - }, - "resource": { - "type": "Message", - "identifiers": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" }, - { "target": "ReceiptHandle", "source": "response", "path": "Messages[].ReceiptHandle" } - ], - "path": "Messages[]" - } - }, - "RemovePermission": { - "request": { - "operation": "RemovePermission", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "SendMessage": { - "request": { - "operation": "SendMessage", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "SendMessages": { - "request": { - "operation": "SendMessageBatch", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - }, - "SetAttributes": { - "request": { - "operation": "SetQueueAttributes", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - } - } - }, - "has": { - "Message": { - "resource": { - "type": "Message", - "identifiers": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" }, - { "target": "ReceiptHandle", "source": "input" } - ] - } - } - }, - "hasMany": { - "DeadLetterSourceQueues": { - "request": { - "operation": "ListDeadLetterSourceQueues", - "params": [ - { "target": "QueueUrl", "source": "identifier", "name": "Url" } - ] - }, - "resource": { - "type": "Queue", - "identifiers": [ - { "target": "Url", "source": "response", "path": "queueUrls[]" } - ] - } - } - } - } - } -} diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/__init__.py deleted file mode 100644 index c18c86e1..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import os - -from boto3.docs.service import ServiceDocumenter - - -def generate_docs(root_dir, session): - """Generates the reference documentation for botocore - - This will go through every available AWS service and output ReSTructured - text files documenting each service. - - :param root_dir: The directory to write the reference files to. Each - service's reference documentation is loacated at - root_dir/reference/services/service-name.rst - - :param session: The boto3 session - """ - services_doc_path = os.path.join(root_dir, 'reference', 'services') - if not os.path.exists(services_doc_path): - os.makedirs(services_doc_path) - - for service_name in session.get_available_services(): - docs = ServiceDocumenter(service_name, session).document_service() - service_doc_path = os.path.join( - services_doc_path, service_name + '.rst') - with open(service_doc_path, 'wb') as f: - f.write(docs) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/action.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/action.py deleted file mode 100644 index a1a51ccd..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/action.py +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.model import OperationModel -from botocore.utils import get_service_module_name -from botocore.docs.method import document_model_driven_method -from botocore.docs.method import document_custom_method - -from boto3.docs.base import BaseDocumenter -from boto3.docs.method import document_model_driven_resource_method -from boto3.docs.utils import get_resource_ignore_params -from boto3.docs.utils import get_resource_public_actions -from boto3.docs.utils import add_resource_type_overview - - -class ActionDocumenter(BaseDocumenter): - def document_actions(self, section): - modeled_actions_list = self._resource_model.actions - modeled_actions = {} - for modeled_action in modeled_actions_list: - modeled_actions[modeled_action.name] = modeled_action - resource_actions = get_resource_public_actions( - self._resource.__class__) - self.member_map['actions'] = sorted(resource_actions) - add_resource_type_overview( - section=section, - resource_type='Actions', - description=( - 'Actions call operations on resources. They may ' - 'automatically handle the passing in of arguments set ' - 'from identifiers and some attributes.'), - intro_link='actions_intro') - - for action_name in sorted(resource_actions): - action_section = section.add_new_section(action_name) - if action_name in ['load', 'reload'] and self._resource_model.load: - document_load_reload_action( - section=action_section, - action_name=action_name, - resource_name=self._resource_name, - event_emitter=self._resource.meta.client.meta.events, - load_model=self._resource_model.load, - service_model=self._service_model - ) - elif action_name in modeled_actions: - document_action( - section=action_section, - resource_name=self._resource_name, - event_emitter=self._resource.meta.client.meta.events, - action_model=modeled_actions[action_name], - service_model=self._service_model, - ) - else: - document_custom_method( - action_section, action_name, resource_actions[action_name]) - - -def document_action(section, resource_name, event_emitter, action_model, - service_model, include_signature=True): - """Documents a resource action - - :param section: The section to write to - - :param resource_name: The name of the resource - - :param event_emitter: The event emitter to use to emit events - - :param action_model: The model of the action - - :param service_model: The model of the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - operation_model = service_model.operation_model( - action_model.request.operation) - ignore_params = get_resource_ignore_params(action_model.request.params) - - example_return_value = 'response' - if action_model.resource: - example_return_value = xform_name(action_model.resource.type) - example_resource_name = xform_name(resource_name) - if service_model.service_name == resource_name: - example_resource_name = resource_name - example_prefix = '%s = %s.%s' % ( - example_return_value, example_resource_name, action_model.name) - document_model_driven_resource_method( - section=section, method_name=action_model.name, - operation_model=operation_model, - event_emitter=event_emitter, - method_description=operation_model.documentation, - example_prefix=example_prefix, - exclude_input=ignore_params, - resource_action_model=action_model, - include_signature=include_signature - ) - - -def document_load_reload_action(section, action_name, resource_name, - event_emitter, load_model, service_model, - include_signature=True): - """Documents the resource load action - - :param section: The section to write to - - :param action_name: The name of the loading action should be load or reload - - :param resource_name: The name of the resource - - :param event_emitter: The event emitter to use to emit events - - :param load_model: The model of the load action - - :param service_model: The model of the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - description = ( - 'Calls :py:meth:`%s.Client.%s` to update the attributes of the' - ' %s resource. Note that the load and reload methods are ' - 'the same method and can be used interchangeably.' % ( - get_service_module_name(service_model), - xform_name(load_model.request.operation), - resource_name) - ) - example_resource_name = xform_name(resource_name) - if service_model.service_name == resource_name: - example_resource_name = resource_name - example_prefix = '%s.%s' % (example_resource_name, action_name) - document_model_driven_method( - section=section, method_name=action_name, - operation_model=OperationModel({}, service_model), - event_emitter=event_emitter, - method_description=description, - example_prefix=example_prefix, - include_signature=include_signature - ) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/attr.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/attr.py deleted file mode 100644 index 4ebbc7d5..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/attr.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.params import ResponseParamsDocumenter - -from boto3.docs.utils import get_identifier_description - - -class ResourceShapeDocumenter(ResponseParamsDocumenter): - EVENT_NAME = 'resource-shape' - - -def document_attribute(section, service_name, resource_name, attr_name, - event_emitter, attr_model, include_signature=True): - if include_signature: - section.style.start_sphinx_py_attr(attr_name) - # Note that an attribute may have one, may have many, or may have no - # operations that back the resource's shape. So we just set the - # operation_name to the resource name if we ever to hook in and modify - # a particular attribute. - ResourceShapeDocumenter( - service_name=service_name, operation_name=resource_name, - event_emitter=event_emitter).document_params( - section=section, - shape=attr_model) - - -def document_identifier(section, resource_name, identifier_model, - include_signature=True): - if include_signature: - section.style.start_sphinx_py_attr(identifier_model.name) - description = get_identifier_description( - resource_name, identifier_model.name) - description = '*(string)* ' + description - section.write(description) - - -def document_reference(section, reference_model, include_signature=True): - if include_signature: - section.style.start_sphinx_py_attr(reference_model.name) - reference_type = '(:py:class:`%s`) ' % reference_model.resource.type - section.write(reference_type) - section.include_doc_string( - 'The related %s if set, otherwise ``None``.' % reference_model.name - ) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/base.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/base.py deleted file mode 100644 index 1ebd4222..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/base.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.compat import OrderedDict - - -class BaseDocumenter(object): - def __init__(self, resource): - self._resource = resource - self._client = self._resource.meta.client - self._resource_model = self._resource.meta.resource_model - self._service_model = self._client.meta.service_model - self._resource_name = self._resource.meta.resource_model.name - self._service_name = self._service_model.service_name - self._service_docs_name = self._client.__class__.__name__ - self.member_map = OrderedDict() - self.represents_service_resource = ( - self._service_name == self._resource_name) - - @property - def class_name(self): - return '%s.%s' % (self._service_docs_name, self._resource_name) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/client.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/client.py deleted file mode 100644 index 7db8c1f1..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/client.py +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.client import ClientDocumenter - - -class Boto3ClientDocumenter(ClientDocumenter): - def _add_client_creation_example(self, section): - section.style.start_codeblock() - section.style.new_line() - section.write('import boto3') - section.style.new_line() - section.style.new_line() - section.write( - 'client = boto3.client(\'{service}\')'.format( - service=self._service_name) - ) - section.style.end_codeblock() diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/collection.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/collection.py deleted file mode 100644 index 1825ec24..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/collection.py +++ /dev/null @@ -1,234 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.docs.method import get_instance_public_methods -from botocore.docs.utils import DocumentedShape - -from boto3.docs.base import BaseDocumenter -from boto3.docs.utils import get_resource_ignore_params -from boto3.docs.method import document_model_driven_resource_method -from boto3.docs.utils import add_resource_type_overview - - -class CollectionDocumenter(BaseDocumenter): - def document_collections(self, section): - collections = self._resource.meta.resource_model.collections - collections_list = [] - add_resource_type_overview( - section=section, - resource_type='Collections', - description=( - 'Collections provide an interface to iterate over and ' - 'manipulate groups of resources. '), - intro_link='guide_collections') - self.member_map['collections'] = collections_list - for collection in collections: - collection_section = section.add_new_section(collection.name) - collections_list.append(collection.name) - self._document_collection(collection_section, collection) - - def _document_collection(self, section, collection): - methods = get_instance_public_methods( - getattr(self._resource, collection.name)) - document_collection_object(section, collection) - batch_actions = {} - for batch_action in collection.batch_actions: - batch_actions[batch_action.name] = batch_action - - for method in sorted(methods): - method_section = section.add_new_section(method) - if method in batch_actions: - document_batch_action( - section=method_section, - resource_name=self._resource_name, - event_emitter=self._resource.meta.client.meta.events, - batch_action_model=batch_actions[method], - collection_model=collection, - service_model=self._resource.meta.client.meta.service_model - ) - else: - document_collection_method( - section=method_section, - resource_name=self._resource_name, - action_name=method, - event_emitter=self._resource.meta.client.meta.events, - collection_model=collection, - service_model=self._resource.meta.client.meta.service_model - ) - - -def document_collection_object(section, collection_model, - include_signature=True): - """Documents a collection resource object - - :param section: The section to write to - - :param collection_model: The model of the collection - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - if include_signature: - section.style.start_sphinx_py_attr(collection_model.name) - section.include_doc_string( - 'A collection of %s resources' % collection_model.resource.type) - - -def document_batch_action(section, resource_name, event_emitter, - batch_action_model, service_model, collection_model, - include_signature=True): - """Documents a collection's batch action - - :param section: The section to write to - - :param resource_name: The name of the resource - - :param action_name: The name of collection action. Currently only - can be all, filter, limit, or page_size - - :param event_emitter: The event emitter to use to emit events - - :param batch_action_model: The model of the batch action - - :param collection_model: The model of the collection - - :param service_model: The model of the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - operation_model = service_model.operation_model( - batch_action_model.request.operation) - ignore_params = get_resource_ignore_params( - batch_action_model.request.params) - - example_return_value = 'response' - if batch_action_model.resource: - example_return_value = xform_name(batch_action_model.resource.type) - - example_resource_name = xform_name(resource_name) - if service_model.service_name == resource_name: - example_resource_name = resource_name - example_prefix = '%s = %s.%s.%s' % ( - example_return_value, example_resource_name, - collection_model.name, batch_action_model.name - ) - document_model_driven_resource_method( - section=section, method_name=batch_action_model.name, - operation_model=operation_model, - event_emitter=event_emitter, - method_description=operation_model.documentation, - example_prefix=example_prefix, - exclude_input=ignore_params, - resource_action_model=batch_action_model, - include_signature=include_signature - ) - - -def document_collection_method(section, resource_name, action_name, - event_emitter, collection_model, service_model, - include_signature=True): - """Documents a collection method - - :param section: The section to write to - - :param resource_name: The name of the resource - - :param action_name: The name of collection action. Currently only - can be all, filter, limit, or page_size - - :param event_emitter: The event emitter to use to emit events - - :param collection_model: The model of the collection - - :param service_model: The model of the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - operation_model = service_model.operation_model( - collection_model.request.operation) - - underlying_operation_members = [] - if operation_model.input_shape: - underlying_operation_members = operation_model.input_shape.members - - example_resource_name = xform_name(resource_name) - if service_model.service_name == resource_name: - example_resource_name = resource_name - - custom_action_info_dict = { - 'all': { - 'method_description': ( - 'Creates an iterable of all %s resources ' - 'in the collection.' % collection_model.resource.type), - 'example_prefix': '%s_iterator = %s.%s.all' % ( - xform_name(collection_model.resource.type), - example_resource_name, collection_model.name), - 'exclude_input': underlying_operation_members - }, - 'filter': { - 'method_description': ( - 'Creates an iterable of all %s resources ' - 'in the collection filtered by kwargs passed to ' - 'method.' % collection_model.resource.type), - 'example_prefix': '%s_iterator = %s.%s.filter' % ( - xform_name(collection_model.resource.type), - example_resource_name, collection_model.name), - 'exclude_input': get_resource_ignore_params( - collection_model.request.params) - }, - 'limit': { - 'method_description': ( - 'Creates an iterable up to a specified amount of ' - '%s resources in the collection.' % - collection_model.resource.type), - 'example_prefix': '%s_iterator = %s.%s.limit' % ( - xform_name(collection_model.resource.type), - example_resource_name, collection_model.name), - 'include_input': [ - DocumentedShape( - name='count', type_name='integer', - documentation=( - 'The limit to the number of resources ' - 'in the iterable.'))], - 'exclude_input': underlying_operation_members - }, - 'page_size': { - 'method_description': ( - 'Creates an iterable of all %s resources ' - 'in the collection, but limits the number of ' - 'items returned by each service call by the specified ' - 'amount.' % collection_model.resource.type), - 'example_prefix': '%s_iterator = %s.%s.page_size' % ( - xform_name(collection_model.resource.type), - example_resource_name, collection_model.name), - 'include_input': [ - DocumentedShape( - name='count', type_name='integer', - documentation=( - 'The number of items returned by each ' - 'service call'))], - 'exclude_input': underlying_operation_members - } - } - if action_name in custom_action_info_dict: - action_info = custom_action_info_dict[action_name] - document_model_driven_resource_method( - section=section, method_name=action_name, - operation_model=operation_model, - event_emitter=event_emitter, - resource_action_model=collection_model, - include_signature=include_signature, - **action_info - ) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/docstring.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/docstring.py deleted file mode 100644 index 9dd4d396..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/docstring.py +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.docstring import LazyLoadedDocstring - -from boto3.docs.action import document_action -from boto3.docs.action import document_load_reload_action -from boto3.docs.subresource import document_sub_resource -from boto3.docs.attr import document_attribute -from boto3.docs.attr import document_identifier -from boto3.docs.attr import document_reference -from boto3.docs.collection import document_collection_object -from boto3.docs.collection import document_collection_method -from boto3.docs.collection import document_batch_action -from boto3.docs.waiter import document_resource_waiter - - -class ActionDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_action(*args, **kwargs) - - -class LoadReloadDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_load_reload_action(*args, **kwargs) - - -class SubResourceDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_sub_resource(*args, **kwargs) - - -class AttributeDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_attribute(*args, **kwargs) - - -class IdentifierDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_identifier(*args, **kwargs) - - -class ReferenceDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_reference(*args, **kwargs) - - -class CollectionDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_collection_object(*args, **kwargs) - - -class CollectionMethodDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_collection_method(*args, **kwargs) - - -class BatchActionDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_batch_action(*args, **kwargs) - - -class ResourceWaiterDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_resource_waiter(*args, **kwargs) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/method.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/method.py deleted file mode 100644 index fcc398c7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/method.py +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.method import document_model_driven_method - - -def document_model_driven_resource_method( - section, method_name, operation_model, event_emitter, - method_description=None, example_prefix=None, include_input=None, - include_output=None, exclude_input=None, exclude_output=None, - document_output=True, resource_action_model=None, - include_signature=True): - - document_model_driven_method( - section=section, method_name=method_name, - operation_model=operation_model, - event_emitter=event_emitter, - method_description=method_description, - example_prefix=example_prefix, - include_input=include_input, - include_output=include_output, - exclude_input=exclude_input, - exclude_output=exclude_output, - document_output=document_output, - include_signature=include_signature - ) - - # If this action returns a resource modify the return example to - # appropriately reflect that. - if resource_action_model.resource: - if 'return' in section.available_sections: - section.delete_section('return') - resource_type = resource_action_model.resource.type - - new_return_section = section.add_new_section('return') - return_resource_type = '%s.%s' % ( - operation_model.service_model.service_name, - resource_type) - - return_type = ':py:class:`%s`' % return_resource_type - return_description = '%s resource' % (resource_type) - - if _method_returns_resource_list(resource_action_model.resource): - return_type = 'list(%s)' % return_type - return_description = 'A list of %s resources' % ( - resource_type) - - new_return_section.style.new_line() - new_return_section.write( - ':rtype: %s' % return_type) - new_return_section.style.new_line() - new_return_section.write( - ':returns: %s' % return_description) - new_return_section.style.new_line() - - -def _method_returns_resource_list(resource): - for identifier in resource.identifiers: - if identifier.path and '[]' in identifier.path: - return True - - return False diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/resource.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/resource.py deleted file mode 100644 index 17ecc0ae..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/resource.py +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.docs.utils import get_official_service_name - -from boto3.docs.base import BaseDocumenter -from boto3.docs.action import ActionDocumenter -from boto3.docs.waiter import WaiterResourceDocumenter -from boto3.docs.collection import CollectionDocumenter -from boto3.docs.subresource import SubResourceDocumenter -from boto3.docs.attr import document_attribute -from boto3.docs.attr import document_identifier -from boto3.docs.attr import document_reference -from boto3.docs.utils import get_identifier_args_for_signature -from boto3.docs.utils import get_identifier_values_for_example -from boto3.docs.utils import get_identifier_description -from boto3.docs.utils import add_resource_type_overview - - -class ResourceDocumenter(BaseDocumenter): - def __init__(self, resource, botocore_session): - super(ResourceDocumenter, self).__init__(resource) - self._botocore_session = botocore_session - - def document_resource(self, section): - self._add_title(section) - self._add_intro(section) - overview_section = section.add_new_section('member-overview') - self._add_identifiers(section) - self._add_attributes(section) - self._add_references(section) - self._add_actions(section) - self._add_sub_resources(section) - self._add_collections(section) - self._add_waiters(section) - self._add_overview_of_members(overview_section) - - def _add_title(self, section): - section.style.h2(self._resource_name) - - def _add_intro(self, section): - identifier_names = [] - if self._resource_model.identifiers: - for identifier in self._resource_model.identifiers: - identifier_names.append(identifier.name) - - # Write out the class signature. - class_args = get_identifier_args_for_signature(identifier_names) - section.style.start_sphinx_py_class( - class_name='%s(%s)' % (self.class_name, class_args)) - - # Add as short description about the resource - description_section = section.add_new_section('description') - self._add_description(description_section) - - # Add an example of how to instantiate the resource - example_section = section.add_new_section('example') - self._add_example(example_section, identifier_names) - - # Add the description for the parameters to instantiate the - # resource. - param_section = section.add_new_section('params') - self._add_params_description(param_section, identifier_names) - - def _add_description(self, section): - official_service_name = get_official_service_name( - self._service_model) - section.write( - 'A resource representing an %s %s' % ( - official_service_name, self._resource_name)) - - def _add_example(self, section, identifier_names): - section.style.start_codeblock() - section.style.new_line() - section.write('import boto3') - section.style.new_line() - section.style.new_line() - section.write( - '%s = boto3.resource(\'%s\')' % ( - self._service_name, self._service_name) - ) - section.style.new_line() - example_values = get_identifier_values_for_example(identifier_names) - section.write( - '%s = %s.%s(%s)' % ( - xform_name(self._resource_name), self._service_name, - self._resource_name, example_values)) - section.style.end_codeblock() - - def _add_params_description(self, section, identifier_names): - for identifier_name in identifier_names: - description = get_identifier_description( - self._resource_name, identifier_name) - section.write(':type %s: string' % identifier_name) - section.style.new_line() - section.write(':param %s: %s' % ( - identifier_name, description)) - section.style.new_line() - - def _add_overview_of_members(self, section): - for resource_member_type in self.member_map: - section.style.new_line() - section.write('These are the resource\'s available %s:' % ( - resource_member_type)) - section.style.new_line() - for member in self.member_map[resource_member_type]: - if resource_member_type in ['identifiers', 'attributes', - 'references', 'collections']: - section.style.li(':py:attr:`%s`' % member) - else: - section.style.li(':py:meth:`%s()`' % member) - - def _add_identifiers(self, section): - identifiers = self._resource.meta.resource_model.identifiers - section = section.add_new_section('identifiers') - member_list = [] - if identifiers: - self.member_map['identifiers'] = member_list - add_resource_type_overview( - section=section, - resource_type='Identifiers', - description=( - 'Identifiers are properties of a resource that are ' - 'set upon instantation of the resource.'), - intro_link='identifiers_attributes_intro') - for identifier in identifiers: - identifier_section = section.add_new_section(identifier.name) - member_list.append(identifier.name) - document_identifier( - section=identifier_section, - resource_name=self._resource_name, - identifier_model=identifier - ) - - def _add_attributes(self, section): - service_model = self._resource.meta.client.meta.service_model - attributes = {} - if self._resource.meta.resource_model.shape: - shape = service_model.shape_for( - self._resource.meta.resource_model.shape) - attributes = self._resource.meta.resource_model.get_attributes( - shape) - section = section.add_new_section('attributes') - attribute_list = [] - if attributes: - add_resource_type_overview( - section=section, - resource_type='Attributes', - description=( - 'Attributes provide access' - ' to the properties of a resource. Attributes are lazy-' - 'loaded the first time one is accessed via the' - ' :py:meth:`load` method.'), - intro_link='identifiers_attributes_intro') - self.member_map['attributes'] = attribute_list - for attr_name in sorted(attributes): - _, attr_shape = attributes[attr_name] - attribute_section = section.add_new_section(attr_name) - attribute_list.append(attr_name) - document_attribute( - section=attribute_section, - service_name=self._service_name, - resource_name=self._resource_name, - attr_name=attr_name, - event_emitter=self._resource.meta.client.meta.events, - attr_model=attr_shape - ) - - def _add_references(self, section): - section = section.add_new_section('references') - references = self._resource.meta.resource_model.references - reference_list = [] - if references: - add_resource_type_overview( - section=section, - resource_type='References', - description=( - 'References are related resource instances that have ' - 'a belongs-to relationship.'), - intro_link='references_intro') - self.member_map['references'] = reference_list - for reference in references: - reference_section = section.add_new_section(reference.name) - reference_list.append(reference.name) - document_reference( - section=reference_section, - reference_model=reference - ) - - def _add_actions(self, section): - section = section.add_new_section('actions') - actions = self._resource.meta.resource_model.actions - if actions: - documenter = ActionDocumenter(self._resource) - documenter.member_map = self.member_map - documenter.document_actions(section) - - def _add_sub_resources(self, section): - section = section.add_new_section('sub-resources') - sub_resources = self._resource.meta.resource_model.subresources - if sub_resources: - documenter = SubResourceDocumenter(self._resource) - documenter.member_map = self.member_map - documenter.document_sub_resources(section) - - def _add_collections(self, section): - section = section.add_new_section('collections') - collections = self._resource.meta.resource_model.collections - if collections: - documenter = CollectionDocumenter(self._resource) - documenter.member_map = self.member_map - documenter.document_collections(section) - - def _add_waiters(self, section): - section = section.add_new_section('waiters') - waiters = self._resource.meta.resource_model.waiters - if waiters: - service_waiter_model = self._botocore_session.get_waiter_model( - self._service_name) - documenter = WaiterResourceDocumenter( - self._resource, service_waiter_model) - documenter.member_map = self.member_map - documenter.document_resource_waiters(section) - - -class ServiceResourceDocumenter(ResourceDocumenter): - @property - def class_name(self): - return '%s.ServiceResource' % self._service_docs_name - - def _add_title(self, section): - section.style.h2('Service Resource') - - def _add_description(self, section): - official_service_name = get_official_service_name( - self._service_model) - section.write( - 'A resource representing %s' % official_service_name) - - def _add_example(self, section, identifier_names): - section.style.start_codeblock() - section.style.new_line() - section.write('import boto3') - section.style.new_line() - section.style.new_line() - section.write( - '%s = boto3.resource(\'%s\')' % ( - self._service_name, self._service_name)) - section.style.end_codeblock() diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/service.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/service.py deleted file mode 100644 index 9c0fbbe0..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/service.py +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import os - -import boto3 -from botocore.exceptions import DataNotFoundError -from botocore.docs.service import ServiceDocumenter as BaseServiceDocumenter -from botocore.docs.bcdoc.restdoc import DocumentStructure - -from boto3.utils import ServiceContext -from boto3.docs.client import Boto3ClientDocumenter -from boto3.docs.resource import ResourceDocumenter -from boto3.docs.resource import ServiceResourceDocumenter - - -class ServiceDocumenter(BaseServiceDocumenter): - # The path used to find examples - EXAMPLE_PATH = os.path.join(os.path.dirname(boto3.__file__), 'examples') - - def __init__(self, service_name, session): - self._service_name = service_name - self._boto3_session = session - # I know that this is an internal attribute, but the botocore session - # is needed to load the paginator and waiter models. - self._session = session._session - self._client = self._boto3_session.client(service_name) - self._service_resource = None - if self._service_name in self._boto3_session.get_available_resources(): - self._service_resource = self._boto3_session.resource(service_name) - self.sections = [ - 'title', - 'table-of-contents', - 'client', - 'paginators', - 'waiters', - 'service-resource', - 'resources', - 'examples' - ] - - def document_service(self): - """Documents an entire service. - - :returns: The reStructured text of the documented service. - """ - doc_structure = DocumentStructure( - self._service_name, section_names=self.sections, - target='html') - self.title(doc_structure.get_section('title')) - self.table_of_contents(doc_structure.get_section('table-of-contents')) - - self.client_api(doc_structure.get_section('client')) - self.paginator_api(doc_structure.get_section('paginators')) - self.waiter_api(doc_structure.get_section('waiters')) - if self._service_resource: - self._document_service_resource( - doc_structure.get_section('service-resource')) - self._document_resources(doc_structure.get_section('resources')) - self._document_examples(doc_structure.get_section('examples')) - return doc_structure.flush_structure() - - def client_api(self, section): - examples = None - try: - examples = self.get_examples(self._service_name) - except DataNotFoundError: - pass - - Boto3ClientDocumenter(self._client, examples).document_client(section) - - def _document_service_resource(self, section): - ServiceResourceDocumenter( - self._service_resource, self._session).document_resource( - section) - - def _document_resources(self, section): - temp_identifier_value = 'foo' - loader = self._session.get_component('data_loader') - json_resource_model = loader.load_service_model( - self._service_name, 'resources-1') - service_model = self._service_resource.meta.client.meta.service_model - for resource_name in json_resource_model['resources']: - resource_model = json_resource_model['resources'][resource_name] - resource_cls = self._boto3_session.resource_factory.\ - load_from_definition( - resource_name=resource_name, - single_resource_json_definition=resource_model, - service_context=ServiceContext( - service_name=self._service_name, - resource_json_definitions=json_resource_model[ - 'resources'], - service_model=service_model, - service_waiter_model=None - ) - ) - identifiers = resource_cls.meta.resource_model.identifiers - args = [] - for _ in identifiers: - args.append(temp_identifier_value) - resource = resource_cls(*args, client=self._client) - ResourceDocumenter( - resource, self._session).document_resource( - section.add_new_section(resource.meta.resource_model.name)) - - def _get_example_file(self): - return os.path.realpath( - os.path.join(self.EXAMPLE_PATH, - self._service_name + '.rst')) - - def _document_examples(self, section): - examples_file = self._get_example_file() - if os.path.isfile(examples_file): - section.style.h2('Examples') - section.style.new_line() - section.write(".. contents::\n :local:\n :depth: 1") - section.style.new_line() - section.style.new_line() - with open(examples_file, 'r') as f: - section.write(f.read()) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/subresource.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/subresource.py deleted file mode 100644 index 72416067..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/subresource.py +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.utils import get_service_module_name - -from boto3.docs.base import BaseDocumenter -from boto3.docs.utils import get_identifier_args_for_signature -from boto3.docs.utils import get_identifier_values_for_example -from boto3.docs.utils import get_identifier_description -from boto3.docs.utils import add_resource_type_overview - - -class SubResourceDocumenter(BaseDocumenter): - def document_sub_resources(self, section): - add_resource_type_overview( - section=section, - resource_type='Sub-resources', - description=( - 'Sub-resources are methods that create a new instance of a' - ' child resource. This resource\'s identifiers get passed' - ' along to the child.'), - intro_link='subresources_intro') - sub_resources = sorted( - self._resource.meta.resource_model.subresources, - key=lambda sub_resource: sub_resource.name - ) - sub_resources_list = [] - self.member_map['sub-resources'] = sub_resources_list - for sub_resource in sub_resources: - sub_resource_section = section.add_new_section(sub_resource.name) - sub_resources_list.append(sub_resource.name) - document_sub_resource( - section=sub_resource_section, - resource_name=self._resource_name, - sub_resource_model=sub_resource, - service_model=self._service_model - ) - - -def document_sub_resource(section, resource_name, sub_resource_model, - service_model, include_signature=True): - """Documents a resource action - - :param section: The section to write to - - :param resource_name: The name of the resource - - :param sub_resource_model: The model of the subresource - - :param service_model: The model of the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - identifiers_needed = [] - for identifier in sub_resource_model.resource.identifiers: - if identifier.source == 'input': - identifiers_needed.append(xform_name(identifier.target)) - - if include_signature: - signature_args = get_identifier_args_for_signature(identifiers_needed) - section.style.start_sphinx_py_method( - sub_resource_model.name, signature_args) - - method_intro_section = section.add_new_section( - 'method-intro') - description = 'Creates a %s resource.' % sub_resource_model.resource.type - method_intro_section.include_doc_string(description) - example_section = section.add_new_section('example') - example_values = get_identifier_values_for_example(identifiers_needed) - example_resource_name = xform_name(resource_name) - if service_model.service_name == resource_name: - example_resource_name = resource_name - example = '%s = %s.%s(%s)' % ( - xform_name(sub_resource_model.resource.type), - example_resource_name, - sub_resource_model.name, example_values - ) - example_section.style.start_codeblock() - example_section.write(example) - example_section.style.end_codeblock() - - param_section = section.add_new_section('params') - for identifier in identifiers_needed: - description = get_identifier_description( - sub_resource_model.name, identifier) - param_section.write(':type %s: string' % identifier) - param_section.style.new_line() - param_section.write(':param %s: %s' % ( - identifier, description)) - param_section.style.new_line() - - return_section = section.add_new_section('return') - return_section.style.new_line() - return_section.write( - ':rtype: :py:class:`%s.%s`' % ( - get_service_module_name(service_model), - sub_resource_model.resource.type)) - return_section.style.new_line() - return_section.write( - ':returns: A %s resource' % sub_resource_model.resource.type) - return_section.style.new_line() diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/utils.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/utils.py deleted file mode 100644 index 8c96a121..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/utils.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import inspect - -import jmespath - -from botocore.compat import six - - -def get_resource_ignore_params(params): - """Helper method to determine which parameters to ignore for actions - - :returns: A list of the parameter names that does not need to be - included in a resource's method call for documentation purposes. - """ - ignore_params = [] - for param in params: - result = jmespath.compile(param.target) - current = result.parsed - # Use JMESPath to find the left most element in the target expression - # which will be the parameter to ignore in the action call. - while current['children']: - current = current['children'][0] - # Make sure the parameter we are about to ignore is a field. - # If it is not, we should ignore the result to avoid false positives. - if current['type'] == 'field': - ignore_params.append(current['value']) - return ignore_params - - -def is_resource_action(action_handle): - if six.PY3: - return inspect.isfunction(action_handle) - else: - return inspect.ismethod(action_handle) - - -def get_resource_public_actions(resource_class): - resource_class_members = inspect.getmembers(resource_class) - resource_methods = {} - for name, member in resource_class_members: - if not name.startswith('_'): - if not name[0].isupper(): - if not name.startswith('wait_until'): - if is_resource_action(member): - resource_methods[name] = member - return resource_methods - - -def get_identifier_values_for_example(identifier_names): - example_values = ['\'%s\'' % identifier for identifier in identifier_names] - return ','.join(example_values) - - -def get_identifier_args_for_signature(identifier_names): - return ','.join(identifier_names) - - -def get_identifier_description(resource_name, identifier_name): - return "The %s's %s identifier. This **must** be set." % ( - resource_name, identifier_name) - - -def add_resource_type_overview(section, resource_type, description, - intro_link=None): - section.style.new_line() - section.write('.. rst-class:: admonition-title') - section.style.new_line() - section.style.new_line() - section.write(resource_type) - section.style.new_line() - section.style.new_line() - section.write(description) - section.style.new_line() - if intro_link is not None: - section.write('For more information about %s refer to the ' - ':ref:`Resources Introduction Guide<%s>`.' % ( - resource_type.lower(), intro_link)) - section.style.new_line() - - -class DocumentModifiedShape(object): - def __init__(self, shape_name, new_type, new_description, - new_example_value): - self._shape_name = shape_name - self._new_type = new_type - self._new_description = new_description - self._new_example_value = new_example_value - - def replace_documentation_for_matching_shape(self, event_name, section, - **kwargs): - if self._shape_name == section.context.get('shape'): - self._replace_documentation(event_name, section) - for section_name in section.available_sections: - sub_section = section.get_section(section_name) - if self._shape_name == sub_section.context.get('shape'): - self._replace_documentation(event_name, sub_section) - else: - self.replace_documentation_for_matching_shape( - event_name, sub_section) - - def _replace_documentation(self, event_name, section): - if event_name.startswith('docs.request-example') or \ - event_name.startswith('docs.response-example'): - section.remove_all_sections() - section.clear_text() - section.write(self._new_example_value) - - if event_name.startswith('docs.request-params') or \ - event_name.startswith('docs.response-params'): - for section_name in section.available_sections: - # Delete any extra members as a new shape is being - # used. - if section_name not in ['param-name', 'param-documentation', - 'end-structure', 'param-type', - 'end-param']: - section.delete_section(section_name) - - # Update the documentation - description_section = section.get_section('param-documentation') - description_section.clear_text() - description_section.write(self._new_description) - - # Update the param type - type_section = section.get_section('param-type') - if type_section.getvalue().decode('utf-8').startswith(':type'): - type_section.clear_text() - type_section.write(':type %s: %s' % ( - section.name, self._new_type)) - else: - type_section.clear_text() - type_section.style.italics('(%s) -- ' % self._new_type) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/waiter.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/waiter.py deleted file mode 100644 index da7e7764..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/docs/waiter.py +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.utils import get_service_module_name -from botocore.docs.method import document_model_driven_method - -from boto3.docs.base import BaseDocumenter -from boto3.docs.utils import get_resource_ignore_params -from boto3.docs.utils import add_resource_type_overview - - -class WaiterResourceDocumenter(BaseDocumenter): - def __init__(self, resource, service_waiter_model): - super(WaiterResourceDocumenter, self).__init__(resource) - self._service_waiter_model = service_waiter_model - - def document_resource_waiters(self, section): - waiters = self._resource.meta.resource_model.waiters - add_resource_type_overview( - section=section, - resource_type='Waiters', - description=( - 'Waiters provide an interface to wait for a resource' - ' to reach a specific state.'), - intro_link='waiters_intro') - waiter_list = [] - self.member_map['waiters'] = waiter_list - for waiter in waiters: - waiter_section = section.add_new_section(waiter.name) - waiter_list.append(waiter.name) - document_resource_waiter( - section=waiter_section, - resource_name=self._resource_name, - event_emitter=self._resource.meta.client.meta.events, - service_model=self._service_model, - resource_waiter_model=waiter, - service_waiter_model=self._service_waiter_model - ) - - -def document_resource_waiter(section, resource_name, event_emitter, - service_model, resource_waiter_model, - service_waiter_model, include_signature=True): - waiter_model = service_waiter_model.get_waiter( - resource_waiter_model.waiter_name) - operation_model = service_model.operation_model( - waiter_model.operation) - - ignore_params = get_resource_ignore_params(resource_waiter_model.params) - service_module_name = get_service_module_name(service_model) - description = ( - 'Waits until this %s is %s. This method calls ' - ':py:meth:`%s.Waiter.%s.wait` which polls. ' - ':py:meth:`%s.Client.%s` every %s seconds until ' - 'a successful state is reached. An error is returned ' - 'after %s failed checks.' % ( - resource_name, ' '.join(resource_waiter_model.name.split('_')[2:]), - service_module_name, - xform_name(resource_waiter_model.waiter_name), - service_module_name, - xform_name(waiter_model.operation), - waiter_model.delay, waiter_model.max_attempts)) - example_prefix = '%s.%s' % ( - xform_name(resource_name), resource_waiter_model.name) - document_model_driven_method( - section=section, method_name=resource_waiter_model.name, - operation_model=operation_model, - event_emitter=event_emitter, - example_prefix=example_prefix, - method_description=description, - exclude_input=ignore_params, - include_signature=include_signature - ) - if 'return' in section.available_sections: - # Waiters do not return anything so we should remove - # any sections that may document the underlying return - # value of the client method. - return_section = section.get_section('return') - return_section.clear_text() - return_section.remove_all_sections() - return_section.write(':returns: None') diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/__init__.py deleted file mode 100644 index c89416d7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/conditions.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/conditions.py deleted file mode 100644 index 5f61f7f2..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/conditions.py +++ /dev/null @@ -1,428 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from collections import namedtuple -import re - -from boto3.exceptions import DynamoDBOperationNotSupportedError -from boto3.exceptions import DynamoDBNeedsConditionError -from boto3.exceptions import DynamoDBNeedsKeyConditionError - - -ATTR_NAME_REGEX = re.compile(r'[^.\[\]]+(?![^\[]*\])') - - -class ConditionBase(object): - - expression_format = '' - expression_operator = '' - has_grouped_values = False - - def __init__(self, *values): - self._values = values - - def __and__(self, other): - if not isinstance(other, ConditionBase): - raise DynamoDBOperationNotSupportedError('AND', other) - return And(self, other) - - def __or__(self, other): - if not isinstance(other, ConditionBase): - raise DynamoDBOperationNotSupportedError('OR', other) - return Or(self, other) - - def __invert__(self): - return Not(self) - - def get_expression(self): - return {'format': self.expression_format, - 'operator': self.expression_operator, - 'values': self._values} - - def __eq__(self, other): - if isinstance(other, type(self)): - if self._values == other._values: - return True - return False - - def __ne__(self, other): - return not self.__eq__(other) - - -class AttributeBase(object): - def __init__(self, name): - self.name = name - - def __and__(self, value): - raise DynamoDBOperationNotSupportedError('AND', self) - - def __or__(self, value): - raise DynamoDBOperationNotSupportedError('OR', self) - - def __invert__(self): - raise DynamoDBOperationNotSupportedError('NOT', self) - - def eq(self, value): - """Creates a condition where the attribute is equal to the value. - - :param value: The value that the attribute is equal to. - """ - return Equals(self, value) - - def lt(self, value): - """Creates a condition where the attribute is less than the value. - - :param value: The value that the attribute is less than. - """ - return LessThan(self, value) - - def lte(self, value): - """Creates a condition where the attribute is less than or equal to the - value. - - :param value: The value that the attribute is less than or equal to. - """ - return LessThanEquals(self, value) - - def gt(self, value): - """Creates a condition where the attribute is greater than the value. - - :param value: The value that the attribute is greater than. - """ - return GreaterThan(self, value) - - def gte(self, value): - """Creates a condition where the attribute is greater than or equal to - the value. - - :param value: The value that the attribute is greater than or equal to. - """ - return GreaterThanEquals(self, value) - - def begins_with(self, value): - """Creates a condition where the attribute begins with the value. - - :param value: The value that the attribute begins with. - """ - return BeginsWith(self, value) - - def between(self, low_value, high_value): - """Creates a condition where the attribute is greater than or equal - to the low value and less than or equal to the high value. - - :param low_value: The value that the attribute is greater than. - :param high_value: The value that the attribute is less than. - """ - return Between(self, low_value, high_value) - - def __eq__(self, other): - return isinstance(other, type(self)) and self.name == other.name - - def __ne__(self, other): - return not self.__eq__(other) - - -class ConditionAttributeBase(ConditionBase, AttributeBase): - """This base class is for conditions that can have attribute methods. - - One example is the Size condition. To complete a condition, you need - to apply another AttributeBase method like eq(). - """ - def __init__(self, *values): - ConditionBase.__init__(self, *values) - # This is assuming the first value to the condition is the attribute - # in which can be used to generate its attribute base. - AttributeBase.__init__(self, values[0].name) - - def __eq__(self, other): - return ConditionBase.__eq__(self, other) and \ - AttributeBase.__eq__(self, other) - - def __ne__(self, other): - return not self.__eq__(other) - - -class ComparisonCondition(ConditionBase): - expression_format = '{0} {operator} {1}' - - -class Equals(ComparisonCondition): - expression_operator = '=' - - -class NotEquals(ComparisonCondition): - expression_operator = '<>' - - -class LessThan(ComparisonCondition): - expression_operator = '<' - - -class LessThanEquals(ComparisonCondition): - expression_operator = '<=' - - -class GreaterThan(ComparisonCondition): - expression_operator = '>' - - -class GreaterThanEquals(ComparisonCondition): - expression_operator = '>=' - - -class In(ComparisonCondition): - expression_operator = 'IN' - has_grouped_values = True - - -class Between(ConditionBase): - expression_operator = 'BETWEEN' - expression_format = '{0} {operator} {1} AND {2}' - - -class BeginsWith(ConditionBase): - expression_operator = 'begins_with' - expression_format = '{operator}({0}, {1})' - - -class Contains(ConditionBase): - expression_operator = 'contains' - expression_format = '{operator}({0}, {1})' - - -class Size(ConditionAttributeBase): - expression_operator = 'size' - expression_format = '{operator}({0})' - - -class AttributeType(ConditionBase): - expression_operator = 'attribute_type' - expression_format = '{operator}({0}, {1})' - - -class AttributeExists(ConditionBase): - expression_operator = 'attribute_exists' - expression_format = '{operator}({0})' - - -class AttributeNotExists(ConditionBase): - expression_operator = 'attribute_not_exists' - expression_format = '{operator}({0})' - - -class And(ConditionBase): - expression_operator = 'AND' - expression_format = '({0} {operator} {1})' - - -class Or(ConditionBase): - expression_operator = 'OR' - expression_format = '({0} {operator} {1})' - - -class Not(ConditionBase): - expression_operator = 'NOT' - expression_format = '({operator} {0})' - - -class Key(AttributeBase): - pass - - -class Attr(AttributeBase): - """Represents an DynamoDB item's attribute.""" - def ne(self, value): - """Creates a condition where the attribute is not equal to the value - - :param value: The value that the attribute is not equal to. - """ - return NotEquals(self, value) - - def is_in(self, value): - """Creates a condition where the attribute is in the value, - - :type value: list - :param value: The value that the attribute is in. - """ - return In(self, value) - - def exists(self): - """Creates a condition where the attribute exists.""" - return AttributeExists(self) - - def not_exists(self): - """Creates a condition where the attribute does not exist.""" - return AttributeNotExists(self) - - def contains(self, value): - """Creates a condition where the attribute contains the value. - - :param value: The value the attribute contains. - """ - return Contains(self, value) - - def size(self): - """Creates a condition for the attribute size. - - Note another AttributeBase method must be called on the returned - size condition to be a valid DynamoDB condition. - """ - return Size(self) - - def attribute_type(self, value): - """Creates a condition for the attribute type. - - :param value: The type of the attribute. - """ - return AttributeType(self, value) - - -BuiltConditionExpression = namedtuple( - 'BuiltConditionExpression', - ['condition_expression', 'attribute_name_placeholders', - 'attribute_value_placeholders'] -) - - -class ConditionExpressionBuilder(object): - """This class is used to build condition expressions with placeholders""" - def __init__(self): - self._name_count = 0 - self._value_count = 0 - self._name_placeholder = 'n' - self._value_placeholder = 'v' - - def _get_name_placeholder(self): - return '#' + self._name_placeholder + str(self._name_count) - - def _get_value_placeholder(self): - return ':' + self._value_placeholder + str(self._value_count) - - def reset(self): - """Resets the placeholder name and values""" - self._name_count = 0 - self._value_count = 0 - - def build_expression(self, condition, is_key_condition=False): - """Builds the condition expression and the dictionary of placeholders. - - :type condition: ConditionBase - :param condition: A condition to be built into a condition expression - string with any necessary placeholders. - - :type is_key_condition: Boolean - :param is_key_condition: True if the expression is for a - KeyConditionExpression. False otherwise. - - :rtype: (string, dict, dict) - :returns: Will return a string representing the condition with - placeholders inserted where necessary, a dictionary of - placeholders for attribute names, and a dictionary of - placeholders for attribute values. Here is a sample return value: - - ('#n0 = :v0', {'#n0': 'myattribute'}, {':v1': 'myvalue'}) - """ - if not isinstance(condition, ConditionBase): - raise DynamoDBNeedsConditionError(condition) - attribute_name_placeholders = {} - attribute_value_placeholders = {} - condition_expression = self._build_expression( - condition, attribute_name_placeholders, - attribute_value_placeholders, is_key_condition=is_key_condition) - return BuiltConditionExpression( - condition_expression=condition_expression, - attribute_name_placeholders=attribute_name_placeholders, - attribute_value_placeholders=attribute_value_placeholders - ) - - def _build_expression(self, condition, attribute_name_placeholders, - attribute_value_placeholders, is_key_condition): - expression_dict = condition.get_expression() - replaced_values = [] - for value in expression_dict['values']: - # Build the necessary placeholders for that value. - # Placeholders are built for both attribute names and values. - replaced_value = self._build_expression_component( - value, attribute_name_placeholders, - attribute_value_placeholders, condition.has_grouped_values, - is_key_condition) - replaced_values.append(replaced_value) - # Fill out the expression using the operator and the - # values that have been replaced with placeholders. - return expression_dict['format'].format( - *replaced_values, operator=expression_dict['operator']) - - def _build_expression_component(self, value, attribute_name_placeholders, - attribute_value_placeholders, - has_grouped_values, is_key_condition): - # Continue to recurse if the value is a ConditionBase in order - # to extract out all parts of the expression. - if isinstance(value, ConditionBase): - return self._build_expression( - value, attribute_name_placeholders, - attribute_value_placeholders, is_key_condition) - # If it is not a ConditionBase, we can recurse no further. - # So we check if it is an attribute and add placeholders for - # its name - elif isinstance(value, AttributeBase): - if is_key_condition and not isinstance(value, Key): - raise DynamoDBNeedsKeyConditionError( - 'Attribute object %s is of type %s. ' - 'KeyConditionExpression only supports Attribute objects ' - 'of type Key' % (value.name, type(value))) - return self._build_name_placeholder( - value, attribute_name_placeholders) - # If it is anything else, we treat it as a value and thus placeholders - # are needed for the value. - else: - return self._build_value_placeholder( - value, attribute_value_placeholders, has_grouped_values) - - def _build_name_placeholder(self, value, attribute_name_placeholders): - attribute_name = value.name - # Figure out which parts of the attribute name that needs replacement. - attribute_name_parts = ATTR_NAME_REGEX.findall(attribute_name) - - # Add a temporary placeholder for each of these parts. - placeholder_format = ATTR_NAME_REGEX.sub('%s', attribute_name) - str_format_args = [] - for part in attribute_name_parts: - name_placeholder = self._get_name_placeholder() - self._name_count += 1 - str_format_args.append(name_placeholder) - # Add the placeholder and value to dictionary of name placeholders. - attribute_name_placeholders[name_placeholder] = part - # Replace the temporary placeholders with the designated placeholders. - return placeholder_format % tuple(str_format_args) - - def _build_value_placeholder(self, value, attribute_value_placeholders, - has_grouped_values=False): - # If the values are grouped, we need to add a placeholder for - # each element inside of the actual value. - if has_grouped_values: - placeholder_list = [] - for v in value: - value_placeholder = self._get_value_placeholder() - self._value_count += 1 - placeholder_list.append(value_placeholder) - attribute_value_placeholders[value_placeholder] = v - # Assuming the values are grouped by parenthesis. - # IN is the currently the only one that uses this so it maybe - # needed to be changed in future. - return '(' + ', '.join(placeholder_list) + ')' - # Otherwise, treat the value as a single value that needs only - # one placeholder. - else: - value_placeholder = self._get_value_placeholder() - self._value_count += 1 - attribute_value_placeholders[value_placeholder] = value - return value_placeholder diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/table.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/table.py deleted file mode 100644 index 4bd9a98e..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/table.py +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import logging - - -logger = logging.getLogger(__name__) - - -def register_table_methods(base_classes, **kwargs): - base_classes.insert(0, TableResource) - - -# This class can be used to add any additional methods we want -# onto a table resource. Ideally to avoid creating a new -# base class for every method we can just update this -# class instead. Just be sure to move the bulk of the -# actual method implementation to another class. -class TableResource(object): - def __init__(self, *args, **kwargs): - super(TableResource, self).__init__(*args, **kwargs) - - def batch_writer(self, overwrite_by_pkeys=None): - """Create a batch writer object. - - This method creates a context manager for writing - objects to Amazon DynamoDB in batch. - - The batch writer will automatically handle buffering and sending items - in batches. In addition, the batch writer will also automatically - handle any unprocessed items and resend them as needed. All you need - to do is call ``put_item`` for any items you want to add, and - ``delete_item`` for any items you want to delete. - - Example usage:: - - with table.batch_writer() as batch: - for _ in xrange(1000000): - batch.put_item(Item={'HashKey': '...', - 'Otherstuff': '...'}) - # You can also delete_items in a batch. - batch.delete_item(Key={'HashKey': 'SomeHashKey'}) - - :type overwrite_by_pkeys: list(string) - :param overwrite_by_pkeys: De-duplicate request items in buffer - if match new request item on specified primary keys. i.e - ``["partition_key1", "sort_key2", "sort_key3"]`` - - """ - return BatchWriter(self.name, self.meta.client, - overwrite_by_pkeys=overwrite_by_pkeys) - - -class BatchWriter(object): - """Automatically handle batch writes to DynamoDB for a single table.""" - def __init__(self, table_name, client, flush_amount=25, - overwrite_by_pkeys=None): - """ - - :type table_name: str - :param table_name: The name of the table. The class handles - batch writes to a single table. - - :type client: ``botocore.client.Client`` - :param client: A botocore client. Note this client - **must** have the dynamodb customizations applied - to it for transforming AttributeValues into the - wire protocol. What this means in practice is that - you need to use a client that comes from a DynamoDB - resource if you're going to instantiate this class - directly, i.e - ``boto3.resource('dynamodb').Table('foo').meta.client``. - - :type flush_amount: int - :param flush_amount: The number of items to keep in - a local buffer before sending a batch_write_item - request to DynamoDB. - - :type overwrite_by_pkeys: list(string) - :param overwrite_by_pkeys: De-duplicate request items in buffer - if match new request item on specified primary keys. i.e - ``["partition_key1", "sort_key2", "sort_key3"]`` - - """ - self._table_name = table_name - self._client = client - self._items_buffer = [] - self._flush_amount = flush_amount - self._overwrite_by_pkeys = overwrite_by_pkeys - - def put_item(self, Item): - self._add_request_and_process({'PutRequest': {'Item': Item}}) - - def delete_item(self, Key): - self._add_request_and_process({'DeleteRequest': {'Key': Key}}) - - def _add_request_and_process(self, request): - if self._overwrite_by_pkeys: - self._remove_dup_pkeys_request_if_any(request) - self._items_buffer.append(request) - self._flush_if_needed() - - def _remove_dup_pkeys_request_if_any(self, request): - pkey_values_new = self._extract_pkey_values(request) - for item in self._items_buffer: - if self._extract_pkey_values(item) == pkey_values_new: - self._items_buffer.remove(item) - logger.debug("With overwrite_by_pkeys enabled, skipping " - "request:%s", item) - - def _extract_pkey_values(self, request): - if request.get('PutRequest'): - return [request['PutRequest']['Item'][key] - for key in self._overwrite_by_pkeys] - elif request.get('DeleteRequest'): - return [request['DeleteRequest']['Key'][key] - for key in self._overwrite_by_pkeys] - return None - - def _flush_if_needed(self): - if len(self._items_buffer) >= self._flush_amount: - self._flush() - - def _flush(self): - items_to_send = self._items_buffer[:self._flush_amount] - self._items_buffer = self._items_buffer[self._flush_amount:] - response = self._client.batch_write_item( - RequestItems={self._table_name: items_to_send}) - unprocessed_items = response['UnprocessedItems'] - - if unprocessed_items and unprocessed_items[self._table_name]: - # Any unprocessed_items are immediately added to the - # next batch we send. - self._items_buffer.extend(unprocessed_items[self._table_name]) - else: - self._items_buffer = [] - logger.debug("Batch write sent %s, unprocessed: %s", - len(items_to_send), len(self._items_buffer)) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, tb): - # When we exit, we need to keep flushing whatever's left - # until there's nothing left in our items buffer. - while self._items_buffer: - self._flush() diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/transform.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/transform.py deleted file mode 100644 index 6b8002ca..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/transform.py +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import copy -from collections import Mapping, MutableSequence - -from boto3.dynamodb.types import TypeSerializer, TypeDeserializer -from boto3.dynamodb.conditions import ConditionBase -from boto3.dynamodb.conditions import ConditionExpressionBuilder -from boto3.docs.utils import DocumentModifiedShape - - -def register_high_level_interface(base_classes, **kwargs): - base_classes.insert(0, DynamoDBHighLevelResource) - - -def copy_dynamodb_params(params, **kwargs): - return copy.deepcopy(params) - - -class DynamoDBHighLevelResource(object): - def __init__(self, *args, **kwargs): - super(DynamoDBHighLevelResource, self).__init__(*args, **kwargs) - - # Apply handler that creates a copy of the user provided dynamodb - # item such that it can be modified. - self.meta.client.meta.events.register( - 'provide-client-params.dynamodb', - copy_dynamodb_params, - unique_id='dynamodb-create-params-copy' - ) - - self._injector = TransformationInjector() - # Apply the handler that generates condition expressions including - # placeholders. - self.meta.client.meta.events.register( - 'before-parameter-build.dynamodb', - self._injector.inject_condition_expressions, - unique_id='dynamodb-condition-expression') - - # Apply the handler that serializes the request from python - # types to dynamodb types. - self.meta.client.meta.events.register( - 'before-parameter-build.dynamodb', - self._injector.inject_attribute_value_input, - unique_id='dynamodb-attr-value-input') - - # Apply the handler that deserializes the response from dynamodb - # types to python types. - self.meta.client.meta.events.register( - 'after-call.dynamodb', - self._injector.inject_attribute_value_output, - unique_id='dynamodb-attr-value-output') - - # Apply the documentation customizations to account for - # the transformations. - attr_value_shape_docs = DocumentModifiedShape( - 'AttributeValue', - new_type='valid DynamoDB type', - new_description=( - '- The value of the attribute. The valid value types are ' - 'listed in the ' - ':ref:`DynamoDB Reference Guide`.' - ), - new_example_value=( - '\'string\'|123|Binary(b\'bytes\')|True|None|set([\'string\'])' - '|set([123])|set([Binary(b\'bytes\')])|[]|{}') - ) - - key_expression_shape_docs = DocumentModifiedShape( - 'KeyExpression', - new_type=( - 'condition from :py:class:`boto3.dynamodb.conditions.Key` ' - 'method' - ), - new_description=( - 'The condition(s) a key(s) must meet. Valid conditions are ' - 'listed in the ' - ':ref:`DynamoDB Reference Guide`.' - ), - new_example_value='Key(\'mykey\').eq(\'myvalue\')' - ) - - con_expression_shape_docs = DocumentModifiedShape( - 'ConditionExpression', - new_type=( - 'condition from :py:class:`boto3.dynamodb.conditions.Attr` ' - 'method' - ), - new_description=( - 'The condition(s) an attribute(s) must meet. Valid conditions ' - 'are listed in the ' - ':ref:`DynamoDB Reference Guide`.' - ), - new_example_value='Attr(\'myattribute\').eq(\'myvalue\')' - ) - - self.meta.client.meta.events.register( - 'docs.*.dynamodb.*.complete-section', - attr_value_shape_docs.replace_documentation_for_matching_shape, - unique_id='dynamodb-attr-value-docs') - - self.meta.client.meta.events.register( - 'docs.*.dynamodb.*.complete-section', - key_expression_shape_docs.replace_documentation_for_matching_shape, - unique_id='dynamodb-key-expression-docs') - - self.meta.client.meta.events.register( - 'docs.*.dynamodb.*.complete-section', - con_expression_shape_docs.replace_documentation_for_matching_shape, - unique_id='dynamodb-cond-expression-docs') - - -class TransformationInjector(object): - """Injects the transformations into the user provided parameters.""" - def __init__(self, transformer=None, condition_builder=None, - serializer=None, deserializer=None): - self._transformer = transformer - if transformer is None: - self._transformer = ParameterTransformer() - - self._condition_builder = condition_builder - if condition_builder is None: - self._condition_builder = ConditionExpressionBuilder() - - self._serializer = serializer - if serializer is None: - self._serializer = TypeSerializer() - - self._deserializer = deserializer - if deserializer is None: - self._deserializer = TypeDeserializer() - - def inject_condition_expressions(self, params, model, **kwargs): - """Injects the condition expression transformation into the parameters - - This injection includes transformations for ConditionExpression shapes - and KeyExpression shapes. It also handles any placeholder names and - values that are generated when transforming the condition expressions. - """ - self._condition_builder.reset() - generated_names = {} - generated_values = {} - - # Create and apply the Condition Expression transformation. - transformation = ConditionExpressionTransformation( - self._condition_builder, - placeholder_names=generated_names, - placeholder_values=generated_values, - is_key_condition=False - ) - self._transformer.transform( - params, model.input_shape, transformation, - 'ConditionExpression') - - # Create and apply the Key Condition Expression transformation. - transformation = ConditionExpressionTransformation( - self._condition_builder, - placeholder_names=generated_names, - placeholder_values=generated_values, - is_key_condition=True - ) - self._transformer.transform( - params, model.input_shape, transformation, - 'KeyExpression') - - expr_attr_names_input = 'ExpressionAttributeNames' - expr_attr_values_input = 'ExpressionAttributeValues' - - # Now that all of the condition expression transformation are done, - # update the placeholder dictionaries in the request. - if expr_attr_names_input in params: - params[expr_attr_names_input].update(generated_names) - else: - if generated_names: - params[expr_attr_names_input] = generated_names - - if expr_attr_values_input in params: - params[expr_attr_values_input].update(generated_values) - else: - if generated_values: - params[expr_attr_values_input] = generated_values - - def inject_attribute_value_input(self, params, model, **kwargs): - """Injects DynamoDB serialization into parameter input""" - self._transformer.transform( - params, model.input_shape, self._serializer.serialize, - 'AttributeValue') - - def inject_attribute_value_output(self, parsed, model, **kwargs): - """Injects DynamoDB deserialization into responses""" - if model.output_shape is not None: - self._transformer.transform( - parsed, model.output_shape, self._deserializer.deserialize, - 'AttributeValue' - ) - - -class ConditionExpressionTransformation(object): - """Provides a transformation for condition expressions - - The ``ParameterTransformer`` class can call this class directly - to transform the condition expressions in the parameters provided. - """ - def __init__(self, condition_builder, placeholder_names, - placeholder_values, is_key_condition=False): - self._condition_builder = condition_builder - self._placeholder_names = placeholder_names - self._placeholder_values = placeholder_values - self._is_key_condition = is_key_condition - - def __call__(self, value): - if isinstance(value, ConditionBase): - # Create a conditional expression string with placeholders - # for the provided condition. - built_expression = self._condition_builder.build_expression( - value, is_key_condition=self._is_key_condition) - - self._placeholder_names.update( - built_expression.attribute_name_placeholders) - self._placeholder_values.update( - built_expression.attribute_value_placeholders) - - return built_expression.condition_expression - # Use the user provided value if it is not a ConditonBase object. - return value - - -class ParameterTransformer(object): - """Transforms the input to and output from botocore based on shape""" - - def transform(self, params, model, transformation, target_shape): - """Transforms the dynamodb input to or output from botocore - - It applies a specified transformation whenever a specific shape name - is encountered while traversing the parameters in the dictionary. - - :param params: The parameters structure to transform. - :param model: The operation model. - :param transformation: The function to apply the parameter - :param target_shape: The name of the shape to apply the - transformation to - """ - self._transform_parameters( - model, params, transformation, target_shape) - - def _transform_parameters(self, model, params, transformation, - target_shape): - type_name = model.type_name - if type_name in ['structure', 'map', 'list']: - getattr(self, '_transform_%s' % type_name)( - model, params, transformation, target_shape) - - def _transform_structure(self, model, params, transformation, - target_shape): - if not isinstance(params, Mapping): - return - for param in params: - if param in model.members: - member_model = model.members[param] - member_shape = member_model.name - if member_shape == target_shape: - params[param] = transformation(params[param]) - else: - self._transform_parameters( - member_model, params[param], transformation, - target_shape) - - def _transform_map(self, model, params, transformation, target_shape): - if not isinstance(params, Mapping): - return - value_model = model.value - value_shape = value_model.name - for key, value in params.items(): - if value_shape == target_shape: - params[key] = transformation(value) - else: - self._transform_parameters( - value_model, params[key], transformation, target_shape) - - def _transform_list(self, model, params, transformation, target_shape): - if not isinstance(params, MutableSequence): - return - member_model = model.member - member_shape = member_model.name - for i, item in enumerate(params): - if member_shape == target_shape: - params[i] = transformation(item) - else: - self._transform_parameters( - member_model, params[i], transformation, target_shape) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/types.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/types.py deleted file mode 100644 index 56ee1f8e..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/dynamodb/types.py +++ /dev/null @@ -1,297 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from collections import Mapping, Set -from decimal import Decimal, Context, Clamped -from decimal import Overflow, Inexact, Underflow, Rounded - -from botocore.compat import six - - -STRING = 'S' -NUMBER = 'N' -BINARY = 'B' -STRING_SET = 'SS' -NUMBER_SET = 'NS' -BINARY_SET = 'BS' -NULL = 'NULL' -BOOLEAN = 'BOOL' -MAP = 'M' -LIST = 'L' - - -DYNAMODB_CONTEXT = Context( - Emin=-128, Emax=126, prec=38, - traps=[Clamped, Overflow, Inexact, Rounded, Underflow]) - - -BINARY_TYPES = (bytearray, six.binary_type) - - -class Binary(object): - """A class for representing Binary in dynamodb - - Especially for Python 2, use this class to explicitly specify - binary data for item in DynamoDB. It is essentially a wrapper around - binary. Unicode and Python 3 string types are not allowed. - """ - def __init__(self, value): - if not isinstance(value, BINARY_TYPES): - raise TypeError('Value must be of the following types: %s.' % - ', '.join([str(t) for t in BINARY_TYPES])) - self.value = value - - def __eq__(self, other): - if isinstance(other, Binary): - return self.value == other.value - return self.value == other - - def __ne__(self, other): - return not self.__eq__(other) - - def __repr__(self): - return 'Binary(%r)' % self.value - - def __str__(self): - return self.value - - def __hash__(self): - return hash(self.value) - - -class TypeSerializer(object): - """This class serializes Python data types to DynamoDB types.""" - def serialize(self, value): - """The method to serialize the Python data types. - - :param value: A python value to be serialized to DynamoDB. Here are - the various conversions: - - Python DynamoDB - ------ -------- - None {'NULL': True} - True/False {'BOOL': True/False} - int/Decimal {'N': str(value)} - string {'S': string} - Binary/bytearray/bytes (py3 only) {'B': bytes} - set([int/Decimal]) {'NS': [str(value)]} - set([string]) {'SS': [string]) - set([Binary/bytearray/bytes]) {'BS': [bytes]} - list {'L': list} - dict {'M': dict} - - For types that involve numbers, it is recommended that ``Decimal`` - objects are used to be able to round-trip the Python type. - For types that involve binary, it is recommended that ``Binary`` - objects are used to be able to round-trip the Python type. - - :rtype: dict - :returns: A dictionary that represents a dynamoDB data type. These - dictionaries can be directly passed to botocore methods. - """ - dynamodb_type = self._get_dynamodb_type(value) - serializer = getattr(self, '_serialize_%s' % dynamodb_type.lower()) - return {dynamodb_type: serializer(value)} - - def _get_dynamodb_type(self, value): - dynamodb_type = None - - if self._is_null(value): - dynamodb_type = NULL - - elif self._is_boolean(value): - dynamodb_type = BOOLEAN - - elif self._is_number(value): - dynamodb_type = NUMBER - - elif self._is_string(value): - dynamodb_type = STRING - - elif self._is_binary(value): - dynamodb_type = BINARY - - elif self._is_type_set(value, self._is_number): - dynamodb_type = NUMBER_SET - - elif self._is_type_set(value, self._is_string): - dynamodb_type = STRING_SET - - elif self._is_type_set(value, self._is_binary): - dynamodb_type = BINARY_SET - - elif self._is_map(value): - dynamodb_type = MAP - - elif self._is_list(value): - dynamodb_type = LIST - - else: - msg = 'Unsupported type "%s" for value "%s"' % (type(value), value) - raise TypeError(msg) - - return dynamodb_type - - def _is_null(self, value): - if value is None: - return True - return False - - def _is_boolean(self, value): - if isinstance(value, bool): - return True - return False - - def _is_number(self, value): - if isinstance(value, (six.integer_types, Decimal)): - return True - elif isinstance(value, float): - raise TypeError( - 'Float types are not supported. Use Decimal types instead.') - return False - - def _is_string(self, value): - if isinstance(value, six.string_types): - return True - return False - - def _is_binary(self, value): - if isinstance(value, Binary): - return True - elif isinstance(value, bytearray): - return True - elif six.PY3 and isinstance(value, six.binary_type): - return True - return False - - def _is_set(self, value): - if isinstance(value, Set): - return True - return False - - def _is_type_set(self, value, type_validator): - if self._is_set(value): - if False not in map(type_validator, value): - return True - return False - - def _is_map(self, value): - if isinstance(value, Mapping): - return True - return False - - def _is_list(self, value): - if isinstance(value, list): - return True - return False - - def _serialize_null(self, value): - return True - - def _serialize_bool(self, value): - return value - - def _serialize_n(self, value): - number = str(DYNAMODB_CONTEXT.create_decimal(value)) - if number in ['Infinity', 'NaN']: - raise TypeError('Infinity and NaN not supported') - return number - - def _serialize_s(self, value): - return value - - def _serialize_b(self, value): - if isinstance(value, Binary): - value = value.value - return value - - def _serialize_ss(self, value): - return [self._serialize_s(s) for s in value] - - def _serialize_ns(self, value): - return [self._serialize_n(n) for n in value] - - def _serialize_bs(self, value): - return [self._serialize_b(b) for b in value] - - def _serialize_l(self, value): - return [self.serialize(v) for v in value] - - def _serialize_m(self, value): - return dict([(k, self.serialize(v)) for k, v in value.items()]) - - -class TypeDeserializer(object): - """This class deserializes DynamoDB types to Python types.""" - def deserialize(self, value): - """The method to deserialize the DynamoDB data types. - - :param value: A DynamoDB value to be deserialized to a pythonic value. - Here are the various conversions: - - DynamoDB Python - -------- ------ - {'NULL': True} None - {'BOOL': True/False} True/False - {'N': str(value)} Decimal(str(value)) - {'S': string} string - {'B': bytes} Binary(bytes) - {'NS': [str(value)]} set([Decimal(str(value))]) - {'SS': [string]} set([string]) - {'BS': [bytes]} set([bytes]) - {'L': list} list - {'M': dict} dict - - :returns: The pythonic value of the DynamoDB type. - """ - - if not value: - raise TypeError('Value must be a nonempty dictionary whose key ' - 'is a valid dynamodb type.') - dynamodb_type = list(value.keys())[0] - try: - deserializer = getattr( - self, '_deserialize_%s' % dynamodb_type.lower()) - except AttributeError: - raise TypeError( - 'Dynamodb type %s is not supported' % dynamodb_type) - return deserializer(value[dynamodb_type]) - - def _deserialize_null(self, value): - return None - - def _deserialize_bool(self, value): - return value - - def _deserialize_n(self, value): - return DYNAMODB_CONTEXT.create_decimal(value) - - def _deserialize_s(self, value): - return value - - def _deserialize_b(self, value): - return Binary(value) - - def _deserialize_ns(self, value): - return set(map(self._deserialize_n, value)) - - def _deserialize_ss(self, value): - return set(map(self._deserialize_s, value)) - - def _deserialize_bs(self, value): - return set(map(self._deserialize_b, value)) - - def _deserialize_l(self, value): - return [self.deserialize(v) for v in value] - - def _deserialize_m(self, value): - return dict([(k, self.deserialize(v)) for k, v in value.items()]) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/__init__.py deleted file mode 100644 index c89416d7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/createtags.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/createtags.py deleted file mode 100644 index 14e0971b..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/createtags.py +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - - -def inject_create_tags(event_name, class_attributes, **kwargs): - """This injects a custom create_tags method onto the ec2 service resource - - This is needed because the resource model is not able to express - creating multiple tag resources based on the fact you can apply a set - of tags to multiple ec2 resources. - """ - class_attributes['create_tags'] = create_tags - - -def create_tags(self, **kwargs): - # Call the client method - self.meta.client.create_tags(**kwargs) - resources = kwargs.get('Resources', []) - tags = kwargs.get('Tags', []) - tag_resources = [] - - # Generate all of the tag resources that just were created with the - # preceding client call. - for resource in resources: - for tag in tags: - # Add each tag from the tag set for each resource to the list - # that is returned by the method. - tag_resource = self.Tag(resource, tag['Key'], tag['Value']) - tag_resources.append(tag_resource) - return tag_resources diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/deletetags.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/deletetags.py deleted file mode 100644 index 0600b7c5..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/ec2/deletetags.py +++ /dev/null @@ -1,34 +0,0 @@ -# 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 boto3.resources.action import CustomModeledAction - - -def inject_delete_tags(event_emitter, **kwargs): - action_model = { - 'request': { - 'operation': 'DeleteTags', - 'params': [{ - 'target': 'Resources[0]', - 'source': 'identifier', - 'name': 'Id' - }] - } - } - action = CustomModeledAction( - 'delete_tags', action_model, delete_tags, event_emitter) - action.inject(**kwargs) - - -def delete_tags(self, **kwargs): - kwargs['Resources'] = [self.id] - return self.meta.client.delete_tags(**kwargs) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/exceptions.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/exceptions.py deleted file mode 100644 index 65a4a006..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/exceptions.py +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -# All exceptions in this class should subclass from Boto3Error. -import botocore.exceptions - - -# All exceptions should subclass from Boto3Error in this module. -class Boto3Error(Exception): - """Base class for all Boto3 errors.""" - - -class ResourceLoadException(Boto3Error): - pass - - -# NOTE: This doesn't appear to be used anywhere. -# It's probably safe to remove this. -class NoVersionFound(Boto3Error): - pass - - -# We're subclassing from botocore.exceptions.DataNotFoundError -# to keep backwards compatibility with anyone that was catching -# this low level Botocore error before this exception was -# introduced in boto3. -# Same thing for ResourceNotExistsError below. -class UnknownAPIVersionError(Boto3Error, - botocore.exceptions.DataNotFoundError): - def __init__(self, service_name, bad_api_version, - available_api_versions): - msg = ( - "The '%s' resource does not an API version of: %s\n" - "Valid API versions are: %s" - % (service_name, bad_api_version, available_api_versions) - ) - # Not using super because we don't want the DataNotFoundError - # to be called, it has a different __init__ signature. - Boto3Error.__init__(self, msg) - - -class ResourceNotExistsError(Boto3Error, - botocore.exceptions.DataNotFoundError): - """Raised when you attempt to create a resource that does not exist.""" - def __init__(self, service_name, available_services, has_low_level_client): - msg = ( - "The '%s' resource does not exist.\n" - "The available resources are:\n" - " - %s\n" % (service_name, '\n - '.join(available_services)) - ) - if has_low_level_client: - msg += ( - "\nConsider using a boto3.client('%s') instead " - "of a resource for '%s'" % (service_name, service_name)) - # Not using super because we don't want the DataNotFoundError - # to be called, it has a different __init__ signature. - Boto3Error.__init__(self, msg) - - -class RetriesExceededError(Boto3Error): - def __init__(self, last_exception, msg='Max Retries Exceeded'): - super(RetriesExceededError, self).__init__(msg) - self.last_exception = last_exception - - -class S3TransferFailedError(Boto3Error): - pass - - -class S3UploadFailedError(Boto3Error): - pass - - -class DynamoDBOperationNotSupportedError(Boto3Error): - """Raised for operantions that are not supported for an operand""" - def __init__(self, operation, value): - msg = ( - '%s operation cannot be applied to value %s of type %s directly. ' - 'Must use AttributeBase object methods (i.e. Attr().eq()). to ' - 'generate ConditionBase instances first.' % - (operation, value, type(value))) - Exception.__init__(self, msg) - -# FIXME: Backward compatibility -DynanmoDBOperationNotSupportedError = DynamoDBOperationNotSupportedError - - -class DynamoDBNeedsConditionError(Boto3Error): - """Raised when input is not a condition""" - def __init__(self, value): - msg = ( - 'Expecting a ConditionBase object. Got %s of type %s. ' - 'Use AttributeBase object methods (i.e. Attr().eq()). to ' - 'generate ConditionBase instances.' % (value, type(value))) - Exception.__init__(self, msg) - - -class DynamoDBNeedsKeyConditionError(Boto3Error): - pass diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/action.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/action.py deleted file mode 100644 index 52dea55d..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/action.py +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import logging - -from botocore import xform_name - -from .params import create_request_parameters -from .response import RawHandler, ResourceHandler -from .model import Action - -from boto3.docs.docstring import ActionDocstring -from boto3.utils import inject_attribute - - -logger = logging.getLogger(__name__) - - -class ServiceAction(object): - """ - A class representing a callable action on a resource, for example - ``sqs.get_queue_by_name(...)`` or ``s3.Bucket('foo').delete()``. - The action may construct parameters from existing resource identifiers - and may return either a raw response or a new resource instance. - - :type action_model: :py:class`~boto3.resources.model.Action` - :param action_model: The action model. - - :type factory: ResourceFactory - :param factory: The factory that created the resource class to which - this action is attached. - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - """ - def __init__(self, action_model, factory=None, service_context=None): - self._action_model = action_model - - # In the simplest case we just return the response, but if a - # resource is defined, then we must create these before returning. - resource_response_model = action_model.resource - if resource_response_model: - self._response_handler = ResourceHandler( - search_path=resource_response_model.path, - factory=factory, resource_model=resource_response_model, - service_context=service_context, - operation_name=action_model.request.operation - ) - else: - self._response_handler = RawHandler(action_model.path) - - def __call__(self, parent, *args, **kwargs): - """ - Perform the action's request operation after building operation - parameters and build any defined resources from the response. - - :type parent: :py:class:`~boto3.resources.base.ServiceResource` - :param parent: The resource instance to which this action is attached. - :rtype: dict or ServiceResource or list(ServiceResource) - :return: The response, either as a raw dict or resource instance(s). - """ - operation_name = xform_name(self._action_model.request.operation) - - # First, build predefined params and then update with the - # user-supplied kwargs, which allows overriding the pre-built - # params if needed. - params = create_request_parameters(parent, self._action_model.request) - params.update(kwargs) - - logger.debug('Calling %s:%s with %r', parent.meta.service_name, - operation_name, params) - - response = getattr(parent.meta.client, operation_name)(**params) - - logger.debug('Response: %r', response) - - return self._response_handler(parent, params, response) - - -class BatchAction(ServiceAction): - """ - An action which operates on a batch of items in a collection, typically - a single page of results from the collection's underlying service - operation call. For example, this allows you to delete up to 999 - S3 objects in a single operation rather than calling ``.delete()`` on - each one individually. - - :type action_model: :py:class`~boto3.resources.model.Action` - :param action_model: The action model. - - :type factory: ResourceFactory - :param factory: The factory that created the resource class to which - this action is attached. - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - """ - def __call__(self, parent, *args, **kwargs): - """ - Perform the batch action's operation on every page of results - from the collection. - - :type parent: - :py:class:`~boto3.resources.collection.ResourceCollection` - :param parent: The collection iterator to which this action - is attached. - :rtype: list(dict) - :return: A list of low-level response dicts from each call. - """ - service_name = None - client = None - responses = [] - operation_name = xform_name(self._action_model.request.operation) - - # Unlike the simple action above, a batch action must operate - # on batches (or pages) of items. So we get each page, construct - # the necessary parameters and call the batch operation. - for page in parent.pages(): - params = {} - for index, resource in enumerate(page): - # There is no public interface to get a service name - # or low-level client from a collection, so we get - # these from the first resource in the collection. - if service_name is None: - service_name = resource.meta.service_name - if client is None: - client = resource.meta.client - - create_request_parameters( - resource, self._action_model.request, - params=params, index=index) - - if not params: - # There are no items, no need to make a call. - break - - params.update(kwargs) - - logger.debug('Calling %s:%s with %r', - service_name, operation_name, params) - - response = getattr(client, operation_name)(**params) - - logger.debug('Response: %r', response) - - responses.append( - self._response_handler(parent, params, response)) - - return responses - - -class WaiterAction(object): - """ - A class representing a callable waiter action on a resource, for example - ``s3.Bucket('foo').wait_until_bucket_exists()``. - The waiter action may construct parameters from existing resource - identifiers. - - :type waiter_model: :py:class`~boto3.resources.model.Waiter` - :param waiter_model: The action waiter. - :type waiter_resource_name: string - :param waiter_resource_name: The name of the waiter action for the - resource. It usually begins with a - ``wait_until_`` - """ - def __init__(self, waiter_model, waiter_resource_name): - self._waiter_model = waiter_model - self._waiter_resource_name = waiter_resource_name - - def __call__(self, parent, *args, **kwargs): - """ - Perform the wait operation after building operation - parameters. - - :type parent: :py:class:`~boto3.resources.base.ServiceResource` - :param parent: The resource instance to which this action is attached. - """ - client_waiter_name = xform_name(self._waiter_model.waiter_name) - - # First, build predefined params and then update with the - # user-supplied kwargs, which allows overriding the pre-built - # params if needed. - params = create_request_parameters(parent, self._waiter_model) - params.update(kwargs) - - logger.debug('Calling %s:%s with %r', - parent.meta.service_name, - self._waiter_resource_name, params) - - client = parent.meta.client - waiter = client.get_waiter(client_waiter_name) - response = waiter.wait(**params) - - logger.debug('Response: %r', response) - - -class CustomModeledAction(object): - """A custom, modeled action to inject into a resource.""" - def __init__(self, action_name, action_model, - function, event_emitter): - """ - :type action_name: str - :param action_name: The name of the action to inject, e.g. - 'delete_tags' - - :type action_model: dict - :param action_model: A JSON definition of the action, as if it were - part of the resource model. - - :type function: function - :param function: The function to perform when the action is called. - The first argument should be 'self', which will be the resource - the function is to be called on. - - :type event_emitter: :py:class:`botocore.hooks.BaseEventHooks` - :param event_emitter: The session event emitter. - """ - self.name = action_name - self.model = action_model - self.function = function - self.emitter = event_emitter - - def inject(self, class_attributes, service_context, event_name, **kwargs): - resource_name = event_name.rsplit(".")[-1] - action = Action(self.name, self.model, {}) - self.function.__name__ = self.name - self.function.__doc__ = ActionDocstring( - resource_name=resource_name, - event_emitter=self.emitter, - action_model=action, - service_model=service_context.service_model, - include_signature=False - ) - inject_attribute(class_attributes, self.name, self.function) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/base.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/base.py deleted file mode 100644 index 4e60c5a7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/base.py +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import logging - -import boto3 - - -logger = logging.getLogger(__name__) - - -class ResourceMeta(object): - """ - An object containing metadata about a resource. - """ - def __init__(self, service_name, identifiers=None, client=None, - data=None, resource_model=None): - #: (``string``) The service name, e.g. 's3' - self.service_name = service_name - - if identifiers is None: - identifiers = [] - #: (``list``) List of identifier names - self.identifiers = identifiers - - #: (:py:class:`~botocore.client.BaseClient`) Low-level Botocore client - self.client = client - #: (``dict``) Loaded resource data attributes - self.data = data - - # The resource model for that resource - self.resource_model = resource_model - - def __repr__(self): - return 'ResourceMeta(\'{0}\', identifiers={1})'.format( - self.service_name, self.identifiers) - - def __eq__(self, other): - # Two metas are equal if their components are all equal - if other.__class__.__name__ != self.__class__.__name__: - return False - - return self.__dict__ == other.__dict__ - - def copy(self): - """ - Create a copy of this metadata object. - """ - params = self.__dict__.copy() - service_name = params.pop('service_name') - return ResourceMeta(service_name, **params) - - -class ServiceResource(object): - """ - A base class for resources. - - :type client: botocore.client - :param client: A low-level Botocore client instance - """ - - meta = None - """ - Stores metadata about this resource instance, such as the - ``service_name``, the low-level ``client`` and any cached ``data`` - from when the instance was hydrated. For example:: - - # Get a low-level client from a resource instance - client = resource.meta.client - response = client.operation(Param='foo') - - # Print the resource instance's service short name - print(resource.meta.service_name) - - See :py:class:`ResourceMeta` for more information. - """ - - def __init__(self, *args, **kwargs): - # Always work on a copy of meta, otherwise we would affect other - # instances of the same subclass. - self.meta = self.meta.copy() - - # Create a default client if none was passed - if kwargs.get('client') is not None: - self.meta.client = kwargs.get('client') - else: - self.meta.client = boto3.client(self.meta.service_name) - - # Allow setting identifiers as positional arguments in the order - # in which they were defined in the ResourceJSON. - for i, value in enumerate(args): - setattr(self, '_' + self.meta.identifiers[i], value) - - # Allow setting identifiers via keyword arguments. Here we need - # extra logic to ignore other keyword arguments like ``client``. - for name, value in kwargs.items(): - if name == 'client': - continue - - if name not in self.meta.identifiers: - raise ValueError('Unknown keyword argument: {0}'.format(name)) - - setattr(self, '_' + name, value) - - # Validate that all identifiers have been set. - for identifier in self.meta.identifiers: - if getattr(self, identifier) is None: - raise ValueError( - 'Required parameter {0} not set'.format(identifier)) - - def __repr__(self): - identifiers = [] - for identifier in self.meta.identifiers: - identifiers.append('{0}={1}'.format( - identifier, repr(getattr(self, identifier)))) - return "{0}({1})".format( - self.__class__.__name__, - ', '.join(identifiers), - ) - - def __eq__(self, other): - # Should be instances of the same resource class - if other.__class__.__name__ != self.__class__.__name__: - return False - - # Each of the identifiers should have the same value in both - # instances, e.g. two buckets need the same name to be equal. - for identifier in self.meta.identifiers: - if getattr(self, identifier) != getattr(other, identifier): - return False - - return True - - def __hash__(self): - identifiers = [] - for identifier in self.meta.identifiers: - identifiers.append(getattr(self, identifier)) - return hash((self.__class__.__name__, tuple(identifiers))) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/collection.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/collection.py deleted file mode 100644 index 083f9cdd..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/collection.py +++ /dev/null @@ -1,526 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import copy -import logging - -from botocore import xform_name -from botocore.utils import merge_dicts - -from .action import BatchAction -from .params import create_request_parameters -from .response import ResourceHandler -from ..docs import docstring - - -logger = logging.getLogger(__name__) - - -class ResourceCollection(object): - """ - Represents a collection of resources, which can be iterated through, - optionally with filtering. Collections automatically handle pagination - for you. - - See :ref:`guide_collections` for a high-level overview of collections, - including when remote service requests are performed. - - :type model: :py:class:`~boto3.resources.model.Collection` - :param model: Collection model - :type parent: :py:class:`~boto3.resources.base.ServiceResource` - :param parent: The collection's parent resource - :type handler: :py:class:`~boto3.resources.response.ResourceHandler` - :param handler: The resource response handler used to create resource - instances - """ - def __init__(self, model, parent, handler, **kwargs): - self._model = model - self._parent = parent - self._py_operation_name = xform_name( - model.request.operation) - self._handler = handler - self._params = copy.deepcopy(kwargs) - - def __repr__(self): - return '{0}({1}, {2})'.format( - self.__class__.__name__, - self._parent, - '{0}.{1}'.format( - self._parent.meta.service_name, - self._model.resource.type - ) - ) - - def __iter__(self): - """ - A generator which yields resource instances after doing the - appropriate service operation calls and handling any pagination - on your behalf. - - Page size, item limit, and filter parameters are applied - if they have previously been set. - - >>> bucket = s3.Bucket('boto3') - >>> for obj in bucket.objects.all(): - ... print(obj.key) - 'key1' - 'key2' - - """ - limit = self._params.get('limit', None) - - count = 0 - for page in self.pages(): - for item in page: - yield item - - # If the limit is set and has been reached, then - # we stop processing items here. - count += 1 - if limit is not None and count >= limit: - return - - def _clone(self, **kwargs): - """ - Create a clone of this collection. This is used by the methods - below to provide a chainable interface that returns copies - rather than the original. This allows things like: - - >>> base = collection.filter(Param1=1) - >>> query1 = base.filter(Param2=2) - >>> query2 = base.filter(Param3=3) - >>> query1.params - {'Param1': 1, 'Param2': 2} - >>> query2.params - {'Param1': 1, 'Param3': 3} - - :rtype: :py:class:`ResourceCollection` - :return: A clone of this resource collection - """ - params = copy.deepcopy(self._params) - merge_dicts(params, kwargs, append_lists=True) - clone = self.__class__(self._model, self._parent, - self._handler, **params) - return clone - - def pages(self): - """ - A generator which yields pages of resource instances after - doing the appropriate service operation calls and handling - any pagination on your behalf. Non-paginated calls will - return a single page of items. - - Page size, item limit, and filter parameters are applied - if they have previously been set. - - >>> bucket = s3.Bucket('boto3') - >>> for page in bucket.objects.pages(): - ... for obj in page: - ... print(obj.key) - 'key1' - 'key2' - - :rtype: list(:py:class:`~boto3.resources.base.ServiceResource`) - :return: List of resource instances - """ - client = self._parent.meta.client - cleaned_params = self._params.copy() - limit = cleaned_params.pop('limit', None) - page_size = cleaned_params.pop('page_size', None) - params = create_request_parameters( - self._parent, self._model.request) - merge_dicts(params, cleaned_params, append_lists=True) - - # Is this a paginated operation? If so, we need to get an - # iterator for the various pages. If not, then we simply - # call the operation and return the result as a single - # page in a list. For non-paginated results, we just ignore - # the page size parameter. - if client.can_paginate(self._py_operation_name): - logger.debug('Calling paginated %s:%s with %r', - self._parent.meta.service_name, - self._py_operation_name, params) - paginator = client.get_paginator(self._py_operation_name) - pages = paginator.paginate( - PaginationConfig={ - 'MaxItems': limit, 'PageSize': page_size}, **params) - else: - logger.debug('Calling %s:%s with %r', - self._parent.meta.service_name, - self._py_operation_name, params) - pages = [getattr(client, self._py_operation_name)(**params)] - - # Now that we have a page iterator or single page of results - # we start processing and yielding individual items. - count = 0 - for page in pages: - page_items = [] - for item in self._handler(self._parent, params, page): - page_items.append(item) - - # If the limit is set and has been reached, then - # we stop processing items here. - count += 1 - if limit is not None and count >= limit: - break - - yield page_items - - # Stop reading pages if we've reached out limit - if limit is not None and count >= limit: - break - - def all(self): - """ - Get all items from the collection, optionally with a custom - page size and item count limit. - - This method returns an iterable generator which yields - individual resource instances. Example use:: - - # Iterate through items - >>> for queue in sqs.queues.all(): - ... print(queue.url) - 'https://url1' - 'https://url2' - - # Convert to list - >>> queues = list(sqs.queues.all()) - >>> len(queues) - 2 - """ - return self._clone() - - def filter(self, **kwargs): - """ - Get items from the collection, passing keyword arguments along - as parameters to the underlying service operation, which are - typically used to filter the results. - - This method returns an iterable generator which yields - individual resource instances. Example use:: - - # Iterate through items - >>> for queue in sqs.queues.filter(Param='foo'): - ... print(queue.url) - 'https://url1' - 'https://url2' - - # Convert to list - >>> queues = list(sqs.queues.filter(Param='foo')) - >>> len(queues) - 2 - - :rtype: :py:class:`ResourceCollection` - """ - return self._clone(**kwargs) - - def limit(self, count): - """ - Return at most this many resources. - - >>> for bucket in s3.buckets.limit(5): - ... print(bucket.name) - 'bucket1' - 'bucket2' - 'bucket3' - 'bucket4' - 'bucket5' - - :type count: int - :param count: Return no more than this many items - :rtype: :py:class:`ResourceCollection` - """ - return self._clone(limit=count) - - def page_size(self, count): - """ - Fetch at most this many resources per service request. - - >>> for obj in s3.Bucket('boto3').objects.page_size(100): - ... print(obj.key) - - :type count: int - :param count: Fetch this many items per request - :rtype: :py:class:`ResourceCollection` - """ - return self._clone(page_size=count) - - -class CollectionManager(object): - """ - A collection manager provides access to resource collection instances, - which can be iterated and filtered. The manager exposes some - convenience functions that are also found on resource collections, - such as :py:meth:`~ResourceCollection.all` and - :py:meth:`~ResourceCollection.filter`. - - Get all items:: - - >>> for bucket in s3.buckets.all(): - ... print(bucket.name) - - Get only some items via filtering:: - - >>> for queue in sqs.queues.filter(QueueNamePrefix='AWS'): - ... print(queue.url) - - Get whole pages of items: - - >>> for page in s3.Bucket('boto3').objects.pages(): - ... for obj in page: - ... print(obj.key) - - A collection manager is not iterable. You **must** call one of the - methods that return a :py:class:`ResourceCollection` before trying - to iterate, slice, or convert to a list. - - See the :ref:`guide_collections` guide for a high-level overview - of collections, including when remote service requests are performed. - - :type collection_model: :py:class:`~boto3.resources.model.Collection` - :param model: Collection model - - :type parent: :py:class:`~boto3.resources.base.ServiceResource` - :param parent: The collection's parent resource - - :type factory: :py:class:`~boto3.resources.factory.ResourceFactory` - :param factory: The resource factory to create new resources - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - """ - # The class to use when creating an iterator - _collection_cls = ResourceCollection - - def __init__(self, collection_model, parent, factory, service_context): - self._model = collection_model - operation_name = self._model.request.operation - self._parent = parent - - search_path = collection_model.resource.path - self._handler = ResourceHandler( - search_path=search_path, factory=factory, - resource_model=collection_model.resource, - service_context=service_context, - operation_name=operation_name - ) - - def __repr__(self): - return '{0}({1}, {2})'.format( - self.__class__.__name__, - self._parent, - '{0}.{1}'.format( - self._parent.meta.service_name, - self._model.resource.type - ) - ) - - def iterator(self, **kwargs): - """ - Get a resource collection iterator from this manager. - - :rtype: :py:class:`ResourceCollection` - :return: An iterable representing the collection of resources - """ - return self._collection_cls(self._model, self._parent, - self._handler, **kwargs) - - # Set up some methods to proxy ResourceCollection methods - def all(self): - return self.iterator() - all.__doc__ = ResourceCollection.all.__doc__ - - def filter(self, **kwargs): - return self.iterator(**kwargs) - filter.__doc__ = ResourceCollection.filter.__doc__ - - def limit(self, count): - return self.iterator(limit=count) - limit.__doc__ = ResourceCollection.limit.__doc__ - - def page_size(self, count): - return self.iterator(page_size=count) - page_size.__doc__ = ResourceCollection.page_size.__doc__ - - def pages(self): - return self.iterator().pages() - pages.__doc__ = ResourceCollection.pages.__doc__ - - -class CollectionFactory(object): - """ - A factory to create new - :py:class:`CollectionManager` and :py:class:`ResourceCollection` - subclasses from a :py:class:`~boto3.resources.model.Collection` - model. These subclasses include methods to perform batch operations. - """ - def load_from_definition(self, resource_name, collection_model, - service_context, event_emitter): - """ - Loads a collection from a model, creating a new - :py:class:`CollectionManager` subclass - with the correct properties and methods, named based on the service - and resource name, e.g. ec2.InstanceCollectionManager. It also - creates a new :py:class:`ResourceCollection` subclass which is used - by the new manager class. - - :type resource_name: string - :param resource_name: Name of the resource to look up. For services, - this should match the ``service_name``. - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - - :type event_emitter: :py:class:`~botocore.hooks.HierarchialEmitter` - :param event_emitter: An event emitter - - :rtype: Subclass of :py:class:`CollectionManager` - :return: The collection class. - """ - attrs = {} - collection_name = collection_model.name - - # Create the batch actions for a collection - self._load_batch_actions( - attrs, resource_name, collection_model, - service_context.service_model, event_emitter) - # Add the documentation to the collection class's methods - self._load_documented_collection_methods( - attrs=attrs, resource_name=resource_name, - collection_model=collection_model, - service_model=service_context.service_model, - event_emitter=event_emitter, - base_class=ResourceCollection) - - if service_context.service_name == resource_name: - cls_name = '{0}.{1}Collection'.format( - service_context.service_name, collection_name) - else: - cls_name = '{0}.{1}.{2}Collection'.format( - service_context.service_name, resource_name, collection_name) - - collection_cls = type(str(cls_name), (ResourceCollection,), - attrs) - - # Add the documentation to the collection manager's methods - self._load_documented_collection_methods( - attrs=attrs, resource_name=resource_name, - collection_model=collection_model, - service_model=service_context.service_model, - event_emitter=event_emitter, - base_class=CollectionManager) - attrs['_collection_cls'] = collection_cls - cls_name += 'Manager' - - return type(str(cls_name), (CollectionManager,), attrs) - - def _load_batch_actions(self, attrs, resource_name, collection_model, - service_model, event_emitter): - """ - Batch actions on the collection become methods on both - the collection manager and iterators. - """ - for action_model in collection_model.batch_actions: - snake_cased = xform_name(action_model.name) - attrs[snake_cased] = self._create_batch_action( - resource_name, snake_cased, action_model, collection_model, - service_model, event_emitter) - - def _load_documented_collection_methods( - factory_self, attrs, resource_name, collection_model, - service_model, event_emitter, base_class): - # The base class already has these methods defined. However - # the docstrings are generic and not based for a particular service - # or resource. So we override these methods by proxying to the - # base class's builtin method and adding a docstring - # that pertains to the resource. - - # A collection's all() method. - def all(self): - return base_class.all(self) - - all.__doc__ = docstring.CollectionMethodDocstring( - resource_name=resource_name, - action_name='all', - event_emitter=event_emitter, - collection_model=collection_model, - service_model=service_model, - include_signature=False - ) - attrs['all'] = all - - # The collection's filter() method. - def filter(self, **kwargs): - return base_class.filter(self, **kwargs) - - filter.__doc__ = docstring.CollectionMethodDocstring( - resource_name=resource_name, - action_name='filter', - event_emitter=event_emitter, - collection_model=collection_model, - service_model=service_model, - include_signature=False - ) - attrs['filter'] = filter - - # The collection's limit method. - def limit(self, count): - return base_class.limit(self, count) - - limit.__doc__ = docstring.CollectionMethodDocstring( - resource_name=resource_name, - action_name='limit', - event_emitter=event_emitter, - collection_model=collection_model, - service_model=service_model, - include_signature=False - ) - attrs['limit'] = limit - - # The collection's page_size method. - def page_size(self, count): - return base_class.page_size(self, count) - - page_size.__doc__ = docstring.CollectionMethodDocstring( - resource_name=resource_name, - action_name='page_size', - event_emitter=event_emitter, - collection_model=collection_model, - service_model=service_model, - include_signature=False - ) - attrs['page_size'] = page_size - - def _create_batch_action(factory_self, resource_name, snake_cased, - action_model, collection_model, service_model, - event_emitter): - """ - Creates a new method which makes a batch operation request - to the underlying service API. - """ - action = BatchAction(action_model) - - def batch_action(self, *args, **kwargs): - return action(self, *args, **kwargs) - - batch_action.__name__ = str(snake_cased) - batch_action.__doc__ = docstring.BatchActionDocstring( - resource_name=resource_name, - event_emitter=event_emitter, - batch_action_model=action_model, - service_model=service_model, - collection_model=collection_model, - include_signature=False - ) - return batch_action diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/factory.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/factory.py deleted file mode 100644 index ccd55bfe..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/factory.py +++ /dev/null @@ -1,539 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import logging -from functools import partial - -from .action import ServiceAction -from .action import WaiterAction -from .base import ResourceMeta, ServiceResource -from .collection import CollectionFactory -from .model import ResourceModel -from .response import build_identifiers, ResourceHandler -from ..exceptions import ResourceLoadException -from ..docs import docstring - - -logger = logging.getLogger(__name__) - - -class ResourceFactory(object): - """ - A factory to create new :py:class:`~boto3.resources.base.ServiceResource` - classes from a :py:class:`~boto3.resources.model.ResourceModel`. There are - two types of lookups that can be done: one on the service itself (e.g. an - SQS resource) and another on models contained within the service (e.g. an - SQS Queue resource). - """ - def __init__(self, emitter): - self._collection_factory = CollectionFactory() - self._emitter = emitter - - def load_from_definition(self, resource_name, - single_resource_json_definition, service_context): - """ - Loads a resource from a model, creating a new - :py:class:`~boto3.resources.base.ServiceResource` subclass - with the correct properties and methods, named based on the service - and resource name, e.g. EC2.Instance. - - :type resource_name: string - :param resource_name: Name of the resource to look up. For services, - this should match the ``service_name``. - - :type single_resource_json_definition: dict - :param single_resource_json_definition: - The loaded json of a single service resource or resource - definition. - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - - :rtype: Subclass of :py:class:`~boto3.resources.base.ServiceResource` - :return: The service or resource class. - """ - logger.debug('Loading %s:%s', service_context.service_name, - resource_name) - - # Using the loaded JSON create a ResourceModel object. - resource_model = ResourceModel( - resource_name, single_resource_json_definition, - service_context.resource_json_definitions - ) - - # Do some renaming of the shape if there was a naming collision - # that needed to be accounted for. - shape = None - if resource_model.shape: - shape = service_context.service_model.shape_for( - resource_model.shape) - resource_model.load_rename_map(shape) - - # Set some basic info - meta = ResourceMeta( - service_context.service_name, resource_model=resource_model) - attrs = { - 'meta': meta, - } - - # Create and load all of attributes of the resource class based - # on the models. - - # Identifiers - self._load_identifiers( - attrs=attrs, meta=meta, resource_name=resource_name, - resource_model=resource_model - ) - - # Load/Reload actions - self._load_actions( - attrs=attrs, resource_name=resource_name, - resource_model=resource_model, service_context=service_context - ) - - # Attributes that get auto-loaded - self._load_attributes( - attrs=attrs, meta=meta, resource_name=resource_name, - resource_model=resource_model, - service_context=service_context) - - # Collections and their corresponding methods - self._load_collections( - attrs=attrs, resource_model=resource_model, - service_context=service_context) - - # References and Subresources - self._load_has_relations( - attrs=attrs, resource_name=resource_name, - resource_model=resource_model, service_context=service_context - ) - - # Waiter resource actions - self._load_waiters( - attrs=attrs, resource_name=resource_name, - resource_model=resource_model, service_context=service_context - ) - - # Create the name based on the requested service and resource - cls_name = resource_name - if service_context.service_name == resource_name: - cls_name = 'ServiceResource' - cls_name = service_context.service_name + '.' + cls_name - - base_classes = [ServiceResource] - if self._emitter is not None: - self._emitter.emit( - 'creating-resource-class.%s' % cls_name, - class_attributes=attrs, base_classes=base_classes, - service_context=service_context) - return type(str(cls_name), tuple(base_classes), attrs) - - def _load_identifiers(self, attrs, meta, resource_model, resource_name): - """ - Populate required identifiers. These are arguments without which - the resource cannot be used. Identifiers become arguments for - operations on the resource. - """ - for identifier in resource_model.identifiers: - meta.identifiers.append(identifier.name) - attrs[identifier.name] = self._create_identifier( - identifier, resource_name) - - def _load_actions(self, attrs, resource_name, resource_model, - service_context): - """ - Actions on the resource become methods, with the ``load`` method - being a special case which sets internal data for attributes, and - ``reload`` is an alias for ``load``. - """ - if resource_model.load: - attrs['load'] = self._create_action( - action_model=resource_model.load, resource_name=resource_name, - service_context=service_context, is_load=True) - attrs['reload'] = attrs['load'] - - for action in resource_model.actions: - attrs[action.name] = self._create_action( - action_model=action, resource_name=resource_name, - service_context=service_context) - - def _load_attributes(self, attrs, meta, resource_name, resource_model, - service_context): - """ - Load resource attributes based on the resource shape. The shape - name is referenced in the resource JSON, but the shape itself - is defined in the Botocore service JSON, hence the need for - access to the ``service_model``. - """ - if not resource_model.shape: - return - - shape = service_context.service_model.shape_for( - resource_model.shape) - - identifiers = dict( - (i.member_name, i) - for i in resource_model.identifiers if i.member_name) - attributes = resource_model.get_attributes(shape) - for name, (orig_name, member) in attributes.items(): - if name in identifiers: - prop = self._create_identifier_alias( - resource_name=resource_name, - identifier=identifiers[name], - member_model=member, - service_context=service_context - ) - else: - prop = self._create_autoload_property( - resource_name=resource_name, - name=orig_name, snake_cased=name, - member_model=member, - service_context=service_context - ) - attrs[name] = prop - - def _load_collections(self, attrs, resource_model, service_context): - """ - Load resource collections from the model. Each collection becomes - a :py:class:`~boto3.resources.collection.CollectionManager` instance - on the resource instance, which allows you to iterate and filter - through the collection's items. - """ - for collection_model in resource_model.collections: - attrs[collection_model.name] = self._create_collection( - resource_name=resource_model.name, - collection_model=collection_model, - service_context=service_context - ) - - def _load_has_relations(self, attrs, resource_name, resource_model, - service_context): - """ - Load related resources, which are defined via a ``has`` - relationship but conceptually come in two forms: - - 1. A reference, which is a related resource instance and can be - ``None``, such as an EC2 instance's ``vpc``. - 2. A subresource, which is a resource constructor that will always - return a resource instance which shares identifiers/data with - this resource, such as ``s3.Bucket('name').Object('key')``. - """ - for reference in resource_model.references: - # This is a dangling reference, i.e. we have all - # the data we need to create the resource, so - # this instance becomes an attribute on the class. - attrs[reference.name] = self._create_reference( - reference_model=reference, - resource_name=resource_name, - service_context=service_context - ) - - for subresource in resource_model.subresources: - # This is a sub-resource class you can create - # by passing in an identifier, e.g. s3.Bucket(name). - attrs[subresource.name] = self._create_class_partial( - subresource_model=subresource, - resource_name=resource_name, - service_context=service_context - ) - - self._create_available_subresources_command( - attrs, resource_model.subresources) - - def _create_available_subresources_command(self, attrs, subresources): - _subresources = [subresource.name for subresource in subresources] - _subresources = sorted(_subresources) - - def get_available_subresources(factory_self): - """ - Returns a list of all the available sub-resources for this - Resource. - - :returns: A list containing the name of each sub-resource for this - resource - :rtype: list of str - """ - return _subresources - - attrs['get_available_subresources'] = get_available_subresources - - def _load_waiters(self, attrs, resource_name, resource_model, - service_context): - """ - Load resource waiters from the model. Each waiter allows you to - wait until a resource reaches a specific state by polling the state - of the resource. - """ - for waiter in resource_model.waiters: - attrs[waiter.name] = self._create_waiter( - resource_waiter_model=waiter, - resource_name=resource_name, - service_context=service_context - ) - - def _create_identifier(factory_self, identifier, resource_name): - """ - Creates a read-only property for identifier attributes. - """ - def get_identifier(self): - # The default value is set to ``None`` instead of - # raising an AttributeError because when resources are - # instantiated a check is made such that none of the - # identifiers have a value ``None``. If any are ``None``, - # a more informative user error than a generic AttributeError - # is raised. - return getattr(self, '_' + identifier.name, None) - - get_identifier.__name__ = str(identifier.name) - get_identifier.__doc__ = docstring.IdentifierDocstring( - resource_name=resource_name, - identifier_model=identifier, - include_signature=False - ) - - return property(get_identifier) - - def _create_identifier_alias(factory_self, resource_name, identifier, - member_model, service_context): - """ - Creates a read-only property that aliases an identifier. - """ - def get_identifier(self): - return getattr(self, '_' + identifier.name, None) - - get_identifier.__name__ = str(identifier.member_name) - get_identifier.__doc__ = docstring.AttributeDocstring( - service_name=service_context.service_name, - resource_name=resource_name, - attr_name=identifier.member_name, - event_emitter=factory_self._emitter, - attr_model=member_model, - include_signature=False - ) - - return property(get_identifier) - - def _create_autoload_property(factory_self, resource_name, name, - snake_cased, member_model, service_context): - """ - Creates a new property on the resource to lazy-load its value - via the resource's ``load`` method (if it exists). - """ - # The property loader will check to see if this resource has already - # been loaded and return the cached value if possible. If not, then - # it first checks to see if it CAN be loaded (raise if not), then - # calls the load before returning the value. - def property_loader(self): - if self.meta.data is None: - if hasattr(self, 'load'): - self.load() - else: - raise ResourceLoadException( - '{0} has no load method'.format( - self.__class__.__name__)) - - return self.meta.data.get(name) - - property_loader.__name__ = str(snake_cased) - property_loader.__doc__ = docstring.AttributeDocstring( - service_name=service_context.service_name, - resource_name=resource_name, - attr_name=snake_cased, - event_emitter=factory_self._emitter, - attr_model=member_model, - include_signature=False - ) - - return property(property_loader) - - def _create_waiter(factory_self, resource_waiter_model, resource_name, - service_context): - """ - Creates a new wait method for each resource where both a waiter and - resource model is defined. - """ - waiter = WaiterAction(resource_waiter_model, - waiter_resource_name=resource_waiter_model.name) - - def do_waiter(self, *args, **kwargs): - waiter(self, *args, **kwargs) - - do_waiter.__name__ = str(resource_waiter_model.name) - do_waiter.__doc__ = docstring.ResourceWaiterDocstring( - resource_name=resource_name, - event_emitter=factory_self._emitter, - service_model=service_context.service_model, - resource_waiter_model=resource_waiter_model, - service_waiter_model=service_context.service_waiter_model, - include_signature=False - ) - return do_waiter - - def _create_collection(factory_self, resource_name, collection_model, - service_context): - """ - Creates a new property on the resource to lazy-load a collection. - """ - cls = factory_self._collection_factory.load_from_definition( - resource_name=resource_name, collection_model=collection_model, - service_context=service_context, - event_emitter=factory_self._emitter) - - def get_collection(self): - return cls( - collection_model=collection_model, parent=self, - factory=factory_self, service_context=service_context) - - get_collection.__name__ = str(collection_model.name) - get_collection.__doc__ = docstring.CollectionDocstring( - collection_model=collection_model, include_signature=False) - return property(get_collection) - - def _create_reference(factory_self, reference_model, resource_name, - service_context): - """ - Creates a new property on the resource to lazy-load a reference. - """ - # References are essentially an action with no request - # or response, so we can re-use the response handlers to - # build up resources from identifiers and data members. - handler = ResourceHandler( - search_path=reference_model.resource.path, factory=factory_self, - resource_model=reference_model.resource, - service_context=service_context - ) - - # Are there any identifiers that need access to data members? - # This is important when building the resource below since - # it requires the data to be loaded. - needs_data = any(i.source == 'data' for i in - reference_model.resource.identifiers) - - def get_reference(self): - # We need to lazy-evaluate the reference to handle circular - # references between resources. We do this by loading the class - # when first accessed. - # This is using a *response handler* so we need to make sure - # our data is loaded (if possible) and pass that data into - # the handler as if it were a response. This allows references - # to have their data loaded properly. - if needs_data and self.meta.data is None and hasattr(self, 'load'): - self.load() - return handler(self, {}, self.meta.data) - - get_reference.__name__ = str(reference_model.name) - get_reference.__doc__ = docstring.ReferenceDocstring( - reference_model=reference_model, - include_signature=False - ) - return property(get_reference) - - def _create_class_partial(factory_self, subresource_model, resource_name, - service_context): - """ - Creates a new method which acts as a functools.partial, passing - along the instance's low-level `client` to the new resource - class' constructor. - """ - name = subresource_model.resource.type - - def create_resource(self, *args, **kwargs): - # We need a new method here because we want access to the - # instance's client. - positional_args = [] - - # We lazy-load the class to handle circular references. - json_def = service_context.resource_json_definitions.get(name, {}) - resource_cls = factory_self.load_from_definition( - resource_name=name, - single_resource_json_definition=json_def, - service_context=service_context - ) - - # Assumes that identifiers are in order, which lets you do - # e.g. ``sqs.Queue('foo').Message('bar')`` to create a new message - # linked with the ``foo`` queue and which has a ``bar`` receipt - # handle. If we did kwargs here then future positional arguments - # would lead to failure. - identifiers = subresource_model.resource.identifiers - if identifiers is not None: - for identifier, value in build_identifiers(identifiers, self): - positional_args.append(value) - - return partial(resource_cls, *positional_args, - client=self.meta.client)(*args, **kwargs) - - create_resource.__name__ = str(name) - create_resource.__doc__ = docstring.SubResourceDocstring( - resource_name=resource_name, - sub_resource_model=subresource_model, - service_model=service_context.service_model, - include_signature=False - ) - return create_resource - - def _create_action(factory_self, action_model, resource_name, - service_context, is_load=False): - """ - Creates a new method which makes a request to the underlying - AWS service. - """ - # Create the action in in this closure but before the ``do_action`` - # method below is invoked, which allows instances of the resource - # to share the ServiceAction instance. - action = ServiceAction( - action_model, factory=factory_self, - service_context=service_context - ) - - # A resource's ``load`` method is special because it sets - # values on the resource instead of returning the response. - if is_load: - # We need a new method here because we want access to the - # instance via ``self``. - def do_action(self, *args, **kwargs): - response = action(self, *args, **kwargs) - self.meta.data = response - # Create the docstring for the load/reload mehtods. - lazy_docstring = docstring.LoadReloadDocstring( - action_name=action_model.name, - resource_name=resource_name, - event_emitter=factory_self._emitter, - load_model=action_model, - service_model=service_context.service_model, - include_signature=False - ) - else: - # We need a new method here because we want access to the - # instance via ``self``. - def do_action(self, *args, **kwargs): - response = action(self, *args, **kwargs) - - if hasattr(self, 'load'): - # Clear cached data. It will be reloaded the next - # time that an attribute is accessed. - # TODO: Make this configurable in the future? - self.meta.data = None - - return response - lazy_docstring = docstring.ActionDocstring( - resource_name=resource_name, - event_emitter=factory_self._emitter, - action_model=action_model, - service_model=service_context.service_model, - include_signature=False - ) - - do_action.__name__ = str(action_model.name) - do_action.__doc__ = lazy_docstring - return do_action diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/model.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/model.py deleted file mode 100644 index 5b65b0e2..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/model.py +++ /dev/null @@ -1,622 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -""" -The models defined in this file represent the resource JSON description -format and provide a layer of abstraction from the raw JSON. The advantages -of this are: - -* Pythonic interface (e.g. ``action.request.operation``) -* Consumers need not change for minor JSON changes (e.g. renamed field) - -These models are used both by the resource factory to generate resource -classes as well as by the documentation generator. -""" - -import logging - -from botocore import xform_name - - -logger = logging.getLogger(__name__) - - -class Identifier(object): - """ - A resource identifier, given by its name. - - :type name: string - :param name: The name of the identifier - """ - def __init__(self, name, member_name=None): - #: (``string``) The name of the identifier - self.name = name - self.member_name = member_name - - -class Action(object): - """ - A service operation action. - - :type name: string - :param name: The name of the action - :type definition: dict - :param definition: The JSON definition - :type resource_defs: dict - :param resource_defs: All resources defined in the service - """ - def __init__(self, name, definition, resource_defs): - self._definition = definition - - #: (``string``) The name of the action - self.name = name - #: (:py:class:`Request`) This action's request or ``None`` - self.request = None - if 'request' in definition: - self.request = Request(definition.get('request', {})) - #: (:py:class:`ResponseResource`) This action's resource or ``None`` - self.resource = None - if 'resource' in definition: - self.resource = ResponseResource(definition.get('resource', {}), - resource_defs) - #: (``string``) The JMESPath search path or ``None`` - self.path = definition.get('path') - - -class DefinitionWithParams(object): - """ - An item which has parameters exposed via the ``params`` property. - A request has an operation and parameters, while a waiter has - a name, a low-level waiter name and parameters. - - :type definition: dict - :param definition: The JSON definition - """ - def __init__(self, definition): - self._definition = definition - - @property - def params(self): - """ - Get a list of auto-filled parameters for this request. - - :type: list(:py:class:`Parameter`) - """ - params = [] - - for item in self._definition.get('params', []): - params.append(Parameter(**item)) - - return params - - -class Parameter(object): - """ - An auto-filled parameter which has a source and target. For example, - the ``QueueUrl`` may be auto-filled from a resource's ``url`` identifier - when making calls to ``queue.receive_messages``. - - :type target: string - :param target: The destination parameter name, e.g. ``QueueUrl`` - :type source_type: string - :param source_type: Where the source is defined. - :type source: string - :param source: The source name, e.g. ``Url`` - """ - def __init__(self, target, source, name=None, path=None, value=None, - **kwargs): - #: (``string``) The destination parameter name - self.target = target - #: (``string``) Where the source is defined - self.source = source - #: (``string``) The name of the source, if given - self.name = name - #: (``string``) The JMESPath query of the source - self.path = path - #: (``string|int|float|bool``) The source constant value - self.value = value - - # Complain if we encounter any unknown values. - if kwargs: - logger.warning('Unknown parameter options found: %s', kwargs) - - -class Request(DefinitionWithParams): - """ - A service operation action request. - - :type definition: dict - :param definition: The JSON definition - """ - def __init__(self, definition): - super(Request, self).__init__(definition) - - #: (``string``) The name of the low-level service operation - self.operation = definition.get('operation') - - -class Waiter(DefinitionWithParams): - """ - An event waiter specification. - - :type name: string - :param name: Name of the waiter - :type definition: dict - :param definition: The JSON definition - """ - PREFIX = 'WaitUntil' - - def __init__(self, name, definition): - super(Waiter, self).__init__(definition) - - #: (``string``) The name of this waiter - self.name = name - - #: (``string``) The name of the underlying event waiter - self.waiter_name = definition.get('waiterName') - - -class ResponseResource(object): - """ - A resource response to create after performing an action. - - :type definition: dict - :param definition: The JSON definition - :type resource_defs: dict - :param resource_defs: All resources defined in the service - """ - def __init__(self, definition, resource_defs): - self._definition = definition - self._resource_defs = resource_defs - - #: (``string``) The name of the response resource type - self.type = definition.get('type') - - #: (``string``) The JMESPath search query or ``None`` - self.path = definition.get('path') - - @property - def identifiers(self): - """ - A list of resource identifiers. - - :type: list(:py:class:`Identifier`) - """ - identifiers = [] - - for item in self._definition.get('identifiers', []): - identifiers.append( - Parameter(**item)) - - return identifiers - - @property - def model(self): - """ - Get the resource model for the response resource. - - :type: :py:class:`ResourceModel` - """ - return ResourceModel(self.type, self._resource_defs[self.type], - self._resource_defs) - - -class Collection(Action): - """ - A group of resources. See :py:class:`Action`. - - :type name: string - :param name: The name of the collection - :type definition: dict - :param definition: The JSON definition - :type resource_defs: dict - :param resource_defs: All resources defined in the service - """ - @property - def batch_actions(self): - """ - Get a list of batch actions supported by the resource type - contained in this action. This is a shortcut for accessing - the same information through the resource model. - - :rtype: list(:py:class:`Action`) - """ - return self.resource.model.batch_actions - - -class ResourceModel(object): - """ - A model representing a resource, defined via a JSON description - format. A resource has identifiers, attributes, actions, - sub-resources, references and collections. For more information - on resources, see :ref:`guide_resources`. - - :type name: string - :param name: The name of this resource, e.g. ``sqs`` or ``Queue`` - :type definition: dict - :param definition: The JSON definition - :type resource_defs: dict - :param resource_defs: All resources defined in the service - """ - def __init__(self, name, definition, resource_defs): - self._definition = definition - self._resource_defs = resource_defs - self._renamed = {} - - #: (``string``) The name of this resource - self.name = name - #: (``string``) The service shape name for this resource or ``None`` - self.shape = definition.get('shape') - - def load_rename_map(self, shape=None): - """ - Load a name translation map given a shape. This will set - up renamed values for any collisions, e.g. if the shape, - an action, and a subresource all are all named ``foo`` - then the resource will have an action ``foo``, a subresource - named ``Foo`` and a property named ``foo_attribute``. - This is the order of precedence, from most important to - least important: - - * Load action (resource.load) - * Identifiers - * Actions - * Subresources - * References - * Collections - * Waiters - * Attributes (shape members) - - Batch actions are only exposed on collections, so do not - get modified here. Subresources use upper camel casing, so - are unlikely to collide with anything but other subresources. - - Creates a structure like this:: - - renames = { - ('action', 'id'): 'id_action', - ('collection', 'id'): 'id_collection', - ('attribute', 'id'): 'id_attribute' - } - - # Get the final name for an action named 'id' - name = renames.get(('action', 'id'), 'id') - - :type shape: botocore.model.Shape - :param shape: The underlying shape for this resource. - """ - # Meta is a reserved name for resources - names = set(['meta']) - self._renamed = {} - - if self._definition.get('load'): - names.add('load') - - for item in self._definition.get('identifiers', []): - self._load_name_with_category(names, item['name'], 'identifier') - - for name in self._definition.get('actions', {}): - self._load_name_with_category(names, name, 'action') - - for name, ref in self._get_has_definition().items(): - # Subresources require no data members, just typically - # identifiers and user input. - data_required = False - for identifier in ref['resource']['identifiers']: - if identifier['source'] == 'data': - data_required = True - break - - if not data_required: - self._load_name_with_category(names, name, 'subresource', - snake_case=False) - else: - self._load_name_with_category(names, name, 'reference') - - for name in self._definition.get('hasMany', {}): - self._load_name_with_category(names, name, 'collection') - - for name in self._definition.get('waiters', {}): - self._load_name_with_category(names, Waiter.PREFIX + name, - 'waiter') - - if shape is not None: - for name in shape.members.keys(): - self._load_name_with_category(names, name, 'attribute') - - def _load_name_with_category(self, names, name, category, - snake_case=True): - """ - Load a name with a given category, possibly renaming it - if that name is already in use. The name will be stored - in ``names`` and possibly be set up in ``self._renamed``. - - :type names: set - :param names: Existing names (Python attributes, properties, or - methods) on the resource. - :type name: string - :param name: The original name of the value. - :type category: string - :param category: The value type, such as 'identifier' or 'action' - :type snake_case: bool - :param snake_case: True (default) if the name should be snake cased. - """ - if snake_case: - name = xform_name(name) - - if name in names: - logger.debug('Renaming %s %s %s' % (self.name, category, name)) - self._renamed[(category, name)] = name + '_' + category - name += '_' + category - - if name in names: - # This isn't good, let's raise instead of trying to keep - # renaming this value. - raise ValueError('Problem renaming {0} {1} to {2}!'.format( - self.name, category, name)) - - names.add(name) - - def _get_name(self, category, name, snake_case=True): - """ - Get a possibly renamed value given a category and name. This - uses the rename map set up in ``load_rename_map``, so that - method must be called once first. - - :type category: string - :param category: The value type, such as 'identifier' or 'action' - :type name: string - :param name: The original name of the value - :type snake_case: bool - :param snake_case: True (default) if the name should be snake cased. - :rtype: string - :return: Either the renamed value if it is set, otherwise the - original name. - """ - if snake_case: - name = xform_name(name) - - return self._renamed.get((category, name), name) - - def get_attributes(self, shape): - """ - Get a dictionary of attribute names to original name and shape - models that represent the attributes of this resource. Looks - like the following: - - { - 'some_name': ('SomeName', ) - } - - :type shape: botocore.model.Shape - :param shape: The underlying shape for this resource. - :rtype: dict - :return: Mapping of resource attributes. - """ - attributes = {} - identifier_names = [i.name for i in self.identifiers] - - for name, member in shape.members.items(): - snake_cased = xform_name(name) - if snake_cased in identifier_names: - # Skip identifiers, these are set through other means - continue - snake_cased = self._get_name('attribute', snake_cased, - snake_case=False) - attributes[snake_cased] = (name, member) - - return attributes - - @property - def identifiers(self): - """ - Get a list of resource identifiers. - - :type: list(:py:class:`Identifier`) - """ - identifiers = [] - - for item in self._definition.get('identifiers', []): - name = self._get_name('identifier', item['name']) - member_name = item.get('memberName', None) - if member_name: - member_name = self._get_name('attribute', member_name) - identifiers.append(Identifier(name, member_name)) - - return identifiers - - @property - def load(self): - """ - Get the load action for this resource, if it is defined. - - :type: :py:class:`Action` or ``None`` - """ - action = self._definition.get('load') - - if action is not None: - action = Action('load', action, self._resource_defs) - - return action - - @property - def actions(self): - """ - Get a list of actions for this resource. - - :type: list(:py:class:`Action`) - """ - actions = [] - - for name, item in self._definition.get('actions', {}).items(): - name = self._get_name('action', name) - actions.append(Action(name, item, self._resource_defs)) - - return actions - - @property - def batch_actions(self): - """ - Get a list of batch actions for this resource. - - :type: list(:py:class:`Action`) - """ - actions = [] - - for name, item in self._definition.get('batchActions', {}).items(): - name = self._get_name('batch_action', name) - actions.append(Action(name, item, self._resource_defs)) - - return actions - - def _get_has_definition(self): - """ - Get a ``has`` relationship definition from a model, where the - service resource model is treated special in that it contains - a relationship to every resource defined for the service. This - allows things like ``s3.Object('bucket-name', 'key')`` to - work even though the JSON doesn't define it explicitly. - - :rtype: dict - :return: Mapping of names to subresource and reference - definitions. - """ - if self.name not in self._resource_defs: - # This is the service resource, so let us expose all of - # the defined resources as subresources. - definition = {} - - for name, resource_def in self._resource_defs.items(): - # It's possible for the service to have renamed a - # resource or to have defined multiple names that - # point to the same resource type, so we need to - # take that into account. - found = False - has_items = self._definition.get('has', {}).items() - for has_name, has_def in has_items: - if has_def.get('resource', {}).get('type') == name: - definition[has_name] = has_def - found = True - - if not found: - # Create a relationship definition and attach it - # to the model, such that all identifiers must be - # supplied by the user. It will look something like: - # - # { - # 'resource': { - # 'type': 'ResourceName', - # 'identifiers': [ - # {'target': 'Name1', 'source': 'input'}, - # {'target': 'Name2', 'source': 'input'}, - # ... - # ] - # } - # } - # - fake_has = { - 'resource': { - 'type': name, - 'identifiers': [] - } - } - - for identifier in resource_def.get('identifiers', []): - fake_has['resource']['identifiers'].append({ - 'target': identifier['name'], 'source': 'input' - }) - - definition[name] = fake_has - else: - definition = self._definition.get('has', {}) - - return definition - - def _get_related_resources(self, subresources): - """ - Get a list of sub-resources or references. - - :type subresources: bool - :param subresources: ``True`` to get sub-resources, ``False`` to - get references. - :rtype: list(:py:class:`ResponseResource`) - """ - resources = [] - - for name, definition in self._get_has_definition().items(): - if subresources: - name = self._get_name('subresource', name, snake_case=False) - else: - name = self._get_name('reference', name) - action = Action(name, definition, self._resource_defs) - - data_required = False - for identifier in action.resource.identifiers: - if identifier.source == 'data': - data_required = True - break - - if subresources and not data_required: - resources.append(action) - elif not subresources and data_required: - resources.append(action) - - return resources - - @property - def subresources(self): - """ - Get a list of sub-resources. - - :type: list(:py:class:`ResponseResource`) - """ - return self._get_related_resources(True) - - @property - def references(self): - """ - Get a list of reference resources. - - :type: list(:py:class:`ResponseResource`) - """ - return self._get_related_resources(False) - - @property - def collections(self): - """ - Get a list of collections for this resource. - - :type: list(:py:class:`Collection`) - """ - collections = [] - - for name, item in self._definition.get('hasMany', {}).items(): - name = self._get_name('collection', name) - collections.append(Collection(name, item, self._resource_defs)) - - return collections - - @property - def waiters(self): - """ - Get a list of waiters for this resource. - - :type: list(:py:class:`Waiter`) - """ - waiters = [] - - for name, item in self._definition.get('waiters', {}).items(): - name = self._get_name('waiter', Waiter.PREFIX + name) - waiters.append(Waiter(name, item)) - - return waiters diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/params.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/params.py deleted file mode 100644 index 71bbb6b7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/params.py +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import re - -import jmespath -from botocore import xform_name - -from ..exceptions import ResourceLoadException - - -INDEX_RE = re.compile('\[(.*)\]$') - - -def get_data_member(parent, path): - """ - Get a data member from a parent using a JMESPath search query, - loading the parent if required. If the parent cannot be loaded - and no data is present then an exception is raised. - - :type parent: ServiceResource - :param parent: The resource instance to which contains data we - are interested in. - :type path: string - :param path: The JMESPath expression to query - :raises ResourceLoadException: When no data is present and the - resource cannot be loaded. - :returns: The queried data or ``None``. - """ - # Ensure the parent has its data loaded, if possible. - if parent.meta.data is None: - if hasattr(parent, 'load'): - parent.load() - else: - raise ResourceLoadException( - '{0} has no load method!'.format(parent.__class__.__name__)) - - return jmespath.search(path, parent.meta.data) - - -def create_request_parameters(parent, request_model, params=None, index=None): - """ - Handle request parameters that can be filled in from identifiers, - resource data members or constants. - - By passing ``params``, you can invoke this method multiple times and - build up a parameter dict over time, which is particularly useful - for reverse JMESPath expressions that append to lists. - - :type parent: ServiceResource - :param parent: The resource instance to which this action is attached. - :type request_model: :py:class:`~boto3.resources.model.Request` - :param request_model: The action request model. - :type params: dict - :param params: If set, then add to this existing dict. It is both - edited in-place and returned. - :type index: int - :param index: The position of an item within a list - :rtype: dict - :return: Pre-filled parameters to be sent to the request operation. - """ - if params is None: - params = {} - - for param in request_model.params: - source = param.source - target = param.target - - if source == 'identifier': - # Resource identifier, e.g. queue.url - value = getattr(parent, xform_name(param.name)) - elif source == 'data': - # If this is a data member then it may incur a load - # action before returning the value. - value = get_data_member(parent, param.path) - elif source in ['string', 'integer', 'boolean']: - # These are hard-coded values in the definition - value = param.value - elif source == 'input': - # This is provided by the user, so ignore it here - continue - else: - raise NotImplementedError( - 'Unsupported source type: {0}'.format(source)) - - build_param_structure(params, target, value, index) - - return params - - -def build_param_structure(params, target, value, index=None): - """ - This method provides a basic reverse JMESPath implementation that - lets you go from a JMESPath-like string to a possibly deeply nested - object. The ``params`` are mutated in-place, so subsequent calls - can modify the same element by its index. - - >>> build_param_structure(params, 'test[0]', 1) - >>> print(params) - {'test': [1]} - - >>> build_param_structure(params, 'foo.bar[0].baz', 'hello world') - >>> print(params) - {'test': [1], 'foo': {'bar': [{'baz': 'hello, world'}]}} - - """ - pos = params - parts = target.split('.') - - # First, split into parts like 'foo', 'bar[0]', 'baz' and process - # each piece. It can either be a list or a dict, depending on if - # an index like `[0]` is present. We detect this via a regular - # expression, and keep track of where we are in params via the - # pos variable, walking down to the last item. Once there, we - # set the value. - for i, part in enumerate(parts): - # Is it indexing an array? - result = INDEX_RE.search(part) - if result: - if result.group(1): - if result.group(1) == '*': - part = part[:-3] - else: - # We have an explicit index - index = int(result.group(1)) - part = part[:-len(str(index) + '[]')] - else: - # Index will be set after we know the proper part - # name and that it's a list instance. - index = None - part = part[:-2] - - if part not in pos or not isinstance(pos[part], list): - pos[part] = [] - - # This means we should append, e.g. 'foo[]' - if index is None: - index = len(pos[part]) - - while len(pos[part]) <= index: - # Assume it's a dict until we set the final value below - pos[part].append({}) - - # Last item? Set the value, otherwise set the new position - if i == len(parts) - 1: - pos[part][index] = value - else: - # The new pos is the *item* in the array, not the array! - pos = pos[part][index] - else: - if part not in pos: - pos[part] = {} - - # Last item? Set the value, otherwise set the new position - if i == len(parts) - 1: - pos[part] = value - else: - pos = pos[part] diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/response.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/response.py deleted file mode 100644 index 57803614..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/resources/response.py +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import jmespath -from botocore import xform_name - -from .params import get_data_member - - -def all_not_none(iterable): - """ - Return True if all elements of the iterable are not None (or if the - iterable is empty). This is like the built-in ``all``, except checks - against None, so 0 and False are allowable values. - """ - for element in iterable: - if element is None: - return False - return True - - -def build_identifiers(identifiers, parent, params=None, raw_response=None): - """ - Builds a mapping of identifier names to values based on the - identifier source location, type, and target. Identifier - values may be scalars or lists depending on the source type - and location. - - :type identifiers: list - :param identifiers: List of :py:class:`~boto3.resources.model.Parameter` - definitions - :type parent: ServiceResource - :param parent: The resource instance to which this action is attached. - :type params: dict - :param params: Request parameters sent to the service. - :type raw_response: dict - :param raw_response: Low-level operation response. - :rtype: list - :return: An ordered list of ``(name, value)`` identifier tuples. - """ - results = [] - - for identifier in identifiers: - source = identifier.source - target = identifier.target - - if source == 'response': - value = jmespath.search(identifier.path, raw_response) - elif source == 'requestParameter': - value = jmespath.search(identifier.path, params) - elif source == 'identifier': - value = getattr(parent, xform_name(identifier.name)) - elif source == 'data': - # If this is a data member then it may incur a load - # action before returning the value. - value = get_data_member(parent, identifier.path) - elif source == 'input': - # This value is set by the user, so ignore it here - continue - else: - raise NotImplementedError( - 'Unsupported source type: {0}'.format(source)) - - results.append((xform_name(target), value)) - - return results - - -def build_empty_response(search_path, operation_name, service_model): - """ - Creates an appropriate empty response for the type that is expected, - based on the service model's shape type. For example, a value that - is normally a list would then return an empty list. A structure would - return an empty dict, and a number would return None. - - :type search_path: string - :param search_path: JMESPath expression to search in the response - :type operation_name: string - :param operation_name: Name of the underlying service operation. - :type service_model: :ref:`botocore.model.ServiceModel` - :param service_model: The Botocore service model - :rtype: dict, list, or None - :return: An appropriate empty value - """ - response = None - - operation_model = service_model.operation_model(operation_name) - shape = operation_model.output_shape - - if search_path: - # Walk the search path and find the final shape. For example, given - # a path of ``foo.bar[0].baz``, we first find the shape for ``foo``, - # then the shape for ``bar`` (ignoring the indexing), and finally - # the shape for ``baz``. - for item in search_path.split('.'): - item = item.strip('[0123456789]$') - - if shape.type_name == 'structure': - shape = shape.members[item] - elif shape.type_name == 'list': - shape = shape.member - else: - raise NotImplementedError( - 'Search path hits shape type {0} from {1}'.format( - shape.type_name, item)) - - # Anything not handled here is set to None - if shape.type_name == 'structure': - response = {} - elif shape.type_name == 'list': - response = [] - elif shape.type_name == 'map': - response = {} - - return response - - -class RawHandler(object): - """ - A raw action response handler. This passed through the response - dictionary, optionally after performing a JMESPath search if one - has been defined for the action. - - :type search_path: string - :param search_path: JMESPath expression to search in the response - :rtype: dict - :return: Service response - """ - def __init__(self, search_path): - self.search_path = search_path - - def __call__(self, parent, params, response): - """ - :type parent: ServiceResource - :param parent: The resource instance to which this action is attached. - :type params: dict - :param params: Request parameters sent to the service. - :type response: dict - :param response: Low-level operation response. - """ - # TODO: Remove the '$' check after JMESPath supports it - if self.search_path and self.search_path != '$': - response = jmespath.search(self.search_path, response) - - return response - - -class ResourceHandler(object): - """ - Creates a new resource or list of new resources from the low-level - response based on the given response resource definition. - - :type search_path: string - :param search_path: JMESPath expression to search in the response - - :type factory: ResourceFactory - :param factory: The factory that created the resource class to which - this action is attached. - - :type resource_model: :py:class:`~boto3.resources.model.ResponseResource` - :param resource_model: Response resource model. - - :type service_context: :py:class:`~boto3.utils.ServiceContext` - :param service_context: Context about the AWS service - - :type operation_name: string - :param operation_name: Name of the underlying service operation, if it - exists. - - :rtype: ServiceResource or list - :return: New resource instance(s). - """ - def __init__(self, search_path, factory, resource_model, - service_context, operation_name=None): - self.search_path = search_path - self.factory = factory - self.resource_model = resource_model - self.operation_name = operation_name - self.service_context = service_context - - def __call__(self, parent, params, response): - """ - :type parent: ServiceResource - :param parent: The resource instance to which this action is attached. - :type params: dict - :param params: Request parameters sent to the service. - :type response: dict - :param response: Low-level operation response. - """ - resource_name = self.resource_model.type - json_definition = self.service_context.resource_json_definitions.get( - resource_name) - - # Load the new resource class that will result from this action. - resource_cls = self.factory.load_from_definition( - resource_name=resource_name, - single_resource_json_definition=json_definition, - service_context=self.service_context - ) - raw_response = response - search_response = None - - # Anytime a path is defined, it means the response contains the - # resource's attributes, so resource_data gets set here. It - # eventually ends up in resource.meta.data, which is where - # the attribute properties look for data. - if self.search_path: - search_response = jmespath.search(self.search_path, raw_response) - - # First, we parse all the identifiers, then create the individual - # response resources using them. Any identifiers that are lists - # will have one item consumed from the front of the list for each - # resource that is instantiated. Items which are not a list will - # be set as the same value on each new resource instance. - identifiers = dict(build_identifiers( - self.resource_model.identifiers, parent, params, - raw_response)) - - # If any of the identifiers is a list, then the response is plural - plural = [v for v in identifiers.values() if isinstance(v, list)] - - if plural: - response = [] - - # The number of items in an identifier that is a list will - # determine how many resource instances to create. - for i in range(len(plural[0])): - # Response item data is *only* available if a search path - # was given. This prevents accidentally loading unrelated - # data that may be in the response. - response_item = None - if search_response: - response_item = search_response[i] - response.append( - self.handle_response_item(resource_cls, parent, - identifiers, response_item)) - elif all_not_none(identifiers.values()): - # All identifiers must always exist, otherwise the resource - # cannot be instantiated. - response = self.handle_response_item( - resource_cls, parent, identifiers, search_response) - else: - # The response should be empty, but that may mean an - # empty dict, list, or None based on whether we make - # a remote service call and what shape it is expected - # to return. - response = None - if self.operation_name is not None: - # A remote service call was made, so try and determine - # its shape. - response = build_empty_response( - self.search_path, self.operation_name, - self.service_context.service_model) - - return response - - def handle_response_item(self, resource_cls, parent, identifiers, - resource_data): - """ - Handles the creation of a single response item by setting - parameters and creating the appropriate resource instance. - - :type resource_cls: ServiceResource subclass - :param resource_cls: The resource class to instantiate. - :type parent: ServiceResource - :param parent: The resource instance to which this action is attached. - :type identifiers: dict - :param identifiers: Map of identifier names to value or values. - :type resource_data: dict or None - :param resource_data: Data for resource attributes. - :rtype: ServiceResource - :return: New resource instance. - """ - kwargs = { - 'client': parent.meta.client, - } - - for name, value in identifiers.items(): - # If value is a list, then consume the next item - if isinstance(value, list): - value = value.pop(0) - - kwargs[name] = value - - resource = resource_cls(**kwargs) - - if resource_data is not None: - resource.meta.data = resource_data - - return resource diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/__init__.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/__init__.py deleted file mode 100644 index c89416d7..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/__init__.py +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/inject.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/inject.py deleted file mode 100644 index a1a01835..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/inject.py +++ /dev/null @@ -1,761 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.exceptions import ClientError - -from boto3.s3.transfer import create_transfer_manager -from boto3.s3.transfer import TransferConfig, S3Transfer -from boto3.s3.transfer import ProgressCallbackInvoker -from boto3 import utils - - -def inject_s3_transfer_methods(class_attributes, **kwargs): - utils.inject_attribute(class_attributes, 'upload_file', upload_file) - utils.inject_attribute(class_attributes, 'download_file', download_file) - utils.inject_attribute(class_attributes, 'copy', copy) - utils.inject_attribute(class_attributes, 'upload_fileobj', upload_fileobj) - utils.inject_attribute( - class_attributes, 'download_fileobj', download_fileobj) - - -def inject_bucket_methods(class_attributes, **kwargs): - utils.inject_attribute(class_attributes, 'load', bucket_load) - utils.inject_attribute(class_attributes, 'upload_file', bucket_upload_file) - utils.inject_attribute( - class_attributes, 'download_file', bucket_download_file) - utils.inject_attribute(class_attributes, 'copy', bucket_copy) - utils.inject_attribute( - class_attributes, 'upload_fileobj', bucket_upload_fileobj) - utils.inject_attribute( - class_attributes, 'download_fileobj', bucket_download_fileobj) - - -def inject_object_methods(class_attributes, **kwargs): - utils.inject_attribute(class_attributes, 'upload_file', object_upload_file) - utils.inject_attribute( - class_attributes, 'download_file', object_download_file) - utils.inject_attribute(class_attributes, 'copy', object_copy) - utils.inject_attribute( - class_attributes, 'upload_fileobj', object_upload_fileobj) - utils.inject_attribute( - class_attributes, 'download_fileobj', object_download_fileobj) - - -def inject_object_summary_methods(class_attributes, **kwargs): - utils.inject_attribute(class_attributes, 'load', object_summary_load) - - -def bucket_load(self, *args, **kwargs): - """ - Calls s3.Client.list_buckets() to update the attributes of the Bucket - resource. - """ - # The docstring above is phrased this way to match what the autogenerated - # docs produce. - - # We can't actually get the bucket's attributes from a HeadBucket, - # so we need to use a ListBuckets and search for our bucket. - # However, we may fail if we lack permissions to ListBuckets - # or the bucket is in another account. In which case, creation_date - # will be None. - self.meta.data = {} - try: - response = self.meta.client.list_buckets() - for bucket_data in response['Buckets']: - if bucket_data['Name'] == self.name: - self.meta.data = bucket_data - break - except ClientError as e: - if not e.response.get('Error', {}).get('Code') == 'AccessDenied': - raise - -def object_summary_load(self, *args, **kwargs): - """ - Calls s3.Client.head_object to update the attributes of the ObjectSummary - resource. - """ - response = self.meta.client.head_object( - Bucket=self.bucket_name, Key=self.key) - if 'ContentLength' in response: - response['Size'] = response.pop('ContentLength') - self.meta.data = response - - -def upload_file(self, Filename, Bucket, Key, ExtraArgs=None, - Callback=None, Config=None): - """Upload a file to an S3 object. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.meta.client.upload_file('/tmp/hello.txt', 'mybucket', 'hello.txt') - - Similar behavior as S3Transfer's upload_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to upload. - - :type Bucket: str - :param Bucket: The name of the bucket to upload to. - - :type Key: str - :param Key: The name of the key to upload to. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - with S3Transfer(self, Config) as transfer: - return transfer.upload_file( - filename=Filename, bucket=Bucket, key=Key, - extra_args=ExtraArgs, callback=Callback) - - -def download_file(self, Bucket, Key, Filename, ExtraArgs=None, - Callback=None, Config=None): - """Download an S3 object to a file. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.meta.client.download_file('mybucket', 'hello.txt', '/tmp/hello.txt') - - Similar behavior as S3Transfer's download_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to download to. - - :type Bucket: str - :param Bucket: The name of the bucket to download from. - - :type Key: str - :param Key: The name of the key to download from. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - with S3Transfer(self, Config) as transfer: - return transfer.download_file( - bucket=Bucket, key=Key, filename=Filename, - extra_args=ExtraArgs, callback=Callback) - - -def bucket_upload_file(self, Filename, Key, - ExtraArgs=None, Callback=None, Config=None): - """Upload a file to an S3 object. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.Bucket('mybucket').upload_file('/tmp/hello.txt', 'hello.txt') - - Similar behavior as S3Transfer's upload_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to upload. - - :type Key: str - :param Key: The name of the key to upload to. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - return self.meta.client.upload_file( - Filename=Filename, Bucket=self.name, Key=Key, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - - -def bucket_download_file(self, Key, Filename, - ExtraArgs=None, Callback=None, Config=None): - """Download an S3 object to a file. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.Bucket('mybucket').download_file('hello.txt', '/tmp/hello.txt') - - Similar behavior as S3Transfer's download_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to download to. - - :type Key: str - :param Key: The name of the key to download from. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - return self.meta.client.download_file( - Bucket=self.name, Key=Key, Filename=Filename, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - - -def object_upload_file(self, Filename, - ExtraArgs=None, Callback=None, Config=None): - """Upload a file to an S3 object. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.Object('mybucket', 'hello.txt').upload_file('/tmp/hello.txt') - - Similar behavior as S3Transfer's upload_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to upload. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - return self.meta.client.upload_file( - Filename=Filename, Bucket=self.bucket_name, Key=self.key, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - - -def object_download_file(self, Filename, - ExtraArgs=None, Callback=None, Config=None): - """Download an S3 object to a file. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - s3.Object('mybucket', 'hello.txt').download_file('/tmp/hello.txt') - - Similar behavior as S3Transfer's download_file() method, - except that parameters are capitalized. Detailed examples can be found at - :ref:`S3Transfer's Usage `. - - :type Filename: str - :param Filename: The path to the file to download to. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - transfer. - """ - return self.meta.client.download_file( - Bucket=self.bucket_name, Key=self.key, Filename=Filename, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - - -def copy(self, CopySource, Bucket, Key, ExtraArgs=None, Callback=None, - SourceClient=None, Config=None): - """Copy an object from one S3 location to another. - - This is a managed transfer which will perform a multipart copy in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - copy_source = { - 'Bucket': 'mybucket', - 'Key': 'mykey' - } - s3.meta.client.copy(copy_source, 'otherbucket', 'otherkey') - - :type CopySource: dict - :param CopySource: The name of the source bucket, key name of the - source object, and optional version ID of the source object. The - dictionary format is: - ``{'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}``. Note - that the ``VersionId`` key is optional and may be omitted. - - :type Bucket: str - :param Bucket: The name of the bucket to copy to - - :type Key: str - :param Key: The name of the key to copy to - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the copy. - - :type SourceClient: botocore or boto3 Client - :param SourceClient: The client to be used for operation that - may happen at the source object. For example, this client is - used for the head_object that determines the size of the copy. - If no client is provided, the current client is used as the client - for the source object. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - copy. - """ - subscribers = None - if Callback is not None: - subscribers = [ProgressCallbackInvoker(Callback)] - - config = Config - if config is None: - config = TransferConfig() - - with create_transfer_manager(self, config) as manager: - future = manager.copy( - copy_source=CopySource, bucket=Bucket, key=Key, - extra_args=ExtraArgs, subscribers=subscribers, - source_client=SourceClient) - return future.result() - - -def bucket_copy(self, CopySource, Key, ExtraArgs=None, Callback=None, - SourceClient=None, Config=None): - """Copy an object from one S3 location to an object in this bucket. - - This is a managed transfer which will perform a multipart copy in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - copy_source = { - 'Bucket': 'mybucket', - 'Key': 'mykey' - } - bucket = s3.Bucket('otherbucket') - bucket.copy(copy_source, 'otherkey') - - :type CopySource: dict - :param CopySource: The name of the source bucket, key name of the - source object, and optional version ID of the source object. The - dictionary format is: - ``{'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}``. Note - that the ``VersionId`` key is optional and may be omitted. - - :type Key: str - :param Key: The name of the key to copy to - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the copy. - - :type SourceClient: botocore or boto3 Client - :param SourceClient: The client to be used for operation that - may happen at the source object. For example, this client is - used for the head_object that determines the size of the copy. - If no client is provided, the current client is used as the client - for the source object. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - copy. - """ - return self.meta.client.copy( - CopySource=CopySource, Bucket=self.name, Key=Key, ExtraArgs=ExtraArgs, - Callback=Callback, SourceClient=SourceClient, Config=Config) - - -def object_copy(self, CopySource, ExtraArgs=None, Callback=None, - SourceClient=None, Config=None): - """Copy an object from one S3 location to this object. - - This is a managed transfer which will perform a multipart copy in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - copy_source = { - 'Bucket': 'mybucket', - 'Key': 'mykey' - } - bucket = s3.Bucket('otherbucket') - obj = bucket.Object('otherkey') - obj.copy(copy_source) - - :type CopySource: dict - :param CopySource: The name of the source bucket, key name of the - source object, and optional version ID of the source object. The - dictionary format is: - ``{'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}``. Note - that the ``VersionId`` key is optional and may be omitted. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the copy. - - :type SourceClient: botocore or boto3 Client - :param SourceClient: The client to be used for operation that - may happen at the source object. For example, this client is - used for the head_object that determines the size of the copy. - If no client is provided, the current client is used as the client - for the source object. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - copy. - """ - return self.meta.client.copy( - CopySource=CopySource, Bucket=self.bucket_name, Key=self.key, - ExtraArgs=ExtraArgs, Callback=Callback, SourceClient=SourceClient, - Config=Config) - - -def upload_fileobj(self, Fileobj, Bucket, Key, ExtraArgs=None, - Callback=None, Config=None): - """Upload a file-like object to S3. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart upload in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.client('s3') - - with open('filename', 'rb') as data: - s3.upload_fileobj(data, 'mybucket', 'mykey') - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to upload. At a minimum, it must - implement the `read` method, and must return bytes. - - :type Bucket: str - :param Bucket: The name of the bucket to upload to. - - :type Key: str - :param Key: The name of the key to upload to. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - upload. - """ - if not hasattr(Fileobj, 'read'): - raise ValueError('Fileobj must implement read') - - subscribers = None - if Callback is not None: - subscribers = [ProgressCallbackInvoker(Callback)] - - config = Config - if config is None: - config = TransferConfig() - - with create_transfer_manager(self, config) as manager: - future = manager.upload( - fileobj=Fileobj, bucket=Bucket, key=Key, - extra_args=ExtraArgs, subscribers=subscribers) - return future.result() - - -def bucket_upload_fileobj(self, Fileobj, Key, ExtraArgs=None, - Callback=None, Config=None): - """Upload a file-like object to this bucket. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart upload in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - bucket = s3.Bucket('mybucket') - - with open('filename', 'rb') as data: - bucket.upload_fileobj(data, 'mykey') - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to upload. At a minimum, it must - implement the `read` method, and must return bytes. - - :type Key: str - :param Key: The name of the key to upload to. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - upload. - """ - return self.meta.client.upload_fileobj( - Fileobj=Fileobj, Bucket=self.name, Key=Key, ExtraArgs=ExtraArgs, - Callback=Callback, Config=Config) - - -def object_upload_fileobj(self, Fileobj, ExtraArgs=None, Callback=None, - Config=None): - """Upload a file-like object to this object. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart upload in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - bucket = s3.Bucket('mybucket') - obj = bucket.Object('mykey') - - with open('filename', 'rb') as data: - obj.upload_fileobj(data) - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to upload. At a minimum, it must - implement the `read` method, and must return bytes. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the upload. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - upload. - """ - return self.meta.client.upload_fileobj( - Fileobj=Fileobj, Bucket=self.bucket_name, Key=self.key, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - - -def download_fileobj(self, Bucket, Key, Fileobj, ExtraArgs=None, - Callback=None, Config=None): - """Download an object from S3 to a file-like object. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart download in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.client('s3') - - with open('filename', 'wb') as data: - s3.download_fileobj('mybucket', 'mykey', data) - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to download into. At a minimum, it must - implement the `write` method and must accept bytes. - - :type Bucket: str - :param Bucket: The name of the bucket to download from. - - :type Key: str - :param Key: The name of the key to download from. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - download. - """ - if not hasattr(Fileobj, 'write'): - raise ValueError('Fileobj must implement write') - - subscribers = None - if Callback is not None: - subscribers = [ProgressCallbackInvoker(Callback)] - - config = Config - if config is None: - config = TransferConfig() - - with create_transfer_manager(self, config) as manager: - future = manager.download( - bucket=Bucket, key=Key, fileobj=Fileobj, - extra_args=ExtraArgs, subscribers=subscribers) - return future.result() - - -def bucket_download_fileobj(self, Key, Fileobj, ExtraArgs=None, - Callback=None, Config=None): - """Download an object from this bucket to a file-like-object. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart download in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - bucket = s3.Bucket('mybucket') - - with open('filename', 'wb') as data: - bucket.download_fileobj('mykey', data) - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to download into. At a minimum, it must - implement the `write` method and must accept bytes. - - :type Key: str - :param Key: The name of the key to download from. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - download. - """ - return self.meta.client.download_fileobj( - Bucket=self.name, Key=Key, Fileobj=Fileobj, ExtraArgs=ExtraArgs, - Callback=Callback, Config=Config) - - -def object_download_fileobj(self, Fileobj, ExtraArgs=None, Callback=None, - Config=None): - """Download this object from S3 to a file-like object. - - The file-like object must be in binary mode. - - This is a managed transfer which will perform a multipart download in - multiple threads if necessary. - - Usage:: - - import boto3 - s3 = boto3.resource('s3') - bucket = s3.Bucket('mybucket') - obj = bucket.Object('mykey') - - with open('filename', 'wb') as data: - obj.download_fileobj(data) - - :type Fileobj: a file-like object - :param Fileobj: A file-like object to download into. At a minimum, it must - implement the `write` method and must accept bytes. - - :type ExtraArgs: dict - :param ExtraArgs: Extra arguments that may be passed to the - client operation. - - :type Callback: function - :param Callback: A method which takes a number of bytes transferred to - be periodically called during the download. - - :type Config: boto3.s3.transfer.TransferConfig - :param Config: The transfer configuration to be used when performing the - download. - """ - return self.meta.client.download_fileobj( - Bucket=self.bucket_name, Key=self.key, Fileobj=Fileobj, - ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) - diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/transfer.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/transfer.py deleted file mode 100644 index 5c8b8318..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/s3/transfer.py +++ /dev/null @@ -1,338 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Abstractions over S3's upload/download operations. - -This module provides high level abstractions for efficient -uploads/downloads. It handles several things for the user: - -* Automatically switching to multipart transfers when - a file is over a specific size threshold -* Uploading/downloading a file in parallel -* Progress callbacks to monitor transfers -* Retries. While botocore handles retries for streaming uploads, - it is not possible for it to handle retries for streaming - downloads. This module handles retries for both cases so - you don't need to implement any retry logic yourself. - -This module has a reasonable set of defaults. It also allows you -to configure many aspects of the transfer process including: - -* Multipart threshold size -* Max parallel downloads -* Socket timeouts -* Retry amounts - -There is no support for s3->s3 multipart copies at this -time. - - -.. _ref_s3transfer_usage: - -Usage -===== - -The simplest way to use this module is: - -.. code-block:: python - - client = boto3.client('s3', 'us-west-2') - transfer = S3Transfer(client) - # Upload /tmp/myfile to s3://bucket/key - transfer.upload_file('/tmp/myfile', 'bucket', 'key') - - # Download s3://bucket/key to /tmp/myfile - transfer.download_file('bucket', 'key', '/tmp/myfile') - -The ``upload_file`` and ``download_file`` methods also accept -``**kwargs``, which will be forwarded through to the corresponding -client operation. Here are a few examples using ``upload_file``:: - - # Making the object public - transfer.upload_file('/tmp/myfile', 'bucket', 'key', - extra_args={'ACL': 'public-read'}) - - # Setting metadata - transfer.upload_file('/tmp/myfile', 'bucket', 'key', - extra_args={'Metadata': {'a': 'b', 'c': 'd'}}) - - # Setting content type - transfer.upload_file('/tmp/myfile.json', 'bucket', 'key', - extra_args={'ContentType': "application/json"}) - - -The ``S3Transfer`` class also supports progress callbacks so you can -provide transfer progress to users. Both the ``upload_file`` and -``download_file`` methods take an optional ``callback`` parameter. -Here's an example of how to print a simple progress percentage -to the user: - -.. code-block:: python - - class ProgressPercentage(object): - def __init__(self, filename): - self._filename = filename - self._size = float(os.path.getsize(filename)) - self._seen_so_far = 0 - self._lock = threading.Lock() - - def __call__(self, bytes_amount): - # To simplify we'll assume this is hooked up - # to a single filename. - with self._lock: - self._seen_so_far += bytes_amount - percentage = (self._seen_so_far / self._size) * 100 - sys.stdout.write( - "\r%s %s / %s (%.2f%%)" % ( - self._filename, self._seen_so_far, self._size, - percentage)) - sys.stdout.flush() - - - transfer = S3Transfer(boto3.client('s3', 'us-west-2')) - # Upload /tmp/myfile to s3://bucket/key and print upload progress. - transfer.upload_file('/tmp/myfile', 'bucket', 'key', - callback=ProgressPercentage('/tmp/myfile')) - - - -You can also provide a TransferConfig object to the S3Transfer -object that gives you more fine grained control over the -transfer. For example: - -.. code-block:: python - - client = boto3.client('s3', 'us-west-2') - config = TransferConfig( - multipart_threshold=8 * 1024 * 1024, - max_concurrency=10, - num_download_attempts=10, - ) - transfer = S3Transfer(client, config) - transfer.upload_file('/tmp/foo', 'bucket', 'key') - - -""" -from botocore.exceptions import ClientError -from botocore.compat import six -from s3transfer.exceptions import RetriesExceededError as \ - S3TransferRetriesExceededError -from s3transfer.manager import TransferConfig as S3TransferConfig -from s3transfer.manager import TransferManager -from s3transfer.futures import NonThreadedExecutor -from s3transfer.subscribers import BaseSubscriber -from s3transfer.utils import OSUtils - -from boto3.exceptions import RetriesExceededError, S3UploadFailedError - - -KB = 1024 -MB = KB * KB - - -def create_transfer_manager(client, config, osutil=None): - """Creates a transfer manager based on configuration - - :type client: boto3.client - :param client: The S3 client to use - - :type config: boto3.s3.transfer.TransferConfig - :param config: The transfer config to use - - :type osutil: s3transfer.utils.OSUtils - :param osutil: The os utility to use - - :rtype: s3transfer.manager.TransferManager - :returns: A transfer manager based on parameters provided - """ - executor_cls = None - if not config.use_threads: - executor_cls = NonThreadedExecutor - return TransferManager(client, config, osutil, executor_cls) - - -class TransferConfig(S3TransferConfig): - ALIAS = { - 'max_concurrency': 'max_request_concurrency', - 'max_io_queue': 'max_io_queue_size' - } - - def __init__(self, - multipart_threshold=8 * MB, - max_concurrency=10, - multipart_chunksize=8 * MB, - num_download_attempts=5, - max_io_queue=100, - io_chunksize=256 * KB, - use_threads=True): - """Configuration object for managed S3 transfers - - :param multipart_threshold: The transfer size threshold for which - multipart uploads, downloads, and copies will automatically be - triggered. - - :param max_concurrency: The maximum number of threads that will be - making requests to perform a transfer. If ``use_threads`` is - set to ``False``, the value provided is ignored as the transfer - will only ever use the main thread. - - :param multipart_chunksize: The partition size of each part for a - multipart transfer. - - :param num_download_attempts: The number of download attempts that - will be retried upon errors with downloading an object in S3. - Note that these retries account for errors that occur when - streaming down the data from s3 (i.e. socket errors and read - timeouts that occur after recieving an OK response from s3). - Other retryable exceptions such as throttling errors and 5xx - errors are already retried by botocore (this default is 5). This - does not take into account the number of exceptions retried by - botocore. - - :param max_io_queue: The maximum amount of read parts that can be - queued in memory to be written for a download. The size of each - of these read parts is at most the size of ``io_chunksize``. - - :param io_chunksize: The max size of each chunk in the io queue. - Currently, this is size used when ``read`` is called on the - downloaded stream as well. - - :param use_threads: If True, threads will be used when performing - S3 transfers. If False, no threads will be used in - performing transfers: all logic will be ran in the main thread. - """ - super(TransferConfig, self).__init__( - multipart_threshold=multipart_threshold, - max_request_concurrency=max_concurrency, - multipart_chunksize=multipart_chunksize, - num_download_attempts=num_download_attempts, - max_io_queue_size=max_io_queue, - io_chunksize=io_chunksize, - ) - # Some of the argument names are not the same as the inherited - # S3TransferConfig so we add aliases so you can still access the - # old version of the names. - for alias in self.ALIAS: - setattr(self, alias, getattr(self, self.ALIAS[alias])) - self.use_threads = use_threads - - def __setattr__(self, name, value): - # If the alias name is used, make sure we set the name that it points - # to as that is what actually is used in governing the TransferManager. - if name in self.ALIAS: - super(TransferConfig, self).__setattr__(self.ALIAS[name], value) - # Always set the value of the actual name provided. - super(TransferConfig, self).__setattr__(name, value) - - -class S3Transfer(object): - ALLOWED_DOWNLOAD_ARGS = TransferManager.ALLOWED_DOWNLOAD_ARGS - ALLOWED_UPLOAD_ARGS = TransferManager.ALLOWED_UPLOAD_ARGS - - def __init__(self, client=None, config=None, osutil=None, manager=None): - if not client and not manager: - raise ValueError( - 'Either a boto3.Client or s3transfer.manager.TransferManager ' - 'must be provided' - ) - if manager and any([client, config, osutil]): - raise ValueError( - 'Manager cannot be provided with client, config, ' - 'nor osutil. These parameters are mutually exclusive.' - ) - if config is None: - config = TransferConfig() - if osutil is None: - osutil = OSUtils() - if manager: - self._manager = manager - else: - self._manager = create_transfer_manager(client, config, osutil) - - def upload_file(self, filename, bucket, key, - callback=None, extra_args=None): - """Upload a file to an S3 object. - - Variants have also been injected into S3 client, Bucket and Object. - You don't have to use S3Transfer.upload_file() directly. - - .. seealso:: - :py:meth:`S3.Client.upload_file` - :py:meth:`S3.Client.upload_fileobj` - """ - if not isinstance(filename, six.string_types): - raise ValueError('Filename must be a string') - - subscribers = self._get_subscribers(callback) - future = self._manager.upload( - filename, bucket, key, extra_args, subscribers) - try: - future.result() - # If a client error was raised, add the backwards compatibility layer - # that raises a S3UploadFailedError. These specific errors were only - # ever thrown for upload_parts but now can be thrown for any related - # client error. - except ClientError as e: - raise S3UploadFailedError( - "Failed to upload %s to %s: %s" % ( - filename, '/'.join([bucket, key]), e)) - - def download_file(self, bucket, key, filename, extra_args=None, - callback=None): - """Download an S3 object to a file. - - Variants have also been injected into S3 client, Bucket and Object. - You don't have to use S3Transfer.download_file() directly. - - .. seealso:: - :py:meth:`S3.Client.download_file` - :py:meth:`S3.Client.download_fileobj` - """ - if not isinstance(filename, six.string_types): - raise ValueError('Filename must be a string') - - subscribers = self._get_subscribers(callback) - future = self._manager.download( - bucket, key, filename, extra_args, subscribers) - try: - future.result() - # This is for backwards compatibility where when retries are - # exceeded we need to throw the same error from boto3 instead of - # s3transfer's built in RetriesExceededError as current users are - # catching the boto3 one instead of the s3transfer exception to do - # their own retries. - except S3TransferRetriesExceededError as e: - raise RetriesExceededError(e.last_exception) - - def _get_subscribers(self, callback): - if not callback: - return None - return [ProgressCallbackInvoker(callback)] - - def __enter__(self): - return self - - def __exit__(self, *args): - self._manager.__exit__(*args) - - -class ProgressCallbackInvoker(BaseSubscriber): - """A back-compat wrapper to invoke a provided callback via a subscriber - - :param callback: A callable that takes a single positional argument for - how many bytes were transferred. - """ - def __init__(self, callback): - self._callback = callback - - def on_progress(self, bytes_transferred, **kwargs): - self._callback(bytes_transferred) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/session.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/session.py deleted file mode 100644 index 7ccb2351..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/session.py +++ /dev/null @@ -1,452 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import copy -import os - -import botocore.session -from botocore.client import Config -from botocore.exceptions import DataNotFoundError, UnknownServiceError - -import boto3 -import boto3.utils -from boto3.exceptions import ResourceNotExistsError, UnknownAPIVersionError - -from .resources.factory import ResourceFactory - - -class Session(object): - """ - A session stores configuration state and allows you to create service - clients and resources. - - :type aws_access_key_id: string - :param aws_access_key_id: AWS access key ID - :type aws_secret_access_key: string - :param aws_secret_access_key: AWS secret access key - :type aws_session_token: string - :param aws_session_token: AWS temporary session token - :type region_name: string - :param region_name: Default region when creating new connections - :type botocore_session: botocore.session.Session - :param botocore_session: Use this Botocore session instead of creating - a new default one. - :type profile_name: string - :param profile_name: The name of a profile to use. If not given, then - the default profile is used. - """ - def __init__(self, aws_access_key_id=None, aws_secret_access_key=None, - aws_session_token=None, region_name=None, - botocore_session=None, profile_name=None): - if botocore_session is not None: - self._session = botocore_session - else: - # Create a new default session - self._session = botocore.session.get_session() - - # Setup custom user-agent string if it isn't already customized - if self._session.user_agent_name == 'Botocore': - botocore_info = 'Botocore/{0}'.format( - self._session.user_agent_version) - if self._session.user_agent_extra: - self._session.user_agent_extra += ' ' + botocore_info - else: - self._session.user_agent_extra = botocore_info - self._session.user_agent_name = 'Boto3' - self._session.user_agent_version = boto3.__version__ - - if profile_name is not None: - self._session.set_config_variable('profile', profile_name) - - if aws_access_key_id or aws_secret_access_key or aws_session_token: - self._session.set_credentials( - aws_access_key_id, aws_secret_access_key, aws_session_token) - - if region_name is not None: - self._session.set_config_variable('region', region_name) - - self.resource_factory = ResourceFactory( - self._session.get_component('event_emitter')) - self._setup_loader() - self._register_default_handlers() - - def __repr__(self): - return '{0}(region_name={1})'.format( - self.__class__.__name__, - repr(self._session.get_config_variable('region'))) - - @property - def profile_name(self): - """ - The **read-only** profile name. - """ - return self._session.profile or 'default' - - @property - def region_name(self): - """ - The **read-only** region name. - """ - return self._session.get_config_variable('region') - - @property - def events(self): - """ - The event emitter for a session - """ - return self._session.get_component('event_emitter') - - @property - def available_profiles(self): - """ - The profiles available to the session credentials - """ - return self._session.available_profiles - - def _setup_loader(self): - """ - Setup loader paths so that we can load resources. - """ - self._loader = self._session.get_component('data_loader') - self._loader.search_paths.append( - os.path.join(os.path.dirname(__file__), 'data')) - - def get_available_services(self): - """ - Get a list of available services that can be loaded as low-level - clients via :py:meth:`Session.client`. - - :rtype: list - :return: List of service names - """ - return self._session.get_available_services() - - def get_available_resources(self): - """ - Get a list of available services that can be loaded as resource - clients via :py:meth:`Session.resource`. - - :rtype: list - :return: List of service names - """ - return self._loader.list_available_services(type_name='resources-1') - - def get_available_partitions(self): - """Lists the available partitions - - :rtype: list - :return: Returns a list of partition names (e.g., ["aws", "aws-cn"]) - """ - return self._session.get_available_partitions() - - def get_available_regions(self, service_name, partition_name='aws', - allow_non_regional=False): - """Lists the region and endpoint names of a particular partition. - - :type service_name: string - :param service_name: Name of a service to list endpoint for (e.g., s3). - - :type partition_name: string - :param partition_name: Name of the partition to limit endpoints to. - (e.g., aws for the public AWS endpoints, aws-cn for AWS China - endpoints, aws-us-gov for AWS GovCloud (US) Endpoints, etc.) - - :type allow_non_regional: bool - :param allow_non_regional: Set to True to include endpoints that are - not regional endpoints (e.g., s3-external-1, - fips-us-gov-west-1, etc). - - :return: Returns a list of endpoint names (e.g., ["us-east-1"]). - """ - return self._session.get_available_regions( - service_name=service_name, partition_name=partition_name, - allow_non_regional=allow_non_regional) - - def get_credentials(self): - """ - Return the :class:`botocore.credential.Credential` object - associated with this session. If the credentials have not - yet been loaded, this will attempt to load them. If they - have already been loaded, this will return the cached - credentials. - """ - return self._session.get_credentials() - - def client(self, service_name, region_name=None, api_version=None, - use_ssl=True, verify=None, endpoint_url=None, - aws_access_key_id=None, aws_secret_access_key=None, - aws_session_token=None, config=None): - """ - Create a low-level service client by name. - - :type service_name: string - :param service_name: The name of a service, e.g. 's3' or 'ec2'. You - can get a list of available services via - :py:meth:`get_available_services`. - - :type region_name: string - :param region_name: The name of the region associated with the client. - A client is associated with a single region. - - :type api_version: string - :param api_version: The API version to use. By default, botocore will - use the latest API version when creating a client. You only need - to specify this parameter if you want to use a previous API version - of the client. - - :type use_ssl: boolean - :param use_ssl: Whether or not to use SSL. By default, SSL is used. - Note that not all services support non-ssl connections. - - :type verify: boolean/string - :param verify: Whether or not to verify SSL certificates. By default - SSL certificates are verified. You can provide the following - values: - - * False - do not validate SSL certificates. SSL will still be - used (unless use_ssl is False), but SSL certificates - will not be verified. - * path/to/cert/bundle.pem - A filename of the CA cert bundle to - uses. You can specify this argument if you want to use a - different CA cert bundle than the one used by botocore. - - :type endpoint_url: string - :param endpoint_url: The complete URL to use for the constructed - client. Normally, botocore will automatically construct the - appropriate URL to use when communicating with a service. You - can specify a complete URL (including the "http/https" scheme) - to override this behavior. If this value is provided, - then ``use_ssl`` is ignored. - - :type aws_access_key_id: string - :param aws_access_key_id: The access key to use when creating - the client. This is entirely optional, and if not provided, - the credentials configured for the session will automatically - be used. You only need to provide this argument if you want - to override the credentials used for this specific client. - - :type aws_secret_access_key: string - :param aws_secret_access_key: The secret key to use when creating - the client. Same semantics as aws_access_key_id above. - - :type aws_session_token: string - :param aws_session_token: The session token to use when creating - the client. Same semantics as aws_access_key_id above. - - :type config: botocore.client.Config - :param config: Advanced client configuration options. If region_name - is specified in the client config, its value will take precedence - over environment variables and configuration values, but not over - a region_name value passed explicitly to the method. See - `botocore config documentation - `_ - for more details. - - :return: Service client instance - - """ - return self._session.create_client( - service_name, region_name=region_name, api_version=api_version, - use_ssl=use_ssl, verify=verify, endpoint_url=endpoint_url, - aws_access_key_id=aws_access_key_id, - aws_secret_access_key=aws_secret_access_key, - aws_session_token=aws_session_token, config=config) - - def resource(self, service_name, region_name=None, api_version=None, - use_ssl=True, verify=None, endpoint_url=None, - aws_access_key_id=None, aws_secret_access_key=None, - aws_session_token=None, config=None): - """ - Create a resource service client by name. - - :type service_name: string - :param service_name: The name of a service, e.g. 's3' or 'ec2'. You - can get a list of available services via - :py:meth:`get_available_resources`. - - :type region_name: string - :param region_name: The name of the region associated with the client. - A client is associated with a single region. - - :type api_version: string - :param api_version: The API version to use. By default, botocore will - use the latest API version when creating a client. You only need - to specify this parameter if you want to use a previous API version - of the client. - - :type use_ssl: boolean - :param use_ssl: Whether or not to use SSL. By default, SSL is used. - Note that not all services support non-ssl connections. - - :type verify: boolean/string - :param verify: Whether or not to verify SSL certificates. By default - SSL certificates are verified. You can provide the following - values: - - * False - do not validate SSL certificates. SSL will still be - used (unless use_ssl is False), but SSL certificates - will not be verified. - * path/to/cert/bundle.pem - A filename of the CA cert bundle to - uses. You can specify this argument if you want to use a - different CA cert bundle than the one used by botocore. - - :type endpoint_url: string - :param endpoint_url: The complete URL to use for the constructed - client. Normally, botocore will automatically construct the - appropriate URL to use when communicating with a service. You - can specify a complete URL (including the "http/https" scheme) - to override this behavior. If this value is provided, - then ``use_ssl`` is ignored. - - :type aws_access_key_id: string - :param aws_access_key_id: The access key to use when creating - the client. This is entirely optional, and if not provided, - the credentials configured for the session will automatically - be used. You only need to provide this argument if you want - to override the credentials used for this specific client. - - :type aws_secret_access_key: string - :param aws_secret_access_key: The secret key to use when creating - the client. Same semantics as aws_access_key_id above. - - :type aws_session_token: string - :param aws_session_token: The session token to use when creating - the client. Same semantics as aws_access_key_id above. - - :type config: botocore.client.Config - :param config: Advanced client configuration options. If region_name - is specified in the client config, its value will take precedence - over environment variables and configuration values, but not over - a region_name value passed explicitly to the method. If - user_agent_extra is specified in the client config, it overrides - the default user_agent_extra provided by the resource API. See - `botocore config documentation - `_ - for more details. - - :return: Subclass of :py:class:`~boto3.resources.base.ServiceResource` - """ - try: - resource_model = self._loader.load_service_model( - service_name, 'resources-1', api_version) - except UnknownServiceError: - available = self.get_available_resources() - has_low_level_client = ( - service_name in self.get_available_services()) - raise ResourceNotExistsError(service_name, available, - has_low_level_client) - except DataNotFoundError: - # This is because we've provided an invalid API version. - available_api_versions = self._loader.list_api_versions( - service_name, 'resources-1') - raise UnknownAPIVersionError( - service_name, api_version, ', '.join(available_api_versions)) - - if api_version is None: - # Even though botocore's load_service_model() can handle - # using the latest api_version if not provided, we need - # to track this api_version in boto3 in order to ensure - # we're pairing a resource model with a client model - # of the same API version. It's possible for the latest - # API version of a resource model in boto3 to not be - # the same API version as a service model in botocore. - # So we need to look up the api_version if one is not - # provided to ensure we load the same API version of the - # client. - # - # Note: This is relying on the fact that - # loader.load_service_model(..., api_version=None) - # and loader.determine_latest_version(..., 'resources-1') - # both load the same api version of the file. - api_version = self._loader.determine_latest_version( - service_name, 'resources-1') - - # Creating a new resource instance requires the low-level client - # and service model, the resource version and resource JSON data. - # We pass these to the factory and get back a class, which is - # instantiated on top of the low-level client. - if config is not None: - if config.user_agent_extra is None: - config = copy.deepcopy(config) - config.user_agent_extra = 'Resource' - else: - config = Config(user_agent_extra='Resource') - client = self.client( - service_name, region_name=region_name, api_version=api_version, - use_ssl=use_ssl, verify=verify, endpoint_url=endpoint_url, - aws_access_key_id=aws_access_key_id, - aws_secret_access_key=aws_secret_access_key, - aws_session_token=aws_session_token, config=config) - service_model = client.meta.service_model - - # Create a ServiceContext object to serve as a reference to - # important read-only information about the general service. - service_context = boto3.utils.ServiceContext( - service_name=service_name, service_model=service_model, - resource_json_definitions=resource_model['resources'], - service_waiter_model=boto3.utils.LazyLoadedWaiterModel( - self._session, service_name, api_version) - ) - - # Create the service resource class. - cls = self.resource_factory.load_from_definition( - resource_name=service_name, - single_resource_json_definition=resource_model['service'], - service_context=service_context - ) - - return cls(client=client) - - def _register_default_handlers(self): - - # S3 customizations - self._session.register( - 'creating-client-class.s3', - boto3.utils.lazy_call( - 'boto3.s3.inject.inject_s3_transfer_methods')) - self._session.register( - 'creating-resource-class.s3.Bucket', - boto3.utils.lazy_call( - 'boto3.s3.inject.inject_bucket_methods')) - self._session.register( - 'creating-resource-class.s3.Object', - boto3.utils.lazy_call( - 'boto3.s3.inject.inject_object_methods')) - self._session.register( - 'creating-resource-class.s3.ObjectSummary', - boto3.utils.lazy_call( - 'boto3.s3.inject.inject_object_summary_methods')) - - # DynamoDb customizations - self._session.register( - 'creating-resource-class.dynamodb', - boto3.utils.lazy_call( - 'boto3.dynamodb.transform.register_high_level_interface'), - unique_id='high-level-dynamodb') - self._session.register( - 'creating-resource-class.dynamodb.Table', - boto3.utils.lazy_call( - 'boto3.dynamodb.table.register_table_methods'), - unique_id='high-level-dynamodb-table') - - # EC2 Customizations - self._session.register( - 'creating-resource-class.ec2.ServiceResource', - boto3.utils.lazy_call( - 'boto3.ec2.createtags.inject_create_tags')) - - self._session.register( - 'creating-resource-class.ec2.Instance', - boto3.utils.lazy_call( - 'boto3.ec2.deletetags.inject_delete_tags', - event_emitter=self.events)) diff --git a/.eggs/boto3-1.8.8-py2.7.egg/boto3/utils.py b/.eggs/boto3-1.8.8-py2.7.egg/boto3/utils.py deleted file mode 100644 index 826d39d6..00000000 --- a/.eggs/boto3-1.8.8-py2.7.egg/boto3/utils.py +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import sys -from collections import namedtuple - - -_ServiceContext = namedtuple( - 'ServiceContext', - ['service_name', 'service_model', 'service_waiter_model', - 'resource_json_definitions'] -) - - -class ServiceContext(_ServiceContext): - """Provides important service-wide, read-only information about a service - - :type service_name: str - :param service_name: The name of the service - - :type service_model: :py:class:`botocore.model.ServiceModel` - :param service_model: The model of the service. - - :type service_waiter_model: :py:class:`botocore.waiter.WaiterModel` or - a waiter model-like object such as - :py:class:`boto3.utils.LazyLoadedWaiterModel` - :param service_waiter_model: The waiter model of the service. - - :type resource_json_definitions: dict - :param resource_json_definitions: The loaded json models of all resource - shapes for a service. It is equivalient of loading a - ``resource-1.json`` and retrieving the value at the key "resources". - """ - pass - - -def import_module(name): - """Import module given a name. - - Does not support relative imports. - - """ - __import__(name) - return sys.modules[name] - - -def lazy_call(full_name, **kwargs): - parent_kwargs = kwargs - - def _handler(**kwargs): - module, function_name = full_name.rsplit('.', 1) - module = import_module(module) - kwargs.update(parent_kwargs) - return getattr(module, function_name)(**kwargs) - - return _handler - - -def inject_attribute(class_attributes, name, value): - if name in class_attributes: - raise RuntimeError( - 'Cannot inject class attribute "%s", attribute ' - 'already exists in class dict.' % name) - else: - class_attributes[name] = value - - -class LazyLoadedWaiterModel(object): - """A lazily loaded waiter model - - This does not load the service waiter model until an attempt is made - to retrieve the waiter model for a specific waiter. This is helpful - in docstring generation where we do not need to actually need to grab - the waiter-2.json until it is accessed through a ``get_waiter`` call - when the docstring is generated/accessed. - """ - def __init__(self, bc_session, service_name, api_version): - self._session = bc_session - self._service_name = service_name - self._api_version = api_version - - def get_waiter(self, waiter_name): - return self._session.get_waiter_model( - self._service_name, self._api_version).get_waiter(waiter_name) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/PKG-INFO b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/PKG-INFO deleted file mode 100644 index f15d9318..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/PKG-INFO +++ /dev/null @@ -1,58 +0,0 @@ -Metadata-Version: 1.1 -Name: botocore -Version: 1.11.8 -Summary: Low-level, data-driven core of boto 3. -Home-page: https://github.com/boto/botocore -Author: Amazon Web Services -Author-email: UNKNOWN -License: Apache License 2.0 -Description: botocore - ======== - - .. image:: https://secure.travis-ci.org/boto/botocore.png?branch=develop - :target: http://travis-ci.org/boto/botocore - - .. image:: https://codecov.io/github/boto/botocore/coverage.svg?branch=develop - :target: https://codecov.io/github/boto/botocore?branch=develop - - - A low-level interface to a growing number of Amazon Web Services. The - botocore package is the foundation for the - `AWS CLI `__ as well as - `boto3 `__. - - - 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 -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: System Administrators -Classifier: Natural Language :: English -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/SOURCES.txt b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/SOURCES.txt deleted file mode 100644 index 9d45941e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/SOURCES.txt +++ /dev/null @@ -1,1483 +0,0 @@ -LICENSE.txt -MANIFEST.in -README.rst -requirements.txt -setup.cfg -setup.py -botocore/__init__.py -botocore/args.py -botocore/auth.py -botocore/awsrequest.py -botocore/cacert.pem -botocore/client.py -botocore/compat.py -botocore/config.py -botocore/configloader.py -botocore/credentials.py -botocore/endpoint.py -botocore/errorfactory.py -botocore/eventstream.py -botocore/exceptions.py -botocore/handlers.py -botocore/history.py -botocore/hooks.py -botocore/httpsession.py -botocore/loaders.py -botocore/model.py -botocore/paginate.py -botocore/parsers.py -botocore/regions.py -botocore/response.py -botocore/retryhandler.py -botocore/serialize.py -botocore/session.py -botocore/signers.py -botocore/stub.py -botocore/translate.py -botocore/utils.py -botocore/validate.py -botocore/waiter.py -botocore.egg-info/PKG-INFO -botocore.egg-info/SOURCES.txt -botocore.egg-info/dependency_links.txt -botocore.egg-info/requires.txt -botocore.egg-info/top_level.txt -botocore/data/_retry.json -botocore/data/endpoints.json -botocore/data/acm-pca/2017-08-22/paginators-1.json -botocore/data/acm-pca/2017-08-22/service-2.json -botocore/data/acm/2015-12-08/examples-1.json -botocore/data/acm/2015-12-08/paginators-1.json -botocore/data/acm/2015-12-08/service-2.json -botocore/data/acm/2015-12-08/waiters-2.json -botocore/data/alexaforbusiness/2017-11-09/paginators-1.json -botocore/data/alexaforbusiness/2017-11-09/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/appstream/2016-12-01/waiters-2.json -botocore/data/appsync/2017-07-25/paginators-1.json -botocore/data/appsync/2017-07-25/service-2.json -botocore/data/athena/2017-05-18/paginators-1.json -botocore/data/athena/2017-05-18/service-2.json -botocore/data/autoscaling-plans/2018-01-06/paginators-1.json -botocore/data/autoscaling-plans/2018-01-06/service-2.json -botocore/data/autoscaling/2011-01-01/examples-1.json -botocore/data/autoscaling/2011-01-01/paginators-1.json -botocore/data/autoscaling/2011-01-01/service-2.json -botocore/data/batch/2016-08-10/examples-1.json -botocore/data/batch/2016-08-10/paginators-1.json -botocore/data/batch/2016-08-10/service-2.json -botocore/data/budgets/2016-10-20/examples-1.json -botocore/data/budgets/2016-10-20/paginators-1.json -botocore/data/budgets/2016-10-20/service-2.json -botocore/data/ce/2017-10-25/paginators-1.json -botocore/data/ce/2017-10-25/service-2.json -botocore/data/cloud9/2017-09-23/paginators-1.json -botocore/data/cloud9/2017-09-23/service-2.json -botocore/data/clouddirectory/2016-05-10/paginators-1.json -botocore/data/clouddirectory/2016-05-10/service-2.json -botocore/data/clouddirectory/2017-01-11/paginators-1.json -botocore/data/clouddirectory/2017-01-11/service-2.json -botocore/data/cloudformation/2010-05-15/examples-1.json -botocore/data/cloudformation/2010-05-15/paginators-1.json -botocore/data/cloudformation/2010-05-15/service-2.json -botocore/data/cloudformation/2010-05-15/waiters-2.json -botocore/data/cloudfront/2014-05-31/paginators-1.json -botocore/data/cloudfront/2014-05-31/service-2.json -botocore/data/cloudfront/2014-05-31/waiters-2.json -botocore/data/cloudfront/2014-10-21/paginators-1.json -botocore/data/cloudfront/2014-10-21/service-2.json -botocore/data/cloudfront/2014-10-21/waiters-2.json -botocore/data/cloudfront/2014-11-06/paginators-1.json -botocore/data/cloudfront/2014-11-06/service-2.json -botocore/data/cloudfront/2014-11-06/waiters-2.json -botocore/data/cloudfront/2015-04-17/paginators-1.json -botocore/data/cloudfront/2015-04-17/service-2.json -botocore/data/cloudfront/2015-04-17/waiters-2.json -botocore/data/cloudfront/2015-07-27/paginators-1.json -botocore/data/cloudfront/2015-07-27/service-2.json -botocore/data/cloudfront/2015-07-27/waiters-2.json -botocore/data/cloudfront/2015-09-17/paginators-1.json -botocore/data/cloudfront/2015-09-17/service-2.json -botocore/data/cloudfront/2015-09-17/waiters-2.json -botocore/data/cloudfront/2016-01-13/paginators-1.json -botocore/data/cloudfront/2016-01-13/service-2.json -botocore/data/cloudfront/2016-01-13/waiters-2.json -botocore/data/cloudfront/2016-01-28/paginators-1.json -botocore/data/cloudfront/2016-01-28/service-2.json -botocore/data/cloudfront/2016-01-28/waiters-2.json -botocore/data/cloudfront/2016-08-01/paginators-1.json -botocore/data/cloudfront/2016-08-01/service-2.json -botocore/data/cloudfront/2016-08-01/waiters-2.json -botocore/data/cloudfront/2016-08-20/paginators-1.json -botocore/data/cloudfront/2016-08-20/service-2.json -botocore/data/cloudfront/2016-08-20/waiters-2.json -botocore/data/cloudfront/2016-09-07/paginators-1.json -botocore/data/cloudfront/2016-09-07/service-2.json -botocore/data/cloudfront/2016-09-07/waiters-2.json -botocore/data/cloudfront/2016-09-29/paginators-1.json -botocore/data/cloudfront/2016-09-29/service-2.json -botocore/data/cloudfront/2016-09-29/waiters-2.json -botocore/data/cloudfront/2016-11-25/examples-1.json -botocore/data/cloudfront/2016-11-25/paginators-1.json -botocore/data/cloudfront/2016-11-25/service-2.json -botocore/data/cloudfront/2016-11-25/waiters-2.json -botocore/data/cloudfront/2017-03-25/examples-1.json -botocore/data/cloudfront/2017-03-25/paginators-1.json -botocore/data/cloudfront/2017-03-25/service-2.json -botocore/data/cloudfront/2017-03-25/waiters-2.json -botocore/data/cloudfront/2017-10-30/examples-1.json -botocore/data/cloudfront/2017-10-30/paginators-1.json -botocore/data/cloudfront/2017-10-30/service-2.json -botocore/data/cloudfront/2017-10-30/waiters-2.json -botocore/data/cloudfront/2018-06-18/examples-1.json -botocore/data/cloudfront/2018-06-18/paginators-1.json -botocore/data/cloudfront/2018-06-18/service-2.json -botocore/data/cloudfront/2018-06-18/waiters-2.json -botocore/data/cloudhsm/2014-05-30/examples-1.json -botocore/data/cloudhsm/2014-05-30/paginators-1.json -botocore/data/cloudhsm/2014-05-30/service-2.json -botocore/data/cloudhsmv2/2017-04-28/paginators-1.json -botocore/data/cloudhsmv2/2017-04-28/service-2.json -botocore/data/cloudsearch/2011-02-01/service-2.json -botocore/data/cloudsearch/2013-01-01/paginators-1.json -botocore/data/cloudsearch/2013-01-01/service-2.json -botocore/data/cloudsearchdomain/2013-01-01/examples-1.json -botocore/data/cloudsearchdomain/2013-01-01/service-2.json -botocore/data/cloudtrail/2013-11-01/examples-1.json -botocore/data/cloudtrail/2013-11-01/paginators-1.json -botocore/data/cloudtrail/2013-11-01/service-2.json -botocore/data/cloudwatch/2010-08-01/examples-1.json -botocore/data/cloudwatch/2010-08-01/paginators-1.json -botocore/data/cloudwatch/2010-08-01/service-2.json -botocore/data/cloudwatch/2010-08-01/waiters-2.json -botocore/data/codebuild/2016-10-06/examples-1.json -botocore/data/codebuild/2016-10-06/paginators-1.json -botocore/data/codebuild/2016-10-06/service-2.json -botocore/data/codecommit/2015-04-13/examples-1.json -botocore/data/codecommit/2015-04-13/paginators-1.json -botocore/data/codecommit/2015-04-13/service-2.json -botocore/data/codedeploy/2014-10-06/examples-1.json -botocore/data/codedeploy/2014-10-06/paginators-1.json -botocore/data/codedeploy/2014-10-06/service-2.json -botocore/data/codedeploy/2014-10-06/waiters-2.json -botocore/data/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/comprehend/2017-11-27/paginators-1.json -botocore/data/comprehend/2017-11-27/service-2.json -botocore/data/config/2014-11-12/examples-1.json -botocore/data/config/2014-11-12/paginators-1.json -botocore/data/config/2014-11-12/service-2.json -botocore/data/connect/2017-08-08/paginators-1.json -botocore/data/connect/2017-08-08/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/dlm/2018-01-12/paginators-1.json -botocore/data/dlm/2018-01-12/service-2.json -botocore/data/dms/2016-01-01/examples-1.json -botocore/data/dms/2016-01-01/paginators-1.json -botocore/data/dms/2016-01-01/service-2.json -botocore/data/ds/2015-04-16/examples-1.json -botocore/data/ds/2015-04-16/paginators-1.json -botocore/data/ds/2015-04-16/service-2.json -botocore/data/dynamodb/2012-08-10/examples-1.json -botocore/data/dynamodb/2012-08-10/paginators-1.json -botocore/data/dynamodb/2012-08-10/service-2.json -botocore/data/dynamodb/2012-08-10/waiters-2.json -botocore/data/dynamodbstreams/2012-08-10/examples-1.json -botocore/data/dynamodbstreams/2012-08-10/paginators-1.json -botocore/data/dynamodbstreams/2012-08-10/service-2.json -botocore/data/ec2/2014-09-01/paginators-1.json -botocore/data/ec2/2014-09-01/service-2.json -botocore/data/ec2/2014-09-01/waiters-2.json -botocore/data/ec2/2014-10-01/paginators-1.json -botocore/data/ec2/2014-10-01/service-2.json -botocore/data/ec2/2014-10-01/waiters-2.json -botocore/data/ec2/2015-03-01/paginators-1.json -botocore/data/ec2/2015-03-01/service-2.json -botocore/data/ec2/2015-03-01/waiters-2.json -botocore/data/ec2/2015-04-15/paginators-1.json -botocore/data/ec2/2015-04-15/service-2.json -botocore/data/ec2/2015-04-15/waiters-2.json -botocore/data/ec2/2015-10-01/paginators-1.json -botocore/data/ec2/2015-10-01/service-2.json -botocore/data/ec2/2015-10-01/waiters-2.json -botocore/data/ec2/2016-04-01/paginators-1.json -botocore/data/ec2/2016-04-01/service-2.json -botocore/data/ec2/2016-04-01/waiters-2.json -botocore/data/ec2/2016-09-15/examples-1.json -botocore/data/ec2/2016-09-15/paginators-1.json -botocore/data/ec2/2016-09-15/service-2.json -botocore/data/ec2/2016-09-15/waiters-2.json -botocore/data/ec2/2016-11-15/examples-1.json -botocore/data/ec2/2016-11-15/paginators-1.json -botocore/data/ec2/2016-11-15/service-2.json -botocore/data/ec2/2016-11-15/waiters-2.json -botocore/data/ecr/2015-09-21/examples-1.json -botocore/data/ecr/2015-09-21/paginators-1.json -botocore/data/ecr/2015-09-21/service-2.json -botocore/data/ecs/2014-11-13/examples-1.json -botocore/data/ecs/2014-11-13/paginators-1.json -botocore/data/ecs/2014-11-13/service-2.json -botocore/data/ecs/2014-11-13/waiters-2.json -botocore/data/efs/2015-02-01/examples-1.json -botocore/data/efs/2015-02-01/paginators-1.json -botocore/data/efs/2015-02-01/service-2.json -botocore/data/eks/2017-11-01/paginators-1.json -botocore/data/eks/2017-11-01/service-2.json -botocore/data/elasticache/2014-09-30/paginators-1.json -botocore/data/elasticache/2014-09-30/service-2.json -botocore/data/elasticache/2014-09-30/waiters-2.json -botocore/data/elasticache/2015-02-02/paginators-1.json -botocore/data/elasticache/2015-02-02/service-2.json -botocore/data/elasticache/2015-02-02/waiters-2.json -botocore/data/elasticbeanstalk/2010-12-01/examples-1.json -botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json -botocore/data/elasticbeanstalk/2010-12-01/service-2.json -botocore/data/elastictranscoder/2012-09-25/examples-1.json -botocore/data/elastictranscoder/2012-09-25/paginators-1.json -botocore/data/elastictranscoder/2012-09-25/service-2.json -botocore/data/elastictranscoder/2012-09-25/waiters-2.json -botocore/data/elb/2012-06-01/examples-1.json -botocore/data/elb/2012-06-01/paginators-1.json -botocore/data/elb/2012-06-01/service-2.json -botocore/data/elb/2012-06-01/waiters-2.json -botocore/data/elbv2/2015-12-01/examples-1.json -botocore/data/elbv2/2015-12-01/paginators-1.json -botocore/data/elbv2/2015-12-01/service-2.json -botocore/data/elbv2/2015-12-01/waiters-2.json -botocore/data/emr/2009-03-31/examples-1.json -botocore/data/emr/2009-03-31/paginators-1.json -botocore/data/emr/2009-03-31/service-2.json -botocore/data/emr/2009-03-31/waiters-2.json -botocore/data/es/2015-01-01/paginators-1.json -botocore/data/es/2015-01-01/service-2.json -botocore/data/events/2014-02-03/service-2.json -botocore/data/events/2015-10-07/examples-1.json -botocore/data/events/2015-10-07/paginators-1.json -botocore/data/events/2015-10-07/service-2.json -botocore/data/firehose/2015-08-04/examples-1.json -botocore/data/firehose/2015-08-04/paginators-1.json -botocore/data/firehose/2015-08-04/service-2.json -botocore/data/fms/2018-01-01/paginators-1.json -botocore/data/fms/2018-01-01/service-2.json -botocore/data/gamelift/2015-10-01/examples-1.json -botocore/data/gamelift/2015-10-01/paginators-1.json -botocore/data/gamelift/2015-10-01/service-2.json -botocore/data/glacier/2012-06-01/examples-1.json -botocore/data/glacier/2012-06-01/paginators-1.json -botocore/data/glacier/2012-06-01/service-2.json -botocore/data/glacier/2012-06-01/waiters-2.json -botocore/data/glue/2017-03-31/paginators-1.json -botocore/data/glue/2017-03-31/service-2.json -botocore/data/greengrass/2017-06-07/service-2.json -botocore/data/guardduty/2017-11-28/paginators-1.json -botocore/data/guardduty/2017-11-28/service-2.json -botocore/data/health/2016-08-04/examples-1.json -botocore/data/health/2016-08-04/paginators-1.json -botocore/data/health/2016-08-04/service-2.json -botocore/data/iam/2010-05-08/examples-1.json -botocore/data/iam/2010-05-08/paginators-1.json -botocore/data/iam/2010-05-08/service-2.json -botocore/data/iam/2010-05-08/waiters-2.json -botocore/data/importexport/2010-06-01/paginators-1.json -botocore/data/importexport/2010-06-01/service-2.json -botocore/data/inspector/2015-08-18/service-2.json -botocore/data/inspector/2016-02-16/examples-1.json -botocore/data/inspector/2016-02-16/paginators-1.json -botocore/data/inspector/2016-02-16/service-2.json -botocore/data/iot-data/2015-05-28/service-2.json -botocore/data/iot-jobs-data/2017-09-29/paginators-1.json -botocore/data/iot-jobs-data/2017-09-29/service-2.json -botocore/data/iot/2015-05-28/examples-1.json -botocore/data/iot/2015-05-28/paginators-1.json -botocore/data/iot/2015-05-28/service-2.json -botocore/data/iot1click-devices/2018-05-14/service-2.json -botocore/data/iot1click-projects/2018-05-14/paginators-1.json -botocore/data/iot1click-projects/2018-05-14/service-2.json -botocore/data/iotanalytics/2017-11-27/paginators-1.json -botocore/data/iotanalytics/2017-11-27/service-2.json -botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json -botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json -botocore/data/kinesis-video-media/2017-09-30/paginators-1.json -botocore/data/kinesis-video-media/2017-09-30/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/kinesisvideo/2017-09-30/paginators-1.json -botocore/data/kinesisvideo/2017-09-30/service-2.json -botocore/data/kms/2014-11-01/examples-1.json -botocore/data/kms/2014-11-01/paginators-1.json -botocore/data/kms/2014-11-01/service-2.json -botocore/data/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/macie/2017-12-19/paginators-1.json -botocore/data/macie/2017-12-19/service-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/mediaconvert/2017-08-29/service-2.json -botocore/data/medialive/2017-10-14/paginators-1.json -botocore/data/medialive/2017-10-14/service-2.json -botocore/data/mediapackage/2017-10-12/paginators-1.json -botocore/data/mediapackage/2017-10-12/service-2.json -botocore/data/mediastore-data/2017-09-01/paginators-1.json -botocore/data/mediastore-data/2017-09-01/service-2.json -botocore/data/mediastore/2017-09-01/paginators-1.json -botocore/data/mediastore/2017-09-01/service-2.json -botocore/data/mediatailor/2018-04-23/paginators-1.json -botocore/data/mediatailor/2018-04-23/service-2.json -botocore/data/meteringmarketplace/2016-01-14/examples-1.json -botocore/data/meteringmarketplace/2016-01-14/service-2.json -botocore/data/mgh/2017-05-31/paginators-1.json -botocore/data/mgh/2017-05-31/service-2.json -botocore/data/mobile/2017-07-01/paginators-1.json -botocore/data/mobile/2017-07-01/service-2.json -botocore/data/mq/2017-11-27/paginators-1.json -botocore/data/mq/2017-11-27/service-2.json -botocore/data/mturk/2017-01-17/paginators-1.json -botocore/data/mturk/2017-01-17/service-2.json -botocore/data/neptune/2014-10-31/paginators-1.json -botocore/data/neptune/2014-10-31/service-2.json -botocore/data/neptune/2014-10-31/waiters-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/pi/2018-02-27/paginators-1.json -botocore/data/pi/2018-02-27/service-2.json -botocore/data/pinpoint/2016-12-01/examples-1.json -botocore/data/pinpoint/2016-12-01/service-2.json -botocore/data/polly/2016-06-10/examples-1.json -botocore/data/polly/2016-06-10/paginators-1.json -botocore/data/polly/2016-06-10/service-2.json -botocore/data/pricing/2017-10-15/paginators-1.json -botocore/data/pricing/2017-10-15/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/resource-groups/2017-11-27/paginators-1.json -botocore/data/resource-groups/2017-11-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/sagemaker-runtime/2017-05-13/paginators-1.json -botocore/data/sagemaker-runtime/2017-05-13/service-2.json -botocore/data/sagemaker/2017-07-24/paginators-1.json -botocore/data/sagemaker/2017-07-24/service-2.json -botocore/data/sagemaker/2017-07-24/waiters-2.json -botocore/data/sdb/2009-04-15/paginators-1.json -botocore/data/sdb/2009-04-15/service-2.json -botocore/data/secretsmanager/2017-10-17/paginators-1.json -botocore/data/secretsmanager/2017-10-17/service-2.json -botocore/data/serverlessrepo/2017-09-08/paginators-1.json -botocore/data/serverlessrepo/2017-09-08/service-2.json -botocore/data/servicecatalog/2015-12-10/examples-1.json -botocore/data/servicecatalog/2015-12-10/paginators-1.json -botocore/data/servicecatalog/2015-12-10/service-2.json -botocore/data/servicediscovery/2017-03-14/paginators-1.json -botocore/data/servicediscovery/2017-03-14/service-2.json -botocore/data/ses/2010-12-01/examples-1.json -botocore/data/ses/2010-12-01/paginators-1.json -botocore/data/ses/2010-12-01/service-2.json -botocore/data/ses/2010-12-01/waiters-2.json -botocore/data/shield/2016-06-02/examples-1.json -botocore/data/shield/2016-06-02/paginators-1.json -botocore/data/shield/2016-06-02/service-2.json -botocore/data/signer/2017-08-25/paginators-1.json -botocore/data/signer/2017-08-25/service-2.json -botocore/data/signer/2017-08-25/waiters-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/transcribe/2017-10-26/paginators-1.json -botocore/data/transcribe/2017-10-26/service-2.json -botocore/data/translate/2017-07-01/paginators-1.json -botocore/data/translate/2017-07-01/service-2.json -botocore/data/waf-regional/2016-11-28/examples-1.json -botocore/data/waf-regional/2016-11-28/paginators-1.json -botocore/data/waf-regional/2016-11-28/service-2.json -botocore/data/waf/2015-08-24/examples-1.json -botocore/data/waf/2015-08-24/paginators-1.json -botocore/data/waf/2015-08-24/service-2.json -botocore/data/workdocs/2016-05-01/paginators-1.json -botocore/data/workdocs/2016-05-01/service-2.json -botocore/data/workmail/2017-10-01/paginators-1.json -botocore/data/workmail/2017-10-01/service-2.json -botocore/data/workspaces/2015-04-08/examples-1.json -botocore/data/workspaces/2015-04-08/paginators-1.json -botocore/data/workspaces/2015-04-08/service-2.json -botocore/data/xray/2016-04-12/examples-1.json -botocore/data/xray/2016-04-12/paginators-1.json -botocore/data/xray/2016-04-12/service-2.json -botocore/docs/__init__.py -botocore/docs/client.py -botocore/docs/docstring.py -botocore/docs/example.py -botocore/docs/method.py -botocore/docs/paginator.py -botocore/docs/params.py -botocore/docs/service.py -botocore/docs/shape.py -botocore/docs/sharedexample.py -botocore/docs/utils.py -botocore/docs/waiter.py -botocore/docs/bcdoc/__init__.py -botocore/docs/bcdoc/docevents.py -botocore/docs/bcdoc/docstringparser.py -botocore/docs/bcdoc/restdoc.py -botocore/docs/bcdoc/style.py -botocore/docs/bcdoc/textwriter.py -botocore/vendored/__init__.py -botocore/vendored/six.py -botocore/vendored/requests/__init__.py -botocore/vendored/requests/adapters.py -botocore/vendored/requests/api.py -botocore/vendored/requests/auth.py -botocore/vendored/requests/cacert.pem -botocore/vendored/requests/certs.py -botocore/vendored/requests/compat.py -botocore/vendored/requests/cookies.py -botocore/vendored/requests/exceptions.py -botocore/vendored/requests/hooks.py -botocore/vendored/requests/models.py -botocore/vendored/requests/sessions.py -botocore/vendored/requests/status_codes.py -botocore/vendored/requests/structures.py -botocore/vendored/requests/utils.py -botocore/vendored/requests/packages/__init__.py -botocore/vendored/requests/packages/chardet/__init__.py -botocore/vendored/requests/packages/chardet/big5freq.py -botocore/vendored/requests/packages/chardet/big5prober.py -botocore/vendored/requests/packages/chardet/chardetect.py -botocore/vendored/requests/packages/chardet/chardistribution.py -botocore/vendored/requests/packages/chardet/charsetgroupprober.py -botocore/vendored/requests/packages/chardet/charsetprober.py -botocore/vendored/requests/packages/chardet/codingstatemachine.py -botocore/vendored/requests/packages/chardet/compat.py -botocore/vendored/requests/packages/chardet/constants.py -botocore/vendored/requests/packages/chardet/cp949prober.py -botocore/vendored/requests/packages/chardet/escprober.py -botocore/vendored/requests/packages/chardet/escsm.py -botocore/vendored/requests/packages/chardet/eucjpprober.py -botocore/vendored/requests/packages/chardet/euckrfreq.py -botocore/vendored/requests/packages/chardet/euckrprober.py -botocore/vendored/requests/packages/chardet/euctwfreq.py -botocore/vendored/requests/packages/chardet/euctwprober.py -botocore/vendored/requests/packages/chardet/gb2312freq.py -botocore/vendored/requests/packages/chardet/gb2312prober.py -botocore/vendored/requests/packages/chardet/hebrewprober.py -botocore/vendored/requests/packages/chardet/jisfreq.py -botocore/vendored/requests/packages/chardet/jpcntx.py -botocore/vendored/requests/packages/chardet/langbulgarianmodel.py -botocore/vendored/requests/packages/chardet/langcyrillicmodel.py -botocore/vendored/requests/packages/chardet/langgreekmodel.py -botocore/vendored/requests/packages/chardet/langhebrewmodel.py -botocore/vendored/requests/packages/chardet/langhungarianmodel.py -botocore/vendored/requests/packages/chardet/langthaimodel.py -botocore/vendored/requests/packages/chardet/latin1prober.py -botocore/vendored/requests/packages/chardet/mbcharsetprober.py -botocore/vendored/requests/packages/chardet/mbcsgroupprober.py -botocore/vendored/requests/packages/chardet/mbcssm.py -botocore/vendored/requests/packages/chardet/sbcharsetprober.py -botocore/vendored/requests/packages/chardet/sbcsgroupprober.py -botocore/vendored/requests/packages/chardet/sjisprober.py -botocore/vendored/requests/packages/chardet/universaldetector.py -botocore/vendored/requests/packages/chardet/utf8prober.py -botocore/vendored/requests/packages/urllib3/__init__.py -botocore/vendored/requests/packages/urllib3/_collections.py -botocore/vendored/requests/packages/urllib3/connection.py -botocore/vendored/requests/packages/urllib3/connectionpool.py -botocore/vendored/requests/packages/urllib3/exceptions.py -botocore/vendored/requests/packages/urllib3/fields.py -botocore/vendored/requests/packages/urllib3/filepost.py -botocore/vendored/requests/packages/urllib3/poolmanager.py -botocore/vendored/requests/packages/urllib3/request.py -botocore/vendored/requests/packages/urllib3/response.py -botocore/vendored/requests/packages/urllib3/contrib/__init__.py -botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py -botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py -botocore/vendored/requests/packages/urllib3/packages/__init__.py -botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py -botocore/vendored/requests/packages/urllib3/packages/six.py -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py -botocore/vendored/requests/packages/urllib3/util/__init__.py -botocore/vendored/requests/packages/urllib3/util/connection.py -botocore/vendored/requests/packages/urllib3/util/request.py -botocore/vendored/requests/packages/urllib3/util/response.py -botocore/vendored/requests/packages/urllib3/util/retry.py -botocore/vendored/requests/packages/urllib3/util/ssl_.py -botocore/vendored/requests/packages/urllib3/util/timeout.py -botocore/vendored/requests/packages/urllib3/util/url.py -docs/Makefile -docs/make.bat -docs/source/client_upgrades.rst -docs/source/conf.py -docs/source/index.rst -docs/source/_static/404.html -docs/source/development/changesfor10.rst -docs/source/development/designnotes.rst -docs/source/development/index.rst -docs/source/reference/config.rst -docs/source/reference/eventstream.rst -docs/source/reference/index.rst -docs/source/reference/loaders.rst -docs/source/reference/response.rst -docs/source/reference/stubber.rst -docs/source/topics/events.rst -docs/source/topics/index.rst -docs/source/topics/paginators.rst -docs/source/tutorial/index.rst -tests/__init__.py -tests/cmd-runner -tests/acceptance/features/environment.py -tests/acceptance/features/smoke/acm/acm.feature -tests/acceptance/features/smoke/autoscaling/autoscaling.feature -tests/acceptance/features/smoke/cloudformation/cloudformation.feature -tests/acceptance/features/smoke/cloudfront/cloudfront.feature -tests/acceptance/features/smoke/cloudhsm/cloudhsm.feature -tests/acceptance/features/smoke/cloudsearch/cloudsearch.feature -tests/acceptance/features/smoke/cloudtrail/cloudtrail.feature -tests/acceptance/features/smoke/cloudwatch/cloudwatch.feature -tests/acceptance/features/smoke/cloudwatchlogs/cloudwatchlogs.feature -tests/acceptance/features/smoke/codecommit/codecommit.feature -tests/acceptance/features/smoke/codedeploy/codedeploy.feature -tests/acceptance/features/smoke/codepipeline/codepipeline.feature -tests/acceptance/features/smoke/cognitoidentity/cognitoidentity.feature -tests/acceptance/features/smoke/cognitosync/cognitosync.feature -tests/acceptance/features/smoke/configservice/configservice.feature -tests/acceptance/features/smoke/datapipeline/datapipeline.feature -tests/acceptance/features/smoke/devicefarm/devicefarm.feature -tests/acceptance/features/smoke/directconnect/directconnect.feature -tests/acceptance/features/smoke/directoryservice/directoryservice.feature -tests/acceptance/features/smoke/dynamodb/dynamodb.feature -tests/acceptance/features/smoke/dynamodbstreams/dynamodbstreams.feature -tests/acceptance/features/smoke/ec2/ec2.feature -tests/acceptance/features/smoke/ecs/ecs.feature -tests/acceptance/features/smoke/efs/efs.feature -tests/acceptance/features/smoke/elasticache/elasticache.feature -tests/acceptance/features/smoke/elasticbeanstalk/elasticbeanstalk.feature -tests/acceptance/features/smoke/elasticloadbalancing/elasticloadbalancing.feature -tests/acceptance/features/smoke/elastictranscoder/elastictranscoder.feature -tests/acceptance/features/smoke/emr/emr.feature -tests/acceptance/features/smoke/es/es.feature -tests/acceptance/features/smoke/glacier/glacier.feature -tests/acceptance/features/smoke/iam/iam.feature -tests/acceptance/features/smoke/importexport/importexport.feature -tests/acceptance/features/smoke/kinesis/kinesis.feature -tests/acceptance/features/smoke/kms/kms.feature -tests/acceptance/features/smoke/lambda/lambda.feature -tests/acceptance/features/smoke/machinelearning/machinelearning.feature -tests/acceptance/features/smoke/opsworks/opsworks.feature -tests/acceptance/features/smoke/rds/rds.feature -tests/acceptance/features/smoke/redshift/redshift.feature -tests/acceptance/features/smoke/route53/route53.feature -tests/acceptance/features/smoke/route53domains/route53domains.feature -tests/acceptance/features/smoke/ses/ses.feature -tests/acceptance/features/smoke/sns/sns.feature -tests/acceptance/features/smoke/sqs/sqs.feature -tests/acceptance/features/smoke/ssm/ssm.feature -tests/acceptance/features/smoke/storagegateway/storagegateway.feature -tests/acceptance/features/smoke/sts/sts.feature -tests/acceptance/features/smoke/support/support.feature -tests/acceptance/features/smoke/swf/swf.feature -tests/acceptance/features/smoke/waf/waf.feature -tests/acceptance/features/smoke/workspaces/workspaces.feature -tests/acceptance/features/steps/base.py -tests/functional/__init__.py -tests/functional/test_alias.py -tests/functional/test_apigateway.py -tests/functional/test_client_class_names.py -tests/functional/test_client_metadata.py -tests/functional/test_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_h2_required.py -tests/functional/test_history.py -tests/functional/test_iot_data.py -tests/functional/test_kinesis.py -tests/functional/test_lex.py -tests/functional/test_loaders.py -tests/functional/test_machinelearning.py -tests/functional/test_model_completeness.py -tests/functional/test_mturk.py -tests/functional/test_paginate.py -tests/functional/test_paginator_config.py -tests/functional/test_public_apis.py -tests/functional/test_rds.py -tests/functional/test_regions.py -tests/functional/test_retry.py -tests/functional/test_route53.py -tests/functional/test_s3.py -tests/functional/test_sagemaker.py -tests/functional/test_service_alias.py -tests/functional/test_service_names.py -tests/functional/test_session.py -tests/functional/test_six_imports.py -tests/functional/test_six_threading.py -tests/functional/test_sts.py -tests/functional/test_stub.py -tests/functional/test_waiter_config.py -tests/functional/docs/__init__.py -tests/functional/docs/test_alias.py -tests/functional/docs/test_autoscaling.py -tests/functional/docs/test_ec2.py -tests/functional/docs/test_glacier.py -tests/functional/docs/test_lex.py -tests/functional/docs/test_s3.py -tests/functional/docs/test_shared_example_config.py -tests/functional/docs/test_streaming_body.py -tests/functional/leak/__init__.py -tests/functional/leak/test_resource_leaks.py -tests/functional/utils/__init__.py -tests/functional/utils/credentialprocess.py -tests/integration/__init__.py -tests/integration/test-credentials -tests/integration/test_apigateway.py -tests/integration/test_client.py -tests/integration/test_client_http.py -tests/integration/test_cloudformation.py -tests/integration/test_cognito_identity.py -tests/integration/test_credentials.py -tests/integration/test_ec2.py -tests/integration/test_elastictranscoder.py -tests/integration/test_emr.py -tests/integration/test_glacier.py -tests/integration/test_kinesis.py -tests/integration/test_loaders.py -tests/integration/test_rds.py -tests/integration/test_route53.py -tests/integration/test_s3.py -tests/integration/test_session.py -tests/integration/test_smoke.py -tests/integration/test_sts.py -tests/integration/test_utils.py -tests/integration/test_waiters.py -tests/unit/__init__.py -tests/unit/put_object_data -tests/unit/test_args.py -tests/unit/test_auth_sigv4.py -tests/unit/test_awsrequest.py -tests/unit/test_client.py -tests/unit/test_compat.py -tests/unit/test_configloader.py -tests/unit/test_credentials.py -tests/unit/test_endpoint.py -tests/unit/test_errorfactory.py -tests/unit/test_eventstream.py -tests/unit/test_exceptions.py -tests/unit/test_handlers.py -tests/unit/test_history.py -tests/unit/test_hooks.py -tests/unit/test_http_client_exception_mapping.py -tests/unit/test_http_session.py -tests/unit/test_idempotency.py -tests/unit/test_loaders.py -tests/unit/test_model.py -tests/unit/test_paginate.py -tests/unit/test_parsers.py -tests/unit/test_protocols.py -tests/unit/test_regions.py -tests/unit/test_response.py -tests/unit/test_retryhandler.py -tests/unit/test_s3_addressing.py -tests/unit/test_serialize.py -tests/unit/test_session.py -tests/unit/test_signers.py -tests/unit/test_stub.py -tests/unit/test_translate.py -tests/unit/test_utils.py -tests/unit/test_validate.py -tests/unit/test_waiters.py -tests/unit/auth/__init__.py -tests/unit/auth/test_signers.py -tests/unit/auth/test_sigv4.py -tests/unit/auth/aws4_testsuite/get-header-key-duplicate.authz -tests/unit/auth/aws4_testsuite/get-header-key-duplicate.creq -tests/unit/auth/aws4_testsuite/get-header-key-duplicate.req -tests/unit/auth/aws4_testsuite/get-header-key-duplicate.sreq -tests/unit/auth/aws4_testsuite/get-header-key-duplicate.sts -tests/unit/auth/aws4_testsuite/get-header-value-order.authz -tests/unit/auth/aws4_testsuite/get-header-value-order.creq -tests/unit/auth/aws4_testsuite/get-header-value-order.req -tests/unit/auth/aws4_testsuite/get-header-value-order.sreq -tests/unit/auth/aws4_testsuite/get-header-value-order.sts -tests/unit/auth/aws4_testsuite/get-header-value-trim.authz -tests/unit/auth/aws4_testsuite/get-header-value-trim.creq -tests/unit/auth/aws4_testsuite/get-header-value-trim.req -tests/unit/auth/aws4_testsuite/get-header-value-trim.sreq -tests/unit/auth/aws4_testsuite/get-header-value-trim.sts -tests/unit/auth/aws4_testsuite/get-relative-relative.authz -tests/unit/auth/aws4_testsuite/get-relative-relative.creq -tests/unit/auth/aws4_testsuite/get-relative-relative.req -tests/unit/auth/aws4_testsuite/get-relative-relative.sreq -tests/unit/auth/aws4_testsuite/get-relative-relative.sts -tests/unit/auth/aws4_testsuite/get-relative.authz -tests/unit/auth/aws4_testsuite/get-relative.creq -tests/unit/auth/aws4_testsuite/get-relative.req -tests/unit/auth/aws4_testsuite/get-relative.sreq -tests/unit/auth/aws4_testsuite/get-relative.sts -tests/unit/auth/aws4_testsuite/get-slash-dot-slash.authz -tests/unit/auth/aws4_testsuite/get-slash-dot-slash.creq -tests/unit/auth/aws4_testsuite/get-slash-dot-slash.req -tests/unit/auth/aws4_testsuite/get-slash-dot-slash.sreq -tests/unit/auth/aws4_testsuite/get-slash-dot-slash.sts -tests/unit/auth/aws4_testsuite/get-slash-pointless-dot.authz -tests/unit/auth/aws4_testsuite/get-slash-pointless-dot.creq -tests/unit/auth/aws4_testsuite/get-slash-pointless-dot.req -tests/unit/auth/aws4_testsuite/get-slash-pointless-dot.sreq -tests/unit/auth/aws4_testsuite/get-slash-pointless-dot.sts -tests/unit/auth/aws4_testsuite/get-slash.authz -tests/unit/auth/aws4_testsuite/get-slash.creq -tests/unit/auth/aws4_testsuite/get-slash.req -tests/unit/auth/aws4_testsuite/get-slash.sreq -tests/unit/auth/aws4_testsuite/get-slash.sts -tests/unit/auth/aws4_testsuite/get-slashes.authz -tests/unit/auth/aws4_testsuite/get-slashes.creq -tests/unit/auth/aws4_testsuite/get-slashes.req -tests/unit/auth/aws4_testsuite/get-slashes.sreq -tests/unit/auth/aws4_testsuite/get-slashes.sts -tests/unit/auth/aws4_testsuite/get-space.authz -tests/unit/auth/aws4_testsuite/get-space.creq -tests/unit/auth/aws4_testsuite/get-space.req -tests/unit/auth/aws4_testsuite/get-space.sreq -tests/unit/auth/aws4_testsuite/get-space.sts -tests/unit/auth/aws4_testsuite/get-unreserved.authz -tests/unit/auth/aws4_testsuite/get-unreserved.creq -tests/unit/auth/aws4_testsuite/get-unreserved.req -tests/unit/auth/aws4_testsuite/get-unreserved.sreq -tests/unit/auth/aws4_testsuite/get-unreserved.sts -tests/unit/auth/aws4_testsuite/get-utf8.authz -tests/unit/auth/aws4_testsuite/get-utf8.creq -tests/unit/auth/aws4_testsuite/get-utf8.req -tests/unit/auth/aws4_testsuite/get-utf8.sreq -tests/unit/auth/aws4_testsuite/get-utf8.sts -tests/unit/auth/aws4_testsuite/get-vanilla-empty-query-key.authz -tests/unit/auth/aws4_testsuite/get-vanilla-empty-query-key.creq -tests/unit/auth/aws4_testsuite/get-vanilla-empty-query-key.req -tests/unit/auth/aws4_testsuite/get-vanilla-empty-query-key.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-empty-query-key.sts -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key-case.authz -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key-case.creq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key-case.req -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key-case.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key-case.sts -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key.authz -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key.creq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key.req -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-key.sts -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-value.authz -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-value.creq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-value.req -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-value.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-query-order-value.sts -tests/unit/auth/aws4_testsuite/get-vanilla-query-unreserved.authz -tests/unit/auth/aws4_testsuite/get-vanilla-query-unreserved.creq -tests/unit/auth/aws4_testsuite/get-vanilla-query-unreserved.req -tests/unit/auth/aws4_testsuite/get-vanilla-query-unreserved.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-query-unreserved.sts -tests/unit/auth/aws4_testsuite/get-vanilla-query.authz -tests/unit/auth/aws4_testsuite/get-vanilla-query.creq -tests/unit/auth/aws4_testsuite/get-vanilla-query.req -tests/unit/auth/aws4_testsuite/get-vanilla-query.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-query.sts -tests/unit/auth/aws4_testsuite/get-vanilla-ut8-query.authz -tests/unit/auth/aws4_testsuite/get-vanilla-ut8-query.creq -tests/unit/auth/aws4_testsuite/get-vanilla-ut8-query.req -tests/unit/auth/aws4_testsuite/get-vanilla-ut8-query.sreq -tests/unit/auth/aws4_testsuite/get-vanilla-ut8-query.sts -tests/unit/auth/aws4_testsuite/get-vanilla.authz -tests/unit/auth/aws4_testsuite/get-vanilla.creq -tests/unit/auth/aws4_testsuite/get-vanilla.req -tests/unit/auth/aws4_testsuite/get-vanilla.sreq -tests/unit/auth/aws4_testsuite/get-vanilla.sts -tests/unit/auth/aws4_testsuite/post-header-key-case.authz -tests/unit/auth/aws4_testsuite/post-header-key-case.creq -tests/unit/auth/aws4_testsuite/post-header-key-case.req -tests/unit/auth/aws4_testsuite/post-header-key-case.sreq -tests/unit/auth/aws4_testsuite/post-header-key-case.sts -tests/unit/auth/aws4_testsuite/post-header-key-sort.authz -tests/unit/auth/aws4_testsuite/post-header-key-sort.creq -tests/unit/auth/aws4_testsuite/post-header-key-sort.req -tests/unit/auth/aws4_testsuite/post-header-key-sort.sreq -tests/unit/auth/aws4_testsuite/post-header-key-sort.sts -tests/unit/auth/aws4_testsuite/post-header-value-case.authz -tests/unit/auth/aws4_testsuite/post-header-value-case.creq -tests/unit/auth/aws4_testsuite/post-header-value-case.req -tests/unit/auth/aws4_testsuite/post-header-value-case.sreq -tests/unit/auth/aws4_testsuite/post-header-value-case.sts -tests/unit/auth/aws4_testsuite/post-vanilla-empty-query-value.authz -tests/unit/auth/aws4_testsuite/post-vanilla-empty-query-value.creq -tests/unit/auth/aws4_testsuite/post-vanilla-empty-query-value.req -tests/unit/auth/aws4_testsuite/post-vanilla-empty-query-value.sreq -tests/unit/auth/aws4_testsuite/post-vanilla-empty-query-value.sts -tests/unit/auth/aws4_testsuite/post-vanilla-query-nonunreserved.authz -tests/unit/auth/aws4_testsuite/post-vanilla-query-nonunreserved.creq -tests/unit/auth/aws4_testsuite/post-vanilla-query-nonunreserved.req -tests/unit/auth/aws4_testsuite/post-vanilla-query-nonunreserved.sreq -tests/unit/auth/aws4_testsuite/post-vanilla-query-nonunreserved.sts -tests/unit/auth/aws4_testsuite/post-vanilla-query-space.authz -tests/unit/auth/aws4_testsuite/post-vanilla-query-space.creq -tests/unit/auth/aws4_testsuite/post-vanilla-query-space.req -tests/unit/auth/aws4_testsuite/post-vanilla-query-space.sreq -tests/unit/auth/aws4_testsuite/post-vanilla-query-space.sts -tests/unit/auth/aws4_testsuite/post-vanilla-query.authz -tests/unit/auth/aws4_testsuite/post-vanilla-query.creq -tests/unit/auth/aws4_testsuite/post-vanilla-query.req -tests/unit/auth/aws4_testsuite/post-vanilla-query.sreq -tests/unit/auth/aws4_testsuite/post-vanilla-query.sts -tests/unit/auth/aws4_testsuite/post-vanilla.authz -tests/unit/auth/aws4_testsuite/post-vanilla.creq -tests/unit/auth/aws4_testsuite/post-vanilla.req -tests/unit/auth/aws4_testsuite/post-vanilla.sreq -tests/unit/auth/aws4_testsuite/post-vanilla.sts -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded-parameters.authz -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded-parameters.creq -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded-parameters.req -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded-parameters.sreq -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded-parameters.sts -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded.authz -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded.creq -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded.req -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded.sreq -tests/unit/auth/aws4_testsuite/post-x-www-form-urlencoded.sts -tests/unit/cfg/aws_bad_profile -tests/unit/cfg/aws_config -tests/unit/cfg/aws_config_bad -tests/unit/cfg/aws_config_nested -tests/unit/cfg/aws_config_nested_bad -tests/unit/cfg/aws_config_nocreds -tests/unit/cfg/aws_config_other -tests/unit/cfg/aws_credentials -tests/unit/cfg/aws_third_config -tests/unit/cfg/boto_config -tests/unit/cfg/boto_config_empty -tests/unit/cfg/foo_config -tests/unit/data/baz.json -tests/unit/data/foo.json -tests/unit/data/non_ascii.json -tests/unit/data/aws/s3/2006-03-01.normal.json -tests/unit/data/someservice/2012-10-01.normal.json -tests/unit/data/someservice/2013-08-21.normal.json -tests/unit/data/sub/fie.normal.json -tests/unit/data_overrides/someservice/2012-10-01.json -tests/unit/docs/__init__.py -tests/unit/docs/test_client.py -tests/unit/docs/test_docs.py -tests/unit/docs/test_docstring.py -tests/unit/docs/test_example.py -tests/unit/docs/test_method.py -tests/unit/docs/test_paginator.py -tests/unit/docs/test_params.py -tests/unit/docs/test_service.py -tests/unit/docs/test_sharedexample.py -tests/unit/docs/test_utils.py -tests/unit/docs/test_waiter.py -tests/unit/docs/bcdoc/__init__.py -tests/unit/docs/bcdoc/test_docstringparser.py -tests/unit/docs/bcdoc/test_document.py -tests/unit/docs/bcdoc/test_style.py -tests/unit/protocols/input/ec2.json -tests/unit/protocols/input/json.json -tests/unit/protocols/input/query.json -tests/unit/protocols/input/rest-json.json -tests/unit/protocols/input/rest-xml.json -tests/unit/protocols/output/ec2.json -tests/unit/protocols/output/event-stream.json -tests/unit/protocols/output/json.json -tests/unit/protocols/output/query.json -tests/unit/protocols/output/rest-json.json -tests/unit/protocols/output/rest-xml.json -tests/unit/response_parsing/README.rst -tests/unit/response_parsing/__init__.py -tests/unit/response_parsing/test_response_parsing.py -tests/unit/response_parsing/json/errors/datapipeline-create-pipeline.json -tests/unit/response_parsing/json/errors/directconnect-delete-connection.json -tests/unit/response_parsing/json/errors/dynamodb-put-item.json -tests/unit/response_parsing/json/errors/elastictranscoder-delete-pipeline.json -tests/unit/response_parsing/json/errors/opsworks-delete-stack.json -tests/unit/response_parsing/json/errors/storagegateway-delete-gateway.json -tests/unit/response_parsing/json/errors/swf-deprecate-domain.json -tests/unit/response_parsing/json/expected/datapipeline-create-pipeline.json -tests/unit/response_parsing/json/expected/directconnect-delete-connection.json -tests/unit/response_parsing/json/expected/dynamodb-put-item.json -tests/unit/response_parsing/json/expected/elastictranscoder-delete-pipeline.json -tests/unit/response_parsing/json/expected/elastictranscoder-list-pipelines.json -tests/unit/response_parsing/json/expected/opsworks-delete-stack.json -tests/unit/response_parsing/json/expected/storagegateway-delete-gateway.json -tests/unit/response_parsing/json/expected/swf-deprecate-domain.json -tests/unit/response_parsing/xml/errors/autoscaling-delete-policy.json -tests/unit/response_parsing/xml/errors/autoscaling-delete-policy.xml -tests/unit/response_parsing/xml/errors/cloudformation-cancel-update-stack.json -tests/unit/response_parsing/xml/errors/cloudformation-cancel-update-stack.xml -tests/unit/response_parsing/xml/errors/cloudwatch-describe-alarm-history.json -tests/unit/response_parsing/xml/errors/cloudwatch-describe-alarm-history.xml -tests/unit/response_parsing/xml/errors/ec2-describe-instances.json -tests/unit/response_parsing/xml/errors/ec2-describe-instances.xml -tests/unit/response_parsing/xml/errors/elb-describe-load-balancers.json -tests/unit/response_parsing/xml/errors/elb-describe-load-balancers.xml -tests/unit/response_parsing/xml/errors/iam-get-user.json -tests/unit/response_parsing/xml/errors/iam-get-user.xml -tests/unit/response_parsing/xml/errors/importexport-get-status.json -tests/unit/response_parsing/xml/errors/importexport-get-status.xml -tests/unit/response_parsing/xml/errors/rds-describe-db-instances.json -tests/unit/response_parsing/xml/errors/rds-describe-db-instances.xml -tests/unit/response_parsing/xml/errors/route53-get-hosted-zone.json -tests/unit/response_parsing/xml/errors/route53-get-hosted-zone.xml -tests/unit/response_parsing/xml/errors/s3-create-bucket.json -tests/unit/response_parsing/xml/errors/s3-create-bucket.xml -tests/unit/response_parsing/xml/errors/s3-list-objects.json -tests/unit/response_parsing/xml/errors/s3-list-objects.xml -tests/unit/response_parsing/xml/errors/ses-delete-identity.json -tests/unit/response_parsing/xml/errors/ses-delete-identity.xml -tests/unit/response_parsing/xml/errors/sns-delete-topic.json -tests/unit/response_parsing/xml/errors/sns-delete-topic.xml -tests/unit/response_parsing/xml/errors/sqs-delete-queue.json -tests/unit/response_parsing/xml/errors/sqs-delete-queue.xml -tests/unit/response_parsing/xml/errors/sts-get-session-token.json -tests/unit/response_parsing/xml/errors/sts-get-session-token.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-adjustment-types.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-adjustment-types.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-groups.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-groups.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-instances.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-instances.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-notification-types.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-auto-scaling-notification-types.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-launch-configurations.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-launch-configurations.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-metric-collection-types.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-metric-collection-types.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-notification-configurations.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-notification-configurations.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-policies.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-policies.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-scaling-activities.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-scaling-activities.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-scaling-process-types.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-scaling-process-types.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-scheduled-actions.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-scheduled-actions.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-tags.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-tags.xml -tests/unit/response_parsing/xml/responses/autoscaling-describe-termination-policy-types.json -tests/unit/response_parsing/xml/responses/autoscaling-describe-termination-policy-types.xml -tests/unit/response_parsing/xml/responses/cloudformation-describe-stacks.json -tests/unit/response_parsing/xml/responses/cloudformation-describe-stacks.xml -tests/unit/response_parsing/xml/responses/cloudformation-get-template.json -tests/unit/response_parsing/xml/responses/cloudformation-get-template.xml -tests/unit/response_parsing/xml/responses/cloudformation-list-stacks.json -tests/unit/response_parsing/xml/responses/cloudformation-list-stacks.xml -tests/unit/response_parsing/xml/responses/cloudfront-get-cloud-front-origin-access-identity.json -tests/unit/response_parsing/xml/responses/cloudfront-get-cloud-front-origin-access-identity.xml -tests/unit/response_parsing/xml/responses/cloudfront-get-distribution.json -tests/unit/response_parsing/xml/responses/cloudfront-get-distribution.xml -tests/unit/response_parsing/xml/responses/cloudfront-get-invalidation.json -tests/unit/response_parsing/xml/responses/cloudfront-get-invalidation.xml -tests/unit/response_parsing/xml/responses/cloudfront-get-streaming-distribution.json -tests/unit/response_parsing/xml/responses/cloudfront-get-streaming-distribution.xml -tests/unit/response_parsing/xml/responses/cloudfront-list-cloud-front-origin-access-identities.json -tests/unit/response_parsing/xml/responses/cloudfront-list-cloud-front-origin-access-identities.xml -tests/unit/response_parsing/xml/responses/cloudfront-list-distributions.json -tests/unit/response_parsing/xml/responses/cloudfront-list-distributions.xml -tests/unit/response_parsing/xml/responses/cloudfront-list-invalidations.json -tests/unit/response_parsing/xml/responses/cloudfront-list-invalidations.xml -tests/unit/response_parsing/xml/responses/cloudfront-list-streaming-distributions.json -tests/unit/response_parsing/xml/responses/cloudfront-list-streaming-distributions.xml -tests/unit/response_parsing/xml/responses/cloudwatch-describe-alarm-history.json -tests/unit/response_parsing/xml/responses/cloudwatch-describe-alarm-history.xml -tests/unit/response_parsing/xml/responses/cloudwatch-describe-alarms.json -tests/unit/response_parsing/xml/responses/cloudwatch-describe-alarms.xml -tests/unit/response_parsing/xml/responses/cloudwatch-list-metrics.json -tests/unit/response_parsing/xml/responses/cloudwatch-list-metrics.xml -tests/unit/response_parsing/xml/responses/ec2-allocate-address.json -tests/unit/response_parsing/xml/responses/ec2-allocate-address.xml -tests/unit/response_parsing/xml/responses/ec2-assign-private-ip-addresses.json -tests/unit/response_parsing/xml/responses/ec2-assign-private-ip-addresses.xml -tests/unit/response_parsing/xml/responses/ec2-associate-address.json -tests/unit/response_parsing/xml/responses/ec2-associate-address.xml -tests/unit/response_parsing/xml/responses/ec2-associate-route-table.json -tests/unit/response_parsing/xml/responses/ec2-associate-route-table.xml -tests/unit/response_parsing/xml/responses/ec2-attach-volume.json -tests/unit/response_parsing/xml/responses/ec2-attach-volume.xml -tests/unit/response_parsing/xml/responses/ec2-attach-vpn-gateway.json -tests/unit/response_parsing/xml/responses/ec2-attach-vpn-gateway.xml -tests/unit/response_parsing/xml/responses/ec2-bundle-instance.json -tests/unit/response_parsing/xml/responses/ec2-bundle-instance.xml -tests/unit/response_parsing/xml/responses/ec2-cancel-bundle-task.json -tests/unit/response_parsing/xml/responses/ec2-cancel-bundle-task.xml -tests/unit/response_parsing/xml/responses/ec2-cancel-reserved-instances-listing.json -tests/unit/response_parsing/xml/responses/ec2-cancel-reserved-instances-listing.xml -tests/unit/response_parsing/xml/responses/ec2-cancel-spot-instance-requests.json -tests/unit/response_parsing/xml/responses/ec2-cancel-spot-instance-requests.xml -tests/unit/response_parsing/xml/responses/ec2-confirm-product-instance.json -tests/unit/response_parsing/xml/responses/ec2-confirm-product-instance.xml -tests/unit/response_parsing/xml/responses/ec2-copy-snapshot.json -tests/unit/response_parsing/xml/responses/ec2-copy-snapshot.xml -tests/unit/response_parsing/xml/responses/ec2-create-customer-gateway.json -tests/unit/response_parsing/xml/responses/ec2-create-customer-gateway.xml -tests/unit/response_parsing/xml/responses/ec2-create-dhcp-options.json -tests/unit/response_parsing/xml/responses/ec2-create-dhcp-options.xml -tests/unit/response_parsing/xml/responses/ec2-create-instance-export-task.json -tests/unit/response_parsing/xml/responses/ec2-create-instance-export-task.xml -tests/unit/response_parsing/xml/responses/ec2-create-key-pair.json -tests/unit/response_parsing/xml/responses/ec2-create-key-pair.xml -tests/unit/response_parsing/xml/responses/ec2-create-network-acl.json -tests/unit/response_parsing/xml/responses/ec2-create-network-acl.xml -tests/unit/response_parsing/xml/responses/ec2-create-network-interface.json -tests/unit/response_parsing/xml/responses/ec2-create-network-interface.xml -tests/unit/response_parsing/xml/responses/ec2-create-reserved-instances-listing.json -tests/unit/response_parsing/xml/responses/ec2-create-reserved-instances-listing.xml -tests/unit/response_parsing/xml/responses/ec2-create-route-table.json -tests/unit/response_parsing/xml/responses/ec2-create-route-table.xml -tests/unit/response_parsing/xml/responses/ec2-create-snapshot.json -tests/unit/response_parsing/xml/responses/ec2-create-snapshot.xml -tests/unit/response_parsing/xml/responses/ec2-create-spot-datafeed-subscription.json -tests/unit/response_parsing/xml/responses/ec2-create-spot-datafeed-subscription.xml -tests/unit/response_parsing/xml/responses/ec2-create-subnet.json -tests/unit/response_parsing/xml/responses/ec2-create-subnet.xml -tests/unit/response_parsing/xml/responses/ec2-create-volume.json -tests/unit/response_parsing/xml/responses/ec2-create-volume.xml -tests/unit/response_parsing/xml/responses/ec2-create-vpc.json -tests/unit/response_parsing/xml/responses/ec2-create-vpc.xml -tests/unit/response_parsing/xml/responses/ec2-create-vpn-gateway.json -tests/unit/response_parsing/xml/responses/ec2-create-vpn-gateway.xml -tests/unit/response_parsing/xml/responses/ec2-delete-internet-gateway.json -tests/unit/response_parsing/xml/responses/ec2-delete-internet-gateway.xml -tests/unit/response_parsing/xml/responses/ec2-describe-account-attributes.json -tests/unit/response_parsing/xml/responses/ec2-describe-account-attributes.xml -tests/unit/response_parsing/xml/responses/ec2-describe-addresses.json -tests/unit/response_parsing/xml/responses/ec2-describe-addresses.xml -tests/unit/response_parsing/xml/responses/ec2-describe-availability-zones.json -tests/unit/response_parsing/xml/responses/ec2-describe-availability-zones.xml -tests/unit/response_parsing/xml/responses/ec2-describe-bundle-tasks.json -tests/unit/response_parsing/xml/responses/ec2-describe-bundle-tasks.xml -tests/unit/response_parsing/xml/responses/ec2-describe-customer-gateways.json -tests/unit/response_parsing/xml/responses/ec2-describe-customer-gateways.xml -tests/unit/response_parsing/xml/responses/ec2-describe-dhcp-options.json -tests/unit/response_parsing/xml/responses/ec2-describe-dhcp-options.xml -tests/unit/response_parsing/xml/responses/ec2-describe-export-tasks.json -tests/unit/response_parsing/xml/responses/ec2-describe-export-tasks.xml -tests/unit/response_parsing/xml/responses/ec2-describe-instance-attribute.json -tests/unit/response_parsing/xml/responses/ec2-describe-instance-attribute.xml -tests/unit/response_parsing/xml/responses/ec2-describe-instance-status.json -tests/unit/response_parsing/xml/responses/ec2-describe-instance-status.xml -tests/unit/response_parsing/xml/responses/ec2-describe-instances.json -tests/unit/response_parsing/xml/responses/ec2-describe-instances.xml -tests/unit/response_parsing/xml/responses/ec2-describe-internet-gateways.json -tests/unit/response_parsing/xml/responses/ec2-describe-internet-gateways.xml -tests/unit/response_parsing/xml/responses/ec2-describe-key-pairs.json -tests/unit/response_parsing/xml/responses/ec2-describe-key-pairs.xml -tests/unit/response_parsing/xml/responses/ec2-describe-network-acls.json -tests/unit/response_parsing/xml/responses/ec2-describe-network-acls.xml -tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.json -tests/unit/response_parsing/xml/responses/ec2-describe-network-interfaces.xml -tests/unit/response_parsing/xml/responses/ec2-describe-placement-groups.json -tests/unit/response_parsing/xml/responses/ec2-describe-placement-groups.xml -tests/unit/response_parsing/xml/responses/ec2-describe-regions.json -tests/unit/response_parsing/xml/responses/ec2-describe-regions.xml -tests/unit/response_parsing/xml/responses/ec2-describe-reserved-instances-offerings.json -tests/unit/response_parsing/xml/responses/ec2-describe-reserved-instances-offerings.xml -tests/unit/response_parsing/xml/responses/ec2-describe-reserved-instances.json -tests/unit/response_parsing/xml/responses/ec2-describe-reserved-instances.xml -tests/unit/response_parsing/xml/responses/ec2-describe-route-tables.json -tests/unit/response_parsing/xml/responses/ec2-describe-route-tables.xml -tests/unit/response_parsing/xml/responses/ec2-describe-security-groups.json -tests/unit/response_parsing/xml/responses/ec2-describe-security-groups.xml -tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.json -tests/unit/response_parsing/xml/responses/ec2-describe-snapshots.xml -tests/unit/response_parsing/xml/responses/ec2-describe-spot-instance-requests.json -tests/unit/response_parsing/xml/responses/ec2-describe-spot-instance-requests.xml -tests/unit/response_parsing/xml/responses/ec2-describe-spot-price-history.json -tests/unit/response_parsing/xml/responses/ec2-describe-spot-price-history.xml -tests/unit/response_parsing/xml/responses/ec2-describe-subnets.json -tests/unit/response_parsing/xml/responses/ec2-describe-subnets.xml -tests/unit/response_parsing/xml/responses/ec2-describe-tags.json -tests/unit/response_parsing/xml/responses/ec2-describe-tags.xml -tests/unit/response_parsing/xml/responses/ec2-describe-volume-status.json -tests/unit/response_parsing/xml/responses/ec2-describe-volume-status.xml -tests/unit/response_parsing/xml/responses/ec2-describe-volumes.json -tests/unit/response_parsing/xml/responses/ec2-describe-volumes.xml -tests/unit/response_parsing/xml/responses/ec2-describe-vpcs.json -tests/unit/response_parsing/xml/responses/ec2-describe-vpcs.xml -tests/unit/response_parsing/xml/responses/ec2-describe-vpn-connections.json -tests/unit/response_parsing/xml/responses/ec2-describe-vpn-connections.xml -tests/unit/response_parsing/xml/responses/ec2-describe-vpn-gateways.json -tests/unit/response_parsing/xml/responses/ec2-describe-vpn-gateways.xml -tests/unit/response_parsing/xml/responses/ec2-detach-network-interface.json -tests/unit/response_parsing/xml/responses/ec2-detach-network-interface.xml -tests/unit/response_parsing/xml/responses/ec2-detach-volume.json -tests/unit/response_parsing/xml/responses/ec2-detach-volume.xml -tests/unit/response_parsing/xml/responses/ec2-get-password-data.json -tests/unit/response_parsing/xml/responses/ec2-get-password-data.xml -tests/unit/response_parsing/xml/responses/ec2-import-instance.json -tests/unit/response_parsing/xml/responses/ec2-import-instance.xml -tests/unit/response_parsing/xml/responses/ec2-import-key-pair.json -tests/unit/response_parsing/xml/responses/ec2-import-key-pair.xml -tests/unit/response_parsing/xml/responses/ec2-import-volume.json -tests/unit/response_parsing/xml/responses/ec2-import-volume.xml -tests/unit/response_parsing/xml/responses/ec2-modify-snapshot-attribute.json -tests/unit/response_parsing/xml/responses/ec2-modify-snapshot-attribute.xml -tests/unit/response_parsing/xml/responses/ec2-monitor-instances.json -tests/unit/response_parsing/xml/responses/ec2-monitor-instances.xml -tests/unit/response_parsing/xml/responses/ec2-register-image.json -tests/unit/response_parsing/xml/responses/ec2-register-image.xml -tests/unit/response_parsing/xml/responses/ec2-replace-network-acl-association.json -tests/unit/response_parsing/xml/responses/ec2-replace-network-acl-association.xml -tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.json -tests/unit/response_parsing/xml/responses/ec2-request-spot-instances.xml -tests/unit/response_parsing/xml/responses/ec2-run-instances.json -tests/unit/response_parsing/xml/responses/ec2-run-instances.xml -tests/unit/response_parsing/xml/responses/ec2-start-instances.json -tests/unit/response_parsing/xml/responses/ec2-start-instances.xml -tests/unit/response_parsing/xml/responses/ec2-stop-instances.json -tests/unit/response_parsing/xml/responses/ec2-stop-instances.xml -tests/unit/response_parsing/xml/responses/ec2-unmonitor-instances.json -tests/unit/response_parsing/xml/responses/ec2-unmonitor-instances.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-check-dns-availability.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-check-dns-availability.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-application-version.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-application-version.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-application.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-application.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-configuration-template.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-environment.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-environment.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-storage-location.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-create-storage-location.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-delete-application.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-delete-application.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-application-versions.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-application-versions.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-applications.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-applications.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-configuration-options.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-environments.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-environments.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-events.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-describe-events.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-list-available-solution-stacks.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-list-available-solution-stacks.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-retrieve-environment-info.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-retrieve-environment-info.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-terminate-environment.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-terminate-environment.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-update-application-version.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-update-application-version.xml -tests/unit/response_parsing/xml/responses/elasticbeanstalk-update-application.json -tests/unit/response_parsing/xml/responses/elasticbeanstalk-update-application.xml -tests/unit/response_parsing/xml/responses/elb-describe-load-balancer-policies.json -tests/unit/response_parsing/xml/responses/elb-describe-load-balancer-policies.xml -tests/unit/response_parsing/xml/responses/elb-describe-load-balancer-policy-types.json -tests/unit/response_parsing/xml/responses/elb-describe-load-balancer-policy-types.xml -tests/unit/response_parsing/xml/responses/elb-describe-load-balancers.json -tests/unit/response_parsing/xml/responses/elb-describe-load-balancers.xml -tests/unit/response_parsing/xml/responses/iam-create-virtual-mfa-device.json -tests/unit/response_parsing/xml/responses/iam-create-virtual-mfa-device.xml -tests/unit/response_parsing/xml/responses/iam-get-account-summary.json -tests/unit/response_parsing/xml/responses/iam-get-account-summary.xml -tests/unit/response_parsing/xml/responses/iam-get-group.json -tests/unit/response_parsing/xml/responses/iam-get-group.xml -tests/unit/response_parsing/xml/responses/iam-get-user-policy.json -tests/unit/response_parsing/xml/responses/iam-get-user-policy.xml -tests/unit/response_parsing/xml/responses/iam-get-user.json -tests/unit/response_parsing/xml/responses/iam-get-user.xml -tests/unit/response_parsing/xml/responses/iam-list-access-keys.json -tests/unit/response_parsing/xml/responses/iam-list-access-keys.xml -tests/unit/response_parsing/xml/responses/iam-list-account-aliases.json -tests/unit/response_parsing/xml/responses/iam-list-account-aliases.xml -tests/unit/response_parsing/xml/responses/iam-list-groups.json -tests/unit/response_parsing/xml/responses/iam-list-groups.xml -tests/unit/response_parsing/xml/responses/iam-list-instance-profiles.json -tests/unit/response_parsing/xml/responses/iam-list-instance-profiles.xml -tests/unit/response_parsing/xml/responses/iam-list-mfa-devices.json -tests/unit/response_parsing/xml/responses/iam-list-mfa-devices.xml -tests/unit/response_parsing/xml/responses/iam-list-roles.json -tests/unit/response_parsing/xml/responses/iam-list-roles.xml -tests/unit/response_parsing/xml/responses/iam-list-server-certificates.json -tests/unit/response_parsing/xml/responses/iam-list-server-certificates.xml -tests/unit/response_parsing/xml/responses/iam-list-signing-certificates.json -tests/unit/response_parsing/xml/responses/iam-list-signing-certificates.xml -tests/unit/response_parsing/xml/responses/iam-list-users.json -tests/unit/response_parsing/xml/responses/iam-list-users.xml -tests/unit/response_parsing/xml/responses/iam-list-virtual-mfa-devices.json -tests/unit/response_parsing/xml/responses/iam-list-virtual-mfa-devices.xml -tests/unit/response_parsing/xml/responses/importexport-list-jobs.json -tests/unit/response_parsing/xml/responses/importexport-list-jobs.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-engine-versions.json -tests/unit/response_parsing/xml/responses/rds-describe-db-engine-versions.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-instances.json -tests/unit/response_parsing/xml/responses/rds-describe-db-instances.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-parameter-groups.json -tests/unit/response_parsing/xml/responses/rds-describe-db-parameter-groups.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-security-groups.json -tests/unit/response_parsing/xml/responses/rds-describe-db-security-groups.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-snapshots.json -tests/unit/response_parsing/xml/responses/rds-describe-db-snapshots.xml -tests/unit/response_parsing/xml/responses/rds-describe-db-subnet-groups.json -tests/unit/response_parsing/xml/responses/rds-describe-db-subnet-groups.xml -tests/unit/response_parsing/xml/responses/rds-describe-event-categories.json -tests/unit/response_parsing/xml/responses/rds-describe-event-categories.xml -tests/unit/response_parsing/xml/responses/rds-describe-event-subscriptions.json -tests/unit/response_parsing/xml/responses/rds-describe-event-subscriptions.xml -tests/unit/response_parsing/xml/responses/rds-describe-events.json -tests/unit/response_parsing/xml/responses/rds-describe-events.xml -tests/unit/response_parsing/xml/responses/rds-describe-option-groups.json -tests/unit/response_parsing/xml/responses/rds-describe-option-groups.xml -tests/unit/response_parsing/xml/responses/rds-describe-reserved-db-instances-offerings.json -tests/unit/response_parsing/xml/responses/rds-describe-reserved-db-instances-offerings.xml -tests/unit/response_parsing/xml/responses/rds-describe-reserved-db-instances.json -tests/unit/response_parsing/xml/responses/rds-describe-reserved-db-instances.xml -tests/unit/response_parsing/xml/responses/redshift-authorize-cluster-security-group-ingress.json -tests/unit/response_parsing/xml/responses/redshift-authorize-cluster-security-group-ingress.xml -tests/unit/response_parsing/xml/responses/redshift-copy-cluster-snapshot.json -tests/unit/response_parsing/xml/responses/redshift-copy-cluster-snapshot.xml -tests/unit/response_parsing/xml/responses/redshift-create-cluster-parameter-group.json -tests/unit/response_parsing/xml/responses/redshift-create-cluster-parameter-group.xml -tests/unit/response_parsing/xml/responses/redshift-create-cluster-security-group.json -tests/unit/response_parsing/xml/responses/redshift-create-cluster-security-group.xml -tests/unit/response_parsing/xml/responses/redshift-create-cluster-snapshot.json -tests/unit/response_parsing/xml/responses/redshift-create-cluster-snapshot.xml -tests/unit/response_parsing/xml/responses/redshift-create-cluster-subnet-group.json -tests/unit/response_parsing/xml/responses/redshift-create-cluster-subnet-group.xml -tests/unit/response_parsing/xml/responses/redshift-create-cluster.json -tests/unit/response_parsing/xml/responses/redshift-create-cluster.xml -tests/unit/response_parsing/xml/responses/redshift-delete-cluster-parameter-group.json -tests/unit/response_parsing/xml/responses/redshift-delete-cluster-parameter-group.xml -tests/unit/response_parsing/xml/responses/redshift-delete-cluster-snapshot.json -tests/unit/response_parsing/xml/responses/redshift-delete-cluster-snapshot.xml -tests/unit/response_parsing/xml/responses/redshift-delete-cluster.json -tests/unit/response_parsing/xml/responses/redshift-delete-cluster.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-parameter-groups.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-parameter-groups.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-parameters.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-parameters.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-security-groups.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-security-groups.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-snapshots.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-snapshots.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-subnet-groups.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-subnet-groups.xml -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-versions.json -tests/unit/response_parsing/xml/responses/redshift-describe-cluster-versions.xml -tests/unit/response_parsing/xml/responses/redshift-describe-clusters.json -tests/unit/response_parsing/xml/responses/redshift-describe-clusters.xml -tests/unit/response_parsing/xml/responses/redshift-describe-events.json -tests/unit/response_parsing/xml/responses/redshift-describe-events.xml -tests/unit/response_parsing/xml/responses/redshift-describe-orderable-cluster-options.json -tests/unit/response_parsing/xml/responses/redshift-describe-orderable-cluster-options.xml -tests/unit/response_parsing/xml/responses/redshift-describe-reserved-node-offerings.json -tests/unit/response_parsing/xml/responses/redshift-describe-reserved-node-offerings.xml -tests/unit/response_parsing/xml/responses/redshift-describe-reserved-nodes.json -tests/unit/response_parsing/xml/responses/redshift-describe-reserved-nodes.xml -tests/unit/response_parsing/xml/responses/redshift-describe-resize.json -tests/unit/response_parsing/xml/responses/redshift-describe-resize.xml -tests/unit/response_parsing/xml/responses/redshift-modify-cluster-parameter-group.json -tests/unit/response_parsing/xml/responses/redshift-modify-cluster-parameter-group.xml -tests/unit/response_parsing/xml/responses/redshift-purchase-reserved-node-offering.json -tests/unit/response_parsing/xml/responses/redshift-purchase-reserved-node-offering.xml -tests/unit/response_parsing/xml/responses/redshift-reboot-cluster.json -tests/unit/response_parsing/xml/responses/redshift-reboot-cluster.xml -tests/unit/response_parsing/xml/responses/redshift-reset-cluster-parameter-group.json -tests/unit/response_parsing/xml/responses/redshift-reset-cluster-parameter-group.xml -tests/unit/response_parsing/xml/responses/redshift-restore-from-cluster-snapshot.json -tests/unit/response_parsing/xml/responses/redshift-restore-from-cluster-snapshot.xml -tests/unit/response_parsing/xml/responses/redshift-revoke-cluster-security-group-ingress.json -tests/unit/response_parsing/xml/responses/redshift-revoke-cluster-security-group-ingress.xml -tests/unit/response_parsing/xml/responses/s3-get-bucket-acl.json -tests/unit/response_parsing/xml/responses/s3-get-bucket-acl.xml -tests/unit/response_parsing/xml/responses/s3-get-bucket-location.json -tests/unit/response_parsing/xml/responses/s3-get-bucket-location.xml -tests/unit/response_parsing/xml/responses/s3-get-bucket-logging.json -tests/unit/response_parsing/xml/responses/s3-get-bucket-logging.xml -tests/unit/response_parsing/xml/responses/s3-get-bucket-policy.json -tests/unit/response_parsing/xml/responses/s3-get-bucket-policy.xml -tests/unit/response_parsing/xml/responses/s3-list-buckets.json -tests/unit/response_parsing/xml/responses/s3-list-buckets.xml -tests/unit/response_parsing/xml/responses/s3-list-multipart-uploads#2.json -tests/unit/response_parsing/xml/responses/s3-list-multipart-uploads#2.xml -tests/unit/response_parsing/xml/responses/s3-list-multipart-uploads.json -tests/unit/response_parsing/xml/responses/s3-list-multipart-uploads.xml -tests/unit/response_parsing/xml/responses/s3-list-object-versions.json -tests/unit/response_parsing/xml/responses/s3-list-object-versions.xml -tests/unit/response_parsing/xml/responses/s3-list-objects.json -tests/unit/response_parsing/xml/responses/s3-list-objects.xml -tests/unit/response_parsing/xml/responses/ses-delete-identity.json -tests/unit/response_parsing/xml/responses/ses-delete-identity.xml -tests/unit/response_parsing/xml/responses/ses-get-identity-dkim-attributes.json -tests/unit/response_parsing/xml/responses/ses-get-identity-dkim-attributes.xml -tests/unit/response_parsing/xml/responses/ses-get-identity-notification-attributes.json -tests/unit/response_parsing/xml/responses/ses-get-identity-notification-attributes.xml -tests/unit/response_parsing/xml/responses/ses-get-identity-verification-attributes.json -tests/unit/response_parsing/xml/responses/ses-get-identity-verification-attributes.xml -tests/unit/response_parsing/xml/responses/ses-get-send-quota.json -tests/unit/response_parsing/xml/responses/ses-get-send-quota.xml -tests/unit/response_parsing/xml/responses/ses-get-send-statistics.json -tests/unit/response_parsing/xml/responses/ses-get-send-statistics.xml -tests/unit/response_parsing/xml/responses/ses-list-identities.json -tests/unit/response_parsing/xml/responses/ses-list-identities.xml -tests/unit/response_parsing/xml/responses/ses-send-email.json -tests/unit/response_parsing/xml/responses/ses-send-email.xml -tests/unit/response_parsing/xml/responses/ses-send-raw-email.json -tests/unit/response_parsing/xml/responses/ses-send-raw-email.xml -tests/unit/response_parsing/xml/responses/ses-set-identity-dkim-enabled.json -tests/unit/response_parsing/xml/responses/ses-set-identity-dkim-enabled.xml -tests/unit/response_parsing/xml/responses/ses-verify-domain-dkim.json -tests/unit/response_parsing/xml/responses/ses-verify-domain-dkim.xml -tests/unit/response_parsing/xml/responses/ses-verify-domain-identity.json -tests/unit/response_parsing/xml/responses/ses-verify-domain-identity.xml -tests/unit/response_parsing/xml/responses/sns-add-permission.json -tests/unit/response_parsing/xml/responses/sns-add-permission.xml -tests/unit/response_parsing/xml/responses/sns-confirm-subscription.json -tests/unit/response_parsing/xml/responses/sns-confirm-subscription.xml -tests/unit/response_parsing/xml/responses/sns-create-topic.json -tests/unit/response_parsing/xml/responses/sns-create-topic.xml -tests/unit/response_parsing/xml/responses/sns-get-subscription-attributes.json -tests/unit/response_parsing/xml/responses/sns-get-subscription-attributes.xml -tests/unit/response_parsing/xml/responses/sns-get-topic-attributes.json -tests/unit/response_parsing/xml/responses/sns-get-topic-attributes.xml -tests/unit/response_parsing/xml/responses/sns-list-subscriptions-by-topic.json -tests/unit/response_parsing/xml/responses/sns-list-subscriptions-by-topic.xml -tests/unit/response_parsing/xml/responses/sns-list-subscriptions.json -tests/unit/response_parsing/xml/responses/sns-list-subscriptions.xml -tests/unit/response_parsing/xml/responses/sns-list-topics.json -tests/unit/response_parsing/xml/responses/sns-list-topics.xml -tests/unit/response_parsing/xml/responses/sns-publish.json -tests/unit/response_parsing/xml/responses/sns-publish.xml -tests/unit/response_parsing/xml/responses/sns-subscribe.json -tests/unit/response_parsing/xml/responses/sns-subscribe.xml -tests/unit/response_parsing/xml/responses/sqs-add-permission.json -tests/unit/response_parsing/xml/responses/sqs-add-permission.xml -tests/unit/response_parsing/xml/responses/sqs-change-message-visibility-batch.json -tests/unit/response_parsing/xml/responses/sqs-change-message-visibility-batch.xml -tests/unit/response_parsing/xml/responses/sqs-create-queue.json -tests/unit/response_parsing/xml/responses/sqs-create-queue.xml -tests/unit/response_parsing/xml/responses/sqs-delete-message-batch.json -tests/unit/response_parsing/xml/responses/sqs-delete-message-batch.xml -tests/unit/response_parsing/xml/responses/sqs-get-queue-attributes.json -tests/unit/response_parsing/xml/responses/sqs-get-queue-attributes.xml -tests/unit/response_parsing/xml/responses/sqs-get-queue-url.json -tests/unit/response_parsing/xml/responses/sqs-get-queue-url.xml -tests/unit/response_parsing/xml/responses/sqs-list-queues.json -tests/unit/response_parsing/xml/responses/sqs-list-queues.xml -tests/unit/response_parsing/xml/responses/sqs-receive-message.json -tests/unit/response_parsing/xml/responses/sqs-receive-message.xml -tests/unit/response_parsing/xml/responses/sqs-send-message-batch.json -tests/unit/response_parsing/xml/responses/sqs-send-message-batch.xml -tests/unit/response_parsing/xml/responses/sqs-send-message.json -tests/unit/response_parsing/xml/responses/sqs-send-message.xml -tests/unit/response_parsing/xml/responses/sts-get-session-token.json -tests/unit/response_parsing/xml/responses/sts-get-session-token.xml \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/dependency_links.txt b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/not-zip-safe b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/requires.txt b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/requires.txt deleted file mode 100644 index 985cd3a1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/requires.txt +++ /dev/null @@ -1,8 +0,0 @@ -jmespath>=0.7.1,<1.0.0 -docutils>=0.10 -urllib3>=1.20,<1.24 -python-dateutil>=2.1,<3.0.0 - -[:python_version=="2.6"] -ordereddict==1.1 -simplejson==3.3.0 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/top_level.txt b/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/top_level.txt deleted file mode 100644 index c5b9e129..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/EGG-INFO/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -botocore diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/__init__.py deleted file mode 100644 index 8a570e30..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/__init__.py +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import os -import re -import logging - -__version__ = '1.11.8' - - -class NullHandler(logging.Handler): - def emit(self, record): - pass - -# Configure default logger to do nothing -log = logging.getLogger('botocore') -log.addHandler(NullHandler()) - - -_first_cap_regex = re.compile('(.)([A-Z][a-z]+)') -_end_cap_regex = re.compile('([a-z0-9])([A-Z])') -# The regex below handles the special case where some acryonym -# name is pluralized, e.g GatewayARNs, ListWebACLs, SomeCNAMEs. -_special_case_transform = re.compile('[A-Z]{3,}s$') -# Prepopulate the cache with special cases that don't match -# our regular transformation. -_xform_cache = { - ('CreateCachediSCSIVolume', '_'): 'create_cached_iscsi_volume', - ('CreateCachediSCSIVolume', '-'): 'create-cached-iscsi-volume', - ('DescribeCachediSCSIVolumes', '_'): 'describe_cached_iscsi_volumes', - ('DescribeCachediSCSIVolumes', '-'): 'describe-cached-iscsi-volumes', - ('DescribeStorediSCSIVolumes', '_'): 'describe_stored_iscsi_volumes', - ('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 -# common mis-translation can be fixed without having to call out each -# individual case. -ScalarTypes = ('string', 'integer', 'boolean', 'timestamp', 'float', 'double') - -BOTOCORE_ROOT = os.path.dirname(os.path.abspath(__file__)) - - -# Used to specify anonymous (unsigned) request signature -class UNSIGNED(object): - def __copy__(self): - return self - - def __deepcopy__(self, memodict): - return self - - -UNSIGNED = UNSIGNED() - - -def xform_name(name, sep='_', _xform_cache=_xform_cache): - """Convert camel case to a "pythonic" name. - - If the name contains the ``sep`` character, then it is - returned unchanged. - - """ - if sep in name: - # If the sep is in the name, assume that it's already - # transformed and return the string unchanged. - return name - key = (name, sep) - if key not in _xform_cache: - if _special_case_transform.search(name) is not None: - is_special = _special_case_transform.search(name) - matched = is_special.group() - # Replace something like ARNs, ACLs with _arns, _acls. - name = name[:-len(matched)] + sep + matched.lower() - s1 = _first_cap_regex.sub(r'\1' + sep + r'\2', name) - transformed = _end_cap_regex.sub(r'\1' + sep + r'\2', s1).lower() - _xform_cache[key] = transformed - return _xform_cache[key] diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/args.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/args.py deleted file mode 100644 index fb6b5bc2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/args.py +++ /dev/null @@ -1,208 +0,0 @@ -# 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. -"""Internal module to help with normalizing botocore client args. - -This module (and all function/classes within this module) should be -considered internal, and *not* a public API. - -""" -import copy -import logging - -import botocore.serialize -from botocore.signers import RequestSigner -from botocore.config import Config -from botocore.endpoint import EndpointCreator - - -logger = logging.getLogger(__name__) - - -class ClientArgsCreator(object): - def __init__(self, event_emitter, user_agent, response_parser_factory, - loader, exceptions_factory): - self._event_emitter = event_emitter - self._user_agent = user_agent - self._response_parser_factory = response_parser_factory - self._loader = loader - self._exceptions_factory = exceptions_factory - - def get_client_args(self, service_model, region_name, is_secure, - endpoint_url, verify, credentials, scoped_config, - client_config, endpoint_bridge): - final_args = self.compute_client_args( - service_model, client_config, endpoint_bridge, region_name, - endpoint_url, is_secure, scoped_config) - - service_name = final_args['service_name'] - parameter_validation = final_args['parameter_validation'] - endpoint_config = final_args['endpoint_config'] - protocol = final_args['protocol'] - config_kwargs = final_args['config_kwargs'] - 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, signing_region, - endpoint_config['signing_name'], - endpoint_config['signature_version'], - credentials, event_emitter) - - config_kwargs['s3'] = s3_config - new_config = Config(**config_kwargs) - endpoint_creator = EndpointCreator(event_emitter) - - endpoint = endpoint_creator.create_endpoint( - service_model, region_name=endpoint_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, - proxies=new_config.proxies, - timeout=(new_config.connect_timeout, new_config.read_timeout)) - - serializer = botocore.serialize.create_serializer( - protocol, parameter_validation) - response_parser = botocore.parsers.create_parser(protocol) - return { - 'serializer': serializer, - 'endpoint': endpoint, - 'response_parser': response_parser, - 'event_emitter': event_emitter, - 'request_signer': signer, - 'service_model': service_model, - 'loader': self._loader, - 'client_config': new_config, - 'partition': partition, - 'exceptions_factory': self._exceptions_factory - } - - def compute_client_args(self, service_model, client_config, - endpoint_bridge, region_name, endpoint_url, - is_secure, scoped_config): - service_name = service_model.endpoint_prefix - protocol = service_model.metadata['protocol'] - parameter_validation = True - if client_config and not client_config.parameter_validation: - parameter_validation = False - elif scoped_config: - raw_value = str(scoped_config.get('parameter_validation', '')) - if raw_value.lower() == 'false': - parameter_validation = False - - endpoint_config = endpoint_bridge.resolve( - service_name, region_name, endpoint_url, is_secure) - - # Override the user agent if specified in the client config. - user_agent = self._user_agent - if client_config is not None: - if client_config.user_agent is not None: - user_agent = client_config.user_agent - if client_config.user_agent_extra is not None: - user_agent += ' %s' % client_config.user_agent_extra - - # Create a new client config to be passed to the client based - # on the final values. We do not want the user to be able - # to try to modify an existing client with a client config. - config_kwargs = dict( - region_name=endpoint_config['region_name'], - signature_version=endpoint_config['signature_version'], - user_agent=user_agent) - if client_config is not None: - config_kwargs.update( - connect_timeout=client_config.connect_timeout, - read_timeout=client_config.read_timeout, - max_pool_connections=client_config.max_pool_connections, - proxies=client_config.proxies, - retries=client_config.retries - ) - s3_config = self.compute_s3_config(scoped_config, - client_config) - return { - 'service_name': service_name, - 'parameter_validation': parameter_validation, - 'user_agent': user_agent, - 'endpoint_config': endpoint_config, - 'protocol': protocol, - 'config_kwargs': config_kwargs, - 's3_config': s3_config, - } - - def compute_s3_config(self, scoped_config, client_config): - s3_configuration = None - - # Check the scoped config first. - if scoped_config is not None: - s3_configuration = scoped_config.get('s3') - # Until we have proper validation of the config file (including - # nested types), we have to account for the fact that the s3 - # key could be parsed as a string, e.g 's3 = foo'. - # In the case we'll ignore the key for now. - if not isinstance(s3_configuration, dict): - logger.debug("The s3 config key is not a dictionary type, " - "ignoring its value of: %s", s3_configuration) - s3_configuration = None - - # Convert logic for several s3 keys in the scoped config - # so that the various strings map to the appropriate boolean value. - if s3_configuration: - boolean_keys = ['use_accelerate_endpoint', - 'use_dualstack_endpoint', - 'payload_signing_enabled'] - s3_configuration = self._convert_config_to_bool( - s3_configuration, boolean_keys) - - # Next specific client config values takes precedence over - # specific values in the scoped config. - if client_config is not None: - if client_config.s3 is not None: - if s3_configuration is None: - s3_configuration = client_config.s3 - else: - # The current s3_configuration dictionary may be - # from a source that only should be read from so - # we want to be safe and just make a copy of it to modify - # before it actually gets updated. - s3_configuration = s3_configuration.copy() - s3_configuration.update(client_config.s3) - - return s3_configuration - - def _convert_config_to_bool(self, config_dict, keys): - # Make sure any further modifications to this section of the config - # will not affect the scoped config by making a copy of it. - config_copy = config_dict.copy() - present_keys = [k for k in keys if k in config_copy] - for key in present_keys: - # Normalize on different possible values of True - if config_copy[key] in [True, 'True', 'true']: - config_copy[key] = True - else: - config_copy[key] = False - return config_copy - - def _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/.eggs/botocore-1.11.8-py2.7.egg/botocore/auth.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/auth.py deleted file mode 100644 index 59dccc62..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/auth.py +++ /dev/null @@ -1,871 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import base64 -import datetime -from hashlib import sha256 -from hashlib import sha1 -import hmac -import logging -from email.utils import formatdate -from operator import itemgetter -import functools -import time -import calendar -import json - -from botocore.exceptions import NoCredentialsError -from botocore.utils import normalize_url_path, percent_encode_sequence -from botocore.compat import HTTPHeaders -from botocore.compat import quote, unquote, urlsplit, parse_qs -from botocore.compat import urlunsplit -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__) - - -EMPTY_SHA256_HASH = ( - 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855') -# This is the buffer size used when calculating sha256 checksums. -# Experimenting with various buffer sizes showed that this value generally -# gave the best result (in terms of performance). -PAYLOAD_BUFFER = 1024 * 1024 -ISO8601 = '%Y-%m-%dT%H:%M:%SZ' -SIGV4_TIMESTAMP = '%Y%m%dT%H%M%SZ' -SIGNED_HEADERS_BLACKLIST = [ - 'expect', - 'user-agent', - 'x-amzn-trace-id', -] -UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD' - - -class BaseSigner(object): - REQUIRES_REGION = False - - def add_auth(self, request): - raise NotImplementedError("add_auth") - - -class SigV2Auth(BaseSigner): - """ - Sign a request with Signature V2. - """ - - def __init__(self, credentials): - self.credentials = credentials - - def calc_signature(self, request, params): - logger.debug("Calculating signature using v2 auth.") - split = urlsplit(request.url) - path = split.path - if len(path) == 0: - path = '/' - string_to_sign = '%s\n%s\n%s\n' % (request.method, - split.netloc, - path) - lhmac = hmac.new(self.credentials.secret_key.encode('utf-8'), - digestmod=sha256) - pairs = [] - for key in sorted(params): - # Any previous signature should not be a part of this - # one, so we skip that particular key. This prevents - # issues during retries. - if key == 'Signature': - continue - value = six.text_type(params[key]) - pairs.append(quote(key.encode('utf-8'), safe='') + '=' + - quote(value.encode('utf-8'), safe='-_~')) - qs = '&'.join(pairs) - string_to_sign += qs - logger.debug('String to sign: %s', string_to_sign) - lhmac.update(string_to_sign.encode('utf-8')) - b64 = base64.b64encode(lhmac.digest()).strip().decode('utf-8') - return (qs, b64) - - def add_auth(self, request): - # The auth handler is the last thing called in the - # preparation phase of a prepared request. - # Because of this we have to parse the query params - # from the request body so we can update them with - # the sigv2 auth params. - if self.credentials is None: - raise NoCredentialsError - if request.data: - # POST - params = request.data - else: - # GET - params = request.params - params['AWSAccessKeyId'] = self.credentials.access_key - params['SignatureVersion'] = '2' - params['SignatureMethod'] = 'HmacSHA256' - params['Timestamp'] = time.strftime(ISO8601, time.gmtime()) - if self.credentials.token: - params['SecurityToken'] = self.credentials.token - qs, signature = self.calc_signature(request, params) - params['Signature'] = signature - return request - - -class SigV3Auth(BaseSigner): - def __init__(self, credentials): - self.credentials = credentials - - def add_auth(self, request): - if self.credentials is None: - raise NoCredentialsError - if 'Date' in request.headers: - del request.headers['Date'] - request.headers['Date'] = formatdate(usegmt=True) - if self.credentials.token: - if 'X-Amz-Security-Token' in request.headers: - del request.headers['X-Amz-Security-Token'] - request.headers['X-Amz-Security-Token'] = self.credentials.token - new_hmac = hmac.new(self.credentials.secret_key.encode('utf-8'), - digestmod=sha256) - new_hmac.update(request.headers['Date'].encode('utf-8')) - encoded_signature = encodebytes(new_hmac.digest()).strip() - signature = ('AWS3-HTTPS AWSAccessKeyId=%s,Algorithm=%s,Signature=%s' % - (self.credentials.access_key, 'HmacSHA256', - encoded_signature.decode('utf-8'))) - if 'X-Amzn-Authorization' in request.headers: - del request.headers['X-Amzn-Authorization'] - request.headers['X-Amzn-Authorization'] = signature - - -class SigV4Auth(BaseSigner): - """ - Sign a request with Signature V4. - """ - REQUIRES_REGION = True - - def __init__(self, credentials, service_name, region_name): - self.credentials = credentials - # We initialize these value here so the unit tests can have - # valid values. But these will get overriden in ``add_auth`` - # later for real requests. - self._region_name = region_name - self._service_name = service_name - - def _sign(self, key, msg, hex=False): - if hex: - sig = hmac.new(key, msg.encode('utf-8'), sha256).hexdigest() - else: - sig = hmac.new(key, msg.encode('utf-8'), sha256).digest() - return sig - - def headers_to_sign(self, request): - """ - Select the headers from the request that need to be included - in the StringToSign. - """ - header_map = HTTPHeaders() - for name, value in request.headers.items(): - lname = name.lower() - if lname not in SIGNED_HEADERS_BLACKLIST: - header_map[lname] = value - if 'host' not in header_map: - # Ensure we sign the lowercased version of the host, as that - # is what will ultimately be sent on the wire. - # TODO: We should set the host ourselves, instead of relying on our - # HTTP client to set it for us. - header_map['host'] = self._canonical_host(request.url).lower() - return header_map - - def _canonical_host(self, url): - url_parts = urlsplit(url) - default_ports = { - 'http': 80, - 'https': 443 - } - if any(url_parts.scheme == scheme and url_parts.port == port - for scheme, port in default_ports.items()): - # No need to include the port if it's the default port. - return url_parts.hostname - # Strip out auth if it's present in the netloc. - return url_parts.netloc.rsplit('@', 1)[-1] - - def canonical_query_string(self, request): - # The query string can come from two parts. One is the - # params attribute of the request. The other is from the request - # url (in which case we have to re-split the url into its components - # and parse out the query string component). - if request.params: - return self._canonical_query_string_params(request.params) - else: - return self._canonical_query_string_url(urlsplit(request.url)) - - def _canonical_query_string_params(self, params): - l = [] - for param in sorted(params): - value = str(params[param]) - l.append('%s=%s' % (quote(param, safe='-_.~'), - quote(value, safe='-_.~'))) - cqs = '&'.join(l) - return cqs - - def _canonical_query_string_url(self, parts): - canonical_query_string = '' - if parts.query: - # [(key, value), (key2, value2)] - key_val_pairs = [] - for pair in parts.query.split('&'): - key, _, value = pair.partition('=') - key_val_pairs.append((key, value)) - sorted_key_vals = [] - # Sort by the key names, and in the case of - # repeated keys, then sort by the value. - for key, value in sorted(key_val_pairs): - sorted_key_vals.append('%s=%s' % (key, value)) - canonical_query_string = '&'.join(sorted_key_vals) - return canonical_query_string - - def canonical_headers(self, headers_to_sign): - """ - Return the headers that need to be included in the StringToSign - in their canonical form by converting all header keys to lower - case, sorting them in alphabetical order and then joining - them into a string, separated by newlines. - """ - headers = [] - sorted_header_names = sorted(set(headers_to_sign)) - for key in sorted_header_names: - value = ','.join(self._header_value(v) for v in - sorted(headers_to_sign.get_all(key))) - 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, - PAYLOAD_BUFFER) - checksum = sha256() - for chunk in iter(read_chunksize, b''): - checksum.update(chunk) - hex_checksum = checksum.hexdigest() - request.body.seek(position) - return hex_checksum - elif request.body: - # The request serialization has ensured that - # request.body is a bytes() type. - return sha256(request.body).hexdigest() - else: - return EMPTY_SHA256_HASH - - def _should_sha256_sign_payload(self, request): - # Payloads will always be signed over insecure connections. - if not request.url.startswith('https'): - return True - - # Certain operations may have payload signing disabled by default. - # Since we don't have access to the operation model, we pass in this - # bit of metadata through the request context. - return request.context.get('payload_signing_enabled', True) - - def canonical_request(self, request): - cr = [request.method.upper()] - path = self._normalize_url_path(urlsplit(request.url).path) - cr.append(path) - cr.append(self.canonical_query_string(request)) - headers_to_sign = self.headers_to_sign(request) - cr.append(self.canonical_headers(headers_to_sign) + '\n') - cr.append(self.signed_headers(headers_to_sign)) - if 'X-Amz-Content-SHA256' in request.headers: - body_checksum = request.headers['X-Amz-Content-SHA256'] - else: - body_checksum = self.payload(request) - cr.append(body_checksum) - return '\n'.join(cr) - - def _normalize_url_path(self, path): - normalized_path = quote(normalize_url_path(path), safe='/~') - return normalized_path - - def scope(self, request): - scope = [self.credentials.access_key] - scope.append(request.context['timestamp'][0:8]) - scope.append(self._region_name) - scope.append(self._service_name) - scope.append('aws4_request') - return '/'.join(scope) - - def credential_scope(self, request): - scope = [] - scope.append(request.context['timestamp'][0:8]) - scope.append(self._region_name) - scope.append(self._service_name) - scope.append('aws4_request') - return '/'.join(scope) - - def string_to_sign(self, request, canonical_request): - """ - Return the canonical StringToSign as well as a dict - containing the original version of all headers that - were included in the StringToSign. - """ - sts = ['AWS4-HMAC-SHA256'] - sts.append(request.context['timestamp']) - sts.append(self.credential_scope(request)) - sts.append(sha256(canonical_request.encode('utf-8')).hexdigest()) - return '\n'.join(sts) - - def signature(self, string_to_sign, request): - key = self.credentials.secret_key - k_date = self._sign(('AWS4' + key).encode('utf-8'), - request.context['timestamp'][0:8]) - k_region = self._sign(k_date, self._region_name) - k_service = self._sign(k_region, self._service_name) - k_signing = self._sign(k_service, 'aws4_request') - return self._sign(k_signing, string_to_sign, hex=True) - - def add_auth(self, request): - if self.credentials is None: - raise NoCredentialsError - datetime_now = datetime.datetime.utcnow() - request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP) - # This could be a retry. Make sure the previous - # authorization header is removed first. - self._modify_request_before_signing(request) - canonical_request = self.canonical_request(request) - logger.debug("Calculating signature using v4 auth.") - logger.debug('CanonicalRequest:\n%s', canonical_request) - string_to_sign = self.string_to_sign(request, canonical_request) - logger.debug('StringToSign:\n%s', string_to_sign) - signature = self.signature(string_to_sign, request) - logger.debug('Signature:\n%s', signature) - - self._inject_signature_to_request(request, signature) - - def _inject_signature_to_request(self, request, signature): - l = ['AWS4-HMAC-SHA256 Credential=%s' % self.scope(request)] - headers_to_sign = self.headers_to_sign(request) - l.append('SignedHeaders=%s' % self.signed_headers(headers_to_sign)) - l.append('Signature=%s' % signature) - request.headers['Authorization'] = ', '.join(l) - return request - - def _modify_request_before_signing(self, request): - if 'Authorization' in request.headers: - del request.headers['Authorization'] - self._set_necessary_date_headers(request) - if self.credentials.token: - if 'X-Amz-Security-Token' in request.headers: - 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 - # header. Otherwise we use the X-Amz-Date header. - if 'Date' in request.headers: - del request.headers['Date'] - datetime_timestamp = datetime.datetime.strptime( - request.context['timestamp'], SIGV4_TIMESTAMP) - request.headers['Date'] = formatdate( - int(calendar.timegm(datetime_timestamp.timetuple()))) - if 'X-Amz-Date' in request.headers: - del request.headers['X-Amz-Date'] - else: - if 'X-Amz-Date' in request.headers: - del request.headers['X-Amz-Date'] - request.headers['X-Amz-Date'] = request.context['timestamp'] - - -class S3SigV4Auth(SigV4Auth): - def __init__(self, credentials, service_name, region_name): - super(S3SigV4Auth, self).__init__( - credentials, service_name, region_name) - self._default_region_name = region_name - - def add_auth(self, request): - # If we ever decide to share auth sessions, this could potentially be - # a source of concurrency bugs. - signing_context = request.context.get('signing', {}) - self._region_name = signing_context.get( - 'region', self._default_region_name) - super(S3SigV4Auth, self).add_auth(request) - - def _modify_request_before_signing(self, request): - super(S3SigV4Auth, self)._modify_request_before_signing(request) - if 'X-Amz-Content-SHA256' in request.headers: - del request.headers['X-Amz-Content-SHA256'] - - 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 - # impact, we opt to not SHA256 sign the body on streaming uploads, - # provided that we're on https. - client_config = request.context.get('client_config') - s3_config = getattr(client_config, 's3', None) - - # The config could be None if it isn't set, or if the customer sets it - # to None. - 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 - - # 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 - - # 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. - return path - - -class SigV4QueryAuth(SigV4Auth): - DEFAULT_EXPIRES = 3600 - - def __init__(self, credentials, service_name, region_name, - expires=DEFAULT_EXPIRES): - super(SigV4QueryAuth, self).__init__(credentials, service_name, - region_name) - self._expires = expires - - def _modify_request_before_signing(self, request): - # We automatically set this header, so if it's the auto-set value we - # want to get rid of it since it doesn't make sense for presigned urls. - content_type = request.headers.get('content-type') - blacklisted_content_type = ( - 'application/x-www-form-urlencoded; charset=utf-8' - ) - if content_type == blacklisted_content_type: - del request.headers['content-type'] - - # Note that we're not including X-Amz-Signature. - # From the docs: "The Canonical Query String must include all the query - # parameters from the preceding table except for X-Amz-Signature. - signed_headers = self.signed_headers(self.headers_to_sign(request)) - - auth_params = { - 'X-Amz-Algorithm': 'AWS4-HMAC-SHA256', - 'X-Amz-Credential': self.scope(request), - 'X-Amz-Date': request.context['timestamp'], - 'X-Amz-Expires': self._expires, - 'X-Amz-SignedHeaders': signed_headers, - } - if self.credentials.token is not None: - auth_params['X-Amz-Security-Token'] = self.credentials.token - # Now parse the original query string to a dict, inject our new query - # params, and serialize back to a query string. - url_parts = urlsplit(request.url) - # parse_qs makes each value a list, but in our case we know we won't - # have repeated keys so we know we have single element lists which we - # can convert back to scalar values. - query_dict = dict( - [(k, v[0]) for k, v in - parse_qs(url_parts.query, keep_blank_values=True).items()]) - # The spec is particular about this. It *has* to be: - # https://?& - # You can't mix the two types of params together, i.e just keep doing - # new_query_params.update(op_params) - # new_query_params.update(auth_params) - # percent_encode_sequence(new_query_params) - operation_params = '' - if request.data: - # We also need to move the body params into the query string. To - # do this, we first have to convert it to a dict. - query_dict.update(self._get_body_as_dict(request)) - request.data = '' - if query_dict: - operation_params = percent_encode_sequence(query_dict) + '&' - new_query_string = (operation_params + - percent_encode_sequence(auth_params)) - # url_parts is a tuple (and therefore immutable) so we need to create - # a new url_parts with the new query string. - # - - # scheme - 0 - # netloc - 1 - # path - 2 - # query - 3 <-- we're replacing this. - # fragment - 4 - p = url_parts - new_url_parts = (p[0], p[1], p[2], new_query_string, p[4]) - request.url = urlunsplit(new_url_parts) - - def _get_body_as_dict(self, request): - # For query services, request.data is form-encoded and is already a - # dict, but for other services such as rest-json it could be a json - # string or bytes. In those cases we attempt to load the data as a - # dict. - data = request.data - if isinstance(data, six.binary_type): - data = json.loads(data.decode('utf-8')) - elif isinstance(data, six.string_types): - data = json.loads(data) - return data - - def _inject_signature_to_request(self, request, signature): - # Rather than calculating an "Authorization" header, for the query - # param quth, we just append an 'X-Amz-Signature' param to the end - # of the query string. - request.url += '&X-Amz-Signature=%s' % signature - - -class S3SigV4QueryAuth(SigV4QueryAuth): - """S3 SigV4 auth using query parameters. - - This signer will sign a request using query parameters and signature - version 4, i.e a "presigned url" signer. - - Based off of: - - http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html - - """ - def _normalize_url_path(self, path): - # For S3, we do not normalize the path. - return path - - def payload(self, request): - # From the doc link above: - # "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 - - -class S3SigV4PostAuth(SigV4Auth): - """ - Presigns a s3 post - - Implementation doc here: - http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html - """ - def add_auth(self, request): - datetime_now = datetime.datetime.utcnow() - request.context['timestamp'] = datetime_now.strftime(SIGV4_TIMESTAMP) - - fields = {} - if request.context.get('s3-presign-post-fields', None) is not None: - fields = request.context['s3-presign-post-fields'] - - policy = {} - conditions = [] - if request.context.get('s3-presign-post-policy', None) is not None: - policy = request.context['s3-presign-post-policy'] - if policy.get('conditions', None) is not None: - conditions = policy['conditions'] - - policy['conditions'] = conditions - - fields['x-amz-algorithm'] = 'AWS4-HMAC-SHA256' - fields['x-amz-credential'] = self.scope(request) - fields['x-amz-date'] = request.context['timestamp'] - - conditions.append({'x-amz-algorithm': 'AWS4-HMAC-SHA256'}) - conditions.append({'x-amz-credential': self.scope(request)}) - conditions.append({'x-amz-date': request.context['timestamp']}) - - if self.credentials.token is not None: - fields['x-amz-security-token'] = self.credentials.token - conditions.append({'x-amz-security-token': self.credentials.token}) - - # Dump the base64 encoded policy into the fields dictionary. - fields['policy'] = base64.b64encode( - json.dumps(policy).encode('utf-8')).decode('utf-8') - - fields['x-amz-signature'] = self.signature(fields['policy'], request) - - request.context['s3-presign-post-fields'] = fields - request.context['s3-presign-post-policy'] = policy - - -class HmacV1Auth(BaseSigner): - - # List of Query String Arguments of Interest - QSAOfInterest = ['accelerate', 'acl', 'cors', 'defaultObjectAcl', - 'location', 'logging', 'partNumber', 'policy', - 'requestPayment', 'torrent', - 'versioning', 'versionId', 'versions', 'website', - 'uploads', 'uploadId', 'response-content-type', - 'response-content-language', 'response-expires', - 'response-cache-control', 'response-content-disposition', - 'response-content-encoding', 'delete', 'lifecycle', - 'tagging', 'restore', 'storageClass', 'notification', - 'replication', 'requestPayment', 'analytics', 'metrics', - 'inventory', 'select', 'select-type'] - - def __init__(self, credentials, service_name=None, region_name=None): - self.credentials = credentials - - def sign_string(self, string_to_sign): - new_hmac = hmac.new(self.credentials.secret_key.encode('utf-8'), - digestmod=sha1) - new_hmac.update(string_to_sign.encode('utf-8')) - return encodebytes(new_hmac.digest()).strip().decode('utf-8') - - def canonical_standard_headers(self, headers): - interesting_headers = ['content-md5', 'content-type', 'date'] - hoi = [] - if 'Date' in headers: - del headers['Date'] - headers['Date'] = self._get_date() - for ih in interesting_headers: - found = False - for key in headers: - lk = key.lower() - if headers[key] is not None and lk == ih: - hoi.append(headers[key].strip()) - found = True - if not found: - hoi.append('') - return '\n'.join(hoi) - - def canonical_custom_headers(self, headers): - hoi = [] - custom_headers = {} - for key in headers: - lk = key.lower() - if headers[key] is not None: - if lk.startswith('x-amz-'): - custom_headers[lk] = ','.join(v.strip() for v in - headers.get_all(key)) - sorted_header_keys = sorted(custom_headers.keys()) - for key in sorted_header_keys: - hoi.append("%s:%s" % (key, custom_headers[key])) - return '\n'.join(hoi) - - def unquote_v(self, nv): - """ - TODO: Do we need this? - """ - if len(nv) == 1: - return nv - else: - return (nv[0], unquote(nv[1])) - - def canonical_resource(self, split, auth_path=None): - # don't include anything after the first ? in the resource... - # unless it is one of the QSA of interest, defined above - # NOTE: - # The path in the canonical resource should always be the - # full path including the bucket name, even for virtual-hosting - # style addressing. The ``auth_path`` keeps track of the full - # path for the canonical resource and would be passed in if - # the client was using virtual-hosting style. - if auth_path is not None: - buf = auth_path - else: - buf = split.path - if split.query: - qsa = split.query.split('&') - qsa = [a.split('=', 1) for a in qsa] - qsa = [self.unquote_v(a) for a in qsa - if a[0] in self.QSAOfInterest] - if len(qsa) > 0: - qsa.sort(key=itemgetter(0)) - qsa = ['='.join(a) for a in qsa] - buf += '?' - buf += '&'.join(qsa) - return buf - - def canonical_string(self, method, split, headers, expires=None, - auth_path=None): - cs = method.upper() + '\n' - cs += self.canonical_standard_headers(headers) + '\n' - custom_headers = self.canonical_custom_headers(headers) - if custom_headers: - cs += custom_headers + '\n' - cs += self.canonical_resource(split, auth_path=auth_path) - return cs - - def get_signature(self, method, split, headers, expires=None, - auth_path=None): - if self.credentials.token: - del headers['x-amz-security-token'] - headers['x-amz-security-token'] = self.credentials.token - string_to_sign = self.canonical_string(method, - split, - headers, - auth_path=auth_path) - logger.debug('StringToSign:\n%s', string_to_sign) - return self.sign_string(string_to_sign) - - def add_auth(self, request): - if self.credentials is None: - raise NoCredentialsError - logger.debug("Calculating signature using hmacv1 auth.") - split = urlsplit(request.url) - logger.debug('HTTP request method: %s', request.method) - signature = self.get_signature(request.method, split, - request.headers, - auth_path=request.auth_path) - self._inject_signature(request, signature) - - def _get_date(self): - return formatdate(usegmt=True) - - def _inject_signature(self, request, signature): - if 'Authorization' in request.headers: - # We have to do this because request.headers is not - # normal dictionary. It has the (unintuitive) behavior - # of aggregating repeated setattr calls for the same - # key value. For example: - # headers['foo'] = 'a'; headers['foo'] = 'b' - # list(headers) will print ['foo', 'foo']. - del request.headers['Authorization'] - request.headers['Authorization'] = ( - "AWS %s:%s" % (self.credentials.access_key, signature)) - - -class HmacV1QueryAuth(HmacV1Auth): - """ - Generates a presigned request for s3. - - Spec from this document: - - http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html - #RESTAuthenticationQueryStringAuth - - """ - DEFAULT_EXPIRES = 3600 - - def __init__(self, credentials, expires=DEFAULT_EXPIRES): - self.credentials = credentials - self._expires = expires - - def _get_date(self): - return str(int(time.time() + int(self._expires))) - - def _inject_signature(self, request, signature): - query_dict = {} - query_dict['AWSAccessKeyId'] = self.credentials.access_key - query_dict['Signature'] = signature - - for header_key in request.headers: - lk = header_key.lower() - # For query string requests, Expires is used instead of the - # Date header. - if header_key == 'Date': - query_dict['Expires'] = request.headers['Date'] - # We only want to include relevant headers in the query string. - # These can be anything that starts with x-amz, is Content-MD5, - # or is Content-Type. - elif lk.startswith('x-amz-') or lk in ['content-md5', - 'content-type']: - query_dict[lk] = request.headers[lk] - # Combine all of the identified headers into an encoded - # query string - new_query_string = percent_encode_sequence(query_dict) - - # Create a new url with the presigned url. - p = urlsplit(request.url) - if p[3]: - # If there was a pre-existing query string, we should - # add that back before injecting the new query string. - new_query_string = '%s&%s' % (p[3], new_query_string) - new_url_parts = (p[0], p[1], p[2], new_query_string, p[4]) - request.url = urlunsplit(new_url_parts) - - -class HmacV1PostAuth(HmacV1Auth): - """ - Generates a presigned post for s3. - - Spec from this document: - - http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html - """ - def add_auth(self, request): - fields = {} - if request.context.get('s3-presign-post-fields', None) is not None: - fields = request.context['s3-presign-post-fields'] - - policy = {} - conditions = [] - if request.context.get('s3-presign-post-policy', None) is not None: - policy = request.context['s3-presign-post-policy'] - if policy.get('conditions', None) is not None: - conditions = policy['conditions'] - - policy['conditions'] = conditions - - fields['AWSAccessKeyId'] = self.credentials.access_key - - if self.credentials.token is not None: - fields['x-amz-security-token'] = self.credentials.token - conditions.append({'x-amz-security-token': self.credentials.token}) - - # Dump the base64 encoded policy into the fields dictionary. - fields['policy'] = base64.b64encode( - json.dumps(policy).encode('utf-8')).decode('utf-8') - - fields['signature'] = self.sign_string(fields['policy']) - - request.context['s3-presign-post-fields'] = fields - request.context['s3-presign-post-policy'] = policy - - -# Defined at the bottom instead of the top of the module because the Auth -# classes weren't defined yet. -AUTH_TYPE_MAPS = { - 'v2': SigV2Auth, - 'v4': SigV4Auth, - 'v4-query': SigV4QueryAuth, - 'v3': SigV3Auth, - 'v3https': SigV3Auth, - 's3': HmacV1Auth, - 's3-query': HmacV1QueryAuth, - 's3-presign-post': HmacV1PostAuth, - 's3v4': S3SigV4Auth, - 's3v4-query': S3SigV4QueryAuth, - 's3v4-presign-post': S3SigV4PostAuth, - -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/awsrequest.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/awsrequest.py deleted file mode 100644 index d245bf9b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/awsrequest.py +++ /dev/null @@ -1,585 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import sys -import logging -import functools -import socket -import collections - -import urllib3.util -from urllib3.connection import VerifiedHTTPSConnection -from urllib3.connection import HTTPConnection -from urllib3.connectionpool import HTTPConnectionPool -from urllib3.connectionpool import HTTPSConnectionPool - -import botocore.utils -from botocore.compat import six -from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit, \ - urlencode -from botocore.exceptions import UnseekableStreamError - - -logger = logging.getLogger(__name__) - - -class AWSHTTPResponse(HTTPResponse): - # The *args, **kwargs is used because the args are slightly - # different in py2.6 than in py2.7/py3. - def __init__(self, *args, **kwargs): - self._status_tuple = kwargs.pop('status_tuple') - HTTPResponse.__init__(self, *args, **kwargs) - - def _read_status(self): - if self._status_tuple is not None: - status_tuple = self._status_tuple - self._status_tuple = None - return status_tuple - else: - return HTTPResponse._read_status(self) - - -class AWSConnection(object): - """Mixin for HTTPConnection that supports Expect 100-continue. - - This when mixed with a subclass of httplib.HTTPConnection (though - technically we subclass from urllib3, which subclasses - httplib.HTTPConnection) and we only override this class to support Expect - 100-continue, which we need for S3. As far as I can tell, this is - general purpose enough to not be specific to S3, but I'm being - tentative and keeping it in botocore because I've only tested - this against AWS services. - - """ - def __init__(self, *args, **kwargs): - super(AWSConnection, self).__init__(*args, **kwargs) - self._original_response_cls = self.response_class - # We'd ideally hook into httplib's states, but they're all - # __mangled_vars so we use our own state var. This variable is set - # when we receive an early response from the server. If this value is - # set to True, any calls to send() are noops. This value is reset to - # false every time _send_request is called. This is to workaround the - # fact that py2.6 (and only py2.6) has a separate send() call for the - # body in _send_request, as opposed to endheaders(), which is where the - # body is sent in all versions > 2.6. - self._response_received = False - self._expect_header_set = False - - def close(self): - super(AWSConnection, self).close() - # Reset all of our instance state we were tracking. - self._response_received = False - self._expect_header_set = False - self.response_class = self._original_response_cls - - def _tunnel(self): - # Works around a bug in py26 which is fixed in later versions of - # python. Bug involves hitting an infinite loop if readline() returns - # nothing as opposed to just ``\r\n``. - # As much as I don't like having if py2: code blocks, this seems - # the cleanest way to handle this workaround. Fortunately, the - # difference from py26 to py3 is very minimal. We're essentially - # just overriding the while loop. - if sys.version_info[:2] != (2, 6): - return super(AWSConnection, self)._tunnel() - - # Otherwise we workaround the issue. - self._set_hostport(self._tunnel_host, self._tunnel_port) - self.send("CONNECT %s:%d HTTP/1.0\r\n" % (self.host, self.port)) - for header, value in self._tunnel_headers.iteritems(): - self.send("%s: %s\r\n" % (header, value)) - self.send("\r\n") - response = self.response_class(self.sock, strict=self.strict, - method=self._method) - (version, code, message) = response._read_status() - - if code != 200: - self.close() - raise socket.error("Tunnel connection failed: %d %s" % - (code, message.strip())) - while True: - line = response.fp.readline() - if not line: - break - if line in (b'\r\n', b'\n', b''): - break - - def _send_request(self, method, url, body, headers, *args, **kwargs): - self._response_received = False - if headers.get('Expect', b'') == b'100-continue': - self._expect_header_set = True - else: - self._expect_header_set = False - self.response_class = self._original_response_cls - rval = super(AWSConnection, self)._send_request( - method, url, body, headers, *args, **kwargs) - self._expect_header_set = False - return rval - - def _convert_to_bytes(self, mixed_buffer): - # Take a list of mixed str/bytes and convert it - # all into a single bytestring. - # Any six.text_types will be encoded as utf-8. - bytes_buffer = [] - for chunk in mixed_buffer: - if isinstance(chunk, six.text_type): - bytes_buffer.append(chunk.encode('utf-8')) - else: - bytes_buffer.append(chunk) - msg = b"\r\n".join(bytes_buffer) - return msg - - def _send_output(self, message_body=None, *args, **kwargs): - self._buffer.extend((b"", b"")) - msg = self._convert_to_bytes(self._buffer) - del self._buffer[:] - # If msg and message_body are sent in a single send() call, - # it will avoid performance problems caused by the interaction - # between delayed ack and the Nagle algorithm. - if isinstance(message_body, bytes): - msg += message_body - message_body = None - self.send(msg) - if self._expect_header_set: - # This is our custom behavior. If the Expect header was - # set, it will trigger this custom behavior. - logger.debug("Waiting for 100 Continue response.") - # Wait for 1 second for the server to send a response. - if urllib3.util.wait_for_read(self.sock, 1): - self._handle_expect_response(message_body) - return - else: - # From the RFC: - # Because of the presence of older implementations, the - # protocol allows ambiguous situations in which a client may - # send "Expect: 100-continue" without receiving either a 417 - # (Expectation Failed) status or a 100 (Continue) status. - # Therefore, when a client sends this header field to an origin - # server (possibly via a proxy) from which it has never seen a - # 100 (Continue) status, the client SHOULD NOT wait for an - # indefinite period before sending the request body. - logger.debug("No response seen from server, continuing to " - "send the response body.") - if message_body is not None: - # message_body was not a string (i.e. it is a file), and - # we must run the risk of Nagle. - self.send(message_body) - - def _consume_headers(self, fp): - # Most servers (including S3) will just return - # the CLRF after the 100 continue response. However, - # some servers (I've specifically seen this for squid when - # used as a straight HTTP proxy) will also inject a - # Connection: keep-alive header. To account for this - # we'll read until we read '\r\n', and ignore any headers - # that come immediately after the 100 continue response. - current = None - while current != b'\r\n': - current = fp.readline() - - def _handle_expect_response(self, message_body): - # This is called when we sent the request headers containing - # an Expect: 100-continue header and received a response. - # We now need to figure out what to do. - fp = self.sock.makefile('rb', 0) - try: - maybe_status_line = fp.readline() - parts = maybe_status_line.split(None, 2) - if self._is_100_continue_status(maybe_status_line): - self._consume_headers(fp) - logger.debug("100 Continue response seen, " - "now sending request body.") - self._send_message_body(message_body) - elif len(parts) == 3 and parts[0].startswith(b'HTTP/'): - # From the RFC: - # Requirements for HTTP/1.1 origin servers: - # - # - Upon receiving a request which includes an Expect - # request-header field with the "100-continue" - # expectation, an origin server MUST either respond with - # 100 (Continue) status and continue to read from the - # input stream, or respond with a final status code. - # - # So if we don't get a 100 Continue response, then - # whatever the server has sent back is the final response - # and don't send the message_body. - logger.debug("Received a non 100 Continue response " - "from the server, NOT sending request body.") - status_tuple = (parts[0].decode('ascii'), - int(parts[1]), parts[2].decode('ascii')) - response_class = functools.partial( - AWSHTTPResponse, status_tuple=status_tuple) - self.response_class = response_class - self._response_received = True - finally: - fp.close() - - def _send_message_body(self, message_body): - if message_body is not None: - self.send(message_body) - - def send(self, str): - if self._response_received: - logger.debug("send() called, but reseponse already received. " - "Not sending data.") - return - return super(AWSConnection, self).send(str) - - def _is_100_continue_status(self, maybe_status_line): - parts = maybe_status_line.split(None, 2) - # Check for HTTP/ 100 Continue\r\n - return ( - len(parts) >= 3 and parts[0].startswith(b'HTTP/') and - parts[1] == b'100') - - -class AWSHTTPConnection(AWSConnection, HTTPConnection): - """ An HTTPConnection that supports 100 Continue behavior. """ - - -class AWSHTTPSConnection(AWSConnection, VerifiedHTTPSConnection): - """ An HTTPSConnection that supports 100 Continue behavior. """ - - -class AWSHTTPConnectionPool(HTTPConnectionPool): - ConnectionCls = AWSHTTPConnection - - -class AWSHTTPSConnectionPool(HTTPSConnectionPool): - ConnectionCls = AWSHTTPSConnection - - -def prepare_request_dict(request_dict, endpoint_url, context=None, - user_agent=None): - """ - This method prepares a request dict to be created into an - AWSRequestObject. This prepares the request dict by adding the - url and the user agent to the request dict. - - :type request_dict: dict - :param request_dict: The request dict (created from the - ``serialize`` module). - - :type user_agent: string - :param user_agent: The user agent to use for this request. - - :type endpoint_url: string - :param endpoint_url: The full endpoint url, which contains at least - the scheme, the hostname, and optionally any path components. - """ - r = request_dict - if user_agent is not None: - headers = r['headers'] - headers['User-Agent'] = user_agent - url = _urljoin(endpoint_url, r['url_path']) - if r['query_string']: - # NOTE: This is to avoid circular import with utils. This is being - # done to avoid moving classes to different modules as to not cause - # breaking chainges. - percent_encode_sequence = botocore.utils.percent_encode_sequence - encoded_query_string = percent_encode_sequence(r['query_string']) - if '?' not in url: - url += '?%s' % encoded_query_string - else: - url += '&%s' % encoded_query_string - r['url'] = url - r['context'] = context - if context is None: - r['context'] = {} - - -def create_request_object(request_dict): - """ - This method takes a request dict and creates an AWSRequest object - from it. - - :type request_dict: dict - :param request_dict: The request dict (created from the - ``prepare_request_dict`` method). - - :rtype: ``botocore.awsrequest.AWSRequest`` - :return: An AWSRequest object based on the request_dict. - - """ - r = request_dict - request_object = AWSRequest( - method=r['method'], url=r['url'], data=r['body'], headers=r['headers']) - request_object.context.update(r['context']) - return request_object - - -def _urljoin(endpoint_url, url_path): - p = urlsplit(endpoint_url) - # - - # scheme - p[0] - # netloc - p[1] - # path - p[2] - # query - p[3] - # fragment - p[4] - if not url_path or url_path == '/': - # If there's no path component, ensure the URL ends with - # a '/' for backwards compatibility. - if not p[2]: - return endpoint_url + '/' - return endpoint_url - if p[2].endswith('/') and url_path.startswith('/'): - new_path = p[2][:-1] + url_path - else: - new_path = p[2] + url_path - reconstructed = urlunsplit((p[0], p[1], new_path, p[3], p[4])) - return reconstructed - - -class AWSRequest(object): - """Represents the elements of an HTTP request. - - This class is originally inspired by requests.models.Request, but has been - boiled down to meet the specific use cases in botocore. That being said this - class (even in requests) is effectively a named-tuple. - """ - - def __init__(self, - method=None, - url=None, - headers=None, - data=None, - params=None, - auth_path=None, - stream_output=False): - - # Default empty dicts for dict params. - params = {} if params is None else params - - self.method = method - self.url = url - self.headers = HTTPHeaders() - self.data = data - self.params = params - self.auth_path = auth_path - self.stream_output = stream_output - - if headers is not None: - for key, value in headers.items(): - self.headers[key] = value - - # This is a dictionary to hold information that is used when - # processing the request. What is inside of ``context`` is open-ended. - # For example, it may have a timestamp key that is used for holding - # what the timestamp is when signing the request. Note that none - # of the information that is inside of ``context`` is directly - # sent over the wire; the information is only used to assist in - # creating what is sent over the wire. - self.context = {} - - def prepare(self): - """Constructs a :class:`AWSPreparedRequest `.""" - return AWSPreparedRequest(self) - - @property - def body(self): - p = AWSPreparedRequest(self) - p.prepare_body(self.data) - if isinstance(p.body, six.text_type): - p.body = p.body.encode('utf-8') - return p.body - - -class AWSPreparedRequest(object): - """Represents a prepared request. - - This class is originally inspired by requests.models.PreparedRequest, but - has been boiled down to meet the specific use cases in botocore. Of note - there are the following differences: - This class does not heavily prepare the URL. Requests performed many - validations and corrections to ensure the URL is properly formatted. - Botocore either performs these validations elsewhere or otherwise - consistently provides well formatted URLs. - - This class does not heavily prepare the body. Body preperation is - simple and supports only the cases that we document: bytes and - file-like objects to determine the content-length. This will also - additionally prepare a body that is a dict to be url encoded params - string as some signers rely on this. Finally, this class does not - support multipart file uploads. - - This class does not prepare the method, auth or cookies. - - :ivar method: HTTP Method - :ivar url: The full url - :ivar headers: The HTTP headers to send. - :ivar body: The HTTP body. - :ivar stream_output: If the response for this request should be streamed. - :ivar original: The original AWSRequest - """ - def __init__(self, original): - self.method = original.method - self.prepare_url(original.url, original.params) - self.prepare_headers(original.headers) - self.prepare_body(original.data) - self.stream_output = original.stream_output - self.original = original - - def __repr__(self): - fmt = ( - '' - ) - return fmt % (self.stream_output, self.method, self.url, self.headers) - - def reset_stream(self): - # Trying to reset a stream when there is a no stream will - # just immediately return. It's not an error, it will produce - # the same result as if we had actually reset the stream (we'll send - # the entire body contents again if we need to). - # Same case if the body is a string/bytes/bytearray type. - - non_seekable_types = (six.binary_type, six.text_type, bytearray) - if self.body is None or isinstance(self.body, non_seekable_types): - return - try: - logger.debug("Rewinding stream: %s", self.body) - self.body.seek(0) - except Exception as e: - logger.debug("Unable to rewind stream: %s", e) - raise UnseekableStreamError(stream_object=self.body) - - def prepare_url(self, url, params): - if params: - params = urlencode(list(params.items()), doseq=True) - self.url = '%s?%s' % (url, params) - else: - self.url = url - - def prepare_headers(self, headers): - headers = headers or {} - self.headers = HeadersDict(headers.items()) - - def prepare_body(self, data): - """Prepares the given HTTP body data.""" - self.body = data - - if self.body == b'': - self.body = None - - if not self.body and self.method == 'GET': - return - - if self.body is None: - self.headers['Content-Length'] = '0' - - if isinstance(self.body, dict): - params = list(self.body.items()) - self.body = urlencode(params, doseq=True) - - try: - length = len(self.body) - self.headers['Content-Length'] = str(length) - except (AttributeError, TypeError) as e: - pass - - if 'Content-Length' not in self.headers: - if hasattr(data, 'seek') and hasattr(data, 'tell'): - orig_pos = data.tell() - data.seek(0, 2) - end_file_pos = data.tell() - self.headers['Content-Length'] = str(end_file_pos - orig_pos) - data.seek(orig_pos) - - if self.body and 'Content-Length' not in self.headers: - # NOTE: This should probably never happen, we don't use chunked - self.headers['Transfer-Encoding'] = 'chunked' - - -class AWSResponse(object): - """ - This class is originally inspired by requests.models.Response, but - has been boiled down to meet the specific use cases in botocore. This - has effectively been reduced to a named tuple for our use case. Most of - the more interesting functionality from the requests version has been - put onto our botocore.response.StreamingBody class. - """ - - def __init__(self, url, status_code, headers, raw): - self.url = url - self.status_code = status_code - self.headers = HeadersDict(headers) - self.raw = raw - - self._content = None - - @property - def content(self): - """Content of the response, in bytes.""" - - if self._content is None: - # Read the contents. - # NOTE: requests would attempt to call stream and fall back - # to a custom generator that would call read in a loop, but - # we don't rely on this behavior - self._content = bytes().join(self.raw.stream()) or bytes() - - return self._content - - @property - def text(self): - encoding = botocore.utils.get_encoding_from_headers(self.headers) - if encoding: - return self.content.decode(encoding) - else: - return self.content.decode('utf-8') - - -class _HeaderKey(object): - def __init__(self, key): - self._key = key - self._lower = key.lower() - - def __hash__(self): - return hash(self._lower) - - def __eq__(self, other): - return isinstance(other, _HeaderKey) and self._lower == other._lower - - def __str__(self): - return self._key - - def __repr__(self): - return repr(self._key) - - -class HeadersDict(collections.MutableMapping): - """A case-insenseitive dictionary to represent HTTP headers. """ - def __init__(self, *args, **kwargs): - self._dict = {} - self.update(*args, **kwargs) - - def __setitem__(self, key, value): - self._dict[_HeaderKey(key)] = value - - def __getitem__(self, key): - return self._dict[_HeaderKey(key)] - - def __delitem__(self, key): - del self._dict[_HeaderKey(key)] - - def __iter__(self): - return (str(key) for key in self._dict) - - def __len__(self): - return len(self._dict) - - def __repr__(self): - return repr(self._dict) - - def copy(self): - return HeadersDict(self.items()) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/cacert.pem b/.eggs/botocore-1.11.8-py2.7.egg/botocore/cacert.pem deleted file mode 100644 index 101ac98f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/cacert.pem +++ /dev/null @@ -1,4433 +0,0 @@ - -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Label: "GlobalSign Root CA" -# Serial: 4835703278459707669005204 -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Label: "GlobalSign Root CA - R2" -# Serial: 4835703278459682885658125 -# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 -# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe -# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 -MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL -v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 -eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq -tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd -C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa -zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB -mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH -V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n -bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG -3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs -J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO -291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS -ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd -AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Label: "Verisign Class 3 Public Primary Certification Authority - G3" -# Serial: 206684696279472310254277870180966723415 -# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 -# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 -# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Premium 2048 Secure Server CA" -# Serial: 946069240 -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Label: "Baltimore CyberTrust Root" -# Serial: 33554617 -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Label: "AddTrust External Root" -# Serial: 1 -# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f -# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 -# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Label: "Entrust Root Certification Authority" -# Serial: 1164660820 -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. -# Label: "GeoTrust Global CA" -# Serial: 144470 -# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 -# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 -# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Label: "GeoTrust Universal CA" -# Serial: 1 -# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 -# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 -# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy -c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 -IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV -VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 -cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT -QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh -F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v -c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w -mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd -VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX -teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ -f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe -Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ -nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY -MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG -9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX -IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn -ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z -uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN -Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja -QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW -koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 -ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt -DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm -bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Label: "GeoTrust Universal CA 2" -# Serial: 1 -# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 -# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 -# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy -c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD -VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 -c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 -WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG -FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq -XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL -se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb -KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd -IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 -y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt -hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc -QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 -Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV -HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ -KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ -L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr -Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo -ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY -T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz -GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m -1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV -OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH -6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX -QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Label: "Visa eCommerce Root" -# Serial: 25952180776285836048024890241505565794 -# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02 -# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62 -# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22 ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr -MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl -cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw -CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h -dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l -cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h -2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E -lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV -ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq -299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t -vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL -dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF -AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR -zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 -LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd -7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw -++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited -# Subject: CN=AAA Certificate Services O=Comodo CA Limited -# Label: "Comodo AAA Services root" -# Serial: 1 -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Label: "QuoVadis Root CA" -# Serial: 985026699 -# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 -# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 -# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK -SnQ2+Q== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2" -# Serial: 1289 -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3" -# Serial: 1478 -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 -# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 -# Label: "Security Communication Root CA" -# Serial: 0 -# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a -# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 -# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== ------END CERTIFICATE----- - -# Issuer: CN=Sonera Class2 CA O=Sonera -# Subject: CN=Sonera Class2 CA O=Sonera -# Label: "Sonera Class 2 Root CA" -# Serial: 29 -# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb -# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 -# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M ------END CERTIFICATE----- - -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Label: "XRamp Global CA Root" -# Serial: 107108908803651509692980124233745014957 -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Label: "Go Daddy Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Label: "Starfield Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -# Issuer: O=Government Root Certification Authority -# Subject: O=Government Root Certification Authority -# Label: "Taiwan GRCA" -# Serial: 42023070807708724159991140556527066870 -# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e -# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 -# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ -MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow -PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR -IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q -gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy -yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts -F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 -jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx -ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC -VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK -YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH -EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN -Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud -DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE -MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK -UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf -qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK -ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE -JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 -hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 -EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm -nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX -udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz -ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe -LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl -pYYsfPQS ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root CA" -# Serial: 17154717934120587862167794914071425081 -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root CA" -# Serial: 10944719598952040374951832963794454346 -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert High Assurance EV Root CA" -# Serial: 3553400076410547919724730734378100087 -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -# Issuer: CN=Class 2 Primary CA O=Certplus -# Subject: CN=Class 2 Primary CA O=Certplus -# Label: "Certplus Class 2 Primary CA" -# Serial: 177770208045934040241468760488327595043 -# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b -# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb -# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw -PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz -cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 -MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz -IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ -ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR -VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL -kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd -EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas -H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 -HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud -DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 -QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu -Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ -AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 -yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR -FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA -ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB -kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Label: "DST Root CA X3" -# Serial: 91299735575339953335919266965803778155 -# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 -# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 -# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow -PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD -Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O -rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq -OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b -xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw -7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD -aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG -SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 -ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr -AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz -R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 -JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo -Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Label: "SwissSign Gold CA - G2" -# Serial: 13492815561806991280 -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Label: "SwissSign Silver CA - G2" -# Serial: 5700383053117599563 -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Label: "GeoTrust Primary Certification Authority" -# Serial: 32798226551256963324313806436981982369 -# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf -# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 -# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY -MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo -R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx -MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 -AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA -ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 -7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W -kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI -mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ -KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 -6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl -4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K -oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj -UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU -AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA" -# Serial: 69529181992039203566298953787712940909 -# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 -# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 -# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB -qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV -BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw -NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j -LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG -A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs -W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta -3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk -6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 -Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J -NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP -r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU -DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz -YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 -/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ -LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 -jVaMaA== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" -# Serial: 33037644167568058970164719475676101450 -# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c -# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 -# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation -# Subject: CN=SecureTrust CA O=SecureTrust Corporation -# Label: "SecureTrust CA" -# Serial: 17199774589125277788362757014266862032 -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -# Issuer: CN=Secure Global CA O=SecureTrust Corporation -# Subject: CN=Secure Global CA O=SecureTrust Corporation -# Label: "Secure Global CA" -# Serial: 9751836167731051554232119481456978597 -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited -# Label: "COMODO Certification Authority" -# Serial: 104350513648249232941998508985834464573 -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Label: "Network Solutions Certificate Authority" -# Serial: 116697915152937497490437556386812487904 -# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e -# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce -# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi -MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV -UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO -ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz -c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP -OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl -mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF -BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 -qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw -gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu -bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp -dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 -6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ -h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH -/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN -pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Label: "COMODO ECC Certification Authority" -# Serial: 41578283867086692638256921589707938090 -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GA CA" -# Serial: 86718877871133159090080555911823548314 -# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 -# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 -# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ -/L7fCg0= ------END CERTIFICATE----- - -# Issuer: CN=Certigna O=Dhimyotis -# Subject: CN=Certigna O=Dhimyotis -# Label: "Certigna" -# Serial: 18364802974209362175 -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Label: "Deutsche Telekom Root CA 2" -# Serial: 38 -# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 -# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf -# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc -MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj -IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB -IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE -RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl -U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 -IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU -ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC -QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr -rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S -NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc -QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH -txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP -BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp -tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa -IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl -6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ -xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc -# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc -# Label: "Cybertrust Global Root" -# Serial: 4835703278459682877484360 -# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 -# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 -# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG -A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh -bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE -ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 -7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS -J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y -HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP -t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz -FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY -XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ -MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw -hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js -MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA -A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj -Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx -XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o -omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc -A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Label: "ePKI Root Certification Authority" -# Serial: 28956088682735189655030529057352760477 -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -# Issuer: O=certSIGN OU=certSIGN ROOT CA -# Subject: O=certSIGN OU=certSIGN ROOT CA -# Label: "certSIGN ROOT CA" -# Serial: 35210227249154 -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G3" -# Serial: 28809105769928564313984085209975885599 -# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 -# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd -# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB -mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT -MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ -BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 -BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz -+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm -hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn -5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W -JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL -DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC -huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB -AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB -zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN -kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH -SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G -spki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G2" -# Serial: 71758320672825410020661621085256472406 -# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f -# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 -# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp -IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi -BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw -MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig -YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v -dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ -BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 -papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K -DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 -KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox -XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G3" -# Serial: 127614157056681299805556476275995414779 -# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 -# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 -# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB -rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV -BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa -Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl -LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u -MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm -gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 -YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf -b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 -9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S -zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk -OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA -2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW -oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c -KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM -m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu -MdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G2" -# Serial: 80682863203381065782177908751794619243 -# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a -# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 -# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL -MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj -KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 -MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw -NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV -BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL -So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal -tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG -CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT -qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz -rD6ogRLQy7rQkgu2npaqBA+K ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Universal Root Certification Authority" -# Serial: 85209574734084581917763752644031726877 -# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 -# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 -# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB -vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W -ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 -IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y -IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh -bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF -9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH -H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H -LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN -/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT -rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw -WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs -exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 -sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ -seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz -4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ -BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR -lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 -7M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" -# Serial: 63143484348153506665311985501458640051 -# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 -# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a -# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp -U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg -SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln -biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm -GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve -fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ -aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj -aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW -kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC -4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga -FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" -# Serial: 80544274841616 -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G2" -# Serial: 10000012 -# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a -# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 -# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX -DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 -qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp -uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU -Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE -pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp -5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M -UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN -GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy -5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv -6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK -eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 -B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ -BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov -L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG -SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS -CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen -5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 -IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK -gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL -+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL -vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm -bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk -N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC -Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z -ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Label: "Hongkong Post Root CA 1" -# Serial: 1000 -# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca -# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 -# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx -FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg -Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG -A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr -b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ -jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn -PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh -ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 -nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h -q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED -MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC -mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 -7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB -oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs -EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO -fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi -AmvZWg== ------END CERTIFICATE----- - -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Label: "SecureSign RootCA11" -# Serial: 1 -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN -QSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Label: "Microsec e-Szigno Root CA 2009" -# Serial: 14014712776195784473 -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Label: "GlobalSign Root CA - R3" -# Serial: 4835703278459759426209954 -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Serial: 6047274297262753887 -# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 -# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa -# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy -MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD -VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv -ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl -AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF -661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 -am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 -ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 -PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS -3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k -SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF -3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM -ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g -StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz -Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB -jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -# Issuer: CN=Izenpe.com O=IZENPE S.A. -# Subject: CN=Izenpe.com O=IZENPE S.A. -# Label: "Izenpe.com" -# Serial: 917563065490389241595536686991402621 -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Label: "Chambers of Commerce Root - 2008" -# Serial: 11806822484801597146 -# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 -# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c -# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz -IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz -MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj -dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw -EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp -MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 -28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq -VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q -DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR -5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL -ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a -Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl -UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s -+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 -Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx -hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV -HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 -+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN -YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t -L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy -ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt -IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV -HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w -DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW -PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF -5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 -glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH -FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 -pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD -xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG -tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq -jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De -fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ -d0jQ ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Label: "Global Chambersign Root - 2008" -# Serial: 14541511773111788494 -# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 -# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c -# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx -MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy -cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG -A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl -BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed -KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 -G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 -zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 -ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG -HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 -Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V -yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e -beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r -6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog -zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW -BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr -ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp -ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk -cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt -YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC -CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow -KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI -hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ -UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz -X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x -fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz -a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd -Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd -SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O -AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso -M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge -v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Label: "Go Daddy Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Services Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust -# Subject: CN=AffirmTrust Commercial O=AffirmTrust -# Label: "AffirmTrust Commercial" -# Serial: 8608355977964138876 -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Networking O=AffirmTrust -# Subject: CN=AffirmTrust Networking O=AffirmTrust -# Label: "AffirmTrust Networking" -# Serial: 8957382827206547757 -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium O=AffirmTrust -# Subject: CN=AffirmTrust Premium O=AffirmTrust -# Label: "AffirmTrust Premium" -# Serial: 7893706540734352110 -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust -# Label: "AffirmTrust Premium ECC" -# Serial: 8401224907861490260 -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA" -# Serial: 279744 -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Label: "TWCA Root Certification Authority" -# Serial: 1 -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Label: "Security Communication RootCA2" -# Serial: 0 -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2011" -# Serial: 0 -# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 -# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d -# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix -RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p -YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw -NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK -EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl -cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz -dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ -fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns -bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD -75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP -FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV -HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp -5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu -b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA -A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p -6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 -dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys -Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI -l7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Label: "Actalis Authentication Root CA" -# Serial: 6271844772424770508 -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -# Issuer: O=Trustis Limited OU=Trustis FPS Root CA -# Subject: O=Trustis Limited OU=Trustis FPS Root CA -# Label: "Trustis FPS Root CA" -# Serial: 36053640375399034304724988975563710553 -# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d -# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 -# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL -ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx -MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc -MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ -AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH -iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj -vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA -0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB -OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ -BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E -FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 -GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW -zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 -1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE -f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F -jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN -ZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 2 Root CA" -# Serial: 2 -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 3 Root CA" -# Serial: 2 -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 3" -# Serial: 1 -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Label: "EE Certification Centre Root CA" -# Serial: 112324828676200291871926431888494945866 -# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f -# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 -# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 -MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 -czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG -CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy -MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl -ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS -b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy -euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO -bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw -WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d -MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE -1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ -zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF -BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV -v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG -E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW -iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v -GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 2009" -# Serial: 623603 -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 EV 2009" -# Serial: 623604 -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R2 O=Disig a.s. -# Subject: CN=CA Disig Root R2 O=Disig a.s. -# Label: "CA Disig Root R2" -# Serial: 10572350602393338211 -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Label: "ACCVRAIZ1" -# Serial: 6828503384748696800 -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Label: "TWCA Global Root CA" -# Serial: 3262 -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Label: "TeliaSonera Root CA v1" -# Serial: 199041966741090107964904287217786801558 -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Label: "E-Tugra Certification Authority" -# Serial: 7667447206703254355 -# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 -# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 -# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV -BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC -aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV -BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 -Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz -MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ -BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp -em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY -B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH -D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF -Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo -q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D -k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH -fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut -dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM -ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 -zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX -U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 -Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 -XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF -Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR -HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY -GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c -77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 -+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK -vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 -FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl -yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P -AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD -y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d -NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 2" -# Serial: 1 -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot 2011 O=Atos -# Subject: CN=Atos TrustedRoot 2011 O=Atos -# Label: "Atos TrustedRoot 2011" -# Serial: 6643877497813316402 -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 1 G3" -# Serial: 687049649626669250736271037606554624078720034195 -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2 G3" -# Serial: 390156079458959257446133169266079962026824725800 -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3 G3" -# Serial: 268090761170461462463995952157327242137089239581 -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G2" -# Serial: 15385348160840213938643033620894905419 -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G3" -# Serial: 15459312981008553731928384953135426796 -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G2" -# Serial: 4293743540046975378534879503202253541 -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G3" -# Serial: 7089244469030293291760083333884364146 -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Trusted Root G4" -# Serial: 7451500558977370777930084869016614236 -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Label: "COMODO RSA Certification Authority" -# Serial: 101909084537582093308941363524873193117 -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Label: "USERTrust RSA Certification Authority" -# Serial: 2645093764781058787591871645665788717 -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Label: "USERTrust ECC Certification Authority" -# Serial: 123013823720199481456569720443997572134 -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Label: "GlobalSign ECC Root CA - R4" -# Serial: 14367148294922964480859022125800977897474 -# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e -# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb -# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c ------BEGIN CERTIFICATE----- -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ -FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F -uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX -kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs -ewv4n4Q= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Label: "GlobalSign ECC Root CA - R5" -# Serial: 32785792099990507226680698011560947931244 -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G3" -# Serial: 10003001 -# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 -# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc -# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX -DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP -cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW -IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX -xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy -KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR -9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az -5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 -6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 -Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP -bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt -BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt -XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd -INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp -LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 -Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp -gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh -/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw -0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A -fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq -4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR -1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ -QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM -94B7IWcnMFk= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Label: "Staat der Nederlanden EV Root CA" -# Serial: 10000013 -# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba -# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb -# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y -MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg -TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS -b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS -M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC -UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d -Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p -rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l -pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb -j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC -KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS -/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X -cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH -1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP -px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 -MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u -2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS -v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC -wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy -CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e -vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 -Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa -Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL -eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 -FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc -7uzXLg== ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Label: "IdenTrust Commercial Root CA 1" -# Serial: 13298821034946342390520003877796839426 -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Label: "IdenTrust Public Sector Root CA 1" -# Serial: 13298821034946342390521976156843933698 -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G2" -# Serial: 1246989352 -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - EC1" -# Serial: 51543124481930649114116133369 -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority -# Label: "CFCA EV ROOT" -# Serial: 407555286 -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -# Issuer: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. -# Subject: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. -# Label: "T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5" -# Serial: 156233699172481 -# MD5 Fingerprint: da:70:8e:f0:22:df:93:26:f6:5f:9f:d3:15:06:52:4e -# SHA1 Fingerprint: c4:18:f6:4d:46:d1:df:00:3d:27:30:13:72:43:a9:12:11:c6:75:fb -# SHA256 Fingerprint: 49:35:1b:90:34:44:c1:85:cc:dc:5c:69:3d:24:d8:55:5c:b2:08:d6:a8:14:13:07:69:9f:4a:f0:63:19:9d:78 ------BEGIN CERTIFICATE----- -MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UE -BhMCVFIxDzANBgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxn -aSDEsGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkg -QS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1QgRWxla3Ryb25payBTZXJ0aWZpa2Eg -SGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAwODA3MDFaFw0yMzA0 -MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0wSwYD -VQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8 -dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCUZ4WWe60ghUEoI5RHwWrom -/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537jVJp45wnEFPzpALFp/kR -Gml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1mep5Fimh3 -4khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z -5UNP9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0 -hO8EuPbJbKoCPrZV4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QID -AQABo0IwQDAdBgNVHQ4EFgQUVpkHHtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJ5FdnsX -SDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPoBP5yCccLqh0l -VX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq -URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nf -peYVhDfwwvJllpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CF -Yv4HAqGEVka+lgqaE9chTLd8B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW -+qtB4Uu2NQvAmxU= ------END CERTIFICATE----- - -# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Label: "Certinomis - Root CA" -# Serial: 1 -# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f -# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 -# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 ------BEGIN CERTIFICATE----- -MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET -MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb -BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz -MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx -FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g -Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 -fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl -LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV -WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF -TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb -5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc -CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri -wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ -wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG -m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 -F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng -WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 -2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF -AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ -0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw -F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS -g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj -qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN -h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ -ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V -btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj -Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ -8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW -gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GB CA" -# Serial: 157768595616588414422159278966750757568 -# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d -# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed -# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Label: "SZAFIR ROOT CA2" -# Serial: 357043034767186914217277344587386743377558296292 -# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 -# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de -# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA 2" -# Serial: 44979900017204383099463764357512596969 -# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 -# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 -# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSP ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce -# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 -# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef -# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 -# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -# Issuer: CN=Certplus Root CA G1 O=Certplus -# Subject: CN=Certplus Root CA G1 O=Certplus -# Label: "Certplus Root CA G1" -# Serial: 1491911565779898356709731176965615564637713 -# MD5 Fingerprint: 7f:09:9c:f7:d9:b9:5c:69:69:56:d5:37:3e:14:0d:42 -# SHA1 Fingerprint: 22:fd:d0:b7:fd:a2:4e:0d:ac:49:2c:a0:ac:a6:7b:6a:1f:e3:f7:66 -# SHA256 Fingerprint: 15:2a:40:2b:fc:df:2c:d5:48:05:4d:22:75:b3:9c:7f:ca:3e:c0:97:80:78:b0:f0:ea:76:e5:61:a6:c7:43:3e ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUA -MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy -dHBsdXMgUm9vdCBDQSBHMTAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBa -MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy -dHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHNr49a -iZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt -6kuJPKNxQv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP -0FG7Yn2ksYyy/yARujVjBYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f -6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTvLRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDE -EW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2z4QTd28n6v+WZxcIbekN -1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc4nBvCGrc -h2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCT -mehd4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV -4EJQeIQEQWGw9CEjjy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPO -WftwenMGE9nTdDckQQoRb5fc5+R+ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1Ud -DwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSowcCbkahDFXxd -Bie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHYlwuBsTANBgkq -hkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh -66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7 -/SMNkPX0XtPGYX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BS -S7CTKtQ+FjPlnsZlFT5kOwQ/2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j -2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F6ALEUz65noe8zDUa3qHpimOHZR4R -Kttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilXCNQ314cnrUlZp5Gr -RHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWetUNy -6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEV -V/xuZDDCVRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5 -g4VCXA9DO2pJNdWY9BW/+mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl -++O/QmueD6i9a5jc2NvLi6Td11n0bt3+qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo= ------END CERTIFICATE----- - -# Issuer: CN=Certplus Root CA G2 O=Certplus -# Subject: CN=Certplus Root CA G2 O=Certplus -# Label: "Certplus Root CA G2" -# Serial: 1492087096131536844209563509228951875861589 -# MD5 Fingerprint: a7:ee:c4:78:2d:1b:ee:2d:b9:29:ce:d6:a7:96:32:31 -# SHA1 Fingerprint: 4f:65:8e:1f:e9:06:d8:28:02:e9:54:47:41:c9:54:25:5d:69:cc:1a -# SHA256 Fingerprint: 6c:c0:50:41:e6:44:5e:74:69:6c:4c:fb:c9:f8:0f:54:3b:7e:ab:bb:44:b4:ce:6f:78:7c:6a:99:71:c4:2f:17 ------BEGIN CERTIFICATE----- -MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4x -CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs -dXMgUm9vdCBDQSBHMjAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4x -CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs -dXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABM0PW1aC3/BFGtat -93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uNAm8x -Ik0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0P -AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwj -FNiPwyCrKGBZMB8GA1UdIwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqG -SM49BAMDA2gAMGUCMHD+sAvZ94OX7PNVHdTcswYO/jOYnYs5kGuUIe22113WTNch -p+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjlvPl5adytRSv3tjFzzAal -U5ORGpOucGpnutee5WEaXw== ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G1 O=OpenTrust -# Subject: CN=OpenTrust Root CA G1 O=OpenTrust -# Label: "OpenTrust Root CA G1" -# Serial: 1492036577811947013770400127034825178844775 -# MD5 Fingerprint: 76:00:cc:81:29:cd:55:5e:88:6a:7a:2e:f7:4d:39:da -# SHA1 Fingerprint: 79:91:e8:34:f7:e2:ee:dd:08:95:01:52:e9:55:2d:14:e9:58:d5:7e -# SHA256 Fingerprint: 56:c7:71:28:d9:8c:18:d9:1b:4c:fd:ff:bc:25:ee:91:03:d4:75:8e:a2:ab:ad:82:6a:90:f3:45:7d:46:0e:b4 ------BEGIN CERTIFICATE----- -MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUA -MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w -ZW5UcnVzdCBSb290IENBIEcxMB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAw -MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU -T3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7faYp6b -wiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX -/uMftk87ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR0 -77F9jAHiOH3BX2pfJLKOYheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGP -uY4zbGneWK2gDqdkVBFpRGZPTBKnjix9xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLx -p2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO9z0M+Yo0FMT7MzUj8czx -Kselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq3ywgsNw2 -TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+W -G+Oin6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPw -vFEVVJSmdz7QdFG9URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYY -EQRVzXR7z2FwefR7LFxckvzluFqrTJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUl0YhVyE1 -2jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/PxN3DlCPaTKbYw -DQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E -PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kf -gLMtMrpkZ2CvuVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbS -FXJfLkur1J1juONI5f6ELlgKn0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0 -V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLhX4SPgPL0DTatdrOjteFkdjpY3H1P -XlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80nR14SohWZ25g/4/I -i+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcmGS3t -TAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L91 -09S5zvE/bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/Ky -Pu1svf0OnWZzsD2097+o4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJ -AwSQiumPv+i2tCqjI40cHLI5kqiPAlxAOXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj -1oxx ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G2 O=OpenTrust -# Subject: CN=OpenTrust Root CA G2 O=OpenTrust -# Label: "OpenTrust Root CA G2" -# Serial: 1492012448042702096986875987676935573415441 -# MD5 Fingerprint: 57:24:b6:59:24:6b:ae:c8:fe:1c:0c:20:f2:c0:4e:eb -# SHA1 Fingerprint: 79:5f:88:60:c5:ab:7c:3d:92:e6:cb:f4:8d:e1:45:cd:11:ef:60:0b -# SHA256 Fingerprint: 27:99:58:29:fe:6a:75:15:c1:bf:e8:48:f9:c4:76:1d:b1:6c:22:59:29:25:7b:f4:0d:08:94:f2:9e:a8:ba:f2 ------BEGIN CERTIFICATE----- -MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUA -MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w -ZW5UcnVzdCBSb290IENBIEcyMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAw -MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU -T3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+Ntmh -/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78e -CbY2albz4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/6 -1UWY0jUJ9gNDlP7ZvyCVeYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fE -FY8ElggGQgT4hNYdvJGmQr5J1WqIP7wtUdGejeBSzFfdNTVY27SPJIjki9/ca1TS -gSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz3GIZ38i1MH/1PCZ1Eb3X -G7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj3CzMpSZy -YhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaH -vGOz9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4 -t/bQWVyJ98LVtZR00dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/ -gh7PU3+06yzbXfZqfUAkBXKJOAGTy3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUajn6QiL3 -5okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59M4PLuG53hq8w -DQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz -Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0 -nXGEL8pZ0keImUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qT -RmTFAHneIWv2V6CG1wZy7HBGS4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpT -wm+bREx50B1ws9efAvSyB7DH5fitIw6mVskpEndI2S9G/Tvw/HRwkqWOOAgfZDC2 -t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ6e18CL13zSdkzJTa -TkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97krgCf2 -o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU -3jg9CcCoSmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eA -iN1nE28daCSLT7d0geX0YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14f -WKGVyasvc0rQLW6aWQ9VGHgtPFGml4vmu7JwqkwR3v98KzfUetF3NI/n+UL3PIEM -S1IK ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G3 O=OpenTrust -# Subject: CN=OpenTrust Root CA G3 O=OpenTrust -# Label: "OpenTrust Root CA G3" -# Serial: 1492104908271485653071219941864171170455615 -# MD5 Fingerprint: 21:37:b4:17:16:92:7b:67:46:70:a9:96:d7:a8:13:24 -# SHA1 Fingerprint: 6e:26:64:f3:56:bf:34:55:bf:d1:93:3f:7c:01:de:d8:13:da:8a:a6 -# SHA256 Fingerprint: b7:c3:62:31:70:6e:81:07:8c:36:7c:b8:96:19:8f:1e:32:08:dd:92:69:49:dd:8f:57:09:a4:10:f7:5b:62:92 ------BEGIN CERTIFICATE----- -MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAx -CzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5U -cnVzdCBSb290IENBIEczMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFow -QDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwUT3Bl -blRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARK7liuTcpm -3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5Bta1d -oYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4G -A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5 -DMlv4VBN0BBY3JWIbTAfBgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAK -BggqhkjOPQQDAwNpADBmAjEAj6jcnboMBBf6Fek9LykBl7+BFjNAk2z8+e2AcG+q -j9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta3U1fJAuwACEl74+nBCZx -4nxp5V2a+EEfOzmTk51V6s2N8fvB ------END CERTIFICATE----- - -# Issuer: CN=ISRG Root X1 O=Internet Security Research Group -# Subject: CN=ISRG Root X1 O=Internet Security Research Group -# Label: "ISRG Root X1" -# Serial: 172886928669790476064670243504169061120 -# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e -# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 -# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Label: "AC RAIZ FNMT-RCM" -# Serial: 485876308206448804701554682760554759 -# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d -# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 -# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 1 O=Amazon -# Subject: CN=Amazon Root CA 1 O=Amazon -# Label: "Amazon Root CA 1" -# Serial: 143266978916655856878034712317230054538369994 -# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 -# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 -# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 2 O=Amazon -# Subject: CN=Amazon Root CA 2 O=Amazon -# Label: "Amazon Root CA 2" -# Serial: 143266982885963551818349160658925006970653239 -# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 -# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a -# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGw= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 3 O=Amazon -# Subject: CN=Amazon Root CA 3 O=Amazon -# Label: "Amazon Root CA 3" -# Serial: 143266986699090766294700635381230934788665930 -# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 -# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e -# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOw== ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 4 O=Amazon -# Subject: CN=Amazon Root CA 4 O=Amazon -# Label: "Amazon Root CA 4" -# Serial: 143266989758080763974105200630763877849284878 -# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd -# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be -# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Label: "LuxTrust Global Root 2" -# Serial: 59914338225734147123941058376788110305822489521 -# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c -# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f -# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# Serial: 1 -# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 -# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca -# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Label: "GDCA TrustAUTH R5 ROOT" -# Serial: 9009899650740120186 -# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 -# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 -# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-1" -# Serial: 15752444095811006489 -# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 -# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a -# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y -IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB -pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h -IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG -A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU -cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid -RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V -seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme -9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV -EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW -hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ -DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD -ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I -/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ -yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts -L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN -zl/HHk484IkzlQsPpTLWPFp5LBk= ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-2" -# Serial: 2711694510199101698 -# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 -# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 -# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 ------BEGIN CERTIFICATE----- -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig -Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk -MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg -Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD -VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy -dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ -QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq -1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp -2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK -DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape -az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF -3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 -oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM -g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 -mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd -BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U -nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw -DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX -dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ -MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL -/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX -CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa -ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW -2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 -N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 -Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB -As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp -5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu -1uwJ ------END CERTIFICATE----- - -# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor ECA-1" -# Serial: 9548242946988625984 -# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c -# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd -# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y -IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig -RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb -3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA -BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 -3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou -owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ -wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF -ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf -BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv -civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 -AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 -soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI -WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi -tJ/X5g== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Label: "SSL.com Root Certification Authority RSA" -# Serial: 8875640296558310041 -# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 -# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb -# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com Root Certification Authority ECC" -# Serial: 8495723813297216424 -# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e -# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a -# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority RSA R2" -# Serial: 6248227494352943350 -# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 -# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a -# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority ECC" -# Serial: 3182246526754555285 -# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 -# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d -# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/client.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/client.py deleted file mode 100644 index d34d4b1a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/client.py +++ /dev/null @@ -1,864 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import logging -import functools - -from botocore import waiter, xform_name -from botocore.auth import AUTH_TYPE_MAPS -from botocore.awsrequest import prepare_request_dict -from botocore.docs.docstring import ClientMethodDocstring -from botocore.docs.docstring import PaginatorDocstring -from botocore.exceptions import ClientError, DataNotFoundError -from botocore.exceptions import OperationNotPageableError -from botocore.exceptions import UnknownSignatureVersionError -from botocore.hooks import first_non_none_response -from botocore.model import ServiceModel -from botocore.paginate import Paginator -from botocore.utils import CachedProperty -from botocore.utils import get_service_module_name -from botocore.utils import switch_host_s3_accelerate -from botocore.utils import S3RegionRedirector -from botocore.utils import fix_s3_host -from botocore.utils import switch_to_virtual_host_style -from botocore.utils import S3_ACCELERATE_WHITELIST -from botocore.args import ClientArgsCreator -from botocore.compat import urlsplit -from botocore import UNSIGNED -# Keep this imported. There's pre-existing code that uses -# "from botocore.client import Config". -from botocore.config import Config -from botocore.history import get_global_history_recorder - - -logger = logging.getLogger(__name__) -history_recorder = get_global_history_recorder() - - -class ClientCreator(object): - """Creates client objects for a service.""" - def __init__(self, loader, endpoint_resolver, user_agent, event_emitter, - retry_handler_factory, retry_config_translator, - response_parser_factory=None, exceptions_factory=None): - self._loader = loader - self._endpoint_resolver = endpoint_resolver - self._user_agent = user_agent - self._event_emitter = event_emitter - self._retry_handler_factory = retry_handler_factory - self._retry_config_translator = retry_config_translator - self._response_parser_factory = response_parser_factory - self._exceptions_factory = exceptions_factory - - def create_client(self, service_name, region_name, is_secure=True, - endpoint_url=None, verify=None, - credentials=None, scoped_config=None, - api_version=None, - client_config=None): - responses = self._event_emitter.emit( - 'choose-service-name', service_name=service_name) - service_name = first_non_none_response(responses, default=service_name) - service_model = self._load_service_model(service_name, api_version) - cls = self._create_client_class(service_name, service_model) - endpoint_bridge = ClientEndpointBridge( - self._endpoint_resolver, scoped_config, client_config, - service_signing_name=service_model.metadata.get('signingName')) - client_args = self._get_client_args( - service_model, region_name, is_secure, endpoint_url, - verify, credentials, scoped_config, client_config, endpoint_bridge) - service_client = cls(**client_args) - self._register_retries(service_client) - self._register_s3_events( - service_client, endpoint_bridge, endpoint_url, client_config, - scoped_config) - return service_client - - def create_client_class(self, service_name, api_version=None): - service_model = self._load_service_model(service_name, api_version) - return self._create_client_class(service_name, service_model) - - def _create_client_class(self, service_name, service_model): - class_attributes = self._create_methods(service_model) - py_name_to_operation_name = self._create_name_mapping(service_model) - class_attributes['_PY_TO_OP_NAME'] = py_name_to_operation_name - bases = [BaseClient] - self._event_emitter.emit('creating-client-class.%s' % service_name, - class_attributes=class_attributes, - base_classes=bases) - class_name = get_service_module_name(service_model) - cls = type(str(class_name), tuple(bases), class_attributes) - return cls - - def _load_service_model(self, service_name, api_version=None): - json_model = self._loader.load_service_model(service_name, 'service-2', - api_version=api_version) - service_model = ServiceModel(json_model, service_name=service_name) - return service_model - - def _register_retries(self, client): - endpoint_prefix = client.meta.service_model.endpoint_prefix - - # First, we load the entire retry config for all services, - # then pull out just the information we need. - original_config = self._loader.load_data('_retry') - if not original_config: - return - - retry_config = self._retry_config_translator.build_retry_config( - endpoint_prefix, original_config.get('retry', {}), - original_config.get('definitions', {}), - client.meta.config.retries - ) - - logger.debug("Registering retry handlers for service: %s", - client.meta.service_model.service_name) - handler = self._retry_handler_factory.create_retry_handler( - retry_config, endpoint_prefix) - unique_id = 'retry-config-%s' % endpoint_prefix - client.meta.events.register('needs-retry.%s' % endpoint_prefix, - handler, unique_id=unique_id) - - def _register_s3_events(self, client, endpoint_bridge, endpoint_url, - client_config, scoped_config): - if client.meta.service_model.service_name != 's3': - return - S3RegionRedirector(endpoint_bridge, client).register() - self._set_s3_addressing_style( - endpoint_url, client.meta.config.s3, client.meta.events, - client.meta.partition - ) - # Enable accelerate if the configuration is set to to true or the - # endpoint being used matches one of the accelerate endpoints. - if self._is_s3_accelerate(endpoint_url, client.meta.config.s3): - # Also make sure that the hostname gets switched to - # s3-accelerate.amazonaws.com - client.meta.events.register_first( - 'before-sign.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, - partition): - if s3_config is None: - s3_config = {} - - addressing_style = self._get_s3_addressing_style( - endpoint_url, s3_config) - handler = self._get_s3_addressing_handler( - endpoint_url, s3_config, addressing_style, partition) - if handler is not None: - event_emitter.register('before-sign.s3', handler) - - def _get_s3_addressing_style(self, endpoint_url, s3_config): - # Use virtual host style addressing if accelerate is enabled or if - # the given endpoint url is an accelerate endpoint. - accelerate = s3_config.get('use_accelerate_endpoint', False) - if accelerate or self._is_s3_accelerate(endpoint_url, s3_config): - return 'virtual' - - # If a particular addressing style is configured, use it. - configured_addressing_style = s3_config.get('addressing_style') - if configured_addressing_style: - return configured_addressing_style - - def _get_s3_addressing_handler(self, endpoint_url, s3_config, - addressing_style, partition): - # If virtual host style was configured, use it regardless of whether - # or not the bucket looks dns compatible. - if addressing_style == 'virtual': - logger.debug("Using S3 virtual host style addressing.") - return switch_to_virtual_host_style - - # If path style is configured, no additional steps are needed. If - # endpoint_url was specified, don't default to virtual. We could - # potentially default provided endpoint urls to virtual hosted - # style, but for now it is avoided. - if addressing_style == 'path' or endpoint_url is not None: - logger.debug("Using S3 path style addressing.") - return None - - logger.debug("Defaulting to S3 virtual host style addressing with " - "path style addressing fallback.") - - # By default, try to use virtual style with path fallback. - return fix_s3_host - - def _is_s3_accelerate(self, endpoint_url, s3_config): - # Accelerate has been explicitly configured. - if s3_config is not None and s3_config.get('use_accelerate_endpoint'): - return True - - # Accelerate mode is turned on automatically if an endpoint url is - # provided that matches the accelerate scheme. - if endpoint_url is None: - return False - - # Accelerate is only valid for Amazon endpoints. - netloc = urlsplit(endpoint_url).netloc - if not netloc.endswith('amazonaws.com'): - return False - - # The first part of the url should always be s3-accelerate. - parts = netloc.split('.') - if parts[0] != 's3-accelerate': - return False - - # Url parts between 's3-accelerate' and 'amazonaws.com' which - # represent different url features. - feature_parts = parts[1:-2] - - # There should be no duplicate url parts. - if len(feature_parts) != len(set(feature_parts)): - return False - - # Remaining parts must all be in the whitelist. - return all(p in S3_ACCELERATE_WHITELIST for p in feature_parts) - - def _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): - args_creator = ClientArgsCreator( - self._event_emitter, self._user_agent, - self._response_parser_factory, self._loader, - self._exceptions_factory) - return args_creator.get_client_args( - service_model, region_name, is_secure, endpoint_url, - verify, credentials, scoped_config, client_config, endpoint_bridge) - - def _create_methods(self, service_model): - op_dict = {} - for operation_name in service_model.operation_names: - py_operation_name = xform_name(operation_name) - op_dict[py_operation_name] = self._create_api_method( - py_operation_name, operation_name, service_model) - return op_dict - - def _create_name_mapping(self, service_model): - # py_name -> OperationName, for every operation available - # for a service. - mapping = {} - for operation_name in service_model.operation_names: - py_operation_name = xform_name(operation_name) - mapping[py_operation_name] = operation_name - return mapping - - def _create_api_method(self, py_operation_name, operation_name, - service_model): - def _api_call(self, *args, **kwargs): - # We're accepting *args so that we can give a more helpful - # error message than TypeError: _api_call takes exactly - # 1 argument. - if args: - raise TypeError( - "%s() only accepts keyword arguments." % py_operation_name) - # The "self" in this scope is referring to the BaseClient. - return self._make_api_call(operation_name, kwargs) - - _api_call.__name__ = str(py_operation_name) - - # Add the docstring to the client method - operation_model = service_model.operation_model(operation_name) - docstring = ClientMethodDocstring( - operation_model=operation_model, - method_name=operation_name, - event_emitter=self._event_emitter, - method_description=operation_model.documentation, - example_prefix='response = client.%s' % py_operation_name, - include_signature=False - ) - _api_call.__doc__ = docstring - return _api_call - - -class ClientEndpointBridge(object): - """Bridges endpoint data and client creation - - This class handles taking out the relevant arguments from the endpoint - resolver and determining which values to use, taking into account any - client configuration options and scope configuration options. - - This class also handles determining what, if any, region to use if no - explicit region setting is provided. For example, Amazon S3 client will - utilize "us-east-1" by default if no region can be resolved.""" - - DEFAULT_ENDPOINT = '{service}.{region}.amazonaws.com' - - def __init__(self, endpoint_resolver, scoped_config=None, - client_config=None, default_endpoint=None, - service_signing_name=None): - self.service_signing_name = service_signing_name - self.endpoint_resolver = endpoint_resolver - self.scoped_config = scoped_config - self.client_config = client_config - self.default_endpoint = default_endpoint or self.DEFAULT_ENDPOINT - - def resolve(self, service_name, region_name=None, endpoint_url=None, - is_secure=True): - region_name = self._check_default_region(service_name, region_name) - resolved = self.endpoint_resolver.construct_endpoint( - service_name, region_name) - if resolved: - return self._create_endpoint( - resolved, service_name, region_name, endpoint_url, is_secure) - else: - return self._assume_endpoint(service_name, region_name, - endpoint_url, is_secure) - - def _check_default_region(self, service_name, region_name): - if region_name is not None: - return region_name - # Use the client_config region if no explicit region was provided. - if self.client_config and self.client_config.region_name is not None: - return self.client_config.region_name - - def _create_endpoint(self, resolved, service_name, region_name, - endpoint_url, is_secure): - region_name, signing_region = self._pick_region_values( - resolved, region_name, endpoint_url) - if endpoint_url is None: - if self._is_s3_dualstack_mode(service_name): - endpoint_url = self._create_dualstack_endpoint( - service_name, region_name, - resolved['dnsSuffix'], is_secure) - else: - # Use the sslCommonName over the hostname for Python 2.6 compat. - hostname = resolved.get('sslCommonName', resolved.get('hostname')) - endpoint_url = self._make_url(hostname, is_secure, - resolved.get('protocols', [])) - signature_version = self._resolve_signature_version( - service_name, resolved) - signing_name = self._resolve_signing_name(service_name, resolved) - return self._create_result( - service_name=service_name, region_name=region_name, - signing_region=signing_region, signing_name=signing_name, - endpoint_url=endpoint_url, metadata=resolved, - signature_version=signature_version) - - def _is_s3_dualstack_mode(self, service_name): - if service_name != 's3': - return False - # TODO: This normalization logic is duplicated from the - # ClientArgsCreator class. Consolidate everything to - # ClientArgsCreator. _resolve_signature_version also has similarly - # duplicated logic. - client_config = self.client_config - if client_config is not None and client_config.s3 is not None and \ - 'use_dualstack_endpoint' in client_config.s3: - # Client config trumps scoped config. - return client_config.s3['use_dualstack_endpoint'] - if self.scoped_config is None: - return False - enabled = self.scoped_config.get('s3', {}).get( - 'use_dualstack_endpoint', False) - if enabled in [True, 'True', 'true']: - return True - return False - - def _create_dualstack_endpoint(self, service_name, region_name, - dns_suffix, is_secure): - hostname = '{service}.dualstack.{region}.{dns_suffix}'.format( - service=service_name, region=region_name, - dns_suffix=dns_suffix) - # Dualstack supports http and https so were hardcoding this value for - # now. This can potentially move into the endpoints.json file. - return self._make_url(hostname, is_secure, ['http', 'https']) - - def _assume_endpoint(self, service_name, region_name, endpoint_url, - is_secure): - if endpoint_url is None: - # Expand the default hostname URI template. - hostname = self.default_endpoint.format( - service=service_name, region=region_name) - endpoint_url = self._make_url(hostname, is_secure, - ['http', 'https']) - logger.debug('Assuming an endpoint for %s, %s: %s', - service_name, region_name, endpoint_url) - # We still want to allow the user to provide an explicit version. - signature_version = self._resolve_signature_version( - service_name, {'signatureVersions': ['v4']}) - signing_name = self._resolve_signing_name(service_name, resolved={}) - return self._create_result( - service_name=service_name, region_name=region_name, - signing_region=region_name, signing_name=signing_name, - signature_version=signature_version, endpoint_url=endpoint_url, - metadata={}) - - def _create_result(self, service_name, region_name, signing_region, - signing_name, endpoint_url, signature_version, - metadata): - return { - 'service_name': service_name, - 'region_name': region_name, - 'signing_region': signing_region, - 'signing_name': signing_name, - 'endpoint_url': endpoint_url, - 'signature_version': signature_version, - 'metadata': metadata - } - - def _make_url(self, hostname, is_secure, supported_protocols): - if is_secure and 'https' in supported_protocols: - scheme = 'https' - else: - scheme = 'http' - return '%s://%s' % (scheme, hostname) - - def _resolve_signing_name(self, service_name, resolved): - # CredentialScope overrides everything else. - if 'credentialScope' in resolved \ - and 'service' in resolved['credentialScope']: - return resolved['credentialScope']['service'] - # Use the signingName from the model if present. - if self.service_signing_name: - return self.service_signing_name - # Just assume is the same as the service name. - return service_name - - def _pick_region_values(self, resolved, region_name, endpoint_url): - signing_region = region_name - if endpoint_url is None: - # Do not use the region name or signing name from the resolved - # endpoint if the user explicitly provides an endpoint_url. This - # would happen if we resolve to an endpoint where the service has - # a "defaults" section that overrides all endpoint with a single - # hostname and credentialScope. This has been the case historically - # for how STS has worked. The only way to resolve an STS endpoint - # was to provide a region_name and an endpoint_url. In that case, - # we would still resolve an endpoint, but we would not use the - # resolved endpointName or signingRegion because we want to allow - # custom endpoints. - region_name = resolved['endpointName'] - signing_region = region_name - if 'credentialScope' in resolved \ - and 'region' in resolved['credentialScope']: - signing_region = resolved['credentialScope']['region'] - return region_name, signing_region - - def _resolve_signature_version(self, service_name, resolved): - 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': - return 's3v4' - if 'v4' in potential_versions: - return 'v4' - # Now just iterate over the signature versions in order until we - # find the first one that is known to Botocore. - for known in AUTH_TYPE_MAPS: - if known in potential_versions: - return known - raise UnknownSignatureVersionError( - signature_version=resolved.get('signatureVersions')) - - -class BaseClient(object): - - # This is actually reassigned with the py->op_name mapping - # when the client creator creates the subclass. This value is used - # because calls such as client.get_paginator('list_objects') use the - # snake_case name, but we need to know the ListObjects form. - # xform_name() does the ListObjects->list_objects conversion, but - # we need the reverse mapping here. - _PY_TO_OP_NAME = {} - - def __init__(self, serializer, endpoint, response_parser, - event_emitter, request_signer, service_model, loader, - client_config, partition, exceptions_factory): - self._serializer = serializer - self._endpoint = endpoint - self._response_parser = response_parser - self._request_signer = request_signer - self._cache = {} - self._loader = loader - self._client_config = client_config - self.meta = ClientMeta(event_emitter, self._client_config, - endpoint.host, service_model, - self._PY_TO_OP_NAME, partition) - self._exceptions_factory = exceptions_factory - self._exceptions = None - self._register_handlers() - - def __getattr__(self, item): - event_name = 'getattr.%s.%s' % (self._service_model.service_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' % - self.meta.service_model.endpoint_prefix, - self._request_signer.handler) - - @property - def _service_model(self): - return self.meta.service_model - - def _make_api_call(self, operation_name, api_params): - operation_model = self._service_model.operation_model(operation_name) - service_name = self._service_model.service_name - history_recorder.record('API_CALL', { - 'service': service_name, - 'operation': operation_name, - 'params': api_params, - }) - if operation_model.deprecated: - logger.debug('Warning: %s.%s() is deprecated', - service_name, operation_name) - request_context = { - 'client_region': self.meta.region_name, - 'client_config': self.meta.config, - 'has_streaming_input': operation_model.has_streaming_input, - 'auth_type': operation_model.auth_type, - } - request_dict = self._convert_to_request_dict( - api_params, operation_model, context=request_context) - - handler, event_response = self.meta.events.emit_until_response( - 'before-call.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, - operation_name=operation_name), - model=operation_model, params=request_dict, - request_signer=self._request_signer, context=request_context) - - if event_response is not None: - http, parsed_response = event_response - else: - http, parsed_response = self._endpoint.make_request( - operation_model, request_dict) - - self.meta.events.emit( - 'after-call.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, - operation_name=operation_name), - http_response=http, parsed=parsed_response, - model=operation_model, context=request_context - ) - - if http.status_code >= 300: - error_code = parsed_response.get("Error", {}).get("Code") - error_class = self.exceptions.from_code(error_code) - raise error_class(parsed_response, operation_name) - else: - return parsed_response - - def _convert_to_request_dict(self, api_params, operation_model, - context=None): - api_params = self._emit_api_params( - api_params, operation_model, context) - request_dict = self._serializer.serialize_to_request( - api_params, operation_model) - prepare_request_dict(request_dict, endpoint_url=self._endpoint.host, - user_agent=self._client_config.user_agent, - context=context) - return request_dict - - def _emit_api_params(self, api_params, operation_model, context): - # Given the API params provided by the user and the operation_model - # we can serialize the request to a request_dict. - operation_name = operation_model.name - - # Emit an event that allows users to modify the parameters at the - # beginning of the method. It allows handlers to modify existing - # parameters or return a new set of parameters to use. - responses = self.meta.events.emit( - 'provide-client-params.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, - operation_name=operation_name), - params=api_params, model=operation_model, context=context) - api_params = first_non_none_response(responses, default=api_params) - - event_name = ( - 'before-parameter-build.{endpoint_prefix}.{operation_name}') - self.meta.events.emit( - event_name.format( - endpoint_prefix=self._service_model.endpoint_prefix, - operation_name=operation_name), - params=api_params, model=operation_model, context=context) - return api_params - - def get_paginator(self, operation_name): - """Create a paginator for an operation. - - :type operation_name: string - :param operation_name: The operation name. This is the same name - as the method name on the client. For example, if the - method name is ``create_foo``, and you'd normally invoke the - operation as ``client.create_foo(**kwargs)``, if the - ``create_foo`` operation can be paginated, you can use the - call ``client.get_paginator("create_foo")``. - - :raise OperationNotPageableError: Raised if the operation is not - pageable. You can use the ``client.can_paginate`` method to - check if an operation is pageable. - - :rtype: L{botocore.paginate.Paginator} - :return: A paginator object. - - """ - if not self.can_paginate(operation_name): - raise OperationNotPageableError(operation_name=operation_name) - else: - actual_operation_name = self._PY_TO_OP_NAME[operation_name] - - # Create a new paginate method that will serve as a proxy to - # the underlying Paginator.paginate method. This is needed to - # attach a docstring to the method. - def paginate(self, **kwargs): - return Paginator.paginate(self, **kwargs) - - paginator_config = self._cache['page_config'][ - actual_operation_name] - # Add the docstring for the paginate method. - paginate.__doc__ = PaginatorDocstring( - paginator_name=actual_operation_name, - event_emitter=self.meta.events, - service_model=self.meta.service_model, - paginator_config=paginator_config, - include_signature=False - ) - - # Rename the paginator class based on the type of paginator. - paginator_class_name = str('%s.Paginator.%s' % ( - get_service_module_name(self.meta.service_model), - actual_operation_name)) - - # Create the new paginator class - documented_paginator_cls = type( - paginator_class_name, (Paginator,), {'paginate': paginate}) - - operation_model = self._service_model.operation_model(actual_operation_name) - paginator = documented_paginator_cls( - getattr(self, operation_name), - paginator_config, - operation_model) - return paginator - - def can_paginate(self, operation_name): - """Check if an operation can be paginated. - - :type operation_name: string - :param operation_name: The operation name. This is the same name - as the method name on the client. For example, if the - method name is ``create_foo``, and you'd normally invoke the - operation as ``client.create_foo(**kwargs)``, if the - ``create_foo`` operation can be paginated, you can use the - call ``client.get_paginator("create_foo")``. - - :return: ``True`` if the operation can be paginated, - ``False`` otherwise. - - """ - if 'page_config' not in self._cache: - try: - page_config = self._loader.load_service_model( - self._service_model.service_name, - 'paginators-1', - self._service_model.api_version)['pagination'] - self._cache['page_config'] = page_config - except DataNotFoundError: - self._cache['page_config'] = {} - actual_operation_name = self._PY_TO_OP_NAME[operation_name] - return actual_operation_name in self._cache['page_config'] - - def _get_waiter_config(self): - if 'waiter_config' not in self._cache: - try: - waiter_config = self._loader.load_service_model( - self._service_model.service_name, - 'waiters-2', - self._service_model.api_version) - self._cache['waiter_config'] = waiter_config - except DataNotFoundError: - self._cache['waiter_config'] = {} - return self._cache['waiter_config'] - - def get_waiter(self, waiter_name): - """Returns an object that can wait for some condition. - - :type waiter_name: str - :param waiter_name: The name of the waiter to get. See the waiters - section of the service docs for a list of available waiters. - - :returns: The specified waiter object. - :rtype: botocore.waiter.Waiter - """ - config = self._get_waiter_config() - if not config: - raise ValueError("Waiter does not exist: %s" % waiter_name) - model = waiter.WaiterModel(config) - mapping = {} - for name in model.waiter_names: - mapping[xform_name(name)] = name - if waiter_name not in mapping: - raise ValueError("Waiter does not exist: %s" % waiter_name) - - return waiter.create_waiter_with_client( - mapping[waiter_name], model, self) - - @CachedProperty - def waiter_names(self): - """Returns a list of all available waiters.""" - config = self._get_waiter_config() - if not config: - return [] - model = waiter.WaiterModel(config) - # Waiter configs is a dict, we just want the waiter names - # which are the keys in the dict. - return [xform_name(name) for name in model.waiter_names] - - @property - def exceptions(self): - if self._exceptions is None: - self._exceptions = self._load_exceptions() - return self._exceptions - - def _load_exceptions(self): - return self._exceptions_factory.create_client_exceptions( - self._service_model) - - -class ClientMeta(object): - """Holds additional client methods. - - This class holds additional information for clients. It exists for - two reasons: - - * To give advanced functionality to clients - * To namespace additional client attributes from the operation - names which are mapped to methods at runtime. This avoids - ever running into collisions with operation names. - - """ - - def __init__(self, events, client_config, endpoint_url, service_model, - method_to_api_mapping, partition): - self.events = events - self._client_config = client_config - self._endpoint_url = endpoint_url - self._service_model = service_model - self._method_to_api_mapping = method_to_api_mapping - self._partition = partition - - @property - def service_model(self): - return self._service_model - - @property - def region_name(self): - return self._client_config.region_name - - @property - def endpoint_url(self): - return self._endpoint_url - - @property - def config(self): - return self._client_config - - @property - def method_to_api_mapping(self): - return self._method_to_api_mapping - - @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/.eggs/botocore-1.11.8-py2.7.egg/botocore/compat.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/compat.py deleted file mode 100644 index 47e1c813..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/compat.py +++ /dev/null @@ -1,379 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import copy -import datetime -import sys -import inspect -import warnings -import hashlib -import logging -import shlex -from math import floor - -from botocore.vendored import six -from botocore.exceptions import MD5UnavailableError -from urllib3 import exceptions - -logger = logging.getLogger(__name__) - - -if six.PY3: - from botocore.vendored.six.moves import http_client - - class HTTPHeaders(http_client.HTTPMessage): - pass - - from urllib.parse import quote - from urllib.parse import urlencode - from urllib.parse import unquote - from urllib.parse import unquote_plus - from urllib.parse import urlparse - from urllib.parse import urlsplit - from urllib.parse import urlunsplit - from urllib.parse import urljoin - from urllib.parse import parse_qsl - from urllib.parse import parse_qs - from http.client import HTTPResponse - from io import IOBase as _IOBase - from base64 import encodebytes - from email.utils import formatdate - from itertools import zip_longest - file_type = _IOBase - zip = zip - - # In python3, unquote takes a str() object, url decodes it, - # then takes the bytestring and decodes it to utf-8. - # Python2 we'll have to do this ourself (see below). - unquote_str = unquote_plus - - def set_socket_timeout(http_response, timeout): - """Set the timeout of the socket from an HTTPResponse. - - :param http_response: An instance of ``httplib.HTTPResponse`` - - """ - http_response._fp.fp.raw._sock.settimeout(timeout) - - def accepts_kwargs(func): - # In python3.4.1, there's backwards incompatible - # changes when using getargspec with functools.partials. - return inspect.getfullargspec(func)[2] - - def ensure_unicode(s, encoding=None, errors=None): - # NOOP in Python 3, because every string is already unicode - return s - - def ensure_bytes(s, encoding='utf-8', errors='strict'): - if isinstance(s, str): - return s.encode(encoding, errors) - if isinstance(s, bytes): - return s - raise ValueError("Expected str or bytes, received %s." % type(s)) - -else: - from urllib import quote - from urllib import urlencode - from urllib import unquote - from urllib import unquote_plus - from urlparse import urlparse - from urlparse import urlsplit - from urlparse import urlunsplit - from urlparse import urljoin - from urlparse import parse_qsl - from urlparse import parse_qs - from email.message import Message - from email.Utils import formatdate - file_type = file - from itertools import izip as zip - from itertools import izip_longest as zip_longest - from httplib import HTTPResponse - from base64 import encodestring as encodebytes - - class HTTPHeaders(Message): - - # The __iter__ method is not available in python2.x, so we have - # to port the py3 version. - def __iter__(self): - for field, value in self._headers: - yield field - - def unquote_str(value, encoding='utf-8'): - # In python2, unquote() gives us a string back that has the urldecoded - # bits, but not the unicode parts. We need to decode this manually. - # unquote has special logic in which if it receives a unicode object it - # will decode it to latin1. This is hard coded. To avoid this, we'll - # encode the string with the passed in encoding before trying to - # unquote it. - byte_string = value.encode(encoding) - return unquote_plus(byte_string).decode(encoding) - - def set_socket_timeout(http_response, timeout): - """Set the timeout of the socket from an HTTPResponse. - - :param http_response: An instance of ``httplib.HTTPResponse`` - - """ - http_response._fp.fp._sock.settimeout(timeout) - - def accepts_kwargs(func): - return inspect.getargspec(func)[2] - - def ensure_unicode(s, encoding='utf-8', errors='strict'): - if isinstance(s, six.text_type): - return s - return unicode(s, encoding, errors) - - def ensure_bytes(s, encoding='utf-8', errors='strict'): - if isinstance(s, unicode): - return s.encode(encoding, errors) - if isinstance(s, str): - return s - raise ValueError("Expected str or unicode, received %s." % type(s)) - -try: - from collections import OrderedDict -except ImportError: - # Python2.6 we use the 3rd party back port. - from ordereddict import OrderedDict - - -if sys.version_info[:2] == (2, 6): - import simplejson as json - # In py26, invalid xml parsed by element tree - # will raise a plain old SyntaxError instead of - # a real exception, so we need to abstract this change. - XMLParseError = SyntaxError - - # Handle https://github.com/shazow/urllib3/issues/497 for py2.6. In - # python2.6, there is a known issue where sometimes we cannot read the SAN - # from an SSL cert (http://bugs.python.org/issue13034). However, newer - # versions of urllib3 will warn you when there is no SAN. While we could - # just turn off this warning in urllib3 altogether, we _do_ want warnings - # when they're legitimate warnings. This method tries to scope the warning - # filter to be as specific as possible. - def filter_ssl_san_warnings(): - warnings.filterwarnings( - 'ignore', - message="Certificate has no.*subjectAltName.*", - category=exceptions.SecurityWarning, - module=r".*urllib3\.connection") -else: - import xml.etree.cElementTree - XMLParseError = xml.etree.cElementTree.ParseError - import json - - def filter_ssl_san_warnings(): - # Noop for non-py26 versions. We will parse the SAN - # appropriately. - pass - - -def filter_ssl_warnings(): - # Ignore warnings related to SNI as it is not being used in validations. - warnings.filterwarnings( - 'ignore', - message="A true SSLContext object is not available.*", - category=exceptions.InsecurePlatformWarning, - module=r".*urllib3\.util\.ssl_") - filter_ssl_san_warnings() - - -@classmethod -def from_dict(cls, d): - new_instance = cls() - for key, value in d.items(): - new_instance[key] = value - return new_instance - - -@classmethod -def from_pairs(cls, pairs): - new_instance = cls() - for key, value in pairs: - new_instance[key] = value - return new_instance - -HTTPHeaders.from_dict = from_dict -HTTPHeaders.from_pairs = from_pairs - - -def copy_kwargs(kwargs): - """ - There is a bug in Python versions < 2.6.5 that prevents you - from passing unicode keyword args (#4978). This function - takes a dictionary of kwargs and returns a copy. If you are - using Python < 2.6.5, it also encodes the keys to avoid this bug. - Oh, and version_info wasn't a namedtuple back then, either! - """ - vi = sys.version_info - if vi[0] == 2 and vi[1] <= 6 and vi[3] < 5: - copy_kwargs = {} - for key in kwargs: - copy_kwargs[key.encode('utf-8')] = kwargs[key] - else: - copy_kwargs = copy.copy(kwargs) - return copy_kwargs - - -def total_seconds(delta): - """ - Returns the total seconds in a ``datetime.timedelta``. - - Python 2.6 does not have ``timedelta.total_seconds()``, so we have - to calculate this ourselves. On 2.7 or better, we'll take advantage of the - built-in method. - - The math was pulled from the ``datetime`` docs - (http://docs.python.org/2.7/library/datetime.html#datetime.timedelta.total_seconds). - - :param delta: The timedelta object - :type delta: ``datetime.timedelta`` - """ - if sys.version_info[:2] != (2, 6): - return delta.total_seconds() - - day_in_seconds = delta.days * 24 * 3600.0 - micro_in_seconds = delta.microseconds / 10.0**6 - return day_in_seconds + delta.seconds + micro_in_seconds - - -# Checks to see if md5 is available on this system. A given system might not -# have access to it for various reasons, such as FIPS mode being enabled. -try: - hashlib.md5() - MD5_AVAILABLE = True -except ValueError: - MD5_AVAILABLE = False - - -def get_md5(*args, **kwargs): - """ - Attempts to get an md5 hashing object. - - :param raise_error_if_unavailable: raise an error if md5 is unavailable on - this system. If False, None will be returned if it is unavailable. - :type raise_error_if_unavailable: bool - :param args: Args to pass to the MD5 constructor - :param kwargs: Key word arguments to pass to the MD5 constructor - :return: An MD5 hashing object if available. If it is unavailable, None - is returned if raise_error_if_unavailable is set to False. - """ - if MD5_AVAILABLE: - return hashlib.md5(*args, **kwargs) - else: - raise MD5UnavailableError() - - -def compat_shell_split(s, platform=None): - if platform is None: - platform = sys.platform - - if platform == "win32": - return _windows_shell_split(s) - else: - return shlex.split(s) - - -def _windows_shell_split(s): - """Splits up a windows command as the built-in command parser would. - - Windows has potentially bizarre rules depending on where you look. When - spawning a process via the Windows C runtime (which is what python does - when you call popen) the rules are as follows: - - https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments - - To summarize: - - * Only space and tab are valid delimiters - * Double quotes are the only valid quotes - * Backslash is interpreted literally unless it is part of a chain that - leads up to a double quote. Then the backslashes escape the backslashes, - and if there is an odd number the final backslash escapes the quote. - - :param s: The command string to split up into parts. - :return: A list of command components. - """ - if not s: - return [] - - components = [] - buff = [] - is_quoted = False - num_backslashes = 0 - for character in s: - if character == '\\': - # We can't simply append backslashes because we don't know if - # they are being used as escape characters or not. Instead we - # keep track of how many we've encountered and handle them when - # we encounter a different character. - num_backslashes += 1 - elif character == '"': - if num_backslashes > 0: - # The backslashes are in a chain leading up to a double - # quote, so they are escaping each other. - buff.append('\\' * int(floor(num_backslashes / 2))) - remainder = num_backslashes % 2 - num_backslashes = 0 - if remainder == 1: - # The number of backslashes is uneven, so they are also - # escaping the double quote, so it needs to be added to - # the current component buffer. - buff.append('"') - continue - - # We've encountered a double quote that is not escaped, - # so we toggle is_quoted. - is_quoted = not is_quoted - - # If there are quotes, then we may want an empty string. To be - # safe, we add an empty string to the buffer so that we make - # sure it sticks around if there's nothing else between quotes. - # If there is other stuff between quotes, the empty string will - # disappear during the joining process. - buff.append('') - elif character in [' ', '\t'] and not is_quoted: - # Since the backslashes aren't leading up to a quote, we put in - # the exact number of backslashes. - if num_backslashes > 0: - buff.append('\\' * num_backslashes) - num_backslashes = 0 - - # Excess whitespace is ignored, so only add the components list - # if there is anything in the buffer. - if buff: - components.append(''.join(buff)) - buff = [] - else: - # Since the backslashes aren't leading up to a quote, we put in - # the exact number of backslashes. - if num_backslashes > 0: - buff.append('\\' * num_backslashes) - num_backslashes = 0 - buff.append(character) - - # Quotes must be terminated. - if is_quoted: - raise ValueError('No closing quotation in string: %s' % s) - - # There may be some leftover backslashes, so we need to add them in. - # There's no quote so we add the exact number. - if num_backslashes > 0: - buff.append('\\' * num_backslashes) - - # Add the final component in if there is anything in the buffer. - if buff: - components.append(''.join(buff)) - - return components diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/config.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/config.py deleted file mode 100644 index 4b2e4c50..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/config.py +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import copy -from botocore.compat import OrderedDict - -from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS -from botocore.exceptions import InvalidS3AddressingStyleError -from botocore.exceptions import InvalidRetryConfigurationError -from botocore.exceptions import InvalidMaxRetryAttemptsError - - -class Config(object): - """Advanced configuration for Botocore clients. - - :type region_name: str - :param region_name: The region to use in instantiating the client - - :type signature_version: str - :param signature_version: The signature version when signing requests. - - :type user_agent: str - :param user_agent: The value to use in the User-Agent header. - - :type user_agent_extra: str - :param user_agent_extra: The value to append to the current User-Agent - header value. - - :type connect_timeout: int - :param connect_timeout: The time in seconds till a timeout exception is - thrown when attempting to make a connection. The default is 60 - seconds. - - :type read_timeout: int - :param read_timeout: The time in seconds till a timeout exception is - thrown when attempting to read from a connection. The default is - 60 seconds. - - :type parameter_validation: bool - :param parameter_validation: Whether parameter validation should occur - when serializing requests. The default is True. You can disable - parameter validation for performance reasons. Otherwise, it's - recommended to leave parameter validation enabled. - - :type max_pool_connections: int - :param max_pool_connections: The maximum number of connections to - keep in a connection pool. If this value is not set, the default - value of 10 is used. - - :type proxies: dict - :param proxies: A dictionary of proxy servers to use by protocol or - endpoint, e.g.: - {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. - The proxies are used on each request. - - :type s3: dict - :param s3: A dictionary of s3 specific configurations. - Valid keys are: - - * 'use_accelerate_endpoint' -- Refers to whether to use the S3 - Accelerate endpoint. The value must be a boolean. If True, the - client will use the S3 Accelerate endpoint. If the S3 Accelerate - endpoint is being used then the addressing style will always - be virtual. - - * 'payload_signing_enabled' -- Refers to whether or not to SHA256 - sign sigv4 payloads. By default, this is disabled for streaming - uploads (UploadPart and PutObject). - - * 'addressing_style' -- Refers to the style in which to address - s3 endpoints. Values must be a string that equals: - - * auto -- Addressing style is chosen for user. Depending - on the configuration of client, the endpoint may be addressed in - the virtual or the path style. Note that this is the default - behavior if no style is specified. - - * virtual -- Addressing style is always virtual. The name of the - bucket must be DNS compatible or an exception will be thrown. - Endpoints will be addressed as such: mybucket.s3.amazonaws.com - - * path -- Addressing style is always by path. Endpoints will be - addressed as such: s3.amazonaws.com/mybucket - - :type retries: dict - :param retries: A dictionary for retry specific configurations. - Valid keys are: - - * 'max_attempts' -- An integer representing the maximum number of - retry attempts that will be made on a single request. For - example, setting this value to 2 will result in the request - being retried at most two times after the initial request. Setting - this value to 0 will result in no retries ever being attempted on - the initial request. If not provided, the number of retries will - default to whatever is modeled, which is typically four retries. - """ - OPTION_DEFAULTS = OrderedDict([ - ('region_name', None), - ('signature_version', None), - ('user_agent', None), - ('user_agent_extra', None), - ('connect_timeout', DEFAULT_TIMEOUT), - ('read_timeout', DEFAULT_TIMEOUT), - ('parameter_validation', True), - ('max_pool_connections', MAX_POOL_CONNECTIONS), - ('proxies', None), - ('s3', None), - ('retries', None) - ]) - - def __init__(self, *args, **kwargs): - self._user_provided_options = self._record_user_provided_options( - args, kwargs) - - # Merge the user_provided options onto the default options - config_vars = copy.copy(self.OPTION_DEFAULTS) - config_vars.update(self._user_provided_options) - - # Set the attributes based on the config_vars - for key, value in config_vars.items(): - setattr(self, key, value) - - # Validate the s3 options - self._validate_s3_configuration(self.s3) - - self._validate_retry_configuration(self.retries) - - def _record_user_provided_options(self, args, kwargs): - option_order = list(self.OPTION_DEFAULTS) - user_provided_options = {} - - # Iterate through the kwargs passed through to the constructor and - # map valid keys to the dictionary - for key, value in kwargs.items(): - if key in self.OPTION_DEFAULTS: - user_provided_options[key] = value - # The key must exist in the available options - else: - raise TypeError( - 'Got unexpected keyword argument \'%s\'' % key) - - # The number of args should not be longer than the allowed - # options - if len(args) > len(option_order): - raise TypeError( - 'Takes at most %s arguments (%s given)' % ( - len(option_order), len(args))) - - # Iterate through the args passed through to the constructor and map - # them to appropriate keys. - for i, arg in enumerate(args): - # If it a kwarg was specified for the arg, then error out - if option_order[i] in user_provided_options: - raise TypeError( - 'Got multiple values for keyword argument \'%s\'' % ( - option_order[i])) - user_provided_options[option_order[i]] = arg - - return user_provided_options - - def _validate_s3_configuration(self, s3): - if s3 is not None: - addressing_style = s3.get('addressing_style') - if addressing_style not in ['virtual', 'auto', 'path', None]: - raise InvalidS3AddressingStyleError( - s3_addressing_style=addressing_style) - - def _validate_retry_configuration(self, retries): - if retries is not None: - for key in retries: - if key not in ['max_attempts']: - raise InvalidRetryConfigurationError( - retry_config_option=key) - if key == 'max_attempts' and retries[key] < 0: - raise InvalidMaxRetryAttemptsError( - provided_max_attempts=retries[key] - ) - - def merge(self, other_config): - """Merges the config object with another config object - - This will merge in all non-default values from the provided config - and return a new config object - - :type other_config: botocore.config.Config - :param other config: Another config object to merge with. The values - in the provided config object will take precedence in the merging - - :returns: A config object built from the merged values of both - config objects. - """ - # Make a copy of the current attributes in the config object. - config_options = copy.copy(self._user_provided_options) - - # Merge in the user provided options from the other config - config_options.update(other_config._user_provided_options) - - # Return a new config object with the merged properties. - return Config(**config_options) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/configloader.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/configloader.py deleted file mode 100644 index 385f05f7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/configloader.py +++ /dev/null @@ -1,272 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import os -import shlex -import copy -import sys - -from botocore.compat import six - -import botocore.exceptions - - -def multi_file_load_config(*filenames): - """Load and combine multiple INI configs with profiles. - - This function will take a list of filesnames and return - a single dictionary that represents the merging of the loaded - config files. - - If any of the provided filenames does not exist, then that file - is ignored. It is therefore ok to provide a list of filenames, - some of which may not exist. - - Configuration files are **not** deep merged, only the top level - keys are merged. The filenames should be passed in order of - precedence. The first config file has precedence over the - second config file, which has precedence over the third config file, - etc. The only exception to this is that the "profiles" key is - merged to combine profiles from multiple config files into a - single profiles mapping. However, if a profile is defined in - multiple config files, then the config file with the highest - precedence is used. Profile values themselves are not merged. - For example:: - - FileA FileB FileC - [foo] [foo] [bar] - a=1 a=2 a=3 - b=2 - - [bar] [baz] [profile a] - a=2 a=3 region=e - - [profile a] [profile b] [profile c] - region=c region=d region=f - - The final result of ``multi_file_load_config(FileA, FileB, FileC)`` - would be:: - - {"foo": {"a": 1}, "bar": {"a": 2}, "baz": {"a": 3}, - "profiles": {"a": {"region": "c"}}, {"b": {"region": d"}}, - {"c": {"region": "f"}}} - - Note that the "foo" key comes from A, even though it's defined in both - FileA and FileB. Because "foo" was defined in FileA first, then the values - for "foo" from FileA are used and the values for "foo" from FileB are - ignored. Also note where the profiles originate from. Profile "a" - comes FileA, profile "b" comes from FileB, and profile "c" comes - from FileC. - - """ - configs = [] - profiles = [] - for filename in filenames: - try: - loaded = load_config(filename) - except botocore.exceptions.ConfigNotFound: - continue - profiles.append(loaded.pop('profiles')) - configs.append(loaded) - merged_config = _merge_list_of_dicts(configs) - merged_profiles = _merge_list_of_dicts(profiles) - merged_config['profiles'] = merged_profiles - return merged_config - - -def _merge_list_of_dicts(list_of_dicts): - merged_dicts = {} - for single_dict in list_of_dicts: - for key, value in single_dict.items(): - if key not in merged_dicts: - merged_dicts[key] = value - return merged_dicts - - -def load_config(config_filename): - """Parse a INI config with profiles. - - This will parse an INI config file and map top level profiles - into a top level "profile" key. - - If you want to parse an INI file and map all section names to - top level keys, use ``raw_config_parse`` instead. - - """ - parsed = raw_config_parse(config_filename) - return build_profile_map(parsed) - - -def raw_config_parse(config_filename, parse_subsections=True): - """Returns the parsed INI config contents. - - Each section name is a top level key. - - :param config_filename: The name of the INI file to parse - - :param parse_subsections: If True, parse indented blocks as - subsections that represent their own configuration dictionary. - For example, if the config file had the contents:: - - s3 = - signature_version = s3v4 - addressing_style = path - - The resulting ``raw_config_parse`` would be:: - - {'s3': {'signature_version': 's3v4', 'addressing_style': 'path'}} - - If False, do not try to parse subsections and return the indented - block as its literal value:: - - {'s3': '\nsignature_version = s3v4\naddressing_style = path'} - - :returns: A dict with keys for each profile found in the config - file and the value of each key being a dict containing name - value pairs found in that profile. - - :raises: ConfigNotFound, ConfigParseError - """ - config = {} - path = config_filename - if path is not None: - path = os.path.expandvars(path) - path = os.path.expanduser(path) - if not os.path.isfile(path): - raise botocore.exceptions.ConfigNotFound(path=_unicode_path(path)) - cp = six.moves.configparser.RawConfigParser() - try: - cp.read([path]) - except six.moves.configparser.Error: - raise botocore.exceptions.ConfigParseError( - path=_unicode_path(path)) - else: - for section in cp.sections(): - config[section] = {} - for option in cp.options(section): - config_value = cp.get(section, option) - if parse_subsections and config_value.startswith('\n'): - # Then we need to parse the inner contents as - # hierarchical. We support a single level - # of nesting for now. - try: - config_value = _parse_nested(config_value) - except ValueError: - raise botocore.exceptions.ConfigParseError( - path=_unicode_path(path)) - config[section][option] = config_value - return config - - -def _unicode_path(path): - if isinstance(path, six.text_type): - return path - # According to the documentation getfilesystemencoding can return None - # on unix in which case the default encoding is used instead. - filesystem_encoding = sys.getfilesystemencoding() - if filesystem_encoding is None: - filesystem_encoding = sys.getdefaultencoding() - return path.decode(filesystem_encoding, 'replace') - - -def _parse_nested(config_value): - # Given a value like this: - # \n - # foo = bar - # bar = baz - # We need to parse this into - # {'foo': 'bar', 'bar': 'baz} - parsed = {} - for line in config_value.splitlines(): - line = line.strip() - if not line: - continue - # The caller will catch ValueError - # and raise an appropriate error - # if this fails. - key, value = line.split('=', 1) - parsed[key.strip()] = value.strip() - return parsed - - -def build_profile_map(parsed_ini_config): - """Convert the parsed INI config into a profile map. - - The config file format requires that every profile except the - default to be prepended with "profile", e.g.:: - - [profile test] - aws_... = foo - aws_... = bar - - [profile bar] - aws_... = foo - aws_... = bar - - # This is *not* a profile - [preview] - otherstuff = 1 - - # Neither is this - [foobar] - morestuff = 2 - - The build_profile_map will take a parsed INI config file where each top - level key represents a section name, and convert into a format where all - the profiles are under a single top level "profiles" key, and each key in - the sub dictionary is a profile name. For example, the above config file - would be converted from:: - - {"profile test": {"aws_...": "foo", "aws...": "bar"}, - "profile bar": {"aws...": "foo", "aws...": "bar"}, - "preview": {"otherstuff": ...}, - "foobar": {"morestuff": ...}, - } - - into:: - - {"profiles": {"test": {"aws_...": "foo", "aws...": "bar"}, - "bar": {"aws...": "foo", "aws...": "bar"}, - "preview": {"otherstuff": ...}, - "foobar": {"morestuff": ...}, - } - - If there are no profiles in the provided parsed INI contents, then - an empty dict will be the value associated with the ``profiles`` key. - - .. note:: - - This will not mutate the passed in parsed_ini_config. Instead it will - make a deepcopy and return that value. - - """ - parsed_config = copy.deepcopy(parsed_ini_config) - profiles = {} - final_config = {} - for key, values in parsed_config.items(): - if key.startswith("profile"): - try: - parts = shlex.split(key) - except ValueError: - continue - if len(parts) == 2: - profiles[parts[1]] = values - elif key == 'default': - # default section is special and is considered a profile - # name but we don't require you use 'profile "default"' - # as a section. - profiles[key] = values - else: - final_config[key] = values - final_config['profiles'] = profiles - return final_config diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/credentials.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/credentials.py deleted file mode 100644 index d82c04d2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/credentials.py +++ /dev/null @@ -1,1673 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import time -import datetime -import logging -import os -import getpass -import threading -import json -import subprocess -from collections import namedtuple -from copy import deepcopy -from hashlib import sha1 -import json - -from dateutil.parser import parse -from dateutil.tz import tzlocal - -import botocore.configloader -import botocore.compat -from botocore.compat import total_seconds -from botocore.compat import compat_shell_split -from botocore.exceptions import UnknownCredentialError -from botocore.exceptions import PartialCredentialsError -from botocore.exceptions import ConfigNotFound -from botocore.exceptions import InvalidConfigError -from botocore.exceptions import InfiniteLoopConfigError -from botocore.exceptions import RefreshWithMFAUnsupportedError -from botocore.exceptions import MetadataRetrievalError -from botocore.exceptions import CredentialRetrievalError -from botocore.utils import InstanceMetadataFetcher, parse_key_val_file -from botocore.utils import ContainerMetadataFetcher - - -logger = logging.getLogger(__name__) -ReadOnlyCredentials = namedtuple('ReadOnlyCredentials', - ['access_key', 'secret_key', 'token']) - - -def create_credential_resolver(session, cache=None): - """Create a default credential resolver. - - This creates a pre-configured credential resolver - that includes the default lookup chain for - credentials. - - """ - profile_name = session.get_config_variable('profile') or 'default' - credential_file = session.get_config_variable('credentials_file') - config_file = session.get_config_variable('config_file') - metadata_timeout = session.get_config_variable('metadata_service_timeout') - num_attempts = session.get_config_variable('metadata_service_num_attempts') - if cache is None: - cache = {} - - env_provider = EnvProvider() - container_provider = ContainerProvider() - instance_metadata_provider = InstanceMetadataProvider( - iam_role_fetcher=InstanceMetadataFetcher( - timeout=metadata_timeout, - num_attempts=num_attempts, - user_agent=session.user_agent()) - ) - assume_role_provider = AssumeRoleProvider( - load_config=lambda: session.full_config, - client_creator=session.create_client, - cache=cache, - profile_name=profile_name, - credential_sourcer=CanonicalNameCredentialSourcer([ - env_provider, container_provider, instance_metadata_provider - ]) - ) - providers = [ - env_provider, - assume_role_provider, - SharedCredentialProvider( - creds_filename=credential_file, - profile_name=profile_name - ), - ProcessProvider(profile_name=profile_name, - load_config=lambda: session.full_config), - # The new config file has precedence over the legacy - # config file. - ConfigProvider(config_filename=config_file, profile_name=profile_name), - OriginalEC2Provider(), - BotoProvider(), - container_provider, - instance_metadata_provider - ] - - explicit_profile = session.get_config_variable('profile', - methods=('instance',)) - if explicit_profile is not None: - # An explicitly provided profile will negate an EnvProvider. - # We will defer to providers that understand the "profile" - # concept to retrieve credentials. - # The one edge case if is all three values are provided via - # env vars: - # export AWS_ACCESS_KEY_ID=foo - # export AWS_SECRET_ACCESS_KEY=bar - # export AWS_PROFILE=baz - # Then, just like our client() calls, the explicit credentials - # will take precedence. - # - # This precedence is enforced by leaving the EnvProvider in the chain. - # This means that the only way a "profile" would win is if the - # EnvProvider does not return credentials, which is what we want - # in this scenario. - providers.remove(env_provider) - logger.debug('Skipping environment variable credential check' - ' because profile name was explicitly set.') - - resolver = CredentialResolver(providers=providers) - return resolver - - -def get_credentials(session): - resolver = create_credential_resolver(session) - return resolver.load_credentials() - - -def _local_now(): - return datetime.datetime.now(tzlocal()) - - -def _parse_if_needed(value): - if isinstance(value, datetime.datetime): - return value - return parse(value) - - -def _serialize_if_needed(value, iso=False): - if isinstance(value, datetime.datetime): - if iso: - return value.isoformat() - return value.strftime('%Y-%m-%dT%H:%M:%S%Z') - return value - - -def create_assume_role_refresher(client, params): - def refresh(): - response = client.assume_role(**params) - credentials = response['Credentials'] - # We need to normalize the credential names to - # the values expected by the refresh creds. - return { - 'access_key': credentials['AccessKeyId'], - 'secret_key': credentials['SecretAccessKey'], - 'token': credentials['SessionToken'], - 'expiry_time': _serialize_if_needed(credentials['Expiration']), - } - return refresh - - -def create_mfa_serial_refresher(actual_refresh): - - class _Refresher(object): - def __init__(self, refresh): - self._refresh = refresh - self._has_been_called = False - - def __call__(self): - if self._has_been_called: - # We can explore an option in the future to support - # reprompting for MFA, but for now we just error out - # when the temp creds expire. - raise RefreshWithMFAUnsupportedError() - self._has_been_called = True - return self._refresh() - - return _Refresher(actual_refresh) - - -class JSONFileCache(object): - """JSON file cache. - This provides a dict like interface that stores JSON serializable - objects. - The objects are serialized to JSON and stored in a file. These - values can be retrieved at a later time. - """ - - CACHE_DIR = os.path.expanduser(os.path.join('~', '.aws', 'boto', 'cache')) - - def __init__(self, working_dir=CACHE_DIR): - self._working_dir = working_dir - - def __contains__(self, cache_key): - actual_key = self._convert_cache_key(cache_key) - return os.path.isfile(actual_key) - - def __getitem__(self, cache_key): - """Retrieve value from a cache key.""" - actual_key = self._convert_cache_key(cache_key) - try: - with open(actual_key) as f: - return json.load(f) - except (OSError, ValueError, IOError): - raise KeyError(cache_key) - - def __setitem__(self, cache_key, value): - full_key = self._convert_cache_key(cache_key) - try: - file_content = json.dumps(value, default=_serialize_if_needed) - except (TypeError, ValueError): - raise ValueError("Value cannot be cached, must be " - "JSON serializable: %s" % value) - if not os.path.isdir(self._working_dir): - os.makedirs(self._working_dir) - with os.fdopen(os.open(full_key, - os.O_WRONLY | os.O_CREAT, 0o600), 'w') as f: - f.truncate() - f.write(file_content) - - def _convert_cache_key(self, cache_key): - full_path = os.path.join(self._working_dir, cache_key + '.json') - return full_path - - -class Credentials(object): - """ - Holds the credentials needed to authenticate requests. - - :ivar access_key: The access key part of the credentials. - :ivar secret_key: The secret key part of the credentials. - :ivar token: The security token, valid only for session credentials. - :ivar method: A string which identifies where the credentials - were found. - """ - - def __init__(self, access_key, secret_key, token=None, - method=None): - self.access_key = access_key - self.secret_key = secret_key - self.token = token - - if method is None: - method = 'explicit' - self.method = method - - self._normalize() - - def _normalize(self): - # Keys would sometimes (accidentally) contain non-ascii characters. - # It would cause a confusing UnicodeDecodeError in Python 2. - # We explicitly convert them into unicode to avoid such error. - # - # Eventually the service will decide whether to accept the credential. - # This also complies with the behavior in Python 3. - self.access_key = botocore.compat.ensure_unicode(self.access_key) - self.secret_key = botocore.compat.ensure_unicode(self.secret_key) - - def get_frozen_credentials(self): - return ReadOnlyCredentials(self.access_key, - self.secret_key, - self.token) - - -class RefreshableCredentials(Credentials): - """ - Holds the credentials needed to authenticate requests. In addition, it - knows how to refresh itself. - - :ivar access_key: The access key part of the credentials. - :ivar secret_key: The secret key part of the credentials. - :ivar token: The security token, valid only for session credentials. - :ivar method: A string which identifies where the credentials - were found. - """ - # The time at which we'll attempt to refresh, but not - # block if someone else is refreshing. - _advisory_refresh_timeout = 15 * 60 - # The time at which all threads will block waiting for - # refreshed credentials. - _mandatory_refresh_timeout = 10 * 60 - - def __init__(self, access_key, secret_key, token, - expiry_time, refresh_using, method, - time_fetcher=_local_now): - self._refresh_using = refresh_using - self._access_key = access_key - self._secret_key = secret_key - self._token = token - self._expiry_time = expiry_time - self._time_fetcher = time_fetcher - self._refresh_lock = threading.Lock() - self.method = method - self._frozen_credentials = ReadOnlyCredentials( - access_key, secret_key, token) - self._normalize() - - def _normalize(self): - self._access_key = botocore.compat.ensure_unicode(self._access_key) - self._secret_key = botocore.compat.ensure_unicode(self._secret_key) - - @classmethod - def create_from_metadata(cls, metadata, refresh_using, method): - instance = cls( - access_key=metadata['access_key'], - secret_key=metadata['secret_key'], - token=metadata['token'], - expiry_time=cls._expiry_datetime(metadata['expiry_time']), - method=method, - refresh_using=refresh_using - ) - return instance - - @property - def access_key(self): - """Warning: Using this property can lead to race conditions if you - access another property subsequently along the refresh boundary. - Please use get_frozen_credentials instead. - """ - self._refresh() - return self._access_key - - @access_key.setter - def access_key(self, value): - self._access_key = value - - @property - def secret_key(self): - """Warning: Using this property can lead to race conditions if you - access another property subsequently along the refresh boundary. - Please use get_frozen_credentials instead. - """ - self._refresh() - return self._secret_key - - @secret_key.setter - def secret_key(self, value): - self._secret_key = value - - @property - def token(self): - """Warning: Using this property can lead to race conditions if you - access another property subsequently along the refresh boundary. - Please use get_frozen_credentials instead. - """ - self._refresh() - return self._token - - @token.setter - def token(self, value): - self._token = value - - def _seconds_remaining(self): - delta = self._expiry_time - self._time_fetcher() - return total_seconds(delta) - - def refresh_needed(self, refresh_in=None): - """Check if a refresh is needed. - - A refresh is needed if the expiry time associated - with the temporary credentials is less than the - provided ``refresh_in``. If ``time_delta`` is not - provided, ``self.advisory_refresh_needed`` will be used. - - For example, if your temporary credentials expire - in 10 minutes and the provided ``refresh_in`` is - ``15 * 60``, then this function will return ``True``. - - :type refresh_in: int - :param refresh_in: The number of seconds before the - credentials expire in which refresh attempts should - be made. - - :return: True if refresh neeeded, False otherwise. - - """ - if self._expiry_time is None: - # No expiration, so assume we don't need to refresh. - return False - - if refresh_in is None: - refresh_in = self._advisory_refresh_timeout - # The credentials should be refreshed if they're going to expire - # in less than 5 minutes. - if self._seconds_remaining() >= refresh_in: - # There's enough time left. Don't refresh. - return False - logger.debug("Credentials need to be refreshed.") - return True - - def _is_expired(self): - # Checks if the current credentials are expired. - return self.refresh_needed(refresh_in=0) - - def _refresh(self): - # In the common case where we don't need a refresh, we - # can immediately exit and not require acquiring the - # refresh lock. - if not self.refresh_needed(self._advisory_refresh_timeout): - return - - # acquire() doesn't accept kwargs, but False is indicating - # that we should not block if we can't acquire the lock. - # If we aren't able to acquire the lock, we'll trigger - # the else clause. - if self._refresh_lock.acquire(False): - try: - if not self.refresh_needed(self._advisory_refresh_timeout): - return - is_mandatory_refresh = self.refresh_needed( - self._mandatory_refresh_timeout) - self._protected_refresh(is_mandatory=is_mandatory_refresh) - return - finally: - self._refresh_lock.release() - elif self.refresh_needed(self._mandatory_refresh_timeout): - # If we're within the mandatory refresh window, - # we must block until we get refreshed credentials. - with self._refresh_lock: - if not self.refresh_needed(self._mandatory_refresh_timeout): - return - self._protected_refresh(is_mandatory=True) - - def _protected_refresh(self, is_mandatory): - # precondition: this method should only be called if you've acquired - # the self._refresh_lock. - try: - metadata = self._refresh_using() - except Exception as e: - period_name = 'mandatory' if is_mandatory else 'advisory' - logger.warning("Refreshing temporary credentials failed " - "during %s refresh period.", - period_name, exc_info=True) - if is_mandatory: - # If this is a mandatory refresh, then - # all errors that occur when we attempt to refresh - # credentials are propagated back to the user. - raise - # Otherwise we'll just return. - # The end result will be that we'll use the current - # set of temporary credentials we have. - return - self._set_from_data(metadata) - self._frozen_credentials = ReadOnlyCredentials( - self._access_key, self._secret_key, self._token) - if self._is_expired(): - # We successfully refreshed credentials but for whatever - # reason, our refreshing function returned credentials - # that are still expired. In this scenario, the only - # thing we can do is let the user know and raise - # an exception. - msg = ("Credentials were refreshed, but the " - "refreshed credentials are still expired.") - logger.warning(msg) - raise RuntimeError(msg) - - @staticmethod - def _expiry_datetime(time_str): - return parse(time_str) - - def _set_from_data(self, data): - self.access_key = data['access_key'] - self.secret_key = data['secret_key'] - self.token = data['token'] - self._expiry_time = parse(data['expiry_time']) - logger.debug("Retrieved credentials will expire at: %s", - self._expiry_time) - self._normalize() - - def get_frozen_credentials(self): - """Return immutable credentials. - - The ``access_key``, ``secret_key``, and ``token`` properties - on this class will always check and refresh credentials if - needed before returning the particular credentials. - - This has an edge case where you can get inconsistent - credentials. Imagine this: - - # Current creds are "t1" - tmp.access_key ---> expired? no, so return t1.access_key - # ---- time is now expired, creds need refreshing to "t2" ---- - tmp.secret_key ---> expired? yes, refresh and return t2.secret_key - - This means we're using the access key from t1 with the secret key - from t2. To fix this issue, you can request a frozen credential object - which is guaranteed not to change. - - The frozen credentials returned from this method should be used - immediately and then discarded. The typical usage pattern would - be:: - - creds = RefreshableCredentials(...) - some_code = SomeSignerObject() - # I'm about to sign the request. - # The frozen credentials are only used for the - # duration of generate_presigned_url and will be - # immediately thrown away. - request = some_code.sign_some_request( - with_credentials=creds.get_frozen_credentials()) - print("Signed request:", request) - - """ - self._refresh() - return self._frozen_credentials - - -class DeferredRefreshableCredentials(RefreshableCredentials): - """Refreshable credentials that don't require initial credentials. - - refresh_using will be called upon first access. - """ - def __init__(self, refresh_using, method, time_fetcher=_local_now): - self._refresh_using = refresh_using - self._access_key = None - self._secret_key = None - self._token = None - self._expiry_time = None - self._time_fetcher = time_fetcher - self._refresh_lock = threading.Lock() - self.method = method - self._frozen_credentials = None - - def refresh_needed(self, refresh_in=None): - if self._frozen_credentials is None: - return True - return super(DeferredRefreshableCredentials, self).refresh_needed( - refresh_in - ) - - -class CachedCredentialFetcher(object): - def __init__(self, cache=None, expiry_window_seconds=60 * 15): - if cache is None: - cache = {} - self._cache = cache - self._cache_key = self._create_cache_key() - self._expiry_window_seconds = expiry_window_seconds - - def _create_cache_key(self): - raise NotImplementedError('_create_cache_key()') - - def _make_file_safe(self, filename): - # Replace :, path sep, and / to make it the string filename safe. - filename = filename.replace(':', '_').replace(os.path.sep, '_') - return filename.replace('/', '_') - - def _get_credentials(self): - raise NotImplementedError('_get_credentials()') - - def fetch_credentials(self): - return self._get_cached_credentials() - - def _get_cached_credentials(self): - """Get up-to-date credentials. - - This will check the cache for up-to-date credentials, calling assume - role if none are available. - """ - response = self._load_from_cache() - if response is None: - response = self._get_credentials() - self._write_to_cache(response) - else: - logger.debug("Credentials for role retrieved from cache.") - - creds = response['Credentials'] - expiration = _serialize_if_needed(creds['Expiration'], iso=True) - return { - 'access_key': creds['AccessKeyId'], - 'secret_key': creds['SecretAccessKey'], - 'token': creds['SessionToken'], - 'expiry_time': expiration, - } - - def _load_from_cache(self): - if self._cache_key in self._cache: - creds = deepcopy(self._cache[self._cache_key]) - if not self._is_expired(creds): - return creds - else: - logger.debug( - "Credentials were found in cache, but they are expired." - ) - return None - - def _write_to_cache(self, response): - self._cache[self._cache_key] = deepcopy(response) - - def _is_expired(self, credentials): - """Check if credentials are expired.""" - end_time = _parse_if_needed(credentials['Credentials']['Expiration']) - seconds = total_seconds(end_time - _local_now()) - return seconds < self._expiry_window_seconds - - -class AssumeRoleCredentialFetcher(CachedCredentialFetcher): - def __init__(self, client_creator, source_credentials, role_arn, - extra_args=None, mfa_prompter=None, cache=None, - expiry_window_seconds=60 * 15): - """ - :type client_creator: callable - :param client_creator: A callable that creates a client taking - arguments like ``Session.create_client``. - - :type source_credentials: Credentials - :param source_credentials: The credentials to use to create the - client for the call to AssumeRole. - - :type role_arn: str - :param role_arn: The ARN of the role to be assumed. - - :type extra_args: dict - :param extra_args: Any additional arguments to add to the assume - role request using the format of the botocore operation. - Possible keys include, but may not be limited to, - DurationSeconds, Policy, SerialNumber, ExternalId and - RoleSessionName. - - :type mfa_prompter: callable - :param mfa_prompter: A callable that returns input provided by the - user (i.e raw_input, getpass.getpass, etc.). - - :type cache: dict - :param cache: An object that supports ``__getitem__``, - ``__setitem__``, and ``__contains__``. An example of this is - the ``JSONFileCache`` class in aws-cli. - - :type expiry_window_seconds: int - :param expiry_window_seconds: The amount of time, in seconds, - """ - self._client_creator = client_creator - self._source_credentials = source_credentials - self._role_arn = role_arn - - if extra_args is None: - self._assume_kwargs = {} - else: - self._assume_kwargs = deepcopy(extra_args) - self._assume_kwargs['RoleArn'] = self._role_arn - - self._role_session_name = self._assume_kwargs.get('RoleSessionName') - self._using_default_session_name = False - if not self._role_session_name: - self._role_session_name = 'botocore-session-%s' % ( - int(time.time())) - self._assume_kwargs['RoleSessionName'] = self._role_session_name - self._using_default_session_name = True - - self._mfa_prompter = mfa_prompter - if self._mfa_prompter is None: - self._mfa_prompter = getpass.getpass - - super(AssumeRoleCredentialFetcher, self).__init__( - cache, expiry_window_seconds - ) - - def _create_cache_key(self): - """Create a predictable cache key for the current configuration. - - The cache key is intended to be compatible with file names. - """ - args = deepcopy(self._assume_kwargs) - - # The role session name gets randomly generated, so we don't want it - # in the hash. - if self._using_default_session_name: - del args['RoleSessionName'] - - if 'Policy' in args: - # To have a predictable hash, the keys of the policy must be - # sorted, so we have to load it here to make sure it gets sorted - # later on. - args['Policy'] = json.loads(args['Policy']) - - args = json.dumps(args, sort_keys=True) - argument_hash = sha1(args.encode('utf-8')).hexdigest() - return self._make_file_safe(argument_hash) - - def _get_credentials(self): - """Get credentials by calling assume role.""" - kwargs = self._assume_role_kwargs() - client = self._create_client() - return client.assume_role(**kwargs) - - def _assume_role_kwargs(self): - """Get the arguments for assume role based on current configuration.""" - assume_role_kwargs = self._assume_kwargs - mfa_serial = assume_role_kwargs.get('SerialNumber') - - if mfa_serial is not None: - prompt = 'Enter MFA code for %s: ' % mfa_serial - token_code = self._mfa_prompter(prompt) - - assume_role_kwargs = deepcopy(assume_role_kwargs) - assume_role_kwargs['TokenCode'] = token_code - - return assume_role_kwargs - - def _create_client(self): - """Create an STS client using the source credentials.""" - frozen_credentials = self._source_credentials.get_frozen_credentials() - return self._client_creator( - 'sts', - aws_access_key_id=frozen_credentials.access_key, - aws_secret_access_key=frozen_credentials.secret_key, - aws_session_token=frozen_credentials.token, - ) - - -class CredentialProvider(object): - # A short name to identify the provider within botocore. - METHOD = None - - # A name to identify the provider for use in cross-sdk features like - # assume role's `credential_source` configuration option. These names - # are to be treated in a case-insensitive way. NOTE: any providers not - # implemented in botocore MUST prefix their canonical names with - # 'custom' or we DO NOT guarantee that it will work with any features - # that this provides. - CANONICAL_NAME = None - - def __init__(self, session=None): - self.session = session - - def load(self): - """ - Loads the credentials from their source & sets them on the object. - - Subclasses should implement this method (by reading from disk, the - environment, the network or wherever), returning ``True`` if they were - found & loaded. - - If not found, this method should return ``False``, indictating that the - ``CredentialResolver`` should fall back to the next available method. - - The default implementation does nothing, assuming the user has set the - ``access_key/secret_key/token`` themselves. - - :returns: Whether credentials were found & set - :rtype: Credentials - """ - return True - - def _extract_creds_from_mapping(self, mapping, *key_names): - found = [] - for key_name in key_names: - try: - found.append(mapping[key_name]) - except KeyError: - raise PartialCredentialsError(provider=self.METHOD, - cred_var=key_name) - return found - - -class ProcessProvider(CredentialProvider): - - METHOD = 'custom-process' - - def __init__(self, profile_name, load_config, popen=subprocess.Popen): - self._profile_name = profile_name - self._load_config = load_config - self._loaded_config = None - self._popen = popen - - def load(self): - credential_process = self._credential_process - if credential_process is None: - return - - creds_dict = self._retrieve_credentials_using(credential_process) - if creds_dict.get('expiry_time') is not None: - return RefreshableCredentials.create_from_metadata( - creds_dict, - lambda: self._retrieve_credentials_using(credential_process), - self.METHOD - ) - - return Credentials( - access_key=creds_dict['access_key'], - secret_key=creds_dict['secret_key'], - token=creds_dict.get('token'), - method=self.METHOD - ) - - def _retrieve_credentials_using(self, credential_process): - # We're not using shell=True, so we need to pass the - # command and all arguments as a list. - process_list = compat_shell_split(credential_process) - p = self._popen(process_list, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - stdout, stderr = p.communicate() - if p.returncode != 0: - raise CredentialRetrievalError( - provider=self.METHOD, error_msg=stderr.decode('utf-8')) - parsed = botocore.compat.json.loads(stdout.decode('utf-8')) - version = parsed.get('Version', '') - if version != 1: - raise CredentialRetrievalError( - provider=self.METHOD, - error_msg=("Unsupported version '%s' for credential process " - "provider, supported versions: 1" % version)) - try: - return { - 'access_key': parsed['AccessKeyId'], - 'secret_key': parsed['SecretAccessKey'], - 'token': parsed.get('SessionToken'), - 'expiry_time': parsed.get('Expiration'), - } - except KeyError as e: - raise CredentialRetrievalError( - provider=self.METHOD, - error_msg="Missing required key in response: %s" % e - ) - - @property - def _credential_process(self): - if self._loaded_config is None: - self._loaded_config = self._load_config() - profile_config = self._loaded_config.get( - 'profiles', {}).get(self._profile_name, {}) - return profile_config.get('credential_process') - - -class InstanceMetadataProvider(CredentialProvider): - METHOD = 'iam-role' - CANONICAL_NAME = 'Ec2InstanceMetadata' - - def __init__(self, iam_role_fetcher): - self._role_fetcher = iam_role_fetcher - - def load(self): - fetcher = self._role_fetcher - # We do the first request, to see if we get useful data back. - # If not, we'll pass & move on to whatever's next in the credential - # chain. - metadata = fetcher.retrieve_iam_role_credentials() - if not metadata: - return None - logger.debug('Found credentials from IAM Role: %s', - metadata['role_name']) - # We manually set the data here, since we already made the request & - # have it. When the expiry is hit, the credentials will auto-refresh - # themselves. - creds = RefreshableCredentials.create_from_metadata( - metadata, - method=self.METHOD, - refresh_using=fetcher.retrieve_iam_role_credentials, - ) - return creds - - -class EnvProvider(CredentialProvider): - METHOD = 'env' - CANONICAL_NAME = 'Environment' - ACCESS_KEY = 'AWS_ACCESS_KEY_ID' - SECRET_KEY = 'AWS_SECRET_ACCESS_KEY' - # The token can come from either of these env var. - # AWS_SESSION_TOKEN is what other AWS SDKs have standardized on. - TOKENS = ['AWS_SECURITY_TOKEN', 'AWS_SESSION_TOKEN'] - EXPIRY_TIME = 'AWS_CREDENTIAL_EXPIRATION' - - def __init__(self, environ=None, mapping=None): - """ - - :param environ: The environment variables (defaults to - ``os.environ`` if no value is provided). - :param mapping: An optional mapping of variable names to - environment variable names. Use this if you want to - change the mapping of access_key->AWS_ACCESS_KEY_ID, etc. - The dict can have up to 3 keys: ``access_key``, ``secret_key``, - ``session_token``. - """ - if environ is None: - environ = os.environ - self.environ = environ - self._mapping = self._build_mapping(mapping) - - def _build_mapping(self, mapping): - # Mapping of variable name to env var name. - var_mapping = {} - if mapping is None: - # Use the class var default. - 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) - var_mapping['secret_key'] = mapping.get( - 'secret_key', self.SECRET_KEY) - var_mapping['token'] = mapping.get( - 'token', self.TOKENS) - if not isinstance(var_mapping['token'], list): - var_mapping['token'] = [var_mapping['token']] - var_mapping['expiry_time'] = mapping.get( - 'expiry_time', self.EXPIRY_TIME) - return var_mapping - - def load(self): - """ - Search for credentials in explicit environment variables. - """ - if self._mapping['access_key'] in self.environ: - logger.info('Found credentials in environment variables.') - 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 _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): - METHOD = 'ec2-credentials-file' - CANONICAL_NAME = 'Ec2Config' - - CRED_FILE_ENV = 'AWS_CREDENTIAL_FILE' - ACCESS_KEY = 'AWSAccessKeyId' - SECRET_KEY = 'AWSSecretKey' - - def __init__(self, environ=None, parser=None): - if environ is None: - environ = os.environ - if parser is None: - parser = parse_key_val_file - self._environ = environ - self._parser = parser - - def load(self): - """ - Search for a credential file used by original EC2 CLI tools. - """ - if 'AWS_CREDENTIAL_FILE' in self._environ: - full_path = os.path.expanduser( - self._environ['AWS_CREDENTIAL_FILE']) - creds = self._parser(full_path) - if self.ACCESS_KEY in creds: - logger.info('Found credentials in AWS_CREDENTIAL_FILE.') - access_key = creds[self.ACCESS_KEY] - secret_key = creds[self.SECRET_KEY] - # EC2 creds file doesn't support session tokens. - return Credentials(access_key, secret_key, method=self.METHOD) - else: - return None - - -class SharedCredentialProvider(CredentialProvider): - METHOD = 'shared-credentials-file' - CANONICAL_NAME = 'SharedCredentials' - - ACCESS_KEY = 'aws_access_key_id' - SECRET_KEY = 'aws_secret_access_key' - # Same deal as the EnvProvider above. Botocore originally supported - # aws_security_token, but the SDKs are standardizing on aws_session_token - # so we support both. - TOKENS = ['aws_security_token', 'aws_session_token'] - - def __init__(self, creds_filename, profile_name=None, ini_parser=None): - self._creds_filename = creds_filename - if profile_name is None: - profile_name = 'default' - self._profile_name = profile_name - if ini_parser is None: - ini_parser = botocore.configloader.raw_config_parse - self._ini_parser = ini_parser - - def load(self): - try: - available_creds = self._ini_parser(self._creds_filename) - except ConfigNotFound: - return None - if self._profile_name in available_creds: - config = available_creds[self._profile_name] - if self.ACCESS_KEY in config: - logger.info("Found credentials in shared credentials file: %s", - self._creds_filename) - access_key, secret_key = self._extract_creds_from_mapping( - config, self.ACCESS_KEY, self.SECRET_KEY) - token = self._get_session_token(config) - return Credentials(access_key, secret_key, token, - method=self.METHOD) - - def _get_session_token(self, config): - for token_envvar in self.TOKENS: - if token_envvar in config: - return config[token_envvar] - - -class ConfigProvider(CredentialProvider): - """INI based config provider with profile sections.""" - METHOD = 'config-file' - CANONICAL_NAME = 'SharedConfig' - - ACCESS_KEY = 'aws_access_key_id' - SECRET_KEY = 'aws_secret_access_key' - # Same deal as the EnvProvider above. Botocore originally supported - # aws_security_token, but the SDKs are standardizing on aws_session_token - # so we support both. - TOKENS = ['aws_security_token', 'aws_session_token'] - - def __init__(self, config_filename, profile_name, config_parser=None): - """ - - :param config_filename: The session configuration scoped to the current - profile. This is available via ``session.config``. - :param profile_name: The name of the current profile. - :param config_parser: A config parser callable. - - """ - self._config_filename = config_filename - self._profile_name = profile_name - if config_parser is None: - config_parser = botocore.configloader.load_config - self._config_parser = config_parser - - def load(self): - """ - If there is are credentials in the configuration associated with - the session, use those. - """ - try: - full_config = self._config_parser(self._config_filename) - except ConfigNotFound: - return None - if self._profile_name in full_config['profiles']: - profile_config = full_config['profiles'][self._profile_name] - if self.ACCESS_KEY in profile_config: - logger.info("Credentials found in config file: %s", - self._config_filename) - access_key, secret_key = self._extract_creds_from_mapping( - profile_config, self.ACCESS_KEY, self.SECRET_KEY) - token = self._get_session_token(profile_config) - return Credentials(access_key, secret_key, token, - method=self.METHOD) - else: - return None - - def _get_session_token(self, profile_config): - for token_name in self.TOKENS: - if token_name in profile_config: - return profile_config[token_name] - - -class BotoProvider(CredentialProvider): - METHOD = 'boto-config' - CANONICAL_NAME = 'Boto2Config' - - BOTO_CONFIG_ENV = 'BOTO_CONFIG' - DEFAULT_CONFIG_FILENAMES = ['/etc/boto.cfg', '~/.boto'] - ACCESS_KEY = 'aws_access_key_id' - SECRET_KEY = 'aws_secret_access_key' - - def __init__(self, environ=None, ini_parser=None): - if environ is None: - environ = os.environ - if ini_parser is None: - ini_parser = botocore.configloader.raw_config_parse - self._environ = environ - self._ini_parser = ini_parser - - def load(self): - """ - Look for credentials in boto config file. - """ - if self.BOTO_CONFIG_ENV in self._environ: - potential_locations = [self._environ[self.BOTO_CONFIG_ENV]] - else: - potential_locations = self.DEFAULT_CONFIG_FILENAMES - for filename in potential_locations: - try: - config = self._ini_parser(filename) - except ConfigNotFound: - # Move on to the next potential config file name. - continue - if 'Credentials' in config: - credentials = config['Credentials'] - if self.ACCESS_KEY in credentials: - logger.info("Found credentials in boto config file: %s", - filename) - access_key, secret_key = self._extract_creds_from_mapping( - credentials, self.ACCESS_KEY, self.SECRET_KEY) - return Credentials(access_key, secret_key, - method=self.METHOD) - - -class AssumeRoleProvider(CredentialProvider): - METHOD = 'assume-role' - # The AssumeRole provider is logically part of the SharedConfig and - # SharedCredentials providers. Since the purpose of the canonical name - # is to provide cross-sdk compatibility, calling code will need to be - # aware that either of those providers should be tied to the AssumeRole - # provider as much as possible. - CANONICAL_NAME = None - ROLE_CONFIG_VAR = 'role_arn' - # Credentials are considered expired (and will be refreshed) once the total - # remaining time left until the credentials expires is less than the - # EXPIRY_WINDOW. - EXPIRY_WINDOW_SECONDS = 60 * 15 - - def __init__(self, load_config, client_creator, cache, profile_name, - prompter=getpass.getpass, credential_sourcer=None): - """ - :type load_config: callable - :param load_config: A function that accepts no arguments, and - when called, will return the full configuration dictionary - for the session (``session.full_config``). - - :type client_creator: callable - :param client_creator: A factory function that will create - a client when called. Has the same interface as - ``botocore.session.Session.create_client``. - - :type cache: dict - :param cache: An object that supports ``__getitem__``, - ``__setitem__``, and ``__contains__``. An example - of this is the ``JSONFileCache`` class in the CLI. - - :type profile_name: str - :param profile_name: The name of the profile. - - :type prompter: callable - :param prompter: A callable that returns input provided - by the user (i.e raw_input, getpass.getpass, etc.). - - :type credential_sourcer: CanonicalNameCredentialSourcer - :param credential_sourcer: A credential provider that takes a - configuration, which is used to provide the source credentials - for the STS call. - """ - #: The cache used to first check for assumed credentials. - #: This is checked before making the AssumeRole API - #: calls and can be useful if you have short lived - #: scripts and you'd like to avoid calling AssumeRole - #: until the credentials are expired. - self.cache = cache - self._load_config = load_config - # client_creator is a callable that creates function. - # It's basically session.create_client - self._client_creator = client_creator - self._profile_name = profile_name - self._prompter = prompter - # The _loaded_config attribute will be populated from the - # load_config() function once the configuration is actually - # loaded. The reason we go through all this instead of just - # requiring that the loaded_config be passed to us is to that - # we can defer configuration loaded until we actually try - # to load credentials (as opposed to when the object is - # instantiated). - self._loaded_config = {} - self._credential_sourcer = credential_sourcer - self._visited_profiles = [self._profile_name] - - def load(self): - self._loaded_config = self._load_config() - profiles = self._loaded_config.get('profiles', {}) - profile = profiles.get(self._profile_name, {}) - if self._has_assume_role_config_vars(profile): - return self._load_creds_via_assume_role(self._profile_name) - - def _has_assume_role_config_vars(self, profile): - return self.ROLE_CONFIG_VAR in profile - - def _load_creds_via_assume_role(self, profile_name): - role_config = self._get_role_config(profile_name) - source_credentials = self._resolve_source_credentials( - role_config, profile_name - ) - - extra_args = {} - role_session_name = role_config.get('role_session_name') - if role_session_name is not None: - extra_args['RoleSessionName'] = role_session_name - - external_id = role_config.get('external_id') - if external_id is not None: - extra_args['ExternalId'] = external_id - - mfa_serial = role_config.get('mfa_serial') - if mfa_serial is not None: - extra_args['SerialNumber'] = mfa_serial - - fetcher = AssumeRoleCredentialFetcher( - client_creator=self._client_creator, - source_credentials=source_credentials, - role_arn=role_config['role_arn'], - extra_args=extra_args, - mfa_prompter=self._prompter, - cache=self.cache, - ) - refresher = fetcher.fetch_credentials - if mfa_serial is not None: - refresher = create_mfa_serial_refresher(refresher) - - # The initial credentials are empty and the expiration time is set - # to now so that we can delay the call to assume role until it is - # strictly needed. - return DeferredRefreshableCredentials( - method=self.METHOD, - refresh_using=refresher, - time_fetcher=_local_now - ) - - def _get_role_config(self, profile_name): - """Retrieves and validates the role configuration for the profile.""" - profiles = self._loaded_config.get('profiles', {}) - - profile = profiles[profile_name] - source_profile = profile.get('source_profile') - role_arn = profile['role_arn'] - credential_source = profile.get('credential_source') - mfa_serial = profile.get('mfa_serial') - external_id = profile.get('external_id') - role_session_name = profile.get('role_session_name') - - role_config = { - 'role_arn': role_arn, - 'external_id': external_id, - 'mfa_serial': mfa_serial, - 'role_session_name': role_session_name, - 'source_profile': source_profile, - 'credential_source': credential_source - } - - # Either the credential source or the source profile must be - # specified, but not both. - if credential_source is not None and source_profile is not None: - raise InvalidConfigError( - error_msg=( - 'The profile "%s" contains both source_profile and ' - 'credential_source.' % profile_name - ) - ) - elif credential_source is None and source_profile is None: - raise PartialCredentialsError( - provider=self.METHOD, - cred_var='source_profile or credential_source' - ) - elif credential_source is not None: - self._validate_credential_source( - profile_name, credential_source) - else: - self._validate_source_profile(profile_name, source_profile) - - return role_config - - def _validate_credential_source(self, parent_profile, credential_source): - if self._credential_sourcer is None: - raise InvalidConfigError(error_msg=( - 'The credential_source "%s" is specified in profile "%s", ' - 'but no source provider was configured.' % ( - credential_source, parent_profile) - )) - if not self._credential_sourcer.is_supported(credential_source): - raise InvalidConfigError(error_msg=( - 'The credential source "%s" referenced in profile "%s" is not ' - 'valid.' % (credential_source, parent_profile) - )) - - def _source_profile_has_credentials(self, profile): - return any([ - self._has_static_credentials(profile), - self._has_assume_role_config_vars(profile), - ]) - - def _validate_source_profile(self, parent_profile_name, - source_profile_name): - profiles = self._loaded_config.get('profiles', {}) - if source_profile_name not in profiles: - raise InvalidConfigError( - error_msg=( - 'The source_profile "%s" referenced in ' - 'the profile "%s" does not exist.' % ( - source_profile_name, parent_profile_name) - ) - ) - - source_profile = profiles[source_profile_name] - - # Ensure the profile has valid credential type - if not self._source_profile_has_credentials(source_profile): - raise InvalidConfigError( - error_msg=( - 'The source_profile "%s" must specify either static ' - 'credentials or an assume role configuration' % ( - source_profile_name) - ) - ) - - # Make sure we aren't going into an infinite loop. If we haven't - # visited the profile yet, we're good. - if source_profile_name not in self._visited_profiles: - return - - # If we have visited the profile and the profile isn't simply - # referencing itself, that's an infinite loop. - if source_profile_name != parent_profile_name: - raise InfiniteLoopConfigError( - source_profile=source_profile_name, - visited_profiles=self._visited_profiles - ) - - # A profile is allowed to reference itself so that it can source - # static credentials and have configuration all in the same - # profile. This will only ever work for the top level assume - # role because the static credentials will otherwise take - # precedence. - if not self._has_static_credentials(source_profile): - raise InfiniteLoopConfigError( - source_profile=source_profile_name, - visited_profiles=self._visited_profiles - ) - - def _has_static_credentials(self, profile): - static_keys = ['aws_secret_access_key', 'aws_access_key_id'] - return any(static_key in profile for static_key in static_keys) - - def _resolve_source_credentials(self, role_config, profile_name): - credential_source = role_config.get('credential_source') - if credential_source is not None: - return self._resolve_credentials_from_source( - credential_source, profile_name - ) - - source_profile = role_config['source_profile'] - self._visited_profiles.append(source_profile) - return self._resolve_credentials_from_profile(source_profile) - - def _resolve_credentials_from_profile(self, profile_name): - profiles = self._loaded_config.get('profiles', {}) - profile = profiles[profile_name] - - if self._has_static_credentials(profile): - return self._resolve_static_credentials_from_profile(profile) - - return self._load_creds_via_assume_role(profile_name) - - def _resolve_static_credentials_from_profile(self, profile): - try: - return Credentials( - access_key=profile['aws_access_key_id'], - secret_key=profile['aws_secret_access_key'], - token=profile.get('aws_session_token') - ) - except KeyError as e: - raise PartialCredentialsError( - provider=self.METHOD, cred_var=str(e)) - - def _resolve_credentials_from_source(self, credential_source, - profile_name): - credentials = self._credential_sourcer.source_credentials( - credential_source) - if credentials is None: - raise CredentialRetrievalError( - provider=credential_source, - error_msg=( - 'No credentials found in credential_source referenced ' - 'in profile %s' % profile_name - ) - ) - return credentials - - -class CanonicalNameCredentialSourcer(object): - def __init__(self, providers): - self._providers = providers - - def is_supported(self, source_name): - """Validates a given source name. - - :type source_name: str - :param source_name: The value of credential_source in the config - file. This is the canonical name of the credential provider. - - :rtype: bool - :returns: True if the credential provider is supported, - False otherwise. - """ - return source_name in [p.CANONICAL_NAME for p in self._providers] - - def source_credentials(self, source_name): - """Loads source credentials based on the provided configuration. - - :type source_name: str - :param source_name: The value of credential_source in the config - file. This is the canonical name of the credential provider. - - :rtype: Credentials - """ - source = self._get_provider(source_name) - if isinstance(source, CredentialResolver): - return source.load_credentials() - return source.load() - - def _get_provider(self, canonical_name): - """Return a credential provider by its canonical name. - - :type canonical_name: str - :param canonical_name: The canonical name of the provider. - - :raises UnknownCredentialError: Raised if no - credential provider by the provided name - is found. - """ - provider = self._get_provider_by_canonical_name(canonical_name) - - # The AssumeRole provider should really be part of the SharedConfig - # provider rather than being its own thing, but it is not. It is - # effectively part of both the SharedConfig provider and the - # SharedCredentials provider now due to the way it behaves. - # Therefore if we want either of those providers we should return - # the AssumeRole provider with it. - if canonical_name.lower() in ['sharedconfig', 'sharedcredentials']: - assume_role_provider = self._get_provider_by_method('assume-role') - if assume_role_provider is not None: - # The SharedConfig or SharedCredentials provider may not be - # present if it was removed for some reason, but the - # AssumeRole provider could still be present. In that case, - # return the assume role provider by itself. - if provider is None: - return assume_role_provider - - # If both are present, return them both as a - # CredentialResolver so that calling code can treat them as - # a single entity. - return CredentialResolver([assume_role_provider, provider]) - - if provider is None: - raise UnknownCredentialError(name=canonical_name) - - return provider - - def _get_provider_by_canonical_name(self, canonical_name): - """Return a credential provider by its canonical name. - - This function is strict, it does not attempt to address - compatibility issues. - """ - for provider in self._providers: - name = provider.CANONICAL_NAME - # Canonical names are case-insensitive - if name and name.lower() == canonical_name.lower(): - return provider - - def _get_provider_by_method(self, method): - """Return a credential provider by its METHOD name.""" - for provider in self._providers: - if provider.METHOD == method: - return provider - - -class ContainerProvider(CredentialProvider): - METHOD = 'container-role' - CANONICAL_NAME = 'EcsContainer' - ENV_VAR = 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI' - ENV_VAR_FULL = 'AWS_CONTAINER_CREDENTIALS_FULL_URI' - ENV_VAR_AUTH_TOKEN = 'AWS_CONTAINER_AUTHORIZATION_TOKEN' - - def __init__(self, environ=None, fetcher=None): - if environ is None: - environ = os.environ - if fetcher is None: - fetcher = ContainerMetadataFetcher() - self._environ = environ - self._fetcher = fetcher - - def load(self): - # This cred provider is only triggered if the self.ENV_VAR is set, - # which only happens if you opt into this feature. - if self.ENV_VAR in self._environ or self.ENV_VAR_FULL in self._environ: - return self._retrieve_or_fail() - - def _retrieve_or_fail(self): - if self._provided_relative_uri(): - full_uri = self._fetcher.full_url(self._environ[self.ENV_VAR]) - else: - full_uri = self._environ[self.ENV_VAR_FULL] - headers = self._build_headers() - fetcher = self._create_fetcher(full_uri, headers) - creds = fetcher() - return RefreshableCredentials( - access_key=creds['access_key'], - secret_key=creds['secret_key'], - token=creds['token'], - method=self.METHOD, - expiry_time=_parse_if_needed(creds['expiry_time']), - refresh_using=fetcher, - ) - - 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_full_uri( - full_uri, headers=headers) - except MetadataRetrievalError as e: - logger.debug("Error retrieving container metadata: %s", e, - exc_info=True) - raise CredentialRetrievalError(provider=self.METHOD, - error_msg=str(e)) - return { - 'access_key': response['AccessKeyId'], - 'secret_key': response['SecretAccessKey'], - 'token': response['Token'], - 'expiry_time': response['Expiration'], - } - - return fetch_creds - - def _provided_relative_uri(self): - return self.ENV_VAR in self._environ - - -class CredentialResolver(object): - def __init__(self, providers): - """ - - :param providers: A list of ``CredentialProvider`` instances. - - """ - self.providers = providers - - def insert_before(self, name, credential_provider): - """ - Inserts a new instance of ``CredentialProvider`` into the chain that - will be tried before an existing one. - - :param name: The short name of the credentials you'd like to insert the - new credentials before. (ex. ``env`` or ``config``). Existing names - & ordering can be discovered via ``self.available_methods``. - :type name: string - - :param cred_instance: An instance of the new ``Credentials`` object - you'd like to add to the chain. - :type cred_instance: A subclass of ``Credentials`` - """ - try: - offset = [p.METHOD for p in self.providers].index(name) - except ValueError: - raise UnknownCredentialError(name=name) - self.providers.insert(offset, credential_provider) - - def insert_after(self, name, credential_provider): - """ - Inserts a new type of ``Credentials`` instance into the chain that will - be tried after an existing one. - - :param name: The short name of the credentials you'd like to insert the - new credentials after. (ex. ``env`` or ``config``). Existing names - & ordering can be discovered via ``self.available_methods``. - :type name: string - - :param cred_instance: An instance of the new ``Credentials`` object - you'd like to add to the chain. - :type cred_instance: A subclass of ``Credentials`` - """ - offset = self._get_provider_offset(name) - self.providers.insert(offset + 1, credential_provider) - - def remove(self, name): - """ - Removes a given ``Credentials`` instance from the chain. - - :param name: The short name of the credentials instance to remove. - :type name: string - """ - available_methods = [p.METHOD for p in self.providers] - if name not in available_methods: - # It's not present. Fail silently. - return - - offset = available_methods.index(name) - self.providers.pop(offset) - - def get_provider(self, name): - """Return a credential provider by name. - - :type name: str - :param name: The name of the provider. - - :raises UnknownCredentialError: Raised if no - credential provider by the provided name - is found. - """ - return self.providers[self._get_provider_offset(name)] - - def _get_provider_offset(self, name): - try: - return [p.METHOD for p in self.providers].index(name) - except ValueError: - raise UnknownCredentialError(name=name) - - def load_credentials(self): - """ - Goes through the credentials chain, returning the first ``Credentials`` - that could be loaded. - """ - # First provider to return a non-None response wins. - for provider in self.providers: - logger.debug("Looking for credentials via: %s", provider.METHOD) - creds = provider.load() - if creds is not None: - return creds - - # If we got here, no credentials could be found. - # This feels like it should be an exception, but historically, ``None`` - # is returned. - # - # +1 - # -js - return None diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/_retry.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/_retry.json deleted file mode 100644 index c477c9bd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/_retry.json +++ /dev/null @@ -1,261 +0,0 @@ -{ - "definitions": { - "throttling": { - "applies_when": { - "response": { - "service_error_code": "Throttling", - "http_status_code": 400 - } - } - }, - "throttling_exception": { - "applies_when": { - "response": { - "service_error_code": "ThrottlingException", - "http_status_code": 400 - } - } - }, - "throttled_exception": { - "applies_when": { - "response": { - "service_error_code": "ThrottledException", - "http_status_code": 400 - } - } - }, - "request_throttled_exception": { - "applies_when": { - "response": { - "service_error_code": "RequestThrottledException", - "http_status_code": 400 - } - } - }, - "too_many_requests": { - "applies_when": { - "response": { - "http_status_code": 429 - } - } - }, - "general_socket_errors": { - "applies_when": { - "socket_errors": ["GENERAL_CONNECTION_ERROR"] - } - }, - "general_server_error": { - "applies_when": { - "response": { - "http_status_code": 500 - } - } - }, - "bad_gateway": { - "applies_when": { - "response": { - "http_status_code": 502 - } - } - }, - "service_unavailable": { - "applies_when": { - "response": { - "http_status_code": 503 - } - } - }, - "gateway_timeout": { - "applies_when": { - "response": { - "http_status_code": 504 - } - } - }, - "limit_exceeded": { - "applies_when": { - "response": { - "http_status_code": 509 - } - } - } - }, - "retry": { - "__default__": { - "max_attempts": 5, - "delay": { - "type": "exponential", - "base": "rand", - "growth_factor": 2 - }, - "policies": { - "general_socket_errors": {"$ref": "general_socket_errors"}, - "general_server_error": {"$ref": "general_server_error"}, - "bad_gateway": {"$ref": "bad_gateway"}, - "service_unavailable": {"$ref": "service_unavailable"}, - "gateway_timeout": {"$ref": "gateway_timeout"}, - "limit_exceeded": {"$ref": "limit_exceeded"}, - "throttling_exception": {"$ref": "throttling_exception"}, - "throttled_exception": {"$ref": "throttled_exception"}, - "request_throttled_exception": {"$ref": "request_throttled_exception"}, - "throttling": {"$ref": "throttling"}, - "too_many_requests": {"$ref": "too_many_requests"} - } - }, - "organizations": { - "__default__": { - "policies": { - "too_many_requests": { - "applies_when": { - "response": { - "service_error_code": "TooManyRequestsException", - "http_status_code": 400 - } - } - } - } - } - }, - "dynamodb": { - "__default__": { - "max_attempts": 10, - "delay": { - "type": "exponential", - "base": 0.05, - "growth_factor": 2 - }, - "policies": { - "throughput_exceeded": { - "applies_when": { - "response": { - "service_error_code": "ProvisionedThroughputExceededException", - "http_status_code": 400 - } - } - }, - "crc32": { - "applies_when": { - "response": { - "crc32body": "x-amz-crc32" - } - } - } - } - } - }, - "ec2": { - "__default__": { - "policies": { - "request_limit_exceeded": { - "applies_when": { - "response": { - "service_error_code": "RequestLimitExceeded", - "http_status_code": 503 - } - } - } - } - } - }, - "cloudsearch": { - "__default__": { - "policies": { - "request_limit_exceeded": { - "applies_when": { - "response": { - "service_error_code": "BandwidthLimitExceeded", - "http_status_code": 509 - } - } - } - } - } - }, - "kinesis": { - "DescribeStream": { - "policies": { - "request_limit_exceeded": { - "applies_when": { - "response": { - "service_error_code": "LimitExceededException", - "http_status_code": 400 - } - } - } - } - } - }, - "sqs": { - "__default__": { - "policies": { - "request_limit_exceeded": { - "applies_when": { - "response": { - "service_error_code": "RequestThrottled", - "http_status_code": 403 - } - } - } - } - } - }, - "s3": { - "__default__": { - "policies": { - "timeouts": { - "applies_when": { - "response": { - "http_status_code": 400, - "service_error_code": "RequestTimeout" - } - } - }, - "contentmd5": { - "applies_when": { - "response": { - "http_status_code": 400, - "service_error_code": "BadDigest" - } - } - } - } - } - }, - "glacier": { - "__default__": { - "policies": { - "timeouts": { - "applies_when": { - "response": { - "http_status_code": 408, - "service_error_code": "RequestTimeoutException" - } - } - } - } - } - }, - "route53": { - "__default__": { - "policies": { - "request_limit_exceeded": { - "applies_when": { - "response": { - "service_error_code": "Throttling", - "http_status_code": 400 - } - } - }, - "still_processing": { - "applies_when": { - "response": { - "service_error_code": "PriorRequestNotComplete", - "http_status_code": 400 - } - } - } - } - } - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/service-2.json deleted file mode 100644 index f24c7ba6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm-pca/2017-08-22/service-2.json +++ /dev/null @@ -1,1261 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-08-22", - "endpointPrefix":"acm-pca", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"ACM-PCA", - "serviceFullName":"AWS Certificate Manager Private Certificate Authority", - "serviceId":"ACM PCA", - "signatureVersion":"v4", - "targetPrefix":"ACMPrivateCA", - "uid":"acm-pca-2017-08-22" - }, - "operations":{ - "CreateCertificateAuthority":{ - "name":"CreateCertificateAuthority", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCertificateAuthorityRequest"}, - "output":{"shape":"CreateCertificateAuthorityResponse"}, - "errors":[ - {"shape":"InvalidArgsException"}, - {"shape":"InvalidPolicyException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

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

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

Creates an audit report that lists every time that the your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate operations use the private key. You can generate a new report every 30 minutes.

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

Deletes a private certificate authority (CA). You must provide the ARN (Amazon Resource Name) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities operation. Before you can delete a CA, you must disable it. Call the UpdateCertificateAuthority operation and set the CertificateAuthorityStatus parameter to DISABLED.

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

If the CA is in one of the aforementioned states and you call DeleteCertificateAuthority, the CA's status changes to DELETED. However, the CA won't be permentantly deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority operation returns the time remaining in the restoration window of a Private CA in the DELETED state. To restore an eligable CA, call the RestoreCertificateAuthority operation.

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

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

  • CREATING - ACM PCA is creating your private certificate authority.

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

  • ACTIVE - Your private CA is active.

  • DISABLED - Your private CA has been disabled.

  • EXPIRED - Your private CA certificate has expired.

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

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

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

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

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

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

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

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

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

Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority operation. Take the CSR to your on-premises X.509 infrastructure and sign it by using your root or a subordinate CA. Then import the signed certificate back into ACM PCA by calling the ImportCertificateAuthorityCertificate operation. The CSR is returned as a base64 PEM-encoded string.

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

Imports your signed private CA certificate into ACM PCA. Before you can call this operation, you must create the private certificate authority by calling the CreateCertificateAuthority operation. You must then generate a certificate signing request (CSR) by calling the GetCertificateAuthorityCsr operation. Take the CSR to your on-premises CA and use the root certificate or a subordinate certificate to sign it. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.

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

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

The chain must be PEM-encoded.

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

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

You cannot use the ACM ListCertificateAuthorities operation to retrieve the ARNs of the certificates that you issue by using ACM PCA.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Disambiguating information for the certificate subject.

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

State in which the subject of the certificate is located.

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

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

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

The certificate serial number.

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

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

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

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

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

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

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

First name.

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

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

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

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

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

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

" - } - }, - "documentation":"

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

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

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

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

Date and time at which your private CA was created.

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

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

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

Type of your private CA.

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

Serial number of your private CA.

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

Status of your private CA.

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

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

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

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

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

Reason the request to create your private CA failed.

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

Your private CA configuration.

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

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

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

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

" - } - }, - "documentation":"

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

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

Type of the public key algorithm and size, in bits, of the key pair that your key pair creates when it issues a certificate.

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

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

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

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

" - } - }, - "documentation":"

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

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

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

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

A previous update to your private CA is still ongoing.

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

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

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

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

Name of the S3 bucket that will contain the audit report.

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

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

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

An alphanumeric string that contains a report identifier.

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

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

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

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

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

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

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

The type of the certificate authority. Currently, this must be SUBORDINATE.

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

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

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

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

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

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

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

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

Number of days until a certificate expires.

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

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

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

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

" - } - }, - "documentation":"

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

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

CRLs contain the following fields:

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

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

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

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

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

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

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

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

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

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

  • CRL Extensions: Optional extensions for the CRL.

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

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

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

  • Signature Value: Signature computed over the CRL.

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

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

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

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

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

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

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

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

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

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

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

The report ID returned by calling the CreateCertificateAuthorityAuditReport operation.

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

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

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

Name of the S3 bucket that contains the report.

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

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

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

The date and time at which the report was created.

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

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

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

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

A CertificateAuthority structure that contains information about your private CA.

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

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

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

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

Base64-encoded certificate authority (CA) certificate.

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

Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The PEM-encoded certificate for your private CA. This must be signed by using your on-premises CA.

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

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

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

One or more of the specified arguments was not valid.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr

If you have a configuration file, you can use the following OpenSSL command. The usr_cert block in the configuration file contains your X509 version 3 extensions.

openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 -days -365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr

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

The name of the algorithm that will be used to sign the certificate to be issued.

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

The type of the validity period.

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

Custom string that can be used to distinguish between calls to the IssueCertificate operation. Idempotency tokens time out after one hour. Therefore, if you call IssueCertificate multiple times with the same idempotency token within 5 minutes, ACM PCA recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, PCA recognizes that you are requesting multiple certificates.

" - } - } - }, - "IssueCertificateResponse":{ - "type":"structure", - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the issued certificate and the certificate serial number. This is of the form:

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

" - } - } - }, - "KeyAlgorithm":{ - "type":"string", - "enum":[ - "RSA_2048", - "RSA_4096", - "EC_prime256v1", - "EC_secp384r1" - ] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

An ACM PCA limit has been exceeded. See the exception message returned to determine the limit that was exceeded.

", - "exception":true - }, - "ListCertificateAuthoritiesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of the NextToken parameter from the response you just received.

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

Use this parameter when paginating results to specify the maximum number of items to return in the response on each page. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" - } - } - }, - "ListCertificateAuthoritiesResponse":{ - "type":"structure", - "members":{ - "CertificateAuthorities":{ - "shape":"CertificateAuthorities", - "documentation":"

Summary information about each certificate authority you have created.

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

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" - } - } - }, - "ListTagsRequest":{ - "type":"structure", - "required":["CertificateAuthorityArn"], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

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

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

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

Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

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

Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" - } - } - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

The tags associated with your private CA.

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

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" - } - } - }, - "MalformedCSRException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The certificate signing request is invalid.

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

One or more fields in the certificate are invalid.

", - "exception":true - }, - "MaxResults":{ - "type":"integer", - "max":1000, - "min":1 - }, - "NextToken":{ - "type":"string", - "max":500, - "min":1 - }, - "PermanentDeletionTimeInDays":{ - "type":"integer", - "max":30, - "min":7 - }, - "PositiveLong":{ - "type":"long", - "min":1 - }, - "RequestAlreadyProcessedException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

Your request has already been completed.

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

The request has failed for an unspecified reason.

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

Your request is already in progress.

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

A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.

", - "exception":true - }, - "RestoreCertificateAuthorityRequest":{ - "type":"structure", - "required":["CertificateAuthorityArn"], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

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

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

" - } - } - }, - "RevocationConfiguration":{ - "type":"structure", - "members":{ - "CrlConfiguration":{ - "shape":"CrlConfiguration", - "documentation":"

Configuration of the certificate revocation list (CRL), if any, maintained by your private CA.

" - } - }, - "documentation":"

Certificate revocation information used by the CreateCertificateAuthority and UpdateCertificateAuthority operations. Your private certificate authority (CA) can create and maintain a certificate revocation list (CRL). A CRL contains information about certificates revoked by your CA. For more information, see RevokeCertificate.

" - }, - "RevocationReason":{ - "type":"string", - "enum":[ - "UNSPECIFIED", - "KEY_COMPROMISE", - "CERTIFICATE_AUTHORITY_COMPROMISE", - "AFFILIATION_CHANGED", - "SUPERSEDED", - "CESSATION_OF_OPERATION", - "PRIVILEGE_WITHDRAWN", - "A_A_COMPROMISE" - ] - }, - "RevokeCertificateRequest":{ - "type":"structure", - "required":[ - "CertificateAuthorityArn", - "CertificateSerial", - "RevocationReason" - ], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form:

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

" - }, - "CertificateSerial":{ - "shape":"String128", - "documentation":"

Serial number of the certificate to be revoked. This must be in hexadecimal format. You can retrieve the serial number by calling GetCertificate with the Amazon Resource Name (ARN) of the certificate you want and the ARN of your private CA. The GetCertificate operation retrieves the certificate in the PEM format. You can use the following OpenSSL command to list the certificate in text format and copy the hexadecimal serial number.

openssl x509 -in file_path -text -noout

You can also copy the serial number from the console or use the DescribeCertificate operation in the AWS Certificate Manager API Reference.

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

Specifies why you revoked the certificate.

" - } - } - }, - "SigningAlgorithm":{ - "type":"string", - "enum":[ - "SHA256WITHECDSA", - "SHA384WITHECDSA", - "SHA512WITHECDSA", - "SHA256WITHRSA", - "SHA384WITHRSA", - "SHA512WITHRSA" - ] - }, - "String":{"type":"string"}, - "String128":{ - "type":"string", - "max":128, - "min":0 - }, - "String16":{ - "type":"string", - "max":16, - "min":0 - }, - "String253":{ - "type":"string", - "max":253, - "min":0 - }, - "String3":{ - "type":"string", - "max":3, - "min":0 - }, - "String3To255":{ - "type":"string", - "max":255, - "min":3 - }, - "String40":{ - "type":"string", - "max":40, - "min":0 - }, - "String5":{ - "type":"string", - "max":5, - "min":0 - }, - "String64":{ - "type":"string", - "max":64, - "min":0 - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

Key (name) of the tag.

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

Value of the tag.

" - } - }, - "documentation":"

Tags are labels that you can use to identify and organize your private CAs. Each tag consists of a key and an optional value. You can associate up to 50 tags with a private CA. To add one or more tags to a private CA, call the TagCertificateAuthority operation. To remove a tag, call the UntagCertificateAuthority operation.

" - }, - "TagCertificateAuthorityRequest":{ - "type":"structure", - "required":[ - "CertificateAuthorityArn", - "Tags" - ], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

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

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

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

List of tags to be associated with the CA.

" - } - } - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

You can associate up to 50 tags with a private CA. Exception information is contained in the exception message field.

", - "exception":true - }, - "UntagCertificateAuthorityRequest":{ - "type":"structure", - "required":[ - "CertificateAuthorityArn", - "Tags" - ], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

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

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

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

List of tags to be removed from the CA.

" - } - } - }, - "UpdateCertificateAuthorityRequest":{ - "type":"structure", - "required":["CertificateAuthorityArn"], - "members":{ - "CertificateAuthorityArn":{ - "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form:

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

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

Revocation information for your private CA.

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

Status of your private CA.

" - } - } - }, - "Validity":{ - "type":"structure", - "required":[ - "Value", - "Type" - ], - "members":{ - "Value":{ - "shape":"PositiveLong", - "documentation":"

Time period.

", - "box":true - }, - "Type":{ - "shape":"ValidityPeriodType", - "documentation":"

Specifies whether the Value parameter represents days, months, or years.

" - } - }, - "documentation":"

Length of time for which the certificate issued by your private certificate authority (CA), or by the private CA itself, is valid in days, months, or years. You can issue a certificate by calling the IssueCertificate operation.

" - }, - "ValidityPeriodType":{ - "type":"string", - "enum":[ - "END_DATE", - "ABSOLUTE", - "DAYS", - "MONTHS", - "YEARS" - ] - } - }, - "documentation":"

You can use the ACM PCA API to create a private certificate authority (CA). You must first call the CreateCertificateAuthority operation. If successful, the operation returns an Amazon Resource Name (ARN) for your private CA. Use this ARN as input to the GetCertificateAuthorityCsr operation to retrieve the certificate signing request (CSR) for your private CA certificate. Sign the CSR using the root or an intermediate CA in your on-premises PKI hierarchy, and call the ImportCertificateAuthorityCertificate to import your signed private CA certificate into ACM PCA.

Use your private CA to issue and revoke certificates. These are private certificates that identify and secure client computers, servers, applications, services, devices, and users over SSLS/TLS connections within your organization. Call the IssueCertificate operation to issue a certificate. Call the RevokeCertificate operation to revoke a certificate.

Certificates issued by your private CA can be trusted only within your organization, not publicly.

Your private CA can optionally create a certificate revocation list (CRL) to track the certificates you revoke. To create a CRL, you must specify a RevocationConfiguration object when you call the CreateCertificateAuthority operation. ACM PCA writes the CRL to an S3 bucket that you specify. You must specify a bucket policy that grants ACM PCA write permission.

You can also call the CreateCertificateAuthorityAuditReport to create an optional audit report that lists every time the CA private key is used. The private key is used for signing when the IssueCertificate or RevokeCertificate operation is called.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/paginators-1.json deleted file mode 100644 index 2e2e4f9a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "ListCertificates": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxItems", - "result_key": "CertificateSummaryList" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/service-2.json deleted file mode 100644 index 5845ed9e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/service-2.json +++ /dev/null @@ -1,1114 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-12-08", - "endpointPrefix":"acm", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"ACM", - "serviceFullName":"AWS Certificate Manager", - "serviceId":"ACM", - "signatureVersion":"v4", - "targetPrefix":"CertificateManager", - "uid":"acm-2015-12-08" - }, - "operations":{ - "AddTagsToCertificate":{ - "name":"AddTagsToCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToCertificateRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"InvalidTagException"}, - {"shape":"TooManyTagsException"} - ], - "documentation":"

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

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

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

" - }, - "DeleteCertificate":{ - "name":"DeleteCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCertificateRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

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

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

" - }, - "DescribeCertificate":{ - "name":"DescribeCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCertificateRequest"}, - "output":{"shape":"DescribeCertificateResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Returns detailed metadata about the specified ACM certificate.

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

Exports a private certificate issued by a private certificate authority (CA) for use anywhere. You can export the certificate, the certificate chain, and the encrypted private key associated with the public key embedded in the certificate. You must store the private key securely. The private key is a 2048 bit RSA key. You must provide a passphrase for the private key when exporting it. You can use the following OpenSSL command to decrypt it later. Provide the passphrase when prompted.

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

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

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

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

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

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

Note the following guidelines when importing third party certificates:

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

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

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

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

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

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

  • The Issuer field must not be empty.

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

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

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

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

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

" - }, - "ListCertificates":{ - "name":"ListCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCertificatesRequest"}, - "output":{"shape":"ListCertificatesResponse"}, - "documentation":"

Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate.

" - }, - "ListTagsForCertificate":{ - "name":"ListTagsForCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForCertificateRequest"}, - "output":{"shape":"ListTagsForCertificateResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

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

" - }, - "RemoveTagsFromCertificate":{ - "name":"RemoveTagsFromCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromCertificateRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"InvalidTagException"} - ], - "documentation":"

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

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

" - }, - "RequestCertificate":{ - "name":"RequestCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestCertificateRequest"}, - "output":{"shape":"RequestCertificateResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidDomainValidationOptionsException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

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

" - }, - "ResendValidationEmail":{ - "name":"ResendValidationEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResendValidationEmailRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidStateException"}, - {"shape":"InvalidArnException"}, - {"shape":"InvalidDomainValidationOptionsException"} - ], - "documentation":"

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

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

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

" - } - }, - "shapes":{ - "AddTagsToCertificateRequest":{ - "type":"structure", - "required":[ - "CertificateArn", - "Tags" - ], - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

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

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

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

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

The key-value pair that defines the tag. The tag value is optional.

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

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

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

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

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

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

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

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

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

The serial number of the certificate.

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

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

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

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

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

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

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

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

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

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

" - }, - "Status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the certificate.

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

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

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

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

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

The time before which the certificate is not valid.

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

The time after which the certificate is not valid.

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

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

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

The algorithm that was used to sign the certificate.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifies whether the certificate is eligible for renewal.

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

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

" - } - }, - "documentation":"

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

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

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

" - } - }, - "documentation":"

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

" - }, - "CertificateStatus":{ - "type":"string", - "enum":[ - "PENDING_VALIDATION", - "ISSUED", - "INACTIVE", - "EXPIRED", - "VALIDATION_TIMED_OUT", - "REVOKED", - "FAILED" - ] - }, - "CertificateStatuses":{ - "type":"list", - "member":{"shape":"CertificateStatus"} - }, - "CertificateSummary":{ - "type":"structure", - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

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

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

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

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

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

" - } - }, - "documentation":"

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

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

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

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

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

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

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

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

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

" - } - } - }, - "DescribeCertificateResponse":{ - "type":"structure", - "members":{ - "Certificate":{ - "shape":"CertificateDetail", - "documentation":"

Metadata about an ACM certificate.

" - } - } - }, - "DomainList":{ - "type":"list", - "member":{"shape":"DomainNameString"}, - "max":100, - "min":1 - }, - "DomainNameString":{ - "type":"string", - "max":253, - "min":1, - "pattern":"^(\\*\\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" - }, - "DomainStatus":{ - "type":"string", - "enum":[ - "PENDING_VALIDATION", - "SUCCESS", - "FAILED" - ] - }, - "DomainValidation":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainNameString", - "documentation":"

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

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

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

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

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

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

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

  • PENDING_VALIDATION

  • SUCCESS

  • FAILED

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

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

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

Specifies the domain validation method.

" - } - }, - "documentation":"

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

" - }, - "DomainValidationList":{ - "type":"list", - "member":{"shape":"DomainValidation"}, - "max":1000, - "min":1 - }, - "DomainValidationOption":{ - "type":"structure", - "required":[ - "DomainName", - "ValidationDomain" - ], - "members":{ - "DomainName":{ - "shape":"DomainNameString", - "documentation":"

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

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

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

  • admin@example.com

  • administrator@example.com

  • hostmaster@example.com

  • postmaster@example.com

  • webmaster@example.com

" - } - }, - "documentation":"

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

" - }, - "DomainValidationOptionList":{ - "type":"list", - "member":{"shape":"DomainValidationOption"}, - "max":100, - "min":1 - }, - "ExportCertificateRequest":{ - "type":"structure", - "required":[ - "CertificateArn", - "Passphrase" - ], - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

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

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

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

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

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

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

The base64 PEM-encoded certificate.

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

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

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

The PEM-encoded private key associated with the public key in the certificate.

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

The name of an Extended Key Usage value.

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

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

  • 1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)

  • 1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)

  • 1.3.6.1.5.5.7.3.3 (CODE_SIGNING)

  • 1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)

  • 1.3.6.1.5.5.7.3.8 (TIME_STAMPING)

  • 1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)

  • 1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)

  • 1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)

  • 1.3.6.1.5.5.7.3.7 (IPSEC_USER)

" - } - }, - "documentation":"

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

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

Specify one or more ExtendedKeyUsage extension values.

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

Specify one or more KeyUsage extension values.

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

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

" - } - }, - "documentation":"

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

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

String that contains a certificate ARN in the following format:

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

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

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

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

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

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

" - } - } - }, - "IdempotencyToken":{ - "type":"string", - "max":32, - "min":1, - "pattern":"\\w+" - }, - "ImportCertificateRequest":{ - "type":"structure", - "required":[ - "Certificate", - "PrivateKey" - ], - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

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

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

The certificate to import.

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

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

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

The PEM encoded certificate chain.

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

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

" - } - } - }, - "InUseList":{ - "type":"list", - "member":{"shape":"String"} - }, - "InvalidArnException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

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

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

One or more values in the DomainValidationOption structure is incorrect.

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

Processing has reached an invalid state.

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

One or both of the values that make up the key-value pair is not valid. For example, you cannot specify a tag value that begins with aws:.

", - "exception":true - }, - "KeyAlgorithm":{ - "type":"string", - "enum":[ - "RSA_2048", - "RSA_1024", - "RSA_4096", - "EC_prime256v1", - "EC_secp384r1", - "EC_secp521r1" - ] - }, - "KeyAlgorithmList":{ - "type":"list", - "member":{"shape":"KeyAlgorithm"} - }, - "KeyUsage":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"KeyUsageName", - "documentation":"

A string value that contains a Key Usage extension name.

" - } - }, - "documentation":"

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

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

An ACM limit has been exceeded.

", - "exception":true - }, - "ListCertificatesRequest":{ - "type":"structure", - "members":{ - "CertificateStatuses":{ - "shape":"CertificateStatuses", - "documentation":"

Filter the certificate list by status value.

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

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

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

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

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

Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" - } - } - }, - "ListCertificatesResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

When the list is truncated, this value is present and contains the value to use for the NextToken parameter in a subsequent pagination request.

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

A list of ACM certificates.

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

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

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

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

" - } - } - }, - "ListTagsForCertificateResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

The key-value pairs that define the applied tags.

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

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

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

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

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

The key-value pair that defines the tag to remove.

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

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

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

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

" - } - }, - "documentation":"

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

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

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

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

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

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

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

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

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

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

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

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

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

Customer chosen string that can be used to distinguish between calls to RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.

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

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

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

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

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

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

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

" - } - } - }, - "RequestCertificateResponse":{ - "type":"structure", - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

String that contains the ARN of the issued certificate. This must be of the form:

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

" - } - } - }, - "RequestInProgressException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The certificate request is in process and the certificate in your account has not yet been issued.

", - "exception":true - }, - "ResendValidationEmailRequest":{ - "type":"structure", - "required":[ - "CertificateArn", - "Domain", - "ValidationDomain" - ], - "members":{ - "CertificateArn":{ - "shape":"Arn", - "documentation":"

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

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

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

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

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

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

  • admin@subdomain.example.com

  • administrator@subdomain.example.com

  • hostmaster@subdomain.example.com

  • postmaster@subdomain.example.com

  • webmaster@subdomain.example.com

" - } - } - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The certificate is in use by another AWS service in the caller's account. Remove the association and try again.

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

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

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

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

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

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

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

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

" - } - }, - "documentation":"

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

" - }, - "RevocationReason":{ - "type":"string", - "enum":[ - "UNSPECIFIED", - "KEY_COMPROMISE", - "CA_COMPROMISE", - "AFFILIATION_CHANGED", - "SUPERCEDED", - "CESSATION_OF_OPERATION", - "CERTIFICATE_HOLD", - "REMOVE_FROM_CRL", - "PRIVILEGE_WITHDRAWN", - "A_A_COMPROMISE" - ] - }, - "String":{"type":"string"}, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

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

The value of the tag.

" - } - }, - "documentation":"

A key-value pair that identifies or specifies metadata about an ACM resource.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

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

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

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

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

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

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

" - } - } - }, - "ValidationEmailList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ValidationMethod":{ - "type":"string", - "enum":[ - "EMAIL", - "DNS" - ] - } - }, - "documentation":"AWS Certificate Manager

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

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

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/waiters-2.json deleted file mode 100644 index 1fba453d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/acm/2015-12-08/waiters-2.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "version": 2, - "waiters": { - "CertificateValidated": { - "delay": 60, - "maxAttempts": 40, - "operation": "DescribeCertificate", - "acceptors": [ - { - "matcher": "pathAll", - "expected": "SUCCESS", - "argument": "Certificate.DomainValidationOptions[].ValidationStatus", - "state": "success" - }, - { - "matcher": "pathAny", - "expected": "PENDING_VALIDATION", - "argument": "Certificate.DomainValidationOptions[].ValidationStatus", - "state": "retry" - }, - { - "matcher": "path", - "expected": "FAILED", - "argument": "Certificate.Status", - "state": "failure" - }, - { - "matcher": "error", - "expected": "ResourceNotFoundException", - "state": "failure" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json deleted file mode 100644 index a91b700d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "pagination": { - "ListSkills": { - "result_key": "SkillSummaries", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchUsers": { - "result_key": "Users", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTags": { - "result_key": "Tags", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchProfiles": { - "result_key": "Profiles", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchSkillGroups": { - "result_key": "SkillGroups", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchDevices": { - "result_key": "Devices", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchRooms": { - "result_key": "Rooms", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/service-2.json deleted file mode 100644 index 1e5ccc9c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/alexaforbusiness/2017-11-09/service-2.json +++ /dev/null @@ -1,2843 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-11-09", - "endpointPrefix":"a4b", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Alexa For Business", - "serviceId":"Alexa For Business", - "signatureVersion":"v4", - "targetPrefix":"AlexaForBusiness", - "uid":"alexaforbusiness-2017-11-09" - }, - "operations":{ - "AssociateContactWithAddressBook":{ - "name":"AssociateContactWithAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateContactWithAddressBookRequest"}, - "output":{"shape":"AssociateContactWithAddressBookResponse"}, - "errors":[ - {"shape":"LimitExceededException"} - ], - "documentation":"

Associates a contact with a given address book.

" - }, - "AssociateDeviceWithRoom":{ - "name":"AssociateDeviceWithRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDeviceWithRoomRequest"}, - "output":{"shape":"AssociateDeviceWithRoomResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"DeviceNotRegisteredException"} - ], - "documentation":"

Associates a device with a given room. This applies all the settings from the room profile to the device, and all the skills in any skill groups added to that room. This operation requires the device to be online, or else a manual sync is required.

" - }, - "AssociateSkillGroupWithRoom":{ - "name":"AssociateSkillGroupWithRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateSkillGroupWithRoomRequest"}, - "output":{"shape":"AssociateSkillGroupWithRoomResponse"}, - "documentation":"

Associates a skill group with a given room. This enables all skills in the associated skill group on all devices in the room.

" - }, - "CreateAddressBook":{ - "name":"CreateAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAddressBookRequest"}, - "output":{"shape":"CreateAddressBookResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an address book with the specified details.

" - }, - "CreateContact":{ - "name":"CreateContact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateContactRequest"}, - "output":{"shape":"CreateContactResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a contact with the specified details.

" - }, - "CreateProfile":{ - "name":"CreateProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProfileRequest"}, - "output":{"shape":"CreateProfileResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"AlreadyExistsException"} - ], - "documentation":"

Creates a new room profile with the specified details.

" - }, - "CreateRoom":{ - "name":"CreateRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRoomRequest"}, - "output":{"shape":"CreateRoomResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a room with the specified details.

" - }, - "CreateSkillGroup":{ - "name":"CreateSkillGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSkillGroupRequest"}, - "output":{"shape":"CreateSkillGroupResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a skill group with a specified name and description.

" - }, - "CreateUser":{ - "name":"CreateUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserRequest"}, - "output":{"shape":"CreateUserResponse"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a user.

" - }, - "DeleteAddressBook":{ - "name":"DeleteAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAddressBookRequest"}, - "output":{"shape":"DeleteAddressBookResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes an address book by the address book ARN.

" - }, - "DeleteContact":{ - "name":"DeleteContact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteContactRequest"}, - "output":{"shape":"DeleteContactResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a contact by the contact ARN.

" - }, - "DeleteProfile":{ - "name":"DeleteProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProfileRequest"}, - "output":{"shape":"DeleteProfileResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a room profile by the profile ARN.

" - }, - "DeleteRoom":{ - "name":"DeleteRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRoomRequest"}, - "output":{"shape":"DeleteRoomResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a room by the room ARN.

" - }, - "DeleteRoomSkillParameter":{ - "name":"DeleteRoomSkillParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRoomSkillParameterRequest"}, - "output":{"shape":"DeleteRoomSkillParameterResponse"}, - "documentation":"

Deletes room skill parameter details by room, skill, and parameter key ID.

" - }, - "DeleteSkillGroup":{ - "name":"DeleteSkillGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSkillGroupRequest"}, - "output":{"shape":"DeleteSkillGroupResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a skill group by skill group ARN.

" - }, - "DeleteUser":{ - "name":"DeleteUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserRequest"}, - "output":{"shape":"DeleteUserResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a specified user by user ARN and enrollment ARN.

" - }, - "DisassociateContactFromAddressBook":{ - "name":"DisassociateContactFromAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateContactFromAddressBookRequest"}, - "output":{"shape":"DisassociateContactFromAddressBookResponse"}, - "documentation":"

Disassociates a contact from a given address book.

" - }, - "DisassociateDeviceFromRoom":{ - "name":"DisassociateDeviceFromRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateDeviceFromRoomRequest"}, - "output":{"shape":"DisassociateDeviceFromRoomResponse"}, - "errors":[ - {"shape":"DeviceNotRegisteredException"} - ], - "documentation":"

Disassociates a device from its current room. The device continues to be connected to the Wi-Fi network and is still registered to the account. The device settings and skills are removed from the room.

" - }, - "DisassociateSkillGroupFromRoom":{ - "name":"DisassociateSkillGroupFromRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateSkillGroupFromRoomRequest"}, - "output":{"shape":"DisassociateSkillGroupFromRoomResponse"}, - "documentation":"

Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room.

" - }, - "GetAddressBook":{ - "name":"GetAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAddressBookRequest"}, - "output":{"shape":"GetAddressBookResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets address the book details by the address book ARN.

" - }, - "GetContact":{ - "name":"GetContact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContactRequest"}, - "output":{"shape":"GetContactResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets the contact details by the contact ARN.

" - }, - "GetDevice":{ - "name":"GetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeviceRequest"}, - "output":{"shape":"GetDeviceResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets the details of a device by device ARN.

" - }, - "GetProfile":{ - "name":"GetProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetProfileRequest"}, - "output":{"shape":"GetProfileResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets the details of a room profile by profile ARN.

" - }, - "GetRoom":{ - "name":"GetRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRoomRequest"}, - "output":{"shape":"GetRoomResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets room details by room ARN.

" - }, - "GetRoomSkillParameter":{ - "name":"GetRoomSkillParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRoomSkillParameterRequest"}, - "output":{"shape":"GetRoomSkillParameterResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets room skill parameter details by room, skill, and parameter key ARN.

" - }, - "GetSkillGroup":{ - "name":"GetSkillGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSkillGroupRequest"}, - "output":{"shape":"GetSkillGroupResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Gets skill group details by skill group ARN.

" - }, - "ListDeviceEvents":{ - "name":"ListDeviceEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeviceEventsRequest"}, - "output":{"shape":"ListDeviceEventsResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Lists the device event history, including device connection status, for up to 30 days.

" - }, - "ListSkills":{ - "name":"ListSkills", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSkillsRequest"}, - "output":{"shape":"ListSkillsResponse"}, - "documentation":"

Lists all enabled skills in a specific skill group.

" - }, - "ListTags":{ - "name":"ListTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsRequest"}, - "output":{"shape":"ListTagsResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Lists all tags for the specified resource.

" - }, - "PutRoomSkillParameter":{ - "name":"PutRoomSkillParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRoomSkillParameterRequest"}, - "output":{"shape":"PutRoomSkillParameterResponse"}, - "documentation":"

Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill parameter.

" - }, - "ResolveRoom":{ - "name":"ResolveRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResolveRoomRequest"}, - "output":{"shape":"ResolveRoomResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Determines the details for the room from which a skill request was invoked. This operation is used by skill developers.

" - }, - "RevokeInvitation":{ - "name":"RevokeInvitation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeInvitationRequest"}, - "output":{"shape":"RevokeInvitationResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Revokes an invitation and invalidates the enrollment URL.

" - }, - "SearchAddressBooks":{ - "name":"SearchAddressBooks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchAddressBooksRequest"}, - "output":{"shape":"SearchAddressBooksResponse"}, - "documentation":"

Searches address books and lists the ones that meet a set of filter and sort criteria.

" - }, - "SearchContacts":{ - "name":"SearchContacts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchContactsRequest"}, - "output":{"shape":"SearchContactsResponse"}, - "documentation":"

Searches contacts and lists the ones that meet a set of filter and sort criteria.

" - }, - "SearchDevices":{ - "name":"SearchDevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchDevicesRequest"}, - "output":{"shape":"SearchDevicesResponse"}, - "documentation":"

Searches devices and lists the ones that meet a set of filter criteria.

" - }, - "SearchProfiles":{ - "name":"SearchProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchProfilesRequest"}, - "output":{"shape":"SearchProfilesResponse"}, - "documentation":"

Searches room profiles and lists the ones that meet a set of filter criteria.

" - }, - "SearchRooms":{ - "name":"SearchRooms", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchRoomsRequest"}, - "output":{"shape":"SearchRoomsResponse"}, - "documentation":"

Searches rooms and lists the ones that meet a set of filter and sort criteria.

" - }, - "SearchSkillGroups":{ - "name":"SearchSkillGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchSkillGroupsRequest"}, - "output":{"shape":"SearchSkillGroupsResponse"}, - "documentation":"

Searches skill groups and lists the ones that meet a set of filter and sort criteria.

" - }, - "SearchUsers":{ - "name":"SearchUsers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchUsersRequest"}, - "output":{"shape":"SearchUsersResponse"}, - "documentation":"

Searches users and lists the ones that meet a set of filter and sort criteria.

" - }, - "SendInvitation":{ - "name":"SendInvitation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendInvitationRequest"}, - "output":{"shape":"SendInvitationResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidUserStatusException"} - ], - "documentation":"

Sends an enrollment invitation email with a URL to a user. The URL is valid for 72 hours or until you call this operation again, whichever comes first.

" - }, - "StartDeviceSync":{ - "name":"StartDeviceSync", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDeviceSyncRequest"}, - "output":{"shape":"StartDeviceSyncResponse"}, - "errors":[ - {"shape":"DeviceNotRegisteredException"} - ], - "documentation":"

Resets a device and its account to the known default settings, by clearing all information and settings set by previous users.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Adds metadata tags to a specified resource.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Removes metadata tags from a specified resource.

" - }, - "UpdateAddressBook":{ - "name":"UpdateAddressBook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAddressBookRequest"}, - "output":{"shape":"UpdateAddressBookResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"NameInUseException"} - ], - "documentation":"

Updates address book details by the address book ARN.

" - }, - "UpdateContact":{ - "name":"UpdateContact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateContactRequest"}, - "output":{"shape":"UpdateContactResponse"}, - "errors":[ - {"shape":"NotFoundException"} - ], - "documentation":"

Updates the contact details by the contact ARN.

" - }, - "UpdateDevice":{ - "name":"UpdateDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDeviceRequest"}, - "output":{"shape":"UpdateDeviceResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DeviceNotRegisteredException"} - ], - "documentation":"

Updates the device name by device ARN.

" - }, - "UpdateProfile":{ - "name":"UpdateProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProfileRequest"}, - "output":{"shape":"UpdateProfileResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"NameInUseException"} - ], - "documentation":"

Updates an existing room profile by room profile ARN.

" - }, - "UpdateRoom":{ - "name":"UpdateRoom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRoomRequest"}, - "output":{"shape":"UpdateRoomResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"NameInUseException"} - ], - "documentation":"

Updates room details by room ARN.

" - }, - "UpdateSkillGroup":{ - "name":"UpdateSkillGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSkillGroupRequest"}, - "output":{"shape":"UpdateSkillGroupResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"NameInUseException"} - ], - "documentation":"

Updates skill group details by skill group ARN.

" - } - }, - "shapes":{ - "Address":{ - "type":"string", - "max":500, - "min":1 - }, - "AddressBook":{ - "type":"structure", - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address book.

" - }, - "Name":{ - "shape":"AddressBookName", - "documentation":"

The name of the address book.

" - }, - "Description":{ - "shape":"AddressBookDescription", - "documentation":"

The description of the address book.

" - } - }, - "documentation":"

An address book with attributes.

" - }, - "AddressBookData":{ - "type":"structure", - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address book.

" - }, - "Name":{ - "shape":"AddressBookName", - "documentation":"

The name of the address book.

" - }, - "Description":{ - "shape":"AddressBookDescription", - "documentation":"

The description of the address book.

" - } - }, - "documentation":"

Information related to an address book.

" - }, - "AddressBookDataList":{ - "type":"list", - "member":{"shape":"AddressBookData"} - }, - "AddressBookDescription":{ - "type":"string", - "max":200, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "AddressBookName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The resource being created already exists. HTTP Status Code: 400

", - "exception":true - }, - "Arn":{ - "type":"string", - "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" - }, - "AssociateContactWithAddressBookRequest":{ - "type":"structure", - "required":[ - "ContactArn", - "AddressBookArn" - ], - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact to associate with an address book.

" - }, - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address book with which to associate the contact.

" - } - } - }, - "AssociateContactWithAddressBookResponse":{ - "type":"structure", - "members":{ - } - }, - "AssociateDeviceWithRoomRequest":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the device to associate to a room. Required.

" - }, - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room with which to associate the device. Required.

" - } - } - }, - "AssociateDeviceWithRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "AssociateSkillGroupWithRoomRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group to associate with a room. Required.

" - }, - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room with which to associate the skill group. Required.

" - } - } - }, - "AssociateSkillGroupWithRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "Boolean":{"type":"boolean"}, - "ClientRequestToken":{ - "type":"string", - "documentation":"User specified token that is used to support idempotency during Create Resource", - "max":150, - "min":10, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" - }, - "ConnectionStatus":{ - "type":"string", - "enum":[ - "ONLINE", - "OFFLINE" - ] - }, - "Contact":{ - "type":"structure", - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact.

" - }, - "DisplayName":{ - "shape":"ContactName", - "documentation":"

The name of the contact to display on the console.

" - }, - "FirstName":{ - "shape":"ContactName", - "documentation":"

The first name of the contact, used to call the contact on the device.

" - }, - "LastName":{ - "shape":"ContactName", - "documentation":"

The last name of the contact, used to call the contact on the device.

" - }, - "PhoneNumber":{ - "shape":"E164PhoneNumber", - "documentation":"

The phone number of the contact.

" - } - }, - "documentation":"

A contact with attributes.

" - }, - "ContactData":{ - "type":"structure", - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact.

" - }, - "DisplayName":{ - "shape":"ContactName", - "documentation":"

The name of the contact to display on the console.

" - }, - "FirstName":{ - "shape":"ContactName", - "documentation":"

The first name of the contact, used to call the contact on the device.

" - }, - "LastName":{ - "shape":"ContactName", - "documentation":"

The last name of the contact, used to call the contact on the device.

" - }, - "PhoneNumber":{ - "shape":"E164PhoneNumber", - "documentation":"

The phone number of the contact.

" - } - }, - "documentation":"

Information related to a contact.

" - }, - "ContactDataList":{ - "type":"list", - "member":{"shape":"ContactData"} - }, - "ContactName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "CreateAddressBookRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"AddressBookName", - "documentation":"

The name of the address book.

" - }, - "Description":{ - "shape":"AddressBookDescription", - "documentation":"

The description of the address book.

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

A unique, user-specified identifier for the request that ensures idempotency.

", - "idempotencyToken":true - } - } - }, - "CreateAddressBookResponse":{ - "type":"structure", - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created address book.

" - } - } - }, - "CreateContactRequest":{ - "type":"structure", - "required":[ - "FirstName", - "PhoneNumber" - ], - "members":{ - "DisplayName":{ - "shape":"ContactName", - "documentation":"

The name of the contact to display on the console.

" - }, - "FirstName":{ - "shape":"ContactName", - "documentation":"

The first name of the contact that is used to call the contact on the device.

" - }, - "LastName":{ - "shape":"ContactName", - "documentation":"

The last name of the contact that is used to call the contact on the device.

" - }, - "PhoneNumber":{ - "shape":"E164PhoneNumber", - "documentation":"

The phone number of the contact in E.164 format.

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

A unique, user-specified identifier for this request that ensures idempotency.

", - "idempotencyToken":true - } - } - }, - "CreateContactResponse":{ - "type":"structure", - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created address book.

" - } - } - }, - "CreateProfileRequest":{ - "type":"structure", - "required":[ - "ProfileName", - "Timezone", - "Address", - "DistanceUnit", - "TemperatureUnit", - "WakeWord" - ], - "members":{ - "ProfileName":{ - "shape":"ProfileName", - "documentation":"

The name of a room profile.

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

The time zone used by a room profile.

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

The valid address for the room.

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

The distance unit to be used by devices in the profile.

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

The temperature unit to be used by devices in the profile.

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

A wake word for Alexa, Echo, Amazon, or a computer.

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

The user-specified token that is used during the creation of a profile.

", - "idempotencyToken":true - }, - "SetupModeDisabled":{ - "shape":"Boolean", - "documentation":"

Whether room profile setup is enabled.

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

The maximum volume limit for a room profile.

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

Whether PSTN calling is enabled.

" - } - } - }, - "CreateProfileResponse":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created room profile in the response.

" - } - } - }, - "CreateRoomRequest":{ - "type":"structure", - "required":["RoomName"], - "members":{ - "RoomName":{ - "shape":"RoomName", - "documentation":"

The name for the room.

" - }, - "Description":{ - "shape":"RoomDescription", - "documentation":"

The description for the room.

" - }, - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The profile ARN for the room.

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

The calendar ARN for the room.

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

A unique, user-specified identifier for this request that ensures idempotency.

", - "idempotencyToken":true - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the room.

" - } - } - }, - "CreateRoomResponse":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created room in the response.

" - } - } - }, - "CreateSkillGroupRequest":{ - "type":"structure", - "required":["SkillGroupName"], - "members":{ - "SkillGroupName":{ - "shape":"SkillGroupName", - "documentation":"

The name for the skill group.

" - }, - "Description":{ - "shape":"SkillGroupDescription", - "documentation":"

The description for the skill group.

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

A unique, user-specified identifier for this request that ensures idempotency.

", - "idempotencyToken":true - } - } - }, - "CreateSkillGroupResponse":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created skill group in the response.

" - } - } - }, - "CreateUserRequest":{ - "type":"structure", - "required":["UserId"], - "members":{ - "UserId":{ - "shape":"user_UserId", - "documentation":"

The ARN for the user.

" - }, - "FirstName":{ - "shape":"user_FirstName", - "documentation":"

The first name for the user.

" - }, - "LastName":{ - "shape":"user_LastName", - "documentation":"

The last name for the user.

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

The email address for the user.

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

A unique, user-specified identifier for this request that ensures idempotency.

", - "idempotencyToken":true - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the user.

" - } - } - }, - "CreateUserResponse":{ - "type":"structure", - "members":{ - "UserArn":{ - "shape":"Arn", - "documentation":"

The ARN of the newly created user in the response.

" - } - } - }, - "DeleteAddressBookRequest":{ - "type":"structure", - "required":["AddressBookArn"], - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address book to delete.

" - } - } - }, - "DeleteAddressBookResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteContactRequest":{ - "type":"structure", - "required":["ContactArn"], - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact to delete.

" - } - } - }, - "DeleteContactResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteProfileRequest":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room profile to delete. Required.

" - } - } - }, - "DeleteProfileResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteRoomRequest":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room to delete. Required.

" - } - } - }, - "DeleteRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteRoomSkillParameterRequest":{ - "type":"structure", - "required":[ - "SkillId", - "ParameterKey" - ], - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room from which to remove the room skill parameter details.

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

The ID of the skill from which to remove the room skill parameter details.

" - }, - "ParameterKey":{ - "shape":"RoomSkillParameterKey", - "documentation":"

The room skill parameter key for which to remove details.

" - } - } - }, - "DeleteRoomSkillParameterResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteSkillGroupRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group to delete. Required.

" - } - } - }, - "DeleteSkillGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteUserRequest":{ - "type":"structure", - "required":["EnrollmentId"], - "members":{ - "UserArn":{ - "shape":"Arn", - "documentation":"

The ARN of the user to delete in the organization. Required.

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

The ARN of the user's enrollment in the organization. Required.

" - } - } - }, - "DeleteUserResponse":{ - "type":"structure", - "members":{ - } - }, - "Device":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of a device.

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

The serial number of a device.

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

The type of a device.

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

The name of a device.

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

The software version of a device.

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

The MAC address of a device.

" - }, - "RoomArn":{ - "shape":"Arn", - "documentation":"

The room ARN of a device.

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

The status of a device. If the status is not READY, check the DeviceStatusInfo value for details.

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

Detailed information about a device's status.

" - } - }, - "documentation":"

A device with attributes.

" - }, - "DeviceData":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of a device.

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

The serial number of a device.

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

The type of a device.

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

The name of a device.

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

The software version of a device.

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

The MAC address of a device.

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

The status of a device.

" - }, - "RoomArn":{ - "shape":"Arn", - "documentation":"

The room ARN associated with a device.

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

The name of the room associated with a device.

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

Detailed information about a device's status.

" - } - }, - "documentation":"

Device attributes.

" - }, - "DeviceDataList":{ - "type":"list", - "member":{"shape":"DeviceData"} - }, - "DeviceEvent":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"DeviceEventType", - "documentation":"

The type of device event.

" - }, - "Value":{ - "shape":"DeviceEventValue", - "documentation":"

The value of the event.

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

The time (in epoch) when the event occurred.

" - } - }, - "documentation":"

The list of device events.

" - }, - "DeviceEventList":{ - "type":"list", - "member":{"shape":"DeviceEvent"} - }, - "DeviceEventType":{ - "type":"string", - "enum":[ - "CONNECTION_STATUS", - "DEVICE_STATUS" - ] - }, - "DeviceEventValue":{"type":"string"}, - "DeviceName":{ - "type":"string", - "max":100, - "min":2, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "DeviceNotRegisteredException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request failed because this device is no longer registered and therefore no longer managed by this account.

", - "exception":true - }, - "DeviceSerialNumber":{ - "type":"string", - "pattern":"[a-zA-Z0-9]{1,200}" - }, - "DeviceStatus":{ - "type":"string", - "enum":[ - "READY", - "PENDING", - "WAS_OFFLINE", - "DEREGISTERED" - ] - }, - "DeviceStatusDetail":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"DeviceStatusDetailCode", - "documentation":"

The device status detail code.

" - } - }, - "documentation":"

Details of a device’s status.

" - }, - "DeviceStatusDetailCode":{ - "type":"string", - "enum":[ - "DEVICE_SOFTWARE_UPDATE_NEEDED", - "DEVICE_WAS_OFFLINE" - ] - }, - "DeviceStatusDetails":{ - "type":"list", - "member":{"shape":"DeviceStatusDetail"} - }, - "DeviceStatusInfo":{ - "type":"structure", - "members":{ - "DeviceStatusDetails":{ - "shape":"DeviceStatusDetails", - "documentation":"

One or more device status detail descriptions.

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

The latest available information about the connection status of a device.

" - } - }, - "documentation":"

Detailed information about a device's status.

" - }, - "DeviceType":{ - "type":"string", - "pattern":"[a-zA-Z0-9]{1,200}" - }, - "DisassociateContactFromAddressBookRequest":{ - "type":"structure", - "required":[ - "ContactArn", - "AddressBookArn" - ], - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact to disassociate from an address book.

" - }, - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address from which to disassociate the contact.

" - } - } - }, - "DisassociateContactFromAddressBookResponse":{ - "type":"structure", - "members":{ - } - }, - "DisassociateDeviceFromRoomRequest":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the device to disassociate from a room. Required.

" - } - } - }, - "DisassociateDeviceFromRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "DisassociateSkillGroupFromRoomRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group to disassociate from a room. Required.

" - }, - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room from which the skill group is to be disassociated. Required.

" - } - } - }, - "DisassociateSkillGroupFromRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "DistanceUnit":{ - "type":"string", - "enum":[ - "METRIC", - "IMPERIAL" - ] - }, - "E164PhoneNumber":{ - "type":"string", - "pattern":"^\\+\\d{8,}$" - }, - "Email":{ - "type":"string", - "max":128, - "min":1, - "pattern":"([0-9a-zA-Z]([+-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})" - }, - "EnrollmentId":{ - "type":"string", - "max":128, - "min":0 - }, - "EnrollmentStatus":{ - "type":"string", - "enum":[ - "INITIALIZED", - "PENDING", - "REGISTERED", - "DISASSOCIATING", - "DEREGISTERING" - ] - }, - "ErrorMessage":{"type":"string"}, - "Feature":{ - "type":"string", - "enum":[ - "BLUETOOTH", - "VOLUME", - "NOTIFICATIONS", - "LISTS", - "SKILLS", - "ALL" - ] - }, - "Features":{ - "type":"list", - "member":{"shape":"Feature"} - }, - "Filter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"FilterKey", - "documentation":"

The key of a filter.

" - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

The values of a filter.

" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.

" - }, - "FilterKey":{ - "type":"string", - "max":500, - "min":1 - }, - "FilterList":{ - "type":"list", - "member":{"shape":"Filter"}, - "max":25 - }, - "FilterValue":{ - "type":"string", - "max":500, - "min":1 - }, - "FilterValueList":{ - "type":"list", - "member":{"shape":"FilterValue"}, - "max":5 - }, - "GetAddressBookRequest":{ - "type":"structure", - "required":["AddressBookArn"], - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the address book for which to request details.

" - } - } - }, - "GetAddressBookResponse":{ - "type":"structure", - "members":{ - "AddressBook":{ - "shape":"AddressBook", - "documentation":"

The details of the requested address book.

" - } - } - }, - "GetContactRequest":{ - "type":"structure", - "required":["ContactArn"], - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact for which to request details.

" - } - } - }, - "GetContactResponse":{ - "type":"structure", - "members":{ - "Contact":{ - "shape":"Contact", - "documentation":"

The details of the requested contact.

" - } - } - }, - "GetDeviceRequest":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the device for which to request details. Required.

" - } - } - }, - "GetDeviceResponse":{ - "type":"structure", - "members":{ - "Device":{ - "shape":"Device", - "documentation":"

The details of the device requested. Required.

" - } - } - }, - "GetProfileRequest":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room profile for which to request details. Required.

" - } - } - }, - "GetProfileResponse":{ - "type":"structure", - "members":{ - "Profile":{ - "shape":"Profile", - "documentation":"

The details of the room profile requested. Required.

" - } - } - }, - "GetRoomRequest":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room for which to request details. Required.

" - } - } - }, - "GetRoomResponse":{ - "type":"structure", - "members":{ - "Room":{ - "shape":"Room", - "documentation":"

The details of the room requested.

" - } - } - }, - "GetRoomSkillParameterRequest":{ - "type":"structure", - "required":[ - "SkillId", - "ParameterKey" - ], - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room from which to get the room skill parameter details.

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

The ARN of the skill from which to get the room skill parameter details. Required.

" - }, - "ParameterKey":{ - "shape":"RoomSkillParameterKey", - "documentation":"

The room skill parameter key for which to get details. Required.

" - } - } - }, - "GetRoomSkillParameterResponse":{ - "type":"structure", - "members":{ - "RoomSkillParameter":{ - "shape":"RoomSkillParameter", - "documentation":"

The details of the room skill parameter requested. Required.

" - } - } - }, - "GetSkillGroupRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group for which to get details. Required.

" - } - } - }, - "GetSkillGroupResponse":{ - "type":"structure", - "members":{ - "SkillGroup":{ - "shape":"SkillGroup", - "documentation":"

The details of the skill group requested. Required.

" - } - } - }, - "InvalidUserStatusException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The attempt to update a user is invalid due to the user's current status. HTTP Status Code: 400

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You are performing an action that would put you beyond your account's limits. HTTP Status Code: 400

", - "exception":true - }, - "ListDeviceEventsRequest":{ - "type":"structure", - "required":["DeviceArn"], - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of a device.

" - }, - "EventType":{ - "shape":"DeviceEventType", - "documentation":"

The event type to filter device events. If EventType isn't specified, this returns a list of all device events in reverse chronological order. If EventType is specified, this returns a list of device events for that EventType in reverse chronological order.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults. When the end of results is reached, the response has a value of null.

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

The maximum number of results to include in the response. The default value is 50. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - } - } - }, - "ListDeviceEventsResponse":{ - "type":"structure", - "members":{ - "DeviceEvents":{ - "shape":"DeviceEventList", - "documentation":"

The device events requested for the device ARN.

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

The token returned to indicate that there is more data available.

" - } - } - }, - "ListSkillsRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group for which to list enabled skills. Required.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.

" - }, - "MaxResults":{ - "shape":"SkillListMaxResults", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. Required.

" - } - } - }, - "ListSkillsResponse":{ - "type":"structure", - "members":{ - "SkillSummaries":{ - "shape":"SkillSummaryList", - "documentation":"

The list of enabled skills requested. Required.

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

The token returned to indicate that there is more data available.

" - } - } - }, - "ListTagsRequest":{ - "type":"structure", - "required":["Arn"], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the specified resource for which to list tags.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - } - } - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

The tags requested for the specified resource.

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

The token returned to indicate that there is more data available.

" - } - } - }, - "MacAddress":{"type":"string"}, - "MaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "MaxVolumeLimit":{"type":"integer"}, - "NameInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The name sent in the request is already in use. HTTP Status Code: 400

", - "exception":true - }, - "NextToken":{ - "type":"string", - "max":1000, - "min":1 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The resource is not found. HTTP Status Code: 400

", - "exception":true - }, - "Profile":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of a room profile.

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

The name of a room profile.

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

The address of a room profile.

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

The time zone of a room profile.

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

The distance unit of a room profile.

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

The temperature unit of a room profile.

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

The wake word of a room profile.

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

The setup mode of a room profile.

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

The max volume limit of a room profile.

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

The PSTN setting of a room profile.

" - } - }, - "documentation":"

A room profile with attributes.

" - }, - "ProfileData":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of a room profile.

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

The name of a room profile.

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

The address of a room profile.

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

The timezone of a room profile.

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

The distance unit of a room profile.

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

The temperature unit of a room profile.

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

The wake word of a room profile.

" - } - }, - "documentation":"

The data of a room profile.

" - }, - "ProfileDataList":{ - "type":"list", - "member":{"shape":"ProfileData"} - }, - "ProfileName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "ProviderCalendarId":{ - "type":"string", - "max":100, - "min":0 - }, - "PutRoomSkillParameterRequest":{ - "type":"structure", - "required":[ - "SkillId", - "RoomSkillParameter" - ], - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room associated with the room skill parameter. Required.

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

The ARN of the skill associated with the room skill parameter. Required.

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

The updated room skill parameter. Required.

" - } - } - }, - "PutRoomSkillParameterResponse":{ - "type":"structure", - "members":{ - } - }, - "ResolveRoomRequest":{ - "type":"structure", - "required":[ - "UserId", - "SkillId" - ], - "members":{ - "UserId":{ - "shape":"UserId", - "documentation":"

The ARN of the user. Required.

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

The ARN of the skill that was requested. Required.

" - } - } - }, - "ResolveRoomResponse":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room from which the skill request was invoked.

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

The name of the room from which the skill request was invoked.

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

Response to get the room profile request. Required.

" - } - } - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "ClientRequestToken":{"shape":"ClientRequestToken"} - }, - "documentation":"

The resource in the request is already in use. HTTP Status Code: 400

", - "exception":true - }, - "RevokeInvitationRequest":{ - "type":"structure", - "members":{ - "UserArn":{ - "shape":"Arn", - "documentation":"

The ARN of the user for whom to revoke an enrollment invitation. Required.

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

The ARN of the enrollment invitation to revoke. Required.

" - } - } - }, - "RevokeInvitationResponse":{ - "type":"structure", - "members":{ - } - }, - "Room":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of a room.

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

The name of a room.

" - }, - "Description":{ - "shape":"RoomDescription", - "documentation":"

The description of a room.

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

The provider calendar ARN of a room.

" - }, - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The profile ARN of a room.

" - } - }, - "documentation":"

A room with attributes.

" - }, - "RoomData":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of a room.

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

The name of a room.

" - }, - "Description":{ - "shape":"RoomDescription", - "documentation":"

The description of a room.

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

The provider calendar ARN of a room.

" - }, - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The profile ARN of a room.

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

The profile name of a room.

" - } - }, - "documentation":"

The data of a room.

" - }, - "RoomDataList":{ - "type":"list", - "member":{"shape":"RoomData"} - }, - "RoomDescription":{ - "type":"string", - "max":200, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "RoomName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "RoomSkillParameter":{ - "type":"structure", - "required":[ - "ParameterKey", - "ParameterValue" - ], - "members":{ - "ParameterKey":{ - "shape":"RoomSkillParameterKey", - "documentation":"

The parameter key of a room skill parameter. ParameterKey is an enumerated type that only takes “DEFAULT” or “SCOPE” as valid values.

" - }, - "ParameterValue":{ - "shape":"RoomSkillParameterValue", - "documentation":"

The parameter value of a room skill parameter.

" - } - }, - "documentation":"

A skill parameter associated with a room.

" - }, - "RoomSkillParameterKey":{ - "type":"string", - "max":256, - "min":1 - }, - "RoomSkillParameterValue":{ - "type":"string", - "max":512, - "min":1 - }, - "RoomSkillParameters":{ - "type":"list", - "member":{"shape":"RoomSkillParameter"} - }, - "SearchAddressBooksRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of address books. The supported filter key is AddressBookName.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - } - } - }, - "SearchAddressBooksResponse":{ - "type":"structure", - "members":{ - "AddressBooks":{ - "shape":"AddressBookDataList", - "documentation":"

The address books that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of address books returned.

" - } - } - }, - "SearchContactsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - } - } - }, - "SearchContactsResponse":{ - "type":"structure", - "members":{ - "Contacts":{ - "shape":"ContactDataList", - "documentation":"

The contacts that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of contacts returned.

" - } - } - }, - "SearchDevicesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, and ConnectionStatus (ONLINE and OFFLINE).

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, and ConnectionStatus.

" - } - } - }, - "SearchDevicesResponse":{ - "type":"structure", - "members":{ - "Devices":{ - "shape":"DeviceDataList", - "documentation":"

The devices that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of devices returned.

" - } - } - }, - "SearchProfilesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address.

" - } - } - }, - "SearchProfilesResponse":{ - "type":"structure", - "members":{ - "Profiles":{ - "shape":"ProfileDataList", - "documentation":"

The profiles that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of room profiles returned.

" - } - } - }, - "SearchRoomsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of rooms. The supported filter keys are RoomName and ProfileName.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of rooms. The supported sort keys are RoomName and ProfileName.

" - } - } - }, - "SearchRoomsResponse":{ - "type":"structure", - "members":{ - "Rooms":{ - "shape":"RoomDataList", - "documentation":"

The rooms that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of rooms returned.

" - } - } - }, - "SearchSkillGroupsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use to list a specified set of skill groups. The supported filter key is SkillGroupName.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the specified set of skill groups. The supported sort key is SkillGroupName.

" - } - } - }, - "SearchSkillGroupsResponse":{ - "type":"structure", - "members":{ - "SkillGroups":{ - "shape":"SkillGroupDataList", - "documentation":"

The skill groups that meet the filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of skill groups returned.

" - } - } - }, - "SearchUsersRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. Required.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

" - }, - "SortCriteria":{ - "shape":"SortList", - "documentation":"

The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

" - } - } - }, - "SearchUsersResponse":{ - "type":"structure", - "members":{ - "Users":{ - "shape":"UserDataList", - "documentation":"

The users that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of users returned.

" - } - } - }, - "SendInvitationRequest":{ - "type":"structure", - "members":{ - "UserArn":{ - "shape":"Arn", - "documentation":"

The ARN of the user to whom to send an invitation. Required.

" - } - } - }, - "SendInvitationResponse":{ - "type":"structure", - "members":{ - } - }, - "SkillGroup":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of a skill group.

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

The name of a skill group.

" - }, - "Description":{ - "shape":"SkillGroupDescription", - "documentation":"

The description of a skill group.

" - } - }, - "documentation":"

A skill group with attributes.

" - }, - "SkillGroupData":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The skill group ARN of a skill group.

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

The skill group name of a skill group.

" - }, - "Description":{ - "shape":"SkillGroupDescription", - "documentation":"

The description of a skill group.

" - } - }, - "documentation":"

The attributes of a skill group.

" - }, - "SkillGroupDataList":{ - "type":"list", - "member":{"shape":"SkillGroupData"} - }, - "SkillGroupDescription":{ - "type":"string", - "max":200, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "SkillGroupName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "SkillId":{ - "type":"string", - "pattern":"(^amzn1\\.ask\\.skill\\.[0-9a-f\\-]{1,200})|(^amzn1\\.echo-sdk-ams\\.app\\.[0-9a-f\\-]{1,200})" - }, - "SkillListMaxResults":{ - "type":"integer", - "max":10, - "min":1 - }, - "SkillName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" - }, - "SkillSummary":{ - "type":"structure", - "members":{ - "SkillId":{ - "shape":"SkillId", - "documentation":"

The ARN of the skill summary.

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

The name of the skill.

" - }, - "SupportsLinking":{ - "shape":"boolean", - "documentation":"

Linking support for a skill.

" - } - }, - "documentation":"

The summary of skills.

" - }, - "SkillSummaryList":{ - "type":"list", - "member":{"shape":"SkillSummary"} - }, - "SoftwareVersion":{"type":"string"}, - "Sort":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"SortKey", - "documentation":"

The sort key of a sort object.

" - }, - "Value":{ - "shape":"SortValue", - "documentation":"

The sort value of a sort object.

" - } - }, - "documentation":"

An object representing a sort criteria.

" - }, - "SortKey":{ - "type":"string", - "max":500, - "min":1 - }, - "SortList":{ - "type":"list", - "member":{"shape":"Sort"}, - "max":25 - }, - "SortValue":{ - "type":"string", - "enum":[ - "ASC", - "DESC" - ] - }, - "StartDeviceSyncRequest":{ - "type":"structure", - "required":["Features"], - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room with which the device to sync is associated. Required.

" - }, - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the device to sync. Required.

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

Request structure to start the device sync. Required.

" - } - } - }, - "StartDeviceSyncResponse":{ - "type":"structure", - "members":{ - } - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of a tag. Tag keys are case-sensitive.

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

The value of a tag. Tag values are case-sensitive and can be null.

" - } - }, - "documentation":"

A key-value pair that can be associated with a resource.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Arn", - "Tags" - ], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource to which to add metadata tags. Required.

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

The tags to be added to the specified resource. Do not provide system tags. Required.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TemperatureUnit":{ - "type":"string", - "enum":[ - "FAHRENHEIT", - "CELSIUS" - ] - }, - "Timestamp":{"type":"timestamp"}, - "Timezone":{ - "type":"string", - "max":100, - "min":1 - }, - "TotalCount":{"type":"integer"}, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Arn", - "TagKeys" - ], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource from which to remove metadata tags. Required.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The tags to be removed from the specified resource. Do not provide system tags. Required.

" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateAddressBookRequest":{ - "type":"structure", - "required":["AddressBookArn"], - "members":{ - "AddressBookArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room to update.

" - }, - "Name":{ - "shape":"AddressBookName", - "documentation":"

The updated name of the room.

" - }, - "Description":{ - "shape":"AddressBookDescription", - "documentation":"

The updated description of the room.

" - } - } - }, - "UpdateAddressBookResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateContactRequest":{ - "type":"structure", - "required":["ContactArn"], - "members":{ - "ContactArn":{ - "shape":"Arn", - "documentation":"

The ARN of the contact to update.

" - }, - "DisplayName":{ - "shape":"ContactName", - "documentation":"

The updated display name of the contact.

" - }, - "FirstName":{ - "shape":"ContactName", - "documentation":"

The updated first name of the contact.

" - }, - "LastName":{ - "shape":"ContactName", - "documentation":"

The updated last name of the contact.

" - }, - "PhoneNumber":{ - "shape":"E164PhoneNumber", - "documentation":"

The updated phone number of the contact.

" - } - } - }, - "UpdateContactResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateDeviceRequest":{ - "type":"structure", - "members":{ - "DeviceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the device to update. Required.

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

The updated device name. Required.

" - } - } - }, - "UpdateDeviceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateProfileRequest":{ - "type":"structure", - "members":{ - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room profile to update. Required.

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

The updated name for the room profile.

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

The updated timezone for the room profile.

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

The updated address for the room profile.

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

The updated distance unit for the room profile.

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

The updated temperature unit for the room profile.

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

The updated wake word for the room profile.

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

Whether the setup mode of the profile is enabled.

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

The updated maximum volume limit for the room profile.

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

Whether the PSTN setting of the room profile is enabled.

" - } - } - }, - "UpdateProfileResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateRoomRequest":{ - "type":"structure", - "members":{ - "RoomArn":{ - "shape":"Arn", - "documentation":"

The ARN of the room to update.

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

The updated name for the room.

" - }, - "Description":{ - "shape":"RoomDescription", - "documentation":"

The updated description for the room.

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

The updated provider calendar ARN for the room.

" - }, - "ProfileArn":{ - "shape":"Arn", - "documentation":"

The updated profile ARN for the room.

" - } - } - }, - "UpdateRoomResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateSkillGroupRequest":{ - "type":"structure", - "members":{ - "SkillGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the skill group to update.

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

The updated name for the skill group.

" - }, - "Description":{ - "shape":"SkillGroupDescription", - "documentation":"

The updated description for the skill group.

" - } - } - }, - "UpdateSkillGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "UserData":{ - "type":"structure", - "members":{ - "UserArn":{ - "shape":"Arn", - "documentation":"

The ARN of a user.

" - }, - "FirstName":{ - "shape":"user_FirstName", - "documentation":"

The first name of a user.

" - }, - "LastName":{ - "shape":"user_LastName", - "documentation":"

The last name of a user.

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

The email of a user.

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

The enrollment status of a user.

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

The enrollment ARN of a user.

" - } - }, - "documentation":"

Information related to a user.

" - }, - "UserDataList":{ - "type":"list", - "member":{"shape":"UserData"} - }, - "UserId":{ - "type":"string", - "pattern":"amzn1\\.[A-Za-z0-9+-\\/=.]{1,300}" - }, - "WakeWord":{ - "type":"string", - "enum":[ - "ALEXA", - "AMAZON", - "ECHO", - "COMPUTER" - ] - }, - "boolean":{"type":"boolean"}, - "user_FirstName":{ - "type":"string", - "max":30, - "min":0, - "pattern":"([A-Za-z\\-' 0-9._]|\\p{IsLetter})*" - }, - "user_LastName":{ - "type":"string", - "max":30, - "min":0, - "pattern":"([A-Za-z\\-' 0-9._]|\\p{IsLetter})*" - }, - "user_UserId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9@_+.-]*" - } - }, - "documentation":"

Alexa for Business makes it easy for you to use Alexa in your organization. Alexa for Business gives you the tools you need for managing Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations. You can make also these available as private skills for your organization. Alexa for Business makes it easy to voice-enable your products and services, providing context-aware voice experiences for your customers.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/paginators-1.json deleted file mode 100644 index c7a44f17..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/paginators-1.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "pagination": { - "GetApiKeys": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetBasePathMappings": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetClientCertificates": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetDeployments": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetDomainNames": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetModels": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetResources": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetRestApis": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetUsage": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetUsagePlans": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetUsagePlanKeys": { - "input_token": "position", - "output_token": "position", - "limit_key": "limit", - "result_key": "items" - }, - "GetVpcLinks": { - "input_token": "position", - "limit_key": "limit", - "output_token": "position", - "result_key": "items" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/service-2.json deleted file mode 100644 index cc0dc9f6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/apigateway/2015-07-09/service-2.json +++ /dev/null @@ -1,7026 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-07-09", - "endpointPrefix":"apigateway", - "protocol":"rest-json", - "serviceFullName":"Amazon API Gateway", - "serviceId":"API Gateway", - "signatureVersion":"v4", - "uid":"apigateway-2015-07-09" - }, - "operations":{ - "CreateApiKey":{ - "name":"CreateApiKey", - "http":{ - "method":"POST", - "requestUri":"/apikeys", - "responseCode":201 - }, - "input":{"shape":"CreateApiKeyRequest"}, - "output":{"shape":"ApiKey"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Create an ApiKey resource.

" - }, - "CreateAuthorizer":{ - "name":"CreateAuthorizer", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/authorizers", - "responseCode":201 - }, - "input":{"shape":"CreateAuthorizerRequest"}, - "output":{"shape":"Authorizer"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Adds a new Authorizer resource to an existing RestApi resource.

" - }, - "CreateBasePathMapping":{ - "name":"CreateBasePathMapping", - "http":{ - "method":"POST", - "requestUri":"/domainnames/{domain_name}/basepathmappings", - "responseCode":201 - }, - "input":{"shape":"CreateBasePathMappingRequest"}, - "output":{"shape":"BasePathMapping"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a new BasePathMapping resource.

" - }, - "CreateDeployment":{ - "name":"CreateDeployment", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/deployments", - "responseCode":201 - }, - "input":{"shape":"CreateDeploymentRequest"}, - "output":{"shape":"Deployment"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates a Deployment resource, which makes a specified RestApi callable over the internet.

" - }, - "CreateDocumentationPart":{ - "name":"CreateDocumentationPart", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/documentation/parts", - "responseCode":201 - }, - "input":{"shape":"CreateDocumentationPartRequest"}, - "output":{"shape":"DocumentationPart"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "CreateDocumentationVersion":{ - "name":"CreateDocumentationVersion", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/documentation/versions", - "responseCode":201 - }, - "input":{"shape":"CreateDocumentationVersionRequest"}, - "output":{"shape":"DocumentationVersion"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "CreateDomainName":{ - "name":"CreateDomainName", - "http":{ - "method":"POST", - "requestUri":"/domainnames", - "responseCode":201 - }, - "input":{"shape":"CreateDomainNameRequest"}, - "output":{"shape":"DomainName"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a new domain name.

" - }, - "CreateModel":{ - "name":"CreateModel", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/models", - "responseCode":201 - }, - "input":{"shape":"CreateModelRequest"}, - "output":{"shape":"Model"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ], - "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":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/resources/{parent_id}", - "responseCode":201 - }, - "input":{"shape":"CreateResourceRequest"}, - "output":{"shape":"Resource"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a Resource resource.

" - }, - "CreateRestApi":{ - "name":"CreateRestApi", - "http":{ - "method":"POST", - "requestUri":"/restapis", - "responseCode":201 - }, - "input":{"shape":"CreateRestApiRequest"}, - "output":{"shape":"RestApi"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a new RestApi resource.

" - }, - "CreateStage":{ - "name":"CreateStage", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/stages", - "responseCode":201 - }, - "input":{"shape":"CreateStageRequest"}, - "output":{"shape":"Stage"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a new Stage resource that references a pre-existing Deployment for the API.

" - }, - "CreateUsagePlan":{ - "name":"CreateUsagePlan", - "http":{ - "method":"POST", - "requestUri":"/usageplans", - "responseCode":201 - }, - "input":{"shape":"CreateUsagePlanRequest"}, - "output":{"shape":"UsagePlan"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.

" - }, - "CreateUsagePlanKey":{ - "name":"CreateUsagePlanKey", - "http":{ - "method":"POST", - "requestUri":"/usageplans/{usageplanId}/keys", - "responseCode":201 - }, - "input":{"shape":"CreateUsagePlanKeyRequest"}, - "output":{"shape":"UsagePlanKey"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a usage plan key for adding an existing API key to a usage plan.

" - }, - "CreateVpcLink":{ - "name":"CreateVpcLink", - "http":{ - "method":"POST", - "requestUri":"/vpclinks", - "responseCode":202 - }, - "input":{"shape":"CreateVpcLinkRequest"}, - "output":{"shape":"VpcLink"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

" - }, - "DeleteApiKey":{ - "name":"DeleteApiKey", - "http":{ - "method":"DELETE", - "requestUri":"/apikeys/{api_Key}", - "responseCode":202 - }, - "input":{"shape":"DeleteApiKeyRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes the ApiKey resource.

" - }, - "DeleteAuthorizer":{ - "name":"DeleteAuthorizer", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteAuthorizerRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Deletes an existing Authorizer resource.

" - }, - "DeleteBasePathMapping":{ - "name":"DeleteBasePathMapping", - "http":{ - "method":"DELETE", - "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}", - "responseCode":202 - }, - "input":{"shape":"DeleteBasePathMappingRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes the BasePathMapping resource.

" - }, - "DeleteClientCertificate":{ - "name":"DeleteClientCertificate", - "http":{ - "method":"DELETE", - "requestUri":"/clientcertificates/{clientcertificate_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteClientCertificateRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes the ClientCertificate resource.

" - }, - "DeleteDeployment":{ - "name":"DeleteDeployment", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteDeploymentRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it.

" - }, - "DeleteDocumentationPart":{ - "name":"DeleteDocumentationPart", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteDocumentationPartRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"} - ] - }, - "DeleteDocumentationVersion":{ - "name":"DeleteDocumentationVersion", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}", - "responseCode":202 - }, - "input":{"shape":"DeleteDocumentationVersionRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "DeleteDomainName":{ - "name":"DeleteDomainName", - "http":{ - "method":"DELETE", - "requestUri":"/domainnames/{domain_name}", - "responseCode":202 - }, - "input":{"shape":"DeleteDomainNameRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes the DomainName resource.

" - }, - "DeleteGatewayResponse":{ - "name":"DeleteGatewayResponse", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}", - "responseCode":202 - }, - "input":{"shape":"DeleteGatewayResponseRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

" - }, - "DeleteIntegration":{ - "name":"DeleteIntegration", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", - "responseCode":204 - }, - "input":{"shape":"DeleteIntegrationRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Represents a delete integration.

" - }, - "DeleteIntegrationResponse":{ - "name":"DeleteIntegrationResponse", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", - "responseCode":204 - }, - "input":{"shape":"DeleteIntegrationResponseRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Represents a delete integration response.

" - }, - "DeleteMethod":{ - "name":"DeleteMethod", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", - "responseCode":204 - }, - "input":{"shape":"DeleteMethodRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Deletes an existing Method resource.

" - }, - "DeleteMethodResponse":{ - "name":"DeleteMethodResponse", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", - "responseCode":204 - }, - "input":{"shape":"DeleteMethodResponseRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Deletes an existing MethodResponse resource.

" - }, - "DeleteModel":{ - "name":"DeleteModel", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/models/{model_name}", - "responseCode":202 - }, - "input":{"shape":"DeleteModelRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "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":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteResourceRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes a Resource resource.

" - }, - "DeleteRestApi":{ - "name":"DeleteRestApi", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteRestApiRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Deletes the specified API.

" - }, - "DeleteStage":{ - "name":"DeleteStage", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}", - "responseCode":202 - }, - "input":{"shape":"DeleteStageRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Deletes a Stage resource.

" - }, - "DeleteUsagePlan":{ - "name":"DeleteUsagePlan", - "http":{ - "method":"DELETE", - "requestUri":"/usageplans/{usageplanId}", - "responseCode":202 - }, - "input":{"shape":"DeleteUsagePlanRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a usage plan of a given plan Id.

" - }, - "DeleteUsagePlanKey":{ - "name":"DeleteUsagePlanKey", - "http":{ - "method":"DELETE", - "requestUri":"/usageplans/{usageplanId}/keys/{keyId}", - "responseCode":202 - }, - "input":{"shape":"DeleteUsagePlanKeyRequest"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes a usage plan key and remove the underlying API key from the associated usage plan.

" - }, - "DeleteVpcLink":{ - "name":"DeleteVpcLink", - "http":{ - "method":"DELETE", - "requestUri":"/vpclinks/{vpclink_id}", - "responseCode":202 - }, - "input":{"shape":"DeleteVpcLinkRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Deletes an existing VpcLink of a specified identifier.

" - }, - "FlushStageAuthorizersCache":{ - "name":"FlushStageAuthorizersCache", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers", - "responseCode":202 - }, - "input":{"shape":"FlushStageAuthorizersCacheRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Flushes all authorizer cache entries on a stage.

" - }, - "FlushStageCache":{ - "name":"FlushStageCache", - "http":{ - "method":"DELETE", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/cache/data", - "responseCode":202 - }, - "input":{"shape":"FlushStageCacheRequest"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Flushes a stage's cache.

" - }, - "GenerateClientCertificate":{ - "name":"GenerateClientCertificate", - "http":{ - "method":"POST", - "requestUri":"/clientcertificates", - "responseCode":201 - }, - "input":{"shape":"GenerateClientCertificateRequest"}, - "output":{"shape":"ClientCertificate"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Generates a ClientCertificate resource.

" - }, - "GetAccount":{ - "name":"GetAccount", - "http":{ - "method":"GET", - "requestUri":"/account" - }, - "input":{"shape":"GetAccountRequest"}, - "output":{"shape":"Account"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about the current Account resource.

" - }, - "GetApiKey":{ - "name":"GetApiKey", - "http":{ - "method":"GET", - "requestUri":"/apikeys/{api_Key}" - }, - "input":{"shape":"GetApiKeyRequest"}, - "output":{"shape":"ApiKey"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about the current ApiKey resource.

" - }, - "GetApiKeys":{ - "name":"GetApiKeys", - "http":{ - "method":"GET", - "requestUri":"/apikeys" - }, - "input":{"shape":"GetApiKeysRequest"}, - "output":{"shape":"ApiKeys"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about the current ApiKeys resource.

" - }, - "GetAuthorizer":{ - "name":"GetAuthorizer", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}" - }, - "input":{"shape":"GetAuthorizerRequest"}, - "output":{"shape":"Authorizer"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describe an existing Authorizer resource.

" - }, - "GetAuthorizers":{ - "name":"GetAuthorizers", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/authorizers" - }, - "input":{"shape":"GetAuthorizersRequest"}, - "output":{"shape":"Authorizers"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describe an existing Authorizers resource.

" - }, - "GetBasePathMapping":{ - "name":"GetBasePathMapping", - "http":{ - "method":"GET", - "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}" - }, - "input":{"shape":"GetBasePathMappingRequest"}, - "output":{"shape":"BasePathMapping"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describe a BasePathMapping resource.

" - }, - "GetBasePathMappings":{ - "name":"GetBasePathMappings", - "http":{ - "method":"GET", - "requestUri":"/domainnames/{domain_name}/basepathmappings" - }, - "input":{"shape":"GetBasePathMappingsRequest"}, - "output":{"shape":"BasePathMappings"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Represents a collection of BasePathMapping resources.

" - }, - "GetClientCertificate":{ - "name":"GetClientCertificate", - "http":{ - "method":"GET", - "requestUri":"/clientcertificates/{clientcertificate_id}" - }, - "input":{"shape":"GetClientCertificateRequest"}, - "output":{"shape":"ClientCertificate"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about the current ClientCertificate resource.

" - }, - "GetClientCertificates":{ - "name":"GetClientCertificates", - "http":{ - "method":"GET", - "requestUri":"/clientcertificates" - }, - "input":{"shape":"GetClientCertificatesRequest"}, - "output":{"shape":"ClientCertificates"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets a collection of ClientCertificate resources.

" - }, - "GetDeployment":{ - "name":"GetDeployment", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}" - }, - "input":{"shape":"GetDeploymentRequest"}, - "output":{"shape":"Deployment"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Gets information about a Deployment resource.

" - }, - "GetDeployments":{ - "name":"GetDeployments", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/deployments" - }, - "input":{"shape":"GetDeploymentsRequest"}, - "output":{"shape":"Deployments"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Gets information about a Deployments collection.

" - }, - "GetDocumentationPart":{ - "name":"GetDocumentationPart", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}" - }, - "input":{"shape":"GetDocumentationPartRequest"}, - "output":{"shape":"DocumentationPart"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetDocumentationParts":{ - "name":"GetDocumentationParts", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/documentation/parts" - }, - "input":{"shape":"GetDocumentationPartsRequest"}, - "output":{"shape":"DocumentationParts"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetDocumentationVersion":{ - "name":"GetDocumentationVersion", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}" - }, - "input":{"shape":"GetDocumentationVersionRequest"}, - "output":{"shape":"DocumentationVersion"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetDocumentationVersions":{ - "name":"GetDocumentationVersions", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/documentation/versions" - }, - "input":{"shape":"GetDocumentationVersionsRequest"}, - "output":{"shape":"DocumentationVersions"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetDomainName":{ - "name":"GetDomainName", - "http":{ - "method":"GET", - "requestUri":"/domainnames/{domain_name}" - }, - "input":{"shape":"GetDomainNameRequest"}, - "output":{"shape":"DomainName"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Represents a domain name that is contained in a simpler, more intuitive URL that can be called.

" - }, - "GetDomainNames":{ - "name":"GetDomainNames", - "http":{ - "method":"GET", - "requestUri":"/domainnames" - }, - "input":{"shape":"GetDomainNamesRequest"}, - "output":{"shape":"DomainNames"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Represents a collection of DomainName resources.

" - }, - "GetExport":{ - "name":"GetExport", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}", - "responseCode":200 - }, - "input":{"shape":"GetExportRequest"}, - "output":{"shape":"ExportResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Exports a deployed version of a RestApi in a specified format.

" - }, - "GetGatewayResponse":{ - "name":"GetGatewayResponse", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}" - }, - "input":{"shape":"GetGatewayResponseRequest"}, - "output":{"shape":"GatewayResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets a GatewayResponse of a specified response type on the given RestApi.

" - }, - "GetGatewayResponses":{ - "name":"GetGatewayResponses", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/gatewayresponses" - }, - "input":{"shape":"GetGatewayResponsesRequest"}, - "output":{"shape":"GatewayResponses"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

" - }, - "GetIntegration":{ - "name":"GetIntegration", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration" - }, - "input":{"shape":"GetIntegrationRequest"}, - "output":{"shape":"Integration"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Get the integration settings.

" - }, - "GetIntegrationResponse":{ - "name":"GetIntegrationResponse", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}" - }, - "input":{"shape":"GetIntegrationResponseRequest"}, - "output":{"shape":"IntegrationResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Represents a get integration response.

" - }, - "GetMethod":{ - "name":"GetMethod", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}" - }, - "input":{"shape":"GetMethodRequest"}, - "output":{"shape":"Method"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describe an existing Method resource.

" - }, - "GetMethodResponse":{ - "name":"GetMethodResponse", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}" - }, - "input":{"shape":"GetMethodResponseRequest"}, - "output":{"shape":"MethodResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describes a MethodResponse resource.

" - }, - "GetModel":{ - "name":"GetModel", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/models/{model_name}" - }, - "input":{"shape":"GetModelRequest"}, - "output":{"shape":"Model"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Describes an existing model defined for a RestApi resource.

" - }, - "GetModelTemplate":{ - "name":"GetModelTemplate", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/models/{model_name}/default_template" - }, - "input":{"shape":"GetModelTemplateRequest"}, - "output":{"shape":"Template"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Generates a sample mapping template that can be used to transform a payload into the structure of a model.

" - }, - "GetModels":{ - "name":"GetModels", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/models" - }, - "input":{"shape":"GetModelsRequest"}, - "output":{"shape":"Models"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "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":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}" - }, - "input":{"shape":"GetResourceRequest"}, - "output":{"shape":"Resource"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists information about a resource.

" - }, - "GetResources":{ - "name":"GetResources", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/resources" - }, - "input":{"shape":"GetResourcesRequest"}, - "output":{"shape":"Resources"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists information about a collection of Resource resources.

" - }, - "GetRestApi":{ - "name":"GetRestApi", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}" - }, - "input":{"shape":"GetRestApiRequest"}, - "output":{"shape":"RestApi"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists the RestApi resource in the collection.

" - }, - "GetRestApis":{ - "name":"GetRestApis", - "http":{ - "method":"GET", - "requestUri":"/restapis" - }, - "input":{"shape":"GetRestApisRequest"}, - "output":{"shape":"RestApis"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists the RestApis resources for your collection.

" - }, - "GetSdk":{ - "name":"GetSdk", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}", - "responseCode":200 - }, - "input":{"shape":"GetSdkRequest"}, - "output":{"shape":"SdkResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Generates a client SDK for a RestApi and Stage.

" - }, - "GetSdkType":{ - "name":"GetSdkType", - "http":{ - "method":"GET", - "requestUri":"/sdktypes/{sdktype_id}" - }, - "input":{"shape":"GetSdkTypeRequest"}, - "output":{"shape":"SdkType"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetSdkTypes":{ - "name":"GetSdkTypes", - "http":{ - "method":"GET", - "requestUri":"/sdktypes" - }, - "input":{"shape":"GetSdkTypesRequest"}, - "output":{"shape":"SdkTypes"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "GetStage":{ - "name":"GetStage", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}" - }, - "input":{"shape":"GetStageRequest"}, - "output":{"shape":"Stage"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about a Stage resource.

" - }, - "GetStages":{ - "name":"GetStages", - "http":{ - "method":"GET", - "requestUri":"/restapis/{restapi_id}/stages" - }, - "input":{"shape":"GetStagesRequest"}, - "output":{"shape":"Stages"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets information about one or more Stage resources.

" - }, - "GetTags":{ - "name":"GetTags", - "http":{ - "method":"GET", - "requestUri":"/tags/{resource_arn}" - }, - "input":{"shape":"GetTagsRequest"}, - "output":{"shape":"Tags"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Gets the Tags collection for a given resource.

" - }, - "GetUsage":{ - "name":"GetUsage", - "http":{ - "method":"GET", - "requestUri":"/usageplans/{usageplanId}/usage" - }, - "input":{"shape":"GetUsageRequest"}, - "output":{"shape":"Usage"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets the usage data of a usage plan in a specified time interval.

" - }, - "GetUsagePlan":{ - "name":"GetUsagePlan", - "http":{ - "method":"GET", - "requestUri":"/usageplans/{usageplanId}" - }, - "input":{"shape":"GetUsagePlanRequest"}, - "output":{"shape":"UsagePlan"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets a usage plan of a given plan identifier.

" - }, - "GetUsagePlanKey":{ - "name":"GetUsagePlanKey", - "http":{ - "method":"GET", - "requestUri":"/usageplans/{usageplanId}/keys/{keyId}", - "responseCode":200 - }, - "input":{"shape":"GetUsagePlanKeyRequest"}, - "output":{"shape":"UsagePlanKey"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets a usage plan key of a given key identifier.

" - }, - "GetUsagePlanKeys":{ - "name":"GetUsagePlanKeys", - "http":{ - "method":"GET", - "requestUri":"/usageplans/{usageplanId}/keys" - }, - "input":{"shape":"GetUsagePlanKeysRequest"}, - "output":{"shape":"UsagePlanKeys"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets all the usage plan keys representing the API keys added to a specified usage plan.

" - }, - "GetUsagePlans":{ - "name":"GetUsagePlans", - "http":{ - "method":"GET", - "requestUri":"/usageplans" - }, - "input":{"shape":"GetUsagePlansRequest"}, - "output":{"shape":"UsagePlans"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Gets all the usage plans of the caller's account.

" - }, - "GetVpcLink":{ - "name":"GetVpcLink", - "http":{ - "method":"GET", - "requestUri":"/vpclinks/{vpclink_id}" - }, - "input":{"shape":"GetVpcLinkRequest"}, - "output":{"shape":"VpcLink"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets a specified VPC link under the caller's account in a region.

" - }, - "GetVpcLinks":{ - "name":"GetVpcLinks", - "http":{ - "method":"GET", - "requestUri":"/vpclinks" - }, - "input":{"shape":"GetVpcLinksRequest"}, - "output":{"shape":"VpcLinks"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Gets the VpcLinks collection under the caller's account in a selected region.

" - }, - "ImportApiKeys":{ - "name":"ImportApiKeys", - "http":{ - "method":"POST", - "requestUri":"/apikeys?mode=import", - "responseCode":201 - }, - "input":{"shape":"ImportApiKeysRequest"}, - "output":{"shape":"ApiKeyIds"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Import API keys from an external source, such as a CSV-formatted file.

" - }, - "ImportDocumentationParts":{ - "name":"ImportDocumentationParts", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/documentation/parts" - }, - "input":{"shape":"ImportDocumentationPartsRequest"}, - "output":{"shape":"DocumentationPartIds"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "ImportRestApi":{ - "name":"ImportRestApi", - "http":{ - "method":"POST", - "requestUri":"/restapis?mode=import", - "responseCode":201 - }, - "input":{"shape":"ImportRestApiRequest"}, - "output":{"shape":"RestApi"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

A feature of the API Gateway control service for creating a new API from an external API definition file.

" - }, - "PutGatewayResponse":{ - "name":"PutGatewayResponse", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}", - "responseCode":201 - }, - "input":{"shape":"PutGatewayResponseRequest"}, - "output":{"shape":"GatewayResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

" - }, - "PutIntegration":{ - "name":"PutIntegration", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", - "responseCode":201 - }, - "input":{"shape":"PutIntegrationRequest"}, - "output":{"shape":"Integration"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Sets up a method's integration.

" - }, - "PutIntegrationResponse":{ - "name":"PutIntegrationResponse", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}", - "responseCode":201 - }, - "input":{"shape":"PutIntegrationResponseRequest"}, - "output":{"shape":"IntegrationResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Represents a put integration.

" - }, - "PutMethod":{ - "name":"PutMethod", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}", - "responseCode":201 - }, - "input":{"shape":"PutMethodRequest"}, - "output":{"shape":"Method"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Add a method to an existing Resource resource.

" - }, - "PutMethodResponse":{ - "name":"PutMethodResponse", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", - "responseCode":201 - }, - "input":{"shape":"PutMethodResponseRequest"}, - "output":{"shape":"MethodResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Adds a MethodResponse to an existing Method resource.

" - }, - "PutRestApi":{ - "name":"PutRestApi", - "http":{ - "method":"PUT", - "requestUri":"/restapis/{restapi_id}" - }, - "input":{"shape":"PutRestApiRequest"}, - "output":{"shape":"RestApi"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

A feature of the API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"PUT", - "requestUri":"/tags/{resource_arn}", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Adds or updates a tag on a given resource.

" - }, - "TestInvokeAuthorizer":{ - "name":"TestInvokeAuthorizer", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}" - }, - "input":{"shape":"TestInvokeAuthorizerRequest"}, - "output":{"shape":"TestInvokeAuthorizerResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.

" - }, - "TestInvokeMethod":{ - "name":"TestInvokeMethod", - "http":{ - "method":"POST", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}" - }, - "input":{"shape":"TestInvokeMethodRequest"}, - "output":{"shape":"TestInvokeMethodResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"DELETE", - "requestUri":"/tags/{resource_arn}", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Removes a tag from a given resource.

" - }, - "UpdateAccount":{ - "name":"UpdateAccount", - "http":{ - "method":"PATCH", - "requestUri":"/account" - }, - "input":{"shape":"UpdateAccountRequest"}, - "output":{"shape":"Account"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about the current Account resource.

" - }, - "UpdateApiKey":{ - "name":"UpdateApiKey", - "http":{ - "method":"PATCH", - "requestUri":"/apikeys/{api_Key}" - }, - "input":{"shape":"UpdateApiKeyRequest"}, - "output":{"shape":"ApiKey"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Changes information about an ApiKey resource.

" - }, - "UpdateAuthorizer":{ - "name":"UpdateAuthorizer", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/authorizers/{authorizer_id}" - }, - "input":{"shape":"UpdateAuthorizerRequest"}, - "output":{"shape":"Authorizer"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates an existing Authorizer resource.

" - }, - "UpdateBasePathMapping":{ - "name":"UpdateBasePathMapping", - "http":{ - "method":"PATCH", - "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}" - }, - "input":{"shape":"UpdateBasePathMappingRequest"}, - "output":{"shape":"BasePathMapping"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about the BasePathMapping resource.

" - }, - "UpdateClientCertificate":{ - "name":"UpdateClientCertificate", - "http":{ - "method":"PATCH", - "requestUri":"/clientcertificates/{clientcertificate_id}" - }, - "input":{"shape":"UpdateClientCertificateRequest"}, - "output":{"shape":"ClientCertificate"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Changes information about an ClientCertificate resource.

" - }, - "UpdateDeployment":{ - "name":"UpdateDeployment", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}" - }, - "input":{"shape":"UpdateDeploymentRequest"}, - "output":{"shape":"Deployment"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Changes information about a Deployment resource.

" - }, - "UpdateDocumentationPart":{ - "name":"UpdateDocumentationPart", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}" - }, - "input":{"shape":"UpdateDocumentationPartRequest"}, - "output":{"shape":"DocumentationPart"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "UpdateDocumentationVersion":{ - "name":"UpdateDocumentationVersion", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}" - }, - "input":{"shape":"UpdateDocumentationVersionRequest"}, - "output":{"shape":"DocumentationVersion"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ] - }, - "UpdateDomainName":{ - "name":"UpdateDomainName", - "http":{ - "method":"PATCH", - "requestUri":"/domainnames/{domain_name}" - }, - "input":{"shape":"UpdateDomainNameRequest"}, - "output":{"shape":"DomainName"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about the DomainName resource.

" - }, - "UpdateGatewayResponse":{ - "name":"UpdateGatewayResponse", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}" - }, - "input":{"shape":"UpdateGatewayResponseRequest"}, - "output":{"shape":"GatewayResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates a GatewayResponse of a specified response type on the given RestApi.

" - }, - "UpdateIntegration":{ - "name":"UpdateIntegration", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration" - }, - "input":{"shape":"UpdateIntegrationRequest"}, - "output":{"shape":"Integration"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Represents an update integration.

" - }, - "UpdateIntegrationResponse":{ - "name":"UpdateIntegrationResponse", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}" - }, - "input":{"shape":"UpdateIntegrationResponseRequest"}, - "output":{"shape":"IntegrationResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Represents an update integration response.

" - }, - "UpdateMethod":{ - "name":"UpdateMethod", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}" - }, - "input":{"shape":"UpdateMethodRequest"}, - "output":{"shape":"Method"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates an existing Method resource.

" - }, - "UpdateMethodResponse":{ - "name":"UpdateMethodResponse", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}", - "responseCode":201 - }, - "input":{"shape":"UpdateMethodResponseRequest"}, - "output":{"shape":"MethodResponse"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates an existing MethodResponse resource.

" - }, - "UpdateModel":{ - "name":"UpdateModel", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/models/{model_name}" - }, - "input":{"shape":"UpdateModelRequest"}, - "output":{"shape":"Model"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "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":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}" - }, - "input":{"shape":"UpdateResourceRequest"}, - "output":{"shape":"Resource"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about a Resource resource.

" - }, - "UpdateRestApi":{ - "name":"UpdateRestApi", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}" - }, - "input":{"shape":"UpdateRestApiRequest"}, - "output":{"shape":"RestApi"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about the specified API.

" - }, - "UpdateStage":{ - "name":"UpdateStage", - "http":{ - "method":"PATCH", - "requestUri":"/restapis/{restapi_id}/stages/{stage_name}" - }, - "input":{"shape":"UpdateStageRequest"}, - "output":{"shape":"Stage"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"BadRequestException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Changes information about a Stage resource.

" - }, - "UpdateUsage":{ - "name":"UpdateUsage", - "http":{ - "method":"PATCH", - "requestUri":"/usageplans/{usageplanId}/keys/{keyId}/usage" - }, - "input":{"shape":"UpdateUsageRequest"}, - "output":{"shape":"Usage"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Grants a temporary extension to the remaining quota of a usage plan associated with a specified API key.

" - }, - "UpdateUsagePlan":{ - "name":"UpdateUsagePlan", - "http":{ - "method":"PATCH", - "requestUri":"/usageplans/{usageplanId}" - }, - "input":{"shape":"UpdateUsagePlanRequest"}, - "output":{"shape":"UsagePlan"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Updates a usage plan of a given plan Id.

" - }, - "UpdateVpcLink":{ - "name":"UpdateVpcLink", - "http":{ - "method":"PATCH", - "requestUri":"/vpclinks/{vpclink_id}" - }, - "input":{"shape":"UpdateVpcLinkRequest"}, - "output":{"shape":"VpcLink"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates an existing VpcLink of a specified identifier.

" - } - }, - "shapes":{ - "AccessLogSettings":{ - "type":"structure", - "members":{ - "format":{ - "shape":"String", - "documentation":"

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

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

The ARN of the CloudWatch Logs log group to receive access logs.

" - } - }, - "documentation":"

Access log settings, including the access log format and access log destination ARN.

" - }, - "Account":{ - "type":"structure", - "members":{ - "cloudwatchRoleArn":{ - "shape":"String", - "documentation":"

The ARN of an Amazon CloudWatch role for the current Account.

" - }, - "throttleSettings":{ - "shape":"ThrottleSettings", - "documentation":"

Specifies the API request limits configured for the current Account.

" - }, - "features":{ - "shape":"ListOfString", - "documentation":"

A list of features supported for the account. When usage plans are enabled, the features list will include an entry of \"UsagePlans\".

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

The version of the API keys used for the account.

" - } - }, - "documentation":"

Represents an AWS account that is associated with API Gateway.

To view the account info, call GET on this resource.

Error Codes

The following exception may be thrown when the request fails.

  • UnauthorizedException
  • NotFoundException
  • TooManyRequestsException

For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes

Example: Get the information about an account.

Request
GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html\", \"name\": \"account\", \"templated\": true }, \"self\": { \"href\": \"/account\" }, \"account:update\": { \"href\": \"/account\" } }, \"cloudwatchRoleArn\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"throttleSettings\": { \"rateLimit\": 500, \"burstLimit\": 1000 } } 

In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.

" - }, - "ApiKey":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier of the API Key.

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

The value of the API Key.

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

The name of the API Key.

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

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

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

The description of the API Key.

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

Specifies whether the API Key can be used by callers.

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

The timestamp when the API Key was created.

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

The timestamp when the API Key was last updated.

" - }, - "stageKeys":{ - "shape":"ListOfString", - "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" - } - }, - "documentation":"

A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.

" - }, - "ApiKeyIds":{ - "type":"structure", - "members":{ - "ids":{ - "shape":"ListOfString", - "documentation":"

A list of all the ApiKey identifiers.

" - }, - "warnings":{ - "shape":"ListOfString", - "documentation":"

A list of warning messages.

" - } - }, - "documentation":"

The identifier of an ApiKey used in a UsagePlan.

" - }, - "ApiKeySourceType":{ - "type":"string", - "enum":[ - "HEADER", - "AUTHORIZER" - ] - }, - "ApiKeys":{ - "type":"structure", - "members":{ - "warnings":{ - "shape":"ListOfString", - "documentation":"

A list of warning messages logged during the import of API keys when the failOnWarnings option is set to true.

" - }, - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfApiKey", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of API keys as represented by an ApiKeys resource.

" - }, - "ApiKeysFormat":{ - "type":"string", - "enum":["csv"] - }, - "ApiStage":{ - "type":"structure", - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

API Id of the associated API stage in a usage plan.

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

API stage name of the associated API stage in a usage plan.

" - }, - "throttle":{ - "shape":"MapOfApiStageThrottleSettings", - "documentation":"

Map containing method level throttling information for API stage in a usage plan.

" - } - }, - "documentation":"

API stage name of the associated API stage in a usage plan.

" - }, - "Authorizer":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier for the authorizer resource.

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

[Required] The name of the authorizer.

" - }, - "type":{ - "shape":"AuthorizerType", - "documentation":"

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

" - }, - "providerARNs":{ - "shape":"ListOfARNs", - "documentation":"

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

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

Optional customer-defined field, used in Swagger imports and exports without functional impact.

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

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

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

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

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

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

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

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

" - }, - "authorizerResultTtlInSeconds":{ - "shape":"NullableInteger", - "documentation":"

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

" - } - }, - "documentation":"

Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.

" - }, - "AuthorizerType":{ - "type":"string", - "documentation":"

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

", - "enum":[ - "TOKEN", - "REQUEST", - "COGNITO_USER_POOLS" - ] - }, - "Authorizers":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfAuthorizer", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of Authorizer resources.

" - }, - "BadRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "BasePathMapping":{ - "type":"structure", - "members":{ - "basePath":{ - "shape":"String", - "documentation":"

The base path name that callers of the API must provide as part of the URL after the domain name.

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

The string identifier of the associated RestApi.

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

The name of the associated stage.

" - } - }, - "documentation":"

Represents the base path that callers of the API must provide as part of the URL after the domain name.

A custom domain name plus a BasePathMapping specification identifies a deployed RestApi in a given stage of the owner Account.
" - }, - "BasePathMappings":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfBasePathMapping", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of BasePathMapping resources.

" - }, - "Blob":{"type":"blob"}, - "Boolean":{"type":"boolean"}, - "CacheClusterSize":{ - "type":"string", - "documentation":"

Returns the size of the CacheCluster.

", - "enum":[ - "0.5", - "1.6", - "6.1", - "13.5", - "28.4", - "58.2", - "118", - "237" - ] - }, - "CacheClusterStatus":{ - "type":"string", - "documentation":"

Returns the status of the CacheCluster.

", - "enum":[ - "CREATE_IN_PROGRESS", - "AVAILABLE", - "DELETE_IN_PROGRESS", - "NOT_AVAILABLE", - "FLUSH_IN_PROGRESS" - ] - }, - "CanarySettings":{ - "type":"structure", - "members":{ - "percentTraffic":{ - "shape":"Double", - "documentation":"

The percent (0-100) of traffic diverted to a canary deployment.

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

The ID of the canary deployment.

" - }, - "stageVariableOverrides":{ - "shape":"MapOfStringToString", - "documentation":"

Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

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

A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

" - } - }, - "documentation":"

Configuration settings of a canary deployment.

" - }, - "ClientCertificate":{ - "type":"structure", - "members":{ - "clientCertificateId":{ - "shape":"String", - "documentation":"

The identifier of the client certificate.

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

The description of the client certificate.

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

The PEM-encoded public key of the client certificate, which can be used to configure certificate authentication in the integration endpoint .

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

The timestamp when the client certificate was created.

" - }, - "expirationDate":{ - "shape":"Timestamp", - "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 to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
" - }, - "ClientCertificates":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfClientCertificate", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of ClientCertificate resources.

" - }, - "ConflictException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The request configuration has conflicts. For details, see the accompanying error message.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ConnectionType":{ - "type":"string", - "enum":[ - "INTERNET", - "VPC_LINK" - ] - }, - "ContentHandlingStrategy":{ - "type":"string", - "enum":[ - "CONVERT_TO_BINARY", - "CONVERT_TO_TEXT" - ] - }, - "CreateApiKeyRequest":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the ApiKey.

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

The description of the ApiKey.

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

Specifies whether the ApiKey can be used by callers.

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

Specifies whether (true) or not (false) the key identifier is distinct from the created API key value.

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

Specifies a value of the API key.

" - }, - "stageKeys":{ - "shape":"ListOfStageKeys", - "documentation":"

DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.

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

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

" - } - }, - "documentation":"

Request to create an ApiKey resource.

" - }, - "CreateAuthorizerRequest":{ - "type":"structure", - "required":[ - "restApiId", - "name", - "type" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

[Required] The name of the authorizer.

" - }, - "type":{ - "shape":"AuthorizerType", - "documentation":"

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

" - }, - "providerARNs":{ - "shape":"ListOfARNs", - "documentation":"

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

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

Optional customer-defined field, used in Swagger imports and exports without functional impact.

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

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

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

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

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

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

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

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

" - }, - "authorizerResultTtlInSeconds":{ - "shape":"NullableInteger", - "documentation":"

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

" - } - }, - "documentation":"

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

" - }, - "CreateBasePathMappingRequest":{ - "type":"structure", - "required":[ - "domainName", - "restApiId" - ], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The domain name of the BasePathMapping resource to create.

", - "location":"uri", - "locationName":"domain_name" - }, - "basePath":{ - "shape":"String", - "documentation":"

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify a base path name after the domain name.

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

[Required] The string identifier of the associated RestApi.

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

The name of the API's stage that you want to use for this mapping. Leave this blank if you do not want callers to explicitly specify the stage name after any base path name.

" - } - }, - "documentation":"

Requests API Gateway to create a new BasePathMapping resource.

" - }, - "CreateDeploymentRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

The name of the Stage resource for the Deployment resource to create.

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

The description of the Stage resource for the Deployment resource to create.

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

The description for the Deployment resource to create.

" - }, - "cacheClusterEnabled":{ - "shape":"NullableBoolean", - "documentation":"

Enables a cache cluster for the Stage resource specified in the input.

" - }, - "cacheClusterSize":{ - "shape":"CacheClusterSize", - "documentation":"

Specifies the cache cluster size for the Stage resource specified in the input, if a cache cluster is enabled.

" - }, - "variables":{ - "shape":"MapOfStringToString", - "documentation":"

A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" - }, - "canarySettings":{ - "shape":"DeploymentCanarySettings", - "documentation":"

The input configuration for the canary deployment when the deployment is a canary release deployment.

" - } - }, - "documentation":"

Requests API Gateway to create a Deployment resource.

" - }, - "CreateDocumentationPartRequest":{ - "type":"structure", - "required":[ - "restApiId", - "location", - "properties" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "location":{ - "shape":"DocumentationPartLocation", - "documentation":"

[Required] The location of the targeted API entity of the to-be-created documentation part.

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

[Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only Swagger-compliant key-value pairs can be exported and, hence, published.

" - } - }, - "documentation":"

Creates a new documentation part of a given API.

" - }, - "CreateDocumentationVersionRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationVersion" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationVersion":{ - "shape":"String", - "documentation":"

[Required] The version identifier of the new snapshot.

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

The stage name to be associated with the new documentation snapshot.

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

A description about the new documentation snapshot.

" - } - }, - "documentation":"

Creates a new documentation version of a given API.

" - }, - "CreateDomainNameRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The name of the DomainName resource.

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

The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

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

[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.

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

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

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

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

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

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

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

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

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

The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source.

" - }, - "endpointConfiguration":{ - "shape":"EndpointConfiguration", - "documentation":"

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

" - } - }, - "documentation":"

A request to create a new domain name.

" - }, - "CreateModelRequest":{ - "type":"structure", - "required":[ - "restApiId", - "name", - "contentType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The RestApi identifier under which the Model will be created.

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

[Required] The name of the model. Must be alphanumeric.

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

The description of the model.

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

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

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

[Required] The content-type for the model.

" - } - }, - "documentation":"

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

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

[Required] The string identifier of the associated RestApi.

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

The name of the to-be-created RequestValidator.

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

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

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

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

" - } - }, - "documentation":"

Creates a RequestValidator of a given RestApi.

" - }, - "CreateResourceRequest":{ - "type":"structure", - "required":[ - "restApiId", - "parentId", - "pathPart" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "parentId":{ - "shape":"String", - "documentation":"

[Required] The parent resource's identifier.

", - "location":"uri", - "locationName":"parent_id" - }, - "pathPart":{ - "shape":"String", - "documentation":"

The last path segment for this resource.

" - } - }, - "documentation":"

Requests API Gateway to create a Resource resource.

" - }, - "CreateRestApiRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

[Required] The name of the RestApi.

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

The description of the RestApi.

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

A version identifier for the API.

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

The ID of the RestApi that you want to clone from.

" - }, - "binaryMediaTypes":{ - "shape":"ListOfString", - "documentation":"

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

" - }, - "minimumCompressionSize":{ - "shape":"NullableInteger", - "documentation":"

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

" - }, - "apiKeySource":{ - "shape":"ApiKeySourceType", - "documentation":"

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

" - }, - "endpointConfiguration":{ - "shape":"EndpointConfiguration", - "documentation":"

The endpoint configuration of this RestApi showing the endpoint types of the API.

" - }, - "policy":{ - "shape":"String", - "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." - } - }, - "documentation":"

The POST Request to add a new RestApi resource to your collection.

" - }, - "CreateStageRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName", - "deploymentId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name for the Stage resource.

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

[Required] The identifier of the Deployment resource for the Stage resource.

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

The description of the Stage resource.

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

Whether cache clustering is enabled for the stage.

" - }, - "cacheClusterSize":{ - "shape":"CacheClusterSize", - "documentation":"

The stage's cache cluster size.

" - }, - "variables":{ - "shape":"MapOfStringToString", - "documentation":"

A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The version of the associated API documentation.

" - }, - "canarySettings":{ - "shape":"CanarySettings", - "documentation":"

The canary deployment settings of this stage.

" - }, - "tags":{ - "shape":"MapOfStringToString", - "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" - } - }, - "documentation":"

Requests API Gateway to create a Stage resource.

" - }, - "CreateUsagePlanKeyRequest":{ - "type":"structure", - "required":[ - "usagePlanId", - "keyId", - "keyType" - ], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

", - "location":"uri", - "locationName":"usageplanId" - }, - "keyId":{ - "shape":"String", - "documentation":"

[Required] The identifier of a UsagePlanKey resource for a plan customer.

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

[Required] The type of a UsagePlanKey resource for a plan customer.

" - } - }, - "documentation":"

The POST request to create a usage plan key for adding an existing API key to a usage plan.

" - }, - "CreateUsagePlanRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

[Required] The name of the usage plan.

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

The description of the usage plan.

" - }, - "apiStages":{ - "shape":"ListOfApiStage", - "documentation":"

The associated API stages of the usage plan.

" - }, - "throttle":{ - "shape":"ThrottleSettings", - "documentation":"

The throttling limits of the usage plan.

" - }, - "quota":{ - "shape":"QuotaSettings", - "documentation":"

The quota of the usage plan.

" - } - }, - "documentation":"

The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.

" - }, - "CreateVpcLinkRequest":{ - "type":"structure", - "required":[ - "name", - "targetArns" - ], - "members":{ - "name":{ - "shape":"String", - "documentation":"

[Required] The name used to label and identify the VPC link.

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

The description of the VPC link.

" - }, - "targetArns":{ - "shape":"ListOfString", - "documentation":"

[Required] The ARNs of network load balancers of the VPC targeted by the VPC link. The network load balancers must be owned by the same AWS account of the API owner.

" - } - }, - "documentation":"

Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

" - }, - "DeleteApiKeyRequest":{ - "type":"structure", - "required":["apiKey"], - "members":{ - "apiKey":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ApiKey resource to be deleted.

", - "location":"uri", - "locationName":"api_Key" - } - }, - "documentation":"

A request to delete the ApiKey resource.

" - }, - "DeleteAuthorizerRequest":{ - "type":"structure", - "required":[ - "restApiId", - "authorizerId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "authorizerId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Authorizer resource.

", - "location":"uri", - "locationName":"authorizer_id" - } - }, - "documentation":"

Request to delete an existing Authorizer resource.

" - }, - "DeleteBasePathMappingRequest":{ - "type":"structure", - "required":[ - "domainName", - "basePath" - ], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The domain name of the BasePathMapping resource to delete.

", - "location":"uri", - "locationName":"domain_name" - }, - "basePath":{ - "shape":"String", - "documentation":"

[Required] The base path name of the BasePathMapping resource to delete.

", - "location":"uri", - "locationName":"base_path" - } - }, - "documentation":"

A request to delete the BasePathMapping resource.

" - }, - "DeleteClientCertificateRequest":{ - "type":"structure", - "required":["clientCertificateId"], - "members":{ - "clientCertificateId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ClientCertificate resource to be deleted.

", - "location":"uri", - "locationName":"clientcertificate_id" - } - }, - "documentation":"

A request to delete the ClientCertificate resource.

" - }, - "DeleteDeploymentRequest":{ - "type":"structure", - "required":[ - "restApiId", - "deploymentId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "deploymentId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Deployment resource to delete.

", - "location":"uri", - "locationName":"deployment_id" - } - }, - "documentation":"

Requests API Gateway to delete a Deployment resource.

" - }, - "DeleteDocumentationPartRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationPartId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationPartId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the to-be-deleted documentation part.

", - "location":"uri", - "locationName":"part_id" - } - }, - "documentation":"

Deletes an existing documentation part of an API.

" - }, - "DeleteDocumentationVersionRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationVersion" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationVersion":{ - "shape":"String", - "documentation":"

[Required] The version identifier of a to-be-deleted documentation snapshot.

", - "location":"uri", - "locationName":"doc_version" - } - }, - "documentation":"

Deletes an existing documentation version of an API.

" - }, - "DeleteDomainNameRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The name of the DomainName resource to be deleted.

", - "location":"uri", - "locationName":"domain_name" - } - }, - "documentation":"

A request to delete the DomainName resource.

" - }, - "DeleteGatewayResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "responseType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "responseType":{ - "shape":"GatewayResponseType", - "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", - "location":"uri", - "locationName":"response_type" - } - }, - "documentation":"

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

" - }, - "DeleteIntegrationRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a delete integration request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a delete integration request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - } - }, - "documentation":"

Represents a delete integration request.

" - }, - "DeleteIntegrationResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a delete integration response request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a delete integration response request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] Specifies a delete integration response request's status code.

", - "location":"uri", - "locationName":"status_code" - } - }, - "documentation":"

Represents a delete integration response request.

" - }, - "DeleteMethodRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the Method resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - } - }, - "documentation":"

Request to delete an existing Method resource.

" - }, - "DeleteMethodResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] The status code identifier for the MethodResponse resource.

", - "location":"uri", - "locationName":"status_code" - } - }, - "documentation":"

A request to delete an existing MethodResponse resource.

" - }, - "DeleteModelRequest":{ - "type":"structure", - "required":[ - "restApiId", - "modelName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "modelName":{ - "shape":"String", - "documentation":"

[Required] The name of the model to delete.

", - "location":"uri", - "locationName":"model_name" - } - }, - "documentation":"

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

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

[Required] The string identifier of the associated RestApi.

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

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

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

Deletes a specified RequestValidator of a given RestApi.

" - }, - "DeleteResourceRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Resource resource.

", - "location":"uri", - "locationName":"resource_id" - } - }, - "documentation":"

Request to delete a Resource.

" - }, - "DeleteRestApiRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - } - }, - "documentation":"

Request to delete the specified API from your collection.

" - }, - "DeleteStageRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the Stage resource to delete.

", - "location":"uri", - "locationName":"stage_name" - } - }, - "documentation":"

Requests API Gateway to delete a Stage resource.

" - }, - "DeleteUsagePlanKeyRequest":{ - "type":"structure", - "required":[ - "usagePlanId", - "keyId" - ], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

", - "location":"uri", - "locationName":"usageplanId" - }, - "keyId":{ - "shape":"String", - "documentation":"

[Required] The Id of the UsagePlanKey resource to be deleted.

", - "location":"uri", - "locationName":"keyId" - } - }, - "documentation":"

The DELETE request to delete a usage plan key and remove the underlying API key from the associated usage plan.

" - }, - "DeleteUsagePlanRequest":{ - "type":"structure", - "required":["usagePlanId"], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the to-be-deleted usage plan.

", - "location":"uri", - "locationName":"usageplanId" - } - }, - "documentation":"

The DELETE request to delete a usage plan of a given plan Id.

" - }, - "DeleteVpcLinkRequest":{ - "type":"structure", - "required":["vpcLinkId"], - "members":{ - "vpcLinkId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", - "location":"uri", - "locationName":"vpclink_id" - } - }, - "documentation":"

Deletes an existing VpcLink of a specified identifier.

" - }, - "Deployment":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier for the deployment resource.

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

The description for the deployment resource.

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

The date and time that the deployment resource was created.

" - }, - "apiSummary":{ - "shape":"PathToMapOfMethodSnapshot", - "documentation":"

A summary of the RestApi at the date and time that the deployment resource was created.

" - } - }, - "documentation":"

An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.

To create a deployment, call POST on the Deployments resource of a RestApi. To view, update, or delete a deployment, call GET, PATCH, or DELETE on the specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
" - }, - "DeploymentCanarySettings":{ - "type":"structure", - "members":{ - "percentTraffic":{ - "shape":"Double", - "documentation":"

The percentage (0.0-100.0) of traffic routed to the canary deployment.

" - }, - "stageVariableOverrides":{ - "shape":"MapOfStringToString", - "documentation":"

A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

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

A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.

" - } - }, - "documentation":"

The input configuration for a canary deployment.

" - }, - "Deployments":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfDeployment", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.

To create a new deployment of a RestApi, make a POST request against this resource. To view, update, or delete an existing deployment, make a GET, PATCH, or DELETE request, respectively, on a specified Deployment resource.
" - }, - "DocumentationPart":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The DocumentationPart identifier, generated by API Gateway when the DocumentationPart is created.

" - }, - "location":{ - "shape":"DocumentationPartLocation", - "documentation":"

The location of the API entity to which the documentation applies. Valid fields depend on the targeted API entity type. All the valid location fields are not required. If not explicitly specified, a valid location field is treated as a wildcard and associated documentation content may be inherited by matching entities, unless overridden.

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

A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., \"{ \\\"description\\\": \\\"The API does ...\\\" }\". Only Swagger-compliant documentation-related fields from the properties map are exported and, hence, published as part of the API entity definitions, while the original documentation parts are exported in a Swagger extension of x-amazon-apigateway-documentation.

" - } - }, - "documentation":"

A documentation part for a targeted API entity.

A documentation part consists of a content map (properties) and a target (location). The target specifies an API entity to which the documentation content applies. The supported API entity types are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend on the API entity type. All valid fields are not required.

The content map is a JSON string of API-specific key-value pairs. Although an API can use any shape for the content map, only the Swagger-compliant documentation fields will be injected into the associated API entity definition in the exported Swagger definition file.

" - }, - "DocumentationPartIds":{ - "type":"structure", - "members":{ - "ids":{ - "shape":"ListOfString", - "documentation":"

A list of the returned documentation part identifiers.

" - }, - "warnings":{ - "shape":"ListOfString", - "documentation":"

A list of warning messages reported during import of documentation parts.

" - } - }, - "documentation":"

A collection of the imported DocumentationPart identifiers.

This is used to return the result when documentation parts in an external (e.g., Swagger) file are imported into API Gateway
" - }, - "DocumentationPartLocation":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"DocumentationPartType", - "documentation":"

[Required] The type of API entity to which the documentation content applies. Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

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

The URL path of the target. It is a valid field for the API entity types of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other location attributes, the child entity's path attribute must match that of the parent entity as a prefix.

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

The HTTP verb of a method. It is a valid field for the API entity types of METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's method attribute must match that of the parent entity exactly.

" - }, - "statusCode":{ - "shape":"DocumentationPartLocationStatusCode", - "documentation":"

The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's statusCode attribute must match that of the parent entity exactly.

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

The name of the targeted API entity. It is a valid and required field for the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field for any other entity type.

" - } - }, - "documentation":"

Specifies the target API entity to which the documentation applies.

" - }, - "DocumentationPartLocationStatusCode":{ - "type":"string", - "pattern":"^([1-5]\\d\\d|\\*|\\s*)$" - }, - "DocumentationPartType":{ - "type":"string", - "enum":[ - "API", - "AUTHORIZER", - "MODEL", - "RESOURCE", - "METHOD", - "PATH_PARAMETER", - "QUERY_PARAMETER", - "REQUEST_HEADER", - "REQUEST_BODY", - "RESPONSE", - "RESPONSE_HEADER", - "RESPONSE_BODY" - ] - }, - "DocumentationParts":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfDocumentationPart", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

The collection of documentation parts of an API.

" - }, - "DocumentationVersion":{ - "type":"structure", - "members":{ - "version":{ - "shape":"String", - "documentation":"

The version identifier of the API documentation snapshot.

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

The date when the API documentation snapshot is created.

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

The description of the API documentation snapshot.

" - } - }, - "documentation":"

A snapshot of the documentation of an API.

Publishing API documentation involves creating a documentation version associated with an API stage and exporting the versioned documentation to an external (e.g., Swagger) file.

" - }, - "DocumentationVersions":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfDocumentationVersion", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

The collection of documentation snapshots of an API.

Use the DocumentationVersions to manage documentation snapshots associated with various API stages.

" - }, - "DomainName":{ - "type":"structure", - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

The custom domain name as an API host name, for example, my-api.example.com.

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

The name of the certificate that will be used by edge-optimized endpoint for this domain name.

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

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

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

The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.

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

The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

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

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

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

The name of the certificate that will be used for validating the regional domain name.

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

The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.

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

The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

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

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

" - }, - "endpointConfiguration":{ - "shape":"EndpointConfiguration", - "documentation":"

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

" - } - }, - "documentation":"

Represents a custom domain name as a user-friendly host name of an API (RestApi).

When you deploy an API, API Gateway creates a default host name for the API. This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com format. With the default host name, you can access the API's root resource with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/. When you set up a custom domain name of apis.example.com for this API, you can then access the same resource using the URL of the https://apis.examples.com/myApi, where myApi is the base path mapping (BasePathMapping) of your API under the custom domain name.

" - }, - "DomainNames":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfDomainName", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of DomainName resources.

" - }, - "Double":{"type":"double"}, - "EndpointConfiguration":{ - "type":"structure", - "members":{ - "types":{ - "shape":"ListOfEndpointType", - "documentation":"

A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is \"EDGE\". For a regional API and its custom domain name, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.

" - } - }, - "documentation":"

The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.

" - }, - "EndpointType":{ - "type":"string", - "documentation":"

The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

", - "enum":[ - "REGIONAL", - "EDGE", - "PRIVATE" - ] - }, - "ExportResponse":{ - "type":"structure", - "members":{ - "contentType":{ - "shape":"String", - "documentation":"

The content-type header value in the HTTP response. This will correspond to a valid 'accept' type in the request.

", - "location":"header", - "locationName":"Content-Type" - }, - "contentDisposition":{ - "shape":"String", - "documentation":"

The content-disposition header value in the HTTP response.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "body":{ - "shape":"Blob", - "documentation":"

The binary blob response to GetExport, which contains the export.

" - } - }, - "documentation":"

The binary blob response to GetExport, which contains the generated SDK.

", - "payload":"body" - }, - "FlushStageAuthorizersCacheRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

The name of the stage to flush.

", - "location":"uri", - "locationName":"stage_name" - } - }, - "documentation":"

Request to flush authorizer cache entries on a specified stage.

" - }, - "FlushStageCacheRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the stage to flush its cache.

", - "location":"uri", - "locationName":"stage_name" - } - }, - "documentation":"

Requests API Gateway to flush a stage's cache.

" - }, - "GatewayResponse":{ - "type":"structure", - "members":{ - "responseType":{ - "shape":"GatewayResponseType", - "documentation":"

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

The HTTP status code for this GatewayResponse.

" - }, - "responseParameters":{ - "shape":"MapOfStringToString", - "documentation":"

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

" - }, - "responseTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

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

A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true) or not (false). A default gateway response is one generated by API Gateway without any customization by an API developer.

" - } - }, - "documentation":"

A gateway response of a given response type and status code, with optional response parameters and mapping templates.

For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway

Example: Get a Gateway Response of a given response type

Request

This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type.

GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 

The response type is specified as a URL path.

Response

The successful operation returns the 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html\", \"name\": \"gatewayresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:delete\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" } }, \"defaultResponse\": false, \"responseParameters\": { \"gatewayresponse.header.x-request-path\": \"method.request.path.petId\", \"gatewayresponse.header.Access-Control-Allow-Origin\": \"'a.b.c'\", \"gatewayresponse.header.x-request-query\": \"method.request.querystring.q\", \"gatewayresponse.header.x-request-header\": \"method.request.header.Accept\" }, \"responseTemplates\": { \"application/json\": \"{\\n \\\"message\\\": $context.error.messageString,\\n \\\"type\\\": \\\"$context.error.responseType\\\",\\n \\\"stage\\\": \\\"$context.stage\\\",\\n \\\"resourcePath\\\": \\\"$context.resourcePath\\\",\\n \\\"stageVariables.a\\\": \\\"$stageVariables.a\\\",\\n \\\"statusCode\\\": \\\"'404'\\\"\\n}\" }, \"responseType\": \"MISSING_AUTHENTICATION_TOKEN\", \"statusCode\": \"404\" }

" - }, - "GatewayResponseType":{ - "type":"string", - "enum":[ - "DEFAULT_4XX", - "DEFAULT_5XX", - "RESOURCE_NOT_FOUND", - "UNAUTHORIZED", - "INVALID_API_KEY", - "ACCESS_DENIED", - "AUTHORIZER_FAILURE", - "AUTHORIZER_CONFIGURATION_ERROR", - "INVALID_SIGNATURE", - "EXPIRED_TOKEN", - "MISSING_AUTHENTICATION_TOKEN", - "INTEGRATION_FAILURE", - "INTEGRATION_TIMEOUT", - "API_CONFIGURATION_ERROR", - "UNSUPPORTED_MEDIA_TYPE", - "BAD_REQUEST_PARAMETERS", - "BAD_REQUEST_BODY", - "REQUEST_TOO_LARGE", - "THROTTLED", - "QUOTA_EXCEEDED" - ] - }, - "GatewayResponses":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfGatewayResponse", - "documentation":"

Returns the entire collection, because of no pagination support.

", - "locationName":"item" - } - }, - "documentation":"

The collection of the GatewayResponse instances of a RestApi as a responseType-to-GatewayResponse object map of key-value pairs. As such, pagination is not supported for querying this collection.

For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway

Example: Get the collection of gateway responses of an API

Request

This example request shows how to retrieve the GatewayResponses collection from an API.

GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515 

Response

The successful operation returns the 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html\", \"name\": \"gatewayresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses\" }, \"first\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses\" }, \"gatewayresponse:by-type\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"item\": [ { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" } ] }, \"_embedded\": { \"item\": [ { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INTEGRATION_FAILURE\", \"statusCode\": \"504\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"RESOURCE_NOT_FOUND\", \"statusCode\": \"404\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"REQUEST_TOO_LARGE\", \"statusCode\": \"413\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"THROTTLED\", \"statusCode\": \"429\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"UNSUPPORTED_MEDIA_TYPE\", \"statusCode\": \"415\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"AUTHORIZER_CONFIGURATION_ERROR\", \"statusCode\": \"500\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"DEFAULT_5XX\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"DEFAULT_4XX\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"BAD_REQUEST_PARAMETERS\", \"statusCode\": \"400\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"BAD_REQUEST_BODY\", \"statusCode\": \"400\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"EXPIRED_TOKEN\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"ACCESS_DENIED\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INVALID_API_KEY\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"UNAUTHORIZED\", \"statusCode\": \"401\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"API_CONFIGURATION_ERROR\", \"statusCode\": \"500\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"QUOTA_EXCEEDED\", \"statusCode\": \"429\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INTEGRATION_TIMEOUT\", \"statusCode\": \"504\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"MISSING_AUTHENTICATION_TOKEN\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INVALID_SIGNATURE\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"AUTHORIZER_FAILURE\", \"statusCode\": \"500\" } ] } }

" - }, - "GenerateClientCertificateRequest":{ - "type":"structure", - "members":{ - "description":{ - "shape":"String", - "documentation":"

The description of the ClientCertificate.

" - } - }, - "documentation":"

A request to generate a ClientCertificate resource.

" - }, - "GetAccountRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Requests API Gateway to get information about the current Account resource.

" - }, - "GetApiKeyRequest":{ - "type":"structure", - "required":["apiKey"], - "members":{ - "apiKey":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ApiKey resource.

", - "location":"uri", - "locationName":"api_Key" - }, - "includeValue":{ - "shape":"NullableBoolean", - "documentation":"

A boolean flag to specify whether (true) or not (false) the result contains the key value.

", - "location":"querystring", - "locationName":"includeValue" - } - }, - "documentation":"

A request to get information about the current ApiKey resource.

" - }, - "GetApiKeysRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", - "location":"querystring", - "locationName":"limit" - }, - "nameQuery":{ - "shape":"String", - "documentation":"

The name of queried API keys.

", - "location":"querystring", - "locationName":"name" - }, - "customerId":{ - "shape":"String", - "documentation":"

The identifier of a customer in AWS Marketplace or an external system, such as a developer portal.

", - "location":"querystring", - "locationName":"customerId" - }, - "includeValues":{ - "shape":"NullableBoolean", - "documentation":"

A boolean flag to specify whether (true) or not (false) the result contains key values.

", - "location":"querystring", - "locationName":"includeValues" - } - }, - "documentation":"

A request to get information about the current ApiKeys resource.

" - }, - "GetAuthorizerRequest":{ - "type":"structure", - "required":[ - "restApiId", - "authorizerId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "authorizerId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Authorizer resource.

", - "location":"uri", - "locationName":"authorizer_id" - } - }, - "documentation":"

Request to describe an existing Authorizer resource.

" - }, - "GetAuthorizersRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Request to describe an existing Authorizers resource.

" - }, - "GetBasePathMappingRequest":{ - "type":"structure", - "required":[ - "domainName", - "basePath" - ], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The domain name of the BasePathMapping resource to be described.

", - "location":"uri", - "locationName":"domain_name" - }, - "basePath":{ - "shape":"String", - "documentation":"

[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify any base path name after the domain name.

", - "location":"uri", - "locationName":"base_path" - } - }, - "documentation":"

Request to describe a BasePathMapping resource.

" - }, - "GetBasePathMappingsRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The domain name of a BasePathMapping resource.

", - "location":"uri", - "locationName":"domain_name" - }, - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

A request to get information about a collection of BasePathMapping resources.

" - }, - "GetClientCertificateRequest":{ - "type":"structure", - "required":["clientCertificateId"], - "members":{ - "clientCertificateId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ClientCertificate resource to be described.

", - "location":"uri", - "locationName":"clientcertificate_id" - } - }, - "documentation":"

A request to get information about the current ClientCertificate resource.

" - }, - "GetClientCertificatesRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

A request to get information about a collection of ClientCertificate resources.

" - }, - "GetDeploymentRequest":{ - "type":"structure", - "required":[ - "restApiId", - "deploymentId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "deploymentId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Deployment resource to get information about.

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

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

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

Requests API Gateway to get information about a Deployment resource.

" - }, - "GetDeploymentsRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Requests API Gateway to get information about a Deployments collection.

" - }, - "GetDocumentationPartRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationPartId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationPartId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"part_id" - } - }, - "documentation":"

Gets a specified documentation part of a given API.

" - }, - "GetDocumentationPartsRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "type":{ - "shape":"DocumentationPartType", - "documentation":"

The type of API entities of the to-be-retrieved documentation parts.

", - "location":"querystring", - "locationName":"type" - }, - "nameQuery":{ - "shape":"String", - "documentation":"

The name of API entities of the to-be-retrieved documentation parts.

", - "location":"querystring", - "locationName":"name" - }, - "path":{ - "shape":"String", - "documentation":"

The path of API entities of the to-be-retrieved documentation parts.

", - "location":"querystring", - "locationName":"path" - }, - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", - "location":"querystring", - "locationName":"limit" - }, - "locationStatus":{ - "shape":"LocationStatusType", - "documentation":"

The status of the API documentation parts to retrieve. Valid values are DOCUMENTED for retrieving DocumentationPart resources with content and UNDOCUMENTED for DocumentationPart resources without content.

", - "location":"querystring", - "locationName":"locationStatus" - } - }, - "documentation":"

Gets the documentation parts of an API. The result may be filtered by the type, name, or path of API entities (targets).

" - }, - "GetDocumentationVersionRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationVersion" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationVersion":{ - "shape":"String", - "documentation":"

[Required] The version identifier of the to-be-retrieved documentation snapshot.

", - "location":"uri", - "locationName":"doc_version" - } - }, - "documentation":"

Gets a documentation snapshot of an API.

" - }, - "GetDocumentationVersionsRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the documentation versions of an API.

" - }, - "GetDomainNameRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The name of the DomainName resource.

", - "location":"uri", - "locationName":"domain_name" - } - }, - "documentation":"

Request to get the name of a DomainName resource.

" - }, - "GetDomainNamesRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Request to describe a collection of DomainName resources.

" - }, - "GetExportRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName", - "exportType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the Stage that will be exported.

", - "location":"uri", - "locationName":"stage_name" - }, - "exportType":{ - "shape":"String", - "documentation":"

[Required] The type of export. Currently only 'swagger' is supported.

", - "location":"uri", - "locationName":"export_type" - }, - "parameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: extensions='integrations' or extensions='apigateway' will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

", - "location":"querystring" - }, - "accepts":{ - "shape":"String", - "documentation":"

The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType of swagger. This should be specified in the Accept header for direct API requests.

", - "location":"header", - "locationName":"Accept" - } - }, - "documentation":"

Request a new export of a RestApi for a particular Stage.

" - }, - "GetGatewayResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "responseType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "responseType":{ - "shape":"GatewayResponseType", - "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", - "location":"uri", - "locationName":"response_type" - } - }, - "documentation":"

Gets a GatewayResponse of a specified response type on the given RestApi.

" - }, - "GetGatewayResponsesRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here.

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

Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

" - }, - "GetIntegrationRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a get integration request's resource identifier

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a get integration request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - } - }, - "documentation":"

Represents a request to get the integration configuration.

" - }, - "GetIntegrationResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a get integration response request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a get integration response request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] Specifies a get integration response request's status code.

", - "location":"uri", - "locationName":"status_code" - } - }, - "documentation":"

Represents a get integration response request.

" - }, - "GetMethodRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the Method resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies the method request's HTTP method type.

", - "location":"uri", - "locationName":"http_method" - } - }, - "documentation":"

Request to describe an existing Method resource.

" - }, - "GetMethodResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] The status code for the MethodResponse resource.

", - "location":"uri", - "locationName":"status_code" - } - }, - "documentation":"

Request to describe a MethodResponse resource.

" - }, - "GetModelRequest":{ - "type":"structure", - "required":[ - "restApiId", - "modelName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The RestApi identifier under which the Model exists.

", - "location":"uri", - "locationName":"restapi_id" - }, - "modelName":{ - "shape":"String", - "documentation":"

[Required] The name of the model as an identifier.

", - "location":"uri", - "locationName":"model_name" - }, - "flatten":{ - "shape":"Boolean", - "documentation":"

A query parameter of a Boolean value to resolve (true) all external model references and returns a flattened model schema or not (false) The default is false.

", - "location":"querystring", - "locationName":"flatten" - } - }, - "documentation":"

Request to list information about a model in an existing RestApi resource.

" - }, - "GetModelTemplateRequest":{ - "type":"structure", - "required":[ - "restApiId", - "modelName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "modelName":{ - "shape":"String", - "documentation":"

[Required] The name of the model for which to generate a template.

", - "location":"uri", - "locationName":"model_name" - } - }, - "documentation":"

Request to generate a sample mapping template used to transform the payload.

" - }, - "GetModelsRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Request to list existing Models defined for a RestApi resource.

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

[Required] The string identifier of the associated RestApi.

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

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

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

Gets a RequestValidator of a given RestApi.

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

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the RequestValidators collection of a given RestApi.

" - }, - "GetResourceRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The identifier for the Resource resource.

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

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

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

Request to list information about a resource.

" - }, - "GetResourcesRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

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

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", - "location":"querystring", - "locationName":"limit" - }, - "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.

" - }, - "GetRestApiRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - } - }, - "documentation":"

The GET request to list an existing RestApi defined for your collection.

" - }, - "GetRestApisRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

The GET request to list existing RestApis defined for your collection.

" - }, - "GetSdkRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName", - "sdkType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the Stage that the SDK will use.

", - "location":"uri", - "locationName":"stage_name" - }, - "sdkType":{ - "shape":"String", - "documentation":"

[Required] The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported.

", - "location":"uri", - "locationName":"sdk_type" - }, - "parameters":{ - "shape":"MapOfStringToString", - "documentation":"

A string-to-string key-value map of query parameters sdkType-dependent properties of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required. For sdkType of java, parameters named serviceName and javaPackageName are required.

", - "location":"querystring" - } - }, - "documentation":"

Request a new generated client SDK for a RestApi and Stage.

" - }, - "GetSdkTypeRequest":{ - "type":"structure", - "required":["id"], - "members":{ - "id":{ - "shape":"String", - "documentation":"

[Required] The identifier of the queried SdkType instance.

", - "location":"uri", - "locationName":"sdktype_id" - } - }, - "documentation":"

Get an SdkType instance.

" - }, - "GetSdkTypesRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Get the SdkTypes collection.

" - }, - "GetStageRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the Stage resource to get information about.

", - "location":"uri", - "locationName":"stage_name" - } - }, - "documentation":"

Requests API Gateway to get information about a Stage resource.

" - }, - "GetStagesRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "deploymentId":{ - "shape":"String", - "documentation":"

The stages' deployment identifiers.

", - "location":"querystring", - "locationName":"deploymentId" - } - }, - "documentation":"

Requests API Gateway to get information about one or more Stage resources.

" - }, - "GetTagsRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"String", - "documentation":"

[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.

", - "location":"uri", - "locationName":"resource_arn" - }, - "position":{ - "shape":"String", - "documentation":"

(Not currently supported) The current pagination position in the paged result set.

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

(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the Tags collection for a given resource.

" - }, - "GetUsagePlanKeyRequest":{ - "type":"structure", - "required":[ - "usagePlanId", - "keyId" - ], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", - "location":"uri", - "locationName":"usageplanId" - }, - "keyId":{ - "shape":"String", - "documentation":"

[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

", - "location":"uri", - "locationName":"keyId" - } - }, - "documentation":"

The GET request to get a usage plan key of a given key identifier.

" - }, - "GetUsagePlanKeysRequest":{ - "type":"structure", - "required":["usagePlanId"], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", - "location":"uri", - "locationName":"usageplanId" - }, - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", - "location":"querystring", - "locationName":"limit" - }, - "nameQuery":{ - "shape":"String", - "documentation":"

A query parameter specifying the name of the to-be-returned usage plan keys.

", - "location":"querystring", - "locationName":"name" - } - }, - "documentation":"

The GET request to get all the usage plan keys representing the API keys added to a specified usage plan.

" - }, - "GetUsagePlanRequest":{ - "type":"structure", - "required":["usagePlanId"], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the UsagePlan resource to be retrieved.

", - "location":"uri", - "locationName":"usageplanId" - } - }, - "documentation":"

The GET request to get a usage plan of a given plan identifier.

" - }, - "GetUsagePlansRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

", - "location":"querystring", - "locationName":"position" - }, - "keyId":{ - "shape":"String", - "documentation":"

The identifier of the API key associated with the usage plans.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

The GET request to get all the usage plans of the caller's account.

" - }, - "GetUsageRequest":{ - "type":"structure", - "required":[ - "usagePlanId", - "startDate", - "endDate" - ], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the usage plan associated with the usage data.

", - "location":"uri", - "locationName":"usageplanId" - }, - "keyId":{ - "shape":"String", - "documentation":"

The Id of the API key associated with the resultant usage data.

", - "location":"querystring", - "locationName":"keyId" - }, - "startDate":{ - "shape":"String", - "documentation":"

[Required] The starting date (e.g., 2016-01-01) of the usage data.

", - "location":"querystring", - "locationName":"startDate" - }, - "endDate":{ - "shape":"String", - "documentation":"

[Required] The ending date (e.g., 2016-12-31) of the usage data.

", - "location":"querystring", - "locationName":"endDate" - }, - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

The GET request to get the usage data of a usage plan in a specified time interval.

" - }, - "GetVpcLinkRequest":{ - "type":"structure", - "required":["vpcLinkId"], - "members":{ - "vpcLinkId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", - "location":"uri", - "locationName":"vpclink_id" - } - }, - "documentation":"

Gets a specified VPC link under the caller's account in a region.

" - }, - "GetVpcLinksRequest":{ - "type":"structure", - "members":{ - "position":{ - "shape":"String", - "documentation":"

The current pagination position in the paged result set.

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

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the VpcLinks collection under the caller's account in a selected region.

" - }, - "ImportApiKeysRequest":{ - "type":"structure", - "required":[ - "body", - "format" - ], - "members":{ - "body":{ - "shape":"Blob", - "documentation":"

The payload of the POST request to import API keys. For the payload format, see API Key File Format.

" - }, - "format":{ - "shape":"ApiKeysFormat", - "documentation":"

A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported.

", - "location":"querystring", - "locationName":"format" - }, - "failOnWarnings":{ - "shape":"Boolean", - "documentation":"

A query parameter to indicate whether to rollback ApiKey importation (true) or not (false) when error is encountered.

", - "location":"querystring", - "locationName":"failonwarnings" - } - }, - "documentation":"

The POST request to import API keys from an external source, such as a CSV-formatted file.

", - "payload":"body" - }, - "ImportDocumentationPartsRequest":{ - "type":"structure", - "required":[ - "restApiId", - "body" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "mode":{ - "shape":"PutMode", - "documentation":"

A query parameter to indicate whether to overwrite (OVERWRITE) any existing DocumentationParts definition or to merge (MERGE) the new definition into the existing one. The default value is MERGE.

", - "location":"querystring", - "locationName":"mode" - }, - "failOnWarnings":{ - "shape":"Boolean", - "documentation":"

A query parameter to specify whether to rollback the documentation importation (true) or not (false) when a warning is encountered. The default value is false.

", - "location":"querystring", - "locationName":"failonwarnings" - }, - "body":{ - "shape":"Blob", - "documentation":"

[Required] Raw byte array representing the to-be-imported documentation parts. To import from a Swagger file, this is a JSON object.

" - } - }, - "documentation":"

Import documentation parts from an external (e.g., Swagger) definition file.

", - "payload":"body" - }, - "ImportRestApiRequest":{ - "type":"structure", - "required":["body"], - "members":{ - "failOnWarnings":{ - "shape":"Boolean", - "documentation":"

A query parameter to indicate whether to rollback the API creation (true) or not (false) when a warning is encountered. The default value is false.

", - "location":"querystring", - "locationName":"failonwarnings" - }, - "parameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.

To exclude DocumentationParts from the import, set parameters as ignore=documentation.

To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE, endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE. The default endpoint type is EDGE.

To handle imported basePath, set parameters as basePath=ignore, basePath=prepend or basePath=split.

For example, the AWS CLI command to exclude documentation from the imported API is:

aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'

The AWS CLI command to set the regional endpoint on the imported API is:

aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL --body 'file:///path/to/imported-api-body.json'
", - "location":"querystring" - }, - "body":{ - "shape":"Blob", - "documentation":"

[Required] The POST request body containing external API definitions. Currently, only Swagger definition JSON files are supported. The maximum size of the API definition file is 2MB.

" - } - }, - "documentation":"

A POST request to import an API to API Gateway using an input of an API definition file.

", - "payload":"body" - }, - "Integer":{"type":"integer"}, - "Integration":{ - "type":"structure", - "members":{ - "type":{ - "shape":"IntegrationType", - "documentation":"

Specifies an API method integration type. The valid value is one of the following:

  • AWS: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.
  • AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.
  • HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.
  • HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.
  • MOCK: for integrating the API method request with API Gateway as a \"loop-back\" endpoint without invoking any backend.

For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.

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

Specifies the integration's HTTP method type.

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

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

" - }, - "connectionType":{ - "shape":"ConnectionType", - "documentation":"

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

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

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

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

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\\*:user/\\*. To use resource-based permissions on supported AWS services, specify null.

" - }, - "requestParameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

" - }, - "requestTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

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

Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in requestTemplates. The valid value is one of the following:

  • WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.
  • WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.
  • NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
" - }, - "contentHandling":{ - "shape":"ContentHandlingStrategy", - "documentation":"

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.

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

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

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

Specifies the integration's cache namespace.

" - }, - "cacheKeyParameters":{ - "shape":"ListOfString", - "documentation":"

Specifies the integration's cache key parameters.

" - }, - "integrationResponses":{ - "shape":"MapOfIntegrationResponse", - "documentation":"

Specifies the integration's responses.

Example: Get integration responses of a method

Request

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" }

" - } - }, - "documentation":"

Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.

In the API Gateway console, the built-in Lambda integration is an AWS integration.
" - }, - "IntegrationResponse":{ - "type":"structure", - "members":{ - "statusCode":{ - "shape":"StatusCode", - "documentation":"

Specifies the status code that is used to map the integration response to an existing MethodResponse.

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

Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. For example, if the success response returns nothing and the error response returns some string, you could use the .+ regex to match error response. However, make sure that the error response does not contain any newline (\\n) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched.

" - }, - "responseParameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

" - }, - "responseTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" - }, - "contentHandling":{ - "shape":"ContentHandlingStrategy", - "documentation":"

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

" - } - }, - "documentation":"

Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.

" - }, - "IntegrationType":{ - "type":"string", - "documentation":"

The integration type. The valid value is HTTP for integrating an API method with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing without actually invoking the backend; HTTP_PROXY for integrating with the HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.

", - "enum":[ - "HTTP", - "AWS", - "MOCK", - "HTTP_PROXY", - "AWS_PROXY" - ] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"String", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"String"} - }, - "documentation":"

The request exceeded the rate limit. Retry after the specified time period.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ListOfARNs":{ - "type":"list", - "member":{"shape":"ProviderARN"} - }, - "ListOfApiKey":{ - "type":"list", - "member":{"shape":"ApiKey"} - }, - "ListOfApiStage":{ - "type":"list", - "member":{"shape":"ApiStage"} - }, - "ListOfAuthorizer":{ - "type":"list", - "member":{"shape":"Authorizer"} - }, - "ListOfBasePathMapping":{ - "type":"list", - "member":{"shape":"BasePathMapping"} - }, - "ListOfClientCertificate":{ - "type":"list", - "member":{"shape":"ClientCertificate"} - }, - "ListOfDeployment":{ - "type":"list", - "member":{"shape":"Deployment"} - }, - "ListOfDocumentationPart":{ - "type":"list", - "member":{"shape":"DocumentationPart"} - }, - "ListOfDocumentationVersion":{ - "type":"list", - "member":{"shape":"DocumentationVersion"} - }, - "ListOfDomainName":{ - "type":"list", - "member":{"shape":"DomainName"} - }, - "ListOfEndpointType":{ - "type":"list", - "member":{"shape":"EndpointType"} - }, - "ListOfGatewayResponse":{ - "type":"list", - "member":{"shape":"GatewayResponse"} - }, - "ListOfLong":{ - "type":"list", - "member":{"shape":"Long"} - }, - "ListOfModel":{ - "type":"list", - "member":{"shape":"Model"} - }, - "ListOfPatchOperation":{ - "type":"list", - "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"} - }, - "ListOfRestApi":{ - "type":"list", - "member":{"shape":"RestApi"} - }, - "ListOfSdkConfigurationProperty":{ - "type":"list", - "member":{"shape":"SdkConfigurationProperty"} - }, - "ListOfSdkType":{ - "type":"list", - "member":{"shape":"SdkType"} - }, - "ListOfStage":{ - "type":"list", - "member":{"shape":"Stage"} - }, - "ListOfStageKeys":{ - "type":"list", - "member":{"shape":"StageKey"} - }, - "ListOfString":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListOfUsage":{ - "type":"list", - "member":{"shape":"ListOfLong"} - }, - "ListOfUsagePlan":{ - "type":"list", - "member":{"shape":"UsagePlan"} - }, - "ListOfUsagePlanKey":{ - "type":"list", - "member":{"shape":"UsagePlanKey"} - }, - "ListOfVpcLink":{ - "type":"list", - "member":{"shape":"VpcLink"} - }, - "LocationStatusType":{ - "type":"string", - "enum":[ - "DOCUMENTED", - "UNDOCUMENTED" - ] - }, - "Long":{"type":"long"}, - "MapOfApiStageThrottleSettings":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"ThrottleSettings"} - }, - "MapOfHeaderValues":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "MapOfIntegrationResponse":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"IntegrationResponse"} - }, - "MapOfKeyUsages":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"ListOfUsage"} - }, - "MapOfMethod":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"Method"} - }, - "MapOfMethodResponse":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"MethodResponse"} - }, - "MapOfMethodSettings":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"MethodSetting"} - }, - "MapOfMethodSnapshot":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"MethodSnapshot"} - }, - "MapOfStringToBoolean":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"NullableBoolean"} - }, - "MapOfStringToList":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"ListOfString"} - }, - "MapOfStringToString":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Method":{ - "type":"structure", - "members":{ - "httpMethod":{ - "shape":"String", - "documentation":"

The method's HTTP verb.

" - }, - "authorizationType":{ - "shape":"String", - "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", - "documentation":"

The identifier of an Authorizer to use on this method. The authorizationType must be CUSTOM.

" - }, - "apiKeyRequired":{ - "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.

" - }, - "requestParameters":{ - "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

" - }, - "requestModels":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map specifying data schemas, represented by Model resources, (as the mapped value) of the request payloads of given content types (as the mapping key).

" - }, - "methodResponses":{ - "shape":"MapOfMethodResponse", - "documentation":"

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.

Example: Get a 200 OK response of a GET method

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.operator\": false, \"method.response.header.operand_2\": false, \"method.response.header.operand_1\": false }, \"statusCode\": \"200\" }

" - }, - "methodIntegration":{ - "shape":"Integration", - "documentation":"

Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.

Example:

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"0cjtch\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestTemplates\": { \"application/json\": \"{\\n \\\"a\\\": \\\"$input.params('operand1')\\\",\\n \\\"b\\\": \\\"$input.params('operand2')\\\", \\n \\\"op\\\": \\\"$input.params('operator')\\\" \\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.operator\": \"integration.response.body.op\", \"method.response.header.operand_2\": \"integration.response.body.b\", \"method.response.header.operand_1\": \"integration.response.body.a\" }, \"responseTemplates\": { \"application/json\": \"#set($res = $input.path('$'))\\n{\\n \\\"result\\\": \\\"$res.a, $res.b, $res.op => $res.c\\\",\\n \\\"a\\\" : \\\"$res.a\\\",\\n \\\"b\\\" : \\\"$res.b\\\",\\n \\\"op\\\" : \\\"$res.op\\\",\\n \\\"c\\\" : \\\"$res.c\\\"\\n}\" }, \"selectionPattern\": \"\", \"statusCode\": \"200\" } } }

" - }, - "authorizationScopes":{ - "shape":"ListOfString", - "documentation":"

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" - } - }, - "documentation":"

Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.

Example: Retrive the GET method on a specified resource

Request

The following example request retrieves the information about the GET method on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": true, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\\\")\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

In the example above, the response template for the 200 OK response maps the JSON output from the ListStreams action in the back end to an XML output. The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E and the output is decoded using the $util.urlDecode() helper function.

" - }, - "MethodResponse":{ - "type":"structure", - "members":{ - "statusCode":{ - "shape":"StatusCode", - "documentation":"

The method response's status code.

" - }, - "responseParameters":{ - "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" - }, - "responseModels":{ - "shape":"MapOfStringToString", - "documentation":"

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

" - } - }, - "documentation":"

Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.

Example: A MethodResponse instance of an API

Request

The example request retrieves a MethodResponse of the 200 status code.

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" }

" - }, - "MethodSetting":{ - "type":"structure", - "members":{ - "metricsEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is /{method_setting_key}/metrics/enabled, and the value is a Boolean.

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

Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO.

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

Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

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

Specifies the throttling burst limit. The PATCH path for this setting is /{method_setting_key}/throttling/burstLimit, and the value is an integer.

" - }, - "throttlingRateLimit":{ - "shape":"Double", - "documentation":"

Specifies the throttling rate limit. The PATCH path for this setting is /{method_setting_key}/throttling/rateLimit, and the value is a double.

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

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is /{method_setting_key}/caching/enabled, and the value is a Boolean.

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

Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. The PATCH path for this setting is /{method_setting_key}/caching/ttlInSeconds, and the value is an integer.

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

Specifies whether the cached responses are encrypted. The PATCH path for this setting is /{method_setting_key}/caching/dataEncrypted, and the value is a Boolean.

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

Specifies whether authorization is required for a cache invalidation request. The PATCH path for this setting is /{method_setting_key}/caching/requireAuthorizationForCacheControl, and the value is a Boolean.

" - }, - "unauthorizedCacheControlHeaderStrategy":{ - "shape":"UnauthorizedCacheControlHeaderStrategy", - "documentation":"

Specifies how to handle unauthorized requests for cache invalidation. The PATCH path for this setting is /{method_setting_key}/caching/unauthorizedCacheControlHeaderStrategy, and the available values are FAIL_WITH_403, SUCCEED_WITH_RESPONSE_HEADER, SUCCEED_WITHOUT_RESPONSE_HEADER.

" - } - }, - "documentation":"

Specifies the method setting properties.

" - }, - "MethodSnapshot":{ - "type":"structure", - "members":{ - "authorizationType":{ - "shape":"String", - "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", - "documentation":"

Specifies whether the method requires a valid ApiKey.

" - } - }, - "documentation":"

Represents a summary of a Method resource, given a particular date and time.

" - }, - "Model":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier for the model resource.

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

The name of the model. Must be an alphanumeric string.

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

The description of the model.

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

The schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

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

The content-type for the model.

" - } - }, - "documentation":"

Represents the data structure of a method's request or response payload.

A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.

A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.

" - }, - "Models":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfModel", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of Model resources.

" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The requested resource is not found. Make sure that the request URI is correct.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NullableBoolean":{"type":"boolean"}, - "NullableInteger":{"type":"integer"}, - "Op":{ - "type":"string", - "enum":[ - "add", - "remove", - "replace", - "move", - "copy", - "test" - ] - }, - "PatchOperation":{ - "type":"structure", - "members":{ - "op":{ - "shape":"Op", - "documentation":"

An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

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

The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {\"name\":\"value\"}, the path for this property is /name. If the name property value is a JSON object (e.g., {\"name\": {\"child/name\": \"child-value\"}}), the path for the child/name property will be /name/child~1name. Any slash (\"/\") character appearing in path names must be escaped with \"~1\", as shown in the example above. Each op operation can have only one path associated with it.

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

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

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

The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with \"op\":\"copy\", \"from\":\"/canarySettings/deploymentId\" and \"path\":\"/deploymentId\".

" - } - }, - "documentation":"A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used." - }, - "PathToMapOfMethodSnapshot":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"MapOfMethodSnapshot"} - }, - "ProviderARN":{"type":"string"}, - "PutGatewayResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "responseType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "responseType":{ - "shape":"GatewayResponseType", - "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", - "location":"uri", - "locationName":"response_type" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"The HTTP status code of the GatewayResponse." - }, - "responseParameters":{ - "shape":"MapOfStringToString", - "documentation":"

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

" - }, - "responseTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

" - } - }, - "documentation":"

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

" - }, - "PutIntegrationRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "type" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a put integration request's resource ID.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a put integration request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "type":{ - "shape":"IntegrationType", - "documentation":"

[Required] Specifies a put integration input's type.

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

Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

", - "locationName":"httpMethod" - }, - "uri":{ - "shape":"String", - "documentation":"

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

" - }, - "connectionType":{ - "shape":"ConnectionType", - "documentation":"

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

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

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

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

Specifies whether credentials are required for a put integration.

" - }, - "requestParameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map specifying request parameters that are passed from the method request to the back end. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the back end. The method request parameter value must match the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name must be a valid and unique method request parameter name.

" - }, - "requestTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value.

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

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.

  • WHEN_NO_MATCH passes the request body for unmapped content types through to the integration back end without transformation.

  • NEVER rejects unmapped content types with an HTTP 415 'Unsupported Media Type' response.

  • WHEN_NO_TEMPLATES allows pass-through when the integration has NO content types mapped to templates. However if there is at least one content type defined, unmapped content types will be rejected with the same 415 response.

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

Specifies a put integration input's cache namespace.

" - }, - "cacheKeyParameters":{ - "shape":"ListOfString", - "documentation":"

Specifies a put integration input's cache key parameters.

" - }, - "contentHandling":{ - "shape":"ContentHandlingStrategy", - "documentation":"

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.

" - }, - "timeoutInMillis":{ - "shape":"NullableInteger", - "documentation":"

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

" - } - }, - "documentation":"

Sets up a method's integration.

" - }, - "PutIntegrationResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a put integration response request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a put integration response request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse.

", - "location":"uri", - "locationName":"status_code" - }, - "selectionPattern":{ - "shape":"String", - "documentation":"

Specifies the selection pattern of a put integration response.

" - }, - "responseParameters":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map specifying response parameters that are passed to the method response from the back end. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name must be a valid and unique response header name and JSON-expression a valid JSON expression without the $ prefix.

" - }, - "responseTemplates":{ - "shape":"MapOfStringToString", - "documentation":"

Specifies a put integration response's templates.

" - }, - "contentHandling":{ - "shape":"ContentHandlingStrategy", - "documentation":"

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

" - } - }, - "documentation":"

Represents a put integration response request.

" - }, - "PutMethodRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "authorizationType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the new Method resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies the method request's HTTP method type.

", - "location":"uri", - "locationName":"http_method" - }, - "authorizationType":{ - "shape":"String", - "documentation":"

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

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

Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by API Gateway when you created the authorizer.

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

Specifies whether the method required a valid ApiKey.

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

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

" - }, - "requestParameters":{ - "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

" - }, - "requestModels":{ - "shape":"MapOfStringToString", - "documentation":"

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

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

The identifier of a RequestValidator for validating the method request.

" - }, - "authorizationScopes":{ - "shape":"ListOfString", - "documentation":"

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" - } - }, - "documentation":"

Request to add a method to an existing Resource resource.

" - }, - "PutMethodResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the Method resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] The method response's status code.

", - "location":"uri", - "locationName":"status_code" - }, - "responseParameters":{ - "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" - }, - "responseModels":{ - "shape":"MapOfStringToString", - "documentation":"

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

" - } - }, - "documentation":"

Request to add a MethodResponse to an existing Method resource.

" - }, - "PutMode":{ - "type":"string", - "enum":[ - "merge", - "overwrite" - ] - }, - "PutRestApiRequest":{ - "type":"structure", - "required":[ - "restApiId", - "body" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "mode":{ - "shape":"PutMode", - "documentation":"

The mode query parameter to specify the update mode. Valid values are \"merge\" and \"overwrite\". By default, the update mode is \"merge\".

", - "location":"querystring", - "locationName":"mode" - }, - "failOnWarnings":{ - "shape":"Boolean", - "documentation":"

A query parameter to indicate whether to rollback the API update (true) or not (false) when a warning is encountered. The default value is false.

", - "location":"querystring", - "locationName":"failonwarnings" - }, - "parameters":{ - "shape":"MapOfStringToString", - "documentation":"

Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'.

", - "location":"querystring" - }, - "body":{ - "shape":"Blob", - "documentation":"

[Required] The PUT request body containing external API definitions. Currently, only Swagger definition JSON files are supported. The maximum size of the API definition file is 2MB.

" - } - }, - "documentation":"

A PUT request to update an existing API, with external API definitions specified as the request body.

", - "payload":"body" - }, - "QuotaPeriodType":{ - "type":"string", - "enum":[ - "DAY", - "WEEK", - "MONTH" - ] - }, - "QuotaSettings":{ - "type":"structure", - "members":{ - "limit":{ - "shape":"Integer", - "documentation":"

The maximum number of requests that can be made in a given time period.

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

The number of requests subtracted from the given limit in the initial time period.

" - }, - "period":{ - "shape":"QuotaPeriodType", - "documentation":"

The time period in which the limit applies. Valid values are \"DAY\", \"WEEK\" or \"MONTH\".

" - } - }, - "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 elements from this 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":{ - "id":{ - "shape":"String", - "documentation":"

The resource's identifier.

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

The parent resource's identifier.

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

The last path segment for this resource.

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

The full path for this resource.

" - }, - "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: 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.

" - }, - "Resources":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfResource", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of Resource resources.

" - }, - "RestApi":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The API's identifier. This identifier is unique across all of your APIs in API Gateway.

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

The API's name.

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

The API's description.

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

The timestamp when the API was created.

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

A version identifier for the API.

" - }, - "warnings":{ - "shape":"ListOfString", - "documentation":"

The warning messages reported when failonwarnings is turned on during API import.

" - }, - "binaryMediaTypes":{ - "shape":"ListOfString", - "documentation":"

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

" - }, - "minimumCompressionSize":{ - "shape":"NullableInteger", - "documentation":"

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

" - }, - "apiKeySource":{ - "shape":"ApiKeySourceType", - "documentation":"

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

" - }, - "endpointConfiguration":{ - "shape":"EndpointConfiguration", - "documentation":"

The endpoint configuration of this RestApi showing the endpoint types of the API.

" - }, - "policy":{ - "shape":"String", - "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." - } - }, - "documentation":"

Represents a REST API.

" - }, - "RestApis":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfRestApi", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Contains references to your APIs and links that guide you in how to interact with your collection. A collection offers a paginated view of your APIs.

" - }, - "SdkConfigurationProperty":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of a an SdkType configuration property.

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

The user-friendly name of an SdkType configuration property.

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

The description of an SdkType configuration property.

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

A boolean flag of an SdkType configuration property to indicate if the associated SDK configuration property is required (true) or not (false).

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

The default value of an SdkType configuration property.

" - } - }, - "documentation":"

A configuration property of an SDK type.

" - }, - "SdkResponse":{ - "type":"structure", - "members":{ - "contentType":{ - "shape":"String", - "documentation":"

The content-type header value in the HTTP response.

", - "location":"header", - "locationName":"Content-Type" - }, - "contentDisposition":{ - "shape":"String", - "documentation":"

The content-disposition header value in the HTTP response.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "body":{ - "shape":"Blob", - "documentation":"

The binary blob response to GetSdk, which contains the generated SDK.

" - } - }, - "documentation":"

The binary blob response to GetSdk, which contains the generated SDK.

", - "payload":"body" - }, - "SdkType":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier of an SdkType instance.

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

The user-friendly name of an SdkType instance.

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

The description of an SdkType.

" - }, - "configurationProperties":{ - "shape":"ListOfSdkConfigurationProperty", - "documentation":"

A list of configuration properties of an SdkType.

" - } - }, - "documentation":"

A type of SDK that API Gateway can generate.

" - }, - "SdkTypes":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfSdkType", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

The collection of SdkType instances.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"String", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"String"} - }, - "documentation":"

The requested service is not available. For details see the accompanying error message. Retry after the specified time period.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "Stage":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"String", - "documentation":"

The identifier of the Deployment that the stage points to.

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

The identifier of a client certificate for an API stage.

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

The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway.

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

The stage's description.

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

Specifies whether a cache cluster is enabled for the stage.

" - }, - "cacheClusterSize":{ - "shape":"CacheClusterSize", - "documentation":"

The size of the cache cluster for the stage, if enabled.

" - }, - "cacheClusterStatus":{ - "shape":"CacheClusterStatus", - "documentation":"

The status of the cache cluster for the stage, if enabled.

" - }, - "methodSettings":{ - "shape":"MapOfMethodSettings", - "documentation":"

A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\\*/\\* for overriding all methods in the stage.

" - }, - "variables":{ - "shape":"MapOfStringToString", - "documentation":"

A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The version of the associated API documentation.

" - }, - "accessLogSettings":{ - "shape":"AccessLogSettings", - "documentation":"

Settings for logging access in this stage.

" - }, - "canarySettings":{ - "shape":"CanarySettings", - "documentation":"

Settings for the canary deployment in this stage.

" - }, - "tags":{ - "shape":"MapOfStringToString", - "documentation":"

The collection of tags. Each tag element is associated with a given resource.

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

The timestamp when the stage was created.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "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.

" - }, - "StageKey":{ - "type":"structure", - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

The string identifier of the associated RestApi.

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

The stage name associated with the stage key.

" - } - }, - "documentation":"

A reference to a unique stage identified in the format {restApiId}/{stage}.

" - }, - "Stages":{ - "type":"structure", - "members":{ - "item":{ - "shape":"ListOfStage", - "documentation":"

The current page of elements from this collection.

" - } - }, - "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" - }, - "StatusCode":{ - "type":"string", - "documentation":"

The status code.

", - "pattern":"[1-5]\\d\\d" - }, - "String":{"type":"string"}, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tags" - ], - "members":{ - "resourceArn":{ - "shape":"String", - "documentation":"

[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.

", - "location":"uri", - "locationName":"resource_arn" - }, - "tags":{ - "shape":"MapOfStringToString", - "documentation":"

[Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" - } - }, - "documentation":"

Adds or updates a tag on a given resource.

" - }, - "Tags":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"MapOfStringToString", - "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" - } - }, - "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" - }, - "Template":{ - "type":"structure", - "members":{ - "value":{ - "shape":"String", - "documentation":"

The Apache Velocity Template Language (VTL) template content used for the template resource.

" - } - }, - "documentation":"

Represents a mapping template used to transform a payload.

" - }, - "TestInvokeAuthorizerRequest":{ - "type":"structure", - "required":[ - "restApiId", - "authorizerId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "authorizerId":{ - "shape":"String", - "documentation":"

[Required] Specifies a test invoke authorizer request's Authorizer ID.

", - "location":"uri", - "locationName":"authorizer_id" - }, - "headers":{ - "shape":"MapOfHeaderValues", - "documentation":"

[Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.

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

[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

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

[Optional] The simulated request body of an incoming invocation request.

" - }, - "stageVariables":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map of stage variables to simulate an invocation on a deployed Stage.

" - }, - "additionalContext":{ - "shape":"MapOfStringToString", - "documentation":"

[Optional] A key-value map of additional context variables.

" - } - }, - "documentation":"

Make a request to simulate the execution of an Authorizer.

" - }, - "TestInvokeAuthorizerResponse":{ - "type":"structure", - "members":{ - "clientStatus":{ - "shape":"Integer", - "documentation":"

The HTTP status code that the client would have received. Value is 0 if the authorizer succeeded.

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

The API Gateway execution log for the test authorizer request.

" - }, - "latency":{ - "shape":"Long", - "documentation":"

The execution latency of the test authorizer request.

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

The principal identity returned by the Authorizer

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

The JSON policy document returned by the Authorizer

" - }, - "authorization":{"shape":"MapOfStringToList"}, - "claims":{ - "shape":"MapOfStringToString", - "documentation":"

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

" - } - }, - "documentation":"

Represents the response of the test invoke request for a custom Authorizer

" - }, - "TestInvokeMethodRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies a test invoke method request's resource ID.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies a test invoke method request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "pathWithQueryString":{ - "shape":"String", - "documentation":"

The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

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

The simulated request body of an incoming invocation request.

" - }, - "headers":{ - "shape":"MapOfHeaderValues", - "documentation":"

A key-value map of headers to simulate an incoming invocation request.

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

A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.

" - }, - "stageVariables":{ - "shape":"MapOfStringToString", - "documentation":"

A key-value map of stage variables to simulate an invocation on a deployed Stage.

" - } - }, - "documentation":"

Make a request to simulate the execution of a Method.

" - }, - "TestInvokeMethodResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"Integer", - "documentation":"

The HTTP status code.

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

The body of the HTTP response.

" - }, - "headers":{ - "shape":"MapOfHeaderValues", - "documentation":"

The headers of the HTTP response.

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

The API Gateway execution log for the test invoke request.

" - }, - "latency":{ - "shape":"Long", - "documentation":"

The execution latency of the test invoke request.

" - } - }, - "documentation":"

Represents the response of the test invoke request in the HTTP method.

" - }, - "ThrottleSettings":{ - "type":"structure", - "members":{ - "burstLimit":{ - "shape":"Integer", - "documentation":"

The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.

" - }, - "rateLimit":{ - "shape":"Double", - "documentation":"

The API request steady-state rate limit.

" - } - }, - "documentation":"

The API request rate limits.

" - }, - "Timestamp":{"type":"timestamp"}, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"String", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"String"} - }, - "documentation":"

The request has reached its throttling limit. Retry after the specified time period.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UnauthorizedCacheControlHeaderStrategy":{ - "type":"string", - "enum":[ - "FAIL_WITH_403", - "SUCCEED_WITH_RESPONSE_HEADER", - "SUCCEED_WITHOUT_RESPONSE_HEADER" - ] - }, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The request is denied because the caller has insufficient permissions.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tagKeys" - ], - "members":{ - "resourceArn":{ - "shape":"String", - "documentation":"

[Required] The ARN of a resource that can be tagged. The resource ARN must be URL-encoded. At present, Stage is the only taggable resource.

", - "location":"uri", - "locationName":"resource_arn" - }, - "tagKeys":{ - "shape":"ListOfString", - "documentation":"

[Required] The Tag keys to delete.

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

Removes a tag from a given resource.

" - }, - "UpdateAccountRequest":{ - "type":"structure", - "members":{ - "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":"

Requests API Gateway to change information about the current Account resource.

" - }, - "UpdateApiKeyRequest":{ - "type":"structure", - "required":["apiKey"], - "members":{ - "apiKey":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ApiKey resource to be updated.

", - "location":"uri", - "locationName":"api_Key" - }, - "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":"

A request to change information about an ApiKey resource.

" - }, - "UpdateAuthorizerRequest":{ - "type":"structure", - "required":[ - "restApiId", - "authorizerId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "authorizerId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Authorizer resource.

", - "location":"uri", - "locationName":"authorizer_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":"

Request to update an existing Authorizer resource.

" - }, - "UpdateBasePathMappingRequest":{ - "type":"structure", - "required":[ - "domainName", - "basePath" - ], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The domain name of the BasePathMapping resource to change.

", - "location":"uri", - "locationName":"domain_name" - }, - "basePath":{ - "shape":"String", - "documentation":"

[Required] The base path of the BasePathMapping resource to change.

", - "location":"uri", - "locationName":"base_path" - }, - "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":"

A request to change information about the BasePathMapping resource.

" - }, - "UpdateClientCertificateRequest":{ - "type":"structure", - "required":["clientCertificateId"], - "members":{ - "clientCertificateId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the ClientCertificate resource to be updated.

", - "location":"uri", - "locationName":"clientcertificate_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":"

A request to change information about an ClientCertificate resource.

" - }, - "UpdateDeploymentRequest":{ - "type":"structure", - "required":[ - "restApiId", - "deploymentId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "deploymentId":{ - "shape":"String", - "documentation":"

The replacement identifier for the Deployment resource to change information about.

", - "location":"uri", - "locationName":"deployment_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":"

Requests API Gateway to change information about a Deployment resource.

" - }, - "UpdateDocumentationPartRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationPartId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationPartId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the to-be-updated documentation part.

", - "location":"uri", - "locationName":"part_id" - }, - "patchOperations":{ - "shape":"ListOfPatchOperation", - "documentation":"

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

" - } - }, - "documentation":"

Updates an existing documentation part of a given API.

" - }, - "UpdateDocumentationVersionRequest":{ - "type":"structure", - "required":[ - "restApiId", - "documentationVersion" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi..

", - "location":"uri", - "locationName":"restapi_id" - }, - "documentationVersion":{ - "shape":"String", - "documentation":"

[Required] The version identifier of the to-be-updated documentation version.

", - "location":"uri", - "locationName":"doc_version" - }, - "patchOperations":{ - "shape":"ListOfPatchOperation", - "documentation":"

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

" - } - }, - "documentation":"

Updates an existing documentation version of an API.

" - }, - "UpdateDomainNameRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"String", - "documentation":"

[Required] The name of the DomainName resource to be changed.

", - "location":"uri", - "locationName":"domain_name" - }, - "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":"

A request to change information about the DomainName resource.

" - }, - "UpdateGatewayResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "responseType" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "responseType":{ - "shape":"GatewayResponseType", - "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", - "location":"uri", - "locationName":"response_type" - }, - "patchOperations":{ - "shape":"ListOfPatchOperation", - "documentation":"

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

" - } - }, - "documentation":"

Updates a GatewayResponse of a specified response type on the given RestApi.

" - }, - "UpdateIntegrationRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Represents an update integration request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Represents an update integration request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "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":"

Represents an update integration request.

" - }, - "UpdateIntegrationResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] Specifies an update integration response request's resource identifier.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] Specifies an update integration response request's HTTP method.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] Specifies an update integration response request's status code.

", - "location":"uri", - "locationName":"status_code" - }, - "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":"

Represents an update integration response request.

" - }, - "UpdateMethodRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the Method resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - }, - "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":"

Request to update an existing Method resource.

" - }, - "UpdateMethodResponseRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId", - "httpMethod", - "statusCode" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", - "location":"uri", - "locationName":"resource_id" - }, - "httpMethod":{ - "shape":"String", - "documentation":"

[Required] The HTTP verb of the Method resource.

", - "location":"uri", - "locationName":"http_method" - }, - "statusCode":{ - "shape":"StatusCode", - "documentation":"

[Required] The status code for the MethodResponse resource.

", - "location":"uri", - "locationName":"status_code" - }, - "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":"

A request to update an existing MethodResponse resource.

" - }, - "UpdateModelRequest":{ - "type":"structure", - "required":[ - "restApiId", - "modelName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "modelName":{ - "shape":"String", - "documentation":"

[Required] The name of the model to update.

", - "location":"uri", - "locationName":"model_name" - }, - "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":"

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

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

[Required] The string identifier of the associated RestApi.

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

[Required] The identifier of RequestValidator to be updated.

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

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

" - } - }, - "documentation":"

Updates a RequestValidator of a given RestApi.

" - }, - "UpdateResourceRequest":{ - "type":"structure", - "required":[ - "restApiId", - "resourceId" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "resourceId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the Resource resource.

", - "location":"uri", - "locationName":"resource_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":"

Request to change information about a Resource resource.

" - }, - "UpdateRestApiRequest":{ - "type":"structure", - "required":["restApiId"], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_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":"

Request to update an existing RestApi resource in your collection.

" - }, - "UpdateStageRequest":{ - "type":"structure", - "required":[ - "restApiId", - "stageName" - ], - "members":{ - "restApiId":{ - "shape":"String", - "documentation":"

[Required] The string identifier of the associated RestApi.

", - "location":"uri", - "locationName":"restapi_id" - }, - "stageName":{ - "shape":"String", - "documentation":"

[Required] The name of the Stage resource to change information about.

", - "location":"uri", - "locationName":"stage_name" - }, - "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":"

Requests API Gateway to change information about a Stage resource.

" - }, - "UpdateUsagePlanRequest":{ - "type":"structure", - "required":["usagePlanId"], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the to-be-updated usage plan.

", - "location":"uri", - "locationName":"usageplanId" - }, - "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":"

The PATCH request to update a usage plan of a given plan Id.

" - }, - "UpdateUsageRequest":{ - "type":"structure", - "required":[ - "usagePlanId", - "keyId" - ], - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

[Required] The Id of the usage plan associated with the usage data.

", - "location":"uri", - "locationName":"usageplanId" - }, - "keyId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

", - "location":"uri", - "locationName":"keyId" - }, - "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":"

The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.

" - }, - "UpdateVpcLinkRequest":{ - "type":"structure", - "required":["vpcLinkId"], - "members":{ - "vpcLinkId":{ - "shape":"String", - "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", - "location":"uri", - "locationName":"vpclink_id" - }, - "patchOperations":{ - "shape":"ListOfPatchOperation", - "documentation":"

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

" - } - }, - "documentation":"

Updates an existing VpcLink of a specified identifier.

" - }, - "Usage":{ - "type":"structure", - "members":{ - "usagePlanId":{ - "shape":"String", - "documentation":"

The plan Id associated with this usage data.

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

The starting date of the usage data.

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

The ending date of the usage data.

" - }, - "position":{"shape":"String"}, - "items":{ - "shape":"MapOfKeyUsages", - "documentation":"

The usage data, as daily logs of used and remaining quotas, over the specified time interval indexed over the API keys in a usage plan. For example, {..., \"values\" : { \"{api_key}\" : [ [0, 100], [10, 90], [100, 10]]}, where {api_key} stands for an API key value and the daily log entry is of the format [used quota, remaining quota].

", - "locationName":"values" - } - }, - "documentation":"

Represents the usage data of a usage plan.

" - }, - "UsagePlan":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier of a UsagePlan resource.

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

The name of a usage plan.

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

The description of a usage plan.

" - }, - "apiStages":{ - "shape":"ListOfApiStage", - "documentation":"

The associated API stages of a usage plan.

" - }, - "throttle":{ - "shape":"ThrottleSettings", - "documentation":"

The request throttle limits of a usage plan.

" - }, - "quota":{ - "shape":"QuotaSettings", - "documentation":"

The maximum number of permitted requests per a given unit time interval.

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

The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.

" - } - }, - "documentation":"

Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.

In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.

" - }, - "UsagePlanKey":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The Id of a usage plan key.

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

The type of a usage plan key. Currently, the valid key type is API_KEY.

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

The value of a usage plan key.

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

The name of a usage plan key.

" - } - }, - "documentation":"

Represents a usage plan key to identify a plan customer.

To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.

\" " - }, - "UsagePlanKeys":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfUsagePlanKey", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents the collection of usage plan keys added to usage plans for the associated API keys and, possibly, other types of keys.

" - }, - "UsagePlans":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfUsagePlan", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

Represents a collection of usage plans for an AWS account.

" - }, - "VpcLink":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

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

The name used to label and identify the VPC link.

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

The description of the VPC link.

" - }, - "targetArns":{ - "shape":"ListOfString", - "documentation":"

The ARNs of network load balancers of the VPC targeted by the VPC link. The network load balancers must be owned by the same AWS account of the API owner.

" - }, - "status":{ - "shape":"VpcLinkStatus", - "documentation":"

The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING, or FAILED. Deploying an API will wait if the status is PENDING and will fail if the status is DELETING.

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

A description about the VPC link status.

" - } - }, - "documentation":"

A API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).

To enable access to a resource in an Amazon Virtual Private Cloud through Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted for one or more network load balancers of the VPC and then integrate an API method with a private integration that uses the VpcLink. The private integration has an integration type of HTTP or HTTP_PROXY and has a connection type of VPC_LINK. The integration uses the connectionId property to identify the VpcLink used.

" - }, - "VpcLinkStatus":{ - "type":"string", - "enum":[ - "AVAILABLE", - "PENDING", - "DELETING", - "FAILED" - ] - }, - "VpcLinks":{ - "type":"structure", - "members":{ - "position":{"shape":"String"}, - "items":{ - "shape":"ListOfVpcLink", - "documentation":"

The current page of elements from this collection.

", - "locationName":"item" - } - }, - "documentation":"

The collection of VPC links under the caller's account in a region.

" - } - }, - "documentation":"Amazon API Gateway

Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/examples-1.json deleted file mode 100644 index 53415ece..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/examples-1.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/paginators-1.json deleted file mode 100644 index 178af24d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "DescribeScalableTargets": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ScalableTargets" - }, - "DescribeScalingActivities": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ScalingActivities" - }, - "DescribeScalingPolicies": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ScalingPolicies" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/service-2.json deleted file mode 100644 index 6ea4e64a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/application-autoscaling/2016-02-06/service-2.json +++ /dev/null @@ -1,1183 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-02-06", - "endpointPrefix":"autoscaling", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Application Auto Scaling", - "serviceId":"Application Auto Scaling", - "signatureVersion":"v4", - "signingName":"application-autoscaling", - "targetPrefix":"AnyScaleFrontendService", - "uid":"application-autoscaling-2016-02-06" - }, - "operations":{ - "DeleteScalingPolicy":{ - "name":"DeleteScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteScalingPolicyRequest"}, - "output":{"shape":"DeleteScalingPolicyResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deletes the specified Application Auto Scaling scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

To create a scaling policy or update an existing one, see PutScalingPolicy.

" - }, - "DeleteScheduledAction":{ - "name":"DeleteScheduledAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteScheduledActionRequest"}, - "output":{"shape":"DeleteScheduledActionResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deletes the specified Application Auto Scaling scheduled action.

" - }, - "DeregisterScalableTarget":{ - "name":"DeregisterScalableTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterScalableTargetRequest"}, - "output":{"shape":"DeregisterScalableTargetResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deregisters a scalable target.

Deregistering a scalable target deletes the scaling policies that are associated with it.

To create a scalable target or update an existing one, see RegisterScalableTarget.

" - }, - "DescribeScalableTargets":{ - "name":"DescribeScalableTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalableTargetsRequest"}, - "output":{"shape":"DescribeScalableTargetsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Gets information about the scalable targets in the specified namespace.

You can filter the results using the ResourceIds and ScalableDimension parameters.

To create a scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it using DeregisterScalableTarget.

" - }, - "DescribeScalingActivities":{ - "name":"DescribeScalingActivities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingActivitiesRequest"}, - "output":{"shape":"DescribeScalingActivitiesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.

You can filter the results using the ResourceId and ScalableDimension parameters.

Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the scaling policies for a service namespace, see DescribeScalingPolicies. To create a scaling policy or update an existing one, see PutScalingPolicy.

" - }, - "DescribeScalingPolicies":{ - "name":"DescribeScalingPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingPoliciesRequest"}, - "output":{"shape":"DescribeScalingPoliciesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"FailedResourceAccessException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Describes the scaling policies for the specified service namespace.

You can filter the results using the ResourceId, ScalableDimension, and PolicyNames parameters.

To create a scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.

" - }, - "DescribeScheduledActions":{ - "name":"DescribeScheduledActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledActionsRequest"}, - "output":{"shape":"DescribeScheduledActionsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Describes the scheduled actions for the specified service namespace.

You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames parameters.

To create a scheduled action or update an existing one, see PutScheduledAction. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.

" - }, - "PutScalingPolicy":{ - "name":"PutScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutScalingPolicyRequest"}, - "output":{"shape":"PutScalingPolicyResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"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 until you register the 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.

" - }, - "PutScheduledAction":{ - "name":"PutScheduledAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutScheduledActionRequest"}, - "output":{"shape":"PutScheduledActionResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

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

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you register the scalable target using RegisterScalableTarget.

To update an action, specify its name and the parameters that you want to change. If you don't specify start and end times, the old values are deleted. Any other parameters that you don't specify are not changed by this update request.

You can view the scheduled actions using DescribeScheduledActions. If you are no longer using a scheduled action, you can delete it using DeleteScheduledAction.

" - }, - "RegisterScalableTarget":{ - "name":"RegisterScalableTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterScalableTargetRequest"}, - "output":{"shape":"RegisterScalableTargetResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Registers or updates a scalable target. A scalable target is a resource that Application Auto Scaling can scale out or scale in. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for its scalable dimension.

After you register a scalable target, you can create and apply scaling policies using PutScalingPolicy. You can view the scaling policies for a service namespace using DescribeScalableTargets. If you no longer need a scalable target, you can deregister it using DeregisterScalableTarget.

" - } - }, - "shapes":{ - "AdjustmentType":{ - "type":"string", - "enum":[ - "ChangeInCapacity", - "PercentChangeInCapacity", - "ExactCapacity" - ] - }, - "Alarm":{ - "type":"structure", - "required":[ - "AlarmName", - "AlarmARN" - ], - "members":{ - "AlarmName":{ - "shape":"ResourceId", - "documentation":"

The name of the alarm.

" - }, - "AlarmARN":{ - "shape":"ResourceId", - "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" - } - }, - "documentation":"

Represents a CloudWatch alarm associated with a scaling policy.

" - }, - "Alarms":{ - "type":"list", - "member":{"shape":"Alarm"} - }, - "ConcurrentUpdateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Concurrent updates caused an exception, for example, if you request an update to an Application Auto Scaling resource that already has a pending update.

", - "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":[ - "PolicyName", - "ServiceNamespace", - "ResourceId", - "ScalableDimension" - ], - "members":{ - "PolicyName":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The name of the scaling policy.

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

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

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

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

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

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

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

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

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

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

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

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

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

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

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - } - } - }, - "DeleteScalingPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteScheduledActionRequest":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ScheduledActionName", - "ResourceId" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "ScheduledActionName":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The name of the scheduled action.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

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

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

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

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - } - } - }, - "DeleteScheduledActionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeregisterScalableTargetRequest":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ResourceId", - "ScalableDimension" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "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.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - } - } - }, - "DeregisterScalableTargetResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeScalableTargetsRequest":{ - "type":"structure", - "required":["ServiceNamespace"], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "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.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScalableTargetsResponse":{ - "type":"structure", - "members":{ - "ScalableTargets":{ - "shape":"ScalableTargets", - "documentation":"

The scalable targets that match the request parameters.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DescribeScalingActivitiesRequest":{ - "type":"structure", - "required":["ServiceNamespace"], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScalingActivitiesResponse":{ - "type":"structure", - "members":{ - "ScalingActivities":{ - "shape":"ScalingActivities", - "documentation":"

A list of scaling activity objects.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DescribeScalingPoliciesRequest":{ - "type":"structure", - "required":["ServiceNamespace"], - "members":{ - "PolicyNames":{ - "shape":"ResourceIdsMaxLen1600", - "documentation":"

The names of the scaling policies to describe.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScalingPoliciesResponse":{ - "type":"structure", - "members":{ - "ScalingPolicies":{ - "shape":"ScalingPolicies", - "documentation":"

Information about the scaling policies.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DescribeScheduledActionsRequest":{ - "type":"structure", - "required":["ServiceNamespace"], - "members":{ - "ScheduledActionNames":{ - "shape":"ResourceIdsMaxLen1600", - "documentation":"

The names of the scheduled actions to describe.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scheduled action results. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScheduledActionsResponse":{ - "type":"structure", - "members":{ - "ScheduledActions":{ - "shape":"ScheduledActions", - "documentation":"

Information about the scheduled actions.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DisableScaleIn":{"type":"boolean"}, - "ErrorMessage":{"type":"string"}, - "FailedResourceAccessException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms on your behalf.

", - "exception":true - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service encountered an internal error.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The next token supplied was invalid.

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", - "exception":true - }, - "MaxResults":{"type":"integer"}, - "MetricAggregationType":{ - "type":"string", - "enum":[ - "Average", - "Minimum", - "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", - "ALBRequestCountPerTarget", - "RDSReaderAverageCPUUtilization", - "RDSReaderAverageDatabaseConnections", - "EC2SpotFleetRequestAverageCPUUtilization", - "EC2SpotFleetRequestAverageNetworkIn", - "EC2SpotFleetRequestAverageNetworkOut", - "SageMakerVariantInvocationsPerInstance", - "ECSServiceAverageCPUUtilization", - "ECSServiceAverageMemoryUtilization" - ] - }, - "MetricUnit":{"type":"string"}, - "MinAdjustmentMagnitude":{"type":"integer"}, - "ObjectNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified object could not be found. For any operation that depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any operation that deletes or deregisters a resource, this exception is thrown if the resource cannot be found.

", - "exception":true - }, - "PolicyName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"\\p{Print}+" - }, - "PolicyType":{ - "type":"string", - "enum":[ - "StepScaling", - "TargetTrackingScaling" - ] - }, - "PredefinedMetricSpecification":{ - "type":"structure", - "required":["PredefinedMetricType"], - "members":{ - "PredefinedMetricType":{ - "shape":"MetricType", - "documentation":"

The metric type. The ALBRequestCountPerTarget metric type applies only to Spot fleet requests and ECS services.

" - }, - "ResourceLabel":{ - "shape":"ResourceLabel", - "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot fleet request or ECS service.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" - } - }, - "documentation":"

Configures a predefined metric for a target tracking policy.

" - }, - "PutScalingPolicyRequest":{ - "type":"structure", - "required":[ - "PolicyName", - "ServiceNamespace", - "ResourceId", - "ScalableDimension" - ], - "members":{ - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the scaling policy.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

The policy type. This parameter is required if you are creating a policy.

For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. For any other service, only StepScaling is supported.

" - }, - "StepScalingPolicyConfiguration":{ - "shape":"StepScalingPolicyConfiguration", - "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 policy and the policy type is TargetTrackingScaling.

" - } - } - }, - "PutScalingPolicyResponse":{ - "type":"structure", - "required":["PolicyARN"], - "members":{ - "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.

" - } - } - }, - "PutScheduledActionRequest":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ScheduledActionName", - "ResourceId" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "Schedule":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - at(yyyy-mm-ddThh:mm:ss)

  • Rate expressions - rate(value unit)

  • Cron expressions - cron(fields)

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" - }, - "ScheduledActionName":{ - "shape":"ScheduledActionName", - "documentation":"

The name of the scheduled action.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This parameter is required if you are creating a scheduled action. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The date and time for the scheduled action to start.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The date and time for the scheduled action to end.

" - }, - "ScalableTargetAction":{ - "shape":"ScalableTargetAction", - "documentation":"

The new minimum and maximum capacity. You can set both values or just one. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.

" - } - } - }, - "PutScheduledActionResponse":{ - "type":"structure", - "members":{ - } - }, - "RegisterScalableTargetRequest":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ResourceId", - "ScalableDimension" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "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.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MinCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The minimum value to scale to in response to a scale in event. This parameter is required if you are registering a scalable target.

" - }, - "MaxCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The maximum value to scale to in response to a scale out event. This parameter is required if you are registering a scalable target.

" - }, - "RoleARN":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

Application Auto Scaling creates a service-linked role that grants it permissions to modify the scalable target on your behalf. For more information, see Service-Linked Roles for Application Auto Scaling.

For resources that are not supported using a service-linked role, this parameter is required and must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

" - } - } - }, - "RegisterScalableTargetResponse":{ - "type":"structure", - "members":{ - } - }, - "ResourceCapacity":{"type":"integer"}, - "ResourceId":{ - "type":"string", - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "ResourceIdMaxLen1600":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "ResourceIdsMaxLen1600":{ - "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", - "appstream:fleet:DesiredCapacity", - "dynamodb:table:ReadCapacityUnits", - "dynamodb:table:WriteCapacityUnits", - "dynamodb:index:ReadCapacityUnits", - "dynamodb:index:WriteCapacityUnits", - "rds:cluster:ReadReplicaCount", - "sagemaker:variant:DesiredInstanceCount", - "custom-resource:ResourceType:Property" - ] - }, - "ScalableTarget":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ResourceId", - "ScalableDimension", - "MinCapacity", - "MaxCapacity", - "RoleARN", - "CreationTime" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "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.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "MinCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The minimum value to scale to in response to a scale in event.

" - }, - "MaxCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The maximum value to scale to in response to a scale out event.

" - }, - "RoleARN":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

" - }, - "CreationTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp for when the scalable target was created.

" - } - }, - "documentation":"

Represents a scalable target.

" - }, - "ScalableTargetAction":{ - "type":"structure", - "members":{ - "MinCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The minimum capacity.

" - }, - "MaxCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The maximum capacity.

" - } - }, - "documentation":"

Represents the minimum and maximum capacity for a scheduled action.

" - }, - "ScalableTargets":{ - "type":"list", - "member":{"shape":"ScalableTarget"} - }, - "ScalingActivities":{ - "type":"list", - "member":{"shape":"ScalingActivity"} - }, - "ScalingActivity":{ - "type":"structure", - "required":[ - "ActivityId", - "ServiceNamespace", - "ResourceId", - "ScalableDimension", - "Description", - "Cause", - "StartTime", - "StatusCode" - ], - "members":{ - "ActivityId":{ - "shape":"ResourceId", - "documentation":"

The unique identifier of the scaling activity.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "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.

  • 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.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "Description":{ - "shape":"XmlString", - "documentation":"

A simple description of what action the scaling activity intends to accomplish.

" - }, - "Cause":{ - "shape":"XmlString", - "documentation":"

A simple description of what caused the scaling activity to happen.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp for when the scaling activity began.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp for when the scaling activity ended.

" - }, - "StatusCode":{ - "shape":"ScalingActivityStatusCode", - "documentation":"

Indicates the status of the scaling activity.

" - }, - "StatusMessage":{ - "shape":"XmlString", - "documentation":"

A simple message about the current status of the scaling activity.

" - }, - "Details":{ - "shape":"XmlString", - "documentation":"

The details about the scaling activity.

" - } - }, - "documentation":"

Represents a scaling activity.

" - }, - "ScalingActivityStatusCode":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Successful", - "Overridden", - "Unfulfilled", - "Failed" - ] - }, - "ScalingAdjustment":{"type":"integer"}, - "ScalingPolicies":{ - "type":"list", - "member":{"shape":"ScalingPolicy"} - }, - "ScalingPolicy":{ - "type":"structure", - "required":[ - "PolicyARN", - "PolicyName", - "ServiceNamespace", - "ResourceId", - "ScalableDimension", - "PolicyType", - "CreationTime" - ], - "members":{ - "PolicyARN":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The Amazon Resource Name (ARN) of the scaling policy.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the scaling policy.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

The scaling policy type.

" - }, - "StepScalingPolicyConfiguration":{ - "shape":"StepScalingPolicyConfiguration", - "documentation":"

A step scaling policy.

" - }, - "TargetTrackingScalingPolicyConfiguration":{ - "shape":"TargetTrackingScalingPolicyConfiguration", - "documentation":"

A target tracking policy.

" - }, - "Alarms":{ - "shape":"Alarms", - "documentation":"

The CloudWatch alarms associated with the scaling policy.

" - }, - "CreationTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp for when the scaling policy was created.

" - } - }, - "documentation":"

Represents a scaling policy.

" - }, - "ScheduledAction":{ - "type":"structure", - "required":[ - "ScheduledActionName", - "ScheduledActionARN", - "ServiceNamespace", - "Schedule", - "ResourceId", - "CreationTime" - ], - "members":{ - "ScheduledActionName":{ - "shape":"ScheduledActionName", - "documentation":"

The name of the scheduled action.

" - }, - "ScheduledActionARN":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The Amazon Resource Name (ARN) of the scheduled action.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" - }, - "Schedule":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - at(yyyy-mm-ddThh:mm:ss)

  • Rate expressions - rate(value unit)

  • Cron expressions - cron(fields)

At expressions are useful for one-time schedules. Specify the time, in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variants - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to begin.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to end.

" - }, - "ScalableTargetAction":{ - "shape":"ScalableTargetAction", - "documentation":"

The new minimum and maximum capacity. You can set both values or just one. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.

" - }, - "CreationTime":{ - "shape":"TimestampType", - "documentation":"

The date and time that the scheduled action was created.

" - } - }, - "documentation":"

Represents a scheduled action.

" - }, - "ScheduledActionName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"(?!((^[ ]+.*)|(.*([\\u0000-\\u001f]|[\\u007f-\\u009f]|[:/|])+.*)|(.*[ ]+$))).+" - }, - "ScheduledActions":{ - "type":"list", - "member":{"shape":"ScheduledAction"} - }, - "ServiceNamespace":{ - "type":"string", - "enum":[ - "ecs", - "elasticmapreduce", - "ec2", - "appstream", - "dynamodb", - "rds", - "sagemaker", - "custom-resource" - ] - }, - "StepAdjustment":{ - "type":"structure", - "required":["ScalingAdjustment"], - "members":{ - "MetricIntervalLowerBound":{ - "shape":"MetricScale", - "documentation":"

The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.

" - }, - "MetricIntervalUpperBound":{ - "shape":"MetricScale", - "documentation":"

The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.

The upper bound must be greater than the lower bound.

" - }, - "ScalingAdjustment":{ - "shape":"ScalingAdjustment", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current scalable dimension while a negative number removes from the current scalable dimension.

" - } - }, - "documentation":"

Represents a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" - }, - "StepAdjustments":{ - "type":"list", - "member":{"shape":"StepAdjustment"} - }, - "StepScalingPolicyConfiguration":{ - "type":"structure", - "members":{ - "AdjustmentType":{ - "shape":"AdjustmentType", - "documentation":"

The adjustment type, which specifies how the ScalingAdjustment parameter in a StepAdjustment is interpreted.

" - }, - "StepAdjustments":{ - "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

" - }, - "MinAdjustmentMagnitude":{ - "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

" - }, - "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 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", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" - } - }, - "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":"

A customized metric.

" - }, - "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.

" - }, - "DisableScaleIn":{ - "shape":"DisableScaleIn", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" - } - }, - "documentation":"

Represents a target tracking scaling policy configuration.

" - }, - "TimestampType":{"type":"timestamp"}, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An exception was thrown for a validation issue. Review the available parameters for the API request.

", - "exception":true - }, - "XmlString":{ - "type":"string", - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - } - }, - "documentation":"

With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies to automatically scale your AWS or custom resources

  • Scale your resources in response to CloudWatch alarms

  • Schedule one-time or recurring scaling actions

  • View the history of your scaling events

Application Auto Scaling can scale the following resources:

To learn more about Application Auto Scaling, see the Application Auto Scaling User Guide.

To configure automatic scaling for multiple resources across multiple services, use AWS Auto Scaling to create a scaling plan for your application. For more information, see the AWS Auto Scaling User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/service-2.json deleted file mode 100644 index 062f32e0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/service-2.json +++ /dev/null @@ -1,2782 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-12-01", - "endpointPrefix":"appstream2", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon AppStream", - "serviceId":"AppStream", - "signatureVersion":"v4", - "signingName":"appstream", - "targetPrefix":"PhotonAdminProxyService", - "uid":"appstream-2016-12-01" - }, - "operations":{ - "AssociateFleet":{ - "name":"AssociateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateFleetRequest"}, - "output":{"shape":"AssociateFleetResult"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Associates the specified fleet with the specified stack.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"IncompatibleImageException"} - ], - "documentation":"

Copies the image within the same region or to a new region within the same AWS account. Note that any tags you added to the image will not be copied.

" - }, - "CreateDirectoryConfig":{ - "name":"CreateDirectoryConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDirectoryConfigRequest"}, - "output":{"shape":"CreateDirectoryConfigResult"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"} - ], - "documentation":"

Creates a Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" - }, - "CreateFleet":{ - "name":"CreateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFleetRequest"}, - "output":{"shape":"CreateFleetResult"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"InvalidRoleException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Creates a fleet. A fleet consists of streaming instances that run a specified image.

" - }, - "CreateImageBuilder":{ - "name":"CreateImageBuilder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageBuilderRequest"}, - "output":{"shape":"CreateImageBuilderResult"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRoleException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Creates an image builder. An image builder is a virtual machine that is used to create an image.

The initial state of the builder is PENDING. When it is ready, the state is RUNNING.

" - }, - "CreateImageBuilderStreamingURL":{ - "name":"CreateImageBuilderStreamingURL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageBuilderStreamingURLRequest"}, - "output":{"shape":"CreateImageBuilderStreamingURLResult"}, - "errors":[ - {"shape":"OperationNotPermittedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a URL to start an image builder streaming session.

" - }, - "CreateStack":{ - "name":"CreateStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStackRequest"}, - "output":{"shape":"CreateStackResult"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidRoleException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.

" - }, - "CreateStreamingURL":{ - "name":"CreateStreamingURL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStreamingURLRequest"}, - "output":{"shape":"CreateStreamingURLResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup.

" - }, - "DeleteDirectoryConfig":{ - "name":"DeleteDirectoryConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDirectoryConfigRequest"}, - "output":{"shape":"DeleteDirectoryConfigResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" - }, - "DeleteFleet":{ - "name":"DeleteFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFleetRequest"}, - "output":{"shape":"DeleteFleetResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes the specified fleet.

" - }, - "DeleteImage":{ - "name":"DeleteImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteImageRequest"}, - "output":{"shape":"DeleteImageResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes the specified image. You cannot delete an image when it is in use. After you delete an image, you cannot provision new capacity using the image.

" - }, - "DeleteImageBuilder":{ - "name":"DeleteImageBuilder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteImageBuilderRequest"}, - "output":{"shape":"DeleteImageBuilderResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes the specified image builder and releases the capacity.

" - }, - "DeleteImagePermissions":{ - "name":"DeleteImagePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteImagePermissionsRequest"}, - "output":{"shape":"DeleteImagePermissionsResult"}, - "errors":[ - {"shape":"ResourceNotAvailableException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes permissions for the specified private image. After you delete permissions for an image, AWS accounts to which you previously granted these permissions can no longer use the image.

" - }, - "DeleteStack":{ - "name":"DeleteStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStackRequest"}, - "output":{"shape":"DeleteStackResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released.

" - }, - "DescribeDirectoryConfigs":{ - "name":"DescribeDirectoryConfigs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDirectoryConfigsRequest"}, - "output":{"shape":"DescribeDirectoryConfigsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the information required to join streaming instances to an Active Directory domain.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" - }, - "DescribeFleets":{ - "name":"DescribeFleets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetsRequest"}, - "output":{"shape":"DescribeFleetsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described.

" - }, - "DescribeImageBuilders":{ - "name":"DescribeImageBuilders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageBuildersRequest"}, - "output":{"shape":"DescribeImageBuildersResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described.

" - }, - "DescribeImagePermissions":{ - "name":"DescribeImagePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagePermissionsRequest"}, - "output":{"shape":"DescribeImagePermissionsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "errors":[ - {"shape":"InvalidParameterCombinationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described.

" - }, - "DescribeSessions":{ - "name":"DescribeSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSessionsRequest"}, - "output":{"shape":"DescribeSessionsResult"}, - "errors":[ - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a user ID is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

" - }, - "DescribeStacks":{ - "name":"DescribeStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStacksRequest"}, - "output":{"shape":"DescribeStacksResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.

" - }, - "DisassociateFleet":{ - "name":"DisassociateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateFleetRequest"}, - "output":{"shape":"DisassociateFleetResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Disassociates the specified fleet from the specified stack.

" - }, - "ExpireSession":{ - "name":"ExpireSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ExpireSessionRequest"}, - "output":{"shape":"ExpireSessionResult"}, - "documentation":"

Immediately stops the specified streaming session.

" - }, - "ListAssociatedFleets":{ - "name":"ListAssociatedFleets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssociatedFleetsRequest"}, - "output":{"shape":"ListAssociatedFleetsResult"}, - "documentation":"

Retrieves the name of the fleet that is associated with the specified stack.

" - }, - "ListAssociatedStacks":{ - "name":"ListAssociatedStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssociatedStacksRequest"}, - "output":{"shape":"ListAssociatedStacksResult"}, - "documentation":"

Retrieves the name of the stack with which the specified fleet is associated.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" - }, - "StartFleet":{ - "name":"StartFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartFleetRequest"}, - "output":{"shape":"StartFleetResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Starts the specified fleet.

" - }, - "StartImageBuilder":{ - "name":"StartImageBuilder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartImageBuilderRequest"}, - "output":{"shape":"StartImageBuilderResult"}, - "errors":[ - {"shape":"ResourceNotAvailableException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"IncompatibleImageException"} - ], - "documentation":"

Starts the specified image builder.

" - }, - "StopFleet":{ - "name":"StopFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopFleetRequest"}, - "output":{"shape":"StopFleetResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Stops the specified fleet.

" - }, - "StopImageBuilder":{ - "name":"StopImageBuilder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopImageBuilderRequest"}, - "output":{"shape":"StopImageBuilderResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Stops the specified image builder.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Developer Guide.

" - }, - "UpdateDirectoryConfig":{ - "name":"UpdateDirectoryConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDirectoryConfigRequest"}, - "output":{"shape":"UpdateDirectoryConfigResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Updates the specified Directory Config object in AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" - }, - "UpdateFleet":{ - "name":"UpdateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateFleetRequest"}, - "output":{"shape":"UpdateFleetResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"InvalidRoleException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName and ComputeCapacity attributes. If the fleet is in the STARTING or STOPPING state, you can't update it.

" - }, - "UpdateImagePermissions":{ - "name":"UpdateImagePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateImagePermissionsRequest"}, - "output":{"shape":"UpdateImagePermissionsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceNotAvailableException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Adds or updates permissions for the specified private image.

" - }, - "UpdateStack":{ - "name":"UpdateStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStackRequest"}, - "output":{"shape":"UpdateStackResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidRoleException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidAccountStatusException"}, - {"shape":"IncompatibleImageException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Updates the specified fields for the specified stack.

" - } - }, - "shapes":{ - "AccountName":{ - "type":"string", - "min":1, - "sensitive":true - }, - "AccountPassword":{ - "type":"string", - "max":127, - "min":1, - "sensitive":true - }, - "Action":{ - "type":"string", - "enum":[ - "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", - "CLIPBOARD_COPY_TO_LOCAL_DEVICE", - "FILE_UPLOAD", - "FILE_DOWNLOAD", - "PRINTING_TO_LOCAL_DEVICE" - ] - }, - "Application":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the application.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The application name for display.

" - }, - "IconURL":{ - "shape":"String", - "documentation":"

The URL for the application icon. This URL might be time-limited.

" - }, - "LaunchPath":{ - "shape":"String", - "documentation":"

The path to the application executable in the instance.

" - }, - "LaunchParameters":{ - "shape":"String", - "documentation":"

The arguments that are passed to the application at launch.

" - }, - "Enabled":{ - "shape":"Boolean", - "documentation":"

If there is a problem, the application can be disabled after image creation.

" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

Additional attributes that describe the application.

" - } - }, - "documentation":"

Describes an application in the application catalog.

" - }, - "ApplicationSettings":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables or disables persistent application settings for users during their streaming sessions.

" - }, - "SettingsGroup":{ - "shape":"SettingsGroup", - "documentation":"

The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.

" - } - }, - "documentation":"

The persistent application settings for users of a stack.

" - }, - "ApplicationSettingsResponse":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether persistent application settings are enabled for users during their streaming sessions.

" - }, - "SettingsGroup":{ - "shape":"SettingsGroup", - "documentation":"

The path prefix for the S3 bucket where users’ persistent application settings are stored.

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.

" - } - }, - "documentation":"

Describes the persistent application settings for users of a stack.

" - }, - "Applications":{ - "type":"list", - "member":{"shape":"Application"} - }, - "AppstreamAgentVersion":{ - "type":"string", - "max":100, - "min":1 - }, - "Arn":{ - "type":"string", - "pattern":"^arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" - }, - "ArnList":{ - "type":"list", - "member":{"shape":"Arn"} - }, - "AssociateFleetRequest":{ - "type":"structure", - "required":[ - "FleetName", - "StackName" - ], - "members":{ - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - }, - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack.

" - } - } - }, - "AssociateFleetResult":{ - "type":"structure", - "members":{ - } - }, - "AuthenticationType":{ - "type":"string", - "enum":[ - "API", - "SAML", - "USERPOOL" - ] - }, - "AwsAccountId":{ - "type":"string", - "pattern":"^\\d+$" - }, - "AwsAccountIdList":{ - "type":"list", - "member":{"shape":"AwsAccountId"}, - "max":5, - "min":1 - }, - "Boolean":{"type":"boolean"}, - "BooleanObject":{"type":"boolean"}, - "ComputeCapacity":{ - "type":"structure", - "required":["DesiredInstances"], - "members":{ - "DesiredInstances":{ - "shape":"Integer", - "documentation":"

The desired number of streaming instances.

" - } - }, - "documentation":"

Describes the capacity for a fleet.

" - }, - "ComputeCapacityStatus":{ - "type":"structure", - "required":["Desired"], - "members":{ - "Desired":{ - "shape":"Integer", - "documentation":"

The desired number of streaming instances.

" - }, - "Running":{ - "shape":"Integer", - "documentation":"

The total number of simultaneous streaming instances that are running.

" - }, - "InUse":{ - "shape":"Integer", - "documentation":"

The number of instances in use for streaming.

" - }, - "Available":{ - "shape":"Integer", - "documentation":"

The number of currently available instances that can be used to stream sessions.

" - } - }, - "documentation":"

Describes the capacity status for a fleet.

" - }, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An API error occurred. Wait a few minutes and try again.

", - "exception":true - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceImageName", - "DestinationImageName", - "DestinationRegion" - ], - "members":{ - "SourceImageName":{ - "shape":"Name", - "documentation":"

The name of the image to copy.

" - }, - "DestinationImageName":{ - "shape":"Name", - "documentation":"

The name that the image will have when it is copied to the destination.

" - }, - "DestinationRegion":{ - "shape":"RegionName", - "documentation":"

The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

" - }, - "DestinationImageDescription":{ - "shape":"Description", - "documentation":"

The description that the image will have when it is copied to the destination.

" - } - } - }, - "CopyImageResponse":{ - "type":"structure", - "members":{ - "DestinationImageName":{ - "shape":"Name", - "documentation":"

The name of the destination image.

" - } - } - }, - "CreateDirectoryConfigRequest":{ - "type":"structure", - "required":[ - "DirectoryName", - "OrganizationalUnitDistinguishedNames", - "ServiceAccountCredentials" - ], - "members":{ - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" - }, - "OrganizationalUnitDistinguishedNames":{ - "shape":"OrganizationalUnitDistinguishedNamesList", - "documentation":"

The distinguished names of the organizational units for computer accounts.

" - }, - "ServiceAccountCredentials":{ - "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" - } - } - }, - "CreateDirectoryConfigResult":{ - "type":"structure", - "members":{ - "DirectoryConfig":{ - "shape":"DirectoryConfig", - "documentation":"

Information about the directory configuration.

" - } - } - }, - "CreateFleetRequest":{ - "type":"structure", - "required":[ - "Name", - "InstanceType", - "ComputeCapacity" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

A unique name for the fleet.

" - }, - "ImageName":{ - "shape":"String", - "documentation":"

The name of the image used to create the fleet.

" - }, - "ImageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the public, private, or shared image to use.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" - }, - "FleetType":{ - "shape":"FleetType", - "documentation":"

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

" - }, - "ComputeCapacity":{ - "shape":"ComputeCapacity", - "documentation":"

The desired capacity for the fleet.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VPC configuration for the fleet.

" - }, - "MaxUserDurationInSeconds":{ - "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" - }, - "DisconnectTimeoutInSeconds":{ - "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

The fleet name for display.

" - }, - "EnableDefaultInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables default internet access for the fleet.

" - }, - "DomainJoinInfo":{ - "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" - } - } - }, - "CreateFleetResult":{ - "type":"structure", - "members":{ - "Fleet":{ - "shape":"Fleet", - "documentation":"

Information about the fleet.

" - } - } - }, - "CreateImageBuilderRequest":{ - "type":"structure", - "required":[ - "Name", - "InstanceType" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

A unique name for the image builder.

" - }, - "ImageName":{ - "shape":"String", - "documentation":"

The name of the image used to create the builder.

" - }, - "ImageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the public, private, or shared image to use.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type to use when launching the image builder.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

The image builder name for display.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VPC configuration for the image builder. You can specify only one subnet.

" - }, - "EnableDefaultInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables default internet access for the image builder.

" - }, - "DomainJoinInfo":{ - "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" - }, - "AppstreamAgentVersion":{ - "shape":"AppstreamAgentVersion", - "documentation":"

The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

" - } - } - }, - "CreateImageBuilderResult":{ - "type":"structure", - "members":{ - "ImageBuilder":{ - "shape":"ImageBuilder", - "documentation":"

Information about the image builder.

" - } - } - }, - "CreateImageBuilderStreamingURLRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the image builder.

" - }, - "Validity":{ - "shape":"Long", - "documentation":"

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

" - } - } - }, - "CreateImageBuilderStreamingURLResult":{ - "type":"structure", - "members":{ - "StreamingURL":{ - "shape":"String", - "documentation":"

The URL to start the AppStream 2.0 streaming session.

" - }, - "Expires":{ - "shape":"Timestamp", - "documentation":"

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" - } - } - }, - "CreateStackRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the stack.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

The stack name for display.

" - }, - "StorageConnectors":{ - "shape":"StorageConnectorList", - "documentation":"

The storage connectors to enable.

" - }, - "RedirectURL":{ - "shape":"RedirectURL", - "documentation":"

The URL that users are redirected to after their streaming session ends.

" - }, - "FeedbackURL":{ - "shape":"FeedbackURL", - "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" - }, - "UserSettings":{ - "shape":"UserSettingList", - "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

" - }, - "ApplicationSettings":{ - "shape":"ApplicationSettings", - "documentation":"

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

" - } - } - }, - "CreateStackResult":{ - "type":"structure", - "members":{ - "Stack":{ - "shape":"Stack", - "documentation":"

Information about the stack.

" - } - } - }, - "CreateStreamingURLRequest":{ - "type":"structure", - "required":[ - "StackName", - "FleetName", - "UserId" - ], - "members":{ - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack.

" - }, - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - }, - "UserId":{ - "shape":"StreamingUrlUserId", - "documentation":"

The ID of the user.

" - }, - "ApplicationId":{ - "shape":"String", - "documentation":"

The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant.

" - }, - "Validity":{ - "shape":"Long", - "documentation":"

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.

" - }, - "SessionContext":{ - "shape":"String", - "documentation":"

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Developer Guide.

" - } - } - }, - "CreateStreamingURLResult":{ - "type":"structure", - "members":{ - "StreamingURL":{ - "shape":"String", - "documentation":"

The URL to start the AppStream 2.0 streaming session.

" - }, - "Expires":{ - "shape":"Timestamp", - "documentation":"

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" - } - } - }, - "DeleteDirectoryConfigRequest":{ - "type":"structure", - "required":["DirectoryName"], - "members":{ - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The name of the directory configuration.

" - } - } - }, - "DeleteDirectoryConfigResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteFleetRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - } - } - }, - "DeleteFleetResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteImageBuilderRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the image builder.

" - } - } - }, - "DeleteImageBuilderResult":{ - "type":"structure", - "members":{ - "ImageBuilder":{ - "shape":"ImageBuilder", - "documentation":"

Information about the image builder.

" - } - } - }, - "DeleteImagePermissionsRequest":{ - "type":"structure", - "required":[ - "Name", - "SharedAccountId" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the private image.

" - }, - "SharedAccountId":{ - "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account for which to delete image permissions.

" - } - } - }, - "DeleteImagePermissionsResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the image.

" - } - } - }, - "DeleteImageResult":{ - "type":"structure", - "members":{ - "Image":{ - "shape":"Image", - "documentation":"

Information about the image.

" - } - } - }, - "DeleteStackRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the stack.

" - } - } - }, - "DeleteStackResult":{ - "type":"structure", - "members":{ - } - }, - "DescribeDirectoryConfigsRequest":{ - "type":"structure", - "members":{ - "DirectoryNames":{ - "shape":"DirectoryNameList", - "documentation":"

The directory names.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum size of each page of results.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "DescribeDirectoryConfigsResult":{ - "type":"structure", - "members":{ - "DirectoryConfigs":{ - "shape":"DirectoryConfigList", - "documentation":"

Information about the directory configurations. Note that although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "DescribeFleetsRequest":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The names of the fleets to describe.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "DescribeFleetsResult":{ - "type":"structure", - "members":{ - "Fleets":{ - "shape":"FleetList", - "documentation":"

Information about the fleets.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "DescribeImageBuildersRequest":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The names of the image builders to describe.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum size of each page of results.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "DescribeImageBuildersResult":{ - "type":"structure", - "members":{ - "ImageBuilders":{ - "shape":"ImageBuilderList", - "documentation":"

Information about the image builders.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "DescribeImagePermissionsRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the private image for which to describe permissions. The image must be one that you own.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum size of each results page.

" - }, - "SharedAwsAccountIds":{ - "shape":"AwsAccountIdList", - "documentation":"

The 12-digit ID of one or more AWS accounts with which the image is shared.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

" - } - } - }, - "DescribeImagePermissionsResult":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the private image.

" - }, - "SharedImagePermissionsList":{ - "shape":"SharedImagePermissionsList", - "documentation":"

The permissions for a private image that you own.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

" - } - } - }, - "DescribeImagesMaxResults":{ - "type":"integer", - "box":true, - "max":25, - "min":0 - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The names of the public or private images to describe.

" - }, - "Arns":{ - "shape":"ArnList", - "documentation":"

The ARNs of the public, private, and shared images to describe.

" - }, - "Type":{ - "shape":"VisibilityType", - "documentation":"

The type of image (public, private, or shared) to describe.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results. If this value is empty, only the first page is retrieved.

" - }, - "MaxResults":{ - "shape":"DescribeImagesMaxResults", - "documentation":"

The maximum size of each page of results.

" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about the images.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results. If there are no more pages, this value is null.

" - } - } - }, - "DescribeSessionsRequest":{ - "type":"structure", - "required":[ - "StackName", - "FleetName" - ], - "members":{ - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack. This value is case-sensitive.

" - }, - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet. This value is case-sensitive.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The user ID.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - }, - "Limit":{ - "shape":"Integer", - "documentation":"

The size of each page of results. The default value is 20 and the maximum value is 50.

" - }, - "AuthenticationType":{ - "shape":"AuthenticationType", - "documentation":"

The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.

" - } - } - }, - "DescribeSessionsResult":{ - "type":"structure", - "members":{ - "Sessions":{ - "shape":"SessionList", - "documentation":"

Information about the streaming sessions.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "DescribeStacksRequest":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The names of the stacks to describe.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "DescribeStacksResult":{ - "type":"structure", - "members":{ - "Stacks":{ - "shape":"StackList", - "documentation":"

Information about the stacks.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "Description":{ - "type":"string", - "max":256 - }, - "DirectoryConfig":{ - "type":"structure", - "required":["DirectoryName"], - "members":{ - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" - }, - "OrganizationalUnitDistinguishedNames":{ - "shape":"OrganizationalUnitDistinguishedNamesList", - "documentation":"

The distinguished names of the organizational units for computer accounts.

" - }, - "ServiceAccountCredentials":{ - "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" - }, - "CreatedTime":{ - "shape":"Timestamp", - "documentation":"

The time the directory configuration was created.

" - } - }, - "documentation":"

Configuration information for the directory used to join domains.

" - }, - "DirectoryConfigList":{ - "type":"list", - "member":{"shape":"DirectoryConfig"} - }, - "DirectoryName":{"type":"string"}, - "DirectoryNameList":{ - "type":"list", - "member":{"shape":"DirectoryName"} - }, - "DisassociateFleetRequest":{ - "type":"structure", - "required":[ - "FleetName", - "StackName" - ], - "members":{ - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - }, - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack.

" - } - } - }, - "DisassociateFleetResult":{ - "type":"structure", - "members":{ - } - }, - "DisplayName":{ - "type":"string", - "max":100 - }, - "Domain":{ - "type":"string", - "documentation":"GSuite domain for GDrive integration.", - "max":64 - }, - "DomainJoinInfo":{ - "type":"structure", - "members":{ - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" - }, - "OrganizationalUnitDistinguishedName":{ - "shape":"OrganizationalUnitDistinguishedName", - "documentation":"

The distinguished name of the organizational unit for computer accounts.

" - } - }, - "documentation":"

Contains the information needed to join a Microsoft Active Directory domain.

" - }, - "DomainList":{ - "type":"list", - "member":{"shape":"Domain"}, - "max":10 - }, - "ErrorMessage":{ - "type":"string", - "documentation":"

The error message in the exception.

" - }, - "ExpireSessionRequest":{ - "type":"structure", - "required":["SessionId"], - "members":{ - "SessionId":{ - "shape":"String", - "documentation":"

The ID of the streaming session.

" - } - } - }, - "ExpireSessionResult":{ - "type":"structure", - "members":{ - } - }, - "FeedbackURL":{ - "type":"string", - "max":1000 - }, - "Fleet":{ - "type":"structure", - "required":[ - "Arn", - "Name", - "InstanceType", - "ComputeCapacityStatus", - "State" - ], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN for the fleet.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The fleet name for display.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for display.

" - }, - "ImageName":{ - "shape":"String", - "documentation":"

The name of the image used to create the fleet.

" - }, - "ImageArn":{ - "shape":"Arn", - "documentation":"

The ARN for the public, private, or shared image.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type to use when launching fleet instances.

" - }, - "FleetType":{ - "shape":"FleetType", - "documentation":"

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

" - }, - "ComputeCapacityStatus":{ - "shape":"ComputeCapacityStatus", - "documentation":"

The capacity status for the fleet.

" - }, - "MaxUserDurationInSeconds":{ - "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" - }, - "DisconnectTimeoutInSeconds":{ - "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" - }, - "State":{ - "shape":"FleetState", - "documentation":"

The current state for the fleet.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VPC configuration for the fleet.

" - }, - "CreatedTime":{ - "shape":"Timestamp", - "documentation":"

The time the fleet was created.

" - }, - "FleetErrors":{ - "shape":"FleetErrors", - "documentation":"

The fleet errors.

" - }, - "EnableDefaultInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether default internet access is enabled for the fleet.

" - }, - "DomainJoinInfo":{ - "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" - } - }, - "documentation":"

Contains the parameters for a fleet.

" - }, - "FleetAttribute":{ - "type":"string", - "documentation":"

The fleet attribute.

", - "enum":[ - "VPC_CONFIGURATION", - "VPC_CONFIGURATION_SECURITY_GROUP_IDS", - "DOMAIN_JOIN_INFO" - ] - }, - "FleetAttributes":{ - "type":"list", - "member":{"shape":"FleetAttribute"}, - "documentation":"

The fleet attributes.

" - }, - "FleetError":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"FleetErrorCode", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

The error message.

" - } - }, - "documentation":"

Describes a fleet error.

" - }, - "FleetErrorCode":{ - "type":"string", - "enum":[ - "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", - "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", - "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", - "NETWORK_INTERFACE_LIMIT_EXCEEDED", - "INTERNAL_SERVICE_ERROR", - "IAM_SERVICE_ROLE_IS_MISSING", - "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", - "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", - "SUBNET_NOT_FOUND", - "IMAGE_NOT_FOUND", - "INVALID_SUBNET_CONFIGURATION", - "SECURITY_GROUPS_NOT_FOUND", - "IGW_NOT_ATTACHED", - "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", - "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", - "DOMAIN_JOIN_ERROR_ACCESS_DENIED", - "DOMAIN_JOIN_ERROR_LOGON_FAILURE", - "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", - "DOMAIN_JOIN_ERROR_MORE_DATA", - "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", - "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", - "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", - "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", - "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", - "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", - "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" - ] - }, - "FleetErrors":{ - "type":"list", - "member":{"shape":"FleetError"} - }, - "FleetList":{ - "type":"list", - "member":{"shape":"Fleet"}, - "documentation":"

The fleets.

" - }, - "FleetState":{ - "type":"string", - "enum":[ - "STARTING", - "RUNNING", - "STOPPING", - "STOPPED" - ] - }, - "FleetType":{ - "type":"string", - "enum":[ - "ALWAYS_ON", - "ON_DEMAND" - ] - }, - "Image":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the image.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the image.

" - }, - "BaseImageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the image from which this image was created.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The image name for display.

" - }, - "State":{ - "shape":"ImageState", - "documentation":"

The image starts in the PENDING state. If image creation succeeds, the state is AVAILABLE. If image creation fails, the state is FAILED.

" - }, - "Visibility":{ - "shape":"VisibilityType", - "documentation":"

Indicates whether the image is public or private.

" - }, - "ImageBuilderSupported":{ - "shape":"Boolean", - "documentation":"

Indicates whether an image builder can be launched from this image.

" - }, - "Platform":{ - "shape":"PlatformType", - "documentation":"

The operating system platform of the image.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for display.

" - }, - "StateChangeReason":{ - "shape":"ImageStateChangeReason", - "documentation":"

The reason why the last state change occurred.

" - }, - "Applications":{ - "shape":"Applications", - "documentation":"

The applications associated with the image.

" - }, - "CreatedTime":{ - "shape":"Timestamp", - "documentation":"

The time the image was created.

" - }, - "PublicBaseImageReleasedDate":{ - "shape":"Timestamp", - "documentation":"

The release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

" - }, - "AppstreamAgentVersion":{ - "shape":"AppstreamAgentVersion", - "documentation":"

The version of the AppStream 2.0 agent to use for instances that are launched from this image.

" - }, - "ImagePermissions":{ - "shape":"ImagePermissions", - "documentation":"

The permissions to provide to the destination AWS account for the specified image.

" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageBuilder":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the image builder.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN for the image builder.

" - }, - "ImageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the image from which this builder was created.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The image builder name for display.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VPC configuration of the image builder.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type for the image builder.

" - }, - "Platform":{ - "shape":"PlatformType", - "documentation":"

The operating system platform of the image builder.

" - }, - "State":{ - "shape":"ImageBuilderState", - "documentation":"

The state of the image builder.

" - }, - "StateChangeReason":{ - "shape":"ImageBuilderStateChangeReason", - "documentation":"

The reason why the last state change occurred.

" - }, - "CreatedTime":{ - "shape":"Timestamp", - "documentation":"

The time stamp when the image builder was created.

" - }, - "EnableDefaultInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables default internet access for the image builder.

" - }, - "DomainJoinInfo":{ - "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" - }, - "ImageBuilderErrors":{ - "shape":"ResourceErrors", - "documentation":"

The image builder errors.

" - }, - "AppstreamAgentVersion":{ - "shape":"AppstreamAgentVersion", - "documentation":"

The version of the AppStream 2.0 agent that is currently being used by this image builder.

" - } - }, - "documentation":"

Describes a streaming instance used for editing an image. New images are created from a snapshot through an image builder.

" - }, - "ImageBuilderList":{ - "type":"list", - "member":{"shape":"ImageBuilder"} - }, - "ImageBuilderState":{ - "type":"string", - "enum":[ - "PENDING", - "UPDATING_AGENT", - "RUNNING", - "STOPPING", - "STOPPED", - "REBOOTING", - "SNAPSHOTTING", - "DELETING", - "FAILED" - ] - }, - "ImageBuilderStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"ImageBuilderStateChangeReasonCode", - "documentation":"

The state change reason code.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The state change reason message.

" - } - }, - "documentation":"

Describes the reason why the last image builder state change occurred.

" - }, - "ImageBuilderStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "IMAGE_UNAVAILABLE" - ] - }, - "ImageList":{ - "type":"list", - "member":{"shape":"Image"} - }, - "ImagePermissions":{ - "type":"structure", - "members":{ - "allowFleet":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the image can be used for a fleet.

" - }, - "allowImageBuilder":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the image can be used for an image builder.

" - } - }, - "documentation":"

Describes the permissions for an image.

" - }, - "ImageState":{ - "type":"string", - "enum":[ - "PENDING", - "AVAILABLE", - "FAILED", - "COPYING", - "DELETING" - ] - }, - "ImageStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"ImageStateChangeReasonCode", - "documentation":"

The state change reason code.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The state change reason message.

" - } - }, - "documentation":"

Describes the reason why the last image state change occurred.

" - }, - "ImageStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "IMAGE_BUILDER_NOT_AVAILABLE", - "IMAGE_COPY_FAILURE" - ] - }, - "IncompatibleImageException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The image does not support storage connectors.

", - "exception":true - }, - "Integer":{"type":"integer"}, - "InvalidAccountStatusException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

", - "exception":true - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Indicates an incorrect combination of parameters, or a missing parameter.

", - "exception":true - }, - "InvalidRoleException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified role is invalid.

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The requested limit exceeds the permitted limit for an account.

", - "exception":true - }, - "ListAssociatedFleetsRequest":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "ListAssociatedFleetsResult":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The name of the fleet.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "ListAssociatedStacksRequest":{ - "type":"structure", - "required":["FleetName"], - "members":{ - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" - } - } - }, - "ListAssociatedStacksResult":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"StringList", - "documentation":"

The name of the stack.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

The information about the tags.

" - } - } - }, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "box":true, - "max":500, - "min":0 - }, - "Metadata":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Name":{ - "type":"string", - "pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$" - }, - "NetworkAccessConfiguration":{ - "type":"structure", - "members":{ - "EniPrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the elastic network interface that is attached to instances in your VPC.

" - }, - "EniId":{ - "shape":"String", - "documentation":"

The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

" - } - }, - "documentation":"

The network details of the fleet instance for the streaming session.

" - }, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The attempted operation is not permitted.

", - "exception":true - }, - "OrganizationalUnitDistinguishedName":{ - "type":"string", - "max":2000 - }, - "OrganizationalUnitDistinguishedNamesList":{ - "type":"list", - "member":{"shape":"OrganizationalUnitDistinguishedName"} - }, - "Permission":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "PlatformType":{ - "type":"string", - "enum":["WINDOWS"] - }, - "RedirectURL":{ - "type":"string", - "max":1000 - }, - "RegionName":{ - "type":"string", - "max":32, - "min":1 - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource already exists.

", - "exception":true - }, - "ResourceError":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"FleetErrorCode", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

The error message.

" - }, - "ErrorTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time the error occurred.

" - } - }, - "documentation":"

Describes a resource error.

" - }, - "ResourceErrors":{ - "type":"list", - "member":{"shape":"ResourceError"} - }, - "ResourceIdentifier":{ - "type":"string", - "documentation":"

The ARN of the resource.

", - "min":1 - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource is in use.

", - "exception":true - }, - "ResourceNotAvailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource exists and is not in use, but isn't available.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource was not found.

", - "exception":true - }, - "SecurityGroupIdList":{ - "type":"list", - "member":{"shape":"String"}, - "documentation":"

The security group IDs.

", - "max":5 - }, - "ServiceAccountCredentials":{ - "type":"structure", - "required":[ - "AccountName", - "AccountPassword" - ], - "members":{ - "AccountName":{ - "shape":"AccountName", - "documentation":"

The user name of the account. This account must have the following privileges: create computer objects, join computers to the domain, and change/reset the password on descendant computer objects for the organizational units specified.

" - }, - "AccountPassword":{ - "shape":"AccountPassword", - "documentation":"

The password for the account.

" - } - }, - "documentation":"

Describes the credentials for the service account used by the streaming instance to connect to the directory.

" - }, - "Session":{ - "type":"structure", - "required":[ - "Id", - "UserId", - "StackName", - "FleetName", - "State" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The ID of the streaming session.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier of the user for whom the session was created.

" - }, - "StackName":{ - "shape":"String", - "documentation":"

The name of the stack for the streaming session.

" - }, - "FleetName":{ - "shape":"String", - "documentation":"

The name of the fleet for the streaming session.

" - }, - "State":{ - "shape":"SessionState", - "documentation":"

The current state of the streaming session.

" - }, - "AuthenticationType":{ - "shape":"AuthenticationType", - "documentation":"

The authentication method. The user is authenticated using a streaming URL (API) or SAML federation (SAML).

" - }, - "NetworkAccessConfiguration":{ - "shape":"NetworkAccessConfiguration", - "documentation":"

The network details for the streaming session.

" - } - }, - "documentation":"

Describes a streaming session.

" - }, - "SessionList":{ - "type":"list", - "member":{"shape":"Session"}, - "documentation":"

List of sessions.

" - }, - "SessionState":{ - "type":"string", - "documentation":"

Possible values for the state of a streaming session.

", - "enum":[ - "ACTIVE", - "PENDING", - "EXPIRED" - ] - }, - "SettingsGroup":{ - "type":"string", - "max":100 - }, - "SharedImagePermissions":{ - "type":"structure", - "required":[ - "sharedAccountId", - "imagePermissions" - ], - "members":{ - "sharedAccountId":{ - "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account with which the image is shared.

" - }, - "imagePermissions":{ - "shape":"ImagePermissions", - "documentation":"

Describes the permissions for a shared image.

" - } - }, - "documentation":"

Describes the permissions that are available to the specified AWS account for a shared image.

" - }, - "SharedImagePermissionsList":{ - "type":"list", - "member":{"shape":"SharedImagePermissions"} - }, - "Stack":{ - "type":"structure", - "required":["Name"], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the stack.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the stack.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The stack name for display.

" - }, - "CreatedTime":{ - "shape":"Timestamp", - "documentation":"

The time the stack was created.

" - }, - "StorageConnectors":{ - "shape":"StorageConnectorList", - "documentation":"

The storage connectors to enable.

" - }, - "RedirectURL":{ - "shape":"RedirectURL", - "documentation":"

The URL that users are redirected to after their streaming session ends.

" - }, - "FeedbackURL":{ - "shape":"FeedbackURL", - "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" - }, - "StackErrors":{ - "shape":"StackErrors", - "documentation":"

The errors for the stack.

" - }, - "UserSettings":{ - "shape":"UserSettingList", - "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

" - }, - "ApplicationSettings":{ - "shape":"ApplicationSettingsResponse", - "documentation":"

The persistent application settings for users of the stack.

" - } - }, - "documentation":"

Describes a stack.

" - }, - "StackAttribute":{ - "type":"string", - "enum":[ - "STORAGE_CONNECTORS", - "STORAGE_CONNECTOR_HOMEFOLDERS", - "STORAGE_CONNECTOR_GOOGLE_DRIVE", - "STORAGE_CONNECTOR_ONE_DRIVE", - "REDIRECT_URL", - "FEEDBACK_URL", - "THEME_NAME", - "USER_SETTINGS" - ] - }, - "StackAttributes":{ - "type":"list", - "member":{"shape":"StackAttribute"} - }, - "StackError":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"StackErrorCode", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

The error message.

" - } - }, - "documentation":"

Describes a stack error.

" - }, - "StackErrorCode":{ - "type":"string", - "enum":[ - "STORAGE_CONNECTOR_ERROR", - "INTERNAL_SERVICE_ERROR" - ] - }, - "StackErrors":{ - "type":"list", - "member":{"shape":"StackError"}, - "documentation":"

The stack errors.

" - }, - "StackList":{ - "type":"list", - "member":{"shape":"Stack"}, - "documentation":"

The stacks.

" - }, - "StartFleetRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - } - } - }, - "StartFleetResult":{ - "type":"structure", - "members":{ - } - }, - "StartImageBuilderRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the image builder.

" - }, - "AppstreamAgentVersion":{ - "shape":"AppstreamAgentVersion", - "documentation":"

The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

" - } - } - }, - "StartImageBuilderResult":{ - "type":"structure", - "members":{ - "ImageBuilder":{ - "shape":"ImageBuilder", - "documentation":"

Information about the image builder.

" - } - } - }, - "StopFleetRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the fleet.

" - } - } - }, - "StopFleetResult":{ - "type":"structure", - "members":{ - } - }, - "StopImageBuilderRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the image builder.

" - } - } - }, - "StopImageBuilderResult":{ - "type":"structure", - "members":{ - "ImageBuilder":{ - "shape":"ImageBuilder", - "documentation":"

Information about the image builder.

" - } - } - }, - "StorageConnector":{ - "type":"structure", - "required":["ConnectorType"], - "members":{ - "ConnectorType":{ - "shape":"StorageConnectorType", - "documentation":"

The type of storage connector.

" - }, - "ResourceIdentifier":{ - "shape":"ResourceIdentifier", - "documentation":"

The ARN of the storage connector.

" - }, - "Domains":{ - "shape":"DomainList", - "documentation":"

The names of the domains for the G Suite account.

" - } - }, - "documentation":"

Describes a connector to enable persistent storage for users.

" - }, - "StorageConnectorList":{ - "type":"list", - "member":{"shape":"StorageConnector"}, - "documentation":"

The storage connectors.

" - }, - "StorageConnectorType":{ - "type":"string", - "documentation":"

The type of storage connector.

", - "enum":[ - "HOMEFOLDERS", - "GOOGLE_DRIVE", - "ONE_DRIVE" - ] - }, - "StreamingUrlUserId":{ - "type":"string", - "max":32, - "min":2, - "pattern":"[\\w+=,.@-]*" - }, - "String":{ - "type":"string", - "min":1 - }, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SubnetIdList":{ - "type":"list", - "member":{"shape":"String"}, - "documentation":"

The subnet IDs.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^(^(?!aws:).[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags to associate. A tag is a key-value pair (the value is optional). For example, Environment=Test, or, if you do not specify a value, Environment=.

If you do not specify a value, we set the value to an empty string.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"}, - "max":50, - "min":1 - }, - "Timestamp":{"type":"timestamp"}, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The tag keys for the tags to disassociate.

" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateDirectoryConfigRequest":{ - "type":"structure", - "required":["DirectoryName"], - "members":{ - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The name of the Directory Config object.

" - }, - "OrganizationalUnitDistinguishedNames":{ - "shape":"OrganizationalUnitDistinguishedNamesList", - "documentation":"

The distinguished names of the organizational units for computer accounts.

" - }, - "ServiceAccountCredentials":{ - "shape":"ServiceAccountCredentials", - "documentation":"

The credentials for the service account used by the streaming instance to connect to the directory.

" - } - } - }, - "UpdateDirectoryConfigResult":{ - "type":"structure", - "members":{ - "DirectoryConfig":{ - "shape":"DirectoryConfig", - "documentation":"

Information about the Directory Config object.

" - } - } - }, - "UpdateFleetRequest":{ - "type":"structure", - "members":{ - "ImageName":{ - "shape":"String", - "documentation":"

The name of the image used to create the fleet.

" - }, - "ImageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the public, private, or shared image to use.

" - }, - "Name":{ - "shape":"String", - "documentation":"

A unique name for the fleet.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" - }, - "ComputeCapacity":{ - "shape":"ComputeCapacity", - "documentation":"

The desired capacity for the fleet.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VPC configuration for the fleet.

" - }, - "MaxUserDurationInSeconds":{ - "shape":"Integer", - "documentation":"

The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.

" - }, - "DisconnectTimeoutInSeconds":{ - "shape":"Integer", - "documentation":"

The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.

" - }, - "DeleteVpcConfig":{ - "shape":"Boolean", - "documentation":"

Deletes the VPC association for the specified fleet.

", - "deprecated":true - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for display.

" - }, - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

The fleet name for display.

" - }, - "EnableDefaultInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables default internet access for the fleet.

" - }, - "DomainJoinInfo":{ - "shape":"DomainJoinInfo", - "documentation":"

The information needed to join a Microsoft Active Directory domain.

" - }, - "AttributesToDelete":{ - "shape":"FleetAttributes", - "documentation":"

The fleet attributes to delete.

" - } - } - }, - "UpdateFleetResult":{ - "type":"structure", - "members":{ - "Fleet":{ - "shape":"Fleet", - "documentation":"

Information about the fleet.

" - } - } - }, - "UpdateImagePermissionsRequest":{ - "type":"structure", - "required":[ - "Name", - "SharedAccountId", - "ImagePermissions" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the private image.

" - }, - "SharedAccountId":{ - "shape":"AwsAccountId", - "documentation":"

The 12-digit ID of the AWS account for which you want add or update image permissions.

" - }, - "ImagePermissions":{ - "shape":"ImagePermissions", - "documentation":"

The permissions for the image.

" - } - } - }, - "UpdateImagePermissionsResult":{ - "type":"structure", - "members":{ - } - }, - "UpdateStackRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

The stack name for display.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for display.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the stack.

" - }, - "StorageConnectors":{ - "shape":"StorageConnectorList", - "documentation":"

The storage connectors to enable.

" - }, - "DeleteStorageConnectors":{ - "shape":"Boolean", - "documentation":"

Deletes the storage connectors currently enabled for the stack.

", - "deprecated":true - }, - "RedirectURL":{ - "shape":"RedirectURL", - "documentation":"

The URL that users are redirected to after their streaming session ends.

" - }, - "FeedbackURL":{ - "shape":"FeedbackURL", - "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" - }, - "AttributesToDelete":{ - "shape":"StackAttributes", - "documentation":"

The stack attributes to delete.

" - }, - "UserSettings":{ - "shape":"UserSettingList", - "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

" - }, - "ApplicationSettings":{ - "shape":"ApplicationSettings", - "documentation":"

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

" - } - } - }, - "UpdateStackResult":{ - "type":"structure", - "members":{ - "Stack":{ - "shape":"Stack", - "documentation":"

Information about the stack.

" - } - } - }, - "UserId":{ - "type":"string", - "max":32, - "min":2 - }, - "UserSetting":{ - "type":"structure", - "required":[ - "Action", - "Permission" - ], - "members":{ - "Action":{ - "shape":"Action", - "documentation":"

The action that is enabled or disabled.

" - }, - "Permission":{ - "shape":"Permission", - "documentation":"

Indicates whether the action is enabled or disabled.

" - } - }, - "documentation":"

Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

" - }, - "UserSettingList":{ - "type":"list", - "member":{"shape":"UserSetting"}, - "min":1 - }, - "VisibilityType":{ - "type":"string", - "enum":[ - "PUBLIC", - "PRIVATE", - "SHARED" - ] - }, - "VpcConfig":{ - "type":"structure", - "members":{ - "SubnetIds":{ - "shape":"SubnetIdList", - "documentation":"

The subnets to which a network interface is established from the fleet instance.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdList", - "documentation":"

The security groups for the fleet.

" - } - }, - "documentation":"

Describes VPC configuration information.

" - } - }, - "documentation":"Amazon AppStream 2.0

You can use Amazon AppStream 2.0 to stream desktop applications to any device running a web browser, without rewriting them.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/waiters-2.json deleted file mode 100644 index f53f609c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appstream/2016-12-01/waiters-2.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "version": 2, - "waiters": { - "FleetStarted": { - "delay": 30, - "maxAttempts": 40, - "operation": "DescribeFleets", - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Fleets[].State", - "expected": "ACTIVE" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Fleets[].State", - "expected": "PENDING_DEACTIVATE" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Fleets[].State", - "expected": "INACTIVE" - } - ] - }, - "FleetStopped": { - "delay": 30, - "maxAttempts": 40, - "operation": "DescribeFleets", - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Fleets[].State", - "expected": "INACTIVE" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Fleets[].State", - "expected": "PENDING_ACTIVATE" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Fleets[].State", - "expected": "ACTIVE" - } - ] - } - } -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/service-2.json deleted file mode 100644 index 8d8e1747..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/appsync/2017-07-25/service-2.json +++ /dev/null @@ -1,1918 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-07-25", - "endpointPrefix":"appsync", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"AWSAppSync", - "serviceFullName":"AWS AppSync", - "serviceId":"AppSync", - "signatureVersion":"v4", - "signingName":"appsync", - "uid":"appsync-2017-07-25" - }, - "operations":{ - "CreateApiKey":{ - "name":"CreateApiKey", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/apikeys" - }, - "input":{"shape":"CreateApiKeyRequest"}, - "output":{"shape":"CreateApiKeyResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"UnauthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ApiKeyLimitExceededException"}, - {"shape":"ApiKeyValidityOutOfBoundsException"} - ], - "documentation":"

Creates a unique key that you can distribute to clients who are executing your API.

" - }, - "CreateDataSource":{ - "name":"CreateDataSource", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/datasources" - }, - "input":{"shape":"CreateDataSourceRequest"}, - "output":{"shape":"CreateDataSourceResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a DataSource object.

" - }, - "CreateGraphqlApi":{ - "name":"CreateGraphqlApi", - "http":{ - "method":"POST", - "requestUri":"/v1/apis" - }, - "input":{"shape":"CreateGraphqlApiRequest"}, - "output":{"shape":"CreateGraphqlApiResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ApiLimitExceededException"} - ], - "documentation":"

Creates a GraphqlApi object.

" - }, - "CreateResolver":{ - "name":"CreateResolver", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" - }, - "input":{"shape":"CreateResolverRequest"}, - "output":{"shape":"CreateResolverResponse"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a Resolver object.

A resolver converts incoming requests into a format that a data source can understand and converts the data source's responses into GraphQL.

" - }, - "CreateType":{ - "name":"CreateType", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/types" - }, - "input":{"shape":"CreateTypeRequest"}, - "output":{"shape":"CreateTypeResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a Type object.

" - }, - "DeleteApiKey":{ - "name":"DeleteApiKey", - "http":{ - "method":"DELETE", - "requestUri":"/v1/apis/{apiId}/apikeys/{id}" - }, - "input":{"shape":"DeleteApiKeyRequest"}, - "output":{"shape":"DeleteApiKeyResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes an API key.

" - }, - "DeleteDataSource":{ - "name":"DeleteDataSource", - "http":{ - "method":"DELETE", - "requestUri":"/v1/apis/{apiId}/datasources/{name}" - }, - "input":{"shape":"DeleteDataSourceRequest"}, - "output":{"shape":"DeleteDataSourceResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a DataSource object.

" - }, - "DeleteGraphqlApi":{ - "name":"DeleteGraphqlApi", - "http":{ - "method":"DELETE", - "requestUri":"/v1/apis/{apiId}" - }, - "input":{"shape":"DeleteGraphqlApiRequest"}, - "output":{"shape":"DeleteGraphqlApiResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a GraphqlApi object.

" - }, - "DeleteResolver":{ - "name":"DeleteResolver", - "http":{ - "method":"DELETE", - "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" - }, - "input":{"shape":"DeleteResolverRequest"}, - "output":{"shape":"DeleteResolverResponse"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a Resolver object.

" - }, - "DeleteType":{ - "name":"DeleteType", - "http":{ - "method":"DELETE", - "requestUri":"/v1/apis/{apiId}/types/{typeName}" - }, - "input":{"shape":"DeleteTypeRequest"}, - "output":{"shape":"DeleteTypeResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a Type object.

" - }, - "GetDataSource":{ - "name":"GetDataSource", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/datasources/{name}" - }, - "input":{"shape":"GetDataSourceRequest"}, - "output":{"shape":"GetDataSourceResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Retrieves a DataSource object.

" - }, - "GetGraphqlApi":{ - "name":"GetGraphqlApi", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}" - }, - "input":{"shape":"GetGraphqlApiRequest"}, - "output":{"shape":"GetGraphqlApiResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Retrieves a GraphqlApi object.

" - }, - "GetIntrospectionSchema":{ - "name":"GetIntrospectionSchema", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/schema" - }, - "input":{"shape":"GetIntrospectionSchemaRequest"}, - "output":{"shape":"GetIntrospectionSchemaResponse"}, - "errors":[ - {"shape":"GraphQLSchemaException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Retrieves the introspection schema for a GraphQL API.

" - }, - "GetResolver":{ - "name":"GetResolver", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" - }, - "input":{"shape":"GetResolverRequest"}, - "output":{"shape":"GetResolverResponse"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves a Resolver object.

" - }, - "GetSchemaCreationStatus":{ - "name":"GetSchemaCreationStatus", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/schemacreation" - }, - "input":{"shape":"GetSchemaCreationStatusRequest"}, - "output":{"shape":"GetSchemaCreationStatusResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Retrieves the current status of a schema creation operation.

" - }, - "GetType":{ - "name":"GetType", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/types/{typeName}" - }, - "input":{"shape":"GetTypeRequest"}, - "output":{"shape":"GetTypeResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Retrieves a Type object.

" - }, - "ListApiKeys":{ - "name":"ListApiKeys", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/apikeys" - }, - "input":{"shape":"ListApiKeysRequest"}, - "output":{"shape":"ListApiKeysResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the API keys for a given API.

API keys are deleted automatically sometime after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call DeleteApiKey to manually delete a key before it's automatically deleted.

" - }, - "ListDataSources":{ - "name":"ListDataSources", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/datasources" - }, - "input":{"shape":"ListDataSourcesRequest"}, - "output":{"shape":"ListDataSourcesResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the data sources for a given API.

" - }, - "ListGraphqlApis":{ - "name":"ListGraphqlApis", - "http":{ - "method":"GET", - "requestUri":"/v1/apis" - }, - "input":{"shape":"ListGraphqlApisRequest"}, - "output":{"shape":"ListGraphqlApisResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists your GraphQL APIs.

" - }, - "ListResolvers":{ - "name":"ListResolvers", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" - }, - "input":{"shape":"ListResolversRequest"}, - "output":{"shape":"ListResolversResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the resolvers for a given API and type.

" - }, - "ListTypes":{ - "name":"ListTypes", - "http":{ - "method":"GET", - "requestUri":"/v1/apis/{apiId}/types" - }, - "input":{"shape":"ListTypesRequest"}, - "output":{"shape":"ListTypesResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the types for a given API.

" - }, - "StartSchemaCreation":{ - "name":"StartSchemaCreation", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/schemacreation" - }, - "input":{"shape":"StartSchemaCreationRequest"}, - "output":{"shape":"StartSchemaCreationResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

" - }, - "UpdateApiKey":{ - "name":"UpdateApiKey", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/apikeys/{id}" - }, - "input":{"shape":"UpdateApiKeyRequest"}, - "output":{"shape":"UpdateApiKeyResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ApiKeyValidityOutOfBoundsException"} - ], - "documentation":"

Updates an API key.

" - }, - "UpdateDataSource":{ - "name":"UpdateDataSource", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/datasources/{name}" - }, - "input":{"shape":"UpdateDataSourceRequest"}, - "output":{"shape":"UpdateDataSourceResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a DataSource object.

" - }, - "UpdateGraphqlApi":{ - "name":"UpdateGraphqlApi", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}" - }, - "input":{"shape":"UpdateGraphqlApiRequest"}, - "output":{"shape":"UpdateGraphqlApiResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a GraphqlApi object.

" - }, - "UpdateResolver":{ - "name":"UpdateResolver", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" - }, - "input":{"shape":"UpdateResolverRequest"}, - "output":{"shape":"UpdateResolverResponse"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a Resolver object.

" - }, - "UpdateType":{ - "name":"UpdateType", - "http":{ - "method":"POST", - "requestUri":"/v1/apis/{apiId}/types/{typeName}" - }, - "input":{"shape":"UpdateTypeRequest"}, - "output":{"shape":"UpdateTypeResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a Type object.

" - } - }, - "shapes":{ - "ApiKey":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The API key ID.

" - }, - "description":{ - "shape":"String", - "documentation":"

A description of the purpose of the API key.

" - }, - "expires":{ - "shape":"Long", - "documentation":"

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

" - } - }, - "documentation":"

Describes an API key.

Customers invoke AWS AppSync GraphQL APIs with API keys as an identity mechanism. There are two key versions:

da1: This version was introduced at launch in November 2017. These keys always expire after 7 days. Key expiration is managed by DynamoDB TTL. The keys will cease to be valid after Feb 21, 2018 and should not be used after that date.

  • ListApiKeys returns the expiration time in milliseconds.

  • CreateApiKey returns the expiration time in milliseconds.

  • UpdateApiKey is not available for this key version.

  • DeleteApiKey deletes the item from the table.

  • Expiration is stored in DynamoDB as milliseconds. This results in a bug where keys are not automatically deleted because DynamoDB expects the TTL to be stored in seconds. As a one-time action, we will delete these keys from the table after Feb 21, 2018.

da2: This version was introduced in February 2018 when AppSync added support to extend key expiration.

  • ListApiKeys returns the expiration time in seconds.

  • CreateApiKey returns the expiration time in seconds and accepts a user-provided expiration time in seconds.

  • UpdateApiKey returns the expiration time in seconds and accepts a user-provided expiration time in seconds. Key expiration can only be updated while the key has not expired.

  • DeleteApiKey deletes the item from the table.

  • Expiration is stored in DynamoDB as seconds.

" - }, - "ApiKeyLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The API key exceeded a limit. Try your request again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ApiKeyValidityOutOfBoundsException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The API key expiration must be set to a value between 1 and 365 days from creation (for CreateApiKey) or from update (for UpdateApiKey).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ApiKeys":{ - "type":"list", - "member":{"shape":"ApiKey"} - }, - "ApiLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The GraphQL API exceeded a limit. Try your request again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "AuthenticationType":{ - "type":"string", - "enum":[ - "API_KEY", - "AWS_IAM", - "AMAZON_COGNITO_USER_POOLS", - "OPENID_CONNECT" - ] - }, - "BadRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Blob":{"type":"blob"}, - "Boolean":{"type":"boolean"}, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Another modification is being made. That modification must complete before you can make your change.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CreateApiKeyRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The ID for your GraphQL API.

", - "location":"uri", - "locationName":"apiId" - }, - "description":{ - "shape":"String", - "documentation":"

A description of the purpose of the API key.

" - }, - "expires":{ - "shape":"Long", - "documentation":"

The time from creation time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. The default value for this parameter is 7 days from creation time. For more information, see .

" - } - } - }, - "CreateApiKeyResponse":{ - "type":"structure", - "members":{ - "apiKey":{ - "shape":"ApiKey", - "documentation":"

The API key.

" - } - } - }, - "CreateDataSourceRequest":{ - "type":"structure", - "required":[ - "apiId", - "name", - "type" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID for the GraphQL API for the DataSource.

", - "location":"uri", - "locationName":"apiId" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

A user-supplied name for the DataSource.

" - }, - "description":{ - "shape":"String", - "documentation":"

A description of the DataSource.

" - }, - "type":{ - "shape":"DataSourceType", - "documentation":"

The type of the DataSource.

" - }, - "serviceRoleArn":{ - "shape":"String", - "documentation":"

The IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" - }, - "dynamodbConfig":{ - "shape":"DynamodbDataSourceConfig", - "documentation":"

DynamoDB settings.

" - }, - "lambdaConfig":{ - "shape":"LambdaDataSourceConfig", - "documentation":"

AWS Lambda settings.

" - }, - "elasticsearchConfig":{ - "shape":"ElasticsearchDataSourceConfig", - "documentation":"

Amazon Elasticsearch settings.

" - }, - "httpConfig":{ - "shape":"HttpDataSourceConfig", - "documentation":"

Http endpoint settings.

" - } - } - }, - "CreateDataSourceResponse":{ - "type":"structure", - "members":{ - "dataSource":{ - "shape":"DataSource", - "documentation":"

The DataSource object.

" - } - } - }, - "CreateGraphqlApiRequest":{ - "type":"structure", - "required":[ - "name", - "authenticationType" - ], - "members":{ - "name":{ - "shape":"String", - "documentation":"

A user-supplied name for the GraphqlApi.

" - }, - "logConfig":{ - "shape":"LogConfig", - "documentation":"

The Amazon CloudWatch logs configuration.

" - }, - "authenticationType":{ - "shape":"AuthenticationType", - "documentation":"

The authentication type: API key, IAM, or Amazon Cognito User Pools.

" - }, - "userPoolConfig":{ - "shape":"UserPoolConfig", - "documentation":"

The Amazon Cognito User Pool configuration.

" - }, - "openIDConnectConfig":{ - "shape":"OpenIDConnectConfig", - "documentation":"

The Open Id Connect configuration configuration.

" - } - } - }, - "CreateGraphqlApiResponse":{ - "type":"structure", - "members":{ - "graphqlApi":{ - "shape":"GraphqlApi", - "documentation":"

The GraphqlApi.

" - } - } - }, - "CreateResolverRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "fieldName", - "dataSourceName", - "requestMappingTemplate" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The ID for the GraphQL API for which the resolver is being created.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The name of the Type.

", - "location":"uri", - "locationName":"typeName" - }, - "fieldName":{ - "shape":"ResourceName", - "documentation":"

The name of the field to attach the resolver to.

" - }, - "dataSourceName":{ - "shape":"ResourceName", - "documentation":"

The name of the data source for which the resolver is being created.

" - }, - "requestMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The mapping template to be used for requests.

A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).

" - }, - "responseMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The mapping template to be used for responses from the data source.

" - } - } - }, - "CreateResolverResponse":{ - "type":"structure", - "members":{ - "resolver":{ - "shape":"Resolver", - "documentation":"

The Resolver object.

" - } - } - }, - "CreateTypeRequest":{ - "type":"structure", - "required":[ - "apiId", - "definition", - "format" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "definition":{ - "shape":"String", - "documentation":"

The type definition, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" - }, - "format":{ - "shape":"TypeDefinitionFormat", - "documentation":"

The type format: SDL or JSON.

" - } - } - }, - "CreateTypeResponse":{ - "type":"structure", - "members":{ - "type":{ - "shape":"Type", - "documentation":"

The Type object.

" - } - } - }, - "DataSource":{ - "type":"structure", - "members":{ - "dataSourceArn":{ - "shape":"String", - "documentation":"

The data source ARN.

" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the data source.

" - }, - "description":{ - "shape":"String", - "documentation":"

The description of the data source.

" - }, - "type":{ - "shape":"DataSourceType", - "documentation":"

The type of the data source.

  • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

  • AMAZON_ELASTICSEARCH: The data source is an Amazon Elasticsearch Service domain.

  • AWS_LAMBDA: The data source is an AWS Lambda function.

  • NONE: There is no data source. This type is used when when you wish to invoke a GraphQL operation without connecting to a data source, such as performing data transformation with resolvers or triggering a subscription to be invoked from a mutation.

  • HTTP: The data source is an HTTP endpoint.

" - }, - "serviceRoleArn":{ - "shape":"String", - "documentation":"

The IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" - }, - "dynamodbConfig":{ - "shape":"DynamodbDataSourceConfig", - "documentation":"

DynamoDB settings.

" - }, - "lambdaConfig":{ - "shape":"LambdaDataSourceConfig", - "documentation":"

Lambda settings.

" - }, - "elasticsearchConfig":{ - "shape":"ElasticsearchDataSourceConfig", - "documentation":"

Amazon Elasticsearch settings.

" - }, - "httpConfig":{ - "shape":"HttpDataSourceConfig", - "documentation":"

Http endpoint settings.

" - } - }, - "documentation":"

Describes a data source.

" - }, - "DataSourceType":{ - "type":"string", - "enum":[ - "AWS_LAMBDA", - "AMAZON_DYNAMODB", - "AMAZON_ELASTICSEARCH", - "NONE", - "HTTP" - ] - }, - "DataSources":{ - "type":"list", - "member":{"shape":"DataSource"} - }, - "DefaultAction":{ - "type":"string", - "enum":[ - "ALLOW", - "DENY" - ] - }, - "DeleteApiKeyRequest":{ - "type":"structure", - "required":[ - "apiId", - "id" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "id":{ - "shape":"String", - "documentation":"

The ID for the API key.

", - "location":"uri", - "locationName":"id" - } - } - }, - "DeleteApiKeyResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteDataSourceRequest":{ - "type":"structure", - "required":[ - "apiId", - "name" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the data source.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DeleteDataSourceResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteGraphqlApiRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - } - } - }, - "DeleteGraphqlApiResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteResolverRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "fieldName" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The name of the resolver type.

", - "location":"uri", - "locationName":"typeName" - }, - "fieldName":{ - "shape":"ResourceName", - "documentation":"

The resolver field name.

", - "location":"uri", - "locationName":"fieldName" - } - } - }, - "DeleteResolverResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteTypeRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The type name.

", - "location":"uri", - "locationName":"typeName" - } - } - }, - "DeleteTypeResponse":{ - "type":"structure", - "members":{ - } - }, - "DynamodbDataSourceConfig":{ - "type":"structure", - "required":[ - "tableName", - "awsRegion" - ], - "members":{ - "tableName":{ - "shape":"String", - "documentation":"

The table name.

" - }, - "awsRegion":{ - "shape":"String", - "documentation":"

The AWS region.

" - }, - "useCallerCredentials":{ - "shape":"Boolean", - "documentation":"

Set to TRUE to use Amazon Cognito credentials with this data source.

" - } - }, - "documentation":"

Describes a DynamoDB data source configuration.

" - }, - "ElasticsearchDataSourceConfig":{ - "type":"structure", - "required":[ - "endpoint", - "awsRegion" - ], - "members":{ - "endpoint":{ - "shape":"String", - "documentation":"

The endpoint.

" - }, - "awsRegion":{ - "shape":"String", - "documentation":"

The AWS region.

" - } - }, - "documentation":"

Describes an Elasticsearch data source configuration.

" - }, - "ErrorMessage":{"type":"string"}, - "FieldLogLevel":{ - "type":"string", - "enum":[ - "NONE", - "ERROR", - "ALL" - ] - }, - "GetDataSourceRequest":{ - "type":"structure", - "required":[ - "apiId", - "name" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the data source.

", - "location":"uri", - "locationName":"name" - } - } - }, - "GetDataSourceResponse":{ - "type":"structure", - "members":{ - "dataSource":{ - "shape":"DataSource", - "documentation":"

The DataSource object.

" - } - } - }, - "GetGraphqlApiRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID for the GraphQL API.

", - "location":"uri", - "locationName":"apiId" - } - } - }, - "GetGraphqlApiResponse":{ - "type":"structure", - "members":{ - "graphqlApi":{ - "shape":"GraphqlApi", - "documentation":"

The GraphqlApi object.

" - } - } - }, - "GetIntrospectionSchemaRequest":{ - "type":"structure", - "required":[ - "apiId", - "format" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "format":{ - "shape":"OutputType", - "documentation":"

The schema format: SDL or JSON.

", - "location":"querystring", - "locationName":"format" - } - } - }, - "GetIntrospectionSchemaResponse":{ - "type":"structure", - "members":{ - "schema":{ - "shape":"Blob", - "documentation":"

The schema, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" - } - }, - "payload":"schema" - }, - "GetResolverRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "fieldName" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The resolver type name.

", - "location":"uri", - "locationName":"typeName" - }, - "fieldName":{ - "shape":"ResourceName", - "documentation":"

The resolver field name.

", - "location":"uri", - "locationName":"fieldName" - } - } - }, - "GetResolverResponse":{ - "type":"structure", - "members":{ - "resolver":{ - "shape":"Resolver", - "documentation":"

The Resolver object.

" - } - } - }, - "GetSchemaCreationStatusRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - } - } - }, - "GetSchemaCreationStatusResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"SchemaStatus", - "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data.

" - }, - "details":{ - "shape":"String", - "documentation":"

Detailed information about the status of the schema creation operation.

" - } - } - }, - "GetTypeRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "format" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The type name.

", - "location":"uri", - "locationName":"typeName" - }, - "format":{ - "shape":"TypeDefinitionFormat", - "documentation":"

The type format: SDL or JSON.

", - "location":"querystring", - "locationName":"format" - } - } - }, - "GetTypeResponse":{ - "type":"structure", - "members":{ - "type":{ - "shape":"Type", - "documentation":"

The Type object.

" - } - } - }, - "GraphQLSchemaException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The GraphQL schema is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "GraphqlApi":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The API name.

" - }, - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

" - }, - "authenticationType":{ - "shape":"AuthenticationType", - "documentation":"

The authentication type.

" - }, - "logConfig":{ - "shape":"LogConfig", - "documentation":"

The Amazon CloudWatch Logs configuration.

" - }, - "userPoolConfig":{ - "shape":"UserPoolConfig", - "documentation":"

The Amazon Cognito User Pool configuration.

" - }, - "openIDConnectConfig":{ - "shape":"OpenIDConnectConfig", - "documentation":"

The Open Id Connect configuration.

" - }, - "arn":{ - "shape":"String", - "documentation":"

The ARN.

" - }, - "uris":{ - "shape":"MapOfStringToString", - "documentation":"

The URIs.

" - } - }, - "documentation":"

Describes a GraphQL API.

" - }, - "GraphqlApis":{ - "type":"list", - "member":{"shape":"GraphqlApi"} - }, - "HttpDataSourceConfig":{ - "type":"structure", - "members":{ - "endpoint":{ - "shape":"String", - "documentation":"

The Http url endpoint. You can either specify the domain name or ip and port combination and the url scheme must be http(s). If the port is not specified, AWS AppSync will use the default port 80 for http endpoint and port 443 for https endpoints.

" - } - }, - "documentation":"

Describes a Http data source configuration.

" - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

An internal AWS AppSync error occurred. Try your request again.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "LambdaDataSourceConfig":{ - "type":"structure", - "required":["lambdaFunctionArn"], - "members":{ - "lambdaFunctionArn":{ - "shape":"String", - "documentation":"

The ARN for the Lambda function.

" - } - }, - "documentation":"

Describes a Lambda data source configuration.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The request exceeded a limit. Try your request again.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ListApiKeysRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results you want the request to return.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListApiKeysResponse":{ - "type":"structure", - "members":{ - "apiKeys":{ - "shape":"ApiKeys", - "documentation":"

The ApiKey objects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" - } - } - }, - "ListDataSourcesRequest":{ - "type":"structure", - "required":["apiId"], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results you want the request to return.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListDataSourcesResponse":{ - "type":"structure", - "members":{ - "dataSources":{ - "shape":"DataSources", - "documentation":"

The DataSource objects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" - } - } - }, - "ListGraphqlApisRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results you want the request to return.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListGraphqlApisResponse":{ - "type":"structure", - "members":{ - "graphqlApis":{ - "shape":"GraphqlApis", - "documentation":"

The GraphqlApi objects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" - } - } - }, - "ListResolversRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"String", - "documentation":"

The type name.

", - "location":"uri", - "locationName":"typeName" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results you want the request to return.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListResolversResponse":{ - "type":"structure", - "members":{ - "resolvers":{ - "shape":"Resolvers", - "documentation":"

The Resolver objects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" - } - } - }, - "ListTypesRequest":{ - "type":"structure", - "required":[ - "apiId", - "format" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "format":{ - "shape":"TypeDefinitionFormat", - "documentation":"

The type format: SDL or JSON.

", - "location":"querystring", - "locationName":"format" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results you want the request to return.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListTypesResponse":{ - "type":"structure", - "members":{ - "types":{ - "shape":"TypeList", - "documentation":"

The Type objects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" - } - } - }, - "LogConfig":{ - "type":"structure", - "required":[ - "fieldLogLevel", - "cloudWatchLogsRoleArn" - ], - "members":{ - "fieldLogLevel":{ - "shape":"FieldLogLevel", - "documentation":"

The field logging level. Values can be NONE, ERROR, ALL.

  • NONE: No field-level logs are captured.

  • ERROR: Logs the following information only for the fields that are in error:

    • The error section in the server response.

    • Field-level errors.

    • The generated request/response functions that got resolved for error fields.

  • ALL: The following information is logged for all fields in the query:

    • Field-level tracing information.

    • The generated request/response functions that got resolved for each field.

" - }, - "cloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

" - } - }, - "documentation":"

The CloudWatch Logs configuration.

" - }, - "Long":{"type":"long"}, - "MapOfStringToString":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "MappingTemplate":{ - "type":"string", - "max":65536, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":25, - "min":0 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The resource specified in the request was not found. Check the resource and try again.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "OpenIDConnectConfig":{ - "type":"structure", - "required":["issuer"], - "members":{ - "issuer":{ - "shape":"String", - "documentation":"

The issuer for the open id connect configuration. The issuer returned by discovery MUST exactly match the value of iss in the ID Token.

" - }, - "clientId":{ - "shape":"String", - "documentation":"

The client identifier of the Relying party at the OpenID Provider. This identifier is typically obtained when the Relying party is registered with the OpenID Provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time

" - }, - "iatTTL":{ - "shape":"Long", - "documentation":"

The number of milliseconds a token is valid after being issued to a user.

" - }, - "authTTL":{ - "shape":"Long", - "documentation":"

The number of milliseconds a token is valid after being authenticated.

" - } - }, - "documentation":"

Describes an Open Id Connect configuration.

" - }, - "OutputType":{ - "type":"string", - "enum":[ - "SDL", - "JSON" - ] - }, - "PaginationToken":{ - "type":"string", - "pattern":"[\\\\S]+" - }, - "Resolver":{ - "type":"structure", - "members":{ - "typeName":{ - "shape":"ResourceName", - "documentation":"

The resolver type name.

" - }, - "fieldName":{ - "shape":"ResourceName", - "documentation":"

The resolver field name.

" - }, - "dataSourceName":{ - "shape":"ResourceName", - "documentation":"

The resolver data source name.

" - }, - "resolverArn":{ - "shape":"String", - "documentation":"

The resolver ARN.

" - }, - "requestMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The request mapping template.

" - }, - "responseMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The response mapping template.

" - } - }, - "documentation":"

Describes a resolver.

" - }, - "Resolvers":{ - "type":"list", - "member":{"shape":"Resolver"} - }, - "ResourceName":{ - "type":"string", - "pattern":"[_A-Za-z][_0-9A-Za-z]*" - }, - "SchemaStatus":{ - "type":"string", - "enum":[ - "PROCESSING", - "ACTIVE", - "DELETING" - ] - }, - "StartSchemaCreationRequest":{ - "type":"structure", - "required":[ - "apiId", - "definition" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "definition":{ - "shape":"Blob", - "documentation":"

The schema definition, in GraphQL schema language format.

" - } - } - }, - "StartSchemaCreationResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"SchemaStatus", - "documentation":"

The current state of the schema (PROCESSING, ACTIVE, or DELETING). Once the schema is in the ACTIVE state, you can add data.

" - } - } - }, - "String":{"type":"string"}, - "Type":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The type name.

" - }, - "description":{ - "shape":"String", - "documentation":"

The type description.

" - }, - "arn":{ - "shape":"String", - "documentation":"

The type ARN.

" - }, - "definition":{ - "shape":"String", - "documentation":"

The type definition.

" - }, - "format":{ - "shape":"TypeDefinitionFormat", - "documentation":"

The type format: SDL or JSON.

" - } - }, - "documentation":"

Describes a type.

" - }, - "TypeDefinitionFormat":{ - "type":"string", - "enum":[ - "SDL", - "JSON" - ] - }, - "TypeList":{ - "type":"list", - "member":{"shape":"Type"} - }, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

You are not authorized to perform this operation.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UpdateApiKeyRequest":{ - "type":"structure", - "required":[ - "apiId", - "id" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The ID for the GraphQL API

", - "location":"uri", - "locationName":"apiId" - }, - "id":{ - "shape":"String", - "documentation":"

The API key ID.

", - "location":"uri", - "locationName":"id" - }, - "description":{ - "shape":"String", - "documentation":"

A description of the purpose of the API key.

" - }, - "expires":{ - "shape":"Long", - "documentation":"

The time from update time after which the API key expires. The date is represented as seconds since the epoch. For more information, see .

" - } - } - }, - "UpdateApiKeyResponse":{ - "type":"structure", - "members":{ - "apiKey":{ - "shape":"ApiKey", - "documentation":"

The API key.

" - } - } - }, - "UpdateDataSourceRequest":{ - "type":"structure", - "required":[ - "apiId", - "name", - "type" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

The new name for the data source.

", - "location":"uri", - "locationName":"name" - }, - "description":{ - "shape":"String", - "documentation":"

The new description for the data source.

" - }, - "type":{ - "shape":"DataSourceType", - "documentation":"

The new data source type.

" - }, - "serviceRoleArn":{ - "shape":"String", - "documentation":"

The new service role ARN for the data source.

" - }, - "dynamodbConfig":{ - "shape":"DynamodbDataSourceConfig", - "documentation":"

The new DynamoDB configuration.

" - }, - "lambdaConfig":{ - "shape":"LambdaDataSourceConfig", - "documentation":"

The new Lambda configuration.

" - }, - "elasticsearchConfig":{ - "shape":"ElasticsearchDataSourceConfig", - "documentation":"

The new Elasticsearch configuration.

" - }, - "httpConfig":{ - "shape":"HttpDataSourceConfig", - "documentation":"

The new http endpoint configuration

" - } - } - }, - "UpdateDataSourceResponse":{ - "type":"structure", - "members":{ - "dataSource":{ - "shape":"DataSource", - "documentation":"

The updated DataSource object.

" - } - } - }, - "UpdateGraphqlApiRequest":{ - "type":"structure", - "required":[ - "apiId", - "name" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "name":{ - "shape":"String", - "documentation":"

The new name for the GraphqlApi object.

" - }, - "logConfig":{ - "shape":"LogConfig", - "documentation":"

The Amazon CloudWatch logs configuration for the GraphqlApi object.

" - }, - "authenticationType":{ - "shape":"AuthenticationType", - "documentation":"

The new authentication type for the GraphqlApi object.

" - }, - "userPoolConfig":{ - "shape":"UserPoolConfig", - "documentation":"

The new Amazon Cognito User Pool configuration for the GraphqlApi object.

" - }, - "openIDConnectConfig":{ - "shape":"OpenIDConnectConfig", - "documentation":"

The Open Id Connect configuration configuration for the GraphqlApi object.

" - } - } - }, - "UpdateGraphqlApiResponse":{ - "type":"structure", - "members":{ - "graphqlApi":{ - "shape":"GraphqlApi", - "documentation":"

The updated GraphqlApi object.

" - } - } - }, - "UpdateResolverRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "fieldName", - "dataSourceName", - "requestMappingTemplate" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The new type name.

", - "location":"uri", - "locationName":"typeName" - }, - "fieldName":{ - "shape":"ResourceName", - "documentation":"

The new field name.

", - "location":"uri", - "locationName":"fieldName" - }, - "dataSourceName":{ - "shape":"ResourceName", - "documentation":"

The new data source name.

" - }, - "requestMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The new request mapping template.

" - }, - "responseMappingTemplate":{ - "shape":"MappingTemplate", - "documentation":"

The new response mapping template.

" - } - } - }, - "UpdateResolverResponse":{ - "type":"structure", - "members":{ - "resolver":{ - "shape":"Resolver", - "documentation":"

The updated Resolver object.

" - } - } - }, - "UpdateTypeRequest":{ - "type":"structure", - "required":[ - "apiId", - "typeName", - "format" - ], - "members":{ - "apiId":{ - "shape":"String", - "documentation":"

The API ID.

", - "location":"uri", - "locationName":"apiId" - }, - "typeName":{ - "shape":"ResourceName", - "documentation":"

The new type name.

", - "location":"uri", - "locationName":"typeName" - }, - "definition":{ - "shape":"String", - "documentation":"

The new definition.

" - }, - "format":{ - "shape":"TypeDefinitionFormat", - "documentation":"

The new type format: SDL or JSON.

" - } - } - }, - "UpdateTypeResponse":{ - "type":"structure", - "members":{ - "type":{ - "shape":"Type", - "documentation":"

The updated Type object.

" - } - } - }, - "UserPoolConfig":{ - "type":"structure", - "required":[ - "userPoolId", - "awsRegion", - "defaultAction" - ], - "members":{ - "userPoolId":{ - "shape":"String", - "documentation":"

The user pool ID.

" - }, - "awsRegion":{ - "shape":"String", - "documentation":"

The AWS region in which the user pool was created.

" - }, - "defaultAction":{ - "shape":"DefaultAction", - "documentation":"

The action that you want your GraphQL API to take when a request that uses Amazon Cognito User Pool authentication doesn't match the Amazon Cognito User Pool configuration.

" - }, - "appIdClientRegex":{ - "shape":"String", - "documentation":"

A regular expression for validating the incoming Amazon Cognito User Pool app client ID.

" - } - }, - "documentation":"

Describes an Amazon Cognito User Pool configuration.

" - } - }, - "documentation":"

AWS AppSync provides API actions for creating and interacting with data sources using GraphQL from your application.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/paginators-1.json deleted file mode 100644 index 8cefb4a0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/paginators-1.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "pagination": { - "ListNamedQueries": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "NamedQueryIds" - }, - "ListQueryExecutions": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "QueryExecutionIds" - }, - "GetQueryResults": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ResultSet.Rows", - "non_aggregate_keys": ["ResultSet.ResultSetMetadata"] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/service-2.json deleted file mode 100644 index c2c5e79e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/athena/2017-05-18/service-2.json +++ /dev/null @@ -1,874 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-05-18", - "endpointPrefix":"athena", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Athena", - "serviceId":"Athena", - "signatureVersion":"v4", - "targetPrefix":"AmazonAthena", - "uid":"athena-2017-05-18" - }, - "operations":{ - "BatchGetNamedQuery":{ - "name":"BatchGetNamedQuery", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetNamedQueryInput"}, - "output":{"shape":"BatchGetNamedQueryOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/service-2.json deleted file mode 100644 index 89a34b27..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling-plans/2018-01-06/service-2.json +++ /dev/null @@ -1,755 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-01-06", - "endpointPrefix":"autoscaling", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Auto Scaling Plans", - "serviceId":"Auto Scaling Plans", - "signatureVersion":"v4", - "signingName":"autoscaling-plans", - "targetPrefix":"AnyScaleScalingPlannerFrontendService", - "uid":"autoscaling-plans-2018-01-06" - }, - "operations":{ - "CreateScalingPlan":{ - "name":"CreateScalingPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateScalingPlanRequest"}, - "output":{"shape":"CreateScalingPlanResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Creates a scaling plan.

A scaling plan contains a set of instructions used to configure dynamic scaling for the scalable resources in your application. AWS Auto Scaling creates target tracking scaling policies based on the scaling instructions in your scaling plan.

" - }, - "DeleteScalingPlan":{ - "name":"DeleteScalingPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteScalingPlanRequest"}, - "output":{"shape":"DeleteScalingPlanResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deletes the specified scaling plan.

" - }, - "DescribeScalingPlanResources":{ - "name":"DescribeScalingPlanResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingPlanResourcesRequest"}, - "output":{"shape":"DescribeScalingPlanResourcesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Describes the scalable resources in the specified scaling plan.

" - }, - "DescribeScalingPlans":{ - "name":"DescribeScalingPlans", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingPlansRequest"}, - "output":{"shape":"DescribeScalingPlansResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Describes the specified scaling plans or all of your scaling plans.

" - }, - "UpdateScalingPlan":{ - "name":"UpdateScalingPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateScalingPlanRequest"}, - "output":{"shape":"UpdateScalingPlanResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ConcurrentUpdateException"}, - {"shape":"InternalServiceException"}, - {"shape":"ObjectNotFoundException"} - ], - "documentation":"

Updates the scaling plan for the specified scaling plan.

You cannot update a scaling plan if it is in the process of being created, updated, or deleted.

" - } - }, - "shapes":{ - "ApplicationSource":{ - "type":"structure", - "members":{ - "CloudFormationStackARN":{ - "shape":"XmlString", - "documentation":"

The Amazon Resource Name (ARN) of a CloudFormation stack.

" - }, - "TagFilters":{ - "shape":"TagFilters", - "documentation":"

A set of tags (up to 50).

" - } - }, - "documentation":"

Represents an application source.

" - }, - "ApplicationSources":{ - "type":"list", - "member":{"shape":"ApplicationSource"} - }, - "ConcurrentUpdateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Concurrent updates caused an exception, for example, if you request an update to a scaling plan that already has a pending update.

", - "exception":true - }, - "Cooldown":{"type":"integer"}, - "CreateScalingPlanRequest":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ApplicationSource", - "ScalingInstructions" - ], - "members":{ - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.

" - }, - "ApplicationSource":{ - "shape":"ApplicationSource", - "documentation":"

A CloudFormation stack or set of tags. You can create one scaling plan per application source.

" - }, - "ScalingInstructions":{ - "shape":"ScalingInstructions", - "documentation":"

The scaling instructions.

" - } - } - }, - "CreateScalingPlanResponse":{ - "type":"structure", - "required":["ScalingPlanVersion"], - "members":{ - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan. This value is always 1.

" - } - } - }, - "CustomizedScalingMetricSpecification":{ - "type":"structure", - "required":[ - "MetricName", - "Namespace", - "Statistic" - ], - "members":{ - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Namespace":{ - "shape":"MetricNamespace", - "documentation":"

The namespace of the metric.

" - }, - "Dimensions":{ - "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" - }, - "Statistic":{ - "shape":"MetricStatistic", - "documentation":"

The statistic of the metric.

" - }, - "Unit":{ - "shape":"MetricUnit", - "documentation":"

The unit of the metric.

" - } - }, - "documentation":"

Represents a customized metric for a target tracking policy.

" - }, - "DeleteScalingPlanRequest":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ScalingPlanVersion" - ], - "members":{ - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan.

" - } - } - }, - "DeleteScalingPlanResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeScalingPlanResourcesRequest":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ScalingPlanVersion" - ], - "members":{ - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScalingPlanResourcesResponse":{ - "type":"structure", - "members":{ - "ScalingPlanResources":{ - "shape":"ScalingPlanResources", - "documentation":"

Information about the scalable resources.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DescribeScalingPlansRequest":{ - "type":"structure", - "members":{ - "ScalingPlanNames":{ - "shape":"ScalingPlanNames", - "documentation":"

The names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan. If you specify a scaling plan version, you must also specify a scaling plan name.

" - }, - "ApplicationSources":{ - "shape":"ApplicationSources", - "documentation":"

The sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

" - } - } - }, - "DescribeScalingPlansResponse":{ - "type":"structure", - "members":{ - "ScalingPlans":{ - "shape":"ScalingPlans", - "documentation":"

Information about the scaling plans.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" - } - } - }, - "DisableScaleIn":{"type":"boolean"}, - "ErrorMessage":{"type":"string"}, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service encountered an internal error.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The token provided is not valid.

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded.

", - "exception":true - }, - "MaxResults":{"type":"integer"}, - "MetricDimension":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"MetricDimensionName", - "documentation":"

The name of the dimension.

" - }, - "Value":{ - "shape":"MetricDimensionValue", - "documentation":"

The value of the dimension.

" - } - }, - "documentation":"

Represents a dimension for a customized metric.

" - }, - "MetricDimensionName":{"type":"string"}, - "MetricDimensionValue":{"type":"string"}, - "MetricDimensions":{ - "type":"list", - "member":{"shape":"MetricDimension"} - }, - "MetricName":{"type":"string"}, - "MetricNamespace":{"type":"string"}, - "MetricScale":{"type":"double"}, - "MetricStatistic":{ - "type":"string", - "enum":[ - "Average", - "Minimum", - "Maximum", - "SampleCount", - "Sum" - ] - }, - "MetricUnit":{"type":"string"}, - "NextToken":{"type":"string"}, - "ObjectNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified object could not be found.

", - "exception":true - }, - "PolicyName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"\\p{Print}+" - }, - "PolicyType":{ - "type":"string", - "enum":["TargetTrackingScaling"] - }, - "PredefinedScalingMetricSpecification":{ - "type":"structure", - "required":["PredefinedScalingMetricType"], - "members":{ - "PredefinedScalingMetricType":{ - "shape":"ScalingMetricType", - "documentation":"

The metric type. The ALBRequestCountPerTarget metric type applies only to Auto Scaling groups, Sport Fleet requests, and ECS services.

" - }, - "ResourceLabel":{ - "shape":"ResourceLabel", - "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group for an Application Load Balancer attached to the Auto Scaling group, Spot Fleet request, or ECS service.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" - } - }, - "documentation":"

Represents a predefined metric for a target tracking policy.

" - }, - "ResourceCapacity":{"type":"integer"}, - "ResourceIdMaxLen1600":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "ResourceLabel":{ - "type":"string", - "max":1023, - "min":1 - }, - "ScalableDimension":{ - "type":"string", - "enum":[ - "autoscaling:autoScalingGroup:DesiredCapacity", - "ecs:service:DesiredCount", - "ec2:spot-fleet-request:TargetCapacity", - "rds:cluster:ReadReplicaCount", - "dynamodb:table:ReadCapacityUnits", - "dynamodb:table:WriteCapacityUnits", - "dynamodb:index:ReadCapacityUnits", - "dynamodb:index:WriteCapacityUnits" - ] - }, - "ScalingInstruction":{ - "type":"structure", - "required":[ - "ServiceNamespace", - "ResourceId", - "ScalableDimension", - "MinCapacity", - "MaxCapacity", - "TargetTrackingConfigurations" - ], - "members":{ - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The ID of the resource. This string consists of the resource type and unique identifier.

  • Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

" - }, - "MinCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The minimum value to scale to in response to a scale in event.

" - }, - "MaxCapacity":{ - "shape":"ResourceCapacity", - "documentation":"

The maximum value to scale to in response to a scale out event.

" - }, - "TargetTrackingConfigurations":{ - "shape":"TargetTrackingConfigurations", - "documentation":"

The target tracking scaling policies (up to 10).

" - } - }, - "documentation":"

Specifies the scaling configuration for a scalable resource.

" - }, - "ScalingInstructions":{ - "type":"list", - "member":{"shape":"ScalingInstruction"} - }, - "ScalingMetricType":{ - "type":"string", - "enum":[ - "ASGAverageCPUUtilization", - "ASGAverageNetworkIn", - "ASGAverageNetworkOut", - "DynamoDBReadCapacityUtilization", - "DynamoDBWriteCapacityUtilization", - "ECSServiceAverageCPUUtilization", - "ECSServiceAverageMemoryUtilization", - "ALBRequestCountPerTarget", - "RDSReaderAverageCPUUtilization", - "RDSReaderAverageDatabaseConnections", - "EC2SpotFleetRequestAverageCPUUtilization", - "EC2SpotFleetRequestAverageNetworkIn", - "EC2SpotFleetRequestAverageNetworkOut" - ] - }, - "ScalingPlan":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ScalingPlanVersion", - "ApplicationSource", - "ScalingInstructions", - "StatusCode" - ], - "members":{ - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan.

" - }, - "ApplicationSource":{ - "shape":"ApplicationSource", - "documentation":"

The application source.

" - }, - "ScalingInstructions":{ - "shape":"ScalingInstructions", - "documentation":"

The scaling instructions.

" - }, - "StatusCode":{ - "shape":"ScalingPlanStatusCode", - "documentation":"

The status of the scaling plan.

  • Active - The scaling plan is active.

  • ActiveWithProblems - The scaling plan is active, but the scaling configuration for one or more resources could not be applied.

  • CreationInProgress - The scaling plan is being created.

  • CreationFailed - The scaling plan could not be created.

  • DeletionInProgress - The scaling plan is being deleted.

  • DeletionFailed - The scaling plan could not be deleted.

" - }, - "StatusMessage":{ - "shape":"XmlString", - "documentation":"

A simple message about the current status of the scaling plan.

" - }, - "StatusStartTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp when the scaling plan entered the current status.

" - }, - "CreationTime":{ - "shape":"TimestampType", - "documentation":"

The Unix timestamp when the scaling plan was created.

" - } - }, - "documentation":"

Represents a scaling plan.

" - }, - "ScalingPlanName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\p{Print}&&[^|:/]]+" - }, - "ScalingPlanNames":{ - "type":"list", - "member":{"shape":"ScalingPlanName"} - }, - "ScalingPlanResource":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ScalingPlanVersion", - "ServiceNamespace", - "ResourceId", - "ScalableDimension", - "ScalingStatusCode" - ], - "members":{ - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version of the scaling plan.

" - }, - "ServiceNamespace":{ - "shape":"ServiceNamespace", - "documentation":"

The namespace of the AWS service.

" - }, - "ResourceId":{ - "shape":"ResourceIdMaxLen1600", - "documentation":"

The ID of the resource. This string consists of the resource type and unique identifier.

  • Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

" - }, - "ScalableDimension":{ - "shape":"ScalableDimension", - "documentation":"

The scalable dimension for the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition.

" - }, - "ScalingPolicies":{ - "shape":"ScalingPolicies", - "documentation":"

The scaling policies.

" - }, - "ScalingStatusCode":{ - "shape":"ScalingStatusCode", - "documentation":"

The scaling status of the resource.

  • Active - The scaling configuration is active.

  • Inactive - The scaling configuration is not active because the scaling plan is being created or the scaling configuration could not be applied. Check the status message for more information.

  • PartiallyActive - The scaling configuration is partially active because the scaling plan is being created or deleted or the scaling configuration could not be fully applied. Check the status message for more information.

" - }, - "ScalingStatusMessage":{ - "shape":"XmlString", - "documentation":"

A simple message about the current scaling status of the resource.

" - } - }, - "documentation":"

Represents a scalable resource.

" - }, - "ScalingPlanResources":{ - "type":"list", - "member":{"shape":"ScalingPlanResource"} - }, - "ScalingPlanStatusCode":{ - "type":"string", - "enum":[ - "Active", - "ActiveWithProblems", - "CreationInProgress", - "CreationFailed", - "DeletionInProgress", - "DeletionFailed", - "UpdateInProgress", - "UpdateFailed" - ] - }, - "ScalingPlanVersion":{"type":"long"}, - "ScalingPlans":{ - "type":"list", - "member":{"shape":"ScalingPlan"} - }, - "ScalingPolicies":{ - "type":"list", - "member":{"shape":"ScalingPolicy"} - }, - "ScalingPolicy":{ - "type":"structure", - "required":[ - "PolicyName", - "PolicyType" - ], - "members":{ - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the scaling policy.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

The type of scaling policy.

" - }, - "TargetTrackingConfiguration":{ - "shape":"TargetTrackingConfiguration", - "documentation":"

The target tracking scaling policy.

" - } - }, - "documentation":"

Represents a scaling policy.

" - }, - "ScalingStatusCode":{ - "type":"string", - "enum":[ - "Inactive", - "PartiallyActive", - "Active" - ] - }, - "ServiceNamespace":{ - "type":"string", - "enum":[ - "autoscaling", - "ecs", - "ec2", - "rds", - "dynamodb" - ] - }, - "TagFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"XmlStringMaxLen128", - "documentation":"

The tag key.

" - }, - "Values":{ - "shape":"TagValues", - "documentation":"

The tag values (0 to 20).

" - } - }, - "documentation":"

Represents a tag.

" - }, - "TagFilters":{ - "type":"list", - "member":{"shape":"TagFilter"} - }, - "TagValues":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen256"} - }, - "TargetTrackingConfiguration":{ - "type":"structure", - "required":["TargetValue"], - "members":{ - "PredefinedScalingMetricSpecification":{ - "shape":"PredefinedScalingMetricSpecification", - "documentation":"

A predefined metric.

" - }, - "CustomizedScalingMetricSpecification":{ - "shape":"CustomizedScalingMetricSpecification", - "documentation":"

A customized metric.

" - }, - "TargetValue":{ - "shape":"MetricScale", - "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" - }, - "DisableScaleIn":{ - "shape":"DisableScaleIn", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" - }, - "ScaleOutCooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start. This value is not used if the scalable resource is an Auto Scaling group.

While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.

" - }, - "ScaleInCooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. This value is not used if the scalable resource is an Auto Scaling group.

The cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, AWS Auto Scaling scales out your scalable target immediately.

" - }, - "EstimatedInstanceWarmup":{ - "shape":"Cooldown", - "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This value is used only if the resource is an Auto Scaling group.

" - } - }, - "documentation":"

Represents a target tracking scaling policy.

" - }, - "TargetTrackingConfigurations":{ - "type":"list", - "member":{"shape":"TargetTrackingConfiguration"} - }, - "TimestampType":{"type":"timestamp"}, - "UpdateScalingPlanRequest":{ - "type":"structure", - "required":[ - "ScalingPlanName", - "ScalingPlanVersion" - ], - "members":{ - "ApplicationSource":{ - "shape":"ApplicationSource", - "documentation":"

A CloudFormation stack or set of tags.

" - }, - "ScalingPlanName":{ - "shape":"ScalingPlanName", - "documentation":"

The name of the scaling plan.

" - }, - "ScalingInstructions":{ - "shape":"ScalingInstructions", - "documentation":"

The scaling instructions.

" - }, - "ScalingPlanVersion":{ - "shape":"ScalingPlanVersion", - "documentation":"

The version number.

" - } - } - }, - "UpdateScalingPlanResponse":{ - "type":"structure", - "members":{ - } - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An exception was thrown for a validation issue. Review the parameters provided.

", - "exception":true - }, - "XmlString":{ - "type":"string", - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen128":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen256":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - } - }, - "documentation":"AWS Auto Scaling

Use AWS Auto Scaling to quickly discover all the scalable AWS resources for your application and configure dynamic scaling for your scalable resources.

To get started, create a scaling plan with a set of instructions used to configure dynamic scaling for the scalable resources in your application. AWS Auto Scaling creates target tracking scaling policies for the scalable resources in your scaling plan. Target tracking scaling policies adjust the capacity of your scalable resource as required to maintain resource utilization at the target value that you specified.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/examples-1.json deleted file mode 100644 index 9dcaf88d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/examples-1.json +++ /dev/null @@ -1,1395 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/paginators-1.json deleted file mode 100644 index 31bc0944..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/paginators-1.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "pagination": { - "DescribeAutoScalingGroups": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "AutoScalingGroups" - }, - "DescribeAutoScalingInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "AutoScalingInstances" - }, - "DescribeLaunchConfigurations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "LaunchConfigurations" - }, - "DescribeNotificationConfigurations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "NotificationConfigurations" - }, - "DescribePolicies": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "ScalingPolicies" - }, - "DescribeScalingActivities": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "Activities" - }, - "DescribeScheduledActions": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "ScheduledUpdateGroupActions" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "Tags" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/service-2.json deleted file mode 100644 index d6a3e2c8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/autoscaling/2011-01-01/service-2.json +++ /dev/null @@ -1,3744 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2011-01-01", - "endpointPrefix":"autoscaling", - "protocol":"query", - "serviceFullName":"Auto Scaling", - "serviceId":"Auto Scaling", - "signatureVersion":"v4", - "uid":"autoscaling-2011-01-01", - "xmlNamespace":"http://autoscaling.amazonaws.com/doc/2011-01-01/" - }, - "operations":{ - "AttachInstances":{ - "name":"AttachInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInstancesQuery"}, - "errors":[ - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "AttachLoadBalancerTargetGroups":{ - "name":"AttachLoadBalancerTargetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachLoadBalancerTargetGroupsType"}, - "output":{ - "shape":"AttachLoadBalancerTargetGroupsResultType", - "resultWrapper":"AttachLoadBalancerTargetGroupsResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "AttachLoadBalancers":{ - "name":"AttachLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachLoadBalancersType"}, - "output":{ - "shape":"AttachLoadBalancersResultType", - "resultWrapper":"AttachLoadBalancersResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "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 Amazon EC2 Auto Scaling User Guide.

" - }, - "BatchDeleteScheduledAction":{ - "name":"BatchDeleteScheduledAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteScheduledActionType"}, - "output":{ - "shape":"BatchDeleteScheduledActionAnswer", - "resultWrapper":"BatchDeleteScheduledActionResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes one or more scheduled actions for the specified Auto Scaling group.

" - }, - "BatchPutScheduledUpdateGroupAction":{ - "name":"BatchPutScheduledUpdateGroupAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchPutScheduledUpdateGroupActionType"}, - "output":{ - "shape":"BatchPutScheduledUpdateGroupActionAnswer", - "resultWrapper":"BatchPutScheduledUpdateGroupActionResult" - }, - "errors":[ - {"shape":"AlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Creates or updates one or more scheduled scaling actions for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged.

" - }, - "CompleteLifecycleAction":{ - "name":"CompleteLifecycleAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CompleteLifecycleActionType"}, - "output":{ - "shape":"CompleteLifecycleActionAnswer", - "resultWrapper":"CompleteLifecycleActionResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" - }, - "CreateAutoScalingGroup":{ - "name":"CreateAutoScalingGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAutoScalingGroupType"}, - "errors":[ - {"shape":"AlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

For more information, see Auto Scaling Groups in the Amazon EC2 Auto Scaling User Guide.

" - }, - "CreateLaunchConfiguration":{ - "name":"CreateLaunchConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLaunchConfigurationType"}, - "errors":[ - {"shape":"AlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. For information about viewing this limit, see DescribeAccountLimits. For information about updating this limit, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch Configurations in the Amazon EC2 Auto Scaling User Guide.

" - }, - "CreateOrUpdateTags":{ - "name":"CreateOrUpdateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOrUpdateTagsType"}, - "errors":[ - {"shape":"LimitExceededFault"}, - {"shape":"AlreadyExistsFault"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ResourceInUseFault"} - ], - "documentation":"

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" - }, - "DeleteAutoScalingGroup":{ - "name":"DeleteAutoScalingGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAutoScalingGroupType"}, - "errors":[ - {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceInUseFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity so that Amazon EC2 Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.

" - }, - "DeleteLaunchConfiguration":{ - "name":"DeleteLaunchConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LaunchConfigurationNameType"}, - "errors":[ - {"shape":"ResourceInUseFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes the specified launch configuration.

The launch configuration must not be attached to an Auto Scaling group. When this call completes, the launch configuration is no longer available for use.

" - }, - "DeleteLifecycleHook":{ - "name":"DeleteLifecycleHook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLifecycleHookType"}, - "output":{ - "shape":"DeleteLifecycleHookAnswer", - "resultWrapper":"DeleteLifecycleHookResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes the specified lifecycle hook.

If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching instances, CONTINUE for terminating instances).

" - }, - "DeleteNotificationConfiguration":{ - "name":"DeleteNotificationConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNotificationConfigurationType"}, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes the specified notification.

" - }, - "DeletePolicy":{ - "name":"DeletePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePolicyType"}, - "errors":[ - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Deletes the specified Auto Scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

" - }, - "DeleteScheduledAction":{ - "name":"DeleteScheduledAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteScheduledActionType"}, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Deletes the specified scheduled action.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsType"}, - "errors":[ - {"shape":"ResourceContentionFault"}, - {"shape":"ResourceInUseFault"} - ], - "documentation":"

Deletes the specified tags.

" - }, - "DescribeAccountLimits":{ - "name":"DescribeAccountLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeAccountLimitsAnswer", - "resultWrapper":"DescribeAccountLimitsResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see Auto Scaling Limits in the Amazon EC2 Auto Scaling User Guide.

" - }, - "DescribeAdjustmentTypes":{ - "name":"DescribeAdjustmentTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeAdjustmentTypesAnswer", - "resultWrapper":"DescribeAdjustmentTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the policy adjustment types for use with PutScalingPolicy.

" - }, - "DescribeAutoScalingGroups":{ - "name":"DescribeAutoScalingGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AutoScalingGroupNamesType"}, - "output":{ - "shape":"AutoScalingGroupsType", - "resultWrapper":"DescribeAutoScalingGroupsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes one or more Auto Scaling groups.

" - }, - "DescribeAutoScalingInstances":{ - "name":"DescribeAutoScalingInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAutoScalingInstancesType"}, - "output":{ - "shape":"AutoScalingInstancesType", - "resultWrapper":"DescribeAutoScalingInstancesResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes one or more Auto Scaling instances.

" - }, - "DescribeAutoScalingNotificationTypes":{ - "name":"DescribeAutoScalingNotificationTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeAutoScalingNotificationTypesAnswer", - "resultWrapper":"DescribeAutoScalingNotificationTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the notification types that are supported by Amazon EC2 Auto Scaling.

" - }, - "DescribeLaunchConfigurations":{ - "name":"DescribeLaunchConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LaunchConfigurationNamesType"}, - "output":{ - "shape":"LaunchConfigurationsType", - "resultWrapper":"DescribeLaunchConfigurationsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes one or more launch configurations.

" - }, - "DescribeLifecycleHookTypes":{ - "name":"DescribeLifecycleHookTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeLifecycleHookTypesAnswer", - "resultWrapper":"DescribeLifecycleHookTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the available types of lifecycle hooks.

The following hook types are supported:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" - }, - "DescribeLifecycleHooks":{ - "name":"DescribeLifecycleHooks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLifecycleHooksType"}, - "output":{ - "shape":"DescribeLifecycleHooksAnswer", - "resultWrapper":"DescribeLifecycleHooksResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the lifecycle hooks for the specified Auto Scaling group.

" - }, - "DescribeLoadBalancerTargetGroups":{ - "name":"DescribeLoadBalancerTargetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancerTargetGroupsRequest"}, - "output":{ - "shape":"DescribeLoadBalancerTargetGroupsResponse", - "resultWrapper":"DescribeLoadBalancerTargetGroupsResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the target groups for the specified Auto Scaling group.

" - }, - "DescribeLoadBalancers":{ - "name":"DescribeLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancersRequest"}, - "output":{ - "shape":"DescribeLoadBalancersResponse", - "resultWrapper":"DescribeLoadBalancersResult" - }, - "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.

" - }, - "DescribeMetricCollectionTypes":{ - "name":"DescribeMetricCollectionTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeMetricCollectionTypesAnswer", - "resultWrapper":"DescribeMetricCollectionTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.

Note that the GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling EnableMetricsCollection.

" - }, - "DescribeNotificationConfigurations":{ - "name":"DescribeNotificationConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNotificationConfigurationsType"}, - "output":{ - "shape":"DescribeNotificationConfigurationsAnswer", - "resultWrapper":"DescribeNotificationConfigurationsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the notification actions associated with the specified Auto Scaling group.

" - }, - "DescribePolicies":{ - "name":"DescribePolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePoliciesType"}, - "output":{ - "shape":"PoliciesType", - "resultWrapper":"DescribePoliciesResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Describes the policies for the specified Auto Scaling group.

" - }, - "DescribeScalingActivities":{ - "name":"DescribeScalingActivities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingActivitiesType"}, - "output":{ - "shape":"ActivitiesType", - "resultWrapper":"DescribeScalingActivitiesResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes one or more scaling activities for the specified Auto Scaling group.

" - }, - "DescribeScalingProcessTypes":{ - "name":"DescribeScalingProcessTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"ProcessesType", - "resultWrapper":"DescribeScalingProcessTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.

" - }, - "DescribeScheduledActions":{ - "name":"DescribeScheduledActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledActionsType"}, - "output":{ - "shape":"ScheduledActionsType", - "resultWrapper":"DescribeScheduledActionsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the actions scheduled for your Auto Scaling group that haven't run. To describe the actions that have already run, use DescribeScalingActivities.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsType"}, - "output":{ - "shape":"TagsType", - "resultWrapper":"DescribeTagsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned.

" - }, - "DescribeTerminationPolicyTypes":{ - "name":"DescribeTerminationPolicyTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeTerminationPolicyTypesAnswer", - "resultWrapper":"DescribeTerminationPolicyTypesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Describes the termination policies supported by Amazon EC2 Auto Scaling.

" - }, - "DetachInstances":{ - "name":"DetachInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInstancesQuery"}, - "output":{ - "shape":"DetachInstancesAnswer", - "resultWrapper":"DetachInstancesResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "DetachLoadBalancerTargetGroups":{ - "name":"DetachLoadBalancerTargetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachLoadBalancerTargetGroupsType"}, - "output":{ - "shape":"DetachLoadBalancerTargetGroupsResultType", - "resultWrapper":"DetachLoadBalancerTargetGroupsResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Detaches one or more target groups from the specified Auto Scaling group.

" - }, - "DetachLoadBalancers":{ - "name":"DetachLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachLoadBalancersType"}, - "output":{ - "shape":"DetachLoadBalancersResultType", - "resultWrapper":"DetachLoadBalancersResult" - }, - "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.

" - }, - "DisableMetricsCollection":{ - "name":"DisableMetricsCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableMetricsCollectionQuery"}, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Disables group metrics for the specified Auto Scaling group.

" - }, - "EnableMetricsCollection":{ - "name":"EnableMetricsCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableMetricsCollectionQuery"}, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" - }, - "EnterStandby":{ - "name":"EnterStandby", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnterStandbyQuery"}, - "output":{ - "shape":"EnterStandbyAnswer", - "resultWrapper":"EnterStandbyResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "ExecutePolicy":{ - "name":"ExecutePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ExecutePolicyType"}, - "errors":[ - {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Executes the specified policy.

" - }, - "ExitStandby":{ - "name":"ExitStandby", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ExitStandbyQuery"}, - "output":{ - "shape":"ExitStandbyAnswer", - "resultWrapper":"ExitStandbyResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "PutLifecycleHook":{ - "name":"PutLifecycleHook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLifecycleHookType"}, - "output":{ - "shape":"PutLifecycleHookAnswer", - "resultWrapper":"PutLifecycleHookResult" - }, - "errors":[ - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Creates or updates a lifecycle hook for the specified Auto Scaling Group.

A lifecycle hook tells Amazon EC2 Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" - }, - "PutNotificationConfiguration":{ - "name":"PutNotificationConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutNotificationConfigurationType"}, - "errors":[ - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information see Getting SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.

" - }, - "PutScalingPolicy":{ - "name":"PutScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutScalingPolicyType"}, - "output":{ - "shape":"PolicyARNType", - "resultWrapper":"PutScalingPolicyResult" - }, - "errors":[ - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "documentation":"

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" - }, - "PutScheduledUpdateGroupAction":{ - "name":"PutScheduledUpdateGroupAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutScheduledUpdateGroupActionType"}, - "errors":[ - {"shape":"AlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide.

" - }, - "RecordLifecycleActionHeartbeat":{ - "name":"RecordLifecycleActionHeartbeat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RecordLifecycleActionHeartbeatType"}, - "output":{ - "shape":"RecordLifecycleActionHeartbeatAnswer", - "resultWrapper":"RecordLifecycleActionHeartbeatResult" - }, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" - }, - "ResumeProcesses":{ - "name":"ResumeProcesses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScalingProcessQuery"}, - "errors":[ - {"shape":"ResourceInUseFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" - }, - "SetDesiredCapacity":{ - "name":"SetDesiredCapacity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetDesiredCapacityType"}, - "errors":[ - {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Sets the size of the specified Auto Scaling group.

For more information about desired capacity, see What Is Amazon EC2 Auto Scaling? in the Amazon EC2 Auto Scaling User Guide.

" - }, - "SetInstanceHealth":{ - "name":"SetInstanceHealth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetInstanceHealthQuery"}, - "errors":[ - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Sets the health status of the specified instance.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "SetInstanceProtection":{ - "name":"SetInstanceProtection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetInstanceProtectionQuery"}, - "output":{ - "shape":"SetInstanceProtectionAnswer", - "resultWrapper":"SetInstanceProtectionResult" - }, - "errors":[ - {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" - }, - "SuspendProcesses":{ - "name":"SuspendProcesses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScalingProcessQuery"}, - "errors":[ - {"shape":"ResourceInUseFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group.

Note that if you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" - }, - "TerminateInstanceInAutoScalingGroup":{ - "name":"TerminateInstanceInAutoScalingGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstanceInAutoScalingGroupType"}, - "output":{ - "shape":"ActivityType", - "resultWrapper":"TerminateInstanceInAutoScalingGroupResult" - }, - "errors":[ - {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"} - ], - "documentation":"

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately.

" - }, - "UpdateAutoScalingGroup":{ - "name":"UpdateAutoScalingGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAutoScalingGroupType"}, - "errors":[ - {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"}, - {"shape":"ServiceLinkedRoleFailure"} - ], - "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":{ - "Activities":{ - "type":"list", - "member":{"shape":"Activity"} - }, - "ActivitiesType":{ - "type":"structure", - "required":["Activities"], - "members":{ - "Activities":{ - "shape":"Activities", - "documentation":"

The scaling activities. Activities are sorted by start time. Activities still in progress are described first.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "Activity":{ - "type":"structure", - "required":[ - "ActivityId", - "AutoScalingGroupName", - "Cause", - "StartTime", - "StatusCode" - ], - "members":{ - "ActivityId":{ - "shape":"XmlString", - "documentation":"

The ID of the activity.

" - }, - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group.

" - }, - "Description":{ - "shape":"XmlString", - "documentation":"

A friendly, more verbose description of the activity.

" - }, - "Cause":{ - "shape":"XmlStringMaxLen1023", - "documentation":"

The reason the activity began.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The start time of the activity.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The end time of the activity.

" - }, - "StatusCode":{ - "shape":"ScalingActivityStatusCode", - "documentation":"

The current status of the activity.

" - }, - "StatusMessage":{ - "shape":"XmlStringMaxLen255", - "documentation":"

A friendly, more verbose description of the activity status.

" - }, - "Progress":{ - "shape":"Progress", - "documentation":"

A value between 0 and 100 that indicates the progress of the activity.

" - }, - "Details":{ - "shape":"XmlString", - "documentation":"

The details about the activity.

" - } - }, - "documentation":"

Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

" - }, - "ActivityIds":{ - "type":"list", - "member":{"shape":"XmlString"} - }, - "ActivityType":{ - "type":"structure", - "members":{ - "Activity":{ - "shape":"Activity", - "documentation":"

A scaling activity.

" - } - } - }, - "AdjustmentType":{ - "type":"structure", - "members":{ - "AdjustmentType":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" - } - }, - "documentation":"

Describes a policy adjustment type.

For more information, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide.

" - }, - "AdjustmentTypes":{ - "type":"list", - "member":{"shape":"AdjustmentType"} - }, - "Alarm":{ - "type":"structure", - "members":{ - "AlarmName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the alarm.

" - }, - "AlarmARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" - } - }, - "documentation":"

Describes an alarm.

" - }, - "Alarms":{ - "type":"list", - "member":{"shape":"Alarm"} - }, - "AlreadyExistsFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

You already have an Auto Scaling group or launch configuration with this name.

", - "error":{ - "code":"AlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AsciiStringMaxLen255":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[A-Za-z0-9\\-_\\/]+" - }, - "AssociatePublicIpAddress":{"type":"boolean"}, - "AttachInstancesQuery":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - } - } - }, - "AttachLoadBalancerTargetGroupsResultType":{ - "type":"structure", - "members":{ - } - }, - "AttachLoadBalancerTargetGroupsType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "TargetGroupARNs" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "TargetGroupARNs":{ - "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" - } - } - }, - "AttachLoadBalancersResultType":{ - "type":"structure", - "members":{ - } - }, - "AttachLoadBalancersType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "LoadBalancerNames" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

The names of the load balancers. You can specify up to 10 load balancers.

" - } - } - }, - "AutoScalingGroup":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "MinSize", - "MaxSize", - "DesiredCapacity", - "DefaultCooldown", - "AvailabilityZones", - "HealthCheckType", - "CreatedTime" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group.

" - }, - "AutoScalingGroupARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Auto Scaling group.

" - }, - "LaunchConfigurationName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the associated launch configuration.

" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template for the group.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The desired size of the group.

" - }, - "DefaultCooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones for the group.

" - }, - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

One or more load balancers associated with the group.

" - }, - "TargetGroupARNs":{ - "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups for your load balancer.

" - }, - "HealthCheckType":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" - }, - "HealthCheckGracePeriod":{ - "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.

" - }, - "Instances":{ - "shape":"Instances", - "documentation":"

The EC2 instances associated with the group.

" - }, - "CreatedTime":{ - "shape":"TimestampType", - "documentation":"

The date and time the group was created.

" - }, - "SuspendedProcesses":{ - "shape":"SuspendedProcesses", - "documentation":"

The suspended processes associated with the group.

" - }, - "PlacementGroup":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "VPCZoneIdentifier":{ - "shape":"XmlStringMaxLen2047", - "documentation":"

One or more subnet IDs, if applicable, separated by commas.

If you specify VPCZoneIdentifier and AvailabilityZones, ensure that the Availability Zones of the subnets match the values for AvailabilityZones.

" - }, - "EnabledMetrics":{ - "shape":"EnabledMetrics", - "documentation":"

The metrics enabled for the group.

" - }, - "Status":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The current state of the group when DeleteAutoScalingGroup is in progress.

" - }, - "Tags":{ - "shape":"TagDescriptionList", - "documentation":"

The tags for the group.

" - }, - "TerminationPolicies":{ - "shape":"TerminationPolicies", - "documentation":"

The termination policies for the group.

" - }, - "NewInstancesProtectedFromScaleIn":{ - "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" - }, - "ServiceLinkedRoleARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

" - } - }, - "documentation":"

Describes an Auto Scaling group.

" - }, - "AutoScalingGroupDesiredCapacity":{"type":"integer"}, - "AutoScalingGroupMaxSize":{"type":"integer"}, - "AutoScalingGroupMinSize":{"type":"integer"}, - "AutoScalingGroupNames":{ - "type":"list", - "member":{"shape":"ResourceName"} - }, - "AutoScalingGroupNamesType":{ - "type":"structure", - "members":{ - "AutoScalingGroupNames":{ - "shape":"AutoScalingGroupNames", - "documentation":"

The names of the Auto Scaling groups. You can specify up to MaxRecords names. If you omit this parameter, all Auto Scaling groups are described.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "AutoScalingGroups":{ - "type":"list", - "member":{"shape":"AutoScalingGroup"} - }, - "AutoScalingGroupsType":{ - "type":"structure", - "required":["AutoScalingGroups"], - "members":{ - "AutoScalingGroups":{ - "shape":"AutoScalingGroups", - "documentation":"

The groups.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "AutoScalingInstanceDetails":{ - "type":"structure", - "required":[ - "InstanceId", - "AutoScalingGroupName", - "AvailabilityZone", - "LifecycleState", - "HealthStatus", - "ProtectedFromScaleIn" - ], - "members":{ - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - }, - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group for the instance.

" - }, - "AvailabilityZone":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The Availability Zone for the instance.

" - }, - "LifecycleState":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The lifecycle state for the instance. For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" - }, - "HealthStatus":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The last reported health status of this instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and Amazon EC2 Auto Scaling should terminate and replace it.

" - }, - "LaunchConfigurationName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The launch configuration used to launch the instance. This value is not available if you attached the instance to the Auto Scaling group.

" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template for the instance.

" - }, - "ProtectedFromScaleIn":{ - "shape":"InstanceProtected", - "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" - } - }, - "documentation":"

Describes an EC2 instance associated with an Auto Scaling group.

" - }, - "AutoScalingInstances":{ - "type":"list", - "member":{"shape":"AutoScalingInstanceDetails"} - }, - "AutoScalingInstancesType":{ - "type":"structure", - "members":{ - "AutoScalingInstances":{ - "shape":"AutoScalingInstances", - "documentation":"

The instances.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "AutoScalingNotificationTypes":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"} - }, - "AvailabilityZones":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"}, - "min":1 - }, - "BatchDeleteScheduledActionAnswer":{ - "type":"structure", - "members":{ - "FailedScheduledActions":{ - "shape":"FailedScheduledUpdateGroupActionRequests", - "documentation":"

The names of the scheduled actions that could not be deleted, including an error message.

" - } - } - }, - "BatchDeleteScheduledActionType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ScheduledActionNames" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledActionNames":{ - "shape":"ScheduledActionNames", - "documentation":"

The names of the scheduled actions to delete. The maximum number allowed is 50.

" - } - } - }, - "BatchPutScheduledUpdateGroupActionAnswer":{ - "type":"structure", - "members":{ - "FailedScheduledUpdateGroupActions":{ - "shape":"FailedScheduledUpdateGroupActionRequests", - "documentation":"

The names of the scheduled actions that could not be created or updated, including an error message.

" - } - } - }, - "BatchPutScheduledUpdateGroupActionType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ScheduledUpdateGroupActions" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledUpdateGroupActions":{ - "shape":"ScheduledUpdateGroupActionRequests", - "documentation":"

One or more scheduled actions. The maximum number allowed is 50.

" - } - } - }, - "BlockDeviceEbsDeleteOnTermination":{"type":"boolean"}, - "BlockDeviceEbsEncrypted":{"type":"boolean"}, - "BlockDeviceEbsIops":{ - "type":"integer", - "max":20000, - "min":100 - }, - "BlockDeviceEbsVolumeSize":{ - "type":"integer", - "max":16384, - "min":1 - }, - "BlockDeviceEbsVolumeType":{ - "type":"string", - "max":255, - "min":1 - }, - "BlockDeviceMapping":{ - "type":"structure", - "required":["DeviceName"], - "members":{ - "VirtualName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the virtual device (for example, ephemeral0).

" - }, - "DeviceName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).

" - }, - "Ebs":{ - "shape":"Ebs", - "documentation":"

The information about the Amazon EBS volume.

" - }, - "NoDevice":{ - "shape":"NoDevice", - "documentation":"

Suppresses a device mapping.

If this parameter is true for the root device, the instance might fail the EC2 health check. Amazon EC2 Auto Scaling launches a replacement instance if the instance fails the health check.

" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappings":{ - "type":"list", - "member":{"shape":"BlockDeviceMapping"} - }, - "ClassicLinkVPCSecurityGroups":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"} - }, - "CompleteLifecycleActionAnswer":{ - "type":"structure", - "members":{ - } - }, - "CompleteLifecycleActionType":{ - "type":"structure", - "required":[ - "LifecycleHookName", - "AutoScalingGroupName", - "LifecycleActionResult" - ], - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LifecycleActionToken":{ - "shape":"LifecycleActionToken", - "documentation":"

A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.

" - }, - "LifecycleActionResult":{ - "shape":"LifecycleActionResult", - "documentation":"

The action for the group to take. This parameter can be either CONTINUE or ABANDON.

" - }, - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - } - } - }, - "Cooldown":{"type":"integer"}, - "CreateAutoScalingGroupType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "MinSize", - "MaxSize" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group. This name must be unique within the scope of your AWS account.

" - }, - "LaunchConfigurationName":{ - "shape":"ResourceName", - "documentation":"

The name of the launch configuration. You must specify one of the following: a launch configuration, a launch template, or an EC2 instance.

" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template to use to launch instances. You must specify one of the following: a launch template, a launch configuration, or an EC2 instance.

" - }, - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance used to create a launch configuration for the group. You must specify one of the following: an EC2 instance, a launch configuration, or a launch template.

When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, with the exception of the block device mapping.

For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.

" - }, - "DefaultCooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets.

" - }, - "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 Amazon EC2 Auto Scaling User Guide.

" - }, - "TargetGroupARNs":{ - "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" - }, - "HealthCheckType":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

By default, health checks use Amazon EC2 instance status checks to determine the health of an instance. For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "HealthCheckGracePeriod":{ - "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 0.

This parameter is required if you are adding an ELB health check.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "PlacementGroup":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "VPCZoneIdentifier":{ - "shape":"XmlStringMaxLen2047", - "documentation":"

A comma-separated list of subnet identifiers for your virtual private cloud (VPC).

If you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

" - }, - "TerminationPolicies":{ - "shape":"TerminationPolicies", - "documentation":"

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" - }, - "NewInstancesProtectedFromScaleIn":{ - "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" - }, - "LifecycleHookSpecificationList":{ - "shape":"LifecycleHookSpecifications", - "documentation":"

One or more lifecycle hooks.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" - }, - "ServiceLinkedRoleARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist.

" - } - } - }, - "CreateLaunchConfigurationType":{ - "type":"structure", - "required":["LaunchConfigurationName"], - "members":{ - "LaunchConfigurationName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the launch configuration. This name must be unique within the scope of your AWS account.

" - }, - "ImageId":{ - "shape":"XmlStringMaxLen255", - "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", - "documentation":"

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

One or more security groups with which to associate the instances.

If your instances are launched in EC2-Classic, you can either specify security group names or the security group IDs. For more information about security groups for EC2-Classic, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide.

If your instances are launched into a VPC, specify security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "ClassicLinkVPCId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter is supported only if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ClassicLinkVPCSecurityGroups":{ - "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the specified ClassicLink-enabled VPC. This parameter is required if you specify a ClassicLink-enabled VPC, and is not supported otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UserData":{ - "shape":"XmlStringUserData", - "documentation":"

The user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" - }, - "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.

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 Amazon EC2 Auto Scaling User Guide.

" - }, - "InstanceType":{ - "shape":"XmlStringMaxLen255", - "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", - "documentation":"

The ID of the kernel associated with the AMI.

" - }, - "RamdiskId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the RAM disk associated with the AMI.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappings", - "documentation":"

One or more mappings that specify how block devices are exposed to the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User Guide.

" - }, - "InstanceMonitoring":{ - "shape":"InstanceMonitoring", - "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances. The default is true.

" - }, - "SpotPrice":{ - "shape":"SpotPrice", - "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot market price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" - }, - "IamInstanceProfile":{ - "shape":"XmlStringMaxLen1600", - "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

EC2 instances launched with an IAM role will automatically have AWS security credentials available. You can use IAM roles with Amazon EC2 Auto Scaling to automatically enable applications running on your EC2 instances to securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Amazon EC2 Auto Scaling User Guide.

" - }, - "EbsOptimized":{ - "shape":"EbsOptimized", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. By default, the instance is not optimized for EBS I/O. The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AssociatePublicIpAddress":{ - "shape":"AssociatePublicIpAddress", - "documentation":"

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is to assign a public IP address. If the instance is launched into a nondefault subnet, the default is not to assign a public IP address.

" - }, - "PlacementTenancy":{ - "shape":"XmlStringMaxLen64", - "documentation":"

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched into a VPC.

You must set the value of this parameter to dedicated if want to launch Dedicated Instances into a shared tenancy VPC (VPC with instance placement tenancy attribute set to default).

If you specify this parameter, be sure to specify at least one subnet when you create your group.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

Valid values: default | dedicated

" - } - } - }, - "CreateOrUpdateTagsType":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - } - } - }, - "CustomizedMetricSpecification":{ - "type":"structure", - "required":[ - "MetricName", - "Namespace", - "Statistic" - ], - "members":{ - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Namespace":{ - "shape":"MetricNamespace", - "documentation":"

The namespace of the metric.

" - }, - "Dimensions":{ - "shape":"MetricDimensions", - "documentation":"

The dimensions of the metric.

" - }, - "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.

" - }, - "DeleteAutoScalingGroupType":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ForceDelete":{ - "shape":"ForceDelete", - "documentation":"

Specifies that the group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This parameter also deletes any lifecycle actions associated with the group.

" - } - } - }, - "DeleteLifecycleHookAnswer":{ - "type":"structure", - "members":{ - } - }, - "DeleteLifecycleHookType":{ - "type":"structure", - "required":[ - "LifecycleHookName", - "AutoScalingGroupName" - ], - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - } - } - }, - "DeleteNotificationConfigurationType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "TopicARN" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "TopicARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" - } - } - }, - "DeletePolicyType":{ - "type":"structure", - "required":["PolicyName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "PolicyName":{ - "shape":"ResourceName", - "documentation":"

The name or Amazon Resource Name (ARN) of the policy.

" - } - } - }, - "DeleteScheduledActionType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ScheduledActionName" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledActionName":{ - "shape":"ResourceName", - "documentation":"

The name of the action to delete.

" - } - } - }, - "DeleteTagsType":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - } - } - }, - "DescribeAccountLimitsAnswer":{ - "type":"structure", - "members":{ - "MaxNumberOfAutoScalingGroups":{ - "shape":"MaxNumberOfAutoScalingGroups", - "documentation":"

The maximum number of groups allowed for your AWS account. The default limit is 20 per region.

" - }, - "MaxNumberOfLaunchConfigurations":{ - "shape":"MaxNumberOfLaunchConfigurations", - "documentation":"

The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region.

" - }, - "NumberOfAutoScalingGroups":{ - "shape":"NumberOfAutoScalingGroups", - "documentation":"

The current number of groups for your AWS account.

" - }, - "NumberOfLaunchConfigurations":{ - "shape":"NumberOfLaunchConfigurations", - "documentation":"

The current number of launch configurations for your AWS account.

" - } - } - }, - "DescribeAdjustmentTypesAnswer":{ - "type":"structure", - "members":{ - "AdjustmentTypes":{ - "shape":"AdjustmentTypes", - "documentation":"

The policy adjustment types.

" - } - } - }, - "DescribeAutoScalingInstancesType":{ - "type":"structure", - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

The IDs of the instances. You can specify up to MaxRecords IDs. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeAutoScalingNotificationTypesAnswer":{ - "type":"structure", - "members":{ - "AutoScalingNotificationTypes":{ - "shape":"AutoScalingNotificationTypes", - "documentation":"

The notification types.

" - } - } - }, - "DescribeLifecycleHookTypesAnswer":{ - "type":"structure", - "members":{ - "LifecycleHookTypes":{ - "shape":"AutoScalingNotificationTypes", - "documentation":"

The lifecycle hook types.

" - } - } - }, - "DescribeLifecycleHooksAnswer":{ - "type":"structure", - "members":{ - "LifecycleHooks":{ - "shape":"LifecycleHooks", - "documentation":"

The lifecycle hooks for the specified group.

" - } - } - }, - "DescribeLifecycleHooksType":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LifecycleHookNames":{ - "shape":"LifecycleHookNames", - "documentation":"

The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle hooks are described.

" - } - } - }, - "DescribeLoadBalancerTargetGroupsRequest":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" - } - } - }, - "DescribeLoadBalancerTargetGroupsResponse":{ - "type":"structure", - "members":{ - "LoadBalancerTargetGroups":{ - "shape":"LoadBalancerTargetGroupStates", - "documentation":"

Information about the target groups.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeLoadBalancersRequest":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" - } - } - }, - "DescribeLoadBalancersResponse":{ - "type":"structure", - "members":{ - "LoadBalancers":{ - "shape":"LoadBalancerStates", - "documentation":"

The load balancers.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMetricCollectionTypesAnswer":{ - "type":"structure", - "members":{ - "Metrics":{ - "shape":"MetricCollectionTypes", - "documentation":"

One or more metrics.

" - }, - "Granularities":{ - "shape":"MetricGranularityTypes", - "documentation":"

The granularities for the metrics.

" - } - } - }, - "DescribeNotificationConfigurationsAnswer":{ - "type":"structure", - "required":["NotificationConfigurations"], - "members":{ - "NotificationConfigurations":{ - "shape":"NotificationConfigurations", - "documentation":"

The notification configurations.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeNotificationConfigurationsType":{ - "type":"structure", - "members":{ - "AutoScalingGroupNames":{ - "shape":"AutoScalingGroupNames", - "documentation":"

The name of the Auto Scaling group.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "DescribePoliciesType":{ - "type":"structure", - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The names of one or more policies. If you omit this parameter, all policies are described. If an group name is provided, the results are limited to that group. This list is limited to 50 items. If you specify an unknown policy name, it is ignored with no error.

" - }, - "PolicyTypes":{ - "shape":"PolicyTypes", - "documentation":"

One or more policy types. Valid values are SimpleScaling and StepScaling.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "DescribeScalingActivitiesType":{ - "type":"structure", - "members":{ - "ActivityIds":{ - "shape":"ActivityIds", - "documentation":"

The activity IDs of the desired scaling activities. You can specify up to 50 IDs. If you omit this parameter, all activities for the past six weeks are described. If unknown activities are requested, they are ignored with no error. If you specify an Auto Scaling group, the results are limited to that group.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeScheduledActionsType":{ - "type":"structure", - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledActionNames":{ - "shape":"ScheduledActionNames", - "documentation":"

The names of one or more scheduled actions. You can specify up to 50 actions. If you omit this parameter, all scheduled actions are described. If you specify an unknown scheduled action, it is ignored with no error.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The earliest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The latest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "DescribeTagsType":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"Filters", - "documentation":"

A filter used to scope the tags to return.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "DescribeTerminationPolicyTypesAnswer":{ - "type":"structure", - "members":{ - "TerminationPolicyTypes":{ - "shape":"TerminationPolicies", - "documentation":"

The termination policies supported by Amazon EC2 Auto Scaling (OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, and Default).

" - } - } - }, - "DetachInstancesAnswer":{ - "type":"structure", - "members":{ - "Activities":{ - "shape":"Activities", - "documentation":"

The activities related to detaching the instances from the Auto Scaling group.

" - } - } - }, - "DetachInstancesQuery":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ShouldDecrementDesiredCapacity" - ], - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ShouldDecrementDesiredCapacity":{ - "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached.

" - } - } - }, - "DetachLoadBalancerTargetGroupsResultType":{ - "type":"structure", - "members":{ - } - }, - "DetachLoadBalancerTargetGroupsType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "TargetGroupARNs" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "TargetGroupARNs":{ - "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" - } - } - }, - "DetachLoadBalancersResultType":{ - "type":"structure", - "members":{ - } - }, - "DetachLoadBalancersType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "LoadBalancerNames" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

The names of the load balancers. You can specify up to 10 load balancers.

" - } - } - }, - "DisableMetricsCollectionQuery":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "Metrics":{ - "shape":"Metrics", - "documentation":"

One or more of the following metrics. If you omit this parameter, all metrics are disabled.

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" - } - } - }, - "DisableScaleIn":{"type":"boolean"}, - "Ebs":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"BlockDeviceEbsVolumeSize", - "documentation":"

The volume size, in GiB. For standard volumes, specify a value from 1 to 1,024. For io1 volumes, specify a value from 4 to 16,384. For gp2 volumes, specify a value from 1 to 16,384. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.

" - }, - "VolumeType":{ - "shape":"BlockDeviceEbsVolumeType", - "documentation":"

The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Valid values: standard | io1 | gp2

" - }, - "DeleteOnTermination":{ - "shape":"BlockDeviceEbsDeleteOnTermination", - "documentation":"

Indicates whether the volume is deleted on instance termination. The default is true.

" - }, - "Iops":{ - "shape":"BlockDeviceEbsIops", - "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume.

Constraint: Required when the volume type is io1.

" - }, - "Encrypted":{ - "shape":"BlockDeviceEbsEncrypted", - "documentation":"

Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "documentation":"

Describes an Amazon EBS volume.

" - }, - "EbsOptimized":{"type":"boolean"}, - "EnableMetricsCollectionQuery":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "Granularity" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "Metrics":{ - "shape":"Metrics", - "documentation":"

One or more of the following metrics. If you omit this parameter, all metrics are enabled.

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" - }, - "Granularity":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The granularity to associate with the metrics to collect. The only valid value is 1Minute.

" - } - } - }, - "EnabledMetric":{ - "type":"structure", - "members":{ - "Metric":{ - "shape":"XmlStringMaxLen255", - "documentation":"

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" - }, - "Granularity":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The granularity of the metric. The only valid value is 1Minute.

" - } - }, - "documentation":"

Describes an enabled metric.

" - }, - "EnabledMetrics":{ - "type":"list", - "member":{"shape":"EnabledMetric"} - }, - "EnterStandbyAnswer":{ - "type":"structure", - "members":{ - "Activities":{ - "shape":"Activities", - "documentation":"

The activities related to moving instances into Standby mode.

" - } - } - }, - "EnterStandbyQuery":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ShouldDecrementDesiredCapacity" - ], - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ShouldDecrementDesiredCapacity":{ - "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode.

" - } - } - }, - "EstimatedInstanceWarmup":{"type":"integer"}, - "ExecutePolicyType":{ - "type":"structure", - "required":["PolicyName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "PolicyName":{ - "shape":"ResourceName", - "documentation":"

The name or ARN of the policy.

" - }, - "HonorCooldown":{ - "shape":"HonorCooldown", - "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

This parameter is not supported if the policy type is StepScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" - }, - "MetricValue":{ - "shape":"MetricScale", - "documentation":"

The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.

If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" - }, - "BreachThreshold":{ - "shape":"MetricScale", - "documentation":"

The breach threshold for the alarm.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" - } - } - }, - "ExitStandbyAnswer":{ - "type":"structure", - "members":{ - "Activities":{ - "shape":"Activities", - "documentation":"

The activities related to moving instances out of Standby mode.

" - } - } - }, - "ExitStandbyQuery":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - } - } - }, - "FailedScheduledUpdateGroupActionRequest":{ - "type":"structure", - "required":["ScheduledActionName"], - "members":{ - "ScheduledActionName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the scheduled action.

" - }, - "ErrorCode":{ - "shape":"XmlStringMaxLen64", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"XmlString", - "documentation":"

The error message accompanying the error code.

" - } - }, - "documentation":"

Describes a scheduled action that could not be created, updated, or deleted.

" - }, - "FailedScheduledUpdateGroupActionRequests":{ - "type":"list", - "member":{"shape":"FailedScheduledUpdateGroupActionRequest"} - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the filter. The valid values are: \"auto-scaling-group\", \"key\", \"value\", and \"propagate-at-launch\".

" - }, - "Values":{ - "shape":"Values", - "documentation":"

The value of the filter.

" - } - }, - "documentation":"

Describes a filter.

" - }, - "Filters":{ - "type":"list", - "member":{"shape":"Filter"} - }, - "ForceDelete":{"type":"boolean"}, - "GlobalTimeout":{"type":"integer"}, - "HealthCheckGracePeriod":{"type":"integer"}, - "HeartbeatTimeout":{"type":"integer"}, - "HonorCooldown":{"type":"boolean"}, - "Instance":{ - "type":"structure", - "required":[ - "InstanceId", - "AvailabilityZone", - "LifecycleState", - "HealthStatus", - "ProtectedFromScaleIn" - ], - "members":{ - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - }, - "AvailabilityZone":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The Availability Zone in which the instance is running.

" - }, - "LifecycleState":{ - "shape":"LifecycleState", - "documentation":"

A description of the current lifecycle state. Note that the Quarantined state is not used.

" - }, - "HealthStatus":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and Amazon EC2 Auto Scaling should terminate and replace it.

" - }, - "LaunchConfigurationName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The launch configuration associated with the instance.

" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template for the instance.

" - }, - "ProtectedFromScaleIn":{ - "shape":"InstanceProtected", - "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" - } - }, - "documentation":"

Describes an EC2 instance.

" - }, - "InstanceIds":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen19"} - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"MonitoringEnabled", - "documentation":"

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" - } - }, - "documentation":"

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

" - }, - "InstanceProtected":{"type":"boolean"}, - "Instances":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InvalidNextToken":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

The NextToken value is not valid.

", - "error":{ - "code":"InvalidNextToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LaunchConfiguration":{ - "type":"structure", - "required":[ - "LaunchConfigurationName", - "ImageId", - "InstanceType", - "CreatedTime" - ], - "members":{ - "LaunchConfigurationName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the launch configuration.

" - }, - "LaunchConfigurationARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the launch configuration.

" - }, - "ImageId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the Amazon Machine Image (AMI).

" - }, - "KeyName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the key pair.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The security groups to associate with the instances.

" - }, - "ClassicLinkVPCId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter can only be used if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ClassicLinkVPCSecurityGroups":{ - "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. This parameter is required if you specify a ClassicLink-enabled VPC, and cannot be used otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UserData":{ - "shape":"XmlStringUserData", - "documentation":"

The user data available to the instances.

" - }, - "InstanceType":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The instance type for the instances.

" - }, - "KernelId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the kernel associated with the AMI.

" - }, - "RamdiskId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the RAM disk associated with the AMI.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappings", - "documentation":"

A block device mapping, which specifies the block devices for the instance.

" - }, - "InstanceMonitoring":{ - "shape":"InstanceMonitoring", - "documentation":"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

" - }, - "SpotPrice":{ - "shape":"SpotPrice", - "documentation":"

The price to bid when launching Spot Instances.

" - }, - "IamInstanceProfile":{ - "shape":"XmlStringMaxLen1600", - "documentation":"

The name or Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

" - }, - "CreatedTime":{ - "shape":"TimestampType", - "documentation":"

The creation date and time for the launch configuration.

" - }, - "EbsOptimized":{ - "shape":"EbsOptimized", - "documentation":"

Controls whether the instance is optimized for EBS I/O (true) or not (false).

" - }, - "AssociatePublicIpAddress":{ - "shape":"AssociatePublicIpAddress", - "documentation":"

[EC2-VPC] Indicates whether to assign a public IP address to each instance.

" - }, - "PlacementTenancy":{ - "shape":"XmlStringMaxLen64", - "documentation":"

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs in an isolated, single-tenant hardware and can only be launched into a VPC.

" - } - }, - "documentation":"

Describes a launch configuration.

" - }, - "LaunchConfigurationNameType":{ - "type":"structure", - "required":["LaunchConfigurationName"], - "members":{ - "LaunchConfigurationName":{ - "shape":"ResourceName", - "documentation":"

The name of the launch configuration.

" - } - } - }, - "LaunchConfigurationNames":{ - "type":"list", - "member":{"shape":"ResourceName"} - }, - "LaunchConfigurationNamesType":{ - "type":"structure", - "members":{ - "LaunchConfigurationNames":{ - "shape":"LaunchConfigurationNames", - "documentation":"

The launch configuration names. If you omit this parameter, all launch configurations are described.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" - } - } - }, - "LaunchConfigurations":{ - "type":"list", - "member":{"shape":"LaunchConfiguration"} - }, - "LaunchConfigurationsType":{ - "type":"structure", - "required":["LaunchConfigurations"], - "members":{ - "LaunchConfigurations":{ - "shape":"LaunchConfigurations", - "documentation":"

The launch configurations.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "LaunchTemplateName":{ - "type":"string", - "max":128, - "min":3, - "pattern":"[a-zA-Z0-9\\(\\)\\.-/_]+" - }, - "LaunchTemplateSpecification":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the launch template. You must specify either a template ID or a template name.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either a template name or a template ID.

" - }, - "Version":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The version number, $Latest, or $Default. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

" - } - }, - "documentation":"

Describes a launch template.

" - }, - "LifecycleActionResult":{"type":"string"}, - "LifecycleActionToken":{ - "type":"string", - "max":36, - "min":36 - }, - "LifecycleHook":{ - "type":"structure", - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group for the lifecycle hook.

" - }, - "LifecycleTransition":{ - "shape":"LifecycleTransition", - "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. The following are possible values:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" - }, - "NotificationTargetARN":{ - "shape":"ResourceName", - "documentation":"

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

" - }, - "RoleARN":{ - "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

" - }, - "NotificationMetadata":{ - "shape":"XmlStringMaxLen1023", - "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" - }, - "HeartbeatTimeout":{ - "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" - }, - "GlobalTimeout":{ - "shape":"GlobalTimeout", - "documentation":"

The maximum time, in seconds, that an instance can remain in a Pending:Wait or Terminating:Wait state. The maximum is 172800 seconds (48 hours) or 100 times HeartbeatTimeout, whichever is smaller.

" - }, - "DefaultResult":{ - "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

" - } - }, - "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "LifecycleHookNames":{ - "type":"list", - "member":{"shape":"AsciiStringMaxLen255"}, - "max":50 - }, - "LifecycleHookSpecification":{ - "type":"structure", - "required":[ - "LifecycleHookName", - "LifecycleTransition" - ], - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "LifecycleTransition":{ - "shape":"LifecycleTransition", - "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. The possible values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" - }, - "NotificationMetadata":{ - "shape":"XmlStringMaxLen1023", - "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" - }, - "HeartbeatTimeout":{ - "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" - }, - "DefaultResult":{ - "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON.

" - }, - "NotificationTargetARN":{ - "shape":"NotificationTargetResourceName", - "documentation":"

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

" - }, - "RoleARN":{ - "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

" - } - }, - "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or whenever it terminates instances.

For more information, see Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "LifecycleHookSpecifications":{ - "type":"list", - "member":{"shape":"LifecycleHookSpecification"} - }, - "LifecycleHooks":{ - "type":"list", - "member":{"shape":"LifecycleHook"} - }, - "LifecycleState":{ - "type":"string", - "enum":[ - "Pending", - "Pending:Wait", - "Pending:Proceed", - "Quarantined", - "InService", - "Terminating", - "Terminating:Wait", - "Terminating:Proceed", - "Terminated", - "Detaching", - "Detached", - "EnteringStandby", - "Standby" - ] - }, - "LifecycleTransition":{"type":"string"}, - "LimitExceededFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.

", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LoadBalancerNames":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"} - }, - "LoadBalancerState":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the load balancer.

" - }, - "State":{ - "shape":"XmlStringMaxLen255", - "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.

" - }, - "LoadBalancerStates":{ - "type":"list", - "member":{"shape":"LoadBalancerState"} - }, - "LoadBalancerTargetGroupState":{ - "type":"structure", - "members":{ - "LoadBalancerTargetGroupARN":{ - "shape":"XmlStringMaxLen511", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "State":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The state of the target group.

  • Adding - The Auto Scaling instances are being registered with the target group.

  • Added - All Auto Scaling instances are registered with the target group.

  • InService - At least one Auto Scaling instance passed an ELB health check.

  • Removing - The Auto Scaling instances are being deregistered from the target group. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.

  • Removed - All Auto Scaling instances are deregistered from the target group.

" - } - }, - "documentation":"

Describes the state of a target group.

If you attach a target group to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all Auto Scaling instances are registered with the target group. If ELB health checks are enabled, the state transitions to InService after at least one Auto Scaling instance passes the health check. If EC2 health checks are enabled instead, the target group remains in the Added state.

" - }, - "LoadBalancerTargetGroupStates":{ - "type":"list", - "member":{"shape":"LoadBalancerTargetGroupState"} - }, - "MaxNumberOfAutoScalingGroups":{"type":"integer"}, - "MaxNumberOfLaunchConfigurations":{"type":"integer"}, - "MaxRecords":{"type":"integer"}, - "MetricCollectionType":{ - "type":"structure", - "members":{ - "Metric":{ - "shape":"XmlStringMaxLen255", - "documentation":"

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" - } - }, - "documentation":"

Describes a metric.

" - }, - "MetricCollectionTypes":{ - "type":"list", - "member":{"shape":"MetricCollectionType"} - }, - "MetricDimension":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"MetricDimensionName", - "documentation":"

The name of the dimension.

" - }, - "Value":{ - "shape":"MetricDimensionValue", - "documentation":"

The value of the dimension.

" - } - }, - "documentation":"

Describes the dimension of a metric.

" - }, - "MetricDimensionName":{"type":"string"}, - "MetricDimensionValue":{"type":"string"}, - "MetricDimensions":{ - "type":"list", - "member":{"shape":"MetricDimension"} - }, - "MetricGranularityType":{ - "type":"structure", - "members":{ - "Granularity":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The granularity. The only valid value is 1Minute.

" - } - }, - "documentation":"

Describes a granularity of a metric.

" - }, - "MetricGranularityTypes":{ - "type":"list", - "member":{"shape":"MetricGranularityType"} - }, - "MetricName":{"type":"string"}, - "MetricNamespace":{"type":"string"}, - "MetricScale":{"type":"double"}, - "MetricStatistic":{ - "type":"string", - "enum":[ - "Average", - "Minimum", - "Maximum", - "SampleCount", - "Sum" - ] - }, - "MetricType":{ - "type":"string", - "enum":[ - "ASGAverageCPUUtilization", - "ASGAverageNetworkIn", - "ASGAverageNetworkOut", - "ALBRequestCountPerTarget" - ] - }, - "MetricUnit":{"type":"string"}, - "Metrics":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"} - }, - "MinAdjustmentMagnitude":{"type":"integer"}, - "MinAdjustmentStep":{ - "type":"integer", - "deprecated":true - }, - "MonitoringEnabled":{"type":"boolean"}, - "NoDevice":{"type":"boolean"}, - "NotificationConfiguration":{ - "type":"structure", - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "TopicARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" - }, - "NotificationType":{ - "shape":"XmlStringMaxLen255", - "documentation":"

One of the following event notification types:

  • autoscaling:EC2_INSTANCE_LAUNCH

  • autoscaling:EC2_INSTANCE_LAUNCH_ERROR

  • autoscaling:EC2_INSTANCE_TERMINATE

  • autoscaling:EC2_INSTANCE_TERMINATE_ERROR

  • autoscaling:TEST_NOTIFICATION

" - } - }, - "documentation":"

Describes a notification.

" - }, - "NotificationConfigurations":{ - "type":"list", - "member":{"shape":"NotificationConfiguration"} - }, - "NotificationTargetResourceName":{ - "type":"string", - "max":1600, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "NumberOfAutoScalingGroups":{"type":"integer"}, - "NumberOfLaunchConfigurations":{"type":"integer"}, - "PoliciesType":{ - "type":"structure", - "members":{ - "ScalingPolicies":{ - "shape":"ScalingPolicies", - "documentation":"

The scaling policies.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "PolicyARNType":{ - "type":"structure", - "members":{ - "PolicyARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the policy.

" - }, - "Alarms":{ - "shape":"Alarms", - "documentation":"

The CloudWatch alarms created for the target tracking policy.

" - } - }, - "documentation":"

Contains the output of PutScalingPolicy.

" - }, - "PolicyIncrement":{"type":"integer"}, - "PolicyNames":{ - "type":"list", - "member":{"shape":"ResourceName"} - }, - "PolicyTypes":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen64"} - }, - "PredefinedMetricSpecification":{ - "type":"structure", - "required":["PredefinedMetricType"], - "members":{ - "PredefinedMetricType":{ - "shape":"MetricType", - "documentation":"

The metric type.

" - }, - "ResourceLabel":{ - "shape":"XmlStringMaxLen1023", - "documentation":"

Identifies the resource associated with the metric type. The following predefined metrics are available:

  • ASGAverageCPUUtilization - average CPU utilization of the Auto Scaling group

  • ASGAverageNetworkIn - average number of bytes received on all network interfaces by the Auto Scaling group

  • ASGAverageNetworkOut - average number of bytes sent out on all network interfaces by the Auto Scaling group

  • ALBRequestCountPerTarget - number of requests completed per target in an Application Load Balancer target group

For predefined metric types ASGAverageCPUUtilization, ASGAverageNetworkIn, and ASGAverageNetworkOut, the parameter must not be specified as the resource associated with the metric type is the Auto Scaling group. For predefined metric type ALBRequestCountPerTarget, the parameter must be specified in the format: app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and targetgroup/target-group-name/target-group-id is the final portion of the target group ARN. The target group must be attached to the Auto Scaling group.

" - } - }, - "documentation":"

Configures a predefined metric for a target tracking policy.

" - }, - "ProcessNames":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen255"} - }, - "ProcessType":{ - "type":"structure", - "required":["ProcessName"], - "members":{ - "ProcessName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

One of the following processes:

  • Launch

  • Terminate

  • AddToLoadBalancer

  • AlarmNotification

  • AZRebalance

  • HealthCheck

  • ReplaceUnhealthy

  • ScheduledActions

" - } - }, - "documentation":"

Describes a process type.

For more information, see Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" - }, - "Processes":{ - "type":"list", - "member":{"shape":"ProcessType"} - }, - "ProcessesType":{ - "type":"structure", - "members":{ - "Processes":{ - "shape":"Processes", - "documentation":"

The names of the process types.

" - } - } - }, - "Progress":{"type":"integer"}, - "PropagateAtLaunch":{"type":"boolean"}, - "ProtectedFromScaleIn":{"type":"boolean"}, - "PutLifecycleHookAnswer":{ - "type":"structure", - "members":{ - } - }, - "PutLifecycleHookType":{ - "type":"structure", - "required":[ - "LifecycleHookName", - "AutoScalingGroupName" - ], - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LifecycleTransition":{ - "shape":"LifecycleTransition", - "documentation":"

The instance state to which you want to attach the lifecycle hook. The possible values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" - }, - "RoleARN":{ - "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" - }, - "NotificationTargetARN":{ - "shape":"NotificationTargetResourceName", - "documentation":"

The ARN of the notification target that Amazon EC2 Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic. If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key/value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contains the following additional key/value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" - }, - "NotificationMetadata":{ - "shape":"XmlStringMaxLen1023", - "documentation":"

Contains additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" - }, - "HeartbeatTimeout":{ - "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default is 3600 seconds (1 hour).

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" - }, - "DefaultResult":{ - "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

" - } - } - }, - "PutNotificationConfigurationType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "TopicARN", - "NotificationTypes" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "TopicARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" - }, - "NotificationTypes":{ - "shape":"AutoScalingNotificationTypes", - "documentation":"

The type of event that will cause the notification to be sent. For details about notification types supported by Amazon EC2 Auto Scaling, see DescribeAutoScalingNotificationTypes.

" - } - } - }, - "PutScalingPolicyType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "PolicyName" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "PolicyName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the policy.

" - }, - "PolicyType":{ - "shape":"XmlStringMaxLen64", - "documentation":"

The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling. If the policy type is null, the value is treated as SimpleScaling.

" - }, - "AdjustmentType":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

This parameter is supported if the policy type is SimpleScaling or StepScaling.

For more information, see Dynamic Scaling in the Amazon EC2 Auto Scaling User Guide.

" - }, - "MinAdjustmentStep":{ - "shape":"MinAdjustmentStep", - "documentation":"

Available for backward compatibility. Use MinAdjustmentMagnitude instead.

" - }, - "MinAdjustmentMagnitude":{ - "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number of instances to scale. If the value of AdjustmentType is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity of the Auto Scaling group by at least this many instances. Otherwise, the error is ValidationError.

This parameter is supported if the policy type is SimpleScaling or StepScaling.

" - }, - "ScalingAdjustment":{ - "shape":"PolicyIncrement", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

This parameter is required if the policy type is SimpleScaling and not supported otherwise.

" - }, - "Cooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

This parameter is supported if the policy type is SimpleScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" - }, - "MetricAggregationType":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

This parameter is supported if the policy type is StepScaling.

" - }, - "StepAdjustments":{ - "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" - }, - "EstimatedInstanceWarmup":{ - "shape":"EstimatedInstanceWarmup", - "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. The default is to use the value specified for the default cooldown period for the group.

This parameter is supported if the policy type is StepScaling or TargetTrackingScaling.

" - }, - "TargetTrackingConfiguration":{ - "shape":"TargetTrackingConfiguration", - "documentation":"

A target tracking policy.

This parameter is required if the policy type is TargetTrackingScaling and not supported otherwise.

" - } - } - }, - "PutScheduledUpdateGroupActionType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "ScheduledActionName" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledActionName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of this scaling action.

" - }, - "Time":{ - "shape":"TimestampType", - "documentation":"

This parameter is deprecated.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The time for this action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z).

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the action after this time.

" - }, - "Recurrence":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for this action, in Unix cron syntax format. For more information about this format, see Crontab.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size for the Auto Scaling group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size for the Auto Scaling group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group.

" - } - } - }, - "RecordLifecycleActionHeartbeatAnswer":{ - "type":"structure", - "members":{ - } - }, - "RecordLifecycleActionHeartbeatType":{ - "type":"structure", - "required":[ - "LifecycleHookName", - "AutoScalingGroupName" - ], - "members":{ - "LifecycleHookName":{ - "shape":"AsciiStringMaxLen255", - "documentation":"

The name of the lifecycle hook.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LifecycleActionToken":{ - "shape":"LifecycleActionToken", - "documentation":"

A token that uniquely identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.

" - }, - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - } - } - }, - "ResourceContentionFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).

", - "error":{ - "code":"ResourceContention", - "httpStatusCode":500, - "senderFault":true - }, - "exception":true - }, - "ResourceInUseFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

The operation can't be performed because the resource is in use.

", - "error":{ - "code":"ResourceInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ResourceName":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "ScalingActivityInProgressFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"XmlStringMaxLen255", - "documentation":"

" - } - }, - "documentation":"

The operation can't be performed because there are scaling activities in progress.

", - "error":{ - "code":"ScalingActivityInProgress", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ScalingActivityStatusCode":{ - "type":"string", - "enum":[ - "PendingSpotBidPlacement", - "WaitingForSpotInstanceRequestId", - "WaitingForSpotInstanceId", - "WaitingForInstanceId", - "PreInService", - "InProgress", - "WaitingForELBConnectionDraining", - "MidLifecycleAction", - "WaitingForInstanceWarmup", - "Successful", - "Failed", - "Cancelled" - ] - }, - "ScalingPolicies":{ - "type":"list", - "member":{"shape":"ScalingPolicy"} - }, - "ScalingPolicy":{ - "type":"structure", - "members":{ - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group.

" - }, - "PolicyName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the scaling policy.

" - }, - "PolicyARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the policy.

" - }, - "PolicyType":{ - "shape":"XmlStringMaxLen64", - "documentation":"

The policy type. Valid values are SimpleScaling and StepScaling.

" - }, - "AdjustmentType":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type, which specifies how ScalingAdjustment is interpreted. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" - }, - "MinAdjustmentStep":{ - "shape":"MinAdjustmentStep", - "documentation":"

Available for backward compatibility. Use MinAdjustmentMagnitude instead.

" - }, - "MinAdjustmentMagnitude":{ - "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number of instances to scale. If the value of AdjustmentType is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity of the Auto Scaling group by at least this many instances. Otherwise, the error is ValidationError.

" - }, - "ScalingAdjustment":{ - "shape":"PolicyIncrement", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

" - }, - "Cooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start.

" - }, - "StepAdjustments":{ - "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

" - }, - "MetricAggregationType":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" - }, - "EstimatedInstanceWarmup":{ - "shape":"EstimatedInstanceWarmup", - "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.

" - }, - "Alarms":{ - "shape":"Alarms", - "documentation":"

The CloudWatch alarms related to the policy.

" - }, - "TargetTrackingConfiguration":{ - "shape":"TargetTrackingConfiguration", - "documentation":"

A target tracking policy.

" - } - }, - "documentation":"

Describes a scaling policy.

" - }, - "ScalingProcessQuery":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScalingProcesses":{ - "shape":"ProcessNames", - "documentation":"

One or more of the following processes. If you omit this parameter, all processes are specified.

  • Launch

  • Terminate

  • HealthCheck

  • ReplaceUnhealthy

  • AZRebalance

  • AlarmNotification

  • ScheduledActions

  • AddToLoadBalancer

" - } - } - }, - "ScheduledActionNames":{ - "type":"list", - "member":{"shape":"ResourceName"} - }, - "ScheduledActionsType":{ - "type":"structure", - "members":{ - "ScheduledUpdateGroupActions":{ - "shape":"ScheduledUpdateGroupActions", - "documentation":"

The scheduled actions.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "ScheduledUpdateGroupAction":{ - "type":"structure", - "members":{ - "AutoScalingGroupName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ScheduledActionName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the scheduled action.

" - }, - "ScheduledActionARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the scheduled action.

" - }, - "Time":{ - "shape":"TimestampType", - "documentation":"

This parameter is deprecated.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to begin. This date and time can be up to one month in the future.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action will start and stop.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to end. This date and time can be up to one month in the future.

" - }, - "Recurrence":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for the action.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of instances you prefer to maintain in the group.

" - } - }, - "documentation":"

Describes a scheduled scaling action. Used in response to DescribeScheduledActions.

" - }, - "ScheduledUpdateGroupActionRequest":{ - "type":"structure", - "required":["ScheduledActionName"], - "members":{ - "ScheduledActionName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the scaling action.

" - }, - "StartTime":{ - "shape":"TimestampType", - "documentation":"

The time for the action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z).

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns an error message.

" - }, - "EndTime":{ - "shape":"TimestampType", - "documentation":"

The time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the action after this time.

" - }, - "Recurrence":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for the action, in Unix cron syntax format. For more information about this format, see Crontab.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group.

" - } - }, - "documentation":"

Describes one or more scheduled scaling action updates for a specified Auto Scaling group. Used in combination with BatchPutScheduledUpdateGroupAction.

When updating a scheduled scaling action, all optional parameters are left unchanged if not specified.

" - }, - "ScheduledUpdateGroupActionRequests":{ - "type":"list", - "member":{"shape":"ScheduledUpdateGroupActionRequest"} - }, - "ScheduledUpdateGroupActions":{ - "type":"list", - "member":{"shape":"ScheduledUpdateGroupAction"} - }, - "SecurityGroups":{ - "type":"list", - "member":{"shape":"XmlString"} - }, - "ServiceLinkedRoleFailure":{ - "type":"structure", - "members":{ - "message":{"shape":"XmlStringMaxLen255"} - }, - "documentation":"

The service-linked role is not yet ready for use.

", - "error":{ - "code":"ServiceLinkedRoleFailure", - "httpStatusCode":500, - "senderFault":true - }, - "exception":true - }, - "SetDesiredCapacityType":{ - "type":"structure", - "required":[ - "AutoScalingGroupName", - "DesiredCapacity" - ], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the Auto Scaling group.

" - }, - "HonorCooldown":{ - "shape":"HonorCooldown", - "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the cooldown period during manual scaling activities.

" - } - } - }, - "SetInstanceHealthQuery":{ - "type":"structure", - "required":[ - "InstanceId", - "HealthStatus" - ], - "members":{ - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - }, - "HealthStatus":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The health status of the instance. Set to Healthy if you want the instance to remain in service. Set to Unhealthy if you want the instance to be out of service. Amazon EC2 Auto Scaling will terminate and replace the unhealthy instance.

" - }, - "ShouldRespectGracePeriod":{ - "shape":"ShouldRespectGracePeriod", - "documentation":"

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call will respect the grace period. Set this to False, if you do not want the call to respect the grace period associated with the group.

For more information, see the description of the health check grace period for CreateAutoScalingGroup.

" - } - } - }, - "SetInstanceProtectionAnswer":{ - "type":"structure", - "members":{ - } - }, - "SetInstanceProtectionQuery":{ - "type":"structure", - "required":[ - "InstanceIds", - "AutoScalingGroupName", - "ProtectedFromScaleIn" - ], - "members":{ - "InstanceIds":{ - "shape":"InstanceIds", - "documentation":"

One or more instance IDs.

" - }, - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "ProtectedFromScaleIn":{ - "shape":"ProtectedFromScaleIn", - "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" - } - } - }, - "ShouldDecrementDesiredCapacity":{"type":"boolean"}, - "ShouldRespectGracePeriod":{"type":"boolean"}, - "SpotPrice":{ - "type":"string", - "max":255, - "min":1 - }, - "StepAdjustment":{ - "type":"structure", - "required":["ScalingAdjustment"], - "members":{ - "MetricIntervalLowerBound":{ - "shape":"MetricScale", - "documentation":"

The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.

" - }, - "MetricIntervalUpperBound":{ - "shape":"MetricScale", - "documentation":"

The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.

The upper bound must be greater than the lower bound.

" - }, - "ScalingAdjustment":{ - "shape":"PolicyIncrement", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

" - } - }, - "documentation":"

Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • If you want the adjustment to be triggered when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • If you want the adjustment to be triggered when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" - }, - "StepAdjustments":{ - "type":"list", - "member":{"shape":"StepAdjustment"} - }, - "SuspendedProcess":{ - "type":"structure", - "members":{ - "ProcessName":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the suspended process.

" - }, - "SuspensionReason":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The reason that the process was suspended.

" - } - }, - "documentation":"

Describes an automatic scaling process that has been suspended. For more information, see ProcessType.

" - }, - "SuspendedProcesses":{ - "type":"list", - "member":{"shape":"SuspendedProcess"} - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "ResourceId":{ - "shape":"XmlString", - "documentation":"

The name of the group.

" - }, - "ResourceType":{ - "shape":"XmlString", - "documentation":"

The type of resource. The only supported value is auto-scaling-group.

" - }, - "Key":{ - "shape":"TagKey", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The tag value.

" - }, - "PropagateAtLaunch":{ - "shape":"PropagateAtLaunch", - "documentation":"

Determines whether the tag is added to new instances as they are launched in the group.

" - } - }, - "documentation":"

Describes a tag for an Auto Scaling group.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"XmlString", - "documentation":"

The name of the group.

" - }, - "ResourceType":{ - "shape":"XmlString", - "documentation":"

The type of resource. The only supported value is auto-scaling-group.

" - }, - "Key":{ - "shape":"TagKey", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The tag value.

" - }, - "PropagateAtLaunch":{ - "shape":"PropagateAtLaunch", - "documentation":"

Determines whether the tag is added to new instances as they are launched in the group.

" - } - }, - "documentation":"

Describes a tag for an Auto Scaling group.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{"shape":"TagDescription"} - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagsType":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "documentation":"

One or more tags.

" - }, - "NextToken":{ - "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "TargetGroupARNs":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen511"} - }, - "TargetTrackingConfiguration":{ - "type":"structure", - "required":["TargetValue"], - "members":{ - "PredefinedMetricSpecification":{ - "shape":"PredefinedMetricSpecification", - "documentation":"

A predefined metric. You can specify either a predefined metric or a customized metric.

" - }, - "CustomizedMetricSpecification":{ - "shape":"CustomizedMetricSpecification", - "documentation":"

A customized metric.

" - }, - "TargetValue":{ - "shape":"MetricScale", - "documentation":"

The target value for the metric.

" - }, - "DisableScaleIn":{ - "shape":"DisableScaleIn", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If scale in is disabled, the target tracking policy won't remove instances from the Auto Scaling group. Otherwise, the target tracking policy can remove instances from the Auto Scaling group. The default is disabled.

" - } - }, - "documentation":"

Represents a target tracking policy configuration.

" - }, - "TerminateInstanceInAutoScalingGroupType":{ - "type":"structure", - "required":[ - "InstanceId", - "ShouldDecrementDesiredCapacity" - ], - "members":{ - "InstanceId":{ - "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance.

" - }, - "ShouldDecrementDesiredCapacity":{ - "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

Indicates whether terminating the instance also decrements the size of the Auto Scaling group.

" - } - } - }, - "TerminationPolicies":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen1600"} - }, - "TimestampType":{"type":"timestamp"}, - "UpdateAutoScalingGroupType":{ - "type":"structure", - "required":["AutoScalingGroupName"], - "members":{ - "AutoScalingGroupName":{ - "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group.

" - }, - "LaunchConfigurationName":{ - "shape":"ResourceName", - "documentation":"

The name of the launch configuration. If you specify a launch configuration, you can't specify a launch template.

" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template to use to specify the updates. If you specify a launch template, you can't specify a launch configuration.

" - }, - "MinSize":{ - "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the Auto Scaling group.

" - }, - "MaxSize":{ - "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the Auto Scaling group.

" - }, - "DesiredCapacity":{ - "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the Auto Scaling group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

" - }, - "DefaultCooldown":{ - "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones for the group.

" - }, - "HealthCheckType":{ - "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" - }, - "HealthCheckGracePeriod":{ - "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0.

For more information, see Health Checks in the Amazon EC2 Auto Scaling User Guide.

" - }, - "PlacementGroup":{ - "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "VPCZoneIdentifier":{ - "shape":"XmlStringMaxLen2047", - "documentation":"

The ID of the subnet, if you are launching into a VPC. You can specify several subnets in a comma-separated list.

When you specify VPCZoneIdentifier with AvailabilityZones, ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

" - }, - "TerminationPolicies":{ - "shape":"TerminationPolicies", - "documentation":"

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" - }, - "NewInstancesProtectedFromScaleIn":{ - "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" - }, - "ServiceLinkedRoleARN":{ - "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

" - } - } - }, - "Values":{ - "type":"list", - "member":{"shape":"XmlString"} - }, - "XmlString":{ - "type":"string", - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen1023":{ - "type":"string", - "max":1023, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen1600":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen19":{ - "type":"string", - "max":19, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen2047":{ - "type":"string", - "max":2047, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen255":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen32":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen511":{ - "type":"string", - "max":511, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringMaxLen64":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringUserData":{ - "type":"string", - "max":21847, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - } - }, - "documentation":"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing services.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/examples-1.json deleted file mode 100644 index ddaaf42d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/examples-1.json +++ /dev/null @@ -1,589 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/service-2.json deleted file mode 100644 index 4da311ff..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/batch/2016-08-10/service-2.json +++ /dev/null @@ -1,1660 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-08-10", - "endpointPrefix":"batch", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"AWS Batch", - "serviceFullName":"AWS Batch", - "serviceId":"Batch", - "signatureVersion":"v4", - "uid":"batch-2016-08-10" - }, - "operations":{ - "CancelJob":{ - "name":"CancelJob", - "http":{ - "method":"POST", - "requestUri":"/v1/canceljob" - }, - "input":{"shape":"CancelJobRequest"}, - "output":{"shape":"CancelJobResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or RUNNABLE state are cancelled. Jobs that have progressed to STARTING or RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these jobs must be terminated with the TerminateJob operation.

" - }, - "CreateComputeEnvironment":{ - "name":"CreateComputeEnvironment", - "http":{ - "method":"POST", - "requestUri":"/v1/createcomputeenvironment" - }, - "input":{"shape":"CreateComputeEnvironmentRequest"}, - "output":{"shape":"CreateComputeEnvironmentResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the compute resources within the environment, based on the compute resources that you specify. Instances launched into a managed compute environment use a recent, approved version of the 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 Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it 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 Elastic Container Service Developer Guide.

" - }, - "CreateJobQueue":{ - "name":"CreateJobQueue", - "http":{ - "method":"POST", - "requestUri":"/v1/createjobqueue" - }, - "input":{"shape":"CreateJobQueueRequest"}, - "output":{"shape":"CreateJobQueueResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the queue and assign an order of preference for the compute environments.

You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs onto its associated compute environments. For example, if a compute environment is associated with more than one job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute environment.

" - }, - "DeleteComputeEnvironment":{ - "name":"DeleteComputeEnvironment", - "http":{ - "method":"POST", - "requestUri":"/v1/deletecomputeenvironment" - }, - "input":{"shape":"DeleteComputeEnvironmentRequest"}, - "output":{"shape":"DeleteComputeEnvironmentResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Deletes an AWS Batch compute environment.

Before you can delete a compute environment, you must set its state to DISABLED with the UpdateComputeEnvironment API operation and disassociate it from any job queues with the UpdateJobQueue API operation.

" - }, - "DeleteJobQueue":{ - "name":"DeleteJobQueue", - "http":{ - "method":"POST", - "requestUri":"/v1/deletejobqueue" - }, - "input":{"shape":"DeleteJobQueueRequest"}, - "output":{"shape":"DeleteJobQueueResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are terminated when you delete a job queue.

It is not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request.

" - }, - "DeregisterJobDefinition":{ - "name":"DeregisterJobDefinition", - "http":{ - "method":"POST", - "requestUri":"/v1/deregisterjobdefinition" - }, - "input":{"shape":"DeregisterJobDefinitionRequest"}, - "output":{"shape":"DeregisterJobDefinitionResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Deregisters an AWS Batch job definition.

" - }, - "DescribeComputeEnvironments":{ - "name":"DescribeComputeEnvironments", - "http":{ - "method":"POST", - "requestUri":"/v1/describecomputeenvironments" - }, - "input":{"shape":"DescribeComputeEnvironmentsRequest"}, - "output":{"shape":"DescribeComputeEnvironmentsResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Describes one or more of your compute environments.

If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into.

" - }, - "DescribeJobDefinitions":{ - "name":"DescribeJobDefinitions", - "http":{ - "method":"POST", - "requestUri":"/v1/describejobdefinitions" - }, - "input":{"shape":"DescribeJobDefinitionsRequest"}, - "output":{"shape":"DescribeJobDefinitionsResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Describes a list of job definitions. You can specify a status (such as ACTIVE) to only return job definitions that match that status.

" - }, - "DescribeJobQueues":{ - "name":"DescribeJobQueues", - "http":{ - "method":"POST", - "requestUri":"/v1/describejobqueues" - }, - "input":{"shape":"DescribeJobQueuesRequest"}, - "output":{"shape":"DescribeJobQueuesResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Describes one or more of your job queues.

" - }, - "DescribeJobs":{ - "name":"DescribeJobs", - "http":{ - "method":"POST", - "requestUri":"/v1/describejobs" - }, - "input":{"shape":"DescribeJobsRequest"}, - "output":{"shape":"DescribeJobsResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Describes a list of AWS Batch jobs.

" - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"POST", - "requestUri":"/v1/listjobs" - }, - "input":{"shape":"ListJobsRequest"}, - "output":{"shape":"ListJobsResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Returns a list of task jobs for a specified job queue. You can filter the results by job status with the jobStatus parameter. If you do not specify a status, only RUNNING jobs are returned.

" - }, - "RegisterJobDefinition":{ - "name":"RegisterJobDefinition", - "http":{ - "method":"POST", - "requestUri":"/v1/registerjobdefinition" - }, - "input":{"shape":"RegisterJobDefinitionRequest"}, - "output":{"shape":"RegisterJobDefinitionResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Registers an AWS Batch job definition.

" - }, - "SubmitJob":{ - "name":"SubmitJob", - "http":{ - "method":"POST", - "requestUri":"/v1/submitjob" - }, - "input":{"shape":"SubmitJobRequest"}, - "output":{"shape":"SubmitJobResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override parameters defined in the job definition.

" - }, - "TerminateJob":{ - "name":"TerminateJob", - "http":{ - "method":"POST", - "requestUri":"/v1/terminatejob" - }, - "input":{"shape":"TerminateJobRequest"}, - "output":{"shape":"TerminateJobResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING state are terminated, which causes them to transition to FAILED. Jobs that have not progressed to the STARTING state are cancelled.

" - }, - "UpdateComputeEnvironment":{ - "name":"UpdateComputeEnvironment", - "http":{ - "method":"POST", - "requestUri":"/v1/updatecomputeenvironment" - }, - "input":{"shape":"UpdateComputeEnvironmentRequest"}, - "output":{"shape":"UpdateComputeEnvironmentResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Updates an AWS Batch compute environment.

" - }, - "UpdateJobQueue":{ - "name":"UpdateJobQueue", - "http":{ - "method":"POST", - "requestUri":"/v1/updatejobqueue" - }, - "input":{"shape":"UpdateJobQueueRequest"}, - "output":{"shape":"UpdateJobQueueResponse"}, - "errors":[ - {"shape":"ClientException"}, - {"shape":"ServerException"} - ], - "documentation":"

Updates a job queue.

" - } - }, - "shapes":{ - "ArrayJobDependency":{ - "type":"string", - "enum":[ - "N_TO_N", - "SEQUENTIAL" - ] - }, - "ArrayJobStatusSummary":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"Integer"} - }, - "ArrayProperties":{ - "type":"structure", - "members":{ - "size":{ - "shape":"Integer", - "documentation":"

The size of the array job.

" - } - }, - "documentation":"

An object representing an AWS Batch array job.

" - }, - "ArrayPropertiesDetail":{ - "type":"structure", - "members":{ - "statusSummary":{ - "shape":"ArrayJobStatusSummary", - "documentation":"

A summary of the number of array job children in each available job status. This parameter is returned for parent array jobs.

" - }, - "size":{ - "shape":"Integer", - "documentation":"

The size of the array job. This parameter is returned for parent array jobs.

" - }, - "index":{ - "shape":"Integer", - "documentation":"

The job index within the array that is associated with this job. This parameter is returned for array job children.

" - } - }, - "documentation":"

An object representing the array properties of a job.

" - }, - "ArrayPropertiesSummary":{ - "type":"structure", - "members":{ - "size":{ - "shape":"Integer", - "documentation":"

The size of the array job. This parameter is returned for parent array jobs.

" - }, - "index":{ - "shape":"Integer", - "documentation":"

The job index within the array that is associated with this job. This parameter is returned for children of array jobs.

" - } - }, - "documentation":"

An object representing the array properties of a job.

" - }, - "AttemptContainerDetail":{ - "type":"structure", - "members":{ - "containerInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

" - }, - "taskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a task ARN when they reach the STARTING status.

" - }, - "exitCode":{ - "shape":"Integer", - "documentation":"

The exit code for the job attempt. A non-zero exit code is considered a failure.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" - }, - "logStreamName":{ - "shape":"String", - "documentation":"

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

" - } - }, - "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 time stamp (in seconds and milliseconds) for when the attempt was started (when the attempt transitioned from the STARTING state to the RUNNING state).

" - }, - "stoppedAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp (in seconds and milliseconds) for when the attempt was stopped (when the attempt transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" - }, - "statusReason":{ - "shape":"String", - "documentation":"

A short, human-readable string to provide additional details about the current status of the job attempt.

" - } - }, - "documentation":"

An object representing a job attempt.

" - }, - "AttemptDetails":{ - "type":"list", - "member":{"shape":"AttemptDetail"} - }, - "Boolean":{"type":"boolean"}, - "CEState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "CEStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "DELETED", - "VALID", - "INVALID" - ] - }, - "CEType":{ - "type":"string", - "enum":[ - "MANAGED", - "UNMANAGED" - ] - }, - "CRType":{ - "type":"string", - "enum":[ - "EC2", - "SPOT" - ] - }, - "CancelJobRequest":{ - "type":"structure", - "required":[ - "jobId", - "reason" - ], - "members":{ - "jobId":{ - "shape":"String", - "documentation":"

The AWS Batch job ID of the job to cancel.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

" - } - } - }, - "CancelJobResponse":{ - "type":"structure", - "members":{ - } - }, - "ClientException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ComputeEnvironmentDetail":{ - "type":"structure", - "required":[ - "computeEnvironmentName", - "computeEnvironmentArn", - "ecsClusterArn" - ], - "members":{ - "computeEnvironmentName":{ - "shape":"String", - "documentation":"

The name of the compute environment.

" - }, - "computeEnvironmentArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" - }, - "ecsClusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the compute environment.

" - }, - "type":{ - "shape":"CEType", - "documentation":"

The type of the compute environment.

" - }, - "state":{ - "shape":"CEState", - "documentation":"

The state of the compute environment. The valid values are ENABLED or DISABLED. An ENABLED state indicates that you can register instances with the compute environment and that the associated instances can accept jobs.

" - }, - "status":{ - "shape":"CEStatus", - "documentation":"

The current status of the compute environment (for example, CREATING or VALID).

" - }, - "statusReason":{ - "shape":"String", - "documentation":"

A short, human-readable string to provide additional details about the current status of the compute environment.

" - }, - "computeResources":{ - "shape":"ComputeResource", - "documentation":"

The compute resources defined for the compute environment.

" - }, - "serviceRole":{ - "shape":"String", - "documentation":"

The service role associated with the compute environment that allows AWS Batch to make calls to AWS API operations on your behalf.

" - } - }, - "documentation":"

An object representing an AWS Batch compute environment.

" - }, - "ComputeEnvironmentDetailList":{ - "type":"list", - "member":{"shape":"ComputeEnvironmentDetail"} - }, - "ComputeEnvironmentOrder":{ - "type":"structure", - "required":[ - "order", - "computeEnvironment" - ], - "members":{ - "order":{ - "shape":"Integer", - "documentation":"

The order of the compute environment.

" - }, - "computeEnvironment":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" - } - }, - "documentation":"

The order in which compute environments are tried for job placement within a queue. Compute environments are tried in ascending order. For example, if two compute environments are associated with a job queue, the compute environment with a lower order integer value is tried for job placement first.

" - }, - "ComputeEnvironmentOrders":{ - "type":"list", - "member":{"shape":"ComputeEnvironmentOrder"} - }, - "ComputeResource":{ - "type":"structure", - "required":[ - "type", - "minvCpus", - "maxvCpus", - "instanceTypes", - "subnets", - "securityGroupIds", - "instanceRole" - ], - "members":{ - "type":{ - "shape":"CRType", - "documentation":"

The type of compute environment.

" - }, - "minvCpus":{ - "shape":"Integer", - "documentation":"

The minimum number of EC2 vCPUs that an environment should maintain.

" - }, - "maxvCpus":{ - "shape":"Integer", - "documentation":"

The maximum number of EC2 vCPUs that an environment can reach.

" - }, - "desiredvCpus":{ - "shape":"Integer", - "documentation":"

The desired number of EC2 vCPUS in the compute environment.

" - }, - "instanceTypes":{ - "shape":"StringList", - "documentation":"

The instances types that may be launched. You can specify instance families to launch any instance type within those families (for example, c4 or p3), or you can specify specific sizes within a family (such as c4.8xlarge). You can also choose optimal to pick instance types (from the latest C, M, and R instance families) on the fly that match the demand of your job queues.

" - }, - "imageId":{ - "shape":"String", - "documentation":"

The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

" - }, - "subnets":{ - "shape":"StringList", - "documentation":"

The VPC subnets into which the compute resources are launched.

" - }, - "securityGroupIds":{ - "shape":"StringList", - "documentation":"

The EC2 security group that is associated with instances launched in the compute environment.

" - }, - "ec2KeyPair":{ - "shape":"String", - "documentation":"

The EC2 key pair that is used for instances launched in the compute environment.

" - }, - "instanceRole":{ - "shape":"String", - "documentation":"

The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name or full Amazon Resource Name (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole. For more information, see Amazon ECS Instance Role in the AWS Batch User Guide.

" - }, - "tags":{ - "shape":"TagsMap", - "documentation":"

Key-value pair tags to be applied to resources that are launched in the compute environment.

" - }, - "bidPercentage":{ - "shape":"Integer", - "documentation":"

The minimum percentage that a Spot Instance price must be when compared with the On-Demand price for that instance type before instances are launched. For example, if your bid percentage is 20%, then the Spot price must be below 20% of the current On-Demand price for that EC2 instance.

" - }, - "spotIamFleetRole":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment.

" - } - }, - "documentation":"

An object representing an AWS Batch compute resource.

" - }, - "ComputeResourceUpdate":{ - "type":"structure", - "members":{ - "minvCpus":{ - "shape":"Integer", - "documentation":"

The minimum number of EC2 vCPUs that an environment should maintain.

" - }, - "maxvCpus":{ - "shape":"Integer", - "documentation":"

The maximum number of EC2 vCPUs that an environment can reach.

" - }, - "desiredvCpus":{ - "shape":"Integer", - "documentation":"

The desired number of EC2 vCPUS in the compute environment.

" - } - }, - "documentation":"

An object representing the attributes of a compute environment that can be updated.

" - }, - "ContainerDetail":{ - "type":"structure", - "members":{ - "image":{ - "shape":"String", - "documentation":"

The image used to start the container.

" - }, - "vcpus":{ - "shape":"Integer", - "documentation":"

The number of VCPUs allocated for the job.

" - }, - "memory":{ - "shape":"Integer", - "documentation":"

The number of MiB of memory reserved for the job.

" - }, - "command":{ - "shape":"StringList", - "documentation":"

The command that is passed to the container.

" - }, - "jobRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) associated with the job upon execution.

" - }, - "volumes":{ - "shape":"Volumes", - "documentation":"

A list of volumes associated with the job.

" - }, - "environment":{ - "shape":"EnvironmentVariables", - "documentation":"

The environment variables to pass to a container.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" - }, - "mountPoints":{ - "shape":"MountPoints", - "documentation":"

The mount points for data volumes in your container.

" - }, - "readonlyRootFilesystem":{ - "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given read-only access to its root file system.

" - }, - "ulimits":{ - "shape":"Ulimits", - "documentation":"

A list of ulimit values to set in the container.

" - }, - "privileged":{ - "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).

" - }, - "user":{ - "shape":"String", - "documentation":"

The user name to use inside the container.

" - }, - "exitCode":{ - "shape":"Integer", - "documentation":"

The exit code to return upon completion.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" - }, - "containerInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instance on which the container is running.

" - }, - "taskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a task ARN when they reach the STARTING status.

" - }, - "logStreamName":{ - "shape":"String", - "documentation":"

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

" - } - }, - "documentation":"

An object representing the details of a container that is part of a job.

" - }, - "ContainerOverrides":{ - "type":"structure", - "members":{ - "vcpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs to reserve for the container. This value overrides the value set in the job definition.

" - }, - "memory":{ - "shape":"Integer", - "documentation":"

The number of MiB of memory reserved for the job. This value overrides the value set in the job definition.

" - }, - "command":{ - "shape":"StringList", - "documentation":"

The command to send to the container that overrides the default command from the Docker image or the job definition.

" - }, - "environment":{ - "shape":"EnvironmentVariables", - "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the job definition.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" - } - }, - "documentation":"

The overrides that should be sent to a container.

" - }, - "ContainerProperties":{ - "type":"structure", - "required":[ - "image", - "vcpus", - "memory" - ], - "members":{ - "image":{ - "shape":"String", - "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" - }, - "vcpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one vCPU.

" - }, - "memory":{ - "shape":"Integer", - "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the AWS Batch User Guide.

" - }, - "command":{ - "shape":"StringList", - "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" - }, - "jobRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

" - }, - "volumes":{ - "shape":"Volumes", - "documentation":"

A list of data volumes used in a job.

" - }, - "environment":{ - "shape":"EnvironmentVariables", - "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" - }, - "mountPoints":{ - "shape":"MountPoints", - "documentation":"

The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" - }, - "readonlyRootFilesystem":{ - "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

" - }, - "privileged":{ - "shape":"Boolean", - "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

" - }, - "ulimits":{ - "shape":"Ulimits", - "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run.

" - }, - "user":{ - "shape":"String", - "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

" - } - }, - "documentation":"

Container properties are used in job definitions to describe the container that is launched as part of a job.

" - }, - "ContainerSummary":{ - "type":"structure", - "members":{ - "exitCode":{ - "shape":"Integer", - "documentation":"

The exit code to return upon completion.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" - } - }, - "documentation":"

An object representing summary details of a container within a job.

" - }, - "CreateComputeEnvironmentRequest":{ - "type":"structure", - "required":[ - "computeEnvironmentName", - "type", - "serviceRole" - ], - "members":{ - "computeEnvironmentName":{ - "shape":"String", - "documentation":"

The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" - }, - "type":{ - "shape":"CEType", - "documentation":"

The type of the compute environment.

" - }, - "state":{ - "shape":"CEState", - "documentation":"

The state of the compute environment. If the state is ENABLED, then the compute environment accepts jobs from a queue and can scale out automatically based on queues.

" - }, - "computeResources":{ - "shape":"ComputeResource", - "documentation":"

Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments.

" - }, - "serviceRole":{ - "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

" - } - } - }, - "CreateComputeEnvironmentResponse":{ - "type":"structure", - "members":{ - "computeEnvironmentName":{ - "shape":"String", - "documentation":"

The name of the compute environment.

" - }, - "computeEnvironmentArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" - } - } - }, - "CreateJobQueueRequest":{ - "type":"structure", - "required":[ - "jobQueueName", - "priority", - "computeEnvironmentOrder" - ], - "members":{ - "jobQueueName":{ - "shape":"String", - "documentation":"

The name of the job queue.

" - }, - "state":{ - "shape":"JQState", - "documentation":"

The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs.

" - }, - "priority":{ - "shape":"Integer", - "documentation":"

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

" - }, - "computeEnvironmentOrder":{ - "shape":"ComputeEnvironmentOrders", - "documentation":"

The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment should execute a given job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.

" - } - } - }, - "CreateJobQueueResponse":{ - "type":"structure", - "required":[ - "jobQueueName", - "jobQueueArn" - ], - "members":{ - "jobQueueName":{ - "shape":"String", - "documentation":"

The name of the job queue.

" - }, - "jobQueueArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" - } - } - }, - "DeleteComputeEnvironmentRequest":{ - "type":"structure", - "required":["computeEnvironment"], - "members":{ - "computeEnvironment":{ - "shape":"String", - "documentation":"

The name or Amazon Resource Name (ARN) of the compute environment to delete.

" - } - } - }, - "DeleteComputeEnvironmentResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteJobQueueRequest":{ - "type":"structure", - "required":["jobQueue"], - "members":{ - "jobQueue":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the queue to delete.

" - } - } - }, - "DeleteJobQueueResponse":{ - "type":"structure", - "members":{ - } - }, - "DeregisterJobDefinitionRequest":{ - "type":"structure", - "required":["jobDefinition"], - "members":{ - "jobDefinition":{ - "shape":"String", - "documentation":"

The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister.

" - } - } - }, - "DeregisterJobDefinitionResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeComputeEnvironmentsRequest":{ - "type":"structure", - "members":{ - "computeEnvironments":{ - "shape":"StringList", - "documentation":"

A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. When this parameter is used, DescribeComputeEnvironments only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeComputeEnvironments request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeComputeEnvironments returns up to 100 results and a nextToken value if applicable.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated DescribeComputeEnvironments request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - } - } - }, - "DescribeComputeEnvironmentsResponse":{ - "type":"structure", - "members":{ - "computeEnvironments":{ - "shape":"ComputeEnvironmentDetailList", - "documentation":"

The list of compute environments.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future DescribeComputeEnvironments request. When the results of a DescribeJobDefinitions request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "DescribeJobDefinitionsRequest":{ - "type":"structure", - "members":{ - "jobDefinitions":{ - "shape":"StringList", - "documentation":"

A space-separated list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results returned by DescribeJobDefinitions in paginated output. When this parameter is used, DescribeJobDefinitions only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobDefinitions returns up to 100 results and a nextToken value if applicable.

" - }, - "jobDefinitionName":{ - "shape":"String", - "documentation":"

The name of the job definition to describe.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status with which to filter job definitions.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated DescribeJobDefinitions request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - } - } - }, - "DescribeJobDefinitionsResponse":{ - "type":"structure", - "members":{ - "jobDefinitions":{ - "shape":"JobDefinitionList", - "documentation":"

The list of job definitions.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future DescribeJobDefinitions request. When the results of a DescribeJobDefinitions request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "DescribeJobQueuesRequest":{ - "type":"structure", - "members":{ - "jobQueues":{ - "shape":"StringList", - "documentation":"

A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results returned by DescribeJobQueues in paginated output. When this parameter is used, DescribeJobQueues only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeJobQueues request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobQueues returns up to 100 results and a nextToken value if applicable.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated DescribeJobQueues request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - } - } - }, - "DescribeJobQueuesResponse":{ - "type":"structure", - "members":{ - "jobQueues":{ - "shape":"JobQueueDetailList", - "documentation":"

The list of job queues.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future DescribeJobQueues request. When the results of a DescribeJobQueues request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "DescribeJobsRequest":{ - "type":"structure", - "required":["jobs"], - "members":{ - "jobs":{ - "shape":"StringList", - "documentation":"

A space-separated list of up to 100 job IDs.

" - } - } - }, - "DescribeJobsResponse":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"JobDetailList", - "documentation":"

The list of jobs.

" - } - } - }, - "EnvironmentVariables":{ - "type":"list", - "member":{"shape":"KeyValuePair"} - }, - "Host":{ - "type":"structure", - "members":{ - "sourcePath":{ - "shape":"String", - "documentation":"

The path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the host parameter contains a sourcePath file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the sourcePath value does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

" - } - }, - "documentation":"

The contents of the host parameter determine whether your data volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

" - }, - "Integer":{"type":"integer"}, - "JQState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "JQStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "DELETED", - "VALID", - "INVALID" - ] - }, - "JobDefinition":{ - "type":"structure", - "required":[ - "jobDefinitionName", - "jobDefinitionArn", - "revision", - "type" - ], - "members":{ - "jobDefinitionName":{ - "shape":"String", - "documentation":"

The name of the job definition.

" - }, - "jobDefinitionArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the job definition.

" - }, - "revision":{ - "shape":"Integer", - "documentation":"

The revision of the job definition.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the job definition.

" - }, - "type":{ - "shape":"String", - "documentation":"

The type of job definition.

" - }, - "parameters":{ - "shape":"ParametersMap", - "documentation":"

Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" - }, - "retryStrategy":{ - "shape":"RetryStrategy", - "documentation":"

The retry strategy to use for failed jobs that are submitted with this job definition.

" - }, - "containerProperties":{ - "shape":"ContainerProperties", - "documentation":"

An object with various properties specific to container-based jobs.

" - }, - "timeout":{ - "shape":"JobTimeout", - "documentation":"

The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished.

" - } - }, - "documentation":"

An object representing an AWS Batch job definition.

" - }, - "JobDefinitionList":{ - "type":"list", - "member":{"shape":"JobDefinition"} - }, - "JobDefinitionType":{ - "type":"string", - "enum":["container"] - }, - "JobDependency":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"String", - "documentation":"

The job ID of the AWS Batch job associated with this dependency.

" - }, - "type":{ - "shape":"ArrayJobDependency", - "documentation":"

The type of the job dependency.

" - } - }, - "documentation":"

An object representing an AWS Batch job dependency.

" - }, - "JobDependencyList":{ - "type":"list", - "member":{"shape":"JobDependency"} - }, - "JobDetail":{ - "type":"structure", - "required":[ - "jobName", - "jobId", - "jobQueue", - "status", - "startedAt", - "jobDefinition" - ], - "members":{ - "jobName":{ - "shape":"String", - "documentation":"

The name of the job.

" - }, - "jobId":{ - "shape":"String", - "documentation":"

The ID for the job.

" - }, - "jobQueue":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the job queue with which the job is associated.

" - }, - "status":{ - "shape":"JobStatus", - "documentation":"

The current status for the job.

" - }, - "attempts":{ - "shape":"AttemptDetails", - "documentation":"

A list of job attempts associated with this job.

" - }, - "statusReason":{ - "shape":"String", - "documentation":"

A short, human-readable string to provide additional details about the current status of the job.

" - }, - "createdAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp (in seconds and milliseconds) for when the job was created. For non-array jobs and parent array jobs, this is when the job entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, this is when the child job was spawned by its parent and entered the PENDING state.

" - }, - "retryStrategy":{ - "shape":"RetryStrategy", - "documentation":"

The retry strategy to use for this job if an attempt fails.

" - }, - "startedAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp (in seconds and milliseconds) for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

" - }, - "stoppedAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp (in seconds and milliseconds) for when the job was stopped (when the job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" - }, - "dependsOn":{ - "shape":"JobDependencyList", - "documentation":"

A list of job names or IDs on which this job depends.

" - }, - "jobDefinition":{ - "shape":"String", - "documentation":"

The job definition that is used by this job.

" - }, - "parameters":{ - "shape":"ParametersMap", - "documentation":"

Additional parameters passed to the job that replace parameter substitution placeholders or override any corresponding parameter defaults from the job definition.

" - }, - "container":{ - "shape":"ContainerDetail", - "documentation":"

An object representing the details of the container that is associated with the job.

" - }, - "arrayProperties":{ - "shape":"ArrayPropertiesDetail", - "documentation":"

The array properties of the job, if it is an array job.

" - }, - "timeout":{ - "shape":"JobTimeout", - "documentation":"

The timeout configuration for the job.

" - } - }, - "documentation":"

An object representing an AWS Batch job.

" - }, - "JobDetailList":{ - "type":"list", - "member":{"shape":"JobDetail"} - }, - "JobQueueDetail":{ - "type":"structure", - "required":[ - "jobQueueName", - "jobQueueArn", - "state", - "priority", - "computeEnvironmentOrder" - ], - "members":{ - "jobQueueName":{ - "shape":"String", - "documentation":"

The name of the job queue.

" - }, - "jobQueueArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" - }, - "state":{ - "shape":"JQState", - "documentation":"

Describes the ability of the queue to accept new jobs.

" - }, - "status":{ - "shape":"JQStatus", - "documentation":"

The status of the job queue (for example, CREATING or VALID).

" - }, - "statusReason":{ - "shape":"String", - "documentation":"

A short, human-readable string to provide additional details about the current status of the job queue.

" - }, - "priority":{ - "shape":"Integer", - "documentation":"

The priority of the job queue.

" - }, - "computeEnvironmentOrder":{ - "shape":"ComputeEnvironmentOrders", - "documentation":"

The compute environments that are attached to the job queue and the order in which job placement is preferred. Compute environments are selected for job placement in ascending order.

" - } - }, - "documentation":"

An object representing the details of an AWS Batch job queue.

" - }, - "JobQueueDetailList":{ - "type":"list", - "member":{"shape":"JobQueueDetail"} - }, - "JobStatus":{ - "type":"string", - "enum":[ - "SUBMITTED", - "PENDING", - "RUNNABLE", - "STARTING", - "RUNNING", - "SUCCEEDED", - "FAILED" - ] - }, - "JobSummary":{ - "type":"structure", - "required":[ - "jobId", - "jobName" - ], - "members":{ - "jobId":{ - "shape":"String", - "documentation":"

The ID of the job.

" - }, - "jobName":{ - "shape":"String", - "documentation":"

The name of the job.

" - }, - "createdAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp for when the job was created. For non-array jobs and parent array jobs, this is when the job entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, this is when the child job was spawned by its parent and entered the PENDING state.

" - }, - "status":{ - "shape":"JobStatus", - "documentation":"

The current status for the job.

" - }, - "statusReason":{ - "shape":"String", - "documentation":"

A short, human-readable string to provide additional details about the current status of the job.

" - }, - "startedAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

" - }, - "stoppedAt":{ - "shape":"Long", - "documentation":"

The Unix time stamp for when the job was stopped (when the job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" - }, - "container":{ - "shape":"ContainerSummary", - "documentation":"

An object representing the details of the container that is associated with the job.

" - }, - "arrayProperties":{ - "shape":"ArrayPropertiesSummary", - "documentation":"

The array properties of the job, if it is an array job.

" - } - }, - "documentation":"

An object representing summary details of a job.

" - }, - "JobSummaryList":{ - "type":"list", - "member":{"shape":"JobSummary"} - }, - "JobTimeout":{ - "type":"structure", - "members":{ - "attemptDurationSeconds":{ - "shape":"Integer", - "documentation":"

The time duration in seconds (measured from the job attempt's startedAt timestamp) after which AWS Batch terminates your jobs if they have not finished.

" - } - }, - "documentation":"

An object representing a job timeout configuration.

" - }, - "KeyValuePair":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the key-value pair. For environment variables, this is the name of the environment variable.

" - }, - "value":{ - "shape":"String", - "documentation":"

The value of the key-value pair. For environment variables, this is the value of the environment variable.

" - } - }, - "documentation":"

A key-value pair object.

" - }, - "ListJobsRequest":{ - "type":"structure", - "members":{ - "jobQueue":{ - "shape":"String", - "documentation":"

The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

" - }, - "arrayJobId":{ - "shape":"String", - "documentation":"

The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the specified array.

" - }, - "jobStatus":{ - "shape":"JobStatus", - "documentation":"

The job status with which to filter jobs in the specified queue. If you do not specify a status, only RUNNING jobs are returned.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results returned by ListJobs in paginated output. When this parameter is used, ListJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListJobs returns up to 100 results and a nextToken value if applicable.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListJobs request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - } - } - }, - "ListJobsResponse":{ - "type":"structure", - "required":["jobSummaryList"], - "members":{ - "jobSummaryList":{ - "shape":"JobSummaryList", - "documentation":"

A list of job summaries that match the request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListJobs request. When the results of a ListJobs request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "Long":{"type":"long"}, - "MountPoint":{ - "type":"structure", - "members":{ - "containerPath":{ - "shape":"String", - "documentation":"

The path on the container at which to mount the host volume.

" - }, - "readOnly":{ - "shape":"Boolean", - "documentation":"

If this value is true, the container has read-only access to the volume; otherwise, the container can write to the volume. The default value is false.

" - }, - "sourceVolume":{ - "shape":"String", - "documentation":"

The name of the volume to mount.

" - } - }, - "documentation":"

Details on a Docker volume mount point that is used in a job's container properties.

" - }, - "MountPoints":{ - "type":"list", - "member":{"shape":"MountPoint"} - }, - "ParametersMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "RegisterJobDefinitionRequest":{ - "type":"structure", - "required":[ - "jobDefinitionName", - "type" - ], - "members":{ - "jobDefinitionName":{ - "shape":"String", - "documentation":"

The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" - }, - "type":{ - "shape":"JobDefinitionType", - "documentation":"

The type of job definition.

" - }, - "parameters":{ - "shape":"ParametersMap", - "documentation":"

Default parameter substitution placeholders to set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" - }, - "containerProperties":{ - "shape":"ContainerProperties", - "documentation":"

An object with various properties specific 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. If a job is terminated due to a timeout, it is not retried.

" - }, - "timeout":{ - "shape":"JobTimeout", - "documentation":"

The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" - } - } - }, - "RegisterJobDefinitionResponse":{ - "type":"structure", - "required":[ - "jobDefinitionName", - "jobDefinitionArn", - "revision" - ], - "members":{ - "jobDefinitionName":{ - "shape":"String", - "documentation":"

The name of the job definition.

" - }, - "jobDefinitionArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the job definition.

" - }, - "revision":{ - "shape":"Integer", - "documentation":"

The revision of the job definition.

" - } - } - }, - "RetryStrategy":{ - "type":"structure", - "members":{ - "attempts":{ - "shape":"Integer", - "documentation":"

The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried if it fails until it has moved to RUNNABLE that many times.

" - } - }, - "documentation":"

The retry strategy associated with a job.

" - }, - "ServerException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a server issue.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SubmitJobRequest":{ - "type":"structure", - "required":[ - "jobName", - "jobQueue", - "jobDefinition" - ], - "members":{ - "jobName":{ - "shape":"String", - "documentation":"

The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" - }, - "jobQueue":{ - "shape":"String", - "documentation":"

The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue.

" - }, - "arrayProperties":{ - "shape":"ArrayProperties", - "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the AWS Batch User Guide.

" - }, - "dependsOn":{ - "shape":"JobDependencyList", - "documentation":"

A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job ID for array jobs so that each index child of this job must wait for the corresponding index child of each dependency to complete before it can begin.

" - }, - "jobDefinition":{ - "shape":"String", - "documentation":"

The job definition used by this job. This value can be either a name:revision or the Amazon Resource Name (ARN) for the job definition.

" - }, - "parameters":{ - "shape":"ParametersMap", - "documentation":"

Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" - }, - "containerOverrides":{ - "shape":"ContainerOverrides", - "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified job definition and the overrides it should receive. You can override the default command for a container (that is specified in the job definition or the Docker image) with a command override. You can also override existing environment variables (that are specified in the job definition or Docker image) on a container or add new environment variables to it with an environment override.

" - }, - "retryStrategy":{ - "shape":"RetryStrategy", - "documentation":"

The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.

" - }, - "timeout":{ - "shape":"JobTimeout", - "documentation":"

The timeout configuration for this SubmitJob operation. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" - } - } - }, - "SubmitJobResponse":{ - "type":"structure", - "required":[ - "jobName", - "jobId" - ], - "members":{ - "jobName":{ - "shape":"String", - "documentation":"

The name of the job.

" - }, - "jobId":{ - "shape":"String", - "documentation":"

The unique identifier for the job.

" - } - } - }, - "TagsMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "TerminateJobRequest":{ - "type":"structure", - "required":[ - "jobId", - "reason" - ], - "members":{ - "jobId":{ - "shape":"String", - "documentation":"

The AWS Batch job ID of the job to terminate.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

" - } - } - }, - "TerminateJobResponse":{ - "type":"structure", - "members":{ - } - }, - "Ulimit":{ - "type":"structure", - "required":[ - "hardLimit", - "name", - "softLimit" - ], - "members":{ - "hardLimit":{ - "shape":"Integer", - "documentation":"

The hard limit for the ulimit type.

" - }, - "name":{ - "shape":"String", - "documentation":"

The type of the ulimit.

" - }, - "softLimit":{ - "shape":"Integer", - "documentation":"

The soft limit for the ulimit type.

" - } - }, - "documentation":"

The ulimit settings to pass to the container.

" - }, - "Ulimits":{ - "type":"list", - "member":{"shape":"Ulimit"} - }, - "UpdateComputeEnvironmentRequest":{ - "type":"structure", - "required":["computeEnvironment"], - "members":{ - "computeEnvironment":{ - "shape":"String", - "documentation":"

The name or full Amazon Resource Name (ARN) of the compute environment to update.

" - }, - "state":{ - "shape":"CEState", - "documentation":"

The state of the compute environment. Compute environments in the ENABLED state can accept jobs from a queue and scale in or out automatically based on the workload demand of its associated queues.

" - }, - "computeResources":{ - "shape":"ComputeResourceUpdate", - "documentation":"

Details of the compute resources managed by the compute environment. Required for a managed compute environment.

" - }, - "serviceRole":{ - "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

" - } - } - }, - "UpdateComputeEnvironmentResponse":{ - "type":"structure", - "members":{ - "computeEnvironmentName":{ - "shape":"String", - "documentation":"

The name of compute environment.

" - }, - "computeEnvironmentArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" - } - } - }, - "UpdateJobQueueRequest":{ - "type":"structure", - "required":["jobQueue"], - "members":{ - "jobQueue":{ - "shape":"String", - "documentation":"

The name or the Amazon Resource Name (ARN) of the job queue.

" - }, - "state":{ - "shape":"JQState", - "documentation":"

Describes the queue's ability to accept new jobs.

" - }, - "priority":{ - "shape":"Integer", - "documentation":"

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

" - }, - "computeEnvironmentOrder":{ - "shape":"ComputeEnvironmentOrders", - "documentation":"

Details the set of compute environments mapped to a job queue and their order relative to each other. This is one of the parameters used by the job scheduler to determine which compute environment should execute a given job.

" - } - } - }, - "UpdateJobQueueResponse":{ - "type":"structure", - "members":{ - "jobQueueName":{ - "shape":"String", - "documentation":"

The name of the job queue.

" - }, - "jobQueueArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" - } - } - }, - "Volume":{ - "type":"structure", - "members":{ - "host":{ - "shape":"Host", - "documentation":"

The contents of the host parameter determine whether your data volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop running.

" - }, - "name":{ - "shape":"String", - "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" - } - }, - "documentation":"

A data volume used in a job's container properties.

" - }, - "Volumes":{ - "type":"list", - "member":{"shape":"Volume"} - } - }, - "documentation":"

AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to users of traditional batch computing software. This service can efficiently provision resources in response to jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run their batch jobs in the AWS Cloud.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/service-2.json deleted file mode 100644 index 67723dc8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/budgets/2016-10-20/service-2.json +++ /dev/null @@ -1,1055 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-10-20", - "endpointPrefix":"budgets", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWSBudgets", - "serviceFullName":"AWS Budgets", - "serviceId":"Budgets", - "signatureVersion":"v4", - "targetPrefix":"AWSBudgetServiceGateway", - "uid":"budgets-2016-10-20" - }, - "operations":{ - "CreateBudget":{ - "name":"CreateBudget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBudgetRequest"}, - "output":{"shape":"CreateBudgetResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} - ], - "documentation":"

Creates a budget and, if included, notifications and subscribers.

" - }, - "CreateNotification":{ - "name":"CreateNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNotificationRequest"}, - "output":{"shape":"CreateNotificationResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} - ], - "documentation":"

Creates a notification. You must create the budget before you create the associated notification.

" - }, - "CreateSubscriber":{ - "name":"CreateSubscriber", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubscriberRequest"}, - "output":{"shape":"CreateSubscriberResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

" - }, - "DeleteBudget":{ - "name":"DeleteBudget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBudgetRequest"}, - "output":{"shape":"DeleteBudgetResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a budget. You can delete your budget at any time.

Deleting a budget also deletes the notifications and subscribers associated with that budget.

" - }, - "DeleteNotification":{ - "name":"DeleteNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNotificationRequest"}, - "output":{"shape":"DeleteNotificationResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a notification.

Deleting a notification also deletes the subscribers associated with the notification.

" - }, - "DeleteSubscriber":{ - "name":"DeleteSubscriber", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubscriberRequest"}, - "output":{"shape":"DeleteSubscriberResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a subscriber.

Deleting the last subscriber to a notification also deletes the notification.

" - }, - "DescribeBudget":{ - "name":"DescribeBudget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBudgetRequest"}, - "output":{"shape":"DescribeBudgetResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Describes a budget.

" - }, - "DescribeBudgets":{ - "name":"DescribeBudgets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBudgetsRequest"}, - "output":{"shape":"DescribeBudgetsResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Lists the budgets associated with an account.

" - }, - "DescribeNotificationsForBudget":{ - "name":"DescribeNotificationsForBudget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNotificationsForBudgetRequest"}, - "output":{"shape":"DescribeNotificationsForBudgetResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Lists the notifications associated with a budget.

" - }, - "DescribeSubscribersForNotification":{ - "name":"DescribeSubscribersForNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubscribersForNotificationRequest"}, - "output":{"shape":"DescribeSubscribersForNotificationResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Lists the subscribers associated with a notification.

" - }, - "UpdateBudget":{ - "name":"UpdateBudget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateBudgetRequest"}, - "output":{"shape":"UpdateBudgetResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When a budget is modified, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

" - }, - "UpdateNotification":{ - "name":"UpdateNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNotificationRequest"}, - "output":{"shape":"UpdateNotificationResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"DuplicateRecordException"} - ], - "documentation":"

Updates a notification.

" - }, - "UpdateSubscriber":{ - "name":"UpdateSubscriber", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSubscriberRequest"}, - "output":{"shape":"UpdateSubscriberResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"DuplicateRecordException"} - ], - "documentation":"

Updates a subscriber.

" - } - }, - "shapes":{ - "AccountId":{ - "type":"string", - "documentation":"

The account ID of the customer. It should be a 12 digit number.

", - "max":12, - "min":12 - }, - "Budget":{ - "type":"structure", - "required":[ - "BudgetName", - "TimeUnit", - "BudgetType" - ], - "members":{ - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of a budget. Unique within accounts. : and \\ characters are not allowed in the BudgetName.

" - }, - "BudgetLimit":{ - "shape":"Spend", - "documentation":"

The total amount of cost, usage, or RI utilization that you want to track with your budget.

BudgetLimit is required for cost or usage budgets, but optional for RI utilization budgets. RI utilization budgets default to the only valid value for RI utilization budgets, which is 100.

" - }, - "CostFilters":{ - "shape":"CostFilters", - "documentation":"

The cost filters applied to a budget, such as service or region.

" - }, - "CostTypes":{ - "shape":"CostTypes", - "documentation":"

The types of costs included in this budget.

" - }, - "TimeUnit":{ - "shape":"TimeUnit", - "documentation":"

The length of time until a budget resets the actual and forecasted spend.

" - }, - "TimePeriod":{ - "shape":"TimePeriod", - "documentation":"

The period of time covered by a budget. Has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, AWS deletes the budget and all associated notifications and subscribers.

" - }, - "CalculatedSpend":{ - "shape":"CalculatedSpend", - "documentation":"

The actual and forecasted cost or usage being tracked by a budget.

" - }, - "BudgetType":{ - "shape":"BudgetType", - "documentation":"

Whether this budget tracks monetary costs, usage, or RI utilization.

" - } - }, - "documentation":"

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget.

The ARN pattern for a budget is: arn:aws:budgetservice::AccountId:budget/budgetName

" - }, - "BudgetName":{ - "type":"string", - "documentation":"

A string represents the budget name. No \":\" and \"\\\" character is allowed.

", - "max":100, - "pattern":"[^:\\\\]+" - }, - "BudgetType":{ - "type":"string", - "documentation":"

The type of a budget. It should be COST, USAGE, or RI_UTILIZATION.

", - "enum":[ - "USAGE", - "COST", - "RI_UTILIZATION", - "RI_COVERAGE" - ] - }, - "Budgets":{ - "type":"list", - "member":{"shape":"Budget"}, - "documentation":"

A list of budgets

" - }, - "CalculatedSpend":{ - "type":"structure", - "required":["ActualSpend"], - "members":{ - "ActualSpend":{ - "shape":"Spend", - "documentation":"

The amount of cost, usage, or RI units that you have used.

" - }, - "ForecastedSpend":{ - "shape":"Spend", - "documentation":"

The amount of cost, usage, or RI units that you are forecasted to use.

" - } - }, - "documentation":"

The spend objects associated with this budget. The actualSpend tracks how much you've used, cost, usage, or RI units, and the forecastedSpend tracks how much you are predicted to spend if your current usage remains steady.

For example, if it is the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.

" - }, - "ComparisonOperator":{ - "type":"string", - "documentation":"

The comparison operator of a notification. Currently we support less than, equal to and greater than.

", - "enum":[ - "GREATER_THAN", - "LESS_THAN", - "EQUAL_TO" - ] - }, - "CostFilters":{ - "type":"map", - "key":{"shape":"GenericString"}, - "value":{"shape":"DimensionValues"}, - "documentation":"

A map that represents the cost filters applied to the budget.

" - }, - "CostTypes":{ - "type":"structure", - "members":{ - "IncludeTax":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes taxes.

The default value is true.

" - }, - "IncludeSubscription":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes subscriptions.

The default value is true.

" - }, - "UseBlended":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget uses blended rate.

The default value is false.

" - }, - "IncludeRefund":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes refunds.

The default value is true.

" - }, - "IncludeCredit":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes credits.

The default value is true.

" - }, - "IncludeUpfront":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes upfront RI costs.

The default value is true.

" - }, - "IncludeRecurring":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.

" - }, - "IncludeOtherSubscription":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes non-RI subscription costs.

The default value is true.

" - }, - "IncludeSupport":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes support subscription fees.

The default value is true.

" - }, - "IncludeDiscount":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget includes discounts.

The default value is true.

" - }, - "UseAmortized":{ - "shape":"NullableBoolean", - "documentation":"

Specifies whether a budget uses the amortized rate.

The default value is false.

" - } - }, - "documentation":"

The types of cost included in a budget, such as tax and subscriptions.

" - }, - "CreateBudgetRequest":{ - "type":"structure", - "required":[ - "AccountId", - "Budget" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget.

" - }, - "Budget":{ - "shape":"Budget", - "documentation":"

The budget object that you want to create.

" - }, - "NotificationsWithSubscribers":{ - "shape":"NotificationWithSubscribersList", - "documentation":"

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to ten email subscribers. If you include notifications and subscribers in your CreateBudget call, AWS creates the notifications and subscribers for you.

" - } - }, - "documentation":"

Request of CreateBudget

" - }, - "CreateBudgetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of CreateBudget

" - }, - "CreateNotificationRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification", - "Subscribers" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget that you want to create a notification for.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget that you want AWS to notified you about. Budget names must be unique within an account.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification that you want to create.

" - }, - "Subscribers":{ - "shape":"Subscribers", - "documentation":"

A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to ten email subscribers.

" - } - }, - "documentation":"

Request of CreateNotification

" - }, - "CreateNotificationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of CreateNotification

" - }, - "CreateSubscriberRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification", - "Subscriber" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId associated with the budget that you want to create a subscriber for.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget that you want to subscribe to. Budget names must be unique within an account.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification that you want to create a subscriber for.

" - }, - "Subscriber":{ - "shape":"Subscriber", - "documentation":"

The subscriber that you want to associate with a budget notification.

" - } - }, - "documentation":"

Request of CreateSubscriber

" - }, - "CreateSubscriberResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of CreateSubscriber

" - }, - "CreationLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

You've exceeded the notification or subscriber limit.

", - "exception":true - }, - "DeleteBudgetRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget that you want to delete.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget that you want to delete.

" - } - }, - "documentation":"

Request of DeleteBudget

" - }, - "DeleteBudgetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of DeleteBudget

" - }, - "DeleteNotificationRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose notification you want to delete.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose notification you want to delete.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification that you want to delete.

" - } - }, - "documentation":"

Request of DeleteNotification

" - }, - "DeleteNotificationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of DeleteNotification

" - }, - "DeleteSubscriberRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification", - "Subscriber" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose subscriber you want to delete.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose subscriber you want to delete.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification whose subscriber you want to delete.

" - }, - "Subscriber":{ - "shape":"Subscriber", - "documentation":"

The subscriber that you want to delete.

" - } - }, - "documentation":"

Request of DeleteSubscriber

" - }, - "DeleteSubscriberResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of DeleteSubscriber

" - }, - "DescribeBudgetRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget that you want a description of.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget that you want a description of.

" - } - }, - "documentation":"

Request of DescribeBudget

" - }, - "DescribeBudgetResponse":{ - "type":"structure", - "members":{ - "Budget":{ - "shape":"Budget", - "documentation":"

The description of the budget.

" - } - }, - "documentation":"

Response of DescribeBudget

" - }, - "DescribeBudgetsRequest":{ - "type":"structure", - "required":["AccountId"], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budgets that you want descriptions of.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Optional integer. Specifies the maximum number of results to return in response.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

Request of DescribeBudgets

" - }, - "DescribeBudgetsResponse":{ - "type":"structure", - "members":{ - "Budgets":{ - "shape":"Budgets", - "documentation":"

A list of budgets.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results that you can retrieve.

" - } - }, - "documentation":"

Response of DescribeBudgets

" - }, - "DescribeNotificationsForBudgetRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose notifications you want descriptions of.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose notifications you want descriptions of.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Optional integer. Specifies the maximum number of results to return in response.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

Request of DescribeNotificationsForBudget

" - }, - "DescribeNotificationsForBudgetResponse":{ - "type":"structure", - "members":{ - "Notifications":{ - "shape":"Notifications", - "documentation":"

A list of notifications associated with a budget.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results that you can retrieve.

" - } - }, - "documentation":"

Response of GetNotificationsForBudget

" - }, - "DescribeSubscribersForNotificationRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose subscribers you want descriptions of.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose subscribers you want descriptions of.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification whose subscribers you want to list.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Optional integer. Specifies the maximum number of results to return in response.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

Request of DescribeSubscribersForNotification

" - }, - "DescribeSubscribersForNotificationResponse":{ - "type":"structure", - "members":{ - "Subscribers":{ - "shape":"Subscribers", - "documentation":"

A list of subscribers associated with a notification.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

The pagination token that indicates the next set of results that you can retrieve.

" - } - }, - "documentation":"

Response of DescribeSubscribersForNotification

" - }, - "DimensionValues":{ - "type":"list", - "member":{"shape":"GenericString"} - }, - "DuplicateRecordException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The budget name already exists. Budget names must be unique within an account.

", - "exception":true - }, - "ExpiredNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The pagination token expired.

", - "exception":true - }, - "GenericString":{ - "type":"string", - "documentation":"

A generic String.

" - }, - "GenericTimestamp":{ - "type":"timestamp", - "documentation":"

A generic timestamp. In Java it is transformed to a Date object.

" - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

An error on the server occurred during the processing of your request. Try again later.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The pagination token is invalid.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

", - "exception":true - }, - "MaxResults":{ - "type":"integer", - "documentation":"

An integer to represent how many entries a paginated response contains. Maximum is set to 100.

", - "box":true, - "max":100, - "min":1 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

We can’t locate the resource that you specified.

", - "exception":true - }, - "Notification":{ - "type":"structure", - "required":[ - "NotificationType", - "ComparisonOperator", - "Threshold" - ], - "members":{ - "NotificationType":{ - "shape":"NotificationType", - "documentation":"

Whether the notification is for how much you have spent (ACTUAL) or for how much you are forecasted to spend (FORECASTED).

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

The comparison used for this notification.

" - }, - "Threshold":{ - "shape":"NotificationThreshold", - "documentation":"

The threshold associated with a notification. Thresholds are always a percentage.

" - }, - "ThresholdType":{ - "shape":"ThresholdType", - "documentation":"

The type of threshold for a notification. For ACTUAL thresholds, AWS notifies you when you go over the threshold, and for FORECASTED thresholds AWS notifies you when you are forecasted to go over the threshold.

" - } - }, - "documentation":"

A notification associated with a budget. A budget can have up to five notifications.

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to ten email subscribers, for a total of 11 subscribers.

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

  • A notificationType of ACTUAL

  • A comparisonOperator of GREATER_THAN

  • A notification threshold of 80

" - }, - "NotificationThreshold":{ - "type":"double", - "documentation":"

The threshold of a notification. It should be a number between 0 and 1,000,000,000.

", - "max":1000000000, - "min":0.1 - }, - "NotificationType":{ - "type":"string", - "documentation":"

The type of a notification. It should be ACTUAL or FORECASTED.

", - "enum":[ - "ACTUAL", - "FORECASTED" - ] - }, - "NotificationWithSubscribers":{ - "type":"structure", - "required":[ - "Notification", - "Subscribers" - ], - "members":{ - "Notification":{ - "shape":"Notification", - "documentation":"

The notification associated with a budget.

" - }, - "Subscribers":{ - "shape":"Subscribers", - "documentation":"

A list of subscribers who are subscribed to this notification.

" - } - }, - "documentation":"

A notification with subscribers. A notification can have one SNS subscriber and up to ten email subscribers, for a total of 11 subscribers.

" - }, - "NotificationWithSubscribersList":{ - "type":"list", - "member":{"shape":"NotificationWithSubscribers"}, - "documentation":"

A list of Notifications, each with a list of subscribers.

", - "max":5 - }, - "Notifications":{ - "type":"list", - "member":{"shape":"Notification"}, - "documentation":"

A list of notifications.

" - }, - "NullableBoolean":{ - "type":"boolean", - "box":true - }, - "NumericValue":{ - "type":"string", - "documentation":"

A string to represent NumericValue.

", - "pattern":"([0-9]*\\.)?[0-9]+" - }, - "Spend":{ - "type":"structure", - "required":[ - "Amount", - "Unit" - ], - "members":{ - "Amount":{ - "shape":"NumericValue", - "documentation":"

The cost or usage amount associated with a budget forecast, actual spend, or budget threshold.

" - }, - "Unit":{ - "shape":"UnitValue", - "documentation":"

The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

" - } - }, - "documentation":"

The amount of cost or usage being measured for a budget.

For example, a Spend for 3 GB of S3 usage would have the following parameters:

  • An Amount of 3

  • A unit of GB

" - }, - "Subscriber":{ - "type":"structure", - "required":[ - "SubscriptionType", - "Address" - ], - "members":{ - "SubscriptionType":{ - "shape":"SubscriptionType", - "documentation":"

The type of notification that AWS sends to a subscriber.

" - }, - "Address":{ - "shape":"SubscriberAddress", - "documentation":"

The address that AWS sends budget notifications to, either an SNS topic or an email.

" - } - }, - "documentation":"

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon Simple Notification Service topic or an email address.

For example, an email subscriber would have the following parameters:

  • A subscriptionType of EMAIL

  • An address of example@example.com

" - }, - "SubscriberAddress":{ - "type":"string", - "documentation":"

String containing email or sns topic for the subscriber address.

", - "min":1 - }, - "Subscribers":{ - "type":"list", - "member":{"shape":"Subscriber"}, - "documentation":"

A list of subscribers.

", - "max":11, - "min":1 - }, - "SubscriptionType":{ - "type":"string", - "documentation":"

The subscription type of the subscriber. It can be SMS or EMAIL.

", - "enum":[ - "SNS", - "EMAIL" - ] - }, - "ThresholdType":{ - "type":"string", - "documentation":"

The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.

", - "enum":[ - "PERCENTAGE", - "ABSOLUTE_VALUE" - ] - }, - "TimePeriod":{ - "type":"structure", - "members":{ - "Start":{ - "shape":"GenericTimestamp", - "documentation":"

The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (i.e. DAILY, MONTHLY, QUARTERLY, ANNUALLY). For example, if you created your budget on January 24th 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.

" - }, - "End":{ - "shape":"GenericTimestamp", - "documentation":"

The end date for a budget. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

" - } - }, - "documentation":"

The period of time covered by a budget. Has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

" - }, - "TimeUnit":{ - "type":"string", - "documentation":"

The time unit of the budget. e.g. MONTHLY, QUARTERLY, etc.

", - "enum":[ - "DAILY", - "MONTHLY", - "QUARTERLY", - "ANNUALLY" - ] - }, - "UnitValue":{ - "type":"string", - "documentation":"

A string to represent budget spend unit. It should be not null and not empty.

", - "min":1 - }, - "UpdateBudgetRequest":{ - "type":"structure", - "required":[ - "AccountId", - "NewBudget" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget that you want to update.

" - }, - "NewBudget":{ - "shape":"Budget", - "documentation":"

The budget that you want to update your budget to.

" - } - }, - "documentation":"

Request of UpdateBudget

" - }, - "UpdateBudgetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of UpdateBudget

" - }, - "UpdateNotificationRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "OldNotification", - "NewNotification" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose notification you want to update.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose notification you want to update.

" - }, - "OldNotification":{ - "shape":"Notification", - "documentation":"

The previous notification associated with a budget.

" - }, - "NewNotification":{ - "shape":"Notification", - "documentation":"

The updated notification to be associated with a budget.

" - } - }, - "documentation":"

Request of UpdateNotification

" - }, - "UpdateNotificationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of UpdateNotification

" - }, - "UpdateSubscriberRequest":{ - "type":"structure", - "required":[ - "AccountId", - "BudgetName", - "Notification", - "OldSubscriber", - "NewSubscriber" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The accountId that is associated with the budget whose subscriber you want to update.

" - }, - "BudgetName":{ - "shape":"BudgetName", - "documentation":"

The name of the budget whose subscriber you want to update.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The notification whose subscriber you want to update.

" - }, - "OldSubscriber":{ - "shape":"Subscriber", - "documentation":"

The previous subscriber associated with a budget notification.

" - }, - "NewSubscriber":{ - "shape":"Subscriber", - "documentation":"

The updated subscriber associated with a budget notification.

" - } - }, - "documentation":"

Request of UpdateSubscriber

" - }, - "UpdateSubscriberResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response of UpdateSubscriber

" - }, - "errorMessage":{ - "type":"string", - "documentation":"

The error message the exception carries.

" - } - }, - "documentation":"

Budgets enable you to plan your service usage, service costs, and your RI utilization. You can also track how close your plan is to your budgeted amount or to the free tier limits. Budgets provide you with a quick way to see your usage-to-date and current estimated charges from AWS and to see how much your predicted usage accrues in charges by the end of the month. Budgets also compare current estimates and charges to the amount that you indicated you want to use or spend and lets you see how much of your budget has been used. AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, and refunds. You can create the following types of budgets:

  • Cost budgets allow you to say how much you want to spend on a service.

  • Usage budgets allow you to say how many hours you want to use for one or more services.

  • RI utilization budgets allow you to define a utilization threshold and receive alerts when RIs are tracking below that threshold.

You can create up to 20,000 budgets per AWS master account. Your first two budgets are free of charge. Each additional budget costs $0.02 per day. You can set up optional notifications that warn you if you exceed, or are forecasted to exceed, your budgeted amount. You can have notifications sent to an Amazon SNS topic, to an email address, or to both. For more information, see Creating an Amazon SNS Topic for Budget Notifications. AWS Free Tier usage alerts via AWS Budgets are provided for you, and do not count toward your budget limits.

Service Endpoint

The AWS Budgets API provides the following endpoint:

  • https://budgets.amazonaws.com

For information about costs associated with the AWS Budgets API, see AWS Cost Management Pricing.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/service-2.json deleted file mode 100644 index edd511dc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ce/2017-10-25/service-2.json +++ /dev/null @@ -1,1303 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-25", - "endpointPrefix":"ce", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWS Cost Explorer", - "serviceFullName":"AWS Cost Explorer Service", - "serviceId":"Cost Explorer", - "signatureVersion":"v4", - "signingName":"ce", - "targetPrefix":"AWSInsightsIndexService", - "uid":"ce-2017-10-25" - }, - "operations":{ - "GetCostAndUsage":{ - "name":"GetCostAndUsage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCostAndUsageRequest"}, - "output":{"shape":"GetCostAndUsageResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"BillExpirationException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"RequestChangedException"} - ], - "documentation":"

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts.

" - }, - "GetDimensionValues":{ - "name":"GetDimensionValues", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDimensionValuesRequest"}, - "output":{"shape":"GetDimensionValuesResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"BillExpirationException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"RequestChangedException"} - ], - "documentation":"

Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.

" - }, - "GetReservationCoverage":{ - "name":"GetReservationCoverage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservationCoverageRequest"}, - "output":{"shape":"GetReservationCoverageResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves the reservation coverage for your account. This allows you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. For any time period, you can filter data about reservation usage by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

To determine valid values for a dimension, use the GetDimensionValues operation.

" - }, - "GetReservationPurchaseRecommendation":{ - "name":"GetReservationPurchaseRecommendation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservationPurchaseRecommendationRequest"}, - "output":{"shape":"GetReservationPurchaseRecommendationResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

For example, AWS automatically aggregates your EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units so that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large, because that is the smallest size instance in the c4 instance family.

" - }, - "GetReservationUtilization":{ - "name":"GetReservationUtilization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservationUtilizationRequest"}, - "output":{"shape":"GetReservationUtilizationResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

" - }, - "GetTags":{ - "name":"GetTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTagsRequest"}, - "output":{"shape":"GetTagsResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"BillExpirationException"}, - {"shape":"DataUnavailableException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"RequestChangedException"} - ], - "documentation":"

Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

" - } - }, - "shapes":{ - "AccountScope":{ - "type":"string", - "enum":[ - "PAYER", - "LINKED" - ] - }, - "AmortizedRecurringFee":{"type":"string"}, - "AmortizedUpfrontFee":{"type":"string"}, - "AttributeType":{"type":"string"}, - "AttributeValue":{"type":"string"}, - "Attributes":{ - "type":"map", - "key":{"shape":"AttributeType"}, - "value":{"shape":"AttributeValue"} - }, - "BillExpirationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The requested report expired. Update the date interval and try again.

", - "exception":true - }, - "Context":{ - "type":"string", - "enum":[ - "COST_AND_USAGE", - "RESERVATIONS" - ] - }, - "Coverage":{ - "type":"structure", - "members":{ - "CoverageHours":{ - "shape":"CoverageHours", - "documentation":"

The amount of instance usage that a reservation covered, in hours.

" - } - }, - "documentation":"

The amount of instance usage that a reservation covered.

" - }, - "CoverageByTime":{ - "type":"structure", - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The period over which this coverage was used.

" - }, - "Groups":{ - "shape":"ReservationCoverageGroups", - "documentation":"

The groups of instances that are covered by a reservation.

" - }, - "Total":{ - "shape":"Coverage", - "documentation":"

The total reservation coverage, in hours.

" - } - }, - "documentation":"

Reservation coverage for a specified period, in hours.

" - }, - "CoverageHours":{ - "type":"structure", - "members":{ - "OnDemandHours":{ - "shape":"OnDemandHours", - "documentation":"

The number of instance running hours that are covered by On-Demand Instances.

" - }, - "ReservedHours":{ - "shape":"ReservedHours", - "documentation":"

The number of instance running hours that are covered by reservations.

" - }, - "TotalRunningHours":{ - "shape":"TotalRunningHours", - "documentation":"

The total instance usage, in hours.

" - }, - "CoverageHoursPercentage":{ - "shape":"CoverageHoursPercentage", - "documentation":"

The percentage of instance hours that are covered by a reservation.

" - } - }, - "documentation":"

How long a running instance either used a reservation or was On-Demand.

" - }, - "CoverageHoursPercentage":{"type":"string"}, - "CoveragesByTime":{ - "type":"list", - "member":{"shape":"CoverageByTime"} - }, - "DataUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The requested data is unavailable.

", - "exception":true - }, - "DateInterval":{ - "type":"structure", - "required":[ - "Start", - "End" - ], - "members":{ - "Start":{ - "shape":"YearMonthDay", - "documentation":"

The beginning of the time period that you want the usage and costs for. The start date is inclusive. For example, if start is 2017-01-01, AWS retrieves cost and usage data starting at 2017-01-01 up to the end date.

" - }, - "End":{ - "shape":"YearMonthDay", - "documentation":"

The end of the time period that you want the usage and costs for. The end date is exclusive. For example, if end is 2017-05-01, AWS retrieves cost and usage data from the start date up to, but not including, 2017-05-01.

" - } - }, - "documentation":"

The time period that you want the usage and costs for.

" - }, - "Dimension":{ - "type":"string", - "enum":[ - "AZ", - "INSTANCE_TYPE", - "LINKED_ACCOUNT", - "OPERATION", - "PURCHASE_TYPE", - "REGION", - "SERVICE", - "USAGE_TYPE", - "USAGE_TYPE_GROUP", - "RECORD_TYPE", - "OPERATING_SYSTEM", - "TENANCY", - "SCOPE", - "PLATFORM", - "SUBSCRIPTION_ID", - "LEGAL_ENTITY_NAME", - "DEPLOYMENT_OPTION", - "DATABASE_ENGINE", - "CACHE_ENGINE", - "INSTANCE_TYPE_FAMILY" - ] - }, - "DimensionValues":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"Dimension", - "documentation":"

The names of the metadata types that you can use to filter and group your results. For example, AZ returns a list of Availability Zones.

" - }, - "Values":{ - "shape":"Values", - "documentation":"

The metadata values that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" - } - }, - "documentation":"

The metadata that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" - }, - "DimensionValuesWithAttributes":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Value", - "documentation":"

The value of a dimension with a specific attribute.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

The attribute that applies to a specific Dimension.

" - } - }, - "documentation":"

The metadata of a specific type that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" - }, - "DimensionValuesWithAttributesList":{ - "type":"list", - "member":{"shape":"DimensionValuesWithAttributes"} - }, - "EC2InstanceDetails":{ - "type":"structure", - "members":{ - "Family":{ - "shape":"GenericString", - "documentation":"

The instance family of the recommended reservation.

" - }, - "InstanceType":{ - "shape":"GenericString", - "documentation":"

The type of instance that AWS recommends.

" - }, - "Region":{ - "shape":"GenericString", - "documentation":"

The AWS Region of the recommended reservation.

" - }, - "AvailabilityZone":{ - "shape":"GenericString", - "documentation":"

The Availability Zone of the recommended reservation.

" - }, - "Platform":{ - "shape":"GenericString", - "documentation":"

The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

" - }, - "Tenancy":{ - "shape":"GenericString", - "documentation":"

Whether the recommended reservation is dedicated or shared.

" - }, - "CurrentGeneration":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommendation is for a current generation instance.

" - }, - "SizeFlexEligible":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommended reservation is size flexible.

" - } - }, - "documentation":"

Details about the EC2 instances that AWS recommends that you purchase.

" - }, - "EC2Specification":{ - "type":"structure", - "members":{ - "OfferingClass":{ - "shape":"OfferingClass", - "documentation":"

Whether you want a recommendation for standard or convertible reservations.

" - } - }, - "documentation":"

The EC2 hardware specifications that you want AWS to provide recommendations for.

" - }, - "ESInstanceDetails":{ - "type":"structure", - "members":{ - "InstanceClass":{ - "shape":"GenericString", - "documentation":"

The class of instance that AWS recommends.

" - }, - "InstanceSize":{ - "shape":"GenericString", - "documentation":"

The size of instance that AWS recommends.

" - }, - "Region":{ - "shape":"GenericString", - "documentation":"

The AWS Region of the recommended reservation.

" - }, - "CurrentGeneration":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommendation is for a current generation instance.

" - }, - "SizeFlexEligible":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommended reservation is size flexible.

" - } - }, - "documentation":"

Details about the ES instances that AWS recommends that you purchase.

" - }, - "ElastiCacheInstanceDetails":{ - "type":"structure", - "members":{ - "Family":{ - "shape":"GenericString", - "documentation":"

The instance family of the recommended reservation.

" - }, - "NodeType":{ - "shape":"GenericString", - "documentation":"

The type of node that AWS recommends.

" - }, - "Region":{ - "shape":"GenericString", - "documentation":"

The AWS Region of the recommended reservation.

" - }, - "ProductDescription":{ - "shape":"GenericString", - "documentation":"

The description of the recommended reservation.

" - }, - "CurrentGeneration":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommendation is for a current generation instance.

" - }, - "SizeFlexEligible":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommended reservation is size flexible.

" - } - }, - "documentation":"

Details about the ElastiCache instances that AWS recommends that you purchase.

" - }, - "Entity":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "Estimated":{"type":"boolean"}, - "Expression":{ - "type":"structure", - "members":{ - "Or":{ - "shape":"Expressions", - "documentation":"

Return results that match either Dimension object.

" - }, - "And":{ - "shape":"Expressions", - "documentation":"

Return results that match both Dimension objects.

" - }, - "Not":{ - "shape":"Expression", - "documentation":"

Return results that don't match a Dimension object.

" - }, - "Dimensions":{ - "shape":"DimensionValues", - "documentation":"

The specific Dimension to use for Expression.

" - }, - "Tags":{ - "shape":"TagValues", - "documentation":"

The specific Tag to use for Expression.

" - } - }, - "documentation":"

Use Expression to filter by cost or by usage. There are two patterns:

  • Simple dimension values - You can set the dimension name and values for the filters that you plan to use. For example, you can filter for INSTANCE_TYPE==m4.xlarge OR INSTANCE_TYPE==c4.large. The Expression for that looks like this:

    { \"Dimensions\": { \"Key\": \"INSTANCE_TYPE\", \"Values\": [ \"m4.xlarge\", “c4.large” ] } }

    The list of dimension values are OR'd together to retrieve cost or usage data. You can create Expression and DimensionValues objects using either with* methods or set* methods in multiple lines.

  • Compound dimension values with logical operations - You can use multiple Expression types and the logical operators AND/OR/NOT to create a list of one or more Expression objects. This allows you to filter on more advanced options. For example, you can filter on ((INSTANCE_TYPE == m4.large OR INSTANCE_TYPE == m3.large) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). The Expression for that looks like this:

    { \"And\": [ {\"Or\": [ {\"Dimensions\": { \"Key\": \"INSTANCE_TYPE\", \"Values\": [ \"m4.x.large\", \"c4.large\" ] }}, {\"Tags\": { \"Key\": \"TagName\", \"Values\": [\"Value1\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\", \"Values\": [\"DataTransfer\"] }}} ] }

    Because each Expression can have only one operator, the service returns an error if more than one is specified. The following example shows an Expression object that creates an error.

    { \"And\": [ ... ], \"DimensionValues\": { \"Dimension\": \"USAGE_TYPE\", \"Values\": [ \"DataTransfer\" ] } }

" - }, - "Expressions":{ - "type":"list", - "member":{"shape":"Expression"} - }, - "GenericBoolean":{"type":"boolean"}, - "GenericString":{"type":"string"}, - "GetCostAndUsageRequest":{ - "type":"structure", - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" - }, - "Granularity":{ - "shape":"Granularity", - "documentation":"

Sets the AWS cost granularity to MONTHLY or DAILY. If Granularity isn't set, the response object doesn't include the Granularity, either MONTHLY or DAILY.

" - }, - "Filter":{ - "shape":"Expression", - "documentation":"

Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated with that account's usage of that service. You can nest Expression objects to define any combination of dimension filters. For more information, see Expression.

" - }, - "Metrics":{ - "shape":"MetricNames", - "documentation":"

Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?.

Valid values are AmortizedCost, BlendedCost, UnblendedCost, and UsageQuantity.

If you return the UsageQuantity metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate usageQuantity across all of EC2, the results aren't meaningful because EC2 compute hours and data transfer are measured in different units (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups.

Metrics is required for GetCostAndUsage requests.

" - }, - "GroupBy":{ - "shape":"GroupDefinitions", - "documentation":"

You can group AWS costs using up to two different groups, either dimensions, tag keys, or both.

When you group by tag key, you get all tag values, including empty strings.

Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, and USAGE_TYPE.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetCostAndUsageResponse":{ - "type":"structure", - "members":{ - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - }, - "GroupDefinitions":{ - "shape":"GroupDefinitions", - "documentation":"

The groups that are specified by the Filter or GroupBy parameters in the request.

" - }, - "ResultsByTime":{ - "shape":"ResultsByTime", - "documentation":"

The time period that is covered by the results in the response.

" - } - } - }, - "GetDimensionValuesRequest":{ - "type":"structure", - "required":[ - "TimePeriod", - "Dimension" - ], - "members":{ - "SearchString":{ - "shape":"SearchString", - "documentation":"

The value that you want to search the filter values for.

" - }, - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" - }, - "Dimension":{ - "shape":"Dimension", - "documentation":"

The name of the dimension. Each Dimension is available for different a Context. For more information, see Context.

" - }, - "Context":{ - "shape":"Context", - "documentation":"

The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE the resulting dimension values can be used in the GetCostAndUsage operation.

If you set the context to COST_AND_USAGE, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

  • INSTANCE_TYPE - The type of EC2 instance. An example is m4.xlarge.

  • LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

  • OPERATION - The action performed. Examples include RunInstance and CreateBucket.

  • PLATFORM - The EC2 operating system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.

  • SERVICE - The AWS service such as Amazon DynamoDB.

  • USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation includes a unit attribute. Examples include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common usage types. An example is EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.

  • RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

  • INSTANCE_TYPE - The type of EC2 instance. An example is m4.xlarge.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • PLATFORM - The EC2 operating system. Examples are Windows or Linux.

  • REGION - The AWS Region.

  • SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

  • TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

  • TENANCY - The tenancy of a resource. Examples are shared or dedicated.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetDimensionValuesResponse":{ - "type":"structure", - "required":[ - "DimensionValues", - "ReturnSize", - "TotalSize" - ], - "members":{ - "DimensionValues":{ - "shape":"DimensionValuesWithAttributesList", - "documentation":"

The filters that you used to filter your request. Some dimensions are available only for a specific context:

If you set the context to COST_AND_USAGE, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

  • INSTANCE_TYPE - The type of EC2 instance. An example is m4.xlarge.

  • LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

  • OPERATION - The action performed. Examples include RunInstance and CreateBucket.

  • PLATFORM - The EC2 operating system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.

  • SERVICE - The AWS service such as Amazon DynamoDB.

  • USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation includes a unit attribute. Examples include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common usage types. An example is EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.

  • RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

  • INSTANCE_TYPE - The type of EC2 instance. An example is m4.xlarge.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • PLATFORM - The EC2 operating system. Examples are Windows or Linux.

  • REGION - The AWS Region.

  • SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

  • TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

  • TENANCY - The tenancy of a resource. Examples are shared or dedicated.

" - }, - "ReturnSize":{ - "shape":"PageSize", - "documentation":"

The number of results that AWS returned at one time.

" - }, - "TotalSize":{ - "shape":"PageSize", - "documentation":"

The total number of search results.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetReservationCoverageRequest":{ - "type":"structure", - "required":["TimePeriod"], - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The start and end dates of the period for which you want to retrieve data about reservation coverage. You can retrieve data for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" - }, - "GroupBy":{ - "shape":"GroupDefinitions", - "documentation":"

You can group the data by the following attributes:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • TAG

  • TENANCY

" - }, - "Granularity":{ - "shape":"Granularity", - "documentation":"

The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY.

" - }, - "Filter":{ - "shape":"Expression", - "documentation":"

Filters utilization data by dimensions. You can filter by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

GetReservationCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR'd together.

If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - }, - "documentation":"

You can use the following request parameters to query for how much of your instance usage is covered by a reservation.

" - }, - "GetReservationCoverageResponse":{ - "type":"structure", - "required":["CoveragesByTime"], - "members":{ - "CoveragesByTime":{ - "shape":"CoveragesByTime", - "documentation":"

The amount of time that your reservations covered.

" - }, - "Total":{ - "shape":"Coverage", - "documentation":"

The total amount of instance usage that is covered by a reservation.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetReservationPurchaseRecommendationRequest":{ - "type":"structure", - "required":["Service"], - "members":{ - "AccountId":{ - "shape":"GenericString", - "documentation":"

The account ID that is associated with the recommendation.

" - }, - "Service":{ - "shape":"GenericString", - "documentation":"

The specific service that you want recommendations for.

" - }, - "AccountScope":{ - "shape":"AccountScope", - "documentation":"

The account scope that you want recommendations for. PAYER means that AWS includes the master account and any member accounts when it calculates its recommendations. LINKED means that AWS includes only member accounts when it calculates its recommendations.

Valid values are PAYER and LINKED.

" - }, - "LookbackPeriodInDays":{ - "shape":"LookbackPeriodInDays", - "documentation":"

The number of previous days that you want AWS to consider when it calculates your recommendations.

" - }, - "TermInYears":{ - "shape":"TermInYears", - "documentation":"

The reservation term that you want recommendations for.

" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The reservation purchase option that you want recommendations for.

" - }, - "ServiceSpecification":{ - "shape":"ServiceSpecification", - "documentation":"

The hardware specifications for the service instances that you want recommendations for, such as standard or convertible EC2 instances.

" - }, - "PageSize":{ - "shape":"NonNegativeInteger", - "documentation":"

The number of recommendations that you want returned in a single response object.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" - } - } - }, - "GetReservationPurchaseRecommendationResponse":{ - "type":"structure", - "members":{ - "Metadata":{ - "shape":"ReservationPurchaseRecommendationMetadata", - "documentation":"

Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

" - }, - "Recommendations":{ - "shape":"ReservationPurchaseRecommendations", - "documentation":"

Recommendations for reservations to purchase.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The pagination token for the next set of retrievable results.

" - } - } - }, - "GetReservationUtilizationRequest":{ - "type":"structure", - "required":["TimePeriod"], - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

Sets the start and end dates for retrieving Reserved Instance (RI) utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" - }, - "GroupBy":{ - "shape":"GroupDefinitions", - "documentation":"

Groups only by SUBSCRIPTION_ID. Metadata is included.

" - }, - "Granularity":{ - "shape":"Granularity", - "documentation":"

If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY. If both GroupBy and Granularity aren't set, GetReservationUtilization defaults to DAILY.

" - }, - "Filter":{ - "shape":"Expression", - "documentation":"

Filters utilization data by dimensions. You can filter by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • SCOPE

  • TENANCY

GetReservationUtilization uses the same Expression object as the other operations, but only AND is supported among each dimension, and nesting is supported up to only one level deep. If there are multiple values for a dimension, they are OR'd together.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetReservationUtilizationResponse":{ - "type":"structure", - "required":["UtilizationsByTime"], - "members":{ - "UtilizationsByTime":{ - "shape":"UtilizationsByTime", - "documentation":"

The amount of time that you utilized your RIs.

" - }, - "Total":{ - "shape":"ReservationAggregates", - "documentation":"

The total amount of time that you utilized your RIs.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetTagsRequest":{ - "type":"structure", - "required":["TimePeriod"], - "members":{ - "SearchString":{ - "shape":"SearchString", - "documentation":"

The value that you want to search for.

" - }, - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" - }, - "TagKey":{ - "shape":"TagKey", - "documentation":"

The key of the tag that you want to return values for.

" - }, - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - } - } - }, - "GetTagsResponse":{ - "type":"structure", - "required":[ - "Tags", - "ReturnSize", - "TotalSize" - ], - "members":{ - "NextPageToken":{ - "shape":"NextPageToken", - "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags that match your request.

" - }, - "ReturnSize":{ - "shape":"PageSize", - "documentation":"

The number of query results that AWS returns at a time.

" - }, - "TotalSize":{ - "shape":"PageSize", - "documentation":"

The total number of query results.

" - } - } - }, - "Granularity":{ - "type":"string", - "enum":[ - "DAILY", - "MONTHLY" - ] - }, - "Group":{ - "type":"structure", - "members":{ - "Keys":{ - "shape":"Keys", - "documentation":"

The keys that are included in this group.

" - }, - "Metrics":{ - "shape":"Metrics", - "documentation":"

The metrics that are included in this group.

" - } - }, - "documentation":"

One level of grouped data within the results.

" - }, - "GroupDefinition":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"GroupDefinitionType", - "documentation":"

The string that represents the type of group.

" - }, - "Key":{ - "shape":"GroupDefinitionKey", - "documentation":"

The string that represents a key for a specified group.

" - } - }, - "documentation":"

Represents a group when you specify a group by criteria, or in the response to a query with a specific grouping.

" - }, - "GroupDefinitionKey":{"type":"string"}, - "GroupDefinitionType":{ - "type":"string", - "enum":[ - "DIMENSION", - "TAG" - ] - }, - "GroupDefinitions":{ - "type":"list", - "member":{"shape":"GroupDefinition"} - }, - "Groups":{ - "type":"list", - "member":{"shape":"Group"} - }, - "InstanceDetails":{ - "type":"structure", - "members":{ - "EC2InstanceDetails":{ - "shape":"EC2InstanceDetails", - "documentation":"

The EC2 instances that AWS recommends that you purchase.

" - }, - "RDSInstanceDetails":{ - "shape":"RDSInstanceDetails", - "documentation":"

The RDS instances that AWS recommends that you purchase.

" - }, - "RedshiftInstanceDetails":{ - "shape":"RedshiftInstanceDetails", - "documentation":"

The Amazon Redshift instances that AWS recommends that you purchase.

" - }, - "ElastiCacheInstanceDetails":{ - "shape":"ElastiCacheInstanceDetails", - "documentation":"

The ElastiCache instances that AWS recommends that you purchase.

" - }, - "ESInstanceDetails":{ - "shape":"ESInstanceDetails", - "documentation":"

The Amazon ES instances that AWS recommends that you purchase.

" - } - }, - "documentation":"

Details about the instances that AWS recommends that you purchase.

" - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The pagination token is invalid. Try again without a pagination token.

", - "exception":true - }, - "Key":{"type":"string"}, - "Keys":{ - "type":"list", - "member":{"shape":"Key"} - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You made too many calls in a short period of time. Try again later.

", - "exception":true - }, - "LookbackPeriodInDays":{ - "type":"string", - "enum":[ - "SEVEN_DAYS", - "THIRTY_DAYS", - "SIXTY_DAYS" - ] - }, - "MetricAmount":{"type":"string"}, - "MetricName":{"type":"string"}, - "MetricNames":{ - "type":"list", - "member":{"shape":"MetricName"} - }, - "MetricUnit":{"type":"string"}, - "MetricValue":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"MetricAmount", - "documentation":"

The actual number that represents the metric.

" - }, - "Unit":{ - "shape":"MetricUnit", - "documentation":"

The unit that the metric is given in.

" - } - }, - "documentation":"

The aggregated value for a metric.

" - }, - "Metrics":{ - "type":"map", - "key":{"shape":"MetricName"}, - "value":{"shape":"MetricValue"} - }, - "NetRISavings":{"type":"string"}, - "NextPageToken":{"type":"string"}, - "NonNegativeInteger":{ - "type":"integer", - "min":0 - }, - "OfferingClass":{ - "type":"string", - "enum":[ - "STANDARD", - "CONVERTIBLE" - ] - }, - "OnDemandCostOfRIHoursUsed":{"type":"string"}, - "OnDemandHours":{"type":"string"}, - "PageSize":{"type":"integer"}, - "PaymentOption":{ - "type":"string", - "enum":[ - "NO_UPFRONT", - "PARTIAL_UPFRONT", - "ALL_UPFRONT", - "LIGHT_UTILIZATION", - "MEDIUM_UTILIZATION", - "HEAVY_UTILIZATION" - ] - }, - "PurchasedHours":{"type":"string"}, - "RDSInstanceDetails":{ - "type":"structure", - "members":{ - "Family":{ - "shape":"GenericString", - "documentation":"

The instance family of the recommended reservation.

" - }, - "InstanceType":{ - "shape":"GenericString", - "documentation":"

The type of instance that AWS recommends.

" - }, - "Region":{ - "shape":"GenericString", - "documentation":"

The AWS Region of the recommended reservation.

" - }, - "DatabaseEngine":{ - "shape":"GenericString", - "documentation":"

The database engine that the recommended reservation supports.

" - }, - "DatabaseEdition":{ - "shape":"GenericString", - "documentation":"

The database edition that the recommended reservation supports.

" - }, - "DeploymentOption":{ - "shape":"GenericString", - "documentation":"

Whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

" - }, - "LicenseModel":{ - "shape":"GenericString", - "documentation":"

The license model that the recommended reservation supports.

" - }, - "CurrentGeneration":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommendation is for a current generation instance.

" - }, - "SizeFlexEligible":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommended reservation is size flexible.

" - } - }, - "documentation":"

Details about the RDS instances that AWS recommends that you purchase.

" - }, - "RedshiftInstanceDetails":{ - "type":"structure", - "members":{ - "Family":{ - "shape":"GenericString", - "documentation":"

The instance family of the recommended reservation.

" - }, - "NodeType":{ - "shape":"GenericString", - "documentation":"

The type of node that AWS recommends.

" - }, - "Region":{ - "shape":"GenericString", - "documentation":"

The AWS Region of the recommended reservation.

" - }, - "CurrentGeneration":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommendation is for a current generation instance.

" - }, - "SizeFlexEligible":{ - "shape":"GenericBoolean", - "documentation":"

Whether the recommended reservation is size flexible.

" - } - }, - "documentation":"

Details about the Amazon Redshift instances that AWS recommends that you purchase.

" - }, - "RequestChangedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Your request parameters changed between pages. Try again with the old parameters or without a pagination token.

", - "exception":true - }, - "ReservationAggregates":{ - "type":"structure", - "members":{ - "UtilizationPercentage":{ - "shape":"UtilizationPercentage", - "documentation":"

The percentage of RI time that you used.

" - }, - "PurchasedHours":{ - "shape":"PurchasedHours", - "documentation":"

How many RI hours that you purchased.

" - }, - "TotalActualHours":{ - "shape":"TotalActualHours", - "documentation":"

The total number of RI hours that you used.

" - }, - "UnusedHours":{ - "shape":"UnusedHours", - "documentation":"

The number of RI hours that you didn't use.

" - }, - "OnDemandCostOfRIHoursUsed":{ - "shape":"OnDemandCostOfRIHoursUsed", - "documentation":"

How much your RIs would cost if charged On-Demand rates.

" - }, - "NetRISavings":{ - "shape":"NetRISavings", - "documentation":"

How much you saved due to purchasing and utilizing RIs. AWS calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed.

" - }, - "TotalPotentialRISavings":{ - "shape":"TotalPotentialRISavings", - "documentation":"

How much you could save if you use your entire reservation.

" - }, - "AmortizedUpfrontFee":{ - "shape":"AmortizedUpfrontFee", - "documentation":"

The upfront cost of your RI, amortized over the RI period.

" - }, - "AmortizedRecurringFee":{ - "shape":"AmortizedRecurringFee", - "documentation":"

The monthly cost of your RI, amortized over the RI period.

" - }, - "TotalAmortizedFee":{ - "shape":"TotalAmortizedFee", - "documentation":"

The total cost of your RI, amortized over the RI period.

" - } - }, - "documentation":"

The aggregated numbers for your Reserved Instance (RI) usage.

" - }, - "ReservationCoverageGroup":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"Attributes", - "documentation":"

The attributes for this group of reservations.

" - }, - "Coverage":{ - "shape":"Coverage", - "documentation":"

How much instance usage this group of reservations covered.

" - } - }, - "documentation":"

A group of reservations that share a set of attributes.

" - }, - "ReservationCoverageGroups":{ - "type":"list", - "member":{"shape":"ReservationCoverageGroup"} - }, - "ReservationGroupKey":{"type":"string"}, - "ReservationGroupValue":{"type":"string"}, - "ReservationPurchaseRecommendation":{ - "type":"structure", - "members":{ - "AccountScope":{ - "shape":"AccountScope", - "documentation":"

The account scope that AWS recommends that you purchase this instance for. For example, you can purchase this reservation for an entire organization in AWS Organizations.

" - }, - "LookbackPeriodInDays":{ - "shape":"LookbackPeriodInDays", - "documentation":"

How many days of previous usage that AWS considers when making this recommendation.

" - }, - "TermInYears":{ - "shape":"TermInYears", - "documentation":"

The term of the reservation that you want recommendations for, in years.

" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option for the reservation. For example, AllUpfront or NoUpfront.

" - }, - "ServiceSpecification":{ - "shape":"ServiceSpecification", - "documentation":"

Hardware specifications for the service that you want recommendations for.

" - }, - "RecommendationDetails":{ - "shape":"ReservationPurchaseRecommendationDetails", - "documentation":"

Details about the recommended purchases.

" - }, - "RecommendationSummary":{ - "shape":"ReservationPurchaseRecommendationSummary", - "documentation":"

A summary about the recommended purchase.

" - } - }, - "documentation":"

A specific reservation that AWS recommends for purchase.

" - }, - "ReservationPurchaseRecommendationDetail":{ - "type":"structure", - "members":{ - "InstanceDetails":{ - "shape":"InstanceDetails", - "documentation":"

Details about the instances that AWS recommends that you purchase.

" - }, - "RecommendedNumberOfInstancesToPurchase":{ - "shape":"GenericString", - "documentation":"

The number of instances that AWS recommends that you purchase.

" - }, - "RecommendedNormalizedUnitsToPurchase":{ - "shape":"GenericString", - "documentation":"

The number of normalized units that AWS recommends that you purchase.

" - }, - "MinimumNumberOfInstancesUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The minimum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "MinimumNormalizedUnitsUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The minimum number of hours that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "MaximumNumberOfInstancesUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The maximum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "MaximumNormalizedUnitsUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The maximum number of normalized units that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "AverageNumberOfInstancesUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The average number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "AverageNormalizedUnitsUsedPerHour":{ - "shape":"GenericString", - "documentation":"

The average number of normalized units that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" - }, - "AverageUtilization":{ - "shape":"GenericString", - "documentation":"

The average utilization of your instances. AWS uses this to calculate your recommended reservation purchases.

" - }, - "EstimatedBreakEvenInMonths":{ - "shape":"GenericString", - "documentation":"

How long AWS estimates that it takes for this instance to start saving you money, in months.

" - }, - "CurrencyCode":{ - "shape":"GenericString", - "documentation":"

The currency code that AWS used to calculate the costs for this instance.

" - }, - "EstimatedMonthlySavingsAmount":{ - "shape":"GenericString", - "documentation":"

How much AWS estimates that this specific recommendation could save you in a month.

" - }, - "EstimatedMonthlySavingsPercentage":{ - "shape":"GenericString", - "documentation":"

How much AWS estimates that this specific recommendation could save you in a month, as a percentage of your overall costs.

" - }, - "EstimatedMonthlyOnDemandCost":{ - "shape":"GenericString", - "documentation":"

How much AWS estimates that you spend on On-Demand Instances in a month.

" - }, - "EstimatedReservationCostForLookbackPeriod":{ - "shape":"GenericString", - "documentation":"

How much AWS estimates that you would have spent for all usage during the specified historical period if you had had a reservation.

" - }, - "UpfrontCost":{ - "shape":"GenericString", - "documentation":"

How much purchasing this instance costs you upfront.

" - }, - "RecurringStandardMonthlyCost":{ - "shape":"GenericString", - "documentation":"

How much purchasing this instance costs you on a monthly basis.

" - } - }, - "documentation":"

Details about your recommended reservation purchase.

" - }, - "ReservationPurchaseRecommendationDetails":{ - "type":"list", - "member":{"shape":"ReservationPurchaseRecommendationDetail"} - }, - "ReservationPurchaseRecommendationMetadata":{ - "type":"structure", - "members":{ - "RecommendationId":{ - "shape":"GenericString", - "documentation":"

The ID for this specific recommendation.

" - }, - "GenerationTimestamp":{ - "shape":"GenericString", - "documentation":"

The time stamp for when AWS made this recommendation.

" - } - }, - "documentation":"

Information about this specific recommendation, such as the time stamp for when AWS made a specific recommendation.

" - }, - "ReservationPurchaseRecommendationSummary":{ - "type":"structure", - "members":{ - "TotalEstimatedMonthlySavingsAmount":{ - "shape":"GenericString", - "documentation":"

The total amount that AWS estimates that this recommendation could save you in a month.

" - }, - "TotalEstimatedMonthlySavingsPercentage":{ - "shape":"GenericString", - "documentation":"

The total amount that AWS estimates that this recommendation could save you in a month, as a percentage of your costs.

" - }, - "CurrencyCode":{ - "shape":"GenericString", - "documentation":"

The currency code used for this recommendation.

" - } - }, - "documentation":"

A summary about this recommendation, such as the currency code, the amount that AWS estimates that you could save, and the total amount of reservation to purchase.

" - }, - "ReservationPurchaseRecommendations":{ - "type":"list", - "member":{"shape":"ReservationPurchaseRecommendation"} - }, - "ReservationUtilizationGroup":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"ReservationGroupKey", - "documentation":"

The key for a specific RI attribute.

" - }, - "Value":{ - "shape":"ReservationGroupValue", - "documentation":"

The value of a specific RI attribute.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

The attributes for this group of RIs.

" - }, - "Utilization":{ - "shape":"ReservationAggregates", - "documentation":"

How much you used this group of RIs.

" - } - }, - "documentation":"

A group of Reserved Instances (RIs) that share a set of attributes.

" - }, - "ReservationUtilizationGroups":{ - "type":"list", - "member":{"shape":"ReservationUtilizationGroup"} - }, - "ReservedHours":{"type":"string"}, - "ResultByTime":{ - "type":"structure", - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The time period covered by a result.

" - }, - "Total":{ - "shape":"Metrics", - "documentation":"

The total amount of cost or usage accrued during the time period.

" - }, - "Groups":{ - "shape":"Groups", - "documentation":"

The groups that are included in this time period.

" - }, - "Estimated":{ - "shape":"Estimated", - "documentation":"

Whether this result is estimated.

" - } - }, - "documentation":"

The result that is associated with a time period.

" - }, - "ResultsByTime":{ - "type":"list", - "member":{"shape":"ResultByTime"} - }, - "SearchString":{"type":"string"}, - "ServiceSpecification":{ - "type":"structure", - "members":{ - "EC2Specification":{ - "shape":"EC2Specification", - "documentation":"

The EC2 hardware specifications that you want AWS to provide recommendations for.

" - } - }, - "documentation":"

Hardware specifications for the service that you want recommendations for.

" - }, - "TagKey":{"type":"string"}, - "TagList":{ - "type":"list", - "member":{"shape":"Entity"} - }, - "TagValues":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key for a tag.

" - }, - "Values":{ - "shape":"Values", - "documentation":"

The specific value of a tag.

" - } - }, - "documentation":"

The values that are available for a tag.

" - }, - "TermInYears":{ - "type":"string", - "enum":[ - "ONE_YEAR", - "THREE_YEARS" - ] - }, - "TotalActualHours":{"type":"string"}, - "TotalAmortizedFee":{"type":"string"}, - "TotalPotentialRISavings":{"type":"string"}, - "TotalRunningHours":{"type":"string"}, - "UnusedHours":{"type":"string"}, - "UtilizationByTime":{ - "type":"structure", - "members":{ - "TimePeriod":{ - "shape":"DateInterval", - "documentation":"

The period of time over which this utilization was used.

" - }, - "Groups":{ - "shape":"ReservationUtilizationGroups", - "documentation":"

The groups that are included in this utilization result.

" - }, - "Total":{ - "shape":"ReservationAggregates", - "documentation":"

The total number of RI hours that were used.

" - } - }, - "documentation":"

The amount of utilization, in hours.

" - }, - "UtilizationPercentage":{"type":"string"}, - "UtilizationsByTime":{ - "type":"list", - "member":{"shape":"UtilizationByTime"} - }, - "Value":{"type":"string"}, - "Values":{ - "type":"list", - "member":{"shape":"Value"} - }, - "YearMonthDay":{ - "type":"string", - "pattern":"\\d{4}-\\d{2}-\\d{2}" - } - }, - "documentation":"

The Cost Explorer API allows you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

  • https://ce.us-east-1.amazonaws.com

For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/paginators-1.json deleted file mode 100644 index 1c4c2ff5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "DescribeEnvironmentMemberships": { - "result_key": "memberships", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListEnvironments": { - "result_key": "environmentIds", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/service-2.json deleted file mode 100644 index 46ef6d69..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloud9/2017-09-23/service-2.json +++ /dev/null @@ -1,696 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-23", - "endpointPrefix":"cloud9", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Cloud9", - "serviceId":"Cloud9", - "signatureVersion":"v4", - "targetPrefix":"AWSCloud9WorkspaceManagementService", - "uid":"cloud9-2017-09-23" - }, - "operations":{ - "CreateEnvironmentEC2":{ - "name":"CreateEnvironmentEC2", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEnvironmentEC2Request"}, - "output":{"shape":"CreateEnvironmentEC2Result"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment.

", - "idempotent":true - }, - "CreateEnvironmentMembership":{ - "name":"CreateEnvironmentMembership", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEnvironmentMembershipRequest"}, - "output":{"shape":"CreateEnvironmentMembershipResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Adds an environment member to an AWS Cloud9 development environment.

", - "idempotent":true - }, - "DeleteEnvironment":{ - "name":"DeleteEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEnvironmentRequest"}, - "output":{"shape":"DeleteEnvironmentResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

", - "idempotent":true - }, - "DeleteEnvironmentMembership":{ - "name":"DeleteEnvironmentMembership", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEnvironmentMembershipRequest"}, - "output":{"shape":"DeleteEnvironmentMembershipResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Deletes an environment member from an AWS Cloud9 development environment.

", - "idempotent":true - }, - "DescribeEnvironmentMemberships":{ - "name":"DescribeEnvironmentMemberships", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentMembershipsRequest"}, - "output":{"shape":"DescribeEnvironmentMembershipsResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Gets information about environment members for an AWS Cloud9 development environment.

" - }, - "DescribeEnvironmentStatus":{ - "name":"DescribeEnvironmentStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentStatusRequest"}, - "output":{"shape":"DescribeEnvironmentStatusResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Gets status information for an AWS Cloud9 development environment.

" - }, - "DescribeEnvironments":{ - "name":"DescribeEnvironments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentsRequest"}, - "output":{"shape":"DescribeEnvironmentsResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Gets information about AWS Cloud9 development environments.

" - }, - "ListEnvironments":{ - "name":"ListEnvironments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEnvironmentsRequest"}, - "output":{"shape":"ListEnvironmentsResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Gets a list of AWS Cloud9 development environment identifiers.

" - }, - "UpdateEnvironment":{ - "name":"UpdateEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEnvironmentRequest"}, - "output":{"shape":"UpdateEnvironmentResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Changes the settings of an existing AWS Cloud9 development environment.

", - "idempotent":true - }, - "UpdateEnvironmentMembership":{ - "name":"UpdateEnvironmentMembership", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEnvironmentMembershipRequest"}, - "output":{"shape":"UpdateEnvironmentMembershipResult"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ConflictException"}, - {"shape":"NotFoundException"}, - {"shape":"ForbiddenException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Changes the settings of an existing environment member for an AWS Cloud9 development environment.

", - "idempotent":true - } - }, - "shapes":{ - "AutomaticStopTimeMinutes":{ - "type":"integer", - "box":true, - "max":20160 - }, - "BadRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The target request is invalid.

", - "exception":true - }, - "BoundedEnvironmentIdList":{ - "type":"list", - "member":{"shape":"EnvironmentId"}, - "max":25, - "min":1 - }, - "ClientRequestToken":{ - "type":"string", - "pattern":"[\\x20-\\x7E]{10,128}" - }, - "ConflictException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A conflict occurred.

", - "exception":true - }, - "CreateEnvironmentEC2Request":{ - "type":"structure", - "required":[ - "name", - "instanceType" - ], - "members":{ - "name":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to create.

This name is visible to other AWS IAM users in the same AWS account.

" - }, - "description":{ - "shape":"EnvironmentDescription", - "documentation":"

The description of the environment to create.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time.

For more information, see Client Tokens in the Amazon EC2 API Reference.

" - }, - "instanceType":{ - "shape":"InstanceType", - "documentation":"

The type of instance to connect to the environment (for example, t2.micro).

" - }, - "subnetId":{ - "shape":"SubnetId", - "documentation":"

The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazon EC2 instance.

" - }, - "automaticStopTimeMinutes":{ - "shape":"AutomaticStopTimeMinutes", - "documentation":"

The number of minutes until the running instance is shut down after the environment has last been used.

" - }, - "ownerArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS IAM principal. If this value is not specified, the ARN defaults to this environment's creator.

" - } - } - }, - "CreateEnvironmentEC2Result":{ - "type":"structure", - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment that was created.

" - } - } - }, - "CreateEnvironmentMembershipRequest":{ - "type":"structure", - "required":[ - "environmentId", - "userArn", - "permissions" - ], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment that contains the environment member you want to add.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the environment member you want to add.

" - }, - "permissions":{ - "shape":"MemberPermissions", - "documentation":"

The type of environment member permissions you want to associate with this environment member. Available values include:

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" - } - } - }, - "CreateEnvironmentMembershipResult":{ - "type":"structure", - "members":{ - "membership":{ - "shape":"EnvironmentMember", - "documentation":"

Information about the environment member that was added.

" - } - } - }, - "DeleteEnvironmentMembershipRequest":{ - "type":"structure", - "required":[ - "environmentId", - "userArn" - ], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to delete the environment member from.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the environment member to delete from the environment.

" - } - } - }, - "DeleteEnvironmentMembershipResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteEnvironmentRequest":{ - "type":"structure", - "required":["environmentId"], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to delete.

" - } - } - }, - "DeleteEnvironmentResult":{ - "type":"structure", - "members":{ - } - }, - "DescribeEnvironmentMembershipsRequest":{ - "type":"structure", - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of an individual environment member to get information about. If no value is specified, information about all environment members are returned.

" - }, - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to get environment member information about.

" - }, - "permissions":{ - "shape":"PermissionsList", - "documentation":"

The type of environment member permissions to get information about. Available values include:

  • owner: Owns the environment.

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

If no value is specified, information about all environment members are returned.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of environment members to get information about.

" - } - } - }, - "DescribeEnvironmentMembershipsResult":{ - "type":"structure", - "members":{ - "memberships":{ - "shape":"EnvironmentMembersList", - "documentation":"

Information about the environment members for the environment.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" - } - } - }, - "DescribeEnvironmentStatusRequest":{ - "type":"structure", - "required":["environmentId"], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to get status information about.

" - } - } - }, - "DescribeEnvironmentStatusResult":{ - "type":"structure", - "members":{ - "status":{ - "shape":"EnvironmentStatus", - "documentation":"

The status of the environment. Available values include:

  • connecting: The environment is connecting.

  • creating: The environment is being created.

  • deleting: The environment is being deleted.

  • error: The environment is in an error state.

  • ready: The environment is ready.

  • stopped: The environment is stopped.

  • stopping: The environment is stopping.

" - }, - "message":{ - "shape":"String", - "documentation":"

Any informational message about the status of the environment.

" - } - } - }, - "DescribeEnvironmentsRequest":{ - "type":"structure", - "required":["environmentIds"], - "members":{ - "environmentIds":{ - "shape":"BoundedEnvironmentIdList", - "documentation":"

The IDs of individual environments to get information about.

" - } - } - }, - "DescribeEnvironmentsResult":{ - "type":"structure", - "members":{ - "environments":{ - "shape":"EnvironmentList", - "documentation":"

Information about the environments that are returned.

" - } - } - }, - "Environment":{ - "type":"structure", - "members":{ - "id":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment.

" - }, - "name":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment.

" - }, - "description":{ - "shape":"EnvironmentDescription", - "documentation":"

The description for the environment.

" - }, - "type":{ - "shape":"EnvironmentType", - "documentation":"

The type of environment. Valid values include the following:

  • ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance connects to the environment.

  • ssh: Your own server connects to the environment.

" - }, - "arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the environment.

" - }, - "ownerArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the environment owner.

" - } - }, - "documentation":"

Information about an AWS Cloud9 development environment.

" - }, - "EnvironmentDescription":{ - "type":"string", - "max":200 - }, - "EnvironmentId":{ - "type":"string", - "pattern":"^[a-zA-Z0-9]{8,32}$" - }, - "EnvironmentIdList":{ - "type":"list", - "member":{"shape":"EnvironmentId"} - }, - "EnvironmentList":{ - "type":"list", - "member":{"shape":"Environment"} - }, - "EnvironmentMember":{ - "type":"structure", - "members":{ - "permissions":{ - "shape":"Permissions", - "documentation":"

The type of environment member permissions associated with this environment member. Available values include:

  • owner: Owns the environment.

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" - }, - "userId":{ - "shape":"String", - "documentation":"

The user ID in AWS Identity and Access Management (AWS IAM) of the environment member.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the environment member.

" - }, - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment for the environment member.

" - }, - "lastAccess":{ - "shape":"Timestamp", - "documentation":"

The time, expressed in epoch time format, when the environment member last opened the environment.

" - } - }, - "documentation":"

Information about an environment member for an AWS Cloud9 development environment.

" - }, - "EnvironmentMembersList":{ - "type":"list", - "member":{"shape":"EnvironmentMember"} - }, - "EnvironmentName":{ - "type":"string", - "max":60, - "min":1 - }, - "EnvironmentStatus":{ - "type":"string", - "enum":[ - "error", - "creating", - "connecting", - "ready", - "stopping", - "stopped", - "deleting" - ] - }, - "EnvironmentType":{ - "type":"string", - "enum":[ - "ssh", - "ec2" - ] - }, - "ForbiddenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An access permissions issue occurred.

", - "exception":true - }, - "InstanceType":{ - "type":"string", - "max":20, - "min":5, - "pattern":"^[a-z][1-9][.][a-z0-9]+$" - }, - "InternalServerErrorException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An internal server error occurred.

", - "exception":true, - "fault":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A service limit was exceeded.

", - "exception":true - }, - "ListEnvironmentsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"String", - "documentation":"

During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of environments to get identifiers for.

" - } - } - }, - "ListEnvironmentsResult":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"String", - "documentation":"

If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" - }, - "environmentIds":{ - "shape":"EnvironmentIdList", - "documentation":"

The list of environment identifiers.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":25, - "min":0 - }, - "MemberPermissions":{ - "type":"string", - "enum":[ - "read-write", - "read-only" - ] - }, - "NotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The target resource cannot be found.

", - "exception":true - }, - "Permissions":{ - "type":"string", - "enum":[ - "owner", - "read-write", - "read-only" - ] - }, - "PermissionsList":{ - "type":"list", - "member":{"shape":"Permissions"} - }, - "String":{"type":"string"}, - "SubnetId":{ - "type":"string", - "max":30, - "min":5 - }, - "Timestamp":{"type":"timestamp"}, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Too many service requests were made over the given time period.

", - "exception":true - }, - "UpdateEnvironmentMembershipRequest":{ - "type":"structure", - "required":[ - "environmentId", - "userArn", - "permissions" - ], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment for the environment member whose settings you want to change.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the environment member whose settings you want to change.

" - }, - "permissions":{ - "shape":"MemberPermissions", - "documentation":"

The replacement type of environment member permissions you want to associate with this environment member. Available values include:

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" - } - } - }, - "UpdateEnvironmentMembershipResult":{ - "type":"structure", - "members":{ - "membership":{ - "shape":"EnvironmentMember", - "documentation":"

Information about the environment member whose settings were changed.

" - } - } - }, - "UpdateEnvironmentRequest":{ - "type":"structure", - "required":["environmentId"], - "members":{ - "environmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to change settings.

" - }, - "name":{ - "shape":"EnvironmentName", - "documentation":"

A replacement name for the environment.

" - }, - "description":{ - "shape":"EnvironmentDescription", - "documentation":"

Any new or replacement description for the environment.

" - } - } - }, - "UpdateEnvironmentResult":{ - "type":"structure", - "members":{ - } - }, - "UserArn":{ - "type":"string", - "pattern":"arn:aws:(iam|sts)::\\d+:\\S+" - } - }, - "documentation":"AWS Cloud9

AWS Cloud9 is a collection of tools that you can use to code, build, run, test, debug, and release software in the cloud.

For more information about AWS Cloud9, see the AWS Cloud9 User Guide.

AWS Cloud9 supports these operations:

  • CreateEnvironmentEC2: Creates an AWS Cloud9 development environment, launches an Amazon EC2 instance, and then connects from the instance to the environment.

  • CreateEnvironmentMembership: Adds an environment member to an environment.

  • DeleteEnvironment: Deletes an environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

  • DeleteEnvironmentMembership: Deletes an environment member from an environment.

  • DescribeEnvironmentMemberships: Gets information about environment members for an environment.

  • DescribeEnvironments: Gets information about environments.

  • DescribeEnvironmentStatus: Gets status information for an environment.

  • ListEnvironments: Gets a list of environment identifiers.

  • UpdateEnvironment: Changes the settings of an existing environment.

  • UpdateEnvironmentMembership: Changes the settings of an existing environment member for an environment.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/paginators-1.json deleted file mode 100644 index 22cc439e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/paginators-1.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "pagination": { - "ListObjectParentPaths": { - "result_key": "PathToObjectIdentifiersList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListFacetNames": { - "result_key": "FacetNames", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListPublishedSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListDirectories": { - "result_key": "Directories", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListDevelopmentSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTypedLinkFacetNames": { - "result_key": "FacetNames", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListIndex": { - "result_key": "IndexAttachments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListFacetAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListObjectPolicies": { - "result_key": "AttachedPolicyIds", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTagsForResource": { - "result_key": "Tags", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListAttachedIndices": { - "result_key": "IndexAttachments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "LookupPolicy": { - "result_key": "PolicyToPathList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListPolicyAttachments": { - "result_key": "ObjectIdentifiers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListObjectAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListAppliedSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTypedLinkFacetAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/service-2.json deleted file mode 100644 index ca413a04..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2016-05-10/service-2.json +++ /dev/null @@ -1,5924 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-05-10", - "endpointPrefix":"clouddirectory", - "protocol":"rest-json", - "serviceFullName":"Amazon CloudDirectory", - "serviceId":"CloudDirectory", - "signatureVersion":"v4", - "signingName":"clouddirectory", - "uid":"clouddirectory-2016-05-10" - }, - "operations":{ - "AddFacetToObject":{ - "name":"AddFacetToObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/facets", - "responseCode":200 - }, - "input":{"shape":"AddFacetToObjectRequest"}, - "output":{"shape":"AddFacetToObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Adds a new Facet to an object. An object can have more than one facet applied on it.

" - }, - "ApplySchema":{ - "name":"ApplySchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/apply", - "responseCode":200 - }, - "input":{"shape":"ApplySchemaRequest"}, - "output":{"shape":"ApplySchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"} - ], - "documentation":"

Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.

" - }, - "AttachObject":{ - "name":"AttachObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attach", - "responseCode":200 - }, - "input":{"shape":"AttachObjectRequest"}, - "output":{"shape":"AttachObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ValidationException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" - }, - "AttachPolicy":{ - "name":"AttachPolicy", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/attach", - "responseCode":200 - }, - "input":{"shape":"AttachPolicyRequest"}, - "output":{"shape":"AttachPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "AttachToIndex":{ - "name":"AttachToIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index/attach", - "responseCode":200 - }, - "input":{"shape":"AttachToIndexRequest"}, - "output":{"shape":"AttachToIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"IndexedAttributeMissingException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Attaches the specified object to the specified index.

" - }, - "AttachTypedLink":{ - "name":"AttachTypedLink", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attach", - "responseCode":200 - }, - "input":{"shape":"AttachTypedLinkRequest"}, - "output":{"shape":"AttachTypedLinkResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ValidationException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "BatchRead":{ - "name":"BatchRead", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/batchread", - "responseCode":200 - }, - "input":{"shape":"BatchReadRequest"}, - "output":{"shape":"BatchReadResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"} - ], - "documentation":"

Performs all the read operations in a batch.

" - }, - "BatchWrite":{ - "name":"BatchWrite", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/batchwrite", - "responseCode":200 - }, - "input":{"shape":"BatchWriteRequest"}, - "output":{"shape":"BatchWriteResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"BatchWriteException"} - ], - "documentation":"

Performs all the write operations in a batch. Either all the operations succeed or none.

" - }, - "CreateDirectory":{ - "name":"CreateDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/create", - "responseCode":200 - }, - "input":{"shape":"CreateDirectoryRequest"}, - "output":{"shape":"CreateDirectoryResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

" - }, - "CreateFacet":{ - "name":"CreateFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/create", - "responseCode":200 - }, - "input":{"shape":"CreateFacetRequest"}, - "output":{"shape":"CreateFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetAlreadyExistsException"}, - {"shape":"InvalidRuleException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

" - }, - "CreateIndex":{ - "name":"CreateIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index", - "responseCode":200 - }, - "input":{"shape":"CreateIndexRequest"}, - "output":{"shape":"CreateIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"UnsupportedIndexTypeException"} - ], - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "CreateObject":{ - "name":"CreateObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object", - "responseCode":200 - }, - "input":{"shape":"CreateObjectRequest"}, - "output":{"shape":"CreateObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"UnsupportedIndexTypeException"} - ], - "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" - }, - "CreateSchema":{ - "name":"CreateSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/create", - "responseCode":200 - }, - "input":{"shape":"CreateSchemaRequest"}, - "output":{"shape":"CreateSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"SchemaAlreadyExistsException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

" - }, - "CreateTypedLinkFacet":{ - "name":"CreateTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/create", - "responseCode":200 - }, - "input":{"shape":"CreateTypedLinkFacetRequest"}, - "output":{"shape":"CreateTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetAlreadyExistsException"}, - {"shape":"InvalidRuleException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Creates a TypedLinkFacet. For more information, see Typed link.

" - }, - "DeleteDirectory":{ - "name":"DeleteDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory", - "responseCode":200 - }, - "input":{"shape":"DeleteDirectoryRequest"}, - "output":{"shape":"DeleteDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryNotDisabledException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

" - }, - "DeleteFacet":{ - "name":"DeleteFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteFacetRequest"}, - "output":{"shape":"DeleteFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"FacetInUseException"} - ], - "documentation":"

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

" - }, - "DeleteObject":{ - "name":"DeleteObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteObjectRequest"}, - "output":{"shape":"DeleteObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ObjectNotDetachedException"} - ], - "documentation":"

Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted.

" - }, - "DeleteSchema":{ - "name":"DeleteSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema", - "responseCode":200 - }, - "input":{"shape":"DeleteSchemaRequest"}, - "output":{"shape":"DeleteSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"StillContainsLinksException"} - ], - "documentation":"

Deletes a given schema. Schemas in a development and published state can only be deleted.

" - }, - "DeleteTypedLinkFacet":{ - "name":"DeleteTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteTypedLinkFacetRequest"}, - "output":{"shape":"DeleteTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Deletes a TypedLinkFacet. For more information, see Typed link.

" - }, - "DetachFromIndex":{ - "name":"DetachFromIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index/detach", - "responseCode":200 - }, - "input":{"shape":"DetachFromIndexRequest"}, - "output":{"shape":"DetachFromIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ObjectAlreadyDetachedException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Detaches the specified object from the specified index.

" - }, - "DetachObject":{ - "name":"DetachObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/detach", - "responseCode":200 - }, - "input":{"shape":"DetachObjectRequest"}, - "output":{"shape":"DetachObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotNodeException"} - ], - "documentation":"

Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.

" - }, - "DetachPolicy":{ - "name":"DetachPolicy", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/detach", - "responseCode":200 - }, - "input":{"shape":"DetachPolicyRequest"}, - "output":{"shape":"DetachPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Detaches a policy from an object.

" - }, - "DetachTypedLink":{ - "name":"DetachTypedLink", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/detach", - "responseCode":200 - }, - "input":{"shape":"DetachTypedLinkRequest"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "DisableDirectory":{ - "name":"DisableDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/disable", - "responseCode":200 - }, - "input":{"shape":"DisableDirectoryRequest"}, - "output":{"shape":"DisableDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

" - }, - "EnableDirectory":{ - "name":"EnableDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/enable", - "responseCode":200 - }, - "input":{"shape":"EnableDirectoryRequest"}, - "output":{"shape":"EnableDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

" - }, - "GetAppliedSchemaVersion":{ - "name":"GetAppliedSchemaVersion", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/getappliedschema", - "responseCode":200 - }, - "input":{"shape":"GetAppliedSchemaVersionRequest"}, - "output":{"shape":"GetAppliedSchemaVersionResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns current applied schema version ARN, including the minor version in use.

" - }, - "GetDirectory":{ - "name":"GetDirectory", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/get", - "responseCode":200 - }, - "input":{"shape":"GetDirectoryRequest"}, - "output":{"shape":"GetDirectoryResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Retrieves metadata about a directory.

" - }, - "GetFacet":{ - "name":"GetFacet", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet", - "responseCode":200 - }, - "input":{"shape":"GetFacetRequest"}, - "output":{"shape":"GetFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" - }, - "GetLinkAttributes":{ - "name":"GetLinkAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/get", - "responseCode":200 - }, - "input":{"shape":"GetLinkAttributesRequest"}, - "output":{"shape":"GetLinkAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Retrieves attributes that are associated with a typed link.

" - }, - "GetObjectAttributes":{ - "name":"GetObjectAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes/get", - "responseCode":200 - }, - "input":{"shape":"GetObjectAttributesRequest"}, - "output":{"shape":"GetObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "GetObjectInformation":{ - "name":"GetObjectInformation", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/information", - "responseCode":200 - }, - "input":{"shape":"GetObjectInformationRequest"}, - "output":{"shape":"GetObjectInformationResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves metadata about an object.

" - }, - "GetSchemaAsJson":{ - "name":"GetSchemaAsJson", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", - "responseCode":200 - }, - "input":{"shape":"GetSchemaAsJsonRequest"}, - "output":{"shape":"GetSchemaAsJsonResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

" - }, - "GetTypedLinkFacetInformation":{ - "name":"GetTypedLinkFacetInformation", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/get", - "responseCode":200 - }, - "input":{"shape":"GetTypedLinkFacetInformationRequest"}, - "output":{"shape":"GetTypedLinkFacetInformationResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

" - }, - "ListAppliedSchemaArns":{ - "name":"ListAppliedSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/applied", - "responseCode":200 - }, - "input":{"shape":"ListAppliedSchemaArnsRequest"}, - "output":{"shape":"ListAppliedSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

" - }, - "ListAttachedIndices":{ - "name":"ListAttachedIndices", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/indices", - "responseCode":200 - }, - "input":{"shape":"ListAttachedIndicesRequest"}, - "output":{"shape":"ListAttachedIndicesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists indices attached to the specified object.

" - }, - "ListDevelopmentSchemaArns":{ - "name":"ListDevelopmentSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/development", - "responseCode":200 - }, - "input":{"shape":"ListDevelopmentSchemaArnsRequest"}, - "output":{"shape":"ListDevelopmentSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

" - }, - "ListDirectories":{ - "name":"ListDirectories", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/list", - "responseCode":200 - }, - "input":{"shape":"ListDirectoriesRequest"}, - "output":{"shape":"ListDirectoriesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists directories created within an account.

" - }, - "ListFacetAttributes":{ - "name":"ListFacetAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/attributes", - "responseCode":200 - }, - "input":{"shape":"ListFacetAttributesRequest"}, - "output":{"shape":"ListFacetAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves attributes attached to the facet.

" - }, - "ListFacetNames":{ - "name":"ListFacetNames", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/list", - "responseCode":200 - }, - "input":{"shape":"ListFacetNamesRequest"}, - "output":{"shape":"ListFacetNamesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves the names of facets that exist in a schema.

" - }, - "ListIncomingTypedLinks":{ - "name":"ListIncomingTypedLinks", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/incoming", - "responseCode":200 - }, - "input":{"shape":"ListIncomingTypedLinksRequest"}, - "output":{"shape":"ListIncomingTypedLinksResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIndex":{ - "name":"ListIndex", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/index/targets", - "responseCode":200 - }, - "input":{"shape":"ListIndexRequest"}, - "output":{"shape":"ListIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"FacetValidationException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListObjectAttributes":{ - "name":"ListObjectAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes", - "responseCode":200 - }, - "input":{"shape":"ListObjectAttributesRequest"}, - "output":{"shape":"ListObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "name":"ListObjectChildren", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/children", - "responseCode":200 - }, - "input":{"shape":"ListObjectChildrenRequest"}, - "output":{"shape":"ListObjectChildrenResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NotNodeException"} - ], - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "ListObjectParentPaths":{ - "name":"ListObjectParentPaths", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/parentpaths", - "responseCode":200 - }, - "input":{"shape":"ListObjectParentPathsRequest"}, - "output":{"shape":"ListObjectParentPathsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

" - }, - "ListObjectParents":{ - "name":"ListObjectParents", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/parent", - "responseCode":200 - }, - "input":{"shape":"ListObjectParentsRequest"}, - "output":{"shape":"ListObjectParentsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"CannotListParentOfRootException"} - ], - "documentation":"

Lists parent objects that are associated with a given object in pagination fashion.

" - }, - "ListObjectPolicies":{ - "name":"ListObjectPolicies", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/policy", - "responseCode":200 - }, - "input":{"shape":"ListObjectPoliciesRequest"}, - "output":{"shape":"ListObjectPoliciesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListOutgoingTypedLinks":{ - "name":"ListOutgoingTypedLinks", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/outgoing", - "responseCode":200 - }, - "input":{"shape":"ListOutgoingTypedLinksRequest"}, - "output":{"shape":"ListOutgoingTypedLinksResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListPolicyAttachments":{ - "name":"ListPolicyAttachments", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/attachment", - "responseCode":200 - }, - "input":{"shape":"ListPolicyAttachmentsRequest"}, - "output":{"shape":"ListPolicyAttachmentsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "ListPublishedSchemaArns":{ - "name":"ListPublishedSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/published", - "responseCode":200 - }, - "input":{"shape":"ListPublishedSchemaArnsRequest"}, - "output":{"shape":"ListPublishedSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/tags", - "responseCode":200 - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.

" - }, - "ListTypedLinkFacetAttributes":{ - "name":"ListTypedLinkFacetAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", - "responseCode":200 - }, - "input":{"shape":"ListTypedLinkFacetAttributesRequest"}, - "output":{"shape":"ListTypedLinkFacetAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

" - }, - "ListTypedLinkFacetNames":{ - "name":"ListTypedLinkFacetNames", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/list", - "responseCode":200 - }, - "input":{"shape":"ListTypedLinkFacetNamesRequest"}, - "output":{"shape":"ListTypedLinkFacetNamesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

" - }, - "LookupPolicy":{ - "name":"LookupPolicy", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/lookup", - "responseCode":200 - }, - "input":{"shape":"LookupPolicyRequest"}, - "output":{"shape":"LookupPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "PublishSchema":{ - "name":"PublishSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/publish", - "responseCode":200 - }, - "input":{"shape":"PublishSchemaRequest"}, - "output":{"shape":"PublishSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"SchemaAlreadyPublishedException"} - ], - "documentation":"

Publishes a development schema with a major version and a recommended minor version.

" - }, - "PutSchemaFromJson":{ - "name":"PutSchemaFromJson", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", - "responseCode":200 - }, - "input":{"shape":"PutSchemaFromJsonRequest"}, - "output":{"shape":"PutSchemaFromJsonResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidSchemaDocException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

" - }, - "RemoveFacetFromObject":{ - "name":"RemoveFacetFromObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/facets/delete", - "responseCode":200 - }, - "input":{"shape":"RemoveFacetFromObjectRequest"}, - "output":{"shape":"RemoveFacetFromObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Removes the specified facet from the specified object.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/tags/add", - "responseCode":200 - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

An API operation for adding tags to a resource.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/tags/remove", - "responseCode":200 - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

An API operation for removing tags from a resource.

" - }, - "UpdateFacet":{ - "name":"UpdateFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet", - "responseCode":200 - }, - "input":{"shape":"UpdateFacetRequest"}, - "output":{"shape":"UpdateFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidFacetUpdateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" - }, - "UpdateLinkAttributes":{ - "name":"UpdateLinkAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/update", - "responseCode":200 - }, - "input":{"shape":"UpdateLinkAttributesRequest"}, - "output":{"shape":"UpdateLinkAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.

" - }, - "UpdateObjectAttributes":{ - "name":"UpdateObjectAttributes", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/update", - "responseCode":200 - }, - "input":{"shape":"UpdateObjectAttributesRequest"}, - "output":{"shape":"UpdateObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Updates a given object's attributes.

" - }, - "UpdateSchema":{ - "name":"UpdateSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/update", - "responseCode":200 - }, - "input":{"shape":"UpdateSchemaRequest"}, - "output":{"shape":"UpdateSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the schema name with a new name. Only development schema names can be updated.

" - }, - "UpdateTypedLinkFacet":{ - "name":"UpdateTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet", - "responseCode":200 - }, - "input":{"shape":"UpdateTypedLinkFacetRequest"}, - "output":{"shape":"UpdateTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"FacetValidationException"}, - {"shape":"InvalidFacetUpdateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Updates a TypedLinkFacet. For more information, see Typed link.

" - }, - "UpgradeAppliedSchema":{ - "name":"UpgradeAppliedSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradeapplied", - "responseCode":200 - }, - "input":{"shape":"UpgradeAppliedSchemaRequest"}, - "output":{"shape":"UpgradeAppliedSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"IncompatibleSchemaException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"} - ], - "documentation":"

Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.

" - }, - "UpgradePublishedSchema":{ - "name":"UpgradePublishedSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradepublished", - "responseCode":200 - }, - "input":{"shape":"UpgradePublishedSchemaRequest"}, - "output":{"shape":"UpgradePublishedSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"IncompatibleSchemaException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Access denied. Check your permissions.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "AddFacetToObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes on the facet that you are adding to the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object you are adding the specified facet to.

" - } - } - }, - "AddFacetToObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "ApplySchemaRequest":{ - "type":"structure", - "required":[ - "PublishedSchemaArn", - "DirectoryArn" - ], - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "ApplySchemaResponse":{ - "type":"structure", - "members":{ - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

The applied schema ARN that is associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" - } - } - }, - "Arn":{"type":"string"}, - "Arns":{ - "type":"list", - "member":{"shape":"Arn"} - }, - "AttachObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ParentReference", - "ChildReference", - "LinkName" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent object reference.

" - }, - "ChildReference":{ - "shape":"ObjectReference", - "documentation":"

The child object reference to be attached to the object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The link name with which the child object is attached to the parent.

" - } - } - }, - "AttachObjectResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The attached ObjectIdentifier, which is the child ObjectIdentifier.

" - } - } - }, - "AttachPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that is associated with the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object to which the policy will be attached.

" - } - } - }, - "AttachPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "AttachToIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where the object and index exist.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index that you are attaching the object to.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that you are attaching to the index.

" - } - } - }, - "AttachToIndexResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" - } - } - }, - "AttachTypedLinkRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SourceObjectReference", - "TargetObjectReference", - "TypedLinkFacet", - "Attributes" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "Attributes":{ - "shape":"AttributeNameAndValueList", - "documentation":"

A set of attributes that are associated with the typed link.

" - } - } - }, - "AttachTypedLinkResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Returns a typed link specifier as output.

" - } - } - }, - "AttributeKey":{ - "type":"structure", - "required":[ - "SchemaArn", - "FacetName", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.

" - }, - "FacetName":{ - "shape":"FacetName", - "documentation":"

The name of the facet that the attribute exists within.

" - }, - "Name":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - } - }, - "documentation":"

A unique identifier for an attribute.

" - }, - "AttributeKeyAndValue":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute.

" - }, - "Value":{ - "shape":"TypedAttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

The combination of an attribute key and an attribute value.

" - }, - "AttributeKeyAndValueList":{ - "type":"list", - "member":{"shape":"AttributeKeyAndValue"} - }, - "AttributeKeyList":{ - "type":"list", - "member":{"shape":"AttributeKey"} - }, - "AttributeName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "AttributeNameAndValue":{ - "type":"structure", - "required":[ - "AttributeName", - "Value" - ], - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The attribute name of the typed link.

" - }, - "Value":{ - "shape":"TypedAttributeValue", - "documentation":"

The value for the typed link.

" - } - }, - "documentation":"

Identifies the attribute name and value for a typed link.

" - }, - "AttributeNameAndValueList":{ - "type":"list", - "member":{"shape":"AttributeNameAndValue"} - }, - "AttributeNameList":{ - "type":"list", - "member":{"shape":"AttributeName"} - }, - "BatchAddFacetToObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectAttributeList", - "ObjectReference" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Represents the facet being added to the object.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes to set on the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being mutated.

" - } - }, - "documentation":"

Represents the output of a batch add facet to object operation.

" - }, - "BatchAddFacetToObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a batch add facet to object operation.

" - }, - "BatchAttachObject":{ - "type":"structure", - "required":[ - "ParentReference", - "ChildReference", - "LinkName" - ], - "members":{ - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent object reference.

" - }, - "ChildReference":{ - "shape":"ObjectReference", - "documentation":"

The child object reference that is to be attached to the object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - } - }, - "documentation":"

Represents the output of an AttachObject operation.

" - }, - "BatchAttachObjectResponse":{ - "type":"structure", - "members":{ - "attachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that has been attached.

" - } - }, - "documentation":"

Represents the output batch AttachObject response operation.

" - }, - "BatchAttachPolicy":{ - "type":"structure", - "required":[ - "PolicyReference", - "ObjectReference" - ], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that is associated with the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object to which the policy will be attached.

" - } - }, - "documentation":"

Attaches a policy object to a regular object inside a BatchRead operation. For more information, see AttachPolicy and BatchReadRequest$Operations.

" - }, - "BatchAttachPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of an AttachPolicy response operation.

" - }, - "BatchAttachToIndex":{ - "type":"structure", - "required":[ - "IndexReference", - "TargetReference" - ], - "members":{ - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index that you are attaching the object to.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that you are attaching to the index.

" - } - }, - "documentation":"

Attaches the specified object to the specified index inside a BatchRead operation. For more information, see AttachToIndex and BatchReadRequest$Operations.

" - }, - "BatchAttachToIndexResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" - } - }, - "documentation":"

Represents the output of a AttachToIndex response operation.

" - }, - "BatchAttachTypedLink":{ - "type":"structure", - "required":[ - "SourceObjectReference", - "TargetObjectReference", - "TypedLinkFacet", - "Attributes" - ], - "members":{ - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "Attributes":{ - "shape":"AttributeNameAndValueList", - "documentation":"

A set of attributes that are associated with the typed link.

" - } - }, - "documentation":"

Attaches a typed link to a specified source and target object inside a BatchRead operation. For more information, see AttachTypedLink and BatchReadRequest$Operations.

" - }, - "BatchAttachTypedLinkResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Returns a typed link specifier as output.

" - } - }, - "documentation":"

Represents the output of a AttachTypedLink response operation.

" - }, - "BatchCreateIndex":{ - "type":"structure", - "required":[ - "OrderedIndexedAttributeList", - "IsUnique" - ], - "members":{ - "OrderedIndexedAttributeList":{ - "shape":"AttributeKeyList", - "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" - }, - "IsUnique":{ - "shape":"Bool", - "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the parent object that contains the index object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link between the parent object and the index object.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Creates an index object inside of a BatchRead operation. For more information, see CreateIndex and BatchReadRequest$Operations.

" - }, - "BatchCreateIndexResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the index created by this operation.

" - } - }, - "documentation":"

Represents the output of a CreateIndex response operation.

" - }, - "BatchCreateObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectAttributeList" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacetList", - "documentation":"

A list of FacetArns that will be associated with the object. For more information, see arns.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

If specified, the parent reference to which this object will be attached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Represents the output of a CreateObject operation.

" - }, - "BatchCreateObjectResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ID that is associated with the object.

" - } - }, - "documentation":"

Represents the output of a CreateObject response operation.

" - }, - "BatchDeleteObject":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object.

" - } - }, - "documentation":"

Represents the output of a DeleteObject operation.

" - }, - "BatchDeleteObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DeleteObject response operation.

" - }, - "BatchDetachFromIndex":{ - "type":"structure", - "required":[ - "IndexReference", - "TargetReference" - ], - "members":{ - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index object.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being detached from the index.

" - } - }, - "documentation":"

Detaches the specified object from the specified index inside a BatchRead operation. For more information, see DetachFromIndex and BatchReadRequest$Operations.

" - }, - "BatchDetachFromIndexResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" - } - }, - "documentation":"

Represents the output of a DetachFromIndex response operation.

" - }, - "BatchDetachObject":{ - "type":"structure", - "required":[ - "ParentReference", - "LinkName" - ], - "members":{ - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

Parent reference from which the object with the specified link name is detached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Represents the output of a DetachObject operation.

" - }, - "BatchDetachObjectResponse":{ - "type":"structure", - "members":{ - "detachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the detached object.

" - } - }, - "documentation":"

Represents the output of a DetachObject response operation.

" - }, - "BatchDetachPolicy":{ - "type":"structure", - "required":[ - "PolicyReference", - "ObjectReference" - ], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policy object will be detached.

" - } - }, - "documentation":"

Detaches the specified policy from the specified directory inside a BatchWrite operation. For more information, see DetachPolicy and BatchWriteRequest$Operations.

" - }, - "BatchDetachPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DetachPolicy response operation.

" - }, - "BatchDetachTypedLink":{ - "type":"structure", - "required":["TypedLinkSpecifier"], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Used to accept a typed link specifier as input.

" - } - }, - "documentation":"

Detaches a typed link from a specified source and target object inside a BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations.

" - }, - "BatchDetachTypedLinkResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DetachTypedLink response operation.

" - }, - "BatchGetLinkAttributes":{ - "type":"structure", - "required":[ - "TypedLinkSpecifier", - "AttributeNames" - ], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

A list of attribute names whose values will be retrieved.

" - } - }, - "documentation":"

Retrieves attributes that are associated with a typed link inside a BatchRead operation. For more information, see GetLinkAttributes and BatchReadRequest$Operations.

" - }, - "BatchGetLinkAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the typed link.

" - } - }, - "documentation":"

Represents the output of a GetLinkAttributes response operation.

" - }, - "BatchGetObjectAttributes":{ - "type":"structure", - "required":[ - "ObjectReference", - "SchemaFacet", - "AttributeNames" - ], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

List of attribute names whose values will be retrieved.

" - } - }, - "documentation":"

Retrieves attributes within a facet that are associated with an object inside an BatchRead operation. For more information, see GetObjectAttributes and BatchReadRequest$Operations.

" - }, - "BatchGetObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attribute values that are associated with an object.

" - } - }, - "documentation":"

Represents the output of a GetObjectAttributes response operation.

" - }, - "BatchGetObjectInformation":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object.

" - } - }, - "documentation":"

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

" - }, - "BatchGetObjectInformationResponse":{ - "type":"structure", - "members":{ - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

The facets attached to the specified object.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the specified object.

" - } - }, - "documentation":"

Represents the output of a GetObjectInformation response operation.

" - }, - "BatchListAttachedIndices":{ - "type":"structure", - "required":["TargetReference"], - "members":{ - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that has indices attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

" - }, - "BatchListAttachedIndicesResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The indices attached to the specified object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListAttachedIndices response operation.

" - }, - "BatchListIncomingTypedLinks":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks and BatchReadRequest$Operations.

" - }, - "BatchListIncomingTypedLinksResponse":{ - "type":"structure", - "members":{ - "LinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns one or more typed link specifiers as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListIncomingTypedLinks response operation.

" - }, - "BatchListIndex":{ - "type":"structure", - "required":["IndexReference"], - "members":{ - "RangesOnIndexedValues":{ - "shape":"ObjectAttributeRangeList", - "documentation":"

Specifies the ranges of indexed values that you want to query.

" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

The reference to the index to list.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Lists objects attached to the specified index inside a BatchRead operation. For more information, see ListIndex and BatchReadRequest$Operations.

" - }, - "BatchListIndexResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The objects and indexed values attached to the index.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListIndex response operation.

" - }, - "BatchListObjectAttributes":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference of the object whose attributes need to be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "FacetFilter":{ - "shape":"SchemaFacet", - "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" - } - }, - "documentation":"

Represents the output of a ListObjectAttributes operation.

" - }, - "BatchListObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectAttributes response operation.

" - }, - "BatchListObjectChildren":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference of the object for which child objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - }, - "documentation":"

Represents the output of a ListObjectChildren operation.

" - }, - "BatchListObjectChildrenResponse":{ - "type":"structure", - "members":{ - "Children":{ - "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

The children structure, which is a map with the key as the LinkName and ObjectIdentifier as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectChildren response operation.

" - }, - "BatchListObjectParentPaths":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a BatchRead operation. For more information, see ListObjectParentPaths and BatchReadRequest$Operations.

" - }, - "BatchListObjectParentPathsResponse":{ - "type":"structure", - "members":{ - "PathToObjectIdentifiersList":{ - "shape":"PathToObjectIdentifiersList", - "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectParentPaths response operation.

" - }, - "BatchListObjectPolicies":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns policies attached to an object in pagination fashion inside a BatchRead operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations.

" - }, - "BatchListObjectPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicyIds":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectPolicies response operation.

" - }, - "BatchListOutgoingTypedLinks":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

" - }, - "BatchListOutgoingTypedLinksResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns a typed link specifier as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListOutgoingTypedLinks response operation.

" - }, - "BatchListPolicyAttachments":{ - "type":"structure", - "required":["PolicyReference"], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the policy object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

" - }, - "BatchListPolicyAttachmentsResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListPolicyAttachments response operation.

" - }, - "BatchLookupPolicy":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policies will be looked up.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

" - }, - "BatchLookupPolicyResponse":{ - "type":"structure", - "members":{ - "PolicyToPathList":{ - "shape":"PolicyToPathList", - "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a LookupPolicy response operation.

" - }, - "BatchOperationIndex":{"type":"integer"}, - "BatchReadException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"BatchReadExceptionType", - "documentation":"

A type of exception, such as InvalidArnException.

" - }, - "Message":{ - "shape":"ExceptionMessage", - "documentation":"

An exception message that is associated with the failure.

" - } - }, - "documentation":"

The batch read exception structure, which contains the exception type and message.

" - }, - "BatchReadExceptionType":{ - "type":"string", - "enum":[ - "ValidationException", - "InvalidArnException", - "ResourceNotFoundException", - "InvalidNextTokenException", - "AccessDeniedException", - "NotNodeException", - "FacetValidationException", - "CannotListParentOfRootException", - "NotIndexException", - "NotPolicyException", - "DirectoryNotEnabledException", - "LimitExceededException", - "InternalServiceException" - ] - }, - "BatchReadOperation":{ - "type":"structure", - "members":{ - "ListObjectAttributes":{ - "shape":"BatchListObjectAttributes", - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "shape":"BatchListObjectChildren", - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "ListAttachedIndices":{ - "shape":"BatchListAttachedIndices", - "documentation":"

Lists indices attached to an object.

" - }, - "ListObjectParentPaths":{ - "shape":"BatchListObjectParentPaths", - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" - }, - "GetObjectInformation":{ - "shape":"BatchGetObjectInformation", - "documentation":"

Retrieves metadata about an object.

" - }, - "GetObjectAttributes":{ - "shape":"BatchGetObjectAttributes", - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "ListObjectPolicies":{ - "shape":"BatchListObjectPolicies", - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListPolicyAttachments":{ - "shape":"BatchListPolicyAttachments", - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "LookupPolicy":{ - "shape":"BatchLookupPolicy", - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "ListIndex":{ - "shape":"BatchListIndex", - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListOutgoingTypedLinks":{ - "shape":"BatchListOutgoingTypedLinks", - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIncomingTypedLinks":{ - "shape":"BatchListIncomingTypedLinks", - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "GetLinkAttributes":{ - "shape":"BatchGetLinkAttributes", - "documentation":"

Retrieves attributes that are associated with a typed link.

" - } - }, - "documentation":"

Represents the output of a BatchRead operation.

" - }, - "BatchReadOperationList":{ - "type":"list", - "member":{"shape":"BatchReadOperation"} - }, - "BatchReadOperationResponse":{ - "type":"structure", - "members":{ - "SuccessfulResponse":{ - "shape":"BatchReadSuccessfulResponse", - "documentation":"

Identifies which operation in a batch has succeeded.

" - }, - "ExceptionResponse":{ - "shape":"BatchReadException", - "documentation":"

Identifies which operation in a batch has failed.

" - } - }, - "documentation":"

Represents the output of a BatchRead response operation.

" - }, - "BatchReadOperationResponseList":{ - "type":"list", - "member":{"shape":"BatchReadOperationResponse"} - }, - "BatchReadRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Operations" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Operations":{ - "shape":"BatchReadOperationList", - "documentation":"

A list of operations that are part of the batch.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "BatchReadResponse":{ - "type":"structure", - "members":{ - "Responses":{ - "shape":"BatchReadOperationResponseList", - "documentation":"

A list of all the responses for each batch read.

" - } - } - }, - "BatchReadSuccessfulResponse":{ - "type":"structure", - "members":{ - "ListObjectAttributes":{ - "shape":"BatchListObjectAttributesResponse", - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "shape":"BatchListObjectChildrenResponse", - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "GetObjectInformation":{ - "shape":"BatchGetObjectInformationResponse", - "documentation":"

Retrieves metadata about an object.

" - }, - "GetObjectAttributes":{ - "shape":"BatchGetObjectAttributesResponse", - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "ListAttachedIndices":{ - "shape":"BatchListAttachedIndicesResponse", - "documentation":"

Lists indices attached to an object.

" - }, - "ListObjectParentPaths":{ - "shape":"BatchListObjectParentPathsResponse", - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" - }, - "ListObjectPolicies":{ - "shape":"BatchListObjectPoliciesResponse", - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListPolicyAttachments":{ - "shape":"BatchListPolicyAttachmentsResponse", - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "LookupPolicy":{ - "shape":"BatchLookupPolicyResponse", - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "ListIndex":{ - "shape":"BatchListIndexResponse", - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListOutgoingTypedLinks":{ - "shape":"BatchListOutgoingTypedLinksResponse", - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIncomingTypedLinks":{ - "shape":"BatchListIncomingTypedLinksResponse", - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "GetLinkAttributes":{ - "shape":"BatchGetLinkAttributesResponse", - "documentation":"

The list of attributes to retrieve from the typed link.

" - } - }, - "documentation":"

Represents the output of a BatchRead success response operation.

" - }, - "BatchReferenceName":{"type":"string"}, - "BatchRemoveFacetFromObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

The facet to remove from the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object whose facet will be removed.

" - } - }, - "documentation":"

A batch operation to remove a facet from an object.

" - }, - "BatchRemoveFacetFromObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty result that represents success.

" - }, - "BatchUpdateLinkAttributes":{ - "type":"structure", - "required":[ - "TypedLinkSpecifier", - "AttributeUpdates" - ], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeUpdates":{ - "shape":"LinkAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - }, - "documentation":"

Updates a given typed link’s attributes inside a BatchRead operation. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder. For more information, see UpdateLinkAttributes and BatchReadRequest$Operations.

" - }, - "BatchUpdateLinkAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a UpdateLinkAttributes response operation.

" - }, - "BatchUpdateObjectAttributes":{ - "type":"structure", - "required":[ - "ObjectReference", - "AttributeUpdates" - ], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object.

" - }, - "AttributeUpdates":{ - "shape":"ObjectAttributeUpdateList", - "documentation":"

Attributes update structure.

" - } - }, - "documentation":"

Represents the output of a BatchUpdate operation.

" - }, - "BatchUpdateObjectAttributesResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

ID that is associated with the object.

" - } - }, - "documentation":"

Represents the output of a BatchUpdate response operation.

" - }, - "BatchWriteException":{ - "type":"structure", - "members":{ - "Index":{"shape":"BatchOperationIndex"}, - "Type":{"shape":"BatchWriteExceptionType"}, - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A BatchWrite exception has occurred.

", - "exception":true - }, - "BatchWriteExceptionType":{ - "type":"string", - "enum":[ - "InternalServiceException", - "ValidationException", - "InvalidArnException", - "LinkNameAlreadyInUseException", - "StillContainsLinksException", - "FacetValidationException", - "ObjectNotDetachedException", - "ResourceNotFoundException", - "AccessDeniedException", - "InvalidAttachmentException", - "NotIndexException", - "NotNodeException", - "IndexedAttributeMissingException", - "ObjectAlreadyDetachedException", - "NotPolicyException", - "DirectoryNotEnabledException", - "LimitExceededException", - "UnsupportedIndexTypeException" - ] - }, - "BatchWriteOperation":{ - "type":"structure", - "members":{ - "CreateObject":{ - "shape":"BatchCreateObject", - "documentation":"

Creates an object.

" - }, - "AttachObject":{ - "shape":"BatchAttachObject", - "documentation":"

Attaches an object to a Directory.

" - }, - "DetachObject":{ - "shape":"BatchDetachObject", - "documentation":"

Detaches an object from a Directory.

" - }, - "UpdateObjectAttributes":{ - "shape":"BatchUpdateObjectAttributes", - "documentation":"

Updates a given object's attributes.

" - }, - "DeleteObject":{ - "shape":"BatchDeleteObject", - "documentation":"

Deletes an object in a Directory.

" - }, - "AddFacetToObject":{ - "shape":"BatchAddFacetToObject", - "documentation":"

A batch operation that adds a facet to an object.

" - }, - "RemoveFacetFromObject":{ - "shape":"BatchRemoveFacetFromObject", - "documentation":"

A batch operation that removes a facet from an object.

" - }, - "AttachPolicy":{ - "shape":"BatchAttachPolicy", - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "DetachPolicy":{ - "shape":"BatchDetachPolicy", - "documentation":"

Detaches a policy from a Directory.

" - }, - "CreateIndex":{ - "shape":"BatchCreateIndex", - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "AttachToIndex":{ - "shape":"BatchAttachToIndex", - "documentation":"

Attaches the specified object to the specified index.

" - }, - "DetachFromIndex":{ - "shape":"BatchDetachFromIndex", - "documentation":"

Detaches the specified object from the specified index.

" - }, - "AttachTypedLink":{ - "shape":"BatchAttachTypedLink", - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "DetachTypedLink":{ - "shape":"BatchDetachTypedLink", - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "UpdateLinkAttributes":{ - "shape":"BatchUpdateLinkAttributes", - "documentation":"

Updates a given object's attributes.

" - } - }, - "documentation":"

Represents the output of a BatchWrite operation.

" - }, - "BatchWriteOperationList":{ - "type":"list", - "member":{"shape":"BatchWriteOperation"} - }, - "BatchWriteOperationResponse":{ - "type":"structure", - "members":{ - "CreateObject":{ - "shape":"BatchCreateObjectResponse", - "documentation":"

Creates an object in a Directory.

" - }, - "AttachObject":{ - "shape":"BatchAttachObjectResponse", - "documentation":"

Attaches an object to a Directory.

" - }, - "DetachObject":{ - "shape":"BatchDetachObjectResponse", - "documentation":"

Detaches an object from a Directory.

" - }, - "UpdateObjectAttributes":{ - "shape":"BatchUpdateObjectAttributesResponse", - "documentation":"

Updates a given object’s attributes.

" - }, - "DeleteObject":{ - "shape":"BatchDeleteObjectResponse", - "documentation":"

Deletes an object in a Directory.

" - }, - "AddFacetToObject":{ - "shape":"BatchAddFacetToObjectResponse", - "documentation":"

The result of an add facet to object batch operation.

" - }, - "RemoveFacetFromObject":{ - "shape":"BatchRemoveFacetFromObjectResponse", - "documentation":"

The result of a batch remove facet from object operation.

" - }, - "AttachPolicy":{ - "shape":"BatchAttachPolicyResponse", - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "DetachPolicy":{ - "shape":"BatchDetachPolicyResponse", - "documentation":"

Detaches a policy from a Directory.

" - }, - "CreateIndex":{ - "shape":"BatchCreateIndexResponse", - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "AttachToIndex":{ - "shape":"BatchAttachToIndexResponse", - "documentation":"

Attaches the specified object to the specified index.

" - }, - "DetachFromIndex":{ - "shape":"BatchDetachFromIndexResponse", - "documentation":"

Detaches the specified object from the specified index.

" - }, - "AttachTypedLink":{ - "shape":"BatchAttachTypedLinkResponse", - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "DetachTypedLink":{ - "shape":"BatchDetachTypedLinkResponse", - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "UpdateLinkAttributes":{ - "shape":"BatchUpdateLinkAttributesResponse", - "documentation":"

Represents the output of a BatchWrite response operation.

" - } - }, - "documentation":"

Represents the output of a BatchWrite response operation.

" - }, - "BatchWriteOperationResponseList":{ - "type":"list", - "member":{"shape":"BatchWriteOperationResponse"} - }, - "BatchWriteRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Operations" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Operations":{ - "shape":"BatchWriteOperationList", - "documentation":"

A list of operations that are part of the batch.

" - } - } - }, - "BatchWriteResponse":{ - "type":"structure", - "members":{ - "Responses":{ - "shape":"BatchWriteOperationResponseList", - "documentation":"

A list of all the responses for each batch write.

" - } - } - }, - "BinaryAttributeValue":{"type":"blob"}, - "Bool":{"type":"boolean"}, - "BooleanAttributeValue":{"type":"boolean"}, - "CannotListParentOfRootException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Cannot list the parents of a Directory root.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ConsistencyLevel":{ - "type":"string", - "enum":[ - "SERIALIZABLE", - "EVENTUAL" - ] - }, - "CreateDirectoryRequest":{ - "type":"structure", - "required":[ - "Name", - "SchemaArn" - ], - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the Directory. Should be unique per account, per region.

" - }, - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "CreateDirectoryResponse":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Name", - "ObjectIdentifier", - "AppliedSchemaArn" - ], - "members":{ - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" - }, - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the Directory.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The root object node of the created directory.

" - }, - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see arns.

" - } - } - }, - "CreateFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name", - "ObjectType" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The schema ARN in which the new Facet will be created. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the Facet, which is unique for a given schema.

" - }, - "Attributes":{ - "shape":"FacetAttributeList", - "documentation":"

The attributes that are associated with the Facet.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

  • Node: Can have multiple children but one parent.

  • Leaf node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" - } - } - }, - "CreateFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "OrderedIndexedAttributeList", - "IsUnique" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory where the index should be created.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "OrderedIndexedAttributeList":{ - "shape":"AttributeKeyList", - "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" - }, - "IsUnique":{ - "shape":"Bool", - "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the parent object that contains the index object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link between the parent object and the index object.

" - } - } - }, - "CreateIndexResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the index created by this operation.

" - } - } - }, - "CreateObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacets" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attribute map whose attribute ARN contains the key and attribute value as the map value.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

If specified, the parent reference to which this object will be attached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of link that is used to attach this object to a parent.

" - } - } - }, - "CreateObjectResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The identifier that is associated with the object.

" - } - } - }, - "CreateSchemaRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"SchemaName", - "documentation":"

The name that is associated with the schema. This is unique to each account and in each region.

" - } - } - }, - "CreateSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" - } - } - }, - "CreateTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Facet" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Facet":{ - "shape":"TypedLinkFacet", - "documentation":"

Facet structure that is associated with the typed link facet.

" - } - } - }, - "CreateTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "Date":{"type":"timestamp"}, - "DatetimeAttributeValue":{"type":"timestamp"}, - "DeleteDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to delete.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DeleteDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the deleted directory.

" - } - } - }, - "DeleteFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet to delete.

" - } - } - }, - "DeleteFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference that identifies the object.

" - } - } - }, - "DeleteObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteSchemaRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DeleteSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The input ARN that is returned as part of the response. For more information, see arns.

" - } - } - }, - "DeleteTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - } - }, - "DeleteTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "DetachFromIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory the index and object exist in.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index object.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being detached from the index.

" - } - } - }, - "DetachFromIndexResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" - } - } - }, - "DetachObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ParentReference", - "LinkName" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent reference from which the object with the specified link name is detached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The link name associated with the object that needs to be detached.

" - } - } - }, - "DetachObjectResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier that was detached from the object.

" - } - } - }, - "DetachPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policy object will be detached.

" - } - } - }, - "DetachPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "DetachTypedLinkRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Used to accept a typed link specifier as input.

" - } - } - }, - "Directory":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the directory.

" - }, - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the directory. For more information, see arns.

" - }, - "State":{ - "shape":"DirectoryState", - "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the directory was created.

" - } - }, - "documentation":"

Directory structure that includes the directory name and directory ARN.

" - }, - "DirectoryAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a Directory could not be created due to a naming conflict. Choose a different name and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryArn":{"type":"string"}, - "DirectoryDeletedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A directory that has been deleted and to which access has been attempted. Note: The requested resource will eventually cease to exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryList":{ - "type":"list", - "member":{"shape":"Directory"} - }, - "DirectoryName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "DirectoryNotDisabledException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An operation can only operate on a disabled directory.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryNotEnabledException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Operations are only permitted on enabled directories.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED", - "DELETED" - ] - }, - "DisableDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to disable.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DisableDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that has been disabled.

" - } - } - }, - "EnableDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to enable.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "EnableDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the enabled directory.

" - } - } - }, - "ExceptionMessage":{"type":"string"}, - "Facet":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the Facet.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" - } - }, - "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes. See Facets for more information.

" - }, - "FacetAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A facet with the same name already exists.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetAttribute":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"AttributeName", - "documentation":"

The name of the facet attribute.

" - }, - "AttributeDefinition":{ - "shape":"FacetAttributeDefinition", - "documentation":"

A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information.

" - }, - "AttributeReference":{ - "shape":"FacetAttributeReference", - "documentation":"

An attribute reference that is associated with the attribute. See Attribute References for more information.

" - }, - "RequiredBehavior":{ - "shape":"RequiredAttributeBehavior", - "documentation":"

The required behavior of the FacetAttribute.

" - } - }, - "documentation":"

An attribute that is associated with the Facet.

" - }, - "FacetAttributeDefinition":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"FacetAttributeType", - "documentation":"

The type of the attribute.

" - }, - "DefaultValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The default value of the attribute (if configured).

" - }, - "IsImmutable":{ - "shape":"Bool", - "documentation":"

Whether the attribute is mutable or not.

" - }, - "Rules":{ - "shape":"RuleMap", - "documentation":"

Validation rules attached to the attribute definition.

" - } - }, - "documentation":"

A facet attribute definition. See Attribute References for more information.

" - }, - "FacetAttributeList":{ - "type":"list", - "member":{"shape":"FacetAttribute"} - }, - "FacetAttributeReference":{ - "type":"structure", - "required":[ - "TargetFacetName", - "TargetAttributeName" - ], - "members":{ - "TargetFacetName":{ - "shape":"FacetName", - "documentation":"

The target facet name that is associated with the facet reference. See Attribute References for more information.

" - }, - "TargetAttributeName":{ - "shape":"AttributeName", - "documentation":"

The target attribute name that is associated with the facet reference. See Attribute References for more information.

" - } - }, - "documentation":"

The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.

" - }, - "FacetAttributeType":{ - "type":"string", - "enum":[ - "STRING", - "BINARY", - "BOOLEAN", - "NUMBER", - "DATETIME" - ] - }, - "FacetAttributeUpdate":{ - "type":"structure", - "members":{ - "Attribute":{ - "shape":"FacetAttribute", - "documentation":"

The attribute to update.

" - }, - "Action":{ - "shape":"UpdateActionType", - "documentation":"

The action to perform when updating the attribute.

" - } - }, - "documentation":"

A structure that contains information used to update an attribute.

" - }, - "FacetAttributeUpdateList":{ - "type":"list", - "member":{"shape":"FacetAttributeUpdate"} - }, - "FacetInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a different facet.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "FacetNameList":{ - "type":"list", - "member":{"shape":"FacetName"} - }, - "FacetNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified Facet could not be found.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The Facet that you provided was not well formed or could not be validated with the schema.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "GetAppliedSchemaVersionRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the applied schema.

" - } - } - }, - "GetAppliedSchemaVersionResponse":{ - "type":"structure", - "members":{ - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

Current applied schema ARN, including the minor version in use if one was provided.

" - } - } - }, - "GetDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The ARN of the directory.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "GetDirectoryResponse":{ - "type":"structure", - "required":["Directory"], - "members":{ - "Directory":{ - "shape":"Directory", - "documentation":"

Metadata about the directory.

" - } - } - }, - "GetFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet to retrieve.

" - } - } - }, - "GetFacetResponse":{ - "type":"structure", - "members":{ - "Facet":{ - "shape":"Facet", - "documentation":"

The Facet structure that is associated with the facet.

" - } - } - }, - "GetLinkAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier", - "AttributeNames" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

A list of attribute names whose values will be retrieved.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the attributes on a typed link.

" - } - } - }, - "GetLinkAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the typed link.

" - } - } - }, - "GetObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference", - "SchemaFacet", - "AttributeNames" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the attributes on an object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

List of attribute names whose values will be retrieved.

" - } - } - }, - "GetObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the object.

" - } - } - }, - "GetObjectInformationRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory being retrieved.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the object information.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "GetObjectInformationResponse":{ - "type":"structure", - "members":{ - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the specified object.

" - } - } - }, - "GetSchemaAsJsonRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to retrieve.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "GetSchemaAsJsonResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"SchemaName", - "documentation":"

The name of the retrieved schema.

" - }, - "Document":{ - "shape":"SchemaJsonDocument", - "documentation":"

The JSON representation of the schema document.

" - } - } - }, - "GetTypedLinkFacetInformationRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - } - }, - "GetTypedLinkFacetInformationResponse":{ - "type":"structure", - "members":{ - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" - } - } - }, - "IncompatibleSchemaException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates a failure occurred while performing a check for backward compatibility between the specified schema and the schema that is currently applied to the directory.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "IndexAttachment":{ - "type":"structure", - "members":{ - "IndexedAttributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The indexed attribute values.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

" - } - }, - "documentation":"

Represents an index and an attached object.

" - }, - "IndexAttachmentList":{ - "type":"list", - "member":{"shape":"IndexAttachment"} - }, - "IndexedAttributeMissingException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An object has been attempted to be attached to an object that does not have the appropriate attribute value.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates a problem that must be resolved by Amazon Web Services. This might be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any operational issues with the service.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "InvalidArnException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the provided ARN value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidAttachmentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that an attempt to attach an object with the same link name or to apply a schema with the same name has occurred. Rename the link or the schema and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidFacetUpdateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An attempt to modify a Facet resulted in an invalid schema exception.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the NextToken value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRuleException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when any of the rule parameter keys or values are invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidSchemaDocException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTaggingRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that limits are exceeded. See Limits for more information.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LinkAttributeAction":{ - "type":"structure", - "members":{ - "AttributeActionType":{ - "shape":"UpdateActionType", - "documentation":"

A type that can be either UPDATE_OR_CREATE or DELETE.

" - }, - "AttributeUpdateValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value that you want to update to.

" - } - }, - "documentation":"

The action to take on a typed link attribute value. Updates are only supported for attributes which don’t contribute to link identity.

" - }, - "LinkAttributeUpdate":{ - "type":"structure", - "members":{ - "AttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute being updated.

" - }, - "AttributeAction":{ - "shape":"LinkAttributeAction", - "documentation":"

The action to perform as part of the attribute update.

" - } - }, - "documentation":"

Structure that contains attribute update information.

" - }, - "LinkAttributeUpdateList":{ - "type":"list", - "member":{"shape":"LinkAttributeUpdate"} - }, - "LinkName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" - }, - "LinkNameAlreadyInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a link could not be created due to a naming conflict. Choose a different name and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LinkNameToObjectIdentifierMap":{ - "type":"map", - "key":{"shape":"LinkName"}, - "value":{"shape":"ObjectIdentifier"} - }, - "ListAppliedSchemaArnsRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory you are listing.

" - }, - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListAppliedSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of schemas that are applied to the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListAttachedIndicesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that has indices attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to use for this operation.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListAttachedIndicesResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The indices attached to the specified object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListDevelopmentSchemaArnsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListDevelopmentSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of retrieved development schemas.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListDirectoriesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "state":{ - "shape":"DirectoryState", - "documentation":"

The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.

" - } - } - }, - "ListDirectoriesResponse":{ - "type":"structure", - "required":["Directories"], - "members":{ - "Directories":{ - "shape":"DirectoryList", - "documentation":"

Lists all directories that are associated with your account in pagination fashion.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListFacetAttributesRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema where the facet resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet whose attributes will be retrieved.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListFacetAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"FacetAttributeList", - "documentation":"

The attributes attached to the facet.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListFacetNamesRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) to retrieve facet names from.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListFacetNamesResponse":{ - "type":"structure", - "members":{ - "FacetNames":{ - "shape":"FacetNameList", - "documentation":"

The names of facets that exist within the schema.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListIncomingTypedLinksRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

" - } - } - }, - "ListIncomingTypedLinksResponse":{ - "type":"structure", - "members":{ - "LinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns one or more typed link specifiers as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that the index exists in.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "RangesOnIndexedValues":{ - "shape":"ObjectAttributeRangeList", - "documentation":"

Specifies the ranges of indexed values that you want to query.

" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

The reference to the index to list.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of objects in a single page to retrieve from the index during a request. For more information, see AWS Directory Service Limits.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListIndexResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The objects and indexed values attached to the index.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - }, - "FacetFilter":{ - "shape":"SchemaFacet", - "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" - } - } - }, - "ListObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectChildrenRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object for which child objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectChildrenResponse":{ - "type":"structure", - "members":{ - "Children":{ - "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectParentPathsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to which the parent path applies.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose parent paths are listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - } - }, - "ListObjectParentPathsResponse":{ - "type":"structure", - "members":{ - "PathToObjectIdentifiersList":{ - "shape":"PathToObjectIdentifiersList", - "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectParentsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object for which parent objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectParentsResponse":{ - "type":"structure", - "members":{ - "Parents":{ - "shape":"ObjectIdentifierToLinkNameMap", - "documentation":"

The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectPoliciesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object for which policies will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicyIds":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListOutgoingTypedLinksRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

" - } - } - }, - "ListOutgoingTypedLinksResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns a typed link specifier as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListPolicyAttachmentsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the policy object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListPolicyAttachmentsResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListPublishedSchemaArnsRequest":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListPublishedSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of published schemas.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token. This is for future use. Currently pagination is not supported for tagging.

" - }, - "MaxResults":{ - "shape":"TagsNumberResults", - "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag key value pairs that are associated with the response.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "ListTypedLinkFacetAttributesRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListTypedLinkFacetAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"TypedLinkAttributeDefinitionList", - "documentation":"

An ordered set of attributes associate with the typed link.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListTypedLinkFacetNamesRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListTypedLinkFacetNamesResponse":{ - "type":"structure", - "members":{ - "FacetNames":{ - "shape":"TypedLinkNameList", - "documentation":"

The names of typed link facets that exist within the schema.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "LookupPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policies will be looked up.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - } - }, - "LookupPolicyResponse":{ - "type":"structure", - "members":{ - "PolicyToPathList":{ - "shape":"PolicyToPathList", - "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "NextToken":{"type":"string"}, - "NotIndexException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation can only operate on index objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotNodeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when any invalid operations are performed on an object that is not a node, such as calling ListObjectChildren for a leaf node object.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotPolicyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation can only operate on policy objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NumberAttributeValue":{"type":"string"}, - "NumberResults":{ - "type":"integer", - "min":1 - }, - "ObjectAlreadyDetachedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the object is not attached to the index.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ObjectAttributeAction":{ - "type":"structure", - "members":{ - "ObjectAttributeActionType":{ - "shape":"UpdateActionType", - "documentation":"

A type that can be either Update or Delete.

" - }, - "ObjectAttributeUpdateValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value that you want to update to.

" - } - }, - "documentation":"

The action to take on the object attribute.

" - }, - "ObjectAttributeRange":{ - "type":"structure", - "members":{ - "AttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute that the attribute range covers.

" - }, - "Range":{ - "shape":"TypedAttributeValueRange", - "documentation":"

The range of attribute values being selected.

" - } - }, - "documentation":"

A range of attributes.

" - }, - "ObjectAttributeRangeList":{ - "type":"list", - "member":{"shape":"ObjectAttributeRange"} - }, - "ObjectAttributeUpdate":{ - "type":"structure", - "members":{ - "ObjectAttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute being updated.

" - }, - "ObjectAttributeAction":{ - "shape":"ObjectAttributeAction", - "documentation":"

The action to perform as part of the attribute update.

" - } - }, - "documentation":"

Structure that contains attribute update information.

" - }, - "ObjectAttributeUpdateList":{ - "type":"list", - "member":{"shape":"ObjectAttributeUpdate"} - }, - "ObjectIdentifier":{"type":"string"}, - "ObjectIdentifierList":{ - "type":"list", - "member":{"shape":"ObjectIdentifier"} - }, - "ObjectIdentifierToLinkNameMap":{ - "type":"map", - "key":{"shape":"ObjectIdentifier"}, - "value":{"shape":"LinkName"} - }, - "ObjectNotDetachedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation cannot be completed because the object has not been detached from the tree.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ObjectReference":{ - "type":"structure", - "members":{ - "Selector":{ - "shape":"SelectorObjectReference", - "documentation":"

A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Accessing Objects. You can identify an object in one of the following ways:

  • $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" - } - }, - "documentation":"

The reference that identifies an object.

" - }, - "ObjectType":{ - "type":"string", - "enum":[ - "NODE", - "LEAF_NODE", - "POLICY", - "INDEX" - ] - }, - "PathString":{"type":"string"}, - "PathToObjectIdentifiers":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"PathString", - "documentation":"

The path that is used to identify the object starting from directory root.

" - }, - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

Lists ObjectIdentifiers starting from directory root to the object in the request.

" - } - }, - "documentation":"

Returns the path to the ObjectIdentifiers that is associated with the directory.

" - }, - "PathToObjectIdentifiersList":{ - "type":"list", - "member":{"shape":"PathToObjectIdentifiers"} - }, - "PolicyAttachment":{ - "type":"structure", - "members":{ - "PolicyId":{ - "shape":"ObjectIdentifier", - "documentation":"

The ID of PolicyAttachment.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier that is associated with PolicyAttachment.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

The type of policy that can be associated with PolicyAttachment.

" - } - }, - "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached. For more information, see Policies.

" - }, - "PolicyAttachmentList":{ - "type":"list", - "member":{"shape":"PolicyAttachment"} - }, - "PolicyToPath":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"PathString", - "documentation":"

The path that is referenced from the root.

" - }, - "Policies":{ - "shape":"PolicyAttachmentList", - "documentation":"

List of policy objects.

" - } - }, - "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies that are associated with that object and the parent to that object.

" - }, - "PolicyToPathList":{ - "type":"list", - "member":{"shape":"PolicyToPath"} - }, - "PolicyType":{"type":"string"}, - "PublishSchemaRequest":{ - "type":"structure", - "required":[ - "DevelopmentSchemaArn", - "Version" - ], - "members":{ - "DevelopmentSchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Version":{ - "shape":"Version", - "documentation":"

The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

" - }, - "MinorVersion":{ - "shape":"Version", - "documentation":"

The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

" - }, - "Name":{ - "shape":"SchemaName", - "documentation":"

The new name under which the schema will be published. If this is not provided, the development schema is considered.

" - } - } - }, - "PublishSchemaResponse":{ - "type":"structure", - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the published schema. For more information, see arns.

" - } - } - }, - "PutSchemaFromJsonRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Document" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to update.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Document":{ - "shape":"SchemaJsonDocument", - "documentation":"

The replacement JSON schema.

" - } - } - }, - "PutSchemaFromJsonResponse":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to update.

" - } - } - }, - "RangeMode":{ - "type":"string", - "enum":[ - "FIRST", - "LAST", - "LAST_BEFORE_MISSING_VALUES", - "INCLUSIVE", - "EXCLUSIVE" - ] - }, - "RemoveFacetFromObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory in which the object resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

The facet to remove. See SchemaFacet for details.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object to remove the facet from.

" - } - } - }, - "RemoveFacetFromObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "RequiredAttributeBehavior":{ - "type":"string", - "enum":[ - "REQUIRED_ALWAYS", - "NOT_REQUIRED" - ] - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified resource could not be found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "RetryableConflictException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when a conflict with a previous successful write is detected. For example, if a write operation occurs on an object and then an attempt is made to read the object using “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "Rule":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"RuleType", - "documentation":"

The type of attribute validation rule.

" - }, - "Parameters":{ - "shape":"RuleParameterMap", - "documentation":"

The minimum and maximum parameters that are associated with the rule.

" - } - }, - "documentation":"

Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.

" - }, - "RuleKey":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "RuleMap":{ - "type":"map", - "key":{"shape":"RuleKey"}, - "value":{"shape":"Rule"} - }, - "RuleParameterKey":{"type":"string"}, - "RuleParameterMap":{ - "type":"map", - "key":{"shape":"RuleParameterKey"}, - "value":{"shape":"RuleParameterValue"} - }, - "RuleParameterValue":{"type":"string"}, - "RuleType":{ - "type":"string", - "enum":[ - "BINARY_LENGTH", - "NUMBER_COMPARISON", - "STRING_FROM_SET", - "STRING_LENGTH" - ] - }, - "SchemaAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a schema could not be created due to a naming conflict. Please select a different name and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SchemaAlreadyPublishedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a schema is already published.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SchemaFacet":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

" - }, - "FacetName":{ - "shape":"FacetName", - "documentation":"

The name of the facet.

" - } - }, - "documentation":"

A facet.

" - }, - "SchemaFacetList":{ - "type":"list", - "member":{"shape":"SchemaFacet"} - }, - "SchemaJsonDocument":{"type":"string"}, - "SchemaName":{ - "type":"string", - "max":32, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "SelectorObjectReference":{"type":"string"}, - "StillContainsLinksException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The object could not be deleted because links still exist. Remove the links and then try the operation again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "StringAttributeValue":{"type":"string"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key that is associated with the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value that is associated with the tag.

" - } - }, - "documentation":"

The tag structure that contains a tag key and value.

" - }, - "TagKey":{"type":"string"}, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag key-value pairs.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{"type":"string"}, - "TagsNumberResults":{ - "type":"integer", - "min":50 - }, - "TypedAttributeValue":{ - "type":"structure", - "members":{ - "StringValue":{ - "shape":"StringAttributeValue", - "documentation":"

A string data value.

" - }, - "BinaryValue":{ - "shape":"BinaryAttributeValue", - "documentation":"

A binary data value.

" - }, - "BooleanValue":{ - "shape":"BooleanAttributeValue", - "documentation":"

A Boolean data value.

" - }, - "NumberValue":{ - "shape":"NumberAttributeValue", - "documentation":"

A number data value.

" - }, - "DatetimeValue":{ - "shape":"DatetimeAttributeValue", - "documentation":"

A date and time value.

" - } - }, - "documentation":"

Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.

" - }, - "TypedAttributeValueRange":{ - "type":"structure", - "required":[ - "StartMode", - "EndMode" - ], - "members":{ - "StartMode":{ - "shape":"RangeMode", - "documentation":"

The inclusive or exclusive range start.

" - }, - "StartValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value to start the range at.

" - }, - "EndMode":{ - "shape":"RangeMode", - "documentation":"

The inclusive or exclusive range end.

" - }, - "EndValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The attribute value to terminate the range at.

" - } - }, - "documentation":"

A range of attribute values. For more information, see Range Filters.

" - }, - "TypedLinkAttributeDefinition":{ - "type":"structure", - "required":[ - "Name", - "Type", - "RequiredBehavior" - ], - "members":{ - "Name":{ - "shape":"AttributeName", - "documentation":"

The unique name of the typed link attribute.

" - }, - "Type":{ - "shape":"FacetAttributeType", - "documentation":"

The type of the attribute.

" - }, - "DefaultValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The default value of the attribute (if configured).

" - }, - "IsImmutable":{ - "shape":"Bool", - "documentation":"

Whether the attribute is mutable or not.

" - }, - "Rules":{ - "shape":"RuleMap", - "documentation":"

Validation rules that are attached to the attribute definition.

" - }, - "RequiredBehavior":{ - "shape":"RequiredAttributeBehavior", - "documentation":"

The required behavior of the TypedLinkAttributeDefinition.

" - } - }, - "documentation":"

A typed link attribute definition.

" - }, - "TypedLinkAttributeDefinitionList":{ - "type":"list", - "member":{"shape":"TypedLinkAttributeDefinition"} - }, - "TypedLinkAttributeRange":{ - "type":"structure", - "required":["Range"], - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The unique name of the typed link attribute.

" - }, - "Range":{ - "shape":"TypedAttributeValueRange", - "documentation":"

The range of attribute values that are being selected.

" - } - }, - "documentation":"

Identifies the range of attributes that are used by a specified filter.

" - }, - "TypedLinkAttributeRangeList":{ - "type":"list", - "member":{"shape":"TypedLinkAttributeRange"} - }, - "TypedLinkFacet":{ - "type":"structure", - "required":[ - "Name", - "Attributes", - "IdentityAttributeOrder" - ], - "members":{ - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "Attributes":{ - "shape":"TypedLinkAttributeDefinitionList", - "documentation":"

A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

" - }, - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

" - } - }, - "documentation":"

Defines the typed links structure and its attributes. To create a typed link facet, use the CreateTypedLinkFacet API.

" - }, - "TypedLinkFacetAttributeUpdate":{ - "type":"structure", - "required":[ - "Attribute", - "Action" - ], - "members":{ - "Attribute":{ - "shape":"TypedLinkAttributeDefinition", - "documentation":"

The attribute to update.

" - }, - "Action":{ - "shape":"UpdateActionType", - "documentation":"

The action to perform when updating the attribute.

" - } - }, - "documentation":"

A typed link facet attribute update.

" - }, - "TypedLinkFacetAttributeUpdateList":{ - "type":"list", - "member":{"shape":"TypedLinkFacetAttributeUpdate"} - }, - "TypedLinkName":{ - "type":"string", - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "TypedLinkNameList":{ - "type":"list", - "member":{"shape":"TypedLinkName"} - }, - "TypedLinkSchemaAndFacetName":{ - "type":"structure", - "required":[ - "SchemaArn", - "TypedLinkName" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" - }, - "TypedLinkName":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - }, - "documentation":"

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

" - }, - "TypedLinkSpecifier":{ - "type":"structure", - "required":[ - "TypedLinkFacet", - "SourceObjectReference", - "TargetObjectReference", - "IdentityAttributeValues" - ], - "members":{ - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "IdentityAttributeValues":{ - "shape":"AttributeNameAndValueList", - "documentation":"

Identifies the attribute value to update.

" - } - }, - "documentation":"

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

" - }, - "TypedLinkSpecifierList":{ - "type":"list", - "member":{"shape":"TypedLinkSpecifier"} - }, - "UnsupportedIndexTypeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested index type is not supported.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

Keys of the tag that need to be removed from the resource.

" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateActionType":{ - "type":"string", - "enum":[ - "CREATE_OR_UPDATE", - "DELETE" - ] - }, - "UpdateFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet.

" - }, - "AttributeUpdates":{ - "shape":"FacetAttributeUpdateList", - "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" - } - } - }, - "UpdateFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateLinkAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier", - "AttributeUpdates" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeUpdates":{ - "shape":"LinkAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - } - }, - "UpdateLinkAttributesResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference", - "AttributeUpdates" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object.

" - }, - "AttributeUpdates":{ - "shape":"ObjectAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - } - }, - "UpdateObjectAttributesResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the updated object.

" - } - } - }, - "UpdateSchemaRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"SchemaName", - "documentation":"

The name of the schema.

" - } - } - }, - "UpdateSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the updated schema. For more information, see arns.

" - } - } - }, - "UpdateTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name", - "AttributeUpdates", - "IdentityAttributeOrder" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "AttributeUpdates":{ - "shape":"TypedLinkFacetAttributeUpdateList", - "documentation":"

Attributes update structure.

" - }, - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" - } - } - }, - "UpdateTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "UpgradeAppliedSchemaRequest":{ - "type":"structure", - "required":[ - "PublishedSchemaArn", - "DirectoryArn" - ], - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The revision of the published schema to upgrade the directory to.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN for the directory to which the upgraded schema will be applied.

" - }, - "DryRun":{ - "shape":"Bool", - "documentation":"

Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

" - } - } - }, - "UpgradeAppliedSchemaResponse":{ - "type":"structure", - "members":{ - "UpgradedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that is returned as part of the response.

" - } - } - }, - "UpgradePublishedSchemaRequest":{ - "type":"structure", - "required":[ - "DevelopmentSchemaArn", - "PublishedSchemaArn", - "MinorVersion" - ], - "members":{ - "DevelopmentSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the development schema with the changes used for the upgrade.

" - }, - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the published schema to be upgraded.

" - }, - "MinorVersion":{ - "shape":"Version", - "documentation":"

Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

" - }, - "DryRun":{ - "shape":"Bool", - "documentation":"

Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

" - } - } - }, - "UpgradePublishedSchemaResponse":{ - "type":"structure", - "members":{ - "UpgradedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" - } - } - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that your request is malformed in some manner. See the exception message.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Version":{ - "type":"string", - "max":10, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - } - }, - "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/paginators-1.json deleted file mode 100644 index 22cc439e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/paginators-1.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "pagination": { - "ListObjectParentPaths": { - "result_key": "PathToObjectIdentifiersList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListFacetNames": { - "result_key": "FacetNames", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListPublishedSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListDirectories": { - "result_key": "Directories", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListDevelopmentSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTypedLinkFacetNames": { - "result_key": "FacetNames", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListIndex": { - "result_key": "IndexAttachments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListFacetAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListObjectPolicies": { - "result_key": "AttachedPolicyIds", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTagsForResource": { - "result_key": "Tags", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListAttachedIndices": { - "result_key": "IndexAttachments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "LookupPolicy": { - "result_key": "PolicyToPathList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListPolicyAttachments": { - "result_key": "ObjectIdentifiers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListObjectAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListAppliedSchemaArns": { - "result_key": "SchemaArns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTypedLinkFacetAttributes": { - "result_key": "Attributes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/service-2.json deleted file mode 100644 index e9d5ee69..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/clouddirectory/2017-01-11/service-2.json +++ /dev/null @@ -1,5991 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-01-11", - "endpointPrefix":"clouddirectory", - "protocol":"rest-json", - "serviceFullName":"Amazon CloudDirectory", - "serviceId":"CloudDirectory", - "signatureVersion":"v4", - "signingName":"clouddirectory", - "uid":"clouddirectory-2017-01-11" - }, - "operations":{ - "AddFacetToObject":{ - "name":"AddFacetToObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/facets", - "responseCode":200 - }, - "input":{"shape":"AddFacetToObjectRequest"}, - "output":{"shape":"AddFacetToObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Adds a new Facet to an object. An object can have more than one facet applied on it.

" - }, - "ApplySchema":{ - "name":"ApplySchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/apply", - "responseCode":200 - }, - "input":{"shape":"ApplySchemaRequest"}, - "output":{"shape":"ApplySchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"SchemaAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"} - ], - "documentation":"

Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.

" - }, - "AttachObject":{ - "name":"AttachObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attach", - "responseCode":200 - }, - "input":{"shape":"AttachObjectRequest"}, - "output":{"shape":"AttachObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ValidationException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" - }, - "AttachPolicy":{ - "name":"AttachPolicy", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/attach", - "responseCode":200 - }, - "input":{"shape":"AttachPolicyRequest"}, - "output":{"shape":"AttachPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "AttachToIndex":{ - "name":"AttachToIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index/attach", - "responseCode":200 - }, - "input":{"shape":"AttachToIndexRequest"}, - "output":{"shape":"AttachToIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"IndexedAttributeMissingException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Attaches the specified object to the specified index.

" - }, - "AttachTypedLink":{ - "name":"AttachTypedLink", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attach", - "responseCode":200 - }, - "input":{"shape":"AttachTypedLinkRequest"}, - "output":{"shape":"AttachTypedLinkResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"ValidationException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "BatchRead":{ - "name":"BatchRead", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/batchread", - "responseCode":200 - }, - "input":{"shape":"BatchReadRequest"}, - "output":{"shape":"BatchReadResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"} - ], - "documentation":"

Performs all the read operations in a batch.

" - }, - "BatchWrite":{ - "name":"BatchWrite", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/batchwrite", - "responseCode":200 - }, - "input":{"shape":"BatchWriteRequest"}, - "output":{"shape":"BatchWriteResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"BatchWriteException"} - ], - "documentation":"

Performs all the write operations in a batch. Either all the operations succeed or none.

" - }, - "CreateDirectory":{ - "name":"CreateDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/create", - "responseCode":200 - }, - "input":{"shape":"CreateDirectoryRequest"}, - "output":{"shape":"CreateDirectoryResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

" - }, - "CreateFacet":{ - "name":"CreateFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/create", - "responseCode":200 - }, - "input":{"shape":"CreateFacetRequest"}, - "output":{"shape":"CreateFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetAlreadyExistsException"}, - {"shape":"InvalidRuleException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

" - }, - "CreateIndex":{ - "name":"CreateIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index", - "responseCode":200 - }, - "input":{"shape":"CreateIndexRequest"}, - "output":{"shape":"CreateIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"UnsupportedIndexTypeException"} - ], - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "CreateObject":{ - "name":"CreateObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object", - "responseCode":200 - }, - "input":{"shape":"CreateObjectRequest"}, - "output":{"shape":"CreateObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"UnsupportedIndexTypeException"} - ], - "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" - }, - "CreateSchema":{ - "name":"CreateSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/create", - "responseCode":200 - }, - "input":{"shape":"CreateSchemaRequest"}, - "output":{"shape":"CreateSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"SchemaAlreadyExistsException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

" - }, - "CreateTypedLinkFacet":{ - "name":"CreateTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/create", - "responseCode":200 - }, - "input":{"shape":"CreateTypedLinkFacetRequest"}, - "output":{"shape":"CreateTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetAlreadyExistsException"}, - {"shape":"InvalidRuleException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Creates a TypedLinkFacet. For more information, see Typed link.

" - }, - "DeleteDirectory":{ - "name":"DeleteDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory", - "responseCode":200 - }, - "input":{"shape":"DeleteDirectoryRequest"}, - "output":{"shape":"DeleteDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryNotDisabledException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

" - }, - "DeleteFacet":{ - "name":"DeleteFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteFacetRequest"}, - "output":{"shape":"DeleteFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"FacetInUseException"} - ], - "documentation":"

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

" - }, - "DeleteObject":{ - "name":"DeleteObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteObjectRequest"}, - "output":{"shape":"DeleteObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ObjectNotDetachedException"} - ], - "documentation":"

Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted.

" - }, - "DeleteSchema":{ - "name":"DeleteSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema", - "responseCode":200 - }, - "input":{"shape":"DeleteSchemaRequest"}, - "output":{"shape":"DeleteSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"StillContainsLinksException"} - ], - "documentation":"

Deletes a given schema. Schemas in a development and published state can only be deleted.

" - }, - "DeleteTypedLinkFacet":{ - "name":"DeleteTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/delete", - "responseCode":200 - }, - "input":{"shape":"DeleteTypedLinkFacetRequest"}, - "output":{"shape":"DeleteTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Deletes a TypedLinkFacet. For more information, see Typed link.

" - }, - "DetachFromIndex":{ - "name":"DetachFromIndex", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/index/detach", - "responseCode":200 - }, - "input":{"shape":"DetachFromIndexRequest"}, - "output":{"shape":"DetachFromIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ObjectAlreadyDetachedException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Detaches the specified object from the specified index.

" - }, - "DetachObject":{ - "name":"DetachObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/detach", - "responseCode":200 - }, - "input":{"shape":"DetachObjectRequest"}, - "output":{"shape":"DetachObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotNodeException"} - ], - "documentation":"

Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.

" - }, - "DetachPolicy":{ - "name":"DetachPolicy", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/detach", - "responseCode":200 - }, - "input":{"shape":"DetachPolicyRequest"}, - "output":{"shape":"DetachPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Detaches a policy from an object.

" - }, - "DetachTypedLink":{ - "name":"DetachTypedLink", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/detach", - "responseCode":200 - }, - "input":{"shape":"DetachTypedLinkRequest"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "DisableDirectory":{ - "name":"DisableDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/disable", - "responseCode":200 - }, - "input":{"shape":"DisableDirectoryRequest"}, - "output":{"shape":"DisableDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

" - }, - "EnableDirectory":{ - "name":"EnableDirectory", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/enable", - "responseCode":200 - }, - "input":{"shape":"EnableDirectoryRequest"}, - "output":{"shape":"EnableDirectoryResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DirectoryDeletedException"}, - {"shape":"InternalServiceException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"RetryableConflictException"}, - {"shape":"InvalidArnException"} - ], - "documentation":"

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

" - }, - "GetAppliedSchemaVersion":{ - "name":"GetAppliedSchemaVersion", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/getappliedschema", - "responseCode":200 - }, - "input":{"shape":"GetAppliedSchemaVersionRequest"}, - "output":{"shape":"GetAppliedSchemaVersionResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns current applied schema version ARN, including the minor version in use.

" - }, - "GetDirectory":{ - "name":"GetDirectory", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/get", - "responseCode":200 - }, - "input":{"shape":"GetDirectoryRequest"}, - "output":{"shape":"GetDirectoryResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Retrieves metadata about a directory.

" - }, - "GetFacet":{ - "name":"GetFacet", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet", - "responseCode":200 - }, - "input":{"shape":"GetFacetRequest"}, - "output":{"shape":"GetFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" - }, - "GetLinkAttributes":{ - "name":"GetLinkAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/get", - "responseCode":200 - }, - "input":{"shape":"GetLinkAttributesRequest"}, - "output":{"shape":"GetLinkAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Retrieves attributes that are associated with a typed link.

" - }, - "GetObjectAttributes":{ - "name":"GetObjectAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes/get", - "responseCode":200 - }, - "input":{"shape":"GetObjectAttributesRequest"}, - "output":{"shape":"GetObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "GetObjectInformation":{ - "name":"GetObjectInformation", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/information", - "responseCode":200 - }, - "input":{"shape":"GetObjectInformationRequest"}, - "output":{"shape":"GetObjectInformationResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves metadata about an object.

" - }, - "GetSchemaAsJson":{ - "name":"GetSchemaAsJson", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", - "responseCode":200 - }, - "input":{"shape":"GetSchemaAsJsonRequest"}, - "output":{"shape":"GetSchemaAsJsonResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

" - }, - "GetTypedLinkFacetInformation":{ - "name":"GetTypedLinkFacetInformation", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/get", - "responseCode":200 - }, - "input":{"shape":"GetTypedLinkFacetInformationRequest"}, - "output":{"shape":"GetTypedLinkFacetInformationResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetNotFoundException"} - ], - "documentation":"

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

" - }, - "ListAppliedSchemaArns":{ - "name":"ListAppliedSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/applied", - "responseCode":200 - }, - "input":{"shape":"ListAppliedSchemaArnsRequest"}, - "output":{"shape":"ListAppliedSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

" - }, - "ListAttachedIndices":{ - "name":"ListAttachedIndices", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/indices", - "responseCode":200 - }, - "input":{"shape":"ListAttachedIndicesRequest"}, - "output":{"shape":"ListAttachedIndicesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists indices attached to the specified object.

" - }, - "ListDevelopmentSchemaArns":{ - "name":"ListDevelopmentSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/development", - "responseCode":200 - }, - "input":{"shape":"ListDevelopmentSchemaArnsRequest"}, - "output":{"shape":"ListDevelopmentSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

" - }, - "ListDirectories":{ - "name":"ListDirectories", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/directory/list", - "responseCode":200 - }, - "input":{"shape":"ListDirectoriesRequest"}, - "output":{"shape":"ListDirectoriesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists directories created within an account.

" - }, - "ListFacetAttributes":{ - "name":"ListFacetAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/attributes", - "responseCode":200 - }, - "input":{"shape":"ListFacetAttributesRequest"}, - "output":{"shape":"ListFacetAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves attributes attached to the facet.

" - }, - "ListFacetNames":{ - "name":"ListFacetNames", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/facet/list", - "responseCode":200 - }, - "input":{"shape":"ListFacetNamesRequest"}, - "output":{"shape":"ListFacetNamesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Retrieves the names of facets that exist in a schema.

" - }, - "ListIncomingTypedLinks":{ - "name":"ListIncomingTypedLinks", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/incoming", - "responseCode":200 - }, - "input":{"shape":"ListIncomingTypedLinksRequest"}, - "output":{"shape":"ListIncomingTypedLinksResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIndex":{ - "name":"ListIndex", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/index/targets", - "responseCode":200 - }, - "input":{"shape":"ListIndexRequest"}, - "output":{"shape":"ListIndexResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"FacetValidationException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotIndexException"} - ], - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListManagedSchemaArns":{ - "name":"ListManagedSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/managed", - "responseCode":200 - }, - "input":{"shape":"ListManagedSchemaArnsRequest"}, - "output":{"shape":"ListManagedSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the major version families of each managed schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" - }, - "ListObjectAttributes":{ - "name":"ListObjectAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes", - "responseCode":200 - }, - "input":{"shape":"ListObjectAttributesRequest"}, - "output":{"shape":"ListObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "name":"ListObjectChildren", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/children", - "responseCode":200 - }, - "input":{"shape":"ListObjectChildrenRequest"}, - "output":{"shape":"ListObjectChildrenResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NotNodeException"} - ], - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "ListObjectParentPaths":{ - "name":"ListObjectParentPaths", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/parentpaths", - "responseCode":200 - }, - "input":{"shape":"ListObjectParentPathsRequest"}, - "output":{"shape":"ListObjectParentPathsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

" - }, - "ListObjectParents":{ - "name":"ListObjectParents", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/parent", - "responseCode":200 - }, - "input":{"shape":"ListObjectParentsRequest"}, - "output":{"shape":"ListObjectParentsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"CannotListParentOfRootException"} - ], - "documentation":"

Lists parent objects that are associated with a given object in pagination fashion.

" - }, - "ListObjectPolicies":{ - "name":"ListObjectPolicies", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/object/policy", - "responseCode":200 - }, - "input":{"shape":"ListObjectPoliciesRequest"}, - "output":{"shape":"ListObjectPoliciesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListOutgoingTypedLinks":{ - "name":"ListOutgoingTypedLinks", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/outgoing", - "responseCode":200 - }, - "input":{"shape":"ListOutgoingTypedLinksRequest"}, - "output":{"shape":"ListOutgoingTypedLinksResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListPolicyAttachments":{ - "name":"ListPolicyAttachments", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/attachment", - "responseCode":200 - }, - "input":{"shape":"ListPolicyAttachmentsRequest"}, - "output":{"shape":"ListPolicyAttachmentsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotPolicyException"} - ], - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "ListPublishedSchemaArns":{ - "name":"ListPublishedSchemaArns", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/published", - "responseCode":200 - }, - "input":{"shape":"ListPublishedSchemaArnsRequest"}, - "output":{"shape":"ListPublishedSchemaArnsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/tags", - "responseCode":200 - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.

" - }, - "ListTypedLinkFacetAttributes":{ - "name":"ListTypedLinkFacetAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", - "responseCode":200 - }, - "input":{"shape":"ListTypedLinkFacetAttributesRequest"}, - "output":{"shape":"ListTypedLinkFacetAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

" - }, - "ListTypedLinkFacetNames":{ - "name":"ListTypedLinkFacetNames", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/list", - "responseCode":200 - }, - "input":{"shape":"ListTypedLinkFacetNamesRequest"}, - "output":{"shape":"ListTypedLinkFacetNamesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

" - }, - "LookupPolicy":{ - "name":"LookupPolicy", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/policy/lookup", - "responseCode":200 - }, - "input":{"shape":"LookupPolicyRequest"}, - "output":{"shape":"LookupPolicyResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "PublishSchema":{ - "name":"PublishSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/publish", - "responseCode":200 - }, - "input":{"shape":"PublishSchemaRequest"}, - "output":{"shape":"PublishSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"SchemaAlreadyPublishedException"} - ], - "documentation":"

Publishes a development schema with a major version and a recommended minor version.

" - }, - "PutSchemaFromJson":{ - "name":"PutSchemaFromJson", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", - "responseCode":200 - }, - "input":{"shape":"PutSchemaFromJsonRequest"}, - "output":{"shape":"PutSchemaFromJsonResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidSchemaDocException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

" - }, - "RemoveFacetFromObject":{ - "name":"RemoveFacetFromObject", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/facets/delete", - "responseCode":200 - }, - "input":{"shape":"RemoveFacetFromObjectRequest"}, - "output":{"shape":"RemoveFacetFromObjectResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Removes the specified facet from the specified object.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/tags/add", - "responseCode":200 - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

An API operation for adding tags to a resource.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/tags/remove", - "responseCode":200 - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidTaggingRequestException"} - ], - "documentation":"

An API operation for removing tags from a resource.

" - }, - "UpdateFacet":{ - "name":"UpdateFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/facet", - "responseCode":200 - }, - "input":{"shape":"UpdateFacetRequest"}, - "output":{"shape":"UpdateFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidFacetUpdateException"}, - {"shape":"FacetValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" - }, - "UpdateLinkAttributes":{ - "name":"UpdateLinkAttributes", - "http":{ - "method":"POST", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/update", - "responseCode":200 - }, - "input":{"shape":"UpdateLinkAttributesRequest"}, - "output":{"shape":"UpdateLinkAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.

" - }, - "UpdateObjectAttributes":{ - "name":"UpdateObjectAttributes", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/object/update", - "responseCode":200 - }, - "input":{"shape":"UpdateObjectAttributesRequest"}, - "output":{"shape":"UpdateObjectAttributesResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"DirectoryNotEnabledException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LinkNameAlreadyInUseException"}, - {"shape":"FacetValidationException"} - ], - "documentation":"

Updates a given object's attributes.

" - }, - "UpdateSchema":{ - "name":"UpdateSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/update", - "responseCode":200 - }, - "input":{"shape":"UpdateSchemaRequest"}, - "output":{"shape":"UpdateSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the schema name with a new name. Only development schema names can be updated.

" - }, - "UpdateTypedLinkFacet":{ - "name":"UpdateTypedLinkFacet", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet", - "responseCode":200 - }, - "input":{"shape":"UpdateTypedLinkFacetRequest"}, - "output":{"shape":"UpdateTypedLinkFacetResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"FacetValidationException"}, - {"shape":"InvalidFacetUpdateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"FacetNotFoundException"}, - {"shape":"InvalidRuleException"} - ], - "documentation":"

Updates a TypedLinkFacet. For more information, see Typed link.

" - }, - "UpgradeAppliedSchema":{ - "name":"UpgradeAppliedSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradeapplied", - "responseCode":200 - }, - "input":{"shape":"UpgradeAppliedSchemaRequest"}, - "output":{"shape":"UpgradeAppliedSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"IncompatibleSchemaException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"SchemaAlreadyExistsException"} - ], - "documentation":"

Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.

" - }, - "UpgradePublishedSchema":{ - "name":"UpgradePublishedSchema", - "http":{ - "method":"PUT", - "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradepublished", - "responseCode":200 - }, - "input":{"shape":"UpgradePublishedSchemaRequest"}, - "output":{"shape":"UpgradePublishedSchemaResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidArnException"}, - {"shape":"RetryableConflictException"}, - {"shape":"ValidationException"}, - {"shape":"IncompatibleSchemaException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidAttachmentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Access denied. Check your permissions.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "AddFacetToObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes on the facet that you are adding to the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object you are adding the specified facet to.

" - } - } - }, - "AddFacetToObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "ApplySchemaRequest":{ - "type":"structure", - "required":[ - "PublishedSchemaArn", - "DirectoryArn" - ], - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "ApplySchemaResponse":{ - "type":"structure", - "members":{ - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

The applied schema ARN that is associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" - } - } - }, - "Arn":{"type":"string"}, - "Arns":{ - "type":"list", - "member":{"shape":"Arn"} - }, - "AttachObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ParentReference", - "ChildReference", - "LinkName" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent object reference.

" - }, - "ChildReference":{ - "shape":"ObjectReference", - "documentation":"

The child object reference to be attached to the object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The link name with which the child object is attached to the parent.

" - } - } - }, - "AttachObjectResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The attached ObjectIdentifier, which is the child ObjectIdentifier.

" - } - } - }, - "AttachPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that is associated with the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object to which the policy will be attached.

" - } - } - }, - "AttachPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "AttachToIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where the object and index exist.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index that you are attaching the object to.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that you are attaching to the index.

" - } - } - }, - "AttachToIndexResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" - } - } - }, - "AttachTypedLinkRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SourceObjectReference", - "TargetObjectReference", - "TypedLinkFacet", - "Attributes" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "Attributes":{ - "shape":"AttributeNameAndValueList", - "documentation":"

A set of attributes that are associated with the typed link.

" - } - } - }, - "AttachTypedLinkResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Returns a typed link specifier as output.

" - } - } - }, - "AttributeKey":{ - "type":"structure", - "required":[ - "SchemaArn", - "FacetName", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.

" - }, - "FacetName":{ - "shape":"FacetName", - "documentation":"

The name of the facet that the attribute exists within.

" - }, - "Name":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - } - }, - "documentation":"

A unique identifier for an attribute.

" - }, - "AttributeKeyAndValue":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute.

" - }, - "Value":{ - "shape":"TypedAttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

The combination of an attribute key and an attribute value.

" - }, - "AttributeKeyAndValueList":{ - "type":"list", - "member":{"shape":"AttributeKeyAndValue"} - }, - "AttributeKeyList":{ - "type":"list", - "member":{"shape":"AttributeKey"} - }, - "AttributeName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "AttributeNameAndValue":{ - "type":"structure", - "required":[ - "AttributeName", - "Value" - ], - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The attribute name of the typed link.

" - }, - "Value":{ - "shape":"TypedAttributeValue", - "documentation":"

The value for the typed link.

" - } - }, - "documentation":"

Identifies the attribute name and value for a typed link.

" - }, - "AttributeNameAndValueList":{ - "type":"list", - "member":{"shape":"AttributeNameAndValue"} - }, - "AttributeNameList":{ - "type":"list", - "member":{"shape":"AttributeName"} - }, - "BatchAddFacetToObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectAttributeList", - "ObjectReference" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Represents the facet being added to the object.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes to set on the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being mutated.

" - } - }, - "documentation":"

Represents the output of a batch add facet to object operation.

" - }, - "BatchAddFacetToObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a batch add facet to object operation.

" - }, - "BatchAttachObject":{ - "type":"structure", - "required":[ - "ParentReference", - "ChildReference", - "LinkName" - ], - "members":{ - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent object reference.

" - }, - "ChildReference":{ - "shape":"ObjectReference", - "documentation":"

The child object reference that is to be attached to the object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - } - }, - "documentation":"

Represents the output of an AttachObject operation.

" - }, - "BatchAttachObjectResponse":{ - "type":"structure", - "members":{ - "attachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that has been attached.

" - } - }, - "documentation":"

Represents the output batch AttachObject response operation.

" - }, - "BatchAttachPolicy":{ - "type":"structure", - "required":[ - "PolicyReference", - "ObjectReference" - ], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that is associated with the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object to which the policy will be attached.

" - } - }, - "documentation":"

Attaches a policy object to a regular object inside a BatchRead operation. For more information, see AttachPolicy and BatchReadRequest$Operations.

" - }, - "BatchAttachPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of an AttachPolicy response operation.

" - }, - "BatchAttachToIndex":{ - "type":"structure", - "required":[ - "IndexReference", - "TargetReference" - ], - "members":{ - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index that you are attaching the object to.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that you are attaching to the index.

" - } - }, - "documentation":"

Attaches the specified object to the specified index inside a BatchRead operation. For more information, see AttachToIndex and BatchReadRequest$Operations.

" - }, - "BatchAttachToIndexResponse":{ - "type":"structure", - "members":{ - "AttachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" - } - }, - "documentation":"

Represents the output of a AttachToIndex response operation.

" - }, - "BatchAttachTypedLink":{ - "type":"structure", - "required":[ - "SourceObjectReference", - "TargetObjectReference", - "TypedLinkFacet", - "Attributes" - ], - "members":{ - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "Attributes":{ - "shape":"AttributeNameAndValueList", - "documentation":"

A set of attributes that are associated with the typed link.

" - } - }, - "documentation":"

Attaches a typed link to a specified source and target object inside a BatchRead operation. For more information, see AttachTypedLink and BatchReadRequest$Operations.

" - }, - "BatchAttachTypedLinkResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Returns a typed link specifier as output.

" - } - }, - "documentation":"

Represents the output of a AttachTypedLink response operation.

" - }, - "BatchCreateIndex":{ - "type":"structure", - "required":[ - "OrderedIndexedAttributeList", - "IsUnique" - ], - "members":{ - "OrderedIndexedAttributeList":{ - "shape":"AttributeKeyList", - "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" - }, - "IsUnique":{ - "shape":"Bool", - "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the parent object that contains the index object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link between the parent object and the index object.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Creates an index object inside of a BatchRead operation. For more information, see CreateIndex and BatchReadRequest$Operations.

" - }, - "BatchCreateIndexResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the index created by this operation.

" - } - }, - "documentation":"

Represents the output of a CreateIndex response operation.

" - }, - "BatchCreateObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectAttributeList" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacetList", - "documentation":"

A list of FacetArns that will be associated with the object. For more information, see arns.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

If specified, the parent reference to which this object will be attached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Represents the output of a CreateObject operation.

" - }, - "BatchCreateObjectResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ID that is associated with the object.

" - } - }, - "documentation":"

Represents the output of a CreateObject response operation.

" - }, - "BatchDeleteObject":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object.

" - } - }, - "documentation":"

Represents the output of a DeleteObject operation.

" - }, - "BatchDeleteObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DeleteObject response operation.

" - }, - "BatchDetachFromIndex":{ - "type":"structure", - "required":[ - "IndexReference", - "TargetReference" - ], - "members":{ - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index object.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being detached from the index.

" - } - }, - "documentation":"

Detaches the specified object from the specified index inside a BatchRead operation. For more information, see DetachFromIndex and BatchReadRequest$Operations.

" - }, - "BatchDetachFromIndexResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" - } - }, - "documentation":"

Represents the output of a DetachFromIndex response operation.

" - }, - "BatchDetachObject":{ - "type":"structure", - "required":[ - "ParentReference", - "LinkName" - ], - "members":{ - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

Parent reference from which the object with the specified link name is detached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link.

" - }, - "BatchReferenceName":{ - "shape":"BatchReferenceName", - "documentation":"

The batch reference name. See Batches for more information.

" - } - }, - "documentation":"

Represents the output of a DetachObject operation.

" - }, - "BatchDetachObjectResponse":{ - "type":"structure", - "members":{ - "detachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the detached object.

" - } - }, - "documentation":"

Represents the output of a DetachObject response operation.

" - }, - "BatchDetachPolicy":{ - "type":"structure", - "required":[ - "PolicyReference", - "ObjectReference" - ], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policy object will be detached.

" - } - }, - "documentation":"

Detaches the specified policy from the specified directory inside a BatchWrite operation. For more information, see DetachPolicy and BatchWriteRequest$Operations.

" - }, - "BatchDetachPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DetachPolicy response operation.

" - }, - "BatchDetachTypedLink":{ - "type":"structure", - "required":["TypedLinkSpecifier"], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Used to accept a typed link specifier as input.

" - } - }, - "documentation":"

Detaches a typed link from a specified source and target object inside a BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations.

" - }, - "BatchDetachTypedLinkResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a DetachTypedLink response operation.

" - }, - "BatchGetLinkAttributes":{ - "type":"structure", - "required":[ - "TypedLinkSpecifier", - "AttributeNames" - ], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

A list of attribute names whose values will be retrieved.

" - } - }, - "documentation":"

Retrieves attributes that are associated with a typed link inside a BatchRead operation. For more information, see GetLinkAttributes and BatchReadRequest$Operations.

" - }, - "BatchGetLinkAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the typed link.

" - } - }, - "documentation":"

Represents the output of a GetLinkAttributes response operation.

" - }, - "BatchGetObjectAttributes":{ - "type":"structure", - "required":[ - "ObjectReference", - "SchemaFacet", - "AttributeNames" - ], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

List of attribute names whose values will be retrieved.

" - } - }, - "documentation":"

Retrieves attributes within a facet that are associated with an object inside an BatchRead operation. For more information, see GetObjectAttributes and BatchReadRequest$Operations.

" - }, - "BatchGetObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attribute values that are associated with an object.

" - } - }, - "documentation":"

Represents the output of a GetObjectAttributes response operation.

" - }, - "BatchGetObjectInformation":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object.

" - } - }, - "documentation":"

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

" - }, - "BatchGetObjectInformationResponse":{ - "type":"structure", - "members":{ - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

The facets attached to the specified object.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the specified object.

" - } - }, - "documentation":"

Represents the output of a GetObjectInformation response operation.

" - }, - "BatchListAttachedIndices":{ - "type":"structure", - "required":["TargetReference"], - "members":{ - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that has indices attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

" - }, - "BatchListAttachedIndicesResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The indices attached to the specified object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListAttachedIndices response operation.

" - }, - "BatchListIncomingTypedLinks":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks and BatchReadRequest$Operations.

" - }, - "BatchListIncomingTypedLinksResponse":{ - "type":"structure", - "members":{ - "LinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns one or more typed link specifiers as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListIncomingTypedLinks response operation.

" - }, - "BatchListIndex":{ - "type":"structure", - "required":["IndexReference"], - "members":{ - "RangesOnIndexedValues":{ - "shape":"ObjectAttributeRangeList", - "documentation":"

Specifies the ranges of indexed values that you want to query.

" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

The reference to the index to list.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Lists objects attached to the specified index inside a BatchRead operation. For more information, see ListIndex and BatchReadRequest$Operations.

" - }, - "BatchListIndexResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The objects and indexed values attached to the index.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListIndex response operation.

" - }, - "BatchListObjectAttributes":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference of the object whose attributes need to be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "FacetFilter":{ - "shape":"SchemaFacet", - "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" - } - }, - "documentation":"

Represents the output of a ListObjectAttributes operation.

" - }, - "BatchListObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectAttributes response operation.

" - }, - "BatchListObjectChildren":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference of the object for which child objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - }, - "documentation":"

Represents the output of a ListObjectChildren operation.

" - }, - "BatchListObjectChildrenResponse":{ - "type":"structure", - "members":{ - "Children":{ - "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

The children structure, which is a map with the key as the LinkName and ObjectIdentifier as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectChildren response operation.

" - }, - "BatchListObjectParentPaths":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a BatchRead operation. For more information, see ListObjectParentPaths and BatchReadRequest$Operations.

" - }, - "BatchListObjectParentPathsResponse":{ - "type":"structure", - "members":{ - "PathToObjectIdentifiersList":{ - "shape":"PathToObjectIdentifiersList", - "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectParentPaths response operation.

" - }, - "BatchListObjectPolicies":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns policies attached to an object in pagination fashion inside a BatchRead operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations.

" - }, - "BatchListObjectPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicyIds":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListObjectPolicies response operation.

" - }, - "BatchListOutgoingTypedLinks":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

" - }, - "BatchListOutgoingTypedLinksResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns a typed link specifier as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListOutgoingTypedLinks response operation.

" - }, - "BatchListPolicyAttachments":{ - "type":"structure", - "required":["PolicyReference"], - "members":{ - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the policy object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

" - }, - "BatchListPolicyAttachmentsResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a ListPolicyAttachments response operation.

" - }, - "BatchLookupPolicy":{ - "type":"structure", - "required":["ObjectReference"], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policies will be looked up.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - }, - "documentation":"

Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

" - }, - "BatchLookupPolicyResponse":{ - "type":"structure", - "members":{ - "PolicyToPathList":{ - "shape":"PolicyToPathList", - "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the output of a LookupPolicy response operation.

" - }, - "BatchOperationIndex":{"type":"integer"}, - "BatchReadException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"BatchReadExceptionType", - "documentation":"

A type of exception, such as InvalidArnException.

" - }, - "Message":{ - "shape":"ExceptionMessage", - "documentation":"

An exception message that is associated with the failure.

" - } - }, - "documentation":"

The batch read exception structure, which contains the exception type and message.

" - }, - "BatchReadExceptionType":{ - "type":"string", - "enum":[ - "ValidationException", - "InvalidArnException", - "ResourceNotFoundException", - "InvalidNextTokenException", - "AccessDeniedException", - "NotNodeException", - "FacetValidationException", - "CannotListParentOfRootException", - "NotIndexException", - "NotPolicyException", - "DirectoryNotEnabledException", - "LimitExceededException", - "InternalServiceException" - ] - }, - "BatchReadOperation":{ - "type":"structure", - "members":{ - "ListObjectAttributes":{ - "shape":"BatchListObjectAttributes", - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "shape":"BatchListObjectChildren", - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "ListAttachedIndices":{ - "shape":"BatchListAttachedIndices", - "documentation":"

Lists indices attached to an object.

" - }, - "ListObjectParentPaths":{ - "shape":"BatchListObjectParentPaths", - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" - }, - "GetObjectInformation":{ - "shape":"BatchGetObjectInformation", - "documentation":"

Retrieves metadata about an object.

" - }, - "GetObjectAttributes":{ - "shape":"BatchGetObjectAttributes", - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "ListObjectPolicies":{ - "shape":"BatchListObjectPolicies", - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListPolicyAttachments":{ - "shape":"BatchListPolicyAttachments", - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "LookupPolicy":{ - "shape":"BatchLookupPolicy", - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "ListIndex":{ - "shape":"BatchListIndex", - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListOutgoingTypedLinks":{ - "shape":"BatchListOutgoingTypedLinks", - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIncomingTypedLinks":{ - "shape":"BatchListIncomingTypedLinks", - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "GetLinkAttributes":{ - "shape":"BatchGetLinkAttributes", - "documentation":"

Retrieves attributes that are associated with a typed link.

" - } - }, - "documentation":"

Represents the output of a BatchRead operation.

" - }, - "BatchReadOperationList":{ - "type":"list", - "member":{"shape":"BatchReadOperation"} - }, - "BatchReadOperationResponse":{ - "type":"structure", - "members":{ - "SuccessfulResponse":{ - "shape":"BatchReadSuccessfulResponse", - "documentation":"

Identifies which operation in a batch has succeeded.

" - }, - "ExceptionResponse":{ - "shape":"BatchReadException", - "documentation":"

Identifies which operation in a batch has failed.

" - } - }, - "documentation":"

Represents the output of a BatchRead response operation.

" - }, - "BatchReadOperationResponseList":{ - "type":"list", - "member":{"shape":"BatchReadOperationResponse"} - }, - "BatchReadRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Operations" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Operations":{ - "shape":"BatchReadOperationList", - "documentation":"

A list of operations that are part of the batch.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "BatchReadResponse":{ - "type":"structure", - "members":{ - "Responses":{ - "shape":"BatchReadOperationResponseList", - "documentation":"

A list of all the responses for each batch read.

" - } - } - }, - "BatchReadSuccessfulResponse":{ - "type":"structure", - "members":{ - "ListObjectAttributes":{ - "shape":"BatchListObjectAttributesResponse", - "documentation":"

Lists all attributes that are associated with an object.

" - }, - "ListObjectChildren":{ - "shape":"BatchListObjectChildrenResponse", - "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" - }, - "GetObjectInformation":{ - "shape":"BatchGetObjectInformationResponse", - "documentation":"

Retrieves metadata about an object.

" - }, - "GetObjectAttributes":{ - "shape":"BatchGetObjectAttributesResponse", - "documentation":"

Retrieves attributes within a facet that are associated with an object.

" - }, - "ListAttachedIndices":{ - "shape":"BatchListAttachedIndicesResponse", - "documentation":"

Lists indices attached to an object.

" - }, - "ListObjectParentPaths":{ - "shape":"BatchListObjectParentPathsResponse", - "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" - }, - "ListObjectPolicies":{ - "shape":"BatchListObjectPoliciesResponse", - "documentation":"

Returns policies attached to an object in pagination fashion.

" - }, - "ListPolicyAttachments":{ - "shape":"BatchListPolicyAttachmentsResponse", - "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" - }, - "LookupPolicy":{ - "shape":"BatchLookupPolicyResponse", - "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" - }, - "ListIndex":{ - "shape":"BatchListIndexResponse", - "documentation":"

Lists objects attached to the specified index.

" - }, - "ListOutgoingTypedLinks":{ - "shape":"BatchListOutgoingTypedLinksResponse", - "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "ListIncomingTypedLinks":{ - "shape":"BatchListIncomingTypedLinksResponse", - "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" - }, - "GetLinkAttributes":{ - "shape":"BatchGetLinkAttributesResponse", - "documentation":"

The list of attributes to retrieve from the typed link.

" - } - }, - "documentation":"

Represents the output of a BatchRead success response operation.

" - }, - "BatchReferenceName":{"type":"string"}, - "BatchRemoveFacetFromObject":{ - "type":"structure", - "required":[ - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

The facet to remove from the object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object whose facet will be removed.

" - } - }, - "documentation":"

A batch operation to remove a facet from an object.

" - }, - "BatchRemoveFacetFromObjectResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty result that represents success.

" - }, - "BatchUpdateLinkAttributes":{ - "type":"structure", - "required":[ - "TypedLinkSpecifier", - "AttributeUpdates" - ], - "members":{ - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeUpdates":{ - "shape":"LinkAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - }, - "documentation":"

Updates a given typed link’s attributes inside a BatchRead operation. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder. For more information, see UpdateLinkAttributes and BatchReadRequest$Operations.

" - }, - "BatchUpdateLinkAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the output of a UpdateLinkAttributes response operation.

" - }, - "BatchUpdateObjectAttributes":{ - "type":"structure", - "required":[ - "ObjectReference", - "AttributeUpdates" - ], - "members":{ - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object.

" - }, - "AttributeUpdates":{ - "shape":"ObjectAttributeUpdateList", - "documentation":"

Attributes update structure.

" - } - }, - "documentation":"

Represents the output of a BatchUpdate operation.

" - }, - "BatchUpdateObjectAttributesResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

ID that is associated with the object.

" - } - }, - "documentation":"

Represents the output of a BatchUpdate response operation.

" - }, - "BatchWriteException":{ - "type":"structure", - "members":{ - "Index":{"shape":"BatchOperationIndex"}, - "Type":{"shape":"BatchWriteExceptionType"}, - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A BatchWrite exception has occurred.

", - "exception":true - }, - "BatchWriteExceptionType":{ - "type":"string", - "enum":[ - "InternalServiceException", - "ValidationException", - "InvalidArnException", - "LinkNameAlreadyInUseException", - "StillContainsLinksException", - "FacetValidationException", - "ObjectNotDetachedException", - "ResourceNotFoundException", - "AccessDeniedException", - "InvalidAttachmentException", - "NotIndexException", - "NotNodeException", - "IndexedAttributeMissingException", - "ObjectAlreadyDetachedException", - "NotPolicyException", - "DirectoryNotEnabledException", - "LimitExceededException", - "UnsupportedIndexTypeException" - ] - }, - "BatchWriteOperation":{ - "type":"structure", - "members":{ - "CreateObject":{ - "shape":"BatchCreateObject", - "documentation":"

Creates an object.

" - }, - "AttachObject":{ - "shape":"BatchAttachObject", - "documentation":"

Attaches an object to a Directory.

" - }, - "DetachObject":{ - "shape":"BatchDetachObject", - "documentation":"

Detaches an object from a Directory.

" - }, - "UpdateObjectAttributes":{ - "shape":"BatchUpdateObjectAttributes", - "documentation":"

Updates a given object's attributes.

" - }, - "DeleteObject":{ - "shape":"BatchDeleteObject", - "documentation":"

Deletes an object in a Directory.

" - }, - "AddFacetToObject":{ - "shape":"BatchAddFacetToObject", - "documentation":"

A batch operation that adds a facet to an object.

" - }, - "RemoveFacetFromObject":{ - "shape":"BatchRemoveFacetFromObject", - "documentation":"

A batch operation that removes a facet from an object.

" - }, - "AttachPolicy":{ - "shape":"BatchAttachPolicy", - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "DetachPolicy":{ - "shape":"BatchDetachPolicy", - "documentation":"

Detaches a policy from a Directory.

" - }, - "CreateIndex":{ - "shape":"BatchCreateIndex", - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "AttachToIndex":{ - "shape":"BatchAttachToIndex", - "documentation":"

Attaches the specified object to the specified index.

" - }, - "DetachFromIndex":{ - "shape":"BatchDetachFromIndex", - "documentation":"

Detaches the specified object from the specified index.

" - }, - "AttachTypedLink":{ - "shape":"BatchAttachTypedLink", - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "DetachTypedLink":{ - "shape":"BatchDetachTypedLink", - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "UpdateLinkAttributes":{ - "shape":"BatchUpdateLinkAttributes", - "documentation":"

Updates a given object's attributes.

" - } - }, - "documentation":"

Represents the output of a BatchWrite operation.

" - }, - "BatchWriteOperationList":{ - "type":"list", - "member":{"shape":"BatchWriteOperation"} - }, - "BatchWriteOperationResponse":{ - "type":"structure", - "members":{ - "CreateObject":{ - "shape":"BatchCreateObjectResponse", - "documentation":"

Creates an object in a Directory.

" - }, - "AttachObject":{ - "shape":"BatchAttachObjectResponse", - "documentation":"

Attaches an object to a Directory.

" - }, - "DetachObject":{ - "shape":"BatchDetachObjectResponse", - "documentation":"

Detaches an object from a Directory.

" - }, - "UpdateObjectAttributes":{ - "shape":"BatchUpdateObjectAttributesResponse", - "documentation":"

Updates a given object’s attributes.

" - }, - "DeleteObject":{ - "shape":"BatchDeleteObjectResponse", - "documentation":"

Deletes an object in a Directory.

" - }, - "AddFacetToObject":{ - "shape":"BatchAddFacetToObjectResponse", - "documentation":"

The result of an add facet to object batch operation.

" - }, - "RemoveFacetFromObject":{ - "shape":"BatchRemoveFacetFromObjectResponse", - "documentation":"

The result of a batch remove facet from object operation.

" - }, - "AttachPolicy":{ - "shape":"BatchAttachPolicyResponse", - "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" - }, - "DetachPolicy":{ - "shape":"BatchDetachPolicyResponse", - "documentation":"

Detaches a policy from a Directory.

" - }, - "CreateIndex":{ - "shape":"BatchCreateIndexResponse", - "documentation":"

Creates an index object. See Indexing for more information.

" - }, - "AttachToIndex":{ - "shape":"BatchAttachToIndexResponse", - "documentation":"

Attaches the specified object to the specified index.

" - }, - "DetachFromIndex":{ - "shape":"BatchDetachFromIndexResponse", - "documentation":"

Detaches the specified object from the specified index.

" - }, - "AttachTypedLink":{ - "shape":"BatchAttachTypedLinkResponse", - "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" - }, - "DetachTypedLink":{ - "shape":"BatchDetachTypedLinkResponse", - "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" - }, - "UpdateLinkAttributes":{ - "shape":"BatchUpdateLinkAttributesResponse", - "documentation":"

Represents the output of a BatchWrite response operation.

" - } - }, - "documentation":"

Represents the output of a BatchWrite response operation.

" - }, - "BatchWriteOperationResponseList":{ - "type":"list", - "member":{"shape":"BatchWriteOperationResponse"} - }, - "BatchWriteRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Operations" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Operations":{ - "shape":"BatchWriteOperationList", - "documentation":"

A list of operations that are part of the batch.

" - } - } - }, - "BatchWriteResponse":{ - "type":"structure", - "members":{ - "Responses":{ - "shape":"BatchWriteOperationResponseList", - "documentation":"

A list of all the responses for each batch write.

" - } - } - }, - "BinaryAttributeValue":{"type":"blob"}, - "Bool":{"type":"boolean"}, - "BooleanAttributeValue":{"type":"boolean"}, - "CannotListParentOfRootException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Cannot list the parents of a Directory root.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ConsistencyLevel":{ - "type":"string", - "enum":[ - "SERIALIZABLE", - "EVENTUAL" - ] - }, - "CreateDirectoryRequest":{ - "type":"structure", - "required":[ - "Name", - "SchemaArn" - ], - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the Directory. Should be unique per account, per region.

" - }, - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "CreateDirectoryResponse":{ - "type":"structure", - "required":[ - "DirectoryArn", - "Name", - "ObjectIdentifier", - "AppliedSchemaArn" - ], - "members":{ - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" - }, - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the Directory.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The root object node of the created directory.

" - }, - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see arns.

" - } - } - }, - "CreateFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The schema ARN in which the new Facet will be created. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the Facet, which is unique for a given schema.

" - }, - "Attributes":{ - "shape":"FacetAttributeList", - "documentation":"

The attributes that are associated with the Facet.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

  • Node: Can have multiple children but one parent.

  • Leaf node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" - }, - "FacetStyle":{ - "shape":"FacetStyle", - "documentation":"

There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

" - } - } - }, - "CreateFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "OrderedIndexedAttributeList", - "IsUnique" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory where the index should be created.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "OrderedIndexedAttributeList":{ - "shape":"AttributeKeyList", - "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" - }, - "IsUnique":{ - "shape":"Bool", - "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the parent object that contains the index object.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of the link between the parent object and the index object.

" - } - } - }, - "CreateIndexResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the index created by this operation.

" - } - } - }, - "CreateObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacets" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

" - }, - "ObjectAttributeList":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attribute map whose attribute ARN contains the key and attribute value as the map value.

" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

If specified, the parent reference to which this object will be attached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The name of link that is used to attach this object to a parent.

" - } - } - }, - "CreateObjectResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The identifier that is associated with the object.

" - } - } - }, - "CreateSchemaRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"SchemaName", - "documentation":"

The name that is associated with the schema. This is unique to each account and in each region.

" - } - } - }, - "CreateSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" - } - } - }, - "CreateTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Facet" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Facet":{ - "shape":"TypedLinkFacet", - "documentation":"

Facet structure that is associated with the typed link facet.

" - } - } - }, - "CreateTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "Date":{"type":"timestamp"}, - "DatetimeAttributeValue":{"type":"timestamp"}, - "DeleteDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to delete.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DeleteDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the deleted directory.

" - } - } - }, - "DeleteFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet to delete.

" - } - } - }, - "DeleteFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference that identifies the object.

" - } - } - }, - "DeleteObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteSchemaRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DeleteSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The input ARN that is returned as part of the response. For more information, see arns.

" - } - } - }, - "DeleteTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - } - }, - "DeleteTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "DetachFromIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory the index and object exist in.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the index object.

" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object being detached from the index.

" - } - } - }, - "DetachFromIndexResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" - } - } - }, - "DetachObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ParentReference", - "LinkName" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ParentReference":{ - "shape":"ObjectReference", - "documentation":"

The parent reference from which the object with the specified link name is detached.

" - }, - "LinkName":{ - "shape":"LinkName", - "documentation":"

The link name associated with the object that needs to be detached.

" - } - } - }, - "DetachObjectResponse":{ - "type":"structure", - "members":{ - "DetachedObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier that was detached from the object.

" - } - } - }, - "DetachPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the policy object.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policy object will be detached.

" - } - } - }, - "DetachPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "DetachTypedLinkRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Used to accept a typed link specifier as input.

" - } - } - }, - "Directory":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The name of the directory.

" - }, - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the directory. For more information, see arns.

" - }, - "State":{ - "shape":"DirectoryState", - "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the directory was created.

" - } - }, - "documentation":"

Directory structure that includes the directory name and directory ARN.

" - }, - "DirectoryAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a Directory could not be created due to a naming conflict. Choose a different name and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryArn":{"type":"string"}, - "DirectoryDeletedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A directory that has been deleted and to which access has been attempted. Note: The requested resource will eventually cease to exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryList":{ - "type":"list", - "member":{"shape":"Directory"} - }, - "DirectoryName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "DirectoryNotDisabledException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An operation can only operate on a disabled directory.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryNotEnabledException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Operations are only permitted on enabled directories.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DirectoryState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED", - "DELETED" - ] - }, - "DisableDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to disable.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "DisableDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that has been disabled.

" - } - } - }, - "EnableDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to enable.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "EnableDirectoryResponse":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the enabled directory.

" - } - } - }, - "ExceptionMessage":{"type":"string"}, - "Facet":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the Facet.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" - }, - "FacetStyle":{ - "shape":"FacetStyle", - "documentation":"

There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

" - } - }, - "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes. See Facets for more information.

" - }, - "FacetAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

A facet with the same name already exists.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetAttribute":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"AttributeName", - "documentation":"

The name of the facet attribute.

" - }, - "AttributeDefinition":{ - "shape":"FacetAttributeDefinition", - "documentation":"

A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information.

" - }, - "AttributeReference":{ - "shape":"FacetAttributeReference", - "documentation":"

An attribute reference that is associated with the attribute. See Attribute References for more information.

" - }, - "RequiredBehavior":{ - "shape":"RequiredAttributeBehavior", - "documentation":"

The required behavior of the FacetAttribute.

" - } - }, - "documentation":"

An attribute that is associated with the Facet.

" - }, - "FacetAttributeDefinition":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"FacetAttributeType", - "documentation":"

The type of the attribute.

" - }, - "DefaultValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The default value of the attribute (if configured).

" - }, - "IsImmutable":{ - "shape":"Bool", - "documentation":"

Whether the attribute is mutable or not.

" - }, - "Rules":{ - "shape":"RuleMap", - "documentation":"

Validation rules attached to the attribute definition.

" - } - }, - "documentation":"

A facet attribute definition. See Attribute References for more information.

" - }, - "FacetAttributeList":{ - "type":"list", - "member":{"shape":"FacetAttribute"} - }, - "FacetAttributeReference":{ - "type":"structure", - "required":[ - "TargetFacetName", - "TargetAttributeName" - ], - "members":{ - "TargetFacetName":{ - "shape":"FacetName", - "documentation":"

The target facet name that is associated with the facet reference. See Attribute References for more information.

" - }, - "TargetAttributeName":{ - "shape":"AttributeName", - "documentation":"

The target attribute name that is associated with the facet reference. See Attribute References for more information.

" - } - }, - "documentation":"

The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.

" - }, - "FacetAttributeType":{ - "type":"string", - "enum":[ - "STRING", - "BINARY", - "BOOLEAN", - "NUMBER", - "DATETIME", - "VARIANT" - ] - }, - "FacetAttributeUpdate":{ - "type":"structure", - "members":{ - "Attribute":{ - "shape":"FacetAttribute", - "documentation":"

The attribute to update.

" - }, - "Action":{ - "shape":"UpdateActionType", - "documentation":"

The action to perform when updating the attribute.

" - } - }, - "documentation":"

A structure that contains information used to update an attribute.

" - }, - "FacetAttributeUpdateList":{ - "type":"list", - "member":{"shape":"FacetAttributeUpdate"} - }, - "FacetInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a different facet.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "FacetNameList":{ - "type":"list", - "member":{"shape":"FacetName"} - }, - "FacetNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified Facet could not be found.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FacetStyle":{ - "type":"string", - "enum":[ - "STATIC", - "DYNAMIC" - ] - }, - "FacetValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The Facet that you provided was not well formed or could not be validated with the schema.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "GetAppliedSchemaVersionRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the applied schema.

" - } - } - }, - "GetAppliedSchemaVersionResponse":{ - "type":"structure", - "members":{ - "AppliedSchemaArn":{ - "shape":"Arn", - "documentation":"

Current applied schema ARN, including the minor version in use if one was provided.

" - } - } - }, - "GetDirectoryRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"DirectoryArn", - "documentation":"

The ARN of the directory.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "GetDirectoryResponse":{ - "type":"structure", - "required":["Directory"], - "members":{ - "Directory":{ - "shape":"Directory", - "documentation":"

Metadata about the directory.

" - } - } - }, - "GetFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet to retrieve.

" - } - } - }, - "GetFacetResponse":{ - "type":"structure", - "members":{ - "Facet":{ - "shape":"Facet", - "documentation":"

The Facet structure that is associated with the facet.

" - } - } - }, - "GetLinkAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier", - "AttributeNames" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

A list of attribute names whose values will be retrieved.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the attributes on a typed link.

" - } - } - }, - "GetLinkAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the typed link.

" - } - } - }, - "GetObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference", - "SchemaFacet", - "AttributeNames" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the attributes on an object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

List of attribute names whose values will be retrieved.

" - } - } - }, - "GetObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The attributes that are associated with the object.

" - } - } - }, - "GetObjectInformationRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory being retrieved.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level at which to retrieve the object information.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "GetObjectInformationResponse":{ - "type":"structure", - "members":{ - "SchemaFacets":{ - "shape":"SchemaFacetList", - "documentation":"

The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the specified object.

" - } - } - }, - "GetSchemaAsJsonRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to retrieve.

", - "location":"header", - "locationName":"x-amz-data-partition" - } - } - }, - "GetSchemaAsJsonResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"SchemaName", - "documentation":"

The name of the retrieved schema.

" - }, - "Document":{ - "shape":"SchemaJsonDocument", - "documentation":"

The JSON representation of the schema document.

" - } - } - }, - "GetTypedLinkFacetInformationRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - } - }, - "GetTypedLinkFacetInformationResponse":{ - "type":"structure", - "members":{ - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" - } - } - }, - "IncompatibleSchemaException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates a failure occurred while performing a check for backward compatibility between the specified schema and the schema that is currently applied to the directory.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "IndexAttachment":{ - "type":"structure", - "members":{ - "IndexedAttributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

The indexed attribute values.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

" - } - }, - "documentation":"

Represents an index and an attached object.

" - }, - "IndexAttachmentList":{ - "type":"list", - "member":{"shape":"IndexAttachment"} - }, - "IndexedAttributeMissingException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An object has been attempted to be attached to an object that does not have the appropriate attribute value.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates a problem that must be resolved by Amazon Web Services. This might be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any operational issues with the service.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "InvalidArnException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the provided ARN value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidAttachmentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that an attempt to attach an object with the same link name or to apply a schema with the same name has occurred. Rename the link or the schema and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidFacetUpdateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

An attempt to modify a Facet resulted in an invalid schema exception.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the NextToken value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRuleException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when any of the rule parameter keys or values are invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidSchemaDocException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTaggingRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that limits are exceeded. See Limits for more information.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LinkAttributeAction":{ - "type":"structure", - "members":{ - "AttributeActionType":{ - "shape":"UpdateActionType", - "documentation":"

A type that can be either UPDATE_OR_CREATE or DELETE.

" - }, - "AttributeUpdateValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value that you want to update to.

" - } - }, - "documentation":"

The action to take on a typed link attribute value. Updates are only supported for attributes which don’t contribute to link identity.

" - }, - "LinkAttributeUpdate":{ - "type":"structure", - "members":{ - "AttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute being updated.

" - }, - "AttributeAction":{ - "shape":"LinkAttributeAction", - "documentation":"

The action to perform as part of the attribute update.

" - } - }, - "documentation":"

Structure that contains attribute update information.

" - }, - "LinkAttributeUpdateList":{ - "type":"list", - "member":{"shape":"LinkAttributeUpdate"} - }, - "LinkName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" - }, - "LinkNameAlreadyInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a link could not be created due to a naming conflict. Choose a different name and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LinkNameToObjectIdentifierMap":{ - "type":"map", - "key":{"shape":"LinkName"}, - "value":{"shape":"ObjectIdentifier"} - }, - "ListAppliedSchemaArnsRequest":{ - "type":"structure", - "required":["DirectoryArn"], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory you are listing.

" - }, - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListAppliedSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of schemas that are applied to the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListAttachedIndicesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TargetReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TargetReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object that has indices attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to use for this operation.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListAttachedIndicesResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The indices attached to the specified object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListDevelopmentSchemaArnsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListDevelopmentSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of retrieved development schemas.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListDirectoriesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "state":{ - "shape":"DirectoryState", - "documentation":"

The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.

" - } - } - }, - "ListDirectoriesResponse":{ - "type":"structure", - "required":["Directories"], - "members":{ - "Directories":{ - "shape":"DirectoryList", - "documentation":"

Lists all directories that are associated with your account in pagination fashion.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListFacetAttributesRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema where the facet resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet whose attributes will be retrieved.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListFacetAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"FacetAttributeList", - "documentation":"

The attributes attached to the facet.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListFacetNamesRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) to retrieve facet names from.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListFacetNamesResponse":{ - "type":"structure", - "members":{ - "FacetNames":{ - "shape":"FacetNameList", - "documentation":"

The names of facets that exist within the schema.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListIncomingTypedLinksRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

" - } - } - }, - "ListIncomingTypedLinksResponse":{ - "type":"structure", - "members":{ - "LinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns one or more typed link specifiers as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListIndexRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "IndexReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that the index exists in.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "RangesOnIndexedValues":{ - "shape":"ObjectAttributeRangeList", - "documentation":"

Specifies the ranges of indexed values that you want to query.

" - }, - "IndexReference":{ - "shape":"ObjectReference", - "documentation":"

The reference to the index to list.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of objects in a single page to retrieve from the index during a request. For more information, see AWS Directory Service Limits.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListIndexResponse":{ - "type":"structure", - "members":{ - "IndexAttachments":{ - "shape":"IndexAttachmentList", - "documentation":"

The objects and indexed values attached to the index.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListManagedSchemaArnsRequest":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListManagedSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs for all AWS managed schemas.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose attributes will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - }, - "FacetFilter":{ - "shape":"SchemaFacet", - "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" - } - } - }, - "ListObjectAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeKeyAndValueList", - "documentation":"

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectChildrenRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object for which child objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectChildrenResponse":{ - "type":"structure", - "members":{ - "Children":{ - "shape":"LinkNameToObjectIdentifierMap", - "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectParentPathsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory to which the parent path applies.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object whose parent paths are listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - } - }, - "ListObjectParentPathsResponse":{ - "type":"structure", - "members":{ - "PathToObjectIdentifiersList":{ - "shape":"PathToObjectIdentifiersList", - "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectParentsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object for which parent objects are being listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectParentsResponse":{ - "type":"structure", - "members":{ - "Parents":{ - "shape":"ObjectIdentifierToLinkNameMap", - "documentation":"

The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListObjectPoliciesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object for which policies will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListObjectPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicyIds":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListOutgoingTypedLinksRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference that identifies the object whose attributes will be listed.

" - }, - "FilterAttributeRanges":{ - "shape":"TypedLinkAttributeRangeList", - "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" - }, - "FilterTypedLink":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

The consistency level to execute the request at.

" - } - } - }, - "ListOutgoingTypedLinksResponse":{ - "type":"structure", - "members":{ - "TypedLinkSpecifiers":{ - "shape":"TypedLinkSpecifierList", - "documentation":"

Returns a typed link specifier as output.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListPolicyAttachmentsRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "PolicyReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "PolicyReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the policy object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - }, - "ConsistencyLevel":{ - "shape":"ConsistencyLevel", - "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", - "location":"header", - "locationName":"x-amz-consistency-level" - } - } - }, - "ListPolicyAttachmentsResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListPublishedSchemaArnsRequest":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListPublishedSchemaArnsResponse":{ - "type":"structure", - "members":{ - "SchemaArns":{ - "shape":"Arns", - "documentation":"

The ARNs of published schemas.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token. This is for future use. Currently pagination is not supported for tagging.

" - }, - "MaxResults":{ - "shape":"TagsNumberResults", - "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag key value pairs that are associated with the response.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "ListTypedLinkFacetAttributesRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListTypedLinkFacetAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"TypedLinkAttributeDefinitionList", - "documentation":"

An ordered set of attributes associate with the typed link.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "ListTypedLinkFacetNamesRequest":{ - "type":"structure", - "required":["SchemaArn"], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of results to retrieve.

" - } - } - }, - "ListTypedLinkFacetNamesResponse":{ - "type":"structure", - "members":{ - "FacetNames":{ - "shape":"TypedLinkNameList", - "documentation":"

The names of typed link facets that exist within the schema.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "LookupPolicyRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Reference that identifies the object whose policies will be looked up.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"NumberResults", - "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" - } - } - }, - "LookupPolicyResponse":{ - "type":"structure", - "members":{ - "PolicyToPathList":{ - "shape":"PolicyToPathList", - "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token.

" - } - } - }, - "NextToken":{"type":"string"}, - "NotIndexException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation can only operate on index objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotNodeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when any invalid operations are performed on an object that is not a node, such as calling ListObjectChildren for a leaf node object.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotPolicyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation can only operate on policy objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NumberAttributeValue":{"type":"string"}, - "NumberResults":{ - "type":"integer", - "min":1 - }, - "ObjectAlreadyDetachedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the object is not attached to the index.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ObjectAttributeAction":{ - "type":"structure", - "members":{ - "ObjectAttributeActionType":{ - "shape":"UpdateActionType", - "documentation":"

A type that can be either Update or Delete.

" - }, - "ObjectAttributeUpdateValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value that you want to update to.

" - } - }, - "documentation":"

The action to take on the object attribute.

" - }, - "ObjectAttributeRange":{ - "type":"structure", - "members":{ - "AttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute that the attribute range covers.

" - }, - "Range":{ - "shape":"TypedAttributeValueRange", - "documentation":"

The range of attribute values being selected.

" - } - }, - "documentation":"

A range of attributes.

" - }, - "ObjectAttributeRangeList":{ - "type":"list", - "member":{"shape":"ObjectAttributeRange"} - }, - "ObjectAttributeUpdate":{ - "type":"structure", - "members":{ - "ObjectAttributeKey":{ - "shape":"AttributeKey", - "documentation":"

The key of the attribute being updated.

" - }, - "ObjectAttributeAction":{ - "shape":"ObjectAttributeAction", - "documentation":"

The action to perform as part of the attribute update.

" - } - }, - "documentation":"

Structure that contains attribute update information.

" - }, - "ObjectAttributeUpdateList":{ - "type":"list", - "member":{"shape":"ObjectAttributeUpdate"} - }, - "ObjectIdentifier":{"type":"string"}, - "ObjectIdentifierList":{ - "type":"list", - "member":{"shape":"ObjectIdentifier"} - }, - "ObjectIdentifierToLinkNameMap":{ - "type":"map", - "key":{"shape":"ObjectIdentifier"}, - "value":{"shape":"LinkName"} - }, - "ObjectNotDetachedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested operation cannot be completed because the object has not been detached from the tree.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ObjectReference":{ - "type":"structure", - "members":{ - "Selector":{ - "shape":"SelectorObjectReference", - "documentation":"

A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Accessing Objects. You can identify an object in one of the following ways:

  • $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" - } - }, - "documentation":"

The reference that identifies an object.

" - }, - "ObjectType":{ - "type":"string", - "enum":[ - "NODE", - "LEAF_NODE", - "POLICY", - "INDEX" - ] - }, - "PathString":{"type":"string"}, - "PathToObjectIdentifiers":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"PathString", - "documentation":"

The path that is used to identify the object starting from directory root.

" - }, - "ObjectIdentifiers":{ - "shape":"ObjectIdentifierList", - "documentation":"

Lists ObjectIdentifiers starting from directory root to the object in the request.

" - } - }, - "documentation":"

Returns the path to the ObjectIdentifiers that is associated with the directory.

" - }, - "PathToObjectIdentifiersList":{ - "type":"list", - "member":{"shape":"PathToObjectIdentifiers"} - }, - "PolicyAttachment":{ - "type":"structure", - "members":{ - "PolicyId":{ - "shape":"ObjectIdentifier", - "documentation":"

The ID of PolicyAttachment.

" - }, - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier that is associated with PolicyAttachment.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

The type of policy that can be associated with PolicyAttachment.

" - } - }, - "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached. For more information, see Policies.

" - }, - "PolicyAttachmentList":{ - "type":"list", - "member":{"shape":"PolicyAttachment"} - }, - "PolicyToPath":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"PathString", - "documentation":"

The path that is referenced from the root.

" - }, - "Policies":{ - "shape":"PolicyAttachmentList", - "documentation":"

List of policy objects.

" - } - }, - "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies that are associated with that object and the parent to that object.

" - }, - "PolicyToPathList":{ - "type":"list", - "member":{"shape":"PolicyToPath"} - }, - "PolicyType":{"type":"string"}, - "PublishSchemaRequest":{ - "type":"structure", - "required":[ - "DevelopmentSchemaArn", - "Version" - ], - "members":{ - "DevelopmentSchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Version":{ - "shape":"Version", - "documentation":"

The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

" - }, - "MinorVersion":{ - "shape":"Version", - "documentation":"

The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

" - }, - "Name":{ - "shape":"SchemaName", - "documentation":"

The new name under which the schema will be published. If this is not provided, the development schema is considered.

" - } - } - }, - "PublishSchemaResponse":{ - "type":"structure", - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the published schema. For more information, see arns.

" - } - } - }, - "PutSchemaFromJsonRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Document" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to update.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Document":{ - "shape":"SchemaJsonDocument", - "documentation":"

The replacement JSON schema.

" - } - } - }, - "PutSchemaFromJsonResponse":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema to update.

" - } - } - }, - "RangeMode":{ - "type":"string", - "enum":[ - "FIRST", - "LAST", - "LAST_BEFORE_MISSING_VALUES", - "INCLUSIVE", - "EXCLUSIVE" - ] - }, - "RemoveFacetFromObjectRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "SchemaFacet", - "ObjectReference" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory in which the object resides.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "SchemaFacet":{ - "shape":"SchemaFacet", - "documentation":"

The facet to remove. See SchemaFacet for details.

" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

A reference to the object to remove the facet from.

" - } - } - }, - "RemoveFacetFromObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "RequiredAttributeBehavior":{ - "type":"string", - "enum":[ - "REQUIRED_ALWAYS", - "NOT_REQUIRED" - ] - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified resource could not be found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "RetryableConflictException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Occurs when a conflict with a previous successful write is detected. For example, if a write operation occurs on an object and then an attempt is made to read the object using “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "Rule":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"RuleType", - "documentation":"

The type of attribute validation rule.

" - }, - "Parameters":{ - "shape":"RuleParameterMap", - "documentation":"

The minimum and maximum parameters that are associated with the rule.

" - } - }, - "documentation":"

Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.

" - }, - "RuleKey":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "RuleMap":{ - "type":"map", - "key":{"shape":"RuleKey"}, - "value":{"shape":"Rule"} - }, - "RuleParameterKey":{"type":"string"}, - "RuleParameterMap":{ - "type":"map", - "key":{"shape":"RuleParameterKey"}, - "value":{"shape":"RuleParameterValue"} - }, - "RuleParameterValue":{"type":"string"}, - "RuleType":{ - "type":"string", - "enum":[ - "BINARY_LENGTH", - "NUMBER_COMPARISON", - "STRING_FROM_SET", - "STRING_LENGTH" - ] - }, - "SchemaAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a schema could not be created due to a naming conflict. Please select a different name and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SchemaAlreadyPublishedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that a schema is already published.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SchemaFacet":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

" - }, - "FacetName":{ - "shape":"FacetName", - "documentation":"

The name of the facet.

" - } - }, - "documentation":"

A facet.

" - }, - "SchemaFacetList":{ - "type":"list", - "member":{"shape":"SchemaFacet"} - }, - "SchemaJsonDocument":{"type":"string"}, - "SchemaName":{ - "type":"string", - "max":32, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "SelectorObjectReference":{"type":"string"}, - "StillContainsLinksException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The object could not be deleted because links still exist. Remove the links and then try the operation again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "StringAttributeValue":{"type":"string"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key that is associated with the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value that is associated with the tag.

" - } - }, - "documentation":"

The tag structure that contains a tag key and value.

" - }, - "TagKey":{"type":"string"}, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag key-value pairs.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{"type":"string"}, - "TagsNumberResults":{ - "type":"integer", - "min":50 - }, - "TypedAttributeValue":{ - "type":"structure", - "members":{ - "StringValue":{ - "shape":"StringAttributeValue", - "documentation":"

A string data value.

" - }, - "BinaryValue":{ - "shape":"BinaryAttributeValue", - "documentation":"

A binary data value.

" - }, - "BooleanValue":{ - "shape":"BooleanAttributeValue", - "documentation":"

A Boolean data value.

" - }, - "NumberValue":{ - "shape":"NumberAttributeValue", - "documentation":"

A number data value.

" - }, - "DatetimeValue":{ - "shape":"DatetimeAttributeValue", - "documentation":"

A date and time value.

" - } - }, - "documentation":"

Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.

" - }, - "TypedAttributeValueRange":{ - "type":"structure", - "required":[ - "StartMode", - "EndMode" - ], - "members":{ - "StartMode":{ - "shape":"RangeMode", - "documentation":"

The inclusive or exclusive range start.

" - }, - "StartValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The value to start the range at.

" - }, - "EndMode":{ - "shape":"RangeMode", - "documentation":"

The inclusive or exclusive range end.

" - }, - "EndValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The attribute value to terminate the range at.

" - } - }, - "documentation":"

A range of attribute values. For more information, see Range Filters.

" - }, - "TypedLinkAttributeDefinition":{ - "type":"structure", - "required":[ - "Name", - "Type", - "RequiredBehavior" - ], - "members":{ - "Name":{ - "shape":"AttributeName", - "documentation":"

The unique name of the typed link attribute.

" - }, - "Type":{ - "shape":"FacetAttributeType", - "documentation":"

The type of the attribute.

" - }, - "DefaultValue":{ - "shape":"TypedAttributeValue", - "documentation":"

The default value of the attribute (if configured).

" - }, - "IsImmutable":{ - "shape":"Bool", - "documentation":"

Whether the attribute is mutable or not.

" - }, - "Rules":{ - "shape":"RuleMap", - "documentation":"

Validation rules that are attached to the attribute definition.

" - }, - "RequiredBehavior":{ - "shape":"RequiredAttributeBehavior", - "documentation":"

The required behavior of the TypedLinkAttributeDefinition.

" - } - }, - "documentation":"

A typed link attribute definition.

" - }, - "TypedLinkAttributeDefinitionList":{ - "type":"list", - "member":{"shape":"TypedLinkAttributeDefinition"} - }, - "TypedLinkAttributeRange":{ - "type":"structure", - "required":["Range"], - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The unique name of the typed link attribute.

" - }, - "Range":{ - "shape":"TypedAttributeValueRange", - "documentation":"

The range of attribute values that are being selected.

" - } - }, - "documentation":"

Identifies the range of attributes that are used by a specified filter.

" - }, - "TypedLinkAttributeRangeList":{ - "type":"list", - "member":{"shape":"TypedLinkAttributeRange"} - }, - "TypedLinkFacet":{ - "type":"structure", - "required":[ - "Name", - "Attributes", - "IdentityAttributeOrder" - ], - "members":{ - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "Attributes":{ - "shape":"TypedLinkAttributeDefinitionList", - "documentation":"

A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

" - }, - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

" - } - }, - "documentation":"

Defines the typed links structure and its attributes. To create a typed link facet, use the CreateTypedLinkFacet API.

" - }, - "TypedLinkFacetAttributeUpdate":{ - "type":"structure", - "required":[ - "Attribute", - "Action" - ], - "members":{ - "Attribute":{ - "shape":"TypedLinkAttributeDefinition", - "documentation":"

The attribute to update.

" - }, - "Action":{ - "shape":"UpdateActionType", - "documentation":"

The action to perform when updating the attribute.

" - } - }, - "documentation":"

A typed link facet attribute update.

" - }, - "TypedLinkFacetAttributeUpdateList":{ - "type":"list", - "member":{"shape":"TypedLinkFacetAttributeUpdate"} - }, - "TypedLinkName":{ - "type":"string", - "pattern":"^[a-zA-Z0-9._-]*$" - }, - "TypedLinkNameList":{ - "type":"list", - "member":{"shape":"TypedLinkName"} - }, - "TypedLinkSchemaAndFacetName":{ - "type":"structure", - "required":[ - "SchemaArn", - "TypedLinkName" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" - }, - "TypedLinkName":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - } - }, - "documentation":"

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

" - }, - "TypedLinkSpecifier":{ - "type":"structure", - "required":[ - "TypedLinkFacet", - "SourceObjectReference", - "TargetObjectReference", - "IdentityAttributeValues" - ], - "members":{ - "TypedLinkFacet":{ - "shape":"TypedLinkSchemaAndFacetName", - "documentation":"

Identifies the typed link facet that is associated with the typed link.

" - }, - "SourceObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the source object that the typed link will attach to.

" - }, - "TargetObjectReference":{ - "shape":"ObjectReference", - "documentation":"

Identifies the target object that the typed link will attach to.

" - }, - "IdentityAttributeValues":{ - "shape":"AttributeNameAndValueList", - "documentation":"

Identifies the attribute value to update.

" - } - }, - "documentation":"

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

" - }, - "TypedLinkSpecifierList":{ - "type":"list", - "member":{"shape":"TypedLinkSpecifier"} - }, - "UnsupportedIndexTypeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that the requested index type is not supported.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

Keys of the tag that need to be removed from the resource.

" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateActionType":{ - "type":"string", - "enum":[ - "CREATE_OR_UPDATE", - "DELETE" - ] - }, - "UpdateFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"FacetName", - "documentation":"

The name of the facet.

" - }, - "AttributeUpdates":{ - "shape":"FacetAttributeUpdateList", - "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

" - }, - "ObjectType":{ - "shape":"ObjectType", - "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" - } - } - }, - "UpdateFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateLinkAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "TypedLinkSpecifier", - "AttributeUpdates" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed link.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "TypedLinkSpecifier":{ - "shape":"TypedLinkSpecifier", - "documentation":"

Allows a typed link specifier to be accepted as input.

" - }, - "AttributeUpdates":{ - "shape":"LinkAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - } - }, - "UpdateLinkAttributesResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateObjectAttributesRequest":{ - "type":"structure", - "required":[ - "DirectoryArn", - "ObjectReference", - "AttributeUpdates" - ], - "members":{ - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "ObjectReference":{ - "shape":"ObjectReference", - "documentation":"

The reference that identifies the object.

" - }, - "AttributeUpdates":{ - "shape":"ObjectAttributeUpdateList", - "documentation":"

The attributes update structure.

" - } - } - }, - "UpdateObjectAttributesResponse":{ - "type":"structure", - "members":{ - "ObjectIdentifier":{ - "shape":"ObjectIdentifier", - "documentation":"

The ObjectIdentifier of the updated object.

" - } - } - }, - "UpdateSchemaRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"SchemaName", - "documentation":"

The name of the schema.

" - } - } - }, - "UpdateSchemaResponse":{ - "type":"structure", - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN that is associated with the updated schema. For more information, see arns.

" - } - } - }, - "UpdateTypedLinkFacetRequest":{ - "type":"structure", - "required":[ - "SchemaArn", - "Name", - "AttributeUpdates", - "IdentityAttributeOrder" - ], - "members":{ - "SchemaArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", - "location":"header", - "locationName":"x-amz-data-partition" - }, - "Name":{ - "shape":"TypedLinkName", - "documentation":"

The unique name of the typed link facet.

" - }, - "AttributeUpdates":{ - "shape":"TypedLinkFacetAttributeUpdateList", - "documentation":"

Attributes update structure.

" - }, - "IdentityAttributeOrder":{ - "shape":"AttributeNameList", - "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" - } - } - }, - "UpdateTypedLinkFacetResponse":{ - "type":"structure", - "members":{ - } - }, - "UpgradeAppliedSchemaRequest":{ - "type":"structure", - "required":[ - "PublishedSchemaArn", - "DirectoryArn" - ], - "members":{ - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The revision of the published schema to upgrade the directory to.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN for the directory to which the upgraded schema will be applied.

" - }, - "DryRun":{ - "shape":"Bool", - "documentation":"

Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

" - } - } - }, - "UpgradeAppliedSchemaResponse":{ - "type":"structure", - "members":{ - "UpgradedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" - }, - "DirectoryArn":{ - "shape":"Arn", - "documentation":"

The ARN of the directory that is returned as part of the response.

" - } - } - }, - "UpgradePublishedSchemaRequest":{ - "type":"structure", - "required":[ - "DevelopmentSchemaArn", - "PublishedSchemaArn", - "MinorVersion" - ], - "members":{ - "DevelopmentSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the development schema with the changes used for the upgrade.

" - }, - "PublishedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the published schema to be upgraded.

" - }, - "MinorVersion":{ - "shape":"Version", - "documentation":"

Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

" - }, - "DryRun":{ - "shape":"Bool", - "documentation":"

Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

" - } - } - }, - "UpgradePublishedSchemaResponse":{ - "type":"structure", - "members":{ - "UpgradedSchemaArn":{ - "shape":"Arn", - "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" - } - } - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Indicates that your request is malformed in some manner. See the exception message.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Version":{ - "type":"string", - "max":10, - "min":1, - "pattern":"^[a-zA-Z0-9._-]*$" - } - }, - "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/examples-1.json deleted file mode 100644 index e7802626..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/examples-1.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/paginators-1.json deleted file mode 100644 index 8485fd56..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/paginators-1.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "pagination": { - "DescribeStackEvents": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "StackEvents" - }, - "DescribeStacks": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Stacks" - }, - "ListStackResources": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "StackResourceSummaries" - }, - "ListStacks": { - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/service-2.json deleted file mode 100644 index db15133e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/service-2.json +++ /dev/null @@ -1,3784 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-05-15", - "endpointPrefix":"cloudformation", - "protocol":"query", - "serviceFullName":"AWS CloudFormation", - "serviceId":"CloudFormation", - "signatureVersion":"v4", - "uid":"cloudformation-2010-05-15", - "xmlNamespace":"http://cloudformation.amazonaws.com/doc/2010-05-15/" - }, - "operations":{ - "CancelUpdateStack":{ - "name":"CancelUpdateStack", - "http":{ - "method":"POST", - "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":{ - "name":"ContinueUpdateRollback", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ContinueUpdateRollbackInput"}, - "output":{ - "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":{ - "name":"CreateChangeSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateChangeSetInput"}, - "output":{ - "shape":"CreateChangeSetOutput", - "resultWrapper":"CreateChangeSetResult" - }, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InsufficientCapabilitiesException"}, - {"shape":"LimitExceededException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStackInput"}, - "output":{ - "shape":"CreateStackOutput", - "resultWrapper":"CreateStackResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"TokenAlreadyExistsException"}, - {"shape":"InsufficientCapabilitiesException"} - ], - "documentation":"

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.

" - }, - "CreateStackInstances":{ - "name":"CreateStackInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStackInstancesInput"}, - "output":{ - "shape":"CreateStackInstancesOutput", - "resultWrapper":"CreateStackInstancesResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationInProgressException"}, - {"shape":"OperationIdAlreadyExistsException"}, - {"shape":"StaleRequestException"}, - {"shape":"InvalidOperationException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. Accounts and Regions are required parameters—you must specify at least one account and one region.

" - }, - "CreateStackSet":{ - "name":"CreateStackSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStackSetInput"}, - "output":{ - "shape":"CreateStackSetOutput", - "resultWrapper":"CreateStackSetResult" - }, - "errors":[ - {"shape":"NameAlreadyExistsException"}, - {"shape":"CreatedButModifiedException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a stack set.

" - }, - "DeleteChangeSet":{ - "name":"DeleteChangeSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteChangeSetInput"}, - "output":{ - "shape":"DeleteChangeSetOutput", - "resultWrapper":"DeleteChangeSetResult" - }, - "errors":[ - {"shape":"InvalidChangeSetStatusException"} - ], - "documentation":"

Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.

If the call successfully completes, AWS CloudFormation successfully deleted the change set.

" - }, - "DeleteStack":{ - "name":"DeleteStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStackInput"}, - "errors":[ - {"shape":"TokenAlreadyExistsException"} - ], - "documentation":"

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.

" - }, - "DeleteStackInstances":{ - "name":"DeleteStackInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStackInstancesInput"}, - "output":{ - "shape":"DeleteStackInstancesOutput", - "resultWrapper":"DeleteStackInstancesResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationInProgressException"}, - {"shape":"OperationIdAlreadyExistsException"}, - {"shape":"StaleRequestException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Deletes stack instances for the specified accounts, in the specified regions.

" - }, - "DeleteStackSet":{ - "name":"DeleteStackSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStackSetInput"}, - "output":{ - "shape":"DeleteStackSetOutput", - "resultWrapper":"DeleteStackSetResult" - }, - "errors":[ - {"shape":"StackSetNotEmptyException"}, - {"shape":"OperationInProgressException"} - ], - "documentation":"

Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances.

" - }, - "DescribeAccountLimits":{ - "name":"DescribeAccountLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountLimitsInput"}, - "output":{ - "shape":"DescribeAccountLimitsOutput", - "resultWrapper":"DescribeAccountLimitsResult" - }, - "documentation":"

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.

" - }, - "DescribeChangeSet":{ - "name":"DescribeChangeSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeChangeSetInput"}, - "output":{ - "shape":"DescribeChangeSetOutput", - "resultWrapper":"DescribeChangeSetResult" - }, - "errors":[ - {"shape":"ChangeSetNotFoundException"} - ], - "documentation":"

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

" - }, - "DescribeStackEvents":{ - "name":"DescribeStackEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackEventsInput"}, - "output":{ - "shape":"DescribeStackEventsOutput", - "resultWrapper":"DescribeStackEventsResult" - }, - "documentation":"

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

" - }, - "DescribeStackInstance":{ - "name":"DescribeStackInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackInstanceInput"}, - "output":{ - "shape":"DescribeStackInstanceOutput", - "resultWrapper":"DescribeStackInstanceResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"StackInstanceNotFoundException"} - ], - "documentation":"

Returns the stack instance that's associated with the specified stack set, AWS account, and region.

For a list of stack instances that are associated with a specific stack set, use ListStackInstances.

" - }, - "DescribeStackResource":{ - "name":"DescribeStackResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackResourceInput"}, - "output":{ - "shape":"DescribeStackResourceOutput", - "resultWrapper":"DescribeStackResourceResult" - }, - "documentation":"

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

" - }, - "DescribeStackResources":{ - "name":"DescribeStackResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackResourcesInput"}, - "output":{ - "shape":"DescribeStackResourcesOutput", - "resultWrapper":"DescribeStackResourcesResult" - }, - "documentation":"

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

" - }, - "DescribeStackSet":{ - "name":"DescribeStackSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackSetInput"}, - "output":{ - "shape":"DescribeStackSetOutput", - "resultWrapper":"DescribeStackSetResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"} - ], - "documentation":"

Returns the description of the specified stack set.

" - }, - "DescribeStackSetOperation":{ - "name":"DescribeStackSetOperation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackSetOperationInput"}, - "output":{ - "shape":"DescribeStackSetOperationOutput", - "resultWrapper":"DescribeStackSetOperationResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationNotFoundException"} - ], - "documentation":"

Returns the description of the specified stack set operation.

" - }, - "DescribeStacks":{ - "name":"DescribeStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStacksInput"}, - "output":{ - "shape":"DescribeStacksOutput", - "resultWrapper":"DescribeStacksResult" - }, - "documentation":"

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

" - }, - "EstimateTemplateCost":{ - "name":"EstimateTemplateCost", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EstimateTemplateCostInput"}, - "output":{ - "shape":"EstimateTemplateCostOutput", - "resultWrapper":"EstimateTemplateCostResult" - }, - "documentation":"

Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

" - }, - "ExecuteChangeSet":{ - "name":"ExecuteChangeSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ExecuteChangeSetInput"}, - "output":{ - "shape":"ExecuteChangeSetOutput", - "resultWrapper":"ExecuteChangeSetResult" - }, - "errors":[ - {"shape":"InvalidChangeSetStatusException"}, - {"shape":"ChangeSetNotFoundException"}, - {"shape":"InsufficientCapabilitiesException"}, - {"shape":"TokenAlreadyExistsException"} - ], - "documentation":"

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

" - }, - "GetStackPolicy":{ - "name":"GetStackPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetStackPolicyInput"}, - "output":{ - "shape":"GetStackPolicyOutput", - "resultWrapper":"GetStackPolicyResult" - }, - "documentation":"

Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.

" - }, - "GetTemplate":{ - "name":"GetTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTemplateInput"}, - "output":{ - "shape":"GetTemplateOutput", - "resultWrapper":"GetTemplateResult" - }, - "errors":[ - {"shape":"ChangeSetNotFoundException"} - ], - "documentation":"

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

If the template does not exist, a ValidationError is returned.

" - }, - "GetTemplateSummary":{ - "name":"GetTemplateSummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTemplateSummaryInput"}, - "output":{ - "shape":"GetTemplateSummaryOutput", - "resultWrapper":"GetTemplateSummaryResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"} - ], - "documentation":"

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

" - }, - "ListChangeSets":{ - "name":"ListChangeSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListChangeSetsInput"}, - "output":{ - "shape":"ListChangeSetsOutput", - "resultWrapper":"ListChangeSetsResult" - }, - "documentation":"

Returns the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state.

" - }, - "ListExports":{ - "name":"ListExports", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListExportsInput"}, - "output":{ - "shape":"ListExportsOutput", - "resultWrapper":"ListExportsResult" - }, - "documentation":"

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

" - }, - "ListImports":{ - "name":"ListImports", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListImportsInput"}, - "output":{ - "shape":"ListImportsOutput", - "resultWrapper":"ListImportsResult" - }, - "documentation":"

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

" - }, - "ListStackInstances":{ - "name":"ListStackInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStackInstancesInput"}, - "output":{ - "shape":"ListStackInstancesOutput", - "resultWrapper":"ListStackInstancesResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"} - ], - "documentation":"

Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or region.

" - }, - "ListStackResources":{ - "name":"ListStackResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStackResourcesInput"}, - "output":{ - "shape":"ListStackResourcesOutput", - "resultWrapper":"ListStackResourcesResult" - }, - "documentation":"

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

" - }, - "ListStackSetOperationResults":{ - "name":"ListStackSetOperationResults", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStackSetOperationResultsInput"}, - "output":{ - "shape":"ListStackSetOperationResultsOutput", - "resultWrapper":"ListStackSetOperationResultsResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationNotFoundException"} - ], - "documentation":"

Returns summary information about the results of a stack set operation.

" - }, - "ListStackSetOperations":{ - "name":"ListStackSetOperations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStackSetOperationsInput"}, - "output":{ - "shape":"ListStackSetOperationsOutput", - "resultWrapper":"ListStackSetOperationsResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"} - ], - "documentation":"

Returns summary information about operations performed on a stack set.

" - }, - "ListStackSets":{ - "name":"ListStackSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStackSetsInput"}, - "output":{ - "shape":"ListStackSetsOutput", - "resultWrapper":"ListStackSetsResult" - }, - "documentation":"

Returns summary information about stack sets that are associated with the user.

" - }, - "ListStacks":{ - "name":"ListStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStacksInput"}, - "output":{ - "shape":"ListStacksOutput", - "resultWrapper":"ListStacksResult" - }, - "documentation":"

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

" - }, - "SetStackPolicy":{ - "name":"SetStackPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetStackPolicyInput"}, - "documentation":"

Sets a stack policy for a specified stack.

" - }, - "SignalResource":{ - "name":"SignalResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SignalResourceInput"}, - "documentation":"

Sends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.

" - }, - "StopStackSetOperation":{ - "name":"StopStackSetOperation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopStackSetOperationInput"}, - "output":{ - "shape":"StopStackSetOperationOutput", - "resultWrapper":"StopStackSetOperationResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationNotFoundException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Stops an in-progress operation on a stack set and its associated stack instances.

" - }, - "UpdateStack":{ - "name":"UpdateStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStackInput"}, - "output":{ - "shape":"UpdateStackOutput", - "resultWrapper":"UpdateStackResult" - }, - "errors":[ - {"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.

" - }, - "UpdateStackInstances":{ - "name":"UpdateStackInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStackInstancesInput"}, - "output":{ - "shape":"UpdateStackInstancesOutput", - "resultWrapper":"UpdateStackInstancesResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"StackInstanceNotFoundException"}, - {"shape":"OperationInProgressException"}, - {"shape":"OperationIdAlreadyExistsException"}, - {"shape":"StaleRequestException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Updates the parameter values for stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region.

You can only update stack instances in regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.

During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value.

You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" - }, - "UpdateStackSet":{ - "name":"UpdateStackSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStackSetInput"}, - "output":{ - "shape":"UpdateStackSetOutput", - "resultWrapper":"UpdateStackSetResult" - }, - "errors":[ - {"shape":"StackSetNotFoundException"}, - {"shape":"OperationInProgressException"}, - {"shape":"OperationIdAlreadyExistsException"}, - {"shape":"StaleRequestException"}, - {"shape":"InvalidOperationException"}, - {"shape":"StackInstanceNotFoundException"} - ], - "documentation":"

Updates the stack set, and associated stack instances in the specified accounts and regions.

Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.

" - }, - "UpdateTerminationProtection":{ - "name":"UpdateTerminationProtection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTerminationProtectionInput"}, - "output":{ - "shape":"UpdateTerminationProtectionOutput", - "resultWrapper":"UpdateTerminationProtectionResult" - }, - "documentation":"

Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

" - }, - "ValidateTemplate":{ - "name":"ValidateTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ValidateTemplateInput"}, - "output":{ - "shape":"ValidateTemplateOutput", - "resultWrapper":"ValidateTemplateResult" - }, - "documentation":"

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

" - } - }, - "shapes":{ - "Account":{ - "type":"string", - "pattern":"[0-9]{12}" - }, - "AccountGateResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"AccountGateStatus", - "documentation":"

The status of the account gate function.

  • SUCCEEDED: The account gate function has determined that the account and region passes any requirements for a stack set operation to occur. AWS CloudFormation proceeds with the stack operation in that account and region.

  • FAILED: The account gate function has determined that the account and region does not meet the requirements for a stack set operation to occur. AWS CloudFormation cancels the stack set operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

  • SKIPPED: AWS CloudFormation has skipped calling the account gate function for this account and region, for one of the following reasons:

    • An account gate function has not been specified for the account and region. AWS CloudFormation proceeds with the stack set operation in this account and region.

    • The AWSCloudFormationStackSetExecutionRole of the stack set adminstration account lacks permissions to invoke the function. AWS CloudFormation proceeds with the stack set operation in this account and region.

    • Either no action is necessary, or no action is possible, on the stack. AWS CloudFormation skips the stack set operation in this account and region.

" - }, - "StatusReason":{ - "shape":"AccountGateStatusReason", - "documentation":"

The reason for the account gate status assigned to this account and region for the stack set operation.

" - } - }, - "documentation":"

Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and region.

For each account and region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and region. CloudFormation invokes the function each time a stack set operation is requested for that account and region; if the function returns FAILED, CloudFormation cancels the operation in that account and region, and sets the stack set operation result status for that account and region to FAILED.

For more information, see Configuring a target account gate.

" - }, - "AccountGateStatus":{ - "type":"string", - "enum":[ - "SUCCEEDED", - "FAILED", - "SKIPPED" - ] - }, - "AccountGateStatusReason":{"type":"string"}, - "AccountLimit":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"LimitName", - "documentation":"

The name of the account limit. Currently, the only account limit is StackLimit.

" - }, - "Value":{ - "shape":"LimitValue", - "documentation":"

The value that is associated with the account limit name.

" - } - }, - "documentation":"

The AccountLimit data type.

" - }, - "AccountLimitList":{ - "type":"list", - "member":{"shape":"AccountLimit"} - }, - "AccountList":{ - "type":"list", - "member":{"shape":"Account"} - }, - "AllowedValue":{"type":"string"}, - "AllowedValues":{ - "type":"list", - "member":{"shape":"AllowedValue"} - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The resource with the name requested already exists.

", - "error":{ - "code":"AlreadyExistsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Arn":{"type":"string"}, - "CancelUpdateStackInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "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.

" - }, - "Capabilities":{ - "type":"list", - "member":{"shape":"Capability"} - }, - "CapabilitiesReason":{"type":"string"}, - "Capability":{ - "type":"string", - "enum":[ - "CAPABILITY_IAM", - "CAPABILITY_NAMED_IAM" - ] - }, - "CausingEntity":{"type":"string"}, - "Change":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"ChangeType", - "documentation":"

The type of entity that AWS CloudFormation changes. Currently, the only entity type is Resource.

" - }, - "ResourceChange":{ - "shape":"ResourceChange", - "documentation":"

A ResourceChange structure that describes the resource and action that AWS CloudFormation will perform.

" - } - }, - "documentation":"

The Change structure describes the changes AWS CloudFormation will perform if you execute the change set.

" - }, - "ChangeAction":{ - "type":"string", - "enum":[ - "Add", - "Modify", - "Remove" - ] - }, - "ChangeSetId":{ - "type":"string", - "min":1, - "pattern":"arn:[-a-zA-Z0-9:/]*" - }, - "ChangeSetName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z][-a-zA-Z0-9]*" - }, - "ChangeSetNameOrId":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[a-zA-Z][-a-zA-Z0-9]*|arn:[-a-zA-Z0-9:/]*" - }, - "ChangeSetNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified change set name or ID doesn't exit. To view valid change sets for a stack, use the ListChangeSets action.

", - "error":{ - "code":"ChangeSetNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ChangeSetStatus":{ - "type":"string", - "enum":[ - "CREATE_PENDING", - "CREATE_IN_PROGRESS", - "CREATE_COMPLETE", - "DELETE_COMPLETE", - "FAILED" - ] - }, - "ChangeSetStatusReason":{"type":"string"}, - "ChangeSetSummaries":{ - "type":"list", - "member":{"shape":"ChangeSetSummary"} - }, - "ChangeSetSummary":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

The ID of the stack with which the change set is associated.

" - }, - "StackName":{ - "shape":"StackName", - "documentation":"

The name of the stack with which the change set is associated.

" - }, - "ChangeSetId":{ - "shape":"ChangeSetId", - "documentation":"

The ID of the change set.

" - }, - "ChangeSetName":{ - "shape":"ChangeSetName", - "documentation":"

The name of the change set.

" - }, - "ExecutionStatus":{ - "shape":"ExecutionStatus", - "documentation":"

If the change set execution status is AVAILABLE, you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE state because the stack was already updated.

" - }, - "Status":{ - "shape":"ChangeSetStatus", - "documentation":"

The state of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or FAILED.

" - }, - "StatusReason":{ - "shape":"ChangeSetStatusReason", - "documentation":"

A description of the change set's status. For example, if your change set is in the FAILED state, AWS CloudFormation shows the error message.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

The start time when the change set was created, in UTC.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Descriptive information about the change set.

" - } - }, - "documentation":"

The ChangeSetSummary structure describes a change set, its status, and the stack with which it's associated.

" - }, - "ChangeSetType":{ - "type":"string", - "enum":[ - "CREATE", - "UPDATE" - ] - }, - "ChangeSource":{ - "type":"string", - "enum":[ - "ResourceReference", - "ParameterReference", - "ResourceAttribute", - "DirectModification", - "Automatic" - ] - }, - "ChangeType":{ - "type":"string", - "enum":["Resource"] - }, - "Changes":{ - "type":"list", - "member":{"shape":"Change"} - }, - "ClientRequestToken":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9][-a-zA-Z0-9]*" - }, - "ClientToken":{ - "type":"string", - "max":128, - "min":1 - }, - "ContinueUpdateRollbackInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The name or the unique ID of the stack that you want to continue rolling back.

Don't specify the name of a nested stack (a stack that was created by using the AWS::CloudFormation::Stack resource). Instead, use this operation on the parent stack (the stack that contains the AWS::CloudFormation::Stack resource).

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" - }, - "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 cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique identifier for this ContinueUpdateRollback request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation successfully received them.

" - } - }, - "documentation":"

The input for the ContinueUpdateRollback action.

" - }, - "ContinueUpdateRollbackOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for a ContinueUpdateRollback action.

" - }, - "CreateChangeSetInput":{ - "type":"structure", - "required":[ - "StackName", - "ChangeSetName" - ], - "members":{ - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The name or the unique ID of the stack for which you are creating a change set. AWS CloudFormation generates the change set by comparing this stack's information with the information that you submit, such as a modified template or different parameter input values.

" - }, - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

A structure that contains the body of the revised template, with a minimum length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by comparing this template with the template of the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

The location of the file that contains the revised template. The URL must point to a template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation generates the change set by comparing this template with the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL.

" - }, - "UsePreviousTemplate":{ - "shape":"UsePreviousTemplate", - "documentation":"

Whether to reuse the template that is associated with the stack to create the change set.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "ResourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" - }, - "RollbackConfiguration":{ - "shape":"RollbackConfiguration", - "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" - }, - "NotificationARNs":{ - "shape":"NotificationARNs", - "documentation":"

The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) topics that AWS CloudFormation associates with the stack. To remove all associated notification topics, specify an empty list.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags.

" - }, - "ChangeSetName":{ - "shape":"ChangeSetName", - "documentation":"

The name of the change set. The name must be unique among all change sets that are associated with the specified stack.

A change set name can contain only alphanumeric, case sensitive characters and hyphens. It must start with an alphabetic character and cannot exceed 128 characters.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique identifier for this CreateChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another change set with the same name. You might retry CreateChangeSet requests to ensure that AWS CloudFormation successfully received them.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description to help you identify this change set.

" - }, - "ChangeSetType":{ - "shape":"ChangeSetType", - "documentation":"

The type of change set operation. To create a change set for a new stack, specify CREATE. To create a change set for an existing stack, specify UPDATE.

If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the REVIEW_IN_PROGRESS state until you execute the change set.

By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.

" - } - }, - "documentation":"

The input for the CreateChangeSet action.

" - }, - "CreateChangeSetOutput":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ChangeSetId", - "documentation":"

The Amazon Resource Name (ARN) of the change set.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

The unique ID of the stack.

" - } - }, - "documentation":"

The output for the CreateChangeSet action.

" - }, - "CreateStackInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name that is associated with the stack. The name must be unique in the region in which you are creating the stack.

A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

" - }, - "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.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" - }, - "DisableRollback":{ - "shape":"DisableRollback", - "documentation":"

Set to true to disable rollback of the stack if stack creation failed. You can specify either DisableRollback or OnFailure, but not both.

Default: false

" - }, - "RollbackConfiguration":{ - "shape":"RollbackConfiguration", - "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" - }, - "TimeoutInMinutes":{ - "shape":"TimeoutMinutes", - "documentation":"

The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.

" - }, - "NotificationARNs":{ - "shape":"NotificationARNs", - "documentation":"

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "ResourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to create the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" - }, - "OnFailure":{ - "shape":"OnFailure", - "documentation":"

Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or DisableRollback, but not both.

Default: ROLLBACK

" - }, - "StackPolicyBody":{ - "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" - }, - "StackPolicyURL":{ - "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" - }, - "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 50 tags can be specified.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" - }, - "EnableTerminationProtection":{ - "shape":"EnableTerminationProtection", - "documentation":"

Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide. Termination protection is disabled on stacks by default.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

" - } - }, - "documentation":"

The input for CreateStack action.

" - }, - "CreateStackInstancesInput":{ - "type":"structure", - "required":[ - "StackSetName", - "Accounts", - "Regions" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to create stack instances from.

" - }, - "Accounts":{ - "shape":"AccountList", - "documentation":"

The names of one or more AWS accounts that you want to create stack instances in the specified region(s) for.

" - }, - "Regions":{ - "shape":"RegionList", - "documentation":"

The names of one or more regions where you want to create stack instances using the specified AWS account(s).

" - }, - "ParameterOverrides":{ - "shape":"Parameters", - "documentation":"

A list of stack set parameters whose values you want to override in the selected stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" - }, - "OperationPreferences":{ - "shape":"StackSetOperationPreferences", - "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", - "idempotencyToken":true - } - } - }, - "CreateStackInstancesOutput":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

" - } - } - }, - "CreateStackOutput":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" - } - }, - "documentation":"

The output for a CreateStack action.

" - }, - "CreateStackSetInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name to associate with the stack set. The name must be unique in the region where you create your stack set.

A stack name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can't be longer than 128 characters.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the stack set. You can use the description to identify the stack set's purpose or other important information.

" - }, - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The input parameters for the stack set template.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.

If you specify tags as part of a CreateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire CreateStackSet action fails with an access denied error, and the stack set is not created.

" - }, - "AdministrationRoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

" - }, - "ExecutionRoleName":{ - "shape":"ExecutionRoleName", - "documentation":"

The name of the IAM execution role to use to create the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique identifier for this CreateStackSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry CreateStackSet requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", - "idempotencyToken":true - } - } - }, - "CreateStackSetOutput":{ - "type":"structure", - "members":{ - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The ID of the stack set that you're creating.

" - } - } - }, - "CreatedButModifiedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource exists, but has been changed.

", - "error":{ - "code":"CreatedButModifiedException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "CreationTime":{"type":"timestamp"}, - "DeleteChangeSetInput":{ - "type":"structure", - "required":["ChangeSetName"], - "members":{ - "ChangeSetName":{ - "shape":"ChangeSetNameOrId", - "documentation":"

The name or Amazon Resource Name (ARN) of the change set that you want to delete.

" - }, - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

If you specified the name of a change set to delete, specify the stack name or ID (ARN) that is associated with it.

" - } - }, - "documentation":"

The input for the DeleteChangeSet action.

" - }, - "DeleteChangeSetOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeleteChangeSet action.

" - }, - "DeleteStackInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack.

" - }, - "RetainResources":{ - "shape":"RetainResources", - "documentation":"

For stacks in the DELETE_FAILED state, a list of resource logical IDs that are associated with the resources you want to retain. During deletion, AWS CloudFormation deletes the stack but does not delete the retained resources.

Retaining resources is useful when you cannot delete a resource, such as a non-empty S3 bucket, but you want to delete the stack.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" - } - }, - "documentation":"

The input for DeleteStack action.

" - }, - "DeleteStackInstancesInput":{ - "type":"structure", - "required":[ - "StackSetName", - "Accounts", - "Regions", - "RetainStacks" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to delete stack instances for.

" - }, - "Accounts":{ - "shape":"AccountList", - "documentation":"

The names of the AWS accounts that you want to delete stack instances for.

" - }, - "Regions":{ - "shape":"RegionList", - "documentation":"

The regions where you want to delete stack set instances.

" - }, - "OperationPreferences":{ - "shape":"StackSetOperationPreferences", - "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" - }, - "RetainStacks":{ - "shape":"RetainStacks", - "documentation":"

Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set.

For more information, see Stack set operation options.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

If you don't specify an operation ID, the SDK generates one automatically.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", - "idempotencyToken":true - } - } - }, - "DeleteStackInstancesOutput":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

" - } - } - }, - "DeleteStackSetInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you're deleting. You can obtain this value by running ListStackSets.

" - } - } - }, - "DeleteStackSetOutput":{ - "type":"structure", - "members":{ - } - }, - "DeletionTime":{"type":"timestamp"}, - "DescribeAccountLimitsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of limits that you want to retrieve.

" - } - }, - "documentation":"

The input for the DescribeAccountLimits action.

" - }, - "DescribeAccountLimitsOutput":{ - "type":"structure", - "members":{ - "AccountLimits":{ - "shape":"AccountLimitList", - "documentation":"

An account limit structure that contain a list of AWS CloudFormation account limits and their values.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB in size, a string that identifies the next page of limits. If no additional page exists, this value is null.

" - } - }, - "documentation":"

The output for the DescribeAccountLimits action.

" - }, - "DescribeChangeSetInput":{ - "type":"structure", - "required":["ChangeSetName"], - "members":{ - "ChangeSetName":{ - "shape":"ChangeSetNameOrId", - "documentation":"

The name or Amazon Resource Name (ARN) of the change set that you want to describe.

" - }, - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

If you specified the name of a change set, specify the stack name or ID (ARN) of the change set you want to describe.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string (provided by the DescribeChangeSet response output) that identifies the next page of information that you want to retrieve.

" - } - }, - "documentation":"

The input for the DescribeChangeSet action.

" - }, - "DescribeChangeSetOutput":{ - "type":"structure", - "members":{ - "ChangeSetName":{ - "shape":"ChangeSetName", - "documentation":"

The name of the change set.

" - }, - "ChangeSetId":{ - "shape":"ChangeSetId", - "documentation":"

The ARN of the change set.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

The ARN of the stack that is associated with the change set.

" - }, - "StackName":{ - "shape":"StackName", - "documentation":"

The name of the stack that is associated with the change set.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Information about the change set.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

The start time when the change set was created, in UTC.

" - }, - "ExecutionStatus":{ - "shape":"ExecutionStatus", - "documentation":"

If the change set execution status is AVAILABLE, you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE state because the stack was already updated.

" - }, - "Status":{ - "shape":"ChangeSetStatus", - "documentation":"

The current status of the change set, such as CREATE_IN_PROGRESS, CREATE_COMPLETE, or FAILED.

" - }, - "StatusReason":{ - "shape":"ChangeSetStatusReason", - "documentation":"

A description of the change set's status. For example, if your attempt to create a change set failed, AWS CloudFormation shows the error message.

" - }, - "NotificationARNs":{ - "shape":"NotificationARNs", - "documentation":"

The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set.

" - }, - "RollbackConfiguration":{ - "shape":"RollbackConfiguration", - "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

If you execute the change set, the tags that will be associated with the stack.

" - }, - "Changes":{ - "shape":"Changes", - "documentation":"

A list of Change structures that describes the resources AWS CloudFormation changes if you execute the change set.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page, this value is null.

" - } - }, - "documentation":"

The output for the DescribeChangeSet action.

" - }, - "DescribeStackEventsInput":{ - "type":"structure", - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of events that you want to retrieve.

" - } - }, - "documentation":"

The input for DescribeStackEvents action.

" - }, - "DescribeStackEventsOutput":{ - "type":"structure", - "members":{ - "StackEvents":{ - "shape":"StackEvents", - "documentation":"

A list of StackEvents structures.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB in size, a string that identifies the next page of events. If no additional page exists, this value is null.

" - } - }, - "documentation":"

The output for a DescribeStackEvents action.

" - }, - "DescribeStackInstanceInput":{ - "type":"structure", - "required":[ - "StackSetName", - "StackInstanceAccount", - "StackInstanceRegion" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or the unique stack ID of the stack set that you want to get stack instance information for.

" - }, - "StackInstanceAccount":{ - "shape":"Account", - "documentation":"

The ID of an AWS account that's associated with this stack instance.

" - }, - "StackInstanceRegion":{ - "shape":"Region", - "documentation":"

The name of a region that's associated with this stack instance.

" - } - } - }, - "DescribeStackInstanceOutput":{ - "type":"structure", - "members":{ - "StackInstance":{ - "shape":"StackInstance", - "documentation":"

The stack instance that matches the specified request parameters.

" - } - } - }, - "DescribeStackResourceInput":{ - "type":"structure", - "required":[ - "StackName", - "LogicalResourceId" - ], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource as specified in the template.

Default: There is no default value.

" - } - }, - "documentation":"

The input for DescribeStackResource action.

" - }, - "DescribeStackResourceOutput":{ - "type":"structure", - "members":{ - "StackResourceDetail":{ - "shape":"StackResourceDetail", - "documentation":"

A StackResourceDetail structure containing the description of the specified resource in the specified stack.

" - } - }, - "documentation":"

The output for a DescribeStackResource action.

" - }, - "DescribeStackResourcesInput":{ - "type":"structure", - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

Required: Conditional. If you do not specify StackName, you must specify PhysicalResourceId.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource as specified in the template.

Default: There is no default value.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId. You can pass the EC2 InstanceId to DescribeStackResources to find which stack the instance belongs to and what other resources are part of the stack.

Required: Conditional. If you do not specify PhysicalResourceId, you must specify StackName.

Default: There is no default value.

" - } - }, - "documentation":"

The input for DescribeStackResources action.

" - }, - "DescribeStackResourcesOutput":{ - "type":"structure", - "members":{ - "StackResources":{ - "shape":"StackResources", - "documentation":"

A list of StackResource structures.

" - } - }, - "documentation":"

The output for a DescribeStackResources action.

" - }, - "DescribeStackSetInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set whose description you want.

" - } - } - }, - "DescribeStackSetOperationInput":{ - "type":"structure", - "required":[ - "StackSetName", - "OperationId" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or the unique stack ID of the stack set for the stack operation.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique ID of the stack set operation.

" - } - } - }, - "DescribeStackSetOperationOutput":{ - "type":"structure", - "members":{ - "StackSetOperation":{ - "shape":"StackSetOperation", - "documentation":"

The specified stack set operation.

" - } - } - }, - "DescribeStackSetOutput":{ - "type":"structure", - "members":{ - "StackSet":{ - "shape":"StackSet", - "documentation":"

The specified stack set.

" - } - } - }, - "DescribeStacksInput":{ - "type":"structure", - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of stacks that you want to retrieve.

" - } - }, - "documentation":"

The input for DescribeStacks action.

" - }, - "DescribeStacksOutput":{ - "type":"structure", - "members":{ - "Stacks":{ - "shape":"Stacks", - "documentation":"

A list of stack structures.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null.

" - } - }, - "documentation":"

The output for a DescribeStacks action.

" - }, - "Description":{ - "type":"string", - "max":1024, - "min":1 - }, - "DisableRollback":{"type":"boolean"}, - "EnableTerminationProtection":{"type":"boolean"}, - "EstimateTemplateCostInput":{ - "type":"structure", - "members":{ - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters.

" - } - }, - "documentation":"

The input for an EstimateTemplateCost action.

" - }, - "EstimateTemplateCostOutput":{ - "type":"structure", - "members":{ - "Url":{ - "shape":"Url", - "documentation":"

An AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

" - } - }, - "documentation":"

The output for a EstimateTemplateCost action.

" - }, - "EvaluationType":{ - "type":"string", - "enum":[ - "Static", - "Dynamic" - ] - }, - "EventId":{"type":"string"}, - "ExecuteChangeSetInput":{ - "type":"structure", - "required":["ChangeSetName"], - "members":{ - "ChangeSetName":{ - "shape":"ChangeSetNameOrId", - "documentation":"

The name or ARN of the change set that you want use to update the specified stack.

" - }, - "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.

" - }, - "ExecuteChangeSetOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the ExecuteChangeSet action.

" - }, - "ExecutionRoleName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z_0-9+=,.@-]+" - }, - "ExecutionStatus":{ - "type":"string", - "enum":[ - "UNAVAILABLE", - "AVAILABLE", - "EXECUTE_IN_PROGRESS", - "EXECUTE_COMPLETE", - "EXECUTE_FAILED", - "OBSOLETE" - ] - }, - "Export":{ - "type":"structure", - "members":{ - "ExportingStackId":{ - "shape":"StackId", - "documentation":"

The stack that contains the exported output name and value.

" - }, - "Name":{ - "shape":"ExportName", - "documentation":"

The name of exported output value. Use this name and the Fn::ImportValue function to import the associated value into other stacks. The name is defined in the Export field in the associated stack's Outputs section.

" - }, - "Value":{ - "shape":"ExportValue", - "documentation":"

The value of the exported output, such as a resource physical ID. This value is defined in the Export field in the associated stack's Outputs section.

" - } - }, - "documentation":"

The Export structure describes the exported output values for a stack.

" - }, - "ExportName":{"type":"string"}, - "ExportValue":{"type":"string"}, - "Exports":{ - "type":"list", - "member":{"shape":"Export"} - }, - "FailureToleranceCount":{ - "type":"integer", - "min":0 - }, - "FailureTolerancePercentage":{ - "type":"integer", - "max":100, - "min":0 - }, - "GetStackPolicyInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or unique stack ID that is associated with the stack whose policy you want to get.

" - } - }, - "documentation":"

The input for the GetStackPolicy action.

" - }, - "GetStackPolicyOutput":{ - "type":"structure", - "members":{ - "StackPolicyBody":{ - "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide.)

" - } - }, - "documentation":"

The output for the GetStackPolicy action.

" - }, - "GetTemplateInput":{ - "type":"structure", - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

" - }, - "ChangeSetName":{ - "shape":"ChangeSetNameOrId", - "documentation":"

The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation returns the associated template. If you specify a name, you must also specify the StackName.

" - }, - "TemplateStage":{ - "shape":"TemplateStage", - "documentation":"

For templates that include transforms, the stage of the template that AWS CloudFormation returns. To get the user-submitted template, specify Original. To get the template after AWS CloudFormation has processed all transforms, specify Processed.

If the template doesn't include transforms, Original and Processed return the same template. By default, AWS CloudFormation specifies Original.

" - } - }, - "documentation":"

The input for a GetTemplate action.

" - }, - "GetTemplateOutput":{ - "type":"structure", - "members":{ - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

" - }, - "StagesAvailable":{ - "shape":"StageList", - "documentation":"

The stage of the template that you can retrieve. For stacks, the Original and Processed templates are always available. For change sets, the Original template is always available. After AWS CloudFormation finishes creating the change set, the Processed template becomes available.

" - } - }, - "documentation":"

The output for GetTemplate action.

" - }, - "GetTemplateSummaryInput":{ - "type":"structure", - "members":{ - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" - }, - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" - }, - "StackSetName":{ - "shape":"StackSetNameOrId", - "documentation":"

The name or unique ID of the stack set from which the stack was created.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" - } - }, - "documentation":"

The input for the GetTemplateSummary action.

" - }, - "GetTemplateSummaryOutput":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParameterDeclarations", - "documentation":"

A list of parameter declarations that describe various properties for each parameter.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The value that is defined in the Description property of the template.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "CapabilitiesReason":{ - "shape":"CapabilitiesReason", - "documentation":"

The list of resources that generated the values in the Capabilities response element.

" - }, - "ResourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

A list of all the template resource types that are defined in the template, such as AWS::EC2::Instance, AWS::Dynamo::Table, and Custom::MyCustomInstance.

" - }, - "Version":{ - "shape":"Version", - "documentation":"

The AWS template format version, which identifies the capabilities of the template.

" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

The value that is defined for the Metadata property of the template.

" - }, - "DeclaredTransforms":{ - "shape":"TransformsList", - "documentation":"

A list of the transforms that are declared in the template.

" - } - }, - "documentation":"

The output for the GetTemplateSummary action.

" - }, - "Imports":{ - "type":"list", - "member":{"shape":"StackName"} - }, - "InsufficientCapabilitiesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The template contains resources with capabilities that weren't specified in the Capabilities parameter.

", - "error":{ - "code":"InsufficientCapabilitiesException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidChangeSetStatusException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified change set can't be used to update the stack. For example, the change set status might be CREATE_IN_PROGRESS, or the stack status might be UPDATE_IN_PROGRESS.

", - "error":{ - "code":"InvalidChangeSetStatus", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified operation isn't valid.

", - "error":{ - "code":"InvalidOperationException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LastUpdatedTime":{"type":"timestamp"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for the resource has already been reached.

For information on stack set limitations, see Limitations of StackSets.

", - "error":{ - "code":"LimitExceededException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LimitName":{"type":"string"}, - "LimitValue":{"type":"integer"}, - "ListChangeSetsInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The name or the Amazon Resource Name (ARN) of the stack for which you want to list change sets.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string (provided by the ListChangeSets response output) that identifies the next page of change sets that you want to retrieve.

" - } - }, - "documentation":"

The input for the ListChangeSets action.

" - }, - "ListChangeSetsOutput":{ - "type":"structure", - "members":{ - "Summaries":{ - "shape":"ChangeSetSummaries", - "documentation":"

A list of ChangeSetSummary structures that provides the ID and status of each change set for the specified stack.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB, a string that identifies the next page of change sets. If there is no additional page, this value is null.

" - } - }, - "documentation":"

The output for the ListChangeSets action.

" - }, - "ListExportsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string (provided by the ListExports response output) that identifies the next page of exported output values that you asked to retrieve.

" - } - } - }, - "ListExportsOutput":{ - "type":"structure", - "members":{ - "Exports":{ - "shape":"Exports", - "documentation":"

The output for the ListExports action.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 100 exported output values, a string that identifies the next page of exports. If there is no additional page, this value is null.

" - } - } - }, - "ListImportsInput":{ - "type":"structure", - "required":["ExportName"], - "members":{ - "ExportName":{ - "shape":"ExportName", - "documentation":"

The name of the exported output value. AWS CloudFormation returns the stack names that are importing this value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string (provided by the ListImports response output) that identifies the next page of stacks that are importing the specified exported output value.

" - } - } - }, - "ListImportsOutput":{ - "type":"structure", - "members":{ - "Imports":{ - "shape":"Imports", - "documentation":"

A list of stack names that are importing the specified exported output value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of exports. If there is no additional page, this value is null.

" - } - } - }, - "ListStackInstancesInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to list stack instances for.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the previous request didn't return all of the remaining results, the response's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - }, - "StackInstanceAccount":{ - "shape":"Account", - "documentation":"

The name of the AWS account that you want to list stack instances for.

" - }, - "StackInstanceRegion":{ - "shape":"Region", - "documentation":"

The name of the region where you want to list stack instances.

" - } - } - }, - "ListStackInstancesOutput":{ - "type":"structure", - "members":{ - "Summaries":{ - "shape":"StackInstanceSummaries", - "documentation":"

A list of StackInstanceSummary structures that contain information about the specified stack instances.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" - } - } - }, - "ListStackResourcesInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of stack resources that you want to retrieve.

" - } - }, - "documentation":"

The input for the ListStackResource action.

" - }, - "ListStackResourcesOutput":{ - "type":"structure", - "members":{ - "StackResourceSummaries":{ - "shape":"StackResourceSummaries", - "documentation":"

A list of StackResourceSummary structures.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB, a string that identifies the next page of stack resources. If no additional page exists, this value is null.

" - } - }, - "documentation":"

The output for a ListStackResources action.

" - }, - "ListStackSetOperationResultsInput":{ - "type":"structure", - "required":[ - "StackSetName", - "OperationId" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to get operation results for.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The ID of the stack set operation.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the previous request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "ListStackSetOperationResultsOutput":{ - "type":"structure", - "members":{ - "Summaries":{ - "shape":"StackSetOperationResultSummaries", - "documentation":"

A list of StackSetOperationResultSummary structures that contain information about the specified operation results, for accounts and regions that are included in the operation.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

" - } - } - }, - "ListStackSetOperationsInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to get operation summaries for.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperations again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "ListStackSetOperationsOutput":{ - "type":"structure", - "members":{ - "Summaries":{ - "shape":"StackSetOperationSummaries", - "documentation":"

A list of StackSetOperationSummary structures that contain summary information about operations for the specified stack set.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

" - } - } - }, - "ListStackSetsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSets again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - }, - "Status":{ - "shape":"StackSetStatus", - "documentation":"

The status of the stack sets that you want to get summary information about.

" - } - } - }, - "ListStackSetsOutput":{ - "type":"structure", - "members":{ - "Summaries":{ - "shape":"StackSetSummaries", - "documentation":"

A list of StackSetSummary structures that contain information about the user's stack sets.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" - } - } - }, - "ListStacksInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string that identifies the next page of stacks that you want to retrieve.

" - }, - "StackStatusFilter":{ - "shape":"StackStatusFilter", - "documentation":"

Stack status to use as a filter. Specify one or more stack status codes to list only stacks with the specified status codes. For a complete list of stack status codes, see the StackStatus parameter of the Stack data type.

" - } - }, - "documentation":"

The input for ListStacks action.

" - }, - "ListStacksOutput":{ - "type":"structure", - "members":{ - "StackSummaries":{ - "shape":"StackSummaries", - "documentation":"

A list of StackSummary structures containing information about the specified stacks.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the output exceeds 1 MB in size, a string that identifies the next page of stacks. If no additional page exists, this value is null.

" - } - }, - "documentation":"

The output for ListStacks action.

" - }, - "LogicalResourceId":{"type":"string"}, - "MaxConcurrentCount":{ - "type":"integer", - "min":1 - }, - "MaxConcurrentPercentage":{ - "type":"integer", - "max":100, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "Metadata":{"type":"string"}, - "MonitoringTimeInMinutes":{ - "type":"integer", - "max":180, - "min":0 - }, - "NameAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified name is already in use.

", - "error":{ - "code":"NameAlreadyExistsException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "NoEcho":{"type":"boolean"}, - "NotificationARN":{"type":"string"}, - "NotificationARNs":{ - "type":"list", - "member":{"shape":"NotificationARN"}, - "max":5 - }, - "OnFailure":{ - "type":"string", - "enum":[ - "DO_NOTHING", - "ROLLBACK", - "DELETE" - ] - }, - "OperationIdAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified operation ID already exists.

", - "error":{ - "code":"OperationIdAlreadyExistsException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "OperationInProgressException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Another operation is currently in progress for this stack set. Only one operation can be performed for a stack set at a given time.

", - "error":{ - "code":"OperationInProgressException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "OperationNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified ID refers to an operation that doesn't exist.

", - "error":{ - "code":"OperationNotFoundException", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "Output":{ - "type":"structure", - "members":{ - "OutputKey":{ - "shape":"OutputKey", - "documentation":"

The key associated with the output.

" - }, - "OutputValue":{ - "shape":"OutputValue", - "documentation":"

The value associated with the output.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

User defined description associated with the output.

" - }, - "ExportName":{ - "shape":"ExportName", - "documentation":"

The name of the export associated with the output.

" - } - }, - "documentation":"

The Output data type.

" - }, - "OutputKey":{"type":"string"}, - "OutputValue":{"type":"string"}, - "Outputs":{ - "type":"list", - "member":{"shape":"Output"} - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterKey":{ - "shape":"ParameterKey", - "documentation":"

The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.

" - }, - "ParameterValue":{ - "shape":"ParameterValue", - "documentation":"

The input value associated with the parameter.

" - }, - "UsePreviousValue":{ - "shape":"UsePreviousValue", - "documentation":"

During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify true, do not specify a parameter value.

" - }, - "ResolvedValue":{ - "shape":"ParameterValue", - "documentation":"

Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template.

" - } - }, - "documentation":"

The Parameter data type.

" - }, - "ParameterConstraints":{ - "type":"structure", - "members":{ - "AllowedValues":{ - "shape":"AllowedValues", - "documentation":"

A list of values that are permitted for a parameter.

" - } - }, - "documentation":"

A set of criteria that AWS CloudFormation uses to validate parameter values. Although other constraints might be defined in the stack template, AWS CloudFormation returns only the AllowedValues property.

" - }, - "ParameterDeclaration":{ - "type":"structure", - "members":{ - "ParameterKey":{ - "shape":"ParameterKey", - "documentation":"

The name that is associated with the parameter.

" - }, - "DefaultValue":{ - "shape":"ParameterValue", - "documentation":"

The default value of the parameter.

" - }, - "ParameterType":{ - "shape":"ParameterType", - "documentation":"

The type of parameter.

" - }, - "NoEcho":{ - "shape":"NoEcho", - "documentation":"

Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description that is associate with the parameter.

" - }, - "ParameterConstraints":{ - "shape":"ParameterConstraints", - "documentation":"

The criteria that AWS CloudFormation uses to validate parameter values.

" - } - }, - "documentation":"

The ParameterDeclaration data type.

" - }, - "ParameterDeclarations":{ - "type":"list", - "member":{"shape":"ParameterDeclaration"} - }, - "ParameterKey":{"type":"string"}, - "ParameterType":{"type":"string"}, - "ParameterValue":{"type":"string"}, - "Parameters":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "PhysicalResourceId":{"type":"string"}, - "PropertyName":{"type":"string"}, - "Reason":{"type":"string"}, - "Region":{"type":"string"}, - "RegionList":{ - "type":"list", - "member":{"shape":"Region"} - }, - "Replacement":{ - "type":"string", - "enum":[ - "True", - "False", - "Conditional" - ] - }, - "RequiresRecreation":{ - "type":"string", - "enum":[ - "Never", - "Conditionally", - "Always" - ] - }, - "ResourceAttribute":{ - "type":"string", - "enum":[ - "Properties", - "Metadata", - "CreationPolicy", - "UpdatePolicy", - "DeletionPolicy", - "Tags" - ] - }, - "ResourceChange":{ - "type":"structure", - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

The action that AWS CloudFormation takes on the resource, such as Add (adds a new resource), Modify (changes a resource), or Remove (deletes a resource).

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The resource's logical ID, which is defined in the stack's template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of AWS CloudFormation resource, such as AWS::S3::Bucket.

" - }, - "Replacement":{ - "shape":"Replacement", - "documentation":"

For the Modify action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the RequiresRecreation property in the ResourceTargetDefinition structure. For example, if the RequiresRecreation field is Always and the Evaluation field is Static, Replacement is True. If the RequiresRecreation field is Always and the Evaluation field is Dynamic, Replacement is Conditionally.

If you have multiple changes with different RequiresRecreation values, the Replacement value depends on the change with the most impact. A RequiresRecreation value of Always has the most impact, followed by Conditionally, and then Never.

" - }, - "Scope":{ - "shape":"Scope", - "documentation":"

For the Modify action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata, Properties, or Tags.

" - }, - "Details":{ - "shape":"ResourceChangeDetails", - "documentation":"

For the Modify action, a list of ResourceChangeDetail structures that describes the changes that AWS CloudFormation will make to the resource.

" - } - }, - "documentation":"

The ResourceChange structure describes the resource and the action that AWS CloudFormation will perform on it if you execute this change set.

" - }, - "ResourceChangeDetail":{ - "type":"structure", - "members":{ - "Target":{ - "shape":"ResourceTargetDefinition", - "documentation":"

A ResourceTargetDefinition structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.

" - }, - "Evaluation":{ - "shape":"EvaluationType", - "documentation":"

Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set.

For Static evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the InstanceType property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a Static evaluation.

For Dynamic evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.

" - }, - "ChangeSource":{ - "shape":"ChangeSource", - "documentation":"

The group to which the CausingEntity value belongs. There are five entity groups:

  • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { \"Ref\" : \"MyEC2InstanceResource\" }.

  • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { \"Ref\" : \"MyPasswordParameter\" }.

  • ResourceAttribute entities are Fn::GetAtt intrinsic functions that get resource attribute values, such as { \"Fn::GetAtt\" : [ \"MyEC2InstanceResource\", \"PublicDnsName\" ] }.

  • DirectModification entities are changes that are made directly to the template.

  • Automatic entities are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, AWS CloudFormation sets the ChangeSource to Automatic because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.

" - }, - "CausingEntity":{ - "shape":"CausingEntity", - "documentation":"

The identity of the entity that triggered this change. This entity is a member of the group that is specified by the ChangeSource field. For example, if you modified the value of the KeyPairName parameter, the CausingEntity is the name of the parameter (KeyPairName).

If the ChangeSource value is DirectModification, no value is given for CausingEntity.

" - } - }, - "documentation":"

For a resource with Modify as the action, the ResourceChange structure describes the changes AWS CloudFormation will make to that resource.

" - }, - "ResourceChangeDetails":{ - "type":"list", - "member":{"shape":"ResourceChangeDetail"} - }, - "ResourceProperties":{"type":"string"}, - "ResourceSignalStatus":{ - "type":"string", - "enum":[ - "SUCCESS", - "FAILURE" - ] - }, - "ResourceSignalUniqueId":{ - "type":"string", - "max":64, - "min":1 - }, - "ResourceStatus":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "CREATE_FAILED", - "CREATE_COMPLETE", - "DELETE_IN_PROGRESS", - "DELETE_FAILED", - "DELETE_COMPLETE", - "DELETE_SKIPPED", - "UPDATE_IN_PROGRESS", - "UPDATE_FAILED", - "UPDATE_COMPLETE" - ] - }, - "ResourceStatusReason":{"type":"string"}, - "ResourceTargetDefinition":{ - "type":"structure", - "members":{ - "Attribute":{ - "shape":"ResourceAttribute", - "documentation":"

Indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata, Properties, or Tags.

" - }, - "Name":{ - "shape":"PropertyName", - "documentation":"

If the Attribute value is Properties, the name of the property. For all other attributes, the value is null.

" - }, - "RequiresRecreation":{ - "shape":"RequiresRecreation", - "documentation":"

If the Attribute value is Properties, indicates whether a change to this property causes the resource to be recreated. The value can be Never, Always, or Conditionally. To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

" - } - }, - "documentation":"

The field that AWS CloudFormation will change, such as the name of a resource's property, and whether the resource will be recreated.

" - }, - "ResourceToSkip":{ - "type":"string", - "pattern":"[a-zA-Z0-9]+|[a-zA-Z][-a-zA-Z0-9]*\\.[a-zA-Z0-9]+" - }, - "ResourceType":{ - "type":"string", - "max":256, - "min":1 - }, - "ResourceTypes":{ - "type":"list", - "member":{"shape":"ResourceType"} - }, - "ResourcesToSkip":{ - "type":"list", - "member":{"shape":"ResourceToSkip"} - }, - "RetainResources":{ - "type":"list", - "member":{"shape":"LogicalResourceId"} - }, - "RetainStacks":{"type":"boolean"}, - "RetainStacksNullable":{"type":"boolean"}, - "RoleARN":{ - "type":"string", - "max":2048, - "min":20 - }, - "RollbackConfiguration":{ - "type":"structure", - "members":{ - "RollbackTriggers":{ - "shape":"RollbackTriggers", - "documentation":"

The triggers to monitor during stack creation or update actions.

By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:

  • To use the rollback triggers previously specified for this stack, if any, don't specify this parameter.

  • To specify new or updated rollback triggers, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.

  • To remove all currently specified triggers, specify an empty list for this parameter.

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" - }, - "MonitoringTimeInMinutes":{ - "shape":"MonitoringTimeInMinutes", - "documentation":"

The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources.

The default is 0 minutes.

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources after update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

" - } - }, - "documentation":"

Structure containing the rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. For more information, see Monitor and Roll Back Stack Operations.

" - }, - "RollbackTrigger":{ - "type":"structure", - "required":[ - "Arn", - "Type" - ], - "members":{ - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the rollback trigger.

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" - }, - "Type":{ - "shape":"Type", - "documentation":"

The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

" - } - }, - "documentation":"

A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALARM state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

" - }, - "RollbackTriggers":{ - "type":"list", - "member":{"shape":"RollbackTrigger"}, - "max":5 - }, - "Scope":{ - "type":"list", - "member":{"shape":"ResourceAttribute"} - }, - "SetStackPolicyInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or unique stack ID that you want to associate a policy with.

" - }, - "StackPolicyBody":{ - "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" - }, - "StackPolicyURL":{ - "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" - } - }, - "documentation":"

The input for the SetStackPolicy action.

" - }, - "SignalResourceInput":{ - "type":"structure", - "required":[ - "StackName", - "LogicalResourceId", - "UniqueId", - "Status" - ], - "members":{ - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The stack name or unique stack ID that includes the resource that you want to signal.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical ID of the resource that you want to signal. The logical ID is the name of the resource that given in the template.

" - }, - "UniqueId":{ - "shape":"ResourceSignalUniqueId", - "documentation":"

A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling groups, specify the instance ID that you are signaling as the unique ID. If you send multiple signals to a single resource (such as signaling a wait condition), each signal requires a different unique ID.

" - }, - "Status":{ - "shape":"ResourceSignalStatus", - "documentation":"

The status of the signal, which is either success or failure. A failure signal causes AWS CloudFormation to immediately fail the stack creation or update.

" - } - }, - "documentation":"

The input for the SignalResource action.

" - }, - "Stack":{ - "type":"structure", - "required":[ - "StackName", - "CreationTime", - "StackStatus" - ], - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" - }, - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with the stack.

" - }, - "ChangeSetId":{ - "shape":"ChangeSetId", - "documentation":"

The unique ID of the change set.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A user-defined description associated with the stack.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

The time at which the stack was created.

" - }, - "DeletionTime":{ - "shape":"DeletionTime", - "documentation":"

The time the stack was deleted.

" - }, - "LastUpdatedTime":{ - "shape":"LastUpdatedTime", - "documentation":"

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

" - }, - "RollbackConfiguration":{ - "shape":"RollbackConfiguration", - "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" - }, - "StackStatus":{ - "shape":"StackStatus", - "documentation":"

Current status of the stack.

" - }, - "StackStatusReason":{ - "shape":"StackStatusReason", - "documentation":"

Success/failure message associated with the stack status.

" - }, - "DisableRollback":{ - "shape":"DisableRollback", - "documentation":"

Boolean to enable or disable rollback on stack creation failures:

  • true: disable rollback

  • false: enable rollback

" - }, - "NotificationARNs":{ - "shape":"NotificationARNs", - "documentation":"

SNS topic ARNs to which stack related events are published.

" - }, - "TimeoutInMinutes":{ - "shape":"TimeoutMinutes", - "documentation":"

The amount of time within which stack creation should complete.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

The capabilities allowed in the stack.

" - }, - "Outputs":{ - "shape":"Outputs", - "documentation":"

A list of output structures.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A list of Tags that specify information about the stack.

" - }, - "EnableTerminationProtection":{ - "shape":"EnableTerminationProtection", - "documentation":"

Whether termination protection is enabled for the stack.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

" - }, - "ParentId":{ - "shape":"StackId", - "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" - }, - "RootId":{ - "shape":"StackId", - "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" - } - }, - "documentation":"

The Stack data type.

" - }, - "StackEvent":{ - "type":"structure", - "required":[ - "StackId", - "EventId", - "StackName", - "Timestamp" - ], - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

The unique ID name of the instance of the stack.

" - }, - "EventId":{ - "shape":"EventId", - "documentation":"

The unique ID of this event.

" - }, - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with a stack.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier associated with the physical instance of the resource.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" - }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" - }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" - }, - "ResourceProperties":{ - "shape":"ResourceProperties", - "documentation":"

BLOB of the properties used to create the resource.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

The token passed to the operation that generated this event.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" - } - }, - "documentation":"

The StackEvent data type.

" - }, - "StackEvents":{ - "type":"list", - "member":{"shape":"StackEvent"} - }, - "StackId":{"type":"string"}, - "StackInstance":{ - "type":"structure", - "members":{ - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The name or unique ID of the stack set that the stack instance is associated with.

" - }, - "Region":{ - "shape":"Region", - "documentation":"

The name of the AWS region that the stack instance is associated with.

" - }, - "Account":{ - "shape":"Account", - "documentation":"

The name of the AWS account that the stack instance is associated with.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

The ID of the stack instance.

" - }, - "ParameterOverrides":{ - "shape":"Parameters", - "documentation":"

A list of parameters from the stack set template whose values have been overridden in this stack instance.

" - }, - "Status":{ - "shape":"StackInstanceStatus", - "documentation":"

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" - }, - "StatusReason":{ - "shape":"Reason", - "documentation":"

The explanation for the specific status code that is assigned to this stack instance.

" - } - }, - "documentation":"

An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

" - }, - "StackInstanceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified stack instance doesn't exist.

", - "error":{ - "code":"StackInstanceNotFoundException", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "StackInstanceStatus":{ - "type":"string", - "enum":[ - "CURRENT", - "OUTDATED", - "INOPERABLE" - ] - }, - "StackInstanceSummaries":{ - "type":"list", - "member":{"shape":"StackInstanceSummary"} - }, - "StackInstanceSummary":{ - "type":"structure", - "members":{ - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The name or unique ID of the stack set that the stack instance is associated with.

" - }, - "Region":{ - "shape":"Region", - "documentation":"

The name of the AWS region that the stack instance is associated with.

" - }, - "Account":{ - "shape":"Account", - "documentation":"

The name of the AWS account that the stack instance is associated with.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

The ID of the stack instance.

" - }, - "Status":{ - "shape":"StackInstanceStatus", - "documentation":"

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" - }, - "StatusReason":{ - "shape":"Reason", - "documentation":"

The explanation for the specific status code assigned to this stack instance.

" - } - }, - "documentation":"

The structure that contains summary information about a stack instance.

" - }, - "StackName":{"type":"string"}, - "StackNameOrId":{ - "type":"string", - "min":1, - "pattern":"([a-zA-Z][-a-zA-Z0-9]*)|(arn:\\b(aws|aws-us-gov|aws-cn)\\b:[-a-zA-Z0-9:/._+]*)" - }, - "StackPolicyBody":{ - "type":"string", - "max":16384, - "min":1 - }, - "StackPolicyDuringUpdateBody":{ - "type":"string", - "max":16384, - "min":1 - }, - "StackPolicyDuringUpdateURL":{ - "type":"string", - "max":1350, - "min":1 - }, - "StackPolicyURL":{ - "type":"string", - "max":1350, - "min":1 - }, - "StackResource":{ - "type":"structure", - "required":[ - "LogicalResourceId", - "ResourceType", - "Timestamp", - "ResourceStatus" - ], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with the stack.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" - }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" - }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

User defined description associated with the resource.

" - } - }, - "documentation":"

The StackResource data type.

" - }, - "StackResourceDetail":{ - "type":"structure", - "required":[ - "LogicalResourceId", - "ResourceType", - "LastUpdatedTimestamp", - "ResourceStatus" - ], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with the stack.

" - }, - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" - }, - "LastUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" - }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" - }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

User defined description associated with the resource.

" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" - } - }, - "documentation":"

Contains detailed information about the specified stack resource.

" - }, - "StackResourceSummaries":{ - "type":"list", - "member":{"shape":"StackResourceSummary"} - }, - "StackResourceSummary":{ - "type":"structure", - "required":[ - "LogicalResourceId", - "ResourceType", - "LastUpdatedTimestamp", - "ResourceStatus" - ], - "members":{ - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of the resource.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" - }, - "LastUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" - }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" - }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" - } - }, - "documentation":"

Contains high-level information about the specified stack resource.

" - }, - "StackResources":{ - "type":"list", - "member":{"shape":"StackResource"} - }, - "StackSet":{ - "type":"structure", - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name that's associated with the stack set.

" - }, - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The ID of the stack set.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the stack set that you specify when the stack set is created or updated.

" - }, - "Status":{ - "shape":"StackSetStatus", - "documentation":"

The status of the stack set.

" - }, - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

The structure that contains the body of the template that was used to create or update the stack set.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of input parameters for a stack set.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified.

" - }, - "StackSetARN":{ - "shape":"StackSetARN", - "documentation":"

The Amazon Resource Number (ARN) of the stack set.

" - }, - "AdministrationRoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Number (ARN) of the IAM role used to create or update the stack set.

Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

" - }, - "ExecutionRoleName":{ - "shape":"ExecutionRoleName", - "documentation":"

The name of the IAM execution role used to create or update the stack set.

Use customized execution roles to control which stack resources users and groups can include in their stack sets.

" - } - }, - "documentation":"

A structure that contains information about a stack set. A stack set enables you to provision stacks into AWS accounts and across regions by using a single CloudFormation template. In the stack set, you specify the template to use, as well as any parameters and capabilities that the template requires.

" - }, - "StackSetARN":{"type":"string"}, - "StackSetId":{"type":"string"}, - "StackSetName":{"type":"string"}, - "StackSetNameOrId":{ - "type":"string", - "pattern":"[a-zA-Z][-a-zA-Z0-9]*(?::[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12})?" - }, - "StackSetNotEmptyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You can't yet delete this stack set, because it still contains one or more stack instances. Delete all stack instances from the stack set before deleting the stack set.

", - "error":{ - "code":"StackSetNotEmptyException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "StackSetNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified stack set doesn't exist.

", - "error":{ - "code":"StackSetNotFoundException", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "StackSetOperation":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique ID of a stack set operation.

" - }, - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The ID of the stack set.

" - }, - "Action":{ - "shape":"StackSetOperationAction", - "documentation":"

The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, as well as all associated stack set instances.

" - }, - "Status":{ - "shape":"StackSetOperationStatus", - "documentation":"

The status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining regions.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

" - }, - "OperationPreferences":{ - "shape":"StackSetOperationPreferences", - "documentation":"

The preferences for how AWS CloudFormation performs this stack set operation.

" - }, - "RetainStacks":{ - "shape":"RetainStacksNullable", - "documentation":"

For stack set operations of action type DELETE, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack, or add an existing, saved stack to a new stack set.

" - }, - "AdministrationRoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Number (ARN) of the IAM role used to perform this stack set operation.

Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the AWS CloudFormation User Guide.

" - }, - "ExecutionRoleName":{ - "shape":"ExecutionRoleName", - "documentation":"

The name of the IAM execution role used to create or update the stack set.

Use customized execution roles to control which stack resources users and groups can include in their stack sets.

" - }, - "CreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.

" - }, - "EndTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.

" - } - }, - "documentation":"

The structure that contains information about a stack set operation.

" - }, - "StackSetOperationAction":{ - "type":"string", - "enum":[ - "CREATE", - "UPDATE", - "DELETE" - ] - }, - "StackSetOperationPreferences":{ - "type":"structure", - "members":{ - "RegionOrder":{ - "shape":"RegionList", - "documentation":"

The order of the regions in where you want to perform the stack operation.

" - }, - "FailureToleranceCount":{ - "shape":"FailureToleranceCount", - "documentation":"

The number of accounts, per region, for which this operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage (but not both).

" - }, - "FailureTolerancePercentage":{ - "shape":"FailureTolerancePercentage", - "documentation":"

The percentage of accounts, per region, for which this stack operation can fail before AWS CloudFormation stops the operation in that region. If the operation is stopped in a region, AWS CloudFormation doesn't attempt the operation in any subsequent regions.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, but not both.

" - }, - "MaxConcurrentCount":{ - "shape":"MaxConcurrentCount", - "documentation":"

The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of FailureToleranceCountMaxConcurrentCount is at most one more than the FailureToleranceCount .

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" - }, - "MaxConcurrentPercentage":{ - "shape":"MaxConcurrentPercentage", - "documentation":"

The maximum percentage of accounts in which to perform this operation at one time.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" - } - }, - "documentation":"

The user-specified preferences for how AWS CloudFormation performs a stack set operation.

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" - }, - "StackSetOperationResultStatus":{ - "type":"string", - "enum":[ - "PENDING", - "RUNNING", - "SUCCEEDED", - "FAILED", - "CANCELLED" - ] - }, - "StackSetOperationResultSummaries":{ - "type":"list", - "member":{"shape":"StackSetOperationResultSummary"} - }, - "StackSetOperationResultSummary":{ - "type":"structure", - "members":{ - "Account":{ - "shape":"Account", - "documentation":"

The name of the AWS account for this operation result.

" - }, - "Region":{ - "shape":"Region", - "documentation":"

The name of the AWS region for this operation result.

" - }, - "Status":{ - "shape":"StackSetOperationResultStatus", - "documentation":"

The result status of the stack set operation for the given account in the given region.

  • CANCELLED: The operation in the specified account and region has been cancelled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.

  • FAILED: The operation in the specified account and region failed.

    If the stack set operation fails in enough accounts within a region, the failure tolerance for the stack set operation as a whole might be exceeded.

  • RUNNING: The operation in the specified account and region is currently in progress.

  • PENDING: The operation in the specified account and region has yet to start.

  • SUCCEEDED: The operation in the specified account and region completed successfully.

" - }, - "StatusReason":{ - "shape":"Reason", - "documentation":"

The reason for the assigned result status.

" - }, - "AccountGateResult":{ - "shape":"AccountGateResult", - "documentation":"

The results of the account gate function AWS CloudFormation invokes, if present, before proceeding with stack set operations in an account

" - } - }, - "documentation":"

The structure that contains information about a specified operation's results for a given account in a given region.

" - }, - "StackSetOperationStatus":{ - "type":"string", - "enum":[ - "RUNNING", - "SUCCEEDED", - "FAILED", - "STOPPING", - "STOPPED" - ] - }, - "StackSetOperationSummaries":{ - "type":"list", - "member":{"shape":"StackSetOperationSummary"} - }, - "StackSetOperationSummary":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique ID of the stack set operation.

" - }, - "Action":{ - "shape":"StackSetOperationAction", - "documentation":"

The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack instances that are associated with the specified stack set. Update operations affect both the stack set itself as well as all associated stack set instances.

" - }, - "Status":{ - "shape":"StackSetOperationStatus", - "documentation":"

The overall status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each region during stack create and update operations. If the number of failed stacks within a region exceeds the failure tolerance, the status of the operation in the region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining regions.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

" - }, - "CreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested regions, before actually creating the first stacks.

" - }, - "EndTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which the stack set operation ended, across all accounts and regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or region.

" - } - }, - "documentation":"

The structures that contain summary information about the specified operation.

" - }, - "StackSetStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "DELETED" - ] - }, - "StackSetSummaries":{ - "type":"list", - "member":{"shape":"StackSetSummary"} - }, - "StackSetSummary":{ - "type":"structure", - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name of the stack set.

" - }, - "StackSetId":{ - "shape":"StackSetId", - "documentation":"

The ID of the stack set.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the stack set that you specify when the stack set is created or updated.

" - }, - "Status":{ - "shape":"StackSetStatus", - "documentation":"

The status of the stack set.

" - } - }, - "documentation":"

The structures that contain summary information about the specified stack set.

" - }, - "StackStatus":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "CREATE_FAILED", - "CREATE_COMPLETE", - "ROLLBACK_IN_PROGRESS", - "ROLLBACK_FAILED", - "ROLLBACK_COMPLETE", - "DELETE_IN_PROGRESS", - "DELETE_FAILED", - "DELETE_COMPLETE", - "UPDATE_IN_PROGRESS", - "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", - "UPDATE_COMPLETE", - "UPDATE_ROLLBACK_IN_PROGRESS", - "UPDATE_ROLLBACK_FAILED", - "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", - "UPDATE_ROLLBACK_COMPLETE", - "REVIEW_IN_PROGRESS" - ] - }, - "StackStatusFilter":{ - "type":"list", - "member":{"shape":"StackStatus"} - }, - "StackStatusReason":{"type":"string"}, - "StackSummaries":{ - "type":"list", - "member":{"shape":"StackSummary"} - }, - "StackSummary":{ - "type":"structure", - "required":[ - "StackName", - "CreationTime", - "StackStatus" - ], - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

Unique stack identifier.

" - }, - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with the stack.

" - }, - "TemplateDescription":{ - "shape":"TemplateDescription", - "documentation":"

The template description of the template used to create the stack.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

The time the stack was created.

" - }, - "LastUpdatedTime":{ - "shape":"LastUpdatedTime", - "documentation":"

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

" - }, - "DeletionTime":{ - "shape":"DeletionTime", - "documentation":"

The time the stack was deleted.

" - }, - "StackStatus":{ - "shape":"StackStatus", - "documentation":"

The current status of the stack.

" - }, - "StackStatusReason":{ - "shape":"StackStatusReason", - "documentation":"

Success/Failure message associated with the stack status.

" - }, - "ParentId":{ - "shape":"StackId", - "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" - }, - "RootId":{ - "shape":"StackId", - "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" - } - }, - "documentation":"

The StackSummary Data Type

" - }, - "Stacks":{ - "type":"list", - "member":{"shape":"Stack"} - }, - "StageList":{ - "type":"list", - "member":{"shape":"TemplateStage"} - }, - "StaleRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Another operation has been performed on this stack set since the specified operation was performed.

", - "error":{ - "code":"StaleRequestException", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "StopStackSetOperationInput":{ - "type":"structure", - "required":[ - "StackSetName", - "OperationId" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to stop the operation for.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The ID of the stack operation.

" - } - } - }, - "StopStackSetOperationOutput":{ - "type":"structure", - "members":{ - } - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

Required. A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: aws:.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

Required. A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.

" - } - }, - "documentation":"

The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1 - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50 - }, - "TemplateBody":{ - "type":"string", - "min":1 - }, - "TemplateDescription":{"type":"string"}, - "TemplateParameter":{ - "type":"structure", - "members":{ - "ParameterKey":{ - "shape":"ParameterKey", - "documentation":"

The name associated with the parameter.

" - }, - "DefaultValue":{ - "shape":"ParameterValue", - "documentation":"

The default value associated with the parameter.

" - }, - "NoEcho":{ - "shape":"NoEcho", - "documentation":"

Flag indicating whether the parameter should be displayed as plain text in logs and UIs.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

User defined description associated with the parameter.

" - } - }, - "documentation":"

The TemplateParameter data type.

" - }, - "TemplateParameters":{ - "type":"list", - "member":{"shape":"TemplateParameter"} - }, - "TemplateStage":{ - "type":"string", - "enum":[ - "Original", - "Processed" - ] - }, - "TemplateURL":{ - "type":"string", - "max":1024, - "min":1 - }, - "TimeoutMinutes":{ - "type":"integer", - "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", - "member":{"shape":"TransformName"} - }, - "Type":{"type":"string"}, - "UpdateStackInput":{ - "type":"structure", - "required":["StackName"], - "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name or unique stack ID of the stack to update.

" - }, - "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 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 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.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" - }, - "StackPolicyDuringUpdateBody":{ - "shape":"StackPolicyDuringUpdateBody", - "documentation":"

Structure containing the temporary overriding stack policy body. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both.

If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.

" - }, - "StackPolicyDuringUpdateURL":{ - "shape":"StackPolicyDuringUpdateURL", - "documentation":"

Location of a file containing the temporary overriding stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both.

If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "ResourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" - }, - "RollbackConfiguration":{ - "shape":"RollbackConfiguration", - "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" - }, - "StackPolicyBody":{ - "shape":"StackPolicyBody", - "documentation":"

Structure containing a new stack policy body. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.

" - }, - "StackPolicyURL":{ - "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the updated stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.

" - }, - "NotificationARNs":{ - "shape":"NotificationARNs", - "documentation":"

Amazon Simple Notification Service topic Amazon Resource Names (ARNs) that AWS CloudFormation associates with the stack. Specify an empty list to remove all notification topics.

" - }, - "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 50 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" - } - }, - "documentation":"

The input for an UpdateStack action.

" - }, - "UpdateStackInstancesInput":{ - "type":"structure", - "required":[ - "StackSetName", - "Accounts", - "Regions" - ], - "members":{ - "StackSetName":{ - "shape":"StackSetNameOrId", - "documentation":"

The name or unique ID of the stack set associated with the stack instances.

" - }, - "Accounts":{ - "shape":"AccountList", - "documentation":"

The names of one or more AWS accounts for which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and regions.

" - }, - "Regions":{ - "shape":"RegionList", - "documentation":"

The names of one or more regions in which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and regions.

" - }, - "ParameterOverrides":{ - "shape":"Parameters", - "documentation":"

A list of input parameters whose values you want to update for the specified stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance update operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" - }, - "OperationPreferences":{ - "shape":"StackSetOperationPreferences", - "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", - "idempotencyToken":true - } - } - }, - "UpdateStackInstancesOutput":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique identifier for this stack set operation.

" - } - } - }, - "UpdateStackOutput":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" - } - }, - "documentation":"

The output for an UpdateStack action.

" - }, - "UpdateStackSetInput":{ - "type":"structure", - "required":["StackSetName"], - "members":{ - "StackSetName":{ - "shape":"StackSetName", - "documentation":"

The name or unique ID of the stack set that you want to update.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A brief description of updates that you are making.

" - }, - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" - }, - "UsePreviousTemplate":{ - "shape":"UsePreviousTemplate", - "documentation":"

Use the existing template that's associated with the stack set that you're updating.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A list of input parameters for the stack set template.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stack sets. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter:

  • AWS::IAM::AccessKey

  • AWS::IAM::Group

  • AWS::IAM::InstanceProfile

  • AWS::IAM::Policy

  • AWS::IAM::Role

  • AWS::IAM::User

  • AWS::IAM::UserToGroupAddition

If your stack template contains these resources, we recommend that you review all permissions that are associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags.

If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means:

  • If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags.

  • If you specify any tags using this parameter, you must specify all the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well.

  • If you specify an empty value, AWS CloudFormation removes all currently associated tags.

If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire UpdateStackSet action fails with an access denied error, and the stack set is not updated.

" - }, - "OperationPreferences":{ - "shape":"StackSetOperationPreferences", - "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" - }, - "AdministrationRoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the AWS CloudFormation User Guide.

If you specify a customized administrator role, AWS CloudFormation uses that role to update the stack. If you do not specify a customized administrator role, AWS CloudFormation performs the update using the role previously associated with the stack set, so long as you have permissions to perform operations on the stack set.

" - }, - "ExecutionRoleName":{ - "shape":"ExecutionRoleName", - "documentation":"

The name of the IAM execution role to use to update the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets.

If you specify a customized execution role, AWS CloudFormation uses that role to update the stack. If you do not specify a customized execution role, AWS CloudFormation performs the update using the role previously associated with the stack set, so long as you have permissions to perform operations on the stack set.

" - }, - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique ID for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, AWS CloudFormation generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", - "idempotencyToken":true - }, - "Accounts":{ - "shape":"AccountList", - "documentation":"

The accounts in which to update associated stack instances. If you specify accounts, you must also specify the regions in which to update stack set instances.

To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties.

If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and regions, while leaving all other stack instances with their existing stack instance status.

" - }, - "Regions":{ - "shape":"RegionList", - "documentation":"

The regions in which to update associated stack instances. If you specify regions, you must also specify accounts in which to update stack set instances.

To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties.

If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and regions, while leaving all other stack instances with their existing stack instance status.

" - } - } - }, - "UpdateStackSetOutput":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"ClientRequestToken", - "documentation":"

The unique ID for this stack set operation.

" - } - } - }, - "UpdateTerminationProtectionInput":{ - "type":"structure", - "required":[ - "EnableTerminationProtection", - "StackName" - ], - "members":{ - "EnableTerminationProtection":{ - "shape":"EnableTerminationProtection", - "documentation":"

Whether to enable termination protection on the specified stack.

" - }, - "StackName":{ - "shape":"StackNameOrId", - "documentation":"

The name or unique ID of the stack for which you want to set termination protection.

" - } - } - }, - "UpdateTerminationProtectionOutput":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"StackId", - "documentation":"

The unique ID of the stack.

" - } - } - }, - "Url":{"type":"string"}, - "UsePreviousTemplate":{"type":"boolean"}, - "UsePreviousValue":{"type":"boolean"}, - "ValidateTemplateInput":{ - "type":"structure", - "members":{ - "TemplateBody":{ - "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" - }, - "TemplateURL":{ - "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" - } - }, - "documentation":"

The input for ValidateTemplate action.

" - }, - "ValidateTemplateOutput":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"TemplateParameters", - "documentation":"

A list of TemplateParameter structures.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description found within the template.

" - }, - "Capabilities":{ - "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" - }, - "CapabilitiesReason":{ - "shape":"CapabilitiesReason", - "documentation":"

The list of resources that generated the values in the Capabilities response element.

" - }, - "DeclaredTransforms":{ - "shape":"TransformsList", - "documentation":"

A list of the transforms that are declared in the template.

" - } - }, - "documentation":"

The output for ValidateTemplate action.

" - }, - "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. 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/waiters-2.json deleted file mode 100644 index 4e8c8282..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudformation/2010-05-15/waiters-2.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "version": 2, - "waiters": { - "StackExists": { - "delay": 5, - "operation": "DescribeStacks", - "maxAttempts": 20, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "ValidationError", - "state": "retry" - } - ] - }, - "StackCreateComplete": { - "delay": 30, - "operation": "DescribeStacks", - "maxAttempts": 120, - "description": "Wait until stack status is CREATE_COMPLETE.", - "acceptors": [ - { - "argument": "Stacks[].StackStatus", - "expected": "CREATE_COMPLETE", - "matcher": "pathAll", - "state": "success" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "CREATE_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "DELETE_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "DELETE_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure" - }, - { - "expected": "ValidationError", - "matcher": "error", - "state": "failure" - } - ] - }, - "StackDeleteComplete": { - "delay": 30, - "operation": "DescribeStacks", - "maxAttempts": 120, - "description": "Wait until stack status is DELETE_COMPLETE.", - "acceptors": [ - { - "argument": "Stacks[].StackStatus", - "expected": "DELETE_COMPLETE", - "matcher": "pathAll", - "state": "success" - }, - { - "expected": "ValidationError", - "matcher": "error", - "state": "success" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "DELETE_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "CREATE_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "ROLLBACK_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_IN_PROGRESS", - "matcher": "pathAny", - "state": "failure" - } - ] - }, - "StackUpdateComplete": { - "delay": 30, - "maxAttempts": 120, - "operation": "DescribeStacks", - "description": "Wait until stack status is UPDATE_COMPLETE.", - "acceptors": [ - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_COMPLETE", - "matcher": "pathAll", - "state": "success" - }, - { - "expected": "UPDATE_FAILED", - "matcher": "pathAny", - "state": "failure", - "argument": "Stacks[].StackStatus" - }, - { - "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_FAILED", - "matcher": "pathAny", - "state": "failure" - }, - { - "expected": "UPDATE_ROLLBACK_COMPLETE", - "matcher": "pathAny", - "state": "failure", - "argument": "Stacks[].StackStatus" - }, - { - "expected": "ValidationError", - "matcher": "error", - "state": "failure" - } - ] - }, - "ChangeSetCreateComplete": { - "delay": 30, - "operation": "DescribeChangeSet", - "maxAttempts": 120, - "description": "Wait until change set status is CREATE_COMPLETE.", - "acceptors": [ - { - "argument": "Status", - "expected": "CREATE_COMPLETE", - "matcher": "path", - "state": "success" - }, - { - "argument": "Status", - "expected": "FAILED", - "matcher": "path", - "state": "failure" - }, - { - "expected": "ValidationError", - "matcher": "error", - "state": "failure" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/service-2.json deleted file mode 100644 index 975a6496..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/service-2.json +++ /dev/null @@ -1,3540 +0,0 @@ -{ - "metadata":{ - "apiVersion":"2014-05-31", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "protocol":"rest-xml" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2014_05_31", - "http":{ - "method":"POST", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{ - "shape":"CreateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to create a new origin access identity." - }, - "output":{ - "shape":"CreateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2014_05_31", - "http":{ - "method":"POST", - "requestUri":"/2014-05-31/distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateDistributionRequest", - "documentation":"The request to create a new distribution." - }, - "output":{ - "shape":"CreateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2014_05_31", - "http":{ - "method":"POST", - "requestUri":"/2014-05-31/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{ - "shape":"CreateInvalidationRequest", - "documentation":"The request to create an invalidation." - }, - "output":{ - "shape":"CreateInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2014_05_31", - "http":{ - "method":"POST", - "requestUri":"/2014-05-31/streaming-distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateStreamingDistributionRequest", - "documentation":"The request to create a new streaming distribution." - }, - "output":{ - "shape":"CreateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2014_05_31", - "http":{ - "method":"DELETE", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to delete a origin access identity." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2014_05_31", - "http":{ - "method":"DELETE", - "requestUri":"/2014-05-31/distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteDistributionRequest", - "documentation":"The request to delete a distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2014_05_31", - "http":{ - "method":"DELETE", - "requestUri":"/2014-05-31/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteStreamingDistributionRequest", - "documentation":"The request to delete a streaming distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront/{Id}" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to get an origin access identity's information." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigRequest", - "documentation":"The request to get an origin access identity's configuration." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/distribution/{Id}" - }, - "input":{ - "shape":"GetDistributionRequest", - "documentation":"The request to get a distribution's information." - }, - "output":{ - "shape":"GetDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/distribution/{Id}/config" - }, - "input":{ - "shape":"GetDistributionConfigRequest", - "documentation":"The request to get a distribution configuration." - }, - "output":{ - "shape":"GetDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{ - "shape":"GetInvalidationRequest", - "documentation":"The request to get an invalidation's information." - }, - "output":{ - "shape":"GetInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/streaming-distribution/{Id}" - }, - "input":{ - "shape":"GetStreamingDistributionRequest", - "documentation":"The request to get a streaming distribution's information." - }, - "output":{ - "shape":"GetStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"GetStreamingDistributionConfigRequest", - "documentation":"To request to get a streaming distribution configuration." - }, - "output":{ - "shape":"GetStreamingDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront" - }, - "input":{ - "shape":"ListCloudFrontOriginAccessIdentitiesRequest", - "documentation":"The request to list origin access identities." - }, - "output":{ - "shape":"ListCloudFrontOriginAccessIdentitiesResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/distribution" - }, - "input":{ - "shape":"ListDistributionsRequest", - "documentation":"The request to list your distributions." - }, - "output":{ - "shape":"ListDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List distributions." - }, - "ListInvalidations":{ - "name":"ListInvalidations2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/distribution/{DistributionId}/invalidation" - }, - "input":{ - "shape":"ListInvalidationsRequest", - "documentation":"The request to list invalidations." - }, - "output":{ - "shape":"ListInvalidationsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2014_05_31", - "http":{ - "method":"GET", - "requestUri":"/2014-05-31/streaming-distribution" - }, - "input":{ - "shape":"ListStreamingDistributionsRequest", - "documentation":"The request to list your streaming distributions." - }, - "output":{ - "shape":"ListStreamingDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2014_05_31", - "http":{ - "method":"PUT", - "requestUri":"/2014-05-31/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"UpdateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to update an origin access identity." - }, - "output":{ - "shape":"UpdateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2014_05_31", - "http":{ - "method":"PUT", - "requestUri":"/2014-05-31/distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateDistributionRequest", - "documentation":"The request to update a distribution." - }, - "output":{ - "shape":"UpdateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2014_05_31", - "http":{ - "method":"PUT", - "requestUri":"/2014-05-31/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateStreamingDistributionRequest", - "documentation":"The request to update a streaming distribution." - }, - "output":{ - "shape":"UpdateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update a streaming distribution." - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution." - }, - "AllowedMethods":{ - "type":"structure", - "required":["Quantity"], - "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) and 7 (for DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT requests)." - }, - "Items":{ - "shape":"AllowedMethodsList", - "documentation":"A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin." - } - }, - "documentation":"A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are two options: - CloudFront forwards only GET and HEAD requests. - CloudFront forwards DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT requests. If you choose the second option, 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 may not want users to have permission to delete objects from your origin." - }, - "AllowedMethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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." - }, - "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, which you use 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"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - "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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity created." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"DistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"InvalidationBatch" - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID." - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "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", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The origin access identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a origin access identity.", - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a distribution.", - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a streaming distribution.", - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Aliases", - "DefaultRootObject", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "Comment", - "Logging", - "PriceClass", - "Enabled" - ], - "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 DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's configuration.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's information.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution configuration.", - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution's information.", - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The invalidation's id." - } - }, - "documentation":"The request to get an invalidation's information." - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"To request to get a streaming distribution configuration.", - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"The request to get a streaming distribution's information.", - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of origin access identities you want in the response body." - } - }, - "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" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions you want in the response body." - } - }, - "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", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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 the 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." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of invalidation batches you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "documentation":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of streaming distributions you want in the response body." - } - }, - "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" - }, - "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" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming distribution." - } - }, - "documentation":"A streaming distribution." - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Aliases", - "Comment", - "Logging", - "TrustedSigners", - "PriceClass", - "Enabled" - ], - "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 StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want to require end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-05-31/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate." - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-05-31/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/service-2.json deleted file mode 100644 index 8e751657..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/service-2.json +++ /dev/null @@ -1,3588 +0,0 @@ -{ - "metadata":{ - "apiVersion":"2014-10-21", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "protocol":"rest-xml" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2014_10_21", - "http":{ - "method":"POST", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{ - "shape":"CreateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to create a new origin access identity." - }, - "output":{ - "shape":"CreateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2014_10_21", - "http":{ - "method":"POST", - "requestUri":"/2014-10-21/distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateDistributionRequest", - "documentation":"The request to create a new distribution." - }, - "output":{ - "shape":"CreateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - } - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2014_10_21", - "http":{ - "method":"POST", - "requestUri":"/2014-10-21/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{ - "shape":"CreateInvalidationRequest", - "documentation":"The request to create an invalidation." - }, - "output":{ - "shape":"CreateInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2014_10_21", - "http":{ - "method":"POST", - "requestUri":"/2014-10-21/streaming-distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateStreamingDistributionRequest", - "documentation":"The request to create a new streaming distribution." - }, - "output":{ - "shape":"CreateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2014_10_21", - "http":{ - "method":"DELETE", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to delete a origin access identity." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2014_10_21", - "http":{ - "method":"DELETE", - "requestUri":"/2014-10-21/distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteDistributionRequest", - "documentation":"The request to delete a distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2014_10_21", - "http":{ - "method":"DELETE", - "requestUri":"/2014-10-21/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteStreamingDistributionRequest", - "documentation":"The request to delete a streaming distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront/{Id}" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to get an origin access identity's information." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigRequest", - "documentation":"The request to get an origin access identity's configuration." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/distribution/{Id}" - }, - "input":{ - "shape":"GetDistributionRequest", - "documentation":"The request to get a distribution's information." - }, - "output":{ - "shape":"GetDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/distribution/{Id}/config" - }, - "input":{ - "shape":"GetDistributionConfigRequest", - "documentation":"The request to get a distribution configuration." - }, - "output":{ - "shape":"GetDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{ - "shape":"GetInvalidationRequest", - "documentation":"The request to get an invalidation's information." - }, - "output":{ - "shape":"GetInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/streaming-distribution/{Id}" - }, - "input":{ - "shape":"GetStreamingDistributionRequest", - "documentation":"The request to get a streaming distribution's information." - }, - "output":{ - "shape":"GetStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"GetStreamingDistributionConfigRequest", - "documentation":"To request to get a streaming distribution configuration." - }, - "output":{ - "shape":"GetStreamingDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront" - }, - "input":{ - "shape":"ListCloudFrontOriginAccessIdentitiesRequest", - "documentation":"The request to list origin access identities." - }, - "output":{ - "shape":"ListCloudFrontOriginAccessIdentitiesResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/distribution" - }, - "input":{ - "shape":"ListDistributionsRequest", - "documentation":"The request to list your distributions." - }, - "output":{ - "shape":"ListDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List distributions." - }, - "ListInvalidations":{ - "name":"ListInvalidations2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/distribution/{DistributionId}/invalidation" - }, - "input":{ - "shape":"ListInvalidationsRequest", - "documentation":"The request to list invalidations." - }, - "output":{ - "shape":"ListInvalidationsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2014_10_21", - "http":{ - "method":"GET", - "requestUri":"/2014-10-21/streaming-distribution" - }, - "input":{ - "shape":"ListStreamingDistributionsRequest", - "documentation":"The request to list your streaming distributions." - }, - "output":{ - "shape":"ListStreamingDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2014_10_21", - "http":{ - "method":"PUT", - "requestUri":"/2014-10-21/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"UpdateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to update an origin access identity." - }, - "output":{ - "shape":"UpdateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2014_10_21", - "http":{ - "method":"PUT", - "requestUri":"/2014-10-21/distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateDistributionRequest", - "documentation":"The request to update a distribution." - }, - "output":{ - "shape":"UpdateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2014_10_21", - "http":{ - "method":"PUT", - "requestUri":"/2014-10-21/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateStreamingDistributionRequest", - "documentation":"The request to update a streaming distribution." - }, - "output":{ - "shape":"UpdateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update a streaming distribution." - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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." - }, - "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, which you use 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"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - "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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity created." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"DistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"InvalidationBatch" - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID." - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "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", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The origin access identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a origin access identity.", - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a distribution.", - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a streaming distribution.", - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Aliases", - "DefaultRootObject", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "Comment", - "Logging", - "PriceClass", - "Enabled" - ], - "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 DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's configuration.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's information.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution configuration.", - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution's information.", - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The invalidation's id." - } - }, - "documentation":"The request to get an invalidation's information." - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"To request to get a streaming distribution configuration.", - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"The request to get a streaming distribution's information.", - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of origin access identities you want in the response body." - } - }, - "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" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions you want in the response body." - } - }, - "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", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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 the 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." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of invalidation batches you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "documentation":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of streaming distributions you want in the response body." - } - }, - "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" - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming distribution." - } - }, - "documentation":"A streaming distribution." - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Aliases", - "Comment", - "Logging", - "TrustedSigners", - "PriceClass", - "Enabled" - ], - "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 StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want to require end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-10-21/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate." - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-10-21/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/service-2.json deleted file mode 100644 index c58646ef..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/service-2.json +++ /dev/null @@ -1,3585 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-11-06", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "protocol":"rest-xml" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2014_11_06", - "http":{ - "method":"POST", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{ - "shape":"CreateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to create a new origin access identity." - }, - "output":{ - "shape":"CreateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2014_11_06", - "http":{ - "method":"POST", - "requestUri":"/2014-11-06/distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateDistributionRequest", - "documentation":"The request to create a new distribution." - }, - "output":{ - "shape":"CreateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - } - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2014_11_06", - "http":{ - "method":"POST", - "requestUri":"/2014-11-06/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{ - "shape":"CreateInvalidationRequest", - "documentation":"The request to create an invalidation." - }, - "output":{ - "shape":"CreateInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2014_11_06", - "http":{ - "method":"POST", - "requestUri":"/2014-11-06/streaming-distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateStreamingDistributionRequest", - "documentation":"The request to create a new streaming distribution." - }, - "output":{ - "shape":"CreateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2014_11_06", - "http":{ - "method":"DELETE", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to delete a origin access identity." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2014_11_06", - "http":{ - "method":"DELETE", - "requestUri":"/2014-11-06/distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteDistributionRequest", - "documentation":"The request to delete a distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2014_11_06", - "http":{ - "method":"DELETE", - "requestUri":"/2014-11-06/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteStreamingDistributionRequest", - "documentation":"The request to delete a streaming distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront/{Id}" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to get an origin access identity's information." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigRequest", - "documentation":"The request to get an origin access identity's configuration." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/distribution/{Id}" - }, - "input":{ - "shape":"GetDistributionRequest", - "documentation":"The request to get a distribution's information." - }, - "output":{ - "shape":"GetDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/distribution/{Id}/config" - }, - "input":{ - "shape":"GetDistributionConfigRequest", - "documentation":"The request to get a distribution configuration." - }, - "output":{ - "shape":"GetDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{ - "shape":"GetInvalidationRequest", - "documentation":"The request to get an invalidation's information." - }, - "output":{ - "shape":"GetInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/streaming-distribution/{Id}" - }, - "input":{ - "shape":"GetStreamingDistributionRequest", - "documentation":"The request to get a streaming distribution's information." - }, - "output":{ - "shape":"GetStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"GetStreamingDistributionConfigRequest", - "documentation":"To request to get a streaming distribution configuration." - }, - "output":{ - "shape":"GetStreamingDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront" - }, - "input":{ - "shape":"ListCloudFrontOriginAccessIdentitiesRequest", - "documentation":"The request to list origin access identities." - }, - "output":{ - "shape":"ListCloudFrontOriginAccessIdentitiesResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/distribution" - }, - "input":{ - "shape":"ListDistributionsRequest", - "documentation":"The request to list your distributions." - }, - "output":{ - "shape":"ListDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List distributions." - }, - "ListInvalidations":{ - "name":"ListInvalidations2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/distribution/{DistributionId}/invalidation" - }, - "input":{ - "shape":"ListInvalidationsRequest", - "documentation":"The request to list invalidations." - }, - "output":{ - "shape":"ListInvalidationsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2014_11_06", - "http":{ - "method":"GET", - "requestUri":"/2014-11-06/streaming-distribution" - }, - "input":{ - "shape":"ListStreamingDistributionsRequest", - "documentation":"The request to list your streaming distributions." - }, - "output":{ - "shape":"ListStreamingDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2014_11_06", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-06/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"UpdateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to update an origin access identity." - }, - "output":{ - "shape":"UpdateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2014_11_06", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-06/distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateDistributionRequest", - "documentation":"The request to update a distribution." - }, - "output":{ - "shape":"UpdateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2014_11_06", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-06/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateStreamingDistributionRequest", - "documentation":"The request to update a streaming distribution." - }, - "output":{ - "shape":"UpdateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update a streaming distribution." - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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." - }, - "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, which you use 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"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - "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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity created." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"DistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"InvalidationBatch" - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID." - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - } - }, - "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", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The origin access identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a origin access identity.", - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a distribution.", - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a streaming distribution.", - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "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 DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's configuration.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's information.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution configuration.", - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution's information.", - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The invalidation's id." - } - }, - "documentation":"The request to get an invalidation's information." - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"To request to get a streaming distribution configuration.", - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"The request to get a streaming distribution's information.", - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of origin access identities you want in the response body." - } - }, - "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" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions you want in the response body." - } - }, - "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", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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 the 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." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of invalidation batches you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "documentation":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of streaming distributions you want in the response body." - } - }, - "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" - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want to require end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2014-11-06/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate." - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2014-11-06/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/service-2.json deleted file mode 100644 index 53756041..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/service-2.json +++ /dev/null @@ -1,3637 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-04-17", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "protocol":"rest-xml" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{ - "shape":"CreateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to create a new origin access identity." - }, - "output":{ - "shape":"CreateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateDistributionRequest", - "documentation":"The request to create a new distribution." - }, - "output":{ - "shape":"CreateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{ - "shape":"CreateInvalidationRequest", - "documentation":"The request to create an invalidation." - }, - "output":{ - "shape":"CreateInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2015_04_17", - "http":{ - "method":"POST", - "requestUri":"/2015-04-17/streaming-distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateStreamingDistributionRequest", - "documentation":"The request to create a new streaming distribution." - }, - "output":{ - "shape":"CreateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to delete a origin access identity." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteDistributionRequest", - "documentation":"The request to delete a distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2015_04_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-04-17/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteStreamingDistributionRequest", - "documentation":"The request to delete a streaming distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to get an origin access identity's information." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigRequest", - "documentation":"The request to get an origin access identity's configuration." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{Id}" - }, - "input":{ - "shape":"GetDistributionRequest", - "documentation":"The request to get a distribution's information." - }, - "output":{ - "shape":"GetDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{Id}/config" - }, - "input":{ - "shape":"GetDistributionConfigRequest", - "documentation":"The request to get a distribution configuration." - }, - "output":{ - "shape":"GetDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{ - "shape":"GetInvalidationRequest", - "documentation":"The request to get an invalidation's information." - }, - "output":{ - "shape":"GetInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution/{Id}" - }, - "input":{ - "shape":"GetStreamingDistributionRequest", - "documentation":"The request to get a streaming distribution's information." - }, - "output":{ - "shape":"GetStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"GetStreamingDistributionConfigRequest", - "documentation":"To request to get a streaming distribution configuration." - }, - "output":{ - "shape":"GetStreamingDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront" - }, - "input":{ - "shape":"ListCloudFrontOriginAccessIdentitiesRequest", - "documentation":"The request to list origin access identities." - }, - "output":{ - "shape":"ListCloudFrontOriginAccessIdentitiesResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution" - }, - "input":{ - "shape":"ListDistributionsRequest", - "documentation":"The request to list your distributions." - }, - "output":{ - "shape":"ListDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List distributions." - }, - "ListInvalidations":{ - "name":"ListInvalidations2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/distribution/{DistributionId}/invalidation" - }, - "input":{ - "shape":"ListInvalidationsRequest", - "documentation":"The request to list invalidations." - }, - "output":{ - "shape":"ListInvalidationsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_04_17", - "http":{ - "method":"GET", - "requestUri":"/2015-04-17/streaming-distribution" - }, - "input":{ - "shape":"ListStreamingDistributionsRequest", - "documentation":"The request to list your streaming distributions." - }, - "output":{ - "shape":"ListStreamingDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"UpdateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to update an origin access identity." - }, - "output":{ - "shape":"UpdateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateDistributionRequest", - "documentation":"The request to update a distribution." - }, - "output":{ - "shape":"UpdateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2015_04_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-04-17/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateStreamingDistributionRequest", - "documentation":"The request to update a streaming distribution." - }, - "output":{ - "shape":"UpdateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update a streaming distribution." - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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." - }, - "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, which you use 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"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - "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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity created." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"DistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"InvalidationBatch" - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID." - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - } - }, - "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", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The origin access identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a origin access identity.", - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a distribution.", - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a streaming distribution.", - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "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 DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"} - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's configuration.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's information.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution configuration.", - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution's information.", - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The invalidation's id." - } - }, - "documentation":"The request to get an invalidation's information." - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"To request to get a streaming distribution configuration.", - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"The request to get a streaming distribution's information.", - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of origin access identities you want in the response body." - } - }, - "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" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions you want in the response body." - } - }, - "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", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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 the 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." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of invalidation batches you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "documentation":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of streaming distributions you want in the response body." - } - }, - "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" - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want to require end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-04-17/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate." - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-04-17/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/service-2.json deleted file mode 100644 index f909a548..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/service-2.json +++ /dev/null @@ -1,3731 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-07-27", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "protocol":"rest-xml" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{ - "shape":"CreateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to create a new origin access identity." - }, - "output":{ - "shape":"CreateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CloudFrontOriginAccessIdentityAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyCloudFrontOriginAccessIdentities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateDistributionRequest", - "documentation":"The request to create a new distribution." - }, - "output":{ - "shape":"CreateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"DistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"TooManyDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidProtocolSettings", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidWebACLId", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{ - "shape":"CreateInvalidationRequest", - "documentation":"The request to create an invalidation." - }, - "output":{ - "shape":"CreateInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"BatchTooLarge", - "error":{"httpStatusCode":413}, - "exception":true - }, - { - "shape":"TooManyInvalidationsInProgress", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2015_07_27", - "http":{ - "method":"POST", - "requestUri":"/2015-07-27/streaming-distribution", - "responseCode":201 - }, - "input":{ - "shape":"CreateStreamingDistributionRequest", - "documentation":"The request to create a new streaming distribution." - }, - "output":{ - "shape":"CreateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"StreamingDistributionAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidOrigin", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"TooManyStreamingDistributions", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to delete a origin access identity." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"CloudFrontOriginAccessIdentityInUse", - "error":{"httpStatusCode":409}, - "exception":true - } - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteDistributionRequest", - "documentation":"The request to delete a distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"DistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2015_07_27", - "http":{ - "method":"DELETE", - "requestUri":"/2015-07-27/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{ - "shape":"DeleteStreamingDistributionRequest", - "documentation":"The request to delete a streaming distribution." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"StreamingDistributionNotDisabled", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - } - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to get an origin access identity's information." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigRequest", - "documentation":"The request to get an origin access identity's configuration." - }, - "output":{ - "shape":"GetCloudFrontOriginAccessIdentityConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{Id}" - }, - "input":{ - "shape":"GetDistributionRequest", - "documentation":"The request to get a distribution's information." - }, - "output":{ - "shape":"GetDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{Id}/config" - }, - "input":{ - "shape":"GetDistributionConfigRequest", - "documentation":"The request to get a distribution configuration." - }, - "output":{ - "shape":"GetDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{ - "shape":"GetInvalidationRequest", - "documentation":"The request to get an invalidation's information." - }, - "output":{ - "shape":"GetInvalidationResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchInvalidation", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution/{Id}" - }, - "input":{ - "shape":"GetStreamingDistributionRequest", - "documentation":"The request to get a streaming distribution's information." - }, - "output":{ - "shape":"GetStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"GetStreamingDistributionConfigRequest", - "documentation":"To request to get a streaming distribution configuration." - }, - "output":{ - "shape":"GetStreamingDistributionConfigResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront" - }, - "input":{ - "shape":"ListCloudFrontOriginAccessIdentitiesRequest", - "documentation":"The request to list origin access identities." - }, - "output":{ - "shape":"ListCloudFrontOriginAccessIdentitiesResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution" - }, - "input":{ - "shape":"ListDistributionsRequest", - "documentation":"The request to list your distributions." - }, - "output":{ - "shape":"ListDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distributionsByWebACLId/{WebACLId}" - }, - "input":{ - "shape":"ListDistributionsByWebACLIdRequest", - "documentation":"The request to list distributions that are associated with a specified AWS WAF web ACL." - }, - "output":{ - "shape":"ListDistributionsByWebACLIdResult", - "documentation":"The response to a request to list the distributions that are associated with a specified AWS WAF web ACL." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidWebACLId", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/distribution/{DistributionId}/invalidation" - }, - "input":{ - "shape":"ListInvalidationsRequest", - "documentation":"The request to list invalidations." - }, - "output":{ - "shape":"ListInvalidationsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - } - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_07_27", - "http":{ - "method":"GET", - "requestUri":"/2015-07-27/streaming-distribution" - }, - "input":{ - "shape":"ListStreamingDistributionsRequest", - "documentation":"The request to list your streaming distributions." - }, - "output":{ - "shape":"ListStreamingDistributionsResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - } - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{ - "shape":"UpdateCloudFrontOriginAccessIdentityRequest", - "documentation":"The request to update an origin access identity." - }, - "output":{ - "shape":"UpdateCloudFrontOriginAccessIdentityResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchCloudFrontOriginAccessIdentity", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateDistributionRequest", - "documentation":"The request to update a distribution." - }, - "output":{ - "shape":"UpdateDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - { - "shape":"InvalidDefaultRootObject", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - { - "shape":"InvalidRelativePath", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - { - "shape":"InvalidErrorCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidResponseCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InvalidViewerCertificate", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidMinimumProtocolVersion", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidRequiredProtocol", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"NoSuchOrigin", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - { - "shape":"TooManyOrigins", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - { - "shape":"TooManyCacheBehaviors", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - { - "shape":"TooManyCookieNamesInWhiteList", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - { - "shape":"InvalidForwardCookies", - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - { - "shape":"TooManyHeadersInForwardedValues", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidHeadersForS3Origin", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - { - "shape":"TooManyCertificates", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - { - "shape":"InvalidLocationCode", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidGeoRestrictionParameter", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidTTLOrder", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidWebACLId", - "error":{"httpStatusCode":400}, - "exception":true - } - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2015_07_27", - "http":{ - "method":"PUT", - "requestUri":"/2015-07-27/streaming-distribution/{Id}/config" - }, - "input":{ - "shape":"UpdateStreamingDistributionRequest", - "documentation":"The request to update a streaming distribution." - }, - "output":{ - "shape":"UpdateStreamingDistributionResult", - "documentation":"The returned result of the corresponding request." - }, - "errors":[ - { - "shape":"AccessDenied", - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - { - "shape":"CNAMEAlreadyExists", - "error":{"httpStatusCode":409}, - "exception":true - }, - { - "shape":"IllegalUpdate", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - { - "shape":"InvalidIfMatchVersion", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - { - "shape":"MissingBody", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - { - "shape":"NoSuchStreamingDistribution", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - { - "shape":"PreconditionFailed", - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - { - "shape":"TooManyStreamingDistributionCNAMEs", - "error":{"httpStatusCode":400}, - "exception":true - }, - { - "shape":"InvalidArgument", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - { - "shape":"InvalidOriginAccessIdentity", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - { - "shape":"TooManyTrustedSigners", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - { - "shape":"TrustedSignerDoesNotExist", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - { - "shape":"InconsistentQuantities", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - } - ], - "documentation":"Update a streaming distribution." - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":403}, - "exception":true, - "documentation":"Access denied." - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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." - }, - "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, which you use 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"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "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." - }, - "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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity created." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"DistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"InvalidationBatch" - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "location":"header", - "locationName":"Location", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID." - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"StreamingDistributionConfig" - } - }, - "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", - "location":"header", - "locationName":"Location", - "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." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution created." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - } - }, - "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", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The origin access identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a origin access identity.", - "required":["Id"] - }, - "DeleteDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a distribution.", - "required":["Id"] - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to delete a streaming distribution.", - "required":["Id"] - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"The caller reference you attempted to create the distribution with is associated with another distribution." - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "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 DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's configuration.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - } - }, - "documentation":"The request to get an origin access identity's information.", - "required":["Id"] - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution configuration.", - "required":["Id"] - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - } - }, - "documentation":"The request to get a distribution's information.", - "required":["Id"] - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The invalidation's id." - } - }, - "documentation":"The request to get an invalidation's information." - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"To request to get a streaming distribution configuration.", - "required":["Id"] - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - } - }, - "documentation":"The request to get a streaming distribution's information.", - "required":["Id"] - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Origin and CallerReference cannot be updated." - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The value of Quantity and the size of Items do not match." - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The argument is invalid." - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The default root object file name is too big or contains an invalid character." - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The If-Match version is missing or not valid for the distribution." - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket." - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The origin access identity is not valid or doesn't exist." - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI)." - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/)." - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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." - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of origin access identities you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "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.)" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100." - }, - "WebACLId":{ - "shape":"string", - "location":"uri", - "locationName":"WebACLId", - "documentation":"The Id of the AWS WAF web ACL for which 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." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "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.)" - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100." - } - }, - "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", - "location":"uri", - "locationName":"DistributionId", - "documentation":"The distribution's id." - }, - "Marker":{ - "shape":"string", - "location":"querystring", - "locationName":"Marker", - "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 the 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." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of invalidation batches you want in the response body." - } - }, - "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", - "location":"querystring", - "locationName":"Marker", - "documentation":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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)." - }, - "MaxItems":{ - "shape":"string", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"The maximum number of streaming distributions you want in the response body." - } - }, - "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" - }, - "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"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"This operation requires a body. Ensure that the body is present and the Content-Type header is set." - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified origin access identity does not exist." - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified distribution does not exist." - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified invalidation does not exist." - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"No origin exists with the specified Origin Id." - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"The specified streaming distribution does not exist." - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":412}, - "exception":true, - "documentation":"The precondition given in one or more of the request-header fields evaluated to false." - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore cache behaviors for the distribution." - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore custom ssl certificates." - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed." - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior." - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more CNAMEs than are allowed per distribution." - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed." - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects." - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"You cannot create anymore origins for the distribution." - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Processing your request would cause you to exceed the maximum number of streaming distributions allowed." - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"Your request contains more trusted signers than are allowed per distribution." - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"One or more of your trusted signers do not exist." - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want to require end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"CloudFrontOriginAccessIdentityConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The identity's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"DistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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.", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-07-27/"}, - "locationName":"StreamingDistributionConfig" - }, - "Id":{ - "shape":"string", - "location":"uri", - "locationName":"Id", - "documentation":"The streaming distribution's id." - }, - "IfMatch":{ - "shape":"string", - "location":"header", - "locationName":"If-Match", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL." - } - }, - "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", - "location":"header", - "locationName":"ETag", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate." - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-07-27/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/service-2.json deleted file mode 100644 index 6e2ac454..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/service-2.json +++ /dev/null @@ -1,2928 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-09-17", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2015_09_17", - "http":{ - "method":"POST", - "requestUri":"/2015-09-17/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2015_09_17", - "http":{ - "method":"POST", - "requestUri":"/2015-09-17/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"} - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2015_09_17", - "http":{ - "method":"POST", - "requestUri":"/2015-09-17/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":"CreateStreamingDistribution2015_09_17", - "http":{ - "method":"POST", - "requestUri":"/2015-09-17/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":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2015_09_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-09-17/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":"DeleteDistribution2015_09_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-09-17/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2015_09_17", - "http":{ - "method":"DELETE", - "requestUri":"/2015-09-17/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/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":"GetCloudFrontOriginAccessIdentityConfig2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/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":"GetDistribution2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/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":"GetStreamingDistribution2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/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":"ListCloudFrontOriginAccessIdentities2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/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":"ListInvalidations2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2015_09_17", - "http":{ - "method":"GET", - "requestUri":"/2015-09-17/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2015_09_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-09-17/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":"UpdateDistribution2015_09_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-09-17/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"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2015_09_17", - "http":{ - "method":"PUT", - "requestUri":"/2015-09-17/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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" - ] - }, - "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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2015-09-17/"} - } - }, - "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/2015-09-17/"} - } - }, - "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" - }, - "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/2015-09-17/"} - } - }, - "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/2015-09-17/"} - } - }, - "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" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "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." - } - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "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 - }, - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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" - }, - "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 - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "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." - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer" - ] - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore origins for the distribution.", - "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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header 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/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header 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/2015-09-17/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header 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":{ - "Certificate":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), set to the IAM certificate identifier of the custom viewer certificate for this distribution." - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to \"cloudfront\". If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), set to \"iam\", and update the Certificate field with the IAM certificate identifier of the custom viewer certificate for this distribution." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"Note: this field is deprecated. Please use \"iam\" as CertificateSource and specify the IAM certificate Id as the Certificate. If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate.", - "deprecated":true - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"Note: this field is deprecated. Please use \"cloudfront\" as CertificateSource and omit specifying a Certificate. If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId.", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2015-09-17/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/service-2.json deleted file mode 100644 index d66c803b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/service-2.json +++ /dev/null @@ -1,3021 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-01-13", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_01_13", - "http":{ - "method":"POST", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_01_13", - "http":{ - "method":"POST", - "requestUri":"/2016-01-13/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"} - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_01_13", - "http":{ - "method":"POST", - "requestUri":"/2016-01-13/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_01_13", - "http":{ - "method":"POST", - "requestUri":"/2016-01-13/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":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_01_13", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_01_13", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-13/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_01_13", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-13/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_01_13", - "http":{ - "method":"GET", - "requestUri":"/2016-01-13/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_01_13", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-13/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_01_13", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-13/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"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_01_13", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-13/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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" - ] - }, - "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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "documentation":"The request to create a new origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the origin access identity created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "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" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - } - }, - "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" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom headers for this origin." - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"A complex type that contains the custom headers for this Origin." - } - }, - "documentation":"A complex type that contains the list of Custom Headers for each origin." - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"The HTTP port the custom origin listens on." - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"The HTTPS port the custom origin listens on." - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"The origin protocol policy to apply to your origin." - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "documentation":"A customer origin." - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior." - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "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 - }, - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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" - }, - "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 - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"A complex type that contains information about the custom headers associated with this Origin." - }, - "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." - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"The header's name." - }, - "HeaderValue":{ - "shape":"string", - "documentation":"The header's value." - } - }, - "documentation":"A complex type that contains information related to a Header" - }, - "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 complex type that contains one SslProtocol element for each SSL/TLS protocol that you want to allow CloudFront to use when establishing an HTTPS connection with this origin." - } - }, - "documentation":"A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore origins for the distribution.", - "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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update an origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-13/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header 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":{ - "Certificate":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), you can use your own IAM or ACM certificate. For ACM, set to the ACM certificate ARN. For IAM, set to the IAM certificate identifier." - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to \"cloudfront\". If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), you can use your own IAM or ACM certificate. To use an ACM certificate, set to \"acm\" and update the Certificate to the ACM certificate ARN. To use an IAM certificate, set to \"iam\" and update the Certificate to the IAM certificate identifier." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"Note: this field is deprecated. Please use \"iam\" as CertificateSource and specify the IAM certificate Id as the Certificate. If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value or CloudFrontDefaultCertificate.", - "deprecated":true - }, - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"Note: this field is deprecated. Please use \"cloudfront\" as CertificateSource and omit specifying a Certificate. If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an IAMCertificateId.", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-13/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/service-2.json deleted file mode 100644 index 18046819..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/service-2.json +++ /dev/null @@ -1,3026 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-01-28", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_01_28", - "http":{ - "method":"POST", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_01_28", - "http":{ - "method":"POST", - "requestUri":"/2016-01-28/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"} - ], - "documentation":"Create a new distribution." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_01_28", - "http":{ - "method":"POST", - "requestUri":"/2016-01-28/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_01_28", - "http":{ - "method":"POST", - "requestUri":"/2016-01-28/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":"Create a new streaming distribution." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_01_28", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_01_28", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-28/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_01_28", - "http":{ - "method":"DELETE", - "requestUri":"/2016-01-28/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_01_28", - "http":{ - "method":"GET", - "requestUri":"/2016-01-28/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_01_28", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-28/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_01_28", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-28/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"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_01_28", - "http":{ - "method":"PUT", - "requestUri":"/2016-01-28/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "documentation":"The request to create a new origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the origin access identity created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "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" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - } - }, - "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" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom headers for this origin." - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"A complex type that contains the custom headers for this Origin." - } - }, - "documentation":"A complex type that contains the list of Custom Headers for each origin." - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"The HTTP port the custom origin listens on." - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"The HTTPS port the custom origin listens on." - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"The origin protocol policy to apply to your origin." - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "documentation":"A customer origin." - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior." - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "documentation":"A distribution Configuration." - }, - "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", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "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 - }, - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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" - }, - "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 - }, - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"A complex type that contains information about the custom headers associated with this Origin." - }, - "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." - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"The header's name." - }, - "HeaderValue":{ - "shape":"string", - "documentation":"The header's value." - } - }, - "documentation":"A complex type that contains information related to a Header" - }, - "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 complex type that contains one SslProtocol element for each SSL/TLS protocol that you want to allow CloudFront to use when establishing an HTTPS connection with this origin." - } - }, - "documentation":"A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the streaming distribution. For example: EGTXBD79H29TRA8." - }, - "Status":{ - "shape":"string", - "documentation":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for 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 streaming 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", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"The identifier for the distribution. For example: EDFDVBD632BHDS5." - }, - "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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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." - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore origins for the distribution.", - "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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update an origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-01-28/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate." - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value 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":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-01-28/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/service-2.json deleted file mode 100644 index 3e5291e7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/service-2.json +++ /dev/null @@ -1,3433 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-08-01", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/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"} - ], - "documentation":"Create a new distribution." - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/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"} - ], - "documentation":"Create a new distribution with tags." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/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":"Create a new streaming distribution." - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"Create a new streaming distribution with tags." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_08_01", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_08_01", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-01/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_08_01", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-01/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2016_08_01", - "http":{ - "method":"GET", - "requestUri":"/2016-08-01/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"List tags for a CloudFront resource." - }, - "TagResource":{ - "name":"TagResource2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Add tags to a CloudFront resource." - }, - "UntagResource":{ - "name":"UntagResource2016_08_01", - "http":{ - "method":"POST", - "requestUri":"/2016-08-01/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Remove tags from a CloudFront resource." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_08_01", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-01/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_08_01", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-01/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"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_08_01", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-01/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create a new origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the origin access identity created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create a new distribution.", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create a new distribution with tags", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create a new streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to create a new streaming distribution with tags.", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom headers for this origin." - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"A complex type that contains the custom headers for this Origin." - } - }, - "documentation":"A complex type that contains the list of Custom Headers for each origin." - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"The HTTP port the custom origin listens on." - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"The HTTPS port the custom origin listens on." - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"The origin protocol policy to apply to your origin." - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "documentation":"A customer origin." - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior." - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "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" - ], - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "Headers":{ - "shape":"Headers", - "documentation":"A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior." - } - }, - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "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"} - }, - "documentation":"The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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"} - }, - "documentation":"The specified CloudFront resource does not exist.", - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"A complex type that contains information about the custom headers associated with this Origin." - }, - "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." - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"The header's name." - }, - "HeaderValue":{ - "shape":"string", - "documentation":"The header's value." - } - }, - "documentation":"A complex type that contains information related to a Header" - }, - "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 complex type that contains one SslProtocol element for each SSL/TLS protocol that you want to allow CloudFront to use when establishing an HTTPS connection with this origin." - } - }, - "documentation":"A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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" - ] - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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 streaming distribution. For example: EGTXBD79H29TRA8." - }, - "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":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for the streaming distribution." - }, - "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 streaming 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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "Comment":{ - "shape":"string", - "documentation":"The comment originally specified when this distribution was created." - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront streaming distribution." - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted." - }, - "Bucket":{ - "shape":"string", - "documentation":"The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com." - }, - "Prefix":{ - "shape":"string", - "documentation":"An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element." - } - }, - "documentation":"A complex type that controls whether access logs are written for this streaming distribution." - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - }, - "Value":{ - "shape":"TagValue", - "documentation":"A string that contains an optional Tag value. The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - } - }, - "documentation":"A complex type that contains Tag key and Tag value." - }, - "TagKey":{ - "type":"string", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"A complex type that contains Tag key elements" - } - }, - "documentation":"A complex type that contains zero or more Tag elements." - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"A complex type that contains zero or more Tag elements.", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "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 anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore origins for the distribution.", - "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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"A complex type that contains zero or more Tag key elements.", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - } - }, - "documentation":"The request to remove tags from a CloudFront resource.", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update an origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-01/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate." - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value 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":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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

Amazon CloudFront is a global content delivery network (CDN) service that accelerates delivery of your websites, APIs, video content or other web assets. It integrates with other Amazon Web Services products to give developers and businesses an easy way to accelerate content to end users with no minimum usage commitments.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-01/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/service-2.json deleted file mode 100644 index d0681d35..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/service-2.json +++ /dev/null @@ -1,3480 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-08-20", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Create a new distribution." - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Create a new distribution with tags." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/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":"Create a new streaming distribution." - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"Create a new streaming distribution with tags." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_08_20", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_08_20", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-20/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_08_20", - "http":{ - "method":"DELETE", - "requestUri":"/2016-08-20/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2016_08_20", - "http":{ - "method":"GET", - "requestUri":"/2016-08-20/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"List tags for a CloudFront resource." - }, - "TagResource":{ - "name":"TagResource2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Add tags to a CloudFront resource." - }, - "UntagResource":{ - "name":"UntagResource2016_08_20", - "http":{ - "method":"POST", - "requestUri":"/2016-08-20/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Remove tags from a CloudFront resource." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_08_20", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-20/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_08_20", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-20/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_08_20", - "http":{ - "method":"PUT", - "requestUri":"/2016-08-20/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create a new origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the origin access identity created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create a new distribution.", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create a new distribution with tags", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create a new streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to create a new streaming distribution with tags.", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom headers for this origin." - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"A complex type that contains the custom headers for this Origin." - } - }, - "documentation":"A complex type that contains the list of Custom Headers for each origin." - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"The HTTP port the custom origin listens on." - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"The HTTPS port the custom origin listens on." - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"The origin protocol policy to apply to your origin." - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "documentation":"A customer origin." - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior." - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - } - }, - "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" - ], - "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 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." - }, - "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 end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"The Web ACL Id (if any) associated with the distribution." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

  • If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.
  • If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.
  • If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.
" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "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, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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"} - }, - "documentation":"The specified CloudFront resource does not exist.", - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"A complex type that contains information about the custom headers associated with this Origin." - }, - "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." - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"The header's name." - }, - "HeaderValue":{ - "shape":"string", - "documentation":"The header's value." - } - }, - "documentation":"A complex type that contains information related to a Header" - }, - "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 complex type that contains one SslProtocol element for each SSL/TLS protocol that you want to allow CloudFront to use when establishing an HTTPS connection with this origin." - } - }, - "documentation":"A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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 streaming distribution. For example: EGTXBD79H29TRA8." - }, - "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":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for the streaming distribution." - }, - "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 streaming 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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "Comment":{ - "shape":"string", - "documentation":"The comment originally specified when this distribution was created." - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront streaming distribution." - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted." - }, - "Bucket":{ - "shape":"string", - "documentation":"The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com." - }, - "Prefix":{ - "shape":"string", - "documentation":"An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element." - } - }, - "documentation":"A complex type that controls whether access logs are written for this streaming distribution." - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - }, - "Value":{ - "shape":"TagValue", - "documentation":"A string that contains an optional Tag value. The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - } - }, - "documentation":"A complex type that contains Tag key and Tag value." - }, - "TagKey":{ - "type":"string", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"A complex type that contains Tag key elements" - } - }, - "documentation":"A complex type that contains zero or more Tag elements." - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"A complex type that contains zero or more Tag elements.", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "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 anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore 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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"A complex type that contains zero or more Tag key elements.", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - } - }, - "documentation":"The request to remove tags from a CloudFront resource.", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update an origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-08-20/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate." - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value 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":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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

Amazon CloudFront is a global content delivery network (CDN) service that accelerates delivery of your websites, APIs, video content or other web assets. It integrates with other Amazon Web Services products to give developers and businesses an easy way to accelerate content to end users with no minimum usage commitments.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-08-20/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/service-2.json deleted file mode 100644 index 15b6d9bd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/service-2.json +++ /dev/null @@ -1,3496 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-09-07", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new origin access identity." - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Create a new distribution." - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Create a new distribution with tags." - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Create a new invalidation." - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/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":"Create a new streaming distribution." - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"Create a new streaming distribution with tags." - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_09_07", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"Delete an origin access identity." - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_09_07", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-07/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a distribution." - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_09_07", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-07/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"Delete a streaming distribution." - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an origin access identity." - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about an origin access identity." - }, - "GetDistribution":{ - "name":"GetDistribution2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a distribution." - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a distribution." - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about an invalidation." - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the information about a streaming distribution." - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"Get the configuration information about a streaming distribution." - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List origin access identities." - }, - "ListDistributions":{ - "name":"ListDistributions2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List distributions." - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"List the distributions that are associated with a specified AWS WAF web ACL." - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"List invalidation batches." - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"List streaming distributions." - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2016_09_07", - "http":{ - "method":"GET", - "requestUri":"/2016-09-07/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"List tags for a CloudFront resource." - }, - "TagResource":{ - "name":"TagResource2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Add tags to a CloudFront resource." - }, - "UntagResource":{ - "name":"UntagResource2016_09_07", - "http":{ - "method":"POST", - "requestUri":"/2016-09-07/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"Remove tags from a CloudFront resource." - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_09_07", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-07/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"Update an origin access identity." - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_09_07", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-07/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"Update a distribution." - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_09_07", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-07/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":"Each active trusted signer." - }, - "Quantity":{ - "shape":"integer", - "documentation":"The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3." - }, - "Items":{ - "shape":"SignerList", - "documentation":"A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors." - } - }, - "documentation":"A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for the default cache behavior or for any of the other cache behaviors for this distribution. These are accounts that you want to allow to create signed URLs for private content." - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of CNAMEs, if any, for this distribution." - }, - "Items":{ - "shape":"AliasList", - "documentation":"Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items." - } - }, - "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 may not want users to have permission 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 you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. 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." - }, - "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, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "documentation":"A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.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 will never be used. 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." - }, - "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 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, which you use 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 you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), 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." - }, - "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":"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 origin access identities 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 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":"The CloudFrontOriginAccessIdentityList type." - }, - "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 whitelisted cookies for this cache behavior." - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"Optional: A complex type that contains whitelisted cookies for this cache behavior. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"Use this element to specify whether you want CloudFront to forward cookies to the origin that is associated with this cache behavior. You can specify all, none or whitelist. If you choose All, CloudFront forwards all cookies regardless of how many your application uses." - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"A complex type that specifies the whitelisted cookies, if any, that you want CloudFront to forward to your origin that is associated with this cache behavior." - } - }, - "documentation":"A complex type that specifies the cookie preferences associated with this cache behavior." - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The origin access identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create a new origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the origin access identity created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create a new distribution.", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create a new distribution with tags", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"The batch information for the invalidation.", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create an invalidation.", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"The invalidation's information." - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create a new streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to create a new streaming distribution with tags.", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "Location":{ - "shape":"string", - "documentation":"The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the streaming distribution created.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"The 4xx or 5xx HTTP status code that you want to customize. For a list of HTTP status codes that you can customize, see CloudFront documentation." - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"The path of the custom error page (for example, /custom_404.html). The path is relative to the distribution and must begin with a slash (/). If the path includes any non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not return the custom error page to the viewer." - }, - "ResponseCode":{ - "shape":"string", - "documentation":"The HTTP status code that you want CloudFront to return with the custom error page to the viewer. For a list of HTTP status codes that you can replace, see CloudFront Documentation." - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time you want HTTP error codes to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated. You can specify a value from 0 to 31,536,000." - } - }, - "documentation":"A complex type that describes how you'd prefer CloudFront to respond to requests that result in either a 4xx or 5xx response. You can control whether a custom error page should be displayed, what the desired response code should be for this error page and how long should the error response be cached by CloudFront. If you don't want to specify any custom error responses, include only an empty CustomErrorResponses element. To delete all custom error responses in an existing distribution, update the distribution configuration and include only an empty CustomErrorResponses element. To add, change, or remove one or more custom error responses, update the distribution configuration and specify all of the custom error responses that you want to include in the updated distribution." - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom error responses for this distribution." - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"Optional: A complex type that contains custom error responses for this distribution. If Quantity is 0, you can omit Items." - } - }, - "documentation":"A complex type that contains zero or more CustomErrorResponse elements." - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"The number of custom headers for this origin." - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"A complex type that contains the custom headers for this Origin." - } - }, - "documentation":"A complex type that contains the list of Custom Headers for each origin." - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"The HTTP port the custom origin listens on." - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"The HTTPS port the custom origin listens on." - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"The origin protocol policy to apply to your origin." - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - } - }, - "documentation":"A customer origin." - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior." - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"A complex type that specifies how CloudFront handles query strings, cookies and headers." - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https. If you want CloudFront to respond to an HTTP request with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL, specify redirect-to-https. The viewer then resubmits the request using the HTTPS URL." - }, - "MinTTL":{ - "shape":"long", - "documentation":"The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"Indicates whether you want to distribute media files in Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false." - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"If you don't configure your origin to add a Cache-Control max-age directive or an Expires header, DefaultTTL is the default amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "MaxTTL":{ - "shape":"long", - "documentation":"The maximum amount of time (in seconds) that an object is in a CloudFront cache 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. You can specify a value from 0 to 3,153,600,000 seconds (100 years)." - }, - "Compress":{ - "shape":"boolean", - "documentation":"Whether you want CloudFront to automatically compress content for web requests that include Accept-Encoding: gzip in the request header. If so, specify true; if not, specify false. CloudFront compresses files larger than 1000 bytes and less than 1 megabyte for both Amazon S3 and custom origins. When a CloudFront edge location is unusually busy, some files might not be compressed. The value of the Content-Type header must be on the list of file types that CloudFront will compress. For the current list, see Serving Compressed Content in the Amazon CloudFront Developer Guide. If you configure CloudFront to compress content, CloudFront removes the ETag response header from the objects that it compresses. The ETag header indicates that the version in a CloudFront edge cache is identical to the version on the origin server, but after compression the two versions are no longer identical. As a result, for compressed objects, CloudFront can't use the ETag header to determine whether an expired object in the CloudFront edge cache is still the latest version." - } - }, - "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":"The request to delete 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 you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to delete a distribution." - }, - "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 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 throughout the Amazon CloudFront system." - }, - "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." - } - }, - "documentation":"A distribution." - }, - "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 number that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), 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 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 return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. 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." - }, - "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 CustomErrorResponse elements." - }, - "Comment":{ - "shape":"string", - "documentation":"Any comments you want to include about the distribution." - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"A complex type that controls whether access logs are written for the distribution." - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"A complex type that contains information about price class for this distribution." - }, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"(Optional) If you're using AWS WAF to filter CloudFront requests, the Id of the AWS WAF web ACL that is associated with the distribution." - }, - "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 will automatically use an earlier version." - } - }, - "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" - ], - "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 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." - }, - "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 end 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." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront distribution." - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

  • If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.
  • If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.
  • If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.
" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"A complex type that specifies how CloudFront handles cookies." - }, - "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, cookies and headers." - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"The method that you want to use to restrict distribution of your content by country: - none: No geo restriction is enabled, meaning access to content is not restricted by client geo location. - blacklist: The Location elements specify the countries in which you 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. For more information about geo restriction, go to Customizing Error Responses in the Amazon CloudFront Developer Guide. CloudFront determines the location of your users using MaxMind GeoIP databases. For information about the accuracy of these databases, see How accurate are your GeoIP databases? on the MaxMind website." - }, - "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 request to get an origin access identity's configuration." - }, - "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 invalidation's id.", - "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." - } - }, - "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 and to vary on for this cache behavior. The maximum number of headers that you can specify by name is 10. If you want CloudFront to forward all headers to the origin and vary on all of them, specify 1 for Quantity and * for Name. If you don't want CloudFront to forward any additional headers to the origin or to vary on any headers, specify 0 for Quantity and omit Items." - }, - "Items":{ - "shape":"HeaderList", - "documentation":"Optional: A complex type that contains a 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 given object based on the header values in viewer requests; this is known as varying on headers. 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 vary on the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value." - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Origin and CallerReference cannot be updated.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The value of Quantity and the size of Items do not match.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The argument is invalid.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The default root object file name is too big or contains an invalid character.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The If-Match version is missing or not valid for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The origin access identity is not valid or doesn't exist.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The relative path is too big, is not URL-encoded, or does not begin with a slash (/).", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"The specified tagging for a CloudFront resource is invalid. For more information, see the error text.", - "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":"The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object." - }, - "CallerReference":{ - "shape":"string", - "documentation":"A unique name that ensures the request can't be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, 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 a distribution 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 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 invalidation batches 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 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 that was created by the current AWS account." - } - }, - "documentation":"An invalidation list." - }, - "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":"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." - }, - "Items":{ - "shape":"KeyPairIdList", - "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 active CloudFront key pairs, if any, that are associated with AwsAccountNumber." - }, - "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 for which 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 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" - } - }, - "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 the 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 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":"Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. 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 streaming distributions you want in the response body.", - "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"} - }, - "documentation":"The specified CloudFront resource does not exist.", - "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. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior." - }, - "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. 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." - }, - "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." - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"A complex type that contains information about the custom headers associated with this Origin." - }, - "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." - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"The header's name." - }, - "HeaderValue":{ - "shape":"string", - "documentation":"The header's value." - } - }, - "documentation":"A complex type that contains information related to a Header" - }, - "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 complex type that contains one SslProtocol element for each SSL/TLS protocol that you want to allow CloudFront to use when establishing an HTTPS connection with this origin." - } - }, - "documentation":"A complex type that contains the list of SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS." - }, - "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 objects that you want to invalidate." - } - }, - "documentation":"A complex type that contains information about the objects that you want to invalidate." - }, - "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 S3 origin." - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"Your S3 origin's origin access identity." - } - }, - "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 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. Use the format origin-access-identity/cloudfront/Id where Id is the value that CloudFront returned in the Id element when you created the origin access identity." - } - }, - "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":"Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the 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 streaming distribution. For example: EGTXBD79H29TRA8." - }, - "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":"The current status of the streaming 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 streaming distribution. For example: s5c39gqb8ow64r.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." - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The current configuration information for the streaming 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 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 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 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 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "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 end user requests for content." - } - }, - "documentation":"The configuration for the streaming distribution." - }, - "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 streaming 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. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "Comment":{ - "shape":"string", - "documentation":"The comment originally specified when this distribution was created." - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"Whether the distribution is enabled to accept end user requests for content." - } - }, - "documentation":"A summary of the information for an Amazon CloudFront streaming distribution." - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted." - }, - "Bucket":{ - "shape":"string", - "documentation":"The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com." - }, - "Prefix":{ - "shape":"string", - "documentation":"An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element." - } - }, - "documentation":"A complex type that controls whether access logs are written for this streaming distribution." - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - }, - "Value":{ - "shape":"TagValue", - "documentation":"A string that contains an optional Tag value. The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @." - } - }, - "documentation":"A complex type that contains Tag key and Tag value." - }, - "TagKey":{ - "type":"string", - "documentation":"A string that contains Tag key. The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"A complex type that contains Tag key elements" - } - }, - "documentation":"A complex type that contains zero or more Tag elements." - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"A complex type that contains zero or more Tag elements.", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "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 anymore cache behaviors for the distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore custom ssl certificates.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of origin access identities allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more cookie names in the whitelist than are allowed per cache behavior.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Your request contains more CNAMEs than are allowed per distribution.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"Processing your request would cause you to exceed the maximum number of distributions allowed.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"You cannot create anymore 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 end users 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, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution." - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"An ARN of a CloudFront resource.", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"A complex type that contains zero or more Tag key elements.", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - } - }, - "documentation":"The request to remove tags from a CloudFront resource.", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"The identity's configuration information.", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "documentation":"The identity's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update an origin access identity.", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"The origin access identity's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"The distribution's configuration information.", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "documentation":"The distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a distribution.", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"The distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"The streaming distribution's configuration information.", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-07/"} - }, - "Id":{ - "shape":"string", - "documentation":"The streaming distribution's id.", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"The value of the ETag header you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"The request to update a streaming distribution.", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"The streaming distribution's information." - }, - "ETag":{ - "shape":"string", - "documentation":"The current version of the configuration. For example: E2QWRUHAPOMQZL.", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"The returned result of the corresponding request.", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId." - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate." - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate." - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"If you specify a value for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests. Valid values are vip and sni-only. If you specify vip, CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges. If you specify sni-only, CloudFront can only 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. Do not specify a value for SSLSupportMethod if you specified true for CloudFrontDefaultCertificate." - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"Specify the minimum version of the SSL protocol that you want CloudFront to use, SSLv3 or TLSv1, for HTTPS connections. CloudFront will serve your objects only to browsers or devices that support at least the SSL version that you specify. 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. If you're using a custom certificate (if you specify a value for IAMCertificateId) and if you're using dedicated IP (if you specify vip for SSLSupportMethod), you can choose SSLv3 or TLSv1 as the MinimumProtocolVersion. If you're using a custom certificate (if you specify a value 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":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"Note: this field is deprecated. Please use one of [ACMCertificateArn, IAMCertificateId, CloudFrontDefaultCertificate].", - "deprecated":true - } - }, - "documentation":"A complex type that contains information about viewer certificates for this distribution." - }, - "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

Amazon CloudFront is a global content delivery network (CDN) service that accelerates delivery of your websites, APIs, video content or other web assets. It integrates with other Amazon Web Services products to give developers and businesses an easy way to accelerate content to end users with no minimum usage commitments.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-07/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/service-2.json deleted file mode 100644 index c920205e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/service-2.json +++ /dev/null @@ -1,3496 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-09-29", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"

Creates a new web distribution. Send a GET request to the /CloudFront API version/distribution/distribution ID resource.

" - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"

Create a new distribution with tags.

" - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Create a new invalidation.

" - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"

Create a new streaming distribution with tags.

" - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_09_29", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"

Delete an origin access identity.

" - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_09_29", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-29/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a distribution.

" - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_09_29", - "http":{ - "method":"DELETE", - "requestUri":"/2016-09-29/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an origin access identity.

" - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about an origin access identity.

" - }, - "GetDistribution":{ - "name":"GetDistribution2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about a distribution.

" - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a distribution.

" - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an invalidation.

" - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a streaming distribution.

" - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Lists origin access identities.

" - }, - "ListDistributions":{ - "name":"ListDistributions2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List distributions.

" - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Lists invalidation batches.

" - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List streaming distributions.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2016_09_29", - "http":{ - "method":"GET", - "requestUri":"/2016-09-29/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

List tags for a CloudFront resource.

" - }, - "TagResource":{ - "name":"TagResource2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Add tags to a CloudFront resource.

" - }, - "UntagResource":{ - "name":"UntagResource2016_09_29", - "http":{ - "method":"POST", - "requestUri":"/2016-09-29/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Remove tags from a CloudFront resource.

" - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_09_29", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-29/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update an origin access identity.

" - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_09_29", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-29/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"} - ], - "documentation":"

Update a distribution.

" - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_09_29", - "http":{ - "method":"PUT", - "requestUri":"/2016-09-29/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update a streaming distribution.

" - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Access denied.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"SignerList", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" - }, - "Items":{ - "shape":"AliasList", - "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" - } - }, - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" - }, - "CachedMethods":{"shape":"CachedMethods"} - }, - "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • 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.

" - } - }, - "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of cache behaviors for this distribution.

" - }, - "Items":{ - "shape":"CacheBehaviorList", - "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" - } - }, - "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

" - } - }, - "documentation":"

CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the origin access identity.

" - } - }, - "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of origin access identities you want in the response body.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" - }, - "Items":{ - "shape":"CloudFrontOriginAccessIdentitySummaryList", - "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" - } - }, - "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment for this origin access identity, as originally specified when created.

" - } - }, - "documentation":"

Summary of the information about a CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentitySummaryList":{ - "type":"list", - "member":{ - "shape":"CloudFrontOriginAccessIdentitySummary", - "locationName":"CloudFrontOriginAccessIdentitySummary" - } - }, - "CookieNameList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "CookieNames":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create a new origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create a new distribution.

", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create a new distribution with tags.

", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The batch information for the invalidation.

", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create an invalidation.

", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create a new streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to create a new streaming distribution with tags.

", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" - }, - "ResponseCode":{ - "shape":"string", - "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of custom headers, if any, for this distribution.

" - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"

The HTTP port the custom origin listens on.

" - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"

The HTTPS port the custom origin listens on.

" - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"

The origin protocol policy to apply to your origin.

" - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" - } - }, - "documentation":"

A customer origin.

" - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{"shape":"long"}, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The origin access identity's ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

Deletes a origin access identity.

" - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to delete a streaming distribution.

" - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "InProgressInvalidationBatches":{ - "shape":"integer", - "documentation":"

The number of invalidation batches currently in progress.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" - }, - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" - } - }, - "documentation":"

The distribution's information.

" - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "DefaultRootObject":{ - "shape":"string", - "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Do not add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes map to CloudFront regions, see Amazon CloudFront Pricing.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket.

If you do not want to enable logging when you create a distribution, or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements.

If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, do not enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" - } - }, - "documentation":"

A distribution configuration.

" - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

A distribution configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"DistributionSummaryList", - "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A distribution list.

" - }, - "DistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId", - "HttpVersion", - "IsIPV6Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept user requests for content.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

The Web ACL Id (if any) associated with the distribution.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" - } - }, - "documentation":"

A summary of the information about a CloudFront distribution.

" - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "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 - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The origin access identity is not valid or doesn't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidWebACLId":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" - }, - "CreateTime":{ - "shape":"timestamp", - "documentation":"

The date and time the invalidation request was first made.

" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The current invalidation information for the batch request.

" - } - }, - "documentation":"

An invalidation.

" - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{ - "shape":"Paths", - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" - } - }, - "documentation":"

An invalidation batch.

" - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value that you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of invalidation batches that were created by the current AWS account.

" - }, - "Items":{ - "shape":"InvalidationSummaryList", - "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" - } - }, - "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID for an invalidation request.

" - }, - "CreateTime":{"shape":"timestamp"}, - "Status":{ - "shape":"string", - "documentation":"

The status of an invalidation request.

" - } - }, - "documentation":"

A summary of an invalidation request.

" - }, - "InvalidationSummaryList":{ - "type":"list", - "member":{ - "shape":"InvalidationSummary", - "locationName":"InvalidationSummary" - } - }, - "ItemSelection":{ - "type":"string", - "enum":[ - "none", - "whitelist", - "all" - ] - }, - "KeyPairIdList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"KeyPairId" - } - }, - "KeyPairIds":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"KeyPairIdList", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of origin access identities you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list origin access identities.

" - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{ - "shape":"CloudFrontOriginAccessIdentityList", - "documentation":"

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", - "location":"uri", - "locationName":"WebACLId" - } - }, - "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your distributions.

" - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of invalidation batches that you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list invalidations.

" - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{ - "shape":"InvalidationList", - "documentation":"

Information about invalidation batches.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The value that you provided for the MaxItems request parameter.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your streaming distributions.

" - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{ - "shape":"StreamingDistributionList", - "documentation":"

The StreamingDistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - } - }, - "documentation":"

The request to list tags for a CloudFront resource.

" - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" - }, - "IncludeCookies":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you do not want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for the distribution.

" - }, - "Method":{ - "type":"string", - "enum":[ - "GET", - "HEAD", - "POST", - "PUT", - "PATCH", - "OPTIONS", - "DELETE" - ] - }, - "MethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "MinimumProtocolVersion":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified origin access identity does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified invalidation does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No origin exists with the specified Origin Id.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified streaming distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, do not specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" - }, - "OriginPath":{ - "shape":"string", - "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"

A complex type that contains names and values for the custom headers that you want.

" - }, - "S3OriginConfig":{ - "shape":"S3OriginConfig", - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "CustomOriginConfig":{ - "shape":"CustomOriginConfig", - "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" - } - }, - "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" - }, - "HeaderValue":{ - "shape":"string", - "documentation":"

The value for the header that you specified in the HeaderName field.

" - } - }, - "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" - }, - "OriginCustomHeadersList":{ - "type":"list", - "member":{ - "shape":"OriginCustomHeader", - "locationName":"OriginCustomHeader" - } - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer", - "https-only" - ] - }, - "OriginSslProtocols":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" - }, - "Items":{ - "shape":"SslProtocolsList", - "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of origins for this distribution.

" - }, - "Items":{ - "shape":"OriginList", - "documentation":"

A complex type that contains origins for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of objects that you want to invalidate.

" - }, - "Items":{ - "shape":"PathList", - "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" - } - }, - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" - }, - "Items":{ - "shape":"QueryStringCacheKeysList", - "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" - } - } - }, - "QueryStringCacheKeysList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "ResourceARN":{ - "type":"string", - "pattern":"arn:aws:cloudfront::[0-9]+:.*" - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - }, - "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{ - "shape":"string", - "documentation":"

The DNS name of the Amazon S3 origin.

" - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/CloudFront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{ - "shape":"string", - "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" - }, - "KeyPairIds":{ - "shape":"KeyPairIds", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "SslProtocol":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - }, - "SslProtocolsList":{ - "type":"list", - "member":{ - "shape":"SslProtocol", - "locationName":"SslProtocol" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" - }, - "ARN":{"shape":"string"}, - "Status":{ - "shape":"string", - "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The current configuration information for the RTMP distribution.

" - } - }, - "documentation":"

A streaming distribution.

" - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Comment", - "TrustedSigners", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the streaming distribution.

" - }, - "Logging":{ - "shape":"StreamingLoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

A complex type that contains information about price class for this streaming distribution.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" - } - }, - "documentation":"

The RTMP distribution's configuration information.

" - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

A streaming distribution Configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of streaming distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"StreamingDistributionSummaryList", - "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A streaming distribution list.

" - }, - "StreamingDistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" - } - }, - "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - } - }, - "documentation":"

A complex type that contains Tag key and Tag value.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"

A complex type that contains Tag key elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to add tags to a CloudFront resource.

", - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagList", - "documentation":"

A complex type that contains Tag elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more cache behaviors for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more origins for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

One or more of your trusted signers do not exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of trusted signers for this cache behavior.

" - }, - "Items":{ - "shape":"AwsAccountNumberList", - "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

A complex type that contains zero or more Tag key elements.

", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - } - }, - "documentation":"

The request to remove tags from a CloudFront resource.

", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The identity's configuration information.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The identity's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update an origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a distribution.

", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-09-29/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"

If you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name of your distribution in your object URLs (for example, https://d111111abcdef8.cloudfront.net/logo.jpg), set to true. Omit this value if you are setting an ACMCertificateArn or IAMCertificateId.

" - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the IAM certificate identifier of the custom viewer certificate for this distribution. Specify either this value, ACMCertificateArn, or CloudFrontDefaultCertificate.

" - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"

If you want viewers to use HTTPS to request your objects and you're using an alternate domain name in your object URLs (for example, https://example.com/logo.jpg), specify the ACM certificate ARN of the custom viewer certificate for this distribution. Specify either this value, IAMCertificateId, or CloudFrontDefaultCertificate.

" - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"

Specify the minimum version of the SSL/TLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront: SSLv3 or TLSv1. CloudFront serves your objects only to viewers that support SSL/TLS version that you specify and later versions. The TLSv1 protocol is more secure, so we recommend that you specify SSLv3 only if your users are using browsers or devices that don't support TLSv1. Note the following:

  • If you specify <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>, the minimum SSL protocol version is TLSv1 and can't be changed.

  • If you're using a custom certificate (if you specify a value for ACMCertificateArn or for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion.

" - }, - "Certificate":{ - "shape":"string", - "documentation":"

Include one of these values to specify the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

    If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

    • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

    • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

    You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

    • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

    • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

    For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

", - "deprecated":true - } - }, - "documentation":"

A complex type that specifies the following:

  • Which SSL/TLS certificate to use when viewers request objects using HTTPS

  • Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names

  • The minimum protocol version that you want CloudFront to use when communicating with viewers

For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide.

" - }, - "ViewerProtocolPolicy":{ - "type":"string", - "enum":[ - "allow-all", - "https-only", - "redirect-to-https" - ] - }, - "boolean":{"type":"boolean"}, - "integer":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-09-29/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/service-2.json deleted file mode 100644 index dd90e013..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/service-2.json +++ /dev/null @@ -1,3577 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-25", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "signatureVersion":"v4", - "uid":"cloudfront-2016-11-25" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "CreateDistribution":{ - "name":"CreateDistribution2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"} - ], - "documentation":"

Creates a new web distribution. Send a GET request to the /CloudFront API version/distribution/distribution ID resource.

" - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"} - ], - "documentation":"

Create a new distribution with tags.

" - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Create a new invalidation.

" - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"

Create a new streaming distribution with tags.

" - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2016_11_25", - "http":{ - "method":"DELETE", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"

Delete an origin access identity.

" - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2016_11_25", - "http":{ - "method":"DELETE", - "requestUri":"/2016-11-25/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a distribution.

" - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2016_11_25", - "http":{ - "method":"DELETE", - "requestUri":"/2016-11-25/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an origin access identity.

" - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about an origin access identity.

" - }, - "GetDistribution":{ - "name":"GetDistribution2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about a distribution.

" - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a distribution.

" - }, - "GetInvalidation":{ - "name":"GetInvalidation2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an invalidation.

" - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a streaming distribution.

" - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Lists origin access identities.

" - }, - "ListDistributions":{ - "name":"ListDistributions2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List distributions.

" - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListInvalidations":{ - "name":"ListInvalidations2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Lists invalidation batches.

" - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List streaming distributions.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2016_11_25", - "http":{ - "method":"GET", - "requestUri":"/2016-11-25/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

List tags for a CloudFront resource.

" - }, - "TagResource":{ - "name":"TagResource2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Add tags to a CloudFront resource.

" - }, - "UntagResource":{ - "name":"UntagResource2016_11_25", - "http":{ - "method":"POST", - "requestUri":"/2016-11-25/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Remove tags from a CloudFront resource.

" - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2016_11_25", - "http":{ - "method":"PUT", - "requestUri":"/2016-11-25/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update an origin access identity.

" - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2016_11_25", - "http":{ - "method":"PUT", - "requestUri":"/2016-11-25/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"} - ], - "documentation":"

Update a distribution.

" - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2016_11_25", - "http":{ - "method":"PUT", - "requestUri":"/2016-11-25/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update a streaming distribution.

" - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Access denied.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"SignerList", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" - }, - "Items":{ - "shape":"AliasList", - "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" - } - }, - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" - }, - "CachedMethods":{"shape":"CachedMethods"} - }, - "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" - }, - "AwsAccountNumberList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"AwsAccountNumber" - } - }, - "BatchTooLarge":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":413}, - "exception":true - }, - "CNAMEAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CacheBehavior":{ - "type":"structure", - "required":[ - "PathPattern", - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "PathPattern":{ - "shape":"string", - "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" - }, - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{ - "shape":"long", - "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - } - }, - "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of cache behaviors for this distribution.

" - }, - "Items":{ - "shape":"CacheBehaviorList", - "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" - } - }, - "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

" - } - }, - "documentation":"

CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the origin access identity.

" - } - }, - "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of origin access identities you want in the response body.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" - }, - "Items":{ - "shape":"CloudFrontOriginAccessIdentitySummaryList", - "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" - } - }, - "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment for this origin access identity, as originally specified when created.

" - } - }, - "documentation":"

Summary of the information about a CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentitySummaryList":{ - "type":"list", - "member":{ - "shape":"CloudFrontOriginAccessIdentitySummary", - "locationName":"CloudFrontOriginAccessIdentitySummary" - } - }, - "CookieNameList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "CookieNames":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create a new origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create a new distribution.

", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create a new distribution with tags.

", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The batch information for the invalidation.

", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create an invalidation.

", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create a new streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to create a new streaming distribution with tags.

", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" - }, - "ResponseCode":{ - "shape":"string", - "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of custom headers, if any, for this distribution.

" - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"

The HTTP port the custom origin listens on.

" - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"

The HTTPS port the custom origin listens on.

" - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"

The origin protocol policy to apply to your origin.

" - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" - } - }, - "documentation":"

A customer origin.

" - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{"shape":"long"}, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - } - }, - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The origin access identity's ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

Deletes a origin access identity.

" - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to delete a streaming distribution.

" - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "InProgressInvalidationBatches":{ - "shape":"integer", - "documentation":"

The number of invalidation batches currently in progress.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" - }, - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" - } - }, - "documentation":"

The distribution's information.

" - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "DefaultRootObject":{ - "shape":"string", - "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Do not add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes map to CloudFront regions, see Amazon CloudFront Pricing.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket.

If you do not want to enable logging when you create a distribution, or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements.

If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, do not enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" - } - }, - "documentation":"

A distribution configuration.

" - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

A distribution configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"DistributionSummaryList", - "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A distribution list.

" - }, - "DistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId", - "HttpVersion", - "IsIPV6Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept user requests for content.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

The Web ACL Id (if any) associated with the distribution.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" - } - }, - "documentation":"

A summary of the information about a CloudFront distribution.

" - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "EventType":{ - "type":"string", - "enum":[ - "viewer-request", - "viewer-response", - "origin-request", - "origin-response" - ] - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "Headers":{ - "shape":"Headers", - "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to vary upon for this cache behavior.

" - }, - "QueryStringCacheKeys":{ - "shape":"QueryStringCacheKeys", - "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"

The method that you want to use to restrict distribution of your content by country:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you do not want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" - }, - "Items":{ - "shape":"LocationList", - "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list in the CloudFront console, which includes both country names and codes.

" - } - }, - "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

" - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The origin access identity's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an origin access identity's information.

" - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution configuration.

" - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution's information.

" - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an invalidation's information.

" - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

To request to get a streaming distribution configuration.

" - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a streaming distribution's information.

" - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different headers that you want CloudFront to forward to the origin for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    If you configure CloudFront to forward all headers to your origin, CloudFront doesn't cache the objects associated with this cache behavior. Instead, it sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want to forward, and specify the header names in Name elements. CloudFront caches your objects based on the values in all of the specified headers. CloudFront also forwards the headers that it forwards by default, but it caches your objects based only on the headers that you specify.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

" - }, - "Items":{ - "shape":"HeaderList", - "documentation":"

A complex type that contains one Name element for each header that you want CloudFront to forward to the origin and to vary on for this cache behavior. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that specifies the headers that you want CloudFront to forward to the origin for this cache behavior.

For the headers that you specify, CloudFront also caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom Product header that has a value of either Acme or Apex, and you configure CloudFront to cache your content based on values in the Product header. CloudFront forwards the Product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Origin and CallerReference cannot be updated.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The value of Quantity and the size of Items do not match.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The argument is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The default root object file name is too big or contains an invalid character.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The If-Match version is missing or not valid for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified Lambda function association is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The origin access identity is not valid or doesn't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidWebACLId":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" - }, - "CreateTime":{ - "shape":"timestamp", - "documentation":"

The date and time the invalidation request was first made.

" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The current invalidation information for the batch request.

" - } - }, - "documentation":"

An invalidation.

" - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{ - "shape":"Paths", - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" - } - }, - "documentation":"

An invalidation batch.

" - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value that you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of invalidation batches that were created by the current AWS account.

" - }, - "Items":{ - "shape":"InvalidationSummaryList", - "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" - } - }, - "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID for an invalidation request.

" - }, - "CreateTime":{"shape":"timestamp"}, - "Status":{ - "shape":"string", - "documentation":"

The status of an invalidation request.

" - } - }, - "documentation":"

A summary of an invalidation request.

" - }, - "InvalidationSummaryList":{ - "type":"list", - "member":{ - "shape":"InvalidationSummary", - "locationName":"InvalidationSummary" - } - }, - "ItemSelection":{ - "type":"string", - "enum":[ - "none", - "whitelist", - "all" - ] - }, - "KeyPairIdList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"KeyPairId" - } - }, - "KeyPairIds":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"KeyPairIdList", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "LambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "LambdaFunctionARN":{ - "shape":"string", - "documentation":"

The ARN of the Lambda function.

" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

Specifies the event type that triggers a Lambda function invocation. Valid values are:

  • viewer-request

  • origin-request

  • viewer-response

  • origin-response

" - } - }, - "documentation":"

A complex type that contains a Lambda function association.

" - }, - "LambdaFunctionAssociationList":{ - "type":"list", - "member":{ - "shape":"LambdaFunctionAssociation", - "locationName":"LambdaFunctionAssociation" - } - }, - "LambdaFunctionAssociations":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of Lambda function associations for this cache behavior.

" - }, - "Items":{ - "shape":"LambdaFunctionAssociationList", - "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of origin access identities you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list origin access identities.

" - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{ - "shape":"CloudFrontOriginAccessIdentityList", - "documentation":"

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", - "location":"uri", - "locationName":"WebACLId" - } - }, - "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your distributions.

" - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of invalidation batches that you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list invalidations.

" - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{ - "shape":"InvalidationList", - "documentation":"

Information about invalidation batches.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The value that you provided for the MaxItems request parameter.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your streaming distributions.

" - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{ - "shape":"StreamingDistributionList", - "documentation":"

The StreamingDistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - } - }, - "documentation":"

The request to list tags for a CloudFront resource.

" - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" - }, - "IncludeCookies":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you do not want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for the distribution.

" - }, - "Method":{ - "type":"string", - "enum":[ - "GET", - "HEAD", - "POST", - "PUT", - "PATCH", - "OPTIONS", - "DELETE" - ] - }, - "MethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "MinimumProtocolVersion":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified origin access identity does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified invalidation does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No origin exists with the specified Origin Id.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified streaming distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, do not specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" - }, - "OriginPath":{ - "shape":"string", - "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"

A complex type that contains names and values for the custom headers that you want.

" - }, - "S3OriginConfig":{ - "shape":"S3OriginConfig", - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "CustomOriginConfig":{ - "shape":"CustomOriginConfig", - "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" - } - }, - "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" - }, - "HeaderValue":{ - "shape":"string", - "documentation":"

The value for the header that you specified in the HeaderName field.

" - } - }, - "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" - }, - "OriginCustomHeadersList":{ - "type":"list", - "member":{ - "shape":"OriginCustomHeader", - "locationName":"OriginCustomHeader" - } - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer", - "https-only" - ] - }, - "OriginSslProtocols":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" - }, - "Items":{ - "shape":"SslProtocolsList", - "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of origins for this distribution.

" - }, - "Items":{ - "shape":"OriginList", - "documentation":"

A complex type that contains origins for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of objects that you want to invalidate.

" - }, - "Items":{ - "shape":"PathList", - "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" - } - }, - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" - }, - "Items":{ - "shape":"QueryStringCacheKeysList", - "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" - } - } - }, - "QueryStringCacheKeysList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "ResourceARN":{ - "type":"string", - "pattern":"arn:aws:cloudfront::[0-9]+:.*" - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - }, - "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{ - "shape":"string", - "documentation":"

The DNS name of the Amazon S3 origin.

" - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/CloudFront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{ - "shape":"string", - "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" - }, - "KeyPairIds":{ - "shape":"KeyPairIds", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "SslProtocol":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - }, - "SslProtocolsList":{ - "type":"list", - "member":{ - "shape":"SslProtocol", - "locationName":"SslProtocol" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" - }, - "ARN":{"shape":"string"}, - "Status":{ - "shape":"string", - "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The current configuration information for the RTMP distribution.

" - } - }, - "documentation":"

A streaming distribution.

" - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Comment", - "TrustedSigners", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the streaming distribution.

" - }, - "Logging":{ - "shape":"StreamingLoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

A complex type that contains information about price class for this streaming distribution.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" - } - }, - "documentation":"

The RTMP distribution's configuration information.

" - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

A streaming distribution Configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of streaming distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"StreamingDistributionSummaryList", - "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A streaming distribution list.

" - }, - "StreamingDistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" - } - }, - "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - } - }, - "documentation":"

A complex type that contains Tag key and Tag value.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"

A complex type that contains Tag key elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to add tags to a CloudFront resource.

", - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagList", - "documentation":"

A complex type that contains Tag elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more cache behaviors for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsWithLambdaAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyLambdaFunctionAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more origins for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

One or more of your trusted signers do not exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of trusted signers for this cache behavior.

" - }, - "Items":{ - "shape":"AwsAccountNumberList", - "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

A complex type that contains zero or more Tag key elements.

", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - } - }, - "documentation":"

The request to remove tags from a CloudFront resource.

", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The identity's configuration information.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The identity's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update an origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a distribution.

", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2016-11-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{"shape":"boolean"}, - "IAMCertificateId":{"shape":"string"}, - "ACMCertificateArn":{"shape":"string"}, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"

If you specify a value for ACMCertificateArn or for IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Do not specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"

Specify the minimum version of the SSL/TLS protocol that you want CloudFront to use for HTTPS connections between viewers and CloudFront: SSLv3 or TLSv1. CloudFront serves your objects only to viewers that support SSL/TLS version that you specify and later versions. The TLSv1 protocol is more secure, so we recommend that you specify SSLv3 only if your users are using browsers or devices that don't support TLSv1. Note the following:

  • If you specify <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>, the minimum SSL protocol version is TLSv1 and can't be changed.

  • If you're using a custom certificate (if you specify a value for ACMCertificateArn or for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion.

" - }, - "Certificate":{ - "shape":"string", - "documentation":"

Include one of these values to specify the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify one (and only one) of the three values. Do not specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

    If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

    • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

    • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

    You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

    • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

    • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

    For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"

This field is deprecated. You can use one of the following: [ACMCertificateArn, IAMCertificateId, or CloudFrontDefaultCertificate].

", - "deprecated":true - } - }, - "documentation":"

A complex type that specifies the following:

  • Which SSL/TLS certificate to use when viewers request objects using HTTPS

  • Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names

  • The minimum protocol version that you want CloudFront to use when communicating with viewers

For more information, see Using an HTTPS Connection to Access Your Objects in the Amazon Amazon CloudFront Developer Guide.

" - }, - "ViewerProtocolPolicy":{ - "type":"string", - "enum":[ - "allow-all", - "https-only", - "redirect-to-https" - ] - }, - "boolean":{"type":"boolean"}, - "integer":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/waiters-2.json deleted file mode 100644 index 6e044bc5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2016-11-25/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/service-2.json deleted file mode 100644 index 092482e1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/service-2.json +++ /dev/null @@ -1,3653 +0,0 @@ -{ - "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.

" - }, - "DeleteServiceLinkedRole":{ - "name":"DeleteServiceLinkedRole2017_03_25", - "http":{ - "method":"DELETE", - "requestUri":"/2017-03-25/service-linked-role/{RoleName}", - "responseCode":204 - }, - "input":{"shape":"DeleteServiceLinkedRoleRequest"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"AccessDenied"}, - {"shape":"ResourceInUse"}, - {"shape":"NoSuchResource"} - ] - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2017_03_25", - "http":{ - "method":"DELETE", - "requestUri":"/2017-03-25/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an origin access identity.

" - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about an origin access identity.

" - }, - "GetDistribution":{ - "name":"GetDistribution2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about a distribution.

" - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a distribution.

" - }, - "GetInvalidation":{ - "name":"GetInvalidation2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an invalidation.

" - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a streaming distribution.

" - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Lists origin access identities.

" - }, - "ListDistributions":{ - "name":"ListDistributions2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List distributions.

" - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListInvalidations":{ - "name":"ListInvalidations2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Lists invalidation batches.

" - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List streaming distributions.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2017_03_25", - "http":{ - "method":"GET", - "requestUri":"/2017-03-25/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

List tags for a CloudFront resource.

" - }, - "TagResource":{ - "name":"TagResource2017_03_25", - "http":{ - "method":"POST", - "requestUri":"/2017-03-25/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Add tags to a CloudFront resource.

" - }, - "UntagResource":{ - "name":"UntagResource2017_03_25", - "http":{ - "method":"POST", - "requestUri":"/2017-03-25/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Remove tags from a CloudFront resource.

" - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2017_03_25", - "http":{ - "method":"PUT", - "requestUri":"/2017-03-25/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update an origin access identity.

" - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2017_03_25", - "http":{ - "method":"PUT", - "requestUri":"/2017-03-25/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"} - ], - "documentation":"

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a distribution. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values you're actually specifying.

" - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2017_03_25", - "http":{ - "method":"PUT", - "requestUri":"/2017-03-25/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update a streaming distribution.

" - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Access denied.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"SignerList", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" - }, - "Items":{ - "shape":"AliasList", - "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" - } - }, - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" - }, - "CachedMethods":{"shape":"CachedMethods"} - }, - "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" - }, - "AwsAccountNumberList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"AwsAccountNumber" - } - }, - "BatchTooLarge":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":413}, - "exception":true - }, - "CNAMEAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CacheBehavior":{ - "type":"structure", - "required":[ - "PathPattern", - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "PathPattern":{ - "shape":"string", - "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" - }, - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{ - "shape":"long", - "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - } - }, - "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of cache behaviors for this distribution.

" - }, - "Items":{ - "shape":"CacheBehaviorList", - "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" - } - }, - "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

" - } - }, - "documentation":"

CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the origin access identity.

" - } - }, - "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of origin access identities you want in the response body.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" - }, - "Items":{ - "shape":"CloudFrontOriginAccessIdentitySummaryList", - "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" - } - }, - "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment for this origin access identity, as originally specified when created.

" - } - }, - "documentation":"

Summary of the information about a CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentitySummaryList":{ - "type":"list", - "member":{ - "shape":"CloudFrontOriginAccessIdentitySummary", - "locationName":"CloudFrontOriginAccessIdentitySummary" - } - }, - "CookieNameList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "CookieNames":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create a new origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create a new distribution.

", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create a new distribution with tags.

", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The batch information for the invalidation.

", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create an invalidation.

", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create a new streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to create a new streaming distribution with tags.

", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" - }, - "ResponseCode":{ - "shape":"string", - "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of custom headers, if any, for this distribution.

" - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"

The HTTP port the custom origin listens on.

" - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"

The HTTPS port the custom origin listens on.

" - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"

The origin protocol policy to apply to your origin.

" - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" - }, - "OriginReadTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - }, - "OriginKeepaliveTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - } - }, - "documentation":"

A customer origin.

" - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{"shape":"long"}, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - } - }, - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The origin access identity's ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

Deletes a origin access identity.

" - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "DeleteServiceLinkedRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "members":{ - "RoleName":{ - "shape":"string", - "location":"uri", - "locationName":"RoleName" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to delete a streaming distribution.

" - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "InProgressInvalidationBatches":{ - "shape":"integer", - "documentation":"

The number of invalidation batches currently in progress.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" - }, - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" - } - }, - "documentation":"

The distribution's information.

" - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "DefaultRootObject":{ - "shape":"string", - "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Don't add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes map to CloudFront regions, see Amazon CloudFront Pricing.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

From this field, you can enable or disable the selected distribution.

If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" - } - }, - "documentation":"

A distribution configuration.

" - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

A distribution configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"DistributionSummaryList", - "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A distribution list.

" - }, - "DistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId", - "HttpVersion", - "IsIPV6Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept user requests for content.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

The Web ACL Id (if any) associated with the distribution.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" - } - }, - "documentation":"

A summary of the information about a CloudFront distribution.

" - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "EventType":{ - "type":"string", - "enum":[ - "viewer-request", - "viewer-response", - "origin-request", - "origin-response" - ] - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "Headers":{ - "shape":"Headers", - "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to base caching on for this cache behavior.

" - }, - "QueryStringCacheKeys":{ - "shape":"QueryStringCacheKeys", - "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"

The method that you want to use to restrict distribution of your content by country:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" - }, - "Items":{ - "shape":"LocationList", - "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.

" - } - }, - "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

" - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The origin access identity's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an origin access identity's information.

" - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution configuration.

" - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution's information.

" - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an invalidation's information.

" - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

To request to get a streaming distribution configuration.

" - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a streaming distribution's information.

" - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" - }, - "Items":{ - "shape":"HeaderList", - "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex, and you configure CloudFront to cache your content based on values in the product header. CloudFront forwards the product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Origin and CallerReference cannot be updated.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The value of Quantity and the size of Items don't match.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The argument is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The default root object file name is too big or contains an invalid character.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The If-Match version is missing or not valid for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified Lambda function association is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The origin access identity is not valid or doesn't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginKeepaliveTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginReadTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidWebACLId":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" - }, - "CreateTime":{ - "shape":"timestamp", - "documentation":"

The date and time the invalidation request was first made.

" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The current invalidation information for the batch request.

" - } - }, - "documentation":"

An invalidation.

" - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{ - "shape":"Paths", - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" - } - }, - "documentation":"

An invalidation batch.

" - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value that you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of invalidation batches that were created by the current AWS account.

" - }, - "Items":{ - "shape":"InvalidationSummaryList", - "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" - } - }, - "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID for an invalidation request.

" - }, - "CreateTime":{"shape":"timestamp"}, - "Status":{ - "shape":"string", - "documentation":"

The status of an invalidation request.

" - } - }, - "documentation":"

A summary of an invalidation request.

" - }, - "InvalidationSummaryList":{ - "type":"list", - "member":{ - "shape":"InvalidationSummary", - "locationName":"InvalidationSummary" - } - }, - "ItemSelection":{ - "type":"string", - "enum":[ - "none", - "whitelist", - "all" - ] - }, - "KeyPairIdList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"KeyPairId" - } - }, - "KeyPairIds":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"KeyPairIdList", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "LambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "LambdaFunctionARN":{ - "shape":"string", - "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" - } - }, - "documentation":"

A complex type that contains a Lambda function association.

" - }, - "LambdaFunctionAssociationList":{ - "type":"list", - "member":{ - "shape":"LambdaFunctionAssociation", - "locationName":"LambdaFunctionAssociation" - } - }, - "LambdaFunctionAssociations":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of Lambda function associations for this cache behavior.

" - }, - "Items":{ - "shape":"LambdaFunctionAssociationList", - "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of origin access identities you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list origin access identities.

" - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{ - "shape":"CloudFrontOriginAccessIdentityList", - "documentation":"

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", - "location":"uri", - "locationName":"WebACLId" - } - }, - "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your distributions.

" - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of invalidation batches that you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list invalidations.

" - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{ - "shape":"InvalidationList", - "documentation":"

Information about invalidation batches.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"InvalidationList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The value that you provided for the MaxItems request parameter.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your streaming distributions.

" - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{ - "shape":"StreamingDistributionList", - "documentation":"

The StreamingDistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - } - }, - "documentation":"

The request to list tags for a CloudFront resource.

" - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" - }, - "IncludeCookies":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for the distribution.

" - }, - "Method":{ - "type":"string", - "enum":[ - "GET", - "HEAD", - "POST", - "PUT", - "PATCH", - "OPTIONS", - "DELETE" - ] - }, - "MethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "MinimumProtocolVersion":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1_2016", - "TLSv1.1_2016", - "TLSv1.2_2018" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified origin access identity does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified invalidation does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No origin exists with the specified Origin Id.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified streaming distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" - }, - "OriginPath":{ - "shape":"string", - "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"

A complex type that contains names and values for the custom headers that you want.

" - }, - "S3OriginConfig":{ - "shape":"S3OriginConfig", - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "CustomOriginConfig":{ - "shape":"CustomOriginConfig", - "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" - } - }, - "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" - }, - "HeaderValue":{ - "shape":"string", - "documentation":"

The value for the header that you specified in the HeaderName field.

" - } - }, - "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" - }, - "OriginCustomHeadersList":{ - "type":"list", - "member":{ - "shape":"OriginCustomHeader", - "locationName":"OriginCustomHeader" - } - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer", - "https-only" - ] - }, - "OriginSslProtocols":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" - }, - "Items":{ - "shape":"SslProtocolsList", - "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of origins for this distribution.

" - }, - "Items":{ - "shape":"OriginList", - "documentation":"

A complex type that contains origins for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of objects that you want to invalidate.

" - }, - "Items":{ - "shape":"PathList", - "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" - } - }, - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" - }, - "Items":{ - "shape":"QueryStringCacheKeysList", - "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" - } - } - }, - "QueryStringCacheKeysList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "ResourceARN":{ - "type":"string", - "pattern":"arn:aws:cloudfront::[0-9]+:.*" - }, - "ResourceInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - }, - "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{ - "shape":"string", - "documentation":"

The DNS name of the Amazon S3 origin.

" - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/cloudfront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{ - "shape":"string", - "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" - }, - "KeyPairIds":{ - "shape":"KeyPairIds", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "SslProtocol":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - }, - "SslProtocolsList":{ - "type":"list", - "member":{ - "shape":"SslProtocol", - "locationName":"SslProtocol" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" - }, - "ARN":{"shape":"string"}, - "Status":{ - "shape":"string", - "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The current configuration information for the RTMP distribution.

" - } - }, - "documentation":"

A streaming distribution.

" - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Comment", - "TrustedSigners", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the streaming distribution.

" - }, - "Logging":{ - "shape":"StreamingLoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

A complex type that contains information about price class for this streaming distribution.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" - } - }, - "documentation":"

The RTMP distribution's configuration information.

" - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

A streaming distribution Configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of streaming distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"StreamingDistributionSummaryList", - "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A streaming distribution list.

" - }, - "StreamingDistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution, for example, EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" - } - }, - "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - } - }, - "documentation":"

A complex type that contains Tag key and Tag value.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"

A complex type that contains Tag key elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to add tags to a CloudFront resource.

", - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagList", - "documentation":"

A complex type that contains Tag elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more cache behaviors for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsWithLambdaAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyLambdaFunctionAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more origins for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

One or more of your trusted signers don't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of trusted signers for this cache behavior.

" - }, - "Items":{ - "shape":"AwsAccountNumberList", - "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

A complex type that contains zero or more Tag key elements.

", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - } - }, - "documentation":"

The request to remove tags from a CloudFront resource.

", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The identity's configuration information.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The identity's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update an origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a distribution.

", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-03-25/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"

Specify the security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "Certificate":{ - "shape":"string", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - } - }, - "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "ViewerProtocolPolicy":{ - "type":"string", - "enum":[ - "allow-all", - "https-only", - "redirect-to-https" - ] - }, - "boolean":{"type":"boolean"}, - "integer":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/waiters-2.json deleted file mode 100644 index edd74b2a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-03-25/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "version": 2, - "waiters": { - "DistributionDeployed": { - "delay": 60, - "operation": "GetDistribution", - "maxAttempts": 25, - "description": "Wait until a distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Distribution.Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Invalidation.Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "StreamingDistribution.Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/service-2.json deleted file mode 100644 index 3dad99bf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/service-2.json +++ /dev/null @@ -1,5187 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-30", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "serviceId":"CloudFront", - "signatureVersion":"v4", - "uid":"cloudfront-2017-10-30" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "CreateDistribution":{ - "name":"CreateDistribution2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Creates a new web distribution. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

" - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Create a new distribution with tags.

" - }, - "CreateFieldLevelEncryptionConfig":{ - "name":"CreateFieldLevelEncryptionConfig2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/field-level-encryption", - "responseCode":201 - }, - "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, - {"shape":"TooManyFieldLevelEncryptionConfigs"}, - {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, - {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, - {"shape":"QueryArgProfileEmpty"} - ], - "documentation":"

Create a new field-level encryption configuration.

" - }, - "CreateFieldLevelEncryptionProfile":{ - "name":"CreateFieldLevelEncryptionProfile2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/field-level-encryption-profile", - "responseCode":201 - }, - "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, - {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, - {"shape":"TooManyFieldLevelEncryptionProfiles"}, - {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, - {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} - ], - "documentation":"

Create a field-level encryption profile.

" - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Create a new invalidation.

" - }, - "CreatePublicKey":{ - "name":"CreatePublicKey2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/public-key", - "responseCode":201 - }, - "input":{"shape":"CreatePublicKeyRequest"}, - "output":{"shape":"CreatePublicKeyResult"}, - "errors":[ - {"shape":"PublicKeyAlreadyExists"}, - {"shape":"InvalidArgument"}, - {"shape":"TooManyPublicKeys"} - ], - "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"

Create a new streaming distribution with tags.

" - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"

Delete an origin access identity.

" - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a distribution.

" - }, - "DeleteFieldLevelEncryptionConfig":{ - "name":"DeleteFieldLevelEncryptionConfig2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/field-level-encryption/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionConfigInUse"} - ], - "documentation":"

Remove a field-level encryption configuration.

" - }, - "DeleteFieldLevelEncryptionProfile":{ - "name":"DeleteFieldLevelEncryptionProfile2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionProfileInUse"} - ], - "documentation":"

Remove a field-level encryption profile.

" - }, - "DeletePublicKey":{ - "name":"DeletePublicKey2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/public-key/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeletePublicKeyRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"PublicKeyInUse"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Remove a public key you previously added to CloudFront.

" - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2017_10_30", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-30/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an origin access identity.

" - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about an origin access identity.

" - }, - "GetDistribution":{ - "name":"GetDistribution2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about a distribution.

" - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a distribution.

" - }, - "GetFieldLevelEncryption":{ - "name":"GetFieldLevelEncryption2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption/{Id}" - }, - "input":{"shape":"GetFieldLevelEncryptionRequest"}, - "output":{"shape":"GetFieldLevelEncryptionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"} - ], - "documentation":"

Get the field-level encryption configuration information.

" - }, - "GetFieldLevelEncryptionConfig":{ - "name":"GetFieldLevelEncryptionConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption/{Id}/config" - }, - "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"} - ], - "documentation":"

Get the field-level encryption configuration information.

" - }, - "GetFieldLevelEncryptionProfile":{ - "name":"GetFieldLevelEncryptionProfile2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}" - }, - "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"} - ], - "documentation":"

Get the field-level encryption profile information.

" - }, - "GetFieldLevelEncryptionProfileConfig":{ - "name":"GetFieldLevelEncryptionProfileConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}/config" - }, - "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, - "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"} - ], - "documentation":"

Get the field-level encryption profile configuration information.

" - }, - "GetInvalidation":{ - "name":"GetInvalidation2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an invalidation.

" - }, - "GetPublicKey":{ - "name":"GetPublicKey2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/public-key/{Id}" - }, - "input":{"shape":"GetPublicKeyRequest"}, - "output":{"shape":"GetPublicKeyResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchPublicKey"} - ], - "documentation":"

Get the public key information.

" - }, - "GetPublicKeyConfig":{ - "name":"GetPublicKeyConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/public-key/{Id}/config" - }, - "input":{"shape":"GetPublicKeyConfigRequest"}, - "output":{"shape":"GetPublicKeyConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchPublicKey"} - ], - "documentation":"

Return public key configuration informaation

" - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a streaming distribution.

" - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Lists origin access identities.

" - }, - "ListDistributions":{ - "name":"ListDistributions2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List distributions.

" - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListFieldLevelEncryptionConfigs":{ - "name":"ListFieldLevelEncryptionConfigs2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption" - }, - "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, - "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" - }, - "ListFieldLevelEncryptionProfiles":{ - "name":"ListFieldLevelEncryptionProfiles2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/field-level-encryption-profile" - }, - "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, - "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" - }, - "ListInvalidations":{ - "name":"ListInvalidations2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Lists invalidation batches.

" - }, - "ListPublicKeys":{ - "name":"ListPublicKeys2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/public-key" - }, - "input":{"shape":"ListPublicKeysRequest"}, - "output":{"shape":"ListPublicKeysResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List all public keys that have been added to CloudFront for this account.

" - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List streaming distributions.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2017_10_30", - "http":{ - "method":"GET", - "requestUri":"/2017-10-30/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

List tags for a CloudFront resource.

" - }, - "TagResource":{ - "name":"TagResource2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Add tags to a CloudFront resource.

" - }, - "UntagResource":{ - "name":"UntagResource2017_10_30", - "http":{ - "method":"POST", - "requestUri":"/2017-10-30/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Remove tags from a CloudFront resource.

" - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update an origin access identity.

" - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a distribution. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values you're actually specifying.

" - }, - "UpdateFieldLevelEncryptionConfig":{ - "name":"UpdateFieldLevelEncryptionConfig2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/field-level-encryption/{Id}/config" - }, - "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, - {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, - {"shape":"QueryArgProfileEmpty"} - ], - "documentation":"

Update a field-level encryption configuration.

" - }, - "UpdateFieldLevelEncryptionProfile":{ - "name":"UpdateFieldLevelEncryptionProfile2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}/config" - }, - "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, - {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, - {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} - ], - "documentation":"

Update a field-level encryption profile.

" - }, - "UpdatePublicKey":{ - "name":"UpdatePublicKey2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/public-key/{Id}/config" - }, - "input":{"shape":"UpdatePublicKeyRequest"}, - "output":{"shape":"UpdatePublicKeyResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CannotChangeImmutablePublicKeyFields"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"IllegalUpdate"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Update public key information. Note that the only value you can change is the comment.

" - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2017_10_30", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-30/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update a streaming distribution.

" - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Access denied.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"SignerList", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" - }, - "Items":{ - "shape":"AliasList", - "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" - } - }, - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" - }, - "CachedMethods":{"shape":"CachedMethods"} - }, - "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" - }, - "AwsAccountNumberList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"AwsAccountNumber" - } - }, - "BatchTooLarge":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":413}, - "exception":true - }, - "CNAMEAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CacheBehavior":{ - "type":"structure", - "required":[ - "PathPattern", - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "PathPattern":{ - "shape":"string", - "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" - }, - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{ - "shape":"long", - "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - }, - "FieldLevelEncryptionId":{"shape":"string"} - }, - "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of cache behaviors for this distribution.

" - }, - "Items":{ - "shape":"CacheBehaviorList", - "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" - } - }, - "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" - }, - "CannotChangeImmutablePublicKeyFields":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You can't change the value of a public key.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

" - } - }, - "documentation":"

CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the origin access identity.

" - } - }, - "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of origin access identities you want in the response body.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" - }, - "Items":{ - "shape":"CloudFrontOriginAccessIdentitySummaryList", - "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" - } - }, - "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment for this origin access identity, as originally specified when created.

" - } - }, - "documentation":"

Summary of the information about a CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentitySummaryList":{ - "type":"list", - "member":{ - "shape":"CloudFrontOriginAccessIdentitySummary", - "locationName":"CloudFrontOriginAccessIdentitySummary" - } - }, - "ContentTypeProfile":{ - "type":"structure", - "required":[ - "Format", - "ContentType" - ], - "members":{ - "Format":{ - "shape":"Format", - "documentation":"

The format for a field-level encryption content type-profile mapping.

" - }, - "ProfileId":{ - "shape":"string", - "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" - }, - "ContentType":{ - "shape":"string", - "documentation":"

The content type for a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

A field-level encryption content type profile.

" - }, - "ContentTypeProfileConfig":{ - "type":"structure", - "required":["ForwardWhenContentTypeIsUnknown"], - "members":{ - "ForwardWhenContentTypeIsUnknown":{ - "shape":"boolean", - "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" - }, - "ContentTypeProfiles":{ - "shape":"ContentTypeProfiles", - "documentation":"

The configuration for a field-level encryption content type-profile.

" - } - }, - "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" - }, - "ContentTypeProfileList":{ - "type":"list", - "member":{ - "shape":"ContentTypeProfile", - "locationName":"ContentTypeProfile" - } - }, - "ContentTypeProfiles":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption content type-profile mappings.

" - }, - "Items":{ - "shape":"ContentTypeProfileList", - "documentation":"

Items in a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

Field-level encryption content type-profile.

" - }, - "CookieNameList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "CookieNames":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create a new origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create a new distribution.

", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create a new distribution with tags.

", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["FieldLevelEncryptionConfig"], - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

The request to create a new field-level encryption configuration.

", - "locationName":"FieldLevelEncryptionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "CreateFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Returned when you create a new field-level encryption configuration.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "CreateFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["FieldLevelEncryptionProfileConfig"], - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

The request to create a field-level encryption profile.

", - "locationName":"FieldLevelEncryptionProfileConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "CreateFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Returned when you create a new field-level encryption profile.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The batch information for the invalidation.

", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create an invalidation.

", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "CreatePublicKeyRequest":{ - "type":"structure", - "required":["PublicKeyConfig"], - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

The request to add a public key to CloudFront.

", - "locationName":"PublicKeyConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "payload":"PublicKeyConfig" - }, - "CreatePublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Returned when you add a public key.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create a new streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to create a new streaming distribution with tags.

", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" - }, - "ResponseCode":{ - "shape":"string", - "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of custom headers, if any, for this distribution.

" - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"

The HTTP port the custom origin listens on.

" - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"

The HTTPS port the custom origin listens on.

" - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"

The origin protocol policy to apply to your origin.

" - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" - }, - "OriginReadTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - }, - "OriginKeepaliveTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - } - }, - "documentation":"

A customer origin.

" - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{"shape":"long"}, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - }, - "FieldLevelEncryptionId":{"shape":"string"} - }, - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The origin access identity's ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

Deletes a origin access identity.

" - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "DeleteFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID of the configuration you want to delete from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeletePublicKeyRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID of the public key you want to remove from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to delete a streaming distribution.

" - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "InProgressInvalidationBatches":{ - "shape":"integer", - "documentation":"

The number of invalidation batches currently in progress.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" - }, - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" - } - }, - "documentation":"

The distribution's information.

" - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "DefaultRootObject":{ - "shape":"string", - "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Don't add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes map to CloudFront regions, see Amazon CloudFront Pricing.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

From this field, you can enable or disable the selected distribution.

If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" - } - }, - "documentation":"

A distribution configuration.

" - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

A distribution configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"DistributionSummaryList", - "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A distribution list.

" - }, - "DistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId", - "HttpVersion", - "IsIPV6Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept user requests for content.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

The Web ACL Id (if any) associated with the distribution.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" - } - }, - "documentation":"

A summary of the information about a CloudFront distribution.

" - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "EncryptionEntities":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" - }, - "Items":{ - "shape":"EncryptionEntityList", - "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" - }, - "EncryptionEntity":{ - "type":"structure", - "required":[ - "PublicKeyId", - "ProviderId", - "FieldPatterns" - ], - "members":{ - "PublicKeyId":{ - "shape":"string", - "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" - }, - "ProviderId":{ - "shape":"string", - "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" - }, - "FieldPatterns":{ - "shape":"FieldPatterns", - "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" - } - }, - "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" - }, - "EncryptionEntityList":{ - "type":"list", - "member":{ - "shape":"EncryptionEntity", - "locationName":"EncryptionEntity" - } - }, - "EventType":{ - "type":"string", - "enum":[ - "viewer-request", - "viewer-response", - "origin-request", - "origin-response" - ] - }, - "FieldLevelEncryption":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "FieldLevelEncryptionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time the field-level encryption configuration was changed.

" - }, - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" - } - }, - "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" - }, - "FieldLevelEncryptionConfig":{ - "type":"structure", - "required":["CallerReference"], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about the configuration.

" - }, - "QueryArgProfileConfig":{ - "shape":"QueryArgProfileConfig", - "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" - }, - "ContentTypeProfileConfig":{ - "shape":"ContentTypeProfileConfig", - "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" - } - }, - "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" - }, - "FieldLevelEncryptionConfigAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionConfigInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of elements you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption items.

" - }, - "Items":{ - "shape":"FieldLevelEncryptionSummaryList", - "documentation":"

An array of field-level encryption items.

" - } - }, - "documentation":"

List of field-level encrpytion configurations.

" - }, - "FieldLevelEncryptionProfile":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "FieldLevelEncryptionProfileConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time the field-level encryption profile was updated.

" - }, - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" - } - }, - "documentation":"

A complex data type for field-level encryption profiles.

" - }, - "FieldLevelEncryptionProfileAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionProfileConfig":{ - "type":"structure", - "required":[ - "Name", - "CallerReference", - "EncryptionEntities" - ], - "members":{ - "Name":{ - "shape":"string", - "documentation":"

Profile name for the field-level encryption profile.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment for the field-level encryption profile.

" - }, - "EncryptionEntities":{ - "shape":"EncryptionEntities", - "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" - } - }, - "documentation":"

A complex data type of profiles for the field-level encryption.

" - }, - "FieldLevelEncryptionProfileInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionProfileList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption profiles.

" - }, - "Items":{ - "shape":"FieldLevelEncryptionProfileSummaryList", - "documentation":"

The field-level encryption profile items.

" - } - }, - "documentation":"

List of field-level encryption profiles.

" - }, - "FieldLevelEncryptionProfileSizeExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FieldLevelEncryptionProfileSummary":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "Name", - "EncryptionEntities" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

ID for the field-level encryption profile summary.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The time when the the field-level encryption profile summary was last updated.

" - }, - "Name":{ - "shape":"string", - "documentation":"

Name for the field-level encryption profile summary.

" - }, - "EncryptionEntities":{ - "shape":"EncryptionEntities", - "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment for the field-level encryption profile summary.

" - } - }, - "documentation":"

The field-level encryption profile summary.

" - }, - "FieldLevelEncryptionProfileSummaryList":{ - "type":"list", - "member":{ - "shape":"FieldLevelEncryptionProfileSummary", - "locationName":"FieldLevelEncryptionProfileSummary" - } - }, - "FieldLevelEncryptionSummary":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID of a field-level encryption item.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time that the summary of field-level encryption items was modified.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about the field-level encryption item.

" - }, - "QueryArgProfileConfig":{ - "shape":"QueryArgProfileConfig", - "documentation":"

A summary of a query argument-profile mapping.

" - }, - "ContentTypeProfileConfig":{ - "shape":"ContentTypeProfileConfig", - "documentation":"

A summary of a content type-profile mapping.

" - } - }, - "documentation":"

A summary of a field-level encryption item.

" - }, - "FieldLevelEncryptionSummaryList":{ - "type":"list", - "member":{ - "shape":"FieldLevelEncryptionSummary", - "locationName":"FieldLevelEncryptionSummary" - } - }, - "FieldPatternList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"FieldPattern" - } - }, - "FieldPatterns":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption field patterns.

" - }, - "Items":{ - "shape":"FieldPatternList", - "documentation":"

An array of the field-level encryption field patterns.

" - } - }, - "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" - }, - "Format":{ - "type":"string", - "enum":["URLEncoded"] - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "Headers":{ - "shape":"Headers", - "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to base caching on for this cache behavior.

" - }, - "QueryStringCacheKeys":{ - "shape":"QueryStringCacheKeys", - "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"

The method that you want to use to restrict distribution of your content by country:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" - }, - "Items":{ - "shape":"LocationList", - "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.

" - } - }, - "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

" - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The origin access identity's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an origin access identity's information.

" - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution configuration.

" - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution's information.

" - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "GetFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the field-level encryption configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

Return the field-level encryption configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "GetFieldLevelEncryptionProfileConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Get the ID for the field-level encryption profile configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionProfileConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

Return the field-level encryption profile configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "GetFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Get the ID for the field-level encryption profile information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Return the field-level encryption profile information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "GetFieldLevelEncryptionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the field-level encryption configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Return the field-level encryption configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an invalidation's information.

" - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "GetPublicKeyConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the public key configuration.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetPublicKeyConfigResult":{ - "type":"structure", - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

Return the result for the public key configuration.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKeyConfig" - }, - "GetPublicKeyRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the public key.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetPublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Return the public key.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

To request to get a streaming distribution configuration.

" - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a streaming distribution's information.

" - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" - }, - "Items":{ - "shape":"HeaderList", - "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex, and you configure CloudFront to cache your content based on values in the product header. CloudFront forwards the product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Origin and CallerReference cannot be updated.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The value of Quantity and the size of Items don't match.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The argument is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The default root object file name is too big or contains an invalid character.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The If-Match version is missing or not valid for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified Lambda function association is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The origin access identity is not valid or doesn't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginKeepaliveTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginReadTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidWebACLId":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" - }, - "CreateTime":{ - "shape":"timestamp", - "documentation":"

The date and time the invalidation request was first made.

" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The current invalidation information for the batch request.

" - } - }, - "documentation":"

An invalidation.

" - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{ - "shape":"Paths", - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" - } - }, - "documentation":"

An invalidation batch.

" - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value that you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of invalidation batches that were created by the current AWS account.

" - }, - "Items":{ - "shape":"InvalidationSummaryList", - "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" - } - }, - "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID for an invalidation request.

" - }, - "CreateTime":{"shape":"timestamp"}, - "Status":{ - "shape":"string", - "documentation":"

The status of an invalidation request.

" - } - }, - "documentation":"

A summary of an invalidation request.

" - }, - "InvalidationSummaryList":{ - "type":"list", - "member":{ - "shape":"InvalidationSummary", - "locationName":"InvalidationSummary" - } - }, - "ItemSelection":{ - "type":"string", - "enum":[ - "none", - "whitelist", - "all" - ] - }, - "KeyPairIdList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"KeyPairId" - } - }, - "KeyPairIds":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"KeyPairIdList", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "LambdaFunctionARN":{"type":"string"}, - "LambdaFunctionAssociation":{ - "type":"structure", - "required":[ - "LambdaFunctionARN", - "EventType" - ], - "members":{ - "LambdaFunctionARN":{ - "shape":"LambdaFunctionARN", - "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" - } - }, - "documentation":"

A complex type that contains a Lambda function association.

" - }, - "LambdaFunctionAssociationList":{ - "type":"list", - "member":{ - "shape":"LambdaFunctionAssociation", - "locationName":"LambdaFunctionAssociation" - } - }, - "LambdaFunctionAssociations":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of Lambda function associations for this cache behavior.

" - }, - "Items":{ - "shape":"LambdaFunctionAssociationList", - "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of origin access identities you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list origin access identities.

" - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{ - "shape":"CloudFrontOriginAccessIdentityList", - "documentation":"

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", - "location":"uri", - "locationName":"WebACLId" - } - }, - "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your distributions.

" - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionList" - }, - "ListFieldLevelEncryptionConfigsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last configuration on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListFieldLevelEncryptionConfigsResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionList":{ - "shape":"FieldLevelEncryptionList", - "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" - } - }, - "payload":"FieldLevelEncryptionList" - }, - "ListFieldLevelEncryptionProfilesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last profile on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListFieldLevelEncryptionProfilesResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfileList":{ - "shape":"FieldLevelEncryptionProfileList", - "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" - } - }, - "payload":"FieldLevelEncryptionProfileList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of invalidation batches that you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list invalidations.

" - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{ - "shape":"InvalidationList", - "documentation":"

Information about invalidation batches.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"InvalidationList" - }, - "ListPublicKeysRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last public key on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of public keys you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListPublicKeysResult":{ - "type":"structure", - "members":{ - "PublicKeyList":{ - "shape":"PublicKeyList", - "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" - } - }, - "payload":"PublicKeyList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The value that you provided for the MaxItems request parameter.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your streaming distributions.

" - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{ - "shape":"StreamingDistributionList", - "documentation":"

The StreamingDistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - } - }, - "documentation":"

The request to list tags for a CloudFront resource.

" - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" - }, - "IncludeCookies":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for the distribution.

" - }, - "Method":{ - "type":"string", - "enum":[ - "GET", - "HEAD", - "POST", - "PUT", - "PATCH", - "OPTIONS", - "DELETE" - ] - }, - "MethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "MinimumProtocolVersion":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1_2016", - "TLSv1.1_2016", - "TLSv1.2_2018" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified origin access identity does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchFieldLevelEncryptionConfig":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchFieldLevelEncryptionProfile":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified invalidation does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No origin exists with the specified Origin Id.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchPublicKey":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified streaming distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" - }, - "OriginPath":{ - "shape":"string", - "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"

A complex type that contains names and values for the custom headers that you want.

" - }, - "S3OriginConfig":{ - "shape":"S3OriginConfig", - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "CustomOriginConfig":{ - "shape":"CustomOriginConfig", - "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" - } - }, - "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" - }, - "HeaderValue":{ - "shape":"string", - "documentation":"

The value for the header that you specified in the HeaderName field.

" - } - }, - "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" - }, - "OriginCustomHeadersList":{ - "type":"list", - "member":{ - "shape":"OriginCustomHeader", - "locationName":"OriginCustomHeader" - } - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer", - "https-only" - ] - }, - "OriginSslProtocols":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" - }, - "Items":{ - "shape":"SslProtocolsList", - "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of origins for this distribution.

" - }, - "Items":{ - "shape":"OriginList", - "documentation":"

A complex type that contains origins for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of objects that you want to invalidate.

" - }, - "Items":{ - "shape":"PathList", - "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" - } - }, - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "PublicKey":{ - "type":"structure", - "required":[ - "Id", - "CreatedTime", - "PublicKeyConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" - }, - "CreatedTime":{ - "shape":"timestamp", - "documentation":"

A time you added a public key to CloudFront.

" - }, - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" - } - }, - "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeyAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "PublicKeyConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Name", - "EncodedKey" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Name":{ - "shape":"string", - "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" - }, - "EncodedKey":{ - "shape":"string", - "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about a public key.

" - } - }, - "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeyInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "PublicKeyList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of public keys you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" - }, - "Items":{ - "shape":"PublicKeySummaryList", - "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" - } - }, - "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeySummary":{ - "type":"structure", - "required":[ - "Id", - "Name", - "CreatedTime", - "EncodedKey" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

ID for public key information summary.

" - }, - "Name":{ - "shape":"string", - "documentation":"

Name for public key information summary.

" - }, - "CreatedTime":{ - "shape":"timestamp", - "documentation":"

Creation time for public key information summary.

" - }, - "EncodedKey":{ - "shape":"string", - "documentation":"

Encoded key for public key information summary.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Comment for public key information summary.

" - } - }, - "documentation":"

Public key information summary.

" - }, - "PublicKeySummaryList":{ - "type":"list", - "member":{ - "shape":"PublicKeySummary", - "locationName":"PublicKeySummary" - } - }, - "QueryArgProfile":{ - "type":"structure", - "required":[ - "QueryArg", - "ProfileId" - ], - "members":{ - "QueryArg":{ - "shape":"string", - "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" - }, - "ProfileId":{ - "shape":"string", - "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" - } - }, - "documentation":"

Query argument-profile mapping for field-level encryption.

" - }, - "QueryArgProfileConfig":{ - "type":"structure", - "required":["ForwardWhenQueryArgProfileIsUnknown"], - "members":{ - "ForwardWhenQueryArgProfileIsUnknown":{ - "shape":"boolean", - "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" - }, - "QueryArgProfiles":{ - "shape":"QueryArgProfiles", - "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" - } - }, - "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" - }, - "QueryArgProfileEmpty":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No profile specified for the field-level encryption query argument.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "QueryArgProfileList":{ - "type":"list", - "member":{ - "shape":"QueryArgProfile", - "locationName":"QueryArgProfile" - } - }, - "QueryArgProfiles":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" - }, - "Items":{ - "shape":"QueryArgProfileList", - "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" - } - }, - "documentation":"

Query argument-profile mapping for field-level encryption.

" - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" - }, - "Items":{ - "shape":"QueryStringCacheKeysList", - "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" - } - } - }, - "QueryStringCacheKeysList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "ResourceARN":{ - "type":"string", - "pattern":"arn:aws:cloudfront::[0-9]+:.*" - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - }, - "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{ - "shape":"string", - "documentation":"

The DNS name of the Amazon S3 origin.

" - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/cloudfront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{ - "shape":"string", - "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" - }, - "KeyPairIds":{ - "shape":"KeyPairIds", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "SslProtocol":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - }, - "SslProtocolsList":{ - "type":"list", - "member":{ - "shape":"SslProtocol", - "locationName":"SslProtocol" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" - }, - "ARN":{"shape":"string"}, - "Status":{ - "shape":"string", - "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The current configuration information for the RTMP distribution.

" - } - }, - "documentation":"

A streaming distribution.

" - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Comment", - "TrustedSigners", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the streaming distribution.

" - }, - "Logging":{ - "shape":"StreamingLoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

A complex type that contains information about price class for this streaming distribution.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" - } - }, - "documentation":"

The RTMP distribution's configuration information.

" - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

A streaming distribution Configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of streaming distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"StreamingDistributionSummaryList", - "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A streaming distribution list.

" - }, - "StreamingDistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution, for example, EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" - } - }, - "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - } - }, - "documentation":"

A complex type that contains Tag key and Tag value.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"

A complex type that contains Tag key elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to add tags to a CloudFront resource.

", - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagList", - "documentation":"

A complex type that contains Tag elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more cache behaviors for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsWithLambdaAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionConfigs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of configurations for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionContentTypeProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionEncryptionEntities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionFieldPatterns":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionQueryArgProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyLambdaFunctionAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more origins for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyPublicKeys":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

One or more of your trusted signers don't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of trusted signers for this cache behavior.

" - }, - "Items":{ - "shape":"AwsAccountNumberList", - "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

A complex type that contains zero or more Tag key elements.

", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - } - }, - "documentation":"

The request to remove tags from a CloudFront resource.

", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The identity's configuration information.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The identity's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update an origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a distribution.

", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "UpdateFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":[ - "FieldLevelEncryptionConfig", - "Id" - ], - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

Request to update a field-level encryption configuration.

", - "locationName":"FieldLevelEncryptionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The ID of the configuration you want to update.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "UpdateFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Return the results of updating the configuration.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "UpdateFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":[ - "FieldLevelEncryptionProfileConfig", - "Id" - ], - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

Request to update a field-level encryption profile.

", - "locationName":"FieldLevelEncryptionProfileConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The ID of the field-level encryption profile request.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "UpdateFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Return the results of updating the profile.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The result of the field-level encryption profile request.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "UpdatePublicKeyRequest":{ - "type":"structure", - "required":[ - "PublicKeyConfig", - "Id" - ], - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

Request to update public key information.

", - "locationName":"PublicKeyConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

ID of the public key to be updated.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"PublicKeyConfig" - }, - "UpdatePublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Return the results of updating the public key.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"

Specify the security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "Certificate":{ - "shape":"string", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - } - }, - "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "ViewerProtocolPolicy":{ - "type":"string", - "enum":[ - "allow-all", - "https-only", - "redirect-to-https" - ] - }, - "boolean":{"type":"boolean"}, - "integer":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/waiters-2.json deleted file mode 100644 index edd74b2a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2017-10-30/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "version": 2, - "waiters": { - "DistributionDeployed": { - "delay": 60, - "operation": "GetDistribution", - "maxAttempts": 25, - "description": "Wait until a distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Distribution.Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Invalidation.Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "StreamingDistribution.Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/paginators-1.json deleted file mode 100644 index 51fbb907..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/service-2.json deleted file mode 100644 index 6bd2b439..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/service-2.json +++ /dev/null @@ -1,5197 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-06-18", - "endpointPrefix":"cloudfront", - "globalEndpoint":"cloudfront.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"CloudFront", - "serviceFullName":"Amazon CloudFront", - "serviceId":"CloudFront", - "signatureVersion":"v4", - "uid":"cloudfront-2018-06-18" - }, - "operations":{ - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront", - "responseCode":201 - }, - "input":{"shape":"CreateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"CreateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"CloudFrontOriginAccessIdentityAlreadyExists"}, - {"shape":"MissingBody"}, - {"shape":"TooManyCloudFrontOriginAccessIdentities"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more information about how to use origin access identities, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "CreateDistribution":{ - "name":"CreateDistribution2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/distribution", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionRequest"}, - "output":{"shape":"CreateDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Creates a new web distribution. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

" - }, - "CreateDistributionWithTags":{ - "name":"CreateDistributionWithTags2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateDistributionWithTagsRequest"}, - "output":{"shape":"CreateDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"DistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"MissingBody"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"TooManyDistributions"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidProtocolSettings"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"InvalidTagging"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Create a new distribution with tags.

" - }, - "CreateFieldLevelEncryptionConfig":{ - "name":"CreateFieldLevelEncryptionConfig2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/field-level-encryption", - "responseCode":201 - }, - "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, - {"shape":"TooManyFieldLevelEncryptionConfigs"}, - {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, - {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, - {"shape":"QueryArgProfileEmpty"} - ], - "documentation":"

Create a new field-level encryption configuration.

" - }, - "CreateFieldLevelEncryptionProfile":{ - "name":"CreateFieldLevelEncryptionProfile2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/field-level-encryption-profile", - "responseCode":201 - }, - "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, - {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, - {"shape":"TooManyFieldLevelEncryptionProfiles"}, - {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, - {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} - ], - "documentation":"

Create a field-level encryption profile.

" - }, - "CreateInvalidation":{ - "name":"CreateInvalidation2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/distribution/{DistributionId}/invalidation", - "responseCode":201 - }, - "input":{"shape":"CreateInvalidationRequest"}, - "output":{"shape":"CreateInvalidationResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"MissingBody"}, - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"BatchTooLarge"}, - {"shape":"TooManyInvalidationsInProgress"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Create a new invalidation.

" - }, - "CreatePublicKey":{ - "name":"CreatePublicKey2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/public-key", - "responseCode":201 - }, - "input":{"shape":"CreatePublicKeyRequest"}, - "output":{"shape":"CreatePublicKeyResult"}, - "errors":[ - {"shape":"PublicKeyAlreadyExists"}, - {"shape":"InvalidArgument"}, - {"shape":"TooManyPublicKeys"} - ], - "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" - }, - "CreateStreamingDistribution":{ - "name":"CreateStreamingDistribution2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/streaming-distribution", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionRequest"}, - "output":{"shape":"CreateStreamingDistributionResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

" - }, - "CreateStreamingDistributionWithTags":{ - "name":"CreateStreamingDistributionWithTags2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/streaming-distribution?WithTags", - "responseCode":201 - }, - "input":{"shape":"CreateStreamingDistributionWithTagsRequest"}, - "output":{"shape":"CreateStreamingDistributionWithTagsResult"}, - "errors":[ - {"shape":"CNAMEAlreadyExists"}, - {"shape":"StreamingDistributionAlreadyExists"}, - {"shape":"InvalidOrigin"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"AccessDenied"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"MissingBody"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"TooManyStreamingDistributions"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidTagging"} - ], - "documentation":"

Create a new streaming distribution with tags.

" - }, - "DeleteCloudFrontOriginAccessIdentity":{ - "name":"DeleteCloudFrontOriginAccessIdentity2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteCloudFrontOriginAccessIdentityRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"CloudFrontOriginAccessIdentityInUse"} - ], - "documentation":"

Delete an origin access identity.

" - }, - "DeleteDistribution":{ - "name":"DeleteDistribution2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"DistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a distribution.

" - }, - "DeleteFieldLevelEncryptionConfig":{ - "name":"DeleteFieldLevelEncryptionConfig2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/field-level-encryption/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionConfigInUse"} - ], - "documentation":"

Remove a field-level encryption configuration.

" - }, - "DeleteFieldLevelEncryptionProfile":{ - "name":"DeleteFieldLevelEncryptionProfile2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionProfileInUse"} - ], - "documentation":"

Remove a field-level encryption profile.

" - }, - "DeletePublicKey":{ - "name":"DeletePublicKey2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/public-key/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeletePublicKeyRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"PublicKeyInUse"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Remove a public key you previously added to CloudFront.

" - }, - "DeleteStreamingDistribution":{ - "name":"DeleteStreamingDistribution2018_06_18", - "http":{ - "method":"DELETE", - "requestUri":"/2018-06-18/streaming-distribution/{Id}", - "responseCode":204 - }, - "input":{"shape":"DeleteStreamingDistributionRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"StreamingDistributionNotDisabled"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "GetCloudFrontOriginAccessIdentity":{ - "name":"GetCloudFrontOriginAccessIdentity2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront/{Id}" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an origin access identity.

" - }, - "GetCloudFrontOriginAccessIdentityConfig":{ - "name":"GetCloudFrontOriginAccessIdentityConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"GetCloudFrontOriginAccessIdentityConfigRequest"}, - "output":{"shape":"GetCloudFrontOriginAccessIdentityConfigResult"}, - "errors":[ - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about an origin access identity.

" - }, - "GetDistribution":{ - "name":"GetDistribution2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distribution/{Id}" - }, - "input":{"shape":"GetDistributionRequest"}, - "output":{"shape":"GetDistributionResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about a distribution.

" - }, - "GetDistributionConfig":{ - "name":"GetDistributionConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distribution/{Id}/config" - }, - "input":{"shape":"GetDistributionConfigRequest"}, - "output":{"shape":"GetDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a distribution.

" - }, - "GetFieldLevelEncryption":{ - "name":"GetFieldLevelEncryption2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption/{Id}" - }, - "input":{"shape":"GetFieldLevelEncryptionRequest"}, - "output":{"shape":"GetFieldLevelEncryptionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"} - ], - "documentation":"

Get the field-level encryption configuration information.

" - }, - "GetFieldLevelEncryptionConfig":{ - "name":"GetFieldLevelEncryptionConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption/{Id}/config" - }, - "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"} - ], - "documentation":"

Get the field-level encryption configuration information.

" - }, - "GetFieldLevelEncryptionProfile":{ - "name":"GetFieldLevelEncryptionProfile2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}" - }, - "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"} - ], - "documentation":"

Get the field-level encryption profile information.

" - }, - "GetFieldLevelEncryptionProfileConfig":{ - "name":"GetFieldLevelEncryptionProfileConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}/config" - }, - "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, - "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"} - ], - "documentation":"

Get the field-level encryption profile configuration information.

" - }, - "GetInvalidation":{ - "name":"GetInvalidation2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distribution/{DistributionId}/invalidation/{Id}" - }, - "input":{"shape":"GetInvalidationRequest"}, - "output":{"shape":"GetInvalidationResult"}, - "errors":[ - {"shape":"NoSuchInvalidation"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the information about an invalidation.

" - }, - "GetPublicKey":{ - "name":"GetPublicKey2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/public-key/{Id}" - }, - "input":{"shape":"GetPublicKeyRequest"}, - "output":{"shape":"GetPublicKeyResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchPublicKey"} - ], - "documentation":"

Get the public key information.

" - }, - "GetPublicKeyConfig":{ - "name":"GetPublicKeyConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/public-key/{Id}/config" - }, - "input":{"shape":"GetPublicKeyConfigRequest"}, - "output":{"shape":"GetPublicKeyConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"NoSuchPublicKey"} - ], - "documentation":"

Return public key configuration informaation

" - }, - "GetStreamingDistribution":{ - "name":"GetStreamingDistribution2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/streaming-distribution/{Id}" - }, - "input":{"shape":"GetStreamingDistributionRequest"}, - "output":{"shape":"GetStreamingDistributionResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Gets information about a specified RTMP distribution, including the distribution configuration.

" - }, - "GetStreamingDistributionConfig":{ - "name":"GetStreamingDistributionConfig2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/streaming-distribution/{Id}/config" - }, - "input":{"shape":"GetStreamingDistributionConfigRequest"}, - "output":{"shape":"GetStreamingDistributionConfigResult"}, - "errors":[ - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Get the configuration information about a streaming distribution.

" - }, - "ListCloudFrontOriginAccessIdentities":{ - "name":"ListCloudFrontOriginAccessIdentities2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront" - }, - "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, - "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Lists origin access identities.

" - }, - "ListDistributions":{ - "name":"ListDistributions2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distribution" - }, - "input":{"shape":"ListDistributionsRequest"}, - "output":{"shape":"ListDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List distributions.

" - }, - "ListDistributionsByWebACLId":{ - "name":"ListDistributionsByWebACLId2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distributionsByWebACLId/{WebACLId}" - }, - "input":{"shape":"ListDistributionsByWebACLIdRequest"}, - "output":{"shape":"ListDistributionsByWebACLIdResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"InvalidWebACLId"} - ], - "documentation":"

List the distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListFieldLevelEncryptionConfigs":{ - "name":"ListFieldLevelEncryptionConfigs2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption" - }, - "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, - "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" - }, - "ListFieldLevelEncryptionProfiles":{ - "name":"ListFieldLevelEncryptionProfiles2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/field-level-encryption-profile" - }, - "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, - "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" - }, - "ListInvalidations":{ - "name":"ListInvalidations2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/distribution/{DistributionId}/invalidation" - }, - "input":{"shape":"ListInvalidationsRequest"}, - "output":{"shape":"ListInvalidationsResult"}, - "errors":[ - {"shape":"InvalidArgument"}, - {"shape":"NoSuchDistribution"}, - {"shape":"AccessDenied"} - ], - "documentation":"

Lists invalidation batches.

" - }, - "ListPublicKeys":{ - "name":"ListPublicKeys2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/public-key" - }, - "input":{"shape":"ListPublicKeysRequest"}, - "output":{"shape":"ListPublicKeysResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List all public keys that have been added to CloudFront for this account.

" - }, - "ListStreamingDistributions":{ - "name":"ListStreamingDistributions2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/streaming-distribution" - }, - "input":{"shape":"ListStreamingDistributionsRequest"}, - "output":{"shape":"ListStreamingDistributionsResult"}, - "errors":[ - {"shape":"InvalidArgument"} - ], - "documentation":"

List streaming distributions.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource2018_06_18", - "http":{ - "method":"GET", - "requestUri":"/2018-06-18/tagging" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

List tags for a CloudFront resource.

" - }, - "TagResource":{ - "name":"TagResource2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/tagging?Operation=Tag", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Add tags to a CloudFront resource.

" - }, - "UntagResource":{ - "name":"UntagResource2018_06_18", - "http":{ - "method":"POST", - "requestUri":"/2018-06-18/tagging?Operation=Untag", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidTagging"}, - {"shape":"NoSuchResource"} - ], - "documentation":"

Remove tags from a CloudFront resource.

" - }, - "UpdateCloudFrontOriginAccessIdentity":{ - "name":"UpdateCloudFrontOriginAccessIdentity2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/origin-access-identity/cloudfront/{Id}/config" - }, - "input":{"shape":"UpdateCloudFrontOriginAccessIdentityRequest"}, - "output":{"shape":"UpdateCloudFrontOriginAccessIdentityResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchCloudFrontOriginAccessIdentity"}, - {"shape":"PreconditionFailed"}, - {"shape":"InvalidArgument"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update an origin access identity.

" - }, - "UpdateDistribution":{ - "name":"UpdateDistribution2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/distribution/{Id}/config" - }, - "input":{"shape":"UpdateDistributionRequest"}, - "output":{"shape":"UpdateDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyDistributionCNAMEs"}, - {"shape":"InvalidDefaultRootObject"}, - {"shape":"InvalidRelativePath"}, - {"shape":"InvalidErrorCode"}, - {"shape":"InvalidResponseCode"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InvalidViewerCertificate"}, - {"shape":"InvalidMinimumProtocolVersion"}, - {"shape":"InvalidRequiredProtocol"}, - {"shape":"NoSuchOrigin"}, - {"shape":"TooManyOrigins"}, - {"shape":"TooManyCacheBehaviors"}, - {"shape":"TooManyCookieNamesInWhiteList"}, - {"shape":"InvalidForwardCookies"}, - {"shape":"TooManyHeadersInForwardedValues"}, - {"shape":"InvalidHeadersForS3Origin"}, - {"shape":"InconsistentQuantities"}, - {"shape":"TooManyCertificates"}, - {"shape":"InvalidLocationCode"}, - {"shape":"InvalidGeoRestrictionParameter"}, - {"shape":"InvalidTTLOrder"}, - {"shape":"InvalidWebACLId"}, - {"shape":"TooManyOriginCustomHeaders"}, - {"shape":"TooManyQueryStringParameters"}, - {"shape":"InvalidQueryStringParameters"}, - {"shape":"TooManyDistributionsWithLambdaAssociations"}, - {"shape":"TooManyLambdaFunctionAssociations"}, - {"shape":"InvalidLambdaFunctionAssociation"}, - {"shape":"InvalidOriginReadTimeout"}, - {"shape":"InvalidOriginKeepaliveTimeout"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, - {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} - ], - "documentation":"

Updates the configuration for a web distribution. 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. Note that you must strip out the ETag parameter that is returned.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a distribution. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values you're actually specifying.

" - }, - "UpdateFieldLevelEncryptionConfig":{ - "name":"UpdateFieldLevelEncryptionConfig2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/field-level-encryption/{Id}/config" - }, - "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, - "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"IllegalUpdate"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"NoSuchFieldLevelEncryptionConfig"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, - {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, - {"shape":"QueryArgProfileEmpty"} - ], - "documentation":"

Update a field-level encryption configuration.

" - }, - "UpdateFieldLevelEncryptionProfile":{ - "name":"UpdateFieldLevelEncryptionProfile2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}/config" - }, - "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, - "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InconsistentQuantities"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"NoSuchFieldLevelEncryptionProfile"}, - {"shape":"PreconditionFailed"}, - {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, - {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, - {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} - ], - "documentation":"

Update a field-level encryption profile.

" - }, - "UpdatePublicKey":{ - "name":"UpdatePublicKey2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/public-key/{Id}/config" - }, - "input":{"shape":"UpdatePublicKeyRequest"}, - "output":{"shape":"UpdatePublicKeyResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CannotChangeImmutablePublicKeyFields"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"IllegalUpdate"}, - {"shape":"NoSuchPublicKey"}, - {"shape":"PreconditionFailed"} - ], - "documentation":"

Update public key information. Note that the only value you can change is the comment.

" - }, - "UpdateStreamingDistribution":{ - "name":"UpdateStreamingDistribution2018_06_18", - "http":{ - "method":"PUT", - "requestUri":"/2018-06-18/streaming-distribution/{Id}/config" - }, - "input":{"shape":"UpdateStreamingDistributionRequest"}, - "output":{"shape":"UpdateStreamingDistributionResult"}, - "errors":[ - {"shape":"AccessDenied"}, - {"shape":"CNAMEAlreadyExists"}, - {"shape":"IllegalUpdate"}, - {"shape":"InvalidIfMatchVersion"}, - {"shape":"MissingBody"}, - {"shape":"NoSuchStreamingDistribution"}, - {"shape":"PreconditionFailed"}, - {"shape":"TooManyStreamingDistributionCNAMEs"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidOriginAccessIdentity"}, - {"shape":"TooManyTrustedSigners"}, - {"shape":"TrustedSignerDoesNotExist"}, - {"shape":"InconsistentQuantities"} - ], - "documentation":"

Update a streaming distribution.

" - } - }, - "shapes":{ - "AccessDenied":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Access denied.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "ActiveTrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Enabled is true if any of the AWS accounts listed in the TrustedSigners complex type for this RTMP distribution have active CloudFront key pairs. If not, Enabled is false.

For more information, see ActiveTrustedSigners.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"SignerList", - "documentation":"

A complex type that contains one Signer complex type for each trusted signer that is specified in the TrustedSigners complex type.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "AliasList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"CNAME" - } - }, - "Aliases":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CNAME aliases, if any, that you want to associate with this distribution.

" - }, - "Items":{ - "shape":"AliasList", - "documentation":"

A complex type that contains the CNAME aliases, if any, that you want to associate with this distribution.

" - } - }, - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "AllowedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods that you want CloudFront to forward to your origin. Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to process and forward to your origin.

" - }, - "CachedMethods":{"shape":"CachedMethods"} - }, - "documentation":"

A complex type that controls which HTTP methods CloudFront processes and forwards to your Amazon S3 bucket or your custom origin. There are three choices:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

If you pick the third choice, you may need to restrict access to your Amazon S3 bucket or to your custom origin so users can't perform operations that you don't want them to. For example, you might not want users to have permissions to delete objects from your origin.

" - }, - "AwsAccountNumberList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"AwsAccountNumber" - } - }, - "BatchTooLarge":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":413}, - "exception":true - }, - "CNAMEAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CacheBehavior":{ - "type":"structure", - "required":[ - "PathPattern", - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "PathPattern":{ - "shape":"string", - "documentation":"

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

" - }, - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior in your distribution.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{ - "shape":"long", - "documentation":"

The maximum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin adds HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - }, - "FieldLevelEncryptionId":{ - "shape":"string", - "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" - } - }, - "documentation":"

A complex type that describes how CloudFront processes requests.

You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin is never used.

For the current limit on the number of cache behaviors that you can add to a distribution, see Amazon CloudFront Limits in the AWS General Reference.

If you don't want to specify any cache behaviors, include only an empty CacheBehaviors element. Don't include an empty CacheBehavior element, or CloudFront returns a MalformedXML error.

To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element.

To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.

For more information about cache behaviors, see Cache Behaviors in the Amazon CloudFront Developer Guide.

" - }, - "CacheBehaviorList":{ - "type":"list", - "member":{ - "shape":"CacheBehavior", - "locationName":"CacheBehavior" - } - }, - "CacheBehaviors":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of cache behaviors for this distribution.

" - }, - "Items":{ - "shape":"CacheBehaviorList", - "documentation":"

Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CachedMethods":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP methods for which you want CloudFront to cache responses. Valid values are 2 (for caching responses to GET and HEAD requests) and 3 (for caching responses to GET, HEAD, and OPTIONS requests).

" - }, - "Items":{ - "shape":"MethodsList", - "documentation":"

A complex type that contains the HTTP methods that you want CloudFront to cache responses to.

" - } - }, - "documentation":"

A complex type that controls whether CloudFront caches the response to requests using the specified HTTP methods. There are two choices:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

If you pick the second choice for your Amazon S3 Origin, you may need to forward Access-Control-Request-Method, Access-Control-Request-Headers, and Origin headers for the responses to be cached correctly.

" - }, - "CannotChangeImmutablePublicKeyFields":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You can't change the value of a public key.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CertificateSource":{ - "type":"string", - "enum":[ - "cloudfront", - "iam", - "acm" - ] - }, - "CloudFrontOriginAccessIdentity":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity, for example, E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

" - } - }, - "documentation":"

CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentityAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Comment" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the origin access identity.

" - } - }, - "documentation":"

Origin access identity configuration. Send a GET request to the /CloudFront API version/CloudFront/identity ID/config resource.

" - }, - "CloudFrontOriginAccessIdentityInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "CloudFrontOriginAccessIdentityList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of origin access identities you want in the response body.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of CloudFront origin access identities that were created by the current AWS account.

" - }, - "Items":{ - "shape":"CloudFrontOriginAccessIdentitySummaryList", - "documentation":"

A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.

" - } - }, - "documentation":"

Lists the origin access identities for CloudFront.Send a GET request to the /CloudFront API version/origin-access-identity/cloudfront resource. The response includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary child elements. By default, your entire list of origin access identities is returned in one single page. If the list is long, you can paginate it using the MaxItems and Marker parameters.

" - }, - "CloudFrontOriginAccessIdentitySummary":{ - "type":"structure", - "required":[ - "Id", - "S3CanonicalUserId", - "Comment" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for the origin access identity. For example: E74FTE3AJFJ256A.

" - }, - "S3CanonicalUserId":{ - "shape":"string", - "documentation":"

The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment for this origin access identity, as originally specified when created.

" - } - }, - "documentation":"

Summary of the information about a CloudFront origin access identity.

" - }, - "CloudFrontOriginAccessIdentitySummaryList":{ - "type":"list", - "member":{ - "shape":"CloudFrontOriginAccessIdentitySummary", - "locationName":"CloudFrontOriginAccessIdentitySummary" - } - }, - "ContentTypeProfile":{ - "type":"structure", - "required":[ - "Format", - "ContentType" - ], - "members":{ - "Format":{ - "shape":"Format", - "documentation":"

The format for a field-level encryption content type-profile mapping.

" - }, - "ProfileId":{ - "shape":"string", - "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" - }, - "ContentType":{ - "shape":"string", - "documentation":"

The content type for a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

A field-level encryption content type profile.

" - }, - "ContentTypeProfileConfig":{ - "type":"structure", - "required":["ForwardWhenContentTypeIsUnknown"], - "members":{ - "ForwardWhenContentTypeIsUnknown":{ - "shape":"boolean", - "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" - }, - "ContentTypeProfiles":{ - "shape":"ContentTypeProfiles", - "documentation":"

The configuration for a field-level encryption content type-profile.

" - } - }, - "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" - }, - "ContentTypeProfileList":{ - "type":"list", - "member":{ - "shape":"ContentTypeProfile", - "locationName":"ContentTypeProfile" - } - }, - "ContentTypeProfiles":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption content type-profile mappings.

" - }, - "Items":{ - "shape":"ContentTypeProfileList", - "documentation":"

Items in a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

Field-level encryption content type-profile.

" - }, - "CookieNameList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "CookieNames":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different cookies that you want CloudFront to forward to the origin for this cache behavior.

" - }, - "Items":{ - "shape":"CookieNameList", - "documentation":"

A complex type that contains one Name element for each cookie that you want CloudFront to forward to the origin for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CookiePreference":{ - "type":"structure", - "required":["Forward"], - "members":{ - "Forward":{ - "shape":"ItemSelection", - "documentation":"

Specifies which cookies to forward to the origin for this cache behavior: all, none, or the list of cookies specified in the WhitelistedNames complex type.

Amazon S3 doesn't process cookies. When the cache behavior is forwarding requests to an Amazon S3 origin, specify none for the Forward element.

" - }, - "WhitelistedNames":{ - "shape":"CookieNames", - "documentation":"

Required if you specify whitelist for the value of Forward:. A complex type that specifies how many different cookies you want CloudFront to forward to the origin for this cache behavior and, if you want to forward selected cookies, the names of those cookies.

If you specify all or none for the value of Forward, omit WhitelistedNames. If you change the value of Forward from whitelist to all or none and you don't delete the WhitelistedNames element and its child elements, CloudFront deletes them automatically.

For the current limit on the number of cookie names that you can whitelist for each cache behavior, see Amazon CloudFront Limits in the AWS General Reference.

" - } - }, - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "CreateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["CloudFrontOriginAccessIdentityConfig"], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The current configuration information for the identity.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create a new origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "CreateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "CreateDistributionRequest":{ - "type":"structure", - "required":["DistributionConfig"], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create a new distribution.

", - "payload":"DistributionConfig" - }, - "CreateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateDistributionWithTagsRequest":{ - "type":"structure", - "required":["DistributionConfigWithTags"], - "members":{ - "DistributionConfigWithTags":{ - "shape":"DistributionConfigWithTags", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create a new distribution with tags.

", - "payload":"DistributionConfigWithTags" - }, - "CreateDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "CreateFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["FieldLevelEncryptionConfig"], - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

The request to create a new field-level encryption configuration.

", - "locationName":"FieldLevelEncryptionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "CreateFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Returned when you create a new field-level encryption configuration.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "CreateFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["FieldLevelEncryptionProfileConfig"], - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

The request to create a field-level encryption profile.

", - "locationName":"FieldLevelEncryptionProfileConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "CreateFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Returned when you create a new field-level encryption profile.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "CreateInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "InvalidationBatch" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"DistributionId" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The batch information for the invalidation.

", - "locationName":"InvalidationBatch", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create an invalidation.

", - "payload":"InvalidationBatch" - }, - "CreateInvalidationResult":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", - "location":"header", - "locationName":"Location" - }, - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "CreatePublicKeyRequest":{ - "type":"structure", - "required":["PublicKeyConfig"], - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

The request to add a public key to CloudFront.

", - "locationName":"PublicKeyConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "payload":"PublicKeyConfig" - }, - "CreatePublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Returned when you add a public key.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "CreateStreamingDistributionRequest":{ - "type":"structure", - "required":["StreamingDistributionConfig"], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create a new streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "CreateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution created.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CreateStreamingDistributionWithTagsRequest":{ - "type":"structure", - "required":["StreamingDistributionConfigWithTags"], - "members":{ - "StreamingDistributionConfigWithTags":{ - "shape":"StreamingDistributionConfigWithTags", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfigWithTags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to create a new streaming distribution with tags.

", - "payload":"StreamingDistributionConfigWithTags" - }, - "CreateStreamingDistributionWithTagsResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "Location":{ - "shape":"string", - "documentation":"

The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.

", - "location":"header", - "locationName":"Location" - }, - "ETag":{ - "shape":"string", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "CustomErrorResponse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{ - "shape":"integer", - "documentation":"

The HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - }, - "ResponsePagePath":{ - "shape":"string", - "documentation":"

The path to the custom error page that you want CloudFront to return to a viewer when your origin returns the HTTP status code specified by ErrorCode, for example, /4xx-errors/403-forbidden.html. If you want to store your objects and your custom error pages in different locations, your distribution must include a cache behavior for which the following is true:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode. If you don't want to specify a value, include an empty element, <ResponsePagePath>, in the XML document.

We recommend that you store custom error pages in an Amazon S3 bucket. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.

" - }, - "ResponseCode":{ - "shape":"string", - "documentation":"

The HTTP status code that you want CloudFront to return to the viewer along with the custom error page. There are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath. If you don't want to specify a value, include an empty element, <ResponseCode>, in the XML document.

" - }, - "ErrorCachingMinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time, in seconds, that you want CloudFront to cache the HTTP status code specified in ErrorCode. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.

If you don't want to specify a value, include an empty element, <ErrorCachingMinTTL>, in the XML document.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomErrorResponseList":{ - "type":"list", - "member":{ - "shape":"CustomErrorResponse", - "locationName":"CustomErrorResponse" - } - }, - "CustomErrorResponses":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of HTTP status codes for which you want to specify a custom error page and/or a caching duration. If Quantity is 0, you can omit Items.

" - }, - "Items":{ - "shape":"CustomErrorResponseList", - "documentation":"

A complex type that contains a CustomErrorResponse element for each HTTP status code for which you want to specify a custom error page and/or a caching duration.

" - } - }, - "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "CustomHeaders":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of custom headers, if any, for this distribution.

" - }, - "Items":{ - "shape":"OriginCustomHeadersList", - "documentation":"

Optional: A list that contains one OriginCustomHeader element for each custom header that you want CloudFront to forward to the origin. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that contains the list of Custom Headers for each origin.

" - }, - "CustomOriginConfig":{ - "type":"structure", - "required":[ - "HTTPPort", - "HTTPSPort", - "OriginProtocolPolicy" - ], - "members":{ - "HTTPPort":{ - "shape":"integer", - "documentation":"

The HTTP port the custom origin listens on.

" - }, - "HTTPSPort":{ - "shape":"integer", - "documentation":"

The HTTPS port the custom origin listens on.

" - }, - "OriginProtocolPolicy":{ - "shape":"OriginProtocolPolicy", - "documentation":"

The origin protocol policy to apply to your origin.

" - }, - "OriginSslProtocols":{ - "shape":"OriginSslProtocols", - "documentation":"

The SSL/TLS protocols that you want CloudFront to use when communicating with your origin over HTTPS.

" - }, - "OriginReadTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - }, - "OriginKeepaliveTimeout":{ - "shape":"integer", - "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" - } - }, - "documentation":"

A customer origin or an Amazon S3 bucket configured as a website endpoint.

" - }, - "DefaultCacheBehavior":{ - "type":"structure", - "required":[ - "TargetOriginId", - "ForwardedValues", - "TrustedSigners", - "ViewerProtocolPolicy", - "MinTTL" - ], - "members":{ - "TargetOriginId":{ - "shape":"string", - "documentation":"

The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior in your distribution.

" - }, - "ForwardedValues":{ - "shape":"ForwardedValues", - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "ViewerProtocolPolicy":{ - "shape":"ViewerProtocolPolicy", - "documentation":"

The protocol that viewers can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. You can specify the following options:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

For more information about requiring the HTTPS protocol, see Using an HTTPS Connection to Access Your Objects in the Amazon CloudFront Developer Guide.

The only way to guarantee that viewers retrieve an object that was fetched from the origin using HTTPS is never to use any other protocol to fetch the object. If you have recently changed from HTTP to HTTPS, we recommend that you clear your objects' cache because cached objects are protocol agnostic. That means that an edge location will return an object from the cache regardless of whether the current request protocol matches the protocol used previously. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MinTTL":{ - "shape":"long", - "documentation":"

The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon Amazon CloudFront Developer Guide.

You must specify 0 for MinTTL if you configure CloudFront to forward all headers to your origin (under Headers, if you specify 1 for Quantity and * for Name).

" - }, - "AllowedMethods":{"shape":"AllowedMethods"}, - "SmoothStreaming":{ - "shape":"boolean", - "documentation":"

Indicates whether you want to distribute media files in the Microsoft Smooth Streaming format using the origin that is associated with this cache behavior. If so, specify true; if not, specify false. If you specify true for SmoothStreaming, you can still distribute other content using this cache behavior if the content matches the value of PathPattern.

" - }, - "DefaultTTL":{ - "shape":"long", - "documentation":"

The default amount of time that you want objects to stay in CloudFront caches before CloudFront forwards another request to your origin to determine whether the object has been updated. The value that you specify applies only when your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control s-maxage, and Expires to objects. For more information, see Specifying How Long Objects and Errors Stay in a CloudFront Edge Cache (Expiration) in the Amazon CloudFront Developer Guide.

" - }, - "MaxTTL":{"shape":"long"}, - "Compress":{ - "shape":"boolean", - "documentation":"

Whether you want CloudFront to automatically compress certain files for this cache behavior. If so, specify true; if not, specify false. For more information, see Serving Compressed Files in the Amazon CloudFront Developer Guide.

" - }, - "LambdaFunctionAssociations":{ - "shape":"LambdaFunctionAssociations", - "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" - }, - "FieldLevelEncryptionId":{ - "shape":"string", - "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" - } - }, - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "DeleteCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The origin access identity's ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

Deletes a origin access identity.

" - }, - "DeleteDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the following steps.

To delete a web distribution using the CloudFront API:

  1. Disable the web distribution

  2. Submit a GET Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 2.

  5. Review the response to the PUT Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Distribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Distribution Config request in Step 6.

  8. Review the response to your DELETE Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

" - }, - "DeleteFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID of the configuration you want to delete from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeletePublicKeyRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID of the public key you want to remove from CloudFront.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - } - }, - "DeleteStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution ID.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to delete a streaming distribution.

" - }, - "Distribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "InProgressInvalidationBatches", - "DomainName", - "ActiveTrustedSigners", - "DistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "InProgressInvalidationBatches":{ - "shape":"integer", - "documentation":"

The number of invalidation batches currently in progress.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

CloudFront automatically adds this element to the response only if you've set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create working signed URLs.

" - }, - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The current configuration information for the distribution. Send a GET request to the /CloudFront API version/distribution ID/config resource.

" - } - }, - "documentation":"

The distribution's information.

" - }, - "DistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The caller reference you attempted to create the distribution with is associated with another distribution.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Origins", - "DefaultCacheBehavior", - "Comment", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the DistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value you already sent in a previous request to create a distribution, and if the content of the DistributionConfig is identical to the original request (ignoring white space), CloudFront returns the same the response that it returned to the original request.

If CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "DefaultRootObject":{ - "shape":"string", - "documentation":"

The object that you want CloudFront to request from your origin (for example, index.html) when a viewer requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). Specifying a default root object avoids exposing the contents of your distribution.

Specify only the object name, for example, index.html. Don't add a / before the object name.

If you don't want to specify a default root object when you create a distribution, include an empty DefaultRootObject element.

To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element.

To replace the default root object, update the distribution configuration and specify the new object.

For more information about the default root object, see Creating a Default Root Object in the Amazon CloudFront Developer Guide.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that controls the following:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" - }, - "Logging":{ - "shape":"LoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the distribution.

For more information about logging, see Access Logs in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

The price class that corresponds with the maximum price that you want to pay for CloudFront service. If you specify PriceClass_All, CloudFront responds to requests for your objects from all CloudFront edge locations.

If you specify a price class other than PriceClass_All, CloudFront serves your objects from the CloudFront edge location that has the lowest latency among the edge locations in your price class. Viewers who are in or near regions that are excluded from your specified price class may encounter slower performance.

For more information about price classes, see Choosing the Price Class for a CloudFront Distribution in the Amazon CloudFront Developer Guide. For information about CloudFront pricing, including how price classes (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing. For price class information, scroll down to see the table at the bottom of the page.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

From this field, you can enable or disable the selected distribution.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to CloudFront, and lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, CloudFront responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You can also configure CloudFront to return a custom error page when a request is blocked. For more information about AWS WAF, see the AWS WAF Developer Guide.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

(Optional) Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 automatically use an earlier HTTP version.

For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or later, and must support Server Name Identification (SNI).

In general, configuring CloudFront to communicate with viewers using HTTP/2 reduces latency. You can improve performance by optimizing for HTTP/2. For more information, do an Internet search for \"http/2 optimization.\"

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address for your distribution, specify true. If you specify false, CloudFront responds to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. This allows viewers to submit a second request, for an IPv4 address for your distribution.

In general, you should enable IPv6 if you have users on IPv6 networks who want to access your content. However, if you're using signed URLs or signed cookies to restrict access to your content, and if you're using a custom policy that includes the IpAddress parameter to restrict the IP addresses that can access your content, don't enable IPv6. If you want to restrict access to some content by IP address and not restrict access to other content (or restrict access but not by IP address), you can create two distributions. For more information, see Creating a Signed URL Using a Custom Policy in the Amazon CloudFront Developer Guide.

If you're using an Amazon Route 53 alias resource record set to route traffic to your CloudFront distribution, you need to create a second alias resource record set when both of the following are true:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

For more information, see Routing Traffic to an Amazon CloudFront Web Distribution by Using Your Domain Name in the Amazon Route 53 Developer Guide.

If you created a CNAME resource record set, either with Amazon Route 53 or with another DNS service, you don't need to make any changes. A CNAME record will route traffic to your distribution regardless of the IP address format of the viewer request.

" - } - }, - "documentation":"

A distribution configuration.

" - }, - "DistributionConfigWithTags":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Tags" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

A distribution configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A distribution Configuration and a list of tags to be associated with the distribution.

" - }, - "DistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"DistributionSummaryList", - "documentation":"

A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A distribution list.

" - }, - "DistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "DistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "Aliases", - "Origins", - "DefaultCacheBehavior", - "CacheBehaviors", - "CustomErrorResponses", - "Comment", - "PriceClass", - "Enabled", - "ViewerCertificate", - "Restrictions", - "WebACLId", - "HttpVersion", - "IsIPV6Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution. For example: EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The current status of the distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.

" - }, - "Origins":{ - "shape":"Origins", - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "DefaultCacheBehavior":{ - "shape":"DefaultCacheBehavior", - "documentation":"

A complex type that describes the default cache behavior if you don't specify a CacheBehavior element or if files don't match any of the values of PathPattern in CacheBehavior elements. You must create exactly one default cache behavior.

" - }, - "CacheBehaviors":{ - "shape":"CacheBehaviors", - "documentation":"

A complex type that contains zero or more CacheBehavior elements.

" - }, - "CustomErrorResponses":{ - "shape":"CustomErrorResponses", - "documentation":"

A complex type that contains zero or more CustomErrorResponses elements.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept user requests for content.

" - }, - "ViewerCertificate":{"shape":"ViewerCertificate"}, - "Restrictions":{"shape":"Restrictions"}, - "WebACLId":{ - "shape":"string", - "documentation":"

The Web ACL Id (if any) associated with the distribution.

" - }, - "HttpVersion":{ - "shape":"HttpVersion", - "documentation":"

Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value for new web distributions is http2. Viewers that don't support HTTP/2 will automatically use an earlier version.

" - }, - "IsIPV6Enabled":{ - "shape":"boolean", - "documentation":"

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

" - } - }, - "documentation":"

A summary of the information about a CloudFront distribution.

" - }, - "DistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"DistributionSummary", - "locationName":"DistributionSummary" - } - }, - "EncryptionEntities":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" - }, - "Items":{ - "shape":"EncryptionEntityList", - "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" - } - }, - "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" - }, - "EncryptionEntity":{ - "type":"structure", - "required":[ - "PublicKeyId", - "ProviderId", - "FieldPatterns" - ], - "members":{ - "PublicKeyId":{ - "shape":"string", - "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" - }, - "ProviderId":{ - "shape":"string", - "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" - }, - "FieldPatterns":{ - "shape":"FieldPatterns", - "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" - } - }, - "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" - }, - "EncryptionEntityList":{ - "type":"list", - "member":{ - "shape":"EncryptionEntity", - "locationName":"EncryptionEntity" - } - }, - "EventType":{ - "type":"string", - "enum":[ - "viewer-request", - "viewer-response", - "origin-request", - "origin-response" - ] - }, - "FieldLevelEncryption":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "FieldLevelEncryptionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time the field-level encryption configuration was changed.

" - }, - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" - } - }, - "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" - }, - "FieldLevelEncryptionConfig":{ - "type":"structure", - "required":["CallerReference"], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about the configuration.

" - }, - "QueryArgProfileConfig":{ - "shape":"QueryArgProfileConfig", - "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" - }, - "ContentTypeProfileConfig":{ - "shape":"ContentTypeProfileConfig", - "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" - } - }, - "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" - }, - "FieldLevelEncryptionConfigAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionConfigInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of elements you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption items.

" - }, - "Items":{ - "shape":"FieldLevelEncryptionSummaryList", - "documentation":"

An array of field-level encryption items.

" - } - }, - "documentation":"

List of field-level encrpytion configurations.

" - }, - "FieldLevelEncryptionProfile":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "FieldLevelEncryptionProfileConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time the field-level encryption profile was updated.

" - }, - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" - } - }, - "documentation":"

A complex data type for field-level encryption profiles.

" - }, - "FieldLevelEncryptionProfileAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionProfileConfig":{ - "type":"structure", - "required":[ - "Name", - "CallerReference", - "EncryptionEntities" - ], - "members":{ - "Name":{ - "shape":"string", - "documentation":"

Profile name for the field-level encryption profile.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment for the field-level encryption profile.

" - }, - "EncryptionEntities":{ - "shape":"EncryptionEntities", - "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" - } - }, - "documentation":"

A complex data type of profiles for the field-level encryption.

" - }, - "FieldLevelEncryptionProfileInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FieldLevelEncryptionProfileList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption profiles.

" - }, - "Items":{ - "shape":"FieldLevelEncryptionProfileSummaryList", - "documentation":"

The field-level encryption profile items.

" - } - }, - "documentation":"

List of field-level encryption profiles.

" - }, - "FieldLevelEncryptionProfileSizeExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "FieldLevelEncryptionProfileSummary":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime", - "Name", - "EncryptionEntities" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

ID for the field-level encryption profile summary.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The time when the the field-level encryption profile summary was last updated.

" - }, - "Name":{ - "shape":"string", - "documentation":"

Name for the field-level encryption profile summary.

" - }, - "EncryptionEntities":{ - "shape":"EncryptionEntities", - "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment for the field-level encryption profile summary.

" - } - }, - "documentation":"

The field-level encryption profile summary.

" - }, - "FieldLevelEncryptionProfileSummaryList":{ - "type":"list", - "member":{ - "shape":"FieldLevelEncryptionProfileSummary", - "locationName":"FieldLevelEncryptionProfileSummary" - } - }, - "FieldLevelEncryptionSummary":{ - "type":"structure", - "required":[ - "Id", - "LastModifiedTime" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID of a field-level encryption item.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The last time that the summary of field-level encryption items was modified.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about the field-level encryption item.

" - }, - "QueryArgProfileConfig":{ - "shape":"QueryArgProfileConfig", - "documentation":"

A summary of a query argument-profile mapping.

" - }, - "ContentTypeProfileConfig":{ - "shape":"ContentTypeProfileConfig", - "documentation":"

A summary of a content type-profile mapping.

" - } - }, - "documentation":"

A summary of a field-level encryption item.

" - }, - "FieldLevelEncryptionSummaryList":{ - "type":"list", - "member":{ - "shape":"FieldLevelEncryptionSummary", - "locationName":"FieldLevelEncryptionSummary" - } - }, - "FieldPatternList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"FieldPattern" - } - }, - "FieldPatterns":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of field-level encryption field patterns.

" - }, - "Items":{ - "shape":"FieldPatternList", - "documentation":"

An array of the field-level encryption field patterns.

" - } - }, - "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" - }, - "Format":{ - "type":"string", - "enum":["URLEncoded"] - }, - "ForwardedValues":{ - "type":"structure", - "required":[ - "QueryString", - "Cookies" - ], - "members":{ - "QueryString":{ - "shape":"boolean", - "documentation":"

Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior and cache based on the query string parameters. CloudFront behavior depends on the value of QueryString and on the values that you specify for QueryStringCacheKeys, if any:

If you specify true for QueryString and you don't specify any values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin and caches based on all query string parameters. Depending on how many query string parameters and values you have, this can adversely affect performance because CloudFront must forward more requests to the origin.

If you specify true for QueryString and you specify one or more values for QueryStringCacheKeys, CloudFront forwards all query string parameters to the origin, but it only caches based on the query string parameters that you specify.

If you specify false for QueryString, CloudFront doesn't forward any query string parameters to the origin, and doesn't cache based on query string parameters.

For more information, see Configuring CloudFront to Cache Based on Query String Parameters in the Amazon CloudFront Developer Guide.

" - }, - "Cookies":{ - "shape":"CookiePreference", - "documentation":"

A complex type that specifies whether you want CloudFront to forward cookies to the origin and, if so, which ones. For more information about forwarding cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" - }, - "Headers":{ - "shape":"Headers", - "documentation":"

A complex type that specifies the Headers, if any, that you want CloudFront to base caching on for this cache behavior.

" - }, - "QueryStringCacheKeys":{ - "shape":"QueryStringCacheKeys", - "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" - } - }, - "documentation":"

A complex type that specifies how CloudFront handles query strings and cookies.

" - }, - "GeoRestriction":{ - "type":"structure", - "required":[ - "RestrictionType", - "Quantity" - ], - "members":{ - "RestrictionType":{ - "shape":"GeoRestrictionType", - "documentation":"

The method that you want to use to restrict distribution of your content by country:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

" - }, - "Items":{ - "shape":"LocationList", - "documentation":"

A complex type that contains a Location element for each country in which you want CloudFront either to distribute your content (whitelist) or not distribute your content (blacklist).

The Location element is a two-letter, uppercase country code for a country that you want to include in your blacklist or whitelist. Include one Location element for each country.

CloudFront and MaxMind both use ISO 3166 country codes. For the current list of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on the International Organization for Standardization website. You can also refer to the country list on the CloudFront console, which includes both country names and codes.

" - } - }, - "documentation":"

A complex type that controls the countries in which your content is distributed. CloudFront determines the location of your users using MaxMind GeoIP databases.

" - }, - "GeoRestrictionType":{ - "type":"string", - "enum":[ - "blacklist", - "whitelist", - "none" - ] - }, - "GetCloudFrontOriginAccessIdentityConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfigComplexType.

" - }, - "GetCloudFrontOriginAccessIdentityConfigResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The origin access identity's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "GetCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identity's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an origin access identity's information.

" - }, - "GetCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the origin access identity's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "GetDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution configuration.

" - }, - "GetDistributionConfigResult":{ - "type":"structure", - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionConfig" - }, - "GetDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a distribution's information.

" - }, - "GetDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "GetFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the field-level encryption configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

Return the field-level encryption configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "GetFieldLevelEncryptionProfileConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Get the ID for the field-level encryption profile configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionProfileConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

Return the field-level encryption profile configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "GetFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Get the ID for the field-level encryption profile information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Return the field-level encryption profile information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "GetFieldLevelEncryptionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the field-level encryption configuration information.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetFieldLevelEncryptionResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Return the field-level encryption configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "GetInvalidationRequest":{ - "type":"structure", - "required":[ - "DistributionId", - "Id" - ], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get an invalidation's information.

" - }, - "GetInvalidationResult":{ - "type":"structure", - "members":{ - "Invalidation":{ - "shape":"Invalidation", - "documentation":"

The invalidation's information. For more information, see Invalidation Complex Type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Invalidation" - }, - "GetPublicKeyConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the public key configuration.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetPublicKeyConfigResult":{ - "type":"structure", - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

Return the result for the public key configuration.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKeyConfig" - }, - "GetPublicKeyRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

Request the ID for the public key.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetPublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Return the public key.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "GetStreamingDistributionConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

To request to get a streaming distribution configuration.

" - }, - "GetStreamingDistributionConfigResult":{ - "type":"structure", - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionConfig" - }, - "GetStreamingDistributionRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's ID.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The request to get a streaming distribution's information.

" - }, - "GetStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the streaming distribution's information. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "HeaderList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "Headers":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of different headers that you want CloudFront to base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" - }, - "Items":{ - "shape":"HeaderList", - "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" - } - }, - "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront caches separate versions of a specified object based on the header values in viewer requests. For example, suppose viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex, and you configure CloudFront to cache your content based on values in the product header. CloudFront forwards the product header to the origin and caches the response from the origin once for each header value. For more information about caching based on header values, see How CloudFront Forwards and Caches Headers in the Amazon CloudFront Developer Guide.

" - }, - "HttpVersion":{ - "type":"string", - "enum":[ - "http1.1", - "http2" - ] - }, - "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "IllegalUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Origin and CallerReference cannot be updated.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InconsistentQuantities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The value of Quantity and the size of Items don't match.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The argument is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDefaultRootObject":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The default root object file name is too big or contains an invalid character.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidErrorCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidForwardCookies":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidGeoRestrictionParameter":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidHeadersForS3Origin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidIfMatchVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The If-Match version is missing or not valid for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLambdaFunctionAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified Lambda function association is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidLocationCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidMinimumProtocolVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The origin access identity is not valid or doesn't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginKeepaliveTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOriginReadTimeout":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidProtocolSettings":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRelativePath":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequiredProtocol":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseCode":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTTLOrder":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTagging":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidViewerCertificate":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidWebACLId":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "Invalidation":{ - "type":"structure", - "required":[ - "Id", - "Status", - "CreateTime", - "InvalidationBatch" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the invalidation request. For example: IDFDVBD632BHDS5.

" - }, - "Status":{ - "shape":"string", - "documentation":"

The status of the invalidation request. When the invalidation batch is finished, the status is Completed.

" - }, - "CreateTime":{ - "shape":"timestamp", - "documentation":"

The date and time the invalidation request was first made.

" - }, - "InvalidationBatch":{ - "shape":"InvalidationBatch", - "documentation":"

The current invalidation information for the batch request.

" - } - }, - "documentation":"

An invalidation.

" - }, - "InvalidationBatch":{ - "type":"structure", - "required":[ - "Paths", - "CallerReference" - ], - "members":{ - "Paths":{ - "shape":"Paths", - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "CallerReference":{ - "shape":"string", - "documentation":"

A value that you specify to uniquely identify an invalidation request. CloudFront uses the value to prevent you from accidentally resubmitting an identical request. Whenever you create a new invalidation request, you must specify a new value for CallerReference and change other values in the request as applicable. One way to ensure that the value of CallerReference is unique is to use a timestamp, for example, 20120301090000.

If you make a second invalidation request with the same value for CallerReference, and if the rest of the request is the same, CloudFront doesn't create a new invalidation request. Instead, CloudFront returns information about the invalidation request that you previously created with the same CallerReference.

If CallerReference is a value you already sent in a previous invalidation batch request but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.

" - } - }, - "documentation":"

An invalidation batch.

" - }, - "InvalidationList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value that you can use for the Marker request parameter to continue listing your invalidation batches where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value that you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of invalidation batches that were created by the current AWS account.

" - }, - "Items":{ - "shape":"InvalidationSummaryList", - "documentation":"

A complex type that contains one InvalidationSummary element for each invalidation batch created by the current AWS account.

" - } - }, - "documentation":"

The InvalidationList complex type describes the list of invalidation objects. For more information about invalidation, see Invalidating Objects (Web Distributions Only) in the Amazon CloudFront Developer Guide.

" - }, - "InvalidationSummary":{ - "type":"structure", - "required":[ - "Id", - "CreateTime", - "Status" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The unique ID for an invalidation request.

" - }, - "CreateTime":{"shape":"timestamp"}, - "Status":{ - "shape":"string", - "documentation":"

The status of an invalidation request.

" - } - }, - "documentation":"

A summary of an invalidation request.

" - }, - "InvalidationSummaryList":{ - "type":"list", - "member":{ - "shape":"InvalidationSummary", - "locationName":"InvalidationSummary" - } - }, - "ItemSelection":{ - "type":"string", - "enum":[ - "none", - "whitelist", - "all" - ] - }, - "KeyPairIdList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"KeyPairId" - } - }, - "KeyPairIds":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of active CloudFront key pairs for AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "Items":{ - "shape":"KeyPairIdList", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - } - }, - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

For more information, see ActiveTrustedSigners.

" - }, - "LambdaFunctionARN":{"type":"string"}, - "LambdaFunctionAssociation":{ - "type":"structure", - "required":[ - "LambdaFunctionARN", - "EventType" - ], - "members":{ - "LambdaFunctionARN":{ - "shape":"LambdaFunctionARN", - "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" - }, - "IncludeBody":{ - "shape":"boolean", - "documentation":"

A flag that allows a Lambda function to have read access to the body content. For more information, see Accessing Body Content in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains a Lambda function association.

" - }, - "LambdaFunctionAssociationList":{ - "type":"list", - "member":{ - "shape":"LambdaFunctionAssociation", - "locationName":"LambdaFunctionAssociation" - } - }, - "LambdaFunctionAssociations":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of Lambda function associations for this cache behavior.

" - }, - "Items":{ - "shape":"LambdaFunctionAssociationList", - "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" - }, - "ListCloudFrontOriginAccessIdentitiesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of origin access identities you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list origin access identities.

" - }, - "ListCloudFrontOriginAccessIdentitiesResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentityList":{ - "shape":"CloudFrontOriginAccessIdentityList", - "documentation":"

The CloudFrontOriginAccessIdentityList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentityList" - }, - "ListDistributionsByWebACLIdRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use Marker and MaxItems to control pagination of results. If you have more than MaxItems distributions that satisfy the request, the response includes a NextMarker element. To get the next page of results, submit another request. For the value of Marker, specify the value of NextMarker from the last response. (For the first request, omit Marker.)

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions that you want CloudFront to return in the response body. The maximum and default values are both 100.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "WebACLId":{ - "shape":"string", - "documentation":"

The ID of the AWS WAF web ACL that you want to list the associated distributions. If you specify \"null\" for the ID, the request returns a list of the distributions that aren't associated with a web ACL.

", - "location":"uri", - "locationName":"WebACLId" - } - }, - "documentation":"

The request to list distributions that are associated with a specified AWS WAF web ACL.

" - }, - "ListDistributionsByWebACLIdResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The response to a request to list the distributions that are associated with a specified AWS WAF web ACL.

", - "payload":"DistributionList" - }, - "ListDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last distribution on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of distributions you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your distributions.

" - }, - "ListDistributionsResult":{ - "type":"structure", - "members":{ - "DistributionList":{ - "shape":"DistributionList", - "documentation":"

The DistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"DistributionList" - }, - "ListFieldLevelEncryptionConfigsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last configuration on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListFieldLevelEncryptionConfigsResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionList":{ - "shape":"FieldLevelEncryptionList", - "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" - } - }, - "payload":"FieldLevelEncryptionList" - }, - "ListFieldLevelEncryptionProfilesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last profile on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListFieldLevelEncryptionProfilesResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfileList":{ - "shape":"FieldLevelEncryptionProfileList", - "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" - } - }, - "payload":"FieldLevelEncryptionProfileList" - }, - "ListInvalidationsRequest":{ - "type":"structure", - "required":["DistributionId"], - "members":{ - "DistributionId":{ - "shape":"string", - "documentation":"

The distribution's ID.

", - "location":"uri", - "locationName":"DistributionId" - }, - "Marker":{ - "shape":"string", - "documentation":"

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of invalidation batches that you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list invalidations.

" - }, - "ListInvalidationsResult":{ - "type":"structure", - "members":{ - "InvalidationList":{ - "shape":"InvalidationList", - "documentation":"

Information about invalidation batches.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"InvalidationList" - }, - "ListPublicKeysRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last public key on that page).

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The maximum number of public keys you want in the response body.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListPublicKeysResult":{ - "type":"structure", - "members":{ - "PublicKeyList":{ - "shape":"PublicKeyList", - "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" - } - }, - "payload":"PublicKeyList" - }, - "ListStreamingDistributionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value that you provided for the Marker request parameter.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"string", - "documentation":"

The value that you provided for the MaxItems request parameter.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

The request to list your streaming distributions.

" - }, - "ListStreamingDistributionsResult":{ - "type":"structure", - "members":{ - "StreamingDistributionList":{ - "shape":"StreamingDistributionList", - "documentation":"

The StreamingDistributionList type.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistributionList" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["Resource"], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - } - }, - "documentation":"

The request to list tags for a CloudFront resource.

" - }, - "ListTagsForResourceResult":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Tags" - }, - "LocationList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Location" - } - }, - "LoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "IncludeCookies", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, the values are automatically deleted.

" - }, - "IncludeCookies":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to include cookies in access logs, specify true for IncludeCookies. If you choose to include cookies in logs, CloudFront logs all cookies regardless of how you configure the cache behaviors for this distribution. If you don't want to include cookies when you create a distribution or if you want to disable include cookies for an existing distribution, specify false for IncludeCookies.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for the distribution.

" - }, - "Method":{ - "type":"string", - "enum":[ - "GET", - "HEAD", - "POST", - "PUT", - "PATCH", - "OPTIONS", - "DELETE" - ] - }, - "MethodsList":{ - "type":"list", - "member":{ - "shape":"Method", - "locationName":"Method" - } - }, - "MinimumProtocolVersion":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1_2016", - "TLSv1.1_2016", - "TLSv1.2_2018" - ] - }, - "MissingBody":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoSuchCloudFrontOriginAccessIdentity":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified origin access identity does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchFieldLevelEncryptionConfig":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified configuration for field-level encryption doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchFieldLevelEncryptionProfile":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified profile for field-level encryption doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchInvalidation":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified invalidation does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchOrigin":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No origin exists with the specified Origin Id.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchPublicKey":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchResource":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchStreamingDistribution":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified streaming distribution does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Origin":{ - "type":"structure", - "required":[ - "Id", - "DomainName" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique identifier for the origin. The value of Id must be unique within the distribution.

When you specify the value of TargetOriginId for the default cache behavior or for another cache behavior, you indicate the origin to which you want the cache behavior to route requests by specifying the value of the Id element for that origin. When a request matches the path pattern for that cache behavior, CloudFront routes the request to the specified origin. For more information, see Cache Behavior Settings in the Amazon CloudFront Developer Guide.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. If you set up your bucket to be configured as a website endpoint, enter the Amazon S3 static website hosting endpoint for the bucket.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

Custom Origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.

Constraints for custom origins:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" - }, - "OriginPath":{ - "shape":"string", - "documentation":"

An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. When you include the OriginPath element, specify the directory name, beginning with a /. CloudFront appends the directory name to the value of DomainName, for example, example.com/production. Do not include a / at the end of the directory name.

For example, suppose you've specified the following values for your distribution:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

When a user enters example.com/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/index.html.

When a user enters example.com/acme/index.html in a browser, CloudFront sends a request to Amazon S3 for myawsbucket/production/acme/index.html.

" - }, - "CustomHeaders":{ - "shape":"CustomHeaders", - "documentation":"

A complex type that contains names and values for the custom headers that you want.

" - }, - "S3OriginConfig":{ - "shape":"S3OriginConfig", - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "CustomOriginConfig":{ - "shape":"CustomOriginConfig", - "documentation":"

A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.

" - } - }, - "documentation":"

A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files. You must create at least one origin.

For the current limit on the number of origins that you can create for a distribution, see Amazon CloudFront Limits in the AWS General Reference.

" - }, - "OriginCustomHeader":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"string", - "documentation":"

The name of a header that you want CloudFront to forward to your origin. For more information, see Forwarding Custom Headers to Your Origin (Web Distributions Only) in the Amazon Amazon CloudFront Developer Guide.

" - }, - "HeaderValue":{ - "shape":"string", - "documentation":"

The value for the header that you specified in the HeaderName field.

" - } - }, - "documentation":"

A complex type that contains HeaderName and HeaderValue elements, if any, for this distribution.

" - }, - "OriginCustomHeadersList":{ - "type":"list", - "member":{ - "shape":"OriginCustomHeader", - "locationName":"OriginCustomHeader" - } - }, - "OriginList":{ - "type":"list", - "member":{ - "shape":"Origin", - "locationName":"Origin" - }, - "min":1 - }, - "OriginProtocolPolicy":{ - "type":"string", - "enum":[ - "http-only", - "match-viewer", - "https-only" - ] - }, - "OriginSslProtocols":{ - "type":"structure", - "required":[ - "Quantity", - "Items" - ], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of SSL/TLS protocols that you want to allow CloudFront to use when establishing an HTTPS connection with this origin.

" - }, - "Items":{ - "shape":"SslProtocolsList", - "documentation":"

A list that contains allowed SSL/TLS protocols for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about the SSL/TLS protocols that CloudFront can use when establishing an HTTPS connection with your origin.

" - }, - "Origins":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of origins for this distribution.

" - }, - "Items":{ - "shape":"OriginList", - "documentation":"

A complex type that contains origins for this distribution.

" - } - }, - "documentation":"

A complex type that contains information about origins for this distribution.

" - }, - "PathList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Path" - } - }, - "Paths":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of objects that you want to invalidate.

" - }, - "Items":{ - "shape":"PathList", - "documentation":"

A complex type that contains a list of the paths that you want to invalidate.

" - } - }, - "documentation":"

A complex type that contains information about the objects that you want to invalidate. For more information, see Specifying the Objects to Invalidate in the Amazon CloudFront Developer Guide.

" - }, - "PreconditionFailed":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The precondition given in one or more of the request-header fields evaluated to false.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "PriceClass":{ - "type":"string", - "enum":[ - "PriceClass_100", - "PriceClass_200", - "PriceClass_All" - ] - }, - "PublicKey":{ - "type":"structure", - "required":[ - "Id", - "CreatedTime", - "PublicKeyConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" - }, - "CreatedTime":{ - "shape":"timestamp", - "documentation":"

A time you added a public key to CloudFront.

" - }, - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" - } - }, - "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeyAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "PublicKeyConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "Name", - "EncodedKey" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures the request can't be replayed.

" - }, - "Name":{ - "shape":"string", - "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" - }, - "EncodedKey":{ - "shape":"string", - "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

An optional comment about a public key.

" - } - }, - "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeyInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The specified public key is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "PublicKeyList":{ - "type":"structure", - "required":[ - "MaxItems", - "Quantity" - ], - "members":{ - "NextMarker":{ - "shape":"string", - "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The maximum number of public keys you want in the response body.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" - }, - "Items":{ - "shape":"PublicKeySummaryList", - "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" - } - }, - "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" - }, - "PublicKeySummary":{ - "type":"structure", - "required":[ - "Id", - "Name", - "CreatedTime", - "EncodedKey" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

ID for public key information summary.

" - }, - "Name":{ - "shape":"string", - "documentation":"

Name for public key information summary.

" - }, - "CreatedTime":{ - "shape":"timestamp", - "documentation":"

Creation time for public key information summary.

" - }, - "EncodedKey":{ - "shape":"string", - "documentation":"

Encoded key for public key information summary.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Comment for public key information summary.

" - } - }, - "documentation":"

Public key information summary.

" - }, - "PublicKeySummaryList":{ - "type":"list", - "member":{ - "shape":"PublicKeySummary", - "locationName":"PublicKeySummary" - } - }, - "QueryArgProfile":{ - "type":"structure", - "required":[ - "QueryArg", - "ProfileId" - ], - "members":{ - "QueryArg":{ - "shape":"string", - "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" - }, - "ProfileId":{ - "shape":"string", - "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" - } - }, - "documentation":"

Query argument-profile mapping for field-level encryption.

" - }, - "QueryArgProfileConfig":{ - "type":"structure", - "required":["ForwardWhenQueryArgProfileIsUnknown"], - "members":{ - "ForwardWhenQueryArgProfileIsUnknown":{ - "shape":"boolean", - "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" - }, - "QueryArgProfiles":{ - "shape":"QueryArgProfiles", - "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" - } - }, - "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" - }, - "QueryArgProfileEmpty":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

No profile specified for the field-level encryption query argument.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "QueryArgProfileList":{ - "type":"list", - "member":{ - "shape":"QueryArgProfile", - "locationName":"QueryArgProfile" - } - }, - "QueryArgProfiles":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" - }, - "Items":{ - "shape":"QueryArgProfileList", - "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" - } - }, - "documentation":"

Query argument-profile mapping for field-level encryption.

" - }, - "QueryStringCacheKeys":{ - "type":"structure", - "required":["Quantity"], - "members":{ - "Quantity":{ - "shape":"integer", - "documentation":"

The number of whitelisted query string parameters for this cache behavior.

" - }, - "Items":{ - "shape":"QueryStringCacheKeysList", - "documentation":"

(Optional) A list that contains the query string parameters that you want CloudFront to use as a basis for caching for this cache behavior. If Quantity is 0, you can omit Items.

" - } - } - }, - "QueryStringCacheKeysList":{ - "type":"list", - "member":{ - "shape":"string", - "locationName":"Name" - } - }, - "ResourceARN":{ - "type":"string", - "pattern":"arn:aws:cloudfront::[0-9]+:.*" - }, - "Restrictions":{ - "type":"structure", - "required":["GeoRestriction"], - "members":{ - "GeoRestriction":{"shape":"GeoRestriction"} - }, - "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" - }, - "S3Origin":{ - "type":"structure", - "required":[ - "DomainName", - "OriginAccessIdentity" - ], - "members":{ - "DomainName":{ - "shape":"string", - "documentation":"

The DNS name of the Amazon S3 origin.

" - }, - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the RTMP distribution. Use an origin access identity to configure the distribution so that end users can only access objects in an Amazon S3 bucket through CloudFront.

If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content in the Amazon Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "S3OriginConfig":{ - "type":"structure", - "required":["OriginAccessIdentity"], - "members":{ - "OriginAccessIdentity":{ - "shape":"string", - "documentation":"

The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that viewers can only access objects in an Amazon S3 bucket through CloudFront. The format of the value is:

origin-access-identity/cloudfront/ID-of-origin-access-identity

where ID-of-origin-access-identity is the value that CloudFront returned in the ID element when you created the origin access identity.

If you want viewers to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element.

To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element.

To replace the origin access identity, update the distribution configuration and specify the new origin access identity.

For more information about the origin access identity, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - } - }, - "documentation":"

A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.

" - }, - "SSLSupportMethod":{ - "type":"string", - "enum":[ - "sni-only", - "vip" - ] - }, - "Signer":{ - "type":"structure", - "members":{ - "AwsAccountNumber":{ - "shape":"string", - "documentation":"

An AWS account that is included in the TrustedSigners complex type for this RTMP distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" - }, - "KeyPairIds":{ - "shape":"KeyPairIds", - "documentation":"

A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.

" - } - }, - "documentation":"

A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.

" - }, - "SignerList":{ - "type":"list", - "member":{ - "shape":"Signer", - "locationName":"Signer" - } - }, - "SslProtocol":{ - "type":"string", - "enum":[ - "SSLv3", - "TLSv1", - "TLSv1.1", - "TLSv1.2" - ] - }, - "SslProtocolsList":{ - "type":"list", - "member":{ - "shape":"SslProtocol", - "locationName":"SslProtocol" - } - }, - "StreamingDistribution":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "DomainName", - "ActiveTrustedSigners", - "StreamingDistributionConfig" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE.

" - }, - "ARN":{"shape":"string"}, - "Status":{ - "shape":"string", - "documentation":"

The current status of the RTMP distribution. When the status is Deployed, the distribution's information is propagated to all CloudFront edge locations.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name that corresponds to the streaming distribution, for example, s5c39gqb8ow64r.cloudfront.net.

" - }, - "ActiveTrustedSigners":{ - "shape":"ActiveTrustedSigners", - "documentation":"

A complex type that lists the AWS accounts, if any, that you included in the TrustedSigners complex type for this distribution. These are the accounts that you want to allow to create signed URLs for private content.

The Signer complex type lists the AWS account number of the trusted signer or self if the signer is the AWS account that created the distribution. The Signer element also includes the IDs of any active CloudFront key pairs that are associated with the trusted signer's AWS account. If no KeyPairId element appears for a Signer, that signer can't create signed URLs.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The current configuration information for the RTMP distribution.

" - } - }, - "documentation":"

A streaming distribution.

" - }, - "StreamingDistributionAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionConfig":{ - "type":"structure", - "required":[ - "CallerReference", - "S3Origin", - "Comment", - "TrustedSigners", - "Enabled" - ], - "members":{ - "CallerReference":{ - "shape":"string", - "documentation":"

A unique number that ensures that the request can't be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value that you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

Any comments you want to include about the streaming distribution.

" - }, - "Logging":{ - "shape":"StreamingLoggingConfig", - "documentation":"

A complex type that controls whether access logs are written for the streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies any AWS accounts that you want to permit to create signed URLs for private content. If you want the distribution to use signed URLs, include this element; if you want the distribution to use public URLs, remove this element. For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "PriceClass":{ - "shape":"PriceClass", - "documentation":"

A complex type that contains information about price class for this streaming distribution.

" - }, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the streaming distribution is enabled to accept user requests for content.

" - } - }, - "documentation":"

The RTMP distribution's configuration information.

" - }, - "StreamingDistributionConfigWithTags":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Tags" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

A streaming distribution Configuration.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

" - } - }, - "documentation":"

A streaming distribution Configuration and a list of tags to be associated with the streaming distribution.

" - }, - "StreamingDistributionList":{ - "type":"structure", - "required":[ - "Marker", - "MaxItems", - "IsTruncated", - "Quantity" - ], - "members":{ - "Marker":{ - "shape":"string", - "documentation":"

The value you provided for the Marker request parameter.

" - }, - "NextMarker":{ - "shape":"string", - "documentation":"

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your RTMP distributions where they left off.

" - }, - "MaxItems":{ - "shape":"integer", - "documentation":"

The value you provided for the MaxItems request parameter.

" - }, - "IsTruncated":{ - "shape":"boolean", - "documentation":"

A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of streaming distributions that were created by the current AWS account.

" - }, - "Items":{ - "shape":"StreamingDistributionSummaryList", - "documentation":"

A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.

" - } - }, - "documentation":"

A streaming distribution list.

" - }, - "StreamingDistributionNotDisabled":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":409}, - "exception":true - }, - "StreamingDistributionSummary":{ - "type":"structure", - "required":[ - "Id", - "ARN", - "Status", - "LastModifiedTime", - "DomainName", - "S3Origin", - "Aliases", - "TrustedSigners", - "Comment", - "PriceClass", - "Enabled" - ], - "members":{ - "Id":{ - "shape":"string", - "documentation":"

The identifier for the distribution, for example, EDFDVBD632BHDS5.

" - }, - "ARN":{ - "shape":"string", - "documentation":"

The ARN (Amazon Resource Name) for the streaming distribution. For example: arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

" - }, - "Status":{ - "shape":"string", - "documentation":"

Indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated throughout the Amazon CloudFront system.

" - }, - "LastModifiedTime":{ - "shape":"timestamp", - "documentation":"

The date and time the distribution was last modified.

" - }, - "DomainName":{ - "shape":"string", - "documentation":"

The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net.

" - }, - "S3Origin":{ - "shape":"S3Origin", - "documentation":"

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

" - }, - "Aliases":{ - "shape":"Aliases", - "documentation":"

A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.

" - }, - "TrustedSigners":{ - "shape":"TrustedSigners", - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

" - }, - "Comment":{ - "shape":"string", - "documentation":"

The comment originally specified when this distribution was created.

" - }, - "PriceClass":{"shape":"PriceClass"}, - "Enabled":{ - "shape":"boolean", - "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" - } - }, - "documentation":"

A summary of the information for an Amazon CloudFront streaming distribution.

" - }, - "StreamingDistributionSummaryList":{ - "type":"list", - "member":{ - "shape":"StreamingDistributionSummary", - "locationName":"StreamingDistributionSummary" - } - }, - "StreamingLoggingConfig":{ - "type":"structure", - "required":[ - "Enabled", - "Bucket", - "Prefix" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you don't want to enable logging when you create a streaming distribution or if you want to disable logging for an existing streaming distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.

" - }, - "Bucket":{ - "shape":"string", - "documentation":"

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

" - } - }, - "documentation":"

A complex type that controls whether access logs are written for this streaming distribution.

" - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

A string that contains an optional Tag value.

The string length should be between 0 and 256 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

" - } - }, - "documentation":"

A complex type that contains Tag key and Tag value.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string that contains Tag key.

The string length should be between 1 and 128 characters. Valid characters include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @.

", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - } - }, - "TagKeys":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagKeyList", - "documentation":"

A complex type that contains Tag key elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "Tags" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

A complex type that contains zero or more Tag elements.

", - "locationName":"Tags", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to add tags to a CloudFront resource.

", - "payload":"Tags" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"TagList", - "documentation":"

A complex type that contains Tag elements.

" - } - }, - "documentation":"

A complex type that contains zero or more Tag elements.

" - }, - "TooManyCacheBehaviors":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more cache behaviors for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCertificates":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create anymore custom SSL/TLS certificates.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCloudFrontOriginAccessIdentities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyCookieNamesInWhiteList":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyDistributionsWithLambdaAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionConfigs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of configurations for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionContentTypeProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionEncryptionEntities":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionFieldPatterns":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyFieldLevelEncryptionQueryArgProfiles":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyHeadersInForwardedValues":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyInvalidationsInProgress":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyLambdaFunctionAssociations":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOriginCustomHeaders":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyOrigins":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

You cannot create more origins for the distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyPublicKeys":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyQueryStringParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributionCNAMEs":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyStreamingDistributions":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrustedSigners":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

Your request contains more trusted signers than are allowed per distribution.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSignerDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"string"} - }, - "documentation":"

One or more of your trusted signers don't exist.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrustedSigners":{ - "type":"structure", - "required":[ - "Enabled", - "Quantity" - ], - "members":{ - "Enabled":{ - "shape":"boolean", - "documentation":"

Specifies whether you want to require viewers to use signed URLs to access the files specified by PathPattern and TargetOriginId.

" - }, - "Quantity":{ - "shape":"integer", - "documentation":"

The number of trusted signers for this cache behavior.

" - }, - "Items":{ - "shape":"AwsAccountNumberList", - "documentation":"

Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.

" - } - }, - "documentation":"

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content.

If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, see Serving Private Content through CloudFront in the Amazon Amazon CloudFront Developer Guide.

If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items.

To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information about updating the distribution configuration, see DistributionConfig .

" - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"ResourceARN", - "documentation":"

An ARN of a CloudFront resource.

", - "location":"querystring", - "locationName":"Resource" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

A complex type that contains zero or more Tag key elements.

", - "locationName":"TagKeys", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - } - }, - "documentation":"

The request to remove tags from a CloudFront resource.

", - "payload":"TagKeys" - }, - "UpdateCloudFrontOriginAccessIdentityRequest":{ - "type":"structure", - "required":[ - "CloudFrontOriginAccessIdentityConfig", - "Id" - ], - "members":{ - "CloudFrontOriginAccessIdentityConfig":{ - "shape":"CloudFrontOriginAccessIdentityConfig", - "documentation":"

The identity's configuration information.

", - "locationName":"CloudFrontOriginAccessIdentityConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The identity's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the identity's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update an origin access identity.

", - "payload":"CloudFrontOriginAccessIdentityConfig" - }, - "UpdateCloudFrontOriginAccessIdentityResult":{ - "type":"structure", - "members":{ - "CloudFrontOriginAccessIdentity":{ - "shape":"CloudFrontOriginAccessIdentity", - "documentation":"

The origin access identity's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"CloudFrontOriginAccessIdentity" - }, - "UpdateDistributionRequest":{ - "type":"structure", - "required":[ - "DistributionConfig", - "Id" - ], - "members":{ - "DistributionConfig":{ - "shape":"DistributionConfig", - "documentation":"

The distribution's configuration information.

", - "locationName":"DistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a distribution.

", - "payload":"DistributionConfig" - }, - "UpdateDistributionResult":{ - "type":"structure", - "members":{ - "Distribution":{ - "shape":"Distribution", - "documentation":"

The distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"Distribution" - }, - "UpdateFieldLevelEncryptionConfigRequest":{ - "type":"structure", - "required":[ - "FieldLevelEncryptionConfig", - "Id" - ], - "members":{ - "FieldLevelEncryptionConfig":{ - "shape":"FieldLevelEncryptionConfig", - "documentation":"

Request to update a field-level encryption configuration.

", - "locationName":"FieldLevelEncryptionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The ID of the configuration you want to update.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"FieldLevelEncryptionConfig" - }, - "UpdateFieldLevelEncryptionConfigResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryption":{ - "shape":"FieldLevelEncryption", - "documentation":"

Return the results of updating the configuration.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryption" - }, - "UpdateFieldLevelEncryptionProfileRequest":{ - "type":"structure", - "required":[ - "FieldLevelEncryptionProfileConfig", - "Id" - ], - "members":{ - "FieldLevelEncryptionProfileConfig":{ - "shape":"FieldLevelEncryptionProfileConfig", - "documentation":"

Request to update a field-level encryption profile.

", - "locationName":"FieldLevelEncryptionProfileConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The ID of the field-level encryption profile request.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"FieldLevelEncryptionProfileConfig" - }, - "UpdateFieldLevelEncryptionProfileResult":{ - "type":"structure", - "members":{ - "FieldLevelEncryptionProfile":{ - "shape":"FieldLevelEncryptionProfile", - "documentation":"

Return the results of updating the profile.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The result of the field-level encryption profile request.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"FieldLevelEncryptionProfile" - }, - "UpdatePublicKeyRequest":{ - "type":"structure", - "required":[ - "PublicKeyConfig", - "Id" - ], - "members":{ - "PublicKeyConfig":{ - "shape":"PublicKeyConfig", - "documentation":"

Request to update public key information.

", - "locationName":"PublicKeyConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

ID of the public key to be updated.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "payload":"PublicKeyConfig" - }, - "UpdatePublicKeyResult":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

Return the results of updating the public key.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "payload":"PublicKey" - }, - "UpdateStreamingDistributionRequest":{ - "type":"structure", - "required":[ - "StreamingDistributionConfig", - "Id" - ], - "members":{ - "StreamingDistributionConfig":{ - "shape":"StreamingDistributionConfig", - "documentation":"

The streaming distribution's configuration information.

", - "locationName":"StreamingDistributionConfig", - "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} - }, - "Id":{ - "shape":"string", - "documentation":"

The streaming distribution's id.

", - "location":"uri", - "locationName":"Id" - }, - "IfMatch":{ - "shape":"string", - "documentation":"

The value of the ETag header that you received when retrieving the streaming distribution's configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"If-Match" - } - }, - "documentation":"

The request to update a streaming distribution.

", - "payload":"StreamingDistributionConfig" - }, - "UpdateStreamingDistributionResult":{ - "type":"structure", - "members":{ - "StreamingDistribution":{ - "shape":"StreamingDistribution", - "documentation":"

The streaming distribution's information.

" - }, - "ETag":{ - "shape":"string", - "documentation":"

The current version of the configuration. For example: E2QWRUHAPOMQZL.

", - "location":"header", - "locationName":"ETag" - } - }, - "documentation":"

The returned result of the corresponding request.

", - "payload":"StreamingDistribution" - }, - "ViewerCertificate":{ - "type":"structure", - "members":{ - "CloudFrontDefaultCertificate":{ - "shape":"boolean", - "documentation":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" - }, - "IAMCertificateId":{ - "shape":"string", - "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" - }, - "ACMCertificateArn":{ - "shape":"string", - "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" - }, - "SSLSupportMethod":{ - "shape":"SSLSupportMethod", - "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$IAMCertificateId, you must also specify how you want CloudFront to serve HTTPS requests: using a method that works for all clients or one that works for most clients:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't specify a value for SSLSupportMethod if you specified <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>.

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "MinimumProtocolVersion":{ - "shape":"MinimumProtocolVersion", - "documentation":"

Specify the security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" - }, - "Certificate":{ - "shape":"string", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - }, - "CertificateSource":{ - "shape":"CertificateSource", - "documentation":"

This field has been deprecated. Use one of the following fields instead:

", - "deprecated":true - } - }, - "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS to request your objects: Specify the following value:

<CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

In addition, specify allow-all for ViewerProtocolPolicy for all of your cache behaviors.

If you want viewers to use HTTPS to request your objects: Choose the type of certificate that you want to use based on whether you're using an alternate domain name for your objects or the CloudFront domain name:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

" - }, - "ViewerProtocolPolicy":{ - "type":"string", - "enum":[ - "allow-all", - "https-only", - "redirect-to-https" - ] - }, - "boolean":{"type":"boolean"}, - "integer":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/waiters-2.json deleted file mode 100644 index edd74b2a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudfront/2018-06-18/waiters-2.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "version": 2, - "waiters": { - "DistributionDeployed": { - "delay": 60, - "operation": "GetDistribution", - "maxAttempts": 25, - "description": "Wait until a distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "Distribution.Status" - } - ] - }, - "InvalidationCompleted": { - "delay": 20, - "operation": "GetInvalidation", - "maxAttempts": 30, - "description": "Wait until an invalidation has completed.", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "Invalidation.Status" - } - ] - }, - "StreamingDistributionDeployed": { - "delay": 60, - "operation": "GetStreamingDistribution", - "maxAttempts": 25, - "description": "Wait until a streaming distribution is deployed.", - "acceptors": [ - { - "expected": "Deployed", - "matcher": "path", - "state": "success", - "argument": "StreamingDistribution.Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/service-2.json deleted file mode 100644 index 139daddb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsm/2014-05-30/service-2.json +++ /dev/null @@ -1,1197 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-05-30", - "endpointPrefix":"cloudhsm", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CloudHSM", - "serviceFullName":"Amazon CloudHSM", - "serviceId":"CloudHSM", - "signatureVersion":"v4", - "targetPrefix":"CloudHsmFrontendService", - "uid":"cloudhsm-2014-05-30" - }, - "operations":{ - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceRequest"}, - "output":{"shape":"AddTagsToResourceResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Adds or overwrites one or more tags for the specified AWS CloudHSM resource.

Each tag consists of a key and a value. Tag keys must be unique to each resource.

" - }, - "CreateHapg":{ - "name":"CreateHapg", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHapgRequest"}, - "output":{"shape":"CreateHapgResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates a high-availability partition group. A high-availability partition group is a group of partitions that spans multiple physical HSMs.

" - }, - "CreateHsm":{ - "name":"CreateHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHsmRequest"}, - "output":{"shape":"CreateHsmResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates an uninitialized HSM instance.

There is an upfront fee charged for each HSM instance that you create with the CreateHsm operation. If you accidentally provision an HSM and want to request a refund, delete the instance using the DeleteHsm operation, go to the AWS Support Center, create a new case, and select Account and Billing Support.

It can take up to 20 minutes to create and provision an HSM. You can monitor the status of the HSM with the DescribeHsm operation. The HSM is ready to be initialized when the status changes to RUNNING.

" - }, - "CreateLunaClient":{ - "name":"CreateLunaClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLunaClientRequest"}, - "output":{"shape":"CreateLunaClientResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates an HSM client.

" - }, - "DeleteHapg":{ - "name":"DeleteHapg", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHapgRequest"}, - "output":{"shape":"DeleteHapgResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes a high-availability partition group.

" - }, - "DeleteHsm":{ - "name":"DeleteHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHsmRequest"}, - "output":{"shape":"DeleteHsmResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes an HSM. After completion, this operation cannot be undone and your key material cannot be recovered.

" - }, - "DeleteLunaClient":{ - "name":"DeleteLunaClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLunaClientRequest"}, - "output":{"shape":"DeleteLunaClientResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes a client.

" - }, - "DescribeHapg":{ - "name":"DescribeHapg", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHapgRequest"}, - "output":{"shape":"DescribeHapgResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about a high-availability partition group.

" - }, - "DescribeHsm":{ - "name":"DescribeHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHsmRequest"}, - "output":{"shape":"DescribeHsmResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number.

" - }, - "DescribeLunaClient":{ - "name":"DescribeLunaClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLunaClientRequest"}, - "output":{"shape":"DescribeLunaClientResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about an HSM client.

" - }, - "GetConfig":{ - "name":"GetConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConfigRequest"}, - "output":{"shape":"GetConfigResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Gets the configuration files necessary to connect to all high availability partition groups the client is associated with.

" - }, - "ListAvailableZones":{ - "name":"ListAvailableZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAvailableZonesRequest"}, - "output":{"shape":"ListAvailableZonesResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists the Availability Zones that have available AWS CloudHSM capacity.

" - }, - "ListHapgs":{ - "name":"ListHapgs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListHapgsRequest"}, - "output":{"shape":"ListHapgsResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists the high-availability partition groups for the account.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHapgs to retrieve the next set of items.

" - }, - "ListHsms":{ - "name":"ListHsms", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListHsmsRequest"}, - "output":{"shape":"ListHsmsResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves the identifiers of all of the HSMs provisioned for the current customer.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHsms to retrieve the next set of items.

" - }, - "ListLunaClients":{ - "name":"ListLunaClients", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListLunaClientsRequest"}, - "output":{"shape":"ListLunaClientsResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists all of the clients.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListLunaClients to retrieve the next set of items.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Returns a list of all tags for the specified AWS CloudHSM resource.

" - }, - "ModifyHapg":{ - "name":"ModifyHapg", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHapgRequest"}, - "output":{"shape":"ModifyHapgResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies an existing high-availability partition group.

" - }, - "ModifyHsm":{ - "name":"ModifyHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHsmRequest"}, - "output":{"shape":"ModifyHsmResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies an HSM.

This operation can result in the HSM being offline for up to 15 minutes while the AWS CloudHSM service is reconfigured. If you are modifying a production HSM, you should ensure that your AWS CloudHSM service is configured for high availability, and consider executing this operation during a maintenance window.

" - }, - "ModifyLunaClient":{ - "name":"ModifyLunaClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyLunaClientRequest"}, - "output":{"shape":"ModifyLunaClientResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies the certificate used by the client.

This action can potentially start a workflow to install the new certificate on the client's HSMs.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceRequest"}, - "output":{"shape":"RemoveTagsFromResourceResponse"}, - "errors":[ - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInternalException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Removes one or more tags from the specified AWS CloudHSM resource.

To remove a tag, specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource.

" - } - }, - "shapes":{ - "AZ":{ - "type":"string", - "pattern":"[a-zA-Z0-9\\-]*" - }, - "AZList":{ - "type":"list", - "member":{"shape":"AZ"} - }, - "AddTagsToResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagList" - ], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.

" - }, - "TagList":{ - "shape":"TagList", - "documentation":"

One or more tags.

" - } - } - }, - "AddTagsToResourceResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the operation.

" - } - } - }, - "Boolean":{"type":"boolean"}, - "Certificate":{ - "type":"string", - "max":2400, - "min":600, - "pattern":"[\\w :+=./\\n-]*" - }, - "CertificateFingerprint":{ - "type":"string", - "pattern":"([0-9a-fA-F][0-9a-fA-F]:){15}[0-9a-fA-F][0-9a-fA-F]" - }, - "ClientArn":{ - "type":"string", - "pattern":"arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:client-[0-9a-f]{8}" - }, - "ClientLabel":{ - "type":"string", - "pattern":"[a-zA-Z0-9_.-]{2,64}" - }, - "ClientList":{ - "type":"list", - "member":{"shape":"ClientArn"} - }, - "ClientToken":{ - "type":"string", - "pattern":"[a-zA-Z0-9]{1,64}" - }, - "ClientVersion":{ - "type":"string", - "enum":[ - "5.1", - "5.3" - ] - }, - "CloudHsmInternalException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that an internal error occurred.

", - "exception":true, - "fault":true - }, - "CloudHsmObjectState":{ - "type":"string", - "enum":[ - "READY", - "UPDATING", - "DEGRADED" - ] - }, - "CloudHsmServiceException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

Additional information about the error.

" - }, - "retryable":{ - "shape":"Boolean", - "documentation":"

Indicates if the action can be retried.

" - } - }, - "documentation":"

Indicates that an exception occurred in the AWS CloudHSM service.

", - "exception":true - }, - "CreateHapgRequest":{ - "type":"structure", - "required":["Label"], - "members":{ - "Label":{ - "shape":"Label", - "documentation":"

The label of the new high-availability partition group.

" - } - }, - "documentation":"

Contains the inputs for the CreateHapgRequest action.

" - }, - "CreateHapgResponse":{ - "type":"structure", - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group.

" - } - }, - "documentation":"

Contains the output of the CreateHAPartitionGroup action.

" - }, - "CreateHsmRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "SshKey", - "IamRoleArn", - "SubscriptionType" - ], - "members":{ - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The identifier of the subnet in your VPC in which to place the HSM.

", - "locationName":"SubnetId" - }, - "SshKey":{ - "shape":"SshKey", - "documentation":"

The SSH public key to install on the HSM.

", - "locationName":"SshKey" - }, - "EniIp":{ - "shape":"IpAddress", - "documentation":"

The IP address to assign to the HSM's ENI.

If an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the subnet.

", - "locationName":"EniIp" - }, - "IamRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your behalf.

", - "locationName":"IamRoleArn" - }, - "ExternalId":{ - "shape":"ExternalId", - "documentation":"

The external ID from IamRoleArn, if present.

", - "locationName":"ExternalId" - }, - "SubscriptionType":{ - "shape":"SubscriptionType", - "locationName":"SubscriptionType" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A user-defined token to ensure idempotence. Subsequent calls to this operation with the same token will be ignored.

", - "locationName":"ClientToken" - }, - "SyslogIp":{ - "shape":"IpAddress", - "documentation":"

The IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.

", - "locationName":"SyslogIp" - } - }, - "documentation":"

Contains the inputs for the CreateHsm operation.

", - "locationName":"CreateHsmRequest" - }, - "CreateHsmResponse":{ - "type":"structure", - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM.

" - } - }, - "documentation":"

Contains the output of the CreateHsm operation.

" - }, - "CreateLunaClientRequest":{ - "type":"structure", - "required":["Certificate"], - "members":{ - "Label":{ - "shape":"ClientLabel", - "documentation":"

The label for the client.

" - }, - "Certificate":{ - "shape":"Certificate", - "documentation":"

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the HSMs used by this client.

" - } - }, - "documentation":"

Contains the inputs for the CreateLunaClient action.

" - }, - "CreateLunaClientResponse":{ - "type":"structure", - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - } - }, - "documentation":"

Contains the output of the CreateLunaClient action.

" - }, - "DeleteHapgRequest":{ - "type":"structure", - "required":["HapgArn"], - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group to delete.

" - } - }, - "documentation":"

Contains the inputs for the DeleteHapg action.

" - }, - "DeleteHapgResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the action.

" - } - }, - "documentation":"

Contains the output of the DeleteHapg action.

" - }, - "DeleteHsmRequest":{ - "type":"structure", - "required":["HsmArn"], - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM to delete.

", - "locationName":"HsmArn" - } - }, - "documentation":"

Contains the inputs for the DeleteHsm operation.

", - "locationName":"DeleteHsmRequest" - }, - "DeleteHsmResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the operation.

" - } - }, - "documentation":"

Contains the output of the DeleteHsm operation.

" - }, - "DeleteLunaClientRequest":{ - "type":"structure", - "required":["ClientArn"], - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client to delete.

" - } - } - }, - "DeleteLunaClientResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the action.

" - } - } - }, - "DescribeHapgRequest":{ - "type":"structure", - "required":["HapgArn"], - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group to describe.

" - } - }, - "documentation":"

Contains the inputs for the DescribeHapg action.

" - }, - "DescribeHapgResponse":{ - "type":"structure", - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group.

" - }, - "HapgSerial":{ - "shape":"String", - "documentation":"

The serial number of the high-availability partition group.

" - }, - "HsmsLastActionFailed":{ - "shape":"HsmList", - "documentation":"

" - }, - "HsmsPendingDeletion":{ - "shape":"HsmList", - "documentation":"

" - }, - "HsmsPendingRegistration":{ - "shape":"HsmList", - "documentation":"

" - }, - "Label":{ - "shape":"Label", - "documentation":"

The label for the high-availability partition group.

" - }, - "LastModifiedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time the high-availability partition group was last modified.

" - }, - "PartitionSerialList":{ - "shape":"PartitionSerialList", - "documentation":"

The list of partition serial numbers that belong to the high-availability partition group.

" - }, - "State":{ - "shape":"CloudHsmObjectState", - "documentation":"

The state of the high-availability partition group.

" - } - }, - "documentation":"

Contains the output of the DescribeHapg action.

" - }, - "DescribeHsmRequest":{ - "type":"structure", - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.

" - }, - "HsmSerialNumber":{ - "shape":"HsmSerialNumber", - "documentation":"

The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified.

" - } - }, - "documentation":"

Contains the inputs for the DescribeHsm operation.

" - }, - "DescribeHsmResponse":{ - "type":"structure", - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM.

" - }, - "Status":{ - "shape":"HsmStatus", - "documentation":"

The status of the HSM.

" - }, - "StatusDetails":{ - "shape":"String", - "documentation":"

Contains additional information about the status of the HSM.

" - }, - "AvailabilityZone":{ - "shape":"AZ", - "documentation":"

The Availability Zone that the HSM is in.

" - }, - "EniId":{ - "shape":"EniId", - "documentation":"

The identifier of the elastic network interface (ENI) attached to the HSM.

" - }, - "EniIp":{ - "shape":"IpAddress", - "documentation":"

The IP address assigned to the HSM's ENI.

" - }, - "SubscriptionType":{"shape":"SubscriptionType"}, - "SubscriptionStartDate":{ - "shape":"Timestamp", - "documentation":"

The subscription start date.

" - }, - "SubscriptionEndDate":{ - "shape":"Timestamp", - "documentation":"

The subscription end date.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC that the HSM is in.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The identifier of the subnet that the HSM is in.

" - }, - "IamRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The ARN of the IAM role assigned to the HSM.

" - }, - "SerialNumber":{ - "shape":"HsmSerialNumber", - "documentation":"

The serial number of the HSM.

" - }, - "VendorName":{ - "shape":"String", - "documentation":"

The name of the HSM vendor.

" - }, - "HsmType":{ - "shape":"String", - "documentation":"

The HSM model type.

" - }, - "SoftwareVersion":{ - "shape":"String", - "documentation":"

The HSM software version.

" - }, - "SshPublicKey":{ - "shape":"SshKey", - "documentation":"

The public SSH key.

" - }, - "SshKeyLastUpdated":{ - "shape":"Timestamp", - "documentation":"

The date and time that the SSH key was last updated.

" - }, - "ServerCertUri":{ - "shape":"String", - "documentation":"

The URI of the certificate server.

" - }, - "ServerCertLastUpdated":{ - "shape":"Timestamp", - "documentation":"

The date and time that the server certificate was last updated.

" - }, - "Partitions":{ - "shape":"PartitionList", - "documentation":"

The list of partitions on the HSM.

" - } - }, - "documentation":"

Contains the output of the DescribeHsm operation.

" - }, - "DescribeLunaClientRequest":{ - "type":"structure", - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - }, - "CertificateFingerprint":{ - "shape":"CertificateFingerprint", - "documentation":"

The certificate fingerprint.

" - } - } - }, - "DescribeLunaClientResponse":{ - "type":"structure", - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - }, - "Certificate":{ - "shape":"Certificate", - "documentation":"

The certificate installed on the HSMs used by this client.

" - }, - "CertificateFingerprint":{ - "shape":"CertificateFingerprint", - "documentation":"

The certificate fingerprint.

" - }, - "LastModifiedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time the client was last modified.

" - }, - "Label":{ - "shape":"Label", - "documentation":"

The label of the client.

" - } - } - }, - "EniId":{ - "type":"string", - "pattern":"eni-[0-9a-f]{8}" - }, - "ExternalId":{ - "type":"string", - "pattern":"[\\w :+=./-]*" - }, - "GetConfigRequest":{ - "type":"structure", - "required":[ - "ClientArn", - "ClientVersion", - "HapgList" - ], - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - }, - "ClientVersion":{ - "shape":"ClientVersion", - "documentation":"

The client version.

" - }, - "HapgList":{ - "shape":"HapgList", - "documentation":"

A list of ARNs that identify the high-availability partition groups that are associated with the client.

" - } - } - }, - "GetConfigResponse":{ - "type":"structure", - "members":{ - "ConfigType":{ - "shape":"String", - "documentation":"

The type of credentials.

" - }, - "ConfigFile":{ - "shape":"String", - "documentation":"

The chrystoki.conf configuration file.

" - }, - "ConfigCred":{ - "shape":"String", - "documentation":"

The certificate file containing the server.pem files of the HSMs.

" - } - } - }, - "HapgArn":{ - "type":"string", - "pattern":"arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hapg-[0-9a-f]{8}" - }, - "HapgList":{ - "type":"list", - "member":{"shape":"HapgArn"} - }, - "HsmArn":{ - "type":"string", - "documentation":"

An ARN that identifies an HSM.

", - "pattern":"arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}" - }, - "HsmList":{ - "type":"list", - "member":{"shape":"HsmArn"}, - "documentation":"

Contains a list of ARNs that identify the HSMs.

" - }, - "HsmSerialNumber":{ - "type":"string", - "pattern":"\\d{1,16}" - }, - "HsmStatus":{ - "type":"string", - "enum":[ - "PENDING", - "RUNNING", - "UPDATING", - "SUSPENDED", - "TERMINATING", - "TERMINATED", - "DEGRADED" - ] - }, - "IamRoleArn":{ - "type":"string", - "pattern":"arn:aws(-iso)?:iam::[0-9]{12}:role/[a-zA-Z0-9_\\+=,\\.\\-@]{1,64}" - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that one or more of the request parameters are not valid.

", - "exception":true - }, - "IpAddress":{ - "type":"string", - "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" - }, - "Label":{ - "type":"string", - "pattern":"[a-zA-Z0-9_.-]{1,64}" - }, - "ListAvailableZonesRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the inputs for the ListAvailableZones action.

" - }, - "ListAvailableZonesResponse":{ - "type":"structure", - "members":{ - "AZList":{ - "shape":"AZList", - "documentation":"

The list of Availability Zones that have available AWS CloudHSM capacity.

" - } - } - }, - "ListHapgsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListHapgs. Pass null if this is the first call.

" - } - } - }, - "ListHapgsResponse":{ - "type":"structure", - "required":["HapgList"], - "members":{ - "HapgList":{ - "shape":"HapgList", - "documentation":"

The list of high-availability partition groups.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this value to ListHapgs to retrieve the next set of items.

" - } - } - }, - "ListHsmsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListHsms. Pass null if this is the first call.

" - } - } - }, - "ListHsmsResponse":{ - "type":"structure", - "members":{ - "HsmList":{ - "shape":"HsmList", - "documentation":"

The list of ARNs that identify the HSMs.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this value to ListHsms to retrieve the next set of items.

" - } - }, - "documentation":"

Contains the output of the ListHsms operation.

" - }, - "ListLunaClientsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListLunaClients. Pass null if this is the first call.

" - } - } - }, - "ListLunaClientsResponse":{ - "type":"structure", - "required":["ClientList"], - "members":{ - "ClientList":{ - "shape":"ClientList", - "documentation":"

The list of clients.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this to ListLunaClients to retrieve the next set of items.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS CloudHSM resource.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "required":["TagList"], - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

One or more tags.

" - } - } - }, - "ModifyHapgRequest":{ - "type":"structure", - "required":["HapgArn"], - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group to modify.

" - }, - "Label":{ - "shape":"Label", - "documentation":"

The new label for the high-availability partition group.

" - }, - "PartitionSerialList":{ - "shape":"PartitionSerialList", - "documentation":"

The list of partition serial numbers to make members of the high-availability partition group.

" - } - } - }, - "ModifyHapgResponse":{ - "type":"structure", - "members":{ - "HapgArn":{ - "shape":"HapgArn", - "documentation":"

The ARN of the high-availability partition group.

" - } - } - }, - "ModifyHsmRequest":{ - "type":"structure", - "required":["HsmArn"], - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM to modify.

", - "locationName":"HsmArn" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The new identifier of the subnet that the HSM is in. The new subnet must be in the same Availability Zone as the current subnet.

", - "locationName":"SubnetId" - }, - "EniIp":{ - "shape":"IpAddress", - "documentation":"

The new IP address for the elastic network interface (ENI) attached to the HSM.

If the HSM is moved to a different subnet, and an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the new subnet.

", - "locationName":"EniIp" - }, - "IamRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The new IAM role ARN.

", - "locationName":"IamRoleArn" - }, - "ExternalId":{ - "shape":"ExternalId", - "documentation":"

The new external ID.

", - "locationName":"ExternalId" - }, - "SyslogIp":{ - "shape":"IpAddress", - "documentation":"

The new IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.

", - "locationName":"SyslogIp" - } - }, - "documentation":"

Contains the inputs for the ModifyHsm operation.

", - "locationName":"ModifyHsmRequest" - }, - "ModifyHsmResponse":{ - "type":"structure", - "members":{ - "HsmArn":{ - "shape":"HsmArn", - "documentation":"

The ARN of the HSM.

" - } - }, - "documentation":"

Contains the output of the ModifyHsm operation.

" - }, - "ModifyLunaClientRequest":{ - "type":"structure", - "required":[ - "ClientArn", - "Certificate" - ], - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - }, - "Certificate":{ - "shape":"Certificate", - "documentation":"

The new certificate for the client.

" - } - } - }, - "ModifyLunaClientResponse":{ - "type":"structure", - "members":{ - "ClientArn":{ - "shape":"ClientArn", - "documentation":"

The ARN of the client.

" - } - } - }, - "PaginationToken":{ - "type":"string", - "pattern":"[a-zA-Z0-9+/]*" - }, - "PartitionArn":{ - "type":"string", - "pattern":"arn:aws(-iso)?:cloudhsm:[a-zA-Z0-9\\-]*:[0-9]{12}:hsm-[0-9a-f]{8}/partition-[0-9]{6,12}" - }, - "PartitionList":{ - "type":"list", - "member":{"shape":"PartitionArn"} - }, - "PartitionSerial":{ - "type":"string", - "pattern":"\\d{6,12}" - }, - "PartitionSerialList":{ - "type":"list", - "member":{"shape":"PartitionSerial"} - }, - "RemoveTagsFromResourceRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeyList" - ], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS CloudHSM resource.

" - }, - "TagKeyList":{ - "shape":"TagKeyList", - "documentation":"

The tag key or keys to remove.

Specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource.

" - } - } - }, - "RemoveTagsFromResourceResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the operation.

" - } - } - }, - "SshKey":{ - "type":"string", - "pattern":"[a-zA-Z0-9+/= ._:\\\\@-]*" - }, - "String":{ - "type":"string", - "pattern":"[\\w :+=./\\\\-]*" - }, - "SubnetId":{ - "type":"string", - "pattern":"subnet-[0-9a-f]{8}" - }, - "SubscriptionType":{ - "type":"string", - "documentation":"

Specifies the type of subscription for the HSM.

  • PRODUCTION - The HSM is being used in a production environment.

  • TRIAL - The HSM is being used in a product trial.

", - "enum":["PRODUCTION"] - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

A key-value pair that identifies or specifies metadata about an AWS CloudHSM resource.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0 - }, - "Timestamp":{ - "type":"string", - "pattern":"\\d*" - }, - "VpcId":{ - "type":"string", - "pattern":"vpc-[0-9a-f]{8}" - } - }, - "documentation":"AWS CloudHSM Service

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json deleted file mode 100644 index 19c403f0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "DescribeBackups": { - "result_key": "Backups", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "DescribeClusters": { - "result_key": "Clusters", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTags": { - "result_key": "TagList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/service-2.json deleted file mode 100644 index a73737c2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudhsmv2/2017-04-28/service-2.json +++ /dev/null @@ -1,892 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-04-28", - "endpointPrefix":"cloudhsmv2", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CloudHSM V2", - "serviceFullName":"AWS CloudHSM V2", - "serviceId":"CloudHSM V2", - "signatureVersion":"v4", - "signingName":"cloudhsm", - "targetPrefix":"BaldrApiService", - "uid":"cloudhsmv2-2017-04-28" - }, - "operations":{ - "CopyBackupToRegion":{ - "name":"CopyBackupToRegion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyBackupToRegionRequest"}, - "output":{"shape":"CopyBackupToRegionResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ] - }, - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterRequest"}, - "output":{"shape":"CreateClusterResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Creates a new AWS CloudHSM cluster.

" - }, - "CreateHsm":{ - "name":"CreateHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHsmRequest"}, - "output":{"shape":"CreateHsmResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster.

" - }, - "DeleteCluster":{ - "name":"DeleteCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterRequest"}, - "output":{"shape":"DeleteClusterResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, you must delete all HSMs in the cluster. To see if the cluster contains any HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm.

" - }, - "DeleteHsm":{ - "name":"DeleteHsm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHsmRequest"}, - "output":{"shape":"DeleteHsmResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to specify only one of these values. To find these values, use DescribeClusters.

" - }, - "DescribeBackups":{ - "name":"DescribeBackups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBackupsRequest"}, - "output":{"shape":"DescribeBackupsResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Gets information about backups of AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the backups. When the response contains only a subset of backups, it includes a NextToken value. Use this value in a subsequent DescribeBackups request to get more backups. When you receive a response with no NextToken (or an empty or null value), that means there are no more backups to get.

" - }, - "DescribeClusters":{ - "name":"DescribeClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClustersRequest"}, - "output":{"shape":"DescribeClustersResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Gets information about AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the clusters. When the response contains only a subset of clusters, it includes a NextToken value. Use this value in a subsequent DescribeClusters request to get more clusters. When you receive a response with no NextToken (or an empty or null value), that means there are no more clusters to get.

" - }, - "InitializeCluster":{ - "name":"InitializeCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"InitializeClusterRequest"}, - "output":{"shape":"InitializeClusterResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Claims an AWS CloudHSM cluster by submitting the cluster certificate issued by your issuing certificate authority (CA) and the CA's root certificate. Before you can claim a cluster, you must sign the cluster's certificate signing request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters.

" - }, - "ListTags":{ - "name":"ListTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsRequest"}, - "output":{"shape":"ListTagsResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Gets a list of tags for the specified AWS CloudHSM cluster.

This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTags request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Adds or overwrites one or more tags for the specified AWS CloudHSM cluster.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"CloudHsmInternalFailureException"}, - {"shape":"CloudHsmServiceException"}, - {"shape":"CloudHsmResourceNotFoundException"}, - {"shape":"CloudHsmInvalidRequestException"}, - {"shape":"CloudHsmAccessDeniedException"} - ], - "documentation":"

Removes the specified tag or tags from the specified AWS CloudHSM cluster.

" - } - }, - "shapes":{ - "Backup":{ - "type":"structure", - "required":["BackupId"], - "members":{ - "BackupId":{ - "shape":"BackupId", - "documentation":"

The identifier (ID) of the backup.

" - }, - "BackupState":{ - "shape":"BackupState", - "documentation":"

The state of the backup.

" - }, - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the cluster that was backed up.

" - }, - "CreateTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time when the backup was created.

" - }, - "CopyTimestamp":{"shape":"Timestamp"}, - "SourceRegion":{"shape":"Region"}, - "SourceBackup":{"shape":"BackupId"}, - "SourceCluster":{"shape":"ClusterId"} - }, - "documentation":"

Contains information about a backup of an AWS CloudHSM cluster.

" - }, - "BackupId":{ - "type":"string", - "pattern":"backup-[2-7a-zA-Z]{11,16}" - }, - "BackupPolicy":{ - "type":"string", - "enum":["DEFAULT"] - }, - "BackupState":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "READY", - "DELETED" - ] - }, - "Backups":{ - "type":"list", - "member":{"shape":"Backup"} - }, - "Boolean":{"type":"boolean"}, - "Cert":{ - "type":"string", - "max":5000, - "pattern":"[a-zA-Z0-9+-/=\\s]*" - }, - "Certificates":{ - "type":"structure", - "members":{ - "ClusterCsr":{ - "shape":"Cert", - "documentation":"

The cluster's certificate signing request (CSR). The CSR exists only when the cluster's state is UNINITIALIZED.

" - }, - "HsmCertificate":{ - "shape":"Cert", - "documentation":"

The HSM certificate issued (signed) by the HSM hardware.

" - }, - "AwsHardwareCertificate":{ - "shape":"Cert", - "documentation":"

The HSM hardware certificate issued (signed) by AWS CloudHSM.

" - }, - "ManufacturerHardwareCertificate":{ - "shape":"Cert", - "documentation":"

The HSM hardware certificate issued (signed) by the hardware manufacturer.

" - }, - "ClusterCertificate":{ - "shape":"Cert", - "documentation":"

The cluster certificate issued (signed) by the issuing certificate authority (CA) of the cluster's owner.

" - } - }, - "documentation":"

Contains one or more certificates or a certificate signing request (CSR).

" - }, - "CloudHsmAccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The request was rejected because the requester does not have permission to perform the requested operation.

", - "exception":true - }, - "CloudHsmInternalFailureException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The request was rejected because of an AWS CloudHSM internal failure. The request can be retried.

", - "exception":true, - "fault":true - }, - "CloudHsmInvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The request was rejected because it is not a valid request.

", - "exception":true - }, - "CloudHsmResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The request was rejected because it refers to a resource that cannot be found.

", - "exception":true - }, - "CloudHsmServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The request was rejected because an error occurred.

", - "exception":true - }, - "Cluster":{ - "type":"structure", - "members":{ - "BackupPolicy":{ - "shape":"BackupPolicy", - "documentation":"

The cluster's backup policy.

" - }, - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The cluster's identifier (ID).

" - }, - "CreateTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time when the cluster was created.

" - }, - "Hsms":{ - "shape":"Hsms", - "documentation":"

Contains information about the HSMs in the cluster.

" - }, - "HsmType":{ - "shape":"HsmType", - "documentation":"

The type of HSM that the cluster contains.

" - }, - "PreCoPassword":{ - "shape":"PreCoPassword", - "documentation":"

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

" - }, - "SecurityGroup":{ - "shape":"SecurityGroup", - "documentation":"

The identifier (ID) of the cluster's security group.

" - }, - "SourceBackupId":{ - "shape":"BackupId", - "documentation":"

The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup.

" - }, - "State":{ - "shape":"ClusterState", - "documentation":"

The cluster's state.

" - }, - "StateMessage":{ - "shape":"StateMessage", - "documentation":"

A description of the cluster's state.

" - }, - "SubnetMapping":{ - "shape":"ExternalSubnetMapping", - "documentation":"

A map of the cluster's subnets and their corresponding Availability Zones.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier (ID) of the virtual private cloud (VPC) that contains the cluster.

" - }, - "Certificates":{ - "shape":"Certificates", - "documentation":"

Contains one or more certificates or a certificate signing request (CSR).

" - } - }, - "documentation":"

Contains information about an AWS CloudHSM cluster.

" - }, - "ClusterId":{ - "type":"string", - "pattern":"cluster-[2-7a-zA-Z]{11,16}" - }, - "ClusterState":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "UNINITIALIZED", - "INITIALIZE_IN_PROGRESS", - "INITIALIZED", - "ACTIVE", - "UPDATE_IN_PROGRESS", - "DELETE_IN_PROGRESS", - "DELETED", - "DEGRADED" - ] - }, - "Clusters":{ - "type":"list", - "member":{"shape":"Cluster"} - }, - "CopyBackupToRegionRequest":{ - "type":"structure", - "required":[ - "DestinationRegion", - "BackupId" - ], - "members":{ - "DestinationRegion":{"shape":"Region"}, - "BackupId":{"shape":"BackupId"} - } - }, - "CopyBackupToRegionResponse":{ - "type":"structure", - "members":{ - "DestinationBackup":{"shape":"DestinationBackup"} - } - }, - "CreateClusterRequest":{ - "type":"structure", - "required":[ - "SubnetIds", - "HsmType" - ], - "members":{ - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

The identifiers (IDs) of the subnets where you are creating the cluster. You must specify at least one subnet. If you specify multiple subnets, they must meet the following criteria:

  • All subnets must be in the same virtual private cloud (VPC).

  • You can specify only one subnet per Availability Zone.

" - }, - "HsmType":{ - "shape":"HsmType", - "documentation":"

The type of HSM to use in the cluster. Currently the only allowed value is hsm1.medium.

" - }, - "SourceBackupId":{ - "shape":"BackupId", - "documentation":"

The identifier (ID) of the cluster backup to restore. Use this value to restore the cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups.

" - } - } - }, - "CreateClusterResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

Information about the cluster that was created.

" - } - } - }, - "CreateHsmRequest":{ - "type":"structure", - "required":[ - "ClusterId", - "AvailabilityZone" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

" - }, - "AvailabilityZone":{ - "shape":"ExternalAz", - "documentation":"

The Availability Zone where you are creating the HSM. To find the cluster's Availability Zones, use DescribeClusters.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

The HSM's IP address. If you specify an IP address, use an available address from the subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify an IP address, one is chosen for you from that subnet.

" - } - } - }, - "CreateHsmResponse":{ - "type":"structure", - "members":{ - "Hsm":{ - "shape":"Hsm", - "documentation":"

Information about the HSM that was created.

" - } - } - }, - "DeleteClusterRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.

" - } - } - }, - "DeleteClusterResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

Information about the cluster that was deleted.

" - } - } - }, - "DeleteHsmRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the cluster that contains the HSM that you are deleting.

" - }, - "HsmId":{ - "shape":"HsmId", - "documentation":"

The identifier (ID) of the HSM that you are deleting.

" - }, - "EniId":{ - "shape":"EniId", - "documentation":"

The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.

" - }, - "EniIp":{ - "shape":"IpAddress", - "documentation":"

The IP address of the elastic network interface (ENI) of the HSM that you are deleting.

" - } - } - }, - "DeleteHsmResponse":{ - "type":"structure", - "members":{ - "HsmId":{ - "shape":"HsmId", - "documentation":"

The identifier (ID) of the HSM that was deleted.

" - } - } - }, - "DescribeBackupsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that you received in the previous response. Use this value to get more backups.

" - }, - "MaxResults":{ - "shape":"MaxSize", - "documentation":"

The maximum number of backups to return in the response. When there are more backups than the number you specify, the response contains a NextToken value.

" - }, - "Filters":{ - "shape":"Filters", - "documentation":"

One or more filters to limit the items returned in the response.

Use the backupIds filter to return only the specified backups. Specify backups by their backup identifier (ID).

Use the clusterIds filter to return only the backups for the specified clusters. Specify clusters by their cluster identifier (ID).

Use the states filter to return only backups that match the specified state.

" - }, - "SortAscending":{"shape":"Boolean"} - } - }, - "DescribeBackupsResponse":{ - "type":"structure", - "members":{ - "Backups":{ - "shape":"Backups", - "documentation":"

A list of backups.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque string that indicates that the response contains only a subset of backups. Use this value in a subsequent DescribeBackups request to get more backups.

" - } - } - }, - "DescribeClustersRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"Filters", - "documentation":"

One or more filters to limit the items returned in the response.

Use the clusterIds filter to return only the specified clusters. Specify clusters by their cluster identifier (ID).

Use the vpcIds filter to return only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

Use the states filter to return only clusters that match the specified state.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that you received in the previous response. Use this value to get more clusters.

" - }, - "MaxResults":{ - "shape":"MaxSize", - "documentation":"

The maximum number of clusters to return in the response. When there are more clusters than the number you specify, the response contains a NextToken value.

" - } - } - }, - "DescribeClustersResponse":{ - "type":"structure", - "members":{ - "Clusters":{ - "shape":"Clusters", - "documentation":"

A list of clusters.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque string that indicates that the response contains only a subset of clusters. Use this value in a subsequent DescribeClusters request to get more clusters.

" - } - } - }, - "DestinationBackup":{ - "type":"structure", - "members":{ - "CreateTimestamp":{"shape":"Timestamp"}, - "SourceRegion":{"shape":"Region"}, - "SourceBackup":{"shape":"BackupId"}, - "SourceCluster":{"shape":"ClusterId"} - } - }, - "EniId":{ - "type":"string", - "pattern":"eni-[0-9a-fA-F]{8,17}" - }, - "ExternalAz":{ - "type":"string", - "pattern":"[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d[a-z]" - }, - "ExternalSubnetMapping":{ - "type":"map", - "key":{"shape":"ExternalAz"}, - "value":{"shape":"SubnetId"} - }, - "Field":{ - "type":"string", - "pattern":"[a-zA-Z0-9_-]+" - }, - "Filters":{ - "type":"map", - "key":{"shape":"Field"}, - "value":{"shape":"Strings"} - }, - "Hsm":{ - "type":"structure", - "required":["HsmId"], - "members":{ - "AvailabilityZone":{ - "shape":"ExternalAz", - "documentation":"

The Availability Zone that contains the HSM.

" - }, - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the cluster that contains the HSM.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The subnet that contains the HSM's elastic network interface (ENI).

" - }, - "EniId":{ - "shape":"EniId", - "documentation":"

The identifier (ID) of the HSM's elastic network interface (ENI).

" - }, - "EniIp":{ - "shape":"IpAddress", - "documentation":"

The IP address of the HSM's elastic network interface (ENI).

" - }, - "HsmId":{ - "shape":"HsmId", - "documentation":"

The HSM's identifier (ID).

" - }, - "State":{ - "shape":"HsmState", - "documentation":"

The HSM's state.

" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

A description of the HSM's state.

" - } - }, - "documentation":"

Contains information about a hardware security module (HSM) in an AWS CloudHSM cluster.

" - }, - "HsmId":{ - "type":"string", - "pattern":"hsm-[2-7a-zA-Z]{11,16}" - }, - "HsmState":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "ACTIVE", - "DEGRADED", - "DELETE_IN_PROGRESS", - "DELETED" - ] - }, - "HsmType":{ - "type":"string", - "pattern":"(hsm1\\.medium)" - }, - "Hsms":{ - "type":"list", - "member":{"shape":"Hsm"} - }, - "InitializeClusterRequest":{ - "type":"structure", - "required":[ - "ClusterId", - "SignedCert", - "TrustAnchor" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use DescribeClusters.

" - }, - "SignedCert":{ - "shape":"Cert", - "documentation":"

The cluster certificate issued (signed) by your issuing certificate authority (CA). The certificate must be in PEM format and can contain a maximum of 5000 characters.

" - }, - "TrustAnchor":{ - "shape":"Cert", - "documentation":"

The issuing certificate of the issuing certificate authority (CA) that issued (signed) the cluster certificate. This can be a root (self-signed) certificate or a certificate chain that begins with the certificate that issued the cluster certificate and ends with a root certificate. The certificate or certificate chain must be in PEM format and can contain a maximum of 5000 characters.

" - } - } - }, - "InitializeClusterResponse":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ClusterState", - "documentation":"

The cluster's state.

" - }, - "StateMessage":{ - "shape":"StateMessage", - "documentation":"

A description of the cluster's state.

" - } - } - }, - "IpAddress":{ - "type":"string", - "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" - }, - "ListTagsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "ResourceId":{ - "shape":"ClusterId", - "documentation":"

The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use DescribeClusters.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that you received in the previous response. Use this value to get more tags.

" - }, - "MaxResults":{ - "shape":"MaxSize", - "documentation":"

The maximum number of tags to return in the response. When there are more tags than the number you specify, the response contains a NextToken value.

" - } - } - }, - "ListTagsResponse":{ - "type":"structure", - "required":["TagList"], - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

A list of tags.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque string that indicates that the response contains only a subset of tags. Use this value in a subsequent ListTags request to get more tags.

" - } - } - }, - "MaxSize":{ - "type":"integer", - "max":100, - "min":1 - }, - "NextToken":{ - "type":"string", - "max":256, - "pattern":".*" - }, - "PreCoPassword":{ - "type":"string", - "max":32, - "min":7 - }, - "Region":{ - "type":"string", - "pattern":"[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d" - }, - "SecurityGroup":{ - "type":"string", - "pattern":"sg-[0-9a-fA-F]" - }, - "StateMessage":{ - "type":"string", - "max":300, - "pattern":".*" - }, - "String":{"type":"string"}, - "Strings":{ - "type":"list", - "member":{"shape":"String"} - }, - "SubnetId":{ - "type":"string", - "pattern":"subnet-[0-9a-fA-F]{8,17}" - }, - "SubnetIds":{ - "type":"list", - "member":{"shape":"SubnetId"}, - "max":10, - "min":1 - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Contains a tag. A tag is a key-value pair.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "TagList" - ], - "members":{ - "ResourceId":{ - "shape":"ClusterId", - "documentation":"

The cluster identifier (ID) for the cluster that you are tagging. To find the cluster ID, use DescribeClusters.

" - }, - "TagList":{ - "shape":"TagList", - "documentation":"

A list of one or more tags.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Timestamp":{"type":"timestamp"}, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "TagKeyList" - ], - "members":{ - "ResourceId":{ - "shape":"ClusterId", - "documentation":"

The cluster identifier (ID) for the cluster whose tags you are removing. To find the cluster ID, use DescribeClusters.

" - }, - "TagKeyList":{ - "shape":"TagKeyList", - "documentation":"

A list of one or more tag keys for the tags that you are removing. Specify only the tag keys, not the tag values.

" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "VpcId":{ - "type":"string", - "pattern":"vpc-[0-9a-fA-F]" - }, - "errorMessage":{"type":"string"} - }, - "documentation":"

For more information about AWS CloudHSM, see AWS CloudHSM and the AWS CloudHSM User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2011-02-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2011-02-01/service-2.json deleted file mode 100644 index 98364bdb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2011-02-01/service-2.json +++ /dev/null @@ -1,2096 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2011-02-01", - "endpointPrefix":"cloudsearch", - "serviceFullName":"Amazon CloudSearch", - "signatureVersion":"v4", - "xmlNamespace":"http://cloudsearch.amazonaws.com/doc/2011-02-01/", - "protocol":"query" - }, - "documentation":"Amazon CloudSearch Configuration Service

You use the configuration service to create, configure, and manage search domains. Configuration service requests are submitted using the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action.

The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

", - "operations":{ - "CreateDomain":{ - "name":"CreateDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDomainRequest"}, - "output":{ - "shape":"CreateDomainResponse", - "documentation":"

A response message that contains the status of a newly created domain.

", - "resultWrapper":"CreateDomainResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - } - ], - "documentation":"

Creates a new search domain.

" - }, - "DefineIndexField":{ - "name":"DefineIndexField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DefineIndexFieldRequest"}, - "output":{ - "shape":"DefineIndexFieldResponse", - "documentation":"

A response message that contains the status of an updated index field.

", - "resultWrapper":"DefineIndexFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures an IndexField for the search domain. Used to create new fields and modify existing ones. If the field exists, the new configuration replaces the old one. You can configure a maximum of 200 index fields.

" - }, - "DefineRankExpression":{ - "name":"DefineRankExpression", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DefineRankExpressionRequest"}, - "output":{ - "shape":"DefineRankExpressionResponse", - "documentation":"

A response message that contains the status of an updated RankExpression.

", - "resultWrapper":"DefineRankExpressionResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures a RankExpression for the search domain. Used to create new rank expressions and modify existing ones. If the expression exists, the new configuration replaces the old one. You can configure a maximum of 50 rank expressions.

" - }, - "DeleteDomain":{ - "name":"DeleteDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDomainRequest"}, - "output":{ - "shape":"DeleteDomainResponse", - "documentation":"

A response message that contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

", - "resultWrapper":"DeleteDomainResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } - ], - "documentation":"

Permanently deletes a search domain and all of its data.

" - }, - "DeleteIndexField":{ - "name":"DeleteIndexField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIndexFieldRequest"}, - "output":{ - "shape":"DeleteIndexFieldResponse", - "documentation":"

A response message that contains the status of a deleted index field.

", - "resultWrapper":"DeleteIndexFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Removes an IndexField from the search domain.

" - }, - "DeleteRankExpression":{ - "name":"DeleteRankExpression", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRankExpressionRequest"}, - "output":{ - "shape":"DeleteRankExpressionResponse", - "documentation":"

A response message that contains the status of a deleted RankExpression.

", - "resultWrapper":"DeleteRankExpressionResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Removes a RankExpression from the search domain.

" - }, - "DescribeAvailabilityOptions":{ - "name":"DescribeAvailabilityOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the DescribeAvailabilityOptions operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeAvailabilityOptionsResponse", - "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

", - "resultWrapper":"DescribeAvailabilityOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } - ], - "documentation":"

Gets the availability options configured for a domain. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeDefaultSearchField":{ - "name":"DescribeDefaultSearchField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDefaultSearchFieldRequest"}, - "output":{ - "shape":"DescribeDefaultSearchFieldResponse", - "documentation":"

A response message that contains the default search field for a search domain.

", - "resultWrapper":"DescribeDefaultSearchFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the default search field configured for the search domain.

" - }, - "DescribeDomains":{ - "name":"DescribeDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDomainsRequest"}, - "output":{ - "shape":"DescribeDomainsResponse", - "documentation":"

A response message that contains the status of one or more domains.

", - "resultWrapper":"DescribeDomainsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } - ], - "documentation":"

Gets information about the search domains owned by this account. Can be limited to specific domains. Shows all domains by default.

" - }, - "DescribeIndexFields":{ - "name":"DescribeIndexFields", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIndexFieldsRequest"}, - "output":{ - "shape":"DescribeIndexFieldsResponse", - "documentation":"

A response message that contains the index fields for a search domain.

", - "resultWrapper":"DescribeIndexFieldsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets information about the index fields configured for the search domain. Can be limited to specific fields by name. Shows all fields by default.

" - }, - "DescribeRankExpressions":{ - "name":"DescribeRankExpressions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRankExpressionsRequest"}, - "output":{ - "shape":"DescribeRankExpressionsResponse", - "documentation":"

A response message that contains the rank expressions for a search domain.

", - "resultWrapper":"DescribeRankExpressionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the rank expressions configured for the search domain. Can be limited to specific rank expressions by name. Shows all rank expressions by default.

" - }, - "DescribeServiceAccessPolicies":{ - "name":"DescribeServiceAccessPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServiceAccessPoliciesRequest"}, - "output":{ - "shape":"DescribeServiceAccessPoliciesResponse", - "documentation":"

A response message that contains the access policies for a domain.

", - "resultWrapper":"DescribeServiceAccessPoliciesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets information about the resource-based policies that control access to the domain's document and search services.

" - }, - "DescribeStemmingOptions":{ - "name":"DescribeStemmingOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStemmingOptionsRequest"}, - "output":{ - "shape":"DescribeStemmingOptionsResponse", - "documentation":"

A response message that contains the stemming options for a search domain.

", - "resultWrapper":"DescribeStemmingOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the stemming dictionary configured for the search domain.

" - }, - "DescribeStopwordOptions":{ - "name":"DescribeStopwordOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStopwordOptionsRequest"}, - "output":{ - "shape":"DescribeStopwordOptionsResponse", - "documentation":"

A response message that contains the stopword options for a search domain.

", - "resultWrapper":"DescribeStopwordOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the stopwords configured for the search domain.

" - }, - "DescribeSynonymOptions":{ - "name":"DescribeSynonymOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSynonymOptionsRequest"}, - "output":{ - "shape":"DescribeSynonymOptionsResponse", - "documentation":"

A response message that contains the synonym options for a search domain.

", - "resultWrapper":"DescribeSynonymOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the synonym dictionary configured for the search domain.

" - }, - "IndexDocuments":{ - "name":"IndexDocuments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IndexDocumentsRequest"}, - "output":{ - "shape":"IndexDocumentsResponse", - "documentation":"

The result of an IndexDocuments action.

", - "resultWrapper":"IndexDocumentsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Tells the search domain to start indexing its documents using the latest text processing options and IndexFields. This operation must be invoked to make options whose OptionStatus has OptionState of RequiresIndexDocuments visible in search results.

" - }, - "UpdateAvailabilityOptions":{ - "name":"UpdateAvailabilityOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"UpdateAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the UpdateAvailabilityOptions operation. Specifies the name of the domain you want to update and the Multi-AZ availability option.

" - }, - "output":{ - "shape":"UpdateAvailabilityOptionsResponse", - "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

", - "resultWrapper":"UpdateAvailabilityOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } - ], - "documentation":"

Configures the availability options for a domain. Enabling the Multi-AZ option expands an Amazon CloudSearch domain to an additional Availability Zone in the same Region to increase fault tolerance in the event of a service disruption. Changes to the Multi-AZ option can take about half an hour to become active. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" - }, - "UpdateDefaultSearchField":{ - "name":"UpdateDefaultSearchField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDefaultSearchFieldRequest"}, - "output":{ - "shape":"UpdateDefaultSearchFieldResponse", - "documentation":"

A response message that contains the status of an updated default search field.

", - "resultWrapper":"UpdateDefaultSearchFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures the default search field for the search domain. The default search field is the text field that is searched when a search request does not specify which fields to search. By default, it is configured to include the contents of all of the domain's text fields.

" - }, - "UpdateServiceAccessPolicies":{ - "name":"UpdateServiceAccessPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServiceAccessPoliciesRequest"}, - "output":{ - "shape":"UpdateServiceAccessPoliciesResponse", - "documentation":"

A response message that contains the status of updated access policies.

", - "resultWrapper":"UpdateServiceAccessPoliciesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - } - ], - "documentation":"

Configures the policies that control access to the domain's document and search services. The maximum size of an access policy document is 100 KB.

" - }, - "UpdateStemmingOptions":{ - "name":"UpdateStemmingOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStemmingOptionsRequest"}, - "output":{ - "shape":"UpdateStemmingOptionsResponse", - "documentation":"

A response message that contains the status of updated stemming options.

", - "resultWrapper":"UpdateStemmingOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures a stemming dictionary for the search domain. The stemming dictionary is used during indexing and when processing search requests. The maximum size of the stemming dictionary is 500 KB.

" - }, - "UpdateStopwordOptions":{ - "name":"UpdateStopwordOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStopwordOptionsRequest"}, - "output":{ - "shape":"UpdateStopwordOptionsResponse", - "documentation":"

A response message that contains the status of updated stopword options.

", - "resultWrapper":"UpdateStopwordOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures stopwords for the search domain. Stopwords are used during indexing and when processing search requests. The maximum size of the stopwords dictionary is 10 KB.

" - }, - "UpdateSynonymOptions":{ - "name":"UpdateSynonymOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSynonymOptionsRequest"}, - "output":{ - "shape":"UpdateSynonymOptionsResponse", - "documentation":"

A response message that contains the status of updated synonym options.

", - "resultWrapper":"UpdateSynonymOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures a synonym dictionary for the search domain. The synonym dictionary is used during indexing to configure mappings for terms that occur in text fields. The maximum size of the synonym dictionary is 100 KB.

" - } - }, - "shapes":{ - "AccessPoliciesStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"PolicyDocument"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

A PolicyDocument that specifies access policies for the search domain's services, and the current status of those policies.

" - }, - "Arn":{ - "type":"string", - "documentation":"

An Amazon Resource Name (ARN). See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

" - }, - "AvailabilityOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"MultiAZ", - "documentation":"

The availability options configured for the domain.

" - }, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The status and configuration of the domain's availability options.

" - }, - "BaseException":{ - "type":"structure", - "members":{ - "Code":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - "Boolean":{"type":"boolean"}, - "CreateDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "CreateDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{"shape":"DomainStatus"} - }, - "documentation":"

A response message that contains the status of a newly created domain.

" - }, - "DefaultSearchFieldStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"FieldName", - "documentation":"

The name of the IndexField to use as the default search field. The default is an empty string, which automatically searches all text fields.

" - }, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of the DefaultSearchField configured for this search domain and its current status.

" - }, - "DefineIndexFieldRequest":{ - "type":"structure", - "required":[ - "DomainName", - "IndexField" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "IndexField":{"shape":"IndexField"} - } - }, - "DefineIndexFieldResponse":{ - "type":"structure", - "required":["IndexField"], - "members":{ - "IndexField":{"shape":"IndexFieldStatus"} - }, - "documentation":"

A response message that contains the status of an updated index field.

" - }, - "DefineRankExpressionRequest":{ - "type":"structure", - "required":[ - "DomainName", - "RankExpression" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "RankExpression":{"shape":"NamedRankExpression"} - } - }, - "DefineRankExpressionResponse":{ - "type":"structure", - "required":["RankExpression"], - "members":{ - "RankExpression":{"shape":"RankExpressionStatus"} - }, - "documentation":"

A response message that contains the status of an updated RankExpression.

" - }, - "DeleteDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DeleteDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{"shape":"DomainStatus"} - }, - "documentation":"

A response message that contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

" - }, - "DeleteIndexFieldRequest":{ - "type":"structure", - "required":[ - "DomainName", - "IndexFieldName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "IndexFieldName":{"shape":"FieldName"} - } - }, - "DeleteIndexFieldResponse":{ - "type":"structure", - "required":["IndexField"], - "members":{ - "IndexField":{"shape":"IndexFieldStatus"} - }, - "documentation":"

A response message that contains the status of a deleted index field.

" - }, - "DeleteRankExpressionRequest":{ - "type":"structure", - "required":[ - "DomainName", - "RankName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "RankName":{ - "shape":"FieldName", - "documentation":"

The name of the RankExpression to delete.

" - } - } - }, - "DeleteRankExpressionResponse":{ - "type":"structure", - "required":["RankExpression"], - "members":{ - "RankExpression":{"shape":"RankExpressionStatus"} - }, - "documentation":"

A response message that contains the status of a deleted RankExpression.

" - }, - "DescribeAvailabilityOptionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - } - }, - "documentation":"

Container for the parameters to the DescribeAvailabilityOptions operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeAvailabilityOptionsResponse":{ - "type":"structure", - "members":{ - "AvailabilityOptions":{ - "shape":"AvailabilityOptionsStatus", - "documentation":"

The availability options configured for the domain. Indicates whether Multi-AZ is enabled for the domain.

" - } - }, - "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

" - }, - "DescribeDefaultSearchFieldRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DescribeDefaultSearchFieldResponse":{ - "type":"structure", - "required":["DefaultSearchField"], - "members":{ - "DefaultSearchField":{ - "shape":"DefaultSearchFieldStatus", - "documentation":"

The name of the IndexField to use for search requests issued with the q parameter. The default is the empty string, which automatically searches all text fields.

" - } - }, - "documentation":"

A response message that contains the default search field for a search domain.

" - }, - "DescribeDomainsRequest":{ - "type":"structure", - "members":{ - "DomainNames":{ - "shape":"DomainNameList", - "documentation":"

Limits the DescribeDomains response to the specified search domains.

" - } - } - }, - "DescribeDomainsResponse":{ - "type":"structure", - "required":["DomainStatusList"], - "members":{ - "DomainStatusList":{"shape":"DomainStatusList"} - }, - "documentation":"

A response message that contains the status of one or more domains.

" - }, - "DescribeIndexFieldsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"}, - "FieldNames":{ - "shape":"FieldNameList", - "documentation":"

Limits the DescribeIndexFields response to the specified fields.

" - } - } - }, - "DescribeIndexFieldsResponse":{ - "type":"structure", - "required":["IndexFields"], - "members":{ - "IndexFields":{ - "shape":"IndexFieldStatusList", - "documentation":"

The index fields configured for the domain.

" - } - }, - "documentation":"

A response message that contains the index fields for a search domain.

" - }, - "DescribeRankExpressionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"}, - "RankNames":{ - "shape":"FieldNameList", - "documentation":"

Limits the DescribeRankExpressions response to the specified fields.

" - } - } - }, - "DescribeRankExpressionsResponse":{ - "type":"structure", - "required":["RankExpressions"], - "members":{ - "RankExpressions":{ - "shape":"RankExpressionStatusList", - "documentation":"

The rank expressions configured for the domain.

" - } - }, - "documentation":"

A response message that contains the rank expressions for a search domain.

" - }, - "DescribeServiceAccessPoliciesRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DescribeServiceAccessPoliciesResponse":{ - "type":"structure", - "required":["AccessPolicies"], - "members":{ - "AccessPolicies":{"shape":"AccessPoliciesStatus"} - }, - "documentation":"

A response message that contains the access policies for a domain.

" - }, - "DescribeStemmingOptionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DescribeStemmingOptionsResponse":{ - "type":"structure", - "required":["Stems"], - "members":{ - "Stems":{"shape":"StemmingOptionsStatus"} - }, - "documentation":"

A response message that contains the stemming options for a search domain.

" - }, - "DescribeStopwordOptionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DescribeStopwordOptionsResponse":{ - "type":"structure", - "required":["Stopwords"], - "members":{ - "Stopwords":{"shape":"StopwordOptionsStatus"} - }, - "documentation":"

A response message that contains the stopword options for a search domain.

" - }, - "DescribeSynonymOptionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "DescribeSynonymOptionsResponse":{ - "type":"structure", - "required":["Synonyms"], - "members":{ - "Synonyms":{"shape":"SynonymOptionsStatus"} - }, - "documentation":"

A response message that contains the synonym options for a search domain.

" - }, - "DisabledOperationException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - }, - "DocumentCount":{ - "type":"long", - "min":0 - }, - "DomainId":{ - "type":"string", - "min":1, - "max":64, - "documentation":"

An internally generated unique identifier for a domain.

" - }, - "DomainName":{ - "type":"string", - "min":3, - "max":28, - "pattern":"[a-z][a-z0-9\\-]+", - "documentation":"

A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed.

" - }, - "DomainNameList":{ - "type":"list", - "member":{"shape":"DomainName"}, - "documentation":"

A list of domain names.

" - }, - "DomainStatus":{ - "type":"structure", - "required":[ - "DomainId", - "DomainName", - "RequiresIndexDocuments" - ], - "members":{ - "DomainId":{"shape":"DomainId"}, - "DomainName":{"shape":"DomainName"}, - "Created":{ - "shape":"Boolean", - "documentation":"

True if the search domain is created. It can take several minutes to initialize a domain when CreateDomain is called. Newly created search domains are returned from DescribeDomains with a false value for Created until domain creation is complete.

" - }, - "Deleted":{ - "shape":"Boolean", - "documentation":"

True if the search domain has been deleted. The system must clean up resources dedicated to the search domain when DeleteDomain is called. Newly deleted search domains are returned from DescribeDomains with a true value for IsDeleted for several minutes until resource cleanup is complete.

" - }, - "NumSearchableDocs":{ - "shape":"DocumentCount", - "documentation":"

The number of documents that have been submitted to the domain and indexed.

" - }, - "DocService":{ - "shape":"ServiceEndpoint", - "documentation":"

The service endpoint for updating documents in a search domain.

" - }, - "SearchService":{ - "shape":"ServiceEndpoint", - "documentation":"

The service endpoint for requesting search results from a search domain.

" - }, - "RequiresIndexDocuments":{ - "shape":"Boolean", - "documentation":"

True if IndexDocuments needs to be called to activate the current domain configuration.

" - }, - "Processing":{ - "shape":"Boolean", - "documentation":"

True if processing is being done to activate the current domain configuration.

" - }, - "SearchInstanceType":{ - "shape":"SearchInstanceType", - "documentation":"

The instance type (such as search.m1.small) that is being used to process search requests.

" - }, - "SearchPartitionCount":{ - "shape":"PartitionCount", - "documentation":"

The number of partitions across which the search index is spread.

" - }, - "SearchInstanceCount":{ - "shape":"InstanceCount", - "documentation":"

The number of search instances that are available to process search requests.

" - } - }, - "documentation":"

The current status of the search domain.

" - }, - "DomainStatusList":{ - "type":"list", - "member":{"shape":"DomainStatus"}, - "documentation":"

The current status of all of your search domains.

" - }, - "ErrorCode":{ - "type":"string", - "documentation":"

A machine-parsable string error or warning code.

" - }, - "ErrorMessage":{ - "type":"string", - "documentation":"

A human-readable string error or warning message.

" - }, - "FieldName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-z][a-z0-9_]*", - "documentation":"

A string that represents the name of an index field. Field names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names \"body\", \"docid\", and \"text_relevance\" are reserved and cannot be specified as field or rank expression names.

" - }, - "FieldNameList":{ - "type":"list", - "member":{"shape":"FieldName"} - }, - "FieldValue":{ - "type":"string", - "min":0, - "max":1024, - "documentation":"

The value of a field or source document attribute.

" - }, - "IndexDocumentsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - } - }, - "IndexDocumentsResponse":{ - "type":"structure", - "members":{ - "FieldNames":{ - "shape":"FieldNameList", - "documentation":"

The names of the fields that are currently being processed due to an IndexDocuments action.

" - } - }, - "documentation":"

The result of an IndexDocuments action.

" - }, - "IndexField":{ - "type":"structure", - "required":[ - "IndexFieldName", - "IndexFieldType" - ], - "members":{ - "IndexFieldName":{ - "shape":"FieldName", - "documentation":"

The name of a field in the search index. Field names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names \"body\", \"docid\", and \"text_relevance\" are reserved and cannot be specified as field or rank expression names.

" - }, - "IndexFieldType":{ - "shape":"IndexFieldType", - "documentation":"

The type of field. Based on this type, exactly one of the UIntOptions, LiteralOptions or TextOptions must be present.

" - }, - "UIntOptions":{ - "shape":"UIntOptions", - "documentation":"

Options for an unsigned integer field. Present if IndexFieldType specifies the field is of type unsigned integer.

" - }, - "LiteralOptions":{ - "shape":"LiteralOptions", - "documentation":"

Options for literal field. Present if IndexFieldType specifies the field is of type literal.

" - }, - "TextOptions":{ - "shape":"TextOptions", - "documentation":"

Options for text field. Present if IndexFieldType specifies the field is of type text.

" - }, - "SourceAttributes":{ - "shape":"SourceAttributeList", - "documentation":"

An optional list of source attributes that provide data for this index field. If not specified, the data is pulled from a source attribute with the same name as this IndexField. When one or more source attributes are specified, an optional data transformation can be applied to the source data when populating the index field. You can configure a maximum of 20 sources for an IndexField.

" - } - }, - "documentation":"

Defines a field in the index, including its name, type, and the source of its data. The IndexFieldType indicates which of the options will be present. It is invalid to specify options for a type other than the IndexFieldType.

" - }, - "IndexFieldStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"IndexField"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of an IndexField and its current status.

" - }, - "IndexFieldStatusList":{ - "type":"list", - "member":{"shape":"IndexFieldStatus"} - }, - "IndexFieldType":{ - "type":"string", - "enum":[ - "uint", - "literal", - "text" - ], - "documentation":"

The type of IndexField.

" - }, - "InstanceCount":{ - "type":"integer", - "min":1 - }, - "InternalException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - "InvalidTypeException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - "Language":{ - "type":"string", - "pattern":"[a-zA-Z]{2,8}(?:-[a-zA-Z]{2,8})*", - "documentation":"

An IETF RFC 4646 language code. Only the primary language is considered. English (en) is currently the only supported language.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - "LiteralOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"

The default value for a literal field. Optional.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether search is enabled for this field. Default: False.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether facets are enabled for this field. Default: False.

" - }, - "ResultEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether values of this field can be returned in search results and used for ranking. Default: False.

" - } - }, - "documentation":"

Options that define a literal field in the search index.

" - }, - "MultiAZ":{"type":"boolean"}, - "NamedRankExpression":{ - "type":"structure", - "required":[ - "RankName", - "RankExpression" - ], - "members":{ - "RankName":{ - "shape":"FieldName", - "documentation":"

The name of a rank expression. Rank expression names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names \"body\", \"docid\", and \"text_relevance\" are reserved and cannot be specified as field or rank expression names.

" - }, - "RankExpression":{ - "shape":"RankExpression", - "documentation":"

The expression to evaluate for ranking or thresholding while processing a search request. The RankExpression syntax is based on JavaScript expressions and supports:

  • Integer, floating point, hex and octal literals
  • Shortcut evaluation of logical operators such that an expression a || b evaluates to the value a, if a is true, without evaluating b at all
  • JavaScript order of precedence for operators
  • Arithmetic operators: + - * / %
  • Boolean operators (including the ternary operator)
  • Bitwise operators
  • Comparison operators
  • Common mathematic functions: abs ceil erf exp floor lgamma ln log2 log10 max min sqrt pow
  • Trigonometric library functions: acosh acos asinh asin atanh atan cosh cos sinh sin tanh tan
  • Random generation of a number between 0 and 1: rand
  • Current time in epoch: time
  • The min max functions that operate on a variable argument list

Intermediate results are calculated as double precision floating point values. The final return value of a RankExpression is automatically converted from floating point to a 32-bit unsigned integer by rounding to the nearest integer, with a natural floor of 0 and a ceiling of max(uint32_t), 4294967295. Mathematical errors such as dividing by 0 will fail during evaluation and return a value of 0.

The source data for a RankExpression can be the name of an IndexField of type uint, another RankExpression or the reserved name text_relevance. The text_relevance source is defined to return an integer from 0 to 1000 (inclusive) to indicate how relevant a document is to the search request, taking into account repetition of search terms in the document and proximity of search terms to each other in each matching IndexField in the document.

For more information about using rank expressions to customize ranking, see the Amazon CloudSearch Developer Guide.

" - } - }, - "documentation":"

A named expression that can be evaluated at search time and used for ranking or thresholding in a search query.

" - }, - "OptionState":{ - "type":"string", - "enum":[ - "RequiresIndexDocuments", - "Processing", - "Active" - ], - "documentation":"

The state of processing a change to an option.

" - }, - "OptionStatus":{ - "type":"structure", - "required":[ - "CreationDate", - "UpdateDate", - "State" - ], - "members":{ - "CreationDate":{ - "shape":"UpdateTimestamp", - "documentation":"

A timestamp for when this option was created.

" - }, - "UpdateDate":{ - "shape":"UpdateTimestamp", - "documentation":"

A timestamp for when this option was last updated.

" - }, - "UpdateVersion":{ - "shape":"UIntValue", - "documentation":"

A unique integer that indicates when this option was last updated.

" - }, - "State":{ - "shape":"OptionState", - "documentation":"

The state of processing a change to an option. Possible values:

  • RequiresIndexDocuments: the option's latest value will not be visible in searches until IndexDocuments has been called and indexing is complete.
  • Processing: the option's latest value is not yet visible in all searches but is in the process of being activated.
  • Active: the option's latest value is completely visible. Any warnings or messages generated during processing are provided in Diagnostics.
" - }, - "PendingDeletion":{ - "shape":"Boolean", - "documentation":"

Indicates that the option will be deleted once processing is complete.

" - } - }, - "documentation":"

The status of an option, including when it was last updated and whether it is actively in use for searches.

" - }, - "PartitionCount":{ - "type":"integer", - "min":1 - }, - "PolicyDocument":{ - "type":"string", - "documentation":"

An IAM access policy as described in The Access Policy Language in Using AWS Identity and Access Management. The maximum size of an access policy document is 100 KB.

Example: {\"Statement\": [{\"Effect\":\"Allow\", \"Action\": \"*\", \"Resource\": \"arn:aws:cs:us-east-1:1234567890:search/movies\", \"Condition\": { \"IpAddress\": { \"aws:SourceIp\": [\"203.0.113.1/32\"] } }}, {\"Effect\":\"Allow\", \"Action\": \"*\", \"Resource\": \"arn:aws:cs:us-east-1:1234567890:documents/movies\", \"Condition\": { \"IpAddress\": { \"aws:SourceIp\": [\"203.0.113.1/32\"] } }} ] }

" - }, - "RankExpression":{ - "type":"string", - "min":1, - "max":10240, - "documentation":"

The current status of the rank expression.

" - }, - "RankExpressionStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"NamedRankExpression", - "documentation":"

The expression that is evaluated for ranking or thresholding while processing a search request.

" - }, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of a RankExpression and its current status.

" - }, - "RankExpressionStatusList":{ - "type":"list", - "member":{"shape":"RankExpressionStatus"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - "SearchInstanceType":{"type":"string"}, - "ServiceEndpoint":{ - "type":"structure", - "members":{ - "Arn":{"shape":"Arn"}, - "Endpoint":{"shape":"ServiceUrl"} - }, - "documentation":"

The endpoint to which service requests can be submitted, including the actual URL prefix for sending requests and the Amazon Resource Name (ARN) so the endpoint can be referenced in other API calls such as UpdateServiceAccessPolicies.

" - }, - "ServiceUrl":{ - "type":"string", - "documentation":"

The URL (including /version/pathPrefix) to which service requests can be submitted.

" - }, - "SourceAttribute":{ - "type":"structure", - "required":["SourceDataFunction"], - "members":{ - "SourceDataFunction":{ - "shape":"SourceDataFunction", - "documentation":"

Identifies the transformation to apply when copying data from a source attribute.

" - }, - "SourceDataCopy":{ - "shape":"SourceData", - "documentation":"

Copies data from a source document attribute to an IndexField.

" - }, - "SourceDataTrimTitle":{ - "shape":"SourceDataTrimTitle", - "documentation":"

Trims common title words from a source document attribute when populating an IndexField. This can be used to create an IndexField you can use for sorting.

" - }, - "SourceDataMap":{ - "shape":"SourceDataMap", - "documentation":"

Maps source document attribute values to new values when populating the IndexField.

" - } - }, - "documentation":"

Identifies the source data for an index field. An optional data transformation can be applied to the source data when populating the index field. By default, the value of the source attribute is copied to the index field.

" - }, - "SourceAttributeList":{ - "type":"list", - "member":{"shape":"SourceAttribute"} - }, - "SourceData":{ - "type":"structure", - "required":["SourceName"], - "members":{ - "SourceName":{ - "shape":"FieldName", - "documentation":"

The name of the document source field to add to this IndexField.

" - }, - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"

The default value to use if the source attribute is not specified in a document. Optional.

" - } - }, - "documentation":"

The source attribute name and an optional default value to use if a document doesn't have an attribute of that name.

" - }, - "SourceDataFunction":{ - "type":"string", - "enum":[ - "Copy", - "TrimTitle", - "Map" - ] - }, - "SourceDataMap":{ - "type":"structure", - "required":["SourceName"], - "members":{ - "SourceName":{ - "shape":"FieldName", - "documentation":"

The name of the document source field to add to this IndexField.

" - }, - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"

The default value to use if the source attribute is not specified in a document. Optional.

" - }, - "Cases":{ - "shape":"StringCaseMap", - "documentation":"

A map that translates source field values to custom values.

" - } - }, - "documentation":"

Specifies how to map source attribute values to custom values when populating an IndexField.

" - }, - "SourceDataTrimTitle":{ - "type":"structure", - "required":["SourceName"], - "members":{ - "SourceName":{ - "shape":"FieldName", - "documentation":"

The name of the document source field to add to this IndexField.

" - }, - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"

The default value to use if the source attribute is not specified in a document. Optional.

" - }, - "Separator":{ - "shape":"String", - "documentation":"

The separator that follows the text to trim.

" - }, - "Language":{"shape":"Language"} - }, - "documentation":"

Specifies how to trim common words from the beginning of a field to enable title sorting by that field.

" - }, - "StemmingOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"StemsDocument"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The stemming options configured for this search domain and the current status of those options.

" - }, - "StemsDocument":{ - "type":"string", - "documentation":"

Maps terms to their stems, serialized as a JSON document. The document has a single object with one property \"stems\" whose value is an object mapping terms to their stems. The maximum size of a stemming document is 500 KB. Example: { \"stems\": {\"people\": \"person\", \"walking\": \"walk\"} }

" - }, - "StopwordOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"StopwordsDocument"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The stopword options configured for this search domain and the current status of those options.

" - }, - "StopwordsDocument":{ - "type":"string", - "documentation":"

Lists stopwords serialized as a JSON document. The document has a single object with one property \"stopwords\" whose value is an array of strings. The maximum size of a stopwords document is 10 KB. Example: { \"stopwords\": [\"a\", \"an\", \"the\", \"of\"] }

" - }, - "String":{"type":"string"}, - "StringCaseMap":{ - "type":"map", - "key":{"shape":"FieldValue"}, - "value":{"shape":"FieldValue"} - }, - "SynonymOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"SynonymsDocument"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The synonym options configured for this search domain and the current status of those options.

" - }, - "SynonymsDocument":{ - "type":"string", - "documentation":"

Maps terms to their synonyms, serialized as a JSON document. The document has a single object with one property \"synonyms\" whose value is an object mapping terms to their synonyms. Each synonym is a simple string or an array of strings. The maximum size of a stopwords document is 100 KB. Example: { \"synonyms\": {\"cat\": [\"feline\", \"kitten\"], \"puppy\": \"dog\"} }

" - }, - "TextOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"

The default value for a text field. Optional.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether facets are enabled for this field. Default: False.

" - }, - "ResultEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether values of this field can be returned in search results and used for ranking. Default: False.

" - }, - "TextProcessor":{ - "shape":"FieldName", - "documentation":"

The text processor to apply to this field. Optional. Possible values:

  • cs_text_no_stemming: turns off stemming for the field.

Default: none

" - } - }, - "documentation":"

Options that define a text field in the search index.

" - }, - "UIntOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"UIntValue", - "documentation":"

The default value for an unsigned integer field. Optional.

" - } - }, - "documentation":"

Options that define a uint field in the search index.

" - }, - "UIntValue":{ - "type":"integer", - "min":0 - }, - "UpdateAvailabilityOptionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "MultiAZ" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to false.

" - } - }, - "documentation":"

Container for the parameters to the UpdateAvailabilityOptions operation. Specifies the name of the domain you want to update and the Multi-AZ availability option.

" - }, - "UpdateAvailabilityOptionsResponse":{ - "type":"structure", - "members":{ - "AvailabilityOptions":{ - "shape":"AvailabilityOptionsStatus", - "documentation":"

The newly-configured availability options. Indicates whether Multi-AZ is enabled for the domain.

" - } - }, - "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

" - }, - "UpdateDefaultSearchFieldRequest":{ - "type":"structure", - "required":[ - "DomainName", - "DefaultSearchField" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "DefaultSearchField":{ - "shape":"String", - "documentation":"

The text field to search if the search request does not specify which field to search. The default search field is used when search terms are specified with the q parameter, or if a match expression specified with the bq parameter does not constrain the search to a particular field. The default is an empty string, which automatically searches all text fields.

" - } - } - }, - "UpdateDefaultSearchFieldResponse":{ - "type":"structure", - "required":["DefaultSearchField"], - "members":{ - "DefaultSearchField":{"shape":"DefaultSearchFieldStatus"} - }, - "documentation":"

A response message that contains the status of an updated default search field.

" - }, - "UpdateServiceAccessPoliciesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "AccessPolicies" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "AccessPolicies":{"shape":"PolicyDocument"} - } - }, - "UpdateServiceAccessPoliciesResponse":{ - "type":"structure", - "required":["AccessPolicies"], - "members":{ - "AccessPolicies":{"shape":"AccessPoliciesStatus"} - }, - "documentation":"

A response message that contains the status of updated access policies.

" - }, - "UpdateStemmingOptionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Stems" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "Stems":{"shape":"StemsDocument"} - } - }, - "UpdateStemmingOptionsResponse":{ - "type":"structure", - "required":["Stems"], - "members":{ - "Stems":{"shape":"StemmingOptionsStatus"} - }, - "documentation":"

A response message that contains the status of updated stemming options.

" - }, - "UpdateStopwordOptionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Stopwords" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "Stopwords":{"shape":"StopwordsDocument"} - } - }, - "UpdateStopwordOptionsResponse":{ - "type":"structure", - "required":["Stopwords"], - "members":{ - "Stopwords":{"shape":"StopwordOptionsStatus"} - }, - "documentation":"

A response message that contains the status of updated stopword options.

" - }, - "UpdateSynonymOptionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Synonyms" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "Synonyms":{"shape":"SynonymsDocument"} - } - }, - "UpdateSynonymOptionsResponse":{ - "type":"structure", - "required":["Synonyms"], - "members":{ - "Synonyms":{"shape":"SynonymOptionsStatus"} - }, - "documentation":"

A response message that contains the status of updated synonym options.

" - }, - "UpdateTimestamp":{"type":"timestamp"} - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/service-2.json deleted file mode 100644 index 6c232754..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearch/2013-01-01/service-2.json +++ /dev/null @@ -1,2707 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-01-01", - "endpointPrefix":"cloudsearch", - "serviceFullName":"Amazon CloudSearch", - "serviceId":"CloudSearch", - "signatureVersion":"v4", - "xmlNamespace":"http://cloudsearch.amazonaws.com/doc/2013-01-01/", - "protocol":"query", - "uid":"cloudsearch-2013-01-01" - }, - "documentation":"Amazon CloudSearch Configuration Service

You use the Amazon CloudSearch configuration service to create, configure, and manage search domains. Configuration service requests are submitted using the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action.

The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

", - "operations":{ - "BuildSuggesters":{ - "name":"BuildSuggesters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"BuildSuggestersRequest", - "documentation":"

Container for the parameters to the BuildSuggester operation. Specifies the name of the domain you want to update.

" - }, - "output":{ - "shape":"BuildSuggestersResponse", - "documentation":"

The result of a BuildSuggester request. Contains a list of the fields used for suggestions.

", - "resultWrapper":"BuildSuggestersResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Indexes the search suggestions. For more information, see Configuring Suggesters in the Amazon CloudSearch Developer Guide.

" - }, - "CreateDomain":{ - "name":"CreateDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDomainRequest", - "documentation":"

Container for the parameters to the CreateDomain operation. Specifies a name for the new search domain.

" - }, - "output":{ - "shape":"CreateDomainResponse", - "documentation":"

The result of a CreateDomainRequest. Contains the status of a newly created domain.

", - "resultWrapper":"CreateDomainResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - } - ], - "documentation":"

Creates a new search domain. For more information, see Creating a Search Domain in the Amazon CloudSearch Developer Guide.

" - }, - "DefineAnalysisScheme":{ - "name":"DefineAnalysisScheme", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DefineAnalysisSchemeRequest", - "documentation":"

Container for the parameters to the DefineAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme configuration.

" - }, - "output":{ - "shape":"DefineAnalysisSchemeResponse", - "documentation":"

The result of a DefineAnalysisScheme request. Contains the status of the newly-configured analysis scheme.

", - "resultWrapper":"DefineAnalysisSchemeResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures an analysis scheme that can be applied to a text or text-array field to define language-specific text processing options. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" - }, - "DefineExpression":{ - "name":"DefineExpression", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DefineExpressionRequest", - "documentation":"

Container for the parameters to the DefineExpression operation. Specifies the name of the domain you want to update and the expression you want to configure.

" - }, - "output":{ - "shape":"DefineExpressionResponse", - "documentation":"

The result of a DefineExpression request. Contains the status of the newly-configured expression.

", - "resultWrapper":"DefineExpressionResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures an Expression for the search domain. Used to create new expressions and modify existing ones. If the expression exists, the new configuration replaces the old one. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" - }, - "DefineIndexField":{ - "name":"DefineIndexField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DefineIndexFieldRequest", - "documentation":"

Container for the parameters to the DefineIndexField operation. Specifies the name of the domain you want to update and the index field configuration.

" - }, - "output":{ - "shape":"DefineIndexFieldResponse", - "documentation":"

The result of a DefineIndexField request. Contains the status of the newly-configured index field.

", - "resultWrapper":"DefineIndexFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures an IndexField for the search domain. Used to create new fields and modify existing ones. You must specify the name of the domain you are configuring and an index field configuration. The index field configuration specifies a unique name, the index field type, and the options you want to configure for the field. The options you can specify depend on the IndexFieldType. If the field exists, the new configuration replaces the old one. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" - }, - "DefineSuggester":{ - "name":"DefineSuggester", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DefineSuggesterRequest", - "documentation":"

Container for the parameters to the DefineSuggester operation. Specifies the name of the domain you want to update and the suggester configuration.

" - }, - "output":{ - "shape":"DefineSuggesterResponse", - "documentation":"

The result of a DefineSuggester request. Contains the status of the newly-configured suggester.

", - "resultWrapper":"DefineSuggesterResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Configures a suggester for a domain. A suggester enables you to display possible matches before users finish typing their queries. When you configure a suggester, you must specify the name of the text field you want to search for possible matches and a unique name for the suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" - }, - "DeleteAnalysisScheme":{ - "name":"DeleteAnalysisScheme", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteAnalysisSchemeRequest", - "documentation":"

Container for the parameters to the DeleteAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme you want to delete.

" - }, - "output":{ - "shape":"DeleteAnalysisSchemeResponse", - "documentation":"

The result of a DeleteAnalysisScheme request. Contains the status of the deleted analysis scheme.

", - "resultWrapper":"DeleteAnalysisSchemeResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Deletes an analysis scheme. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" - }, - "DeleteDomain":{ - "name":"DeleteDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDomainRequest", - "documentation":"

Container for the parameters to the DeleteDomain operation. Specifies the name of the domain you want to delete.

" - }, - "output":{ - "shape":"DeleteDomainResponse", - "documentation":"

The result of a DeleteDomain request. Contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

", - "resultWrapper":"DeleteDomainResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } - ], - "documentation":"

Permanently deletes a search domain and all of its data. Once a domain has been deleted, it cannot be recovered. For more information, see Deleting a Search Domain in the Amazon CloudSearch Developer Guide.

" - }, - "DeleteExpression":{ - "name":"DeleteExpression", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteExpressionRequest", - "documentation":"

Container for the parameters to the DeleteExpression operation. Specifies the name of the domain you want to update and the name of the expression you want to delete.

" - }, - "output":{ - "shape":"DeleteExpressionResponse", - "documentation":"

The result of a DeleteExpression request. Specifies the expression being deleted.

", - "resultWrapper":"DeleteExpressionResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Removes an Expression from the search domain. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" - }, - "DeleteIndexField":{ - "name":"DeleteIndexField", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteIndexFieldRequest", - "documentation":"

Container for the parameters to the DeleteIndexField operation. Specifies the name of the domain you want to update and the name of the index field you want to delete.

" - }, - "output":{ - "shape":"DeleteIndexFieldResponse", - "documentation":"

The result of a DeleteIndexField request.

", - "resultWrapper":"DeleteIndexFieldResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Removes an IndexField from the search domain. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" - }, - "DeleteSuggester":{ - "name":"DeleteSuggester", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteSuggesterRequest", - "documentation":"

Container for the parameters to the DeleteSuggester operation. Specifies the name of the domain you want to update and name of the suggester you want to delete.

" - }, - "output":{ - "shape":"DeleteSuggesterResponse", - "documentation":"

The result of a DeleteSuggester request. Contains the status of the deleted suggester.

", - "resultWrapper":"DeleteSuggesterResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Deletes a suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeAnalysisSchemes":{ - "name":"DescribeAnalysisSchemes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeAnalysisSchemesRequest", - "documentation":"

Container for the parameters to the DescribeAnalysisSchemes operation. Specifies the name of the domain you want to describe. To limit the response to particular analysis schemes, specify the names of the analysis schemes you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeAnalysisSchemesResponse", - "documentation":"

The result of a DescribeAnalysisSchemes request. Contains the analysis schemes configured for the domain specified in the request.

", - "resultWrapper":"DescribeAnalysisSchemesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the analysis schemes configured for a domain. An analysis scheme defines language-specific text processing options for a text field. Can be limited to specific analysis schemes by name. By default, shows all analysis schemes and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeAvailabilityOptions":{ - "name":"DescribeAvailabilityOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the DescribeAvailabilityOptions operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeAvailabilityOptionsResponse", - "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

", - "resultWrapper":"DescribeAvailabilityOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } - ], - "documentation":"

Gets the availability options configured for a domain. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeDomains":{ - "name":"DescribeDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDomainsRequest", - "documentation":"

Container for the parameters to the DescribeDomains operation. By default shows the status of all domains. To restrict the response to particular domains, specify the names of the domains you want to describe.

" - }, - "output":{ - "shape":"DescribeDomainsResponse", - "documentation":"

The result of a DescribeDomains request. Contains the status of the domains specified in the request or all domains owned by the account.

", - "resultWrapper":"DescribeDomainsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } - ], - "documentation":"

Gets information about the search domains owned by this account. Can be limited to specific domains. Shows all domains by default. To get the number of searchable documents in a domain, use the console or submit a matchall request to your domain's search endpoint: q=matchall&amp;q.parser=structured&amp;size=0. For more information, see Getting Information about a Search Domain in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeExpressions":{ - "name":"DescribeExpressions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeExpressionsRequest", - "documentation":"

Container for the parameters to the DescribeDomains operation. Specifies the name of the domain you want to describe. To restrict the response to particular expressions, specify the names of the expressions you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeExpressionsResponse", - "documentation":"

The result of a DescribeExpressions request. Contains the expressions configured for the domain specified in the request.

", - "resultWrapper":"DescribeExpressionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the expressions configured for the search domain. Can be limited to specific expressions by name. By default, shows all expressions and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeIndexFields":{ - "name":"DescribeIndexFields", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeIndexFieldsRequest", - "documentation":"

Container for the parameters to the DescribeIndexFields operation. Specifies the name of the domain you want to describe. To restrict the response to particular index fields, specify the names of the index fields you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeIndexFieldsResponse", - "documentation":"

The result of a DescribeIndexFields request. Contains the index fields configured for the domain specified in the request.

", - "resultWrapper":"DescribeIndexFieldsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets information about the index fields configured for the search domain. Can be limited to specific fields by name. By default, shows all fields and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Domain Information in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeScalingParameters":{ - "name":"DescribeScalingParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeScalingParametersRequest", - "documentation":"

Container for the parameters to the DescribeScalingParameters operation. Specifies the name of the domain you want to describe.

" - }, - "output":{ - "shape":"DescribeScalingParametersResponse", - "documentation":"

The result of a DescribeScalingParameters request. Contains the scaling parameters configured for the domain specified in the request.

", - "resultWrapper":"DescribeScalingParametersResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the scaling parameters configured for a domain. A domain's scaling parameters specify the desired search instance type and replication count. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeServiceAccessPolicies":{ - "name":"DescribeServiceAccessPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeServiceAccessPoliciesRequest", - "documentation":"

Container for the parameters to the DescribeServiceAccessPolicies operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeServiceAccessPoliciesResponse", - "documentation":"

The result of a DescribeServiceAccessPolicies request.

", - "resultWrapper":"DescribeServiceAccessPoliciesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets information about the access policies that control access to the domain's document and search endpoints. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Access for a Search Domain in the Amazon CloudSearch Developer Guide.

" - }, - "DescribeSuggesters":{ - "name":"DescribeSuggesters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSuggestersRequest", - "documentation":"

Container for the parameters to the DescribeSuggester operation. Specifies the name of the domain you want to describe. To restrict the response to particular suggesters, specify the names of the suggesters you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "output":{ - "shape":"DescribeSuggestersResponse", - "documentation":"

The result of a DescribeSuggesters request.

", - "resultWrapper":"DescribeSuggestersResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Gets the suggesters configured for a domain. A suggester enables you to display possible matches before users finish typing their queries. Can be limited to specific suggesters by name. By default, shows all suggesters and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" - }, - "IndexDocuments":{ - "name":"IndexDocuments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"IndexDocumentsRequest", - "documentation":"

Container for the parameters to the IndexDocuments operation. Specifies the name of the domain you want to re-index.

" - }, - "output":{ - "shape":"IndexDocumentsResponse", - "documentation":"

The result of an IndexDocuments request. Contains the status of the indexing operation, including the fields being indexed.

", - "resultWrapper":"IndexDocumentsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } - ], - "documentation":"

Tells the search domain to start indexing its documents using the latest indexing options. This operation must be invoked to activate options whose OptionStatus is RequiresIndexDocuments.

" - }, - "ListDomainNames":{ - "name":"ListDomainNames", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"ListDomainNamesResponse", - "documentation":"

The result of a ListDomainNames request. Contains a list of the domains owned by an account.

", - "resultWrapper":"ListDomainNamesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - } - ], - "documentation":"

Lists all search domains owned by an account.

" - }, - "UpdateAvailabilityOptions":{ - "name":"UpdateAvailabilityOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"UpdateAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the UpdateAvailabilityOptions operation. Specifies the name of the domain you want to update and the Multi-AZ availability option.

" - }, - "output":{ - "shape":"UpdateAvailabilityOptionsResponse", - "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

", - "resultWrapper":"UpdateAvailabilityOptionsResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } - ], - "documentation":"

Configures the availability options for a domain. Enabling the Multi-AZ option expands an Amazon CloudSearch domain to an additional Availability Zone in the same Region to increase fault tolerance in the event of a service disruption. Changes to the Multi-AZ option can take about half an hour to become active. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" - }, - "UpdateScalingParameters":{ - "name":"UpdateScalingParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"UpdateScalingParametersRequest", - "documentation":"

Container for the parameters to the UpdateScalingParameters operation. Specifies the name of the domain you want to update and the scaling parameters you want to configure.

" - }, - "output":{ - "shape":"UpdateScalingParametersResponse", - "documentation":"

The result of a UpdateScalingParameters request. Contains the status of the newly-configured scaling parameters.

", - "resultWrapper":"UpdateScalingParametersResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - } - ], - "documentation":"

Configures scaling parameters for a domain. A domain's scaling parameters specify the desired search instance type and replication count. Amazon CloudSearch will still automatically scale your domain based on the volume of data and traffic, but not below the desired instance type and replication count. If the Multi-AZ option is enabled, these values control the resources used per Availability Zone. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide.

" - }, - "UpdateServiceAccessPolicies":{ - "name":"UpdateServiceAccessPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"UpdateServiceAccessPoliciesRequest", - "documentation":"

Container for the parameters to the UpdateServiceAccessPolicies operation. Specifies the name of the domain you want to update and the access rules you want to configure.

" - }, - "output":{ - "shape":"UpdateServiceAccessPoliciesResponse", - "documentation":"

The result of an UpdateServiceAccessPolicies request. Contains the new access policies.

", - "resultWrapper":"UpdateServiceAccessPoliciesResult" - }, - "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - } - ], - "documentation":"

Configures the access rules that control access to the domain's document and search endpoints. For more information, see Configuring Access for an Amazon CloudSearch Domain.

" - } - }, - "shapes":{ - "APIVersion":{ - "type":"string", - "documentation":"

The Amazon CloudSearch API version for a domain: 2011-02-01 or 2013-01-01.

" - }, - "ARN":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN) of the search domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

" - }, - "AccessPoliciesStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"PolicyDocument"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The configured access rules for the domain's document and search endpoints, and the current status of those rules.

" - }, - "AlgorithmicStemming":{ - "type":"string", - "enum":[ - "none", - "minimal", - "light", - "full" - ] - }, - "AnalysisOptions":{ - "type":"structure", - "members":{ - "Synonyms":{ - "shape":"String", - "documentation":"

A JSON object that defines synonym groups and aliases. A synonym group is an array of arrays, where each sub-array is a group of terms where each term in the group is considered a synonym of every other term in the group. The aliases value is an object that contains a collection of string:value pairs where the string specifies a term and the array of values specifies each of the aliases for that term. An alias is considered a synonym of the specified term, but the term is not considered a synonym of the alias. For more information about specifying synonyms, see Synonyms in the Amazon CloudSearch Developer Guide.

" - }, - "Stopwords":{ - "shape":"String", - "documentation":"

A JSON array of terms to ignore during indexing and searching. For example, [\"a\", \"an\", \"the\", \"of\"]. The stopwords dictionary must explicitly list each word you want to ignore. Wildcards and regular expressions are not supported.

" - }, - "StemmingDictionary":{ - "shape":"String", - "documentation":"

A JSON object that contains a collection of string:value pairs that each map a term to its stem. For example, {\"term1\": \"stem1\", \"term2\": \"stem2\", \"term3\": \"stem3\"}. The stemming dictionary is applied in addition to any algorithmic stemming. This enables you to override the results of the algorithmic stemming to correct specific cases of overstemming or understemming. The maximum size of a stemming dictionary is 500 KB.

" - }, - "JapaneseTokenizationDictionary":{ - "shape":"String", - "documentation":"

A JSON array that contains a collection of terms, tokens, readings and part of speech for Japanese Tokenizaiton. The Japanese tokenization dictionary enables you to override the default tokenization for selected terms. This is only valid for Japanese language fields.

" - }, - "AlgorithmicStemming":{ - "shape":"AlgorithmicStemming", - "documentation":"

The level of algorithmic stemming to perform: none, minimal, light, or full. The available levels vary depending on the language. For more information, see Language Specific Text Processing Settings in the Amazon CloudSearch Developer Guide

" - } - }, - "documentation":"

Synonyms, stopwords, and stemming options for an analysis scheme. Includes tokenization dictionary for Japanese.

" - }, - "AnalysisScheme":{ - "type":"structure", - "required":[ - "AnalysisSchemeName", - "AnalysisSchemeLanguage" - ], - "members":{ - "AnalysisSchemeName":{"shape":"StandardName"}, - "AnalysisSchemeLanguage":{"shape":"AnalysisSchemeLanguage"}, - "AnalysisOptions":{"shape":"AnalysisOptions"} - }, - "documentation":"

Configuration information for an analysis scheme. Each analysis scheme has a unique name and specifies the language of the text to be processed. The following options can be configured for an analysis scheme: Synonyms, Stopwords, StemmingDictionary, JapaneseTokenizationDictionary and AlgorithmicStemming.

" - }, - "AnalysisSchemeLanguage":{ - "type":"string", - "enum":[ - "ar", - "bg", - "ca", - "cs", - "da", - "de", - "el", - "en", - "es", - "eu", - "fa", - "fi", - "fr", - "ga", - "gl", - "he", - "hi", - "hu", - "hy", - "id", - "it", - "ja", - "ko", - "lv", - "mul", - "nl", - "no", - "pt", - "ro", - "ru", - "sv", - "th", - "tr", - "zh-Hans", - "zh-Hant" - ], - "documentation":"

An IETF RFC 4646 language code or mul for multiple languages.

" - }, - "AnalysisSchemeStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"AnalysisScheme"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The status and configuration of an AnalysisScheme.

" - }, - "AnalysisSchemeStatusList":{ - "type":"list", - "member":{"shape":"AnalysisSchemeStatus"}, - "documentation":"

A list of the analysis schemes configured for a domain.

" - }, - "AvailabilityOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"MultiAZ", - "documentation":"

The availability options configured for the domain.

" - }, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The status and configuration of the domain's availability options.

" - }, - "BaseException":{ - "type":"structure", - "members":{ - "Code":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - "Boolean":{"type":"boolean"}, - "BuildSuggestersRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - }, - "documentation":"

Container for the parameters to the BuildSuggester operation. Specifies the name of the domain you want to update.

" - }, - "BuildSuggestersResponse":{ - "type":"structure", - "members":{ - "FieldNames":{"shape":"FieldNameList"} - }, - "documentation":"

The result of a BuildSuggester request. Contains a list of the fields used for suggestions.

" - }, - "CreateDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.

" - } - }, - "documentation":"

Container for the parameters to the CreateDomain operation. Specifies a name for the new search domain.

" - }, - "CreateDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{"shape":"DomainStatus"} - }, - "documentation":"

The result of a CreateDomainRequest. Contains the status of a newly created domain.

" - }, - "DateArrayOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceFields":{ - "shape":"FieldNameCommaList", - "documentation":"

A list of source fields to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - } - }, - "documentation":"

Options for a field that contains an array of dates. Present if IndexFieldType specifies the field is of type date-array. All options are enabled by default.

" - }, - "DateOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceField":{"shape":"FieldName"}, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - } - }, - "documentation":"

Options for a date field. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddT00:00:00Z. Present if IndexFieldType specifies the field is of type date. All options are enabled by default.

" - }, - "DefineAnalysisSchemeRequest":{ - "type":"structure", - "required":[ - "DomainName", - "AnalysisScheme" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "AnalysisScheme":{"shape":"AnalysisScheme"} - }, - "documentation":"

Container for the parameters to the DefineAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme configuration.

" - }, - "DefineAnalysisSchemeResponse":{ - "type":"structure", - "required":["AnalysisScheme"], - "members":{ - "AnalysisScheme":{"shape":"AnalysisSchemeStatus"} - }, - "documentation":"

The result of a DefineAnalysisScheme request. Contains the status of the newly-configured analysis scheme.

" - }, - "DefineExpressionRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Expression" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "Expression":{"shape":"Expression"} - }, - "documentation":"

Container for the parameters to the DefineExpression operation. Specifies the name of the domain you want to update and the expression you want to configure.

" - }, - "DefineExpressionResponse":{ - "type":"structure", - "required":["Expression"], - "members":{ - "Expression":{"shape":"ExpressionStatus"} - }, - "documentation":"

The result of a DefineExpression request. Contains the status of the newly-configured expression.

" - }, - "DefineIndexFieldRequest":{ - "type":"structure", - "required":[ - "DomainName", - "IndexField" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "IndexField":{ - "shape":"IndexField", - "documentation":"

The index field and field options you want to configure.

" - } - }, - "documentation":"

Container for the parameters to the DefineIndexField operation. Specifies the name of the domain you want to update and the index field configuration.

" - }, - "DefineIndexFieldResponse":{ - "type":"structure", - "required":["IndexField"], - "members":{ - "IndexField":{"shape":"IndexFieldStatus"} - }, - "documentation":"

The result of a DefineIndexField request. Contains the status of the newly-configured index field.

" - }, - "DefineSuggesterRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Suggester" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "Suggester":{"shape":"Suggester"} - }, - "documentation":"

Container for the parameters to the DefineSuggester operation. Specifies the name of the domain you want to update and the suggester configuration.

" - }, - "DefineSuggesterResponse":{ - "type":"structure", - "required":["Suggester"], - "members":{ - "Suggester":{"shape":"SuggesterStatus"} - }, - "documentation":"

The result of a DefineSuggester request. Contains the status of the newly-configured suggester.

" - }, - "DeleteAnalysisSchemeRequest":{ - "type":"structure", - "required":[ - "DomainName", - "AnalysisSchemeName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "AnalysisSchemeName":{ - "shape":"StandardName", - "documentation":"

The name of the analysis scheme you want to delete.

" - } - }, - "documentation":"

Container for the parameters to the DeleteAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme you want to delete.

" - }, - "DeleteAnalysisSchemeResponse":{ - "type":"structure", - "required":["AnalysisScheme"], - "members":{ - "AnalysisScheme":{ - "shape":"AnalysisSchemeStatus", - "documentation":"

The status of the analysis scheme being deleted.

" - } - }, - "documentation":"

The result of a DeleteAnalysisScheme request. Contains the status of the deleted analysis scheme.

" - }, - "DeleteDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to permanently delete.

" - } - }, - "documentation":"

Container for the parameters to the DeleteDomain operation. Specifies the name of the domain you want to delete.

" - }, - "DeleteDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{"shape":"DomainStatus"} - }, - "documentation":"

The result of a DeleteDomain request. Contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

" - }, - "DeleteExpressionRequest":{ - "type":"structure", - "required":[ - "DomainName", - "ExpressionName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "ExpressionName":{ - "shape":"StandardName", - "documentation":"

The name of the Expression to delete.

" - } - }, - "documentation":"

Container for the parameters to the DeleteExpression operation. Specifies the name of the domain you want to update and the name of the expression you want to delete.

" - }, - "DeleteExpressionResponse":{ - "type":"structure", - "required":["Expression"], - "members":{ - "Expression":{ - "shape":"ExpressionStatus", - "documentation":"

The status of the expression being deleted.

" - } - }, - "documentation":"

The result of a DeleteExpression request. Specifies the expression being deleted.

" - }, - "DeleteIndexFieldRequest":{ - "type":"structure", - "required":[ - "DomainName", - "IndexFieldName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "IndexFieldName":{ - "shape":"DynamicFieldName", - "documentation":"

The name of the index field your want to remove from the domain's indexing options.

" - } - }, - "documentation":"

Container for the parameters to the DeleteIndexField operation. Specifies the name of the domain you want to update and the name of the index field you want to delete.

" - }, - "DeleteIndexFieldResponse":{ - "type":"structure", - "required":["IndexField"], - "members":{ - "IndexField":{ - "shape":"IndexFieldStatus", - "documentation":"

The status of the index field being deleted.

" - } - }, - "documentation":"

The result of a DeleteIndexField request.

" - }, - "DeleteSuggesterRequest":{ - "type":"structure", - "required":[ - "DomainName", - "SuggesterName" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "SuggesterName":{ - "shape":"StandardName", - "documentation":"

Specifies the name of the suggester you want to delete.

" - } - }, - "documentation":"

Container for the parameters to the DeleteSuggester operation. Specifies the name of the domain you want to update and name of the suggester you want to delete.

" - }, - "DeleteSuggesterResponse":{ - "type":"structure", - "required":["Suggester"], - "members":{ - "Suggester":{ - "shape":"SuggesterStatus", - "documentation":"

The status of the suggester being deleted.

" - } - }, - "documentation":"

The result of a DeleteSuggester request. Contains the status of the deleted suggester.

" - }, - "DescribeAnalysisSchemesRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "AnalysisSchemeNames":{ - "shape":"StandardNameList", - "documentation":"

The analysis schemes you want to describe.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeAnalysisSchemes operation. Specifies the name of the domain you want to describe. To limit the response to particular analysis schemes, specify the names of the analysis schemes you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeAnalysisSchemesResponse":{ - "type":"structure", - "required":["AnalysisSchemes"], - "members":{ - "AnalysisSchemes":{ - "shape":"AnalysisSchemeStatusList", - "documentation":"

The analysis scheme descriptions.

" - } - }, - "documentation":"

The result of a DescribeAnalysisSchemes request. Contains the analysis schemes configured for the domain specified in the request.

" - }, - "DescribeAvailabilityOptionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeAvailabilityOptions operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeAvailabilityOptionsResponse":{ - "type":"structure", - "members":{ - "AvailabilityOptions":{ - "shape":"AvailabilityOptionsStatus", - "documentation":"

The availability options configured for the domain. Indicates whether Multi-AZ is enabled for the domain.

" - } - }, - "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

" - }, - "DescribeDomainsRequest":{ - "type":"structure", - "members":{ - "DomainNames":{ - "shape":"DomainNameList", - "documentation":"

The names of the domains you want to include in the response.

" - } - }, - "documentation":"

Container for the parameters to the DescribeDomains operation. By default shows the status of all domains. To restrict the response to particular domains, specify the names of the domains you want to describe.

" - }, - "DescribeDomainsResponse":{ - "type":"structure", - "required":["DomainStatusList"], - "members":{ - "DomainStatusList":{"shape":"DomainStatusList"} - }, - "documentation":"

The result of a DescribeDomains request. Contains the status of the domains specified in the request or all domains owned by the account.

" - }, - "DescribeExpressionsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "ExpressionNames":{ - "shape":"StandardNameList", - "documentation":"

Limits the DescribeExpressions response to the specified expressions. If not specified, all expressions are shown.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeDomains operation. Specifies the name of the domain you want to describe. To restrict the response to particular expressions, specify the names of the expressions you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeExpressionsResponse":{ - "type":"structure", - "required":["Expressions"], - "members":{ - "Expressions":{ - "shape":"ExpressionStatusList", - "documentation":"

The expressions configured for the domain.

" - } - }, - "documentation":"

The result of a DescribeExpressions request. Contains the expressions configured for the domain specified in the request.

" - }, - "DescribeIndexFieldsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "FieldNames":{ - "shape":"DynamicFieldNameList", - "documentation":"

A list of the index fields you want to describe. If not specified, information is returned for all configured index fields.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeIndexFields operation. Specifies the name of the domain you want to describe. To restrict the response to particular index fields, specify the names of the index fields you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeIndexFieldsResponse":{ - "type":"structure", - "required":["IndexFields"], - "members":{ - "IndexFields":{ - "shape":"IndexFieldStatusList", - "documentation":"

The index fields configured for the domain.

" - } - }, - "documentation":"

The result of a DescribeIndexFields request. Contains the index fields configured for the domain specified in the request.

" - }, - "DescribeScalingParametersRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - }, - "documentation":"

Container for the parameters to the DescribeScalingParameters operation. Specifies the name of the domain you want to describe.

" - }, - "DescribeScalingParametersResponse":{ - "type":"structure", - "required":["ScalingParameters"], - "members":{ - "ScalingParameters":{"shape":"ScalingParametersStatus"} - }, - "documentation":"

The result of a DescribeScalingParameters request. Contains the scaling parameters configured for the domain specified in the request.

" - }, - "DescribeServiceAccessPoliciesRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeServiceAccessPolicies operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeServiceAccessPoliciesResponse":{ - "type":"structure", - "required":["AccessPolicies"], - "members":{ - "AccessPolicies":{ - "shape":"AccessPoliciesStatus", - "documentation":"

The access rules configured for the domain specified in the request.

" - } - }, - "documentation":"

The result of a DescribeServiceAccessPolicies request.

" - }, - "DescribeSuggestersRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain you want to describe.

" - }, - "SuggesterNames":{ - "shape":"StandardNameList", - "documentation":"

The suggesters you want to describe.

" - }, - "Deployed":{ - "shape":"Boolean", - "documentation":"

Whether to display the deployed configuration (true) or include any pending changes (false). Defaults to false.

" - } - }, - "documentation":"

Container for the parameters to the DescribeSuggester operation. Specifies the name of the domain you want to describe. To restrict the response to particular suggesters, specify the names of the suggesters you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, - "DescribeSuggestersResponse":{ - "type":"structure", - "required":["Suggesters"], - "members":{ - "Suggesters":{ - "shape":"SuggesterStatusList", - "documentation":"

The suggesters configured for the domain specified in the request.

" - } - }, - "documentation":"

The result of a DescribeSuggesters request.

" - }, - "DisabledOperationException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - }, - "DocumentSuggesterOptions":{ - "type":"structure", - "required":["SourceField"], - "members":{ - "SourceField":{ - "shape":"FieldName", - "documentation":"

The name of the index field you want to use for suggestions.

" - }, - "FuzzyMatching":{ - "shape":"SuggesterFuzzyMatching", - "documentation":"

The level of fuzziness allowed when suggesting matches for a string: none, low, or high. With none, the specified string is treated as an exact prefix. With low, suggestions must differ from the specified string by no more than one character. With high, suggestions can differ by up to two characters. The default is none.

" - }, - "SortExpression":{ - "shape":"String", - "documentation":"

An expression that computes a score for each suggestion to control how they are sorted. The scores are rounded to the nearest integer, with a floor of 0 and a ceiling of 2^31-1. A document's relevance score is not computed for suggestions, so sort expressions cannot reference the _score value. To sort suggestions using a numeric field or existing expression, simply specify the name of the field or expression. If no expression is configured for the suggester, the suggestions are sorted with the closest matches listed first.

" - } - }, - "documentation":"

Options for a search suggester.

" - }, - "DomainId":{ - "type":"string", - "min":1, - "max":64, - "documentation":"

An internally generated unique identifier for a domain.

" - }, - "DomainName":{ - "type":"string", - "min":3, - "max":28, - "pattern":"[a-z][a-z0-9\\-]+", - "documentation":"

A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" - }, - "DomainNameList":{ - "type":"list", - "member":{"shape":"DomainName"}, - "documentation":"

A list of domain names.

" - }, - "DomainNameMap":{ - "type":"map", - "key":{"shape":"DomainName"}, - "value":{"shape":"APIVersion"}, - "documentation":"

A collection of domain names.

" - }, - "DomainStatus":{ - "type":"structure", - "required":[ - "DomainId", - "DomainName", - "RequiresIndexDocuments" - ], - "members":{ - "DomainId":{"shape":"DomainId"}, - "DomainName":{"shape":"DomainName"}, - "ARN":{"shape":"ARN"}, - "Created":{ - "shape":"Boolean", - "documentation":"

True if the search domain is created. It can take several minutes to initialize a domain when CreateDomain is called. Newly created search domains are returned from DescribeDomains with a false value for Created until domain creation is complete.

" - }, - "Deleted":{ - "shape":"Boolean", - "documentation":"

True if the search domain has been deleted. The system must clean up resources dedicated to the search domain when DeleteDomain is called. Newly deleted search domains are returned from DescribeDomains with a true value for IsDeleted for several minutes until resource cleanup is complete.

" - }, - "DocService":{ - "shape":"ServiceEndpoint", - "documentation":"

The service endpoint for updating documents in a search domain.

" - }, - "SearchService":{ - "shape":"ServiceEndpoint", - "documentation":"

The service endpoint for requesting search results from a search domain.

" - }, - "RequiresIndexDocuments":{ - "shape":"Boolean", - "documentation":"

True if IndexDocuments needs to be called to activate the current domain configuration.

" - }, - "Processing":{ - "shape":"Boolean", - "documentation":"

True if processing is being done to activate the current domain configuration.

" - }, - "SearchInstanceType":{ - "shape":"SearchInstanceType", - "documentation":"

The instance type that is being used to process search requests.

" - }, - "SearchPartitionCount":{ - "shape":"PartitionCount", - "documentation":"

The number of partitions across which the search index is spread.

" - }, - "SearchInstanceCount":{ - "shape":"InstanceCount", - "documentation":"

The number of search instances that are available to process search requests.

" - }, - "Limits":{"shape":"Limits"} - }, - "documentation":"

The current status of the search domain.

" - }, - "DomainStatusList":{ - "type":"list", - "member":{"shape":"DomainStatus"}, - "documentation":"

A list that contains the status of each requested domain.

" - }, - "Double":{"type":"double"}, - "DoubleArrayOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"Double", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceFields":{ - "shape":"FieldNameCommaList", - "documentation":"

A list of source fields to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - } - }, - "documentation":"

Options for a field that contains an array of double-precision 64-bit floating point values. Present if IndexFieldType specifies the field is of type double-array. All options are enabled by default.

" - }, - "DoubleOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"Double", - "documentation":"

A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document.

" - }, - "SourceField":{ - "shape":"FieldName", - "documentation":"

The name of the source field to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - } - }, - "documentation":"

Options for a double-precision 64-bit floating point field. Present if IndexFieldType specifies the field is of type double. All options are enabled by default.

" - }, - "DynamicFieldName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"([a-z][a-z0-9_]*\\*?|\\*[a-z0-9_]*)" - }, - "DynamicFieldNameList":{ - "type":"list", - "member":{"shape":"DynamicFieldName"} - }, - "ErrorCode":{ - "type":"string", - "documentation":"

A machine-parsable string error or warning code.

" - }, - "ErrorMessage":{ - "type":"string", - "documentation":"

A human-readable string error or warning message.

" - }, - "Expression":{ - "type":"structure", - "required":[ - "ExpressionName", - "ExpressionValue" - ], - "members":{ - "ExpressionName":{"shape":"StandardName"}, - "ExpressionValue":{"shape":"ExpressionValue"} - }, - "documentation":"

A named expression that can be evaluated at search time. Can be used to sort the search results, define other expressions, or return computed information in the search results.

" - }, - "ExpressionStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"Expression", - "documentation":"

The expression that is evaluated for sorting while processing a search request.

" - }, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of an Expression and its current status.

" - }, - "ExpressionStatusList":{ - "type":"list", - "member":{"shape":"ExpressionStatus"}, - "documentation":"

Contains the status of multiple expressions.

" - }, - "ExpressionValue":{ - "type":"string", - "min":1, - "max":10240, - "documentation":"

The expression to evaluate for sorting while processing a search request. The Expression syntax is based on JavaScript expressions. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" - }, - "FieldName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-z][a-z0-9_]*", - "documentation":"

A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.

Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin or end with a wildcard (*). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.

The name score is reserved and cannot be used as a field name. To reference a document's ID, you can use the name _id.

" - }, - "FieldNameCommaList":{ - "type":"string", - "pattern":"\\s*[a-z*][a-z0-9_]*\\*?\\s*(,\\s*[a-z*][a-z0-9_]*\\*?\\s*)*" - }, - "FieldNameList":{ - "type":"list", - "member":{"shape":"FieldName"}, - "documentation":"

A list of field names.

" - }, - "FieldValue":{ - "type":"string", - "min":0, - "max":1024, - "documentation":"

The value of a field attribute.

" - }, - "IndexDocumentsRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{"shape":"DomainName"} - }, - "documentation":"

Container for the parameters to the IndexDocuments operation. Specifies the name of the domain you want to re-index.

" - }, - "IndexDocumentsResponse":{ - "type":"structure", - "members":{ - "FieldNames":{ - "shape":"FieldNameList", - "documentation":"

The names of the fields that are currently being indexed.

" - } - }, - "documentation":"

The result of an IndexDocuments request. Contains the status of the indexing operation, including the fields being indexed.

" - }, - "IndexField":{ - "type":"structure", - "required":[ - "IndexFieldName", - "IndexFieldType" - ], - "members":{ - "IndexFieldName":{ - "shape":"DynamicFieldName", - "documentation":"

A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.

Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin or end with a wildcard (*). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.

The name score is reserved and cannot be used as a field name. To reference a document's ID, you can use the name _id.

" - }, - "IndexFieldType":{"shape":"IndexFieldType"}, - "IntOptions":{"shape":"IntOptions"}, - "DoubleOptions":{"shape":"DoubleOptions"}, - "LiteralOptions":{"shape":"LiteralOptions"}, - "TextOptions":{"shape":"TextOptions"}, - "DateOptions":{"shape":"DateOptions"}, - "LatLonOptions":{"shape":"LatLonOptions"}, - "IntArrayOptions":{"shape":"IntArrayOptions"}, - "DoubleArrayOptions":{"shape":"DoubleArrayOptions"}, - "LiteralArrayOptions":{"shape":"LiteralArrayOptions"}, - "TextArrayOptions":{"shape":"TextArrayOptions"}, - "DateArrayOptions":{"shape":"DateArrayOptions"} - }, - "documentation":"

Configuration information for a field in the index, including its name, type, and options. The supported options depend on the IndexFieldType.

" - }, - "IndexFieldStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"IndexField"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of an IndexField and its current status.

" - }, - "IndexFieldStatusList":{ - "type":"list", - "member":{"shape":"IndexFieldStatus"}, - "documentation":"

Contains the status of multiple index fields.

" - }, - "IndexFieldType":{ - "type":"string", - "enum":[ - "int", - "double", - "literal", - "text", - "date", - "latlon", - "int-array", - "double-array", - "literal-array", - "text-array", - "date-array" - ], - "documentation":"

The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" - }, - "InstanceCount":{ - "type":"integer", - "min":1 - }, - "IntArrayOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"Long", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceFields":{ - "shape":"FieldNameCommaList", - "documentation":"

A list of source fields to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - } - }, - "documentation":"

Options for a field that contains an array of 64-bit signed integers. Present if IndexFieldType specifies the field is of type int-array. All options are enabled by default.

" - }, - "IntOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"Long", - "documentation":"A value to use for the field if the field isn't specified for a document. This can be important if you are using the field in an expression and that field is not present in every document." - }, - "SourceField":{ - "shape":"FieldName", - "documentation":"

The name of the source field to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - } - }, - "documentation":"

Options for a 64-bit signed integer field. Present if IndexFieldType specifies the field is of type int. All options are enabled by default.

" - }, - "InternalException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - "InvalidTypeException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - "LatLonOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceField":{"shape":"FieldName"}, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - } - }, - "documentation":"

Options for a latlon field. A latlon field contains a location stored as a latitude and longitude value pair. Present if IndexFieldType specifies the field is of type latlon. All options are enabled by default.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - "Limits":{ - "type":"structure", - "required":[ - "MaximumReplicationCount", - "MaximumPartitionCount" - ], - "members":{ - "MaximumReplicationCount":{"shape":"MaximumReplicationCount"}, - "MaximumPartitionCount":{"shape":"MaximumPartitionCount"} - } - }, - "ListDomainNamesResponse":{ - "type":"structure", - "members":{ - "DomainNames":{ - "shape":"DomainNameMap", - "documentation":"

The names of the search domains owned by an account.

" - } - }, - "documentation":"

The result of a ListDomainNames request. Contains a list of the domains owned by an account.

" - }, - "LiteralArrayOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceFields":{ - "shape":"FieldNameCommaList", - "documentation":"

A list of source fields to map to the field.

" - }, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - } - }, - "documentation":"

Options for a field that contains an array of literal strings. Present if IndexFieldType specifies the field is of type literal-array. All options are enabled by default.

" - }, - "LiteralOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceField":{"shape":"FieldName"}, - "FacetEnabled":{ - "shape":"Boolean", - "documentation":"

Whether facet information can be returned for the field.

" - }, - "SearchEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field are searchable.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - } - }, - "documentation":"

Options for literal field. Present if IndexFieldType specifies the field is of type literal. All options are enabled by default.

" - }, - "Long":{"type":"long"}, - "MaximumPartitionCount":{ - "type":"integer", - "min":1 - }, - "MaximumReplicationCount":{ - "type":"integer", - "min":1 - }, - "MultiAZ":{"type":"boolean"}, - "OptionState":{ - "type":"string", - "enum":[ - "RequiresIndexDocuments", - "Processing", - "Active", - "FailedToValidate" - ], - "documentation":"

The state of processing a change to an option. One of:

  • RequiresIndexDocuments: The option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: The option's latest value is in the process of being activated.
  • Active: The option's latest value is fully deployed.
  • FailedToValidate: The option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
" - }, - "OptionStatus":{ - "type":"structure", - "required":[ - "CreationDate", - "UpdateDate", - "State" - ], - "members":{ - "CreationDate":{ - "shape":"UpdateTimestamp", - "documentation":"

A timestamp for when this option was created.

" - }, - "UpdateDate":{ - "shape":"UpdateTimestamp", - "documentation":"

A timestamp for when this option was last updated.

" - }, - "UpdateVersion":{ - "shape":"UIntValue", - "documentation":"

A unique integer that indicates when this option was last updated.

" - }, - "State":{ - "shape":"OptionState", - "documentation":"

The state of processing a change to an option. Possible values:

  • RequiresIndexDocuments: the option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: the option's latest value is in the process of being activated.
  • Active: the option's latest value is completely deployed.
  • FailedToValidate: the option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
" - }, - "PendingDeletion":{ - "shape":"Boolean", - "documentation":"

Indicates that the option will be deleted once processing is complete.

" - } - }, - "documentation":"

The status of domain configuration option.

" - }, - "PartitionCount":{ - "type":"integer", - "min":1, - "documentation":"

The number of partitions used to hold the domain's index.

" - }, - "PartitionInstanceType":{ - "type":"string", - "enum":[ - "search.m1.small", - "search.m1.large", - "search.m2.xlarge", - "search.m2.2xlarge", - "search.m3.medium", - "search.m3.large", - "search.m3.xlarge", - "search.m3.2xlarge" - ], - "documentation":"

The instance type (such as search.m1.small) on which an index partition is hosted.

" - }, - "PolicyDocument":{ - "type":"string", - "documentation":"

Access rules for a domain's document or search service endpoints. For more information, see Configuring Access for a Search Domain in the Amazon CloudSearch Developer Guide. The maximum size of a policy document is 100 KB.

" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - "ScalingParameters":{ - "type":"structure", - "members":{ - "DesiredInstanceType":{ - "shape":"PartitionInstanceType", - "documentation":"

The instance type that you want to preconfigure for your domain. For example, search.m1.small.

" - }, - "DesiredReplicationCount":{ - "shape":"UIntValue", - "documentation":"

The number of replicas you want to preconfigure for each index partition.

" - }, - "DesiredPartitionCount":{ - "shape":"UIntValue", - "documentation":"

The number of partitions you want to preconfigure for your domain. Only valid when you select m2.2xlarge as the desired instance type.

" - } - }, - "documentation":"

The desired instance type and desired number of replicas of each index partition.

" - }, - "ScalingParametersStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"ScalingParameters"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The status and configuration of a search domain's scaling parameters.

" - }, - "SearchInstanceType":{ - "type":"string", - "documentation":"

The instance type (such as search.m1.small) that is being used to process search requests.

" - }, - "ServiceEndpoint":{ - "type":"structure", - "members":{ - "Endpoint":{"shape":"ServiceUrl"} - }, - "documentation":"

The endpoint to which service requests can be submitted.

" - }, - "ServiceUrl":{ - "type":"string", - "documentation":"

The endpoint to which service requests can be submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.cloudsearch.amazonaws.com.

" - }, - "StandardName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-z][a-z0-9_]*", - "documentation":"

Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore).

" - }, - "StandardNameList":{ - "type":"list", - "member":{"shape":"StandardName"} - }, - "String":{"type":"string"}, - "Suggester":{ - "type":"structure", - "required":[ - "SuggesterName", - "DocumentSuggesterOptions" - ], - "members":{ - "SuggesterName":{"shape":"StandardName"}, - "DocumentSuggesterOptions":{"shape":"DocumentSuggesterOptions"} - }, - "documentation":"

Configuration information for a search suggester. Each suggester has a unique name and specifies the text field you want to use for suggestions. The following options can be configured for a suggester: FuzzyMatching, SortExpression.

" - }, - "SuggesterFuzzyMatching":{ - "type":"string", - "enum":[ - "none", - "low", - "high" - ] - }, - "SuggesterStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{"shape":"Suggester"}, - "Status":{"shape":"OptionStatus"} - }, - "documentation":"

The value of a Suggester and its current status.

" - }, - "SuggesterStatusList":{ - "type":"list", - "member":{"shape":"SuggesterStatus"}, - "documentation":"

Contains the status of multiple suggesters.

" - }, - "TextArrayOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceFields":{ - "shape":"FieldNameCommaList", - "documentation":"

A list of source fields to map to the field.

" - }, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "HighlightEnabled":{ - "shape":"Boolean", - "documentation":"

Whether highlights can be returned for the field.

" - }, - "AnalysisScheme":{ - "shape":"Word", - "documentation":"

The name of an analysis scheme for a text-array field.

" - } - }, - "documentation":"

Options for a field that contains an array of text strings. Present if IndexFieldType specifies the field is of type text-array. A text-array field is always searchable. All options are enabled by default.

" - }, - "TextOptions":{ - "type":"structure", - "members":{ - "DefaultValue":{ - "shape":"FieldValue", - "documentation":"A value to use for the field if the field isn't specified for a document." - }, - "SourceField":{"shape":"FieldName"}, - "ReturnEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the contents of the field can be returned in the search results.

" - }, - "SortEnabled":{ - "shape":"Boolean", - "documentation":"

Whether the field can be used to sort the search results.

" - }, - "HighlightEnabled":{ - "shape":"Boolean", - "documentation":"

Whether highlights can be returned for the field.

" - }, - "AnalysisScheme":{ - "shape":"Word", - "documentation":"

The name of an analysis scheme for a text field.

" - } - }, - "documentation":"

Options for text field. Present if IndexFieldType specifies the field is of type text. A text field is always searchable. All options are enabled by default.

" - }, - "UIntValue":{ - "type":"integer", - "min":0 - }, - "UpdateAvailabilityOptionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "MultiAZ" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

You expand an existing search domain to a second Availability Zone by setting the Multi-AZ option to true. Similarly, you can turn off the Multi-AZ option to downgrade the domain to a single Availability Zone by setting the Multi-AZ option to false.

" - } - }, - "documentation":"

Container for the parameters to the UpdateAvailabilityOptions operation. Specifies the name of the domain you want to update and the Multi-AZ availability option.

" - }, - "UpdateAvailabilityOptionsResponse":{ - "type":"structure", - "members":{ - "AvailabilityOptions":{ - "shape":"AvailabilityOptionsStatus", - "documentation":"

The newly-configured availability options. Indicates whether Multi-AZ is enabled for the domain.

" - } - }, - "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

" - }, - "UpdateScalingParametersRequest":{ - "type":"structure", - "required":[ - "DomainName", - "ScalingParameters" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "ScalingParameters":{"shape":"ScalingParameters"} - }, - "documentation":"

Container for the parameters to the UpdateScalingParameters operation. Specifies the name of the domain you want to update and the scaling parameters you want to configure.

" - }, - "UpdateScalingParametersResponse":{ - "type":"structure", - "required":["ScalingParameters"], - "members":{ - "ScalingParameters":{"shape":"ScalingParametersStatus"} - }, - "documentation":"

The result of a UpdateScalingParameters request. Contains the status of the newly-configured scaling parameters.

" - }, - "UpdateServiceAccessPoliciesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "AccessPolicies" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "AccessPolicies":{ - "shape":"PolicyDocument", - "documentation":"

The access rules you want to configure. These rules replace any existing rules.

" - } - }, - "documentation":"

Container for the parameters to the UpdateServiceAccessPolicies operation. Specifies the name of the domain you want to update and the access rules you want to configure.

" - }, - "UpdateServiceAccessPoliciesResponse":{ - "type":"structure", - "required":["AccessPolicies"], - "members":{ - "AccessPolicies":{ - "shape":"AccessPoliciesStatus", - "documentation":"

The access rules configured for the domain.

" - } - }, - "documentation":"

The result of an UpdateServiceAccessPolicies request. Contains the new access policies.

" - }, - "UpdateTimestamp":{"type":"timestamp"}, - "Word":{ - "type":"string", - "pattern":"[\\S]+" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/service-2.json deleted file mode 100644 index 018b114d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudsearchdomain/2013-01-01/service-2.json +++ /dev/null @@ -1,548 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-01-01", - "endpointPrefix":"cloudsearchdomain", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"Amazon CloudSearch Domain", - "serviceId":"CloudSearch Domain", - "signatureVersion":"v4", - "signingName":"cloudsearch", - "uid":"cloudsearchdomain-2013-01-01" - }, - "operations":{ - "Search":{ - "name":"Search", - "http":{ - "method":"GET", - "requestUri":"/2013-01-01/search?format=sdk&pretty=true" - }, - "input":{"shape":"SearchRequest"}, - "output":{"shape":"SearchResponse"}, - "errors":[ - {"shape":"SearchException"} - ], - "documentation":"

Retrieves a list of documents that match the specified search criteria. How you specify the search criteria depends on which query parser you use. Amazon CloudSearch supports four query parsers:

  • simple: search all text and text-array fields for the specified string. Search for phrases, individual terms, and prefixes.
  • structured: search specific fields, construct compound queries using Boolean operators, and use advanced features such as term boosting and proximity searching.
  • lucene: specify search criteria using the Apache Lucene query parser syntax.
  • dismax: specify search criteria using the simplified subset of the Apache Lucene query parser syntax defined by the DisMax query parser.

For more information, see Searching Your Data in the Amazon CloudSearch Developer Guide.

The endpoint for submitting Search requests is domain-specific. You submit search requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

" - }, - "Suggest":{ - "name":"Suggest", - "http":{ - "method":"GET", - "requestUri":"/2013-01-01/suggest?format=sdk&pretty=true" - }, - "input":{"shape":"SuggestRequest"}, - "output":{"shape":"SuggestResponse"}, - "errors":[ - {"shape":"SearchException"} - ], - "documentation":"

Retrieves autocomplete suggestions for a partial query string. You can use suggestions enable you to display likely matches before users finish typing. In Amazon CloudSearch, suggestions are based on the contents of a particular text field. When you request suggestions, Amazon CloudSearch finds all of the documents whose values in the suggester field start with the specified query string. The beginning of the field must match the query string to be considered a match.

For more information about configuring suggesters and retrieving suggestions, see Getting Suggestions in the Amazon CloudSearch Developer Guide.

The endpoint for submitting Suggest requests is domain-specific. You submit suggest requests to a domain's search endpoint. To get the search endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

" - }, - "UploadDocuments":{ - "name":"UploadDocuments", - "http":{ - "method":"POST", - "requestUri":"/2013-01-01/documents/batch?format=sdk" - }, - "input":{"shape":"UploadDocumentsRequest"}, - "output":{"shape":"UploadDocumentsResponse"}, - "errors":[ - {"shape":"DocumentServiceException"} - ], - "documentation":"

Posts a batch of documents to a search domain for indexing. A document batch is a collection of add and delete operations that represent the documents you want to add, update, or delete from your domain. Batches can be described in either JSON or XML. Each item that you want Amazon CloudSearch to return as a search result (such as a product) is represented as a document. Every document has a unique ID and one or more fields that contain the data that you want to search and return in results. Individual documents cannot contain more than 1 MB of data. The entire batch cannot exceed 5 MB. To get the best possible upload performance, group add and delete operations in batches that are close the 5 MB limit. Submitting a large volume of single-document batches can overload a domain's document service.

The endpoint for submitting UploadDocuments requests is domain-specific. To get the document endpoint for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. A domain's endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console.

For more information about formatting your data for Amazon CloudSearch, see Preparing Your Data in the Amazon CloudSearch Developer Guide. For more information about uploading data for indexing, see Uploading Data in the Amazon CloudSearch Developer Guide.

" - } - }, - "shapes":{ - "Adds":{"type":"long"}, - "Blob":{ - "type":"blob", - "streaming":true - }, - "Bucket":{ - "type":"structure", - "members":{ - "value":{ - "shape":"String", - "documentation":"

The facet value being counted.

" - }, - "count":{ - "shape":"Long", - "documentation":"

The number of hits that contain the facet value in the specified facet field.

" - } - }, - "documentation":"

A container for facet information.

" - }, - "BucketInfo":{ - "type":"structure", - "members":{ - "buckets":{ - "shape":"BucketList", - "documentation":"

A list of the calculated facet values and counts.

" - } - }, - "documentation":"

A container for the calculated facet values and counts.

" - }, - "BucketList":{ - "type":"list", - "member":{"shape":"Bucket"} - }, - "ContentType":{ - "type":"string", - "enum":[ - "application/json", - "application/xml" - ] - }, - "Cursor":{"type":"string"}, - "Deletes":{"type":"long"}, - "DocumentServiceException":{ - "type":"structure", - "members":{ - "status":{ - "shape":"String", - "documentation":"

The return status of a document upload request, error or success.

" - }, - "message":{ - "shape":"String", - "documentation":"

The description of the errors returned by the document service.

" - } - }, - "documentation":"

Information about any problems encountered while processing an upload request.

", - "exception":true - }, - "DocumentServiceWarning":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The description for a warning returned by the document service.

" - } - }, - "documentation":"

A warning returned by the document service when an issue is discovered while processing an upload request.

" - }, - "DocumentServiceWarnings":{ - "type":"list", - "member":{"shape":"DocumentServiceWarning"} - }, - "Double":{"type":"double"}, - "Expr":{"type":"string"}, - "Exprs":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Facet":{"type":"string"}, - "Facets":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"BucketInfo"} - }, - "FieldStats":{ - "type":"structure", - "members":{ - "min":{ - "shape":"String", - "documentation":"

The minimum value found in the specified field in the result set.

If the field is numeric (int, int-array, double, or double-array), min is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, min is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

" - }, - "max":{ - "shape":"String", - "documentation":"

The maximum value found in the specified field in the result set.

If the field is numeric (int, int-array, double, or double-array), max is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, max is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

" - }, - "count":{ - "shape":"Long", - "documentation":"

The number of documents that contain a value in the specified field in the result set.

" - }, - "missing":{ - "shape":"Long", - "documentation":"

The number of documents that do not contain a value in the specified field in the result set.

" - }, - "sum":{ - "shape":"Double", - "documentation":"

The sum of the field values across the documents in the result set. null for date fields.

" - }, - "sumOfSquares":{ - "shape":"Double", - "documentation":"

The sum of all field values in the result set squared.

" - }, - "mean":{ - "shape":"String", - "documentation":"

The average of the values found in the specified field in the result set.

If the field is numeric (int, int-array, double, or double-array), mean is the string representation of a double-precision 64-bit floating point value. If the field is date or date-array, mean is the string representation of a date with the format specified in IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ.

" - }, - "stddev":{ - "shape":"Double", - "documentation":"

The standard deviation of the values in the specified field in the result set.

" - } - }, - "documentation":"

The statistics for a field calculated in the request.

" - }, - "FieldValue":{ - "type":"list", - "member":{"shape":"String"} - }, - "Fields":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"FieldValue"} - }, - "FilterQuery":{"type":"string"}, - "Highlight":{"type":"string"}, - "Highlights":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Hit":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The document ID of a document that matches the search request.

" - }, - "fields":{ - "shape":"Fields", - "documentation":"

The fields returned from a document that matches the search request.

" - }, - "exprs":{ - "shape":"Exprs", - "documentation":"

The expressions returned from a document that matches the search request.

" - }, - "highlights":{ - "shape":"Highlights", - "documentation":"

The highlights returned from a document that matches the search request.

" - } - }, - "documentation":"

Information about a document that matches the search request.

" - }, - "HitList":{ - "type":"list", - "member":{"shape":"Hit"} - }, - "Hits":{ - "type":"structure", - "members":{ - "found":{ - "shape":"Long", - "documentation":"

The total number of documents that match the search request.

" - }, - "start":{ - "shape":"Long", - "documentation":"

The index of the first matching document.

" - }, - "cursor":{ - "shape":"String", - "documentation":"

A cursor that can be used to retrieve the next set of matching documents when you want to page through a large result set.

" - }, - "hit":{ - "shape":"HitList", - "documentation":"

A document that matches the search request.

" - } - }, - "documentation":"

The collection of documents that match the search request.

" - }, - "Long":{"type":"long"}, - "Partial":{"type":"boolean"}, - "Query":{"type":"string"}, - "QueryOptions":{"type":"string"}, - "QueryParser":{ - "type":"string", - "enum":[ - "simple", - "structured", - "lucene", - "dismax" - ] - }, - "Return":{"type":"string"}, - "SearchException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

A description of the error returned by the search service.

" - } - }, - "documentation":"

Information about any problems encountered while processing a search request.

", - "exception":true - }, - "SearchRequest":{ - "type":"structure", - "required":["query"], - "members":{ - "cursor":{ - "shape":"Cursor", - "documentation":"

Retrieves a cursor value you can use to page through large result sets. Use the size parameter to control the number of hits to include in each response. You can specify either the cursor or start parameter in a request; they are mutually exclusive. To get the first cursor, set the cursor value to initial. In subsequent requests, specify the cursor value returned in the hits section of the response.

For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"cursor" - }, - "expr":{ - "shape":"Expr", - "documentation":"

Defines one or more numeric expressions that can be used to sort results or specify search or filter criteria. You can also specify expressions as return fields.

You specify the expressions in JSON using the form {\"EXPRESSIONNAME\":\"EXPRESSION\"}. You can define and use multiple expressions in a search request. For example:

{\"expression1\":\"_score*rating\", \"expression2\":\"(1/rank)*year\"}

For information about the variables, operators, and functions you can use in expressions, see Writing Expressions in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"expr" - }, - "facet":{ - "shape":"Facet", - "documentation":"

Specifies one or more fields for which to get facet information, and options that control how the facet information is returned. Each specified field must be facet-enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}.

You can specify the following faceting options:

  • buckets specifies an array of the facet values or ranges to count. Ranges are specified using the same syntax that you use to search for a range of values. For more information, see Searching for a Range of Values in the Amazon CloudSearch Developer Guide. Buckets are returned in the order they are specified in the request. The sort and size options are not valid if you specify buckets.

  • size specifies the maximum number of facets to include in the results. By default, Amazon CloudSearch returns counts for the top 10. The size parameter is only valid when you specify the sort option; it cannot be used in conjunction with buckets.

  • sort specifies how you want to sort the facets in the results: bucket or count. Specify bucket to sort alphabetically or numerically by facet value (in ascending order). Specify count to sort by the facet counts computed for each facet value (in descending order). To retrieve facet counts for particular values or ranges of values, use the buckets option instead of sort.

If no facet options are specified, facet counts are computed for all field values, the facets are sorted by facet count, and the top 10 facets are returned in the results.

To count particular buckets of values, use the buckets option. For example, the following request uses the buckets option to calculate and return facet counts by decade.

{\"year\":{\"buckets\":[\"[1970,1979]\",\"[1980,1989]\",\"[1990,1999]\",\"[2000,2009]\",\"[2010,}\"]}}

To sort facets by facet count, use the count option. For example, the following request sets the sort option to count to sort the facet values by facet count, with the facet values that have the most matching documents listed first. Setting the size option to 3 returns only the top three facet values.

{\"year\":{\"sort\":\"count\",\"size\":3}}

To sort the facets by value, use the bucket option. For example, the following request sets the sort option to bucket to sort the facet values numerically by year, with earliest year listed first.

{\"year\":{\"sort\":\"bucket\"}}

For more information, see Getting and Using Facet Information in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"facet" - }, - "filterQuery":{ - "shape":"FilterQuery", - "documentation":"

Specifies a structured query that filters the results of a search without affecting how the results are scored and sorted. You use filterQuery in conjunction with the query parameter to filter the documents that match the constraints specified in the query parameter. Specifying a filter controls only which matching documents are included in the results, it has no effect on how they are scored and sorted. The filterQuery parameter supports the full structured query syntax.

For more information about using filters, see Filtering Matching Documents in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"fq" - }, - "highlight":{ - "shape":"Highlight", - "documentation":"

Retrieves highlights for matches in the specified text or text-array fields. Each specified field must be highlight enabled in the domain configuration. The fields and options are specified in JSON using the form {\"FIELD\":{\"OPTION\":VALUE,\"OPTION:\"STRING\"},\"FIELD\":{\"OPTION\":VALUE,\"OPTION\":\"STRING\"}}.

You can specify the following highlight options:

  • format: specifies the format of the data in the text field: text or html. When data is returned as HTML, all non-alphanumeric characters are encoded. The default is html.
  • max_phrases: specifies the maximum number of occurrences of the search term(s) you want to highlight. By default, the first occurrence is highlighted.
  • pre_tag: specifies the string to prepend to an occurrence of a search term. The default for HTML highlights is &lt;em&gt;. The default for text highlights is *.
  • post_tag: specifies the string to append to an occurrence of a search term. The default for HTML highlights is &lt;/em&gt;. The default for text highlights is *.

If no highlight options are specified for a field, the returned field text is treated as HTML and the first match is highlighted with emphasis tags: &lt;em>search-term&lt;/em&gt;.

For example, the following request retrieves highlights for the actors and title fields.

{ \"actors\": {}, \"title\": {\"format\": \"text\",\"max_phrases\": 2,\"pre_tag\": \"\",\"post_tag\": \"\"} }

", - "location":"querystring", - "locationName":"highlight" - }, - "partial":{ - "shape":"Partial", - "documentation":"

Enables partial results to be returned if one or more index partitions are unavailable. When your search index is partitioned across multiple search instances, by default Amazon CloudSearch only returns results if every partition can be queried. This means that the failure of a single search instance can result in 5xx (internal server) errors. When you enable partial results, Amazon CloudSearch returns whatever results are available and includes the percentage of documents searched in the search results (percent-searched). This enables you to more gracefully degrade your users' search experience. For example, rather than displaying no results, you could display the partial results and a message indicating that the results might be incomplete due to a temporary system outage.

", - "location":"querystring", - "locationName":"partial" - }, - "query":{ - "shape":"Query", - "documentation":"

Specifies the search criteria for the request. How you specify the search criteria depends on the query parser used for the request and the parser options specified in the queryOptions parameter. By default, the simple query parser is used to process requests. To use the structured, lucene, or dismax query parser, you must also specify the queryParser parameter.

For more information about specifying search criteria, see Searching Your Data in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"q" - }, - "queryOptions":{ - "shape":"QueryOptions", - "documentation":"

Configures options for the query parser specified in the queryParser parameter. You specify the options in JSON using the following form {\"OPTION1\":\"VALUE1\",\"OPTION2\":VALUE2\"...\"OPTIONN\":\"VALUEN\"}.

The options you can configure vary according to which parser you use:

  • defaultOperator: The default operator used to combine individual terms in the search string. For example: defaultOperator: 'or'. For the dismax parser, you specify a percentage that represents the percentage of terms in the search string (rounded down) that must match, rather than a default operator. A value of 0% is the equivalent to OR, and a value of 100% is equivalent to AND. The percentage must be specified as a value in the range 0-100 followed by the percent (%) symbol. For example, defaultOperator: 50%. Valid values: and, or, a percentage in the range 0%-100% (dismax). Default: and (simple, structured, lucene) or 100 (dismax). Valid for: simple, structured, lucene, and dismax.
  • fields: An array of the fields to search when no fields are specified in a search. If no fields are specified in a search and this option is not specified, all text and text-array fields are searched. You can specify a weight for each field to control the relative importance of each field when Amazon CloudSearch calculates relevance scores. To specify a field weight, append a caret (^) symbol and the weight to the field name. For example, to boost the importance of the title field over the description field you could specify: \"fields\":[\"title^5\",\"description\"]. Valid values: The name of any configured field and an optional numeric value greater than zero. Default: All text and text-array fields. Valid for: simple, structured, lucene, and dismax.
  • operators: An array of the operators or special characters you want to disable for the simple query parser. If you disable the and, or, or not operators, the corresponding operators (+, |, -) have no special meaning and are dropped from the search string. Similarly, disabling prefix disables the wildcard operator (*) and disabling phrase disables the ability to search for phrases by enclosing phrases in double quotes. Disabling precedence disables the ability to control order of precedence using parentheses. Disabling near disables the ability to use the ~ operator to perform a sloppy phrase search. Disabling the fuzzy operator disables the ability to use the ~ operator to perform a fuzzy search. escape disables the ability to use a backslash (\\) to escape special characters within the search string. Disabling whitespace is an advanced option that prevents the parser from tokenizing on whitespace, which can be useful for Vietnamese. (It prevents Vietnamese words from being split incorrectly.) For example, you could disable all operators other than the phrase operator to support just simple term and phrase queries: \"operators\":[\"and\",\"not\",\"or\", \"prefix\"]. Valid values: and, escape, fuzzy, near, not, or, phrase, precedence, prefix, whitespace. Default: All operators and special characters are enabled. Valid for: simple.
  • phraseFields: An array of the text or text-array fields you want to use for phrase searches. When the terms in the search string appear in close proximity within a field, the field scores higher. You can specify a weight for each field to boost that score. The phraseSlop option controls how much the matches can deviate from the search string and still be boosted. To specify a field weight, append a caret (^) symbol and the weight to the field name. For example, to boost phrase matches in the title field over the abstract field, you could specify: \"phraseFields\":[\"title^3\", \"plot\"] Valid values: The name of any text or text-array field and an optional numeric value greater than zero. Default: No fields. If you don't specify any fields with phraseFields, proximity scoring is disabled even if phraseSlop is specified. Valid for: dismax.
  • phraseSlop: An integer value that specifies how much matches can deviate from the search phrase and still be boosted according to the weights specified in the phraseFields option; for example, phraseSlop: 2. You must also specify phraseFields to enable proximity scoring. Valid values: positive integers. Default: 0. Valid for: dismax.
  • explicitPhraseSlop: An integer value that specifies how much a match can deviate from the search phrase when the phrase is enclosed in double quotes in the search string. (Phrases that exceed this proximity distance are not considered a match.) For example, to specify a slop of three for dismax phrase queries, you would specify \"explicitPhraseSlop\":3. Valid values: positive integers. Default: 0. Valid for: dismax.
  • tieBreaker: When a term in the search string is found in a document's field, a score is calculated for that field based on how common the word is in that field compared to other documents. If the term occurs in multiple fields within a document, by default only the highest scoring field contributes to the document's overall score. You can specify a tieBreaker value to enable the matches in lower-scoring fields to contribute to the document's score. That way, if two documents have the same max field score for a particular term, the score for the document that has matches in more fields will be higher. The formula for calculating the score with a tieBreaker is (max field score) + (tieBreaker) * (sum of the scores for the rest of the matching fields). Set tieBreaker to 0 to disregard all but the highest scoring field (pure max): \"tieBreaker\":0. Set to 1 to sum the scores from all fields (pure sum): \"tieBreaker\":1. Valid values: 0.0 to 1.0. Default: 0.0. Valid for: dismax.
", - "location":"querystring", - "locationName":"q.options" - }, - "queryParser":{ - "shape":"QueryParser", - "documentation":"

Specifies which query parser to use to process the request. If queryParser is not specified, Amazon CloudSearch uses the simple query parser.

Amazon CloudSearch supports four query parsers:

  • simple: perform simple searches of text and text-array fields. By default, the simple query parser searches all text and text-array fields. You can specify which fields to search by with the queryOptions parameter. If you prefix a search term with a plus sign (+) documents must contain the term to be considered a match. (This is the default, unless you configure the default operator with the queryOptions parameter.) You can use the - (NOT), | (OR), and * (wildcard) operators to exclude particular terms, find results that match any of the specified terms, or search for a prefix. To search for a phrase rather than individual terms, enclose the phrase in double quotes. For more information, see Searching for Text in the Amazon CloudSearch Developer Guide.
  • structured: perform advanced searches by combining multiple expressions to define the search criteria. You can also search within particular fields, search for values and ranges of values, and use advanced options such as term boosting, matchall, and near. For more information, see Constructing Compound Queries in the Amazon CloudSearch Developer Guide.
  • lucene: search using the Apache Lucene query parser syntax. For more information, see Apache Lucene Query Parser Syntax.
  • dismax: search using the simplified subset of the Apache Lucene query parser syntax defined by the DisMax query parser. For more information, see DisMax Query Parser Syntax.
", - "location":"querystring", - "locationName":"q.parser" - }, - "return":{ - "shape":"Return", - "documentation":"

Specifies the field and expression values to include in the response. Multiple fields or expressions are specified as a comma-separated list. By default, a search response includes all return enabled fields (_all_fields). To return only the document IDs for the matching documents, specify _no_fields. To retrieve the relevance score calculated for each document, specify _score.

", - "location":"querystring", - "locationName":"return" - }, - "size":{ - "shape":"Size", - "documentation":"

Specifies the maximum number of search hits to include in the response.

", - "location":"querystring", - "locationName":"size" - }, - "sort":{ - "shape":"Sort", - "documentation":"

Specifies the fields or custom expressions to use to sort the search results. Multiple fields or expressions are specified as a comma-separated list. You must specify the sort direction (asc or desc) for each field; for example, year desc,title asc. To use a field to sort results, the field must be sort-enabled in the domain configuration. Array type fields cannot be used for sorting. If no sort parameter is specified, results are sorted by their default relevance scores in descending order: _score desc. You can also sort by document ID (_id asc) and version (_version desc).

For more information, see Sorting Results in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"sort" - }, - "start":{ - "shape":"Start", - "documentation":"

Specifies the offset of the first search hit you want to return. Note that the result set is zero-based; the first result is at index 0. You can specify either the start or cursor parameter in a request, they are mutually exclusive.

For more information, see Paginating Results in the Amazon CloudSearch Developer Guide.

", - "location":"querystring", - "locationName":"start" - }, - "stats":{ - "shape":"Stat", - "documentation":"

Specifies one or more fields for which to get statistics information. Each specified field must be facet-enabled in the domain configuration. The fields are specified in JSON using the form:

{\"FIELD-A\":{},\"FIELD-B\":{}}

There are currently no options supported for statistics.

", - "location":"querystring", - "locationName":"stats" - } - }, - "documentation":"

Container for the parameters to the Search request.

" - }, - "SearchResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"SearchStatus", - "documentation":"

The status information returned for the search request.

" - }, - "hits":{ - "shape":"Hits", - "documentation":"

The documents that match the search criteria.

" - }, - "facets":{ - "shape":"Facets", - "documentation":"

The requested facet information.

" - }, - "stats":{ - "shape":"Stats", - "documentation":"

The requested field statistics information.

" - } - }, - "documentation":"

The result of a Search request. Contains the documents that match the specified search criteria and any requested fields, highlights, and facet information.

" - }, - "SearchStatus":{ - "type":"structure", - "members":{ - "timems":{ - "shape":"Long", - "documentation":"

How long it took to process the request, in milliseconds.

" - }, - "rid":{ - "shape":"String", - "documentation":"

The encrypted resource ID for the request.

" - } - }, - "documentation":"

Contains the resource id (rid) and the time it took to process the request (timems).

" - }, - "Size":{"type":"long"}, - "Sort":{"type":"string"}, - "Start":{"type":"long"}, - "Stat":{"type":"string"}, - "Stats":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"FieldStats"}, - "documentation":"

The statistics calculated in the request.

" - }, - "String":{"type":"string"}, - "SuggestModel":{ - "type":"structure", - "members":{ - "query":{ - "shape":"String", - "documentation":"

The query string specified in the suggest request.

" - }, - "found":{ - "shape":"Long", - "documentation":"

The number of documents that were found to match the query string.

" - }, - "suggestions":{ - "shape":"Suggestions", - "documentation":"

The documents that match the query string.

" - } - }, - "documentation":"

Container for the suggestion information returned in a SuggestResponse.

" - }, - "SuggestRequest":{ - "type":"structure", - "required":[ - "query", - "suggester" - ], - "members":{ - "query":{ - "shape":"Query", - "documentation":"

Specifies the string for which you want to get suggestions.

", - "location":"querystring", - "locationName":"q" - }, - "suggester":{ - "shape":"Suggester", - "documentation":"

Specifies the name of the suggester to use to find suggested matches.

", - "location":"querystring", - "locationName":"suggester" - }, - "size":{ - "shape":"SuggestionsSize", - "documentation":"

Specifies the maximum number of suggestions to return.

", - "location":"querystring", - "locationName":"size" - } - }, - "documentation":"

Container for the parameters to the Suggest request.

" - }, - "SuggestResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"SuggestStatus", - "documentation":"

The status of a SuggestRequest. Contains the resource ID (rid) and how long it took to process the request (timems).

" - }, - "suggest":{ - "shape":"SuggestModel", - "documentation":"

Container for the matching search suggestion information.

" - } - }, - "documentation":"

Contains the response to a Suggest request.

" - }, - "SuggestStatus":{ - "type":"structure", - "members":{ - "timems":{ - "shape":"Long", - "documentation":"

How long it took to process the request, in milliseconds.

" - }, - "rid":{ - "shape":"String", - "documentation":"

The encrypted resource ID for the request.

" - } - }, - "documentation":"

Contains the resource id (rid) and the time it took to process the request (timems).

" - }, - "Suggester":{"type":"string"}, - "SuggestionMatch":{ - "type":"structure", - "members":{ - "suggestion":{ - "shape":"String", - "documentation":"

The string that matches the query string specified in the SuggestRequest.

" - }, - "score":{ - "shape":"Long", - "documentation":"

The relevance score of a suggested match.

" - }, - "id":{ - "shape":"String", - "documentation":"

The document ID of the suggested document.

" - } - }, - "documentation":"

An autocomplete suggestion that matches the query string specified in a SuggestRequest.

" - }, - "Suggestions":{ - "type":"list", - "member":{"shape":"SuggestionMatch"} - }, - "SuggestionsSize":{"type":"long"}, - "UploadDocumentsRequest":{ - "type":"structure", - "required":[ - "documents", - "contentType" - ], - "members":{ - "documents":{ - "shape":"Blob", - "documentation":"

A batch of documents formatted in JSON or HTML.

" - }, - "contentType":{ - "shape":"ContentType", - "documentation":"

The format of the batch you are uploading. Amazon CloudSearch supports two document batch formats:

  • application/json
  • application/xml
", - "location":"header", - "locationName":"Content-Type" - } - }, - "documentation":"

Container for the parameters to the UploadDocuments request.

", - "payload":"documents" - }, - "UploadDocumentsResponse":{ - "type":"structure", - "members":{ - "status":{ - "shape":"String", - "documentation":"

The status of an UploadDocumentsRequest.

" - }, - "adds":{ - "shape":"Adds", - "documentation":"

The number of documents that were added to the search domain.

" - }, - "deletes":{ - "shape":"Deletes", - "documentation":"

The number of documents that were deleted from the search domain.

" - }, - "warnings":{ - "shape":"DocumentServiceWarnings", - "documentation":"

Any warnings returned by the document service about the documents being uploaded.

" - } - }, - "documentation":"

Contains the response to an UploadDocuments request.

" - } - }, - "documentation":"

You use the AmazonCloudSearch2013 API to upload documents to a search domain and search those documents.

The endpoints for submitting UploadDocuments, Search, and Suggest requests are domain-specific. To get the endpoints for your domain, use the Amazon CloudSearch configuration service DescribeDomains action. The domain endpoints are also displayed on the domain dashboard in the Amazon CloudSearch console. You submit suggest requests to the search endpoint.

For more information, see the Amazon CloudSearch Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/paginators-1.json deleted file mode 100644 index b550340c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "LookupEvents": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Events" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/service-2.json deleted file mode 100644 index cc0ba898..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudtrail/2013-11-01/service-2.json +++ /dev/null @@ -1,1390 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-11-01", - "endpointPrefix":"cloudtrail", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CloudTrail", - "serviceFullName":"AWS CloudTrail", - "serviceId":"CloudTrail", - "signatureVersion":"v4", - "targetPrefix":"com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101", - "uid":"cloudtrail-2013-11-01" - }, - "operations":{ - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsRequest"}, - "output":{"shape":"AddTagsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"CloudTrailARNInvalidException"}, - {"shape":"ResourceTypeNotSupportedException"}, - {"shape":"TagsLimitExceededException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidTagParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Adds one or more tags to a trail, up to a limit of 50. Tags must be unique per trail. Overwrites an existing tag's value when a new value is specified for an existing tag key. If you specify a key without a value, the tag will be created with the specified key and a value of null. You can tag a trail that applies to all regions only from the region in which the trail was created (that is, from its home region).

", - "idempotent":true - }, - "CreateTrail":{ - "name":"CreateTrail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTrailRequest"}, - "output":{"shape":"CreateTrailResponse"}, - "errors":[ - {"shape":"MaximumNumberOfTrailsExceededException"}, - {"shape":"TrailAlreadyExistsException"}, - {"shape":"S3BucketDoesNotExistException"}, - {"shape":"InsufficientS3BucketPolicyException"}, - {"shape":"InsufficientSnsTopicPolicyException"}, - {"shape":"InsufficientEncryptionPolicyException"}, - {"shape":"InvalidS3BucketNameException"}, - {"shape":"InvalidS3PrefixException"}, - {"shape":"InvalidSnsTopicNameException"}, - {"shape":"InvalidKmsKeyIdException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"TrailNotProvidedException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"KmsKeyNotFoundException"}, - {"shape":"KmsKeyDisabledException"}, - {"shape":"KmsException"}, - {"shape":"InvalidCloudWatchLogsLogGroupArnException"}, - {"shape":"InvalidCloudWatchLogsRoleArnException"}, - {"shape":"CloudWatchLogsDeliveryUnavailableException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created.

", - "idempotent":true - }, - "DeleteTrail":{ - "name":"DeleteTrail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTrailRequest"}, - "output":{"shape":"DeleteTrailResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} - ], - "documentation":"

Deletes a trail. This operation must be called from the region in which the trail was created. DeleteTrail cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", - "idempotent":true - }, - "DescribeTrails":{ - "name":"DescribeTrails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrailsRequest"}, - "output":{"shape":"DescribeTrailsResponse"}, - "errors":[ - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Retrieves settings for the trail associated with the current region for your account.

", - "idempotent":true - }, - "GetEventSelectors":{ - "name":"GetEventSelectors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetEventSelectorsRequest"}, - "output":{"shape":"GetEventSelectorsResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

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":{ - "name":"GetTrailStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTrailStatusRequest"}, - "output":{"shape":"GetTrailStatusResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"} - ], - "documentation":"

Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns trail status from a single region. To return trail status from all regions, you must call the operation on each region.

", - "idempotent":true - }, - "ListPublicKeys":{ - "name":"ListPublicKeys", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPublicKeysRequest"}, - "output":{"shape":"ListPublicKeysResponse"}, - "errors":[ - {"shape":"InvalidTimeRangeException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidTokenException"} - ], - "documentation":"

Returns all public keys whose private keys were used to sign the digest files within the specified time range. The public key is needed to validate digest files that were signed with its corresponding private key.

CloudTrail uses different private/public key pairs per region. Each digest file is signed with a private key unique to its region. Therefore, when you validate a digest file from a particular region, you must look in the same region for its corresponding public key.

", - "idempotent":true - }, - "ListTags":{ - "name":"ListTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsRequest"}, - "output":{"shape":"ListTagsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"CloudTrailARNInvalidException"}, - {"shape":"ResourceTypeNotSupportedException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidTokenException"} - ], - "documentation":"

Lists the tags for the trail in the current region.

", - "idempotent":true - }, - "LookupEvents":{ - "name":"LookupEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LookupEventsRequest"}, - "output":{"shape":"LookupEventsResponse"}, - "errors":[ - {"shape":"InvalidLookupAttributesException"}, - {"shape":"InvalidTimeRangeException"}, - {"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

  • 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":{ - "name":"PutEventSelectors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutEventSelectorsRequest"}, - "output":{"shape":"PutEventSelectorsResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"}, - {"shape":"InvalidEventSelectorsException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "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":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsRequest"}, - "output":{"shape":"RemoveTagsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"CloudTrailARNInvalidException"}, - {"shape":"ResourceTypeNotSupportedException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidTagParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Removes the specified tags from a trail.

", - "idempotent":true - }, - "StartLogging":{ - "name":"StartLogging", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartLoggingRequest"}, - "output":{"shape":"StartLoggingResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} - ], - "documentation":"

Starts the recording of AWS API calls and log file delivery for a trail. For a trail that is enabled in all regions, this operation must be called from the region in which the trail was created. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", - "idempotent":true - }, - "StopLogging":{ - "name":"StopLogging", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopLoggingRequest"}, - "output":{"shape":"StopLoggingResponse"}, - "errors":[ - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} - ], - "documentation":"

Suspends the recording of AWS API calls and log file delivery for the specified trail. Under most circumstances, there is no need to use this action. You can update a trail without stopping it first. This action is the only way to stop recording. For a trail enabled in all regions, this operation must be called from the region in which the trail was created, or an InvalidHomeRegionException will occur. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail enabled in all regions.

", - "idempotent":true - }, - "UpdateTrail":{ - "name":"UpdateTrail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTrailRequest"}, - "output":{"shape":"UpdateTrailResponse"}, - "errors":[ - {"shape":"S3BucketDoesNotExistException"}, - {"shape":"InsufficientS3BucketPolicyException"}, - {"shape":"InsufficientSnsTopicPolicyException"}, - {"shape":"InsufficientEncryptionPolicyException"}, - {"shape":"TrailNotFoundException"}, - {"shape":"InvalidS3BucketNameException"}, - {"shape":"InvalidS3PrefixException"}, - {"shape":"InvalidSnsTopicNameException"}, - {"shape":"InvalidKmsKeyIdException"}, - {"shape":"InvalidTrailNameException"}, - {"shape":"TrailNotProvidedException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"InvalidHomeRegionException"}, - {"shape":"KmsKeyNotFoundException"}, - {"shape":"KmsKeyDisabledException"}, - {"shape":"KmsException"}, - {"shape":"InvalidCloudWatchLogsLogGroupArnException"}, - {"shape":"InvalidCloudWatchLogsRoleArnException"}, - {"shape":"CloudWatchLogsDeliveryUnavailableException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Updates the settings that specify delivery of log files. Changes to a trail do not require stopping the CloudTrail service. Use this action to designate an existing bucket for log delivery. If the existing bucket has previously been a target for CloudTrail log files, an IAM policy exists for the bucket. UpdateTrail must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

", - "idempotent":true - } - }, - "shapes":{ - "AddTagsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail to which one or more tags will be added. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "TagsList":{ - "shape":"TagsList", - "documentation":"

Contains a list of CloudTrail tags, up to a limit of 50

" - } - }, - "documentation":"

Specifies the tags to add to a trail.

" - }, - "AddTagsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "Boolean":{"type":"boolean"}, - "ByteBuffer":{"type":"blob"}, - "CloudTrailARNInvalidException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when an operation is called with an invalid trail ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

", - "exception":true - }, - "CloudWatchLogsDeliveryUnavailableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cannot set a CloudWatch Logs delivery for this region.

", - "exception":true - }, - "CreateTrailRequest":{ - "type":"structure", - "required":[ - "Name", - "S3BucketName" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name of the trail. The name must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" - }, - "SnsTopicName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

" - }, - "IncludeGlobalServiceEvents":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail is publishing events from global services such as IAM to the log files.

" - }, - "IsMultiRegionTrail":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail is created in the current region or in all regions. The default is false.

" - }, - "EnableLogFileValidation":{ - "shape":"Boolean", - "documentation":"

Specifies whether log file integrity validation is enabled. The default is false.

When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"String", - "documentation":"

Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

" - }, - "KmsKeyId":{ - "shape":"String", - "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.

" - }, - "CreateTrailResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name of the trail.

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" - }, - "SnsTopicName":{ - "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", - "deprecated":true - }, - "SnsTopicARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" - }, - "IncludeGlobalServiceEvents":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail is publishing events from global services such as IAM to the log files.

" - }, - "IsMultiRegionTrail":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail exists in one region or in all regions.

" - }, - "TrailARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail that was created. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "LogFileValidationEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether log file integrity validation is enabled.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"String", - "documentation":"

Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "DataResource":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

The resource type in which you want to log data events. You can specify only the following value: AWS::S3::Object.

" - }, - "Values":{ - "shape":"DataResourceValues", - "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 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", - "member":{"shape":"String"} - }, - "DataResources":{ - "type":"list", - "member":{"shape":"DataResource"} - }, - "Date":{"type":"timestamp"}, - "DeleteTrailRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail to be deleted. The format of a trail ARN is: arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - } - }, - "documentation":"

The request that specifies the name of a trail to delete.

" - }, - "DeleteTrailResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "DescribeTrailsRequest":{ - "type":"structure", - "members":{ - "trailNameList":{ - "shape":"TrailNameList", - "documentation":"

Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

If an empty list is specified, information for the trail in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is false, then information for all trails in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned.

If one or more trail names are specified, information is returned only if the names match the names of trails belonging only to the current region. To return information about a trail in another region, you must specify its trail ARN.

" - }, - "includeShadowTrails":{ - "shape":"Boolean", - "documentation":"

Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region. The default is true.

" - } - }, - "documentation":"

Returns information about the trail.

" - }, - "DescribeTrailsResponse":{ - "type":"structure", - "members":{ - "trailList":{ - "shape":"TrailList", - "documentation":"

The list of trail objects.

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "Event":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"String", - "documentation":"

The CloudTrail ID of the event returned.

" - }, - "EventName":{ - "shape":"String", - "documentation":"

The name of the event returned.

" - }, - "EventTime":{ - "shape":"Date", - "documentation":"

The date and time of the event returned.

" - }, - "EventSource":{ - "shape":"String", - "documentation":"

The AWS service that the request was made to.

" - }, - "Username":{ - "shape":"String", - "documentation":"

A user name or role name of the requester that called the API in the event returned.

" - }, - "Resources":{ - "shape":"ResourceList", - "documentation":"

A list of resources referenced by the event returned.

" - }, - "CloudTrailEvent":{ - "shape":"String", - "documentation":"

A JSON string that contains a representation of the event returned.

" - } - }, - "documentation":"

Contains information about an event that was returned by a lookup request. The result includes a representation of a CloudTrail event.

" - }, - "EventSelector":{ - "type":"structure", - "members":{ - "ReadWriteType":{ - "shape":"ReadWriteType", - "documentation":"

Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.

By default, the value is All.

" - }, - "IncludeManagementEvents":{ - "shape":"Boolean", - "documentation":"

Specify if you want your event selector to include management events for your trail.

For more information, see Management Events in the AWS CloudTrail User Guide.

By default, the value is true.

" - }, - "DataResources":{ - "shape":"DataResources", - "documentation":"

CloudTrail supports 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 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", - "member":{"shape":"EventSelector"} - }, - "EventsList":{ - "type":"list", - "member":{"shape":"Event"} - }, - "GetEventSelectorsRequest":{ - "type":"structure", - "required":["TrailName"], - "members":{ - "TrailName":{ - "shape":"String", - "documentation":"

Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If you specify a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - } - } - }, - "GetEventSelectorsResponse":{ - "type":"structure", - "members":{ - "TrailARN":{ - "shape":"String", - "documentation":"

The specified trail ARN that has the event selectors.

" - }, - "EventSelectors":{ - "shape":"EventSelectors", - "documentation":"

The event selectors that are configured for the trail.

" - } - } - }, - "GetTrailStatusRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which you are requesting status. To get the status of a shadow trail (a replication of the trail in another region), you must specify its ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - } - }, - "documentation":"

The name of a trail about which you want the current status.

" - }, - "GetTrailStatusResponse":{ - "type":"structure", - "members":{ - "IsLogging":{ - "shape":"Boolean", - "documentation":"

Whether the CloudTrail is currently logging AWS API calls.

" - }, - "LatestDeliveryError":{ - "shape":"String", - "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" - }, - "LatestNotificationError":{ - "shape":"String", - "documentation":"

Displays any Amazon SNS error that CloudTrail encountered when attempting to send a notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide.

" - }, - "LatestDeliveryTime":{ - "shape":"Date", - "documentation":"

Specifies the date and time that CloudTrail last delivered log files to an account's Amazon S3 bucket.

" - }, - "LatestNotificationTime":{ - "shape":"Date", - "documentation":"

Specifies the date and time of the most recent Amazon SNS notification that CloudTrail has written a new log file to an account's Amazon S3 bucket.

" - }, - "StartLoggingTime":{ - "shape":"Date", - "documentation":"

Specifies the most recent date and time when CloudTrail started recording API calls for an AWS account.

" - }, - "StopLoggingTime":{ - "shape":"Date", - "documentation":"

Specifies the most recent date and time when CloudTrail stopped recording API calls for an AWS account.

" - }, - "LatestCloudWatchLogsDeliveryError":{ - "shape":"String", - "documentation":"

Displays any CloudWatch Logs error that CloudTrail encountered when attempting to deliver logs to CloudWatch Logs.

" - }, - "LatestCloudWatchLogsDeliveryTime":{ - "shape":"Date", - "documentation":"

Displays the most recent date and time when CloudTrail delivered logs to CloudWatch Logs.

" - }, - "LatestDigestDeliveryTime":{ - "shape":"Date", - "documentation":"

Specifies the date and time that CloudTrail last delivered a digest file to an account's Amazon S3 bucket.

" - }, - "LatestDigestDeliveryError":{ - "shape":"String", - "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest file to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" - }, - "LatestDeliveryAttemptTime":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - }, - "LatestNotificationAttemptTime":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - }, - "LatestNotificationAttemptSucceeded":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - }, - "LatestDeliveryAttemptSucceeded":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - }, - "TimeLoggingStarted":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - }, - "TimeLoggingStopped":{ - "shape":"String", - "documentation":"

This field is deprecated.

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "InsufficientEncryptionPolicyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the policy on the S3 bucket or KMS key is not sufficient.

", - "exception":true - }, - "InsufficientS3BucketPolicyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the policy on the S3 bucket is not sufficient.

", - "exception":true - }, - "InsufficientSnsTopicPolicyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the policy on the SNS topic is not sufficient.

", - "exception":true - }, - "InvalidCloudWatchLogsLogGroupArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided CloudWatch log group is not valid.

", - "exception":true - }, - "InvalidCloudWatchLogsRoleArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided role is not valid.

", - "exception":true - }, - "InvalidEventSelectorsException":{ - "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 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":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when an operation is called on a trail from a region other than the region in which the trail was created.

", - "exception":true - }, - "InvalidKmsKeyIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the KMS key ARN is invalid.

", - "exception":true - }, - "InvalidLookupAttributesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Occurs when an invalid lookup attribute is specified.

", - "exception":true - }, - "InvalidMaxResultsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown if the limit specified is invalid.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Invalid token or token that was previously used in a request with different parameters. This exception is thrown if the token is invalid.

", - "exception":true - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the combination of parameters provided is not valid.

", - "exception":true - }, - "InvalidS3BucketNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided S3 bucket name is not valid.

", - "exception":true - }, - "InvalidS3PrefixException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided S3 prefix is not valid.

", - "exception":true - }, - "InvalidSnsTopicNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided SNS topic name is not valid.

", - "exception":true - }, - "InvalidTagParameterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the key or value specified for the tag does not match the regular expression ^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$.

", - "exception":true - }, - "InvalidTimeRangeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Occurs if the timestamp values are invalid. Either the start time occurs after the end time or the time range is outside the range of possible values.

", - "exception":true - }, - "InvalidTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Reserved for future use.

", - "exception":true - }, - "InvalidTrailNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the provided trail name is not valid. Trail names must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

", - "exception":true - }, - "KmsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when there is an issue with the specified KMS key and the trail can’t be updated.

", - "exception":true - }, - "KmsKeyDisabledException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is deprecated.

", - "deprecated":true, - "exception":true - }, - "KmsKeyNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the KMS key does not exist, or when the S3 bucket and the KMS key are not in the same region.

", - "exception":true - }, - "ListPublicKeysRequest":{ - "type":"structure", - "members":{ - "StartTime":{ - "shape":"Date", - "documentation":"

Optionally specifies, in UTC, the start of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used, and the current public key is returned.

" - }, - "EndTime":{ - "shape":"Date", - "documentation":"

Optionally specifies, in UTC, the end of the time range to look up public keys for CloudTrail digest files. If not specified, the current time is used.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

Requests the public keys for a specified time range.

" - }, - "ListPublicKeysResponse":{ - "type":"structure", - "members":{ - "PublicKeyList":{ - "shape":"PublicKeyList", - "documentation":"

Contains an array of PublicKey objects.

The returned public keys may have validity time ranges that overlap.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "ListTagsRequest":{ - "type":"structure", - "required":["ResourceIdList"], - "members":{ - "ResourceIdList":{ - "shape":"ResourceIdList", - "documentation":"

Specifies a list of trail ARNs whose tags will be listed. The list has a limit of 20 ARNs. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

Specifies a list of trail tags to return.

" - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "ResourceTagList":{ - "shape":"ResourceTagList", - "documentation":"

A list of resource tags.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "LookupAttribute":{ - "type":"structure", - "required":[ - "AttributeKey", - "AttributeValue" - ], - "members":{ - "AttributeKey":{ - "shape":"LookupAttributeKey", - "documentation":"

Specifies an attribute on which to filter the events returned.

" - }, - "AttributeValue":{ - "shape":"String", - "documentation":"

Specifies a value for the specified AttributeKey.

" - } - }, - "documentation":"

Specifies an attribute and value that filter the events returned.

" - }, - "LookupAttributeKey":{ - "type":"string", - "enum":[ - "EventId", - "EventName", - "Username", - "ResourceType", - "ResourceName", - "EventSource" - ] - }, - "LookupAttributesList":{ - "type":"list", - "member":{"shape":"LookupAttribute"} - }, - "LookupEventsRequest":{ - "type":"structure", - "members":{ - "LookupAttributes":{ - "shape":"LookupAttributesList", - "documentation":"

Contains a list of lookup attributes. Currently the list can contain only one item.

" - }, - "StartTime":{ - "shape":"Date", - "documentation":"

Specifies that only events that occur after or at the specified time are returned. If the specified start time is after the specified end time, an error is returned.

" - }, - "EndTime":{ - "shape":"Date", - "documentation":"

Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The number of events to return. Possible values are 1 through 50. The default is 10.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

" - } - }, - "documentation":"

Contains a request for LookupEvents.

" - }, - "LookupEventsResponse":{ - "type":"structure", - "members":{ - "Events":{ - "shape":"EventsList", - "documentation":"

A list of events returned based on the lookup attributes specified and the CloudTrail event. The events list is sorted by time. The most recent event is listed first.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to get the next page of results after a previous API call. If the token does not appear, there are no more results to return. The token must be passed in with the same parameters as the previous call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

" - } - }, - "documentation":"

Contains a response to a LookupEvents action.

" - }, - "MaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "MaximumNumberOfTrailsExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the maximum number of trails is reached.

", - "exception":true - }, - "NextToken":{"type":"string"}, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the requested operation is not permitted.

", - "exception":true - }, - "PublicKey":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"ByteBuffer", - "documentation":"

The DER encoded public key value in PKCS#1 format.

" - }, - "ValidityStartTime":{ - "shape":"Date", - "documentation":"

The starting time of validity of the public key.

" - }, - "ValidityEndTime":{ - "shape":"Date", - "documentation":"

The ending time of validity of the public key.

" - }, - "Fingerprint":{ - "shape":"String", - "documentation":"

The fingerprint of the public key.

" - } - }, - "documentation":"

Contains information about a returned public key.

" - }, - "PublicKeyList":{ - "type":"list", - "member":{"shape":"PublicKey"} - }, - "PutEventSelectorsRequest":{ - "type":"structure", - "required":[ - "TrailName", - "EventSelectors" - ], - "members":{ - "TrailName":{ - "shape":"String", - "documentation":"

Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If you specify a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "EventSelectors":{ - "shape":"EventSelectors", - "documentation":"

Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

" - } - } - }, - "PutEventSelectorsResponse":{ - "type":"structure", - "members":{ - "TrailARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail that was updated with event selectors. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "EventSelectors":{ - "shape":"EventSelectors", - "documentation":"

Specifies the event selectors configured for your trail.

" - } - } - }, - "ReadWriteType":{ - "type":"string", - "enum":[ - "ReadOnly", - "WriteOnly", - "All" - ] - }, - "RemoveTagsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail from which tags should be removed. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "TagsList":{ - "shape":"TagsList", - "documentation":"

Specifies a list of tags to be removed.

" - } - }, - "documentation":"

Specifies the tags to remove from a trail.

" - }, - "RemoveTagsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "Resource":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"String", - "documentation":"

The type of a resource referenced by the event returned. When the resource type cannot be determined, null is returned. Some examples of resource types are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM. For a list of resource types supported for event lookup, see Resource Types Supported for Event Lookup.

" - }, - "ResourceName":{ - "shape":"String", - "documentation":"

The name of the resource referenced by the event returned. These are user-created names whose values will depend on the environment. For example, the resource name might be \"auto-scaling-test-group\" for an Auto Scaling Group or \"i-1234567\" for an EC2 Instance.

" - } - }, - "documentation":"

Specifies the type and name of a resource referenced by an event.

" - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceList":{ - "type":"list", - "member":{"shape":"Resource"}, - "documentation":"

A list of resources referenced by the event returned.

" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the specified resource is not found.

", - "exception":true - }, - "ResourceTag":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

Specifies the ARN of the resource.

" - }, - "TagsList":{ - "shape":"TagsList", - "documentation":"

A list of tags.

" - } - }, - "documentation":"

A resource tag.

" - }, - "ResourceTagList":{ - "type":"list", - "member":{"shape":"ResourceTag"} - }, - "ResourceTypeNotSupportedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the specified resource type is not supported by CloudTrail.

", - "exception":true - }, - "S3BucketDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the specified S3 bucket does not exist.

", - "exception":true - }, - "StartLoggingRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - } - }, - "documentation":"

The request to CloudTrail to start logging AWS API calls for an account.

" - }, - "StartLoggingResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "StopLoggingRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail will stop logging AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - } - }, - "documentation":"

Passes the request to CloudTrail to stop logging AWS API calls for the specified account.

" - }, - "StopLoggingResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - }, - "String":{"type":"string"}, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key in a key-value pair. The key must be must be no longer than 128 Unicode characters. The key must be unique for the resource to which it applies.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value in a key-value pair of a tag. The value must be no longer than 256 Unicode characters.

" - } - }, - "documentation":"

A custom key-value pair associated with a resource such as a CloudTrail trail.

" - }, - "TagsLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of tags per trail has exceeded the permitted amount. Currently, the limit is 50.

", - "exception":true - }, - "TagsList":{ - "type":"list", - "member":{"shape":"Tag"}, - "documentation":"

A list of tags.

" - }, - "Trail":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Name of the trail set by calling CreateTrail. The maximum length is 128 characters.

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

" - }, - "SnsTopicName":{ - "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", - "deprecated":true - }, - "SnsTopicARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" - }, - "IncludeGlobalServiceEvents":{ - "shape":"Boolean", - "documentation":"

Set to True to include AWS API calls from AWS global services such as IAM. Otherwise, False.

" - }, - "IsMultiRegionTrail":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail belongs only to one region or exists in all regions.

" - }, - "HomeRegion":{ - "shape":"String", - "documentation":"

The region in which the trail was created.

" - }, - "TrailARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "LogFileValidationEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether log file validation is enabled.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"String", - "documentation":"

Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" - }, - "HasCustomEventSelectors":{ - "shape":"Boolean", - "documentation":"

Specifies if the trail has custom event selectors.

" - } - }, - "documentation":"

The settings for a trail.

" - }, - "TrailAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the specified trail already exists.

", - "exception":true - }, - "TrailList":{ - "type":"list", - "member":{"shape":"Trail"} - }, - "TrailNameList":{ - "type":"list", - "member":{"shape":"String"} - }, - "TrailNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the trail with the given name is not found.

", - "exception":true - }, - "TrailNotProvidedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is deprecated.

", - "exception":true - }, - "UnsupportedOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown when the requested operation is not supported.

", - "exception":true - }, - "UpdateTrailRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name of the trail or trail ARN. If Name is a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If Name is a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" - }, - "SnsTopicName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon SNS topic defined for notification of log file delivery. The maximum length is 256 characters.

" - }, - "IncludeGlobalServiceEvents":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail is publishing events from global services such as IAM to the log files.

" - }, - "IsMultiRegionTrail":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted.

" - }, - "EnableLogFileValidation":{ - "shape":"Boolean", - "documentation":"

Specifies whether log file validation is enabled. The default is false.

When you disable log file integrity validation, the chain of digest files is broken after one hour. CloudTrail will not create digest files for log files that were delivered during a period in which log file integrity validation was disabled. For example, if you enable log file integrity validation at noon on January 1, disable it at noon on January 2, and re-enable it at noon on January 10, digest files will not be created for the log files delivered from noon on January 2 to noon on January 10. The same applies whenever you stop CloudTrail logging or delete a trail.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"String", - "documentation":"

Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered. Not required unless you specify CloudWatchLogsRoleArn.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

" - }, - "KmsKeyId":{ - "shape":"String", - "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.

" - }, - "UpdateTrailResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Specifies the name of the trail.

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" - }, - "SnsTopicName":{ - "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", - "deprecated":true - }, - "SnsTopicARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" - }, - "IncludeGlobalServiceEvents":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail is publishing events from global services such as IAM to the log files.

" - }, - "IsMultiRegionTrail":{ - "shape":"Boolean", - "documentation":"

Specifies whether the trail exists in one region or in all regions.

" - }, - "TrailARN":{ - "shape":"String", - "documentation":"

Specifies the ARN of the trail that was updated. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" - }, - "LogFileValidationEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether log file integrity validation is enabled.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"String", - "documentation":"

Specifies the Amazon Resource Name (ARN) of the log group to which CloudTrail logs will be delivered.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"String", - "documentation":"

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" - } - }, - "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" - } - }, - "documentation":"AWS CloudTrail

This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service.

As an alternative to the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

See the AWS CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/paginators-1.json deleted file mode 100644 index b0bf527f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/paginators-1.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pagination": { - "DescribeAlarmHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "AlarmHistoryItems" - }, - "DescribeAlarms": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "MetricAlarms" - }, - "ListDashboards": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "DashboardEntries" - }, - "ListMetrics": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Metrics" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/service-2.json deleted file mode 100644 index a572ec7b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/service-2.json +++ /dev/null @@ -1,1726 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-08-01", - "endpointPrefix":"monitoring", - "protocol":"query", - "serviceAbbreviation":"CloudWatch", - "serviceFullName":"Amazon CloudWatch", - "serviceId":"CloudWatch", - "signatureVersion":"v4", - "uid":"monitoring-2010-08-01", - "xmlNamespace":"http://monitoring.amazonaws.com/doc/2010-08-01/" - }, - "operations":{ - "DeleteAlarms":{ - "name":"DeleteAlarms", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAlarmsInput"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Deletes the specified alarms. In the event of an error, no alarms are deleted.

" - }, - "DeleteDashboards":{ - "name":"DeleteDashboards", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDashboardsInput"}, - "output":{ - "shape":"DeleteDashboardsOutput", - "resultWrapper":"DeleteDashboardsResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"DashboardNotFoundError"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Deletes all dashboards that you specify. You may specify up to 100 dashboards to delete. If there is an error during this call, no dashboards are deleted.

" - }, - "DescribeAlarmHistory":{ - "name":"DescribeAlarmHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAlarmHistoryInput"}, - "output":{ - "shape":"DescribeAlarmHistoryOutput", - "resultWrapper":"DescribeAlarmHistoryResult" - }, - "errors":[ - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for all alarms are returned.

CloudWatch retains the history of an alarm even if you delete the alarm.

" - }, - "DescribeAlarms":{ - "name":"DescribeAlarms", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAlarmsInput"}, - "output":{ - "shape":"DescribeAlarmsOutput", - "resultWrapper":"DescribeAlarmsResult" - }, - "errors":[ - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieves the specified alarms. If no alarms are specified, all alarms are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.

" - }, - "DescribeAlarmsForMetric":{ - "name":"DescribeAlarmsForMetric", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAlarmsForMetricInput"}, - "output":{ - "shape":"DescribeAlarmsForMetricOutput", - "resultWrapper":"DescribeAlarmsForMetricResult" - }, - "documentation":"

Retrieves the alarms for the specified metric. To filter the results, specify a statistic, period, or unit.

" - }, - "DisableAlarmActions":{ - "name":"DisableAlarmActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableAlarmActionsInput"}, - "documentation":"

Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.

" - }, - "EnableAlarmActions":{ - "name":"EnableAlarmActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableAlarmActionsInput"}, - "documentation":"

Enables the actions for the specified alarms.

" - }, - "GetDashboard":{ - "name":"GetDashboard", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDashboardInput"}, - "output":{ - "shape":"GetDashboardOutput", - "resultWrapper":"GetDashboardResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"DashboardNotFoundError"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Displays the details of the dashboard that you specify.

To copy an existing dashboard, use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard to create the copy.

" - }, - "GetMetricData":{ - "name":"GetMetricData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMetricDataInput"}, - "output":{ - "shape":"GetMetricDataOutput", - "resultWrapper":"GetMetricDataResult" - }, - "errors":[ - {"shape":"InvalidNextToken"} - ], - "documentation":"

You can use the GetMetricData API to retrieve as many as 100 different metrics in a single request, with a total of as many as 100,800 datapoints. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing.

" - }, - "GetMetricStatistics":{ - "name":"GetMetricStatistics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMetricStatisticsInput"}, - "output":{ - "shape":"GetMetricStatisticsOutput", - "resultWrapper":"GetMetricStatisticsResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" - }, - "ListDashboards":{ - "name":"ListDashboards", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDashboardsInput"}, - "output":{ - "shape":"ListDashboardsOutput", - "resultWrapper":"ListDashboardsResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Returns a list of the dashboards for your account. If you include DashboardNamePrefix, only those dashboards with names starting with the prefix are listed. Otherwise, all dashboards in your account are listed.

" - }, - "ListMetrics":{ - "name":"ListMetrics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListMetricsInput"}, - "output":{ - "shape":"ListMetricsOutput", - "resultWrapper":"ListMetricsResult" - }, - "errors":[ - {"shape":"InternalServiceFault"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

List the specified metrics. You can use the returned metrics with GetMetricStatistics to obtain statistical data.

Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls.

After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricStatistics.

" - }, - "PutDashboard":{ - "name":"PutDashboard", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutDashboardInput"}, - "output":{ - "shape":"PutDashboardOutput", - "resultWrapper":"PutDashboardResult" - }, - "errors":[ - {"shape":"DashboardInvalidInputError"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here.

You can have up to 500 dashboards per account. All dashboards in your account are global, not region-specific.

A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard.

When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard.

" - }, - "PutMetricAlarm":{ - "name":"PutMetricAlarm", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutMetricAlarmInput"}, - "errors":[ - {"shape":"LimitExceededFault"} - ], - "documentation":"

Creates or updates an alarm and associates it with the specified metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is evaluated and its state is set appropriately. Any actions associated with the state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some operations:

  • iam:CreateServiceLinkedRole for all alarms with EC2 actions

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics

  • ec2:StopInstances for alarms with stop actions

  • ec2:TerminateInstances for alarms with terminate actions

  • ec2:DescribeInstanceRecoveryAttribute and ec2:RecoverInstances for alarms with recover actions

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

You must create at least one stop, terminate, or reboot alarm using either the Amazon EC2 or CloudWatch consoles to create the EC2ActionsAccess IAM role. After this IAM role is created, you can create stop, terminate, or reboot alarms using a command-line interface or API.

" - }, - "PutMetricData":{ - "name":"PutMetricData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutMetricDataInput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"InternalServiceFault"} - ], - "documentation":"

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for 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 can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1

  • The Min and the Max values of the statistic set are equal

" - }, - "SetAlarmState":{ - "name":"SetAlarmState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetAlarmStateInput"}, - "errors":[ - {"shape":"ResourceNotFound"}, - {"shape":"InvalidFormatFault"} - ], - "documentation":"

Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message. The alarm returns to its actual state (often within seconds). Because the alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

" - } - }, - "shapes":{ - "ActionPrefix":{ - "type":"string", - "max":1024, - "min":1 - }, - "ActionsEnabled":{"type":"boolean"}, - "AlarmArn":{ - "type":"string", - "max":1600, - "min":1 - }, - "AlarmDescription":{ - "type":"string", - "max":1024, - "min":0 - }, - "AlarmHistoryItem":{ - "type":"structure", - "members":{ - "AlarmName":{ - "shape":"AlarmName", - "documentation":"

The descriptive name for the alarm.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp for the alarm history item.

" - }, - "HistoryItemType":{ - "shape":"HistoryItemType", - "documentation":"

The type of alarm history item.

" - }, - "HistorySummary":{ - "shape":"HistorySummary", - "documentation":"

A summary of the alarm history, in text format.

" - }, - "HistoryData":{ - "shape":"HistoryData", - "documentation":"

Data about the alarm, in JSON format.

" - } - }, - "documentation":"

Represents the history of a specific alarm.

" - }, - "AlarmHistoryItems":{ - "type":"list", - "member":{"shape":"AlarmHistoryItem"} - }, - "AlarmName":{ - "type":"string", - "max":255, - "min":1 - }, - "AlarmNamePrefix":{ - "type":"string", - "max":255, - "min":1 - }, - "AlarmNames":{ - "type":"list", - "member":{"shape":"AlarmName"}, - "max":100 - }, - "AwsQueryErrorMessage":{"type":"string"}, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" - ] - }, - "DashboardArn":{"type":"string"}, - "DashboardBody":{"type":"string"}, - "DashboardEntries":{ - "type":"list", - "member":{"shape":"DashboardEntry"} - }, - "DashboardEntry":{ - "type":"structure", - "members":{ - "DashboardName":{ - "shape":"DashboardName", - "documentation":"

The name of the dashboard.

" - }, - "DashboardArn":{ - "shape":"DashboardArn", - "documentation":"

The Amazon Resource Name (ARN) of the dashboard.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

The time stamp of when the dashboard was last modified, either by an API call or through the console. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" - }, - "Size":{ - "shape":"Size", - "documentation":"

The size of the dashboard, in bytes.

" - } - }, - "documentation":"

Represents a specific dashboard.

" - }, - "DashboardErrorMessage":{"type":"string"}, - "DashboardInvalidInputError":{ - "type":"structure", - "members":{ - "message":{"shape":"DashboardErrorMessage"}, - "dashboardValidationMessages":{"shape":"DashboardValidationMessages"} - }, - "documentation":"

Some part of the dashboard data is invalid.

", - "error":{ - "code":"InvalidParameterInput", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DashboardName":{"type":"string"}, - "DashboardNamePrefix":{"type":"string"}, - "DashboardNames":{ - "type":"list", - "member":{"shape":"DashboardName"} - }, - "DashboardNotFoundError":{ - "type":"structure", - "members":{ - "message":{"shape":"DashboardErrorMessage"} - }, - "documentation":"

The specified dashboard does not exist.

", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DashboardValidationMessage":{ - "type":"structure", - "members":{ - "DataPath":{ - "shape":"DataPath", - "documentation":"

The data path related to the message.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A message describing the error or warning.

" - } - }, - "documentation":"

An error or warning for the operation.

" - }, - "DashboardValidationMessages":{ - "type":"list", - "member":{"shape":"DashboardValidationMessage"} - }, - "DataPath":{"type":"string"}, - "Datapoint":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp used for the data point.

" - }, - "SampleCount":{ - "shape":"DatapointValue", - "documentation":"

The number of metric values that contributed to the aggregate value of this data point.

" - }, - "Average":{ - "shape":"DatapointValue", - "documentation":"

The average of the metric values that correspond to the data point.

" - }, - "Sum":{ - "shape":"DatapointValue", - "documentation":"

The sum of the metric values for the data point.

" - }, - "Minimum":{ - "shape":"DatapointValue", - "documentation":"

The minimum metric value for the data point.

" - }, - "Maximum":{ - "shape":"DatapointValue", - "documentation":"

The maximum metric value for the data point.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The standard unit for the data point.

" - }, - "ExtendedStatistics":{ - "shape":"DatapointValueMap", - "documentation":"

The percentile statistic for the data point.

" - } - }, - "documentation":"

Encapsulates the statistical data that CloudWatch computes from metric data.

", - "xmlOrder":[ - "Timestamp", - "SampleCount", - "Average", - "Sum", - "Minimum", - "Maximum", - "Unit", - "ExtendedStatistics" - ] - }, - "DatapointValue":{"type":"double"}, - "DatapointValueMap":{ - "type":"map", - "key":{"shape":"ExtendedStatistic"}, - "value":{"shape":"DatapointValue"} - }, - "DatapointValues":{ - "type":"list", - "member":{"shape":"DatapointValue"} - }, - "Datapoints":{ - "type":"list", - "member":{"shape":"Datapoint"} - }, - "DatapointsToAlarm":{ - "type":"integer", - "min":1 - }, - "DeleteAlarmsInput":{ - "type":"structure", - "required":["AlarmNames"], - "members":{ - "AlarmNames":{ - "shape":"AlarmNames", - "documentation":"

The alarms to be deleted.

" - } - } - }, - "DeleteDashboardsInput":{ - "type":"structure", - "required":["DashboardNames"], - "members":{ - "DashboardNames":{ - "shape":"DashboardNames", - "documentation":"

The dashboards to be deleted. This parameter is required.

" - } - } - }, - "DeleteDashboardsOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeAlarmHistoryInput":{ - "type":"structure", - "members":{ - "AlarmName":{ - "shape":"AlarmName", - "documentation":"

The name of the alarm.

" - }, - "HistoryItemType":{ - "shape":"HistoryItemType", - "documentation":"

The type of alarm histories to retrieve.

" - }, - "StartDate":{ - "shape":"Timestamp", - "documentation":"

The starting date to retrieve alarm history.

" - }, - "EndDate":{ - "shape":"Timestamp", - "documentation":"

The ending date to retrieve alarm history.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of alarm history records to retrieve.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - } - } - }, - "DescribeAlarmHistoryOutput":{ - "type":"structure", - "members":{ - "AlarmHistoryItems":{ - "shape":"AlarmHistoryItems", - "documentation":"

The alarm histories, in JSON format.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token that marks the start of the next batch of returned results.

" - } - } - }, - "DescribeAlarmsForMetricInput":{ - "type":"structure", - "required":[ - "MetricName", - "Namespace" - ], - "members":{ - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace of the metric.

" - }, - "Statistic":{ - "shape":"Statistic", - "documentation":"

The statistic for the metric, other than percentiles. For percentile statistics, use ExtendedStatistics.

" - }, - "ExtendedStatistic":{ - "shape":"ExtendedStatistic", - "documentation":"

The percentile statistic for the metric. Specify a value between p0.0 and p100.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the call to succeed.

" - }, - "Period":{ - "shape":"Period", - "documentation":"

The period, in seconds, over which the statistic is applied.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit for the metric.

" - } - } - }, - "DescribeAlarmsForMetricOutput":{ - "type":"structure", - "members":{ - "MetricAlarms":{ - "shape":"MetricAlarms", - "documentation":"

The information for each alarm with the specified metric.

" - } - } - }, - "DescribeAlarmsInput":{ - "type":"structure", - "members":{ - "AlarmNames":{ - "shape":"AlarmNames", - "documentation":"

The names of the alarms.

" - }, - "AlarmNamePrefix":{ - "shape":"AlarmNamePrefix", - "documentation":"

The alarm name prefix. If this parameter is specified, you cannot specify AlarmNames.

" - }, - "StateValue":{ - "shape":"StateValue", - "documentation":"

The state value to be used in matching alarms.

" - }, - "ActionPrefix":{ - "shape":"ActionPrefix", - "documentation":"

The action name prefix.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of alarm descriptions to retrieve.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - } - } - }, - "DescribeAlarmsOutput":{ - "type":"structure", - "members":{ - "MetricAlarms":{ - "shape":"MetricAlarms", - "documentation":"

The information for the specified alarms.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token that marks the start of the next batch of returned results.

" - } - } - }, - "Dimension":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"DimensionName", - "documentation":"

The name of the dimension.

" - }, - "Value":{ - "shape":"DimensionValue", - "documentation":"

The value representing the dimension measurement.

" - } - }, - "documentation":"

Expands the identity of a metric.

", - "xmlOrder":[ - "Name", - "Value" - ] - }, - "DimensionFilter":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DimensionName", - "documentation":"

The dimension name to be matched.

" - }, - "Value":{ - "shape":"DimensionValue", - "documentation":"

The value of the dimension to be matched.

" - } - }, - "documentation":"

Represents filters for a dimension.

" - }, - "DimensionFilters":{ - "type":"list", - "member":{"shape":"DimensionFilter"}, - "max":10 - }, - "DimensionName":{ - "type":"string", - "max":255, - "min":1 - }, - "DimensionValue":{ - "type":"string", - "max":255, - "min":1 - }, - "Dimensions":{ - "type":"list", - "member":{"shape":"Dimension"}, - "max":10 - }, - "DisableAlarmActionsInput":{ - "type":"structure", - "required":["AlarmNames"], - "members":{ - "AlarmNames":{ - "shape":"AlarmNames", - "documentation":"

The names of the alarms.

" - } - } - }, - "EnableAlarmActionsInput":{ - "type":"structure", - "required":["AlarmNames"], - "members":{ - "AlarmNames":{ - "shape":"AlarmNames", - "documentation":"

The names of the alarms.

" - } - } - }, - "ErrorMessage":{ - "type":"string", - "max":255, - "min":1 - }, - "EvaluateLowSampleCountPercentile":{ - "type":"string", - "max":255, - "min":1 - }, - "EvaluationPeriods":{ - "type":"integer", - "min":1 - }, - "ExtendedStatistic":{ - "type":"string", - "pattern":"p(\\d{1,2}(\\.\\d{0,2})?|100)" - }, - "ExtendedStatistics":{ - "type":"list", - "member":{"shape":"ExtendedStatistic"}, - "max":10, - "min":1 - }, - "FaultDescription":{"type":"string"}, - "GetDashboardInput":{ - "type":"structure", - "required":["DashboardName"], - "members":{ - "DashboardName":{ - "shape":"DashboardName", - "documentation":"

The name of the dashboard to be described.

" - } - } - }, - "GetDashboardOutput":{ - "type":"structure", - "members":{ - "DashboardArn":{ - "shape":"DashboardArn", - "documentation":"

The Amazon Resource Name (ARN) of the dashboard.

" - }, - "DashboardBody":{ - "shape":"DashboardBody", - "documentation":"

The detailed information about the dashboard, including what widgets are included and their location on the dashboard. For more information about the DashboardBody syntax, see CloudWatch-Dashboard-Body-Structure.

" - }, - "DashboardName":{ - "shape":"DashboardName", - "documentation":"

The name of the dashboard.

" - } - } - }, - "GetMetricDataInput":{ - "type":"structure", - "required":[ - "MetricDataQueries", - "StartTime", - "EndTime" - ], - "members":{ - "MetricDataQueries":{ - "shape":"MetricDataQueries", - "documentation":"

The metric queries to be returned. A single GetMetricData call can include as many as 100 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The time stamp indicating the earliest data to be returned.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time stamp indicating the latest data to be returned.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Include this value, if it was returned by the previous call, to get the next set of data points.

" - }, - "ScanBy":{ - "shape":"ScanBy", - "documentation":"

The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

" - }, - "MaxDatapoints":{ - "shape":"GetMetricDataMaxDatapoints", - "documentation":"

The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used.

" - } - } - }, - "GetMetricDataMaxDatapoints":{"type":"integer"}, - "GetMetricDataOutput":{ - "type":"structure", - "members":{ - "MetricDataResults":{ - "shape":"MetricDataResults", - "documentation":"

The metrics that are returned, including the metric name, namespace, and dimensions.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token that marks the next batch of returned results.

" - } - } - }, - "GetMetricStatisticsInput":{ - "type":"structure", - "required":[ - "Namespace", - "MetricName", - "StartTime", - "EndTime", - "Period" - ], - "members":{ - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace of the metric, with or without spaces.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric, with or without spaces.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. If a specific combination of dimensions was not published, you can't retrieve statistics for it. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.

The value specified is inclusive; results include data points with the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).

CloudWatch rounds the specified time stamp as follows:

  • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

  • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

  • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time stamp that determines the last data point to return.

The value specified is exclusive; results include data points up to the specified time stamp. The time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

" - }, - "Period":{ - "shape":"Period", - "documentation":"

The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:

  • Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

  • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

  • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

" - }, - "Statistics":{ - "shape":"Statistics", - "documentation":"

The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistics. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both.

" - }, - "ExtendedStatistics":{ - "shape":"ExtendedStatistics", - "documentation":"

The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit for a given metric. Metrics may be reported in multiple units. Not supplying a unit results in all units being returned. If you specify only a unit that the metric does not report, the results of the call are null.

" - } - } - }, - "GetMetricStatisticsOutput":{ - "type":"structure", - "members":{ - "Label":{ - "shape":"MetricLabel", - "documentation":"

A label for the specified metric.

" - }, - "Datapoints":{ - "shape":"Datapoints", - "documentation":"

The data points for the specified metric.

" - } - } - }, - "HistoryData":{ - "type":"string", - "max":4095, - "min":1 - }, - "HistoryItemType":{ - "type":"string", - "enum":[ - "ConfigurationUpdate", - "StateUpdate", - "Action" - ] - }, - "HistorySummary":{ - "type":"string", - "max":255, - "min":1 - }, - "InternalServiceFault":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"FaultDescription", - "documentation":"

" - } - }, - "documentation":"

Request processing has failed due to some unknown error, exception, or failure.

", - "error":{ - "code":"InternalServiceError", - "httpStatusCode":500 - }, - "exception":true, - "xmlOrder":["Message"] - }, - "InvalidFormatFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Data was not syntactically valid JSON.

", - "error":{ - "code":"InvalidFormat", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidNextToken":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

The next token specified is invalid.

", - "error":{ - "code":"InvalidNextToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Parameters were used together that cannot be used together.

", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

" - } - }, - "documentation":"

The value of an input parameter is bad or out-of-range.

", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LastModified":{"type":"timestamp"}, - "LimitExceededFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

The quota for alarms for this customer has already been reached.

", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ListDashboardsInput":{ - "type":"structure", - "members":{ - "DashboardNamePrefix":{ - "shape":"DashboardNamePrefix", - "documentation":"

If you specify this parameter, only the dashboards with names starting with the specified string are listed. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \".\", \"-\", and \"_\".

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - } - } - }, - "ListDashboardsOutput":{ - "type":"structure", - "members":{ - "DashboardEntries":{ - "shape":"DashboardEntries", - "documentation":"

The list of matching dashboards.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token that marks the start of the next batch of returned results.

" - } - } - }, - "ListMetricsInput":{ - "type":"structure", - "members":{ - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace to filter against.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric to filter against.

" - }, - "Dimensions":{ - "shape":"DimensionFilters", - "documentation":"

The dimensions to filter against.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - } - } - }, - "ListMetricsOutput":{ - "type":"structure", - "members":{ - "Metrics":{ - "shape":"Metrics", - "documentation":"

The metrics.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token that marks the start of the next batch of returned results.

" - } - }, - "xmlOrder":[ - "Metrics", - "NextToken" - ] - }, - "MaxRecords":{ - "type":"integer", - "max":100, - "min":1 - }, - "Message":{"type":"string"}, - "MessageData":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"MessageDataCode", - "documentation":"

The error code or status code associated with the message.

" - }, - "Value":{ - "shape":"MessageDataValue", - "documentation":"

The message text.

" - } - }, - "documentation":"

A message returned by the GetMetricDataAPI, including a code and a description.

" - }, - "MessageDataCode":{"type":"string"}, - "MessageDataValue":{"type":"string"}, - "Metric":{ - "type":"structure", - "members":{ - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace of the metric.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions for the metric.

" - } - }, - "documentation":"

Represents a specific metric.

", - "xmlOrder":[ - "Namespace", - "MetricName", - "Dimensions" - ] - }, - "MetricAlarm":{ - "type":"structure", - "members":{ - "AlarmName":{ - "shape":"AlarmName", - "documentation":"

The name of the alarm.

" - }, - "AlarmArn":{ - "shape":"AlarmArn", - "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" - }, - "AlarmDescription":{ - "shape":"AlarmDescription", - "documentation":"

The description of the alarm.

" - }, - "AlarmConfigurationUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp of the last update to the alarm configuration.

" - }, - "ActionsEnabled":{ - "shape":"ActionsEnabled", - "documentation":"

Indicates whether actions should be executed during any changes to the alarm state.

" - }, - "OKActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" - }, - "AlarmActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" - }, - "InsufficientDataActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" - }, - "StateValue":{ - "shape":"StateValue", - "documentation":"

The state value for the alarm.

" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

An explanation for the alarm state, in text format.

" - }, - "StateReasonData":{ - "shape":"StateReasonData", - "documentation":"

An explanation for the alarm state, in JSON format.

" - }, - "StateUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp of the last update to the alarm state.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric associated with the alarm.

" - }, - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace of the metric associated with the alarm.

" - }, - "Statistic":{ - "shape":"Statistic", - "documentation":"

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.

" - }, - "ExtendedStatistic":{ - "shape":"ExtendedStatistic", - "documentation":"

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions for the metric associated with the alarm.

" - }, - "Period":{ - "shape":"Period", - "documentation":"

The period, in seconds, over which the statistic is applied.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit of the metric associated with the alarm.

" - }, - "EvaluationPeriods":{ - "shape":"EvaluationPeriods", - "documentation":"

The number of periods over which data is compared to the specified threshold.

" - }, - "DatapointsToAlarm":{ - "shape":"DatapointsToAlarm", - "documentation":"

The number of datapoints that must be breaching to trigger the alarm.

" - }, - "Threshold":{ - "shape":"Threshold", - "documentation":"

The value to compare with the specified statistic.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.

" - }, - "TreatMissingData":{ - "shape":"TreatMissingData", - "documentation":"

Sets how this alarm is to handle missing data points. If this parameter is omitted, the default behavior of missing is used.

" - }, - "EvaluateLowSampleCountPercentile":{ - "shape":"EvaluateLowSampleCountPercentile", - "documentation":"

Used only for alarms based on percentiles. If ignore, the alarm state does not change during periods with too few data points to be statistically significant. If evaluate or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.

" - } - }, - "documentation":"

Represents an alarm.

", - "xmlOrder":[ - "AlarmName", - "AlarmArn", - "AlarmDescription", - "AlarmConfigurationUpdatedTimestamp", - "ActionsEnabled", - "OKActions", - "AlarmActions", - "InsufficientDataActions", - "StateValue", - "StateReason", - "StateReasonData", - "StateUpdatedTimestamp", - "MetricName", - "Namespace", - "Statistic", - "Dimensions", - "Period", - "Unit", - "EvaluationPeriods", - "Threshold", - "ComparisonOperator", - "ExtendedStatistic", - "TreatMissingData", - "EvaluateLowSampleCountPercentile", - "DatapointsToAlarm" - ] - }, - "MetricAlarms":{ - "type":"list", - "member":{"shape":"MetricAlarm"} - }, - "MetricData":{ - "type":"list", - "member":{"shape":"MetricDatum"} - }, - "MetricDataQueries":{ - "type":"list", - "member":{"shape":"MetricDataQuery"} - }, - "MetricDataQuery":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"MetricId", - "documentation":"

A short name used to tie this structure to the results in the response. This name must be unique within a single call to GetMetricData. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

" - }, - "MetricStat":{ - "shape":"MetricStat", - "documentation":"

The metric to be returned, along with statistics, period, and units. Use this parameter only if this structure is performing a data retrieval and not performing a math expression on the returned data.

Within one MetricDataQuery structure, you must specify either Expression or MetricStat but not both.

" - }, - "Expression":{ - "shape":"MetricExpression", - "documentation":"

The math expression to be performed on the returned data, if this structure is performing a math expression. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Within one MetricDataQuery structure, you must specify either Expression or MetricStat but not both.

" - }, - "Label":{ - "shape":"MetricLabel", - "documentation":"

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.

" - }, - "ReturnData":{ - "shape":"ReturnData", - "documentation":"

Indicates whether to return the time stamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False. If you omit this, the default of True is used.

" - } - }, - "documentation":"

This structure indicates the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data. A single GetMetricData call can include up to 100 MetricDataQuery structures.

" - }, - "MetricDataResult":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"MetricId", - "documentation":"

The short name you specified to represent this metric.

" - }, - "Label":{ - "shape":"MetricLabel", - "documentation":"

The human-readable label associated with the data.

" - }, - "Timestamps":{ - "shape":"Timestamps", - "documentation":"

The time stamps for the data points, formatted in Unix timestamp format. The number of time stamps always matches the number of values and the value for Timestamps[x] is Values[x].

" - }, - "Values":{ - "shape":"DatapointValues", - "documentation":"

The data points for the metric corresponding to Timestamps. The number of values always matches the number of time stamps and the time stamp for Values[x] is Timestamps[x].

" - }, - "StatusCode":{ - "shape":"StatusCode", - "documentation":"

The status of the returned data. Complete indicates that all data points in the requested time range were returned. PartialData means that an incomplete set of data points were returned. You can use the NextToken value that was returned and repeat your request to get more data points. NextToken is not returned if you are performing a math expression. InternalError indicates that an error occurred. Retry your request using NextToken, if present.

" - }, - "Messages":{ - "shape":"MetricDataResultMessages", - "documentation":"

A list of messages with additional information about the data returned.

" - } - }, - "documentation":"

A GetMetricData call returns an array of MetricDataResult structures. Each of these structures includes the data points for that metric, along with the time stamps of those data points and other identifying information.

" - }, - "MetricDataResultMessages":{ - "type":"list", - "member":{"shape":"MessageData"} - }, - "MetricDataResults":{ - "type":"list", - "member":{"shape":"MetricDataResult"} - }, - "MetricDatum":{ - "type":"structure", - "required":["MetricName"], - "members":{ - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions associated with the metric.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" - }, - "Value":{ - "shape":"DatapointValue", - "documentation":"

The value for the metric.

Although the parameter accepts numbers of type Double, 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 (for example, NaN, +Infinity, -Infinity) are not supported.

" - }, - "StatisticValues":{ - "shape":"StatisticSet", - "documentation":"

The statistical values for the metric.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit of the metric.

" - }, - "StorageResolution":{ - "shape":"StorageResolution", - "documentation":"

Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with sub-minute resolution down to one second. Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available only for custom metrics. For more information about high-resolution metrics, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

This field is optional, if you do not specify it the default of 60 is used.

" - } - }, - "documentation":"

Encapsulates the information sent to either create a metric or add new values to be aggregated into an existing metric.

" - }, - "MetricExpression":{ - "type":"string", - "max":1024, - "min":1 - }, - "MetricId":{ - "type":"string", - "max":255, - "min":1 - }, - "MetricLabel":{"type":"string"}, - "MetricName":{ - "type":"string", - "max":255, - "min":1 - }, - "MetricStat":{ - "type":"structure", - "required":[ - "Metric", - "Period", - "Stat" - ], - "members":{ - "Metric":{ - "shape":"Metric", - "documentation":"

The metric to return, including the metric name, namespace, and dimensions.

" - }, - "Period":{ - "shape":"Period", - "documentation":"

The period to use when retrieving the metric.

" - }, - "Stat":{ - "shape":"Stat", - "documentation":"

The statistic to return. It can include any CloudWatch statistic or extended statistic.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit to use for the returned data points.

" - } - }, - "documentation":"

This structure defines the metric to be returned, along with the statistics, period, and units.

" - }, - "Metrics":{ - "type":"list", - "member":{"shape":"Metric"} - }, - "MissingRequiredParameterException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

" - } - }, - "documentation":"

An input parameter that is required is missing.

", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Namespace":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[^:].*" - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":0 - }, - "Period":{ - "type":"integer", - "min":1 - }, - "PutDashboardInput":{ - "type":"structure", - "required":[ - "DashboardName", - "DashboardBody" - ], - "members":{ - "DashboardName":{ - "shape":"DashboardName", - "documentation":"

The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \"-\", and \"_\". This parameter is required.

" - }, - "DashboardBody":{ - "shape":"DashboardBody", - "documentation":"

The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.

For more information about the syntax, see CloudWatch-Dashboard-Body-Structure.

" - } - } - }, - "PutDashboardOutput":{ - "type":"structure", - "members":{ - "DashboardValidationMessages":{ - "shape":"DashboardValidationMessages", - "documentation":"

If the input for PutDashboard was correct and the dashboard was successfully created or modified, this result is empty.

If this result includes only warning messages, then the input was valid enough for the dashboard to be created or modified, but some elements of the dashboard may not render.

If this result includes error messages, the input was not valid and the operation failed.

" - } - } - }, - "PutMetricAlarmInput":{ - "type":"structure", - "required":[ - "AlarmName", - "MetricName", - "Namespace", - "Period", - "EvaluationPeriods", - "Threshold", - "ComparisonOperator" - ], - "members":{ - "AlarmName":{ - "shape":"AlarmName", - "documentation":"

The name for the alarm. This name must be unique within the AWS account.

" - }, - "AlarmDescription":{ - "shape":"AlarmDescription", - "documentation":"

The description for the alarm.

" - }, - "ActionsEnabled":{ - "shape":"ActionsEnabled", - "documentation":"

Indicates whether actions should be executed during any changes to the alarm state.

" - }, - "OKActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" - }, - "AlarmActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" - }, - "InsufficientDataActions":{ - "shape":"ResourceList", - "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:{account-id}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name for the metric associated with the alarm.

" - }, - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace for the metric associated with the alarm.

" - }, - "Statistic":{ - "shape":"Statistic", - "documentation":"

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm, you must specify either Statistic or ExtendedStatistic, but not both.

" - }, - "ExtendedStatistic":{ - "shape":"ExtendedStatistic", - "documentation":"

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100. When you call PutMetricAlarm, you must specify either Statistic or ExtendedStatistic, but not both.

" - }, - "Dimensions":{ - "shape":"Dimensions", - "documentation":"

The dimensions for the metric associated with the alarm.

" - }, - "Period":{ - "shape":"Period", - "documentation":"

The period, in seconds, over which the specified statistic is applied. Valid values are 10, 30, and any multiple of 60.

Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

" - }, - "Unit":{ - "shape":"StandardUnit", - "documentation":"

The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

If you specify a unit, you must use a unit that is appropriate for the metric. Otherwise, the CloudWatch alarm can get stuck in the INSUFFICIENT DATA state.

" - }, - "EvaluationPeriods":{ - "shape":"EvaluationPeriods", - "documentation":"

The number of periods over which data is compared to the specified threshold. If you are setting an alarm which requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N.

An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

" - }, - "DatapointsToAlarm":{ - "shape":"DatapointsToAlarm", - "documentation":"

The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.

" - }, - "Threshold":{ - "shape":"Threshold", - "documentation":"

The value against which the specified statistic is compared.

" - }, - "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 does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" - } - } - }, - "PutMetricDataInput":{ - "type":"structure", - "required":[ - "Namespace", - "MetricData" - ], - "members":{ - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace for the metric data.

You cannot specify a namespace that begins with \"AWS/\". Namespaces that begin with \"AWS/\" are reserved for use by Amazon Web Services products.

" - }, - "MetricData":{ - "shape":"MetricData", - "documentation":"

The data for the metric.

" - } - } - }, - "ResourceList":{ - "type":"list", - "member":{"shape":"ResourceName"}, - "max":5 - }, - "ResourceName":{ - "type":"string", - "max":1024, - "min":1 - }, - "ResourceNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

The named resource does not exist.

", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReturnData":{"type":"boolean"}, - "ScanBy":{ - "type":"string", - "enum":[ - "TimestampDescending", - "TimestampAscending" - ] - }, - "SetAlarmStateInput":{ - "type":"structure", - "required":[ - "AlarmName", - "StateValue", - "StateReason" - ], - "members":{ - "AlarmName":{ - "shape":"AlarmName", - "documentation":"

The name for the alarm. This name must be unique within the AWS account. The maximum length is 255 characters.

" - }, - "StateValue":{ - "shape":"StateValue", - "documentation":"

The value of the state.

" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason that this alarm is set to this specific state, in text format.

" - }, - "StateReasonData":{ - "shape":"StateReasonData", - "documentation":"

The reason that this alarm is set to this specific state, in JSON format.

" - } - } - }, - "Size":{"type":"long"}, - "StandardUnit":{ - "type":"string", - "enum":[ - "Seconds", - "Microseconds", - "Milliseconds", - "Bytes", - "Kilobytes", - "Megabytes", - "Gigabytes", - "Terabytes", - "Bits", - "Kilobits", - "Megabits", - "Gigabits", - "Terabits", - "Percent", - "Count", - "Bytes/Second", - "Kilobytes/Second", - "Megabytes/Second", - "Gigabytes/Second", - "Terabytes/Second", - "Bits/Second", - "Kilobits/Second", - "Megabits/Second", - "Gigabits/Second", - "Terabits/Second", - "Count/Second", - "None" - ] - }, - "Stat":{"type":"string"}, - "StateReason":{ - "type":"string", - "max":1023, - "min":0 - }, - "StateReasonData":{ - "type":"string", - "max":4000, - "min":0 - }, - "StateValue":{ - "type":"string", - "enum":[ - "OK", - "ALARM", - "INSUFFICIENT_DATA" - ] - }, - "Statistic":{ - "type":"string", - "enum":[ - "SampleCount", - "Average", - "Sum", - "Minimum", - "Maximum" - ] - }, - "StatisticSet":{ - "type":"structure", - "required":[ - "SampleCount", - "Sum", - "Minimum", - "Maximum" - ], - "members":{ - "SampleCount":{ - "shape":"DatapointValue", - "documentation":"

The number of samples used for the statistic set.

" - }, - "Sum":{ - "shape":"DatapointValue", - "documentation":"

The sum of values for the sample set.

" - }, - "Minimum":{ - "shape":"DatapointValue", - "documentation":"

The minimum value of the sample set.

" - }, - "Maximum":{ - "shape":"DatapointValue", - "documentation":"

The maximum value of the sample set.

" - } - }, - "documentation":"

Represents a set of statistics that describes a specific metric.

" - }, - "Statistics":{ - "type":"list", - "member":{"shape":"Statistic"}, - "max":5, - "min":1 - }, - "StatusCode":{ - "type":"string", - "enum":[ - "Complete", - "InternalError", - "PartialData" - ] - }, - "StorageResolution":{ - "type":"integer", - "min":1 - }, - "Threshold":{"type":"double"}, - "Timestamp":{"type":"timestamp"}, - "Timestamps":{ - "type":"list", - "member":{"shape":"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 change the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon EC2 instances. Then, use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.

In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/waiters-2.json deleted file mode 100644 index cb0cf0bf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cloudwatch/2010-08-01/waiters-2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 2, - "waiters": { - "AlarmExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeAlarms", - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(MetricAlarms[]) > `0`", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/paginators-1.json deleted file mode 100644 index 3ac2ff1f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/paginators-1.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "pagination": { - "ListBuilds": { - "output_token": "nextToken", - "input_token": "nextToken", - "result_key": "ids" - }, - "ListProjects": { - "output_token": "nextToken", - "input_token": "nextToken", - "result_key": "projects" - }, - "ListBuildsForProject": { - "output_token": "nextToken", - "input_token": "nextToken", - "result_key": "ids" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/service-2.json deleted file mode 100644 index f9c2e253..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codebuild/2016-10-06/service-2.json +++ /dev/null @@ -1,1683 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-10-06", - "endpointPrefix":"codebuild", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS CodeBuild", - "serviceId":"CodeBuild", - "signatureVersion":"v4", - "targetPrefix":"CodeBuild_20161006", - "uid":"codebuild-2016-10-06" - }, - "operations":{ - "BatchDeleteBuilds":{ - "name":"BatchDeleteBuilds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteBuildsInput"}, - "output":{"shape":"BatchDeleteBuildsOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Deletes one or more builds.

" - }, - "BatchGetBuilds":{ - "name":"BatchGetBuilds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetBuildsInput"}, - "output":{"shape":"BatchGetBuildsOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets information about builds.

" - }, - "BatchGetProjects":{ - "name":"BatchGetProjects", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetProjectsInput"}, - "output":{"shape":"BatchGetProjectsOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets information about build projects.

" - }, - "CreateProject":{ - "name":"CreateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProjectInput"}, - "output":{"shape":"CreateProjectOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"AccountLimitExceededException"} - ], - "documentation":"

Creates a build project.

" - }, - "CreateWebhook":{ - "name":"CreateWebhook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateWebhookInput"}, - "output":{"shape":"CreateWebhookOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"OAuthProviderException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds will be created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you will be billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

" - }, - "DeleteProject":{ - "name":"DeleteProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProjectInput"}, - "output":{"shape":"DeleteProjectOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Deletes a build project.

" - }, - "DeleteWebhook":{ - "name":"DeleteWebhook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteWebhookInput"}, - "output":{"shape":"DeleteWebhookOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OAuthProviderException"} - ], - "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, stops AWS CodeBuild from automatically rebuilding the source code every time a code change is pushed to the repository.

" - }, - "InvalidateProjectCache":{ - "name":"InvalidateProjectCache", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"InvalidateProjectCacheInput"}, - "output":{"shape":"InvalidateProjectCacheOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Resets the cache for a project.

" - }, - "ListBuilds":{ - "name":"ListBuilds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBuildsInput"}, - "output":{"shape":"ListBuildsOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets a list of build IDs, with each build ID representing a single build.

" - }, - "ListBuildsForProject":{ - "name":"ListBuildsForProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBuildsForProjectInput"}, - "output":{"shape":"ListBuildsForProjectOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

" - }, - "ListCuratedEnvironmentImages":{ - "name":"ListCuratedEnvironmentImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCuratedEnvironmentImagesInput"}, - "output":{"shape":"ListCuratedEnvironmentImagesOutput"}, - "documentation":"

Gets information about Docker images that are managed by AWS CodeBuild.

" - }, - "ListProjects":{ - "name":"ListProjects", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProjectsInput"}, - "output":{"shape":"ListProjectsOutput"}, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets a list of build project names, with each build project name representing a single build project.

" - }, - "StartBuild":{ - "name":"StartBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartBuildInput"}, - "output":{"shape":"StartBuildOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccountLimitExceededException"} - ], - "documentation":"

Starts running a build.

" - }, - "StopBuild":{ - "name":"StopBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopBuildInput"}, - "output":{"shape":"StopBuildOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Attempts to stop running a build.

" - }, - "UpdateProject":{ - "name":"UpdateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProjectInput"}, - "output":{"shape":"UpdateProjectOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Changes the settings of a build project.

" - }, - "UpdateWebhook":{ - "name":"UpdateWebhook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateWebhookInput"}, - "output":{"shape":"UpdateWebhookOutput"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OAuthProviderException"} - ], - "documentation":"

Updates the webhook associated with an AWS CodeBuild build project.

" - } - }, - "shapes":{ - "AccountLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An AWS service limit was exceeded for the calling AWS account.

", - "exception":true - }, - "ArtifactNamespace":{ - "type":"string", - "enum":[ - "NONE", - "BUILD_ID" - ] - }, - "ArtifactPackaging":{ - "type":"string", - "enum":[ - "NONE", - "ZIP" - ] - }, - "ArtifactsType":{ - "type":"string", - "enum":[ - "CODEPIPELINE", - "S3", - "NO_ARTIFACTS" - ] - }, - "BatchDeleteBuildsInput":{ - "type":"structure", - "required":["ids"], - "members":{ - "ids":{ - "shape":"BuildIds", - "documentation":"

The IDs of the builds to delete.

" - } - } - }, - "BatchDeleteBuildsOutput":{ - "type":"structure", - "members":{ - "buildsDeleted":{ - "shape":"BuildIds", - "documentation":"

The IDs of the builds that were successfully deleted.

" - }, - "buildsNotDeleted":{ - "shape":"BuildsNotDeleted", - "documentation":"

Information about any builds that could not be successfully deleted.

" - } - } - }, - "BatchGetBuildsInput":{ - "type":"structure", - "required":["ids"], - "members":{ - "ids":{ - "shape":"BuildIds", - "documentation":"

The IDs of the builds.

" - } - } - }, - "BatchGetBuildsOutput":{ - "type":"structure", - "members":{ - "builds":{ - "shape":"Builds", - "documentation":"

Information about the requested builds.

" - }, - "buildsNotFound":{ - "shape":"BuildIds", - "documentation":"

The IDs of builds for which information could not be found.

" - } - } - }, - "BatchGetProjectsInput":{ - "type":"structure", - "required":["names"], - "members":{ - "names":{ - "shape":"ProjectNames", - "documentation":"

The names of the build projects.

" - } - } - }, - "BatchGetProjectsOutput":{ - "type":"structure", - "members":{ - "projects":{ - "shape":"Projects", - "documentation":"

Information about the requested build projects.

" - }, - "projectsNotFound":{ - "shape":"ProjectNames", - "documentation":"

The names of build projects for which information could not be found.

" - } - } - }, - "Boolean":{"type":"boolean"}, - "Build":{ - "type":"structure", - "members":{ - "id":{ - "shape":"NonEmptyString", - "documentation":"

The unique ID for the build.

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the build.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

When the build process started, expressed in Unix time format.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

When the build process ended, expressed in Unix time format.

" - }, - "currentPhase":{ - "shape":"String", - "documentation":"

The current build phase.

" - }, - "buildStatus":{ - "shape":"StatusType", - "documentation":"

The current status of the build. Valid values include:

  • FAILED: The build failed.

  • FAULT: The build faulted.

  • IN_PROGRESS: The build is still in progress.

  • STOPPED: The build stopped.

  • SUCCEEDED: The build succeeded.

  • TIMED_OUT: The build timed out.

" - }, - "sourceVersion":{ - "shape":"NonEmptyString", - "documentation":"

Any version identifier for the version of the source code to be built.

" - }, - "projectName":{ - "shape":"NonEmptyString", - "documentation":"

The name of the AWS CodeBuild project.

" - }, - "phases":{ - "shape":"BuildPhases", - "documentation":"

Information about all previous build phases that are completed and information about any current build phase that is not yet complete.

" - }, - "source":{ - "shape":"ProjectSource", - "documentation":"

Information about the source code to be built.

" - }, - "secondarySources":{ - "shape":"ProjectSources", - "documentation":"

An array of ProjectSource objects.

" - }, - "secondarySourceVersions":{ - "shape":"ProjectSecondarySourceVersions", - "documentation":"

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.

" - }, - "artifacts":{ - "shape":"BuildArtifacts", - "documentation":"

Information about the output artifacts for the build.

" - }, - "secondaryArtifacts":{ - "shape":"BuildArtifactsList", - "documentation":"

An array of ProjectArtifacts objects.

" - }, - "cache":{ - "shape":"ProjectCache", - "documentation":"

Information about the cache for the build.

" - }, - "environment":{ - "shape":"ProjectEnvironment", - "documentation":"

Information about the build environment for this build.

" - }, - "serviceRole":{ - "shape":"NonEmptyString", - "documentation":"

The name of a service role used for this build.

" - }, - "logs":{ - "shape":"LogsLocation", - "documentation":"

Information about the build's logs in Amazon CloudWatch Logs.

" - }, - "timeoutInMinutes":{ - "shape":"WrapperInt", - "documentation":"

How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed.

" - }, - "buildComplete":{ - "shape":"Boolean", - "documentation":"

Whether the build has finished. True if completed; otherwise, false.

" - }, - "initiator":{ - "shape":"String", - "documentation":"

The entity that started the build. Valid values include:

  • If AWS CodePipeline started the build, the pipeline's name (for example, codepipeline/my-demo-pipeline).

  • If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example MyUserName).

  • If the Jenkins plugin for AWS CodeBuild started the build, the string CodeBuild-Jenkins-Plugin.

" - }, - "vpcConfig":{ - "shape":"VpcConfig", - "documentation":"

If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter that identifies the VPC ID and the list of security group IDs and subnet IDs. The security groups and subnets must belong to the same VPC. You must provide at least one security group and one subnet ID.

" - }, - "networkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Describes a network interface.

" - }, - "encryptionKey":{ - "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

This is expressed either as the CMK's Amazon Resource Name (ARN) or, if specified, the CMK's alias (using the format alias/alias-name ).

" - } - }, - "documentation":"

Information about a build.

" - }, - "BuildArtifacts":{ - "type":"structure", - "members":{ - "location":{ - "shape":"String", - "documentation":"

Information about the location of the build artifacts.

" - }, - "sha256sum":{ - "shape":"String", - "documentation":"

The SHA-256 hash of the build artifact.

You can use this hash along with a checksum tool to confirm both file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

" - }, - "md5sum":{ - "shape":"String", - "documentation":"

The MD5 hash of the build artifact.

You can use this hash along with a checksum tool to confirm both file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

" - }, - "overrideArtifactName":{ - "shape":"WrapperBoolean", - "documentation":"

If this flag is set, a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell Command Language. For example, you can append a date and time to your artifact name so that it is always unique.

" - }, - "encryptionDisabled":{ - "shape":"WrapperBoolean", - "documentation":"

Information that tells you if encryption for build artifacts is disabled.

" - }, - "artifactIdentifier":{ - "shape":"String", - "documentation":"

An identifier for this artifact definition.

" - } - }, - "documentation":"

Information about build output artifacts.

" - }, - "BuildArtifactsList":{ - "type":"list", - "member":{"shape":"BuildArtifacts"}, - "max":12, - "min":0 - }, - "BuildIds":{ - "type":"list", - "member":{"shape":"NonEmptyString"}, - "max":100, - "min":1 - }, - "BuildNotDeleted":{ - "type":"structure", - "members":{ - "id":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the build that could not be successfully deleted.

" - }, - "statusCode":{ - "shape":"String", - "documentation":"

Additional information about the build that could not be successfully deleted.

" - } - }, - "documentation":"

Information about a build that could not be successfully deleted.

" - }, - "BuildPhase":{ - "type":"structure", - "members":{ - "phaseType":{ - "shape":"BuildPhaseType", - "documentation":"

The name of the build phase. Valid values include:

  • BUILD: Core build activities typically occur in this build phase.

  • COMPLETED: The build has been completed.

  • DOWNLOAD_SOURCE: Source code is being downloaded in this build phase.

  • FINALIZING: The build process is completing in this build phase.

  • INSTALL: Installation activities typically occur in this build phase.

  • POST_BUILD: Post-build activities typically occur in this build phase.

  • PRE_BUILD: Pre-build activities typically occur in this build phase.

  • PROVISIONING: The build environment is being set up.

  • SUBMITTED: The build has been submitted.

  • UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output location.

" - }, - "phaseStatus":{ - "shape":"StatusType", - "documentation":"

The current status of the build phase. Valid values include:

  • FAILED: The build phase failed.

  • FAULT: The build phase faulted.

  • IN_PROGRESS: The build phase is still in progress.

  • STOPPED: The build phase stopped.

  • SUCCEEDED: The build phase succeeded.

  • TIMED_OUT: The build phase timed out.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

When the build phase started, expressed in Unix time format.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

When the build phase ended, expressed in Unix time format.

" - }, - "durationInSeconds":{ - "shape":"WrapperLong", - "documentation":"

How long, in seconds, between the starting and ending times of the build's phase.

" - }, - "contexts":{ - "shape":"PhaseContexts", - "documentation":"

Additional information about a build phase, especially to help troubleshoot a failed build.

" - } - }, - "documentation":"

Information about a stage for a build.

" - }, - "BuildPhaseType":{ - "type":"string", - "enum":[ - "SUBMITTED", - "PROVISIONING", - "DOWNLOAD_SOURCE", - "INSTALL", - "PRE_BUILD", - "BUILD", - "POST_BUILD", - "UPLOAD_ARTIFACTS", - "FINALIZING", - "COMPLETED" - ] - }, - "BuildPhases":{ - "type":"list", - "member":{"shape":"BuildPhase"} - }, - "Builds":{ - "type":"list", - "member":{"shape":"Build"} - }, - "BuildsNotDeleted":{ - "type":"list", - "member":{"shape":"BuildNotDeleted"} - }, - "CacheType":{ - "type":"string", - "enum":[ - "NO_CACHE", - "S3" - ] - }, - "ComputeType":{ - "type":"string", - "enum":[ - "BUILD_GENERAL1_SMALL", - "BUILD_GENERAL1_MEDIUM", - "BUILD_GENERAL1_LARGE" - ] - }, - "CreateProjectInput":{ - "type":"structure", - "required":[ - "name", - "source", - "artifacts", - "environment", - "serviceRole" - ], - "members":{ - "name":{ - "shape":"ProjectName", - "documentation":"

The name of the build project.

" - }, - "description":{ - "shape":"ProjectDescription", - "documentation":"

A description that makes the build project easy to identify.

" - }, - "source":{ - "shape":"ProjectSource", - "documentation":"

Information about the build input source code for the build project.

" - }, - "secondarySources":{ - "shape":"ProjectSources", - "documentation":"

An array of ProjectSource objects.

" - }, - "artifacts":{ - "shape":"ProjectArtifacts", - "documentation":"

Information about the build output artifacts for the build project.

" - }, - "secondaryArtifacts":{ - "shape":"ProjectArtifactsList", - "documentation":"

An array of ProjectArtifacts objects.

" - }, - "cache":{ - "shape":"ProjectCache", - "documentation":"

Stores recently used information so that it can be quickly accessed at a later time.

" - }, - "environment":{ - "shape":"ProjectEnvironment", - "documentation":"

Information about the build environment for the build project.

" - }, - "serviceRole":{ - "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" - }, - "timeoutInMinutes":{ - "shape":"TimeOut", - "documentation":"

How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any build that has not been marked as completed. The default is 60 minutes.

" - }, - "encryptionKey":{ - "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format alias/alias-name ).

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

A set of tags for this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" - }, - "vpcConfig":{ - "shape":"VpcConfig", - "documentation":"

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" - }, - "badgeEnabled":{ - "shape":"WrapperBoolean", - "documentation":"

Set this to true to generate a publicly-accessible URL for your project's build badge.

" - } - } - }, - "CreateProjectOutput":{ - "type":"structure", - "members":{ - "project":{ - "shape":"Project", - "documentation":"

Information about the build project that was created.

" - } - } - }, - "CreateWebhookInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the AWS CodeBuild project.

" - }, - "branchFilter":{ - "shape":"String", - "documentation":"

A regular expression used to determine which branches in a repository are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If it doesn't match, then it is not. If branchFilter is empty, then all branches are built.

" - } - } - }, - "CreateWebhookOutput":{ - "type":"structure", - "members":{ - "webhook":{ - "shape":"Webhook", - "documentation":"

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

" - } - } - }, - "DeleteProjectInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"NonEmptyString", - "documentation":"

The name of the build project.

" - } - } - }, - "DeleteProjectOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteWebhookInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the AWS CodeBuild project.

" - } - } - }, - "DeleteWebhookOutput":{ - "type":"structure", - "members":{ - } - }, - "EnvironmentImage":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the Docker image.

" - }, - "description":{ - "shape":"String", - "documentation":"

The description of the Docker image.

" - }, - "versions":{ - "shape":"ImageVersions", - "documentation":"

A list of environment image versions.

" - } - }, - "documentation":"

Information about a Docker image that is managed by AWS CodeBuild.

" - }, - "EnvironmentImages":{ - "type":"list", - "member":{"shape":"EnvironmentImage"} - }, - "EnvironmentLanguage":{ - "type":"structure", - "members":{ - "language":{ - "shape":"LanguageType", - "documentation":"

The programming language for the Docker images.

" - }, - "images":{ - "shape":"EnvironmentImages", - "documentation":"

The list of Docker images that are related by the specified programming language.

" - } - }, - "documentation":"

A set of Docker images that are related by programming language and are managed by AWS CodeBuild.

" - }, - "EnvironmentLanguages":{ - "type":"list", - "member":{"shape":"EnvironmentLanguage"} - }, - "EnvironmentPlatform":{ - "type":"structure", - "members":{ - "platform":{ - "shape":"PlatformType", - "documentation":"

The platform's name.

" - }, - "languages":{ - "shape":"EnvironmentLanguages", - "documentation":"

The list of programming languages that are available for the specified platform.

" - } - }, - "documentation":"

A set of Docker images that are related by platform and are managed by AWS CodeBuild.

" - }, - "EnvironmentPlatforms":{ - "type":"list", - "member":{"shape":"EnvironmentPlatform"} - }, - "EnvironmentType":{ - "type":"string", - "enum":[ - "WINDOWS_CONTAINER", - "LINUX_CONTAINER" - ] - }, - "EnvironmentVariable":{ - "type":"structure", - "required":[ - "name", - "value" - ], - "members":{ - "name":{ - "shape":"NonEmptyString", - "documentation":"

The name or key of the environment variable.

" - }, - "value":{ - "shape":"String", - "documentation":"

The value of the environment variable.

We strongly discourage 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).

" - }, - "type":{ - "shape":"EnvironmentVariableType", - "documentation":"

The type of environment variable. Valid values include:

  • PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems Manager Parameter Store.

  • PLAINTEXT: An environment variable in plaintext format.

" - } - }, - "documentation":"

Information about an environment variable for a build project or a build.

" - }, - "EnvironmentVariableType":{ - "type":"string", - "enum":[ - "PLAINTEXT", - "PARAMETER_STORE" - ] - }, - "EnvironmentVariables":{ - "type":"list", - "member":{"shape":"EnvironmentVariable"} - }, - "GitCloneDepth":{ - "type":"integer", - "min":0 - }, - "ImageVersions":{ - "type":"list", - "member":{"shape":"String"} - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input value that was provided is not valid.

", - "exception":true - }, - "InvalidateProjectCacheInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"NonEmptyString", - "documentation":"

The name of the AWS CodeBuild build project that the cache will be reset for.

" - } - } - }, - "InvalidateProjectCacheOutput":{ - "type":"structure", - "members":{ - } - }, - "KeyInput":{ - "type":"string", - "max":127, - "min":1, - "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" - }, - "LanguageType":{ - "type":"string", - "enum":[ - "JAVA", - "PYTHON", - "NODE_JS", - "RUBY", - "GOLANG", - "DOCKER", - "ANDROID", - "DOTNET", - "BASE" - ] - }, - "ListBuildsForProjectInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"NonEmptyString", - "documentation":"

The name of the AWS CodeBuild project.

" - }, - "sortOrder":{ - "shape":"SortOrderType", - "documentation":"

The order to list build IDs. Valid values include:

  • ASCENDING: List the build IDs in ascending order by build ID.

  • DESCENDING: List the build IDs in descending order by build ID.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" - } - } - }, - "ListBuildsForProjectOutput":{ - "type":"structure", - "members":{ - "ids":{ - "shape":"BuildIds", - "documentation":"

A list of build IDs for the specified build project, with each build ID representing a single build.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" - } - } - }, - "ListBuildsInput":{ - "type":"structure", - "members":{ - "sortOrder":{ - "shape":"SortOrderType", - "documentation":"

The order to list build IDs. Valid values include:

  • ASCENDING: List the build IDs in ascending order by build ID.

  • DESCENDING: List the build IDs in descending order by build ID.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" - } - } - }, - "ListBuildsOutput":{ - "type":"structure", - "members":{ - "ids":{ - "shape":"BuildIds", - "documentation":"

A list of build IDs, with each build ID representing a single build.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" - } - } - }, - "ListCuratedEnvironmentImagesInput":{ - "type":"structure", - "members":{ - } - }, - "ListCuratedEnvironmentImagesOutput":{ - "type":"structure", - "members":{ - "platforms":{ - "shape":"EnvironmentPlatforms", - "documentation":"

Information about supported platforms for Docker images that are managed by AWS CodeBuild.

" - } - } - }, - "ListProjectsInput":{ - "type":"structure", - "members":{ - "sortBy":{ - "shape":"ProjectSortByType", - "documentation":"

The criterion to be used to list build project names. Valid values include:

  • CREATED_TIME: List the build project names based on when each build project was created.

  • LAST_MODIFIED_TIME: List the build project names based on when information about each build project was last changed.

  • NAME: List the build project names based on each build project's name.

Use sortOrder to specify in what order to list the build project names based on the preceding criteria.

" - }, - "sortOrder":{ - "shape":"SortOrderType", - "documentation":"

The order in which to list build projects. Valid values include:

  • ASCENDING: List the build project names in ascending order.

  • DESCENDING: List the build project names in descending order.

Use sortBy to specify the criterion to be used to list build project names.

" - }, - "nextToken":{ - "shape":"NonEmptyString", - "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" - } - } - }, - "ListProjectsOutput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"String", - "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" - }, - "projects":{ - "shape":"ProjectNames", - "documentation":"

The list of build project names, with each build project name representing a single build project.

" - } - } - }, - "LogsLocation":{ - "type":"structure", - "members":{ - "groupName":{ - "shape":"String", - "documentation":"

The name of the Amazon CloudWatch Logs group for the build logs.

" - }, - "streamName":{ - "shape":"String", - "documentation":"

The name of the Amazon CloudWatch Logs stream for the build logs.

" - }, - "deepLink":{ - "shape":"String", - "documentation":"

The URL to an individual build log in Amazon CloudWatch Logs.

" - } - }, - "documentation":"

Information about build logs in Amazon CloudWatch Logs.

" - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "subnetId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the subnet.

" - }, - "networkInterfaceId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the network interface.

" - } - }, - "documentation":"

Describes a network interface.

" - }, - "NonEmptyString":{ - "type":"string", - "min":1 - }, - "OAuthProviderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There was a problem with the underlying OAuth provider.

", - "exception":true - }, - "PhaseContext":{ - "type":"structure", - "members":{ - "statusCode":{ - "shape":"String", - "documentation":"

The status code for the context of the build phase.

" - }, - "message":{ - "shape":"String", - "documentation":"

An explanation of the build phase's context. This explanation might include a command ID and an exit code.

" - } - }, - "documentation":"

Additional information about a build phase that has an error. You can use this information to help troubleshoot a failed build.

" - }, - "PhaseContexts":{ - "type":"list", - "member":{"shape":"PhaseContext"} - }, - "PlatformType":{ - "type":"string", - "enum":[ - "DEBIAN", - "AMAZON_LINUX", - "UBUNTU", - "WINDOWS_SERVER" - ] - }, - "Project":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ProjectName", - "documentation":"

The name of the build project.

" - }, - "arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the build project.

" - }, - "description":{ - "shape":"ProjectDescription", - "documentation":"

A description that makes the build project easy to identify.

" - }, - "source":{ - "shape":"ProjectSource", - "documentation":"

Information about the build input source code for this build project.

" - }, - "secondarySources":{ - "shape":"ProjectSources", - "documentation":"

An array of ProjectSource objects.

" - }, - "artifacts":{ - "shape":"ProjectArtifacts", - "documentation":"

Information about the build output artifacts for the build project.

" - }, - "secondaryArtifacts":{ - "shape":"ProjectArtifactsList", - "documentation":"

An array of ProjectArtifacts objects.

" - }, - "cache":{ - "shape":"ProjectCache", - "documentation":"

Information about the cache for the build project.

" - }, - "environment":{ - "shape":"ProjectEnvironment", - "documentation":"

Information about the build environment for this build project.

" - }, - "serviceRole":{ - "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" - }, - "timeoutInMinutes":{ - "shape":"TimeOut", - "documentation":"

How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.

" - }, - "encryptionKey":{ - "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

This is expressed either as the CMK's Amazon Resource Name (ARN) or, if specified, the CMK's alias (using the format alias/alias-name ).

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The tags for this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

When the build project was created, expressed in Unix time format.

" - }, - "lastModified":{ - "shape":"Timestamp", - "documentation":"

When the build project's settings were last modified, expressed in Unix time format.

" - }, - "webhook":{ - "shape":"Webhook", - "documentation":"

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

" - }, - "vpcConfig":{ - "shape":"VpcConfig", - "documentation":"

Information about the VPC configuration that AWS CodeBuild will access.

" - }, - "badge":{ - "shape":"ProjectBadge", - "documentation":"

Information about the build badge for the build project.

" - } - }, - "documentation":"

Information about a build project.

" - }, - "ProjectArtifacts":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"ArtifactsType", - "documentation":"

The type of build output artifact. Valid values include:

  • CODEPIPELINE: The build project will have build output generated through AWS CodePipeline.

  • NO_ARTIFACTS: The build project will not produce any build output.

  • S3: The build project will store build output in Amazon Simple Storage Service (Amazon S3).

" - }, - "location":{ - "shape":"String", - "documentation":"

Information about the build output artifact location, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output locations instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the name of the output bucket.

" - }, - "path":{ - "shape":"String", - "documentation":"

Along with namespaceType and name, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the path to the output artifact. If path is not specified, then path will not be used.

For example, if path is set to MyArtifacts, namespaceType is set to NONE, and name is set to MyArtifact.zip, then the output artifact would be stored in the output bucket at MyArtifacts/MyArtifact.zip.

" - }, - "namespaceType":{ - "shape":"ArtifactNamespace", - "documentation":"

Along with path and name, the pattern that AWS CodeBuild will use to determine the name and location to store the output artifact, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, then valid values include:

    • BUILD_ID: Include the build ID in the location of the build output artifact.

    • NONE: Do not include the build ID. This is the default if namespaceType is not specified.

For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, then the output artifact would be stored in MyArtifacts/build-ID/MyArtifact.zip.

" - }, - "name":{ - "shape":"String", - "documentation":"

Along with path and namespaceType, the pattern that AWS CodeBuild will use to name and store the output artifact, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), then the artifact is stored in the root of the output bucket.

For example:

  • If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, then the output artifact would be stored in MyArtifacts/build-ID/MyArtifact.zip.

  • If path is empty, namespaceType is set to NONE, and name is set to \"/\", then the output artifact would be stored in the root of the output bucket.

  • If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to \"/\", then the output artifact would be stored in MyArtifacts/build-ID .

" - }, - "packaging":{ - "shape":"ArtifactPackaging", - "documentation":"

The type of build output artifact to create, as follows:

  • If type is set to CODEPIPELINE, then AWS CodePipeline will ignore this value if specified. This is because AWS CodePipeline manages its build output artifacts instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, then this value will be ignored if specified, because no build output will be produced.

  • If type is set to S3, valid values include:

    • NONE: AWS CodeBuild will create in the output bucket a folder containing the build output. This is the default if packaging is not specified.

    • ZIP: AWS CodeBuild will create in the output bucket a ZIP file containing the build output.

" - }, - "overrideArtifactName":{ - "shape":"WrapperBoolean", - "documentation":"

If this flag is set, a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell Command Language. For example, you can append a date and time to your artifact name so that it is always unique.

" - }, - "encryptionDisabled":{ - "shape":"WrapperBoolean", - "documentation":"

Set to true if you do not want your output artifacts encrypted. This option is only valid if your artifacts type is Amazon S3. If this is set with another artifacts type, an invalidInputException will be thrown.

" - }, - "artifactIdentifier":{ - "shape":"String", - "documentation":"

An identifier for this artifact definition.

" - } - }, - "documentation":"

Information about the build output artifacts for the build project.

" - }, - "ProjectArtifactsList":{ - "type":"list", - "member":{"shape":"ProjectArtifacts"}, - "max":12, - "min":0 - }, - "ProjectBadge":{ - "type":"structure", - "members":{ - "badgeEnabled":{ - "shape":"Boolean", - "documentation":"

Set this to true to generate a publicly-accessible URL for your project's build badge.

" - }, - "badgeRequestUrl":{ - "shape":"String", - "documentation":"

The publicly-accessible URL through which you can access the build badge for your project.

" - } - }, - "documentation":"

Information about the build badge for the build project.

" - }, - "ProjectCache":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"CacheType", - "documentation":"

The type of cache used by the build project. Valid values include:

  • NO_CACHE: The build project will not use any cache.

  • S3: The build project will read and write from/to S3.

" - }, - "location":{ - "shape":"String", - "documentation":"

Information about the cache location, as follows:

  • NO_CACHE: This value will be ignored.

  • S3: This is the S3 bucket name/prefix.

" - } - }, - "documentation":"

Information about the cache for the build project.

" - }, - "ProjectDescription":{ - "type":"string", - "max":255, - "min":0 - }, - "ProjectEnvironment":{ - "type":"structure", - "required":[ - "type", - "image", - "computeType" - ], - "members":{ - "type":{ - "shape":"EnvironmentType", - "documentation":"

The type of build environment to use for related builds.

" - }, - "image":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the Docker image to use for this build project.

" - }, - "computeType":{ - "shape":"ComputeType", - "documentation":"

Information about the compute resources the build project will use. Available values include:

  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds.

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds.

  • BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds.

" - }, - "environmentVariables":{ - "shape":"EnvironmentVariables", - "documentation":"

A set of environment variables to make available to builds for this build project.

" - }, - "privilegedMode":{ - "shape":"WrapperBoolean", - "documentation":"

Enables running the Docker daemon inside a Docker container. Set to true only if the build project is be used to build Docker images, and the specified build environment image is not 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 builds can interact with it. One way to do this is to initialize the Docker daemon during 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.)

If the operating system's base image is Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"

If the operating system's base image is Alpine Linux, add the -t argument to timeout:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout 15 -t sh -c \"until docker info; do echo .; sleep 1; done\"

" - }, - "certificate":{ - "shape":"String", - "documentation":"

The certificate to use with this build project.

" - } - }, - "documentation":"

Information about the build environment of the build project.

" - }, - "ProjectName":{ - "type":"string", - "max":255, - "min":2, - "pattern":"[A-Za-z0-9][A-Za-z0-9\\-_]{1,254}" - }, - "ProjectNames":{ - "type":"list", - "member":{"shape":"NonEmptyString"}, - "max":100, - "min":1 - }, - "ProjectSecondarySourceVersions":{ - "type":"list", - "member":{"shape":"ProjectSourceVersion"}, - "max":12, - "min":0 - }, - "ProjectSortByType":{ - "type":"string", - "enum":[ - "NAME", - "CREATED_TIME", - "LAST_MODIFIED_TIME" - ] - }, - "ProjectSource":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"SourceType", - "documentation":"

The type of repository that contains the source code to be built. Valid values include:

  • BITBUCKET: The source code is in a Bitbucket repository.

  • CODECOMMIT: The source code is in an AWS CodeCommit repository.

  • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in AWS CodePipeline.

  • GITHUB: The source code is in a GitHub repository.

  • S3: The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.

" - }, - "location":{ - "shape":"String", - "documentation":"

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline 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.

  • For source code in a Bitbucket 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 Bitbucket 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 Bitbucket, on the Bitbucket Confirm access to your account page that displays, choose Grant access. (After you have connected to your Bitbucket 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.

" - }, - "gitCloneDepth":{ - "shape":"GitCloneDepth", - "documentation":"

Information about the git clone depth for the build project.

" - }, - "buildspec":{ - "shape":"String", - "documentation":"

The build spec declaration to use for the builds in this build project.

If this value is not specified, a build spec must be included along with the source code to be built.

" - }, - "auth":{ - "shape":"SourceAuth", - "documentation":"

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is BITBUCKET or GITHUB).

" - }, - "reportBuildStatus":{ - "shape":"WrapperBoolean", - "documentation":"

Set to true to report the status of a build's start and finish to your source provider. This option is only valid when your source provider is GitHub. If this is set and you use a different source provider, an invalidInputException is thrown.

" - }, - "insecureSsl":{ - "shape":"WrapperBoolean", - "documentation":"

Enable this flag to ignore SSL warnings while connecting to the project source code.

" - }, - "sourceIdentifier":{ - "shape":"String", - "documentation":"

An identifier for this project source.

" - } - }, - "documentation":"

Information about the build input source code for the build project.

" - }, - "ProjectSourceVersion":{ - "type":"structure", - "required":[ - "sourceIdentifier", - "sourceVersion" - ], - "members":{ - "sourceIdentifier":{ - "shape":"String", - "documentation":"

An identifier for a source in the build project.

" - }, - "sourceVersion":{ - "shape":"String", - "documentation":"

The source version for the corresponding source identifier. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.

" - } - }, - "documentation":"

A source identifier and its corresponding version.

" - }, - "ProjectSources":{ - "type":"list", - "member":{"shape":"ProjectSource"}, - "max":12, - "min":0 - }, - "Projects":{ - "type":"list", - "member":{"shape":"Project"} - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified AWS resource cannot be created, because an AWS resource with the same settings already exists.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified AWS resource cannot be found.

", - "exception":true - }, - "SecurityGroupIds":{ - "type":"list", - "member":{"shape":"NonEmptyString"}, - "max":5 - }, - "SortOrderType":{ - "type":"string", - "enum":[ - "ASCENDING", - "DESCENDING" - ] - }, - "SourceAuth":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"SourceAuthType", - "documentation":"

The authorization type to use. The only valid value is OAUTH, which represents the OAuth authorization type.

" - }, - "resource":{ - "shape":"String", - "documentation":"

The resource value that applies to the specified authorization type.

" - } - }, - "documentation":"

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly (unless the build project's source type value is BITBUCKET or GITHUB).

" - }, - "SourceAuthType":{ - "type":"string", - "enum":["OAUTH"] - }, - "SourceType":{ - "type":"string", - "enum":[ - "CODECOMMIT", - "CODEPIPELINE", - "GITHUB", - "S3", - "BITBUCKET", - "GITHUB_ENTERPRISE", - "NO_SOURCE" - ] - }, - "StartBuildInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"NonEmptyString", - "documentation":"

The name of the AWS CodeBuild build project to start running a build.

" - }, - "secondarySourcesOverride":{ - "shape":"ProjectSources", - "documentation":"

An array of ProjectSource objects.

" - }, - "secondarySourcesVersionOverride":{ - "shape":"ProjectSecondarySourceVersions", - "documentation":"

An array of ProjectSourceVersion objects that specify one or more versions of the project's secondary sources to be used for this build only.

" - }, - "sourceVersion":{ - "shape":"String", - "documentation":"

A version of the build input to be built, for this build only. If not specified, the latest version will be used. If specified, must be one of:

  • For AWS CodeCommit: the commit ID to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID will be used. If not specified, the default branch's HEAD commit ID will be used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object representing the build input ZIP file to use.

" - }, - "artifactsOverride":{ - "shape":"ProjectArtifacts", - "documentation":"

Build output artifact settings that override, for this build only, the latest ones already defined in the build project.

" - }, - "secondaryArtifactsOverride":{ - "shape":"ProjectArtifactsList", - "documentation":"

An array of ProjectArtifacts objects.

" - }, - "environmentVariablesOverride":{ - "shape":"EnvironmentVariables", - "documentation":"

A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.

" - }, - "sourceTypeOverride":{ - "shape":"SourceType", - "documentation":"

A source input type for this build that overrides the source input defined in the build project

" - }, - "sourceLocationOverride":{ - "shape":"String", - "documentation":"

A location that overrides for this build the source location for the one defined in the build project.

" - }, - "sourceAuthOverride":{ - "shape":"SourceAuth", - "documentation":"

An authorization type for this build that overrides the one defined in the build project. This override applies only if the build project's source is BitBucket or GitHub.

" - }, - "gitCloneDepthOverride":{ - "shape":"GitCloneDepth", - "documentation":"

The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.

" - }, - "buildspecOverride":{ - "shape":"String", - "documentation":"

A build spec declaration that overrides, for this build only, the latest one already defined in the build project.

" - }, - "insecureSslOverride":{ - "shape":"WrapperBoolean", - "documentation":"

Enable this flag to override the insecure SSL setting that is specified in the build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build's source is GitHub Enterprise.

" - }, - "reportBuildStatusOverride":{ - "shape":"WrapperBoolean", - "documentation":"

Set to true to report to your source provider the status of a build's start and completion. If you use this option with a source provider other than GitHub, an invalidInputException is thrown.

" - }, - "environmentTypeOverride":{ - "shape":"EnvironmentType", - "documentation":"

A container type for this build that overrides the one specified in the build project.

" - }, - "imageOverride":{ - "shape":"NonEmptyString", - "documentation":"

The name of an image for this build that overrides the one specified in the build project.

" - }, - "computeTypeOverride":{ - "shape":"ComputeType", - "documentation":"

The name of a compute type for this build that overrides the one specified in the build project.

" - }, - "certificateOverride":{ - "shape":"String", - "documentation":"

The name of a certificate for this build that overrides the one specified in the build project.

" - }, - "cacheOverride":{ - "shape":"ProjectCache", - "documentation":"

A ProjectCache object specified for this build that overrides the one defined in the build project.

" - }, - "serviceRoleOverride":{ - "shape":"NonEmptyString", - "documentation":"

The name of a service role for this build that overrides the one specified in the build project.

" - }, - "privilegedModeOverride":{ - "shape":"WrapperBoolean", - "documentation":"

Enable this flag to override privileged mode in the build project.

" - }, - "timeoutInMinutesOverride":{ - "shape":"TimeOut", - "documentation":"

The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this build only, the latest setting already defined in the build project.

" - }, - "idempotencyToken":{ - "shape":"String", - "documentation":"

A unique, case sensitive identifier you provide to ensure the idempotency of the StartBuild request. The token is included in the StartBuild request and is valid for 12 hours. If you repeat the StartBuild request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

" - } - } - }, - "StartBuildOutput":{ - "type":"structure", - "members":{ - "build":{ - "shape":"Build", - "documentation":"

Information about the build to be run.

" - } - } - }, - "StatusType":{ - "type":"string", - "enum":[ - "SUCCEEDED", - "FAILED", - "FAULT", - "TIMED_OUT", - "IN_PROGRESS", - "STOPPED" - ] - }, - "StopBuildInput":{ - "type":"structure", - "required":["id"], - "members":{ - "id":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the build.

" - } - } - }, - "StopBuildOutput":{ - "type":"structure", - "members":{ - "build":{ - "shape":"Build", - "documentation":"

Information about the build.

" - } - } - }, - "String":{"type":"string"}, - "Subnets":{ - "type":"list", - "member":{"shape":"NonEmptyString"}, - "max":16 - }, - "Tag":{ - "type":"structure", - "members":{ - "key":{ - "shape":"KeyInput", - "documentation":"

The tag's key.

" - }, - "value":{ - "shape":"ValueInput", - "documentation":"

The tag's value.

" - } - }, - "documentation":"

A tag, consisting of a key and a value.

This tag is available for use by AWS services that support tags in AWS CodeBuild.

" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":0 - }, - "TimeOut":{ - "type":"integer", - "max":480, - "min":5 - }, - "Timestamp":{"type":"timestamp"}, - "UpdateProjectInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"NonEmptyString", - "documentation":"

The name of the build project.

You cannot change a build project's name.

" - }, - "description":{ - "shape":"ProjectDescription", - "documentation":"

A new or replacement description of the build project.

" - }, - "source":{ - "shape":"ProjectSource", - "documentation":"

Information to be changed about the build input source code for the build project.

" - }, - "secondarySources":{ - "shape":"ProjectSources", - "documentation":"

An array of ProjectSource objects.

" - }, - "artifacts":{ - "shape":"ProjectArtifacts", - "documentation":"

Information to be changed about the build output artifacts for the build project.

" - }, - "secondaryArtifacts":{ - "shape":"ProjectArtifactsList", - "documentation":"

An array of ProjectSource objects.

" - }, - "cache":{ - "shape":"ProjectCache", - "documentation":"

Stores recently used information so that it can be quickly accessed at a later time.

" - }, - "environment":{ - "shape":"ProjectEnvironment", - "documentation":"

Information to be changed about the build environment for the build project.

" - }, - "serviceRole":{ - "shape":"NonEmptyString", - "documentation":"

The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" - }, - "timeoutInMinutes":{ - "shape":"TimeOut", - "documentation":"

The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.

" - }, - "encryptionKey":{ - "shape":"NonEmptyString", - "documentation":"

The replacement AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can specify either the CMK's Amazon Resource Name (ARN) or, if available, the CMK's alias (using the format alias/alias-name ).

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The replacement set of tags for this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" - }, - "vpcConfig":{ - "shape":"VpcConfig", - "documentation":"

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" - }, - "badgeEnabled":{ - "shape":"WrapperBoolean", - "documentation":"

Set this to true to generate a publicly-accessible URL for your project's build badge.

" - } - } - }, - "UpdateProjectOutput":{ - "type":"structure", - "members":{ - "project":{ - "shape":"Project", - "documentation":"

Information about the build project that was changed.

" - } - } - }, - "UpdateWebhookInput":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the AWS CodeBuild project.

" - }, - "branchFilter":{ - "shape":"String", - "documentation":"

A regular expression used to determine which branches in a repository are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If it doesn't match, then it is not. If branchFilter is empty, then all branches are built.

" - }, - "rotateSecret":{ - "shape":"Boolean", - "documentation":"

A boolean value that specifies whether the associated repository's secret token should be updated.

" - } - } - }, - "UpdateWebhookOutput":{ - "type":"structure", - "members":{ - "webhook":{ - "shape":"Webhook", - "documentation":"

Information about a repository's webhook that is associated with a project in AWS CodeBuild.

" - } - } - }, - "ValueInput":{ - "type":"string", - "max":255, - "min":1, - "pattern":"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=@+\\\\-]*)$" - }, - "VpcConfig":{ - "type":"structure", - "members":{ - "vpcId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the Amazon VPC.

" - }, - "subnets":{ - "shape":"Subnets", - "documentation":"

A list of one or more subnet IDs in your Amazon VPC.

" - }, - "securityGroupIds":{ - "shape":"SecurityGroupIds", - "documentation":"

A list of one or more security groups IDs in your Amazon VPC.

" - } - }, - "documentation":"

Information about the VPC configuration that AWS CodeBuild will access.

" - }, - "Webhook":{ - "type":"structure", - "members":{ - "url":{ - "shape":"NonEmptyString", - "documentation":"

The URL to the webhook.

" - }, - "payloadUrl":{ - "shape":"NonEmptyString", - "documentation":"

The CodeBuild endpoint where webhook events are sent.

" - }, - "secret":{ - "shape":"NonEmptyString", - "documentation":"

The secret token of the associated repository.

" - }, - "branchFilter":{ - "shape":"String", - "documentation":"

A regular expression used to determine which branches in a repository are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If it doesn't match, then it is not. If branchFilter is empty, then all branches are built.

" - }, - "lastModifiedSecret":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating the last time a repository's secret token was modified.

" - } - }, - "documentation":"

Information about a webhook in GitHub that connects repository events to a build project in AWS CodeBuild.

" - }, - "WrapperBoolean":{"type":"boolean"}, - "WrapperInt":{"type":"integer"}, - "WrapperLong":{"type":"long"} - }, - "documentation":"AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests, and you pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

  • BatchDeleteBuilds: Deletes one or more builds.

  • BatchGetProjects: Gets information about one or more build projects. A build project defines how AWS CodeBuild will run a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A build environment represents a combination of operating system, programming language runtime, and tools that AWS CodeBuild will use to run a build. Also, you can add tags to build projects to help manage your resources and costs.

  • CreateProject: Creates a build project.

  • CreateWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, enables AWS CodeBuild to begin automatically rebuilding the source code every time a code change is pushed to the repository.

  • UpdateWebhook: Changes the settings of an existing webhook.

  • DeleteProject: Deletes a build project.

  • DeleteWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub repository, stops AWS CodeBuild from automatically rebuilding the source code every time a code change is pushed to the repository.

  • ListProjects: Gets a list of build project names, with each build project name representing a single build project.

  • UpdateProject: Changes the settings of an existing build project.

  • BatchGetBuilds: Gets information about one or more builds.

  • ListBuilds: Gets a list of build IDs, with each build ID representing a single build.

  • ListBuildsForProject: Gets a list of build IDs for the specified build project, with each build ID representing a single build.

  • StartBuild: Starts running a build.

  • StopBuild: Attempts to stop running a build.

  • ListCuratedEnvironmentImages: Gets information about Docker images that are managed by AWS CodeBuild.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/paginators-1.json deleted file mode 100644 index b3310fca..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/paginators-1.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "pagination": { - "ListBranches": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "branches" - }, - "ListRepositories": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "repositories" - }, - "GetCommentsForComparedCommit": { - "result_key": "commentsForComparedCommitData", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "DescribePullRequestEvents": { - "result_key": "pullRequestEvents", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetCommentsForPullRequest": { - "result_key": "commentsForPullRequestData", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListPullRequests": { - "result_key": "pullRequestIds", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetDifferences": { - "result_key": "differences", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/service-2.json deleted file mode 100644 index d3c23312..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codecommit/2015-04-13/service-2.json +++ /dev/null @@ -1,3549 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-04-13", - "endpointPrefix":"codecommit", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CodeCommit", - "serviceFullName":"AWS CodeCommit", - "serviceId":"CodeCommit", - "signatureVersion":"v4", - "targetPrefix":"CodeCommit_20150413", - "uid":"codecommit-2015-04-13" - }, - "operations":{ - "BatchGetRepositories":{ - "name":"BatchGetRepositories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetRepositoriesInput"}, - "output":{"shape":"BatchGetRepositoriesOutput"}, - "errors":[ - {"shape":"RepositoryNamesRequiredException"}, - {"shape":"MaximumRepositoryNamesExceededException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about one or more repositories.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" - }, - "CreateBranch":{ - "name":"CreateBranch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBranchInput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"BranchNameExistsException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Creates a new branch in a repository and points the branch to a commit.

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

" - }, - "CreatePullRequest":{ - "name":"CreatePullRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePullRequestInput"}, - "output":{"shape":"CreatePullRequestOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"ReferenceNameRequiredException"}, - {"shape":"InvalidReferenceNameException"}, - {"shape":"ReferenceDoesNotExistException"}, - {"shape":"ReferenceTypeNotSupportedException"}, - {"shape":"TitleRequiredException"}, - {"shape":"InvalidTitleException"}, - {"shape":"InvalidDescriptionException"}, - {"shape":"TargetsRequiredException"}, - {"shape":"InvalidTargetsException"}, - {"shape":"TargetRequiredException"}, - {"shape":"InvalidTargetException"}, - {"shape":"MultipleRepositoriesInPullRequestException"}, - {"shape":"MaximumOpenPullRequestsExceededException"}, - {"shape":"SourceAndDestinationAreSameException"} - ], - "documentation":"

Creates a pull request in the specified repository.

" - }, - "CreateRepository":{ - "name":"CreateRepository", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRepositoryInput"}, - "output":{"shape":"CreateRepositoryOutput"}, - "errors":[ - {"shape":"RepositoryNameExistsException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"InvalidRepositoryDescriptionException"}, - {"shape":"RepositoryLimitExceededException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Creates a new, empty repository.

" - }, - "DeleteBranch":{ - "name":"DeleteBranch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBranchInput"}, - "output":{"shape":"DeleteBranchOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"DefaultBranchCannotBeDeletedException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Deletes a branch from a repository, unless that branch is the default branch for the repository.

" - }, - "DeleteCommentContent":{ - "name":"DeleteCommentContent", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCommentContentInput"}, - "output":{"shape":"DeleteCommentContentOutput"}, - "errors":[ - {"shape":"CommentDoesNotExistException"}, - {"shape":"CommentIdRequiredException"}, - {"shape":"InvalidCommentIdException"}, - {"shape":"CommentDeletedException"} - ], - "documentation":"

Deletes the content of a comment made on a change, file, or commit in a repository.

" - }, - "DeleteRepository":{ - "name":"DeleteRepository", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRepositoryInput"}, - "output":{"shape":"DeleteRepositoryOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail.

" - }, - "DescribePullRequestEvents":{ - "name":"DescribePullRequestEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePullRequestEventsInput"}, - "output":{"shape":"DescribePullRequestEventsOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"InvalidPullRequestEventTypeException"}, - {"shape":"InvalidActorArnException"}, - {"shape":"ActorDoesNotExistException"}, - {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidContinuationTokenException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about one or more pull request events.

" - }, - "GetBlob":{ - "name":"GetBlob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetBlobInput"}, - "output":{"shape":"GetBlobOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"BlobIdRequiredException"}, - {"shape":"InvalidBlobIdException"}, - {"shape":"BlobIdDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"FileTooLargeException"} - ], - "documentation":"

Returns the base-64 encoded content of an individual blob within a repository.

" - }, - "GetBranch":{ - "name":"GetBranch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetBranchInput"}, - "output":{"shape":"GetBranchOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"BranchDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about a repository branch, including its name and the last commit ID.

" - }, - "GetComment":{ - "name":"GetComment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCommentInput"}, - "output":{"shape":"GetCommentOutput"}, - "errors":[ - {"shape":"CommentDoesNotExistException"}, - {"shape":"CommentIdRequiredException"}, - {"shape":"InvalidCommentIdException"}, - {"shape":"CommentDeletedException"} - ], - "documentation":"

Returns the content of a comment made on a change, file, or commit in a repository.

" - }, - "GetCommentsForComparedCommit":{ - "name":"GetCommentsForComparedCommit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCommentsForComparedCommitInput"}, - "output":{"shape":"GetCommentsForComparedCommitOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidContinuationTokenException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about comments made on the comparison between two commits.

" - }, - "GetCommentsForPullRequest":{ - "name":"GetCommentsForPullRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCommentsForPullRequestInput"}, - "output":{"shape":"GetCommentsForPullRequestOutput"}, - "errors":[ - {"shape":"PullRequestIdRequiredException"}, - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidContinuationTokenException"}, - {"shape":"RepositoryNotAssociatedWithPullRequestException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns comments made on a pull request.

" - }, - "GetCommit":{ - "name":"GetCommit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCommitInput"}, - "output":{"shape":"GetCommitOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"CommitIdDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about a commit, including commit message and committer information.

" - }, - "GetDifferences":{ - "name":"GetDifferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDifferencesInput"}, - "output":{"shape":"GetDifferencesOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"InvalidContinuationTokenException"}, - {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"CommitRequiredException"}, - {"shape":"InvalidCommitException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidPathException"}, - {"shape":"PathDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID or other fully qualified reference). Results can be limited to a specified path.

" - }, - "GetMergeConflicts":{ - "name":"GetMergeConflicts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMergeConflictsInput"}, - "output":{"shape":"GetMergeConflictsOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"MergeOptionRequiredException"}, - {"shape":"InvalidMergeOptionException"}, - {"shape":"InvalidDestinationCommitSpecifierException"}, - {"shape":"InvalidSourceCommitSpecifierException"}, - {"shape":"CommitRequiredException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidCommitException"}, - {"shape":"TipsDivergenceExceededException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

" - }, - "GetPullRequest":{ - "name":"GetPullRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPullRequestInput"}, - "output":{"shape":"GetPullRequestOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Gets information about a pull request in a specified repository.

" - }, - "GetRepository":{ - "name":"GetRepository", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRepositoryInput"}, - "output":{"shape":"GetRepositoryOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns information about a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" - }, - "GetRepositoryTriggers":{ - "name":"GetRepositoryTriggers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRepositoryTriggersInput"}, - "output":{"shape":"GetRepositoryTriggersOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Gets information about triggers configured for a repository.

" - }, - "ListBranches":{ - "name":"ListBranches", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBranchesInput"}, - "output":{"shape":"ListBranchesOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"InvalidContinuationTokenException"} - ], - "documentation":"

Gets information about one or more branches in a repository.

" - }, - "ListPullRequests":{ - "name":"ListPullRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPullRequestsInput"}, - "output":{"shape":"ListPullRequestsOutput"}, - "errors":[ - {"shape":"InvalidPullRequestStatusException"}, - {"shape":"InvalidAuthorArnException"}, - {"shape":"AuthorDoesNotExistException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidContinuationTokenException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Returns a list of pull requests for a specified repository. The return list can be refined by pull request status or pull request author ARN.

" - }, - "ListRepositories":{ - "name":"ListRepositories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRepositoriesInput"}, - "output":{"shape":"ListRepositoriesOutput"}, - "errors":[ - {"shape":"InvalidSortByException"}, - {"shape":"InvalidOrderException"}, - {"shape":"InvalidContinuationTokenException"} - ], - "documentation":"

Gets information about one or more repositories.

" - }, - "MergePullRequestByFastForward":{ - "name":"MergePullRequestByFastForward", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MergePullRequestByFastForwardInput"}, - "output":{"shape":"MergePullRequestByFastForwardOutput"}, - "errors":[ - {"shape":"ManualMergeRequiredException"}, - {"shape":"PullRequestAlreadyClosedException"}, - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"TipOfSourceReferenceIsDifferentException"}, - {"shape":"ReferenceDoesNotExistException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Closes a pull request and attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge option.

" - }, - "PostCommentForComparedCommit":{ - "name":"PostCommentForComparedCommit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PostCommentForComparedCommitInput"}, - "output":{"shape":"PostCommentForComparedCommitOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"InvalidFileLocationException"}, - {"shape":"InvalidRelativeFileVersionEnumException"}, - {"shape":"PathRequiredException"}, - {"shape":"InvalidFilePositionException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidPathException"}, - {"shape":"PathDoesNotExistException"} - ], - "documentation":"

Posts a comment on the comparison between two commits.

", - "idempotent":true - }, - "PostCommentForPullRequest":{ - "name":"PostCommentForPullRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PostCommentForPullRequestInput"}, - "output":{"shape":"PostCommentForPullRequestOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"RepositoryNotAssociatedWithPullRequestException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"InvalidFileLocationException"}, - {"shape":"InvalidRelativeFileVersionEnumException"}, - {"shape":"PathRequiredException"}, - {"shape":"InvalidFilePositionException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"CommitDoesNotExistException"}, - {"shape":"InvalidPathException"}, - {"shape":"PathDoesNotExistException"}, - {"shape":"PathRequiredException"}, - {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"} - ], - "documentation":"

Posts a comment on a pull request.

", - "idempotent":true - }, - "PostCommentReply":{ - "name":"PostCommentReply", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PostCommentReplyInput"}, - "output":{"shape":"PostCommentReplyOutput"}, - "errors":[ - {"shape":"ClientRequestTokenRequiredException"}, - {"shape":"InvalidClientRequestTokenException"}, - {"shape":"IdempotencyParameterMismatchException"}, - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"CommentDoesNotExistException"}, - {"shape":"CommentIdRequiredException"}, - {"shape":"InvalidCommentIdException"} - ], - "documentation":"

Posts a comment in reply to an existing comment on a comparison between commits or a pull request.

", - "idempotent":true - }, - "PutFile":{ - "name":"PutFile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutFileInput"}, - "output":{"shape":"PutFileOutput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"ParentCommitIdRequiredException"}, - {"shape":"InvalidParentCommitIdException"}, - {"shape":"ParentCommitDoesNotExistException"}, - {"shape":"ParentCommitIdOutdatedException"}, - {"shape":"FileContentRequiredException"}, - {"shape":"FileContentSizeLimitExceededException"}, - {"shape":"PathRequiredException"}, - {"shape":"InvalidPathException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"BranchDoesNotExistException"}, - {"shape":"BranchNameIsTagNameException"}, - {"shape":"InvalidFileModeException"}, - {"shape":"NameLengthExceededException"}, - {"shape":"InvalidEmailException"}, - {"shape":"CommitMessageLengthExceededException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"SameFileContentException"}, - {"shape":"FileNameConflictsWithDirectoryNameException"}, - {"shape":"DirectoryNameConflictsWithFileNameException"} - ], - "documentation":"

Adds or updates a file in an AWS CodeCommit repository.

" - }, - "PutRepositoryTriggers":{ - "name":"PutRepositoryTriggers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRepositoryTriggersInput"}, - "output":{"shape":"PutRepositoryTriggersOutput"}, - "errors":[ - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryTriggersListRequiredException"}, - {"shape":"MaximumRepositoryTriggersExceededException"}, - {"shape":"InvalidRepositoryTriggerNameException"}, - {"shape":"InvalidRepositoryTriggerDestinationArnException"}, - {"shape":"InvalidRepositoryTriggerRegionException"}, - {"shape":"InvalidRepositoryTriggerCustomDataException"}, - {"shape":"MaximumBranchesExceededException"}, - {"shape":"InvalidRepositoryTriggerBranchNameException"}, - {"shape":"InvalidRepositoryTriggerEventsException"}, - {"shape":"RepositoryTriggerNameRequiredException"}, - {"shape":"RepositoryTriggerDestinationArnRequiredException"}, - {"shape":"RepositoryTriggerBranchNameListRequiredException"}, - {"shape":"RepositoryTriggerEventsListRequiredException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Replaces all triggers for a repository. This can be used to create or delete triggers.

" - }, - "TestRepositoryTriggers":{ - "name":"TestRepositoryTriggers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestRepositoryTriggersInput"}, - "output":{"shape":"TestRepositoryTriggersOutput"}, - "errors":[ - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryTriggersListRequiredException"}, - {"shape":"MaximumRepositoryTriggersExceededException"}, - {"shape":"InvalidRepositoryTriggerNameException"}, - {"shape":"InvalidRepositoryTriggerDestinationArnException"}, - {"shape":"InvalidRepositoryTriggerRegionException"}, - {"shape":"InvalidRepositoryTriggerCustomDataException"}, - {"shape":"MaximumBranchesExceededException"}, - {"shape":"InvalidRepositoryTriggerBranchNameException"}, - {"shape":"InvalidRepositoryTriggerEventsException"}, - {"shape":"RepositoryTriggerNameRequiredException"}, - {"shape":"RepositoryTriggerDestinationArnRequiredException"}, - {"shape":"RepositoryTriggerBranchNameListRequiredException"}, - {"shape":"RepositoryTriggerEventsListRequiredException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

" - }, - "UpdateComment":{ - "name":"UpdateComment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateCommentInput"}, - "output":{"shape":"UpdateCommentOutput"}, - "errors":[ - {"shape":"CommentContentRequiredException"}, - {"shape":"CommentContentSizeLimitExceededException"}, - {"shape":"CommentDoesNotExistException"}, - {"shape":"CommentIdRequiredException"}, - {"shape":"InvalidCommentIdException"}, - {"shape":"CommentNotCreatedByCallerException"}, - {"shape":"CommentDeletedException"} - ], - "documentation":"

Replaces the contents of a comment.

" - }, - "UpdateDefaultBranch":{ - "name":"UpdateDefaultBranch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDefaultBranchInput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"BranchDoesNotExistException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Sets or changes the default branch name for the specified repository.

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

" - }, - "UpdatePullRequestDescription":{ - "name":"UpdatePullRequestDescription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePullRequestDescriptionInput"}, - "output":{"shape":"UpdatePullRequestDescriptionOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"InvalidDescriptionException"}, - {"shape":"PullRequestAlreadyClosedException"} - ], - "documentation":"

Replaces the contents of the description of a pull request.

" - }, - "UpdatePullRequestStatus":{ - "name":"UpdatePullRequestStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePullRequestStatusInput"}, - "output":{"shape":"UpdatePullRequestStatusOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"InvalidPullRequestStatusUpdateException"}, - {"shape":"InvalidPullRequestStatusException"}, - {"shape":"PullRequestStatusRequiredException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Updates the status of a pull request.

" - }, - "UpdatePullRequestTitle":{ - "name":"UpdatePullRequestTitle", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePullRequestTitleInput"}, - "output":{"shape":"UpdatePullRequestTitleOutput"}, - "errors":[ - {"shape":"PullRequestDoesNotExistException"}, - {"shape":"InvalidPullRequestIdException"}, - {"shape":"PullRequestIdRequiredException"}, - {"shape":"TitleRequiredException"}, - {"shape":"InvalidTitleException"}, - {"shape":"PullRequestAlreadyClosedException"} - ], - "documentation":"

Replaces the title of a pull request.

" - }, - "UpdateRepositoryDescription":{ - "name":"UpdateRepositoryDescription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRepositoryDescriptionInput"}, - "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"InvalidRepositoryDescriptionException"}, - {"shape":"EncryptionIntegrityChecksFailedException"}, - {"shape":"EncryptionKeyAccessDeniedException"}, - {"shape":"EncryptionKeyDisabledException"}, - {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} - ], - "documentation":"

Sets or changes the comment or description for a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" - }, - "UpdateRepositoryName":{ - "name":"UpdateRepositoryName", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRepositoryNameInput"}, - "errors":[ - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"RepositoryNameExistsException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"} - ], - "documentation":"

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix \".git\" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

" - } - }, - "shapes":{ - "AccountId":{"type":"string"}, - "ActorDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon Resource Name (ARN) does not exist in the AWS account.

", - "exception":true - }, - "AdditionalData":{"type":"string"}, - "Arn":{"type":"string"}, - "AuthorDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon Resource Name (ARN) does not exist in the AWS account.

", - "exception":true - }, - "BatchGetRepositoriesInput":{ - "type":"structure", - "required":["repositoryNames"], - "members":{ - "repositoryNames":{ - "shape":"RepositoryNameList", - "documentation":"

The names of the repositories to get information about.

" - } - }, - "documentation":"

Represents the input of a batch get repositories operation.

" - }, - "BatchGetRepositoriesOutput":{ - "type":"structure", - "members":{ - "repositories":{ - "shape":"RepositoryMetadataList", - "documentation":"

A list of repositories returned by the batch get repositories operation.

" - }, - "repositoriesNotFound":{ - "shape":"RepositoryNotFoundList", - "documentation":"

Returns a list of repository names for which information could not be found.

" - } - }, - "documentation":"

Represents the output of a batch get repositories operation.

" - }, - "BeforeCommitIdAndAfterCommitIdAreSameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The before commit ID and the after commit ID are the same, which is not valid. The before commit ID and the after commit ID must be different commit IDs.

", - "exception":true - }, - "BlobIdDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified blob does not exist.

", - "exception":true - }, - "BlobIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A blob ID is required but was not specified.

", - "exception":true - }, - "BlobMetadata":{ - "type":"structure", - "members":{ - "blobId":{ - "shape":"ObjectId", - "documentation":"

The full ID of the blob.

" - }, - "path":{ - "shape":"Path", - "documentation":"

The path to the blob and any associated file name, if any.

" - }, - "mode":{ - "shape":"Mode", - "documentation":"

The file mode permissions of the blob. File mode permission codes include:

  • 100644 indicates read/write

  • 100755 indicates read/write/execute

  • 160000 indicates a submodule

  • 120000 indicates a symlink

" - } - }, - "documentation":"

Returns information about a specific Git blob object.

" - }, - "BranchDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified branch does not exist.

", - "exception":true - }, - "BranchInfo":{ - "type":"structure", - "members":{ - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch.

" - }, - "commitId":{ - "shape":"CommitId", - "documentation":"

The ID of the last commit made to the branch.

" - } - }, - "documentation":"

Returns information about a branch.

" - }, - "BranchName":{ - "type":"string", - "max":256, - "min":1 - }, - "BranchNameExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified branch name already exists.

", - "exception":true - }, - "BranchNameIsTagNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified branch name is not valid because it is a tag name. Type the name of a current branch in the repository. For a list of valid branch names, use ListBranches.

", - "exception":true - }, - "BranchNameList":{ - "type":"list", - "member":{"shape":"BranchName"} - }, - "BranchNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A branch name is required but was not specified.

", - "exception":true - }, - "ChangeTypeEnum":{ - "type":"string", - "enum":[ - "A", - "M", - "D" - ] - }, - "ClientRequestToken":{"type":"string"}, - "ClientRequestTokenRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A client request token is required. A client request token is an unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

", - "exception":true - }, - "CloneUrlHttp":{"type":"string"}, - "CloneUrlSsh":{"type":"string"}, - "Comment":{ - "type":"structure", - "members":{ - "commentId":{ - "shape":"CommentId", - "documentation":"

The system-generated comment ID.

" - }, - "content":{ - "shape":"Content", - "documentation":"

The content of the comment.

" - }, - "inReplyTo":{ - "shape":"CommentId", - "documentation":"

The ID of the comment for which this comment is a reply, if any.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The date and time the comment was created, in timestamp format.

" - }, - "lastModifiedDate":{ - "shape":"LastModifiedDate", - "documentation":"

The date and time the comment was most recently modified, in timestamp format.

" - }, - "authorArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the person who posted the comment.

" - }, - "deleted":{ - "shape":"IsCommentDeleted", - "documentation":"

A Boolean value indicating whether the comment has been deleted.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

" - } - }, - "documentation":"

Returns information about a specific comment.

" - }, - "CommentContentRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The comment is empty. You must provide some content for a comment. The content cannot be null.

", - "exception":true - }, - "CommentContentSizeLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The comment is too large. Comments are limited to 1,000 characters.

", - "exception":true - }, - "CommentDeletedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This comment has already been deleted. You cannot edit or delete a deleted comment.

", - "exception":true - }, - "CommentDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

No comment exists with the provided ID. Verify that you have provided the correct ID, and then try again.

", - "exception":true - }, - "CommentId":{"type":"string"}, - "CommentIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The comment ID is missing or null. A comment ID is required.

", - "exception":true - }, - "CommentNotCreatedByCallerException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot modify or delete this comment. Only comment authors can modify or delete their comments.

", - "exception":true - }, - "Comments":{ - "type":"list", - "member":{"shape":"Comment"} - }, - "CommentsForComparedCommit":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the compared commits.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit used to establish the 'before' of the comparison.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit used to establish the 'after' of the comparison.

" - }, - "beforeBlobId":{ - "shape":"ObjectId", - "documentation":"

The full blob ID of the commit used to establish the 'before' of the comparison.

" - }, - "afterBlobId":{ - "shape":"ObjectId", - "documentation":"

The full blob ID of the commit used to establish the 'after' of the comparison.

" - }, - "location":{ - "shape":"Location", - "documentation":"

Location information about the comment on the comparison, including the file name, line number, and whether the version of the file where the comment was made is 'BEFORE' or 'AFTER'.

" - }, - "comments":{ - "shape":"Comments", - "documentation":"

An array of comment objects. Each comment object contains information about a comment on the comparison between commits.

" - } - }, - "documentation":"

Returns information about comments on the comparison between two commits.

" - }, - "CommentsForComparedCommitData":{ - "type":"list", - "member":{"shape":"CommentsForComparedCommit"} - }, - "CommentsForPullRequest":{ - "type":"structure", - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the pull request.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit that was the tip of the destination branch when the pull request was created. This commit will be superceded by the after commit in the source branch when and if you merge the source branch into the destination branch.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

he full commit ID of the commit that was the tip of the source branch at the time the comment was made.

" - }, - "beforeBlobId":{ - "shape":"ObjectId", - "documentation":"

The full blob ID of the file on which you want to comment on the destination commit.

" - }, - "afterBlobId":{ - "shape":"ObjectId", - "documentation":"

The full blob ID of the file on which you want to comment on the source commit.

" - }, - "location":{ - "shape":"Location", - "documentation":"

Location information about the comment on the pull request, including the file name, line number, and whether the version of the file where the comment was made is 'BEFORE' (destination branch) or 'AFTER' (source branch).

" - }, - "comments":{ - "shape":"Comments", - "documentation":"

An array of comment objects. Each comment object contains information about a comment on the pull request.

" - } - }, - "documentation":"

Returns information about comments on a pull request.

" - }, - "CommentsForPullRequestData":{ - "type":"list", - "member":{"shape":"CommentsForPullRequest"} - }, - "Commit":{ - "type":"structure", - "members":{ - "commitId":{ - "shape":"ObjectId", - "documentation":"

The full SHA of the specified commit.

" - }, - "treeId":{ - "shape":"ObjectId", - "documentation":"

Tree information for the specified commit.

" - }, - "parents":{ - "shape":"ParentList", - "documentation":"

A list of parent commits for the specified commit. Each parent commit ID is the full commit ID.

" - }, - "message":{ - "shape":"Message", - "documentation":"

The commit message associated with the specified commit.

" - }, - "author":{ - "shape":"UserInfo", - "documentation":"

Information about the author of the specified commit. Information includes the date in timestamp format with GMT offset, the name of the author, and the email address for the author, as configured in Git.

" - }, - "committer":{ - "shape":"UserInfo", - "documentation":"

Information about the person who committed the specified commit, also known as the committer. Information includes the date in timestamp format with GMT offset, the name of the committer, and the email address for the committer, as configured in Git.

For more information about the difference between an author and a committer in Git, see Viewing the Commit History in Pro Git by Scott Chacon and Ben Straub.

" - }, - "additionalData":{ - "shape":"AdditionalData", - "documentation":"

Any additional data associated with the specified commit.

" - } - }, - "documentation":"

Returns information about a specific commit.

" - }, - "CommitDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified commit does not exist or no commit was specified, and the specified repository has no default branch.

", - "exception":true - }, - "CommitId":{"type":"string"}, - "CommitIdDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified commit ID does not exist.

", - "exception":true - }, - "CommitIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A commit ID was not specified.

", - "exception":true - }, - "CommitMessageLengthExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The commit message is too long. Provide a shorter string.

", - "exception":true - }, - "CommitName":{"type":"string"}, - "CommitRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A commit was not specified.

", - "exception":true - }, - "Content":{"type":"string"}, - "CreateBranchInput":{ - "type":"structure", - "required":[ - "repositoryName", - "branchName", - "commitId" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository in which you want to create the new branch.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the new branch to create.

" - }, - "commitId":{ - "shape":"CommitId", - "documentation":"

The ID of the commit to point the new branch to.

" - } - }, - "documentation":"

Represents the input of a create branch operation.

" - }, - "CreatePullRequestInput":{ - "type":"structure", - "required":[ - "title", - "targets" - ], - "members":{ - "title":{ - "shape":"Title", - "documentation":"

The title of the pull request. This title will be used to identify the pull request to other users in the repository.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the pull request.

" - }, - "targets":{ - "shape":"TargetList", - "documentation":"

The targets for the pull request, including the source of the code to be reviewed (the source branch), and the destination where the creator of the pull request intends the code to be merged after the pull request is closed (the destination branch).

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

The AWS SDKs prepopulate client request tokens. If using an AWS SDK, you do not have to generate an idempotency token, as this will be done for you.

", - "idempotencyToken":true - } - } - }, - "CreatePullRequestOutput":{ - "type":"structure", - "required":["pullRequest"], - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the newly created pull request.

" - } - } - }, - "CreateRepositoryInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the new repository to be created.

The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix \".git\" is prohibited.

" - }, - "repositoryDescription":{ - "shape":"RepositoryDescription", - "documentation":"

A comment or description about the new repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" - } - }, - "documentation":"

Represents the input of a create repository operation.

" - }, - "CreateRepositoryOutput":{ - "type":"structure", - "members":{ - "repositoryMetadata":{ - "shape":"RepositoryMetadata", - "documentation":"

Information about the newly created repository.

" - } - }, - "documentation":"

Represents the output of a create repository operation.

" - }, - "CreationDate":{"type":"timestamp"}, - "Date":{"type":"string"}, - "DefaultBranchCannotBeDeletedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified branch is the default branch for the repository, and cannot be deleted. To delete this branch, you must first set another branch as the default branch.

", - "exception":true - }, - "DeleteBranchInput":{ - "type":"structure", - "required":[ - "repositoryName", - "branchName" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the branch to be deleted.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch to delete.

" - } - }, - "documentation":"

Represents the input of a delete branch operation.

" - }, - "DeleteBranchOutput":{ - "type":"structure", - "members":{ - "deletedBranch":{ - "shape":"BranchInfo", - "documentation":"

Information about the branch deleted by the operation, including the branch name and the commit ID that was the tip of the branch.

" - } - }, - "documentation":"

Represents the output of a delete branch operation.

" - }, - "DeleteCommentContentInput":{ - "type":"structure", - "required":["commentId"], - "members":{ - "commentId":{ - "shape":"CommentId", - "documentation":"

The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" - } - } - }, - "DeleteCommentContentOutput":{ - "type":"structure", - "members":{ - "comment":{ - "shape":"Comment", - "documentation":"

Information about the comment you just deleted.

" - } - } - }, - "DeleteRepositoryInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to delete.

" - } - }, - "documentation":"

Represents the input of a delete repository operation.

" - }, - "DeleteRepositoryOutput":{ - "type":"structure", - "members":{ - "repositoryId":{ - "shape":"RepositoryId", - "documentation":"

The ID of the repository that was deleted.

" - } - }, - "documentation":"

Represents the output of a delete repository operation.

" - }, - "DescribePullRequestEventsInput":{ - "type":"structure", - "required":["pullRequestId"], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "pullRequestEventType":{ - "shape":"PullRequestEventType", - "documentation":"

Optional. The pull request event type about which you want to return information.

" - }, - "actorArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the user whose actions resulted in the event. Examples include updating the pull request with additional commits or changing the status of a pull request.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

A non-negative integer used to limit the number of returned results. The default is 100 events, which is also the maximum number of events that can be returned in a result.

" - } - } - }, - "DescribePullRequestEventsOutput":{ - "type":"structure", - "required":["pullRequestEvents"], - "members":{ - "pullRequestEvents":{ - "shape":"PullRequestEventList", - "documentation":"

Information about the pull request events.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" - } - } - }, - "Description":{ - "type":"string", - "max":10240 - }, - "Difference":{ - "type":"structure", - "members":{ - "beforeBlob":{ - "shape":"BlobMetadata", - "documentation":"

Information about a beforeBlob data type object, including the ID, the file mode permission code, and the path.

" - }, - "afterBlob":{ - "shape":"BlobMetadata", - "documentation":"

Information about an afterBlob data type object, including the ID, the file mode permission code, and the path.

" - }, - "changeType":{ - "shape":"ChangeTypeEnum", - "documentation":"

Whether the change type of the difference is an addition (A), deletion (D), or modification (M).

" - } - }, - "documentation":"

Returns information about a set of differences for a commit specifier.

" - }, - "DifferenceList":{ - "type":"list", - "member":{"shape":"Difference"} - }, - "DirectoryNameConflictsWithFileNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A file cannot be added to the repository because the specified path name has the same name as a file that already exists in this repository. Either provide a different name for the file, or specify a different path for the file.

", - "exception":true - }, - "Email":{"type":"string"}, - "EncryptionIntegrityChecksFailedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An encryption integrity check failed.

", - "exception":true, - "fault":true - }, - "EncryptionKeyAccessDeniedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An encryption key could not be accessed.

", - "exception":true - }, - "EncryptionKeyDisabledException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The encryption key is disabled.

", - "exception":true - }, - "EncryptionKeyNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

No encryption key was found.

", - "exception":true - }, - "EncryptionKeyUnavailableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The encryption key is not available.

", - "exception":true - }, - "EventDate":{"type":"timestamp"}, - "FileContent":{ - "type":"blob", - "max":6291456 - }, - "FileContentRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file cannot be added because it is empty. Empty files cannot be added to the repository with this API.

", - "exception":true - }, - "FileContentSizeLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file cannot be added because it is too large. The maximum file size that can be added using PutFile is 6 MB. For files larger than 6 MB but smaller than 2 GB, add them using a Git client.

", - "exception":true - }, - "FileModeTypeEnum":{ - "type":"string", - "enum":[ - "EXECUTABLE", - "NORMAL", - "SYMLINK" - ] - }, - "FileNameConflictsWithDirectoryNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A file cannot be added to the repository because the specified file name has the same name as a directory in this repository. Either provide another name for the file, or add the file in a directory that does not match the file name.

", - "exception":true - }, - "FileTooLargeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified file exceeds the file size limit for AWS CodeCommit. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", - "exception":true - }, - "GetBlobInput":{ - "type":"structure", - "required":[ - "repositoryName", - "blobId" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the blob.

" - }, - "blobId":{ - "shape":"ObjectId", - "documentation":"

The ID of the blob, which is its SHA-1 pointer.

" - } - }, - "documentation":"

Represents the input of a get blob operation.

" - }, - "GetBlobOutput":{ - "type":"structure", - "required":["content"], - "members":{ - "content":{ - "shape":"blob", - "documentation":"

The content of the blob, usually a file.

" - } - }, - "documentation":"

Represents the output of a get blob operation.

" - }, - "GetBranchInput":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the branch for which you want to retrieve information.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch for which you want to retrieve information.

" - } - }, - "documentation":"

Represents the input of a get branch operation.

" - }, - "GetBranchOutput":{ - "type":"structure", - "members":{ - "branch":{ - "shape":"BranchInfo", - "documentation":"

The name of the branch.

" - } - }, - "documentation":"

Represents the output of a get branch operation.

" - }, - "GetCommentInput":{ - "type":"structure", - "required":["commentId"], - "members":{ - "commentId":{ - "shape":"CommentId", - "documentation":"

The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" - } - } - }, - "GetCommentOutput":{ - "type":"structure", - "members":{ - "comment":{ - "shape":"Comment", - "documentation":"

The contents of the comment.

" - } - } - }, - "GetCommentsForComparedCommitInput":{ - "type":"structure", - "required":[ - "repositoryName", - "afterCommitId" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to compare commits.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

To establish the directionality of the comparison, the full commit ID of the 'before' commit.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

To establish the directionality of the comparison, the full commit ID of the 'after' commit.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

A non-negative integer used to limit the number of returned results. The default is 100 comments, and is configurable up to 500.

" - } - } - }, - "GetCommentsForComparedCommitOutput":{ - "type":"structure", - "members":{ - "commentsForComparedCommitData":{ - "shape":"CommentsForComparedCommitData", - "documentation":"

A list of comment objects on the compared commit.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" - } - } - }, - "GetCommentsForPullRequestInput":{ - "type":"structure", - "required":["pullRequestId"], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the pull request.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the source branch that was the tip of the branch at the time the comment was made.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

A non-negative integer used to limit the number of returned results. The default is 100 comments. You can return up to 500 comments with a single request.

" - } - } - }, - "GetCommentsForPullRequestOutput":{ - "type":"structure", - "members":{ - "commentsForPullRequestData":{ - "shape":"CommentsForPullRequestData", - "documentation":"

An array of comment objects on the pull request.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" - } - } - }, - "GetCommitInput":{ - "type":"structure", - "required":[ - "repositoryName", - "commitId" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to which the commit was made.

" - }, - "commitId":{ - "shape":"ObjectId", - "documentation":"

The commit ID. Commit IDs are the full SHA of the commit.

" - } - }, - "documentation":"

Represents the input of a get commit operation.

" - }, - "GetCommitOutput":{ - "type":"structure", - "required":["commit"], - "members":{ - "commit":{ - "shape":"Commit", - "documentation":"

A commit data type object that contains information about the specified commit.

" - } - }, - "documentation":"

Represents the output of a get commit operation.

" - }, - "GetDifferencesInput":{ - "type":"structure", - "required":[ - "repositoryName", - "afterCommitSpecifier" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to get differences.

" - }, - "beforeCommitSpecifier":{ - "shape":"CommitName", - "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, the full commit ID. Optional. If not specified, all changes prior to the afterCommitSpecifier value will be shown. If you do not use beforeCommitSpecifier in your request, consider limiting the results with maxResults.

" - }, - "afterCommitSpecifier":{ - "shape":"CommitName", - "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit.

" - }, - "beforePath":{ - "shape":"Path", - "documentation":"

The file path in which to check for differences. Limits the results to this path. Can also be used to specify the previous name of a directory or folder. If beforePath and afterPath are not specified, differences will be shown for all paths.

" - }, - "afterPath":{ - "shape":"Path", - "documentation":"

The file path in which to check differences. Limits the results to this path. Can also be used to specify the changed name of a directory or folder, if it has changed. If not specified, differences will be shown for all paths.

" - }, - "MaxResults":{ - "shape":"Limit", - "documentation":"

A non-negative integer used to limit the number of returned results.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - } - } - }, - "GetDifferencesOutput":{ - "type":"structure", - "members":{ - "differences":{ - "shape":"DifferenceList", - "documentation":"

A differences data type object that contains information about the differences, including whether the difference is added, modified, or deleted (A, D, M).

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" - } - } - }, - "GetMergeConflictsInput":{ - "type":"structure", - "required":[ - "repositoryName", - "destinationCommitSpecifier", - "sourceCommitSpecifier", - "mergeOption" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where the pull request was created.

" - }, - "destinationCommitSpecifier":{ - "shape":"CommitName", - "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" - }, - "sourceCommitSpecifier":{ - "shape":"CommitName", - "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit. For example, a branch name or a full commit ID.

" - }, - "mergeOption":{ - "shape":"MergeOptionTypeEnum", - "documentation":"

The merge option or strategy you want to use to merge the code. The only valid value is FAST_FORWARD_MERGE.

" - } - } - }, - "GetMergeConflictsOutput":{ - "type":"structure", - "required":[ - "mergeable", - "destinationCommitId", - "sourceCommitId" - ], - "members":{ - "mergeable":{ - "shape":"IsMergeable", - "documentation":"

A Boolean value that indicates whether the code is mergable by the specified merge option.

" - }, - "destinationCommitId":{ - "shape":"CommitId", - "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" - }, - "sourceCommitId":{ - "shape":"CommitId", - "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" - } - } - }, - "GetPullRequestInput":{ - "type":"structure", - "required":["pullRequestId"], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - } - } - }, - "GetPullRequestOutput":{ - "type":"structure", - "required":["pullRequest"], - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the specified pull request.

" - } - } - }, - "GetRepositoryInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to get information about.

" - } - }, - "documentation":"

Represents the input of a get repository operation.

" - }, - "GetRepositoryOutput":{ - "type":"structure", - "members":{ - "repositoryMetadata":{ - "shape":"RepositoryMetadata", - "documentation":"

Information about the repository.

" - } - }, - "documentation":"

Represents the output of a get repository operation.

" - }, - "GetRepositoryTriggersInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository for which the trigger is configured.

" - } - }, - "documentation":"

Represents the input of a get repository triggers operation.

" - }, - "GetRepositoryTriggersOutput":{ - "type":"structure", - "members":{ - "configurationId":{ - "shape":"RepositoryTriggersConfigurationId", - "documentation":"

The system-generated unique ID for the trigger.

" - }, - "triggers":{ - "shape":"RepositoryTriggersList", - "documentation":"

The JSON block of configuration information for each trigger.

" - } - }, - "documentation":"

Represents the output of a get repository triggers operation.

" - }, - "IdempotencyParameterMismatchException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The client request token is not valid. Either the token is not in a valid format, or the token has been used in a previous request and cannot be re-used.

", - "exception":true - }, - "InvalidActorArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Amazon Resource Name (ARN) is not valid. Make sure that you have provided the full ARN for the user who initiated the change for the pull request, and then try again.

", - "exception":true - }, - "InvalidAuthorArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Amazon Resource Name (ARN) is not valid. Make sure that you have provided the full ARN for the author of the pull request, and then try again.

", - "exception":true - }, - "InvalidBlobIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified blob is not valid.

", - "exception":true - }, - "InvalidBranchNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reference name is not valid.

", - "exception":true - }, - "InvalidClientRequestTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The client request token is not valid.

", - "exception":true - }, - "InvalidCommentIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The comment ID is not in a valid format. Make sure that you have provided the full comment ID.

", - "exception":true - }, - "InvalidCommitException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified commit is not valid.

", - "exception":true - }, - "InvalidCommitIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified commit ID is not valid.

", - "exception":true - }, - "InvalidContinuationTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified continuation token is not valid.

", - "exception":true - }, - "InvalidDescriptionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request description is not valid. Descriptions are limited to 1,000 characters in length.

", - "exception":true - }, - "InvalidDestinationCommitSpecifierException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The destination commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

", - "exception":true - }, - "InvalidEmailException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified email address either contains one or more characters that are not allowed, or it exceeds the maximum number of characters allowed for an email address.

", - "exception":true - }, - "InvalidFileLocationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The location of the file is not valid. Make sure that you include the extension of the file as well as the file name.

", - "exception":true - }, - "InvalidFileModeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified file mode permission is not valid. For a list of valid file mode permissions, see PutFile.

", - "exception":true - }, - "InvalidFilePositionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The position is not valid. Make sure that the line number exists in the version of the file you want to comment on.

", - "exception":true - }, - "InvalidMaxResultsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified number of maximum results is not valid.

", - "exception":true - }, - "InvalidMergeOptionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified merge option is not valid. The only valid value is FAST_FORWARD_MERGE.

", - "exception":true - }, - "InvalidOrderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified sort order is not valid.

", - "exception":true - }, - "InvalidParentCommitIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The parent commit ID is not valid. The commit ID cannot be empty, and must match the head commit ID for the branch of the repository where you want to add or update a file.

", - "exception":true - }, - "InvalidPathException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified path is not valid.

", - "exception":true - }, - "InvalidPullRequestEventTypeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request event type is not valid.

", - "exception":true - }, - "InvalidPullRequestIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.

", - "exception":true - }, - "InvalidPullRequestStatusException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request status is not valid. The only valid values are OPEN and CLOSED.

", - "exception":true - }, - "InvalidPullRequestStatusUpdateException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request status update is not valid. The only valid update is from OPEN to CLOSED.

", - "exception":true - }, - "InvalidReferenceNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reference name format is not valid. Reference names must conform to the Git references format, for example refs/heads/master. For more information, see Git Internals - Git References or consult your Git documentation.

", - "exception":true - }, - "InvalidRelativeFileVersionEnumException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Either the enum is not in a valid format, or the specified file version enum is not valid in respect to the current file version.

", - "exception":true - }, - "InvalidRepositoryDescriptionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified repository description is not valid.

", - "exception":true - }, - "InvalidRepositoryNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

At least one specified repository name is not valid.

This exception only occurs when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

", - "exception":true - }, - "InvalidRepositoryTriggerBranchNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more branch names specified for the trigger is not valid.

", - "exception":true - }, - "InvalidRepositoryTriggerCustomDataException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The custom data provided for the trigger is not valid.

", - "exception":true - }, - "InvalidRepositoryTriggerDestinationArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.

", - "exception":true - }, - "InvalidRepositoryTriggerEventsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.

", - "exception":true - }, - "InvalidRepositoryTriggerNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The name of the trigger is not valid.

", - "exception":true - }, - "InvalidRepositoryTriggerRegionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The region for the trigger target does not match the region for the repository. Triggers must be created in the same region as the target for the trigger.

", - "exception":true - }, - "InvalidSortByException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified sort by value is not valid.

", - "exception":true - }, - "InvalidSourceCommitSpecifierException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The source commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

", - "exception":true - }, - "InvalidTargetException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The target for the pull request is not valid. A target must contain the full values for the repository name, source branch, and destination branch for the pull request.

", - "exception":true - }, - "InvalidTargetsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The targets for the pull request is not valid or not in a valid format. Targets are a list of target objects. Each target object must contain the full values for the repository name, source branch, and destination branch for a pull request.

", - "exception":true - }, - "InvalidTitleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The title of the pull request is not valid. Pull request titles cannot exceed 100 characters in length.

", - "exception":true - }, - "IsCommentDeleted":{"type":"boolean"}, - "IsMergeable":{"type":"boolean"}, - "IsMerged":{"type":"boolean"}, - "LastModifiedDate":{"type":"timestamp"}, - "Limit":{ - "type":"integer", - "box":true - }, - "ListBranchesInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the branches.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results.

" - } - }, - "documentation":"

Represents the input of a list branches operation.

" - }, - "ListBranchesOutput":{ - "type":"structure", - "members":{ - "branches":{ - "shape":"BranchNameList", - "documentation":"

The list of branch names.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that returns the batch of the results.

" - } - }, - "documentation":"

Represents the output of a list branches operation.

" - }, - "ListPullRequestsInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository for which you want to list pull requests.

" - }, - "authorArn":{ - "shape":"Arn", - "documentation":"

Optional. The Amazon Resource Name (ARN) of the user who created the pull request. If used, this filters the results to pull requests created by that user.

" - }, - "pullRequestStatus":{ - "shape":"PullRequestStatusEnum", - "documentation":"

Optional. The status of the pull request. If used, this refines the results to the pull requests that match the specified status.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

A non-negative integer used to limit the number of returned results.

" - } - } - }, - "ListPullRequestsOutput":{ - "type":"structure", - "required":["pullRequestIds"], - "members":{ - "pullRequestIds":{ - "shape":"PullRequestIdList", - "documentation":"

The system-generated IDs of the pull requests.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" - } - } - }, - "ListRepositoriesInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" - }, - "sortBy":{ - "shape":"SortByEnum", - "documentation":"

The criteria used to sort the results of a list repositories operation.

" - }, - "order":{ - "shape":"OrderEnum", - "documentation":"

The order in which to sort the results of a list repositories operation.

" - } - }, - "documentation":"

Represents the input of a list repositories operation.

" - }, - "ListRepositoriesOutput":{ - "type":"structure", - "members":{ - "repositories":{ - "shape":"RepositoryNameIdPairList", - "documentation":"

Lists the repositories called by the list repositories operation.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" - } - }, - "documentation":"

Represents the output of a list repositories operation.

" - }, - "Location":{ - "type":"structure", - "members":{ - "filePath":{ - "shape":"Path", - "documentation":"

The name of the file being compared, including its extension and subdirectory, if any.

" - }, - "filePosition":{ - "shape":"Position", - "documentation":"

The position of a change within a compared file, in line number format.

" - }, - "relativeFileVersion":{ - "shape":"RelativeFileVersionEnum", - "documentation":"

In a comparison of commits or a pull request, whether the change is in the 'before' or 'after' of that comparison.

" - } - }, - "documentation":"

Returns information about the location of a change or comment in the comparison between two commits or a pull request.

" - }, - "ManualMergeRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request cannot be merged automatically into the destination branch. You must manually merge the branches and resolve any conflicts.

", - "exception":true - }, - "MaxResults":{"type":"integer"}, - "MaximumBranchesExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of branches for the trigger was exceeded.

", - "exception":true - }, - "MaximumOpenPullRequestsExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot create the pull request because the repository has too many open pull requests. The maximum number of open pull requests for a repository is 1,000. Close one or more open pull requests, and then try again.

", - "exception":true - }, - "MaximumRepositoryNamesExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum number of allowed repository names was exceeded. Currently, this number is 25.

", - "exception":true - }, - "MaximumRepositoryTriggersExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of triggers allowed for the repository was exceeded.

", - "exception":true - }, - "MergeMetadata":{ - "type":"structure", - "members":{ - "isMerged":{ - "shape":"IsMerged", - "documentation":"

A Boolean value indicating whether the merge has been made.

" - }, - "mergedBy":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the user who merged the branches.

" - } - }, - "documentation":"

Returns information about a merge or potential merge between a source reference and a destination reference in a pull request.

" - }, - "MergeOptionRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A merge option or stategy is required, and none was provided.

", - "exception":true - }, - "MergeOptionTypeEnum":{ - "type":"string", - "enum":["FAST_FORWARD_MERGE"] - }, - "MergePullRequestByFastForwardInput":{ - "type":"structure", - "required":[ - "pullRequestId", - "repositoryName" - ], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where the pull request was created.

" - }, - "sourceCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" - } - } - }, - "MergePullRequestByFastForwardOutput":{ - "type":"structure", - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the specified pull request, including information about the merge.

" - } - } - }, - "Message":{"type":"string"}, - "Mode":{"type":"string"}, - "MultipleRepositoriesInPullRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot include more than one repository in a pull request. Make sure you have specified only one repository name in your request, and then try again.

", - "exception":true - }, - "Name":{"type":"string"}, - "NameLengthExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file name is not valid because it has exceeded the character limit for file names. File names, including the path to the file, cannot exceed the character limit.

", - "exception":true - }, - "NextToken":{"type":"string"}, - "ObjectId":{"type":"string"}, - "OrderEnum":{ - "type":"string", - "enum":[ - "ascending", - "descending" - ] - }, - "ParentCommitDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The parent commit ID is not valid. The specified parent commit ID does not exist in the specified branch of the repository.

", - "exception":true - }, - "ParentCommitIdOutdatedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file could not be added because the provided parent commit ID is not the current tip of the specified branch. To view the full commit ID of the current head of the branch, use GetBranch.

", - "exception":true - }, - "ParentCommitIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A parent commit ID is required. To view the full commit ID of a branch in a repository, use GetBranch or a Git command (for example, git pull or git log).

", - "exception":true - }, - "ParentList":{ - "type":"list", - "member":{"shape":"ObjectId"} - }, - "Path":{"type":"string"}, - "PathDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified path does not exist.

", - "exception":true - }, - "PathRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The filePath for a location cannot be empty or null.

", - "exception":true - }, - "Position":{"type":"long"}, - "PostCommentForComparedCommitInput":{ - "type":"structure", - "required":[ - "repositoryName", - "afterCommitId", - "content" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to post a comment on the comparison between commits.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

To establish the directionality of the comparison, the full commit ID of the 'before' commit.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

To establish the directionality of the comparison, the full commit ID of the 'after' commit.

" - }, - "location":{ - "shape":"Location", - "documentation":"

The location of the comparison where you want to comment.

" - }, - "content":{ - "shape":"Content", - "documentation":"

The content of the comment you want to make.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

", - "idempotencyToken":true - } - } - }, - "PostCommentForComparedCommitOutput":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you posted a comment on the comparison between commits.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

In the directionality you established, the full commit ID of the 'before' commit.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

In the directionality you established, the full commit ID of the 'after' commit.

" - }, - "beforeBlobId":{ - "shape":"ObjectId", - "documentation":"

In the directionality you established, the blob ID of the 'before' blob.

" - }, - "afterBlobId":{ - "shape":"ObjectId", - "documentation":"

In the directionality you established, the blob ID of the 'after' blob.

" - }, - "location":{ - "shape":"Location", - "documentation":"

The location of the comment in the comparison between the two commits.

" - }, - "comment":{ - "shape":"Comment", - "documentation":"

The content of the comment you posted.

" - } - } - }, - "PostCommentForPullRequestInput":{ - "type":"structure", - "required":[ - "pullRequestId", - "repositoryName", - "beforeCommitId", - "afterCommitId", - "content" - ], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to post a comment on a pull request.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the source branch that is the current tip of the branch for the pull request when you post the comment.

" - }, - "location":{ - "shape":"Location", - "documentation":"

The location of the change where you want to post your comment. If no location is provided, the comment will be posted as a general comment on the pull request difference between the before commit ID and the after commit ID.

" - }, - "content":{ - "shape":"Content", - "documentation":"

The content of your comment on the change.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

", - "idempotencyToken":true - } - } - }, - "PostCommentForPullRequestOutput":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you posted a comment on a pull request.

" - }, - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the source branch used to create the pull request, or in the case of an updated pull request, the full commit ID of the commit used to update the pull request.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the destination branch where the pull request will be merged.

" - }, - "beforeBlobId":{ - "shape":"ObjectId", - "documentation":"

In the directionality of the pull request, the blob ID of the 'before' blob.

" - }, - "afterBlobId":{ - "shape":"ObjectId", - "documentation":"

In the directionality of the pull request, the blob ID of the 'after' blob.

" - }, - "location":{ - "shape":"Location", - "documentation":"

The location of the change where you posted your comment.

" - }, - "comment":{ - "shape":"Comment", - "documentation":"

The content of the comment you posted.

" - } - } - }, - "PostCommentReplyInput":{ - "type":"structure", - "required":[ - "inReplyTo", - "content" - ], - "members":{ - "inReplyTo":{ - "shape":"CommentId", - "documentation":"

The system-generated ID of the comment to which you want to reply. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

", - "idempotencyToken":true - }, - "content":{ - "shape":"Content", - "documentation":"

The contents of your reply to a comment.

" - } - } - }, - "PostCommentReplyOutput":{ - "type":"structure", - "members":{ - "comment":{ - "shape":"Comment", - "documentation":"

Information about the reply to a comment.

" - } - } - }, - "PullRequest":{ - "type":"structure", - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request.

" - }, - "title":{ - "shape":"Title", - "documentation":"

The user-defined title of the pull request. This title is displayed in the list of pull requests to other users of the repository.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The user-defined description of the pull request. This description can be used to clarify what should be reviewed and other details of the request.

" - }, - "lastActivityDate":{ - "shape":"LastModifiedDate", - "documentation":"

The day and time of the last user or system activity on the pull request, in timestamp format.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The date and time the pull request was originally created, in timestamp format.

" - }, - "pullRequestStatus":{ - "shape":"PullRequestStatusEnum", - "documentation":"

The status of the pull request. Pull request status can only change from OPEN to CLOSED.

" - }, - "authorArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the user who created the pull request.

" - }, - "pullRequestTargets":{ - "shape":"PullRequestTargetList", - "documentation":"

The targets of the pull request, including the source branch and destination branch for the pull request.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A unique, client-generated idempotency token that when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request will return information about the initial request that used that token.

" - } - }, - "documentation":"

Returns information about a pull request.

" - }, - "PullRequestAlreadyClosedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request status cannot be updated because it is already closed.

", - "exception":true - }, - "PullRequestDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.

", - "exception":true - }, - "PullRequestEvent":{ - "type":"structure", - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request.

" - }, - "eventDate":{ - "shape":"EventDate", - "documentation":"

The day and time of the pull request event, in timestamp format.

" - }, - "pullRequestEventType":{ - "shape":"PullRequestEventType", - "documentation":"

The type of the pull request event, for example a status change event (PULL_REQUEST_STATUS_CHANGED) or update event (PULL_REQUEST_SOURCE_REFERENCE_UPDATED).

" - }, - "actorArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the user whose actions resulted in the event. Examples include updating the pull request with additional commits or changing the status of a pull request.

" - }, - "pullRequestStatusChangedEventMetadata":{ - "shape":"PullRequestStatusChangedEventMetadata", - "documentation":"

Information about the change in status for the pull request event.

" - }, - "pullRequestSourceReferenceUpdatedEventMetadata":{ - "shape":"PullRequestSourceReferenceUpdatedEventMetadata", - "documentation":"

Information about the updated source branch for the pull request event.

" - }, - "pullRequestMergedStateChangedEventMetadata":{ - "shape":"PullRequestMergedStateChangedEventMetadata", - "documentation":"

Information about the change in mergability state for the pull request event.

" - } - }, - "documentation":"

Returns information about a pull request event.

" - }, - "PullRequestEventList":{ - "type":"list", - "member":{"shape":"PullRequestEvent"} - }, - "PullRequestEventType":{ - "type":"string", - "enum":[ - "PULL_REQUEST_CREATED", - "PULL_REQUEST_STATUS_CHANGED", - "PULL_REQUEST_SOURCE_REFERENCE_UPDATED", - "PULL_REQUEST_MERGE_STATE_CHANGED" - ] - }, - "PullRequestId":{"type":"string"}, - "PullRequestIdList":{ - "type":"list", - "member":{"shape":"PullRequestId"} - }, - "PullRequestIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A pull request ID is required, but none was provided.

", - "exception":true - }, - "PullRequestMergedStateChangedEventMetadata":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where the pull request was created.

" - }, - "destinationReference":{ - "shape":"ReferenceName", - "documentation":"

The name of the branch that the pull request will be merged into.

" - }, - "mergeMetadata":{ - "shape":"MergeMetadata", - "documentation":"

Information about the merge state change event.

" - } - }, - "documentation":"

Returns information about the change in the merge state for a pull request event.

" - }, - "PullRequestSourceReferenceUpdatedEventMetadata":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where the pull request was updated.

" - }, - "beforeCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was updated.

" - }, - "afterCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the commit in the source branch that was the tip of the branch at the time the pull request was updated.

" - } - }, - "documentation":"

Information about an update to the source branch of a pull request.

" - }, - "PullRequestStatusChangedEventMetadata":{ - "type":"structure", - "members":{ - "pullRequestStatus":{ - "shape":"PullRequestStatusEnum", - "documentation":"

The changed status of the pull request.

" - } - }, - "documentation":"

Information about a change to the status of a pull request.

" - }, - "PullRequestStatusEnum":{ - "type":"string", - "enum":[ - "OPEN", - "CLOSED" - ] - }, - "PullRequestStatusRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A pull request status is required, but none was provided.

", - "exception":true - }, - "PullRequestTarget":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the pull request source and destination branches.

" - }, - "sourceReference":{ - "shape":"ReferenceName", - "documentation":"

The branch of the repository that contains the changes for the pull request. Also known as the source branch.

" - }, - "destinationReference":{ - "shape":"ReferenceName", - "documentation":"

The branch of the repository where the pull request changes will be merged into. Also known as the destination branch.

" - }, - "destinationCommit":{ - "shape":"CommitId", - "documentation":"

The full commit ID that is the tip of the destination branch. This is the commit where the pull request was or will be merged.

" - }, - "sourceCommit":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the tip of the source branch used to create the pull request. If the pull request branch is updated by a push while the pull request is open, the commit ID will change to reflect the new tip of the branch.

" - }, - "mergeMetadata":{ - "shape":"MergeMetadata", - "documentation":"

Returns metadata about the state of the merge, including whether the merge has been made.

" - } - }, - "documentation":"

Returns information about a pull request target.

" - }, - "PullRequestTargetList":{ - "type":"list", - "member":{"shape":"PullRequestTarget"} - }, - "PutFileInput":{ - "type":"structure", - "required":[ - "repositoryName", - "branchName", - "fileContent", - "filePath" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to add or update the file.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch where you want to add or update the file.

" - }, - "fileContent":{ - "shape":"FileContent", - "documentation":"

The content of the file, in binary object format.

" - }, - "filePath":{ - "shape":"Path", - "documentation":"

The name of the file you want to add or update, including the relative path to the file in the repository.

If the path does not currently exist in the repository, the path will be created as part of adding the file.

" - }, - "fileMode":{ - "shape":"FileModeTypeEnum", - "documentation":"

The file mode permissions of the blob. Valid file mode permissions are listed below.

" - }, - "parentCommitId":{ - "shape":"CommitId", - "documentation":"

The full commit ID of the head commit in the branch where you want to add or update the file. If the commit ID does not match the ID of the head commit at the time of the operation, an error will occur, and the file will not be added or updated.

" - }, - "commitMessage":{ - "shape":"Message", - "documentation":"

A message about why this file was added or updated. While optional, adding a message is strongly encouraged in order to provide a more useful commit history for your repository.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the person adding or updating the file. While optional, adding a name is strongly encouraged in order to provide a more useful commit history for your repository.

" - }, - "email":{ - "shape":"Email", - "documentation":"

An email address for the person adding or updating the file.

" - } - } - }, - "PutFileOutput":{ - "type":"structure", - "required":[ - "commitId", - "blobId", - "treeId" - ], - "members":{ - "commitId":{ - "shape":"ObjectId", - "documentation":"

The full SHA of the commit that contains this file change.

" - }, - "blobId":{ - "shape":"ObjectId", - "documentation":"

The ID of the blob, which is its SHA-1 pointer.

" - }, - "treeId":{ - "shape":"ObjectId", - "documentation":"

Tree information for the commit that contains this file change.

" - } - } - }, - "PutRepositoryTriggersInput":{ - "type":"structure", - "required":[ - "repositoryName", - "triggers" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to create or update the trigger.

" - }, - "triggers":{ - "shape":"RepositoryTriggersList", - "documentation":"

The JSON block of configuration information for each trigger.

" - } - }, - "documentation":"

Represents the input ofa put repository triggers operation.

" - }, - "PutRepositoryTriggersOutput":{ - "type":"structure", - "members":{ - "configurationId":{ - "shape":"RepositoryTriggersConfigurationId", - "documentation":"

The system-generated unique ID for the create or update operation.

" - } - }, - "documentation":"

Represents the output of a put repository triggers operation.

" - }, - "ReferenceDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reference does not exist. You must provide a full commit ID.

", - "exception":true - }, - "ReferenceName":{"type":"string"}, - "ReferenceNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A reference name is required, but none was provided.

", - "exception":true - }, - "ReferenceTypeNotSupportedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reference is not a supported type.

", - "exception":true - }, - "RelativeFileVersionEnum":{ - "type":"string", - "enum":[ - "BEFORE", - "AFTER" - ] - }, - "RepositoryDescription":{ - "type":"string", - "max":1000 - }, - "RepositoryDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified repository does not exist.

", - "exception":true - }, - "RepositoryId":{"type":"string"}, - "RepositoryLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A repository resource limit was exceeded.

", - "exception":true - }, - "RepositoryMetadata":{ - "type":"structure", - "members":{ - "accountId":{ - "shape":"AccountId", - "documentation":"

The ID of the AWS account associated with the repository.

" - }, - "repositoryId":{ - "shape":"RepositoryId", - "documentation":"

The ID of the repository.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository's name.

" - }, - "repositoryDescription":{ - "shape":"RepositoryDescription", - "documentation":"

A comment or description about the repository.

" - }, - "defaultBranch":{ - "shape":"BranchName", - "documentation":"

The repository's default branch name.

" - }, - "lastModifiedDate":{ - "shape":"LastModifiedDate", - "documentation":"

The date and time the repository was last modified, in timestamp format.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The date and time the repository was created, in timestamp format.

" - }, - "cloneUrlHttp":{ - "shape":"CloneUrlHttp", - "documentation":"

The URL to use for cloning the repository over HTTPS.

" - }, - "cloneUrlSsh":{ - "shape":"CloneUrlSsh", - "documentation":"

The URL to use for cloning the repository over SSH.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the repository.

" - } - }, - "documentation":"

Information about a repository.

" - }, - "RepositoryMetadataList":{ - "type":"list", - "member":{"shape":"RepositoryMetadata"} - }, - "RepositoryName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[\\w\\.-]+" - }, - "RepositoryNameExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified repository name already exists.

", - "exception":true - }, - "RepositoryNameIdPair":{ - "type":"structure", - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name associated with the repository.

" - }, - "repositoryId":{ - "shape":"RepositoryId", - "documentation":"

The ID associated with the repository.

" - } - }, - "documentation":"

Information about a repository name and ID.

" - }, - "RepositoryNameIdPairList":{ - "type":"list", - "member":{"shape":"RepositoryNameIdPair"} - }, - "RepositoryNameList":{ - "type":"list", - "member":{"shape":"RepositoryName"} - }, - "RepositoryNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A repository name is required but was not specified.

", - "exception":true - }, - "RepositoryNamesRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A repository names object is required but was not specified.

", - "exception":true - }, - "RepositoryNotAssociatedWithPullRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The repository does not contain any pull requests with that pull request ID. Check to make sure you have provided the correct repository name for the pull request.

", - "exception":true - }, - "RepositoryNotFoundList":{ - "type":"list", - "member":{"shape":"RepositoryName"} - }, - "RepositoryTrigger":{ - "type":"structure", - "required":[ - "name", - "destinationArn", - "events" - ], - "members":{ - "name":{ - "shape":"RepositoryTriggerName", - "documentation":"

The name of the trigger.

" - }, - "destinationArn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource that is the target for a trigger. For example, the ARN of a topic in Amazon Simple Notification Service (SNS).

" - }, - "customData":{ - "shape":"RepositoryTriggerCustomData", - "documentation":"

Any custom data associated with the trigger that will be included in the information sent to the target of the trigger.

" - }, - "branches":{ - "shape":"BranchNameList", - "documentation":"

The branches that will be included in the trigger configuration. If you specify an empty array, the trigger will apply to all branches.

While no content is required in the array, you must include the array itself.

" - }, - "events":{ - "shape":"RepositoryTriggerEventList", - "documentation":"

The repository events that will cause the trigger to run actions in another service, such as sending a notification through Amazon Simple Notification Service (SNS).

The valid value \"all\" cannot be used with any other values.

" - } - }, - "documentation":"

Information about a trigger for a repository.

" - }, - "RepositoryTriggerBranchNameListRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

At least one branch name is required but was not specified in the trigger configuration.

", - "exception":true - }, - "RepositoryTriggerCustomData":{"type":"string"}, - "RepositoryTriggerDestinationArnRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A destination ARN for the target service for the trigger is required but was not specified.

", - "exception":true - }, - "RepositoryTriggerEventEnum":{ - "type":"string", - "enum":[ - "all", - "updateReference", - "createReference", - "deleteReference" - ] - }, - "RepositoryTriggerEventList":{ - "type":"list", - "member":{"shape":"RepositoryTriggerEventEnum"} - }, - "RepositoryTriggerEventsListRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

At least one event for the trigger is required but was not specified.

", - "exception":true - }, - "RepositoryTriggerExecutionFailure":{ - "type":"structure", - "members":{ - "trigger":{ - "shape":"RepositoryTriggerName", - "documentation":"

The name of the trigger that did not run.

" - }, - "failureMessage":{ - "shape":"RepositoryTriggerExecutionFailureMessage", - "documentation":"

Additional message information about the trigger that did not run.

" - } - }, - "documentation":"

A trigger failed to run.

" - }, - "RepositoryTriggerExecutionFailureList":{ - "type":"list", - "member":{"shape":"RepositoryTriggerExecutionFailure"} - }, - "RepositoryTriggerExecutionFailureMessage":{"type":"string"}, - "RepositoryTriggerName":{"type":"string"}, - "RepositoryTriggerNameList":{ - "type":"list", - "member":{"shape":"RepositoryTriggerName"} - }, - "RepositoryTriggerNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A name for the trigger is required but was not specified.

", - "exception":true - }, - "RepositoryTriggersConfigurationId":{"type":"string"}, - "RepositoryTriggersList":{ - "type":"list", - "member":{"shape":"RepositoryTrigger"} - }, - "RepositoryTriggersListRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The list of triggers for the repository is required but was not specified.

", - "exception":true - }, - "SameFileContentException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file was not added or updated because the content of the file is exactly the same as the content of that file in the repository and branch that you specified.

", - "exception":true - }, - "SortByEnum":{ - "type":"string", - "enum":[ - "repositoryName", - "lastModifiedDate" - ] - }, - "SourceAndDestinationAreSameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The source branch and the destination branch for the pull request are the same. You must specify different branches for the source and destination.

", - "exception":true - }, - "Target":{ - "type":"structure", - "required":[ - "repositoryName", - "sourceReference" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the pull request.

" - }, - "sourceReference":{ - "shape":"ReferenceName", - "documentation":"

The branch of the repository that contains the changes for the pull request. Also known as the source branch.

" - }, - "destinationReference":{ - "shape":"ReferenceName", - "documentation":"

The branch of the repository where the pull request changes will be merged into. Also known as the destination branch.

" - } - }, - "documentation":"

Returns information about a target for a pull request.

" - }, - "TargetList":{ - "type":"list", - "member":{"shape":"Target"} - }, - "TargetRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A pull request target is required. It cannot be empty or null. A pull request target must contain the full values for the repository name, source branch, and destination branch for the pull request.

", - "exception":true - }, - "TargetsRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An array of target objects is required. It cannot be empty or null.

", - "exception":true - }, - "TestRepositoryTriggersInput":{ - "type":"structure", - "required":[ - "repositoryName", - "triggers" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository in which to test the triggers.

" - }, - "triggers":{ - "shape":"RepositoryTriggersList", - "documentation":"

The list of triggers to test.

" - } - }, - "documentation":"

Represents the input of a test repository triggers operation.

" - }, - "TestRepositoryTriggersOutput":{ - "type":"structure", - "members":{ - "successfulExecutions":{ - "shape":"RepositoryTriggerNameList", - "documentation":"

The list of triggers that were successfully tested. This list provides the names of the triggers that were successfully tested, separated by commas.

" - }, - "failedExecutions":{ - "shape":"RepositoryTriggerExecutionFailureList", - "documentation":"

The list of triggers that were not able to be tested. This list provides the names of the triggers that could not be tested, separated by commas.

" - } - }, - "documentation":"

Represents the output of a test repository triggers operation.

" - }, - "TipOfSourceReferenceIsDifferentException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The tip of the source branch in the destination repository does not match the tip of the source branch specified in your request. The pull request might have been updated. Make sure that you have the latest changes.

", - "exception":true - }, - "TipsDivergenceExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The divergence between the tips of the provided commit specifiers is too great to determine whether there might be any merge conflicts. Locally compare the specifiers using git diff or a diff tool.

", - "exception":true - }, - "Title":{ - "type":"string", - "max":150 - }, - "TitleRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A pull request title is required. It cannot be empty or null.

", - "exception":true - }, - "UpdateCommentInput":{ - "type":"structure", - "required":[ - "commentId", - "content" - ], - "members":{ - "commentId":{ - "shape":"CommentId", - "documentation":"

The system-generated ID of the comment you want to update. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" - }, - "content":{ - "shape":"Content", - "documentation":"

The updated content with which you want to replace the existing content of the comment.

" - } - } - }, - "UpdateCommentOutput":{ - "type":"structure", - "members":{ - "comment":{ - "shape":"Comment", - "documentation":"

Information about the updated comment.

" - } - } - }, - "UpdateDefaultBranchInput":{ - "type":"structure", - "required":[ - "repositoryName", - "defaultBranchName" - ], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to set or change the default branch for.

" - }, - "defaultBranchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch to set as the default.

" - } - }, - "documentation":"

Represents the input of an update default branch operation.

" - }, - "UpdatePullRequestDescriptionInput":{ - "type":"structure", - "required":[ - "pullRequestId", - "description" - ], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The updated content of the description for the pull request. This content will replace the existing description.

" - } - } - }, - "UpdatePullRequestDescriptionOutput":{ - "type":"structure", - "required":["pullRequest"], - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the updated pull request.

" - } - } - }, - "UpdatePullRequestStatusInput":{ - "type":"structure", - "required":[ - "pullRequestId", - "pullRequestStatus" - ], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "pullRequestStatus":{ - "shape":"PullRequestStatusEnum", - "documentation":"

The status of the pull request. The only valid operations are to update the status from OPEN to OPEN, OPEN to CLOSED or from from CLOSED to CLOSED.

" - } - } - }, - "UpdatePullRequestStatusOutput":{ - "type":"structure", - "required":["pullRequest"], - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the pull request.

" - } - } - }, - "UpdatePullRequestTitleInput":{ - "type":"structure", - "required":[ - "pullRequestId", - "title" - ], - "members":{ - "pullRequestId":{ - "shape":"PullRequestId", - "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" - }, - "title":{ - "shape":"Title", - "documentation":"

The updated title of the pull request. This will replace the existing title.

" - } - } - }, - "UpdatePullRequestTitleOutput":{ - "type":"structure", - "required":["pullRequest"], - "members":{ - "pullRequest":{ - "shape":"PullRequest", - "documentation":"

Information about the updated pull request.

" - } - } - }, - "UpdateRepositoryDescriptionInput":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to set or change the comment or description for.

" - }, - "repositoryDescription":{ - "shape":"RepositoryDescription", - "documentation":"

The new comment or description for the specified repository. Repository descriptions are limited to 1,000 characters.

" - } - }, - "documentation":"

Represents the input of an update repository description operation.

" - }, - "UpdateRepositoryNameInput":{ - "type":"structure", - "required":[ - "oldName", - "newName" - ], - "members":{ - "oldName":{ - "shape":"RepositoryName", - "documentation":"

The existing name of the repository.

" - }, - "newName":{ - "shape":"RepositoryName", - "documentation":"

The new name for the repository.

" - } - }, - "documentation":"

Represents the input of an update repository description operation.

" - }, - "UserInfo":{ - "type":"structure", - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the user who made the specified commit.

" - }, - "email":{ - "shape":"Email", - "documentation":"

The email address associated with the user who made the commit, if any.

" - }, - "date":{ - "shape":"Date", - "documentation":"

The date when the specified commit was commited, in timestamp format with GMT offset.

" - } - }, - "documentation":"

Information about the user who made a specified commit.

" - }, - "blob":{"type":"blob"} - }, - "documentation":"AWS CodeCommit

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API along with usage examples.

You can use the AWS CodeCommit API to work with the following objects:

Repositories, by calling the following:

  • BatchGetRepositories, which returns information about one or more repositories associated with your AWS account.

  • CreateRepository, which creates an AWS CodeCommit repository.

  • DeleteRepository, which deletes an AWS CodeCommit repository.

  • GetRepository, which returns information about a specified repository.

  • ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account.

  • UpdateRepositoryDescription, which sets or updates the description of the repository.

  • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

  • CreateBranch, which creates a new branch in a specified repository.

  • DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

  • GetBranch, which returns information about a specified branch.

  • ListBranches, which lists all branches for a specified repository.

  • UpdateDefaultBranch, which changes the default branch for a repository.

Files, by calling the following:

  • PutFile, which adds or modifies a file in a specified repository and branch.

Information about committed code in a repository, by calling the following:

  • GetBlob, which returns the base-64 encoded content of an individual Git blob object within a repository.

  • GetCommit, which returns information about a commit, including commit messages and author and committer information.

  • GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID or other fully qualified reference).

Pull requests, by calling the following:

Information about comments in a repository, by calling the following:

Triggers, by calling the following:

  • GetRepositoryTriggers, which returns information about triggers configured for a repository.

  • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers.

  • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/paginators-1.json deleted file mode 100644 index cea07e68..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/paginators-1.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/service-2.json deleted file mode 100644 index 04992201..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/service-2.json +++ /dev/null @@ -1,3905 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-10-06", - "endpointPrefix":"codedeploy", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CodeDeploy", - "serviceFullName":"AWS CodeDeploy", - "serviceId":"CodeDeploy", - "signatureVersion":"v4", - "targetPrefix":"CodeDeploy_20141006", - "timestampFormat":"unixTimestamp", - "uid":"codedeploy-2014-10-06" - }, - "operations":{ - "AddTagsToOnPremisesInstances":{ - "name":"AddTagsToOnPremisesInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToOnPremisesInstancesInput"}, - "errors":[ - {"shape":"InstanceNameRequiredException"}, - {"shape":"InvalidInstanceNameException"}, - {"shape":"TagRequiredException"}, - {"shape":"InvalidTagException"}, - {"shape":"TagLimitExceededException"}, - {"shape":"InstanceLimitExceededException"}, - {"shape":"InstanceNotRegisteredException"} - ], - "documentation":"

Adds tags to on-premises instances.

" - }, - "BatchGetApplicationRevisions":{ - "name":"BatchGetApplicationRevisions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetApplicationRevisionsInput"}, - "output":{"shape":"BatchGetApplicationRevisionsOutput"}, - "errors":[ - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"RevisionRequiredException"}, - {"shape":"InvalidRevisionException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more application revisions.

" - }, - "BatchGetApplications":{ - "name":"BatchGetApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetApplicationsInput"}, - "output":{"shape":"BatchGetApplicationsOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more applications.

" - }, - "BatchGetDeploymentGroups":{ - "name":"BatchGetDeploymentGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetDeploymentGroupsInput"}, - "output":{"shape":"BatchGetDeploymentGroupsOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more deployment groups.

" - }, - "BatchGetDeploymentInstances":{ - "name":"BatchGetDeploymentInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetDeploymentInstancesInput"}, - "output":{"shape":"BatchGetDeploymentInstancesOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"InstanceIdRequiredException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"InvalidInstanceNameException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more instance that are part of a deployment group.

" - }, - "BatchGetDeployments":{ - "name":"BatchGetDeployments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetDeploymentsInput"}, - "output":{"shape":"BatchGetDeploymentsOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more deployments.

" - }, - "BatchGetOnPremisesInstances":{ - "name":"BatchGetOnPremisesInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetOnPremisesInstancesInput"}, - "output":{"shape":"BatchGetOnPremisesInstancesOutput"}, - "errors":[ - {"shape":"InstanceNameRequiredException"}, - {"shape":"InvalidInstanceNameException"}, - {"shape":"BatchLimitExceededException"} - ], - "documentation":"

Gets information about one or more on-premises instances.

" - }, - "ContinueDeployment":{ - "name":"ContinueDeployment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ContinueDeploymentInput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"DeploymentAlreadyCompletedException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"DeploymentIsNotInReadyStateException"}, - {"shape":"UnsupportedActionForDeploymentTypeException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationInput"}, - "output":{"shape":"CreateApplicationOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationAlreadyExistsException"}, - {"shape":"ApplicationLimitExceededException"}, - {"shape":"InvalidComputePlatformException"} - ], - "documentation":"

Creates an application.

" - }, - "CreateDeployment":{ - "name":"CreateDeployment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDeploymentInput"}, - "output":{"shape":"CreateDeploymentOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupDoesNotExistException"}, - {"shape":"RevisionRequiredException"}, - {"shape":"RevisionDoesNotExistException"}, - {"shape":"InvalidRevisionException"}, - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigDoesNotExistException"}, - {"shape":"DescriptionTooLongException"}, - {"shape":"DeploymentLimitExceededException"}, - {"shape":"InvalidTargetInstancesException"}, - {"shape":"InvalidAutoRollbackConfigException"}, - {"shape":"InvalidLoadBalancerInfoException"}, - {"shape":"InvalidFileExistsBehaviorException"}, - {"shape":"InvalidRoleException"}, - {"shape":"InvalidAutoScalingGroupException"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidUpdateOutdatedInstancesOnlyValueException"}, - {"shape":"InvalidIgnoreApplicationStopFailuresValueException"}, - {"shape":"InvalidGitHubAccountTokenException"} - ], - "documentation":"

Deploys an application revision through the specified deployment group.

" - }, - "CreateDeploymentConfig":{ - "name":"CreateDeploymentConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDeploymentConfigInput"}, - "output":{"shape":"CreateDeploymentConfigOutput"}, - "errors":[ - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigNameRequiredException"}, - {"shape":"DeploymentConfigAlreadyExistsException"}, - {"shape":"InvalidMinimumHealthyHostValueException"}, - {"shape":"DeploymentConfigLimitExceededException"}, - {"shape":"InvalidComputePlatformException"}, - {"shape":"InvalidTrafficRoutingConfigurationException"} - ], - "documentation":"

Creates a deployment configuration.

" - }, - "CreateDeploymentGroup":{ - "name":"CreateDeploymentGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDeploymentGroupInput"}, - "output":{"shape":"CreateDeploymentGroupOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupAlreadyExistsException"}, - {"shape":"InvalidEC2TagException"}, - {"shape":"InvalidTagException"}, - {"shape":"InvalidAutoScalingGroupException"}, - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigDoesNotExistException"}, - {"shape":"RoleRequiredException"}, - {"shape":"InvalidRoleException"}, - {"shape":"DeploymentGroupLimitExceededException"}, - {"shape":"LifecycleHookLimitExceededException"}, - {"shape":"InvalidTriggerConfigException"}, - {"shape":"TriggerTargetsLimitExceededException"}, - {"shape":"InvalidAlarmConfigException"}, - {"shape":"AlarmsLimitExceededException"}, - {"shape":"InvalidAutoRollbackConfigException"}, - {"shape":"InvalidLoadBalancerInfoException"}, - {"shape":"InvalidDeploymentStyleException"}, - {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, - {"shape":"InvalidEC2TagCombinationException"}, - {"shape":"InvalidOnPremisesTagCombinationException"}, - {"shape":"TagSetListLimitExceededException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Creates a deployment group to which application revisions will be deployed.

" - }, - "DeleteApplication":{ - "name":"DeleteApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationInput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"} - ], - "documentation":"

Deletes an application.

" - }, - "DeleteDeploymentConfig":{ - "name":"DeleteDeploymentConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDeploymentConfigInput"}, - "errors":[ - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigNameRequiredException"}, - {"shape":"DeploymentConfigInUseException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Deletes a deployment configuration.

A deployment configuration cannot be deleted if it is currently in use. Predefined configurations cannot be deleted.

" - }, - "DeleteDeploymentGroup":{ - "name":"DeleteDeploymentGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDeploymentGroupInput"}, - "output":{"shape":"DeleteDeploymentGroupOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"InvalidRoleException"} - ], - "documentation":"

Deletes a deployment group.

" - }, - "DeleteGitHubAccountToken":{ - "name":"DeleteGitHubAccountToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGitHubAccountTokenInput"}, - "output":{"shape":"DeleteGitHubAccountTokenOutput"}, - "errors":[ - {"shape":"GitHubAccountTokenNameRequiredException"}, - {"shape":"GitHubAccountTokenDoesNotExistException"}, - {"shape":"InvalidGitHubAccountTokenNameException"}, - {"shape":"ResourceValidationException"}, - {"shape":"OperationNotSupportedException"} - ], - "documentation":"

Deletes a GitHub account connection.

" - }, - "DeregisterOnPremisesInstance":{ - "name":"DeregisterOnPremisesInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterOnPremisesInstanceInput"}, - "errors":[ - {"shape":"InstanceNameRequiredException"}, - {"shape":"InvalidInstanceNameException"} - ], - "documentation":"

Deregisters an on-premises instance.

" - }, - "GetApplication":{ - "name":"GetApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetApplicationInput"}, - "output":{"shape":"GetApplicationOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"} - ], - "documentation":"

Gets information about an application.

" - }, - "GetApplicationRevision":{ - "name":"GetApplicationRevision", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetApplicationRevisionInput"}, - "output":{"shape":"GetApplicationRevisionOutput"}, - "errors":[ - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"RevisionDoesNotExistException"}, - {"shape":"RevisionRequiredException"}, - {"shape":"InvalidRevisionException"} - ], - "documentation":"

Gets information about an application revision.

" - }, - "GetDeployment":{ - "name":"GetDeployment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeploymentInput"}, - "output":{"shape":"GetDeploymentOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"DeploymentDoesNotExistException"} - ], - "documentation":"

Gets information about a deployment.

" - }, - "GetDeploymentConfig":{ - "name":"GetDeploymentConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeploymentConfigInput"}, - "output":{"shape":"GetDeploymentConfigOutput"}, - "errors":[ - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigNameRequiredException"}, - {"shape":"DeploymentConfigDoesNotExistException"} - ], - "documentation":"

Gets information about a deployment configuration.

" - }, - "GetDeploymentGroup":{ - "name":"GetDeploymentGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeploymentGroupInput"}, - "output":{"shape":"GetDeploymentGroupOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupDoesNotExistException"} - ], - "documentation":"

Gets information about a deployment group.

" - }, - "GetDeploymentInstance":{ - "name":"GetDeploymentInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeploymentInstanceInput"}, - "output":{"shape":"GetDeploymentInstanceOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"InstanceIdRequiredException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"InstanceDoesNotExistException"}, - {"shape":"InvalidInstanceNameException"} - ], - "documentation":"

Gets information about an instance as part of a deployment.

" - }, - "GetOnPremisesInstance":{ - "name":"GetOnPremisesInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOnPremisesInstanceInput"}, - "output":{"shape":"GetOnPremisesInstanceOutput"}, - "errors":[ - {"shape":"InstanceNameRequiredException"}, - {"shape":"InstanceNotRegisteredException"}, - {"shape":"InvalidInstanceNameException"} - ], - "documentation":"

Gets information about an on-premises instance.

" - }, - "ListApplicationRevisions":{ - "name":"ListApplicationRevisions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListApplicationRevisionsInput"}, - "output":{"shape":"ListApplicationRevisionsOutput"}, - "errors":[ - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"InvalidSortByException"}, - {"shape":"InvalidSortOrderException"}, - {"shape":"InvalidBucketNameFilterException"}, - {"shape":"InvalidKeyPrefixFilterException"}, - {"shape":"BucketNameFilterRequiredException"}, - {"shape":"InvalidDeployedStateFilterException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists information about revisions for an application.

" - }, - "ListApplications":{ - "name":"ListApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListApplicationsInput"}, - "output":{"shape":"ListApplicationsOutput"}, - "errors":[ - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the applications registered with the applicable IAM user or AWS account.

" - }, - "ListDeploymentConfigs":{ - "name":"ListDeploymentConfigs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeploymentConfigsInput"}, - "output":{"shape":"ListDeploymentConfigsOutput"}, - "errors":[ - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the deployment configurations with the applicable IAM user or AWS account.

" - }, - "ListDeploymentGroups":{ - "name":"ListDeploymentGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeploymentGroupsInput"}, - "output":{"shape":"ListDeploymentGroupsOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists the deployment groups for an application registered with the applicable IAM user or AWS account.

" - }, - "ListDeploymentInstances":{ - "name":"ListDeploymentInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeploymentInstancesInput"}, - "output":{"shape":"ListDeploymentInstancesOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"DeploymentNotStartedException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"InvalidInstanceStatusException"}, - {"shape":"InvalidInstanceTypeException"}, - {"shape":"InvalidDeploymentInstanceTypeException"} - ], - "documentation":"

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

" - }, - "ListDeployments":{ - "name":"ListDeployments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeploymentsInput"}, - "output":{"shape":"ListDeploymentsOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupDoesNotExistException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"InvalidTimeRangeException"}, - {"shape":"InvalidDeploymentStatusException"}, - {"shape":"InvalidNextTokenException"} - ], - "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"}, - {"shape":"OperationNotSupportedException"} - ], - "documentation":"

Lists the names of stored connections to GitHub accounts.

" - }, - "ListOnPremisesInstances":{ - "name":"ListOnPremisesInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOnPremisesInstancesInput"}, - "output":{"shape":"ListOnPremisesInstancesOutput"}, - "errors":[ - {"shape":"InvalidRegistrationStatusException"}, - {"shape":"InvalidTagFilterException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Gets a list of names for one or more on-premises instances.

Unless otherwise specified, both registered and deregistered on-premises instance names will be listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.

" - }, - "PutLifecycleEventHookExecutionStatus":{ - "name":"PutLifecycleEventHookExecutionStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLifecycleEventHookExecutionStatusInput"}, - "output":{"shape":"PutLifecycleEventHookExecutionStatusOutput"}, - "errors":[ - {"shape":"InvalidLifecycleEventHookExecutionStatusException"}, - {"shape":"InvalidLifecycleEventHookExecutionIdException"}, - {"shape":"LifecycleEventAlreadyCompletedException"}, - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"UnsupportedActionForDeploymentTypeException"} - ], - "documentation":"

Sets the result of a Lambda validation function. The function validates one or both lifecycle events (BeforeAllowTraffic and AfterAllowTraffic) and returns Succeeded or Failed.

" - }, - "RegisterApplicationRevision":{ - "name":"RegisterApplicationRevision", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterApplicationRevisionInput"}, - "errors":[ - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"DescriptionTooLongException"}, - {"shape":"RevisionRequiredException"}, - {"shape":"InvalidRevisionException"} - ], - "documentation":"

Registers with AWS CodeDeploy a revision for the specified application.

" - }, - "RegisterOnPremisesInstance":{ - "name":"RegisterOnPremisesInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterOnPremisesInstanceInput"}, - "errors":[ - {"shape":"InstanceNameAlreadyRegisteredException"}, - {"shape":"IamArnRequiredException"}, - {"shape":"IamSessionArnAlreadyRegisteredException"}, - {"shape":"IamUserArnAlreadyRegisteredException"}, - {"shape":"InstanceNameRequiredException"}, - {"shape":"IamUserArnRequiredException"}, - {"shape":"InvalidInstanceNameException"}, - {"shape":"InvalidIamSessionArnException"}, - {"shape":"InvalidIamUserArnException"}, - {"shape":"MultipleIamArnsProvidedException"} - ], - "documentation":"

Registers an on-premises instance.

Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.

" - }, - "RemoveTagsFromOnPremisesInstances":{ - "name":"RemoveTagsFromOnPremisesInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromOnPremisesInstancesInput"}, - "errors":[ - {"shape":"InstanceNameRequiredException"}, - {"shape":"InvalidInstanceNameException"}, - {"shape":"TagRequiredException"}, - {"shape":"InvalidTagException"}, - {"shape":"TagLimitExceededException"}, - {"shape":"InstanceLimitExceededException"}, - {"shape":"InstanceNotRegisteredException"} - ], - "documentation":"

Removes one or more tags from one or more on-premises instances.

" - }, - "SkipWaitTimeForInstanceTermination":{ - "name":"SkipWaitTimeForInstanceTermination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SkipWaitTimeForInstanceTerminationInput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"DeploymentAlreadyCompletedException"}, - {"shape":"InvalidDeploymentIdException"}, - {"shape":"DeploymentNotStartedException"}, - {"shape":"UnsupportedActionForDeploymentTypeException"} - ], - "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is completed.

" - }, - "StopDeployment":{ - "name":"StopDeployment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDeploymentInput"}, - "output":{"shape":"StopDeploymentOutput"}, - "errors":[ - {"shape":"DeploymentIdRequiredException"}, - {"shape":"DeploymentDoesNotExistException"}, - {"shape":"DeploymentAlreadyCompletedException"}, - {"shape":"InvalidDeploymentIdException"} - ], - "documentation":"

Attempts to stop an ongoing deployment.

" - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationInput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationAlreadyExistsException"}, - {"shape":"ApplicationDoesNotExistException"} - ], - "documentation":"

Changes the name of an application.

" - }, - "UpdateDeploymentGroup":{ - "name":"UpdateDeploymentGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDeploymentGroupInput"}, - "output":{"shape":"UpdateDeploymentGroupOutput"}, - "errors":[ - {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"}, - {"shape":"ApplicationDoesNotExistException"}, - {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupAlreadyExistsException"}, - {"shape":"DeploymentGroupNameRequiredException"}, - {"shape":"DeploymentGroupDoesNotExistException"}, - {"shape":"InvalidEC2TagException"}, - {"shape":"InvalidTagException"}, - {"shape":"InvalidAutoScalingGroupException"}, - {"shape":"InvalidDeploymentConfigNameException"}, - {"shape":"DeploymentConfigDoesNotExistException"}, - {"shape":"InvalidRoleException"}, - {"shape":"LifecycleHookLimitExceededException"}, - {"shape":"InvalidTriggerConfigException"}, - {"shape":"TriggerTargetsLimitExceededException"}, - {"shape":"InvalidAlarmConfigException"}, - {"shape":"AlarmsLimitExceededException"}, - {"shape":"InvalidAutoRollbackConfigException"}, - {"shape":"InvalidLoadBalancerInfoException"}, - {"shape":"InvalidDeploymentStyleException"}, - {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, - {"shape":"InvalidEC2TagCombinationException"}, - {"shape":"InvalidOnPremisesTagCombinationException"}, - {"shape":"TagSetListLimitExceededException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Changes information about a deployment group.

" - } - }, - "shapes":{ - "AddTagsToOnPremisesInstancesInput":{ - "type":"structure", - "required":[ - "tags", - "instanceNames" - ], - "members":{ - "tags":{ - "shape":"TagList", - "documentation":"

The tag key-value pairs to add to the on-premises instances.

Keys and values are both required. Keys cannot be null or empty strings. Value-only tags are not allowed.

" - }, - "instanceNames":{ - "shape":"InstanceNameList", - "documentation":"

The names of the on-premises instances to which to add tags.

" - } - }, - "documentation":"

Represents the input of, and adds tags to, an on-premises instance operation.

" - }, - "AdditionalDeploymentStatusInfo":{ - "type":"string", - "deprecated":true - }, - "Alarm":{ - "type":"structure", - "members":{ - "name":{ - "shape":"AlarmName", - "documentation":"

The name of the alarm. Maximum length is 255 characters. Each alarm name can be used only once in a list of alarms.

" - } - }, - "documentation":"

Information about an alarm.

" - }, - "AlarmConfiguration":{ - "type":"structure", - "members":{ - "enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether the alarm configuration is enabled.

" - }, - "ignorePollAlarmFailure":{ - "shape":"Boolean", - "documentation":"

Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

  • true: The deployment will proceed even if alarm status information can't be retrieved from Amazon CloudWatch.

  • false: The deployment will stop if alarm status information can't be retrieved from Amazon CloudWatch.

" - }, - "alarms":{ - "shape":"AlarmList", - "documentation":"

A list of alarms configured for the deployment group. A maximum of 10 alarms can be added to a deployment group.

" - } - }, - "documentation":"

Information about alarms associated with the deployment group.

" - }, - "AlarmList":{ - "type":"list", - "member":{"shape":"Alarm"} - }, - "AlarmName":{"type":"string"}, - "AlarmsLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum number of alarms for a deployment group (10) was exceeded.

", - "exception":true - }, - "ApplicationAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An application with the specified name already exists with the applicable IAM user or AWS account.

", - "exception":true - }, - "ApplicationDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The application does not exist with the applicable IAM user or AWS account.

", - "exception":true - }, - "ApplicationId":{"type":"string"}, - "ApplicationInfo":{ - "type":"structure", - "members":{ - "applicationId":{ - "shape":"ApplicationId", - "documentation":"

The application ID.

" - }, - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The application name.

" - }, - "createTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the application was created.

" - }, - "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.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for deployment of the application (Lambda or Server).

" - } - }, - "documentation":"

Information about an application.

" - }, - "ApplicationLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

More applications were attempted to be created than are allowed.

", - "exception":true - }, - "ApplicationName":{ - "type":"string", - "max":100, - "min":1 - }, - "ApplicationNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The minimum number of required application names was not specified.

", - "exception":true - }, - "ApplicationRevisionSortBy":{ - "type":"string", - "enum":[ - "registerTime", - "firstUsedTime", - "lastUsedTime" - ] - }, - "ApplicationsInfoList":{ - "type":"list", - "member":{"shape":"ApplicationInfo"} - }, - "ApplicationsList":{ - "type":"list", - "member":{"shape":"ApplicationName"} - }, - "AutoRollbackConfiguration":{ - "type":"structure", - "members":{ - "enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether a defined automatic rollback configuration is currently enabled.

" - }, - "events":{ - "shape":"AutoRollbackEventsList", - "documentation":"

The event type or types that trigger a rollback.

" - } - }, - "documentation":"

Information about a configuration for automatically rolling back to a previous version of an application revision when a deployment doesn't complete successfully.

" - }, - "AutoRollbackEvent":{ - "type":"string", - "enum":[ - "DEPLOYMENT_FAILURE", - "DEPLOYMENT_STOP_ON_ALARM", - "DEPLOYMENT_STOP_ON_REQUEST" - ] - }, - "AutoRollbackEventsList":{ - "type":"list", - "member":{"shape":"AutoRollbackEvent"} - }, - "AutoScalingGroup":{ - "type":"structure", - "members":{ - "name":{ - "shape":"AutoScalingGroupName", - "documentation":"

The Auto Scaling group name.

" - }, - "hook":{ - "shape":"AutoScalingGroupHook", - "documentation":"

An Auto Scaling lifecycle event hook name.

" - } - }, - "documentation":"

Information about an Auto Scaling group.

" - }, - "AutoScalingGroupHook":{"type":"string"}, - "AutoScalingGroupList":{ - "type":"list", - "member":{"shape":"AutoScalingGroup"} - }, - "AutoScalingGroupName":{"type":"string"}, - "AutoScalingGroupNameList":{ - "type":"list", - "member":{"shape":"AutoScalingGroupName"} - }, - "BatchGetApplicationRevisionsInput":{ - "type":"structure", - "required":[ - "applicationName", - "revisions" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application about which to get revision information.

" - }, - "revisions":{ - "shape":"RevisionLocationList", - "documentation":"

Information to get about the application revisions, including type and location.

" - } - }, - "documentation":"

Represents the input of a BatchGetApplicationRevisions operation.

" - }, - "BatchGetApplicationRevisionsOutput":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application that corresponds to the revisions.

" - }, - "errorMessage":{ - "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" - }, - "revisions":{ - "shape":"RevisionInfoList", - "documentation":"

Additional information about the revisions, including the type and location.

" - } - }, - "documentation":"

Represents the output of a BatchGetApplicationRevisions operation.

" - }, - "BatchGetApplicationsInput":{ - "type":"structure", - "required":["applicationNames"], - "members":{ - "applicationNames":{ - "shape":"ApplicationsList", - "documentation":"

A list of application names separated by spaces.

" - } - }, - "documentation":"

Represents the input of a BatchGetApplications operation.

" - }, - "BatchGetApplicationsOutput":{ - "type":"structure", - "members":{ - "applicationsInfo":{ - "shape":"ApplicationsInfoList", - "documentation":"

Information about the applications.

" - } - }, - "documentation":"

Represents the output of a BatchGetApplications operation.

" - }, - "BatchGetDeploymentGroupsInput":{ - "type":"structure", - "required":[ - "applicationName", - "deploymentGroupNames" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupNames":{ - "shape":"DeploymentGroupsList", - "documentation":"

The deployment groups' names.

" - } - }, - "documentation":"

Represents the input of a BatchGetDeploymentGroups operation.

" - }, - "BatchGetDeploymentGroupsOutput":{ - "type":"structure", - "members":{ - "deploymentGroupsInfo":{ - "shape":"DeploymentGroupInfoList", - "documentation":"

Information about the deployment groups.

" - }, - "errorMessage":{ - "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" - } - }, - "documentation":"

Represents the output of a BatchGetDeploymentGroups operation.

" - }, - "BatchGetDeploymentInstancesInput":{ - "type":"structure", - "required":[ - "deploymentId", - "instanceIds" - ], - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" - }, - "instanceIds":{ - "shape":"InstancesList", - "documentation":"

The unique IDs of instances in the deployment group.

" - } - }, - "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" - }, - "BatchGetDeploymentInstancesOutput":{ - "type":"structure", - "members":{ - "instancesSummary":{ - "shape":"InstanceSummaryList", - "documentation":"

Information about the instance.

" - }, - "errorMessage":{ - "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" - } - }, - "documentation":"

Represents the output of a BatchGetDeploymentInstances operation.

" - }, - "BatchGetDeploymentsInput":{ - "type":"structure", - "required":["deploymentIds"], - "members":{ - "deploymentIds":{ - "shape":"DeploymentsList", - "documentation":"

A list of deployment IDs, separated by spaces.

" - } - }, - "documentation":"

Represents the input of a BatchGetDeployments operation.

" - }, - "BatchGetDeploymentsOutput":{ - "type":"structure", - "members":{ - "deploymentsInfo":{ - "shape":"DeploymentsInfoList", - "documentation":"

Information about the deployments.

" - } - }, - "documentation":"

Represents the output of a BatchGetDeployments operation.

" - }, - "BatchGetOnPremisesInstancesInput":{ - "type":"structure", - "required":["instanceNames"], - "members":{ - "instanceNames":{ - "shape":"InstanceNameList", - "documentation":"

The names of the on-premises instances about which to get information.

" - } - }, - "documentation":"

Represents the input of a BatchGetOnPremisesInstances operation.

" - }, - "BatchGetOnPremisesInstancesOutput":{ - "type":"structure", - "members":{ - "instanceInfos":{ - "shape":"InstanceInfoList", - "documentation":"

Information about the on-premises instances.

" - } - }, - "documentation":"

Represents the output of a BatchGetOnPremisesInstances operation.

" - }, - "BatchLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum number of names or IDs allowed for this request (100) was exceeded.

", - "exception":true - }, - "BlueGreenDeploymentConfiguration":{ - "type":"structure", - "members":{ - "terminateBlueInstancesOnDeploymentSuccess":{ - "shape":"BlueInstanceTerminationOption", - "documentation":"

Information about whether to terminate instances in the original fleet during a blue/green deployment.

" - }, - "deploymentReadyOption":{ - "shape":"DeploymentReadyOption", - "documentation":"

Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.

" - }, - "greenFleetProvisioningOption":{ - "shape":"GreenFleetProvisioningOption", - "documentation":"

Information about how instances are provisioned for a replacement environment in a blue/green deployment.

" - } - }, - "documentation":"

Information about blue/green deployment options for a deployment group.

" - }, - "BlueInstanceTerminationOption":{ - "type":"structure", - "members":{ - "action":{ - "shape":"InstanceAction", - "documentation":"

The action to take on instances in the original environment after a successful blue/green deployment.

  • TERMINATE: Instances are terminated after a specified wait time.

  • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.

" - }, - "terminationWaitTimeInMinutes":{ - "shape":"Duration", - "documentation":"

The number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment. The maximum setting is 2880 minutes (2 days).

" - } - }, - "documentation":"

Information about whether instances in the original environment are terminated when a blue/green deployment is successful.

" - }, - "Boolean":{"type":"boolean"}, - "BucketNameFilterRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A bucket name is required, but was not provided.

", - "exception":true - }, - "BundleType":{ - "type":"string", - "enum":[ - "tar", - "tgz", - "zip", - "YAML", - "JSON" - ] - }, - "CommitId":{"type":"string"}, - "ComputePlatform":{ - "type":"string", - "enum":[ - "Server", - "Lambda" - ] - }, - "ContinueDeploymentInput":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The deployment ID of the blue/green deployment for which you want to start rerouting traffic to the replacement environment.

" - } - } - }, - "CreateApplicationInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application. This name must be unique with the applicable IAM user or AWS account.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" - } - }, - "documentation":"

Represents the input of a CreateApplication operation.

" - }, - "CreateApplicationOutput":{ - "type":"structure", - "members":{ - "applicationId":{ - "shape":"ApplicationId", - "documentation":"

A unique application ID.

" - } - }, - "documentation":"

Represents the output of a CreateApplication operation.

" - }, - "CreateDeploymentConfigInput":{ - "type":"structure", - "required":["deploymentConfigName"], - "members":{ - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The name of the deployment configuration to create.

" - }, - "minimumHealthyHosts":{ - "shape":"MinimumHealthyHosts", - "documentation":"

The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.

The type parameter takes either of the following values:

  • HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.

  • FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.

The value parameter takes an integer.

For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.

" - }, - "trafficRoutingConfig":{ - "shape":"TrafficRoutingConfig", - "documentation":"

The configuration that specifies how the deployment traffic will be routed.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server>).

" - } - }, - "documentation":"

Represents the input of a CreateDeploymentConfig operation.

" - }, - "CreateDeploymentConfigOutput":{ - "type":"structure", - "members":{ - "deploymentConfigId":{ - "shape":"DeploymentConfigId", - "documentation":"

A unique deployment configuration ID.

" - } - }, - "documentation":"

Represents the output of a CreateDeploymentConfig operation.

" - }, - "CreateDeploymentGroupInput":{ - "type":"structure", - "required":[ - "applicationName", - "deploymentGroupName", - "serviceRoleArn" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The name of a new deployment group for the specified application.

" - }, - "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 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. The deployment group will include EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

" - }, - "onPremisesInstanceTagFilters":{ - "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter. The deployment group will include on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

" - }, - "autoScalingGroups":{ - "shape":"AutoScalingGroupNameList", - "documentation":"

A list of associated Auto Scaling groups.

" - }, - "serviceRoleArn":{ - "shape":"Role", - "documentation":"

A service role ARN that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.

" - }, - "triggerConfigurations":{ - "shape":"TriggerConfigList", - "documentation":"

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.

" - }, - "alarmConfiguration":{ - "shape":"AlarmConfiguration", - "documentation":"

Information to add about Amazon CloudWatch alarms when the deployment group is created.

" - }, - "autoRollbackConfiguration":{ - "shape":"AutoRollbackConfiguration", - "documentation":"

Configuration information for an automatic rollback that is added when a deployment group is created.

" - }, - "deploymentStyle":{ - "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.

" - }, - "blueGreenDeploymentConfiguration":{ - "shape":"BlueGreenDeploymentConfiguration", - "documentation":"

Information about blue/green deployment options for a deployment group.

" - }, - "loadBalancerInfo":{ - "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in a deployment.

" - }, - "ec2TagSet":{ - "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" - }, - "onPremisesTagSet":{ - "shape":"OnPremisesTagSet", - "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" - } - }, - "documentation":"

Represents the input of a CreateDeploymentGroup operation.

" - }, - "CreateDeploymentGroupOutput":{ - "type":"structure", - "members":{ - "deploymentGroupId":{ - "shape":"DeploymentGroupId", - "documentation":"

A unique deployment group ID.

" - } - }, - "documentation":"

Represents the output of a CreateDeploymentGroup operation.

" - }, - "CreateDeploymentInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The name of the deployment group.

" - }, - "revision":{ - "shape":"RevisionLocation", - "documentation":"

The type and location of the revision to deploy.

" - }, - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

If not specified, the value configured in the deployment group will be used as the default. If the deployment group does not have a deployment configuration associated with it, then CodeDeployDefault.OneAtATime will be used by default.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A comment about the deployment.

" - }, - "ignoreApplicationStopFailures":{ - "shape":"Boolean", - "documentation":"

If set to true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If set to false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to fail to an instance, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" - }, - "targetInstances":{ - "shape":"TargetInstances", - "documentation":"

Information about the instances that will belong to the replacement environment in a blue/green deployment.

" - }, - "autoRollbackConfiguration":{ - "shape":"AutoRollbackConfiguration", - "documentation":"

Configuration information for an automatic rollback that is added when a deployment is created.

" - }, - "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 CreateDeployment operation.

" - }, - "CreateDeploymentOutput":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

A unique deployment ID.

" - } - }, - "documentation":"

Represents the output of a CreateDeployment operation.

" - }, - "DeleteApplicationInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - } - }, - "documentation":"

Represents the input of a DeleteApplication operation.

" - }, - "DeleteDeploymentConfigInput":{ - "type":"structure", - "required":["deploymentConfigName"], - "members":{ - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" - } - }, - "documentation":"

Represents the input of a DeleteDeploymentConfig operation.

" - }, - "DeleteDeploymentGroupInput":{ - "type":"structure", - "required":[ - "applicationName", - "deploymentGroupName" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" - } - }, - "documentation":"

Represents the input of a DeleteDeploymentGroup operation.

" - }, - "DeleteDeploymentGroupOutput":{ - "type":"structure", - "members":{ - "hooksNotCleanedUp":{ - "shape":"AutoScalingGroupList", - "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 DeleteDeploymentGroup operation.

" - }, - "DeleteGitHubAccountTokenInput":{ - "type":"structure", - "members":{ - "tokenName":{ - "shape":"GitHubAccountTokenName", - "documentation":"

The name of the GitHub account connection to delete.

" - } - }, - "documentation":"

Represents the input of a DeleteGitHubAccount operation.

" - }, - "DeleteGitHubAccountTokenOutput":{ - "type":"structure", - "members":{ - "tokenName":{ - "shape":"GitHubAccountTokenName", - "documentation":"

The name of the GitHub account connection that was deleted.

" - } - }, - "documentation":"

Represents the output of a DeleteGitHubAccountToken operation.

" - }, - "DeploymentAlreadyCompletedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment is already complete.

", - "exception":true - }, - "DeploymentConfigAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A deployment configuration with the specified name already exists with the applicable IAM user or AWS account.

", - "exception":true - }, - "DeploymentConfigDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment configuration does not exist with the applicable IAM user or AWS account.

", - "exception":true - }, - "DeploymentConfigId":{"type":"string"}, - "DeploymentConfigInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment configuration is still in use.

", - "exception":true - }, - "DeploymentConfigInfo":{ - "type":"structure", - "members":{ - "deploymentConfigId":{ - "shape":"DeploymentConfigId", - "documentation":"

The deployment configuration ID.

" - }, - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The deployment configuration name.

" - }, - "minimumHealthyHosts":{ - "shape":"MinimumHealthyHosts", - "documentation":"

Information about the number or percentage of minimum healthy instance.

" - }, - "createTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the deployment configuration was created.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" - }, - "trafficRoutingConfig":{ - "shape":"TrafficRoutingConfig", - "documentation":"

The configuration specifying how the deployment traffic will be routed. Only deployments with a Lambda compute platform can specify this.

" - } - }, - "documentation":"

Information about a deployment configuration.

" - }, - "DeploymentConfigLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment configurations limit was exceeded.

", - "exception":true - }, - "DeploymentConfigName":{ - "type":"string", - "max":100, - "min":1 - }, - "DeploymentConfigNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment configuration name was not specified.

", - "exception":true - }, - "DeploymentConfigsList":{ - "type":"list", - "member":{"shape":"DeploymentConfigName"} - }, - "DeploymentCreator":{ - "type":"string", - "enum":[ - "user", - "autoscaling", - "codeDeployRollback" - ] - }, - "DeploymentDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment does not exist with the applicable IAM user or AWS account.

", - "exception":true - }, - "DeploymentGroupAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A deployment group with the specified name already exists with the applicable IAM user or AWS account.

", - "exception":true - }, - "DeploymentGroupDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The named deployment group does not exist with the applicable IAM user or AWS account.

", - "exception":true - }, - "DeploymentGroupId":{"type":"string"}, - "DeploymentGroupInfo":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The application name.

" - }, - "deploymentGroupId":{ - "shape":"DeploymentGroupId", - "documentation":"

The deployment group ID.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The deployment group name.

" - }, - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The deployment configuration name.

" - }, - "ec2TagFilters":{ - "shape":"EC2TagFilterList", - "documentation":"

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags.

" - }, - "onPremisesInstanceTagFilters":{ - "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags.

" - }, - "autoScalingGroups":{ - "shape":"AutoScalingGroupList", - "documentation":"

A list of associated Auto Scaling groups.

" - }, - "serviceRoleArn":{ - "shape":"Role", - "documentation":"

A service role ARN.

" - }, - "targetRevision":{ - "shape":"RevisionLocation", - "documentation":"

Information about the deployment group's target revision, including type and location.

" - }, - "triggerConfigurations":{ - "shape":"TriggerConfigList", - "documentation":"

Information about triggers associated with the deployment group.

" - }, - "alarmConfiguration":{ - "shape":"AlarmConfiguration", - "documentation":"

A list of alarms associated with the deployment group.

" - }, - "autoRollbackConfiguration":{ - "shape":"AutoRollbackConfiguration", - "documentation":"

Information about the automatic rollback configuration associated with the deployment group.

" - }, - "deploymentStyle":{ - "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" - }, - "blueGreenDeploymentConfiguration":{ - "shape":"BlueGreenDeploymentConfiguration", - "documentation":"

Information about blue/green deployment options for a deployment group.

" - }, - "loadBalancerInfo":{ - "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer to use in a deployment.

" - }, - "lastSuccessfulDeployment":{ - "shape":"LastDeploymentInfo", - "documentation":"

Information about the most recent successful deployment to the deployment group.

" - }, - "lastAttemptedDeployment":{ - "shape":"LastDeploymentInfo", - "documentation":"

Information about the most recent attempted deployment to the deployment group.

" - }, - "ec2TagSet":{ - "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" - }, - "onPremisesTagSet":{ - "shape":"OnPremisesTagSet", - "documentation":"

Information about groups of tags applied to an on-premises instance. The deployment group includes only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment group (Lambda or Server).

" - } - }, - "documentation":"

Information about a deployment group.

" - }, - "DeploymentGroupInfoList":{ - "type":"list", - "member":{"shape":"DeploymentGroupInfo"} - }, - "DeploymentGroupLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment groups limit was exceeded.

", - "exception":true - }, - "DeploymentGroupName":{ - "type":"string", - "max":100, - "min":1 - }, - "DeploymentGroupNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment group name was not specified.

", - "exception":true - }, - "DeploymentGroupsList":{ - "type":"list", - "member":{"shape":"DeploymentGroupName"} - }, - "DeploymentId":{"type":"string"}, - "DeploymentIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

At least one deployment ID must be specified.

", - "exception":true - }, - "DeploymentInfo":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The application name.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The deployment group name.

" - }, - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The deployment configuration name.

" - }, - "deploymentId":{ - "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.

" - }, - "status":{ - "shape":"DeploymentStatus", - "documentation":"

The current state of the deployment as a whole.

" - }, - "errorInformation":{ - "shape":"ErrorInformation", - "documentation":"

Information about any error associated with this deployment.

" - }, - "createTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was created.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was deployed to the deployment group.

In some cases, the reported value of the start time may be later than the complete time. This is due to differences in the clock settings of back-end servers that participate in the deployment process.

" - }, - "completeTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was complete.

" - }, - "deploymentOverview":{ - "shape":"DeploymentOverview", - "documentation":"

A summary of the deployment status of the instances in the deployment.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A comment about the deployment.

" - }, - "creator":{ - "shape":"DeploymentCreator", - "documentation":"

The means by which the deployment was created:

  • user: A user created the deployment.

  • autoscaling: Auto Scaling created the deployment.

  • codeDeployRollback: A rollback process created the deployment.

" - }, - "ignoreApplicationStopFailures":{ - "shape":"Boolean", - "documentation":"

If true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" - }, - "autoRollbackConfiguration":{ - "shape":"AutoRollbackConfiguration", - "documentation":"

Information about the automatic rollback configuration associated with the deployment.

" - }, - "updateOutdatedInstancesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether only instances that are not running the latest application revision are to be deployed to.

" - }, - "rollbackInfo":{ - "shape":"RollbackInfo", - "documentation":"

Information about a deployment rollback.

" - }, - "deploymentStyle":{ - "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" - }, - "targetInstances":{ - "shape":"TargetInstances", - "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" - }, - "instanceTerminationWaitTimeStarted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified; otherwise, 'true' as soon as the termination wait period starts.

" - }, - "blueGreenDeploymentConfiguration":{ - "shape":"BlueGreenDeploymentConfiguration", - "documentation":"

Information about blue/green deployment options for this deployment.

" - }, - "loadBalancerInfo":{ - "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in the deployment.

" - }, - "additionalDeploymentStatusInfo":{ - "shape":"AdditionalDeploymentStatusInfo", - "documentation":"

Provides information about the results of a deployment, such as whether instances in the original environment in a blue/green deployment were not terminated.

" - }, - "fileExistsBehavior":{ - "shape":"FileExistsBehavior", - "documentation":"

Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.

  • DISALLOW: The deployment fails. This is also the default behavior if no option is specified.

  • OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance.

  • RETAIN: The version of the file already on the instance is kept and used as part of the new deployment.

" - }, - "deploymentStatusMessages":{ - "shape":"DeploymentStatusMessageList", - "documentation":"

Messages that contain information about the status of a deployment.

" - }, - "computePlatform":{ - "shape":"ComputePlatform", - "documentation":"

The destination platform type for the deployment (Lambda or Server).

" - } - }, - "documentation":"

Information about a deployment.

" - }, - "DeploymentIsNotInReadyStateException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment does not have a status of Ready and can't continue yet.

", - "exception":true - }, - "DeploymentLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of allowed deployments was exceeded.

", - "exception":true - }, - "DeploymentNotStartedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified deployment has not started.

", - "exception":true - }, - "DeploymentOption":{ - "type":"string", - "enum":[ - "WITH_TRAFFIC_CONTROL", - "WITHOUT_TRAFFIC_CONTROL" - ] - }, - "DeploymentOverview":{ - "type":"structure", - "members":{ - "Pending":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in the deployment in a pending state.

" - }, - "InProgress":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in which the deployment is in progress.

" - }, - "Succeeded":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in the deployment to which revisions have been successfully deployed.

" - }, - "Failed":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in the deployment in a failed state.

" - }, - "Skipped":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in the deployment in a skipped state.

" - }, - "Ready":{ - "shape":"InstanceCount", - "documentation":"

The number of instances in a replacement environment ready to receive traffic in a blue/green deployment.

" - } - }, - "documentation":"

Information about the deployment status of the instances in the deployment.

" - }, - "DeploymentReadyAction":{ - "type":"string", - "enum":[ - "CONTINUE_DEPLOYMENT", - "STOP_DEPLOYMENT" - ] - }, - "DeploymentReadyOption":{ - "type":"structure", - "members":{ - "actionOnTimeout":{ - "shape":"DeploymentReadyAction", - "documentation":"

Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

  • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.

  • STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using ContinueDeployment. If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.

" - }, - "waitTimeInMinutes":{ - "shape":"Duration", - "documentation":"

The number of minutes to wait before the status of a blue/green deployment changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for actionOnTimeout

" - } - }, - "documentation":"

Information about how traffic is rerouted to instances in a replacement environment in a blue/green deployment.

" - }, - "DeploymentStatus":{ - "type":"string", - "enum":[ - "Created", - "Queued", - "InProgress", - "Succeeded", - "Failed", - "Stopped", - "Ready" - ] - }, - "DeploymentStatusList":{ - "type":"list", - "member":{"shape":"DeploymentStatus"} - }, - "DeploymentStatusMessageList":{ - "type":"list", - "member":{"shape":"ErrorMessage"} - }, - "DeploymentStyle":{ - "type":"structure", - "members":{ - "deploymentType":{ - "shape":"DeploymentType", - "documentation":"

Indicates whether to run an in-place deployment or a blue/green deployment.

" - }, - "deploymentOption":{ - "shape":"DeploymentOption", - "documentation":"

Indicates whether to route deployment traffic behind a load balancer.

" - } - }, - "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" - }, - "DeploymentType":{ - "type":"string", - "enum":[ - "IN_PLACE", - "BLUE_GREEN" - ] - }, - "DeploymentsInfoList":{ - "type":"list", - "member":{"shape":"DeploymentInfo"} - }, - "DeploymentsList":{ - "type":"list", - "member":{"shape":"DeploymentId"} - }, - "DeregisterOnPremisesInstanceInput":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"InstanceName", - "documentation":"

The name of the on-premises instance to deregister.

" - } - }, - "documentation":"

Represents the input of a DeregisterOnPremisesInstance operation.

" - }, - "Description":{"type":"string"}, - "DescriptionTooLongException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The description is too long.

", - "exception":true - }, - "Diagnostics":{ - "type":"structure", - "members":{ - "errorCode":{ - "shape":"LifecycleErrorCode", - "documentation":"

The associated error code:

  • Success: The specified script ran.

  • ScriptMissing: The specified script was not found in the specified location.

  • ScriptNotExecutable: The specified script is not a recognized executable file type.

  • ScriptTimedOut: The specified script did not finish running in the specified time period.

  • ScriptFailed: The specified script failed to run as expected.

  • UnknownError: The specified script did not run for an unknown reason.

" - }, - "scriptName":{ - "shape":"ScriptName", - "documentation":"

The name of the script.

" - }, - "message":{ - "shape":"LifecycleMessage", - "documentation":"

The message associated with the error.

" - }, - "logTail":{ - "shape":"LogTail", - "documentation":"

The last portion of the diagnostic log.

If available, AWS CodeDeploy returns up to the last 4 KB of the diagnostic log.

" - } - }, - "documentation":"

Diagnostic information about executable scripts that are part of a deployment.

" - }, - "Duration":{"type":"integer"}, - "EC2TagFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"Key", - "documentation":"

The tag filter key.

" - }, - "Value":{ - "shape":"Value", - "documentation":"

The tag filter value.

" - }, - "Type":{ - "shape":"EC2TagFilterType", - "documentation":"

The tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" - } - }, - "documentation":"

Information about an EC2 tag filter.

" - }, - "EC2TagFilterList":{ - "type":"list", - "member":{"shape":"EC2TagFilter"} - }, - "EC2TagFilterType":{ - "type":"string", - "enum":[ - "KEY_ONLY", - "VALUE_ONLY", - "KEY_AND_VALUE" - ] - }, - "EC2TagSet":{ - "type":"structure", - "members":{ - "ec2TagSetList":{ - "shape":"EC2TagSetList", - "documentation":"

A list containing other lists of EC2 instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" - } - }, - "documentation":"

Information about groups of EC2 instance tags.

" - }, - "EC2TagSetList":{ - "type":"list", - "member":{"shape":"EC2TagFilterList"} - }, - "ELBInfo":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ELBName", - "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 deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

" - }, - "ELBInfoList":{ - "type":"list", - "member":{"shape":"ELBInfo"} - }, - "ELBName":{"type":"string"}, - "ETag":{"type":"string"}, - "ErrorCode":{ - "type":"string", - "enum":[ - "DEPLOYMENT_GROUP_MISSING", - "APPLICATION_MISSING", - "REVISION_MISSING", - "IAM_ROLE_MISSING", - "IAM_ROLE_PERMISSIONS", - "NO_EC2_SUBSCRIPTION", - "OVER_MAX_INSTANCES", - "NO_INSTANCES", - "TIMEOUT", - "HEALTH_CONSTRAINTS_INVALID", - "HEALTH_CONSTRAINTS", - "INTERNAL_ERROR", - "THROTTLED", - "ALARM_ACTIVE", - "AGENT_ISSUE", - "AUTO_SCALING_IAM_ROLE_PERMISSIONS", - "AUTO_SCALING_CONFIGURATION", - "MANUAL_STOP", - "MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION", - "MISSING_ELB_INFORMATION", - "MISSING_GITHUB_TOKEN", - "ELASTIC_LOAD_BALANCING_INVALID", - "ELB_INVALID_INSTANCE", - "INVALID_LAMBDA_CONFIGURATION", - "INVALID_LAMBDA_FUNCTION", - "HOOK_EXECUTION_FAILURE" - ] - }, - "ErrorInformation":{ - "type":"structure", - "members":{ - "code":{ - "shape":"ErrorCode", - "documentation":"

For information about additional error codes, see Error Codes for AWS CodeDeploy in the AWS CodeDeploy User Guide.

The error code:

  • APPLICATION_MISSING: The application was missing. This error code will most likely be raised if the application is deleted after the deployment is created but before it is started.

  • DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code will most likely be raised if the deployment group is deleted after the deployment is created but before it is started.

  • HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.

  • HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.

  • IAM_ROLE_MISSING: The service role cannot be accessed.

  • IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.

  • INTERNAL_ERROR: There was an internal error.

  • NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon EC2 service.

  • NO_INSTANCES: No instance were specified, or no instance can be found.

  • OVER_MAX_INSTANCES: The maximum number of instance was exceeded.

  • THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.

  • TIMEOUT: The deployment has timed out.

  • REVISION_MISSING: The revision ID was missing. This error code will most likely be raised if the revision is deleted after the deployment is created but before it is started.

" - }, - "message":{ - "shape":"ErrorMessage", - "documentation":"

An accompanying error message.

" - } - }, - "documentation":"

Information about a deployment error.

" - }, - "ErrorMessage":{"type":"string"}, - "FileExistsBehavior":{ - "type":"string", - "enum":[ - "DISALLOW", - "OVERWRITE", - "RETAIN" - ] - }, - "GenericRevisionInfo":{ - "type":"structure", - "members":{ - "description":{ - "shape":"Description", - "documentation":"

A comment about the revision.

" - }, - "deploymentGroups":{ - "shape":"DeploymentGroupsList", - "documentation":"

The deployment groups for which this is the current target revision.

" - }, - "firstUsedTime":{ - "shape":"Timestamp", - "documentation":"

When the revision was first used by AWS CodeDeploy.

" - }, - "lastUsedTime":{ - "shape":"Timestamp", - "documentation":"

When the revision was last used by AWS CodeDeploy.

" - }, - "registerTime":{ - "shape":"Timestamp", - "documentation":"

When the revision was registered with AWS CodeDeploy.

" - } - }, - "documentation":"

Information about an application revision.

" - }, - "GetApplicationInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - } - }, - "documentation":"

Represents the input of a GetApplication operation.

" - }, - "GetApplicationOutput":{ - "type":"structure", - "members":{ - "application":{ - "shape":"ApplicationInfo", - "documentation":"

Information about the application.

" - } - }, - "documentation":"

Represents the output of a GetApplication operation.

" - }, - "GetApplicationRevisionInput":{ - "type":"structure", - "required":[ - "applicationName", - "revision" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application that corresponds to the revision.

" - }, - "revision":{ - "shape":"RevisionLocation", - "documentation":"

Information about the application revision to get, including type and location.

" - } - }, - "documentation":"

Represents the input of a GetApplicationRevision operation.

" - }, - "GetApplicationRevisionOutput":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application that corresponds to the revision.

" - }, - "revision":{ - "shape":"RevisionLocation", - "documentation":"

Additional information about the revision, including type and location.

" - }, - "revisionInfo":{ - "shape":"GenericRevisionInfo", - "documentation":"

General information about the revision.

" - } - }, - "documentation":"

Represents the output of a GetApplicationRevision operation.

" - }, - "GetDeploymentConfigInput":{ - "type":"structure", - "required":["deploymentConfigName"], - "members":{ - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" - } - }, - "documentation":"

Represents the input of a GetDeploymentConfig operation.

" - }, - "GetDeploymentConfigOutput":{ - "type":"structure", - "members":{ - "deploymentConfigInfo":{ - "shape":"DeploymentConfigInfo", - "documentation":"

Information about the deployment configuration.

" - } - }, - "documentation":"

Represents the output of a GetDeploymentConfig operation.

" - }, - "GetDeploymentGroupInput":{ - "type":"structure", - "required":[ - "applicationName", - "deploymentGroupName" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" - } - }, - "documentation":"

Represents the input of a GetDeploymentGroup operation.

" - }, - "GetDeploymentGroupOutput":{ - "type":"structure", - "members":{ - "deploymentGroupInfo":{ - "shape":"DeploymentGroupInfo", - "documentation":"

Information about the deployment group.

" - } - }, - "documentation":"

Represents the output of a GetDeploymentGroup operation.

" - }, - "GetDeploymentInput":{ - "type":"structure", - "required":["deploymentId"], - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

A deployment ID associated with the applicable IAM user or AWS account.

" - } - }, - "documentation":"

Represents the input of a GetDeployment operation.

" - }, - "GetDeploymentInstanceInput":{ - "type":"structure", - "required":[ - "deploymentId", - "instanceId" - ], - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" - }, - "instanceId":{ - "shape":"InstanceId", - "documentation":"

The unique ID of an instance in the deployment group.

" - } - }, - "documentation":"

Represents the input of a GetDeploymentInstance operation.

" - }, - "GetDeploymentInstanceOutput":{ - "type":"structure", - "members":{ - "instanceSummary":{ - "shape":"InstanceSummary", - "documentation":"

Information about the instance.

" - } - }, - "documentation":"

Represents the output of a GetDeploymentInstance operation.

" - }, - "GetDeploymentOutput":{ - "type":"structure", - "members":{ - "deploymentInfo":{ - "shape":"DeploymentInfo", - "documentation":"

Information about the deployment.

" - } - }, - "documentation":"

Represents the output of a GetDeployment operation.

" - }, - "GetOnPremisesInstanceInput":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"InstanceName", - "documentation":"

The name of the on-premises instance about which to get information.

" - } - }, - "documentation":"

Represents the input of a GetOnPremisesInstance operation.

" - }, - "GetOnPremisesInstanceOutput":{ - "type":"structure", - "members":{ - "instanceInfo":{ - "shape":"InstanceInfo", - "documentation":"

Information about the on-premises instance.

" - } - }, - "documentation":"

Represents the output of a GetOnPremisesInstance operation.

" - }, - "GitHubAccountTokenDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

No GitHub account connection exists with the named specified in the call.

", - "exception":true - }, - "GitHubAccountTokenName":{"type":"string"}, - "GitHubAccountTokenNameList":{ - "type":"list", - "member":{"shape":"GitHubAccountTokenName"} - }, - "GitHubAccountTokenNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The call is missing a required GitHub account connection name.

", - "exception":true - }, - "GitHubLocation":{ - "type":"structure", - "members":{ - "repository":{ - "shape":"Repository", - "documentation":"

The GitHub account and repository pair that stores a reference to the commit that represents the bundled artifacts for the application revision.

Specified as account/repository.

" - }, - "commitId":{ - "shape":"CommitId", - "documentation":"

The SHA1 commit ID of the GitHub commit that represents the bundled artifacts for the application revision.

" - } - }, - "documentation":"

Information about the location of application artifacts stored in GitHub.

" - }, - "GreenFleetProvisioningAction":{ - "type":"string", - "enum":[ - "DISCOVER_EXISTING", - "COPY_AUTO_SCALING_GROUP" - ] - }, - "GreenFleetProvisioningOption":{ - "type":"structure", - "members":{ - "action":{ - "shape":"GreenFleetProvisioningAction", - "documentation":"

The method used to add instances to a replacement environment.

  • DISCOVER_EXISTING: Use instances that already exist or will be created manually.

  • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.

" - } - }, - "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" - }, - "IamArnRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

No IAM ARN was included in the request. You must use an IAM session ARN or IAM user ARN in the request.

", - "exception":true - }, - "IamSessionArn":{"type":"string"}, - "IamSessionArnAlreadyRegisteredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request included an IAM session ARN that has already been used to register a different instance.

", - "exception":true - }, - "IamUserArn":{"type":"string"}, - "IamUserArnAlreadyRegisteredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified IAM user ARN is already registered with an on-premises instance.

", - "exception":true - }, - "IamUserArnRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An IAM user ARN was not specified.

", - "exception":true - }, - "InstanceAction":{ - "type":"string", - "enum":[ - "TERMINATE", - "KEEP_ALIVE" - ] - }, - "InstanceArn":{"type":"string"}, - "InstanceCount":{"type":"long"}, - "InstanceDoesNotExistException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified instance does not exist in the deployment group.

", - "exception":true - }, - "InstanceId":{"type":"string"}, - "InstanceIdRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The instance ID was not specified.

", - "exception":true - }, - "InstanceInfo":{ - "type":"structure", - "members":{ - "instanceName":{ - "shape":"InstanceName", - "documentation":"

The name of the on-premises instance.

" - }, - "iamSessionArn":{ - "shape":"IamSessionArn", - "documentation":"

The ARN of the IAM session associated with the on-premises instance.

" - }, - "iamUserArn":{ - "shape":"IamUserArn", - "documentation":"

The IAM user ARN associated with the on-premises instance.

" - }, - "instanceArn":{ - "shape":"InstanceArn", - "documentation":"

The ARN of the on-premises instance.

" - }, - "registerTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the on-premises instance was registered.

" - }, - "deregisterTime":{ - "shape":"Timestamp", - "documentation":"

If the on-premises instance was deregistered, the time at which the on-premises instance was deregistered.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The tags currently associated with the on-premises instance.

" - } - }, - "documentation":"

Information about an on-premises instance.

" - }, - "InstanceInfoList":{ - "type":"list", - "member":{"shape":"InstanceInfo"} - }, - "InstanceLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum number of allowed on-premises instances in a single call was exceeded.

", - "exception":true - }, - "InstanceName":{"type":"string"}, - "InstanceNameAlreadyRegisteredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified on-premises instance name is already registered.

", - "exception":true - }, - "InstanceNameList":{ - "type":"list", - "member":{"shape":"InstanceName"} - }, - "InstanceNameRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An on-premises instance name was not specified.

", - "exception":true - }, - "InstanceNotRegisteredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified on-premises instance is not registered.

", - "exception":true - }, - "InstanceStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Succeeded", - "Failed", - "Skipped", - "Unknown", - "Ready" - ] - }, - "InstanceStatusList":{ - "type":"list", - "member":{"shape":"InstanceStatus"} - }, - "InstanceSummary":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The deployment ID.

" - }, - "instanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - }, - "status":{ - "shape":"InstanceStatus", - "documentation":"

The deployment status for this instance:

  • Pending: The deployment is pending for this instance.

  • In Progress: The deployment is in progress for this instance.

  • Succeeded: The deployment has succeeded for this instance.

  • Failed: The deployment has failed for this instance.

  • Skipped: The deployment has been skipped for this instance.

  • Unknown: The deployment status is unknown for this instance.

" - }, - "lastUpdatedAt":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the instance information was last updated.

" - }, - "lifecycleEvents":{ - "shape":"LifecycleEventList", - "documentation":"

A list of lifecycle events for this instance.

" - }, - "instanceType":{ - "shape":"InstanceType", - "documentation":"

Information about which environment an instance belongs to in a blue/green deployment.

  • BLUE: The instance is part of the original environment.

  • GREEN: The instance is part of the replacement environment.

" - } - }, - "documentation":"

Information about an instance in a deployment.

" - }, - "InstanceSummaryList":{ - "type":"list", - "member":{"shape":"InstanceSummary"} - }, - "InstanceType":{ - "type":"string", - "enum":[ - "Blue", - "Green" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "InstancesList":{ - "type":"list", - "member":{"shape":"InstanceId"} - }, - "InvalidAlarmConfigException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The format of the alarm configuration is invalid. Possible causes include:

  • The alarm list is null.

  • The alarm object is null.

  • The alarm name is empty or null or exceeds the 255 character limit.

  • Two alarms with the same name have been specified.

  • The alarm configuration is enabled but the alarm list is empty.

", - "exception":true - }, - "InvalidApplicationNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The application name was specified in an invalid format.

", - "exception":true - }, - "InvalidAutoRollbackConfigException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The automatic rollback configuration was specified in an invalid format. For example, automatic rollback is enabled but an invalid triggering event type or no event types were listed.

", - "exception":true - }, - "InvalidAutoScalingGroupException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Auto Scaling group was specified in an invalid format or does not exist.

", - "exception":true - }, - "InvalidBlueGreenDeploymentConfigurationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The configuration for the blue/green deployment group was provided in an invalid format. For information about deployment configuration format, see CreateDeploymentConfig.

", - "exception":true - }, - "InvalidBucketNameFilterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The bucket name either doesn't exist or was specified in an invalid format.

", - "exception":true - }, - "InvalidComputePlatformException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The computePlatform is invalid. The computePlatform should be Lambda or Server.

", - "exception":true - }, - "InvalidDeployedStateFilterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployed state filter was specified in an invalid format.

", - "exception":true - }, - "InvalidDeploymentConfigNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment configuration name was specified in an invalid format.

", - "exception":true - }, - "InvalidDeploymentGroupNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The deployment group name was specified in an invalid format.

", - "exception":true - }, - "InvalidDeploymentIdException":{ - "type":"structure", - "members":{ - }, - "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":{ - }, - "documentation":"

The specified deployment status doesn't exist or cannot be determined.

", - "exception":true - }, - "InvalidDeploymentStyleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN\". Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL\".

", - "exception":true - }, - "InvalidEC2TagCombinationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but only one of these data types can be used in a single call.

", - "exception":true - }, - "InvalidEC2TagException":{ - "type":"structure", - "members":{ - }, - "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 - }, - "InvalidGitHubAccountTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The GitHub token is not valid.

", - "exception":true - }, - "InvalidGitHubAccountTokenNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The format of the specified GitHub account connection name is invalid.

", - "exception":true - }, - "InvalidIamSessionArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The IAM session ARN was specified in an invalid format.

", - "exception":true - }, - "InvalidIamUserArnException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The IAM user ARN was specified in an invalid format.

", - "exception":true - }, - "InvalidIgnoreApplicationStopFailuresValueException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The IgnoreApplicationStopFailures value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", - "exception":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified input was specified in an invalid format.

", - "exception":true - }, - "InvalidInstanceIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

", - "exception":true - }, - "InvalidInstanceNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified on-premises instance name was specified in an invalid format.

", - "exception":true - }, - "InvalidInstanceStatusException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified instance status does not exist.

", - "exception":true - }, - "InvalidInstanceTypeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid instance type was specified for instances in a blue/green deployment. Valid values include \"Blue\" for an original environment and \"Green\" for a replacement environment.

", - "exception":true - }, - "InvalidKeyPrefixFilterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified key prefix filter was specified in an invalid format.

", - "exception":true - }, - "InvalidLifecycleEventHookExecutionIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A lifecycle event hook is invalid. Review the hooks section in your AppSpec file to ensure the lifecycle events and hooks functions are valid.

", - "exception":true - }, - "InvalidLifecycleEventHookExecutionStatusException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a Lambda validation function that verifies a lifecycle event is invalid. It should return Succeeded or Failed.

", - "exception":true - }, - "InvalidLoadBalancerInfoException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid load balancer name, or no load balancer name, was specified.

", - "exception":true - }, - "InvalidMinimumHealthyHostValueException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The minimum healthy instance value was specified in an invalid format.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The next token was specified in an invalid format.

", - "exception":true - }, - "InvalidOnPremisesTagCombinationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, but only one of these data types can be used in a single call.

", - "exception":true - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid operation was detected.

", - "exception":true - }, - "InvalidRegistrationStatusException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The registration status was specified in an invalid format.

", - "exception":true - }, - "InvalidRevisionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The revision was specified in an invalid format.

", - "exception":true - }, - "InvalidRoleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The service role ARN was specified in an invalid format. Or, if an Auto Scaling group was specified, the specified service role does not grant the appropriate permissions to Auto Scaling.

", - "exception":true - }, - "InvalidSortByException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The column name to sort by is either not present or was specified in an invalid format.

", - "exception":true - }, - "InvalidSortOrderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The sort order was specified in an invalid format.

", - "exception":true - }, - "InvalidTagException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified tag was specified in an invalid format.

", - "exception":true - }, - "InvalidTagFilterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified tag filter was specified in an invalid format.

", - "exception":true - }, - "InvalidTargetInstancesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The target instance configuration is invalid. Possible causes include:

  • Configuration data for target instances was entered for an in-place deployment.

  • The limit of 10 tags for a tag type was exceeded.

  • The combined length of the tag names exceeded the limit.

  • A specified tag is not currently applied to any instances.

", - "exception":true - }, - "InvalidTimeRangeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified time range was specified in an invalid format.

", - "exception":true - }, - "InvalidTrafficRoutingConfigurationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The configuration that specifies how traffic is routed during a deployment is invalid.

", - "exception":true - }, - "InvalidTriggerConfigException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The trigger was specified in an invalid format.

", - "exception":true - }, - "InvalidUpdateOutdatedInstancesOnlyValueException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The UpdateOutdatedInstancesOnly value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", - "exception":true - }, - "Key":{"type":"string"}, - "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":[ - "Success", - "ScriptMissing", - "ScriptNotExecutable", - "ScriptTimedOut", - "ScriptFailed", - "UnknownError" - ] - }, - "LifecycleEvent":{ - "type":"structure", - "members":{ - "lifecycleEventName":{ - "shape":"LifecycleEventName", - "documentation":"

The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.

" - }, - "diagnostics":{ - "shape":"Diagnostics", - "documentation":"

Diagnostic information about the deployment lifecycle event.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event started.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event ended.

" - }, - "status":{ - "shape":"LifecycleEventStatus", - "documentation":"

The deployment lifecycle event status:

  • Pending: The deployment lifecycle event is pending.

  • InProgress: The deployment lifecycle event is in progress.

  • Succeeded: The deployment lifecycle event ran successfully.

  • Failed: The deployment lifecycle event has failed.

  • Skipped: The deployment lifecycle event has been skipped.

  • Unknown: The deployment lifecycle event is unknown.

" - } - }, - "documentation":"

Information about a deployment lifecycle event.

" - }, - "LifecycleEventAlreadyCompletedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An attempt to return the status of an already completed lifecycle event occurred.

", - "exception":true - }, - "LifecycleEventHookExecutionId":{"type":"string"}, - "LifecycleEventList":{ - "type":"list", - "member":{"shape":"LifecycleEvent"} - }, - "LifecycleEventName":{"type":"string"}, - "LifecycleEventStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Succeeded", - "Failed", - "Skipped", - "Unknown" - ] - }, - "LifecycleHookLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The limit for lifecycle hooks was exceeded.

", - "exception":true - }, - "LifecycleMessage":{"type":"string"}, - "ListApplicationRevisionsInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "sortBy":{ - "shape":"ApplicationRevisionSortBy", - "documentation":"

The column name to use to sort the list results:

  • registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.

  • firstUsedTime: Sort by the time the revisions were first used in a deployment.

  • lastUsedTime: Sort by the time the revisions were last used in a deployment.

If not specified or set to null, the results will be returned in an arbitrary order.

" - }, - "sortOrder":{ - "shape":"SortOrder", - "documentation":"

The order in which to sort the list results:

  • ascending: ascending order.

  • descending: descending order.

If not specified, the results will be sorted in ascending order.

If set to null, the results will be sorted in an arbitrary order.

" - }, - "s3Bucket":{ - "shape":"S3Bucket", - "documentation":"

An Amazon S3 bucket name to limit the search for revisions.

If set to null, all of the user's buckets will be searched.

" - }, - "s3KeyPrefix":{ - "shape":"S3Key", - "documentation":"

A key prefix for the set of Amazon S3 objects to limit the search for revisions.

" - }, - "deployed":{ - "shape":"ListStateFilterAction", - "documentation":"

Whether to list revisions based on whether the revision is the target revision of an deployment group:

  • include: List revisions that are target revisions of a deployment group.

  • exclude: Do not list revisions that are target revisions of a deployment group.

  • ignore: List all revisions.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous list application revisions call. It can be used to return the next set of applications in the list.

" - } - }, - "documentation":"

Represents the input of a ListApplicationRevisions operation.

" - }, - "ListApplicationRevisionsOutput":{ - "type":"structure", - "members":{ - "revisions":{ - "shape":"RevisionLocationList", - "documentation":"

A list of locations that contain the matching revisions.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier will also be returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" - } - }, - "documentation":"

Represents the output of a ListApplicationRevisions operation.

" - }, - "ListApplicationsInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "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 ListApplications operation.

" - }, - "ListApplicationsOutput":{ - "type":"structure", - "members":{ - "applications":{ - "shape":"ApplicationsList", - "documentation":"

A list of application names.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications, will also be returned. in the list.

" - } - }, - "documentation":"

Represents the output of a ListApplications operation.

" - }, - "ListDeploymentConfigsInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous list deployment configurations call. It can be used to return the next set of deployment configurations in the list.

" - } - }, - "documentation":"

Represents the input of a ListDeploymentConfigs operation.

" - }, - "ListDeploymentConfigsOutput":{ - "type":"structure", - "members":{ - "deploymentConfigsList":{ - "shape":"DeploymentConfigsList", - "documentation":"

A list of deployment configurations, including built-in configurations such as CodeDeployDefault.OneAtATime.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment configurations call to return the next set of deployment configurations in the list.

" - } - }, - "documentation":"

Represents the output of a ListDeploymentConfigs operation.

" - }, - "ListDeploymentGroupsInput":{ - "type":"structure", - "required":["applicationName"], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous list deployment groups call. It can be used to return the next set of deployment groups in the list.

" - } - }, - "documentation":"

Represents the input of a ListDeploymentGroups operation.

" - }, - "ListDeploymentGroupsOutput":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The application name.

" - }, - "deploymentGroups":{ - "shape":"DeploymentGroupsList", - "documentation":"

A list of corresponding deployment group names.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment groups call to return the next set of deployment groups in the list.

" - } - }, - "documentation":"

Represents the output of a ListDeploymentGroups operation.

" - }, - "ListDeploymentInstancesInput":{ - "type":"structure", - "required":["deploymentId"], - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous list deployment instances call. It can be used to return the next set of deployment instances in the list.

" - }, - "instanceStatusFilter":{ - "shape":"InstanceStatusList", - "documentation":"

A subset of instances to list by status:

  • Pending: Include those instance with pending deployments.

  • InProgress: Include those instance where deployments are still in progress.

  • Succeeded: Include those instances with successful deployments.

  • Failed: Include those instance with failed deployments.

  • Skipped: Include those instance with skipped deployments.

  • Unknown: Include those instance with deployments in an unknown state.

" - }, - "instanceTypeFilter":{ - "shape":"InstanceTypeList", - "documentation":"

The set of instances in a blue/green deployment, either those in the original environment (\"BLUE\") or those in the replacement environment (\"GREEN\"), for which you want to view instance information.

" - } - }, - "documentation":"

Represents the input of a ListDeploymentInstances operation.

" - }, - "ListDeploymentInstancesOutput":{ - "type":"structure", - "members":{ - "instancesList":{ - "shape":"InstancesList", - "documentation":"

A list of instance IDs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment instances call to return the next set of deployment instances in the list.

" - } - }, - "documentation":"

Represents the output of a ListDeploymentInstances operation.

" - }, - "ListDeploymentsInput":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "deploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" - }, - "includeOnlyStatuses":{ - "shape":"DeploymentStatusList", - "documentation":"

A subset of deployments to list by status:

  • Created: Include created deployments in the resulting list.

  • Queued: Include queued deployments in the resulting list.

  • In Progress: Include in-progress deployments in the resulting list.

  • Succeeded: Include successful deployments in the resulting list.

  • Failed: Include failed deployments in the resulting list.

  • Stopped: Include stopped deployments in the resulting list.

" - }, - "createTimeRange":{ - "shape":"TimeRange", - "documentation":"

A time range (start and end) for returning a subset of the list of deployments.

" - }, - "nextToken":{ - "shape":"NextToken", - "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 ListDeployments operation.

" - }, - "ListDeploymentsOutput":{ - "type":"structure", - "members":{ - "deployments":{ - "shape":"DeploymentsList", - "documentation":"

A list of deployment IDs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployments call to return the next set of deployments in the list.

" - } - }, - "documentation":"

Represents the output of a ListDeployments operation.

" - }, - "ListGitHubAccountTokenNamesInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous ListGitHubAccountTokenNames call. It can be used to return the next set of names in the list.

" - } - }, - "documentation":"

Represents the input of a ListGitHubAccountTokenNames operation.

" - }, - "ListGitHubAccountTokenNamesOutput":{ - "type":"structure", - "members":{ - "tokenNameList":{ - "shape":"GitHubAccountTokenNameList", - "documentation":"

A list of names of connections to GitHub accounts.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent ListGitHubAccountTokenNames call to return the next set of names in the list.

" - } - }, - "documentation":"

Represents the output of a ListGitHubAccountTokenNames operation.

" - }, - "ListOnPremisesInstancesInput":{ - "type":"structure", - "members":{ - "registrationStatus":{ - "shape":"RegistrationStatus", - "documentation":"

The registration status of the on-premises instances:

  • Deregistered: Include deregistered on-premises instances in the resulting list.

  • Registered: Include registered on-premises instances in the resulting list.

" - }, - "tagFilters":{ - "shape":"TagFilterList", - "documentation":"

The on-premises instance tags that will be used to restrict the corresponding on-premises instance names returned.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier returned from the previous list on-premises instances call. It can be used to return the next set of on-premises instances in the list.

" - } - }, - "documentation":"

Represents the input of a ListOnPremisesInstances operation.

" - }, - "ListOnPremisesInstancesOutput":{ - "type":"structure", - "members":{ - "instanceNames":{ - "shape":"InstanceNameList", - "documentation":"

The list of matching on-premises instance names.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list on-premises instances call to return the next set of on-premises instances in the list.

" - } - }, - "documentation":"

Represents the output of list on-premises instances operation.

" - }, - "ListStateFilterAction":{ - "type":"string", - "enum":[ - "include", - "exclude", - "ignore" - ] - }, - "LoadBalancerInfo":{ - "type":"structure", - "members":{ - "elbInfoList":{ - "shape":"ELBInfoList", - "documentation":"

An array containing information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

Adding more than one load balancer to the array is not supported.

" - }, - "targetGroupInfoList":{ - "shape":"TargetGroupInfoList", - "documentation":"

An array containing information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

Adding more than one target group to the array is not supported.

" - } - }, - "documentation":"

Information about the Elastic Load Balancing load balancer or target group used in a deployment.

" - }, - "LogTail":{"type":"string"}, - "Message":{"type":"string"}, - "MinimumHealthyHosts":{ - "type":"structure", - "members":{ - "value":{ - "shape":"MinimumHealthyHostsValue", - "documentation":"

The minimum healthy instance value.

" - }, - "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.

For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.

" - } - }, - "documentation":"

Information about minimum healthy instance.

" - }, - "MinimumHealthyHostsType":{ - "type":"string", - "enum":[ - "HOST_COUNT", - "FLEET_PERCENT" - ] - }, - "MinimumHealthyHostsValue":{"type":"integer"}, - "MultipleIamArnsProvidedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Both an IAM user ARN and an IAM session ARN were included in the request. Use only one ARN type.

", - "exception":true - }, - "NextToken":{"type":"string"}, - "NullableBoolean":{"type":"boolean"}, - "OnPremisesTagSet":{ - "type":"structure", - "members":{ - "onPremisesTagSetList":{ - "shape":"OnPremisesTagSetList", - "documentation":"

A list containing other lists of on-premises instance tag groups. In order for an instance to be included in the deployment group, it must be identified by all the tag groups in the list.

" - } - }, - "documentation":"

Information about groups of on-premises instance tags.

" - }, - "OnPremisesTagSetList":{ - "type":"list", - "member":{"shape":"TagFilterList"} - }, - "OperationNotSupportedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The API used does not support the deployment.

", - "exception":true - }, - "Percentage":{"type":"integer"}, - "PutLifecycleEventHookExecutionStatusInput":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The ID of the deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event.

" - }, - "lifecycleEventHookExecutionId":{ - "shape":"LifecycleEventHookExecutionId", - "documentation":"

The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file.

" - }, - "status":{ - "shape":"LifecycleEventStatus", - "documentation":"

The result of a Lambda function that validates a deployment lifecycle event (Succeeded or Failed).

" - } - } - }, - "PutLifecycleEventHookExecutionStatusOutput":{ - "type":"structure", - "members":{ - "lifecycleEventHookExecutionId":{ - "shape":"LifecycleEventHookExecutionId", - "documentation":"

The execution ID of the lifecycle event hook. A hook is specified in the hooks section of the deployment's AppSpec file.

" - } - } - }, - "RawString":{ - "type":"structure", - "members":{ - "content":{ - "shape":"RawStringContent", - "documentation":"

The YAML-formatted or JSON-formatted revision string. It includes information about which Lambda function to update and optional Lambda functions that validate deployment lifecycle events.

" - }, - "sha256":{ - "shape":"RawStringSha256", - "documentation":"

The SHA256 hash value of the revision that is specified as a RawString.

" - } - }, - "documentation":"

A revision for an AWS Lambda deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda deployments, the revision is the same as the AppSpec file.

" - }, - "RawStringContent":{"type":"string"}, - "RawStringSha256":{"type":"string"}, - "RegisterApplicationRevisionInput":{ - "type":"structure", - "required":[ - "applicationName", - "revision" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A comment about the revision.

" - }, - "revision":{ - "shape":"RevisionLocation", - "documentation":"

Information about the application revision to register, including type and location.

" - } - }, - "documentation":"

Represents the input of a RegisterApplicationRevision operation.

" - }, - "RegisterOnPremisesInstanceInput":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"InstanceName", - "documentation":"

The name of the on-premises instance to register.

" - }, - "iamSessionArn":{ - "shape":"IamSessionArn", - "documentation":"

The ARN of the IAM session to associate with the on-premises instance.

" - }, - "iamUserArn":{ - "shape":"IamUserArn", - "documentation":"

The ARN of the IAM user to associate with the on-premises instance.

" - } - }, - "documentation":"

Represents the input of the register on-premises instance operation.

" - }, - "RegistrationStatus":{ - "type":"string", - "enum":[ - "Registered", - "Deregistered" - ] - }, - "RemoveTagsFromOnPremisesInstancesInput":{ - "type":"structure", - "required":[ - "tags", - "instanceNames" - ], - "members":{ - "tags":{ - "shape":"TagList", - "documentation":"

The tag key-value pairs to remove from the on-premises instances.

" - }, - "instanceNames":{ - "shape":"InstanceNameList", - "documentation":"

The names of the on-premises instances from which to remove tags.

" - } - }, - "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":{ - }, - "documentation":"

The named revision does not exist with the applicable IAM user or AWS account.

", - "exception":true - }, - "RevisionInfo":{ - "type":"structure", - "members":{ - "revisionLocation":{ - "shape":"RevisionLocation", - "documentation":"

Information about the location and type of an application revision.

" - }, - "genericRevisionInfo":{ - "shape":"GenericRevisionInfo", - "documentation":"

Information about an application revision, including usage details and associated deployment groups.

" - } - }, - "documentation":"

Information about an application revision.

" - }, - "RevisionInfoList":{ - "type":"list", - "member":{"shape":"RevisionInfo"} - }, - "RevisionLocation":{ - "type":"structure", - "members":{ - "revisionType":{ - "shape":"RevisionLocationType", - "documentation":"

The type of application revision:

  • S3: An application revision stored in Amazon S3.

  • GitHub: An application revision stored in GitHub (EC2/On-premises deployments only)

  • String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments only)

" - }, - "s3Location":{ - "shape":"S3Location", - "documentation":"

Information about the location of a revision stored in Amazon S3.

" - }, - "gitHubLocation":{ - "shape":"GitHubLocation", - "documentation":"

Information about the location of application artifacts stored in GitHub.

" - }, - "string":{ - "shape":"RawString", - "documentation":"

Information about the location of an AWS Lambda deployment revision stored as a RawString.

" - } - }, - "documentation":"

Information about the location of an application revision.

" - }, - "RevisionLocationList":{ - "type":"list", - "member":{"shape":"RevisionLocation"} - }, - "RevisionLocationType":{ - "type":"string", - "enum":[ - "S3", - "GitHub", - "String" - ] - }, - "RevisionRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The revision ID was not specified.

", - "exception":true - }, - "Role":{"type":"string"}, - "RoleRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The role ID was not specified.

", - "exception":true - }, - "RollbackInfo":{ - "type":"structure", - "members":{ - "rollbackDeploymentId":{ - "shape":"DeploymentId", - "documentation":"

The ID of the deployment rollback.

" - }, - "rollbackTriggeringDeploymentId":{ - "shape":"DeploymentId", - "documentation":"

The deployment ID of the deployment that was underway and triggered a rollback deployment because it failed or was stopped.

" - }, - "rollbackMessage":{ - "shape":"Description", - "documentation":"

Information describing the status of a deployment rollback; for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded.

" - } - }, - "documentation":"

Information about a deployment rollback.

" - }, - "S3Bucket":{"type":"string"}, - "S3Key":{"type":"string"}, - "S3Location":{ - "type":"structure", - "members":{ - "bucket":{ - "shape":"S3Bucket", - "documentation":"

The name of the Amazon S3 bucket where the application revision is stored.

" - }, - "key":{ - "shape":"S3Key", - "documentation":"

The name of the Amazon S3 object that represents the bundled artifacts for the application revision.

" - }, - "bundleType":{ - "shape":"BundleType", - "documentation":"

The file type of the application revision. Must be one of the following:

  • tar: A tar archive file.

  • tgz: A compressed tar archive file.

  • zip: A zip archive file.

" - }, - "version":{ - "shape":"VersionId", - "documentation":"

A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the version is not specified, the system will use the most recent version by default.

" - }, - "eTag":{ - "shape":"ETag", - "documentation":"

The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the ETag is not specified as an input parameter, ETag validation of the object will be skipped.

" - } - }, - "documentation":"

Information about the location of application artifacts stored in Amazon S3.

" - }, - "ScriptName":{"type":"string"}, - "SkipWaitTimeForInstanceTerminationInput":{ - "type":"structure", - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The ID of the blue/green deployment for which you want to skip the instance termination wait time.

" - } - } - }, - "SortOrder":{ - "type":"string", - "enum":[ - "ascending", - "descending" - ] - }, - "StopDeploymentInput":{ - "type":"structure", - "required":["deploymentId"], - "members":{ - "deploymentId":{ - "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" - }, - "autoRollbackEnabled":{ - "shape":"NullableBoolean", - "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" - } - }, - "documentation":"

Represents the input of a StopDeployment operation.

" - }, - "StopDeploymentOutput":{ - "type":"structure", - "members":{ - "status":{ - "shape":"StopStatus", - "documentation":"

The status of the stop deployment operation:

  • Pending: The stop operation is pending.

  • Succeeded: The stop operation was successful.

" - }, - "statusMessage":{ - "shape":"Message", - "documentation":"

An accompanying status message.

" - } - }, - "documentation":"

Represents the output of a StopDeployment operation.

" - }, - "StopStatus":{ - "type":"string", - "enum":[ - "Pending", - "Succeeded" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"Key", - "documentation":"

The tag's key.

" - }, - "Value":{ - "shape":"Value", - "documentation":"

The tag's value.

" - } - }, - "documentation":"

Information about a tag.

" - }, - "TagFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"Key", - "documentation":"

The on-premises instance tag filter key.

" - }, - "Value":{ - "shape":"Value", - "documentation":"

The on-premises instance tag filter value.

" - }, - "Type":{ - "shape":"TagFilterType", - "documentation":"

The on-premises instance tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" - } - }, - "documentation":"

Information about an on-premises instance tag filter.

" - }, - "TagFilterList":{ - "type":"list", - "member":{"shape":"TagFilter"} - }, - "TagFilterType":{ - "type":"string", - "enum":[ - "KEY_ONLY", - "VALUE_ONLY", - "KEY_AND_VALUE" - ] - }, - "TagLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum allowed number of tags was exceeded.

", - "exception":true - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A tag was not specified.

", - "exception":true - }, - "TagSetListLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of tag groups included in the tag set list exceeded the maximum allowed limit of 3.

", - "exception":true - }, - "TargetGroupInfo":{ - "type":"structure", - "members":{ - "name":{ - "shape":"TargetGroupName", - "documentation":"

For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment completes.

" - } - }, - "documentation":"

Information about a target group in Elastic Load Balancing to use in a deployment. Instances are registered as targets in a target group, and traffic is routed to the target group.

" - }, - "TargetGroupInfoList":{ - "type":"list", - "member":{"shape":"TargetGroupInfo"} - }, - "TargetGroupName":{"type":"string"}, - "TargetInstances":{ - "type":"structure", - "members":{ - "tagFilters":{ - "shape":"EC2TagFilterList", - "documentation":"

The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment. Cannot be used in the same call as ec2TagSet.

" - }, - "autoScalingGroups":{ - "shape":"AutoScalingGroupNameList", - "documentation":"

The names of one or more Auto Scaling groups to identify a replacement environment for a blue/green deployment.

" - }, - "ec2TagSet":{ - "shape":"EC2TagSet", - "documentation":"

Information about the groups of EC2 instance tags that an instance must be identified by in order for it to be included in the replacement environment for a blue/green deployment. Cannot be used in the same call as tagFilters.

" - } - }, - "documentation":"

Information about the instances to be used in the replacement environment in a blue/green deployment.

" - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An API function was called too frequently.

", - "exception":true - }, - "TimeBasedCanary":{ - "type":"structure", - "members":{ - "canaryPercentage":{ - "shape":"Percentage", - "documentation":"

The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

" - }, - "canaryInterval":{ - "shape":"WaitTimeInMins", - "documentation":"

The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

" - } - }, - "documentation":"

A configuration that shifts traffic from one version of a Lambda function to another in two increments. The original and target Lambda function versions are specified in the deployment's AppSpec file.

" - }, - "TimeBasedLinear":{ - "type":"structure", - "members":{ - "linearPercentage":{ - "shape":"Percentage", - "documentation":"

The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

" - }, - "linearInterval":{ - "shape":"WaitTimeInMins", - "documentation":"

The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

" - } - }, - "documentation":"

A configuration that shifts traffic from one version of a Lambda function to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions are specified in the deployment's AppSpec file.

" - }, - "TimeRange":{ - "type":"structure", - "members":{ - "start":{ - "shape":"Timestamp", - "documentation":"

The start time of the time range.

Specify null to leave the start time open-ended.

" - }, - "end":{ - "shape":"Timestamp", - "documentation":"

The end time of the time range.

Specify null to leave the end time open-ended.

" - } - }, - "documentation":"

Information about a time range.

" - }, - "Timestamp":{"type":"timestamp"}, - "TrafficRoutingConfig":{ - "type":"structure", - "members":{ - "type":{ - "shape":"TrafficRoutingType", - "documentation":"

The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration .

" - }, - "timeBasedCanary":{ - "shape":"TimeBasedCanary", - "documentation":"

A configuration that shifts traffic from one version of a Lambda function to another in two increments. The original and target Lambda function versions are specified in the deployment's AppSpec file.

" - }, - "timeBasedLinear":{ - "shape":"TimeBasedLinear", - "documentation":"

A configuration that shifts traffic from one version of a Lambda function to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions are specified in the deployment's AppSpec file.

" - } - }, - "documentation":"

The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment.

" - }, - "TrafficRoutingType":{ - "type":"string", - "enum":[ - "TimeBasedCanary", - "TimeBasedLinear", - "AllAtOnce" - ] - }, - "TriggerConfig":{ - "type":"structure", - "members":{ - "triggerName":{ - "shape":"TriggerName", - "documentation":"

The name of the notification trigger.

" - }, - "triggerTargetArn":{ - "shape":"TriggerTargetArn", - "documentation":"

The ARN of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.

" - }, - "triggerEvents":{ - "shape":"TriggerEventTypeList", - "documentation":"

The event type or types for which notifications are triggered.

" - } - }, - "documentation":"

Information about notification triggers for the deployment group.

" - }, - "TriggerConfigList":{ - "type":"list", - "member":{"shape":"TriggerConfig"} - }, - "TriggerEventType":{ - "type":"string", - "enum":[ - "DeploymentStart", - "DeploymentSuccess", - "DeploymentFailure", - "DeploymentStop", - "DeploymentRollback", - "DeploymentReady", - "InstanceStart", - "InstanceSuccess", - "InstanceFailure", - "InstanceReady" - ] - }, - "TriggerEventTypeList":{ - "type":"list", - "member":{"shape":"TriggerEventType"} - }, - "TriggerName":{"type":"string"}, - "TriggerTargetArn":{"type":"string"}, - "TriggerTargetsLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The maximum allowed number of triggers was exceeded.

", - "exception":true - }, - "UnsupportedActionForDeploymentTypeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A call was submitted that is not supported for the specified deployment type.

", - "exception":true - }, - "UpdateApplicationInput":{ - "type":"structure", - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The current name of the application you want to change.

" - }, - "newApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The new name to give the application.

" - } - }, - "documentation":"

Represents the input of an UpdateApplication operation.

" - }, - "UpdateDeploymentGroupInput":{ - "type":"structure", - "required":[ - "applicationName", - "currentDeploymentGroupName" - ], - "members":{ - "applicationName":{ - "shape":"ApplicationName", - "documentation":"

The application name corresponding to the deployment group to update.

" - }, - "currentDeploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The current name of the deployment group.

" - }, - "newDeploymentGroupName":{ - "shape":"DeploymentGroupName", - "documentation":"

The new name of the deployment group, if you want to change it.

" - }, - "deploymentConfigName":{ - "shape":"DeploymentConfigName", - "documentation":"

The replacement deployment configuration name to use, if you want to change it.

" - }, - "ec2TagFilters":{ - "shape":"EC2TagFilterList", - "documentation":"

The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.

" - }, - "onPremisesInstanceTagFilters":{ - "shape":"TagFilterList", - "documentation":"

The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.

" - }, - "autoScalingGroups":{ - "shape":"AutoScalingGroupNameList", - "documentation":"

The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them. To keep the Auto Scaling groups, enter their names. To remove Auto Scaling groups, do not enter any Auto Scaling group names.

" - }, - "serviceRoleArn":{ - "shape":"Role", - "documentation":"

A replacement ARN for the service role, if you want to change it.

" - }, - "triggerConfigurations":{ - "shape":"TriggerConfigList", - "documentation":"

Information about triggers to change when the deployment group is updated. For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.

" - }, - "alarmConfiguration":{ - "shape":"AlarmConfiguration", - "documentation":"

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

" - }, - "autoRollbackConfiguration":{ - "shape":"AutoRollbackConfiguration", - "documentation":"

Information for an automatic rollback configuration that is added or changed when a deployment group is updated.

" - }, - "deploymentStyle":{ - "shape":"DeploymentStyle", - "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" - }, - "blueGreenDeploymentConfiguration":{ - "shape":"BlueGreenDeploymentConfiguration", - "documentation":"

Information about blue/green deployment options for a deployment group.

" - }, - "loadBalancerInfo":{ - "shape":"LoadBalancerInfo", - "documentation":"

Information about the load balancer used in a deployment.

" - }, - "ec2TagSet":{ - "shape":"EC2TagSet", - "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group will include only EC2 instances identified by all the tag groups.

" - }, - "onPremisesTagSet":{ - "shape":"OnPremisesTagSet", - "documentation":"

Information about an on-premises instance tag set. The deployment group will include only on-premises instances identified by all the tag groups.

" - } - }, - "documentation":"

Represents the input of an UpdateDeploymentGroup operation.

" - }, - "UpdateDeploymentGroupOutput":{ - "type":"structure", - "members":{ - "hooksNotCleanedUp":{ - "shape":"AutoScalingGroupList", - "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 UpdateDeploymentGroup operation.

" - }, - "Value":{"type":"string"}, - "VersionId":{"type":"string"}, - "WaitTimeInMins":{"type":"integer"} - }, - "documentation":"AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, or serverless AWS Lambda functions.

You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, 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 or CodeDeploy Lambda applications. A Lambda deployment group contains a group of applications. An EC2/On-premises 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 used in the process of updating a Lambda function or of installing content on one or more instances.

  • Application revisions: For an AWS Lambda deployment, this is an AppSpec file that specifies the Lambda function to update and one or more functions to validate deployment lifecycle events. For an EC2/On-premises deployment, this is an archive file containing source content—source code, web pages, executable files, and deployment scripts—along with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID.

This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for AWS CodeDeploy deployments, and to get details about a Lambda function deployment.

AWS CodeDeploy Information Resources

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/waiters-2.json deleted file mode 100644 index 0fea4fac..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codedeploy/2014-10-06/waiters-2.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version": 2, - "waiters": { - "DeploymentSuccessful": { - "delay": 15, - "operation": "GetDeployment", - "maxAttempts": 120, - "acceptors": [ - { - "expected": "Succeeded", - "matcher": "path", - "state": "success", - "argument": "deploymentInfo.status" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "deploymentInfo.status" - }, - { - "expected": "Stopped", - "matcher": "path", - "state": "failure", - "argument": "deploymentInfo.status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/service-2.json deleted file mode 100644 index 722b2b51..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codepipeline/2015-07-09/service-2.json +++ /dev/null @@ -1,3043 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-07-09", - "endpointPrefix":"codepipeline", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CodePipeline", - "serviceFullName":"AWS CodePipeline", - "serviceId":"CodePipeline", - "signatureVersion":"v4", - "targetPrefix":"CodePipeline_20150709", - "uid":"codepipeline-2015-07-09" - }, - "operations":{ - "AcknowledgeJob":{ - "name":"AcknowledgeJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcknowledgeJobInput"}, - "output":{"shape":"AcknowledgeJobOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNonceException"}, - {"shape":"JobNotFoundException"} - ], - "documentation":"

Returns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.

" - }, - "AcknowledgeThirdPartyJob":{ - "name":"AcknowledgeThirdPartyJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcknowledgeThirdPartyJobInput"}, - "output":{"shape":"AcknowledgeThirdPartyJobOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNonceException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InvalidClientTokenException"} - ], - "documentation":"

Confirms a job worker has received the specified job. Only used for partner actions.

" - }, - "CreateCustomActionType":{ - "name":"CreateCustomActionType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomActionTypeInput"}, - "output":{"shape":"CreateCustomActionTypeOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.

" - }, - "CreatePipeline":{ - "name":"CreatePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePipelineInput"}, - "output":{"shape":"CreatePipelineOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNameInUseException"}, - {"shape":"InvalidStageDeclarationException"}, - {"shape":"InvalidActionDeclarationException"}, - {"shape":"InvalidBlockerDeclarationException"}, - {"shape":"InvalidStructureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a pipeline.

" - }, - "DeleteCustomActionType":{ - "name":"DeleteCustomActionType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomActionTypeInput"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.

To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field.

" - }, - "DeletePipeline":{ - "name":"DeletePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePipelineInput"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Deletes the specified pipeline.

" - }, - "DeleteWebhook":{ - "name":"DeleteWebhook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteWebhookInput"}, - "output":{"shape":"DeleteWebhookOutput"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Deletes a previously created webhook by name. Deleting the webhook stops AWS CodePipeline from starting a pipeline every time an external event occurs. The API will return successfully when trying to delete a webhook that is already deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different URL.

" - }, - "DeregisterWebhookWithThirdParty":{ - "name":"DeregisterWebhookWithThirdParty", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterWebhookWithThirdPartyInput"}, - "output":{"shape":"DeregisterWebhookWithThirdPartyOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"WebhookNotFoundException"} - ], - "documentation":"

Removes the connection between the webhook that was created by CodePipeline and the external tool with events to be detected. Currently only supported for webhooks that target an action type of GitHub.

" - }, - "DisableStageTransition":{ - "name":"DisableStageTransition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableStageTransitionInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"StageNotFoundException"} - ], - "documentation":"

Prevents artifacts in a pipeline from transitioning to the next stage in the pipeline.

" - }, - "EnableStageTransition":{ - "name":"EnableStageTransition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableStageTransitionInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"StageNotFoundException"} - ], - "documentation":"

Enables artifacts in a pipeline to transition to a stage in a pipeline.

" - }, - "GetJobDetails":{ - "name":"GetJobDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobDetailsInput"}, - "output":{"shape":"GetJobDetailsOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"JobNotFoundException"} - ], - "documentation":"

Returns information about a job. Only used for custom actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" - }, - "GetPipeline":{ - "name":"GetPipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPipelineInput"}, - "output":{"shape":"GetPipelineOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"PipelineVersionNotFoundException"} - ], - "documentation":"

Returns the metadata, structure, stages, and actions of a pipeline. Can be used to return the entire structure of a pipeline in JSON format, which can then be modified and used to update the pipeline structure with UpdatePipeline.

" - }, - "GetPipelineExecution":{ - "name":"GetPipelineExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPipelineExecutionInput"}, - "output":{"shape":"GetPipelineExecutionOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"PipelineExecutionNotFoundException"} - ], - "documentation":"

Returns information about an execution of a pipeline, including details about artifacts, the pipeline execution ID, and the name, version, and status of the pipeline.

" - }, - "GetPipelineState":{ - "name":"GetPipelineState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPipelineStateInput"}, - "output":{"shape":"GetPipelineStateOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"} - ], - "documentation":"

Returns information about the state of a pipeline, including the stages and actions.

" - }, - "GetThirdPartyJobDetails":{ - "name":"GetThirdPartyJobDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetThirdPartyJobDetailsInput"}, - "output":{"shape":"GetThirdPartyJobDetailsOutput"}, - "errors":[ - {"shape":"JobNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"InvalidClientTokenException"}, - {"shape":"InvalidJobException"} - ], - "documentation":"

Requests the details of a job for a third party action. Only used for partner actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" - }, - "ListActionTypes":{ - "name":"ListActionTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListActionTypesInput"}, - "output":{"shape":"ListActionTypesOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPipelinesInput"}, - "output":{"shape":"ListPipelinesOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Gets a summary of all of the pipelines associated with your account.

" - }, - "ListWebhooks":{ - "name":"ListWebhooks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWebhooksInput"}, - "output":{"shape":"ListWebhooksOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Gets a listing of all the webhooks in this region for this account. The output lists all webhooks and includes the webhook URL and ARN, as well the configuration for each webhook.

" - }, - "PollForJobs":{ - "name":"PollForJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PollForJobsInput"}, - "output":{"shape":"PollForJobsOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ActionTypeNotFoundException"} - ], - "documentation":"

Returns information about any jobs for AWS CodePipeline to act upon. PollForJobs is only valid for action types with \"Custom\" in the owner field. If the action type contains \"AWS\" or \"ThirdParty\" in the owner field, the PollForJobs action returns an error.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" - }, - "PollForThirdPartyJobs":{ - "name":"PollForThirdPartyJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PollForThirdPartyJobsInput"}, - "output":{"shape":"PollForThirdPartyJobsOutput"}, - "errors":[ - {"shape":"ActionTypeNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Determines whether there are any third party jobs for a job worker to act on. Only used for partner actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts.

" - }, - "PutActionRevision":{ - "name":"PutActionRevision", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutActionRevisionInput"}, - "output":{"shape":"PutActionRevisionOutput"}, - "errors":[ - {"shape":"PipelineNotFoundException"}, - {"shape":"StageNotFoundException"}, - {"shape":"ActionNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Provides information to AWS CodePipeline about new revisions to a source.

" - }, - "PutApprovalResult":{ - "name":"PutApprovalResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutApprovalResultInput"}, - "output":{"shape":"PutApprovalResultOutput"}, - "errors":[ - {"shape":"InvalidApprovalTokenException"}, - {"shape":"ApprovalAlreadyCompletedException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"StageNotFoundException"}, - {"shape":"ActionNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Provides the response to a manual approval request to AWS CodePipeline. Valid responses include Approved and Rejected.

" - }, - "PutJobFailureResult":{ - "name":"PutJobFailureResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutJobFailureResultInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InvalidJobStateException"} - ], - "documentation":"

Represents the failure of a job as returned to the pipeline by a job worker. Only used for custom actions.

" - }, - "PutJobSuccessResult":{ - "name":"PutJobSuccessResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutJobSuccessResultInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InvalidJobStateException"} - ], - "documentation":"

Represents the success of a job as returned to the pipeline by a job worker. Only used for custom actions.

" - }, - "PutThirdPartyJobFailureResult":{ - "name":"PutThirdPartyJobFailureResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutThirdPartyJobFailureResultInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"InvalidClientTokenException"} - ], - "documentation":"

Represents the failure of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

" - }, - "PutThirdPartyJobSuccessResult":{ - "name":"PutThirdPartyJobSuccessResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutThirdPartyJobSuccessResultInput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"InvalidClientTokenException"} - ], - "documentation":"

Represents the success of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

" - }, - "PutWebhook":{ - "name":"PutWebhook", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutWebhookInput"}, - "output":{"shape":"PutWebhookOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidWebhookFilterPatternException"}, - {"shape":"InvalidWebhookAuthenticationParametersException"}, - {"shape":"PipelineNotFoundException"} - ], - "documentation":"

Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL.

" - }, - "RegisterWebhookWithThirdParty":{ - "name":"RegisterWebhookWithThirdParty", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterWebhookWithThirdPartyInput"}, - "output":{"shape":"RegisterWebhookWithThirdPartyOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"WebhookNotFoundException"} - ], - "documentation":"

Configures a connection between the webhook that was created and the external tool with events to be detected.

" - }, - "RetryStageExecution":{ - "name":"RetryStageExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetryStageExecutionInput"}, - "output":{"shape":"RetryStageExecutionOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"}, - {"shape":"StageNotFoundException"}, - {"shape":"StageNotRetryableException"}, - {"shape":"NotLatestPipelineExecutionException"} - ], - "documentation":"

Resumes the pipeline execution by retrying the last failed actions in a stage.

" - }, - "StartPipelineExecution":{ - "name":"StartPipelineExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartPipelineExecutionInput"}, - "output":{"shape":"StartPipelineExecutionOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"PipelineNotFoundException"} - ], - "documentation":"

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

" - }, - "UpdatePipeline":{ - "name":"UpdatePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePipelineInput"}, - "output":{"shape":"UpdatePipelineOutput"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidStageDeclarationException"}, - {"shape":"InvalidActionDeclarationException"}, - {"shape":"InvalidBlockerDeclarationException"}, - {"shape":"InvalidStructureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

" - } - }, - "shapes":{ - "AWSSessionCredentials":{ - "type":"structure", - "required":[ - "accessKeyId", - "secretAccessKey", - "sessionToken" - ], - "members":{ - "accessKeyId":{ - "shape":"AccessKeyId", - "documentation":"

The access key for the session.

" - }, - "secretAccessKey":{ - "shape":"SecretAccessKey", - "documentation":"

The secret access key for the session.

" - }, - "sessionToken":{ - "shape":"SessionToken", - "documentation":"

The token for the session.

" - } - }, - "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

", - "sensitive":true - }, - "AccessKeyId":{"type":"string"}, - "AccountId":{ - "type":"string", - "pattern":"[0-9]{12}" - }, - "AcknowledgeJobInput":{ - "type":"structure", - "required":[ - "jobId", - "nonce" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID of the job for which you want to confirm receipt.

" - }, - "nonce":{ - "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response of the PollForJobs request that returned this job.

" - } - }, - "documentation":"

Represents the input of an AcknowledgeJob action.

" - }, - "AcknowledgeJobOutput":{ - "type":"structure", - "members":{ - "status":{ - "shape":"JobStatus", - "documentation":"

Whether the job worker has received the specified job.

" - } - }, - "documentation":"

Represents the output of an AcknowledgeJob action.

" - }, - "AcknowledgeThirdPartyJobInput":{ - "type":"structure", - "required":[ - "jobId", - "nonce", - "clientToken" - ], - "members":{ - "jobId":{ - "shape":"ThirdPartyJobId", - "documentation":"

The unique system-generated ID of the job.

" - }, - "nonce":{ - "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response to a GetThirdPartyJobDetails request.

" - }, - "clientToken":{ - "shape":"ClientToken", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" - } - }, - "documentation":"

Represents the input of an AcknowledgeThirdPartyJob action.

" - }, - "AcknowledgeThirdPartyJobOutput":{ - "type":"structure", - "members":{ - "status":{ - "shape":"JobStatus", - "documentation":"

The status information for the third party job, if any.

" - } - }, - "documentation":"

Represents the output of an AcknowledgeThirdPartyJob action.

" - }, - "ActionCategory":{ - "type":"string", - "enum":[ - "Source", - "Build", - "Deploy", - "Test", - "Invoke", - "Approval" - ] - }, - "ActionConfiguration":{ - "type":"structure", - "members":{ - "configuration":{ - "shape":"ActionConfigurationMap", - "documentation":"

The configuration data for the action.

" - } - }, - "documentation":"

Represents information about an action configuration.

" - }, - "ActionConfigurationKey":{ - "type":"string", - "max":50, - "min":1 - }, - "ActionConfigurationMap":{ - "type":"map", - "key":{"shape":"ActionConfigurationKey"}, - "value":{"shape":"ActionConfigurationValue"} - }, - "ActionConfigurationProperty":{ - "type":"structure", - "required":[ - "name", - "required", - "key", - "secret" - ], - "members":{ - "name":{ - "shape":"ActionConfigurationKey", - "documentation":"

The name of the action configuration property.

" - }, - "required":{ - "shape":"Boolean", - "documentation":"

Whether the configuration property is a required value.

" - }, - "key":{ - "shape":"Boolean", - "documentation":"

Whether the configuration property is a key.

" - }, - "secret":{ - "shape":"Boolean", - "documentation":"

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action will preserve the prior value of the secret.

" - }, - "queryable":{ - "shape":"Boolean", - "documentation":"

Indicates that the property will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the action configuration property that will be displayed to users.

" - }, - "type":{ - "shape":"ActionConfigurationPropertyType", - "documentation":"

The type of the configuration property.

" - } - }, - "documentation":"

Represents information about an action configuration property.

" - }, - "ActionConfigurationPropertyList":{ - "type":"list", - "member":{"shape":"ActionConfigurationProperty"}, - "max":10 - }, - "ActionConfigurationPropertyType":{ - "type":"string", - "enum":[ - "String", - "Number", - "Boolean" - ] - }, - "ActionConfigurationQueryableValue":{ - "type":"string", - "max":50, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "ActionConfigurationValue":{ - "type":"string", - "max":1000, - "min":1 - }, - "ActionContext":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ActionName", - "documentation":"

The name of the action within the context of a job.

" - } - }, - "documentation":"

Represents the context of an action within the stage of a pipeline to a job worker.

" - }, - "ActionDeclaration":{ - "type":"structure", - "required":[ - "name", - "actionTypeId" - ], - "members":{ - "name":{ - "shape":"ActionName", - "documentation":"

The action declaration's name.

" - }, - "actionTypeId":{ - "shape":"ActionTypeId", - "documentation":"

The configuration information for the action type.

" - }, - "runOrder":{ - "shape":"ActionRunOrder", - "documentation":"

The order in which actions are run.

" - }, - "configuration":{ - "shape":"ActionConfigurationMap", - "documentation":"

The action declaration's configuration.

" - }, - "outputArtifacts":{ - "shape":"OutputArtifactList", - "documentation":"

The name or ID of the result of the action declaration, such as a test or build artifact.

" - }, - "inputArtifacts":{ - "shape":"InputArtifactList", - "documentation":"

The name or ID of the artifact consumed by the action, such as a test or build artifact.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

" - } - }, - "documentation":"

Represents information about an action declaration.

" - }, - "ActionExecution":{ - "type":"structure", - "members":{ - "status":{ - "shape":"ActionExecutionStatus", - "documentation":"

The status of the action, or for a completed action, the last status of the action.

" - }, - "summary":{ - "shape":"ExecutionSummary", - "documentation":"

A summary of the run of the action.

" - }, - "lastStatusChange":{ - "shape":"Timestamp", - "documentation":"

The last status change of the action.

" - }, - "token":{ - "shape":"ActionExecutionToken", - "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState command and is used to validate that the approval request corresponding to this token is still valid.

" - }, - "lastUpdatedBy":{ - "shape":"LastUpdatedBy", - "documentation":"

The ARN of the user who last changed the pipeline.

" - }, - "externalExecutionId":{ - "shape":"ExecutionId", - "documentation":"

The external ID of the run of the action.

" - }, - "externalExecutionUrl":{ - "shape":"Url", - "documentation":"

The URL of a resource external to AWS that will be used when running the action, for example an external repository URL.

" - }, - "percentComplete":{ - "shape":"Percentage", - "documentation":"

A percentage of completeness of the action as it runs.

" - }, - "errorDetails":{ - "shape":"ErrorDetails", - "documentation":"

The details of an error returned by a URL external to AWS.

" - } - }, - "documentation":"

Represents information about the run of an action.

" - }, - "ActionExecutionStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Succeeded", - "Failed" - ] - }, - "ActionExecutionToken":{"type":"string"}, - "ActionName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[A-Za-z0-9.@\\-_]+" - }, - "ActionNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified action cannot be found.

", - "exception":true - }, - "ActionOwner":{ - "type":"string", - "enum":[ - "AWS", - "ThirdParty", - "Custom" - ] - }, - "ActionProvider":{ - "type":"string", - "max":25, - "min":1, - "pattern":"[0-9A-Za-z_-]+" - }, - "ActionRevision":{ - "type":"structure", - "required":[ - "revisionId", - "revisionChangeId", - "created" - ], - "members":{ - "revisionId":{ - "shape":"Revision", - "documentation":"

The system-generated unique ID that identifies the revision number of the action.

" - }, - "revisionChangeId":{ - "shape":"RevisionChangeIdentifier", - "documentation":"

The unique identifier of the change that set the state to this revision, for example a deployment ID or timestamp.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

The date and time when the most recent version of the action was created, in timestamp format.

" - } - }, - "documentation":"

Represents information about the version (or revision) of an action.

" - }, - "ActionRunOrder":{ - "type":"integer", - "max":999, - "min":1 - }, - "ActionState":{ - "type":"structure", - "members":{ - "actionName":{ - "shape":"ActionName", - "documentation":"

The name of the action.

" - }, - "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.

" - }, - "revisionUrl":{ - "shape":"Url", - "documentation":"

A URL link for more information about the revision, such as a commit details page.

" - } - }, - "documentation":"

Represents information about the state of an action.

" - }, - "ActionStateList":{ - "type":"list", - "member":{"shape":"ActionState"} - }, - "ActionType":{ - "type":"structure", - "required":[ - "id", - "inputArtifactDetails", - "outputArtifactDetails" - ], - "members":{ - "id":{ - "shape":"ActionTypeId", - "documentation":"

Represents information about an action type.

" - }, - "settings":{ - "shape":"ActionTypeSettings", - "documentation":"

The settings for the action type.

" - }, - "actionConfigurationProperties":{ - "shape":"ActionConfigurationPropertyList", - "documentation":"

The configuration properties for the action type.

" - }, - "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":"

Returns information about the details of an action type.

" - }, - "ActionTypeId":{ - "type":"structure", - "required":[ - "category", - "owner", - "provider", - "version" - ], - "members":{ - "category":{ - "shape":"ActionCategory", - "documentation":"

A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

" - }, - "owner":{ - "shape":"ActionOwner", - "documentation":"

The creator of the action being called.

" - }, - "provider":{ - "shape":"ActionProvider", - "documentation":"

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

" - }, - "version":{ - "shape":"Version", - "documentation":"

A string that describes the action version.

" - } - }, - "documentation":"

Represents information about an action type.

" - }, - "ActionTypeList":{ - "type":"list", - "member":{"shape":"ActionType"} - }, - "ActionTypeNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified action type cannot be found.

", - "exception":true - }, - "ActionTypeSettings":{ - "type":"structure", - "members":{ - "thirdPartyConfigurationUrl":{ - "shape":"Url", - "documentation":"

The URL of a sign-up page where users can sign up for an external service and perform initial configuration of the action provided by that service.

" - }, - "entityUrlTemplate":{ - "shape":"UrlTemplate", - "documentation":"

The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for an AWS CodeDeploy deployment group. This link is provided as part of the action display within the pipeline.

" - }, - "executionUrlTemplate":{ - "shape":"UrlTemplate", - "documentation":"

The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system, such as console page for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS CodePipeline console and provides a link to the execution entity of the external action.

" - }, - "revisionUrlTemplate":{ - "shape":"UrlTemplate", - "documentation":"

The URL returned to the AWS CodePipeline console that contains a link to the page where customers can update or change the configuration of the external action.

" - } - }, - "documentation":"

Returns information about the settings for an action type.

" - }, - "ApprovalAlreadyCompletedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The approval action has already been approved or rejected.

", - "exception":true - }, - "ApprovalResult":{ - "type":"structure", - "required":[ - "summary", - "status" - ], - "members":{ - "summary":{ - "shape":"ApprovalSummary", - "documentation":"

The summary of the current status of the approval request.

" - }, - "status":{ - "shape":"ApprovalStatus", - "documentation":"

The response submitted by a reviewer assigned to an approval action request.

" - } - }, - "documentation":"

Represents information about the result of an approval request.

" - }, - "ApprovalStatus":{ - "type":"string", - "enum":[ - "Approved", - "Rejected" - ] - }, - "ApprovalSummary":{ - "type":"string", - "max":512, - "min":0 - }, - "ApprovalToken":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "Artifact":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ArtifactName", - "documentation":"

The artifact's name.

" - }, - "revision":{ - "shape":"Revision", - "documentation":"

The artifact's revision ID. Depending on the type of object, this could be a commit ID (GitHub) or a revision ID (Amazon S3).

" - }, - "location":{ - "shape":"ArtifactLocation", - "documentation":"

The location of an artifact.

" - } - }, - "documentation":"

Represents information about an artifact that will be worked upon by actions in the pipeline.

" - }, - "ArtifactDetails":{ - "type":"structure", - "required":[ - "minimumCount", - "maximumCount" - ], - "members":{ - "minimumCount":{ - "shape":"MinimumArtifactCount", - "documentation":"

The minimum number of artifacts allowed for the action type.

" - }, - "maximumCount":{ - "shape":"MaximumArtifactCount", - "documentation":"

The maximum number of artifacts allowed for the action type.

" - } - }, - "documentation":"

Returns information about the details of an artifact.

" - }, - "ArtifactList":{ - "type":"list", - "member":{"shape":"Artifact"} - }, - "ArtifactLocation":{ - "type":"structure", - "members":{ - "type":{ - "shape":"ArtifactLocationType", - "documentation":"

The type of artifact in the location.

" - }, - "s3Location":{ - "shape":"S3ArtifactLocation", - "documentation":"

The Amazon S3 bucket that contains the artifact.

" - } - }, - "documentation":"

Represents information about the location of an artifact.

" - }, - "ArtifactLocationType":{ - "type":"string", - "enum":["S3"] - }, - "ArtifactName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[a-zA-Z0-9_\\-]+" - }, - "ArtifactRevision":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ArtifactName", - "documentation":"

The name of an artifact. This name might be system-generated, such as \"MyApp\", or might be defined by the user when an action is created.

" - }, - "revisionId":{ - "shape":"Revision", - "documentation":"

The revision ID of the artifact.

" - }, - "revisionChangeIdentifier":{ - "shape":"RevisionChangeIdentifier", - "documentation":"

An additional identifier for a revision, such as a commit date or, for artifacts stored in Amazon S3 buckets, the ETag value.

" - }, - "revisionSummary":{ - "shape":"RevisionSummary", - "documentation":"

Summary information about the most recent revision of the artifact. For GitHub and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets or actions, the user-provided content of a codepipeline-artifact-revision-summary key specified in the object metadata.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

The date and time when the most recent revision of the artifact was created, in timestamp format.

" - }, - "revisionUrl":{ - "shape":"Url", - "documentation":"

The commit ID for the artifact revision. For artifacts stored in GitHub or AWS CodeCommit repositories, the commit ID is linked to a commit details page.

" - } - }, - "documentation":"

Represents revision details of an artifact.

" - }, - "ArtifactRevisionList":{ - "type":"list", - "member":{"shape":"ArtifactRevision"} - }, - "ArtifactStore":{ - "type":"structure", - "required":[ - "type", - "location" - ], - "members":{ - "type":{ - "shape":"ArtifactStoreType", - "documentation":"

The type of the artifact store, such as S3.

" - }, - "location":{ - "shape":"ArtifactStoreLocation", - "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 bucket where artifacts are stored for the pipeline.

" - }, - "ArtifactStoreLocation":{ - "type":"string", - "max":63, - "min":3, - "pattern":"[a-zA-Z0-9\\-\\.]+" - }, - "ArtifactStoreType":{ - "type":"string", - "enum":["S3"] - }, - "BlockerDeclaration":{ - "type":"structure", - "required":[ - "name", - "type" - ], - "members":{ - "name":{ - "shape":"BlockerName", - "documentation":"

Reserved for future use.

" - }, - "type":{ - "shape":"BlockerType", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

Reserved for future use.

" - }, - "BlockerName":{ - "type":"string", - "max":100, - "min":1 - }, - "BlockerType":{ - "type":"string", - "enum":["Schedule"] - }, - "Boolean":{"type":"boolean"}, - "ClientId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "ClientToken":{ - "type":"string", - "max":256, - "min":1 - }, - "Code":{"type":"string"}, - "ContinuationToken":{ - "type":"string", - "max":2048, - "min":1 - }, - "CreateCustomActionTypeInput":{ - "type":"structure", - "required":[ - "category", - "provider", - "version", - "inputArtifactDetails", - "outputArtifactDetails" - ], - "members":{ - "category":{ - "shape":"ActionCategory", - "documentation":"

The category of the custom action, such as a build action or a test action.

Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

" - }, - "provider":{ - "shape":"ActionProvider", - "documentation":"

The provider of the service used in the custom action, such as AWS CodeDeploy.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version identifier of the custom action.

" - }, - "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", - "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 CreateCustomActionType operation.

" - }, - "CreateCustomActionTypeOutput":{ - "type":"structure", - "required":["actionType"], - "members":{ - "actionType":{ - "shape":"ActionType", - "documentation":"

Returns information about the details of an action type.

" - } - }, - "documentation":"

Represents the output of a CreateCustomActionType operation.

" - }, - "CreatePipelineInput":{ - "type":"structure", - "required":["pipeline"], - "members":{ - "pipeline":{ - "shape":"PipelineDeclaration", - "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" - } - }, - "documentation":"

Represents the input of a CreatePipeline action.

" - }, - "CreatePipelineOutput":{ - "type":"structure", - "members":{ - "pipeline":{ - "shape":"PipelineDeclaration", - "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" - } - }, - "documentation":"

Represents the output of a CreatePipeline action.

" - }, - "CurrentRevision":{ - "type":"structure", - "required":[ - "revision", - "changeIdentifier" - ], - "members":{ - "revision":{ - "shape":"Revision", - "documentation":"

The revision ID of the current version of an artifact.

" - }, - "changeIdentifier":{ - "shape":"RevisionChangeIdentifier", - "documentation":"

The change identifier for the current revision.

" - }, - "created":{ - "shape":"Time", - "documentation":"

The date and time when the most recent revision of the artifact was created, in timestamp format.

" - }, - "revisionSummary":{ - "shape":"RevisionSummary", - "documentation":"

The summary of the most recent revision of the artifact.

" - } - }, - "documentation":"

Represents information about a current revision.

" - }, - "DeleteCustomActionTypeInput":{ - "type":"structure", - "required":[ - "category", - "provider", - "version" - ], - "members":{ - "category":{ - "shape":"ActionCategory", - "documentation":"

The category of the custom action that you want to delete, such as source or deploy.

" - }, - "provider":{ - "shape":"ActionProvider", - "documentation":"

The provider of the service used in the custom action, such as AWS CodeDeploy.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the custom action to delete.

" - } - }, - "documentation":"

Represents the input of a DeleteCustomActionType operation. The custom action will be marked as deleted.

" - }, - "DeletePipelineInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline to be deleted.

" - } - }, - "documentation":"

Represents the input of a DeletePipeline action.

" - }, - "DeleteWebhookInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"WebhookName", - "documentation":"

The name of the webhook you want to delete.

" - } - } - }, - "DeleteWebhookOutput":{ - "type":"structure", - "members":{ - } - }, - "DeregisterWebhookWithThirdPartyInput":{ - "type":"structure", - "members":{ - "webhookName":{ - "shape":"WebhookName", - "documentation":"

The name of the webhook you want to deregister.

" - } - } - }, - "DeregisterWebhookWithThirdPartyOutput":{ - "type":"structure", - "members":{ - } - }, - "Description":{ - "type":"string", - "max":160, - "min":1 - }, - "DisableStageTransitionInput":{ - "type":"structure", - "required":[ - "pipelineName", - "stageName", - "transitionType", - "reason" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.

" - }, - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the stage where you want to disable the inbound or outbound transition of artifacts.

" - }, - "transitionType":{ - "shape":"StageTransitionType", - "documentation":"

Specifies whether artifacts will be prevented from transitioning into the stage and being processed by the actions in that stage (inbound), or prevented from transitioning from the stage after they have been processed by the actions in that stage (outbound).

" - }, - "reason":{ - "shape":"DisabledReason", - "documentation":"

The reason given to the user why a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.

" - } - }, - "documentation":"

Represents the input of a DisableStageTransition action.

" - }, - "DisabledReason":{ - "type":"string", - "max":300, - "min":1, - "pattern":"[a-zA-Z0-9!@ \\(\\)\\.\\*\\?\\-]+" - }, - "EnableStageTransitionInput":{ - "type":"structure", - "required":[ - "pipelineName", - "stageName", - "transitionType" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline in which you want to enable the flow of artifacts from one stage to another.

" - }, - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the stage where you want to enable the transition of artifacts, either into the stage (inbound) or from that stage to the next stage (outbound).

" - }, - "transitionType":{ - "shape":"StageTransitionType", - "documentation":"

Specifies whether artifacts will be allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already-processed artifacts will be allowed to transition to the next stage (outbound).

" - } - }, - "documentation":"

Represents the input of an EnableStageTransition action.

" - }, - "Enabled":{"type":"boolean"}, - "EncryptionKey":{ - "type":"structure", - "required":[ - "id", - "type" - ], - "members":{ - "id":{ - "shape":"EncryptionKeyId", - "documentation":"

The ID used to identify the key. For an AWS KMS key, this is the key ID or key ARN.

" - }, - "type":{ - "shape":"EncryptionKeyType", - "documentation":"

The type of encryption key, such as an AWS Key Management Service (AWS KMS) key. When creating or updating a pipeline, the value must be set to 'KMS'.

" - } - }, - "documentation":"

Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service (AWS KMS) key.

" - }, - "EncryptionKeyId":{ - "type":"string", - "max":100, - "min":1 - }, - "EncryptionKeyType":{ - "type":"string", - "enum":["KMS"] - }, - "ErrorDetails":{ - "type":"structure", - "members":{ - "code":{ - "shape":"Code", - "documentation":"

The system ID or error number code of the error.

" - }, - "message":{ - "shape":"Message", - "documentation":"

The text of the error message.

" - } - }, - "documentation":"

Represents information about an error in AWS CodePipeline.

" - }, - "ExecutionDetails":{ - "type":"structure", - "members":{ - "summary":{ - "shape":"ExecutionSummary", - "documentation":"

The summary of the current status of the actions.

" - }, - "externalExecutionId":{ - "shape":"ExecutionId", - "documentation":"

The system-generated unique ID of this action used to identify this job worker in any external systems, such as AWS CodeDeploy.

" - }, - "percentComplete":{ - "shape":"Percentage", - "documentation":"

The percentage of work completed on the action, represented on a scale of zero to one hundred percent.

" - } - }, - "documentation":"

The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

" - }, - "ExecutionId":{ - "type":"string", - "max":1500, - "min":1 - }, - "ExecutionSummary":{ - "type":"string", - "max":2048, - "min":1 - }, - "FailureDetails":{ - "type":"structure", - "required":[ - "type", - "message" - ], - "members":{ - "type":{ - "shape":"FailureType", - "documentation":"

The type of the failure.

" - }, - "message":{ - "shape":"Message", - "documentation":"

The message about the failure.

" - }, - "externalExecutionId":{ - "shape":"ExecutionId", - "documentation":"

The external ID of the run of the action that failed.

" - } - }, - "documentation":"

Represents information about failure details.

" - }, - "FailureType":{ - "type":"string", - "enum":[ - "JobFailed", - "ConfigurationError", - "PermissionError", - "RevisionOutOfSync", - "RevisionUnavailable", - "SystemUnavailable" - ] - }, - "GetJobDetailsInput":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID for the job.

" - } - }, - "documentation":"

Represents the input of a GetJobDetails action.

" - }, - "GetJobDetailsOutput":{ - "type":"structure", - "members":{ - "jobDetails":{ - "shape":"JobDetails", - "documentation":"

The details of the job.

If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

" - } - }, - "documentation":"

Represents the output of a GetJobDetails action.

" - }, - "GetPipelineExecutionInput":{ - "type":"structure", - "required":[ - "pipelineName", - "pipelineExecutionId" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline about which you want to get execution details.

" - }, - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the pipeline execution about which you want to get execution details.

" - } - }, - "documentation":"

Represents the input of a GetPipelineExecution action.

" - }, - "GetPipelineExecutionOutput":{ - "type":"structure", - "members":{ - "pipelineExecution":{ - "shape":"PipelineExecution", - "documentation":"

Represents information about the execution of a pipeline.

" - } - }, - "documentation":"

Represents the output of a GetPipelineExecution action.

" - }, - "GetPipelineInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline for which you want to get information. Pipeline names must be unique under an Amazon Web Services (AWS) user account.

" - }, - "version":{ - "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline. If you do not specify a version, defaults to the most current version.

" - } - }, - "documentation":"

Represents the input of a GetPipeline action.

" - }, - "GetPipelineOutput":{ - "type":"structure", - "members":{ - "pipeline":{ - "shape":"PipelineDeclaration", - "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" - }, - "metadata":{ - "shape":"PipelineMetadata", - "documentation":"

Represents the pipeline metadata information returned as part of the output of a GetPipeline action.

" - } - }, - "documentation":"

Represents the output of a GetPipeline action.

" - }, - "GetPipelineStateInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline about which you want to get information.

" - } - }, - "documentation":"

Represents the input of a GetPipelineState action.

" - }, - "GetPipelineStateOutput":{ - "type":"structure", - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline for which you want to get the state.

" - }, - "pipelineVersion":{ - "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline.

A newly-created pipeline is always assigned a version number of 1.

" - }, - "stageStates":{ - "shape":"StageStateList", - "documentation":"

A list of the pipeline stage output information, including stage name, state, most recent run details, whether the stage is disabled, and other data.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

The date and time the pipeline was created, in timestamp format.

" - }, - "updated":{ - "shape":"Timestamp", - "documentation":"

The date and time the pipeline was last updated, in timestamp format.

" - } - }, - "documentation":"

Represents the output of a GetPipelineState action.

" - }, - "GetThirdPartyJobDetailsInput":{ - "type":"structure", - "required":[ - "jobId", - "clientToken" - ], - "members":{ - "jobId":{ - "shape":"ThirdPartyJobId", - "documentation":"

The unique system-generated ID used for identifying the job.

" - }, - "clientToken":{ - "shape":"ClientToken", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" - } - }, - "documentation":"

Represents the input of a GetThirdPartyJobDetails action.

" - }, - "GetThirdPartyJobDetailsOutput":{ - "type":"structure", - "members":{ - "jobDetails":{ - "shape":"ThirdPartyJobDetails", - "documentation":"

The details of the job, including any protected values defined for the job.

" - } - }, - "documentation":"

Represents the output of a GetThirdPartyJobDetails action.

" - }, - "InputArtifact":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"ArtifactName", - "documentation":"

The name of the artifact to be worked on, for example, \"My App\".

The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

" - } - }, - "documentation":"

Represents information about an artifact to be worked on, such as a test or build artifact.

" - }, - "InputArtifactList":{ - "type":"list", - "member":{"shape":"InputArtifact"} - }, - "InvalidActionDeclarationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified action declaration was specified in an invalid format.

", - "exception":true - }, - "InvalidApprovalTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The approval request already received a response or has expired.

", - "exception":true - }, - "InvalidBlockerDeclarationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Reserved for future use.

", - "exception":true - }, - "InvalidClientTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The client token was specified in an invalid format

", - "exception":true - }, - "InvalidJobException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified job was specified in an invalid format or cannot be found.

", - "exception":true - }, - "InvalidJobStateException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified job state was specified in an invalid format.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The next token was specified in an invalid format. Make sure that the next token you provided is the token returned by a previous call.

", - "exception":true - }, - "InvalidNonceException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified nonce was specified in an invalid format.

", - "exception":true - }, - "InvalidStageDeclarationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified stage declaration was specified in an invalid format.

", - "exception":true - }, - "InvalidStructureException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified structure was specified in an invalid format.

", - "exception":true - }, - "InvalidWebhookAuthenticationParametersException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified authentication type is in an invalid format.

", - "exception":true - }, - "InvalidWebhookFilterPatternException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified event filter rule is in an invalid format.

", - "exception":true - }, - "Job":{ - "type":"structure", - "members":{ - "id":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID of the job.

" - }, - "data":{ - "shape":"JobData", - "documentation":"

Additional data about a job.

" - }, - "nonce":{ - "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeJob request.

" - }, - "accountId":{ - "shape":"AccountId", - "documentation":"

The ID of the AWS account to use when performing the job.

" - } - }, - "documentation":"

Represents information about a job.

" - }, - "JobData":{ - "type":"structure", - "members":{ - "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.

" - }, - "outputArtifacts":{ - "shape":"ArtifactList", - "documentation":"

The output of the job.

" - }, - "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", - "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.

" - }, - "JobDetails":{ - "type":"structure", - "members":{ - "id":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID of the job.

" - }, - "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.

" - } - }, - "documentation":"

Represents information about the details of a job.

" - }, - "JobId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "JobList":{ - "type":"list", - "member":{"shape":"Job"} - }, - "JobNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified job was specified in an invalid format or cannot be found.

", - "exception":true - }, - "JobStatus":{ - "type":"string", - "enum":[ - "Created", - "Queued", - "Dispatched", - "InProgress", - "TimedOut", - "Succeeded", - "Failed" - ] - }, - "JsonPath":{ - "type":"string", - "max":150, - "min":1 - }, - "LastChangedAt":{"type":"timestamp"}, - "LastChangedBy":{"type":"string"}, - "LastUpdatedBy":{"type":"string"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of pipelines associated with the AWS account has exceeded the limit allowed for the account.

", - "exception":true - }, - "ListActionTypesInput":{ - "type":"structure", - "members":{ - "actionOwnerFilter":{ - "shape":"ActionOwner", - "documentation":"

Filters the list of action types to those created by a specified entity.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list.

" - } - }, - "documentation":"

Represents the input of a ListActionTypes action.

" - }, - "ListActionTypesOutput":{ - "type":"structure", - "required":["actionTypes"], - "members":{ - "actionTypes":{ - "shape":"ActionTypeList", - "documentation":"

Provides details of the action types.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list action types call to return the next set of action types in the list.

" - } - }, - "documentation":"

Represents the output of a ListActionTypes action.

" - }, - "ListPipelineExecutionsInput":{ - "type":"structure", - "required":["pipelineName"], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline for which you want to get execution summary information.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. 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 ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

" - } - }, - "documentation":"

Represents the input of a ListPipelineExecutions action.

" - }, - "ListPipelineExecutionsOutput":{ - "type":"structure", - "members":{ - "pipelineExecutionSummaries":{ - "shape":"PipelineExecutionSummaryList", - "documentation":"

A list of executions in the history of a pipeline.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used in the next ListPipelineExecutions call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" - } - }, - "documentation":"

Represents the output of a ListPipelineExecutions action.

" - }, - "ListPipelinesInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

An identifier that was returned from the previous list pipelines call, which can be used to return the next set of pipelines in the list.

" - } - }, - "documentation":"

Represents the input of a ListPipelines action.

" - }, - "ListPipelinesOutput":{ - "type":"structure", - "members":{ - "pipelines":{ - "shape":"PipelineList", - "documentation":"

The list of pipelines.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

" - } - }, - "documentation":"

Represents the output of a ListPipelines action.

" - }, - "ListWebhookItem":{ - "type":"structure", - "required":[ - "definition", - "url" - ], - "members":{ - "definition":{ - "shape":"WebhookDefinition", - "documentation":"

The detail returned for each webhook, such as the webhook authentication type and filter rules.

" - }, - "url":{ - "shape":"WebhookUrl", - "documentation":"

A unique URL generated by CodePipeline. When a POST request is made to this URL, the defined pipeline is started as long as the body of the post request satisfies the defined authentication and filtering conditions. Deleting and re-creating a webhook will make the old URL invalid and generate a new URL.

" - }, - "errorMessage":{ - "shape":"WebhookErrorMessage", - "documentation":"

The text of the error message about the webhook.

" - }, - "errorCode":{ - "shape":"WebhookErrorCode", - "documentation":"

The number code of the error.

" - }, - "lastTriggered":{ - "shape":"WebhookLastTriggered", - "documentation":"

The date and time a webhook was last successfully triggered, in timestamp format.

" - }, - "arn":{ - "shape":"WebhookArn", - "documentation":"

The Amazon Resource Name (ARN) of the webhook.

" - } - }, - "documentation":"

The detail returned for each webhook after listing webhooks, such as the webhook URL, the webhook name, and the webhook ARN.

" - }, - "ListWebhooksInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" - } - } - }, - "ListWebhooksOutput":{ - "type":"structure", - "members":{ - "webhooks":{ - "shape":"WebhookList", - "documentation":"

The JSON detail returned for each webhook in the list output for the ListWebhooks call.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListWebhooks call to return the next set of webhooks in the list.

" - } - } - }, - "MatchEquals":{ - "type":"string", - "max":150, - "min":1 - }, - "MaxBatchSize":{ - "type":"integer", - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "MaximumArtifactCount":{ - "type":"integer", - "max":5, - "min":0 - }, - "Message":{ - "type":"string", - "max":5000, - "min":1 - }, - "MinimumArtifactCount":{ - "type":"integer", - "max":5, - "min":0 - }, - "NextToken":{ - "type":"string", - "max":2048, - "min":1 - }, - "Nonce":{ - "type":"string", - "max":50, - "min":1 - }, - "NotLatestPipelineExecutionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The stage has failed in a later run of the pipeline and the pipelineExecutionId associated with the request is out of date.

", - "exception":true - }, - "OutputArtifact":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"ArtifactName", - "documentation":"

The name of the output of an artifact, such as \"My App\".

The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

Output artifact names must be unique within a pipeline.

" - } - }, - "documentation":"

Represents information about the output of an action.

" - }, - "OutputArtifactList":{ - "type":"list", - "member":{"shape":"OutputArtifact"} - }, - "Percentage":{ - "type":"integer", - "max":100, - "min":0 - }, - "PipelineArn":{ - "type":"string", - "pattern":"arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+" - }, - "PipelineContext":{ - "type":"structure", - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline. This is a user-specified value. Pipeline names must be unique across all pipeline names under an Amazon Web Services account.

" - }, - "stage":{ - "shape":"StageContext", - "documentation":"

The stage of the pipeline.

" - }, - "action":{ - "shape":"ActionContext", - "documentation":"

The context of an action to a job worker within the stage of a pipeline.

" - } - }, - "documentation":"

Represents information about a pipeline to a job worker.

" - }, - "PipelineDeclaration":{ - "type":"structure", - "required":[ - "name", - "roleArn", - "artifactStore", - "stages" - ], - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the action to be performed.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" - }, - "artifactStore":{ - "shape":"ArtifactStore", - "documentation":"

Represents information about the Amazon S3 bucket where artifacts are stored for the pipeline.

" - }, - "stages":{ - "shape":"PipelineStageDeclarationList", - "documentation":"

The stage in which to perform the action.

" - }, - "version":{ - "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

" - } - }, - "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" - }, - "PipelineExecution":{ - "type":"structure", - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline that was executed.

" - }, - "pipelineVersion":{ - "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline that was executed.

" - }, - "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 was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead.

  • Failed: The pipeline execution was not completed successfully.

" - }, - "artifactRevisions":{ - "shape":"ArtifactRevisionList", - "documentation":"

A list of ArtifactRevision objects included in a pipeline execution.

" - } - }, - "documentation":"

Represents information about an execution of a pipeline.

" - }, - "PipelineExecutionId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "PipelineExecutionNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The pipeline execution was specified in an invalid format or cannot be found, or an execution ID does not belong to the specified pipeline.

", - "exception":true - }, - "PipelineExecutionStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Succeeded", - "Superseded", - "Failed" - ] - }, - "PipelineExecutionSummary":{ - "type":"structure", - "members":{ - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the pipeline execution.

" - }, - "status":{ - "shape":"PipelineExecutionStatus", - "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead.

  • Failed: The pipeline execution was not completed successfully.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

The date and time when the pipeline execution began, in timestamp format.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The date and time of the last change to the pipeline execution, in timestamp format.

" - }, - "sourceRevisions":{"shape":"SourceRevisionList"} - }, - "documentation":"

Summary information about a pipeline execution.

" - }, - "PipelineExecutionSummaryList":{ - "type":"list", - "member":{"shape":"PipelineExecutionSummary"} - }, - "PipelineList":{ - "type":"list", - "member":{"shape":"PipelineSummary"} - }, - "PipelineMetadata":{ - "type":"structure", - "members":{ - "pipelineArn":{ - "shape":"PipelineArn", - "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

The date and time the pipeline was created, in timestamp format.

" - }, - "updated":{ - "shape":"Timestamp", - "documentation":"

The date and time the pipeline was last updated, in timestamp format.

" - } - }, - "documentation":"

Information about a pipeline.

" - }, - "PipelineName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[A-Za-z0-9.@\\-_]+" - }, - "PipelineNameInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified pipeline name is already in use.

", - "exception":true - }, - "PipelineNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified pipeline was specified in an invalid format or cannot be found.

", - "exception":true - }, - "PipelineStageDeclarationList":{ - "type":"list", - "member":{"shape":"StageDeclaration"} - }, - "PipelineSummary":{ - "type":"structure", - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline.

" - }, - "version":{ - "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline.

" - }, - "created":{ - "shape":"Timestamp", - "documentation":"

The date and time the pipeline was created, in timestamp format.

" - }, - "updated":{ - "shape":"Timestamp", - "documentation":"

The date and time of the last update to the pipeline, in timestamp format.

" - } - }, - "documentation":"

Returns a summary of a pipeline.

" - }, - "PipelineVersion":{ - "type":"integer", - "min":1 - }, - "PipelineVersionNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified pipeline version was specified in an invalid format or cannot be found.

", - "exception":true - }, - "PollForJobsInput":{ - "type":"structure", - "required":["actionTypeId"], - "members":{ - "actionTypeId":{ - "shape":"ActionTypeId", - "documentation":"

Represents information about an action type.

" - }, - "maxBatchSize":{ - "shape":"MaxBatchSize", - "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" - }, - "queryParam":{ - "shape":"QueryParamMap", - "documentation":"

A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value will be returned.

" - } - }, - "documentation":"

Represents the input of a PollForJobs action.

" - }, - "PollForJobsOutput":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"JobList", - "documentation":"

Information about the jobs to take action on.

" - } - }, - "documentation":"

Represents the output of a PollForJobs action.

" - }, - "PollForThirdPartyJobsInput":{ - "type":"structure", - "required":["actionTypeId"], - "members":{ - "actionTypeId":{ - "shape":"ActionTypeId", - "documentation":"

Represents information about an action type.

" - }, - "maxBatchSize":{ - "shape":"MaxBatchSize", - "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" - } - }, - "documentation":"

Represents the input of a PollForThirdPartyJobs action.

" - }, - "PollForThirdPartyJobsOutput":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"ThirdPartyJobList", - "documentation":"

Information about the jobs to take action on.

" - } - }, - "documentation":"

Represents the output of a PollForThirdPartyJobs action.

" - }, - "PutActionRevisionInput":{ - "type":"structure", - "required":[ - "pipelineName", - "stageName", - "actionName", - "actionRevision" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline that will start processing the revision to the source.

" - }, - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the stage that contains the action that will act upon the revision.

" - }, - "actionName":{ - "shape":"ActionName", - "documentation":"

The name of the action that will process the revision.

" - }, - "actionRevision":{ - "shape":"ActionRevision", - "documentation":"

Represents information about the version (or revision) of an action.

" - } - }, - "documentation":"

Represents the input of a PutActionRevision action.

" - }, - "PutActionRevisionOutput":{ - "type":"structure", - "members":{ - "newRevision":{ - "shape":"Boolean", - "documentation":"

Indicates whether the artifact revision was previously used in an execution of the specified pipeline.

" - }, - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the current workflow state of the pipeline.

" - } - }, - "documentation":"

Represents the output of a PutActionRevision action.

" - }, - "PutApprovalResultInput":{ - "type":"structure", - "required":[ - "pipelineName", - "stageName", - "actionName", - "result", - "token" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline that contains the action.

" - }, - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the stage that contains the action.

" - }, - "actionName":{ - "shape":"ActionName", - "documentation":"

The name of the action for which approval is requested.

" - }, - "result":{ - "shape":"ApprovalResult", - "documentation":"

Represents information about the result of the approval request.

" - }, - "token":{ - "shape":"ApprovalToken", - "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action and is used to validate that the approval request corresponding to this token is still valid.

" - } - }, - "documentation":"

Represents the input of a PutApprovalResult action.

" - }, - "PutApprovalResultOutput":{ - "type":"structure", - "members":{ - "approvedAt":{ - "shape":"Timestamp", - "documentation":"

The timestamp showing when the approval or rejection was submitted.

" - } - }, - "documentation":"

Represents the output of a PutApprovalResult action.

" - }, - "PutJobFailureResultInput":{ - "type":"structure", - "required":[ - "jobId", - "failureDetails" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

" - }, - "failureDetails":{ - "shape":"FailureDetails", - "documentation":"

The details about the failure of a job.

" - } - }, - "documentation":"

Represents the input of a PutJobFailureResult action.

" - }, - "PutJobSuccessResultInput":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

" - }, - "currentRevision":{ - "shape":"CurrentRevision", - "documentation":"

The ID of the current revision of the artifact successfully worked upon by the job.

" - }, - "continuationToken":{ - "shape":"ContinuationToken", - "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a custom action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the custom action. When the action is complete, no continuation token should be supplied.

" - }, - "executionDetails":{ - "shape":"ExecutionDetails", - "documentation":"

The execution details of the successful job, such as the actions taken by the job worker.

" - } - }, - "documentation":"

Represents the input of a PutJobSuccessResult action.

" - }, - "PutThirdPartyJobFailureResultInput":{ - "type":"structure", - "required":[ - "jobId", - "clientToken", - "failureDetails" - ], - "members":{ - "jobId":{ - "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

" - }, - "clientToken":{ - "shape":"ClientToken", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" - }, - "failureDetails":{ - "shape":"FailureDetails", - "documentation":"

Represents information about failure details.

" - } - }, - "documentation":"

Represents the input of a PutThirdPartyJobFailureResult action.

" - }, - "PutThirdPartyJobSuccessResultInput":{ - "type":"structure", - "required":[ - "jobId", - "clientToken" - ], - "members":{ - "jobId":{ - "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

" - }, - "clientToken":{ - "shape":"ClientToken", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" - }, - "currentRevision":{ - "shape":"CurrentRevision", - "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", - "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 PutThirdPartyJobSuccessResult action.

" - }, - "PutWebhookInput":{ - "type":"structure", - "required":["webhook"], - "members":{ - "webhook":{ - "shape":"WebhookDefinition", - "documentation":"

The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name which identifies the webhook being defined. You may choose to name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later.

" - } - } - }, - "PutWebhookOutput":{ - "type":"structure", - "members":{ - "webhook":{ - "shape":"ListWebhookItem", - "documentation":"

The detail returned from creating the webhook, such as the webhook name, webhook URL, and webhook ARN.

" - } - } - }, - "QueryParamMap":{ - "type":"map", - "key":{"shape":"ActionConfigurationKey"}, - "value":{"shape":"ActionConfigurationQueryableValue"}, - "max":1, - "min":0 - }, - "RegisterWebhookWithThirdPartyInput":{ - "type":"structure", - "members":{ - "webhookName":{ - "shape":"WebhookName", - "documentation":"

The name of an existing webhook created with PutWebhook to register with a supported third party.

" - } - } - }, - "RegisterWebhookWithThirdPartyOutput":{ - "type":"structure", - "members":{ - } - }, - "RetryStageExecutionInput":{ - "type":"structure", - "required":[ - "pipelineName", - "stageName", - "pipelineExecutionId", - "retryMode" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline that contains the failed stage.

" - }, - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the failed stage to be retried.

" - }, - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of the failed stage

" - }, - "retryMode":{ - "shape":"StageRetryMode", - "documentation":"

The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.

" - } - }, - "documentation":"

Represents the input of a RetryStageExecution action.

" - }, - "RetryStageExecutionOutput":{ - "type":"structure", - "members":{ - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the current workflow execution in the failed stage.

" - } - }, - "documentation":"

Represents the output of a RetryStageExecution action.

" - }, - "Revision":{ - "type":"string", - "max":1500, - "min":1 - }, - "RevisionChangeIdentifier":{ - "type":"string", - "max":100, - "min":1 - }, - "RevisionSummary":{ - "type":"string", - "max":2048, - "min":1 - }, - "RoleArn":{ - "type":"string", - "max":1024, - "pattern":"arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/.*" - }, - "S3ArtifactLocation":{ - "type":"structure", - "required":[ - "bucketName", - "objectKey" - ], - "members":{ - "bucketName":{ - "shape":"S3BucketName", - "documentation":"

The name of the Amazon S3 bucket.

" - }, - "objectKey":{ - "shape":"S3ObjectKey", - "documentation":"

The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

" - } - }, - "documentation":"

The location of the Amazon S3 bucket that contains a revision.

" - }, - "S3BucketName":{"type":"string"}, - "S3ObjectKey":{"type":"string"}, - "SecretAccessKey":{"type":"string"}, - "SessionToken":{"type":"string"}, - "SourceRevision":{ - "type":"structure", - "required":["actionName"], - "members":{ - "actionName":{"shape":"ActionName"}, - "revisionId":{"shape":"Revision"}, - "revisionSummary":{"shape":"RevisionSummary"}, - "revisionUrl":{"shape":"Url"} - } - }, - "SourceRevisionList":{ - "type":"list", - "member":{"shape":"SourceRevision"} - }, - "StageActionDeclarationList":{ - "type":"list", - "member":{"shape":"ActionDeclaration"} - }, - "StageBlockerDeclarationList":{ - "type":"list", - "member":{"shape":"BlockerDeclaration"} - }, - "StageContext":{ - "type":"structure", - "members":{ - "name":{ - "shape":"StageName", - "documentation":"

The name of the stage.

" - } - }, - "documentation":"

Represents information about a stage to a job worker.

" - }, - "StageDeclaration":{ - "type":"structure", - "required":[ - "name", - "actions" - ], - "members":{ - "name":{ - "shape":"StageName", - "documentation":"

The name of the stage.

" - }, - "blockers":{ - "shape":"StageBlockerDeclarationList", - "documentation":"

Reserved for future use.

" - }, - "actions":{ - "shape":"StageActionDeclarationList", - "documentation":"

The actions included in a stage.

" - } - }, - "documentation":"

Represents information about a stage and its definition.

" - }, - "StageExecution":{ - "type":"structure", - "required":[ - "pipelineExecutionId", - "status" - ], - "members":{ - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The ID of the pipeline execution associated with the stage.

" - }, - "status":{ - "shape":"StageExecutionStatus", - "documentation":"

The status of the stage, or for a completed stage, the last status of the stage.

" - } - }, - "documentation":"

Represents information about the run of a stage.

" - }, - "StageExecutionStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Failed", - "Succeeded" - ] - }, - "StageName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[A-Za-z0-9.@\\-_]+" - }, - "StageNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified stage was specified in an invalid format or cannot be found.

", - "exception":true - }, - "StageNotRetryableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified stage can't be retried because the pipeline structure or stage state changed after the stage was not completed; the stage contains no failed actions; one or more actions are still in progress; or another retry attempt is already in progress.

", - "exception":true - }, - "StageRetryMode":{ - "type":"string", - "enum":["FAILED_ACTIONS"] - }, - "StageState":{ - "type":"structure", - "members":{ - "stageName":{ - "shape":"StageName", - "documentation":"

The name of the stage.

" - }, - "inboundTransitionState":{ - "shape":"TransitionState", - "documentation":"

The state of the inbound transition, which is either enabled or disabled.

" - }, - "actionStates":{ - "shape":"ActionStateList", - "documentation":"

The state of the stage.

" - }, - "latestExecution":{ - "shape":"StageExecution", - "documentation":"

Information about the latest execution in the stage, including its ID and status.

" - } - }, - "documentation":"

Represents information about the state of the stage.

" - }, - "StageStateList":{ - "type":"list", - "member":{"shape":"StageState"} - }, - "StageTransitionType":{ - "type":"string", - "enum":[ - "Inbound", - "Outbound" - ] - }, - "StartPipelineExecutionInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline to start.

" - } - }, - "documentation":"

Represents the input of a StartPipelineExecution action.

" - }, - "StartPipelineExecutionOutput":{ - "type":"structure", - "members":{ - "pipelineExecutionId":{ - "shape":"PipelineExecutionId", - "documentation":"

The unique system-generated ID of the pipeline execution that was started.

" - } - }, - "documentation":"

Represents the output of a StartPipelineExecution action.

" - }, - "ThirdPartyJob":{ - "type":"structure", - "members":{ - "clientId":{ - "shape":"ClientId", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The identifier used to identify the job in AWS CodePipeline.

" - } - }, - "documentation":"

A response to a PollForThirdPartyJobs request returned by AWS CodePipeline when there is a job to be worked upon by a partner action.

" - }, - "ThirdPartyJobData":{ - "type":"structure", - "members":{ - "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.

" - }, - "outputArtifacts":{ - "shape":"ArtifactList", - "documentation":"

The name of the artifact that will be the result of the action, if any. This name might be system-generated, such as \"MyBuiltApp\", or might be defined by the user when the action is created.

" - }, - "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", - "documentation":"

The encryption key used to encrypt and decrypt data in the artifact store for the pipeline, such as an AWS Key Management Service (AWS KMS) key. This is optional and might not be present.

" - } - }, - "documentation":"

Represents information about the job data for a partner action.

" - }, - "ThirdPartyJobDetails":{ - "type":"structure", - "members":{ - "id":{ - "shape":"ThirdPartyJobId", - "documentation":"

The identifier used to identify the job details in AWS CodePipeline.

" - }, - "data":{ - "shape":"ThirdPartyJobData", - "documentation":"

The data to be returned by the third party job worker.

" - }, - "nonce":{ - "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeThirdPartyJob request.

" - } - }, - "documentation":"

The details of a job sent in response to a GetThirdPartyJobDetails request.

" - }, - "ThirdPartyJobId":{ - "type":"string", - "max":512, - "min":1 - }, - "ThirdPartyJobList":{ - "type":"list", - "member":{"shape":"ThirdPartyJob"} - }, - "Time":{"type":"timestamp"}, - "Timestamp":{"type":"timestamp"}, - "TransitionState":{ - "type":"structure", - "members":{ - "enabled":{ - "shape":"Enabled", - "documentation":"

Whether the transition between stages is enabled (true) or disabled (false).

" - }, - "lastChangedBy":{ - "shape":"LastChangedBy", - "documentation":"

The ID of the user who last changed the transition state.

" - }, - "lastChangedAt":{ - "shape":"LastChangedAt", - "documentation":"

The timestamp when the transition state was last changed.

" - }, - "disabledReason":{ - "shape":"DisabledReason", - "documentation":"

The user-specified reason why the transition between two stages of a pipeline was disabled.

" - } - }, - "documentation":"

Represents information about the state of transitions between one stage and another stage.

" - }, - "UpdatePipelineInput":{ - "type":"structure", - "required":["pipeline"], - "members":{ - "pipeline":{ - "shape":"PipelineDeclaration", - "documentation":"

The name of the pipeline to be updated.

" - } - }, - "documentation":"

Represents the input of an UpdatePipeline action.

" - }, - "UpdatePipelineOutput":{ - "type":"structure", - "members":{ - "pipeline":{ - "shape":"PipelineDeclaration", - "documentation":"

The structure of the updated pipeline.

" - } - }, - "documentation":"

Represents the output of an UpdatePipeline action.

" - }, - "Url":{ - "type":"string", - "max":2048, - "min":1 - }, - "UrlTemplate":{ - "type":"string", - "max":2048, - "min":1 - }, - "ValidationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The validation was specified in an invalid format.

", - "exception":true - }, - "Version":{ - "type":"string", - "max":9, - "min":1, - "pattern":"[0-9A-Za-z_-]+" - }, - "WebhookArn":{"type":"string"}, - "WebhookAuthConfiguration":{ - "type":"structure", - "members":{ - "AllowedIPRange":{"shape":"WebhookAuthConfigurationAllowedIPRange"}, - "SecretToken":{"shape":"WebhookAuthConfigurationSecretToken"} - } - }, - "WebhookAuthConfigurationAllowedIPRange":{ - "type":"string", - "max":100, - "min":1 - }, - "WebhookAuthConfigurationSecretToken":{ - "type":"string", - "max":100, - "min":1 - }, - "WebhookAuthenticationType":{ - "type":"string", - "enum":[ - "GITHUB_HMAC", - "IP", - "UNAUTHENTICATED" - ] - }, - "WebhookDefinition":{ - "type":"structure", - "required":[ - "name", - "targetPipeline", - "targetAction", - "filters", - "authentication", - "authenticationConfiguration" - ], - "members":{ - "name":{ - "shape":"WebhookName", - "documentation":"

The name of the webhook.

" - }, - "targetPipeline":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline you want to connect to the webhook.

" - }, - "targetAction":{ - "shape":"ActionName", - "documentation":"

The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.

" - }, - "filters":{ - "shape":"WebhookFilters", - "documentation":"

A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.

" - }, - "authentication":{ - "shape":"WebhookAuthenticationType", - "documentation":"

Supported options are GITHUB_HMAC, IP and UNAUTHENTICATED.

  • GITHUB_HMAC implements the authentication scheme described here: https://developer.github.com/webhooks/securing/

  • IP will reject webhooks trigger requests unless they originate from an IP within the IP range whitelisted in the authentication configuration.

  • UNAUTHENTICATED will accept all webhook trigger requests regardless of origin.

" - }, - "authenticationConfiguration":{ - "shape":"WebhookAuthConfiguration", - "documentation":"

Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.

" - } - }, - "documentation":"

Represents information about a webhook and its definition.

" - }, - "WebhookErrorCode":{"type":"string"}, - "WebhookErrorMessage":{"type":"string"}, - "WebhookFilterRule":{ - "type":"structure", - "required":["jsonPath"], - "members":{ - "jsonPath":{ - "shape":"JsonPath", - "documentation":"

A JsonPath expression that will be applied to the body/payload of the webhook. The value selected by JsonPath expression must match the value specified in the matchEquals field, otherwise the request will be ignored. More information on JsonPath expressions can be found here: https://github.com/json-path/JsonPath.

" - }, - "matchEquals":{ - "shape":"MatchEquals", - "documentation":"

The value selected by the JsonPath expression must match what is supplied in the MatchEquals field, otherwise the request will be ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly braces. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"master\", the MatchEquals value will be evaluated as \"refs/heads/master\". A list of action configuration properties for built-in action types can be found here: Pipeline Structure Reference Action Requirements.

" - } - }, - "documentation":"

The event criteria that specify when a webhook notification is sent to your URL.

" - }, - "WebhookFilters":{ - "type":"list", - "member":{"shape":"WebhookFilterRule"}, - "max":5 - }, - "WebhookLastTriggered":{"type":"timestamp"}, - "WebhookList":{ - "type":"list", - "member":{"shape":"ListWebhookItem"} - }, - "WebhookName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[A-Za-z0-9.@\\-_]+" - }, - "WebhookNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified webhook was entered in an invalid format or cannot be found.

", - "exception":true - }, - "WebhookUrl":{ - "type":"string", - "max":1000, - "min":1 - } - }, - "documentation":"AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are:

  • Source

  • Build

  • Test

  • Deploy

  • Approval

  • Invoke

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/service-2.json deleted file mode 100644 index 2c53e815..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/codestar/2017-04-19/service-2.json +++ /dev/null @@ -1,1212 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-04-19", - "endpointPrefix":"codestar", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"CodeStar", - "serviceFullName":"AWS CodeStar", - "serviceId":"CodeStar", - "signatureVersion":"v4", - "targetPrefix":"CodeStar_20170419", - "uid":"codestar-2017-04-19" - }, - "operations":{ - "AssociateTeamMember":{ - "name":"AssociateTeamMember", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateTeamMemberRequest"}, - "output":{"shape":"AssociateTeamMemberResult"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ProjectNotFoundException"}, - {"shape":"TeamMemberAlreadyAssociatedException"}, - {"shape":"ValidationException"}, - {"shape":"InvalidServiceRoleException"}, - {"shape":"ProjectConfigurationException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds an IAM user to the team for an AWS CodeStar project.

" - }, - "CreateProject":{ - "name":"CreateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProjectRequest"}, - "output":{"shape":"CreateProjectResult"}, - "errors":[ - {"shape":"ProjectAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ValidationException"}, - {"shape":"ProjectCreationFailedException"}, - {"shape":"InvalidServiceRoleException"}, - {"shape":"ProjectConfigurationException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

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.

" - }, - "ListTagsForProject":{ - "name":"ListTagsForProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForProjectRequest"}, - "output":{"shape":"ListTagsForProjectResult"}, - "errors":[ - {"shape":"ProjectNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Gets the tags for a project.

" - }, - "ListTeamMembers":{ - "name":"ListTeamMembers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTeamMembersRequest"}, - "output":{"shape":"ListTeamMembersResult"}, - "errors":[ - {"shape":"ProjectNotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Lists all team members associated with a project.

" - }, - "ListUserProfiles":{ - "name":"ListUserProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUserProfilesRequest"}, - "output":{"shape":"ListUserProfilesResult"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Lists all the user profiles configured for your AWS account in AWS CodeStar.

" - }, - "TagProject":{ - "name":"TagProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagProjectRequest"}, - "output":{"shape":"TagProjectResult"}, - "errors":[ - {"shape":"ProjectNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds tags to a project.

" - }, - "UntagProject":{ - "name":"UntagProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagProjectRequest"}, - "output":{"shape":"UntagProjectResult"}, - "errors":[ - {"shape":"ProjectNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Removes tags from a project.

" - }, - "UpdateProject":{ - "name":"UpdateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProjectRequest"}, - "output":{"shape":"UpdateProjectResult"}, - "errors":[ - {"shape":"ProjectNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Updates a project in AWS CodeStar.

" - }, - "UpdateTeamMember":{ - "name":"UpdateTeamMember", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTeamMemberRequest"}, - "output":{"shape":"UpdateTeamMemberResult"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ProjectNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"InvalidServiceRoleException"}, - {"shape":"ProjectConfigurationException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"TeamMemberNotFoundException"} - ], - "documentation":"

Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.

" - }, - "UpdateUserProfile":{ - "name":"UpdateUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserProfileRequest"}, - "output":{"shape":"UpdateUserProfileResult"}, - "errors":[ - {"shape":"UserProfileNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" - } - }, - "shapes":{ - "AssociateTeamMemberRequest":{ - "type":"structure", - "required":[ - "projectId", - "userArn", - "projectRole" - ], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

The ID of the project to which you will add the IAM user.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.

" - }, - "projectRole":{ - "shape":"Role", - "documentation":"

The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.

" - }, - "remoteAccessAllowed":{ - "shape":"RemoteAccessAllowed", - "documentation":"

Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances.

", - "box":true - } - } - }, - "AssociateTeamMemberResult":{ - "type":"structure", - "members":{ - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

The user- or system-generated token from the initial request that can be used to repeat the request.

" - } - } - }, - "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-.+]+$", - "sensitive":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The next token is not valid.

", - "exception":true - }, - "InvalidServiceRoleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The service role is not valid.

", - "exception":true - }, - "LastModifiedTimestamp":{"type":"timestamp"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A resource limit has been exceeded.

", - "exception":true - }, - "ListProjectsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token to be used to return the next set of results, if the results cannot be returned in one response.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum amount of data that can be contained in a single set of results.

", - "box":true - } - } - }, - "ListProjectsResult":{ - "type":"structure", - "required":["projects"], - "members":{ - "projects":{ - "shape":"ProjectsList", - "documentation":"

A list of projects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" - } - } - }, - "ListResourcesRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

The ID of the project.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum amount of data that can be contained in a single set of results.

", - "box":true - } - } - }, - "ListResourcesResult":{ - "type":"structure", - "members":{ - "resources":{ - "shape":"ResourcesResult", - "documentation":"

An array of resources associated with the project.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" - } - } - }, - "ListTagsForProjectRequest":{ - "type":"structure", - "required":["id"], - "members":{ - "id":{ - "shape":"ProjectId", - "documentation":"

The ID of the project to get tags for.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

Reserved for future use.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Reserved for future use.

", - "box":true - } - } - }, - "ListTagsForProjectResult":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"Tags", - "documentation":"

The tags for the project.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

Reserved for future use.

" - } - } - }, - "ListTeamMembersRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

The ID of the project for which you want to list team members.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of team members you want returned in a response.

", - "box":true - } - } - }, - "ListTeamMembersResult":{ - "type":"structure", - "required":["teamMembers"], - "members":{ - "teamMembers":{ - "shape":"TeamMemberResult", - "documentation":"

A list of team member objects for the project.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" - } - } - }, - "ListUserProfilesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a response.

", - "box":true - } - } - }, - "ListUserProfilesResult":{ - "type":"structure", - "required":["userProfiles"], - "members":{ - "userProfiles":{ - "shape":"UserProfilesList", - "documentation":"

All the user profiles configured in AWS CodeStar for an AWS account.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "PaginationToken":{ - "type":"string", - "max":512, - "min":1, - "pattern":"^[\\w/+=]+$" - }, - "ProjectAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An AWS CodeStar project with the same ID already exists in this region for the AWS account. AWS CodeStar project IDs must be unique within a region for the AWS account.

", - "exception":true - }, - "ProjectArn":{ - "type":"string", - "pattern":"^arn:aws[^:\\s]*:codestar:[^:\\s]+:[0-9]{12}:project\\/[a-z]([a-z0-9|-])+$" - }, - "ProjectConfigurationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Project configuration information is required but not specified.

", - "exception":true - }, - "ProjectCreationFailedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The project creation request was valid, but a nonspecific exception or error occurred during project creation. The project could not be created in AWS CodeStar.

", - "exception":true - }, - "ProjectDescription":{ - "type":"string", - "max":1024, - "pattern":"^$|^\\S(.*\\S)?$", - "sensitive":true - }, - "ProjectId":{ - "type":"string", - "max":15, - "min":2, - "pattern":"^[a-z][a-z0-9-]+$" - }, - "ProjectName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^\\S(.*\\S)?$", - "sensitive":true - }, - "ProjectNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified AWS CodeStar project was not found.

", - "exception":true - }, - "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]+$" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagProjectRequest":{ - "type":"structure", - "required":[ - "id", - "tags" - ], - "members":{ - "id":{ - "shape":"ProjectId", - "documentation":"

The ID of the project you want to add a tag to.

" - }, - "tags":{ - "shape":"Tags", - "documentation":"

The tags you want to add to the project.

" - } - } - }, - "TagProjectResult":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"Tags", - "documentation":"

The tags for the project.

" - } - } - }, - "TagValue":{ - "type":"string", - "max":256, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"} - }, - "TeamMember":{ - "type":"structure", - "required":[ - "userArn", - "projectRole" - ], - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" - }, - "projectRole":{ - "shape":"Role", - "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" - }, - "remoteAccessAllowed":{ - "shape":"RemoteAccessAllowed", - "documentation":"

Whether the user is allowed to remotely access project resources using an SSH public/private key pair.

", - "box":true - } - }, - "documentation":"

Information about a team member in a project.

" - }, - "TeamMemberAlreadyAssociatedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The team member is already associated with a role in this project.

", - "exception":true - }, - "TeamMemberNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified team member was not found.

", - "exception":true - }, - "TeamMemberResult":{ - "type":"list", - "member":{"shape":"TeamMember"} - }, - "UntagProjectRequest":{ - "type":"structure", - "required":[ - "id", - "tags" - ], - "members":{ - "id":{ - "shape":"ProjectId", - "documentation":"

The ID of the project to remove tags from.

" - }, - "tags":{ - "shape":"TagKeys", - "documentation":"

The tags to remove from the project.

" - } - } - }, - "UntagProjectResult":{ - "type":"structure", - "members":{ - } - }, - "UpdateProjectRequest":{ - "type":"structure", - "required":["id"], - "members":{ - "id":{ - "shape":"ProjectId", - "documentation":"

The ID of the project you want to update.

" - }, - "name":{ - "shape":"ProjectName", - "documentation":"

The name of the project you want to update.

" - }, - "description":{ - "shape":"ProjectDescription", - "documentation":"

The description of the project, if any.

" - } - } - }, - "UpdateProjectResult":{ - "type":"structure", - "members":{ - } - }, - "UpdateTeamMemberRequest":{ - "type":"structure", - "required":[ - "projectId", - "userArn" - ], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

The ID of the project.

" - }, - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.

" - }, - "projectRole":{ - "shape":"Role", - "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" - }, - "remoteAccessAllowed":{ - "shape":"RemoteAccessAllowed", - "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.

", - "box":true - } - } - }, - "UpdateTeamMemberResult":{ - "type":"structure", - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the user whose team membership attributes were updated.

" - }, - "projectRole":{ - "shape":"Role", - "documentation":"

The project role granted to the user.

" - }, - "remoteAccessAllowed":{ - "shape":"RemoteAccessAllowed", - "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile.

", - "box":true - } - } - }, - "UpdateUserProfileRequest":{ - "type":"structure", - "required":["userArn"], - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The name that will be displayed as the friendly name for the user in AWS CodeStar.

" - }, - "displayName":{ - "shape":"UserProfileDisplayName", - "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" - }, - "emailAddress":{ - "shape":"Email", - "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" - }, - "sshPublicKey":{ - "shape":"SshPublicKey", - "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" - } - } - }, - "UpdateUserProfileResult":{ - "type":"structure", - "required":["userArn"], - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" - }, - "displayName":{ - "shape":"UserProfileDisplayName", - "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" - }, - "emailAddress":{ - "shape":"Email", - "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" - }, - "sshPublicKey":{ - "shape":"SshPublicKey", - "documentation":"

The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.

" - }, - "createdTimestamp":{ - "shape":"CreatedTimestamp", - "documentation":"

The date the user profile was created, in timestamp format.

" - }, - "lastModifiedTimestamp":{ - "shape":"LastModifiedTimestamp", - "documentation":"

The date the user profile was last modified, in timestamp format.

" - } - } - }, - "UserArn":{ - "type":"string", - "max":95, - "min":32, - "pattern":"^arn:aws:iam::\\d{12}:user(?:(\\u002F)|(\\u002F[\\u0021-\\u007E]+\\u002F))[\\w+=,.@-]+$" - }, - "UserProfileAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A user profile with that name already exists in this region for the AWS account. AWS CodeStar user profile names must be unique within a region for the AWS account.

", - "exception":true - }, - "UserProfileDisplayName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^\\S(.*\\S)?$" - }, - "UserProfileNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The user profile was not found.

", - "exception":true - }, - "UserProfileSummary":{ - "type":"structure", - "members":{ - "userArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" - }, - "displayName":{ - "shape":"UserProfileDisplayName", - "documentation":"

The display name of a user in AWS CodeStar. For example, this could be set to both first and last name (\"Mary Major\") or a single name (\"Mary\"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example \"Mary Jane Major\") would generate an initial icon using the first character and the first character after the space (\"MJ\", not \"MM\").

" - }, - "emailAddress":{ - "shape":"Email", - "documentation":"

The email address associated with the user.

" - }, - "sshPublicKey":{ - "shape":"SshPublicKey", - "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" - } - }, - "documentation":"

Information about a user's profile in AWS CodeStar.

" - }, - "UserProfilesList":{ - "type":"list", - "member":{"shape":"UserProfileSummary"} - }, - "ValidationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified input is either not valid, or it could not be validated.

", - "exception":true - } - }, - "documentation":"AWS CodeStar

This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.

You can use the AWS CodeStar API to work with:

Projects and their resources, by calling the following:

  • DeleteProject, which deletes a project.

  • DescribeProject, which lists the attributes of a project.

  • ListProjects, which lists all projects associated with your AWS account.

  • ListResources, which lists the resources associated with a project.

  • ListTagsForProject, which lists the tags associated with a project.

  • TagProject, which adds tags to a project.

  • UntagProject, which removes tags from a project.

  • UpdateProject, which updates the attributes of a project.

Teams and team members, by calling the following:

  • AssociateTeamMember, which adds an IAM user to the team for a project.

  • DisassociateTeamMember, which removes an IAM user from the team for a project.

  • ListTeamMembers, which lists all the IAM users in the team for a project, including their roles and attributes.

  • UpdateTeamMember, which updates a team member's attributes in a project.

Users, by calling the following:

  • CreateUserProfile, which creates a user profile that contains data associated with the user across all projects.

  • DeleteUserProfile, which deletes all user profile information across all projects.

  • DescribeUserProfile, which describes the profile of a user.

  • ListUserProfiles, which lists all user profiles.

  • UpdateUserProfile, which updates the profile for a user.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/service-2.json deleted file mode 100644 index 2b255458..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-identity/2014-06-30/service-2.json +++ /dev/null @@ -1,1341 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-06-30", - "endpointPrefix":"cognito-identity", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Cognito Identity", - "serviceId":"Cognito Identity", - "signatureVersion":"v4", - "targetPrefix":"AWSCognitoIdentityService", - "uid":"cognito-identity-2014-06-30" - }, - "operations":{ - "CreateIdentityPool":{ - "name":"CreateIdentityPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIdentityPoolInput"}, - "output":{"shape":"IdentityPool"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The limit on identity pools is 60 per account. The keys for SupportedLoginProviders are as follows:

  • Facebook: graph.facebook.com

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

You must use AWS Developer credentials to call this API.

" - }, - "DeleteIdentities":{ - "name":"DeleteIdentities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIdentitiesInput"}, - "output":{"shape":"DeleteIdentitiesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete.

You must use AWS Developer credentials to call this API.

" - }, - "DeleteIdentityPool":{ - "name":"DeleteIdentityPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIdentityPoolInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes a user pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

" - }, - "DescribeIdentity":{ - "name":"DescribeIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityInput"}, - "output":{"shape":"IdentityDescription"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns metadata related to the given identity, including when the identity was created and any associated linked logins.

You must use AWS Developer credentials to call this API.

" - }, - "DescribeIdentityPool":{ - "name":"DescribeIdentityPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityPoolInput"}, - "output":{"shape":"IdentityPool"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users.

You must use AWS Developer credentials to call this API.

" - }, - "GetCredentialsForIdentity":{ - "name":"GetCredentialsForIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCredentialsForIdentityInput"}, - "output":{"shape":"GetCredentialsForIdentityResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidIdentityPoolConfigurationException"}, - {"shape":"InternalErrorException"}, - {"shape":"ExternalServiceException"} - ], - "documentation":"

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token.

This is a public API. You do not need any credentials to call this API.

" - }, - "GetId":{ - "name":"GetId", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdInput"}, - "output":{"shape":"GetIdResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"LimitExceededException"}, - {"shape":"ExternalServiceException"} - ], - "documentation":"

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account.

This is a public API. You do not need any credentials to call this API.

" - }, - "GetIdentityPoolRoles":{ - "name":"GetIdentityPoolRoles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityPoolRolesInput"}, - "output":{"shape":"GetIdentityPoolRolesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the roles for an identity pool.

You must use AWS Developer credentials to call this API.

" - }, - "GetOpenIdToken":{ - "name":"GetOpenIdToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOpenIdTokenInput"}, - "output":{"shape":"GetOpenIdTokenResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"ExternalServiceException"} - ], - "documentation":"

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 15 minutes.

This is a public API. You do not need any credentials to call this API.

" - }, - "GetOpenIdTokenForDeveloperIdentity":{ - "name":"GetOpenIdTokenForDeveloperIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOpenIdTokenForDeveloperIdentityInput"}, - "output":{"shape":"GetOpenIdTokenForDeveloperIdentityResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"DeveloperUserAlreadyRegisteredException"} - ], - "documentation":"

Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the \"domain\" by which Cognito will refer to your users.

You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId.

You must use AWS Developer credentials to call this API.

" - }, - "ListIdentities":{ - "name":"ListIdentities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIdentitiesInput"}, - "output":{"shape":"ListIdentitiesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the identities in a pool.

You must use AWS Developer credentials to call this API.

" - }, - "ListIdentityPools":{ - "name":"ListIdentityPools", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIdentityPoolsInput"}, - "output":{"shape":"ListIdentityPoolsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

" - }, - "LookupDeveloperIdentity":{ - "name":"LookupDeveloperIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LookupDeveloperIdentityInput"}, - "output":{"shape":"LookupDeveloperIdentityResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifiers associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

You must use AWS Developer credentials to call this API.

" - }, - "MergeDeveloperIdentities":{ - "name":"MergeDeveloperIdentities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MergeDeveloperIdentitiesInput"}, - "output":{"shape":"MergeDeveloperIdentitiesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

You must use AWS Developer credentials to call this API.

" - }, - "SetIdentityPoolRoles":{ - "name":"SetIdentityPoolRoles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityPoolRolesInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

" - }, - "UnlinkDeveloperIdentity":{ - "name":"UnlinkDeveloperIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnlinkDeveloperIdentityInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible.

You must use AWS Developer credentials to call this API.

" - }, - "UnlinkIdentity":{ - "name":"UnlinkIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnlinkIdentityInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"ExternalServiceException"} - ], - "documentation":"

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

" - }, - "UpdateIdentityPool":{ - "name":"UpdateIdentityPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IdentityPool"}, - "output":{"shape":"IdentityPool"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Updates a user pool.

You must use AWS Developer credentials to call this API.

" - } - }, - "shapes":{ - "ARNString":{ - "type":"string", - "max":2048, - "min":20 - }, - "AccessKeyString":{"type":"string"}, - "AccountId":{ - "type":"string", - "max":15, - "min":1, - "pattern":"\\d+" - }, - "AmbiguousRoleResolutionType":{ - "type":"string", - "enum":[ - "AuthenticatedRole", - "Deny" - ] - }, - "ClaimName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "ClaimValue":{ - "type":"string", - "max":128, - "min":1 - }, - "CognitoIdentityProvider":{ - "type":"structure", - "members":{ - "ProviderName":{ - "shape":"CognitoIdentityProviderName", - "documentation":"

The provider name for an Amazon Cognito Identity User Pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

" - }, - "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.

" - }, - "CognitoIdentityProviderClientId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w_]+" - }, - "CognitoIdentityProviderList":{ - "type":"list", - "member":{"shape":"CognitoIdentityProvider"} - }, - "CognitoIdentityProviderName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w._:/-]+" - }, - "CognitoIdentityProviderTokenCheck":{"type":"boolean"}, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a ConcurrentModificationException.

" - } - }, - "documentation":"

Thrown if there are parallel requests to modify a resource.

", - "exception":true - }, - "CreateIdentityPoolInput":{ - "type":"structure", - "required":[ - "IdentityPoolName", - "AllowUnauthenticatedIdentities" - ], - "members":{ - "IdentityPoolName":{ - "shape":"IdentityPoolName", - "documentation":"

A string that you provide.

" - }, - "AllowUnauthenticatedIdentities":{ - "shape":"IdentityPoolUnauthenticated", - "documentation":"

TRUE if the identity pool supports unauthenticated logins.

" - }, - "SupportedLoginProviders":{ - "shape":"IdentityProviders", - "documentation":"

Optional key:value pairs mapping provider names to provider app IDs.

" - }, - "DeveloperProviderName":{ - "shape":"DeveloperProviderName", - "documentation":"

The \"domain\" by which Cognito will refer to your users. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-).

Once you have set a developer provider name, you cannot change it. Please take care in setting this parameter.

" - }, - "OpenIdConnectProviderARNs":{ - "shape":"OIDCProviderList", - "documentation":"

A list of OpendID Connect provider ARNs.

" - }, - "CognitoIdentityProviders":{ - "shape":"CognitoIdentityProviderList", - "documentation":"

An array of Amazon Cognito Identity user pools and their client IDs.

" - }, - "SamlProviderARNs":{ - "shape":"SAMLProviderList", - "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" - } - }, - "documentation":"

Input to the CreateIdentityPool action.

" - }, - "Credentials":{ - "type":"structure", - "members":{ - "AccessKeyId":{ - "shape":"AccessKeyString", - "documentation":"

The Access Key portion of the credentials.

" - }, - "SecretKey":{ - "shape":"SecretKeyString", - "documentation":"

The Secret Access Key portion of the credentials

" - }, - "SessionToken":{ - "shape":"SessionTokenString", - "documentation":"

The Session Token portion of the credentials

" - }, - "Expiration":{ - "shape":"DateType", - "documentation":"

The date at which these credentials will expire.

" - } - }, - "documentation":"

Credentials for the provided identity ID.

" - }, - "DateType":{"type":"timestamp"}, - "DeleteIdentitiesInput":{ - "type":"structure", - "required":["IdentityIdsToDelete"], - "members":{ - "IdentityIdsToDelete":{ - "shape":"IdentityIdList", - "documentation":"

A list of 1-60 identities that you want to delete.

" - } - }, - "documentation":"

Input to the DeleteIdentities action.

" - }, - "DeleteIdentitiesResponse":{ - "type":"structure", - "members":{ - "UnprocessedIdentityIds":{ - "shape":"UnprocessedIdentityIdList", - "documentation":"

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and IdentityId.

" - } - }, - "documentation":"

Returned in response to a successful DeleteIdentities operation.

" - }, - "DeleteIdentityPoolInput":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - } - }, - "documentation":"

Input to the DeleteIdentityPool action.

" - }, - "DescribeIdentityInput":{ - "type":"structure", - "required":["IdentityId"], - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - } - }, - "documentation":"

Input to the DescribeIdentity action.

" - }, - "DescribeIdentityPoolInput":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - } - }, - "documentation":"

Input to the DescribeIdentityPool action.

" - }, - "DeveloperProviderName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w._-]+" - }, - "DeveloperUserAlreadyRegisteredException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

This developer user identifier is already registered with Cognito.

" - } - }, - "documentation":"

The provided developer user identifier is already registered with Cognito under a different identity ID.

", - "exception":true - }, - "DeveloperUserIdentifier":{ - "type":"string", - "max":1024, - "min":1 - }, - "DeveloperUserIdentifierList":{ - "type":"list", - "member":{"shape":"DeveloperUserIdentifier"} - }, - "ErrorCode":{ - "type":"string", - "enum":[ - "AccessDenied", - "InternalServerError" - ] - }, - "ExternalServiceException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by an ExternalServiceException

" - } - }, - "documentation":"

An exception thrown when a dependent service such as Facebook or Twitter is not responding

", - "exception":true - }, - "GetCredentialsForIdentityInput":{ - "type":"structure", - "required":["IdentityId"], - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" - }, - "CustomRoleArn":{ - "shape":"ARNString", - "documentation":"

The Amazon Resource Name (ARN) of the role to be assumed when multiple roles were received in the token from the identity provider. For example, a SAML-based identity provider. This parameter is optional for identity providers that do not support role customization.

" - } - }, - "documentation":"

Input to the GetCredentialsForIdentity action.

" - }, - "GetCredentialsForIdentityResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Credentials":{ - "shape":"Credentials", - "documentation":"

Credentials for the provided identity ID.

" - } - }, - "documentation":"

Returned in response to a successful GetCredentialsForIdentity operation.

" - }, - "GetIdInput":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

A standard AWS account ID (9+ digits).

" - }, - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com

  • Amazon Cognito Identity Provider: cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

" - } - }, - "documentation":"

Input to the GetId action.

" - }, - "GetIdResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - } - }, - "documentation":"

Returned in response to a GetId request.

" - }, - "GetIdentityPoolRolesInput":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - } - }, - "documentation":"

Input to the GetIdentityPoolRoles action.

" - }, - "GetIdentityPoolRolesResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "Roles":{ - "shape":"RolesMap", - "documentation":"

The map of roles associated with this pool. Currently only authenticated and unauthenticated roles are supported.

" - }, - "RoleMappings":{ - "shape":"RoleMappingMap", - "documentation":"

How users for a specific identity provider are to mapped to roles. This is a String-to-RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

" - } - }, - "documentation":"

Returned in response to a successful GetIdentityPoolRoles operation.

" - }, - "GetOpenIdTokenForDeveloperIdentityInput":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "Logins" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. Each name-value pair represents a user from a public provider or developer provider. If the user is from a developer provider, the name-value pair will follow the syntax \"developer_provider_name\": \"developer_user_identifier\". The developer provider is the \"domain\" by which Cognito will refer to your users; you provided this domain while creating/updating the identity pool. The developer user identifier is an identifier from your backend that uniquely identifies a user. When you create an identity pool, you can specify the supported logins.

" - }, - "TokenDuration":{ - "shape":"TokenDuration", - "documentation":"

The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration.

" - } - }, - "documentation":"

Input to the GetOpenIdTokenForDeveloperIdentity action.

" - }, - "GetOpenIdTokenForDeveloperIdentityResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Token":{ - "shape":"OIDCToken", - "documentation":"

An OpenID token.

" - } - }, - "documentation":"

Returned in response to a successful GetOpenIdTokenForDeveloperIdentity request.

" - }, - "GetOpenIdTokenInput":{ - "type":"structure", - "required":["IdentityId"], - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito Identity Provider, or any other OpenId Connect provider, always include the id_token.

" - } - }, - "documentation":"

Input to the GetOpenIdToken action.

" - }, - "GetOpenIdTokenResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID. Note that the IdentityId returned may not match the one passed on input.

" - }, - "Token":{ - "shape":"OIDCToken", - "documentation":"

An OpenID token, valid for 15 minutes.

" - } - }, - "documentation":"

Returned in response to a successful GetOpenIdToken request.

" - }, - "HideDisabled":{"type":"boolean"}, - "IdentitiesList":{ - "type":"list", - "member":{"shape":"IdentityDescription"} - }, - "IdentityDescription":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsList", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

Date on which the identity was created.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

Date on which the identity was last modified.

" - } - }, - "documentation":"

A description of the identity.

" - }, - "IdentityId":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+:[0-9a-f-]+" - }, - "IdentityIdList":{ - "type":"list", - "member":{"shape":"IdentityId"}, - "max":60, - "min":1 - }, - "IdentityPool":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityPoolName", - "AllowUnauthenticatedIdentities" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "IdentityPoolName":{ - "shape":"IdentityPoolName", - "documentation":"

A string that you provide.

" - }, - "AllowUnauthenticatedIdentities":{ - "shape":"IdentityPoolUnauthenticated", - "documentation":"

TRUE if the identity pool supports unauthenticated logins.

" - }, - "SupportedLoginProviders":{ - "shape":"IdentityProviders", - "documentation":"

Optional key:value pairs mapping provider names to provider app IDs.

" - }, - "DeveloperProviderName":{ - "shape":"DeveloperProviderName", - "documentation":"

The \"domain\" by which Cognito will refer to your users.

" - }, - "OpenIdConnectProviderARNs":{ - "shape":"OIDCProviderList", - "documentation":"

A list of OpendID Connect provider ARNs.

" - }, - "CognitoIdentityProviders":{ - "shape":"CognitoIdentityProviderList", - "documentation":"

A list representing an Amazon Cognito Identity User Pool and its client ID.

" - }, - "SamlProviderARNs":{ - "shape":"SAMLProviderList", - "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" - } - }, - "documentation":"

An object representing an Amazon Cognito identity pool.

" - }, - "IdentityPoolId":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+:[0-9a-f-]+" - }, - "IdentityPoolName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w ]+" - }, - "IdentityPoolShortDescription":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "IdentityPoolName":{ - "shape":"IdentityPoolName", - "documentation":"

A string that you provide.

" - } - }, - "documentation":"

A description of the identity pool.

" - }, - "IdentityPoolUnauthenticated":{"type":"boolean"}, - "IdentityPoolsList":{ - "type":"list", - "member":{"shape":"IdentityPoolShortDescription"} - }, - "IdentityProviderId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w.;_/-]+" - }, - "IdentityProviderName":{ - "type":"string", - "max":128, - "min":1 - }, - "IdentityProviderToken":{ - "type":"string", - "max":50000, - "min":1 - }, - "IdentityProviders":{ - "type":"map", - "key":{"shape":"IdentityProviderName"}, - "value":{"shape":"IdentityProviderId"}, - "max":10 - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by an InternalErrorException.

" - } - }, - "documentation":"

Thrown when the service encounters an error during processing the request.

", - "exception":true, - "fault":true - }, - "InvalidIdentityPoolConfigurationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned for an InvalidIdentityPoolConfigurationException

" - } - }, - "documentation":"

Thrown if the identity pool has no role associated for the given auth type (auth/unauth) or if the AssumeRole fails.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by an InvalidParameterException.

" - } - }, - "documentation":"

Thrown for missing or bad input parameter(s).

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a LimitExceededException.

" - } - }, - "documentation":"

Thrown when the total number of user pools has exceeded a preset limit.

", - "exception":true - }, - "ListIdentitiesInput":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "MaxResults" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "MaxResults":{ - "shape":"QueryLimit", - "documentation":"

The maximum number of identities to return.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - }, - "HideDisabled":{ - "shape":"HideDisabled", - "documentation":"

An optional boolean parameter that allows you to hide disabled identities. If omitted, the ListIdentities API will include disabled identities in the response.

" - } - }, - "documentation":"

Input to the ListIdentities action.

" - }, - "ListIdentitiesResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "Identities":{ - "shape":"IdentitiesList", - "documentation":"

An object containing a set of identities and associated mappings.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - } - }, - "documentation":"

The response to a ListIdentities request.

" - }, - "ListIdentityPoolsInput":{ - "type":"structure", - "required":["MaxResults"], - "members":{ - "MaxResults":{ - "shape":"QueryLimit", - "documentation":"

The maximum number of identities to return.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - } - }, - "documentation":"

Input to the ListIdentityPools action.

" - }, - "ListIdentityPoolsResponse":{ - "type":"structure", - "members":{ - "IdentityPools":{ - "shape":"IdentityPoolsList", - "documentation":"

The identity pools returned by the ListIdentityPools action.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - } - }, - "documentation":"

The result of a successful ListIdentityPools action.

" - }, - "LoginsList":{ - "type":"list", - "member":{"shape":"IdentityProviderName"} - }, - "LoginsMap":{ - "type":"map", - "key":{"shape":"IdentityProviderName"}, - "value":{"shape":"IdentityProviderToken"}, - "max":10 - }, - "LookupDeveloperIdentityInput":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "DeveloperUserIdentifier":{ - "shape":"DeveloperUserIdentifier", - "documentation":"

A unique ID used by your backend authentication process to identify a user. Typically, a developer identity provider would issue many developer user identifiers, in keeping with the number of users.

" - }, - "MaxResults":{ - "shape":"QueryLimit", - "documentation":"

The maximum number of identities to return.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults set to 10, and there are 20 matches in the database. The service will return a pagination token as a part of the response. This token can be used to call the API again and get results starting from the 11th match.

" - } - }, - "documentation":"

Input to the LookupDeveloperIdentityInput action.

" - }, - "LookupDeveloperIdentityResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "DeveloperUserIdentifierList":{ - "shape":"DeveloperUserIdentifierList", - "documentation":"

This is the list of developer user identifiers associated with an identity ID. Cognito supports the association of multiple developer user identifiers with an identity ID.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults set to 10, and there are 20 matches in the database. The service will return a pagination token as a part of the response. This token can be used to call the API again and get results starting from the 11th match.

" - } - }, - "documentation":"

Returned in response to a successful LookupDeveloperIdentity action.

" - }, - "MappingRule":{ - "type":"structure", - "required":[ - "Claim", - "MatchType", - "Value", - "RoleARN" - ], - "members":{ - "Claim":{ - "shape":"ClaimName", - "documentation":"

The claim name that must be present in the token, for example, \"isAdmin\" or \"paid\".

" - }, - "MatchType":{ - "shape":"MappingRuleMatchType", - "documentation":"

The match condition that specifies how closely the claim value in the IdP token must match Value.

" - }, - "Value":{ - "shape":"ClaimValue", - "documentation":"

A brief string that the claim must match, for example, \"paid\" or \"yes\".

" - }, - "RoleARN":{ - "shape":"ARNString", - "documentation":"

The role ARN.

" - } - }, - "documentation":"

A rule that maps a claim name, a claim value, and a match type to a role ARN.

" - }, - "MappingRuleMatchType":{ - "type":"string", - "enum":[ - "Equals", - "Contains", - "StartsWith", - "NotEqual" - ] - }, - "MappingRulesList":{ - "type":"list", - "member":{"shape":"MappingRule"}, - "max":25, - "min":1 - }, - "MergeDeveloperIdentitiesInput":{ - "type":"structure", - "required":[ - "SourceUserIdentifier", - "DestinationUserIdentifier", - "DeveloperProviderName", - "IdentityPoolId" - ], - "members":{ - "SourceUserIdentifier":{ - "shape":"DeveloperUserIdentifier", - "documentation":"

User identifier for the source user. The value should be a DeveloperUserIdentifier.

" - }, - "DestinationUserIdentifier":{ - "shape":"DeveloperUserIdentifier", - "documentation":"

User identifier for the destination user. The value should be a DeveloperUserIdentifier.

" - }, - "DeveloperProviderName":{ - "shape":"DeveloperProviderName", - "documentation":"

The \"domain\" by which Cognito will refer to your users. This is a (pseudo) domain name that you provide while creating an identity pool. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-).

" - }, - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - } - }, - "documentation":"

Input to the MergeDeveloperIdentities action.

" - }, - "MergeDeveloperIdentitiesResponse":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - } - }, - "documentation":"

Returned in response to a successful MergeDeveloperIdentities action.

" - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a NotAuthorizedException

" - } - }, - "documentation":"

Thrown when a user is not authorized to access the requested resource.

", - "exception":true - }, - "OIDCProviderList":{ - "type":"list", - "member":{"shape":"ARNString"} - }, - "OIDCToken":{"type":"string"}, - "PaginationKey":{ - "type":"string", - "min":1, - "pattern":"[\\S]+" - }, - "QueryLimit":{ - "type":"integer", - "max":60, - "min":1 - }, - "ResourceConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a ResourceConflictException.

" - } - }, - "documentation":"

Thrown when a user tries to use a login which is already linked to another account.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a ResourceNotFoundException.

" - } - }, - "documentation":"

Thrown when the requested resource (for example, a dataset or record) does not exist.

", - "exception":true - }, - "RoleMapping":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"RoleMappingType", - "documentation":"

The role mapping type. Token will use cognito:roles and cognito:preferred_role claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.

" - }, - "AmbiguousRoleResolution":{ - "shape":"AmbiguousRoleResolutionType", - "documentation":"

If you specify Token or Rules as the Type, AmbiguousRoleResolution is required.

Specifies the action to be taken if either no rules match the claim value for the Rules type, or there is no cognito:preferred_role claim and there are multiple cognito:roles matches for the Token type.

" - }, - "RulesConfiguration":{ - "shape":"RulesConfigurationType", - "documentation":"

The rules to be used for mapping users to roles.

If you specify Rules as the role mapping type, RulesConfiguration is required.

" - } - }, - "documentation":"

A role mapping.

" - }, - "RoleMappingMap":{ - "type":"map", - "key":{"shape":"IdentityProviderName"}, - "value":{"shape":"RoleMapping"}, - "max":10 - }, - "RoleMappingType":{ - "type":"string", - "enum":[ - "Token", - "Rules" - ] - }, - "RoleType":{ - "type":"string", - "pattern":"(un)?authenticated" - }, - "RolesMap":{ - "type":"map", - "key":{"shape":"RoleType"}, - "value":{"shape":"ARNString"}, - "max":2 - }, - "RulesConfigurationType":{ - "type":"structure", - "required":["Rules"], - "members":{ - "Rules":{ - "shape":"MappingRulesList", - "documentation":"

An array of rules. You can specify up to 25 rules per identity provider.

Rules are evaluated in order. The first one to match specifies the role.

" - } - }, - "documentation":"

A container for rules.

" - }, - "SAMLProviderList":{ - "type":"list", - "member":{"shape":"ARNString"} - }, - "SecretKeyString":{"type":"string"}, - "SessionTokenString":{"type":"string"}, - "SetIdentityPoolRolesInput":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "Roles" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "Roles":{ - "shape":"RolesMap", - "documentation":"

The map of roles associated with this pool. For a given role, the key will be either \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN.

" - }, - "RoleMappings":{ - "shape":"RoleMappingMap", - "documentation":"

How users for a specific identity provider are to mapped to roles. This is a string to RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

Up to 25 rules can be specified per identity provider.

" - } - }, - "documentation":"

Input to the SetIdentityPoolRoles action.

" - }, - "String":{"type":"string"}, - "TokenDuration":{ - "type":"long", - "max":86400, - "min":1 - }, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

Message returned by a TooManyRequestsException

" - } - }, - "documentation":"

Thrown when a request is throttled.

", - "exception":true - }, - "UnlinkDeveloperIdentityInput":{ - "type":"structure", - "required":[ - "IdentityId", - "IdentityPoolId", - "DeveloperProviderName", - "DeveloperUserIdentifier" - ], - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

An identity pool ID in the format REGION:GUID.

" - }, - "DeveloperProviderName":{ - "shape":"DeveloperProviderName", - "documentation":"

The \"domain\" by which Cognito will refer to your users.

" - }, - "DeveloperUserIdentifier":{ - "shape":"DeveloperUserIdentifier", - "documentation":"

A unique ID used by your backend authentication process to identify a user.

" - } - }, - "documentation":"

Input to the UnlinkDeveloperIdentity action.

" - }, - "UnlinkIdentityInput":{ - "type":"structure", - "required":[ - "IdentityId", - "Logins", - "LoginsToRemove" - ], - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "Logins":{ - "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" - }, - "LoginsToRemove":{ - "shape":"LoginsList", - "documentation":"

Provider names to unlink from this identity.

" - } - }, - "documentation":"

Input to the UnlinkIdentity action.

" - }, - "UnprocessedIdentityId":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"

A unique identifier in the format REGION:GUID.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code indicating the type of error that occurred.

" - } - }, - "documentation":"

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and IdentityId.

" - }, - "UnprocessedIdentityIdList":{ - "type":"list", - "member":{"shape":"UnprocessedIdentityId"}, - "max":60 - } - }, - "documentation":"Amazon Cognito

Amazon Cognito is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. Amazon Cognito uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon), and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

To provide end-user credentials, first make an unsigned call to GetId. If the end user is authenticated with one of the supported identity providers, set the Logins map with the identity provider token. GetId returns a unique identifier for the user.

Next, make an unsigned call to GetCredentialsForIdentity. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. Assuming your identity pool has been configured via the SetIdentityPoolRoles operation, GetCredentialsForIdentity will return AWS credentials for your use. If your pool has not been configured with SetIdentityPoolRoles, or if you want to follow legacy flow, make an unsigned call to GetOpenIdToken, which returns the OpenID token necessary to call STS and retrieve AWS credentials. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. The token returned by GetOpenIdToken can be passed to the STS operation AssumeRoleWithWebIdentity to retrieve AWS credentials.

If you want to use Amazon Cognito in an Android, iOS, or Unity application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the AWS Mobile SDK Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/service-2.json deleted file mode 100644 index 39e01171..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-idp/2016-04-18/service-2.json +++ /dev/null @@ -1,7658 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-04-18", - "endpointPrefix":"cognito-idp", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Cognito Identity Provider", - "serviceId":"Cognito Identity Provider", - "signatureVersion":"v4", - "targetPrefix":"AWSCognitoIdentityProviderService", - "uid":"cognito-idp-2016-04-18" - }, - "operations":{ - "AddCustomAttributes":{ - "name":"AddCustomAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddCustomAttributesRequest"}, - "output":{"shape":"AddCustomAttributesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserImportInProgressException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Adds additional user attributes to the user pool schema.

" - }, - "AdminAddUserToGroup":{ - "name":"AdminAddUserToGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminAddUserToGroupRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Adds the specified user to the specified group.

Requires developer credentials.

" - }, - "AdminConfirmSignUp":{ - "name":"AdminConfirmSignUp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminConfirmSignUpRequest"}, - "output":{"shape":"AdminConfirmSignUpResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyFailedAttemptsException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Confirms user registration as an admin without using a confirmation code. Works on any user.

Requires developer credentials.

" - }, - "AdminCreateUser":{ - "name":"AdminCreateUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminCreateUserRequest"}, - "output":{"shape":"AdminCreateUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UsernameExistsException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"PreconditionNotMetException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UnsupportedUserStateException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This message is based on a template that you configured in your call to or . This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

" - }, - "AdminDeleteUser":{ - "name":"AdminDeleteUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminDeleteUserRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes a user as an administrator. Works on any user.

Requires developer credentials.

" - }, - "AdminDeleteUserAttributes":{ - "name":"AdminDeleteUserAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminDeleteUserAttributesRequest"}, - "output":{"shape":"AdminDeleteUserAttributesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes the user attributes in a user pool as an administrator. Works on any user.

Requires developer credentials.

" - }, - "AdminDisableProviderForUser":{ - "name":"AdminDisableProviderForUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminDisableProviderForUserRequest"}, - "output":{"shape":"AdminDisableProviderForUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"AliasExistsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Cognito User Pools native username + password user, they are not permitted to use their password to sign-in. If the user to disable is a linked external IdP user, any link between that user and an existing user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. See .

This action is enabled only for admin access and requires developer credentials.

The ProviderName must match the value specified when creating an IdP for the pool.

To disable a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject, with the ProviderAttributeValue being the name that is used in the user pool for the user.

The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact subject that was used when the user was originally linked as a source user.

For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue must be the same values that were used for the SourceUser when the identities were originally linked in the call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion.

" - }, - "AdminDisableUser":{ - "name":"AdminDisableUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminDisableUserRequest"}, - "output":{"shape":"AdminDisableUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Disables the specified user as an administrator. Works on any user.

Requires developer credentials.

" - }, - "AdminEnableUser":{ - "name":"AdminEnableUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminEnableUserRequest"}, - "output":{"shape":"AdminEnableUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Enables the specified user as an administrator. Works on any user.

Requires developer credentials.

" - }, - "AdminForgetDevice":{ - "name":"AdminForgetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminForgetDeviceRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Forgets the device, as an administrator.

Requires developer credentials.

" - }, - "AdminGetDevice":{ - "name":"AdminGetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminGetDeviceRequest"}, - "output":{"shape":"AdminGetDeviceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Gets the device, as an administrator.

Requires developer credentials.

" - }, - "AdminGetUser":{ - "name":"AdminGetUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminGetUserRequest"}, - "output":{"shape":"AdminGetUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the specified user by user name in a user pool as an administrator. Works on any user.

Requires developer credentials.

" - }, - "AdminInitiateAuth":{ - "name":"AdminInitiateAuth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminInitiateAuthRequest"}, - "output":{"shape":"AdminInitiateAuthResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"MFAMethodNotFoundException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"} - ], - "documentation":"

Initiates the authentication flow, as an administrator.

Requires developer credentials.

" - }, - "AdminLinkProviderForUser":{ - "name":"AdminLinkProviderForUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminLinkProviderForUserRequest"}, - "output":{"shape":"AdminLinkProviderForUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"AliasExistsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Links an existing user account in a user pool (DestinationUser) to an identity from an external identity provider (SourceUser) based on a specified attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not yet been used to sign in, so that the federated user identity can be used to sign in as the existing user account.

For example, if there is an existing user with a username and password, this API links that user to a federated user identity, so that when the federated user identity is used, the user signs in as the existing user account.

Because this API allows a user with an external federated identity to sign in as an existing user in the user pool, it is critical that it only be used with external identity providers and provider attributes that have been trusted by the application owner.

See also .

This action is enabled only for admin access and requires developer credentials.

" - }, - "AdminListDevices":{ - "name":"AdminListDevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminListDevicesRequest"}, - "output":{"shape":"AdminListDevicesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Lists devices, as an administrator.

Requires developer credentials.

" - }, - "AdminListGroupsForUser":{ - "name":"AdminListGroupsForUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminListGroupsForUserRequest"}, - "output":{"shape":"AdminListGroupsForUserResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the groups that the user belongs to.

Requires developer credentials.

" - }, - "AdminListUserAuthEvents":{ - "name":"AdminListUserAuthEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminListUserAuthEventsRequest"}, - "output":{"shape":"AdminListUserAuthEventsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserPoolAddOnNotEnabledException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists a history of user activity and any risks detected as part of Amazon Cognito advanced security.

" - }, - "AdminRemoveUserFromGroup":{ - "name":"AdminRemoveUserFromGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminRemoveUserFromGroupRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Removes the specified user from the specified group.

Requires developer credentials.

" - }, - "AdminResetUserPassword":{ - "name":"AdminResetUserPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminResetUserPasswordRequest"}, - "output":{"shape":"AdminResetUserPasswordResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Requires developer credentials.

" - }, - "AdminRespondToAuthChallenge":{ - "name":"AdminRespondToAuthChallenge", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminRespondToAuthChallengeRequest"}, - "output":{"shape":"AdminRespondToAuthChallengeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"InternalErrorException"}, - {"shape":"MFAMethodNotFoundException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"AliasExistsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"SoftwareTokenMFANotFoundException"} - ], - "documentation":"

Responds to an authentication challenge, as an administrator.

Requires developer credentials.

" - }, - "AdminSetUserMFAPreference":{ - "name":"AdminSetUserMFAPreference", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminSetUserMFAPreferenceRequest"}, - "output":{"shape":"AdminSetUserMFAPreferenceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Sets the user's multi-factor authentication (MFA) preference.

" - }, - "AdminSetUserSettings":{ - "name":"AdminSetUserSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminSetUserSettingsRequest"}, - "output":{"shape":"AdminSetUserSettingsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Sets all the user settings for a specified user name. Works on any user.

Requires developer credentials.

" - }, - "AdminUpdateAuthEventFeedback":{ - "name":"AdminUpdateAuthEventFeedback", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminUpdateAuthEventFeedbackRequest"}, - "output":{"shape":"AdminUpdateAuthEventFeedbackResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserPoolAddOnNotEnabledException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Provides feedback for an authentication event as to whether it was from a valid user. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security.

" - }, - "AdminUpdateDeviceStatus":{ - "name":"AdminUpdateDeviceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminUpdateDeviceStatusRequest"}, - "output":{"shape":"AdminUpdateDeviceStatusResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Updates the device status as an administrator.

Requires developer credentials.

" - }, - "AdminUpdateUserAttributes":{ - "name":"AdminUpdateUserAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminUpdateUserAttributesRequest"}, - "output":{"shape":"AdminUpdateUserAttributesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"AliasExistsException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AdminUserGlobalSignOutRequest"}, - "output":{"shape":"AdminUserGlobalSignOutResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Signs out users from all devices, as an administrator.

Requires developer credentials.

" - }, - "AssociateSoftwareToken":{ - "name":"AssociateSoftwareToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateSoftwareTokenRequest"}, - "output":{"shape":"AssociateSoftwareTokenResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"}, - {"shape":"SoftwareTokenMFANotFoundException"} - ], - "documentation":"

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

" - }, - "ChangePassword":{ - "name":"ChangePassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ChangePasswordRequest"}, - "output":{"shape":"ChangePasswordResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Changes the password for a specified user in a user pool.

", - "authtype":"none" - }, - "ConfirmDevice":{ - "name":"ConfirmDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmDeviceRequest"}, - "output":{"shape":"ConfirmDeviceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"UsernameExistsException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Confirms tracking of the device. This API call is the call that begins device tracking.

" - }, - "ConfirmForgotPassword":{ - "name":"ConfirmForgotPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmForgotPasswordRequest"}, - "output":{"shape":"ConfirmForgotPasswordResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"TooManyFailedAttemptsException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Allows a user to enter a confirmation code to reset a forgotten password.

", - "authtype":"none" - }, - "ConfirmSignUp":{ - "name":"ConfirmSignUp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmSignUpRequest"}, - "output":{"shape":"ConfirmSignUpResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyFailedAttemptsException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"AliasExistsException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Confirms registration of a user and handles the existing alias from a previous user.

", - "authtype":"none" - }, - "CreateGroup":{ - "name":"CreateGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGroupRequest"}, - "output":{"shape":"CreateGroupResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"GroupExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates a new group in the specified user pool.

Requires developer credentials.

" - }, - "CreateIdentityProvider":{ - "name":"CreateIdentityProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIdentityProviderRequest"}, - "output":{"shape":"CreateIdentityProviderResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"DuplicateProviderException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates an identity provider for a user pool.

" - }, - "CreateResourceServer":{ - "name":"CreateResourceServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceServerRequest"}, - "output":{"shape":"CreateResourceServerResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates a new OAuth2.0 resource server and defines custom scopes in it.

" - }, - "CreateUserImportJob":{ - "name":"CreateUserImportJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserImportJobRequest"}, - "output":{"shape":"CreateUserImportJobResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PreconditionNotMetException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates the user import job.

" - }, - "CreateUserPool":{ - "name":"CreateUserPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserPoolRequest"}, - "output":{"shape":"CreateUserPoolResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserPoolTaggingException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

" - }, - "CreateUserPoolClient":{ - "name":"CreateUserPoolClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserPoolClientRequest"}, - "output":{"shape":"CreateUserPoolClientResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ScopeDoesNotExistException"}, - {"shape":"InvalidOAuthFlowException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates the user pool client.

" - }, - "CreateUserPoolDomain":{ - "name":"CreateUserPoolDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserPoolDomainRequest"}, - "output":{"shape":"CreateUserPoolDomainResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates a new domain for a user pool.

" - }, - "DeleteGroup":{ - "name":"DeleteGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGroupRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes a group. Currently only groups with no members can be deleted.

Requires developer credentials.

" - }, - "DeleteIdentityProvider":{ - "name":"DeleteIdentityProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIdentityProviderRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedIdentityProviderException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes an identity provider for a user pool.

" - }, - "DeleteResourceServer":{ - "name":"DeleteResourceServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteResourceServerRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes a resource server.

" - }, - "DeleteUser":{ - "name":"DeleteUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Allows a user to delete himself or herself.

", - "authtype":"none" - }, - "DeleteUserAttributes":{ - "name":"DeleteUserAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserAttributesRequest"}, - "output":{"shape":"DeleteUserAttributesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes the attributes for a user.

", - "authtype":"none" - }, - "DeleteUserPool":{ - "name":"DeleteUserPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserPoolRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserImportInProgressException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes the specified Amazon Cognito user pool.

" - }, - "DeleteUserPoolClient":{ - "name":"DeleteUserPoolClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserPoolClientRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "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.

" - }, - "DescribeResourceServer":{ - "name":"DescribeResourceServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourceServerRequest"}, - "output":{"shape":"DescribeResourceServerResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Describes a resource server.

" - }, - "DescribeRiskConfiguration":{ - "name":"DescribeRiskConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRiskConfigurationRequest"}, - "output":{"shape":"DescribeRiskConfigurationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserPoolAddOnNotEnabledException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Describes the risk configuration.

" - }, - "DescribeUserImportJob":{ - "name":"DescribeUserImportJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserImportJobRequest"}, - "output":{"shape":"DescribeUserImportJobResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Describes the user import job.

" - }, - "DescribeUserPool":{ - "name":"DescribeUserPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserPoolRequest"}, - "output":{"shape":"DescribeUserPoolResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserPoolTaggingException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns the configuration information and metadata of the specified user pool.

" - }, - "DescribeUserPoolClient":{ - "name":"DescribeUserPoolClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserPoolClientRequest"}, - "output":{"shape":"DescribeUserPoolClientResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Client method for returning the configuration information and metadata of the specified user pool app client.

" - }, - "DescribeUserPoolDomain":{ - "name":"DescribeUserPoolDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserPoolDomainRequest"}, - "output":{"shape":"DescribeUserPoolDomainResponse"}, - "errors":[ - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets information about a domain.

" - }, - "ForgetDevice":{ - "name":"ForgetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ForgetDeviceRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Forgets the specified device.

" - }, - "ForgotPassword":{ - "name":"ForgotPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ForgotPasswordRequest"}, - "output":{"shape":"ForgotPasswordResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "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 .

", - "authtype":"none" - }, - "GetCSVHeader":{ - "name":"GetCSVHeader", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCSVHeaderRequest"}, - "output":{"shape":"GetCSVHeaderResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the header information for the .csv file to be used as input for the user import job.

" - }, - "GetDevice":{ - "name":"GetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeviceRequest"}, - "output":{"shape":"GetDeviceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the device.

" - }, - "GetGroup":{ - "name":"GetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGroupRequest"}, - "output":{"shape":"GetGroupResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets a group.

Requires developer credentials.

" - }, - "GetIdentityProviderByIdentifier":{ - "name":"GetIdentityProviderByIdentifier", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityProviderByIdentifierRequest"}, - "output":{"shape":"GetIdentityProviderByIdentifierResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the specified identity provider.

" - }, - "GetSigningCertificate":{ - "name":"GetSigningCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSigningCertificateRequest"}, - "output":{"shape":"GetSigningCertificateResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

This method takes a user pool ID, and returns the signing certificate.

" - }, - "GetUICustomization":{ - "name":"GetUICustomization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUICustomizationRequest"}, - "output":{"shape":"GetUICustomizationResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the UI Customization information for a particular app client's app UI, if there is something set. If nothing is set for the particular client, but there is an existing pool level customization (app clientId will be ALL), then that is returned. If nothing is present, then an empty shape is returned.

" - }, - "GetUser":{ - "name":"GetUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserRequest"}, - "output":{"shape":"GetUserResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the user attributes and metadata for a user.

", - "authtype":"none" - }, - "GetUserAttributeVerificationCode":{ - "name":"GetUserAttributeVerificationCode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserAttributeVerificationCodeRequest"}, - "output":{"shape":"GetUserAttributeVerificationCodeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"LimitExceededException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the user attribute verification code for the specified attribute name.

", - "authtype":"none" - }, - "GetUserPoolMfaConfig":{ - "name":"GetUserPoolMfaConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserPoolMfaConfigRequest"}, - "output":{"shape":"GetUserPoolMfaConfigResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Gets the user pool multi-factor authentication (MFA) configuration.

" - }, - "GlobalSignOut":{ - "name":"GlobalSignOut", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GlobalSignOutRequest"}, - "output":{"shape":"GlobalSignOutResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Signs out users from all devices.

" - }, - "InitiateAuth":{ - "name":"InitiateAuth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"InitiateAuthRequest"}, - "output":{"shape":"InitiateAuthResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Initiates the authentication flow.

" - }, - "ListDevices":{ - "name":"ListDevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDevicesRequest"}, - "output":{"shape":"ListDevicesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the devices.

" - }, - "ListGroups":{ - "name":"ListGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupsRequest"}, - "output":{"shape":"ListGroupsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the groups associated with a user pool.

Requires developer credentials.

" - }, - "ListIdentityProviders":{ - "name":"ListIdentityProviders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIdentityProvidersRequest"}, - "output":{"shape":"ListIdentityProvidersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists information about all identity providers for a user pool.

" - }, - "ListResourceServers":{ - "name":"ListResourceServers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourceServersRequest"}, - "output":{"shape":"ListResourceServersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the resource servers for a user pool.

" - }, - "ListUserImportJobs":{ - "name":"ListUserImportJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUserImportJobsRequest"}, - "output":{"shape":"ListUserImportJobsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the user import jobs.

" - }, - "ListUserPoolClients":{ - "name":"ListUserPoolClients", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUserPoolClientsRequest"}, - "output":{"shape":"ListUserPoolClientsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the clients that have been created for the specified user pool.

" - }, - "ListUserPools":{ - "name":"ListUserPools", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUserPoolsRequest"}, - "output":{"shape":"ListUserPoolsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the user pools associated with an AWS account.

" - }, - "ListUsers":{ - "name":"ListUsers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUsersRequest"}, - "output":{"shape":"ListUsersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the users in the Amazon Cognito user pool.

" - }, - "ListUsersInGroup":{ - "name":"ListUsersInGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUsersInGroupRequest"}, - "output":{"shape":"ListUsersInGroupResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Lists the users in the specified group.

Requires developer credentials.

" - }, - "ResendConfirmationCode":{ - "name":"ResendConfirmationCode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResendConfirmationCodeRequest"}, - "output":{"shape":"ResendConfirmationCodeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

", - "authtype":"none" - }, - "RespondToAuthChallenge":{ - "name":"RespondToAuthChallenge", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RespondToAuthChallengeRequest"}, - "output":{"shape":"RespondToAuthChallengeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"MFAMethodNotFoundException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"AliasExistsException"}, - {"shape":"InternalErrorException"}, - {"shape":"SoftwareTokenMFANotFoundException"} - ], - "documentation":"

Responds to the authentication challenge.

" - }, - "SetRiskConfiguration":{ - "name":"SetRiskConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetRiskConfigurationRequest"}, - "output":{"shape":"SetRiskConfigurationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserPoolAddOnNotEnabledException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Configures actions on detected risks. To delete the risk configuration for UserPoolId or ClientId, pass null values for all four configuration types.

To enable Amazon Cognito advanced security features, update the user pool to include the UserPoolAddOns keyAdvancedSecurityMode.

See .

" - }, - "SetUICustomization":{ - "name":"SetUICustomization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetUICustomizationRequest"}, - "output":{"shape":"SetUICustomizationResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Sets the UI customization information for a user pool's built-in app UI.

You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ALL). If you specify ALL, the default configuration will be used for every client that has no UI customization set previously. If you specify UI customization settings for a particular client, it will no longer fall back to the ALL configuration.

To use this API, your user pool must have a domain associated with it. Otherwise, there is no place to host the app's pages, and the service will throw an error.

" - }, - "SetUserMFAPreference":{ - "name":"SetUserMFAPreference", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetUserMFAPreferenceRequest"}, - "output":{"shape":"SetUserMFAPreferenceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Set the user's multi-factor authentication (MFA) method preference.

" - }, - "SetUserPoolMfaConfig":{ - "name":"SetUserPoolMfaConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetUserPoolMfaConfigRequest"}, - "output":{"shape":"SetUserPoolMfaConfigResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Set the user pool MFA configuration.

" - }, - "SetUserSettings":{ - "name":"SetUserSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetUserSettingsRequest"}, - "output":{"shape":"SetUserSettingsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Sets the user settings like multi-factor authentication (MFA). If MFA is to be removed for a particular attribute pass the attribute with code delivery as null. If null list is passed, all MFA options are removed.

", - "authtype":"none" - }, - "SignUp":{ - "name":"SignUp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SignUpRequest"}, - "output":{"shape":"SignUpResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"UsernameExistsException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"CodeDeliveryFailureException"} - ], - "documentation":"

Registers the user in the specified user pool and creates a user name, password, and user attributes.

", - "authtype":"none" - }, - "StartUserImportJob":{ - "name":"StartUserImportJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartUserImportJobRequest"}, - "output":{"shape":"StartUserImportJobResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"PreconditionNotMetException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Starts the user import.

" - }, - "StopUserImportJob":{ - "name":"StopUserImportJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopUserImportJobRequest"}, - "output":{"shape":"StopUserImportJobResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"}, - {"shape":"PreconditionNotMetException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Stops the user import job.

" - }, - "UpdateAuthEventFeedback":{ - "name":"UpdateAuthEventFeedback", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAuthEventFeedbackRequest"}, - "output":{"shape":"UpdateAuthEventFeedbackResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserPoolAddOnNotEnabledException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Provides the feedback for an authentication event whether it was from a valid user or not. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security.

" - }, - "UpdateDeviceStatus":{ - "name":"UpdateDeviceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDeviceStatusRequest"}, - "output":{"shape":"UpdateDeviceStatusResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Updates the device status.

" - }, - "UpdateGroup":{ - "name":"UpdateGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGroupRequest"}, - "output":{"shape":"UpdateGroupResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Updates the specified group with the specified attributes.

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.

" - }, - "UpdateResourceServer":{ - "name":"UpdateResourceServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateResourceServerRequest"}, - "output":{"shape":"UpdateResourceServerResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Updates the name and scopes of resource server. All other fields are read-only.

" - }, - "UpdateUserAttributes":{ - "name":"UpdateUserAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserAttributesRequest"}, - "output":{"shape":"UpdateUserAttributesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UnexpectedLambdaException"}, - {"shape":"UserLambdaValidationException"}, - {"shape":"InvalidLambdaResponseException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"AliasExistsException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"}, - {"shape":"CodeDeliveryFailureException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Allows a user to update a specific attribute (one at a time).

", - "authtype":"none" - }, - "UpdateUserPool":{ - "name":"UpdateUserPool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserPoolRequest"}, - "output":{"shape":"UpdateUserPoolResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UserImportInProgressException"}, - {"shape":"InternalErrorException"}, - {"shape":"InvalidSmsRoleAccessPolicyException"}, - {"shape":"InvalidSmsRoleTrustRelationshipException"}, - {"shape":"UserPoolTaggingException"}, - {"shape":"InvalidEmailRoleAccessPolicyException"} - ], - "documentation":"

Updates the specified user pool with the specified attributes. If you don't provide a value for an attribute, it will be set to the default value. You can get a list of the current user pool settings with .

" - }, - "UpdateUserPoolClient":{ - "name":"UpdateUserPoolClient", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserPoolClientRequest"}, - "output":{"shape":"UpdateUserPoolClientResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"ScopeDoesNotExistException"}, - {"shape":"InvalidOAuthFlowException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Updates the specified user pool app client with the specified attributes. If you don't provide a value for an attribute, it will be set to the default value. You can get a list of the current user pool app client settings with .

" - }, - "VerifySoftwareToken":{ - "name":"VerifySoftwareToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifySoftwareTokenRequest"}, - "output":{"shape":"VerifySoftwareTokenResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidUserPoolConfigurationException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"}, - {"shape":"EnableSoftwareTokenMFAException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"SoftwareTokenMFANotFoundException"}, - {"shape":"CodeMismatchException"} - ], - "documentation":"

Use this API to register a user's entered TOTP code and mark the user's software token MFA status as \"verified\" if successful. The request takes an access token or a session string, but not both.

" - }, - "VerifyUserAttribute":{ - "name":"VerifyUserAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyUserAttributeRequest"}, - "output":{"shape":"VerifyUserAttributeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"CodeMismatchException"}, - {"shape":"ExpiredCodeException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"LimitExceededException"}, - {"shape":"PasswordResetRequiredException"}, - {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Verifies the specified user attributes in the user pool.

", - "authtype":"none" - } - }, - "shapes":{ - "AWSAccountIdType":{"type":"string"}, - "AccountTakeoverActionNotifyType":{"type":"boolean"}, - "AccountTakeoverActionType":{ - "type":"structure", - "required":[ - "Notify", - "EventAction" - ], - "members":{ - "Notify":{ - "shape":"AccountTakeoverActionNotifyType", - "documentation":"

Flag specifying whether to send a notification.

" - }, - "EventAction":{ - "shape":"AccountTakeoverEventActionType", - "documentation":"

The event action.

  • BLOCK Choosing this action will block the request.

  • MFA_IF_CONFIGURED Throw MFA challenge if user has configured it, else allow the request.

  • MFA_REQUIRED Throw MFA challenge if user has configured it, else block the request.

  • NO_ACTION Allow the user sign-in.

" - } - }, - "documentation":"

Account takeover action type.

" - }, - "AccountTakeoverActionsType":{ - "type":"structure", - "members":{ - "LowAction":{ - "shape":"AccountTakeoverActionType", - "documentation":"

Action to take for a low risk.

" - }, - "MediumAction":{ - "shape":"AccountTakeoverActionType", - "documentation":"

Action to take for a medium risk.

" - }, - "HighAction":{ - "shape":"AccountTakeoverActionType", - "documentation":"

Action to take for a high risk.

" - } - }, - "documentation":"

Account takeover actions type.

" - }, - "AccountTakeoverEventActionType":{ - "type":"string", - "enum":[ - "BLOCK", - "MFA_IF_CONFIGURED", - "MFA_REQUIRED", - "NO_ACTION" - ] - }, - "AccountTakeoverRiskConfigurationType":{ - "type":"structure", - "required":["Actions"], - "members":{ - "NotifyConfiguration":{ - "shape":"NotifyConfigurationType", - "documentation":"

The notify configuration used to construct email notifications.

" - }, - "Actions":{ - "shape":"AccountTakeoverActionsType", - "documentation":"

Account takeover risk configuration actions

" - } - }, - "documentation":"

Configuration for mitigation actions and notification for different levels of risk detected for a potential account takeover.

" - }, - "AddCustomAttributesRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "CustomAttributes" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to add custom attributes.

" - }, - "CustomAttributes":{ - "shape":"CustomAttributesListType", - "documentation":"

An array of custom attributes, such as Mutable and Name.

" - } - }, - "documentation":"

Represents the request to add custom attributes.

" - }, - "AddCustomAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server for the request to add custom attributes.

" - }, - "AdminAddUserToGroupRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "GroupName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The username for the user.

" - }, - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The group name.

" - } - } - }, - "AdminConfirmSignUpRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for which you want to confirm user registration.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name for which you want to confirm user registration.

" - } - }, - "documentation":"

Represents the request to confirm user registration.

" - }, - "AdminConfirmSignUpResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server for the request to confirm registration.

" - }, - "AdminCreateUserConfigType":{ - "type":"structure", - "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.

" - }, - "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 parameter is 7.

" - }, - "InviteMessageTemplate":{ - "shape":"MessageTemplateType", - "documentation":"

The message template to be used for the welcome message to new users.

See also Customizing User Invitation Messages.

" - } - }, - "documentation":"

The configuration for creating a new user profile.

" - }, - "AdminCreateUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where the user will be created.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username cannot be changed.

" - }, - "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 or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

For custom attributes, you must prepend the custom: prefix to the attribute name.

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You can also do this by calling .)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter.

" - }, - "ValidationData":{ - "shape":"AttributeListType", - "documentation":"

The user's validation data. This is an array of name-value pairs that contain user attributes and attribute values that you can use for custom validation, such as restricting the types of user accounts that can be registered. For example, you might choose to allow or disallow user sign-up based on the user's domain.

To configure custom validation, you must create a Pre Sign-up Lambda trigger for the user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger receives the validation data and uses it in the validation process.

The user's validation data is not persisted.

" - }, - "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.

" - }, - "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.

" - }, - "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.

" - }, - "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":"

Represents the request to create a user in the specified user pool.

" - }, - "AdminCreateUserResponse":{ - "type":"structure", - "members":{ - "User":{ - "shape":"UserType", - "documentation":"

The newly created user.

" - } - }, - "documentation":"

Represents the response from the server to the request to create the user.

" - }, - "AdminCreateUserUnusedAccountValidityDaysType":{ - "type":"integer", - "max":365, - "min":0 - }, - "AdminDeleteUserAttributesRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "UserAttributeNames" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to delete user attributes.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user from which you would like to delete attributes.

" - }, - "UserAttributeNames":{ - "shape":"AttributeNameListType", - "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.

" - }, - "AdminDeleteUserAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response received from the server for a request to delete user attributes.

" - }, - "AdminDeleteUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to delete the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to delete.

" - } - }, - "documentation":"

Represents the request to delete a user as an administrator.

" - }, - "AdminDisableProviderForUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "User" - ], - "members":{ - "UserPoolId":{ - "shape":"StringType", - "documentation":"

The user pool ID for the user pool.

" - }, - "User":{ - "shape":"ProviderUserIdentifierType", - "documentation":"

The user to be disabled.

" - } - } - }, - "AdminDisableProviderForUserResponse":{ - "type":"structure", - "members":{ - } - }, - "AdminDisableUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to disable the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to disable.

" - } - }, - "documentation":"

Represents the request to disable any user as an administrator.

" - }, - "AdminDisableUserResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response received from the server to disable the user as an administrator.

" - }, - "AdminEnableUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to enable the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to enable.

" - } - }, - "documentation":"

Represents the request that enables the user as an administrator.

" - }, - "AdminEnableUserResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server for the request to enable a user as an administrator.

" - }, - "AdminForgetDeviceRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "DeviceKey" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name.

" - }, - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - } - }, - "documentation":"

Sends the forgot device request, as an administrator.

" - }, - "AdminGetDeviceRequest":{ - "type":"structure", - "required":[ - "DeviceKey", - "UserPoolId", - "Username" - ], - "members":{ - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name.

" - } - }, - "documentation":"

Represents the request to get the device, as an administrator.

" - }, - "AdminGetDeviceResponse":{ - "type":"structure", - "required":["Device"], - "members":{ - "Device":{ - "shape":"DeviceType", - "documentation":"

The device.

" - } - }, - "documentation":"

Gets the device response, as an administrator.

" - }, - "AdminGetUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to get information about the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to retrieve.

" - } - }, - "documentation":"

Represents the request to get the specified user as an administrator.

" - }, - "AdminGetUserResponse":{ - "type":"structure", - "required":["Username"], - "members":{ - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user about whom you are receiving information.

" - }, - "UserAttributes":{ - "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" - }, - "UserCreateDate":{ - "shape":"DateType", - "documentation":"

The date the user was created.

" - }, - "UserLastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the user was last modified.

" - }, - "Enabled":{ - "shape":"BooleanType", - "documentation":"

Indicates that the status is enabled.

" - }, - "UserStatus":{ - "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" - }, - "MFAOptions":{ - "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" - }, - "PreferredMfaSetting":{ - "shape":"StringType", - "documentation":"

The user's preferred MFA setting.

" - }, - "UserMFASettingList":{ - "shape":"UserMFASettingListType", - "documentation":"

The list of the user's MFA settings.

" - } - }, - "documentation":"

Represents the response from the server from the request to get the specified user as an administrator.

" - }, - "AdminInitiateAuthRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientId", - "AuthFlow" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The ID of the Amazon Cognito user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID.

" - }, - "AuthFlow":{ - "shape":"AuthFlowType", - "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution.

  • USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

  • ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled for calling the app client.

  • USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool.

" - }, - "AuthParameters":{ - "shape":"AuthParametersType", - "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), PASSWORD (required), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" - }, - "ClientMetadata":{ - "shape":"ClientMetadataType", - "documentation":"

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.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth calls.

" - }, - "ContextData":{ - "shape":"ContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

Initiates the authorization request, as an administrator.

" - }, - "AdminInitiateAuthResponse":{ - "type":"structure", - "members":{ - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session 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. These are returned to you in the AdminInitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

The value of the USER_ID_FOR_SRP attribute will be the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute cannot be an alias.

" - }, - "AuthenticationResult":{ - "shape":"AuthenticationResultType", - "documentation":"

The result of the authentication response. This is only returned if the caller does not need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session are returned.

" - } - }, - "documentation":"

Initiates the authentication response, as an administrator.

" - }, - "AdminLinkProviderForUserRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "DestinationUser", - "SourceUser" - ], - "members":{ - "UserPoolId":{ - "shape":"StringType", - "documentation":"

The user pool ID for the user pool.

" - }, - "DestinationUser":{ - "shape":"ProviderUserIdentifierType", - "documentation":"

The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider attribute) signs in.

For a native username + password user, the ProviderAttributeValue for the DestinationUser should be the username in the user pool. For a federated user, it should be the provider-specific user_id.

The ProviderAttributeName of the DestinationUser is ignored.

The ProviderName should be set to Cognito for users in Cognito user pools.

" - }, - "SourceUser":{ - "shape":"ProviderUserIdentifierType", - "documentation":"

An external identity provider account for a user who does not currently exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user.

If the SourceUser is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the ProviderAttributeName to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token.

For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically parse the default unique identifier found in the subject from the SAML token.

" - } - } - }, - "AdminLinkProviderForUserResponse":{ - "type":"structure", - "members":{ - } - }, - "AdminListDevicesRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

The limit of the devices request.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Represents the request to list devices, as an administrator.

" - }, - "AdminListDevicesResponse":{ - "type":"structure", - "members":{ - "Devices":{ - "shape":"DeviceListType", - "documentation":"

The devices in the list of devices response.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "documentation":"

The pagination token.

" - } - }, - "documentation":"

Lists the device's response, as an administrator.

" - }, - "AdminListGroupsForUserRequest":{ - "type":"structure", - "required":[ - "Username", - "UserPoolId" - ], - "members":{ - "Username":{ - "shape":"UsernameType", - "documentation":"

The username for the user.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

The limit of the request to list groups.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "AdminListGroupsForUserResponse":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupListType", - "documentation":"

The groups that the user belongs to.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "AdminListUserAuthEventsRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user pool username or an alias.

" - }, - "MaxResults":{ - "shape":"QueryLimitType", - "documentation":"

The maximum number of authentication events to return.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - } - } - }, - "AdminListUserAuthEventsResponse":{ - "type":"structure", - "members":{ - "AuthEvents":{ - "shape":"AuthEventsType", - "documentation":"

The response object. It includes the EventID, EventType, CreationDate, EventRisk, and EventResponse.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

A pagination token.

" - } - } - }, - "AdminRemoveUserFromGroupRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "GroupName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The username for the user.

" - }, - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The group name.

" - } - } - }, - "AdminResetUserPasswordRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to reset the user's password.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user whose password you wish to reset.

" - } - }, - "documentation":"

Represents the request to reset a user's password as an administrator.

" - }, - "AdminResetUserPasswordResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server to reset a user password as an administrator.

" - }, - "AdminRespondToAuthChallengeRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientId", - "ChallengeName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The ID of the Amazon Cognito user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID.

" - }, - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The challenge name. For more information, see .

" - }, - "ChallengeResponses":{ - "shape":"ChallengeResponsesType", - "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge calls.

" - }, - "ContextData":{ - "shape":"ContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

The request to respond to the authentication challenge, as an administrator.

" - }, - "AdminRespondToAuthChallengeResponse":{ - "type":"structure", - "members":{ - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The name of the challenge. For more information, see .

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" - }, - "ChallengeParameters":{ - "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters. For more information, see .

" - }, - "AuthenticationResult":{ - "shape":"AuthenticationResultType", - "documentation":"

The result returned by the server in response to the authentication request.

" - } - }, - "documentation":"

Responds to the authentication challenge, as an administrator.

" - }, - "AdminSetUserMFAPreferenceRequest":{ - "type":"structure", - "required":[ - "Username", - "UserPoolId" - ], - "members":{ - "SMSMfaSettings":{ - "shape":"SMSMfaSettingsType", - "documentation":"

The SMS text message MFA settings.

" - }, - "SoftwareTokenMfaSettings":{ - "shape":"SoftwareTokenMfaSettingsType", - "documentation":"

The time-based one-time password software token MFA settings.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user pool username or alias.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - } - } - }, - "AdminSetUserMFAPreferenceResponse":{ - "type":"structure", - "members":{ - } - }, - "AdminSetUserSettingsRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "MFAOptions" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to set the user's settings, such as MFA options.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user for whom you wish to set user settings.

" - }, - "MFAOptions":{ - "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" - } - }, - "documentation":"

Represents the request to set user settings as an administrator.

" - }, - "AdminSetUserSettingsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server to set user settings as an administrator.

" - }, - "AdminUpdateAuthEventFeedbackRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "EventId", - "FeedbackValue" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user pool username.

" - }, - "EventId":{ - "shape":"EventIdType", - "documentation":"

The authentication event ID.

" - }, - "FeedbackValue":{ - "shape":"FeedbackValueType", - "documentation":"

The authentication event feedback value.

" - } - } - }, - "AdminUpdateAuthEventFeedbackResponse":{ - "type":"structure", - "members":{ - } - }, - "AdminUpdateDeviceStatusRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "DeviceKey" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name.

" - }, - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "DeviceRememberedStatus":{ - "shape":"DeviceRememberedStatusType", - "documentation":"

The status indicating whether a device has been remembered or not.

" - } - }, - "documentation":"

The request to update the device status, as an administrator.

" - }, - "AdminUpdateDeviceStatusResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The status response from the request to update the device, as an administrator.

" - }, - "AdminUpdateUserAttributesRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "UserAttributes" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to update user attributes.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user for whom you want to update user attributes.

" - }, - "UserAttributes":{ - "shape":"AttributeListType", - "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.

" - }, - "AdminUpdateUserAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server for the request to update user attributes as an administrator.

" - }, - "AdminUserGlobalSignOutRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name.

" - } - }, - "documentation":"

The request to sign out of all devices, as an administrator.

" - }, - "AdminUserGlobalSignOutResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The global sign-out response, as an administrator.

" - }, - "AdvancedSecurityModeType":{ - "type":"string", - "enum":[ - "OFF", - "AUDIT", - "ENFORCED" - ] - }, - "AliasAttributeType":{ - "type":"string", - "enum":[ - "phone_number", - "email", - "preferred_username" - ] - }, - "AliasAttributesListType":{ - "type":"list", - "member":{"shape":"AliasAttributeType"} - }, - "AliasExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message sent to the user when an alias exists.

" - } - }, - "documentation":"

This exception is thrown when a user tries to confirm the account with an email or phone number that has already been supplied as an alias from a different account. This exception tells user that an account with this email or phone already exists.

", - "exception":true - }, - "AnalyticsConfigurationType":{ - "type":"structure", - "required":[ - "ApplicationId", - "RoleArn", - "ExternalId" - ], - "members":{ - "ApplicationId":{ - "shape":"HexStringType", - "documentation":"

The application ID for an Amazon Pinpoint application.

" - }, - "RoleArn":{ - "shape":"ArnType", - "documentation":"

The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.

" - }, - "ExternalId":{ - "shape":"StringType", - "documentation":"

The external ID.

" - }, - "UserDataShared":{ - "shape":"BooleanType", - "documentation":"

If UserDataShared is true, Amazon Cognito will include user data in the events it publishes to Amazon Pinpoint analytics.

" - } - }, - "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for a user pool.

" - }, - "AnalyticsMetadataType":{ - "type":"structure", - "members":{ - "AnalyticsEndpointId":{ - "shape":"StringType", - "documentation":"

The endpoint ID.

" - } - }, - "documentation":"

An Amazon Pinpoint analytics endpoint.

An endpoint uniquely identifies a mobile device, email address, or phone number that can receive messages from Amazon Pinpoint analytics.

" - }, - "ArnType":{ - "type":"string", - "max":2048, - "min":20, - "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:([\\w+=/,.@-]*)?:[0-9]+:[\\w+=/,.@-]+(:[\\w+=/,.@-]+)?(:[\\w+=/,.@-]+)?" - }, - "AssociateSoftwareTokenRequest":{ - "type":"structure", - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" - } - } - }, - "AssociateSoftwareTokenResponse":{ - "type":"structure", - "members":{ - "SecretCode":{ - "shape":"SecretCodeType", - "documentation":"

A unique generated shared secret code that is used in the TOTP algorithm to generate a one time code.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" - } - } - }, - "AttributeDataType":{ - "type":"string", - "enum":[ - "String", - "Number", - "DateTime", - "Boolean" - ] - }, - "AttributeListType":{ - "type":"list", - "member":{"shape":"AttributeType"} - }, - "AttributeMappingKeyType":{ - "type":"string", - "max":32, - "min":1 - }, - "AttributeMappingType":{ - "type":"map", - "key":{"shape":"AttributeMappingKeyType"}, - "value":{"shape":"StringType"} - }, - "AttributeNameListType":{ - "type":"list", - "member":{"shape":"AttributeNameType"} - }, - "AttributeNameType":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "AttributeType":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"AttributeNameType", - "documentation":"

The name of the attribute.

" - }, - "Value":{ - "shape":"AttributeValueType", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Specifies whether the attribute is standard or custom.

" - }, - "AttributeValueType":{ - "type":"string", - "max":2048, - "sensitive":true - }, - "AuthEventType":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"StringType", - "documentation":"

The event ID.

" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

The event type.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The creation date

" - }, - "EventResponse":{ - "shape":"EventResponseType", - "documentation":"

The event response.

" - }, - "EventRisk":{ - "shape":"EventRiskType", - "documentation":"

The event risk.

" - }, - "ChallengeResponses":{ - "shape":"ChallengeResponseListType", - "documentation":"

The challenge responses.

" - }, - "EventContextData":{ - "shape":"EventContextDataType", - "documentation":"

The user context data captured at the time of an event request. It provides additional information about the client from which event the request is received.

" - }, - "EventFeedback":{ - "shape":"EventFeedbackType", - "documentation":"

A flag specifying the user feedback captured at the time of an event request is good or bad.

" - } - }, - "documentation":"

The authentication event type.

" - }, - "AuthEventsType":{ - "type":"list", - "member":{"shape":"AuthEventType"} - }, - "AuthFlowType":{ - "type":"string", - "enum":[ - "USER_SRP_AUTH", - "REFRESH_TOKEN_AUTH", - "REFRESH_TOKEN", - "CUSTOM_AUTH", - "ADMIN_NO_SRP_AUTH", - "USER_PASSWORD_AUTH" - ] - }, - "AuthParametersType":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "AuthenticationResultType":{ - "type":"structure", - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - }, - "ExpiresIn":{ - "shape":"IntegerType", - "documentation":"

The expiration period of the authentication result in seconds.

" - }, - "TokenType":{ - "shape":"StringType", - "documentation":"

The token type.

" - }, - "RefreshToken":{ - "shape":"TokenModelType", - "documentation":"

The refresh token.

" - }, - "IdToken":{ - "shape":"TokenModelType", - "documentation":"

The ID token.

" - }, - "NewDeviceMetadata":{ - "shape":"NewDeviceMetadataType", - "documentation":"

The new device metadata from an authentication result.

" - } - }, - "documentation":"

The authentication result.

" - }, - "BlockedIPRangeListType":{ - "type":"list", - "member":{"shape":"StringType"}, - "max":20 - }, - "BooleanType":{"type":"boolean"}, - "CSSType":{"type":"string"}, - "CSSVersionType":{"type":"string"}, - "CallbackURLsListType":{ - "type":"list", - "member":{"shape":"RedirectUrlType"}, - "max":100, - "min":0 - }, - "ChallengeName":{ - "type":"string", - "enum":[ - "Password", - "Mfa" - ] - }, - "ChallengeNameType":{ - "type":"string", - "enum":[ - "SMS_MFA", - "SOFTWARE_TOKEN_MFA", - "SELECT_MFA_TYPE", - "MFA_SETUP", - "PASSWORD_VERIFIER", - "CUSTOM_CHALLENGE", - "DEVICE_SRP_AUTH", - "DEVICE_PASSWORD_VERIFIER", - "ADMIN_NO_SRP_AUTH", - "NEW_PASSWORD_REQUIRED" - ] - }, - "ChallengeParametersType":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "ChallengeResponse":{ - "type":"string", - "enum":[ - "Success", - "Failure" - ] - }, - "ChallengeResponseListType":{ - "type":"list", - "member":{"shape":"ChallengeResponseType"} - }, - "ChallengeResponseType":{ - "type":"structure", - "members":{ - "ChallengeName":{ - "shape":"ChallengeName", - "documentation":"

The challenge name

" - }, - "ChallengeResponse":{ - "shape":"ChallengeResponse", - "documentation":"

The challenge response.

" - } - }, - "documentation":"

The challenge response type.

" - }, - "ChallengeResponsesType":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "ChangePasswordRequest":{ - "type":"structure", - "required":[ - "PreviousPassword", - "ProposedPassword", - "AccessToken" - ], - "members":{ - "PreviousPassword":{ - "shape":"PasswordType", - "documentation":"

The old password.

" - }, - "ProposedPassword":{ - "shape":"PasswordType", - "documentation":"

The new password.

" - }, - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - } - }, - "documentation":"

Represents the request to change a user password.

" - }, - "ChangePasswordResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response from the server to the change password request.

" - }, - "ClientIdType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+]+", - "sensitive":true - }, - "ClientMetadataType":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "ClientNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w\\s+=,.@-]+" - }, - "ClientPermissionListType":{ - "type":"list", - "member":{"shape":"ClientPermissionType"} - }, - "ClientPermissionType":{ - "type":"string", - "max":2048, - "min":1 - }, - "ClientSecretType":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\w+]+", - "sensitive":true - }, - "CodeDeliveryDetailsListType":{ - "type":"list", - "member":{"shape":"CodeDeliveryDetailsType"} - }, - "CodeDeliveryDetailsType":{ - "type":"structure", - "members":{ - "Destination":{ - "shape":"StringType", - "documentation":"

The destination for the code delivery details.

" - }, - "DeliveryMedium":{ - "shape":"DeliveryMediumType", - "documentation":"

The delivery medium (email message or phone number).

" - }, - "AttributeName":{ - "shape":"AttributeNameType", - "documentation":"

The attribute name.

" - } - }, - "documentation":"

The code delivery details being returned from the server.

" - }, - "CodeDeliveryFailureException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message sent when a verification code fails to deliver successfully.

" - } - }, - "documentation":"

This exception is thrown when a verification code fails to deliver successfully.

", - "exception":true - }, - "CodeMismatchException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message provided when the code mismatch exception is thrown.

" - } - }, - "documentation":"

This exception is thrown if the provided code does not match what the server was expecting.

", - "exception":true - }, - "CompletionMessageType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w]+" - }, - "CompromisedCredentialsActionsType":{ - "type":"structure", - "required":["EventAction"], - "members":{ - "EventAction":{ - "shape":"CompromisedCredentialsEventActionType", - "documentation":"

The event action.

" - } - }, - "documentation":"

The compromised credentials actions type

" - }, - "CompromisedCredentialsEventActionType":{ - "type":"string", - "enum":[ - "BLOCK", - "NO_ACTION" - ] - }, - "CompromisedCredentialsRiskConfigurationType":{ - "type":"structure", - "required":["Actions"], - "members":{ - "EventFilter":{ - "shape":"EventFiltersType", - "documentation":"

Perform the action for these events. The default is to perform all events if no event filter is specified.

" - }, - "Actions":{ - "shape":"CompromisedCredentialsActionsType", - "documentation":"

The compromised credentials risk configuration actions.

" - } - }, - "documentation":"

The compromised credentials risk configuration type.

" - }, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message provided when the concurrent exception is thrown.

" - } - }, - "documentation":"

This exception is thrown if two or more modifications are happening concurrently.

", - "exception":true - }, - "ConfirmDeviceRequest":{ - "type":"structure", - "required":[ - "AccessToken", - "DeviceKey" - ], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - }, - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "DeviceSecretVerifierConfig":{ - "shape":"DeviceSecretVerifierConfigType", - "documentation":"

The configuration of the device secret verifier.

" - }, - "DeviceName":{ - "shape":"DeviceNameType", - "documentation":"

The device name.

" - } - }, - "documentation":"

Confirms the device request.

" - }, - "ConfirmDeviceResponse":{ - "type":"structure", - "members":{ - "UserConfirmationNecessary":{ - "shape":"BooleanType", - "documentation":"

Indicates whether the user confirmation is necessary to confirm the device response.

" - } - }, - "documentation":"

Confirms the device response.

" - }, - "ConfirmForgotPasswordRequest":{ - "type":"structure", - "required":[ - "ClientId", - "Username", - "ConfirmationCode", - "Password" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID of the app associated with the user pool.

" - }, - "SecretHash":{ - "shape":"SecretHashType", - "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user for whom you want to enter a code to retrieve a forgotten password.

" - }, - "ConfirmationCode":{ - "shape":"ConfirmationCodeType", - "documentation":"

The confirmation code sent by a user's request to retrieve a forgotten password. For more information, see

" - }, - "Password":{ - "shape":"PasswordType", - "documentation":"

The password sent by a user's request to retrieve a forgotten password.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmForgotPassword calls.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

The request representing the confirmation for a password reset.

" - }, - "ConfirmForgotPasswordResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response from the server that results from a user's request to retrieve a forgotten password.

" - }, - "ConfirmSignUpRequest":{ - "type":"structure", - "required":[ - "ClientId", - "Username", - "ConfirmationCode" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the app client associated with the user pool.

" - }, - "SecretHash":{ - "shape":"SecretHashType", - "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user whose registration you wish to confirm.

" - }, - "ConfirmationCode":{ - "shape":"ConfirmationCodeType", - "documentation":"

The confirmation code sent by a user's request to confirm registration.

" - }, - "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.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmSignUp calls.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

Represents the request to confirm registration of a user.

" - }, - "ConfirmSignUpResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server for the registration confirmation.

" - }, - "ConfirmationCodeType":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"[\\S]+" - }, - "ContextDataType":{ - "type":"structure", - "required":[ - "IpAddress", - "ServerName", - "ServerPath", - "HttpHeaders" - ], - "members":{ - "IpAddress":{ - "shape":"StringType", - "documentation":"

Source IP address of your user.

" - }, - "ServerName":{ - "shape":"StringType", - "documentation":"

Your server endpoint where this API is invoked.

" - }, - "ServerPath":{ - "shape":"StringType", - "documentation":"

Your server path where this API is invoked.

" - }, - "HttpHeaders":{ - "shape":"HttpHeaderList", - "documentation":"

HttpHeaders received on your server in same order.

" - }, - "EncodedData":{ - "shape":"StringType", - "documentation":"

Encoded data containing device fingerprinting details, collected using the Amazon Cognito context data collection library.

" - } - }, - "documentation":"

Contextual user data type used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - }, - "CreateGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserPoolId" - ], - "members":{ - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group. Must be unique.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

A string containing the description of the group.

" - }, - "RoleArn":{ - "shape":"ArnType", - "documentation":"

The role ARN for the group.

" - }, - "Precedence":{ - "shape":"PrecedenceType", - "documentation":"

A nonnegative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower Precedence values take precedence over groups with higher or null Precedence values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN will be used in the cognito:roles and cognito:preferred_role claims in the user's tokens.

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim is not set in users' tokens.

The default Precedence value is null.

" - } - } - }, - "CreateGroupResponse":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"GroupType", - "documentation":"

The group object for the group.

" - } - } - }, - "CreateIdentityProviderRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ProviderName", - "ProviderType", - "ProviderDetails" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ProviderName":{ - "shape":"ProviderNameTypeV1", - "documentation":"

The identity provider name.

" - }, - "ProviderType":{ - "shape":"IdentityProviderTypeType", - "documentation":"

The identity provider type.

" - }, - "ProviderDetails":{ - "shape":"ProviderDetailsType", - "documentation":"

The identity provider details, 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.

" - } - } - }, - "CreateResourceServerRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Identifier", - "Name" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Identifier":{ - "shape":"ResourceServerIdentifierType", - "documentation":"

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.

" - }, - "Name":{ - "shape":"ResourceServerNameType", - "documentation":"

A friendly name for the resource server.

" - }, - "Scopes":{ - "shape":"ResourceServerScopeListType", - "documentation":"

A list of scopes. Each scope is map, where the keys are name and description.

" - } - } - }, - "CreateResourceServerResponse":{ - "type":"structure", - "required":["ResourceServer"], - "members":{ - "ResourceServer":{ - "shape":"ResourceServerType", - "documentation":"

The newly created resource server.

" - } - } - }, - "CreateUserImportJobRequest":{ - "type":"structure", - "required":[ - "JobName", - "UserPoolId", - "CloudWatchLogsRoleArn" - ], - "members":{ - "JobName":{ - "shape":"UserImportJobNameType", - "documentation":"

The job name for the user import job.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"ArnType", - "documentation":"

The role ARN for the Amazon CloudWatch Logging role for the user import job.

" - } - }, - "documentation":"

Represents the request to create the user import job.

" - }, - "CreateUserImportJobResponse":{ - "type":"structure", - "members":{ - "UserImportJob":{ - "shape":"UserImportJobType", - "documentation":"

The job object that represents the user import job.

" - } - }, - "documentation":"

Represents the response from the server to the request to create the user import job.

" - }, - "CreateUserPoolClientRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to create a user pool client.

" - }, - "ClientName":{ - "shape":"ClientNameType", - "documentation":"

The client name for the user pool client you would like to create.

" - }, - "GenerateSecret":{ - "shape":"GenerateSecret", - "documentation":"

Boolean to specify whether you want to generate a secret for the user pool client being created.

" - }, - "RefreshTokenValidity":{ - "shape":"RefreshTokenValidityType", - "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" - }, - "ReadAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The read attributes.

" - }, - "WriteAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The write attributes.

" - }, - "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 redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "LogoutURLs":{ - "shape":"LogoutURLsListType", - "documentation":"

A list of allowed logout URLs for the identity providers.

" - }, - "DefaultRedirectURI":{ - "shape":"RedirectUrlType", - "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "AllowedOAuthFlows":{ - "shape":"OAuthFlowsType", - "documentation":"

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.

" - }, - "AnalyticsConfiguration":{ - "shape":"AnalyticsConfigurationType", - "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

" - } - }, - "documentation":"

Represents the request to create a user pool client.

" - }, - "CreateUserPoolClientResponse":{ - "type":"structure", - "members":{ - "UserPoolClient":{ - "shape":"UserPoolClientType", - "documentation":"

The user pool client that was just created.

" - } - }, - "documentation":"

Represents the response from the server to create a user pool client.

" - }, - "CreateUserPoolDomainRequest":{ - "type":"structure", - "required":[ - "Domain", - "UserPoolId" - ], - "members":{ - "Domain":{ - "shape":"DomainType", - "documentation":"

The domain string.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "CustomDomainConfig":{ - "shape":"CustomDomainConfigType", - "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

Provide this parameter only if you want to use own custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead.

For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

" - } - } - }, - "CreateUserPoolDomainResponse":{ - "type":"structure", - "members":{ - "CloudFrontDomain":{ - "shape":"DomainType", - "documentation":"

The Amazon CloudFront endpoint that you use as the target of the alias that you set up with your Domain Name Service (DNS) provider.

" - } - } - }, - "CreateUserPoolRequest":{ - "type":"structure", - "required":["PoolName"], - "members":{ - "PoolName":{ - "shape":"UserPoolNameType", - "documentation":"

A string used to name the user pool.

" - }, - "Policies":{ - "shape":"UserPoolPolicyType", - "documentation":"

The policies associated with the new user pool.

" - }, - "LambdaConfig":{ - "shape":"LambdaConfigType", - "documentation":"

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the AWS CLI, see add-permission .

" - }, - "AutoVerifiedAttributes":{ - "shape":"VerifiedAttributesListType", - "documentation":"

The attributes to be auto-verified. Possible values: email, phone_number.

" - }, - "AliasAttributes":{ - "shape":"AliasAttributesListType", - "documentation":"

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

" - }, - "UsernameAttributes":{ - "shape":"UsernameAttributesListType", - "documentation":"

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

" - }, - "SmsVerificationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

A string representing the SMS verification message.

" - }, - "EmailVerificationMessage":{ - "shape":"EmailVerificationMessageType", - "documentation":"

A string representing the email verification message.

" - }, - "EmailVerificationSubject":{ - "shape":"EmailVerificationSubjectType", - "documentation":"

A string representing the email verification subject.

" - }, - "VerificationMessageTemplate":{ - "shape":"VerificationMessageTemplateType", - "documentation":"

The template for the verification message that the user sees when the app requests permission to access the user's information.

" - }, - "SmsAuthenticationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

A string representing the SMS authentication message.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

Specifies MFA configuration details.

" - }, - "DeviceConfiguration":{ - "shape":"DeviceConfigurationType", - "documentation":"

The device configuration.

" - }, - "EmailConfiguration":{ - "shape":"EmailConfigurationType", - "documentation":"

The email configuration.

" - }, - "SmsConfiguration":{ - "shape":"SmsConfigurationType", - "documentation":"

The SMS configuration.

" - }, - "UserPoolTags":{ - "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" - }, - "AdminCreateUserConfig":{ - "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" - }, - "Schema":{ - "shape":"SchemaAttributesListType", - "documentation":"

An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

" - }, - "UserPoolAddOns":{ - "shape":"UserPoolAddOnsType", - "documentation":"

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" - } - }, - "documentation":"

Represents the request to create a user pool.

" - }, - "CreateUserPoolResponse":{ - "type":"structure", - "members":{ - "UserPool":{ - "shape":"UserPoolType", - "documentation":"

A container for the user pool details.

" - } - }, - "documentation":"

Represents the response from the server for the request to create a user pool.

" - }, - "CustomAttributeNameType":{ - "type":"string", - "max":20, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "CustomAttributesListType":{ - "type":"list", - "member":{"shape":"SchemaAttributeType"}, - "max":25, - "min":1 - }, - "CustomDomainConfigType":{ - "type":"structure", - "required":["CertificateArn"], - "members":{ - "CertificateArn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

" - } - }, - "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" - }, - "DateType":{"type":"timestamp"}, - "DefaultEmailOptionType":{ - "type":"string", - "enum":[ - "CONFIRM_WITH_LINK", - "CONFIRM_WITH_CODE" - ] - }, - "DeleteGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserPoolId" - ], - "members":{ - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - } - } - }, - "DeleteIdentityProviderRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ProviderName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ProviderName":{ - "shape":"ProviderNameType", - "documentation":"

The identity provider name.

" - } - } - }, - "DeleteResourceServerRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Identifier" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that hosts the resource server.

" - }, - "Identifier":{ - "shape":"ResourceServerIdentifierType", - "documentation":"

The identifier for the resource server.

" - } - } - }, - "DeleteUserAttributesRequest":{ - "type":"structure", - "required":[ - "UserAttributeNames", - "AccessToken" - ], - "members":{ - "UserAttributeNames":{ - "shape":"AttributeNameListType", - "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", - "documentation":"

The access token used in the request to delete user attributes.

" - } - }, - "documentation":"

Represents the request to delete user attributes.

" - }, - "DeleteUserAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server to delete user attributes.

" - }, - "DeleteUserPoolClientRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to delete the client.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID of the app associated with the user pool.

" - } - }, - "documentation":"

Represents the request to delete a user pool client.

" - }, - "DeleteUserPoolDomainRequest":{ - "type":"structure", - "required":[ - "Domain", - "UserPoolId" - ], - "members":{ - "Domain":{ - "shape":"DomainType", - "documentation":"

The domain string.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - } - } - }, - "DeleteUserPoolDomainResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteUserPoolRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool you want to delete.

" - } - }, - "documentation":"

Represents the request to delete a user pool.

" - }, - "DeleteUserRequest":{ - "type":"structure", - "required":["AccessToken"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token from a request to delete a user.

" - } - }, - "documentation":"

Represents the request to delete a user.

" - }, - "DeliveryMediumListType":{ - "type":"list", - "member":{"shape":"DeliveryMediumType"} - }, - "DeliveryMediumType":{ - "type":"string", - "enum":[ - "SMS", - "EMAIL" - ] - }, - "DescribeIdentityProviderRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ProviderName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ProviderName":{ - "shape":"ProviderNameType", - "documentation":"

The identity provider name.

" - } - } - }, - "DescribeIdentityProviderResponse":{ - "type":"structure", - "required":["IdentityProvider"], - "members":{ - "IdentityProvider":{ - "shape":"IdentityProviderType", - "documentation":"

The identity provider that was deleted.

" - } - } - }, - "DescribeResourceServerRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Identifier" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that hosts the resource server.

" - }, - "Identifier":{ - "shape":"ResourceServerIdentifierType", - "documentation":"

The identifier for the resource server

" - } - } - }, - "DescribeResourceServerResponse":{ - "type":"structure", - "required":["ResourceServer"], - "members":{ - "ResourceServer":{ - "shape":"ResourceServerType", - "documentation":"

The resource server.

" - } - } - }, - "DescribeRiskConfigurationRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID.

" - } - } - }, - "DescribeRiskConfigurationResponse":{ - "type":"structure", - "required":["RiskConfiguration"], - "members":{ - "RiskConfiguration":{ - "shape":"RiskConfigurationType", - "documentation":"

The risk configuration.

" - } - } - }, - "DescribeUserImportJobRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "JobId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "JobId":{ - "shape":"UserImportJobIdType", - "documentation":"

The job ID for the user import job.

" - } - }, - "documentation":"

Represents the request to describe the user import job.

" - }, - "DescribeUserImportJobResponse":{ - "type":"structure", - "members":{ - "UserImportJob":{ - "shape":"UserImportJobType", - "documentation":"

The job object that represents the user import job.

" - } - }, - "documentation":"

Represents the response from the server to the request to describe the user import job.

" - }, - "DescribeUserPoolClientRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool you want to describe.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID of the app associated with the user pool.

" - } - }, - "documentation":"

Represents the request to describe a user pool client.

" - }, - "DescribeUserPoolClientResponse":{ - "type":"structure", - "members":{ - "UserPoolClient":{ - "shape":"UserPoolClientType", - "documentation":"

The user pool client from a server response to describe the user pool client.

" - } - }, - "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"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool you want to describe.

" - } - }, - "documentation":"

Represents the request to describe the user pool.

" - }, - "DescribeUserPoolResponse":{ - "type":"structure", - "members":{ - "UserPool":{ - "shape":"UserPoolType", - "documentation":"

The container of metadata returned by the server to describe the pool.

" - } - }, - "documentation":"

Represents the response to describe the user pool.

" - }, - "DescriptionType":{ - "type":"string", - "max":2048 - }, - "DeviceConfigurationType":{ - "type":"structure", - "members":{ - "ChallengeRequiredOnNewDevice":{ - "shape":"BooleanType", - "documentation":"

Indicates whether a challenge is required on a new device. Only applicable to a new device.

" - }, - "DeviceOnlyRememberedOnUserPrompt":{ - "shape":"BooleanType", - "documentation":"

If true, a device is only remembered on user prompt.

" - } - }, - "documentation":"

The configuration for the user pool's device tracking.

" - }, - "DeviceKeyType":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+_[0-9a-f-]+" - }, - "DeviceListType":{ - "type":"list", - "member":{"shape":"DeviceType"} - }, - "DeviceNameType":{ - "type":"string", - "max":1024, - "min":1 - }, - "DeviceRememberedStatusType":{ - "type":"string", - "enum":[ - "remembered", - "not_remembered" - ] - }, - "DeviceSecretVerifierConfigType":{ - "type":"structure", - "members":{ - "PasswordVerifier":{ - "shape":"StringType", - "documentation":"

The password verifier.

" - }, - "Salt":{ - "shape":"StringType", - "documentation":"

The salt.

" - } - }, - "documentation":"

The device verifier against which it will be authenticated.

" - }, - "DeviceType":{ - "type":"structure", - "members":{ - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "DeviceAttributes":{ - "shape":"AttributeListType", - "documentation":"

The device attributes.

" - }, - "DeviceCreateDate":{ - "shape":"DateType", - "documentation":"

The creation date of the device.

" - }, - "DeviceLastModifiedDate":{ - "shape":"DateType", - "documentation":"

The last modified date of the device.

" - }, - "DeviceLastAuthenticatedDate":{ - "shape":"DateType", - "documentation":"

The date in which the device was last authenticated.

" - } - }, - "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":"StringType", - "documentation":"

The ARN of the CloudFront distribution.

" - }, - "Version":{ - "shape":"DomainVersionType", - "documentation":"

The app version.

" - }, - "Status":{ - "shape":"DomainStatusType", - "documentation":"

The domain status.

" - }, - "CustomDomainConfig":{"shape":"CustomDomainConfigType"} - }, - "documentation":"

A container for information about a domain.

" - }, - "DomainStatusType":{ - "type":"string", - "enum":[ - "CREATING", - "DELETING", - "UPDATING", - "ACTIVE", - "FAILED" - ] - }, - "DomainType":{ - "type":"string", - "max":63, - "min":1, - "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,61}[a-z0-9])?$" - }, - "DomainVersionType":{ - "type":"string", - "max":20, - "min":1 - }, - "DuplicateProviderException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when the provider is already supported by the user pool.

", - "exception":true - }, - "EmailAddressType":{ - "type":"string", - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+@[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "EmailConfigurationType":{ - "type":"structure", - "members":{ - "SourceArn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the email source.

" - }, - "ReplyToEmailAddress":{ - "shape":"EmailAddressType", - "documentation":"

The destination to which the receiver of the email should reply to.

" - } - }, - "documentation":"

The email configuration type.

" - }, - "EmailNotificationBodyType":{ - "type":"string", - "max":20000, - "min":6, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]+" - }, - "EmailNotificationSubjectType":{ - "type":"string", - "max":140, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" - }, - "EmailVerificationMessageByLinkType":{ - "type":"string", - "max":20000, - "min":6, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{##[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*##\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" - }, - "EmailVerificationMessageType":{ - "type":"string", - "max":20000, - "min":6, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{####\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" - }, - "EmailVerificationSubjectByLinkType":{ - "type":"string", - "max":140, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" - }, - "EmailVerificationSubjectType":{ - "type":"string", - "max":140, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" - }, - "EnableSoftwareTokenMFAException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when there is a code mismatch and the service fails to configure the software token TOTP multi-factor authentication (MFA).

", - "exception":true - }, - "EventContextDataType":{ - "type":"structure", - "members":{ - "IpAddress":{ - "shape":"StringType", - "documentation":"

The user's IP address.

" - }, - "DeviceName":{ - "shape":"StringType", - "documentation":"

The user's device name.

" - }, - "Timezone":{ - "shape":"StringType", - "documentation":"

The user's time zone.

" - }, - "City":{ - "shape":"StringType", - "documentation":"

The user's city.

" - }, - "Country":{ - "shape":"StringType", - "documentation":"

The user's country.

" - } - }, - "documentation":"

Specifies the user context data captured at the time of an event request.

" - }, - "EventFeedbackType":{ - "type":"structure", - "required":[ - "FeedbackValue", - "Provider" - ], - "members":{ - "FeedbackValue":{ - "shape":"FeedbackValueType", - "documentation":"

The event feedback value.

" - }, - "Provider":{ - "shape":"StringType", - "documentation":"

The provider.

" - }, - "FeedbackDate":{ - "shape":"DateType", - "documentation":"

The event feedback date.

" - } - }, - "documentation":"

Specifies the event feedback type.

" - }, - "EventFilterType":{ - "type":"string", - "enum":[ - "SIGN_IN", - "PASSWORD_CHANGE", - "SIGN_UP" - ] - }, - "EventFiltersType":{ - "type":"list", - "member":{"shape":"EventFilterType"} - }, - "EventIdType":{ - "type":"string", - "max":50, - "min":1, - "pattern":"[\\w+-]+" - }, - "EventResponseType":{ - "type":"string", - "enum":[ - "Success", - "Failure" - ] - }, - "EventRiskType":{ - "type":"structure", - "members":{ - "RiskDecision":{ - "shape":"RiskDecisionType", - "documentation":"

The risk decision.

" - }, - "RiskLevel":{ - "shape":"RiskLevelType", - "documentation":"

The risk level.

" - } - }, - "documentation":"

The event risk type.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "SignIn", - "SignUp", - "ForgotPassword" - ] - }, - "ExpiredCodeException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the expired code exception is thrown.

" - } - }, - "documentation":"

This exception is thrown if a code has expired.

", - "exception":true - }, - "ExplicitAuthFlowsListType":{ - "type":"list", - "member":{"shape":"ExplicitAuthFlowsType"} - }, - "ExplicitAuthFlowsType":{ - "type":"string", - "enum":[ - "ADMIN_NO_SRP_AUTH", - "CUSTOM_AUTH_FLOW_ONLY", - "USER_PASSWORD_AUTH" - ] - }, - "FeedbackValueType":{ - "type":"string", - "enum":[ - "Valid", - "Invalid" - ] - }, - "ForceAliasCreation":{"type":"boolean"}, - "ForgetDeviceRequest":{ - "type":"structure", - "required":["DeviceKey"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token for the forgotten device request.

" - }, - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - } - }, - "documentation":"

Represents the request to forget the device.

" - }, - "ForgotPasswordRequest":{ - "type":"structure", - "required":[ - "ClientId", - "Username" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "SecretHash":{ - "shape":"SecretHashType", - "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user for whom you want to enter a code to reset a forgotten password.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ForgotPassword calls.

" - } - }, - "documentation":"

Represents the request to reset a user's password.

" - }, - "ForgotPasswordResponse":{ - "type":"structure", - "members":{ - "CodeDeliveryDetails":{ - "shape":"CodeDeliveryDetailsType", - "documentation":"

The code delivery details returned by the server in response to the request to reset a password.

" - } - }, - "documentation":"

Respresents the response from the server regarding the request to reset a password.

" - }, - "GenerateSecret":{"type":"boolean"}, - "GetCSVHeaderRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are to be imported into.

" - } - }, - "documentation":"

Represents the request to get the header information for the .csv file for the user import job.

" - }, - "GetCSVHeaderResponse":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are to be imported into.

" - }, - "CSVHeader":{ - "shape":"ListOfStringTypes", - "documentation":"

The header information for the .csv file for the user import job.

" - } - }, - "documentation":"

Represents the response from the server to the request to get the header information for the .csv file for the user import job.

" - }, - "GetDeviceRequest":{ - "type":"structure", - "required":["DeviceKey"], - "members":{ - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - } - }, - "documentation":"

Represents the request to get the device.

" - }, - "GetDeviceResponse":{ - "type":"structure", - "required":["Device"], - "members":{ - "Device":{ - "shape":"DeviceType", - "documentation":"

The device.

" - } - }, - "documentation":"

Gets the device response.

" - }, - "GetGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserPoolId" - ], - "members":{ - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - } - } - }, - "GetGroupResponse":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"GroupType", - "documentation":"

The group object for the group.

" - } - } - }, - "GetIdentityProviderByIdentifierRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "IdpIdentifier" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "IdpIdentifier":{ - "shape":"IdpIdentifierType", - "documentation":"

The identity provider ID.

" - } - } - }, - "GetIdentityProviderByIdentifierResponse":{ - "type":"structure", - "required":["IdentityProvider"], - "members":{ - "IdentityProvider":{ - "shape":"IdentityProviderType", - "documentation":"

The identity provider object.

" - } - } - }, - "GetSigningCertificateRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - } - }, - "documentation":"

Request to get a signing certificate from Cognito.

" - }, - "GetSigningCertificateResponse":{ - "type":"structure", - "members":{ - "Certificate":{ - "shape":"StringType", - "documentation":"

The signing certificate.

" - } - }, - "documentation":"

Response from Cognito for a signing certificate request.

" - }, - "GetUICustomizationRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The client ID for the client app.

" - } - } - }, - "GetUICustomizationResponse":{ - "type":"structure", - "required":["UICustomization"], - "members":{ - "UICustomization":{ - "shape":"UICustomizationType", - "documentation":"

The UI customization information.

" - } - } - }, - "GetUserAttributeVerificationCodeRequest":{ - "type":"structure", - "required":[ - "AccessToken", - "AttributeName" - ], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token returned by the server response to get the user attribute verification code.

" - }, - "AttributeName":{ - "shape":"AttributeNameType", - "documentation":"

The attribute name returned by the server response to get the user attribute verification code.

" - } - }, - "documentation":"

Represents the request to get user attribute verification.

" - }, - "GetUserAttributeVerificationCodeResponse":{ - "type":"structure", - "members":{ - "CodeDeliveryDetails":{ - "shape":"CodeDeliveryDetailsType", - "documentation":"

The code delivery details returned by the server in response to the request to get the user attribute verification code.

" - } - }, - "documentation":"

The verification code response returned by the server response to get the user attribute verification code.

" - }, - "GetUserPoolMfaConfigRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - } - } - }, - "GetUserPoolMfaConfigResponse":{ - "type":"structure", - "members":{ - "SmsMfaConfiguration":{ - "shape":"SmsMfaConfigType", - "documentation":"

The SMS text message multi-factor (MFA) configuration.

" - }, - "SoftwareTokenMfaConfiguration":{ - "shape":"SoftwareTokenMfaConfigType", - "documentation":"

The software token multi-factor (MFA) configuration.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

The multi-factor (MFA) configuration.

" - } - } - }, - "GetUserRequest":{ - "type":"structure", - "required":["AccessToken"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token returned by the server response to get information about the user.

" - } - }, - "documentation":"

Represents the request to get information about the user.

" - }, - "GetUserResponse":{ - "type":"structure", - "required":[ - "Username", - "UserAttributes" - ], - "members":{ - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to retrieve from the get user request.

" - }, - "UserAttributes":{ - "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" - }, - "MFAOptions":{ - "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" - }, - "PreferredMfaSetting":{ - "shape":"StringType", - "documentation":"

The user's preferred MFA setting.

" - }, - "UserMFASettingList":{ - "shape":"UserMFASettingListType", - "documentation":"

The list of the user's MFA settings.

" - } - }, - "documentation":"

Represents the response from the server from the request to get information about the user.

" - }, - "GlobalSignOutRequest":{ - "type":"structure", - "required":["AccessToken"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - } - }, - "documentation":"

Represents the request to sign out all devices.

" - }, - "GlobalSignOutResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response to the request to sign out all devices.

" - }, - "GroupExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when Amazon Cognito encounters a group that already exists in the user pool.

", - "exception":true - }, - "GroupListType":{ - "type":"list", - "member":{"shape":"GroupType"} - }, - "GroupNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "GroupType":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

A string containing the description of the group.

" - }, - "RoleArn":{ - "shape":"ArnType", - "documentation":"

The role ARN for the group.

" - }, - "Precedence":{ - "shape":"PrecedenceType", - "documentation":"

A nonnegative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. If a user belongs to two or more groups, it is the group with the highest precedence whose role ARN will be used in the cognito:roles and cognito:preferred_role claims in the user's tokens. Groups with higher Precedence values take precedence over groups with lower Precedence values or with null Precedence values.

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim is not set in users' tokens.

The default Precedence value is null.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the group was last modified.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date the group was created.

" - } - }, - "documentation":"

The group type.

" - }, - "HexStringType":{ - "type":"string", - "pattern":"^[0-9a-fA-F]+$" - }, - "HttpHeader":{ - "type":"structure", - "members":{ - "headerName":{ - "shape":"StringType", - "documentation":"

The header name

" - }, - "headerValue":{ - "shape":"StringType", - "documentation":"

The header value.

" - } - }, - "documentation":"

The HTTP header.

" - }, - "HttpHeaderList":{ - "type":"list", - "member":{"shape":"HttpHeader"} - }, - "IdentityProviderType":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ProviderName":{ - "shape":"ProviderNameType", - "documentation":"

The identity provider name.

" - }, - "ProviderType":{ - "shape":"IdentityProviderTypeType", - "documentation":"

The identity provider type.

" - }, - "ProviderDetails":{ - "shape":"ProviderDetailsType", - "documentation":"

The identity provider details, 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", - "Facebook", - "Google", - "LoginWithAmazon", - "OIDC" - ] - }, - "IdpIdentifierType":{ - "type":"string", - "max":40, - "min":1, - "pattern":"[\\w\\s+=.@-]+" - }, - "IdpIdentifiersListType":{ - "type":"list", - "member":{"shape":"IdpIdentifierType"}, - "max":50, - "min":0 - }, - "ImageFileType":{"type":"blob"}, - "ImageUrlType":{"type":"string"}, - "InitiateAuthRequest":{ - "type":"structure", - "required":[ - "AuthFlow", - "ClientId" - ], - "members":{ - "AuthFlow":{ - "shape":"AuthFlowType", - "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution.

  • USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

  • USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool.

ADMIN_NO_SRP_AUTH is not a valid value.

" - }, - "AuthParameters":{ - "shape":"AuthParametersType", - "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" - }, - "ClientMetadata":{ - "shape":"ClientMetadataType", - "documentation":"

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 app client ID.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth calls.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

Initiates the authentication request.

" - }, - "InitiateAuthResponse":{ - "type":"structure", - "members":{ - "ChallengeName":{ - "shape":"ChallengeNameType", - "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 which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" - }, - "ChallengeParameters":{ - "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters. 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 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.

" - }, - "IntegerType":{"type":"integer"}, - "InternalErrorException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when Amazon Cognito throws an internal error exception.

" - } - }, - "documentation":"

This exception is thrown when Amazon Cognito encounters an internal error.

", - "exception":true, - "fault":true - }, - "InvalidEmailRoleAccessPolicyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when you have an unverified email address or the identity policy is not set on an email address that Amazon Cognito can access.

" - } - }, - "documentation":"

This exception is thrown when Amazon Cognito is not allowed to use your email identity. HTTP status code: 400.

", - "exception":true - }, - "InvalidLambdaResponseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service throws an invalid AWS Lambda response exception.

" - } - }, - "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":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service throws an invalid parameter exception.

" - } - }, - "documentation":"

This exception is thrown when the Amazon Cognito service encounters an invalid parameter.

", - "exception":true - }, - "InvalidPasswordException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service throws an invalid user password exception.

" - } - }, - "documentation":"

This exception is thrown when the Amazon Cognito service encounters an invalid password.

", - "exception":true - }, - "InvalidSmsRoleAccessPolicyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message retuned when the invalid SMS role access policy exception is thrown.

" - } - }, - "documentation":"

This exception is returned when the role provided for SMS configuration does not have permission to publish using Amazon SNS.

", - "exception":true - }, - "InvalidSmsRoleTrustRelationshipException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the role trust relationship for the SMS message is invalid.

" - } - }, - "documentation":"

This exception is thrown when the trust relationship is invalid for the role provided for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com or the external ID provided in the role does not match what is provided in the SMS configuration for the user pool.

", - "exception":true - }, - "InvalidUserPoolConfigurationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the user pool configuration is invalid.

" - } - }, - "documentation":"

This exception is thrown when the user pool configuration is invalid.

", - "exception":true - }, - "LambdaConfigType":{ - "type":"structure", - "members":{ - "PreSignUp":{ - "shape":"ArnType", - "documentation":"

A pre-registration AWS Lambda trigger.

" - }, - "CustomMessage":{ - "shape":"ArnType", - "documentation":"

A custom Message AWS Lambda trigger.

" - }, - "PostConfirmation":{ - "shape":"ArnType", - "documentation":"

A post-confirmation AWS Lambda trigger.

" - }, - "PreAuthentication":{ - "shape":"ArnType", - "documentation":"

A pre-authentication AWS Lambda trigger.

" - }, - "PostAuthentication":{ - "shape":"ArnType", - "documentation":"

A post-authentication AWS Lambda trigger.

" - }, - "DefineAuthChallenge":{ - "shape":"ArnType", - "documentation":"

Defines the authentication challenge.

" - }, - "CreateAuthChallenge":{ - "shape":"ArnType", - "documentation":"

Creates an authentication challenge.

" - }, - "VerifyAuthChallengeResponse":{ - "shape":"ArnType", - "documentation":"

Verifies the authentication challenge response.

" - }, - "PreTokenGeneration":{ - "shape":"ArnType", - "documentation":"

A Lambda trigger that is invoked before token generation.

" - }, - "UserMigration":{ - "shape":"ArnType", - "documentation":"

The user migration Lambda config type.

" - } - }, - "documentation":"

Specifies the configuration for AWS Lambda triggers.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when Amazon Cognito throws a limit exceeded exception.

" - } - }, - "documentation":"

This exception is thrown when a user exceeds the limit for a requested AWS resource.

", - "exception":true - }, - "ListDevicesRequest":{ - "type":"structure", - "required":["AccessToken"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access tokens for the request to list devices.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

The limit of the device request.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "documentation":"

The pagination token for the list request.

" - } - }, - "documentation":"

Represents the request to list the devices.

" - }, - "ListDevicesResponse":{ - "type":"structure", - "members":{ - "Devices":{ - "shape":"DeviceListType", - "documentation":"

The devices returned in the list devices response.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "documentation":"

The pagination token for the list device response.

" - } - }, - "documentation":"

Represents the response to list devices.

" - }, - "ListGroupsRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

The limit of the request to list groups.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListGroupsResponse":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupListType", - "documentation":"

The group objects for the groups.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListIdentityProvidersRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "MaxResults":{ - "shape":"ListProvidersLimitType", - "documentation":"

The maximum number of identity providers to return.

" - }, - "NextToken":{ - "shape":"PaginationKeyType", - "documentation":"

A pagination token.

" - } - } - }, - "ListIdentityProvidersResponse":{ - "type":"structure", - "required":["Providers"], - "members":{ - "Providers":{ - "shape":"ProvidersListType", - "documentation":"

A list of identity provider objects.

" - }, - "NextToken":{ - "shape":"PaginationKeyType", - "documentation":"

A pagination token.

" - } - } - }, - "ListOfStringTypes":{ - "type":"list", - "member":{"shape":"StringType"} - }, - "ListProvidersLimitType":{ - "type":"integer", - "max":60, - "min":1 - }, - "ListResourceServersLimitType":{ - "type":"integer", - "max":50, - "min":1 - }, - "ListResourceServersRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "MaxResults":{ - "shape":"ListResourceServersLimitType", - "documentation":"

The maximum number of resource servers to return.

" - }, - "NextToken":{ - "shape":"PaginationKeyType", - "documentation":"

A pagination token.

" - } - } - }, - "ListResourceServersResponse":{ - "type":"structure", - "required":["ResourceServers"], - "members":{ - "ResourceServers":{ - "shape":"ResourceServersListType", - "documentation":"

The resource servers.

" - }, - "NextToken":{ - "shape":"PaginationKeyType", - "documentation":"

A pagination token.

" - } - } - }, - "ListUserImportJobsRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "MaxResults" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "MaxResults":{ - "shape":"PoolQueryLimitType", - "documentation":"

The maximum number of import jobs you want the request to return.

" - }, - "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":"

Represents the request to list the user import jobs.

" - }, - "ListUserImportJobsResponse":{ - "type":"structure", - "members":{ - "UserImportJobs":{ - "shape":"UserImportJobsListType", - "documentation":"

The user import jobs.

" - }, - "PaginationToken":{ - "shape":"PaginationKeyType", - "documentation":"

An identifier that can be used to return the next set of user import jobs in the list.

" - } - }, - "documentation":"

Represents the response from the server to the request to list the user import jobs.

" - }, - "ListUserPoolClientsRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to list user pool clients.

" - }, - "MaxResults":{ - "shape":"QueryLimit", - "documentation":"

The maximum number of results you want the request to return when listing the user pool clients.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the request to list the user pool clients.

" - }, - "ListUserPoolClientsResponse":{ - "type":"structure", - "members":{ - "UserPoolClients":{ - "shape":"UserPoolClientListType", - "documentation":"

The user pool clients in the response that lists user pool clients.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the response from the server that lists user pool clients.

" - }, - "ListUserPoolsRequest":{ - "type":"structure", - "required":["MaxResults"], - "members":{ - "NextToken":{ - "shape":"PaginationKeyType", - "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.

" - }, - "MaxResults":{ - "shape":"PoolQueryLimitType", - "documentation":"

The maximum number of results you want the request to return when listing the user pools.

" - } - }, - "documentation":"

Represents the request to list user pools.

" - }, - "ListUserPoolsResponse":{ - "type":"structure", - "members":{ - "UserPools":{ - "shape":"UserPoolListType", - "documentation":"

The user pools from the response to list users.

" - }, - "NextToken":{ - "shape":"PaginationKeyType", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the response to list user pools.

" - }, - "ListUsersInGroupRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "GroupName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

The limit of the request to list users.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListUsersInGroupResponse":{ - "type":"structure", - "members":{ - "Users":{ - "shape":"UsersListType", - "documentation":"

The users returned in the request to list users.

" - }, - "NextToken":{ - "shape":"PaginationKey", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListUsersRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool on which the search should be performed.

" - }, - "AttributesToGet":{ - "shape":"SearchedAttributeNamesListType", - "documentation":"

An array of strings, where each string is the name of a user attribute to be returned for each user in the search results. If the array is null, all attributes are returned.

" - }, - "Limit":{ - "shape":"QueryLimitType", - "documentation":"

Maximum number of users to be returned.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "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.

" - }, - "Filter":{ - "shape":"UserFilterType", - "documentation":"

A filter string of the form \"AttributeName Filter-Type \"AttributeValue\"\". Quotation marks within the filter string must be escaped using the backslash (\\) character. For example, \"family_name = \\\"Reddy\\\"\".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use ^=, for example, \"given_name ^= \\\"Jon\\\"\".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes are not searchable.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

" - } - }, - "documentation":"

Represents the request to list users.

" - }, - "ListUsersResponse":{ - "type":"structure", - "members":{ - "Users":{ - "shape":"UsersListType", - "documentation":"

The users returned in the request to list users.

" - }, - "PaginationToken":{ - "shape":"SearchPaginationTokenType", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - }, - "documentation":"

The response from the request to list users.

" - }, - "LogoutURLsListType":{ - "type":"list", - "member":{"shape":"RedirectUrlType"}, - "max":100, - "min":0 - }, - "LongType":{"type":"long"}, - "MFAMethodNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when Amazon Cognito throws an MFA method not found exception.

" - } - }, - "documentation":"

This exception is thrown when Amazon Cognito cannot find a multi-factor authentication (MFA) method.

", - "exception":true - }, - "MFAOptionListType":{ - "type":"list", - "member":{"shape":"MFAOptionType"} - }, - "MFAOptionType":{ - "type":"structure", - "members":{ - "DeliveryMedium":{ - "shape":"DeliveryMediumType", - "documentation":"

The delivery medium (email message or SMS message) to send the MFA code.

" - }, - "AttributeName":{ - "shape":"AttributeNameType", - "documentation":"

The attribute name of the MFA option type.

" - } - }, - "documentation":"

Specifies the different settings for multi-factor authentication (MFA).

" - }, - "MessageActionType":{ - "type":"string", - "enum":[ - "RESEND", - "SUPPRESS" - ] - }, - "MessageTemplateType":{ - "type":"structure", - "members":{ - "SMSMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The message template for SMS messages.

" - }, - "EmailMessage":{ - "shape":"EmailVerificationMessageType", - "documentation":"

The message template for email messages.

" - }, - "EmailSubject":{ - "shape":"EmailVerificationSubjectType", - "documentation":"

The subject line for email messages.

" - } - }, - "documentation":"

The message template structure.

" - }, - "MessageType":{"type":"string"}, - "NewDeviceMetadataType":{ - "type":"structure", - "members":{ - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "DeviceGroupKey":{ - "shape":"StringType", - "documentation":"

The device group key.

" - } - }, - "documentation":"

The new device metadata type.

" - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns a not authorized exception.

" - } - }, - "documentation":"

This exception is thrown when a user is not authorized.

", - "exception":true - }, - "NotifyConfigurationType":{ - "type":"structure", - "required":["SourceArn"], - "members":{ - "From":{ - "shape":"StringType", - "documentation":"

The email address that is sending the email. It must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

" - }, - "ReplyTo":{ - "shape":"StringType", - "documentation":"

The destination to which the receiver of an email should reply to.

" - }, - "SourceArn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. It permits Amazon Cognito to send for the email address specified in the From parameter.

" - }, - "BlockEmail":{ - "shape":"NotifyEmailType", - "documentation":"

Email template used when a detected risk event is blocked.

" - }, - "NoActionEmail":{ - "shape":"NotifyEmailType", - "documentation":"

The email template used when a detected risk event is allowed.

" - }, - "MfaEmail":{ - "shape":"NotifyEmailType", - "documentation":"

The MFA email template used when MFA is challenged as part of a detected risk.

" - } - }, - "documentation":"

The notify configuration type.

" - }, - "NotifyEmailType":{ - "type":"structure", - "required":["Subject"], - "members":{ - "Subject":{ - "shape":"EmailNotificationSubjectType", - "documentation":"

The subject.

" - }, - "HtmlBody":{ - "shape":"EmailNotificationBodyType", - "documentation":"

The HTML body.

" - }, - "TextBody":{ - "shape":"EmailNotificationBodyType", - "documentation":"

The text body.

" - } - }, - "documentation":"

The notify email type.

" - }, - "NumberAttributeConstraintsType":{ - "type":"structure", - "members":{ - "MinValue":{ - "shape":"StringType", - "documentation":"

The minimum value of an attribute that is of the number data type.

" - }, - "MaxValue":{ - "shape":"StringType", - "documentation":"

The maximum value of an attribute that is of the number data type.

" - } - }, - "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, - "pattern":"[\\S]+" - }, - "PaginationKeyType":{ - "type":"string", - "min":1, - "pattern":"[\\S]+" - }, - "PasswordPolicyMinLengthType":{ - "type":"integer", - "max":99, - "min":6 - }, - "PasswordPolicyType":{ - "type":"structure", - "members":{ - "MinimumLength":{ - "shape":"PasswordPolicyMinLengthType", - "documentation":"

The minimum length of the password policy that you have set. Cannot be less than 6.

" - }, - "RequireUppercase":{ - "shape":"BooleanType", - "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

" - }, - "RequireLowercase":{ - "shape":"BooleanType", - "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

" - }, - "RequireNumbers":{ - "shape":"BooleanType", - "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

" - }, - "RequireSymbols":{ - "shape":"BooleanType", - "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

" - } - }, - "documentation":"

The password policy type.

" - }, - "PasswordResetRequiredException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when a password reset is required.

" - } - }, - "documentation":"

This exception is thrown when a password reset is required.

", - "exception":true - }, - "PasswordType":{ - "type":"string", - "max":256, - "min":6, - "pattern":"[\\S]+", - "sensitive":true - }, - "PoolQueryLimitType":{ - "type":"integer", - "max":60, - "min":1 - }, - "PreSignedUrlType":{ - "type":"string", - "max":2048, - "min":0 - }, - "PrecedenceType":{ - "type":"integer", - "min":0 - }, - "PreconditionNotMetException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when a precondition is not met.

" - } - }, - "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}]+" - }, - "ProviderNameTypeV1":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+" - }, - "ProviderUserIdentifierType":{ - "type":"structure", - "members":{ - "ProviderName":{ - "shape":"ProviderNameType", - "documentation":"

The name of the provider, for example, Facebook, Google, or Login with Amazon.

" - }, - "ProviderAttributeName":{ - "shape":"StringType", - "documentation":"

The name of the provider attribute to link to, for example, NameID.

" - }, - "ProviderAttributeValue":{ - "shape":"StringType", - "documentation":"

The value of the provider attribute to link to, for example, xxxxx_account.

" - } - }, - "documentation":"

A container for information about an identity provider for a user pool.

" - }, - "ProvidersListType":{ - "type":"list", - "member":{"shape":"ProviderDescription"}, - "max":50, - "min":0 - }, - "QueryLimit":{ - "type":"integer", - "max":60, - "min":1 - }, - "QueryLimitType":{ - "type":"integer", - "max":60, - "min":0 - }, - "RedirectUrlType":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "RefreshTokenValidityType":{ - "type":"integer", - "max":3650, - "min":0 - }, - "ResendConfirmationCodeRequest":{ - "type":"structure", - "required":[ - "ClientId", - "Username" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "SecretHash":{ - "shape":"SecretHashType", - "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user to whom you wish to resend a confirmation code.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ResendConfirmationCode calls.

" - } - }, - "documentation":"

Represents the request to resend the confirmation code.

" - }, - "ResendConfirmationCodeResponse":{ - "type":"structure", - "members":{ - "CodeDeliveryDetails":{ - "shape":"CodeDeliveryDetailsType", - "documentation":"

The code delivery details returned by the server in response to the request to resend the confirmation code.

" - } - }, - "documentation":"

The response from the server when the Amazon Cognito Your User Pools service makes the request to resend a confirmation code.

" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns a resource not found exception.

" - } - }, - "documentation":"

This exception is thrown when the Amazon Cognito service cannot find the requested resource.

", - "exception":true - }, - "ResourceServerIdentifierType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" - }, - "ResourceServerNameType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\w\\s+=,.@-]+" - }, - "ResourceServerScopeDescriptionType":{ - "type":"string", - "max":256, - "min":1 - }, - "ResourceServerScopeListType":{ - "type":"list", - "member":{"shape":"ResourceServerScopeType"}, - "max":25 - }, - "ResourceServerScopeNameType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\x21\\x23-\\x2E\\x30-\\x5B\\x5D-\\x7E]+" - }, - "ResourceServerScopeType":{ - "type":"structure", - "required":[ - "ScopeName", - "ScopeDescription" - ], - "members":{ - "ScopeName":{ - "shape":"ResourceServerScopeNameType", - "documentation":"

The name of the scope.

" - }, - "ScopeDescription":{ - "shape":"ResourceServerScopeDescriptionType", - "documentation":"

A description of the scope.

" - } - }, - "documentation":"

A resource server scope.

" - }, - "ResourceServerType":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that hosts the resource server.

" - }, - "Identifier":{ - "shape":"ResourceServerIdentifierType", - "documentation":"

The identifier for the resource server.

" - }, - "Name":{ - "shape":"ResourceServerNameType", - "documentation":"

The name of the resource server.

" - }, - "Scopes":{ - "shape":"ResourceServerScopeListType", - "documentation":"

A list of scopes that are defined for the resource server.

" - } - }, - "documentation":"

A container for information about a resource server for a user pool.

" - }, - "ResourceServersListType":{ - "type":"list", - "member":{"shape":"ResourceServerType"} - }, - "RespondToAuthChallengeRequest":{ - "type":"structure", - "required":[ - "ClientId", - "ChallengeName" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID.

" - }, - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The challenge name. For more information, see .

ADMIN_NO_SRP_AUTH is not a valid value.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" - }, - "ChallengeResponses":{ - "shape":"ChallengeResponsesType", - "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for RespondToAuthChallenge calls.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

The request to respond to an authentication challenge.

" - }, - "RespondToAuthChallengeResponse":{ - "type":"structure", - "members":{ - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The challenge name. For more information, see .

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" - }, - "ChallengeParameters":{ - "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters. For more information, see .

" - }, - "AuthenticationResult":{ - "shape":"AuthenticationResultType", - "documentation":"

The result returned by the server in response to the request to respond to the authentication challenge.

" - } - }, - "documentation":"

The response to respond to the authentication challenge.

" - }, - "RiskConfigurationType":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID.

" - }, - "CompromisedCredentialsRiskConfiguration":{ - "shape":"CompromisedCredentialsRiskConfigurationType", - "documentation":"

The compromised credentials risk configuration object including the EventFilter and the EventAction

" - }, - "AccountTakeoverRiskConfiguration":{ - "shape":"AccountTakeoverRiskConfigurationType", - "documentation":"

The account takeover risk configuration object including the NotifyConfiguration object and Actions to take in the case of an account takeover.

" - }, - "RiskExceptionConfiguration":{ - "shape":"RiskExceptionConfigurationType", - "documentation":"

The configuration to override the risk decision.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The last modified date.

" - } - }, - "documentation":"

The risk configuration type.

" - }, - "RiskDecisionType":{ - "type":"string", - "enum":[ - "NoRisk", - "AccountTakeover", - "Block" - ] - }, - "RiskExceptionConfigurationType":{ - "type":"structure", - "members":{ - "BlockedIPRangeList":{ - "shape":"BlockedIPRangeListType", - "documentation":"

Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation: a compact representation of an IP address and its associated routing prefix.

" - }, - "SkippedIPRangeList":{ - "shape":"SkippedIPRangeListType", - "documentation":"

Risk detection is not performed on the IP addresses in the range list. The IP range is in CIDR notation.

" - } - }, - "documentation":"

The type of the configuration to override the risk decision.

" - }, - "RiskLevelType":{ - "type":"string", - "enum":[ - "Low", - "Medium", - "High" - ] - }, - "S3BucketType":{ - "type":"string", - "max":1024, - "min":3, - "pattern":"^[0-9A-Za-z\\.\\-_]*(?Specifies whether SMS text message MFA is enabled.

" - }, - "PreferredMfa":{ - "shape":"BooleanType", - "documentation":"

The preferred MFA method.

" - } - }, - "documentation":"

The SMS multi-factor authentication (MFA) settings type.

" - }, - "SchemaAttributeType":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"CustomAttributeNameType", - "documentation":"

A schema attribute of the name type.

" - }, - "AttributeDataType":{ - "shape":"AttributeDataType", - "documentation":"

The attribute data type.

" - }, - "DeveloperOnlyAttribute":{ - "shape":"BooleanType", - "documentation":"

Specifies whether the attribute type is developer only.

", - "box":true - }, - "Mutable":{ - "shape":"BooleanType", - "documentation":"

Specifies whether the value of the attribute can be changed.

", - "box":true - }, - "Required":{ - "shape":"BooleanType", - "documentation":"

Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

", - "box":true - }, - "NumberAttributeConstraints":{ - "shape":"NumberAttributeConstraintsType", - "documentation":"

Specifies the constraints for an attribute of the number type.

" - }, - "StringAttributeConstraints":{ - "shape":"StringAttributeConstraintsType", - "documentation":"

Specifies the constraints for an attribute of the string type.

" - } - }, - "documentation":"

Contains information about the schema attribute.

" - }, - "SchemaAttributesListType":{ - "type":"list", - "member":{"shape":"SchemaAttributeType"}, - "max":50, - "min":1 - }, - "ScopeDoesNotExistException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when the specified scope does not exist.

", - "exception":true - }, - "ScopeListType":{ - "type":"list", - "member":{"shape":"ScopeType"}, - "max":25 - }, - "ScopeType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" - }, - "SearchPaginationTokenType":{ - "type":"string", - "min":1, - "pattern":"[\\S]+" - }, - "SearchedAttributeNamesListType":{ - "type":"list", - "member":{"shape":"AttributeNameType"} - }, - "SecretCodeType":{ - "type":"string", - "min":16, - "pattern":"[A-Za-z0-9]+", - "sensitive":true - }, - "SecretHashType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=/]+", - "sensitive":true - }, - "SessionType":{ - "type":"string", - "max":2048, - "min":20 - }, - "SetRiskConfigurationRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The app client ID. If ClientId is null, then the risk configuration is mapped to userPoolId. When the client ID is null, the same risk configuration is applied to all the clients in the userPool.

Otherwise, ClientId is mapped to the client. When the client ID is not null, the user pool configuration is overridden and the risk configuration for the client is used instead.

" - }, - "CompromisedCredentialsRiskConfiguration":{ - "shape":"CompromisedCredentialsRiskConfigurationType", - "documentation":"

The compromised credentials risk configuration.

" - }, - "AccountTakeoverRiskConfiguration":{ - "shape":"AccountTakeoverRiskConfigurationType", - "documentation":"

The account takeover risk configuration.

" - }, - "RiskExceptionConfiguration":{ - "shape":"RiskExceptionConfigurationType", - "documentation":"

The configuration to override the risk decision.

" - } - } - }, - "SetRiskConfigurationResponse":{ - "type":"structure", - "required":["RiskConfiguration"], - "members":{ - "RiskConfiguration":{ - "shape":"RiskConfigurationType", - "documentation":"

The risk configuration.

" - } - } - }, - "SetUICustomizationRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The client ID for the client app.

" - }, - "CSS":{ - "shape":"CSSType", - "documentation":"

The CSS values in the UI customization.

" - }, - "ImageFile":{ - "shape":"ImageFileType", - "documentation":"

The uploaded logo image for the UI customization.

" - } - } - }, - "SetUICustomizationResponse":{ - "type":"structure", - "required":["UICustomization"], - "members":{ - "UICustomization":{ - "shape":"UICustomizationType", - "documentation":"

The UI customization information.

" - } - } - }, - "SetUserMFAPreferenceRequest":{ - "type":"structure", - "required":["AccessToken"], - "members":{ - "SMSMfaSettings":{ - "shape":"SMSMfaSettingsType", - "documentation":"

The SMS text message multi-factor authentication (MFA) settings.

" - }, - "SoftwareTokenMfaSettings":{ - "shape":"SoftwareTokenMfaSettingsType", - "documentation":"

The time-based one-time password software token MFA settings.

" - }, - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - } - } - }, - "SetUserMFAPreferenceResponse":{ - "type":"structure", - "members":{ - } - }, - "SetUserPoolMfaConfigRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "SmsMfaConfiguration":{ - "shape":"SmsMfaConfigType", - "documentation":"

The SMS text message MFA configuration.

" - }, - "SoftwareTokenMfaConfiguration":{ - "shape":"SoftwareTokenMfaConfigType", - "documentation":"

The software token MFA configuration.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

The MFA configuration.

" - } - } - }, - "SetUserPoolMfaConfigResponse":{ - "type":"structure", - "members":{ - "SmsMfaConfiguration":{ - "shape":"SmsMfaConfigType", - "documentation":"

The SMS text message MFA configuration.

" - }, - "SoftwareTokenMfaConfiguration":{ - "shape":"SoftwareTokenMfaConfigType", - "documentation":"

The software token MFA configuration.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

The MFA configuration.

" - } - } - }, - "SetUserSettingsRequest":{ - "type":"structure", - "required":[ - "AccessToken", - "MFAOptions" - ], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token for the set user settings request.

" - }, - "MFAOptions":{ - "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" - } - }, - "documentation":"

Represents the request to set user settings.

" - }, - "SetUserSettingsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response from the server for a set user settings request.

" - }, - "SignUpRequest":{ - "type":"structure", - "required":[ - "ClientId", - "Username", - "Password" - ], - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "SecretHash":{ - "shape":"SecretHashType", - "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to register.

" - }, - "Password":{ - "shape":"PasswordType", - "documentation":"

The password of the user you wish to register.

" - }, - "UserAttributes":{ - "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" - }, - "ValidationData":{ - "shape":"AttributeListType", - "documentation":"

The validation data in the request to register a user.

" - }, - "AnalyticsMetadata":{ - "shape":"AnalyticsMetadataType", - "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for SignUp calls.

" - }, - "UserContextData":{ - "shape":"UserContextDataType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

Represents the request to register a user.

" - }, - "SignUpResponse":{ - "type":"structure", - "required":[ - "UserConfirmed", - "UserSub" - ], - "members":{ - "UserConfirmed":{ - "shape":"BooleanType", - "documentation":"

A response from the server indicating that a user registration has been confirmed.

" - }, - "CodeDeliveryDetails":{ - "shape":"CodeDeliveryDetailsType", - "documentation":"

The code delivery details returned by the server response to the user registration request.

" - }, - "UserSub":{ - "shape":"StringType", - "documentation":"

The UUID of the authenticated user. This is not the same as username.

" - } - }, - "documentation":"

The response from the server for a registration request.

" - }, - "SkippedIPRangeListType":{ - "type":"list", - "member":{"shape":"StringType"}, - "max":20 - }, - "SmsConfigurationType":{ - "type":"structure", - "required":["SnsCallerArn"], - "members":{ - "SnsCallerArn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

" - }, - "ExternalId":{ - "shape":"StringType", - "documentation":"

The external ID.

" - } - }, - "documentation":"

The SMS configuration type.

" - }, - "SmsMfaConfigType":{ - "type":"structure", - "members":{ - "SmsAuthenticationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The SMS authentication message.

" - }, - "SmsConfiguration":{ - "shape":"SmsConfigurationType", - "documentation":"

The SMS configuration.

" - } - }, - "documentation":"

The SMS text message multi-factor authentication (MFA) configuration type.

" - }, - "SmsVerificationMessageType":{ - "type":"string", - "max":140, - "min":6, - "pattern":".*\\{####\\}.*" - }, - "SoftwareTokenMFANotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when the software token TOTP multi-factor authentication (MFA) is not enabled for the user pool.

", - "exception":true - }, - "SoftwareTokenMFAUserCodeType":{ - "type":"string", - "max":6, - "min":6, - "pattern":"[0-9]+" - }, - "SoftwareTokenMfaConfigType":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"BooleanType", - "documentation":"

Specifies whether software token MFA is enabled.

" - } - }, - "documentation":"

The type used for enabling software token MFA at the user pool level.

" - }, - "SoftwareTokenMfaSettingsType":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"BooleanType", - "documentation":"

Specifies whether software token MFA is enabled.

" - }, - "PreferredMfa":{ - "shape":"BooleanType", - "documentation":"

The preferred MFA method.

" - } - }, - "documentation":"

The type used for enabling software token MFA at the user level.

" - }, - "StartUserImportJobRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "JobId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "JobId":{ - "shape":"UserImportJobIdType", - "documentation":"

The job ID for the user import job.

" - } - }, - "documentation":"

Represents the request to start the user import job.

" - }, - "StartUserImportJobResponse":{ - "type":"structure", - "members":{ - "UserImportJob":{ - "shape":"UserImportJobType", - "documentation":"

The job object that represents the user import job.

" - } - }, - "documentation":"

Represents the response from the server to the request to start the user import job.

" - }, - "StatusType":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "StopUserImportJobRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "JobId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "JobId":{ - "shape":"UserImportJobIdType", - "documentation":"

The job ID for the user import job.

" - } - }, - "documentation":"

Represents the request to stop the user import job.

" - }, - "StopUserImportJobResponse":{ - "type":"structure", - "members":{ - "UserImportJob":{ - "shape":"UserImportJobType", - "documentation":"

The job object that represents the user import job.

" - } - }, - "documentation":"

Represents the response from the server to the request to stop the user import job.

" - }, - "StringAttributeConstraintsType":{ - "type":"structure", - "members":{ - "MinLength":{ - "shape":"StringType", - "documentation":"

The minimum length.

" - }, - "MaxLength":{ - "shape":"StringType", - "documentation":"

The maximum length.

" - } - }, - "documentation":"

The constraints associated with a string attribute.

" - }, - "StringType":{"type":"string"}, - "SupportedIdentityProvidersListType":{ - "type":"list", - "member":{"shape":"ProviderNameType"} - }, - "TokenModelType":{ - "type":"string", - "pattern":"[A-Za-z0-9-_=.]+", - "sensitive":true - }, - "TooManyFailedAttemptsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns a too many failed attempts exception.

" - } - }, - "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":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns a too many requests exception.

" - } - }, - "documentation":"

This exception is thrown when the user has made too many requests for a given operation.

", - "exception":true - }, - "UICustomizationType":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The client ID for the client app.

" - }, - "ImageUrl":{ - "shape":"ImageUrlType", - "documentation":"

The logo image for the UI customization.

" - }, - "CSS":{ - "shape":"CSSType", - "documentation":"

The CSS values in the UI customization.

" - }, - "CSSVersion":{ - "shape":"CSSVersionType", - "documentation":"

The CSS version number.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The last-modified date for the UI customization.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The creation date for the UI customization.

" - } - }, - "documentation":"

A container for the UI customization information for a user pool's built-in app UI.

" - }, - "UnexpectedLambdaException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns an unexpected AWS Lambda exception.

" - } - }, - "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":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the user is in an unsupported state.

" - } - }, - "documentation":"

The request failed because the user is in an unsupported state.

", - "exception":true - }, - "UpdateAuthEventFeedbackRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Username", - "EventId", - "FeedbackToken", - "FeedbackValue" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user pool username.

" - }, - "EventId":{ - "shape":"EventIdType", - "documentation":"

The event ID.

" - }, - "FeedbackToken":{ - "shape":"TokenModelType", - "documentation":"

The feedback token.

" - }, - "FeedbackValue":{ - "shape":"FeedbackValueType", - "documentation":"

The authentication event feedback value.

" - } - } - }, - "UpdateAuthEventFeedbackResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateDeviceStatusRequest":{ - "type":"structure", - "required":[ - "AccessToken", - "DeviceKey" - ], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - }, - "DeviceKey":{ - "shape":"DeviceKeyType", - "documentation":"

The device key.

" - }, - "DeviceRememberedStatus":{ - "shape":"DeviceRememberedStatusType", - "documentation":"

The status of whether a device is remembered.

" - } - }, - "documentation":"

Represents the request to update the device status.

" - }, - "UpdateDeviceStatusResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response to the request to update the device status.

" - }, - "UpdateGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserPoolId" - ], - "members":{ - "GroupName":{ - "shape":"GroupNameType", - "documentation":"

The name of the group.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

A string containing the new description of the group.

" - }, - "RoleArn":{ - "shape":"ArnType", - "documentation":"

The new role ARN for the group. This is used for setting the cognito:roles and cognito:preferred_role claims in the token.

" - }, - "Precedence":{ - "shape":"PrecedenceType", - "documentation":"

The new precedence value for the group. For more information about this parameter, see .

" - } - } - }, - "UpdateGroupResponse":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"GroupType", - "documentation":"

The group object for the group.

" - } - } - }, - "UpdateIdentityProviderRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ProviderName" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID.

" - }, - "ProviderName":{ - "shape":"ProviderNameType", - "documentation":"

The identity provider name.

" - }, - "ProviderDetails":{ - "shape":"ProviderDetailsType", - "documentation":"

The identity provider details to be updated, such as MetadataURL and MetadataFile.

" - }, - "AttributeMapping":{ - "shape":"AttributeMappingType", - "documentation":"

The identity provider attribute mapping to be changed.

" - }, - "IdpIdentifiers":{ - "shape":"IdpIdentifiersListType", - "documentation":"

A list of identity provider identifiers.

" - } - } - }, - "UpdateIdentityProviderResponse":{ - "type":"structure", - "required":["IdentityProvider"], - "members":{ - "IdentityProvider":{ - "shape":"IdentityProviderType", - "documentation":"

The identity provider object.

" - } - } - }, - "UpdateResourceServerRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "Identifier", - "Name" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool.

" - }, - "Identifier":{ - "shape":"ResourceServerIdentifierType", - "documentation":"

The identifier for the resource server.

" - }, - "Name":{ - "shape":"ResourceServerNameType", - "documentation":"

The name of the resource server.

" - }, - "Scopes":{ - "shape":"ResourceServerScopeListType", - "documentation":"

The scope values to be set for the resource server.

" - } - } - }, - "UpdateResourceServerResponse":{ - "type":"structure", - "required":["ResourceServer"], - "members":{ - "ResourceServer":{ - "shape":"ResourceServerType", - "documentation":"

The resource server.

" - } - } - }, - "UpdateUserAttributesRequest":{ - "type":"structure", - "required":[ - "UserAttributes", - "AccessToken" - ], - "members":{ - "UserAttributes":{ - "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" - }, - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token for the request to update user attributes.

" - } - }, - "documentation":"

Represents the request to update user attributes.

" - }, - "UpdateUserAttributesResponse":{ - "type":"structure", - "members":{ - "CodeDeliveryDetailsList":{ - "shape":"CodeDeliveryDetailsListType", - "documentation":"

The code delivery details list from the server for the request to update user attributes.

" - } - }, - "documentation":"

Represents the response from the server for the request to update user attributes.

" - }, - "UpdateUserPoolClientRequest":{ - "type":"structure", - "required":[ - "UserPoolId", - "ClientId" - ], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to update the user pool client.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "ClientName":{ - "shape":"ClientNameType", - "documentation":"

The client name from the update user pool client request.

" - }, - "RefreshTokenValidity":{ - "shape":"RefreshTokenValidityType", - "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" - }, - "ReadAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The read-only attributes of the user pool.

" - }, - "WriteAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The writeable attributes of the user pool.

" - }, - "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 redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "LogoutURLs":{ - "shape":"LogoutURLsListType", - "documentation":"

A list of allowed logout URLs for the identity providers.

" - }, - "DefaultRedirectURI":{ - "shape":"RedirectUrlType", - "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "AllowedOAuthFlows":{ - "shape":"OAuthFlowsType", - "documentation":"

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.

" - }, - "AnalyticsConfiguration":{ - "shape":"AnalyticsConfigurationType", - "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

" - } - }, - "documentation":"

Represents the request to update the user pool client.

" - }, - "UpdateUserPoolClientResponse":{ - "type":"structure", - "members":{ - "UserPoolClient":{ - "shape":"UserPoolClientType", - "documentation":"

The user pool client value from the response from the server when an update user pool client request is made.

" - } - }, - "documentation":"

Represents the response from the server to the request to update the user pool client.

" - }, - "UpdateUserPoolRequest":{ - "type":"structure", - "required":["UserPoolId"], - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool you want to update.

" - }, - "Policies":{ - "shape":"UserPoolPolicyType", - "documentation":"

A container with the policies you wish to update in a user pool.

" - }, - "LambdaConfig":{ - "shape":"LambdaConfigType", - "documentation":"

The AWS Lambda configuration information from the request to update the user pool.

" - }, - "AutoVerifiedAttributes":{ - "shape":"VerifiedAttributesListType", - "documentation":"

The attributes that are automatically verified when the Amazon Cognito service makes a request to update user pools.

" - }, - "SmsVerificationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

A container with information about the SMS verification message.

" - }, - "EmailVerificationMessage":{ - "shape":"EmailVerificationMessageType", - "documentation":"

The contents of the email verification message.

" - }, - "EmailVerificationSubject":{ - "shape":"EmailVerificationSubjectType", - "documentation":"

The subject of the email verification message.

" - }, - "VerificationMessageTemplate":{ - "shape":"VerificationMessageTemplateType", - "documentation":"

The template for verification messages.

" - }, - "SmsAuthenticationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The contents of the SMS authentication message.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

" - }, - "DeviceConfiguration":{ - "shape":"DeviceConfigurationType", - "documentation":"

Device configuration.

" - }, - "EmailConfiguration":{ - "shape":"EmailConfigurationType", - "documentation":"

Email configuration.

" - }, - "SmsConfiguration":{ - "shape":"SmsConfigurationType", - "documentation":"

SMS configuration.

" - }, - "UserPoolTags":{ - "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" - }, - "AdminCreateUserConfig":{ - "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" - }, - "UserPoolAddOns":{ - "shape":"UserPoolAddOnsType", - "documentation":"

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" - } - }, - "documentation":"

Represents the request to update the user pool.

" - }, - "UpdateUserPoolResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the response from the server when you make a request to update the user pool.

" - }, - "UserContextDataType":{ - "type":"structure", - "members":{ - "EncodedData":{ - "shape":"StringType", - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - } - }, - "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" - }, - "UserFilterType":{ - "type":"string", - "max":256 - }, - "UserImportInProgressException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the user pool has an import job running.

" - } - }, - "documentation":"

This exception is thrown when you are trying to modify a user pool while a user import job is in progress for that pool.

", - "exception":true - }, - "UserImportJobIdType":{ - "type":"string", - "max":55, - "min":1, - "pattern":"import-[0-9a-zA-Z-]+" - }, - "UserImportJobNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w\\s+=,.@-]+" - }, - "UserImportJobStatusType":{ - "type":"string", - "enum":[ - "Created", - "Pending", - "InProgress", - "Stopping", - "Expired", - "Stopped", - "Failed", - "Succeeded" - ] - }, - "UserImportJobType":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"UserImportJobNameType", - "documentation":"

The job name for the user import job.

" - }, - "JobId":{ - "shape":"UserImportJobIdType", - "documentation":"

The job ID for the user import job.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool that the users are being imported into.

" - }, - "PreSignedUrl":{ - "shape":"PreSignedUrlType", - "documentation":"

The pre-signed URL to be used to upload the .csv file.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date the user import job was created.

" - }, - "StartDate":{ - "shape":"DateType", - "documentation":"

The date when the user import job was started.

" - }, - "CompletionDate":{ - "shape":"DateType", - "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.

" - }, - "CloudWatchLogsRoleArn":{ - "shape":"ArnType", - "documentation":"

The role ARN for the Amazon CloudWatch Logging role for the user import job. For more information, see \"Creating the CloudWatch Logs IAM Role\" in the Amazon Cognito Developer Guide.

" - }, - "ImportedUsers":{ - "shape":"LongType", - "documentation":"

The number of users that were successfully imported.

" - }, - "SkippedUsers":{ - "shape":"LongType", - "documentation":"

The number of users that were skipped.

" - }, - "FailedUsers":{ - "shape":"LongType", - "documentation":"

The number of users that could not be imported.

" - }, - "CompletionMessage":{ - "shape":"CompletionMessageType", - "documentation":"

The message returned when the user import job is completed.

" - } - }, - "documentation":"

The user import job type.

" - }, - "UserImportJobsListType":{ - "type":"list", - "member":{"shape":"UserImportJobType"}, - "max":50, - "min":1 - }, - "UserLambdaValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when the Amazon Cognito service returns a user validation exception with the AWS Lambda service.

" - } - }, - "documentation":"

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

", - "exception":true - }, - "UserMFASettingListType":{ - "type":"list", - "member":{"shape":"StringType"} - }, - "UserNotConfirmedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when a user is not confirmed successfully.

" - } - }, - "documentation":"

This exception is thrown when a user is not confirmed successfully.

", - "exception":true - }, - "UserNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when a user is not found.

" - } - }, - "documentation":"

This exception is thrown when a user is not found.

", - "exception":true - }, - "UserPoolAddOnNotEnabledException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when user pool add-ons are not enabled.

", - "exception":true - }, - "UserPoolAddOnsType":{ - "type":"structure", - "required":["AdvancedSecurityMode"], - "members":{ - "AdvancedSecurityMode":{ - "shape":"AdvancedSecurityModeType", - "documentation":"

The advanced security mode.

" - } - }, - "documentation":"

The user pool add-ons type.

" - }, - "UserPoolClientDescription":{ - "type":"structure", - "members":{ - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to describe the user pool client.

" - }, - "ClientName":{ - "shape":"ClientNameType", - "documentation":"

The client name from the user pool client description.

" - } - }, - "documentation":"

The description of the user pool client.

" - }, - "UserPoolClientListType":{ - "type":"list", - "member":{"shape":"UserPoolClientDescription"} - }, - "UserPoolClientType":{ - "type":"structure", - "members":{ - "UserPoolId":{ - "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool client.

" - }, - "ClientName":{ - "shape":"ClientNameType", - "documentation":"

The client name from the user pool request of the client type.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" - }, - "ClientSecret":{ - "shape":"ClientSecretType", - "documentation":"

The client secret from the user pool request of the client type.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the user pool client was last modified.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date the user pool client was created.

" - }, - "RefreshTokenValidity":{ - "shape":"RefreshTokenValidityType", - "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" - }, - "ReadAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The Read-only attributes.

" - }, - "WriteAttributes":{ - "shape":"ClientPermissionListType", - "documentation":"

The writeable attributes.

" - }, - "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 redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "LogoutURLs":{ - "shape":"LogoutURLsListType", - "documentation":"

A list of allowed logout URLs for the identity providers.

" - }, - "DefaultRedirectURI":{ - "shape":"RedirectUrlType", - "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" - }, - "AllowedOAuthFlows":{ - "shape":"OAuthFlowsType", - "documentation":"

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 - }, - "AnalyticsConfiguration":{ - "shape":"AnalyticsConfigurationType", - "documentation":"

The Amazon Pinpoint analytics configuration for the user pool client.

" - } - }, - "documentation":"

Contains information about a user pool client.

" - }, - "UserPoolDescriptionType":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"UserPoolIdType", - "documentation":"

The ID in a user pool description.

" - }, - "Name":{ - "shape":"UserPoolNameType", - "documentation":"

The name in a user pool description.

" - }, - "LambdaConfig":{ - "shape":"LambdaConfigType", - "documentation":"

The AWS Lambda configuration information in a user pool description.

" - }, - "Status":{ - "shape":"StatusType", - "documentation":"

The user pool status in a user pool description.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the user pool description was last modified.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date the user pool description was created.

" - } - }, - "documentation":"

A user pool description.

" - }, - "UserPoolIdType":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+_[0-9a-zA-Z]+" - }, - "UserPoolListType":{ - "type":"list", - "member":{"shape":"UserPoolDescriptionType"} - }, - "UserPoolMfaType":{ - "type":"string", - "enum":[ - "OFF", - "ON", - "OPTIONAL" - ] - }, - "UserPoolNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w\\s+=,.@-]+" - }, - "UserPoolPolicyType":{ - "type":"structure", - "members":{ - "PasswordPolicy":{ - "shape":"PasswordPolicyType", - "documentation":"

The password policy.

" - } - }, - "documentation":"

The policy associated with a user pool.

" - }, - "UserPoolTaggingException":{ - "type":"structure", - "members":{ - "message":{"shape":"MessageType"} - }, - "documentation":"

This exception is thrown when a user pool tag cannot be set or updated.

", - "exception":true - }, - "UserPoolTagsType":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "UserPoolType":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"UserPoolIdType", - "documentation":"

The ID of the user pool.

" - }, - "Name":{ - "shape":"UserPoolNameType", - "documentation":"

The name of the user pool.

" - }, - "Policies":{ - "shape":"UserPoolPolicyType", - "documentation":"

The policies associated with the user pool.

" - }, - "LambdaConfig":{ - "shape":"LambdaConfigType", - "documentation":"

The AWS Lambda triggers associated with the user pool.

" - }, - "Status":{ - "shape":"StatusType", - "documentation":"

The status of a user pool.

" - }, - "LastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the user pool was last modified.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date the user pool was created.

" - }, - "SchemaAttributes":{ - "shape":"SchemaAttributesListType", - "documentation":"

A container with the schema attributes of a user pool.

" - }, - "AutoVerifiedAttributes":{ - "shape":"VerifiedAttributesListType", - "documentation":"

Specifies the attributes that are auto-verified in a user pool.

" - }, - "AliasAttributes":{ - "shape":"AliasAttributesListType", - "documentation":"

Specifies the attributes that are aliased in a user pool.

" - }, - "UsernameAttributes":{ - "shape":"UsernameAttributesListType", - "documentation":"

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

" - }, - "SmsVerificationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The contents of the SMS verification message.

" - }, - "EmailVerificationMessage":{ - "shape":"EmailVerificationMessageType", - "documentation":"

The contents of the email verification message.

" - }, - "EmailVerificationSubject":{ - "shape":"EmailVerificationSubjectType", - "documentation":"

The subject of the email verification message.

" - }, - "VerificationMessageTemplate":{ - "shape":"VerificationMessageTemplateType", - "documentation":"

The template for verification messages.

" - }, - "SmsAuthenticationMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The contents of the SMS authentication message.

" - }, - "MfaConfiguration":{ - "shape":"UserPoolMfaType", - "documentation":"

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

" - }, - "DeviceConfiguration":{ - "shape":"DeviceConfigurationType", - "documentation":"

The device configuration.

" - }, - "EstimatedNumberOfUsers":{ - "shape":"IntegerType", - "documentation":"

A number estimating the size of the user pool.

" - }, - "EmailConfiguration":{ - "shape":"EmailConfigurationType", - "documentation":"

The email configuration.

" - }, - "SmsConfiguration":{ - "shape":"SmsConfigurationType", - "documentation":"

The SMS configuration.

" - }, - "UserPoolTags":{ - "shape":"UserPoolTagsType", - "documentation":"

The cost allocation tags for the user pool. For more information, see Adding Cost Allocation Tags to Your User Pool

" - }, - "SmsConfigurationFailure":{ - "shape":"StringType", - "documentation":"

The reason why the SMS configuration cannot send the messages to your users.

" - }, - "EmailConfigurationFailure":{ - "shape":"StringType", - "documentation":"

The reason why the email configuration cannot send the messages to your users.

" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Holds the domain prefix if the user pool has a domain associated with it.

" - }, - "CustomDomain":{"shape":"DomainType"}, - "AdminCreateUserConfig":{ - "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" - }, - "UserPoolAddOns":{ - "shape":"UserPoolAddOnsType", - "documentation":"

The user pool add-ons.

" - }, - "Arn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) for the user pool.

" - } - }, - "documentation":"

A container for information about the user pool.

" - }, - "UserStatusType":{ - "type":"string", - "enum":[ - "UNCONFIRMED", - "CONFIRMED", - "ARCHIVED", - "COMPROMISED", - "UNKNOWN", - "RESET_REQUIRED", - "FORCE_CHANGE_PASSWORD" - ] - }, - "UserType":{ - "type":"structure", - "members":{ - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user you wish to describe.

" - }, - "Attributes":{ - "shape":"AttributeListType", - "documentation":"

A container with information about the user type attributes.

" - }, - "UserCreateDate":{ - "shape":"DateType", - "documentation":"

The creation date of the user.

" - }, - "UserLastModifiedDate":{ - "shape":"DateType", - "documentation":"

The last modified date of the user.

" - }, - "Enabled":{ - "shape":"BooleanType", - "documentation":"

Specifies whether the user is enabled.

" - }, - "UserStatus":{ - "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" - }, - "MFAOptions":{ - "shape":"MFAOptionListType", - "documentation":"

The MFA options for the user.

" - } - }, - "documentation":"

The user type.

" - }, - "UsernameAttributeType":{ - "type":"string", - "enum":[ - "phone_number", - "email" - ] - }, - "UsernameAttributesListType":{ - "type":"list", - "member":{"shape":"UsernameAttributeType"} - }, - "UsernameExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message returned when Amazon Cognito throws a user name exists exception.

" - } - }, - "documentation":"

This exception is thrown when Amazon Cognito encounters a user name that already exists in the user pool.

", - "exception":true - }, - "UsernameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+", - "sensitive":true - }, - "UsersListType":{ - "type":"list", - "member":{"shape":"UserType"} - }, - "VerificationMessageTemplateType":{ - "type":"structure", - "members":{ - "SmsMessage":{ - "shape":"SmsVerificationMessageType", - "documentation":"

The SMS message template.

" - }, - "EmailMessage":{ - "shape":"EmailVerificationMessageType", - "documentation":"

The email message template.

" - }, - "EmailSubject":{ - "shape":"EmailVerificationSubjectType", - "documentation":"

The subject line for the email message template.

" - }, - "EmailMessageByLink":{ - "shape":"EmailVerificationMessageByLinkType", - "documentation":"

The email message template for sending a confirmation link to the user.

" - }, - "EmailSubjectByLink":{ - "shape":"EmailVerificationSubjectByLinkType", - "documentation":"

The subject line for the email message template for sending a confirmation link to the user.

" - }, - "DefaultEmailOption":{ - "shape":"DefaultEmailOptionType", - "documentation":"

The default email option.

" - } - }, - "documentation":"

The template for verification messages.

" - }, - "VerifiedAttributeType":{ - "type":"string", - "enum":[ - "phone_number", - "email" - ] - }, - "VerifiedAttributesListType":{ - "type":"list", - "member":{"shape":"VerifiedAttributeType"} - }, - "VerifySoftwareTokenRequest":{ - "type":"structure", - "required":["UserCode"], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

The access token.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service.

" - }, - "UserCode":{ - "shape":"SoftwareTokenMFAUserCodeType", - "documentation":"

The one time password computed using the secret code returned by

" - }, - "FriendlyDeviceName":{ - "shape":"StringType", - "documentation":"

The friendly device name.

" - } - } - }, - "VerifySoftwareTokenResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"VerifySoftwareTokenResponseType", - "documentation":"

The status of the verify software token.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session which should be passed both ways in challenge-response calls to the service.

" - } - } - }, - "VerifySoftwareTokenResponseType":{ - "type":"string", - "enum":[ - "SUCCESS", - "ERROR" - ] - }, - "VerifyUserAttributeRequest":{ - "type":"structure", - "required":[ - "AccessToken", - "AttributeName", - "Code" - ], - "members":{ - "AccessToken":{ - "shape":"TokenModelType", - "documentation":"

Represents the access token of the request to verify user attributes.

" - }, - "AttributeName":{ - "shape":"AttributeNameType", - "documentation":"

The attribute name in the request to verify user attributes.

" - }, - "Code":{ - "shape":"ConfirmationCodeType", - "documentation":"

The verification code in the request to verify user attributes.

" - } - }, - "documentation":"

Represents the request to verify user attributes.

" - }, - "VerifyUserAttributeResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

A container representing the response from the server from the request to verify user attributes.

" - } - }, - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-sync/2014-06-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-sync/2014-06-30/service-2.json deleted file mode 100644 index 68c5ab5b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cognito-sync/2014-06-30/service-2.json +++ /dev/null @@ -1,2441 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-06-30", - "endpointPrefix":"cognito-sync", - "jsonVersion":"1.1", - "serviceFullName":"Amazon Cognito Sync", - "serviceId":"Cognito Sync", - "signatureVersion":"v4", - "protocol":"rest-json", - "uid":"cognito-sync-2014-06-30" - }, - "documentation":"Amazon Cognito Sync

Amazon Cognito Sync provides an AWS service and client library that enable cross-device syncing of application-related user data. High-level client libraries are available for both iOS and Android. You can use these libraries to persist data locally so that it's available even if the device is offline. Developer credentials don't need to be stored on the mobile device to access the service. You can use Amazon Cognito to obtain a normalized user ID and credentials. User data is persisted in a dataset that can store up to 1 MB of key-value pairs, and you can have up to 20 datasets per user identity.

With Amazon Cognito Sync, the data stored for each identity is accessible only to credentials assigned to that identity. In order to use the Cognito Sync service, you need to make API calls using credentials retrieved with Amazon Cognito Identity service.

If you want to use Cognito Sync in an Android or iOS application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the Developer Guide for Android and the Developer Guide for iOS.

", - "operations":{ - "BulkPublish":{ - "name":"BulkPublish", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/bulkpublish", - "responseCode":200 - }, - "input":{ - "shape":"BulkPublishRequest", - "documentation":"The input for the BulkPublish operation." - }, - "output":{ - "shape":"BulkPublishResponse", - "documentation":"The output for the BulkPublish operation." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"DuplicateRequestException", - "error":{ - "code":"DuplicateRequest", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"An exception thrown when there is an IN_PROGRESS bulk publish operation for the given identity pool." - }, - { - "shape":"AlreadyStreamedException", - "error":{ - "code":"AlreadyStreamed", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"An exception thrown when a bulk publish operation is requested less than 24 hours after a previous bulk publish operation completed successfully." - } - ], - "documentation":"

Initiates a bulk publish of all existing datasets for an Identity Pool to the configured stream. Customers are limited to one successful bulk publish per 24 hours. Bulk publish is an asynchronous request, customers can see the status of the request via the GetBulkPublishDetails operation.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "DeleteDataset":{ - "name":"DeleteDataset", - "http":{ - "method":"DELETE", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", - "responseCode":200 - }, - "input":{ - "shape":"DeleteDatasetRequest", - "documentation":"A request to delete the specific dataset." - }, - "output":{ - "shape":"DeleteDatasetResponse", - "documentation":"Response to a successful DeleteDataset request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - }, - { - "shape":"ResourceConflictException", - "error":{ - "code":"ResourceConflict", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if an update can't be applied because the resource was changed by another call and this would result in a conflict." - } - ], - "documentation":"

Deletes the specific dataset. The dataset will be deleted permanently, and the action can't be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

" - }, - "DescribeDataset":{ - "name":"DescribeDataset", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", - "responseCode":200 - }, - "input":{ - "shape":"DescribeDatasetRequest", - "documentation":"A request for meta data about a dataset (creation date, number of records, size) by owner and dataset name." - }, - "output":{ - "shape":"DescribeDatasetResponse", - "documentation":"Response to a successful DescribeDataset request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

" - }, - "DescribeIdentityPoolUsage":{ - "name":"DescribeIdentityPoolUsage", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}", - "responseCode":200 - }, - "input":{ - "shape":"DescribeIdentityPoolUsageRequest", - "documentation":"A request for usage information about the identity pool." - }, - "output":{ - "shape":"DescribeIdentityPoolUsageResponse", - "documentation":"Response to a successful DescribeIdentityPoolUsage request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets usage details (for example, data storage) about a particular identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "DescribeIdentityUsage":{ - "name":"DescribeIdentityUsage", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}", - "responseCode":200 - }, - "input":{ - "shape":"DescribeIdentityUsageRequest", - "documentation":"A request for information about the usage of an identity pool." - }, - "output":{ - "shape":"DescribeIdentityUsageResponse", - "documentation":"The response to a successful DescribeIdentityUsage request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets usage information for an identity, including number of datasets and data usage.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

" - }, - "GetBulkPublishDetails":{ - "name":"GetBulkPublishDetails", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/getBulkPublishDetails", - "responseCode":200 - }, - "input":{ - "shape":"GetBulkPublishDetailsRequest", - "documentation":"The input for the GetBulkPublishDetails operation." - }, - "output":{ - "shape":"GetBulkPublishDetailsResponse", - "documentation":"The output for the GetBulkPublishDetails operation." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - } - ], - "documentation":"

Get the status of the last BulkPublish operation for an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "GetCognitoEvents":{ - "name":"GetCognitoEvents", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/events", - "responseCode":200 - }, - "input":{ - "shape":"GetCognitoEventsRequest", - "documentation":"

A request for a list of the configured Cognito Events

" - }, - "output":{ - "shape":"GetCognitoEventsResponse", - "documentation":"

The response from the GetCognitoEvents request

" - }, - "errors":[ - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets the events and the corresponding Lambda functions associated with an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "GetIdentityPoolConfiguration":{ - "name":"GetIdentityPoolConfiguration", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/configuration", - "responseCode":200 - }, - "input":{ - "shape":"GetIdentityPoolConfigurationRequest", - "documentation":"

The input for the GetIdentityPoolConfiguration operation.

" - }, - "output":{ - "shape":"GetIdentityPoolConfigurationResponse", - "documentation":"

The output for the GetIdentityPoolConfiguration operation.

" - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets the configuration settings of an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "ListDatasets":{ - "name":"ListDatasets", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets", - "responseCode":200 - }, - "input":{ - "shape":"ListDatasetsRequest", - "documentation":"Request for a list of datasets for an identity." - }, - "output":{ - "shape":"ListDatasetsResponse", - "documentation":"Returned for a successful ListDatasets request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call.

" - }, - "ListIdentityPoolUsage":{ - "name":"ListIdentityPoolUsage", - "http":{ - "method":"GET", - "requestUri":"/identitypools", - "responseCode":200 - }, - "input":{ - "shape":"ListIdentityPoolUsageRequest", - "documentation":"A request for usage information on an identity pool." - }, - "output":{ - "shape":"ListIdentityPoolUsageResponse", - "documentation":"Returned for a successful ListIdentityPoolUsage request." - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Gets a list of identity pools registered with Cognito.

ListIdentityPoolUsage can only be called with developer credentials. You cannot make this API call with the temporary user credentials provided by Cognito Identity.

" - }, - "ListRecords":{ - "name":"ListRecords", - "http":{ - "method":"GET", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/records", - "responseCode":200 - }, - "input":{ - "shape":"ListRecordsRequest", - "documentation":"A request for a list of records." - }, - "output":{ - "shape":"ListRecordsResponse", - "documentation":"Returned for a successful ListRecordsRequest." - }, - "errors":[ - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - } - ], - "documentation":"

Gets paginated records, optionally changed after a particular sync count for a dataset and identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListRecords can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

" - }, - "RegisterDevice":{ - "name":"RegisterDevice", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/identity/{IdentityId}/device", - "responseCode":200 - }, - "input":{ - "shape":"RegisterDeviceRequest", - "documentation":"

A request to RegisterDevice.

" - }, - "output":{ - "shape":"RegisterDeviceResponse", - "documentation":"

Response to a RegisterDevice request.

" - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"InvalidConfigurationException", - "error":{ - "code":"InvalidConfiguration", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Registers a device to receive push sync notifications.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

" - }, - "SetCognitoEvents":{ - "name":"SetCognitoEvents", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/events", - "responseCode":200 - }, - "input":{ - "shape":"SetCognitoEventsRequest", - "documentation":"

A request to configure Cognito Events\"

\"" - }, - "errors":[ - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Sets the AWS Lambda function for a given event type for an identity pool. This request only updates the key/value pair specified. Other key/values pairs are not updated. To remove a key value pair, pass a empty value for the particular key.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "SetIdentityPoolConfiguration":{ - "name":"SetIdentityPoolConfiguration", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/configuration", - "responseCode":200 - }, - "input":{ - "shape":"SetIdentityPoolConfigurationRequest", - "documentation":"

The input for the SetIdentityPoolConfiguration operation.

" - }, - "output":{ - "shape":"SetIdentityPoolConfigurationResponse", - "documentation":"

The output for the SetIdentityPoolConfiguration operation

" - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - }, - { - "shape":"ConcurrentModificationException", - "error":{ - "code":"ConcurrentModification", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Thrown if there are parallel requests to modify a resource.

" - } - ], - "documentation":"

Sets the necessary configuration for push sync.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

" - }, - "SubscribeToDataset":{ - "name":"SubscribeToDataset", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}", - "responseCode":200 - }, - "input":{ - "shape":"SubscribeToDatasetRequest", - "documentation":"

A request to SubscribeToDatasetRequest.

" - }, - "output":{ - "shape":"SubscribeToDatasetResponse", - "documentation":"

Response to a SubscribeToDataset request.

" - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"InvalidConfigurationException", - "error":{ - "code":"InvalidConfiguration", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Subscribes to receive notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

" - }, - "UnsubscribeFromDataset":{ - "name":"UnsubscribeFromDataset", - "http":{ - "method":"DELETE", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}/subscriptions/{DeviceId}", - "responseCode":200 - }, - "input":{ - "shape":"UnsubscribeFromDatasetRequest", - "documentation":"

A request to UnsubscribeFromDataset.

" - }, - "output":{ - "shape":"UnsubscribeFromDatasetResponse", - "documentation":"

Response to an UnsubscribeFromDataset request.

" - }, - "errors":[ - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - { - "shape":"InvalidConfigurationException", - "error":{ - "code":"InvalidConfiguration", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - } - ], - "documentation":"

Unsubscribes from receiving notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

" - }, - "UpdateRecords":{ - "name":"UpdateRecords", - "http":{ - "method":"POST", - "requestUri":"/identitypools/{IdentityPoolId}/identities/{IdentityId}/datasets/{DatasetName}", - "responseCode":200 - }, - "input":{ - "shape":"UpdateRecordsRequest", - "documentation":"A request to post updates to records or add and delete records for a dataset and user." - }, - "output":{ - "shape":"UpdateRecordsResponse", - "documentation":"Returned for a successful UpdateRecordsRequest." - }, - "errors":[ - { - "shape":"InvalidParameterException", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when the limit on the number of objects or operations has been exceeded." - }, - { - "shape":"NotAuthorizedException", - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - { - "shape":"ResourceConflictException", - "error":{ - "code":"ResourceConflict", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if an update can't be applied because the resource was changed by another call and this would result in a conflict." - }, - { - "shape":"InvalidLambdaFunctionOutputException", - "error":{ - "code":"InvalidLambdaFunctionOutput", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The AWS Lambda function returned invalid output or an exception.

" - }, - { - "shape":"LambdaThrottledException", - "error":{ - "code":"LambdaThrottled", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"

AWS Lambda throttled your account, please contact AWS Support

" - }, - { - "shape":"TooManyRequestsException", - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - }, - { - "shape":"InternalErrorException", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - } - ], - "documentation":"

Posts updates to records and adds and deletes records for a dataset and user.

The sync count in the record patch is your last known sync count for that record. The server will reject an UpdateRecords request with a ResourceConflictException if you try to patch a record with a new value but a stale sync count.

For example, if the sync count on the server is 5 for a key called highScore and you try and submit a new highScore with sync count of 4, the request will be rejected. To obtain the current sync count for a record, call ListRecords. On a successful update of the record, the response returns the new sync count for that record. You should present that sync count the next time you try to update that same record. When the record does not exist, specify the sync count as 0.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

" - } - }, - "shapes":{ - "AlreadyStreamedException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"The message associated with the AlreadyStreamedException exception." - } - }, - "error":{ - "code":"AlreadyStreamed", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"An exception thrown when a bulk publish operation is requested less than 24 hours after a previous bulk publish operation completed successfully." - }, - "ApplicationArn":{ - "type":"string", - "pattern":"arn:aws:sns:[-0-9a-z]+:\\d+:app/[A-Z_]+/[a-zA-Z0-9_.-]+" - }, - "ApplicationArnList":{ - "type":"list", - "member":{"shape":"ApplicationArn"} - }, - "AssumeRoleArn":{ - "type":"string", - "min":20, - "max":2048, - "pattern":"arn:aws:iam::\\d+:role/.*" - }, - "Boolean":{"type":"boolean"}, - "BulkPublishRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - } - }, - "documentation":"The input for the BulkPublish operation." - }, - "BulkPublishResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - } - }, - "documentation":"The output for the BulkPublish operation." - }, - "BulkPublishStatus":{ - "type":"string", - "enum":[ - "NOT_STARTED", - "IN_PROGRESS", - "FAILED", - "SUCCEEDED" - ] - }, - "ClientContext":{"type":"string"}, - "CognitoEventType":{"type":"string"}, - "CognitoStreams":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool." - }, - "RoleArn":{ - "shape":"AssumeRoleArn", - "documentation":"The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream." - }, - "StreamingStatus":{ - "shape":"StreamingStatus", - "documentation":"Status of the Cognito streams. Valid values are:

ENABLED - Streaming of updates to identity pool is enabled.

DISABLED - Streaming of updates to identity pool is disabled. Bulk publish will also fail if StreamingStatus is DISABLED.

" - } - }, - "documentation":"Configuration options for configure Cognito streams." - }, - "ConcurrentModificationException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"String", - "documentation":"

The message returned by a ConcurrentModicationException.

" - } - }, - "error":{ - "code":"ConcurrentModification", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Thrown if there are parallel requests to modify a resource.

" - }, - "Dataset":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "DatasetName":{ - "shape":"DatasetName", - "documentation":"A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot)." - }, - "CreationDate":{ - "shape":"Date", - "documentation":"Date on which the dataset was created." - }, - "LastModifiedDate":{ - "shape":"Date", - "documentation":"Date when the dataset was last modified." - }, - "LastModifiedBy":{ - "shape":"String", - "documentation":"The device that made the last change to this dataset." - }, - "DataStorage":{ - "shape":"Long", - "documentation":"Total size in bytes of the records in this dataset." - }, - "NumRecords":{ - "shape":"Long", - "documentation":"Number of records in this dataset." - } - }, - "documentation":"A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs." - }, - "DatasetList":{ - "type":"list", - "member":{"shape":"Dataset"} - }, - "DatasetName":{ - "type":"string", - "min":1, - "max":128, - "pattern":"[a-zA-Z0-9_.:-]+" - }, - "Date":{"type":"timestamp"}, - "DeleteDatasetRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot)." - } - }, - "documentation":"A request to delete the specific dataset." - }, - "DeleteDatasetResponse":{ - "type":"structure", - "members":{ - "Dataset":{ - "shape":"Dataset", - "documentation":"A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs." - } - }, - "documentation":"Response to a successful DeleteDataset request." - }, - "DescribeDatasetRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot)." - } - }, - "documentation":"A request for meta data about a dataset (creation date, number of records, size) by owner and dataset name." - }, - "DescribeDatasetResponse":{ - "type":"structure", - "members":{ - "Dataset":{ - "shape":"Dataset", - "documentation":"Meta data for a collection of data for an identity. An identity can have multiple datasets. A dataset can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs." - } - }, - "documentation":"Response to a successful DescribeDataset request." - }, - "DescribeIdentityPoolUsageRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - } - }, - "documentation":"A request for usage information about the identity pool." - }, - "DescribeIdentityPoolUsageResponse":{ - "type":"structure", - "members":{ - "IdentityPoolUsage":{ - "shape":"IdentityPoolUsage", - "documentation":"Information about the usage of the identity pool." - } - }, - "documentation":"Response to a successful DescribeIdentityPoolUsage request." - }, - "DescribeIdentityUsageRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - } - }, - "documentation":"A request for information about the usage of an identity pool." - }, - "DescribeIdentityUsageResponse":{ - "type":"structure", - "members":{ - "IdentityUsage":{ - "shape":"IdentityUsage", - "documentation":"Usage information for the identity." - } - }, - "documentation":"The response to a successful DescribeIdentityUsage request." - }, - "DeviceId":{ - "type":"string", - "min":1, - "max":256 - }, - "DuplicateRequestException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"The message associated with the DuplicateRequestException exception." - } - }, - "error":{ - "code":"DuplicateRequest", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"An exception thrown when there is an IN_PROGRESS bulk publish operation for the given identity pool." - }, - "Events":{ - "type":"map", - "key":{"shape":"CognitoEventType"}, - "value":{"shape":"LambdaFunctionArn"}, - "max":1 - }, - "ExceptionMessage":{"type":"string"}, - "GetBulkPublishDetailsRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - } - }, - "documentation":"The input for the GetBulkPublishDetails operation." - }, - "GetBulkPublishDetailsResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "BulkPublishStartTime":{ - "shape":"Date", - "documentation":"The date/time at which the last bulk publish was initiated." - }, - "BulkPublishCompleteTime":{ - "shape":"Date", - "documentation":"If BulkPublishStatus is SUCCEEDED, the time the last bulk publish operation completed." - }, - "BulkPublishStatus":{ - "shape":"BulkPublishStatus", - "documentation":"Status of the last bulk publish operation, valid values are:

NOT_STARTED - No bulk publish has been requested for this identity pool

IN_PROGRESS - Data is being published to the configured stream

SUCCEEDED - All data for the identity pool has been published to the configured stream

FAILED - Some portion of the data has failed to publish, check FailureMessage for the cause.

" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"If BulkPublishStatus is FAILED this field will contain the error message that caused the bulk publish to fail." - } - }, - "documentation":"The output for the GetBulkPublishDetails operation." - }, - "GetCognitoEventsRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

The Cognito Identity Pool ID for the request

" - } - }, - "documentation":"

A request for a list of the configured Cognito Events

" - }, - "GetCognitoEventsResponse":{ - "type":"structure", - "members":{ - "Events":{ - "shape":"Events", - "documentation":"

The Cognito Events returned from the GetCognitoEvents request

" - } - }, - "documentation":"

The response from the GetCognitoEvents request

" - }, - "GetIdentityPoolConfigurationRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration.

" - } - }, - "documentation":"

The input for the GetIdentityPoolConfiguration operation.

" - }, - "GetIdentityPoolConfigurationResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

" - }, - "PushSync":{ - "shape":"PushSync", - "documentation":"

Options to apply to this identity pool for push synchronization.

" - }, - "CognitoStreams":{ - "shape":"CognitoStreams", - "documentation":"Options to apply to this identity pool for Amazon Cognito streams." - } - }, - "documentation":"

The output for the GetIdentityPoolConfiguration operation.

" - }, - "IdentityId":{ - "type":"string", - "min":1, - "max":55, - "pattern":"[\\w-]+:[0-9a-f-]+" - }, - "IdentityPoolId":{ - "type":"string", - "min":1, - "max":55, - "pattern":"[\\w-]+:[0-9a-f-]+" - }, - "IdentityPoolUsage":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "SyncSessionsCount":{ - "shape":"Long", - "documentation":"Number of sync sessions for the identity pool." - }, - "DataStorage":{ - "shape":"Long", - "documentation":"Data storage information for the identity pool." - }, - "LastModifiedDate":{ - "shape":"Date", - "documentation":"Date on which the identity pool was last modified." - } - }, - "documentation":"Usage information for the identity pool." - }, - "IdentityPoolUsageList":{ - "type":"list", - "member":{"shape":"IdentityPoolUsage"} - }, - "IdentityUsage":{ - "type":"structure", - "members":{ - "IdentityId":{ - "shape":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "LastModifiedDate":{ - "shape":"Date", - "documentation":"Date on which the identity was last modified." - }, - "DatasetCount":{ - "shape":"Integer", - "documentation":"Number of datasets for the identity." - }, - "DataStorage":{ - "shape":"Long", - "documentation":"Total data storage for this identity." - } - }, - "documentation":"Usage information for the identity." - }, - "Integer":{"type":"integer"}, - "IntegerString":{"type":"integer"}, - "InternalErrorException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by InternalErrorException." - } - }, - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true, - "documentation":"Indicates an internal service error." - }, - "InvalidConfigurationException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by InvalidConfigurationException." - } - }, - "error":{ - "code":"InvalidConfiguration", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidLambdaFunctionOutputException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

A message returned when an InvalidLambdaFunctionOutputException occurs

" - } - }, - "error":{ - "code":"InvalidLambdaFunctionOutput", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The AWS Lambda function returned invalid output or an exception.

" - }, - "InvalidParameterException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by InvalidParameterException." - } - }, - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a request parameter does not comply with the associated constraints." - }, - "LambdaFunctionArn":{"type":"string"}, - "LambdaThrottledException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

A message returned when an LambdaThrottledException is thrown

" - } - }, - "error":{ - "code":"LambdaThrottled", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"

AWS Lambda throttled your account, please contact AWS Support

" - }, - "LimitExceededException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by LimitExceededException." - } - }, - "error":{ - "code":"LimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when the limit on the number of objects or operations has been exceeded." - }, - "ListDatasetsRequest":{ - "type":"structure", - "required":[ - "IdentityId", - "IdentityPoolId" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "NextToken":{ - "shape":"String", - "location":"querystring", - "locationName":"nextToken", - "documentation":"A pagination token for obtaining the next page of results." - }, - "MaxResults":{ - "shape":"IntegerString", - "location":"querystring", - "locationName":"maxResults", - "documentation":"The maximum number of results to be returned." - } - }, - "documentation":"Request for a list of datasets for an identity." - }, - "ListDatasetsResponse":{ - "type":"structure", - "members":{ - "Datasets":{ - "shape":"DatasetList", - "documentation":"A set of datasets." - }, - "Count":{ - "shape":"Integer", - "documentation":"Number of datasets returned." - }, - "NextToken":{ - "shape":"String", - "documentation":"A pagination token for obtaining the next page of results." - } - }, - "documentation":"Returned for a successful ListDatasets request." - }, - "ListIdentityPoolUsageRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "location":"querystring", - "locationName":"nextToken", - "documentation":"A pagination token for obtaining the next page of results." - }, - "MaxResults":{ - "shape":"IntegerString", - "location":"querystring", - "locationName":"maxResults", - "documentation":"The maximum number of results to be returned." - } - }, - "documentation":"A request for usage information on an identity pool." - }, - "ListIdentityPoolUsageResponse":{ - "type":"structure", - "members":{ - "IdentityPoolUsages":{ - "shape":"IdentityPoolUsageList", - "documentation":"Usage information for the identity pools." - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"The maximum number of results to be returned." - }, - "Count":{ - "shape":"Integer", - "documentation":"Total number of identities for the identity pool." - }, - "NextToken":{ - "shape":"String", - "documentation":"A pagination token for obtaining the next page of results." - } - }, - "documentation":"Returned for a successful ListIdentityPoolUsage request." - }, - "ListRecordsRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot)." - }, - "LastSyncCount":{ - "shape":"Long", - "location":"querystring", - "locationName":"lastSyncCount", - "documentation":"The last server sync count for this record." - }, - "NextToken":{ - "shape":"String", - "location":"querystring", - "locationName":"nextToken", - "documentation":"A pagination token for obtaining the next page of results." - }, - "MaxResults":{ - "shape":"IntegerString", - "location":"querystring", - "locationName":"maxResults", - "documentation":"The maximum number of results to be returned." - }, - "SyncSessionToken":{ - "shape":"SyncSessionToken", - "location":"querystring", - "locationName":"syncSessionToken", - "documentation":"A token containing a session ID, identity ID, and expiration." - } - }, - "documentation":"A request for a list of records." - }, - "ListRecordsResponse":{ - "type":"structure", - "members":{ - "Records":{ - "shape":"RecordList", - "documentation":"A list of all records." - }, - "NextToken":{ - "shape":"String", - "documentation":"A pagination token for obtaining the next page of results." - }, - "Count":{ - "shape":"Integer", - "documentation":"Total number of records." - }, - "DatasetSyncCount":{ - "shape":"Long", - "documentation":"Server sync count for this dataset." - }, - "LastModifiedBy":{ - "shape":"String", - "documentation":"The user/device that made the last change to this record." - }, - "MergedDatasetNames":{ - "shape":"MergedDatasetNameList", - "documentation":"Names of merged datasets." - }, - "DatasetExists":{ - "shape":"Boolean", - "documentation":"Indicates whether the dataset exists." - }, - "DatasetDeletedAfterRequestedSyncCount":{ - "shape":"Boolean", - "documentation":"A boolean value specifying whether to delete the dataset locally." - }, - "SyncSessionToken":{ - "shape":"String", - "documentation":"A token containing a session ID, identity ID, and expiration." - } - }, - "documentation":"Returned for a successful ListRecordsRequest." - }, - "Long":{"type":"long"}, - "MergedDatasetNameList":{ - "type":"list", - "member":{"shape":"String"} - }, - "NotAuthorizedException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"The message returned by a NotAuthorizedException." - } - }, - "error":{ - "code":"NotAuthorizedError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown when a user is not authorized to access the requested resource." - }, - "Operation":{ - "type":"string", - "enum":[ - "replace", - "remove" - ] - }, - "Platform":{ - "type":"string", - "enum":[ - "APNS", - "APNS_SANDBOX", - "GCM", - "ADM" - ] - }, - "PushSync":{ - "type":"structure", - "members":{ - "ApplicationArns":{ - "shape":"ApplicationArnList", - "documentation":"

List of SNS platform application ARNs that could be used by clients.

" - }, - "RoleArn":{ - "shape":"AssumeRoleArn", - "documentation":"

A role configured to allow Cognito to call SNS on behalf of the developer.

" - } - }, - "documentation":"

Configuration options to be applied to the identity pool.

" - }, - "PushToken":{"type":"string"}, - "Record":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"RecordKey", - "documentation":"The key for the record." - }, - "Value":{ - "shape":"RecordValue", - "documentation":"The value for the record." - }, - "SyncCount":{ - "shape":"Long", - "documentation":"The server sync count for this record." - }, - "LastModifiedDate":{ - "shape":"Date", - "documentation":"The date on which the record was last modified." - }, - "LastModifiedBy":{ - "shape":"String", - "documentation":"The user/device that made the last change to this record." - }, - "DeviceLastModifiedDate":{ - "shape":"Date", - "documentation":"The last modified date of the client device." - } - }, - "documentation":"The basic data structure of a dataset." - }, - "RecordKey":{ - "type":"string", - "min":1, - "max":1024 - }, - "RecordList":{ - "type":"list", - "member":{"shape":"Record"} - }, - "RecordPatch":{ - "type":"structure", - "required":[ - "Op", - "Key", - "SyncCount" - ], - "members":{ - "Op":{ - "shape":"Operation", - "documentation":"An operation, either replace or remove." - }, - "Key":{ - "shape":"RecordKey", - "documentation":"The key associated with the record patch." - }, - "Value":{ - "shape":"RecordValue", - "documentation":"The value associated with the record patch." - }, - "SyncCount":{ - "shape":"Long", - "documentation":"Last known server sync count for this record. Set to 0 if unknown." - }, - "DeviceLastModifiedDate":{ - "shape":"Date", - "documentation":"The last modified date of the client device." - } - }, - "documentation":"An update operation for a record." - }, - "RecordPatchList":{ - "type":"list", - "member":{"shape":"RecordPatch"} - }, - "RecordValue":{ - "type":"string", - "max":1048575 - }, - "RegisterDeviceRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "Platform", - "Token" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.

" - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"

The unique ID for this identity.

" - }, - "Platform":{ - "shape":"Platform", - "documentation":"

The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).

" - }, - "Token":{ - "shape":"PushToken", - "documentation":"

The push token.

" - } - }, - "documentation":"

A request to RegisterDevice.

" - }, - "RegisterDeviceResponse":{ - "type":"structure", - "members":{ - "DeviceId":{ - "shape":"DeviceId", - "documentation":"

The unique ID generated for this device by Cognito.

" - } - }, - "documentation":"

Response to a RegisterDevice request.

" - }, - "ResourceConflictException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"The message returned by a ResourceConflictException." - } - }, - "error":{ - "code":"ResourceConflict", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if an update can't be applied because the resource was changed by another call and this would result in a conflict." - }, - "ResourceNotFoundException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by a ResourceNotFoundException." - } - }, - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the resource doesn't exist." - }, - "SetCognitoEventsRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "Events" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

The Cognito Identity Pool to use when configuring Cognito Events

" - }, - "Events":{ - "shape":"Events", - "documentation":"

The events to configure

" - } - }, - "documentation":"

A request to configure Cognito Events\"

\"" - }, - "SetIdentityPoolConfigurationRequest":{ - "type":"structure", - "required":["IdentityPoolId"], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify.

" - }, - "PushSync":{ - "shape":"PushSync", - "documentation":"

Options to apply to this identity pool for push synchronization.

" - }, - "CognitoStreams":{ - "shape":"CognitoStreams", - "documentation":"Options to apply to this identity pool for Amazon Cognito streams." - } - }, - "documentation":"

The input for the SetIdentityPoolConfiguration operation.

" - }, - "SetIdentityPoolConfigurationResponse":{ - "type":"structure", - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

" - }, - "PushSync":{ - "shape":"PushSync", - "documentation":"

Options to apply to this identity pool for push synchronization.

" - }, - "CognitoStreams":{ - "shape":"CognitoStreams", - "documentation":"Options to apply to this identity pool for Amazon Cognito streams." - } - }, - "documentation":"

The output for the SetIdentityPoolConfiguration operation

" - }, - "StreamName":{ - "type":"string", - "min":1, - "max":128 - }, - "StreamingStatus":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "String":{"type":"string"}, - "SubscribeToDatasetRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName", - "DeviceId" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs.

" - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"

Unique ID for this identity.

" - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"

The name of the dataset to subcribe to.

" - }, - "DeviceId":{ - "shape":"DeviceId", - "location":"uri", - "locationName":"DeviceId", - "documentation":"

The unique ID generated for this device by Cognito.

" - } - }, - "documentation":"

A request to SubscribeToDatasetRequest.

" - }, - "SubscribeToDatasetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response to a SubscribeToDataset request.

" - }, - "SyncSessionToken":{"type":"string"}, - "TooManyRequestsException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"Message returned by a TooManyRequestsException." - } - }, - "error":{ - "code":"TooManyRequests", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true, - "documentation":"Thrown if the request is throttled." - }, - "UnsubscribeFromDatasetRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName", - "DeviceId" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs.

" - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"

Unique ID for this identity.

" - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"

The name of the dataset from which to unsubcribe.

" - }, - "DeviceId":{ - "shape":"DeviceId", - "location":"uri", - "locationName":"DeviceId", - "documentation":"

The unique ID generated for this device by Cognito.

" - } - }, - "documentation":"

A request to UnsubscribeFromDataset.

" - }, - "UnsubscribeFromDatasetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Response to an UnsubscribeFromDataset request.

" - }, - "UpdateRecordsRequest":{ - "type":"structure", - "required":[ - "IdentityPoolId", - "IdentityId", - "DatasetName", - "SyncSessionToken" - ], - "members":{ - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "location":"uri", - "locationName":"IdentityPoolId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "IdentityId":{ - "shape":"IdentityId", - "location":"uri", - "locationName":"IdentityId", - "documentation":"A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region." - }, - "DatasetName":{ - "shape":"DatasetName", - "location":"uri", - "locationName":"DatasetName", - "documentation":"A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot)." - }, - "DeviceId":{ - "shape":"DeviceId", - "documentation":"

The unique ID generated for this device by Cognito.

" - }, - "RecordPatches":{ - "shape":"RecordPatchList", - "documentation":"A list of patch operations." - }, - "SyncSessionToken":{ - "shape":"SyncSessionToken", - "documentation":"The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity." - }, - "ClientContext":{ - "shape":"ClientContext", - "location":"header", - "locationName":"x-amz-Client-Context", - "documentation":"Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented." - } - }, - "documentation":"A request to post updates to records or add and delete records for a dataset and user." - }, - "UpdateRecordsResponse":{ - "type":"structure", - "members":{ - "Records":{ - "shape":"RecordList", - "documentation":"A list of records that have been updated." - } - }, - "documentation":"Returned for a successful UpdateRecordsRequest." - } - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/paginators-1.json deleted file mode 100644 index 2d021747..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "ListTopicsDetectionJobs": { - "result_key": "TopicsDetectionJobPropertiesList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/service-2.json deleted file mode 100644 index a31b9459..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/comprehend/2017-11-27/service-2.json +++ /dev/null @@ -1,2165 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-11-27", - "endpointPrefix":"comprehend", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Comprehend", - "serviceId":"Comprehend", - "signatureVersion":"v4", - "signingName":"comprehend", - "targetPrefix":"Comprehend_20171127", - "uid":"comprehend-2017-11-27" - }, - "operations":{ - "BatchDetectDominantLanguage":{ - "name":"BatchDetectDominantLanguage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDetectDominantLanguageRequest"}, - "output":{"shape":"BatchDetectDominantLanguageResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"BatchSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" - }, - "BatchDetectEntities":{ - "name":"BatchDetectEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDetectEntitiesRequest"}, - "output":{"shape":"BatchDetectEntitiesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"BatchSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects the text of a batch of documents for named entities and returns information about them. For more information about named entities, see how-entities

" - }, - "BatchDetectKeyPhrases":{ - "name":"BatchDetectKeyPhrases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDetectKeyPhrasesRequest"}, - "output":{"shape":"BatchDetectKeyPhrasesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"BatchSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Detects the key noun phrases found in a batch of documents.

" - }, - "BatchDetectSentiment":{ - "name":"BatchDetectSentiment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDetectSentimentRequest"}, - "output":{"shape":"BatchDetectSentimentResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"BatchSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.

" - }, - "BatchDetectSyntax":{ - "name":"BatchDetectSyntax", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDetectSyntaxRequest"}, - "output":{"shape":"BatchDetectSyntaxResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"BatchSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects the text of a batch of documents for the syntax and part of speech of the words in the document and returns information about them. For more information, see how-syntax.

" - }, - "DescribeDominantLanguageDetectionJob":{ - "name":"DescribeDominantLanguageDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDominantLanguageDetectionJobRequest"}, - "output":{"shape":"DescribeDominantLanguageDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job.

" - }, - "DescribeEntitiesDetectionJob":{ - "name":"DescribeEntitiesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEntitiesDetectionJobRequest"}, - "output":{"shape":"DescribeEntitiesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job.

" - }, - "DescribeKeyPhrasesDetectionJob":{ - "name":"DescribeKeyPhrasesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPhrasesDetectionJobRequest"}, - "output":{"shape":"DescribeKeyPhrasesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job.

" - }, - "DescribeSentimentDetectionJob":{ - "name":"DescribeSentimentDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSentimentDetectionJobRequest"}, - "output":{"shape":"DescribeSentimentDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job.

" - }, - "DescribeTopicsDetectionJob":{ - "name":"DescribeTopicsDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTopicsDetectionJobRequest"}, - "output":{"shape":"DescribeTopicsDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job.

" - }, - "DetectDominantLanguage":{ - "name":"DetectDominantLanguage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectDominantLanguageRequest"}, - "output":{"shape":"DetectDominantLanguageResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" - }, - "DetectEntities":{ - "name":"DetectEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectEntitiesRequest"}, - "output":{"shape":"DetectEntitiesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities.

" - }, - "DetectKeyPhrases":{ - "name":"DetectKeyPhrases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectKeyPhrasesRequest"}, - "output":{"shape":"DetectKeyPhrasesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Detects the key noun phrases found in the text.

" - }, - "DetectSentiment":{ - "name":"DetectSentiment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectSentimentRequest"}, - "output":{"shape":"DetectSentimentResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE).

" - }, - "DetectSyntax":{ - "name":"DetectSyntax", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectSyntaxRequest"}, - "output":{"shape":"DetectSyntaxResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"UnsupportedLanguageException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax.

" - }, - "ListDominantLanguageDetectionJobs":{ - "name":"ListDominantLanguageDetectionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDominantLanguageDetectionJobsRequest"}, - "output":{"shape":"ListDominantLanguageDetectionJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidFilterException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets a list of the dominant language detection jobs that you have submitted.

" - }, - "ListEntitiesDetectionJobs":{ - "name":"ListEntitiesDetectionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEntitiesDetectionJobsRequest"}, - "output":{"shape":"ListEntitiesDetectionJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidFilterException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets a list of the entity detection jobs that you have submitted.

" - }, - "ListKeyPhrasesDetectionJobs":{ - "name":"ListKeyPhrasesDetectionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListKeyPhrasesDetectionJobsRequest"}, - "output":{"shape":"ListKeyPhrasesDetectionJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidFilterException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Get a list of key phrase detection jobs that you have submitted.

" - }, - "ListSentimentDetectionJobs":{ - "name":"ListSentimentDetectionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSentimentDetectionJobsRequest"}, - "output":{"shape":"ListSentimentDetectionJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidFilterException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets a list of sentiment detection jobs that you have submitted.

" - }, - "ListTopicsDetectionJobs":{ - "name":"ListTopicsDetectionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTopicsDetectionJobsRequest"}, - "output":{"shape":"ListTopicsDetectionJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidFilterException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Gets a list of the topic detection jobs that you have submitted.

" - }, - "StartDominantLanguageDetectionJob":{ - "name":"StartDominantLanguageDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDominantLanguageDetectionJobRequest"}, - "output":{"shape":"StartDominantLanguageDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job.

" - }, - "StartEntitiesDetectionJob":{ - "name":"StartEntitiesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartEntitiesDetectionJobRequest"}, - "output":{"shape":"StartEntitiesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

" - }, - "StartKeyPhrasesDetectionJob":{ - "name":"StartKeyPhrasesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartKeyPhrasesDetectionJobRequest"}, - "output":{"shape":"StartKeyPhrasesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job.

" - }, - "StartSentimentDetectionJob":{ - "name":"StartSentimentDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartSentimentDetectionJobRequest"}, - "output":{"shape":"StartSentimentDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job.

" - }, - "StartTopicsDetectionJob":{ - "name":"StartTopicsDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartTopicsDetectionJobRequest"}, - "output":{"shape":"StartTopicsDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

" - }, - "StopDominantLanguageDetectionJob":{ - "name":"StopDominantLanguageDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDominantLanguageDetectionJobRequest"}, - "output":{"shape":"StopDominantLanguageDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Stops a dominant language detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" - }, - "StopEntitiesDetectionJob":{ - "name":"StopEntitiesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopEntitiesDetectionJobRequest"}, - "output":{"shape":"StopEntitiesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Stops an entities detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" - }, - "StopKeyPhrasesDetectionJob":{ - "name":"StopKeyPhrasesDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopKeyPhrasesDetectionJobRequest"}, - "output":{"shape":"StopKeyPhrasesDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Stops a key phrases detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" - }, - "StopSentimentDetectionJob":{ - "name":"StopSentimentDetectionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopSentimentDetectionJobRequest"}, - "output":{"shape":"StopSentimentDetectionJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"JobNotFoundException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Stops a sentiment detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" - } - }, - "shapes":{ - "AnyLengthString":{"type":"string"}, - "BatchDetectDominantLanguageItemResult":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "Languages":{ - "shape":"ListOfDominantLanguages", - "documentation":"

One or more DominantLanguage objects describing the dominant languages in the document.

" - } - }, - "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" - }, - "BatchDetectDominantLanguageRequest":{ - "type":"structure", - "required":["TextList"], - "members":{ - "TextList":{ - "shape":"StringList", - "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters.

" - } - } - }, - "BatchDetectDominantLanguageResponse":{ - "type":"structure", - "required":[ - "ResultList", - "ErrorList" - ], - "members":{ - "ResultList":{ - "shape":"ListOfDetectDominantLanguageResult", - "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" - }, - "ErrorList":{ - "shape":"BatchItemErrorList", - "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" - } - } - }, - "BatchDetectEntitiesItemResult":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "Entities":{ - "shape":"ListOfEntities", - "documentation":"

One or more Entity objects, one for each entity detected in the document.

" - } - }, - "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" - }, - "BatchDetectEntitiesRequest":{ - "type":"structure", - "required":[ - "TextList", - "LanguageCode" - ], - "members":{ - "TextList":{ - "shape":"StringList", - "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "BatchDetectEntitiesResponse":{ - "type":"structure", - "required":[ - "ResultList", - "ErrorList" - ], - "members":{ - "ResultList":{ - "shape":"ListOfDetectEntitiesResult", - "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" - }, - "ErrorList":{ - "shape":"BatchItemErrorList", - "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" - } - } - }, - "BatchDetectKeyPhrasesItemResult":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "KeyPhrases":{ - "shape":"ListOfKeyPhrases", - "documentation":"

One or more KeyPhrase objects, one for each key phrase detected in the document.

" - } - }, - "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" - }, - "BatchDetectKeyPhrasesRequest":{ - "type":"structure", - "required":[ - "TextList", - "LanguageCode" - ], - "members":{ - "TextList":{ - "shape":"StringList", - "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "BatchDetectKeyPhrasesResponse":{ - "type":"structure", - "required":[ - "ResultList", - "ErrorList" - ], - "members":{ - "ResultList":{ - "shape":"ListOfDetectKeyPhrasesResult", - "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" - }, - "ErrorList":{ - "shape":"BatchItemErrorList", - "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" - } - } - }, - "BatchDetectSentimentItemResult":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "Sentiment":{ - "shape":"SentimentType", - "documentation":"

The sentiment detected in the document.

" - }, - "SentimentScore":{ - "shape":"SentimentScore", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its sentiment detection.

" - } - }, - "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" - }, - "BatchDetectSentimentRequest":{ - "type":"structure", - "required":[ - "TextList", - "LanguageCode" - ], - "members":{ - "TextList":{ - "shape":"StringList", - "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "BatchDetectSentimentResponse":{ - "type":"structure", - "required":[ - "ResultList", - "ErrorList" - ], - "members":{ - "ResultList":{ - "shape":"ListOfDetectSentimentResult", - "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" - }, - "ErrorList":{ - "shape":"BatchItemErrorList", - "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" - } - } - }, - "BatchDetectSyntaxItemResult":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "SyntaxTokens":{ - "shape":"ListOfSyntaxTokens", - "documentation":"

The syntax tokens for the words in the document, one token for each word.

" - } - }, - "documentation":"

The result of calling the operation. The operation returns one object that is successfully processed by the operation.

" - }, - "BatchDetectSyntaxRequest":{ - "type":"structure", - "required":[ - "TextList", - "LanguageCode" - ], - "members":{ - "TextList":{ - "shape":"StringList", - "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"SyntaxLanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "BatchDetectSyntaxResponse":{ - "type":"structure", - "required":[ - "ResultList", - "ErrorList" - ], - "members":{ - "ResultList":{ - "shape":"ListOfDetectSyntaxResult", - "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" - }, - "ErrorList":{ - "shape":"BatchItemErrorList", - "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" - } - } - }, - "BatchItemError":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"Integer", - "documentation":"

The zero-based index of the document in the input list.

" - }, - "ErrorCode":{ - "shape":"String", - "documentation":"

The numeric error code of the error.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

A text description of the error.

" - } - }, - "documentation":"

Describes an error that occurred while processing a document in a batch. The operation returns on BatchItemError object for each document that contained an error.

" - }, - "BatchItemErrorList":{ - "type":"list", - "member":{"shape":"BatchItemError"} - }, - "BatchSizeLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The number of documents in the request exceeds the limit of 25. Try your request again with fewer documents.

", - "exception":true - }, - "ClientRequestTokenString":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9-]+$" - }, - "DescribeDominantLanguageDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" - } - } - }, - "DescribeDominantLanguageDetectionJobResponse":{ - "type":"structure", - "members":{ - "DominantLanguageDetectionJobProperties":{ - "shape":"DominantLanguageDetectionJobProperties", - "documentation":"

An object that contains the properties associated with a dominant language detection job.

" - } - } - }, - "DescribeEntitiesDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" - } - } - }, - "DescribeEntitiesDetectionJobResponse":{ - "type":"structure", - "members":{ - "EntitiesDetectionJobProperties":{ - "shape":"EntitiesDetectionJobProperties", - "documentation":"

An object that contains the properties associated with an entities detection job.

" - } - } - }, - "DescribeKeyPhrasesDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" - } - } - }, - "DescribeKeyPhrasesDetectionJobResponse":{ - "type":"structure", - "members":{ - "KeyPhrasesDetectionJobProperties":{ - "shape":"KeyPhrasesDetectionJobProperties", - "documentation":"

An object that contains the properties associated with a key phrases detection job.

" - } - } - }, - "DescribeSentimentDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" - } - } - }, - "DescribeSentimentDetectionJobResponse":{ - "type":"structure", - "members":{ - "SentimentDetectionJobProperties":{ - "shape":"SentimentDetectionJobProperties", - "documentation":"

An object that contains the properties associated with a sentiment detection job.

" - } - } - }, - "DescribeTopicsDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned by the user to the detection job.

" - } - } - }, - "DescribeTopicsDetectionJobResponse":{ - "type":"structure", - "members":{ - "TopicsDetectionJobProperties":{ - "shape":"TopicsDetectionJobProperties", - "documentation":"

The list of properties for the requested job.

" - } - } - }, - "DetectDominantLanguageRequest":{ - "type":"structure", - "required":["Text"], - "members":{ - "Text":{ - "shape":"String", - "documentation":"

A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - } - } - }, - "DetectDominantLanguageResponse":{ - "type":"structure", - "members":{ - "Languages":{ - "shape":"ListOfDominantLanguages", - "documentation":"

The languages that Amazon Comprehend detected in the input text. For each language, the response returns the RFC 5646 language code and the level of confidence that Amazon Comprehend has in the accuracy of its inference. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

" - } - } - }, - "DetectEntitiesRequest":{ - "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], - "members":{ - "Text":{ - "shape":"String", - "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "DetectEntitiesResponse":{ - "type":"structure", - "members":{ - "Entities":{ - "shape":"ListOfEntities", - "documentation":"

A collection of entities identified in the input text. For each entity, the response provides the entity text, entity type, where the entity text begins and ends, and the level of confidence that Amazon Comprehend has in the detection. For a list of entity types, see how-entities.

" - } - } - }, - "DetectKeyPhrasesRequest":{ - "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], - "members":{ - "Text":{ - "shape":"String", - "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "DetectKeyPhrasesResponse":{ - "type":"structure", - "members":{ - "KeyPhrases":{ - "shape":"ListOfKeyPhrases", - "documentation":"

A collection of key phrases that Amazon Comprehend identified in the input text. For each key phrase, the response provides the text of the key phrase, where the key phrase begins and ends, and the level of confidence that Amazon Comprehend has in the accuracy of the detection.

" - } - } - }, - "DetectSentimentRequest":{ - "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], - "members":{ - "Text":{ - "shape":"String", - "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - } - } - }, - "DetectSentimentResponse":{ - "type":"structure", - "members":{ - "Sentiment":{ - "shape":"SentimentType", - "documentation":"

The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

" - }, - "SentimentScore":{ - "shape":"SentimentScore", - "documentation":"

An object that lists the sentiments, and their corresponding confidence levels.

" - } - } - }, - "DetectSyntaxRequest":{ - "type":"structure", - "required":[ - "Text", - "LanguageCode" - ], - "members":{ - "Text":{ - "shape":"String", - "documentation":"

A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.

" - }, - "LanguageCode":{ - "shape":"SyntaxLanguageCode", - "documentation":"

The language code of the input documents. You can specify English (\"en\") or Spanish (\"es\").

" - } - } - }, - "DetectSyntaxResponse":{ - "type":"structure", - "members":{ - "SyntaxTokens":{ - "shape":"ListOfSyntaxTokens", - "documentation":"

A collection of syntax tokens describing the text. For each token, the response provides the text, the token type, where the text begins and ends, and the level of confidence that Amazon Comprehend has that the token is correct. For a list of token types, see how-syntax.

" - } - } - }, - "DominantLanguage":{ - "type":"structure", - "members":{ - "LanguageCode":{ - "shape":"String", - "documentation":"

The RFC 5646 language code for the dominant language. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

" - }, - "Score":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" - } - }, - "documentation":"

Returns the code for the dominant language in the input text and the level of confidence that Amazon Comprehend has in the accuracy of the detection.

" - }, - "DominantLanguageDetectionJobFilter":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

Filters on the name of the job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" - }, - "SubmitTimeBefore":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" - }, - "SubmitTimeAfter":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" - } - }, - "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" - }, - "DominantLanguageDetectionJobProperties":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned to the dominant language detection job.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The name that you assigned to the dominant language detection job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The current status of the dominant language detection job. If the status is FAILED, the Message field shows the reason for the failure.

" - }, - "Message":{ - "shape":"AnyLengthString", - "documentation":"

A description for the status of a job.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The time that the dominant language detection job was submitted for processing.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time that the dominant language detection job completed.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

The input data configuration that you supplied when you created the dominant language detection job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The output data configuration that you supplied when you created the dominant language detection job.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" - } - }, - "documentation":"

Provides information about a dominant language detection job.

" - }, - "DominantLanguageDetectionJobPropertiesList":{ - "type":"list", - "member":{"shape":"DominantLanguageDetectionJobProperties"} - }, - "EntitiesDetectionJobFilter":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

Filters on the name of the job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" - }, - "SubmitTimeBefore":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" - }, - "SubmitTimeAfter":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" - } - }, - "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" - }, - "EntitiesDetectionJobProperties":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned to the entities detection job.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The name that you assigned the entities detection job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The current status of the entities detection job. If the status is FAILED, the Message field shows the reason for the failure.

" - }, - "Message":{ - "shape":"AnyLengthString", - "documentation":"

A description of the status of a job.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The time that the entities detection job was submitted for processing.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time that the entities detection job completed

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

The input data configuration that you supplied when you created the entities detection job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The output data configuration that you supplied when you created the entities detection job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the input documents.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" - } - }, - "documentation":"

Provides information about an entities detection job.

" - }, - "EntitiesDetectionJobPropertiesList":{ - "type":"list", - "member":{"shape":"EntitiesDetectionJobProperties"} - }, - "Entity":{ - "type":"structure", - "members":{ - "Score":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" - }, - "Type":{ - "shape":"EntityType", - "documentation":"

The entity's type.

" - }, - "Text":{ - "shape":"String", - "documentation":"

The text of the entity.

" - }, - "BeginOffset":{ - "shape":"Integer", - "documentation":"

A character offset in the input text that shows where the entity begins (the first character is at position 0). The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" - }, - "EndOffset":{ - "shape":"Integer", - "documentation":"

A character offset in the input text that shows where the entity ends. The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" - } - }, - "documentation":"

Provides information about an entity.

" - }, - "EntityType":{ - "type":"string", - "enum":[ - "PERSON", - "LOCATION", - "ORGANIZATION", - "COMMERCIAL_ITEM", - "EVENT", - "DATE", - "QUANTITY", - "TITLE", - "OTHER" - ] - }, - "Float":{"type":"float"}, - "IamRoleArn":{ - "type":"string", - "pattern":"arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" - }, - "InputDataConfig":{ - "type":"structure", - "required":["S3Uri"], - "members":{ - "S3Uri":{ - "shape":"S3Uri", - "documentation":"

The Amazon S3 URI for the input data. The URI must be in same region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of data files.

For example, if you use the URI S3://bucketName/prefix, if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.

" - }, - "InputFormat":{ - "shape":"InputFormat", - "documentation":"

Specifies how the text in an input file should be processed:

  • ONE_DOC_PER_FILE - Each file is considered a separate document. Use this option when you are processing large documents, such as newspaper articles or scientific papers.

  • ONE_DOC_PER_LINE - Each line in a file is considered a separate document. Use this option when you are processing many short documents, such as text messages.

" - } - }, - "documentation":"

The input properties for a topic detection job.

" - }, - "InputFormat":{ - "type":"string", - "enum":[ - "ONE_DOC_PER_FILE", - "ONE_DOC_PER_LINE" - ] - }, - "Integer":{"type":"integer"}, - "InternalServerException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An internal server error occurred. Retry your request.

", - "exception":true, - "fault":true - }, - "InvalidFilterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The filter specified for the ListTopicDetectionJobs operation is invalid. Specify a different filter.

", - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The request is invalid.

", - "exception":true - }, - "JobId":{ - "type":"string", - "max":32, - "min":1 - }, - "JobName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" - }, - "JobNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified job was not found. Check the job ID and try again.

", - "exception":true - }, - "JobStatus":{ - "type":"string", - "enum":[ - "SUBMITTED", - "IN_PROGRESS", - "COMPLETED", - "FAILED", - "STOP_REQUESTED", - "STOPPED" - ] - }, - "KeyPhrase":{ - "type":"structure", - "members":{ - "Score":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" - }, - "Text":{ - "shape":"String", - "documentation":"

The text of a key noun phrase.

" - }, - "BeginOffset":{ - "shape":"Integer", - "documentation":"

A character offset in the input text that shows where the key phrase begins (the first character is at position 0). The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" - }, - "EndOffset":{ - "shape":"Integer", - "documentation":"

A character offset in the input text where the key phrase ends. The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" - } - }, - "documentation":"

Describes a key noun phrase.

" - }, - "KeyPhrasesDetectionJobFilter":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

Filters on the name of the job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" - }, - "SubmitTimeBefore":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" - }, - "SubmitTimeAfter":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" - } - }, - "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" - }, - "KeyPhrasesDetectionJobProperties":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned to the key phrases detection job.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The name that you assigned the key phrases detection job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The current status of the key phrases detection job. If the status is FAILED, the Message field shows the reason for the failure.

" - }, - "Message":{ - "shape":"AnyLengthString", - "documentation":"

A description of the status of a job.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The time that the key phrases detection job was submitted for processing.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time that the key phrases detection job completed.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

The input data configuration that you supplied when you created the key phrases detection job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The output data configuration that you supplied when you created the key phrases detection job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the input documents.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" - } - }, - "documentation":"

Provides information about a key phrases detection job.

" - }, - "KeyPhrasesDetectionJobPropertiesList":{ - "type":"list", - "member":{"shape":"KeyPhrasesDetectionJobProperties"} - }, - "LanguageCode":{ - "type":"string", - "enum":[ - "en", - "es" - ] - }, - "ListDominantLanguageDetectionJobsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"DominantLanguageDetectionJobFilter", - "documentation":"

Filters that jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - }, - "MaxResults":{ - "shape":"MaxResultsInteger", - "documentation":"

The maximum number of results to return in each page. The default is 100.

" - } - } - }, - "ListDominantLanguageDetectionJobsResponse":{ - "type":"structure", - "members":{ - "DominantLanguageDetectionJobPropertiesList":{ - "shape":"DominantLanguageDetectionJobPropertiesList", - "documentation":"

A list containing the properties of each job that is returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - } - } - }, - "ListEntitiesDetectionJobsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"EntitiesDetectionJobFilter", - "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - }, - "MaxResults":{ - "shape":"MaxResultsInteger", - "documentation":"

The maximum number of results to return in each page. The default is 100.

" - } - } - }, - "ListEntitiesDetectionJobsResponse":{ - "type":"structure", - "members":{ - "EntitiesDetectionJobPropertiesList":{ - "shape":"EntitiesDetectionJobPropertiesList", - "documentation":"

A list containing the properties of each job that is returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - } - } - }, - "ListKeyPhrasesDetectionJobsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"KeyPhrasesDetectionJobFilter", - "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - }, - "MaxResults":{ - "shape":"MaxResultsInteger", - "documentation":"

The maximum number of results to return in each page. The default is 100.

" - } - } - }, - "ListKeyPhrasesDetectionJobsResponse":{ - "type":"structure", - "members":{ - "KeyPhrasesDetectionJobPropertiesList":{ - "shape":"KeyPhrasesDetectionJobPropertiesList", - "documentation":"

A list containing the properties of each job that is returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - } - } - }, - "ListOfDetectDominantLanguageResult":{ - "type":"list", - "member":{"shape":"BatchDetectDominantLanguageItemResult"} - }, - "ListOfDetectEntitiesResult":{ - "type":"list", - "member":{"shape":"BatchDetectEntitiesItemResult"} - }, - "ListOfDetectKeyPhrasesResult":{ - "type":"list", - "member":{"shape":"BatchDetectKeyPhrasesItemResult"} - }, - "ListOfDetectSentimentResult":{ - "type":"list", - "member":{"shape":"BatchDetectSentimentItemResult"} - }, - "ListOfDetectSyntaxResult":{ - "type":"list", - "member":{"shape":"BatchDetectSyntaxItemResult"} - }, - "ListOfDominantLanguages":{ - "type":"list", - "member":{"shape":"DominantLanguage"} - }, - "ListOfEntities":{ - "type":"list", - "member":{"shape":"Entity"} - }, - "ListOfKeyPhrases":{ - "type":"list", - "member":{"shape":"KeyPhrase"} - }, - "ListOfSyntaxTokens":{ - "type":"list", - "member":{"shape":"SyntaxToken"} - }, - "ListSentimentDetectionJobsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"SentimentDetectionJobFilter", - "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - }, - "MaxResults":{ - "shape":"MaxResultsInteger", - "documentation":"

The maximum number of results to return in each page. The default is 100.

" - } - } - }, - "ListSentimentDetectionJobsResponse":{ - "type":"structure", - "members":{ - "SentimentDetectionJobPropertiesList":{ - "shape":"SentimentDetectionJobPropertiesList", - "documentation":"

A list containing the properties of each job that is returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - } - } - }, - "ListTopicsDetectionJobsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"TopicsDetectionJobFilter", - "documentation":"

Filters the jobs that are returned. Jobs can be filtered on their name, status, or the date and time that they were submitted. You can set only one filter at a time.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - }, - "MaxResults":{ - "shape":"MaxResultsInteger", - "documentation":"

The maximum number of results to return in each page. The default is 100.

" - } - } - }, - "ListTopicsDetectionJobsResponse":{ - "type":"structure", - "members":{ - "TopicsDetectionJobPropertiesList":{ - "shape":"TopicsDetectionJobPropertiesList", - "documentation":"

A list containing the properties of each job that is returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Identifies the next page of results to return.

" - } - } - }, - "MaxResultsInteger":{ - "type":"integer", - "max":500, - "min":1 - }, - "NumberOfTopicsInteger":{ - "type":"integer", - "max":100, - "min":1 - }, - "OutputDataConfig":{ - "type":"structure", - "required":["S3Uri"], - "members":{ - "S3Uri":{ - "shape":"S3Uri", - "documentation":"

When you use the OutputDataConfig object with asynchronous operations, you specify the Amazon S3 location where you want to write the output data. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of the output file.

When the topic detection job is finished, the service creates an output file in a directory specific to the job. The S3Uri field contains the location of the output file, called output.tar.gz. It is a compressed archive that contains the ouput of the operation.

" - } - }, - "documentation":"

Provides configuration parameters for the output of topic detection jobs.

" - }, - "PartOfSpeechTag":{ - "type":"structure", - "members":{ - "Tag":{ - "shape":"PartOfSpeechTagType", - "documentation":"

Identifies the part of speech that the token represents.

" - }, - "Score":{ - "shape":"Float", - "documentation":"

The confidence that Amazon Comprehend has that the part of speech was correctly identified.

" - } - }, - "documentation":"

Identifies the part of speech represented by the token and gives the confidence that Amazon Comprehend has that the part of speech was correctly identified. For more information about the parts of speech that Amazon Comprehend can identify, see how-syntax.

" - }, - "PartOfSpeechTagType":{ - "type":"string", - "enum":[ - "ADJ", - "ADP", - "ADV", - "AUX", - "CONJ", - "DET", - "INTJ", - "NOUN", - "NUM", - "O", - "PART", - "PRON", - "PROPN", - "PUNCT", - "SCONJ", - "SYM", - "VERB" - ] - }, - "S3Uri":{ - "type":"string", - "max":1024, - "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" - }, - "SentimentDetectionJobFilter":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

Filters on the name of the job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" - }, - "SubmitTimeBefore":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" - }, - "SubmitTimeAfter":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" - } - }, - "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" - }, - "SentimentDetectionJobProperties":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned to the sentiment detection job.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The name that you assigned to the sentiment detection job

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The current status of the sentiment detection job. If the status is FAILED, the Messages field shows the reason for the failure.

" - }, - "Message":{ - "shape":"AnyLengthString", - "documentation":"

A description of the status of a job.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The time that the sentiment detection job was submitted for processing.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time that the sentiment detection job ended.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

The input data configuration that you supplied when you created the sentiment detection job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The output data configuration that you supplied when you created the sentiment detection job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the input documents.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" - } - }, - "documentation":"

Provides information about a sentiment detection job.

" - }, - "SentimentDetectionJobPropertiesList":{ - "type":"list", - "member":{"shape":"SentimentDetectionJobProperties"} - }, - "SentimentScore":{ - "type":"structure", - "members":{ - "Positive":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the POSITIVE sentiment.

" - }, - "Negative":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEGATIVE sentiment.

" - }, - "Neutral":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEUTRAL sentiment.

" - }, - "Mixed":{ - "shape":"Float", - "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the MIXED sentiment.

" - } - }, - "documentation":"

Describes the level of confidence that Amazon Comprehend has in the accuracy of its detection of sentiments.

" - }, - "SentimentType":{ - "type":"string", - "enum":[ - "POSITIVE", - "NEGATIVE", - "NEUTRAL", - "MIXED" - ] - }, - "StartDominantLanguageDetectionJobRequest":{ - "type":"structure", - "required":[ - "InputDataConfig", - "OutputDataConfig", - "DataAccessRoleArn" - ], - "members":{ - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

Specifies the format and location of the input data for the job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies where to send the output files.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

An identifier for the job.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenString", - "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", - "idempotencyToken":true - } - } - }, - "StartDominantLanguageDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" - } - } - }, - "StartEntitiesDetectionJobRequest":{ - "type":"structure", - "required":[ - "InputDataConfig", - "OutputDataConfig", - "DataAccessRoleArn", - "LanguageCode" - ], - "members":{ - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

Specifies the format and location of the input data for the job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies where to send the output files.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The identifier of the job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenString", - "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", - "idempotencyToken":true - } - } - }, - "StartEntitiesDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier generated for the job. To get the status of job, use this identifier with the operation.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" - } - } - }, - "StartKeyPhrasesDetectionJobRequest":{ - "type":"structure", - "required":[ - "InputDataConfig", - "OutputDataConfig", - "DataAccessRoleArn", - "LanguageCode" - ], - "members":{ - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

Specifies the format and location of the input data for the job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies where to send the output files.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The identifier of the job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenString", - "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", - "idempotencyToken":true - } - } - }, - "StartKeyPhrasesDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" - } - } - }, - "StartSentimentDetectionJobRequest":{ - "type":"structure", - "required":[ - "InputDataConfig", - "OutputDataConfig", - "DataAccessRoleArn", - "LanguageCode" - ], - "members":{ - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

Specifies the format and location of the input data for the job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies where to send the output files.

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The identifier of the job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language of the input documents. You can specify English (\"en\") or Spanish (\"es\"). All documents must be in the same language.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenString", - "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", - "idempotencyToken":true - } - } - }, - "StartSentimentDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" - } - } - }, - "StartTopicsDetectionJobRequest":{ - "type":"structure", - "required":[ - "InputDataConfig", - "OutputDataConfig", - "DataAccessRoleArn" - ], - "members":{ - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

Specifies the format and location of the input data for the job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies where to send the output files. The output is a compressed archive with two files, topic-terms.csv that lists the terms associated with each topic, and doc-topics.csv that lists the documents associated with each topic

" - }, - "DataAccessRoleArn":{ - "shape":"IamRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The identifier of the job.

" - }, - "NumberOfTopics":{ - "shape":"NumberOfTopicsInteger", - "documentation":"

The number of topics to detect.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenString", - "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", - "idempotencyToken":true - } - } - }, - "StartTopicsDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier generated for the job. To get the status of the job, use this identifier with the DescribeTopicDetectionJob operation.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The status of the job:

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the DescribeTopicDetectionJob operation.

" - } - } - }, - "StopDominantLanguageDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the dominant language detection job to stop.

" - } - } - }, - "StopDominantLanguageDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the dominant language detection job to stop.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopDominantLanguageDetectionJob operation.

" - } - } - }, - "StopEntitiesDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the entities detection job to stop.

" - } - } - }, - "StopEntitiesDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the entities detection job to stop.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopEntitiesDetectionJob operation.

" - } - } - }, - "StopKeyPhrasesDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the key phrases detection job to stop.

" - } - } - }, - "StopKeyPhrasesDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the key phrases detection job to stop.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopKeyPhrasesDetectionJob operation.

" - } - } - }, - "StopSentimentDetectionJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the sentiment detection job to stop.

" - } - } - }, - "StopSentimentDetectionJobResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier of the sentiment detection job to stop.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopSentimentDetectionJob operation.

" - } - } - }, - "String":{ - "type":"string", - "min":1 - }, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SyntaxLanguageCode":{ - "type":"string", - "enum":["en"] - }, - "SyntaxToken":{ - "type":"structure", - "members":{ - "TokenId":{ - "shape":"Integer", - "documentation":"

A unique identifier for a token.

" - }, - "Text":{ - "shape":"String", - "documentation":"

The word that was recognized in the source text.

" - }, - "BeginOffset":{ - "shape":"Integer", - "documentation":"

The zero-based offset from the beginning of the source text to the first character in the word.

" - }, - "EndOffset":{ - "shape":"Integer", - "documentation":"

The zero-based offset from the beginning of the source text to the last character in the word.

" - }, - "PartOfSpeech":{ - "shape":"PartOfSpeechTag", - "documentation":"

Provides the part of speech label and the confidence level that Amazon Comprehend has that the part of speech was correctly identified. For more information, see how-syntax.

" - } - }, - "documentation":"

Represents a work in the input text that was recognized and assigned a part of speech. There is one syntax token record for each word in the source text.

" - }, - "TextSizeLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The size of the input text exceeds the limit. Use a smaller document.

", - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The number of requests exceeds the limit. Resubmit your request later.

", - "exception":true - }, - "TopicsDetectionJobFilter":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

Filters the list of topic detection jobs based on job status. Returns only jobs with the specified status.

" - }, - "SubmitTimeBefore":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Only returns jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.

" - }, - "SubmitTimeAfter":{ - "shape":"Timestamp", - "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Only returns jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

" - } - }, - "documentation":"

Provides information for filtering topic detection jobs. For more information, see .

" - }, - "TopicsDetectionJobProperties":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier assigned to the topic detection job.

" - }, - "JobName":{ - "shape":"JobName", - "documentation":"

The name of the topic detection job.

" - }, - "JobStatus":{ - "shape":"JobStatus", - "documentation":"

The current status of the topic detection job. If the status is Failed, the reason for the failure is shown in the Message field.

" - }, - "Message":{ - "shape":"AnyLengthString", - "documentation":"

A description for the status of a job.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The time that the topic detection job was submitted for processing.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The time that the topic detection job was completed.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

The input data configuration supplied when you created the topic detection job.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The output data configuration supplied when you created the topic detection job.

" - }, - "NumberOfTopics":{ - "shape":"Integer", - "documentation":"

The number of topics to detect supplied when you created the topic detection job. The default is 10.

" - } - }, - "documentation":"

Provides information about a topic detection job.

" - }, - "TopicsDetectionJobPropertiesList":{ - "type":"list", - "member":{"shape":"TopicsDetectionJobProperties"} - }, - "UnsupportedLanguageException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Amazon Comprehend can't process the language of the input text. For all APIs except DetectDominantLanguage, Amazon Comprehend accepts only English or Spanish text. For the DetectDominantLanguage API, Amazon Comprehend detects 100 languages. For a list of languages, see how-languages

", - "exception":true - } - }, - "documentation":"

Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these actions to determine the topics contained in your documents, the topics they discuss, the predominant sentiment expressed in them, the predominant language used, and more.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/paginators-1.json deleted file mode 100644 index 7b1f79b1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "pagination": { - "DescribeComplianceByConfigRule": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ComplianceByConfigRules" - }, - "DescribeComplianceByResource": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ComplianceByResources" - }, - "DescribeConfigRules": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ConfigRules" - }, - "GetComplianceDetailsByConfigRule": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "EvaluationResults" - }, - "GetComplianceDetailsByResource": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "EvaluationResults" - }, - "GetResourceConfigHistory": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "configurationItems", - "limit_key": "limit" - }, - "ListDiscoveredResources": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "resourceIdentifiers" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/service-2.json deleted file mode 100644 index c8e4a5b4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/config/2014-11-12/service-2.json +++ /dev/null @@ -1,3413 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-11-12", - "endpointPrefix":"config", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Config Service", - "serviceFullName":"AWS Config", - "serviceId":"Config Service", - "signatureVersion":"v4", - "targetPrefix":"StarlingDoveService", - "uid":"config-2014-11-12" - }, - "operations":{ - "BatchGetResourceConfig":{ - "name":"BatchGetResourceConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetResourceConfigRequest"}, - "output":{"shape":"BatchGetResourceConfigResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"NoAvailableConfigurationRecorderException"} - ], - "documentation":"

Returns the current configuration for one or more requested resources. The operation also returns a list of resources that are not processed in the current request. If there are no unprocessed resources, the operation returns an empty unprocessedResourceKeys list.

  • The API does not return results for deleted resources.

  • The API does not return any tags for the requested resources. This information is filtered out of the supplementaryConfiguration section of the API response.

" - }, - "DeleteAggregationAuthorization":{ - "name":"DeleteAggregationAuthorization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAggregationAuthorizationRequest"}, - "errors":[ - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Deletes the authorization granted to the specified configuration aggregator account in a specified region.

" - }, - "DeleteConfigRule":{ - "name":"DeleteConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigRuleRequest"}, - "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes the specified AWS Config rule and all of its evaluation results.

AWS Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.

You can check the state of a rule by using the DescribeConfigRules request.

" - }, - "DeleteConfigurationAggregator":{ - "name":"DeleteConfigurationAggregator", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationAggregatorRequest"}, - "errors":[ - {"shape":"NoSuchConfigurationAggregatorException"} - ], - "documentation":"

Deletes the specified configuration aggregator and the aggregated data associated with the aggregator.

" - }, - "DeleteConfigurationRecorder":{ - "name":"DeleteConfigurationRecorder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationRecorderRequest"}, - "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} - ], - "documentation":"

Deletes the configuration recorder.

After the configuration recorder is deleted, AWS Config will not record resource configuration changes until you create a new configuration recorder.

This action does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory action, but you will not be able to access this information in the AWS Config console until you create a new configuration recorder.

" - }, - "DeleteDeliveryChannel":{ - "name":"DeleteDeliveryChannel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDeliveryChannelRequest"}, - "errors":[ - {"shape":"NoSuchDeliveryChannelException"}, - {"shape":"LastDeliveryChannelDeleteFailedException"} - ], - "documentation":"

Deletes the delivery channel.

Before you can delete the delivery channel, you must stop the configuration recorder by using the StopConfigurationRecorder action.

" - }, - "DeleteEvaluationResults":{ - "name":"DeleteEvaluationResults", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEvaluationResultsRequest"}, - "output":{"shape":"DeleteEvaluationResultsResponse"}, - "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes the evaluation results for the specified AWS Config rule. You can specify one AWS Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule.

" - }, - "DeletePendingAggregationRequest":{ - "name":"DeletePendingAggregationRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePendingAggregationRequestRequest"}, - "errors":[ - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Deletes pending authorization requests for a specified aggregator account in a specified region.

" - }, - "DeleteRetentionConfiguration":{ - "name":"DeleteRetentionConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRetentionConfigurationRequest"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchRetentionConfigurationException"} - ], - "documentation":"

Deletes the retention configuration.

" - }, - "DeliverConfigSnapshot":{ - "name":"DeliverConfigSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeliverConfigSnapshotRequest"}, - "output":{"shape":"DeliverConfigSnapshotResponse"}, - "errors":[ - {"shape":"NoSuchDeliveryChannelException"}, - {"shape":"NoAvailableConfigurationRecorderException"}, - {"shape":"NoRunningConfigurationRecorderException"} - ], - "documentation":"

Schedules delivery of a configuration snapshot to the Amazon S3 bucket in the specified delivery channel. After the delivery has started, AWS Config sends the following notifications using an Amazon SNS topic that you have specified.

  • Notification of the start of the delivery.

  • Notification of the completion of the delivery, if the delivery was successfully completed.

  • Notification of delivery failure, if the delivery failed.

" - }, - "DescribeAggregateComplianceByConfigRules":{ - "name":"DescribeAggregateComplianceByConfigRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAggregateComplianceByConfigRulesRequest"}, - "output":{"shape":"DescribeAggregateComplianceByConfigRulesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoSuchConfigurationAggregatorException"} - ], - "documentation":"

Returns a list of compliant and noncompliant rules with the number of resources for compliant and noncompliant rules.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" - }, - "DescribeAggregationAuthorizations":{ - "name":"DescribeAggregationAuthorizations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAggregationAuthorizationsRequest"}, - "output":{"shape":"DescribeAggregationAuthorizationsResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidLimitException"} - ], - "documentation":"

Returns a list of authorizations granted to various aggregator accounts and regions.

" - }, - "DescribeComplianceByConfigRule":{ - "name":"DescribeComplianceByConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeComplianceByConfigRuleRequest"}, - "output":{"shape":"DescribeComplianceByConfigRuleResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchConfigRuleException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Indicates whether the specified AWS Config rules are compliant. If a rule is noncompliant, this action returns the number of AWS resources that do not comply with the rule.

A rule is compliant if all of the evaluated resources comply with it. It is noncompliant if any of these resources do not comply.

If AWS Config has no current evaluation results for the rule, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions:

  • AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime.

  • The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission.

  • The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope.

" - }, - "DescribeComplianceByResource":{ - "name":"DescribeComplianceByResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeComplianceByResourceRequest"}, - "output":{"shape":"DescribeComplianceByResourceResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Indicates whether the specified AWS resources are compliant. If a resource is noncompliant, this action returns the number of AWS Config rules that the resource does not comply with.

A resource is compliant if it complies with all the AWS Config rules that evaluate it. It is noncompliant if it does not comply with one or more of these rules.

If AWS Config has no current evaluation results for the resource, it returns INSUFFICIENT_DATA. This result might indicate one of the following conditions about the rules that evaluate the resource:

  • AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime.

  • The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role that you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission.

  • The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope.

" - }, - "DescribeConfigRuleEvaluationStatus":{ - "name":"DescribeConfigRuleEvaluationStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigRuleEvaluationStatusRequest"}, - "output":{"shape":"DescribeConfigRuleEvaluationStatusResponse"}, - "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns status information for each of your AWS managed Config rules. The status includes information such as the last time AWS Config invoked the rule, the last time AWS Config failed to invoke the rule, and the related error for the last failure.

" - }, - "DescribeConfigRules":{ - "name":"DescribeConfigRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigRulesRequest"}, - "output":{"shape":"DescribeConfigRulesResponse"}, - "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns details about your AWS Config rules.

" - }, - "DescribeConfigurationAggregatorSourcesStatus":{ - "name":"DescribeConfigurationAggregatorSourcesStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationAggregatorSourcesStatusRequest"}, - "output":{"shape":"DescribeConfigurationAggregatorSourcesStatusResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchConfigurationAggregatorException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidLimitException"} - ], - "documentation":"

Returns status information for sources within an aggregator. The status includes information about the last time AWS Config aggregated data from source accounts or AWS Config failed to aggregate data from source accounts with the related error code or message.

" - }, - "DescribeConfigurationAggregators":{ - "name":"DescribeConfigurationAggregators", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationAggregatorsRequest"}, - "output":{"shape":"DescribeConfigurationAggregatorsResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchConfigurationAggregatorException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidLimitException"} - ], - "documentation":"

Returns the details of one or more configuration aggregators. If the configuration aggregator is not specified, this action returns the details for all the configuration aggregators associated with the account.

" - }, - "DescribeConfigurationRecorderStatus":{ - "name":"DescribeConfigurationRecorderStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationRecorderStatusRequest"}, - "output":{"shape":"DescribeConfigurationRecorderStatusResponse"}, - "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} - ], - "documentation":"

Returns the current status of the specified configuration recorder. If a configuration recorder is not specified, this action returns the status of all configuration recorders associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

" - }, - "DescribeConfigurationRecorders":{ - "name":"DescribeConfigurationRecorders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationRecordersRequest"}, - "output":{"shape":"DescribeConfigurationRecordersResponse"}, - "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} - ], - "documentation":"

Returns the details for the specified configuration recorders. If the configuration recorder is not specified, this action returns the details for all configuration recorders associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

" - }, - "DescribeDeliveryChannelStatus":{ - "name":"DescribeDeliveryChannelStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDeliveryChannelStatusRequest"}, - "output":{"shape":"DescribeDeliveryChannelStatusResponse"}, - "errors":[ - {"shape":"NoSuchDeliveryChannelException"} - ], - "documentation":"

Returns the current status of the specified delivery channel. If a delivery channel is not specified, this action returns the current status of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" - }, - "DescribeDeliveryChannels":{ - "name":"DescribeDeliveryChannels", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDeliveryChannelsRequest"}, - "output":{"shape":"DescribeDeliveryChannelsResponse"}, - "errors":[ - {"shape":"NoSuchDeliveryChannelException"} - ], - "documentation":"

Returns details about the specified delivery channel. If a delivery channel is not specified, this action returns the details of all delivery channels associated with the account.

Currently, you can specify only one delivery channel per region in your account.

" - }, - "DescribePendingAggregationRequests":{ - "name":"DescribePendingAggregationRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePendingAggregationRequestsRequest"}, - "output":{"shape":"DescribePendingAggregationRequestsResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidLimitException"} - ], - "documentation":"

Returns a list of all pending aggregation requests.

" - }, - "DescribeRetentionConfigurations":{ - "name":"DescribeRetentionConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRetentionConfigurationsRequest"}, - "output":{"shape":"DescribeRetentionConfigurationsResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchRetentionConfigurationException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns the details of one or more retention configurations. If the retention configuration name is not specified, this action returns the details for all the retention configurations for that account.

Currently, AWS Config supports only one retention configuration per region in your account.

" - }, - "GetAggregateComplianceDetailsByConfigRule":{ - "name":"GetAggregateComplianceDetailsByConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAggregateComplianceDetailsByConfigRuleRequest"}, - "output":{"shape":"GetAggregateComplianceDetailsByConfigRuleResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoSuchConfigurationAggregatorException"} - ], - "documentation":"

Returns the evaluation results for the specified AWS Config rule for a specific resource in a rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule.

The results can return an empty result page. But if you have a nextToken, the results are displayed on the next page.

" - }, - "GetAggregateConfigRuleComplianceSummary":{ - "name":"GetAggregateConfigRuleComplianceSummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAggregateConfigRuleComplianceSummaryRequest"}, - "output":{"shape":"GetAggregateConfigRuleComplianceSummaryResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoSuchConfigurationAggregatorException"} - ], - "documentation":"

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" - }, - "GetComplianceDetailsByConfigRule":{ - "name":"GetComplianceDetailsByConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetComplianceDetailsByConfigRuleRequest"}, - "output":{"shape":"GetComplianceDetailsByConfigRuleResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoSuchConfigRuleException"} - ], - "documentation":"

Returns the evaluation results for the specified AWS Config rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule.

" - }, - "GetComplianceDetailsByResource":{ - "name":"GetComplianceDetailsByResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetComplianceDetailsByResourceRequest"}, - "output":{"shape":"GetComplianceDetailsByResourceResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Returns the evaluation results for the specified AWS resource. The results indicate which AWS Config rules were used to evaluate the resource, when each rule was last used, and whether the resource complies with each rule.

" - }, - "GetComplianceSummaryByConfigRule":{ - "name":"GetComplianceSummaryByConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"GetComplianceSummaryByConfigRuleResponse"}, - "documentation":"

Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each.

" - }, - "GetComplianceSummaryByResourceType":{ - "name":"GetComplianceSummaryByResourceType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetComplianceSummaryByResourceTypeRequest"}, - "output":{"shape":"GetComplianceSummaryByResourceTypeResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Returns the number of resources that are compliant and the number that are noncompliant. You can specify one or more resource types to get these numbers for each resource type. The maximum number returned is 100.

" - }, - "GetDiscoveredResourceCounts":{ - "name":"GetDiscoveredResourceCounts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDiscoveredResourceCountsRequest"}, - "output":{"shape":"GetDiscoveredResourceCountsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in this region for your AWS account.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.

  2. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types.

  3. AWS Config returns the following:

    • The resource types (EC2 instances, IAM users, and S3 buckets).

    • The number of each resource type (25, 20, and 15).

    • The total number of all resources (60).

The response is paginated. By default, AWS Config lists 100 ResourceCount objects on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

If you make a call to the GetDiscoveredResourceCounts action, you might not immediately receive resource counts in the following situations:

  • You are a new AWS Config customer.

  • You just enabled resource recording.

It might take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action.

" - }, - "GetResourceConfigHistory":{ - "name":"GetResourceConfigHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetResourceConfigHistoryRequest"}, - "output":{"shape":"GetResourceConfigHistoryResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidTimeRangeException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoAvailableConfigurationRecorderException"}, - {"shape":"ResourceNotDiscoveredException"} - ], - "documentation":"

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval. If you specified a retention period to retain your ConfigurationItems between a minimum of 30 days and a maximum of 7 years (2557 days), AWS Config returns the ConfigurationItems for the specified retention period.

The response is paginated. By default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken.

" - }, - "ListDiscoveredResources":{ - "name":"ListDiscoveredResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDiscoveredResourcesRequest"}, - "output":{"shape":"ListDiscoveredResourcesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoAvailableConfigurationRecorderException"} - ], - "documentation":"

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name, but not both, in the same request.

The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

" - }, - "PutAggregationAuthorization":{ - "name":"PutAggregationAuthorization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutAggregationAuthorizationRequest"}, - "output":{"shape":"PutAggregationAuthorizationResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Authorizes the aggregator account and region to collect data from the source account and region.

" - }, - "PutConfigRule":{ - "name":"PutConfigRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutConfigRuleRequest"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MaxNumberOfConfigRulesExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InsufficientPermissionsException"}, - {"shape":"NoAvailableConfigurationRecorderException"} - ], - "documentation":"

Adds or updates an AWS Config rule for evaluating whether your AWS resources comply with your desired configurations.

You can use this action for custom AWS Config rules and AWS managed Config rules. A custom AWS Config rule is a rule that you develop and maintain. An AWS managed Config rule is a customizable, predefined rule that AWS Config provides.

If you are adding a new custom AWS Config rule, you must first create the AWS Lambda function that the rule invokes to evaluate your resources. When you use the PutConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify the ARN for the SourceIdentifier key. This key is part of the Source object, which is part of the ConfigRule object.

If you are adding an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About AWS Managed Config Rules.

For any new rule that you add, specify the ConfigRuleName in the ConfigRule object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values are generated by AWS Config for new rules.

If you are updating a rule that you added previously, you can specify the rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type that you use in this request.

The maximum number of rules that AWS Config supports is 50.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" - }, - "PutConfigurationAggregator":{ - "name":"PutConfigurationAggregator", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutConfigurationAggregatorRequest"}, - "output":{"shape":"PutConfigurationAggregatorResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidRoleException"}, - {"shape":"OrganizationAccessDeniedException"}, - {"shape":"NoAvailableOrganizationException"}, - {"shape":"OrganizationAllFeaturesNotEnabledException"} - ], - "documentation":"

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

AWS Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the master account and all features must be enabled in your organization. AWS Config calls EnableAwsServiceAccess API to enable integration between AWS Config and AWS Organizations.

" - }, - "PutConfigurationRecorder":{ - "name":"PutConfigurationRecorder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutConfigurationRecorderRequest"}, - "errors":[ - {"shape":"MaxNumberOfConfigurationRecordersExceededException"}, - {"shape":"InvalidConfigurationRecorderNameException"}, - {"shape":"InvalidRoleException"}, - {"shape":"InvalidRecordingGroupException"} - ], - "documentation":"

Creates a new configuration recorder to record the selected resource configurations.

You can use this action to change the role roleARN or the recordingGroup of an existing recorder. To change the role, call the action on the existing configuration recorder and specify a role.

Currently, you can specify only one configuration recorder per region in your account.

If ConfigurationRecorder does not have the recordingGroup parameter specified, the default is to record all supported resource types.

" - }, - "PutDeliveryChannel":{ - "name":"PutDeliveryChannel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutDeliveryChannelRequest"}, - "errors":[ - {"shape":"MaxNumberOfDeliveryChannelsExceededException"}, - {"shape":"NoAvailableConfigurationRecorderException"}, - {"shape":"InvalidDeliveryChannelNameException"}, - {"shape":"NoSuchBucketException"}, - {"shape":"InvalidS3KeyPrefixException"}, - {"shape":"InvalidSNSTopicARNException"}, - {"shape":"InsufficientDeliveryPolicyException"} - ], - "documentation":"

Creates a delivery channel object to deliver configuration information to an Amazon S3 bucket and Amazon SNS topic.

Before you can create a delivery channel, you must create a configuration recorder.

You can use this action to change the Amazon S3 bucket or an Amazon SNS topic of the existing delivery channel. To change the Amazon S3 bucket or an Amazon SNS topic, call this action and specify the changed values for the S3 bucket and the SNS topic. If you specify a different value for either the S3 bucket or the SNS topic, this action will keep the existing value for the parameter that is not changed.

You can have only one delivery channel per region in your account.

" - }, - "PutEvaluations":{ - "name":"PutEvaluations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutEvaluationsRequest"}, - "output":{"shape":"PutEvaluationsResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidResultTokenException"}, - {"shape":"NoSuchConfigRuleException"} - ], - "documentation":"

Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule.

" - }, - "PutRetentionConfiguration":{ - "name":"PutRetentionConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRetentionConfigurationRequest"}, - "output":{"shape":"PutRetentionConfigurationResponse"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MaxNumberOfRetentionConfigurationsExceededException"} - ], - "documentation":"

Creates and updates the retention configuration with details about retention period (number of days) that AWS Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, AWS Config supports only one retention configuration per region in your account.

" - }, - "StartConfigRulesEvaluation":{ - "name":"StartConfigRulesEvaluation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartConfigRulesEvaluationRequest"}, - "output":{"shape":"StartConfigRulesEvaluationResponse"}, - "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Runs an on-demand evaluation for the specified AWS Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation does not re-record the latest configuration state for your resources. It re-runs an evaluation against the last known state of your resources.

You can specify up to 25 AWS Config rules per request.

An existing StartConfigRulesEvaluation call for the specified rules must complete before you can call the API again. If you chose to have AWS Config stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted notification when the evaluation starts.

You don't need to call the StartConfigRulesEvaluation API to run an evaluation for a new rule. When you create a rule, AWS Config evaluates your resources against the rule automatically.

The StartConfigRulesEvaluation API is useful if you want to run on-demand evaluations, such as the following example:

  1. You have a custom rule that evaluates your IAM resources every 24 hours.

  2. You update your Lambda function to add additional conditions to your rule.

  3. Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation API.

  4. AWS Config invokes your Lambda function and evaluates your IAM resources.

  5. Your custom rule will still run periodic evaluations every 24 hours.

" - }, - "StartConfigurationRecorder":{ - "name":"StartConfigurationRecorder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartConfigurationRecorderRequest"}, - "errors":[ - {"shape":"NoSuchConfigurationRecorderException"}, - {"shape":"NoAvailableDeliveryChannelException"} - ], - "documentation":"

Starts recording configurations of the AWS resources you have selected to record in your AWS account.

You must have created at least one delivery channel to successfully start the configuration recorder.

" - }, - "StopConfigurationRecorder":{ - "name":"StopConfigurationRecorder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopConfigurationRecorderRequest"}, - "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} - ], - "documentation":"

Stops recording configurations of the AWS resources you have selected to record in your AWS account.

" - } - }, - "shapes":{ - "ARN":{"type":"string"}, - "AccountAggregationSource":{ - "type":"structure", - "required":["AccountIds"], - "members":{ - "AccountIds":{ - "shape":"AccountAggregationSourceAccountList", - "documentation":"

The 12-digit account ID of the account being aggregated.

" - }, - "AllAwsRegions":{ - "shape":"Boolean", - "documentation":"

If true, aggregate existing AWS Config regions and future regions.

" - }, - "AwsRegions":{ - "shape":"AggregatorRegionList", - "documentation":"

The source regions being aggregated.

" - } - }, - "documentation":"

A collection of accounts and regions.

" - }, - "AccountAggregationSourceAccountList":{ - "type":"list", - "member":{"shape":"AccountId"}, - "min":1 - }, - "AccountAggregationSourceList":{ - "type":"list", - "member":{"shape":"AccountAggregationSource"}, - "max":1, - "min":0 - }, - "AccountId":{ - "type":"string", - "pattern":"\\d{12}" - }, - "AggregateComplianceByConfigRule":{ - "type":"structure", - "members":{ - "ConfigRuleName":{ - "shape":"ConfigRuleName", - "documentation":"

The name of the AWS Config rule.

" - }, - "Compliance":{ - "shape":"Compliance", - "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the source account.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The source region from where the data is aggregated.

" - } - }, - "documentation":"

Indicates whether an AWS Config rule is compliant based on account ID, region, compliance, and rule name.

A rule is compliant if all of the resources that the rule evaluated comply with it. It is noncompliant if any of these resources do not comply.

" - }, - "AggregateComplianceByConfigRuleList":{ - "type":"list", - "member":{"shape":"AggregateComplianceByConfigRule"} - }, - "AggregateComplianceCount":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"StringWithCharLimit256", - "documentation":"

The 12-digit account ID or region based on the GroupByKey value.

" - }, - "ComplianceSummary":{ - "shape":"ComplianceSummary", - "documentation":"

The number of compliant and noncompliant AWS Config rules.

" - } - }, - "documentation":"

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

" - }, - "AggregateComplianceCountList":{ - "type":"list", - "member":{"shape":"AggregateComplianceCount"} - }, - "AggregateEvaluationResult":{ - "type":"structure", - "members":{ - "EvaluationResultIdentifier":{ - "shape":"EvaluationResultIdentifier", - "documentation":"

Uniquely identifies the evaluation result.

" - }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

The resource compliance status.

For the AggregationEvaluationResult data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA value.

" - }, - "ResultRecordedTime":{ - "shape":"Date", - "documentation":"

The time when AWS Config recorded the aggregate evaluation result.

" - }, - "ConfigRuleInvokedTime":{ - "shape":"Date", - "documentation":"

The time when the AWS Config rule evaluated the AWS resource.

" - }, - "Annotation":{ - "shape":"StringWithCharLimit256", - "documentation":"

Supplementary information about how the agrregate evaluation determined the compliance.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the source account.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The source region from where the data is aggregated.

" - } - }, - "documentation":"

The details of an AWS Config evaluation for an account ID and region in an aggregator. Provides the AWS resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.

" - }, - "AggregateEvaluationResultList":{ - "type":"list", - "member":{"shape":"AggregateEvaluationResult"} - }, - "AggregatedSourceStatus":{ - "type":"structure", - "members":{ - "SourceId":{ - "shape":"String", - "documentation":"

The source account ID or an organization.

" - }, - "SourceType":{ - "shape":"AggregatedSourceType", - "documentation":"

The source account or an organization.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region authorized to collect aggregated data.

" - }, - "LastUpdateStatus":{ - "shape":"AggregatedSourceStatusType", - "documentation":"

Filters the last updated status type.

  • Valid value FAILED indicates errors while moving data.

  • Valid value SUCCEEDED indicates the data was successfully moved.

  • Valid value OUTDATED indicates the data is not the most recent.

" - }, - "LastUpdateTime":{ - "shape":"Date", - "documentation":"

The time of the last update.

" - }, - "LastErrorCode":{ - "shape":"String", - "documentation":"

The error code that AWS Config returned when the source account aggregation last failed.

" - }, - "LastErrorMessage":{ - "shape":"String", - "documentation":"

The message indicating that the source account aggregation failed due to an error.

" - } - }, - "documentation":"

The current sync status between the source and the aggregator account.

" - }, - "AggregatedSourceStatusList":{ - "type":"list", - "member":{"shape":"AggregatedSourceStatus"} - }, - "AggregatedSourceStatusType":{ - "type":"string", - "enum":[ - "FAILED", - "SUCCEEDED", - "OUTDATED" - ] - }, - "AggregatedSourceStatusTypeList":{ - "type":"list", - "member":{"shape":"AggregatedSourceStatusType"}, - "min":1 - }, - "AggregatedSourceType":{ - "type":"string", - "enum":[ - "ACCOUNT", - "ORGANIZATION" - ] - }, - "AggregationAuthorization":{ - "type":"structure", - "members":{ - "AggregationAuthorizationArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the aggregation object.

" - }, - "AuthorizedAccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" - }, - "AuthorizedAwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region authorized to collect aggregated data.

" - }, - "CreationTime":{ - "shape":"Date", - "documentation":"

The time stamp when the aggregation authorization was created.

" - } - }, - "documentation":"

An object that represents the authorizations granted to aggregator accounts and regions.

" - }, - "AggregationAuthorizationList":{ - "type":"list", - "member":{"shape":"AggregationAuthorization"} - }, - "AggregatorRegionList":{ - "type":"list", - "member":{"shape":"String"}, - "min":1 - }, - "AllSupported":{"type":"boolean"}, - "AvailabilityZone":{"type":"string"}, - "AwsRegion":{ - "type":"string", - "max":64, - "min":1 - }, - "BaseConfigurationItem":{ - "type":"structure", - "members":{ - "version":{ - "shape":"Version", - "documentation":"

The version number of the resource configuration.

" - }, - "accountId":{ - "shape":"AccountId", - "documentation":"

The 12 digit AWS account ID associated with the resource.

" - }, - "configurationItemCaptureTime":{ - "shape":"ConfigurationItemCaptureTime", - "documentation":"

The time when the configuration recording was initiated.

" - }, - "configurationItemStatus":{ - "shape":"ConfigurationItemStatus", - "documentation":"

The configuration item status.

" - }, - "configurationStateId":{ - "shape":"ConfigurationStateId", - "documentation":"

An identifier that indicates the ordering of the configuration items of a resource.

" - }, - "arn":{ - "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of AWS resource.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of the resource, if available.

" - }, - "awsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region where the resource resides.

" - }, - "availabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone associated with the resource.

" - }, - "resourceCreationTime":{ - "shape":"ResourceCreationTime", - "documentation":"

The time stamp when the resource was created.

" - }, - "configuration":{ - "shape":"Configuration", - "documentation":"

The description of the resource configuration.

" - }, - "supplementaryConfiguration":{ - "shape":"SupplementaryConfiguration", - "documentation":"

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" - } - }, - "documentation":"

The detailed configuration of a specified resource.

" - }, - "BaseConfigurationItems":{ - "type":"list", - "member":{"shape":"BaseConfigurationItem"} - }, - "BaseResourceId":{ - "type":"string", - "max":768, - "min":1 - }, - "BatchGetResourceConfigRequest":{ - "type":"structure", - "required":["resourceKeys"], - "members":{ - "resourceKeys":{ - "shape":"ResourceKeys", - "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" - } - } - }, - "BatchGetResourceConfigResponse":{ - "type":"structure", - "members":{ - "baseConfigurationItems":{ - "shape":"BaseConfigurationItems", - "documentation":"

A list that contains the current configuration of one or more resources.

" - }, - "unprocessedResourceKeys":{ - "shape":"ResourceKeys", - "documentation":"

A list of resource keys that were not processed with the current response. The unprocessesResourceKeys value is in the same form as ResourceKeys, so the value can be directly provided to a subsequent BatchGetResourceConfig operation. If there are no unprocessed resource keys, the response contains an empty unprocessedResourceKeys list.

" - } - } - }, - "Boolean":{"type":"boolean"}, - "ChannelName":{ - "type":"string", - "max":256, - "min":1 - }, - "ChronologicalOrder":{ - "type":"string", - "enum":[ - "Reverse", - "Forward" - ] - }, - "Compliance":{ - "type":"structure", - "members":{ - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant.

A resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.

A rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.

AWS Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the AWS resource or AWS Config rule.

For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE value for the Compliance data type.

" - }, - "ComplianceContributorCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT, up to a maximum number.

" - } - }, - "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

" - }, - "ComplianceByConfigRule":{ - "type":"structure", - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule.

" - }, - "Compliance":{ - "shape":"Compliance", - "documentation":"

Indicates whether the AWS Config rule is compliant.

" - } - }, - "documentation":"

Indicates whether an AWS Config rule is compliant. A rule is compliant if all of the resources that the rule evaluated comply with it. A rule is noncompliant if any of these resources do not comply.

" - }, - "ComplianceByConfigRules":{ - "type":"list", - "member":{"shape":"ComplianceByConfigRule"} - }, - "ComplianceByResource":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of the AWS resource that was evaluated.

" - }, - "ResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the AWS resource that was evaluated.

" - }, - "Compliance":{ - "shape":"Compliance", - "documentation":"

Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it.

" - } - }, - "documentation":"

Indicates whether an AWS resource that is evaluated according to one or more AWS Config rules is compliant. A resource is compliant if it complies with all of the rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.

" - }, - "ComplianceByResources":{ - "type":"list", - "member":{"shape":"ComplianceByResource"} - }, - "ComplianceContributorCount":{ - "type":"structure", - "members":{ - "CappedCount":{ - "shape":"Integer", - "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item.

" - }, - "CapExceeded":{ - "shape":"Boolean", - "documentation":"

Indicates whether the maximum count is reached.

" - } - }, - "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item, up to a maximum number.

" - }, - "ComplianceResourceTypes":{ - "type":"list", - "member":{"shape":"StringWithCharLimit256"}, - "max":100, - "min":0 - }, - "ComplianceSummariesByResourceType":{ - "type":"list", - "member":{"shape":"ComplianceSummaryByResourceType"} - }, - "ComplianceSummary":{ - "type":"structure", - "members":{ - "CompliantResourceCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS Config rules or AWS resources that are compliant, up to a maximum of 25 for rules and 100 for resources.

" - }, - "NonCompliantResourceCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS Config rules or AWS resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources.

" - }, - "ComplianceSummaryTimestamp":{ - "shape":"Date", - "documentation":"

The time that AWS Config created the compliance summary.

" - } - }, - "documentation":"

The number of AWS Config rules or AWS resources that are compliant and noncompliant.

" - }, - "ComplianceSummaryByResourceType":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource.

" - }, - "ComplianceSummary":{ - "shape":"ComplianceSummary", - "documentation":"

The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each.

" - } - }, - "documentation":"

The number of AWS resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each.

" - }, - "ComplianceType":{ - "type":"string", - "enum":[ - "COMPLIANT", - "NON_COMPLIANT", - "NOT_APPLICABLE", - "INSUFFICIENT_DATA" - ] - }, - "ComplianceTypes":{ - "type":"list", - "member":{"shape":"ComplianceType"}, - "max":3, - "min":0 - }, - "ConfigExportDeliveryInfo":{ - "type":"structure", - "members":{ - "lastStatus":{ - "shape":"DeliveryStatus", - "documentation":"

Status of the last attempted delivery.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code from the last attempted delivery.

" - }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The error message from the last attempted delivery.

" - }, - "lastAttemptTime":{ - "shape":"Date", - "documentation":"

The time of the last attempted delivery.

" - }, - "lastSuccessfulTime":{ - "shape":"Date", - "documentation":"

The time of the last successful delivery.

" - }, - "nextDeliveryTime":{ - "shape":"Date", - "documentation":"

The time that the next delivery occurs.

" - } - }, - "documentation":"

Provides status of the delivery of the snapshot or the configuration history to the specified Amazon S3 bucket. Also provides the status of notifications about the Amazon S3 delivery to the specified Amazon SNS topic.

" - }, - "ConfigRule":{ - "type":"structure", - "required":["Source"], - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name that you assign to the AWS Config rule. The name is required if you are adding a new rule.

" - }, - "ConfigRuleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" - }, - "ConfigRuleId":{ - "shape":"String", - "documentation":"

The ID of the AWS Config rule.

" - }, - "Description":{ - "shape":"EmptiableStringWithCharLimit256", - "documentation":"

The description that you provide for the AWS Config rule.

" - }, - "Scope":{ - "shape":"Scope", - "documentation":"

Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.

" - }, - "Source":{ - "shape":"Source", - "documentation":"

Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.

" - }, - "InputParameters":{ - "shape":"StringWithCharLimit1024", - "documentation":"

A string, in JSON format, that is passed to the AWS Config rule Lambda function.

" - }, - "MaximumExecutionFrequency":{ - "shape":"MaximumExecutionFrequency", - "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

  • You are using an AWS managed rule that is triggered at a periodic frequency.

  • Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" - }, - "ConfigRuleState":{ - "shape":"ConfigRuleState", - "documentation":"

Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the AWS Config rule.

AWS Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the AWS Config rule.

AWS Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the AWS Config rule.

AWS Config temporarily sets the state of a rule to DELETING after you use the DeleteConfigRule request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.

" - } - }, - "documentation":"

An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).

You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" - }, - "ConfigRuleComplianceFilters":{ - "type":"structure", - "members":{ - "ConfigRuleName":{ - "shape":"ConfigRuleName", - "documentation":"

The name of the AWS Config rule.

" - }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

The rule compliance status.

For the ConfigRuleComplianceFilters data type, AWS Config supports only COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and the INSUFFICIENT_DATA values.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the source account.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The source region where the data is aggregated.

" - } - }, - "documentation":"

Filters the compliance results based on account ID, region, compliance type, and rule name.

" - }, - "ConfigRuleComplianceSummaryFilters":{ - "type":"structure", - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the source account.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The source region where the data is aggregated.

" - } - }, - "documentation":"

Filters the results based on the account IDs and regions.

" - }, - "ConfigRuleComplianceSummaryGroupKey":{ - "type":"string", - "enum":[ - "ACCOUNT_ID", - "AWS_REGION" - ] - }, - "ConfigRuleEvaluationStatus":{ - "type":"structure", - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule.

" - }, - "ConfigRuleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" - }, - "ConfigRuleId":{ - "shape":"String", - "documentation":"

The ID of the AWS Config rule.

" - }, - "LastSuccessfulInvocationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last successfully invoked the AWS Config rule to evaluate your AWS resources.

" - }, - "LastFailedInvocationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last failed to invoke the AWS Config rule to evaluate your AWS resources.

" - }, - "LastSuccessfulEvaluationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last successfully evaluated your AWS resources against the rule.

" - }, - "LastFailedEvaluationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last failed to evaluate your AWS resources against the rule.

" - }, - "FirstActivatedTime":{ - "shape":"Date", - "documentation":"

The time that you first activated the AWS Config rule.

" - }, - "LastErrorCode":{ - "shape":"String", - "documentation":"

The error code that AWS Config returned when the rule last failed.

" - }, - "LastErrorMessage":{ - "shape":"String", - "documentation":"

The error message that AWS Config returned when the rule last failed.

" - }, - "FirstEvaluationStarted":{ - "shape":"Boolean", - "documentation":"

Indicates whether AWS Config has evaluated your resources against the rule at least once.

  • true - AWS Config has evaluated your AWS resources against the rule at least once.

  • false - AWS Config has not once finished evaluating your AWS resources against the rule.

" - } - }, - "documentation":"

Status information for your AWS managed Config rules. The status includes information such as the last time the rule ran, the last time it failed, and the related error for the last failure.

This action does not return status information about custom AWS Config rules.

" - }, - "ConfigRuleEvaluationStatusList":{ - "type":"list", - "member":{"shape":"ConfigRuleEvaluationStatus"} - }, - "ConfigRuleName":{ - "type":"string", - "max":64, - "min":1 - }, - "ConfigRuleNames":{ - "type":"list", - "member":{"shape":"StringWithCharLimit64"}, - "max":25, - "min":0 - }, - "ConfigRuleState":{ - "type":"string", - "enum":[ - "ACTIVE", - "DELETING", - "DELETING_RESULTS", - "EVALUATING" - ] - }, - "ConfigRules":{ - "type":"list", - "member":{"shape":"ConfigRule"} - }, - "ConfigSnapshotDeliveryProperties":{ - "type":"structure", - "members":{ - "deliveryFrequency":{ - "shape":"MaximumExecutionFrequency", - "documentation":"

The frequency with which AWS Config delivers configuration snapshots.

" - } - }, - "documentation":"

Provides options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket in your delivery channel.

If you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot, see the following:

The frequency for a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often AWS Config delivers configuration snapshots. This value also sets how often AWS Config invokes evaluations for AWS Config rules.

  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which AWS Config invokes evaluations for the rule. For more information, see ConfigRule.

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when AWS Config delivers the configuration snapshot.

  2. You specify the MaximumExecutionFrequency value for Six_Hours.

  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.

  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, AWS Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which AWS Config delivers your configuration snapshots, use the PutDeliveryChannel action.

" - }, - "ConfigStreamDeliveryInfo":{ - "type":"structure", - "members":{ - "lastStatus":{ - "shape":"DeliveryStatus", - "documentation":"

Status of the last attempted delivery.

Note Providing an SNS topic on a DeliveryChannel for AWS Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code from the last attempted delivery.

" - }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The error message from the last attempted delivery.

" - }, - "lastStatusChangeTime":{ - "shape":"Date", - "documentation":"

The time from the last status change.

" - } - }, - "documentation":"

A list that contains the status of the delivery of the configuration stream notification to the Amazon SNS topic.

" - }, - "Configuration":{"type":"string"}, - "ConfigurationAggregator":{ - "type":"structure", - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the aggregator.

" - }, - "ConfigurationAggregatorArn":{ - "shape":"ConfigurationAggregatorArn", - "documentation":"

The Amazon Resource Name (ARN) of the aggregator.

" - }, - "AccountAggregationSources":{ - "shape":"AccountAggregationSourceList", - "documentation":"

Provides a list of source accounts and regions to be aggregated.

" - }, - "OrganizationAggregationSource":{ - "shape":"OrganizationAggregationSource", - "documentation":"

Provides an organization and list of regions to be aggregated.

" - }, - "CreationTime":{ - "shape":"Date", - "documentation":"

The time stamp when the configuration aggregator was created.

" - }, - "LastUpdatedTime":{ - "shape":"Date", - "documentation":"

The time of the last update.

" - } - }, - "documentation":"

The details about the configuration aggregator, including information about source accounts, regions, and metadata of the aggregator.

" - }, - "ConfigurationAggregatorArn":{ - "type":"string", - "pattern":"arn:aws[a-z\\-]*:config:[a-z\\-\\d]+:\\d+:config-aggregator/config-aggregator-[a-z\\d]+" - }, - "ConfigurationAggregatorList":{ - "type":"list", - "member":{"shape":"ConfigurationAggregator"} - }, - "ConfigurationAggregatorName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\w\\-]+" - }, - "ConfigurationAggregatorNameList":{ - "type":"list", - "member":{"shape":"ConfigurationAggregatorName"}, - "max":10, - "min":0 - }, - "ConfigurationItem":{ - "type":"structure", - "members":{ - "version":{ - "shape":"Version", - "documentation":"

The version number of the resource configuration.

" - }, - "accountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit AWS account ID associated with the resource.

" - }, - "configurationItemCaptureTime":{ - "shape":"ConfigurationItemCaptureTime", - "documentation":"

The time when the configuration recording was initiated.

" - }, - "configurationItemStatus":{ - "shape":"ConfigurationItemStatus", - "documentation":"

The configuration item status.

" - }, - "configurationStateId":{ - "shape":"ConfigurationStateId", - "documentation":"

An identifier that indicates the ordering of the configuration items of a resource.

" - }, - "configurationItemMD5Hash":{ - "shape":"ConfigurationItemMD5Hash", - "documentation":"

Unique MD5 hash that represents the configuration item's state.

You can use MD5 hash to compare the states of two or more configuration items that are associated with the same resource.

" - }, - "arn":{ - "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of AWS resource.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example, sg-xxxxxx).

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of the resource, if available.

" - }, - "awsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region where the resource resides.

" - }, - "availabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone associated with the resource.

" - }, - "resourceCreationTime":{ - "shape":"ResourceCreationTime", - "documentation":"

The time stamp when the resource was created.

" - }, - "tags":{ - "shape":"Tags", - "documentation":"

A mapping of key value tags associated with the resource.

" - }, - "relatedEvents":{ - "shape":"RelatedEventList", - "documentation":"

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What Is AWS CloudTrail.

An empty field indicates that the current configuration was not initiated by any event.

" - }, - "relationships":{ - "shape":"RelationshipList", - "documentation":"

A list of related AWS resources.

" - }, - "configuration":{ - "shape":"Configuration", - "documentation":"

The description of the resource configuration.

" - }, - "supplementaryConfiguration":{ - "shape":"SupplementaryConfiguration", - "documentation":"

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" - } - }, - "documentation":"

A list that contains detailed configurations of a specified resource.

" - }, - "ConfigurationItemCaptureTime":{"type":"timestamp"}, - "ConfigurationItemList":{ - "type":"list", - "member":{"shape":"ConfigurationItem"} - }, - "ConfigurationItemMD5Hash":{"type":"string"}, - "ConfigurationItemStatus":{ - "type":"string", - "enum":[ - "OK", - "ResourceDiscovered", - "ResourceNotRecorded", - "ResourceDeleted", - "ResourceDeletedNotRecorded" - ] - }, - "ConfigurationRecorder":{ - "type":"structure", - "members":{ - "name":{ - "shape":"RecorderName", - "documentation":"

The name of the recorder. By default, AWS Config automatically assigns the name \"default\" when creating the configuration recorder. You cannot change the assigned name.

" - }, - "roleARN":{ - "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources associated with the account.

" - }, - "recordingGroup":{ - "shape":"RecordingGroup", - "documentation":"

Specifies the types of AWS resources for which AWS Config records configuration changes.

" - } - }, - "documentation":"

An object that represents the recording of configuration changes of an AWS resource.

" - }, - "ConfigurationRecorderList":{ - "type":"list", - "member":{"shape":"ConfigurationRecorder"} - }, - "ConfigurationRecorderNameList":{ - "type":"list", - "member":{"shape":"RecorderName"} - }, - "ConfigurationRecorderStatus":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the configuration recorder.

" - }, - "lastStartTime":{ - "shape":"Date", - "documentation":"

The time the recorder was last started.

" - }, - "lastStopTime":{ - "shape":"Date", - "documentation":"

The time the recorder was last stopped.

" - }, - "recording":{ - "shape":"Boolean", - "documentation":"

Specifies whether or not the recorder is currently recording.

" - }, - "lastStatus":{ - "shape":"RecorderStatus", - "documentation":"

The last (previous) status of the recorder.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code indicating that the recording failed.

" - }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The message indicating that the recording failed due to an error.

" - }, - "lastStatusChangeTime":{ - "shape":"Date", - "documentation":"

The time when the status was last changed.

" - } - }, - "documentation":"

The current status of the configuration recorder.

" - }, - "ConfigurationRecorderStatusList":{ - "type":"list", - "member":{"shape":"ConfigurationRecorderStatus"} - }, - "ConfigurationStateId":{"type":"string"}, - "Date":{"type":"timestamp"}, - "DeleteAggregationAuthorizationRequest":{ - "type":"structure", - "required":[ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "members":{ - "AuthorizedAccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" - }, - "AuthorizedAwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region authorized to collect aggregated data.

" - } - } - }, - "DeleteConfigRuleRequest":{ - "type":"structure", - "required":["ConfigRuleName"], - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule that you want to delete.

" - } - }, - "documentation":"

" - }, - "DeleteConfigurationAggregatorRequest":{ - "type":"structure", - "required":["ConfigurationAggregatorName"], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - } - } - }, - "DeleteConfigurationRecorderRequest":{ - "type":"structure", - "required":["ConfigurationRecorderName"], - "members":{ - "ConfigurationRecorderName":{ - "shape":"RecorderName", - "documentation":"

The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action.

" - } - }, - "documentation":"

The request object for the DeleteConfigurationRecorder action.

" - }, - "DeleteDeliveryChannelRequest":{ - "type":"structure", - "required":["DeliveryChannelName"], - "members":{ - "DeliveryChannelName":{ - "shape":"ChannelName", - "documentation":"

The name of the delivery channel to delete.

" - } - }, - "documentation":"

The input for the DeleteDeliveryChannel action. The action accepts the following data, in JSON format.

" - }, - "DeleteEvaluationResultsRequest":{ - "type":"structure", - "required":["ConfigRuleName"], - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule for which you want to delete the evaluation results.

" - } - }, - "documentation":"

" - }, - "DeleteEvaluationResultsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output when you delete the evaluation results for the specified AWS Config rule.

" - }, - "DeletePendingAggregationRequestRequest":{ - "type":"structure", - "required":[ - "RequesterAccountId", - "RequesterAwsRegion" - ], - "members":{ - "RequesterAccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the account requesting to aggregate data.

" - }, - "RequesterAwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region requesting to aggregate data.

" - } - } - }, - "DeleteRetentionConfigurationRequest":{ - "type":"structure", - "required":["RetentionConfigurationName"], - "members":{ - "RetentionConfigurationName":{ - "shape":"RetentionConfigurationName", - "documentation":"

The name of the retention configuration to delete.

" - } - } - }, - "DeliverConfigSnapshotRequest":{ - "type":"structure", - "required":["deliveryChannelName"], - "members":{ - "deliveryChannelName":{ - "shape":"ChannelName", - "documentation":"

The name of the delivery channel through which the snapshot is delivered.

" - } - }, - "documentation":"

The input for the DeliverConfigSnapshot action.

" - }, - "DeliverConfigSnapshotResponse":{ - "type":"structure", - "members":{ - "configSnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot that is being created.

" - } - }, - "documentation":"

The output for the DeliverConfigSnapshot action, in JSON format.

" - }, - "DeliveryChannel":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ChannelName", - "documentation":"

The name of the delivery channel. By default, AWS Config assigns the name \"default\" when creating the delivery channel. To change the delivery channel name, you must use the DeleteDeliveryChannel action to delete your current delivery channel, and then you must use the PutDeliveryChannel command to create a delivery channel that has the desired name.

" - }, - "s3BucketName":{ - "shape":"String", - "documentation":"

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

" - }, - "s3KeyPrefix":{ - "shape":"String", - "documentation":"

The prefix for the specified Amazon S3 bucket.

" - }, - "snsTopicARN":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" - }, - "configSnapshotDeliveryProperties":{ - "shape":"ConfigSnapshotDeliveryProperties", - "documentation":"

The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.

" - } - }, - "documentation":"

The channel through which AWS Config delivers notifications and updated configuration states.

" - }, - "DeliveryChannelList":{ - "type":"list", - "member":{"shape":"DeliveryChannel"} - }, - "DeliveryChannelNameList":{ - "type":"list", - "member":{"shape":"ChannelName"} - }, - "DeliveryChannelStatus":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the delivery channel.

" - }, - "configSnapshotDeliveryInfo":{ - "shape":"ConfigExportDeliveryInfo", - "documentation":"

A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

" - }, - "configHistoryDeliveryInfo":{ - "shape":"ConfigExportDeliveryInfo", - "documentation":"

A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

" - }, - "configStreamDeliveryInfo":{ - "shape":"ConfigStreamDeliveryInfo", - "documentation":"

A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic.

" - } - }, - "documentation":"

The status of a specified delivery channel.

Valid values: Success | Failure

" - }, - "DeliveryChannelStatusList":{ - "type":"list", - "member":{"shape":"DeliveryChannelStatus"} - }, - "DeliveryStatus":{ - "type":"string", - "enum":[ - "Success", - "Failure", - "Not_Applicable" - ] - }, - "DescribeAggregateComplianceByConfigRulesRequest":{ - "type":"structure", - "required":["ConfigurationAggregatorName"], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - }, - "Filters":{ - "shape":"ConfigRuleComplianceFilters", - "documentation":"

Filters the results by ConfigRuleComplianceFilters object.

" - }, - "Limit":{ - "shape":"GroupByAPILimit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeAggregateComplianceByConfigRulesResponse":{ - "type":"structure", - "members":{ - "AggregateComplianceByConfigRules":{ - "shape":"AggregateComplianceByConfigRuleList", - "documentation":"

Returns a list of AggregateComplianceByConfigRule object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeAggregationAuthorizationsRequest":{ - "type":"structure", - "members":{ - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeAggregationAuthorizationsResponse":{ - "type":"structure", - "members":{ - "AggregationAuthorizations":{ - "shape":"AggregationAuthorizationList", - "documentation":"

Returns a list of authorizations granted to various aggregator accounts and regions.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeComplianceByConfigRuleRequest":{ - "type":"structure", - "members":{ - "ConfigRuleNames":{ - "shape":"ConfigRuleNames", - "documentation":"

Specify one or more AWS Config rule names to filter the results by rule.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeComplianceByConfigRuleResponse":{ - "type":"structure", - "members":{ - "ComplianceByConfigRules":{ - "shape":"ComplianceByConfigRules", - "documentation":"

Indicates whether each of the specified AWS Config rules is compliant.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeComplianceByResourceRequest":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The types of AWS resources for which you want compliance information (for example, AWS::EC2::Instance). For this action, you can specify that the resource type is an AWS account by specifying AWS::::Account.

" - }, - "ResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeComplianceByResourceResponse":{ - "type":"structure", - "members":{ - "ComplianceByResources":{ - "shape":"ComplianceByResources", - "documentation":"

Indicates whether the specified AWS resource complies with all of the AWS Config rules that evaluate it.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeConfigRuleEvaluationStatusRequest":{ - "type":"structure", - "members":{ - "ConfigRuleNames":{ - "shape":"ConfigRuleNames", - "documentation":"

The name of the AWS managed Config rules for which you want status information. If you do not specify any names, AWS Config returns status information for all AWS managed Config rules that you use.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - }, - "Limit":{ - "shape":"RuleLimit", - "documentation":"

The number of rule evaluation results that you want returned.

This parameter is required if the rule limit for your account is more than the default of 50 rules.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

" - } - }, - "documentation":"

" - }, - "DescribeConfigRuleEvaluationStatusResponse":{ - "type":"structure", - "members":{ - "ConfigRulesEvaluationStatus":{ - "shape":"ConfigRuleEvaluationStatusList", - "documentation":"

Status information about your AWS managed Config rules.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeConfigRulesRequest":{ - "type":"structure", - "members":{ - "ConfigRuleNames":{ - "shape":"ConfigRuleNames", - "documentation":"

The names of the AWS Config rules for which you want details. If you do not specify any names, AWS Config returns details for all your rules.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeConfigRulesResponse":{ - "type":"structure", - "members":{ - "ConfigRules":{ - "shape":"ConfigRules", - "documentation":"

The details about your AWS Config rules.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "DescribeConfigurationAggregatorSourcesStatusRequest":{ - "type":"structure", - "required":["ConfigurationAggregatorName"], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - }, - "UpdateStatus":{ - "shape":"AggregatedSourceStatusTypeList", - "documentation":"

Filters the status type.

  • Valid value FAILED indicates errors while moving data.

  • Valid value SUCCEEDED indicates the data was successfully moved.

  • Valid value OUTDATED indicates the data is not the most recent.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" - } - } - }, - "DescribeConfigurationAggregatorSourcesStatusResponse":{ - "type":"structure", - "members":{ - "AggregatedSourceStatusList":{ - "shape":"AggregatedSourceStatusList", - "documentation":"

Returns an AggregatedSourceStatus object.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeConfigurationAggregatorsRequest":{ - "type":"structure", - "members":{ - "ConfigurationAggregatorNames":{ - "shape":"ConfigurationAggregatorNameList", - "documentation":"

The name of the configuration aggregators.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" - } - } - }, - "DescribeConfigurationAggregatorsResponse":{ - "type":"structure", - "members":{ - "ConfigurationAggregators":{ - "shape":"ConfigurationAggregatorList", - "documentation":"

Returns a ConfigurationAggregators object.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeConfigurationRecorderStatusRequest":{ - "type":"structure", - "members":{ - "ConfigurationRecorderNames":{ - "shape":"ConfigurationRecorderNameList", - "documentation":"

The name(s) of the configuration recorder. If the name is not specified, the action returns the current status of all the configuration recorders associated with the account.

" - } - }, - "documentation":"

The input for the DescribeConfigurationRecorderStatus action.

" - }, - "DescribeConfigurationRecorderStatusResponse":{ - "type":"structure", - "members":{ - "ConfigurationRecordersStatus":{ - "shape":"ConfigurationRecorderStatusList", - "documentation":"

A list that contains status of the specified recorders.

" - } - }, - "documentation":"

The output for the DescribeConfigurationRecorderStatus action, in JSON format.

" - }, - "DescribeConfigurationRecordersRequest":{ - "type":"structure", - "members":{ - "ConfigurationRecorderNames":{ - "shape":"ConfigurationRecorderNameList", - "documentation":"

A list of configuration recorder names.

" - } - }, - "documentation":"

The input for the DescribeConfigurationRecorders action.

" - }, - "DescribeConfigurationRecordersResponse":{ - "type":"structure", - "members":{ - "ConfigurationRecorders":{ - "shape":"ConfigurationRecorderList", - "documentation":"

A list that contains the descriptions of the specified configuration recorders.

" - } - }, - "documentation":"

The output for the DescribeConfigurationRecorders action.

" - }, - "DescribeDeliveryChannelStatusRequest":{ - "type":"structure", - "members":{ - "DeliveryChannelNames":{ - "shape":"DeliveryChannelNameList", - "documentation":"

A list of delivery channel names.

" - } - }, - "documentation":"

The input for the DeliveryChannelStatus action.

" - }, - "DescribeDeliveryChannelStatusResponse":{ - "type":"structure", - "members":{ - "DeliveryChannelsStatus":{ - "shape":"DeliveryChannelStatusList", - "documentation":"

A list that contains the status of a specified delivery channel.

" - } - }, - "documentation":"

The output for the DescribeDeliveryChannelStatus action.

" - }, - "DescribeDeliveryChannelsRequest":{ - "type":"structure", - "members":{ - "DeliveryChannelNames":{ - "shape":"DeliveryChannelNameList", - "documentation":"

A list of delivery channel names.

" - } - }, - "documentation":"

The input for the DescribeDeliveryChannels action.

" - }, - "DescribeDeliveryChannelsResponse":{ - "type":"structure", - "members":{ - "DeliveryChannels":{ - "shape":"DeliveryChannelList", - "documentation":"

A list that contains the descriptions of the specified delivery channel.

" - } - }, - "documentation":"

The output for the DescribeDeliveryChannels action.

" - }, - "DescribePendingAggregationRequestsLimit":{ - "type":"integer", - "max":20, - "min":0 - }, - "DescribePendingAggregationRequestsRequest":{ - "type":"structure", - "members":{ - "Limit":{ - "shape":"DescribePendingAggregationRequestsLimit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribePendingAggregationRequestsResponse":{ - "type":"structure", - "members":{ - "PendingAggregationRequests":{ - "shape":"PendingAggregationRequestList", - "documentation":"

Returns a PendingAggregationRequests object.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeRetentionConfigurationsRequest":{ - "type":"structure", - "members":{ - "RetentionConfigurationNames":{ - "shape":"RetentionConfigurationNameList", - "documentation":"

A list of names of retention configurations for which you want details. If you do not specify a name, AWS Config returns details for all the retention configurations for that account.

Currently, AWS Config supports only one retention configuration per region in your account.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "DescribeRetentionConfigurationsResponse":{ - "type":"structure", - "members":{ - "RetentionConfigurations":{ - "shape":"RetentionConfigurationList", - "documentation":"

Returns a retention configuration object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "EarlierTime":{"type":"timestamp"}, - "EmptiableStringWithCharLimit256":{ - "type":"string", - "max":256, - "min":0 - }, - "Evaluation":{ - "type":"structure", - "required":[ - "ComplianceResourceType", - "ComplianceResourceId", - "ComplianceType", - "OrderingTimestamp" - ], - "members":{ - "ComplianceResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource that was evaluated.

" - }, - "ComplianceResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the AWS resource that was evaluated.

" - }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against.

For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type.

Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom AWS Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config.

" - }, - "Annotation":{ - "shape":"StringWithCharLimit256", - "documentation":"

Supplementary information about how the evaluation determined the compliance.

" - }, - "OrderingTimestamp":{ - "shape":"OrderingTimestamp", - "documentation":"

The time of the event in AWS Config that triggered the evaluation. For event-based evaluations, the time indicates when AWS Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when AWS Config triggered the evaluation at the frequency that you specified (for example, every 24 hours).

" - } - }, - "documentation":"

Identifies an AWS resource and indicates whether it complies with the AWS Config rule that it was evaluated against.

" - }, - "EvaluationResult":{ - "type":"structure", - "members":{ - "EvaluationResultIdentifier":{ - "shape":"EvaluationResultIdentifier", - "documentation":"

Uniquely identifies the evaluation result.

" - }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that evaluated it.

For the EvaluationResult data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for the EvaluationResult data type.

" - }, - "ResultRecordedTime":{ - "shape":"Date", - "documentation":"

The time when AWS Config recorded the evaluation result.

" - }, - "ConfigRuleInvokedTime":{ - "shape":"Date", - "documentation":"

The time when the AWS Config rule evaluated the AWS resource.

" - }, - "Annotation":{ - "shape":"StringWithCharLimit256", - "documentation":"

Supplementary information about how the evaluation determined the compliance.

" - }, - "ResultToken":{ - "shape":"String", - "documentation":"

An encrypted token that associates an evaluation with an AWS Config rule. The token identifies the rule, the AWS resource being evaluated, and the event that triggered the evaluation.

" - } - }, - "documentation":"

The details of an AWS Config evaluation. Provides the AWS resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.

" - }, - "EvaluationResultIdentifier":{ - "type":"structure", - "members":{ - "EvaluationResultQualifier":{ - "shape":"EvaluationResultQualifier", - "documentation":"

Identifies an AWS Config rule used to evaluate an AWS resource, and provides the type and ID of the evaluated resource.

" - }, - "OrderingTimestamp":{ - "shape":"Date", - "documentation":"

The time of the event that triggered the evaluation of your AWS resources. The time can indicate when AWS Config delivered a configuration item change notification, or it can indicate when AWS Config delivered the configuration snapshot, depending on which event triggered the evaluation.

" - } - }, - "documentation":"

Uniquely identifies an evaluation result.

" - }, - "EvaluationResultQualifier":{ - "type":"structure", - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule that was used in the evaluation.

" - }, - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource that was evaluated.

" - }, - "ResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the evaluated AWS resource.

" - } - }, - "documentation":"

Identifies an AWS Config rule that evaluated an AWS resource, and provides the type and ID of the resource that the rule evaluated.

" - }, - "EvaluationResults":{ - "type":"list", - "member":{"shape":"EvaluationResult"} - }, - "Evaluations":{ - "type":"list", - "member":{"shape":"Evaluation"}, - "max":100, - "min":0 - }, - "EventSource":{ - "type":"string", - "enum":["aws.config"] - }, - "GetAggregateComplianceDetailsByConfigRuleRequest":{ - "type":"structure", - "required":[ - "ConfigurationAggregatorName", - "ConfigRuleName", - "AccountId", - "AwsRegion" - ], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - }, - "ConfigRuleName":{ - "shape":"ConfigRuleName", - "documentation":"

The name of the AWS Config rule for which you want compliance information.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the source account.

" - }, - "AwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The source region from where the data is aggregated.

" - }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

The resource compliance status.

For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA values.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 50. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "GetAggregateComplianceDetailsByConfigRuleResponse":{ - "type":"structure", - "members":{ - "AggregateEvaluationResults":{ - "shape":"AggregateEvaluationResultList", - "documentation":"

Returns an AggregateEvaluationResults object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "GetAggregateConfigRuleComplianceSummaryRequest":{ - "type":"structure", - "required":["ConfigurationAggregatorName"], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - }, - "Filters":{ - "shape":"ConfigRuleComplianceSummaryFilters", - "documentation":"

Filters the results based on the ConfigRuleComplianceSummaryFilters object.

" - }, - "GroupByKey":{ - "shape":"ConfigRuleComplianceSummaryGroupKey", - "documentation":"

Groups the result based on ACCOUNT_ID or AWS_REGION.

" - }, - "Limit":{ - "shape":"GroupByAPILimit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "GetAggregateConfigRuleComplianceSummaryResponse":{ - "type":"structure", - "members":{ - "GroupByKey":{ - "shape":"StringWithCharLimit256", - "documentation":"

Groups the result based on ACCOUNT_ID or AWS_REGION.

" - }, - "AggregateComplianceCounts":{ - "shape":"AggregateComplianceCountList", - "documentation":"

Returns a list of AggregateComplianceCounts object.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "GetComplianceDetailsByConfigRuleRequest":{ - "type":"structure", - "required":["ConfigRuleName"], - "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule for which you want compliance information.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "GetComplianceDetailsByConfigRuleResponse":{ - "type":"structure", - "members":{ - "EvaluationResults":{ - "shape":"EvaluationResults", - "documentation":"

Indicates whether the AWS resource complies with the specified AWS Config rule.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "GetComplianceDetailsByResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId" - ], - "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of the AWS resource for which you want compliance information.

" - }, - "ResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the AWS resource for which you want compliance information.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "GetComplianceDetailsByResourceResponse":{ - "type":"structure", - "members":{ - "EvaluationResults":{ - "shape":"EvaluationResults", - "documentation":"

Indicates whether the specified AWS resource complies each AWS Config rule.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "GetComplianceSummaryByConfigRuleResponse":{ - "type":"structure", - "members":{ - "ComplianceSummary":{ - "shape":"ComplianceSummary", - "documentation":"

The number of AWS Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each.

" - } - }, - "documentation":"

" - }, - "GetComplianceSummaryByResourceTypeRequest":{ - "type":"structure", - "members":{ - "ResourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

Specify one or more resource types to get the number of resources that are compliant and the number that are noncompliant for each resource type.

For this request, you can specify an AWS resource type such as AWS::EC2::Instance. You can specify that the resource type is an AWS account by specifying AWS::::Account.

" - } - }, - "documentation":"

" - }, - "GetComplianceSummaryByResourceTypeResponse":{ - "type":"structure", - "members":{ - "ComplianceSummariesByResourceType":{ - "shape":"ComplianceSummariesByResourceType", - "documentation":"

The number of resources that are compliant and the number that are noncompliant. If one or more resource types were provided with the request, the numbers are returned for each resource type. The maximum number returned is 100.

" - } - }, - "documentation":"

" - }, - "GetDiscoveredResourceCountsRequest":{ - "type":"structure", - "members":{ - "resourceTypes":{ - "shape":"ResourceTypes", - "documentation":"

The comma-separated list that specifies the resource types that you want AWS Config to return (for example, \"AWS::EC2::Instance\", \"AWS::IAM::User\").

If a value for resourceTypes is not specified, AWS Config returns all resource types that AWS Config is recording in the region for your account.

If the configuration recorder is turned off, AWS Config returns an empty list of ResourceCount objects. If the configuration recorder is not recording a specific resource type (for example, S3 buckets), that resource type is not returned in the list of ResourceCount objects.

" - }, - "limit":{ - "shape":"Limit", - "documentation":"

The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - } - }, - "GetDiscoveredResourceCountsResponse":{ - "type":"structure", - "members":{ - "totalDiscoveredResources":{ - "shape":"Long", - "documentation":"

The total number of resources that AWS Config is recording in the region for your account. If you specify resource types in the request, AWS Config returns only the total number of resources for those resource types.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for a total of 60 resources.

  2. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, \"AWS::EC2::Instances\", in the request.

  3. AWS Config returns 25 for totalDiscoveredResources.

" - }, - "resourceCounts":{ - "shape":"ResourceCounts", - "documentation":"

The list of ResourceCount objects. Each object is listed in descending order by the number of resources.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - } - }, - "GetResourceConfigHistoryRequest":{ - "type":"structure", - "required":[ - "resourceType", - "resourceId" - ], - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" - }, - "laterTime":{ - "shape":"LaterTime", - "documentation":"

The time stamp that indicates a later time. If not specified, current time is taken.

" - }, - "earlierTime":{ - "shape":"EarlierTime", - "documentation":"

The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start when the first configuration item was recorded.

" - }, - "chronologicalOrder":{ - "shape":"ChronologicalOrder", - "documentation":"

The chronological order for configuration items listed. By default, the results are listed in reverse chronological order.

" - }, - "limit":{ - "shape":"Limit", - "documentation":"

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

The input for the GetResourceConfigHistory action.

" - }, - "GetResourceConfigHistoryResponse":{ - "type":"structure", - "members":{ - "configurationItems":{ - "shape":"ConfigurationItemList", - "documentation":"

A list that contains the configuration history of one or more resources.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

The output for the GetResourceConfigHistory action.

" - }, - "GroupByAPILimit":{ - "type":"integer", - "max":1000, - "min":0 - }, - "IncludeGlobalResourceTypes":{"type":"boolean"}, - "InsufficientDeliveryPolicyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Your Amazon S3 bucket policy does not permit AWS Config to write to it.

", - "exception":true - }, - "InsufficientPermissionsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates one of the following errors:

  • The rule cannot be created because the IAM role assigned to AWS Config lacks permissions to perform the config:Put* action.

  • The AWS Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

", - "exception":true - }, - "Integer":{"type":"integer"}, - "InvalidConfigurationRecorderNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have provided a configuration recorder name that is not valid.

", - "exception":true - }, - "InvalidDeliveryChannelNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified delivery channel name is not valid.

", - "exception":true - }, - "InvalidLimitException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified limit is outside the allowable range.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified next token is invalid. Specify the nextToken string that was returned in the previous response to get the next page of results.

", - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more of the specified parameters are invalid. Verify that your parameters are valid and try again.

", - "exception":true - }, - "InvalidRecordingGroupException":{ - "type":"structure", - "members":{ - }, - "documentation":"

AWS Config throws an exception if the recording group does not contain a valid list of resource types. Invalid values might also be incorrectly formatted.

", - "exception":true - }, - "InvalidResultTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified ResultToken is invalid.

", - "exception":true - }, - "InvalidRoleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have provided a null or empty role ARN.

", - "exception":true - }, - "InvalidS3KeyPrefixException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon S3 key prefix is not valid.

", - "exception":true - }, - "InvalidSNSTopicARNException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon SNS topic does not exist.

", - "exception":true - }, - "InvalidTimeRangeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified time range is not valid. The earlier time is not chronologically before the later time.

", - "exception":true - }, - "LastDeliveryChannelDeleteFailedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot delete the delivery channel you specified because the configuration recorder is running.

", - "exception":true - }, - "LaterTime":{"type":"timestamp"}, - "Limit":{ - "type":"integer", - "max":100, - "min":0 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

", - "exception":true - }, - "ListDiscoveredResourcesRequest":{ - "type":"structure", - "required":["resourceType"], - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resources that you want AWS Config to list in the response.

" - }, - "resourceIds":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" - }, - "limit":{ - "shape":"Limit", - "documentation":"

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "includeDeletedResources":{ - "shape":"Boolean", - "documentation":"

Specifies whether AWS Config includes deleted resources in the results. By default, deleted resources are not included.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "ListDiscoveredResourcesResponse":{ - "type":"structure", - "members":{ - "resourceIdentifiers":{ - "shape":"ResourceIdentifierList", - "documentation":"

The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } - }, - "documentation":"

" - }, - "Long":{"type":"long"}, - "MaxNumberOfConfigRulesExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Failed to add the AWS Config rule because the account already contains the maximum number of 50 rules. Consider deleting any deactivated rules before you add new rules.

", - "exception":true - }, - "MaxNumberOfConfigurationRecordersExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have reached the limit of the number of recorders you can create.

", - "exception":true - }, - "MaxNumberOfDeliveryChannelsExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have reached the limit of the number of delivery channels you can create.

", - "exception":true - }, - "MaxNumberOfRetentionConfigurationsExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Failed to add the retention configuration because a retention configuration with that name already exists.

", - "exception":true - }, - "MaximumExecutionFrequency":{ - "type":"string", - "enum":[ - "One_Hour", - "Three_Hours", - "Six_Hours", - "Twelve_Hours", - "TwentyFour_Hours" - ] - }, - "MessageType":{ - "type":"string", - "enum":[ - "ConfigurationItemChangeNotification", - "ConfigurationSnapshotDeliveryCompleted", - "ScheduledNotification", - "OversizedConfigurationItemChangeNotification" - ] - }, - "Name":{"type":"string"}, - "NextToken":{"type":"string"}, - "NoAvailableConfigurationRecorderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There are no configuration recorders available to provide the role needed to describe your resources. Create a configuration recorder.

", - "exception":true - }, - "NoAvailableDeliveryChannelException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no delivery channel available to record configurations.

", - "exception":true - }, - "NoAvailableOrganizationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Organization does is no longer available.

", - "exception":true - }, - "NoRunningConfigurationRecorderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no configuration recorder running.

", - "exception":true - }, - "NoSuchBucketException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon S3 bucket does not exist.

", - "exception":true - }, - "NoSuchConfigRuleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more AWS Config rules in the request are invalid. Verify that the rule names are correct and try again.

", - "exception":true - }, - "NoSuchConfigurationAggregatorException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have specified a configuration aggregator that does not exist.

", - "exception":true - }, - "NoSuchConfigurationRecorderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have specified a configuration recorder that does not exist.

", - "exception":true - }, - "NoSuchDeliveryChannelException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have specified a delivery channel that does not exist.

", - "exception":true - }, - "NoSuchRetentionConfigurationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have specified a retention configuration that does not exist.

", - "exception":true - }, - "OrderingTimestamp":{"type":"timestamp"}, - "OrganizationAccessDeniedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

No permission to call the EnableAWSServiceAccess API.

", - "exception":true - }, - "OrganizationAggregationSource":{ - "type":"structure", - "required":["RoleArn"], - "members":{ - "RoleArn":{ - "shape":"String", - "documentation":"

ARN of the IAM role used to retreive AWS Organization details associated with the aggregator account.

" - }, - "AwsRegions":{ - "shape":"AggregatorRegionList", - "documentation":"

The source regions being aggregated.

" - }, - "AllAwsRegions":{ - "shape":"Boolean", - "documentation":"

If true, aggregate existing AWS Config regions and future regions.

" - } - }, - "documentation":"

This object contains regions to setup the aggregator and an IAM role to retrieve organization details.

" - }, - "OrganizationAllFeaturesNotEnabledException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The configuration aggregator cannot be created because organization does not have all features enabled.

", - "exception":true - }, - "Owner":{ - "type":"string", - "enum":[ - "CUSTOM_LAMBDA", - "AWS" - ] - }, - "PendingAggregationRequest":{ - "type":"structure", - "members":{ - "RequesterAccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the account requesting to aggregate data.

" - }, - "RequesterAwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region requesting to aggregate data.

" - } - }, - "documentation":"

An object that represents the account ID and region of an aggregator account that is requesting authorization but is not yet authorized.

" - }, - "PendingAggregationRequestList":{ - "type":"list", - "member":{"shape":"PendingAggregationRequest"} - }, - "PutAggregationAuthorizationRequest":{ - "type":"structure", - "required":[ - "AuthorizedAccountId", - "AuthorizedAwsRegion" - ], - "members":{ - "AuthorizedAccountId":{ - "shape":"AccountId", - "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" - }, - "AuthorizedAwsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region authorized to collect aggregated data.

" - } - } - }, - "PutAggregationAuthorizationResponse":{ - "type":"structure", - "members":{ - "AggregationAuthorization":{ - "shape":"AggregationAuthorization", - "documentation":"

Returns an AggregationAuthorization object.

" - } - } - }, - "PutConfigRuleRequest":{ - "type":"structure", - "required":["ConfigRule"], - "members":{ - "ConfigRule":{ - "shape":"ConfigRule", - "documentation":"

The rule that you want to add to your account.

" - } - } - }, - "PutConfigurationAggregatorRequest":{ - "type":"structure", - "required":["ConfigurationAggregatorName"], - "members":{ - "ConfigurationAggregatorName":{ - "shape":"ConfigurationAggregatorName", - "documentation":"

The name of the configuration aggregator.

" - }, - "AccountAggregationSources":{ - "shape":"AccountAggregationSourceList", - "documentation":"

A list of AccountAggregationSource object.

" - }, - "OrganizationAggregationSource":{ - "shape":"OrganizationAggregationSource", - "documentation":"

An OrganizationAggregationSource object.

" - } - } - }, - "PutConfigurationAggregatorResponse":{ - "type":"structure", - "members":{ - "ConfigurationAggregator":{ - "shape":"ConfigurationAggregator", - "documentation":"

Returns a ConfigurationAggregator object.

" - } - } - }, - "PutConfigurationRecorderRequest":{ - "type":"structure", - "required":["ConfigurationRecorder"], - "members":{ - "ConfigurationRecorder":{ - "shape":"ConfigurationRecorder", - "documentation":"

The configuration recorder object that records each configuration change made to the resources.

" - } - }, - "documentation":"

The input for the PutConfigurationRecorder action.

" - }, - "PutDeliveryChannelRequest":{ - "type":"structure", - "required":["DeliveryChannel"], - "members":{ - "DeliveryChannel":{ - "shape":"DeliveryChannel", - "documentation":"

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic.

" - } - }, - "documentation":"

The input for the PutDeliveryChannel action.

" - }, - "PutEvaluationsRequest":{ - "type":"structure", - "required":["ResultToken"], - "members":{ - "Evaluations":{ - "shape":"Evaluations", - "documentation":"

The assessments that the AWS Lambda function performs. Each evaluation identifies an AWS resource and indicates whether it complies with the AWS Config rule that invokes the AWS Lambda function.

" - }, - "ResultToken":{ - "shape":"String", - "documentation":"

An encrypted token that associates an evaluation with an AWS Config rule. Identifies the rule and the event that triggered the evaluation.

" - }, - "TestMode":{ - "shape":"Boolean", - "documentation":"

Use this parameter to specify a test run for PutEvaluations. You can verify whether your AWS Lambda function will deliver evaluation results to AWS Config. No updates occur to your existing evaluations, and evaluation results are not sent to AWS Config.

When TestMode is true, PutEvaluations doesn't require a valid value for the ResultToken parameter, but the value cannot be null.

" - } - }, - "documentation":"

" - }, - "PutEvaluationsResponse":{ - "type":"structure", - "members":{ - "FailedEvaluations":{ - "shape":"Evaluations", - "documentation":"

Requests that failed because of a client or server error.

" - } - }, - "documentation":"

" - }, - "PutRetentionConfigurationRequest":{ - "type":"structure", - "required":["RetentionPeriodInDays"], - "members":{ - "RetentionPeriodInDays":{ - "shape":"RetentionPeriodInDays", - "documentation":"

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

" - } - } - }, - "PutRetentionConfigurationResponse":{ - "type":"structure", - "members":{ - "RetentionConfiguration":{ - "shape":"RetentionConfiguration", - "documentation":"

Returns a retention configuration object.

" - } - } - }, - "RecorderName":{ - "type":"string", - "max":256, - "min":1 - }, - "RecorderStatus":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failure" - ] - }, - "RecordingGroup":{ - "type":"structure", - "members":{ - "allSupported":{ - "shape":"AllSupported", - "documentation":"

Specifies whether AWS Config records configuration changes for every supported type of regional resource.

If you set this option to true, when AWS Config adds support for a new type of regional resource, it starts recording resources of that type automatically.

If you set this option to true, you cannot enumerate a list of resourceTypes.

" - }, - "includeGlobalResourceTypes":{ - "shape":"IncludeGlobalResourceTypes", - "documentation":"

Specifies whether AWS Config includes all supported types of global resources (for example, IAM resources) with the resources that it records.

Before you can set this option to true, you must set the allSupported option to true.

If you set this option to true, when AWS Config adds support for a new type of global resource, it starts recording resources of that type automatically.

The configuration details for any global resource are the same in all regions. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources.

" - }, - "resourceTypes":{ - "shape":"ResourceTypeList", - "documentation":"

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" - } - }, - "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

By default, AWS Config records configuration changes for all supported types of regional resources that AWS Config discovers in the region in which it is running. Regional resources are tied to a region and can be used only in that region. Examples of regional resources are EC2 instances and EBS volumes.

You can also have AWS Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

The configuration details for any global resource are the same in all regions. If you customize AWS Config in multiple regions to record global resources, it will create multiple configuration items each time a global resource changes: one configuration item for each region. These configuration items will contain identical data. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources, unless you want the configuration items to be available in multiple regions.

If you don't want AWS Config to record all resources, you can specify which types of resources it will record with the resourceTypes parameter.

For a list of supported resource types, see Supported Resource Types.

For more information, see Selecting Which Resources AWS Config Records.

" - }, - "ReevaluateConfigRuleNames":{ - "type":"list", - "member":{"shape":"StringWithCharLimit64"}, - "max":25, - "min":1 - }, - "RelatedEvent":{"type":"string"}, - "RelatedEventList":{ - "type":"list", - "member":{"shape":"RelatedEvent"} - }, - "Relationship":{ - "type":"structure", - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type of the related resource.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the related resource (for example, sg-xxxxxx).

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of the related resource, if available.

" - }, - "relationshipName":{ - "shape":"RelationshipName", - "documentation":"

The type of relationship with the related resource.

" - } - }, - "documentation":"

The relationship of the related resource to the main resource.

" - }, - "RelationshipList":{ - "type":"list", - "member":{"shape":"Relationship"} - }, - "RelationshipName":{"type":"string"}, - "ResourceCount":{ - "type":"structure", - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type (for example, \"AWS::EC2::Instance\").

" - }, - "count":{ - "shape":"Long", - "documentation":"

The number of resources.

" - } - }, - "documentation":"

An object that contains the resource type and the number of resources.

" - }, - "ResourceCounts":{ - "type":"list", - "member":{"shape":"ResourceCount"} - }, - "ResourceCreationTime":{"type":"timestamp"}, - "ResourceDeletionTime":{"type":"timestamp"}, - "ResourceId":{ - "type":"string", - "max":768, - "min":1 - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"ResourceId"} - }, - "ResourceIdentifier":{ - "type":"structure", - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example, sg-xxxxxx).

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of the resource (if available).

" - }, - "resourceDeletionTime":{ - "shape":"ResourceDeletionTime", - "documentation":"

The time that the resource was deleted.

" - } - }, - "documentation":"

The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name.

" - }, - "ResourceIdentifierList":{ - "type":"list", - "member":{"shape":"ResourceIdentifier"} - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The rule is currently being deleted or the rule is deleting your evaluation results. Try your request again later.

", - "exception":true - }, - "ResourceKey":{ - "type":"structure", - "required":[ - "resourceType", - "resourceId" - ], - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" - } - }, - "documentation":"

The details that identify a resource within AWS Config, including the resource type and resource ID.

" - }, - "ResourceKeys":{ - "type":"list", - "member":{"shape":"ResourceKey"}, - "max":100, - "min":1 - }, - "ResourceName":{"type":"string"}, - "ResourceNotDiscoveredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have specified a resource that is either unknown or has not been discovered.

", - "exception":true - }, - "ResourceType":{ - "type":"string", - "enum":[ - "AWS::EC2::CustomerGateway", - "AWS::EC2::EIP", - "AWS::EC2::Host", - "AWS::EC2::Instance", - "AWS::EC2::InternetGateway", - "AWS::EC2::NetworkAcl", - "AWS::EC2::NetworkInterface", - "AWS::EC2::RouteTable", - "AWS::EC2::SecurityGroup", - "AWS::EC2::Subnet", - "AWS::CloudTrail::Trail", - "AWS::EC2::Volume", - "AWS::EC2::VPC", - "AWS::EC2::VPNConnection", - "AWS::EC2::VPNGateway", - "AWS::IAM::Group", - "AWS::IAM::Policy", - "AWS::IAM::Role", - "AWS::IAM::User", - "AWS::ACM::Certificate", - "AWS::RDS::DBInstance", - "AWS::RDS::DBSubnetGroup", - "AWS::RDS::DBSecurityGroup", - "AWS::RDS::DBSnapshot", - "AWS::RDS::EventSubscription", - "AWS::ElasticLoadBalancingV2::LoadBalancer", - "AWS::S3::Bucket", - "AWS::SSM::ManagedInstanceInventory", - "AWS::Redshift::Cluster", - "AWS::Redshift::ClusterSnapshot", - "AWS::Redshift::ClusterParameterGroup", - "AWS::Redshift::ClusterSecurityGroup", - "AWS::Redshift::ClusterSubnetGroup", - "AWS::Redshift::EventSubscription", - "AWS::CloudWatch::Alarm", - "AWS::CloudFormation::Stack", - "AWS::DynamoDB::Table", - "AWS::AutoScaling::AutoScalingGroup", - "AWS::AutoScaling::LaunchConfiguration", - "AWS::AutoScaling::ScalingPolicy", - "AWS::AutoScaling::ScheduledAction", - "AWS::CodeBuild::Project", - "AWS::WAF::RateBasedRule", - "AWS::WAF::Rule", - "AWS::WAF::WebACL", - "AWS::WAFRegional::RateBasedRule", - "AWS::WAFRegional::Rule", - "AWS::WAFRegional::WebACL", - "AWS::CloudFront::Distribution", - "AWS::CloudFront::StreamingDistribution", - "AWS::WAF::RuleGroup", - "AWS::WAFRegional::RuleGroup", - "AWS::Lambda::Function", - "AWS::ElasticBeanstalk::Application", - "AWS::ElasticBeanstalk::ApplicationVersion", - "AWS::ElasticBeanstalk::Environment", - "AWS::ElasticLoadBalancing::LoadBalancer", - "AWS::XRay::EncryptionConfig" - ] - }, - "ResourceTypeList":{ - "type":"list", - "member":{"shape":"ResourceType"} - }, - "ResourceTypes":{ - "type":"list", - "member":{"shape":"StringWithCharLimit256"}, - "max":20, - "min":0 - }, - "RetentionConfiguration":{ - "type":"structure", - "required":[ - "Name", - "RetentionPeriodInDays" - ], - "members":{ - "Name":{ - "shape":"RetentionConfigurationName", - "documentation":"

The name of the retention configuration object.

" - }, - "RetentionPeriodInDays":{ - "shape":"RetentionPeriodInDays", - "documentation":"

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

" - } - }, - "documentation":"

An object with the name of the retention configuration and the retention period in days. The object stores the configuration for data retention in AWS Config.

" - }, - "RetentionConfigurationList":{ - "type":"list", - "member":{"shape":"RetentionConfiguration"} - }, - "RetentionConfigurationName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\w\\-]+" - }, - "RetentionConfigurationNameList":{ - "type":"list", - "member":{"shape":"RetentionConfigurationName"}, - "max":1, - "min":0 - }, - "RetentionPeriodInDays":{ - "type":"integer", - "max":2557, - "min":30 - }, - "RuleLimit":{ - "type":"integer", - "max":50, - "min":0 - }, - "Scope":{ - "type":"structure", - "members":{ - "ComplianceResourceTypes":{ - "shape":"ComplianceResourceTypes", - "documentation":"

The resource types of only those AWS resources that you want to trigger an evaluation for the rule. You can only specify one type if you also specify a resource ID for ComplianceResourceId.

" - }, - "TagKey":{ - "shape":"StringWithCharLimit128", - "documentation":"

The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.

" - }, - "TagValue":{ - "shape":"StringWithCharLimit256", - "documentation":"

The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for TagValue, you must also specify a value for TagKey.

" - }, - "ComplianceResourceId":{ - "shape":"BaseResourceId", - "documentation":"

The ID of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

" - } - }, - "documentation":"

Defines which resources trigger an evaluation for an AWS Config rule. The scope can include one or more resource types, a combination of a tag key and value, or a combination of one resource type and one resource ID. Specify a scope to constrain which resources trigger an evaluation for a rule. Otherwise, evaluations for the rule are triggered when any resource in your recording group changes in configuration.

" - }, - "Source":{ - "type":"structure", - "required":[ - "Owner", - "SourceIdentifier" - ], - "members":{ - "Owner":{ - "shape":"Owner", - "documentation":"

Indicates whether AWS or the customer owns and manages the AWS Config rule.

" - }, - "SourceIdentifier":{ - "shape":"StringWithCharLimit256", - "documentation":"

For AWS Config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using AWS Managed Config Rules.

For custom rules, the identifier is the Amazon Resource Name (ARN) of the rule's AWS Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

" - }, - "SourceDetails":{ - "shape":"SourceDetails", - "documentation":"

Provides the source and type of the event that causes AWS Config to evaluate your AWS resources.

" - } - }, - "documentation":"

Provides the AWS Config rule owner (AWS or customer), the rule identifier, and the events that trigger the evaluation of your AWS resources.

" - }, - "SourceDetail":{ - "type":"structure", - "members":{ - "EventSource":{ - "shape":"EventSource", - "documentation":"

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources.

" - }, - "MessageType":{ - "shape":"MessageType", - "documentation":"

The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

  • ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.

  • OversizedConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

  • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

  • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.

If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

" - }, - "MaximumExecutionFrequency":{ - "shape":"MaximumExecutionFrequency", - "documentation":"

The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose Three_Hours, AWS Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

" - } - }, - "documentation":"

Provides the source and the message types that trigger AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

" - }, - "SourceDetails":{ - "type":"list", - "member":{"shape":"SourceDetail"}, - "max":25, - "min":0 - }, - "StartConfigRulesEvaluationRequest":{ - "type":"structure", - "members":{ - "ConfigRuleNames":{ - "shape":"ReevaluateConfigRuleNames", - "documentation":"

The list of names of AWS Config rules that you want to run evaluations for.

" - } - }, - "documentation":"

" - }, - "StartConfigRulesEvaluationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output when you start the evaluation for the specified AWS Config rule.

" - }, - "StartConfigurationRecorderRequest":{ - "type":"structure", - "required":["ConfigurationRecorderName"], - "members":{ - "ConfigurationRecorderName":{ - "shape":"RecorderName", - "documentation":"

The name of the recorder object that records each configuration change made to the resources.

" - } - }, - "documentation":"

The input for the StartConfigurationRecorder action.

" - }, - "StopConfigurationRecorderRequest":{ - "type":"structure", - "required":["ConfigurationRecorderName"], - "members":{ - "ConfigurationRecorderName":{ - "shape":"RecorderName", - "documentation":"

The name of the recorder object that records each configuration change made to the resources.

" - } - }, - "documentation":"

The input for the StopConfigurationRecorder action.

" - }, - "String":{"type":"string"}, - "StringWithCharLimit1024":{ - "type":"string", - "max":1024, - "min":1 - }, - "StringWithCharLimit128":{ - "type":"string", - "max":128, - "min":1 - }, - "StringWithCharLimit256":{ - "type":"string", - "max":256, - "min":1 - }, - "StringWithCharLimit64":{ - "type":"string", - "max":64, - "min":1 - }, - "SupplementaryConfiguration":{ - "type":"map", - "key":{"shape":"SupplementaryConfigurationName"}, - "value":{"shape":"SupplementaryConfigurationValue"} - }, - "SupplementaryConfigurationName":{"type":"string"}, - "SupplementaryConfigurationValue":{"type":"string"}, - "Tags":{ - "type":"map", - "key":{"shape":"Name"}, - "value":{"shape":"Value"} - }, - "ValidationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested action is not valid.

", - "exception":true - }, - "Value":{"type":"string"}, - "Version":{"type":"string"} - }, - "documentation":"AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config. This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config. The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config in the AWS Config Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/service-2.json deleted file mode 100644 index 3834d251..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/connect/2017-08-08/service-2.json +++ /dev/null @@ -1,1371 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-08-08", - "endpointPrefix":"connect", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"Amazon Connect", - "serviceFullName":"Amazon Connect Service", - "serviceId":"Connect", - "signatureVersion":"v4", - "signingName":"connect", - "uid":"connect-2017-08-08" - }, - "operations":{ - "CreateUser":{ - "name":"CreateUser", - "http":{ - "method":"PUT", - "requestUri":"/users/{InstanceId}" - }, - "input":{"shape":"CreateUserRequest"}, - "output":{"shape":"CreateUserResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"LimitExceededException"}, - {"shape":"DuplicateResourceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Creates a new user account in your Amazon Connect instance.

" - }, - "DeleteUser":{ - "name":"DeleteUser", - "http":{ - "method":"DELETE", - "requestUri":"/users/{InstanceId}/{UserId}" - }, - "input":{"shape":"DeleteUserRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deletes a user account from Amazon Connect.

" - }, - "DescribeUser":{ - "name":"DescribeUser", - "http":{ - "method":"GET", - "requestUri":"/users/{InstanceId}/{UserId}" - }, - "input":{"shape":"DescribeUserRequest"}, - "output":{"shape":"DescribeUserResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns a User object that contains information about the user account specified by the UserId.

" - }, - "DescribeUserHierarchyGroup":{ - "name":"DescribeUserHierarchyGroup", - "http":{ - "method":"GET", - "requestUri":"/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}" - }, - "input":{"shape":"DescribeUserHierarchyGroupRequest"}, - "output":{"shape":"DescribeUserHierarchyGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns a HierarchyGroup object that includes information about a hierarchy group in your instance.

" - }, - "DescribeUserHierarchyStructure":{ - "name":"DescribeUserHierarchyStructure", - "http":{ - "method":"GET", - "requestUri":"/user-hierarchy-structure/{InstanceId}" - }, - "input":{"shape":"DescribeUserHierarchyStructureRequest"}, - "output":{"shape":"DescribeUserHierarchyStructureResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns a HiearchyGroupStructure object, which contains data about the levels in the agent hierarchy.

" - }, - "GetFederationToken":{ - "name":"GetFederationToken", - "http":{ - "method":"GET", - "requestUri":"/user/federate/{InstanceId}" - }, - "input":{"shape":"GetFederationTokenRequest"}, - "output":{"shape":"GetFederationTokenResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"UserNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"DuplicateResourceException"} - ], - "documentation":"

Retrieves a token for federation.

" - }, - "ListRoutingProfiles":{ - "name":"ListRoutingProfiles", - "http":{ - "method":"GET", - "requestUri":"/routing-profiles-summary/{InstanceId}" - }, - "input":{"shape":"ListRoutingProfilesRequest"}, - "output":{"shape":"ListRoutingProfilesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns an array of RoutingProfileSummary objects that includes information about the routing profiles in your instance.

" - }, - "ListSecurityProfiles":{ - "name":"ListSecurityProfiles", - "http":{ - "method":"GET", - "requestUri":"/security-profiles-summary/{InstanceId}" - }, - "input":{"shape":"ListSecurityProfilesRequest"}, - "output":{"shape":"ListSecurityProfilesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns an array of SecurityProfileSummary objects that contain information about the security profiles in your instance, including the ARN, Id, and Name of the security profile.

" - }, - "ListUserHierarchyGroups":{ - "name":"ListUserHierarchyGroups", - "http":{ - "method":"GET", - "requestUri":"/user-hierarchy-groups-summary/{InstanceId}" - }, - "input":{"shape":"ListUserHierarchyGroupsRequest"}, - "output":{"shape":"ListUserHierarchyGroupsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns a UserHierarchyGroupSummaryList, which is an array of HierarchyGroupSummary objects that contain information about the hierarchy groups in your instance.

" - }, - "ListUsers":{ - "name":"ListUsers", - "http":{ - "method":"GET", - "requestUri":"/users-summary/{InstanceId}" - }, - "input":{"shape":"ListUsersRequest"}, - "output":{"shape":"ListUsersResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Returns a UserSummaryList, which is an array of UserSummary objects.

" - }, - "StartOutboundVoiceContact":{ - "name":"StartOutboundVoiceContact", - "http":{ - "method":"PUT", - "requestUri":"/contact/outbound-voice" - }, - "input":{"shape":"StartOutboundVoiceContactRequest"}, - "output":{"shape":"StartOutboundVoiceContactResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"LimitExceededException"}, - {"shape":"DestinationNotAllowedException"}, - {"shape":"OutboundContactNotPermittedException"} - ], - "documentation":"

The StartOutboundVoiceContact operation initiates a contact flow to place an outbound call to a customer.

There is a throttling limit placed on usage of the API that includes a RateLimit of 2 per second, and a BurstLimit of 5 per second.

If you are using an IAM account, it must have permission to the connect:StartOutboundVoiceContact action.

" - }, - "StopContact":{ - "name":"StopContact", - "http":{ - "method":"POST", - "requestUri":"/contact/stop" - }, - "input":{"shape":"StopContactRequest"}, - "output":{"shape":"StopContactResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ContactNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Ends the contact initiated by the StartOutboundVoiceContact operation.

If you are using an IAM account, it must have permission to the connect:StopContact action.

" - }, - "UpdateUserHierarchy":{ - "name":"UpdateUserHierarchy", - "http":{ - "method":"POST", - "requestUri":"/users/{InstanceId}/{UserId}/hierarchy" - }, - "input":{"shape":"UpdateUserHierarchyRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Assigns the specified hierarchy group to the user.

" - }, - "UpdateUserIdentityInfo":{ - "name":"UpdateUserIdentityInfo", - "http":{ - "method":"POST", - "requestUri":"/users/{InstanceId}/{UserId}/identity-info" - }, - "input":{"shape":"UpdateUserIdentityInfoRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Updates the identity information for the specified user in a UserIdentityInfo object, including email, first name, and last name.

" - }, - "UpdateUserPhoneConfig":{ - "name":"UpdateUserPhoneConfig", - "http":{ - "method":"POST", - "requestUri":"/users/{InstanceId}/{UserId}/phone-config" - }, - "input":{"shape":"UpdateUserPhoneConfigRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Updates the phone configuration settings in the UserPhoneConfig object for the specified user.

" - }, - "UpdateUserRoutingProfile":{ - "name":"UpdateUserRoutingProfile", - "http":{ - "method":"POST", - "requestUri":"/users/{InstanceId}/{UserId}/routing-profile" - }, - "input":{"shape":"UpdateUserRoutingProfileRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Assigns the specified routing profile to a user.

" - }, - "UpdateUserSecurityProfiles":{ - "name":"UpdateUserSecurityProfiles", - "http":{ - "method":"POST", - "requestUri":"/users/{InstanceId}/{UserId}/security-profiles" - }, - "input":{"shape":"UpdateUserSecurityProfilesRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Update the security profiles assigned to the user.

" - } - }, - "shapes":{ - "ARN":{"type":"string"}, - "AfterContactWorkTimeLimit":{ - "type":"integer", - "min":0 - }, - "AgentFirstName":{ - "type":"string", - "max":100, - "min":1 - }, - "AgentLastName":{ - "type":"string", - "max":100, - "min":1 - }, - "AgentUsername":{ - "type":"string", - "max":20, - "min":1, - "pattern":"[a-zA-Z0-9\\_\\-\\.]+" - }, - "AttributeName":{ - "type":"string", - "documentation":"Key for the key value pair to be used for additional attributes.", - "max":32767, - "min":1 - }, - "AttributeValue":{ - "type":"string", - "documentation":"Value for the key value pair to be used for additional attributes.", - "max":32767, - "min":0 - }, - "Attributes":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"}, - "documentation":"Additional attributes can be provided in the request using this field. This will be passed to the contact flow execution. Client can make use of this additional info in their contact flow." - }, - "AutoAccept":{"type":"boolean"}, - "ClientToken":{ - "type":"string", - "documentation":"Dedupe token to be provided by the client. This token is used to avoid duplicate calls to the customer.", - "max":500 - }, - "ContactFlowId":{ - "type":"string", - "documentation":"Amazon resource name for the contact flow to be executed to handle the current call.", - "max":500 - }, - "ContactId":{ - "type":"string", - "documentation":"Amazon Connect contact identifier. An unique ContactId will be generated for each contact request.", - "max":256, - "min":1 - }, - "ContactNotFoundException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

The contact with the specified ID is not active or does not exist.

", - "error":{"httpStatusCode":410}, - "exception":true - }, - "CreateUserRequest":{ - "type":"structure", - "required":[ - "Username", - "PhoneConfig", - "SecurityProfileIds", - "RoutingProfileId", - "InstanceId" - ], - "members":{ - "Username":{ - "shape":"AgentUsername", - "documentation":"

The user name in Amazon Connect for the user to create.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The password for the user account to create. This is required if you are using Amazon Connect for identity management. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" - }, - "IdentityInfo":{ - "shape":"UserIdentityInfo", - "documentation":"

Information about the user, including email address, first name, and last name.

" - }, - "PhoneConfig":{ - "shape":"UserPhoneConfig", - "documentation":"

Specifies the phone settings for the user, including AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType.

" - }, - "DirectoryUserId":{ - "shape":"DirectoryUserId", - "documentation":"

The unique identifier for the user account in the directory service directory used for identity management. If Amazon Connect is unable to access the existing directory, you can use the DirectoryUserId to authenticate users. If you include the parameter, it is assumed that Amazon Connect cannot access the directory. If the parameter is not included, the UserIdentityInfo is used to authenticate users from your existing directory.

This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" - }, - "SecurityProfileIds":{ - "shape":"SecurityProfileIds", - "documentation":"

The unique identifier of the security profile to assign to the user created.

" - }, - "RoutingProfileId":{ - "shape":"RoutingProfileId", - "documentation":"

The unique identifier for the routing profile to assign to the user created.

" - }, - "HierarchyGroupId":{ - "shape":"HierarchyGroupId", - "documentation":"

The unique identifier for the hierarchy group to assign to the user created.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "CreateUserResponse":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"UserId", - "documentation":"

The unique identifier for the user account in Amazon Connect

" - }, - "UserArn":{ - "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) of the user account created.

" - } - } - }, - "Credentials":{ - "type":"structure", - "members":{ - "AccessToken":{ - "shape":"SecurityToken", - "documentation":"

An access token generated for a federated user to access Amazon Connect

" - }, - "AccessTokenExpiration":{ - "shape":"timestamp", - "documentation":"

A token generated with an expiration time for the session a user is logged in to Amazon Connect

" - }, - "RefreshToken":{ - "shape":"SecurityToken", - "documentation":"

Renews a token generated for a user to access the Amazon Connect instance.

" - }, - "RefreshTokenExpiration":{ - "shape":"timestamp", - "documentation":"

Renews the expiration timer for a generated token.

" - } - }, - "documentation":"

The credentials to use for federation.

" - }, - "DeleteUserRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "UserId" - ], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The unique identifier of the user to delete.

", - "location":"uri", - "locationName":"UserId" - } - } - }, - "DescribeUserHierarchyGroupRequest":{ - "type":"structure", - "required":[ - "HierarchyGroupId", - "InstanceId" - ], - "members":{ - "HierarchyGroupId":{ - "shape":"HierarchyGroupId", - "documentation":"

The identifier for the hierarchy group to return.

", - "location":"uri", - "locationName":"HierarchyGroupId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "DescribeUserHierarchyGroupResponse":{ - "type":"structure", - "members":{ - "HierarchyGroup":{ - "shape":"HierarchyGroup", - "documentation":"

Returns a HierarchyGroup object.

" - } - } - }, - "DescribeUserHierarchyStructureRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "DescribeUserHierarchyStructureResponse":{ - "type":"structure", - "members":{ - "HierarchyStructure":{ - "shape":"HierarchyStructure", - "documentation":"

A HierarchyStructure object.

" - } - } - }, - "DescribeUserRequest":{ - "type":"structure", - "required":[ - "UserId", - "InstanceId" - ], - "members":{ - "UserId":{ - "shape":"UserId", - "documentation":"

Unique identifier for the user account to return.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "DescribeUserResponse":{ - "type":"structure", - "members":{ - "User":{ - "shape":"User", - "documentation":"

A User object that contains information about the user account and configuration settings.

" - } - } - }, - "DestinationNotAllowedException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

Outbound calls to the destination number are not allowed.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "DirectoryUserId":{"type":"string"}, - "DuplicateResourceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

A resource with that name already exisits.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "Email":{"type":"string"}, - "GetFederationTokenRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "GetFederationTokenResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The credentials to use for federation.

" - } - } - }, - "HierarchyGroup":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"HierarchyGroupId", - "documentation":"

The identifier for the hierarchy group.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) for the hierarchy group.

" - }, - "Name":{ - "shape":"HierarchyGroupName", - "documentation":"

The name of the hierarchy group in your instance.

" - }, - "LevelId":{ - "shape":"HierarchyLevelId", - "documentation":"

The identifier for the level in the hierarchy group.

" - }, - "HierarchyPath":{ - "shape":"HierarchyPath", - "documentation":"

A HierarchyPath object that contains information about the levels in the hierarchy group.

" - } - }, - "documentation":"

A HierarchyGroup object that contains information about a hierarchy group in your Amazon Connect instance.

" - }, - "HierarchyGroupId":{"type":"string"}, - "HierarchyGroupName":{"type":"string"}, - "HierarchyGroupSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"HierarchyGroupId", - "documentation":"

The identifier of the hierarchy group.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN for the hierarchy group.

" - }, - "Name":{ - "shape":"HierarchyGroupName", - "documentation":"

The name of the hierarchy group.

" - } - }, - "documentation":"

A HierarchyGroupSummary object that contains information about the hierarchy group, including ARN, Id, and Name.

" - }, - "HierarchyGroupSummaryList":{ - "type":"list", - "member":{"shape":"HierarchyGroupSummary"} - }, - "HierarchyLevel":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"HierarchyLevelId", - "documentation":"

The identifier for the hierarchy group level.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN for the hierarchy group level.

" - }, - "Name":{ - "shape":"HierarchyLevelName", - "documentation":"

The name of the hierarchy group level.

" - } - }, - "documentation":"

A HierarchyLevel object that contains information about the levels in a hierarchy group, including ARN, Id, and Name.

" - }, - "HierarchyLevelId":{"type":"string"}, - "HierarchyLevelName":{"type":"string"}, - "HierarchyPath":{ - "type":"structure", - "members":{ - "LevelOne":{ - "shape":"HierarchyGroupSummary", - "documentation":"

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" - }, - "LevelTwo":{ - "shape":"HierarchyGroupSummary", - "documentation":"

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" - }, - "LevelThree":{ - "shape":"HierarchyGroupSummary", - "documentation":"

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" - }, - "LevelFour":{ - "shape":"HierarchyGroupSummary", - "documentation":"

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" - }, - "LevelFive":{ - "shape":"HierarchyGroupSummary", - "documentation":"

A HierarchyGroupSummary object that contains information about the level of the hierarchy group, including ARN, Id, and Name.

" - } - }, - "documentation":"

A HierarchyPath object that contains information about the levels of the hierarchy group.

" - }, - "HierarchyStructure":{ - "type":"structure", - "members":{ - "LevelOne":{ - "shape":"HierarchyLevel", - "documentation":"

A HierarchyLevel object that contains information about the hierarchy group level.

" - }, - "LevelTwo":{ - "shape":"HierarchyLevel", - "documentation":"

A HierarchyLevel object that contains information about the hierarchy group level.

" - }, - "LevelThree":{ - "shape":"HierarchyLevel", - "documentation":"

A HierarchyLevel object that contains information about the hierarchy group level.

" - }, - "LevelFour":{ - "shape":"HierarchyLevel", - "documentation":"

A HierarchyLevel object that contains information about the hierarchy group level.

" - }, - "LevelFive":{ - "shape":"HierarchyLevel", - "documentation":"

A HierarchyLevel object that contains information about the hierarchy group level.

" - } - }, - "documentation":"

A HierarchyStructure object that contains information about the hierarchy group structure.

" - }, - "InstanceId":{ - "type":"string", - "documentation":"Amazon Connect Organization ARN. A client must provide its organization ARN in order to place a call. This defines the call from organization.", - "max":100, - "min":1 - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

Request processing failed due to an error or failure with the service.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

One or more of the parameters provided to the operation are not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

The request is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

The limit exceeded the maximum allowed active calls in a queue.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ListRoutingProfilesRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"MaxResult1000", - "documentation":"

The maximum number of routing profiles to return in the response.

", - "box":true, - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListRoutingProfilesResponse":{ - "type":"structure", - "members":{ - "RoutingProfileSummaryList":{ - "shape":"RoutingProfileSummaryList", - "documentation":"

An array of RoutingProfileSummary objects that include the ARN, Id, and Name of the routing profile.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent request to retrieve the next set of results.

" - } - } - }, - "ListSecurityProfilesRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"MaxResult1000", - "documentation":"

The maximum number of security profiles to return.

", - "box":true, - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListSecurityProfilesResponse":{ - "type":"structure", - "members":{ - "SecurityProfileSummaryList":{ - "shape":"SecurityProfileSummaryList", - "documentation":"

An array of SecurityProfileSummary objects.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent request to retrieve the next set of results.

" - } - } - }, - "ListUserHierarchyGroupsRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"MaxResult1000", - "documentation":"

The maximum number of hierarchy groups to return.

", - "box":true, - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListUserHierarchyGroupsResponse":{ - "type":"structure", - "members":{ - "UserHierarchyGroupSummaryList":{ - "shape":"HierarchyGroupSummaryList", - "documentation":"

An array of HierarchyGroupSummary objects.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent request to retrieve the next set of results.

" - } - } - }, - "ListUsersRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"MaxResult1000", - "documentation":"

The maximum number of results to return in the response.

", - "box":true, - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListUsersResponse":{ - "type":"structure", - "members":{ - "UserSummaryList":{ - "shape":"UserSummaryList", - "documentation":"

An array of UserSummary objects that contain information about the users in your instance.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A string returned in the response. Use the value returned in the response as the value of the NextToken in a subsequent request to retrieve the next set of results.

" - } - } - }, - "MaxResult1000":{ - "type":"integer", - "max":1000, - "min":1 - }, - "Message":{"type":"string"}, - "NextToken":{"type":"string"}, - "OutboundContactNotPermittedException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

The contact is not permitted.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "Password":{ - "type":"string", - "pattern":"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,}$/" - }, - "PhoneNumber":{ - "type":"string", - "documentation":"End customer's phone number to call." - }, - "PhoneType":{ - "type":"string", - "enum":[ - "SOFT_PHONE", - "DESK_PHONE" - ] - }, - "QueueId":{ - "type":"string", - "documentation":"Identifier of the queue to be used for the contact routing." - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"Message", - "documentation":"

The message.

" - } - }, - "documentation":"

The specified resource was not found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "RoutingProfileId":{"type":"string"}, - "RoutingProfileName":{ - "type":"string", - "max":100, - "min":1 - }, - "RoutingProfileSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"RoutingProfileId", - "documentation":"

The identifier of the routing profile.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN of the routing profile.

" - }, - "Name":{ - "shape":"RoutingProfileName", - "documentation":"

The name of the routing profile.

" - } - }, - "documentation":"

A RoutingProfileSummary object that contains information about a routing profile, including ARN, Id, and Name.

" - }, - "RoutingProfileSummaryList":{ - "type":"list", - "member":{"shape":"RoutingProfileSummary"} - }, - "SecurityProfileId":{"type":"string"}, - "SecurityProfileIds":{ - "type":"list", - "member":{"shape":"SecurityProfileId"}, - "max":10, - "min":1 - }, - "SecurityProfileName":{"type":"string"}, - "SecurityProfileSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"SecurityProfileId", - "documentation":"

The identifier of the security profile.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN of the security profile.

" - }, - "Name":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile.

" - } - }, - "documentation":"

A SecurityProfileSummary object that contains information about a security profile, including ARN, Id, Name.

" - }, - "SecurityProfileSummaryList":{ - "type":"list", - "member":{"shape":"SecurityProfileSummary"} - }, - "SecurityToken":{ - "type":"string", - "sensitive":true - }, - "StartOutboundVoiceContactRequest":{ - "type":"structure", - "required":[ - "DestinationPhoneNumber", - "ContactFlowId", - "InstanceId" - ], - "members":{ - "DestinationPhoneNumber":{ - "shape":"PhoneNumber", - "documentation":"

The phone number of the customer in E.164 format.

" - }, - "ContactFlowId":{ - "shape":"ContactFlowId", - "documentation":"

The identifier for the contact flow to connect the outbound call to.

To find the ContactFlowId, open the contact flow you want to use in the Amazon Connect contact flow editor. The ID for the contact flow is displayed in the address bar as part of the URL. For example, the contact flow ID is the set of characters at the end of the URL, after 'contact-flow/' such as 78ea8fd5-2659-4f2b-b528-699760ccfc1b.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned. If the contact is disconnected, a new contact is started.

", - "idempotencyToken":true - }, - "SourcePhoneNumber":{ - "shape":"PhoneNumber", - "documentation":"

The phone number, in E.164 format, associated with your Amazon Connect instance to use for the outbound call.

" - }, - "QueueId":{ - "shape":"QueueId", - "documentation":"

The queue to add the call to. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue used will be the queue defined in the contact flow.

To find the QueueId, open the queue you want to use in the Amazon Connect Queue editor. The ID for the queue is displayed in the address bar as part of the URL. For example, the queue ID is the set of characters at the end of the URL, after 'queue/' such as queue/aeg40574-2d01-51c3-73d6-bf8624d2168c.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

Specify a custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs. Attribute keys can include only alphanumeric, dash, and underscore characters.

For example, if you want play a greeting when the customer answers the call, you can pass the customer name in attributes similar to the following:

" - } - } - }, - "StartOutboundVoiceContactResponse":{ - "type":"structure", - "members":{ - "ContactId":{ - "shape":"ContactId", - "documentation":"

The unique identifier of this contact within your Amazon Connect instance.

" - } - } - }, - "StopContactRequest":{ - "type":"structure", - "required":[ - "ContactId", - "InstanceId" - ], - "members":{ - "ContactId":{ - "shape":"ContactId", - "documentation":"

The unique identifier of the contact to end.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

" - } - } - }, - "StopContactResponse":{ - "type":"structure", - "members":{ - } - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

The throttling limit has been exceeded.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UpdateUserHierarchyRequest":{ - "type":"structure", - "required":[ - "UserId", - "InstanceId" - ], - "members":{ - "HierarchyGroupId":{ - "shape":"HierarchyGroupId", - "documentation":"

The identifier for the hierarchy group to assign to the user.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier of the user account to assign the hierarchy group to.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "UpdateUserIdentityInfoRequest":{ - "type":"structure", - "required":[ - "IdentityInfo", - "UserId", - "InstanceId" - ], - "members":{ - "IdentityInfo":{ - "shape":"UserIdentityInfo", - "documentation":"

A UserIdentityInfo object.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier for the user account to update identity information for.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "UpdateUserPhoneConfigRequest":{ - "type":"structure", - "required":[ - "PhoneConfig", - "UserId", - "InstanceId" - ], - "members":{ - "PhoneConfig":{ - "shape":"UserPhoneConfig", - "documentation":"

A UserPhoneConfig object that contains settings for AfterContactWorkTimeLimit, AutoAccept, DeskPhoneNumber, and PhoneType to assign to the user.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier for the user account to change phone settings for.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "UpdateUserRoutingProfileRequest":{ - "type":"structure", - "required":[ - "RoutingProfileId", - "UserId", - "InstanceId" - ], - "members":{ - "RoutingProfileId":{ - "shape":"RoutingProfileId", - "documentation":"

The identifier of the routing profile to assign to the user.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier for the user account to assign the routing profile to.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "UpdateUserSecurityProfilesRequest":{ - "type":"structure", - "required":[ - "SecurityProfileIds", - "UserId", - "InstanceId" - ], - "members":{ - "SecurityProfileIds":{ - "shape":"SecurityProfileIds", - "documentation":"

The identifiers for the security profiles to assign to the user.

" - }, - "UserId":{ - "shape":"UserId", - "documentation":"

The identifier of the user account to assign the security profiles.

", - "location":"uri", - "locationName":"UserId" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The identifier for your Amazon Connect instance. To find the ID of your instance, open the AWS console and select Amazon Connect. Select the alias of the instance in the Instance alias column. The instance ID is displayed in the Overview section of your instance settings. For example, the instance ID is the set of characters at the end of the instance ARN, after instance/, such as 10a4c4eb-f57e-4d4c-b602-bf39176ced07.

", - "location":"uri", - "locationName":"InstanceId" - } - } - }, - "User":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"UserId", - "documentation":"

The identifier of the user account.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN of the user account.

" - }, - "Username":{ - "shape":"AgentUsername", - "documentation":"

The user name assigned to the user account.

" - }, - "IdentityInfo":{ - "shape":"UserIdentityInfo", - "documentation":"

A UserIdentityInfo object.

" - }, - "PhoneConfig":{ - "shape":"UserPhoneConfig", - "documentation":"

A UserPhoneConfig object.

" - }, - "DirectoryUserId":{ - "shape":"DirectoryUserId", - "documentation":"

The directory Id for the user account in the existing directory used for identity management.

" - }, - "SecurityProfileIds":{ - "shape":"SecurityProfileIds", - "documentation":"

The identifier(s) for the security profile assigned to the user.

" - }, - "RoutingProfileId":{ - "shape":"RoutingProfileId", - "documentation":"

The identifier of the routing profile assigned to the user.

" - }, - "HierarchyGroupId":{ - "shape":"HierarchyGroupId", - "documentation":"

The identifier for the hierarchy group assigned to the user.

" - } - }, - "documentation":"

A User object that contains information about a user account in your Amazon Connect instance, including configuration settings.

" - }, - "UserId":{"type":"string"}, - "UserIdentityInfo":{ - "type":"structure", - "members":{ - "FirstName":{ - "shape":"AgentFirstName", - "documentation":"

The first name used in the user account. This is required if you are using Amazon Connect or SAML for identity management.

" - }, - "LastName":{ - "shape":"AgentLastName", - "documentation":"

The last name used in the user account. This is required if you are using Amazon Connect or SAML for identity management.

" - }, - "Email":{ - "shape":"Email", - "documentation":"

The email address added to the user account. If you are using SAML for identity management and include this parameter, an InvalidRequestException is returned.

" - } - }, - "documentation":"

A UserIdentityInfo object that contains information about the user's identity, including email address, first name, and last name.

" - }, - "UserNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

No user with the specified credentials was found in the Amazon Connect instance.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "UserPhoneConfig":{ - "type":"structure", - "required":["PhoneType"], - "members":{ - "PhoneType":{ - "shape":"PhoneType", - "documentation":"

The phone type selected for the user, either Soft phone or Desk phone.

" - }, - "AutoAccept":{ - "shape":"AutoAccept", - "documentation":"

The Auto accept setting for the user, Yes or No.

" - }, - "AfterContactWorkTimeLimit":{ - "shape":"AfterContactWorkTimeLimit", - "documentation":"

The After Call Work (ACW) timeout setting, in seconds, for the user.

" - }, - "DeskPhoneNumber":{ - "shape":"PhoneNumber", - "documentation":"

The phone number for the user's desk phone.

" - } - }, - "documentation":"

A UserPhoneConfig object that contains information about the user phone configuration settings.

" - }, - "UserSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"UserId", - "documentation":"

The identifier for the user account.

" - }, - "Arn":{ - "shape":"ARN", - "documentation":"

The ARN for the user account.

" - }, - "Username":{ - "shape":"AgentUsername", - "documentation":"

The Amazon Connect user name for the user account.

" - } - }, - "documentation":"

A UserSummary object that contains Information about a user, including ARN, Id, and user name.

" - }, - "UserSummaryList":{ - "type":"list", - "member":{"shape":"UserSummary"} - }, - "timestamp":{"type":"timestamp"} - }, - "documentation":"

The Amazon Connect API Reference provides descriptions, syntax, and usage examples for each of the Amazon Connect actions, data types, parameters, and errors. Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/paginators-1.json deleted file mode 100644 index 7db4dfe1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "DescribeReportDefinitions": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReportDefinitions" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/service-2.json deleted file mode 100644 index 4ed705a8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/cur/2017-01-06/service-2.json +++ /dev/null @@ -1,264 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-01-06", - "endpointPrefix":"cur", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Cost and Usage Report Service", - "serviceId":"Cost and Usage Report Service", - "signatureVersion":"v4", - "signingName":"cur", - "targetPrefix":"AWSOrigamiServiceGatewayService", - "uid":"cur-2017-01-06" - }, - "operations":{ - "DeleteReportDefinition":{ - "name":"DeleteReportDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReportDefinitionRequest"}, - "output":{"shape":"DeleteReportDefinitionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ValidationException"} - ], - "documentation":"Delete a specified report definition" - }, - "DescribeReportDefinitions":{ - "name":"DescribeReportDefinitions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReportDefinitionsRequest"}, - "output":{"shape":"DescribeReportDefinitionsResponse"}, - "errors":[ - {"shape":"InternalErrorException"} - ], - "documentation":"Describe a list of report definitions owned by the account" - }, - "PutReportDefinition":{ - "name":"PutReportDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutReportDefinitionRequest"}, - "output":{"shape":"PutReportDefinitionResponse"}, - "errors":[ - {"shape":"DuplicateReportNameException"}, - {"shape":"ReportLimitReachedException"}, - {"shape":"InternalErrorException"}, - {"shape":"ValidationException"} - ], - "documentation":"Create a new report definition" - } - }, - "shapes":{ - "AWSRegion":{ - "type":"string", - "documentation":"Region of customer S3 bucket.", - "enum":[ - "us-east-1", - "us-west-1", - "us-west-2", - "eu-central-1", - "eu-west-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1" - ] - }, - "AdditionalArtifact":{ - "type":"string", - "documentation":"Enable support for Redshift and/or QuickSight.", - "enum":[ - "REDSHIFT", - "QUICKSIGHT" - ] - }, - "AdditionalArtifactList":{ - "type":"list", - "member":{"shape":"AdditionalArtifact"}, - "documentation":"A list of additional artifacts." - }, - "CompressionFormat":{ - "type":"string", - "documentation":"Preferred compression format for report.", - "enum":[ - "ZIP", - "GZIP" - ] - }, - "DeleteReportDefinitionRequest":{ - "type":"structure", - "members":{ - "ReportName":{"shape":"ReportName"} - }, - "documentation":"Request of DeleteReportDefinition" - }, - "DeleteReportDefinitionResponse":{ - "type":"structure", - "members":{ - "ResponseMessage":{"shape":"DeleteResponseMessage"} - }, - "documentation":"Response of DeleteReportDefinition" - }, - "DeleteResponseMessage":{ - "type":"string", - "documentation":"A message indicates if the deletion is successful." - }, - "DescribeReportDefinitionsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"GenericString"} - }, - "documentation":"Request of DescribeReportDefinitions" - }, - "DescribeReportDefinitionsResponse":{ - "type":"structure", - "members":{ - "ReportDefinitions":{"shape":"ReportDefinitionList"}, - "NextToken":{"shape":"GenericString"} - }, - "documentation":"Response of DescribeReportDefinitions" - }, - "DuplicateReportNameException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"This exception is thrown when putting a report preference with a name that already exists.", - "exception":true - }, - "ErrorMessage":{ - "type":"string", - "documentation":"A message to show the detail of the exception." - }, - "GenericString":{ - "type":"string", - "documentation":"A generic string." - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"This exception is thrown on a known dependency failure.", - "exception":true, - "fault":true - }, - "MaxResults":{ - "type":"integer", - "documentation":"The max number of results returned by the operation.", - "box":true, - "max":5, - "min":5 - }, - "PutReportDefinitionRequest":{ - "type":"structure", - "required":["ReportDefinition"], - "members":{ - "ReportDefinition":{"shape":"ReportDefinition"} - }, - "documentation":"Request of PutReportDefinition" - }, - "PutReportDefinitionResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"Response of PutReportDefinition" - }, - "ReportDefinition":{ - "type":"structure", - "required":[ - "ReportName", - "TimeUnit", - "Format", - "Compression", - "AdditionalSchemaElements", - "S3Bucket", - "S3Prefix", - "S3Region" - ], - "members":{ - "ReportName":{"shape":"ReportName"}, - "TimeUnit":{"shape":"TimeUnit"}, - "Format":{"shape":"ReportFormat"}, - "Compression":{"shape":"CompressionFormat"}, - "AdditionalSchemaElements":{"shape":"SchemaElementList"}, - "S3Bucket":{"shape":"S3Bucket"}, - "S3Prefix":{"shape":"S3Prefix"}, - "S3Region":{"shape":"AWSRegion"}, - "AdditionalArtifacts":{"shape":"AdditionalArtifactList"} - }, - "documentation":"The definition of AWS Cost and Usage Report. Customer can specify the report name, time unit, report format, compression format, S3 bucket and additional artifacts and schema elements in the definition." - }, - "ReportDefinitionList":{ - "type":"list", - "member":{"shape":"ReportDefinition"}, - "documentation":"A list of report definitions." - }, - "ReportFormat":{ - "type":"string", - "documentation":"Preferred format for report.", - "enum":["textORcsv"] - }, - "ReportLimitReachedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"This exception is thrown when the number of report preference reaches max limit. The max number is 5.", - "exception":true - }, - "ReportName":{ - "type":"string", - "documentation":"Preferred name for a report, it has to be unique. Must starts with a number/letter, case sensitive. Limited to 256 characters.", - "max":256, - "pattern":"[0-9A-Za-z!\\-_.*\\'()]+" - }, - "S3Bucket":{ - "type":"string", - "documentation":"Name of customer S3 bucket.", - "max":256 - }, - "S3Prefix":{ - "type":"string", - "documentation":"Preferred report path prefix. Limited to 256 characters.", - "max":256, - "pattern":"[0-9A-Za-z!\\-_.*\\'()/]*" - }, - "SchemaElement":{ - "type":"string", - "documentation":"Preference of including Resource IDs. You can include additional details about individual resource IDs in your report.", - "enum":["RESOURCES"] - }, - "SchemaElementList":{ - "type":"list", - "member":{"shape":"SchemaElement"}, - "documentation":"A list of schema elements." - }, - "TimeUnit":{ - "type":"string", - "documentation":"The frequency on which report data are measured and displayed.", - "enum":[ - "HOURLY", - "DAILY" - ] - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"This exception is thrown when providing an invalid input. eg. Put a report preference with an invalid report name, or Delete a report preference with an empty report name.", - "exception":true - } - }, - "documentation":"All public APIs for AWS Cost and Usage Report service" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/paginators-1.json deleted file mode 100644 index c859c9fb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/paginators-1.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "pagination": { - "ListPipelines": { - "input_token": "marker", - "output_token": "marker", - "more_results": "hasMoreResults", - "result_key": "pipelineIdList" - }, - "DescribeObjects": { - "input_token": "marker", - "output_token": "marker", - "more_results": "hasMoreResults", - "result_key": "pipelineObjects" - }, - "QueryObjects": { - "input_token": "marker", - "output_token": "marker", - "more_results": "hasMoreResults", - "limit_key": "limit", - "result_key": "ids" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/service-2.json deleted file mode 100644 index 55298952..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/datapipeline/2012-10-29/service-2.json +++ /dev/null @@ -1,1779 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-10-29", - "endpointPrefix":"datapipeline", - "jsonVersion":"1.1", - "serviceFullName":"AWS Data Pipeline", - "serviceId":"Data Pipeline", - "signatureVersion":"v4", - "targetPrefix":"DataPipeline", - "protocol":"json", - "uid":"datapipeline-2012-10-29" - }, - "documentation":"

AWS Data Pipeline configures and manages a data-driven workflow called a pipeline. AWS Data Pipeline handles the details of scheduling and ensuring that data dependencies are met so that your application can focus on processing the data.

AWS Data Pipeline provides a JAR implementation of a task runner called AWS Data Pipeline Task Runner. AWS Data Pipeline Task Runner provides logic for common data management scenarios, such as performing database queries and running data analysis using Amazon Elastic MapReduce (Amazon EMR). You can use AWS Data Pipeline Task Runner as your task runner, or you can write your own task runner to provide custom data management.

AWS Data Pipeline implements two main sets of functionality. Use the first set to create a pipeline and define data sources, schedules, dependencies, and the transforms to be performed on the data. Use the second set in your task runner application to receive the next task ready for processing. The logic for performing the task, such as querying the data, running data analysis, or converting the data from one format to another, is contained within the task runner. The task runner performs the task assigned to it by the web service, reporting progress to the web service as it does so. When the task is done, the task runner reports the final success or failure of the task to the web service.

", - "operations":{ - "ActivatePipeline":{ - "name":"ActivatePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ActivatePipelineInput", - "documentation":"

Contains the parameters for ActivatePipeline.

" - }, - "output":{ - "shape":"ActivatePipelineOutput", - "documentation":"

Contains the output of ActivatePipeline.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Validates the specified pipeline and starts processing pipeline tasks. If the pipeline does not pass validation, activation fails.

If you need to pause the pipeline to investigate an issue with a component, such as a data source or script, call DeactivatePipeline.

To activate a finished pipeline, modify the end date for the pipeline and then activate it.

" - }, - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"AddTagsInput", - "documentation":"

Contains the parameters for AddTags.

" - }, - "output":{ - "shape":"AddTagsOutput", - "documentation":"

Contains the output of AddTags.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Adds or modifies tags for the specified pipeline.

" - }, - "CreatePipeline":{ - "name":"CreatePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreatePipelineInput", - "documentation":"

Contains the parameters for CreatePipeline.

" - }, - "output":{ - "shape":"CreatePipelineOutput", - "documentation":"

Contains the output of CreatePipeline.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Creates a new, empty pipeline. Use PutPipelineDefinition to populate the pipeline.

" - }, - "DeactivatePipeline":{ - "name":"DeactivatePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeactivatePipelineInput", - "documentation":"

Contains the parameters for DeactivatePipeline.

" - }, - "output":{ - "shape":"DeactivatePipelineOutput", - "documentation":"

Contains the output of DeactivatePipeline.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Deactivates the specified running pipeline. The pipeline is set to the DEACTIVATING state until the deactivation process completes.

To resume a deactivated pipeline, use ActivatePipeline. By default, the pipeline resumes from the last completed execution. Optionally, you can specify the date and time to resume the pipeline.

" - }, - "DeletePipeline":{ - "name":"DeletePipeline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeletePipelineInput", - "documentation":"

Contains the parameters for DeletePipeline.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Deletes a pipeline, its pipeline definition, and its run history. AWS Data Pipeline attempts to cancel instances associated with the pipeline that are currently being processed by task runners.

Deleting a pipeline cannot be undone. You cannot query or restore a deleted pipeline. To temporarily pause a pipeline instead of deleting it, call SetStatus with the status set to PAUSE on individual components. Components that are paused by SetStatus can be resumed.

" - }, - "DescribeObjects":{ - "name":"DescribeObjects", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeObjectsInput", - "documentation":"

Contains the parameters for DescribeObjects.

" - }, - "output":{ - "shape":"DescribeObjectsOutput", - "documentation":"

Contains the output of DescribeObjects.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Gets the object definitions for a set of objects associated with the pipeline. Object definitions are composed of a set of fields that define the properties of the object.

" - }, - "DescribePipelines":{ - "name":"DescribePipelines", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribePipelinesInput", - "documentation":"

Contains the parameters for DescribePipelines.

" - }, - "output":{ - "shape":"DescribePipelinesOutput", - "documentation":"

Contains the output of DescribePipelines.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Retrieves metadata about one or more pipelines. The information retrieved includes the name of the pipeline, the pipeline identifier, its current state, and the user account that owns the pipeline. Using account credentials, you can retrieve metadata about pipelines that you or your IAM users have created. If you are using an IAM user account, you can retrieve metadata about only those pipelines for which you have read permissions.

To retrieve the full pipeline definition instead of metadata about the pipeline, call GetPipelineDefinition.

" - }, - "EvaluateExpression":{ - "name":"EvaluateExpression", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"EvaluateExpressionInput", - "documentation":"

Contains the parameters for EvaluateExpression.

" - }, - "output":{ - "shape":"EvaluateExpressionOutput", - "documentation":"

Contains the output of EvaluateExpression.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"TaskNotFoundException", - "exception":true, - "documentation":"

The specified task was not found.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Task runners call EvaluateExpression to evaluate a string in the context of the specified object. For example, a task runner can evaluate SQL queries stored in Amazon S3.

" - }, - "GetPipelineDefinition":{ - "name":"GetPipelineDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"GetPipelineDefinitionInput", - "documentation":"

Contains the parameters for GetPipelineDefinition.

" - }, - "output":{ - "shape":"GetPipelineDefinitionOutput", - "documentation":"

Contains the output of GetPipelineDefinition.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Gets the definition of the specified pipeline. You can call GetPipelineDefinition to retrieve the pipeline definition that you provided using PutPipelineDefinition.

" - }, - "ListPipelines":{ - "name":"ListPipelines", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ListPipelinesInput", - "documentation":"

Contains the parameters for ListPipelines.

" - }, - "output":{ - "shape":"ListPipelinesOutput", - "documentation":"

Contains the output of ListPipelines.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Lists the pipeline identifiers for all active pipelines that you have permission to access.

" - }, - "PollForTask":{ - "name":"PollForTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PollForTaskInput", - "documentation":"

Contains the parameters for PollForTask.

" - }, - "output":{ - "shape":"PollForTaskOutput", - "documentation":"

Contains the output of PollForTask.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"TaskNotFoundException", - "exception":true, - "documentation":"

The specified task was not found.

" - } - ], - "documentation":"

Task runners call PollForTask to receive a task to perform from AWS Data Pipeline. The task runner specifies which tasks it can perform by setting a value for the workerGroup parameter. The task returned can come from any of the pipelines that match the workerGroup value passed in by the task runner and that was launched using the IAM user credentials specified by the task runner.

If tasks are ready in the work queue, PollForTask returns a response immediately. If no tasks are available in the queue, PollForTask uses long-polling and holds on to a poll connection for up to a 90 seconds, during which time the first newly scheduled task is handed to the task runner. To accomodate this, set the socket timeout in your task runner to 90 seconds. The task runner should not call PollForTask again on the same workerGroup until it receives a response, and this can take up to 90 seconds.

" - }, - "PutPipelineDefinition":{ - "name":"PutPipelineDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PutPipelineDefinitionInput", - "documentation":"

Contains the parameters for PutPipelineDefinition.

" - }, - "output":{ - "shape":"PutPipelineDefinitionOutput", - "documentation":"

Contains the output of PutPipelineDefinition.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Adds tasks, schedules, and preconditions to the specified pipeline. You can use PutPipelineDefinition to populate a new pipeline.

PutPipelineDefinition also validates the configuration as it adds it to the pipeline. Changes to the pipeline are saved unless one of the following three validation errors exists in the pipeline.

  1. An object is missing a name or identifier field.
  2. A string or reference field is empty.
  3. The number of objects in the pipeline exceeds the maximum allowed objects.
  4. The pipeline is in a FINISHED state.

Pipeline object definitions are passed to the PutPipelineDefinition action and returned by the GetPipelineDefinition action.

" - }, - "QueryObjects":{ - "name":"QueryObjects", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"QueryObjectsInput", - "documentation":"

Contains the parameters for QueryObjects.

" - }, - "output":{ - "shape":"QueryObjectsOutput", - "documentation":"

Contains the output of QueryObjects.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Queries the specified pipeline for the names of objects that match the specified set of conditions.

" - }, - "RemoveTags":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RemoveTagsInput", - "documentation":"

Contains the parameters for RemoveTags.

" - }, - "output":{ - "shape":"RemoveTagsOutput", - "documentation":"

Contains the output of RemoveTags.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Removes existing tags from the specified pipeline.

" - }, - "ReportTaskProgress":{ - "name":"ReportTaskProgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ReportTaskProgressInput", - "documentation":"

Contains the parameters for ReportTaskProgress.

" - }, - "output":{ - "shape":"ReportTaskProgressOutput", - "documentation":"

Contains the output of ReportTaskProgress.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"TaskNotFoundException", - "exception":true, - "documentation":"

The specified task was not found.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Task runners call ReportTaskProgress when assigned a task to acknowledge that it has the task. If the web service does not receive this acknowledgement within 2 minutes, it assigns the task in a subsequent PollForTask call. After this initial acknowledgement, the task runner only needs to report progress every 15 minutes to maintain its ownership of the task. You can change this reporting time from 15 minutes by specifying a reportProgressTimeout field in your pipeline.

If a task runner does not report its status after 5 minutes, AWS Data Pipeline assumes that the task runner is unable to process the task and reassigns the task in a subsequent response to PollForTask. Task runners should call ReportTaskProgress every 60 seconds.

" - }, - "ReportTaskRunnerHeartbeat":{ - "name":"ReportTaskRunnerHeartbeat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ReportTaskRunnerHeartbeatInput", - "documentation":"

Contains the parameters for ReportTaskRunnerHeartbeat.

" - }, - "output":{ - "shape":"ReportTaskRunnerHeartbeatOutput", - "documentation":"

Contains the output of ReportTaskRunnerHeartbeat.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Task runners call ReportTaskRunnerHeartbeat every 15 minutes to indicate that they are operational. If the AWS Data Pipeline Task Runner is launched on a resource managed by AWS Data Pipeline, the web service can use this call to detect when the task runner application has failed and restart a new instance.

" - }, - "SetStatus":{ - "name":"SetStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"SetStatusInput", - "documentation":"

Contains the parameters for SetStatus.

" - }, - "errors":[ - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - } - ], - "documentation":"

Requests that the status of the specified physical or logical pipeline objects be updated in the specified pipeline. This update might not occur immediately, but is eventually consistent. The status that can be set depends on the type of object (for example, DataNode or Activity). You cannot perform this operation on FINISHED pipelines and attempting to do so returns InvalidRequestException.

" - }, - "SetTaskStatus":{ - "name":"SetTaskStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"SetTaskStatusInput", - "documentation":"

Contains the parameters for SetTaskStatus.

" - }, - "output":{ - "shape":"SetTaskStatusOutput", - "documentation":"

Contains the output of SetTaskStatus.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"TaskNotFoundException", - "exception":true, - "documentation":"

The specified task was not found.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Task runners call SetTaskStatus to notify AWS Data Pipeline that a task is completed and provide information about the final status. A task runner makes this call regardless of whether the task was sucessful. A task runner does not need to call SetTaskStatus for tasks that are canceled by the web service during a call to ReportTaskProgress.

" - }, - "ValidatePipelineDefinition":{ - "name":"ValidatePipelineDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ValidatePipelineDefinitionInput", - "documentation":"

Contains the parameters for ValidatePipelineDefinition.

" - }, - "output":{ - "shape":"ValidatePipelineDefinitionOutput", - "documentation":"

Contains the output of ValidatePipelineDefinition.

" - }, - "errors":[ - { - "shape":"InternalServiceError", - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - { - "shape":"InvalidRequestException", - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - { - "shape":"PipelineNotFoundException", - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - { - "shape":"PipelineDeletedException", - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - } - ], - "documentation":"

Validates the specified pipeline definition to ensure that it is well formed and can be run without error.

" - } - }, - "shapes":{ - "ActivatePipelineInput":{ - "type":"structure", - "required":["pipelineId"], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "parameterValues":{ - "shape":"ParameterValueList", - "documentation":"

A list of parameter values to pass to the pipeline at activation.

" - }, - "startTimestamp":{ - "shape":"timestamp", - "documentation":"

The date and time to resume the pipeline. By default, the pipeline resumes from the last completed execution.

" - } - }, - "documentation":"

Contains the parameters for ActivatePipeline.

" - }, - "ActivatePipelineOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of ActivatePipeline.

" - }, - "AddTagsInput":{ - "type":"structure", - "required":[ - "pipelineId", - "tags" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "tags":{ - "shape":"tagList", - "documentation":"

The tags to add, as key/value pairs.

" - } - }, - "documentation":"

Contains the parameters for AddTags.

" - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of AddTags.

" - }, - "CreatePipelineInput":{ - "type":"structure", - "required":[ - "name", - "uniqueId" - ], - "members":{ - "name":{ - "shape":"id", - "documentation":"

The name for the pipeline. You can use the same name for multiple pipelines associated with your AWS account, because AWS Data Pipeline assigns each pipeline a unique pipeline identifier.

" - }, - "uniqueId":{ - "shape":"id", - "documentation":"

A unique identifier. This identifier is not the same as the pipeline identifier assigned by AWS Data Pipeline. You are responsible for defining the format and ensuring the uniqueness of this identifier. You use this parameter to ensure idempotency during repeated calls to CreatePipeline. For example, if the first call to CreatePipeline does not succeed, you can pass in the same unique identifier and pipeline name combination on a subsequent call to CreatePipeline. CreatePipeline ensures that if a pipeline already exists with the same name and unique identifier, a new pipeline is not created. Instead, you'll receive the pipeline identifier from the previous attempt. The uniqueness of the name and unique identifier combination is scoped to the AWS account or IAM user credentials.

" - }, - "description":{ - "shape":"string", - "documentation":"

The description for the pipeline.

" - }, - "tags":{ - "shape":"tagList", - "documentation":"

A list of tags to associate with the pipeline at creation. Tags let you control access to pipelines. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

" - } - }, - "documentation":"

Contains the parameters for CreatePipeline.

" - }, - "CreatePipelineOutput":{ - "type":"structure", - "required":["pipelineId"], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID that AWS Data Pipeline assigns the newly created pipeline. For example, df-06372391ZG65EXAMPLE.

" - } - }, - "documentation":"

Contains the output of CreatePipeline.

" - }, - "DeactivatePipelineInput":{ - "type":"structure", - "required":["pipelineId"], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "cancelActive":{ - "shape":"cancelActive", - "documentation":"

Indicates whether to cancel any running objects. The default is true, which sets the state of any running objects to CANCELED. If this value is false, the pipeline is deactivated after all running objects finish.

" - } - }, - "documentation":"

Contains the parameters for DeactivatePipeline.

" - }, - "DeactivatePipelineOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of DeactivatePipeline.

" - }, - "DeletePipelineInput":{ - "type":"structure", - "required":["pipelineId"], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - } - }, - "documentation":"

Contains the parameters for DeletePipeline.

" - }, - "DescribeObjectsInput":{ - "type":"structure", - "required":[ - "pipelineId", - "objectIds" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline that contains the object definitions.

" - }, - "objectIds":{ - "shape":"idList", - "documentation":"

The IDs of the pipeline objects that contain the definitions to be described. You can pass as many as 25 identifiers in a single call to DescribeObjects.

" - }, - "evaluateExpressions":{ - "shape":"boolean", - "documentation":"

Indicates whether any expressions in the object should be evaluated when the object descriptions are returned.

" - }, - "marker":{ - "shape":"string", - "documentation":"

The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call DescribeObjects with the marker value from the previous call to retrieve the next set of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeObjects.

" - }, - "DescribeObjectsOutput":{ - "type":"structure", - "required":["pipelineObjects"], - "members":{ - "pipelineObjects":{ - "shape":"PipelineObjectList", - "documentation":"

An array of object definitions.

" - }, - "marker":{ - "shape":"string", - "documentation":"

The starting point for the next page of results. To view the next page of results, call DescribeObjects again with this marker value. If the value is null, there are no more results.

" - }, - "hasMoreResults":{ - "shape":"boolean", - "documentation":"

Indicates whether there are more results to return.

" - } - }, - "documentation":"

Contains the output of DescribeObjects.

" - }, - "DescribePipelinesInput":{ - "type":"structure", - "required":["pipelineIds"], - "members":{ - "pipelineIds":{ - "shape":"idList", - "documentation":"

The IDs of the pipelines to describe. You can pass as many as 25 identifiers in a single call. To obtain pipeline IDs, call ListPipelines.

" - } - }, - "documentation":"

Contains the parameters for DescribePipelines.

" - }, - "DescribePipelinesOutput":{ - "type":"structure", - "required":["pipelineDescriptionList"], - "members":{ - "pipelineDescriptionList":{ - "shape":"PipelineDescriptionList", - "documentation":"

An array of descriptions for the specified pipelines.

" - } - }, - "documentation":"

Contains the output of DescribePipelines.

" - }, - "EvaluateExpressionInput":{ - "type":"structure", - "required":[ - "pipelineId", - "objectId", - "expression" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "objectId":{ - "shape":"id", - "documentation":"

The ID of the object.

" - }, - "expression":{ - "shape":"longString", - "documentation":"

The expression to evaluate.

" - } - }, - "documentation":"

Contains the parameters for EvaluateExpression.

" - }, - "EvaluateExpressionOutput":{ - "type":"structure", - "required":["evaluatedExpression"], - "members":{ - "evaluatedExpression":{ - "shape":"longString", - "documentation":"

The evaluated expression.

" - } - }, - "documentation":"

Contains the output of EvaluateExpression.

" - }, - "Field":{ - "type":"structure", - "required":["key"], - "members":{ - "key":{ - "shape":"fieldNameString", - "documentation":"

The field identifier.

" - }, - "stringValue":{ - "shape":"fieldStringValue", - "documentation":"

The field value, expressed as a String.

" - }, - "refValue":{ - "shape":"fieldNameString", - "documentation":"

The field value, expressed as the identifier of another object.

" - } - }, - "documentation":"

A key-value pair that describes a property of a pipeline object. The value is specified as either a string value (StringValue) or a reference to another object (RefValue) but not as both.

" - }, - "GetPipelineDefinitionInput":{ - "type":"structure", - "required":["pipelineId"], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "version":{ - "shape":"string", - "documentation":"

The version of the pipeline definition to retrieve. Set this parameter to latest (default) to use the last definition saved to the pipeline or active to use the last definition that was activated.

" - } - }, - "documentation":"

Contains the parameters for GetPipelineDefinition.

" - }, - "GetPipelineDefinitionOutput":{ - "type":"structure", - "members":{ - "pipelineObjects":{ - "shape":"PipelineObjectList", - "documentation":"

The objects defined in the pipeline.

" - }, - "parameterObjects":{ - "shape":"ParameterObjectList", - "documentation":"

The parameter objects used in the pipeline definition.

" - }, - "parameterValues":{ - "shape":"ParameterValueList", - "documentation":"

The parameter values used in the pipeline definition.

" - } - }, - "documentation":"

Contains the output of GetPipelineDefinition.

" - }, - "InstanceIdentity":{ - "type":"structure", - "members":{ - "document":{ - "shape":"string", - "documentation":"

A description of an EC2 instance that is generated when the instance is launched and exposed to the instance via the instance metadata service in the form of a JSON representation of an object.

" - }, - "signature":{ - "shape":"string", - "documentation":"

A signature which can be used to verify the accuracy and authenticity of the information provided in the instance identity document.

" - } - }, - "documentation":"

Identity information for the EC2 instance that is hosting the task runner. You can get this value by calling a metadata URI from the EC2 instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline.

" - }, - "InternalServiceError":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Description of the error message.

" - } - }, - "exception":true, - "fault":true, - "documentation":"

An internal service error occurred.

" - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Description of the error message.

" - } - }, - "exception":true, - "documentation":"

The request was not valid. Verify that your request was properly formatted, that the signature was generated with the correct credentials, and that you haven't exceeded any of the service limits for your account.

" - }, - "ListPipelinesInput":{ - "type":"structure", - "members":{ - "marker":{ - "shape":"string", - "documentation":"

The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call ListPipelines with the marker value from the previous call to retrieve the next set of results.

" - } - }, - "documentation":"

Contains the parameters for ListPipelines.

" - }, - "ListPipelinesOutput":{ - "type":"structure", - "required":["pipelineIdList"], - "members":{ - "pipelineIdList":{ - "shape":"pipelineList", - "documentation":"

The pipeline identifiers. If you require additional information about the pipelines, you can use these identifiers to call DescribePipelines and GetPipelineDefinition.

" - }, - "marker":{ - "shape":"string", - "documentation":"

The starting point for the next page of results. To view the next page of results, call ListPipelinesOutput again with this marker value. If the value is null, there are no more results.

" - }, - "hasMoreResults":{ - "shape":"boolean", - "documentation":"

Indicates whether there are more results that can be obtained by a subsequent call.

" - } - }, - "documentation":"

Contains the output of ListPipelines.

" - }, - "Operator":{ - "type":"structure", - "members":{ - "type":{ - "shape":"OperatorType", - "documentation":"

The logical operation to be performed: equal (EQ), equal reference (REF_EQ), less than or equal (LE), greater than or equal (GE), or between (BETWEEN). Equal reference (REF_EQ) can be used only with reference fields. The other comparison types can be used only with String fields. The comparison types you can use apply only to certain object fields, as detailed below.

The comparison operators EQ and REF_EQ act on the following fields:

  • name
  • @sphere
  • parent
  • @componentParent
  • @instanceParent
  • @status
  • @scheduledStartTime
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime

The comparison operators GE, LE, and BETWEEN act on the following fields:

  • @scheduledStartTime
  • @scheduledEndTime
  • @actualStartTime
  • @actualEndTime

Note that fields beginning with the at sign (@) are read-only and set by the web service. When you name fields, you should choose names containing only alpha-numeric values, as symbols may be reserved by AWS Data Pipeline. User-defined fields that you add to a pipeline should prefix their name with the string \"my\".

" - }, - "values":{ - "shape":"stringList", - "documentation":"

The value that the actual field value will be compared with.

" - } - }, - "documentation":"

Contains a logical operation for comparing the value of a field with a specified value.

" - }, - "OperatorType":{ - "type":"string", - "enum":[ - "EQ", - "REF_EQ", - "LE", - "GE", - "BETWEEN" - ] - }, - "ParameterAttribute":{ - "type":"structure", - "required":[ - "key", - "stringValue" - ], - "members":{ - "key":{ - "shape":"attributeNameString", - "documentation":"

The field identifier.

" - }, - "stringValue":{ - "shape":"attributeValueString", - "documentation":"

The field value, expressed as a String.

" - } - }, - "documentation":"

The attributes allowed or specified with a parameter object.

" - }, - "ParameterAttributeList":{ - "type":"list", - "member":{"shape":"ParameterAttribute"} - }, - "ParameterObject":{ - "type":"structure", - "required":[ - "id", - "attributes" - ], - "members":{ - "id":{ - "shape":"fieldNameString", - "documentation":"

The ID of the parameter object.

" - }, - "attributes":{ - "shape":"ParameterAttributeList", - "documentation":"

The attributes of the parameter object.

" - } - }, - "documentation":"

Contains information about a parameter object.

" - }, - "ParameterObjectList":{ - "type":"list", - "member":{"shape":"ParameterObject"} - }, - "ParameterValue":{ - "type":"structure", - "required":[ - "id", - "stringValue" - ], - "members":{ - "id":{ - "shape":"fieldNameString", - "documentation":"

The ID of the parameter value.

" - }, - "stringValue":{ - "shape":"fieldStringValue", - "documentation":"

The field value, expressed as a String.

" - } - }, - "documentation":"

A value or list of parameter values.

" - }, - "ParameterValueList":{ - "type":"list", - "member":{"shape":"ParameterValue"} - }, - "PipelineDeletedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Description of the error message.

" - } - }, - "exception":true, - "documentation":"

The specified pipeline has been deleted.

" - }, - "PipelineDescription":{ - "type":"structure", - "required":[ - "pipelineId", - "name", - "fields" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The pipeline identifier that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

" - }, - "name":{ - "shape":"id", - "documentation":"

The name of the pipeline.

" - }, - "fields":{ - "shape":"fieldList", - "documentation":"

A list of read-only fields that contain metadata about the pipeline: @userId, @accountId, and @pipelineState.

" - }, - "description":{ - "shape":"string", - "documentation":"

Description of the pipeline.

" - }, - "tags":{ - "shape":"tagList", - "documentation":"

A list of tags to associated with a pipeline. Tags let you control access to pipelines. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

" - } - }, - "documentation":"

Contains pipeline metadata.

" - }, - "PipelineDescriptionList":{ - "type":"list", - "member":{"shape":"PipelineDescription"} - }, - "PipelineIdName":{ - "type":"structure", - "members":{ - "id":{ - "shape":"id", - "documentation":"

The ID of the pipeline that was assigned by AWS Data Pipeline. This is a string of the form df-297EG78HU43EEXAMPLE.

" - }, - "name":{ - "shape":"id", - "documentation":"

The name of the pipeline.

" - } - }, - "documentation":"

Contains the name and identifier of a pipeline.

" - }, - "PipelineNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Description of the error message.

" - } - }, - "exception":true, - "documentation":"

The specified pipeline was not found. Verify that you used the correct user and account identifiers.

" - }, - "PipelineObject":{ - "type":"structure", - "required":[ - "id", - "name", - "fields" - ], - "members":{ - "id":{ - "shape":"id", - "documentation":"

The ID of the object.

" - }, - "name":{ - "shape":"id", - "documentation":"

The name of the object.

" - }, - "fields":{ - "shape":"fieldList", - "documentation":"

Key-value pairs that define the properties of the object.

" - } - }, - "documentation":"

Contains information about a pipeline object. This can be a logical, physical, or physical attempt pipeline object. The complete set of components of a pipeline defines the pipeline.

" - }, - "PipelineObjectList":{ - "type":"list", - "member":{"shape":"PipelineObject"} - }, - "PipelineObjectMap":{ - "type":"map", - "key":{"shape":"id"}, - "value":{"shape":"PipelineObject"} - }, - "PollForTaskInput":{ - "type":"structure", - "required":["workerGroup"], - "members":{ - "workerGroup":{ - "shape":"string", - "documentation":"

The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for workerGroup in the call to PollForTask. There are no wildcard values permitted in workerGroup; the string must be an exact, case-sensitive, match.

" - }, - "hostname":{ - "shape":"id", - "documentation":"

The public DNS name of the calling task runner.

" - }, - "instanceIdentity":{ - "shape":"InstanceIdentity", - "documentation":"

Identity information for the EC2 instance that is hosting the task runner. You can get this value from the instance using http://169.254.169.254/latest/meta-data/instance-id. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide. Passing in this value proves that your task runner is running on an EC2 instance, and ensures the proper AWS Data Pipeline service charges are applied to your pipeline.

" - } - }, - "documentation":"

Contains the parameters for PollForTask.

" - }, - "PollForTaskOutput":{ - "type":"structure", - "members":{ - "taskObject":{ - "shape":"TaskObject", - "documentation":"

The information needed to complete the task that is being assigned to the task runner. One of the fields returned in this object is taskId, which contains an identifier for the task being assigned. The calling task runner uses taskId in subsequent calls to ReportTaskProgress and SetTaskStatus.

" - } - }, - "documentation":"

Contains the output of PollForTask.

" - }, - "PutPipelineDefinitionInput":{ - "type":"structure", - "required":[ - "pipelineId", - "pipelineObjects" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "pipelineObjects":{ - "shape":"PipelineObjectList", - "documentation":"

The objects that define the pipeline. These objects overwrite the existing pipeline definition.

" - }, - "parameterObjects":{ - "shape":"ParameterObjectList", - "documentation":"

The parameter objects used with the pipeline.

" - }, - "parameterValues":{ - "shape":"ParameterValueList", - "documentation":"

The parameter values used with the pipeline.

" - } - }, - "documentation":"

Contains the parameters for PutPipelineDefinition.

" - }, - "PutPipelineDefinitionOutput":{ - "type":"structure", - "required":["errored"], - "members":{ - "validationErrors":{ - "shape":"ValidationErrors", - "documentation":"

The validation errors that are associated with the objects defined in pipelineObjects.

" - }, - "validationWarnings":{ - "shape":"ValidationWarnings", - "documentation":"

The validation warnings that are associated with the objects defined in pipelineObjects.

" - }, - "errored":{ - "shape":"boolean", - "documentation":"

Indicates whether there were validation errors, and the pipeline definition is stored but cannot be activated until you correct the pipeline and call PutPipelineDefinition to commit the corrected pipeline.

" - } - }, - "documentation":"

Contains the output of PutPipelineDefinition.

" - }, - "Query":{ - "type":"structure", - "members":{ - "selectors":{ - "shape":"SelectorList", - "documentation":"

List of selectors that define the query. An object must satisfy all of the selectors to match the query.

" - } - }, - "documentation":"

Defines the query to run against an object.

" - }, - "QueryObjectsInput":{ - "type":"structure", - "required":[ - "pipelineId", - "sphere" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "query":{ - "shape":"Query", - "documentation":"

The query that defines the objects to be returned. The Query object can contain a maximum of ten selectors. The conditions in the query are limited to top-level String fields in the object. These filters can be applied to components, instances, and attempts.

" - }, - "sphere":{ - "shape":"string", - "documentation":"

Indicates whether the query applies to components or instances. The possible values are: COMPONENT, INSTANCE, and ATTEMPT.

" - }, - "marker":{ - "shape":"string", - "documentation":"

The starting point for the results to be returned. For the first call, this value should be empty. As long as there are more results, continue to call QueryObjects with the marker value from the previous call to retrieve the next set of results.

" - }, - "limit":{ - "shape":"int", - "documentation":"

The maximum number of object names that QueryObjects will return in a single call. The default value is 100.

" - } - }, - "documentation":"

Contains the parameters for QueryObjects.

" - }, - "QueryObjectsOutput":{ - "type":"structure", - "members":{ - "ids":{ - "shape":"idList", - "documentation":"

The identifiers that match the query selectors.

" - }, - "marker":{ - "shape":"string", - "documentation":"

The starting point for the next page of results. To view the next page of results, call QueryObjects again with this marker value. If the value is null, there are no more results.

" - }, - "hasMoreResults":{ - "shape":"boolean", - "documentation":"

Indicates whether there are more results that can be obtained by a subsequent call.

" - } - }, - "documentation":"

Contains the output of QueryObjects.

" - }, - "RemoveTagsInput":{ - "type":"structure", - "required":[ - "pipelineId", - "tagKeys" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "tagKeys":{ - "shape":"stringList", - "documentation":"

The keys of the tags to remove.

" - } - }, - "documentation":"

Contains the parameters for RemoveTags.

" - }, - "RemoveTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of RemoveTags.

" - }, - "ReportTaskProgressInput":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"taskId", - "documentation":"

The ID of the task assigned to the task runner. This value is provided in the response for PollForTask.

" - }, - "fields":{ - "shape":"fieldList", - "documentation":"

Key-value pairs that define the properties of the ReportTaskProgressInput object.

" - } - }, - "documentation":"

Contains the parameters for ReportTaskProgress.

" - }, - "ReportTaskProgressOutput":{ - "type":"structure", - "required":["canceled"], - "members":{ - "canceled":{ - "shape":"boolean", - "documentation":"

If true, the calling task runner should cancel processing of the task. The task runner does not need to call SetTaskStatus for canceled tasks.

" - } - }, - "documentation":"

Contains the output of ReportTaskProgress.

" - }, - "ReportTaskRunnerHeartbeatInput":{ - "type":"structure", - "required":["taskrunnerId"], - "members":{ - "taskrunnerId":{ - "shape":"id", - "documentation":"

The ID of the task runner. This value should be unique across your AWS account. In the case of AWS Data Pipeline Task Runner launched on a resource managed by AWS Data Pipeline, the web service provides a unique identifier when it launches the application. If you have written a custom task runner, you should assign a unique identifier for the task runner.

" - }, - "workerGroup":{ - "shape":"string", - "documentation":"

The type of task the task runner is configured to accept and process. The worker group is set as a field on objects in the pipeline when they are created. You can only specify a single value for workerGroup. There are no wildcard values permitted in workerGroup; the string must be an exact, case-sensitive, match.

" - }, - "hostname":{ - "shape":"id", - "documentation":"

The public DNS name of the task runner.

" - } - }, - "documentation":"

Contains the parameters for ReportTaskRunnerHeartbeat.

" - }, - "ReportTaskRunnerHeartbeatOutput":{ - "type":"structure", - "required":["terminate"], - "members":{ - "terminate":{ - "shape":"boolean", - "documentation":"

Indicates whether the calling task runner should terminate.

" - } - }, - "documentation":"

Contains the output of ReportTaskRunnerHeartbeat.

" - }, - "Selector":{ - "type":"structure", - "members":{ - "fieldName":{ - "shape":"string", - "documentation":"

The name of the field that the operator will be applied to. The field name is the \"key\" portion of the field definition in the pipeline definition syntax that is used by the AWS Data Pipeline API. If the field is not set on the object, the condition fails.

" - }, - "operator":{"shape":"Operator"} - }, - "documentation":"

A comparision that is used to determine whether a query should return this object.

" - }, - "SelectorList":{ - "type":"list", - "member":{"shape":"Selector"}, - "documentation":"

The list of Selectors that define queries on individual fields.

" - }, - "SetStatusInput":{ - "type":"structure", - "required":[ - "pipelineId", - "objectIds", - "status" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline that contains the objects.

" - }, - "objectIds":{ - "shape":"idList", - "documentation":"

The IDs of the objects. The corresponding objects can be either physical or components, but not a mix of both types.

" - }, - "status":{ - "shape":"string", - "documentation":"

The status to be set on all the objects specified in objectIds. For components, use PAUSE or RESUME. For instances, use TRY_CANCEL, RERUN, or MARK_FINISHED.

" - } - }, - "documentation":"

Contains the parameters for SetStatus.

" - }, - "SetTaskStatusInput":{ - "type":"structure", - "required":[ - "taskId", - "taskStatus" - ], - "members":{ - "taskId":{ - "shape":"taskId", - "documentation":"

The ID of the task assigned to the task runner. This value is provided in the response for PollForTask.

" - }, - "taskStatus":{ - "shape":"TaskStatus", - "documentation":"

If FINISHED, the task successfully completed. If FAILED, the task ended unsuccessfully. Preconditions use false.

" - }, - "errorId":{ - "shape":"string", - "documentation":"

If an error occurred during the task, this value specifies the error code. This value is set on the physical attempt object. It is used to display error information to the user. It should not start with string \"Service_\" which is reserved by the system.

" - }, - "errorMessage":{ - "shape":"errorMessage", - "documentation":"

If an error occurred during the task, this value specifies a text description of the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

" - }, - "errorStackTrace":{ - "shape":"string", - "documentation":"

If an error occurred during the task, this value specifies the stack trace associated with the error. This value is set on the physical attempt object. It is used to display error information to the user. The web service does not parse this value.

" - } - }, - "documentation":"

Contains the parameters for SetTaskStatus.

" - }, - "SetTaskStatusOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of SetTaskStatus.

" - }, - "Tag":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"tagKey", - "documentation":"

The key name of a tag defined by a user. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

" - }, - "value":{ - "shape":"tagValue", - "documentation":"

The optional value portion of a tag defined by a user. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

" - } - }, - "documentation":"

Tags are key/value pairs defined by a user and associated with a pipeline to control access. AWS Data Pipeline allows you to associate ten tags per pipeline. For more information, see Controlling User Access to Pipelines in the AWS Data Pipeline Developer Guide.

" - }, - "TaskNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Description of the error message.

" - } - }, - "exception":true, - "documentation":"

The specified task was not found.

" - }, - "TaskObject":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"taskId", - "documentation":"

An internal identifier for the task. This ID is passed to the SetTaskStatus and ReportTaskProgress actions.

" - }, - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline that provided the task.

" - }, - "attemptId":{ - "shape":"id", - "documentation":"

The ID of the pipeline task attempt object. AWS Data Pipeline uses this value to track how many times a task is attempted.

" - }, - "objects":{ - "shape":"PipelineObjectMap", - "documentation":"

Connection information for the location where the task runner will publish the output of the task.

" - } - }, - "documentation":"

Contains information about a pipeline task that is assigned to a task runner.

" - }, - "TaskStatus":{ - "type":"string", - "enum":[ - "FINISHED", - "FAILED", - "FALSE" - ] - }, - "ValidatePipelineDefinitionInput":{ - "type":"structure", - "required":[ - "pipelineId", - "pipelineObjects" - ], - "members":{ - "pipelineId":{ - "shape":"id", - "documentation":"

The ID of the pipeline.

" - }, - "pipelineObjects":{ - "shape":"PipelineObjectList", - "documentation":"

The objects that define the pipeline changes to validate against the pipeline.

" - }, - "parameterObjects":{ - "shape":"ParameterObjectList", - "documentation":"

The parameter objects used with the pipeline.

" - }, - "parameterValues":{ - "shape":"ParameterValueList", - "documentation":"

The parameter values used with the pipeline.

" - } - }, - "documentation":"

Contains the parameters for ValidatePipelineDefinition.

" - }, - "ValidatePipelineDefinitionOutput":{ - "type":"structure", - "required":["errored"], - "members":{ - "validationErrors":{ - "shape":"ValidationErrors", - "documentation":"

Any validation errors that were found.

" - }, - "validationWarnings":{ - "shape":"ValidationWarnings", - "documentation":"

Any validation warnings that were found.

" - }, - "errored":{ - "shape":"boolean", - "documentation":"

Indicates whether there were validation errors.

" - } - }, - "documentation":"

Contains the output of ValidatePipelineDefinition.

" - }, - "ValidationError":{ - "type":"structure", - "members":{ - "id":{ - "shape":"id", - "documentation":"

The identifier of the object that contains the validation error.

" - }, - "errors":{ - "shape":"validationMessages", - "documentation":"

A description of the validation error.

" - } - }, - "documentation":"

Defines a validation error. Validation errors prevent pipeline activation. The set of validation errors that can be returned are defined by AWS Data Pipeline.

" - }, - "ValidationErrors":{ - "type":"list", - "member":{"shape":"ValidationError"} - }, - "ValidationWarning":{ - "type":"structure", - "members":{ - "id":{ - "shape":"id", - "documentation":"

The identifier of the object that contains the validation warning.

" - }, - "warnings":{ - "shape":"validationMessages", - "documentation":"

A description of the validation warning.

" - } - }, - "documentation":"

Defines a validation warning. Validation warnings do not prevent pipeline activation. The set of validation warnings that can be returned are defined by AWS Data Pipeline.

" - }, - "ValidationWarnings":{ - "type":"list", - "member":{"shape":"ValidationWarning"} - }, - "attributeNameString":{ - "type":"string", - "min":1, - "max":256, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "attributeValueString":{ - "type":"string", - "min":0, - "max":10240, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "boolean":{"type":"boolean"}, - "cancelActive":{"type":"boolean"}, - "errorMessage":{"type":"string"}, - "fieldList":{ - "type":"list", - "member":{"shape":"Field"} - }, - "fieldNameString":{ - "type":"string", - "min":1, - "max":256, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "fieldStringValue":{ - "type":"string", - "min":0, - "max":10240, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "id":{ - "type":"string", - "min":1, - "max":1024, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "idList":{ - "type":"list", - "member":{"shape":"id"} - }, - "int":{"type":"integer"}, - "longString":{ - "type":"string", - "min":0, - "max":20971520, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "pipelineList":{ - "type":"list", - "member":{"shape":"PipelineIdName"} - }, - "string":{ - "type":"string", - "min":0, - "max":1024, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "stringList":{ - "type":"list", - "member":{"shape":"string"} - }, - "tagKey":{ - "type":"string", - "min":1, - "max":128 - }, - "tagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "min":0, - "max":10 - }, - "tagValue":{ - "type":"string", - "min":0, - "max":256 - }, - "taskId":{ - "type":"string", - "min":1, - "max":2048, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "timestamp":{"type":"timestamp"}, - "validationMessage":{ - "type":"string", - "min":0, - "max":10000, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "validationMessages":{ - "type":"list", - "member":{"shape":"validationMessage"} - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/service-2.json deleted file mode 100644 index 588e9f46..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dax/2017-04-19/service-2.json +++ /dev/null @@ -1,1683 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-04-19", - "endpointPrefix":"dax", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon DAX", - "serviceFullName":"Amazon DynamoDB Accelerator (DAX)", - "serviceId":"DAX", - "signatureVersion":"v4", - "targetPrefix":"AmazonDAXV3", - "uid":"dax-2017-04-19" - }, - "operations":{ - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterRequest"}, - "output":{"shape":"CreateClusterResponse"}, - "errors":[ - {"shape":"ClusterAlreadyExistsFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"SubnetGroupNotFoundFault"}, - {"shape":"InvalidParameterGroupStateFault"}, - {"shape":"ParameterGroupNotFoundFault"}, - {"shape":"ClusterQuotaForCustomerExceededFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"TagQuotaPerResourceExceeded"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a DAX cluster. All nodes in the cluster run the same DAX caching software.

" - }, - "CreateParameterGroup":{ - "name":"CreateParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateParameterGroupRequest"}, - "output":{"shape":"CreateParameterGroupResponse"}, - "errors":[ - {"shape":"ParameterGroupQuotaExceededFault"}, - {"shape":"ParameterGroupAlreadyExistsFault"}, - {"shape":"InvalidParameterGroupStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a new parameter group. A parameter group is a collection of parameters that you apply to all of the nodes in a DAX cluster.

" - }, - "CreateSubnetGroup":{ - "name":"CreateSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetGroupRequest"}, - "output":{"shape":"CreateSubnetGroupResponse"}, - "errors":[ - {"shape":"SubnetGroupAlreadyExistsFault"}, - {"shape":"SubnetGroupQuotaExceededFault"}, - {"shape":"SubnetQuotaExceededFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"ServiceLinkedRoleNotFoundFault"} - ], - "documentation":"

Creates a new subnet group.

" - }, - "DecreaseReplicationFactor":{ - "name":"DecreaseReplicationFactor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DecreaseReplicationFactorRequest"}, - "output":{"shape":"DecreaseReplicationFactorResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"NodeNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Removes one or more nodes from a DAX cluster.

You cannot use DecreaseReplicationFactor to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster instead.

" - }, - "DeleteCluster":{ - "name":"DeleteCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterRequest"}, - "output":{"shape":"DeleteClusterResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated nodes, node endpoints and the DAX cluster itself. When you receive a successful response from this action, DAX immediately begins deleting the cluster; you cannot cancel or revert this action.

" - }, - "DeleteParameterGroup":{ - "name":"DeleteParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteParameterGroupRequest"}, - "output":{"shape":"DeleteParameterGroupResponse"}, - "errors":[ - {"shape":"InvalidParameterGroupStateFault"}, - {"shape":"ParameterGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any DAX clusters.

" - }, - "DeleteSubnetGroup":{ - "name":"DeleteSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetGroupRequest"}, - "output":{"shape":"DeleteSubnetGroupResponse"}, - "errors":[ - {"shape":"SubnetGroupInUseFault"}, - {"shape":"SubnetGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"} - ], - "documentation":"

Deletes a subnet group.

You cannot delete a subnet group if it is associated with any DAX clusters.

" - }, - "DescribeClusters":{ - "name":"DescribeClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClustersRequest"}, - "output":{"shape":"DescribeClustersResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns information about all provisioned DAX clusters if no cluster identifier is specified, or about a specific DAX cluster if a cluster identifier is supplied.

If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster level information will be displayed.

If nodes are currently being added to the DAX cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the DAX cluster state is available, the cluster is ready for use.

If nodes are currently being removed from the DAX cluster, no endpoint information for the removed nodes is displayed.

" - }, - "DescribeDefaultParameters":{ - "name":"DescribeDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDefaultParametersRequest"}, - "output":{"shape":"DescribeDefaultParametersResponse"}, - "errors":[ - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns the default system parameter information for the DAX caching software.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsRequest"}, - "output":{"shape":"DescribeEventsResponse"}, - "errors":[ - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns events related to DAX clusters and parameter groups. You can obtain events specific to a particular DAX cluster or parameter group by providing the name as a parameter.

By default, only the events occurring within the last 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":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns a list of parameter group descriptions. If a parameter group name is specified, the list will contain only the descriptions for that group.

" - }, - "DescribeParameters":{ - "name":"DescribeParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeParametersRequest"}, - "output":{"shape":"DescribeParametersResponse"}, - "errors":[ - {"shape":"ParameterGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns the detailed parameter list for a particular parameter group.

" - }, - "DescribeSubnetGroups":{ - "name":"DescribeSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetGroupsRequest"}, - "output":{"shape":"DescribeSubnetGroupsResponse"}, - "errors":[ - {"shape":"SubnetGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"} - ], - "documentation":"

Returns a list of subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

" - }, - "IncreaseReplicationFactor":{ - "name":"IncreaseReplicationFactor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IncreaseReplicationFactorRequest"}, - "output":{"shape":"IncreaseReplicationFactorResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Adds one or more nodes to a DAX cluster.

" - }, - "ListTags":{ - "name":"ListTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsRequest"}, - "output":{"shape":"ListTagsResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidARNFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

List all of the tags for a DAX cluster. You can call ListTags up to 10 times per second, per account.

" - }, - "RebootNode":{ - "name":"RebootNode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootNodeRequest"}, - "output":{"shape":"RebootNodeResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"NodeNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Reboots a single node of a DAX cluster. The reboot action takes place as soon as possible. During the reboot, the node status is set to REBOOTING.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"TagQuotaPerResourceExceeded"}, - {"shape":"InvalidARNFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Associates a set of tags with a DAX resource. You can call TagResource up to 5 times per second, per account.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidARNFault"}, - {"shape":"TagNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Removes the association of tags from a DAX resource. You can call UntagResource up to 5 times per second, per account.

" - }, - "UpdateCluster":{ - "name":"UpdateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateClusterRequest"}, - "output":{"shape":"UpdateClusterResponse"}, - "errors":[ - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidParameterGroupStateFault"}, - {"shape":"ParameterGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

" - }, - "UpdateParameterGroup":{ - "name":"UpdateParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateParameterGroupRequest"}, - "output":{"shape":"UpdateParameterGroupResponse"}, - "errors":[ - {"shape":"InvalidParameterGroupStateFault"}, - {"shape":"ParameterGroupNotFoundFault"}, - {"shape":"ServiceLinkedRoleNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" - }, - "UpdateSubnetGroup":{ - "name":"UpdateSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSubnetGroupRequest"}, - "output":{"shape":"UpdateSubnetGroupResponse"}, - "errors":[ - {"shape":"SubnetGroupNotFoundFault"}, - {"shape":"SubnetQuotaExceededFault"}, - {"shape":"SubnetInUse"}, - {"shape":"InvalidSubnet"}, - {"shape":"ServiceLinkedRoleNotFoundFault"} - ], - "documentation":"

Modifies an existing subnet group.

" - } - }, - "shapes":{ - "AvailabilityZoneList":{ - "type":"list", - "member":{"shape":"String"} - }, - "AwsQueryErrorMessage":{"type":"string"}, - "ChangeType":{ - "type":"string", - "enum":[ - "IMMEDIATE", - "REQUIRES_REBOOT" - ] - }, - "Cluster":{ - "type":"structure", - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The name of the DAX cluster.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the cluster.

" - }, - "ClusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" - }, - "TotalNodes":{ - "shape":"IntegerOptional", - "documentation":"

The total number of nodes in the cluster.

" - }, - "ActiveNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of nodes in the cluster that are active (i.e., capable of serving requests).

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

" - }, - "Status":{ - "shape":"String", - "documentation":"

The current status of the cluster.

" - }, - "ClusterDiscoveryEndpoint":{ - "shape":"Endpoint", - "documentation":"

The configuration endpoint for this DAX cluster, consisting of a DNS name and a port number. Client applications can specify this endpoint, rather than an individual node endpoint, and allow the DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" - }, - "NodeIdsToRemove":{ - "shape":"NodeIdentifierList", - "documentation":"

A list of nodes to be removed from the cluster.

" - }, - "Nodes":{ - "shape":"NodeList", - "documentation":"

A list of nodes that are currently in the cluster.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

" - }, - "NotificationConfiguration":{ - "shape":"NotificationConfiguration", - "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" - }, - "SubnetGroup":{ - "shape":"String", - "documentation":"

The subnet group where the DAX cluster is running.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroupMembershipList", - "documentation":"

A list of security groups, and the status of each, for the nodes in the cluster.

" - }, - "IamRoleArn":{ - "shape":"String", - "documentation":"

A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

" - }, - "ParameterGroup":{ - "shape":"ParameterGroupStatus", - "documentation":"

The parameter group being used by nodes in the cluster.

" - }, - "SSEDescription":{ - "shape":"SSEDescription", - "documentation":"

The description of the server-side encryption status on the specified DAX cluster.

" - } - }, - "documentation":"

Contains all of the attributes of a specific DAX cluster.

" - }, - "ClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You already have a DAX cluster with the given identifier.

", - "exception":true - }, - "ClusterList":{ - "type":"list", - "member":{"shape":"Cluster"} - }, - "ClusterNameList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cluster ID does not refer to an existing DAX cluster.

", - "exception":true - }, - "ClusterQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have attempted to exceed the maximum number of DAX clusters for your AWS account.

", - "exception":true - }, - "CreateClusterRequest":{ - "type":"structure", - "required":[ - "ClusterName", - "NodeType", - "ReplicationFactor", - "IamRoleArn" - ], - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the cluster.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the cluster.

" - }, - "ReplicationFactor":{ - "shape":"Integer", - "documentation":"

The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set ReplicationFactor to 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.

" - }, - "SSESpecification":{ - "shape":"SSESpecification", - "documentation":"

Represents the settings used to enable server-side encryption on the cluster.

" - } - } - }, - "CreateClusterResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

A description of the DAX cluster that you have created.

" - } - } - }, - "CreateParameterGroupRequest":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to apply to all of the clusters in this replication group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter group.

" - } - } - }, - "CreateParameterGroupResponse":{ - "type":"structure", - "members":{ - "ParameterGroup":{ - "shape":"ParameterGroup", - "documentation":"

Represents the output of a CreateParameterGroup action.

" - } - } - }, - "CreateSubnetGroupRequest":{ - "type":"structure", - "required":[ - "SubnetGroupName", - "SubnetIds" - ], - "members":{ - "SubnetGroupName":{ - "shape":"String", - "documentation":"

A name for the subnet group. This value is stored as a lowercase string.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the subnet group

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

A list of VPC subnet IDs for the subnet group.

" - } - } - }, - "CreateSubnetGroupResponse":{ - "type":"structure", - "members":{ - "SubnetGroup":{ - "shape":"SubnetGroup", - "documentation":"

Represents the output of a CreateSubnetGroup operation.

" - } - } - }, - "DecreaseReplicationFactorRequest":{ - "type":"structure", - "required":[ - "ClusterName", - "NewReplicationFactor" - ], - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The name of the DAX cluster from which you want to remove nodes.

" - }, - "NewReplicationFactor":{ - "shape":"Integer", - "documentation":"

The new number of nodes for the DAX cluster.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

The Availability Zone(s) from which to remove nodes.

" - }, - "NodeIdsToRemove":{ - "shape":"NodeIdentifierList", - "documentation":"

The unique identifiers of the nodes to be removed from the cluster.

" - } - } - }, - "DecreaseReplicationFactorResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

A description of the DAX cluster, after you have decreased its replication factor.

" - } - } - }, - "DeleteClusterRequest":{ - "type":"structure", - "required":["ClusterName"], - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The name of the cluster to be deleted.

" - } - } - }, - "DeleteClusterResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

A description of the DAX cluster that is being deleted.

" - } - } - }, - "DeleteParameterGroupRequest":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to delete.

" - } - } - }, - "DeleteParameterGroupResponse":{ - "type":"structure", - "members":{ - "DeletionMessage":{ - "shape":"String", - "documentation":"

A user-specified message for this action (i.e., a reason for deleting the parameter group).

" - } - } - }, - "DeleteSubnetGroupRequest":{ - "type":"structure", - "required":["SubnetGroupName"], - "members":{ - "SubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group to delete.

" - } - } - }, - "DeleteSubnetGroupResponse":{ - "type":"structure", - "members":{ - "DeletionMessage":{ - "shape":"String", - "documentation":"

A user-specified message for this action (i.e., a reason for deleting the subnet group).

" - } - } - }, - "DescribeClustersRequest":{ - "type":"structure", - "members":{ - "ClusterNames":{ - "shape":"ClusterNameList", - "documentation":"

The names of the DAX clusters being described.

" - }, - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeClustersResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Clusters":{ - "shape":"ClusterList", - "documentation":"

The descriptions of your DAX clusters, in response to a DescribeClusters request.

" - } - } - }, - "DescribeDefaultParametersRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeDefaultParametersResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParameterList", - "documentation":"

A list of parameters. Each element in the list represents one parameter.

" - } - } - }, - "DescribeEventsRequest":{ - "type":"structure", - "members":{ - "SourceName":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes' worth of events to retrieve.

" - }, - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeEventsResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

An array of events. Each element in the array represents one event.

" - } - } - }, - "DescribeParameterGroupsRequest":{ - "type":"structure", - "members":{ - "ParameterGroupNames":{ - "shape":"ParameterGroupNameList", - "documentation":"

The names of the parameter groups.

" - }, - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeParameterGroupsResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ParameterGroups":{ - "shape":"ParameterGroupList", - "documentation":"

An array of parameter groups. Each element in the array represents one parameter group.

" - } - } - }, - "DescribeParametersRequest":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group.

" - }, - "Source":{ - "shape":"String", - "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" - }, - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeParametersResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParameterList", - "documentation":"

A list of parameters within a parameter group. Each element in the list represents one parameter.

" - } - } - }, - "DescribeSubnetGroupsRequest":{ - "type":"structure", - "members":{ - "SubnetGroupNames":{ - "shape":"SubnetGroupNameList", - "documentation":"

The name of the subnet group.

" - }, - "MaxResults":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" - } - } - }, - "DescribeSubnetGroupsResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "SubnetGroups":{ - "shape":"SubnetGroupList", - "documentation":"

An array of subnet groups. Each element in the array represents a single subnet group.

" - } - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

The DNS hostname of the endpoint.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port number that applications should use to connect to the endpoint.

" - } - }, - "documentation":"

Represents the information required for client programs to connect to the configuration endpoint for a DAX cluster, or to an individual node within the cluster.

" - }, - "Event":{ - "type":"structure", - "members":{ - "SourceName":{ - "shape":"String", - "documentation":"

The source of the event. For example, if the event occurred at the node level, the source would be the node ID.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the origin of this event - a cluster, a parameter group, a node ID, etc.

" - }, - "Message":{ - "shape":"String", - "documentation":"

A user-defined message associated with the event.

" - }, - "Date":{ - "shape":"TStamp", - "documentation":"

The date and time when the event occurred.

" - } - }, - "documentation":"

Represents a single occurrence of something interesting within the system. Some examples of events are creating a DAX cluster, adding or removing a node, or rebooting a node.

" - }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"} - }, - "IncreaseReplicationFactorRequest":{ - "type":"structure", - "required":[ - "ClusterName", - "NewReplicationFactor" - ], - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The name of the DAX cluster that will receive additional nodes.

" - }, - "NewReplicationFactor":{ - "shape":"Integer", - "documentation":"

The new number of nodes for the DAX cluster.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs.

" - } - } - }, - "IncreaseReplicationFactorResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

A description of the DAX cluster. with its new replication factor.

" - } - } - }, - "InsufficientClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There are not enough system resources to create the cluster you requested (or to resize an already-existing cluster).

", - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidARNFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Amazon Resource Name (ARN) supplied in the request is not valid.

", - "exception":true - }, - "InvalidClusterStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested DAX cluster is not in the available state.

", - "exception":true - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - "message":{"shape":"AwsQueryErrorMessage"} - }, - "documentation":"

Two or more incompatible parameters were specified.

", - "exception":true, - "synthetic":true - }, - "InvalidParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more parameters in a parameter group are in an invalid state.

", - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{"shape":"AwsQueryErrorMessage"} - }, - "documentation":"

The value for a parameter is invalid.

", - "exception":true, - "synthetic":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid subnet identifier was specified.

", - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The VPC network is in an invalid state.

", - "exception":true - }, - "IsModifiable":{ - "type":"string", - "enum":[ - "TRUE", - "FALSE", - "CONDITIONAL" - ] - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsRequest":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The name of the DAX resource to which the tags belong.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token.

" - } - } - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags currently associated with the DAX cluster.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

If this value is present, there are additional results to be displayed. To retrieve them, call ListTags again, with NextToken set to this value.

" - } - } - }, - "Node":{ - "type":"structure", - "members":{ - "NodeId":{ - "shape":"String", - "documentation":"

A system-generated identifier for the node.

" - }, - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" - }, - "NodeCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time (in UNIX epoch format) when the node was launched.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone (AZ) in which the node has been deployed.

" - }, - "NodeStatus":{ - "shape":"String", - "documentation":"

The current status of the node. For example: available.

" - }, - "ParameterGroupStatus":{ - "shape":"String", - "documentation":"

The status of the parameter group associated with this node. For example, in-sync.

" - } - }, - "documentation":"

Represents an individual node within a DAX cluster.

" - }, - "NodeIdentifierList":{ - "type":"list", - "member":{"shape":"String"} - }, - "NodeList":{ - "type":"list", - "member":{"shape":"Node"} - }, - "NodeNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

None of the nodes in the cluster have the given node ID.

", - "exception":true - }, - "NodeQuotaForClusterExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have attempted to exceed the maximum number of nodes for a DAX cluster.

", - "exception":true - }, - "NodeQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have attempted to exceed the maximum number of nodes for your AWS account.

", - "exception":true - }, - "NodeTypeSpecificValue":{ - "type":"structure", - "members":{ - "NodeType":{ - "shape":"String", - "documentation":"

A node type to which the parameter value applies.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The parameter value for this node type.

" - } - }, - "documentation":"

Represents a parameter value that is applicable to a particular node type.

" - }, - "NodeTypeSpecificValueList":{ - "type":"list", - "member":{"shape":"NodeTypeSpecificValue"} - }, - "NotificationConfiguration":{ - "type":"structure", - "members":{ - "TopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that identifies the topic.

" - }, - "TopicStatus":{ - "shape":"String", - "documentation":"

The current state of the topic.

" - } - }, - "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterType":{ - "shape":"ParameterType", - "documentation":"

Determines whether the parameter can be applied to any nodes, or only nodes of a particular type.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value for the parameter.

" - }, - "NodeTypeSpecificValues":{ - "shape":"NodeTypeSpecificValueList", - "documentation":"

A list of node types, and specific parameter values for each node.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter

" - }, - "Source":{ - "shape":"String", - "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The data type of the parameter. For example, integer:

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

A range of values within which the parameter can be set.

" - }, - "IsModifiable":{ - "shape":"IsModifiable", - "documentation":"

Whether the customer is allowed to modify the parameter.

" - }, - "ChangeType":{ - "shape":"ChangeType", - "documentation":"

The conditions under which changes to this parameter can be applied. For example, requires-reboot indicates that a new value for this parameter will only take effect if a node is rebooted.

" - } - }, - "documentation":"

Describes an individual setting that controls some aspect of DAX behavior.

" - }, - "ParameterGroup":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter group.

" - } - }, - "documentation":"

A named set of parameters that are applied to all of the nodes in a DAX cluster.

" - }, - "ParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified parameter group already exists.

", - "exception":true - }, - "ParameterGroupList":{ - "type":"list", - "member":{"shape":"ParameterGroup"} - }, - "ParameterGroupNameList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified parameter group does not exist.

", - "exception":true - }, - "ParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have attempted to exceed the maximum number of parameter groups.

", - "exception":true - }, - "ParameterGroupStatus":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - }, - "NodeIdsToReboot":{ - "shape":"NodeIdentifierList", - "documentation":"

The node IDs of one or more nodes to be rebooted.

" - } - }, - "documentation":"

The status of a parameter group.

" - }, - "ParameterList":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "ParameterNameValue":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - } - }, - "documentation":"

An individual DAX parameter.

" - }, - "ParameterNameValueList":{ - "type":"list", - "member":{"shape":"ParameterNameValue"} - }, - "ParameterType":{ - "type":"string", - "enum":[ - "DEFAULT", - "NODE_TYPE_SPECIFIC" - ] - }, - "RebootNodeRequest":{ - "type":"structure", - "required":[ - "ClusterName", - "NodeId" - ], - "members":{ - "ClusterName":{ - "shape":"String", - "documentation":"

The name of the DAX cluster containing the node to be rebooted.

" - }, - "NodeId":{ - "shape":"String", - "documentation":"

The system-assigned ID of the node to be rebooted.

" - } - } - }, - "RebootNodeResponse":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

A description of the DAX cluster after a node has been rebooted.

" - } - } - }, - "SSEDescription":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SSEStatus", - "documentation":"

The current state of server-side encryption:

  • ENABLING - Server-side encryption is being enabled.

  • ENABLED - Server-side encryption is enabled.

  • DISABLING - Server-side encryption is being disabled.

  • DISABLED - Server-side encryption is disabled.

" - } - }, - "documentation":"

The description of the server-side encryption status on the specified DAX cluster.

" - }, - "SSEEnabled":{"type":"boolean"}, - "SSESpecification":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"SSEEnabled", - "documentation":"

Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.

" - } - }, - "documentation":"

Represents the settings used to enable server-side encryption.

" - }, - "SSEStatus":{ - "type":"string", - "enum":[ - "ENABLING", - "ENABLED", - "DISABLING", - "DISABLED" - ] - }, - "SecurityGroupIdentifierList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SecurityGroupMembership":{ - "type":"structure", - "members":{ - "SecurityGroupIdentifier":{ - "shape":"String", - "documentation":"

The unique ID for this security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of this security group.

" - } - }, - "documentation":"

An individual VPC security group and its status.

" - }, - "SecurityGroupMembershipList":{ - "type":"list", - "member":{"shape":"SecurityGroupMembership"} - }, - "ServiceLinkedRoleNotFoundFault":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "SourceType":{ - "type":"string", - "enum":[ - "CLUSTER", - "PARAMETER_GROUP", - "SUBNET_GROUP" - ] - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

The system-assigned identifier for the subnet.

" - }, - "SubnetAvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone (AZ) for 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/examples-1.json deleted file mode 100644 index 3b9063f8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/examples-1.json +++ /dev/null @@ -1,1242 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/paginators-1.json deleted file mode 100644 index 55ee7871..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/paginators-1.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "pagination": { - "ListArtifacts": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "artifacts" - }, - "ListDevicePools": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "devicePools" - }, - "ListDevices": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "devices" - }, - "ListJobs": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "jobs" - }, - "ListProjects": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "projects" - }, - "ListRuns": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "runs" - }, - "ListSamples": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "samples" - }, - "ListSuites": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "suites" - }, - "ListTests": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "tests" - }, - "ListUniqueProblems": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "uniqueProblems" - }, - "ListUploads": { - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/service-2.json deleted file mode 100644 index 6eeb0028..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/devicefarm/2015-06-23/service-2.json +++ /dev/null @@ -1,4681 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-06-23", - "endpointPrefix":"devicefarm", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Device Farm", - "serviceId":"Device Farm", - "signatureVersion":"v4", - "targetPrefix":"DeviceFarm_20150623", - "uid":"devicefarm-2015-06-23" - }, - "operations":{ - "CreateDevicePool":{ - "name":"CreateDevicePool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDevicePoolRequest"}, - "output":{"shape":"CreateDevicePoolResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Creates a device pool.

" - }, - "CreateInstanceProfile":{ - "name":"CreateInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceProfileRequest"}, - "output":{"shape":"CreateInstanceProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Creates a profile that can be applied to one or more private fleet device instances.

" - }, - "CreateNetworkProfile":{ - "name":"CreateNetworkProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkProfileRequest"}, - "output":{"shape":"CreateNetworkProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Creates a network profile.

" - }, - "CreateProject":{ - "name":"CreateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProjectRequest"}, - "output":{"shape":"CreateProjectResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Creates a new project.

" - }, - "CreateRemoteAccessSession":{ - "name":"CreateRemoteAccessSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRemoteAccessSessionRequest"}, - "output":{"shape":"CreateRemoteAccessSessionResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Specifies and starts a remote access session.

" - }, - "CreateUpload":{ - "name":"CreateUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUploadRequest"}, - "output":{"shape":"CreateUploadResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Uploads an app or test scripts.

" - }, - "CreateVPCEConfiguration":{ - "name":"CreateVPCEConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVPCEConfigurationRequest"}, - "output":{"shape":"CreateVPCEConfigurationResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint.

" - }, - "DeleteDevicePool":{ - "name":"DeleteDevicePool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDevicePoolRequest"}, - "output":{"shape":"DeleteDevicePoolResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

" - }, - "DeleteInstanceProfile":{ - "name":"DeleteInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInstanceProfileRequest"}, - "output":{"shape":"DeleteInstanceProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes a profile that can be applied to one or more private device instances.

" - }, - "DeleteNetworkProfile":{ - "name":"DeleteNetworkProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkProfileRequest"}, - "output":{"shape":"DeleteNetworkProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes a network profile.

" - }, - "DeleteProject":{ - "name":"DeleteProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProjectRequest"}, - "output":{"shape":"DeleteProjectResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes an AWS Device Farm project, given the project ARN.

Note Deleting this resource does not stop an in-progress run.

" - }, - "DeleteRemoteAccessSession":{ - "name":"DeleteRemoteAccessSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRemoteAccessSessionRequest"}, - "output":{"shape":"DeleteRemoteAccessSessionResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes a completed remote access session and its results.

" - }, - "DeleteRun":{ - "name":"DeleteRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRunRequest"}, - "output":{"shape":"DeleteRunResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes the run, given the run ARN.

Note Deleting this resource does not stop an in-progress run.

" - }, - "DeleteUpload":{ - "name":"DeleteUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUploadRequest"}, - "output":{"shape":"DeleteUploadResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Deletes an upload given the upload ARN.

" - }, - "DeleteVPCEConfiguration":{ - "name":"DeleteVPCEConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVPCEConfigurationRequest"}, - "output":{"shape":"DeleteVPCEConfigurationResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"ServiceAccountException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.

" - }, - "GetAccountSettings":{ - "name":"GetAccountSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAccountSettingsRequest"}, - "output":{"shape":"GetAccountSettingsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.

" - }, - "GetDevice":{ - "name":"GetDevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeviceRequest"}, - "output":{"shape":"GetDeviceResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a unique device type.

" - }, - "GetDeviceInstance":{ - "name":"GetDeviceInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeviceInstanceRequest"}, - "output":{"shape":"GetDeviceInstanceResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about a device instance belonging to a private device fleet.

" - }, - "GetDevicePool":{ - "name":"GetDevicePool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDevicePoolRequest"}, - "output":{"shape":"GetDevicePoolResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a device pool.

" - }, - "GetDevicePoolCompatibility":{ - "name":"GetDevicePoolCompatibility", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDevicePoolCompatibilityRequest"}, - "output":{"shape":"GetDevicePoolCompatibilityResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about compatibility with a device pool.

" - }, - "GetInstanceProfile":{ - "name":"GetInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceProfileRequest"}, - "output":{"shape":"GetInstanceProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about the specified instance profile.

" - }, - "GetJob":{ - "name":"GetJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobRequest"}, - "output":{"shape":"GetJobResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOfferingStatusRequest"}, - "output":{"shape":"GetOfferingStatusResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "GetProject":{ - "name":"GetProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetProjectRequest"}, - "output":{"shape":"GetProjectResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a project.

" - }, - "GetRemoteAccessSession":{ - "name":"GetRemoteAccessSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRemoteAccessSessionRequest"}, - "output":{"shape":"GetRemoteAccessSessionResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns a link to a currently running remote access session.

" - }, - "GetRun":{ - "name":"GetRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRunRequest"}, - "output":{"shape":"GetRunResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a run.

" - }, - "GetSuite":{ - "name":"GetSuite", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSuiteRequest"}, - "output":{"shape":"GetSuiteResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a suite.

" - }, - "GetTest":{ - "name":"GetTest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTestRequest"}, - "output":{"shape":"GetTestResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about a test.

" - }, - "GetUpload":{ - "name":"GetUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUploadRequest"}, - "output":{"shape":"GetUploadResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about an upload.

" - }, - "GetVPCEConfiguration":{ - "name":"GetVPCEConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetVPCEConfigurationRequest"}, - "output":{"shape":"GetVPCEConfigurationResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about the configuration settings for your Amazon Virtual Private Cloud (VPC) endpoint.

" - }, - "InstallToRemoteAccessSession":{ - "name":"InstallToRemoteAccessSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"InstallToRemoteAccessSessionRequest"}, - "output":{"shape":"InstallToRemoteAccessSessionResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Installs an application to the device in a remote access session. For Android applications, the file must be in .apk format. For iOS applications, the file must be in .ipa format.

" - }, - "ListArtifacts":{ - "name":"ListArtifacts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListArtifactsRequest"}, - "output":{"shape":"ListArtifactsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about artifacts.

" - }, - "ListDeviceInstances":{ - "name":"ListDeviceInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeviceInstancesRequest"}, - "output":{"shape":"ListDeviceInstancesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about the private device instances associated with one or more AWS accounts.

" - }, - "ListDevicePools":{ - "name":"ListDevicePools", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDevicePoolsRequest"}, - "output":{"shape":"ListDevicePoolsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about device pools.

" - }, - "ListDevices":{ - "name":"ListDevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDevicesRequest"}, - "output":{"shape":"ListDevicesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about unique device types.

" - }, - "ListInstanceProfiles":{ - "name":"ListInstanceProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstanceProfilesRequest"}, - "output":{"shape":"ListInstanceProfilesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about all the instance profiles in an AWS account.

" - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListJobsRequest"}, - "output":{"shape":"ListJobsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about jobs for a given test run.

" - }, - "ListNetworkProfiles":{ - "name":"ListNetworkProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListNetworkProfilesRequest"}, - "output":{"shape":"ListNetworkProfilesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns the list of available network profiles.

" - }, - "ListOfferingPromotions":{ - "name":"ListOfferingPromotions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOfferingPromotionsRequest"}, - "output":{"shape":"ListOfferingPromotionsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a NotEligible error if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "ListOfferingTransactions":{ - "name":"ListOfferingTransactions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOfferingTransactionsRequest"}, - "output":{"shape":"ListOfferingTransactionsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "ListOfferings":{ - "name":"ListOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOfferingsRequest"}, - "output":{"shape":"ListOfferingsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "ListProjects":{ - "name":"ListProjects", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProjectsRequest"}, - "output":{"shape":"ListProjectsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about projects.

" - }, - "ListRemoteAccessSessions":{ - "name":"ListRemoteAccessSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRemoteAccessSessionsRequest"}, - "output":{"shape":"ListRemoteAccessSessionsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns a list of all currently running remote access sessions.

" - }, - "ListRuns":{ - "name":"ListRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRunsRequest"}, - "output":{"shape":"ListRunsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about runs, given an AWS Device Farm project ARN.

" - }, - "ListSamples":{ - "name":"ListSamples", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSamplesRequest"}, - "output":{"shape":"ListSamplesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about samples, given an AWS Device Farm project ARN

" - }, - "ListSuites":{ - "name":"ListSuites", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSuitesRequest"}, - "output":{"shape":"ListSuitesResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about test suites for a given job.

" - }, - "ListTests":{ - "name":"ListTests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTestsRequest"}, - "output":{"shape":"ListTestsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about tests in a given test suite.

" - }, - "ListUniqueProblems":{ - "name":"ListUniqueProblems", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUniqueProblemsRequest"}, - "output":{"shape":"ListUniqueProblemsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about unique problems.

" - }, - "ListUploads":{ - "name":"ListUploads", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUploadsRequest"}, - "output":{"shape":"ListUploadsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Gets information about uploads, given an AWS Device Farm project ARN.

" - }, - "ListVPCEConfigurations":{ - "name":"ListVPCEConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVPCEConfigurationsRequest"}, - "output":{"shape":"ListVPCEConfigurationsResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Returns information about all Amazon Virtual Private Cloud (VPC) endpoint configurations in the AWS account.

" - }, - "PurchaseOffering":{ - "name":"PurchaseOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseOfferingRequest"}, - "output":{"shape":"PurchaseOfferingResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "RenewOffering":{ - "name":"RenewOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RenewOfferingRequest"}, - "output":{"shape":"RenewOfferingResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"NotEligibleException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" - }, - "ScheduleRun":{ - "name":"ScheduleRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScheduleRunRequest"}, - "output":{"shape":"ScheduleRunResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"IdempotencyException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Schedules a run.

" - }, - "StopJob":{ - "name":"StopJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopJobRequest"}, - "output":{"shape":"StopJobResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Initiates a stop request for the current job. AWS Device Farm will immediately stop the job on the device where tests have not started executing, and you will not be billed for this device. On the device where tests have started executing, Setup Suite and Teardown Suite tests will run to completion before stopping execution on the device. You will be billed for Setup, Teardown, and any tests that were in progress or already completed.

" - }, - "StopRemoteAccessSession":{ - "name":"StopRemoteAccessSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopRemoteAccessSessionRequest"}, - "output":{"shape":"StopRemoteAccessSessionResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Ends a specified remote access session.

" - }, - "StopRun":{ - "name":"StopRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopRunRequest"}, - "output":{"shape":"StopRunResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Initiates a stop request for the current test run. AWS Device Farm will immediately stop the run on devices where tests have not started executing, and you will not be billed for these devices. On devices where tests have started executing, Setup Suite and Teardown Suite tests will run to completion before stopping execution on those devices. You will be billed for Setup, Teardown, and any tests that were in progress or already completed.

" - }, - "UpdateDeviceInstance":{ - "name":"UpdateDeviceInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDeviceInstanceRequest"}, - "output":{"shape":"UpdateDeviceInstanceResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Updates information about an existing private device instance.

" - }, - "UpdateDevicePool":{ - "name":"UpdateDevicePool", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDevicePoolRequest"}, - "output":{"shape":"UpdateDevicePoolResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Modifies the name, description, and rules in a device pool given the attributes and the pool ARN. Rule updates are all-or-nothing, meaning they can only be updated as a whole (or not at all).

" - }, - "UpdateInstanceProfile":{ - "name":"UpdateInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateInstanceProfileRequest"}, - "output":{"shape":"UpdateInstanceProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Updates information about an existing private device instance profile.

" - }, - "UpdateNetworkProfile":{ - "name":"UpdateNetworkProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNetworkProfileRequest"}, - "output":{"shape":"UpdateNetworkProfileResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Updates the network profile with specific settings.

" - }, - "UpdateProject":{ - "name":"UpdateProject", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProjectRequest"}, - "output":{"shape":"UpdateProjectResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Modifies the specified project name, given the project ARN and a new name.

" - }, - "UpdateUpload":{ - "name":"UpdateUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUploadRequest"}, - "output":{"shape":"UpdateUploadResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} - ], - "documentation":"

Update an uploaded test specification (test spec).

" - }, - "UpdateVPCEConfiguration":{ - "name":"UpdateVPCEConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateVPCEConfigurationRequest"}, - "output":{"shape":"UpdateVPCEConfigurationResult"}, - "errors":[ - {"shape":"ArgumentException"}, - {"shape":"NotFoundException"}, - {"shape":"ServiceAccountException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Updates information about an existing Amazon Virtual Private Cloud (VPC) endpoint configuration.

" - } - }, - "shapes":{ - "AWSAccountNumber":{ - "type":"string", - "max":16, - "min":2 - }, - "AccountSettings":{ - "type":"structure", - "members":{ - "awsAccountNumber":{ - "shape":"AWSAccountNumber", - "documentation":"

The AWS account number specified in the AccountSettings container.

" - }, - "unmeteredDevices":{ - "shape":"PurchasedDevicesMap", - "documentation":"

Returns the unmetered devices you have purchased or want to purchase.

" - }, - "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.

" - }, - "skipAppResign":{ - "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs.

" - } - }, - "documentation":"

A container for account-level settings within AWS Device Farm.

" - }, - "AccountsCleanup":{"type":"boolean"}, - "AmazonResourceName":{ - "type":"string", - "min":32 - }, - "AmazonResourceNames":{ - "type":"list", - "member":{"shape":"AmazonResourceName"} - }, - "AndroidPaths":{ - "type":"list", - "member":{"shape":"String"} - }, - "AppPackagesCleanup":{"type":"boolean"}, - "ArgumentException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } - }, - "documentation":"

An invalid argument was specified.

", - "exception":true - }, - "Artifact":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The artifact's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The artifact's name.

" - }, - "type":{ - "shape":"ArtifactType", - "documentation":"

The artifact's type.

Allowed values include the following:

  • UNKNOWN: An unknown type.

  • SCREENSHOT: The screenshot type.

  • DEVICE_LOG: The device log type.

  • MESSAGE_LOG: The message log type.

  • RESULT_LOG: The result log type.

  • SERVICE_LOG: The service log type.

  • WEBKIT_LOG: The web kit log type.

  • INSTRUMENTATION_OUTPUT: The instrumentation type.

  • EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.

  • CALABASH_JSON_OUTPUT: The Calabash JSON output type.

  • CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.

  • CALABASH_STANDARD_OUTPUT: The Calabash standard output type.

  • CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.

  • AUTOMATION_OUTPUT: The automation output type.

  • APPIUM_SERVER_OUTPUT: The Appium server output type.

  • APPIUM_JAVA_OUTPUT: The Appium Java output type.

  • APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.

  • APPIUM_PYTHON_OUTPUT: The Appium Python output type.

  • APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.

  • EXPLORER_EVENT_LOG: The Explorer event log output type.

  • EXPLORER_SUMMARY_LOG: The Explorer summary log output type.

  • APPLICATION_CRASH_REPORT: The application crash report output type.

  • XCTEST_LOG: The XCode test output type.

" - }, - "extension":{ - "shape":"String", - "documentation":"

The artifact's file extension.

" - }, - "url":{ - "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.

" - } - }, - "documentation":"

Represents the output of a test. Examples of artifacts include logs and screenshots.

" - }, - "ArtifactCategory":{ - "type":"string", - "enum":[ - "SCREENSHOT", - "FILE", - "LOG" - ] - }, - "ArtifactType":{ - "type":"string", - "enum":[ - "UNKNOWN", - "SCREENSHOT", - "DEVICE_LOG", - "MESSAGE_LOG", - "VIDEO_LOG", - "RESULT_LOG", - "SERVICE_LOG", - "WEBKIT_LOG", - "INSTRUMENTATION_OUTPUT", - "EXERCISER_MONKEY_OUTPUT", - "CALABASH_JSON_OUTPUT", - "CALABASH_PRETTY_OUTPUT", - "CALABASH_STANDARD_OUTPUT", - "CALABASH_JAVA_XML_OUTPUT", - "AUTOMATION_OUTPUT", - "APPIUM_SERVER_OUTPUT", - "APPIUM_JAVA_OUTPUT", - "APPIUM_JAVA_XML_OUTPUT", - "APPIUM_PYTHON_OUTPUT", - "APPIUM_PYTHON_XML_OUTPUT", - "EXPLORER_EVENT_LOG", - "EXPLORER_SUMMARY_LOG", - "APPLICATION_CRASH_REPORT", - "XCTEST_LOG", - "VIDEO", - "CUSTOMER_ARTIFACT", - "CUSTOMER_ARTIFACT_LOG", - "TESTSPEC_OUTPUT" - ] - }, - "Artifacts":{ - "type":"list", - "member":{"shape":"Artifact"} - }, - "BillingMethod":{ - "type":"string", - "enum":[ - "METERED", - "UNMETERED" - ] - }, - "Boolean":{"type":"boolean"}, - "CPU":{ - "type":"structure", - "members":{ - "frequency":{ - "shape":"String", - "documentation":"

The CPU's frequency.

" - }, - "architecture":{ - "shape":"String", - "documentation":"

The CPU's architecture, for example x86 or ARM.

" - }, - "clock":{ - "shape":"Double", - "documentation":"

The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.

" - } - }, - "documentation":"

Represents the amount of CPU that an app is using on a physical device.

Note that this does not represent system-wide CPU usage.

" - }, - "ClientId":{ - "type":"string", - "max":64, - "min":0 - }, - "ContentType":{ - "type":"string", - "max":64, - "min":0 - }, - "Counters":{ - "type":"structure", - "members":{ - "total":{ - "shape":"Integer", - "documentation":"

The total number of entities.

" - }, - "passed":{ - "shape":"Integer", - "documentation":"

The number of passed entities.

" - }, - "failed":{ - "shape":"Integer", - "documentation":"

The number of failed entities.

" - }, - "warned":{ - "shape":"Integer", - "documentation":"

The number of warned entities.

" - }, - "errored":{ - "shape":"Integer", - "documentation":"

The number of errored entities.

" - }, - "stopped":{ - "shape":"Integer", - "documentation":"

The number of stopped entities.

" - }, - "skipped":{ - "shape":"Integer", - "documentation":"

The number of skipped entities.

" - } - }, - "documentation":"

Represents entity counters.

" - }, - "CreateDevicePoolRequest":{ - "type":"structure", - "required":[ - "projectArn", - "name", - "rules" - ], - "members":{ - "projectArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the project for the device pool.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The device pool's name.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The device pool's description.

" - }, - "rules":{ - "shape":"Rules", - "documentation":"

The device pool's rules.

" - } - }, - "documentation":"

Represents a request to the create device pool operation.

" - }, - "CreateDevicePoolResult":{ - "type":"structure", - "members":{ - "devicePool":{ - "shape":"DevicePool", - "documentation":"

The newly created device pool.

" - } - }, - "documentation":"

Represents the result of a create device pool request.

" - }, - "CreateInstanceProfileRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of your instance profile.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The description of your instance profile.

" - }, - "packageCleanup":{ - "shape":"Boolean", - "documentation":"

When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices.

" - }, - "excludeAppPackagesFromCleanup":{ - "shape":"PackageIds", - "documentation":"

An array of strings specifying the list of app packages that should not be cleaned up from the device after a test run is over.

The list of packages is only considered if you set packageCleanup to true.

" - }, - "rebootAfterUse":{ - "shape":"Boolean", - "documentation":"

When set to true, Device Farm will reboot the instance after a test run. The default value is true.

" - } - } - }, - "CreateInstanceProfileResult":{ - "type":"structure", - "members":{ - "instanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

An object containing information about your instance profile.

" - } - } - }, - "CreateNetworkProfileRequest":{ - "type":"structure", - "required":[ - "projectArn", - "name" - ], - "members":{ - "projectArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to create a network profile.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name 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"], - "members":{ - "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.

" - }, - "CreateProjectResult":{ - "type":"structure", - "members":{ - "project":{ - "shape":"Project", - "documentation":"

The newly created project.

" - } - }, - "documentation":"

Represents the result of a create project request.

" - }, - "CreateRemoteAccessSessionConfiguration":{ - "type":"structure", - "members":{ - "billingMethod":{ - "shape":"BillingMethod", - "documentation":"

The billing method for the remote access session.

" - }, - "vpceConfigurationArns":{ - "shape":"AmazonResourceNames", - "documentation":"

An array of Amazon Resource Names (ARNs) included in the VPC endpoint configuration.

" - } - }, - "documentation":"

Configuration settings for a remote access session, including billing method.

" - }, - "CreateRemoteAccessSessionRequest":{ - "type":"structure", - "required":[ - "projectArn", - "deviceArn" - ], - "members":{ - "projectArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to create a remote access session.

" - }, - "deviceArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device for which you want to create a remote access session.

" - }, - "instanceArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.

" - }, - "sshPublicKey":{ - "shape":"SshPublicKey", - "documentation":"

The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This is only required if remoteDebugEnabled is set to true.

" - }, - "remoteDebugEnabled":{ - "shape":"Boolean", - "documentation":"

Set to true if you want to access devices remotely for debugging in your remote access session.

" - }, - "remoteRecordEnabled":{ - "shape":"Boolean", - "documentation":"

Set to true to enable remote recording for the remote access session.

" - }, - "remoteRecordAppArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the remote access session that you wish to create.

" - }, - "clientId":{ - "shape":"ClientId", - "documentation":"

Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This is required only if remoteDebugEnabled is set to true.

" - }, - "configuration":{ - "shape":"CreateRemoteAccessSessionConfiguration", - "documentation":"

The configuration information for the remote access session request.

" - }, - "interactionMode":{ - "shape":"InteractionMode", - "documentation":"

The interaction mode of the remote access session. Valid values are:

  • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

  • NO_VIDEO: You are connected to the device but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

  • VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

" - }, - "skipAppResign":{ - "shape":"Boolean", - "documentation":"

When set to true, for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs.

" - } - }, - "documentation":"

Creates and submits a request to start a remote access session.

" - }, - "CreateRemoteAccessSessionResult":{ - "type":"structure", - "members":{ - "remoteAccessSession":{ - "shape":"RemoteAccessSession", - "documentation":"

A container that describes the remote access session when the request to create a remote access session is sent.

" - } - }, - "documentation":"

Represents the server response from a request to create a remote access session.

" - }, - "CreateUploadRequest":{ - "type":"structure", - "required":[ - "projectArn", - "name", - "type" - ], - "members":{ - "projectArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the project for the upload.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The upload's file name. The name should not contain the '/' character. If uploading an iOS app, the file name needs to end with the .ipa extension. If uploading an Android app, the file name needs to end with the .apk extension. For all others, the file name must end with the .zip file extension.

" - }, - "type":{ - "shape":"UploadType", - "documentation":"

The upload's upload type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web application upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

" - }, - "contentType":{ - "shape":"ContentType", - "documentation":"

The upload's content type (for example, \"application/octet-stream\").

" - } - }, - "documentation":"

Represents a request to the create upload operation.

" - }, - "CreateUploadResult":{ - "type":"structure", - "members":{ - "upload":{ - "shape":"Upload", - "documentation":"

The newly created upload.

" - } - }, - "documentation":"

Represents the result of a create upload request.

" - }, - "CreateVPCEConfigurationRequest":{ - "type":"structure", - "required":[ - "vpceConfigurationName", - "vpceServiceName", - "serviceDnsName" - ], - "members":{ - "vpceConfigurationName":{ - "shape":"VPCEConfigurationName", - "documentation":"

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

" - }, - "vpceServiceName":{ - "shape":"VPCEServiceName", - "documentation":"

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

" - }, - "serviceDnsName":{ - "shape":"ServiceDnsName", - "documentation":"

The DNS name of the service running in your VPC that you want Device Farm to test.

" - }, - "vpceConfigurationDescription":{ - "shape":"VPCEConfigurationDescription", - "documentation":"

An optional description, providing more details about your VPC endpoint configuration.

" - } - } - }, - "CreateVPCEConfigurationResult":{ - "type":"structure", - "members":{ - "vpceConfiguration":{ - "shape":"VPCEConfiguration", - "documentation":"

An object containing information about your VPC endpoint configuration.

" - } - } - }, - "CurrencyCode":{ - "type":"string", - "enum":["USD"] - }, - "CustomerArtifactPaths":{ - "type":"structure", - "members":{ - "iosPaths":{ - "shape":"IosPaths", - "documentation":"

Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests will be pulled from.

" - }, - "androidPaths":{ - "shape":"AndroidPaths", - "documentation":"

Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests will be pulled from.

" - }, - "deviceHostPaths":{ - "shape":"DeviceHostPaths", - "documentation":"

Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests will be pulled from.

" - } - }, - "documentation":"

A JSON object specifying the paths where the artifacts generated by the customer's tests, on the device or in the test environment, will be pulled from.

Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.

For web app tests, you can specify both iosPaths and androidPaths.

" - }, - "DateTime":{"type":"timestamp"}, - "DeleteDevicePoolRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete.

" - } - }, - "documentation":"

Represents a request to the delete device pool operation.

" - }, - "DeleteDevicePoolResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the result of a delete device pool request.

" - }, - "DeleteInstanceProfileRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile you are requesting to delete.

" - } - } - }, - "DeleteInstanceProfileResult":{ - "type":"structure", - "members":{ - } - }, - "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"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete.

" - } - }, - "documentation":"

Represents a request to the delete project operation.

" - }, - "DeleteProjectResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the result of a delete project request.

" - }, - "DeleteRemoteAccessSessionRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access.

" - } - }, - "documentation":"

Represents the request to delete the specified remote access session.

" - }, - "DeleteRemoteAccessSessionResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response from the server when a request is made to delete the remote access session.

" - }, - "DeleteRunRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) for the run you wish to delete.

" - } - }, - "documentation":"

Represents a request to the delete run operation.

" - }, - "DeleteRunResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the result of a delete run request.

" - }, - "DeleteUploadRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete.

" - } - }, - "documentation":"

Represents a request to the delete upload operation.

" - }, - "DeleteUploadResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the result of a delete upload request.

" - }, - "DeleteVPCEConfigurationRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete.

" - } - } - }, - "DeleteVPCEConfigurationResult":{ - "type":"structure", - "members":{ - } - }, - "Device":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The device's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The device's display name.

" - }, - "manufacturer":{ - "shape":"String", - "documentation":"

The device's manufacturer name.

" - }, - "model":{ - "shape":"String", - "documentation":"

The device's model name.

" - }, - "modelId":{ - "shape":"String", - "documentation":"

The device's model ID.

" - }, - "formFactor":{ - "shape":"DeviceFormFactor", - "documentation":"

The device's form factor.

Allowed values include:

  • PHONE: The phone form factor.

  • TABLET: The tablet form factor.

" - }, - "platform":{ - "shape":"DevicePlatform", - "documentation":"

The device's platform.

Allowed values include:

  • ANDROID: The Android platform.

  • IOS: The iOS platform.

" - }, - "os":{ - "shape":"String", - "documentation":"

The device's operating system type.

" - }, - "cpu":{ - "shape":"CPU", - "documentation":"

Information about the device's CPU.

" - }, - "resolution":{ - "shape":"Resolution", - "documentation":"

The resolution of the device.

" - }, - "heapSize":{ - "shape":"Long", - "documentation":"

The device's heap size, expressed in bytes.

" - }, - "memory":{ - "shape":"Long", - "documentation":"

The device's total memory size, expressed in bytes.

" - }, - "image":{ - "shape":"String", - "documentation":"

The device's image name.

" - }, - "carrier":{ - "shape":"String", - "documentation":"

The device's carrier.

" - }, - "radio":{ - "shape":"String", - "documentation":"

The device's radio.

" - }, - "remoteAccessEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether remote access has been enabled for the specified device.

" - }, - "remoteDebugEnabled":{ - "shape":"Boolean", - "documentation":"

This flag is set to true if remote debugging is enabled for the device.

" - }, - "fleetType":{ - "shape":"String", - "documentation":"

The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.

" - }, - "fleetName":{ - "shape":"String", - "documentation":"

The name of the fleet to which this device belongs.

" - }, - "instances":{ - "shape":"DeviceInstances", - "documentation":"

The instances belonging to this device.

" - } - }, - "documentation":"

Represents a device type that an app is tested against.

" - }, - "DeviceAttribute":{ - "type":"string", - "enum":[ - "ARN", - "PLATFORM", - "FORM_FACTOR", - "MANUFACTURER", - "REMOTE_ACCESS_ENABLED", - "REMOTE_DEBUG_ENABLED", - "APPIUM_VERSION", - "INSTANCE_ARN", - "INSTANCE_LABELS", - "FLEET_TYPE" - ] - }, - "DeviceFormFactor":{ - "type":"string", - "enum":[ - "PHONE", - "TABLET" - ] - }, - "DeviceHostPaths":{ - "type":"list", - "member":{"shape":"String"} - }, - "DeviceInstance":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device instance.

" - }, - "deviceArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device.

" - }, - "labels":{ - "shape":"InstanceLabels", - "documentation":"

An array of strings describing the device instance.

" - }, - "status":{ - "shape":"InstanceStatus", - "documentation":"

The status of the device instance. Valid values are listed below.

" - }, - "udid":{ - "shape":"String", - "documentation":"

Unique device identifier for the device instance.

" - }, - "instanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

A object containing information about the instance profile.

" - } - }, - "documentation":"

Represents the device instance.

" - }, - "DeviceInstances":{ - "type":"list", - "member":{"shape":"DeviceInstance"} - }, - "DeviceMinutes":{ - "type":"structure", - "members":{ - "total":{ - "shape":"Double", - "documentation":"

When specified, represents the total minutes used by the resource to run tests.

" - }, - "metered":{ - "shape":"Double", - "documentation":"

When specified, represents only the sum of metered minutes used by the resource to run tests.

" - }, - "unmetered":{ - "shape":"Double", - "documentation":"

When specified, represents only the sum of unmetered minutes used by the resource to run tests.

" - } - }, - "documentation":"

Represents the total (metered or unmetered) minutes used by the resource to run tests. Contains the sum of minutes consumed by all children.

" - }, - "DevicePlatform":{ - "type":"string", - "enum":[ - "ANDROID", - "IOS" - ] - }, - "DevicePool":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The device pool's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The device pool's name.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The device pool's description.

" - }, - "type":{ - "shape":"DevicePoolType", - "documentation":"

The device pool's type.

Allowed values include:

  • CURATED: A device pool that is created and managed by AWS Device Farm.

  • PRIVATE: A device pool that is created and managed by the device pool developer.

" - }, - "rules":{ - "shape":"Rules", - "documentation":"

Information about the device pool's rules.

" - } - }, - "documentation":"

Represents a collection of device types.

" - }, - "DevicePoolCompatibilityResult":{ - "type":"structure", - "members":{ - "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.

" - }, - "incompatibilityMessages":{ - "shape":"IncompatibilityMessages", - "documentation":"

Information about the compatibility.

" - } - }, - "documentation":"

Represents a device pool compatibility result.

" - }, - "DevicePoolCompatibilityResults":{ - "type":"list", - "member":{"shape":"DevicePoolCompatibilityResult"} - }, - "DevicePoolType":{ - "type":"string", - "enum":[ - "CURATED", - "PRIVATE" - ] - }, - "DevicePools":{ - "type":"list", - "member":{"shape":"DevicePool"} - }, - "Devices":{ - "type":"list", - "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.

" - }, - "videoCapture":{ - "shape":"VideoCapture", - "documentation":"

Set to true to enable video capture; otherwise, set to false. The default is true.

" - }, - "skipAppResign":{ - "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs.

" - } - }, - "documentation":"

Represents configuration information about a test run, such as the execution timeout (in minutes).

" - }, - "ExecutionResult":{ - "type":"string", - "enum":[ - "PENDING", - "PASSED", - "WARNED", - "FAILED", - "SKIPPED", - "ERRORED", - "STOPPED" - ] - }, - "ExecutionResultCode":{ - "type":"string", - "enum":[ - "PARSING_FAILED", - "VPC_ENDPOINT_SETUP_FAILED" - ] - }, - "ExecutionStatus":{ - "type":"string", - "enum":[ - "PENDING", - "PENDING_CONCURRENCY", - "PENDING_DEVICE", - "PROCESSING", - "SCHEDULING", - "PREPARING", - "RUNNING", - "COMPLETED", - "STOPPING" - ] - }, - "Filter":{ - "type":"string", - "max":8192, - "min":0 - }, - "GetAccountSettingsRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the request sent to retrieve the account settings.

" - }, - "GetAccountSettingsResult":{ - "type":"structure", - "members":{ - "accountSettings":{ - "shape":"AccountSettings", - "documentation":"

The account settings.

" - } - }, - "documentation":"

Represents the account settings return values from the GetAccountSettings request.

" - }, - "GetDeviceInstanceRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance you're requesting information about.

" - } - } - }, - "GetDeviceInstanceResult":{ - "type":"structure", - "members":{ - "deviceInstance":{ - "shape":"DeviceInstance", - "documentation":"

An object containing information about your device instance.

" - } - } - }, - "GetDevicePoolCompatibilityRequest":{ - "type":"structure", - "required":["devicePoolArn"], - "members":{ - "devicePoolArn":{ - "shape":"AmazonResourceName", - "documentation":"

The device pool's ARN.

" - }, - "appArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the app that is associated with the specified device pool.

" - }, - "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.

" - }, - "configuration":{ - "shape":"ScheduleRunConfiguration", - "documentation":"

An object containing information about the settings for a run.

" - } - }, - "documentation":"

Represents a request to the get device pool compatibility operation.

" - }, - "GetDevicePoolCompatibilityResult":{ - "type":"structure", - "members":{ - "compatibleDevices":{ - "shape":"DevicePoolCompatibilityResults", - "documentation":"

Information about compatible devices.

" - }, - "incompatibleDevices":{ - "shape":"DevicePoolCompatibilityResults", - "documentation":"

Information about incompatible devices.

" - } - }, - "documentation":"

Represents the result of describe device pool compatibility request.

" - }, - "GetDevicePoolRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The device pool's ARN.

" - } - }, - "documentation":"

Represents a request to the get device pool operation.

" - }, - "GetDevicePoolResult":{ - "type":"structure", - "members":{ - "devicePool":{ - "shape":"DevicePool", - "documentation":"

An object containing information about the requested device pool.

" - } - }, - "documentation":"

Represents the result of a get device pool request.

" - }, - "GetDeviceRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The device type's ARN.

" - } - }, - "documentation":"

Represents a request to the get device request.

" - }, - "GetDeviceResult":{ - "type":"structure", - "members":{ - "device":{ - "shape":"Device", - "documentation":"

An object containing information about the requested device.

" - } - }, - "documentation":"

Represents the result of a get device request.

" - }, - "GetInstanceProfileRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of your instance profile.

" - } - } - }, - "GetInstanceProfileResult":{ - "type":"structure", - "members":{ - "instanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

An object containing information about your instance profile.

" - } - } - }, - "GetJobRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The job's ARN.

" - } - }, - "documentation":"

Represents a request to the get job operation.

" - }, - "GetJobResult":{ - "type":"structure", - "members":{ - "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":{ - "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.

" - } - }, - "documentation":"

Represents the request to retrieve the offering status for the specified customer or account.

" - }, - "GetOfferingStatusResult":{ - "type":"structure", - "members":{ - "current":{ - "shape":"OfferingStatusMap", - "documentation":"

When specified, gets the offering status for the current period.

" - }, - "nextPeriod":{ - "shape":"OfferingStatusMap", - "documentation":"

When specified, gets the offering status for the next period.

" - }, - "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.

" - } - }, - "documentation":"

Returns the status result for a device offering.

" - }, - "GetProjectRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The project's ARN.

" - } - }, - "documentation":"

Represents a request to the get project operation.

" - }, - "GetProjectResult":{ - "type":"structure", - "members":{ - "project":{ - "shape":"Project", - "documentation":"

The project you wish to get information about.

" - } - }, - "documentation":"

Represents the result of a get project request.

" - }, - "GetRemoteAccessSessionRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session about which you want to get session information.

" - } - }, - "documentation":"

Represents the request to get information about the specified remote access session.

" - }, - "GetRemoteAccessSessionResult":{ - "type":"structure", - "members":{ - "remoteAccessSession":{ - "shape":"RemoteAccessSession", - "documentation":"

A container that lists detailed information about the remote access session.

" - } - }, - "documentation":"

Represents the response from the server that lists detailed information about the remote access session.

" - }, - "GetRunRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The run's ARN.

" - } - }, - "documentation":"

Represents a request to the get run operation.

" - }, - "GetRunResult":{ - "type":"structure", - "members":{ - "run":{ - "shape":"Run", - "documentation":"

The run you wish to get results from.

" - } - }, - "documentation":"

Represents the result of a get run request.

" - }, - "GetSuiteRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The suite's ARN.

" - } - }, - "documentation":"

Represents a request to the get suite operation.

" - }, - "GetSuiteResult":{ - "type":"structure", - "members":{ - "suite":{ - "shape":"Suite", - "documentation":"

A collection of one or more tests.

" - } - }, - "documentation":"

Represents the result of a get suite request.

" - }, - "GetTestRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The test's ARN.

" - } - }, - "documentation":"

Represents a request to the get test operation.

" - }, - "GetTestResult":{ - "type":"structure", - "members":{ - "test":{ - "shape":"Test", - "documentation":"

A test condition that is evaluated.

" - } - }, - "documentation":"

Represents the result of a get test request.

" - }, - "GetUploadRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The upload's ARN.

" - } - }, - "documentation":"

Represents a request to the get upload operation.

" - }, - "GetUploadResult":{ - "type":"structure", - "members":{ - "upload":{ - "shape":"Upload", - "documentation":"

An app or a set of one or more tests to upload or that have been uploaded.

" - } - }, - "documentation":"

Represents the result of a get upload request.

" - }, - "GetVPCEConfigurationRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to describe.

" - } - } - }, - "GetVPCEConfigurationResult":{ - "type":"structure", - "members":{ - "vpceConfiguration":{ - "shape":"VPCEConfiguration", - "documentation":"

An object containing information about your VPC endpoint configuration.

" - } - } - }, - "HostAddress":{ - "type":"string", - "max":1024 - }, - "IdempotencyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } - }, - "documentation":"

An entity with the same name already exists.

", - "exception":true - }, - "IncompatibilityMessage":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

A message about the incompatibility.

" - }, - "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).

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • APPIUM_VERSION: The Appium version for the test.

" - } - }, - "documentation":"

Represents information about incompatibility.

" - }, - "IncompatibilityMessages":{ - "type":"list", - "member":{"shape":"IncompatibilityMessage"} - }, - "InstallToRemoteAccessSessionRequest":{ - "type":"structure", - "required":[ - "remoteAccessSessionArn", - "appArn" - ], - "members":{ - "remoteAccessSessionArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

" - }, - "appArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the app about which you are requesting information.

" - } - }, - "documentation":"

Represents the request to install an Android application (in .apk format) or an iOS application (in .ipa format) as part of a remote access session.

" - }, - "InstallToRemoteAccessSessionResult":{ - "type":"structure", - "members":{ - "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.

" - }, - "InstanceLabels":{ - "type":"list", - "member":{"shape":"String"} - }, - "InstanceProfile":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" - }, - "packageCleanup":{ - "shape":"Boolean", - "documentation":"

When set to true, Device Farm will remove app packages after a test run. The default value is false for private devices.

" - }, - "excludeAppPackagesFromCleanup":{ - "shape":"PackageIds", - "documentation":"

An array of strings specifying the list of app packages that should not be cleaned up from the device after a test run is over.

The list of packages is only considered if you set packageCleanup to true.

" - }, - "rebootAfterUse":{ - "shape":"Boolean", - "documentation":"

When set to true, Device Farm will reboot the instance after a test run. The default value is true.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the instance profile.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The description of the instance profile.

" - } - }, - "documentation":"

Represents the instance profile.

" - }, - "InstanceProfiles":{ - "type":"list", - "member":{"shape":"InstanceProfile"} - }, - "InstanceStatus":{ - "type":"string", - "enum":[ - "IN_USE", - "PREPARING", - "AVAILABLE", - "NOT_AVAILABLE" - ] - }, - "Integer":{"type":"integer"}, - "InteractionMode":{ - "type":"string", - "enum":[ - "INTERACTIVE", - "NO_VIDEO", - "VIDEO_ONLY" - ], - "max":64, - "min":0 - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

There was an error with the update request, or you do not have sufficient permissions to update this VPC endpoint configuration.

", - "exception":true - }, - "IosPaths":{ - "type":"list", - "member":{"shape":"String"} - }, - "Job":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The job's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The job's name.

" - }, - "type":{ - "shape":"TestType", - "documentation":"

The job's type.

Allowed values include the following:

  • BUILTIN_FUZZ: 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.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

When the job was created.

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The job's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The job's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "started":{ - "shape":"DateTime", - "documentation":"

The job's start time.

" - }, - "stopped":{ - "shape":"DateTime", - "documentation":"

The job's stop time.

" - }, - "counters":{ - "shape":"Counters", - "documentation":"

The job's result counters.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the job's result.

" - }, - "device":{ - "shape":"Device", - "documentation":"

The device (phone or tablet).

" - }, - "instanceArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance.

" - }, - "deviceMinutes":{ - "shape":"DeviceMinutes", - "documentation":"

Represents the total (metered or unmetered) minutes used by the job.

" - }, - "videoEndpoint":{ - "shape":"String", - "documentation":"

The endpoint for streaming device video.

" - }, - "videoCapture":{ - "shape":"VideoCapture", - "documentation":"

This value is set to true if video capture is enabled; otherwise, it is set to false.

" - } - }, - "documentation":"

Represents a device.

" - }, - "JobTimeoutMinutes":{"type":"integer"}, - "Jobs":{ - "type":"list", - "member":{"shape":"Job"} - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } - }, - "documentation":"

A limit was exceeded.

", - "exception":true - }, - "ListArtifactsRequest":{ - "type":"structure", - "required":[ - "arn", - "type" - ], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Run, Job, Suite, or Test ARN.

" - }, - "type":{ - "shape":"ArtifactCategory", - "documentation":"

The artifacts' type.

Allowed values include:

  • FILE: The artifacts are files.

  • LOG: The artifacts are logs.

  • SCREENSHOT: The artifacts are screenshots.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list artifacts operation.

" - }, - "ListArtifactsResult":{ - "type":"structure", - "members":{ - "artifacts":{ - "shape":"Artifacts", - "documentation":"

Information about the artifacts.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list artifacts operation.

" - }, - "ListDeviceInstancesRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"Integer", - "documentation":"

An integer specifying the maximum number of items you want to return in the API response.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListDeviceInstancesResult":{ - "type":"structure", - "members":{ - "deviceInstances":{ - "shape":"DeviceInstances", - "documentation":"

An object containing information about your device instances.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that can be used in the next call to this operation to return the next set of items in the list.

" - } - } - }, - "ListDevicePoolsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The project ARN.

" - }, - "type":{ - "shape":"DevicePoolType", - "documentation":"

The device pools' type.

Allowed values include:

  • CURATED: A device pool that is created and managed by AWS Device Farm.

  • PRIVATE: A device pool that is created and managed by the device pool developer.

" - }, - "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.

" - } - }, - "documentation":"

Represents the result of a list device pools request.

" - }, - "ListDevicePoolsResult":{ - "type":"structure", - "members":{ - "devicePools":{ - "shape":"DevicePools", - "documentation":"

Information about the device pools.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list device pools request.

" - }, - "ListDevicesRequest":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project.

" - }, - "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.

" - } - }, - "documentation":"

Represents the result of a list devices request.

" - }, - "ListDevicesResult":{ - "type":"structure", - "members":{ - "devices":{ - "shape":"Devices", - "documentation":"

Information about the devices.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list devices operation.

" - }, - "ListInstanceProfilesRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"Integer", - "documentation":"

An integer specifying the maximum number of items you want to return in the API response.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListInstanceProfilesResult":{ - "type":"structure", - "members":{ - "instanceProfiles":{ - "shape":"InstanceProfiles", - "documentation":"

An object containing information about your instance profiles.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that can be used in the next call to this operation to return the next set of items in the list.

" - } - } - }, - "ListJobsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The run's Amazon Resource Name (ARN).

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list jobs operation.

" - }, - "ListJobsResult":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"Jobs", - "documentation":"

Information about the jobs.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

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":{ - "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.

" - } - }, - "documentation":"

Represents the request to list the offering transaction history.

" - }, - "ListOfferingTransactionsResult":{ - "type":"structure", - "members":{ - "offeringTransactions":{ - "shape":"OfferingTransactions", - "documentation":"

The audit log of subscriptions you have purchased and modified through AWS Device Farm.

" - }, - "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.

" - } - }, - "documentation":"

Returns the transaction log of the specified offerings.

" - }, - "ListOfferingsRequest":{ - "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.

" - } - }, - "documentation":"

Represents the request to list all offerings.

" - }, - "ListOfferingsResult":{ - "type":"structure", - "members":{ - "offerings":{ - "shape":"Offerings", - "documentation":"

A value representing the list offering results.

" - }, - "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.

" - } - }, - "documentation":"

Represents the return values of the list of offerings.

" - }, - "ListProjectsRequest":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm returns a list of all projects for the AWS account. You can also specify a project ARN.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list projects operation.

" - }, - "ListProjectsResult":{ - "type":"structure", - "members":{ - "projects":{ - "shape":"Projects", - "documentation":"

Information about the projects.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list projects request.

" - }, - "ListRemoteAccessSessionsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

" - }, - "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.

" - } - }, - "documentation":"

Represents the request to return information about the remote access session.

" - }, - "ListRemoteAccessSessionsResult":{ - "type":"structure", - "members":{ - "remoteAccessSessions":{ - "shape":"RemoteAccessSessions", - "documentation":"

A container representing the metadata from the service about each remote access session you are requesting.

" - }, - "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.

" - } - }, - "documentation":"

Represents the response from the server after AWS Device Farm makes a request to return information about the remote access session.

" - }, - "ListRunsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list runs.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list runs operation.

" - }, - "ListRunsResult":{ - "type":"structure", - "members":{ - "runs":{ - "shape":"Runs", - "documentation":"

Information about the runs.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list runs request.

" - }, - "ListSamplesRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list samples.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list samples operation.

" - }, - "ListSamplesResult":{ - "type":"structure", - "members":{ - "samples":{ - "shape":"Samples", - "documentation":"

Information about the samples.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list samples request.

" - }, - "ListSuitesRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The job's Amazon Resource Name (ARN).

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list suites operation.

" - }, - "ListSuitesResult":{ - "type":"structure", - "members":{ - "suites":{ - "shape":"Suites", - "documentation":"

Information about the suites.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list suites request.

" - }, - "ListTestsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The test suite's Amazon Resource Name (ARN).

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list tests operation.

" - }, - "ListTestsResult":{ - "type":"structure", - "members":{ - "tests":{ - "shape":"Tests", - "documentation":"

Information about the tests.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list tests request.

" - }, - "ListUniqueProblemsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The unique problems' ARNs.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list unique problems operation.

" - }, - "ListUniqueProblemsResult":{ - "type":"structure", - "members":{ - "uniqueProblems":{ - "shape":"UniqueProblemsByExecutionResultMap", - "documentation":"

Information about the unique problems.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list unique problems request.

" - }, - "ListUploadsRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list uploads.

" - }, - "type":{ - "shape":"UploadType", - "documentation":"

The type of upload.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

  • APPIUM_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC: An Appium Java JUnit test spec upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC: An Appium Java TestNG test spec upload.

  • APPIUM_WEB_PYTHON_TEST_SPEC: An Appium Python test spec upload.

  • INSTRUMENTATION_TEST_SPEC: An instrumentation test spec upload.

  • XCTEST_UI_TEST_SPEC: An XCode UI test spec upload.

" - }, - "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.

" - } - }, - "documentation":"

Represents a request to the list uploads operation.

" - }, - "ListUploadsResult":{ - "type":"structure", - "members":{ - "uploads":{ - "shape":"Uploads", - "documentation":"

Information about the uploads.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" - } - }, - "documentation":"

Represents the result of a list uploads request.

" - }, - "ListVPCEConfigurationsRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"Integer", - "documentation":"

An integer specifying the maximum number of items you want to return in the API response.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "ListVPCEConfigurationsResult":{ - "type":"structure", - "members":{ - "vpceConfigurations":{ - "shape":"VPCEConfigurations", - "documentation":"

An array of VPCEConfiguration objects containing information about your VPC endpoint configuration.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" - } - } - }, - "Location":{ - "type":"structure", - "required":[ - "latitude", - "longitude" - ], - "members":{ - "latitude":{ - "shape":"Double", - "documentation":"

The latitude.

" - }, - "longitude":{ - "shape":"Double", - "documentation":"

The longitude.

" - } - }, - "documentation":"

Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).

Elevation is currently not supported.

" - }, - "Long":{"type":"long"}, - "MaxSlotMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"Integer"} - }, - "Message":{ - "type":"string", - "max":16384, - "min":0 - }, - "Metadata":{ - "type":"string", - "max":8192, - "min":0 - }, - "MonetaryAmount":{ - "type":"structure", - "members":{ - "amount":{ - "shape":"Double", - "documentation":"

The numerical amount of an offering or transaction.

" - }, - "currencyCode":{ - "shape":"CurrencyCode", - "documentation":"

The currency code of a monetary amount. For example, USD means \"U.S. dollars.\"

" - } - }, - "documentation":"

A number representing the monetary amount for an offering or transaction.

" - }, - "Name":{ - "type":"string", - "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":{ - "message":{ - "shape":"Message", - "documentation":"

The HTTP response code of a Not Eligible exception.

" - } - }, - "documentation":"

Exception gets thrown when a user is not eligible to perform the specified transaction.

", - "exception":true - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } - }, - "documentation":"

The specified entity was not found.

", - "exception":true - }, - "Offering":{ - "type":"structure", - "members":{ - "id":{ - "shape":"OfferingIdentifier", - "documentation":"

The ID that corresponds to a device offering.

" - }, - "description":{ - "shape":"Message", - "documentation":"

A string describing the offering.

" - }, - "type":{ - "shape":"OfferingType", - "documentation":"

The type of offering (e.g., \"RECURRING\") for a device.

" - }, - "platform":{ - "shape":"DevicePlatform", - "documentation":"

The platform of the device (e.g., ANDROID or IOS).

" - }, - "recurringCharges":{ - "shape":"RecurringCharges", - "documentation":"

Specifies whether there are recurring charges for the offering.

" - } - }, - "documentation":"

Represents the metadata of a device offering.

" - }, - "OfferingIdentifier":{ - "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":{ - "type":{ - "shape":"OfferingTransactionType", - "documentation":"

The type specified for the offering status.

" - }, - "offering":{ - "shape":"Offering", - "documentation":"

Represents the metadata of an offering status.

" - }, - "quantity":{ - "shape":"Integer", - "documentation":"

The number of available devices in the offering.

" - }, - "effectiveOn":{ - "shape":"DateTime", - "documentation":"

The date on which the offering is effective.

" - } - }, - "documentation":"

The status of the offering.

" - }, - "OfferingStatusMap":{ - "type":"map", - "key":{"shape":"OfferingIdentifier"}, - "value":{"shape":"OfferingStatus"} - }, - "OfferingTransaction":{ - "type":"structure", - "members":{ - "offeringStatus":{ - "shape":"OfferingStatus", - "documentation":"

The status of an offering transaction.

" - }, - "transactionId":{ - "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.

" - }, - "cost":{ - "shape":"MonetaryAmount", - "documentation":"

The cost of an offering transaction.

" - } - }, - "documentation":"

Represents the metadata of an offering transaction.

" - }, - "OfferingTransactionType":{ - "type":"string", - "enum":[ - "PURCHASE", - "RENEW", - "SYSTEM" - ] - }, - "OfferingTransactions":{ - "type":"list", - "member":{"shape":"OfferingTransaction"} - }, - "OfferingType":{ - "type":"string", - "enum":["RECURRING"] - }, - "Offerings":{ - "type":"list", - "member":{"shape":"Offering"} - }, - "PackageIds":{ - "type":"list", - "member":{"shape":"String"} - }, - "PaginationToken":{ - "type":"string", - "max":1024, - "min":4 - }, - "PercentInteger":{ - "type":"integer", - "max":100, - "min":0 - }, - "Problem":{ - "type":"structure", - "members":{ - "run":{ - "shape":"ProblemDetail", - "documentation":"

Information about the associated run.

" - }, - "job":{ - "shape":"ProblemDetail", - "documentation":"

Information about the associated job.

" - }, - "suite":{ - "shape":"ProblemDetail", - "documentation":"

Information about the associated suite.

" - }, - "test":{ - "shape":"ProblemDetail", - "documentation":"

Information about the associated test.

" - }, - "device":{ - "shape":"Device", - "documentation":"

Information about the associated device.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The problem's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the problem's result.

" - } - }, - "documentation":"

Represents a specific warning or failure.

" - }, - "ProblemDetail":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The problem detail's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The problem detail's name.

" - } - }, - "documentation":"

Information about a problem detail.

" - }, - "Problems":{ - "type":"list", - "member":{"shape":"Problem"} - }, - "Project":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The project's ARN.

" - }, - "name":{ - "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.

" - } - }, - "documentation":"

Represents an operating-system neutral workspace for running and managing tests.

" - }, - "Projects":{ - "type":"list", - "member":{"shape":"Project"} - }, - "PurchaseOfferingRequest":{ - "type":"structure", - "members":{ - "offeringId":{ - "shape":"OfferingIdentifier", - "documentation":"

The ID of the offering.

" - }, - "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.

" - }, - "PurchaseOfferingResult":{ - "type":"structure", - "members":{ - "offeringTransaction":{ - "shape":"OfferingTransaction", - "documentation":"

Represents the offering transaction for the purchase result.

" - } - }, - "documentation":"

The result of the purchase offering (e.g., success or failure).

" - }, - "PurchasedDevicesMap":{ - "type":"map", - "key":{"shape":"DevicePlatform"}, - "value":{"shape":"Integer"} - }, - "Radios":{ - "type":"structure", - "members":{ - "wifi":{ - "shape":"Boolean", - "documentation":"

True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

" - }, - "bluetooth":{ - "shape":"Boolean", - "documentation":"

True if Bluetooth is enabled at the beginning of the test; otherwise, false.

" - }, - "nfc":{ - "shape":"Boolean", - "documentation":"

True if NFC is enabled at the beginning of the test; otherwise, false.

" - }, - "gps":{ - "shape":"Boolean", - "documentation":"

True if GPS is enabled at the beginning of the test; otherwise, false.

" - } - }, - "documentation":"

Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.

" - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "cost":{ - "shape":"MonetaryAmount", - "documentation":"

The cost of the recurring charge.

" - }, - "frequency":{ - "shape":"RecurringChargeFrequency", - "documentation":"

The frequency in which charges will recur.

" - } - }, - "documentation":"

Specifies whether charges for devices will be recurring.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["MONTHLY"] - }, - "RecurringCharges":{ - "type":"list", - "member":{"shape":"RecurringCharge"} - }, - "RemoteAccessSession":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the remote access session.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

The date and time the remote access session was created.

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The status of the remote access session. Can be any of the following:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The result of the remote access session. Can be any of the following:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the remote access session.

" - }, - "started":{ - "shape":"DateTime", - "documentation":"

The date and time the remote access session was started.

" - }, - "stopped":{ - "shape":"DateTime", - "documentation":"

The date and time the remote access session was stopped.

" - }, - "device":{ - "shape":"Device", - "documentation":"

The device (phone or tablet) used in the remote access session.

" - }, - "instanceArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance.

" - }, - "remoteDebugEnabled":{ - "shape":"Boolean", - "documentation":"

This flag is set to true if remote debugging is enabled for the remote access session.

" - }, - "remoteRecordEnabled":{ - "shape":"Boolean", - "documentation":"

This flag is set to true if remote recording is enabled for the remote access session.

" - }, - "remoteRecordAppArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

" - }, - "hostAddress":{ - "shape":"HostAddress", - "documentation":"

IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.

" - }, - "clientId":{ - "shape":"ClientId", - "documentation":"

Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.

" - }, - "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", - "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.

" - }, - "deviceUdid":{ - "shape":"String", - "documentation":"

Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.

" - }, - "interactionMode":{ - "shape":"InteractionMode", - "documentation":"

The interaction mode of the remote access session. Valid values are:

  • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

  • NO_VIDEO: You are connected to the device but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

  • VIDEO_ONLY: You can view the screen but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

" - }, - "skipAppResign":{ - "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs.

" - } - }, - "documentation":"

Represents information about the remote access session.

" - }, - "RemoteAccessSessions":{ - "type":"list", - "member":{"shape":"RemoteAccessSession"} - }, - "RenewOfferingRequest":{ - "type":"structure", - "members":{ - "offeringId":{ - "shape":"OfferingIdentifier", - "documentation":"

The ID of a request to renew an offering.

" - }, - "quantity":{ - "shape":"Integer", - "documentation":"

The quantity requested in an offering renewal.

" - } - }, - "documentation":"

A request representing an offering renewal.

" - }, - "RenewOfferingResult":{ - "type":"structure", - "members":{ - "offeringTransaction":{ - "shape":"OfferingTransaction", - "documentation":"

Represents the status of the offering transaction for the renewal.

" - } - }, - "documentation":"

The result of a renewal offering.

" - }, - "Resolution":{ - "type":"structure", - "members":{ - "width":{ - "shape":"Integer", - "documentation":"

The screen resolution's width, expressed in pixels.

" - }, - "height":{ - "shape":"Integer", - "documentation":"

The screen resolution's height, expressed in pixels.

" - } - }, - "documentation":"

Represents the screen resolution of a device in height and width, expressed in pixels.

" - }, - "Rule":{ - "type":"structure", - "members":{ - "attribute":{ - "shape":"DeviceAttribute", - "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

  • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.

  • APPIUM_VERSION: The Appium version for the test.

  • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

  • INSTANCE_LABELS: The label of the device instance.

" - }, - "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.

  • CONTAINS: The contains operator.

" - }, - "value":{ - "shape":"String", - "documentation":"

The rule's value.

" - } - }, - "documentation":"

Represents a condition for a device pool.

" - }, - "RuleOperator":{ - "type":"string", - "enum":[ - "EQUALS", - "LESS_THAN", - "GREATER_THAN", - "IN", - "NOT_IN", - "CONTAINS" - ] - }, - "Rules":{ - "type":"list", - "member":{"shape":"Rule"} - }, - "Run":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The run's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The run's name.

" - }, - "type":{ - "shape":"TestType", - "documentation":"

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" - }, - "platform":{ - "shape":"DevicePlatform", - "documentation":"

The run's platform.

Allowed values include:

  • ANDROID: The Android platform.

  • IOS: The iOS platform.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

When the run was created.

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The run's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The run's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "started":{ - "shape":"DateTime", - "documentation":"

The run's start time.

" - }, - "stopped":{ - "shape":"DateTime", - "documentation":"

The run's stop time.

" - }, - "counters":{ - "shape":"Counters", - "documentation":"

The run's result counters.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the run's result.

" - }, - "totalJobs":{ - "shape":"Integer", - "documentation":"

The total number of jobs for the run.

" - }, - "completedJobs":{ - "shape":"Integer", - "documentation":"

The total number of completed jobs.

" - }, - "billingMethod":{ - "shape":"BillingMethod", - "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" - }, - "deviceMinutes":{ - "shape":"DeviceMinutes", - "documentation":"

Represents the total (metered or unmetered) minutes used by the test run.

" - }, - "networkProfile":{ - "shape":"NetworkProfile", - "documentation":"

The network profile being used for a test run.

" - }, - "parsingResultUrl":{ - "shape":"String", - "documentation":"

Read-only URL for an object in S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.

" - }, - "resultCode":{ - "shape":"ExecutionResultCode", - "documentation":"

Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED if the result is skipped because of test package parsing failure.

" - }, - "seed":{ - "shape":"Integer", - "documentation":"

For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

" - }, - "appUpload":{ - "shape":"AmazonResourceName", - "documentation":"

An app to upload or that has been uploaded.

" - }, - "eventCount":{ - "shape":"Integer", - "documentation":"

For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz test should perform.

" - }, - "jobTimeoutMinutes":{ - "shape":"JobTimeoutMinutes", - "documentation":"

The number of minutes the job will execute before it times out.

" - }, - "devicePoolArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the device pool for the run.

" - }, - "locale":{ - "shape":"String", - "documentation":"

Information about the locale that is used for the run.

" - }, - "radios":{ - "shape":"Radios", - "documentation":"

Information about the radio states for the run.

" - }, - "location":{ - "shape":"Location", - "documentation":"

Information about the location that is used for the run.

" - }, - "customerArtifactPaths":{ - "shape":"CustomerArtifactPaths", - "documentation":"

Output CustomerArtifactPaths object for the test run.

" - }, - "webUrl":{ - "shape":"String", - "documentation":"

The Device Farm console URL for the recording of the run.

" - }, - "skipAppResign":{ - "shape":"SkipAppResign", - "documentation":"

When set to true, for private devices, Device Farm will not sign your app again. For public devices, Device Farm always signs your apps again and this parameter has no effect.

For more information about how Device Farm re-signs your app(s), see Do you modify my app? in the AWS Device Farm FAQs.

" - }, - "testSpecArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the YAML-formatted test specification for the run.

" - } - }, - "documentation":"

Represents a test run on a set of devices with a given app package, test parameters, etc.

" - }, - "Runs":{ - "type":"list", - "member":{"shape":"Run"} - }, - "Sample":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The sample's ARN.

" - }, - "type":{ - "shape":"SampleType", - "documentation":"

The sample's type.

Must be one of the following values:

  • CPU: A CPU sample type. This is expressed as the app processing CPU time (including child processes) as reported by process, as a percentage.

  • MEMORY: A memory usage sample type. This is expressed as the total proportional set size of an app process, in kilobytes.

  • NATIVE_AVG_DRAWTIME

  • NATIVE_FPS

  • NATIVE_FRAMES

  • NATIVE_MAX_DRAWTIME

  • NATIVE_MIN_DRAWTIME

  • OPENGL_AVG_DRAWTIME

  • OPENGL_FPS

  • OPENGL_FRAMES

  • OPENGL_MAX_DRAWTIME

  • OPENGL_MIN_DRAWTIME

  • RX

  • RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, by app process.

  • THREADS: A threads sample type. This is expressed as the total number of threads per app process.

  • TX

  • TX_RATE: The total number of bytes per second (TCP and UDP) that are received, by app process.

" - }, - "url":{ - "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.

" - } - }, - "documentation":"

Represents a sample of performance data.

" - }, - "SampleType":{ - "type":"string", - "enum":[ - "CPU", - "MEMORY", - "THREADS", - "RX_RATE", - "TX_RATE", - "RX", - "TX", - "NATIVE_FRAMES", - "NATIVE_FPS", - "NATIVE_MIN_DRAWTIME", - "NATIVE_AVG_DRAWTIME", - "NATIVE_MAX_DRAWTIME", - "OPENGL_FRAMES", - "OPENGL_FPS", - "OPENGL_MIN_DRAWTIME", - "OPENGL_AVG_DRAWTIME", - "OPENGL_MAX_DRAWTIME" - ] - }, - "Samples":{ - "type":"list", - "member":{"shape":"Sample"} - }, - "ScheduleRunConfiguration":{ - "type":"structure", - "members":{ - "extraDataPackageArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.

" - }, - "networkProfileArn":{ - "shape":"AmazonResourceName", - "documentation":"

Reserved for internal use.

" - }, - "locale":{ - "shape":"String", - "documentation":"

Information about the locale that is used for the run.

" - }, - "location":{ - "shape":"Location", - "documentation":"

Information about the location that is used for the run.

" - }, - "vpceConfigurationArns":{ - "shape":"AmazonResourceNames", - "documentation":"

An array of Amazon Resource Names (ARNs) for your VPC endpoint configurations.

" - }, - "customerArtifactPaths":{ - "shape":"CustomerArtifactPaths", - "documentation":"

Input CustomerArtifactPaths object for the scheduled run configuration.

" - }, - "radios":{ - "shape":"Radios", - "documentation":"

Information about the radio states for the run.

" - }, - "auxiliaryApps":{ - "shape":"AmazonResourceNames", - "documentation":"

A list of auxiliary apps for the run.

" - }, - "billingMethod":{ - "shape":"BillingMethod", - "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" - } - }, - "documentation":"

Represents the settings for a run. Includes things like location, radio states, auxiliary apps, and network profiles.

" - }, - "ScheduleRunRequest":{ - "type":"structure", - "required":[ - "projectArn", - "devicePoolArn", - "test" - ], - "members":{ - "projectArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the project for the run to be scheduled.

" - }, - "appArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the app to schedule a run.

" - }, - "devicePoolArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the device pool for the run to be scheduled.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name for the run to be scheduled.

" - }, - "test":{ - "shape":"ScheduleRunTest", - "documentation":"

Information about the test for the run to be scheduled.

" - }, - "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.

" - }, - "ScheduleRunResult":{ - "type":"structure", - "members":{ - "run":{ - "shape":"Run", - "documentation":"

Information about the scheduled run.

" - } - }, - "documentation":"

Represents the result of a schedule run request.

" - }, - "ScheduleRunTest":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" - }, - "testPackageArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the uploaded test that will be run.

" - }, - "testSpecArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the YAML-formatted test specification.

" - }, - "filter":{ - "shape":"Filter", - "documentation":"

The test's filter.

" - }, - "parameters":{ - "shape":"TestParameters", - "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.

" - }, - "ServiceAccountException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } - }, - "documentation":"

There was a problem with the service account.

", - "exception":true - }, - "ServiceDnsName":{ - "type":"string", - "max":2048, - "min":0 - }, - "SkipAppResign":{"type":"boolean"}, - "SshPublicKey":{ - "type":"string", - "max":8192, - "min":0 - }, - "StopJobRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm job you wish to stop.

" - } - } - }, - "StopJobResult":{ - "type":"structure", - "members":{ - "job":{ - "shape":"Job", - "documentation":"

The job that was stopped.

" - } - } - }, - "StopRemoteAccessSessionRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session you wish to stop.

" - } - }, - "documentation":"

Represents the request to stop the remote access session.

" - }, - "StopRemoteAccessSessionResult":{ - "type":"structure", - "members":{ - "remoteAccessSession":{ - "shape":"RemoteAccessSession", - "documentation":"

A container representing the metadata from the service about the remote access session you are stopping.

" - } - }, - "documentation":"

Represents the response from the server that describes the remote access session when AWS Device Farm stops the session.

" - }, - "StopRunRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop.

" - } - }, - "documentation":"

Represents the request to stop a specific run.

" - }, - "StopRunResult":{ - "type":"structure", - "members":{ - "run":{ - "shape":"Run", - "documentation":"

The run that was stopped.

" - } - }, - "documentation":"

Represents the results of your stop run attempt.

" - }, - "String":{"type":"string"}, - "Suite":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The suite's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The suite's name.

" - }, - "type":{ - "shape":"TestType", - "documentation":"

The suite's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

When the suite was created.

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The suite's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The suite's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "started":{ - "shape":"DateTime", - "documentation":"

The suite's start time.

" - }, - "stopped":{ - "shape":"DateTime", - "documentation":"

The suite's stop time.

" - }, - "counters":{ - "shape":"Counters", - "documentation":"

The suite's result counters.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the suite's result.

" - }, - "deviceMinutes":{ - "shape":"DeviceMinutes", - "documentation":"

Represents the total (metered or unmetered) minutes used by the test suite.

" - } - }, - "documentation":"

Represents a collection of one or more tests.

" - }, - "Suites":{ - "type":"list", - "member":{"shape":"Suite"} - }, - "Test":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The test's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The test's name.

" - }, - "type":{ - "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

When the test was created.

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The test's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" - }, - "result":{ - "shape":"ExecutionResult", - "documentation":"

The test's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" - }, - "started":{ - "shape":"DateTime", - "documentation":"

The test's start time.

" - }, - "stopped":{ - "shape":"DateTime", - "documentation":"

The test's stop time.

" - }, - "counters":{ - "shape":"Counters", - "documentation":"

The test's result counters.

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the test's result.

" - }, - "deviceMinutes":{ - "shape":"DeviceMinutes", - "documentation":"

Represents the total (metered or unmetered) minutes used by the test.

" - } - }, - "documentation":"

Represents a condition that is evaluated.

" - }, - "TestParameters":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "TestType":{ - "type":"string", - "enum":[ - "BUILTIN_FUZZ", - "BUILTIN_EXPLORER", - "WEB_PERFORMANCE_PROFILE", - "APPIUM_JAVA_JUNIT", - "APPIUM_JAVA_TESTNG", - "APPIUM_PYTHON", - "APPIUM_WEB_JAVA_JUNIT", - "APPIUM_WEB_JAVA_TESTNG", - "APPIUM_WEB_PYTHON", - "CALABASH", - "INSTRUMENTATION", - "UIAUTOMATION", - "UIAUTOMATOR", - "XCTEST", - "XCTEST_UI", - "REMOTE_ACCESS_RECORD", - "REMOTE_ACCESS_REPLAY" - ] - }, - "Tests":{ - "type":"list", - "member":{"shape":"Test"} - }, - "TransactionIdentifier":{ - "type":"string", - "min":32 - }, - "TrialMinutes":{ - "type":"structure", - "members":{ - "total":{ - "shape":"Double", - "documentation":"

The total number of free trial minutes that the account started with.

" - }, - "remaining":{ - "shape":"Double", - "documentation":"

The number of free trial minutes remaining in the account.

" - } - }, - "documentation":"

Represents information about free trial device minutes for an AWS account.

" - }, - "URL":{ - "type":"string", - "max":2048, - "min":0 - }, - "UniqueProblem":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

A message about the unique problems' result.

" - }, - "problems":{ - "shape":"Problems", - "documentation":"

Information about the problems.

" - } - }, - "documentation":"

A collection of one or more problems, grouped by their result.

" - }, - "UniqueProblems":{ - "type":"list", - "member":{"shape":"UniqueProblem"} - }, - "UniqueProblemsByExecutionResultMap":{ - "type":"map", - "key":{"shape":"ExecutionResult"}, - "value":{"shape":"UniqueProblems"} - }, - "UpdateDeviceInstanceRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device instance.

" - }, - "profileArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the profile that you want to associate with the device instance.

" - }, - "labels":{ - "shape":"InstanceLabels", - "documentation":"

An array of strings that you want to associate with the device instance.

" - } - } - }, - "UpdateDeviceInstanceResult":{ - "type":"structure", - "members":{ - "deviceInstance":{ - "shape":"DeviceInstance", - "documentation":"

An object containing information about your device instance.

" - } - } - }, - "UpdateDevicePoolRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resourc Name (ARN) of the Device Farm device pool you wish to update.

" - }, - "name":{ - "shape":"Name", - "documentation":"

A string representing the name of the device pool you wish to update.

" - }, - "description":{ - "shape":"Message", - "documentation":"

A description of the device pool you wish to update.

" - }, - "rules":{ - "shape":"Rules", - "documentation":"

Represents the rules you wish to modify for the device pool. Updating rules is optional; however, if you choose to update rules for your request, the update will replace the existing rules.

" - } - }, - "documentation":"

Represents a request to the update device pool operation.

" - }, - "UpdateDevicePoolResult":{ - "type":"structure", - "members":{ - "devicePool":{ - "shape":"DevicePool", - "documentation":"

The device pool you just updated.

" - } - }, - "documentation":"

Represents the result of an update device pool request.

" - }, - "UpdateInstanceProfileRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The updated name for your instance profile.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The updated description for your instance profile.

" - }, - "packageCleanup":{ - "shape":"Boolean", - "documentation":"

The updated choice for whether you want to specify package cleanup. The default value is false for private devices.

" - }, - "excludeAppPackagesFromCleanup":{ - "shape":"PackageIds", - "documentation":"

An array of strings specifying the list of app packages that should not be cleaned up from the device after a test run is over.

The list of packages is only considered if you set packageCleanup to true.

" - }, - "rebootAfterUse":{ - "shape":"Boolean", - "documentation":"

The updated choice for whether you want to reboot the device after use. The default value is true.

" - } - } - }, - "UpdateInstanceProfileResult":{ - "type":"structure", - "members":{ - "instanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

An object containing information about your instance profile.

" - } - } - }, - "UpdateNetworkProfileRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to update network profile settings.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the network profile about which you are returning information.

" - }, - "description":{ - "shape":"Message", - "documentation":"

The 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"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project whose name you wish to update.

" - }, - "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.

" - }, - "UpdateProjectResult":{ - "type":"structure", - "members":{ - "project":{ - "shape":"Project", - "documentation":"

The project you wish to update.

" - } - }, - "documentation":"

Represents the result of an update project request.

" - }, - "UpdateUploadRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the uploaded test spec.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The upload's test spec file name. The name should not contain the '/' character. The test spec file name must end with the .yaml or .yml file extension.

" - }, - "contentType":{ - "shape":"ContentType", - "documentation":"

The upload's content type (for example, \"application/x-yaml\").

" - }, - "editContent":{ - "shape":"Boolean", - "documentation":"

Set to true if the YAML file has changed and needs to be updated; otherwise, set to false.

" - } - } - }, - "UpdateUploadResult":{ - "type":"structure", - "members":{ - "upload":{ - "shape":"Upload", - "documentation":"

A test spec uploaded to Device Farm.

" - } - } - }, - "UpdateVPCEConfigurationRequest":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to update.

" - }, - "vpceConfigurationName":{ - "shape":"VPCEConfigurationName", - "documentation":"

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

" - }, - "vpceServiceName":{ - "shape":"VPCEServiceName", - "documentation":"

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

" - }, - "serviceDnsName":{ - "shape":"ServiceDnsName", - "documentation":"

The DNS (domain) name used to connect to your private service in your Amazon VPC. The DNS name must not already be in use on the Internet.

" - }, - "vpceConfigurationDescription":{ - "shape":"VPCEConfigurationDescription", - "documentation":"

An optional description, providing more details about your VPC endpoint configuration.

" - } - } - }, - "UpdateVPCEConfigurationResult":{ - "type":"structure", - "members":{ - "vpceConfiguration":{ - "shape":"VPCEConfiguration", - "documentation":"

An object containing information about your VPC endpoint configuration.

" - } - } - }, - "Upload":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The upload's ARN.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The upload's file name.

" - }, - "created":{ - "shape":"DateTime", - "documentation":"

When the upload was created.

" - }, - "type":{ - "shape":"UploadType", - "documentation":"

The upload's type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

" - }, - "status":{ - "shape":"UploadStatus", - "documentation":"

The upload's status.

Must be one of the following values:

  • FAILED: A failed status.

  • INITIALIZED: An initialized status.

  • PROCESSING: A processing status.

  • SUCCEEDED: A succeeded status.

" - }, - "url":{ - "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.

" - }, - "metadata":{ - "shape":"Metadata", - "documentation":"

The upload's metadata. For example, for Android, this contains information that is parsed from the manifest and is displayed in the AWS Device Farm console after the associated app is uploaded.

" - }, - "contentType":{ - "shape":"ContentType", - "documentation":"

The upload's content type (for example, \"application/octet-stream\").

" - }, - "message":{ - "shape":"Message", - "documentation":"

A message about the upload's result.

" - }, - "category":{ - "shape":"UploadCategory", - "documentation":"

The upload's category. Allowed values include:

  • CURATED: An upload managed by AWS Device Farm.

  • PRIVATE: An upload managed by the AWS Device Farm customer.

" - } - }, - "documentation":"

An app or a set of one or more tests to upload or that have been uploaded.

" - }, - "UploadCategory":{ - "type":"string", - "enum":[ - "CURATED", - "PRIVATE" - ] - }, - "UploadStatus":{ - "type":"string", - "enum":[ - "INITIALIZED", - "PROCESSING", - "SUCCEEDED", - "FAILED" - ] - }, - "UploadType":{ - "type":"string", - "enum":[ - "ANDROID_APP", - "IOS_APP", - "WEB_APP", - "EXTERNAL_DATA", - "APPIUM_JAVA_JUNIT_TEST_PACKAGE", - "APPIUM_JAVA_TESTNG_TEST_PACKAGE", - "APPIUM_PYTHON_TEST_PACKAGE", - "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", - "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", - "APPIUM_WEB_PYTHON_TEST_PACKAGE", - "CALABASH_TEST_PACKAGE", - "INSTRUMENTATION_TEST_PACKAGE", - "UIAUTOMATION_TEST_PACKAGE", - "UIAUTOMATOR_TEST_PACKAGE", - "XCTEST_TEST_PACKAGE", - "XCTEST_UI_TEST_PACKAGE", - "APPIUM_JAVA_JUNIT_TEST_SPEC", - "APPIUM_JAVA_TESTNG_TEST_SPEC", - "APPIUM_PYTHON_TEST_SPEC", - "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC", - "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC", - "APPIUM_WEB_PYTHON_TEST_SPEC", - "INSTRUMENTATION_TEST_SPEC", - "XCTEST_UI_TEST_SPEC" - ] - }, - "Uploads":{ - "type":"list", - "member":{"shape":"Upload"} - }, - "VPCEConfiguration":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration.

" - }, - "vpceConfigurationName":{ - "shape":"VPCEConfigurationName", - "documentation":"

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

" - }, - "vpceServiceName":{ - "shape":"VPCEServiceName", - "documentation":"

The name of the VPC endpoint service running inside your AWS account that you want Device Farm to test.

" - }, - "serviceDnsName":{ - "shape":"ServiceDnsName", - "documentation":"

The DNS name that maps to the private IP address of the service you want to access.

" - }, - "vpceConfigurationDescription":{ - "shape":"VPCEConfigurationDescription", - "documentation":"

An optional description, providing more details about your VPC endpoint configuration.

" - } - }, - "documentation":"

Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.

" - }, - "VPCEConfigurationDescription":{ - "type":"string", - "max":2048, - "min":0 - }, - "VPCEConfigurationName":{ - "type":"string", - "max":1024, - "min":0 - }, - "VPCEConfigurations":{ - "type":"list", - "member":{"shape":"VPCEConfiguration"} - }, - "VPCEServiceName":{ - "type":"string", - "max":2048, - "min":0 - }, - "VideoCapture":{"type":"boolean"} - }, - "documentation":"

AWS Device Farm is a service that enables mobile app developers to test Android, iOS, and Fire OS apps on physical phones, tablets, and other devices in the cloud.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/service-2.json deleted file mode 100644 index 39979feb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/directconnect/2012-10-25/service-2.json +++ /dev/null @@ -1,2256 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-10-25", - "endpointPrefix":"directconnect", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Direct Connect", - "serviceId":"Direct Connect", - "signatureVersion":"v4", - "targetPrefix":"OvertureService", - "uid":"directconnect-2012-10-25" - }, - "operations":{ - "AllocateConnectionOnInterconnect":{ - "name":"AllocateConnectionOnInterconnect", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateConnectionOnInterconnectRequest"}, - "output":{"shape":"Connection"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocatePrivateVirtualInterfaceRequest"}, - "output":{"shape":"VirtualInterface"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocatePublicVirtualInterfaceRequest"}, - "output":{"shape":"VirtualInterface"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Provisions a public virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a public virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

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.

In order to reassociate a virtual interface to a new connection or LAG, the requester must own either the virtual interface itself or the connection to which the virtual interface is currently associated. Additionally, the requester must own the connection or LAG to which the virtual interface will be newly associated.

" - }, - "ConfirmConnection":{ - "name":"ConfirmConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmConnectionRequest"}, - "output":{"shape":"ConfirmConnectionResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Confirm the creation of a hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the 'Ordering' state, and will remain in this state until the owner calls ConfirmConnection to confirm creation of the hosted connection.

" - }, - "ConfirmPrivateVirtualInterface":{ - "name":"ConfirmPrivateVirtualInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmPrivateVirtualInterfaceRequest"}, - "output":{"shape":"ConfirmPrivateVirtualInterfaceResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Accept ownership of a private virtual interface created by another customer.

After the virtual interface owner calls this function, the virtual interface will be created and attached to the given virtual private gateway or direct connect gateway, and will be available for handling traffic.

" - }, - "ConfirmPublicVirtualInterface":{ - "name":"ConfirmPublicVirtualInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmPublicVirtualInterfaceRequest"}, - "output":{"shape":"ConfirmPublicVirtualInterfaceResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Accept ownership of a public virtual interface created by another customer.

After the virtual interface owner calls this function, the specified virtual interface will be created and made available for handling traffic.

" - }, - "CreateBGPPeer":{ - "name":"CreateBGPPeer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBGPPeerRequest"}, - "output":{"shape":"CreateBGPPeerResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates a new BGP peer on a specified virtual interface. The BGP peer cannot be in the same address family (IPv4/IPv6) of an existing BGP peer on the virtual interface.

You must create a BGP peer for the corresponding address family in order to access AWS resources that also use that address family.

When creating a IPv6 BGP peer, the Amazon address and customer address fields must be left blank. IPv6 addresses are automatically assigned from Amazon's pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

For a public virtual interface, the Autonomous System Number (ASN) must be private or already whitelisted for the virtual interface.

" - }, - "CreateConnection":{ - "name":"CreateConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConnectionRequest"}, - "output":{"shape":"Connection"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates a new connection between the customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with. You can establish connections with AWS Direct Connect locations in multiple regions, but a connection in one region does not provide connectivity to other regions.

To find the locations for your region, use DescribeLocations.

You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection will be created.

" - }, - "CreateDirectConnectGateway":{ - "name":"CreateDirectConnectGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDirectConnectGatewayRequest"}, - "output":{"shape":"CreateDirectConnectGatewayResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates a new direct connect gateway. A direct connect gateway is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. direct connect gateways are global and visible in any AWS region after they are created. The virtual interfaces and virtual private gateways that are connected through a direct connect gateway can be in different regions. This enables you to connect to a VPC in any region, regardless of the region in which the virtual interfaces are located, and pass traffic between them.

" - }, - "CreateDirectConnectGatewayAssociation":{ - "name":"CreateDirectConnectGatewayAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDirectConnectGatewayAssociationRequest"}, - "output":{"shape":"CreateDirectConnectGatewayAssociationResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates an association between a direct connect gateway and a virtual private gateway (VGW). The VGW must be attached to a VPC and must not be associated with another direct connect gateway.

" - }, - "CreateInterconnect":{ - "name":"CreateInterconnect", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInterconnectRequest"}, - "output":{"shape":"Interconnect"}, - "errors":[ - {"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.

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePrivateVirtualInterfaceRequest"}, - "output":{"shape":"VirtualInterface"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates a new private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface supports sending traffic to a single virtual private cloud (VPC).

" - }, - "CreatePublicVirtualInterface":{ - "name":"CreatePublicVirtualInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePublicVirtualInterfaceRequest"}, - "output":{"shape":"VirtualInterface"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Creates a new public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon Simple Storage Service (Amazon S3).

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.

" - }, - "DeleteBGPPeer":{ - "name":"DeleteBGPPeer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBGPPeerRequest"}, - "output":{"shape":"DeleteBGPPeerResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Deletes a BGP peer on the specified virtual interface that matches the specified customer address and ASN. You cannot delete the last BGP peer from a virtual interface.

" - }, - "DeleteConnection":{ - "name":"DeleteConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConnectionRequest"}, - "output":{"shape":"Connection"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Deletes the connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. You need to cancel separately with the providers any services or charges for cross-connects or network circuits that connect you to the AWS Direct Connect location.

" - }, - "DeleteDirectConnectGateway":{ - "name":"DeleteDirectConnectGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDirectConnectGatewayRequest"}, - "output":{"shape":"DeleteDirectConnectGatewayResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Deletes a direct connect gateway. You must first delete all virtual interfaces that are attached to the direct connect gateway and disassociate all virtual private gateways that are associated with the direct connect gateway.

" - }, - "DeleteDirectConnectGatewayAssociation":{ - "name":"DeleteDirectConnectGatewayAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDirectConnectGatewayAssociationRequest"}, - "output":{"shape":"DeleteDirectConnectGatewayAssociationResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Deletes the association between a direct connect gateway and a virtual private gateway.

" - }, - "DeleteInterconnect":{ - "name":"DeleteInterconnect", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInterconnectRequest"}, - "output":{"shape":"DeleteInterconnectResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVirtualInterfaceRequest"}, - "output":{"shape":"DeleteVirtualInterfaceResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Deletes a virtual interface.

" - }, - "DescribeConnectionLoa":{ - "name":"DescribeConnectionLoa", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConnectionLoaRequest"}, - "output":{"shape":"DescribeConnectionLoaResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConnectionsRequest"}, - "output":{"shape":"Connections"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Displays all connections in this region.

If a connection ID is provided, the call returns only that particular connection.

" - }, - "DescribeConnectionsOnInterconnect":{ - "name":"DescribeConnectionsOnInterconnect", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConnectionsOnInterconnectRequest"}, - "output":{"shape":"Connections"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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 - }, - "DescribeDirectConnectGatewayAssociations":{ - "name":"DescribeDirectConnectGatewayAssociations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDirectConnectGatewayAssociationsRequest"}, - "output":{"shape":"DescribeDirectConnectGatewayAssociationsResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns a list of all direct connect gateway and virtual private gateway (VGW) associations. Either a direct connect gateway ID or a VGW ID must be provided in the request. If a direct connect gateway ID is provided, the response returns all VGWs associated with the direct connect gateway. If a VGW ID is provided, the response returns all direct connect gateways associated with the VGW. If both are provided, the response only returns the association that matches both the direct connect gateway and the VGW.

" - }, - "DescribeDirectConnectGatewayAttachments":{ - "name":"DescribeDirectConnectGatewayAttachments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDirectConnectGatewayAttachmentsRequest"}, - "output":{"shape":"DescribeDirectConnectGatewayAttachmentsResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns a list of all direct connect gateway and virtual interface (VIF) attachments. Either a direct connect gateway ID or a VIF ID must be provided in the request. If a direct connect gateway ID is provided, the response returns all VIFs attached to the direct connect gateway. If a VIF ID is provided, the response returns all direct connect gateways attached to the VIF. If both are provided, the response only returns the attachment that matches both the direct connect gateway and the VIF.

" - }, - "DescribeDirectConnectGateways":{ - "name":"DescribeDirectConnectGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDirectConnectGatewaysRequest"}, - "output":{"shape":"DescribeDirectConnectGatewaysResult"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns a list of direct connect gateways in your account. Deleted direct connect gateways are not returned. You can provide a direct connect gateway ID in the request to return information about the specific direct connect gateway only. Otherwise, if a direct connect gateway ID is not provided, information about all of your direct connect gateways is returned.

" - }, - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInterconnectLoaRequest"}, - "output":{"shape":"DescribeInterconnectLoaResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInterconnectsRequest"}, - "output":{"shape":"Interconnects"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns a list of interconnects owned by the AWS account.

If an interconnect ID is provided, it will only return this particular interconnect.

" - }, - "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":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"Locations"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns the list of AWS Direct Connect locations in the current AWS region. These are the locations that may be selected when calling CreateConnection or CreateInterconnect.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Describes the tags associated with the specified Direct Connect resources.

" - }, - "DescribeVirtualGateways":{ - "name":"DescribeVirtualGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"VirtualGateways"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Returns a list of virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linking to a virtual private gateway. A virtual private gateway can be managed via Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

" - }, - "DescribeVirtualInterfaces":{ - "name":"DescribeVirtualInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVirtualInterfacesRequest"}, - "output":{"shape":"VirtualInterfaces"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"DuplicateTagKeysException"}, - {"shape":"TooManyTagsException"}, - {"shape":"DirectConnectServerException"}, - {"shape":"DirectConnectClientException"} - ], - "documentation":"

Adds the specified tags to the specified Direct Connect resource. Each Direct Connect resource can have a maximum of 50 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the Direct Connect resource, this action updates its value.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"DirectConnectServerException"}, - {"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":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

Example: 65000

" - }, - "AddressFamily":{ - "type":"string", - "documentation":"

Indicates the address family for the BGP peer.

  • ipv4: IPv4 address family

  • ipv6: IPv6 address family

", - "enum":[ - "ipv4", - "ipv6" - ] - }, - "AllocateConnectionOnInterconnectRequest":{ - "type":"structure", - "required":[ - "bandwidth", - "connectionName", - "ownerAccount", - "interconnectId", - "vlan" - ], - "members":{ - "bandwidth":{ - "shape":"Bandwidth", - "documentation":"

Bandwidth of the connection.

Example: \"500Mbps\"

Default: None

Values: 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, or 500Mbps

" - }, - "connectionName":{ - "shape":"ConnectionName", - "documentation":"

Name of the provisioned connection.

Example: \"500M Connection to AWS\"

Default: None

" - }, - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

Numeric account Id of the customer for whom the connection will be provisioned.

Example: 123443215678

Default: None

" - }, - "interconnectId":{ - "shape":"InterconnectId", - "documentation":"

ID of the interconnect on which the connection will be provisioned.

Example: dxcon-456abc78

Default: None

" - }, - "vlan":{ - "shape":"VLAN", - "documentation":"

The dedicated VLAN provisioned to the connection.

Example: 101

Default: None

" - } - }, - "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":[ - "connectionId", - "ownerAccount", - "newPrivateVirtualInterfaceAllocation" - ], - "members":{ - "connectionId":{ - "shape":"ConnectionId", - "documentation":"

The connection ID on which the private virtual interface is provisioned.

Default: None

" - }, - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new private virtual interface.

Default: None

" - }, - "newPrivateVirtualInterfaceAllocation":{ - "shape":"NewPrivateVirtualInterfaceAllocation", - "documentation":"

Detailed information for the private virtual interface to be provisioned.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the AllocatePrivateVirtualInterface operation.

" - }, - "AllocatePublicVirtualInterfaceRequest":{ - "type":"structure", - "required":[ - "connectionId", - "ownerAccount", - "newPublicVirtualInterfaceAllocation" - ], - "members":{ - "connectionId":{ - "shape":"ConnectionId", - "documentation":"

The connection ID on which the public virtual interface is provisioned.

Default: None

" - }, - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new public virtual interface.

Default: None

" - }, - "newPublicVirtualInterfaceAllocation":{ - "shape":"NewPublicVirtualInterfaceAllocation", - "documentation":"

Detailed information for the public virtual interface to be provisioned.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the AllocatePublicVirtualInterface operation.

" - }, - "AmazonAddress":{ - "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

", - "deprecated":true - }, - "AwsDeviceV2":{"type":"string"}, - "BGPAuthKey":{ - "type":"string", - "documentation":"

The authentication key for BGP configuration.

Example: asdf34example

" - }, - "BGPPeer":{ - "type":"structure", - "members":{ - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "addressFamily":{"shape":"AddressFamily"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "bgpPeerState":{"shape":"BGPPeerState"}, - "bgpStatus":{"shape":"BGPStatus"}, - "awsDeviceV2":{ - "shape":"AwsDeviceV2", - "documentation":"

The Direct Connection endpoint which the BGP peer terminates on.

" - } - }, - "documentation":"

A structure containing information about a BGP peer.

" - }, - "BGPPeerList":{ - "type":"list", - "member":{"shape":"BGPPeer"}, - "documentation":"

A list of the BGP peers configured on this virtual interface.

" - }, - "BGPPeerState":{ - "type":"string", - "documentation":"

The state of the BGP peer.

  • Verifying: The BGP peering addresses or ASN require validation before the BGP peer can be created. This state only applies to BGP peers on a public virtual interface.

  • Pending: The BGP peer has been created, and is in this state until it is ready to be established.

  • Available: The BGP peer can be established.

  • Deleting: The BGP peer is in the process of being deleted.

  • Deleted: The BGP peer has been deleted and cannot be established.

", - "enum":[ - "verifying", - "pending", - "available", - "deleting", - "deleted" - ] - }, - "BGPStatus":{ - "type":"string", - "documentation":"

The Up/Down state of the BGP peer.

  • Up: The BGP peer is established.

    A state of up does not indicate the state of the routing function. Ensure that you are receiving routes over the BGP session.

  • Down: The BGP peer is down.

", - "enum":[ - "up", - "down" - ] - }, - "Bandwidth":{ - "type":"string", - "documentation":"

Bandwidth of the connection.

Example: 1Gbps

Default: None

" - }, - "BooleanFlag":{"type":"boolean"}, - "CIDR":{"type":"string"}, - "ConfirmConnectionRequest":{ - "type":"structure", - "required":["connectionId"], - "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the ConfirmConnection operation.

" - }, - "ConfirmConnectionResponse":{ - "type":"structure", - "members":{ - "connectionState":{"shape":"ConnectionState"} - }, - "documentation":"

The response received when ConfirmConnection is called.

" - }, - "ConfirmPrivateVirtualInterfaceRequest":{ - "type":"structure", - "required":["virtualInterfaceId"], - "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"}, - "virtualGatewayId":{ - "shape":"VirtualGatewayId", - "documentation":"

ID of the virtual private gateway that will be attached to the virtual interface.

A virtual private gateway can be managed via the Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

Default: None

" - }, - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

ID of the direct connect gateway that will be attached to the virtual interface.

A direct connect gateway can be managed via the AWS Direct Connect console or the CreateDirectConnectGateway action.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the ConfirmPrivateVirtualInterface operation.

" - }, - "ConfirmPrivateVirtualInterfaceResponse":{ - "type":"structure", - "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when ConfirmPrivateVirtualInterface is called.

" - }, - "ConfirmPublicVirtualInterfaceRequest":{ - "type":"structure", - "required":["virtualInterfaceId"], - "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the ConfirmPublicVirtualInterface operation.

" - }, - "ConfirmPublicVirtualInterfaceResponse":{ - "type":"structure", - "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when ConfirmPublicVirtualInterface is called.

" - }, - "Connection":{ - "type":"structure", - "members":{ - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new connection.

" - }, - "connectionId":{"shape":"ConnectionId"}, - "connectionName":{"shape":"ConnectionName"}, - "connectionState":{"shape":"ConnectionState"}, - "region":{"shape":"Region"}, - "location":{"shape":"LocationCode"}, - "bandwidth":{ - "shape":"Bandwidth", - "documentation":"

Bandwidth of the connection.

Example: 1Gbps (for regular connections), or 500Mbps (for hosted connections)

Default: None

" - }, - "vlan":{"shape":"VLAN"}, - "partnerName":{ - "shape":"PartnerName", - "documentation":"

The name of the AWS Direct Connect service provider associated with the connection.

" - }, - "loaIssueTime":{ - "shape":"LoaIssueTime", - "documentation":"

The time of the most recent call to DescribeLoa for this connection.

" - }, - "lagId":{"shape":"LagId"}, - "awsDevice":{ - "shape":"AwsDevice", - "documentation":"

Deprecated in favor of awsDeviceV2.

The Direct Connection endpoint which the physical connection terminates on.

" - }, - "awsDeviceV2":{ - "shape":"AwsDeviceV2", - "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":"

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", - "member":{"shape":"Connection"}, - "documentation":"

A list of connections.

" - }, - "ConnectionName":{ - "type":"string", - "documentation":"

The name of the connection.

Example: \"My Connection to AWS\"

Default: None

" - }, - "ConnectionState":{ - "type":"string", - "documentation":"

State of the connection.

  • Ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • Requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending: The connection has been approved, and is being initialized.

  • Available: The network link is up, and the connection is ready for use.

  • Down: The network link is down.

  • Deleting: The connection is in the process of being deleted.

  • Deleted: The connection has been deleted.

  • Rejected: A hosted connection in the 'Ordering' state will enter the 'Rejected' state if it is deleted by the end customer.

", - "enum":[ - "ordering", - "requested", - "pending", - "available", - "down", - "deleting", - "deleted", - "rejected" - ] - }, - "Connections":{ - "type":"structure", - "members":{ - "connections":{ - "shape":"ConnectionList", - "documentation":"

A list of connections.

" - } - }, - "documentation":"

A structure containing a list of connections.

" - }, - "Count":{"type":"integer"}, - "CreateBGPPeerRequest":{ - "type":"structure", - "members":{ - "virtualInterfaceId":{ - "shape":"VirtualInterfaceId", - "documentation":"

The ID of the virtual interface on which the BGP peer will be provisioned.

Example: dxvif-456abc78

Default: None

" - }, - "newBGPPeer":{ - "shape":"NewBGPPeer", - "documentation":"

Detailed information for the BGP peer to be created.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the CreateBGPPeer operation.

" - }, - "CreateBGPPeerResponse":{ - "type":"structure", - "members":{ - "virtualInterface":{"shape":"VirtualInterface"} - }, - "documentation":"

The response received when CreateBGPPeer is called.

" - }, - "CreateConnectionRequest":{ - "type":"structure", - "required":[ - "location", - "bandwidth", - "connectionName" - ], - "members":{ - "location":{"shape":"LocationCode"}, - "bandwidth":{"shape":"Bandwidth"}, - "connectionName":{"shape":"ConnectionName"}, - "lagId":{"shape":"LagId"} - }, - "documentation":"

Container for the parameters to the CreateConnection operation.

" - }, - "CreateDirectConnectGatewayAssociationRequest":{ - "type":"structure", - "required":[ - "directConnectGatewayId", - "virtualGatewayId" - ], - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - }, - "virtualGatewayId":{ - "shape":"VirtualGatewayId", - "documentation":"

The ID of the virtual private gateway.

Example: \"vgw-abc123ef\"

Default: None

" - } - }, - "documentation":"

Container for the parameters to the CreateDirectConnectGatewayAssociation operation.

" - }, - "CreateDirectConnectGatewayAssociationResult":{ - "type":"structure", - "members":{ - "directConnectGatewayAssociation":{ - "shape":"DirectConnectGatewayAssociation", - "documentation":"

The direct connect gateway association to be created.

" - } - }, - "documentation":"

Container for the response from the CreateDirectConnectGatewayAssociation API call

" - }, - "CreateDirectConnectGatewayRequest":{ - "type":"structure", - "required":["directConnectGatewayName"], - "members":{ - "directConnectGatewayName":{ - "shape":"DirectConnectGatewayName", - "documentation":"

The name of the direct connect gateway.

Example: \"My direct connect gateway\"

Default: None

" - }, - "amazonSideAsn":{ - "shape":"LongAsn", - "documentation":"

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be configured on the Amazon side of the connection. The ASN must be in the private range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294

Example: 65200

Default: 64512

" - } - }, - "documentation":"

Container for the parameters to the CreateDirectConnectGateway operation.

" - }, - "CreateDirectConnectGatewayResult":{ - "type":"structure", - "members":{ - "directConnectGateway":{ - "shape":"DirectConnectGateway", - "documentation":"

The direct connect gateway to be created.

" - } - }, - "documentation":"

Container for the response from the CreateDirectConnectGateway API call

" - }, - "CreateInterconnectRequest":{ - "type":"structure", - "required":[ - "interconnectName", - "bandwidth", - "location" - ], - "members":{ - "interconnectName":{ - "shape":"InterconnectName", - "documentation":"

The name of the interconnect.

Example: \"1G Interconnect to AWS\"

Default: None

" - }, - "bandwidth":{ - "shape":"Bandwidth", - "documentation":"

The port bandwidth

Example: 1Gbps

Default: None

Available values: 1Gbps,10Gbps

" - }, - "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":[ - "connectionId", - "newPrivateVirtualInterface" - ], - "members":{ - "connectionId":{"shape":"ConnectionId"}, - "newPrivateVirtualInterface":{ - "shape":"NewPrivateVirtualInterface", - "documentation":"

Detailed information for the private virtual interface to be created.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the CreatePrivateVirtualInterface operation.

" - }, - "CreatePublicVirtualInterfaceRequest":{ - "type":"structure", - "required":[ - "connectionId", - "newPublicVirtualInterface" - ], - "members":{ - "connectionId":{"shape":"ConnectionId"}, - "newPublicVirtualInterface":{ - "shape":"NewPublicVirtualInterface", - "documentation":"

Detailed information for the public virtual interface to be created.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the CreatePublicVirtualInterface operation.

" - }, - "CustomerAddress":{ - "type":"string", - "documentation":"

IP address assigned to the customer interface.

Example: 192.168.1.2/30 or 2001:db8::2/125

" - }, - "DeleteBGPPeerRequest":{ - "type":"structure", - "members":{ - "virtualInterfaceId":{ - "shape":"VirtualInterfaceId", - "documentation":"

The ID of the virtual interface from which the BGP peer will be deleted.

Example: dxvif-456abc78

Default: None

" - }, - "asn":{"shape":"ASN"}, - "customerAddress":{"shape":"CustomerAddress"} - }, - "documentation":"

Container for the parameters to the DeleteBGPPeer operation.

" - }, - "DeleteBGPPeerResponse":{ - "type":"structure", - "members":{ - "virtualInterface":{"shape":"VirtualInterface"} - }, - "documentation":"

The response received when DeleteBGPPeer is called.

" - }, - "DeleteConnectionRequest":{ - "type":"structure", - "required":["connectionId"], - "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the DeleteConnection operation.

" - }, - "DeleteDirectConnectGatewayAssociationRequest":{ - "type":"structure", - "required":[ - "directConnectGatewayId", - "virtualGatewayId" - ], - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - }, - "virtualGatewayId":{ - "shape":"VirtualGatewayId", - "documentation":"

The ID of the virtual private gateway.

Example: \"vgw-abc123ef\"

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DeleteDirectConnectGatewayAssociation operation.

" - }, - "DeleteDirectConnectGatewayAssociationResult":{ - "type":"structure", - "members":{ - "directConnectGatewayAssociation":{ - "shape":"DirectConnectGatewayAssociation", - "documentation":"

The direct connect gateway association to be deleted.

" - } - }, - "documentation":"

Container for the response from the DeleteDirectConnectGatewayAssociation API call

" - }, - "DeleteDirectConnectGatewayRequest":{ - "type":"structure", - "required":["directConnectGatewayId"], - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DeleteDirectConnectGateway operation.

" - }, - "DeleteDirectConnectGatewayResult":{ - "type":"structure", - "members":{ - "directConnectGateway":{ - "shape":"DirectConnectGateway", - "documentation":"

The direct connect gateway to be deleted.

" - } - }, - "documentation":"

Container for the response from the DeleteDirectConnectGateway API call

" - }, - "DeleteInterconnectRequest":{ - "type":"structure", - "required":["interconnectId"], - "members":{ - "interconnectId":{"shape":"InterconnectId"} - }, - "documentation":"

Container for the parameters to the DeleteInterconnect operation.

" - }, - "DeleteInterconnectResponse":{ - "type":"structure", - "members":{ - "interconnectState":{"shape":"InterconnectState"} - }, - "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"], - "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the DeleteVirtualInterface operation.

" - }, - "DeleteVirtualInterfaceResponse":{ - "type":"structure", - "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when DeleteVirtualInterface is called.

" - }, - "DescribeConnectionLoaRequest":{ - "type":"structure", - "required":["connectionId"], - "members":{ - "connectionId":{"shape":"ConnectionId"}, - "providerName":{ - "shape":"ProviderName", - "documentation":"

The name of the APN partner or service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

Default: None

" - }, - "loaContentType":{"shape":"LoaContentType"} - }, - "documentation":"

Container for the parameters to the DescribeConnectionLoa operation.

" - }, - "DescribeConnectionLoaResponse":{ - "type":"structure", - "members":{ - "loa":{"shape":"Loa"} - }, - "documentation":"

The response received when DescribeConnectionLoa is called.

" - }, - "DescribeConnectionsOnInterconnectRequest":{ - "type":"structure", - "required":["interconnectId"], - "members":{ - "interconnectId":{ - "shape":"InterconnectId", - "documentation":"

ID of the interconnect on which a list of connection is provisioned.

Example: dxcon-abc123

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DescribeConnectionsOnInterconnect operation.

" - }, - "DescribeConnectionsRequest":{ - "type":"structure", - "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the DescribeConnections operation.

" - }, - "DescribeDirectConnectGatewayAssociationsRequest":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - }, - "virtualGatewayId":{ - "shape":"VirtualGatewayId", - "documentation":"

The ID of the virtual private gateway.

Example: \"vgw-abc123ef\"

Default: None

" - }, - "maxResults":{ - "shape":"MaxResultSetSize", - "documentation":"

The maximum number of direct connect gateway associations to return per page.

Example: 15

Default: None

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The token provided in the previous describe result to retrieve the next page of the result.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DescribeDirectConnectGatewayAssociations operation.

" - }, - "DescribeDirectConnectGatewayAssociationsResult":{ - "type":"structure", - "members":{ - "directConnectGatewayAssociations":{ - "shape":"DirectConnectGatewayAssociationList", - "documentation":"

Information about the direct connect gateway associations.

" - }, - "nextToken":{"shape":"PaginationToken"} - }, - "documentation":"

Container for the response from the DescribeDirectConnectGatewayAssociations API call

" - }, - "DescribeDirectConnectGatewayAttachmentsRequest":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - }, - "virtualInterfaceId":{ - "shape":"VirtualInterfaceId", - "documentation":"

The ID of the virtual interface.

Example: \"dxvif-abc123ef\"

Default: None

" - }, - "maxResults":{ - "shape":"MaxResultSetSize", - "documentation":"

The maximum number of direct connect gateway attachments to return per page.

Example: 15

Default: None

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The token provided in the previous describe result to retrieve the next page of the result.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DescribeDirectConnectGatewayAttachments operation.

" - }, - "DescribeDirectConnectGatewayAttachmentsResult":{ - "type":"structure", - "members":{ - "directConnectGatewayAttachments":{ - "shape":"DirectConnectGatewayAttachmentList", - "documentation":"

Information about the direct connect gateway attachments.

" - }, - "nextToken":{"shape":"PaginationToken"} - }, - "documentation":"

Container for the response from the DescribeDirectConnectGatewayAttachments API call

" - }, - "DescribeDirectConnectGatewaysRequest":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{ - "shape":"DirectConnectGatewayId", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

Default: None

" - }, - "maxResults":{ - "shape":"MaxResultSetSize", - "documentation":"

The maximum number of direct connect gateways to return per page.

Example: 15

Default: None

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

The token provided in the previous describe result to retrieve the next page of the result.

Default: None

" - } - }, - "documentation":"

Container for the parameters to the DescribeDirectConnectGateways operation.

" - }, - "DescribeDirectConnectGatewaysResult":{ - "type":"structure", - "members":{ - "directConnectGateways":{ - "shape":"DirectConnectGatewayList", - "documentation":"

Information about the direct connect gateways.

" - }, - "nextToken":{"shape":"PaginationToken"} - }, - "documentation":"

Container for the response from the DescribeDirectConnectGateways API call

" - }, - "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"], - "members":{ - "interconnectId":{"shape":"InterconnectId"}, - "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":"

Container for the parameters to the DescribeInterconnectLoa operation.

" - }, - "DescribeInterconnectLoaResponse":{ - "type":"structure", - "members":{ - "loa":{"shape":"Loa"} - }, - "documentation":"

The response received when DescribeInterconnectLoa is called.

" - }, - "DescribeInterconnectsRequest":{ - "type":"structure", - "members":{ - "interconnectId":{"shape":"InterconnectId"} - }, - "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"], - "members":{ - "resourceArns":{ - "shape":"ResourceArnList", - "documentation":"

The Amazon Resource Names (ARNs) of the Direct Connect resources.

" - } - }, - "documentation":"

Container for the parameters to the DescribeTags operation.

" - }, - "DescribeTagsResponse":{ - "type":"structure", - "members":{ - "resourceTags":{ - "shape":"ResourceTagList", - "documentation":"

Information about the tags.

" - } - }, - "documentation":"

The response received when DescribeTags is called.

" - }, - "DescribeVirtualInterfacesRequest":{ - "type":"structure", - "members":{ - "connectionId":{"shape":"ConnectionId"}, - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the DescribeVirtualInterfaces operation.

" - }, - "DirectConnectClientException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

This is an exception thrown when there is an issue with the input provided by the API call. For example, the name provided for a connection contains a pound sign (#). This can also occur when a valid value is provided, but is otherwise constrained. For example, the valid VLAN tag range is 1-4096 but each can only be used once per connection.

" - } - }, - "documentation":"

The API was called with invalid parameters. The error message will contain additional details about the cause.

", - "exception":true - }, - "DirectConnectGateway":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{"shape":"DirectConnectGatewayId"}, - "directConnectGatewayName":{"shape":"DirectConnectGatewayName"}, - "amazonSideAsn":{ - "shape":"LongAsn", - "documentation":"

The autonomous system number (ASN) for the Amazon side of the connection.

" - }, - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account ID of the owner of the direct connect gateway.

" - }, - "directConnectGatewayState":{"shape":"DirectConnectGatewayState"}, - "stateChangeError":{"shape":"StateChangeError"} - }, - "documentation":"

A direct connect gateway is an intermediate object that enables you to connect virtual interfaces and virtual private gateways.

" - }, - "DirectConnectGatewayAssociation":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{"shape":"DirectConnectGatewayId"}, - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "virtualGatewayRegion":{"shape":"VirtualGatewayRegion"}, - "virtualGatewayOwnerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account ID of the owner of the virtual private gateway.

" - }, - "associationState":{"shape":"DirectConnectGatewayAssociationState"}, - "stateChangeError":{"shape":"StateChangeError"} - }, - "documentation":"

The association between a direct connect gateway and virtual private gateway.

" - }, - "DirectConnectGatewayAssociationList":{ - "type":"list", - "member":{"shape":"DirectConnectGatewayAssociation"}, - "documentation":"

A list of direct connect gateway associations.

" - }, - "DirectConnectGatewayAssociationState":{ - "type":"string", - "documentation":"

State of the direct connect gateway association.

  • Associating: The initial state after calling CreateDirectConnectGatewayAssociation.

  • Associated: The direct connect gateway and virtual private gateway are successfully associated and ready to pass traffic.

  • Disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.

  • Disassociated: The virtual private gateway is successfully disassociated from the direct connect gateway. Traffic flow between the direct connect gateway and virtual private gateway stops.

", - "enum":[ - "associating", - "associated", - "disassociating", - "disassociated" - ] - }, - "DirectConnectGatewayAttachment":{ - "type":"structure", - "members":{ - "directConnectGatewayId":{"shape":"DirectConnectGatewayId"}, - "virtualInterfaceId":{"shape":"VirtualInterfaceId"}, - "virtualInterfaceRegion":{"shape":"VirtualInterfaceRegion"}, - "virtualInterfaceOwnerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account ID of the owner of the virtual interface.

" - }, - "attachmentState":{"shape":"DirectConnectGatewayAttachmentState"}, - "stateChangeError":{"shape":"StateChangeError"} - }, - "documentation":"

The association between a direct connect gateway and virtual interface.

" - }, - "DirectConnectGatewayAttachmentList":{ - "type":"list", - "member":{"shape":"DirectConnectGatewayAttachment"}, - "documentation":"

A list of direct connect gateway attachments.

" - }, - "DirectConnectGatewayAttachmentState":{ - "type":"string", - "documentation":"

State of the direct connect gateway attachment.

  • Attaching: The initial state after a virtual interface is created using the direct connect gateway.

  • Attached: The direct connect gateway and virtual interface are successfully attached and ready to pass traffic.

  • Detaching: The initial state after calling DeleteVirtualInterface on a virtual interface that is attached to a direct connect gateway.

  • Detached: The virtual interface is successfully detached from the direct connect gateway. Traffic flow between the direct connect gateway and virtual interface stops.

", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "DirectConnectGatewayId":{ - "type":"string", - "documentation":"

The ID of the direct connect gateway.

Example: \"abcd1234-dcba-5678-be23-cdef9876ab45\"

" - }, - "DirectConnectGatewayList":{ - "type":"list", - "member":{"shape":"DirectConnectGateway"}, - "documentation":"

A list of direct connect gateways.

" - }, - "DirectConnectGatewayName":{ - "type":"string", - "documentation":"

The name of the direct connect gateway.

Example: \"My direct connect gateway\"

Default: None

" - }, - "DirectConnectGatewayState":{ - "type":"string", - "documentation":"

State of the direct connect gateway.

  • Pending: The initial state after calling CreateDirectConnectGateway.

  • Available: The direct connect gateway is ready for use.

  • Deleting: The initial state after calling DeleteDirectConnectGateway.

  • Deleted: The direct connect gateway is deleted and cannot pass traffic.

", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "DirectConnectServerException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

This is an exception thrown when there is a backend issue on the server side.

" - } - }, - "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":{ - }, - "documentation":"

A tag key was specified more than once.

", - "exception":true - }, - "ErrorMessage":{"type":"string"}, - "Interconnect":{ - "type":"structure", - "members":{ - "interconnectId":{"shape":"InterconnectId"}, - "interconnectName":{"shape":"InterconnectName"}, - "interconnectState":{"shape":"InterconnectState"}, - "region":{"shape":"Region"}, - "location":{"shape":"LocationCode"}, - "bandwidth":{"shape":"Bandwidth"}, - "loaIssueTime":{ - "shape":"LoaIssueTime", - "documentation":"

The time of the most recent call to DescribeInterconnectLoa for this Interconnect.

" - }, - "lagId":{"shape":"LagId"}, - "awsDevice":{ - "shape":"AwsDevice", - "documentation":"

Deprecated in favor of awsDeviceV2.

The Direct Connection endpoint which the physical connection terminates on.

" - }, - "awsDeviceV2":{ - "shape":"AwsDeviceV2", - "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.

" - }, - "InterconnectId":{ - "type":"string", - "documentation":"

The ID of the interconnect.

Example: dxcon-abc123

" - }, - "InterconnectList":{ - "type":"list", - "member":{"shape":"Interconnect"}, - "documentation":"

A list of interconnects.

" - }, - "InterconnectName":{ - "type":"string", - "documentation":"

The name of the interconnect.

Example: \"1G Interconnect to AWS\"

" - }, - "InterconnectState":{ - "type":"string", - "documentation":"

State of the interconnect.

  • Requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending: The interconnect has been approved, and is being initialized.

  • Available: The network link is up, and the interconnect is ready for use.

  • Down: The network link is down.

  • Deleting: The interconnect is in the process of being deleted.

  • Deleted: The interconnect has been deleted.

", - "enum":[ - "requested", - "pending", - "available", - "down", - "deleting", - "deleted" - ] - }, - "Interconnects":{ - "type":"structure", - "members":{ - "interconnects":{ - "shape":"InterconnectList", - "documentation":"

A list of interconnects.

" - } - }, - "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":"

Deprecated in favor of awsDeviceV2.

The AWS Direct Connection endpoint that hosts the LAG.

" - }, - "awsDeviceV2":{ - "shape":"AwsDeviceV2", - "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":{ - "loaContent":{"shape":"LoaContent"}, - "loaContentType":{"shape":"LoaContentType"} - }, - "documentation":"

A structure containing the Letter of Authorization - Connecting Facility Assignment (LOA-CFA) for a connection.

" - }, - "LoaContent":{ - "type":"blob", - "documentation":"

The binary contents of the LOA-CFA document.

" - }, - "LoaContentType":{ - "type":"string", - "documentation":"

A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is \"application/pdf\".

Default: application/pdf

", - "enum":["application/pdf"] - }, - "LoaIssueTime":{"type":"timestamp"}, - "Location":{ - "type":"structure", - "members":{ - "locationCode":{ - "shape":"LocationCode", - "documentation":"

The code used to indicate the AWS Direct Connect location.

" - }, - "locationName":{ - "shape":"LocationName", - "documentation":"

The name of the AWS Direct Connect location. The name includes the colocation partner name and the physical site of the lit building.

" - }, - "region":{ - "shape":"Region", - "documentation":"

The AWS region where the AWS Direct connect location is located.

Example: us-east-1

Default: None

" - } - }, - "documentation":"

An AWS Direct Connect location where connections and interconnects can be requested.

" - }, - "LocationCode":{ - "type":"string", - "documentation":"

Where the connection is located.

Example: EqSV5

Default: None

" - }, - "LocationList":{ - "type":"list", - "member":{"shape":"Location"} - }, - "LocationName":{"type":"string"}, - "Locations":{ - "type":"structure", - "members":{ - "locations":{ - "shape":"LocationList", - "documentation":"

A list of colocation hubs where network providers have equipment. Most regions have multiple locations available.

" - } - }, - "documentation":"

A location is a network facility where AWS Direct Connect routers are available to be connected. Generally, these are colocation hubs where many network providers have equipment, and where cross connects can be delivered. Locations include a name and facility code, and must be provided when creating a connection.

" - }, - "LongAsn":{"type":"long"}, - "MaxResultSetSize":{ - "type":"integer", - "documentation":"

Maximum number of objects to return per page.

", - "box":true - }, - "NewBGPPeer":{ - "type":"structure", - "members":{ - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "addressFamily":{"shape":"AddressFamily"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"} - }, - "documentation":"

A structure containing information about a new BGP peer.

" - }, - "NewPrivateVirtualInterface":{ - "type":"structure", - "required":[ - "virtualInterfaceName", - "vlan", - "asn" - ], - "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "addressFamily":{"shape":"AddressFamily"}, - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "directConnectGatewayId":{"shape":"DirectConnectGatewayId"} - }, - "documentation":"

A structure containing information about a new private virtual interface.

" - }, - "NewPrivateVirtualInterfaceAllocation":{ - "type":"structure", - "required":[ - "virtualInterfaceName", - "vlan", - "asn" - ], - "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "addressFamily":{"shape":"AddressFamily"}, - "customerAddress":{"shape":"CustomerAddress"} - }, - "documentation":"

A structure containing information about a private virtual interface that will be provisioned on a connection.

" - }, - "NewPublicVirtualInterface":{ - "type":"structure", - "required":[ - "virtualInterfaceName", - "vlan", - "asn" - ], - "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "addressFamily":{"shape":"AddressFamily"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"} - }, - "documentation":"

A structure containing information about a new public virtual interface.

" - }, - "NewPublicVirtualInterfaceAllocation":{ - "type":"structure", - "required":[ - "virtualInterfaceName", - "vlan", - "asn" - ], - "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "addressFamily":{"shape":"AddressFamily"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"} - }, - "documentation":"

A structure containing information about a public virtual interface that will be provisioned on a connection.

" - }, - "OwnerAccount":{"type":"string"}, - "PaginationToken":{ - "type":"string", - "documentation":"

Token to retrieve the next page of the result.

" - }, - "PartnerName":{"type":"string"}, - "ProviderName":{"type":"string"}, - "Region":{ - "type":"string", - "documentation":"

The AWS region where the connection is located.

Example: us-east-1

Default: None

" - }, - "ResourceArn":{"type":"string"}, - "ResourceArnList":{ - "type":"list", - "member":{"shape":"ResourceArn"} - }, - "ResourceTag":{ - "type":"structure", - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The tags.

" - } - }, - "documentation":"

The tags associated with a Direct Connect resource.

" - }, - "ResourceTagList":{ - "type":"list", - "member":{"shape":"ResourceTag"} - }, - "RouteFilterPrefix":{ - "type":"structure", - "members":{ - "cidr":{ - "shape":"CIDR", - "documentation":"

CIDR notation for the advertised route. Multiple routes are separated by commas.

IPv6 CIDRs must be at least a /64 or shorter

Example: 10.10.10.0/24,10.10.11.0/24,2001:db8::/64

" - } - }, - "documentation":"

A route filter prefix that the customer can advertise through Border Gateway Protocol (BGP) over a public virtual interface.

" - }, - "RouteFilterPrefixList":{ - "type":"list", - "member":{"shape":"RouteFilterPrefix"}, - "documentation":"

A list of routes to be advertised to the AWS network in this region (public virtual interface).

" - }, - "RouterConfig":{"type":"string"}, - "StateChangeError":{ - "type":"string", - "documentation":"

Error message when the state of an object fails to advance.

" - }, - "Tag":{ - "type":"structure", - "required":["key"], - "members":{ - "key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Information about a tag.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "min":1 - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tags" - ], - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

Example: arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The list of tags to add.

" - } - }, - "documentation":"

Container for the parameters to the TagResource operation.

" - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response received when TagResource is called.

" - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have reached the limit on the number of tags that can be assigned to a Direct Connect resource.

", - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tagKeys" - ], - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

" - }, - "tagKeys":{ - "shape":"TagKeyList", - "documentation":"

The list of tag keys to remove.

" - } - }, - "documentation":"

Container for the parameters to the UntagResource operation.

" - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - }, - "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

" - }, - "VirtualGateway":{ - "type":"structure", - "members":{ - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "virtualGatewayState":{"shape":"VirtualGatewayState"} - }, - "documentation":"

You can create one or more AWS Direct Connect private virtual interfaces linking to your virtual private gateway.

Virtual private gateways can be managed using the Amazon Virtual Private Cloud (Amazon VPC) console or the Amazon EC2 CreateVpnGateway action.

" - }, - "VirtualGatewayId":{ - "type":"string", - "documentation":"

The ID of the virtual private gateway to a VPC. This only applies to private virtual interfaces.

Example: vgw-123er56

" - }, - "VirtualGatewayList":{ - "type":"list", - "member":{"shape":"VirtualGateway"}, - "documentation":"

A list of virtual private gateways.

" - }, - "VirtualGatewayRegion":{ - "type":"string", - "documentation":"

The region in which the virtual private gateway is located.

Example: us-east-1

" - }, - "VirtualGatewayState":{ - "type":"string", - "documentation":"

State of the virtual private gateway.

  • Pending: This is the initial state after calling CreateVpnGateway.

  • Available: Ready for use by a private virtual interface.

  • Deleting: This is the initial state after calling DeleteVpnGateway.

  • Deleted: In this state, a private virtual interface is unable to send traffic over this gateway.

" - }, - "VirtualGateways":{ - "type":"structure", - "members":{ - "virtualGateways":{ - "shape":"VirtualGatewayList", - "documentation":"

A list of virtual private gateways.

" - } - }, - "documentation":"

A structure containing a list of virtual private gateways.

" - }, - "VirtualInterface":{ - "type":"structure", - "members":{ - "ownerAccount":{ - "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new virtual interface.

" - }, - "virtualInterfaceId":{"shape":"VirtualInterfaceId"}, - "location":{"shape":"LocationCode"}, - "connectionId":{"shape":"ConnectionId"}, - "virtualInterfaceType":{"shape":"VirtualInterfaceType"}, - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "amazonSideAsn":{ - "shape":"LongAsn", - "documentation":"

The autonomous system number (ASN) for the Amazon side of the connection.

" - }, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "addressFamily":{"shape":"AddressFamily"}, - "virtualInterfaceState":{"shape":"VirtualInterfaceState"}, - "customerRouterConfig":{ - "shape":"RouterConfig", - "documentation":"

Information for generating the customer router configuration.

" - }, - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "directConnectGatewayId":{"shape":"DirectConnectGatewayId"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"}, - "bgpPeers":{"shape":"BGPPeerList"}, - "region":{ - "shape":"Region", - "documentation":"

The AWS region where the virtual interface is located.

Example: us-east-1

Default: None

" - }, - "awsDeviceV2":{ - "shape":"AwsDeviceV2", - "documentation":"

The Direct Connection endpoint which the virtual interface terminates on.

" - } - }, - "documentation":"

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

" - }, - "VirtualInterfaceId":{ - "type":"string", - "documentation":"

The ID of the virtual interface.

Example: dxvif-123dfg56

Default: None

" - }, - "VirtualInterfaceList":{ - "type":"list", - "member":{"shape":"VirtualInterface"}, - "documentation":"

A list of virtual interfaces.

" - }, - "VirtualInterfaceName":{ - "type":"string", - "documentation":"

The name of the virtual interface assigned by the customer.

Example: \"My VPC\"

" - }, - "VirtualInterfaceRegion":{ - "type":"string", - "documentation":"

The region in which the virtual interface is located.

Example: us-east-1

" - }, - "VirtualInterfaceState":{ - "type":"string", - "documentation":"

State of the virtual interface.

  • Confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • Verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • Pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • Available: A virtual interface that is able to forward traffic.

  • Down: A virtual interface that is BGP down.

  • Deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • Deleted: A virtual interface that cannot forward traffic.

  • Rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the 'Confirming' state is deleted by the virtual interface owner, the virtual interface will enter the 'Rejected' state.

", - "enum":[ - "confirming", - "verifying", - "pending", - "available", - "down", - "deleting", - "deleted", - "rejected" - ] - }, - "VirtualInterfaceType":{ - "type":"string", - "documentation":"

The type of virtual interface.

Example: private (Amazon VPC) or public (Amazon S3, Amazon DynamoDB, and so on.)

" - }, - "VirtualInterfaces":{ - "type":"structure", - "members":{ - "virtualInterfaces":{ - "shape":"VirtualInterfaceList", - "documentation":"

A list of virtual interfaces.

" - } - }, - "documentation":"

A structure containing a list of virtual interfaces.

" - } - }, - "documentation":"

AWS Direct Connect links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. With this connection in place, you can create virtual interfaces directly to the AWS cloud (for example, to Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3)) and to Amazon Virtual Private Cloud (Amazon VPC), bypassing Internet service providers in your network path. An AWS Direct Connect location provides access to AWS in the region it is associated with, as well as access to other US regions. For example, you can provision a single connection to any AWS Direct Connect location in the US and use it to access public AWS services in all US Regions and AWS GovCloud (US).

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/service-2.json deleted file mode 100644 index 3cc37b2d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/discovery/2015-11-01/service-2.json +++ /dev/null @@ -1,1619 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-11-01", - "endpointPrefix":"discovery", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Application Discovery Service", - "serviceId":"Application Discovery Service", - "signatureVersion":"v4", - "targetPrefix":"AWSPoseidonService_V2015_11_01", - "uid":"discovery-2015-11-01" - }, - "operations":{ - "AssociateConfigurationItemsToApplication":{ - "name":"AssociateConfigurationItemsToApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateConfigurationItemsToApplicationRequest"}, - "output":{"shape":"AssociateConfigurationItemsToApplicationResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Associates one or more configuration items with an application.

" - }, - "CreateApplication":{ - "name":"CreateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationRequest"}, - "output":{"shape":"CreateApplicationResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Creates an application with the given name and description.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "output":{"shape":"CreateTagsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Creates one or more tags for configuration items. Tags are metadata that help you categorize IT assets. This API accepts a list of multiple configuration items.

" - }, - "DeleteApplications":{ - "name":"DeleteApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationsRequest"}, - "output":{"shape":"DeleteApplicationsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Deletes a list of applications and their associations with configuration items.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "output":{"shape":"DeleteTagsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Deletes the association between configuration items and one or more tags. This API accepts a list of multiple configuration items.

" - }, - "DescribeAgents":{ - "name":"DescribeAgents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAgentsRequest"}, - "output":{"shape":"DescribeAgentsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Lists agents or connectors as specified by ID or other filters. All agents/connectors associated with your user account can be listed if you call DescribeAgents as is without passing any parameters.

" - }, - "DescribeConfigurations":{ - "name":"DescribeConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationsRequest"}, - "output":{"shape":"DescribeConfigurationsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"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 from one of the follwoing:

  • server

  • application

  • process

  • connection

Output fields are specific to the asset type specified. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, number of network cards, etc.

For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action.

" - }, - "DescribeContinuousExports":{ - "name":"DescribeContinuousExports", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeContinuousExportsRequest"}, - "output":{"shape":"DescribeContinuousExportsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists exports as specified by ID. All continuous exports associated with your user account can be listed if you call DescribeContinuousExports as is without passing any parameters.

" - }, - "DescribeExportConfigurations":{ - "name":"DescribeExportConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportConfigurationsRequest"}, - "output":{"shape":"DescribeExportConfigurationsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

DescribeExportConfigurations is deprecated.

Use instead DescribeExportTasks .

", - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Retrieves a list of configuration items that have tags as specified by the key-value pairs, name and value, passed to the optional parameter filters.

There are three valid tag filter names:

  • tagKey

  • tagValue

  • configurationId

Also, all configuration items associated with your user account that have tags can be listed if you call DescribeTags as is without passing any parameters.

" - }, - "DisassociateConfigurationItemsFromApplication":{ - "name":"DisassociateConfigurationItemsFromApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateConfigurationItemsFromApplicationRequest"}, - "output":{"shape":"DisassociateConfigurationItemsFromApplicationResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Disassociates one or more configuration items from an application.

" - }, - "ExportConfigurations":{ - "name":"ExportConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"ExportConfigurationsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Deprecated. Use StartExportTask instead.

Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID that you can query using the DescribeExportConfigurations API. The system imposes a limit of two configuration exports in six hours.

", - "deprecated":true - }, - "GetDiscoverySummary":{ - "name":"GetDiscoverySummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDiscoverySummaryRequest"}, - "output":{"shape":"GetDiscoverySummaryResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Retrieves a short summary of discovered assets.

This API operation takes no request parameters and is called as is at the command prompt as shown in the example.

" - }, - "ListConfigurations":{ - "name":"ListConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListConfigurationsRequest"}, - "output":{"shape":"ListConfigurationsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Retrieves a list of configuration items as specified by the value passed to the required paramater configurationType. Optional filtering may be applied to refine search results.

" - }, - "ListServerNeighbors":{ - "name":"ListServerNeighbors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListServerNeighborsRequest"}, - "output":{"shape":"ListServerNeighborsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Retrieves a list of servers that are one network hop away from a specified server.

" - }, - "StartContinuousExport":{ - "name":"StartContinuousExport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartContinuousExportRequest"}, - "output":{"shape":"StartContinuousExportResponse"}, - "errors":[ - {"shape":"ConflictErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Start the continuous flow of agent's discovered data into Amazon Athena.

" - }, - "StartDataCollectionByAgentIds":{ - "name":"StartDataCollectionByAgentIds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDataCollectionByAgentIdsRequest"}, - "output":{"shape":"StartDataCollectionByAgentIdsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "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":"

Begins the export of discovered data to an S3 bucket.

If you specify agentIds in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports.

If you do not include an agentIds filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.

" - }, - "StopContinuousExport":{ - "name":"StopContinuousExport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopContinuousExportRequest"}, - "output":{"shape":"StopContinuousExportResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Stop the continuous flow of agent's discovered data into Amazon Athena.

" - }, - "StopDataCollectionByAgentIds":{ - "name":"StopDataCollectionByAgentIds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDataCollectionByAgentIdsRequest"}, - "output":{"shape":"StopDataCollectionByAgentIdsResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Instructs the specified agents or connectors to stop collecting data.

" - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationRequest"}, - "output":{"shape":"UpdateApplicationResponse"}, - "errors":[ - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} - ], - "documentation":"

Updates metadata about an application.

" - } - }, - "shapes":{ - "AgentConfigurationStatus":{ - "type":"structure", - "members":{ - "agentId":{ - "shape":"String", - "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.

" - }, - "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 the agent/connector configuration was updated.

" - }, - "AgentConfigurationStatusList":{ - "type":"list", - "member":{"shape":"AgentConfigurationStatus"} - }, - "AgentId":{"type":"string"}, - "AgentIds":{ - "type":"list", - "member":{"shape":"AgentId"} - }, - "AgentInfo":{ - "type":"structure", - "members":{ - "agentId":{ - "shape":"AgentId", - "documentation":"

The agent or connector ID.

" - }, - "hostName":{ - "shape":"String", - "documentation":"

The name of the host where the agent or connector resides. The host can be a server or virtual machine.

" - }, - "agentNetworkInfoList":{ - "shape":"AgentNetworkInfoList", - "documentation":"

Network details about the host where the agent or connector resides.

" - }, - "connectorId":{ - "shape":"String", - "documentation":"

The ID of the connector.

" - }, - "version":{ - "shape":"String", - "documentation":"

The agent or connector version.

" - }, - "health":{ - "shape":"AgentStatus", - "documentation":"

The health of the agent or connector.

" - }, - "lastHealthPingTime":{ - "shape":"String", - "documentation":"

Time since agent or connector health was reported.

" - }, - "collectionStatus":{ - "shape":"String", - "documentation":"

Status of the collection process for an agent or connector.

" - }, - "agentType":{ - "shape":"String", - "documentation":"

Type of agent.

" - }, - "registeredTime":{ - "shape":"String", - "documentation":"

Agent's first registration timestamp in UTC.

" - } - }, - "documentation":"

Information about agents or connectors associated with the user’s AWS account. Information includes agent or connector IDs, IP addresses, media access control (MAC) addresses, agent or connector health, hostname where the agent or connector resides, and agent version for each agent.

" - }, - "AgentNetworkInfo":{ - "type":"structure", - "members":{ - "ipAddress":{ - "shape":"String", - "documentation":"

The IP address for the host where the agent/connector resides.

" - }, - "macAddress":{ - "shape":"String", - "documentation":"

The MAC address for the host where the agent/connector resides.

" - } - }, - "documentation":"

Network details about the host where the agent/connector resides.

" - }, - "AgentNetworkInfoList":{ - "type":"list", - "member":{"shape":"AgentNetworkInfo"} - }, - "AgentStatus":{ - "type":"string", - "enum":[ - "HEALTHY", - "UNHEALTHY", - "RUNNING", - "UNKNOWN", - "BLACKLISTED", - "SHUTDOWN" - ] - }, - "AgentsInfo":{ - "type":"list", - "member":{"shape":"AgentInfo"} - }, - "ApplicationId":{"type":"string"}, - "ApplicationIdsList":{ - "type":"list", - "member":{"shape":"ApplicationId"} - }, - "AssociateConfigurationItemsToApplicationRequest":{ - "type":"structure", - "required":[ - "applicationConfigurationId", - "configurationIds" - ], - "members":{ - "applicationConfigurationId":{ - "shape":"ApplicationId", - "documentation":"

The configuration ID of an application with which items are to be associated.

" - }, - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

The ID of each configuration item to be associated with an application.

" - } - } - }, - "AssociateConfigurationItemsToApplicationResponse":{ - "type":"structure", - "members":{ - } - }, - "AuthorizationErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.

", - "exception":true - }, - "Boolean":{"type":"boolean"}, - "BoxedInteger":{ - "type":"integer", - "box":true - }, - "Condition":{"type":"string"}, - "Configuration":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "ConfigurationId":{"type":"string"}, - "ConfigurationIdList":{ - "type":"list", - "member":{"shape":"ConfigurationId"} - }, - "ConfigurationItemType":{ - "type":"string", - "enum":[ - "SERVER", - "PROCESS", - "CONNECTION", - "APPLICATION" - ] - }, - "ConfigurationTag":{ - "type":"structure", - "members":{ - "configurationType":{ - "shape":"ConfigurationItemType", - "documentation":"

A type of IT asset to tag.

" - }, - "configurationId":{ - "shape":"ConfigurationId", - "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 on which to filter. For example, serverType.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

A value on which to filter. For example key = serverType and value = web server.

" - }, - "timeOfCreation":{ - "shape":"TimeStamp", - "documentation":"

The time the configuration tag was created in Coordinated Universal Time (UTC).

" - } - }, - "documentation":"

Tags for a configuration item. Tags are metadata that help you categorize IT assets.

" - }, - "ConfigurationTagSet":{ - "type":"list", - "member":{"shape":"ConfigurationTag"} - }, - "Configurations":{ - "type":"list", - "member":{"shape":"Configuration"} - }, - "ConfigurationsDownloadUrl":{"type":"string"}, - "ConfigurationsExportId":{"type":"string"}, - "ConflictErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

", - "exception":true - }, - "ContinuousExportDescription":{ - "type":"structure", - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

The unique ID assigned to this export.

" - }, - "status":{ - "shape":"ContinuousExportStatus", - "documentation":"

Describes the status of the export. Can be one of the following values:

  • START_IN_PROGRESS - setting up resources to start continuous export.

  • START_FAILED - an error occurred setting up continuous export. To recover, call start-continuous-export again.

  • ACTIVE - data is being exported to the customer bucket.

  • ERROR - an error occurred during export. To fix the issue, call stop-continuous-export and start-continuous-export.

  • STOP_IN_PROGRESS - stopping the export.

  • STOP_FAILED - an error occurred stopping the export. To recover, call stop-continuous-export again.

  • INACTIVE - the continuous export has been stopped. Data is no longer being exported to the customer bucket.

" - }, - "statusDetail":{ - "shape":"StringMax255", - "documentation":"

Contains information about any errors that may have occurred.

" - }, - "s3Bucket":{ - "shape":"S3Bucket", - "documentation":"

The name of the s3 bucket where the export data parquet files are stored.

" - }, - "startTime":{ - "shape":"TimeStamp", - "documentation":"

The timestamp representing when the continuous export was started.

" - }, - "stopTime":{ - "shape":"TimeStamp", - "documentation":"

The timestamp that represents when this continuous export was stopped.

" - }, - "dataSource":{ - "shape":"DataSource", - "documentation":"

The type of data collector used to gather this data (currently only offered for AGENT).

" - }, - "schemaStorageConfig":{ - "shape":"SchemaStorageConfig", - "documentation":"

An object which describes how the data is stored.

  • databaseName - the name of the Glue database used to store the schema.

" - } - }, - "documentation":"

A list of continuous export descriptions.

" - }, - "ContinuousExportDescriptions":{ - "type":"list", - "member":{"shape":"ContinuousExportDescription"} - }, - "ContinuousExportIds":{ - "type":"list", - "member":{"shape":"ConfigurationsExportId"} - }, - "ContinuousExportStatus":{ - "type":"string", - "enum":[ - "START_IN_PROGRESS", - "START_FAILED", - "ACTIVE", - "ERROR", - "STOP_IN_PROGRESS", - "STOP_FAILED", - "INACTIVE" - ] - }, - "CreateApplicationRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

Name of the application to be created.

" - }, - "description":{ - "shape":"String", - "documentation":"

Description of the application to be created.

" - } - } - }, - "CreateApplicationResponse":{ - "type":"structure", - "members":{ - "configurationId":{ - "shape":"String", - "documentation":"

Configuration ID of an application to be created.

" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "configurationIds", - "tags" - ], - "members":{ - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

A list of configuration items that you want to tag.

" - }, - "tags":{ - "shape":"TagSet", - "documentation":"

Tags that you want to associate with one or more configuration items. Specify the tags that you want to create in a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

" - } - } - }, - "CreateTagsResponse":{ - "type":"structure", - "members":{ - } - }, - "CustomerAgentInfo":{ - "type":"structure", - "required":[ - "activeAgents", - "healthyAgents", - "blackListedAgents", - "shutdownAgents", - "unhealthyAgents", - "totalAgents", - "unknownAgents" - ], - "members":{ - "activeAgents":{ - "shape":"Integer", - "documentation":"

Number of active discovery agents.

" - }, - "healthyAgents":{ - "shape":"Integer", - "documentation":"

Number of healthy discovery agents

" - }, - "blackListedAgents":{ - "shape":"Integer", - "documentation":"

Number of blacklisted discovery agents.

" - }, - "shutdownAgents":{ - "shape":"Integer", - "documentation":"

Number of discovery agents with status SHUTDOWN.

" - }, - "unhealthyAgents":{ - "shape":"Integer", - "documentation":"

Number of unhealthy discovery agents.

" - }, - "totalAgents":{ - "shape":"Integer", - "documentation":"

Total number of discovery agents.

" - }, - "unknownAgents":{ - "shape":"Integer", - "documentation":"

Number of unknown discovery agents.

" - } - }, - "documentation":"

Inventory data for installed discovery agents.

" - }, - "CustomerConnectorInfo":{ - "type":"structure", - "required":[ - "activeConnectors", - "healthyConnectors", - "blackListedConnectors", - "shutdownConnectors", - "unhealthyConnectors", - "totalConnectors", - "unknownConnectors" - ], - "members":{ - "activeConnectors":{ - "shape":"Integer", - "documentation":"

Number of active discovery connectors.

" - }, - "healthyConnectors":{ - "shape":"Integer", - "documentation":"

Number of healthy discovery connectors.

" - }, - "blackListedConnectors":{ - "shape":"Integer", - "documentation":"

Number of blacklisted discovery connectors.

" - }, - "shutdownConnectors":{ - "shape":"Integer", - "documentation":"

Number of discovery connectors with status SHUTDOWN,

" - }, - "unhealthyConnectors":{ - "shape":"Integer", - "documentation":"

Number of unhealthy discovery connectors.

" - }, - "totalConnectors":{ - "shape":"Integer", - "documentation":"

Total number of discovery connectors.

" - }, - "unknownConnectors":{ - "shape":"Integer", - "documentation":"

Number of unknown discovery connectors.

" - } - }, - "documentation":"

Inventory data for installed discovery connectors.

" - }, - "DataSource":{ - "type":"string", - "enum":["AGENT"] - }, - "DatabaseName":{ - "type":"string", - "max":252, - "min":1 - }, - "DeleteApplicationsRequest":{ - "type":"structure", - "required":["configurationIds"], - "members":{ - "configurationIds":{ - "shape":"ApplicationIdsList", - "documentation":"

Configuration ID of an application to be deleted.

" - } - } - }, - "DeleteApplicationsResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["configurationIds"], - "members":{ - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

A list of configuration items with tags that you want to delete.

" - }, - "tags":{ - "shape":"TagSet", - "documentation":"

Tags that you want to delete from one or more configuration items. Specify the tags that you want to delete in a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

" - } - } - }, - "DeleteTagsResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeAgentsRequest":{ - "type":"structure", - "members":{ - "agentIds":{ - "shape":"AgentIds", - "documentation":"

The agent or the Connector IDs for which you want information. If you specify no IDs, the system returns information about all agents/Connectors associated with your AWS user account.

" - }, - "filters":{ - "shape":"Filters", - "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"collectionStatus\", \"value\": \"STARTED\"}

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The total number of agents/Connectors to return in a single page of output. The maximum value is 100.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Token to retrieve the next set of results. For example, if you previously specified 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" - } - } - }, - "DescribeAgentsResponse":{ - "type":"structure", - "members":{ - "agentsInfo":{ - "shape":"AgentsInfo", - "documentation":"

Lists agents or the Connector by ID or lists all agents/Connectors associated with your user account if you did not specify an agent/Connector ID. The output includes agent/Connector IDs, IP addresses, media access control (MAC) addresses, agent/Connector health, host name where the agent/Connector resides, and the version number of each agent/Connector.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Token to retrieve the next set of results. For example, if you specified 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" - } - } - }, - "DescribeConfigurationsAttribute":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "DescribeConfigurationsAttributes":{ - "type":"list", - "member":{"shape":"DescribeConfigurationsAttribute"} - }, - "DescribeConfigurationsRequest":{ - "type":"structure", - "required":["configurationIds"], - "members":{ - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

One or more configuration IDs.

" - } - } - }, - "DescribeConfigurationsResponse":{ - "type":"structure", - "members":{ - "configurations":{ - "shape":"DescribeConfigurationsAttributes", - "documentation":"

A key in the response map. The value is an array of data.

" - } - } - }, - "DescribeContinuousExportsMaxResults":{ - "type":"integer", - "box":true, - "max":100, - "min":1 - }, - "DescribeContinuousExportsRequest":{ - "type":"structure", - "members":{ - "exportIds":{ - "shape":"ContinuousExportIds", - "documentation":"

The unique IDs assigned to the exports.

" - }, - "maxResults":{ - "shape":"DescribeContinuousExportsMaxResults", - "documentation":"

A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token from the previous call to DescribeExportTasks.

" - } - } - }, - "DescribeContinuousExportsResponse":{ - "type":"structure", - "members":{ - "descriptions":{ - "shape":"ContinuousExportDescriptions", - "documentation":"

A list of continuous export descriptions.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token from the previous call to DescribeExportTasks.

" - } - } - }, - "DescribeExportConfigurationsRequest":{ - "type":"structure", - "members":{ - "exportIds":{ - "shape":"ExportIds", - "documentation":"

A list of continuous export ids to search for.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token from the previous call to describe-export-tasks.

" - } - } - }, - "DescribeExportConfigurationsResponse":{ - "type":"structure", - "members":{ - "exportsInfo":{ - "shape":"ExportsInfo", - "documentation":"

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token from the previous call to describe-export-tasks.

" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "exportIds":{ - "shape":"ExportIds", - "documentation":"

One or more unique identifiers used to query the status of an export request.

" - }, - "filters":{ - "shape":"ExportFilters", - "documentation":"

One or more filters.

  • AgentId - ID of the agent whose collected data will be exported

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of volume results returned by DescribeExportTasks in paginated output. When this parameter is used, DescribeExportTasks only returns maxResults results in a single page along with a nextToken response element.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated DescribeExportTasks request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

" - } - } - }, - "DescribeExportTasksResponse":{ - "type":"structure", - "members":{ - "exportsInfo":{ - "shape":"ExportsInfo", - "documentation":"

Contains one or more sets of export request details. When the status of a request is SUCCEEDED, the response includes a URL for an Amazon S3 bucket where you can view the data in a CSV file.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value to include in a future DescribeExportTasks request. When the results of a DescribeExportTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "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.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The total number of items to return in a single page of output. The maximum value is 100.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "DescribeTagsResponse":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"ConfigurationTagSet", - "documentation":"

Depending on the input, this is a list of configuration items tagged with a specific tag, or a list of tags for a specific configuration item.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The call returns a token. Use this token to get the next set of results.

" - } - } - }, - "DisassociateConfigurationItemsFromApplicationRequest":{ - "type":"structure", - "required":[ - "applicationConfigurationId", - "configurationIds" - ], - "members":{ - "applicationConfigurationId":{ - "shape":"ApplicationId", - "documentation":"

Configuration ID of an application from which each item is disassociated.

" - }, - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

Configuration ID of each item to be disassociated from an application.

" - } - } - }, - "DisassociateConfigurationItemsFromApplicationResponse":{ - "type":"structure", - "members":{ - } - }, - "ExportConfigurationsResponse":{ - "type":"structure", - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

A unique identifier that you can use to query the export status.

" - } - } - }, - "ExportDataFormat":{ - "type":"string", - "enum":[ - "CSV", - "GRAPHML" - ] - }, - "ExportDataFormats":{ - "type":"list", - "member":{"shape":"ExportDataFormat"} - }, - "ExportFilter":{ - "type":"structure", - "required":[ - "name", - "values", - "condition" - ], - "members":{ - "name":{ - "shape":"FilterName", - "documentation":"

A single ExportFilter name. Supported filters: agentId.

" - }, - "values":{ - "shape":"FilterValues", - "documentation":"

A single agentId for a Discovery Agent. An agentId can be found using the DescribeAgents action. Typically an ADS agentId is in the form o-0123456789abcdef0.

" - }, - "condition":{ - "shape":"Condition", - "documentation":"

Supported condition: EQUALS

" - } - }, - "documentation":"

Used to select which agent's data is to be exported. A single agent ID may be selected for export using the StartExportTask action.

" - }, - "ExportFilters":{ - "type":"list", - "member":{"shape":"ExportFilter"} - }, - "ExportIds":{ - "type":"list", - "member":{"shape":"ConfigurationsExportId"} - }, - "ExportInfo":{ - "type":"structure", - "required":[ - "exportId", - "exportStatus", - "statusMessage", - "exportRequestTime" - ], - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

A unique identifier used to query an export.

" - }, - "exportStatus":{ - "shape":"ExportStatus", - "documentation":"

The status of the data export job.

" - }, - "statusMessage":{ - "shape":"ExportStatusMessage", - "documentation":"

A status message provided for API callers.

" - }, - "configurationsDownloadUrl":{ - "shape":"ConfigurationsDownloadUrl", - "documentation":"

A URL for an Amazon S3 bucket where you can review the exported data. The URL is displayed only if the export succeeded.

" - }, - "exportRequestTime":{ - "shape":"ExportRequestTime", - "documentation":"

The time that the data export was initiated.

" - }, - "isTruncated":{ - "shape":"Boolean", - "documentation":"

If true, the export of agent information exceeded the size limit for a single export and the exported data is incomplete for the requested time range. To address this, select a smaller time range for the export by using startDate and endDate.

" - }, - "requestedStartTime":{ - "shape":"TimeStamp", - "documentation":"

The value of startTime parameter in the StartExportTask request. If no startTime was requested, this result does not appear in ExportInfo.

" - }, - "requestedEndTime":{ - "shape":"TimeStamp", - "documentation":"

The endTime used in the StartExportTask request. If no endTime was requested, this result does not appear in ExportInfo.

" - } - }, - "documentation":"

Information regarding the export status of discovered data. The value is an array of objects.

" - }, - "ExportRequestTime":{"type":"timestamp"}, - "ExportStatus":{ - "type":"string", - "enum":[ - "FAILED", - "SUCCEEDED", - "IN_PROGRESS" - ] - }, - "ExportStatusMessage":{"type":"string"}, - "ExportsInfo":{ - "type":"list", - "member":{"shape":"ExportInfo"} - }, - "Filter":{ - "type":"structure", - "required":[ - "name", - "values", - "condition" - ], - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the filter.

" - }, - "values":{ - "shape":"FilterValues", - "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 more information about filters, see Querying Discovered Configuration Items.

" - }, - "FilterName":{"type":"string"}, - "FilterValue":{"type":"string"}, - "FilterValues":{ - "type":"list", - "member":{"shape":"FilterValue"} - }, - "Filters":{ - "type":"list", - "member":{"shape":"Filter"} - }, - "GetDiscoverySummaryRequest":{ - "type":"structure", - "members":{ - } - }, - "GetDiscoverySummaryResponse":{ - "type":"structure", - "members":{ - "servers":{ - "shape":"Long", - "documentation":"

The number of servers discovered.

" - }, - "applications":{ - "shape":"Long", - "documentation":"

The number of applications discovered.

" - }, - "serversMappedToApplications":{ - "shape":"Long", - "documentation":"

The number of servers mapped to applications.

" - }, - "serversMappedtoTags":{ - "shape":"Long", - "documentation":"

The number of servers mapped to tags.

" - }, - "agentSummary":{ - "shape":"CustomerAgentInfo", - "documentation":"

Details about discovered agents, including agent status and health.

" - }, - "connectorSummary":{ - "shape":"CustomerConnectorInfo", - "documentation":"

Details about discovered connectors, including connector status and health.

" - } - } - }, - "Integer":{"type":"integer"}, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

One or more parameters are not valid. Verify the parameters and try again.

", - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

The value of one or more parameters are either invalid or out of range. Verify the parameter values and try again.

", - "exception":true - }, - "ListConfigurationsRequest":{ - "type":"structure", - "required":["configurationType"], - "members":{ - "configurationType":{ - "shape":"ConfigurationItemType", - "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.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

The total number of items to return. The maximum value is 100.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Token to retrieve the next set of results. For example, if a previous call to ListConfigurations returned 100 items, but you set ListConfigurationsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" - }, - "orderBy":{ - "shape":"OrderByList", - "documentation":"

Certain filter criteria return output that can be sorted in ascending or descending order. For a list of output characteristics for each filter, see Using the ListConfigurations Action.

" - } - } - }, - "ListConfigurationsResponse":{ - "type":"structure", - "members":{ - "configurations":{ - "shape":"Configurations", - "documentation":"

Returns configuration details, including the configuration ID, attribute names, and attribute values.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Token to retrieve the next set of results. For example, if your call to ListConfigurations returned 100 items, but you set ListConfigurationsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" - } - } - }, - "ListServerNeighborsRequest":{ - "type":"structure", - "required":["configurationId"], - "members":{ - "configurationId":{ - "shape":"ConfigurationId", - "documentation":"

Configuration ID of the server for which neighbors are being listed.

" - }, - "portInformationNeeded":{ - "shape":"Boolean", - "documentation":"

Flag to indicate if port and protocol information is needed as part of the response.

" - }, - "neighborConfigurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

List of configuration IDs to test for one-hop-away.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

Maximum number of results to return in a single page of output.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

Token to retrieve the next set of results. For example, if you previously specified 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds but set ListServerNeighborsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" - } - } - }, - "ListServerNeighborsResponse":{ - "type":"structure", - "required":["neighbors"], - "members":{ - "neighbors":{ - "shape":"NeighborDetailsList", - "documentation":"

List of distinct servers that are one hop away from the given server.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

Token to retrieve the next set of results. For example, if you specified 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds but set ListServerNeighborsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" - }, - "knownDependencyCount":{ - "shape":"Long", - "documentation":"

Count of distinct servers that are one hop away from the given server.

" - } - } - }, - "Long":{"type":"long"}, - "Message":{"type":"string"}, - "NeighborConnectionDetail":{ - "type":"structure", - "required":[ - "sourceServerId", - "destinationServerId", - "connectionsCount" - ], - "members":{ - "sourceServerId":{ - "shape":"ConfigurationId", - "documentation":"

The ID of the server that opened the network connection.

" - }, - "destinationServerId":{ - "shape":"ConfigurationId", - "documentation":"

The ID of the server that accepted the network connection.

" - }, - "destinationPort":{ - "shape":"BoxedInteger", - "documentation":"

The destination network port for the connection.

" - }, - "transportProtocol":{ - "shape":"String", - "documentation":"

The network protocol used for the connection.

" - }, - "connectionsCount":{ - "shape":"Long", - "documentation":"

The number of open network connections with the neighboring server.

" - } - }, - "documentation":"

Details about neighboring servers.

" - }, - "NeighborDetailsList":{ - "type":"list", - "member":{"shape":"NeighborConnectionDetail"} - }, - "NextToken":{"type":"string"}, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

This operation is not permitted.

", - "exception":true - }, - "OrderByElement":{ - "type":"structure", - "required":["fieldName"], - "members":{ - "fieldName":{ - "shape":"String", - "documentation":"

The field on which to order.

" - }, - "sortOrder":{ - "shape":"orderString", - "documentation":"

Ordering direction.

" - } - }, - "documentation":"

A field and direction for ordered output.

" - }, - "OrderByList":{ - "type":"list", - "member":{"shape":"OrderByElement"} - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

The specified configuration ID was not located. Verify the configuration ID and try again.

", - "exception":true - }, - "S3Bucket":{"type":"string"}, - "SchemaStorageConfig":{ - "type":"map", - "key":{"shape":"DatabaseName"}, - "value":{"shape":"String"} - }, - "ServerInternalErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"Message"} - }, - "documentation":"

The server experienced an internal error. Try again.

", - "exception":true, - "fault":true - }, - "StartContinuousExportRequest":{ - "type":"structure", - "members":{ - } - }, - "StartContinuousExportResponse":{ - "type":"structure", - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

The unique ID assigned to this export.

" - }, - "s3Bucket":{ - "shape":"S3Bucket", - "documentation":"

The name of the s3 bucket where the export data parquet files are stored.

" - }, - "startTime":{ - "shape":"TimeStamp", - "documentation":"

The timestamp representing when the continuous export was started.

" - }, - "dataSource":{ - "shape":"DataSource", - "documentation":"

The type of data collector used to gather this data (currently only offered for AGENT).

" - }, - "schemaStorageConfig":{ - "shape":"SchemaStorageConfig", - "documentation":"

A dictionary which describes how the data is stored.

  • databaseName - the name of the Glue database used to store the schema.

" - } - } - }, - "StartDataCollectionByAgentIdsRequest":{ - "type":"structure", - "required":["agentIds"], - "members":{ - "agentIds":{ - "shape":"AgentIds", - "documentation":"

The IDs of the agents 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.

" - } - } - }, - "StartDataCollectionByAgentIdsResponse":{ - "type":"structure", - "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 the agent/connector configuration was updated.

" - } - } - }, - "StartExportTaskRequest":{ - "type":"structure", - "members":{ - "exportDataFormat":{ - "shape":"ExportDataFormats", - "documentation":"

The file format for the returned export data. Default value is CSV. Note: The GRAPHML option has been deprecated.

" - }, - "filters":{ - "shape":"ExportFilters", - "documentation":"

If a filter is present, it selects the single agentId of the Application Discovery Agent for which data is exported. The agentId can be found in the results of the DescribeAgents API or CLI. If no filter is present, startTime and endTime are ignored and exported data includes both Agentless Discovery Connector data and summary data from Application Discovery agents.

" - }, - "startTime":{ - "shape":"TimeStamp", - "documentation":"

The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.

" - }, - "endTime":{ - "shape":"TimeStamp", - "documentation":"

The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.

" - } - } - }, - "StartExportTaskResponse":{ - "type":"structure", - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

A unique identifier used to query the status of an export request.

" - } - } - }, - "StopContinuousExportRequest":{ - "type":"structure", - "required":["exportId"], - "members":{ - "exportId":{ - "shape":"ConfigurationsExportId", - "documentation":"

The unique ID assigned to this export.

" - } - } - }, - "StopContinuousExportResponse":{ - "type":"structure", - "members":{ - "startTime":{ - "shape":"TimeStamp", - "documentation":"

Timestamp that represents when this continuous export started collecting data.

" - }, - "stopTime":{ - "shape":"TimeStamp", - "documentation":"

Timestamp that represents when this continuous export was stopped.

" - } - } - }, - "StopDataCollectionByAgentIdsRequest":{ - "type":"structure", - "required":["agentIds"], - "members":{ - "agentIds":{ - "shape":"AgentIds", - "documentation":"

The IDs of the agents or connectors from which to stop collecting data.

" - } - } - }, - "StopDataCollectionByAgentIdsResponse":{ - "type":"structure", - "members":{ - "agentsConfigurationStatus":{ - "shape":"AgentConfigurationStatusList", - "documentation":"

Information about the agents or connector that were instructed to stop collecting data. Information includes the agent/connector ID, a description of the operation performed, and whether the agent/connector configuration was updated.

" - } - } - }, - "String":{"type":"string"}, - "StringMax255":{ - "type":"string", - "max":255, - "min":1 - }, - "Tag":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"TagKey", - "documentation":"

The type of tag on which to filter.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

A value for a tag key on which to filter.

" - } - }, - "documentation":"

Metadata that help you categorize IT assets.

" - }, - "TagFilter":{ - "type":"structure", - "required":[ - "name", - "values" - ], - "members":{ - "name":{ - "shape":"FilterName", - "documentation":"

A name of the tag filter.

" - }, - "values":{ - "shape":"FilterValues", - "documentation":"

Values for the tag filter.

" - } - }, - "documentation":"

The tag filter. Valid names are: tagKey, tagValue, configurationId.

" - }, - "TagFilters":{ - "type":"list", - "member":{"shape":"TagFilter"} - }, - "TagKey":{"type":"string"}, - "TagSet":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{"type":"string"}, - "TimeStamp":{"type":"timestamp"}, - "UpdateApplicationRequest":{ - "type":"structure", - "required":["configurationId"], - "members":{ - "configurationId":{ - "shape":"ApplicationId", - "documentation":"

Configuration ID of the application to be updated.

" - }, - "name":{ - "shape":"String", - "documentation":"

New name of the application to be updated.

" - }, - "description":{ - "shape":"String", - "documentation":"

New description of the application to be updated.

" - } - } - }, - "UpdateApplicationResponse":{ - "type":"structure", - "members":{ - } - }, - "orderString":{ - "type":"string", - "enum":[ - "ASC", - "DESC" - ] - } - }, - "documentation":"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 AWS-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 AWS 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.

  • Agent-based discovery mode collects a richer set of data than agentless discovery by using the AWS Application Discovery Agent, which you install on one or more hosts in your data center. The agent captures infrastructure and application information, including an inventory of 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.

We recommend that you use agent-based discovery for non-VMware environments and 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.

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 offline 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 Application Discovery Service.

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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/service-2.json deleted file mode 100644 index 91c290e5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dlm/2018-01-12/service-2.json +++ /dev/null @@ -1,558 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-01-12", - "endpointPrefix":"dlm", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"Amazon DLM", - "serviceFullName":"Amazon Data Lifecycle Manager", - "serviceId":"DLM", - "signatureVersion":"v4", - "signingName":"dlm", - "uid":"dlm-2018-01-12" - }, - "operations":{ - "CreateLifecyclePolicy":{ - "name":"CreateLifecyclePolicy", - "http":{ - "method":"POST", - "requestUri":"/policies" - }, - "input":{"shape":"CreateLifecyclePolicyRequest"}, - "output":{"shape":"CreateLifecyclePolicyResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerException"} - ], - "documentation":"

Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.

" - }, - "DeleteLifecyclePolicy":{ - "name":"DeleteLifecyclePolicy", - "http":{ - "method":"DELETE", - "requestUri":"/policies/{policyId}/" - }, - "input":{"shape":"DeleteLifecyclePolicyRequest"}, - "output":{"shape":"DeleteLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

" - }, - "GetLifecyclePolicies":{ - "name":"GetLifecyclePolicies", - "http":{ - "method":"GET", - "requestUri":"/policies" - }, - "input":{"shape":"GetLifecyclePoliciesRequest"}, - "output":{"shape":"GetLifecyclePoliciesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServerException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy.

" - }, - "GetLifecyclePolicy":{ - "name":"GetLifecyclePolicy", - "http":{ - "method":"GET", - "requestUri":"/policies/{policyId}/" - }, - "input":{"shape":"GetLifecyclePolicyRequest"}, - "output":{"shape":"GetLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Gets detailed information about the specified lifecycle policy.

" - }, - "UpdateLifecyclePolicy":{ - "name":"UpdateLifecyclePolicy", - "http":{ - "method":"PATCH", - "requestUri":"/policies/{policyId}" - }, - "input":{"shape":"UpdateLifecyclePolicyRequest"}, - "output":{"shape":"UpdateLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServerException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Updates the specified lifecycle policy.

" - } - }, - "shapes":{ - "Count":{ - "type":"integer", - "max":1000, - "min":1 - }, - "CreateLifecyclePolicyRequest":{ - "type":"structure", - "required":[ - "ExecutionRoleArn", - "Description", - "State", - "PolicyDetails" - ], - "members":{ - "ExecutionRoleArn":{ - "shape":"ExecutionRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" - }, - "Description":{ - "shape":"PolicyDescription", - "documentation":"

A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

" - }, - "State":{ - "shape":"SettablePolicyStateValues", - "documentation":"

The desired activation state of the lifecycle policy after creation.

" - }, - "PolicyDetails":{ - "shape":"PolicyDetails", - "documentation":"

The configuration details of the lifecycle policy.

Target tags cannot be re-used across lifecycle policies.

" - } - } - }, - "CreateLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

" - } - } - }, - "CreateRule":{ - "type":"structure", - "required":[ - "Interval", - "IntervalUnit" - ], - "members":{ - "Interval":{ - "shape":"Interval", - "documentation":"

The interval. The supported values are 12 and 24.

" - }, - "IntervalUnit":{ - "shape":"IntervalUnitValues", - "documentation":"

The interval unit.

" - }, - "Times":{ - "shape":"TimesList", - "documentation":"

The time, in UTC, to start the operation.

The operation occurs within a one-hour window following the specified time.

" - } - }, - "documentation":"

Specifies when to create snapshots of EBS volumes.

" - }, - "DeleteLifecyclePolicyRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

", - "location":"uri", - "locationName":"policyId" - } - } - }, - "DeleteLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "ExecutionRoleArn":{"type":"string"}, - "GetLifecyclePoliciesRequest":{ - "type":"structure", - "members":{ - "PolicyIds":{ - "shape":"PolicyIdList", - "documentation":"

The identifiers of the data lifecycle policies.

", - "location":"querystring", - "locationName":"policyIds" - }, - "State":{ - "shape":"GettablePolicyStateValues", - "documentation":"

The activation state.

", - "location":"querystring", - "locationName":"state" - }, - "ResourceTypes":{ - "shape":"ResourceTypeValuesList", - "documentation":"

The resource type.

", - "location":"querystring", - "locationName":"resourceTypes" - }, - "TargetTags":{ - "shape":"TargetTagsFilterList", - "documentation":"

The target tag for a policy.

Tags are strings in the format key=value.

", - "location":"querystring", - "locationName":"targetTags" - }, - "TagsToAdd":{ - "shape":"TagsToAddFilterList", - "documentation":"

The tags to add to objects created by the policy.

Tags are strings in the format key=value.

These user-defined tags are added in addition to the AWS-added lifecycle tags.

", - "location":"querystring", - "locationName":"tagsToAdd" - } - } - }, - "GetLifecyclePoliciesResponse":{ - "type":"structure", - "members":{ - "Policies":{ - "shape":"LifecyclePolicySummaryList", - "documentation":"

Summary information about the lifecycle policies.

" - } - } - }, - "GetLifecyclePolicyRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

", - "location":"uri", - "locationName":"policyId" - } - } - }, - "GetLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"LifecyclePolicy", - "documentation":"

Detailed information about the lifecycle policy.

" - } - } - }, - "GettablePolicyStateValues":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED", - "ERROR" - ] - }, - "InternalServerException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "Code":{"shape":"ErrorCode"} - }, - "documentation":"

The service failed in an unexpected way.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "Interval":{ - "type":"integer", - "min":1 - }, - "IntervalUnitValues":{ - "type":"string", - "enum":["HOURS"] - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "Code":{"shape":"ErrorCode"}, - "RequiredParameters":{ - "shape":"ParameterList", - "documentation":"

The request omitted one or more required parameters.

" - }, - "MutuallyExclusiveParameters":{ - "shape":"ParameterList", - "documentation":"

The request included parameters that cannot be provided together.

" - } - }, - "documentation":"

Bad request. The request is missing required parameters or has invalid parameters.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LifecyclePolicy":{ - "type":"structure", - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

" - }, - "Description":{ - "shape":"PolicyDescription", - "documentation":"

The description of the lifecycle policy.

" - }, - "State":{ - "shape":"GettablePolicyStateValues", - "documentation":"

The activation state of the lifecycle policy.

" - }, - "ExecutionRoleArn":{ - "shape":"ExecutionRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" - }, - "DateCreated":{ - "shape":"Timestamp", - "documentation":"

The local date and time when the lifecycle policy was created.

" - }, - "DateModified":{ - "shape":"Timestamp", - "documentation":"

The local date and time when the lifecycle policy was last modified.

" - }, - "PolicyDetails":{ - "shape":"PolicyDetails", - "documentation":"

The configuration of the lifecycle policy

" - } - }, - "documentation":"

Detailed information about a lifecycle policy.

" - }, - "LifecyclePolicySummary":{ - "type":"structure", - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

" - }, - "Description":{ - "shape":"PolicyDescription", - "documentation":"

The description of the lifecycle policy.

" - }, - "State":{ - "shape":"GettablePolicyStateValues", - "documentation":"

The activation state of the lifecycle policy.

" - } - }, - "documentation":"

Summary information about a lifecycle policy.

" - }, - "LifecyclePolicySummaryList":{ - "type":"list", - "member":{"shape":"LifecyclePolicySummary"} - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "Code":{"shape":"ErrorCode"}, - "ResourceType":{ - "shape":"String", - "documentation":"

Value is the type of resource for which a limit was exceeded.

" - } - }, - "documentation":"

The request failed because a limit was exceeded.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "Parameter":{"type":"string"}, - "ParameterList":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "PolicyDescription":{ - "type":"string", - "max":500, - "min":0 - }, - "PolicyDetails":{ - "type":"structure", - "members":{ - "ResourceTypes":{ - "shape":"ResourceTypeValuesList", - "documentation":"

The resource type.

" - }, - "TargetTags":{ - "shape":"TargetTagList", - "documentation":"

The single tag that identifies targeted resources for this policy.

" - }, - "Schedules":{ - "shape":"ScheduleList", - "documentation":"

The schedule of policy-defined actions.

" - } - }, - "documentation":"

Specifies the configuration of a lifecycle policy.

" - }, - "PolicyId":{"type":"string"}, - "PolicyIdList":{ - "type":"list", - "member":{"shape":"PolicyId"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "Code":{"shape":"ErrorCode"}, - "ResourceType":{ - "shape":"String", - "documentation":"

Value is the type of resource that was not found.

" - }, - "ResourceIds":{ - "shape":"PolicyIdList", - "documentation":"

Value is a list of resource IDs that were not found.

" - } - }, - "documentation":"

A requested resource was not found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ResourceTypeValues":{ - "type":"string", - "enum":["VOLUME"] - }, - "ResourceTypeValuesList":{ - "type":"list", - "member":{"shape":"ResourceTypeValues"}, - "max":1, - "min":1 - }, - "RetainRule":{ - "type":"structure", - "required":["Count"], - "members":{ - "Count":{ - "shape":"Count", - "documentation":"

The number of snapshots to keep for each volume, up to a maximum of 1000.

" - } - }, - "documentation":"

Specifies the number of snapshots to keep for each EBS volume.

" - }, - "Schedule":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ScheduleName", - "documentation":"

The name of the schedule.

" - }, - "TagsToAdd":{ - "shape":"TagsToAddList", - "documentation":"

The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

" - }, - "CreateRule":{ - "shape":"CreateRule", - "documentation":"

The create rule.

" - }, - "RetainRule":{ - "shape":"RetainRule", - "documentation":"

The retain rule.

" - } - }, - "documentation":"

Specifies a schedule.

" - }, - "ScheduleList":{ - "type":"list", - "member":{"shape":"Schedule"}, - "max":1, - "min":1 - }, - "ScheduleName":{ - "type":"string", - "max":500, - "min":0 - }, - "SettablePolicyStateValues":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "String":{"type":"string"}, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

" - } - }, - "documentation":"

Specifies a tag for a resource.

" - }, - "TagFilter":{"type":"string"}, - "TagsToAddFilterList":{ - "type":"list", - "member":{"shape":"TagFilter"}, - "max":50, - "min":0 - }, - "TagsToAddList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":0 - }, - "TargetTagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TargetTagsFilterList":{ - "type":"list", - "member":{"shape":"TagFilter"}, - "max":50, - "min":1 - }, - "Time":{ - "type":"string", - "pattern":"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" - }, - "TimesList":{ - "type":"list", - "member":{"shape":"Time"}, - "max":1 - }, - "Timestamp":{"type":"timestamp"}, - "UpdateLifecyclePolicyRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The identifier of the lifecycle policy.

", - "location":"uri", - "locationName":"policyId" - }, - "ExecutionRoleArn":{ - "shape":"ExecutionRoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" - }, - "State":{ - "shape":"SettablePolicyStateValues", - "documentation":"

The desired activation state of the lifecycle policy after creation.

" - }, - "Description":{ - "shape":"PolicyDescription", - "documentation":"

A description of the lifecycle policy.

" - }, - "PolicyDetails":{ - "shape":"PolicyDetails", - "documentation":"

The configuration of the lifecycle policy.

Target tags cannot be re-used across policies.

" - } - } - }, - "UpdateLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - } - } - }, - "documentation":"Amazon Data Lifecycle Manager

With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/paginators-1.json deleted file mode 100644 index be68c9ea..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/paginators-1.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "pagination": { - "DescribeSchemas": { - "result_key": "Schemas", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeCertificates": { - "result_key": "Certificates", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeEndpoints": { - "result_key": "Endpoints", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeEventSubscriptions": { - "result_key": "EventSubscriptionsList", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeEndpointTypes": { - "result_key": "SupportedEndpointTypes", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeReplicationInstances": { - "result_key": "ReplicationInstances", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeTableStatistics": { - "result_key": "TableStatistics", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeConnections": { - "result_key": "Connections", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeReplicationTaskAssessmentResults": { - "result_key": "ReplicationTaskAssessmentResults", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeEvents": { - "result_key": "Events", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeOrderableReplicationInstances": { - "result_key": "OrderableReplicationInstances", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeReplicationSubnetGroups": { - "result_key": "ReplicationSubnetGroups", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - }, - "DescribeReplicationTasks": { - "result_key": "ReplicationTasks", - "output_token": "Marker", - "input_token": "Marker", - "limit_key": "MaxRecords" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/service-2.json deleted file mode 100644 index f64e545c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dms/2016-01-01/service-2.json +++ /dev/null @@ -1,3487 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-01-01", - "endpointPrefix":"dms", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Database Migration Service", - "serviceId":"Database Migration Service", - "signatureVersion":"v4", - "targetPrefix":"AmazonDMSv20160101", - "uid":"dms-2016-01-01" - }, - "operations":{ - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "output":{"shape":"AddTagsToResourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

" - }, - "CreateEndpoint":{ - "name":"CreateEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEndpointMessage"}, - "output":{"shape":"CreateEndpointResponse"}, - "errors":[ - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"ResourceQuotaExceededFault"}, - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"AccessDeniedFault"} - ], - "documentation":"

Creates an endpoint using the provided settings.

" - }, - "CreateEventSubscription":{ - "name":"CreateEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEventSubscriptionMessage"}, - "output":{"shape":"CreateEventSubscriptionResponse"}, - "errors":[ - {"shape":"ResourceQuotaExceededFault"}, - {"shape":"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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReplicationInstanceMessage"}, - "output":{"shape":"CreateReplicationInstanceResponse"}, - "errors":[ - {"shape":"AccessDeniedFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"InsufficientResourceCapacityFault"}, - {"shape":"ResourceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"ReplicationSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidResourceStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Creates the replication instance using the specified parameters.

" - }, - "CreateReplicationSubnetGroup":{ - "name":"CreateReplicationSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReplicationSubnetGroupMessage"}, - "output":{"shape":"CreateReplicationSubnetGroupResponse"}, - "errors":[ - {"shape":"AccessDeniedFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"ResourceQuotaExceededFault"}, - {"shape":"ReplicationSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Creates a replication subnet group given a list of the subnet IDs in a VPC.

" - }, - "CreateReplicationTask":{ - "name":"CreateReplicationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReplicationTaskMessage"}, - "output":{"shape":"CreateReplicationTaskResponse"}, - "errors":[ - {"shape":"AccessDeniedFault"}, - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"ResourceQuotaExceededFault"} - ], - "documentation":"

Creates a replication task using the specified parameters.

" - }, - "DeleteCertificate":{ - "name":"DeleteCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCertificateMessage"}, - "output":{"shape":"DeleteCertificateResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Deletes the specified certificate.

" - }, - "DeleteEndpoint":{ - "name":"DeleteEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEndpointMessage"}, - "output":{"shape":"DeleteEndpointResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReplicationInstanceMessage"}, - "output":{"shape":"DeleteReplicationInstanceResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Deletes the specified replication instance.

You must delete any migration tasks that are associated with the replication instance before you can delete it.

" - }, - "DeleteReplicationSubnetGroup":{ - "name":"DeleteReplicationSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReplicationSubnetGroupMessage"}, - "output":{"shape":"DeleteReplicationSubnetGroupResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Deletes a subnet group.

" - }, - "DeleteReplicationTask":{ - "name":"DeleteReplicationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReplicationTaskMessage"}, - "output":{"shape":"DeleteReplicationTaskResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Deletes the specified replication task.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesMessage"}, - "output":{"shape":"DescribeAccountAttributesResponse"}, - "documentation":"

Lists all of the AWS DMS attributes for a customer account. The attributes include AWS DMS quotas for the account, such as the number of replication instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command does not take any parameters.

" - }, - "DescribeCertificates":{ - "name":"DescribeCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCertificatesMessage"}, - "output":{"shape":"DescribeCertificatesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Provides a description of the certificate.

" - }, - "DescribeConnections":{ - "name":"DescribeConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConnectionsMessage"}, - "output":{"shape":"DescribeConnectionsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

" - }, - "DescribeEndpointTypes":{ - "name":"DescribeEndpointTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndpointTypesMessage"}, - "output":{"shape":"DescribeEndpointTypesResponse"}, - "documentation":"

Returns information about the type of endpoints available.

" - }, - "DescribeEndpoints":{ - "name":"DescribeEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndpointsMessage"}, - "output":{"shape":"DescribeEndpointsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableReplicationInstancesMessage"}, - "output":{"shape":"DescribeOrderableReplicationInstancesResponse"}, - "documentation":"

Returns information about the replication instance types that can be created in the specified region.

" - }, - "DescribeRefreshSchemasStatus":{ - "name":"DescribeRefreshSchemasStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRefreshSchemasStatusMessage"}, - "output":{"shape":"DescribeRefreshSchemasStatusResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns the status of the RefreshSchemas operation.

" - }, - "DescribeReplicationInstanceTaskLogs":{ - "name":"DescribeReplicationInstanceTaskLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationInstanceTaskLogsMessage"}, - "output":{"shape":"DescribeReplicationInstanceTaskLogsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Returns information about the task logs for the specified task.

" - }, - "DescribeReplicationInstances":{ - "name":"DescribeReplicationInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationInstancesMessage"}, - "output":{"shape":"DescribeReplicationInstancesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns information about replication instances for your account in the current region.

" - }, - "DescribeReplicationSubnetGroups":{ - "name":"DescribeReplicationSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationSubnetGroupsMessage"}, - "output":{"shape":"DescribeReplicationSubnetGroupsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns information about the replication subnet groups.

" - }, - "DescribeReplicationTaskAssessmentResults":{ - "name":"DescribeReplicationTaskAssessmentResults", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationTaskAssessmentResultsMessage"}, - "output":{"shape":"DescribeReplicationTaskAssessmentResultsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns the task assessment results from Amazon S3. This action always returns the latest results.

" - }, - "DescribeReplicationTasks":{ - "name":"DescribeReplicationTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationTasksMessage"}, - "output":{"shape":"DescribeReplicationTasksResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns information about replication tasks for your account in the current region.

" - }, - "DescribeSchemas":{ - "name":"DescribeSchemas", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSchemasMessage"}, - "output":{"shape":"DescribeSchemasResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns information about the schema for the specified endpoint.

" - }, - "DescribeTableStatistics":{ - "name":"DescribeTableStatistics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTableStatisticsMessage"}, - "output":{"shape":"DescribeTableStatisticsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

Note that the \"last updated\" column the DMS console only indicates the time that AWS DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table.

" - }, - "ImportCertificate":{ - "name":"ImportCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportCertificateMessage"}, - "output":{"shape":"ImportCertificateResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"InvalidCertificateFault"}, - {"shape":"ResourceQuotaExceededFault"} - ], - "documentation":"

Uploads the specified certificate.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Lists all tags for an AWS DMS resource.

" - }, - "ModifyEndpoint":{ - "name":"ModifyEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyEndpointMessage"}, - "output":{"shape":"ModifyEndpointResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReplicationInstanceMessage"}, - "output":{"shape":"ModifyReplicationInstanceResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"InsufficientResourceCapacityFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"UpgradeDependencyFailureFault"} - ], - "documentation":"

Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request.

Some settings are applied during the maintenance window.

" - }, - "ModifyReplicationSubnetGroup":{ - "name":"ModifyReplicationSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReplicationSubnetGroupMessage"}, - "output":{"shape":"ModifyReplicationSubnetGroupResponse"}, - "errors":[ - {"shape":"AccessDeniedFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"ResourceQuotaExceededFault"}, - {"shape":"SubnetAlreadyInUse"}, - {"shape":"ReplicationSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Modifies the settings for the specified replication subnet group.

" - }, - "ModifyReplicationTask":{ - "name":"ModifyReplicationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReplicationTaskMessage"}, - "output":{"shape":"ModifyReplicationTaskResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see the AWS DMS user guide at Working with Migration Tasks

" - }, - "RebootReplicationInstance":{ - "name":"RebootReplicationInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootReplicationInstanceMessage"}, - "output":{"shape":"RebootReplicationInstanceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

" - }, - "RefreshSchemas":{ - "name":"RefreshSchemas", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RefreshSchemasMessage"}, - "output":{"shape":"RefreshSchemasResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"ResourceQuotaExceededFault"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "output":{"shape":"RemoveTagsFromResourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Removes metadata tags from a DMS resource.

" - }, - "StartReplicationTask":{ - "name":"StartReplicationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartReplicationTaskMessage"}, - "output":{"shape":"StartReplicationTaskResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"}, - {"shape":"AccessDeniedFault"} - ], - "documentation":"

Starts the replication task.

For more information about AWS DMS tasks, see the AWS DMS user guide at Working with Migration Tasks

" - }, - "StartReplicationTaskAssessment":{ - "name":"StartReplicationTaskAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartReplicationTaskAssessmentMessage"}, - "output":{"shape":"StartReplicationTaskAssessmentResponse"}, - "errors":[ - {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Starts the replication task assessment for unsupported data types in the source database.

" - }, - "StopReplicationTask":{ - "name":"StopReplicationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopReplicationTaskMessage"}, - "output":{"shape":"StopReplicationTaskResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} - ], - "documentation":"

Stops the replication task.

" - }, - "TestConnection":{ - "name":"TestConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestConnectionMessage"}, - "output":{"shape":"TestConnectionResponse"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"ResourceQuotaExceededFault"} - ], - "documentation":"

Tests the connection between the replication instance and the endpoint.

" - } - }, - "shapes":{ - "AccessDeniedFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

AWS DMS was denied access to the endpoint.

", - "exception":true - }, - "AccountQuota":{ - "type":"structure", - "members":{ - "AccountQuotaName":{ - "shape":"String", - "documentation":"

The name of the AWS DMS quota for this AWS account.

" - }, - "Used":{ - "shape":"Long", - "documentation":"

The amount currently used toward the quota maximum.

" - }, - "Max":{ - "shape":"Long", - "documentation":"

The maximum allowed value for the quota.

" - } - }, - "documentation":"

Describes a quota for an AWS account, for example, the number of replication instances allowed.

" - }, - "AccountQuotaList":{ - "type":"list", - "member":{"shape":"AccountQuota"} - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS DMS resource the tag is to be added to. AWS DMS resources include a replication instance, endpoint, and a replication task.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tag to be assigned to the DMS resource.

" - } - }, - "documentation":"

" - }, - "AddTagsToResourceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "AuthMechanismValue":{ - "type":"string", - "enum":[ - "default", - "mongodb_cr", - "scram_sha_1" - ] - }, - "AuthTypeValue":{ - "type":"string", - "enum":[ - "no", - "password" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the availability zone.

" - } - }, - "documentation":"

" - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "Certificate":{ - "type":"structure", - "members":{ - "CertificateIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the certificate. Valid characters are A-z and 0-9.

" - }, - "CertificateCreationDate":{ - "shape":"TStamp", - "documentation":"

The date that the certificate was created.

" - }, - "CertificatePem":{ - "shape":"String", - "documentation":"

The contents of the .pem X.509 certificate file for the certificate.

" - }, - "CertificateWallet":{ - "shape":"CertificateWallet", - "documentation":"

The location of the imported Oracle Wallet certificate for use with SSL.

" - }, - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the certificate.

" - }, - "CertificateOwner":{ - "shape":"String", - "documentation":"

The owner of the certificate.

" - }, - "ValidFromDate":{ - "shape":"TStamp", - "documentation":"

The beginning date that the certificate is valid.

" - }, - "ValidToDate":{ - "shape":"TStamp", - "documentation":"

The final date that the certificate is valid.

" - }, - "SigningAlgorithm":{ - "shape":"String", - "documentation":"

The signing algorithm for the certificate.

" - }, - "KeyLength":{ - "shape":"IntegerOptional", - "documentation":"

The key length of the cryptographic algorithm being used.

" - } - }, - "documentation":"

The SSL certificate that can be used to encrypt connections between the endpoints and the replication instance.

" - }, - "CertificateList":{ - "type":"list", - "member":{"shape":"Certificate"} - }, - "CertificateWallet":{"type":"blob"}, - "CompressionTypeValue":{ - "type":"string", - "enum":[ - "none", - "gzip" - ] - }, - "Connection":{ - "type":"structure", - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The connection status.

" - }, - "LastFailureMessage":{ - "shape":"String", - "documentation":"

The error message when the connection last failed.

" - }, - "EndpointIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the endpoint. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" - }, - "ReplicationInstanceIdentifier":{ - "shape":"String", - "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

" - } - }, - "documentation":"

" - }, - "ConnectionList":{ - "type":"list", - "member":{"shape":"Connection"} - }, - "CreateEndpointMessage":{ - "type":"structure", - "required":[ - "EndpointIdentifier", - "EndpointType", - "EngineName" - ], - "members":{ - "EndpointIdentifier":{ - "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" - }, - "EndpointType":{ - "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndPointType, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, dynamodb, mongodb, and sqlserver.

" - }, - "Username":{ - "shape":"String", - "documentation":"

The user name to be used to login to the endpoint database.

" - }, - "Password":{ - "shape":"SecretString", - "documentation":"

The password to be used to login to the endpoint database.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server where the endpoint database resides.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port used by the endpoint database.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The name of the endpoint database.

" - }, - "ExtraConnectionAttributes":{ - "shape":"String", - "documentation":"

Additional attributes associated with the connection.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Tags to be added to the endpoint.

" - }, - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the certificate.

" - }, - "SslMode":{ - "shape":"DmsSslModeValue", - "documentation":"

The SSL mode to use for the SSL connection.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" - }, - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the service access role you want to use to create the endpoint.

" - }, - "ExternalTableDefinition":{ - "shape":"String", - "documentation":"

The external table definition.

" - }, - "DynamoDbSettings":{ - "shape":"DynamoDbSettings", - "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For 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 Amazon 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.

" - }, - "DmsTransferSettings":{ - "shape":"DmsTransferSettings", - "documentation":"

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • bucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" - }, - "MongoDbSettings":{ - "shape":"MongoDbSettings", - "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the Configuration Properties When Using MongoDB as a Source for AWS Database Migration Service section at Using MongoDB as a Target for AWS Database Migration Service.

" - } - }, - "documentation":"

" - }, - "CreateEndpointResponse":{ - "type":"structure", - "members":{ - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The endpoint that was created.

" - } - }, - "documentation":"

" - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the AWS 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":[ - "ReplicationInstanceIdentifier", - "ReplicationInstanceClass" - ], - "members":{ - "ReplicationInstanceIdentifier":{ - "shape":"String", - "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) to be initially allocated for the replication instance.

" - }, - "ReplicationInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the replication instance as specified by the replication instance class.

Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the replication instance will be created in.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

" - }, - "ReplicationSubnetGroupIdentifier":{ - "shape":"String", - "documentation":"

A subnet group to associate with the replication instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version number of the replication instance.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window.

Default: true

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Tags to be associated with the replication instance.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the content on the replication instance. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

" - } - }, - "documentation":"

" - }, - "CreateReplicationInstanceResponse":{ - "type":"structure", - "members":{ - "ReplicationInstance":{ - "shape":"ReplicationInstance", - "documentation":"

The replication instance that was created.

" - } - }, - "documentation":"

" - }, - "CreateReplicationSubnetGroupMessage":{ - "type":"structure", - "required":[ - "ReplicationSubnetGroupIdentifier", - "ReplicationSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "ReplicationSubnetGroupIdentifier":{ - "shape":"String", - "documentation":"

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\".

Example: mySubnetgroup

" - }, - "ReplicationSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the subnet group.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tag to be assigned to the subnet group.

" - } - }, - "documentation":"

" - }, - "CreateReplicationSubnetGroupResponse":{ - "type":"structure", - "members":{ - "ReplicationSubnetGroup":{ - "shape":"ReplicationSubnetGroup", - "documentation":"

The replication subnet group that was created.

" - } - }, - "documentation":"

" - }, - "CreateReplicationTaskMessage":{ - "type":"structure", - "required":[ - "ReplicationTaskIdentifier", - "SourceEndpointArn", - "TargetEndpointArn", - "ReplicationInstanceArn", - "MigrationType", - "TableMappings" - ], - "members":{ - "ReplicationTaskIdentifier":{ - "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "SourceEndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "TargetEndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "MigrationType":{ - "shape":"MigrationTypeValue", - "documentation":"

The migration type.

" - }, - "TableMappings":{ - "shape":"String", - "documentation":"

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with \"file://\". When working with the DMS API, provide the JSON as the parameter value.

For example, --table-mappings file://mappingfile.json

" - }, - "ReplicationTaskSettings":{ - "shape":"String", - "documentation":"

Settings for the task, such as target metadata settings. For a complete list of task settings, see Task Settings for AWS Database Migration Service Tasks.

" - }, - "CdcStartTime":{ - "shape":"TStamp", - "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" - }, - "CdcStartPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

" - }, - "CdcStopPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Tags to be added to the replication instance.

" - } - }, - "documentation":"

" - }, - "CreateReplicationTaskResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The replication task that was created.

" - } - }, - "documentation":"

" - }, - "DeleteCertificateMessage":{ - "type":"structure", - "required":["CertificateArn"], - "members":{ - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the deleted certificate.

" - } - } - }, - "DeleteCertificateResponse":{ - "type":"structure", - "members":{ - "Certificate":{ - "shape":"Certificate", - "documentation":"

The Secure Sockets Layer (SSL) certificate.

" - } - } - }, - "DeleteEndpointMessage":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - } - }, - "documentation":"

" - }, - "DeleteEndpointResponse":{ - "type":"structure", - "members":{ - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The endpoint that was deleted.

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the DMS event notification subscription to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionResponse":{ - "type":"structure", - "members":{ - "EventSubscription":{ - "shape":"EventSubscription", - "documentation":"

The event subscription that was deleted.

" - } - }, - "documentation":"

" - }, - "DeleteReplicationInstanceMessage":{ - "type":"structure", - "required":["ReplicationInstanceArn"], - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteReplicationInstanceResponse":{ - "type":"structure", - "members":{ - "ReplicationInstance":{ - "shape":"ReplicationInstance", - "documentation":"

The replication instance that was deleted.

" - } - }, - "documentation":"

" - }, - "DeleteReplicationSubnetGroupMessage":{ - "type":"structure", - "required":["ReplicationSubnetGroupIdentifier"], - "members":{ - "ReplicationSubnetGroupIdentifier":{ - "shape":"String", - "documentation":"

The subnet group name of the replication instance.

" - } - }, - "documentation":"

" - }, - "DeleteReplicationSubnetGroupResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "DeleteReplicationTaskMessage":{ - "type":"structure", - "required":["ReplicationTaskArn"], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteReplicationTaskResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The deleted replication task.

" - } - }, - "documentation":"

" - }, - "DescribeAccountAttributesMessage":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "DescribeAccountAttributesResponse":{ - "type":"structure", - "members":{ - "AccountQuotas":{ - "shape":"AccountQuotaList", - "documentation":"

Account quota information.

" - } - }, - "documentation":"

" - }, - "DescribeCertificatesMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the certificate described in the form of key-value pairs.

" - }, - "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: 10

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeCertificatesResponse":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

The pagination token.

" - }, - "Certificates":{ - "shape":"CertificateList", - "documentation":"

The Secure Sockets Layer (SSL) certificates associated with the replication instance.

" - } - } - }, - "DescribeConnectionsMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters applied to the connection.

Valid filter names: endpoint-arn | replication-instance-arn

" - }, - "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":"

" - }, - "DescribeConnectionsResponse":{ - "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.

" - }, - "Connections":{ - "shape":"ConnectionList", - "documentation":"

A description of the connections.

" - } - }, - "documentation":"

" - }, - "DescribeEndpointTypesMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe action.

Valid filter names: engine-name | endpoint-type

" - }, - "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":"

" - }, - "DescribeEndpointTypesResponse":{ - "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.

" - }, - "SupportedEndpointTypes":{ - "shape":"SupportedEndpointTypeList", - "documentation":"

The type of endpoints that are supported.

" - } - }, - "documentation":"

" - }, - "DescribeEndpointsMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe action.

Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "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":"

" - }, - "DescribeEndpointsResponse":{ - "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.

" - }, - "Endpoints":{ - "shape":"EndpointList", - "documentation":"

Endpoint description.

" - } - }, - "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":{ - "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":"

" - }, - "DescribeOrderableReplicationInstancesResponse":{ - "type":"structure", - "members":{ - "OrderableReplicationInstances":{ - "shape":"OrderableReplicationInstanceList", - "documentation":"

The order-able replication instances available.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeRefreshSchemasStatusMessage":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - } - }, - "documentation":"

" - }, - "DescribeRefreshSchemasStatusResponse":{ - "type":"structure", - "members":{ - "RefreshSchemasStatus":{ - "shape":"RefreshSchemasStatus", - "documentation":"

The status of the schema.

" - } - }, - "documentation":"

" - }, - "DescribeReplicationInstanceTaskLogsMessage":{ - "type":"structure", - "required":["ReplicationInstanceArn"], - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeReplicationInstanceTaskLogsResponse":{ - "type":"structure", - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "ReplicationInstanceTaskLogs":{ - "shape":"ReplicationInstanceTaskLogsList", - "documentation":"

An array of replication task log metadata. Each member of the array contains the replication task name, ARN, and task log size (in bytes).

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeReplicationInstancesMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe action.

Valid filter names: replication-instance-arn | replication-instance-id | replication-instance-class | engine-version

" - }, - "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":"

" - }, - "DescribeReplicationInstancesResponse":{ - "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.

" - }, - "ReplicationInstances":{ - "shape":"ReplicationInstanceList", - "documentation":"

The replication instances described.

" - } - }, - "documentation":"

" - }, - "DescribeReplicationSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe 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":"

" - }, - "DescribeReplicationSubnetGroupsResponse":{ - "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.

" - }, - "ReplicationSubnetGroups":{ - "shape":"ReplicationSubnetGroups", - "documentation":"

A description of the replication subnet groups.

" - } - }, - "documentation":"

" - }, - "DescribeReplicationTaskAssessmentResultsMessage":{ - "type":"structure", - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

- The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified the API will return only one result and ignore the values of the max-records and marker parameters.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeReplicationTaskAssessmentResultsResponse":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "BucketName":{ - "shape":"String", - "documentation":"

- The Amazon S3 bucket where the task assessment report is located.

" - }, - "ReplicationTaskAssessmentResults":{ - "shape":"ReplicationTaskAssessmentResultList", - "documentation":"

The task assessment report.

" - } - }, - "documentation":"

" - }, - "DescribeReplicationTasksMessage":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe action.

Valid filter names: replication-task-arn | replication-task-id | migration-type | endpoint-arn | replication-instance-arn

" - }, - "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":"

" - }, - "DescribeReplicationTasksResponse":{ - "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.

" - }, - "ReplicationTasks":{ - "shape":"ReplicationTaskList", - "documentation":"

A description of the replication tasks.

" - } - }, - "documentation":"

" - }, - "DescribeSchemasMessage":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "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":"

" - }, - "DescribeSchemasResponse":{ - "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.

" - }, - "Schemas":{ - "shape":"SchemaList", - "documentation":"

The described schema.

" - } - }, - "documentation":"

" - }, - "DescribeTableStatisticsMessage":{ - "type":"structure", - "required":["ReplicationTaskArn"], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "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 500.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters applied to the describe table statistics action.

Valid filter names: schema-name | table-name | table-state

A combination of filters creates an AND condition where each record matches all specified filters.

" - } - }, - "documentation":"

" - }, - "DescribeTableStatisticsResponse":{ - "type":"structure", - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "TableStatistics":{ - "shape":"TableStatisticsList", - "documentation":"

The table statistics.

" - }, - "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":"

" - }, - "DmsSslModeValue":{ - "type":"string", - "enum":[ - "none", - "require", - "verify-ca", - "verify-full" - ] - }, - "DmsTransferSettings":{ - "type":"structure", - "members":{ - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The IAM role that has permission to access the Amazon S3 bucket.

" - }, - "BucketName":{ - "shape":"String", - "documentation":"

The name of the S3 bucket to use.

" - } - }, - "documentation":"

The settings in JSON format for the DMS Transfer type source endpoint.

" - }, - "DynamoDbSettings":{ - "type":"structure", - "required":["ServiceAccessRoleArn"], - "members":{ - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" - } - }, - "documentation":"

" - }, - "Endpoint":{ - "type":"structure", - "members":{ - "EndpointIdentifier":{ - "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" - }, - "EndpointType":{ - "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

The database engine name. Valid values, depending on the EndPointType, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, sybase, dynamodb, mongodb, and sqlserver.

" - }, - "EngineDisplayName":{ - "shape":"String", - "documentation":"

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

" - }, - "Username":{ - "shape":"String", - "documentation":"

The user name used to connect to the endpoint.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server at the endpoint.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port value used to access the endpoint.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The name of the database at the endpoint.

" - }, - "ExtraConnectionAttributes":{ - "shape":"String", - "documentation":"

Additional connection attributes used to connect to the endpoint.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the endpoint.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" - }, - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) used for SSL connection to the endpoint.

" - }, - "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.

" - }, - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" - }, - "ExternalTableDefinition":{ - "shape":"String", - "documentation":"

The external table definition.

" - }, - "ExternalId":{ - "shape":"String", - "documentation":"

Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.

" - }, - "DynamoDbSettings":{ - "shape":"DynamoDbSettings", - "documentation":"

The settings for the target DynamoDB database. For more information, see the DynamoDBSettings structure.

" - }, - "S3Settings":{ - "shape":"S3Settings", - "documentation":"

The settings for the S3 target endpoint. For more information, see the S3Settings structure.

" - }, - "DmsTransferSettings":{ - "shape":"DmsTransferSettings", - "documentation":"

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • bucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" - }, - "MongoDbSettings":{ - "shape":"MongoDbSettings", - "documentation":"

The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings structure.

" - } - }, - "documentation":"

" - }, - "EndpointList":{ - "type":"list", - "member":{"shape":"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"} - }, - "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"} - }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"} - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{ - "shape":"String", - "documentation":"

The AWS customer account associated with the AWS DMS event notification subscription.

" - }, - "CustSubscriptionId":{ - "shape":"String", - "documentation":"

The AWS DMS event notification subscription Id.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The topic ARN of the AWS DMS event notification subscription.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the AWS DMS event notification subscription.

Constraints:

Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

The status \"no-permission\" indicates that AWS DMS no longer has permission to post to the SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" - }, - "SubscriptionCreationTime":{ - "shape":"String", - "documentation":"

The time the RDS event notification subscription was created.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-server | security-group | 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"} - }, - "ExceptionMessage":{"type":"string"}, - "Filter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter.

" - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

The filter value.

" - } - }, - "documentation":"

" - }, - "FilterList":{ - "type":"list", - "member":{"shape":"Filter"} - }, - "FilterValueList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ImportCertificateMessage":{ - "type":"structure", - "required":["CertificateIdentifier"], - "members":{ - "CertificateIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the certificate. Valid characters are A-z and 0-9.

" - }, - "CertificatePem":{ - "shape":"String", - "documentation":"

The contents of the .pem X.509 certificate file for the certificate.

" - }, - "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.

" - } - } - }, - "ImportCertificateResponse":{ - "type":"structure", - "members":{ - "Certificate":{ - "shape":"Certificate", - "documentation":"

The certificate to be uploaded.

" - } - } - }, - "InsufficientResourceCapacityFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

There are not enough resources allocated to the database migration.

", - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidCertificateFault":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The certificate was not valid.

", - "exception":true - }, - "InvalidResourceStateFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The resource is in a state that prevents it from being used for database migration.

", - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The subnet provided is invalid.

", - "exception":true - }, - "KMSKeyNotAccessibleFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

AWS DMS cannot access the KMS key.

", - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the AWS DMS resource.

" - } - }, - "documentation":"

" - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

A list of tags for the resource.

" - } - }, - "documentation":"

" - }, - "Long":{"type":"long"}, - "MigrationTypeValue":{ - "type":"string", - "enum":[ - "full-load", - "cdc", - "full-load-and-cdc" - ] - }, - "ModifyEndpointMessage":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "EndpointIdentifier":{ - "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" - }, - "EndpointType":{ - "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndPointType, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, sybase, dynamodb, mongodb, and sqlserver.

" - }, - "Username":{ - "shape":"String", - "documentation":"

The user name to be used to login to the endpoint database.

" - }, - "Password":{ - "shape":"SecretString", - "documentation":"

The password to be used to login to the endpoint database.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server where the endpoint database resides.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port used by the endpoint database.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The name of the endpoint database.

" - }, - "ExtraConnectionAttributes":{ - "shape":"String", - "documentation":"

Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.

" - }, - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the certificate used for SSL connection.

" - }, - "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.

" - }, - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint.

" - }, - "ExternalTableDefinition":{ - "shape":"String", - "documentation":"

The external table definition.

" - }, - "DynamoDbSettings":{ - "shape":"DynamoDbSettings", - "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For 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.

" - }, - "DmsTransferSettings":{ - "shape":"DmsTransferSettings", - "documentation":"

The settings in JSON format for the DMS Transfer type source endpoint.

Attributes include:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • BucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. Set to NONE (the default) or do not use to leave the files uncompressed.

Shorthand syntax: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax:

{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" - }, - "MongoDbSettings":{ - "shape":"MongoDbSettings", - "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the Configuration Properties 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":"

" - }, - "ModifyEndpointResponse":{ - "type":"structure", - "members":{ - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The modified endpoint.

" - } - }, - "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"], - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) to be allocated for the replication instance.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Indicates whether the changes should be applied immediately or during the next maintenance window.

" - }, - "ReplicationInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the replication instance.

Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version number of the replication instance.

" - }, - "AllowMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades will be applied automatically to the replication instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and AWS DMS has enabled auto patching for that engine version.

" - }, - "ReplicationInstanceIdentifier":{ - "shape":"String", - "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

" - } - }, - "documentation":"

" - }, - "ModifyReplicationInstanceResponse":{ - "type":"structure", - "members":{ - "ReplicationInstance":{ - "shape":"ReplicationInstance", - "documentation":"

The modified replication instance.

" - } - }, - "documentation":"

" - }, - "ModifyReplicationSubnetGroupMessage":{ - "type":"structure", - "required":[ - "ReplicationSubnetGroupIdentifier", - "SubnetIds" - ], - "members":{ - "ReplicationSubnetGroupIdentifier":{ - "shape":"String", - "documentation":"

The name of the replication instance subnet group.

" - }, - "ReplicationSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description of the replication instance subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

A list of subnet IDs.

" - } - }, - "documentation":"

" - }, - "ModifyReplicationSubnetGroupResponse":{ - "type":"structure", - "members":{ - "ReplicationSubnetGroup":{ - "shape":"ReplicationSubnetGroup", - "documentation":"

The modified replication subnet group.

" - } - }, - "documentation":"

" - }, - "ModifyReplicationTaskMessage":{ - "type":"structure", - "required":["ReplicationTaskArn"], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "ReplicationTaskIdentifier":{ - "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "MigrationType":{ - "shape":"MigrationTypeValue", - "documentation":"

The migration type.

Valid values: full-load | cdc | full-load-and-cdc

" - }, - "TableMappings":{ - "shape":"String", - "documentation":"

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with \"file://\". When working with the DMS API, provide the JSON as the parameter value.

For example, --table-mappings file://mappingfile.json

" - }, - "ReplicationTaskSettings":{ - "shape":"String", - "documentation":"

JSON file that contains settings for the task, such as target metadata settings.

" - }, - "CdcStartTime":{ - "shape":"TStamp", - "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" - }, - "CdcStartPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

" - }, - "CdcStopPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" - } - }, - "documentation":"

" - }, - "ModifyReplicationTaskResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The replication task that was modified.

" - } - }, - "documentation":"

" - }, - "MongoDbSettings":{ - "type":"structure", - "members":{ - "Username":{ - "shape":"String", - "documentation":"

The user name you use to access the MongoDB source endpoint.

" - }, - "Password":{ - "shape":"SecretString", - "documentation":"

The password for the user account you use to access the MongoDB source endpoint.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server on the MongoDB source endpoint.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port value for the MongoDB source endpoint.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The database name on the MongoDB source endpoint.

" - }, - "AuthType":{ - "shape":"AuthTypeValue", - "documentation":"

The authentication type you use to access the MongoDB source endpoint.

Valid values: NO, PASSWORD

When NO is selected, user name and password parameters are not used and can be empty.

" - }, - "AuthMechanism":{ - "shape":"AuthMechanismValue", - "documentation":"

The authentication mechanism you use to access the MongoDB source endpoint.

Valid values: DEFAULT, MONGODB_CR, SCRAM_SHA_1

DEFAULT – For MongoDB version 2.x, use MONGODB_CR. For MongoDB version 3.x, use SCRAM_SHA_1. This 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.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" - } - }, - "documentation":"

" - }, - "NestingLevelValue":{ - "type":"string", - "enum":[ - "none", - "one" - ] - }, - "OrderableReplicationInstance":{ - "type":"structure", - "members":{ - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the replication engine.

" - }, - "ReplicationInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the replication instance.

Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

The type of storage used by the replication instance.

" - }, - "MinAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The minimum amount of storage (in gigabytes) that can be allocated for the replication instance.

" - }, - "MaxAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The minimum amount of storage (in gigabytes) that can be allocated for the replication instance.

" - }, - "DefaultAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The default amount of storage (in gigabytes) that is allocated for the replication instance.

" - }, - "IncludedAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" - } - }, - "documentation":"

" - }, - "OrderableReplicationInstanceList":{ - "type":"list", - "member":{"shape":"OrderableReplicationInstance"} - }, - "RebootReplicationInstanceMessage":{ - "type":"structure", - "required":["ReplicationInstanceArn"], - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "ForceFailover":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn't configured for Multi-AZ, then you can't specify true.)

" - } - } - }, - "RebootReplicationInstanceResponse":{ - "type":"structure", - "members":{ - "ReplicationInstance":{ - "shape":"ReplicationInstance", - "documentation":"

The replication instance that is being rebooted.

" - } - } - }, - "RefreshSchemasMessage":{ - "type":"structure", - "required":[ - "EndpointArn", - "ReplicationInstanceArn" - ], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - } - }, - "documentation":"

" - }, - "RefreshSchemasResponse":{ - "type":"structure", - "members":{ - "RefreshSchemasStatus":{ - "shape":"RefreshSchemasStatus", - "documentation":"

The status of the refreshed schema.

" - } - }, - "documentation":"

" - }, - "RefreshSchemasStatus":{ - "type":"structure", - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "Status":{ - "shape":"RefreshSchemasStatusTypeValue", - "documentation":"

The status of the schema.

" - }, - "LastRefreshDate":{ - "shape":"TStamp", - "documentation":"

The date the schema was last refreshed.

" - }, - "LastFailureMessage":{ - "shape":"String", - "documentation":"

The last failure message for the schema.

" - } - }, - "documentation":"

" - }, - "RefreshSchemasStatusTypeValue":{ - "type":"string", - "enum":[ - "successful", - "failed", - "refreshing" - ] - }, - "ReloadOptionValue":{ - "type":"string", - "enum":[ - "data-reload", - "validate-only" - ] - }, - "ReloadTablesMessage":{ - "type":"structure", - "required":[ - "ReplicationTaskArn", - "TablesToReload" - ], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "TablesToReload":{ - "shape":"TableListToReload", - "documentation":"

The name and schema of the table to be reloaded.

" - }, - "ReloadOption":{ - "shape":"ReloadOptionValue", - "documentation":"

Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task.

Valid values: data-reload, validate-only

Default value is data-reload.

" - } - } - }, - "ReloadTablesResponse":{ - "type":"structure", - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - } - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"String", - "documentation":"

>The Amazon Resource Name (ARN) of the AWS DMS resource the tag is to be removed from.

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

The tag key (name) of the tag to be removed.

" - } - }, - "documentation":"

" - }, - "RemoveTagsFromResourceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "ReplicationEndpointTypeValue":{ - "type":"string", - "enum":[ - "source", - "target" - ] - }, - "ReplicationInstance":{ - "type":"structure", - "members":{ - "ReplicationInstanceIdentifier":{ - "shape":"String", - "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance

" - }, - "ReplicationInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the replication instance.

Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

" - }, - "ReplicationInstanceStatus":{ - "shape":"String", - "documentation":"

The status of the replication instance.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

The time the replication instance was created.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

The VPC security group for the instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the instance.

" - }, - "ReplicationSubnetGroup":{ - "shape":"ReplicationSubnetGroup", - "documentation":"

The subnet group for the replication instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The maintenance window times for the replication instance.

" - }, - "PendingModifiedValues":{ - "shape":"ReplicationPendingModifiedValues", - "documentation":"

The pending modification values.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version number of the replication instance.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Boolean value indicating if minor version upgrades will be automatically applied to the instance.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The KMS key identifier that is used to encrypt the content on the replication instance. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" - }, - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "ReplicationInstancePublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address of the replication instance.

", - "deprecated":true - }, - "ReplicationInstancePrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the replication instance.

", - "deprecated":true - }, - "ReplicationInstancePublicIpAddresses":{ - "shape":"ReplicationInstancePublicIpAddressList", - "documentation":"

The public IP address of the replication instance.

" - }, - "ReplicationInstancePrivateIpAddresses":{ - "shape":"ReplicationInstancePrivateIpAddressList", - "documentation":"

The private IP address of the replication instance.

" - }, - "PubliclyAccessible":{ - "shape":"Boolean", - "documentation":"

Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

" - }, - "SecondaryAvailabilityZone":{ - "shape":"String", - "documentation":"

The availability zone of the standby replication instance in a Multi-AZ deployment.

" - }, - "FreeUntil":{ - "shape":"TStamp", - "documentation":"

The expiration date of the free replication instance that is part of the Free DMS program.

" - } - }, - "documentation":"

" - }, - "ReplicationInstanceList":{ - "type":"list", - "member":{"shape":"ReplicationInstance"} - }, - "ReplicationInstancePrivateIpAddressList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReplicationInstancePublicIpAddressList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReplicationInstanceTaskLog":{ - "type":"structure", - "members":{ - "ReplicationTaskName":{ - "shape":"String", - "documentation":"

The name of the replication task.

" - }, - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "ReplicationInstanceTaskLogSize":{ - "shape":"Long", - "documentation":"

The size, in bytes, of the replication task log.

" - } - }, - "documentation":"

Contains metadata for a replication instance task log.

" - }, - "ReplicationInstanceTaskLogsList":{ - "type":"list", - "member":{"shape":"ReplicationInstanceTaskLog"} - }, - "ReplicationPendingModifiedValues":{ - "type":"structure", - "members":{ - "ReplicationInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the replication instance.

Valid Values: dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version number of the replication instance.

" - } - }, - "documentation":"

" - }, - "ReplicationSubnetGroup":{ - "type":"structure", - "members":{ - "ReplicationSubnetGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the replication instance subnet group.

" - }, - "ReplicationSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description of the replication subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "SubnetGroupStatus":{ - "shape":"String", - "documentation":"

The status of the subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

The subnets that are in the subnet group.

" - } - }, - "documentation":"

" - }, - "ReplicationSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

", - "exception":true - }, - "ReplicationSubnetGroups":{ - "type":"list", - "member":{"shape":"ReplicationSubnetGroup"} - }, - "ReplicationTask":{ - "type":"structure", - "members":{ - "ReplicationTaskIdentifier":{ - "shape":"String", - "documentation":"

The user-assigned replication task identifier or name.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "SourceEndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "TargetEndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - }, - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "MigrationType":{ - "shape":"MigrationTypeValue", - "documentation":"

The type of migration.

" - }, - "TableMappings":{ - "shape":"String", - "documentation":"

Table mappings specified in the task.

" - }, - "ReplicationTaskSettings":{ - "shape":"String", - "documentation":"

The settings for the replication task.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the replication task.

" - }, - "LastFailureMessage":{ - "shape":"String", - "documentation":"

The last error (failure) message generated for the replication instance.

" - }, - "StopReason":{ - "shape":"String", - "documentation":"

The reason the replication task was stopped.

" - }, - "ReplicationTaskCreationDate":{ - "shape":"TStamp", - "documentation":"

The date the replication task was created.

" - }, - "ReplicationTaskStartDate":{ - "shape":"TStamp", - "documentation":"

The date the replication task is scheduled to start.

" - }, - "CdcStartPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

" - }, - "CdcStopPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" - }, - "RecoveryCheckpoint":{ - "shape":"String", - "documentation":"

Indicates the last checkpoint that occurred during a change data capture (CDC) operation. You can provide this value to the CdcStartPosition parameter to start a CDC operation that begins at that checkpoint.

" - }, - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "ReplicationTaskStats":{ - "shape":"ReplicationTaskStats", - "documentation":"

The statistics for the task, including elapsed time, tables loaded, and table errors.

" - } - }, - "documentation":"

" - }, - "ReplicationTaskAssessmentResult":{ - "type":"structure", - "members":{ - "ReplicationTaskIdentifier":{ - "shape":"String", - "documentation":"

The replication task identifier of the task on which the task assessment was run.

" - }, - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - }, - "ReplicationTaskLastAssessmentDate":{ - "shape":"TStamp", - "documentation":"

The date the task assessment was completed.

" - }, - "AssessmentStatus":{ - "shape":"String", - "documentation":"

The status of the task assessment.

" - }, - "AssessmentResultsFile":{ - "shape":"String", - "documentation":"

The file containing the results of the task assessment.

" - }, - "AssessmentResults":{ - "shape":"String", - "documentation":"

The task assessment results in JSON format.

" - }, - "S3ObjectUrl":{ - "shape":"String", - "documentation":"

The URL of the S3 object containing the task assessment results.

" - } - }, - "documentation":"

The task assessment report in JSON format.

" - }, - "ReplicationTaskAssessmentResultList":{ - "type":"list", - "member":{"shape":"ReplicationTaskAssessmentResult"} - }, - "ReplicationTaskList":{ - "type":"list", - "member":{"shape":"ReplicationTask"} - }, - "ReplicationTaskStats":{ - "type":"structure", - "members":{ - "FullLoadProgressPercent":{ - "shape":"Integer", - "documentation":"

The percent complete for the full load migration task.

" - }, - "ElapsedTimeMillis":{ - "shape":"Long", - "documentation":"

The elapsed time of the task, in milliseconds.

" - }, - "TablesLoaded":{ - "shape":"Integer", - "documentation":"

The number of tables loaded for this task.

" - }, - "TablesLoading":{ - "shape":"Integer", - "documentation":"

The number of tables currently loading for this task.

" - }, - "TablesQueued":{ - "shape":"Integer", - "documentation":"

The number of tables queued for this task.

" - }, - "TablesErrored":{ - "shape":"Integer", - "documentation":"

The number of errors that have occurred during this task.

" - } - }, - "documentation":"

" - }, - "ResourceAlreadyExistsFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The resource you are attempting to create already exists.

", - "exception":true - }, - "ResourceNotFoundFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The resource could not be found.

", - "exception":true - }, - "ResourceQuotaExceededFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The quota for this resource quota has been exceeded.

", - "exception":true - }, - "S3Settings":{ - "type":"structure", - "members":{ - "ServiceAccessRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" - }, - "ExternalTableDefinition":{ - "shape":"String", - "documentation":"

The external table definition.

" - }, - "CsvRowDelimiter":{ - "shape":"String", - "documentation":"

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

" - }, - "CsvDelimiter":{ - "shape":"String", - "documentation":"

The delimiter used to separate columns in the source files. The default is a comma.

" - }, - "BucketFolder":{ - "shape":"String", - "documentation":"

An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path <bucketFolder>/<schema_name>/<table_name>/. If this parameter 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"} - }, - "SecretString":{ - "type":"string", - "sensitive":true - }, - "SourceIdsList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SourceType":{ - "type":"string", - "enum":["replication-instance"] - }, - "StartReplicationTaskAssessmentMessage":{ - "type":"structure", - "required":["ReplicationTaskArn"], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" - } - }, - "documentation":"

" - }, - "StartReplicationTaskAssessmentResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The assessed replication task.

" - } - }, - "documentation":"

" - }, - "StartReplicationTaskMessage":{ - "type":"structure", - "required":[ - "ReplicationTaskArn", - "StartReplicationTaskType" - ], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication task to be started.

" - }, - "StartReplicationTaskType":{ - "shape":"StartReplicationTaskTypeValue", - "documentation":"

The type of replication task.

" - }, - "CdcStartTime":{ - "shape":"TStamp", - "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" - }, - "CdcStartPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

" - }, - "CdcStopPosition":{ - "shape":"String", - "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" - } - }, - "documentation":"

" - }, - "StartReplicationTaskResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The replication task started.

" - } - }, - "documentation":"

" - }, - "StartReplicationTaskTypeValue":{ - "type":"string", - "enum":[ - "start-replication", - "resume-processing", - "reload-target" - ] - }, - "StopReplicationTaskMessage":{ - "type":"structure", - "required":["ReplicationTaskArn"], - "members":{ - "ReplicationTaskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name(ARN) of the replication task to be stopped.

" - } - }, - "documentation":"

" - }, - "StopReplicationTaskResponse":{ - "type":"structure", - "members":{ - "ReplicationTask":{ - "shape":"ReplicationTask", - "documentation":"

The replication task stopped.

" - } - }, - "documentation":"

" - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The storage quota has been exceeded.

", - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

The subnet identifier.

" - }, - "SubnetAvailabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone of the subnet.

" - }, - "SubnetStatus":{ - "shape":"String", - "documentation":"

The status of the subnet.

" - } - }, - "documentation":"

" - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

The specified subnet is already in use.

", - "exception":true - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SubnetList":{ - "type":"list", - "member":{"shape":"Subnet"} - }, - "SupportedEndpointType":{ - "type":"structure", - "members":{ - "EngineName":{ - "shape":"String", - "documentation":"

The database engine name. Valid values, depending on the EndPointType, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, sybase, dynamodb, mongodb, and sqlserver.

" - }, - "SupportsCDC":{ - "shape":"Boolean", - "documentation":"

Indicates if Change Data Capture (CDC) is supported.

" - }, - "EndpointType":{ - "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" - }, - "EngineDisplayName":{ - "shape":"String", - "documentation":"

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

" - } - }, - "documentation":"

" - }, - "SupportedEndpointTypeList":{ - "type":"list", - "member":{"shape":"SupportedEndpointType"} - }, - "TStamp":{"type":"timestamp"}, - "TableListToReload":{ - "type":"list", - "member":{"shape":"TableToReload"} - }, - "TableStatistics":{ - "type":"structure", - "members":{ - "SchemaName":{ - "shape":"String", - "documentation":"

The schema name.

" - }, - "TableName":{ - "shape":"String", - "documentation":"

The name of the table.

" - }, - "Inserts":{ - "shape":"Long", - "documentation":"

The number of insert actions performed on a table.

" - }, - "Deletes":{ - "shape":"Long", - "documentation":"

The number of delete actions performed on a table.

" - }, - "Updates":{ - "shape":"Long", - "documentation":"

The number of update actions performed on a table.

" - }, - "Ddls":{ - "shape":"Long", - "documentation":"

The Data Definition Language (DDL) used to build and modify the structure of your tables.

" - }, - "FullLoadRows":{ - "shape":"Long", - "documentation":"

The number of rows added during the Full Load operation.

" - }, - "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.

" - }, - "TableState":{ - "shape":"String", - "documentation":"

The state of the tables described.

Valid states: Table does not exist | Before load | Full load | Table completed | Table cancelled | Table error | Table all | Table updates | Table is being reloaded

" - }, - "ValidationPendingRecords":{ - "shape":"Long", - "documentation":"

The number of records that have yet to be validated.

" - }, - "ValidationFailedRecords":{ - "shape":"Long", - "documentation":"

The number of records that failed validation.

" - }, - "ValidationSuspendedRecords":{ - "shape":"Long", - "documentation":"

The number of records that could not be validated.

" - }, - "ValidationState":{ - "shape":"String", - "documentation":"

The validation state of the table.

The parameter can have the following values

  • Not enabled—Validation is not enabled for the table in the migration task.

  • Pending records—Some records in the table are waiting for validation.

  • Mismatched records—Some records in the table do not match between the source and target.

  • Suspended records—Some records in the table could not be validated.

  • No primary key—The table could not be validated because it had no primary key.

  • Table error—The table was not validated because it was in an error state and some data was not migrated.

  • Validated—All rows in the table were validated. If the table is updated, the status can change from Validated.

  • Error—The table could not be validated because of an unexpected error.

" - }, - "ValidationStateDetails":{ - "shape":"String", - "documentation":"

Additional details about the state of validation.

" - } - }, - "documentation":"

" - }, - "TableStatisticsList":{ - "type":"list", - "member":{"shape":"TableStatistics"} - }, - "TableToReload":{ - "type":"structure", - "members":{ - "SchemaName":{ - "shape":"String", - "documentation":"

The schema name of the table to be reloaded.

" - }, - "TableName":{ - "shape":"String", - "documentation":"

The table name of the table to be reloaded.

" - } - }, - "documentation":"

" - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - }, - "Value":{ - "shape":"String", - "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - } - }, - "documentation":"

" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TestConnectionMessage":{ - "type":"structure", - "required":[ - "ReplicationInstanceArn", - "EndpointArn" - ], - "members":{ - "ReplicationInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" - }, - "EndpointArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" - } - }, - "documentation":"

" - }, - "TestConnectionResponse":{ - "type":"structure", - "members":{ - "Connection":{ - "shape":"Connection", - "documentation":"

The connection tested.

" - } - }, - "documentation":"

" - }, - "UpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

" - } - }, - "documentation":"

An upgrade dependency is preventing the database migration.

", - "exception":true - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{ - "shape":"String", - "documentation":"

The VPC security group Id.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the VPC security group.

" - } - }, - "documentation":"

" - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{"shape":"VpcSecurityGroupMembership"} - } - }, - "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/paginators-1.json deleted file mode 100644 index 409e2250..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "DescribeDomainControllers": { - "result_key": "DomainControllers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "Limit" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/service-2.json deleted file mode 100644 index dd153440..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ds/2015-04-16/service-2.json +++ /dev/null @@ -1,3079 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-04-16", - "endpointPrefix":"ds", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Directory Service", - "serviceFullName":"AWS Directory Service", - "serviceId":"Directory Service", - "signatureVersion":"v4", - "targetPrefix":"DirectoryService_20150416", - "uid":"ds-2015-04-16" - }, - "operations":{ - "AddIpRoutes":{ - "name":"AddIpRoutes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddIpRoutesRequest"}, - "output":{"shape":"AddIpRoutesResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"InvalidParameterException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"IpRouteLimitExceededException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceRequest"}, - "output":{"shape":"AddTagsToResourceResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TagLimitExceededException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

" - }, - "CancelSchemaExtension":{ - "name":"CancelSchemaExtension", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSchemaExtensionRequest"}, - "output":{"shape":"CancelSchemaExtensionResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

" - }, - "ConnectDirectory":{ - "name":"ConnectDirectory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConnectDirectoryRequest"}, - "output":{"shape":"ConnectDirectoryResult"}, - "errors":[ - {"shape":"DirectoryLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates an AD Connector to connect to an on-premises directory.

Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" - }, - "CreateAlias":{ - "name":"CreateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAliasRequest"}, - "output":{"shape":"CreateAliasResult"}, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates an alias for a directory and assigns the alias to the directory. The alias is used to construct the access URL for the directory, such as http://<alias>.awsapps.com.

After an alias has been created, it cannot be deleted or reused, so this operation should only be used when absolutely necessary.

" - }, - "CreateComputer":{ - "name":"CreateComputer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateComputerRequest"}, - "output":{"shape":"CreateComputerResult"}, - "errors":[ - {"shape":"AuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates a computer account in the specified directory, and joins the computer to the directory.

" - }, - "CreateConditionalForwarder":{ - "name":"CreateConditionalForwarder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConditionalForwarderRequest"}, - "output":{"shape":"CreateConditionalForwarderResult"}, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates a conditional forwarder associated with your AWS directory. Conditional forwarders are required in order to set up a trust relationship with another domain. The conditional forwarder points to the trusted domain.

" - }, - "CreateDirectory":{ - "name":"CreateDirectory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDirectoryRequest"}, - "output":{"shape":"CreateDirectoryResult"}, - "errors":[ - {"shape":"DirectoryLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates a Simple AD directory.

Before you call CreateDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" - }, - "CreateMicrosoftAD":{ - "name":"CreateMicrosoftAD", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateMicrosoftADRequest"}, - "output":{"shape":"CreateMicrosoftADResult"}, - "errors":[ - {"shape":"DirectoryLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Creates a Microsoft AD in the AWS cloud.

Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"CreateSnapshotResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"SnapshotLimitExceededException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.

You cannot take snapshots of AD Connector directories.

" - }, - "CreateTrust":{ - "name":"CreateTrust", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTrustRequest"}, - "output":{"shape":"CreateTrustResult"}, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" - }, - "DeleteConditionalForwarder":{ - "name":"DeleteConditionalForwarder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConditionalForwarderRequest"}, - "output":{"shape":"DeleteConditionalForwarderResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Deletes a conditional forwarder that has been set up for your AWS directory.

" - }, - "DeleteDirectory":{ - "name":"DeleteDirectory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDirectoryRequest"}, - "output":{"shape":"DeleteDirectoryResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Deletes an AWS Directory Service directory.

Before you call DeleteDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "output":{"shape":"DeleteSnapshotResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Deletes a directory snapshot.

" - }, - "DeleteTrust":{ - "name":"DeleteTrust", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTrustRequest"}, - "output":{"shape":"DeleteTrustResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Deletes an existing trust relationship between your Microsoft AD in the AWS cloud and an external domain.

" - }, - "DeregisterEventTopic":{ - "name":"DeregisterEventTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterEventTopicRequest"}, - "output":{"shape":"DeregisterEventTopicResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Removes the specified directory as a publisher to the specified SNS topic.

" - }, - "DescribeConditionalForwarders":{ - "name":"DescribeConditionalForwarders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConditionalForwardersRequest"}, - "output":{"shape":"DescribeConditionalForwardersResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains information about the conditional forwarders for this account.

If no input parameters are provided for RemoteDomainNames, this request describes all conditional forwarders for the specified directory ID.

" - }, - "DescribeDirectories":{ - "name":"DescribeDirectories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDirectoriesRequest"}, - "output":{"shape":"DescribeDirectoriesResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains information about the directories that belong to this account.

You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken member contains a token that you pass in the next call to DescribeDirectories to retrieve the next set of items.

You can also specify a maximum number of return results with the Limit parameter.

" - }, - "DescribeDomainControllers":{ - "name":"DescribeDomainControllers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDomainControllersRequest"}, - "output":{"shape":"DescribeDomainControllersResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Provides information about any domain controllers in your directory.

" - }, - "DescribeEventTopics":{ - "name":"DescribeEventTopics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventTopicsRequest"}, - "output":{"shape":"DescribeEventTopicsResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains information about which SNS topics receive status messages from the specified directory.

If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains information about the directory snapshots that belong to this account.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeSnapshots.NextToken member contains a token that you pass in the next call to DescribeSnapshots to retrieve the next set of items.

You can also specify a maximum number of return results with the Limit parameter.

" - }, - "DescribeTrusts":{ - "name":"DescribeTrusts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrustsRequest"}, - "output":{"shape":"DescribeTrustsResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Obtains information about the trust relationships for this account.

If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

" - }, - "DisableRadius":{ - "name":"DisableRadius", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableRadiusRequest"}, - "output":{"shape":"DisableRadiusResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector directory.

" - }, - "DisableSso":{ - "name":"DisableSso", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableSsoRequest"}, - "output":{"shape":"DisableSsoResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InsufficientPermissionsException"}, - {"shape":"AuthenticationFailedException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Disables single-sign on for a directory.

" - }, - "EnableRadius":{ - "name":"EnableRadius", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableRadiusRequest"}, - "output":{"shape":"EnableRadiusResult"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector directory.

" - }, - "EnableSso":{ - "name":"EnableSso", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableSsoRequest"}, - "output":{"shape":"EnableSsoResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InsufficientPermissionsException"}, - {"shape":"AuthenticationFailedException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Enables single sign-on for a directory.

" - }, - "GetDirectoryLimits":{ - "name":"GetDirectoryLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDirectoryLimitsRequest"}, - "output":{"shape":"GetDirectoryLimitsResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains directory limit information for the current region.

" - }, - "GetSnapshotLimits":{ - "name":"GetSnapshotLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSnapshotLimitsRequest"}, - "output":{"shape":"GetSnapshotLimitsResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Obtains the manual snapshot limits for a directory.

" - }, - "ListIpRoutes":{ - "name":"ListIpRoutes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIpRoutesRequest"}, - "output":{"shape":"ListIpRoutesResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Lists the address blocks that you have added to a directory.

" - }, - "ListSchemaExtensions":{ - "name":"ListSchemaExtensions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSchemaExtensionsRequest"}, - "output":{"shape":"ListSchemaExtensionsResult"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Lists all schema extensions applied to a Microsoft AD Directory.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Lists all tags on a directory.

" - }, - "RegisterEventTopic":{ - "name":"RegisterEventTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterEventTopicRequest"}, - "output":{"shape":"RegisterEventTopicResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

" - }, - "RemoveIpRoutes":{ - "name":"RemoveIpRoutes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveIpRoutesRequest"}, - "output":{"shape":"RemoveIpRoutesResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Removes IP address blocks from a directory.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceRequest"}, - "output":{"shape":"RemoveTagsFromResourceResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Removes tags from a directory.

" - }, - "ResetUserPassword":{ - "name":"ResetUserPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetUserPasswordRequest"}, - "output":{"shape":"ResetUserPasswordResult"}, - "errors":[ - {"shape":"DirectoryUnavailableException"}, - {"shape":"UserDoesNotExistException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory.

" - }, - "RestoreFromSnapshot":{ - "name":"RestoreFromSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreFromSnapshotRequest"}, - "output":{"shape":"RestoreFromSnapshotResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Restores a directory using an existing directory snapshot.

When you restore a directory from a snapshot, any changes made to the directory after the snapshot date are overwritten.

This action returns as soon as the restore operation is initiated. You can monitor the progress of the restore operation by calling the DescribeDirectories operation with the directory identifier. When the DirectoryDescription.Stage value changes to Active, the restore operation is complete.

" - }, - "StartSchemaExtension":{ - "name":"StartSchemaExtension", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartSchemaExtensionRequest"}, - "output":{"shape":"StartSchemaExtensionResult"}, - "errors":[ - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"SnapshotLimitExceededException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Applies a schema extension to a Microsoft AD directory.

" - }, - "UpdateConditionalForwarder":{ - "name":"UpdateConditionalForwarder", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConditionalForwarderRequest"}, - "output":{"shape":"UpdateConditionalForwarderResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Updates a conditional forwarder that has been set up for your AWS directory.

" - }, - "UpdateNumberOfDomainControllers":{ - "name":"UpdateNumberOfDomainControllers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNumberOfDomainControllersRequest"}, - "output":{"shape":"UpdateNumberOfDomainControllersResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"DomainControllerLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

" - }, - "UpdateRadius":{ - "name":"UpdateRadius", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRadiusRequest"}, - "output":{"shape":"UpdateRadiusResult"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"EntityDoesNotExistException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector directory.

" - }, - "VerifyTrust":{ - "name":"VerifyTrust", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyTrustRequest"}, - "output":{"shape":"VerifyTrustResult"}, - "errors":[ - {"shape":"EntityDoesNotExistException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

This action verifies a trust relationship between your Microsoft AD in the AWS cloud and an external domain.

" - } - }, - "shapes":{ - "AccessUrl":{ - "type":"string", - "max":128, - "min":1 - }, - "AddIpRoutesRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "IpRoutes" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier (ID) of the directory to which to add the address block.

" - }, - "IpRoutes":{ - "shape":"IpRoutes", - "documentation":"

IP address blocks, using CIDR format, of the traffic to route. This is often the IP address block of the DNS server used for your on-premises domain.

" - }, - "UpdateSecurityGroupForDirectoryControllers":{ - "shape":"UpdateSecurityGroupForDirectoryControllers", - "documentation":"

If set to true, updates the inbound and outbound rules of the security group that has the description: \"AWS created security group for directory ID directory controllers.\" Following are the new rules:

Inbound:

  • Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0

  • Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0

  • Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0

  • Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0

  • Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0

  • Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0

  • Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0

  • Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0

  • Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0

  • Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0

  • Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0

Outbound:

  • Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0

These security rules impact an internal network interface that is not exposed publicly.

" - } - } - }, - "AddIpRoutesResult":{ - "type":"structure", - "members":{ - } - }, - "AddTagsToResourceRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "Tags" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

Identifier (ID) for the directory to which to add the tag.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags to be assigned to the directory.

" - } - } - }, - "AddTagsToResourceResult":{ - "type":"structure", - "members":{ - } - }, - "AddedDateTime":{"type":"timestamp"}, - "AliasName":{ - "type":"string", - "max":62, - "min":1, - "pattern":"^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*" - }, - "Attribute":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - }, - "Value":{ - "shape":"AttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Represents a named directory attribute.

" - }, - "AttributeName":{ - "type":"string", - "min":1 - }, - "AttributeValue":{"type":"string"}, - "Attributes":{ - "type":"list", - "member":{"shape":"Attribute"} - }, - "AuthenticationFailedException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"ExceptionMessage", - "documentation":"

The textual message for the exception.

" - }, - "RequestId":{ - "shape":"RequestId", - "documentation":"

The identifier of the request that caused the exception.

" - } - }, - "documentation":"

An authentication error occurred.

", - "exception":true - }, - "AvailabilityZone":{"type":"string"}, - "AvailabilityZones":{ - "type":"list", - "member":{"shape":"AvailabilityZone"} - }, - "CancelSchemaExtensionRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "SchemaExtensionId" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory whose schema extension will be canceled.

" - }, - "SchemaExtensionId":{ - "shape":"SchemaExtensionId", - "documentation":"

The identifier of the schema extension that will be canceled.

" - } - } - }, - "CancelSchemaExtensionResult":{ - "type":"structure", - "members":{ - } - }, - "CidrIp":{ - "type":"string", - "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([1-9]|[1-2][0-9]|3[0-2]))$" - }, - "CidrIps":{ - "type":"list", - "member":{"shape":"CidrIp"} - }, - "ClientException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

A client exception has occurred.

", - "exception":true - }, - "CloudOnlyDirectoriesLimitReached":{"type":"boolean"}, - "Computer":{ - "type":"structure", - "members":{ - "ComputerId":{ - "shape":"SID", - "documentation":"

The identifier of the computer.

" - }, - "ComputerName":{ - "shape":"ComputerName", - "documentation":"

The computer name.

" - }, - "ComputerAttributes":{ - "shape":"Attributes", - "documentation":"

An array of Attribute objects containing the LDAP attributes that belong to the computer account.

" - } - }, - "documentation":"

Contains information about a computer account in a directory.

" - }, - "ComputerName":{ - "type":"string", - "max":15, - "min":1 - }, - "ComputerPassword":{ - "type":"string", - "max":64, - "min":8, - "pattern":"[\\u0020-\\u00FF]+", - "sensitive":true - }, - "ConditionalForwarder":{ - "type":"structure", - "members":{ - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The fully qualified domain name (FQDN) of the remote domains pointed to by the conditional forwarder.

" - }, - "DnsIpAddrs":{ - "shape":"DnsIpAddrs", - "documentation":"

The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.

" - }, - "ReplicationScope":{ - "shape":"ReplicationScope", - "documentation":"

The replication scope of the conditional forwarder. The only allowed value is Domain, which will replicate the conditional forwarder to all of the domain controllers for your AWS directory.

" - } - }, - "documentation":"

Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.

" - }, - "ConditionalForwarders":{ - "type":"list", - "member":{"shape":"ConditionalForwarder"} - }, - "ConnectDirectoryRequest":{ - "type":"structure", - "required":[ - "Name", - "Password", - "Size", - "ConnectSettings" - ], - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The fully-qualified name of the on-premises directory, such as corp.example.com.

" - }, - "ShortName":{ - "shape":"DirectoryShortName", - "documentation":"

The NetBIOS name of the on-premises directory, such as CORP.

" - }, - "Password":{ - "shape":"ConnectPassword", - "documentation":"

The password for the on-premises user account.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A textual description for the directory.

" - }, - "Size":{ - "shape":"DirectorySize", - "documentation":"

The size of the directory.

" - }, - "ConnectSettings":{ - "shape":"DirectoryConnectSettings", - "documentation":"

A DirectoryConnectSettings object that contains additional information for the operation.

" - } - }, - "documentation":"

Contains the inputs for the ConnectDirectory operation.

" - }, - "ConnectDirectoryResult":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the new directory.

" - } - }, - "documentation":"

Contains the results of the ConnectDirectory operation.

" - }, - "ConnectPassword":{ - "type":"string", - "max":128, - "min":1, - "sensitive":true - }, - "ConnectedDirectoriesLimitReached":{"type":"boolean"}, - "CreateAliasRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "Alias" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to create the alias.

" - }, - "Alias":{ - "shape":"AliasName", - "documentation":"

The requested alias.

The alias must be unique amongst all aliases in AWS. This operation throws an EntityAlreadyExistsException error if the alias already exists.

" - } - }, - "documentation":"

Contains the inputs for the CreateAlias operation.

" - }, - "CreateAliasResult":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory.

" - }, - "Alias":{ - "shape":"AliasName", - "documentation":"

The alias for the directory.

" - } - }, - "documentation":"

Contains the results of the CreateAlias operation.

" - }, - "CreateComputerRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "ComputerName", - "Password" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory in which to create the computer account.

" - }, - "ComputerName":{ - "shape":"ComputerName", - "documentation":"

The name of the computer account.

" - }, - "Password":{ - "shape":"ComputerPassword", - "documentation":"

A one-time password that is used to join the computer to the directory. You should generate a random, strong password to use for this parameter.

" - }, - "OrganizationalUnitDistinguishedName":{ - "shape":"OrganizationalUnitDN", - "documentation":"

The fully-qualified distinguished name of the organizational unit to place the computer account in.

" - }, - "ComputerAttributes":{ - "shape":"Attributes", - "documentation":"

An array of Attribute objects that contain any LDAP attributes to apply to the computer account.

" - } - }, - "documentation":"

Contains the inputs for the CreateComputer operation.

" - }, - "CreateComputerResult":{ - "type":"structure", - "members":{ - "Computer":{ - "shape":"Computer", - "documentation":"

A Computer object that represents the computer account.

" - } - }, - "documentation":"

Contains the results for the CreateComputer operation.

" - }, - "CreateConditionalForwarderRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RemoteDomainName", - "DnsIpAddrs" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory ID of the AWS directory for which you are creating the conditional forwarder.

" - }, - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

" - }, - "DnsIpAddrs":{ - "shape":"DnsIpAddrs", - "documentation":"

The IP addresses of the remote DNS server associated with RemoteDomainName.

" - } - }, - "documentation":"

Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.

" - }, - "CreateConditionalForwarderResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a CreateConditinalForwarder request.

" - }, - "CreateDirectoryRequest":{ - "type":"structure", - "required":[ - "Name", - "Password", - "Size" - ], - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The fully qualified name for the directory, such as corp.example.com.

" - }, - "ShortName":{ - "shape":"DirectoryShortName", - "documentation":"

The short name of the directory, such as CORP.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The password for the directory administrator. The directory creation process creates a directory administrator account with the username Administrator and this password.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A textual description for the directory.

" - }, - "Size":{ - "shape":"DirectorySize", - "documentation":"

The size of the directory.

" - }, - "VpcSettings":{ - "shape":"DirectoryVpcSettings", - "documentation":"

A DirectoryVpcSettings object that contains additional information for the operation.

" - } - }, - "documentation":"

Contains the inputs for the CreateDirectory operation.

" - }, - "CreateDirectoryResult":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory that was created.

" - } - }, - "documentation":"

Contains the results of the CreateDirectory operation.

" - }, - "CreateMicrosoftADRequest":{ - "type":"structure", - "required":[ - "Name", - "Password", - "VpcSettings" - ], - "members":{ - "Name":{ - "shape":"DirectoryName", - "documentation":"

The fully qualified domain name for the directory, such as corp.example.com. This name will resolve inside your VPC only. It does not need to be publicly resolvable.

" - }, - "ShortName":{ - "shape":"DirectoryShortName", - "documentation":"

The NetBIOS name for your domain. A short identifier for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The password for the default administrative user named Admin.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A textual description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

" - }, - "VpcSettings":{ - "shape":"DirectoryVpcSettings", - "documentation":"

Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

" - }, - "Edition":{ - "shape":"DirectoryEdition", - "documentation":"

AWS Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

" - } - }, - "documentation":"

Creates a Microsoft AD in the AWS cloud.

" - }, - "CreateMicrosoftADResult":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory that was created.

" - } - }, - "documentation":"

Result of a CreateMicrosoftAD request.

" - }, - "CreateSnapshotBeforeSchemaExtension":{"type":"boolean"}, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory of which to take a snapshot.

" - }, - "Name":{ - "shape":"SnapshotName", - "documentation":"

The descriptive name to apply to the snapshot.

" - } - }, - "documentation":"

Contains the inputs for the CreateSnapshot operation.

" - }, - "CreateSnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The identifier of the snapshot that was created.

" - } - }, - "documentation":"

Contains the results of the CreateSnapshot operation.

" - }, - "CreateTrustRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RemoteDomainName", - "TrustPassword", - "TrustDirection" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID of the Microsoft AD in the AWS cloud for which to establish the trust relationship.

" - }, - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The Fully Qualified Domain Name (FQDN) of the external domain for which to create the trust relationship.

" - }, - "TrustPassword":{ - "shape":"TrustPassword", - "documentation":"

The trust password. The must be the same password that was used when creating the trust relationship on the external domain.

" - }, - "TrustDirection":{ - "shape":"TrustDirection", - "documentation":"

The direction of the trust relationship.

" - }, - "TrustType":{ - "shape":"TrustType", - "documentation":"

The trust relationship type.

" - }, - "ConditionalForwarderIpAddrs":{ - "shape":"DnsIpAddrs", - "documentation":"

The IP addresses of the remote DNS server associated with RemoteDomainName.

" - } - }, - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" - }, - "CreateTrustResult":{ - "type":"structure", - "members":{ - "TrustId":{ - "shape":"TrustId", - "documentation":"

A unique identifier for the trust relationship that was created.

" - } - }, - "documentation":"

The result of a CreateTrust request.

" - }, - "CreatedDateTime":{"type":"timestamp"}, - "CustomerUserName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^(?!.*\\\\|.*\"|.*\\/|.*\\[|.*\\]|.*:|.*;|.*\\||.*=|.*,|.*\\+|.*\\*|.*\\?|.*<|.*>|.*@).*$" - }, - "DeleteAssociatedConditionalForwarder":{"type":"boolean"}, - "DeleteConditionalForwarderRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RemoteDomainName" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory ID for which you are deleting the conditional forwarder.

" - }, - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The fully qualified domain name (FQDN) of the remote domain with which you are deleting the conditional forwarder.

" - } - }, - "documentation":"

Deletes a conditional forwarder.

" - }, - "DeleteConditionalForwarderResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a DeleteConditionalForwarder request.

" - }, - "DeleteDirectoryRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory to delete.

" - } - }, - "documentation":"

Contains the inputs for the DeleteDirectory operation.

" - }, - "DeleteDirectoryResult":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory identifier.

" - } - }, - "documentation":"

Contains the results of the DeleteDirectory operation.

" - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The identifier of the directory snapshot to be deleted.

" - } - }, - "documentation":"

Contains the inputs for the DeleteSnapshot operation.

" - }, - "DeleteSnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The identifier of the directory snapshot that was deleted.

" - } - }, - "documentation":"

Contains the results of the DeleteSnapshot operation.

" - }, - "DeleteTrustRequest":{ - "type":"structure", - "required":["TrustId"], - "members":{ - "TrustId":{ - "shape":"TrustId", - "documentation":"

The Trust ID of the trust relationship to be deleted.

" - }, - "DeleteAssociatedConditionalForwarder":{ - "shape":"DeleteAssociatedConditionalForwarder", - "documentation":"

Delete a conditional forwarder as part of a DeleteTrustRequest.

" - } - }, - "documentation":"

Deletes the local side of an existing trust relationship between the Microsoft AD in the AWS cloud and the external domain.

" - }, - "DeleteTrustResult":{ - "type":"structure", - "members":{ - "TrustId":{ - "shape":"TrustId", - "documentation":"

The Trust ID of the trust relationship that was deleted.

" - } - }, - "documentation":"

The result of a DeleteTrust request.

" - }, - "DeregisterEventTopicRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "TopicName" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.

" - }, - "TopicName":{ - "shape":"TopicName", - "documentation":"

The name of the SNS topic from which to remove the directory as a publisher.

" - } - }, - "documentation":"

Removes the specified directory as a publisher to the specified SNS topic.

" - }, - "DeregisterEventTopicResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a DeregisterEventTopic request.

" - }, - "DescribeConditionalForwardersRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory ID for which to get the list of associated conditional forwarders.

" - }, - "RemoteDomainNames":{ - "shape":"RemoteDomainNames", - "documentation":"

The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.

" - } - }, - "documentation":"

Describes a conditional forwarder.

" - }, - "DescribeConditionalForwardersResult":{ - "type":"structure", - "members":{ - "ConditionalForwarders":{ - "shape":"ConditionalForwarders", - "documentation":"

The list of conditional forwarders that have been created.

" - } - }, - "documentation":"

The result of a DescribeConditionalForwarder request.

" - }, - "DescribeDirectoriesRequest":{ - "type":"structure", - "members":{ - "DirectoryIds":{ - "shape":"DirectoryIds", - "documentation":"

A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned.

An empty list results in an InvalidParameterException being thrown.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

" - } - }, - "documentation":"

Contains the inputs for the DescribeDirectories operation.

" - }, - "DescribeDirectoriesResult":{ - "type":"structure", - "members":{ - "DirectoryDescriptions":{ - "shape":"DirectoryDescriptions", - "documentation":"

The list of DirectoryDescription objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDirectories to retrieve the next set of items.

" - } - }, - "documentation":"

Contains the results of the DescribeDirectories operation.

" - }, - "DescribeDomainControllersRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier of the directory for which to retrieve the domain controller information.

" - }, - "DomainControllerIds":{ - "shape":"DomainControllerIds", - "documentation":"

A list of identifiers for the domain controllers whose information will be provided.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of items to return.

" - } - } - }, - "DescribeDomainControllersResult":{ - "type":"structure", - "members":{ - "DomainControllers":{ - "shape":"DomainControllers", - "documentation":"

List of the DomainController objects that were retrieved.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

" - } - } - }, - "DescribeEventTopicsRequest":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.

" - }, - "TopicNames":{ - "shape":"TopicNames", - "documentation":"

A list of SNS topic names for which to obtain the information. If this member is null, all associations for the specified Directory ID are returned.

An empty list results in an InvalidParameterException being thrown.

" - } - }, - "documentation":"

Describes event topics.

" - }, - "DescribeEventTopicsResult":{ - "type":"structure", - "members":{ - "EventTopics":{ - "shape":"EventTopics", - "documentation":"

A list of SNS topic names that receive status messages from the specified Directory ID.

" - } - }, - "documentation":"

The result of a DescribeEventTopic request.

" - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to retrieve snapshot information.

" - }, - "SnapshotIds":{ - "shape":"SnapshotIds", - "documentation":"

A list of identifiers of the snapshots to obtain the information for. If this member is null or empty, all snapshots are returned using the Limit and NextToken members.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of objects to return.

" - } - }, - "documentation":"

Contains the inputs for the DescribeSnapshots operation.

" - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"Snapshots", - "documentation":"

The list of Snapshot objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value in the NextToken member of a subsequent call to DescribeSnapshots.

" - } - }, - "documentation":"

Contains the results of the DescribeSnapshots operation.

" - }, - "DescribeTrustsRequest":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID of the AWS directory that is a part of the requested trust relationship.

" - }, - "TrustIds":{ - "shape":"TrustIds", - "documentation":"

A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

An empty list results in an InvalidParameterException being thrown.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of objects to return.

" - } - }, - "documentation":"

Describes the trust relationships for a particular Microsoft AD in the AWS cloud. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

" - }, - "DescribeTrustsResult":{ - "type":"structure", - "members":{ - "Trusts":{ - "shape":"Trusts", - "documentation":"

The list of Trust objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

" - } - }, - "documentation":"

The result of a DescribeTrust request.

" - }, - "Description":{ - "type":"string", - "max":128, - "min":0, - "pattern":"^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" - }, - "DesiredNumberOfDomainControllers":{ - "type":"integer", - "min":2 - }, - "DirectoryConnectSettings":{ - "type":"structure", - "required":[ - "VpcId", - "SubnetIds", - "CustomerDnsIps", - "CustomerUserName" - ], - "members":{ - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC in which the AD Connector is created.

" - }, - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

A list of subnet identifiers in the VPC in which the AD Connector is created.

" - }, - "CustomerDnsIps":{ - "shape":"DnsIpAddrs", - "documentation":"

A list of one or more IP addresses of DNS servers or domain controllers in the on-premises directory.

" - }, - "CustomerUserName":{ - "shape":"UserName", - "documentation":"

The username of an account in the on-premises directory that is used to connect to the directory. This account must have the following privileges:

  • Read users and groups

  • Create computer objects

  • Join computers to the domain

" - } - }, - "documentation":"

Contains information for the ConnectDirectory operation when an AD Connector directory is being created.

" - }, - "DirectoryConnectSettingsDescription":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC that the AD Connector is in.

" - }, - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

A list of subnet identifiers in the VPC that the AD connector is in.

" - }, - "CustomerUserName":{ - "shape":"UserName", - "documentation":"

The username of the service account in the on-premises directory.

" - }, - "SecurityGroupId":{ - "shape":"SecurityGroupId", - "documentation":"

The security group identifier for the AD Connector directory.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

A list of the Availability Zones that the directory is in.

" - }, - "ConnectIps":{ - "shape":"IpAddrs", - "documentation":"

The IP addresses of the AD Connector servers.

" - } - }, - "documentation":"

Contains information about an AD Connector directory.

" - }, - "DirectoryDescription":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory identifier.

" - }, - "Name":{ - "shape":"DirectoryName", - "documentation":"

The fully-qualified name of the directory.

" - }, - "ShortName":{ - "shape":"DirectoryShortName", - "documentation":"

The short name of the directory.

" - }, - "Size":{ - "shape":"DirectorySize", - "documentation":"

The directory size.

" - }, - "Edition":{ - "shape":"DirectoryEdition", - "documentation":"

The edition associated with this directory.

" - }, - "Alias":{ - "shape":"AliasName", - "documentation":"

The alias for the directory. If no alias has been created for the directory, the alias is the directory identifier, such as d-XXXXXXXXXX.

" - }, - "AccessUrl":{ - "shape":"AccessUrl", - "documentation":"

The access URL for the directory, such as http://<alias>.awsapps.com. If no alias has been created for the directory, <alias> is the directory identifier, such as d-XXXXXXXXXX.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The textual description for the directory.

" - }, - "DnsIpAddrs":{ - "shape":"DnsIpAddrs", - "documentation":"

The IP addresses of the DNS servers for the directory. For a Simple AD or Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft AD directory servers. For an AD Connector directory, these are the IP addresses of the DNS servers or domain controllers in the on-premises directory to which the AD Connector is connected.

" - }, - "Stage":{ - "shape":"DirectoryStage", - "documentation":"

The current stage of the directory.

" - }, - "LaunchTime":{ - "shape":"LaunchTime", - "documentation":"

Specifies when the directory was created.

" - }, - "StageLastUpdatedDateTime":{ - "shape":"LastUpdatedDateTime", - "documentation":"

The date and time that the stage was last updated.

" - }, - "Type":{ - "shape":"DirectoryType", - "documentation":"

The directory size.

" - }, - "VpcSettings":{ - "shape":"DirectoryVpcSettingsDescription", - "documentation":"

A DirectoryVpcSettingsDescription object that contains additional information about a directory. This member is only present if the directory is a Simple AD or Managed AD directory.

" - }, - "ConnectSettings":{ - "shape":"DirectoryConnectSettingsDescription", - "documentation":"

A DirectoryConnectSettingsDescription object that contains additional information about an AD Connector directory. This member is only present if the directory is an AD Connector directory.

" - }, - "RadiusSettings":{ - "shape":"RadiusSettings", - "documentation":"

A RadiusSettings object that contains information about the RADIUS server configured for this directory.

" - }, - "RadiusStatus":{ - "shape":"RadiusStatus", - "documentation":"

The status of the RADIUS MFA server connection.

" - }, - "StageReason":{ - "shape":"StageReason", - "documentation":"

Additional information about the directory stage.

" - }, - "SsoEnabled":{ - "shape":"SsoEnabled", - "documentation":"

Indicates if single-sign on is enabled for the directory. For more information, see EnableSso and DisableSso.

" - }, - "DesiredNumberOfDomainControllers":{ - "shape":"DesiredNumberOfDomainControllers", - "documentation":"

The desired number of domain controllers in the directory if the directory is Microsoft AD.

" - } - }, - "documentation":"

Contains information about an AWS Directory Service directory.

" - }, - "DirectoryDescriptions":{ - "type":"list", - "member":{"shape":"DirectoryDescription"}, - "documentation":"

A list of directory descriptions.

" - }, - "DirectoryEdition":{ - "type":"string", - "enum":[ - "Enterprise", - "Standard" - ] - }, - "DirectoryId":{ - "type":"string", - "pattern":"^d-[0-9a-f]{10}$" - }, - "DirectoryIds":{ - "type":"list", - "member":{"shape":"DirectoryId"}, - "documentation":"

A list of directory identifiers.

" - }, - "DirectoryLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The maximum number of directories in the region has been reached. You can use the GetDirectoryLimits operation to determine your directory limits in the region.

", - "exception":true - }, - "DirectoryLimits":{ - "type":"structure", - "members":{ - "CloudOnlyDirectoriesLimit":{ - "shape":"Limit", - "documentation":"

The maximum number of cloud directories allowed in the region.

" - }, - "CloudOnlyDirectoriesCurrentCount":{ - "shape":"Limit", - "documentation":"

The current number of cloud directories in the region.

" - }, - "CloudOnlyDirectoriesLimitReached":{ - "shape":"CloudOnlyDirectoriesLimitReached", - "documentation":"

Indicates if the cloud directory limit has been reached.

" - }, - "CloudOnlyMicrosoftADLimit":{ - "shape":"Limit", - "documentation":"

The maximum number of Microsoft AD directories allowed in the region.

" - }, - "CloudOnlyMicrosoftADCurrentCount":{ - "shape":"Limit", - "documentation":"

The current number of Microsoft AD directories in the region.

" - }, - "CloudOnlyMicrosoftADLimitReached":{ - "shape":"CloudOnlyDirectoriesLimitReached", - "documentation":"

Indicates if the Microsoft AD directory limit has been reached.

" - }, - "ConnectedDirectoriesLimit":{ - "shape":"Limit", - "documentation":"

The maximum number of connected directories allowed in the region.

" - }, - "ConnectedDirectoriesCurrentCount":{ - "shape":"Limit", - "documentation":"

The current number of connected directories in the region.

" - }, - "ConnectedDirectoriesLimitReached":{ - "shape":"ConnectedDirectoriesLimitReached", - "documentation":"

Indicates if the connected directory limit has been reached.

" - } - }, - "documentation":"

Contains directory limit information for a region.

" - }, - "DirectoryName":{ - "type":"string", - "pattern":"^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+$" - }, - "DirectoryShortName":{ - "type":"string", - "pattern":"^[^\\\\/:*?\\\"\\<\\>|.]+[^\\\\/:*?\\\"<>|]*$" - }, - "DirectorySize":{ - "type":"string", - "enum":[ - "Small", - "Large" - ] - }, - "DirectoryStage":{ - "type":"string", - "enum":[ - "Requested", - "Creating", - "Created", - "Active", - "Inoperable", - "Impaired", - "Restoring", - "RestoreFailed", - "Deleting", - "Deleted", - "Failed" - ] - }, - "DirectoryType":{ - "type":"string", - "enum":[ - "SimpleAD", - "ADConnector", - "MicrosoftAD" - ] - }, - "DirectoryUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The specified directory is unavailable or could not be found.

", - "exception":true - }, - "DirectoryVpcSettings":{ - "type":"structure", - "required":[ - "VpcId", - "SubnetIds" - ], - "members":{ - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC in which to create the directory.

" - }, - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

The identifiers of the subnets for the directory servers. The two subnets must be in different Availability Zones. AWS Directory Service creates a directory server and a DNS server in each of these subnets.

" - } - }, - "documentation":"

Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

" - }, - "DirectoryVpcSettingsDescription":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC that the directory is in.

" - }, - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

The identifiers of the subnets for the directory servers.

" - }, - "SecurityGroupId":{ - "shape":"SecurityGroupId", - "documentation":"

The domain controller security group identifier for the directory.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The list of Availability Zones that the directory is in.

" - } - }, - "documentation":"

Contains information about the directory.

" - }, - "DisableRadiusRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to disable MFA.

" - } - }, - "documentation":"

Contains the inputs for the DisableRadius operation.

" - }, - "DisableRadiusResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the DisableRadius operation.

" - }, - "DisableSsoRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to disable single-sign on.

" - }, - "UserName":{ - "shape":"UserName", - "documentation":"

The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name.

If the AD Connector service account does not have privileges to remove a service principal name, you can specify an alternate account with the UserName and Password parameters. These credentials are only used to disable single sign-on and are not stored by the service. The AD Connector service account is not changed.

" - }, - "Password":{ - "shape":"ConnectPassword", - "documentation":"

The password of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. For more information, see the UserName parameter.

" - } - }, - "documentation":"

Contains the inputs for the DisableSso operation.

" - }, - "DisableSsoResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the DisableSso operation.

" - }, - "DnsIpAddrs":{ - "type":"list", - "member":{"shape":"IpAddr"} - }, - "DomainController":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier of the directory where the domain controller resides.

" - }, - "DomainControllerId":{ - "shape":"DomainControllerId", - "documentation":"

Identifies a specific domain controller in the directory.

" - }, - "DnsIpAddr":{ - "shape":"IpAddr", - "documentation":"

The IP address of the domain controller.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the VPC that contains the domain controller.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

Identifier of the subnet in the VPC that contains the domain controller.

" - }, - "AvailabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone where the domain controller is located.

" - }, - "Status":{ - "shape":"DomainControllerStatus", - "documentation":"

The status of the domain controller.

" - }, - "StatusReason":{ - "shape":"DomainControllerStatusReason", - "documentation":"

A description of the domain controller state.

" - }, - "LaunchTime":{ - "shape":"LaunchTime", - "documentation":"

Specifies when the domain controller was created.

" - }, - "StatusLastUpdatedDateTime":{ - "shape":"LastUpdatedDateTime", - "documentation":"

The date and time that the status was last updated.

" - } - }, - "documentation":"

Contains information about the domain controllers for a specified directory.

" - }, - "DomainControllerId":{ - "type":"string", - "pattern":"^dc-[0-9a-f]{10}$" - }, - "DomainControllerIds":{ - "type":"list", - "member":{"shape":"DomainControllerId"} - }, - "DomainControllerLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.

", - "exception":true - }, - "DomainControllerStatus":{ - "type":"string", - "enum":[ - "Creating", - "Active", - "Impaired", - "Restoring", - "Deleting", - "Deleted", - "Failed" - ] - }, - "DomainControllerStatusReason":{"type":"string"}, - "DomainControllers":{ - "type":"list", - "member":{"shape":"DomainController"} - }, - "EnableRadiusRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RadiusSettings" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to enable MFA.

" - }, - "RadiusSettings":{ - "shape":"RadiusSettings", - "documentation":"

A RadiusSettings object that contains information about the RADIUS server.

" - } - }, - "documentation":"

Contains the inputs for the EnableRadius operation.

" - }, - "EnableRadiusResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the EnableRadius operation.

" - }, - "EnableSsoRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to enable single-sign on.

" - }, - "UserName":{ - "shape":"UserName", - "documentation":"

The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name.

If the AD Connector service account does not have privileges to add a service principal name, you can specify an alternate account with the UserName and Password parameters. These credentials are only used to enable single sign-on and are not stored by the service. The AD Connector service account is not changed.

" - }, - "Password":{ - "shape":"ConnectPassword", - "documentation":"

The password of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. For more information, see the UserName parameter.

" - } - }, - "documentation":"

Contains the inputs for the EnableSso operation.

" - }, - "EnableSsoResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the EnableSso operation.

" - }, - "EndDateTime":{"type":"timestamp"}, - "EntityAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The specified entity already exists.

", - "exception":true - }, - "EntityDoesNotExistException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The specified entity could not be found.

", - "exception":true - }, - "EventTopic":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID of an AWS Directory Service directory that will publish status messages to an SNS topic.

" - }, - "TopicName":{ - "shape":"TopicName", - "documentation":"

The name of an AWS SNS topic the receives status messages from the directory.

" - }, - "TopicArn":{ - "shape":"TopicArn", - "documentation":"

The SNS topic ARN (Amazon Resource Name).

" - }, - "CreatedDateTime":{ - "shape":"CreatedDateTime", - "documentation":"

The date and time of when you associated your directory with the SNS topic.

" - }, - "Status":{ - "shape":"TopicStatus", - "documentation":"

The topic registration status.

" - } - }, - "documentation":"

Information about SNS topic and AWS Directory Service directory associations.

" - }, - "EventTopics":{ - "type":"list", - "member":{"shape":"EventTopic"} - }, - "ExceptionMessage":{ - "type":"string", - "documentation":"

The descriptive message for the exception.

" - }, - "GetDirectoryLimitsRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the inputs for the GetDirectoryLimits operation.

" - }, - "GetDirectoryLimitsResult":{ - "type":"structure", - "members":{ - "DirectoryLimits":{ - "shape":"DirectoryLimits", - "documentation":"

A DirectoryLimits object that contains the directory limits for the current region.

" - } - }, - "documentation":"

Contains the results of the GetDirectoryLimits operation.

" - }, - "GetSnapshotLimitsRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Contains the identifier of the directory to obtain the limits for.

" - } - }, - "documentation":"

Contains the inputs for the GetSnapshotLimits operation.

" - }, - "GetSnapshotLimitsResult":{ - "type":"structure", - "members":{ - "SnapshotLimits":{ - "shape":"SnapshotLimits", - "documentation":"

A SnapshotLimits object that contains the manual snapshot limits for the specified directory.

" - } - }, - "documentation":"

Contains the results of the GetSnapshotLimits operation.

" - }, - "InsufficientPermissionsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The account does not have sufficient permission to perform the operation.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The NextToken value is not valid.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

One or more parameters are not valid.

", - "exception":true - }, - "InvalidPasswordException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The new password provided by the user does not meet the password complexity requirements defined in your directory.

", - "exception":true - }, - "IpAddr":{ - "type":"string", - "pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" - }, - "IpAddrs":{ - "type":"list", - "member":{"shape":"IpAddr"} - }, - "IpRoute":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"CidrIp", - "documentation":"

IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Description of the address block.

" - } - }, - "documentation":"

IP address block. This is often the address block of the DNS server used for your on-premises domain.

" - }, - "IpRouteInfo":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier (ID) of the directory associated with the IP addresses.

" - }, - "CidrIp":{ - "shape":"CidrIp", - "documentation":"

IP address block in the IpRoute.

" - }, - "IpRouteStatusMsg":{ - "shape":"IpRouteStatusMsg", - "documentation":"

The status of the IP address block.

" - }, - "AddedDateTime":{ - "shape":"AddedDateTime", - "documentation":"

The date and time the address block was added to the directory.

" - }, - "IpRouteStatusReason":{ - "shape":"IpRouteStatusReason", - "documentation":"

The reason for the IpRouteStatusMsg.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Description of the IpRouteInfo.

" - } - }, - "documentation":"

Information about one or more IP address blocks.

" - }, - "IpRouteLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP address blocks.

", - "exception":true - }, - "IpRouteStatusMsg":{ - "type":"string", - "enum":[ - "Adding", - "Added", - "Removing", - "Removed", - "AddFailed", - "RemoveFailed" - ] - }, - "IpRouteStatusReason":{"type":"string"}, - "IpRoutes":{ - "type":"list", - "member":{"shape":"IpRoute"} - }, - "IpRoutesInfo":{ - "type":"list", - "member":{"shape":"IpRouteInfo"} - }, - "LastUpdatedDateTime":{"type":"timestamp"}, - "LaunchTime":{"type":"timestamp"}, - "LdifContent":{ - "type":"string", - "max":500000, - "min":1 - }, - "Limit":{ - "type":"integer", - "min":0 - }, - "ListIpRoutesRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier (ID) of the directory for which you want to retrieve the IP addresses.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

Maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

" - } - } - }, - "ListIpRoutesResult":{ - "type":"structure", - "members":{ - "IpRoutesInfo":{ - "shape":"IpRoutesInfo", - "documentation":"

A list of IpRoutes.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListIpRoutes to retrieve the next set of items.

" - } - } - }, - "ListSchemaExtensionsRequest":{ - "type":"structure", - "required":["DirectoryId"], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory from which to retrieve the schema extension information.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of items to return.

" - } - } - }, - "ListSchemaExtensionsResult":{ - "type":"structure", - "members":{ - "SchemaExtensionsInfo":{ - "shape":"SchemaExtensionsInfo", - "documentation":"

Information about the schema extensions applied to the directory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

Identifier (ID) of the directory for which you want to retrieve tags.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Reserved for future use.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

Reserved for future use.

" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

List of tags returned by the ListTagsForResource operation.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Reserved for future use.

" - } - } - }, - "ManualSnapshotsLimitReached":{"type":"boolean"}, - "NextToken":{"type":"string"}, - "OrganizationalUnitDN":{ - "type":"string", - "max":2000, - "min":1 - }, - "Password":{ - "type":"string", - "pattern":"(?=^.{8,64}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s]))^.*", - "sensitive":true - }, - "PortNumber":{ - "type":"integer", - "max":65535, - "min":1025 - }, - "RadiusAuthenticationProtocol":{ - "type":"string", - "enum":[ - "PAP", - "CHAP", - "MS-CHAPv1", - "MS-CHAPv2" - ] - }, - "RadiusDisplayLabel":{ - "type":"string", - "max":64, - "min":1 - }, - "RadiusRetries":{ - "type":"integer", - "max":10, - "min":0 - }, - "RadiusSettings":{ - "type":"structure", - "members":{ - "RadiusServers":{ - "shape":"Servers", - "documentation":"

An array of strings that contains the IP addresses of the RADIUS server endpoints, or the IP addresses of your RADIUS server load balancer.

" - }, - "RadiusPort":{ - "shape":"PortNumber", - "documentation":"

The port that your RADIUS server is using for communications. Your on-premises network must allow inbound traffic over this port from the AWS Directory Service servers.

" - }, - "RadiusTimeout":{ - "shape":"RadiusTimeout", - "documentation":"

The amount of time, in seconds, to wait for the RADIUS server to respond.

" - }, - "RadiusRetries":{ - "shape":"RadiusRetries", - "documentation":"

The maximum number of times that communication with the RADIUS server is attempted.

" - }, - "SharedSecret":{ - "shape":"RadiusSharedSecret", - "documentation":"

Not currently used.

" - }, - "AuthenticationProtocol":{ - "shape":"RadiusAuthenticationProtocol", - "documentation":"

The protocol specified for your RADIUS endpoints.

" - }, - "DisplayLabel":{ - "shape":"RadiusDisplayLabel", - "documentation":"

Not currently used.

" - }, - "UseSameUsername":{ - "shape":"UseSameUsername", - "documentation":"

Not currently used.

" - } - }, - "documentation":"

Contains information about a Remote Authentication Dial In User Service (RADIUS) server.

" - }, - "RadiusSharedSecret":{ - "type":"string", - "max":512, - "min":8, - "sensitive":true - }, - "RadiusStatus":{ - "type":"string", - "enum":[ - "Creating", - "Completed", - "Failed" - ] - }, - "RadiusTimeout":{ - "type":"integer", - "max":20, - "min":1 - }, - "RegisterEventTopicRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "TopicName" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID that will publish status messages to the SNS topic.

" - }, - "TopicName":{ - "shape":"TopicName", - "documentation":"

The SNS topic name to which the directory will publish status messages. This SNS topic must be in the same region as the specified Directory ID.

" - } - }, - "documentation":"

Registers a new event topic.

" - }, - "RegisterEventTopicResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of a RegisterEventTopic request.

" - }, - "RemoteDomainName":{ - "type":"string", - "pattern":"^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+[.]?$" - }, - "RemoteDomainNames":{ - "type":"list", - "member":{"shape":"RemoteDomainName"} - }, - "RemoveIpRoutesRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "CidrIps" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier (ID) of the directory from which you want to remove the IP addresses.

" - }, - "CidrIps":{ - "shape":"CidrIps", - "documentation":"

IP address blocks that you want to remove.

" - } - } - }, - "RemoveIpRoutesResult":{ - "type":"structure", - "members":{ - } - }, - "RemoveTagsFromResourceRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "TagKeys" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

Identifier (ID) of the directory from which to remove the tag.

" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

The tag key (name) of the tag to be removed.

" - } - } - }, - "RemoveTagsFromResourceResult":{ - "type":"structure", - "members":{ - } - }, - "ReplicationScope":{ - "type":"string", - "enum":["Domain"] - }, - "RequestId":{ - "type":"string", - "documentation":"

The AWS request identifier.

", - "pattern":"^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$" - }, - "ResetUserPasswordRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "UserName", - "NewPassword" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

" - }, - "UserName":{ - "shape":"CustomerUserName", - "documentation":"

The username of the user whose password will be reset.

" - }, - "NewPassword":{ - "shape":"UserPassword", - "documentation":"

The new password that will be reset.

" - } - } - }, - "ResetUserPasswordResult":{ - "type":"structure", - "members":{ - } - }, - "ResourceId":{ - "type":"string", - "pattern":"^[d]-[0-9a-f]{10}$" - }, - "RestoreFromSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The identifier of the snapshot to restore from.

" - } - }, - "documentation":"

An object representing the inputs for the RestoreFromSnapshot operation.

" - }, - "RestoreFromSnapshotResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the RestoreFromSnapshot operation.

" - }, - "SID":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[&\\w+-.@]+" - }, - "SchemaExtensionId":{ - "type":"string", - "pattern":"^e-[0-9a-f]{10}$" - }, - "SchemaExtensionInfo":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory to which the schema extension is applied.

" - }, - "SchemaExtensionId":{ - "shape":"SchemaExtensionId", - "documentation":"

The identifier of the schema extension.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the schema extension.

" - }, - "SchemaExtensionStatus":{ - "shape":"SchemaExtensionStatus", - "documentation":"

The current status of the schema extension.

" - }, - "SchemaExtensionStatusReason":{ - "shape":"SchemaExtensionStatusReason", - "documentation":"

The reason for the SchemaExtensionStatus.

" - }, - "StartDateTime":{ - "shape":"StartDateTime", - "documentation":"

The date and time that the schema extension started being applied to the directory.

" - }, - "EndDateTime":{ - "shape":"EndDateTime", - "documentation":"

The date and time that the schema extension was completed.

" - } - }, - "documentation":"

Information about a schema extension.

" - }, - "SchemaExtensionStatus":{ - "type":"string", - "enum":[ - "Initializing", - "CreatingSnapshot", - "UpdatingSchema", - "Replicating", - "CancelInProgress", - "RollbackInProgress", - "Cancelled", - "Failed", - "Completed" - ] - }, - "SchemaExtensionStatusReason":{"type":"string"}, - "SchemaExtensionsInfo":{ - "type":"list", - "member":{"shape":"SchemaExtensionInfo"} - }, - "SecurityGroupId":{ - "type":"string", - "pattern":"^(sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$" - }, - "Server":{ - "type":"string", - "max":256, - "min":1 - }, - "Servers":{ - "type":"list", - "member":{"shape":"Server"} - }, - "ServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

An exception has occurred in AWS Directory Service.

", - "exception":true, - "fault":true - }, - "Snapshot":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory identifier.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The snapshot identifier.

" - }, - "Type":{ - "shape":"SnapshotType", - "documentation":"

The snapshot type.

" - }, - "Name":{ - "shape":"SnapshotName", - "documentation":"

The descriptive name of the snapshot.

" - }, - "Status":{ - "shape":"SnapshotStatus", - "documentation":"

The snapshot status.

" - }, - "StartTime":{ - "shape":"StartTime", - "documentation":"

The date and time that the snapshot was taken.

" - } - }, - "documentation":"

Describes a directory snapshot.

" - }, - "SnapshotId":{ - "type":"string", - "pattern":"^s-[0-9a-f]{10}$" - }, - "SnapshotIds":{ - "type":"list", - "member":{"shape":"SnapshotId"}, - "documentation":"

A list of directory snapshot identifiers.

" - }, - "SnapshotLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The maximum number of manual snapshots for the directory has been reached. You can use the GetSnapshotLimits operation to determine the snapshot limits for a directory.

", - "exception":true - }, - "SnapshotLimits":{ - "type":"structure", - "members":{ - "ManualSnapshotsLimit":{ - "shape":"Limit", - "documentation":"

The maximum number of manual snapshots allowed.

" - }, - "ManualSnapshotsCurrentCount":{ - "shape":"Limit", - "documentation":"

The current number of manual snapshots of the directory.

" - }, - "ManualSnapshotsLimitReached":{ - "shape":"ManualSnapshotsLimitReached", - "documentation":"

Indicates if the manual snapshot limit has been reached.

" - } - }, - "documentation":"

Contains manual snapshot limit information for a directory.

" - }, - "SnapshotName":{ - "type":"string", - "max":128, - "min":0, - "pattern":"^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" - }, - "SnapshotStatus":{ - "type":"string", - "enum":[ - "Creating", - "Completed", - "Failed" - ] - }, - "SnapshotType":{ - "type":"string", - "enum":[ - "Auto", - "Manual" - ] - }, - "Snapshots":{ - "type":"list", - "member":{"shape":"Snapshot"}, - "documentation":"

A list of descriptions of directory snapshots.

" - }, - "SsoEnabled":{"type":"boolean"}, - "StageReason":{"type":"string"}, - "StartDateTime":{"type":"timestamp"}, - "StartSchemaExtensionRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "CreateSnapshotBeforeSchemaExtension", - "LdifContent", - "Description" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which the schema extension will be applied to.

" - }, - "CreateSnapshotBeforeSchemaExtension":{ - "shape":"CreateSnapshotBeforeSchemaExtension", - "documentation":"

If true, creates a snapshot of the directory before applying the schema extension.

" - }, - "LdifContent":{ - "shape":"LdifContent", - "documentation":"

The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \\n. See the example request below for more details. The file size can be no larger than 1MB.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the schema extension.

" - } - } - }, - "StartSchemaExtensionResult":{ - "type":"structure", - "members":{ - "SchemaExtensionId":{ - "shape":"SchemaExtensionId", - "documentation":"

The identifier of the schema extension that will be applied.

" - } - } - }, - "StartTime":{"type":"timestamp"}, - "StateLastUpdatedDateTime":{"type":"timestamp"}, - "SubnetId":{ - "type":"string", - "pattern":"^(subnet-[0-9a-f]{8}|subnet-[0-9a-f]{17})$" - }, - "SubnetIds":{ - "type":"list", - "member":{"shape":"SubnetId"} - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

Required name of the tag. The string value can be Unicode characters and cannot be prefixed with \"aws:\". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - } - }, - "documentation":"

Metadata assigned to a directory consisting of a key-value pair.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The maximum allowed number of tags was exceeded.

", - "exception":true - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TopicArn":{"type":"string"}, - "TopicName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "TopicNames":{ - "type":"list", - "member":{"shape":"TopicName"} - }, - "TopicStatus":{ - "type":"string", - "enum":[ - "Registered", - "Topic not found", - "Failed", - "Deleted" - ] - }, - "Trust":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The Directory ID of the AWS directory involved in the trust relationship.

" - }, - "TrustId":{ - "shape":"TrustId", - "documentation":"

The unique ID of the trust relationship.

" - }, - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The Fully Qualified Domain Name (FQDN) of the external domain involved in the trust relationship.

" - }, - "TrustType":{ - "shape":"TrustType", - "documentation":"

The trust relationship type.

" - }, - "TrustDirection":{ - "shape":"TrustDirection", - "documentation":"

The trust relationship direction.

" - }, - "TrustState":{ - "shape":"TrustState", - "documentation":"

The trust relationship state.

" - }, - "CreatedDateTime":{ - "shape":"CreatedDateTime", - "documentation":"

The date and time that the trust relationship was created.

" - }, - "LastUpdatedDateTime":{ - "shape":"LastUpdatedDateTime", - "documentation":"

The date and time that the trust relationship was last updated.

" - }, - "StateLastUpdatedDateTime":{ - "shape":"StateLastUpdatedDateTime", - "documentation":"

The date and time that the TrustState was last updated.

" - }, - "TrustStateReason":{ - "shape":"TrustStateReason", - "documentation":"

The reason for the TrustState.

" - } - }, - "documentation":"

Describes a trust relationship between an Microsoft AD in the AWS cloud and an external domain.

" - }, - "TrustDirection":{ - "type":"string", - "enum":[ - "One-Way: Outgoing", - "One-Way: Incoming", - "Two-Way" - ] - }, - "TrustId":{ - "type":"string", - "pattern":"^t-[0-9a-f]{10}$" - }, - "TrustIds":{ - "type":"list", - "member":{"shape":"TrustId"} - }, - "TrustPassword":{ - "type":"string", - "max":128, - "min":1, - "sensitive":true - }, - "TrustState":{ - "type":"string", - "enum":[ - "Creating", - "Created", - "Verifying", - "VerifyFailed", - "Verified", - "Deleting", - "Deleted", - "Failed" - ] - }, - "TrustStateReason":{"type":"string"}, - "TrustType":{ - "type":"string", - "enum":["Forest"] - }, - "Trusts":{ - "type":"list", - "member":{"shape":"Trust"} - }, - "UnsupportedOperationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The operation is not supported.

", - "exception":true - }, - "UpdateConditionalForwarderRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RemoteDomainName", - "DnsIpAddrs" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory ID of the AWS directory for which to update the conditional forwarder.

" - }, - "RemoteDomainName":{ - "shape":"RemoteDomainName", - "documentation":"

The fully qualified domain name (FQDN) of the remote domain with which you will set up a trust relationship.

" - }, - "DnsIpAddrs":{ - "shape":"DnsIpAddrs", - "documentation":"

The updated IP addresses of the remote DNS server associated with the conditional forwarder.

" - } - }, - "documentation":"

Updates a conditional forwarder.

" - }, - "UpdateConditionalForwarderResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

The result of an UpdateConditionalForwarder request.

" - }, - "UpdateNumberOfDomainControllersRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "DesiredNumber" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

Identifier of the directory to which the domain controllers will be added or removed.

" - }, - "DesiredNumber":{ - "shape":"DesiredNumberOfDomainControllers", - "documentation":"

The number of domain controllers desired in the directory.

" - } - } - }, - "UpdateNumberOfDomainControllersResult":{ - "type":"structure", - "members":{ - } - }, - "UpdateRadiusRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "RadiusSettings" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to update the RADIUS server information.

" - }, - "RadiusSettings":{ - "shape":"RadiusSettings", - "documentation":"

A RadiusSettings object that contains information about the RADIUS server.

" - } - }, - "documentation":"

Contains the inputs for the UpdateRadius operation.

" - }, - "UpdateRadiusResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the results of the UpdateRadius operation.

" - }, - "UpdateSecurityGroupForDirectoryControllers":{"type":"boolean"}, - "UseSameUsername":{"type":"boolean"}, - "UserDoesNotExistException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "RequestId":{"shape":"RequestId"} - }, - "documentation":"

The user provided a username that does not exist in your directory.

", - "exception":true - }, - "UserName":{ - "type":"string", - "min":1, - "pattern":"[a-zA-Z0-9._-]+" - }, - "UserPassword":{ - "type":"string", - "max":127, - "min":1, - "sensitive":true - }, - "VerifyTrustRequest":{ - "type":"structure", - "required":["TrustId"], - "members":{ - "TrustId":{ - "shape":"TrustId", - "documentation":"

The unique Trust ID of the trust relationship to verify.

" - } - }, - "documentation":"

Initiates the verification of an existing trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" - }, - "VerifyTrustResult":{ - "type":"structure", - "members":{ - "TrustId":{ - "shape":"TrustId", - "documentation":"

The unique Trust ID of the trust relationship that was verified.

" - } - }, - "documentation":"

Result of a VerifyTrust request.

" - }, - "VpcId":{ - "type":"string", - "pattern":"^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$" - } - }, - "documentation":"AWS Directory Service

AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/examples-1.json deleted file mode 100644 index e66e704b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/examples-1.json +++ /dev/null @@ -1,628 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/paginators-1.json deleted file mode 100644 index b22762c9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/paginators-1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "pagination": { - "ListBackups": { - "input_token": "ExclusiveStartBackupArn", - "output_token": "LastEvaluatedBackupArn", - "limit_key": "Limit", - "result_key": "BackupSummaries" - }, - "ListTables": { - "input_token": "ExclusiveStartTableName", - "output_token": "LastEvaluatedTableName", - "limit_key": "Limit", - "result_key": "TableNames" - }, - "Query": { - "input_token": "ExclusiveStartKey", - "output_token": "LastEvaluatedKey", - "limit_key": "Limit", - "result_key": [ - "Items", - "Count", - "ScannedCount" - ], - "non_aggregate_keys": [ - "ConsumedCapacity" - ] - }, - "Scan": { - "input_token": "ExclusiveStartKey", - "output_token": "LastEvaluatedKey", - "limit_key": "Limit", - "result_key": [ - "Items", - "Count", - "ScannedCount" - ], - "non_aggregate_keys": [ - "ConsumedCapacity" - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/service-2.json deleted file mode 100644 index cc8d44a6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/service-2.json +++ /dev/null @@ -1,3899 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-08-10", - "endpointPrefix":"dynamodb", - "jsonVersion":"1.0", - "protocol":"json", - "serviceAbbreviation":"DynamoDB", - "serviceFullName":"Amazon DynamoDB", - "serviceId":"DynamoDB", - "signatureVersion":"v4", - "targetPrefix":"DynamoDB_20120810", - "uid":"dynamodb-2012-08-10" - }, - "operations":{ - "BatchGetItem":{ - "name":"BatchGetItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetItemInput"}, - "output":{"shape":"BatchGetItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem will return a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items BatchGetItem will return a ValidationException with the message \"Too many items requested for the BatchGetItem call\".

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one data set.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Capacity Units Calculations in the Amazon DynamoDB Developer Guide.

", - "endpointdiscovery":{ - } - }, - "BatchWriteItem":{ - "name":"BatchWriteItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchWriteItemInput"}, - "output":{"shape":"BatchWriteItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ItemCollectionSizeLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

BatchWriteItem cannot update items. To update items, use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

Note that if none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem will return a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon Elastic MapReduce (EMR), or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

", - "endpointdiscovery":{ - } - }, - "CreateBackup":{ - "name":"CreateBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBackupInput"}, - "output":{"shape":"CreateBackupOutput"}, - "errors":[ - {"shape":"TableNotFoundException"}, - {"shape":"TableInUseException"}, - {"shape":"ContinuousBackupsUnavailableException"}, - {"shape":"BackupInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a backup for an existing table.

Each time you create an On-Demand Backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.

When you create an On-Demand Backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes.

You can call CreateBackup at a maximum rate of 50 times per second.

All backups in DynamoDB work without consuming any provisioned throughput on the table.

If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup may or may not contain data modifications made between 14:24:00 and 14:26:00. On-Demand Backup does not support causal consistency.

Along with data, the following are also included on the backups:

  • Global secondary indexes (GSIs)

  • Local secondary indexes (LSIs)

  • Streams

  • Provisioned read and write capacity

", - "endpointdiscovery":{ - } - }, - "CreateGlobalTable":{ - "name":"CreateGlobalTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGlobalTableInput"}, - "output":{"shape":"CreateGlobalTableOutput"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"}, - {"shape":"GlobalTableAlreadyExistsException"}, - {"shape":"TableNotFoundException"} - ], - "documentation":"

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided regions.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

", - "endpointdiscovery":{ - } - }, - "CreateTable":{ - "name":"CreateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTableInput"}, - "output":{"shape":"CreateTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The CreateTable operation adds a new table to your account. In an AWS account, table names must be unique within each region. That is, you can have two tables with same name if you create the tables in different regions.

CreateTable is an asynchronous operation. Upon receiving a CreateTable request, DynamoDB immediately returns a response with a TableStatus of CREATING. After the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform read and write operations only on an ACTIVE table.

You can optionally define secondary indexes on the new table, as part of the CreateTable operation. If you want to create multiple tables with secondary indexes on them, you must create the tables sequentially. Only one table with secondary indexes can be in the CREATING state at any given time.

You can use the DescribeTable action to check the table status.

", - "endpointdiscovery":{ - } - }, - "DeleteBackup":{ - "name":"DeleteBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBackupInput"}, - "output":{"shape":"DeleteBackupOutput"}, - "errors":[ - {"shape":"BackupNotFoundException"}, - {"shape":"BackupInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes an existing backup of a table.

You can call DeleteBackup at a maximum rate of 10 times per second.

", - "endpointdiscovery":{ - } - }, - "DeleteItem":{ - "name":"DeleteItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteItemInput"}, - "output":{"shape":"DeleteItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ItemCollectionSizeLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.

In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.

", - "endpointdiscovery":{ - } - }, - "DeleteTable":{ - "name":"DeleteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTableInput"}, - "output":{"shape":"DeleteTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

", - "endpointdiscovery":{ - } - }, - "DescribeBackup":{ - "name":"DescribeBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBackupInput"}, - "output":{"shape":"DescribeBackupOutput"}, - "errors":[ - {"shape":"BackupNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Describes an existing backup of a table.

You can call DescribeBackup at a maximum rate of 10 times per second.

", - "endpointdiscovery":{ - } - }, - "DescribeContinuousBackups":{ - "name":"DescribeContinuousBackups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeContinuousBackupsInput"}, - "output":{"shape":"DescribeContinuousBackupsOutput"}, - "errors":[ - {"shape":"TableNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Checks the status of continuous backups and point in time recovery on the specified table. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED.

Once continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.

LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.

You can call DescribeContinuousBackups at a maximum rate of 10 times per second.

", - "endpointdiscovery":{ - } - }, - "DescribeEndpoints":{ - "name":"DescribeEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndpointsRequest"}, - "output":{"shape":"DescribeEndpointsResponse"}, - "endpointoperation":true - }, - "DescribeGlobalTable":{ - "name":"DescribeGlobalTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGlobalTableInput"}, - "output":{"shape":"DescribeGlobalTableOutput"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"GlobalTableNotFoundException"} - ], - "documentation":"

Returns information about the specified global table.

", - "endpointdiscovery":{ - } - }, - "DescribeGlobalTableSettings":{ - "name":"DescribeGlobalTableSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGlobalTableSettingsInput"}, - "output":{"shape":"DescribeGlobalTableSettingsOutput"}, - "errors":[ - {"shape":"GlobalTableNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Describes region specific settings for a global table.

", - "endpointdiscovery":{ - } - }, - "DescribeLimits":{ - "name":"DescribeLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLimitsInput"}, - "output":{"shape":"DescribeLimitsOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the current provisioned-capacity limits for your AWS account in a region, both for the region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide.

Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular region to obtain your current account limits on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

    • Call DescribeTable with the table name.

    • Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables.

    • If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.

  5. Report the account limits for that region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level limits.

The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB will not let you increase provisioned capacity extremely rapidly, but the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

", - "endpointdiscovery":{ - } - }, - "DescribeTable":{ - "name":"DescribeTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTableInput"}, - "output":{"shape":"DescribeTableOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

", - "endpointdiscovery":{ - } - }, - "DescribeTimeToLive":{ - "name":"DescribeTimeToLive", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTimeToLiveInput"}, - "output":{"shape":"DescribeTimeToLiveOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gives a description of the Time to Live (TTL) status on the specified table.

", - "endpointdiscovery":{ - } - }, - "GetItem":{ - "name":"GetItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetItemInput"}, - "output":{"shape":"GetItemOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data and there will be no Item element in the response.

GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.

", - "endpointdiscovery":{ - } - }, - "ListBackups":{ - "name":"ListBackups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBackupsInput"}, - "output":{"shape":"ListBackupsOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

List backups associated with an AWS account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1MB worth of items in a page. You can also specify a limit for the maximum number of entries to be returned in a page.

In the request, start time is inclusive but end time is exclusive. Note that these limits are for the time at which the original backup was requested.

You can call ListBackups a maximum of 5 times per second.

", - "endpointdiscovery":{ - } - }, - "ListGlobalTables":{ - "name":"ListGlobalTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGlobalTablesInput"}, - "output":{"shape":"ListGlobalTablesOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists all global tables that have a replica in the specified region.

", - "endpointdiscovery":{ - } - }, - "ListTables":{ - "name":"ListTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTablesInput"}, - "output":{"shape":"ListTablesOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns an array of table names associated with the current account and endpoint. The output from ListTables is paginated, with each page returning a maximum of 100 table names.

", - "endpointdiscovery":{ - } - }, - "ListTagsOfResource":{ - "name":"ListTagsOfResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsOfResourceInput"}, - "output":{"shape":"ListTagsOfResourceOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", - "endpointdiscovery":{ - } - }, - "PutItem":{ - "name":"PutItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutItemInput"}, - "output":{"shape":"PutItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ItemCollectionSizeLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues parameter.

This topic provides general information about the PutItem API.

For information on how to call the PutItem API using the AWS SDK in specific languages, see the following:

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

", - "endpointdiscovery":{ - } - }, - "Query":{ - "name":"Query", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"QueryInput"}, - "output":{"shape":"QueryOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key).

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", - "endpointdiscovery":{ - } - }, - "RestoreTableFromBackup":{ - "name":"RestoreTableFromBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreTableFromBackupInput"}, - "output":{"shape":"RestoreTableFromBackupOutput"}, - "errors":[ - {"shape":"TableAlreadyExistsException"}, - {"shape":"TableInUseException"}, - {"shape":"BackupNotFoundException"}, - {"shape":"BackupInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a new table from an existing backup. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

You can call RestoreTableFromBackup at a maximum rate of 10 times per second.

You must manually set up the following on the restored table:

  • Auto scaling policies

  • IAM policies

  • Cloudwatch metrics and alarms

  • Tags

  • Stream settings

  • Time to Live (TTL) settings

", - "endpointdiscovery":{ - } - }, - "RestoreTableToPointInTime":{ - "name":"RestoreTableToPointInTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreTableToPointInTimeInput"}, - "output":{"shape":"RestoreTableToPointInTimeOutput"}, - "errors":[ - {"shape":"TableAlreadyExistsException"}, - {"shape":"TableNotFoundException"}, - {"shape":"TableInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidRestoreTimeException"}, - {"shape":"PointInTimeRecoveryUnavailableException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Restores the specified table to the specified point in time within EarliestRestorableDateTime and LatestRestorableDateTime. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.

Along with data, the following are also included on the new restored table using point in time recovery:

  • Global secondary indexes (GSIs)

  • Local secondary indexes (LSIs)

  • Provisioned read and write capacity

  • Encryption settings

    All these settings come from the current settings of the source table at the time of restore.

You must manually set up the following on the restored table:

  • Auto scaling policies

  • IAM policies

  • Cloudwatch metrics and alarms

  • Tags

  • Stream settings

  • Time to Live (TTL) settings

  • Point in time recovery settings

", - "endpointdiscovery":{ - } - }, - "Scan":{ - "name":"Scan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScanInput"}, - "output":{"shape":"ScanOutput"}, - "errors":[ - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

A single Scan operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", - "endpointdiscovery":{ - } - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceInput"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", - "endpointdiscovery":{ - } - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceInput"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to 5 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", - "endpointdiscovery":{ - } - }, - "UpdateContinuousBackups":{ - "name":"UpdateContinuousBackups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateContinuousBackupsInput"}, - "output":{"shape":"UpdateContinuousBackupsOutput"}, - "errors":[ - {"shape":"TableNotFoundException"}, - {"shape":"ContinuousBackupsUnavailableException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

UpdateContinuousBackups enables or disables point in time recovery for the specified table. A successful UpdateContinuousBackups call returns the current ContinuousBackupsDescription. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED.

Once continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.

LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days..

", - "endpointdiscovery":{ - } - }, - "UpdateGlobalTable":{ - "name":"UpdateGlobalTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGlobalTableInput"}, - "output":{"shape":"UpdateGlobalTableOutput"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"GlobalTableNotFoundException"}, - {"shape":"ReplicaAlreadyExistsException"}, - {"shape":"ReplicaNotFoundException"}, - {"shape":"TableNotFoundException"} - ], - "documentation":"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, must have the same name as the global table, must have the same key schema, and must have DynamoDB Streams enabled and must have same provisioned and maximum write capacity units.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

", - "endpointdiscovery":{ - } - }, - "UpdateGlobalTableSettings":{ - "name":"UpdateGlobalTableSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGlobalTableSettingsInput"}, - "output":{"shape":"UpdateGlobalTableSettingsOutput"}, - "errors":[ - {"shape":"GlobalTableNotFoundException"}, - {"shape":"ReplicaNotFoundException"}, - {"shape":"IndexNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates settings for a global table.

", - "endpointdiscovery":{ - } - }, - "UpdateItem":{ - "name":"UpdateItem", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateItemInput"}, - "output":{"shape":"UpdateItemOutput"}, - "errors":[ - {"shape":"ConditionalCheckFailedException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ItemCollectionSizeLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

", - "endpointdiscovery":{ - } - }, - "UpdateTable":{ - "name":"UpdateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTableInput"}, - "output":{"shape":"UpdateTableOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Enable or disable Streams on the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. Once the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

", - "endpointdiscovery":{ - } - }, - "UpdateTimeToLive":{ - "name":"UpdateTimeToLive", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTimeToLiveInput"}, - "output":{"shape":"UpdateTimeToLiveOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

The UpdateTimeToLive method 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. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 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.

", - "endpointdiscovery":{ - } - } - }, - "shapes":{ - "AttributeAction":{ - "type":"string", - "enum":[ - "ADD", - "PUT", - "DELETE" - ] - }, - "AttributeDefinition":{ - "type":"structure", - "required":[ - "AttributeName", - "AttributeType" - ], - "members":{ - "AttributeName":{ - "shape":"KeySchemaAttributeName", - "documentation":"

A name for the attribute.

" - }, - "AttributeType":{ - "shape":"ScalarAttributeType", - "documentation":"

The data type for the attribute, where:

  • S - the attribute is of type String

  • N - the attribute is of type Number

  • B - the attribute is of type Binary

" - } - }, - "documentation":"

Represents an attribute for describing the key schema for the table and indexes.

" - }, - "AttributeDefinitions":{ - "type":"list", - "member":{"shape":"AttributeDefinition"} - }, - "AttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "AttributeName":{ - "type":"string", - "max":65535 - }, - "AttributeNameList":{ - "type":"list", - "member":{"shape":"AttributeName"}, - "min":1 - }, - "AttributeUpdates":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValueUpdate"} - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "S":{ - "shape":"StringAttributeValue", - "documentation":"

An attribute of type String. For example:

\"S\": \"Hello\"

" - }, - "N":{ - "shape":"NumberAttributeValue", - "documentation":"

An attribute of type Number. For example:

\"N\": \"123.45\"

Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

" - }, - "B":{ - "shape":"BinaryAttributeValue", - "documentation":"

An attribute of type Binary. For example:

\"B\": \"dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk\"

" - }, - "SS":{ - "shape":"StringSetAttributeValue", - "documentation":"

An attribute of type String Set. For example:

\"SS\": [\"Giraffe\", \"Hippo\" ,\"Zebra\"]

" - }, - "NS":{ - "shape":"NumberSetAttributeValue", - "documentation":"

An attribute of type Number Set. For example:

\"NS\": [\"42.2\", \"-19\", \"7.5\", \"3.14\"]

Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

" - }, - "BS":{ - "shape":"BinarySetAttributeValue", - "documentation":"

An attribute of type Binary Set. For example:

\"BS\": [\"U3Vubnk=\", \"UmFpbnk=\", \"U25vd3k=\"]

" - }, - "M":{ - "shape":"MapAttributeValue", - "documentation":"

An attribute of type Map. For example:

\"M\": {\"Name\": {\"S\": \"Joe\"}, \"Age\": {\"N\": \"35\"}}

" - }, - "L":{ - "shape":"ListAttributeValue", - "documentation":"

An attribute of type List. For example:

\"L\": [\"Cookies\", \"Coffee\", 3.14159]

" - }, - "NULL":{ - "shape":"NullAttributeValue", - "documentation":"

An attribute of type Null. For example:

\"NULL\": true

" - }, - "BOOL":{ - "shape":"BooleanAttributeValue", - "documentation":"

An attribute of type Boolean. For example:

\"BOOL\": true

" - } - }, - "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" - }, - "AttributeValueList":{ - "type":"list", - "member":{"shape":"AttributeValue"} - }, - "AttributeValueUpdate":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"AttributeValue", - "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" - }, - "Action":{ - "shape":"AttributeAction", - "documentation":"

Specifies how to perform the update. Valid values are PUT (default), DELETE, and ADD. The behavior depends on whether the specified primary key already exists in the table.

If an item with the specified Key is found in the table:

  • PUT - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.

  • DELETE - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specified [a,c], then the final attribute value would be [b]. Specifying an empty set is an error.

  • ADD - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then the Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      In addition, if you use ADD to update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set, and if the Value is also a set, then the Value is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set [1,2], and the ADD action specified [3], then the final attribute value would be [1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings. The same holds true for number sets and binary sets.

    This action is only valid for an existing attribute whose data type is number or is a set. Do not use ADD for any other data types.

If no item with the specified Key is found:

  • PUT - DynamoDB creates a new item with the specified primary key, and then adds the attribute.

  • DELETE - Nothing happens; there is no attribute to delete.

  • ADD - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.

" - } - }, - "documentation":"

For the UpdateItem operation, represents the attributes to be modified, the action to perform on each, and the new value for each.

You cannot use UpdateItem to update any primary key attributes. Instead, you will need to delete the item, and then use PutItem to create a new item with new attributes.

Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a ValidationException exception.

" - }, - "AutoScalingPolicyDescription":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"AutoScalingPolicyName", - "documentation":"

The name of the scaling policy.

" - }, - "TargetTrackingScalingPolicyConfiguration":{ - "shape":"AutoScalingTargetTrackingScalingPolicyConfigurationDescription", - "documentation":"

Represents a target tracking scaling policy configuration.

" - } - }, - "documentation":"

Represents the properties of the scaling policy.

" - }, - "AutoScalingPolicyDescriptionList":{ - "type":"list", - "member":{"shape":"AutoScalingPolicyDescription"} - }, - "AutoScalingPolicyName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"\\p{Print}+" - }, - "AutoScalingPolicyUpdate":{ - "type":"structure", - "required":["TargetTrackingScalingPolicyConfiguration"], - "members":{ - "PolicyName":{ - "shape":"AutoScalingPolicyName", - "documentation":"

The name of the scaling policy.

" - }, - "TargetTrackingScalingPolicyConfiguration":{ - "shape":"AutoScalingTargetTrackingScalingPolicyConfigurationUpdate", - "documentation":"

Represents a target tracking scaling policy configuration.

" - } - }, - "documentation":"

Represents the autoscaling policy to be modified.

" - }, - "AutoScalingRoleArn":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "AutoScalingSettingsDescription":{ - "type":"structure", - "members":{ - "MinimumUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The minimum capacity units that a global table or global secondary index should be scaled down to.

" - }, - "MaximumUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum capacity units that a global table or global secondary index should be scaled up to.

" - }, - "AutoScalingDisabled":{ - "shape":"BooleanObject", - "documentation":"

Disabled autoscaling for this global table or global secondary index.

" - }, - "AutoScalingRoleArn":{ - "shape":"String", - "documentation":"

Role ARN used for configuring autoScaling policy.

" - }, - "ScalingPolicies":{ - "shape":"AutoScalingPolicyDescriptionList", - "documentation":"

Information about the scaling policies.

" - } - }, - "documentation":"

Represents the autoscaling settings for a global table or global secondary index.

" - }, - "AutoScalingSettingsUpdate":{ - "type":"structure", - "members":{ - "MinimumUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The minimum capacity units that a global table or global secondary index should be scaled down to.

" - }, - "MaximumUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum capacity units that a global table or global secondary index should be scaled up to.

" - }, - "AutoScalingDisabled":{ - "shape":"BooleanObject", - "documentation":"

Disabled autoscaling for this global table or global secondary index.

" - }, - "AutoScalingRoleArn":{ - "shape":"AutoScalingRoleArn", - "documentation":"

Role ARN used for configuring autoscaling policy.

" - }, - "ScalingPolicyUpdate":{ - "shape":"AutoScalingPolicyUpdate", - "documentation":"

The scaling policy to apply for scaling target global table or global secondary index capacity units.

" - } - }, - "documentation":"

Represents the autoscaling settings to be modified for a global table or global secondary index.

" - }, - "AutoScalingTargetTrackingScalingPolicyConfigurationDescription":{ - "type":"structure", - "required":["TargetValue"], - "members":{ - "DisableScaleIn":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" - }, - "ScaleInCooldown":{ - "shape":"IntegerObject", - "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. The cooldown period is used to block subsequent scale in requests until it has expired. You should scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, application autoscaling scales out your scalable target immediately.

" - }, - "ScaleOutCooldown":{ - "shape":"IntegerObject", - "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start. While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. You should continuously (but not excessively) scale out.

" - }, - "TargetValue":{ - "shape":"Double", - "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" - } - }, - "documentation":"

Represents the properties of a target tracking scaling policy.

" - }, - "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate":{ - "type":"structure", - "required":["TargetValue"], - "members":{ - "DisableScaleIn":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" - }, - "ScaleInCooldown":{ - "shape":"IntegerObject", - "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. The cooldown period is used to block subsequent scale in requests until it has expired. You should scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, application autoscaling scales out your scalable target immediately.

" - }, - "ScaleOutCooldown":{ - "shape":"IntegerObject", - "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start. While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. You should continuously (but not excessively) scale out.

" - }, - "TargetValue":{ - "shape":"Double", - "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" - } - }, - "documentation":"

Represents the settings of a target tracking scaling policy that will be modified.

" - }, - "Backfilling":{"type":"boolean"}, - "BackupArn":{ - "type":"string", - "max":1024, - "min":37 - }, - "BackupCreationDateTime":{"type":"timestamp"}, - "BackupDescription":{ - "type":"structure", - "members":{ - "BackupDetails":{ - "shape":"BackupDetails", - "documentation":"

Contains the details of the backup created for the table.

" - }, - "SourceTableDetails":{ - "shape":"SourceTableDetails", - "documentation":"

Contains the details of the table when the backup was created.

" - }, - "SourceTableFeatureDetails":{ - "shape":"SourceTableFeatureDetails", - "documentation":"

Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

" - } - }, - "documentation":"

Contains the description of the backup created for the table.

" - }, - "BackupDetails":{ - "type":"structure", - "required":[ - "BackupArn", - "BackupName", - "BackupStatus", - "BackupType", - "BackupCreationDateTime" - ], - "members":{ - "BackupArn":{ - "shape":"BackupArn", - "documentation":"

ARN associated with the backup.

" - }, - "BackupName":{ - "shape":"BackupName", - "documentation":"

Name of the requested backup.

" - }, - "BackupSizeBytes":{ - "shape":"BackupSizeBytes", - "documentation":"

Size of the backup in bytes.

" - }, - "BackupStatus":{ - "shape":"BackupStatus", - "documentation":"

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

" - }, - "BackupType":{ - "shape":"BackupType", - "documentation":"

BackupType:

  • USER - On-demand backup created by you.

  • SYSTEM - On-demand backup automatically created by DynamoDB.

" - }, - "BackupCreationDateTime":{ - "shape":"BackupCreationDateTime", - "documentation":"

Time at which the backup was created. This is the request time of the backup.

" - }, - "BackupExpiryDateTime":{ - "shape":"Date", - "documentation":"

Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM on-demand backup expires automatically 35 days after its creation.

" - } - }, - "documentation":"

Contains the details of the backup created for the table.

" - }, - "BackupInUseException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

There is another ongoing conflicting backup control plane operation on the table. The backups is either being created, deleted or restored to a table.

", - "exception":true - }, - "BackupName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "BackupNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Backup not found for the given BackupARN.

", - "exception":true - }, - "BackupSizeBytes":{ - "type":"long", - "min":0 - }, - "BackupStatus":{ - "type":"string", - "enum":[ - "CREATING", - "DELETED", - "AVAILABLE" - ] - }, - "BackupSummaries":{ - "type":"list", - "member":{"shape":"BackupSummary"} - }, - "BackupSummary":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

Name of the table.

" - }, - "TableId":{ - "shape":"TableId", - "documentation":"

Unique identifier for the table.

" - }, - "TableArn":{ - "shape":"TableArn", - "documentation":"

ARN associated with the table.

" - }, - "BackupArn":{ - "shape":"BackupArn", - "documentation":"

ARN associated with the backup.

" - }, - "BackupName":{ - "shape":"BackupName", - "documentation":"

Name of the specified backup.

" - }, - "BackupCreationDateTime":{ - "shape":"BackupCreationDateTime", - "documentation":"

Time at which the backup was created.

" - }, - "BackupExpiryDateTime":{ - "shape":"Date", - "documentation":"

Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM on-demand backup expires automatically 35 days after its creation.

" - }, - "BackupStatus":{ - "shape":"BackupStatus", - "documentation":"

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

" - }, - "BackupType":{ - "shape":"BackupType", - "documentation":"

BackupType:

  • USER - On-demand backup created by you.

  • SYSTEM - On-demand backup automatically created by DynamoDB.

" - }, - "BackupSizeBytes":{ - "shape":"BackupSizeBytes", - "documentation":"

Size of the backup in bytes.

" - } - }, - "documentation":"

Contains details for the backup.

" - }, - "BackupType":{ - "type":"string", - "enum":[ - "USER", - "SYSTEM" - ] - }, - "BackupTypeFilter":{ - "type":"string", - "enum":[ - "USER", - "SYSTEM", - "ALL" - ] - }, - "BackupsInputLimit":{ - "type":"integer", - "max":100, - "min":1 - }, - "BatchGetItemInput":{ - "type":"structure", - "required":["RequestItems"], - "members":{ - "RequestItems":{ - "shape":"BatchGetRequestMap", - "documentation":"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\"#P\":\"Percentile\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"} - }, - "documentation":"

Represents the input of a BatchGetItem operation.

" - }, - "BatchGetItemOutput":{ - "type":"structure", - "members":{ - "Responses":{ - "shape":"BatchGetResponseMap", - "documentation":"

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

" - }, - "UnprocessedKeys":{ - "shape":"BatchGetRequestMap", - "documentation":"

A map of tables and their respective keys that were not processed with the current response. The UnprocessedKeys value is in the same form as RequestItems, so the value can be provided directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each element consists of:

  • Keys - An array of primary key attribute values that define specific items in the table.

  • ProjectionExpression - One or more attributes to be retrieved from the table or index. By default, all attributes are returned. If a requested attribute is not found, it does not appear in the result.

  • ConsistentRead - The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

If there are no unprocessed keys remaining, the response contains an empty UnprocessedKeys map.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacityMultiple", - "documentation":"

The read capacity units consumed by the entire BatchGetItem operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" - } - }, - "documentation":"

Represents the output of a BatchGetItem operation.

" - }, - "BatchGetRequestMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"KeysAndAttributes"}, - "max":100, - "min":1 - }, - "BatchGetResponseMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"ItemList"} - }, - "BatchWriteItemInput":{ - "type":"structure", - "required":["RequestItems"], - "members":{ - "RequestItems":{ - "shape":"BatchWriteItemRequestMap", - "documentation":"

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ReturnItemCollectionMetrics":{ - "shape":"ReturnItemCollectionMetrics", - "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

" - } - }, - "documentation":"

Represents the input of a BatchWriteItem operation.

" - }, - "BatchWriteItemOutput":{ - "type":"structure", - "members":{ - "UnprocessedItems":{ - "shape":"BatchWriteItemRequestMap", - "documentation":"

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

" - }, - "ItemCollectionMetrics":{ - "shape":"ItemCollectionMetricsPerTable", - "documentation":"

A list of tables that were processed by BatchWriteItem and, for each table, information about any item collections that were affected by individual DeleteItem or PutItem operations.

Each entry consists of the following subelements:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item.

  • SizeEstimateRangeGB - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacityMultiple", - "documentation":"

The capacity units consumed by the entire BatchWriteItem operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" - } - }, - "documentation":"

Represents the output of a BatchWriteItem operation.

" - }, - "BatchWriteItemRequestMap":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"WriteRequests"}, - "max":25, - "min":1 - }, - "BinaryAttributeValue":{"type":"blob"}, - "BinarySetAttributeValue":{ - "type":"list", - "member":{"shape":"BinaryAttributeValue"} - }, - "BooleanAttributeValue":{"type":"boolean"}, - "BooleanObject":{"type":"boolean"}, - "Capacity":{ - "type":"structure", - "members":{ - "CapacityUnits":{ - "shape":"ConsumedCapacityUnits", - "documentation":"

The total number of capacity units consumed on a table or an index.

" - } - }, - "documentation":"

Represents the amount of provisioned throughput capacity consumed on a table or an index.

" - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "EQ", - "NE", - "IN", - "LE", - "LT", - "GE", - "GT", - "BETWEEN", - "NOT_NULL", - "NULL", - "CONTAINS", - "NOT_CONTAINS", - "BEGINS_WITH" - ] - }, - "Condition":{ - "type":"structure", - "required":["ComparisonOperator"], - "members":{ - "AttributeValueList":{ - "shape":"AttributeValueList", - "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the selection criteria for a Query or Scan operation:

  • For a Query operation, Condition is used for specifying the KeyConditions to use when querying a table or an index. For KeyConditions, only the following comparison operators are supported:

    EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN

    Condition is also used in a QueryFilter, which evaluates the query results and returns only the desired values.

  • For a Scan operation, Condition is used in a ScanFilter, which evaluates the scan results and returns only the desired values.

" - }, - "ConditionExpression":{"type":"string"}, - "ConditionalCheckFailedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The conditional request failed.

" - } - }, - "documentation":"

A condition specified in the operation could not be evaluated.

", - "exception":true - }, - "ConditionalOperator":{ - "type":"string", - "enum":[ - "AND", - "OR" - ] - }, - "ConsistentRead":{"type":"boolean"}, - "ConsumedCapacity":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table that was affected by the operation.

" - }, - "CapacityUnits":{ - "shape":"ConsumedCapacityUnits", - "documentation":"

The total number of capacity units consumed by the operation.

" - }, - "Table":{ - "shape":"Capacity", - "documentation":"

The amount of throughput consumed on the table affected by the operation.

" - }, - "LocalSecondaryIndexes":{ - "shape":"SecondaryIndexesCapacityMap", - "documentation":"

The amount of throughput consumed on each local index affected by the operation.

" - }, - "GlobalSecondaryIndexes":{ - "shape":"SecondaryIndexesCapacityMap", - "documentation":"

The amount of throughput consumed on each global index affected by the operation.

" - } - }, - "documentation":"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - }, - "ConsumedCapacityMultiple":{ - "type":"list", - "member":{"shape":"ConsumedCapacity"} - }, - "ConsumedCapacityUnits":{"type":"double"}, - "ContinuousBackupsDescription":{ - "type":"structure", - "required":["ContinuousBackupsStatus"], - "members":{ - "ContinuousBackupsStatus":{ - "shape":"ContinuousBackupsStatus", - "documentation":"

ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED

" - }, - "PointInTimeRecoveryDescription":{ - "shape":"PointInTimeRecoveryDescription", - "documentation":"

The description of the point in time recovery settings applied to the table.

" - } - }, - "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" - }, - "ContinuousBackupsStatus":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "ContinuousBackupsUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Backups have not yet been enabled for this table.

", - "exception":true - }, - "CreateBackupInput":{ - "type":"structure", - "required":[ - "TableName", - "BackupName" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table.

" - }, - "BackupName":{ - "shape":"BackupName", - "documentation":"

Specified name for the backup.

" - } - } - }, - "CreateBackupOutput":{ - "type":"structure", - "members":{ - "BackupDetails":{ - "shape":"BackupDetails", - "documentation":"

Contains the details of the backup created for the table.

" - } - } - }, - "CreateGlobalSecondaryIndexAction":{ - "type":"structure", - "required":[ - "IndexName", - "KeySchema", - "Projection", - "ProvisionedThroughput" - ], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index to be created.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The key schema for the global secondary index.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents a new global secondary index to be added to an existing table.

" - }, - "CreateGlobalTableInput":{ - "type":"structure", - "required":[ - "GlobalTableName", - "ReplicationGroup" - ], - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The global table name.

" - }, - "ReplicationGroup":{ - "shape":"ReplicaList", - "documentation":"

The regions where the global table needs to be created.

" - } - } - }, - "CreateGlobalTableOutput":{ - "type":"structure", - "members":{ - "GlobalTableDescription":{ - "shape":"GlobalTableDescription", - "documentation":"

Contains the details of the global table.

" - } - } - }, - "CreateReplicaAction":{ - "type":"structure", - "required":["RegionName"], - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The region of the replica to be added.

" - } - }, - "documentation":"

Represents a replica to be added.

" - }, - "CreateTableInput":{ - "type":"structure", - "required":[ - "AttributeDefinitions", - "TableName", - "KeySchema", - "ProvisionedThroughput" - ], - "members":{ - "AttributeDefinitions":{ - "shape":"AttributeDefinitions", - "documentation":"

An array of attributes that describe the key schema for the table and indexes.

" - }, - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table to create.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.

Each KeySchemaElement in the array is composed of:

  • AttributeName - The name of this key attribute.

  • KeyType - The role that the key attribute will assume:

    • HASH - partition key

    • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE.

For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer Guide.

" - }, - "LocalSecondaryIndexes":{ - "shape":"LocalSecondaryIndexList", - "documentation":"

One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

Each local secondary index in the array includes the following:

  • IndexName - The name of the local secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" - }, - "GlobalSecondaryIndexes":{ - "shape":"GlobalSecondaryIndexList", - "documentation":"

One or more global secondary indexes (the maximum is five) to be created on the table. Each global secondary index in the array includes the following:

  • IndexName - The name of the global secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the global secondary index.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - }, - "StreamSpecification":{ - "shape":"StreamSpecification", - "documentation":"

The settings for DynamoDB Streams on the table. These settings consist of:

  • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

  • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

    • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

    • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

    • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

    • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" - }, - "SSESpecification":{ - "shape":"SSESpecification", - "documentation":"

Represents the settings used to enable server-side encryption.

" - } - }, - "documentation":"

Represents the input of a CreateTable operation.

" - }, - "CreateTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{ - "shape":"TableDescription", - "documentation":"

Represents the properties of the table.

" - } - }, - "documentation":"

Represents the output of a CreateTable operation.

" - }, - "Date":{"type":"timestamp"}, - "DeleteBackupInput":{ - "type":"structure", - "required":["BackupArn"], - "members":{ - "BackupArn":{ - "shape":"BackupArn", - "documentation":"

The ARN associated with the backup.

" - } - } - }, - "DeleteBackupOutput":{ - "type":"structure", - "members":{ - "BackupDescription":{ - "shape":"BackupDescription", - "documentation":"

Contains the description of the backup created for the table.

" - } - } - }, - "DeleteGlobalSecondaryIndexAction":{ - "type":"structure", - "required":["IndexName"], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index to be deleted.

" - } - }, - "documentation":"

Represents a global secondary index to be deleted from an existing table.

" - }, - "DeleteItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table from which to delete the item.

" - }, - "Key":{ - "shape":"Key", - "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to delete.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" - }, - "Expected":{ - "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" - }, - "ConditionalOperator":{ - "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" - }, - "ReturnValues":{ - "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - The content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ReturnItemCollectionMetrics":{ - "shape":"ReturnItemCollectionMetrics", - "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

" - }, - "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.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeValues":{ - "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the input of a DeleteItem operation.

" - }, - "DeleteItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeMap", - "documentation":"

A map of attribute names to AttributeValue objects, representing the item as it appeared before the DeleteItem operation. This map appears in the response only if ReturnValues was specified as ALL_OLD in the request.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - }, - "ItemCollectionMetrics":{ - "shape":"ItemCollectionMetrics", - "documentation":"

Information about item collections, if any, that were affected by the DeleteItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" - } - }, - "documentation":"

Represents the output of a DeleteItem operation.

" - }, - "DeleteReplicaAction":{ - "type":"structure", - "required":["RegionName"], - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The region of the replica to be removed.

" - } - }, - "documentation":"

Represents a replica to be removed.

" - }, - "DeleteRequest":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"Key", - "documentation":"

A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.

" - } - }, - "documentation":"

Represents a request to perform a DeleteItem operation on an item.

" - }, - "DeleteTableInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table to delete.

" - } - }, - "documentation":"

Represents the input of a DeleteTable operation.

" - }, - "DeleteTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{ - "shape":"TableDescription", - "documentation":"

Represents the properties of a table.

" - } - }, - "documentation":"

Represents the output of a DeleteTable operation.

" - }, - "DescribeBackupInput":{ - "type":"structure", - "required":["BackupArn"], - "members":{ - "BackupArn":{ - "shape":"BackupArn", - "documentation":"

The ARN associated with the backup.

" - } - } - }, - "DescribeBackupOutput":{ - "type":"structure", - "members":{ - "BackupDescription":{ - "shape":"BackupDescription", - "documentation":"

Contains the description of the backup created for the table.

" - } - } - }, - "DescribeContinuousBackupsInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

" - } - } - }, - "DescribeContinuousBackupsOutput":{ - "type":"structure", - "members":{ - "ContinuousBackupsDescription":{ - "shape":"ContinuousBackupsDescription", - "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" - } - } - }, - "DescribeEndpointsRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeEndpointsResponse":{ - "type":"structure", - "required":["Endpoints"], - "members":{ - "Endpoints":{"shape":"Endpoints"} - } - }, - "DescribeGlobalTableInput":{ - "type":"structure", - "required":["GlobalTableName"], - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The name of the global table.

" - } - } - }, - "DescribeGlobalTableOutput":{ - "type":"structure", - "members":{ - "GlobalTableDescription":{ - "shape":"GlobalTableDescription", - "documentation":"

Contains the details of the global table.

" - } - } - }, - "DescribeGlobalTableSettingsInput":{ - "type":"structure", - "required":["GlobalTableName"], - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The name of the global table to describe.

" - } - } - }, - "DescribeGlobalTableSettingsOutput":{ - "type":"structure", - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The name of the global table.

" - }, - "ReplicaSettings":{ - "shape":"ReplicaSettingsDescriptionList", - "documentation":"

The region specific settings for the global table.

" - } - } - }, - "DescribeLimitsInput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents the input of a DescribeLimits operation. Has no content.

" - }, - "DescribeLimitsOutput":{ - "type":"structure", - "members":{ - "AccountMaxReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum total read capacity units that your account allows you to provision across all of your tables in this region.

" - }, - "AccountMaxWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum total write capacity units that your account allows you to provision across all of your tables in this region.

" - }, - "TableMaxReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum read capacity units that your account allows you to provision for a new table that you are creating in this region, including the read capacity units provisioned for its global secondary indexes (GSIs).

" - }, - "TableMaxWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum write capacity units that your account allows you to provision for a new table that you are creating in this region, including the write capacity units provisioned for its global secondary indexes (GSIs).

" - } - }, - "documentation":"

Represents the output of a DescribeLimits operation.

" - }, - "DescribeTableInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table to describe.

" - } - }, - "documentation":"

Represents the input of a DescribeTable operation.

" - }, - "DescribeTableOutput":{ - "type":"structure", - "members":{ - "Table":{ - "shape":"TableDescription", - "documentation":"

The properties of the table.

" - } - }, - "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":"

" - } - } - }, - "Double":{"type":"double"}, - "Endpoint":{ - "type":"structure", - "required":[ - "Address", - "CachePeriodInMinutes" - ], - "members":{ - "Address":{"shape":"String"}, - "CachePeriodInMinutes":{"shape":"Long"} - } - }, - "Endpoints":{ - "type":"list", - "member":{"shape":"Endpoint"} - }, - "ErrorMessage":{"type":"string"}, - "ExpectedAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"ExpectedAttributeValue"} - }, - "ExpectedAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"AttributeValue", - "documentation":"

Represents the data for the expected attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" - }, - "Exists":{ - "shape":"BooleanObject", - "documentation":"

Causes DynamoDB to evaluate the value before attempting a conditional operation:

  • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a ConditionalCheckFailedException.

  • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a ConditionalCheckFailedException.

The default setting for Exists is true. If you supply a Value all by itself, DynamoDB assumes the attribute exists: You don't have to set Exists to true, because it is implied.

DynamoDB returns a ValidationException if:

  • Exists is true but there is no Value to check. (You expect a value to exist, but don't specify what that value is.)

  • Exists is false but you also provide a Value. (You cannot expect an attribute to have a value, while also expecting it not to exist.)

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

A comparator for evaluating attributes in the AttributeValueList. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

" - }, - "AttributeValueList":{ - "shape":"AttributeValueList", - "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents a condition to be compared with an attribute value. This condition can be used with DeleteItem, PutItem or UpdateItem operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use ExpectedAttributeValue in one of two different ways:

  • Use AttributeValueList to specify one or more values to compare against an attribute. Use ComparisonOperator to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.

  • Use Value to specify a value that DynamoDB will compare against an attribute. If the values match, then ExpectedAttributeValue evaluates to true and the conditional operation succeeds. Optionally, you can also set Exists to false, indicating that you do not expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.

Value and Exists are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

" - }, - "ExpressionAttributeNameMap":{ - "type":"map", - "key":{"shape":"ExpressionAttributeNameVariable"}, - "value":{"shape":"AttributeName"} - }, - "ExpressionAttributeNameVariable":{"type":"string"}, - "ExpressionAttributeValueMap":{ - "type":"map", - "key":{"shape":"ExpressionAttributeValueVariable"}, - "value":{"shape":"AttributeValue"} - }, - "ExpressionAttributeValueVariable":{"type":"string"}, - "FilterConditionMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"Condition"} - }, - "GetItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table containing the requested item.

" - }, - "Key":{ - "shape":"Key", - "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" - }, - "AttributesToGet":{ - "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" - }, - "ConsistentRead":{ - "shape":"ConsistentRead", - "documentation":"

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ProjectionExpression":{ - "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the input of a GetItem operation.

" - }, - "GetItemOutput":{ - "type":"structure", - "members":{ - "Item":{ - "shape":"AttributeMap", - "documentation":"

A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the output of a GetItem operation.

" - }, - "GlobalSecondaryIndex":{ - "type":"structure", - "required":[ - "IndexName", - "KeySchema", - "Projection", - "ProvisionedThroughput" - ], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the properties of a global secondary index.

" - }, - "GlobalSecondaryIndexDescription":{ - "type":"structure", - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "IndexStatus":{ - "shape":"IndexStatus", - "documentation":"

The current state of the global secondary index:

  • CREATING - The index is being created.

  • UPDATING - The index is being updated.

  • DELETING - The index is being deleted.

  • ACTIVE - The index is ready for use.

" - }, - "Backfilling":{ - "shape":"Backfilling", - "documentation":"

Indicates whether the index is currently backfilling. Backfilling is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and Backfilling is false.

For indexes that were created during a CreateTable operation, the Backfilling attribute does not appear in the DescribeTable output.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughputDescription", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - }, - "IndexSizeBytes":{ - "shape":"Long", - "documentation":"

The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "ItemCount":{ - "shape":"Long", - "documentation":"

The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "IndexArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the index.

" - } - }, - "documentation":"

Represents the properties of a global secondary index.

" - }, - "GlobalSecondaryIndexDescriptionList":{ - "type":"list", - "member":{"shape":"GlobalSecondaryIndexDescription"} - }, - "GlobalSecondaryIndexInfo":{ - "type":"structure", - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

" - } - }, - "documentation":"

Represents the properties of a global secondary index for the table when the backup was created.

" - }, - "GlobalSecondaryIndexList":{ - "type":"list", - "member":{"shape":"GlobalSecondaryIndex"} - }, - "GlobalSecondaryIndexUpdate":{ - "type":"structure", - "members":{ - "Update":{ - "shape":"UpdateGlobalSecondaryIndexAction", - "documentation":"

The name of an existing global secondary index, along with new provisioned throughput settings to be applied to that index.

" - }, - "Create":{ - "shape":"CreateGlobalSecondaryIndexAction", - "documentation":"

The parameters required for creating a global secondary index on an existing table:

  • IndexName

  • KeySchema

  • AttributeDefinitions

  • Projection

  • ProvisionedThroughput

" - }, - "Delete":{ - "shape":"DeleteGlobalSecondaryIndexAction", - "documentation":"

The name of an existing global secondary index to be removed.

" - } - }, - "documentation":"

Represents one of the following:

  • A new global secondary index to be added to an existing table.

  • New provisioned throughput parameters for an existing global secondary index.

  • An existing global secondary index to be removed from an existing table.

" - }, - "GlobalSecondaryIndexUpdateList":{ - "type":"list", - "member":{"shape":"GlobalSecondaryIndexUpdate"} - }, - "GlobalSecondaryIndexes":{ - "type":"list", - "member":{"shape":"GlobalSecondaryIndexInfo"} - }, - "GlobalTable":{ - "type":"structure", - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The global table name.

" - }, - "ReplicationGroup":{ - "shape":"ReplicaList", - "documentation":"

The regions where the global table has replicas.

" - } - }, - "documentation":"

Represents the properties of a global table.

" - }, - "GlobalTableAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified global table already exists.

", - "exception":true - }, - "GlobalTableArnString":{"type":"string"}, - "GlobalTableDescription":{ - "type":"structure", - "members":{ - "ReplicationGroup":{ - "shape":"ReplicaDescriptionList", - "documentation":"

The regions where the global table has replicas.

" - }, - "GlobalTableArn":{ - "shape":"GlobalTableArnString", - "documentation":"

The unique identifier of the global table.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation time of the global table.

" - }, - "GlobalTableStatus":{ - "shape":"GlobalTableStatus", - "documentation":"

The current state of the global table:

  • CREATING - The global table is being created.

  • UPDATING - The global table is being updated.

  • DELETING - The global table is being deleted.

  • ACTIVE - The global table is ready for use.

" - }, - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The global table name.

" - } - }, - "documentation":"

Contains details about the global table.

" - }, - "GlobalTableGlobalSecondaryIndexSettingsUpdate":{ - "type":"structure", - "required":["IndexName"], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" - }, - "ProvisionedWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" - }, - "ProvisionedWriteCapacityAutoScalingSettingsUpdate":{ - "shape":"AutoScalingSettingsUpdate", - "documentation":"

AutoScaling settings for managing a global secondary index's write capacity units.

" - } - }, - "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" - }, - "GlobalTableGlobalSecondaryIndexSettingsUpdateList":{ - "type":"list", - "member":{"shape":"GlobalTableGlobalSecondaryIndexSettingsUpdate"}, - "max":20, - "min":1 - }, - "GlobalTableList":{ - "type":"list", - "member":{"shape":"GlobalTable"} - }, - "GlobalTableNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified global table does not exist.

", - "exception":true - }, - "GlobalTableStatus":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "DELETING", - "UPDATING" - ] - }, - "IndexName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "IndexNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The operation tried to access a nonexistent index.

", - "exception":true - }, - "IndexStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "ACTIVE" - ] - }, - "Integer":{"type":"integer"}, - "IntegerObject":{"type":"integer"}, - "InternalServerError":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The server encountered an internal error trying to fulfill the request.

" - } - }, - "documentation":"

An error occurred on the server side.

", - "exception":true, - "fault":true - }, - "InvalidRestoreTimeException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime and LatestRestorableDateTime.

", - "exception":true - }, - "ItemCollectionKeyAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "ItemCollectionMetrics":{ - "type":"structure", - "members":{ - "ItemCollectionKey":{ - "shape":"ItemCollectionKeyAttributeMap", - "documentation":"

The partition key value of the item collection. This value is the same as the partition key value of the item.

" - }, - "SizeEstimateRangeGB":{ - "shape":"ItemCollectionSizeEstimateRange", - "documentation":"

An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" - } - }, - "documentation":"

Information about item collections, if any, that were affected by the operation. ItemCollectionMetrics is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.

" - }, - "ItemCollectionMetricsMultiple":{ - "type":"list", - "member":{"shape":"ItemCollectionMetrics"} - }, - "ItemCollectionMetricsPerTable":{ - "type":"map", - "key":{"shape":"TableName"}, - "value":{"shape":"ItemCollectionMetricsMultiple"} - }, - "ItemCollectionSizeEstimateBound":{"type":"double"}, - "ItemCollectionSizeEstimateRange":{ - "type":"list", - "member":{"shape":"ItemCollectionSizeEstimateBound"} - }, - "ItemCollectionSizeLimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The total size of an item collection has exceeded the maximum limit of 10 gigabytes.

" - } - }, - "documentation":"

An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.

", - "exception":true - }, - "ItemCount":{ - "type":"long", - "min":0 - }, - "ItemList":{ - "type":"list", - "member":{"shape":"AttributeMap"} - }, - "KMSMasterKeyArn":{"type":"string"}, - "KMSMasterKeyId":{"type":"string"}, - "Key":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "KeyConditions":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"Condition"} - }, - "KeyExpression":{"type":"string"}, - "KeyList":{ - "type":"list", - "member":{"shape":"Key"}, - "max":100, - "min":1 - }, - "KeySchema":{ - "type":"list", - "member":{"shape":"KeySchemaElement"}, - "max":2, - "min":1 - }, - "KeySchemaAttributeName":{ - "type":"string", - "max":255, - "min":1 - }, - "KeySchemaElement":{ - "type":"structure", - "required":[ - "AttributeName", - "KeyType" - ], - "members":{ - "AttributeName":{ - "shape":"KeySchemaAttributeName", - "documentation":"

The name of a key attribute.

" - }, - "KeyType":{ - "shape":"KeyType", - "documentation":"

The role that this key attribute will assume:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - } - }, - "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

" - }, - "KeyType":{ - "type":"string", - "enum":[ - "HASH", - "RANGE" - ] - }, - "KeysAndAttributes":{ - "type":"structure", - "required":["Keys"], - "members":{ - "Keys":{ - "shape":"KeyList", - "documentation":"

The primary key attribute values that define the items and the attributes associated with the items.

" - }, - "AttributesToGet":{ - "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" - }, - "ConsistentRead":{ - "shape":"ConsistentRead", - "documentation":"

The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

" - }, - "ProjectionExpression":{ - "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents a set of primary keys and, for each key, the attributes to retrieve from the table.

For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key. For a composite primary key, you must provide both the partition key and the sort key.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Too many operations for a given subscriber.

" - } - }, - "documentation":"

There is no limit to the number of daily on-demand backups that can be taken.

Up to 10 simultaneous table operations are allowed per account. These operations include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, and RestoreTableToPointInTime.

For tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously.

The total limit of tables in the ACTIVE state is 250.

", - "exception":true - }, - "ListAttributeValue":{ - "type":"list", - "member":{"shape":"AttributeValue"} - }, - "ListBackupsInput":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The backups from the table specified by TableName are listed.

" - }, - "Limit":{ - "shape":"BackupsInputLimit", - "documentation":"

Maximum number of backups to return at once.

" - }, - "TimeRangeLowerBound":{ - "shape":"TimeRangeLowerBound", - "documentation":"

Only backups created after this time are listed. TimeRangeLowerBound is inclusive.

" - }, - "TimeRangeUpperBound":{ - "shape":"TimeRangeUpperBound", - "documentation":"

Only backups created before this time are listed. TimeRangeUpperBound is exclusive.

" - }, - "ExclusiveStartBackupArn":{ - "shape":"BackupArn", - "documentation":"

LastEvaluatedBackupArn is the ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the ExclusiveStartBackupArn of a new ListBackups operation in order to fetch the next page of results.

" - }, - "BackupType":{ - "shape":"BackupTypeFilter", - "documentation":"

The backups from the table specified by BackupType are listed.

Where BackupType can be:

  • USER - On-demand backup created by you.

  • SYSTEM - On-demand backup automatically created by DynamoDB.

  • ALL - All types of on-demand backups (USER and SYSTEM).

" - } - } - }, - "ListBackupsOutput":{ - "type":"structure", - "members":{ - "BackupSummaries":{ - "shape":"BackupSummaries", - "documentation":"

List of BackupSummary objects.

" - }, - "LastEvaluatedBackupArn":{ - "shape":"BackupArn", - "documentation":"

The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the ExclusiveStartBackupArn of a new ListBackups operation in order to fetch the next page of results.

If LastEvaluatedBackupArn is empty, then the last page of results has been processed and there are no more results to be retrieved.

If LastEvaluatedBackupArn is not empty, this may or may not indicate there is more data to be returned. All results are guaranteed to have been returned if and only if no value for LastEvaluatedBackupArn is returned.

" - } - } - }, - "ListGlobalTablesInput":{ - "type":"structure", - "members":{ - "ExclusiveStartGlobalTableName":{ - "shape":"TableName", - "documentation":"

The first global table name that this operation will evaluate.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of table names to return.

" - }, - "RegionName":{ - "shape":"RegionName", - "documentation":"

Lists the global tables in a specific region.

" - } - } - }, - "ListGlobalTablesOutput":{ - "type":"structure", - "members":{ - "GlobalTables":{ - "shape":"GlobalTableList", - "documentation":"

List of global table names.

" - }, - "LastEvaluatedGlobalTableName":{ - "shape":"TableName", - "documentation":"

Last evaluated global table name.

" - } - } - }, - "ListTablesInput":{ - "type":"structure", - "members":{ - "ExclusiveStartTableName":{ - "shape":"TableName", - "documentation":"

The first table name that this operation will evaluate. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.

" - }, - "Limit":{ - "shape":"ListTablesInputLimit", - "documentation":"

A maximum number of table names to return. If this parameter is not specified, the limit is 100.

" - } - }, - "documentation":"

Represents the input of a ListTables operation.

" - }, - "ListTablesInputLimit":{ - "type":"integer", - "max":100, - "min":1 - }, - "ListTablesOutput":{ - "type":"structure", - "members":{ - "TableNames":{ - "shape":"TableNameList", - "documentation":"

The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100.

If LastEvaluatedTableName also appears in the output, you can use this value as the ExclusiveStartTableName parameter in a subsequent ListTables request and obtain the next page of results.

" - }, - "LastEvaluatedTableName":{ - "shape":"TableName", - "documentation":"

The name of the last table in the current page of results. Use this value as the ExclusiveStartTableName in a new request to obtain the next page of results, until all the table names are returned.

If you do not receive a LastEvaluatedTableName value in the response, this means that there are no more table names to be retrieved.

" - } - }, - "documentation":"

Represents the output of a ListTables operation.

" - }, - "ListTagsOfResourceInput":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArnString", - "documentation":"

The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

" - }, - "NextToken":{ - "shape":"NextTokenString", - "documentation":"

An optional string that, if supplied, must be copied from the output of a previous call to ListTagOfResource. When provided in this manner, this API fetches the next page of results.

" - } - } - }, - "ListTagsOfResourceOutput":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

The tags currently associated with the Amazon DynamoDB resource.

" - }, - "NextToken":{ - "shape":"NextTokenString", - "documentation":"

If this value is returned, there are additional results to be displayed. To retrieve them, call ListTagsOfResource again, with NextToken set to this value.

" - } - } - }, - "LocalSecondaryIndex":{ - "type":"structure", - "required":[ - "IndexName", - "KeySchema", - "Projection" - ], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the local secondary index. The name must be unique among all other indexes on this table.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - } - }, - "documentation":"

Represents the properties of a local secondary index.

" - }, - "LocalSecondaryIndexDescription":{ - "type":"structure", - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

Represents the name of the local secondary index.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "IndexSizeBytes":{ - "shape":"Long", - "documentation":"

The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "ItemCount":{ - "shape":"Long", - "documentation":"

The number of items in the specified index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "IndexArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the index.

" - } - }, - "documentation":"

Represents the properties of a local secondary index.

" - }, - "LocalSecondaryIndexDescriptionList":{ - "type":"list", - "member":{"shape":"LocalSecondaryIndexDescription"} - }, - "LocalSecondaryIndexInfo":{ - "type":"structure", - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

Represents the name of the local secondary index.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" - }, - "Projection":{ - "shape":"Projection", - "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - } - }, - "documentation":"

Represents the properties of a local secondary index for the table when the backup was created.

" - }, - "LocalSecondaryIndexList":{ - "type":"list", - "member":{"shape":"LocalSecondaryIndex"} - }, - "LocalSecondaryIndexes":{ - "type":"list", - "member":{"shape":"LocalSecondaryIndexInfo"} - }, - "Long":{"type":"long"}, - "MapAttributeValue":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "NextTokenString":{"type":"string"}, - "NonKeyAttributeName":{ - "type":"string", - "max":255, - "min":1 - }, - "NonKeyAttributeNameList":{ - "type":"list", - "member":{"shape":"NonKeyAttributeName"}, - "max":20, - "min":1 - }, - "NullAttributeValue":{"type":"boolean"}, - "NumberAttributeValue":{"type":"string"}, - "NumberSetAttributeValue":{ - "type":"list", - "member":{"shape":"NumberAttributeValue"} - }, - "PointInTimeRecoveryDescription":{ - "type":"structure", - "members":{ - "PointInTimeRecoveryStatus":{ - "shape":"PointInTimeRecoveryStatus", - "documentation":"

The current state of point in time recovery:

  • ENABLING - Point in time recovery is being enabled.

  • ENABLED - Point in time recovery is enabled.

  • DISABLED - Point in time recovery is disabled.

" - }, - "EarliestRestorableDateTime":{ - "shape":"Date", - "documentation":"

Specifies the earliest point in time you can restore your table to. It You can restore your table to any point in time during the last 35 days.

" - }, - "LatestRestorableDateTime":{ - "shape":"Date", - "documentation":"

LatestRestorableDateTime is typically 5 minutes before the current time.

" - } - }, - "documentation":"

The description of the point in time settings applied to the table.

" - }, - "PointInTimeRecoverySpecification":{ - "type":"structure", - "required":["PointInTimeRecoveryEnabled"], - "members":{ - "PointInTimeRecoveryEnabled":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

" - } - }, - "documentation":"

Represents the settings used to enable point in time recovery.

" - }, - "PointInTimeRecoveryStatus":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "PointInTimeRecoveryUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Point in time recovery has not yet been enabled for this source table.

", - "exception":true - }, - "PositiveIntegerObject":{ - "type":"integer", - "min":1 - }, - "PositiveLongObject":{ - "type":"long", - "min":1 - }, - "Projection":{ - "type":"structure", - "members":{ - "ProjectionType":{ - "shape":"ProjectionType", - "documentation":"

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

  • ALL - All of the table attributes are projected into the index.

" - }, - "NonKeyAttributes":{ - "shape":"NonKeyAttributeNameList", - "documentation":"

Represents the non-key attribute names which will be projected into the index.

For local secondary indexes, the total count of NonKeyAttributes summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" - } - }, - "documentation":"

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" - }, - "ProjectionExpression":{"type":"string"}, - "ProjectionType":{ - "type":"string", - "enum":[ - "ALL", - "KEYS_ONLY", - "INCLUDE" - ] - }, - "ProvisionedThroughput":{ - "type":"structure", - "required":[ - "ReadCapacityUnits", - "WriteCapacityUnits" - ], - "members":{ - "ReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" - }, - "WriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - }, - "ProvisionedThroughputDescription":{ - "type":"structure", - "members":{ - "LastIncreaseDateTime":{ - "shape":"Date", - "documentation":"

The date and time of the last provisioned throughput increase for this table.

" - }, - "LastDecreaseDateTime":{ - "shape":"Date", - "documentation":"

The date and time of the last provisioned throughput decrease for this table.

" - }, - "NumberOfDecreasesToday":{ - "shape":"PositiveLongObject", - "documentation":"

The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

" - }, - "ReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits per second provides 100 eventually consistent ReadCapacityUnits per second.

" - }, - "WriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" - } - }, - "documentation":"

Represents the provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

" - }, - "ProvisionedThroughputExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

You exceeded your maximum allowed provisioned throughput.

" - } - }, - "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", - "exception":true - }, - "PutItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Item" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table to contain the item.

" - }, - "Item":{ - "shape":"PutItemInputAttributeMap", - "documentation":"

A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

Each element in the Item map is an AttributeValue object.

" - }, - "Expected":{ - "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" - }, - "ReturnValues":{ - "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ReturnItemCollectionMetrics":{ - "shape":"ReturnItemCollectionMetrics", - "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

" - }, - "ConditionalOperator":{ - "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" - }, - "ConditionExpression":{ - "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | 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", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeValues":{ - "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the input of a PutItem operation.

" - }, - "PutItemInputAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "PutItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeMap", - "documentation":"

The attribute values as they appeared before the PutItem operation, but only if ReturnValues is specified as ALL_OLD in the request. Each element consists of an attribute name and an attribute value.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - }, - "ItemCollectionMetrics":{ - "shape":"ItemCollectionMetrics", - "documentation":"

Information about item collections, if any, that were affected by the PutItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" - } - }, - "documentation":"

Represents the output of a PutItem operation.

" - }, - "PutRequest":{ - "type":"structure", - "required":["Item"], - "members":{ - "Item":{ - "shape":"PutItemInputAttributeMap", - "documentation":"

A map of attribute name to attribute values, representing the primary key of an item to be processed by PutItem. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.

" - } - }, - "documentation":"

Represents a request to perform a PutItem operation on an item.

" - }, - "QueryInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table containing the requested items.

" - }, - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the IndexName parameter, you must also provide TableName.

" - }, - "Select":{ - "shape":"Select", - "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.

  • ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

    If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

    If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error.

" - }, - "AttributesToGet":{ - "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" - }, - "ConsistentRead":{ - "shape":"ConsistentRead", - "documentation":"

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" - }, - "KeyConditions":{ - "shape":"KeyConditions", - "documentation":"

This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide.

" - }, - "QueryFilter":{ - "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see QueryFilter in the Amazon DynamoDB Developer Guide.

" - }, - "ConditionalOperator":{ - "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" - }, - "ScanIndexForward":{ - "shape":"BooleanObject", - "documentation":"

Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

" - }, - "ExclusiveStartKey":{ - "shape":"Key", - "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ProjectionExpression":{ - "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "FilterExpression":{ - "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" - }, - "KeyConditionExpression":{ - "shape":"KeyExpression", - "documentation":"

The condition that specifies the key value(s) for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value.

The condition can optionally perform one of several comparison tests on a single sort key value. This allows Query to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

  • sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval.

  • sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval.

  • sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval.

  • sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval.

  • sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval.

  • sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2.

  • begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive.

Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime.

You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word:

  • Size = :myval

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

  • #S = :myval

For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.

For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeValues":{ - "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the input of a Query operation.

" - }, - "QueryOutput":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"ItemList", - "documentation":"

An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.

" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of items in the response.

If you used a QueryFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count and ScannedCount are the same.

" - }, - "ScannedCount":{ - "shape":"Integer", - "documentation":"

The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" - }, - "LastEvaluatedKey":{ - "shape":"Key", - "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the output of a Query operation.

" - }, - "RegionName":{"type":"string"}, - "Replica":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The region where the replica needs to be created.

" - } - }, - "documentation":"

Represents the properties of a replica.

" - }, - "ReplicaAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified replica is already part of the global table.

", - "exception":true - }, - "ReplicaDescription":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The name of the region.

" - } - }, - "documentation":"

Contains the details of the replica.

" - }, - "ReplicaDescriptionList":{ - "type":"list", - "member":{"shape":"ReplicaDescription"} - }, - "ReplicaGlobalSecondaryIndexSettingsDescription":{ - "type":"structure", - "required":["IndexName"], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" - }, - "IndexStatus":{ - "shape":"IndexStatus", - "documentation":"

The current status of the global secondary index:

  • CREATING - The global secondary index is being created.

  • UPDATING - The global secondary index is being updated.

  • DELETING - The global secondary index is being deleted.

  • ACTIVE - The global secondary index is ready for use.

" - }, - "ProvisionedReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

" - }, - "ProvisionedReadCapacityAutoScalingSettings":{ - "shape":"AutoScalingSettingsDescription", - "documentation":"

Autoscaling settings for a global secondary index replica's read capacity units.

" - }, - "ProvisionedWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" - }, - "ProvisionedWriteCapacityAutoScalingSettings":{ - "shape":"AutoScalingSettingsDescription", - "documentation":"

AutoScaling settings for a global secondary index replica's write capacity units.

" - } - }, - "documentation":"

Represents the properties of a global secondary index.

" - }, - "ReplicaGlobalSecondaryIndexSettingsDescriptionList":{ - "type":"list", - "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsDescription"} - }, - "ReplicaGlobalSecondaryIndexSettingsUpdate":{ - "type":"structure", - "required":["IndexName"], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" - }, - "ProvisionedReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

" - }, - "ProvisionedReadCapacityAutoScalingSettingsUpdate":{ - "shape":"AutoScalingSettingsUpdate", - "documentation":"

Autoscaling settings for managing a global secondary index replica's read capacity units.

" - } - }, - "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" - }, - "ReplicaGlobalSecondaryIndexSettingsUpdateList":{ - "type":"list", - "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsUpdate"}, - "max":20, - "min":1 - }, - "ReplicaList":{ - "type":"list", - "member":{"shape":"Replica"} - }, - "ReplicaNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified replica is no longer part of the global table.

", - "exception":true - }, - "ReplicaSettingsDescription":{ - "type":"structure", - "required":["RegionName"], - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The region name of the replica.

" - }, - "ReplicaStatus":{ - "shape":"ReplicaStatus", - "documentation":"

The current state of the region:

  • CREATING - The region is being created.

  • UPDATING - The region is being updated.

  • DELETING - The region is being deleted.

  • ACTIVE - The region is ready for use.

" - }, - "ReplicaProvisionedReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" - }, - "ReplicaProvisionedReadCapacityAutoScalingSettings":{ - "shape":"AutoScalingSettingsDescription", - "documentation":"

Autoscaling settings for a global table replica's read capacity units.

" - }, - "ReplicaProvisionedWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" - }, - "ReplicaProvisionedWriteCapacityAutoScalingSettings":{ - "shape":"AutoScalingSettingsDescription", - "documentation":"

AutoScaling settings for a global table replica's write capacity units.

" - }, - "ReplicaGlobalSecondaryIndexSettings":{ - "shape":"ReplicaGlobalSecondaryIndexSettingsDescriptionList", - "documentation":"

Replica global secondary index settings for the global table.

" - } - }, - "documentation":"

Represents the properties of a replica.

" - }, - "ReplicaSettingsDescriptionList":{ - "type":"list", - "member":{"shape":"ReplicaSettingsDescription"} - }, - "ReplicaSettingsUpdate":{ - "type":"structure", - "required":["RegionName"], - "members":{ - "RegionName":{ - "shape":"RegionName", - "documentation":"

The region of the replica to be added.

" - }, - "ReplicaProvisionedReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" - }, - "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate":{ - "shape":"AutoScalingSettingsUpdate", - "documentation":"

Autoscaling settings for managing a global table replica's read capacity units.

" - }, - "ReplicaGlobalSecondaryIndexSettingsUpdate":{ - "shape":"ReplicaGlobalSecondaryIndexSettingsUpdateList", - "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" - } - }, - "documentation":"

Represents the settings for a global table in a region that will be modified.

" - }, - "ReplicaSettingsUpdateList":{ - "type":"list", - "member":{"shape":"ReplicaSettingsUpdate"}, - "max":50, - "min":1 - }, - "ReplicaStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "ACTIVE" - ] - }, - "ReplicaUpdate":{ - "type":"structure", - "members":{ - "Create":{ - "shape":"CreateReplicaAction", - "documentation":"

The parameters required for creating a replica on an existing global table.

" - }, - "Delete":{ - "shape":"DeleteReplicaAction", - "documentation":"

The name of the existing replica to be removed.

" - } - }, - "documentation":"

Represents one of the following:

  • A new replica to be added to an existing global table.

  • New parameters for an existing replica.

  • An existing replica to be removed from an existing global table.

" - }, - "ReplicaUpdateList":{ - "type":"list", - "member":{"shape":"ReplicaUpdate"} - }, - "ResourceArnString":{ - "type":"string", - "max":1283, - "min":1 - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The resource which is being attempted to be changed is in use.

" - } - }, - "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The resource which is being requested does not exist.

" - } - }, - "documentation":"

The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE.

", - "exception":true - }, - "RestoreInProgress":{"type":"boolean"}, - "RestoreSummary":{ - "type":"structure", - "required":[ - "RestoreDateTime", - "RestoreInProgress" - ], - "members":{ - "SourceBackupArn":{ - "shape":"BackupArn", - "documentation":"

ARN of the backup from which the table was restored.

" - }, - "SourceTableArn":{ - "shape":"TableArn", - "documentation":"

ARN of the source table of the backup that is being restored.

" - }, - "RestoreDateTime":{ - "shape":"Date", - "documentation":"

Point in time or source backup time.

" - }, - "RestoreInProgress":{ - "shape":"RestoreInProgress", - "documentation":"

Indicates if a restore is in progress or not.

" - } - }, - "documentation":"

Contains details for the restore.

" - }, - "RestoreTableFromBackupInput":{ - "type":"structure", - "required":[ - "TargetTableName", - "BackupArn" - ], - "members":{ - "TargetTableName":{ - "shape":"TableName", - "documentation":"

The name of the new table to which the backup must be restored.

" - }, - "BackupArn":{ - "shape":"BackupArn", - "documentation":"

The ARN associated with the backup.

" - } - } - }, - "RestoreTableFromBackupOutput":{ - "type":"structure", - "members":{ - "TableDescription":{ - "shape":"TableDescription", - "documentation":"

The description of the table created from an existing backup.

" - } - } - }, - "RestoreTableToPointInTimeInput":{ - "type":"structure", - "required":[ - "SourceTableName", - "TargetTableName" - ], - "members":{ - "SourceTableName":{ - "shape":"TableName", - "documentation":"

Name of the source table that is being restored.

" - }, - "TargetTableName":{ - "shape":"TableName", - "documentation":"

The name of the new table to which it must be restored to.

" - }, - "UseLatestRestorableTime":{ - "shape":"BooleanObject", - "documentation":"

Restore the table to the latest possible time. LatestRestorableDateTime is typically 5 minutes before the current time.

" - }, - "RestoreDateTime":{ - "shape":"Date", - "documentation":"

Time in the past to restore the table to.

" - } - } - }, - "RestoreTableToPointInTimeOutput":{ - "type":"structure", - "members":{ - "TableDescription":{ - "shape":"TableDescription", - "documentation":"

Represents the properties of a table.

" - } - } - }, - "ReturnConsumedCapacity":{ - "type":"string", - "documentation":"

Determines the level of detail about provisioned throughput consumption that is returned in the response:

  • INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

    Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

  • TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

  • NONE - No ConsumedCapacity details are included in the response.

", - "enum":[ - "INDEXES", - "TOTAL", - "NONE" - ] - }, - "ReturnItemCollectionMetrics":{ - "type":"string", - "enum":[ - "SIZE", - "NONE" - ] - }, - "ReturnValue":{ - "type":"string", - "enum":[ - "NONE", - "ALL_OLD", - "UPDATED_OLD", - "ALL_NEW", - "UPDATED_NEW" - ] - }, - "SSEDescription":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SSEStatus", - "documentation":"

The current state of server-side encryption:

  • ENABLING - Server-side encryption is being enabled.

  • ENABLED - Server-side encryption is enabled.

  • DISABLING - Server-side encryption is being disabled.

  • DISABLED - Server-side encryption is disabled.

  • UPDATING - Server-side encryption is being updated.

" - }, - "SSEType":{ - "shape":"SSEType", - "documentation":"

Server-side encryption type:

  • AES256 - Server-side encryption which uses the AES256 algorithm.

  • KMS - Server-side encryption which uses AWS Key Management Service.

" - }, - "KMSMasterKeyArn":{ - "shape":"KMSMasterKeyArn", - "documentation":"

The KMS master key ARN used for the KMS encryption.

" - } - }, - "documentation":"

The description of the server-side encryption status on the specified table.

" - }, - "SSEEnabled":{"type":"boolean"}, - "SSESpecification":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"SSEEnabled", - "documentation":"

Indicates whether server-side encryption is enabled (true) or disabled (false) on the table.

" - }, - "SSEType":{ - "shape":"SSEType", - "documentation":"

Server-side encryption type:

  • AES256 - Server-side encryption which uses the AES256 algorithm.

  • KMS - Server-side encryption which uses AWS Key Management Service. (default)

" - }, - "KMSMasterKeyId":{ - "shape":"KMSMasterKeyId", - "documentation":"

The KMS Master Key (CMK) which should be used for the KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS Master Key alias/aws/dynamodb.

" - } - }, - "documentation":"

Represents the settings used to enable server-side encryption.

" - }, - "SSEStatus":{ - "type":"string", - "enum":[ - "ENABLING", - "ENABLED", - "DISABLING", - "DISABLED", - "UPDATING" - ] - }, - "SSEType":{ - "type":"string", - "enum":[ - "AES256", - "KMS" - ] - }, - "ScalarAttributeType":{ - "type":"string", - "enum":[ - "S", - "N", - "B" - ] - }, - "ScanInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table containing the requested items; or, if you provide IndexName, the name of the table to which that index belongs.

" - }, - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of a secondary index to scan. This index can be any local secondary index or global secondary index. Note that if you use the IndexName parameter, you must also provide TableName.

" - }, - "AttributesToGet":{ - "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" - }, - "Select":{ - "shape":"Select", - "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.

  • ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

    If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

    If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error.

" - }, - "ScanFilter":{ - "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ScanFilter in the Amazon DynamoDB Developer Guide.

" - }, - "ConditionalOperator":{ - "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" - }, - "ExclusiveStartKey":{ - "shape":"Key", - "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "TotalSegments":{ - "shape":"ScanTotalSegments", - "documentation":"

For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 1000000. If you specify a TotalSegments value of 1, the Scan operation will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

" - }, - "Segment":{ - "shape":"ScanSegment", - "documentation":"

For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a Segment value of 0, the second thread specifies 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you provide Segment, you must also provide TotalSegments.

" - }, - "ProjectionExpression":{ - "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "FilterExpression":{ - "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeValues":{ - "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" - }, - "ConsistentRead":{ - "shape":"ConsistentRead", - "documentation":"

A Boolean value that determines the read consistency model during the scan:

  • If ConsistentRead is false, then the data returned from Scan might not contain the results from other recently completed write operations (PutItem, UpdateItem or DeleteItem).

  • If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response.

The default setting for ConsistentRead is false.

The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" - } - }, - "documentation":"

Represents the input of a Scan operation.

" - }, - "ScanOutput":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"ItemList", - "documentation":"

An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of items in the response.

If you set ScanFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count is the same as ScannedCount.

" - }, - "ScannedCount":{ - "shape":"Integer", - "documentation":"

The number of items evaluated, before any ScanFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" - }, - "LastEvaluatedKey":{ - "shape":"Key", - "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the output of a Scan operation.

" - }, - "ScanSegment":{ - "type":"integer", - "max":999999, - "min":0 - }, - "ScanTotalSegments":{ - "type":"integer", - "max":1000000, - "min":1 - }, - "SecondaryIndexesCapacityMap":{ - "type":"map", - "key":{"shape":"IndexName"}, - "value":{"shape":"Capacity"} - }, - "Select":{ - "type":"string", - "enum":[ - "ALL_ATTRIBUTES", - "ALL_PROJECTED_ATTRIBUTES", - "SPECIFIC_ATTRIBUTES", - "COUNT" - ] - }, - "SourceTableDetails":{ - "type":"structure", - "required":[ - "TableName", - "TableId", - "KeySchema", - "TableCreationDateTime", - "ProvisionedThroughput" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table for which the backup was created.

" - }, - "TableId":{ - "shape":"TableId", - "documentation":"

Unique identifier for the table for which the backup was created.

" - }, - "TableArn":{ - "shape":"TableArn", - "documentation":"

ARN of the table for which backup was created.

" - }, - "TableSizeBytes":{ - "shape":"Long", - "documentation":"

Size of the table in bytes. Please note this is an approximate value.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

Schema of the table.

" - }, - "TableCreationDateTime":{ - "shape":"TableCreationDateTime", - "documentation":"

Time when the source table was created.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Read IOPs and Write IOPS on the table when the backup was created.

" - }, - "ItemCount":{ - "shape":"ItemCount", - "documentation":"

Number of items in the table. Please note this is an approximate value.

" - } - }, - "documentation":"

Contains the details of the table when the backup was created.

" - }, - "SourceTableFeatureDetails":{ - "type":"structure", - "members":{ - "LocalSecondaryIndexes":{ - "shape":"LocalSecondaryIndexes", - "documentation":"

Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

" - }, - "GlobalSecondaryIndexes":{ - "shape":"GlobalSecondaryIndexes", - "documentation":"

Represents the GSI properties for the table when the backup was created. It includes the IndexName, KeySchema, Projection and ProvisionedThroughput for the GSIs on the table at the time of backup.

" - }, - "StreamDescription":{ - "shape":"StreamSpecification", - "documentation":"

Stream settings on the table when the backup was created.

" - }, - "TimeToLiveDescription":{ - "shape":"TimeToLiveDescription", - "documentation":"

Time to Live settings on the table when the backup was created.

" - }, - "SSEDescription":{ - "shape":"SSEDescription", - "documentation":"

The description of the server-side encryption status on the table when the backup was created.

" - } - }, - "documentation":"

Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

" - }, - "StreamArn":{ - "type":"string", - "max":1024, - "min":37 - }, - "StreamEnabled":{"type":"boolean"}, - "StreamSpecification":{ - "type":"structure", - "members":{ - "StreamEnabled":{ - "shape":"StreamEnabled", - "documentation":"

Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

" - }, - "StreamViewType":{ - "shape":"StreamViewType", - "documentation":"

When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

  • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

  • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

  • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

  • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" - } - }, - "documentation":"

Represents the DynamoDB Streams configuration for a table in DynamoDB.

" - }, - "StreamViewType":{ - "type":"string", - "enum":[ - "NEW_IMAGE", - "OLD_IMAGE", - "NEW_AND_OLD_IMAGES", - "KEYS_ONLY" - ] - }, - "String":{"type":"string"}, - "StringAttributeValue":{"type":"string"}, - "StringSetAttributeValue":{ - "type":"list", - "member":{"shape":"StringAttributeValue"} - }, - "TableAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A target table with the specified name already exists.

", - "exception":true - }, - "TableArn":{"type":"string"}, - "TableCreationDateTime":{"type":"timestamp"}, - "TableDescription":{ - "type":"structure", - "members":{ - "AttributeDefinitions":{ - "shape":"AttributeDefinitions", - "documentation":"

An array of AttributeDefinition objects. Each of these objects describes one attribute in the table and index key schema.

Each AttributeDefinition object in this array is composed of:

  • AttributeName - The name of the attribute.

  • AttributeType - The data type for the attribute.

" - }, - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The primary key structure for the table. Each KeySchemaElement consists of:

  • AttributeName - The name of the attribute.

  • KeyType - The role of the attribute:

    • HASH - partition key

    • RANGE - sort key

    The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

    The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

" - }, - "TableStatus":{ - "shape":"TableStatus", - "documentation":"

The current state of the table:

  • CREATING - The table is being created.

  • UPDATING - The table is being updated.

  • DELETING - The table is being deleted.

  • ACTIVE - The table is ready for use.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the table was created, in UNIX epoch time format.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughputDescription", - "documentation":"

The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

" - }, - "TableSizeBytes":{ - "shape":"Long", - "documentation":"

The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "ItemCount":{ - "shape":"Long", - "documentation":"

The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "TableArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the table.

" - }, - "TableId":{ - "shape":"TableId", - "documentation":"

Unique identifier for the table for which the backup was created.

" - }, - "LocalSecondaryIndexes":{ - "shape":"LocalSecondaryIndexDescriptionList", - "documentation":"

Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:

  • IndexName - The name of the local secondary index.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • ItemCount - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

If the table is in the DELETING state, no information about indexes will be returned.

" - }, - "GlobalSecondaryIndexes":{ - "shape":"GlobalSecondaryIndexDescriptionList", - "documentation":"

The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:

  • Backfilling - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a CreateTable operation.)

  • IndexName - The name of the global secondary index.

  • IndexSizeBytes - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • IndexStatus - The current status of the global secondary index:

    • CREATING - The index is being created.

    • UPDATING - The index is being updated.

    • DELETING - The index is being deleted.

    • ACTIVE - The index is ready for use.

  • ItemCount - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.

If the table is in the DELETING state, no information about indexes will be returned.

" - }, - "StreamSpecification":{ - "shape":"StreamSpecification", - "documentation":"

The current DynamoDB Streams configuration for the table.

" - }, - "LatestStreamLabel":{ - "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name.

  • the StreamLabel.

" - }, - "LatestStreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

" - }, - "RestoreSummary":{ - "shape":"RestoreSummary", - "documentation":"

Contains details for the restore.

" - }, - "SSEDescription":{ - "shape":"SSEDescription", - "documentation":"

The description of the server-side encryption status on the specified table.

" - } - }, - "documentation":"

Represents the properties of a table.

" - }, - "TableId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "TableInUseException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A target table with the specified name is either being created or deleted.

", - "exception":true - }, - "TableName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "TableNameList":{ - "type":"list", - "member":{"shape":"TableName"} - }, - "TableNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A source table with the name TableName does not currently exist within the subscriber's account.

", - "exception":true - }, - "TableStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "ACTIVE" - ] - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKeyString", - "documentation":"

The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

" - }, - "Value":{ - "shape":"TagValueString", - "documentation":"

The value of the tag. Tag values are case-sensitive and can be null.

" - } - }, - "documentation":"

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKeyString"} - }, - "TagKeyString":{ - "type":"string", - "max":128, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceInput":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArnString", - "documentation":"

Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the Amazon DynamoDB resource.

" - } - } - }, - "TagValueString":{ - "type":"string", - "max":256, - "min":0 - }, - "TimeRangeLowerBound":{"type":"timestamp"}, - "TimeRangeUpperBound":{"type":"timestamp"}, - "TimeToLiveAttributeName":{ - "type":"string", - "max":255, - "min":1 - }, - "TimeToLiveDescription":{ - "type":"structure", - "members":{ - "TimeToLiveStatus":{ - "shape":"TimeToLiveStatus", - "documentation":"

The 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":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArnString", - "documentation":"

The Amazon DyanamoDB resource the tags will be removed from. This value is an Amazon Resource Name (ARN).

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the Amazon DynamoDB resource.

" - } - } - }, - "UpdateContinuousBackupsInput":{ - "type":"structure", - "required":[ - "TableName", - "PointInTimeRecoverySpecification" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table.

" - }, - "PointInTimeRecoverySpecification":{ - "shape":"PointInTimeRecoverySpecification", - "documentation":"

Represents the settings used to enable point in time recovery.

" - } - } - }, - "UpdateContinuousBackupsOutput":{ - "type":"structure", - "members":{ - "ContinuousBackupsDescription":{ - "shape":"ContinuousBackupsDescription", - "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" - } - } - }, - "UpdateExpression":{"type":"string"}, - "UpdateGlobalSecondaryIndexAction":{ - "type":"structure", - "required":[ - "IndexName", - "ProvisionedThroughput" - ], - "members":{ - "IndexName":{ - "shape":"IndexName", - "documentation":"

The name of the global secondary index to be updated.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the new provisioned throughput settings to be applied to a global secondary index.

" - }, - "UpdateGlobalTableInput":{ - "type":"structure", - "required":[ - "GlobalTableName", - "ReplicaUpdates" - ], - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The global table name.

" - }, - "ReplicaUpdates":{ - "shape":"ReplicaUpdateList", - "documentation":"

A list of regions that should be added or removed from the global table.

" - } - } - }, - "UpdateGlobalTableOutput":{ - "type":"structure", - "members":{ - "GlobalTableDescription":{ - "shape":"GlobalTableDescription", - "documentation":"

Contains the details of the global table.

" - } - } - }, - "UpdateGlobalTableSettingsInput":{ - "type":"structure", - "required":["GlobalTableName"], - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The name of the global table

" - }, - "GlobalTableProvisionedWriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" - }, - "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate":{ - "shape":"AutoScalingSettingsUpdate", - "documentation":"

AutoScaling settings for managing provisioned write capacity for the global table.

" - }, - "GlobalTableGlobalSecondaryIndexSettingsUpdate":{ - "shape":"GlobalTableGlobalSecondaryIndexSettingsUpdateList", - "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" - }, - "ReplicaSettingsUpdate":{ - "shape":"ReplicaSettingsUpdateList", - "documentation":"

Represents the settings for a global table in a region that will be modified.

" - } - } - }, - "UpdateGlobalTableSettingsOutput":{ - "type":"structure", - "members":{ - "GlobalTableName":{ - "shape":"TableName", - "documentation":"

The name of the global table.

" - }, - "ReplicaSettings":{ - "shape":"ReplicaSettingsDescriptionList", - "documentation":"

The region specific settings for the global table.

" - } - } - }, - "UpdateItemInput":{ - "type":"structure", - "required":[ - "TableName", - "Key" - ], - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table containing the item to update.

" - }, - "Key":{ - "shape":"Key", - "documentation":"

The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" - }, - "AttributeUpdates":{ - "shape":"AttributeUpdates", - "documentation":"

This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.

" - }, - "Expected":{ - "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" - }, - "ConditionalOperator":{ - "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" - }, - "ReturnValues":{ - "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appear before or after they are updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.

  • UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.

  • ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.

  • UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.

The values returned are strongly consistent.

" - }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "ReturnItemCollectionMetrics":{ - "shape":"ReturnItemCollectionMetrics", - "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

" - }, - "UpdateExpression":{ - "shape":"UpdateExpression", - "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

The following action values are available for UpdateExpression.

  • SET - Adds one or more attributes and values to an item. If any of these attribute already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val

    SET supports the following functions:

    • if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.

    • list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.

    These function names are case-sensitive.

  • REMOVE - Removes one or more attributes from an item.

  • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings.

    The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes.

  • DELETE - Deletes an element from a set.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specifies [a,c], then the final attribute value is [b]. Specifying an empty set is an error.

    The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes.

You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "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.

" - }, - "ExpressionAttributeNames":{ - "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" - }, - "ExpressionAttributeValues":{ - "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" - } - }, - "documentation":"

Represents the input of an UpdateItem operation.

" - }, - "UpdateItemOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeMap", - "documentation":"

A map of attribute values as they appear before or after the UpdateItem operation, as determined by the ReturnValues parameter.

The Attributes map is only present if ReturnValues was specified as something other than NONE in the request. Each element represents one attribute.

" - }, - "ConsumedCapacity":{ - "shape":"ConsumedCapacity", - "documentation":"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" - }, - "ItemCollectionMetrics":{ - "shape":"ItemCollectionMetrics", - "documentation":"

Information about item collections, if any, that were affected by the UpdateItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" - } - }, - "documentation":"

Represents the output of an UpdateItem operation.

" - }, - "UpdateTableInput":{ - "type":"structure", - "required":["TableName"], - "members":{ - "AttributeDefinitions":{ - "shape":"AttributeDefinitions", - "documentation":"

An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

" - }, - "TableName":{ - "shape":"TableName", - "documentation":"

The name of the table to be updated.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughput", - "documentation":"

The new provisioned throughput settings for the specified table or index.

" - }, - "GlobalSecondaryIndexUpdates":{ - "shape":"GlobalSecondaryIndexUpdateList", - "documentation":"

An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

  • Create - add a new global secondary index to the table.

  • Update - modify the provisioned throughput settings of an existing global secondary index.

  • Delete - remove a global secondary index from the table.

For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

" - }, - "StreamSpecification":{ - "shape":"StreamSpecification", - "documentation":"

Represents the DynamoDB Streams configuration for the table.

You will receive a ResourceInUseException if you attempt to enable a stream on a table that already has a stream, or if you attempt to disable a stream on a table which does not have a stream.

" - }, - "SSESpecification":{ - "shape":"SSESpecification", - "documentation":"

The new server-side encryption settings for the specified table.

" - } - }, - "documentation":"

Represents the input of an UpdateTable operation.

" - }, - "UpdateTableOutput":{ - "type":"structure", - "members":{ - "TableDescription":{ - "shape":"TableDescription", - "documentation":"

Represents the properties of the table.

" - } - }, - "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":{ - "PutRequest":{ - "shape":"PutRequest", - "documentation":"

A request to perform a PutItem operation.

" - }, - "DeleteRequest":{ - "shape":"DeleteRequest", - "documentation":"

A request to perform a DeleteItem operation.

" - } - }, - "documentation":"

Represents an operation to perform - either DeleteItem or PutItem. You can only request one of these operations, not both, in a single WriteRequest. If you do need to perform both of these operations, you will need to provide two separate WriteRequest objects.

" - }, - "WriteRequests":{ - "type":"list", - "member":{"shape":"WriteRequest"}, - "max":25, - "min":1 - } - }, - "documentation":"Amazon DynamoDB

Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.

With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the AWS Management Console to monitor resource utilization and performance metrics.

DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an AWS region, providing built-in high availability and data durability.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/waiters-2.json deleted file mode 100644 index 43a55ca7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodb/2012-08-10/waiters-2.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "version": 2, - "waiters": { - "TableExists": { - "delay": 20, - "operation": "DescribeTable", - "maxAttempts": 25, - "acceptors": [ - { - "expected": "ACTIVE", - "matcher": "path", - "state": "success", - "argument": "Table.TableStatus" - }, - { - "expected": "ResourceNotFoundException", - "matcher": "error", - "state": "retry" - } - ] - }, - "TableNotExists": { - "delay": 20, - "operation": "DescribeTable", - "maxAttempts": 25, - "acceptors": [ - { - "expected": "ResourceNotFoundException", - "matcher": "error", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/examples-1.json deleted file mode 100644 index 8287e2c4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/examples-1.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/service-2.json deleted file mode 100644 index c8112d65..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/dynamodbstreams/2012-08-10/service-2.json +++ /dev/null @@ -1,638 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-08-10", - "endpointPrefix":"streams.dynamodb", - "jsonVersion":"1.0", - "protocol":"json", - "serviceFullName":"Amazon DynamoDB Streams", - "serviceId":"DynamoDB Streams", - "signatureVersion":"v4", - "signingName":"dynamodb", - "targetPrefix":"DynamoDBStreams_20120810", - "uid":"streams-dynamodb-2012-08-10" - }, - "operations":{ - "DescribeStream":{ - "name":"DescribeStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStreamInput"}, - "output":{"shape":"DescribeStreamOutput"}, - "errors":[ - {"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.

" - }, - "GetRecords":{ - "name":"GetRecords", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRecordsInput"}, - "output":{"shape":"GetRecordsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"}, - {"shape":"ExpiredIteratorException"}, - {"shape":"TrimmedDataAccessException"} - ], - "documentation":"

Retrieves the stream records from a given shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading stream records sequentially. If there are no stream records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. Note that it might take multiple calls to get to a portion of the shard that contains stream records.

GetRecords can retrieve a maximum of 1 MB of data or 1000 stream records, whichever comes first.

" - }, - "GetShardIterator":{ - "name":"GetShardIterator", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetShardIteratorInput"}, - "output":{"shape":"GetShardIteratorOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerError"}, - {"shape":"TrimmedDataAccessException"} - ], - "documentation":"

Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from within a shard. Use the shard iterator in a subsequent GetRecords request to read the stream records from the shard.

A shard iterator expires 15 minutes after it is returned to the requester.

" - }, - "ListStreams":{ - "name":"ListStreams", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStreamsInput"}, - "output":{"shape":"ListStreamsOutput"}, - "errors":[ - {"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.

" - } - }, - "shapes":{ - "AttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "AttributeName":{ - "type":"string", - "max":65535 - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "S":{ - "shape":"StringAttributeValue", - "documentation":"

A String data type.

" - }, - "N":{ - "shape":"NumberAttributeValue", - "documentation":"

A Number data type.

" - }, - "B":{ - "shape":"BinaryAttributeValue", - "documentation":"

A Binary data type.

" - }, - "SS":{ - "shape":"StringSetAttributeValue", - "documentation":"

A String Set data type.

" - }, - "NS":{ - "shape":"NumberSetAttributeValue", - "documentation":"

A Number Set data type.

" - }, - "BS":{ - "shape":"BinarySetAttributeValue", - "documentation":"

A Binary Set data type.

" - }, - "M":{ - "shape":"MapAttributeValue", - "documentation":"

A Map data type.

" - }, - "L":{ - "shape":"ListAttributeValue", - "documentation":"

A List data type.

" - }, - "NULL":{ - "shape":"NullAttributeValue", - "documentation":"

A Null data type.

" - }, - "BOOL":{ - "shape":"BooleanAttributeValue", - "documentation":"

A Boolean data type.

" - } - }, - "documentation":"

Represents the data for an attribute. You can set one, and only one, of the elements.

Each attribute in an item is a name-value pair. An attribute can be single-valued or multi-valued set. For example, a book item can have title and authors attributes. Each book has one title but can have many authors. The multi-valued attribute is a set; duplicate values are not allowed.

" - }, - "BinaryAttributeValue":{"type":"blob"}, - "BinarySetAttributeValue":{ - "type":"list", - "member":{"shape":"BinaryAttributeValue"} - }, - "BooleanAttributeValue":{"type":"boolean"}, - "Date":{"type":"timestamp"}, - "DescribeStreamInput":{ - "type":"structure", - "required":["StreamArn"], - "members":{ - "StreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) for the stream.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of shard objects to return. The upper limit is 100.

" - }, - "ExclusiveStartShardId":{ - "shape":"ShardId", - "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.

" - }, - "DescribeStreamOutput":{ - "type":"structure", - "members":{ - "StreamDescription":{ - "shape":"StreamDescription", - "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.

" - }, - "ErrorMessage":{"type":"string"}, - "ExpiredIteratorException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "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.

", - "exception":true - }, - "GetRecordsInput":{ - "type":"structure", - "required":["ShardIterator"], - "members":{ - "ShardIterator":{ - "shape":"ShardIterator", - "documentation":"

A shard iterator that was retrieved from a previous GetShardIterator operation. This iterator can be used to access the stream records in this shard.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of records to return from the shard. The upper limit is 1000.

" - } - }, - "documentation":"

Represents the input of a GetRecords operation.

" - }, - "GetRecordsOutput":{ - "type":"structure", - "members":{ - "Records":{ - "shape":"RecordList", - "documentation":"

The stream records from the shard, which were retrieved using the shard iterator.

" - }, - "NextShardIterator":{ - "shape":"ShardIterator", - "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.

" - }, - "GetShardIteratorInput":{ - "type":"structure", - "required":[ - "StreamArn", - "ShardId", - "ShardIteratorType" - ], - "members":{ - "StreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) for the stream.

" - }, - "ShardId":{ - "shape":"ShardId", - "documentation":"

The identifier of the shard. The iterator will be returned for this shard ID.

" - }, - "ShardIteratorType":{ - "shape":"ShardIteratorType", - "documentation":"

Determines how the shard iterator is used to start reading stream records from the shard:

  • AT_SEQUENCE_NUMBER - Start reading exactly from the position denoted by a specific sequence number.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number.

  • TRIM_HORIZON - Start reading at the last (untrimmed) stream record, which is the oldest record in the 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.

  • LATEST - Start reading just after the most recent stream record in the shard, so that you always read the most recent data in the shard.

" - }, - "SequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The sequence number of a stream record in the shard from which to start reading.

" - } - }, - "documentation":"

Represents the input of a GetShardIterator operation.

" - }, - "GetShardIteratorOutput":{ - "type":"structure", - "members":{ - "ShardIterator":{ - "shape":"ShardIterator", - "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.

" - }, - "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", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The server encountered an internal error trying to fulfill the request.

" - } - }, - "documentation":"

An error occurred on the server side.

", - "exception":true, - "fault":true - }, - "KeySchema":{ - "type":"list", - "member":{"shape":"KeySchemaElement"}, - "max":2, - "min":1 - }, - "KeySchemaAttributeName":{ - "type":"string", - "max":255, - "min":1 - }, - "KeySchemaElement":{ - "type":"structure", - "required":[ - "AttributeName", - "KeyType" - ], - "members":{ - "AttributeName":{ - "shape":"KeySchemaAttributeName", - "documentation":"

The name of a key attribute.

" - }, - "KeyType":{ - "shape":"KeyType", - "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.

" - }, - "KeyType":{ - "type":"string", - "enum":[ - "HASH", - "RANGE" - ] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Too many operations for a given subscriber.

" - } - }, - "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", - "exception":true - }, - "ListAttributeValue":{ - "type":"list", - "member":{"shape":"AttributeValue"} - }, - "ListStreamsInput":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"TableName", - "documentation":"

If this parameter is provided, then only the streams associated with this table name are returned.

" - }, - "Limit":{ - "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of streams to return. The upper limit is 100.

" - }, - "ExclusiveStartStreamArn":{ - "shape":"StreamArn", - "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.

" - }, - "ListStreamsOutput":{ - "type":"structure", - "members":{ - "Streams":{ - "shape":"StreamList", - "documentation":"

A list of stream descriptors associated with the current account and endpoint.

" - }, - "LastEvaluatedStreamArn":{ - "shape":"StreamArn", - "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.

" - }, - "MapAttributeValue":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "NullAttributeValue":{"type":"boolean"}, - "NumberAttributeValue":{"type":"string"}, - "NumberSetAttributeValue":{ - "type":"list", - "member":{"shape":"NumberAttributeValue"} - }, - "OperationType":{ - "type":"string", - "enum":[ - "INSERT", - "MODIFY", - "REMOVE" - ] - }, - "PositiveIntegerObject":{ - "type":"integer", - "min":1 - }, - "PositiveLongObject":{ - "type":"long", - "min":1 - }, - "Record":{ - "type":"structure", - "members":{ - "eventID":{ - "shape":"String", - "documentation":"

A globally unique identifier for the event that was recorded in this stream record.

" - }, - "eventName":{ - "shape":"OperationType", - "documentation":"

The type of data modification that was performed on the DynamoDB table:

  • INSERT - a new item was added to the table.

  • MODIFY - one or more of an existing item's attributes were modified.

  • REMOVE - the item was deleted from the table

" - }, - "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.

" - }, - "eventSource":{ - "shape":"String", - "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.

" - }, - "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.

" - }, - "RecordList":{ - "type":"list", - "member":{"shape":"Record"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The resource which is being requested does not exist.

" - } - }, - "documentation":"

The operation tried to access a nonexistent stream.

", - "exception":true - }, - "SequenceNumber":{ - "type":"string", - "max":40, - "min":21 - }, - "SequenceNumberRange":{ - "type":"structure", - "members":{ - "StartingSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The first sequence number.

" - }, - "EndingSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The last sequence number.

" - } - }, - "documentation":"

The beginning and ending sequence numbers for the stream records contained within a shard.

" - }, - "Shard":{ - "type":"structure", - "members":{ - "ShardId":{ - "shape":"ShardId", - "documentation":"

The system-generated identifier for this shard.

" - }, - "SequenceNumberRange":{ - "shape":"SequenceNumberRange", - "documentation":"

The range of possible sequence numbers for the shard.

" - }, - "ParentShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the current shard's parent.

" - } - }, - "documentation":"

A uniquely identified group of stream records within a stream.

" - }, - "ShardDescriptionList":{ - "type":"list", - "member":{"shape":"Shard"} - }, - "ShardId":{ - "type":"string", - "max":65, - "min":28 - }, - "ShardIterator":{ - "type":"string", - "max":2048, - "min":1 - }, - "ShardIteratorType":{ - "type":"string", - "enum":[ - "TRIM_HORIZON", - "LATEST", - "AT_SEQUENCE_NUMBER", - "AFTER_SEQUENCE_NUMBER" - ] - }, - "Stream":{ - "type":"structure", - "members":{ - "StreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) for the stream.

" - }, - "TableName":{ - "shape":"TableName", - "documentation":"

The DynamoDB table with which the stream is associated.

" - }, - "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":"

Represents all of the data describing a particular stream.

" - }, - "StreamArn":{ - "type":"string", - "max":1024, - "min":37 - }, - "StreamDescription":{ - "type":"structure", - "members":{ - "StreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) for the stream.

" - }, - "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

" - }, - "StreamStatus":{ - "shape":"StreamStatus", - "documentation":"

Indicates the current status of the stream:

  • ENABLING - Streams is currently being enabled on the DynamoDB table.

  • ENABLED - the stream is enabled.

  • DISABLING - Streams is currently being disabled on the DynamoDB table.

  • DISABLED - the stream is disabled.

" - }, - "StreamViewType":{ - "shape":"StreamViewType", - "documentation":"

Indicates the format of the records within this stream:

  • KEYS_ONLY - only the key attributes of items that were modified in the DynamoDB table.

  • NEW_IMAGE - entire items from the table, as they appeared after they were modified.

  • OLD_IMAGE - entire items from the table, as they appeared before they were modified.

  • NEW_AND_OLD_IMAGES - both the new and the old images of the items from the table.

" - }, - "CreationRequestDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the request to create this stream was issued.

" - }, - "TableName":{ - "shape":"TableName", - "documentation":"

The DynamoDB table with which the stream is associated.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The key attribute(s) of the stream's DynamoDB table.

" - }, - "Shards":{ - "shape":"ShardDescriptionList", - "documentation":"

The shards that comprise the stream.

" - }, - "LastEvaluatedShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID 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 LastEvaluatedShardId is empty, then the \"last page\" of results has been processed and there is currently no more data to be retrieved.

If LastEvaluatedShardId 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 LastEvaluatedShardId is empty.

" - } - }, - "documentation":"

Represents all of the data describing a particular stream.

" - }, - "StreamList":{ - "type":"list", - "member":{"shape":"Stream"} - }, - "StreamRecord":{ - "type":"structure", - "members":{ - "ApproximateCreationDateTime":{ - "shape":"Date", - "documentation":"

The approximate date and time when the stream record was created, in UNIX epoch time format.

" - }, - "Keys":{ - "shape":"AttributeMap", - "documentation":"

The primary key attribute(s) for the DynamoDB item that was modified.

" - }, - "NewImage":{ - "shape":"AttributeMap", - "documentation":"

The item in the DynamoDB table as it appeared after it was modified.

" - }, - "OldImage":{ - "shape":"AttributeMap", - "documentation":"

The item in the DynamoDB table as it appeared before it was modified.

" - }, - "SequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The sequence number of the stream record.

" - }, - "SizeBytes":{ - "shape":"PositiveLongObject", - "documentation":"

The size of the stream record, in bytes.

" - }, - "StreamViewType":{ - "shape":"StreamViewType", - "documentation":"

The type of data from the modified DynamoDB item that was captured in this stream record:

  • KEYS_ONLY - only the key attributes of the modified item.

  • NEW_IMAGE - the entire item, as it appeared after it was modified.

  • OLD_IMAGE - the entire item, as it appeared before it was modified.

  • NEW_AND_OLD_IMAGES - both the new and the old item images of the item.

" - } - }, - "documentation":"

A description of a single data modification that was performed on an item in a DynamoDB table.

" - }, - "StreamStatus":{ - "type":"string", - "enum":[ - "ENABLING", - "ENABLED", - "DISABLING", - "DISABLED" - ] - }, - "StreamViewType":{ - "type":"string", - "enum":[ - "NEW_IMAGE", - "OLD_IMAGE", - "NEW_AND_OLD_IMAGES", - "KEYS_ONLY" - ] - }, - "String":{"type":"string"}, - "StringAttributeValue":{"type":"string"}, - "StringSetAttributeValue":{ - "type":"list", - "member":{"shape":"StringAttributeValue"} - }, - "TableName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "TrimmedDataAccessException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "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.

", - "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.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/paginators-1.json deleted file mode 100644 index b643e696..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/paginators-1.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/service-2.json deleted file mode 100644 index 7c92d3a6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/service-2.json +++ /dev/null @@ -1,11699 +0,0 @@ -{ - "metadata":{ - "apiVersion":"2014-09-01", - "endpointPrefix":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2014-09-01", - "protocol":"ec2" - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

", - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Attaches an Amazon EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an Amazon EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can only be attached as the root device of a stopped instance.
  • You must be subscribed to the AWS Marketplace code that is on the volume.
  • The configuration (instance type, operating system) of the instance must support that specific AWS Marketplace code. For example, you cannot take a volume from a Windows instance and attach it to a Linux instance.
  • AWS Marketplace product codes are copied from the volume to the instance.

For an overview of the AWS Marketplace, see https://aws.amazon.com/marketplace/help/200900000. For more information about how to use the AWS Marketplace, see AWS Marketplace.

For more information about Amazon EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC.

You can have up to 50 rules per security group (covering both ingress and egress rules).

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot Instance requests. Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information about Spot Instances, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the region in which the request was made. You specify the destination region by using its endpoint when making the request. AMIs that use encrypted Amazon EBS snapshots cannot be copied with this method.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an Amazon EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create Amazon EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted Amazon EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can't be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.
  • 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). If specifying more than one domain name, separate them with spaces.
  • 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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting EC2 Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{ - "shape":"KeyPair", - "documentation":"

Information about the key pair.

", - "locationName":"keyPair" - }, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a Seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 100 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{ - "shape":"Snapshot", - "locationName":"snapshot" - }, - "documentation":"

Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of Amazon EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a datafeed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{ - "shape":"Volume", - "locationName":"volume" - }, - "documentation":"

Creates an Amazon EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the specified region.

You can create a new empty volume or restore a volume from an Amazon 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.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an Amazon EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the datafeed for Spot Instances. For more information, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified Amazon EBS volume. The volume must be in the available state (not attached to an instance).

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes the specified attribute of your AWS account.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{ - "shape":"ImageAttribute", - "documentation":"

Information about the image attribute.

", - "locationName":"imageAttribute" - }, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances, including any scheduled events.

Instance status has two main components:

  • System Status reports impaired functionality that stems from issues related to the systems that support an instance, such as such as hardware failures and network connectivity problems. This call reports such problems as impaired reachability.

  • Instance Status reports impaired functionality that arises from problems internal to the instance. This call reports such problems as impaired reachability.

Instance status provides information about four types of scheduled events for an instance that may require your attention:

  • Scheduled Reboot: When Amazon EC2 determines that an instance must be rebooted, the instances status returns one of two event codes: system-reboot or instance-reboot. System reboot commonly occurs if certain maintenance or upgrade operations require a reboot of the underlying host that supports an instance. Instance reboot commonly occurs if the instance must be rebooted, rather than the underlying host. Rebooting events include a scheduled start and end time.

  • System Maintenance: When Amazon EC2 determines that an instance requires maintenance that requires power or network impact, the instance status is the event code system-maintenance. System maintenance is either power maintenance or network maintenance. For power maintenance, your instance will be unavailable for a brief period of time and then rebooted. For network maintenance, your instance will experience a brief loss of network connectivity. System maintenance events include a scheduled start and end time. You will also be notified by email if one of your instances is set for system maintenance. The email message indicates when your instance is scheduled for maintenance.

  • Scheduled Retirement: When Amazon EC2 determines that an instance must be shut down, the instance status is the event code instance-retirement. Retirement commonly occurs when the underlying host is degraded and must be replaced. Retirement events include a scheduled start and end time. You will also be notified by email if one of your instances is set to retiring. The email message indicates when your instance will be permanently retired.

  • Scheduled Stop: When Amazon EC2 determines that an instance must be shut down, the instances status returns an event code called instance-stop. Stop events include a scheduled start and end time. You will also be notified by email if one of your instances is set to stop. The email message indicates when your instance will be stopped.

When your instance is retired, it will either be terminated (if its root device type is the instance-store) or stopped (if its root device type is an EBS volume). Instances stopped due to retirement will not be restarted, but you can do so manually. You can also avoid retirement of EBS-backed instances by manually restarting your instance when its event code is instance-retirement. This ensures that your instance is started on a different underlying host.

For more information about failed status checks, see Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide. For more information about working with scheduled events, see Working with an Instance That Has a Scheduled Event in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the Amazon EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.
  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.
  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the datafeed for Spot Instances. For more information, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot Instance requests that belong to your account. Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information about Spot Instances, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot Price history. Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information about Spot Instances, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

When you specify an Availability Zone, this operation describes the price history for the specified Availability Zone with the most recent set of prices listed first. If you don't specify an Availability Zone, you get the prices across all Availability Zones, starting with the most recent set. However, if you're using an API version earlier than 2011-05-15, you get the lowest price across the region for the specified time period. The prices returned are listed in chronological order, from the oldest to the most recent.

When you specify the start and end time options, this operation returns two pieces of data: the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified Amazon 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 Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Detaches an Amazon EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so results in the volume being stuck in a busy state while detaching.

If an Amazon EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

If the root volume is detached from an instance with an AWS Marketplace product code, then the AWS Marketplace product codes from that volume are no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux/Unix instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a machine. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output displays the last three system event log errors.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the EC2 command line tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the Amazon EC2 command-line interface (CLI) tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Amazon EC2 Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time. You pay a lower usage rate than with On-Demand instances for the time that you actually use the capacity reservation.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If a Linux/Unix instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

You can also use RegisterImage to create an Amazon EBS-backed 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.

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot Instance request. Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information about Spot Instances, see Spot Instances in the Amazon Elastic Compute Cloud User Guide.

Users must be subscribed to the required product to run an instance with AWS Marketplace product codes.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped.

The SourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

Removes one or more egress rules from a security group for EC2-VPC. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{ - "shape":"Reservation", - "documentation":"

One or more reservations.

", - "locationName":"reservation" - }, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide.

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.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

T2 instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot Instances.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all Amazon EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - } - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - } - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] Allows an Elastic IP address that is already associated with an instance or network interface to be re-associated with the specified instance or network interface. Otherwise, the operation fails.

Default: false

", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - } - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "locationName":"value" - } - } - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "locationName":"value" - } - } - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "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.

" - } - } - }, - "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 (available | impaired | unavailable).

", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":["available"] - }, - "BlockDeviceMapping":{ - "type":"structure", - "members":{ - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeral[0..3]). 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).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Storage" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to bundle.

" - }, - "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.

" - } - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "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 for this bundle task.

", - "locationName":"bundleId" - }, - "State":{ - "shape":"BundleTaskState", - "documentation":"

The state of the task.

", - "locationName":"state" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

The bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot Instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot Instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot Instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - } - } - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{ - "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.

" - }, - "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.

" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 Amazon EBS snapshot to copy.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new Amazon EBS snapshot.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region of the snapshot copy operation. This parameter is required in the PresignedUrl.

", - "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 Amazon 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" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" - }, - "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

" - } - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "documentation":"

A DHCP configuration option.

", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new image.

", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "documentation":"

By default, this parameter is set to false, which means Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. When the parameter is set to true, 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" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "locationName":"exportToS3" - } - } - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "locationName":"exportTask" - } - } - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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

", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instances listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table for the route.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket in which to store the Spot Instance datafeed.

Constraints: Must be a valid bucket associated with your AWS account.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the datafeed file names.

", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance datafeed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the subnet.

Default: Amazon EC2 selects one for you (recommended).

" - } - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - } - }, - "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" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: If the volume type is io1, the minimum size of the volume is 10 GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "SnapshotId":{ - "shape":"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) volumes, io1 for Provisioned IOPS (SSD) volumes, 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.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the volume should be encrypted.

", - "locationName":"encrypted" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The supported tenancy options for instances launched into the VPC. A value of default means that instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC are launched as dedicated tenancy instances regardless of the tenancy assigned to the instance at launch. Dedicated tenancy instances run on single-tenant hardware.

Default: default

", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" - } - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set.

" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - } - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - } - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "documentation":"

One or more account attribute names.

", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "DescribeConversionTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a 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.

  • 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" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"ImageAttributeName", - "documentation":"

The AMI attribute.

" - } - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, amazon (owner is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the sender of the request), or all (all owners).

", - "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 Amazon EBS volume (for example, /dev/sdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (gp2 | standard | io1).

  • description - The description of the image (provided during image creation).

  • 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 - The AWS account alias (for example, amazon).

  • 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.

  • 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" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 identifying the type of 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: 2010-09-15T17:15:20.000Z.

  • event.not-before - The earliest start time for the scheduled event, for example: 2010-09-15T17:15:20.000Z.

  • instance-state-code - A code representing 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-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" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The next paginated set of results to return. (You received this token from a prior call.)

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of paginated instance items per response. The call also returns a token that you can specify in a subsequent call to get the next set of results. If the value is greater than 1000, we return only 1000 items.

Default: 1000

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The next paginated set of results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • 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 Amazon 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 Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the Amazon EBS volume (for example, /dev/sdh).

  • block-device-mapping.status - The status for the Amazon EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the Amazon 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. If the instance is in EC2-Classic or a default VPC, you can use group-name instead.

  • group-name - The name of the security group for the instance. If the instance is in a nondefault VPC, you must use group-id instead.

  • 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 (spot).

  • 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, m1.small).

  • instance.group-id - The ID of the security group for the instance. If the instance is in EC2-Classic or a default VPC, you can use instance.group-name instead.

  • instance.group-name - The name of the security group for the instance. If the instance is in a nondefault VPC, you must use instance.group-id instead.

  • ip-address - The public IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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).

  • 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, where tag:key is the tag's key.

  • 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).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface-private-dns-name - The private DNS name of the network interface.

  • network-interface.source-destination-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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "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. If the value is greater than 1000, we return only 1000 items.

", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

One or more reservations.

", - "locationName":"reservationSet" - }, - "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" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "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.

  • 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" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • 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.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "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" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next page of data.

", - "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" - } - } - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "documentation":"

The Reserved Instance modification information.

", - "locationName":"reservedInstancesModificationsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next page of data.

", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "documentation":"

One or more Reserved Instances offering IDs.

", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used. 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 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 on which the Reserved Instance can be used.

  • 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 AWS and Reserved Instance Marketplace are listed.

  • product-description - The description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (Amazon VPC)).

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • 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 Reserved Instance offering. A Reserved Instance with dedicated tenancy runs on single-tenant hardware and can only be launched within a VPC.

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 use when requesting the next paginated set of offerings.

", - "locationName":"nextToken" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of offerings to return. The maximum is 100.

Default: 100

", - "locationName":"maxResults" - }, - "IncludeMarketplace":{ - "shape":"Boolean", - "documentation":"

Include Marketplace offerings in the response.

" - }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The next paginated set of results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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, 2014-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type on which the Reserved Instance can be used.

  • product-description - The product description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (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 (pending-payment | active | payment-failed | retired).

  • 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.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "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.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The CIDR range specified in a route in the 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.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.

  • 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" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "documentation":"

[EC2-Classic, default VPC] One or more security group names. You can specify either the security group name or the security group ID.

Default: Describes all your security groups.

", - "locationName":"GroupName" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "documentation":"

One or more security group IDs. Required for nondefault VPCs.

Default: Describes all your security groups.

", - "locationName":"GroupId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • description - The description of the security group.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - A CIDR range that has been granted permission.

  • 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.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" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "documentation":"

A list of permissions for creating volumes from the snapshot.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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 - The AWS account alias (for example, amazon) that owns the snapshot.

  • 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.

  • 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" - } - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance datafeed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "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 | standard | io1).

  • 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, m1.small).

  • 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 information, see Tracking Spot Requests with Bid Status Codes 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.

  • 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" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The start date and time of the Spot Price history data.

", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The end date and time of the Spot Price history data.

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

One or more instance types.

", - "locationName":"InstanceType" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "documentation":"

One or more 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, m1.small).

  • 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 (for example, 2010-08-16T05:06:11.000Z). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The number of rows to return.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The next set of rows to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "documentation":"

The historical Spot Prices.

", - "locationName":"spotPriceHistorySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string marking the next set of results. This is empty if there are no more results.

", - "locationName":"nextToken" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "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. If the value is greater than 1000, we return only 1000 items.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", - "locationName":"nextToken" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagDescriptionList", - "documentation":"

A list of tags.

", - "locationName":"tagSet" - }, - "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" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 next paginated set of results to return using the pagination token returned by a previous call.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of paginated volume items per response.

" - } - } - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "documentation":"

A list of volumes.

", - "locationName":"volumeStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The next paginated set of results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

", - "locationName":"Filter" - }, - "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.

", - "locationName":"maxResults" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 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.

  • 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.

  • 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" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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.

  • 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" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the attachment.

", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - }, - "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.

" - } - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID representing the current association between the route table and subnet.

", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the disk image.

", - "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.

", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "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.

", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume.

", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "documentation":"

The volume identifier.

", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Constraints: If the volume type is io1, the minimum size of the volume is 10 GiB; otherwise, the minimum size is 1 GiB. The maximum volume size is 1024 GiB. 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 Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

Default: standard

", - "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 to 4000 for Provisioned IOPS (SSD) volumes and 3 to 3072 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "locationName":"encrypted" - } - }, - "documentation":"

Describes an Amazon EBS block device.

" - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "Status":{ - "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 volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an Amazon EBS volume in a block device mapping.

" - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "documentation":"

The instance being exported.

", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - }, - "documentation":"

Describes an export task.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACL permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values.

", - "locationName":"Value" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "Float":{"type":"float"}, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - } - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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.

", - "locationName":"output" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the Windows instance.

" - } - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping" - ] - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "available", - "deregistered" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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", - "locationName":"GroupId" - }, - "AdditionalInfo":{ - "shape":"String", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"String", - "documentation":"

User data to be made available to the instance.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "locationName":"subnetId" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] Optionally, you can use this parameter to assign the instance a specific available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the instance being imported.

", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "documentation":"

", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - } - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. You must base64 encode the public key material before sending it to AWS.

", - "locationName":"publicKeyMaterial" - } - } - }, - "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" - } - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "Volume" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the resulting Amazon EBS volume.

", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "documentation":"

An optional description for the volume being imported.

", - "locationName":"description" - }, - "Volume":{ - "shape":"VolumeDetail", - "locationName":"volume" - } - } - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name assigned to the instance. This name is not available until the instance enters the running state.

", - "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.

", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with this instance.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address assigned to the instance.

", - "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 Amazon EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The root device name (for example, /dev/sda1).

", - "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" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "documentation":"

Indicates whether this is a Spot Instance.

", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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.

", - "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" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The Base64-encoded MIME 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).

", - "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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up Amazon 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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "documentation":"

The states of the listed Reserved Instances.

", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

he number of listed Reserved Instances in the state specified by the state.

", - "locationName":"instanceCount" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":["spot"] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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 luanching into a default subnet, the default value is true.

", - "locationName":"associatePublicIpAddress" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Extra information regarding events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The associated code of the event.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

", - "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" - } - }, - "documentation":"

Describes an instance event.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "t2.micro", - "t2.small", - "t2.medium", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "cg1.4xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The protocol.

When you call DescribeSecurityGroups, the protocol value returned is the number. Exception: For TCP, UDP, and ICMP, the value returned is the name (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol Numbers.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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. If requesting a Spot Instance in a nondefault VPC, you must specify the security group ID. If requesting a Spot Instance in EC2-Classic or a default VPC, you can specify either the security group name or ID.

", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "documentation":"

Deprecated.

", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

Default: m1.small

", - "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.

", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the Spot Instance.

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification of a Spot Instance.

" - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "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" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the attribute being modified. This is only valid when modifying the description attribute.

" - }, - "LaunchPermission":{ - "shape":"LaunchPermissionModifications", - "documentation":"

" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

" - } - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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 intanceInitiateShutdownBehavior 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.

", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value.

", - "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.

For example, if you want the instance to be in sg-1a1a1a1a and sg-9b9b9b9b, specify GroupId.1=sg-1a1a1a1a and GroupId.2=sg-9b9b9b9b.

", - "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 for the instance.

There is no way to disable enhanced networking at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request.

", - "locationName":"clientToken" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "documentation":"

The IDs of the Reserved Instances to modify.

", - "locationName":"ReservedInstancesId" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "documentation":"

The type of operation to perform to the attribute.

" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

The account ID to modify for the snapshot.

", - "locationName":"UserId" - }, - "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.

" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{"shape":"AttributeBooleanValue"} - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - }, - "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 can only enable DNS hostnames if you also enable DNS support.

" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "enabled", - "pending" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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.

", - "locationName":"tenancy" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of instances available for the price.

", - "locationName":"count" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The name of the root device (for example, /dev/sda1, or 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 for the AMI and any instances that you launch from the AMI.

There is no way to disable enhanced networking 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" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID of the current association between the original network ACL and the subnet.

", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "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" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price for any Spot Instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot Instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

Information about the Spot Instance request.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "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" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved 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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you created the listing.

", - "locationName":"clientToken" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the modification request is idempotent.

", - "locationName":"clientToken" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "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.

" - } - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - }, - "Origin":{ - "shape":"RouteOrigin", - "documentation":"

Describes how the route was created.

  • CreateRouteTable indicates that 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.
", - "locationName":"origin" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 General FAQ.

" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you launch an instance without specifying a key pair, you can't connect to the instance.

" - }, - "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 Base64-encoded MIME user data for the instances.

" - }, - "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.

", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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 in the Amazon Elastic Compute Cloud User Guide.

Constraints: Maximum 64 ASCII characters

", - "locationName":"clientToken" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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 Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", - "locationName":"ebsOptimized" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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":"

A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the Base64 encoded JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the S3 bucket for an instance store-backed AMI.

" - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "documentation":"

The progress of the snapshot, as a percentage.

", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the Amazon EBS snapshot owner.

", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the snapshot.

", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the snapshot.

", - "locationName":"tagSet" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the snapshot is encrypted.

", - "locationName":"encrypted" - } - }, - "documentation":"

Describes a snapshot.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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 datafeed is located.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to datafeed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot Instance datafeed subscription.

", - "locationName":"state" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "documentation":"

The fault codes for the Spot Instance request, if any.

", - "locationName":"fault" - } - }, - "documentation":"

Describes the datafeed for a Spot Instance.

" - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price for any 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 information, see Tracking Spot Requests with Bid Status Codes 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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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 time stamp when the Spot Instance request was created.

", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The product description associated with the Spot Instance.

", - "locationName":"productDescription" - }, - "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":"

Describe a Spot Instance request.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot Instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot Instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code of the request.

", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The time of the most recent status update.

", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the status code for the Spot request.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot Instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price you will pay to launch one or more Spot Instances.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created.

", - "locationName":"timestamp" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - } - }, - "documentation":"

Describes the Spot Price.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - } - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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 volume limit was exceeded.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated" - ] - }, - "TerminateInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - } - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The ID of an AWS account.

", - "locationName":"userId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The ID of the security group owned by the specified AWS account.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The name of the security group in the specified AWS account.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group and AWS account ID pair for EC2-Classic.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 to 4000 for Provisioned IOPS (SSD) volumes and 3 to 3072 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is encrypted.

", - "locationName":"encrypted" - } - }, - "documentation":"

Describes a volume.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an Amazon EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2" - ] - }, - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the peer VPC.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created.

", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "documentation":"

Any VPCs attached to the virtual private gateway.

", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "locationName":"userData" - }, - "AddressingType":{ - "shape":"String", - "documentation":"

Deprecated.

", - "locationName":"addressingType" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

Default: m1.small

", - "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.

", - "locationName":"blockDeviceMapping" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the Spot Instance.

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification of a Spot Instance.

" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/waiters-2.json deleted file mode 100644 index fb8c16bd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-09-01/waiters-2.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "version": 2, - "waiters": { - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/paginators-1.json deleted file mode 100644 index ca7a8767..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/paginators-1.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/service-2.json deleted file mode 100644 index 3bf12bd9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/service-2.json +++ /dev/null @@ -1,12085 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-10-01", - "endpointPrefix":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2014-10-01", - "protocol":"ec2" - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

", - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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 for Linux.

[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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Attaches an Amazon EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide for Linux.

For a list of supported device names, see Attaching an Amazon EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide for Linux.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.
  • AWS Marketplace product codes are copied from the volume to the instance.
  • You must be subscribed to the product.
  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about Amazon EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "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.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC.

You can have up to 50 rules per security group (covering both ingress and egress rules).

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot Instance requests. Spot Instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request. AMIs that use encrypted Amazon EBS snapshots cannot be copied with this method.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an Amazon EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create Amazon EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted Amazon EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted.

Copying snapshots that were encrypted with non-default AWS Key Management Service (KMS) master keys is not supported at this time.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can't be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.
  • 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). 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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting EC2 Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{ - "shape":"KeyPair", - "documentation":"

Information about the key pair.

", - "locationName":"keyPair" - }, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a Seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 100 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{ - "shape":"Snapshot", - "locationName":"snapshot" - }, - "documentation":"

Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of Amazon EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{ - "shape":"Volume", - "locationName":"volume" - }, - "documentation":"

Creates an Amazon 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 Amazon 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 Linux.

For more information, see Creating or Restoring an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an Amazon EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified Amazon EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{ - "shape":"ImageAttribute", - "documentation":"

Information about the image attribute.

", - "locationName":"imageAttribute" - }, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances, including any scheduled events.

Instance status has two main components:

  • System Status reports impaired functionality that stems from issues related to the systems that support an instance, such as such as hardware failures and network connectivity problems. This call reports such problems as impaired reachability.

  • Instance Status reports impaired functionality that arises from problems internal to the instance. This call reports such problems as impaired reachability.

Instance status provides information about four types of scheduled events for an instance that may require your attention:

  • Scheduled Reboot: When Amazon EC2 determines that an instance must be rebooted, the instances status returns one of two event codes: system-reboot or instance-reboot. System reboot commonly occurs if certain maintenance or upgrade operations require a reboot of the underlying host that supports an instance. Instance reboot commonly occurs if the instance must be rebooted, rather than the underlying host. Rebooting events include a scheduled start and end time.

  • System Maintenance: When Amazon EC2 determines that an instance requires maintenance that requires power or network impact, the instance status is the event code system-maintenance. System maintenance is either power maintenance or network maintenance. For power maintenance, your instance will be unavailable for a brief period of time and then rebooted. For network maintenance, your instance will experience a brief loss of network connectivity. System maintenance events include a scheduled start and end time. You will also be notified by email if one of your instances is set for system maintenance. The email message indicates when your instance is scheduled for maintenance.

  • Scheduled Retirement: When Amazon EC2 determines that an instance must be shut down, the instance status is the event code instance-retirement. Retirement commonly occurs when the underlying host is degraded and must be replaced. Retirement events include a scheduled start and end time. You will also be notified by email if one of your instances is set to retiring. The email message indicates when your instance will be permanently retired.

  • Scheduled Stop: When Amazon EC2 determines that an instance must be shut down, the instances status returns an event code called instance-stop. Stop events include a scheduled start and end time. You will also be notified by email if one of your instances is set to stop. The email message indicates when your instance will be stopped.

When your instance is retired, it will either be terminated (if its root device type is the instance-store) or stopped (if its root device type is an EBS volume). Instances stopped due to retirement will not be restarted, but you can do so manually. You can also avoid retirement of EBS-backed instances by manually restarting your instance when its event code is instance-retirement. This ensures that your instance is started on a different underlying host.

For more information about failed status checks, see Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about working with scheduled events, see Working with an Instance That Has a Scheduled Event in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the Amazon EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.
  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.
  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot Instance requests that belong to your account. Spot Instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot Price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide for Linux.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified Amazon 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 Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Detaches an Amazon EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so results in the volume being stuck in a busy state while detaching.

If an Amazon EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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 for Linux.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the EC2 command line tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the Amazon EC2 command-line interface (CLI) tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

Snapshots with AWS Marketplace product codes cannot be made public.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Amazon EC2 Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time. You pay a lower usage rate than with On-Demand instances for the time that you actually use the capacity reservation.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If a Linux/Unix instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

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 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 for Linux.

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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot Instance request. Spot Instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped.

The SourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

Removes one or more egress rules from a security group for EC2-VPC. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{ - "shape":"Reservation", - "documentation":"

One or more reservations.

", - "locationName":"reservation" - }, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux.

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 Linux.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide for Linux.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

T2 instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot Instances.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide for Linux.

For more information about troubleshooting, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all Amazon EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide for Linux.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - } - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - } - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] Allows an Elastic IP address that is already associated with an instance or network interface to be re-associated with the specified instance or network interface. Otherwise, the operation fails.

Default: false

", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - } - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

The value to use when a resource attribute accepts a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

Valid values are case-sensitive and vary by action.

", - "locationName":"value" - } - }, - "documentation":"

The value to use for a resource attribute.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) 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. Can be used to specify multiple rules in a single command.

" - } - } - }, - "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 (available | impaired | unavailable).

", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":["available"] - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Storage" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

" - }, - "Storage":{ - "shape":"Storage", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

" - } - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

The bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot Instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot Instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot Instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - } - } - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{ - "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.

" - }, - "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 for Linux.

" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 Amazon EBS snapshot to copy.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new Amazon EBS snapshot.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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 Amazon 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" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" - }, - "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

" - } - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "documentation":"

A DHCP configuration option.

", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new image.

", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "documentation":"

By default, this parameter is set to false, which means Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. When the parameter is set to true, 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" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "locationName":"exportToS3" - } - } - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "locationName":"exportTask" - } - } - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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

", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide for Linux.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instances listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table for the route.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket in which to store the Spot Instance data feed.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the subnet.

Default: Amazon EC2 selects one for you (recommended).

" - } - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - } - }, - "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" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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.

" - }, - "SnapshotId":{ - "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) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes

" - }, - "Encrypted":{ - "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 for Linux.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (KMS) master key to use when creating the encrypted volume. This parameter is only required if you want to use a non-default master key; if this parameter is not specified, the default master key is used. The ARN contains the arn:aws:kms namespace, followed by the region of the master key, the AWS account ID of the master key owner, the key namespace, and then the master key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The supported tenancy options for instances launched into the VPC. A value of default means that instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC are launched as dedicated tenancy instances regardless of the tenancy assigned to the instance at launch. Dedicated tenancy instances run on single-tenant hardware.

Default: default

", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" - } - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set.

" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - } - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - } - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "documentation":"

One or more account attribute names.

", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "DescribeConversionTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a 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.

  • 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" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, amazon (owner is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the sender of the request). 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 Amazon EBS volume (for example, /dev/sdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (gp2 | standard | io1).

  • description - The description of the image (provided during image creation).

  • 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 - The AWS account alias (for example, amazon).

  • 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.

  • 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" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 identifying the type of 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: 2010-09-15T17:15:20.000Z.

  • event.not-before - The earliest start time for the scheduled event, for example: 2010-09-15T17:15:20.000Z.

  • instance-state-code - A code representing 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-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" - }, - "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 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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • 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 Amazon 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 Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the Amazon EBS volume (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the Amazon EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the Amazon 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.

  • 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 (spot).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface-private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request 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.

", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

One or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "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.

  • 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" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • 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.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "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" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - } - }, - "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" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "documentation":"

One or more Reserved Instances offering IDs.

", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the Reserved Instance can be used.

" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance 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 on which the Reserved Instance can be used.

  • 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 AWS and Reserved Instance Marketplace are listed.

  • product-description - The description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (Amazon VPC)).

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • 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 Reserved Instance offering. A Reserved Instance with dedicated tenancy runs on single-tenant hardware and can only be launched within a VPC.

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 Marketplace offerings in the response.

" - }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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, 2014-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type on which the Reserved Instance can be used.

  • product-description - The product description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (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 (pending-payment | active | payment-failed | retired).

  • 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.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "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.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The CIDR range specified in a route in the 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.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.

  • 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" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "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.

  • description - The description of the security group.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - A CIDR range that has been granted permission.

  • 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.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" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "documentation":"

A list of permissions for creating volumes from the snapshot.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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 - The AWS account alias (for example, amazon) that owns the snapshot.

  • 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.

  • 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" - }, - "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.

" - } - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "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 | standard | io1).

  • 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, m1.small).

  • 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 for Linux.

  • 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.

  • 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" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The date and time, up to the current date, from which to stop retrieving the price history data.

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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, m1.small).

  • 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 (for example, 2010-08-16T05:06:11.000Z). 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 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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "documentation":"

The historical Spot Prices.

", - "locationName":"spotPriceHistorySet" - }, - "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" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "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" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "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" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "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.

  • 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" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 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.

  • 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.

  • 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" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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.

  • 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" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the attachment.

", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - }, - "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.

" - } - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID representing the current association between the route table and subnet.

", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the disk image.

", - "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.

", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "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.

", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume.

", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "documentation":"

The volume identifier.

", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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 Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

Default: standard

", - "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 for Linux.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "locationName":"encrypted" - } - }, - "documentation":"

Describes an Amazon EBS block device.

" - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "Status":{ - "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 volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an Amazon EBS volume in a block device mapping.

" - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "documentation":"

The instance being exported.

", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - }, - "documentation":"

Describes an export task.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "Float":{"type":"float"}, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - } - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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.

", - "locationName":"output" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the Windows instance.

" - } - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping" - ] - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "available", - "deregistered" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "documentation":"

User data to be made available to the instance.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. This is not supported for VMs imported into a VPC, which are assigned the default security group. After a VM is imported into a VPC, you can specify another security group using the AWS Management Console. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about the Linux instance types you can import, see Before You Get Started in the Amazon Elastic Compute Cloud User Guide for Linux.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "locationName":"subnetId" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] Optionally, you can use this parameter to assign the instance a specific available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the instance being imported.

", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "documentation":"

", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - } - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. You must base64 encode the public key material before sending it to AWS.

", - "locationName":"publicKeyMaterial" - } - } - }, - "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" - } - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "Volume" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the resulting Amazon EBS volume.

", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "documentation":"

An optional description for the volume being imported.

", - "locationName":"description" - }, - "Volume":{ - "shape":"VolumeDetail", - "locationName":"volume" - } - } - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name assigned to the instance. This name is not available until the instance enters the running state.

", - "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.

", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with this instance.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address assigned to the instance.

", - "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 Amazon 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" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "documentation":"

Indicates whether this is a Spot Instance.

", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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.

", - "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" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The Base64-encoded MIME 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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up Amazon 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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "documentation":"

The states of the listed Reserved Instances.

", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

he number of listed Reserved Instances in the state specified by the state.

", - "locationName":"instanceCount" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":["spot"] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Extra information regarding events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The associated code of the event.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

", - "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" - } - }, - "documentation":"

Describes an instance event.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "t2.micro", - "t2.small", - "t2.medium", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "cg1.4xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The protocol.

When you call DescribeSecurityGroups, the protocol value returned is the number. Exception: For TCP, UDP, and ICMP, the value returned is the name (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol Numbers. (VPC only) When you call AuthorizeSecurityGroupIngress, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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. To request an instance in a nondefault VPC, you must specify the ID of the security group. To request an instance in EC2-Classic or a default VPC, you can specify the name or the ID of the security group.

", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "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" - }, - "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.

" - } - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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 intanceInitiateShutdownBehavior 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 for Linux.

", - "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.

", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value.

", - "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 for the instance.

There is no way to disable enhanced networking at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "documentation":"

The type of operation to perform to the attribute.

" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

The account ID to modify for the snapshot.

", - "locationName":"UserId" - }, - "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.

" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - }, - "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 can only enable DNS hostnames if you also enable DNS support.

" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "enabled", - "pending" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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.

", - "locationName":"tenancy" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of instances available for the price.

", - "locationName":"count" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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 for the AMI and any instances that you launch from the AMI.

There is no way to disable enhanced networking 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" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID of the current association between the original network ACL and the subnet.

", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "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" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot Instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot Instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "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" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved 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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "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.

" - } - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - }, - "Origin":{ - "shape":"RouteOrigin", - "documentation":"

Describes how the route was created.

  • CreateRouteTable indicates that 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.
", - "locationName":"origin" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 General FAQ.

" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you launch an instance without specifying a key pair, you can't connect to the instance.

" - }, - "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 Base64-encoded MIME user data for the instances.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux.

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 for Linux.

" - }, - "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 for Linux.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "documentation":"

The block device mapping.

", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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 Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", - "locationName":"ebsOptimized" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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":"

A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the Base64 encoded JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "documentation":"

The progress of the snapshot, as a percentage.

", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the Amazon EBS snapshot owner.

", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the snapshot.

", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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 (KMS) master key that was used to protect the volume encryption key for the parent volume.

", - "locationName":"kmsKeyId" - } - }, - "documentation":"

Describes a snapshot.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot Instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "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.

", - "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 for Linux.

", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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 time stamp when the Spot Instance request was created.

", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The product description associated with the Spot Instance.

", - "locationName":"productDescription" - }, - "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":"

Describe a Spot Instance request.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot Instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot Instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code.

", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The time of the most recent status update.

", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the status code.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a Spot Instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot Instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot Instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created.

", - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - } - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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 volume limit was exceeded.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated" - ] - }, - "TerminateInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - } - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The ID of an AWS account. EC2-Classic only.

", - "locationName":"userId" - }, - "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 GroupId.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group and AWS account ID pair.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 for Linux.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 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 (KMS) master key that was used to protect the volume encryption key for the volume.

", - "locationName":"kmsKeyId" - } - }, - "documentation":"

Describes a volume.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an Amazon EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2" - ] - }, - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the peer VPC.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created.

", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "documentation":"

Any VPCs attached to the virtual private gateway.

", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/waiters-2.json deleted file mode 100644 index 17f08705..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2014-10-01/waiters-2.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "version": 2, - "waiters": { - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/paginators-1.json deleted file mode 100644 index ca7a8767..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/paginators-1.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/service-2.json deleted file mode 100644 index 88cf1402..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/service-2.json +++ /dev/null @@ -1,12707 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-03-01", - "endpointPrefix":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-03-01", - "protocol":"ec2" - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

", - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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 for Linux.

[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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Attaches an Amazon EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide for Linux.

For a list of supported device names, see Attaching an Amazon EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide for Linux.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.
  • AWS Marketplace product codes are copied from the volume to the instance.
  • You must be subscribed to the product.
  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about Amazon EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "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.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC.

You can have up to 50 rules per security group (covering both ingress and egress rules).

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot Instance requests. Spot Instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request. AMIs that use encrypted Amazon EBS snapshots cannot be copied with this method.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an Amazon EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create Amazon EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted Amazon EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted.

Copying snapshots that were encrypted with non-default AWS Key Management Service (KMS) master keys is not supported at this time.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can't be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.
  • 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). 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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an Amazon S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting EC2 Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{ - "shape":"KeyPair", - "documentation":"

Information about the key pair.

", - "locationName":"keyPair" - }, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a Seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 100 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{ - "shape":"Snapshot", - "locationName":"snapshot" - }, - "documentation":"

Creates a snapshot of an Amazon EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of Amazon EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for Amazon EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{ - "shape":"Volume", - "locationName":"volume" - }, - "documentation":"

Creates an Amazon 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 Amazon 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 Linux.

For more information, see Creating or Restoring an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an Amazon EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified Amazon EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{ - "shape":"ImageAttribute", - "documentation":"

Information about the image attribute.

", - "locationName":"imageAttribute" - }, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Displays details about an import snapshot tasks that is already created.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances, including any scheduled events.

Instance status has two main components:

  • System Status reports impaired functionality that stems from issues related to the systems that support an instance, such as such as hardware failures and network connectivity problems. This call reports such problems as impaired reachability.

  • Instance Status reports impaired functionality that arises from problems internal to the instance. This call reports such problems as impaired reachability.

Instance status provides information about four types of scheduled events for an instance that may require your attention:

  • Scheduled Reboot: When Amazon EC2 determines that an instance must be rebooted, the instances status returns one of two event codes: system-reboot or instance-reboot. System reboot commonly occurs if certain maintenance or upgrade operations require a reboot of the underlying host that supports an instance. Instance reboot commonly occurs if the instance must be rebooted, rather than the underlying host. Rebooting events include a scheduled start and end time.

  • System Maintenance: When Amazon EC2 determines that an instance requires maintenance that requires power or network impact, the instance status is the event code system-maintenance. System maintenance is either power maintenance or network maintenance. For power maintenance, your instance will be unavailable for a brief period of time and then rebooted. For network maintenance, your instance will experience a brief loss of network connectivity. System maintenance events include a scheduled start and end time. You will also be notified by email if one of your instances is set for system maintenance. The email message indicates when your instance is scheduled for maintenance.

  • Scheduled Retirement: When Amazon EC2 determines that an instance must be shut down, the instance status is the event code instance-retirement. Retirement commonly occurs when the underlying host is degraded and must be replaced. Retirement events include a scheduled start and end time. You will also be notified by email if one of your instances is set to retiring. The email message indicates when your instance will be permanently retired.

  • Scheduled Stop: When Amazon EC2 determines that an instance must be shut down, the instances status returns an event code called instance-stop. Stop events include a scheduled start and end time. You will also be notified by email if one of your instances is set to stop. The email message indicates when your instance will be stopped.

When your instance is retired, it will either be terminated (if its root device type is the instance-store) or stopped (if its root device type is an EBS volume). Instances stopped due to retirement will not be restarted, but you can do so manually. You can also avoid retirement of EBS-backed instances by manually restarting your instance when its event code is instance-retirement. This ensures that your instance is started on a different underlying host.

For more information about failed status checks, see Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about working with scheduled events, see Working with an Instance That Has a Scheduled Event in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the Amazon EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.
  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.
  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about Amazon EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot Instance requests that belong to your account. Spot Instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot Price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide for Linux.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified Amazon 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 Amazon EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "locationName":"attachment" - }, - "documentation":"

Detaches an Amazon EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so results in the volume being stuck in a busy state while detaching.

If an Amazon EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide for Linux.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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 for Linux.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or Amazon EBS snapshots into an Amazon Machine Image (AMI).

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. After importing the image, you then upload it using the ec2-import-volume command in the EC2 command line tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Import a disk into an Amazon Elastic Block Store (Amazon EBS) snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the Amazon EC2 command-line interface (CLI) tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

Snapshots with AWS Marketplace product codes cannot be made public.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Amazon EC2 Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time. You pay a lower usage rate than with On-Demand instances for the time that you actually use the capacity reservation.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If a Linux/Unix instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide for Linux.

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 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 for Linux.

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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot Instance request. Spot Instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price based on available Spot Instance capacity and current Spot Instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped.

The SourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

Removes one or more egress rules from a security group for EC2-VPC. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{ - "shape":"Reservation", - "documentation":"

One or more reservations.

", - "locationName":"reservation" - }, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide for Linux.

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 Linux.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide for Linux.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

T2 instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot Instances.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide for Linux.

For more information about troubleshooting, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all Amazon EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide for Linux.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - } - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - } - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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" - } - } - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] Allows an Elastic IP address that is already associated with an instance or network interface to be re-associated with the specified instance or network interface. Otherwise, the operation fails.

Default: false

", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - } - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

The value to use when a resource attribute accepts a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

Valid values are case-sensitive and vary by action.

", - "locationName":"value" - } - }, - "documentation":"

The value to use for a resource attribute.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) 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. Can be used to specify multiple rules in a single command.

" - } - } - }, - "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 (available | impaired | unavailable).

", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":["available"] - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Storage" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

" - }, - "Storage":{ - "shape":"Storage", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

" - } - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

The bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ReasonMessage":{ - "shape":"String", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the ImportImage or ImportSnapshot task to be cancelled.

" - }, - "CancelReason":{ - "shape":"String", - "documentation":"

The reason for canceling the task.

" - } - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The task ID of the ImportImage or ImportSnapshot task being canceled.

", - "locationName":"importTaskId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the ImportImage or ImportSnapshot task being canceled.

", - "locationName":"state" - }, - "PreviousState":{ - "shape":"String", - "documentation":"

The current state of the ImportImage or ImportSnapshot task being canceled.

", - "locationName":"previousState" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot Instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - } - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot Instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot Instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

User-defined comment about the upload.

" - } - }, - "documentation":"

Client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "InstanceId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - } - } - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SourceRegion":{ - "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.

" - }, - "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 for Linux.

" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 Amazon EBS snapshot to copy.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new Amazon EBS snapshot.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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 Amazon 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" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" - }, - "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

" - } - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "documentation":"

A DHCP configuration option.

", - "locationName":"dhcpConfiguration" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Name" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new image.

", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "documentation":"

By default, this parameter is set to false, which means Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. When the parameter is set to true, 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" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "locationName":"exportToS3" - } - } - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "locationName":"exportTask" - } - } - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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

", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide for Linux.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instances listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table for the route.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket in which to store the Spot Instance data feed.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - } - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the subnet.

Default: Amazon EC2 selects one for you (recommended).

" - } - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - } - }, - "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" - } - } - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - } - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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.

" - }, - "SnapshotId":{ - "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) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes

" - }, - "Encrypted":{ - "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 for Linux.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The full ARN of the AWS Key Management Service (KMS) master key to use when creating the encrypted volume. This parameter is only required if you want to use a non-default master key; if this parameter is not specified, the default master key is used. The ARN contains the arn:aws:kms namespace, followed by the region of the master key, the AWS account ID of the master key owner, the key namespace, and then the master key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The supported tenancy options for instances launched into the VPC. A value of default means that instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC are launched as dedicated tenancy instances regardless of the tenancy assigned to the instance at launch. Dedicated tenancy instances run on single-tenant hardware.

Default: default

", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "VpnGatewayId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" - } - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set.

" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - } - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DeleteSnapshotRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - } - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - } - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["VpnGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DeregisterImageRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttributeNames":{ - "shape":"AccountAttributeNameStringList", - "documentation":"

One or more account attribute names.

", - "locationName":"attributeName" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - } - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "BundleIds":{ - "shape":"BundleIdStringList", - "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "DescribeConversionTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "locationName":"conversionTasks" - } - } - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - } - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a 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.

  • 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" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "locationName":"exportTaskSet" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, amazon (owner is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the sender of the request). 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 Amazon EBS volume (for example, /dev/sdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (gp2 | standard | io1).

  • description - The description of the image (provided during image creation).

  • 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 - The AWS account alias (for example, amazon).

  • 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.

  • 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" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "documentation":"

A list of ImportImage task IDs to describe.

", - "locationName":"ImportTaskId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to get the next page of paginated describe requests.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results in a page.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Filters to be applied on a describe request.

" - } - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more ImportImage tasks that are currently active or completed/cancelled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to get the next page of paginated describe requests.

", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "documentation":"

A list of IDs of the ImportSnapshot tasks to describe.

", - "locationName":"ImportTaskId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to get to the next page of paginated describe requests.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results in a page.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

The filters to be applied on a describe request.

" - } - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more ImportSnapshot tasks that are currently active or completed/cancelled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to get to the next page of paginated describe requests.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

", - "locationName":"attribute" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 identifying the type of 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: 2010-09-15T17:15:20.000Z.

  • event.not-before - The earliest start time for the scheduled event, for example: 2010-09-15T17:15:20.000Z.

  • instance-state-code - A code representing 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-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" - }, - "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 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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • 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 Amazon 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 Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name for the Amazon EBS volume (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the Amazon EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the Amazon 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.

  • 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 (spot).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface-private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request 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.

", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

One or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "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.

  • 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" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - } - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - } - }, - "DescribeNetworkAclsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • 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.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupNames":{ - "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" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - } - }, - "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" - } - } - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "documentation":"

One or more Reserved Instances offering IDs.

", - "locationName":"ReservedInstancesOfferingId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the Reserved Instance can be used.

" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance 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 on which the Reserved Instance can be used.

  • 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 AWS and Reserved Instance Marketplace are listed.

  • product-description - The description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (Amazon VPC)).

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • 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 Reserved Instance offering. A Reserved Instance with dedicated tenancy runs on single-tenant hardware and can only be launched within a VPC.

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 Marketplace offerings in the response.

" - }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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, 2014-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type on which the Reserved Instance can be used.

  • product-description - The product description of the Reserved Instance (Linux/UNIX | Linux/UNIX (Amazon VPC) | Windows | Windows (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 (pending-payment | active | payment-failed | retired).

  • 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.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "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.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The CIDR range specified in a route in the 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.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.

  • 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" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "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.

  • description - The description of the security group.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - A CIDR range that has been granted permission.

  • 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.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" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - } - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS snapshot.

", - "locationName":"snapshotId" - }, - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "documentation":"

A list of permissions for creating volumes from the snapshot.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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 - The AWS account alias (for example, amazon) that owns the snapshot.

  • 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.

  • 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" - }, - "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.

" - } - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - } - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "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 | standard | io1).

  • 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, m1.small).

  • 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 for Linux.

  • 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.

  • 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" - } - } - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The date and time, up to the current date, from which to stop retrieving the price history data.

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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, m1.small).

  • 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 (for example, 2010-08-16T05:06:11.000Z). 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 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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "documentation":"

The historical Spot Prices.

", - "locationName":"spotPriceHistorySet" - }, - "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" - } - } - }, - "DescribeSubnetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "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" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "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" - } - } - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcIds":{ - "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.

  • 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" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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 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.

  • 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.

  • 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" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - } - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

  • 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.

  • 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" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the attachment.

", - "locationName":"attachmentId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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.

" - }, - "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.

" - } - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "DisassociateRouteTableRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID representing the current association between the route table and subnet.

", - "locationName":"associationId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{"shape":"DiskImageDetail"}, - "Description":{"shape":"String"}, - "Volume":{"shape":"VolumeDetail"} - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the disk image.

", - "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.

", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" - } - } - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "ImportManifestUrl" - ], - "members":{ - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "Bytes":{ - "shape":"Long", - "locationName":"bytes" - }, - "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.

", - "locationName":"importManifestUrl" - } - } - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume.

", - "locationName":"size" - }, - "Id":{ - "shape":"String", - "documentation":"

The volume identifier.

", - "locationName":"id" - } - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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 Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

Default: standard

", - "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 for Linux.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 volumes.

", - "locationName":"iops" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption.

", - "locationName":"encrypted" - } - }, - "documentation":"

Describes an Amazon EBS block device.

" - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "Status":{ - "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 volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an Amazon EBS volume in a block device mapping.

" - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the Amazon EBS volume.

", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "documentation":"

The instance being exported.

", - "locationName":"instanceExport" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "locationName":"exportToS3" - } - }, - "documentation":"

Describes an export task.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "locationName":"s3Key" - } - } - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "locationName":"diskImageFormat" - }, - "ContainerFormat":{ - "shape":"ContainerFormat", - "locationName":"containerFormat" - }, - "S3Bucket":{ - "shape":"String", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - } - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "Float":{"type":"float"}, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - } - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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.

", - "locationName":"output" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the Windows instance.

" - } - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image (optional).

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported (optional).

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" - }, - "UserBucket":{"shape":"UserBucket"}, - "DeviceName":{ - "shape":"String", - "documentation":"

The Amazon EBS block device mapping for the disk (optional).

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The Amazon EBS snapshot ID to be used for importing the snapshot.

" - } - }, - "documentation":"

The disk container object for an ImportImage task.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "ImportImageRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{ - "shape":"String", - "documentation":"

A description string for the import image task (optional).

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "locationName":"DiskContainer" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing (optional).

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 VM Import/Export Prerequisites in the Amazon Elastic Compute Cloud User Guide for Linux.

Valid Values: AWS | BYOL

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform to use (optional).

" - }, - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine being imported (optional).

" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine being imported (optional).

" - }, - "ClientData":{ - "shape":"ClientData", - "documentation":"

Client-specific data.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The token to enable idempotency for VM import requests (optional).

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role name 'vmimport' (optional).

" - } - } - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The task id of the ImportImage task.

", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "documentation":"

Architecture of the virtual machine being imported.

", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

License type of the virtual machine being imported.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

Operating system of the VM being imported.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

Target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The Amazon Machine Image (AMI) ID created by the import task.

", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The task's progress.

", - "locationName":"progress" - }, - "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" - } - } - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import task.

", - "locationName":"importTaskId" - }, - "Architecture":{ - "shape":"String", - "documentation":"

Architecture of the VM being imported.

", - "locationName":"architecture" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

License type of the VM being imported.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

Target hypervisor for the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

Description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The Amazon Machine Image (AMI) ID of the imported virtual machine.

", - "locationName":"imageId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of progress of the ImportImage task.

", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A descriptive status message for the ImportImage task.

", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status for the ImportImage task.

", - "locationName":"status" - } - } - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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", - "locationName":"additionalInfo" - }, - "UserData":{ - "shape":"UserData", - "documentation":"

User data to be made available to the instance.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. This is not supported for VMs imported into a VPC, which are assigned the default security group. After a VM is imported into a VPC, you can specify another security group using the AWS Management Console. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux. For more information about the Linux instance types you can import, see Before You Get Started in the Amazon Elastic Compute Cloud User Guide for Linux.

", - "locationName":"instanceType" - }, - "Placement":{ - "shape":"Placement", - "locationName":"placement" - }, - "Monitoring":{ - "shape":"Boolean", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

", - "locationName":"subnetId" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] Optionally, you can use this parameter to assign the instance a specific available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - } - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the instance being imported.

", - "locationName":"description" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "locationName":"launchSpecification" - }, - "DiskImages":{ - "shape":"DiskImageList", - "locationName":"diskImage" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - } - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - } - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. You must base64 encode the public key material before sending it to AWS.

", - "locationName":"publicKeyMaterial" - } - } - }, - "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" - } - } - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "DryRun":{"shape":"Boolean"}, - "Description":{ - "shape":"String", - "documentation":"

The description string for the ImportSnapshot task.

" - }, - "DiskContainer":{"shape":"SnapshotDiskContainer"}, - "ClientData":{"shape":"ClientData"}, - "ClientToken":{ - "shape":"String", - "documentation":"

Token to enable idempotency for VM import requests (optional).

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role name 'vmimport' (optional).

" - } - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

Task ID of the ImportSnapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

Description of the import snapshot task.

", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The task ID of the ImportSnapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

Description for the import snapshot task.

", - "locationName":"description" - } - } - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "Volume" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the resulting Amazon EBS volume.

", - "locationName":"availabilityZone" - }, - "Image":{ - "shape":"DiskImageDetail", - "locationName":"image" - }, - "Description":{ - "shape":"String", - "documentation":"

An optional description for the volume being imported.

", - "locationName":"description" - }, - "Volume":{ - "shape":"VolumeDetail", - "locationName":"volume" - } - } - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "locationName":"conversionTask" - } - } - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name assigned to the instance. This name is not available until the instance enters the running state.

", - "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.

", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with this instance.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address assigned to the instance.

", - "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 Amazon 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" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "documentation":"

Indicates whether this is a Spot Instance.

", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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.

", - "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" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The Base64-encoded MIME 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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up Amazon EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up Amazon 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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ListingState", - "documentation":"

The states of the listed Reserved Instances.

", - "locationName":"state" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

he number of listed Reserved Instances in the state specified by the state.

", - "locationName":"instanceCount" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":["spot"] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Extra information regarding events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The associated code of the event.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

", - "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" - } - }, - "documentation":"

Describes an instance event.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "t2.micro", - "t2.small", - "t2.medium", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "cg1.4xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The protocol.

When you call DescribeSecurityGroups, the protocol value returned is the number. Exception: For TCP, UDP, and ICMP, the value returned is the name (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol Numbers. (VPC only) When you call AuthorizeSecurityGroupIngress, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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. To request an instance in a nondefault VPC, you must specify the ID of the security group. To request an instance in EC2-Classic or a default VPC, you can specify the name or the ID of the security group.

", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "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" - }, - "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.

" - } - } - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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 intanceInitiateShutdownBehavior 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 for Linux.

", - "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.

", - "locationName":"disableApiTermination" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value.

", - "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 for the instance.

There is no way to disable enhanced networking at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute to modify.

" - }, - "OperationType":{ - "shape":"String", - "documentation":"

The type of operation to perform to the attribute.

" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

The account ID to modify for the snapshot.

", - "locationName":"UserId" - }, - "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.

" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - } - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - }, - "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 can only enable DNS hostnames if you also enable DNS support.

" - } - } - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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.

", - "locationName":"tenancy" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of instances available for the price.

", - "locationName":"count" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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 for the AMI and any instances that you launch from the AMI.

There is no way to disable enhanced networking 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" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID of the current association between the original network ACL and the subnet.

", - "locationName":"associationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "CidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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" - }, - "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" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "required":["SpotPrice"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot Instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot Instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - } - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - } - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "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" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved 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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the destination security group. You can't specify a destination security group and a CIDR IP address range.

", - "locationName":"sourceSecurityGroupOwnerId" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The ID of the source security group. You can't specify a source security group and a CIDR IP address range.

" - }, - "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.

" - } - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - }, - "Origin":{ - "shape":"RouteOrigin", - "documentation":"

Describes how the route was created.

  • CreateRouteTable indicates that 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.
", - "locationName":"origin" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "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 General FAQ.

" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you launch an instance without specifying a key pair, you can't connect to the instance.

" - }, - "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 Base64-encoded MIME user data for the instances.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide for Linux.

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 for Linux.

" - }, - "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 for Linux.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "documentation":"

The block device mapping.

", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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 Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", - "locationName":"ebsOptimized" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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":"

A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the Base64 encoded JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "shape":"String", - "documentation":"

The progress of the snapshot, as a percentage.

", - "locationName":"progress" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the Amazon EBS snapshot owner.

", - "locationName":"ownerId" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the snapshot.

", - "locationName":"description" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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 (KMS) master key that was used to protect the volume encryption key for the parent volume.

", - "locationName":"kmsKeyId" - } - }, - "documentation":"

Describes a snapshot.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot.

", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "documentation":"

Description for the snapshot.

", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "locationName":"userBucket" - }, - "DeviceName":{ - "shape":"String", - "documentation":"

The Amazon EBS 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":"

The details of the snapshot created from the imported disk.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{"shape":"UserBucket"} - }, - "documentation":"

The disk container object for the ImportSnapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "SnapshotTaskDetail":{ - "type":"structure", - "members":{ - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot.

", - "locationName":"diskImageSize" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the snapshot.

", - "locationName":"description" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL of the disk image from which the snapshot is created.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "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 ImportSnapshot task.

", - "locationName":"progress" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A detailed status message for the ImportSnapshot task.

", - "locationName":"statusMessage" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status for the ImportSnapshot task.

", - "locationName":"status" - } - }, - "documentation":"

Details about the import snapshot task.

" - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot Instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "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.

", - "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 for Linux.

", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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 time stamp when the Spot Instance request was created.

", - "locationName":"createTime" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The product description associated with the Spot Instance.

", - "locationName":"productDescription" - }, - "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":"

Describe a Spot Instance request.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot Instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot Instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code.

", - "locationName":"code" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The time of the most recent status update.

", - "locationName":"updateTime" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the status code.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a Spot Instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot Instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot Instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created.

", - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - } - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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 volume limit was exceeded.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated" - ] - }, - "TerminateInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - } - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket name where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The Amazon S3 Key for the disk image.

" - } - }, - "documentation":"

User's Amazon S3 bucket details used to access the image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The Amazon S3 key from which the disk image was created.

", - "locationName":"s3Key" - } - }, - "documentation":"

User's Amazon S3 bucket details used to access the image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "locationName":"data" - } - } - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The ID of an AWS account. EC2-Classic only.

", - "locationName":"userId" - }, - "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 GroupId.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group and AWS account ID pair.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 for Linux.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 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 (KMS) master key that was used to protect the volume encryption key for the volume.

", - "locationName":"kmsKeyId" - } - }, - "documentation":"

Describes a volume.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Amazon EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an Amazon EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2" - ] - }, - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the peer VPC.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created.

", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "documentation":"

Any VPCs attached to the virtual private gateway.

", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/waiters-2.json deleted file mode 100644 index 17f08705..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-03-01/waiters-2.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "version": 2, - "waiters": { - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/paginators-1.json deleted file mode 100644 index ca7a8767..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/paginators-1.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/service-2.json deleted file mode 100644 index 426927ae..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/service-2.json +++ /dev/null @@ -1,14625 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-04-15", - "endpointPrefix":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-04-15", - "protocol":"ec2" - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

", - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "documentation":"

Information about the volume attachment.

", - "locationName":"attachment" - }, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.
  • AWS Marketplace product codes are copied from the volume to the instance.
  • You must be subscribed to the product.
  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC.

You can have up to 50 rules per security group (covering both ingress and egress rules).

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CancelSpotFleetRequestsRequest", - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "output":{ - "shape":"CancelSpotFleetRequestsResponse", - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "documentation":"

Cancels the specified Spot fleet requests.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CancelSpotInstanceRequestsRequest", - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "output":{ - "shape":"CancelSpotInstanceRequestsResult", - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "documentation":"

Cancels one or more Spot instance requests. Spot instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot instance request does not terminate running Spot instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request. AMIs that use encrypted EBS snapshots cannot be copied with this method.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can't be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.
  • 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). 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.

" - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting EC2 Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{ - "shape":"KeyPair", - "documentation":"

Information about the key pair.

", - "locationName":"keyPair" - }, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 100 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{ - "shape":"Snapshot", - "documentation":"

Information about the snapshot.

", - "locationName":"snapshot" - }, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateSpotDatafeedSubscriptionRequest", - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "output":{ - "shape":"CreateSpotDatafeedSubscriptionResult", - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "documentation":"

Creates a data feed for Spot instances, enabling you to view Spot instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{ - "shape":"Volume", - "documentation":"

Information about the volume.

", - "locationName":"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.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified AWS service. An endpoint enables you to create a private connection between your VPC and another AWS service in your account. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

Currently, only endpoints to Amazon S3 are supported.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"}, - "documentation":"

Deletes one or more flow logs.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteSpotDatafeedSubscriptionRequest", - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "documentation":"

Deletes the data feed for Spot instances.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"}, - "documentation":"

Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"}, - "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{ - "shape":"ImageAttribute", - "documentation":"

Information about the image attribute.

", - "locationName":"imageAttribute" - }, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Describes your import snapshot tasks.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{ - "shape":"InstanceAttribute", - "documentation":"

Information about the instance attribute.

" - }, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"}, - "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"}, - "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a VPC endpoint.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.
  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.
  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotDatafeedSubscriptionRequest", - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "output":{ - "shape":"DescribeSpotDatafeedSubscriptionResult", - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "documentation":"

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotFleetInstancesRequest", - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "output":{ - "shape":"DescribeSpotFleetInstancesResponse", - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "documentation":"

Describes the running instances for the specified Spot fleet.

" - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotFleetRequestHistoryRequest", - "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" - }, - "output":{ - "shape":"DescribeSpotFleetRequestHistoryResponse", - "documentation":"

Contains the output of DescribeSpotFleetRequestHistory.

" - }, - "documentation":"

Describes the events for the specified Spot fleet request during the specified time.

Spot fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event.

" - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotFleetRequestsRequest", - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "output":{ - "shape":"DescribeSpotFleetRequestsResponse", - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "documentation":"

Describes your Spot fleet requests.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotInstanceRequestsRequest", - "documentation":"

Contains the parameters for DescribeSpotInstanceRequests.

" - }, - "output":{ - "shape":"DescribeSpotInstanceRequestsResult", - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "documentation":"

Describes the Spot instance requests that belong to your account. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

You can use DescribeSpotInstanceRequests to find a running Spot instance by examining the response. If the status of the Spot instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSpotPriceHistoryRequest", - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "output":{ - "shape":"DescribeSpotPriceHistoryResult", - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "documentation":"

Describes the Spot price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

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.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"}, - "documentation":"

Describes all supported AWS services that can be specified when creating a VPC endpoint.

" - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"}, - "documentation":"

Describes one or more of your VPC endpoints.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{ - "shape":"VolumeAttachment", - "documentation":"

Information about the volume attachment.

", - "locationName":"attachment" - }, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so results in the volume being stuck in a busy state while detaching.

If an Amazon EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. After importing the image, you then upload it using the ec2-import-volume command in the EC2 command line tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Imports a disk into an EBS snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the Amazon EC2 command-line interface (CLI) tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

Snapshots with AWS Marketplace product codes cannot be made public.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. You can modify the policy associated with the endpoint, and you can add and remove route tables associated with the endpoint.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"}, - "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that's allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Amazon EC2 Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time and pay a lower hourly rate compared to on-Demand Instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If a Linux/Unix instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. 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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RequestSpotFleetRequest", - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "output":{ - "shape":"RequestSpotFleetResponse", - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "documentation":"

Creates a Spot fleet request.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot fleet requests Spot instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot instances in your Spot fleet are in different Spot pools, you can improve the availability of your fleet.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RequestSpotInstancesRequest", - "documentation":"

Contains the parameters for RequestSpotInstances.

" - }, - "output":{ - "shape":"RequestSpotInstancesResult", - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "documentation":"

Creates a Spot instance request. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot Instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck, the instance can be either running or stopped.

The SourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"}, - "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

Removes one or more egress rules from a security group for EC2-VPC. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{ - "shape":"Reservation", - "documentation":"

One or more reservations.

", - "locationName":"reservation" - }, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC only accounts] If you don't specify a subnet in the request, we choose a default subnet from your default VPC for you.

[EC2-Classic accounts] If you're launching into EC2-Classic and you don't specify an Availability Zone, we choose one for you.

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.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

T2 instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot Instances.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - } - }, - "documentation":"

Describes a running instance in a Spot fleet.

" - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "AllocateAddressRequest":{ - "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" - }, - "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.

" - } - } - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - } - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "AllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "diversified" - ] - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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" - } - } - }, - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] Allows an Elastic IP address that is already associated with an instance or network interface to be re-associated with the specified instance or network interface. Otherwise, the operation fails.

Default: false

", - "locationName":"allowReassociation" - } - } - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - } - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "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.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "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" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - } - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "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 an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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" - } - } - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "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" - }, - "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" - } - } - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - } - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "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 EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - } - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - } - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

The value to use when a resource attribute accepts a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

Valid values are case-sensitive and vary by action.

", - "locationName":"value" - } - }, - "documentation":"

The value to use for a resource attribute.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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 (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The AWS account number for the source security group. For EC2-VPC, the source security group must be in the same VPC. 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.

" - }, - "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. Can be used to specify multiple rules in a single command.

" - } - } - }, - "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 (available | impaired | unavailable).

", - "locationName":"zoneState" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":["available"] - }, - "BatchState":{ - "type":"string", - "enum":[ - "submitted", - "active", - "cancelled", - "failed", - "cancelled_running", - "cancelled_terminating" - ] - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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

" - }, - "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.

" - } - } - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBatchErrorCode":{ - "type":"string", - "enum":[ - "fleetRequestIdDoesNotExist", - "fleetRequestIdMalformed", - "fleetRequestNotInCancellableState", - "unexpectedError" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "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" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - } - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - } - }, - "CancelConversionRequest":{ - "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" - }, - "ReasonMessage":{ - "shape":"String", - "documentation":"

The reason for canceling the conversion task.

", - "locationName":"reasonMessage" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - } - }, - "CancelImportTaskRequest":{ - "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.

" - }, - "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.

" - } - } - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "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" - } - } - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - } - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot fleet error.

" - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "documentation":"

The error.

", - "locationName":"error" - } - }, - "documentation":"

Describes a Spot fleet request that was not successfully canceled.

" - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "locationName":"terminateInstances" - } - }, - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "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.

", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The previous state of the Spot fleet request.

", - "locationName":"previousSpotFleetRequestState" - } - }, - "documentation":"

Describes a Spot fleet request that was successfully canceled.

" - }, - "CancelSpotFleetRequestsSuccessSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsSuccessItem", - "locationName":"item" - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image, in GiB.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" - } - }, - "documentation":"

Describes the client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "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" - }, - "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.

" - } - } - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "locationName":"return" - } - } - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the task.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "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" - }, - "SourceRegion":{ - "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.

" - }, - "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.

" - } - } - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "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.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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. There is no way to create an unencrypted snapshot copy from an encrypted snapshot; however, you can encrypt a copy of an unencrypted snapshot with this flag. 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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - } - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "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).

" - }, - "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

" - } - } - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - } - }, - "CreateDhcpOptionsRequest":{ - "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" - } - } - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

", - "locationName":"ResourceId" - }, - "ResourceType":{ - "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" - }, - "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.

" - } - } - }, - "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" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be created successfully.

", - "locationName":"unsuccessful" - } - } - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new image.

", - "locationName":"description" - }, - "NoReboot":{ - "shape":"Boolean", - "documentation":"

By default, this parameter is set to false, which means Amazon EC2 attempts to shut down the instance cleanly before image creation and then reboots the instance. When the parameter is set to true, 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" - } - } - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - } - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "documentation":"

The format and location for an instance export task.

", - "locationName":"exportToS3" - } - } - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "documentation":"

Information about the instance export task.

", - "locationName":"exportTask" - } - } - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - } - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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

" - } - } - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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

", - "locationName":"ruleNumber" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - } - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - } - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - } - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - } - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - } - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - } - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instances listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - } - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - } - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - } - }, - "CreateSnapshotRequest":{ - "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 EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - } - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - }, - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the subnet.

Default: Amazon EC2 selects one for you (recommended).

" - } - } - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - } - }, - "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" - } - }, - "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - }, - "documentation":"

Describes modifications to the permissions for a volume.

" - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "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" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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.

" - }, - "SnapshotId":{ - "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) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes

" - }, - "Encrypted":{ - "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" - }, - "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.

" - } - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs.

", - "locationName":"RouteTableId" - }, - "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.

" - } - } - }, - "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" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - } - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - } - }, - "CreateVpcRequest":{ - "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 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The supported tenancy options for instances launched into the VPC. A value of default means that instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC are launched as dedicated tenancy instances regardless of the tenancy assigned to the instance at launch. Dedicated tenancy instances run on single-tenant hardware.

Default: default

", - "locationName":"instanceTenancy" - } - } - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - } - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "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" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - } - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - } - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "CreateVpnGatewayRequest":{ - "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" - }, - "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.

" - } - } - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - } - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "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.

" - } - } - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "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.

" - } - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - } - } - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - } - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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" - } - } - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - } - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - } - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - } - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - } - }, - "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" - }, - "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.

" - } - } - }, - "DeleteSnapshotRequest":{ - "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 EBS snapshot.

" - } - } - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - } - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - } - }, - "DeleteVolumeRequest":{ - "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.

" - } - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - } - } - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the endpoints that were not successfully deleted.

", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - } - } - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "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" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - } - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - } - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DeregisterImageRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - } - }, - "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" - } - } - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - } - }, - "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" - }, - "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" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - } - }, - "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" - }, - "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 | impaired | unavailable).

  • zone-name - The name of the Availability Zone (for example, us-east-1a).

", - "locationName":"Filter" - } - } - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - } - }, - "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.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - } - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - } - }, - "DescribeClassicLinkInstancesRequest":{ - "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" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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" - } - } - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "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" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - } - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "documentation":"

Information about the conversion tasks.

", - "locationName":"conversionTasks" - } - } - }, - "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.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - } - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - } - }, - "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.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "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.

  • 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" - } - } - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - } - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "documentation":"

Information about the export tasks.

", - "locationName":"exportTaskSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "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)

" - }, - "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.

" - } - } - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "documentation":"

Information about the flow logs.

", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "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" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, amazon (owner is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the sender of the request). 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 | standard | io1).

  • description - The description of the image (provided during image creation).

  • 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 - The AWS account alias (for example, amazon).

  • 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.

  • 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" - } - } - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - } - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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 request.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

" - } - } - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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 request.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

" - } - } - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

", - "locationName":"attribute" - } - } - }, - "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" - }, - "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" - }, - "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 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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - } - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "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" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", - "locationName":"InstanceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • 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.

  • 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 (spot).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface-private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request 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.

", - "locationName":"maxResults" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

One or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInternetGatewaysRequest":{ - "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" - }, - "InternetGatewayIds":{ - "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.

  • 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" - } - } - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - } - }, - "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" - }, - "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" - } - } - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - } - }, - "DescribeMovingAddressesRequest":{ - "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" - }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" - }, - "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" - } - } - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "documentation":"

The status for each Elastic IP address.

", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeNetworkAclsRequest":{ - "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" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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" - } - } - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - } - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "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" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - } - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - } - }, - "DescribeNetworkInterfacesRequest":{ - "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" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • 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.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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" - } - } - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - } - }, - "DescribePlacementGroupsRequest":{ - "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":"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" - } - } - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - } - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "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" - }, - "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" - } - } - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - } - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - } - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - } - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - } - }, - "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" - } - } - }, - "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 on which the Reserved Instance can be used. 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 on which the Reserved Instance can be used.

  • 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 AWS and 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.

  • 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 Reserved Instance offering. A Reserved Instance with dedicated tenancy runs on single-tenant hardware and can only be launched within a VPC.

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 Marketplace offerings in the response.

" - }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - } - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "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" - }, - "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 on which the Reserved Instance can be used.

  • 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.

  • 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" - }, - "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" - } - } - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - } - }, - "DescribeRouteTablesRequest":{ - "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" - }, - "RouteTableIds":{ - "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.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The CIDR range specified in a route in the table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the 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.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.

  • 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" - } - } - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - } - }, - "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" - }, - "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 - A CIDR range that has been granted permission.

  • 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.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" - } - } - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - } - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - } - }, - "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.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "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" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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 - The AWS account alias (for example, amazon) that owns the snapshot.

  • 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.

  • 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" - }, - "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.

" - } - } - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "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.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "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" - }, - "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.

" - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "DescribeSpotFleetRequestsResponse":{ - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "DescribeSpotInstanceRequestsRequest":{ - "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" - }, - "SpotInstanceRequestIds":{ - "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 | standard | io1).

  • 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, m1.small).

  • 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.

  • 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.

" - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "DescribeSpotPriceHistoryRequest":{ - "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" - }, - "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).

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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, m1.small).

  • 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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "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" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - } - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "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" - } - } - }, - "DescribeVolumeAttributeRequest":{ - "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.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - } - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - } - }, - "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" - }, - "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.

" - } - } - }, - "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" - } - } - }, - "DescribeVolumesRequest":{ - "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" - }, - "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.

  • 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) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.

", - "locationName":"Filter" - }, - "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" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "documentation":"

Information about the volumes.

", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - } - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - } - }, - "DescribeVpcClassicLinkRequest":{ - "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" - }, - "VpcIds":{ - "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.

  • 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" - } - } - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"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)

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "DescribeVpcPeeringConnectionsRequest":{ - "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" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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" - } - } - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - } - }, - "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" - }, - "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 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.

  • 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.

  • 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" - } - } - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - } - }, - "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" - }, - "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.

  • 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" - } - } - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - } - }, - "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" - }, - "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.

  • 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.

  • 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" - } - } - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - } - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - } - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DetachNetworkInterfaceRequest":{ - "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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - } - }, - "DetachVolumeRequest":{ - "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.

" - }, - "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.

" - } - } - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - } - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The association ID. Required for EC2-VPC.

" - } - } - }, - "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" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the disk image.

" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

Information about the volume.

" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "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.

", - "locationName":"importManifestUrl" - }, - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "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" - }, - "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.

", - "locationName":"importManifestUrl" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "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" - } - }, - "documentation":"

Describes a disk image volume.

" - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384 for io1 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 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

Default: standard

", - "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 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 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.

" - }, - "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.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" - }, - "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" - } - } - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - } - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - } - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" - }, - "EventSubType":{ - "shape":"String", - "documentation":"

The event.

The following are the error events.

  • iamFleetRoleInvalid - Spot fleet did not have the required permissions either to launch or terminate an instance.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description.

  • 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.

  • 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":{ - "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" - } - }, - "documentation":"

Describes a Spot fleet event.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "instanceChange", - "fleetRequestChange", - "error" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the export task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "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.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The encryption key for your S3 bucket.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the format and location for an instance export task.

" - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "documentation":"

The date and time the flow log was created.

", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "documentation":"

The flow log ID.

", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "documentation":"

The status of the flow log (ACTIVE).

", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource on which the flow log was created.

", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic captured for the flow log.

", - "locationName":"trafficType" - }, - "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. 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.

" - }, - "FlowLogSet":{ - "type":"list", - "member":{ - "shape":"FlowLog", - "locationName":"item" - } - }, - "FlowLogsResourceType":{ - "type":"string", - "enum":[ - "VPC", - "Subnet", - "NetworkInterface" - ] - }, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "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.

" - } - } - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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.

", - "locationName":"output" - } - } - }, - "GetPasswordDataRequest":{ - "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 Windows instance.

" - } - } - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - } - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HistoryRecord":{ - "type":"structure", - "required":[ - "Timestamp", - "EventType", - "EventInformation" - ], - "members":{ - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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" - } - }, - "documentation":"

Describes an event in the history of the Spot fleet request.

" - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "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":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - }, - "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.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description string for the import image task.

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "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 VM Import/Export Prerequisites in the Amazon Elastic Compute Cloud User Guide.

Valid values: AWS | BYOL

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform.

Valid values: xen

" - }, - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" - }, - "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'.

" - } - } - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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" - } - } - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Hypervisor":{ - "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" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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 Base64-encoded MIME user data to be made available to the instance.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information about the instance types that you can import, see Before You Get Started in the Amazon Elastic Compute Cloud 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" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes the launch specification for VM import.

" - }, - "ImportInstanceRequest":{ - "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" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - } - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - } - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import instance task.

" - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. You must base64 encode the public key material before sending it to AWS.

", - "locationName":"publicKeyMaterial" - } - } - }, - "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" - } - } - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description string for the import snapshot task.

" - }, - "DiskContainer":{ - "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.

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - } - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Information about the import snapshot task.

", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - } - } - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "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.

" - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "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" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

The volume size.

", - "locationName":"volume" - } - } - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - } - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

", - "locationName":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name assigned to the instance. This name is not available until the instance enters the running state.

", - "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.

", - "locationName":"productCodes" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with this instance.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address assigned to the instance.

", - "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" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "documentation":"

Indicates whether this is a Spot Instance.

", - "locationName":"instanceLifecycle" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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.

", - "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" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The Base64-encoded MIME 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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance to export.

" - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":["spot"] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Any scheduled events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The event code.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a scheduled event for an instance.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "documentation":"

The system instance health or application instance health.

", - "locationName":"details" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge", - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "cg1.4xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The protocol.

When you call DescribeSecurityGroups, the protocol value returned is the number. Exception: For TCP, UDP, and ICMP, the value returned is the name (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol Numbers. (VPC only) When you call AuthorizeSecurityGroupIngress, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "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" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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. To request an instance in a nondefault VPC, you must specify the ID of the security group. To request an instance in EC2-Classic or a default VPC, you can specify the name or the ID of the security group.

", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "LaunchSpecsList":{ - "type":"list", - "member":{ - "shape":"SpotFleetLaunchSpecification", - "locationName":"item" - }, - "min":1 - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "ModifyImageAttributeRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "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" - }, - "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.

" - } - } - }, - "ModifyInstanceAttributeRequest":{ - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value.

", - "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 for the instance.

There is no way to disable enhanced networking at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "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" - }, - "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" - }, - "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" - } - } - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - } - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - } - }, - "ModifySnapshotAttributeRequest":{ - "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" - }, - "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.

" - } - } - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - } - }, - "ModifyVolumeAttributeRequest":{ - "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.

" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" - } - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - }, - "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 can only enable DNS hostnames if you also enable DNS support.

" - } - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"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" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs to disassociate from the endpoint.

", - "locationName":"RemoveRouteTableId" - } - } - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "MonitorInstancesRequest":{ - "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" - } - } - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - } - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID for the Elastic IP address.

", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the move of the IP address.

", - "locationName":"status" - } - } - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes the status of a moving Elastic IP address.

" - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OperationType":{ - "type":"string", - "enum":[ - "add", - "remove" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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.

", - "locationName":"tenancy" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "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.

" - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - } - }, - "documentation":"

The ID of the prefix.

" - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of instances available for the price.

", - "locationName":"count" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "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" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - } - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "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" - } - } - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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 for the AMI and any instances that you launch from the AMI.

There is no way to disable enhanced networking 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" - } - } - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" - } - } - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - } - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - } - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - } - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - } - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - } - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "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" - }, - "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" - }, - "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" - } - } - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration for the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "RequestSpotInstancesRequest":{ - "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":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "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" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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" - }, - "LaunchSpecification":{"shape":"RequestSpotLaunchSpecification"} - }, - "documentation":"

Contains the parameters for RequestSpotInstances.

" - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "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" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved 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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - } - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the reserved instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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).

" - } - } - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

", - "locationName":"attribute" - } - } - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - } - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - } - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RestoreAddressToClassicRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - } - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "documentation":"

The move status for the IP address.

", - "locationName":"status" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - } - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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 (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "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.

", - "locationName":"fromPort" - }, - "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.

", - "locationName":"toPort" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

", - "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" - } - } - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The AWS account ID of the source security group. For EC2-VPC, the source security group must be in the same VPC. 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.

" - } - } - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "documentation":"

The prefix of the AWS service.

", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - }, - "Origin":{ - "shape":"RouteOrigin", - "documentation":"

Describes how the route was created.

  • CreateRouteTable indicates that 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.
", - "locationName":"origin" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "locationName":"subnetId" - }, - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "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 General 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 Base64-encoded MIME user data for the instances.

" - }, - "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.

", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - } - } - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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":"

A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the Base64 encoded JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "Snapshot":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "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" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "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.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{"shape":"UserBucket"} - }, - "documentation":"

The disk container object for the import snapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL of the disk image from which the snapshot is created.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "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. To request an instance in a nondefault VPC, you must specify the ID of the security group. To request an instance in EC2-Classic or a default VPC, you can specify the name or the ID of the security group.

", - "locationName":"groupSet" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "locationName":"subnetId" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - }, - "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" - } - }, - "documentation":"

Describes the launch specification for one or more Spot instances.

" - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables monitoring for the instance.

Default: false

", - "locationName":"enabled" - } - }, - "documentation":"

Describes whether monitoring is enabled.

" - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The state of the Spot fleet request.

", - "locationName":"spotFleetRequestState" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

Information about the configuration of the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Describes a Spot fleet request.

" - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "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" - }, - "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" - }, - "IamFleetRole":{ - "shape":"String", - "documentation":"

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "documentation":"

Information about the launch specifications for the Spot fleet request.

", - "locationName":"launchSpecifications" - }, - "AllocationStrategy":{ - "shape":"AllocationStrategy", - "documentation":"

Determines how to allocate the target capacity across the Spot pools specified by the Spot fleet request. The default is lowestPrice.

", - "locationName":"allocationStrategy" - } - }, - "documentation":"

Describes the configuration of a Spot fleet request.

" - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "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.

", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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" - }, - "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":"

Describe a Spot instance request.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code.

", - "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" - } - }, - "documentation":"

Describes the status of a Spot instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - } - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - } - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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 volume limit was exceeded.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "Status":{ - "type":"string", - "enum":[ - "MoveInProgress", - "InVpc", - "InClassic" - ] - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data", - "initializing" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - } - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - } - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable", - "initializing" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated" - ] - }, - "TerminateInstancesRequest":{ - "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" - } - } - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - } - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - } - }, - "UnmonitorInstancesRequest":{ - "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" - } - } - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - } - }, - "UnsuccessfulItem":{ - "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" - } - }, - "documentation":"

Information about items that were not successfully processed in a batch call.

" - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message accompanying the error code.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The key for the disk image.

" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The key from which the disk image was created.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data for the instance.

", - "locationName":"data" - } - }, - "documentation":"

Describes the user data to be made available to an instance.

" - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The ID of an AWS account. EC2-Classic only.

", - "locationName":"userId" - }, - "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 GroupId.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group and AWS account ID pair.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, 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 to 20000 for Provisioned IOPS (SSD) volumes and 3 to 10000 for General Purpose (SSD) volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create standard or gp2 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.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2" - ] - }, - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "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" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

The policy document associated with the endpoint.

", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "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" - } - }, - "documentation":"

Describes a VPC endpoint.

" - }, - "VpcEndpointSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpoint", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the peer VPC.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

The information of the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created.

", - "locationName":"availabilityZone" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "documentation":"

Any VPCs attached to the virtual private gateway.

", - "locationName":"attachments" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - } - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/waiters-2.json deleted file mode 100644 index 5a6dbbc9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-04-15/waiters-2.json +++ /dev/null @@ -1,458 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeInstances", - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidInstanceIDNotFound", - "state": "retry" - } - ] - }, - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "matcher": "error", - "expected": "InvalidVolumeNotFound", - "state": "success" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/paginators-1.json deleted file mode 100644 index 2bd01ad5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/paginators-1.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotFleetRequests": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotFleetRequestConfigs" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeVolumes": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Volumes" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/service-2.json deleted file mode 100644 index 7a086d3b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/service-2.json +++ /dev/null @@ -1,17075 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-10-01", - "endpointPrefix":"ec2", - "protocol":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-10-01" - }, - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"}, - "documentation":"

Allocates a Dedicated host to your account. At minimum you need to specify the instance size type, Availability Zone, and quantity of hosts you want to allocate.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

You can have up to 50 rules per security group (covering both ingress and egress rules).

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"}, - "documentation":"

Cancels the specified Spot fleet requests.

After you cancel a Spot fleet request, the Spot fleet launches no new Spot instances. You must specify whether the Spot fleet should also terminate its Spot instances. If you terminate the instances, the Spot fleet request enters the cancelled_terminating state. Otherwise, the Spot fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot instance requests. Spot instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot instance request does not terminate running Spot instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas.

  • 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\"). 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.

" - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting EC2 Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"}, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified subnet. A NAT gateway can be used to enable instances in a private subnet to connect to the Internet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"}, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot instances, enabling you to view Spot instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes 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.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified AWS service. An endpoint enables you to create a private connection between your VPC and another AWS service in your account. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

Currently, only endpoints to Amazon S3 are supported.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"}, - "documentation":"

Deletes one or more flow logs.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"}, - "documentation":"

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot instances.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"}, - "documentation":"

Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"}, - "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "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.

" - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"}, - "documentation":"

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: instance | reservation | snapshot | volume.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"}, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Describes your import snapshot tasks.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"}, - "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"}, - "documentation":"

Describes one or more of the your NAT gateways.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"}, - "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a VPC endpoint.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"}, - "documentation":"

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

" - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"}, - "documentation":"

Describes one or more of your Scheduled Instances.

" - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

[EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"}, - "documentation":"

Describes the running instances for the specified Spot fleet.

" - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"}, - "documentation":"

Describes the events for the specified Spot fleet request during the specified time.

Spot fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event.

" - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"}, - "documentation":"

Describes your Spot fleet requests.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot instance requests that belong to your account. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

You can use DescribeSpotInstanceRequests to find a running Spot instance by examining the response. If the status of the Spot instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

[EC2-VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

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.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"}, - "documentation":"

Describes all supported AWS services that can be specified when creating a VPC endpoint.

" - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"}, - "documentation":"

Describes one or more of your VPC endpoints.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so results in the volume being stuck in a busy state while detaching.

If an Amazon EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"}, - "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is base64-encoded.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. After importing the image, you then upload it using the ec2-import-volume command in the EC2 command line tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Imports a disk into an EBS snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image. After importing the image, you then upload it using the ec2-import-volume command in the Amazon EC2 command-line interface (CLI) tools. For more information, see Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2 in the Amazon Elastic Compute Cloud User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"}, - "documentation":"

Modify the auto-placement setting of a Dedicated host. When auto-placement is enabled, AWS will place instances that you launch with a tenancy of host, but without targeting a specific host ID, onto any available Dedicated host in your account which has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID if you want the instance to launch onto a specific host. If no host ID is provided, the instance will be launched onto a suitable host which has auto-placement enabled.

" - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"}, - "documentation":"

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created. The following resource types support longer IDs: instance | reservation | snapshot | volume.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user or as an IAM role that has permission to use this action, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Controlling Access to Longer ID Settings in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"}, - "documentation":"

Set the instance affinity value for a specific stopped instance and modify the instance tenancy setting.

Instance affinity is disabled by default. When instance affinity is host and it is not associated with a specific Dedicated host, the next time it is launched it will automatically be associated with the host it lands on. This relationship will persist if the instance is stopped/started, or rebooted.

You can modify the host ID associated with a stopped instance. If a stopped instance has a new host ID association, the instance will target that host when restarted.

You can modify the tenancy of a stopped instance with a tenancy of host or dedicated.

Affinity, hostID, and tenancy are not required parameters, but at least one of them must be specified in the request. Affinity and tenancy can be modified in the same request, but tenancy can only be modified on instances that are stopped.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

Snapshots with AWS Marketplace product codes cannot be made public.

" - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"}, - "documentation":"

Modifies the specified Spot fleet request.

While the Spot fleet request is being modified, it is in the modifying state.

To scale up your Spot fleet, increase its target capacity. The Spot fleet launches the additional Spot instances according to the allocation strategy for the Spot fleet request. If the allocation strategy is lowestPrice, the Spot fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot fleet distributes the instances across the Spot pools.

To scale down your Spot fleet, decrease its target capacity. First, the Spot fleet cancels any open bids that exceed the new target capacity. You can request that the Spot fleet terminate Spot instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot fleet keep the fleet at its current size, but not replace any Spot instances that are interrupted or that you terminate manually.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. You can modify the policy associated with the endpoint, and you can add and remove route tables associated with the endpoint.

" - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, - "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

If the peered VPCs are in different accounts, each owner must initiate a separate request to enable or disable communication in either direction, depending on whether their VPC was the requester or accepter for the VPC peering connection. If the peered VPCs are in the same account, you can modify the requester and accepter options in the same request. To confirm which VPC is the accepter and requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"}, - "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time and pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"}, - "documentation":"

Purchases one or more Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. 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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"}, - "documentation":"

When you no longer want to use a 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.

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"}, - "documentation":"

Creates a Spot fleet request.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot fleet requests Spot instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot instances in your Spot fleet are in different Spot pools, you can improve the availability of your fleet.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot instance request. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot Instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"}, - "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

To tag your instance, ensure that it is running as CreateTags requires a resource ID. For more information about tagging, see Tagging Your Amazon EC2 Resources.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC only accounts] If you don't specify a subnet in the request, we choose a default subnet from your default VPC for you.

[EC2-Classic accounts] If you're launching into EC2-Classic and you don't specify an Availability Zone, we choose one for you.

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.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

Some instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails. For more information, see Instance Types Available Only in a VPC.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"}, - "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance.

We don't charge hourly usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot instances, and you can't stop instance store-backed instances.

When you stop an instance, we shut it down. You can restart your instance at any time. Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Stopping an instance is different to rebooting or terminating it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for AcceptVpcPeeringConnection.

" - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of AcceptVpcPeeringConnection.

" - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - } - }, - "documentation":"

Describes a running instance in a Spot fleet.

" - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "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" - }, - "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.

" - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of AllocateAddress.

" - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

Specify the instance type that you want your Dedicated hosts to be configured for. When you specify the instance type, that is the only instance type that you can launch onto that host.

", - "locationName":"instanceType" - }, - "Quantity":{ - "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.

" - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "documentation":"

The ID of the allocated Dedicated host. This is used when you want to launch an instance onto a specific host.

", - "locationName":"hostIdSet" - } - }, - "documentation":"

Contains the output of AllocateHosts.

" - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "AllocationState":{ - "type":"string", - "enum":[ - "available", - "under-assessment", - "permanent-failure", - "released", - "released-permanent-failure" - ] - }, - "AllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "diversified" - ] - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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.

" - }, - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "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.

" - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateAddress.

" - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "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.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AssociateDhcpOptions.

" - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "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" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for AssociateRouteTable.

" - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateRouteTable.

" - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "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 an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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.

" - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of AttachClassicLinkVpc.

" - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for AttachInternetGateway.

" - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for AttachNetworkInterface.

" - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - }, - "documentation":"

Contains the output of AttachNetworkInterface.

" - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "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 EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - }, - "documentation":"

Contains the parameters for AttachVolume.

" - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AttachVpnGateway.

" - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - }, - "documentation":"

Contains the output of AttachVpnGateway.

" - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

The value to use when a resource attribute accepts a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

Valid values are case-sensitive and vary by action.

", - "locationName":"value" - } - }, - "documentation":"

The value to use for a resource attribute.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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 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 AuthorizeSecurityGroupEgress.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[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.

" - }, - "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. Can be used to specify multiple rules in a single command.

" - } - }, - "documentation":"

Contains the parameters for AuthorizeSecurityGroupIngress.

" - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "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" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "documentation":"

The total number of instances that the Dedicated host supports.

", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs available on the Dedicated host.

", - "locationName":"availableVCpus" - } - }, - "documentation":"

The capacity information for instances launched onto the Dedicated host.

" - }, - "AvailableInstanceCapacityList":{ - "type":"list", - "member":{ - "shape":"InstanceCapacity", - "locationName":"item" - } - }, - "BatchState":{ - "type":"string", - "enum":[ - "submitted", - "active", - "cancelled", - "failed", - "cancelled_running", - "cancelled_terminating", - "modifying" - ] - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for BundleInstance.

" - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of BundleInstance.

" - }, - "BundleTask":{ - "type":"structure", - "members":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBatchErrorCode":{ - "type":"string", - "enum":[ - "fleetRequestIdDoesNotExist", - "fleetRequestIdMalformed", - "fleetRequestNotInCancellableState", - "unexpectedError" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "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" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - }, - "documentation":"

Contains the parameters for CancelBundleTask.

" - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of CancelBundleTask.

" - }, - "CancelConversionRequest":{ - "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" - }, - "ReasonMessage":{ - "shape":"String", - "documentation":"

The reason for canceling the conversion task.

", - "locationName":"reasonMessage" - } - }, - "documentation":"

Contains the parameters for CancelConversionTask.

" - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for CancelExportTask.

" - }, - "CancelImportTaskRequest":{ - "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.

" - }, - "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.

" - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output for CancelImportTask.

" - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - }, - "documentation":"

Contains the parameters for CancelReservedInstancesListing.

" - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CancelReservedInstancesListing.

" - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot fleet error.

" - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "documentation":"

The error.

", - "locationName":"error" - } - }, - "documentation":"

Describes a Spot fleet request that was not successfully canceled.

" - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "locationName":"terminateInstances" - } - }, - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "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.

", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The previous state of the Spot fleet request.

", - "locationName":"previousSpotFleetRequestState" - } - }, - "documentation":"

Describes a Spot fleet request that was successfully canceled.

" - }, - "CancelSpotFleetRequestsSuccessSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsSuccessItem", - "locationName":"item" - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image, in GiB.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" - } - }, - "documentation":"

Describes the client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ConfirmProductInstance.

" - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ConfirmProductInstance.

" - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the task.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "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" - }, - "SourceRegion":{ - "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.

" - }, - "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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopyImage.

" - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CopyImage.

" - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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. There is no way to create an unencrypted snapshot copy from an encrypted snapshot; however, you can encrypt a copy of an unencrypted snapshot with this flag. 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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopySnapshot.

" - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - }, - "documentation":"

Contains the output of CopySnapshot.

" - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "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).

" - }, - "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

" - } - }, - "documentation":"

Contains the parameters for CreateCustomerGateway.

" - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - }, - "documentation":"

Contains the output of CreateCustomerGateway.

" - }, - "CreateDhcpOptionsRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for CreateDhcpOptions.

" - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - }, - "documentation":"

Contains the output of CreateDhcpOptions.

" - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "locationName":"ResourceId" - }, - "ResourceType":{ - "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" - }, - "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.

" - }, - "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" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be created successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of CreateFlowLogs.

" - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "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.

" - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CreateImage.

" - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "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.

" - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "documentation":"

Information about the instance export task.

", - "locationName":"exportTask" - } - }, - "documentation":"

Contains the output for CreateInstanceExportTask.

" - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateInternetGateway.

" - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - }, - "documentation":"

Contains the output of CreateInternetGateway.

" - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - }, - "documentation":"

Contains the parameters for CreateKeyPair.

" - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateNatGateway.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateNatGateway.

" - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAclEntry.

" - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAcl.

" - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - }, - "documentation":"

Contains the output of CreateNetworkAcl.

" - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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 CreateNetworkInterface.

" - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - }, - "documentation":"

Contains the output of CreateNetworkInterface.

" - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - }, - "documentation":"

Contains the parameters for CreatePlacementGroup.

" - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - }, - "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CreateReservedInstancesListing.

" - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for CreateRoute.

" - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of CreateRoute.

" - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateRouteTable.

" - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - }, - "documentation":"

Contains the output of CreateRouteTable.

" - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - }, - "documentation":"

Contains the parameters for CreateSecurityGroup.

" - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Contains the output of CreateSecurityGroup.

" - }, - "CreateSnapshotRequest":{ - "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 EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - }, - "documentation":"

Contains the parameters for CreateSnapshot.

" - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - }, - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "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":"

Contains the parameters for CreateSubnet.

" - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - }, - "documentation":"

Contains the output of CreateSubnet.

" - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - }, - "documentation":"

Contains the parameters for CreateTags.

" - }, - "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" - } - }, - "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - }, - "documentation":"

Describes modifications to the permissions for a volume.

" - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "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" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384 for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "SnapshotId":{ - "shape":"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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

" - }, - "Encrypted":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVolume.

" - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs.

", - "locationName":"RouteTableId" - }, - "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 CreateVpcEndpoint.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateVpcEndpoint.

" - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - }, - "documentation":"

Contains the parameters for CreateVpcPeeringConnection.

" - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of CreateVpcPeeringConnection.

" - }, - "CreateVpcRequest":{ - "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 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" - } - }, - "documentation":"

Contains the parameters for CreateVpc.

" - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - }, - "documentation":"

Contains the output of CreateVpc.

" - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "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" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnection.

" - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - }, - "documentation":"

Contains the output of CreateVpnConnection.

" - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" - }, - "CreateVpnGatewayRequest":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnGateway.

" - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - }, - "documentation":"

Contains the output of CreateVpnGateway.

" - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteCustomerGateway.

" - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteDhcpOptions.

" - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - } - }, - "documentation":"

Contains the parameters for DeleteFlowLogs.

" - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteFlowLogs.

" - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - }, - "documentation":"

Contains the parameters for DeleteInternetGateway.

" - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - }, - "documentation":"

Contains the parameters for DeleteKeyPair.

" - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteNatGateway.

" - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the output of DeleteNatGateway.

" - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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.

" - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkAcl.

" - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkInterface.

" - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - }, - "documentation":"

Contains the parameters for DeletePlacementGroup.

" - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - }, - "documentation":"

Contains the parameters for DeleteRoute.

" - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for DeleteRouteTable.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteSecurityGroup.

" - }, - "DeleteSnapshotRequest":{ - "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 EBS snapshot.

" - } - }, - "documentation":"

Contains the parameters for DeleteSnapshot.

" - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - }, - "documentation":"

Contains the parameters for DeleteTags.

" - }, - "DeleteVolumeRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVolume.

" - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcEndpoints.

" - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the endpoints that were not successfully deleted.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteVpcEndpoints.

" - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcPeeringConnection.

" - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DeleteVpcPeeringConnection.

" - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpc.

" - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "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" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnection.

" - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnGateway.

" - }, - "DeregisterImageRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - }, - "documentation":"

Contains the parameters for DeregisterImage.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAccountAttributes.

" - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - }, - "documentation":"

Contains the output of DescribeAccountAttributes.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAddresses.

" - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - }, - "documentation":"

Contains the output of DescribeAddresses.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAvailabilityZones.

" - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - }, - "documentation":"

Contains the output of DescribeAvailabiltyZones.

" - }, - "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.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeBundleTasks.

" - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - }, - "documentation":"

Contains the output of DescribeBundleTasks.

" - }, - "DescribeClassicLinkInstancesRequest":{ - "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" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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.

" - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeClassicLinkInstances.

" - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "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" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeConversionTasks.

" - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "documentation":"

Information about the conversion tasks.

", - "locationName":"conversionTasks" - } - }, - "documentation":"

Contains the output for DescribeConversionTasks.

" - }, - "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.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - }, - "documentation":"

Contains the parameters for DescribeCustomerGateways.

" - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeCustomerGateways.

" - }, - "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.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "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.

  • 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 DescribeDhcpOptions.

" - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - }, - "documentation":"

Contains the output of DescribeDhcpOptions.

" - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeExportTasks.

" - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "documentation":"

Information about the export tasks.

", - "locationName":"exportTaskSet" - } - }, - "documentation":"

Contains the output for DescribeExportTasks.

" - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "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)

" - }, - "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.

" - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "documentation":"

Information about the flow logs.

", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeFlowLogs.

" - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "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 associated with 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" - } - }, - "documentation":"

Contains the parameters for DescribeHosts.

" - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "documentation":"

Information about the Dedicated hosts.

", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeHosts.

" - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

" - } - }, - "documentation":"

Contains the parameters for DescribeIdFormat.

" - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resource.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdFormat.

" - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImageAttribute.

" - }, - "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" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, amazon (owner is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the sender of the request). 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).

  • 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 - The AWS account alias (for example, amazon).

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeImages.

" - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - }, - "documentation":"

Contains the output of DescribeImages.

" - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportImageTasks.

" - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportImageTasks.

" - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportSnapshotTasks.

" - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportSnapshotTasks.

" - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

", - "locationName":"attribute" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceAttribute.

" - }, - "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" - }, - "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" - }, - "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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceStatus.

" - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstanceStatus.

" - }, - "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" - }, - "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).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeInstances.

" - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

Zero or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstances.

" - }, - "DescribeInternetGatewaysRequest":{ - "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" - }, - "InternetGatewayIds":{ - "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.

  • 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.

" - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeInternetGateways.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeKeyPairs.

" - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - }, - "documentation":"

Contains the output of DescribeKeyPairs.

" - }, - "DescribeMovingAddressesRequest":{ - "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" - }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeMovingAddresses.

" - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "documentation":"

The status for each Elastic IP address.

", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeMovingAddresses.

" - }, - "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.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeNatGateways.

" - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "documentation":"

Information about the NAT gateways.

", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeNatGateways.

" - }, - "DescribeNetworkAclsRequest":{ - "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" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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.

" - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkAcls.

" - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "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" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfacesRequest":{ - "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" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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.

" - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaces.

" - }, - "DescribePlacementGroupsRequest":{ - "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":"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.

" - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - }, - "documentation":"

Contains the output of DescribePlacementGroups.

" - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribePrefixLists.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribePrefixLists.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeRegions.

" - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - }, - "documentation":"

Contains the output of DescribeRegions.

" - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" - }, - "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.

  • 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)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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.

  • 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" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", - "locationName":"offeringType" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstances.

" - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - }, - "documentation":"

Contains the output for DescribeReservedInstances.

" - }, - "DescribeRouteTablesRequest":{ - "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" - }, - "RouteTableIds":{ - "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 CIDR range specified in a route in the table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the 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.

  • 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.

" - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - }, - "documentation":"

Contains the output of DescribeRouteTables.

" - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "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.

" - }, - "FirstSlotStartTimeRange":{ - "shape":"SlotDateTimeRangeRequest", - "documentation":"

The time period for the first schedule to start.

" - }, - "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.

" - }, - "MaxSlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "documentation":"

Information about the available Scheduled Instances.

", - "locationName":"scheduledInstanceAvailabilitySet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "documentation":"

One or more Scheduled Instance IDs.

", - "locationName":"ScheduledInstanceId" - }, - "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.

" - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstances.

" - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - }, - "GroupId":{ - "shape":"GroupIds", - "documentation":"

One or more security group IDs in your account.

" - } - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "documentation":"

Information about the VPCs with the referencing security groups.

", - "locationName":"securityGroupReferenceSet" - } - } - }, - "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" - }, - "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 - A CIDR range that has been granted permission.

  • 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.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" - } - }, - "documentation":"

Contains the parameters for DescribeSecurityGroups.

" - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - }, - "documentation":"

Contains the output of DescribeSecurityGroups.

" - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshotAttribute.

" - }, - "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.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeSnapshotAttribute.

" - }, - "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" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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 - The AWS account alias (for example, amazon) that owns the snapshot.

  • 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.

  • 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshots.

" - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSnapshots.

" - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "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.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "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" - }, - "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.

" - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "DescribeSpotFleetRequestsResponse":{ - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "DescribeSpotInstanceRequestsRequest":{ - "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" - }, - "SpotInstanceRequestIds":{ - "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.

  • 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.

" - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "DescribeSpotPriceHistoryRequest":{ - "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" - }, - "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).

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "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.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "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" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeSubnets.

" - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - }, - "documentation":"

Contains the output of DescribeSubnets.

" - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeTags.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeTags.

" - }, - "DescribeVolumeAttributeRequest":{ - "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.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeAttribute.

" - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeVolumeAttribute.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeStatus.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVolumeStatus.

" - }, - "DescribeVolumesRequest":{ - "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" - }, - "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.

  • 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" - }, - "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.

" - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "documentation":"

Information about the volumes.

", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVolumes.

" - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcAttribute.

" - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcAttribute.

" - }, - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLinkDnsSupport.

" - }, - "DescribeVpcClassicLinkRequest":{ - "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" - }, - "VpcIds":{ - "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.

  • 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.

" - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLink.

" - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

A list of supported 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" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"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)

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "documentation":"

Information about the endpoints.

", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpoints.

" - }, - "DescribeVpcPeeringConnectionsRequest":{ - "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" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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.

" - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpcPeeringConnections.

" - }, - "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" - }, - "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 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpcs.

" - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcs.

" - }, - "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" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnConnections.

" - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpnConnections.

" - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnGateways.

" - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeVpnGateways.

" - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachClassicLinkVpc.

" - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DetachClassicLinkVpc.

" - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachInternetGateway.

" - }, - "DetachNetworkInterfaceRequest":{ - "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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for DetachNetworkInterface.

" - }, - "DetachVolumeRequest":{ - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DetachVolume.

" - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DetachVpnGateway.

" - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DisableVgwRoutePropagation.

" - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLink.

" - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLink.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DisassociateAddress.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DisassociateRouteTable.

" - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the disk image.

" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

Information about the volume.

" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "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" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "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" - }, - "ImportManifestUrl":{ - "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "locationName":"importManifestUrl" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "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" - } - }, - "documentation":"

Describes a disk image volume.

" - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "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 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 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.

" - }, - "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.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" - }, - "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" - } - }, - "documentation":"

Describes information used to set up an EBS volume specified in a block device mapping.

" - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Contains the parameters for EnableVolumeIO.

" - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLink.

" - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLink.

" - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" - } - }, - "documentation":"

Describes a Spot fleet event.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "instanceChange", - "fleetRequestChange", - "error" - ] - }, - "ExcessCapacityTerminationPolicy":{ - "type":"string", - "enum":[ - "noTermination", - "default" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the export task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "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.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The encryption key for your S3 bucket.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the format and location for an instance export task.

" - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "documentation":"

The date and time the flow log was created.

", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "documentation":"

The flow log ID.

", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "documentation":"

The status of the flow log (ACTIVE).

", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource on which the flow log was created.

", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic captured for the flow log.

", - "locationName":"trafficType" - }, - "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.

" - }, - "FlowLogSet":{ - "type":"list", - "member":{ - "shape":"FlowLog", - "locationName":"item" - } - }, - "FlowLogsResourceType":{ - "type":"string", - "enum":[ - "VPC", - "Subnet", - "NetworkInterface" - ] - }, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for GetConsoleOutput.

" - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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 tools decode the output for you.

", - "locationName":"output" - } - }, - "documentation":"

Contains the output of GetConsoleOutput.

" - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "WakeUp":{ - "shape":"Boolean", - "documentation":"

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

" - } - }, - "documentation":"

Contains the parameters for the request.

" - }, - "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" - } - }, - "documentation":"

Contains the output of the request.

" - }, - "GetPasswordDataRequest":{ - "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 Windows instance.

" - } - }, - "documentation":"

Contains the parameters for GetPasswordData.

" - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of GetPasswordData.

" - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupIds":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HistoryRecord":{ - "type":"structure", - "required":[ - "Timestamp", - "EventType", - "EventInformation" - ], - "members":{ - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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" - } - }, - "documentation":"

Describes an event in the history of the Spot fleet request.

" - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the properties of the Dedicated host.

" - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

the IDs of instances that are running on the Dedicated host.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type size (for example, m3.medium) of the running instance.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes an instance running on a Dedicated host.

" - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes properties of a Dedicated host.

" - }, - "HostTenancy":{ - "type":"string", - "enum":[ - "dedicated", - "host" - ] - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "locationName":"useLongIds" - }, - "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.

" - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "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":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the AMI.

", - "locationName":"description" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - }, - "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.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description string for the import image task.

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "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 VM Import/Export Prerequisites in the Amazon Elastic Compute Cloud User Guide.

Valid values: AWS | BYOL

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform.

Valid values: xen

" - }, - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" - }, - "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'.

" - } - }, - "documentation":"

Contains the parameters for ImportImage.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Hypervisor":{ - "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" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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 Base64-encoded MIME user data to be made available to the instance.

", - "locationName":"userData" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information about the instance types that you can import, see Before You Get Started in the Amazon Elastic Compute Cloud 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" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes the launch specification for VM import.

" - }, - "ImportInstanceRequest":{ - "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" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - }, - "documentation":"

Contains the parameters for ImportInstance.

" - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportInstance.

" - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import instance task.

" - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "locationName":"publicKeyMaterial" - } - }, - "documentation":"

Contains the parameters for ImportKeyPair.

" - }, - "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" - } - }, - "documentation":"

Contains the output of ImportKeyPair.

" - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description string for the import snapshot task.

" - }, - "DiskContainer":{ - "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.

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - }, - "documentation":"

Contains the parameters for ImportSnapshot.

" - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Information about the import snapshot task.

", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - } - }, - "documentation":"

Contains the output for ImportSnapshot.

" - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "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.

" - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "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" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

The volume size.

", - "locationName":"volume" - } - }, - "documentation":"

Contains the parameters for ImportVolume.

" - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportVolume.

" - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. 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":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

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" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched, if applicable.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance, if applicable.

", - "locationName":"kernelId" - }, - "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" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP 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" - }, - "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" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The Base64-encoded MIME 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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "locationName":"sriovNetSupport" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "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" - }, - "TotalCapacity":{ - "shape":"Integer", - "documentation":"

The total number of instances that can be launched onto the Dedicated host.

", - "locationName":"totalCapacity" - } - }, - "documentation":"

Information about the instance type that the Dedicated host supports.

" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance to export.

" - }, - "InstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":[ - "spot", - "scheduled" - ] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Any scheduled events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The event code.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a scheduled event for an instance.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "documentation":"

The system instance health or application instance health.

", - "locationName":"details" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge", - "t2.nano", - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "x1.4xlarge", - "x1.8xlarge", - "x1.16xlarge", - "x1.32xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "g2.8xlarge", - "cg1.4xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

[EC2-VPC only] When you authorize or revoke security group rules, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "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" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "IpRanges":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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 Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "LaunchSpecsList":{ - "type":"list", - "member":{ - "shape":"SpotFleetLaunchSpecification", - "locationName":"item" - }, - "min":1 - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "max":255, - "min":5 - }, - "ModifyHostsRequest":{ - "type":"structure", - "required":[ - "HostIds", - "AutoPlacement" - ], - "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" - } - }, - "documentation":"

Contains the parameters for ModifyHosts.

" - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated hosts that were successfully modified.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated hosts that could not be modified. Check whether the setting you requested can be used.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ModifyHosts.

" - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicate whether the resource should use longer IDs (17-character IDs).

" - } - }, - "documentation":"

Contains the parameters of ModifyIdFormat.

" - }, - "ModifyImageAttributeRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyImageAttribute.

" - }, - "ModifyInstanceAttributeRequest":{ - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified base64-encoded value. For command line tools, base64 encoding is performed for you.

", - "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 for the instance.

There is no way to disable enhanced networking at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Contains the parameters for ModifyInstanceAttribute.

" - }, - "ModifyInstancePlacementRequest":{ - "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.

", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated host that the instance will have affinity with.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ModifyInstancePlacement.

" - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyInstancePlacement.

" - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ModifyNetworkInterfaceAttribute.

" - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - }, - "documentation":"

Contains the parameters for ModifyReservedInstances.

" - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - }, - "documentation":"

Contains the output of ModifyReservedInstances.

" - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifySnapshotAttribute.

" - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "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.

" - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifySpotFleetRequest.

" - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - }, - "documentation":"

Contains the parameters for ModifySubnetAttribute.

" - }, - "ModifyVolumeAttributeRequest":{ - "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.

" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" - } - }, - "documentation":"

Contains the parameters for ModifyVolumeAttribute.

" - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyVpcAttribute.

" - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"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" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs to disassociate from the endpoint.

", - "locationName":"RemoveRouteTableId" - } - }, - "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyVpcEndpoint.

" - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "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.

" - } - } - }, - "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" - } - } - }, - "MonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for MonitorInstances.

" - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of MonitorInstances.

" - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for MoveAddressToVpc.

" - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID for the Elastic IP address.

", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the move of the IP address.

", - "locationName":"status" - } - }, - "documentation":"

Contains the output of MoveAddressToVpc.

" - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "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" - } - }, - "documentation":"

Describes the status of a moving Elastic IP address.

" - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "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.

", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "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)

", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionedBandwidth" - } - }, - "documentation":"

Describes a NAT gateway.

" - }, - "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" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface associated with the NAT gateway.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" - }, - "NatGatewayAddressList":{ - "type":"list", - "member":{ - "shape":"NatGatewayAddress", - "locationName":"item" - } - }, - "NatGatewayList":{ - "type":"list", - "member":{ - "shape":"NatGateway", - "locationName":"item" - } - }, - "NatGatewayState":{ - "type":"string", - "enum":[ - "pending", - "failed", - "available", - "deleting", - "deleted" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "documentation":"

The type of interface.

", - "locationName":"interfaceType" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "NetworkInterfaceType":{ - "type":"string", - "enum":[ - "interface", - "natGateway" - ] - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "OccurrenceDayRequestSet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"OccurenceDay" - } - }, - "OccurrenceDaySet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"item" - } - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OperationType":{ - "type":"string", - "enum":[ - "add", - "remove" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PeeringConnectionOptions":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC via ClassicLink.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - }, - "documentation":"

Describes the VPC peering connection options.

" - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "required":[ - "AllowEgressFromLocalClassicLinkToRemoteVpc", - "AllowEgressFromLocalVpcToRemoteClassicLink" - ], - "members":{ - "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.

" - }, - "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.

" - } - }, - "documentation":"

The VPC peering connection options.

" - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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 Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "locationName":"hostId" - }, - "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" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "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.

" - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - } - }, - "documentation":"

The ID of the prefix.

" - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressConfigSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesPrivateIpAddressConfig", - "locationName":"PrivateIpAddressConfigSet" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "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", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"status" - } - }, - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

" - } - }, - "documentation":"

Describes a request to purchase Scheduled Instances.

" - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "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" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - }, - "documentation":"

Contains the parameters for PurchaseReservedInstancesOffering.

" - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Contains the output of PurchaseReservedInstancesOffering.

" - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without 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 - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "documentation":"

One or more purchase requests.

", - "locationName":"PurchaseRequest" - } - }, - "documentation":"

Contains the parameters for PurchaseScheduledInstances.

" - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of PurchaseScheduledInstances.

" - }, - "PurchasedScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for RebootInstances.

" - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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 for the AMI and any instances that you launch from the AMI.

There is no way to disable enhanced networking 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" - } - }, - "documentation":"

Contains the parameters for RegisterImage.

" - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of RegisterImage.

" - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for RejectVpcPeeringConnection.

" - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of RejectVpcPeeringConnection.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ReleaseAddress.

" - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated hosts you want to release.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ReleaseHosts.

" - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated hosts that were successfully released.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated hosts that could not be released, including an error message.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ReleaseHosts.

" - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclEntry.

" - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for ReplaceRoute.

" - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for ReplaceRouteTableAssociation.

" - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceRouteTableAssociation.

" - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ReportInstanceStatus.

" - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration for the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "RequestSpotInstancesRequest":{ - "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":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "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" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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.

" - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "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":"ValueStringList", - "locationName":"SecurityGroup" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

[EC2-Classic only] One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reservations purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - }, - "documentation":"

Describes the modification request/s.

" - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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).

" - } - }, - "documentation":"

Contains the parameters for ResetImageAttribute.

" - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "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.

" - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - }, - "documentation":"

Contains the parameters for ResetNetworkInterfaceAttribute.

" - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ResetSnapshotAttribute.

" - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "ResponseHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RestoreAddressToClassicRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for RestoreAddressToClassic.

" - }, - "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" - } - }, - "documentation":"

Contains the output of RestoreAddressToClassic.

" - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RevokeSecurityGroupIngress.

" - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "documentation":"

The prefix of the AWS service.

", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "locationName":"subnetId" - }, - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "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":"

Data to configure the instance, or a script to run during instance launch. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). For API calls, the text must be base64-encoded. For command line tools, the encoding is performed for you, and you can load the text from a file.

" - }, - "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.

", - "locationName":"BlockDeviceMapping" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "documentation":"

The monitoring for the instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - } - }, - "documentation":"

Contains the parameters for RunInstances.

" - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "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 - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RunScheduledInstances.

" - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "documentation":"

The IDs of the newly launched instances.

", - "locationName":"instanceIdSet" - } - }, - "documentation":"

Contains the output of RunScheduledInstances.

" - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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":"

A base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf. For command line tools, base64 encoding is performed for you.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the Base64 encoded JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "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":{ - "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" - }, - "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":{ - "shape":"DateTime", - "documentation":"

The start date for the Scheduled Instance.

", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "documentation":"

The end date for the Scheduled Instance.

", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The date when the Scheduled Instance was purchased.

", - "locationName":"createDate" - } - }, - "documentation":"

Describes a Scheduled Instance.

" - }, - "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":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time period for the first schedule to start.

", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price for a single instance.

", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of available instances.

", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The minimum term. The only possible value is 365 days.

", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The maximum term. The only possible value is 365 days.

", - "locationName":"maxTermDurationInDays" - } - }, - "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "locationName":"occurrenceUnit" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

" - }, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" - }, - "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.

" - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "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.

" - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN).

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name.

" - } - }, - "documentation":"

Describes an IAM instance profile for a Scheduled Instance.

" - }, - "ScheduledInstancesLaunchSpecification":{ - "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" - }, - "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.

" - }, - "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

" - } - }, - "documentation":"

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

" - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled.

" - } - }, - "documentation":"

Describes whether monitoring is enabled for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address of the network interface within the subnet.

" - }, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "documentation":"

The private IP addresses.

", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses.

" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP address to instances launched 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.

" - }, - "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.

" - } - }, - "documentation":"

Describes a network interface for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

" - } - }, - "documentation":"

Describes the placement for a Scheduled Instance.

" - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address.

" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

" - } - }, - "documentation":"

Describes a private IP address for a Scheduled Instance.

" - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupReference":{ - "type":"structure", - "required":[ - "GroupId", - "ReferencingVpcId" - ], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of your security group.

", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with the referencing security group.

", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC with a security group that references your security group.

" - }, - "SecurityGroupReferences":{ - "type":"list", - "member":{ - "shape":"SecurityGroupReference", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "SlotDateTimeRangeRequest":{ - "type":"structure", - "required":[ - "EarliestTime", - "LatestTime" - ], - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule.

" - }, - "Snapshot":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"volumeId" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "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" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or AWS account ID that owns the snapshot.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - } - }, - "documentation":"

The disk container object for the import snapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL of the disk image from which the snapshot is created.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "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 Base64-encoded MIME user data to make available to the instances.

", - "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.

", - "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.

", - "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" - }, - "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" - } - }, - "documentation":"

Describes the launch specification for one or more Spot instances.

" - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables monitoring for the instance.

Default: false

", - "locationName":"enabled" - } - }, - "documentation":"

Describes whether monitoring is enabled.

" - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The state of the Spot fleet request.

", - "locationName":"spotFleetRequestState" - }, - "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" - } - }, - "documentation":"

Describes a Spot fleet request.

" - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "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" - }, - "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" - }, - "IamFleetRole":{ - "shape":"String", - "documentation":"

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "documentation":"

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" - }, - "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" - }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" - }, - "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" - } - }, - "documentation":"

Describes the configuration of a Spot fleet request.

" - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code. For a list of status codes, see Spot 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" - } - }, - "documentation":"

Describes the status of a Spot instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "documentation":"

One or more IP ranges. Not applicable for stale security group rules.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "documentation":"

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "documentation":"

One or more security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", - "locationName":"groups" - } - }, - "documentation":"

Describes a stale rule in a security group.

" - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "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.

", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "documentation":"

Information about the stale outbound rules in the security group.

", - "locationName":"staleIpPermissionsEgress" - } - }, - "documentation":"

Describes a stale security group (a security group that contains stale rules).

" - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for StartInstances.

" - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StartInstances.

" - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "Status":{ - "type":"string", - "enum":[ - "MoveInProgress", - "InVpc", - "InClassic" - ] - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data", - "initializing" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for StopInstances.

" - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StopInstances.

" - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable", - "initializing" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated", - "host" - ] - }, - "TerminateInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for TerminateInstances.

" - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of TerminateInstances.

" - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Contains the parameters for UnassignPrivateIpAddresses.

" - }, - "UnmonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for UnmonitorInstances.

" - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of UnmonitorInstances.

" - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "Error":{ - "shape":"UnsuccessfulItemError", - "documentation":"

Information about the error.

", - "locationName":"error" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource.

", - "locationName":"resourceId" - } - }, - "documentation":"

Information about items that were not successfully processed in a batch call.

" - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message accompanying the error code.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "documentation":"

The Base64-encoded MIME user data for the instance.

", - "locationName":"data" - } - }, - "documentation":"

Describes the user data to be made available to an instance.

" - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the referenced security group, if applicable.

", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection, if applicable.

", - "locationName":"vpcPeeringConnectionId" - }, - "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.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdGroupPairSet":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"volumeType" - }, - "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.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2", - "sc1", - "st1" - ] - }, - "Vpc":{ - "type":"structure", - "members":{ - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "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" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

The policy document associated with the endpoint.

", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "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" - } - }, - "documentation":"

Describes a VPC endpoint.

" - }, - "VpcEndpointSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpoint", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the accepter VPC. CIDR block information is 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.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - }, - "documentation":"

Describes the VPC peering connection options.

" - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", - "locationName":"peeringOptions" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - } - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/waiters-2.json deleted file mode 100644 index 652a8cad..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2015-10-01/waiters-2.json +++ /dev/null @@ -1,589 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeInstances", - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Reservations[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConsoleOutputAvailable": { - "operation": "GetConsoleOutput", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(Output || '') > `0`", - "expected": true - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageExists": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Images[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidAMIID.NotFound", - "state": "retry" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "KeyPairExists": { - "operation": "DescribeKeyPairs", - "delay": 5, - "maxAttempts": 6, - "acceptors": [ - { - "expected": true, - "matcher": "pathAll", - "state": "success", - "argument": "length(KeyPairs[].KeyName) > `0`" - }, - { - "expected": "InvalidKeyPair.NotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NatGatewayAvailable": { - "operation": "DescribeNatGateways", - "delay": 15, - "maxAttempts": 40, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "NatGateways[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "failed" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleting" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleted" - }, - { - "state": "retry", - "matcher": "error", - "expected": "NatGatewayNotFound" - } - ] - }, - "NetworkInterfaceAvailable": { - "operation": "DescribeNetworkInterfaces", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "NetworkInterfaces[].Status" - }, - { - "expected": "InvalidNetworkInterfaceID.NotFound", - "matcher": "error", - "state": "failure" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "matcher": "error", - "expected": "InvalidVolume.NotFound", - "state": "success" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 60, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpcPeeringConnectionExists": { - "delay": 15, - "operation": "DescribeVpcPeeringConnections", - "maxAttempts": 40, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcPeeringConnectionID.NotFound", - "state": "retry" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/paginators-1.json deleted file mode 100644 index 2bd01ad5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/paginators-1.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotFleetRequests": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotFleetRequestConfigs" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeVolumes": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Volumes" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/service-2.json deleted file mode 100644 index 7ebbf187..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/service-2.json +++ /dev/null @@ -1,17629 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-04-01", - "endpointPrefix":"ec2", - "protocol":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-04-01" - }, - "operations":{ - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"}, - "documentation":"

Allocates a Dedicated Host to your account. At minimum you need to specify the instance size type, Availability Zone, and quantity of hosts you want to allocate.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

You can have up to 50 rules per security group (covering both ingress and egress rules).

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"}, - "documentation":"

Cancels the specified Spot fleet requests.

After you cancel a Spot fleet request, the Spot fleet launches no new Spot instances. You must specify whether the Spot fleet should also terminate its Spot instances. If you terminate the instances, the Spot fleet request enters the cancelled_terminating state. Otherwise, the Spot fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot instance requests. Spot instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot instance request does not terminate running Spot instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. 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.

" - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"}, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified subnet. A NAT gateway can be used to enable instances in a private subnet to connect to the Internet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Reserved Instance listing at a time. To get a list of your Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Reserved Instances, and specify the upfront price to receive for them. Your Reserved Instance listings then become available for purchase. To view the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"}, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot instances, enabling you to view Spot instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes 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.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified AWS service. An endpoint enables you to create a private connection between your VPC and another AWS service in your account. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

Currently, only endpoints to Amazon S3 are supported.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"}, - "documentation":"

Deletes one or more flow logs.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"}, - "documentation":"

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot instances.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"}, - "documentation":"

Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"}, - "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" - }, - "DescribeHostReservationOfferings":{ - "name":"DescribeHostReservationOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationOfferingsRequest"}, - "output":{"shape":"DescribeHostReservationOfferingsResult"}, - "documentation":"

Describes the Dedicated Host Reservations that are available to purchase.

The results describe all the Dedicated Host Reservation offerings, including offerings that may not match the instance family and region of your Dedicated Hosts. When purchasing an offering, ensure that the the instance family and region of the offering matches that of the Dedicated Host/s it will be associated with. For an overview of supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeHostReservations":{ - "name":"DescribeHostReservations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationsRequest"}, - "output":{"shape":"DescribeHostReservationsResult"}, - "documentation":"

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

" - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "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.

" - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"}, - "documentation":"

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: instance | reservation | snapshot | volume.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "DescribeIdentityIdFormat":{ - "name":"DescribeIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityIdFormatRequest"}, - "output":{"shape":"DescribeIdentityIdFormatResult"}, - "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: instance | reservation | snapshot | volume.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"}, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Describes your import snapshot tasks.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"}, - "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"}, - "documentation":"

Describes one or more of the your NAT gateways.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"}, - "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a VPC endpoint.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"}, - "documentation":"

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

" - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"}, - "documentation":"

Describes one or more of your Scheduled Instances.

" - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

[EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"}, - "documentation":"

Describes the running instances for the specified Spot fleet.

" - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"}, - "documentation":"

Describes the events for the specified Spot fleet request during the specified time.

Spot fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event.

" - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"}, - "documentation":"

Describes your Spot fleet requests.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot instance requests that belong to your account. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

You can use DescribeSpotInstanceRequests to find a running Spot instance by examining the response. If the status of the Spot instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

[EC2-VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

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.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"}, - "documentation":"

Describes all supported AWS services that can be specified when creating a VPC endpoint.

" - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"}, - "documentation":"

Describes one or more of your VPC endpoints.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"}, - "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

" - }, - "GetHostReservationPurchasePreview":{ - "name":"GetHostReservationPurchasePreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, - "output":{"shape":"GetHostReservationPurchasePreviewResult"}, - "documentation":"

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Imports a disk into an EBS snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"}, - "documentation":"

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, AWS will place instances that you launch with a tenancy of host, but without targeting a specific host ID, onto any available Dedicated Host in your account which has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID if you want the instance to launch onto a specific host. If no host ID is provided, the instance will be launched onto a suitable host which has auto-placement enabled.

" - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"}, - "documentation":"

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created. The following resource types support longer IDs: instance | reservation | snapshot | volume.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyIdentityIdFormat":{ - "name":"ModifyIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdentityIdFormatRequest"}, - "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

The following resource types support longer IDs: instance | reservation | snapshot | volume. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

The SriovNetSupport enhanced networking attribute cannot be changed using this command. Instead, enable SriovNetSupport on an instance and create an AMI from the instance. This will result in an image with SriovNetSupport enabled.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"}, - "documentation":"

Set the instance affinity value for a specific stopped instance and modify the instance tenancy setting.

Instance affinity is disabled by default. When instance affinity is host and it is not associated with a specific Dedicated Host, the next time it is launched it will automatically be associated with the host it lands on. This relationship will persist if the instance is stopped/started, or rebooted.

You can modify the host ID associated with a stopped instance. If a stopped instance has a new host ID association, the instance will target that host when restarted.

You can modify the tenancy of a stopped instance with a tenancy of host or dedicated.

Affinity, hostID, and tenancy are not required parameters, but at least one of them must be specified in the request. Affinity and tenancy can be modified in the same request, but tenancy can only be modified on instances that are stopped.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"}, - "documentation":"

Modifies the specified Spot fleet request.

While the Spot fleet request is being modified, it is in the modifying state.

To scale up your Spot fleet, increase its target capacity. The Spot fleet launches the additional Spot instances according to the allocation strategy for the Spot fleet request. If the allocation strategy is lowestPrice, the Spot fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot fleet distributes the instances across the Spot pools.

To scale down your Spot fleet, decrease its target capacity. First, the Spot fleet cancels any open bids that exceed the new target capacity. You can request that the Spot fleet terminate Spot instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot fleet keep the fleet at its current size, but not replace any Spot instances that are interrupted or that you terminate manually.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. You can modify the policy associated with the endpoint, and you can add and remove route tables associated with the endpoint.

" - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, - "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in different accounts, each owner must initiate a separate request to modify the peering connection options, depending on whether their VPC was the requester or accepter for the VPC peering connection. If the peered VPCs are in the same account, you can modify the requester and accepter options in the same request. To confirm which VPC is the accepter and requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"}, - "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" - }, - "PurchaseHostReservation":{ - "name":"PurchaseHostReservation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseHostReservationRequest"}, - "output":{"shape":"PurchaseHostReservationResult"}, - "documentation":"

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you obtain a capacity reservation for a certain instance configuration over a specified period of time and pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"}, - "documentation":"

Purchases one or more Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. 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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"}, - "documentation":"

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, 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.

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"}, - "documentation":"

Creates a Spot fleet request.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot fleet requests Spot instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot instances in your Spot fleet are in different Spot pools, you can improve the availability of your fleet.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot instance request. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot Instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"}, - "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

To tag your instance, ensure that it is running as CreateTags requires a resource ID. For more information about tagging, see Tagging Your Amazon EC2 Resources.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC only accounts] If you don't specify a subnet in the request, we choose a default subnet from your default VPC for you.

[EC2-Classic accounts] If you're launching into EC2-Classic and you don't specify an Availability Zone, we choose one for you.

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.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

Some instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails. For more information, see Instance Types Available Only in a VPC.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"}, - "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance.

We don't charge hourly usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot instances, and you can't stop instance store-backed instances.

When you stop an instance, we shut it down. You can restart your instance at any time. Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Stopping an instance is different to rebooting or terminating it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "shapes":{ - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for AcceptVpcPeeringConnection.

" - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of AcceptVpcPeeringConnection.

" - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - } - }, - "documentation":"

Describes a running instance in a Spot fleet.

" - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "ActivityStatus":{ - "type":"string", - "enum":[ - "error", - "pending_fulfillment", - "pending_termination", - "fulfilled" - ] - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "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" - }, - "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.

" - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of AllocateAddress.

" - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

Specify the instance type that you want your Dedicated Hosts to be configured for. When you specify the instance type, that is the only instance type that you can launch onto that host.

", - "locationName":"instanceType" - }, - "Quantity":{ - "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.

" - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "documentation":"

The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host.

", - "locationName":"hostIdSet" - } - }, - "documentation":"

Contains the output of AllocateHosts.

" - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "AllocationState":{ - "type":"string", - "enum":[ - "available", - "under-assessment", - "permanent-failure", - "released", - "released-permanent-failure" - ] - }, - "AllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "diversified" - ] - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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.

" - }, - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "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.

" - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateAddress.

" - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "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.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AssociateDhcpOptions.

" - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "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" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for AssociateRouteTable.

" - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateRouteTable.

" - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "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 an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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.

" - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of AttachClassicLinkVpc.

" - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for AttachInternetGateway.

" - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for AttachNetworkInterface.

" - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - }, - "documentation":"

Contains the output of AttachNetworkInterface.

" - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "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 EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - }, - "documentation":"

Contains the parameters for AttachVolume.

" - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AttachVpnGateway.

" - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - }, - "documentation":"

Contains the output of AttachVpnGateway.

" - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

The attribute value. The valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

The attribute value. Note that the value is case-sensitive.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a String.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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 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 AuthorizeSecurityGroupEgress.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[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 traffic. If you specify -1, traffic on all ports is allowed, regardless of any ports you specify.

" - }, - "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. Can be used to specify multiple rules in a single command.

" - } - }, - "documentation":"

Contains the parameters for AuthorizeSecurityGroupIngress.

" - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "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" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "documentation":"

The total number of instances that the Dedicated Host supports.

", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs available on the Dedicated Host.

", - "locationName":"availableVCpus" - } - }, - "documentation":"

The capacity information for instances launched onto the Dedicated Host.

" - }, - "AvailableInstanceCapacityList":{ - "type":"list", - "member":{ - "shape":"InstanceCapacity", - "locationName":"item" - } - }, - "BatchState":{ - "type":"string", - "enum":[ - "submitted", - "active", - "cancelled", - "failed", - "cancelled_running", - "cancelled_terminating", - "modifying" - ] - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for BundleInstance.

" - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of BundleInstance.

" - }, - "BundleTask":{ - "type":"structure", - "members":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBatchErrorCode":{ - "type":"string", - "enum":[ - "fleetRequestIdDoesNotExist", - "fleetRequestIdMalformed", - "fleetRequestNotInCancellableState", - "unexpectedError" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "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" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - }, - "documentation":"

Contains the parameters for CancelBundleTask.

" - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of CancelBundleTask.

" - }, - "CancelConversionRequest":{ - "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" - }, - "ReasonMessage":{ - "shape":"String", - "documentation":"

The reason for canceling the conversion task.

", - "locationName":"reasonMessage" - } - }, - "documentation":"

Contains the parameters for CancelConversionTask.

" - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for CancelExportTask.

" - }, - "CancelImportTaskRequest":{ - "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.

" - }, - "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.

" - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output for CancelImportTask.

" - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - }, - "documentation":"

Contains the parameters for CancelReservedInstancesListing.

" - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CancelReservedInstancesListing.

" - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot fleet error.

" - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "documentation":"

The error.

", - "locationName":"error" - } - }, - "documentation":"

Describes a Spot fleet request that was not successfully canceled.

" - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "locationName":"terminateInstances" - } - }, - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "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.

", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The previous state of the Spot fleet request.

", - "locationName":"previousSpotFleetRequestState" - } - }, - "documentation":"

Describes a Spot fleet request that was successfully canceled.

" - }, - "CancelSpotFleetRequestsSuccessSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsSuccessItem", - "locationName":"item" - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image, in GiB.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" - } - }, - "documentation":"

Describes the client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ConfirmProductInstance.

" - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ConfirmProductInstance.

" - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the task.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "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" - }, - "SourceRegion":{ - "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.

" - }, - "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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopyImage.

" - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CopyImage.

" - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopySnapshot.

" - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - }, - "documentation":"

Contains the output of CopySnapshot.

" - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "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).

" - }, - "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

" - } - }, - "documentation":"

Contains the parameters for CreateCustomerGateway.

" - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - }, - "documentation":"

Contains the output of CreateCustomerGateway.

" - }, - "CreateDhcpOptionsRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for CreateDhcpOptions.

" - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - }, - "documentation":"

Contains the output of CreateDhcpOptions.

" - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "locationName":"ResourceId" - }, - "ResourceType":{ - "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" - }, - "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.

" - }, - "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" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be created successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of CreateFlowLogs.

" - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "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.

" - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CreateImage.

" - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "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.

" - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "documentation":"

Information about the instance export task.

", - "locationName":"exportTask" - } - }, - "documentation":"

Contains the output for CreateInstanceExportTask.

" - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateInternetGateway.

" - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - }, - "documentation":"

Contains the output of CreateInternetGateway.

" - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - }, - "documentation":"

Contains the parameters for CreateKeyPair.

" - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateNatGateway.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateNatGateway.

" - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAclEntry.

" - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAcl.

" - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - }, - "documentation":"

Contains the output of CreateNetworkAcl.

" - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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 CreateNetworkInterface.

" - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - }, - "documentation":"

Contains the output of CreateNetworkInterface.

" - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - }, - "documentation":"

Contains the parameters for CreatePlacementGroup.

" - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - }, - "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CreateReservedInstancesListing.

" - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for CreateRoute.

" - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of CreateRoute.

" - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateRouteTable.

" - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - }, - "documentation":"

Contains the output of CreateRouteTable.

" - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - }, - "documentation":"

Contains the parameters for CreateSecurityGroup.

" - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Contains the output of CreateSecurityGroup.

" - }, - "CreateSnapshotRequest":{ - "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 EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - }, - "documentation":"

Contains the parameters for CreateSnapshot.

" - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - }, - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "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":"

Contains the parameters for CreateSubnet.

" - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - }, - "documentation":"

Contains the output of CreateSubnet.

" - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - }, - "documentation":"

Contains the parameters for CreateTags.

" - }, - "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" - } - }, - "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - }, - "documentation":"

Describes modifications to the permissions for a volume.

" - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "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" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384 for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "SnapshotId":{ - "shape":"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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

" - }, - "Encrypted":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVolume.

" - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs.

", - "locationName":"RouteTableId" - }, - "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 CreateVpcEndpoint.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateVpcEndpoint.

" - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - }, - "documentation":"

Contains the parameters for CreateVpcPeeringConnection.

" - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of CreateVpcPeeringConnection.

" - }, - "CreateVpcRequest":{ - "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 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" - } - }, - "documentation":"

Contains the parameters for CreateVpc.

" - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - }, - "documentation":"

Contains the output of CreateVpc.

" - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "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" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnection.

" - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - }, - "documentation":"

Contains the output of CreateVpnConnection.

" - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" - }, - "CreateVpnGatewayRequest":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnGateway.

" - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - }, - "documentation":"

Contains the output of CreateVpnGateway.

" - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteCustomerGateway.

" - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteDhcpOptions.

" - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - } - }, - "documentation":"

Contains the parameters for DeleteFlowLogs.

" - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteFlowLogs.

" - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - }, - "documentation":"

Contains the parameters for DeleteInternetGateway.

" - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - }, - "documentation":"

Contains the parameters for DeleteKeyPair.

" - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteNatGateway.

" - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the output of DeleteNatGateway.

" - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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.

" - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkAcl.

" - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkInterface.

" - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - }, - "documentation":"

Contains the parameters for DeletePlacementGroup.

" - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - }, - "documentation":"

Contains the parameters for DeleteRoute.

" - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for DeleteRouteTable.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteSecurityGroup.

" - }, - "DeleteSnapshotRequest":{ - "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 EBS snapshot.

" - } - }, - "documentation":"

Contains the parameters for DeleteSnapshot.

" - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - }, - "documentation":"

Contains the parameters for DeleteTags.

" - }, - "DeleteVolumeRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVolume.

" - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcEndpoints.

" - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the endpoints that were not successfully deleted.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteVpcEndpoints.

" - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcPeeringConnection.

" - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DeleteVpcPeeringConnection.

" - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpc.

" - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "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" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnection.

" - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnGateway.

" - }, - "DeregisterImageRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - }, - "documentation":"

Contains the parameters for DeregisterImage.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAccountAttributes.

" - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - }, - "documentation":"

Contains the output of DescribeAccountAttributes.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAddresses.

" - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - }, - "documentation":"

Contains the output of DescribeAddresses.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAvailabilityZones.

" - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - }, - "documentation":"

Contains the output of DescribeAvailabiltyZones.

" - }, - "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.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeBundleTasks.

" - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - }, - "documentation":"

Contains the output of DescribeBundleTasks.

" - }, - "DescribeClassicLinkInstancesRequest":{ - "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" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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.

" - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeClassicLinkInstances.

" - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "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" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

", - "locationName":"filter" - }, - "ConversionTaskIds":{ - "shape":"ConversionIdStringList", - "documentation":"

One or more conversion task IDs.

", - "locationName":"conversionTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeConversionTasks.

" - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "documentation":"

Information about the conversion tasks.

", - "locationName":"conversionTasks" - } - }, - "documentation":"

Contains the output for DescribeConversionTasks.

" - }, - "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.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - }, - "documentation":"

Contains the parameters for DescribeCustomerGateways.

" - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeCustomerGateways.

" - }, - "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.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "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.

  • 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 DescribeDhcpOptions.

" - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - }, - "documentation":"

Contains the output of DescribeDhcpOptions.

" - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeExportTasks.

" - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "documentation":"

Information about the export tasks.

", - "locationName":"exportTaskSet" - } - }, - "documentation":"

Contains the output for DescribeExportTasks.

" - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "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)

" - }, - "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.

" - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "documentation":"

Information about the flow logs.

", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeFlowLogs.

" - }, - "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.

" - }, - "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 (No Upfront | Partial Upfront | All Upfront).

" - }, - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" - } - } - }, - "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" - } - } - }, - "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 (No Upfront | Partial Upfront | All Upfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

" - }, - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" - } - } - }, - "DescribeHostReservationsResult":{ - "type":"structure", - "members":{ - "HostReservationSet":{ - "shape":"HostReservationSet", - "documentation":"

Details about the reservation's configuration.

", - "locationName":"hostReservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeHosts.

" - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "documentation":"

Information about the Dedicated Hosts.

", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeHosts.

" - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

" - } - }, - "documentation":"

Contains the parameters for DescribeIdFormat.

" - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resource.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdFormat.

" - }, - "DescribeIdentityIdFormatRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeIdentityIdFormat.

" - }, - "DescribeIdentityIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resources.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdentityIdFormat.

" - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImageAttribute.

" - }, - "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" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.

", - "locationName":"Owner" - }, - "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).

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeImages.

" - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - }, - "documentation":"

Contains the output of DescribeImages.

" - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportImageTasks.

" - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportImageTasks.

" - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportSnapshotTasks.

" - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportSnapshotTasks.

" - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "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.

" - }, - "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" - }, - "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" - }, - "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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceStatus.

" - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstanceStatus.

" - }, - "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" - }, - "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).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeInstances.

" - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

Zero or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstances.

" - }, - "DescribeInternetGatewaysRequest":{ - "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" - }, - "InternetGatewayIds":{ - "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.

  • 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.

" - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeInternetGateways.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeKeyPairs.

" - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - }, - "documentation":"

Contains the output of DescribeKeyPairs.

" - }, - "DescribeMovingAddressesRequest":{ - "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" - }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeMovingAddresses.

" - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "documentation":"

The status for each Elastic IP address.

", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeMovingAddresses.

" - }, - "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.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeNatGateways.

" - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "documentation":"

Information about the NAT gateways.

", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeNatGateways.

" - }, - "DescribeNetworkAclsRequest":{ - "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" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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.

" - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkAcls.

" - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "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" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfacesRequest":{ - "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" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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.

" - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaces.

" - }, - "DescribePlacementGroupsRequest":{ - "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":"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.

" - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - }, - "documentation":"

Contains the output of DescribePlacementGroups.

" - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribePrefixLists.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribePrefixLists.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeRegions.

" - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - }, - "documentation":"

Contains the output of DescribeRegions.

" - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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":"filters" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" - }, - "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.

  • 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)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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.

  • 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" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", - "locationName":"offeringType" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstances.

" - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - }, - "documentation":"

Contains the output for DescribeReservedInstances.

" - }, - "DescribeRouteTablesRequest":{ - "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" - }, - "RouteTableIds":{ - "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 CIDR range specified in a route in the table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the 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.

  • 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.

" - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - }, - "documentation":"

Contains the output of DescribeRouteTables.

" - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "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.

" - }, - "FirstSlotStartTimeRange":{ - "shape":"SlotDateTimeRangeRequest", - "documentation":"

The time period for the first schedule to start.

" - }, - "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.

" - }, - "MaxSlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "documentation":"

Information about the available Scheduled Instances.

", - "locationName":"scheduledInstanceAvailabilitySet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "documentation":"

One or more Scheduled Instance IDs.

", - "locationName":"ScheduledInstanceId" - }, - "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.

" - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstances.

" - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - }, - "GroupId":{ - "shape":"GroupIds", - "documentation":"

One or more security group IDs in your account.

" - } - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "documentation":"

Information about the VPCs with the referencing security groups.

", - "locationName":"securityGroupReferenceSet" - } - } - }, - "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" - }, - "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 - A CIDR range that has been granted permission.

  • 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.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" - } - }, - "documentation":"

Contains the parameters for DescribeSecurityGroups.

" - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - }, - "documentation":"

Contains the output of DescribeSecurityGroups.

" - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshotAttribute.

" - }, - "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.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeSnapshotAttribute.

" - }, - "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" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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.

  • 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshots.

" - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSnapshots.

" - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "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.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "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" - }, - "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.

" - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "DescribeSpotFleetRequestsResponse":{ - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "DescribeSpotInstanceRequestsRequest":{ - "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" - }, - "SpotInstanceRequestIds":{ - "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.

  • 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.

" - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "DescribeSpotPriceHistoryRequest":{ - "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" - }, - "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).

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "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.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "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" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeSubnets.

" - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - }, - "documentation":"

Contains the output of DescribeSubnets.

" - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeTags.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeTags.

" - }, - "DescribeVolumeAttributeRequest":{ - "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.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeAttribute.

" - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeVolumeAttribute.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeStatus.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVolumeStatus.

" - }, - "DescribeVolumesRequest":{ - "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" - }, - "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.

  • 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" - }, - "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.

" - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "documentation":"

Information about the volumes.

", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVolumes.

" - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcAttribute.

" - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcAttribute.

" - }, - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLinkDnsSupport.

" - }, - "DescribeVpcClassicLinkRequest":{ - "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" - }, - "VpcIds":{ - "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.

  • 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.

" - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLink.

" - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

A list of supported 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" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"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)

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "documentation":"

Information about the endpoints.

", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpoints.

" - }, - "DescribeVpcPeeringConnectionsRequest":{ - "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" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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.

" - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpcPeeringConnections.

" - }, - "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" - }, - "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 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpcs.

" - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcs.

" - }, - "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" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnConnections.

" - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpnConnections.

" - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnGateways.

" - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeVpnGateways.

" - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachClassicLinkVpc.

" - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DetachClassicLinkVpc.

" - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachInternetGateway.

" - }, - "DetachNetworkInterfaceRequest":{ - "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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for DetachNetworkInterface.

" - }, - "DetachVolumeRequest":{ - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DetachVolume.

" - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DetachVpnGateway.

" - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DisableVgwRoutePropagation.

" - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLink.

" - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLink.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DisassociateAddress.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DisassociateRouteTable.

" - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the disk image.

" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

Information about the volume.

" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "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" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "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" - }, - "ImportManifestUrl":{ - "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "locationName":"importManifestUrl" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "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" - } - }, - "documentation":"

Describes a disk image volume.

" - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "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.

" - }, - "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.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" - }, - "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" - } - }, - "documentation":"

Describes information used to set up an EBS volume specified in a block device mapping.

" - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Contains the parameters for EnableVolumeIO.

" - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLink.

" - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLink.

" - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" - } - }, - "documentation":"

Describes a Spot fleet event.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "instanceChange", - "fleetRequestChange", - "error" - ] - }, - "ExcessCapacityTerminationPolicy":{ - "type":"string", - "enum":[ - "noTermination", - "default" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the export task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "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.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The encryption key for your S3 bucket.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the format and location for an instance export task.

" - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "documentation":"

The date and time the flow log was created.

", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "documentation":"

The flow log ID.

", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "documentation":"

The status of the flow log (ACTIVE).

", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource on which the flow log was created.

", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic captured for the flow log.

", - "locationName":"trafficType" - }, - "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.

" - }, - "FlowLogSet":{ - "type":"list", - "member":{ - "shape":"FlowLog", - "locationName":"item" - } - }, - "FlowLogsResourceType":{ - "type":"string", - "enum":[ - "VPC", - "Subnet", - "NetworkInterface" - ] - }, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for GetConsoleOutput.

" - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of GetConsoleOutput.

" - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "WakeUp":{ - "shape":"Boolean", - "documentation":"

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

" - } - }, - "documentation":"

Contains the parameters for the request.

" - }, - "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" - } - }, - "documentation":"

Contains the output of the request.

" - }, - "GetHostReservationPurchasePreviewRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "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.

" - } - } - }, - "GetHostReservationPurchasePreviewResult":{ - "type":"structure", - "members":{ - "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" - } - } - }, - "GetPasswordDataRequest":{ - "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 Windows instance.

" - } - }, - "documentation":"

Contains the parameters for GetPasswordData.

" - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of GetPasswordData.

" - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupIds":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HistoryRecord":{ - "type":"structure", - "required":[ - "Timestamp", - "EventType", - "EventInformation" - ], - "members":{ - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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" - } - }, - "documentation":"

Describes an event in the history of the Spot fleet request.

" - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the properties of the Dedicated Host.

" - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

the IDs of instances that are running on the Dedicated Host.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type size (for example, m3.medium) of the running instance.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes an instance running on a Dedicated Host.

" - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostOffering":{ - "type":"structure", - "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family of the offering.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The available payment option.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "locationName":"upfrontPrice" - }, - "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.

" - }, - "HostOfferingSet":{ - "type":"list", - "member":{"shape":"HostOffering"} - }, - "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" - } - }, - "documentation":"

Describes properties of a Dedicated Host.

" - }, - "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" - }, - "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).

", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation ends.

", - "locationName":"end" - }, - "Start":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation started.

", - "locationName":"start" - }, - "State":{ - "shape":"ReservationState", - "documentation":"

The state of the reservation.

", - "locationName":"state" - } - }, - "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" - }, - "HostReservationIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "HostReservationSet":{ - "type":"list", - "member":{"shape":"HostReservation"} - }, - "HostTenancy":{ - "type":"string", - "enum":[ - "dedicated", - "host" - ] - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "locationName":"useLongIds" - }, - "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.

" - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "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 state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "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":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "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.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - }, - "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.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description string for the import image task.

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "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

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform.

Valid values: xen

" - }, - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" - }, - "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'.

" - } - }, - "documentation":"

Contains the parameters for ImportImage.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Hypervisor":{ - "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" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes the launch specification for VM import.

" - }, - "ImportInstanceRequest":{ - "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" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - }, - "documentation":"

Contains the parameters for ImportInstance.

" - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportInstance.

" - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import instance task.

" - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "locationName":"publicKeyMaterial" - } - }, - "documentation":"

Contains the parameters for ImportKeyPair.

" - }, - "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" - } - }, - "documentation":"

Contains the output of ImportKeyPair.

" - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description string for the import snapshot task.

" - }, - "DiskContainer":{ - "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.

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - }, - "documentation":"

Contains the parameters for ImportSnapshot.

" - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Information about the import snapshot task.

", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - } - }, - "documentation":"

Contains the output for ImportSnapshot.

" - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "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.

" - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "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" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

The volume size.

", - "locationName":"volume" - } - }, - "documentation":"

Contains the parameters for ImportVolume.

" - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportVolume.

" - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. 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":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

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" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched, if applicable.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance, if applicable.

", - "locationName":"kernelId" - }, - "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" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP 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" - }, - "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" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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" - }, - "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" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport", - "enaSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "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" - }, - "TotalCapacity":{ - "shape":"Integer", - "documentation":"

The total number of instances that can be launched onto the Dedicated Host.

", - "locationName":"totalCapacity" - } - }, - "documentation":"

Information about the instance type that the Dedicated Host supports.

" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance to export.

" - }, - "InstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":[ - "spot", - "scheduled" - ] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP address of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Any scheduled events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The event code.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a scheduled event for an instance.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "documentation":"

The system instance health or application instance health.

", - "locationName":"details" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "t2.nano", - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "x1.4xlarge", - "x1.8xlarge", - "x1.16xlarge", - "x1.32xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "g2.8xlarge", - "cg1.4xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

[EC2-VPC only] When you authorize or revoke security group rules, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "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" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "IpRanges":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "LaunchSpecsList":{ - "type":"list", - "member":{ - "shape":"SpotFleetLaunchSpecification", - "locationName":"item" - }, - "min":1 - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "max":255, - "min":5 - }, - "ModifyHostsRequest":{ - "type":"structure", - "required":[ - "HostIds", - "AutoPlacement" - ], - "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" - } - }, - "documentation":"

Contains the parameters for ModifyHosts.

" - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully modified.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ModifyHosts.

" - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicate whether the resource should use longer IDs (17-character IDs).

" - } - }, - "documentation":"

Contains the parameters of ModifyIdFormat.

" - }, - "ModifyIdentityIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds", - "PrincipalArn" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

", - "locationName":"resource" - }, - "UseLongIds":{ - "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.

" - }, - "ModifyImageAttributeRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyImageAttribute.

" - }, - "ModifyInstanceAttributeRequest":{ - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ModifyInstanceAttribute.

" - }, - "ModifyInstancePlacementRequest":{ - "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.

", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host that the instance will have affinity with.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ModifyInstancePlacement.

" - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyInstancePlacement.

" - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ModifyNetworkInterfaceAttribute.

" - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - }, - "documentation":"

Contains the parameters for ModifyReservedInstances.

" - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - }, - "documentation":"

Contains the output of ModifyReservedInstances.

" - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifySnapshotAttribute.

" - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "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.

" - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifySpotFleetRequest.

" - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - }, - "documentation":"

Contains the parameters for ModifySubnetAttribute.

" - }, - "ModifyVolumeAttributeRequest":{ - "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.

" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" - } - }, - "documentation":"

Contains the parameters for ModifyVolumeAttribute.

" - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyVpcAttribute.

" - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"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" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs to disassociate from the endpoint.

", - "locationName":"RemoveRouteTableId" - } - }, - "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyVpcEndpoint.

" - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "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.

" - } - } - }, - "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" - } - } - }, - "MonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for MonitorInstances.

" - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of MonitorInstances.

" - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for MoveAddressToVpc.

" - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID for the Elastic IP address.

", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the move of the IP address.

", - "locationName":"status" - } - }, - "documentation":"

Contains the output of MoveAddressToVpc.

" - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "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" - } - }, - "documentation":"

Describes the status of a moving Elastic IP address.

" - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "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.

", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "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)

", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionedBandwidth" - } - }, - "documentation":"

Describes a NAT gateway.

" - }, - "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" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface associated with the NAT gateway.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" - }, - "NatGatewayAddressList":{ - "type":"list", - "member":{ - "shape":"NatGatewayAddress", - "locationName":"item" - } - }, - "NatGatewayList":{ - "type":"list", - "member":{ - "shape":"NatGateway", - "locationName":"item" - } - }, - "NatGatewayState":{ - "type":"string", - "enum":[ - "pending", - "failed", - "available", - "deleting", - "deleted" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "documentation":"

The type of interface.

", - "locationName":"interfaceType" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "NetworkInterfaceType":{ - "type":"string", - "enum":[ - "interface", - "natGateway" - ] - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "OccurrenceDayRequestSet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"OccurenceDay" - } - }, - "OccurrenceDaySet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"item" - } - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OperationType":{ - "type":"string", - "enum":[ - "add", - "remove" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PaymentOption":{ - "type":"string", - "enum":[ - "AllUpfront", - "PartialUpfront", - "NoUpfront" - ] - }, - "PeeringConnectionOptions":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC 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.

" - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "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.

" - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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 Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "locationName":"hostId" - }, - "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" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "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.

" - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - } - }, - "documentation":"

The ID of the prefix.

" - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressConfigSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesPrivateIpAddressConfig", - "locationName":"PrivateIpAddressConfigSet" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "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", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"status" - } - }, - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "Purchase":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", - "locationName":"hostIdSet" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family on the Dedicated Host that the reservation can be associated with.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option for the reservation.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the reservation.

", - "locationName":"upfrontPrice" - }, - "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.

" - }, - "PurchaseHostReservationRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

" - }, - "HostIdSet":{ - "shape":"RequestHostIdSet", - "documentation":"

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" - }, - "LimitPrice":{ - "shape":"String", - "documentation":"

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request 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":{ - "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.

" - } - } - }, - "PurchaseHostReservationResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "documentation":"

Describes the details of the purchase.

", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "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" - }, - "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":{ - "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" - } - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

" - } - }, - "documentation":"

Describes a request to purchase Scheduled Instances.

" - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "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" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - }, - "documentation":"

Contains the parameters for PurchaseReservedInstancesOffering.

" - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Contains the output of PurchaseReservedInstancesOffering.

" - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without 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 - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "documentation":"

One or more purchase requests.

", - "locationName":"PurchaseRequest" - } - }, - "documentation":"

Contains the parameters for PurchaseScheduledInstances.

" - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of PurchaseScheduledInstances.

" - }, - "PurchaseSet":{ - "type":"list", - "member":{"shape":"Purchase"} - }, - "PurchasedScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for RebootInstances.

" - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the parameters for RegisterImage.

" - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of RegisterImage.

" - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for RejectVpcPeeringConnection.

" - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of RejectVpcPeeringConnection.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ReleaseAddress.

" - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated Hosts you want to release.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ReleaseHosts.

" - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully released.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be released, including an error message.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ReleaseHosts.

" - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclEntry.

" - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for ReplaceRoute.

" - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for ReplaceRouteTableAssociation.

" - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceRouteTableAssociation.

" - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ReportInstanceStatus.

" - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration for the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "RequestSpotInstancesRequest":{ - "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":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "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" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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.

" - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "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":"ValueStringList", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

[EC2-Classic only] One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservationState":{ - "type":"string", - "enum":[ - "payment-pending", - "payment-failed", - "active", - "retired" - ] - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reservations purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - }, - "documentation":"

Describes the modification request/s.

" - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering.

", - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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).

" - } - }, - "documentation":"

Contains the parameters for ResetImageAttribute.

" - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "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.

" - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - }, - "documentation":"

Contains the parameters for ResetNetworkInterfaceAttribute.

" - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ResetSnapshotAttribute.

" - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "ResponseHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ResponseHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RestoreAddressToClassicRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for RestoreAddressToClassic.

" - }, - "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" - } - }, - "documentation":"

Contains the output of RestoreAddressToClassic.

" - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RevokeSecurityGroupIngress.

" - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "documentation":"

The prefix of the AWS service.

", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "locationName":"subnetId" - }, - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "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":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - } - }, - "documentation":"

Contains the parameters for RunInstances.

" - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "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 - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RunScheduledInstances.

" - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "documentation":"

The IDs of the newly launched instances.

", - "locationName":"instanceIdSet" - } - }, - "documentation":"

Contains the output of RunScheduledInstances.

" - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "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":{ - "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" - }, - "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":{ - "shape":"DateTime", - "documentation":"

The start date for the Scheduled Instance.

", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "documentation":"

The end date for the Scheduled Instance.

", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The date when the Scheduled Instance was purchased.

", - "locationName":"createDate" - } - }, - "documentation":"

Describes a Scheduled Instance.

" - }, - "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":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time period for the first schedule to start.

", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price for a single instance.

", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of available instances.

", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The minimum term. The only possible value is 365 days.

", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The maximum term. The only possible value is 365 days.

", - "locationName":"maxTermDurationInDays" - } - }, - "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "locationName":"occurrenceUnit" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

" - }, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" - }, - "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.

" - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "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.

" - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN).

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name.

" - } - }, - "documentation":"

Describes an IAM instance profile for a Scheduled Instance.

" - }, - "ScheduledInstancesLaunchSpecification":{ - "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" - }, - "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.

" - }, - "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

" - } - }, - "documentation":"

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

" - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled.

" - } - }, - "documentation":"

Describes whether monitoring is enabled for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address of the network interface within the subnet.

" - }, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "documentation":"

The private IP addresses.

", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses.

" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP address to instances launched 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.

" - }, - "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.

" - } - }, - "documentation":"

Describes a network interface for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

" - } - }, - "documentation":"

Describes the placement for a Scheduled Instance.

" - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address.

" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

" - } - }, - "documentation":"

Describes a private IP address for a Scheduled Instance.

" - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupReference":{ - "type":"structure", - "required":[ - "GroupId", - "ReferencingVpcId" - ], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of your security group.

", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with the referencing security group.

", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC with a security group that references your security group.

" - }, - "SecurityGroupReferences":{ - "type":"list", - "member":{ - "shape":"SecurityGroupReference", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "SlotDateTimeRangeRequest":{ - "type":"structure", - "required":[ - "EarliestTime", - "LatestTime" - ], - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule.

" - }, - "Snapshot":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "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" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

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.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - } - }, - "documentation":"

The disk container object for the import snapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL of the disk image from which the snapshot is created.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "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.

", - "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.

", - "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" - }, - "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" - } - }, - "documentation":"

Describes the launch specification for one or more Spot instances.

" - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables monitoring for the instance.

Default: false

", - "locationName":"enabled" - } - }, - "documentation":"

Describes whether monitoring is enabled.

" - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The state of the Spot fleet request.

", - "locationName":"spotFleetRequestState" - }, - "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.

" - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "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" - }, - "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" - }, - "IamFleetRole":{ - "shape":"String", - "documentation":"

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "documentation":"

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" - }, - "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" - }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" - }, - "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" - } - }, - "documentation":"

Describes the configuration of a Spot fleet request.

" - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code. For a list of status codes, see Spot 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" - } - }, - "documentation":"

Describes the status of a Spot instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "documentation":"

One or more IP ranges. Not applicable for stale security group rules.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "documentation":"

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "documentation":"

One or more security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", - "locationName":"groups" - } - }, - "documentation":"

Describes a stale rule in a security group.

" - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "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.

", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "documentation":"

Information about the stale outbound rules in the security group.

", - "locationName":"staleIpPermissionsEgress" - } - }, - "documentation":"

Describes a stale security group (a security group that contains stale rules).

" - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for StartInstances.

" - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StartInstances.

" - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "Status":{ - "type":"string", - "enum":[ - "MoveInProgress", - "InVpc", - "InClassic" - ] - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data", - "initializing" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for StopInstances.

" - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StopInstances.

" - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable", - "initializing" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated", - "host" - ] - }, - "TerminateInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for TerminateInstances.

" - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of TerminateInstances.

" - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Contains the parameters for UnassignPrivateIpAddresses.

" - }, - "UnmonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for UnmonitorInstances.

" - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of UnmonitorInstances.

" - }, - "UnsuccessfulItem":{ - "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" - } - }, - "documentation":"

Information about items that were not successfully processed in a batch call.

" - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message accompanying the error code.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "documentation":"

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"data" - } - }, - "documentation":"

Describes the user data for an instance.

" - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the referenced security group, if applicable.

", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection, if applicable.

", - "locationName":"vpcPeeringConnectionId" - }, - "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.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdGroupPairSet":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"volumeType" - }, - "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.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2", - "sc1", - "st1" - ] - }, - "Vpc":{ - "type":"structure", - "members":{ - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "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" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

The policy document associated with the endpoint.

", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "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" - } - }, - "documentation":"

Describes a VPC endpoint.

" - }, - "VpcEndpointSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpoint", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the accepter VPC. CIDR block information is 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.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "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.

" - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", - "locationName":"peeringOptions" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - } - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/waiters-2.json deleted file mode 100644 index aa36a044..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-04-01/waiters-2.json +++ /dev/null @@ -1,607 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeInstances", - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Reservations[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConsoleOutputAvailable": { - "operation": "GetConsoleOutput", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(Output || '') > `0`", - "expected": true - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageExists": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Images[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidAMIID.NotFound", - "state": "retry" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "KeyPairExists": { - "operation": "DescribeKeyPairs", - "delay": 5, - "maxAttempts": 6, - "acceptors": [ - { - "expected": true, - "matcher": "path", - "state": "success", - "argument": "length(KeyPairs[].KeyName) > `0`" - }, - { - "expected": "InvalidKeyPair.NotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NatGatewayAvailable": { - "operation": "DescribeNatGateways", - "delay": 15, - "maxAttempts": 40, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "NatGateways[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "failed" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleting" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleted" - }, - { - "state": "retry", - "matcher": "error", - "expected": "NatGatewayNotFound" - } - ] - }, - "NetworkAclExists": { - "operation": "DescribeNetworkAcls", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(NetworkAcls[]) > `0`", - "state": "success" - }, - { - "expected": "InvalidNetworkAclID.NotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NetworkInterfaceAvailable": { - "operation": "DescribeNetworkInterfaces", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "NetworkInterfaces[].Status" - }, - { - "expected": "InvalidNetworkInterfaceID.NotFound", - "matcher": "error", - "state": "failure" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "matcher": "error", - "expected": "InvalidVolume.NotFound", - "state": "success" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 60, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpcPeeringConnectionExists": { - "delay": 15, - "operation": "DescribeVpcPeeringConnections", - "maxAttempts": 40, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcPeeringConnectionID.NotFound", - "state": "retry" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/examples-1.json deleted file mode 100644 index f6a8719f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/examples-1.json +++ /dev/null @@ -1,3740 +0,0 @@ -{ - "version": "1.0", - "examples": { - "AllocateAddress": [ - { - "input": { - "Domain": "vpc" - }, - "output": { - "AllocationId": "eipalloc-64d5890a", - "Domain": "vpc", - "PublicIp": "203.0.113.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example allocates an Elastic IP address to use with an instance in a VPC.", - "id": "ec2-allocate-address-1", - "title": "To allocate an Elastic IP address for EC2-VPC" - }, - { - "output": { - "Domain": "standard", - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example allocates an Elastic IP address to use with an instance in EC2-Classic.", - "id": "ec2-allocate-address-2", - "title": "To allocate an Elastic IP address for EC2-Classic" - } - ], - "AssignPrivateIpAddresses": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "PrivateIpAddresses": [ - "10.0.0.82" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns the specified secondary private IP address to the specified network interface.", - "id": "ec2-assign-private-ip-addresses-1", - "title": "To assign a specific secondary private IP address to an interface" - }, - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "SecondaryPrivateIpAddressCount": 2 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns two secondary private IP addresses to the specified network interface. Amazon EC2 automatically assigns these IP addresses from the available IP addresses in the CIDR block range of the subnet the network interface is associated with.", - "id": "ec2-assign-private-ip-addresses-2", - "title": "To assign secondary private IP addresses that Amazon EC2 selects to an interface" - } - ], - "AssociateAddress": [ - { - "input": { - "AllocationId": "eipalloc-64d5890a", - "InstanceId": "i-0b263919b6498b123" - }, - "output": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified Elastic IP address with the specified instance in a VPC.", - "id": "ec2-associate-address-1", - "title": "To associate an Elastic IP address in EC2-VPC" - }, - { - "input": { - "AllocationId": "eipalloc-64d5890a", - "NetworkInterfaceId": "eni-1a2b3c4d" - }, - "output": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified Elastic IP address with the specified network interface.", - "id": "ec2-associate-address-2", - "title": "To associate an Elastic IP address with a network interface" - }, - { - "input": { - "InstanceId": "i-07ffe74c7330ebf53", - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates an Elastic IP address with an instance in EC2-Classic.", - "id": "ec2-associate-address-3", - "title": "To associate an Elastic IP address in EC2-Classic" - } - ], - "AssociateDhcpOptions": [ - { - "input": { - "DhcpOptionsId": "dopt-d9070ebb", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified DHCP options set with the specified VPC.", - "id": "ec2-associate-dhcp-options-1", - "title": "To associate a DHCP options set with a VPC" - }, - { - "input": { - "DhcpOptionsId": "default", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the default DHCP options set with the specified VPC.", - "id": "ec2-associate-dhcp-options-2", - "title": "To associate the default DHCP options set with a VPC" - } - ], - "AssociateRouteTable": [ - { - "input": { - "RouteTableId": "rtb-22574640", - "SubnetId": "subnet-9d4a7b6" - }, - "output": { - "AssociationId": "rtbassoc-781d0d1a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified route table with the specified subnet.", - "id": "ec2-associate-route-table-1", - "title": "To associate a route table with a subnet" - } - ], - "AttachInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches the specified Internet gateway to the specified VPC.", - "id": "ec2-attach-internet-gateway-1", - "title": "To attach an Internet gateway to a VPC" - } - ], - "AttachNetworkInterface": [ - { - "input": { - "DeviceIndex": 1, - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-e5aa89a3" - }, - "output": { - "AttachmentId": "eni-attach-66c4350a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches the specified network interface to the specified instance.", - "id": "ec2-attach-network-interface-1", - "title": "To attach a network interface to an instance" - } - ], - "AttachVolume": [ - { - "input": { - "Device": "/dev/sdf", - "InstanceId": "i-01474ef662b89480", - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "AttachTime": "2016-08-29T18:52:32.724Z", - "Device": "/dev/sdf", - "InstanceId": "i-01474ef662b89480", - "State": "attaching", - "VolumeId": "vol-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches a volume (``vol-1234567890abcdef0``) to an instance (``i-01474ef662b89480``) as ``/dev/sdf``.", - "id": "to-attach-a-volume-to-an-instance-1472499213109", - "title": "To attach a volume to an instance" - } - ], - "CancelSpotFleetRequests": [ - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ], - "TerminateInstances": true - }, - "output": { - "SuccessfulFleetRequests": [ - { - "CurrentSpotFleetRequestState": "cancelled_running", - "PreviousSpotFleetRequestState": "active", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels the specified Spot fleet request and terminates its associated Spot Instances.", - "id": "ec2-cancel-spot-fleet-requests-1", - "title": "To cancel a Spot fleet request" - }, - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ], - "TerminateInstances": false - }, - "output": { - "SuccessfulFleetRequests": [ - { - "CurrentSpotFleetRequestState": "cancelled_terminating", - "PreviousSpotFleetRequestState": "active", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels the specified Spot fleet request without terminating its associated Spot Instances.", - "id": "ec2-cancel-spot-fleet-requests-2", - "title": "To cancel a Spot fleet request without terminating its Spot Instances" - } - ], - "CancelSpotInstanceRequests": [ - { - "input": { - "SpotInstanceRequestIds": [ - "sir-08b93456" - ] - }, - "output": { - "CancelledSpotInstanceRequests": [ - { - "SpotInstanceRequestId": "sir-08b93456", - "State": "cancelled" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels a Spot Instance request.", - "id": "ec2-cancel-spot-instance-requests-1", - "title": "To cancel Spot Instance requests" - } - ], - "ConfirmProductInstance": [ - { - "input": { - "InstanceId": "i-1234567890abcdef0", - "ProductCode": "774F4FF8" - }, - "output": { - "OwnerId": "123456789012" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example determines whether the specified product code is associated with the specified instance.", - "id": "to-confirm-the-product-instance-1472712108494", - "title": "To confirm the product instance" - } - ], - "CopySnapshot": [ - { - "input": { - "Description": "This is my copied snapshot.", - "DestinationRegion": "us-east-1", - "SourceRegion": "us-west-2", - "SourceSnapshotId": "snap-066877671789bd71b" - }, - "output": { - "SnapshotId": "snap-066877671789bd71b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example copies a snapshot with the snapshot ID of ``snap-066877671789bd71b`` from the ``us-west-2`` region to the ``us-east-1`` region and adds a short description to identify the snapshot.", - "id": "to-copy-a-snapshot-1472502259774", - "title": "To copy a snapshot" - } - ], - "CreateCustomerGateway": [ - { - "input": { - "BgpAsn": 65534, - "PublicIp": "12.1.2.3", - "Type": "ipsec.1" - }, - "output": { - "CustomerGateway": { - "BgpAsn": "65534", - "CustomerGatewayId": "cgw-0e11f167", - "IpAddress": "12.1.2.3", - "State": "available", - "Type": "ipsec.1" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a customer gateway with the specified IP address for its outside interface.", - "id": "ec2-create-customer-gateway-1", - "title": "To create a customer gateway" - } - ], - "CreateDhcpOptions": [ - { - "input": { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - "10.2.5.1", - "10.2.5.2" - ] - } - ] - }, - "output": { - "DhcpOptions": { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - { - "Value": "10.2.5.2" - }, - { - "Value": "10.2.5.1" - } - ] - } - ], - "DhcpOptionsId": "dopt-d9070ebb" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a DHCP options set.", - "id": "ec2-create-dhcp-options-1", - "title": "To create a DHCP options set" - } - ], - "CreateInternetGateway": [ - { - "output": { - "InternetGateway": { - "Attachments": [ - - ], - "InternetGatewayId": "igw-c0a643a9", - "Tags": [ - - ] - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an Internet gateway.", - "id": "ec2-create-internet-gateway-1", - "title": "To create an Internet gateway" - } - ], - "CreateKeyPair": [ - { - "input": { - "KeyName": "my-key-pair" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a key pair named my-key-pair.", - "id": "ec2-create-key-pair-1", - "title": "To create a key pair" - } - ], - "CreateNatGateway": [ - { - "input": { - "AllocationId": "eipalloc-37fc1a52", - "SubnetId": "subnet-1a2b3c4d" - }, - "output": { - "NatGateway": { - "CreateTime": "2015-12-17T12:45:26.732Z", - "NatGatewayAddresses": [ - { - "AllocationId": "eipalloc-37fc1a52" - } - ], - "NatGatewayId": "nat-08d48af2a8e83edfd", - "State": "pending", - "SubnetId": "subnet-1a2b3c4d", - "VpcId": "vpc-1122aabb" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a NAT gateway in subnet subnet-1a2b3c4d and associates an Elastic IP address with the allocation ID eipalloc-37fc1a52 with the NAT gateway.", - "id": "ec2-create-nat-gateway-1", - "title": "To create a NAT gateway" - } - ], - "CreateNetworkAcl": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "output": { - "NetworkAcl": { - "Associations": [ - - ], - "Entries": [ - { - "CidrBlock": "0.0.0.0/0", - "Egress": true, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - }, - { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - } - ], - "IsDefault": false, - "NetworkAclId": "acl-5fb85d36", - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a network ACL for the specified VPC.", - "id": "ec2-create-network-acl-1", - "title": "To create a network ACL" - } - ], - "CreateNetworkAclEntry": [ - { - "input": { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "NetworkAclId": "acl-5fb85d36", - "PortRange": { - "From": 53, - "To": 53 - }, - "Protocol": "udp", - "RuleAction": "allow", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an entry for the specified network ACL. The rule allows ingress traffic from anywhere (0.0.0.0/0) on UDP port 53 (DNS) into any associated subnet.", - "id": "ec2-create-network-acl-entry-1", - "title": "To create a network ACL entry" - } - ], - "CreateNetworkInterface": [ - { - "input": { - "Description": "my network interface", - "Groups": [ - "sg-903004f8" - ], - "PrivateIpAddress": "10.0.2.17", - "SubnetId": "subnet-9d4a7b6c" - }, - "output": { - "NetworkInterface": { - "AvailabilityZone": "us-east-1d", - "Description": "my network interface", - "Groups": [ - { - "GroupId": "sg-903004f8", - "GroupName": "default" - } - ], - "MacAddress": "02:1a:80:41:52:9c", - "NetworkInterfaceId": "eni-e5aa89a3", - "OwnerId": "123456789012", - "PrivateIpAddress": "10.0.2.17", - "PrivateIpAddresses": [ - { - "Primary": true, - "PrivateIpAddress": "10.0.2.17" - } - ], - "RequesterManaged": false, - "SourceDestCheck": true, - "Status": "pending", - "SubnetId": "subnet-9d4a7b6c", - "TagSet": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a network interface for the specified subnet.", - "id": "ec2-create-network-interface-1", - "title": "To create a network interface" - } - ], - "CreatePlacementGroup": [ - { - "input": { - "GroupName": "my-cluster", - "Strategy": "cluster" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a placement group with the specified name.", - "id": "to-create-a-placement-group-1472712245768", - "title": "To create a placement group" - } - ], - "CreateRoute": [ - { - "input": { - "DestinationCidrBlock": "0.0.0.0/0", - "GatewayId": "igw-c0a643a9", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a route for the specified route table. The route matches all traffic (0.0.0.0/0) and routes it to the specified Internet gateway.", - "id": "ec2-create-route-1", - "title": "To create a route" - } - ], - "CreateRouteTable": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "output": { - "RouteTable": { - "Associations": [ - - ], - "PropagatingVgws": [ - - ], - "RouteTableId": "rtb-22574640", - "Routes": [ - { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "local", - "State": "active" - } - ], - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a route table for the specified VPC.", - "id": "ec2-create-route-table-1", - "title": "To create a route table" - } - ], - "CreateSnapshot": [ - { - "input": { - "Description": "This is my root volume snapshot.", - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "Description": "This is my root volume snapshot.", - "OwnerId": "012345678910", - "SnapshotId": "snap-066877671789bd71b", - "StartTime": "2014-02-28T21:06:01.000Z", - "State": "pending", - "Tags": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeSize": 8 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a snapshot of the volume with a volume ID of ``vol-1234567890abcdef0`` and a short description to identify the snapshot.", - "id": "to-create-a-snapshot-1472502529790", - "title": "To create a snapshot" - } - ], - "CreateSpotDatafeedSubscription": [ - { - "input": { - "Bucket": "my-s3-bucket", - "Prefix": "spotdata" - }, - "output": { - "SpotDatafeedSubscription": { - "Bucket": "my-s3-bucket", - "OwnerId": "123456789012", - "Prefix": "spotdata", - "State": "Active" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot Instance data feed for your AWS account.", - "id": "ec2-create-spot-datafeed-subscription-1", - "title": "To create a Spot Instance datafeed" - } - ], - "CreateSubnet": [ - { - "input": { - "CidrBlock": "10.0.1.0/24", - "VpcId": "vpc-a01106c2" - }, - "output": { - "Subnet": { - "AvailabilityZone": "us-west-2c", - "AvailableIpAddressCount": 251, - "CidrBlock": "10.0.1.0/24", - "State": "pending", - "SubnetId": "subnet-9d4a7b6c", - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a subnet in the specified VPC with the specified CIDR block. We recommend that you let us select an Availability Zone for you.", - "id": "ec2-create-subnet-1", - "title": "To create a subnet" - } - ], - "CreateTags": [ - { - "input": { - "Resources": [ - "ami-78a54011" - ], - "Tags": [ - { - "Key": "Stack", - "Value": "production" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example adds the tag Stack=production to the specified image, or overwrites an existing tag for the AMI where the tag key is Stack.", - "id": "ec2-create-tags-1", - "title": "To add a tag to a resource" - } - ], - "CreateVolume": [ - { - "input": { - "AvailabilityZone": "us-east-1a", - "Size": 80, - "VolumeType": "gp2" - }, - "output": { - "AvailabilityZone": "us-east-1a", - "CreateTime": "2016-08-29T18:52:32.724Z", - "Encrypted": false, - "Iops": 240, - "Size": 80, - "SnapshotId": "", - "State": "creating", - "VolumeId": "vol-6b60b7c7", - "VolumeType": "gp2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.", - "id": "to-create-a-new-volume-1472496724296", - "title": "To create a new volume" - }, - { - "input": { - "AvailabilityZone": "us-east-1a", - "Iops": 1000, - "SnapshotId": "snap-066877671789bd71b", - "VolumeType": "io1" - }, - "output": { - "Attachments": [ - - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2016-08-29T18:52:32.724Z", - "Iops": 1000, - "Size": 500, - "SnapshotId": "snap-066877671789bd71b", - "State": "creating", - "Tags": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeType": "io1" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability Zone ``us-east-1a``.", - "id": "to-create-a-new-provisioned-iops-ssd-volume-from-a-snapshot-1472498975176", - "title": "To create a new Provisioned IOPS (SSD) volume from a snapshot" - } - ], - "CreateVpc": [ - { - "input": { - "CidrBlock": "10.0.0.0/16" - }, - "output": { - "Vpc": { - "CidrBlock": "10.0.0.0/16", - "DhcpOptionsId": "dopt-7a8b9c2d", - "InstanceTenancy": "default", - "State": "pending", - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a VPC with the specified CIDR block.", - "id": "ec2-create-vpc-1", - "title": "To create a VPC" - } - ], - "DeleteCustomerGateway": [ - { - "input": { - "CustomerGatewayId": "cgw-0e11f167" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified customer gateway.", - "id": "ec2-delete-customer-gateway-1", - "title": "To delete a customer gateway" - } - ], - "DeleteDhcpOptions": [ - { - "input": { - "DhcpOptionsId": "dopt-d9070ebb" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified DHCP options set.", - "id": "ec2-delete-dhcp-options-1", - "title": "To delete a DHCP options set" - } - ], - "DeleteInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified Internet gateway.", - "id": "ec2-delete-internet-gateway-1", - "title": "To delete an Internet gateway" - } - ], - "DeleteKeyPair": [ - { - "input": { - "KeyName": "my-key-pair" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified key pair.", - "id": "ec2-delete-key-pair-1", - "title": "To delete a key pair" - } - ], - "DeleteNatGateway": [ - { - "input": { - "NatGatewayId": "nat-04ae55e711cec5680" - }, - "output": { - "NatGatewayId": "nat-04ae55e711cec5680" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified NAT gateway.", - "id": "ec2-delete-nat-gateway-1", - "title": "To delete a NAT gateway" - } - ], - "DeleteNetworkAcl": [ - { - "input": { - "NetworkAclId": "acl-5fb85d36" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified network ACL.", - "id": "ec2-delete-network-acl-1", - "title": "To delete a network ACL" - } - ], - "DeleteNetworkAclEntry": [ - { - "input": { - "Egress": true, - "NetworkAclId": "acl-5fb85d36", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes ingress rule number 100 from the specified network ACL.", - "id": "ec2-delete-network-acl-entry-1", - "title": "To delete a network ACL entry" - } - ], - "DeleteNetworkInterface": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified network interface.", - "id": "ec2-delete-network-interface-1", - "title": "To delete a network interface" - } - ], - "DeletePlacementGroup": [ - { - "input": { - "GroupName": "my-cluster" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified placement group.\n", - "id": "to-delete-a-placement-group-1472712349959", - "title": "To delete a placement group" - } - ], - "DeleteRoute": [ - { - "input": { - "DestinationCidrBlock": "0.0.0.0/0", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified route from the specified route table.", - "id": "ec2-delete-route-1", - "title": "To delete a route" - } - ], - "DeleteRouteTable": [ - { - "input": { - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified route table.", - "id": "ec2-delete-route-table-1", - "title": "To delete a route table" - } - ], - "DeleteSnapshot": [ - { - "input": { - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", - "id": "to-delete-a-snapshot-1472503042567", - "title": "To delete a snapshot" - } - ], - "DeleteSpotDatafeedSubscription": [ - { - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes a Spot data feed subscription for the account.", - "id": "ec2-delete-spot-datafeed-subscription-1", - "title": "To cancel a Spot Instance data feed subscription" - } - ], - "DeleteSubnet": [ - { - "input": { - "SubnetId": "subnet-9d4a7b6c" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified subnet.", - "id": "ec2-delete-subnet-1", - "title": "To delete a subnet" - } - ], - "DeleteTags": [ - { - "input": { - "Resources": [ - "ami-78a54011" - ], - "Tags": [ - { - "Key": "Stack", - "Value": "test" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the tag Stack=test from the specified image.", - "id": "ec2-delete-tags-1", - "title": "To delete a tag from a resource" - } - ], - "DeleteVolume": [ - { - "input": { - "VolumeId": "vol-049df61146c4d7901" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes an available volume with the volume ID of ``vol-049df61146c4d7901``. If the command succeeds, no output is returned.", - "id": "to-delete-a-volume-1472503111160", - "title": "To delete a volume" - } - ], - "DeleteVpc": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified VPC.", - "id": "ec2-delete-vpc-1", - "title": "To delete a VPC" - } - ], - "DescribeAccountAttributes": [ - { - "input": { - "AttributeNames": [ - "supported-platforms" - ] - }, - "output": { - "AccountAttributes": [ - { - "AttributeName": "supported-platforms", - "AttributeValues": [ - { - "AttributeValue": "EC2" - }, - { - "AttributeValue": "VPC" - } - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the supported-platforms attribute for your AWS account.", - "id": "ec2-describe-account-attributes-1", - "title": "To describe a single attribute for your AWS account" - }, - { - "output": { - "AccountAttributes": [ - { - "AttributeName": "supported-platforms", - "AttributeValues": [ - { - "AttributeValue": "EC2" - }, - { - "AttributeValue": "VPC" - } - ] - }, - { - "AttributeName": "vpc-max-security-groups-per-interface", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "max-elastic-ips", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "max-instances", - "AttributeValues": [ - { - "AttributeValue": "20" - } - ] - }, - { - "AttributeName": "vpc-max-elastic-ips", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "default-vpc", - "AttributeValues": [ - { - "AttributeValue": "none" - } - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the attributes for your AWS account.", - "id": "ec2-describe-account-attributes-2", - "title": "To describe all attributes for your AWS account" - } - ], - "DescribeAddresses": [ - { - "output": { - "Addresses": [ - { - "Domain": "standard", - "InstanceId": "i-1234567890abcdef0", - "PublicIp": "198.51.100.0" - }, - { - "AllocationId": "eipalloc-12345678", - "AssociationId": "eipassoc-12345678", - "Domain": "vpc", - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-12345678", - "NetworkInterfaceOwnerId": "123456789012", - "PrivateIpAddress": "10.0.1.241", - "PublicIp": "203.0.113.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses.", - "id": "ec2-describe-addresses-1", - "title": "To describe your Elastic IP addresses" - }, - { - "input": { - "Filters": [ - { - "Name": "domain", - "Values": [ - "vpc" - ] - } - ] - }, - "output": { - "Addresses": [ - { - "AllocationId": "eipalloc-12345678", - "AssociationId": "eipassoc-12345678", - "Domain": "vpc", - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-12345678", - "NetworkInterfaceOwnerId": "123456789012", - "PrivateIpAddress": "10.0.1.241", - "PublicIp": "203.0.113.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses for use with instances in a VPC.", - "id": "ec2-describe-addresses-2", - "title": "To describe your Elastic IP addresses for EC2-VPC" - }, - { - "input": { - "Filters": [ - { - "Name": "domain", - "Values": [ - "standard" - ] - } - ] - }, - "output": { - "Addresses": [ - { - "Domain": "standard", - "InstanceId": "i-1234567890abcdef0", - "PublicIp": "198.51.100.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses for use with instances in EC2-Classic.", - "id": "ec2-describe-addresses-3", - "title": "To describe your Elastic IP addresses for EC2-Classic" - } - ], - "DescribeAvailabilityZones": [ - { - "output": { - "AvailabilityZones": [ - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1b" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1c" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1d" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1e" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Availability Zones that are available to you. The response includes Availability Zones only for the current region.", - "id": "ec2-describe-availability-zones-1", - "title": "To describe your Availability Zones" - } - ], - "DescribeCustomerGateways": [ - { - "input": { - "CustomerGatewayIds": [ - "cgw-0e11f167" - ] - }, - "output": { - "CustomerGateways": [ - { - "BgpAsn": "65534", - "CustomerGatewayId": "cgw-0e11f167", - "IpAddress": "12.1.2.3", - "State": "available", - "Type": "ipsec.1" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified customer gateway.", - "id": "ec2-describe-customer-gateways-1", - "title": "To describe a customer gateway" - } - ], - "DescribeDhcpOptions": [ - { - "input": { - "DhcpOptionsIds": [ - "dopt-d9070ebb" - ] - }, - "output": { - "DhcpOptions": [ - { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - { - "Value": "10.2.5.2" - }, - { - "Value": "10.2.5.1" - } - ] - } - ], - "DhcpOptionsId": "dopt-d9070ebb" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified DHCP options set.", - "id": "ec2-describe-dhcp-options-1", - "title": "To describe a DHCP options set" - } - ], - "DescribeInstanceAttribute": [ - { - "input": { - "Attribute": "instanceType", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "InstanceId": "i-1234567890abcdef0", - "InstanceType": { - "Value": "t1.micro" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the instance type of the specified instance.\n", - "id": "to-describe-the-instance-type-1472712432132", - "title": "To describe the instance type" - }, - { - "input": { - "Attribute": "disableApiTermination", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "DisableApiTermination": { - "Value": "false" - }, - "InstanceId": "i-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``disableApiTermination`` attribute of the specified instance.\n", - "id": "to-describe-the-disableapitermination-attribute-1472712533466", - "title": "To describe the disableApiTermination attribute" - }, - { - "input": { - "Attribute": "blockDeviceMapping", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "BlockDeviceMappings": [ - { - "DeviceName": "/dev/sda1", - "Ebs": { - "AttachTime": "2013-05-17T22:42:34.000Z", - "DeleteOnTermination": true, - "Status": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - }, - { - "DeviceName": "/dev/sdf", - "Ebs": { - "AttachTime": "2013-09-10T23:07:00.000Z", - "DeleteOnTermination": false, - "Status": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - } - ], - "InstanceId": "i-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``blockDeviceMapping`` attribute of the specified instance.\n", - "id": "to-describe-the-block-device-mapping-for-an-instance-1472712645423", - "title": "To describe the block device mapping for an instance" - } - ], - "DescribeInternetGateways": [ - { - "input": { - "Filters": [ - { - "Name": "attachment.vpc-id", - "Values": [ - "vpc-a01106c2" - ] - } - ] - }, - "output": { - "InternetGateways": [ - { - "Attachments": [ - { - "State": "available", - "VpcId": "vpc-a01106c2" - } - ], - "InternetGatewayId": "igw-c0a643a9", - "Tags": [ - - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Internet gateway for the specified VPC.", - "id": "ec2-describe-internet-gateways-1", - "title": "To describe the Internet gateway for a VPC" - } - ], - "DescribeKeyPairs": [ - { - "input": { - "KeyNames": [ - "my-key-pair" - ] - }, - "output": { - "KeyPairs": [ - { - "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", - "KeyName": "my-key-pair" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example displays the fingerprint for the specified key.", - "id": "ec2-describe-key-pairs-1", - "title": "To display a key pair" - } - ], - "DescribeMovingAddresses": [ - { - "output": { - "MovingAddressStatuses": [ - { - "MoveStatus": "MovingToVpc", - "PublicIp": "198.51.100.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all of your moving Elastic IP addresses.", - "id": "ec2-describe-moving-addresses-1", - "title": "To describe your moving addresses" - } - ], - "DescribeNatGateways": [ - { - "input": { - "Filter": [ - { - "Name": "vpc-id", - "Values": [ - "vpc-1a2b3c4d" - ] - } - ] - }, - "output": { - "NatGateways": [ - { - "CreateTime": "2015-12-01T12:26:55.983Z", - "NatGatewayAddresses": [ - { - "AllocationId": "eipalloc-89c620ec", - "NetworkInterfaceId": "eni-9dec76cd", - "PrivateIp": "10.0.0.149", - "PublicIp": "198.11.222.333" - } - ], - "NatGatewayId": "nat-05dba92075d71c408", - "State": "available", - "SubnetId": "subnet-847e4dc2", - "VpcId": "vpc-1a2b3c4d" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the NAT gateway for the specified VPC.", - "id": "ec2-describe-nat-gateways-1", - "title": "To describe a NAT gateway" - } - ], - "DescribeNetworkAcls": [ - { - "input": { - "NetworkAclIds": [ - "acl-5fb85d36" - ] - }, - "output": { - "NetworkAcls": [ - { - "Associations": [ - { - "NetworkAclAssociationId": "aclassoc-66ea5f0b", - "NetworkAclId": "acl-9aeb5ef7", - "SubnetId": "subnet-65ea5f08" - } - ], - "Entries": [ - { - "CidrBlock": "0.0.0.0/0", - "Egress": true, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - }, - { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - } - ], - "IsDefault": false, - "NetworkAclId": "acl-5fb85d36", - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified network ACL.", - "id": "ec2-", - "title": "To describe a network ACL" - } - ], - "DescribeNetworkInterfaceAttribute": [ - { - "input": { - "Attribute": "attachment", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Attachment": { - "AttachTime": "2015-05-21T20:02:20.000Z", - "AttachmentId": "eni-attach-43348162", - "DeleteOnTermination": true, - "DeviceIndex": 0, - "InstanceId": "i-1234567890abcdef0", - "InstanceOwnerId": "123456789012", - "Status": "attached" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the attachment attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-1", - "title": "To describe the attachment attribute of a network interface" - }, - { - "input": { - "Attribute": "description", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Description": { - "Value": "My description" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the description attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-2", - "title": "To describe the description attribute of a network interface" - }, - { - "input": { - "Attribute": "groupSet", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Groups": [ - { - "GroupId": "sg-903004f8", - "GroupName": "my-security-group" - } - ], - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the groupSet attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-3", - "title": "To describe the groupSet attribute of a network interface" - }, - { - "input": { - "Attribute": "sourceDestCheck", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "NetworkInterfaceId": "eni-686ea200", - "SourceDestCheck": { - "Value": true - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the sourceDestCheck attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-4", - "title": "To describe the sourceDestCheck attribute of a network interface" - } - ], - "DescribeNetworkInterfaces": [ - { - "input": { - "NetworkInterfaceIds": [ - "eni-e5aa89a3" - ] - }, - "output": { - "NetworkInterfaces": [ - { - "Association": { - "AssociationId": "eipassoc-0fbb766a", - "IpOwnerId": "123456789012", - "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", - "PublicIp": "203.0.113.12" - }, - "Attachment": { - "AttachTime": "2013-11-30T23:36:42.000Z", - "AttachmentId": "eni-attach-66c4350a", - "DeleteOnTermination": false, - "DeviceIndex": 1, - "InstanceId": "i-1234567890abcdef0", - "InstanceOwnerId": "123456789012", - "Status": "attached" - }, - "AvailabilityZone": "us-east-1d", - "Description": "my network interface", - "Groups": [ - { - "GroupId": "sg-8637d3e3", - "GroupName": "default" - } - ], - "MacAddress": "02:2f:8f:b0:cf:75", - "NetworkInterfaceId": "eni-e5aa89a3", - "OwnerId": "123456789012", - "PrivateDnsName": "ip-10-0-1-17.ec2.internal", - "PrivateIpAddress": "10.0.1.17", - "PrivateIpAddresses": [ - { - "Association": { - "AssociationId": "eipassoc-0fbb766a", - "IpOwnerId": "123456789012", - "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", - "PublicIp": "203.0.113.12" - }, - "Primary": true, - "PrivateDnsName": "ip-10-0-1-17.ec2.internal", - "PrivateIpAddress": "10.0.1.17" - } - ], - "RequesterManaged": false, - "SourceDestCheck": true, - "Status": "in-use", - "SubnetId": "subnet-b61f49f0", - "TagSet": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "", - "id": "ec2-describe-network-interfaces-1", - "title": "To describe a network interface" - } - ], - "DescribeRegions": [ - { - "output": { - "Regions": [ - { - "Endpoint": "ec2.ap-south-1.amazonaws.com", - "RegionName": "ap-south-1" - }, - { - "Endpoint": "ec2.eu-west-1.amazonaws.com", - "RegionName": "eu-west-1" - }, - { - "Endpoint": "ec2.ap-southeast-1.amazonaws.com", - "RegionName": "ap-southeast-1" - }, - { - "Endpoint": "ec2.ap-southeast-2.amazonaws.com", - "RegionName": "ap-southeast-2" - }, - { - "Endpoint": "ec2.eu-central-1.amazonaws.com", - "RegionName": "eu-central-1" - }, - { - "Endpoint": "ec2.ap-northeast-2.amazonaws.com", - "RegionName": "ap-northeast-2" - }, - { - "Endpoint": "ec2.ap-northeast-1.amazonaws.com", - "RegionName": "ap-northeast-1" - }, - { - "Endpoint": "ec2.us-east-1.amazonaws.com", - "RegionName": "us-east-1" - }, - { - "Endpoint": "ec2.sa-east-1.amazonaws.com", - "RegionName": "sa-east-1" - }, - { - "Endpoint": "ec2.us-west-1.amazonaws.com", - "RegionName": "us-west-1" - }, - { - "Endpoint": "ec2.us-west-2.amazonaws.com", - "RegionName": "us-west-2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all the regions that are available to you.", - "id": "ec2-describe-regions-1", - "title": "To describe your regions" - } - ], - "DescribeRouteTables": [ - { - "input": { - "RouteTableIds": [ - "rtb-1f382e7d" - ] - }, - "output": { - "RouteTables": [ - { - "Associations": [ - { - "Main": true, - "RouteTableAssociationId": "rtbassoc-d8ccddba", - "RouteTableId": "rtb-1f382e7d" - } - ], - "PropagatingVgws": [ - - ], - "RouteTableId": "rtb-1f382e7d", - "Routes": [ - { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "local", - "State": "active" - } - ], - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified route table.", - "id": "ec2-describe-route-tables-1", - "title": "To describe a route table" - } - ], - "DescribeScheduledInstanceAvailability": [ - { - "input": { - "FirstSlotStartTimeRange": { - "EarliestTime": "2016-01-31T00:00:00Z", - "LatestTime": "2016-01-31T04:00:00Z" - }, - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDays": [ - 1 - ] - } - }, - "output": { - "ScheduledInstanceAvailabilitySet": [ - { - "AvailabilityZone": "us-west-2b", - "AvailableInstanceCount": 20, - "FirstSlotStartTime": "2016-01-31T00:00:00Z", - "HourlyPrice": "0.095", - "InstanceType": "c4.large", - "MaxTermDurationInDays": 366, - "MinTermDurationInDays": 366, - "NetworkPlatform": "EC2-VPC", - "Platform": "Linux/UNIX", - "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi...", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false - }, - "SlotDurationInHours": 23, - "TotalScheduledInstanceHours": 1219 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes a schedule that occurs every week on Sunday, starting on the specified date. Note that the output contains a single schedule as an example.", - "id": "ec2-describe-scheduled-instance-availability-1", - "title": "To describe an available schedule" - } - ], - "DescribeScheduledInstances": [ - { - "input": { - "ScheduledInstanceIds": [ - "sci-1234-1234-1234-1234-123456789012" - ] - }, - "output": { - "ScheduledInstanceSet": [ - { - "AvailabilityZone": "us-west-2b", - "CreateDate": "2016-01-25T21:43:38.612Z", - "HourlyPrice": "0.095", - "InstanceCount": 1, - "InstanceType": "c4.large", - "NetworkPlatform": "EC2-VPC", - "NextSlotStartTime": "2016-01-31T09:00:00Z", - "Platform": "Linux/UNIX", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false, - "OccurrenceUnit": "" - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", - "SlotDurationInHours": 32, - "TermEndDate": "2017-01-31T09:00:00Z", - "TermStartDate": "2016-01-31T09:00:00Z", - "TotalScheduledInstanceHours": 1696 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Scheduled Instance.", - "id": "ec2-describe-scheduled-instances-1", - "title": "To describe your Scheduled Instances" - } - ], - "DescribeSnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "SnapshotId": "snap-066877671789bd71b" - }, - "output": { - "CreateVolumePermissions": [ - - ], - "SnapshotId": "snap-066877671789bd71b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``createVolumePermission`` attribute on a snapshot with the snapshot ID of ``snap-066877671789bd71b``.", - "id": "to-describe-snapshot-attributes-1472503199736", - "title": "To describe snapshot attributes" - } - ], - "DescribeSnapshots": [ - { - "input": { - "SnapshotIds": [ - "snap-1234567890abcdef0" - ] - }, - "output": { - "NextToken": "", - "Snapshots": [ - { - "Description": "This is my snapshot.", - "OwnerId": "012345678910", - "Progress": "100%", - "SnapshotId": "snap-1234567890abcdef0", - "StartTime": "2014-02-28T21:28:32.000Z", - "State": "completed", - "VolumeId": "vol-049df61146c4d7901", - "VolumeSize": 8 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``.", - "id": "to-describe-a-snapshot-1472503807850", - "title": "To describe a snapshot" - }, - { - "input": { - "Filters": [ - { - "Name": "status", - "Values": [ - "pending" - ] - } - ], - "OwnerIds": [ - "012345678910" - ] - }, - "output": { - "NextToken": "", - "Snapshots": [ - { - "Description": "This is my copied snapshot.", - "OwnerId": "012345678910", - "Progress": "87%", - "SnapshotId": "snap-066877671789bd71b", - "StartTime": "2014-02-28T21:37:27.000Z", - "State": "pending", - "VolumeId": "vol-1234567890abcdef0", - "VolumeSize": 8 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all snapshots owned by the ID 012345678910 that are in the ``pending`` status.", - "id": "to-describe-snapshots-using-filters-1472503929793", - "title": "To describe snapshots using filters" - } - ], - "DescribeSpotDatafeedSubscription": [ - { - "output": { - "SpotDatafeedSubscription": { - "Bucket": "my-s3-bucket", - "OwnerId": "123456789012", - "Prefix": "spotdata", - "State": "Active" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Spot Instance datafeed subscription for your AWS account.", - "id": "ec2-describe-spot-datafeed-subscription-1", - "title": "To describe the datafeed for your AWS account" - } - ], - "DescribeSpotFleetInstances": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "output": { - "ActiveInstances": [ - { - "InstanceId": "i-1234567890abcdef0", - "InstanceType": "m3.medium", - "SpotInstanceRequestId": "sir-08b93456" - } - ], - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example lists the Spot Instances associated with the specified Spot fleet.", - "id": "ec2-describe-spot-fleet-instances-1", - "title": "To describe the Spot Instances associated with a Spot fleet" - } - ], - "DescribeSpotFleetRequestHistory": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "StartTime": "2015-05-26T00:00:00Z" - }, - "output": { - "HistoryRecords": [ - { - "EventInformation": { - "EventSubType": "submitted" - }, - "EventType": "fleetRequestChange", - "Timestamp": "2015-05-26T23:17:20.697Z" - }, - { - "EventInformation": { - "EventSubType": "active" - }, - "EventType": "fleetRequestChange", - "Timestamp": "2015-05-26T23:17:20.873Z" - }, - { - "EventInformation": { - "EventSubType": "launched", - "InstanceId": "i-1234567890abcdef0" - }, - "EventType": "instanceChange", - "Timestamp": "2015-05-26T23:21:21.712Z" - }, - { - "EventInformation": { - "EventSubType": "launched", - "InstanceId": "i-1234567890abcdef1" - }, - "EventType": "instanceChange", - "Timestamp": "2015-05-26T23:21:21.816Z" - } - ], - "NextToken": "CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "StartTime": "2015-05-26T00:00:00Z" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example returns the history for the specified Spot fleet starting at the specified time.", - "id": "ec2-describe-spot-fleet-request-history-1", - "title": "To describe Spot fleet history" - } - ], - "DescribeSpotFleetRequests": [ - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ] - }, - "output": { - "SpotFleetRequestConfigs": [ - { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "EbsOptimized": false, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "cc2.8xlarge", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeleteOnTermination": false, - "DeviceIndex": 0, - "SecondaryPrivateIpAddressCount": 0, - "SubnetId": "subnet-a61dafcf" - } - ] - }, - { - "EbsOptimized": false, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "r3.8xlarge", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeleteOnTermination": false, - "DeviceIndex": 0, - "SecondaryPrivateIpAddressCount": 0, - "SubnetId": "subnet-a61dafcf" - } - ] - } - ], - "SpotPrice": "0.05", - "TargetCapacity": 20 - }, - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "SpotFleetRequestState": "active" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Spot fleet request.", - "id": "ec2-describe-spot-fleet-requests-1", - "title": "To describe a Spot fleet request" - } - ], - "DescribeSpotInstanceRequests": [ - { - "input": { - "SpotInstanceRequestIds": [ - "sir-08b93456" - ] - }, - "output": { - "SpotInstanceRequests": [ - { - "CreateTime": "2014-04-30T18:14:55.000Z", - "InstanceId": "i-1234567890abcdef0", - "LaunchSpecification": { - "BlockDeviceMappings": [ - { - "DeviceName": "/dev/sda1", - "Ebs": { - "DeleteOnTermination": true, - "VolumeSize": 8, - "VolumeType": "standard" - } - } - ], - "EbsOptimized": false, - "ImageId": "ami-7aba833f", - "InstanceType": "m1.small", - "KeyName": "my-key-pair", - "SecurityGroups": [ - { - "GroupId": "sg-e38f24a7", - "GroupName": "my-security-group" - } - ] - }, - "LaunchedAvailabilityZone": "us-west-1b", - "ProductDescription": "Linux/UNIX", - "SpotInstanceRequestId": "sir-08b93456", - "SpotPrice": "0.010000", - "State": "active", - "Status": { - "Code": "fulfilled", - "Message": "Your Spot request is fulfilled.", - "UpdateTime": "2014-04-30T18:16:21.000Z" - }, - "Type": "one-time" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Spot Instance request.", - "id": "ec2-describe-spot-instance-requests-1", - "title": "To describe a Spot Instance request" - } - ], - "DescribeSpotPriceHistory": [ - { - "input": { - "EndTime": "2014-01-06T08:09:10", - "InstanceTypes": [ - "m1.xlarge" - ], - "ProductDescriptions": [ - "Linux/UNIX (Amazon VPC)" - ], - "StartTime": "2014-01-06T07:08:09" - }, - "output": { - "SpotPriceHistory": [ - { - "AvailabilityZone": "us-west-1a", - "InstanceType": "m1.xlarge", - "ProductDescription": "Linux/UNIX (Amazon VPC)", - "SpotPrice": "0.080000", - "Timestamp": "2014-01-06T04:32:53.000Z" - }, - { - "AvailabilityZone": "us-west-1c", - "InstanceType": "m1.xlarge", - "ProductDescription": "Linux/UNIX (Amazon VPC)", - "SpotPrice": "0.080000", - "Timestamp": "2014-01-05T11:28:26.000Z" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example returns the Spot Price history for m1.xlarge, Linux/UNIX (Amazon VPC) instances for a particular day in January.", - "id": "ec2-describe-spot-price-history-1", - "title": "To describe Spot price history for Linux/UNIX (Amazon VPC)" - } - ], - "DescribeSubnets": [ - { - "input": { - "Filters": [ - { - "Name": "vpc-id", - "Values": [ - "vpc-a01106c2" - ] - } - ] - }, - "output": { - "Subnets": [ - { - "AvailabilityZone": "us-east-1c", - "AvailableIpAddressCount": 251, - "CidrBlock": "10.0.1.0/24", - "DefaultForAz": false, - "MapPublicIpOnLaunch": false, - "State": "available", - "SubnetId": "subnet-9d4a7b6c", - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the subnets for the specified VPC.", - "id": "ec2-describe-subnets-1", - "title": "To describe the subnets for a VPC" - } - ], - "DescribeTags": [ - { - "input": { - "Filters": [ - { - "Name": "resource-id", - "Values": [ - "i-1234567890abcdef8" - ] - } - ] - }, - "output": { - "Tags": [ - { - "Key": "Stack", - "ResourceId": "i-1234567890abcdef8", - "ResourceType": "instance", - "Value": "test" - }, - { - "Key": "Name", - "ResourceId": "i-1234567890abcdef8", - "ResourceType": "instance", - "Value": "Beta Server" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the tags for the specified instance.", - "id": "ec2-describe-tags-1", - "title": "To describe the tags for a single resource" - } - ], - "DescribeVolumeAttribute": [ - { - "input": { - "Attribute": "autoEnableIO", - "VolumeId": "vol-049df61146c4d7901" - }, - "output": { - "AutoEnableIO": { - "Value": false - }, - "VolumeId": "vol-049df61146c4d7901" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``autoEnableIo`` attribute of the volume with the ID ``vol-049df61146c4d7901``.", - "id": "to-describe-a-volume-attribute-1472505773492", - "title": "To describe a volume attribute" - } - ], - "DescribeVolumeStatus": [ - { - "input": { - "VolumeIds": [ - "vol-1234567890abcdef0" - ] - }, - "output": { - "VolumeStatuses": [ - { - "Actions": [ - - ], - "AvailabilityZone": "us-east-1a", - "Events": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeStatus": { - "Details": [ - { - "Name": "io-enabled", - "Status": "passed" - }, - { - "Name": "io-performance", - "Status": "not-applicable" - } - ], - "Status": "ok" - } - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the status for the volume ``vol-1234567890abcdef0``.", - "id": "to-describe-the-status-of-a-single-volume-1472507016193", - "title": "To describe the status of a single volume" - }, - { - "input": { - "Filters": [ - { - "Name": "volume-status.status", - "Values": [ - "impaired" - ] - } - ] - }, - "output": { - "VolumeStatuses": [ - - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the status for all volumes that are impaired. In this example output, there are no impaired volumes.", - "id": "to-describe-the-status-of-impaired-volumes-1472507239821", - "title": "To describe the status of impaired volumes" - } - ], - "DescribeVolumes": [ - { - "input": { - }, - "output": { - "NextToken": "", - "Volumes": [ - { - "Attachments": [ - { - "AttachTime": "2013-12-18T22:35:00.000Z", - "DeleteOnTermination": true, - "Device": "/dev/sda1", - "InstanceId": "i-1234567890abcdef0", - "State": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2013-12-18T22:35:00.084Z", - "Size": 8, - "SnapshotId": "snap-1234567890abcdef0", - "State": "in-use", - "VolumeId": "vol-049df61146c4d7901", - "VolumeType": "standard" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all of your volumes in the default region.", - "id": "to-describe-all-volumes-1472506358883", - "title": "To describe all volumes" - }, - { - "input": { - "Filters": [ - { - "Name": "attachment.instance-id", - "Values": [ - "i-1234567890abcdef0" - ] - }, - { - "Name": "attachment.delete-on-termination", - "Values": [ - "true" - ] - } - ] - }, - "output": { - "Volumes": [ - { - "Attachments": [ - { - "AttachTime": "2013-12-18T22:35:00.000Z", - "DeleteOnTermination": true, - "Device": "/dev/sda1", - "InstanceId": "i-1234567890abcdef0", - "State": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2013-12-18T22:35:00.084Z", - "Size": 8, - "SnapshotId": "snap-1234567890abcdef0", - "State": "in-use", - "VolumeId": "vol-049df61146c4d7901", - "VolumeType": "standard" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all volumes that are both attached to the instance with the ID i-1234567890abcdef0 and set to delete when the instance terminates.", - "id": "to-describe-volumes-that-are-attached-to-a-specific-instance-1472506613578", - "title": "To describe volumes that are attached to a specific instance" - } - ], - "DescribeVpcAttribute": [ - { - "input": { - "Attribute": "enableDnsSupport", - "VpcId": "vpc-a01106c2" - }, - "output": { - "EnableDnsSupport": { - "Value": true - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.", - "id": "ec2-describe-vpc-attribute-1", - "title": "To describe the enableDnsSupport attribute" - }, - { - "input": { - "Attribute": "enableDnsHostnames", - "VpcId": "vpc-a01106c2" - }, - "output": { - "EnableDnsHostnames": { - "Value": true - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the enableDnsHostnames attribute. This attribute indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", - "id": "ec2-describe-vpc-attribute-2", - "title": "To describe the enableDnsHostnames attribute" - } - ], - "DescribeVpcs": [ - { - "input": { - "VpcIds": [ - "vpc-a01106c2" - ] - }, - "output": { - "Vpcs": [ - { - "CidrBlock": "10.0.0.0/16", - "DhcpOptionsId": "dopt-7a8b9c2d", - "InstanceTenancy": "default", - "IsDefault": false, - "State": "available", - "Tags": [ - { - "Key": "Name", - "Value": "MyVPC" - } - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified VPC.", - "id": "ec2-describe-vpcs-1", - "title": "To describe a VPC" - } - ], - "DetachInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the specified Internet gateway from the specified VPC.", - "id": "ec2-detach-internet-gateway-1", - "title": "To detach an Internet gateway from a VPC" - } - ], - "DetachNetworkInterface": [ - { - "input": { - "AttachmentId": "eni-attach-66c4350a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the specified network interface from its attached instance.", - "id": "ec2-detach-network-interface-1", - "title": "To detach a network interface from an instance" - } - ], - "DetachVolume": [ - { - "input": { - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "AttachTime": "2014-02-27T19:23:06.000Z", - "Device": "/dev/sdb", - "InstanceId": "i-1234567890abcdef0", - "State": "detaching", - "VolumeId": "vol-049df61146c4d7901" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the volume (``vol-049df61146c4d7901``) from the instance it is attached to.", - "id": "to-detach-a-volume-from-an-instance-1472507977694", - "title": "To detach a volume from an instance" - } - ], - "DisableVgwRoutePropagation": [ - { - "input": { - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disables the specified virtual private gateway from propagating static routes to the specified route table.", - "id": "ec2-disable-vgw-route-propagation-1", - "title": "To disable route propagation" - } - ], - "DisassociateAddress": [ - { - "input": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates an Elastic IP address from an instance in a VPC.", - "id": "ec2-disassociate-address-1", - "title": "To disassociate an Elastic IP address in EC2-VPC" - }, - { - "input": { - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates an Elastic IP address from an instance in EC2-Classic.", - "id": "ec2-disassociate-address-2", - "title": "To disassociate an Elastic IP addresses in EC2-Classic" - } - ], - "DisassociateRouteTable": [ - { - "input": { - "AssociationId": "rtbassoc-781d0d1a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates the specified route table from its associated subnet.", - "id": "ec2-disassociate-route-table-1", - "title": "To disassociate a route table" - } - ], - "EnableVgwRoutePropagation": [ - { - "input": { - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example enables the specified virtual private gateway to propagate static routes to the specified route table.", - "id": "ec2-enable-vgw-route-propagation-1", - "title": "To enable route propagation" - } - ], - "EnableVolumeIO": [ - { - "input": { - "VolumeId": "vol-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example enables I/O on volume ``vol-1234567890abcdef0``.", - "id": "to-enable-io-for-a-volume-1472508114867", - "title": "To enable I/O for a volume" - } - ], - "ModifyNetworkInterfaceAttribute": [ - { - "input": { - "Attachment": { - "AttachmentId": "eni-attach-43348162", - "DeleteOnTermination": false - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the attachment attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-1", - "title": "To modify the attachment attribute of a network interface" - }, - { - "input": { - "Description": { - "Value": "My description" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the description attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-2", - "title": "To modify the description attribute of a network interface" - }, - { - "input": { - "Groups": [ - "sg-903004f8", - "sg-1a2b3c4d" - ], - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command modifies the groupSet attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-3", - "title": "To modify the groupSet attribute of a network interface" - }, - { - "input": { - "NetworkInterfaceId": "eni-686ea200", - "SourceDestCheck": { - "Value": false - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command modifies the sourceDestCheck attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-4", - "title": "To modify the sourceDestCheck attribute of a network interface" - } - ], - "ModifySnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "OperationType": "remove", - "SnapshotId": "snap-1234567890abcdef0", - "UserIds": [ - "123456789012" - ] - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies snapshot ``snap-1234567890abcdef0`` to remove the create volume permission for a user with the account ID ``123456789012``. If the command succeeds, no output is returned.", - "id": "to-modify-a-snapshot-attribute-1472508385907", - "title": "To modify a snapshot attribute" - }, - { - "input": { - "Attribute": "createVolumePermission", - "GroupNames": [ - "all" - ], - "OperationType": "add", - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example makes the snapshot ``snap-1234567890abcdef0`` public.", - "id": "to-make-a-snapshot-public-1472508470529", - "title": "To make a snapshot public" - } - ], - "ModifySpotFleetRequest": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "TargetCapacity": 20 - }, - "output": { - "Return": true - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example increases the target capacity of the specified Spot fleet request.", - "id": "ec2-modify-spot-fleet-request-1", - "title": "To increase the target capacity of a Spot fleet request" - }, - { - "input": { - "ExcessCapacityTerminationPolicy": "NoTermination ", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "TargetCapacity": 10 - }, - "output": { - "Return": true - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example decreases the target capacity of the specified Spot fleet request without terminating any Spot Instances as a result.", - "id": "ec2-modify-spot-fleet-request-2", - "title": "To decrease the target capacity of a Spot fleet request" - } - ], - "ModifySubnetAttribute": [ - { - "input": { - "MapPublicIpOnLaunch": { - "Value": true - }, - "SubnetId": "subnet-1a2b3c4d" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the specified subnet so that all instances launched into this subnet are assigned a public IP address.", - "id": "ec2-modify-subnet-attribute-1", - "title": "To change a subnet's public IP addressing behavior" - } - ], - "ModifyVolumeAttribute": [ - { - "input": { - "AutoEnableIO": { - "Value": true - }, - "DryRun": true, - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example sets the ``autoEnableIo`` attribute of the volume with the ID ``vol-1234567890abcdef0`` to ``true``. If the command succeeds, no output is returned.", - "id": "to-modify-a-volume-attribute-1472508596749", - "title": "To modify a volume attribute" - } - ], - "ModifyVpcAttribute": [ - { - "input": { - "EnableDnsSupport": { - "Value": false - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for instances in the VPC to their corresponding IP addresses; otherwise, it does not.", - "id": "ec2-modify-vpc-attribute-1", - "title": "To modify the enableDnsSupport attribute" - }, - { - "input": { - "EnableDnsHostnames": { - "Value": false - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the enableDnsHostnames attribute. This attribute indicates whether instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", - "id": "ec2-modify-vpc-attribute-2", - "title": "To modify the enableDnsHostnames attribute" - } - ], - "MoveAddressToVpc": [ - { - "input": { - "PublicIp": "54.123.4.56" - }, - "output": { - "Status": "MoveInProgress" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example moves the specified Elastic IP address to the EC2-VPC platform.", - "id": "ec2-move-address-to-vpc-1", - "title": "To move an address to EC2-VPC" - } - ], - "PurchaseScheduledInstances": [ - { - "input": { - "PurchaseRequests": [ - { - "InstanceCount": 1, - "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi..." - } - ] - }, - "output": { - "ScheduledInstanceSet": [ - { - "AvailabilityZone": "us-west-2b", - "CreateDate": "2016-01-25T21:43:38.612Z", - "HourlyPrice": "0.095", - "InstanceCount": 1, - "InstanceType": "c4.large", - "NetworkPlatform": "EC2-VPC", - "NextSlotStartTime": "2016-01-31T09:00:00Z", - "Platform": "Linux/UNIX", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false, - "OccurrenceUnit": "" - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", - "SlotDurationInHours": 32, - "TermEndDate": "2017-01-31T09:00:00Z", - "TermStartDate": "2016-01-31T09:00:00Z", - "TotalScheduledInstanceHours": 1696 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example purchases a Scheduled Instance.", - "id": "ec2-purchase-scheduled-instances-1", - "title": "To purchase a Scheduled Instance" - } - ], - "ReleaseAddress": [ - { - "input": { - "AllocationId": "eipalloc-64d5890a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example releases an Elastic IP address for use with instances in a VPC.", - "id": "ec2-release-address-1", - "title": "To release an Elastic IP address for EC2-VPC" - }, - { - "input": { - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example releases an Elastic IP address for use with instances in EC2-Classic.", - "id": "ec2-release-address-2", - "title": "To release an Elastic IP addresses for EC2-Classic" - } - ], - "ReplaceNetworkAclAssociation": [ - { - "input": { - "AssociationId": "aclassoc-e5b95c8c", - "NetworkAclId": "acl-5fb85d36" - }, - "output": { - "NewAssociationId": "aclassoc-3999875b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified network ACL with the subnet for the specified network ACL association.", - "id": "ec2-replace-network-acl-association-1", - "title": "To replace the network ACL associated with a subnet" - } - ], - "ReplaceNetworkAclEntry": [ - { - "input": { - "CidrBlock": "203.0.113.12/24", - "Egress": false, - "NetworkAclId": "acl-5fb85d36", - "PortRange": { - "From": 53, - "To": 53 - }, - "Protocol": "udp", - "RuleAction": "allow", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example replaces an entry for the specified network ACL. The new rule 100 allows ingress traffic from 203.0.113.12/24 on UDP port 53 (DNS) into any associated subnet.", - "id": "ec2-replace-network-acl-entry-1", - "title": "To replace a network ACL entry" - } - ], - "ReplaceRoute": [ - { - "input": { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example replaces the specified route in the specified table table. The new route matches the specified CIDR and sends the traffic to the specified virtual private gateway.", - "id": "ec2-replace-route-1", - "title": "To replace a route" - } - ], - "ReplaceRouteTableAssociation": [ - { - "input": { - "AssociationId": "rtbassoc-781d0d1a", - "RouteTableId": "rtb-22574640" - }, - "output": { - "NewAssociationId": "rtbassoc-3a1f0f58" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified route table with the subnet for the specified route table association.", - "id": "ec2-replace-route-table-association-1", - "title": "To replace the route table associated with a subnet" - } - ], - "RequestSpotFleet": [ - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "SecurityGroups": [ - { - "GroupId": "sg-1a2b3c4d" - } - ], - "SubnetId": "subnet-1a2b3c4d, subnet-3c4d5e6f" - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request with two launch specifications that differ only by subnet. The Spot fleet launches the instances in the specified subnet with the lowest price. If the instances are launched in a default VPC, they receive a public IP address by default. If the instances are launched in a nondefault VPC, they do not receive a public IP address by default. Note that you can't specify different subnets from the same Availability Zone in a Spot fleet request.", - "id": "ec2-request-spot-fleet-1", - "title": "To request a Spot fleet in the subnet with the lowest price" - }, - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2a, us-west-2b" - }, - "SecurityGroups": [ - { - "GroupId": "sg-1a2b3c4d" - } - ] - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request with two launch specifications that differ only by Availability Zone. The Spot fleet launches the instances in the specified Availability Zone with the lowest price. If your account supports EC2-VPC only, Amazon EC2 launches the Spot instances in the default subnet of the Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the Availability Zone.", - "id": "ec2-request-spot-fleet-2", - "title": "To request a Spot fleet in the Availability Zone with the lowest price" - }, - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::880185128111:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeviceIndex": 0, - "Groups": [ - "sg-1a2b3c4d" - ], - "SubnetId": "subnet-1a2b3c4d" - } - ] - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns public addresses to instances launched in a nondefault VPC. Note that when you specify a network interface, you must include the subnet ID and security group ID using the network interface.", - "id": "ec2-request-spot-fleet-3", - "title": "To launch Spot instances in a subnet and assign them public IP addresses" - }, - { - "input": { - "SpotFleetRequestConfig": { - "AllocationStrategy": "diversified", - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "c4.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - }, - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - }, - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "r3.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - } - ], - "SpotPrice": "0.70", - "TargetCapacity": 30 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request that launches 30 instances using the diversified allocation strategy. The launch specifications differ by instance type. The Spot fleet distributes the instances across the launch specifications such that there are 10 instances of each type.", - "id": "ec2-request-spot-fleet-4", - "title": "To request a Spot fleet using the diversified allocation strategy" - } - ], - "RequestSpotInstances": [ - { - "input": { - "InstanceCount": 5, - "LaunchSpecification": { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2a" - }, - "SecurityGroupIds": [ - "sg-1a2b3c4d" - ] - }, - "SpotPrice": "0.03", - "Type": "one-time" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a one-time Spot Instance request for five instances in the specified Availability Zone. If your account supports EC2-VPC only, Amazon EC2 launches the instances in the default subnet of the specified Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the specified Availability Zone.", - "id": "ec2-request-spot-instances-1", - "title": "To create a one-time Spot Instance request" - }, - { - "input": { - "InstanceCount": 5, - "LaunchSpecification": { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "SecurityGroupIds": [ - "sg-1a2b3c4d" - ], - "SubnetId": "subnet-1a2b3c4d" - }, - "SpotPrice": "0.050", - "Type": "one-time" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command creates a one-time Spot Instance request for five instances in the specified subnet. Amazon EC2 launches the instances in the specified subnet. If the VPC is a nondefault VPC, the instances do not receive a public IP address by default.", - "id": "ec2-request-spot-instances-2", - "title": "To create a one-time Spot Instance request" - } - ], - "ResetSnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example resets the create volume permissions for snapshot ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", - "id": "to-reset-a-snapshot-attribute-1472508825735", - "title": "To reset a snapshot attribute" - } - ], - "RestoreAddressToClassic": [ - { - "input": { - "PublicIp": "198.51.100.0" - }, - "output": { - "PublicIp": "198.51.100.0", - "Status": "MoveInProgress" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example restores the specified Elastic IP address to the EC2-Classic platform.", - "id": "ec2-restore-address-to-classic-1", - "title": "To restore an address to EC2-Classic" - } - ], - "RunScheduledInstances": [ - { - "input": { - "InstanceCount": 1, - "LaunchSpecification": { - "IamInstanceProfile": { - "Name": "my-iam-role" - }, - "ImageId": "ami-12345678", - "InstanceType": "c4.large", - "KeyName": "my-key-pair", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeviceIndex": 0, - "Groups": [ - "sg-12345678" - ], - "SubnetId": "subnet-12345678" - } - ] - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" - }, - "output": { - "InstanceIdSet": [ - "i-1234567890abcdef0" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example launches the specified Scheduled Instance in a VPC.", - "id": "ec2-run-scheduled-instances-1", - "title": "To launch a Scheduled Instance in a VPC" - }, - { - "input": { - "InstanceCount": 1, - "LaunchSpecification": { - "IamInstanceProfile": { - "Name": "my-iam-role" - }, - "ImageId": "ami-12345678", - "InstanceType": "c4.large", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2b" - }, - "SecurityGroupIds": [ - "sg-12345678" - ] - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" - }, - "output": { - "InstanceIdSet": [ - "i-1234567890abcdef0" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example launches the specified Scheduled Instance in EC2-Classic.", - "id": "ec2-run-scheduled-instances-2", - "title": "To launch a Scheduled Instance in EC2-Classic" - } - ], - "UnassignPrivateIpAddresses": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "PrivateIpAddresses": [ - "10.0.0.82" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example unassigns the specified private IP address from the specified network interface.", - "id": "ec2-unassign-private-ip-addresses-1", - "title": "To unassign a secondary private IP address from a network interface" - } - ] - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/paginators-1.json deleted file mode 100644 index 2bd01ad5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/paginators-1.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "pagination": { - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotFleetRequests": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotFleetRequestConfigs" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeVolumes": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Volumes" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/service-2.json deleted file mode 100644 index 700f84ac..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/service-2.json +++ /dev/null @@ -1,17907 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-09-15", - "endpointPrefix":"ec2", - "protocol":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "signatureVersion":"v4", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-09-15" - }, - "operations":{ - "AcceptReservedInstancesExchangeQuote":{ - "name":"AcceptReservedInstancesExchangeQuote", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptReservedInstancesExchangeQuoteRequest"}, - "output":{"shape":"AcceptReservedInstancesExchangeQuoteResult"}, - "documentation":"

Purchases Convertible Reserved Instance offerings described in the GetReservedInstancesExchangeQuote call.

" - }, - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Acquires an Elastic IP address.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"}, - "documentation":"

Allocates a Dedicated Host to your account. At minimum you need to specify the instance size type, Availability Zone, and quantity of hosts you want to allocate.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface.

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.

" - }, - "AssociateDhcpOptions":{ - "name":"AssociateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an Internet gateway to a VPC, enabling connectivity between the Internet and the VPC. For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For an overview of the AWS Marketplace, see Introducing AWS Marketplace.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. For more information, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination CIDR IP address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

You can have up to 50 rules per security group (covering both ingress and egress rules).

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.

[EC2-VPC] This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

For more information, see Creating an Instance Store-Backed Windows AMI.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"}, - "documentation":"

Cancels the specified Spot fleet requests.

After you cancel a Spot fleet request, the Spot fleet launches no new Spot instances. You must specify whether the Spot fleet should also terminate its Spot instances. If you terminate the instances, the Spot fleet request enters the cancelled_terminating state. Otherwise, the Spot fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot instance requests. Spot instances are instances that Amazon EC2 starts on your behalf when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

Canceling a Spot instance request does not terminate running Spot instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner needs to verify whether another user's instance is eligible for support.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information, see Copying AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. 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.

" - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "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.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an Internet gateway for use with a VPC. After creating the Internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and Internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"}, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#8 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. To create a key pair that is available in all regions, use ImportKeyPair.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified subnet. A NAT gateway can be used to enable instances in a private subnet to connect to the Internet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group that you launch cluster instances into. You must give the group a name that's unique within the scope of your account.

For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

When determining how to route traffic, we use the route with the most specific match. For example, let's say the traffic is destined for 192.0.2.3, and the route table includes the following two routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"}, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot instances, enabling you to view Spot instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and the CIDR block you want for the subnet. After you create a subnet, you can't change its CIDR block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming you want only a single subnet in the VPC), or a subset of the VPC's CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest subnet (and VPC) you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses).

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.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes 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.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified CIDR block.

The smallest VPC you can create uses a /28 netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP addresses). To help you decide how big to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

By default, each instance you launch in the VPC has the default DHCP options, which includes only a default DNS server that we provide (AmazonProvidedDNS). For more information about DHCP options, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified AWS service. An endpoint enables you to create a private connection between your VPC and another AWS service in your account. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

Currently, only endpoints to Amazon S3 are supported.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and 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.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"}, - "documentation":"

Deletes one or more flow logs.

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified Internet gateway. You must detach the Internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"}, - "documentation":"

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot instances.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources. This call is designed to follow a DescribeTags request.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume may remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"}, - "documentation":"

Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the peer VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances.

This command does not delete the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink; you cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information about DHCP options sets, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"}, - "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" - }, - "DescribeHostReservationOfferings":{ - "name":"DescribeHostReservationOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationOfferingsRequest"}, - "output":{"shape":"DescribeHostReservationOfferingsResult"}, - "documentation":"

Describes the Dedicated Host Reservations that are available to purchase.

The results describe all the Dedicated Host Reservation offerings, including offerings that may not match the instance family and region of your Dedicated Hosts. When purchasing an offering, ensure that the the instance family and region of the offering matches that of the Dedicated Host/s it will be associated with. For an overview of supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeHostReservations":{ - "name":"DescribeHostReservations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationsRequest"}, - "output":{"shape":"DescribeHostReservationsResult"}, - "documentation":"

Describes Dedicated Host Reservations which are associated with Dedicated Hosts in your account.

" - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "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.

" - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"}, - "documentation":"

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: instance | reservation | snapshot | volume.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "DescribeIdentityIdFormat":{ - "name":"DescribeIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityIdFormatRequest"}, - "output":{"shape":"DescribeIdentityIdFormatResult"}, - "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: instance | reservation | snapshot | volume.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"}, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Describes your import snapshot tasks.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances. By default, only running instances are described, unless specified otherwise.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your Internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"}, - "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"}, - "documentation":"

Describes one or more of the your NAT gateways.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information about placement groups and cluster instances, see Cluster Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"}, - "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a VPC endpoint.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"}, - "documentation":"

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

" - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"}, - "documentation":"

Describes one or more of your Scheduled Instances.

" - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

[EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot instances. For more information, see Spot Instance Data Feed in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"}, - "documentation":"

Describes the running instances for the specified Spot fleet.

" - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"}, - "documentation":"

Describes the events for the specified Spot fleet request during the specified time.

Spot fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event.

" - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"}, - "documentation":"

Describes your Spot fleet requests.

Spot fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the Spot instance requests that belong to your account. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

You can use DescribeSpotInstanceRequests to find a running Spot instance by examining the response. If the status of the Spot instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

Spot instance requests are deleted 4 hours after they are canceled and their instances are terminated.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot price history. The prices returned are listed in chronological order, from the oldest to the most recent, for up to the past 90 days. For more information, see Spot Instance Pricing History in the Amazon Elastic Compute Cloud User Guide.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

[EC2-VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information on volume status, see Monitoring the Status of Your Volumes.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

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.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"}, - "documentation":"

Describes all supported AWS services that can be specified when creating a VPC endpoint.

" - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"}, - "documentation":"

Describes one or more of your VPC endpoints.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see Adding an IPsec Hardware VPN to Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an Internet gateway from a VPC, disabling connectivity between the Internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC'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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information about ClassicLink, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance.

Instances do not have a physical monitor through which you can view their console output. They also lack physical controls that allow you to power up, reboot, or shut them down. To allow these actions, we provide them through the Amazon EC2 API and command line interface.

Instance console output is buffered and posted shortly after instance boot, reboot, and termination. Amazon EC2 preserves the most recent 64 KB output which is available for at least one hour after the most recent post.

For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. This output is buffered because the instance produces it and then posts it to a store where the instance's owner can retrieve it.

For Windows instances, the instance console output includes output from the EC2Config service.

" - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"}, - "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

" - }, - "GetHostReservationPurchasePreview":{ - "name":"GetHostReservationPurchasePreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, - "output":{"shape":"GetHostReservationPurchasePreviewResult"}, - "documentation":"

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for an instance running Windows.

The Windows password is generated at boot if the EC2Config service plugin, Ec2SetPassword, is enabled. This usually only happens the first time an AMI is launched, and then Ec2SetPassword is automatically disabled. The password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

Password generation and encryption takes a few moments. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "GetReservedInstancesExchangeQuote":{ - "name":"GetReservedInstancesExchangeQuote", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservedInstancesExchangeQuoteRequest"}, - "output":{"shape":"GetReservedInstancesExchangeQuoteResult"}, - "documentation":"

Returns details about the values and term of your specified Convertible Reserved Instances. When an offering ID is specified it returns information about whether the exchange is valid and can be performed.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Imports a disk into an EBS snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"}, - "documentation":"

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, AWS will place instances that you launch with a tenancy of host, but without targeting a specific host ID, onto any available Dedicated Host in your account which has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID if you want the instance to launch onto a specific host. If no host ID is provided, the instance will be launched onto a suitable host which has auto-placement enabled.

" - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"}, - "documentation":"

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created. The following resource types support longer IDs: instance | reservation | snapshot | volume.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyIdentityIdFormat":{ - "name":"ModifyIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdentityIdFormatRequest"}, - "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

The following resource types support longer IDs: instance | reservation | snapshot | volume. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

The SriovNetSupport enhanced networking attribute cannot be changed using this command. Instead, enable SriovNetSupport on an instance and create an AMI from the instance. This will result in an image with SriovNetSupport enabled.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"}, - "documentation":"

Set the instance affinity value for a specific stopped instance and modify the instance tenancy setting.

Instance affinity is disabled by default. When instance affinity is host and it is not associated with a specific Dedicated Host, the next time it is launched it will automatically be associated with the host it lands on. This relationship will persist if the instance is stopped/started, or rebooted.

You can modify the host ID associated with a stopped instance. If a stopped instance has a new host ID association, the instance will target that host when restarted.

You can modify the tenancy of a stopped instance with a tenancy of host or dedicated.

Affinity, hostID, and tenancy are not required parameters, but at least one of them must be specified in the request. Affinity and tenancy can be modified in the same request, but tenancy can only be modified on instances that are stopped.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"}, - "documentation":"

Modifies the specified Spot fleet request.

While the Spot fleet request is being modified, it is in the modifying state.

To scale up your Spot fleet, increase its target capacity. The Spot fleet launches the additional Spot instances according to the allocation strategy for the Spot fleet request. If the allocation strategy is lowestPrice, the Spot fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot fleet distributes the instances across the Spot pools.

To scale down your Spot fleet, decrease its target capacity. First, the Spot fleet cancels any open bids that exceed the new target capacity. You can request that the Spot fleet terminate Spot instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot fleet keep the fleet at its current size, but not replace any Spot instances that are interrupted or that you terminate manually.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. You can modify the policy associated with the endpoint, and you can add and remove route tables associated with the endpoint.

" - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, - "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in different accounts, each owner must initiate a separate request to modify the peering connection options, depending on whether their VPC was the requester or accepter for the VPC peering connection. If the peered VPCs are in the same account, you can modify the requester and accepter options in the same request. To confirm which VPC is the accepter and requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"}, - "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" - }, - "PurchaseHostReservation":{ - "name":"PurchaseHostReservation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseHostReservationRequest"}, - "output":{"shape":"PurchaseHostReservationResult"}, - "documentation":"

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"}, - "documentation":"

Purchases one or more Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. 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.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

After releasing an Elastic IP address, it is released to the IP address pool and might be unavailable to you. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you try to release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

" - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"}, - "documentation":"

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, 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.

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: Internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, or network interface.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"}, - "documentation":"

Creates a Spot fleet request.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot fleet requests Spot instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot instances in your Spot fleet are in different Spot pools, you can improve the availability of your fleet.

For more information, see Spot Fleet Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot instance request. Spot instances are instances that Amazon EC2 launches when the bid price that you specify exceeds the current Spot price. Amazon EC2 periodically sets the Spot price based on available Spot Instance capacity and current Spot instance requests. For more information, see Spot Instance Requests in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"}, - "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be revoked.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

When you launch an instance, it enters the pending state. After the instance is ready for you, it enters the running state. To check the state of your instance, call DescribeInstances.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

To tag your instance, ensure that it is running as CreateTags requires a resource ID. For more information about tagging, see Tagging Your Amazon EC2 Resources.

If you don't specify a security group when launching an instance, Amazon EC2 uses the default security group. For more information, see Security Groups in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC only accounts] If you don't specify a subnet in the request, we choose a default subnet from your default VPC for you.

[EC2-Classic accounts] If you're launching into EC2-Classic and you don't specify an Availability Zone, we choose one for you.

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.

You can provide optional user data when launching an instance. For more information, see Instance Metadata in the Amazon Elastic Compute Cloud User Guide.

If any of the AMIs have a product code attached for which the user has not subscribed, RunInstances fails.

Some instance types can only be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID in the request, RunInstances fails. For more information, see Instance Types Available Only in a VPC.

For more information about troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"}, - "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed AMI that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for hourly instance usage. However, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance.

We don't charge hourly usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains, continues to persist your data, and you are charged for Amazon EBS volume usage. Each time you transition an instance from stopped to started, Amazon EC2 charges a full instance hour, even if transitions happen multiple times within a single hour.

You can't start or stop Spot instances, and you can't stop instance store-backed instances.

When you stop an instance, we shut it down. You can restart your instance at any time. Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Stopping an instance is different to rebooting or terminating it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables monitoring for a running instance. For more information about monitoring instances, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "shapes":{ - "AcceptReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "documentation":"

The IDs of the Convertible Reserved Instances that you want to exchange for other Convertible Reserved Instances of the same or higher value.

", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "documentation":"

The configurations of the Convertible Reserved Instance offerings you are purchasing in this exchange.

", - "locationName":"TargetConfiguration" - } - }, - "documentation":"

Contains the parameters for accepting the quote.

" - }, - "AcceptReservedInstancesExchangeQuoteResult":{ - "type":"structure", - "members":{ - "ExchangeId":{ - "shape":"String", - "documentation":"

The ID of the successful exchange.

", - "locationName":"exchangeId" - } - }, - "documentation":"

The result of the exchange and whether it was successful.

" - }, - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for AcceptVpcPeeringConnection.

" - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of AcceptVpcPeeringConnection.

" - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - } - }, - "documentation":"

Describes a running instance in a Spot fleet.

" - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "ActivityStatus":{ - "type":"string", - "enum":[ - "error", - "pending_fulfillment", - "pending_termination", - "fulfilled" - ] - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "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" - }, - "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.

" - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of AllocateAddress.

" - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "InstanceType", - "Quantity", - "AvailabilityZone" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

Specify the instance type that you want your Dedicated Hosts to be configured for. When you specify the instance type, that is the only instance type that you can launch onto that host.

", - "locationName":"instanceType" - }, - "Quantity":{ - "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.

" - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "documentation":"

The ID of the allocated Dedicated Host. This is used when you want to launch an instance onto a specific host.

", - "locationName":"hostIdSet" - } - }, - "documentation":"

Contains the output of AllocateHosts.

" - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "AllocationState":{ - "type":"string", - "enum":[ - "available", - "under-assessment", - "permanent-failure", - "released", - "released-permanent-failure" - ] - }, - "AllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "diversified" - ] - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "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.

" - }, - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - }, - "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.

" - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateAddress.

" - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "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.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AssociateDhcpOptions.

" - }, - "AssociateRouteTableRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "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" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for AssociateRouteTable.

" - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID (needed to disassociate the route table).

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateRouteTable.

" - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId", - "Groups" - ], - "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 an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "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.

" - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of AttachClassicLinkVpc.

" - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for AttachInternetGateway.

" - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "InstanceId", - "DeviceIndex" - ], - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for AttachNetworkInterface.

" - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - }, - "documentation":"

Contains the output of AttachNetworkInterface.

" - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "VolumeId", - "InstanceId", - "Device" - ], - "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 EBS volume. The volume and instance must be within the same Availability Zone.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name to expose to the instance (for example, /dev/sdh or xvdh).

" - } - }, - "documentation":"

Contains the parameters for AttachVolume.

" - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for AttachVpnGateway.

" - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - }, - "documentation":"

Contains the output of AttachVpnGateway.

" - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

The attribute value. The valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

The attribute value. Note that the value is case-sensitive.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a String.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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 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 AuthorizeSecurityGroupEgress.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[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 traffic. If you specify -1, traffic on all ports is allowed, regardless of any ports you specify.

" - }, - "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. Can be used to specify multiple rules in a single command.

" - } - }, - "documentation":"

Contains the parameters for AuthorizeSecurityGroupIngress.

" - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "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" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - }, - "Messages":{ - "shape":"AvailabilityZoneMessageList", - "documentation":"

Any messages about the Availability Zone.

", - "locationName":"messageSet" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "documentation":"

The total number of instances that the Dedicated Host supports.

", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs available on the Dedicated Host.

", - "locationName":"availableVCpus" - } - }, - "documentation":"

The capacity information for instances launched onto the Dedicated Host.

" - }, - "AvailableInstanceCapacityList":{ - "type":"list", - "member":{ - "shape":"InstanceCapacity", - "locationName":"item" - } - }, - "BatchState":{ - "type":"string", - "enum":[ - "submitted", - "active", - "cancelled", - "failed", - "cancelled_running", - "cancelled_terminating", - "modifying" - ] - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "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" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for BundleInstance.

" - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of BundleInstance.

" - }, - "BundleTask":{ - "type":"structure", - "members":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBatchErrorCode":{ - "type":"string", - "enum":[ - "fleetRequestIdDoesNotExist", - "fleetRequestIdMalformed", - "fleetRequestNotInCancellableState", - "unexpectedError" - ] - }, - "CancelBundleTaskRequest":{ - "type":"structure", - "required":["BundleId"], - "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" - }, - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

" - } - }, - "documentation":"

Contains the parameters for CancelBundleTask.

" - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of CancelBundleTask.

" - }, - "CancelConversionRequest":{ - "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" - }, - "ReasonMessage":{ - "shape":"String", - "documentation":"

The reason for canceling the conversion task.

", - "locationName":"reasonMessage" - } - }, - "documentation":"

Contains the parameters for CancelConversionTask.

" - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for CancelExportTask.

" - }, - "CancelImportTaskRequest":{ - "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.

" - }, - "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.

" - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output for CancelImportTask.

" - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - }, - "documentation":"

Contains the parameters for CancelReservedInstancesListing.

" - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CancelReservedInstancesListing.

" - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot fleet error.

" - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "Error" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "documentation":"

The error.

", - "locationName":"error" - } - }, - "documentation":"

Describes a Spot fleet request that was not successfully canceled.

" - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for a Spot fleet request if it is canceled successfully.

", - "locationName":"terminateInstances" - } - }, - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState" - ], - "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.

", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The previous state of the Spot fleet request.

", - "locationName":"previousSpotFleetRequestState" - } - }, - "documentation":"

Describes a Spot fleet request that was successfully canceled.

" - }, - "CancelSpotFleetRequestsSuccessSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsSuccessItem", - "locationName":"item" - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClientData":{ - "type":"structure", - "members":{ - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image, in GiB.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" - } - }, - "documentation":"

Describes the client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ConfirmProductInstance.

" - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ConfirmProductInstance.

" - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "required":[ - "ConversionTaskId", - "State" - ], - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the task.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceImageId", - "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" - }, - "SourceRegion":{ - "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.

" - }, - "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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopyImage.

" - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CopyImage.

" - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "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" - } - }, - "documentation":"

Contains the parameters for CopySnapshot.

" - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - }, - "documentation":"

Contains the output of CopySnapshot.

" - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "Type", - "PublicIp", - "BgpAsn" - ], - "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).

" - }, - "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

" - } - }, - "documentation":"

Contains the parameters for CreateCustomerGateway.

" - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - }, - "documentation":"

Contains the output of CreateCustomerGateway.

" - }, - "CreateDhcpOptionsRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for CreateDhcpOptions.

" - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - }, - "documentation":"

Contains the output of CreateDhcpOptions.

" - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType", - "LogGroupName", - "DeliverLogsPermissionArn" - ], - "members":{ - "ResourceIds":{ - "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "locationName":"ResourceId" - }, - "ResourceType":{ - "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" - }, - "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.

" - }, - "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" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be created successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of CreateFlowLogs.

" - }, - "CreateImageRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "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.

" - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CreateImage.

" - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "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.

" - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "documentation":"

Information about the instance export task.

", - "locationName":"exportTask" - } - }, - "documentation":"

Contains the output for CreateInstanceExportTask.

" - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateInternetGateway.

" - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the Internet gateway.

", - "locationName":"internetGateway" - } - }, - "documentation":"

Contains the output of CreateInternetGateway.

" - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - } - }, - "documentation":"

Contains the parameters for CreateKeyPair.

" - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "SubnetId", - "AllocationId" - ], - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateNatGateway.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateNatGateway.

" - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying ICMP for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAclEntry.

" - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAcl.

" - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - }, - "documentation":"

Contains the output of CreateNetworkAcl.

" - }, - "CreateNetworkInterfaceRequest":{ - "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 IP address of the network interface. If you don't specify an IP address, Amazon EC2 selects one for you from the subnet 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" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses to assign to a network interface. When you specify a number of secondary IP addresses, Amazon EC2 selects these IP addresses within the subnet 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 Private IP Addresses Per ENI Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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 CreateNetworkInterface.

" - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - }, - "documentation":"

Contains the output of CreateNetworkInterface.

" - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - }, - "documentation":"

Contains the parameters for CreatePlacementGroup.

" - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesId", - "InstanceCount", - "PriceSchedules", - "ClientToken" - ], - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Standard Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - } - }, - "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Standard Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CreateReservedInstancesListing.

" - }, - "CreateRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "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" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for CreateRoute.

" - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of CreateRoute.

" - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateRouteTable.

" - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - }, - "documentation":"

Contains the output of CreateRouteTable.

" - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Description" - ], - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" - } - }, - "documentation":"

Contains the parameters for CreateSecurityGroup.

" - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Contains the output of CreateSecurityGroup.

" - }, - "CreateSnapshotRequest":{ - "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 EBS volume.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - } - }, - "documentation":"

Contains the parameters for CreateSnapshot.

" - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - }, - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "VpcId", - "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" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "AvailabilityZone":{ - "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":"

Contains the parameters for CreateSubnet.

" - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - }, - "documentation":"

Contains the output of CreateSubnet.

" - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - }, - "documentation":"

Contains the parameters for CreateTags.

" - }, - "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" - } - }, - "documentation":"

Describes the user or group to be added or removed from the permissions for a volume.

" - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - }, - "documentation":"

Describes modifications to the permissions for a volume.

" - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "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" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384 for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "SnapshotId":{ - "shape":"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 30 IOPS/GiB.

Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes

" - }, - "Encrypted":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVolume.

" - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs.

", - "locationName":"RouteTableId" - }, - "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 CreateVpcEndpoint.

" - }, - "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" - } - }, - "documentation":"

Contains the output of CreateVpcEndpoint.

" - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC.

", - "locationName":"vpcId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection.

", - "locationName":"peerVpcId" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the peer VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - } - }, - "documentation":"

Contains the parameters for CreateVpcPeeringConnection.

" - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of CreateVpcPeeringConnection.

" - }, - "CreateVpcRequest":{ - "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 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" - } - }, - "documentation":"

Contains the parameters for CreateVpc.

" - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - }, - "documentation":"

Contains the output of CreateVpc.

" - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "Type", - "CustomerGatewayId", - "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" - }, - "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.

" - }, - "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

", - "locationName":"options" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnection.

" - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - }, - "documentation":"

Contains the output of CreateVpnConnection.

" - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" - }, - "CreateVpnGatewayRequest":{ - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnGateway.

" - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - }, - "documentation":"

Contains the output of CreateVpnGateway.

" - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "CustomerGateway":{ - "type":"structure", - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

", - "locationName":"customerGatewayId" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DeleteCustomerGatewayRequest":{ - "type":"structure", - "required":["CustomerGatewayId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteCustomerGateway.

" - }, - "DeleteDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpOptionsId"], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteDhcpOptions.

" - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - } - }, - "documentation":"

Contains the parameters for DeleteFlowLogs.

" - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteFlowLogs.

" - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - } - }, - "documentation":"

Contains the parameters for DeleteInternetGateway.

" - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

" - } - }, - "documentation":"

Contains the parameters for DeleteKeyPair.

" - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteNatGateway.

" - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the output of DeleteNatGateway.

" - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Egress" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "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.

" - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkAcl.

" - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkInterface.

" - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - }, - "documentation":"

Contains the parameters for DeletePlacementGroup.

" - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - } - }, - "documentation":"

Contains the parameters for DeleteRoute.

" - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for DeleteRouteTable.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteSecurityGroup.

" - }, - "DeleteSnapshotRequest":{ - "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 EBS snapshot.

" - } - }, - "documentation":"

Contains the parameters for DeleteSnapshot.

" - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d. You can specify more than one resource ID.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. If you omit the value parameter, we delete the tag regardless of its value. If you specify this parameter with an empty string as the value, we delete the key only if its value is an empty string.

", - "locationName":"tag" - } - }, - "documentation":"

Contains the parameters for DeleteTags.

" - }, - "DeleteVolumeRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVolume.

" - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcEndpoints.

" - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the endpoints that were not successfully deleted.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteVpcEndpoints.

" - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcPeeringConnection.

" - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DeleteVpcPeeringConnection.

" - }, - "DeleteVpcRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpc.

" - }, - "DeleteVpnConnectionRequest":{ - "type":"structure", - "required":["VpnConnectionId"], - "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" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnection.

" - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "VpnConnectionId", - "DestinationCidrBlock" - ], - "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.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" - }, - "DeleteVpnGatewayRequest":{ - "type":"structure", - "required":["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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnGateway.

" - }, - "DeregisterImageRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - } - }, - "documentation":"

Contains the parameters for DeregisterImage.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAccountAttributes.

" - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - }, - "documentation":"

Contains the output of DescribeAccountAttributes.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAddresses.

" - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - }, - "documentation":"

Contains the output of DescribeAddresses.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeAvailabilityZones.

" - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - }, - "documentation":"

Contains the output of DescribeAvailabiltyZones.

" - }, - "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.

", - "locationName":"BundleId" - }, - "Filters":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeBundleTasks.

" - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - }, - "documentation":"

Contains the output of DescribeBundleTasks.

" - }, - "DescribeClassicLinkInstancesRequest":{ - "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" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "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" - }, - "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.

" - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeClassicLinkInstances.

" - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeConversionTasks.

" - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "documentation":"

Information about the conversion tasks.

", - "locationName":"conversionTasks" - } - }, - "documentation":"

Contains the output for DescribeConversionTasks.

" - }, - "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.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:key=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.

", - "locationName":"Filter" - } - }, - "documentation":"

Contains the parameters for DescribeCustomerGateways.

" - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeCustomerGateways.

" - }, - "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.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "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.

  • 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 DescribeDhcpOptions.

" - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - }, - "documentation":"

Contains the output of DescribeDhcpOptions.

" - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeExportTasks.

" - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "documentation":"

Information about the export tasks.

", - "locationName":"exportTaskSet" - } - }, - "documentation":"

Contains the output for DescribeExportTasks.

" - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "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)

" - }, - "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.

" - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "documentation":"

Information about the flow logs.

", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeFlowLogs.

" - }, - "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.

" - }, - "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 (No Upfront | Partial Upfront | All Upfront).

" - }, - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" - } - } - }, - "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" - } - } - }, - "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 (No Upfront | Partial Upfront | All Upfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

" - }, - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" - } - } - }, - "DescribeHostReservationsResult":{ - "type":"structure", - "members":{ - "HostReservationSet":{ - "shape":"HostReservationSet", - "documentation":"

Details about the reservation's configuration.

", - "locationName":"hostReservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeHosts.

" - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "documentation":"

Information about the Dedicated Hosts.

", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeHosts.

" - }, - "DescribeIdFormatRequest":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

" - } - }, - "documentation":"

Contains the parameters for DescribeIdFormat.

" - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resource.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdFormat.

" - }, - "DescribeIdentityIdFormatRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DescribeIdentityIdFormat.

" - }, - "DescribeIdentityIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resources.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdentityIdFormat.

" - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImageAttribute.

" - }, - "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" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.

", - "locationName":"Owner" - }, - "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).

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeImages.

" - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - }, - "documentation":"

Contains the output of DescribeImages.

" - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportImageTasks.

" - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportImageTasks.

" - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportSnapshotTasks.

" - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportSnapshotTasks.

" - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "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.

" - }, - "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" - }, - "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" - }, - "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.

" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceStatus.

" - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstanceStatus.

" - }, - "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" - }, - "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).

  • 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 IP 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 monitoring is enabled for the instance (disabled | enabled).

  • 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 DNS name of the instance.

  • private-ip-address - The private IP 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, where tag:key is the tag's key.

  • 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.

  • network-interface.description - The description of the network interface.

  • 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.

  • 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.availability-zone - The Availability Zone for 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.mac-address - The MAC address of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • 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.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.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.addresses.private-ip-address - The private IP address associated with the network interface.

  • 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.addresses.primary - Specifies whether the IP address of the network interface is the primary private IP address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IP address.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

", - "locationName":"nextToken" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeInstances.

" - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

Zero or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstances.

" - }, - "DescribeInternetGatewaysRequest":{ - "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" - }, - "InternetGatewayIds":{ - "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.

  • 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.

" - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more Internet gateways.

", - "locationName":"internetGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeInternetGateways.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeKeyPairs.

" - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - }, - "documentation":"

Contains the output of DescribeKeyPairs.

" - }, - "DescribeMovingAddressesRequest":{ - "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" - }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeMovingAddresses.

" - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "documentation":"

The status for each Elastic IP address.

", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeMovingAddresses.

" - }, - "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.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeNatGateways.

" - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "documentation":"

Information about the NAT gateways.

", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeNatGateways.

" - }, - "DescribeNetworkAclsRequest":{ - "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" - }, - "NetworkAclIds":{ - "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 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.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.

  • 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.

" - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkAcls.

" - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "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" - }, - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface.

", - "locationName":"attribute" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfacesRequest":{ - "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" - }, - "NetworkInterfaceIds":{ - "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 IP addresses associated with the network interface.

  • addresses.primary - Whether the private IP 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.

  • 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 IP address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address associated with the network interface.

  • association.public-ip - The address of the Elastic IP address bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface.

  • 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.

  • 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 IP address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface.

  • 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.

  • 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.

" - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaces.

" - }, - "DescribePlacementGroupsRequest":{ - "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":"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.

" - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - }, - "documentation":"

Contains the output of DescribePlacementGroups.

" - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "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.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value specified is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribePrefixLists.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribePrefixLists.

" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeRegions.

" - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - }, - "documentation":"

Contains the output of DescribeRegions.

" - }, - "DescribeReservedInstancesListingsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance IDs.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "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.

" - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "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.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" - }, - "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)

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

The offering class of the Reserved Instance. Can be standard or convertible.

" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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" - }, - "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.

" - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - }, - "documentation":"

Contains the output for DescribeReservedInstances.

" - }, - "DescribeRouteTablesRequest":{ - "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" - }, - "RouteTableIds":{ - "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 CIDR range specified in a route in the table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the 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.

  • 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.

" - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - }, - "documentation":"

Contains the output of DescribeRouteTables.

" - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "Recurrence", - "FirstSlotStartTimeRange" - ], - "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.

" - }, - "FirstSlotStartTimeRange":{ - "shape":"SlotDateTimeRangeRequest", - "documentation":"

The time period for the first schedule to start.

" - }, - "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.

" - }, - "MaxSlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "documentation":"

Information about the available Scheduled Instances.

", - "locationName":"scheduledInstanceAvailabilitySet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ScheduledInstanceIds":{ - "shape":"ScheduledInstanceIdRequestSet", - "documentation":"

One or more Scheduled Instance IDs.

", - "locationName":"ScheduledInstanceId" - }, - "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.

" - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstances.

" - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - }, - "GroupId":{ - "shape":"GroupIds", - "documentation":"

One or more security group IDs in your account.

" - } - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "documentation":"

Information about the VPCs with the referencing security groups.

", - "locationName":"securityGroupReferenceSet" - } - } - }, - "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" - }, - "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 - A CIDR range that has been granted permission.

  • 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.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" - } - }, - "documentation":"

Contains the parameters for DescribeSecurityGroups.

" - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - } - }, - "documentation":"

Contains the output of DescribeSecurityGroups.

" - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot.

" - }, - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshotAttribute.

" - }, - "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.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeSnapshotAttribute.

" - }, - "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" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "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.

  • 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshots.

" - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSnapshots.

" - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "ActiveInstances" - ], - "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.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime", - "LastEvaluatedTime", - "HistoryRecords" - ], - "members":{ - "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" - }, - "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.

" - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "DescribeSpotFleetRequestsResponse":{ - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "DescribeSpotInstanceRequestsRequest":{ - "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" - }, - "SpotInstanceRequestIds":{ - "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.

  • 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.

" - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "DescribeSpotPriceHistoryRequest":{ - "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" - }, - "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).

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "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.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - } - }, - "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" - } - } - }, - "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" - }, - "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 IP addresses in the subnet that are available.

  • cidrBlock - The 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeSubnets.

" - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - }, - "documentation":"

Contains the output of DescribeSubnets.

" - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | image | instance | internet-gateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeTags.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeTags.

" - }, - "DescribeVolumeAttributeRequest":{ - "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.

" - }, - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The instance attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeAttribute.

" - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Contains the output of DescribeVolumeAttribute.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeVolumeStatus.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVolumeStatus.

" - }, - "DescribeVolumesRequest":{ - "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" - }, - "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.

  • 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" - }, - "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.

" - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "documentation":"

Information about the volumes.

", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVolumes.

" - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "VpcId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcAttribute.

" - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcAttribute.

" - }, - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeVpcClassicLinkDnsSupport.

" - }, - "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" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLinkDnsSupport.

" - }, - "DescribeVpcClassicLinkRequest":{ - "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" - }, - "VpcIds":{ - "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.

  • 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.

" - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLink.

" - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

A list of supported 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" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"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)

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "documentation":"

Information about the endpoints.

", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpoints.

" - }, - "DescribeVpcPeeringConnectionsRequest":{ - "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" - }, - "VpcPeeringConnectionIds":{ - "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 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 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.

  • 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.

" - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpcPeeringConnections.

" - }, - "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" - }, - "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 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.

  • 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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpcs.

" - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcs.

" - }, - "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" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnConnections.

" - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpnConnections.

" - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

  • 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" - } - }, - "documentation":"

Contains the parameters for DescribeVpnGateways.

" - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeVpnGateways.

" - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachClassicLinkVpc.

" - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DetachClassicLinkVpc.

" - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the Internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachInternetGateway.

" - }, - "DetachNetworkInterfaceRequest":{ - "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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force a detachment.

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for DetachNetworkInterface.

" - }, - "DetachVolumeRequest":{ - "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.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DetachVolume.

" - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpnGatewayId", - "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" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DetachVpnGateway.

" - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for DisableVgwRoutePropagation.

" - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLink.

" - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLink.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DisassociateAddress.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DisassociateRouteTable.

" - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the disk image.

" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

Information about the volume.

" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "required":[ - "Format", - "Size", - "ImportManifestUrl" - ], - "members":{ - "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" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Format", - "Bytes", - "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" - }, - "ImportManifestUrl":{ - "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "locationName":"importManifestUrl" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "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" - } - }, - "documentation":"

Describes a disk image volume.

" - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "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.

" - }, - "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.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" - }, - "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" - } - }, - "documentation":"

Describes information used to set up an EBS volume specified in a block device mapping.

" - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "GatewayId" - ], - "members":{ - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

" - } - }, - "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Contains the parameters for EnableVolumeIO.

" - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLink.

" - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLink.

" - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" - } - }, - "documentation":"

Describes a Spot fleet event.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "instanceChange", - "fleetRequestChange", - "error" - ] - }, - "ExcessCapacityTerminationPolicy":{ - "type":"string", - "enum":[ - "noTermination", - "default" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the export task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - }, - "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.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The encryption key for your S3 bucket.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the format and location for an instance export task.

" - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as tags, attributes, or IDs.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "documentation":"

The date and time the flow log was created.

", - "locationName":"creationTime" - }, - "FlowLogId":{ - "shape":"String", - "documentation":"

The flow log ID.

", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "documentation":"

The status of the flow log (ACTIVE).

", - "locationName":"flowLogStatus" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource on which the flow log was created.

", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic captured for the flow log.

", - "locationName":"trafficType" - }, - "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.

" - }, - "FlowLogSet":{ - "type":"list", - "member":{ - "shape":"FlowLog", - "locationName":"item" - } - }, - "FlowLogsResourceType":{ - "type":"string", - "enum":[ - "VPC", - "Subnet", - "NetworkInterface" - ] - }, - "GatewayType":{ - "type":"string", - "enum":["ipsec.1"] - }, - "GetConsoleOutputRequest":{ - "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.

" - } - }, - "documentation":"

Contains the parameters for GetConsoleOutput.

" - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of GetConsoleOutput.

" - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "WakeUp":{ - "shape":"Boolean", - "documentation":"

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

" - } - }, - "documentation":"

Contains the parameters for the request.

" - }, - "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" - } - }, - "documentation":"

Contains the output of the request.

" - }, - "GetHostReservationPurchasePreviewRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "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.

" - } - } - }, - "GetHostReservationPurchasePreviewResult":{ - "type":"structure", - "members":{ - "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" - } - } - }, - "GetPasswordDataRequest":{ - "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 Windows instance.

" - } - }, - "documentation":"

Contains the parameters for GetPasswordData.

" - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the output of GetPasswordData.

" - }, - "GetReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "documentation":"

The ID/s of the Convertible Reserved Instances you want to exchange.

", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "documentation":"

The configuration requirements of the Convertible Reserved Instances you want in exchange for your current Convertible Reserved Instances.

", - "locationName":"TargetConfiguration" - } - }, - "documentation":"

Contains the parameters for GetReservedInstanceExchangeQuote.

" - }, - "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" - }, - "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 performed.

", - "locationName":"isValidExchange" - }, - "ValidationFailureReason":{ - "shape":"String", - "documentation":"

Describes the reason why the exchange can not be completed.

", - "locationName":"validationFailureReason" - } - }, - "documentation":"

Contains the output of GetReservedInstancesExchangeQuote.

" - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupIds":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HistoryRecord":{ - "type":"structure", - "required":[ - "Timestamp", - "EventType", - "EventInformation" - ], - "members":{ - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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" - } - }, - "documentation":"

Describes an event in the history of the Spot fleet request.

" - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the properties of the Dedicated Host.

" - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

the IDs of instances that are running on the Dedicated Host.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type size (for example, m3.medium) of the running instance.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes an instance running on a Dedicated Host.

" - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostOffering":{ - "type":"structure", - "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

", - "locationName":"offeringId" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family of the offering.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The available payment option.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "locationName":"upfrontPrice" - }, - "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.

" - }, - "HostOfferingSet":{ - "type":"list", - "member":{"shape":"HostOffering"} - }, - "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" - } - }, - "documentation":"

Describes properties of a Dedicated Host.

" - }, - "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" - }, - "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).

", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation ends.

", - "locationName":"end" - }, - "Start":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation started.

", - "locationName":"start" - }, - "State":{ - "shape":"ReservationState", - "documentation":"

The state of the reservation.

", - "locationName":"state" - } - }, - "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" - }, - "HostReservationIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "HostReservationSet":{ - "type":"list", - "member":{"shape":"HostReservation"} - }, - "HostTenancy":{ - "type":"string", - "enum":[ - "dedicated", - "host" - ] - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"type" - }, - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"code" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "locationName":"useLongIds" - }, - "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.

" - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "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 state change.

", - "locationName":"stateReason" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "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":{ - "shape":"String", - "documentation":"

The device name of the root device (for example, /dev/sda1 or /dev/xvda).

", - "locationName":"rootDeviceName" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "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.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - }, - "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.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description string for the import image task.

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "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

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform.

Valid values: xen

" - }, - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64

" - }, - "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'.

" - } - }, - "documentation":"

Contains the parameters for ImportImage.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

", - "locationName":"platform" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor of the import task.

", - "locationName":"hypervisor" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "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" - }, - "LicenseType":{ - "shape":"String", - "documentation":"

The license type of the virtual machine.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Hypervisor":{ - "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" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "ImageId":{ - "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" - }, - "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.

" - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "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" - }, - "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" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes the launch specification for VM import.

" - }, - "ImportInstanceRequest":{ - "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" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - }, - "documentation":"

Contains the parameters for ImportInstance.

" - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportInstance.

" - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "required":["Volumes"], - "members":{ - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import instance task.

" - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "Image", - "Volume", - "Status" - ], - "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" - }, - "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.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "locationName":"publicKeyMaterial" - } - }, - "documentation":"

Contains the parameters for ImportKeyPair.

" - }, - "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" - } - }, - "documentation":"

Contains the output of ImportKeyPair.

" - }, - "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.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description string for the import snapshot task.

" - }, - "DiskContainer":{ - "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.

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - }, - "documentation":"

Contains the parameters for ImportSnapshot.

" - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Information about the import snapshot task.

", - "locationName":"snapshotTaskDetail" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - } - }, - "documentation":"

Contains the output for ImportSnapshot.

" - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "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.

" - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "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" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

The volume size.

", - "locationName":"volume" - } - }, - "documentation":"

Contains the parameters for ImportVolume.

" - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportVolume.

" - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "required":[ - "BytesConverted", - "AvailabilityZone", - "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" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "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":{ - "shape":"String", - "documentation":"

The private DNS name assigned to the instance. This DNS name can only be used inside the Amazon EC2 network. 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":"privateDnsName" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

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" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched, if applicable.

", - "locationName":"placement" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance, if applicable.

", - "locationName":"kernelId" - }, - "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" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information for the instance.

", - "locationName":"monitoring" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP 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" - }, - "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" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", - "locationName":"clientToken" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means 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" - }, - "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" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "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":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for EBS I/O.

", - "locationName":"ebsOptimized" - }, - "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" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport", - "enaSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "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" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "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" - }, - "TotalCapacity":{ - "shape":"Integer", - "documentation":"

The total number of instances that can be launched onto the Dedicated Host.

", - "locationName":"totalCapacity" - } - }, - "documentation":"

Information about the instance type that the Dedicated Host supports.

" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance to export.

" - }, - "InstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":[ - "spot", - "scheduled" - ] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring information.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring information of the instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "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 IP 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 IP associated with the network interface.

", - "locationName":"association" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or 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 owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "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.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "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" - }, - "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 IP 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" - }, - "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" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IP addresses to assign to the network interface. Only one private IP address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP 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 IP 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" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP 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" - } - }, - "documentation":"

Describes a private IP address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is an opaque internal value and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of the instance.

" - }, - "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" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Any scheduled events associated with the instance.

", - "locationName":"eventsSet" - }, - "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" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "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.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The event code.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a scheduled event for an instance.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - }, - "Details":{ - "shape":"InstanceStatusDetailsList", - "documentation":"

The system instance health or application instance health.

", - "locationName":"details" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "t2.nano", - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge", - "m4.16xlarge", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "x1.16xlarge", - "x1.32xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "g2.8xlarge", - "cg1.4xlarge", - "p2.xlarge", - "p2.8xlarge", - "p2.16xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Internet gateway.

" - }, - "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" - } - }, - "documentation":"

Describes the attachment of a VPC to an Internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

[EC2-VPC only] When you authorize or revoke security group rules, you can use -1 to specify all.

", - "locationName":"ipProtocol" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code. A value of -1 indicates all ICMP codes for the specified ICMP type.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - }, - "IpRanges":{ - "shape":"IpRangeList", - "documentation":"

One or more IP ranges.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "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" - } - }, - "documentation":"

Describes a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR range. You can either specify a CIDR range or a source security group, not both.

", - "locationName":"cidrIp" - } - }, - "documentation":"

Describes an IP range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "IpRanges":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "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.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "shape":"String", - "documentation":"

An unencrypted PEM encoded RSA private key.

", - "locationName":"keyMaterial" - } - }, - "documentation":"

Describes a key pair.

" - }, - "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" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "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.

", - "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.

", - "locationName":"networkInterfaceSet" - }, - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "LaunchSpecsList":{ - "type":"list", - "member":{ - "shape":"SpotFleetLaunchSpecification", - "locationName":"item" - }, - "min":1 - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "max":255, - "min":5 - }, - "ModifyHostsRequest":{ - "type":"structure", - "required":[ - "HostIds", - "AutoPlacement" - ], - "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" - } - }, - "documentation":"

Contains the parameters for ModifyHosts.

" - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully modified.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ModifyHosts.

" - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicate whether the resource should use longer IDs (17-character IDs).

" - } - }, - "documentation":"

Contains the parameters of ModifyIdFormat.

" - }, - "ModifyIdentityIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds", - "PrincipalArn" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: instance | reservation | snapshot | volume

", - "locationName":"resource" - }, - "UseLongIds":{ - "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.

" - }, - "ModifyImageAttributeRequest":{ - "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" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyImageAttribute.

" - }, - "ModifyInstanceAttributeRequest":{ - "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" - }, - "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" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ModifyInstanceAttribute.

" - }, - "ModifyInstancePlacementRequest":{ - "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.

", - "locationName":"affinity" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host that the instance will have affinity with.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ModifyInstancePlacement.

" - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyInstancePlacement.

" - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ModifyNetworkInterfaceAttribute.

" - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "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" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - }, - "documentation":"

Contains the parameters for ModifyReservedInstances.

" - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - }, - "documentation":"

Contains the output of ModifyReservedInstances.

" - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifySnapshotAttribute.

" - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "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.

" - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifySpotFleetRequest.

" - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that instances launched into the specified subnet should be assigned public IP address.

" - } - }, - "documentation":"

Contains the parameters for ModifySubnetAttribute.

" - }, - "ModifyVolumeAttributeRequest":{ - "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.

" - }, - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" - } - }, - "documentation":"

Contains the parameters for ModifyVolumeAttribute.

" - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ModifyVpcAttribute.

" - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"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" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs to disassociate from the endpoint.

", - "locationName":"RemoveRouteTableId" - } - }, - "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyVpcEndpoint.

" - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "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.

" - } - } - }, - "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" - } - } - }, - "MonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for MonitorInstances.

" - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of MonitorInstances.

" - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for MoveAddressToVpc.

" - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID for the Elastic IP address.

", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the move of the IP address.

", - "locationName":"status" - } - }, - "documentation":"

Contains the output of MoveAddressToVpc.

" - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "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" - } - }, - "documentation":"

Describes the status of a moving Elastic IP address.

" - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "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.

", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "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)

", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", - "locationName":"failureMessage" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionedBandwidth" - } - }, - "documentation":"

Describes a NAT gateway.

" - }, - "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" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIp" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface associated with the NAT gateway.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" - }, - "NatGatewayAddressList":{ - "type":"list", - "member":{ - "shape":"NatGatewayAddress", - "locationName":"item" - } - }, - "NatGatewayList":{ - "type":"list", - "member":{ - "shape":"NatGateway", - "locationName":"item" - } - }, - "NatGatewayState":{ - "type":"string", - "enum":[ - "pending", - "failed", - "available", - "deleting", - "deleted" - ] - }, - "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" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "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" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the network interface.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "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 IP 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" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP associated with the network interface.

", - "locationName":"association" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "PrivateIpAddresses":{ - "shape":"NetworkInterfacePrivateIpAddressList", - "documentation":"

The private IP addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "documentation":"

The type of interface.

", - "locationName":"interfaceType" - } - }, - "documentation":"

Describes a network interface.

" - }, - "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.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - } - }, - "documentation":"

Describes association information for an Elastic IP address.

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address.

", - "locationName":"privateIpAddress" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IP address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address associated with the network interface.

", - "locationName":"association" - } - }, - "documentation":"

Describes the private IP address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "attaching", - "in-use", - "detaching" - ] - }, - "NetworkInterfaceType":{ - "type":"string", - "enum":[ - "interface", - "natGateway" - ] - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "OccurrenceDayRequestSet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"OccurenceDay" - } - }, - "OccurrenceDaySet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"item" - } - }, - "OfferingClassType":{ - "type":"string", - "enum":[ - "standard", - "convertible" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OperationType":{ - "type":"string", - "enum":[ - "add", - "remove" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PaymentOption":{ - "type":"string", - "enum":[ - "AllUpfront", - "PartialUpfront", - "NoUpfront" - ] - }, - "PeeringConnectionOptions":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC 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.

" - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "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.

" - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "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 Dedicted host on which the instance resides. This parameter is not support for the ImportInstance command.

", - "locationName":"hostId" - }, - "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" - } - }, - "documentation":"

Describes the placement for the instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":["cluster"] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "PrefixList":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "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.

" - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - } - }, - "documentation":"

The ID of the prefix.

" - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrivateIpAddressConfigSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesPrivateIpAddressConfig", - "locationName":"PrivateIpAddressConfigSet" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "required":["PrivateIpAddress"], - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP addresses.

", - "locationName":"privateIpAddress" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IP address is the primary private IP address. Only one IP address can be designated as primary.

", - "locationName":"primary" - } - }, - "documentation":"

Describes a secondary private IP address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway (VGW).

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "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", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionTime" - }, - "Status":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"status" - } - }, - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "Purchase":{ - "type":"structure", - "members":{ - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"hostReservationId" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", - "locationName":"hostIdSet" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family on the Dedicated Host that the reservation can be associated with.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option for the reservation.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the reservation.

", - "locationName":"upfrontPrice" - }, - "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.

" - }, - "PurchaseHostReservationRequest":{ - "type":"structure", - "required":[ - "OfferingId", - "HostIdSet" - ], - "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

" - }, - "HostIdSet":{ - "shape":"RequestHostIdSet", - "documentation":"

The ID/s of the Dedicated Host/s that the reservation will be associated with.

" - }, - "LimitPrice":{ - "shape":"String", - "documentation":"

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request 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":{ - "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.

" - } - } - }, - "PurchaseHostReservationResult":{ - "type":"structure", - "members":{ - "Purchase":{ - "shape":"PurchaseSet", - "documentation":"

Describes the details of the purchase.

", - "locationName":"purchase" - }, - "TotalUpfrontPrice":{ - "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" - }, - "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":{ - "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" - } - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "PurchaseToken", - "InstanceCount" - ], - "members":{ - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

" - } - }, - "documentation":"

Describes a request to purchase Scheduled Instances.

" - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesOfferingId", - "InstanceCount" - ], - "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" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - }, - "documentation":"

Contains the parameters for PurchaseReservedInstancesOffering.

" - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Contains the output of PurchaseReservedInstancesOffering.

" - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without 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 - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "documentation":"

One or more purchase requests.

", - "locationName":"PurchaseRequest" - } - }, - "documentation":"

Contains the parameters for PurchaseScheduledInstances.

" - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of PurchaseScheduledInstances.

" - }, - "PurchaseSet":{ - "type":"list", - "member":{"shape":"Purchase"} - }, - "PurchasedScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for RebootInstances.

" - }, - "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" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "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" - } - }, - "documentation":"

Contains the parameters for RegisterImage.

" - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of RegisterImage.

" - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for RejectVpcPeeringConnection.

" - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of RejectVpcPeeringConnection.

" - }, - "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" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ReleaseAddress.

" - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated Hosts you want to release.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ReleaseHosts.

" - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully released.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be released, including an error message.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ReleaseHosts.

" - }, - "ReplaceNetworkAclAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the new network ACL to associate with the subnet.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "NetworkAclId", - "RuleNumber", - "Protocol", - "RuleAction", - "Egress", - "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" - }, - "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" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "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 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for the protocol.

", - "locationName":"Icmp" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying 6 (TCP) or 17 (UDP) for the protocol.

", - "locationName":"portRange" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclEntry.

" - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":[ - "RouteTableId", - "DestinationCidrBlock" - ], - "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 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" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of a network interface.

", - "locationName":"networkInterfaceId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of a VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the parameters for ReplaceRoute.

" - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "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" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the new route table to associate with the subnet.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for ReplaceRouteTableAssociation.

" - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceRouteTableAssociation.

" - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "Status", - "ReasonCodes" - ], - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Contains the parameters for ReportInstanceStatus.

" - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration for the Spot fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "RequestSpotInstancesRequest":{ - "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":{ - "shape":"String", - "documentation":"

The maximum hourly price (bid) for any Spot instance launched to fulfill the request.

", - "locationName":"spotPrice" - }, - "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" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

Default: The request is effective indefinitely.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date 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.

" - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "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":"ValueStringList", - "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.

", - "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" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "locationName":"SecurityGroupId" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "Reservation":{ - "type":"structure", - "members":{ - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

[EC2-Classic only] One or more security groups.

", - "locationName":"groupSet" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

One or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservationState":{ - "type":"string", - "enum":[ - "payment-pending", - "payment-failed", - "active", - "retired" - ] - }, - "ReservationValue":{ - "type":"structure", - "members":{ - "RemainingTotalValue":{ - "shape":"String", - "documentation":"

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", - "locationName":"remainingTotalValue" - }, - "RemainingUpfrontValue":{ - "shape":"String", - "documentation":"

The remaining upfront cost of the reservation.

", - "locationName":"remainingUpfrontValue" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly rate of the reservation.

", - "locationName":"hourlyPrice" - } - }, - "documentation":"

The cost associated with the Reserved Instance.

" - }, - "ReservedInstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstanceId" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceReservationValue":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

The total value of the Convertible Reserved Instance.

" - }, - "ReservedInstanceReservationValueSet":{ - "type":"list", - "member":{ - "shape":"ReservedInstanceReservationValue", - "locationName":"item" - } - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reservations purchased.

", - "locationName":"instanceCount" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "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" - }, - "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" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "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.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - }, - "Scope":{ - "shape":"scope", - "documentation":"

Whether the Reserved Instance is standard or convertible.

", - "locationName":"scope" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "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.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "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" - }, - "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" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "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" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - }, - "documentation":"

Describes the modification request/s.

" - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"availabilityZone" - }, - "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" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" - }, - "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" - }, - "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" - }, - "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" - }, - "Scope":{ - "shape":"scope", - "documentation":"

Whether the Reserved Instance is applied to instances in a region or an Availability Zone.

", - "locationName":"scope" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "ImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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).

" - } - }, - "documentation":"

Contains the parameters for ResetImageAttribute.

" - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "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.

" - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - }, - "documentation":"

Contains the parameters for ResetNetworkInterfaceAttribute.

" - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "SnapshotId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for ResetSnapshotAttribute.

" - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "ResponseHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ResponseHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RestoreAddressToClassicRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for RestoreAddressToClassic.

" - }, - "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" - } - }, - "documentation":"

Contains the output of RestoreAddressToClassic.

" - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "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.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "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.

" - }, - "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" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. Required for a security group in a nondefault VPC.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RevokeSecurityGroupIngress.

" - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "documentation":"

The prefix of the AWS service.

", - "locationName":"destinationPrefixListId" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "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" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "locationName":"subnetId" - }, - "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.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled for the instance.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "ImageId", - "MinCount", - "MaxCount" - ], - "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":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

" - }, - "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. If you set this parameter to true and then later want to be able to terminate the instance, you must first change the value of the disableApiTermination attribute to false using 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" - }, - "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 IP address. You must specify a value from the IP address range of the subnet.

Only one private IP address can be designated as primary. Therefore, you can't specify this parameter if PrivateIpAddresses.n.Primary is set to true and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.

You cannot specify this option if you're launching more than one instance in the request.

Default: We select an IP address from the IP address range of the subnet.

", - "locationName":"privateIpAddress" - }, - "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" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces.

", - "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" - } - }, - "documentation":"

Contains the parameters for RunInstances.

" - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "ScheduledInstanceId", - "LaunchSpecification" - ], - "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 - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for RunScheduledInstances.

" - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "documentation":"

The IDs of the newly launched instances.

", - "locationName":"instanceIdSet" - } - }, - "documentation":"

Contains the output of RunScheduledInstances.

" - }, - "S3Storage":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "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.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "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":{ - "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" - }, - "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":{ - "shape":"DateTime", - "documentation":"

The start date for the Scheduled Instance.

", - "locationName":"termStartDate" - }, - "TermEndDate":{ - "shape":"DateTime", - "documentation":"

The end date for the Scheduled Instance.

", - "locationName":"termEndDate" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The date when the Scheduled Instance was purchased.

", - "locationName":"createDate" - } - }, - "documentation":"

Describes a Scheduled Instance.

" - }, - "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":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time period for the first schedule to start.

", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price for a single instance.

", - "locationName":"hourlyPrice" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of available instances.

", - "locationName":"availableInstanceCount" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The minimum term. The only possible value is 365 days.

", - "locationName":"minTermDurationInDays" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The maximum term. The only possible value is 365 days.

", - "locationName":"maxTermDurationInDays" - } - }, - "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "locationName":"occurrenceUnit" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

" - }, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name exposed to the instance (for example, /dev/sdh or xvdh).

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" - }, - "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.

" - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "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.

" - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN).

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name.

" - } - }, - "documentation":"

Describes an IAM instance profile for a Scheduled Instance.

" - }, - "ScheduledInstancesLaunchSpecification":{ - "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" - }, - "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.

" - }, - "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

" - } - }, - "documentation":"

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

" - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled.

" - } - }, - "documentation":"

Describes whether monitoring is enabled for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address of the network interface within the subnet.

" - }, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "documentation":"

The private IP addresses.

", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IP addresses.

" - }, - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IP address to instances launched 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.

" - }, - "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.

" - } - }, - "documentation":"

Describes a network interface for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

" - } - }, - "documentation":"

Describes the placement for a Scheduled Instance.

" - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IP address.

" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is a primary IP address. Otherwise, this is a secondary IP address.

" - } - }, - "documentation":"

Describes a private IP address for a Scheduled Instance.

" - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the security group.

", - "locationName":"ownerId" - }, - "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" - }, - "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" - } - }, - "documentation":"

Describes a security group

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupReference":{ - "type":"structure", - "required":[ - "GroupId", - "ReferencingVpcId" - ], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of your security group.

", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with the referencing security group.

", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC with a security group that references your security group.

" - }, - "SecurityGroupReferences":{ - "type":"list", - "member":{ - "shape":"SecurityGroupReference", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "SlotDateTimeRangeRequest":{ - "type":"structure", - "required":[ - "EarliestTime", - "LatestTime" - ], - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule.

" - }, - "Snapshot":{ - "type":"structure", - "members":{ - "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" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"statusMessage" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "Progress":{ - "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" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

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.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "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.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: RAW | VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - } - }, - "documentation":"

The disk container object for the import snapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "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" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL of the disk image from which the snapshot is created.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - }, - "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.

" - }, - "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" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot instance data feed subscription.

", - "locationName":"state" - }, - "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.

" - }, - "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.

", - "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.

", - "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" - }, - "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" - } - }, - "documentation":"

Describes the launch specification for one or more Spot instances.

" - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables monitoring for the instance.

Default: false

", - "locationName":"enabled" - } - }, - "documentation":"

Describes whether monitoring is enabled.

" - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "SpotFleetRequestState", - "SpotFleetRequestConfig", - "CreateTime" - ], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot fleet request.

", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The state of the Spot fleet request.

", - "locationName":"spotFleetRequestState" - }, - "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.

" - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "SpotPrice", - "TargetCapacity", - "IamFleetRole", - "LaunchSpecifications" - ], - "members":{ - "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" - }, - "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" - }, - "IamFleetRole":{ - "shape":"String", - "documentation":"

Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.

", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "documentation":"

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" - }, - "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" - }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" - }, - "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" - } - }, - "documentation":"

Describes the configuration of a Spot fleet request.

" - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot instance request.

", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "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" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached.

", - "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.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code. For a list of status codes, see Spot 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" - } - }, - "documentation":"

Describes the status of a Spot instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

[Spot fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group (for cluster instances).

", - "locationName":"groupName" - } - }, - "documentation":"

Describes Spot instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price (bid) that you are willing to pay for a Spot instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - }, - "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.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "documentation":"

One or more IP ranges. Not applicable for stale security group rules.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "documentation":"

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "documentation":"

One or more security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", - "locationName":"groups" - } - }, - "documentation":"

Describes a stale rule in a security group.

" - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "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.

", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "documentation":"

Information about the stale outbound rules in the security group.

", - "locationName":"staleIpPermissionsEgress" - } - }, - "documentation":"

Describes a stale security group (a security group that contains stale rules).

" - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for StartInstances.

" - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StartInstances.

" - }, - "State":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.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.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "Status":{ - "type":"string", - "enum":[ - "MoveInProgress", - "InVpc", - "InClassic" - ] - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data", - "initializing" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for StopInstances.

" - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StopInstances.

" - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetId":{ - "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 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused IP addresses in the subnet. Note that the IP addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IP address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the subnet.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable", - "initializing" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Information about the Convertible Reserved Instance offering.

" - }, - "TargetConfigurationRequest":{ - "type":"structure", - "required":["OfferingId"], - "members":{ - "OfferingId":{ - "shape":"String", - "documentation":"

The Convertible Reserved Instance offering ID. If this isn't included in the request, the response lists your current Convertible Reserved Instance/s and their value/s.

" - }, - "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

" - } - }, - "documentation":"

Details about the target configuration.

" - }, - "TargetConfigurationRequestSet":{ - "type":"list", - "member":{ - "shape":"TargetConfigurationRequest", - "locationName":"TargetConfigurationRequest" - } - }, - "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" - } - }, - "documentation":"

The total value of the new Convertible Reserved Instances.

" - }, - "TargetReservationValueSet":{ - "type":"list", - "member":{ - "shape":"TargetReservationValue", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated", - "host" - ] - }, - "TerminateInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for TerminateInstances.

" - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of TerminateInstances.

" - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Contains the parameters for UnassignPrivateIpAddresses.

" - }, - "UnmonitorInstancesRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for UnmonitorInstances.

" - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

Monitoring information for one or more instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of UnmonitorInstances.

" - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "Error":{ - "shape":"UnsuccessfulItemError", - "documentation":"

Information about the error.

", - "locationName":"error" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource.

", - "locationName":"resourceId" - } - }, - "documentation":"

Information about items that were not successfully processed in a batch call.

" - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message accompanying the error code.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "documentation":"

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"data" - } - }, - "documentation":"

Describes the user data for an instance.

" - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "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" - }, - "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":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the referenced security group, if applicable.

", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection, if applicable.

", - "locationName":"vpcPeeringConnectionId" - }, - "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.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdGroupPairSet":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "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.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "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" - }, - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"volumeType" - }, - "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.

" - }, - "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" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "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" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "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" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "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" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "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" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "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" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2", - "sc1", - "st1" - ] - }, - "Vpc":{ - "type":"structure", - "members":{ - "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 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - } - }, - "documentation":"

Describes a VPC.

" - }, - "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" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "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.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "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" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

The policy document associated with the endpoint.

", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "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" - } - }, - "documentation":"

Describes a VPC endpoint.

" - }, - "VpcEndpointSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpoint", - "locationName":"item" - } - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the accepter VPC. CIDR block information is 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.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the requester VPC.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - }, - "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.

" - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The 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" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", - "locationName":"peeringOptions" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "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" - }, - "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.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "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" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "scope":{ - "type":"string", - "enum":[ - "Availability Zone", - "Region" - ] - } - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/waiters-2.json deleted file mode 100644 index 71051948..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-09-15/waiters-2.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeInstances", - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Reservations[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageExists": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Images[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidAMIID.NotFound", - "state": "retry" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "KeyPairExists": { - "operation": "DescribeKeyPairs", - "delay": 5, - "maxAttempts": 6, - "acceptors": [ - { - "expected": true, - "matcher": "path", - "state": "success", - "argument": "length(KeyPairs[].KeyName) > `0`" - }, - { - "expected": "InvalidKeyPair.NotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NatGatewayAvailable": { - "operation": "DescribeNatGateways", - "delay": 15, - "maxAttempts": 40, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "NatGateways[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "failed" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleting" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleted" - }, - { - "state": "retry", - "matcher": "error", - "expected": "NatGatewayNotFound" - } - ] - }, - "NetworkInterfaceAvailable": { - "operation": "DescribeNetworkInterfaces", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "NetworkInterfaces[].Status" - }, - { - "expected": "InvalidNetworkInterfaceID.NotFound", - "matcher": "error", - "state": "failure" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "matcher": "error", - "expected": "InvalidVolume.NotFound", - "state": "success" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpcExists": { - "operation": "DescribeVpcs", - "delay": 1, - "maxAttempts": 5, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcID.NotFound", - "state": "retry" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpcPeeringConnectionExists": { - "delay": 15, - "operation": "DescribeVpcPeeringConnections", - "maxAttempts": 40, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcPeeringConnectionID.NotFound", - "state": "retry" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/examples-1.json deleted file mode 100644 index f6a8719f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/examples-1.json +++ /dev/null @@ -1,3740 +0,0 @@ -{ - "version": "1.0", - "examples": { - "AllocateAddress": [ - { - "input": { - "Domain": "vpc" - }, - "output": { - "AllocationId": "eipalloc-64d5890a", - "Domain": "vpc", - "PublicIp": "203.0.113.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example allocates an Elastic IP address to use with an instance in a VPC.", - "id": "ec2-allocate-address-1", - "title": "To allocate an Elastic IP address for EC2-VPC" - }, - { - "output": { - "Domain": "standard", - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example allocates an Elastic IP address to use with an instance in EC2-Classic.", - "id": "ec2-allocate-address-2", - "title": "To allocate an Elastic IP address for EC2-Classic" - } - ], - "AssignPrivateIpAddresses": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "PrivateIpAddresses": [ - "10.0.0.82" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns the specified secondary private IP address to the specified network interface.", - "id": "ec2-assign-private-ip-addresses-1", - "title": "To assign a specific secondary private IP address to an interface" - }, - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "SecondaryPrivateIpAddressCount": 2 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns two secondary private IP addresses to the specified network interface. Amazon EC2 automatically assigns these IP addresses from the available IP addresses in the CIDR block range of the subnet the network interface is associated with.", - "id": "ec2-assign-private-ip-addresses-2", - "title": "To assign secondary private IP addresses that Amazon EC2 selects to an interface" - } - ], - "AssociateAddress": [ - { - "input": { - "AllocationId": "eipalloc-64d5890a", - "InstanceId": "i-0b263919b6498b123" - }, - "output": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified Elastic IP address with the specified instance in a VPC.", - "id": "ec2-associate-address-1", - "title": "To associate an Elastic IP address in EC2-VPC" - }, - { - "input": { - "AllocationId": "eipalloc-64d5890a", - "NetworkInterfaceId": "eni-1a2b3c4d" - }, - "output": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified Elastic IP address with the specified network interface.", - "id": "ec2-associate-address-2", - "title": "To associate an Elastic IP address with a network interface" - }, - { - "input": { - "InstanceId": "i-07ffe74c7330ebf53", - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates an Elastic IP address with an instance in EC2-Classic.", - "id": "ec2-associate-address-3", - "title": "To associate an Elastic IP address in EC2-Classic" - } - ], - "AssociateDhcpOptions": [ - { - "input": { - "DhcpOptionsId": "dopt-d9070ebb", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified DHCP options set with the specified VPC.", - "id": "ec2-associate-dhcp-options-1", - "title": "To associate a DHCP options set with a VPC" - }, - { - "input": { - "DhcpOptionsId": "default", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the default DHCP options set with the specified VPC.", - "id": "ec2-associate-dhcp-options-2", - "title": "To associate the default DHCP options set with a VPC" - } - ], - "AssociateRouteTable": [ - { - "input": { - "RouteTableId": "rtb-22574640", - "SubnetId": "subnet-9d4a7b6" - }, - "output": { - "AssociationId": "rtbassoc-781d0d1a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified route table with the specified subnet.", - "id": "ec2-associate-route-table-1", - "title": "To associate a route table with a subnet" - } - ], - "AttachInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches the specified Internet gateway to the specified VPC.", - "id": "ec2-attach-internet-gateway-1", - "title": "To attach an Internet gateway to a VPC" - } - ], - "AttachNetworkInterface": [ - { - "input": { - "DeviceIndex": 1, - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-e5aa89a3" - }, - "output": { - "AttachmentId": "eni-attach-66c4350a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches the specified network interface to the specified instance.", - "id": "ec2-attach-network-interface-1", - "title": "To attach a network interface to an instance" - } - ], - "AttachVolume": [ - { - "input": { - "Device": "/dev/sdf", - "InstanceId": "i-01474ef662b89480", - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "AttachTime": "2016-08-29T18:52:32.724Z", - "Device": "/dev/sdf", - "InstanceId": "i-01474ef662b89480", - "State": "attaching", - "VolumeId": "vol-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example attaches a volume (``vol-1234567890abcdef0``) to an instance (``i-01474ef662b89480``) as ``/dev/sdf``.", - "id": "to-attach-a-volume-to-an-instance-1472499213109", - "title": "To attach a volume to an instance" - } - ], - "CancelSpotFleetRequests": [ - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ], - "TerminateInstances": true - }, - "output": { - "SuccessfulFleetRequests": [ - { - "CurrentSpotFleetRequestState": "cancelled_running", - "PreviousSpotFleetRequestState": "active", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels the specified Spot fleet request and terminates its associated Spot Instances.", - "id": "ec2-cancel-spot-fleet-requests-1", - "title": "To cancel a Spot fleet request" - }, - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ], - "TerminateInstances": false - }, - "output": { - "SuccessfulFleetRequests": [ - { - "CurrentSpotFleetRequestState": "cancelled_terminating", - "PreviousSpotFleetRequestState": "active", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels the specified Spot fleet request without terminating its associated Spot Instances.", - "id": "ec2-cancel-spot-fleet-requests-2", - "title": "To cancel a Spot fleet request without terminating its Spot Instances" - } - ], - "CancelSpotInstanceRequests": [ - { - "input": { - "SpotInstanceRequestIds": [ - "sir-08b93456" - ] - }, - "output": { - "CancelledSpotInstanceRequests": [ - { - "SpotInstanceRequestId": "sir-08b93456", - "State": "cancelled" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example cancels a Spot Instance request.", - "id": "ec2-cancel-spot-instance-requests-1", - "title": "To cancel Spot Instance requests" - } - ], - "ConfirmProductInstance": [ - { - "input": { - "InstanceId": "i-1234567890abcdef0", - "ProductCode": "774F4FF8" - }, - "output": { - "OwnerId": "123456789012" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example determines whether the specified product code is associated with the specified instance.", - "id": "to-confirm-the-product-instance-1472712108494", - "title": "To confirm the product instance" - } - ], - "CopySnapshot": [ - { - "input": { - "Description": "This is my copied snapshot.", - "DestinationRegion": "us-east-1", - "SourceRegion": "us-west-2", - "SourceSnapshotId": "snap-066877671789bd71b" - }, - "output": { - "SnapshotId": "snap-066877671789bd71b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example copies a snapshot with the snapshot ID of ``snap-066877671789bd71b`` from the ``us-west-2`` region to the ``us-east-1`` region and adds a short description to identify the snapshot.", - "id": "to-copy-a-snapshot-1472502259774", - "title": "To copy a snapshot" - } - ], - "CreateCustomerGateway": [ - { - "input": { - "BgpAsn": 65534, - "PublicIp": "12.1.2.3", - "Type": "ipsec.1" - }, - "output": { - "CustomerGateway": { - "BgpAsn": "65534", - "CustomerGatewayId": "cgw-0e11f167", - "IpAddress": "12.1.2.3", - "State": "available", - "Type": "ipsec.1" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a customer gateway with the specified IP address for its outside interface.", - "id": "ec2-create-customer-gateway-1", - "title": "To create a customer gateway" - } - ], - "CreateDhcpOptions": [ - { - "input": { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - "10.2.5.1", - "10.2.5.2" - ] - } - ] - }, - "output": { - "DhcpOptions": { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - { - "Value": "10.2.5.2" - }, - { - "Value": "10.2.5.1" - } - ] - } - ], - "DhcpOptionsId": "dopt-d9070ebb" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a DHCP options set.", - "id": "ec2-create-dhcp-options-1", - "title": "To create a DHCP options set" - } - ], - "CreateInternetGateway": [ - { - "output": { - "InternetGateway": { - "Attachments": [ - - ], - "InternetGatewayId": "igw-c0a643a9", - "Tags": [ - - ] - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an Internet gateway.", - "id": "ec2-create-internet-gateway-1", - "title": "To create an Internet gateway" - } - ], - "CreateKeyPair": [ - { - "input": { - "KeyName": "my-key-pair" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a key pair named my-key-pair.", - "id": "ec2-create-key-pair-1", - "title": "To create a key pair" - } - ], - "CreateNatGateway": [ - { - "input": { - "AllocationId": "eipalloc-37fc1a52", - "SubnetId": "subnet-1a2b3c4d" - }, - "output": { - "NatGateway": { - "CreateTime": "2015-12-17T12:45:26.732Z", - "NatGatewayAddresses": [ - { - "AllocationId": "eipalloc-37fc1a52" - } - ], - "NatGatewayId": "nat-08d48af2a8e83edfd", - "State": "pending", - "SubnetId": "subnet-1a2b3c4d", - "VpcId": "vpc-1122aabb" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a NAT gateway in subnet subnet-1a2b3c4d and associates an Elastic IP address with the allocation ID eipalloc-37fc1a52 with the NAT gateway.", - "id": "ec2-create-nat-gateway-1", - "title": "To create a NAT gateway" - } - ], - "CreateNetworkAcl": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "output": { - "NetworkAcl": { - "Associations": [ - - ], - "Entries": [ - { - "CidrBlock": "0.0.0.0/0", - "Egress": true, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - }, - { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - } - ], - "IsDefault": false, - "NetworkAclId": "acl-5fb85d36", - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a network ACL for the specified VPC.", - "id": "ec2-create-network-acl-1", - "title": "To create a network ACL" - } - ], - "CreateNetworkAclEntry": [ - { - "input": { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "NetworkAclId": "acl-5fb85d36", - "PortRange": { - "From": 53, - "To": 53 - }, - "Protocol": "udp", - "RuleAction": "allow", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an entry for the specified network ACL. The rule allows ingress traffic from anywhere (0.0.0.0/0) on UDP port 53 (DNS) into any associated subnet.", - "id": "ec2-create-network-acl-entry-1", - "title": "To create a network ACL entry" - } - ], - "CreateNetworkInterface": [ - { - "input": { - "Description": "my network interface", - "Groups": [ - "sg-903004f8" - ], - "PrivateIpAddress": "10.0.2.17", - "SubnetId": "subnet-9d4a7b6c" - }, - "output": { - "NetworkInterface": { - "AvailabilityZone": "us-east-1d", - "Description": "my network interface", - "Groups": [ - { - "GroupId": "sg-903004f8", - "GroupName": "default" - } - ], - "MacAddress": "02:1a:80:41:52:9c", - "NetworkInterfaceId": "eni-e5aa89a3", - "OwnerId": "123456789012", - "PrivateIpAddress": "10.0.2.17", - "PrivateIpAddresses": [ - { - "Primary": true, - "PrivateIpAddress": "10.0.2.17" - } - ], - "RequesterManaged": false, - "SourceDestCheck": true, - "Status": "pending", - "SubnetId": "subnet-9d4a7b6c", - "TagSet": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a network interface for the specified subnet.", - "id": "ec2-create-network-interface-1", - "title": "To create a network interface" - } - ], - "CreatePlacementGroup": [ - { - "input": { - "GroupName": "my-cluster", - "Strategy": "cluster" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a placement group with the specified name.", - "id": "to-create-a-placement-group-1472712245768", - "title": "To create a placement group" - } - ], - "CreateRoute": [ - { - "input": { - "DestinationCidrBlock": "0.0.0.0/0", - "GatewayId": "igw-c0a643a9", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a route for the specified route table. The route matches all traffic (0.0.0.0/0) and routes it to the specified Internet gateway.", - "id": "ec2-create-route-1", - "title": "To create a route" - } - ], - "CreateRouteTable": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "output": { - "RouteTable": { - "Associations": [ - - ], - "PropagatingVgws": [ - - ], - "RouteTableId": "rtb-22574640", - "Routes": [ - { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "local", - "State": "active" - } - ], - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a route table for the specified VPC.", - "id": "ec2-create-route-table-1", - "title": "To create a route table" - } - ], - "CreateSnapshot": [ - { - "input": { - "Description": "This is my root volume snapshot.", - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "Description": "This is my root volume snapshot.", - "OwnerId": "012345678910", - "SnapshotId": "snap-066877671789bd71b", - "StartTime": "2014-02-28T21:06:01.000Z", - "State": "pending", - "Tags": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeSize": 8 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a snapshot of the volume with a volume ID of ``vol-1234567890abcdef0`` and a short description to identify the snapshot.", - "id": "to-create-a-snapshot-1472502529790", - "title": "To create a snapshot" - } - ], - "CreateSpotDatafeedSubscription": [ - { - "input": { - "Bucket": "my-s3-bucket", - "Prefix": "spotdata" - }, - "output": { - "SpotDatafeedSubscription": { - "Bucket": "my-s3-bucket", - "OwnerId": "123456789012", - "Prefix": "spotdata", - "State": "Active" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot Instance data feed for your AWS account.", - "id": "ec2-create-spot-datafeed-subscription-1", - "title": "To create a Spot Instance datafeed" - } - ], - "CreateSubnet": [ - { - "input": { - "CidrBlock": "10.0.1.0/24", - "VpcId": "vpc-a01106c2" - }, - "output": { - "Subnet": { - "AvailabilityZone": "us-west-2c", - "AvailableIpAddressCount": 251, - "CidrBlock": "10.0.1.0/24", - "State": "pending", - "SubnetId": "subnet-9d4a7b6c", - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a subnet in the specified VPC with the specified CIDR block. We recommend that you let us select an Availability Zone for you.", - "id": "ec2-create-subnet-1", - "title": "To create a subnet" - } - ], - "CreateTags": [ - { - "input": { - "Resources": [ - "ami-78a54011" - ], - "Tags": [ - { - "Key": "Stack", - "Value": "production" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example adds the tag Stack=production to the specified image, or overwrites an existing tag for the AMI where the tag key is Stack.", - "id": "ec2-create-tags-1", - "title": "To add a tag to a resource" - } - ], - "CreateVolume": [ - { - "input": { - "AvailabilityZone": "us-east-1a", - "Size": 80, - "VolumeType": "gp2" - }, - "output": { - "AvailabilityZone": "us-east-1a", - "CreateTime": "2016-08-29T18:52:32.724Z", - "Encrypted": false, - "Iops": 240, - "Size": 80, - "SnapshotId": "", - "State": "creating", - "VolumeId": "vol-6b60b7c7", - "VolumeType": "gp2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.", - "id": "to-create-a-new-volume-1472496724296", - "title": "To create a new volume" - }, - { - "input": { - "AvailabilityZone": "us-east-1a", - "Iops": 1000, - "SnapshotId": "snap-066877671789bd71b", - "VolumeType": "io1" - }, - "output": { - "Attachments": [ - - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2016-08-29T18:52:32.724Z", - "Iops": 1000, - "Size": 500, - "SnapshotId": "snap-066877671789bd71b", - "State": "creating", - "Tags": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeType": "io1" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability Zone ``us-east-1a``.", - "id": "to-create-a-new-provisioned-iops-ssd-volume-from-a-snapshot-1472498975176", - "title": "To create a new Provisioned IOPS (SSD) volume from a snapshot" - } - ], - "CreateVpc": [ - { - "input": { - "CidrBlock": "10.0.0.0/16" - }, - "output": { - "Vpc": { - "CidrBlock": "10.0.0.0/16", - "DhcpOptionsId": "dopt-7a8b9c2d", - "InstanceTenancy": "default", - "State": "pending", - "VpcId": "vpc-a01106c2" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a VPC with the specified CIDR block.", - "id": "ec2-create-vpc-1", - "title": "To create a VPC" - } - ], - "DeleteCustomerGateway": [ - { - "input": { - "CustomerGatewayId": "cgw-0e11f167" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified customer gateway.", - "id": "ec2-delete-customer-gateway-1", - "title": "To delete a customer gateway" - } - ], - "DeleteDhcpOptions": [ - { - "input": { - "DhcpOptionsId": "dopt-d9070ebb" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified DHCP options set.", - "id": "ec2-delete-dhcp-options-1", - "title": "To delete a DHCP options set" - } - ], - "DeleteInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified Internet gateway.", - "id": "ec2-delete-internet-gateway-1", - "title": "To delete an Internet gateway" - } - ], - "DeleteKeyPair": [ - { - "input": { - "KeyName": "my-key-pair" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified key pair.", - "id": "ec2-delete-key-pair-1", - "title": "To delete a key pair" - } - ], - "DeleteNatGateway": [ - { - "input": { - "NatGatewayId": "nat-04ae55e711cec5680" - }, - "output": { - "NatGatewayId": "nat-04ae55e711cec5680" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified NAT gateway.", - "id": "ec2-delete-nat-gateway-1", - "title": "To delete a NAT gateway" - } - ], - "DeleteNetworkAcl": [ - { - "input": { - "NetworkAclId": "acl-5fb85d36" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified network ACL.", - "id": "ec2-delete-network-acl-1", - "title": "To delete a network ACL" - } - ], - "DeleteNetworkAclEntry": [ - { - "input": { - "Egress": true, - "NetworkAclId": "acl-5fb85d36", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes ingress rule number 100 from the specified network ACL.", - "id": "ec2-delete-network-acl-entry-1", - "title": "To delete a network ACL entry" - } - ], - "DeleteNetworkInterface": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified network interface.", - "id": "ec2-delete-network-interface-1", - "title": "To delete a network interface" - } - ], - "DeletePlacementGroup": [ - { - "input": { - "GroupName": "my-cluster" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified placement group.\n", - "id": "to-delete-a-placement-group-1472712349959", - "title": "To delete a placement group" - } - ], - "DeleteRoute": [ - { - "input": { - "DestinationCidrBlock": "0.0.0.0/0", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified route from the specified route table.", - "id": "ec2-delete-route-1", - "title": "To delete a route" - } - ], - "DeleteRouteTable": [ - { - "input": { - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified route table.", - "id": "ec2-delete-route-table-1", - "title": "To delete a route table" - } - ], - "DeleteSnapshot": [ - { - "input": { - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", - "id": "to-delete-a-snapshot-1472503042567", - "title": "To delete a snapshot" - } - ], - "DeleteSpotDatafeedSubscription": [ - { - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes a Spot data feed subscription for the account.", - "id": "ec2-delete-spot-datafeed-subscription-1", - "title": "To cancel a Spot Instance data feed subscription" - } - ], - "DeleteSubnet": [ - { - "input": { - "SubnetId": "subnet-9d4a7b6c" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified subnet.", - "id": "ec2-delete-subnet-1", - "title": "To delete a subnet" - } - ], - "DeleteTags": [ - { - "input": { - "Resources": [ - "ami-78a54011" - ], - "Tags": [ - { - "Key": "Stack", - "Value": "test" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the tag Stack=test from the specified image.", - "id": "ec2-delete-tags-1", - "title": "To delete a tag from a resource" - } - ], - "DeleteVolume": [ - { - "input": { - "VolumeId": "vol-049df61146c4d7901" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes an available volume with the volume ID of ``vol-049df61146c4d7901``. If the command succeeds, no output is returned.", - "id": "to-delete-a-volume-1472503111160", - "title": "To delete a volume" - } - ], - "DeleteVpc": [ - { - "input": { - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example deletes the specified VPC.", - "id": "ec2-delete-vpc-1", - "title": "To delete a VPC" - } - ], - "DescribeAccountAttributes": [ - { - "input": { - "AttributeNames": [ - "supported-platforms" - ] - }, - "output": { - "AccountAttributes": [ - { - "AttributeName": "supported-platforms", - "AttributeValues": [ - { - "AttributeValue": "EC2" - }, - { - "AttributeValue": "VPC" - } - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the supported-platforms attribute for your AWS account.", - "id": "ec2-describe-account-attributes-1", - "title": "To describe a single attribute for your AWS account" - }, - { - "output": { - "AccountAttributes": [ - { - "AttributeName": "supported-platforms", - "AttributeValues": [ - { - "AttributeValue": "EC2" - }, - { - "AttributeValue": "VPC" - } - ] - }, - { - "AttributeName": "vpc-max-security-groups-per-interface", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "max-elastic-ips", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "max-instances", - "AttributeValues": [ - { - "AttributeValue": "20" - } - ] - }, - { - "AttributeName": "vpc-max-elastic-ips", - "AttributeValues": [ - { - "AttributeValue": "5" - } - ] - }, - { - "AttributeName": "default-vpc", - "AttributeValues": [ - { - "AttributeValue": "none" - } - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the attributes for your AWS account.", - "id": "ec2-describe-account-attributes-2", - "title": "To describe all attributes for your AWS account" - } - ], - "DescribeAddresses": [ - { - "output": { - "Addresses": [ - { - "Domain": "standard", - "InstanceId": "i-1234567890abcdef0", - "PublicIp": "198.51.100.0" - }, - { - "AllocationId": "eipalloc-12345678", - "AssociationId": "eipassoc-12345678", - "Domain": "vpc", - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-12345678", - "NetworkInterfaceOwnerId": "123456789012", - "PrivateIpAddress": "10.0.1.241", - "PublicIp": "203.0.113.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses.", - "id": "ec2-describe-addresses-1", - "title": "To describe your Elastic IP addresses" - }, - { - "input": { - "Filters": [ - { - "Name": "domain", - "Values": [ - "vpc" - ] - } - ] - }, - "output": { - "Addresses": [ - { - "AllocationId": "eipalloc-12345678", - "AssociationId": "eipassoc-12345678", - "Domain": "vpc", - "InstanceId": "i-1234567890abcdef0", - "NetworkInterfaceId": "eni-12345678", - "NetworkInterfaceOwnerId": "123456789012", - "PrivateIpAddress": "10.0.1.241", - "PublicIp": "203.0.113.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses for use with instances in a VPC.", - "id": "ec2-describe-addresses-2", - "title": "To describe your Elastic IP addresses for EC2-VPC" - }, - { - "input": { - "Filters": [ - { - "Name": "domain", - "Values": [ - "standard" - ] - } - ] - }, - "output": { - "Addresses": [ - { - "Domain": "standard", - "InstanceId": "i-1234567890abcdef0", - "PublicIp": "198.51.100.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes your Elastic IP addresses for use with instances in EC2-Classic.", - "id": "ec2-describe-addresses-3", - "title": "To describe your Elastic IP addresses for EC2-Classic" - } - ], - "DescribeAvailabilityZones": [ - { - "output": { - "AvailabilityZones": [ - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1b" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1c" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1d" - }, - { - "Messages": [ - - ], - "RegionName": "us-east-1", - "State": "available", - "ZoneName": "us-east-1e" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Availability Zones that are available to you. The response includes Availability Zones only for the current region.", - "id": "ec2-describe-availability-zones-1", - "title": "To describe your Availability Zones" - } - ], - "DescribeCustomerGateways": [ - { - "input": { - "CustomerGatewayIds": [ - "cgw-0e11f167" - ] - }, - "output": { - "CustomerGateways": [ - { - "BgpAsn": "65534", - "CustomerGatewayId": "cgw-0e11f167", - "IpAddress": "12.1.2.3", - "State": "available", - "Type": "ipsec.1" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified customer gateway.", - "id": "ec2-describe-customer-gateways-1", - "title": "To describe a customer gateway" - } - ], - "DescribeDhcpOptions": [ - { - "input": { - "DhcpOptionsIds": [ - "dopt-d9070ebb" - ] - }, - "output": { - "DhcpOptions": [ - { - "DhcpConfigurations": [ - { - "Key": "domain-name-servers", - "Values": [ - { - "Value": "10.2.5.2" - }, - { - "Value": "10.2.5.1" - } - ] - } - ], - "DhcpOptionsId": "dopt-d9070ebb" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified DHCP options set.", - "id": "ec2-describe-dhcp-options-1", - "title": "To describe a DHCP options set" - } - ], - "DescribeInstanceAttribute": [ - { - "input": { - "Attribute": "instanceType", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "InstanceId": "i-1234567890abcdef0", - "InstanceType": { - "Value": "t1.micro" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the instance type of the specified instance.\n", - "id": "to-describe-the-instance-type-1472712432132", - "title": "To describe the instance type" - }, - { - "input": { - "Attribute": "disableApiTermination", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "DisableApiTermination": { - "Value": "false" - }, - "InstanceId": "i-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``disableApiTermination`` attribute of the specified instance.\n", - "id": "to-describe-the-disableapitermination-attribute-1472712533466", - "title": "To describe the disableApiTermination attribute" - }, - { - "input": { - "Attribute": "blockDeviceMapping", - "InstanceId": "i-1234567890abcdef0" - }, - "output": { - "BlockDeviceMappings": [ - { - "DeviceName": "/dev/sda1", - "Ebs": { - "AttachTime": "2013-05-17T22:42:34.000Z", - "DeleteOnTermination": true, - "Status": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - }, - { - "DeviceName": "/dev/sdf", - "Ebs": { - "AttachTime": "2013-09-10T23:07:00.000Z", - "DeleteOnTermination": false, - "Status": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - } - ], - "InstanceId": "i-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``blockDeviceMapping`` attribute of the specified instance.\n", - "id": "to-describe-the-block-device-mapping-for-an-instance-1472712645423", - "title": "To describe the block device mapping for an instance" - } - ], - "DescribeInternetGateways": [ - { - "input": { - "Filters": [ - { - "Name": "attachment.vpc-id", - "Values": [ - "vpc-a01106c2" - ] - } - ] - }, - "output": { - "InternetGateways": [ - { - "Attachments": [ - { - "State": "available", - "VpcId": "vpc-a01106c2" - } - ], - "InternetGatewayId": "igw-c0a643a9", - "Tags": [ - - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Internet gateway for the specified VPC.", - "id": "ec2-describe-internet-gateways-1", - "title": "To describe the Internet gateway for a VPC" - } - ], - "DescribeKeyPairs": [ - { - "input": { - "KeyNames": [ - "my-key-pair" - ] - }, - "output": { - "KeyPairs": [ - { - "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", - "KeyName": "my-key-pair" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example displays the fingerprint for the specified key.", - "id": "ec2-describe-key-pairs-1", - "title": "To display a key pair" - } - ], - "DescribeMovingAddresses": [ - { - "output": { - "MovingAddressStatuses": [ - { - "MoveStatus": "MovingToVpc", - "PublicIp": "198.51.100.0" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all of your moving Elastic IP addresses.", - "id": "ec2-describe-moving-addresses-1", - "title": "To describe your moving addresses" - } - ], - "DescribeNatGateways": [ - { - "input": { - "Filter": [ - { - "Name": "vpc-id", - "Values": [ - "vpc-1a2b3c4d" - ] - } - ] - }, - "output": { - "NatGateways": [ - { - "CreateTime": "2015-12-01T12:26:55.983Z", - "NatGatewayAddresses": [ - { - "AllocationId": "eipalloc-89c620ec", - "NetworkInterfaceId": "eni-9dec76cd", - "PrivateIp": "10.0.0.149", - "PublicIp": "198.11.222.333" - } - ], - "NatGatewayId": "nat-05dba92075d71c408", - "State": "available", - "SubnetId": "subnet-847e4dc2", - "VpcId": "vpc-1a2b3c4d" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the NAT gateway for the specified VPC.", - "id": "ec2-describe-nat-gateways-1", - "title": "To describe a NAT gateway" - } - ], - "DescribeNetworkAcls": [ - { - "input": { - "NetworkAclIds": [ - "acl-5fb85d36" - ] - }, - "output": { - "NetworkAcls": [ - { - "Associations": [ - { - "NetworkAclAssociationId": "aclassoc-66ea5f0b", - "NetworkAclId": "acl-9aeb5ef7", - "SubnetId": "subnet-65ea5f08" - } - ], - "Entries": [ - { - "CidrBlock": "0.0.0.0/0", - "Egress": true, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - }, - { - "CidrBlock": "0.0.0.0/0", - "Egress": false, - "Protocol": "-1", - "RuleAction": "deny", - "RuleNumber": 32767 - } - ], - "IsDefault": false, - "NetworkAclId": "acl-5fb85d36", - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified network ACL.", - "id": "ec2-", - "title": "To describe a network ACL" - } - ], - "DescribeNetworkInterfaceAttribute": [ - { - "input": { - "Attribute": "attachment", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Attachment": { - "AttachTime": "2015-05-21T20:02:20.000Z", - "AttachmentId": "eni-attach-43348162", - "DeleteOnTermination": true, - "DeviceIndex": 0, - "InstanceId": "i-1234567890abcdef0", - "InstanceOwnerId": "123456789012", - "Status": "attached" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the attachment attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-1", - "title": "To describe the attachment attribute of a network interface" - }, - { - "input": { - "Attribute": "description", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Description": { - "Value": "My description" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the description attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-2", - "title": "To describe the description attribute of a network interface" - }, - { - "input": { - "Attribute": "groupSet", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "Groups": [ - { - "GroupId": "sg-903004f8", - "GroupName": "my-security-group" - } - ], - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the groupSet attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-3", - "title": "To describe the groupSet attribute of a network interface" - }, - { - "input": { - "Attribute": "sourceDestCheck", - "NetworkInterfaceId": "eni-686ea200" - }, - "output": { - "NetworkInterfaceId": "eni-686ea200", - "SourceDestCheck": { - "Value": true - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the sourceDestCheck attribute of the specified network interface.", - "id": "ec2-describe-network-interface-attribute-4", - "title": "To describe the sourceDestCheck attribute of a network interface" - } - ], - "DescribeNetworkInterfaces": [ - { - "input": { - "NetworkInterfaceIds": [ - "eni-e5aa89a3" - ] - }, - "output": { - "NetworkInterfaces": [ - { - "Association": { - "AssociationId": "eipassoc-0fbb766a", - "IpOwnerId": "123456789012", - "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", - "PublicIp": "203.0.113.12" - }, - "Attachment": { - "AttachTime": "2013-11-30T23:36:42.000Z", - "AttachmentId": "eni-attach-66c4350a", - "DeleteOnTermination": false, - "DeviceIndex": 1, - "InstanceId": "i-1234567890abcdef0", - "InstanceOwnerId": "123456789012", - "Status": "attached" - }, - "AvailabilityZone": "us-east-1d", - "Description": "my network interface", - "Groups": [ - { - "GroupId": "sg-8637d3e3", - "GroupName": "default" - } - ], - "MacAddress": "02:2f:8f:b0:cf:75", - "NetworkInterfaceId": "eni-e5aa89a3", - "OwnerId": "123456789012", - "PrivateDnsName": "ip-10-0-1-17.ec2.internal", - "PrivateIpAddress": "10.0.1.17", - "PrivateIpAddresses": [ - { - "Association": { - "AssociationId": "eipassoc-0fbb766a", - "IpOwnerId": "123456789012", - "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", - "PublicIp": "203.0.113.12" - }, - "Primary": true, - "PrivateDnsName": "ip-10-0-1-17.ec2.internal", - "PrivateIpAddress": "10.0.1.17" - } - ], - "RequesterManaged": false, - "SourceDestCheck": true, - "Status": "in-use", - "SubnetId": "subnet-b61f49f0", - "TagSet": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "", - "id": "ec2-describe-network-interfaces-1", - "title": "To describe a network interface" - } - ], - "DescribeRegions": [ - { - "output": { - "Regions": [ - { - "Endpoint": "ec2.ap-south-1.amazonaws.com", - "RegionName": "ap-south-1" - }, - { - "Endpoint": "ec2.eu-west-1.amazonaws.com", - "RegionName": "eu-west-1" - }, - { - "Endpoint": "ec2.ap-southeast-1.amazonaws.com", - "RegionName": "ap-southeast-1" - }, - { - "Endpoint": "ec2.ap-southeast-2.amazonaws.com", - "RegionName": "ap-southeast-2" - }, - { - "Endpoint": "ec2.eu-central-1.amazonaws.com", - "RegionName": "eu-central-1" - }, - { - "Endpoint": "ec2.ap-northeast-2.amazonaws.com", - "RegionName": "ap-northeast-2" - }, - { - "Endpoint": "ec2.ap-northeast-1.amazonaws.com", - "RegionName": "ap-northeast-1" - }, - { - "Endpoint": "ec2.us-east-1.amazonaws.com", - "RegionName": "us-east-1" - }, - { - "Endpoint": "ec2.sa-east-1.amazonaws.com", - "RegionName": "sa-east-1" - }, - { - "Endpoint": "ec2.us-west-1.amazonaws.com", - "RegionName": "us-west-1" - }, - { - "Endpoint": "ec2.us-west-2.amazonaws.com", - "RegionName": "us-west-2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all the regions that are available to you.", - "id": "ec2-describe-regions-1", - "title": "To describe your regions" - } - ], - "DescribeRouteTables": [ - { - "input": { - "RouteTableIds": [ - "rtb-1f382e7d" - ] - }, - "output": { - "RouteTables": [ - { - "Associations": [ - { - "Main": true, - "RouteTableAssociationId": "rtbassoc-d8ccddba", - "RouteTableId": "rtb-1f382e7d" - } - ], - "PropagatingVgws": [ - - ], - "RouteTableId": "rtb-1f382e7d", - "Routes": [ - { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "local", - "State": "active" - } - ], - "Tags": [ - - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified route table.", - "id": "ec2-describe-route-tables-1", - "title": "To describe a route table" - } - ], - "DescribeScheduledInstanceAvailability": [ - { - "input": { - "FirstSlotStartTimeRange": { - "EarliestTime": "2016-01-31T00:00:00Z", - "LatestTime": "2016-01-31T04:00:00Z" - }, - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDays": [ - 1 - ] - } - }, - "output": { - "ScheduledInstanceAvailabilitySet": [ - { - "AvailabilityZone": "us-west-2b", - "AvailableInstanceCount": 20, - "FirstSlotStartTime": "2016-01-31T00:00:00Z", - "HourlyPrice": "0.095", - "InstanceType": "c4.large", - "MaxTermDurationInDays": 366, - "MinTermDurationInDays": 366, - "NetworkPlatform": "EC2-VPC", - "Platform": "Linux/UNIX", - "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi...", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false - }, - "SlotDurationInHours": 23, - "TotalScheduledInstanceHours": 1219 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes a schedule that occurs every week on Sunday, starting on the specified date. Note that the output contains a single schedule as an example.", - "id": "ec2-describe-scheduled-instance-availability-1", - "title": "To describe an available schedule" - } - ], - "DescribeScheduledInstances": [ - { - "input": { - "ScheduledInstanceIds": [ - "sci-1234-1234-1234-1234-123456789012" - ] - }, - "output": { - "ScheduledInstanceSet": [ - { - "AvailabilityZone": "us-west-2b", - "CreateDate": "2016-01-25T21:43:38.612Z", - "HourlyPrice": "0.095", - "InstanceCount": 1, - "InstanceType": "c4.large", - "NetworkPlatform": "EC2-VPC", - "NextSlotStartTime": "2016-01-31T09:00:00Z", - "Platform": "Linux/UNIX", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false, - "OccurrenceUnit": "" - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", - "SlotDurationInHours": 32, - "TermEndDate": "2017-01-31T09:00:00Z", - "TermStartDate": "2016-01-31T09:00:00Z", - "TotalScheduledInstanceHours": 1696 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Scheduled Instance.", - "id": "ec2-describe-scheduled-instances-1", - "title": "To describe your Scheduled Instances" - } - ], - "DescribeSnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "SnapshotId": "snap-066877671789bd71b" - }, - "output": { - "CreateVolumePermissions": [ - - ], - "SnapshotId": "snap-066877671789bd71b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``createVolumePermission`` attribute on a snapshot with the snapshot ID of ``snap-066877671789bd71b``.", - "id": "to-describe-snapshot-attributes-1472503199736", - "title": "To describe snapshot attributes" - } - ], - "DescribeSnapshots": [ - { - "input": { - "SnapshotIds": [ - "snap-1234567890abcdef0" - ] - }, - "output": { - "NextToken": "", - "Snapshots": [ - { - "Description": "This is my snapshot.", - "OwnerId": "012345678910", - "Progress": "100%", - "SnapshotId": "snap-1234567890abcdef0", - "StartTime": "2014-02-28T21:28:32.000Z", - "State": "completed", - "VolumeId": "vol-049df61146c4d7901", - "VolumeSize": 8 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``.", - "id": "to-describe-a-snapshot-1472503807850", - "title": "To describe a snapshot" - }, - { - "input": { - "Filters": [ - { - "Name": "status", - "Values": [ - "pending" - ] - } - ], - "OwnerIds": [ - "012345678910" - ] - }, - "output": { - "NextToken": "", - "Snapshots": [ - { - "Description": "This is my copied snapshot.", - "OwnerId": "012345678910", - "Progress": "87%", - "SnapshotId": "snap-066877671789bd71b", - "StartTime": "2014-02-28T21:37:27.000Z", - "State": "pending", - "VolumeId": "vol-1234567890abcdef0", - "VolumeSize": 8 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all snapshots owned by the ID 012345678910 that are in the ``pending`` status.", - "id": "to-describe-snapshots-using-filters-1472503929793", - "title": "To describe snapshots using filters" - } - ], - "DescribeSpotDatafeedSubscription": [ - { - "output": { - "SpotDatafeedSubscription": { - "Bucket": "my-s3-bucket", - "OwnerId": "123456789012", - "Prefix": "spotdata", - "State": "Active" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the Spot Instance datafeed subscription for your AWS account.", - "id": "ec2-describe-spot-datafeed-subscription-1", - "title": "To describe the datafeed for your AWS account" - } - ], - "DescribeSpotFleetInstances": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "output": { - "ActiveInstances": [ - { - "InstanceId": "i-1234567890abcdef0", - "InstanceType": "m3.medium", - "SpotInstanceRequestId": "sir-08b93456" - } - ], - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example lists the Spot Instances associated with the specified Spot fleet.", - "id": "ec2-describe-spot-fleet-instances-1", - "title": "To describe the Spot Instances associated with a Spot fleet" - } - ], - "DescribeSpotFleetRequestHistory": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "StartTime": "2015-05-26T00:00:00Z" - }, - "output": { - "HistoryRecords": [ - { - "EventInformation": { - "EventSubType": "submitted" - }, - "EventType": "fleetRequestChange", - "Timestamp": "2015-05-26T23:17:20.697Z" - }, - { - "EventInformation": { - "EventSubType": "active" - }, - "EventType": "fleetRequestChange", - "Timestamp": "2015-05-26T23:17:20.873Z" - }, - { - "EventInformation": { - "EventSubType": "launched", - "InstanceId": "i-1234567890abcdef0" - }, - "EventType": "instanceChange", - "Timestamp": "2015-05-26T23:21:21.712Z" - }, - { - "EventInformation": { - "EventSubType": "launched", - "InstanceId": "i-1234567890abcdef1" - }, - "EventType": "instanceChange", - "Timestamp": "2015-05-26T23:21:21.816Z" - } - ], - "NextToken": "CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "StartTime": "2015-05-26T00:00:00Z" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example returns the history for the specified Spot fleet starting at the specified time.", - "id": "ec2-describe-spot-fleet-request-history-1", - "title": "To describe Spot fleet history" - } - ], - "DescribeSpotFleetRequests": [ - { - "input": { - "SpotFleetRequestIds": [ - "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - ] - }, - "output": { - "SpotFleetRequestConfigs": [ - { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "EbsOptimized": false, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "cc2.8xlarge", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeleteOnTermination": false, - "DeviceIndex": 0, - "SecondaryPrivateIpAddressCount": 0, - "SubnetId": "subnet-a61dafcf" - } - ] - }, - { - "EbsOptimized": false, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "r3.8xlarge", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeleteOnTermination": false, - "DeviceIndex": 0, - "SecondaryPrivateIpAddressCount": 0, - "SubnetId": "subnet-a61dafcf" - } - ] - } - ], - "SpotPrice": "0.05", - "TargetCapacity": 20 - }, - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "SpotFleetRequestState": "active" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Spot fleet request.", - "id": "ec2-describe-spot-fleet-requests-1", - "title": "To describe a Spot fleet request" - } - ], - "DescribeSpotInstanceRequests": [ - { - "input": { - "SpotInstanceRequestIds": [ - "sir-08b93456" - ] - }, - "output": { - "SpotInstanceRequests": [ - { - "CreateTime": "2014-04-30T18:14:55.000Z", - "InstanceId": "i-1234567890abcdef0", - "LaunchSpecification": { - "BlockDeviceMappings": [ - { - "DeviceName": "/dev/sda1", - "Ebs": { - "DeleteOnTermination": true, - "VolumeSize": 8, - "VolumeType": "standard" - } - } - ], - "EbsOptimized": false, - "ImageId": "ami-7aba833f", - "InstanceType": "m1.small", - "KeyName": "my-key-pair", - "SecurityGroups": [ - { - "GroupId": "sg-e38f24a7", - "GroupName": "my-security-group" - } - ] - }, - "LaunchedAvailabilityZone": "us-west-1b", - "ProductDescription": "Linux/UNIX", - "SpotInstanceRequestId": "sir-08b93456", - "SpotPrice": "0.010000", - "State": "active", - "Status": { - "Code": "fulfilled", - "Message": "Your Spot request is fulfilled.", - "UpdateTime": "2014-04-30T18:16:21.000Z" - }, - "Type": "one-time" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified Spot Instance request.", - "id": "ec2-describe-spot-instance-requests-1", - "title": "To describe a Spot Instance request" - } - ], - "DescribeSpotPriceHistory": [ - { - "input": { - "EndTime": "2014-01-06T08:09:10", - "InstanceTypes": [ - "m1.xlarge" - ], - "ProductDescriptions": [ - "Linux/UNIX (Amazon VPC)" - ], - "StartTime": "2014-01-06T07:08:09" - }, - "output": { - "SpotPriceHistory": [ - { - "AvailabilityZone": "us-west-1a", - "InstanceType": "m1.xlarge", - "ProductDescription": "Linux/UNIX (Amazon VPC)", - "SpotPrice": "0.080000", - "Timestamp": "2014-01-06T04:32:53.000Z" - }, - { - "AvailabilityZone": "us-west-1c", - "InstanceType": "m1.xlarge", - "ProductDescription": "Linux/UNIX (Amazon VPC)", - "SpotPrice": "0.080000", - "Timestamp": "2014-01-05T11:28:26.000Z" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example returns the Spot Price history for m1.xlarge, Linux/UNIX (Amazon VPC) instances for a particular day in January.", - "id": "ec2-describe-spot-price-history-1", - "title": "To describe Spot price history for Linux/UNIX (Amazon VPC)" - } - ], - "DescribeSubnets": [ - { - "input": { - "Filters": [ - { - "Name": "vpc-id", - "Values": [ - "vpc-a01106c2" - ] - } - ] - }, - "output": { - "Subnets": [ - { - "AvailabilityZone": "us-east-1c", - "AvailableIpAddressCount": 251, - "CidrBlock": "10.0.1.0/24", - "DefaultForAz": false, - "MapPublicIpOnLaunch": false, - "State": "available", - "SubnetId": "subnet-9d4a7b6c", - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the subnets for the specified VPC.", - "id": "ec2-describe-subnets-1", - "title": "To describe the subnets for a VPC" - } - ], - "DescribeTags": [ - { - "input": { - "Filters": [ - { - "Name": "resource-id", - "Values": [ - "i-1234567890abcdef8" - ] - } - ] - }, - "output": { - "Tags": [ - { - "Key": "Stack", - "ResourceId": "i-1234567890abcdef8", - "ResourceType": "instance", - "Value": "test" - }, - { - "Key": "Name", - "ResourceId": "i-1234567890abcdef8", - "ResourceType": "instance", - "Value": "Beta Server" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the tags for the specified instance.", - "id": "ec2-describe-tags-1", - "title": "To describe the tags for a single resource" - } - ], - "DescribeVolumeAttribute": [ - { - "input": { - "Attribute": "autoEnableIO", - "VolumeId": "vol-049df61146c4d7901" - }, - "output": { - "AutoEnableIO": { - "Value": false - }, - "VolumeId": "vol-049df61146c4d7901" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the ``autoEnableIo`` attribute of the volume with the ID ``vol-049df61146c4d7901``.", - "id": "to-describe-a-volume-attribute-1472505773492", - "title": "To describe a volume attribute" - } - ], - "DescribeVolumeStatus": [ - { - "input": { - "VolumeIds": [ - "vol-1234567890abcdef0" - ] - }, - "output": { - "VolumeStatuses": [ - { - "Actions": [ - - ], - "AvailabilityZone": "us-east-1a", - "Events": [ - - ], - "VolumeId": "vol-1234567890abcdef0", - "VolumeStatus": { - "Details": [ - { - "Name": "io-enabled", - "Status": "passed" - }, - { - "Name": "io-performance", - "Status": "not-applicable" - } - ], - "Status": "ok" - } - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the status for the volume ``vol-1234567890abcdef0``.", - "id": "to-describe-the-status-of-a-single-volume-1472507016193", - "title": "To describe the status of a single volume" - }, - { - "input": { - "Filters": [ - { - "Name": "volume-status.status", - "Values": [ - "impaired" - ] - } - ] - }, - "output": { - "VolumeStatuses": [ - - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the status for all volumes that are impaired. In this example output, there are no impaired volumes.", - "id": "to-describe-the-status-of-impaired-volumes-1472507239821", - "title": "To describe the status of impaired volumes" - } - ], - "DescribeVolumes": [ - { - "input": { - }, - "output": { - "NextToken": "", - "Volumes": [ - { - "Attachments": [ - { - "AttachTime": "2013-12-18T22:35:00.000Z", - "DeleteOnTermination": true, - "Device": "/dev/sda1", - "InstanceId": "i-1234567890abcdef0", - "State": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2013-12-18T22:35:00.084Z", - "Size": 8, - "SnapshotId": "snap-1234567890abcdef0", - "State": "in-use", - "VolumeId": "vol-049df61146c4d7901", - "VolumeType": "standard" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all of your volumes in the default region.", - "id": "to-describe-all-volumes-1472506358883", - "title": "To describe all volumes" - }, - { - "input": { - "Filters": [ - { - "Name": "attachment.instance-id", - "Values": [ - "i-1234567890abcdef0" - ] - }, - { - "Name": "attachment.delete-on-termination", - "Values": [ - "true" - ] - } - ] - }, - "output": { - "Volumes": [ - { - "Attachments": [ - { - "AttachTime": "2013-12-18T22:35:00.000Z", - "DeleteOnTermination": true, - "Device": "/dev/sda1", - "InstanceId": "i-1234567890abcdef0", - "State": "attached", - "VolumeId": "vol-049df61146c4d7901" - } - ], - "AvailabilityZone": "us-east-1a", - "CreateTime": "2013-12-18T22:35:00.084Z", - "Size": 8, - "SnapshotId": "snap-1234567890abcdef0", - "State": "in-use", - "VolumeId": "vol-049df61146c4d7901", - "VolumeType": "standard" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes all volumes that are both attached to the instance with the ID i-1234567890abcdef0 and set to delete when the instance terminates.", - "id": "to-describe-volumes-that-are-attached-to-a-specific-instance-1472506613578", - "title": "To describe volumes that are attached to a specific instance" - } - ], - "DescribeVpcAttribute": [ - { - "input": { - "Attribute": "enableDnsSupport", - "VpcId": "vpc-a01106c2" - }, - "output": { - "EnableDnsSupport": { - "Value": true - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.", - "id": "ec2-describe-vpc-attribute-1", - "title": "To describe the enableDnsSupport attribute" - }, - { - "input": { - "Attribute": "enableDnsHostnames", - "VpcId": "vpc-a01106c2" - }, - "output": { - "EnableDnsHostnames": { - "Value": true - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the enableDnsHostnames attribute. This attribute indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", - "id": "ec2-describe-vpc-attribute-2", - "title": "To describe the enableDnsHostnames attribute" - } - ], - "DescribeVpcs": [ - { - "input": { - "VpcIds": [ - "vpc-a01106c2" - ] - }, - "output": { - "Vpcs": [ - { - "CidrBlock": "10.0.0.0/16", - "DhcpOptionsId": "dopt-7a8b9c2d", - "InstanceTenancy": "default", - "IsDefault": false, - "State": "available", - "Tags": [ - { - "Key": "Name", - "Value": "MyVPC" - } - ], - "VpcId": "vpc-a01106c2" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example describes the specified VPC.", - "id": "ec2-describe-vpcs-1", - "title": "To describe a VPC" - } - ], - "DetachInternetGateway": [ - { - "input": { - "InternetGatewayId": "igw-c0a643a9", - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the specified Internet gateway from the specified VPC.", - "id": "ec2-detach-internet-gateway-1", - "title": "To detach an Internet gateway from a VPC" - } - ], - "DetachNetworkInterface": [ - { - "input": { - "AttachmentId": "eni-attach-66c4350a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the specified network interface from its attached instance.", - "id": "ec2-detach-network-interface-1", - "title": "To detach a network interface from an instance" - } - ], - "DetachVolume": [ - { - "input": { - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - "AttachTime": "2014-02-27T19:23:06.000Z", - "Device": "/dev/sdb", - "InstanceId": "i-1234567890abcdef0", - "State": "detaching", - "VolumeId": "vol-049df61146c4d7901" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example detaches the volume (``vol-049df61146c4d7901``) from the instance it is attached to.", - "id": "to-detach-a-volume-from-an-instance-1472507977694", - "title": "To detach a volume from an instance" - } - ], - "DisableVgwRoutePropagation": [ - { - "input": { - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disables the specified virtual private gateway from propagating static routes to the specified route table.", - "id": "ec2-disable-vgw-route-propagation-1", - "title": "To disable route propagation" - } - ], - "DisassociateAddress": [ - { - "input": { - "AssociationId": "eipassoc-2bebb745" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates an Elastic IP address from an instance in a VPC.", - "id": "ec2-disassociate-address-1", - "title": "To disassociate an Elastic IP address in EC2-VPC" - }, - { - "input": { - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates an Elastic IP address from an instance in EC2-Classic.", - "id": "ec2-disassociate-address-2", - "title": "To disassociate an Elastic IP addresses in EC2-Classic" - } - ], - "DisassociateRouteTable": [ - { - "input": { - "AssociationId": "rtbassoc-781d0d1a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example disassociates the specified route table from its associated subnet.", - "id": "ec2-disassociate-route-table-1", - "title": "To disassociate a route table" - } - ], - "EnableVgwRoutePropagation": [ - { - "input": { - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example enables the specified virtual private gateway to propagate static routes to the specified route table.", - "id": "ec2-enable-vgw-route-propagation-1", - "title": "To enable route propagation" - } - ], - "EnableVolumeIO": [ - { - "input": { - "VolumeId": "vol-1234567890abcdef0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example enables I/O on volume ``vol-1234567890abcdef0``.", - "id": "to-enable-io-for-a-volume-1472508114867", - "title": "To enable I/O for a volume" - } - ], - "ModifyNetworkInterfaceAttribute": [ - { - "input": { - "Attachment": { - "AttachmentId": "eni-attach-43348162", - "DeleteOnTermination": false - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the attachment attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-1", - "title": "To modify the attachment attribute of a network interface" - }, - { - "input": { - "Description": { - "Value": "My description" - }, - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the description attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-2", - "title": "To modify the description attribute of a network interface" - }, - { - "input": { - "Groups": [ - "sg-903004f8", - "sg-1a2b3c4d" - ], - "NetworkInterfaceId": "eni-686ea200" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command modifies the groupSet attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-3", - "title": "To modify the groupSet attribute of a network interface" - }, - { - "input": { - "NetworkInterfaceId": "eni-686ea200", - "SourceDestCheck": { - "Value": false - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command modifies the sourceDestCheck attribute of the specified network interface.", - "id": "ec2-modify-network-interface-attribute-4", - "title": "To modify the sourceDestCheck attribute of a network interface" - } - ], - "ModifySnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "OperationType": "remove", - "SnapshotId": "snap-1234567890abcdef0", - "UserIds": [ - "123456789012" - ] - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies snapshot ``snap-1234567890abcdef0`` to remove the create volume permission for a user with the account ID ``123456789012``. If the command succeeds, no output is returned.", - "id": "to-modify-a-snapshot-attribute-1472508385907", - "title": "To modify a snapshot attribute" - }, - { - "input": { - "Attribute": "createVolumePermission", - "GroupNames": [ - "all" - ], - "OperationType": "add", - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example makes the snapshot ``snap-1234567890abcdef0`` public.", - "id": "to-make-a-snapshot-public-1472508470529", - "title": "To make a snapshot public" - } - ], - "ModifySpotFleetRequest": [ - { - "input": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "TargetCapacity": 20 - }, - "output": { - "Return": true - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example increases the target capacity of the specified Spot fleet request.", - "id": "ec2-modify-spot-fleet-request-1", - "title": "To increase the target capacity of a Spot fleet request" - }, - { - "input": { - "ExcessCapacityTerminationPolicy": "NoTermination ", - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", - "TargetCapacity": 10 - }, - "output": { - "Return": true - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example decreases the target capacity of the specified Spot fleet request without terminating any Spot Instances as a result.", - "id": "ec2-modify-spot-fleet-request-2", - "title": "To decrease the target capacity of a Spot fleet request" - } - ], - "ModifySubnetAttribute": [ - { - "input": { - "MapPublicIpOnLaunch": { - "Value": true - }, - "SubnetId": "subnet-1a2b3c4d" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the specified subnet so that all instances launched into this subnet are assigned a public IP address.", - "id": "ec2-modify-subnet-attribute-1", - "title": "To change a subnet's public IP addressing behavior" - } - ], - "ModifyVolumeAttribute": [ - { - "input": { - "AutoEnableIO": { - "Value": true - }, - "DryRun": true, - "VolumeId": "vol-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example sets the ``autoEnableIo`` attribute of the volume with the ID ``vol-1234567890abcdef0`` to ``true``. If the command succeeds, no output is returned.", - "id": "to-modify-a-volume-attribute-1472508596749", - "title": "To modify a volume attribute" - } - ], - "ModifyVpcAttribute": [ - { - "input": { - "EnableDnsSupport": { - "Value": false - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for instances in the VPC to their corresponding IP addresses; otherwise, it does not.", - "id": "ec2-modify-vpc-attribute-1", - "title": "To modify the enableDnsSupport attribute" - }, - { - "input": { - "EnableDnsHostnames": { - "Value": false - }, - "VpcId": "vpc-a01106c2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example modifies the enableDnsHostnames attribute. This attribute indicates whether instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", - "id": "ec2-modify-vpc-attribute-2", - "title": "To modify the enableDnsHostnames attribute" - } - ], - "MoveAddressToVpc": [ - { - "input": { - "PublicIp": "54.123.4.56" - }, - "output": { - "Status": "MoveInProgress" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example moves the specified Elastic IP address to the EC2-VPC platform.", - "id": "ec2-move-address-to-vpc-1", - "title": "To move an address to EC2-VPC" - } - ], - "PurchaseScheduledInstances": [ - { - "input": { - "PurchaseRequests": [ - { - "InstanceCount": 1, - "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi..." - } - ] - }, - "output": { - "ScheduledInstanceSet": [ - { - "AvailabilityZone": "us-west-2b", - "CreateDate": "2016-01-25T21:43:38.612Z", - "HourlyPrice": "0.095", - "InstanceCount": 1, - "InstanceType": "c4.large", - "NetworkPlatform": "EC2-VPC", - "NextSlotStartTime": "2016-01-31T09:00:00Z", - "Platform": "Linux/UNIX", - "Recurrence": { - "Frequency": "Weekly", - "Interval": 1, - "OccurrenceDaySet": [ - 1 - ], - "OccurrenceRelativeToEnd": false, - "OccurrenceUnit": "" - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", - "SlotDurationInHours": 32, - "TermEndDate": "2017-01-31T09:00:00Z", - "TermStartDate": "2016-01-31T09:00:00Z", - "TotalScheduledInstanceHours": 1696 - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example purchases a Scheduled Instance.", - "id": "ec2-purchase-scheduled-instances-1", - "title": "To purchase a Scheduled Instance" - } - ], - "ReleaseAddress": [ - { - "input": { - "AllocationId": "eipalloc-64d5890a" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example releases an Elastic IP address for use with instances in a VPC.", - "id": "ec2-release-address-1", - "title": "To release an Elastic IP address for EC2-VPC" - }, - { - "input": { - "PublicIp": "198.51.100.0" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example releases an Elastic IP address for use with instances in EC2-Classic.", - "id": "ec2-release-address-2", - "title": "To release an Elastic IP addresses for EC2-Classic" - } - ], - "ReplaceNetworkAclAssociation": [ - { - "input": { - "AssociationId": "aclassoc-e5b95c8c", - "NetworkAclId": "acl-5fb85d36" - }, - "output": { - "NewAssociationId": "aclassoc-3999875b" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified network ACL with the subnet for the specified network ACL association.", - "id": "ec2-replace-network-acl-association-1", - "title": "To replace the network ACL associated with a subnet" - } - ], - "ReplaceNetworkAclEntry": [ - { - "input": { - "CidrBlock": "203.0.113.12/24", - "Egress": false, - "NetworkAclId": "acl-5fb85d36", - "PortRange": { - "From": 53, - "To": 53 - }, - "Protocol": "udp", - "RuleAction": "allow", - "RuleNumber": 100 - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example replaces an entry for the specified network ACL. The new rule 100 allows ingress traffic from 203.0.113.12/24 on UDP port 53 (DNS) into any associated subnet.", - "id": "ec2-replace-network-acl-entry-1", - "title": "To replace a network ACL entry" - } - ], - "ReplaceRoute": [ - { - "input": { - "DestinationCidrBlock": "10.0.0.0/16", - "GatewayId": "vgw-9a4cacf3", - "RouteTableId": "rtb-22574640" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example replaces the specified route in the specified table table. The new route matches the specified CIDR and sends the traffic to the specified virtual private gateway.", - "id": "ec2-replace-route-1", - "title": "To replace a route" - } - ], - "ReplaceRouteTableAssociation": [ - { - "input": { - "AssociationId": "rtbassoc-781d0d1a", - "RouteTableId": "rtb-22574640" - }, - "output": { - "NewAssociationId": "rtbassoc-3a1f0f58" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example associates the specified route table with the subnet for the specified route table association.", - "id": "ec2-replace-route-table-association-1", - "title": "To replace the route table associated with a subnet" - } - ], - "RequestSpotFleet": [ - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "SecurityGroups": [ - { - "GroupId": "sg-1a2b3c4d" - } - ], - "SubnetId": "subnet-1a2b3c4d, subnet-3c4d5e6f" - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request with two launch specifications that differ only by subnet. The Spot fleet launches the instances in the specified subnet with the lowest price. If the instances are launched in a default VPC, they receive a public IP address by default. If the instances are launched in a nondefault VPC, they do not receive a public IP address by default. Note that you can't specify different subnets from the same Availability Zone in a Spot fleet request.", - "id": "ec2-request-spot-fleet-1", - "title": "To request a Spot fleet in the subnet with the lowest price" - }, - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2a, us-west-2b" - }, - "SecurityGroups": [ - { - "GroupId": "sg-1a2b3c4d" - } - ] - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request with two launch specifications that differ only by Availability Zone. The Spot fleet launches the instances in the specified Availability Zone with the lowest price. If your account supports EC2-VPC only, Amazon EC2 launches the Spot instances in the default subnet of the Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the Availability Zone.", - "id": "ec2-request-spot-fleet-2", - "title": "To request a Spot fleet in the Availability Zone with the lowest price" - }, - { - "input": { - "SpotFleetRequestConfig": { - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::880185128111:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeviceIndex": 0, - "Groups": [ - "sg-1a2b3c4d" - ], - "SubnetId": "subnet-1a2b3c4d" - } - ] - } - ], - "SpotPrice": "0.04", - "TargetCapacity": 2 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example assigns public addresses to instances launched in a nondefault VPC. Note that when you specify a network interface, you must include the subnet ID and security group ID using the network interface.", - "id": "ec2-request-spot-fleet-3", - "title": "To launch Spot instances in a subnet and assign them public IP addresses" - }, - { - "input": { - "SpotFleetRequestConfig": { - "AllocationStrategy": "diversified", - "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", - "LaunchSpecifications": [ - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "c4.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - }, - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - }, - { - "ImageId": "ami-1a2b3c4d", - "InstanceType": "r3.2xlarge", - "SubnetId": "subnet-1a2b3c4d" - } - ], - "SpotPrice": "0.70", - "TargetCapacity": 30 - } - }, - "output": { - "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a Spot fleet request that launches 30 instances using the diversified allocation strategy. The launch specifications differ by instance type. The Spot fleet distributes the instances across the launch specifications such that there are 10 instances of each type.", - "id": "ec2-request-spot-fleet-4", - "title": "To request a Spot fleet using the diversified allocation strategy" - } - ], - "RequestSpotInstances": [ - { - "input": { - "InstanceCount": 5, - "LaunchSpecification": { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2a" - }, - "SecurityGroupIds": [ - "sg-1a2b3c4d" - ] - }, - "SpotPrice": "0.03", - "Type": "one-time" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example creates a one-time Spot Instance request for five instances in the specified Availability Zone. If your account supports EC2-VPC only, Amazon EC2 launches the instances in the default subnet of the specified Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the specified Availability Zone.", - "id": "ec2-request-spot-instances-1", - "title": "To create a one-time Spot Instance request" - }, - { - "input": { - "InstanceCount": 5, - "LaunchSpecification": { - "IamInstanceProfile": { - "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" - }, - "ImageId": "ami-1a2b3c4d", - "InstanceType": "m3.medium", - "SecurityGroupIds": [ - "sg-1a2b3c4d" - ], - "SubnetId": "subnet-1a2b3c4d" - }, - "SpotPrice": "0.050", - "Type": "one-time" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example command creates a one-time Spot Instance request for five instances in the specified subnet. Amazon EC2 launches the instances in the specified subnet. If the VPC is a nondefault VPC, the instances do not receive a public IP address by default.", - "id": "ec2-request-spot-instances-2", - "title": "To create a one-time Spot Instance request" - } - ], - "ResetSnapshotAttribute": [ - { - "input": { - "Attribute": "createVolumePermission", - "SnapshotId": "snap-1234567890abcdef0" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example resets the create volume permissions for snapshot ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", - "id": "to-reset-a-snapshot-attribute-1472508825735", - "title": "To reset a snapshot attribute" - } - ], - "RestoreAddressToClassic": [ - { - "input": { - "PublicIp": "198.51.100.0" - }, - "output": { - "PublicIp": "198.51.100.0", - "Status": "MoveInProgress" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example restores the specified Elastic IP address to the EC2-Classic platform.", - "id": "ec2-restore-address-to-classic-1", - "title": "To restore an address to EC2-Classic" - } - ], - "RunScheduledInstances": [ - { - "input": { - "InstanceCount": 1, - "LaunchSpecification": { - "IamInstanceProfile": { - "Name": "my-iam-role" - }, - "ImageId": "ami-12345678", - "InstanceType": "c4.large", - "KeyName": "my-key-pair", - "NetworkInterfaces": [ - { - "AssociatePublicIpAddress": true, - "DeviceIndex": 0, - "Groups": [ - "sg-12345678" - ], - "SubnetId": "subnet-12345678" - } - ] - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" - }, - "output": { - "InstanceIdSet": [ - "i-1234567890abcdef0" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example launches the specified Scheduled Instance in a VPC.", - "id": "ec2-run-scheduled-instances-1", - "title": "To launch a Scheduled Instance in a VPC" - }, - { - "input": { - "InstanceCount": 1, - "LaunchSpecification": { - "IamInstanceProfile": { - "Name": "my-iam-role" - }, - "ImageId": "ami-12345678", - "InstanceType": "c4.large", - "KeyName": "my-key-pair", - "Placement": { - "AvailabilityZone": "us-west-2b" - }, - "SecurityGroupIds": [ - "sg-12345678" - ] - }, - "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" - }, - "output": { - "InstanceIdSet": [ - "i-1234567890abcdef0" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example launches the specified Scheduled Instance in EC2-Classic.", - "id": "ec2-run-scheduled-instances-2", - "title": "To launch a Scheduled Instance in EC2-Classic" - } - ], - "UnassignPrivateIpAddresses": [ - { - "input": { - "NetworkInterfaceId": "eni-e5aa89a3", - "PrivateIpAddresses": [ - "10.0.0.82" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "This example unassigns the specified private IP address from the specified network interface.", - "id": "ec2-unassign-private-ip-addresses-1", - "title": "To unassign a secondary private IP address from a network interface" - } - ] - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/paginators-1.json deleted file mode 100644 index 3d086aac..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/paginators-1.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "pagination": { - "DescribeIamInstanceProfileAssociations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "IamInstanceProfileAssociations" - }, - "DescribeInstanceStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceStatuses" - }, - "DescribeInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeReservedInstancesOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ReservedInstancesOfferings" - }, - "DescribeReservedInstancesModifications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "ReservedInstancesModifications" - }, - "DescribeSecurityGroups": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SecurityGroups" - }, - "DescribeSnapshots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Snapshots" - }, - "DescribeSpotFleetInstances": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ActiveInstances" - }, - "DescribeSpotFleetRequests": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotFleetRequestConfigs" - }, - "DescribeSpotPriceHistory": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "SpotPriceHistory" - }, - "DescribeTags": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Tags" - }, - "DescribeVolumeStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "VolumeStatuses" - }, - "DescribeVolumes": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Volumes" - }, - "DescribeNatGateways": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "NatGateways" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/service-2.json deleted file mode 100644 index 7947ccb9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/service-2.json +++ /dev/null @@ -1,24647 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-15", - "endpointPrefix":"ec2", - "protocol":"ec2", - "serviceAbbreviation":"Amazon EC2", - "serviceFullName":"Amazon Elastic Compute Cloud", - "serviceId":"EC2", - "signatureVersion":"v4", - "uid":"ec2-2016-11-15", - "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-11-15" - }, - "operations":{ - "AcceptReservedInstancesExchangeQuote":{ - "name":"AcceptReservedInstancesExchangeQuote", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptReservedInstancesExchangeQuoteRequest"}, - "output":{"shape":"AcceptReservedInstancesExchangeQuoteResult"}, - "documentation":"

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

" - }, - "AcceptVpcEndpointConnections":{ - "name":"AcceptVpcEndpointConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcEndpointConnectionsRequest"}, - "output":{"shape":"AcceptVpcEndpointConnectionsResult"}, - "documentation":"

Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

" - }, - "AcceptVpcPeeringConnection":{ - "name":"AcceptVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, - "output":{"shape":"AcceptVpcPeeringConnectionResult"}, - "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

For an inter-region VPC peering connection request, you must accept the VPC peering connection in the region of the accepter VPC.

" - }, - "AllocateAddress":{ - "name":"AllocateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateAddressRequest"}, - "output":{"shape":"AllocateAddressResult"}, - "documentation":"

Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.

[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per region and 5 Elastic IP addresses for EC2-VPC per region.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AllocateHosts":{ - "name":"AllocateHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateHostsRequest"}, - "output":{"shape":"AllocateHostsResult"}, - "documentation":"

Allocates a Dedicated Host to your account. At a minimum, specify the instance size type, Availability Zone, and quantity of hosts to allocate.

" - }, - "AssignIpv6Addresses":{ - "name":"AssignIpv6Addresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignIpv6AddressesRequest"}, - "output":{"shape":"AssignIpv6AddressesResult"}, - "documentation":"

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AssignPrivateIpAddresses":{ - "name":"AssignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignPrivateIpAddressesRequest"}, - "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface. You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

AssignPrivateIpAddresses is available only in EC2-VPC.

" - }, - "AssociateAddress":{ - "name":"AssociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAddressRequest"}, - "output":{"shape":"AssociateAddressResult"}, - "documentation":"

Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDhcpOptionsRequest"}, - "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateIamInstanceProfile":{ - "name":"AssociateIamInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateIamInstanceProfileRequest"}, - "output":{"shape":"AssociateIamInstanceProfileResult"}, - "documentation":"

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

" - }, - "AssociateRouteTable":{ - "name":"AssociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateRouteTableRequest"}, - "output":{"shape":"AssociateRouteTableResult"}, - "documentation":"

Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table from the subnet later. A route table can be associated with multiple subnets.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "AssociateSubnetCidrBlock":{ - "name":"AssociateSubnetCidrBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateSubnetCidrBlockRequest"}, - "output":{"shape":"AssociateSubnetCidrBlockResult"}, - "documentation":"

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

" - }, - "AssociateVpcCidrBlock":{ - "name":"AssociateVpcCidrBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateVpcCidrBlockRequest"}, - "output":{"shape":"AssociateVpcCidrBlockResult"}, - "documentation":"

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The IPv6 CIDR block size is fixed at /56.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachClassicLinkVpc":{ - "name":"AttachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachClassicLinkVpcRequest"}, - "output":{"shape":"AttachClassicLinkVpcResult"}, - "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" - }, - "AttachInternetGateway":{ - "name":"AttachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInternetGatewayRequest"}, - "documentation":"

Attaches an internet gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "AttachNetworkInterface":{ - "name":"AttachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachNetworkInterfaceRequest"}, - "output":{"shape":"AttachNetworkInterfaceResult"}, - "documentation":"

Attaches a network interface to an instance.

" - }, - "AttachVolume":{ - "name":"AttachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

For a list of supported device names, see Attaching an EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information about EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "AttachVpnGateway":{ - "name":"AttachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachVpnGatewayRequest"}, - "output":{"shape":"AttachVpnGatewayResult"}, - "documentation":"

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "AuthorizeSecurityGroupEgress":{ - "name":"AuthorizeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide. For more information about security group limits, see Amazon VPC Limits.

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes. You can optionally specify a description for the rule.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

" - }, - "AuthorizeSecurityGroupIngress":{ - "name":"AuthorizeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, - "documentation":"

Adds one or more ingress rules to a security group.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

[EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another. You can have up to 100 rules per group.

[EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC or a peer VPC in a VPC peering connection. For more information about VPC security group limits, see Amazon VPC Limits.

You can optionally specify a description for the security group rule.

" - }, - "BundleInstance":{ - "name":"BundleInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BundleInstanceRequest"}, - "output":{"shape":"BundleInstanceResult"}, - "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

" - }, - "CancelBundleTask":{ - "name":"CancelBundleTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelBundleTaskRequest"}, - "output":{"shape":"CancelBundleTaskResult"}, - "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" - }, - "CancelConversionTask":{ - "name":"CancelConversionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelConversionRequest"}, - "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" - }, - "CancelImportTask":{ - "name":"CancelImportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelImportTaskRequest"}, - "output":{"shape":"CancelImportTaskResult"}, - "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" - }, - "CancelReservedInstancesListing":{ - "name":"CancelReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelReservedInstancesListingRequest"}, - "output":{"shape":"CancelReservedInstancesListingResult"}, - "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CancelSpotFleetRequests":{ - "name":"CancelSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotFleetRequestsRequest"}, - "output":{"shape":"CancelSpotFleetRequestsResponse"}, - "documentation":"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot Instances. You must specify whether the Spot Fleet should also terminate its Spot Instances. If you terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

" - }, - "CancelSpotInstanceRequests":{ - "name":"CancelSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelSpotInstanceRequestsRequest"}, - "output":{"shape":"CancelSpotInstanceRequestsResult"}, - "documentation":"

Cancels one or more Spot Instance requests.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

" - }, - "ConfirmProductInstance":{ - "name":"ConfirmProductInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmProductInstanceRequest"}, - "output":{"shape":"ConfirmProductInstanceResult"}, - "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner must verify whether another user's instance is eligible for support.

" - }, - "CopyFpgaImage":{ - "name":"CopyFpgaImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyFpgaImageRequest"}, - "output":{"shape":"CopyFpgaImageResult"}, - "documentation":"

Copies the specified Amazon FPGA Image (AFI) to the current region.

" - }, - "CopyImage":{ - "name":"CopyImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyImageRequest"}, - "output":{"shape":"CopyImageResult"}, - "documentation":"

Initiates the copy of an AMI from the specified source region to the current region. You specify the destination region by using its endpoint when making the request.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotRequest"}, - "output":{"shape":"CopySnapshotResult"}, - "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same region or from one region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs). The snapshot is copied to the regional endpoint that you send the HTTP request to.

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless the Encrypted flag is specified during the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a non-default CMK with the KmsKeyId parameter.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateCustomerGateway":{ - "name":"CreateCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomerGatewayRequest"}, - "output":{"shape":"CreateCustomerGatewayResult"}, - "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and may be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 region, and 9059, which is reserved in the eu-west-1 region.

For more information about VPN customer gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

You cannot create more than one customer gateway with the same VPN type, IP address, and BGP ASN parameter values. If you run an identical request more than one time, the first request creates the customer gateway, and subsequent requests return information about the existing customer gateway. The subsequent requests do not create new customer gateway resources.

" - }, - "CreateDefaultSubnet":{ - "name":"CreateDefaultSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDefaultSubnetRequest"}, - "output":{"shape":"CreateDefaultSubnetResult"}, - "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a Default Subnet in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateDefaultVpc":{ - "name":"CreateDefaultVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDefaultVpcRequest"}, - "output":{"shape":"CreateDefaultVpcResult"}, - "documentation":"

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

iIf you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

" - }, - "CreateDhcpOptions":{ - "name":"CreateDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDhcpOptionsRequest"}, - "output":{"shape":"CreateDhcpOptionsResult"}, - "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. ITo have 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, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateEgressOnlyInternetGateway":{ - "name":"CreateEgressOnlyInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEgressOnlyInternetGatewayRequest"}, - "output":{"shape":"CreateEgressOnlyInternetGatewayResult"}, - "documentation":"

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

" - }, - "CreateFleet":{ - "name":"CreateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFleetRequest"}, - "output":{"shape":"CreateFleetResult"}, - "documentation":"

Launches an EC2 Fleet.

You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateFlowLogs":{ - "name":"CreateFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFlowLogsRequest"}, - "output":{"shape":"CreateFlowLogsResult"}, - "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow Log Records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateFpgaImage":{ - "name":"CreateFpgaImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFpgaImageRequest"}, - "output":{"shape":"CreateFpgaImageResult"}, - "documentation":"

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on one or more FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit.

" - }, - "CreateImage":{ - "name":"CreateImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateImageRequest"}, - "output":{"shape":"CreateImageResult"}, - "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateInstanceExportTask":{ - "name":"CreateInstanceExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceExportTaskRequest"}, - "output":{"shape":"CreateInstanceExportTaskResult"}, - "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "CreateInternetGateway":{ - "name":"CreateInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInternetGatewayRequest"}, - "output":{"shape":"CreateInternetGatewayResult"}, - "documentation":"

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"KeyPair"}, - "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per region.

The key pair returned to you is available only in the region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any region using ImportKeyPair.

For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateLaunchTemplate":{ - "name":"CreateLaunchTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLaunchTemplateRequest"}, - "output":{"shape":"CreateLaunchTemplateResult"}, - "documentation":"

Creates a launch template. A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request.

" - }, - "CreateLaunchTemplateVersion":{ - "name":"CreateLaunchTemplateVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLaunchTemplateVersionRequest"}, - "output":{"shape":"CreateLaunchTemplateVersionResult"}, - "documentation":"

Creates a new version for a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

" - }, - "CreateNatGateway":{ - "name":"CreateNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNatGatewayRequest"}, - "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified public subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. Internet-bound traffic from a private subnet can be routed to the NAT gateway, therefore enabling instances in the private subnet to connect to the internet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAcl":{ - "name":"CreateNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclRequest"}, - "output":{"shape":"CreateNetworkAclResult"}, - "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkAclEntry":{ - "name":"CreateNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkAclEntryRequest"}, - "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterface":{ - "name":"CreateNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfaceRequest"}, - "output":{"shape":"CreateNetworkInterfaceResult"}, - "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateNetworkInterfacePermission":{ - "name":"CreateNetworkInterfacePermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNetworkInterfacePermissionRequest"}, - "output":{"shape":"CreateNetworkInterfacePermissionResult"}, - "documentation":"

Grants an AWS-authorized account permission to attach the specified network interface to an instance in their account.

You can grant permission to a single AWS account only, and only one account at a time.

" - }, - "CreatePlacementGroup":{ - "name":"CreatePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlacementGroupRequest"}, - "documentation":"

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware.

For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateReservedInstancesListing":{ - "name":"CreateReservedInstancesListing", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReservedInstancesListingRequest"}, - "output":{"shape":"CreateReservedInstancesListingResult"}, - "documentation":"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances with a capacity reservation can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances and Standard Reserved Instances with a regional benefit cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateRoute":{ - "name":"CreateRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteRequest"}, - "output":{"shape":"CreateRouteResult"}, - "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateRouteTable":{ - "name":"CreateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRouteTableRequest"}, - "output":{"shape":"CreateRouteTableResult"}, - "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateSecurityGroup":{ - "name":"CreateSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityGroupRequest"}, - "output":{"shape":"CreateSecurityGroupResult"}, - "documentation":"

Creates a security group.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

EC2-Classic: You can have up to 500 security groups.

EC2-VPC: You can create up to 500 security groups per VPC.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotRequest"}, - "output":{"shape":"Snapshot"}, - "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateSpotDatafeedSubscription":{ - "name":"CreateSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, - "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" - }, - "CreateSubnet":{ - "name":"CreateSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubnetRequest"}, - "output":{"shape":"CreateSubnetResult"}, - "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and IPv4 CIDR block for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon EC2 resource or resources. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVolume":{ - "name":"CreateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVolumeRequest"}, - "output":{"shape":"Volume"}, - "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes 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 in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVpc":{ - "name":"CreateVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcRequest"}, - "output":{"shape":"CreateVpcResult"}, - "documentation":"

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). For more information about how large to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an Amazon-provided IPv6 CIDR block for the VPC. The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.

By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "CreateVpcEndpoint":{ - "name":"CreateVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointRequest"}, - "output":{"shape":"CreateVpcEndpointResult"}, - "documentation":"

Creates a VPC endpoint for a specified service. An endpoint enables you to create a private connection between your VPC and the service. The service may be provided by AWS, an AWS Marketplace partner, or another AWS account. For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

A gateway endpoint serves as a target for a route in your route table for traffic destined for the AWS service. You can specify an endpoint policy to attach to the endpoint that will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

An interface endpoint is a network interface in your subnet that serves as an endpoint for communicating with the specified service. You can specify the subnets in which to create an endpoint, and the security groups to associate with the endpoint network interface.

Use DescribeVpcEndpointServices to get a list of supported services.

" - }, - "CreateVpcEndpointConnectionNotification":{ - "name":"CreateVpcEndpointConnectionNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointConnectionNotificationRequest"}, - "output":{"shape":"CreateVpcEndpointConnectionNotificationResult"}, - "documentation":"

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

" - }, - "CreateVpcEndpointServiceConfiguration":{ - "name":"CreateVpcEndpointServiceConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcEndpointServiceConfigurationRequest"}, - "output":{"shape":"CreateVpcEndpointServiceConfigurationResult"}, - "documentation":"

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service.

To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionRequest"}, - "output":{"shape":"CreateVpcPeeringConnectionResult"}, - "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

" - }, - "CreateVpnConnection":{ - "name":"CreateVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRequest"}, - "output":{"shape":"CreateVpnConnectionResult"}, - "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The only supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnConnectionRoute":{ - "name":"CreateVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnConnectionRouteRequest"}, - "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information about VPN connections, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "CreateVpnGateway":{ - "name":"CreateVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpnGatewayRequest"}, - "output":{"shape":"CreateVpnGatewayResult"}, - "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information about virtual private gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "DeleteCustomerGateway":{ - "name":"DeleteCustomerGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomerGatewayRequest"}, - "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" - }, - "DeleteDhcpOptions":{ - "name":"DeleteDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDhcpOptionsRequest"}, - "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" - }, - "DeleteEgressOnlyInternetGateway":{ - "name":"DeleteEgressOnlyInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEgressOnlyInternetGatewayRequest"}, - "output":{"shape":"DeleteEgressOnlyInternetGatewayResult"}, - "documentation":"

Deletes an egress-only internet gateway.

" - }, - "DeleteFleets":{ - "name":"DeleteFleets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFleetsRequest"}, - "output":{"shape":"DeleteFleetsResult"}, - "documentation":"

Deletes the specified EC2 Fleet.

After you delete an EC2 Fleet, it launches no new instances. You must specify whether an EC2 Fleet should also terminate its instances. If you terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

" - }, - "DeleteFlowLogs":{ - "name":"DeleteFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFlowLogsRequest"}, - "output":{"shape":"DeleteFlowLogsResult"}, - "documentation":"

Deletes one or more flow logs.

" - }, - "DeleteFpgaImage":{ - "name":"DeleteFpgaImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFpgaImageRequest"}, - "output":{"shape":"DeleteFpgaImageResult"}, - "documentation":"

Deletes the specified Amazon FPGA Image (AFI).

" - }, - "DeleteInternetGateway":{ - "name":"DeleteInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInternetGatewayRequest"}, - "documentation":"

Deletes the specified internet gateway. You must detach the internet gateway from the VPC before you can delete it.

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" - }, - "DeleteLaunchTemplate":{ - "name":"DeleteLaunchTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLaunchTemplateRequest"}, - "output":{"shape":"DeleteLaunchTemplateResult"}, - "documentation":"

Deletes a launch template. Deleting a launch template deletes all of its versions.

" - }, - "DeleteLaunchTemplateVersions":{ - "name":"DeleteLaunchTemplateVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLaunchTemplateVersionsRequest"}, - "output":{"shape":"DeleteLaunchTemplateVersionsResult"}, - "documentation":"

Deletes one or more versions of a launch template. You cannot delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

" - }, - "DeleteNatGateway":{ - "name":"DeleteNatGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNatGatewayRequest"}, - "output":{"shape":"DeleteNatGatewayResult"}, - "documentation":"

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

" - }, - "DeleteNetworkAcl":{ - "name":"DeleteNetworkAcl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclRequest"}, - "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" - }, - "DeleteNetworkAclEntry":{ - "name":"DeleteNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkAclEntryRequest"}, - "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" - }, - "DeleteNetworkInterface":{ - "name":"DeleteNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfaceRequest"}, - "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" - }, - "DeleteNetworkInterfacePermission":{ - "name":"DeleteNetworkInterfacePermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNetworkInterfacePermissionRequest"}, - "output":{"shape":"DeleteNetworkInterfacePermissionResult"}, - "documentation":"

Deletes a permission for a network interface. By default, you cannot delete the permission if the account for which you're removing the permission has attached the network interface to an instance. However, you can force delete the permission, regardless of any attachment.

" - }, - "DeletePlacementGroup":{ - "name":"DeletePlacementGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlacementGroupRequest"}, - "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteRoute":{ - "name":"DeleteRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteRequest"}, - "documentation":"

Deletes the specified route from the specified route table.

" - }, - "DeleteRouteTable":{ - "name":"DeleteRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRouteTableRequest"}, - "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" - }, - "DeleteSecurityGroup":{ - "name":"DeleteSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityGroupRequest"}, - "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotRequest"}, - "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteSpotDatafeedSubscription":{ - "name":"DeleteSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, - "documentation":"

Deletes the data feed for Spot Instances.

" - }, - "DeleteSubnet":{ - "name":"DeleteSubnet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubnetRequest"}, - "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "documentation":"

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeRequest"}, - "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DeleteVpc":{ - "name":"DeleteVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" - }, - "DeleteVpcEndpointConnectionNotifications":{ - "name":"DeleteVpcEndpointConnectionNotifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointConnectionNotificationsRequest"}, - "output":{"shape":"DeleteVpcEndpointConnectionNotificationsResult"}, - "documentation":"

Deletes one or more VPC endpoint connection notifications.

" - }, - "DeleteVpcEndpointServiceConfigurations":{ - "name":"DeleteVpcEndpointServiceConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointServiceConfigurationsRequest"}, - "output":{"shape":"DeleteVpcEndpointServiceConfigurationsResult"}, - "documentation":"

Deletes one or more VPC endpoint service configurations in your account. Before you delete the endpoint service configuration, you must reject any Available or PendingAcceptance interface endpoint connections that are attached to the service.

" - }, - "DeleteVpcEndpoints":{ - "name":"DeleteVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcEndpointsRequest"}, - "output":{"shape":"DeleteVpcEndpointsResult"}, - "documentation":"

Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint. Deleting an interface endpoint deletes the endpoint network interfaces.

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, - "output":{"shape":"DeleteVpcPeeringConnectionResult"}, - "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

" - }, - "DeleteVpnConnection":{ - "name":"DeleteVpnConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRequest"}, - "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway using the new configuration information returned with the new VPN connection ID.

" - }, - "DeleteVpnConnectionRoute":{ - "name":"DeleteVpnConnectionRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnConnectionRouteRequest"}, - "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" - }, - "DeleteVpnGateway":{ - "name":"DeleteVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpnGatewayRequest"}, - "documentation":"

Deletes the specified virtual private gateway. We recommend that before you delete a virtual private gateway, you detach it from the VPC and delete the VPN connection. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" - }, - "DeregisterImage":{ - "name":"DeregisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterImageRequest"}, - "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances; however, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResult"}, - "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: The maximum number of On-Demand Instances that you can run.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "documentation":"

Describes one or more of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeAggregateIdFormat":{ - "name":"DescribeAggregateIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAggregateIdFormatRequest"}, - "output":{"shape":"DescribeAggregateIdFormatResult"}, - "documentation":"

Describes the longer ID format settings for all resource types in a specific region. This request is useful for performing a quick audit to determine whether a specific region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" - }, - "DescribeAvailabilityZones":{ - "name":"DescribeAvailabilityZones", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailabilityZonesRequest"}, - "output":{"shape":"DescribeAvailabilityZonesResult"}, - "documentation":"

Describes one or more of the Availability Zones that are available to you. The results include zones only for the region you're currently using. If there is an event impacting an Availability Zone, you can use this request to view the state and any provided message for that Availability Zone.

For more information, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeBundleTasks":{ - "name":"DescribeBundleTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBundleTasksRequest"}, - "output":{"shape":"DescribeBundleTasksResult"}, - "documentation":"

Describes one or more of your bundling tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" - }, - "DescribeClassicLinkInstances":{ - "name":"DescribeClassicLinkInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClassicLinkInstancesRequest"}, - "output":{"shape":"DescribeClassicLinkInstancesResult"}, - "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

" - }, - "DescribeConversionTasks":{ - "name":"DescribeConversionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConversionTasksRequest"}, - "output":{"shape":"DescribeConversionTasksResult"}, - "documentation":"

Describes one or more of your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "DescribeCustomerGateways":{ - "name":"DescribeCustomerGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCustomerGatewaysRequest"}, - "output":{"shape":"DescribeCustomerGatewaysResult"}, - "documentation":"

Describes one or more of your VPN customer gateways.

For more information about VPN customer gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeDhcpOptions":{ - "name":"DescribeDhcpOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDhcpOptionsRequest"}, - "output":{"shape":"DescribeDhcpOptionsResult"}, - "documentation":"

Describes one or more of your DHCP options sets.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeEgressOnlyInternetGateways":{ - "name":"DescribeEgressOnlyInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEgressOnlyInternetGatewaysRequest"}, - "output":{"shape":"DescribeEgressOnlyInternetGatewaysResult"}, - "documentation":"

Describes one or more of your egress-only internet gateways.

" - }, - "DescribeElasticGpus":{ - "name":"DescribeElasticGpus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeElasticGpusRequest"}, - "output":{"shape":"DescribeElasticGpusResult"}, - "documentation":"

Describes the Elastic GPUs associated with your instances. For more information about Elastic GPUs, see Amazon EC2 Elastic GPUs.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResult"}, - "documentation":"

Describes one or more of your export tasks.

" - }, - "DescribeFleetHistory":{ - "name":"DescribeFleetHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetHistoryRequest"}, - "output":{"shape":"DescribeFleetHistoryResult"}, - "documentation":"

Describes the events for the specified EC2 Fleet during the specified time.

" - }, - "DescribeFleetInstances":{ - "name":"DescribeFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetInstancesRequest"}, - "output":{"shape":"DescribeFleetInstancesResult"}, - "documentation":"

Describes the running instances for the specified EC2 Fleet.

" - }, - "DescribeFleets":{ - "name":"DescribeFleets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetsRequest"}, - "output":{"shape":"DescribeFleetsResult"}, - "documentation":"

Describes one or more of your EC2 Fleet.

" - }, - "DescribeFlowLogs":{ - "name":"DescribeFlowLogs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFlowLogsRequest"}, - "output":{"shape":"DescribeFlowLogsResult"}, - "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" - }, - "DescribeFpgaImageAttribute":{ - "name":"DescribeFpgaImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFpgaImageAttributeRequest"}, - "output":{"shape":"DescribeFpgaImageAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

" - }, - "DescribeFpgaImages":{ - "name":"DescribeFpgaImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFpgaImagesRequest"}, - "output":{"shape":"DescribeFpgaImagesResult"}, - "documentation":"

Describes 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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationOfferingsRequest"}, - "output":{"shape":"DescribeHostReservationOfferingsResult"}, - "documentation":"

Describes the Dedicated Host reservations that are available to purchase.

The results describe all the Dedicated Host reservation offerings, including offerings that may not match the instance family and region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated . For more information about supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeHostReservations":{ - "name":"DescribeHostReservations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostReservationsRequest"}, - "output":{"shape":"DescribeHostReservationsResult"}, - "documentation":"

Describes reservations that are associated with Dedicated Hosts in your account.

" - }, - "DescribeHosts":{ - "name":"DescribeHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHostsRequest"}, - "output":{"shape":"DescribeHostsResult"}, - "documentation":"

Describes 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 are listed with the state released.

" - }, - "DescribeIamInstanceProfileAssociations":{ - "name":"DescribeIamInstanceProfileAssociations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIamInstanceProfileAssociationsRequest"}, - "output":{"shape":"DescribeIamInstanceProfileAssociationsResult"}, - "documentation":"

Describes your IAM instance profile associations.

" - }, - "DescribeIdFormat":{ - "name":"DescribeIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdFormatRequest"}, - "output":{"shape":"DescribeIdFormatResult"}, - "documentation":"

Describes the ID format settings for your resources on a per-region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "DescribeIdentityIdFormat":{ - "name":"DescribeIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIdentityIdFormatRequest"}, - "output":{"shape":"DescribeIdentityIdFormatResult"}, - "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" - }, - "DescribeImageAttribute":{ - "name":"DescribeImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImageAttributeRequest"}, - "output":{"shape":"ImageAttribute"}, - "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResult"}, - "documentation":"

Describes one or more of the images (AMIs, AKIs, and ARIs) available to you. Images available to you include public images, private images that you own, and private images owned by other AWS accounts but for which you have explicit launch permissions.

Deregistered images are included in the returned results for an unspecified interval after deregistration.

" - }, - "DescribeImportImageTasks":{ - "name":"DescribeImportImageTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportImageTasksRequest"}, - "output":{"shape":"DescribeImportImageTasksResult"}, - "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" - }, - "DescribeImportSnapshotTasks":{ - "name":"DescribeImportSnapshotTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImportSnapshotTasksRequest"}, - "output":{"shape":"DescribeImportSnapshotTasksResult"}, - "documentation":"

Describes your import snapshot tasks.

" - }, - "DescribeInstanceAttribute":{ - "name":"DescribeInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAttributeRequest"}, - "output":{"shape":"InstanceAttribute"}, - "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" - }, - "DescribeInstanceCreditSpecifications":{ - "name":"DescribeInstanceCreditSpecifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceCreditSpecificationsRequest"}, - "output":{"shape":"DescribeInstanceCreditSpecificationsResult"}, - "documentation":"

Describes the credit option for CPU usage of one or more of your T2 instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns only the T2 instances with the unlimited credit option. If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a T2 instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see T2 Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstanceStatus":{ - "name":"DescribeInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceStatusRequest"}, - "output":{"shape":"DescribeInstanceStatusResult"}, - "documentation":"

Describes the status of one or more instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "documentation":"

Describes one or more of your instances.

If you specify one or more instance IDs, Amazon EC2 returns information for those instances. If you do not specify instance IDs, Amazon EC2 returns information for all relevant instances. If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the returned results.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" - }, - "DescribeInternetGateways":{ - "name":"DescribeInternetGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInternetGatewaysRequest"}, - "output":{"shape":"DescribeInternetGatewaysResult"}, - "documentation":"

Describes one or more of your internet gateways.

" - }, - "DescribeKeyPairs":{ - "name":"DescribeKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyPairsRequest"}, - "output":{"shape":"DescribeKeyPairsResult"}, - "documentation":"

Describes one or more of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeLaunchTemplateVersions":{ - "name":"DescribeLaunchTemplateVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLaunchTemplateVersionsRequest"}, - "output":{"shape":"DescribeLaunchTemplateVersionsResult"}, - "documentation":"

Describes one or more versions of a specified launch template. You can describe all versions, individual versions, or a range of versions.

" - }, - "DescribeLaunchTemplates":{ - "name":"DescribeLaunchTemplates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLaunchTemplatesRequest"}, - "output":{"shape":"DescribeLaunchTemplatesResult"}, - "documentation":"

Describes one or more launch templates.

" - }, - "DescribeMovingAddresses":{ - "name":"DescribeMovingAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMovingAddressesRequest"}, - "output":{"shape":"DescribeMovingAddressesResult"}, - "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" - }, - "DescribeNatGateways":{ - "name":"DescribeNatGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNatGatewaysRequest"}, - "output":{"shape":"DescribeNatGatewaysResult"}, - "documentation":"

Describes one or more of your NAT gateways.

" - }, - "DescribeNetworkAcls":{ - "name":"DescribeNetworkAcls", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkAclsRequest"}, - "output":{"shape":"DescribeNetworkAclsResult"}, - "documentation":"

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeNetworkInterfaceAttribute":{ - "name":"DescribeNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, - "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, - "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" - }, - "DescribeNetworkInterfacePermissions":{ - "name":"DescribeNetworkInterfacePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacePermissionsRequest"}, - "output":{"shape":"DescribeNetworkInterfacePermissionsResult"}, - "documentation":"

Describes the permissions for your network interfaces.

" - }, - "DescribeNetworkInterfaces":{ - "name":"DescribeNetworkInterfaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNetworkInterfacesRequest"}, - "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

Describes one or more of your network interfaces.

" - }, - "DescribePlacementGroups":{ - "name":"DescribePlacementGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlacementGroupsRequest"}, - "output":{"shape":"DescribePlacementGroupsResult"}, - "documentation":"

Describes one or more of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribePrefixLists":{ - "name":"DescribePrefixLists", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrefixListsRequest"}, - "output":{"shape":"DescribePrefixListsResult"}, - "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a gateway VPC endpoint. Currently, the services that support this action are Amazon S3 and Amazon DynamoDB.

" - }, - "DescribePrincipalIdFormat":{ - "name":"DescribePrincipalIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePrincipalIdFormatRequest"}, - "output":{"shape":"DescribePrincipalIdFormatResult"}, - "documentation":"

Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they explicitly override the settings. This request is useful for identifying those IAM users and IAM roles that have overridden the default ID settings.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" - }, - "DescribeRegions":{ - "name":"DescribeRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRegionsRequest"}, - "output":{"shape":"DescribeRegionsResult"}, - "documentation":"

Describes one or more regions that are currently available to you.

For a list of the regions supported by Amazon EC2, see Regions and Endpoints.

" - }, - "DescribeReservedInstances":{ - "name":"DescribeReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesRequest"}, - "output":{"shape":"DescribeReservedInstancesResult"}, - "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesListings":{ - "name":"DescribeReservedInstancesListings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesListingsRequest"}, - "output":{"shape":"DescribeReservedInstancesListingsResult"}, - "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesModifications":{ - "name":"DescribeReservedInstancesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, - "output":{"shape":"DescribeReservedInstancesModificationsResult"}, - "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeReservedInstancesOfferings":{ - "name":"DescribeReservedInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, - "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, - "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeRouteTables":{ - "name":"DescribeRouteTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRouteTablesRequest"}, - "output":{"shape":"DescribeRouteTablesResult"}, - "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeScheduledInstanceAvailability":{ - "name":"DescribeScheduledInstanceAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, - "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"}, - "documentation":"

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

" - }, - "DescribeScheduledInstances":{ - "name":"DescribeScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScheduledInstancesRequest"}, - "output":{"shape":"DescribeScheduledInstancesResult"}, - "documentation":"

Describes one or more of your Scheduled Instances.

" - }, - "DescribeSecurityGroupReferences":{ - "name":"DescribeSecurityGroupReferences", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, - "output":{"shape":"DescribeSecurityGroupReferencesResult"}, - "documentation":"

[EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" - }, - "DescribeSecurityGroups":{ - "name":"DescribeSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityGroupsRequest"}, - "output":{"shape":"DescribeSecurityGroupsResult"}, - "documentation":"

Describes one or more of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeSnapshotAttribute":{ - "name":"DescribeSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotAttributeRequest"}, - "output":{"shape":"DescribeSnapshotAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsRequest"}, - "output":{"shape":"DescribeSnapshotsResult"}, - "documentation":"

Describes one or more of the EBS snapshots available to you. Available snapshots include public snapshots available for any AWS account to launch, private snapshots that you own, and private snapshots owned by another AWS account but for which you've been given explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be modified by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeSpotDatafeedSubscription":{ - "name":"DescribeSpotDatafeedSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, - "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, - "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" - }, - "DescribeSpotFleetInstances":{ - "name":"DescribeSpotFleetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetInstancesRequest"}, - "output":{"shape":"DescribeSpotFleetInstancesResponse"}, - "documentation":"

Describes the running instances for the specified Spot Fleet.

" - }, - "DescribeSpotFleetRequestHistory":{ - "name":"DescribeSpotFleetRequestHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, - "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"}, - "documentation":"

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event.

" - }, - "DescribeSpotFleetRequests":{ - "name":"DescribeSpotFleetRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotFleetRequestsRequest"}, - "output":{"shape":"DescribeSpotFleetRequestsResponse"}, - "documentation":"

Describes your Spot Fleet requests.

Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

" - }, - "DescribeSpotInstanceRequests":{ - "name":"DescribeSpotInstanceRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, - "output":{"shape":"DescribeSpotInstanceRequestsResult"}, - "documentation":"

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

" - }, - "DescribeSpotPriceHistory":{ - "name":"DescribeSpotPriceHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSpotPriceHistoryRequest"}, - "output":{"shape":"DescribeSpotPriceHistoryResult"}, - "documentation":"

Describes the Spot price history. For more information, see Spot Instance Pricing History in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" - }, - "DescribeStaleSecurityGroups":{ - "name":"DescribeStaleSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, - "output":{"shape":"DescribeStaleSecurityGroupsResult"}, - "documentation":"

[EC2-VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" - }, - "DescribeSubnets":{ - "name":"DescribeSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubnetsRequest"}, - "output":{"shape":"DescribeSubnetsResult"}, - "documentation":"

Describes one or more of your subnets.

For more information, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "documentation":"

Describes one or more of the tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeAttribute":{ - "name":"DescribeVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeAttributeRequest"}, - "output":{"shape":"DescribeVolumeAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumeStatus":{ - "name":"DescribeVolumeStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumeStatusRequest"}, - "output":{"shape":"DescribeVolumeStatusResult"}, - "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "documentation":"

Describes the specified EBS volumes.

If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVolumesModifications":{ - "name":"DescribeVolumesModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesModificationsRequest"}, - "output":{"shape":"DescribeVolumesModificationsResult"}, - "documentation":"

Reports the current modification status of EBS volumes.

Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications\" in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcAttribute":{ - "name":"DescribeVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcAttributeRequest"}, - "output":{"shape":"DescribeVpcAttributeResult"}, - "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" - }, - "DescribeVpcClassicLink":{ - "name":"DescribeVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkRequest"}, - "output":{"shape":"DescribeVpcClassicLinkResult"}, - "documentation":"

Describes the ClassicLink status of one or more VPCs.

" - }, - "DescribeVpcClassicLinkDnsSupport":{ - "name":"DescribeVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, - "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DescribeVpcEndpointConnectionNotifications":{ - "name":"DescribeVpcEndpointConnectionNotifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointConnectionNotificationsRequest"}, - "output":{"shape":"DescribeVpcEndpointConnectionNotificationsResult"}, - "documentation":"

Describes the connection notifications for VPC endpoints and VPC endpoint services.

" - }, - "DescribeVpcEndpointConnections":{ - "name":"DescribeVpcEndpointConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointConnectionsRequest"}, - "output":{"shape":"DescribeVpcEndpointConnectionsResult"}, - "documentation":"

Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance.

" - }, - "DescribeVpcEndpointServiceConfigurations":{ - "name":"DescribeVpcEndpointServiceConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServiceConfigurationsRequest"}, - "output":{"shape":"DescribeVpcEndpointServiceConfigurationsResult"}, - "documentation":"

Describes the VPC endpoint service configurations in your account (your services).

" - }, - "DescribeVpcEndpointServicePermissions":{ - "name":"DescribeVpcEndpointServicePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicePermissionsRequest"}, - "output":{"shape":"DescribeVpcEndpointServicePermissionsResult"}, - "documentation":"

Describes the principals (service consumers) that are permitted to discover your VPC endpoint service.

" - }, - "DescribeVpcEndpointServices":{ - "name":"DescribeVpcEndpointServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointServicesRequest"}, - "output":{"shape":"DescribeVpcEndpointServicesResult"}, - "documentation":"

Describes available services to which you can create a VPC endpoint.

" - }, - "DescribeVpcEndpoints":{ - "name":"DescribeVpcEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcEndpointsRequest"}, - "output":{"shape":"DescribeVpcEndpointsResult"}, - "documentation":"

Describes one or more of your VPC endpoints.

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, - "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, - "documentation":"

Describes one or more of your VPC peering connections.

" - }, - "DescribeVpcs":{ - "name":"DescribeVpcs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcsRequest"}, - "output":{"shape":"DescribeVpcsResult"}, - "documentation":"

Describes one or more of your VPCs.

" - }, - "DescribeVpnConnections":{ - "name":"DescribeVpnConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnConnectionsRequest"}, - "output":{"shape":"DescribeVpnConnectionsResult"}, - "documentation":"

Describes one or more of your VPN connections.

For more information about VPN connections, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "DescribeVpnGateways":{ - "name":"DescribeVpnGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpnGatewaysRequest"}, - "output":{"shape":"DescribeVpnGatewaysResult"}, - "documentation":"

Describes one or more of your virtual private gateways.

For more information about virtual private gateways, see AWS Managed VPN Connections in the Amazon Virtual Private Cloud User Guide.

" - }, - "DetachClassicLinkVpc":{ - "name":"DetachClassicLinkVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachClassicLinkVpcRequest"}, - "output":{"shape":"DetachClassicLinkVpcResult"}, - "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" - }, - "DetachInternetGateway":{ - "name":"DetachInternetGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInternetGatewayRequest"}, - "documentation":"

Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.

" - }, - "DetachNetworkInterface":{ - "name":"DetachNetworkInterface", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachNetworkInterfaceRequest"}, - "documentation":"

Detaches a network interface from an instance.

" - }, - "DetachVolume":{ - "name":"DetachVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVolumeRequest"}, - "output":{"shape":"VolumeAttachment"}, - "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DetachVpnGateway":{ - "name":"DetachVpnGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachVpnGatewayRequest"}, - "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" - }, - "DisableVgwRoutePropagation":{ - "name":"DisableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVgwRoutePropagationRequest"}, - "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" - }, - "DisableVpcClassicLink":{ - "name":"DisableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkRequest"}, - "output":{"shape":"DisableVpcClassicLinkResult"}, - "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" - }, - "DisableVpcClassicLinkDnsSupport":{ - "name":"DisableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DisassociateAddress":{ - "name":"DisassociateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAddressRequest"}, - "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" - }, - "DisassociateIamInstanceProfile":{ - "name":"DisassociateIamInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateIamInstanceProfileRequest"}, - "output":{"shape":"DisassociateIamInstanceProfileResult"}, - "documentation":"

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" - }, - "DisassociateRouteTable":{ - "name":"DisassociateRouteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateRouteTableRequest"}, - "documentation":"

Disassociates a subnet from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "DisassociateSubnetCidrBlock":{ - "name":"DisassociateSubnetCidrBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateSubnetCidrBlockRequest"}, - "output":{"shape":"DisassociateSubnetCidrBlockResult"}, - "documentation":"

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

" - }, - "DisassociateVpcCidrBlock":{ - "name":"DisassociateVpcCidrBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateVpcCidrBlockRequest"}, - "output":{"shape":"DisassociateVpcCidrBlockResult"}, - "documentation":"

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

" - }, - "EnableVgwRoutePropagation":{ - "name":"EnableVgwRoutePropagation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVgwRoutePropagationRequest"}, - "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" - }, - "EnableVolumeIO":{ - "name":"EnableVolumeIO", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVolumeIORequest"}, - "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" - }, - "EnableVpcClassicLink":{ - "name":"EnableVpcClassicLink", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkRequest"}, - "output":{"shape":"EnableVpcClassicLinkResult"}, - "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "EnableVpcClassicLinkDnsSupport":{ - "name":"EnableVpcClassicLinkDnsSupport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, - "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, - "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" - }, - "GetConsoleOutput":{ - "name":"GetConsoleOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleOutputRequest"}, - "output":{"shape":"GetConsoleOutputResult"}, - "documentation":"

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.

" - }, - "GetConsoleScreenshot":{ - "name":"GetConsoleScreenshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConsoleScreenshotRequest"}, - "output":{"shape":"GetConsoleScreenshotResult"}, - "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

" - }, - "GetHostReservationPurchasePreview":{ - "name":"GetHostReservationPurchasePreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, - "output":{"shape":"GetHostReservationPurchasePreviewResult"}, - "documentation":"

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

" - }, - "GetLaunchTemplateData":{ - "name":"GetLaunchTemplateData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLaunchTemplateDataRequest"}, - "output":{"shape":"GetLaunchTemplateDataResult"}, - "documentation":"

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

" - }, - "GetPasswordData":{ - "name":"GetPasswordData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPasswordDataRequest"}, - "output":{"shape":"GetPasswordDataResult"}, - "documentation":"

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" - }, - "GetReservedInstancesExchangeQuote":{ - "name":"GetReservedInstancesExchangeQuote", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservedInstancesExchangeQuoteRequest"}, - "output":{"shape":"GetReservedInstancesExchangeQuoteResult"}, - "documentation":"

Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

" - }, - "ImportImage":{ - "name":"ImportImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportImageRequest"}, - "output":{"shape":"ImportImageResult"}, - "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" - }, - "ImportInstance":{ - "name":"ImportInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportInstanceRequest"}, - "output":{"shape":"ImportInstanceResult"}, - "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ImportSnapshot":{ - "name":"ImportSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportSnapshotRequest"}, - "output":{"shape":"ImportSnapshotResult"}, - "documentation":"

Imports a disk into an EBS snapshot.

" - }, - "ImportVolume":{ - "name":"ImportVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportVolumeRequest"}, - "output":{"shape":"ImportVolumeResult"}, - "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" - }, - "ModifyFleet":{ - "name":"ModifyFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyFleetRequest"}, - "output":{"shape":"ModifyFleetResult"}, - "documentation":"

Modifies the specified EC2 Fleet.

While the EC2 Fleet is being modified, it is in the modifying state.

" - }, - "ModifyFpgaImageAttribute":{ - "name":"ModifyFpgaImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyFpgaImageAttributeRequest"}, - "output":{"shape":"ModifyFpgaImageAttributeResult"}, - "documentation":"

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

" - }, - "ModifyHosts":{ - "name":"ModifyHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyHostsRequest"}, - "output":{"shape":"ModifyHostsResult"}, - "documentation":"

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of host but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID ito have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled.

" - }, - "ModifyIdFormat":{ - "name":"ModifyIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdFormatRequest"}, - "documentation":"

Modifies the ID format for the specified resource on a per-region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyIdentityIdFormat":{ - "name":"ModifyIdentityIdFormat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyIdentityIdFormatRequest"}, - "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" - }, - "ModifyImageAttribute":{ - "name":"ModifyImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyImageAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time. You can use the Attribute parameter to specify the attribute or one of the following parameters: Description, LaunchPermission, or ProductCode.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance and create an AMI from the instance.

" - }, - "ModifyInstanceAttribute":{ - "name":"ModifyInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyInstanceCreditSpecification":{ - "name":"ModifyInstanceCreditSpecification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceCreditSpecificationRequest"}, - "output":{"shape":"ModifyInstanceCreditSpecificationResult"}, - "documentation":"

Modifies the credit option for CPU usage on a running or stopped T2 instance. The credit options are standard and unlimited.

For more information, see T2 Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifyInstancePlacement":{ - "name":"ModifyInstancePlacement", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstancePlacementRequest"}, - "output":{"shape":"ModifyInstancePlacementResult"}, - "documentation":"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance from host to dedicated, or from dedicated to host.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, or placement group for an instance, the instance must be in the stopped state.

" - }, - "ModifyLaunchTemplate":{ - "name":"ModifyLaunchTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyLaunchTemplateRequest"}, - "output":{"shape":"ModifyLaunchTemplateResult"}, - "documentation":"

Modifies a launch template. You can specify which version of the launch template to set as the default version. When launching an instance, the default version applies when a launch template version is not specified.

" - }, - "ModifyNetworkInterfaceAttribute":{ - "name":"ModifyNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, - "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time.

" - }, - "ModifyReservedInstances":{ - "name":"ModifyReservedInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReservedInstancesRequest"}, - "output":{"shape":"ModifyReservedInstancesResult"}, - "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySnapshotAttribute":{ - "name":"ModifySnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotAttributeRequest"}, - "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "ModifySpotFleetRequest":{ - "name":"ModifySpotFleetRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySpotFleetRequestRequest"}, - "output":{"shape":"ModifySpotFleetRequestResponse"}, - "documentation":"

Modifies the specified Spot Fleet request.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot pools.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

" - }, - "ModifySubnetAttribute":{ - "name":"ModifySubnetAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySubnetAttributeRequest"}, - "documentation":"

Modifies a subnet attribute. You can only modify one attribute at a time.

" - }, - "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, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

" - }, - "ModifyVolumeAttribute":{ - "name":"ModifyVolumeAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVolumeAttributeRequest"}, - "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" - }, - "ModifyVpcAttribute":{ - "name":"ModifyVpcAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcAttributeRequest"}, - "documentation":"

Modifies the specified attribute of the specified VPC.

" - }, - "ModifyVpcEndpoint":{ - "name":"ModifyVpcEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointRequest"}, - "output":{"shape":"ModifyVpcEndpointResult"}, - "documentation":"

Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface or gateway). For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

" - }, - "ModifyVpcEndpointConnectionNotification":{ - "name":"ModifyVpcEndpointConnectionNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointConnectionNotificationRequest"}, - "output":{"shape":"ModifyVpcEndpointConnectionNotificationResult"}, - "documentation":"

Modifies a connection notification for VPC endpoint or VPC endpoint service. You can change the SNS topic for the notification, or the events for which to be notified.

" - }, - "ModifyVpcEndpointServiceConfiguration":{ - "name":"ModifyVpcEndpointServiceConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointServiceConfigurationRequest"}, - "output":{"shape":"ModifyVpcEndpointServiceConfigurationResult"}, - "documentation":"

Modifies the attributes of your VPC endpoint service configuration. You can change the Network Load Balancers for your service, and you can specify whether acceptance is required for requests to connect to your endpoint service through an interface VPC endpoint.

" - }, - "ModifyVpcEndpointServicePermissions":{ - "name":"ModifyVpcEndpointServicePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcEndpointServicePermissionsRequest"}, - "output":{"shape":"ModifyVpcEndpointServicePermissionsResult"}, - "documentation":"

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (IAM users, IAM roles, and AWS accounts) to connect to your endpoint service.

If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.

" - }, - "ModifyVpcPeeringConnectionOptions":{ - "name":"ModifyVpcPeeringConnectionOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, - "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, - "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable the ability to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in different accounts, each owner must initiate a separate request to modify the peering connection options, depending on whether their VPC was the requester or accepter for the VPC peering connection. If the peered VPCs are in the same account, you can modify the requester and accepter options in the same request. To confirm which VPC is the accepter and requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" - }, - "ModifyVpcTenancy":{ - "name":"ModifyVpcTenancy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyVpcTenancyRequest"}, - "output":{"shape":"ModifyVpcTenancyResult"}, - "documentation":"

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MonitorInstances":{ - "name":"MonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MonitorInstancesRequest"}, - "output":{"shape":"MonitorInstancesResult"}, - "documentation":"

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

To disable detailed monitoring, see .

" - }, - "MoveAddressToVpc":{ - "name":"MoveAddressToVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAddressToVpcRequest"}, - "output":{"shape":"MoveAddressToVpcResult"}, - "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" - }, - "PurchaseHostReservation":{ - "name":"PurchaseHostReservation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseHostReservationRequest"}, - "output":{"shape":"PurchaseHostReservationResult"}, - "documentation":"

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

" - }, - "PurchaseReservedInstancesOffering":{ - "name":"PurchaseReservedInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, - "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, - "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" - }, - "PurchaseScheduledInstances":{ - "name":"PurchaseScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseScheduledInstancesRequest"}, - "output":{"shape":"PurchaseScheduledInstancesResult"}, - "documentation":"

Purchases one or more Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" - }, - "RebootInstances":{ - "name":"RebootInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstancesRequest"}, - "documentation":"

Requests a reboot of one or more instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RegisterImage":{ - "name":"RegisterImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterImageRequest"}, - "output":{"shape":"RegisterImageResult"}, - "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

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 instances launched from such an AMI are not able to connect to package update infrastructure. If you purchase a Reserved Instance offering for one of these Linux distributions and launch instances using an AMI that does not contain the required billing code, your Reserved Instance is not applied to these instances.

To create an AMI for operating systems that require a billing code, 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.

" - }, - "RejectVpcEndpointConnections":{ - "name":"RejectVpcEndpointConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcEndpointConnectionsRequest"}, - "output":{"shape":"RejectVpcEndpointConnectionsResult"}, - "documentation":"

Rejects one or more VPC endpoint connection requests to your VPC endpoint service.

" - }, - "RejectVpcPeeringConnection":{ - "name":"RejectVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectVpcPeeringConnectionRequest"}, - "output":{"shape":"RejectVpcPeeringConnectionResult"}, - "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" - }, - "ReleaseAddress":{ - "name":"ReleaseAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseAddressRequest"}, - "documentation":"

Releases the specified Elastic IP address.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

After releasing an Elastic IP address, it is released to the IP address pool. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it. For more information, see AllocateAddress.

" - }, - "ReleaseHosts":{ - "name":"ReleaseHosts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseHostsRequest"}, - "output":{"shape":"ReleaseHostsResult"}, - "documentation":"

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, for example, ModifyHosts. You must stop or terminate all instances on a host before it can be released.

When Dedicated Hosts are released, it may take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated Hosts. Wait a few minutes and then try again.

Released hosts still appear in a DescribeHosts response.

" - }, - "ReplaceIamInstanceProfileAssociation":{ - "name":"ReplaceIamInstanceProfileAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceIamInstanceProfileAssociationRequest"}, - "output":{"shape":"ReplaceIamInstanceProfileAssociationResult"}, - "documentation":"

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" - }, - "ReplaceNetworkAclAssociation":{ - "name":"ReplaceNetworkAclAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, - "output":{"shape":"ReplaceNetworkAclAssociationResult"}, - "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

This is an idempotent operation.

" - }, - "ReplaceNetworkAclEntry":{ - "name":"ReplaceNetworkAclEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceNetworkAclEntryRequest"}, - "documentation":"

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRoute":{ - "name":"ReplaceRoute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteRequest"}, - "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, or egress-only internet gateway.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" - }, - "ReplaceRouteTableAssociation":{ - "name":"ReplaceRouteTableAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReplaceRouteTableAssociationRequest"}, - "output":{"shape":"ReplaceRouteTableAssociationResult"}, - "documentation":"

Changes the route table associated with a given subnet in a VPC. After the operation completes, the subnet uses the routes in the new route table it's associated with. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use ReplaceRouteTableAssociation to change which table is the main route table in the VPC. You just specify the main route table's association ID and the route table to be the new main route table.

" - }, - "ReportInstanceStatus":{ - "name":"ReportInstanceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReportInstanceStatusRequest"}, - "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" - }, - "RequestSpotFleet":{ - "name":"RequestSpotFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotFleetRequest"}, - "output":{"shape":"RequestSpotFleetResponse"}, - "documentation":"

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Instances. You cannot tag other resource types in a Spot Fleet request because only the instance resource type is supported.

For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances.

" - }, - "RequestSpotInstances":{ - "name":"RequestSpotInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestSpotInstancesRequest"}, - "output":{"shape":"RequestSpotInstancesResult"}, - "documentation":"

Creates a Spot Instance request.

For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances.

" - }, - "ResetFpgaImageAttribute":{ - "name":"ResetFpgaImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetFpgaImageAttributeRequest"}, - "output":{"shape":"ResetFpgaImageAttributeResult"}, - "documentation":"

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

" - }, - "ResetImageAttribute":{ - "name":"ResetImageAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetImageAttributeRequest"}, - "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" - }, - "ResetInstanceAttribute":{ - "name":"ResetInstanceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetInstanceAttributeRequest"}, - "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" - }, - "ResetNetworkInterfaceAttribute":{ - "name":"ResetNetworkInterfaceAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, - "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" - }, - "ResetSnapshotAttribute":{ - "name":"ResetSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetSnapshotAttributeRequest"}, - "documentation":"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RestoreAddressToClassic":{ - "name":"RestoreAddressToClassic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreAddressToClassicRequest"}, - "output":{"shape":"RestoreAddressToClassicResult"}, - "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" - }, - "RevokeSecurityGroupEgress":{ - "name":"RevokeSecurityGroupEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupEgressRequest"}, - "documentation":"

[EC2-VPC only] Removes one or more egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RevokeSecurityGroupIngress":{ - "name":"RevokeSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSecurityGroupIngressRequest"}, - "documentation":"

Removes one or more ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[EC2-Classic security groups only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" - }, - "RunInstances":{ - "name":"RunInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunInstancesRequest"}, - "output":{"shape":"Reservation"}, - "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "RunScheduledInstances":{ - "name":"RunScheduledInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunScheduledInstancesRequest"}, - "output":{"shape":"RunScheduledInstancesResult"}, - "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StartInstances":{ - "name":"StartInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstancesRequest"}, - "output":{"shape":"StartInstancesResult"}, - "documentation":"

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" - }, - "StopInstances":{ - "name":"StopInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstancesRequest"}, - "output":{"shape":"StopInstancesResult"}, - "documentation":"

Stops an Amazon EBS-backed instance.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't start or stop Spot Instances, and you can't stop instance store-backed instances.

When you stop an instance, we shut it down. You can restart your instance at any time. Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Stopping an instance is different to rebooting or terminating it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "TerminateInstances":{ - "name":"TerminateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateInstancesRequest"}, - "output":{"shape":"TerminateInstancesResult"}, - "documentation":"

Shuts down one or more instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UnassignIpv6Addresses":{ - "name":"UnassignIpv6Addresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignIpv6AddressesRequest"}, - "output":{"shape":"UnassignIpv6AddressesResult"}, - "documentation":"

Unassigns one or more IPv6 addresses from a network interface.

" - }, - "UnassignPrivateIpAddresses":{ - "name":"UnassignPrivateIpAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignPrivateIpAddressesRequest"}, - "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" - }, - "UnmonitorInstances":{ - "name":"UnmonitorInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnmonitorInstancesRequest"}, - "output":{"shape":"UnmonitorInstancesResult"}, - "documentation":"

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" - }, - "UpdateSecurityGroupRuleDescriptionsEgress":{ - "name":"UpdateSecurityGroupRuleDescriptionsEgress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressRequest"}, - "output":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressResult"}, - "documentation":"

[EC2-VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" - }, - "UpdateSecurityGroupRuleDescriptionsIngress":{ - "name":"UpdateSecurityGroupRuleDescriptionsIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressRequest"}, - "output":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressResult"}, - "documentation":"

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" - } - }, - "shapes":{ - "AcceptReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "documentation":"

The IDs of the Convertible Reserved Instances to exchange for another Convertible Reserved Instance of the same or higher value.

", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "documentation":"

The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

", - "locationName":"TargetConfiguration" - } - }, - "documentation":"

Contains the parameters for accepting the quote.

" - }, - "AcceptReservedInstancesExchangeQuoteResult":{ - "type":"structure", - "members":{ - "ExchangeId":{ - "shape":"String", - "documentation":"

The ID of the successful exchange.

", - "locationName":"exchangeId" - } - }, - "documentation":"

The result of the exchange and whether it was successful.

" - }, - "AcceptVpcEndpointConnectionsRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "VpcEndpointIds" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the endpoint service.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of one or more interface VPC endpoints.

", - "locationName":"VpcEndpointId" - } - } - }, - "AcceptVpcEndpointConnectionsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the interface endpoints that were not accepted, if applicable.

", - "locationName":"unsuccessful" - } - } - }, - "AcceptVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection. You must specify this parameter in the request.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for AcceptVpcPeeringConnection.

" - }, - "AcceptVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of AcceptVpcPeeringConnection.

" - }, - "AccountAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the account attribute.

", - "locationName":"attributeName" - }, - "AttributeValues":{ - "shape":"AccountAttributeValueList", - "documentation":"

One or more values for the account attribute.

", - "locationName":"attributeValueSet" - } - }, - "documentation":"

Describes an account attribute.

" - }, - "AccountAttributeList":{ - "type":"list", - "member":{ - "shape":"AccountAttribute", - "locationName":"item" - } - }, - "AccountAttributeName":{ - "type":"string", - "enum":[ - "supported-platforms", - "default-vpc" - ] - }, - "AccountAttributeNameStringList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeName", - "locationName":"attributeName" - } - }, - "AccountAttributeValue":{ - "type":"structure", - "members":{ - "AttributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute.

", - "locationName":"attributeValue" - } - }, - "documentation":"

Describes a value of an account attribute.

" - }, - "AccountAttributeValueList":{ - "type":"list", - "member":{ - "shape":"AccountAttributeValue", - "locationName":"item" - } - }, - "ActiveInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "InstanceHealth":{ - "shape":"InstanceHealthStatus", - "documentation":"

The health status of the instance. If the status of either the instance status check or the system status check is impaired, the health status of the instance is unhealthy. Otherwise, the health status is healthy.

", - "locationName":"instanceHealth" - } - }, - "documentation":"

Describes a running instance in a Spot Fleet.

" - }, - "ActiveInstanceSet":{ - "type":"list", - "member":{ - "shape":"ActiveInstance", - "locationName":"item" - } - }, - "ActivityStatus":{ - "type":"string", - "enum":[ - "error", - "pending_fulfillment", - "pending_termination", - "fulfilled" - ] - }, - "Address":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is associated with (if any).

", - "locationName":"instanceId" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The ID representing the association of the address with an instance in a VPC.

", - "locationName":"associationId" - }, - "Domain":{ - "shape":"DomainType", - "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", - "locationName":"domain" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "NetworkInterfaceOwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that owns the network interface.

", - "locationName":"networkInterfaceOwnerId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIpAddress" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Elastic IP address.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "AddressList":{ - "type":"list", - "member":{ - "shape":"Address", - "locationName":"item" - } - }, - "Affinity":{ - "type":"string", - "enum":[ - "default", - "host" - ] - }, - "AllocateAddressRequest":{ - "type":"structure", - "members":{ - "Domain":{ - "shape":"DomainType", - "documentation":"

Set to vpc to allocate the address for use with instances in a VPC.

Default: The address is for use with instances in EC2-Classic.

" - }, - "Address":{ - "shape":"String", - "documentation":"

[EC2-VPC] The Elastic IP address to recover.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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 AllocateAddress.

" - }, - "AllocateAddressResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", - "locationName":"allocationId" - }, - "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.

" - }, - "AllocateHostsRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "InstanceType", - "Quantity" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "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 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" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

Specify the instance type for which to configure your Dedicated Hosts. When you specify the instance type, that is the only instance type that you can launch onto that host.

", - "locationName":"instanceType" - }, - "Quantity":{ - "shape":"Integer", - "documentation":"

The number of Dedicated Hosts to allocate to your account with these parameters.

", - "locationName":"quantity" - } - }, - "documentation":"

Contains the parameters for AllocateHosts.

" - }, - "AllocateHostsResult":{ - "type":"structure", - "members":{ - "HostIds":{ - "shape":"ResponseHostIdList", - "documentation":"

The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host.

", - "locationName":"hostIdSet" - } - }, - "documentation":"

Contains the output of AllocateHosts.

" - }, - "AllocationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AllocationId" - } - }, - "AllocationState":{ - "type":"string", - "enum":[ - "available", - "under-assessment", - "permanent-failure", - "released", - "released-permanent-failure" - ] - }, - "AllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "diversified" - ] - }, - "AllowedPrincipal":{ - "type":"structure", - "members":{ - "PrincipalType":{ - "shape":"PrincipalType", - "documentation":"

The type of principal.

", - "locationName":"principalType" - }, - "Principal":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the principal.

", - "locationName":"principal" - } - }, - "documentation":"

Describes a principal.

" - }, - "AllowedPrincipalSet":{ - "type":"list", - "member":{ - "shape":"AllowedPrincipal", - "locationName":"item" - } - }, - "ArchitectureValues":{ - "type":"string", - "enum":[ - "i386", - "x86_64" - ] - }, - "AssignIpv6AddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

", - "locationName":"ipv6AddressCount" - }, - "Ipv6Addresses":{ - "shape":"Ipv6AddressList", - "documentation":"

One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

", - "locationName":"ipv6Addresses" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "AssignIpv6AddressesResult":{ - "type":"structure", - "members":{ - "AssignedIpv6Addresses":{ - "shape":"Ipv6AddressList", - "documentation":"

The IPv6 addresses assigned to the network interface.

", - "locationName":"assignedIpv6Addresses" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "AssignPrivateIpAddressesRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "AllowReassignment":{ - "shape":"Boolean", - "documentation":"

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", - "locationName":"allowReassignment" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", - "locationName":"privateIpAddress" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", - "locationName":"secondaryPrivateIpAddressCount" - } - }, - "documentation":"

Contains the parameters for AssignPrivateIpAddresses.

" - }, - "AssociateAddressRequest":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address. This is required for EC2-Classic.

" - }, - "AllowReassociation":{ - "shape":"Boolean", - "documentation":"

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", - "locationName":"allowReassociation" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Contains the parameters for AssociateAddress.

" - }, - "AssociateAddressResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateAddress.

" - }, - "AssociateDhcpOptionsRequest":{ - "type":"structure", - "required":[ - "DhcpOptionsId", - "VpcId" - ], - "members":{ - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" - }, - "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":[ - "RouteTableId", - "SubnetId" - ], - "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" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Contains the parameters for AssociateRouteTable.

" - }, - "AssociateRouteTableResult":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The route table association ID. This ID is required for disassociating the route table.

", - "locationName":"associationId" - } - }, - "documentation":"

Contains the output of AssociateRouteTable.

" - }, - "AssociateSubnetCidrBlockRequest":{ - "type":"structure", - "required":[ - "Ipv6CidrBlock", - "SubnetId" - ], - "members":{ - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

", - "locationName":"ipv6CidrBlock" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of your subnet.

", - "locationName":"subnetId" - } - } - }, - "AssociateSubnetCidrBlockResult":{ - "type":"structure", - "members":{ - "Ipv6CidrBlockAssociation":{ - "shape":"SubnetIpv6CidrBlockAssociation", - "documentation":"

Information about the IPv6 CIDR block association.

", - "locationName":"ipv6CidrBlockAssociation" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - } - }, - "AssociateVpcCidrBlockRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "AmazonProvidedIpv6CidrBlock":{ - "shape":"Boolean", - "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", - "locationName":"amazonProvidedIpv6CidrBlock" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

An IPv4 CIDR block to associate with the VPC.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AssociateVpcCidrBlockResult":{ - "type":"structure", - "members":{ - "Ipv6CidrBlockAssociation":{ - "shape":"VpcIpv6CidrBlockAssociation", - "documentation":"

Information about the IPv6 CIDR block association.

", - "locationName":"ipv6CidrBlockAssociation" - }, - "CidrBlockAssociation":{ - "shape":"VpcCidrBlockAssociation", - "documentation":"

Information about the IPv4 CIDR block association.

", - "locationName":"cidrBlockAssociation" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "AssociationIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AssociationId" - } - }, - "AttachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "Groups", - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Groups":{ - "shape":"GroupIdStringList", - "documentation":"

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", - "locationName":"SecurityGroupId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of a ClassicLink-enabled VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for AttachClassicLinkVpc.

" - }, - "AttachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of AttachClassicLinkVpc.

" - }, - "AttachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for AttachInternetGateway.

" - }, - "AttachNetworkInterfaceRequest":{ - "type":"structure", - "required":[ - "DeviceIndex", - "InstanceId", - "NetworkInterfaceId" - ], - "members":{ - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for AttachNetworkInterface.

" - }, - "AttachNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - } - }, - "documentation":"

Contains the output of AttachNetworkInterface.

" - }, - "AttachVolumeRequest":{ - "type":"structure", - "required":[ - "Device", - "InstanceId", - "VolumeId" - ], - "members":{ - "Device":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "VolumeId":{ - "shape":"String", - "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.

" - }, - "AttachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpcId", - "VpnGatewayId" - ], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for AttachVpnGateway.

" - }, - "AttachVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpcAttachment":{ - "shape":"VpcAttachment", - "documentation":"

Information about the attachment.

", - "locationName":"attachment" - } - }, - "documentation":"

Contains the output of AttachVpnGateway.

" - }, - "AttachmentStatus":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached" - ] - }, - "AttributeBooleanValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

The attribute value. The valid values are true or false.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a Boolean value.

" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

The attribute value. The value is case-sensitive.

", - "locationName":"value" - } - }, - "documentation":"

Describes a value for a resource attribute that is a String.

" - }, - "AuthorizeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", - "locationName":"ipPermissions" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", - "locationName":"cidrIp" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify the protocol name or number.

", - "locationName":"ipProtocol" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", - "locationName":"toPort" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", - "locationName":"sourceSecurityGroupOwnerId" - } - }, - "documentation":"

Contains the parameters for AuthorizeSecurityGroupEgress.

" - }, - "AuthorizeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "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. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. Can be used to specify multiple rules in a single command.

" - }, - "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.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code number. For the ICMP/ICMPv6 code number, use -1 to specify all codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for AuthorizeSecurityGroupIngress.

" - }, - "AutoPlacement":{ - "type":"string", - "enum":[ - "on", - "off" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "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" - }, - "ZoneName":{ - "shape":"String", - "documentation":"

The name of the Availability Zone.

", - "locationName":"zoneName" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"item" - } - }, - "AvailabilityZoneMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The message about the Availability Zone.

", - "locationName":"message" - } - }, - "documentation":"

Describes a message about an Availability Zone.

" - }, - "AvailabilityZoneMessageList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZoneMessage", - "locationName":"item" - } - }, - "AvailabilityZoneState":{ - "type":"string", - "enum":[ - "available", - "information", - "impaired", - "unavailable" - ] - }, - "AvailableCapacity":{ - "type":"structure", - "members":{ - "AvailableInstanceCapacity":{ - "shape":"AvailableInstanceCapacityList", - "documentation":"

The total number of instances supported by the Dedicated Host.

", - "locationName":"availableInstanceCapacity" - }, - "AvailableVCpus":{ - "shape":"Integer", - "documentation":"

The number of vCPUs available on the Dedicated Host.

", - "locationName":"availableVCpus" - } - }, - "documentation":"

The capacity information for instances launched onto the Dedicated Host.

" - }, - "AvailableInstanceCapacityList":{ - "type":"list", - "member":{ - "shape":"InstanceCapacity", - "locationName":"item" - } - }, - "BatchState":{ - "type":"string", - "enum":[ - "submitted", - "active", - "cancelled", - "failed", - "cancelled_running", - "cancelled_terminating", - "modifying" - ] - }, - "BillingProductList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "Blob":{"type":"blob"}, - "BlobAttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Blob", - "locationName":"value" - } - } - }, - "BlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

", - "locationName":"virtualName" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "BlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"item" - } - }, - "BlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"BlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "Boolean":{"type":"boolean"}, - "BundleIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"BundleId" - } - }, - "BundleInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Storage" - ], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

" - }, - "Storage":{ - "shape":"Storage", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for BundleInstance.

" - }, - "BundleInstanceResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of BundleInstance.

" - }, - "BundleTask":{ - "type":"structure", - "members":{ - "BundleId":{ - "shape":"String", - "documentation":"

The ID of the bundle task.

", - "locationName":"bundleId" - }, - "BundleTaskError":{ - "shape":"BundleTaskError", - "documentation":"

If the task fails, a description of the error.

", - "locationName":"error" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance associated with this bundle task.

", - "locationName":"instanceId" - }, - "Progress":{ - "shape":"String", - "documentation":"

The level of task completion, as a percent (for example, 20%).

", - "locationName":"progress" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time this task started.

", - "locationName":"startTime" - }, - "State":{ - "shape":"BundleTaskState", - "documentation":"

The state of the task.

", - "locationName":"state" - }, - "Storage":{ - "shape":"Storage", - "documentation":"

The Amazon S3 storage locations.

", - "locationName":"storage" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The time of the most recent update for the task.

", - "locationName":"updateTime" - } - }, - "documentation":"

Describes a bundle task.

" - }, - "BundleTaskError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

", - "locationName":"message" - } - }, - "documentation":"

Describes an error for BundleInstance.

" - }, - "BundleTaskList":{ - "type":"list", - "member":{ - "shape":"BundleTask", - "locationName":"item" - } - }, - "BundleTaskState":{ - "type":"string", - "enum":[ - "pending", - "waiting-for-shutdown", - "bundling", - "storing", - "cancelling", - "complete", - "failed" - ] - }, - "CancelBatchErrorCode":{ - "type":"string", - "enum":[ - "fleetRequestIdDoesNotExist", - "fleetRequestIdMalformed", - "fleetRequestNotInCancellableState", - "unexpectedError" - ] - }, - "CancelBundleTaskRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for CancelBundleTask.

" - }, - "CancelBundleTaskResult":{ - "type":"structure", - "members":{ - "BundleTask":{ - "shape":"BundleTask", - "documentation":"

Information about the bundle task.

", - "locationName":"bundleInstanceTask" - } - }, - "documentation":"

Contains the output of CancelBundleTask.

" - }, - "CancelConversionRequest":{ - "type":"structure", - "required":["ConversionTaskId"], - "members":{ - "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.

", - "locationName":"reasonMessage" - } - }, - "documentation":"

Contains the parameters for CancelConversionTask.

" - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["ExportTaskId"], - "members":{ - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for CancelExportTask.

" - }, - "CancelImportTaskRequest":{ - "type":"structure", - "members":{ - "CancelReason":{ - "shape":"String", - "documentation":"

The reason for canceling the task.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import image or import snapshot task to be canceled.

" - } - }, - "documentation":"

Contains the parameters for CancelImportTask.

" - }, - "CancelImportTaskResult":{ - "type":"structure", - "members":{ - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the task being canceled.

", - "locationName":"importTaskId" - }, - "PreviousState":{ - "shape":"String", - "documentation":"

The current state of the task being canceled.

", - "locationName":"previousState" - }, - "State":{ - "shape":"String", - "documentation":"

The current state of the task being canceled.

", - "locationName":"state" - } - }, - "documentation":"

Contains the output for CancelImportTask.

" - }, - "CancelReservedInstancesListingRequest":{ - "type":"structure", - "required":["ReservedInstancesListingId"], - "members":{ - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - } - }, - "documentation":"

Contains the parameters for CancelReservedInstancesListing.

" - }, - "CancelReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

The Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CancelReservedInstancesListing.

" - }, - "CancelSpotFleetRequestsError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"CancelBatchErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Fleet error.

" - }, - "CancelSpotFleetRequestsErrorItem":{ - "type":"structure", - "required":[ - "Error", - "SpotFleetRequestId" - ], - "members":{ - "Error":{ - "shape":"CancelSpotFleetRequestsError", - "documentation":"

The error.

", - "locationName":"error" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Describes a Spot Fleet request that was not successfully canceled.

" - }, - "CancelSpotFleetRequestsErrorSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsErrorItem", - "locationName":"item" - } - }, - "CancelSpotFleetRequestsRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot Fleet requests.

", - "locationName":"spotFleetRequestId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.

", - "locationName":"terminateInstances" - } - }, - "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsResponse":{ - "type":"structure", - "members":{ - "SuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsSuccessSet", - "documentation":"

Information about the Spot Fleet requests that are successfully canceled.

", - "locationName":"successfulFleetRequestSet" - }, - "UnsuccessfulFleetRequests":{ - "shape":"CancelSpotFleetRequestsErrorSet", - "documentation":"

Information about the Spot Fleet requests that are not successfully canceled.

", - "locationName":"unsuccessfulFleetRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotFleetRequests.

" - }, - "CancelSpotFleetRequestsSuccessItem":{ - "type":"structure", - "required":[ - "CurrentSpotFleetRequestState", - "PreviousSpotFleetRequestState", - "SpotFleetRequestId" - ], - "members":{ - "CurrentSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The current state of the Spot Fleet request.

", - "locationName":"currentSpotFleetRequestState" - }, - "PreviousSpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The previous state of the Spot Fleet request.

", - "locationName":"previousSpotFleetRequestState" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Describes a Spot Fleet request that was successfully canceled.

" - }, - "CancelSpotFleetRequestsSuccessSet":{ - "type":"list", - "member":{ - "shape":"CancelSpotFleetRequestsSuccessItem", - "locationName":"item" - } - }, - "CancelSpotInstanceRequestState":{ - "type":"string", - "enum":[ - "active", - "open", - "closed", - "cancelled", - "completed" - ] - }, - "CancelSpotInstanceRequestsRequest":{ - "type":"structure", - "required":["SpotInstanceRequestIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot Instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" - }, - "CancelSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "CancelledSpotInstanceRequests":{ - "shape":"CancelledSpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of CancelSpotInstanceRequests.

" - }, - "CancelledSpotInstanceRequest":{ - "type":"structure", - "members":{ - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "State":{ - "shape":"CancelSpotInstanceRequestState", - "documentation":"

The state of the Spot Instance request.

", - "locationName":"state" - } - }, - "documentation":"

Describes a request to cancel a Spot Instance.

" - }, - "CancelledSpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"CancelledSpotInstanceRequest", - "locationName":"item" - } - }, - "CidrBlock":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block.

", - "locationName":"cidrBlock" - } - }, - "documentation":"

Describes an IPv4 CIDR block.

" - }, - "CidrBlockSet":{ - "type":"list", - "member":{ - "shape":"CidrBlock", - "locationName":"item" - } - }, - "ClassicLinkDnsSupport":{ - "type":"structure", - "members":{ - "ClassicLinkDnsSupported":{ - "shape":"Boolean", - "documentation":"

Indicates whether ClassicLink DNS support is enabled for the VPC.

", - "locationName":"classicLinkDnsSupported" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" - }, - "ClassicLinkDnsSupportList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkDnsSupport", - "locationName":"item" - } - }, - "ClassicLinkInstance":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

A list of security groups.

", - "locationName":"groupSet" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a linked EC2-Classic instance.

" - }, - "ClassicLinkInstanceList":{ - "type":"list", - "member":{ - "shape":"ClassicLinkInstance", - "locationName":"item" - } - }, - "ClassicLoadBalancer":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the load balancer.

", - "locationName":"name" - } - }, - "documentation":"

Describes a Classic Load Balancer.

" - }, - "ClassicLoadBalancers":{ - "type":"list", - "member":{ - "shape":"ClassicLoadBalancer", - "locationName":"item" - }, - "max":5, - "min":1 - }, - "ClassicLoadBalancersConfig":{ - "type":"structure", - "required":["ClassicLoadBalancers"], - "members":{ - "ClassicLoadBalancers":{ - "shape":"ClassicLoadBalancers", - "documentation":"

One or more Classic Load Balancers.

", - "locationName":"classicLoadBalancers" - } - }, - "documentation":"

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these Classic Load Balancers.

" - }, - "ClientData":{ - "type":"structure", - "members":{ - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment about the disk upload.

" - }, - "UploadEnd":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload ends.

" - }, - "UploadSize":{ - "shape":"Double", - "documentation":"

The size of the uploaded disk image, in GiB.

" - }, - "UploadStart":{ - "shape":"DateTime", - "documentation":"

The time that the disk upload starts.

" - } - }, - "documentation":"

Describes the client-specific data.

" - }, - "ConfirmProductInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "ProductCode" - ], - "members":{ - "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.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "ConfirmProductInstanceResult":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", - "locationName":"ownerId" - }, - "Return":{ - "shape":"Boolean", - "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ConfirmProductInstance.

" - }, - "ConnectionNotification":{ - "type":"structure", - "members":{ - "ConnectionNotificationId":{ - "shape":"String", - "documentation":"

The ID of the notification.

", - "locationName":"connectionNotificationId" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the endpoint service.

", - "locationName":"serviceId" - }, - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "ConnectionNotificationType":{ - "shape":"ConnectionNotificationType", - "documentation":"

The type of notification.

", - "locationName":"connectionNotificationType" - }, - "ConnectionNotificationArn":{ - "shape":"String", - "documentation":"

The ARN of the SNS topic for the notification.

", - "locationName":"connectionNotificationArn" - }, - "ConnectionEvents":{ - "shape":"ValueStringList", - "documentation":"

The events for the notification. Valid values are Accept, Connect, Delete, and Reject.

", - "locationName":"connectionEvents" - }, - "ConnectionNotificationState":{ - "shape":"ConnectionNotificationState", - "documentation":"

The state of the notification.

", - "locationName":"connectionNotificationState" - } - }, - "documentation":"

Describes a connection notification for a VPC endpoint or VPC endpoint service.

" - }, - "ConnectionNotificationSet":{ - "type":"list", - "member":{ - "shape":"ConnectionNotification", - "locationName":"item" - } - }, - "ConnectionNotificationState":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "ConnectionNotificationType":{ - "type":"string", - "enum":["Topic"] - }, - "ContainerFormat":{ - "type":"string", - "enum":["ova"] - }, - "ConversionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ConversionTask":{ - "type":"structure", - "members":{ - "ConversionTaskId":{ - "shape":"String", - "documentation":"

The ID of the conversion task.

", - "locationName":"conversionTaskId" - }, - "ExpirationTime":{ - "shape":"String", - "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", - "locationName":"expirationTime" - }, - "ImportInstance":{ - "shape":"ImportInstanceTaskDetails", - "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", - "locationName":"importInstance" - }, - "ImportVolume":{ - "shape":"ImportVolumeTaskDetails", - "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", - "locationName":"importVolume" - }, - "State":{ - "shape":"ConversionTaskState", - "documentation":"

The state of the conversion task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the conversion task.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the task.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a conversion task.

" - }, - "ConversionTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "CopyFpgaImageRequest":{ - "type":"structure", - "required":[ - "SourceFpgaImageId", - "SourceRegion" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "SourceFpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the source AFI.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the new AFI.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name for the new AFI. The default is the name of the source AFI.

" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The region that contains the source AFI.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - } - } - }, - "CopyFpgaImageResult":{ - "type":"structure", - "members":{ - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the new AFI.

", - "locationName":"fpgaImageId" - } - } - }, - "CopyImageRequest":{ - "type":"structure", - "required":[ - "Name", - "SourceImageId", - "SourceRegion" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the new AMI in the destination region.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the destination snapshots of the copied image should be encrypted. 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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

An identifier for 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. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias, in the form alias/ExampleAlias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the region that the snapshot is being copied to.

", - "locationName":"kmsKeyId" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the new AMI in the destination region.

" - }, - "SourceImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI to copy.

" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The name of the region that contains the AMI to copy.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CopyImage.

" - }, - "CopyImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CopyImage.

" - }, - "CopySnapshotRequest":{ - "type":"structure", - "required":[ - "SourceRegion", - "SourceSnapshotId" - ], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the EBS snapshot.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination region in a PresignedUrl parameter, where it is required.

The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is specified using the --region parameter or the default region in your AWS configuration file.

", - "locationName":"destinationRegion" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

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.

", - "locationName":"encrypted" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

An identifier for 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. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. The action will eventually fail.

", - "locationName":"kmsKeyId" - }, - "PresignedUrl":{ - "shape":"String", - "documentation":"

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query Requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", - "locationName":"presignedUrl" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The ID of the region that contains the snapshot to be copied.

" - }, - "SourceSnapshotId":{ - "shape":"String", - "documentation":"

The ID of the EBS snapshot to copy.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the new snapshot.

", - "locationName":"snapshotId" - } - }, - "documentation":"

Contains the output of CopySnapshot.

" - }, - "CpuOptions":{ - "type":"structure", - "members":{ - "CoreCount":{ - "shape":"Integer", - "documentation":"

The number of CPU cores for the instance.

", - "locationName":"coreCount" - }, - "ThreadsPerCore":{ - "shape":"Integer", - "documentation":"

The number of threads per CPU core.

", - "locationName":"threadsPerCore" - } - }, - "documentation":"

The CPU options for the instance.

" - }, - "CpuOptionsRequest":{ - "type":"structure", - "members":{ - "CoreCount":{ - "shape":"Integer", - "documentation":"

The number of CPU cores for the instance.

" - }, - "ThreadsPerCore":{ - "shape":"Integer", - "documentation":"

The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

" - } - }, - "documentation":"

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

" - }, - "CreateCustomerGatewayRequest":{ - "type":"structure", - "required":[ - "BgpAsn", - "PublicIp", - "Type" - ], - "members":{ - "BgpAsn":{ - "shape":"Integer", - "documentation":"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", - "locationName":"IpAddress" - }, - "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.

" - }, - "CreateCustomerGatewayResult":{ - "type":"structure", - "members":{ - "CustomerGateway":{ - "shape":"CustomerGateway", - "documentation":"

Information about the customer gateway.

", - "locationName":"customerGateway" - } - }, - "documentation":"

Contains the output of CreateCustomerGateway.

" - }, - "CreateDefaultSubnetRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which to create the default subnet.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - }, - "CreateDefaultSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - } - }, - "CreateDefaultVpcRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "documentation":"

Contains the parameters for CreateDefaultVpc.

" - }, - "CreateDefaultVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - }, - "documentation":"

Contains the output of CreateDefaultVpc.

" - }, - "CreateDhcpOptionsRequest":{ - "type":"structure", - "required":["DhcpConfigurations"], - "members":{ - "DhcpConfigurations":{ - "shape":"NewDhcpConfigurationList", - "documentation":"

A DHCP configuration option.

", - "locationName":"dhcpConfiguration" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateDhcpOptions.

" - }, - "CreateDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptions", - "documentation":"

A set of DHCP options.

", - "locationName":"dhcpOptions" - } - }, - "documentation":"

Contains the output of CreateDhcpOptions.

" - }, - "CreateEgressOnlyInternetGatewayRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for which to create the egress-only internet gateway.

" - } - } - }, - "CreateEgressOnlyInternetGatewayResult":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", - "locationName":"clientToken" - }, - "EgressOnlyInternetGateway":{ - "shape":"EgressOnlyInternetGateway", - "documentation":"

Information about the egress-only internet gateway.

", - "locationName":"egressOnlyInternetGateway" - } - } - }, - "CreateFleetRequest":{ - "type":"structure", - "required":[ - "LaunchTemplateConfigs", - "TargetCapacitySpecification" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - }, - "SpotOptions":{ - "shape":"SpotOptionsRequest", - "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet.

" - }, - "OnDemandOptions":{ - "shape":"OnDemandOptionsRequest", - "documentation":"

The allocation strategy of On-Demand Instances in an EC2 Fleet.

" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"FleetExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" - }, - "LaunchTemplateConfigs":{ - "shape":"FleetLaunchTemplateConfigListRequest", - "documentation":"

The configuration for the EC2 Fleet.

" - }, - "TargetCapacitySpecification":{ - "shape":"TargetCapacitySpecificationRequest", - "documentation":"

The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and DefaultCapacityType structure.

" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "documentation":"

Indicates whether running instances should be terminated when the EC2 Fleet expires.

" - }, - "Type":{ - "shape":"FleetType", - "documentation":"

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests. It does not attempt to replenish instances if capacity is diminished, and does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain.

" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

" - }, - "ReplaceUnhealthyInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether EC2 Fleet should replace unhealthy instances.

" - }, - "TagSpecifications":{ - "shape":"TagSpecificationList", - "documentation":"

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.

", - "locationName":"TagSpecification" - } - } - }, - "CreateFleetResult":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

", - "locationName":"fleetId" - } - } - }, - "CreateFlowLogsRequest":{ - "type":"structure", - "required":[ - "ResourceIds", - "ResourceType", - "TrafficType" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that's used to post flow logs to a log group.

" - }, - "LogGroupName":{ - "shape":"String", - "documentation":"

The name of the log group.

" - }, - "ResourceIds":{ - "shape":"ValueStringList", - "documentation":"

One or more subnet, network interface, or VPC IDs.

Constraints: Maximum of 1000 resources

", - "locationName":"ResourceId" - }, - "ResourceType":{ - "shape":"FlowLogsResourceType", - "documentation":"

The type of resource on which to create the flow log.

" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic to log.

" - }, - "LogDestinationType":{ - "shape":"LogDestinationType", - "documentation":"

Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.

Default: cloud-watch-logs

" - }, - "LogDestination":{ - "shape":"String", - "documentation":"

Specifies the destination to which the flow log data is to be published. Flow log data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.

If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group.

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/.

" - } - }, - "documentation":"

Contains the parameters for CreateFlowLogs.

" - }, - "CreateFlowLogsResult":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", - "locationName":"clientToken" - }, - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the flow logs.

", - "locationName":"flowLogIdSet" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be created successfully.

", - "locationName":"unsuccessful" - } - }, - "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":[ - "InstanceId", - "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.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", - "locationName":"name" - }, - "NoReboot":{ - "shape":"Boolean", - "documentation":"

By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

", - "locationName":"noReboot" - } - }, - "documentation":"

Contains the parameters for CreateImage.

" - }, - "CreateImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the new AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of CreateImage.

" - }, - "CreateInstanceExportTaskRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", - "locationName":"description" - }, - "ExportToS3Task":{ - "shape":"ExportToS3TaskSpecification", - "documentation":"

The format and location for an instance export task.

", - "locationName":"exportToS3" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Contains the parameters for CreateInstanceExportTask.

" - }, - "CreateInstanceExportTaskResult":{ - "type":"structure", - "members":{ - "ExportTask":{ - "shape":"ExportTask", - "documentation":"

Information about the instance export task.

", - "locationName":"exportTask" - } - }, - "documentation":"

Contains the output for CreateInstanceExportTask.

" - }, - "CreateInternetGatewayRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateInternetGateway.

" - }, - "CreateInternetGatewayResult":{ - "type":"structure", - "members":{ - "InternetGateway":{ - "shape":"InternetGateway", - "documentation":"

Information about the internet gateway.

", - "locationName":"internetGateway" - } - }, - "documentation":"

Contains the output of CreateInternetGateway.

" - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["KeyName"], - "members":{ - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateKeyPair.

" - }, - "CreateLaunchTemplateRequest":{ - "type":"structure", - "required":[ - "LaunchTemplateName", - "LaunchTemplateData" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

A name for the launch template.

" - }, - "VersionDescription":{ - "shape":"VersionDescription", - "documentation":"

A description for the first version of the launch template.

" - }, - "LaunchTemplateData":{ - "shape":"RequestLaunchTemplateData", - "documentation":"

The information for the launch template.

" - } - } - }, - "CreateLaunchTemplateResult":{ - "type":"structure", - "members":{ - "LaunchTemplate":{ - "shape":"LaunchTemplate", - "documentation":"

Information about the launch template.

", - "locationName":"launchTemplate" - } - } - }, - "CreateLaunchTemplateVersionRequest":{ - "type":"structure", - "required":["LaunchTemplateData"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - }, - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "SourceVersion":{ - "shape":"String", - "documentation":"

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData.

" - }, - "VersionDescription":{ - "shape":"VersionDescription", - "documentation":"

A description for the version of the launch template.

" - }, - "LaunchTemplateData":{ - "shape":"RequestLaunchTemplateData", - "documentation":"

The information for the launch template.

" - } - } - }, - "CreateLaunchTemplateVersionResult":{ - "type":"structure", - "members":{ - "LaunchTemplateVersion":{ - "shape":"LaunchTemplateVersion", - "documentation":"

Information about the launch template version.

", - "locationName":"launchTemplateVersion" - } - } - }, - "CreateNatGatewayRequest":{ - "type":"structure", - "required":[ - "AllocationId", - "SubnetId" - ], - "members":{ - "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.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

Constraint: Maximum 64 ASCII characters.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The subnet in which to create the NAT gateway.

" - } - }, - "documentation":"

Contains the parameters for CreateNatGateway.

" - }, - "CreateNatGatewayResult":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", - "locationName":"clientToken" - }, - "NatGateway":{ - "shape":"NatGateway", - "documentation":"

Information about the NAT gateway.

", - "locationName":"natGateway" - } - }, - "documentation":"

Contains the output of CreateNatGateway.

" - }, - "CreateNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "Egress", - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", - "locationName":"egress" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying 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" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 or all means all protocols. If you specify all, -1, or a protocol number other than 6 (tcp), 17 (udp), or 1 (icmp), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", - "locationName":"ruleNumber" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAclEntry.

" - }, - "CreateNetworkAclRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateNetworkAcl.

" - }, - "CreateNetworkAclResult":{ - "type":"structure", - "members":{ - "NetworkAcl":{ - "shape":"NetworkAcl", - "documentation":"

Information about the network ACL.

", - "locationName":"networkAcl" - } - }, - "documentation":"

Contains the output of CreateNetworkAcl.

" - }, - "CreateNetworkInterfacePermissionRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "Permission" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "AwsAccountId":{ - "shape":"String", - "documentation":"

The AWS account ID.

" - }, - "AwsService":{ - "shape":"String", - "documentation":"

The AWS service. Currently not supported.

" - }, - "Permission":{ - "shape":"InterfacePermissionType", - "documentation":"

The type of permission to grant.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "documentation":"

Contains the parameters for CreateNetworkInterfacePermission.

" - }, - "CreateNetworkInterfacePermissionResult":{ - "type":"structure", - "members":{ - "InterfacePermission":{ - "shape":"NetworkInterfacePermission", - "documentation":"

Information about the permission for the network interface.

", - "locationName":"interfacePermission" - } - }, - "documentation":"

Contains the output of CreateNetworkInterfacePermission.

" - }, - "CreateNetworkInterfaceRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the network interface.

", - "locationName":"description" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.

", - "locationName":"ipv6AddressCount" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

", - "locationName":"ipv6Addresses" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

", - "locationName":"privateIpAddress" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IPv4 addresses.

", - "locationName":"privateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet to associate with the network interface.

", - "locationName":"subnetId" - } - }, - "documentation":"

Contains the parameters for CreateNetworkInterface.

" - }, - "CreateNetworkInterfaceResult":{ - "type":"structure", - "members":{ - "NetworkInterface":{ - "shape":"NetworkInterface", - "documentation":"

Information about the network interface.

", - "locationName":"networkInterface" - } - }, - "documentation":"

Contains the output of CreateNetworkInterface.

" - }, - "CreatePlacementGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "Strategy" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

A name for the placement group. Must be unique within the scope of your account for the region.

Constraints: Up to 255 ASCII characters

", - "locationName":"groupName" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - }, - "documentation":"

Contains the parameters for CreatePlacementGroup.

" - }, - "CreateReservedInstancesListingRequest":{ - "type":"structure", - "required":[ - "ClientToken", - "InstanceCount", - "PriceSchedules", - "ReservedInstancesId" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", - "locationName":"instanceCount" - }, - "PriceSchedules":{ - "shape":"PriceScheduleSpecificationList", - "documentation":"

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", - "locationName":"priceSchedules" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the active Standard Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" - }, - "CreateReservedInstancesListingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Standard Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of CreateReservedInstancesListing.

" - }, - "CreateRouteRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationIpv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

", - "locationName":"destinationIpv6CidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EgressOnlyInternetGatewayId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for CreateRoute.

" - }, - "CreateRouteResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of CreateRoute.

" - }, - "CreateRouteTableRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for CreateRouteTable.

" - }, - "CreateRouteTableResult":{ - "type":"structure", - "members":{ - "RouteTable":{ - "shape":"RouteTable", - "documentation":"

Information about the route table.

", - "locationName":"routeTable" - } - }, - "documentation":"

Contains the output of CreateRouteTable.

" - }, - "CreateSecurityGroupRequest":{ - "type":"structure", - "required":[ - "Description", - "GroupName" - ], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the security group. This is informational only.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", - "locationName":"GroupDescription" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

Constraints: Up to 255 characters in length. Cannot start with sg-.

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

" - }, - "VpcId":{ - "shape":"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.

" - }, - "CreateSecurityGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Contains the output of CreateSecurityGroup.

" - }, - "CreateSnapshotRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the EBS volume.

" - }, - "TagSpecifications":{ - "shape":"TagSpecificationList", - "documentation":"

The tags to apply to the snapshot during creation.

", - "locationName":"TagSpecification" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateSnapshot.

" - }, - "CreateSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket in which to store the Spot Instance data feed.

", - "locationName":"bucket" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Prefix":{ - "shape":"String", - "documentation":"

A prefix for the data feed file names.

", - "locationName":"prefix" - } - }, - "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" - }, - "CreateSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" - }, - "CreateSubnetRequest":{ - "type":"structure", - "required":[ - "CidrBlock", - "VpcId" - ], - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone 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", - "documentation":"

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

" - }, - "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 CreateSubnet.

" - }, - "CreateSubnetResult":{ - "type":"structure", - "members":{ - "Subnet":{ - "shape":"Subnet", - "documentation":"

Information about the subnet.

", - "locationName":"subnet" - } - }, - "documentation":"

Contains the output of CreateSubnet.

" - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "Resources", - "Tags" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources to tag. For example, ami-1a2b3c4d.

", - "locationName":"ResourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", - "locationName":"Tag" - } - }, - "documentation":"

Contains the parameters for CreateTags.

" - }, - "CreateVolumePermission":{ - "type":"structure", - "members":{ - "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.

" - }, - "CreateVolumePermissionList":{ - "type":"list", - "member":{ - "shape":"CreateVolumePermission", - "locationName":"item" - } - }, - "CreateVolumePermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Adds a specific AWS account ID or group to a volume's list of create volume permissions.

" - }, - "Remove":{ - "shape":"CreateVolumePermissionList", - "documentation":"

Removes a specific AWS account ID or group from a volume's list of create volume permissions.

" - } - }, - "documentation":"

Describes modifications to the permissions for a volume.

" - }, - "CreateVolumeRequest":{ - "type":"structure", - "required":["AvailabilityZone"], - "members":{ - "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":"

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":"

The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 32000 IOPS for volumes in most regions. For exceptions, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

This parameter is valid only for Provisioned IOPS SSD (io1) volumes.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

An identifier for 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. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. The action will eventually fail.

" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiBs.

Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384 for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which to create the volume.

" - }, - "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.

Defaults: If no volume type is specified, the default is standard in us-east-1, eu-west-1, eu-central-1, us-west-2, us-west-1, sa-east-1, ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-south-1, us-gov-west-1, and cn-north-1. In all other regions, EBS defaults to gp2.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "TagSpecifications":{ - "shape":"TagSpecificationList", - "documentation":"

The tags to apply to the volume during creation.

", - "locationName":"TagSpecification" - } - }, - "documentation":"

Contains the parameters for CreateVolume.

" - }, - "CreateVpcEndpointConnectionNotificationRequest":{ - "type":"structure", - "required":[ - "ConnectionNotificationArn", - "ConnectionEvents" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the endpoint service.

" - }, - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the endpoint.

" - }, - "ConnectionNotificationArn":{ - "shape":"String", - "documentation":"

The ARN of the SNS topic for the notifications.

" - }, - "ConnectionEvents":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" - } - } - }, - "CreateVpcEndpointConnectionNotificationResult":{ - "type":"structure", - "members":{ - "ConnectionNotification":{ - "shape":"ConnectionNotification", - "documentation":"

Information about the notification.

", - "locationName":"connectionNotification" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "locationName":"clientToken" - } - } - }, - "CreateVpcEndpointRequest":{ - "type":"structure", - "required":[ - "VpcId", - "ServiceName" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointType":{ - "shape":"VpcEndpointType", - "documentation":"

The type of endpoint.

Default: Gateway

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the endpoint will be used.

" - }, - "ServiceName":{ - "shape":"String", - "documentation":"

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.

" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

(Gateway endpoint) A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

(Gateway endpoint) One or more route table IDs.

", - "locationName":"RouteTableId" - }, - "SubnetIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) The ID of one or more subnets in which to create an endpoint network interface.

", - "locationName":"SubnetId" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.

", - "locationName":"SecurityGroupId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" - }, - "PrivateDnsEnabled":{ - "shape":"Boolean", - "documentation":"

(Interface endpoint) Indicate whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the region (for example, kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

" - } - }, - "documentation":"

Contains the parameters for CreateVpcEndpoint.

" - }, - "CreateVpcEndpointResult":{ - "type":"structure", - "members":{ - "VpcEndpoint":{ - "shape":"VpcEndpoint", - "documentation":"

Information about the endpoint.

", - "locationName":"vpcEndpoint" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "locationName":"clientToken" - } - }, - "documentation":"

Contains the output of CreateVpcEndpoint.

" - }, - "CreateVpcEndpointServiceConfigurationRequest":{ - "type":"structure", - "required":["NetworkLoadBalancerArns"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "AcceptanceRequired":{ - "shape":"Boolean", - "documentation":"

Indicate whether requests from service consumers to create an endpoint to your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.

" - }, - "NetworkLoadBalancerArns":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service.

", - "locationName":"NetworkLoadBalancerArn" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" - } - } - }, - "CreateVpcEndpointServiceConfigurationResult":{ - "type":"structure", - "members":{ - "ServiceConfiguration":{ - "shape":"ServiceConfiguration", - "documentation":"

Information about the service configuration.

", - "locationName":"serviceConfiguration" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "locationName":"clientToken" - } - } - }, - "CreateVpcPeeringConnectionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PeerOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the accepter VPC.

Default: Your AWS account ID

", - "locationName":"peerOwnerId" - }, - "PeerVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.

", - "locationName":"peerVpcId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the requester VPC. You must specify this parameter in the request.

", - "locationName":"vpcId" - }, - "PeerRegion":{ - "shape":"String", - "documentation":"

The region code for the accepter VPC, if the accepter VPC is located in a region other than the region in which you make the request.

Default: The region in which you make the request.

" - } - }, - "documentation":"

Contains the parameters for CreateVpcPeeringConnection.

" - }, - "CreateVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnection":{ - "shape":"VpcPeeringConnection", - "documentation":"

Information about the VPC peering connection.

", - "locationName":"vpcPeeringConnection" - } - }, - "documentation":"

Contains the output of CreateVpcPeeringConnection.

" - }, - "CreateVpcRequest":{ - "type":"structure", - "required":["CidrBlock"], - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" - }, - "AmazonProvidedIpv6CidrBlock":{ - "shape":"Boolean", - "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

", - "locationName":"amazonProvidedIpv6CidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "CreateVpcResult":{ - "type":"structure", - "members":{ - "Vpc":{ - "shape":"Vpc", - "documentation":"

Information about the VPC.

", - "locationName":"vpc" - } - }, - "documentation":"

Contains the output of CreateVpc.

" - }, - "CreateVpnConnectionRequest":{ - "type":"structure", - "required":[ - "CustomerGatewayId", - "Type", - "VpnGatewayId" - ], - "members":{ - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection (ipsec.1).

" - }, - "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":"

The options for the VPN connection.

", - "locationName":"options" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnection.

" - }, - "CreateVpnConnectionResult":{ - "type":"structure", - "members":{ - "VpnConnection":{ - "shape":"VpnConnection", - "documentation":"

Information about the VPN connection.

", - "locationName":"vpnConnection" - } - }, - "documentation":"

Contains the output of CreateVpnConnection.

" - }, - "CreateVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer network.

" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - }, - "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" - }, - "CreateVpnGatewayRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the virtual private gateway.

" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection this virtual private gateway supports.

" - }, - "AmazonSideAsn":{ - "shape":"Long", - "documentation":"

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

Default: 64512

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for CreateVpnGateway.

" - }, - "CreateVpnGatewayResult":{ - "type":"structure", - "members":{ - "VpnGateway":{ - "shape":"VpnGateway", - "documentation":"

Information about the virtual private gateway.

", - "locationName":"vpnGateway" - } - }, - "documentation":"

Contains the output of CreateVpnGateway.

" - }, - "CreditSpecification":{ - "type":"structure", - "members":{ - "CpuCredits":{ - "shape":"String", - "documentation":"

The credit option for CPU usage of a T2 instance. Valid values are standard and unlimited.

", - "locationName":"cpuCredits" - } - }, - "documentation":"

Describes the credit option for CPU usage of a T2 instance.

" - }, - "CreditSpecificationRequest":{ - "type":"structure", - "required":["CpuCredits"], - "members":{ - "CpuCredits":{ - "shape":"String", - "documentation":"

The credit option for CPU usage of a T2 instance. Valid values are standard and unlimited.

" - } - }, - "documentation":"

The credit option for CPU usage of a T2 instance.

" - }, - "CurrencyCodeValues":{ - "type":"string", - "enum":["USD"] - }, - "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).

", - "locationName":"state" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", - "locationName":"type" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the customer gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a customer gateway.

" - }, - "CustomerGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CustomerGatewayId" - } - }, - "CustomerGatewayList":{ - "type":"list", - "member":{ - "shape":"CustomerGateway", - "locationName":"item" - } - }, - "DatafeedSubscriptionState":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "DateTime":{"type":"timestamp"}, - "DefaultTargetCapacityType":{ - "type":"string", - "enum":[ - "spot", - "on-demand" - ] - }, - "DeleteCustomerGatewayRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteCustomerGateway.

" - }, - "DeleteDhcpOptionsRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteDhcpOptions.

" - }, - "DeleteEgressOnlyInternetGatewayRequest":{ - "type":"structure", - "required":["EgressOnlyInternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "EgressOnlyInternetGatewayId":{ - "shape":"EgressOnlyInternetGatewayId", - "documentation":"

The ID of the egress-only internet gateway.

" - } - } - }, - "DeleteEgressOnlyInternetGatewayResult":{ - "type":"structure", - "members":{ - "ReturnCode":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"returnCode" - } - } - }, - "DeleteFleetError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"DeleteFleetErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the error code.

", - "locationName":"message" - } - }, - "documentation":"

Describes an EC2 Fleet error.

" - }, - "DeleteFleetErrorCode":{ - "type":"string", - "enum":[ - "fleetIdDoesNotExist", - "fleetIdMalformed", - "fleetNotInDeletableState", - "unexpectedError" - ] - }, - "DeleteFleetErrorItem":{ - "type":"structure", - "members":{ - "Error":{ - "shape":"DeleteFleetError", - "documentation":"

The error.

", - "locationName":"error" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

", - "locationName":"fleetId" - } - }, - "documentation":"

Describes an EC2 Fleet that was not successfully deleted.

" - }, - "DeleteFleetErrorSet":{ - "type":"list", - "member":{ - "shape":"DeleteFleetErrorItem", - "locationName":"item" - } - }, - "DeleteFleetSuccessItem":{ - "type":"structure", - "members":{ - "CurrentFleetState":{ - "shape":"FleetStateCode", - "documentation":"

The current state of the EC2 Fleet.

", - "locationName":"currentFleetState" - }, - "PreviousFleetState":{ - "shape":"FleetStateCode", - "documentation":"

The previous state of the EC2 Fleet.

", - "locationName":"previousFleetState" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

", - "locationName":"fleetId" - } - }, - "documentation":"

Describes an EC2 Fleet that was successfully deleted.

" - }, - "DeleteFleetSuccessSet":{ - "type":"list", - "member":{ - "shape":"DeleteFleetSuccessItem", - "locationName":"item" - } - }, - "DeleteFleetsRequest":{ - "type":"structure", - "required":[ - "FleetIds", - "TerminateInstances" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FleetIds":{ - "shape":"FleetIdSet", - "documentation":"

The IDs of the EC2 Fleets.

", - "locationName":"FleetId" - }, - "TerminateInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether to terminate instances for an EC2 Fleet if it is deleted successfully.

" - } - } - }, - "DeleteFleetsResult":{ - "type":"structure", - "members":{ - "SuccessfulFleetDeletions":{ - "shape":"DeleteFleetSuccessSet", - "documentation":"

Information about the EC2 Fleets that are successfully deleted.

", - "locationName":"successfulFleetDeletionSet" - }, - "UnsuccessfulFleetDeletions":{ - "shape":"DeleteFleetErrorSet", - "documentation":"

Information about the EC2 Fleets that are not successfully deleted.

", - "locationName":"unsuccessfulFleetDeletionSet" - } - } - }, - "DeleteFlowLogsRequest":{ - "type":"structure", - "required":["FlowLogIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - } - }, - "documentation":"

Contains the parameters for DeleteFlowLogs.

" - }, - "DeleteFlowLogsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the flow logs that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteFlowLogs.

" - }, - "DeleteFpgaImageRequest":{ - "type":"structure", - "required":["FpgaImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the AFI.

" - } - } - }, - "DeleteFpgaImageResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - } - }, - "DeleteInternetGatewayRequest":{ - "type":"structure", - "required":["InternetGatewayId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the internet gateway.

", - "locationName":"internetGatewayId" - } - }, - "documentation":"

Contains the parameters for DeleteInternetGateway.

" - }, - "DeleteKeyPairRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteKeyPair.

" - }, - "DeleteLaunchTemplateRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" - } - } - }, - "DeleteLaunchTemplateResult":{ - "type":"structure", - "members":{ - "LaunchTemplate":{ - "shape":"LaunchTemplate", - "documentation":"

Information about the launch template.

", - "locationName":"launchTemplate" - } - } - }, - "DeleteLaunchTemplateVersionsRequest":{ - "type":"structure", - "required":["Versions"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "Versions":{ - "shape":"VersionStringList", - "documentation":"

The version numbers of one or more launch template versions to delete.

", - "locationName":"LaunchTemplateVersion" - } - } - }, - "DeleteLaunchTemplateVersionsResponseErrorItem":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

", - "locationName":"launchTemplateId" - }, - "LaunchTemplateName":{ - "shape":"String", - "documentation":"

The name of the launch template.

", - "locationName":"launchTemplateName" - }, - "VersionNumber":{ - "shape":"Long", - "documentation":"

The version number of the launch template.

", - "locationName":"versionNumber" - }, - "ResponseError":{ - "shape":"ResponseError", - "documentation":"

Information about the error.

", - "locationName":"responseError" - } - }, - "documentation":"

Describes a launch template version that could not be deleted.

" - }, - "DeleteLaunchTemplateVersionsResponseErrorSet":{ - "type":"list", - "member":{ - "shape":"DeleteLaunchTemplateVersionsResponseErrorItem", - "locationName":"item" - } - }, - "DeleteLaunchTemplateVersionsResponseSuccessItem":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

", - "locationName":"launchTemplateId" - }, - "LaunchTemplateName":{ - "shape":"String", - "documentation":"

The name of the launch template.

", - "locationName":"launchTemplateName" - }, - "VersionNumber":{ - "shape":"Long", - "documentation":"

The version number of the launch template.

", - "locationName":"versionNumber" - } - }, - "documentation":"

Describes a launch template version that was successfully deleted.

" - }, - "DeleteLaunchTemplateVersionsResponseSuccessSet":{ - "type":"list", - "member":{ - "shape":"DeleteLaunchTemplateVersionsResponseSuccessItem", - "locationName":"item" - } - }, - "DeleteLaunchTemplateVersionsResult":{ - "type":"structure", - "members":{ - "SuccessfullyDeletedLaunchTemplateVersions":{ - "shape":"DeleteLaunchTemplateVersionsResponseSuccessSet", - "documentation":"

Information about the launch template versions that were successfully deleted.

", - "locationName":"successfullyDeletedLaunchTemplateVersionSet" - }, - "UnsuccessfullyDeletedLaunchTemplateVersions":{ - "shape":"DeleteLaunchTemplateVersionsResponseErrorSet", - "documentation":"

Information about the launch template versions that could not be deleted.

", - "locationName":"unsuccessfullyDeletedLaunchTemplateVersionSet" - } - } - }, - "DeleteNatGatewayRequest":{ - "type":"structure", - "required":["NatGatewayId"], - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

" - } - }, - "documentation":"

Contains the parameters for DeleteNatGateway.

" - }, - "DeleteNatGatewayResult":{ - "type":"structure", - "members":{ - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - } - }, - "documentation":"

Contains the output of DeleteNatGateway.

" - }, - "DeleteNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "Egress", - "NetworkAclId", - "RuleNumber" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether the rule is an egress rule.

", - "locationName":"egress" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number of the entry to delete.

", - "locationName":"ruleNumber" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkAclEntry.

" - }, - "DeleteNetworkAclRequest":{ - "type":"structure", - "required":["NetworkAclId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkAcl.

" - }, - "DeleteNetworkInterfacePermissionRequest":{ - "type":"structure", - "required":["NetworkInterfacePermissionId"], - "members":{ - "NetworkInterfacePermissionId":{ - "shape":"String", - "documentation":"

The ID of the network interface permission.

" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specify true to remove the permission even if the network interface is attached to an instance.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkInterfacePermission.

" - }, - "DeleteNetworkInterfacePermissionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds, otherwise returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output for DeleteNetworkInterfacePermission.

" - }, - "DeleteNetworkInterfaceRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DeleteNetworkInterface.

" - }, - "DeletePlacementGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - } - }, - "documentation":"

Contains the parameters for DeletePlacementGroup.

" - }, - "DeleteRouteRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationCidrBlock" - }, - "DestinationIpv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", - "locationName":"destinationIpv6CidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for DeleteRoute.

" - }, - "DeleteRouteTableRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for DeleteRouteTable.

" - }, - "DeleteSecurityGroupRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DeleteSnapshotRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteSnapshot.

" - }, - "DeleteSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" - }, - "DeleteSubnetRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "SubnetId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for DeleteSubnet.

" - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":["Resources"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Resources":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of one or more resources.

", - "locationName":"resourceId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

", - "locationName":"tag" - } - }, - "documentation":"

Contains the parameters for DeleteTags.

" - }, - "DeleteVolumeRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteVolume.

" - }, - "DeleteVpcEndpointConnectionNotificationsRequest":{ - "type":"structure", - "required":["ConnectionNotificationIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ConnectionNotificationIds":{ - "shape":"ValueStringList", - "documentation":"

One or more notification IDs.

", - "locationName":"ConnectionNotificationId" - } - } - }, - "DeleteVpcEndpointConnectionNotificationsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the notifications that could not be deleted successfully.

", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcEndpointServiceConfigurationsRequest":{ - "type":"structure", - "required":["ServiceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of one or more services.

", - "locationName":"ServiceId" - } - } - }, - "DeleteVpcEndpointServiceConfigurationsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the service configurations that were not deleted, if applicable.

", - "locationName":"unsuccessful" - } - } - }, - "DeleteVpcEndpointsRequest":{ - "type":"structure", - "required":["VpcEndpointIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more VPC endpoint IDs.

", - "locationName":"VpcEndpointId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcEndpoints.

" - }, - "DeleteVpcEndpointsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the VPC endpoints that were not successfully deleted.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of DeleteVpcEndpoints.

" - }, - "DeleteVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for DeleteVpcPeeringConnection.

" - }, - "DeleteVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DeleteVpcPeeringConnection.

" - }, - "DeleteVpcRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteVpc.

" - }, - "DeleteVpnConnectionRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnection.

" - }, - "DeleteVpnConnectionRouteRequest":{ - "type":"structure", - "required":[ - "DestinationCidrBlock", - "VpnConnectionId" - ], - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer network.

" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

" - } - }, - "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" - }, - "DeleteVpnGatewayRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeleteVpnGateway.

" - }, - "DeregisterImageRequest":{ - "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" - } - }, - "documentation":"

Contains the parameters for DeregisterImage.

" - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "AccountAttributes":{ - "shape":"AccountAttributeList", - "documentation":"

Information about one or more account attributes.

", - "locationName":"accountAttributeSet" - } - }, - "documentation":"

Contains the output of DescribeAccountAttributes.

" - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • allocation-id - [EC2-VPC] The allocation ID for the address.

  • association-id - [EC2-VPC] The association ID for the address.

  • domain - Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

  • instance-id - The ID of the instance the address is associated with, if any.

  • network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

  • network-interface-owner-id - The AWS account ID of the owner.

  • private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

  • public-ip - The Elastic IP address.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "PublicIps":{ - "shape":"PublicIpStringList", - "documentation":"

[EC2-Classic] One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

", - "locationName":"PublicIp" - }, - "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.

" - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

Information about one or more Elastic IP addresses.

", - "locationName":"addressesSet" - } - }, - "documentation":"

Contains the output of DescribeAddresses.

" - }, - "DescribeAggregateIdFormatRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - } - } - }, - "DescribeAggregateIdFormatResult":{ - "type":"structure", - "members":{ - "UseLongIdsAggregated":{ - "shape":"Boolean", - "documentation":"

Indicates whether all resource types in the region are configured to use longer IDs. This value is only true if all users are configured to use longer IDs for all resources types in the region.

", - "locationName":"useLongIdsAggregated" - }, - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about each resource's ID format.

", - "locationName":"statusSet" - } - } - }, - "DescribeAvailabilityZonesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

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" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DescribeAvailabilityZonesResult":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

Information about one or more Availability Zones.

", - "locationName":"availabilityZoneInfo" - } - }, - "documentation":"

Contains the output of DescribeAvailabiltyZones.

" - }, - "DescribeBundleTasksRequest":{ - "type":"structure", - "members":{ - "BundleIds":{ - "shape":"BundleIdStringList", - "documentation":"

One or more bundle task IDs.

Default: Describes all your bundle tasks.

", - "locationName":"BundleId" - }, - "Filters":{ - "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.

" - }, - "DescribeBundleTasksResult":{ - "type":"structure", - "members":{ - "BundleTasks":{ - "shape":"BundleTaskList", - "documentation":"

Information about one or more bundle tasks.

", - "locationName":"bundleInstanceTasksSet" - } - }, - "documentation":"

Contains the output of DescribeBundleTasks.

" - }, - "DescribeClassicLinkInstancesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC to which the instance is linked.

    vpc-id - The ID of the VPC that the instance is linked to.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", - "locationName":"InstanceId" - }, - "MaxResults":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for DescribeClassicLinkInstances.

" - }, - "DescribeClassicLinkInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"ClassicLinkInstanceList", - "documentation":"

Information about one or more linked EC2-Classic instances.

", - "locationName":"instancesSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeClassicLinkInstances.

" - }, - "DescribeConversionTaskList":{ - "type":"list", - "member":{ - "shape":"ConversionTask", - "locationName":"item" - } - }, - "DescribeConversionTasksRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "DescribeConversionTasksResult":{ - "type":"structure", - "members":{ - "ConversionTasks":{ - "shape":"DescribeConversionTaskList", - "documentation":"

Information about the conversion tasks.

", - "locationName":"conversionTasks" - } - }, - "documentation":"

Contains the output for DescribeConversionTasks.

" - }, - "DescribeCustomerGatewaysRequest":{ - "type":"structure", - "members":{ - "CustomerGatewayIds":{ - "shape":"CustomerGatewayIdStringList", - "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", - "locationName":"CustomerGatewayId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeCustomerGateways.

" - }, - "DescribeCustomerGatewaysResult":{ - "type":"structure", - "members":{ - "CustomerGateways":{ - "shape":"CustomerGatewayList", - "documentation":"

Information about one or more customer gateways.

", - "locationName":"customerGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeCustomerGateways.

" - }, - "DescribeDhcpOptionsRequest":{ - "type":"structure", - "members":{ - "DhcpOptionsIds":{ - "shape":"DhcpOptionsIdStringList", - "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", - "locationName":"DhcpOptionsId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a 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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeDhcpOptions.

" - }, - "DescribeDhcpOptionsResult":{ - "type":"structure", - "members":{ - "DhcpOptions":{ - "shape":"DhcpOptionsList", - "documentation":"

Information about one or more DHCP options sets.

", - "locationName":"dhcpOptionsSet" - } - }, - "documentation":"

Contains the output of DescribeDhcpOptions.

" - }, - "DescribeEgressOnlyInternetGatewaysRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "EgressOnlyInternetGatewayIds":{ - "shape":"EgressOnlyInternetGatewayIdList", - "documentation":"

One or more egress-only internet gateway IDs.

", - "locationName":"EgressOnlyInternetGatewayId" - }, - "MaxResults":{ - "shape":"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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - } - }, - "DescribeEgressOnlyInternetGatewaysResult":{ - "type":"structure", - "members":{ - "EgressOnlyInternetGateways":{ - "shape":"EgressOnlyInternetGatewayList", - "documentation":"

Information about the egress-only internet gateways.

", - "locationName":"egressOnlyInternetGatewaySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

", - "locationName":"nextToken" - } - } - }, - "DescribeElasticGpusRequest":{ - "type":"structure", - "members":{ - "ElasticGpuIds":{ - "shape":"ElasticGpuIdSet", - "documentation":"

One or more Elastic GPU IDs.

", - "locationName":"ElasticGpuId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone in which the Elastic GPU resides.

  • elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic GPU (ATTACHED).

  • elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic GPU is associated.

", - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - } - } - }, - "DescribeElasticGpusResult":{ - "type":"structure", - "members":{ - "ElasticGpuSet":{ - "shape":"ElasticGpuSet", - "documentation":"

Information about the Elastic GPUs.

", - "locationName":"elasticGpuSet" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The total number of items to return. If the total number of items available is more than the value specified in max-items then a Next-Token will be provided in the output that you can use to resume pagination.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "ExportTaskIds":{ - "shape":"ExportTaskIdStringList", - "documentation":"

One or more export task IDs.

", - "locationName":"exportTaskId" - } - }, - "documentation":"

Contains the parameters for DescribeExportTasks.

" - }, - "DescribeExportTasksResult":{ - "type":"structure", - "members":{ - "ExportTasks":{ - "shape":"ExportTaskList", - "documentation":"

Information about the export tasks.

", - "locationName":"exportTaskSet" - } - }, - "documentation":"

Contains the output for DescribeExportTasks.

" - }, - "DescribeFleetHistoryRequest":{ - "type":"structure", - "required":[ - "FleetId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "EventType":{ - "shape":"FleetEventType", - "documentation":"

The type of events to describe. By default, all events are described.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

" - } - } - }, - "DescribeFleetHistoryResult":{ - "type":"structure", - "members":{ - "HistoryRecords":{ - "shape":"HistoryRecordSet", - "documentation":"

Information about the events in the history of the EC2 Fleet.

", - "locationName":"historyRecordSet" - }, - "LastEvaluatedTime":{ - "shape":"DateTime", - "documentation":"

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more results, this value is not present.

", - "locationName":"lastEvaluatedTime" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC Fleet.

", - "locationName":"fleetId" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"startTime" - } - } - }, - "DescribeFleetInstancesRequest":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-type - The instance type.

", - "locationName":"Filter" - } - } - }, - "DescribeFleetInstancesResult":{ - "type":"structure", - "members":{ - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "documentation":"

The running instances. This list is refreshed periodically and might be out of date.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

", - "locationName":"fleetId" - } - } - }, - "DescribeFleetsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

" - }, - "FleetIds":{ - "shape":"FleetIdSet", - "documentation":"

The ID of the EC2 Fleets.

", - "locationName":"FleetId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

  • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

  • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

  • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

  • type - The type of request (request | maintain).

", - "locationName":"Filter" - } - } - }, - "DescribeFleetsResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - }, - "Fleets":{ - "shape":"FleetSet", - "documentation":"

Information about the EC2 Fleets.

", - "locationName":"fleetSet" - } - } - }, - "DescribeFlowLogsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • log-destination-type - The type of destination to which the flow log publishes data. Possible destination types include cloud-watch-logs and S3.

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL).

" - }, - "FlowLogIds":{ - "shape":"ValueStringList", - "documentation":"

One or more flow log IDs.

", - "locationName":"FlowLogId" - }, - "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.

" - } - }, - "documentation":"

Contains the parameters for DescribeFlowLogs.

" - }, - "DescribeFlowLogsResult":{ - "type":"structure", - "members":{ - "FlowLogs":{ - "shape":"FlowLogSet", - "documentation":"

Information about the flow logs.

", - "locationName":"flowLogSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeFlowLogs.

" - }, - "DescribeFpgaImageAttributeRequest":{ - "type":"structure", - "required":[ - "FpgaImageId", - "Attribute" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the AFI.

" - }, - "Attribute":{ - "shape":"FpgaImageAttributeName", - "documentation":"

The AFI attribute.

" - } - } - }, - "DescribeFpgaImageAttributeResult":{ - "type":"structure", - "members":{ - "FpgaImageAttribute":{ - "shape":"FpgaImageAttribute", - "documentation":"

Information about the attribute.

", - "locationName":"fpgaImageAttribute" - } - } - }, - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • update-time - The time of the most recent update.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next page of results.

" - }, - "MaxResults":{ - "shape":"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":{ - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-family - The instance family of the offering (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" - }, - "MaxDuration":{ - "shape":"Integer", - "documentation":"

This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" - }, - "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":{ - "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":{ - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-family - The instance family (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

" - }, - "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 receive an error.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

" - } - } - }, - "DescribeHostReservationsResult":{ - "type":"structure", - "members":{ - "HostReservationSet":{ - "shape":"HostReservationSet", - "documentation":"

Details about the reservation's configuration.

", - "locationName":"hostReservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeHostsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • availability-zone - The Availability Zone of the host.

  • client-token - The idempotency token that you provided when you allocated the host.

  • host-reservation-id - The ID of the reservation assigned to this host.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"filter" - }, - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", - "locationName":"hostId" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error. You cannot specify this parameter and the host IDs parameter in the same request.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeHosts.

" - }, - "DescribeHostsResult":{ - "type":"structure", - "members":{ - "Hosts":{ - "shape":"HostList", - "documentation":"

Information about the Dedicated Hosts.

", - "locationName":"hostSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "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":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

" - } - }, - "documentation":"

Contains the parameters for DescribeIdFormat.

" - }, - "DescribeIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resource.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdFormat.

" - }, - "DescribeIdentityIdFormatRequest":{ - "type":"structure", - "required":["PrincipalArn"], - "members":{ - "PrincipalArn":{ - "shape":"String", - "documentation":"

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", - "locationName":"principalArn" - }, - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

", - "locationName":"resource" - } - }, - "documentation":"

Contains the parameters for DescribeIdentityIdFormat.

" - }, - "DescribeIdentityIdFormatResult":{ - "type":"structure", - "members":{ - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

Information about the ID format for the resources.

", - "locationName":"statusSet" - } - }, - "documentation":"

Contains the output of DescribeIdentityIdFormat.

" - }, - "DescribeImageAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "ImageId" - ], - "members":{ - "Attribute":{ - "shape":"ImageAttributeName", - "documentation":"

The AMI attribute.

Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI.

" - }, - "ImageId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for DescribeImageAttribute.

" - }, - "DescribeImagesRequest":{ - "type":"structure", - "members":{ - "ExecutableUsers":{ - "shape":"ExecutableByStringList", - "documentation":"

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

", - "locationName":"ExecutableBy" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

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 specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", - "locationName":"Filter" - }, - "ImageIds":{ - "shape":"ImageIdStringList", - "documentation":"

One or more image IDs.

Default: Describes all images available to you.

", - "locationName":"ImageId" - }, - "Owners":{ - "shape":"OwnerStringList", - "documentation":"

Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.

", - "locationName":"Owner" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeImages.

" - }, - "DescribeImagesResult":{ - "type":"structure", - "members":{ - "Images":{ - "shape":"ImageList", - "documentation":"

Information about one or more images.

", - "locationName":"imagesSet" - } - }, - "documentation":"

Contains the output of DescribeImages.

" - }, - "DescribeImportImageTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, deleted.

" - }, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "documentation":"

A list of import image task IDs.

", - "locationName":"ImportTaskId" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

A token that indicates the next page of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportImageTasks.

" - }, - "DescribeImportImageTasksResult":{ - "type":"structure", - "members":{ - "ImportImageTasks":{ - "shape":"ImportImageTaskList", - "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importImageTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportImageTasks.

" - }, - "DescribeImportSnapshotTasksRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

" - }, - "ImportTaskIds":{ - "shape":"ImportTaskIdList", - "documentation":"

A list of import snapshot task IDs.

", - "locationName":"ImportTaskId" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

A token that indicates the next page of results.

" - } - }, - "documentation":"

Contains the parameters for DescribeImportSnapshotTasks.

" - }, - "DescribeImportSnapshotTasksResult":{ - "type":"structure", - "members":{ - "ImportSnapshotTasks":{ - "shape":"ImportSnapshotTaskList", - "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", - "locationName":"importSnapshotTaskSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeImportSnapshotTasks.

" - }, - "DescribeInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "InstanceId" - ], - "members":{ - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", - "locationName":"attribute" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceAttribute.

" - }, - "DescribeInstanceCreditSpecificationsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • instance-id - The ID of the instance.

", - "locationName":"Filter" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 1000 explicitly specified instance IDs.

", - "locationName":"InstanceId" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - } - }, - "DescribeInstanceCreditSpecificationsResult":{ - "type":"structure", - "members":{ - "InstanceCreditSpecifications":{ - "shape":"InstanceCreditSpecificationList", - "documentation":"

Information about the credit option for CPU usage of an instance.

", - "locationName":"instanceCreditSpecificationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeInstanceStatusRequest":{ - "type":"structure", - "members":{ - "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 used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", - "locationName":"Filter" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", - "locationName":"InstanceId" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "IncludeAllInstances":{ - "shape":"Boolean", - "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", - "locationName":"includeAllInstances" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceStatus.

" - }, - "DescribeInstanceStatusResult":{ - "type":"structure", - "members":{ - "InstanceStatuses":{ - "shape":"InstanceStatusList", - "documentation":"

One or more instance status descriptions.

", - "locationName":"instanceStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstanceStatus.

" - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "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 specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • 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 used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • 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 get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", - "locationName":"Filter" - }, - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

Default: Describes all your instances.

", - "locationName":"InstanceId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeInstances.

" - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Reservations":{ - "shape":"ReservationList", - "documentation":"

Zero or more reservations.

", - "locationName":"reservationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeInstances.

" - }, - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayIds":{ - "shape":"ValueStringList", - "documentation":"

One or more internet gateway IDs.

Default: Describes all your internet gateways.

", - "locationName":"internetGatewayId" - } - }, - "documentation":"

Contains the parameters for DescribeInternetGateways.

" - }, - "DescribeInternetGatewaysResult":{ - "type":"structure", - "members":{ - "InternetGateways":{ - "shape":"InternetGatewayList", - "documentation":"

Information about one or more internet gateways.

", - "locationName":"internetGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeInternetGateways.

" - }, - "DescribeKeyPairsRequest":{ - "type":"structure", - "members":{ - "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" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DescribeKeyPairsResult":{ - "type":"structure", - "members":{ - "KeyPairs":{ - "shape":"KeyPairList", - "documentation":"

Information about one or more key pairs.

", - "locationName":"keySet" - } - }, - "documentation":"

Contains the output of DescribeKeyPairs.

" - }, - "DescribeLaunchTemplateVersionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "Versions":{ - "shape":"VersionStringList", - "documentation":"

One or more versions of the launch template.

", - "locationName":"LaunchTemplateVersion" - }, - "MinVersion":{ - "shape":"String", - "documentation":"

The version number after which to describe launch template versions.

" - }, - "MaxVersion":{ - "shape":"String", - "documentation":"

The version number up to which to describe launch template versions.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • create-time - The time the launch template version was created.

  • ebs-optimized - A boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • iam-instance-profile - The ARN of the IAM instance profile.

  • image-id - The ID of the AMI.

  • instance-type - The instance type.

  • is-default-version - A boolean that indicates whether the launch template version is the default version.

  • kernel-id - The kernel ID.

  • ram-disk-id - The RAM disk ID.

", - "locationName":"Filter" - } - } - }, - "DescribeLaunchTemplateVersionsResult":{ - "type":"structure", - "members":{ - "LaunchTemplateVersions":{ - "shape":"LaunchTemplateVersionSet", - "documentation":"

Information about the launch template versions.

", - "locationName":"launchTemplateVersionSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeLaunchTemplatesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "LaunchTemplateIds":{ - "shape":"ValueStringList", - "documentation":"

One or more launch template IDs.

", - "locationName":"LaunchTemplateId" - }, - "LaunchTemplateNames":{ - "shape":"LaunchTemplateNameStringList", - "documentation":"

One or more launch template names.

", - "locationName":"LaunchTemplateName" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • create-time - The time the launch template was created.

  • launch-template-name - The name of the launch template.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"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.

" - } - } - }, - "DescribeLaunchTemplatesResult":{ - "type":"structure", - "members":{ - "LaunchTemplates":{ - "shape":"LaunchTemplateSet", - "documentation":"

Information about the launch templates.

", - "locationName":"launchTemplates" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeMovingAddressesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

", - "locationName":"filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "MaxResults":{ - "shape":"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" - }, - "PublicIps":{ - "shape":"ValueStringList", - "documentation":"

One or more Elastic IP addresses.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for DescribeMovingAddresses.

" - }, - "DescribeMovingAddressesResult":{ - "type":"structure", - "members":{ - "MovingAddressStatuses":{ - "shape":"MovingAddressStatusSet", - "documentation":"

The status for each Elastic IP address.

", - "locationName":"movingAddressStatusSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeMovingAddresses.

" - }, - "DescribeNatGatewaysRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

" - }, - "MaxResults":{ - "shape":"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.

" - } - }, - "documentation":"

Contains the parameters for DescribeNatGateways.

" - }, - "DescribeNatGatewaysResult":{ - "type":"structure", - "members":{ - "NatGateways":{ - "shape":"NatGatewayList", - "documentation":"

Information about the NAT gateways.

", - "locationName":"natGatewaySet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeNatGateways.

" - }, - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network ACL.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkAclIds":{ - "shape":"ValueStringList", - "documentation":"

One or more network ACL IDs.

Default: Describes all your network ACLs.

", - "locationName":"NetworkAclId" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkAcls.

" - }, - "DescribeNetworkAclsResult":{ - "type":"structure", - "members":{ - "NetworkAcls":{ - "shape":"NetworkAclList", - "documentation":"

Information about one or more network ACLs.

", - "locationName":"networkAclSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkAcls.

" - }, - "DescribeNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "Attribute":{ - "shape":"NetworkInterfaceAttribute", - "documentation":"

The attribute of the network interface. This parameter is required.

", - "locationName":"attribute" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfaceAttributeResult":{ - "type":"structure", - "members":{ - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The attachment (if any) of the network interface.

", - "locationName":"attachment" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

The description of the network interface.

", - "locationName":"description" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

The security groups associated with the network interface.

", - "locationName":"groupSet" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled.

", - "locationName":"sourceDestCheck" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" - }, - "DescribeNetworkInterfacePermissionsRequest":{ - "type":"structure", - "members":{ - "NetworkInterfacePermissionIds":{ - "shape":"NetworkInterfacePermissionIdList", - "documentation":"

One or more network interface permission IDs.

", - "locationName":"NetworkInterfacePermissionId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • network-interface-permission.network-interface-permission-id - The ID of the permission.

  • network-interface-permission.network-interface-id - The ID of the network interface.

  • network-interface-permission.aws-account-id - The AWS account ID.

  • network-interface-permission.aws-service - The AWS service.

  • network-interface-permission.permission - The type of permission (INSTANCE-ATTACH | EIP-ASSOCIATE).

", - "locationName":"Filter" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"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. If this parameter is not specified, up to 50 results are returned by default.

" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfacePermissions.

" - }, - "DescribeNetworkInterfacePermissionsResult":{ - "type":"structure", - "members":{ - "NetworkInterfacePermissions":{ - "shape":"NetworkInterfacePermissionList", - "documentation":"

The network interface permissions.

", - "locationName":"networkInterfacePermissions" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output for DescribeNetworkInterfacePermissions.

" - }, - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network interface.

", - "locationName":"filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceIds":{ - "shape":"NetworkInterfaceIdList", - "documentation":"

One or more network interface IDs.

Default: Describes all your network interfaces.

", - "locationName":"NetworkInterfaceId" - } - }, - "documentation":"

Contains the parameters for DescribeNetworkInterfaces.

" - }, - "DescribeNetworkInterfacesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaces":{ - "shape":"NetworkInterfaceList", - "documentation":"

Information about one or more network interfaces.

", - "locationName":"networkInterfaceSet" - } - }, - "documentation":"

Contains the output of DescribeNetworkInterfaces.

" - }, - "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 | spread).

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupNames":{ - "shape":"PlacementGroupStringList", - "documentation":"

One or more placement group names.

Default: Describes all your placement groups, or only those otherwise specified.

", - "locationName":"groupName" - } - }, - "documentation":"

Contains the parameters for DescribePlacementGroups.

" - }, - "DescribePlacementGroupsResult":{ - "type":"structure", - "members":{ - "PlacementGroups":{ - "shape":"PlacementGroupList", - "documentation":"

One or more placement groups.

", - "locationName":"placementGroupSet" - } - }, - "documentation":"

Contains the output of DescribePlacementGroups.

" - }, - "DescribePrefixListsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • prefix-list-id: The ID of a prefix list.

  • prefix-list-name: The name of a prefix list.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of 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.

" - }, - "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.

" - }, - "DescribePrefixListsResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - }, - "PrefixLists":{ - "shape":"PrefixListSet", - "documentation":"

All available prefix lists.

", - "locationName":"prefixListSet" - } - }, - "documentation":"

Contains the output of DescribePrefixLists.

" - }, - "DescribePrincipalIdFormatRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Resources":{ - "shape":"ResourceList", - "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

", - "locationName":"Resource" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - } - } - }, - "DescribePrincipalIdFormatResult":{ - "type":"structure", - "members":{ - "Principals":{ - "shape":"PrincipalIdFormatList", - "documentation":"

Information about the ID format settings for the ARN.

", - "locationName":"principalSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeRegionsRequest":{ - "type":"structure", - "members":{ - "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" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DescribeRegionsResult":{ - "type":"structure", - "members":{ - "Regions":{ - "shape":"RegionList", - "documentation":"

Information about one or more regions.

", - "locationName":"regionInfo" - } - }, - "documentation":"

Contains the output of DescribeRegions.

" - }, - "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.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

One or more Reserved Instance listing IDs.

", - "locationName":"reservedInstancesListingId" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesListingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesListings":{ - "shape":"ReservedInstancesListingList", - "documentation":"

Information about the Reserved Instance listing.

", - "locationName":"reservedInstancesListingsSet" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesListings.

" - }, - "DescribeReservedInstancesModificationsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • client-token - The idempotency token for the modification request.

  • create-date - The time when the modification request was created.

  • effective-date - The time when the modification becomes effective.

  • modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

  • modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

  • modification-result.target-configuration.instance-count - The number of new Reserved Instances.

  • modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

  • modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

  • reserved-instances-id - The ID of the Reserved Instances modified.

  • reserved-instances-modification-id - The ID of the modification request.

  • status - The status of the Reserved Instances modification request (processing | fulfilled | failed).

  • status-message - The reason for the status.

  • update-date - The time when the modification request was last updated.

", - "locationName":"Filter" - }, - "ReservedInstancesModificationIds":{ - "shape":"ReservedInstancesModificationIdStringList", - "documentation":"

IDs for the submitted modification request.

", - "locationName":"ReservedInstancesModificationId" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesModifications.

" - }, - "DescribeReservedInstancesModificationsResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ReservedInstancesModifications":{ - "shape":"ReservedInstancesModificationList", - "documentation":"

The Reserved Instance modification information.

", - "locationName":"reservedInstancesModificationsSet" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" - }, - "DescribeReservedInstancesOfferingsRequest":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the Reserved Instance can be used.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (for example, one year or three years), in seconds (31536000 | 94608000).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • marketplace - Set to true to show only Reserved Instance Marketplace offerings. When this filter is not used, which is the default behavior, all offerings from both AWS and the Reserved Instance Marketplace are listed.

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • scope - The scope of the Reserved Instance (Availability Zone or Region).

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" - }, - "IncludeMarketplace":{ - "shape":"Boolean", - "documentation":"

Include Reserved Instance Marketplace offerings in the response.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" - }, - "MaxDuration":{ - "shape":"Long", - "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" - }, - "MaxInstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" - }, - "MinDuration":{ - "shape":"Long", - "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

The offering class of the Reserved Instance. Can be standard or convertible.

" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

" - }, - "ReservedInstancesOfferingIds":{ - "shape":"ReservedInstancesOfferingIdStringList", - "documentation":"

One or more Reserved Instances offering IDs.

", - "locationName":"ReservedInstancesOfferingId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", - "locationName":"instanceTenancy" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100.

Default: 100

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", - "locationName":"offeringType" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesOfferingsResult":{ - "type":"structure", - "members":{ - "ReservedInstancesOfferings":{ - "shape":"ReservedInstancesOfferingList", - "documentation":"

A list of Reserved Instances offerings.

", - "locationName":"reservedInstancesOfferingsSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeReservedInstancesOfferings.

" - }, - "DescribeReservedInstancesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

  • end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • scope - The scope of the Reserved Instance (Region or Availability Zone).

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).

  • reserved-instances-id - The ID of the Reserved Instance.

  • start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

  • state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", - "locationName":"Filter" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

Describes whether the Reserved Instance is Standard or Convertible.

" - }, - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "documentation":"

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", - "locationName":"ReservedInstancesId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", - "locationName":"offeringType" - } - }, - "documentation":"

Contains the parameters for DescribeReservedInstances.

" - }, - "DescribeReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstances":{ - "shape":"ReservedInstancesList", - "documentation":"

A list of Reserved Instances.

", - "locationName":"reservedInstancesSet" - } - }, - "documentation":"

Contains the output for DescribeReservedInstances.

" - }, - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the route table.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

One or more route table IDs.

Default: Describes all your route tables.

", - "locationName":"RouteTableId" - } - }, - "documentation":"

Contains the parameters for DescribeRouteTables.

" - }, - "DescribeRouteTablesResult":{ - "type":"structure", - "members":{ - "RouteTables":{ - "shape":"RouteTableList", - "documentation":"

Information about one or more route tables.

", - "locationName":"routeTableSet" - } - }, - "documentation":"

Contains the output of DescribeRouteTables.

" - }, - "DescribeScheduledInstanceAvailabilityRequest":{ - "type":"structure", - "required":[ - "FirstSlotStartTimeRange", - "Recurrence" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

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.

" - }, - "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.

" - }, - "MaxSlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" - }, - "MinSlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrenceRequest", - "documentation":"

The schedule recurrence.

" - } - }, - "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstanceAvailabilityResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceAvailabilitySet":{ - "shape":"ScheduledInstanceAvailabilitySet", - "documentation":"

Information about the available Scheduled Instances.

", - "locationName":"scheduledInstanceAvailabilitySet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstanceAvailability.

" - }, - "DescribeScheduledInstancesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

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.

", - "locationName":"ScheduledInstanceId" - }, - "SlotStartTimeRange":{ - "shape":"SlotStartTimeRangeRequest", - "documentation":"

The time period for the first schedule to start.

" - } - }, - "documentation":"

Contains the parameters for DescribeScheduledInstances.

" - }, - "DescribeScheduledInstancesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "ScheduledInstanceSet":{ - "shape":"ScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of DescribeScheduledInstances.

" - }, - "DescribeSecurityGroupReferencesRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - }, - "GroupId":{ - "shape":"GroupIds", - "documentation":"

One or more security group IDs in your account.

" - } - } - }, - "DescribeSecurityGroupReferencesResult":{ - "type":"structure", - "members":{ - "SecurityGroupReferenceSet":{ - "shape":"SecurityGroupReferences", - "documentation":"

Information about the VPCs with the referencing security groups.

", - "locationName":"securityGroupReferenceSet" - } - } - }, - "DescribeSecurityGroupsRequest":{ - "type":"structure", - "members":{ - "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.cidr - An IPv4 CIDR block for an outbound security group rule.

  • egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.group-name - The name of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which a security group rule allows outbound access.

  • egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp or a protocol number).

  • egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • egress.ip-permission.user-id - The ID of an AWS account that has been referenced in an outbound security group rule.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule.

  • ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule.

  • ip-permission.group-name - The name of a security group that has been referenced in an inbound security group rule.

  • ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule.

  • ip-permission.prefix-list-id - The ID (prefix) of the AWS service from which a security group rule allows inbound access.

  • ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been referenced in an inbound security group rule.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC specified when the security group was created.

", - "locationName":"Filter" - }, - "GroupIds":{ - "shape":"GroupIdStringList", - "documentation":"

One or more security group IDs. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", - "locationName":"GroupId" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "documentation":"

[EC2-Classic and default VPC only] 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" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value. This value can be between 5 and 1000. If this parameter is not specified, then all results are returned.

" - } - }, - "documentation":"

Contains the parameters for DescribeSecurityGroups.

" - }, - "DescribeSecurityGroupsResult":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroupList", - "documentation":"

Information about one or more security groups.

", - "locationName":"securityGroupInfo" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSecurityGroups.

" - }, - "DescribeSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "SnapshotId" - ], - "members":{ - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute you would like to view.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshotAttribute.

" - }, - "DescribeSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "CreateVolumePermissions":{ - "shape":"CreateVolumePermissionList", - "documentation":"

A list of permissions for creating volumes from the snapshot.

", - "locationName":"createVolumePermission" - }, - "ProductCodes":{ - "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.

" - }, - "DescribeSnapshotsRequest":{ - "type":"structure", - "members":{ - "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 console.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of snapshot results returned by DescribeSnapshots in paginated output. When this parameter is used, DescribeSnapshots only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeSnapshots request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeSnapshots returns all results. You cannot specify this parameter and the snapshot IDs parameter in the same request.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value returned from a previous paginated DescribeSnapshots request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

" - }, - "OwnerIds":{ - "shape":"OwnerStringList", - "documentation":"

Returns the snapshots owned by the specified owner. Multiple owners can be specified.

", - "locationName":"Owner" - }, - "RestorableByUserIds":{ - "shape":"RestorableByStringList", - "documentation":"

One or more AWS accounts IDs that can create volumes from the snapshot.

", - "locationName":"RestorableBy" - }, - "SnapshotIds":{ - "shape":"SnapshotIdStringList", - "documentation":"

One or more snapshot IDs.

Default: Describes snapshots for which you have launch permissions.

", - "locationName":"SnapshotId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSnapshots.

" - }, - "DescribeSnapshotsResult":{ - "type":"structure", - "members":{ - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeSnapshots.

" - }, - "DescribeSpotDatafeedSubscriptionRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotDatafeedSubscriptionResult":{ - "type":"structure", - "members":{ - "SpotDatafeedSubscription":{ - "shape":"SpotDatafeedSubscription", - "documentation":"

The Spot Instance data feed subscription.

", - "locationName":"spotDatafeedSubscription" - } - }, - "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" - }, - "DescribeSpotFleetInstancesRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "MaxResults":{ - "shape":"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" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetInstancesResponse":{ - "type":"structure", - "required":[ - "ActiveInstances", - "SpotFleetRequestId" - ], - "members":{ - "ActiveInstances":{ - "shape":"ActiveInstanceSet", - "documentation":"

The running instances. This list is refreshed periodically and might be out of date.

", - "locationName":"activeInstanceSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetInstances.

" - }, - "DescribeSpotFleetRequestHistoryRequest":{ - "type":"structure", - "required":[ - "SpotFleetRequestId", - "StartTime" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

The type of events to describe. By default, all events are described.

", - "locationName":"eventType" - }, - "MaxResults":{ - "shape":"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" - }, - "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.

" - }, - "DescribeSpotFleetRequestHistoryResponse":{ - "type":"structure", - "required":[ - "HistoryRecords", - "LastEvaluatedTime", - "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.

", - "locationName":"spotFleetRequestId" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"startTime" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequestHistory.

" - }, - "DescribeSpotFleetRequestsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - }, - "SpotFleetRequestIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of the Spot Fleet requests.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" - }, - "DescribeSpotFleetRequestsResponse":{ - "type":"structure", - "required":["SpotFleetRequestConfigs"], - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "SpotFleetRequestConfigs":{ - "shape":"SpotFleetRequestConfigSet", - "documentation":"

Information about the configuration of your Spot Fleet.

", - "locationName":"spotFleetRequestConfigSet" - } - }, - "documentation":"

Contains the output of DescribeSpotFleetRequests.

" - }, - "DescribeSpotInstanceRequestsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot Request Status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotInstanceRequestIds":{ - "shape":"SpotInstanceRequestIdList", - "documentation":"

One or more Spot Instance request IDs.

", - "locationName":"SpotInstanceRequestId" - } - }, - "documentation":"

Contains the parameters for DescribeSpotInstanceRequests.

" - }, - "DescribeSpotInstanceRequestsResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" - }, - "DescribeSpotPriceHistoryRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

", - "locationName":"Filter" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Filters the results by the specified Availability Zone.

", - "locationName":"availabilityZone" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"endTime" - }, - "InstanceTypes":{ - "shape":"InstanceTypeList", - "documentation":"

Filters the results by the specified instance types.

", - "locationName":"InstanceType" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of results.

", - "locationName":"nextToken" - }, - "ProductDescriptions":{ - "shape":"ProductDescriptionList", - "documentation":"

Filters the results by the specified basic product descriptions.

", - "locationName":"ProductDescription" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"startTime" - } - }, - "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" - }, - "DescribeSpotPriceHistoryResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token required to retrieve the next set of results. This value is null or an empty string when there are no more results to return.

", - "locationName":"nextToken" - }, - "SpotPriceHistory":{ - "shape":"SpotPriceHistoryList", - "documentation":"

The historical Spot prices.

", - "locationName":"spotPriceHistorySet" - } - }, - "documentation":"

Contains the output of DescribeSpotPriceHistory.

" - }, - "DescribeStaleSecurityGroupsRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "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.

" - }, - "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.

" - }, - "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":{ - "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":{ - "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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the subnet.

", - "locationName":"Filter" - }, - "SubnetIds":{ - "shape":"SubnetIdStringList", - "documentation":"

One or more subnet IDs.

Default: Describes all your subnets.

", - "locationName":"SubnetId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeSubnets.

" - }, - "DescribeSubnetsResult":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Information about one or more subnets.

", - "locationName":"subnetSet" - } - }, - "documentation":"

Contains the output of DescribeSubnets.

" - }, - "DescribeTagsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • key - The tag key.

  • resource-id - The resource ID.

  • resource-type - The resource type (customer-gateway | dhcp-options | elastic-ip | fleet | fpga-image | image | instance | internet-gateway | launch-template | natgateway | network-acl | network-interface | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection | vpn-connection | vpn-gateway).

  • value - The tag value.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeTags.

" - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "Tags":{ - "shape":"TagDescriptionList", - "documentation":"

A list of tags.

", - "locationName":"tagSet" - } - }, - "documentation":"

Contains the output of DescribeTags.

" - }, - "DescribeVolumeAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "VolumeId" - ], - "members":{ - "Attribute":{ - "shape":"VolumeAttributeName", - "documentation":"

The attribute of the volume. This parameter is required.

" - }, - "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 DescribeVolumeAttribute.

" - }, - "DescribeVolumeAttributeResult":{ - "type":"structure", - "members":{ - "AutoEnableIO":{ - "shape":"AttributeBooleanValue", - "documentation":"

The state of autoEnableIO attribute.

", - "locationName":"autoEnableIO" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Contains the output of DescribeVolumeAttribute.

" - }, - "DescribeVolumeStatusRequest":{ - "type":"structure", - "members":{ - "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" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "DescribeVolumeStatusResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - }, - "VolumeStatuses":{ - "shape":"VolumeStatusList", - "documentation":"

A list of volumes.

", - "locationName":"volumeStatusSet" - } - }, - "documentation":"

Contains the output of DescribeVolumeStatus.

" - }, - "DescribeVolumesModificationsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "documentation":"

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 specified in the block device mapping (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - 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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"Filter" - }, - "VolumeIds":{ - "shape":"VolumeIdStringList", - "documentation":"

One or more volume IDs.

", - "locationName":"VolumeId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another DescribeVolumes request with the returned NextToken value. This value can be between 5 and 500; if MaxResults is given a value larger than 500, only 500 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value returned from a previous paginated DescribeVolumes request where MaxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the NextToken value. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the parameters for DescribeVolumes.

" - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"VolumeList", - "documentation":"

Information about the volumes.

", - "locationName":"volumeSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes request exceed MaxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVolumes.

" - }, - "DescribeVpcAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "VpcId" - ], - "members":{ - "Attribute":{ - "shape":"VpcAttributeName", - "documentation":"

The VPC attribute.

" - }, - "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 DescribeVpcAttribute.

" - }, - "DescribeVpcAttributeResult":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

", - "locationName":"enableDnsHostnames" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

", - "locationName":"enableDnsSupport" - } - }, - "documentation":"

Contains the output of DescribeVpcAttribute.

" - }, - "DescribeVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"maxResults" - }, - "NextToken":{ - "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.

" - }, - "DescribeVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "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.

" - }, - "DescribeVpcClassicLinkRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcIds":{ - "shape":"VpcClassicLinkIdList", - "documentation":"

One or more VPCs for which you want to describe the ClassicLink status.

", - "locationName":"VpcId" - } - }, - "documentation":"

Contains the parameters for DescribeVpcClassicLink.

" - }, - "DescribeVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcClassicLinkList", - "documentation":"

The ClassicLink status of one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcClassicLink.

" - }, - "DescribeVpcEndpointConnectionNotificationsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ConnectionNotificationId":{ - "shape":"String", - "documentation":"

The ID of the notification.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • connection-notification-arn - The ARN of SNS topic for the notification.

  • connection-notification-id - The ID of the notification.

  • connection-notification-state - The state of the notification (Enabled | Disabled).

  • connection-notification-type - The type of notification (Topic).

  • service-id - The ID of the endpoint service.

  • vpc-endpoint-id - The ID of the VPC endpoint.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to request the next page of results.

" - } - } - }, - "DescribeVpcEndpointConnectionNotificationsResult":{ - "type":"structure", - "members":{ - "ConnectionNotificationSet":{ - "shape":"ConnectionNotificationSet", - "documentation":"

One or more notifications.

", - "locationName":"connectionNotificationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointConnectionsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • service-id - The ID of the service.

  • vpc-endpoint-owner - The AWS account number of the owner of the endpoint.

  • vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed).

  • vpc-endpoint-id - The ID of the endpoint.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - } - }, - "DescribeVpcEndpointConnectionsResult":{ - "type":"structure", - "members":{ - "VpcEndpointConnections":{ - "shape":"VpcEndpointConnectionSet", - "documentation":"

Information about one or more VPC endpoint connections.

", - "locationName":"vpcEndpointConnectionSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointServiceConfigurationsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of one or more services.

", - "locationName":"ServiceId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name - The name of the service.

  • service-id - The ID of the service.

  • service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed).

", - "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.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - } - }, - "DescribeVpcEndpointServiceConfigurationsResult":{ - "type":"structure", - "members":{ - "ServiceConfigurations":{ - "shape":"ServiceConfigurationSet", - "documentation":"

Information about one or more services.

", - "locationName":"serviceConfigurationSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointServicePermissionsRequest":{ - "type":"structure", - "required":["ServiceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • principal - The ARN of the principal.

  • principal-type - The principal type (All | Service | OrganizationUnit | Account | User | Role).

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to retrieve the next page of results.

" - } - } - }, - "DescribeVpcEndpointServicePermissionsResult":{ - "type":"structure", - "members":{ - "AllowedPrincipals":{ - "shape":"AllowedPrincipalSet", - "documentation":"

Information about one or more allowed principals.

", - "locationName":"allowedPrincipals" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", - "locationName":"nextToken" - } - } - }, - "DescribeVpcEndpointServicesRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

One or more service names.

", - "locationName":"ServiceName" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name: The name of the service.

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointServicesResult":{ - "type":"structure", - "members":{ - "ServiceNames":{ - "shape":"ValueStringList", - "documentation":"

A list of supported services.

", - "locationName":"serviceNameSet" - }, - "ServiceDetails":{ - "shape":"ServiceDetailSet", - "documentation":"

Information about the service.

", - "locationName":"serviceDetailSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpointServices.

" - }, - "DescribeVpcEndpointsRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

One or more endpoint IDs.

", - "locationName":"VpcEndpointId" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • service-name: The name of the service.

  • vpc-id: The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id: The ID of the endpoint.

  • vpc-endpoint-state: The state of the endpoint. (pending | available | deleting | deleted)

", - "locationName":"Filter" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1000, we return only 1000 items.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" - } - }, - "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" - }, - "DescribeVpcEndpointsResult":{ - "type":"structure", - "members":{ - "VpcEndpoints":{ - "shape":"VpcEndpointSet", - "documentation":"

Information about the endpoints.

", - "locationName":"vpcEndpointSet" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", - "locationName":"nextToken" - } - }, - "documentation":"

Contains the output of DescribeVpcEndpoints.

" - }, - "DescribeVpcPeeringConnectionsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.

  • accepter-vpc-info.owner-id - The AWS account ID of the owner of the accepter VPC.

  • accepter-vpc-info.vpc-id - The ID of the accepter VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleting | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

", - "locationName":"Filter" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionIds":{ - "shape":"ValueStringList", - "documentation":"

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", - "locationName":"VpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for DescribeVpcPeeringConnections.

" - }, - "DescribeVpcPeeringConnectionsResult":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Information about the VPC peering connections.

", - "locationName":"vpcPeeringConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpcPeeringConnections.

" - }, - "DescribeVpcsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC.

  • cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC.

  • cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC.

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.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> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC.

", - "locationName":"Filter" - }, - "VpcIds":{ - "shape":"VpcIdStringList", - "documentation":"

One or more VPC IDs.

Default: Describes all your VPCs.

", - "locationName":"VpcId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeVpcs.

" - }, - "DescribeVpcsResult":{ - "type":"structure", - "members":{ - "Vpcs":{ - "shape":"VpcList", - "documentation":"

Information about one or more VPCs.

", - "locationName":"vpcSet" - } - }, - "documentation":"

Contains the output of DescribeVpcs.

" - }, - "DescribeVpnConnectionsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

", - "locationName":"Filter" - }, - "VpnConnectionIds":{ - "shape":"VpnConnectionIdStringList", - "documentation":"

One or more VPN connection IDs.

Default: Describes your VPN connections.

", - "locationName":"VpnConnectionId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeVpnConnections.

" - }, - "DescribeVpnConnectionsResult":{ - "type":"structure", - "members":{ - "VpnConnections":{ - "shape":"VpnConnectionList", - "documentation":"

Information about one or more VPN connections.

", - "locationName":"vpnConnectionSet" - } - }, - "documentation":"

Contains the output of DescribeVpnConnections.

" - }, - "DescribeVpnGatewaysRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"FilterList", - "documentation":"

One or more filters.

  • amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

", - "locationName":"Filter" - }, - "VpnGatewayIds":{ - "shape":"VpnGatewayIdStringList", - "documentation":"

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

", - "locationName":"VpnGatewayId" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for DescribeVpnGateways.

" - }, - "DescribeVpnGatewaysResult":{ - "type":"structure", - "members":{ - "VpnGateways":{ - "shape":"VpnGatewayList", - "documentation":"

Information about one or more virtual private gateways.

", - "locationName":"vpnGatewaySet" - } - }, - "documentation":"

Contains the output of DescribeVpnGateways.

" - }, - "DetachClassicLinkVpcRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to unlink from the VPC.

", - "locationName":"instanceId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the instance is linked.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachClassicLinkVpc.

" - }, - "DetachClassicLinkVpcResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DetachClassicLinkVpc.

" - }, - "DetachInternetGatewayRequest":{ - "type":"structure", - "required":[ - "InternetGatewayId", - "VpcId" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the internet gateway.

", - "locationName":"internetGatewayId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DetachInternetGateway.

" - }, - "DetachNetworkInterfaceRequest":{ - "type":"structure", - "required":["AttachmentId"], - "members":{ - "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.

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for DetachNetworkInterface.

" - }, - "DetachVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "Device":{ - "shape":"String", - "documentation":"

The device name.

" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won't have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.

" - }, - "InstanceId":{ - "shape":"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.

" - }, - "DetachVpnGatewayRequest":{ - "type":"structure", - "required":[ - "VpcId", - "VpnGatewayId" - ], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "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" - } - }, - "documentation":"

Contains the parameters for DetachVpnGateway.

" - }, - "DeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "DhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The name of a DHCP option.

", - "locationName":"key" - }, - "Values":{ - "shape":"DhcpConfigurationValueList", - "documentation":"

One or more values for the DHCP option.

", - "locationName":"valueSet" - } - }, - "documentation":"

Describes a DHCP configuration option.

" - }, - "DhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"DhcpConfiguration", - "locationName":"item" - } - }, - "DhcpConfigurationValueList":{ - "type":"list", - "member":{ - "shape":"AttributeValue", - "locationName":"item" - } - }, - "DhcpOptions":{ - "type":"structure", - "members":{ - "DhcpConfigurations":{ - "shape":"DhcpConfigurationList", - "documentation":"

One or more DHCP options in the set.

", - "locationName":"dhcpConfigurationSet" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options.

", - "locationName":"dhcpOptionsId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the DHCP options set.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a set of DHCP options.

" - }, - "DhcpOptionsIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DhcpOptionsId" - } - }, - "DhcpOptionsList":{ - "type":"list", - "member":{ - "shape":"DhcpOptions", - "locationName":"item" - } - }, - "DisableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "GatewayId", - "RouteTableId" - ], - "members":{ - "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.

" - }, - "DisableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLinkDnsSupport.

" - }, - "DisableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for DisableVpcClassicLink.

" - }, - "DisableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of DisableVpcClassicLink.

" - }, - "DisassociateAddressRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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":{ - "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.

" - }, - "DisassociateSubnetCidrBlockRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the CIDR block.

", - "locationName":"associationId" - } - } - }, - "DisassociateSubnetCidrBlockResult":{ - "type":"structure", - "members":{ - "Ipv6CidrBlockAssociation":{ - "shape":"SubnetIpv6CidrBlockAssociation", - "documentation":"

Information about the IPv6 CIDR block association.

", - "locationName":"ipv6CidrBlockAssociation" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - } - }, - "DisassociateVpcCidrBlockRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the CIDR block.

", - "locationName":"associationId" - } - } - }, - "DisassociateVpcCidrBlockResult":{ - "type":"structure", - "members":{ - "Ipv6CidrBlockAssociation":{ - "shape":"VpcIpv6CidrBlockAssociation", - "documentation":"

Information about the IPv6 CIDR block association.

", - "locationName":"ipv6CidrBlockAssociation" - }, - "CidrBlockAssociation":{ - "shape":"VpcCidrBlockAssociation", - "documentation":"

Information about the IPv4 CIDR block association.

", - "locationName":"cidrBlockAssociation" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - } - }, - "DiskImage":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the disk image.

" - }, - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

Information about the disk image.

" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

Information about the volume.

" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDescription":{ - "type":"structure", - "members":{ - "Checksum":{ - "shape":"String", - "documentation":"

The checksum computed for the disk image.

", - "locationName":"checksum" - }, - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "ImportManifestUrl":{ - "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "locationName":"importManifestUrl" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the disk image, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageDetail":{ - "type":"structure", - "required":[ - "Bytes", - "Format", - "ImportManifestUrl" - ], - "members":{ - "Bytes":{ - "shape":"Long", - "documentation":"

The size of the disk image, in GiB.

", - "locationName":"bytes" - }, - "Format":{ - "shape":"DiskImageFormat", - "documentation":"

The disk image format.

", - "locationName":"format" - }, - "ImportManifestUrl":{ - "shape":"String", - "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", - "locationName":"importManifestUrl" - } - }, - "documentation":"

Describes a disk image.

" - }, - "DiskImageFormat":{ - "type":"string", - "enum":[ - "VMDK", - "RAW", - "VHD" - ] - }, - "DiskImageList":{ - "type":"list", - "member":{"shape":"DiskImage"} - }, - "DiskImageVolumeDescription":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The volume identifier.

", - "locationName":"id" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes a disk image volume.

" - }, - "DnsEntry":{ - "type":"structure", - "members":{ - "DnsName":{ - "shape":"String", - "documentation":"

The DNS name.

", - "locationName":"dnsName" - }, - "HostedZoneId":{ - "shape":"String", - "documentation":"

The ID of the private hosted zone.

", - "locationName":"hostedZoneId" - } - }, - "documentation":"

Describes a DNS entry.

" - }, - "DnsEntrySet":{ - "type":"list", - "member":{ - "shape":"DnsEntry", - "locationName":"item" - } - }, - "DomainType":{ - "type":"string", - "enum":[ - "vpc", - "standard" - ] - }, - "Double":{"type":"double"}, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value. This is because only blank volumes can be encrypted on creation.

", - "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" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

Identifier (key ID, key alias, ID ARN, or alias ARN) for a user-managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "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" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard

", - "locationName":"volumeType" - } - }, - "documentation":"

Describes a block device for an EBS volume.

" - }, - "EbsInstanceBlockDevice":{ - "type":"structure", - "members":{ - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the attachment initiated.

", - "locationName":"attachTime" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the EBS volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" - }, - "EbsInstanceBlockDeviceSpecification":{ - "type":"structure", - "members":{ - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "VolumeId":{ - "shape":"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.

" - }, - "EgressOnlyInternetGateway":{ - "type":"structure", - "members":{ - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "documentation":"

Information about the attachment of the egress-only internet gateway.

", - "locationName":"attachmentSet" - }, - "EgressOnlyInternetGatewayId":{ - "shape":"EgressOnlyInternetGatewayId", - "documentation":"

The ID of the egress-only internet gateway.

", - "locationName":"egressOnlyInternetGatewayId" - } - }, - "documentation":"

Describes an egress-only internet gateway.

" - }, - "EgressOnlyInternetGatewayId":{"type":"string"}, - "EgressOnlyInternetGatewayIdList":{ - "type":"list", - "member":{ - "shape":"EgressOnlyInternetGatewayId", - "locationName":"item" - } - }, - "EgressOnlyInternetGatewayList":{ - "type":"list", - "member":{ - "shape":"EgressOnlyInternetGateway", - "locationName":"item" - } - }, - "ElasticGpuAssociation":{ - "type":"structure", - "members":{ - "ElasticGpuId":{ - "shape":"String", - "documentation":"

The ID of the Elastic GPU.

", - "locationName":"elasticGpuId" - }, - "ElasticGpuAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association.

", - "locationName":"elasticGpuAssociationId" - }, - "ElasticGpuAssociationState":{ - "shape":"String", - "documentation":"

The state of the association between the instance and the Elastic GPU.

", - "locationName":"elasticGpuAssociationState" - }, - "ElasticGpuAssociationTime":{ - "shape":"String", - "documentation":"

The time the Elastic GPU was associated with the instance.

", - "locationName":"elasticGpuAssociationTime" - } - }, - "documentation":"

Describes the association between an instance and an Elastic GPU.

" - }, - "ElasticGpuAssociationList":{ - "type":"list", - "member":{ - "shape":"ElasticGpuAssociation", - "locationName":"item" - } - }, - "ElasticGpuHealth":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"ElasticGpuStatus", - "documentation":"

The health status.

", - "locationName":"status" - } - }, - "documentation":"

Describes the status of an Elastic GPU.

" - }, - "ElasticGpuIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ElasticGpuSet":{ - "type":"list", - "member":{ - "shape":"ElasticGpus", - "locationName":"item" - } - }, - "ElasticGpuSpecification":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"String", - "documentation":"

The type of Elastic GPU.

" - } - }, - "documentation":"

A specification for an Elastic GPU.

" - }, - "ElasticGpuSpecificationList":{ - "type":"list", - "member":{ - "shape":"ElasticGpuSpecification", - "locationName":"ElasticGpuSpecification" - } - }, - "ElasticGpuSpecificationResponse":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

The elastic GPU type.

", - "locationName":"type" - } - }, - "documentation":"

Describes an elastic GPU.

" - }, - "ElasticGpuSpecificationResponseList":{ - "type":"list", - "member":{ - "shape":"ElasticGpuSpecificationResponse", - "locationName":"item" - } - }, - "ElasticGpuSpecifications":{ - "type":"list", - "member":{ - "shape":"ElasticGpuSpecification", - "locationName":"item" - } - }, - "ElasticGpuState":{ - "type":"string", - "enum":["ATTACHED"] - }, - "ElasticGpuStatus":{ - "type":"string", - "enum":[ - "OK", - "IMPAIRED" - ] - }, - "ElasticGpus":{ - "type":"structure", - "members":{ - "ElasticGpuId":{ - "shape":"String", - "documentation":"

The ID of the Elastic GPU.

", - "locationName":"elasticGpuId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in the which the Elastic GPU resides.

", - "locationName":"availabilityZone" - }, - "ElasticGpuType":{ - "shape":"String", - "documentation":"

The type of Elastic GPU.

", - "locationName":"elasticGpuType" - }, - "ElasticGpuHealth":{ - "shape":"ElasticGpuHealth", - "documentation":"

The status of the Elastic GPU.

", - "locationName":"elasticGpuHealth" - }, - "ElasticGpuState":{ - "shape":"ElasticGpuState", - "documentation":"

The state of the Elastic GPU.

", - "locationName":"elasticGpuState" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance to which the Elastic GPU is attached.

", - "locationName":"instanceId" - } - }, - "documentation":"

Describes an Elastic GPU.

" - }, - "EnableVgwRoutePropagationRequest":{ - "type":"structure", - "required":[ - "GatewayId", - "RouteTableId" - ], - "members":{ - "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.

" - }, - "EnableVolumeIORequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - } - }, - "documentation":"

Contains the parameters for EnableVolumeIO.

" - }, - "EnableVpcClassicLinkDnsSupportRequest":{ - "type":"structure", - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkDnsSupportResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLinkDnsSupport.

" - }, - "EnableVpcClassicLinkRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for EnableVpcClassicLink.

" - }, - "EnableVpcClassicLinkResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of EnableVpcClassicLink.

" - }, - "EventCode":{ - "type":"string", - "enum":[ - "instance-reboot", - "system-reboot", - "system-maintenance", - "instance-retirement", - "instance-stop" - ] - }, - "EventInformation":{ - "type":"structure", - "members":{ - "EventDescription":{ - "shape":"String", - "documentation":"

The description of the event.

", - "locationName":"eventDescription" - }, - "EventSubType":{ - "shape":"String", - "documentation":"

The event.

The following are the error events:

  • iamFleetRoleInvalid - The 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 does not launch additional Spot Instances. 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 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 request was fulfilled and a new instance was launched.

  • terminated - An instance was terminated by the user.

The following are the Information events:

  • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price or the Spot price is above the On-Demand price.

  • fleetProgressHalted - The price in every launch specification is not valid. A launch specification might become valid if the Spot price changes.

", - "locationName":"eventSubType" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", - "locationName":"instanceId" - } - }, - "documentation":"

Describes a Spot Fleet event.

" - }, - "EventType":{ - "type":"string", - "enum":[ - "instanceChange", - "fleetRequestChange", - "error" - ] - }, - "ExcessCapacityTerminationPolicy":{ - "type":"string", - "enum":[ - "noTermination", - "default" - ] - }, - "ExecutableByStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExecutableBy" - } - }, - "ExportEnvironment":{ - "type":"string", - "enum":[ - "citrix", - "vmware", - "microsoft" - ] - }, - "ExportTask":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the resource being exported.

", - "locationName":"description" - }, - "ExportTaskId":{ - "shape":"String", - "documentation":"

The ID of the export task.

", - "locationName":"exportTaskId" - }, - "ExportToS3Task":{ - "shape":"ExportToS3Task", - "documentation":"

Information about the export task.

", - "locationName":"exportToS3" - }, - "InstanceExportDetails":{ - "shape":"InstanceExportDetails", - "documentation":"

Information about the instance to export.

", - "locationName":"instanceExport" - }, - "State":{ - "shape":"ExportTaskState", - "documentation":"

The state of the export task.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status message related to the export task.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "ExportTaskIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ExportTaskId" - } - }, - "ExportTaskList":{ - "type":"list", - "member":{ - "shape":"ExportTask", - "locationName":"item" - } - }, - "ExportTaskState":{ - "type":"string", - "enum":[ - "active", - "cancelling", - "cancelled", - "completed" - ] - }, - "ExportToS3Task":{ - "type":"structure", - "members":{ - "ContainerFormat":{ - "shape":"ContainerFormat", - "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "locationName":"containerFormat" - }, - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "documentation":"

The format for the exported image.

", - "locationName":"diskImageFormat" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The encryption key for your S3 bucket.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the format and location for an instance export task.

" - }, - "ExportToS3TaskSpecification":{ - "type":"structure", - "members":{ - "ContainerFormat":{ - "shape":"ContainerFormat", - "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", - "locationName":"containerFormat" - }, - "DiskImageFormat":{ - "shape":"DiskImageFormat", - "documentation":"

The format for the exported image.

", - "locationName":"diskImageFormat" - }, - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", - "locationName":"s3Bucket" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", - "locationName":"s3Prefix" - } - }, - "documentation":"

Describes an instance export task.

" - }, - "Filter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ValueStringList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

", - "locationName":"Value" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FleetActivityStatus":{ - "type":"string", - "enum":[ - "error", - "pending-fulfillment", - "pending-termination", - "fulfilled" - ] - }, - "FleetData":{ - "type":"structure", - "members":{ - "ActivityStatus":{ - "shape":"FleetActivityStatus", - "documentation":"

The progress of the EC2 Fleet. If there is an error, the status is error. After all requests are placed, the status is pending_fulfillment. If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the EC2 Fleet is decreased, the status is pending_termination while instances are terminating.

", - "locationName":"activityStatus" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The creation date and time of the EC2 Fleet.

", - "locationName":"createTime" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

", - "locationName":"fleetId" - }, - "FleetState":{ - "shape":"FleetStateCode", - "documentation":"

The state of the EC2 Fleet.

", - "locationName":"fleetState" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "locationName":"clientToken" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"FleetExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running instances should be terminated if the target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

", - "locationName":"excessCapacityTerminationPolicy" - }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" - }, - "FulfilledOnDemandCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target On-Demand capacity.

", - "locationName":"fulfilledOnDemandCapacity" - }, - "LaunchTemplateConfigs":{ - "shape":"FleetLaunchTemplateConfigList", - "documentation":"

The launch template and overrides.

", - "locationName":"launchTemplateConfigs" - }, - "TargetCapacitySpecification":{ - "shape":"TargetCapacitySpecification", - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", - "locationName":"targetCapacitySpecification" - }, - "TerminateInstancesWithExpiration":{ - "shape":"Boolean", - "documentation":"

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", - "locationName":"terminateInstancesWithExpiration" - }, - "Type":{ - "shape":"FleetType", - "documentation":"

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests; it does not attempt to replenish instances if capacity is diminished, and does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain.

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

", - "locationName":"validUntil" - }, - "ReplaceUnhealthyInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether EC2 Fleet should replace unhealthy instances.

", - "locationName":"replaceUnhealthyInstances" - }, - "SpotOptions":{ - "shape":"SpotOptions", - "documentation":"

The configuration of Spot Instances in an EC2 Fleet.

", - "locationName":"spotOptions" - }, - "OnDemandOptions":{ - "shape":"OnDemandOptions", - "documentation":"

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", - "locationName":"onDemandOptions" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for an EC2 Fleet resource.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an EC2 Fleet.

" - }, - "FleetEventType":{ - "type":"string", - "enum":[ - "instance-change", - "fleet-change", - "service-error" - ] - }, - "FleetExcessCapacityTerminationPolicy":{ - "type":"string", - "enum":[ - "no-termination", - "termination" - ] - }, - "FleetIdSet":{ - "type":"list", - "member":{"shape":"FleetIdentifier"} - }, - "FleetIdentifier":{"type":"string"}, - "FleetLaunchTemplateConfig":{ - "type":"structure", - "members":{ - "LaunchTemplateSpecification":{ - "shape":"FleetLaunchTemplateSpecification", - "documentation":"

The launch template.

", - "locationName":"launchTemplateSpecification" - }, - "Overrides":{ - "shape":"FleetLaunchTemplateOverridesList", - "documentation":"

Any parameters that you specify override the same parameters in the launch template.

", - "locationName":"overrides" - } - }, - "documentation":"

Describes a launch template and overrides.

" - }, - "FleetLaunchTemplateConfigList":{ - "type":"list", - "member":{ - "shape":"FleetLaunchTemplateConfig", - "locationName":"item" - } - }, - "FleetLaunchTemplateConfigListRequest":{ - "type":"list", - "member":{ - "shape":"FleetLaunchTemplateConfigRequest", - "locationName":"item" - }, - "max":50 - }, - "FleetLaunchTemplateConfigRequest":{ - "type":"structure", - "members":{ - "LaunchTemplateSpecification":{ - "shape":"FleetLaunchTemplateSpecificationRequest", - "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" - }, - "Overrides":{ - "shape":"FleetLaunchTemplateOverridesListRequest", - "documentation":"

Any parameters that you specify override the same parameters in the launch template.

" - } - }, - "documentation":"

Describes a launch template and overrides.

" - }, - "FleetLaunchTemplateOverrides":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "MaxPrice":{ - "shape":"String", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", - "locationName":"maxPrice" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instances.

", - "locationName":"subnetId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which to launch the instances.

", - "locationName":"availabilityZone" - }, - "WeightedCapacity":{ - "shape":"Double", - "documentation":"

The number of units provided by the specified instance type.

", - "locationName":"weightedCapacity" - }, - "Priority":{ - "shape":"Double", - "documentation":"

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the override has the lowest priority.

", - "locationName":"priority" - } - }, - "documentation":"

Describes overrides for a launch template.

" - }, - "FleetLaunchTemplateOverridesList":{ - "type":"list", - "member":{ - "shape":"FleetLaunchTemplateOverrides", - "locationName":"item" - } - }, - "FleetLaunchTemplateOverridesListRequest":{ - "type":"list", - "member":{ - "shape":"FleetLaunchTemplateOverridesRequest", - "locationName":"item" - }, - "max":50 - }, - "FleetLaunchTemplateOverridesRequest":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

" - }, - "MaxPrice":{ - "shape":"String", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instances.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which to launch the instances.

" - }, - "WeightedCapacity":{ - "shape":"Double", - "documentation":"

The number of units provided by the specified instance type.

" - }, - "Priority":{ - "shape":"Double", - "documentation":"

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

" - } - }, - "documentation":"

Describes overrides for a launch template.

" - }, - "FleetLaunchTemplateSpecification":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either a template ID or a template name.

", - "locationName":"launchTemplateId" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either a template name or a template ID.

", - "locationName":"launchTemplateName" - }, - "Version":{ - "shape":"String", - "documentation":"

The version number. By default, the default version of the launch template is used.

", - "locationName":"version" - } - }, - "documentation":"

Describes a launch template.

" - }, - "FleetLaunchTemplateSpecificationRequest":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The version number of the launch template.

" - } - }, - "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" - }, - "FleetOnDemandAllocationStrategy":{ - "type":"string", - "enum":[ - "lowest-price", - "prioritized" - ] - }, - "FleetSet":{ - "type":"list", - "member":{ - "shape":"FleetData", - "locationName":"item" - } - }, - "FleetStateCode":{ - "type":"string", - "enum":[ - "submitted", - "active", - "deleted", - "failed", - "deleted-running", - "deleted-terminating", - "modifying" - ] - }, - "FleetType":{ - "type":"string", - "enum":[ - "request", - "maintain" - ] - }, - "Float":{"type":"float"}, - "FlowLog":{ - "type":"structure", - "members":{ - "CreationTime":{ - "shape":"DateTime", - "documentation":"

The date and time the flow log was created.

", - "locationName":"creationTime" - }, - "DeliverLogsErrorMessage":{ - "shape":"String", - "documentation":"

Information about the error that occurred. Rate limited indicates that CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of log groups that you can create. Access error indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an internal error.

", - "locationName":"deliverLogsErrorMessage" - }, - "DeliverLogsPermissionArn":{ - "shape":"String", - "documentation":"

The ARN of the IAM role that posts logs to CloudWatch Logs.

", - "locationName":"deliverLogsPermissionArn" - }, - "DeliverLogsStatus":{ - "shape":"String", - "documentation":"

The status of the logs delivery (SUCCESS | FAILED).

", - "locationName":"deliverLogsStatus" - }, - "FlowLogId":{ - "shape":"String", - "documentation":"

The flow log ID.

", - "locationName":"flowLogId" - }, - "FlowLogStatus":{ - "shape":"String", - "documentation":"

The status of the flow log (ACTIVE).

", - "locationName":"flowLogStatus" - }, - "LogGroupName":{ - "shape":"String", - "documentation":"

The name of the flow log group.

", - "locationName":"logGroupName" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource on which the flow log was created.

", - "locationName":"resourceId" - }, - "TrafficType":{ - "shape":"TrafficType", - "documentation":"

The type of traffic captured for the flow log.

", - "locationName":"trafficType" - }, - "LogDestinationType":{ - "shape":"LogDestinationType", - "documentation":"

Specifies the type of destination to which the flow log data is published. Flow log data can be published to CloudWatch Logs or Amazon S3.

", - "locationName":"logDestinationType" - }, - "LogDestination":{ - "shape":"String", - "documentation":"

Specifies the destination to which the flow log data is published. Flow log data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN of the Amazon S3 bucket to which the data is published.

", - "locationName":"logDestination" - } - }, - "documentation":"

Describes a flow log.

" - }, - "FlowLogSet":{ - "type":"list", - "member":{ - "shape":"FlowLog", - "locationName":"item" - } - }, - "FlowLogsResourceType":{ - "type":"string", - "enum":[ - "VPC", - "Subnet", - "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" - }, - "Public":{ - "shape":"Boolean", - "documentation":"

Indicates whether the AFI is public.

", - "locationName":"public" - } - }, - "documentation":"

Describes an Amazon FPGA image (AFI).

" - }, - "FpgaImageAttribute":{ - "type":"structure", - "members":{ - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the AFI.

", - "locationName":"fpgaImageId" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AFI.

", - "locationName":"name" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AFI.

", - "locationName":"description" - }, - "LoadPermissions":{ - "shape":"LoadPermissionList", - "documentation":"

One or more load permissions.

", - "locationName":"loadPermissions" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

One or more product codes.

", - "locationName":"productCodes" - } - }, - "documentation":"

Describes an Amazon FPGA image (AFI) attribute.

" - }, - "FpgaImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "name", - "loadPermission", - "productCodes" - ] - }, - "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"] - }, - "GetConsoleOutputRequest":{ - "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" - }, - "Latest":{ - "shape":"Boolean", - "documentation":"

When enabled, retrieves the latest console output for the instance.

Default: disabled (false)

" - } - }, - "documentation":"

Contains the parameters for GetConsoleOutput.

" - }, - "GetConsoleOutputResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Output":{ - "shape":"String", - "documentation":"

The console output, base64-encoded. If you are using a command line tool, the tool decodes the output for you.

", - "locationName":"output" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The time at which the output was last updated.

", - "locationName":"timestamp" - } - }, - "documentation":"

Contains the output of GetConsoleOutput.

" - }, - "GetConsoleScreenshotRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "WakeUp":{ - "shape":"Boolean", - "documentation":"

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

" - } - }, - "documentation":"

Contains the parameters for the request.

" - }, - "GetConsoleScreenshotResult":{ - "type":"structure", - "members":{ - "ImageData":{ - "shape":"String", - "documentation":"

The data that comprises the image.

", - "locationName":"imageData" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - } - }, - "documentation":"

Contains the output of the request.

" - }, - "GetHostReservationPurchasePreviewRequest":{ - "type":"structure", - "required":[ - "HostIdSet", - "OfferingId" - ], - "members":{ - "HostIdSet":{ - "shape":"RequestHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts with which the reservation is associated.

" - }, - "OfferingId":{ - "shape":"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" - }, - "TotalHourlyPrice":{ - "shape":"String", - "documentation":"

The potential total hourly price of the reservation per hour.

", - "locationName":"totalHourlyPrice" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "documentation":"

The potential total upfront price. This is billed immediately.

", - "locationName":"totalUpfrontPrice" - } - } - }, - "GetLaunchTemplateDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - } - } - }, - "GetLaunchTemplateDataResult":{ - "type":"structure", - "members":{ - "LaunchTemplateData":{ - "shape":"ResponseLaunchTemplateData", - "documentation":"

The instance data.

", - "locationName":"launchTemplateData" - } - } - }, - "GetPasswordDataRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for GetPasswordData.

" - }, - "GetPasswordDataResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the Windows instance.

", - "locationName":"instanceId" - }, - "PasswordData":{ - "shape":"String", - "documentation":"

The password of the instance. Returns an empty string if the password is not available.

", - "locationName":"passwordData" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The time the data was last updated.

", - "locationName":"timestamp" - } - }, - "documentation":"

Contains the output of GetPasswordData.

" - }, - "GetReservedInstancesExchangeQuoteRequest":{ - "type":"structure", - "required":["ReservedInstanceIds"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ReservedInstanceIds":{ - "shape":"ReservedInstanceIdSet", - "documentation":"

The IDs of the Convertible Reserved Instances to exchange.

", - "locationName":"ReservedInstanceId" - }, - "TargetConfigurations":{ - "shape":"TargetConfigurationRequestSet", - "documentation":"

The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

", - "locationName":"TargetConfiguration" - } - }, - "documentation":"

Contains the parameters for GetReservedInstanceExchangeQuote.

" - }, - "GetReservedInstancesExchangeQuoteResult":{ - "type":"structure", - "members":{ - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency of the transaction.

", - "locationName":"currencyCode" - }, - "IsValidExchange":{ - "shape":"Boolean", - "documentation":"

If true, the exchange is valid. If false, the exchange cannot be completed.

", - "locationName":"isValidExchange" - }, - "OutputReservedInstancesWillExpireAt":{ - "shape":"DateTime", - "documentation":"

The new end date of the reservation term.

", - "locationName":"outputReservedInstancesWillExpireAt" - }, - "PaymentDue":{ - "shape":"String", - "documentation":"

The total true upfront charge for the exchange.

", - "locationName":"paymentDue" - }, - "ReservedInstanceValueRollup":{ - "shape":"ReservationValue", - "documentation":"

The cost associated with the Reserved Instance.

", - "locationName":"reservedInstanceValueRollup" - }, - "ReservedInstanceValueSet":{ - "shape":"ReservedInstanceReservationValueSet", - "documentation":"

The configuration of your Convertible Reserved Instances.

", - "locationName":"reservedInstanceValueSet" - }, - "TargetConfigurationValueRollup":{ - "shape":"ReservationValue", - "documentation":"

The cost associated with the Reserved Instance.

", - "locationName":"targetConfigurationValueRollup" - }, - "TargetConfigurationValueSet":{ - "shape":"TargetReservationValueSet", - "documentation":"

The values of the target Convertible Reserved Instances.

", - "locationName":"targetConfigurationValueSet" - }, - "ValidationFailureReason":{ - "shape":"String", - "documentation":"

Describes the reason why the exchange cannot be completed.

", - "locationName":"validationFailureReason" - } - }, - "documentation":"

Contains the output of GetReservedInstancesExchangeQuote.

" - }, - "GroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"groupId" - } - }, - "GroupIdentifier":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - } - }, - "documentation":"

Describes a security group.

" - }, - "GroupIdentifierList":{ - "type":"list", - "member":{ - "shape":"GroupIdentifier", - "locationName":"item" - } - }, - "GroupIdentifierSet":{ - "type":"list", - "member":{ - "shape":"SecurityGroupIdentifier", - "locationName":"item" - } - }, - "GroupIds":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "GroupNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"GroupName" - } - }, - "HistoryRecord":{ - "type":"structure", - "required":[ - "EventInformation", - "EventType", - "Timestamp" - ], - "members":{ - "EventInformation":{ - "shape":"EventInformation", - "documentation":"

Information about the event.

", - "locationName":"eventInformation" - }, - "EventType":{ - "shape":"EventType", - "documentation":"

The event type.

  • error - An error with the Spot Fleet request.

  • fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

  • instanceChange - An instance was launched or terminated.

  • Information - An informational event.

", - "locationName":"eventType" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - } - }, - "documentation":"

Describes an event in the history of the Spot Fleet request.

" - }, - "HistoryRecordEntry":{ - "type":"structure", - "members":{ - "EventInformation":{ - "shape":"EventInformation", - "documentation":"

Information about the event.

", - "locationName":"eventInformation" - }, - "EventType":{ - "shape":"FleetEventType", - "documentation":"

The event type.

", - "locationName":"eventType" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - } - }, - "documentation":"

Describes an event in the history of an EC2 Fleet.

" - }, - "HistoryRecordSet":{ - "type":"list", - "member":{ - "shape":"HistoryRecordEntry", - "locationName":"item" - } - }, - "HistoryRecords":{ - "type":"list", - "member":{ - "shape":"HistoryRecord", - "locationName":"item" - } - }, - "Host":{ - "type":"structure", - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "documentation":"

Whether auto-placement is on or off.

", - "locationName":"autoPlacement" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the Dedicated Host.

", - "locationName":"availabilityZone" - }, - "AvailableCapacity":{ - "shape":"AvailableCapacity", - "documentation":"

The number of new instances that can be launched onto the Dedicated Host.

", - "locationName":"availableCapacity" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that 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" - }, - "State":{ - "shape":"AllocationState", - "documentation":"

The Dedicated Host's state.

", - "locationName":"state" - }, - "AllocationTime":{ - "shape":"DateTime", - "documentation":"

The time that the Dedicated Host was allocated.

", - "locationName":"allocationTime" - }, - "ReleaseTime":{ - "shape":"DateTime", - "documentation":"

The time that the Dedicated Host was released.

", - "locationName":"releaseTime" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the Dedicated Host.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes the properties of the Dedicated Host.

" - }, - "HostInstance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

the IDs of instances that are running on the Dedicated Host.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type size (for example, m3.medium) of the running instance.

", - "locationName":"instanceType" - } - }, - "documentation":"

Describes an instance running on a Dedicated Host.

" - }, - "HostInstanceList":{ - "type":"list", - "member":{ - "shape":"HostInstance", - "locationName":"item" - } - }, - "HostList":{ - "type":"list", - "member":{ - "shape":"Host", - "locationName":"item" - } - }, - "HostOffering":{ - "type":"structure", - "members":{ - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency of the offering.

", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering (in seconds).

", - "locationName":"duration" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the offering.

", - "locationName":"hourlyPrice" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family of the offering.

", - "locationName":"instanceFamily" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

", - "locationName":"offeringId" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The available payment option.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the offering. Does not apply to No Upfront offerings.

", - "locationName":"upfrontPrice" - } - }, - "documentation":"

Details about the Dedicated Host Reservation offering.

" - }, - "HostOfferingSet":{ - "type":"list", - "member":{ - "shape":"HostOffering", - "locationName":"item" - } - }, - "HostProperties":{ - "type":"structure", - "members":{ - "Cores":{ - "shape":"Integer", - "documentation":"

The number of cores on the Dedicated Host.

", - "locationName":"cores" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type 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.

" - }, - "HostReservation":{ - "type":"structure", - "members":{ - "Count":{ - "shape":"Integer", - "documentation":"

The number of Dedicated Hosts the reservation is associated with.

", - "locationName":"count" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation ends.

", - "locationName":"end" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", - "locationName":"hostIdSet" - }, - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation that specifies the associated Dedicated Hosts.

", - "locationName":"hostReservationId" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the reservation.

", - "locationName":"hourlyPrice" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family of the Dedicated Host Reservation. The instance family on the Dedicated Host must be the same in order for it to benefit from the reservation.

", - "locationName":"instanceFamily" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", - "locationName":"offeringId" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option selected for this reservation.

", - "locationName":"paymentOption" - }, - "Start":{ - "shape":"DateTime", - "documentation":"

The date and time that the reservation started.

", - "locationName":"start" - }, - "State":{ - "shape":"ReservationState", - "documentation":"

The state of the reservation.

", - "locationName":"state" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the reservation.

", - "locationName":"upfrontPrice" - } - }, - "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" - }, - "HostReservationIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "HostReservationSet":{ - "type":"list", - "member":{ - "shape":"HostReservation", - "locationName":"item" - } - }, - "HostTenancy":{ - "type":"string", - "enum":[ - "dedicated", - "host" - ] - }, - "HypervisorType":{ - "type":"string", - "enum":[ - "ovm", - "xen" - ] - }, - "IamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of the instance profile.

", - "locationName":"id" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IamInstanceProfileAssociation":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The ID of the association.

", - "locationName":"associationId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "State":{ - "shape":"IamInstanceProfileAssociationState", - "documentation":"

The state of the association.

", - "locationName":"state" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The time the IAM instance profile was associated with the instance.

", - "locationName":"timestamp" - } - }, - "documentation":"

Describes an association between an IAM instance profile and an instance.

" - }, - "IamInstanceProfileAssociationSet":{ - "type":"list", - "member":{ - "shape":"IamInstanceProfileAssociation", - "locationName":"item" - } - }, - "IamInstanceProfileAssociationState":{ - "type":"string", - "enum":[ - "associating", - "associated", - "disassociating", - "disassociated" - ] - }, - "IamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "IcmpTypeCode":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", - "locationName":"code" - }, - "Type":{ - "shape":"Integer", - "documentation":"

The ICMP type. A value of -1 means all types.

", - "locationName":"type" - } - }, - "documentation":"

Describes the ICMP type and code.

" - }, - "IdFormat":{ - "type":"structure", - "members":{ - "Deadline":{ - "shape":"DateTime", - "documentation":"

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", - "locationName":"deadline" - }, - "Resource":{ - "shape":"String", - "documentation":"

The type of resource.

", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", - "locationName":"useLongIds" - } - }, - "documentation":"

Describes the ID format for a resource.

" - }, - "IdFormatList":{ - "type":"list", - "member":{ - "shape":"IdFormat", - "locationName":"item" - } - }, - "Image":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"ArchitectureValues", - "documentation":"

The architecture of the image.

", - "locationName":"architecture" - }, - "CreationDate":{ - "shape":"String", - "documentation":"

The date and time the image was created.

", - "locationName":"creationDate" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "ImageLocation":{ - "shape":"String", - "documentation":"

The location of the AMI.

", - "locationName":"imageLocation" - }, - "ImageType":{ - "shape":"ImageTypeValues", - "documentation":"

The type of image.

", - "locationName":"imageType" - }, - "Public":{ - "shape":"Boolean", - "documentation":"

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

", - "locationName":"isPublic" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with the image, if any. Only applicable for machine images.

", - "locationName":"kernelId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the image owner.

", - "locationName":"imageOwnerId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows AMIs; otherwise blank.

", - "locationName":"platform" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

Any product codes associated with the AMI.

", - "locationName":"productCodes" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", - "locationName":"ramdiskId" - }, - "State":{ - "shape":"ImageState", - "documentation":"

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", - "locationName":"imageState" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

Any block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the AMI that was provided during image creation.

", - "locationName":"description" - }, - "EnaSupport":{ - "shape":"Boolean", - "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", - "locationName":"enaSupport" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the image.

", - "locationName":"hypervisor" - }, - "ImageOwnerAlias":{ - "shape":"String", - "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", - "locationName":"imageOwnerAlias" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the AMI that was provided during image creation.

", - "locationName":"name" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", - "locationName":"rootDeviceName" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the state change.

", - "locationName":"stateReason" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the image.

", - "locationName":"tagSet" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The type of virtualization of the AMI.

", - "locationName":"virtualizationType" - } - }, - "documentation":"

Describes an image.

" - }, - "ImageAttribute":{ - "type":"structure", - "members":{ - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "LaunchPermissions":{ - "shape":"LaunchPermissionList", - "documentation":"

One or more launch permissions.

", - "locationName":"launchPermission" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "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.

", - "locationName":"kernel" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "locationName":"sriovNetSupport" - } - }, - "documentation":"

Describes an image attribute.

" - }, - "ImageAttributeName":{ - "type":"string", - "enum":[ - "description", - "kernel", - "ramdisk", - "launchPermission", - "productCodes", - "blockDeviceMapping", - "sriovNetSupport" - ] - }, - "ImageDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image.

" - }, - "DeviceName":{ - "shape":"String", - "documentation":"

The block device mapping for the disk.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

" - }, - "SnapshotId":{ - "shape":"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://..)

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - } - }, - "documentation":"

Describes the disk container object for an import image task.

" - }, - "ImageDiskContainerList":{ - "type":"list", - "member":{ - "shape":"ImageDiskContainer", - "locationName":"item" - } - }, - "ImageIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImageId" - } - }, - "ImageList":{ - "type":"list", - "member":{ - "shape":"Image", - "locationName":"item" - } - }, - "ImageState":{ - "type":"string", - "enum":[ - "pending", - "available", - "invalid", - "deregistered", - "transient", - "failed", - "error" - ] - }, - "ImageTypeValues":{ - "type":"string", - "enum":[ - "machine", - "kernel", - "ramdisk" - ] - }, - "ImportImageRequest":{ - "type":"structure", - "members":{ - "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", - "documentation":"

A description string for the import image task.

" - }, - "DiskContainers":{ - "shape":"ImageDiskContainerList", - "documentation":"

Information about the disk containers.

", - "locationName":"DiskContainer" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "Hypervisor":{ - "shape":"String", - "documentation":"

The target hypervisor platform.

Valid values: xen

" - }, - "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

" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

Valid values: Windows | Linux

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - }, - "documentation":"

Contains the parameters for ImportImage.

" - }, - "ImportImageResult":{ - "type":"structure", - "members":{ - "Architecture":{ - "shape":"String", - "documentation":"

The architecture of the virtual machine.

", - "locationName":"architecture" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the import task.

", - "locationName":"description" - }, - "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.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The operating system of the virtual machine.

", - "locationName":"platform" - }, - "Progress":{ - "shape":"String", - "documentation":"

The progress of the task.

", - "locationName":"progress" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status of the task.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A detailed status message of the import task.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Contains the output for ImportImage.

" - }, - "ImportImageTask":{ - "type":"structure", - "members":{ - "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.

", - "locationName":"licenseType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The description string for the import image task.

", - "locationName":"platform" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of progress of the import image task.

", - "locationName":"progress" - }, - "SnapshotDetails":{ - "shape":"SnapshotDetailList", - "documentation":"

Information about the snapshots.

", - "locationName":"snapshotDetailSet" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status for the import image task.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A descriptive status message for the import image task.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes an import image task.

" - }, - "ImportImageTaskList":{ - "type":"list", - "member":{ - "shape":"ImportImageTask", - "locationName":"item" - } - }, - "ImportInstanceLaunchSpecification":{ - "type":"structure", - "members":{ - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "documentation":"

The architecture of the instance.

", - "locationName":"architecture" - }, - "GroupIds":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs.

", - "locationName":"GroupId" - }, - "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 Base64-encoded user data to make available to the instance.

", - "locationName":"userData" - } - }, - "documentation":"

Describes the launch specification for VM import.

" - }, - "ImportInstanceRequest":{ - "type":"structure", - "required":["Platform"], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the instance being imported.

", - "locationName":"description" - }, - "DiskImages":{ - "shape":"DiskImageList", - "documentation":"

The disk image.

", - "locationName":"diskImage" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "LaunchSpecification":{ - "shape":"ImportInstanceLaunchSpecification", - "documentation":"

The launch specification.

", - "locationName":"launchSpecification" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - } - }, - "documentation":"

Contains the parameters for ImportInstance.

" - }, - "ImportInstanceResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportInstance.

" - }, - "ImportInstanceTaskDetails":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The instance operating system.

", - "locationName":"platform" - }, - "Volumes":{ - "shape":"ImportInstanceVolumeDetailSet", - "documentation":"

One or more volumes.

", - "locationName":"volumes" - } - }, - "documentation":"

Describes an import instance task.

" - }, - "ImportInstanceVolumeDetailItem":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "BytesConverted", - "Image", - "Status", - "Volume" - ], - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the resulting instance will reside.

", - "locationName":"availabilityZone" - }, - "BytesConverted":{ - "shape":"Long", - "documentation":"

The number of bytes converted so far.

", - "locationName":"bytesConverted" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the import of this particular disk image.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The status information or errors related to the disk image.

", - "locationName":"statusMessage" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "ImportInstanceVolumeDetailSet":{ - "type":"list", - "member":{ - "shape":"ImportInstanceVolumeDetailItem", - "locationName":"item" - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "KeyName", - "PublicKeyMaterial" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "KeyName":{ - "shape":"String", - "documentation":"

A unique name for the key pair.

", - "locationName":"keyName" - }, - "PublicKeyMaterial":{ - "shape":"Blob", - "documentation":"

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", - "locationName":"publicKeyMaterial" - } - }, - "documentation":"

Contains the parameters for ImportKeyPair.

" - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "KeyFingerprint":{ - "shape":"String", - "documentation":"

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "locationName":"keyFingerprint" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The key pair name you provided.

", - "locationName":"keyName" - } - }, - "documentation":"

Contains the output of ImportKeyPair.

" - }, - "ImportSnapshotRequest":{ - "type":"structure", - "members":{ - "ClientData":{ - "shape":"ClientData", - "documentation":"

The client-specific data.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Token to enable idempotency for VM import requests.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description string for the import snapshot task.

" - }, - "DiskContainer":{ - "shape":"SnapshotDiskContainer", - "documentation":"

Information about the disk container.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "RoleName":{ - "shape":"String", - "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" - } - }, - "documentation":"

Contains the parameters for ImportSnapshot.

" - }, - "ImportSnapshotResult":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - }, - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Information about the import snapshot task.

", - "locationName":"snapshotTaskDetail" - } - }, - "documentation":"

Contains the output for ImportSnapshot.

" - }, - "ImportSnapshotTask":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the import snapshot task.

", - "locationName":"description" - }, - "ImportTaskId":{ - "shape":"String", - "documentation":"

The ID of the import snapshot task.

", - "locationName":"importTaskId" - }, - "SnapshotTaskDetail":{ - "shape":"SnapshotTaskDetail", - "documentation":"

Describes an import snapshot task.

", - "locationName":"snapshotTaskDetail" - } - }, - "documentation":"

Describes an import snapshot task.

" - }, - "ImportSnapshotTaskList":{ - "type":"list", - "member":{ - "shape":"ImportSnapshotTask", - "locationName":"item" - } - }, - "ImportTaskIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ImportTaskId" - } - }, - "ImportVolumeRequest":{ - "type":"structure", - "required":[ - "AvailabilityZone", - "Image", - "Volume" - ], - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the resulting EBS volume.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the volume.

", - "locationName":"description" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Image":{ - "shape":"DiskImageDetail", - "documentation":"

The disk image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"VolumeDetail", - "documentation":"

The volume size.

", - "locationName":"volume" - } - }, - "documentation":"

Contains the parameters for ImportVolume.

" - }, - "ImportVolumeResult":{ - "type":"structure", - "members":{ - "ConversionTask":{ - "shape":"ConversionTask", - "documentation":"

Information about the conversion task.

", - "locationName":"conversionTask" - } - }, - "documentation":"

Contains the output for ImportVolume.

" - }, - "ImportVolumeTaskDetails":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the resulting volume will reside.

", - "locationName":"availabilityZone" - }, - "BytesConverted":{ - "shape":"Long", - "documentation":"

The number of bytes converted so far.

", - "locationName":"bytesConverted" - }, - "Description":{ - "shape":"String", - "documentation":"

The description you provided when starting the import volume task.

", - "locationName":"description" - }, - "Image":{ - "shape":"DiskImageDescription", - "documentation":"

The image.

", - "locationName":"image" - }, - "Volume":{ - "shape":"DiskImageVolumeDescription", - "documentation":"

The volume.

", - "locationName":"volume" - } - }, - "documentation":"

Describes an import volume task.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "AmiLaunchIndex":{ - "shape":"Integer", - "documentation":"

The AMI launch index, which can be used to find this instance in the launch group.

", - "locationName":"amiLaunchIndex" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI used to launch the instance.

", - "locationName":"imageId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The kernel associated with this instance, if applicable.

", - "locationName":"kernelId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair, if this instance was launched with an associated key pair.

", - "locationName":"keyName" - }, - "LaunchTime":{ - "shape":"DateTime", - "documentation":"

The time the instance was launched.

", - "locationName":"launchTime" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring for the instance.

", - "locationName":"monitoring" - }, - "Placement":{ - "shape":"Placement", - "documentation":"

The location where the instance launched, if applicable.

", - "locationName":"placement" - }, - "Platform":{ - "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances; otherwise blank.

", - "locationName":"platform" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", - "locationName":"privateDnsName" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address assigned to the instance.

", - "locationName":"privateIpAddress" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

The product codes attached to this instance, if applicable.

", - "locationName":"productCodes" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

(IPv4 only) The public DNS name assigned to the instance. This name is not available until the instance enters the running state. For EC2-VPC, this name is only available if you've enabled DNS hostnames for your VPC.

", - "locationName":"dnsName" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IPv4 address assigned to the instance, if applicable.

", - "locationName":"ipAddress" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The RAM disk associated with this instance, if applicable.

", - "locationName":"ramdiskId" - }, - "State":{ - "shape":"InstanceState", - "documentation":"

The current state of the instance.

", - "locationName":"instanceState" - }, - "StateTransitionReason":{ - "shape":"String", - "documentation":"

The reason for the most recent state transition. This might be an empty string.

", - "locationName":"reason" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", - "locationName":"vpcId" - }, - "Architecture":{ - "shape":"ArchitectureValues", - "documentation":"

The architecture of the image.

", - "locationName":"architecture" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "documentation":"

Any block device mapping entries for the instance.

", - "locationName":"blockDeviceMapping" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", - "locationName":"clientToken" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", - "locationName":"ebsOptimized" - }, - "EnaSupport":{ - "shape":"Boolean", - "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", - "locationName":"enaSupport" - }, - "Hypervisor":{ - "shape":"HypervisorType", - "documentation":"

The hypervisor type of the instance.

", - "locationName":"hypervisor" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfile", - "documentation":"

The IAM instance profile associated with the instance, if applicable.

", - "locationName":"iamInstanceProfile" - }, - "InstanceLifecycle":{ - "shape":"InstanceLifecycleType", - "documentation":"

Indicates whether this is a Spot Instance or a Scheduled Instance.

", - "locationName":"instanceLifecycle" - }, - "ElasticGpuAssociations":{ - "shape":"ElasticGpuAssociationList", - "documentation":"

The Elastic GPU associated with the instance.

", - "locationName":"elasticGpuAssociationSet" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceList", - "documentation":"

[EC2-VPC] One or more network interfaces for the instance.

", - "locationName":"networkInterfaceSet" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", - "locationName":"rootDeviceName" - }, - "RootDeviceType":{ - "shape":"DeviceType", - "documentation":"

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

", - "locationName":"rootDeviceType" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups for the instance.

", - "locationName":"groupSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", - "locationName":"sourceDestCheck" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

If the request is a Spot Instance request, the ID of the request.

", - "locationName":"spotInstanceRequestId" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "locationName":"sriovNetSupport" - }, - "StateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the most recent state transition.

", - "locationName":"stateReason" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the instance.

", - "locationName":"tagSet" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The virtualization type of the instance.

", - "locationName":"virtualizationType" - }, - "CpuOptions":{ - "shape":"CpuOptions", - "documentation":"

The CPU options for the instance.

", - "locationName":"cpuOptions" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceAttribute":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

The security groups associated with the instance.

", - "locationName":"groupSet" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingList", - "documentation":"

The block device mapping of the instance.

", - "locationName":"blockDeviceMapping" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "documentation":"

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", - "locationName":"disableApiTermination" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether enhanced networking with ENA is enabled.

", - "locationName":"enaSupport" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O.

", - "locationName":"ebsOptimized" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"AttributeValue", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "InstanceType":{ - "shape":"AttributeValue", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"AttributeValue", - "documentation":"

The kernel ID.

", - "locationName":"kernel" - }, - "ProductCodes":{ - "shape":"ProductCodeList", - "documentation":"

A list of product codes.

", - "locationName":"productCodes" - }, - "RamdiskId":{ - "shape":"AttributeValue", - "documentation":"

The RAM disk ID.

", - "locationName":"ramdisk" - }, - "RootDeviceName":{ - "shape":"AttributeValue", - "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", - "locationName":"rootDeviceName" - }, - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.

", - "locationName":"sourceDestCheck" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", - "locationName":"sriovNetSupport" - }, - "UserData":{ - "shape":"AttributeValue", - "documentation":"

The user data.

", - "locationName":"userData" - } - }, - "documentation":"

Describes an instance attribute.

" - }, - "InstanceAttributeName":{ - "type":"string", - "enum":[ - "instanceType", - "kernel", - "ramdisk", - "userData", - "disableApiTermination", - "instanceInitiatedShutdownBehavior", - "rootDeviceName", - "blockDeviceMapping", - "productCodes", - "sourceDestCheck", - "groupSet", - "ebsOptimized", - "sriovNetSupport", - "enaSupport" - ] - }, - "InstanceBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDevice", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "InstanceBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMapping", - "locationName":"item" - } - }, - "InstanceBlockDeviceMappingSpecification":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

", - "locationName":"deviceName" - }, - "Ebs":{ - "shape":"EbsInstanceBlockDeviceSpecification", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

suppress the specified device included in the block device mapping.

", - "locationName":"noDevice" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name.

", - "locationName":"virtualName" - } - }, - "documentation":"

Describes a block device mapping entry.

" - }, - "InstanceBlockDeviceMappingSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceBlockDeviceMappingSpecification", - "locationName":"item" - } - }, - "InstanceCapacity":{ - "type":"structure", - "members":{ - "AvailableCapacity":{ - "shape":"Integer", - "documentation":"

The number of instances that can 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.

", - "locationName":"totalCapacity" - } - }, - "documentation":"

Information about the instance type that the Dedicated Host supports.

" - }, - "InstanceCount":{ - "type":"structure", - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of listed Reserved Instances in the state specified by the state.

", - "locationName":"instanceCount" - }, - "State":{ - "shape":"ListingState", - "documentation":"

The states of the listed Reserved Instances.

", - "locationName":"state" - } - }, - "documentation":"

Describes a Reserved Instance listing state.

" - }, - "InstanceCountList":{ - "type":"list", - "member":{ - "shape":"InstanceCount", - "locationName":"item" - } - }, - "InstanceCreditSpecification":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "CpuCredits":{ - "shape":"String", - "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited.

", - "locationName":"cpuCredits" - } - }, - "documentation":"

Describes the credit option for CPU usage of a T2 instance.

" - }, - "InstanceCreditSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceCreditSpecification", - "locationName":"item" - } - }, - "InstanceCreditSpecificationListRequest":{ - "type":"list", - "member":{ - "shape":"InstanceCreditSpecificationRequest", - "locationName":"item" - } - }, - "InstanceCreditSpecificationRequest":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

" - }, - "CpuCredits":{ - "shape":"String", - "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited.

" - } - }, - "documentation":"

Describes the credit option for CPU usage of a T2 instance.

" - }, - "InstanceExportDetails":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the resource being exported.

", - "locationName":"instanceId" - }, - "TargetEnvironment":{ - "shape":"ExportEnvironment", - "documentation":"

The target virtualization environment.

", - "locationName":"targetEnvironment" - } - }, - "documentation":"

Describes an instance to export.

" - }, - "InstanceHealthStatus":{ - "type":"string", - "enum":[ - "healthy", - "unhealthy" - ] - }, - "InstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "InstanceIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"InstanceId" - } - }, - "InstanceInterruptionBehavior":{ - "type":"string", - "enum":[ - "hibernate", - "stop", - "terminate" - ] - }, - "InstanceIpv6Address":{ - "type":"structure", - "members":{ - "Ipv6Address":{ - "shape":"String", - "documentation":"

The IPv6 address.

", - "locationName":"ipv6Address" - } - }, - "documentation":"

Describes an IPv6 address.

" - }, - "InstanceIpv6AddressList":{ - "type":"list", - "member":{ - "shape":"InstanceIpv6Address", - "locationName":"item" - } - }, - "InstanceIpv6AddressListRequest":{ - "type":"list", - "member":{ - "shape":"InstanceIpv6AddressRequest", - "locationName":"InstanceIpv6Address" - } - }, - "InstanceIpv6AddressRequest":{ - "type":"structure", - "members":{ - "Ipv6Address":{ - "shape":"String", - "documentation":"

The IPv6 address.

" - } - }, - "documentation":"

Describes an IPv6 address.

" - }, - "InstanceLifecycleType":{ - "type":"string", - "enum":[ - "spot", - "scheduled" - ] - }, - "InstanceList":{ - "type":"list", - "member":{ - "shape":"Instance", - "locationName":"item" - } - }, - "InstanceMarketOptionsRequest":{ - "type":"structure", - "members":{ - "MarketType":{ - "shape":"MarketType", - "documentation":"

The market type.

" - }, - "SpotOptions":{ - "shape":"SpotMarketOptions", - "documentation":"

The options for Spot Instances.

" - } - }, - "documentation":"

Describes the market (purchasing) option for the instances.

" - }, - "InstanceMonitoring":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Monitoring":{ - "shape":"Monitoring", - "documentation":"

The monitoring for the instance.

", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the monitoring of an instance.

" - }, - "InstanceMonitoringList":{ - "type":"list", - "member":{ - "shape":"InstanceMonitoring", - "locationName":"item" - } - }, - "InstanceNetworkInterface":{ - "type":"structure", - "members":{ - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IPv4 associated with the network interface.

", - "locationName":"association" - }, - "Attachment":{ - "shape":"InstanceNetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

", - "locationName":"description" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups.

", - "locationName":"groupSet" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

One or more IPv6 addresses associated with the network interface.

", - "locationName":"ipv6AddressesSet" - }, - "MacAddress":{ - "shape":"String", - "documentation":"

The MAC address.

", - "locationName":"macAddress" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The ID of the AWS account that created the network interface.

", - "locationName":"ownerId" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address of the network interface within the subnet.

", - "locationName":"privateIpAddress" - }, - "PrivateIpAddresses":{ - "shape":"InstancePrivateIpAddressList", - "documentation":"

One or more private IPv4 addresses associated with the network interface.

", - "locationName":"privateIpAddressesSet" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Indicates whether to validate network traffic to or from this network interface.

", - "locationName":"sourceDestCheck" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "documentation":"

The status of the network interface.

", - "locationName":"status" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "IpOwnerId":{ - "shape":"String", - "documentation":"

The ID of the owner of the Elastic IP address.

", - "locationName":"ipOwnerId" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name.

", - "locationName":"publicDnsName" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The public IP address or Elastic IP address bound to the network interface.

", - "locationName":"publicIp" - } - }, - "documentation":"

Describes association information for an Elastic IP address (IPv4).

" - }, - "InstanceNetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the attachment initiated.

", - "locationName":"attachTime" - }, - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", - "locationName":"deleteOnTermination" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device on the instance for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - } - }, - "documentation":"

Describes a network interface attachment.

" - }, - "InstanceNetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterface", - "locationName":"item" - } - }, - "InstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

", - "locationName":"associatePublicIpAddress" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", - "locationName":"deleteOnTermination" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the network interface. Applies only if creating a network interface when launching an instance.

", - "locationName":"description" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The 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" - }, - "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", - "documentation":"

One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", - "locationName":"privateIpAddressesSet", - "queryName":"PrivateIpAddresses" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an instance.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes a network interface.

" - }, - "InstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"InstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "InstancePrivateIpAddress":{ - "type":"structure", - "members":{ - "Association":{ - "shape":"InstanceNetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address for the network interface.

", - "locationName":"association" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", - "locationName":"primary" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private IPv4 DNS name.

", - "locationName":"privateDnsName" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address of the network interface.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes a private IPv4 address.

" - }, - "InstancePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"InstancePrivateIpAddress", - "locationName":"item" - } - }, - "InstanceState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"Integer", - "documentation":"

The low byte represents the state. The high byte is used for internal purposes and should be ignored.

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

", - "locationName":"code" - }, - "Name":{ - "shape":"InstanceStateName", - "documentation":"

The current state of the instance.

", - "locationName":"name" - } - }, - "documentation":"

Describes the current state of an instance.

" - }, - "InstanceStateChange":{ - "type":"structure", - "members":{ - "CurrentState":{ - "shape":"InstanceState", - "documentation":"

The current state of the instance.

", - "locationName":"currentState" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "PreviousState":{ - "shape":"InstanceState", - "documentation":"

The previous state of the instance.

", - "locationName":"previousState" - } - }, - "documentation":"

Describes an instance state change.

" - }, - "InstanceStateChangeList":{ - "type":"list", - "member":{ - "shape":"InstanceStateChange", - "locationName":"item" - } - }, - "InstanceStateName":{ - "type":"string", - "enum":[ - "pending", - "running", - "shutting-down", - "terminated", - "stopping", - "stopped" - ] - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"InstanceStatusEventList", - "documentation":"

Any scheduled events associated with the instance.

", - "locationName":"eventsSet" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceState":{ - "shape":"InstanceState", - "documentation":"

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

", - "locationName":"instanceState" - }, - "InstanceStatus":{ - "shape":"InstanceStatusSummary", - "documentation":"

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

", - "locationName":"instanceStatus" - }, - "SystemStatus":{ - "shape":"InstanceStatusSummary", - "documentation":"

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", - "locationName":"systemStatus" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceStatusDetails":{ - "type":"structure", - "members":{ - "ImpairedSince":{ - "shape":"DateTime", - "documentation":"

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", - "locationName":"impairedSince" - }, - "Name":{ - "shape":"StatusName", - "documentation":"

The type of instance status.

", - "locationName":"name" - }, - "Status":{ - "shape":"StatusType", - "documentation":"

The status.

", - "locationName":"status" - } - }, - "documentation":"

Describes the instance status.

" - }, - "InstanceStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusDetails", - "locationName":"item" - } - }, - "InstanceStatusEvent":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"EventCode", - "documentation":"

The event code.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", - "locationName":"description" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest scheduled end time for the event.

", - "locationName":"notAfter" - }, - "NotBefore":{ - "shape":"DateTime", - "documentation":"

The earliest scheduled start time for the event.

", - "locationName":"notBefore" - } - }, - "documentation":"

Describes a scheduled event for an instance.

" - }, - "InstanceStatusEventList":{ - "type":"list", - "member":{ - "shape":"InstanceStatusEvent", - "locationName":"item" - } - }, - "InstanceStatusList":{ - "type":"list", - "member":{ - "shape":"InstanceStatus", - "locationName":"item" - } - }, - "InstanceStatusSummary":{ - "type":"structure", - "members":{ - "Details":{ - "shape":"InstanceStatusDetailsList", - "documentation":"

The system instance health or application instance health.

", - "locationName":"details" - }, - "Status":{ - "shape":"SummaryStatus", - "documentation":"

The status.

", - "locationName":"status" - } - }, - "documentation":"

Describes the status of an instance.

" - }, - "InstanceType":{ - "type":"string", - "enum":[ - "t1.micro", - "t2.nano", - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "t2.xlarge", - "t2.2xlarge", - "t3.nano", - "t3.micro", - "t3.small", - "t3.medium", - "t3.large", - "t3.xlarge", - "t3.2xlarge", - "m1.small", - "m1.medium", - "m1.large", - "m1.xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge", - "m4.16xlarge", - "m2.xlarge", - "m2.2xlarge", - "m2.4xlarge", - "cr1.8xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "r4.large", - "r4.xlarge", - "r4.2xlarge", - "r4.4xlarge", - "r4.8xlarge", - "r4.16xlarge", - "r5.large", - "r5.xlarge", - "r5.2xlarge", - "r5.4xlarge", - "r5.8xlarge", - "r5.12xlarge", - "r5.16xlarge", - "r5.24xlarge", - "r5.metal", - "r5d.large", - "r5d.xlarge", - "r5d.2xlarge", - "r5d.4xlarge", - "r5d.8xlarge", - "r5d.12xlarge", - "r5d.16xlarge", - "r5d.24xlarge", - "r5d.metal", - "x1.16xlarge", - "x1.32xlarge", - "x1e.xlarge", - "x1e.2xlarge", - "x1e.4xlarge", - "x1e.8xlarge", - "x1e.16xlarge", - "x1e.32xlarge", - "i2.xlarge", - "i2.2xlarge", - "i2.4xlarge", - "i2.8xlarge", - "i3.large", - "i3.xlarge", - "i3.2xlarge", - "i3.4xlarge", - "i3.8xlarge", - "i3.16xlarge", - "i3.metal", - "hi1.4xlarge", - "hs1.8xlarge", - "c1.medium", - "c1.xlarge", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "c5.large", - "c5.xlarge", - "c5.2xlarge", - "c5.4xlarge", - "c5.9xlarge", - "c5.18xlarge", - "c5d.large", - "c5d.xlarge", - "c5d.2xlarge", - "c5d.4xlarge", - "c5d.9xlarge", - "c5d.18xlarge", - "cc1.4xlarge", - "cc2.8xlarge", - "g2.2xlarge", - "g2.8xlarge", - "g3.4xlarge", - "g3.8xlarge", - "g3.16xlarge", - "cg1.4xlarge", - "p2.xlarge", - "p2.8xlarge", - "p2.16xlarge", - "p3.2xlarge", - "p3.8xlarge", - "p3.16xlarge", - "d2.xlarge", - "d2.2xlarge", - "d2.4xlarge", - "d2.8xlarge", - "f1.2xlarge", - "f1.16xlarge", - "m5.large", - "m5.xlarge", - "m5.2xlarge", - "m5.4xlarge", - "m5.12xlarge", - "m5.24xlarge", - "m5d.large", - "m5d.xlarge", - "m5d.2xlarge", - "m5d.4xlarge", - "m5d.12xlarge", - "m5d.24xlarge", - "h1.2xlarge", - "h1.4xlarge", - "h1.8xlarge", - "h1.16xlarge", - "z1d.large", - "z1d.xlarge", - "z1d.2xlarge", - "z1d.3xlarge", - "z1d.6xlarge", - "z1d.12xlarge" - ] - }, - "InstanceTypeList":{ - "type":"list", - "member":{"shape":"InstanceType"} - }, - "Integer":{"type":"integer"}, - "InterfacePermissionType":{ - "type":"string", - "enum":[ - "INSTANCE-ATTACH", - "EIP-ASSOCIATE" - ] - }, - "InternetGateway":{ - "type":"structure", - "members":{ - "Attachments":{ - "shape":"InternetGatewayAttachmentList", - "documentation":"

Any VPCs attached to the internet gateway.

", - "locationName":"attachmentSet" - }, - "InternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the internet gateway.

", - "locationName":"internetGatewayId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the internet gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes an internet gateway.

" - }, - "InternetGatewayAttachment":{ - "type":"structure", - "members":{ - "State":{ - "shape":"AttachmentStatus", - "documentation":"

The current state of the attachment. For an internet gateway, the state is available when attached to a VPC; otherwise, this value is not returned.

", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes the attachment of a VPC to an internet gateway or an egress-only internet gateway.

" - }, - "InternetGatewayAttachmentList":{ - "type":"list", - "member":{ - "shape":"InternetGatewayAttachment", - "locationName":"item" - } - }, - "InternetGatewayList":{ - "type":"list", - "member":{ - "shape":"InternetGateway", - "locationName":"item" - } - }, - "IpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) 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", - "documentation":"

One or more IPv4 ranges.

", - "locationName":"ipRanges" - }, - "Ipv6Ranges":{ - "shape":"Ipv6RangeList", - "documentation":"

[EC2-VPC only] One or more IPv6 ranges.

", - "locationName":"ipv6Ranges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdList", - "documentation":"

(EC2-VPC only; 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. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairList", - "documentation":"

One or more security group and AWS account ID pairs.

", - "locationName":"groups" - } - }, - "documentation":"

Describes a set of permissions for a security group rule.

" - }, - "IpPermissionList":{ - "type":"list", - "member":{ - "shape":"IpPermission", - "locationName":"item" - } - }, - "IpRange":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

", - "locationName":"cidrIp" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the security group rule that references this IPv4 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", - "locationName":"description" - } - }, - "documentation":"

Describes an IPv4 range.

" - }, - "IpRangeList":{ - "type":"list", - "member":{ - "shape":"IpRange", - "locationName":"item" - } - }, - "IpRanges":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "Ipv6Address":{"type":"string"}, - "Ipv6AddressList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "Ipv6CidrBlock":{ - "type":"structure", - "members":{ - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block.

", - "locationName":"ipv6CidrBlock" - } - }, - "documentation":"

Describes an IPv6 CIDR block.

" - }, - "Ipv6CidrBlockSet":{ - "type":"list", - "member":{ - "shape":"Ipv6CidrBlock", - "locationName":"item" - } - }, - "Ipv6Range":{ - "type":"structure", - "members":{ - "CidrIpv6":{ - "shape":"String", - "documentation":"

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

", - "locationName":"cidrIpv6" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the security group rule that references this IPv6 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", - "locationName":"description" - } - }, - "documentation":"

[EC2-VPC only] Describes an IPv6 range.

" - }, - "Ipv6RangeList":{ - "type":"list", - "member":{ - "shape":"Ipv6Range", - "locationName":"item" - } - }, - "KeyNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"KeyName" - } - }, - "KeyPair":{ - "type":"structure", - "members":{ - "KeyFingerprint":{ - "shape":"String", - "documentation":"

The SHA-1 digest of the DER encoded private key.

", - "locationName":"keyFingerprint" - }, - "KeyMaterial":{ - "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.

" - }, - "KeyPairInfo":{ - "type":"structure", - "members":{ - "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.

" - }, - "KeyPairList":{ - "type":"list", - "member":{ - "shape":"KeyPairInfo", - "locationName":"item" - } - }, - "LaunchPermission":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"PermissionGroup", - "documentation":"

The name of the group.

", - "locationName":"group" - }, - "UserId":{ - "shape":"String", - "documentation":"

The AWS account ID.

", - "locationName":"userId" - } - }, - "documentation":"

Describes a launch permission.

" - }, - "LaunchPermissionList":{ - "type":"list", - "member":{ - "shape":"LaunchPermission", - "locationName":"item" - } - }, - "LaunchPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" - }, - "Remove":{ - "shape":"LaunchPermissionList", - "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" - } - }, - "documentation":"

Describes a launch permission modification.

" - }, - "LaunchSpecification":{ - "type":"structure", - "members":{ - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded user data for the instance.

", - "locationName":"userData" - }, - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", - "locationName":"groupSet" - }, - "AddressingType":{ - "shape":"String", - "documentation":"

Deprecated.

", - "locationName":"addressingType" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries.

", - "locationName":"blockDeviceMapping" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", - "locationName":"ebsOptimized" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "locationName":"networkInterfaceSet" - }, - "Placement":{ - "shape":"SpotPlacement", - "documentation":"

The placement information for the instance.

", - "locationName":"placement" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instance.

", - "locationName":"subnetId" - }, - "Monitoring":{ - "shape":"RunInstancesMonitoringEnabled", - "locationName":"monitoring" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "LaunchSpecsList":{ - "type":"list", - "member":{ - "shape":"SpotFleetLaunchSpecification", - "locationName":"item" - } - }, - "LaunchTemplate":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

", - "locationName":"launchTemplateId" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template.

", - "locationName":"launchTemplateName" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The time launch template was created.

", - "locationName":"createTime" - }, - "CreatedBy":{ - "shape":"String", - "documentation":"

The principal that created the launch template.

", - "locationName":"createdBy" - }, - "DefaultVersionNumber":{ - "shape":"Long", - "documentation":"

The version number of the default version of the launch template.

", - "locationName":"defaultVersionNumber" - }, - "LatestVersionNumber":{ - "shape":"Long", - "documentation":"

The version number of the latest version of the launch template.

", - "locationName":"latestVersionNumber" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the launch template.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a launch template.

" - }, - "LaunchTemplateBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"deviceName" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN).

", - "locationName":"virtualName" - }, - "Ebs":{ - "shape":"LaunchTemplateEbsBlockDevice", - "documentation":"

Information about the block device for an EBS volume.

", - "locationName":"ebs" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", - "locationName":"noDevice" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "LaunchTemplateBlockDeviceMappingList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateBlockDeviceMapping", - "locationName":"item" - } - }, - "LaunchTemplateBlockDeviceMappingRequest":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

" - }, - "Ebs":{ - "shape":"LaunchTemplateEbsBlockDeviceRequest", - "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" - } - }, - "documentation":"

Describes a block device mapping.

" - }, - "LaunchTemplateBlockDeviceMappingRequestList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateBlockDeviceMappingRequest", - "locationName":"BlockDeviceMapping" - } - }, - "LaunchTemplateConfig":{ - "type":"structure", - "members":{ - "LaunchTemplateSpecification":{ - "shape":"FleetLaunchTemplateSpecification", - "documentation":"

The launch template.

", - "locationName":"launchTemplateSpecification" - }, - "Overrides":{ - "shape":"LaunchTemplateOverridesList", - "documentation":"

Any parameters that you specify override the same parameters in the launch template.

", - "locationName":"overrides" - } - }, - "documentation":"

Describes a launch template and overrides.

" - }, - "LaunchTemplateConfigList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateConfig", - "locationName":"item" - } - }, - "LaunchTemplateCpuOptions":{ - "type":"structure", - "members":{ - "CoreCount":{ - "shape":"Integer", - "documentation":"

The number of CPU cores for the instance.

", - "locationName":"coreCount" - }, - "ThreadsPerCore":{ - "shape":"Integer", - "documentation":"

The number of threads per CPU core.

", - "locationName":"threadsPerCore" - } - }, - "documentation":"

The CPU options for the instance.

" - }, - "LaunchTemplateCpuOptionsRequest":{ - "type":"structure", - "members":{ - "CoreCount":{ - "shape":"Integer", - "documentation":"

The number of CPU cores for the instance.

" - }, - "ThreadsPerCore":{ - "shape":"Integer", - "documentation":"

The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

" - } - }, - "documentation":"

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

" - }, - "LaunchTemplateEbsBlockDevice":{ - "type":"structure", - "members":{ - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is encrypted.

", - "locationName":"encrypted" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports.

", - "locationName":"iops" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.

", - "locationName":"kmsKeyId" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

", - "locationName":"snapshotId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type.

", - "locationName":"volumeType" - } - }, - "documentation":"

Describes a block device for an EBS volume.

" - }, - "LaunchTemplateEbsBlockDeviceRequest":{ - "type":"structure", - "members":{ - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.

" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type.

" - } - }, - "documentation":"

The parameters for a block device for an EBS volume.

" - }, - "LaunchTemplateErrorCode":{ - "type":"string", - "enum":[ - "launchTemplateIdDoesNotExist", - "launchTemplateIdMalformed", - "launchTemplateNameDoesNotExist", - "launchTemplateNameMalformed", - "launchTemplateVersionDoesNotExist", - "unexpectedError" - ] - }, - "LaunchTemplateIamInstanceProfileSpecification":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", - "locationName":"arn" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

", - "locationName":"name" - } - }, - "documentation":"

Describes an IAM instance profile.

" - }, - "LaunchTemplateIamInstanceProfileSpecificationRequest":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance profile.

" - } - }, - "documentation":"

An IAM instance profile.

" - }, - "LaunchTemplateInstanceMarketOptions":{ - "type":"structure", - "members":{ - "MarketType":{ - "shape":"MarketType", - "documentation":"

The market type.

", - "locationName":"marketType" - }, - "SpotOptions":{ - "shape":"LaunchTemplateSpotMarketOptions", - "documentation":"

The options for Spot Instances.

", - "locationName":"spotOptions" - } - }, - "documentation":"

The market (purchasing) option for the instances.

" - }, - "LaunchTemplateInstanceMarketOptionsRequest":{ - "type":"structure", - "members":{ - "MarketType":{ - "shape":"MarketType", - "documentation":"

The market type.

" - }, - "SpotOptions":{ - "shape":"LaunchTemplateSpotMarketOptionsRequest", - "documentation":"

The options for Spot Instances.

" - } - }, - "documentation":"

The market (purchasing) option for the instances.

" - }, - "LaunchTemplateInstanceNetworkInterfaceSpecification":{ - "type":"structure", - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

", - "locationName":"associatePublicIpAddress" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", - "locationName":"deleteOnTermination" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the network interface.

", - "locationName":"description" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The device index for the network interface attachment.

", - "locationName":"deviceIndex" - }, - "Groups":{ - "shape":"GroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"groupSet" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses for the network interface.

", - "locationName":"ipv6AddressCount" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressList", - "documentation":"

The IPv6 addresses for the network interface.

", - "locationName":"ipv6AddressesSet" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The primary private IPv4 address of the network interface.

", - "locationName":"privateIpAddress" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IPv4 addresses.

", - "locationName":"privateIpAddressesSet" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses for the network interface.

", - "locationName":"secondaryPrivateIpAddressCount" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet for the network interface.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes a network interface.

" - }, - "LaunchTemplateInstanceNetworkInterfaceSpecificationList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateInstanceNetworkInterfaceSpecification", - "locationName":"item" - } - }, - "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest":{ - "type":"structure", - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Associates a public IPv4 address with eth0 for a new network interface.

" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the network interface.

" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The device index for the network interface attachment.

" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"SecurityGroupId" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

" - }, - "Ipv6Addresses":{ - "shape":"InstanceIpv6AddressListRequest", - "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The primary private IPv4 address of the network interface.

" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressSpecificationList", - "documentation":"

One or more private IPv4 addresses.

" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet for the network interface.

" - } - }, - "documentation":"

The parameters for a network interface.

" - }, - "LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationRequest", - "locationName":"InstanceNetworkInterfaceSpecification" - } - }, - "LaunchTemplateName":{ - "type":"string", - "max":128, - "min":3, - "pattern":"[a-zA-Z0-9\\(\\)\\.-/_]+" - }, - "LaunchTemplateNameStringList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateName", - "locationName":"item" - } - }, - "LaunchTemplateOverrides":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", - "locationName":"spotPrice" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which to launch the instances.

", - "locationName":"subnetId" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which to launch the instances.

", - "locationName":"availabilityZone" - }, - "WeightedCapacity":{ - "shape":"Double", - "documentation":"

The number of units provided by the specified instance type.

", - "locationName":"weightedCapacity" - }, - "Priority":{ - "shape":"Double", - "documentation":"

The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

", - "locationName":"priority" - } - }, - "documentation":"

Describes overrides for a launch template.

" - }, - "LaunchTemplateOverridesList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateOverrides", - "locationName":"item" - } - }, - "LaunchTemplatePlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Affinity":{ - "shape":"String", - "documentation":"

The affinity setting for the instance on the Dedicated Host.

", - "locationName":"affinity" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group for the instance.

", - "locationName":"groupName" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host for the instance.

", - "locationName":"hostId" - }, - "Tenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

", - "locationName":"tenancy" - }, - "SpreadDomain":{ - "shape":"String", - "documentation":"

Reserved for future use.

", - "locationName":"spreadDomain" - } - }, - "documentation":"

Describes the placement of an instance.

" - }, - "LaunchTemplatePlacementRequest":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the instance.

" - }, - "Affinity":{ - "shape":"String", - "documentation":"

The affinity setting for an instance on a Dedicated Host.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group for the instance.

" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host for the instance.

" - }, - "Tenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

" - }, - "SpreadDomain":{ - "shape":"String", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

The placement for the instance.

" - }, - "LaunchTemplateSet":{ - "type":"list", - "member":{ - "shape":"LaunchTemplate", - "locationName":"item" - } - }, - "LaunchTemplateSpecification":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

" - }, - "LaunchTemplateName":{ - "shape":"String", - "documentation":"

The name of the launch template.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The version number of the launch template.

Default: The default version for the launch template.

" - } - }, - "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

" - }, - "LaunchTemplateSpotMarketOptions":{ - "type":"structure", - "members":{ - "MaxPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances.

", - "locationName":"maxPrice" - }, - "SpotInstanceType":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

", - "locationName":"spotInstanceType" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

", - "locationName":"blockDurationMinutes" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

", - "locationName":"validUntil" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted.

", - "locationName":"instanceInterruptionBehavior" - } - }, - "documentation":"

The options for Spot Instances.

" - }, - "LaunchTemplateSpotMarketOptionsRequest":{ - "type":"structure", - "members":{ - "MaxPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances.

" - }, - "SpotInstanceType":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. The default end date is 7 days from the current date.

" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" - } - }, - "documentation":"

The options for Spot Instances.

" - }, - "LaunchTemplateTagSpecification":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource.

", - "locationName":"resourceType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the resource.

", - "locationName":"tagSet" - } - }, - "documentation":"

The tag specification for the launch template.

" - }, - "LaunchTemplateTagSpecificationList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateTagSpecification", - "locationName":"item" - } - }, - "LaunchTemplateTagSpecificationRequest":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. To tag a resource after it has been created, see CreateTags.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to apply to the resource.

", - "locationName":"Tag" - } - }, - "documentation":"

The tags specification for the launch template.

" - }, - "LaunchTemplateTagSpecificationRequestList":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateTagSpecificationRequest", - "locationName":"LaunchTemplateTagSpecificationRequest" - } - }, - "LaunchTemplateVersion":{ - "type":"structure", - "members":{ - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template.

", - "locationName":"launchTemplateId" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template.

", - "locationName":"launchTemplateName" - }, - "VersionNumber":{ - "shape":"Long", - "documentation":"

The version number.

", - "locationName":"versionNumber" - }, - "VersionDescription":{ - "shape":"VersionDescription", - "documentation":"

The description for the version.

", - "locationName":"versionDescription" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The time the version was created.

", - "locationName":"createTime" - }, - "CreatedBy":{ - "shape":"String", - "documentation":"

The principal that created the version.

", - "locationName":"createdBy" - }, - "DefaultVersion":{ - "shape":"Boolean", - "documentation":"

Indicates whether the version is the default version.

", - "locationName":"defaultVersion" - }, - "LaunchTemplateData":{ - "shape":"ResponseLaunchTemplateData", - "documentation":"

Information about the launch template.

", - "locationName":"launchTemplateData" - } - }, - "documentation":"

Describes a launch template version.

" - }, - "LaunchTemplateVersionSet":{ - "type":"list", - "member":{ - "shape":"LaunchTemplateVersion", - "locationName":"item" - } - }, - "LaunchTemplatesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "LaunchTemplatesMonitoringRequest":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

" - } - }, - "documentation":"

Describes the monitoring for the instance.

" - }, - "ListingState":{ - "type":"string", - "enum":[ - "available", - "sold", - "cancelled", - "pending" - ] - }, - "ListingStatus":{ - "type":"string", - "enum":[ - "active", - "pending", - "cancelled", - "closed" - ] - }, - "LoadBalancersConfig":{ - "type":"structure", - "members":{ - "ClassicLoadBalancersConfig":{ - "shape":"ClassicLoadBalancersConfig", - "documentation":"

The Classic Load Balancers.

", - "locationName":"classicLoadBalancersConfig" - }, - "TargetGroupsConfig":{ - "shape":"TargetGroupsConfig", - "documentation":"

The target groups.

", - "locationName":"targetGroupsConfig" - } - }, - "documentation":"

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet request.

" - }, - "LoadPermission":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"String", - "documentation":"

The AWS account ID.

", - "locationName":"userId" - }, - "Group":{ - "shape":"PermissionGroup", - "documentation":"

The name of the group.

", - "locationName":"group" - } - }, - "documentation":"

Describes a load permission.

" - }, - "LoadPermissionList":{ - "type":"list", - "member":{ - "shape":"LoadPermission", - "locationName":"item" - } - }, - "LoadPermissionListRequest":{ - "type":"list", - "member":{ - "shape":"LoadPermissionRequest", - "locationName":"item" - } - }, - "LoadPermissionModifications":{ - "type":"structure", - "members":{ - "Add":{ - "shape":"LoadPermissionListRequest", - "documentation":"

The load permissions to add.

" - }, - "Remove":{ - "shape":"LoadPermissionListRequest", - "documentation":"

The load permissions to remove.

" - } - }, - "documentation":"

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

" - }, - "LoadPermissionRequest":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"PermissionGroup", - "documentation":"

The name of the group.

" - }, - "UserId":{ - "shape":"String", - "documentation":"

The AWS account ID.

" - } - }, - "documentation":"

Describes a load permission.

" - }, - "LogDestinationType":{ - "type":"string", - "enum":[ - "cloud-watch-logs", - "s3" - ] - }, - "Long":{"type":"long"}, - "MarketType":{ - "type":"string", - "enum":["spot"] - }, - "MaxResults":{ - "type":"integer", - "max":255, - "min":5 - }, - "ModifyFleetRequest":{ - "type":"structure", - "required":[ - "FleetId", - "TargetCapacitySpecification" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"FleetExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" - }, - "FleetId":{ - "shape":"FleetIdentifier", - "documentation":"

The ID of the EC2 Fleet.

" - }, - "TargetCapacitySpecification":{ - "shape":"TargetCapacitySpecificationRequest", - "documentation":"

The size of the EC2 Fleet.

" - } - } - }, - "ModifyFleetResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - } - }, - "ModifyFpgaImageAttributeRequest":{ - "type":"structure", - "required":["FpgaImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the AFI.

" - }, - "Attribute":{ - "shape":"FpgaImageAttributeName", - "documentation":"

The name of the attribute.

" - }, - "OperationType":{ - "shape":"OperationType", - "documentation":"

The operation type.

" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

One or more AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

", - "locationName":"UserId" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "documentation":"

One or more user groups. This parameter is valid only when modifying the loadPermission attribute.

", - "locationName":"UserGroup" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "documentation":"

One or more product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

", - "locationName":"ProductCode" - }, - "LoadPermission":{ - "shape":"LoadPermissionModifications", - "documentation":"

The load permission for the AFI.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the AFI.

" - }, - "Name":{ - "shape":"String", - "documentation":"

A name for the AFI.

" - } - } - }, - "ModifyFpgaImageAttributeResult":{ - "type":"structure", - "members":{ - "FpgaImageAttribute":{ - "shape":"FpgaImageAttribute", - "documentation":"

Information about the attribute.

", - "locationName":"fpgaImageAttribute" - } - } - }, - "ModifyHostsRequest":{ - "type":"structure", - "required":[ - "AutoPlacement", - "HostIds" - ], - "members":{ - "AutoPlacement":{ - "shape":"AutoPlacement", - "documentation":"

Specify whether to enable or disable auto-placement.

", - "locationName":"autoPlacement" - }, - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated Hosts to modify.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ModifyHosts.

" - }, - "ModifyHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully modified.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", - "locationName":"unsuccessful" - } - }, - "documentation":"

Contains the output of ModifyHosts.

" - }, - "ModifyIdFormatRequest":{ - "type":"structure", - "required":[ - "Resource", - "UseLongIds" - ], - "members":{ - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicate whether the resource should use longer IDs (17-character IDs).

" - } - }, - "documentation":"

Contains the parameters of ModifyIdFormat.

" - }, - "ModifyIdentityIdFormatRequest":{ - "type":"structure", - "required":[ - "PrincipalArn", - "Resource", - "UseLongIds" - ], - "members":{ - "PrincipalArn":{ - "shape":"String", - "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

", - "locationName":"principalArn" - }, - "Resource":{ - "shape":"String", - "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

", - "locationName":"resource" - }, - "UseLongIds":{ - "shape":"Boolean", - "documentation":"

Indicates whether the resource should use longer IDs (17-character IDs)

", - "locationName":"useLongIds" - } - }, - "documentation":"

Contains the parameters of ModifyIdentityIdFormat.

" - }, - "ModifyImageAttributeRequest":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "Attribute":{ - "shape":"String", - "documentation":"

The name of the attribute to modify. The valid values are description, launchPermission, and productCodes.

" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A new description for the AMI.

" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

" - }, - "LaunchPermission":{ - "shape":"LaunchPermissionModifications", - "documentation":"

A new launch permission for the AMI.

" - }, - "OperationType":{ - "shape":"OperationType", - "documentation":"

The operation type. This parameter can be used only when the Attribute parameter is launchPermission.

" - }, - "ProductCodes":{ - "shape":"ProductCodeStringList", - "documentation":"

One or more DevPay product codes. After you add a product code to an AMI, it can't be removed.

", - "locationName":"ProductCode" - }, - "UserGroups":{ - "shape":"UserGroupStringList", - "documentation":"

One or more user groups. This parameter can be used only when the Attribute parameter is launchPermission.

", - "locationName":"UserGroup" - }, - "UserIds":{ - "shape":"UserIdStringList", - "documentation":"

One or more AWS account IDs. This parameter can be used only when the Attribute parameter is launchPermission.

", - "locationName":"UserId" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the attribute being modified. This parameter can be used only when the Attribute parameter is description or productCodes.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for ModifyImageAttribute.

" - }, - "ModifyInstanceAttributeRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "SourceDestCheck":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.

" - }, - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The name of the attribute.

", - "locationName":"attribute" - }, - "BlockDeviceMappings":{ - "shape":"InstanceBlockDeviceMappingSpecificationList", - "documentation":"

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"blockDeviceMapping" - }, - "DisableApiTermination":{ - "shape":"AttributeBooleanValue", - "documentation":"

If the value is true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot Instances.

", - "locationName":"disableApiTermination" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EbsOptimized":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specifies whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", - "locationName":"ebsOptimized" - }, - "EnaSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Set to true to enable enhanced networking with ENA for the instance.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"enaSupport" - }, - "Groups":{ - "shape":"GroupIdStringList", - "documentation":"

[EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.

", - "locationName":"GroupId" - }, - "InstanceId":{ - "shape":"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.

", - "locationName":"instanceType" - }, - "Kernel":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"kernel" - }, - "Ramdisk":{ - "shape":"AttributeValue", - "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", - "locationName":"ramdisk" - }, - "SriovNetSupport":{ - "shape":"AttributeValue", - "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance.

There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", - "locationName":"sriovNetSupport" - }, - "UserData":{ - "shape":"BlobAttributeValue", - "documentation":"

Changes the instance's user data to the specified value. If you are using an AWS SDK or command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.

", - "locationName":"userData" - }, - "Value":{ - "shape":"String", - "documentation":"

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", - "locationName":"value" - } - }, - "documentation":"

Contains the parameters for ModifyInstanceAttribute.

" - }, - "ModifyInstanceCreditSpecificationRequest":{ - "type":"structure", - "required":["InstanceCreditSpecifications"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

" - }, - "InstanceCreditSpecifications":{ - "shape":"InstanceCreditSpecificationListRequest", - "documentation":"

Information about the credit option for CPU usage.

", - "locationName":"InstanceCreditSpecification" - } - } - }, - "ModifyInstanceCreditSpecificationResult":{ - "type":"structure", - "members":{ - "SuccessfulInstanceCreditSpecifications":{ - "shape":"SuccessfulInstanceCreditSpecificationSet", - "documentation":"

Information about the instances whose credit option for CPU usage was successfully modified.

", - "locationName":"successfulInstanceCreditSpecificationSet" - }, - "UnsuccessfulInstanceCreditSpecifications":{ - "shape":"UnsuccessfulInstanceCreditSpecificationSet", - "documentation":"

Information about the instances whose credit option for CPU usage was not modified.

", - "locationName":"unsuccessfulInstanceCreditSpecificationSet" - } - } - }, - "ModifyInstancePlacementRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "Affinity":{ - "shape":"Affinity", - "documentation":"

The affinity setting for the instance.

", - "locationName":"affinity" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster placement groups, the instance must have a tenancy of default or dedicated.

To remove an instance from a placement group, specify an empty string (\"\").

" - }, - "HostId":{ - "shape":"String", - "documentation":"

The ID of the Dedicated Host with which to associate the instance.

", - "locationName":"hostId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that you are modifying.

", - "locationName":"instanceId" - }, - "Tenancy":{ - "shape":"HostTenancy", - "documentation":"

The tenancy for the instance.

", - "locationName":"tenancy" - } - }, - "documentation":"

Contains the parameters for ModifyInstancePlacement.

" - }, - "ModifyInstancePlacementResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyInstancePlacement.

" - }, - "ModifyLaunchTemplateRequest":{ - "type":"structure", - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" - }, - "LaunchTemplateId":{ - "shape":"String", - "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "LaunchTemplateName":{ - "shape":"LaunchTemplateName", - "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" - }, - "DefaultVersion":{ - "shape":"String", - "documentation":"

The version number of the launch template to set as the default version.

", - "locationName":"SetDefaultVersion" - } - } - }, - "ModifyLaunchTemplateResult":{ - "type":"structure", - "members":{ - "LaunchTemplate":{ - "shape":"LaunchTemplate", - "documentation":"

Information about the launch template.

", - "locationName":"launchTemplate" - } - } - }, - "ModifyNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "Attachment":{ - "shape":"NetworkInterfaceAttachmentChanges", - "documentation":"

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

", - "locationName":"attachment" - }, - "Description":{ - "shape":"AttributeValue", - "documentation":"

A description for the network interface.

", - "locationName":"description" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Groups":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

", - "locationName":"SecurityGroupId" - }, - "NetworkInterfaceId":{ - "shape":"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.

" - }, - "ModifyReservedInstancesRequest":{ - "type":"structure", - "required":[ - "ReservedInstancesIds", - "TargetConfigurations" - ], - "members":{ - "ReservedInstancesIds":{ - "shape":"ReservedInstancesIdStringList", - "documentation":"

The IDs of the Reserved Instances to modify.

", - "locationName":"ReservedInstancesId" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, - "TargetConfigurations":{ - "shape":"ReservedInstancesConfigurationList", - "documentation":"

The configuration settings for the Reserved Instances to modify.

", - "locationName":"ReservedInstancesConfigurationSetItemType" - } - }, - "documentation":"

Contains the parameters for ModifyReservedInstances.

" - }, - "ModifyReservedInstancesResult":{ - "type":"structure", - "members":{ - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

The ID for the modification.

", - "locationName":"reservedInstancesModificationId" - } - }, - "documentation":"

Contains the output of ModifyReservedInstances.

" - }, - "ModifySnapshotAttributeRequest":{ - "type":"structure", - "required":["SnapshotId"], - "members":{ - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The snapshot attribute to modify. Only volume creation permissions can be modified.

" - }, - "CreateVolumePermission":{ - "shape":"CreateVolumePermissionModifications", - "documentation":"

A JSON representation of the snapshot attribute modification.

" - }, - "GroupNames":{ - "shape":"GroupNameStringList", - "documentation":"

The group to modify for the snapshot.

", - "locationName":"UserGroup" - }, - "OperationType":{ - "shape":"OperationType", - "documentation":"

The type of operation to perform to the attribute.

" - }, - "SnapshotId":{ - "shape":"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.

" - }, - "ModifySpotFleetRequestRequest":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", - "locationName":"excessCapacityTerminationPolicy" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - }, - "TargetCapacity":{ - "shape":"Integer", - "documentation":"

The size of the fleet.

", - "locationName":"targetCapacity" - } - }, - "documentation":"

Contains the parameters for ModifySpotFleetRequest.

" - }, - "ModifySpotFleetRequestResponse":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifySpotFleetRequest.

" - }, - "ModifySubnetAttributeRequest":{ - "type":"structure", - "required":["SubnetId"], - "members":{ - "AssignIpv6AddressOnCreation":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address).

If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API.

" - }, - "MapPublicIpOnLaunch":{ - "shape":"AttributeBooleanValue", - "documentation":"

Specify true to indicate that network interfaces 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).

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Contains the parameters for ModifySubnetAttribute.

" - }, - "ModifyVolumeAttributeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "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.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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", - "documentation":"

The ID of the volume.

" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The target size of the volume, in GiB. The target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see Amazon EBS Volume Types.

Default: If no size is specified, the existing size is retained.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The target EBS volume type of the volume.

Default: If no type is specified, the existing type is retained.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The target IOPS rate of the volume.

This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.

Default: If no IOPS value is specified, the existing value is retained.

" - } - } - }, - "ModifyVolumeResult":{ - "type":"structure", - "members":{ - "VolumeModification":{ - "shape":"VolumeModification", - "documentation":"

Information about the volume modification.

", - "locationName":"volumeModification" - } - } - }, - "ModifyVpcAttributeRequest":{ - "type":"structure", - "required":["VpcId"], - "members":{ - "EnableDnsHostnames":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" - }, - "EnableDnsSupport":{ - "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Contains the parameters for ModifyVpcAttribute.

" - }, - "ModifyVpcEndpointConnectionNotificationRequest":{ - "type":"structure", - "required":["ConnectionNotificationId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ConnectionNotificationId":{ - "shape":"String", - "documentation":"

The ID of the notification.

" - }, - "ConnectionNotificationArn":{ - "shape":"String", - "documentation":"

The ARN for the SNS topic for the notification.

" - }, - "ConnectionEvents":{ - "shape":"ValueStringList", - "documentation":"

One or more events for the endpoint. Valid values are Accept, Connect, Delete, and Reject.

" - } - } - }, - "ModifyVpcEndpointConnectionNotificationResult":{ - "type":"structure", - "members":{ - "ReturnValue":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ModifyVpcEndpointRequest":{ - "type":"structure", - "required":["VpcEndpointId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the endpoint.

" - }, - "ResetPolicy":{ - "shape":"Boolean", - "documentation":"

(Gateway endpoint) Specify true to reset the policy document to the default policy. The default policy allows full access to the service.

" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

(Gateway endpoint) A policy document to attach to the endpoint. The policy must be in valid JSON format.

" - }, - "AddRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

(Gateway endpoint) One or more route tables IDs to associate with the endpoint.

", - "locationName":"AddRouteTableId" - }, - "RemoveRouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

(Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

", - "locationName":"RemoveRouteTableId" - }, - "AddSubnetIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more subnet IDs in which to serve the endpoint.

", - "locationName":"AddSubnetId" - }, - "RemoveSubnetIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more subnets IDs in which to remove the endpoint.

", - "locationName":"RemoveSubnetId" - }, - "AddSecurityGroupIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more security group IDs to associate with the network interface.

", - "locationName":"AddSecurityGroupId" - }, - "RemoveSecurityGroupIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more security group IDs to disassociate from the network interface.

", - "locationName":"RemoveSecurityGroupId" - }, - "PrivateDnsEnabled":{ - "shape":"Boolean", - "documentation":"

(Interface endpoint) Indicate whether a private hosted zone is associated with the VPC.

" - } - }, - "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" - }, - "ModifyVpcEndpointResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ModifyVpcEndpointServiceConfigurationRequest":{ - "type":"structure", - "required":["ServiceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service.

" - }, - "AcceptanceRequired":{ - "shape":"Boolean", - "documentation":"

Indicate whether requests to create an endpoint to your service must be accepted.

" - }, - "AddNetworkLoadBalancerArns":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration.

", - "locationName":"AddNetworkLoadBalancerArn" - }, - "RemoveNetworkLoadBalancerArns":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service configuration.

", - "locationName":"RemoveNetworkLoadBalancerArn" - } - } - }, - "ModifyVpcEndpointServiceConfigurationResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ModifyVpcEndpointServicePermissionsRequest":{ - "type":"structure", - "required":["ServiceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service.

" - }, - "AddAllowedPrincipals":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARN) of one or more principals. Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*).

" - }, - "RemoveAllowedPrincipals":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARN) of one or more principals. Permissions are revoked for principals in this list.

" - } - } - }, - "ModifyVpcEndpointServicePermissionsResult":{ - "type":"structure", - "members":{ - "ReturnValue":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - } - }, - "ModifyVpcPeeringConnectionOptionsRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptionsRequest", - "documentation":"

The VPC peering connection options for the accepter VPC.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - }, - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptionsRequest", - "documentation":"

The VPC peering connection options for the requester VPC.

" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

" - } - } - }, - "ModifyVpcPeeringConnectionOptionsResult":{ - "type":"structure", - "members":{ - "AccepterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "documentation":"

Information about the VPC peering connection options for the accepter VPC.

", - "locationName":"accepterPeeringConnectionOptions" - }, - "RequesterPeeringConnectionOptions":{ - "shape":"PeeringConnectionOptions", - "documentation":"

Information about the VPC peering connection options for the requester VPC.

", - "locationName":"requesterPeeringConnectionOptions" - } - } - }, - "ModifyVpcTenancyRequest":{ - "type":"structure", - "required":[ - "VpcId", - "InstanceTenancy" - ], - "members":{ - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

" - }, - "InstanceTenancy":{ - "shape":"VpcTenancy", - "documentation":"

The instance tenancy attribute for the VPC.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the 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.

" - } - }, - "documentation":"

Contains the parameters for ModifyVpcTenancy.

" - }, - "ModifyVpcTenancyResult":{ - "type":"structure", - "members":{ - "ReturnValue":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of ModifyVpcTenancy.

" - }, - "MonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "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.

" - }, - "MonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

The monitoring information.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of MonitorInstances.

" - }, - "Monitoring":{ - "type":"structure", - "members":{ - "State":{ - "shape":"MonitoringState", - "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", - "locationName":"state" - } - }, - "documentation":"

Describes the monitoring of an instance.

" - }, - "MonitoringState":{ - "type":"string", - "enum":[ - "disabled", - "disabling", - "enabled", - "pending" - ] - }, - "MoveAddressToVpcRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for MoveAddressToVpc.

" - }, - "MoveAddressToVpcResult":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID for the Elastic IP address.

", - "locationName":"allocationId" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the move of the IP address.

", - "locationName":"status" - } - }, - "documentation":"

Contains the output of MoveAddressToVpc.

" - }, - "MoveStatus":{ - "type":"string", - "enum":[ - "movingToVpc", - "restoringToClassic" - ] - }, - "MovingAddressStatus":{ - "type":"structure", - "members":{ - "MoveStatus":{ - "shape":"MoveStatus", - "documentation":"

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", - "locationName":"moveStatus" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Describes the status of a moving Elastic IP address.

" - }, - "MovingAddressStatusSet":{ - "type":"list", - "member":{ - "shape":"MovingAddressStatus", - "locationName":"item" - } - }, - "NatGateway":{ - "type":"structure", - "members":{ - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The date and time the NAT gateway was created.

", - "locationName":"createTime" - }, - "DeleteTime":{ - "shape":"DateTime", - "documentation":"

The date and time the NAT gateway was deleted, if applicable.

", - "locationName":"deleteTime" - }, - "FailureCode":{ - "shape":"String", - "documentation":"

If the NAT gateway could not be created, specifies the error code for the failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)

", - "locationName":"failureCode" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", - "locationName":"failureMessage" - }, - "NatGatewayAddresses":{ - "shape":"NatGatewayAddressList", - "documentation":"

Information about the IP addresses and network interface associated with the NAT gateway.

", - "locationName":"natGatewayAddressSet" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of the NAT gateway.

", - "locationName":"natGatewayId" - }, - "ProvisionedBandwidth":{ - "shape":"ProvisionedBandwidth", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionedBandwidth" - }, - "State":{ - "shape":"NatGatewayState", - "documentation":"

The state of the NAT gateway.

  • pending: The NAT gateway is being created and is not ready to process traffic.

  • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

  • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

  • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

  • deleted: The NAT gateway has been terminated and is no longer processing traffic.

", - "locationName":"state" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet in which the NAT gateway is located.

", - "locationName":"subnetId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC in which the NAT gateway is located.

", - "locationName":"vpcId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the NAT gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a NAT gateway.

" - }, - "NatGatewayAddress":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", - "locationName":"allocationId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface associated with the NAT gateway.

", - "locationName":"networkInterfaceId" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The private IP address associated with the Elastic IP address.

", - "locationName":"privateIp" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address associated with the NAT gateway.

", - "locationName":"publicIp" - } - }, - "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" - }, - "NatGatewayAddressList":{ - "type":"list", - "member":{ - "shape":"NatGatewayAddress", - "locationName":"item" - } - }, - "NatGatewayList":{ - "type":"list", - "member":{ - "shape":"NatGateway", - "locationName":"item" - } - }, - "NatGatewayState":{ - "type":"string", - "enum":[ - "pending", - "failed", - "available", - "deleting", - "deleted" - ] - }, - "NetworkAcl":{ - "type":"structure", - "members":{ - "Associations":{ - "shape":"NetworkAclAssociationList", - "documentation":"

Any associations between the network ACL and one or more subnets

", - "locationName":"associationSet" - }, - "Entries":{ - "shape":"NetworkAclEntryList", - "documentation":"

One or more entries (rules) in the network ACL.

", - "locationName":"entrySet" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default network ACL for the VPC.

", - "locationName":"default" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network ACL.

", - "locationName":"tagSet" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the network ACL.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a network ACL.

" - }, - "NetworkAclAssociation":{ - "type":"structure", - "members":{ - "NetworkAclAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a network ACL and a subnet.

", - "locationName":"networkAclAssociationId" - }, - "NetworkAclId":{ - "shape":"String", - "documentation":"

The ID of the network ACL.

", - "locationName":"networkAclId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a network ACL and a subnet.

" - }, - "NetworkAclAssociationList":{ - "type":"list", - "member":{ - "shape":"NetworkAclAssociation", - "locationName":"item" - } - }, - "NetworkAclEntry":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation.

", - "locationName":"cidrBlock" - }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", - "locationName":"egress" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP type and code.

", - "locationName":"icmpTypeCode" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 network range to allow or deny, in CIDR notation.

", - "locationName":"ipv6CidrBlock" - }, - "PortRange":{ - "shape":"PortRange", - "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", - "locationName":"portRange" - }, - "Protocol":{ - "shape":"String", - "documentation":"

The protocol. A value of -1 means all protocols.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", - "locationName":"ruleNumber" - } - }, - "documentation":"

Describes an entry in a network ACL.

" - }, - "NetworkAclEntryList":{ - "type":"list", - "member":{ - "shape":"NetworkAclEntry", - "locationName":"item" - } - }, - "NetworkAclList":{ - "type":"list", - "member":{ - "shape":"NetworkAcl", - "locationName":"item" - } - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "locationName":"association" - }, - "Attachment":{ - "shape":"NetworkInterfaceAttachment", - "documentation":"

The network interface attachment.

", - "locationName":"attachment" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "Description":{ - "shape":"String", - "documentation":"

A description.

", - "locationName":"description" - }, - "Groups":{ - "shape":"GroupIdentifierList", - "documentation":"

Any security groups for the network interface.

", - "locationName":"groupSet" - }, - "InterfaceType":{ - "shape":"NetworkInterfaceType", - "documentation":"

The type of 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).

", - "locationName":"requesterId" - }, - "RequesterManaged":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is being managed by AWS.

", - "locationName":"requesterManaged" - }, - "SourceDestCheck":{ - "shape":"Boolean", - "documentation":"

Indicates whether traffic to or from the instance is validated.

", - "locationName":"sourceDestCheck" - }, - "Status":{ - "shape":"NetworkInterfaceStatus", - "documentation":"

The status of the network interface.

", - "locationName":"status" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

", - "locationName":"subnetId" - }, - "TagSet":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the network interface.

", - "locationName":"tagSet" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a network interface.

" - }, - "NetworkInterfaceAssociation":{ - "type":"structure", - "members":{ - "AllocationId":{ - "shape":"String", - "documentation":"

The allocation ID.

", - "locationName":"allocationId" - }, - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID.

", - "locationName":"associationId" - }, - "IpOwnerId":{ - "shape":"String", - "documentation":"

The ID of the Elastic IP address owner.

", - "locationName":"ipOwnerId" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name.

", - "locationName":"publicDnsName" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The address of the Elastic IP address bound to the network interface.

", - "locationName":"publicIp" - } - }, - "documentation":"

Describes association information for an Elastic IP address (IPv4 only).

" - }, - "NetworkInterfaceAttachment":{ - "type":"structure", - "members":{ - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The timestamp indicating when the attachment initiated.

", - "locationName":"attachTime" - }, - "AttachmentId":{ - "shape":"String", - "documentation":"

The ID of the network interface attachment.

", - "locationName":"attachmentId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", - "locationName":"deleteOnTermination" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The device index of the network interface attachment on the instance.

", - "locationName":"deviceIndex" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "Status":{ - "shape":"AttachmentStatus", - "documentation":"

The attachment state.

", - "locationName":"status" - } - }, - "documentation":"

Describes a network interface attachment.

" - }, - "NetworkInterfaceAttachmentChanges":{ - "type":"structure", - "members":{ - "AttachmentId":{ - "shape":"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" - } - }, - "documentation":"

Describes an attachment change.

" - }, - "NetworkInterfaceAttribute":{ - "type":"string", - "enum":[ - "description", - "groupSet", - "sourceDestCheck", - "attachment" - ] - }, - "NetworkInterfaceIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "NetworkInterfaceIpv6Address":{ - "type":"structure", - "members":{ - "Ipv6Address":{ - "shape":"String", - "documentation":"

The IPv6 address.

", - "locationName":"ipv6Address" - } - }, - "documentation":"

Describes an IPv6 address associated with a network interface.

" - }, - "NetworkInterfaceIpv6AddressesList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfaceIpv6Address", - "locationName":"item" - } - }, - "NetworkInterfaceList":{ - "type":"list", - "member":{ - "shape":"NetworkInterface", - "locationName":"item" - } - }, - "NetworkInterfacePermission":{ - "type":"structure", - "members":{ - "NetworkInterfacePermissionId":{ - "shape":"String", - "documentation":"

The ID of the network interface permission.

", - "locationName":"networkInterfacePermissionId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "AwsAccountId":{ - "shape":"String", - "documentation":"

The AWS account ID.

", - "locationName":"awsAccountId" - }, - "AwsService":{ - "shape":"String", - "documentation":"

The AWS service.

", - "locationName":"awsService" - }, - "Permission":{ - "shape":"InterfacePermissionType", - "documentation":"

The type of permission.

", - "locationName":"permission" - }, - "PermissionState":{ - "shape":"NetworkInterfacePermissionState", - "documentation":"

Information about the state of the permission.

", - "locationName":"permissionState" - } - }, - "documentation":"

Describes a permission for a network interface.

" - }, - "NetworkInterfacePermissionIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "NetworkInterfacePermissionList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePermission", - "locationName":"item" - } - }, - "NetworkInterfacePermissionState":{ - "type":"structure", - "members":{ - "State":{ - "shape":"NetworkInterfacePermissionStateCode", - "documentation":"

The state of the permission.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A status message, if applicable.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes the state of a network interface permission.

" - }, - "NetworkInterfacePermissionStateCode":{ - "type":"string", - "enum":[ - "pending", - "granted", - "revoking", - "revoked" - ] - }, - "NetworkInterfacePrivateIpAddress":{ - "type":"structure", - "members":{ - "Association":{ - "shape":"NetworkInterfaceAssociation", - "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", - "locationName":"association" - }, - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", - "locationName":"primary" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name.

", - "locationName":"privateDnsName" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes the private IPv4 address of a network interface.

" - }, - "NetworkInterfacePrivateIpAddressList":{ - "type":"list", - "member":{ - "shape":"NetworkInterfacePrivateIpAddress", - "locationName":"item" - } - }, - "NetworkInterfaceStatus":{ - "type":"string", - "enum":[ - "available", - "associated", - "attaching", - "in-use", - "detaching" - ] - }, - "NetworkInterfaceType":{ - "type":"string", - "enum":[ - "interface", - "natGateway" - ] - }, - "NewDhcpConfiguration":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "locationName":"key" - }, - "Values":{ - "shape":"ValueStringList", - "locationName":"Value" - } - } - }, - "NewDhcpConfigurationList":{ - "type":"list", - "member":{ - "shape":"NewDhcpConfiguration", - "locationName":"item" - } - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "OccurrenceDayRequestSet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"OccurenceDay" - } - }, - "OccurrenceDaySet":{ - "type":"list", - "member":{ - "shape":"Integer", - "locationName":"item" - } - }, - "OfferingClassType":{ - "type":"string", - "enum":[ - "standard", - "convertible" - ] - }, - "OfferingTypeValues":{ - "type":"string", - "enum":[ - "Heavy Utilization", - "Medium Utilization", - "Light Utilization", - "No Upfront", - "Partial Upfront", - "All Upfront" - ] - }, - "OnDemandAllocationStrategy":{ - "type":"string", - "enum":[ - "lowestPrice", - "prioritized" - ] - }, - "OnDemandOptions":{ - "type":"structure", - "members":{ - "AllocationStrategy":{ - "shape":"FleetOnDemandAllocationStrategy", - "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price.

", - "locationName":"allocationStrategy" - } - }, - "documentation":"

The allocation strategy of On-Demand Instances in an EC2 Fleet.

" - }, - "OnDemandOptionsRequest":{ - "type":"structure", - "members":{ - "AllocationStrategy":{ - "shape":"FleetOnDemandAllocationStrategy", - "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price.

" - } - }, - "documentation":"

The allocation strategy of On-Demand Instances in an EC2 Fleet.

" - }, - "OperationType":{ - "type":"string", - "enum":[ - "add", - "remove" - ] - }, - "OwnerStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Owner" - } - }, - "PaymentOption":{ - "type":"string", - "enum":[ - "AllUpfront", - "PartialUpfront", - "NoUpfront" - ] - }, - "PciId":{ - "type":"structure", - "members":{ - "DeviceId":{ - "shape":"String", - "documentation":"

The ID of the device.

" - }, - "VendorId":{ - "shape":"String", - "documentation":"

The ID of the vendor.

" - }, - "SubsystemId":{ - "shape":"String", - "documentation":"

The ID of the subsystem.

" - }, - "SubsystemVendorId":{ - "shape":"String", - "documentation":"

The ID of the vendor for the subsystem.

" - } - }, - "documentation":"

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

" - }, - "PeeringConnectionOptions":{ - "type":"structure", - "members":{ - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, the public DNS hostnames of instances in the specified VPC resolve to private IP addresses when queried from instances in the peer VPC.

", - "locationName":"allowDnsResolutionFromRemoteVpc" - }, - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC via ClassicLink to instances in a peer VPC.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC via ClassicLink.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - }, - "documentation":"

Describes the VPC peering connection options.

" - }, - "PeeringConnectionOptionsRequest":{ - "type":"structure", - "members":{ - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" - }, - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC via ClassicLink to instances in a peer VPC.

" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC via ClassicLink.

" - } - }, - "documentation":"

The VPC peering connection options.

" - }, - "PermissionGroup":{ - "type":"string", - "enum":["all"] - }, - "Placement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the instance.

", - "locationName":"availabilityZone" - }, - "Affinity":{ - "shape":"String", - "documentation":"

The affinity setting for the instance on the Dedicated Host. 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.

", - "locationName":"groupName" - }, - "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" - }, - "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":"

Reserved for future use.

", - "locationName":"spreadDomain" - } - }, - "documentation":"

Describes the placement of an instance.

" - }, - "PlacementGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - }, - "State":{ - "shape":"PlacementGroupState", - "documentation":"

The state of the placement group.

", - "locationName":"state" - }, - "Strategy":{ - "shape":"PlacementStrategy", - "documentation":"

The placement strategy.

", - "locationName":"strategy" - } - }, - "documentation":"

Describes a placement group.

" - }, - "PlacementGroupList":{ - "type":"list", - "member":{ - "shape":"PlacementGroup", - "locationName":"item" - } - }, - "PlacementGroupState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "PlacementGroupStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PlacementStrategy":{ - "type":"string", - "enum":[ - "cluster", - "spread" - ] - }, - "PlatformValues":{ - "type":"string", - "enum":["Windows"] - }, - "PortRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The first port in the range.

", - "locationName":"from" - }, - "To":{ - "shape":"Integer", - "documentation":"

The last port in the range.

", - "locationName":"to" - } - }, - "documentation":"

Describes a range of ports.

" - }, - "PrefixList":{ - "type":"structure", - "members":{ - "Cidrs":{ - "shape":"ValueStringList", - "documentation":"

The IP address range of the AWS service.

", - "locationName":"cidrSet" - }, - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - }, - "PrefixListName":{ - "shape":"String", - "documentation":"

The name of the prefix.

", - "locationName":"prefixListName" - } - }, - "documentation":"

Describes prefixes for AWS services.

" - }, - "PrefixListId":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the security group rule that references this prefix list ID.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", - "locationName":"description" - }, - "PrefixListId":{ - "shape":"String", - "documentation":"

The ID of the prefix.

", - "locationName":"prefixListId" - } - }, - "documentation":"

[EC2-VPC only] The ID of the prefix.

" - }, - "PrefixListIdList":{ - "type":"list", - "member":{ - "shape":"PrefixListId", - "locationName":"item" - } - }, - "PrefixListIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "PrefixListSet":{ - "type":"list", - "member":{ - "shape":"PrefixList", - "locationName":"item" - } - }, - "PriceSchedule":{ - "type":"structure", - "members":{ - "Active":{ - "shape":"Boolean", - "documentation":"

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", - "locationName":"active" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Price":{ - "shape":"Double", - "documentation":"

The fixed price for the term.

", - "locationName":"price" - }, - "Term":{ - "shape":"Long", - "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "locationName":"term" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleList":{ - "type":"list", - "member":{ - "shape":"PriceSchedule", - "locationName":"item" - } - }, - "PriceScheduleSpecification":{ - "type":"structure", - "members":{ - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Price":{ - "shape":"Double", - "documentation":"

The fixed price for the term.

", - "locationName":"price" - }, - "Term":{ - "shape":"Long", - "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", - "locationName":"term" - } - }, - "documentation":"

Describes the price for a Reserved Instance.

" - }, - "PriceScheduleSpecificationList":{ - "type":"list", - "member":{ - "shape":"PriceScheduleSpecification", - "locationName":"item" - } - }, - "PricingDetail":{ - "type":"structure", - "members":{ - "Count":{ - "shape":"Integer", - "documentation":"

The number of reservations available for the price.

", - "locationName":"count" - }, - "Price":{ - "shape":"Double", - "documentation":"

The price per instance.

", - "locationName":"price" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "PricingDetailsList":{ - "type":"list", - "member":{ - "shape":"PricingDetail", - "locationName":"item" - } - }, - "PrincipalIdFormat":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

PrincipalIdFormatARN description

", - "locationName":"arn" - }, - "Statuses":{ - "shape":"IdFormatList", - "documentation":"

PrincipalIdFormatStatuses description

", - "locationName":"statusSet" - } - }, - "documentation":"

PrincipalIdFormat description

" - }, - "PrincipalIdFormatList":{ - "type":"list", - "member":{ - "shape":"PrincipalIdFormat", - "locationName":"item" - } - }, - "PrincipalType":{ - "type":"string", - "enum":[ - "All", - "Service", - "OrganizationUnit", - "Account", - "User", - "Role" - ] - }, - "PrivateIpAddressConfigSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesPrivateIpAddressConfig", - "locationName":"PrivateIpAddressConfigSet" - } - }, - "PrivateIpAddressSpecification":{ - "type":"structure", - "members":{ - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.

", - "locationName":"primary" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IPv4 addresses.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Describes a secondary private IPv4 address for a network interface.

" - }, - "PrivateIpAddressSpecificationList":{ - "type":"list", - "member":{ - "shape":"PrivateIpAddressSpecification", - "locationName":"item" - } - }, - "PrivateIpAddressStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PrivateIpAddress" - } - }, - "ProductCode":{ - "type":"structure", - "members":{ - "ProductCodeId":{ - "shape":"String", - "documentation":"

The product code.

", - "locationName":"productCode" - }, - "ProductCodeType":{ - "shape":"ProductCodeValues", - "documentation":"

The type of product code.

", - "locationName":"type" - } - }, - "documentation":"

Describes a product code.

" - }, - "ProductCodeList":{ - "type":"list", - "member":{ - "shape":"ProductCode", - "locationName":"item" - } - }, - "ProductCodeStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ProductCode" - } - }, - "ProductCodeValues":{ - "type":"string", - "enum":[ - "devpay", - "marketplace" - ] - }, - "ProductDescriptionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PropagatingVgw":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"gatewayId" - } - }, - "documentation":"

Describes a virtual private gateway propagating route.

" - }, - "PropagatingVgwList":{ - "type":"list", - "member":{ - "shape":"PropagatingVgw", - "locationName":"item" - } - }, - "ProvisionedBandwidth":{ - "type":"structure", - "members":{ - "ProvisionTime":{ - "shape":"DateTime", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisionTime" - }, - "Provisioned":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"provisioned" - }, - "RequestTime":{ - "shape":"DateTime", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"requestTime" - }, - "Requested":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"requested" - }, - "Status":{ - "shape":"String", - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", - "locationName":"status" - } - }, - "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" - }, - "PublicIpStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PublicIp" - } - }, - "Purchase":{ - "type":"structure", - "members":{ - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation's term in seconds.

", - "locationName":"duration" - }, - "HostIdSet":{ - "shape":"ResponseHostIdSet", - "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", - "locationName":"hostIdSet" - }, - "HostReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"hostReservationId" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price of the reservation per hour.

", - "locationName":"hourlyPrice" - }, - "InstanceFamily":{ - "shape":"String", - "documentation":"

The instance family on the Dedicated Host that the reservation can be associated with.

", - "locationName":"instanceFamily" - }, - "PaymentOption":{ - "shape":"PaymentOption", - "documentation":"

The payment option for the reservation.

", - "locationName":"paymentOption" - }, - "UpfrontPrice":{ - "shape":"String", - "documentation":"

The upfront price of the reservation.

", - "locationName":"upfrontPrice" - } - }, - "documentation":"

Describes the result of the purchase.

" - }, - "PurchaseHostReservationRequest":{ - "type":"structure", - "required":[ - "HostIdSet", - "OfferingId" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier 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", - "documentation":"

The IDs of the Dedicated Hosts with which the reservation will be associated.

" - }, - "LimitPrice":{ - "shape":"String", - "documentation":"

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request fails. This is used to ensure that the purchase does not exceed the expected upfront cost of the purchase. At this time, the only supported currency is USD. For example, to indicate a limit price of USD 100, specify 100.00.

" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the offering.

" - } - } - }, - "PurchaseHostReservationResult":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"clientToken" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "Purchase":{ - "shape":"PurchaseSet", - "documentation":"

Describes the details of the purchase.

", - "locationName":"purchase" - }, - "TotalHourlyPrice":{ - "shape":"String", - "documentation":"

The total hourly price of the reservation calculated per hour.

", - "locationName":"totalHourlyPrice" - }, - "TotalUpfrontPrice":{ - "shape":"String", - "documentation":"

The total amount charged to your account when you purchase the reservation.

", - "locationName":"totalUpfrontPrice" - } - } - }, - "PurchaseRequest":{ - "type":"structure", - "required":[ - "InstanceCount", - "PurchaseToken" - ], - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

" - }, - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token.

" - } - }, - "documentation":"

Describes a request to purchase Scheduled Instances.

" - }, - "PurchaseRequestSet":{ - "type":"list", - "member":{ - "shape":"PurchaseRequest", - "locationName":"PurchaseRequest" - }, - "min":1 - }, - "PurchaseReservedInstancesOfferingRequest":{ - "type":"structure", - "required":[ - "InstanceCount", - "ReservedInstancesOfferingId" - ], - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Reserved Instances to purchase.

" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering to purchase.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "LimitPrice":{ - "shape":"ReservedInstanceLimitPrice", - "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", - "locationName":"limitPrice" - } - }, - "documentation":"

Contains the parameters for PurchaseReservedInstancesOffering.

" - }, - "PurchaseReservedInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The IDs of the purchased Reserved Instances.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Contains the output of PurchaseReservedInstancesOffering.

" - }, - "PurchaseScheduledInstancesRequest":{ - "type":"structure", - "required":["PurchaseRequests"], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "idempotencyToken":true - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "PurchaseRequests":{ - "shape":"PurchaseRequestSet", - "documentation":"

One or more purchase requests.

", - "locationName":"PurchaseRequest" - } - }, - "documentation":"

Contains the parameters for PurchaseScheduledInstances.

" - }, - "PurchaseScheduledInstancesResult":{ - "type":"structure", - "members":{ - "ScheduledInstanceSet":{ - "shape":"PurchasedScheduledInstanceSet", - "documentation":"

Information about the Scheduled Instances.

", - "locationName":"scheduledInstanceSet" - } - }, - "documentation":"

Contains the output of PurchaseScheduledInstances.

" - }, - "PurchaseSet":{ - "type":"list", - "member":{ - "shape":"Purchase", - "locationName":"item" - } - }, - "PurchasedScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "RIProductDescription":{ - "type":"string", - "enum":[ - "Linux/UNIX", - "Linux/UNIX (Amazon VPC)", - "Windows", - "Windows (Amazon VPC)" - ] - }, - "ReasonCodesList":{ - "type":"list", - "member":{ - "shape":"ReportInstanceReasonCodes", - "locationName":"item" - } - }, - "RebootInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "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.

" - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

The amount of the recurring charge.

", - "locationName":"amount" - }, - "Frequency":{ - "shape":"RecurringChargeFrequency", - "documentation":"

The frequency of the recurring charge.

", - "locationName":"frequency" - } - }, - "documentation":"

Describes a recurring charge.

" - }, - "RecurringChargeFrequency":{ - "type":"string", - "enum":["Hourly"] - }, - "RecurringChargesList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"item" - } - }, - "Region":{ - "type":"structure", - "members":{ - "Endpoint":{ - "shape":"String", - "documentation":"

The region service endpoint.

", - "locationName":"regionEndpoint" - }, - "RegionName":{ - "shape":"String", - "documentation":"

The name of the region.

", - "locationName":"regionName" - } - }, - "documentation":"

Describes a region.

" - }, - "RegionList":{ - "type":"list", - "member":{ - "shape":"Region", - "locationName":"item" - } - }, - "RegionNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"RegionName" - } - }, - "RegisterImageRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "ImageLocation":{ - "shape":"String", - "documentation":"

The full path to your AMI manifest in Amazon S3 storage.

" - }, - "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.

", - "locationName":"ramdiskId" - }, - "RootDeviceName":{ - "shape":"String", - "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", - "locationName":"rootDeviceName" - }, - "SriovNetSupport":{ - "shape":"String", - "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

There is no way to disable sriovNetSupport at this time.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", - "locationName":"sriovNetSupport" - }, - "VirtualizationType":{ - "shape":"String", - "documentation":"

The type of virtualization (hvm | paravirtual).

Default: paravirtual

", - "locationName":"virtualizationType" - } - }, - "documentation":"

Contains the parameters for RegisterImage.

" - }, - "RegisterImageResult":{ - "type":"structure", - "members":{ - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the newly registered AMI.

", - "locationName":"imageId" - } - }, - "documentation":"

Contains the output of RegisterImage.

" - }, - "RejectVpcEndpointConnectionsRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "VpcEndpointIds" - ], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service.

" - }, - "VpcEndpointIds":{ - "shape":"ValueStringList", - "documentation":"

The IDs of one or more VPC endpoints.

", - "locationName":"VpcEndpointId" - } - } - }, - "RejectVpcEndpointConnectionsResult":{ - "type":"structure", - "members":{ - "Unsuccessful":{ - "shape":"UnsuccessfulItemSet", - "documentation":"

Information about the endpoints that were not rejected, if applicable.

", - "locationName":"unsuccessful" - } - } - }, - "RejectVpcPeeringConnectionRequest":{ - "type":"structure", - "required":["VpcPeeringConnectionId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Contains the parameters for RejectVpcPeeringConnection.

" - }, - "RejectVpcPeeringConnectionResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of RejectVpcPeeringConnection.

" - }, - "ReleaseAddressRequest":{ - "type":"structure", - "members":{ - "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.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making 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.

" - }, - "ReleaseHostsRequest":{ - "type":"structure", - "required":["HostIds"], - "members":{ - "HostIds":{ - "shape":"RequestHostIdList", - "documentation":"

The IDs of the Dedicated Hosts to release.

", - "locationName":"hostId" - } - }, - "documentation":"

Contains the parameters for ReleaseHosts.

" - }, - "ReleaseHostsResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"ResponseHostIdList", - "documentation":"

The IDs of the Dedicated Hosts that were successfully released.

", - "locationName":"successful" - }, - "Unsuccessful":{ - "shape":"UnsuccessfulItemList", - "documentation":"

The IDs of the Dedicated Hosts that could not be released, including an error message.

", - "locationName":"unsuccessful" - } - }, - "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":[ - "AssociationId", - "NetworkAclId" - ], - "members":{ - "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.

", - "locationName":"networkAclId" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceNetworkAclAssociation.

" - }, - "ReplaceNetworkAclEntryRequest":{ - "type":"structure", - "required":[ - "Egress", - "NetworkAclId", - "Protocol", - "RuleAction", - "RuleNumber" - ], - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", - "locationName":"cidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "Egress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", - "locationName":"egress" - }, - "IcmpTypeCode":{ - "shape":"IcmpTypeCode", - "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying 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" - }, - "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", - "documentation":"

The IP protocol. You can specify all or -1 to mean all protocols. If you specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports or ICMP types or codes you that specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", - "locationName":"protocol" - }, - "RuleAction":{ - "shape":"RuleAction", - "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", - "locationName":"ruleAction" - }, - "RuleNumber":{ - "shape":"Integer", - "documentation":"

The rule number of the entry to replace.

", - "locationName":"ruleNumber" - } - }, - "documentation":"

Contains the parameters for ReplaceNetworkAclEntry.

" - }, - "ReplaceRouteRequest":{ - "type":"structure", - "required":["RouteTableId"], - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

", - "locationName":"destinationCidrBlock" - }, - "DestinationIpv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

", - "locationName":"destinationIpv6CidrBlock" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EgressOnlyInternetGatewayId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for ReplaceRoute.

" - }, - "ReplaceRouteTableAssociationRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "RouteTableId" - ], - "members":{ - "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.

", - "locationName":"routeTableId" - } - }, - "documentation":"

Contains the parameters for ReplaceRouteTableAssociation.

" - }, - "ReplaceRouteTableAssociationResult":{ - "type":"structure", - "members":{ - "NewAssociationId":{ - "shape":"String", - "documentation":"

The ID of the new association.

", - "locationName":"newAssociationId" - } - }, - "documentation":"

Contains the output of ReplaceRouteTableAssociation.

" - }, - "ReportInstanceReasonCodes":{ - "type":"string", - "enum":[ - "instance-stuck-in-state", - "unresponsive", - "not-accepting-credentials", - "password-not-available", - "performance-network", - "performance-instance-store", - "performance-ebs-volume", - "performance-other", - "other" - ] - }, - "ReportInstanceStatusRequest":{ - "type":"structure", - "required":[ - "Instances", - "ReasonCodes", - "Status" - ], - "members":{ - "Description":{ - "shape":"String", - "documentation":"

Descriptive text about the health state of your instance.

", - "locationName":"description" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time at which the reported instance health state ended.

", - "locationName":"endTime" - }, - "Instances":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instances.

", - "locationName":"instanceId" - }, - "ReasonCodes":{ - "shape":"ReasonCodesList", - "documentation":"

One or more reason codes that describe the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems that I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

", - "locationName":"reasonCode" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time at which the reported instance health state began.

", - "locationName":"startTime" - }, - "Status":{ - "shape":"ReportStatusType", - "documentation":"

The status of all instances listed.

", - "locationName":"status" - } - }, - "documentation":"

Contains the parameters for ReportInstanceStatus.

" - }, - "ReportStatusType":{ - "type":"string", - "enum":[ - "ok", - "impaired" - ] - }, - "RequestHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "RequestLaunchTemplateData":{ - "type":"structure", - "members":{ - "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 User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

" - }, - "IamInstanceProfile":{ - "shape":"LaunchTemplateIamInstanceProfileSpecificationRequest", - "documentation":"

The IAM instance profile.

" - }, - "BlockDeviceMappings":{ - "shape":"LaunchTemplateBlockDeviceMappingRequestList", - "documentation":"

The block device mapping.

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" - }, - "NetworkInterfaces":{ - "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList", - "documentation":"

One or more network interfaces.

", - "locationName":"NetworkInterface" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI, which you can get by using DescribeImages.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types 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.

" - }, - "Monitoring":{ - "shape":"LaunchTemplatesMonitoringRequest", - "documentation":"

The monitoring for the instance.

" - }, - "Placement":{ - "shape":"LaunchTemplatePlacementRequest", - "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 User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" - }, - "DisableApiTermination":{ - "shape":"Boolean", - "documentation":"

If set to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API. To change this attribute to false after launch, use ModifyInstanceAttribute.

" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" - }, - "UserData":{ - "shape":"String", - "documentation":"

The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).

" - }, - "TagSpecifications":{ - "shape":"LaunchTemplateTagSpecificationRequestList", - "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", - "locationName":"TagSpecification" - }, - "ElasticGpuSpecifications":{ - "shape":"ElasticGpuSpecificationList", - "documentation":"

An elastic GPU to associate with the instance.

", - "locationName":"ElasticGpuSpecification" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdStringList", - "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

", - "locationName":"SecurityGroupId" - }, - "SecurityGroups":{ - "shape":"SecurityGroupStringList", - "documentation":"

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

", - "locationName":"SecurityGroup" - }, - "InstanceMarketOptions":{ - "shape":"LaunchTemplateInstanceMarketOptionsRequest", - "documentation":"

The market (purchasing) option for the instances.

" - }, - "CreditSpecification":{ - "shape":"CreditSpecificationRequest", - "documentation":"

The credit option for CPU usage of the instance. Valid for T2 instances only.

" - }, - "CpuOptions":{ - "shape":"LaunchTemplateCpuOptionsRequest", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "documentation":"

The information to include in the launch template.

" - }, - "RequestSpotFleetRequest":{ - "type":"structure", - "required":["SpotFleetRequestConfig"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration for the Spot Fleet request.

", - "locationName":"spotFleetRequestConfig" - } - }, - "documentation":"

Contains the parameters for RequestSpotFleet.

" - }, - "RequestSpotFleetResponse":{ - "type":"structure", - "required":["SpotFleetRequestId"], - "members":{ - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - } - }, - "documentation":"

Contains the output of RequestSpotFleet.

" - }, - "RequestSpotInstancesRequest":{ - "type":"structure", - "members":{ - "AvailabilityZoneGroup":{ - "shape":"String", - "documentation":"

The user-specified name for a logical grouping of requests.

When you specify an Availability Zone group in a Spot Instance request, all Spot Instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to requests for Spot Instances of the same instance type. Any additional Spot Instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

If there is no active instance running in the Availability Zone group that you specify for a new Spot Instance request (all instances are terminated, the request is expired, or the maximum price you specified falls below current Spot price), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot Instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

Default: Instances are launched in any available Availability Zone.

", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

The duration period starts as soon as your Spot Instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.

You can't specify an Availability Zone group or a launch group if you specify a duration.

", - "locationName":"blockDurationMinutes" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

", - "locationName":"clientToken" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot Instances to launch.

Default: 1

", - "locationName":"instanceCount" - }, - "LaunchGroup":{ - "shape":"String", - "documentation":"

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", - "locationName":"launchGroup" - }, - "LaunchSpecification":{ - "shape":"RequestSpotLaunchSpecification", - "documentation":"

The launch specification.

" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", - "locationName":"spotPrice" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

Default: one-time

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

", - "locationName":"validUntil" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" - } - }, - "documentation":"

Contains the parameters for RequestSpotInstances.

" - }, - "RequestSpotInstancesResult":{ - "type":"structure", - "members":{ - "SpotInstanceRequests":{ - "shape":"SpotInstanceRequestList", - "documentation":"

One or more Spot Instance requests.

", - "locationName":"spotInstanceRequestSet" - } - }, - "documentation":"

Contains the output of RequestSpotInstances.

" - }, - "RequestSpotLaunchSpecification":{ - "type":"structure", - "members":{ - "SecurityGroupIds":{ - "shape":"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" - }, - "AddressingType":{ - "shape":"String", - "documentation":"

Deprecated.

", - "locationName":"addressingType" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", - "locationName":"blockDeviceMapping" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", - "locationName":"ebsOptimized" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "ImageId":{ - "shape":"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" - }, - "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 Base64-encoded user data for the instance.

", - "locationName":"userData" - } - }, - "documentation":"

Describes the launch specification for an instance.

" - }, - "Reservation":{ - "type":"structure", - "members":{ - "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", - "documentation":"

The ID of the AWS account that owns the reservation.

", - "locationName":"ownerId" - }, - "RequesterId":{ - "shape":"String", - "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", - "locationName":"requesterId" - }, - "ReservationId":{ - "shape":"String", - "documentation":"

The ID of the reservation.

", - "locationName":"reservationId" - } - }, - "documentation":"

Describes a reservation.

" - }, - "ReservationList":{ - "type":"list", - "member":{ - "shape":"Reservation", - "locationName":"item" - } - }, - "ReservationState":{ - "type":"string", - "enum":[ - "payment-pending", - "payment-failed", - "active", - "retired" - ] - }, - "ReservationValue":{ - "type":"structure", - "members":{ - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly rate of the reservation.

", - "locationName":"hourlyPrice" - }, - "RemainingTotalValue":{ - "shape":"String", - "documentation":"

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", - "locationName":"remainingTotalValue" - }, - "RemainingUpfrontValue":{ - "shape":"String", - "documentation":"

The remaining upfront cost of the reservation.

", - "locationName":"remainingUpfrontValue" - } - }, - "documentation":"

The cost associated with the Reserved Instance.

" - }, - "ReservedInstanceIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstanceId" - } - }, - "ReservedInstanceLimitPrice":{ - "type":"structure", - "members":{ - "Amount":{ - "shape":"Double", - "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", - "locationName":"amount" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - } - }, - "documentation":"

Describes the limit price of a Reserved Instance offering.

" - }, - "ReservedInstanceReservationValue":{ - "type":"structure", - "members":{ - "ReservationValue":{ - "shape":"ReservationValue", - "documentation":"

The total value of the Convertible Reserved Instance that you are exchanging.

", - "locationName":"reservationValue" - }, - "ReservedInstanceId":{ - "shape":"String", - "documentation":"

The ID of the Convertible Reserved Instance that you are exchanging.

", - "locationName":"reservedInstanceId" - } - }, - "documentation":"

The total value of the Convertible Reserved Instance.

" - }, - "ReservedInstanceReservationValueSet":{ - "type":"list", - "member":{ - "shape":"ReservedInstanceReservationValue", - "locationName":"item" - } - }, - "ReservedInstanceState":{ - "type":"string", - "enum":[ - "payment-pending", - "active", - "payment-failed", - "retired" - ] - }, - "ReservedInstances":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "documentation":"

The duration of the Reserved Instance, in seconds.

", - "locationName":"duration" - }, - "End":{ - "shape":"DateTime", - "documentation":"

The time when the Reserved Instance expires.

", - "locationName":"end" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reservations purchased.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "Start":{ - "shape":"DateTime", - "documentation":"

The date and time the Reserved Instance started.

", - "locationName":"start" - }, - "State":{ - "shape":"ReservedInstanceState", - "documentation":"

The state of the Reserved Instance purchase.

", - "locationName":"state" - }, - "UsagePrice":{ - "shape":"Float", - "documentation":"

The usage price of the Reserved Instance, per hour.

", - "locationName":"usagePrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

The offering class of the Reserved Instance.

", - "locationName":"offeringClass" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type.

", - "locationName":"offeringType" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "documentation":"

The recurring charge tag assigned to the resource.

", - "locationName":"recurringCharges" - }, - "Scope":{ - "shape":"scope", - "documentation":"

The scope of the Reserved Instance.

", - "locationName":"scope" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a Reserved Instance.

" - }, - "ReservedInstancesConfiguration":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the modified Reserved Instances.

", - "locationName":"availabilityZone" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of modified Reserved Instances.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type for the modified Reserved Instances.

", - "locationName":"instanceType" - }, - "Platform":{ - "shape":"String", - "documentation":"

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", - "locationName":"platform" - }, - "Scope":{ - "shape":"scope", - "documentation":"

Whether the Reserved Instance is applied to instances in a region or instances in a specific Availability Zone.

", - "locationName":"scope" - } - }, - "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" - }, - "ReservedInstancesConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesConfiguration", - "locationName":"item" - } - }, - "ReservedInstancesId":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - } - }, - "documentation":"

Describes the ID of a Reserved Instance.

" - }, - "ReservedInstancesIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesId" - } - }, - "ReservedInstancesList":{ - "type":"list", - "member":{ - "shape":"ReservedInstances", - "locationName":"item" - } - }, - "ReservedInstancesListing":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The time the listing was created.

", - "locationName":"createDate" - }, - "InstanceCounts":{ - "shape":"InstanceCountList", - "documentation":"

The number of instances in this state.

", - "locationName":"instanceCounts" - }, - "PriceSchedules":{ - "shape":"PriceScheduleList", - "documentation":"

The price of the Reserved Instance listing.

", - "locationName":"priceSchedules" - }, - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance.

", - "locationName":"reservedInstancesId" - }, - "ReservedInstancesListingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance listing.

", - "locationName":"reservedInstancesListingId" - }, - "Status":{ - "shape":"ListingStatus", - "documentation":"

The status of the Reserved Instance listing.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the current status of the Reserved Instance listing. The response can be blank.

", - "locationName":"statusMessage" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "UpdateDate":{ - "shape":"DateTime", - "documentation":"

The last modified timestamp of the listing.

", - "locationName":"updateDate" - } - }, - "documentation":"

Describes a Reserved Instance listing.

" - }, - "ReservedInstancesListingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesListing", - "locationName":"item" - } - }, - "ReservedInstancesModification":{ - "type":"structure", - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The time when the modification request was created.

", - "locationName":"createDate" - }, - "EffectiveDate":{ - "shape":"DateTime", - "documentation":"

The time for the modification to become effective.

", - "locationName":"effectiveDate" - }, - "ModificationResults":{ - "shape":"ReservedInstancesModificationResultList", - "documentation":"

Contains target configurations along with their corresponding new Reserved Instance IDs.

", - "locationName":"modificationResultSet" - }, - "ReservedInstancesIds":{ - "shape":"ReservedIntancesIds", - "documentation":"

The IDs of one or more Reserved Instances.

", - "locationName":"reservedInstancesSet" - }, - "ReservedInstancesModificationId":{ - "shape":"String", - "documentation":"

A unique ID for the Reserved Instance modification.

", - "locationName":"reservedInstancesModificationId" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Reserved Instances modification request.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

The reason for the status.

", - "locationName":"statusMessage" - }, - "UpdateDate":{ - "shape":"DateTime", - "documentation":"

The time when the modification request was last updated.

", - "locationName":"updateDate" - } - }, - "documentation":"

Describes a Reserved Instance modification.

" - }, - "ReservedInstancesModificationIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReservedInstancesModificationId" - } - }, - "ReservedInstancesModificationList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModification", - "locationName":"item" - } - }, - "ReservedInstancesModificationResult":{ - "type":"structure", - "members":{ - "ReservedInstancesId":{ - "shape":"String", - "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", - "locationName":"reservedInstancesId" - }, - "TargetConfiguration":{ - "shape":"ReservedInstancesConfiguration", - "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", - "locationName":"targetConfiguration" - } - }, - "documentation":"

Describes the modification request/s.

" - }, - "ReservedInstancesModificationResultList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesModificationResult", - "locationName":"item" - } - }, - "ReservedInstancesOffering":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", - "locationName":"availabilityZone" - }, - "Duration":{ - "shape":"Long", - "documentation":"

The duration of the Reserved Instance, in seconds.

", - "locationName":"duration" - }, - "FixedPrice":{ - "shape":"Float", - "documentation":"

The purchase price of the Reserved Instance.

", - "locationName":"fixedPrice" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type on which the Reserved Instance can be used.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The Reserved Instance product platform description.

", - "locationName":"productDescription" - }, - "ReservedInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", - "locationName":"reservedInstancesOfferingId" - }, - "UsagePrice":{ - "shape":"Float", - "documentation":"

The usage price of the Reserved Instance, per hour.

", - "locationName":"usagePrice" - }, - "CurrencyCode":{ - "shape":"CurrencyCodeValues", - "documentation":"

The currency of the Reserved Instance offering you are purchasing. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", - "locationName":"currencyCode" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance.

", - "locationName":"instanceTenancy" - }, - "Marketplace":{ - "shape":"Boolean", - "documentation":"

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering, this is true.

", - "locationName":"marketplace" - }, - "OfferingClass":{ - "shape":"OfferingClassType", - "documentation":"

If convertible it can be exchanged for Reserved Instances of the same or higher monetary value, with different configurations. If standard, it is not possible to perform an exchange.

", - "locationName":"offeringClass" - }, - "OfferingType":{ - "shape":"OfferingTypeValues", - "documentation":"

The Reserved Instance offering type.

", - "locationName":"offeringType" - }, - "PricingDetails":{ - "shape":"PricingDetailsList", - "documentation":"

The pricing details of the Reserved Instance offering.

", - "locationName":"pricingDetailsSet" - }, - "RecurringCharges":{ - "shape":"RecurringChargesList", - "documentation":"

The recurring charge tag assigned to the resource.

", - "locationName":"recurringCharges" - }, - "Scope":{ - "shape":"scope", - "documentation":"

Whether the Reserved Instance is applied to instances in a region or an Availability Zone.

", - "locationName":"scope" - } - }, - "documentation":"

Describes a Reserved Instance offering.

" - }, - "ReservedInstancesOfferingIdStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ReservedInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesOffering", - "locationName":"item" - } - }, - "ReservedIntancesIds":{ - "type":"list", - "member":{ - "shape":"ReservedInstancesId", - "locationName":"item" - } - }, - "ResetFpgaImageAttributeName":{ - "type":"string", - "enum":["loadPermission"] - }, - "ResetFpgaImageAttributeRequest":{ - "type":"structure", - "required":["FpgaImageId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "FpgaImageId":{ - "shape":"String", - "documentation":"

The ID of the AFI.

" - }, - "Attribute":{ - "shape":"ResetFpgaImageAttributeName", - "documentation":"

The attribute.

" - } - } - }, - "ResetFpgaImageAttributeResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Is true if the request succeeds, and an error otherwise.

", - "locationName":"return" - } - } - }, - "ResetImageAttributeName":{ - "type":"string", - "enum":["launchPermission"] - }, - "ResetImageAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "ImageId" - ], - "members":{ - "Attribute":{ - "shape":"ResetImageAttributeName", - "documentation":"

The attribute to reset (currently you can only reset the launch permission attribute).

" - }, - "ImageId":{ - "shape":"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" - } - }, - "documentation":"

Contains the parameters for ResetImageAttribute.

" - }, - "ResetInstanceAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "InstanceId" - ], - "members":{ - "Attribute":{ - "shape":"InstanceAttributeName", - "documentation":"

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

", - "locationName":"attribute" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - } - }, - "documentation":"

Contains the parameters for ResetInstanceAttribute.

" - }, - "ResetNetworkInterfaceAttributeRequest":{ - "type":"structure", - "required":["NetworkInterfaceId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "SourceDestCheck":{ - "shape":"String", - "documentation":"

The source/destination checking attribute. Resets the value to true.

", - "locationName":"sourceDestCheck" - } - }, - "documentation":"

Contains the parameters for ResetNetworkInterfaceAttribute.

" - }, - "ResetSnapshotAttributeRequest":{ - "type":"structure", - "required":[ - "Attribute", - "SnapshotId" - ], - "members":{ - "Attribute":{ - "shape":"SnapshotAttributeName", - "documentation":"

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for ResetSnapshotAttribute.

" - }, - "ResourceIdList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ResourceList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ResourceType":{ - "type":"string", - "enum":[ - "customer-gateway", - "dhcp-options", - "image", - "instance", - "internet-gateway", - "network-acl", - "network-interface", - "reserved-instances", - "route-table", - "snapshot", - "spot-instances-request", - "subnet", - "security-group", - "volume", - "vpc", - "vpn-connection", - "vpn-gateway" - ] - }, - "ResponseError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"LaunchTemplateErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the error that's returned when you cannot delete a launch template version.

" - }, - "ResponseHostIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ResponseHostIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "ResponseLaunchTemplateData":{ - "type":"structure", - "members":{ - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel, if applicable.

", - "locationName":"kernelId" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O.

", - "locationName":"ebsOptimized" - }, - "IamInstanceProfile":{ - "shape":"LaunchTemplateIamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "BlockDeviceMappings":{ - "shape":"LaunchTemplateBlockDeviceMappingList", - "documentation":"

The block device mappings.

", - "locationName":"blockDeviceMappingSet" - }, - "NetworkInterfaces":{ - "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationList", - "documentation":"

The network interfaces.

", - "locationName":"networkInterfaceSet" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI that was used to launch the instance.

", - "locationName":"imageId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, - "Monitoring":{ - "shape":"LaunchTemplatesMonitoring", - "documentation":"

The monitoring for the instance.

", - "locationName":"monitoring" - }, - "Placement":{ - "shape":"LaunchTemplatePlacement", - "documentation":"

The placement of the instance.

", - "locationName":"placement" - }, - "RamDiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk, if applicable.

", - "locationName":"ramDiskId" - }, - "DisableApiTermination":{ - "shape":"Boolean", - "documentation":"

If set to true, indicates that the instance cannot be terminated using the Amazon EC2 console, command line tool, or API.

", - "locationName":"disableApiTermination" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "UserData":{ - "shape":"String", - "documentation":"

The user data for the instance.

", - "locationName":"userData" - }, - "TagSpecifications":{ - "shape":"LaunchTemplateTagSpecificationList", - "documentation":"

The tags.

", - "locationName":"tagSpecificationSet" - }, - "ElasticGpuSpecifications":{ - "shape":"ElasticGpuSpecificationResponseList", - "documentation":"

The elastic GPU specification.

", - "locationName":"elasticGpuSpecificationSet" - }, - "SecurityGroupIds":{ - "shape":"ValueStringList", - "documentation":"

The security group IDs.

", - "locationName":"securityGroupIdSet" - }, - "SecurityGroups":{ - "shape":"ValueStringList", - "documentation":"

The security group names.

", - "locationName":"securityGroupSet" - }, - "InstanceMarketOptions":{ - "shape":"LaunchTemplateInstanceMarketOptions", - "documentation":"

The market (purchasing) option for the instances.

", - "locationName":"instanceMarketOptions" - }, - "CreditSpecification":{ - "shape":"CreditSpecification", - "documentation":"

The credit option for CPU usage of the instance.

", - "locationName":"creditSpecification" - }, - "CpuOptions":{ - "shape":"LaunchTemplateCpuOptions", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

", - "locationName":"cpuOptions" - } - }, - "documentation":"

The information for a launch template.

" - }, - "RestorableByStringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "RestoreAddressToClassicRequest":{ - "type":"structure", - "required":["PublicIp"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - } - }, - "documentation":"

Contains the parameters for RestoreAddressToClassic.

" - }, - "RestoreAddressToClassicResult":{ - "type":"structure", - "members":{ - "PublicIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

", - "locationName":"publicIp" - }, - "Status":{ - "shape":"Status", - "documentation":"

The move status for the IP address.

", - "locationName":"status" - } - }, - "documentation":"

Contains the output of RestoreAddressToClassic.

" - }, - "RevokeSecurityGroupEgressRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", - "locationName":"ipPermissions" - }, - "CidrIp":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", - "locationName":"cidrIp" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify the protocol name or number.

", - "locationName":"ipProtocol" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", - "locationName":"toPort" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", - "locationName":"sourceSecurityGroupName" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", - "locationName":"sourceSecurityGroupOwnerId" - } - }, - "documentation":"

Contains the parameters for RevokeSecurityGroupEgress.

" - }, - "RevokeSecurityGroupIngressRequest":{ - "type":"structure", - "members":{ - "CidrIp":{ - "shape":"String", - "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" - }, - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all ICMP types.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

One or more sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

" - }, - "SourceSecurityGroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "SourceSecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for RevokeSecurityGroupIngress.

" - }, - "Route":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block used for the destination match.

", - "locationName":"destinationCidrBlock" - }, - "DestinationIpv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block used for the destination match.

", - "locationName":"destinationIpv6CidrBlock" - }, - "DestinationPrefixListId":{ - "shape":"String", - "documentation":"

The prefix of the AWS service.

", - "locationName":"destinationPrefixListId" - }, - "EgressOnlyInternetGatewayId":{ - "shape":"String", - "documentation":"

The ID of the egress-only internet gateway.

", - "locationName":"egressOnlyInternetGatewayId" - }, - "GatewayId":{ - "shape":"String", - "documentation":"

The ID of a gateway attached to your VPC.

", - "locationName":"gatewayId" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of a NAT instance in your VPC.

", - "locationName":"instanceId" - }, - "InstanceOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the instance.

", - "locationName":"instanceOwnerId" - }, - "NatGatewayId":{ - "shape":"String", - "documentation":"

The ID of a NAT gateway.

", - "locationName":"natGatewayId" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "Origin":{ - "shape":"RouteOrigin", - "documentation":"

Describes how the route was created.

  • CreateRouteTable - The route was automatically created when the route table was created.

  • CreateRoute - The route was manually added to the route table.

  • EnableVgwRoutePropagation - The route was propagated by route propagation.

", - "locationName":"origin" - }, - "State":{ - "shape":"RouteState", - "documentation":"

The state of the route. The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, or the specified NAT instance has been terminated).

", - "locationName":"state" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a route in a route table.

" - }, - "RouteList":{ - "type":"list", - "member":{ - "shape":"Route", - "locationName":"item" - } - }, - "RouteOrigin":{ - "type":"string", - "enum":[ - "CreateRouteTable", - "CreateRoute", - "EnableVgwRoutePropagation" - ] - }, - "RouteState":{ - "type":"string", - "enum":[ - "active", - "blackhole" - ] - }, - "RouteTable":{ - "type":"structure", - "members":{ - "Associations":{ - "shape":"RouteTableAssociationList", - "documentation":"

The associations between the route table and one or more subnets.

", - "locationName":"associationSet" - }, - "PropagatingVgws":{ - "shape":"PropagatingVgwList", - "documentation":"

Any virtual private gateway (VGW) propagating routes.

", - "locationName":"propagatingVgwSet" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "Routes":{ - "shape":"RouteList", - "documentation":"

The routes in the route table.

", - "locationName":"routeSet" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the route table.

", - "locationName":"tagSet" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a route table.

" - }, - "RouteTableAssociation":{ - "type":"structure", - "members":{ - "Main":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the main route table.

", - "locationName":"main" - }, - "RouteTableAssociationId":{ - "shape":"String", - "documentation":"

The ID of the association between a route table and a subnet.

", - "locationName":"routeTableAssociationId" - }, - "RouteTableId":{ - "shape":"String", - "documentation":"

The ID of the route table.

", - "locationName":"routeTableId" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", - "locationName":"subnetId" - } - }, - "documentation":"

Describes an association between a route table and a subnet.

" - }, - "RouteTableAssociationList":{ - "type":"list", - "member":{ - "shape":"RouteTableAssociation", - "locationName":"item" - } - }, - "RouteTableList":{ - "type":"list", - "member":{ - "shape":"RouteTable", - "locationName":"item" - } - }, - "RuleAction":{ - "type":"string", - "enum":[ - "allow", - "deny" - ] - }, - "RunInstancesMonitoringEnabled":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", - "locationName":"enabled" - } - }, - "documentation":"

Describes the monitoring of an instance.

" - }, - "RunInstancesRequest":{ - "type":"structure", - "required":[ - "MaxCount", - "MinCount" - ], - "members":{ - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingRequestList", - "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", - "locationName":"BlockDeviceMapping" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI, which you can get by calling DescribeImages. An AMI is required to launch an instance and must be specified here or in a launch template.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

[EC2-VPC] 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" - }, - "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.

" - }, - "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 a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.

" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "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 Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", - "locationName":"ebsOptimized" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "InstanceInitiatedShutdownBehavior":{ - "shape":"ShutdownBehavior", - "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

", - "locationName":"instanceInitiatedShutdownBehavior" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

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" - }, - "ElasticGpuSpecification":{ - "shape":"ElasticGpuSpecifications", - "documentation":"

An elastic GPU to associate with the instance.

" - }, - "TagSpecifications":{ - "shape":"TagSpecificationList", - "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", - "locationName":"TagSpecification" - }, - "LaunchTemplate":{ - "shape":"LaunchTemplateSpecification", - "documentation":"

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

" - }, - "InstanceMarketOptions":{ - "shape":"InstanceMarketOptionsRequest", - "documentation":"

The market (purchasing) option for the instances.

For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" - }, - "CreditSpecification":{ - "shape":"CreditSpecificationRequest", - "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see T2 Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard

" - }, - "CpuOptions":{ - "shape":"CpuOptionsRequest", - "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" - } - }, - "documentation":"

Contains the parameters for RunInstances.

" - }, - "RunScheduledInstancesRequest":{ - "type":"structure", - "required":[ - "LaunchSpecification", - "ScheduledInstanceId" - ], - "members":{ - "ClientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", - "idempotencyToken":true - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

Default: 1

" - }, - "LaunchSpecification":{ - "shape":"ScheduledInstancesLaunchSpecification", - "documentation":"

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

" - }, - "ScheduledInstanceId":{ - "shape":"String", - "documentation":"

The Scheduled Instance ID.

" - } - }, - "documentation":"

Contains the parameters for RunScheduledInstances.

" - }, - "RunScheduledInstancesResult":{ - "type":"structure", - "members":{ - "InstanceIdSet":{ - "shape":"InstanceIdSet", - "documentation":"

The IDs of the newly launched instances.

", - "locationName":"instanceIdSet" - } - }, - "documentation":"

Contains the output of RunScheduledInstances.

" - }, - "S3Storage":{ - "type":"structure", - "members":{ - "AWSAccessKeyId":{ - "shape":"String", - "documentation":"

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance in Best Practices for Managing AWS Access Keys.

" - }, - "Bucket":{ - "shape":"String", - "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", - "locationName":"bucket" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The beginning of the file name of the AMI.

", - "locationName":"prefix" - }, - "UploadPolicy":{ - "shape":"Blob", - "documentation":"

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", - "locationName":"uploadPolicy" - }, - "UploadPolicySignature":{ - "shape":"String", - "documentation":"

The signature of the JSON document.

", - "locationName":"uploadPolicySignature" - } - }, - "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" - }, - "ScheduledInstance":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "CreateDate":{ - "shape":"DateTime", - "documentation":"

The date when the Scheduled Instance was purchased.

", - "locationName":"createDate" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price for a single instance.

", - "locationName":"hourlyPrice" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances.

", - "locationName":"instanceCount" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "NetworkPlatform":{ - "shape":"String", - "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", - "locationName":"networkPlatform" - }, - "NextSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time for the next schedule to start.

", - "locationName":"nextSlotStartTime" - }, - "Platform":{ - "shape":"String", - "documentation":"

The platform (Linux/UNIX or Windows).

", - "locationName":"platform" - }, - "PreviousSlotEndTime":{ - "shape":"DateTime", - "documentation":"

The time that the previous schedule ended or will end.

", - "locationName":"previousSlotEndTime" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "ScheduledInstanceId":{ - "shape":"String", - "documentation":"

The Scheduled Instance ID.

", - "locationName":"scheduledInstanceId" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "TermEndDate":{ - "shape":"DateTime", - "documentation":"

The end date for the Scheduled Instance.

", - "locationName":"termEndDate" - }, - "TermStartDate":{ - "shape":"DateTime", - "documentation":"

The start date for the Scheduled Instance.

", - "locationName":"termStartDate" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - } - }, - "documentation":"

Describes a Scheduled Instance.

" - }, - "ScheduledInstanceAvailability":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "AvailableInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of available instances.

", - "locationName":"availableInstanceCount" - }, - "FirstSlotStartTime":{ - "shape":"DateTime", - "documentation":"

The time period for the first schedule to start.

", - "locationName":"firstSlotStartTime" - }, - "HourlyPrice":{ - "shape":"String", - "documentation":"

The hourly price for a single instance.

", - "locationName":"hourlyPrice" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "locationName":"instanceType" - }, - "MaxTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The maximum term. The only possible value is 365 days.

", - "locationName":"maxTermDurationInDays" - }, - "MinTermDurationInDays":{ - "shape":"Integer", - "documentation":"

The minimum term. The only possible value is 365 days.

", - "locationName":"minTermDurationInDays" - }, - "NetworkPlatform":{ - "shape":"String", - "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", - "locationName":"networkPlatform" - }, - "Platform":{ - "shape":"String", - "documentation":"

The platform (Linux/UNIX or Windows).

", - "locationName":"platform" - }, - "PurchaseToken":{ - "shape":"String", - "documentation":"

The purchase token. This token expires in two hours.

", - "locationName":"purchaseToken" - }, - "Recurrence":{ - "shape":"ScheduledInstanceRecurrence", - "documentation":"

The schedule recurrence.

", - "locationName":"recurrence" - }, - "SlotDurationInHours":{ - "shape":"Integer", - "documentation":"

The number of hours in the schedule.

", - "locationName":"slotDurationInHours" - }, - "TotalScheduledInstanceHours":{ - "shape":"Integer", - "documentation":"

The total number of hours for a single instance for the entire term.

", - "locationName":"totalScheduledInstanceHours" - } - }, - "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" - }, - "ScheduledInstanceAvailabilitySet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstanceAvailability", - "locationName":"item" - } - }, - "ScheduledInstanceIdRequestSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ScheduledInstanceId" - } - }, - "ScheduledInstanceRecurrence":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

", - "locationName":"frequency" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", - "locationName":"interval" - }, - "OccurrenceDaySet":{ - "shape":"OccurrenceDaySet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", - "locationName":"occurrenceDaySet" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month.

", - "locationName":"occurrenceRelativeToEnd" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", - "locationName":"occurrenceUnit" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceRecurrenceRequest":{ - "type":"structure", - "members":{ - "Frequency":{ - "shape":"String", - "documentation":"

The frequency (Daily, Weekly, or Monthly).

" - }, - "Interval":{ - "shape":"Integer", - "documentation":"

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

" - }, - "OccurrenceDays":{ - "shape":"OccurrenceDayRequestSet", - "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", - "locationName":"OccurrenceDay" - }, - "OccurrenceRelativeToEnd":{ - "shape":"Boolean", - "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" - }, - "OccurrenceUnit":{ - "shape":"String", - "documentation":"

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

" - } - }, - "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" - }, - "ScheduledInstanceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstance", - "locationName":"item" - } - }, - "ScheduledInstancesBlockDeviceMapping":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"String", - "documentation":"

The device name (for example, /dev/sdh or xvdh).

" - }, - "Ebs":{ - "shape":"ScheduledInstancesEbs", - "documentation":"

Parameters used to set up EBS volumes automatically when the instance is launched.

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" - } - }, - "documentation":"

Describes a block device mapping for a Scheduled Instance.

" - }, - "ScheduledInstancesBlockDeviceMappingSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesBlockDeviceMapping", - "locationName":"BlockDeviceMapping" - } - }, - "ScheduledInstancesEbs":{ - "type":"structure", - "members":{ - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is deleted on instance termination.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" - }, - "VolumeType":{ - "shape":"String", - "documentation":"

The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.

Default: standard

" - } - }, - "documentation":"

Describes an EBS volume for a Scheduled Instance.

" - }, - "ScheduledInstancesIamInstanceProfile":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN).

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name.

" - } - }, - "documentation":"

Describes an IAM instance profile for a Scheduled Instance.

" - }, - "ScheduledInstancesIpv6Address":{ - "type":"structure", - "members":{ - "Ipv6Address":{ - "shape":"Ipv6Address", - "documentation":"

The IPv6 address.

" - } - }, - "documentation":"

Describes an IPv6 address.

" - }, - "ScheduledInstancesIpv6AddressList":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesIpv6Address", - "locationName":"Ipv6Address" - } - }, - "ScheduledInstancesLaunchSpecification":{ - "type":"structure", - "required":["ImageId"], - "members":{ - "BlockDeviceMappings":{ - "shape":"ScheduledInstancesBlockDeviceMappingSet", - "documentation":"

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.

" - }, - "NetworkInterfaces":{ - "shape":"ScheduledInstancesNetworkInterfaceSet", - "documentation":"

One or more network interfaces.

", - "locationName":"NetworkInterface" - }, - "Placement":{ - "shape":"ScheduledInstancesPlacement", - "documentation":"

The placement information.

" - }, - "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.

" - }, - "ScheduledInstancesMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether monitoring is enabled.

" - } - }, - "documentation":"

Describes whether monitoring is enabled for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterface":{ - "type":"structure", - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether to delete the interface when the instance is terminated.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description.

" - }, - "DeviceIndex":{ - "shape":"Integer", - "documentation":"

The index of the device for the network interface attachment.

" - }, - "Groups":{ - "shape":"ScheduledInstancesSecurityGroupIdSet", - "documentation":"

The IDs of one or more security groups.

", - "locationName":"Group" - }, - "Ipv6AddressCount":{ - "shape":"Integer", - "documentation":"

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" - }, - "Ipv6Addresses":{ - "shape":"ScheduledInstancesIpv6AddressList", - "documentation":"

One or more specific IPv6 addresses from the subnet range.

", - "locationName":"Ipv6Address" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address of the network interface within the subnet.

" - }, - "PrivateIpAddressConfigs":{ - "shape":"PrivateIpAddressConfigSet", - "documentation":"

The private IPv4 addresses.

", - "locationName":"PrivateIpAddressConfig" - }, - "SecondaryPrivateIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of secondary private IPv4 addresses.

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The ID of the subnet.

" - } - }, - "documentation":"

Describes a network interface for a Scheduled Instance.

" - }, - "ScheduledInstancesNetworkInterfaceSet":{ - "type":"list", - "member":{ - "shape":"ScheduledInstancesNetworkInterface", - "locationName":"NetworkInterface" - } - }, - "ScheduledInstancesPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

" - } - }, - "documentation":"

Describes the placement for a Scheduled Instance.

" - }, - "ScheduledInstancesPrivateIpAddressConfig":{ - "type":"structure", - "members":{ - "Primary":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The IPv4 address.

" - } - }, - "documentation":"

Describes a private IPv4 address for a Scheduled Instance.

" - }, - "ScheduledInstancesSecurityGroupIdSet":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroup":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the security group.

", - "locationName":"groupDescription" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

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" - }, - "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

" - }, - "SecurityGroupIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupIdentifier":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - } - }, - "documentation":"

Describes a security group.

" - }, - "SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"SecurityGroup", - "locationName":"item" - } - }, - "SecurityGroupReference":{ - "type":"structure", - "required":[ - "GroupId", - "ReferencingVpcId" - ], - "members":{ - "GroupId":{ - "shape":"String", - "documentation":"

The ID of your security group.

", - "locationName":"groupId" - }, - "ReferencingVpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC with the referencing security group.

", - "locationName":"referencingVpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC with a security group that references your security group.

" - }, - "SecurityGroupReferences":{ - "type":"list", - "member":{ - "shape":"SecurityGroupReference", - "locationName":"item" - } - }, - "SecurityGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroup" - } - }, - "ServiceConfiguration":{ - "type":"structure", - "members":{ - "ServiceType":{ - "shape":"ServiceTypeDetailSet", - "documentation":"

The type of service.

", - "locationName":"serviceType" - }, - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service.

", - "locationName":"serviceId" - }, - "ServiceName":{ - "shape":"String", - "documentation":"

The name of the service.

", - "locationName":"serviceName" - }, - "ServiceState":{ - "shape":"ServiceState", - "documentation":"

The service state.

", - "locationName":"serviceState" - }, - "AvailabilityZones":{ - "shape":"ValueStringList", - "documentation":"

In the Availability Zones in which the service is available.

", - "locationName":"availabilityZoneSet" - }, - "AcceptanceRequired":{ - "shape":"Boolean", - "documentation":"

Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

", - "locationName":"acceptanceRequired" - }, - "NetworkLoadBalancerArns":{ - "shape":"ValueStringList", - "documentation":"

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

", - "locationName":"networkLoadBalancerArnSet" - }, - "BaseEndpointDnsNames":{ - "shape":"ValueStringList", - "documentation":"

The DNS names for the service.

", - "locationName":"baseEndpointDnsNameSet" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name for the service.

", - "locationName":"privateDnsName" - } - }, - "documentation":"

Describes a service configuration for a VPC endpoint service.

" - }, - "ServiceConfigurationSet":{ - "type":"list", - "member":{ - "shape":"ServiceConfiguration", - "locationName":"item" - } - }, - "ServiceDetail":{ - "type":"structure", - "members":{ - "ServiceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the service.

", - "locationName":"serviceName" - }, - "ServiceType":{ - "shape":"ServiceTypeDetailSet", - "documentation":"

The type of service.

", - "locationName":"serviceType" - }, - "AvailabilityZones":{ - "shape":"ValueStringList", - "documentation":"

The Availability Zones in which the service is available.

", - "locationName":"availabilityZoneSet" - }, - "Owner":{ - "shape":"String", - "documentation":"

The AWS account ID of the service owner.

", - "locationName":"owner" - }, - "BaseEndpointDnsNames":{ - "shape":"ValueStringList", - "documentation":"

The DNS names for the service.

", - "locationName":"baseEndpointDnsNameSet" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name for the service.

", - "locationName":"privateDnsName" - }, - "VpcEndpointPolicySupported":{ - "shape":"Boolean", - "documentation":"

Indicates whether the service supports endpoint policies.

", - "locationName":"vpcEndpointPolicySupported" - }, - "AcceptanceRequired":{ - "shape":"Boolean", - "documentation":"

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

", - "locationName":"acceptanceRequired" - } - }, - "documentation":"

Describes a VPC endpoint service.

" - }, - "ServiceDetailSet":{ - "type":"list", - "member":{ - "shape":"ServiceDetail", - "locationName":"item" - } - }, - "ServiceState":{ - "type":"string", - "enum":[ - "Pending", - "Available", - "Deleting", - "Deleted", - "Failed" - ] - }, - "ServiceType":{ - "type":"string", - "enum":[ - "Interface", - "Gateway" - ] - }, - "ServiceTypeDetail":{ - "type":"structure", - "members":{ - "ServiceType":{ - "shape":"ServiceType", - "documentation":"

The type of service.

", - "locationName":"serviceType" - } - }, - "documentation":"

Describes the type of service for a VPC endpoint.

" - }, - "ServiceTypeDetailSet":{ - "type":"list", - "member":{ - "shape":"ServiceTypeDetail", - "locationName":"item" - } - }, - "ShutdownBehavior":{ - "type":"string", - "enum":[ - "stop", - "terminate" - ] - }, - "SlotDateTimeRangeRequest":{ - "type":"structure", - "required":[ - "EarliestTime", - "LatestTime" - ], - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" - }, - "SlotStartTimeRangeRequest":{ - "type":"structure", - "members":{ - "EarliestTime":{ - "shape":"DateTime", - "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" - }, - "LatestTime":{ - "shape":"DateTime", - "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start.

" - } - }, - "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule.

" - }, - "Snapshot":{ - "type":"structure", - "members":{ - "DataEncryptionKeyId":{ - "shape":"String", - "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by 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" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the snapshot was initiated.

", - "locationName":"startTime" - }, - "State":{ - "shape":"SnapshotState", - "documentation":"

The snapshot state.

", - "locationName":"status" - }, - "StateMessage":{ - "shape":"String", - "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by the DescribeSnapshots API operation.

", - "locationName":"statusMessage" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

", - "locationName":"volumeId" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"volumeSize" - }, - "OwnerAlias":{ - "shape":"String", - "documentation":"

Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

", - "locationName":"ownerAlias" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the snapshot.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a snapshot.

" - }, - "SnapshotAttributeName":{ - "type":"string", - "enum":[ - "productCodes", - "createVolumePermission" - ] - }, - "SnapshotDetail":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the snapshot.

", - "locationName":"description" - }, - "DeviceName":{ - "shape":"String", - "documentation":"

The block device mapping for the snapshot.

", - "locationName":"deviceName" - }, - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot, in GiB.

", - "locationName":"diskImageSize" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image from which the snapshot is created.

", - "locationName":"format" - }, - "Progress":{ - "shape":"String", - "documentation":"

The percentage of progress for the task.

", - "locationName":"progress" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot ID of the disk being imported.

", - "locationName":"snapshotId" - }, - "Status":{ - "shape":"String", - "documentation":"

A brief status of the snapshot creation.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A detailed status message for the snapshot creation.

", - "locationName":"statusMessage" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL used to access the disk image.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - } - }, - "documentation":"

Describes the snapshot created from the imported disk.

" - }, - "SnapshotDetailList":{ - "type":"list", - "member":{ - "shape":"SnapshotDetail", - "locationName":"item" - } - }, - "SnapshotDiskContainer":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the disk image being imported.

" - }, - "Format":{ - "shape":"String", - "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

" - }, - "Url":{ - "shape":"String", - "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" - }, - "UserBucket":{ - "shape":"UserBucket", - "documentation":"

The S3 bucket for the disk image.

" - } - }, - "documentation":"

The disk container object for the import snapshot request.

" - }, - "SnapshotIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotId" - } - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"item" - } - }, - "SnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error" - ] - }, - "SnapshotTaskDetail":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

The description of the snapshot.

", - "locationName":"description" - }, - "DiskImageSize":{ - "shape":"Double", - "documentation":"

The size of the disk in the snapshot, in GiB.

", - "locationName":"diskImageSize" - }, - "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.

", - "locationName":"url" - }, - "UserBucket":{ - "shape":"UserBucketDetails", - "documentation":"

The S3 bucket for the disk image.

", - "locationName":"userBucket" - } - }, - "documentation":"

Details about the import snapshot task.

" - }, - "SpotAllocationStrategy":{ - "type":"string", - "enum":[ - "lowest-price", - "diversified" - ] - }, - "SpotDatafeedSubscription":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket where the Spot Instance data feed is located.

", - "locationName":"bucket" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "documentation":"

The fault codes for the Spot Instance request, if any.

", - "locationName":"fault" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the account.

", - "locationName":"ownerId" - }, - "Prefix":{ - "shape":"String", - "documentation":"

The prefix that is prepended to data feed files.

", - "locationName":"prefix" - }, - "State":{ - "shape":"DatafeedSubscriptionState", - "documentation":"

The state of the Spot Instance data feed subscription.

", - "locationName":"state" - } - }, - "documentation":"

Describes the data feed for a Spot Instance.

" - }, - "SpotFleetLaunchSpecification":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"GroupIdentifierList", - "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", - "locationName":"groupSet" - }, - "AddressingType":{ - "shape":"String", - "documentation":"

Deprecated.

", - "locationName":"addressingType" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappingList", - "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", - "locationName":"blockDeviceMapping" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", - "locationName":"ebsOptimized" - }, - "IamInstanceProfile":{ - "shape":"IamInstanceProfileSpecification", - "documentation":"

The IAM instance profile.

", - "locationName":"iamInstanceProfile" - }, - "ImageId":{ - "shape":"String", - "documentation":"

The ID of the AMI.

", - "locationName":"imageId" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "KernelId":{ - "shape":"String", - "documentation":"

The ID of the kernel.

", - "locationName":"kernelId" - }, - "KeyName":{ - "shape":"String", - "documentation":"

The name of the key pair.

", - "locationName":"keyName" - }, - "Monitoring":{ - "shape":"SpotFleetMonitoring", - "documentation":"

Enable or disable monitoring for the instances.

", - "locationName":"monitoring" - }, - "NetworkInterfaces":{ - "shape":"InstanceNetworkInterfaceSpecificationList", - "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "locationName":"networkInterfaceSet" - }, - "Placement":{ - "shape":"SpotPlacement", - "documentation":"

The placement information.

", - "locationName":"placement" - }, - "RamdiskId":{ - "shape":"String", - "documentation":"

The ID of the RAM disk.

", - "locationName":"ramdiskId" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. If this value is not specified, the default is the Spot price specified for the fleet. To determine the Spot price per unit hour, divide the Spot price by the value of WeightedCapacity.

", - "locationName":"spotPrice" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The 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 Base64-encoded user data to make available to the instances.

", - "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" - }, - "TagSpecifications":{ - "shape":"SpotFleetTagSpecificationList", - "documentation":"

The tags to apply during creation.

", - "locationName":"tagSpecificationSet" - } - }, - "documentation":"

Describes the launch specification for one or more Spot Instances.

" - }, - "SpotFleetMonitoring":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Enables monitoring for the instance.

Default: false

", - "locationName":"enabled" - } - }, - "documentation":"

Describes whether monitoring is enabled.

" - }, - "SpotFleetRequestConfig":{ - "type":"structure", - "required":[ - "CreateTime", - "SpotFleetRequestConfig", - "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 requests are placed, the status is pending_fulfillment. If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the fleet is decreased, the status is pending_termination while Spot Instances are terminating.

", - "locationName":"activityStatus" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The creation date and time of the request.

", - "locationName":"createTime" - }, - "SpotFleetRequestConfig":{ - "shape":"SpotFleetRequestConfigData", - "documentation":"

The configuration of the Spot Fleet request.

", - "locationName":"spotFleetRequestConfig" - }, - "SpotFleetRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Fleet request.

", - "locationName":"spotFleetRequestId" - }, - "SpotFleetRequestState":{ - "shape":"BatchState", - "documentation":"

The state of the Spot Fleet request.

", - "locationName":"spotFleetRequestState" - } - }, - "documentation":"

Describes a Spot Fleet request.

" - }, - "SpotFleetRequestConfigData":{ - "type":"structure", - "required":[ - "IamFleetRole", - "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" - }, - "OnDemandAllocationStrategy":{ - "shape":"OnDemandAllocationStrategy", - "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowestPrice, Spot Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

", - "locationName":"onDemandAllocationStrategy" - }, - "ClientToken":{ - "shape":"String", - "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", - "locationName":"clientToken" - }, - "ExcessCapacityTerminationPolicy":{ - "shape":"ExcessCapacityTerminationPolicy", - "documentation":"

Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", - "locationName":"excessCapacityTerminationPolicy" - }, - "FulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", - "locationName":"fulfilledCapacity" - }, - "OnDemandFulfilledCapacity":{ - "shape":"Double", - "documentation":"

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

", - "locationName":"onDemandFulfilledCapacity" - }, - "IamFleetRole":{ - "shape":"String", - "documentation":"

Grants the Spot Fleet permission to terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set terminateInstancesWithExpiration.

", - "locationName":"iamFleetRole" - }, - "LaunchSpecifications":{ - "shape":"LaunchSpecsList", - "documentation":"

The launch specifications for the Spot Fleet request.

", - "locationName":"launchSpecifications" - }, - "LaunchTemplateConfigs":{ - "shape":"LaunchTemplateConfigList", - "documentation":"

The launch template and overrides.

", - "locationName":"launchTemplateConfigs" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", - "locationName":"spotPrice" - }, - "TargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", - "locationName":"targetCapacity" - }, - "OnDemandTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", - "locationName":"onDemandTargetCapacity" - }, - "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 Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. To maintain a certain target capacity, the Spot Fleet places the required requests to meet capacity and automatically replenishes 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 able to fulfill the request. The default end date is 7 days from the current date.

", - "locationName":"validUntil" - }, - "ReplaceUnhealthyInstances":{ - "shape":"Boolean", - "documentation":"

Indicates whether Spot Fleet should replace unhealthy instances.

", - "locationName":"replaceUnhealthyInstances" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

", - "locationName":"instanceInterruptionBehavior" - }, - "LoadBalancersConfig":{ - "shape":"LoadBalancersConfig", - "documentation":"

One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.

With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

", - "locationName":"loadBalancersConfig" - }, - "InstancePoolsToUseCount":{ - "shape":"Integer", - "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

", - "locationName":"instancePoolsToUseCount" - } - }, - "documentation":"

Describes the configuration of a Spot Fleet request.

" - }, - "SpotFleetRequestConfigSet":{ - "type":"list", - "member":{ - "shape":"SpotFleetRequestConfig", - "locationName":"item" - } - }, - "SpotFleetTagSpecification":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource. Currently, the only resource type that is supported is instance.

", - "locationName":"resourceType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags.

", - "locationName":"tag" - } - }, - "documentation":"

The tags for a Spot Fleet resource.

" - }, - "SpotFleetTagSpecificationList":{ - "type":"list", - "member":{ - "shape":"SpotFleetTagSpecification", - "locationName":"item" - } - }, - "SpotInstanceInterruptionBehavior":{ - "type":"string", - "enum":[ - "hibernate", - "stop", - "terminate" - ] - }, - "SpotInstanceRequest":{ - "type":"structure", - "members":{ - "ActualBlockHourlyPrice":{ - "shape":"String", - "documentation":"

If you specified a duration and your Spot Instance request was fulfilled, this is the fixed hourly price in effect for the Spot Instance while it runs.

", - "locationName":"actualBlockHourlyPrice" - }, - "AvailabilityZoneGroup":{ - "shape":"String", - "documentation":"

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

", - "locationName":"availabilityZoneGroup" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The duration for the Spot Instance, in minutes.

", - "locationName":"blockDurationMinutes" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"createTime" - }, - "Fault":{ - "shape":"SpotInstanceStateFault", - "documentation":"

The fault codes for the Spot Instance request, if any.

", - "locationName":"fault" - }, - "InstanceId":{ - "shape":"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 request is launched.

", - "locationName":"launchedAvailabilityZone" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

The product description associated with the Spot Instance.

", - "locationName":"productDescription" - }, - "SpotInstanceRequestId":{ - "shape":"String", - "documentation":"

The ID of the Spot Instance request.

", - "locationName":"spotInstanceRequestId" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance.

", - "locationName":"spotPrice" - }, - "State":{ - "shape":"SpotInstanceState", - "documentation":"

The state of the Spot Instance request. Spot status information helps track your Spot Instance requests. For more information, see Spot Status in the Amazon EC2 User Guide for Linux Instances.

", - "locationName":"state" - }, - "Status":{ - "shape":"SpotInstanceStatus", - "documentation":"

The status code and status message describing the Spot Instance request.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "Type":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type.

", - "locationName":"type" - }, - "ValidFrom":{ - "shape":"DateTime", - "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", - "locationName":"validFrom" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

", - "locationName":"validUntil" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted.

", - "locationName":"instanceInterruptionBehavior" - } - }, - "documentation":"

Describes a Spot Instance request.

" - }, - "SpotInstanceRequestIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SpotInstanceRequestId" - } - }, - "SpotInstanceRequestList":{ - "type":"list", - "member":{ - "shape":"SpotInstanceRequest", - "locationName":"item" - } - }, - "SpotInstanceState":{ - "type":"string", - "enum":[ - "open", - "active", - "closed", - "cancelled", - "failed" - ] - }, - "SpotInstanceStateFault":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the Spot Instance state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the Spot Instance state change.

", - "locationName":"message" - } - }, - "documentation":"

Describes a Spot Instance state change.

" - }, - "SpotInstanceStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The description for the status code.

", - "locationName":"message" - }, - "UpdateTime":{ - "shape":"DateTime", - "documentation":"

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"updateTime" - } - }, - "documentation":"

Describes the status of a Spot Instance request.

" - }, - "SpotInstanceType":{ - "type":"string", - "enum":[ - "one-time", - "persistent" - ] - }, - "SpotMarketOptions":{ - "type":"structure", - "members":{ - "MaxPrice":{ - "shape":"String", - "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances. The default is the On-Demand price.

" - }, - "SpotInstanceType":{ - "shape":"SpotInstanceType", - "documentation":"

The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" - }, - "BlockDurationMinutes":{ - "shape":"Integer", - "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

" - }, - "ValidUntil":{ - "shape":"DateTime", - "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. The default end date is 7 days from the current date.

" - }, - "InstanceInterruptionBehavior":{ - "shape":"InstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" - } - }, - "documentation":"

The options for Spot Instances.

" - }, - "SpotOptions":{ - "type":"structure", - "members":{ - "AllocationStrategy":{ - "shape":"SpotAllocationStrategy", - "documentation":"

Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowest-price.

", - "locationName":"allocationStrategy" - }, - "InstanceInterruptionBehavior":{ - "shape":"SpotInstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

", - "locationName":"instanceInterruptionBehavior" - }, - "InstancePoolsToUseCount":{ - "shape":"Integer", - "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when AllocationStrategy is set to lowestPrice. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

", - "locationName":"instancePoolsToUseCount" - } - }, - "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet.

" - }, - "SpotOptionsRequest":{ - "type":"structure", - "members":{ - "AllocationStrategy":{ - "shape":"SpotAllocationStrategy", - "documentation":"

Indicates how to allocate the target capacity across the Spot pools specified by the Spot Fleet request. The default is lowestPrice.

" - }, - "InstanceInterruptionBehavior":{ - "shape":"SpotInstanceInterruptionBehavior", - "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" - }, - "InstancePoolsToUseCount":{ - "shape":"Integer", - "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

" - } - }, - "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet request.

" - }, - "SpotPlacement":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", - "locationName":"availabilityZone" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the placement group.

", - "locationName":"groupName" - }, - "Tenancy":{ - "shape":"Tenancy", - "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for Spot Instances.

", - "locationName":"tenancy" - } - }, - "documentation":"

Describes Spot Instance placement.

" - }, - "SpotPrice":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone.

", - "locationName":"availabilityZone" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The instance type.

", - "locationName":"instanceType" - }, - "ProductDescription":{ - "shape":"RIProductDescription", - "documentation":"

A general description of the AMI.

", - "locationName":"productDescription" - }, - "SpotPrice":{ - "shape":"String", - "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance.

", - "locationName":"spotPrice" - }, - "Timestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", - "locationName":"timestamp" - } - }, - "documentation":"

Describes the maximum price per hour that you are willing to pay for a Spot Instance.

" - }, - "SpotPriceHistoryList":{ - "type":"list", - "member":{ - "shape":"SpotPrice", - "locationName":"item" - } - }, - "StaleIpPermission":{ - "type":"structure", - "members":{ - "FromPort":{ - "shape":"Integer", - "documentation":"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"fromPort" - }, - "IpProtocol":{ - "shape":"String", - "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", - "locationName":"ipProtocol" - }, - "IpRanges":{ - "shape":"IpRanges", - "documentation":"

One or more IP ranges. Not applicable for stale security group rules.

", - "locationName":"ipRanges" - }, - "PrefixListIds":{ - "shape":"PrefixListIdSet", - "documentation":"

One or more prefix list IDs for an AWS service. Not applicable for stale security group rules.

", - "locationName":"prefixListIds" - }, - "ToPort":{ - "shape":"Integer", - "documentation":"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", - "locationName":"toPort" - }, - "UserIdGroupPairs":{ - "shape":"UserIdGroupPairSet", - "documentation":"

One or more security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", - "locationName":"groups" - } - }, - "documentation":"

Describes a stale rule in a security group.

" - }, - "StaleIpPermissionSet":{ - "type":"list", - "member":{ - "shape":"StaleIpPermission", - "locationName":"item" - } - }, - "StaleSecurityGroup":{ - "type":"structure", - "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.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group.

", - "locationName":"groupName" - }, - "StaleIpPermissions":{ - "shape":"StaleIpPermissionSet", - "documentation":"

Information about the stale inbound rules in the security group.

", - "locationName":"staleIpPermissions" - }, - "StaleIpPermissionsEgress":{ - "shape":"StaleIpPermissionSet", - "documentation":"

Information about the stale outbound rules in the security group.

", - "locationName":"staleIpPermissionsEgress" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the security group.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes a stale security group (a security group that contains stale rules).

" - }, - "StaleSecurityGroupSet":{ - "type":"list", - "member":{ - "shape":"StaleSecurityGroup", - "locationName":"item" - } - }, - "StartInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

One or more instance IDs.

", - "locationName":"InstanceId" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

", - "locationName":"additionalInfo" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "locationName":"dryRun" - } - }, - "documentation":"

Contains the parameters for StartInstances.

" - }, - "StartInstancesResult":{ - "type":"structure", - "members":{ - "StartingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more started instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StartInstances.

" - }, - "State":{ - "type":"string", - "enum":[ - "PendingAcceptance", - "Pending", - "Available", - "Deleting", - "Deleted", - "Rejected", - "Failed", - "Expired" - ] - }, - "StateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The reason code for the state change.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient capacity available to satisfy the launch request.

  • Server.InternalError: An internal error caused the instance to terminate during launch.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceShutdown: The instance was stopped because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Server.SpotInstanceTermination: The instance was terminated because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.InstanceTerminated: The instance was terminated or rebooted during AMI creation.

  • Client.InternalError: A client error caused the instance to terminate during launch.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your account limits.

", - "locationName":"message" - } - }, - "documentation":"

Describes a state change.

" - }, - "Status":{ - "type":"string", - "enum":[ - "MoveInProgress", - "InVpc", - "InClassic" - ] - }, - "StatusName":{ - "type":"string", - "enum":["reachability"] - }, - "StatusType":{ - "type":"string", - "enum":[ - "passed", - "failed", - "insufficient-data", - "initializing" - ] - }, - "StopInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdStringList", - "documentation":"

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

", - "locationName":"force" - } - }, - "documentation":"

Contains the parameters for StopInstances.

" - }, - "StopInstancesResult":{ - "type":"structure", - "members":{ - "StoppingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more stopped instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of StopInstances.

" - }, - "Storage":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Storage", - "documentation":"

An Amazon S3 storage location.

" - } - }, - "documentation":"

Describes the storage location for an instance store-backed AMI.

" - }, - "StorageLocation":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket.

" - }, - "Key":{ - "shape":"String", - "documentation":"

The key.

" - } - }, - "documentation":"

Describes a storage location in Amazon S3.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the subnet.

", - "locationName":"availabilityZone" - }, - "AvailableIpAddressCount":{ - "shape":"Integer", - "documentation":"

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any stopped instances are considered unavailable.

", - "locationName":"availableIpAddressCount" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block assigned to the subnet.

", - "locationName":"cidrBlock" - }, - "DefaultForAz":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", - "locationName":"defaultForAz" - }, - "MapPublicIpOnLaunch":{ - "shape":"Boolean", - "documentation":"

Indicates whether instances launched in this subnet receive a public IPv4 address.

", - "locationName":"mapPublicIpOnLaunch" - }, - "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.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetCidrBlockState":{ - "type":"structure", - "members":{ - "State":{ - "shape":"SubnetCidrBlockStateCode", - "documentation":"

The state of a CIDR block.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A message about the status of the CIDR block, if applicable.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes the state of a CIDR block.

" - }, - "SubnetCidrBlockStateCode":{ - "type":"string", - "enum":[ - "associating", - "associated", - "disassociating", - "disassociated", - "failing", - "failed" - ] - }, - "SubnetIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetId" - } - }, - "SubnetIpv6CidrBlockAssociation":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the CIDR block.

", - "locationName":"associationId" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block.

", - "locationName":"ipv6CidrBlock" - }, - "Ipv6CidrBlockState":{ - "shape":"SubnetCidrBlockState", - "documentation":"

Information about the state of the CIDR block.

", - "locationName":"ipv6CidrBlockState" - } - }, - "documentation":"

Describes an IPv6 CIDR block associated with a subnet.

" - }, - "SubnetIpv6CidrBlockAssociationSet":{ - "type":"list", - "member":{ - "shape":"SubnetIpv6CidrBlockAssociation", - "locationName":"item" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"item" - } - }, - "SubnetState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "SuccessfulInstanceCreditSpecificationItem":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - } - }, - "documentation":"

Describes the T2 instance whose credit option for CPU usage was successfully modified.

" - }, - "SuccessfulInstanceCreditSpecificationSet":{ - "type":"list", - "member":{ - "shape":"SuccessfulInstanceCreditSpecificationItem", - "locationName":"item" - } - }, - "SummaryStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data", - "not-applicable", - "initializing" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:

", - "locationName":"key" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The tag key.

", - "locationName":"key" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource. For example, ami-1a2b3c4d.

", - "locationName":"resourceId" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

", - "locationName":"resourceType" - }, - "Value":{ - "shape":"String", - "documentation":"

The tag value.

", - "locationName":"value" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagDescriptionList":{ - "type":"list", - "member":{ - "shape":"TagDescription", - "locationName":"item" - } - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } - }, - "TagSpecification":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are fleet, instance, snapshot, and volume. To tag a resource after it has been created, see CreateTags.

", - "locationName":"resourceType" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to apply to the resource.

", - "locationName":"Tag" - } - }, - "documentation":"

The tags to apply to a resource when the resource is being created.

" - }, - "TagSpecificationList":{ - "type":"list", - "member":{ - "shape":"TagSpecification", - "locationName":"item" - } - }, - "TargetCapacitySpecification":{ - "type":"structure", - "members":{ - "TotalTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of units to request, filled using DefaultTargetCapacityType.

", - "locationName":"totalTargetCapacity" - }, - "OnDemandTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of On-Demand units to request.

", - "locationName":"onDemandTargetCapacity" - }, - "SpotTargetCapacity":{ - "shape":"Integer", - "documentation":"

The maximum number of Spot units to launch.

", - "locationName":"spotTargetCapacity" - }, - "DefaultTargetCapacityType":{ - "shape":"DefaultTargetCapacityType", - "documentation":"

The default TotalTargetCapacity, which is either Spot or On-Demand.

", - "locationName":"defaultTargetCapacityType" - } - }, - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

" - }, - "TargetCapacitySpecificationRequest":{ - "type":"structure", - "required":["TotalTargetCapacity"], - "members":{ - "TotalTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of units to request, filled using DefaultTargetCapacityType.

" - }, - "OnDemandTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of On-Demand units to request.

" - }, - "SpotTargetCapacity":{ - "shape":"Integer", - "documentation":"

The number of Spot units to request.

" - }, - "DefaultTargetCapacityType":{ - "shape":"DefaultTargetCapacityType", - "documentation":"

The default TotalTargetCapacity, which is either Spot or On-Demand.

" - } - }, - "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

" - }, - "TargetConfiguration":{ - "type":"structure", - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", - "locationName":"instanceCount" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The ID of the Convertible Reserved Instance offering.

", - "locationName":"offeringId" - } - }, - "documentation":"

Information about the Convertible Reserved Instance offering.

" - }, - "TargetConfigurationRequest":{ - "type":"structure", - "required":["OfferingId"], - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

" - }, - "OfferingId":{ - "shape":"String", - "documentation":"

The Convertible Reserved Instance offering ID.

" - } - }, - "documentation":"

Details about the target configuration.

" - }, - "TargetConfigurationRequestSet":{ - "type":"list", - "member":{ - "shape":"TargetConfigurationRequest", - "locationName":"TargetConfigurationRequest" - } - }, - "TargetGroup":{ - "type":"structure", - "required":["Arn"], - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

", - "locationName":"arn" - } - }, - "documentation":"

Describes a load balancer target group.

" - }, - "TargetGroups":{ - "type":"list", - "member":{ - "shape":"TargetGroup", - "locationName":"item" - }, - "max":5, - "min":1 - }, - "TargetGroupsConfig":{ - "type":"structure", - "required":["TargetGroups"], - "members":{ - "TargetGroups":{ - "shape":"TargetGroups", - "documentation":"

One or more target groups.

", - "locationName":"targetGroups" - } - }, - "documentation":"

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these target groups.

" - }, - "TargetReservationValue":{ - "type":"structure", - "members":{ - "ReservationValue":{ - "shape":"ReservationValue", - "documentation":"

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of the list value, remaining upfront price, and additional upfront cost of the exchange.

", - "locationName":"reservationValue" - }, - "TargetConfiguration":{ - "shape":"TargetConfiguration", - "documentation":"

The configuration of the Convertible Reserved Instances that make up the exchange.

", - "locationName":"targetConfiguration" - } - }, - "documentation":"

The total value of the new Convertible Reserved Instances.

" - }, - "TargetReservationValueSet":{ - "type":"list", - "member":{ - "shape":"TargetReservationValue", - "locationName":"item" - } - }, - "TelemetryStatus":{ - "type":"string", - "enum":[ - "UP", - "DOWN" - ] - }, - "Tenancy":{ - "type":"string", - "enum":[ - "default", - "dedicated", - "host" - ] - }, - "TerminateInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "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.

" - }, - "TerminateInstancesResult":{ - "type":"structure", - "members":{ - "TerminatingInstances":{ - "shape":"InstanceStateChangeList", - "documentation":"

Information about one or more terminated instances.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of TerminateInstances.

" - }, - "TrafficType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT", - "ALL" - ] - }, - "TunnelOptionsList":{ - "type":"list", - "member":{ - "shape":"VpnTunnelOptionsSpecification", - "locationName":"item" - } - }, - "UnassignIpv6AddressesRequest":{ - "type":"structure", - "required":[ - "Ipv6Addresses", - "NetworkInterfaceId" - ], - "members":{ - "Ipv6Addresses":{ - "shape":"Ipv6AddressList", - "documentation":"

The IPv6 addresses to unassign from the network interface.

", - "locationName":"ipv6Addresses" - }, - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - } - } - }, - "UnassignIpv6AddressesResult":{ - "type":"structure", - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "UnassignedIpv6Addresses":{ - "shape":"Ipv6AddressList", - "documentation":"

The IPv6 addresses that have been unassigned from the network interface.

", - "locationName":"unassignedIpv6Addresses" - } - } - }, - "UnassignPrivateIpAddressesRequest":{ - "type":"structure", - "required":[ - "NetworkInterfaceId", - "PrivateIpAddresses" - ], - "members":{ - "NetworkInterfaceId":{ - "shape":"String", - "documentation":"

The ID of the network interface.

", - "locationName":"networkInterfaceId" - }, - "PrivateIpAddresses":{ - "shape":"PrivateIpAddressStringList", - "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", - "locationName":"privateIpAddress" - } - }, - "documentation":"

Contains the parameters for UnassignPrivateIpAddresses.

" - }, - "UnmonitorInstancesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "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.

" - }, - "UnmonitorInstancesResult":{ - "type":"structure", - "members":{ - "InstanceMonitorings":{ - "shape":"InstanceMonitoringList", - "documentation":"

The monitoring information.

", - "locationName":"instancesSet" - } - }, - "documentation":"

Contains the output of UnmonitorInstances.

" - }, - "UnsuccessfulInstanceCreditSpecificationErrorCode":{ - "type":"string", - "enum":[ - "InvalidInstanceID.Malformed", - "InvalidInstanceID.NotFound", - "IncorrectInstanceState", - "InstanceCreditSpecification.NotSupported" - ] - }, - "UnsuccessfulInstanceCreditSpecificationItem":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "Error":{ - "shape":"UnsuccessfulInstanceCreditSpecificationItemError", - "documentation":"

The applicable error for the T2 instance whose credit option for CPU usage was not modified.

", - "locationName":"error" - } - }, - "documentation":"

Describes the T2 instance whose credit option for CPU usage was not modified.

" - }, - "UnsuccessfulInstanceCreditSpecificationItemError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"UnsuccessfulInstanceCreditSpecificationErrorCode", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The applicable error message.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error for the T2 instance whose credit option for CPU usage was not modified.

" - }, - "UnsuccessfulInstanceCreditSpecificationSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulInstanceCreditSpecificationItem", - "locationName":"item" - } - }, - "UnsuccessfulItem":{ - "type":"structure", - "required":["Error"], - "members":{ - "Error":{ - "shape":"UnsuccessfulItemError", - "documentation":"

Information about the error.

", - "locationName":"error" - }, - "ResourceId":{ - "shape":"String", - "documentation":"

The ID of the resource.

", - "locationName":"resourceId" - } - }, - "documentation":"

Information about items that were not successfully processed in a batch call.

" - }, - "UnsuccessfulItemError":{ - "type":"structure", - "required":[ - "Code", - "Message" - ], - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The error code.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message accompanying the error code.

", - "locationName":"message" - } - }, - "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" - }, - "UnsuccessfulItemList":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UnsuccessfulItemSet":{ - "type":"list", - "member":{ - "shape":"UnsuccessfulItem", - "locationName":"item" - } - }, - "UpdateSecurityGroupRuleDescriptionsEgressRequest":{ - "type":"structure", - "required":["IpPermissions"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

The IP permissions for the security group rule.

" - } - }, - "documentation":"

Contains the parameters for UpdateSecurityGroupRuleDescriptionsEgress.

" - }, - "UpdateSecurityGroupRuleDescriptionsEgressResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of UpdateSecurityGroupRuleDescriptionsEgress.

" - }, - "UpdateSecurityGroupRuleDescriptionsIngressRequest":{ - "type":"structure", - "required":["IpPermissions"], - "members":{ - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" - }, - "GroupName":{ - "shape":"String", - "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" - }, - "IpPermissions":{ - "shape":"IpPermissionList", - "documentation":"

The IP permissions for the security group rule.

" - } - }, - "documentation":"

Contains the parameters for UpdateSecurityGroupRuleDescriptionsIngress.

" - }, - "UpdateSecurityGroupRuleDescriptionsIngressResult":{ - "type":"structure", - "members":{ - "Return":{ - "shape":"Boolean", - "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", - "locationName":"return" - } - }, - "documentation":"

Contains the output of UpdateSecurityGroupRuleDescriptionsIngress.

" - }, - "UserBucket":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the disk image is located.

" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserBucketDetails":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"String", - "documentation":"

The S3 bucket from which the disk image was created.

", - "locationName":"s3Bucket" - }, - "S3Key":{ - "shape":"String", - "documentation":"

The file name of the disk image.

", - "locationName":"s3Key" - } - }, - "documentation":"

Describes the S3 bucket for the disk image.

" - }, - "UserData":{ - "type":"structure", - "members":{ - "Data":{ - "shape":"String", - "documentation":"

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", - "locationName":"data" - } - }, - "documentation":"

Describes the user data for an instance.

" - }, - "UserGroupStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserGroup" - } - }, - "UserIdGroupPair":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description for the security group rule that references this user ID group pair.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", - "locationName":"description" - }, - "GroupId":{ - "shape":"String", - "documentation":"

The ID of the security group.

", - "locationName":"groupId" - }, - "GroupName":{ - "shape":"String", - "documentation":"

The name of the security group. In a request, use this parameter for a security group in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the security group ID.

For a referenced security group in another VPC, this value is not returned if the referenced security group is deleted.

", - "locationName":"groupName" - }, - "PeeringStatus":{ - "shape":"String", - "documentation":"

The status of a VPC peering connection, if applicable.

", - "locationName":"peeringStatus" - }, - "UserId":{ - "shape":"String", - "documentation":"

The ID of an AWS account.

For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another AWS account.

", - "locationName":"userId" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC for the referenced security group, if applicable.

", - "locationName":"vpcId" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection, if applicable.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a security group and AWS account ID pair.

" - }, - "UserIdGroupPairList":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdGroupPairSet":{ - "type":"list", - "member":{ - "shape":"UserIdGroupPair", - "locationName":"item" - } - }, - "UserIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"UserId" - } - }, - "ValueStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VersionDescription":{ - "type":"string", - "max":255 - }, - "VersionStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"item" - } - }, - "VgwTelemetry":{ - "type":"structure", - "members":{ - "AcceptedRouteCount":{ - "shape":"Integer", - "documentation":"

The number of accepted routes.

", - "locationName":"acceptedRouteCount" - }, - "LastStatusChange":{ - "shape":"DateTime", - "documentation":"

The date and time of the last change in status.

", - "locationName":"lastStatusChange" - }, - "OutsideIpAddress":{ - "shape":"String", - "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", - "locationName":"outsideIpAddress" - }, - "Status":{ - "shape":"TelemetryStatus", - "documentation":"

The status of the VPN tunnel.

", - "locationName":"status" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

If an error occurs, a description of the error.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes telemetry for a VPN tunnel.

" - }, - "VgwTelemetryList":{ - "type":"list", - "member":{ - "shape":"VgwTelemetry", - "locationName":"item" - } - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "hvm", - "paravirtual" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "Attachments":{ - "shape":"VolumeAttachmentList", - "documentation":"

Information about the volume attachments.

", - "locationName":"attachmentSet" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone for the volume.

", - "locationName":"availabilityZone" - }, - "CreateTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when volume creation was initiated.

", - "locationName":"createTime" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Indicates whether the volume 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", - "documentation":"

The size of the volume, in GiBs.

", - "locationName":"size" - }, - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot from which the volume was created, if applicable.

", - "locationName":"snapshotId" - }, - "State":{ - "shape":"VolumeState", - "documentation":"

The volume state.

", - "locationName":"status" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information 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-32000 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", - "documentation":"

Any tags assigned to the volume.

", - "locationName":"tagSet" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", - "locationName":"volumeType" - } - }, - "documentation":"

Describes a volume.

" - }, - "VolumeAttachment":{ - "type":"structure", - "members":{ - "AttachTime":{ - "shape":"DateTime", - "documentation":"

The time stamp when the attachment initiated.

", - "locationName":"attachTime" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

", - "locationName":"device" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance.

", - "locationName":"instanceId" - }, - "State":{ - "shape":"VolumeAttachmentState", - "documentation":"

The attachment state of the volume.

", - "locationName":"status" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", - "locationName":"deleteOnTermination" - } - }, - "documentation":"

Describes volume attachment details.

" - }, - "VolumeAttachmentList":{ - "type":"list", - "member":{ - "shape":"VolumeAttachment", - "locationName":"item" - } - }, - "VolumeAttachmentState":{ - "type":"string", - "enum":[ - "attaching", - "attached", - "detaching", - "detached", - "busy" - ] - }, - "VolumeAttributeName":{ - "type":"string", - "enum":[ - "autoEnableIO", - "productCodes" - ] - }, - "VolumeDetail":{ - "type":"structure", - "required":["Size"], - "members":{ - "Size":{ - "shape":"Long", - "documentation":"

The size of the volume, in GiB.

", - "locationName":"size" - } - }, - "documentation":"

Describes an EBS volume.

" - }, - "VolumeIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VolumeId" - } - }, - "VolumeList":{ - "type":"list", - "member":{ - "shape":"Volume", - "locationName":"item" - } - }, - "VolumeModification":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The ID of the volume.

", - "locationName":"volumeId" - }, - "ModificationState":{ - "shape":"VolumeModificationState", - "documentation":"

The current modification state. The modification state is null for unmodified volumes.

", - "locationName":"modificationState" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A status message about the modification progress or failure.

", - "locationName":"statusMessage" - }, - "TargetSize":{ - "shape":"Integer", - "documentation":"

The target size of the volume, in GiB.

", - "locationName":"targetSize" - }, - "TargetIops":{ - "shape":"Integer", - "documentation":"

The target IOPS rate of the volume.

", - "locationName":"targetIops" - }, - "TargetVolumeType":{ - "shape":"VolumeType", - "documentation":"

The target EBS volume type of the volume.

", - "locationName":"targetVolumeType" - }, - "OriginalSize":{ - "shape":"Integer", - "documentation":"

The original size of the volume.

", - "locationName":"originalSize" - }, - "OriginalIops":{ - "shape":"Integer", - "documentation":"

The original IOPS rate of the volume.

", - "locationName":"originalIops" - }, - "OriginalVolumeType":{ - "shape":"VolumeType", - "documentation":"

The original EBS volume type of the volume.

", - "locationName":"originalVolumeType" - }, - "Progress":{ - "shape":"Long", - "documentation":"

The modification progress, from 0 to 100 percent complete.

", - "locationName":"progress" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The modification start time.

", - "locationName":"startTime" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The modification completion or failure time.

", - "locationName":"endTime" - } - }, - "documentation":"

Describes the modification status of an EBS volume.

If the volume has never been modified, some element values will be null.

" - }, - "VolumeModificationList":{ - "type":"list", - "member":{ - "shape":"VolumeModification", - "locationName":"item" - } - }, - "VolumeModificationState":{ - "type":"string", - "enum":[ - "modifying", - "optimizing", - "completed", - "failed" - ] - }, - "VolumeState":{ - "type":"string", - "enum":[ - "creating", - "available", - "in-use", - "deleting", - "deleted", - "error" - ] - }, - "VolumeStatusAction":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code identifying the operation, for example, enable-volume-io.

", - "locationName":"code" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the operation.

", - "locationName":"description" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of the event associated with this operation.

", - "locationName":"eventId" - }, - "EventType":{ - "shape":"String", - "documentation":"

The event type associated with this operation.

", - "locationName":"eventType" - } - }, - "documentation":"

Describes a volume status operation code.

" - }, - "VolumeStatusActionsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusAction", - "locationName":"item" - } - }, - "VolumeStatusDetails":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"VolumeStatusName", - "documentation":"

The name of the volume status.

", - "locationName":"name" - }, - "Status":{ - "shape":"String", - "documentation":"

The intended status of the volume status.

", - "locationName":"status" - } - }, - "documentation":"

Describes a volume status.

" - }, - "VolumeStatusDetailsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusDetails", - "locationName":"item" - } - }, - "VolumeStatusEvent":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"String", - "documentation":"

A description of the event.

", - "locationName":"description" - }, - "EventId":{ - "shape":"String", - "documentation":"

The ID of this event.

", - "locationName":"eventId" - }, - "EventType":{ - "shape":"String", - "documentation":"

The type of this event.

", - "locationName":"eventType" - }, - "NotAfter":{ - "shape":"DateTime", - "documentation":"

The latest end time of the event.

", - "locationName":"notAfter" - }, - "NotBefore":{ - "shape":"DateTime", - "documentation":"

The earliest start time of the event.

", - "locationName":"notBefore" - } - }, - "documentation":"

Describes a volume status event.

" - }, - "VolumeStatusEventsList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusEvent", - "locationName":"item" - } - }, - "VolumeStatusInfo":{ - "type":"structure", - "members":{ - "Details":{ - "shape":"VolumeStatusDetailsList", - "documentation":"

The details of the volume status.

", - "locationName":"details" - }, - "Status":{ - "shape":"VolumeStatusInfoStatus", - "documentation":"

The status of the volume.

", - "locationName":"status" - } - }, - "documentation":"

Describes the status of a volume.

" - }, - "VolumeStatusInfoStatus":{ - "type":"string", - "enum":[ - "ok", - "impaired", - "insufficient-data" - ] - }, - "VolumeStatusItem":{ - "type":"structure", - "members":{ - "Actions":{ - "shape":"VolumeStatusActionsList", - "documentation":"

The details of the operation.

", - "locationName":"actionsSet" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone of the volume.

", - "locationName":"availabilityZone" - }, - "Events":{ - "shape":"VolumeStatusEventsList", - "documentation":"

A list of events associated with the volume.

", - "locationName":"eventsSet" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

", - "locationName":"volumeId" - }, - "VolumeStatus":{ - "shape":"VolumeStatusInfo", - "documentation":"

The volume status.

", - "locationName":"volumeStatus" - } - }, - "documentation":"

Describes the volume status.

" - }, - "VolumeStatusList":{ - "type":"list", - "member":{ - "shape":"VolumeStatusItem", - "locationName":"item" - } - }, - "VolumeStatusName":{ - "type":"string", - "enum":[ - "io-enabled", - "io-performance" - ] - }, - "VolumeType":{ - "type":"string", - "enum":[ - "standard", - "io1", - "gp2", - "sc1", - "st1" - ] - }, - "Vpc":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The primary IPv4 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "DhcpOptionsId":{ - "shape":"String", - "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", - "locationName":"dhcpOptionsId" - }, - "State":{ - "shape":"VpcState", - "documentation":"

The current state of the VPC.

", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "InstanceTenancy":{ - "shape":"Tenancy", - "documentation":"

The allowed tenancy of instances launched into the VPC.

", - "locationName":"instanceTenancy" - }, - "Ipv6CidrBlockAssociationSet":{ - "shape":"VpcIpv6CidrBlockAssociationSet", - "documentation":"

Information about the IPv6 CIDR blocks associated with the VPC.

", - "locationName":"ipv6CidrBlockAssociationSet" - }, - "CidrBlockAssociationSet":{ - "shape":"VpcCidrBlockAssociationSet", - "documentation":"

Information about the IPv4 CIDR blocks associated with the VPC.

", - "locationName":"cidrBlockAssociationSet" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is the default VPC.

", - "locationName":"isDefault" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a VPC.

" - }, - "VpcAttachment":{ - "type":"structure", - "members":{ - "State":{ - "shape":"AttachmentStatus", - "documentation":"

The current state of the attachment.

", - "locationName":"state" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" - }, - "VpcAttachmentList":{ - "type":"list", - "member":{ - "shape":"VpcAttachment", - "locationName":"item" - } - }, - "VpcAttributeName":{ - "type":"string", - "enum":[ - "enableDnsSupport", - "enableDnsHostnames" - ] - }, - "VpcCidrBlockAssociation":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the IPv4 CIDR block.

", - "locationName":"associationId" - }, - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block.

", - "locationName":"cidrBlock" - }, - "CidrBlockState":{ - "shape":"VpcCidrBlockState", - "documentation":"

Information about the state of the CIDR block.

", - "locationName":"cidrBlockState" - } - }, - "documentation":"

Describes an IPv4 CIDR block associated with a VPC.

" - }, - "VpcCidrBlockAssociationSet":{ - "type":"list", - "member":{ - "shape":"VpcCidrBlockAssociation", - "locationName":"item" - } - }, - "VpcCidrBlockState":{ - "type":"structure", - "members":{ - "State":{ - "shape":"VpcCidrBlockStateCode", - "documentation":"

The state of the CIDR block.

", - "locationName":"state" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

A message about the status of the CIDR block, if applicable.

", - "locationName":"statusMessage" - } - }, - "documentation":"

Describes the state of a CIDR block.

" - }, - "VpcCidrBlockStateCode":{ - "type":"string", - "enum":[ - "associating", - "associated", - "disassociating", - "disassociated", - "failing", - "failed" - ] - }, - "VpcClassicLink":{ - "type":"structure", - "members":{ - "ClassicLinkEnabled":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPC is enabled for ClassicLink.

", - "locationName":"classicLinkEnabled" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPC.

", - "locationName":"tagSet" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - } - }, - "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" - }, - "VpcClassicLinkIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcClassicLinkList":{ - "type":"list", - "member":{ - "shape":"VpcClassicLink", - "locationName":"item" - } - }, - "VpcEndpoint":{ - "type":"structure", - "members":{ - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "VpcEndpointType":{ - "shape":"VpcEndpointType", - "documentation":"

The type of endpoint.

", - "locationName":"vpcEndpointType" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC to which the endpoint is associated.

", - "locationName":"vpcId" - }, - "ServiceName":{ - "shape":"String", - "documentation":"

The name of the service to which the endpoint is associated.

", - "locationName":"serviceName" - }, - "State":{ - "shape":"State", - "documentation":"

The state of the VPC endpoint.

", - "locationName":"state" - }, - "PolicyDocument":{ - "shape":"String", - "documentation":"

The policy document associated with the endpoint, if applicable.

", - "locationName":"policyDocument" - }, - "RouteTableIds":{ - "shape":"ValueStringList", - "documentation":"

(Gateway endpoint) One or more route tables associated with the endpoint.

", - "locationName":"routeTableIdSet" - }, - "SubnetIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more subnets in which the endpoint is located.

", - "locationName":"subnetIdSet" - }, - "Groups":{ - "shape":"GroupIdentifierSet", - "documentation":"

(Interface endpoint) Information about the security groups associated with the network interface.

", - "locationName":"groupSet" - }, - "PrivateDnsEnabled":{ - "shape":"Boolean", - "documentation":"

(Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

", - "locationName":"privateDnsEnabled" - }, - "NetworkInterfaceIds":{ - "shape":"ValueStringList", - "documentation":"

(Interface endpoint) One or more network interfaces for the endpoint.

", - "locationName":"networkInterfaceIdSet" - }, - "DnsEntries":{ - "shape":"DnsEntrySet", - "documentation":"

(Interface endpoint) The DNS entries for the endpoint.

", - "locationName":"dnsEntrySet" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the VPC endpoint was created.

", - "locationName":"creationTimestamp" - } - }, - "documentation":"

Describes a VPC endpoint.

" - }, - "VpcEndpointConnection":{ - "type":"structure", - "members":{ - "ServiceId":{ - "shape":"String", - "documentation":"

The ID of the service to which the endpoint is connected.

", - "locationName":"serviceId" - }, - "VpcEndpointId":{ - "shape":"String", - "documentation":"

The ID of the VPC endpoint.

", - "locationName":"vpcEndpointId" - }, - "VpcEndpointOwner":{ - "shape":"String", - "documentation":"

The AWS account ID of the owner of the VPC endpoint.

", - "locationName":"vpcEndpointOwner" - }, - "VpcEndpointState":{ - "shape":"State", - "documentation":"

The state of the VPC endpoint.

", - "locationName":"vpcEndpointState" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "documentation":"

The date and time the VPC endpoint was created.

", - "locationName":"creationTimestamp" - } - }, - "documentation":"

Describes a VPC endpoint connection to a service.

" - }, - "VpcEndpointConnectionSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpointConnection", - "locationName":"item" - } - }, - "VpcEndpointSet":{ - "type":"list", - "member":{ - "shape":"VpcEndpoint", - "locationName":"item" - } - }, - "VpcEndpointType":{ - "type":"string", - "enum":[ - "Interface", - "Gateway" - ] - }, - "VpcIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcId" - } - }, - "VpcIpv6CidrBlockAssociation":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"String", - "documentation":"

The association ID for the IPv6 CIDR block.

", - "locationName":"associationId" - }, - "Ipv6CidrBlock":{ - "shape":"String", - "documentation":"

The IPv6 CIDR block.

", - "locationName":"ipv6CidrBlock" - }, - "Ipv6CidrBlockState":{ - "shape":"VpcCidrBlockState", - "documentation":"

Information about the state of the CIDR block.

", - "locationName":"ipv6CidrBlockState" - } - }, - "documentation":"

Describes an IPv6 CIDR block associated with a VPC.

" - }, - "VpcIpv6CidrBlockAssociationSet":{ - "type":"list", - "member":{ - "shape":"VpcIpv6CidrBlockAssociation", - "locationName":"item" - } - }, - "VpcList":{ - "type":"list", - "member":{ - "shape":"Vpc", - "locationName":"item" - } - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "AccepterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

", - "locationName":"accepterVpcInfo" - }, - "ExpirationTime":{ - "shape":"DateTime", - "documentation":"

The time that an unaccepted VPC peering connection will expire.

", - "locationName":"expirationTime" - }, - "RequesterVpcInfo":{ - "shape":"VpcPeeringConnectionVpcInfo", - "documentation":"

Information about the requester VPC. CIDR block information is only returned when describing an active VPC peering connection.

", - "locationName":"requesterVpcInfo" - }, - "Status":{ - "shape":"VpcPeeringConnectionStateReason", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"status" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the resource.

", - "locationName":"tagSet" - }, - "VpcPeeringConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPC peering connection.

", - "locationName":"vpcPeeringConnectionId" - } - }, - "documentation":"

Describes a VPC peering connection.

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{ - "shape":"VpcPeeringConnection", - "locationName":"item" - } - }, - "VpcPeeringConnectionOptionsDescription":{ - "type":"structure", - "members":{ - "AllowDnsResolutionFromRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", - "locationName":"allowDnsResolutionFromRemoteVpc" - }, - "AllowEgressFromLocalClassicLinkToRemoteVpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" - }, - "AllowEgressFromLocalVpcToRemoteClassicLink":{ - "shape":"Boolean", - "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", - "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" - } - }, - "documentation":"

Describes the VPC peering connection options.

" - }, - "VpcPeeringConnectionStateReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"VpcPeeringConnectionStateReasonCode", - "documentation":"

The status of the VPC peering connection.

", - "locationName":"code" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that provides more information about the status, if applicable.

", - "locationName":"message" - } - }, - "documentation":"

Describes the status of a VPC peering connection.

" - }, - "VpcPeeringConnectionStateReasonCode":{ - "type":"string", - "enum":[ - "initiating-request", - "pending-acceptance", - "active", - "deleted", - "rejected", - "failed", - "expired", - "provisioning", - "deleting" - ] - }, - "VpcPeeringConnectionVpcInfo":{ - "type":"structure", - "members":{ - "CidrBlock":{ - "shape":"String", - "documentation":"

The IPv4 CIDR block for the VPC.

", - "locationName":"cidrBlock" - }, - "Ipv6CidrBlockSet":{ - "shape":"Ipv6CidrBlockSet", - "documentation":"

The IPv6 CIDR block for the VPC.

", - "locationName":"ipv6CidrBlockSet" - }, - "CidrBlockSet":{ - "shape":"CidrBlockSet", - "documentation":"

Information about the IPv4 CIDR blocks for the VPC.

", - "locationName":"cidrBlockSet" - }, - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the VPC owner.

", - "locationName":"ownerId" - }, - "PeeringOptions":{ - "shape":"VpcPeeringConnectionOptionsDescription", - "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", - "locationName":"peeringOptions" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC.

", - "locationName":"vpcId" - }, - "Region":{ - "shape":"String", - "documentation":"

The region in which the VPC is located.

", - "locationName":"region" - } - }, - "documentation":"

Describes a VPC in a VPC peering connection.

" - }, - "VpcState":{ - "type":"string", - "enum":[ - "pending", - "available" - ] - }, - "VpcTenancy":{ - "type":"string", - "enum":["default"] - }, - "VpnConnection":{ - "type":"structure", - "members":{ - "CustomerGatewayConfiguration":{ - "shape":"String", - "documentation":"

The configuration information for the VPN connection's customer gateway (in the native XML format). This element is always present in the CreateVpnConnection response; however, it's present in the DescribeVpnConnections response only if the VPN connection is in the pending or available state.

", - "locationName":"customerGatewayConfiguration" - }, - "CustomerGatewayId":{ - "shape":"String", - "documentation":"

The ID of the customer gateway at your end of the VPN connection.

", - "locationName":"customerGatewayId" - }, - "Category":{ - "shape":"String", - "documentation":"

The category of the VPN connection. A value of VPN indicates an AWS VPN connection. A value of VPN-Classic indicates an AWS Classic VPN connection. For more information, see AWS Managed VPN Categories in the Amazon Virtual Private Cloud User Guide.

", - "locationName":"category" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the VPN connection.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection.

", - "locationName":"type" - }, - "VpnConnectionId":{ - "shape":"String", - "documentation":"

The ID of the VPN connection.

", - "locationName":"vpnConnectionId" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway at the AWS side of the VPN connection.

", - "locationName":"vpnGatewayId" - }, - "Options":{ - "shape":"VpnConnectionOptions", - "documentation":"

The VPN connection options.

", - "locationName":"options" - }, - "Routes":{ - "shape":"VpnStaticRouteList", - "documentation":"

The static routes associated with the VPN connection.

", - "locationName":"routes" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the VPN connection.

", - "locationName":"tagSet" - }, - "VgwTelemetry":{ - "shape":"VgwTelemetryList", - "documentation":"

Information about the VPN tunnel.

", - "locationName":"vgwTelemetry" - } - }, - "documentation":"

Describes a VPN connection.

" - }, - "VpnConnectionIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnConnectionId" - } - }, - "VpnConnectionList":{ - "type":"list", - "member":{ - "shape":"VpnConnection", - "locationName":"item" - } - }, - "VpnConnectionOptions":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", - "locationName":"staticRoutesOnly" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnConnectionOptionsSpecification":{ - "type":"structure", - "members":{ - "StaticRoutesOnly":{ - "shape":"Boolean", - "documentation":"

Indicate whether the VPN connection uses static routes only. If you are creating a VPN connection for a device that does not support BGP, you must specify true. Use CreateVpnConnectionRoute to create a static route.

Default: false

", - "locationName":"staticRoutesOnly" - }, - "TunnelOptions":{ - "shape":"TunnelOptionsList", - "documentation":"

The tunnel options for the VPN connection.

" - } - }, - "documentation":"

Describes VPN connection options.

" - }, - "VpnGateway":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", - "locationName":"availabilityZone" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the virtual private gateway.

", - "locationName":"state" - }, - "Type":{ - "shape":"GatewayType", - "documentation":"

The type of VPN connection the virtual private gateway supports.

", - "locationName":"type" - }, - "VpcAttachments":{ - "shape":"VpcAttachmentList", - "documentation":"

Any VPCs attached to the virtual private gateway.

", - "locationName":"attachments" - }, - "VpnGatewayId":{ - "shape":"String", - "documentation":"

The ID of the virtual private gateway.

", - "locationName":"vpnGatewayId" - }, - "AmazonSideAsn":{ - "shape":"Long", - "documentation":"

The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

", - "locationName":"amazonSideAsn" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Any tags assigned to the virtual private gateway.

", - "locationName":"tagSet" - } - }, - "documentation":"

Describes a virtual private gateway.

" - }, - "VpnGatewayIdStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpnGatewayId" - } - }, - "VpnGatewayList":{ - "type":"list", - "member":{ - "shape":"VpnGateway", - "locationName":"item" - } - }, - "VpnState":{ - "type":"string", - "enum":[ - "pending", - "available", - "deleting", - "deleted" - ] - }, - "VpnStaticRoute":{ - "type":"structure", - "members":{ - "DestinationCidrBlock":{ - "shape":"String", - "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", - "locationName":"destinationCidrBlock" - }, - "Source":{ - "shape":"VpnStaticRouteSource", - "documentation":"

Indicates how the routes were provided.

", - "locationName":"source" - }, - "State":{ - "shape":"VpnState", - "documentation":"

The current state of the static route.

", - "locationName":"state" - } - }, - "documentation":"

Describes a static route for a VPN connection.

" - }, - "VpnStaticRouteList":{ - "type":"list", - "member":{ - "shape":"VpnStaticRoute", - "locationName":"item" - } - }, - "VpnStaticRouteSource":{ - "type":"string", - "enum":["Static"] - }, - "VpnTunnelOptionsSpecification":{ - "type":"structure", - "members":{ - "TunnelInsideCidr":{ - "shape":"String", - "documentation":"

The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/30

  • 169.254.1.0/30

  • 169.254.2.0/30

  • 169.254.3.0/30

  • 169.254.4.0/30

  • 169.254.5.0/30

  • 169.254.169.252/30

" - }, - "PreSharedKey":{ - "shape":"String", - "documentation":"

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.

Constraints: Allowed characters are alphanumeric characters and ._. Must be between 8 and 64 characters in length and cannot start with zero (0).

" - } - }, - "documentation":"

The tunnel options for a VPN connection.

" - }, - "ZoneNameStringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ZoneName" - } - }, - "scope":{ - "type":"string", - "enum":[ - "Availability Zone", - "Region" - ] - } - }, - "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster.

To learn more about Amazon EC2, Amazon EBS, and Amazon VPC, see the following resources:

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/waiters-2.json deleted file mode 100644 index 33ea7b04..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ec2/2016-11-15/waiters-2.json +++ /dev/null @@ -1,622 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceExists": { - "delay": 5, - "maxAttempts": 40, - "operation": "DescribeInstances", - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Reservations[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "BundleTaskComplete": { - "delay": 15, - "operation": "DescribeBundleTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "complete", - "matcher": "pathAll", - "state": "success", - "argument": "BundleTasks[].State" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "BundleTasks[].State" - } - ] - }, - "ConversionTaskCancelled": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskCompleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelled", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - }, - { - "expected": "cancelling", - "matcher": "pathAny", - "state": "failure", - "argument": "ConversionTasks[].State" - } - ] - }, - "ConversionTaskDeleted": { - "delay": 15, - "operation": "DescribeConversionTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "ConversionTasks[].State" - } - ] - }, - "CustomerGatewayAvailable": { - "delay": 15, - "operation": "DescribeCustomerGateways", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CustomerGateways[].State" - } - ] - }, - "ExportTaskCancelled": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "cancelled", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ExportTaskCompleted": { - "delay": 15, - "operation": "DescribeExportTasks", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "ExportTasks[].State" - } - ] - }, - "ImageExists": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "matcher": "path", - "expected": true, - "argument": "length(Images[]) > `0`", - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidAMIID.NotFound", - "state": "retry" - } - ] - }, - "ImageAvailable": { - "operation": "DescribeImages", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Images[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Images[].State", - "expected": "failed" - } - ] - }, - "InstanceRunning": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "running", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "shutting-down", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].InstanceStatus.Status", - "expected": "ok" - }, - { - "matcher": "error", - "expected": "InvalidInstanceID.NotFound", - "state": "retry" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Reservations[].Instances[].State.Name" - } - ] - }, - "KeyPairExists": { - "operation": "DescribeKeyPairs", - "delay": 5, - "maxAttempts": 6, - "acceptors": [ - { - "expected": true, - "matcher": "path", - "state": "success", - "argument": "length(KeyPairs[].KeyName) > `0`" - }, - { - "expected": "InvalidKeyPair.NotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "NatGatewayAvailable": { - "operation": "DescribeNatGateways", - "delay": 15, - "maxAttempts": 40, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "NatGateways[].State", - "expected": "available" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "failed" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleting" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "NatGateways[].State", - "expected": "deleted" - }, - { - "state": "retry", - "matcher": "error", - "expected": "NatGatewayNotFound" - } - ] - }, - "NetworkInterfaceAvailable": { - "operation": "DescribeNetworkInterfaces", - "delay": 20, - "maxAttempts": 10, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "NetworkInterfaces[].Status" - }, - { - "expected": "InvalidNetworkInterfaceID.NotFound", - "matcher": "error", - "state": "failure" - } - ] - }, - "PasswordDataAvailable": { - "operation": "GetPasswordData", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "length(PasswordData) > `0`", - "expected": true - } - ] - }, - "SnapshotCompleted": { - "delay": 15, - "operation": "DescribeSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "completed", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].State" - } - ] - }, - "SpotInstanceRequestFulfilled": { - "operation": "DescribeSpotInstanceRequests", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "fulfilled" - }, - { - "state": "success", - "matcher": "pathAll", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "request-canceled-and-instance-running" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "schedule-expired" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "canceled-before-fulfillment" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "bad-parameters" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "SpotInstanceRequests[].Status.Code", - "expected": "system-error" - }, - { - "state": "retry", - "matcher": "error", - "expected": "InvalidSpotInstanceRequestID.NotFound" - } - ] - }, - "SubnetAvailable": { - "delay": 15, - "operation": "DescribeSubnets", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Subnets[].State" - } - ] - }, - "SystemStatusOk": { - "operation": "DescribeInstanceStatus", - "maxAttempts": 40, - "delay": 15, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "InstanceStatuses[].SystemStatus.Status", - "expected": "ok" - } - ] - }, - "VolumeAvailable": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VolumeDeleted": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "matcher": "error", - "expected": "InvalidVolume.NotFound", - "state": "success" - } - ] - }, - "VolumeInUse": { - "delay": 15, - "operation": "DescribeVolumes", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "in-use", - "matcher": "pathAll", - "state": "success", - "argument": "Volumes[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Volumes[].State" - } - ] - }, - "VpcAvailable": { - "delay": 15, - "operation": "DescribeVpcs", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Vpcs[].State" - } - ] - }, - "VpcExists": { - "operation": "DescribeVpcs", - "delay": 1, - "maxAttempts": 5, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcID.NotFound", - "state": "retry" - } - ] - }, - "VpnConnectionAvailable": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpnConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpnConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpnConnections[].State" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "VpnConnections[].State" - } - ] - }, - "VpcPeeringConnectionExists": { - "delay": 15, - "operation": "DescribeVpcPeeringConnections", - "maxAttempts": 40, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "InvalidVpcPeeringConnectionID.NotFound", - "state": "retry" - } - ] - }, - "VpcPeeringConnectionDeleted": { - "delay": 15, - "operation": "DescribeVpcPeeringConnections", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "VpcPeeringConnections[].Status.Code" - }, - { - "matcher": "error", - "expected": "InvalidVpcPeeringConnectionID.NotFound", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/examples-1.json deleted file mode 100644 index 626e4310..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/examples-1.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/paginators-1.json deleted file mode 100644 index dad0647f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "ListImages": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "imageIds" - }, - "DescribeImages": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "imageDetails" - }, - "DescribeRepositories": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "repositories" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/service-2.json deleted file mode 100644 index 333936b2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecr/2015-09-21/service-2.json +++ /dev/null @@ -1,1830 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-09-21", - "endpointPrefix":"ecr", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon ECR", - "serviceFullName":"Amazon EC2 Container Registry", - "serviceId":"ECR", - "signatureVersion":"v4", - "targetPrefix":"AmazonEC2ContainerRegistry_V20150921", - "uid":"ecr-2015-09-21" - }, - "operations":{ - "BatchCheckLayerAvailability":{ - "name":"BatchCheckLayerAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchCheckLayerAvailabilityRequest"}, - "output":{"shape":"BatchCheckLayerAvailabilityResponse"}, - "errors":[ - {"shape":"RepositoryNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ServerException"} - ], - "documentation":"

Check the availability of multiple image layers in a specified registry and repository.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - }, - "BatchDeleteImage":{ - "name":"BatchDeleteImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteImageRequest"}, - "output":{"shape":"BatchDeleteImageResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Deletes a list of specified images within a specified repository. Images are specified with either imageTag or imageDigest.

You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository.

You can completely delete an image (and all of its tags) by specifying the image's digest in your request.

" - }, - "BatchGetImage":{ - "name":"BatchGetImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetImageRequest"}, - "output":{"shape":"BatchGetImageResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.

" - }, - "CompleteLayerUpload":{ - "name":"CompleteLayerUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CompleteLayerUploadRequest"}, - "output":{"shape":"CompleteLayerUploadResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"UploadNotFoundException"}, - {"shape":"InvalidLayerException"}, - {"shape":"LayerPartTooSmallException"}, - {"shape":"LayerAlreadyExistsException"}, - {"shape":"EmptyUploadException"} - ], - "documentation":"

Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - }, - "CreateRepository":{ - "name":"CreateRepository", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRepositoryRequest"}, - "output":{"shape":"CreateRepositoryResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryAlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an image repository.

" - }, - "DeleteLifecyclePolicy":{ - "name":"DeleteLifecyclePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLifecyclePolicyRequest"}, - "output":{"shape":"DeleteLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} - ], - "documentation":"

Deletes the specified lifecycle policy.

" - }, - "DeleteRepository":{ - "name":"DeleteRepository", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRepositoryRequest"}, - "output":{"shape":"DeleteRepositoryResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"RepositoryNotEmptyException"} - ], - "documentation":"

Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.

" - }, - "DeleteRepositoryPolicy":{ - "name":"DeleteRepositoryPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRepositoryPolicyRequest"}, - "output":{"shape":"DeleteRepositoryPolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"RepositoryPolicyNotFoundException"} - ], - "documentation":"

Deletes the repository policy from a specified repository.

" - }, - "DescribeImages":{ - "name":"DescribeImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeImagesRequest"}, - "output":{"shape":"DescribeImagesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"ImageNotFoundException"} - ], - "documentation":"

Returns metadata about the images in a repository, including image size, image tags, and creation date.

Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

" - }, - "DescribeRepositories":{ - "name":"DescribeRepositories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRepositoriesRequest"}, - "output":{"shape":"DescribeRepositoriesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Describes image repositories in a registry.

" - }, - "GetAuthorizationToken":{ - "name":"GetAuthorizationToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAuthorizationTokenRequest"}, - "output":{"shape":"GetAuthorizationTokenResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Retrieves a token that is valid for a specified registry for 12 hours. This command allows you to use the docker CLI to push and pull images with Amazon ECR. If you do not specify a registry, the default registry is assumed.

The authorizationToken returned for each registry specified is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an aws ecr get-login command that simplifies the login process.

" - }, - "GetDownloadUrlForLayer":{ - "name":"GetDownloadUrlForLayer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDownloadUrlForLayerRequest"}, - "output":{"shape":"GetDownloadUrlForLayerResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"LayersNotFoundException"}, - {"shape":"LayerInaccessibleException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - }, - "GetLifecyclePolicy":{ - "name":"GetLifecyclePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLifecyclePolicyRequest"}, - "output":{"shape":"GetLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} - ], - "documentation":"

Retrieves the specified lifecycle policy.

" - }, - "GetLifecyclePolicyPreview":{ - "name":"GetLifecyclePolicyPreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLifecyclePolicyPreviewRequest"}, - "output":{"shape":"GetLifecyclePolicyPreviewResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyPreviewNotFoundException"} - ], - "documentation":"

Retrieves the results of the specified lifecycle policy preview request.

" - }, - "GetRepositoryPolicy":{ - "name":"GetRepositoryPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRepositoryPolicyRequest"}, - "output":{"shape":"GetRepositoryPolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"RepositoryPolicyNotFoundException"} - ], - "documentation":"

Retrieves the repository policy for a specified repository.

" - }, - "InitiateLayerUpload":{ - "name":"InitiateLayerUpload", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"InitiateLayerUploadRequest"}, - "output":{"shape":"InitiateLayerUploadResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Notify Amazon ECR that you intend to upload an image layer.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - }, - "ListImages":{ - "name":"ListImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListImagesRequest"}, - "output":{"shape":"ListImagesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Lists all the image IDs for a given repository.

You can filter images based on whether or not they are tagged by setting the tagStatus parameter to TAGGED or UNTAGGED. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

" - }, - "PutImage":{ - "name":"PutImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutImageRequest"}, - "output":{"shape":"PutImageResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"ImageAlreadyExistsException"}, - {"shape":"LayersNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates or updates the image manifest and tags associated with an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - }, - "PutLifecyclePolicy":{ - "name":"PutLifecyclePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLifecyclePolicyRequest"}, - "output":{"shape":"PutLifecyclePolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Creates or updates a lifecycle policy. For information about lifecycle policy syntax, see Lifecycle Policy Template.

" - }, - "SetRepositoryPolicy":{ - "name":"SetRepositoryPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetRepositoryPolicyRequest"}, - "output":{"shape":"SetRepositoryPolicyResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} - ], - "documentation":"

Applies a repository policy on a specified repository to control access permissions.

" - }, - "StartLifecyclePolicyPreview":{ - "name":"StartLifecyclePolicyPreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartLifecyclePolicyPreviewRequest"}, - "output":{"shape":"StartLifecyclePolicyPreviewResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"}, - {"shape":"LifecyclePolicyPreviewInProgressException"} - ], - "documentation":"

Starts a preview of the specified lifecycle policy. This allows you to see the results before creating the lifecycle policy.

" - }, - "UploadLayerPart":{ - "name":"UploadLayerPart", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UploadLayerPartRequest"}, - "output":{"shape":"UploadLayerPartResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidLayerPartException"}, - {"shape":"RepositoryNotFoundException"}, - {"shape":"UploadNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Uploads an image layer part to Amazon ECR.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" - } - }, - "shapes":{ - "Arn":{"type":"string"}, - "AuthorizationData":{ - "type":"structure", - "members":{ - "authorizationToken":{ - "shape":"Base64", - "documentation":"

A base64-encoded string that contains authorization data for the specified Amazon ECR registry. When the string is decoded, it is presented in the format user:password for private registry authentication using docker login.

" - }, - "expiresAt":{ - "shape":"ExpirationTimestamp", - "documentation":"

The Unix time in seconds and milliseconds when the authorization token expires. Authorization tokens are valid for 12 hours.

" - }, - "proxyEndpoint":{ - "shape":"ProxyEndpoint", - "documentation":"

The registry URL to use for this authorization token in a docker login command. The Amazon ECR registry URL format is https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

" - } - }, - "documentation":"

An object representing authorization data for an Amazon ECR registry.

" - }, - "AuthorizationDataList":{ - "type":"list", - "member":{"shape":"AuthorizationData"} - }, - "Base64":{ - "type":"string", - "pattern":"^\\S+$" - }, - "BatchCheckLayerAvailabilityRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "layerDigests" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the image layers to check. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that is associated with the image layers to check.

" - }, - "layerDigests":{ - "shape":"BatchedOperationLayerDigestList", - "documentation":"

The digests of the image layers to check.

" - } - } - }, - "BatchCheckLayerAvailabilityResponse":{ - "type":"structure", - "members":{ - "layers":{ - "shape":"LayerList", - "documentation":"

A list of image layer objects corresponding to the image layer references in the request.

" - }, - "failures":{ - "shape":"LayerFailureList", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "BatchDeleteImageRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "imageIds" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the image to delete. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository that contains the image to delete.

" - }, - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest.

" - } - }, - "documentation":"

Deletes specified images within a specified repository. Images are specified with either the imageTag or imageDigest.

" - }, - "BatchDeleteImageResponse":{ - "type":"structure", - "members":{ - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

The image IDs of the deleted images.

" - }, - "failures":{ - "shape":"ImageFailureList", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "BatchGetImageRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "imageIds" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the images to describe. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository that contains the images to describe.

" - }, - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

A list of image ID references that correspond to images to describe. The format of the imageIds reference is imageTag=tag or imageDigest=digest.

" - }, - "acceptedMediaTypes":{ - "shape":"MediaTypeList", - "documentation":"

The accepted media types for the request.

Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json | application/vnd.oci.image.manifest.v1+json

" - } - } - }, - "BatchGetImageResponse":{ - "type":"structure", - "members":{ - "images":{ - "shape":"ImageList", - "documentation":"

A list of image objects corresponding to the image references in the request.

" - }, - "failures":{ - "shape":"ImageFailureList", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "BatchedOperationLayerDigest":{ - "type":"string", - "max":1000, - "min":0 - }, - "BatchedOperationLayerDigestList":{ - "type":"list", - "member":{"shape":"BatchedOperationLayerDigest"}, - "max":100, - "min":1 - }, - "CompleteLayerUploadRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "uploadId", - "layerDigests" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry to which to upload layers. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to associate with the image layer.

" - }, - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID from a previous InitiateLayerUpload operation to associate with the image layer.

" - }, - "layerDigests":{ - "shape":"LayerDigestList", - "documentation":"

The sha256 digest of the image layer.

" - } - } - }, - "CompleteLayerUploadResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID associated with the layer.

" - }, - "layerDigest":{ - "shape":"LayerDigest", - "documentation":"

The sha256 digest of the image layer.

" - } - } - }, - "CreateRepositoryRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

" - } - } - }, - "CreateRepositoryResponse":{ - "type":"structure", - "members":{ - "repository":{ - "shape":"Repository", - "documentation":"

The repository that was created.

" - } - } - }, - "CreationTimestamp":{"type":"timestamp"}, - "DeleteLifecyclePolicyRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository.

" - } - } - }, - "DeleteLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON lifecycle policy text.

" - }, - "lastEvaluatedAt":{ - "shape":"EvaluationTimestamp", - "documentation":"

The time stamp of the last time that the lifecycle policy was run.

" - } - } - }, - "DeleteRepositoryPolicyRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository policy to delete. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that is associated with the repository policy to delete.

" - } - } - }, - "DeleteRepositoryPolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "policyText":{ - "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy that was deleted from the repository.

" - } - } - }, - "DeleteRepositoryRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository to delete. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to delete.

" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

If a repository contains images, forces the deletion.

" - } - } - }, - "DeleteRepositoryResponse":{ - "type":"structure", - "members":{ - "repository":{ - "shape":"Repository", - "documentation":"

The repository that was deleted.

" - } - } - }, - "DescribeImagesFilter":{ - "type":"structure", - "members":{ - "tagStatus":{ - "shape":"TagStatus", - "documentation":"

The tag status with which to filter your DescribeImages results. You can filter results based on whether they are TAGGED or UNTAGGED.

" - } - }, - "documentation":"

An object representing a filter on a DescribeImages operation.

" - }, - "DescribeImagesRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository in which to describe images. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

" - }, - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

The list of image IDs for the requested repository.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify images with imageIds.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.

" - }, - "filter":{ - "shape":"DescribeImagesFilter", - "documentation":"

The filter key and value with which to filter your DescribeImages results.

" - } - } - }, - "DescribeImagesResponse":{ - "type":"structure", - "members":{ - "imageDetails":{ - "shape":"ImageDetailList", - "documentation":"

A list of ImageDetail objects that contain data about the image.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value to include in a future DescribeImages request. When the results of a DescribeImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "DescribeRepositoriesRequest":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repositories to be described. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryNames":{ - "shape":"RepositoryNameList", - "documentation":"

A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return. This option cannot be used when you specify repositories with repositoryNames.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another DescribeRepositories request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.

" - } - } - }, - "DescribeRepositoriesResponse":{ - "type":"structure", - "members":{ - "repositories":{ - "shape":"RepositoryList", - "documentation":"

A list of repository objects corresponding to valid repositories.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value to include in a future DescribeRepositories request. When the results of a DescribeRepositories 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.

" - } - } - }, - "EmptyUploadException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified layer upload does not contain any layer parts.

", - "exception":true - }, - "EvaluationTimestamp":{"type":"timestamp"}, - "ExceptionMessage":{"type":"string"}, - "ExpirationTimestamp":{"type":"timestamp"}, - "ForceFlag":{"type":"boolean"}, - "GetAuthorizationTokenRegistryIdList":{ - "type":"list", - "member":{"shape":"RegistryId"}, - "max":10, - "min":1 - }, - "GetAuthorizationTokenRequest":{ - "type":"structure", - "members":{ - "registryIds":{ - "shape":"GetAuthorizationTokenRegistryIdList", - "documentation":"

A list of AWS account IDs that are associated with the registries for which to get authorization tokens. If you do not specify a registry, the default registry is assumed.

" - } - } - }, - "GetAuthorizationTokenResponse":{ - "type":"structure", - "members":{ - "authorizationData":{ - "shape":"AuthorizationDataList", - "documentation":"

A list of authorization token data objects that correspond to the registryIds values in the request.

" - } - } - }, - "GetDownloadUrlForLayerRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "layerDigest" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the image layer to download. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that is associated with the image layer to download.

" - }, - "layerDigest":{ - "shape":"LayerDigest", - "documentation":"

The digest of the image layer to download.

" - } - } - }, - "GetDownloadUrlForLayerResponse":{ - "type":"structure", - "members":{ - "downloadUrl":{ - "shape":"Url", - "documentation":"

The pre-signed Amazon S3 download URL for the requested layer.

" - }, - "layerDigest":{ - "shape":"LayerDigest", - "documentation":"

The digest of the image layer to download.

" - } - } - }, - "GetLifecyclePolicyPreviewRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository.

" - }, - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

The list of imageIDs to be included.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated
 GetLifecyclePolicyPreviewRequest request where maxResults was used and the
 results exceeded the value of that parameter. Pagination continues from the end of the
 previous results that returned the nextToken value. This value is
 null when there are no more results to return. This option cannot be used when you specify images with imageIds.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest only returns
 maxResults results in a single page along with a nextToken
 response element. The remaining results of the initial request can be seen by sending
 another GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 100. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

" - }, - "filter":{ - "shape":"LifecyclePolicyPreviewFilter", - "documentation":"

An optional parameter that filters results based on image tag status and all tags, if tagged.

" - } - } - }, - "GetLifecyclePolicyPreviewResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON lifecycle policy text.

" - }, - "status":{ - "shape":"LifecyclePolicyPreviewStatus", - "documentation":"

The status of the lifecycle policy preview request.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value to include in a future GetLifecyclePolicyPreview request. When the results of a GetLifecyclePolicyPreview request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - }, - "previewResults":{ - "shape":"LifecyclePolicyPreviewResultList", - "documentation":"

The results of the lifecycle policy preview request.

" - }, - "summary":{ - "shape":"LifecyclePolicyPreviewSummary", - "documentation":"

The list of images that is returned as a result of the action.

" - } - } - }, - "GetLifecyclePolicyRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository.

" - } - } - }, - "GetLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON lifecycle policy text.

" - }, - "lastEvaluatedAt":{ - "shape":"EvaluationTimestamp", - "documentation":"

The time stamp of the last time that the lifecycle policy was run.

" - } - } - }, - "GetRepositoryPolicyRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository with the policy to retrieve.

" - } - } - }, - "GetRepositoryPolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "policyText":{ - "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy text associated with the repository.

" - } - } - }, - "Image":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry containing the image.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository associated with the image.

" - }, - "imageId":{ - "shape":"ImageIdentifier", - "documentation":"

An object containing the image tag and image digest associated with an image.

" - }, - "imageManifest":{ - "shape":"ImageManifest", - "documentation":"

The image manifest associated with the image.

" - } - }, - "documentation":"

An object representing an Amazon ECR image.

" - }, - "ImageActionType":{ - "type":"string", - "enum":["EXPIRE"] - }, - "ImageAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified image has already been pushed, and there were no changes to the manifest or image tag after the last push.

", - "exception":true - }, - "ImageCount":{ - "type":"integer", - "min":0 - }, - "ImageDetail":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry to which this image belongs.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to which this image belongs.

" - }, - "imageDigest":{ - "shape":"ImageDigest", - "documentation":"

The sha256 digest of the image manifest.

" - }, - "imageTags":{ - "shape":"ImageTagList", - "documentation":"

The list of tags associated with this image.

" - }, - "imageSizeInBytes":{ - "shape":"ImageSizeInBytes", - "documentation":"

The size, in bytes, of the image in the repository.

Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a larger image size than the image sizes returned by DescribeImages.

" - }, - "imagePushedAt":{ - "shape":"PushTimestamp", - "documentation":"

The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.

" - } - }, - "documentation":"

An object that describes an image returned by a DescribeImages operation.

" - }, - "ImageDetailList":{ - "type":"list", - "member":{"shape":"ImageDetail"} - }, - "ImageDigest":{"type":"string"}, - "ImageFailure":{ - "type":"structure", - "members":{ - "imageId":{ - "shape":"ImageIdentifier", - "documentation":"

The image ID associated with the failure.

" - }, - "failureCode":{ - "shape":"ImageFailureCode", - "documentation":"

The code associated with the failure.

" - }, - "failureReason":{ - "shape":"ImageFailureReason", - "documentation":"

The reason for the failure.

" - } - }, - "documentation":"

An object representing an Amazon ECR image failure.

" - }, - "ImageFailureCode":{ - "type":"string", - "enum":[ - "InvalidImageDigest", - "InvalidImageTag", - "ImageTagDoesNotMatchDigest", - "ImageNotFound", - "MissingDigestAndTag" - ] - }, - "ImageFailureList":{ - "type":"list", - "member":{"shape":"ImageFailure"} - }, - "ImageFailureReason":{"type":"string"}, - "ImageIdentifier":{ - "type":"structure", - "members":{ - "imageDigest":{ - "shape":"ImageDigest", - "documentation":"

The sha256 digest of the image manifest.

" - }, - "imageTag":{ - "shape":"ImageTag", - "documentation":"

The tag used for the image.

" - } - }, - "documentation":"

An object with identifying information for an Amazon ECR image.

" - }, - "ImageIdentifierList":{ - "type":"list", - "member":{"shape":"ImageIdentifier"}, - "max":100, - "min":1 - }, - "ImageList":{ - "type":"list", - "member":{"shape":"Image"} - }, - "ImageManifest":{"type":"string"}, - "ImageNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The image requested does not exist in the specified repository.

", - "exception":true - }, - "ImageSizeInBytes":{"type":"long"}, - "ImageTag":{"type":"string"}, - "ImageTagList":{ - "type":"list", - "member":{"shape":"ImageTag"} - }, - "InitiateLayerUploadRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry to which you intend to upload layers. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to which you intend to upload layers.

" - } - } - }, - "InitiateLayerUploadResponse":{ - "type":"structure", - "members":{ - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID for the layer upload. This parameter is passed to further UploadLayerPart and CompleteLayerUpload operations.

" - }, - "partSize":{ - "shape":"PartSize", - "documentation":"

The size, in bytes, that Amazon ECR expects future layer part uploads to be.

" - } - } - }, - "InvalidLayerException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The layer digest calculation performed by Amazon ECR upon receipt of the image layer does not match the digest specified.

", - "exception":true - }, - "InvalidLayerPartException":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the exception.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the exception.

" - }, - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID associated with the exception.

" - }, - "lastValidByteReceived":{ - "shape":"PartSize", - "documentation":"

The last valid byte received from the layer part upload that is associated with the exception.

" - }, - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The layer part size is not valid, or the first byte specified is not consecutive to the last byte of a previous layer part upload.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", - "exception":true - }, - "Layer":{ - "type":"structure", - "members":{ - "layerDigest":{ - "shape":"LayerDigest", - "documentation":"

The sha256 digest of the image layer.

" - }, - "layerAvailability":{ - "shape":"LayerAvailability", - "documentation":"

The availability status of the image layer.

" - }, - "layerSize":{ - "shape":"LayerSizeInBytes", - "documentation":"

The size, in bytes, of the image layer.

" - }, - "mediaType":{ - "shape":"MediaType", - "documentation":"

The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip or application/vnd.oci.image.layer.v1.tar+gzip.

" - } - }, - "documentation":"

An object representing an Amazon ECR image layer.

" - }, - "LayerAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The image layer already exists in the associated repository.

", - "exception":true - }, - "LayerAvailability":{ - "type":"string", - "enum":[ - "AVAILABLE", - "UNAVAILABLE" - ] - }, - "LayerDigest":{ - "type":"string", - "pattern":"[a-zA-Z0-9-_+.]+:[a-fA-F0-9]+" - }, - "LayerDigestList":{ - "type":"list", - "member":{"shape":"LayerDigest"}, - "max":100, - "min":1 - }, - "LayerFailure":{ - "type":"structure", - "members":{ - "layerDigest":{ - "shape":"BatchedOperationLayerDigest", - "documentation":"

The layer digest associated with the failure.

" - }, - "failureCode":{ - "shape":"LayerFailureCode", - "documentation":"

The failure code associated with the failure.

" - }, - "failureReason":{ - "shape":"LayerFailureReason", - "documentation":"

The reason for the failure.

" - } - }, - "documentation":"

An object representing an Amazon ECR image layer failure.

" - }, - "LayerFailureCode":{ - "type":"string", - "enum":[ - "InvalidLayerDigest", - "MissingLayerDigest" - ] - }, - "LayerFailureList":{ - "type":"list", - "member":{"shape":"LayerFailure"} - }, - "LayerFailureReason":{"type":"string"}, - "LayerInaccessibleException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified layer is not available because it is not associated with an image. Unassociated image layers may be cleaned up at any time.

", - "exception":true - }, - "LayerList":{ - "type":"list", - "member":{"shape":"Layer"} - }, - "LayerPartBlob":{"type":"blob"}, - "LayerPartTooSmallException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

Layer parts must be at least 5 MiB in size.

", - "exception":true - }, - "LayerSizeInBytes":{"type":"long"}, - "LayersNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified layers could not be found, or the specified layer is not valid for this repository.

", - "exception":true - }, - "LifecyclePolicyNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The lifecycle policy could not be found, and no policy is set to the repository.

", - "exception":true - }, - "LifecyclePolicyPreviewFilter":{ - "type":"structure", - "members":{ - "tagStatus":{ - "shape":"TagStatus", - "documentation":"

The tag status of the image.

" - } - }, - "documentation":"

The filter for the lifecycle policy preview.

" - }, - "LifecyclePolicyPreviewInProgressException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The previous lifecycle policy preview request has not completed. Please try again later.

", - "exception":true - }, - "LifecyclePolicyPreviewNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

There is no dry run for this repository.

", - "exception":true - }, - "LifecyclePolicyPreviewResult":{ - "type":"structure", - "members":{ - "imageTags":{ - "shape":"ImageTagList", - "documentation":"

The list of tags associated with this image.

" - }, - "imageDigest":{ - "shape":"ImageDigest", - "documentation":"

The sha256 digest of the image manifest.

" - }, - "imagePushedAt":{ - "shape":"PushTimestamp", - "documentation":"

The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.

" - }, - "action":{ - "shape":"LifecyclePolicyRuleAction", - "documentation":"

The type of action to be taken.

" - }, - "appliedRulePriority":{ - "shape":"LifecyclePolicyRulePriority", - "documentation":"

The priority of the applied rule.

" - } - }, - "documentation":"

The result of the lifecycle policy preview.

" - }, - "LifecyclePolicyPreviewResultList":{ - "type":"list", - "member":{"shape":"LifecyclePolicyPreviewResult"} - }, - "LifecyclePolicyPreviewStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "COMPLETE", - "EXPIRED", - "FAILED" - ] - }, - "LifecyclePolicyPreviewSummary":{ - "type":"structure", - "members":{ - "expiringImageTotalCount":{ - "shape":"ImageCount", - "documentation":"

The number of expiring images.

" - } - }, - "documentation":"

The summary of the lifecycle policy preview request.

" - }, - "LifecyclePolicyRuleAction":{ - "type":"structure", - "members":{ - "type":{ - "shape":"ImageActionType", - "documentation":"

The type of action to be taken.

" - } - }, - "documentation":"

The type of action to be taken.

" - }, - "LifecyclePolicyRulePriority":{ - "type":"integer", - "min":1 - }, - "LifecyclePolicyText":{ - "type":"string", - "max":10240, - "min":100 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon Elastic Container Registry User Guide.

", - "exception":true - }, - "ListImagesFilter":{ - "type":"structure", - "members":{ - "tagStatus":{ - "shape":"TagStatus", - "documentation":"

The tag status with which to filter your ListImages results. You can filter results based on whether they are TAGGED or UNTAGGED.

" - } - }, - "documentation":"

An object representing a filter on a ListImages operation.

" - }, - "ListImagesRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository in which to list images. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository with image IDs to be listed.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated ListImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value. This value is null when there are no more results to return.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.

" - }, - "filter":{ - "shape":"ListImagesFilter", - "documentation":"

The filter key and value with which to filter your ListImages results.

" - } - } - }, - "ListImagesResponse":{ - "type":"structure", - "members":{ - "imageIds":{ - "shape":"ImageIdentifierList", - "documentation":"

The list of image IDs for the requested repository.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The nextToken value to include in a future ListImages request. When the results of a ListImages request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "MediaType":{"type":"string"}, - "MediaTypeList":{ - "type":"list", - "member":{"shape":"MediaType"}, - "max":100, - "min":1 - }, - "NextToken":{"type":"string"}, - "PartSize":{ - "type":"long", - "min":0 - }, - "ProxyEndpoint":{"type":"string"}, - "PushTimestamp":{"type":"timestamp"}, - "PutImageRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "imageManifest" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository in which to put the image. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository in which to put the image.

" - }, - "imageManifest":{ - "shape":"ImageManifest", - "documentation":"

The image manifest corresponding to the image to be uploaded.

" - }, - "imageTag":{ - "shape":"ImageTag", - "documentation":"

The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or OCI formats.

" - } - } - }, - "PutImageResponse":{ - "type":"structure", - "members":{ - "image":{ - "shape":"Image", - "documentation":"

Details of the image uploaded.

" - } - } - }, - "PutLifecyclePolicyRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "lifecyclePolicyText" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to receive the policy.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON repository policy text to apply to the repository.

" - } - } - }, - "PutLifecyclePolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON repository policy text.

" - } - } - }, - "RegistryId":{ - "type":"string", - "pattern":"[0-9]{12}" - }, - "Repository":{ - "type":"structure", - "members":{ - "repositoryArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, AWS account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

" - }, - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository.

" - }, - "repositoryUri":{ - "shape":"Url", - "documentation":"

The URI for the repository. You can use this URI for Docker push or pull operations.

" - }, - "createdAt":{ - "shape":"CreationTimestamp", - "documentation":"

The date and time, in JavaScript date format, when the repository was created.

" - } - }, - "documentation":"

An object representing a repository.

" - }, - "RepositoryAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified repository already exists in the specified registry.

", - "exception":true - }, - "RepositoryList":{ - "type":"list", - "member":{"shape":"Repository"} - }, - "RepositoryName":{ - "type":"string", - "max":256, - "min":2, - "pattern":"(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*" - }, - "RepositoryNameList":{ - "type":"list", - "member":{"shape":"RepositoryName"}, - "max":100, - "min":1 - }, - "RepositoryNotEmptyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified repository contains images. To delete a repository that contains images, you must force the deletion with the force parameter.

", - "exception":true - }, - "RepositoryNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified repository could not be found. Check the spelling of the specified repository and ensure that you are performing operations on the correct registry.

", - "exception":true - }, - "RepositoryPolicyNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The specified repository and registry combination does not have an associated repository policy.

", - "exception":true - }, - "RepositoryPolicyText":{ - "type":"string", - "max":10240, - "min":0 - }, - "ServerException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

These errors are usually caused by a server-side issue.

", - "exception":true, - "fault":true - }, - "SetRepositoryPolicyRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "policyText" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to receive the policy.

" - }, - "policyText":{ - "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy text to apply to the repository.

" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

If the policy you are attempting to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This is intended to prevent accidental repository lock outs.

" - } - } - }, - "SetRepositoryPolicyResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "policyText":{ - "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy text applied to the repository.

" - } - } - }, - "StartLifecyclePolicyPreviewRequest":{ - "type":"structure", - "required":["repositoryName"], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to be evaluated.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used.

" - } - } - }, - "StartLifecyclePolicyPreviewResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "lifecyclePolicyText":{ - "shape":"LifecyclePolicyText", - "documentation":"

The JSON repository policy text.

" - }, - "status":{ - "shape":"LifecyclePolicyPreviewStatus", - "documentation":"

The status of the lifecycle policy preview request.

" - } - } - }, - "TagStatus":{ - "type":"string", - "enum":[ - "TAGGED", - "UNTAGGED" - ] - }, - "UploadId":{ - "type":"string", - "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - }, - "UploadLayerPartRequest":{ - "type":"structure", - "required":[ - "repositoryName", - "uploadId", - "partFirstByte", - "partLastByte", - "layerPartBlob" - ], - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to which you are uploading layer parts.

" - }, - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload.

" - }, - "partFirstByte":{ - "shape":"PartSize", - "documentation":"

The integer value of the first byte of the layer part.

" - }, - "partLastByte":{ - "shape":"PartSize", - "documentation":"

The integer value of the last byte of the layer part.

" - }, - "layerPartBlob":{ - "shape":"LayerPartBlob", - "documentation":"

The base64-encoded layer part payload.

" - } - } - }, - "UploadLayerPartResponse":{ - "type":"structure", - "members":{ - "registryId":{ - "shape":"RegistryId", - "documentation":"

The registry ID associated with the request.

" - }, - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The repository name associated with the request.

" - }, - "uploadId":{ - "shape":"UploadId", - "documentation":"

The upload ID associated with the request.

" - }, - "lastByteReceived":{ - "shape":"PartSize", - "documentation":"

The integer value of the last byte received in the request.

" - } - } - }, - "UploadNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "documentation":"

The upload could not be found, or the specified upload id is not valid for this repository.

", - "exception":true - }, - "Url":{"type":"string"} - }, - "documentation":"

Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry service. Customers can use the familiar Docker CLI to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR supports private Docker repositories with resource-based permissions using IAM so that specific users or Amazon EC2 instances can access repositories and images. Developers can use the Docker CLI to author and manage images.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/examples-1.json deleted file mode 100644 index c14ba44a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/examples-1.json +++ /dev/null @@ -1,883 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/paginators-1.json deleted file mode 100644 index 43ae3dec..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/service-2.json deleted file mode 100644 index 40cbc137..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/service-2.json +++ /dev/null @@ -1,3388 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-11-13", - "endpointPrefix":"ecs", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon ECS", - "serviceFullName":"Amazon EC2 Container Service", - "serviceId":"ECS", - "signatureVersion":"v4", - "targetPrefix":"AmazonEC2ContainerServiceV20141113", - "uid":"ecs-2014-11-13" - }, - "operations":{ - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterRequest"}, - "output":{"shape":"CreateClusterResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the service-linked role for your account so that required resources in other AWS services can be managed on your behalf. However, if the IAM user that makes the call does not have permissions to create the service-linked role, it is not created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" - }, - "CreateService":{ - "name":"CreateService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateServiceRequest"}, - "output":{"shape":"CreateServiceResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"UnsupportedFeatureException"}, - {"shape":"PlatformUnknownException"}, - {"shape":"PlatformTaskDefinitionIncompatibilityException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below 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 Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. During a deployment, the service scheduler uses the minimumHealthyPercent and maximumPercent parameters to determine the deployment strategy. The deployment is triggered by changing the task definition or the desired count of a service with an UpdateService operation.

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 a replica service for minimumHealthyPercent is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs. The default value for a daemon service for minimumHealthyPercent is 0% for the AWS CLI, the AWS SDKs, and the APIs and 50% for the console.

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 replica 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 a replica service for maximumPercent is 200%. If you are using a daemon service type, the maximumPercent should remain at 100%, which is the default value.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter):

    • Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" - }, - "DeleteAttributes":{ - "name":"DeleteAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAttributesRequest"}, - "output":{"shape":"DeleteAttributesResponse"}, - "errors":[ - {"shape":"ClusterNotFoundException"}, - {"shape":"TargetNotFoundException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Deletes one or more custom attributes from an Amazon ECS resource.

" - }, - "DeleteCluster":{ - "name":"DeleteCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterRequest"}, - "output":{"shape":"DeleteClusterResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"ClusterContainsContainerInstancesException"}, - {"shape":"ClusterContainsServicesException"}, - {"shape":"ClusterContainsTasksException"} - ], - "documentation":"

Deletes the specified cluster. You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

" - }, - "DeleteService":{ - "name":"DeleteService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServiceRequest"}, - "output":{"shape":"DeleteServiceResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"ServiceNotFoundException"} - ], - "documentation":"

Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService.

When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in ListServices API operations. After the tasks have stopped, then the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with DescribeServices API operations. However, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices API operations on those services return a ServiceNotFoundException error.

If you attempt to create a new service with the same name as an existing service in either ACTIVE or DRAINING status, you will receive an error.

" - }, - "DeregisterContainerInstance":{ - "name":"DeregisterContainerInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterContainerInstanceRequest"}, - "output":{"shape":"DeregisterContainerInstanceResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks.

If you intend to use the container instance for some other purpose after deregistration, you should stop all of the tasks running on the container instance before deregistration. That prevents any orphaned tasks from consuming resources.

Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2 instance; if you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing.

If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents are not automatically deregistered when terminated).

" - }, - "DeregisterTaskDefinition":{ - "name":"DeregisterTaskDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterTaskDefinitionRequest"}, - "output":{"shape":"DeregisterTaskDefinitionResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"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).

At this time, INACTIVE task definitions remain discoverable in your account indefinitely; however, this behavior is subject to change in the future, so you should not rely on INACTIVE task definitions persisting beyond the lifecycle of any associated tasks and services.

" - }, - "DescribeClusters":{ - "name":"DescribeClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClustersRequest"}, - "output":{"shape":"DescribeClustersResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Describes one or more of your clusters.

" - }, - "DescribeContainerInstances":{ - "name":"DescribeContainerInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeContainerInstancesRequest"}, - "output":{"shape":"DescribeContainerInstancesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Describes Amazon Elastic Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested.

" - }, - "DescribeServices":{ - "name":"DescribeServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServicesRequest"}, - "output":{"shape":"DescribeServicesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Describes the specified services running in your cluster.

" - }, - "DescribeTaskDefinition":{ - "name":"DescribeTaskDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTaskDefinitionRequest"}, - "output":{"shape":"DescribeTaskDefinitionResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Describes a task definition. You can specify a family and revision to find information about a specific task definition, or you can simply specify the family to find the latest ACTIVE revision in that family.

You can only describe INACTIVE task definitions while an active task or service references them.

" - }, - "DescribeTasks":{ - "name":"DescribeTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTasksRequest"}, - "output":{"shape":"DescribeTasksResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Describes a specified task or tasks.

" - }, - "DiscoverPollEndpoint":{ - "name":"DiscoverPollEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DiscoverPollEndpointRequest"}, - "output":{"shape":"DiscoverPollEndpointResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"} - ], - "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Returns an endpoint for the Amazon ECS agent to poll for updates.

" - }, - "ListAttributes":{ - "name":"ListAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttributesRequest"}, - "output":{"shape":"ListAttributesResponse"}, - "errors":[ - {"shape":"ClusterNotFoundException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

" - }, - "ListClusters":{ - "name":"ListClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListClustersRequest"}, - "output":{"shape":"ListClustersResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns a list of existing clusters.

" - }, - "ListContainerInstances":{ - "name":"ListContainerInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListContainerInstancesRequest"}, - "output":{"shape":"ListContainerInstancesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" - }, - "ListServices":{ - "name":"ListServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListServicesRequest"}, - "output":{"shape":"ListServicesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Lists the services that are running in a specified cluster.

" - }, - "ListTaskDefinitionFamilies":{ - "name":"ListTaskDefinitionFamilies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTaskDefinitionFamiliesRequest"}, - "output":{"shape":"ListTaskDefinitionFamiliesResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns a list of task definition families that are registered to your account (which may include task definition families that no longer have any ACTIVE task definition revisions).

You can filter out task definition families that do not contain any ACTIVE task definition revisions by setting the status parameter to ACTIVE. You can also filter the results with the familyPrefix parameter.

" - }, - "ListTaskDefinitions":{ - "name":"ListTaskDefinitions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTaskDefinitionsRequest"}, - "output":{"shape":"ListTaskDefinitionsResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns a list of task definitions that are registered to your account. You can filter the results by family name with the familyPrefix parameter or by status with the status parameter.

" - }, - "ListTasks":{ - "name":"ListTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTasksRequest"}, - "output":{"shape":"ListTasksResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"ServiceNotFoundException"} - ], - "documentation":"

Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the family, containerInstance, and desiredStatus parameters.

Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour.

" - }, - "PutAttributes":{ - "name":"PutAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutAttributesRequest"}, - "output":{"shape":"PutAttributesResponse"}, - "errors":[ - {"shape":"ClusterNotFoundException"}, - {"shape":"TargetNotFoundException"}, - {"shape":"AttributeLimitExceededException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" - }, - "RegisterContainerInstance":{ - "name":"RegisterContainerInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterContainerInstanceRequest"}, - "output":{"shape":"RegisterContainerInstanceResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on.

" - }, - "RegisterTaskDefinition":{ - "name":"RegisterTaskDefinition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterTaskDefinitionRequest"}, - "output":{"shape":"RegisterTaskDefinitionResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference. If you specify the awsvpc network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" - }, - "RunTask":{ - "name":"RunTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunTaskRequest"}, - "output":{"shape":"RunTaskResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"UnsupportedFeatureException"}, - {"shape":"PlatformUnknownException"}, - {"shape":"PlatformTaskDefinitionIncompatibilityException"}, - {"shape":"AccessDeniedException"}, - {"shape":"BlockedException"} - ], - "documentation":"

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. You should keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

  • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

  • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

" - }, - "StartTask":{ - "name":"StartTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartTaskRequest"}, - "output":{"shape":"StartTaskResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" - }, - "StopTask":{ - "name":"StopTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopTaskRequest"}, - "output":{"shape":"StopTaskResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"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 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 Elastic Container Service Developer Guide.

" - }, - "SubmitContainerStateChange":{ - "name":"SubmitContainerStateChange", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubmitContainerStateChangeRequest"}, - "output":{"shape":"SubmitContainerStateChangeResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a container changed states.

" - }, - "SubmitTaskStateChange":{ - "name":"SubmitTaskStateChange", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubmitTaskStateChangeRequest"}, - "output":{"shape":"SubmitTaskStateChangeResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a task changed states.

" - }, - "UpdateContainerAgent":{ - "name":"UpdateContainerAgent", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateContainerAgentRequest"}, - "output":{"shape":"UpdateContainerAgentResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"UpdateInProgressException"}, - {"shape":"NoUpdateAvailableException"}, - {"shape":"MissingVersionException"} - ], - "documentation":"

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide.

" - }, - "UpdateContainerInstancesState":{ - "name":"UpdateContainerInstancesState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateContainerInstancesStateRequest"}, - "output":{"shape":"UpdateContainerInstancesStateResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} - ], - "documentation":"

Modifies the status of an Amazon ECS container instance.

You can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during task replacement. For example, desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if desiredCount of four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained (provided that the cluster resources required to do this are available). If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped.

Any PENDING or RUNNING tasks that do not belong to a service are not affected; you must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When you set a container instance to ACTIVE, the Amazon ECS scheduler can begin scheduling tasks on the instance again.

" - }, - "UpdateService":{ - "name":"UpdateService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServiceRequest"}, - "output":{"shape":"UpdateServiceResponse"}, - "errors":[ - {"shape":"ServerException"}, - {"shape":"ClientException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"}, - {"shape":"ServiceNotFoundException"}, - {"shape":"ServiceNotActiveException"}, - {"shape":"PlatformUnknownException"}, - {"shape":"PlatformTaskDefinitionIncompatibilityException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Modifies the desired count, deployment configuration, network configuration, or task definition used in a service.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you do not need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

  • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

  • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You do not have authorization to perform the requested action.

", - "exception":true - }, - "AgentUpdateStatus":{ - "type":"string", - "enum":[ - "PENDING", - "STAGING", - "STAGED", - "UPDATING", - "UPDATED", - "FAILED" - ] - }, - "AssignPublicIp":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "Attachment":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The unique identifier for the attachment.

" - }, - "type":{ - "shape":"String", - "documentation":"

The type of the attachment, such as ElasticNetworkInterface.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, and DELETED.

" - }, - "details":{ - "shape":"AttachmentDetails", - "documentation":"

Details of the attachment. For elastic network interfaces, this includes the network interface ID, the MAC address, the subnet ID, and the private IPv4 address.

" - } - }, - "documentation":"

An object representing a container instance or task attachment.

" - }, - "AttachmentDetails":{ - "type":"list", - "member":{"shape":"KeyValuePair"} - }, - "AttachmentStateChange":{ - "type":"structure", - "required":[ - "attachmentArn", - "status" - ], - "members":{ - "attachmentArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the attachment.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the attachment.

" - } - }, - "documentation":"

An object representing a change in state for a task attachment.

" - }, - "AttachmentStateChanges":{ - "type":"list", - "member":{"shape":"AttachmentStateChange"} - }, - "Attachments":{ - "type":"list", - "member":{"shape":"Attachment"} - }, - "Attribute":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, and periods are allowed.

" - }, - "value":{ - "shape":"String", - "documentation":"

The value of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, and spaces are allowed.

" - }, - "targetType":{ - "shape":"TargetType", - "documentation":"

The type of the target with which to attach the attribute. This parameter is required if you use the short form ID for a resource instead of the full ARN.

" - }, - "targetId":{ - "shape":"String", - "documentation":"

The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).

" - } - }, - "documentation":"

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" - }, - "AttributeLimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You can apply up to 10 custom attributes per resource. You can view the attributes of a resource with ListAttributes. You can remove existing attributes on a resource with DeleteAttributes.

", - "exception":true - }, - "Attributes":{ - "type":"list", - "member":{"shape":"Attribute"} - }, - "AwsVpcConfiguration":{ - "type":"structure", - "required":["subnets"], - "members":{ - "subnets":{ - "shape":"StringList", - "documentation":"

The subnets associated with the task or service. There is a limit of 10 subnets able to be specified per AwsVpcConfiguration.

All specified subnets must be from the same VPC.

" - }, - "securityGroups":{ - "shape":"StringList", - "documentation":"

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups able to be specified per AwsVpcConfiguration.

All specified security groups must be from the same VPC.

" - }, - "assignPublicIp":{ - "shape":"AssignPublicIp", - "documentation":"

Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.

" - } - }, - "documentation":"

An object representing the networking details for a task or service.

" - }, - "BlockedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Your AWS account has been blocked. Contact AWS Support for more information.

", - "exception":true - }, - "Boolean":{"type":"boolean"}, - "BoxedBoolean":{ - "type":"boolean", - "box":true - }, - "BoxedInteger":{ - "type":"integer", - "box":true - }, - "ClientException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", - "exception":true - }, - "Cluster":{ - "type":"structure", - "members":{ - "clusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test ..

" - }, - "clusterName":{ - "shape":"String", - "documentation":"

A user-generated string that you use to identify your cluster.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE indicates that you can register container instances with the cluster and the associated instances can accept tasks.

" - }, - "registeredContainerInstancesCount":{ - "shape":"Integer", - "documentation":"

The number of container instances registered into the cluster. This includes container instances in both ACTIVE and DRAINING status.

" - }, - "runningTasksCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the cluster that are in the RUNNING state.

" - }, - "pendingTasksCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the cluster that are in the PENDING state.

" - }, - "activeServicesCount":{ - "shape":"Integer", - "documentation":"

The number of services that are running on the cluster in an ACTIVE state. You can view these services with ListServices.

" - }, - "statistics":{ - "shape":"Statistics", - "documentation":"

Additional information about your clusters that are separated by launch type, including:

  • runningEC2TasksCount

  • RunningFargateTasksCount

  • pendingEC2TasksCount

  • pendingFargateTasksCount

  • activeEC2ServiceCount

  • activeFargateServiceCount

  • drainingEC2ServiceCount

  • drainingFargateServiceCount

" - } - }, - "documentation":"

A regional grouping of one or more container instances on which you can run task requests. Each account receives a default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may contain more than one instance type simultaneously.

" - }, - "ClusterContainsContainerInstancesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot delete a cluster that has registered container instances. You must first deregister the container instances before you can delete the cluster. For more information, see DeregisterContainerInstance.

", - "exception":true - }, - "ClusterContainsServicesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot delete a cluster that contains services. You must first update the service to reduce its desired task count to 0 and then delete the service. For more information, see UpdateService and DeleteService.

", - "exception":true - }, - "ClusterContainsTasksException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot delete a cluster that has active tasks.

", - "exception":true - }, - "ClusterField":{ - "type":"string", - "enum":["STATISTICS"] - }, - "ClusterFieldList":{ - "type":"list", - "member":{"shape":"ClusterField"} - }, - "ClusterNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified cluster could not be found. You can view your available clusters with ListClusters. Amazon ECS clusters are region-specific.

", - "exception":true - }, - "Clusters":{ - "type":"list", - "member":{"shape":"Cluster"} - }, - "Compatibility":{ - "type":"string", - "enum":[ - "EC2", - "FARGATE" - ] - }, - "CompatibilityList":{ - "type":"list", - "member":{"shape":"Compatibility"} - }, - "Connectivity":{ - "type":"string", - "enum":[ - "CONNECTED", - "DISCONNECTED" - ] - }, - "Container":{ - "type":"structure", - "members":{ - "containerArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container.

" - }, - "taskArn":{ - "shape":"String", - "documentation":"

The ARN of the task.

" - }, - "name":{ - "shape":"String", - "documentation":"

The name of the container.

" - }, - "lastStatus":{ - "shape":"String", - "documentation":"

The last known status of the container.

" - }, - "exitCode":{ - "shape":"BoxedInteger", - "documentation":"

The exit code returned from the container.

" - }, - "reason":{ - "shape":"String", - "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" - }, - "networkBindings":{ - "shape":"NetworkBindings", - "documentation":"

The network bindings associated with the container.

" - }, - "networkInterfaces":{ - "shape":"NetworkInterfaces", - "documentation":"

The network interfaces associated with the container.

" - }, - "healthStatus":{ - "shape":"HealthStatus", - "documentation":"

The health status of the container. If health checks are not configured for this container in its task definition, then it reports health status as UNKNOWN.

" - } - }, - "documentation":"

A Docker container that is part of a task.

" - }, - "ContainerDefinition":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

" - }, - "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 either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image are not propagated to already running tasks.

  • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" - }, - "repositoryCredentials":{ - "shape":"RepositoryCredentials", - "documentation":"

The private repository authentication credentials to use.

" - }, - "cpu":{ - "shape":"Integer", - "documentation":"

The number of cpu units reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run.

This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level cpu value.

You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024.

For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.

Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.

On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:

  • Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to 2 CPU shares.

  • Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values of 1 are passed to Docker as 2.

On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that is described in the task definition.

" - }, - "memory":{ - "shape":"BoxedInteger", - "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If your containers are part of a task using the Fargate launch type, this field is optional and the only requirement is that the total amount of memory reserved for all containers within a task be lower than the task memory value.

For containers that are part of a task using the EC2 launch type, you must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of memory is used.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" - }, - "memoryReservation":{ - "shape":"BoxedInteger", - "documentation":"

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit; however, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

You must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" - }, - "links":{ - "shape":"StringList", - "documentation":"

The link parameter allows containers to communicate with each other without the need for port mappings. Only supported if the network mode of a task definition is set to bridge. The name:internalName construct is analogous to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. For more information about linking Docker containers, go to https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run .

This parameter is not supported for Windows containers.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

" - }, - "portMappings":{ - "shape":"PortMappingList", - "documentation":"

The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.

For task definitions that use the awsvpc network mode, you should only specify the containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

Port mappings on Windows use the NetNAT gateway address rather than localhost. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself.

This parameter maps to PortBindings in the Create a container section of the Docker Remote API and the --publish option to docker run. If the network mode of a task definition is set to none, then you can't specify port mappings. If the network mode of a task definition is set to host, then host ports must either be undefined or they must match the container port in the port mapping.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the Network Bindings section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the networkBindings section DescribeTasks responses.

" - }, - "essential":{ - "shape":"BoxedBoolean", - "documentation":"

If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide.

" - }, - "entryPoint":{ - "shape":"StringList", - "documentation":"

Early versions of the Amazon ECS container agent do not properly handle entryPoint parameters. If you have problems using entryPoint, update your container agent or enter your commands and arguments as command array items instead.

The entry point that is passed to the container. This parameter maps to Entrypoint in the Create a container section of the Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

" - }, - "command":{ - "shape":"StringList", - "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" - }, - "environment":{ - "shape":"EnvironmentVariables", - "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

" - }, - "mountPoints":{ - "shape":"MountPointList", - "documentation":"

The mount points for data volumes in your container.

This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives.

" - }, - "volumesFrom":{ - "shape":"VolumeFromList", - "documentation":"

Data volumes to mount from another container. This parameter maps to VolumesFrom in the Create a container section of the Docker Remote API and the --volumes-from option to docker run.

" - }, - "linuxParameters":{ - "shape":"LinuxParameters", - "documentation":"

Linux-specific modifications that are applied to the container, such as Linux KernelCapabilities.

This parameter is not supported for Windows containers.

" - }, - "hostname":{ - "shape":"String", - "documentation":"

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

The hostname parameter is not supported if using the awsvpc networkMode.

" - }, - "user":{ - "shape":"String", - "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

This parameter is not supported for Windows containers.

" - }, - "workingDirectory":{ - "shape":"String", - "documentation":"

The working directory in which to run commands inside the container. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

" - }, - "disableNetworking":{ - "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, networking is disabled within the container. This parameter maps to NetworkDisabled in the Create a container section of the Docker Remote API.

This parameter is not supported for Windows containers.

" - }, - "privileged":{ - "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" - }, - "readonlyRootFilesystem":{ - "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

This parameter is not supported for Windows containers.

" - }, - "dnsServers":{ - "shape":"StringList", - "documentation":"

A list of DNS servers that are presented to the container. This parameter maps to Dns in the Create a container section of the Docker Remote API and the --dns option to docker run.

This parameter is not supported for Windows containers.

" - }, - "dnsSearchDomains":{ - "shape":"StringList", - "documentation":"

A list of DNS search domains that are presented to the container. This parameter maps to DnsSearch in the Create a container section of the Docker Remote API and the --dns-search option to docker run.

This parameter is not supported for Windows containers.

" - }, - "extraHosts":{ - "shape":"HostEntryList", - "documentation":"

A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. If using the Fargate launch type, this may be used to list non-Fargate hosts to which the container can talk. This parameter maps to ExtraHosts in the Create a container section of the Docker Remote API and the --add-host option to docker run.

This parameter is not supported for Windows containers.

" - }, - "dockerSecurityOptions":{ - "shape":"StringList", - "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This field is not valid for containers in tasks using the Fargate launch type.

This parameter maps to SecurityOpt in the Create a container section of the Docker Remote API and the --security-opt option to docker run.

The Amazon ECS container agent running on a container instance must register with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment variables before containers placed on that instance can use these security options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

This parameter is not supported for Windows containers.

" - }, - "dockerLabels":{ - "shape":"DockerLabelsMap", - "documentation":"

A key/value map of labels to add to the container. This parameter maps to Labels in the Create a container section of the Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

" - }, - "ulimits":{ - "shape":"UlimitList", - "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

This parameter is not supported for Windows containers.

" - }, - "logConfiguration":{ - "shape":"LogConfiguration", - "documentation":"

The log configuration specification for the container.

If using the Fargate launch type, the only supported value is awslogs.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run. By default, containers use the same logging driver that the Docker daemon uses; however the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" - }, - "healthCheck":{ - "shape":"HealthCheck", - "documentation":"

The health check command and associated configuration parameters for the container. This parameter maps to HealthCheck in the Create a container section of the Docker Remote API and the HEALTHCHECK parameter of docker run.

" - } - }, - "documentation":"

Container definitions are used in task definitions to describe the different containers that are launched as part of a task.

" - }, - "ContainerDefinitions":{ - "type":"list", - "member":{"shape":"ContainerDefinition"} - }, - "ContainerInstance":{ - "type":"structure", - "members":{ - "containerInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" - }, - "ec2InstanceId":{ - "shape":"String", - "documentation":"

The EC2 instance ID of the container instance.

" - }, - "version":{ - "shape":"Long", - "documentation":"

The version counter for the container instance. Every time a container instance experiences a change that triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS container instance state with CloudWatch Events, you can compare the version of a container instance reported by the Amazon ECS APIs with the version reported in CloudWatch Events for the container instance (inside the detail object) to verify that the version in your event stream is current.

" - }, - "versionInfo":{ - "shape":"VersionInfo", - "documentation":"

The version information for the Amazon ECS container agent and Docker daemon running on the container instance.

" - }, - "remainingResources":{ - "shape":"Resources", - "documentation":"

For CPU and memory resource types, this parameter describes the remaining CPU and memory that has not already been allocated to tasks and is therefore available for new tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent (at instance registration time) and any task containers that have reserved port mappings on the host (with the host or bridge network mode). Any port that is not specified here is available for new tasks.

" - }, - "registeredResources":{ - "shape":"Resources", - "documentation":"

For CPU and memory resource types, this parameter describes the amount of each resource that was available on the container instance when the container agent registered it with Amazon ECS; this value represents the total amount of CPU and memory that can be allocated on this container instance to tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the container instance. The valid values are ACTIVE, 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 Elastic Container Service Developer Guide.

" - }, - "agentConnected":{ - "shape":"Boolean", - "documentation":"

This parameter returns true if the agent is connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return false. Only instances connected to an agent can accept placement requests.

" - }, - "runningTasksCount":{ - "shape":"Integer", - "documentation":"

The number of tasks on the container instance that are in the RUNNING status.

" - }, - "pendingTasksCount":{ - "shape":"Integer", - "documentation":"

The number of tasks on the container instance that are in the PENDING status.

" - }, - "agentUpdateStatus":{ - "shape":"AgentUpdateStatus", - "documentation":"

The status of the most recent agent update. If an update has never been requested, this value is NULL.

" - }, - "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 time stamp for when the container instance was registered.

" - }, - "attachments":{ - "shape":"Attachments", - "documentation":"

The elastic network interfaces associated with the container instance.

" - } - }, - "documentation":"

An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.

" - }, - "ContainerInstanceStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "DRAINING" - ] - }, - "ContainerInstances":{ - "type":"list", - "member":{"shape":"ContainerInstance"} - }, - "ContainerOverride":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "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. 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. 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.

" - }, - "ContainerOverrides":{ - "type":"list", - "member":{"shape":"ContainerOverride"} - }, - "ContainerStateChange":{ - "type":"structure", - "members":{ - "containerName":{ - "shape":"String", - "documentation":"

The name of the container.

" - }, - "exitCode":{ - "shape":"BoxedInteger", - "documentation":"

The exit code for the container, if the state change is a result of the container exiting.

" - }, - "networkBindings":{ - "shape":"NetworkBindings", - "documentation":"

Any network bindings associated with the container.

" - }, - "reason":{ - "shape":"String", - "documentation":"

The reason for the state change.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the container.

" - } - }, - "documentation":"

An object representing a change in state for a container.

" - }, - "ContainerStateChanges":{ - "type":"list", - "member":{"shape":"ContainerStateChange"} - }, - "Containers":{ - "type":"list", - "member":{"shape":"Container"} - }, - "CreateClusterRequest":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" - } - } - }, - "CreateClusterResponse":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"Cluster", - "documentation":"

The full description of your new cluster.

" - } - } - }, - "CreateServiceRequest":{ - "type":"structure", - "required":[ - "serviceName", - "taskDefinition" - ], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. If you do not specify a cluster, the default cluster is assumed.

" - }, - "serviceName":{ - "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used.

" - }, - "loadBalancers":{ - "shape":"LoadBalancers", - "documentation":"

A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer or target group per service. After you create a service, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable.

For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers; Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" - }, - "serviceRegistries":{ - "shape":"ServiceRegistries", - "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

Service discovery is supported for Fargate tasks if using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions.

" - }, - "desiredCount":{ - "shape":"BoxedInteger", - "documentation":"

The number of instantiations of the specified task definition to place and keep running on your cluster.

" - }, - "clientToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type on which to run your service.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version on which to run your service. If one is not specified, the latest version is used by default.

" - }, - "role":{ - "shape":"String", - "documentation":"

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition does not use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode, in which case you should not specify a role here. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.

" - }, - "deploymentConfiguration":{ - "shape":"DeploymentConfiguration", - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" - }, - "placementConstraints":{ - "shape":"PlacementConstraints", - "documentation":"

An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time).

" - }, - "placementStrategy":{ - "shape":"PlacementStrategies", - "documentation":"

The placement strategy objects to use for tasks in your service. You can specify a maximum of five strategy rules per service.

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" - }, - "healthCheckGracePeriodSeconds":{ - "shape":"BoxedInteger", - "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 7,200 seconds during which the ECS service scheduler ignores health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" - }, - "schedulingStrategy":{ - "shape":"SchedulingStrategy", - "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.

    Fargate tasks do not support the DAEMON scheduling strategy.

" - } - } - }, - "CreateServiceResponse":{ - "type":"structure", - "members":{ - "service":{ - "shape":"Service", - "documentation":"

The full description of your service following the create call.

" - } - } - }, - "DeleteAttributesRequest":{ - "type":"structure", - "required":["attributes"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The attributes to delete from your resource. You can specify up to 10 attributes per request. For custom attributes, specify the attribute name and target ID, but do not specify the value. If you specify the target ID using the short form, you must also specify the target type.

" - } - } - }, - "DeleteAttributesResponse":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"Attributes", - "documentation":"

A list of attribute objects that were successfully deleted from your resource.

" - } - } - }, - "DeleteClusterRequest":{ - "type":"structure", - "required":["cluster"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster to delete.

" - } - } - }, - "DeleteClusterResponse":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"Cluster", - "documentation":"

The full description of the deleted cluster.

" - } - } - }, - "DeleteServiceRequest":{ - "type":"structure", - "required":["service"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.

" - }, - "service":{ - "shape":"String", - "documentation":"

The name of the service to delete.

" - }, - "force":{ - "shape":"BoxedBoolean", - "documentation":"

If true, allows you to delete a service even if it has not been scaled down to zero tasks. It is only necessary to use this if the service is using the REPLICA scheduling strategy.

" - } - } - }, - "DeleteServiceResponse":{ - "type":"structure", - "members":{ - "service":{ - "shape":"Service", - "documentation":"

The full description of the deleted service.

" - } - } - }, - "Deployment":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The ID of the deployment.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the deployment. Valid values are PRIMARY (for the most recent deployment), ACTIVE (for previous deployments that still have tasks running, but are being replaced with the PRIMARY deployment), and INACTIVE (for deployments that have been completely replaced).

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The most recent task definition that was specified for the service to use.

" - }, - "desiredCount":{ - "shape":"Integer", - "documentation":"

The most recent desired count of tasks that was specified for the service to deploy or maintain.

" - }, - "pendingCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the deployment that are in the PENDING status.

" - }, - "runningCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the deployment that are in the RUNNING status.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the service was created.

" - }, - "updatedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the service was last updated.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type on which your service is running.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version on which your service is running.

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" - } - }, - "documentation":"

The details of an Amazon ECS service deployment.

" - }, - "DeploymentConfiguration":{ - "type":"structure", - "members":{ - "maximumPercent":{ - "shape":"BoxedInteger", - "documentation":"

The upper limit (as a percentage of the service's desiredCount) of the number of tasks that are allowed in the RUNNING or PENDING state in a service during a deployment. The maximum number of tasks during a deployment is the desiredCount multiplied by maximumPercent/100, rounded down to the nearest integer value.

" - }, - "minimumHealthyPercent":{ - "shape":"BoxedInteger", - "documentation":"

The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain in the RUNNING state in a service during a deployment. The minimum number of healthy tasks during a deployment is the desiredCount multiplied by minimumHealthyPercent/100, rounded up to the nearest integer value.

" - } - }, - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" - }, - "Deployments":{ - "type":"list", - "member":{"shape":"Deployment"} - }, - "DeregisterContainerInstanceRequest":{ - "type":"structure", - "required":["containerInstance"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to deregister. If you do not specify a cluster, the default cluster is assumed.

" - }, - "containerInstance":{ - "shape":"String", - "documentation":"

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" - }, - "force":{ - "shape":"BoxedBoolean", - "documentation":"

Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered. They begin connection draining according to the settings on the load balancer or target group.

" - } - } - }, - "DeregisterContainerInstanceResponse":{ - "type":"structure", - "members":{ - "containerInstance":{ - "shape":"ContainerInstance", - "documentation":"

The container instance that was deregistered.

" - } - } - }, - "DeregisterTaskDefinitionRequest":{ - "type":"structure", - "required":["taskDefinition"], - "members":{ - "taskDefinition":{ - "shape":"String", - "documentation":"

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to deregister. You must specify a revision.

" - } - } - }, - "DeregisterTaskDefinitionResponse":{ - "type":"structure", - "members":{ - "taskDefinition":{ - "shape":"TaskDefinition", - "documentation":"

The full description of the deregistered task.

" - } - } - }, - "DescribeClustersRequest":{ - "type":"structure", - "members":{ - "clusters":{ - "shape":"StringList", - "documentation":"

A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.

" - }, - "include":{ - "shape":"ClusterFieldList", - "documentation":"

Additional information about your clusters to be separated by launch type, including:

  • runningEC2TasksCount

  • runningFargateTasksCount

  • pendingEC2TasksCount

  • pendingFargateTasksCount

  • activeEC2ServiceCount

  • activeFargateServiceCount

  • drainingEC2ServiceCount

  • drainingFargateServiceCount

" - } - } - }, - "DescribeClustersResponse":{ - "type":"structure", - "members":{ - "clusters":{ - "shape":"Clusters", - "documentation":"

The list of clusters.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "DescribeContainerInstancesRequest":{ - "type":"structure", - "required":["containerInstances"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed.

" - }, - "containerInstances":{ - "shape":"StringList", - "documentation":"

A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

" - } - } - }, - "DescribeContainerInstancesResponse":{ - "type":"structure", - "members":{ - "containerInstances":{ - "shape":"ContainerInstances", - "documentation":"

The list of container instances.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "DescribeServicesRequest":{ - "type":"structure", - "required":["services"], - "members":{ - "cluster":{ - "shape":"String", - "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", - "documentation":"

A list of services to describe. You may specify up to 10 services to describe in a single operation.

" - } - } - }, - "DescribeServicesResponse":{ - "type":"structure", - "members":{ - "services":{ - "shape":"Services", - "documentation":"

The list of services described.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "DescribeTaskDefinitionRequest":{ - "type":"structure", - "required":["taskDefinition"], - "members":{ - "taskDefinition":{ - "shape":"String", - "documentation":"

The family for the latest ACTIVE revision, family and revision (family:revision) for a specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to describe.

" - } - } - }, - "DescribeTaskDefinitionResponse":{ - "type":"structure", - "members":{ - "taskDefinition":{ - "shape":"TaskDefinition", - "documentation":"

The full task definition description.

" - } - } - }, - "DescribeTasksRequest":{ - "type":"structure", - "required":["tasks"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to describe. If you do not specify a cluster, the default cluster is assumed.

" - }, - "tasks":{ - "shape":"StringList", - "documentation":"

A list of up to 100 task IDs or full ARN entries.

" - } - } - }, - "DescribeTasksResponse":{ - "type":"structure", - "members":{ - "tasks":{ - "shape":"Tasks", - "documentation":"

The list of tasks.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "DesiredStatus":{ - "type":"string", - "enum":[ - "RUNNING", - "PENDING", - "STOPPED" - ] - }, - "Device":{ - "type":"structure", - "required":["hostPath"], - "members":{ - "hostPath":{ - "shape":"String", - "documentation":"

The path for the device on the host container instance.

" - }, - "containerPath":{ - "shape":"String", - "documentation":"

The path inside the container at which to expose the host device.

" - }, - "permissions":{ - "shape":"DeviceCgroupPermissions", - "documentation":"

The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device.

" - } - }, - "documentation":"

An object representing a container instance host device.

" - }, - "DeviceCgroupPermission":{ - "type":"string", - "enum":[ - "read", - "write", - "mknod" - ] - }, - "DeviceCgroupPermissions":{ - "type":"list", - "member":{"shape":"DeviceCgroupPermission"} - }, - "DevicesList":{ - "type":"list", - "member":{"shape":"Device"} - }, - "DiscoverPollEndpointRequest":{ - "type":"structure", - "members":{ - "containerInstance":{ - "shape":"String", - "documentation":"

The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" - }, - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs to.

" - } - } - }, - "DiscoverPollEndpointResponse":{ - "type":"structure", - "members":{ - "endpoint":{ - "shape":"String", - "documentation":"

The endpoint for the Amazon ECS agent to poll.

" - }, - "telemetryEndpoint":{ - "shape":"String", - "documentation":"

The telemetry endpoint for the Amazon ECS agent.

" - } - } - }, - "DockerLabelsMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "DockerVolumeConfiguration":{ - "type":"structure", - "members":{ - "scope":{ - "shape":"Scope", - "documentation":"

The scope for the Docker volume which determines it's lifecycle. Docker volumes that are scoped to a task are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as shared persist after the task stops.

" - }, - "autoprovision":{ - "shape":"BoxedBoolean", - "documentation":"

If this value is true, the Docker volume is created if it does not already exist.

This field is only used if the scope is shared.

" - }, - "driver":{ - "shape":"String", - "documentation":"

The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use docker plugin ls to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see Docker plugin discovery. This parameter maps to Driver in the Create a volume section of the Docker Remote API and the xxdriver option to docker volume create .

" - }, - "driverOpts":{ - "shape":"StringMap", - "documentation":"

A map of Docker driver specific options passed through. This parameter maps to DriverOpts in the Create a volume section of the Docker Remote API and the xxopt option to docker volume create .

" - }, - "labels":{ - "shape":"StringMap", - "documentation":"

Custom metadata to add to your Docker volume. This parameter maps to Labels in the Create a volume section of the Docker Remote API and the xxlabel option to docker volume create .

" - } - }, - "documentation":"

The configuration for the Docker volume. This parameter is specified when using Docker volumes.

" - }, - "Double":{"type":"double"}, - "EnvironmentVariables":{ - "type":"list", - "member":{"shape":"KeyValuePair"} - }, - "Failure":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the failed resource.

" - }, - "reason":{ - "shape":"String", - "documentation":"

The reason for the failure.

" - } - }, - "documentation":"

A failed resource.

" - }, - "Failures":{ - "type":"list", - "member":{"shape":"Failure"} - }, - "HealthCheck":{ - "type":"structure", - "required":["command"], - "members":{ - "command":{ - "shape":"StringList", - "documentation":"

A string array representing the command that the container runs to determine if it is healthy. The string array must start with CMD to execute the command arguments directly, or CMD-SHELL to run the command with the container's default shell. For example:

[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]

An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see HealthCheck in the Create a container section of the Docker Remote API.

" - }, - "interval":{ - "shape":"BoxedInteger", - "documentation":"

The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

" - }, - "timeout":{ - "shape":"BoxedInteger", - "documentation":"

The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.

" - }, - "retries":{ - "shape":"BoxedInteger", - "documentation":"

The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.

" - }, - "startPeriod":{ - "shape":"BoxedInteger", - "documentation":"

The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.

If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

" - } - }, - "documentation":"

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

" - }, - "HealthStatus":{ - "type":"string", - "enum":[ - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ] - }, - "HostEntry":{ - "type":"structure", - "required":[ - "hostname", - "ipAddress" - ], - "members":{ - "hostname":{ - "shape":"String", - "documentation":"

The hostname to use in the /etc/hosts entry.

" - }, - "ipAddress":{ - "shape":"String", - "documentation":"

The IP address to use in the /etc/hosts entry.

" - } - }, - "documentation":"

Hostnames and IP address entries that are added to the /etc/hosts file of a container via the extraHosts parameter of its ContainerDefinition.

" - }, - "HostEntryList":{ - "type":"list", - "member":{"shape":"HostEntry"} - }, - "HostVolumeProperties":{ - "type":"structure", - "members":{ - "sourcePath":{ - "shape":"String", - "documentation":"

When the host parameter is used, specify a sourcePath to declare the path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the host parameter contains a sourcePath file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the sourcePath value does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

If you are using the Fargate launch type, the sourcePath parameter is not supported.

" - } - }, - "documentation":"

Details on a container instance bind mount host volume.

" - }, - "Integer":{"type":"integer"}, - "InvalidParameterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", - "exception":true - }, - "KernelCapabilities":{ - "type":"structure", - "members":{ - "add":{ - "shape":"StringList", - "documentation":"

The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to CapAdd in the Create a container section of the Docker Remote API and the --cap-add option to docker run.

If you are using tasks that use the Fargate launch type, the add parameter is not supported.

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"

" - }, - "drop":{ - "shape":"StringList", - "documentation":"

The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to CapDrop in the Create a container section of the Docker Remote API and the --cap-drop option to docker run.

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"

" - } - }, - "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For more information on the default capabilities and the non-default available capabilities, see Runtime privilege and Linux capabilities in the Docker run reference. For more detailed information on these Linux capabilities, see the capabilities(7) Linux manual page.

" - }, - "KeyValuePair":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the key value pair. For environment variables, this is the name of the environment variable.

" - }, - "value":{ - "shape":"String", - "documentation":"

The value of the key value pair. For environment variables, this is the value of the environment variable.

" - } - }, - "documentation":"

A key and value pair object.

" - }, - "LaunchType":{ - "type":"string", - "enum":[ - "EC2", - "FARGATE" - ] - }, - "LinuxParameters":{ - "type":"structure", - "members":{ - "capabilities":{ - "shape":"KernelCapabilities", - "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

If you are using tasks that use the Fargate launch type, capabilities is supported but the add parameter is not supported.

" - }, - "devices":{ - "shape":"DevicesList", - "documentation":"

Any host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run.

If you are using tasks that use the Fargate launch type, the devices parameter is not supported.

" - }, - "initProcessEnabled":{ - "shape":"BoxedBoolean", - "documentation":"

Run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

" - }, - "sharedMemorySize":{ - "shape":"BoxedInteger", - "documentation":"

The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run.

If you are using tasks that use the Fargate launch type, the sharedMemorySize parameter is not supported.

" - }, - "tmpfs":{ - "shape":"TmpfsList", - "documentation":"

The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run.

If you are using tasks that use the Fargate launch type, the tmpfs parameter is not supported.

" - } - }, - "documentation":"

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

" - }, - "ListAttributesRequest":{ - "type":"structure", - "required":["targetType"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. If you do not specify a cluster, the default cluster is assumed.

" - }, - "targetType":{ - "shape":"TargetType", - "documentation":"

The type of the target with which to list attributes.

" - }, - "attributeName":{ - "shape":"String", - "documentation":"

The name of the attribute with which to filter the results.

" - }, - "attributeValue":{ - "shape":"String", - "documentation":"

The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListAttributes request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of cluster results returned by ListAttributes in paginated output. When this parameter is used, ListAttributes only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListAttributes request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListAttributes returns up to 100 results and a nextToken value if applicable.

" - } - } - }, - "ListAttributesResponse":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"Attributes", - "documentation":"

A list of attribute objects that meet the criteria of the request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListAttributes request. When the results of a ListAttributes request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "ListClustersRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListClusters request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of cluster results returned by ListClusters in paginated output. When this parameter is used, ListClusters 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 ListClusters request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListClusters returns up to 100 results and a nextToken value if applicable.

" - } - } - }, - "ListClustersResponse":{ - "type":"structure", - "members":{ - "clusterArns":{ - "shape":"StringList", - "documentation":"

The list of full Amazon Resource Name (ARN) entries for each cluster associated with your account.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListClusters request. When the results of a ListClusters 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.

" - } - } - }, - "ListContainerInstancesRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to list. If you do not specify a cluster, the default cluster is assumed.

" - }, - "filter":{ - "shape":"String", - "documentation":"

You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListContainerInstances request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of container instance results returned by ListContainerInstances in paginated output. When this parameter is used, ListContainerInstances only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListContainerInstances request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListContainerInstances returns up to 100 results and a nextToken value if applicable.

" - }, - "status":{ - "shape":"ContainerInstanceStatus", - "documentation":"

Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to ACTIVE and DRAINING.

" - } - } - }, - "ListContainerInstancesResponse":{ - "type":"structure", - "members":{ - "containerInstanceArns":{ - "shape":"StringList", - "documentation":"

The list of container instances with full ARN entries for each container instance associated with the specified cluster.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListContainerInstances request. When the results of a ListContainerInstances 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.

" - } - } - }, - "ListServicesRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. If you do not specify a cluster, the default cluster is assumed.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListServices request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of service results returned by ListServices in paginated output. When this parameter is used, ListServices only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListServices request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then ListServices returns up to 10 results and a nextToken value if applicable.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type for the services to list.

" - }, - "schedulingStrategy":{ - "shape":"SchedulingStrategy", - "documentation":"

The scheduling strategy for services to list.

" - } - } - }, - "ListServicesResponse":{ - "type":"structure", - "members":{ - "serviceArns":{ - "shape":"StringList", - "documentation":"

The list of full ARN entries for each service associated with the specified cluster.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListServices request. When the results of a ListServices 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.

" - } - } - }, - "ListTaskDefinitionFamiliesRequest":{ - "type":"structure", - "members":{ - "familyPrefix":{ - "shape":"String", - "documentation":"

The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. If you specify a familyPrefix, only task definition family names that begin with the familyPrefix string are returned.

" - }, - "status":{ - "shape":"TaskDefinitionFamilyStatus", - "documentation":"

The task definition family status with which to filter the ListTaskDefinitionFamilies results. By default, both ACTIVE and INACTIVE task definition families are listed. If this parameter is set to ACTIVE, only task definition families that have an ACTIVE task definition revision are returned. If this parameter is set to INACTIVE, only task definition families that do not have any ACTIVE task definition revisions are returned. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTaskDefinitionFamilies request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of task definition family results returned by ListTaskDefinitionFamilies in paginated output. When this parameter is used, ListTaskDefinitions 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 ListTaskDefinitionFamilies request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitionFamilies returns up to 100 results and a nextToken value if applicable.

" - } - } - }, - "ListTaskDefinitionFamiliesResponse":{ - "type":"structure", - "members":{ - "families":{ - "shape":"StringList", - "documentation":"

The list of task definition family names that match the ListTaskDefinitionFamilies request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListTaskDefinitionFamilies request. When the results of a ListTaskDefinitionFamilies 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.

" - } - } - }, - "ListTaskDefinitionsRequest":{ - "type":"structure", - "members":{ - "familyPrefix":{ - "shape":"String", - "documentation":"

The full family name with which to filter the ListTaskDefinitions results. Specifying a familyPrefix limits the listed task definitions to task definition revisions that belong to that family.

" - }, - "status":{ - "shape":"TaskDefinitionStatus", - "documentation":"

The task definition status with which to filter the ListTaskDefinitions results. By default, only ACTIVE task definitions are listed. By setting this parameter to INACTIVE, you can view task definitions that are INACTIVE as long as an active task or service still references them. If you paginate the resulting output, be sure to keep the status value constant in each subsequent request.

" - }, - "sort":{ - "shape":"SortOrder", - "documentation":"

The order in which to sort the results. Valid values are ASC and DESC. By default (ASC), task definitions are listed lexicographically by family name and in ascending numerical order by revision so that the newest task definitions in a family are listed last. Setting this parameter to DESC reverses the sort order on family name and revision so that the newest task definitions in a family are listed first.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTaskDefinitions request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of task definition results returned by ListTaskDefinitions in paginated output. When this parameter is used, ListTaskDefinitions 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 ListTaskDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions returns up to 100 results and a nextToken value if applicable.

" - } - } - }, - "ListTaskDefinitionsResponse":{ - "type":"structure", - "members":{ - "taskDefinitionArns":{ - "shape":"StringList", - "documentation":"

The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListTaskDefinitions request. When the results of a ListTaskDefinitions 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.

" - } - } - }, - "ListTasksRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the tasks to list. If you do not specify a cluster, the default cluster is assumed.

" - }, - "containerInstance":{ - "shape":"String", - "documentation":"

The container instance ID or full ARN of the container instance with which to filter the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

" - }, - "family":{ - "shape":"String", - "documentation":"

The name of the family with which to filter the ListTasks results. Specifying a family limits the results to tasks that belong to that family.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTasks request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" - }, - "maxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of task results returned by ListTasks in paginated output. When this parameter is used, ListTasks 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 ListTasks request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListTasks returns up to 100 results and a nextToken value if applicable.

" - }, - "startedBy":{ - "shape":"String", - "documentation":"

The startedBy value with which to filter the task results. Specifying a startedBy value limits the results to tasks that were started with that value.

" - }, - "serviceName":{ - "shape":"String", - "documentation":"

The name of the service with which to filter the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

" - }, - "desiredStatus":{ - "shape":"DesiredStatus", - "documentation":"

The task desired status with which to filter the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED, which can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING.

Although you can filter results based on a desired status of PENDING, this does not return any results because Amazon ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING).

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type for services to list.

" - } - } - }, - "ListTasksResponse":{ - "type":"structure", - "members":{ - "taskArns":{ - "shape":"StringList", - "documentation":"

The list of task ARN entries for the ListTasks request.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListTasks request. When the results of a ListTasks 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.

" - } - } - }, - "LoadBalancer":{ - "type":"structure", - "members":{ - "targetGroupArn":{ - "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service.

If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" - }, - "loadBalancerName":{ - "shape":"String", - "documentation":"

The name of a load balancer.

" - }, - "containerName":{ - "shape":"String", - "documentation":"

The name of the container (as it appears in a container definition) to associate with the load balancer.

" - }, - "containerPort":{ - "shape":"BoxedInteger", - "documentation":"

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the service's task definition. Your container instances must allow ingress traffic on the hostPort of the port mapping.

" - } - }, - "documentation":"

Details on a load balancer that is used with a service.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers; Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" - }, - "LoadBalancers":{ - "type":"list", - "member":{"shape":"LoadBalancer"} - }, - "LogConfiguration":{ - "type":"structure", - "required":["logDriver"], - "members":{ - "logDriver":{ - "shape":"LogDriver", - "documentation":"

The log driver to use for the container. The valid values listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default. If using the Fargate launch type, the only supported value is awslogs. For more information about using the awslogs driver, see Using the awslogs Log Driver in the Amazon Elastic Container Service Developer Guide.

If you have a custom driver that is not listed above that you would like to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, Amazon Web Services does not currently support running modified copies of this software.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

" - }, - "options":{ - "shape":"LogConfigurationOptionsMap", - "documentation":"

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep \"Server API version\"

" - } - }, - "documentation":"

Log configuration options to send to a custom log driver for the container.

" - }, - "LogConfigurationOptionsMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "LogDriver":{ - "type":"string", - "enum":[ - "json-file", - "syslog", - "journald", - "gelf", - "fluentd", - "awslogs", - "splunk" - ] - }, - "Long":{"type":"long"}, - "MissingVersionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Amazon ECS is unable to determine the current version of the Amazon ECS container agent on the container instance and does not have enough information to proceed with an update. This could be because the agent running on the container instance is an older or custom version that does not use our version information.

", - "exception":true - }, - "MountPoint":{ - "type":"structure", - "members":{ - "sourceVolume":{ - "shape":"String", - "documentation":"

The name of the volume to mount. Must be a volume name referenced in the name parameter of task definition volume.

" - }, - "containerPath":{ - "shape":"String", - "documentation":"

The path on the container to mount the host volume at.

" - }, - "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 volume mount point that is used in a container definition.

" - }, - "MountPointList":{ - "type":"list", - "member":{"shape":"MountPoint"} - }, - "NetworkBinding":{ - "type":"structure", - "members":{ - "bindIP":{ - "shape":"String", - "documentation":"

The IP address that the container is bound to on the container instance.

" - }, - "containerPort":{ - "shape":"BoxedInteger", - "documentation":"

The port number on the container that is used with the network binding.

" - }, - "hostPort":{ - "shape":"BoxedInteger", - "documentation":"

The port number on the host that is used with the network binding.

" - }, - "protocol":{ - "shape":"TransportProtocol", - "documentation":"

The protocol used for the network binding.

" - } - }, - "documentation":"

Details on the network bindings between a container and its host container instance. After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

" - }, - "NetworkBindings":{ - "type":"list", - "member":{"shape":"NetworkBinding"} - }, - "NetworkConfiguration":{ - "type":"structure", - "members":{ - "awsvpcConfiguration":{ - "shape":"AwsVpcConfiguration", - "documentation":"

The VPC subnets and security groups associated with a task.

All specified subnets and security groups must be from the same VPC.

" - } - }, - "documentation":"

An object representing the network configuration for a task or service.

" - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "attachmentId":{ - "shape":"String", - "documentation":"

The attachment ID for the network interface.

" - }, - "privateIpv4Address":{ - "shape":"String", - "documentation":"

The private IPv4 address for the network interface.

" - }, - "ipv6Address":{ - "shape":"String", - "documentation":"

The private IPv6 address for the network interface.

" - } - }, - "documentation":"

An object representing the elastic network interface for tasks that use the awsvpc network mode.

" - }, - "NetworkInterfaces":{ - "type":"list", - "member":{"shape":"NetworkInterface"} - }, - "NetworkMode":{ - "type":"string", - "enum":[ - "bridge", - "host", - "awsvpc", - "none" - ] - }, - "NoUpdateAvailableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no update available for this Amazon ECS container agent. This could be because the agent is already running the latest version, or it is so old that there is no update path to the current version.

", - "exception":true - }, - "PlacementConstraint":{ - "type":"structure", - "members":{ - "type":{ - "shape":"PlacementConstraintType", - "documentation":"

The type of constraint. Use distinctInstance to ensure that each task in a particular group is running on a different container instance. Use memberOf to restrict the selection to a group of valid candidates. The value distinctInstance is not supported in task definitions.

" - }, - "expression":{ - "shape":"String", - "documentation":"

A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" - } - }, - "documentation":"

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" - }, - "PlacementConstraintType":{ - "type":"string", - "enum":[ - "distinctInstance", - "memberOf" - ] - }, - "PlacementConstraints":{ - "type":"list", - "member":{"shape":"PlacementConstraint"} - }, - "PlacementStrategies":{ - "type":"list", - "member":{"shape":"PlacementStrategy"} - }, - "PlacementStrategy":{ - "type":"structure", - "members":{ - "type":{ - "shape":"PlacementStrategyType", - "documentation":"

The type of placement strategy. The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the field parameter. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified with the field parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory (but still enough to run the task).

" - }, - "field":{ - "shape":"String", - "documentation":"

The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this field is not used.

" - } - }, - "documentation":"

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

" - }, - "PlacementStrategyType":{ - "type":"string", - "enum":[ - "random", - "spread", - "binpack" - ] - }, - "PlatformTaskDefinitionIncompatibilityException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified platform version does not satisfy the task definition's required capabilities.

", - "exception":true - }, - "PlatformUnknownException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified platform version does not exist.

", - "exception":true - }, - "PortMapping":{ - "type":"structure", - "members":{ - "containerPort":{ - "shape":"BoxedInteger", - "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port.

If using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort.

If using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range (for more information, see hostPort). Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

" - }, - "hostPort":{ - "shape":"BoxedInteger", - "documentation":"

The port number on the container instance to reserve for your container.

If using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If using containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range; if this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. 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 from 49153 through 65535 is always used for Docker versions before 1.6.0.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678 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", - "documentation":"

The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp.

" - } - }, - "documentation":"

Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition.

If using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

" - }, - "PortMappingList":{ - "type":"list", - "member":{"shape":"PortMapping"} - }, - "PutAttributesRequest":{ - "type":"structure", - "required":["attributes"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The attributes to apply to your resource. You can specify up to 10 custom attributes per resource. You can specify up to 10 attributes in a single call.

" - } - } - }, - "PutAttributesResponse":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"Attributes", - "documentation":"

The attributes applied to your resource.

" - } - } - }, - "RegisterContainerInstanceRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster with which to register your container instance. If you do not specify a cluster, the default cluster is assumed.

" - }, - "instanceIdentityDocument":{ - "shape":"String", - "documentation":"

The instance identity document for the EC2 instance to register. This document can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/

" - }, - "instanceIdentityDocumentSignature":{ - "shape":"String", - "documentation":"

The instance identity document signature for the EC2 instance to register. This signature can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/signature/

" - }, - "totalResources":{ - "shape":"Resources", - "documentation":"

The resources available on the instance.

" - }, - "versionInfo":{ - "shape":"VersionInfo", - "documentation":"

The version information for the Amazon ECS container agent and Docker daemon running on the container instance.

" - }, - "containerInstanceArn":{ - "shape":"String", - "documentation":"

The ARN of the container instance (if it was previously registered).

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The container instance attributes that this container instance supports.

" - } - } - }, - "RegisterContainerInstanceResponse":{ - "type":"structure", - "members":{ - "containerInstance":{ - "shape":"ContainerInstance", - "documentation":"

The container instance that was registered.

" - } - } - }, - "RegisterTaskDefinitionRequest":{ - "type":"structure", - "required":[ - "family", - "containerDefinitions" - ], - "members":{ - "family":{ - "shape":"String", - "documentation":"

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" - }, - "taskRoleArn":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" - }, - "executionRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" - }, - "networkMode":{ - "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If using the Fargate launch type, the awsvpc network mode is required. If using the EC2 launch type, any network mode can be used. If the network mode is set to none, you can't specify port mappings in your container definitions, and the task's containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an Elastic Network Interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

If the network mode is host, you can't run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode.

For more information, see Network settings in the Docker run reference.

" - }, - "containerDefinitions":{ - "shape":"ContainerDefinitions", - "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task.

" - }, - "volumes":{ - "shape":"VolumeList", - "documentation":"

A list of volume definitions in JSON format that containers in your task may use.

" - }, - "placementConstraints":{ - "shape":"TaskDefinitionPlacementConstraints", - "documentation":"

An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time).

" - }, - "requiresCompatibilities":{ - "shape":"CompatibilityList", - "documentation":"

The launch type required by the task. If no value is specified, it defaults to EC2.

" - }, - "cpu":{ - "shape":"String", - "documentation":"

The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example 1024, or as a string using vCPUs, for example 1 vCPU or 1 vcpu, in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" - }, - "memory":{ - "shape":"String", - "documentation":"

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example 1024, or as a string using GB, for example 1GB or 1 GB, in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" - } - } - }, - "RegisterTaskDefinitionResponse":{ - "type":"structure", - "members":{ - "taskDefinition":{ - "shape":"TaskDefinition", - "documentation":"

The full description of the registered task definition.

" - } - } - }, - "RepositoryCredentials":{ - "type":"structure", - "required":["credentialsParameter"], - "members":{ - "credentialsParameter":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) or name of the secret containing the private repository credentials.

" - } - }, - "documentation":"

The repository credentials for private registry authentication.

" - }, - "RequiresAttributes":{ - "type":"list", - "member":{"shape":"Attribute"} - }, - "Resource":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined resource.

" - }, - "type":{ - "shape":"String", - "documentation":"

The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET.

" - }, - "doubleValue":{ - "shape":"Double", - "documentation":"

When the doubleValue type is set, the value of the resource must be a double precision floating-point type.

" - }, - "longValue":{ - "shape":"Long", - "documentation":"

When the longValue type is set, the value of the resource must be an extended precision floating-point type.

" - }, - "integerValue":{ - "shape":"Integer", - "documentation":"

When the integerValue type is set, the value of the resource must be an integer.

" - }, - "stringSetValue":{ - "shape":"StringList", - "documentation":"

When the stringSetValue type is set, the value of the resource must be a string type.

" - } - }, - "documentation":"

Describes the resources available for a container instance.

" - }, - "Resources":{ - "type":"list", - "member":{"shape":"Resource"} - }, - "RunTaskRequest":{ - "type":"structure", - "required":["taskDefinition"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. If you do not specify a cluster, the default cluster is assumed.

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used.

" - }, - "overrides":{ - "shape":"TaskOverride", - "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

" - }, - "count":{ - "shape":"BoxedInteger", - "documentation":"

The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call.

" - }, - "startedBy":{ - "shape":"String", - "documentation":"

An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" - }, - "group":{ - "shape":"String", - "documentation":"

The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

" - }, - "placementConstraints":{ - "shape":"PlacementConstraints", - "documentation":"

An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at run time).

" - }, - "placementStrategy":{ - "shape":"PlacementStrategies", - "documentation":"

The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type on which to run your task.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version on which to run your task. If one is not specified, the latest version is used by default.

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" - } - } - }, - "RunTaskResponse":{ - "type":"structure", - "members":{ - "tasks":{ - "shape":"Tasks", - "documentation":"

A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "SchedulingStrategy":{ - "type":"string", - "enum":[ - "REPLICA", - "DAEMON" - ] - }, - "Scope":{ - "type":"string", - "enum":[ - "task", - "shared" - ] - }, - "ServerException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a server issue.

", - "exception":true, - "fault":true - }, - "Service":{ - "type":"structure", - "members":{ - "serviceArn":{ - "shape":"String", - "documentation":"

The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service .

" - }, - "serviceName":{ - "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" - }, - "clusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the cluster that hosts the service.

" - }, - "loadBalancers":{ - "shape":"LoadBalancers", - "documentation":"

A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers; Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" - }, - "serviceRegistries":{ - "shape":"ServiceRegistries", - "documentation":"

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.

" - }, - "desiredCount":{ - "shape":"Integer", - "documentation":"

The desired number of instantiations of the task definition to keep running on the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

" - }, - "runningCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the cluster that are in the RUNNING state.

" - }, - "pendingCount":{ - "shape":"Integer", - "documentation":"

The number of tasks in the cluster that are in the PENDING state.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type on which your service is running.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version on which your task is running. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The task definition to use for tasks in the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

" - }, - "deploymentConfiguration":{ - "shape":"DeploymentConfiguration", - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" - }, - "deployments":{ - "shape":"Deployments", - "documentation":"

The current state of deployments for the service.

" - }, - "roleArn":{ - "shape":"String", - "documentation":"

The ARN of the IAM role associated with the service that allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.

" - }, - "events":{ - "shape":"ServiceEvents", - "documentation":"

The event stream for your service. A maximum of 100 of the latest events are displayed.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the service was created.

" - }, - "placementConstraints":{ - "shape":"PlacementConstraints", - "documentation":"

The placement constraints for the tasks in the service.

" - }, - "placementStrategy":{ - "shape":"PlacementStrategies", - "documentation":"

The placement strategy that determines how tasks for the service are placed.

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" - }, - "healthCheckGracePeriodSeconds":{ - "shape":"BoxedInteger", - "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.

" - }, - "schedulingStrategy":{ - "shape":"SchedulingStrategy", - "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each container instance in your cluster. When using this strategy, do not specify a desired number of tasks or any task placement strategies.

    Fargate tasks do not support the DAEMON scheduling strategy.

" - } - }, - "documentation":"

Details on a service within a cluster

" - }, - "ServiceEvent":{ - "type":"structure", - "members":{ - "id":{ - "shape":"String", - "documentation":"

The ID string of the event.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the event was triggered.

" - }, - "message":{ - "shape":"String", - "documentation":"

The event message.

" - } - }, - "documentation":"

Details on an event associated with a service.

" - }, - "ServiceEvents":{ - "type":"list", - "member":{"shape":"ServiceEvent"} - }, - "ServiceNotActiveException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified service is not active. You can't update a service that is inactive. If you have previously deleted a service, you can re-create it with CreateService.

", - "exception":true - }, - "ServiceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified service could not be found. You can view your available services with ListServices. Amazon ECS services are cluster-specific and region-specific.

", - "exception":true - }, - "ServiceRegistries":{ - "type":"list", - "member":{"shape":"ServiceRegistry"} - }, - "ServiceRegistry":{ - "type":"structure", - "members":{ - "registryArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is Amazon Route 53 Auto Naming. For more information, see Service.

" - }, - "port":{ - "shape":"BoxedInteger", - "documentation":"

The port value used if your service discovery service specified an SRV record. This field is required if both the awsvpc network mode and SRV records are used.

" - }, - "containerName":{ - "shape":"String", - "documentation":"

The container name value, already specified in the task definition, to be used for your service discovery service. If the task definition that your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition that your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.

" - }, - "containerPort":{ - "shape":"BoxedInteger", - "documentation":"

The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.

" - } - }, - "documentation":"

Details of the service registry.

" - }, - "Services":{ - "type":"list", - "member":{"shape":"Service"} - }, - "SortOrder":{ - "type":"string", - "enum":[ - "ASC", - "DESC" - ] - }, - "StartTaskRequest":{ - "type":"structure", - "required":[ - "taskDefinition", - "containerInstances" - ], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. If you do not specify a cluster, the default cluster is assumed.

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The family and revision (family:revision) or full ARN of the task definition to start. If a revision is not specified, the latest ACTIVE revision is used.

" - }, - "overrides":{ - "shape":"TaskOverride", - "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

" - }, - "containerInstances":{ - "shape":"StringList", - "documentation":"

The container instance IDs or full ARN entries for the container instances on which you would like to place your task. You can specify up to 10 container instances.

" - }, - "startedBy":{ - "shape":"String", - "documentation":"

An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" - }, - "group":{ - "shape":"String", - "documentation":"

The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" - } - } - }, - "StartTaskResponse":{ - "type":"structure", - "members":{ - "tasks":{ - "shape":"Tasks", - "documentation":"

A full description of the tasks that were started. Each task that was successfully placed on your container instances is described.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "Statistics":{ - "type":"list", - "member":{"shape":"KeyValuePair"} - }, - "StopTaskRequest":{ - "type":"structure", - "required":["task"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. If you do not specify a cluster, the default cluster is assumed.

" - }, - "task":{ - "shape":"String", - "documentation":"

The task ID or full ARN entry of the task to stop.

" - }, - "reason":{ - "shape":"String", - "documentation":"

An optional message specified when a task is stopped. For example, if you are using a custom scheduler, you can use this parameter to specify the reason for stopping the task here, and the message appears in subsequent DescribeTasks API operations on this task. Up to 255 characters are allowed in this message.

" - } - } - }, - "StopTaskResponse":{ - "type":"structure", - "members":{ - "task":{ - "shape":"Task", - "documentation":"

The task that was stopped.

" - } - } - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "StringMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "SubmitContainerStateChangeRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full ARN of the cluster that hosts the container.

" - }, - "task":{ - "shape":"String", - "documentation":"

The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

" - }, - "containerName":{ - "shape":"String", - "documentation":"

The name of the container.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the state change request.

" - }, - "exitCode":{ - "shape":"BoxedInteger", - "documentation":"

The exit code returned for the state change request.

" - }, - "reason":{ - "shape":"String", - "documentation":"

The reason for the state change request.

" - }, - "networkBindings":{ - "shape":"NetworkBindings", - "documentation":"

The network bindings of the container.

" - } - } - }, - "SubmitContainerStateChangeResponse":{ - "type":"structure", - "members":{ - "acknowledgment":{ - "shape":"String", - "documentation":"

Acknowledgement of the state change.

" - } - } - }, - "SubmitTaskStateChangeRequest":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

" - }, - "task":{ - "shape":"String", - "documentation":"

The task ID or full ARN of the task in the state change request.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the state change request.

" - }, - "reason":{ - "shape":"String", - "documentation":"

The reason for the state change request.

" - }, - "containers":{ - "shape":"ContainerStateChanges", - "documentation":"

Any containers associated with the state change request.

" - }, - "attachments":{ - "shape":"AttachmentStateChanges", - "documentation":"

Any attachments associated with the state change request.

" - }, - "pullStartedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the container image pull began.

" - }, - "pullStoppedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the container image pull completed.

" - }, - "executionStoppedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task execution stopped.

" - } - } - }, - "SubmitTaskStateChangeResponse":{ - "type":"structure", - "members":{ - "acknowledgment":{ - "shape":"String", - "documentation":"

Acknowledgement of the state change.

" - } - } - }, - "TargetNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified target could not be found. You can view your available container instances with ListContainerInstances. Amazon ECS container instances are cluster-specific and region-specific.

", - "exception":true - }, - "TargetType":{ - "type":"string", - "enum":["container-instance"] - }, - "Task":{ - "type":"structure", - "members":{ - "taskArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task.

" - }, - "clusterArn":{ - "shape":"String", - "documentation":"

The ARN of the cluster that hosts the task.

" - }, - "taskDefinitionArn":{ - "shape":"String", - "documentation":"

The ARN of the task definition that creates the task.

" - }, - "containerInstanceArn":{ - "shape":"String", - "documentation":"

The ARN of the container instances that host the task.

" - }, - "overrides":{ - "shape":"TaskOverride", - "documentation":"

One or more container overrides.

" - }, - "lastStatus":{ - "shape":"String", - "documentation":"

The last known status of the task. For more information, see Task Lifecycle.

" - }, - "desiredStatus":{ - "shape":"String", - "documentation":"

The desired status of the task. For more information, see Task Lifecycle.

" - }, - "cpu":{ - "shape":"String", - "documentation":"

The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example 1024, or as a string using vCPUs, for example 1 vCPU or 1 vcpu, in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

If using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" - }, - "memory":{ - "shape":"String", - "documentation":"

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example 1024, or as a string using GB, for example 1GB or 1 GB, in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" - }, - "containers":{ - "shape":"Containers", - "documentation":"

The containers associated with the task.

" - }, - "startedBy":{ - "shape":"String", - "documentation":"

The tag specified when a task is started. If the task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" - }, - "version":{ - "shape":"Long", - "documentation":"

The version counter for the task. Every time a task experiences a change that triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS APIs with the version reported in CloudWatch Events for the task (inside the detail object) to verify that the version in your event stream is current.

" - }, - "stoppedReason":{ - "shape":"String", - "documentation":"

The reason the task was stopped.

" - }, - "connectivity":{ - "shape":"Connectivity", - "documentation":"

The connectivity status of a task.

" - }, - "connectivityAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task last went into CONNECTED status.

" - }, - "pullStartedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the container image pull began.

" - }, - "pullStoppedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the container image pull completed.

" - }, - "executionStoppedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task execution stopped.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task was created (the task entered the PENDING state).

" - }, - "startedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task started (the task transitioned from the PENDING state to the RUNNING state).

" - }, - "stoppingAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task stops (transitions from the RUNNING state to STOPPED).

" - }, - "stoppedAt":{ - "shape":"Timestamp", - "documentation":"

The Unix time stamp for when the task was stopped (the task transitioned from the RUNNING state to the STOPPED state).

" - }, - "group":{ - "shape":"String", - "documentation":"

The name of the task group associated with the task.

" - }, - "launchType":{ - "shape":"LaunchType", - "documentation":"

The launch type on which your task is running.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version on which your task is running. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" - }, - "attachments":{ - "shape":"Attachments", - "documentation":"

The elastic network adapter associated with the task if the task uses the awsvpc network mode.

" - }, - "healthStatus":{ - "shape":"HealthStatus", - "documentation":"

The health status for the task, which is determined by the health of the essential containers in the task. If all essential containers in the task are reporting as HEALTHY, then the task status also reports as HEALTHY. If any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, then the task status also reports as UNHEALTHY or UNKNOWN, accordingly.

The Amazon ECS container agent does not monitor or report on Docker health checks that are embedded in a container image (such as those specified in a parent image or from the image's Dockerfile) and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

" - } - }, - "documentation":"

Details on a task in a cluster.

" - }, - "TaskDefinition":{ - "type":"structure", - "members":{ - "taskDefinitionArn":{ - "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the task definition.

" - }, - "containerDefinitions":{ - "shape":"ContainerDefinitions", - "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" - }, - "family":{ - "shape":"String", - "documentation":"

The family of your task definition, used as the definition name.

" - }, - "taskRoleArn":{ - "shape":"String", - "documentation":"

The ARN of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take advantage of the feature. For more information, see Windows IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" - }, - "executionRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" - }, - "networkMode":{ - "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If using the Fargate launch type, the awsvpc network mode is required. If using the EC2 launch type, any network mode can be used. If the network mode is set to none, you can't specify port mappings in your container definitions, and the task's containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an Elastic Network Interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only the Amazon ECS-optimized AMI, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you can't run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" - }, - "revision":{ - "shape":"Integer", - "documentation":"

The revision of the task in a particular family. The revision is a version number of a task definition in a family. When you register a task definition for the first time, the revision is 1; each time you register a new revision of a task definition in the same family, the revision value always increases by one (even if you have deregistered previous revisions in this family).

" - }, - "volumes":{ - "shape":"VolumeList", - "documentation":"

The list of volumes in a task.

If you are using the Fargate launch type, the host and sourcePath parameters are not supported.

For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" - }, - "status":{ - "shape":"TaskDefinitionStatus", - "documentation":"

The status of the task definition.

" - }, - "requiresAttributes":{ - "shape":"RequiresAttributes", - "documentation":"

The container instance attributes required by your task. This field is not valid if using the Fargate launch type for your task.

" - }, - "placementConstraints":{ - "shape":"TaskDefinitionPlacementConstraints", - "documentation":"

An array of placement constraint objects to use for tasks. This field is not valid if using the Fargate launch type for your task.

" - }, - "compatibilities":{ - "shape":"CompatibilityList", - "documentation":"

The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" - }, - "requiresCompatibilities":{ - "shape":"CompatibilityList", - "documentation":"

The launch type the task is using.

" - }, - "cpu":{ - "shape":"String", - "documentation":"

The number of cpu units used by the task. If using the EC2 launch type, this field is optional and any value can be used. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" - }, - "memory":{ - "shape":"String", - "documentation":"

The amount (in MiB) of memory used by the task. If using the EC2 launch type, this field is optional and any value can be used. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" - } - }, - "documentation":"

Details of a task definition.

" - }, - "TaskDefinitionFamilyStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE", - "ALL" - ] - }, - "TaskDefinitionPlacementConstraint":{ - "type":"structure", - "members":{ - "type":{ - "shape":"TaskDefinitionPlacementConstraintType", - "documentation":"

The type of constraint. The DistinctInstance constraint ensures that each task in a particular group is running on a different container instance. The MemberOf constraint restricts selection to be from a group of valid candidates.

" - }, - "expression":{ - "shape":"String", - "documentation":"

A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" - } - }, - "documentation":"

An object representing a constraint on task placement in the task definition.

If you are using the Fargate launch type, task placement constraints are not supported.

For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

" - }, - "TaskDefinitionPlacementConstraintType":{ - "type":"string", - "enum":["memberOf"] - }, - "TaskDefinitionPlacementConstraints":{ - "type":"list", - "member":{"shape":"TaskDefinitionPlacementConstraint"} - }, - "TaskDefinitionStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE" - ] - }, - "TaskOverride":{ - "type":"structure", - "members":{ - "containerOverrides":{ - "shape":"ContainerOverrides", - "documentation":"

One or more container overrides sent to a task.

" - }, - "taskRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

" - }, - "executionRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" - } - }, - "documentation":"

The overrides associated with a task.

" - }, - "Tasks":{ - "type":"list", - "member":{"shape":"Task"} - }, - "Timestamp":{"type":"timestamp"}, - "Tmpfs":{ - "type":"structure", - "required":[ - "containerPath", - "size" - ], - "members":{ - "containerPath":{ - "shape":"String", - "documentation":"

The absolute file path where the tmpfs volume is to be mounted.

" - }, - "size":{ - "shape":"Integer", - "documentation":"

The size (in MiB) of the tmpfs volume.

" - }, - "mountOptions":{ - "shape":"StringList", - "documentation":"

The list of tmpfs volume mount options.

Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"

" - } - }, - "documentation":"

The container path, mount options, and size of the tmpfs mount.

" - }, - "TmpfsList":{ - "type":"list", - "member":{"shape":"Tmpfs"} - }, - "TransportProtocol":{ - "type":"string", - "enum":[ - "tcp", - "udp" - ] - }, - "Ulimit":{ - "type":"structure", - "required":[ - "name", - "softLimit", - "hardLimit" - ], - "members":{ - "name":{ - "shape":"UlimitName", - "documentation":"

The type of the ulimit.

" - }, - "softLimit":{ - "shape":"Integer", - "documentation":"

The soft limit for the ulimit type.

" - }, - "hardLimit":{ - "shape":"Integer", - "documentation":"

The hard limit for the ulimit type.

" - } - }, - "documentation":"

The ulimit settings to pass to the container.

" - }, - "UlimitList":{ - "type":"list", - "member":{"shape":"Ulimit"} - }, - "UlimitName":{ - "type":"string", - "enum":[ - "core", - "cpu", - "data", - "fsize", - "locks", - "memlock", - "msgqueue", - "nice", - "nofile", - "nproc", - "rss", - "rtprio", - "rttime", - "sigpending", - "stack" - ] - }, - "UnsupportedFeatureException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified task is not supported in this region.

", - "exception":true - }, - "UpdateContainerAgentRequest":{ - "type":"structure", - "required":["containerInstance"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is running on. If you do not specify a cluster, the default cluster is assumed.

" - }, - "containerInstance":{ - "shape":"String", - "documentation":"

The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent.

" - } - } - }, - "UpdateContainerAgentResponse":{ - "type":"structure", - "members":{ - "containerInstance":{ - "shape":"ContainerInstance", - "documentation":"

The container instance for which the container agent was updated.

" - } - } - }, - "UpdateContainerInstancesStateRequest":{ - "type":"structure", - "required":[ - "containerInstances", - "status" - ], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to update. If you do not specify a cluster, the default cluster is assumed.

" - }, - "containerInstances":{ - "shape":"StringList", - "documentation":"

A list of container instance IDs or full ARN entries.

" - }, - "status":{ - "shape":"ContainerInstanceStatus", - "documentation":"

The container instance state with which to update the container instance.

" - } - } - }, - "UpdateContainerInstancesStateResponse":{ - "type":"structure", - "members":{ - "containerInstances":{ - "shape":"ContainerInstances", - "documentation":"

The list of container instances.

" - }, - "failures":{ - "shape":"Failures", - "documentation":"

Any failures associated with the call.

" - } - } - }, - "UpdateInProgressException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is already a current Amazon ECS container agent update in progress on the specified container instance. If the container agent becomes disconnected while it is in a transitional stage, such as PENDING or STAGING, the update process can get stuck in that state. However, when the agent reconnects, it resumes where it stopped previously.

", - "exception":true - }, - "UpdateServiceRequest":{ - "type":"structure", - "required":["service"], - "members":{ - "cluster":{ - "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that your service is running on. If you do not specify a cluster, the default cluster is assumed.

" - }, - "service":{ - "shape":"String", - "documentation":"

The name of the service to update.

" - }, - "desiredCount":{ - "shape":"BoxedInteger", - "documentation":"

The number of instantiations of the task to place and keep running in your service.

" - }, - "taskDefinition":{ - "shape":"String", - "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. If you modify the task definition with UpdateService, Amazon ECS spawns a task with the new version of the task definition and then stops an old task after the new version is running.

" - }, - "deploymentConfiguration":{ - "shape":"DeploymentConfiguration", - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" - }, - "networkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Updating a service to add a subnet to a list of existing subnets does not trigger a service deployment. For example, if your network configuration change is to keep the existing subnets and simply add another subnet to the network configuration, this does not trigger a new service deployment.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version that your service should run.

" - }, - "forceNewDeployment":{ - "shape":"Boolean", - "documentation":"

Whether to force a new deployment of the service. Deployments are not forced by default. You can use this option to trigger a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination (my_image:latest) or to roll Fargate tasks onto a newer platform version.

" - }, - "healthCheckGracePeriodSeconds":{ - "shape":"BoxedInteger", - "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 1,800 seconds during which the ECS service scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" - } - } - }, - "UpdateServiceResponse":{ - "type":"structure", - "members":{ - "service":{ - "shape":"Service", - "documentation":"

The full description of your service following the update call.

" - } - } - }, - "VersionInfo":{ - "type":"structure", - "members":{ - "agentVersion":{ - "shape":"String", - "documentation":"

The version number of the Amazon ECS container agent.

" - }, - "agentHash":{ - "shape":"String", - "documentation":"

The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub repository.

" - }, - "dockerVersion":{ - "shape":"String", - "documentation":"

The Docker version running on the container instance.

" - } - }, - "documentation":"

The Docker and Amazon ECS container agent version information about a container instance.

" - }, - "Volume":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" - }, - "host":{ - "shape":"HostVolumeProperties", - "documentation":"

This parameter is specified when using bind mount host volumes. Bind mount host volumes are supported when using either the EC2 or Fargate launch types. The contents of the host parameter determine whether your bind mount host volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives. For example, you can mount C:\\my\\path:C:\\my\\path and D:\\:D:\\, but not D:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" - }, - "dockerVolumeConfiguration":{ - "shape":"DockerVolumeConfiguration", - "documentation":"

The configuration for the Docker volume. This parameter is specified when using Docker volumes.

" - } - }, - "documentation":"

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

" - }, - "VolumeFrom":{ - "type":"structure", - "members":{ - "sourceContainer":{ - "shape":"String", - "documentation":"

The name of 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 in the same task definition.

" - }, - "VolumeFromList":{ - "type":"list", - "member":{"shape":"VolumeFrom"} - }, - "VolumeList":{ - "type":"list", - "member":{"shape":"Volume"} - } - }, - "documentation":"

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/waiters-2.json deleted file mode 100644 index 8a0b19d8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ecs/2014-11-13/waiters-2.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 2, - "waiters": { - "TasksRunning": { - "delay": 6, - "operation": "DescribeTasks", - "maxAttempts": 100, - "acceptors": [ - { - "expected": "STOPPED", - "matcher": "pathAny", - "state": "failure", - "argument": "tasks[].lastStatus" - }, - { - "expected": "MISSING", - "matcher": "pathAny", - "state": "failure", - "argument": "failures[].reason" - }, - { - "expected": "RUNNING", - "matcher": "pathAll", - "state": "success", - "argument": "tasks[].lastStatus" - } - ] - }, - "TasksStopped": { - "delay": 6, - "operation": "DescribeTasks", - "maxAttempts": 100, - "acceptors": [ - { - "expected": "STOPPED", - "matcher": "pathAll", - "state": "success", - "argument": "tasks[].lastStatus" - } - ] - }, - "ServicesStable": { - "delay": 15, - "operation": "DescribeServices", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "MISSING", - "matcher": "pathAny", - "state": "failure", - "argument": "failures[].reason" - }, - { - "expected": "DRAINING", - "matcher": "pathAny", - "state": "failure", - "argument": "services[].status" - }, - { - "expected": "INACTIVE", - "matcher": "pathAny", - "state": "failure", - "argument": "services[].status" - }, - { - "expected": true, - "matcher": "path", - "state": "success", - "argument": "length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`" - } - ] - }, - "ServicesInactive": { - "delay": 15, - "operation": "DescribeServices", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "MISSING", - "matcher": "pathAny", - "state": "failure", - "argument": "failures[].reason" - }, - { - "expected": "INACTIVE", - "matcher": "pathAny", - "state": "success", - "argument": "services[].status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/examples-1.json deleted file mode 100644 index 4a4b982d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/examples-1.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/paginators-1.json deleted file mode 100644 index e8ed53f7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/service-2.json deleted file mode 100644 index 3166d333..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/efs/2015-02-01/service-2.json +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-02-01", - "endpointPrefix":"elasticfilesystem", - "protocol":"rest-json", - "serviceAbbreviation":"EFS", - "serviceFullName":"Amazon Elastic File System", - "serviceId":"EFS", - "signatureVersion":"v4", - "uid":"elasticfilesystem-2015-02-01" - }, - "operations":{ - "CreateFileSystem":{ - "name":"CreateFileSystem", - "http":{ - "method":"POST", - "requestUri":"/2015-02-01/file-systems", - "responseCode":201 - }, - "input":{"shape":"CreateFileSystemRequest"}, - "output":{"shape":"FileSystemDescription"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemAlreadyExists"}, - {"shape":"FileSystemLimitExceeded"}, - {"shape":"InsufficientThroughputCapacity"}, - {"shape":"ThroughputLimitExceeded"} - ], - "documentation":"

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:

  • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

  • Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC via the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

" - }, - "CreateMountTarget":{ - "name":"CreateMountTarget", - "http":{ - "method":"POST", - "requestUri":"/2015-02-01/mount-targets", - "responseCode":200 - }, - "input":{"shape":"CreateMountTargetRequest"}, - "output":{"shape":"MountTargetDescription"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"}, - {"shape":"IncorrectFileSystemLifeCycleState"}, - {"shape":"MountTargetConflict"}, - {"shape":"SubnetNotFound"}, - {"shape":"NoFreeAddressesInSubnet"}, - {"shape":"IpAddressInUse"}, - {"shape":"NetworkInterfaceLimitExceeded"}, - {"shape":"SecurityGroupLimitExceeded"}, - {"shape":"SecurityGroupNotFound"}, - {"shape":"UnsupportedAvailabilityZone"} - ], - "documentation":"

Creates a mount target for a file system. You can then mount the file system on EC2 instances via the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, you also provide a subnet ID, which determines the following:

  • VPC in which Amazon EFS creates the mount target

  • Availability Zone in which Amazon EFS creates the mount target

  • IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system via the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

  • Must belong to the same VPC as the subnets of the existing mount targets

  • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

  • Creates a new mount target in the specified subnet.

  • Also creates a new network interface in the subnet as follows:

    • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

    • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

    • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

    • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

    Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

We recommend you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you won't be able to access your file system through that mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/2015-02-01/create-tags/{FileSystemId}", - "responseCode":204 - }, - "input":{"shape":"CreateTagsRequest"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"} - ], - "documentation":"

Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specified in the request already exists on the file system, this operation overwrites its value with the value provided in the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to the DescribeFileSystems operation.

This operation requires permission for the elasticfilesystem:CreateTags action.

" - }, - "DeleteFileSystem":{ - "name":"DeleteFileSystem", - "http":{ - "method":"DELETE", - "requestUri":"/2015-02-01/file-systems/{FileSystemId}", - "responseCode":204 - }, - "input":{"shape":"DeleteFileSystemRequest"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"}, - {"shape":"FileSystemInUse"} - ], - "documentation":"

Deletes a file system, permanently severing access to its contents. Upon return, the file system no longer exists and you can't access any contents of the deleted file system.

You can't delete a file system that is in use. That is, if the file system has any mount targets, you must first delete them. For more information, see DescribeMountTargets and DeleteMountTarget.

The DeleteFileSystem call returns while the file system state is still deleting. You can check the file system deletion status by calling the DescribeFileSystems operation, which returns a list of file systems in your account. If you pass file system ID or creation token for the deleted file system, the DescribeFileSystems returns a 404 FileSystemNotFound error.

This operation requires permissions for the elasticfilesystem:DeleteFileSystem action.

" - }, - "DeleteMountTarget":{ - "name":"DeleteMountTarget", - "http":{ - "method":"DELETE", - "requestUri":"/2015-02-01/mount-targets/{MountTargetId}", - "responseCode":204 - }, - "input":{"shape":"DeleteMountTargetRequest"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"DependencyTimeout"}, - {"shape":"MountTargetNotFound"} - ], - "documentation":"

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system via the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes may be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC via another mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:DeleteMountTarget

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

  • ec2:DeleteNetworkInterface

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/2015-02-01/delete-tags/{FileSystemId}", - "responseCode":204 - }, - "input":{"shape":"DeleteTagsRequest"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"} - ], - "documentation":"

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that does not exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

" - }, - "DescribeFileSystems":{ - "name":"DescribeFileSystems", - "http":{ - "method":"GET", - "requestUri":"/2015-02-01/file-systems", - "responseCode":200 - }, - "input":{"shape":"DescribeFileSystemsRequest"}, - "output":{"shape":"DescribeFileSystemsResponse"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"} - ], - "documentation":"

Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker.

The implementation may return fewer than MaxItems file system descriptions while still including a NextMarker value.

The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

" - }, - "DescribeMountTargetSecurityGroups":{ - "name":"DescribeMountTargetSecurityGroups", - "http":{ - "method":"GET", - "requestUri":"/2015-02-01/mount-targets/{MountTargetId}/security-groups", - "responseCode":200 - }, - "input":{"shape":"DescribeMountTargetSecurityGroupsRequest"}, - "output":{"shape":"DescribeMountTargetSecurityGroupsResponse"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"MountTargetNotFound"}, - {"shape":"IncorrectMountTargetState"} - ], - "documentation":"

Returns the security groups currently in effect for a mount target. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

This operation requires permissions for the following actions:

  • elasticfilesystem:DescribeMountTargetSecurityGroups action on the mount target's file system.

  • ec2:DescribeNetworkInterfaceAttribute action on the mount target's network interface.

" - }, - "DescribeMountTargets":{ - "name":"DescribeMountTargets", - "http":{ - "method":"GET", - "requestUri":"/2015-02-01/mount-targets", - "responseCode":200 - }, - "input":{"shape":"DescribeMountTargetsRequest"}, - "output":{"shape":"DescribeMountTargetsResponse"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"}, - {"shape":"MountTargetNotFound"} - ], - "documentation":"

Returns the descriptions of all the current mount targets, or a specific mount target, for a file system. When requesting all of the current mount targets, the order of mount targets returned in the response is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeMountTargets action, on either the file system ID that you specify in FileSystemId, or on the file system of the mount target that you specify in MountTargetId.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"GET", - "requestUri":"/2015-02-01/tags/{FileSystemId}/", - "responseCode":200 - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResponse"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"FileSystemNotFound"} - ], - "documentation":"

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multi-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

" - }, - "ModifyMountTargetSecurityGroups":{ - "name":"ModifyMountTargetSecurityGroups", - "http":{ - "method":"PUT", - "requestUri":"/2015-02-01/mount-targets/{MountTargetId}/security-groups", - "responseCode":204 - }, - "input":{"shape":"ModifyMountTargetSecurityGroupsRequest"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"InternalServerError"}, - {"shape":"MountTargetNotFound"}, - {"shape":"IncorrectMountTargetState"}, - {"shape":"SecurityGroupLimitExceeded"}, - {"shape":"SecurityGroupNotFound"} - ], - "documentation":"

Modifies the set of security groups in effect for a mount target.

When you create a mount target, Amazon EFS also creates a new network interface. For more information, see CreateMountTarget. This operation replaces the security groups in effect for the network interface associated with a mount target, with the SecurityGroups provided in the request. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

The operation requires permissions for the following actions:

  • elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount target's file system.

  • ec2:ModifyNetworkInterfaceAttribute action on the mount target's network interface.

" - }, - "UpdateFileSystem":{ - "name":"UpdateFileSystem", - "http":{ - "method":"PUT", - "requestUri":"/2015-02-01/file-systems/{FileSystemId}", - "responseCode":202 - }, - "input":{"shape":"UpdateFileSystemRequest"}, - "output":{"shape":"FileSystemDescription"}, - "errors":[ - {"shape":"BadRequest"}, - {"shape":"FileSystemNotFound"}, - {"shape":"IncorrectFileSystemLifeCycleState"}, - {"shape":"InsufficientThroughputCapacity"}, - {"shape":"InternalServerError"}, - {"shape":"ThroughputLimitExceeded"}, - {"shape":"TooManyRequests"} - ], - "documentation":"

Updates the throughput mode or the amount of provisioned throughput of an existing file system.

" - } - }, - "shapes":{ - "AwsAccountId":{"type":"string"}, - "BadRequest":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CreateFileSystemRequest":{ - "type":"structure", - "required":["CreationToken"], - "members":{ - "CreationToken":{ - "shape":"CreationToken", - "documentation":"

String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

" - }, - "PerformanceMode":{ - "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. This can't be changed after the file system has been created.

" - }, - "Encrypted":{ - "shape":"Encrypted", - "documentation":"

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying a CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a non-default CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:

  • Key ID - A unique identifier of the key, for example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • ARN - An Amazon Resource Name (ARN) for the key, for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias - A previously created display name for a key. For example, alias/projectKey1.

  • Key alias ARN - An ARN for a key alias, for example, arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

" - }, - "ThroughputMode":{ - "shape":"ThroughputMode", - "documentation":"

The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" - }, - "ProvisionedThroughputInMibps":{ - "shape":"ProvisionedThroughputInMibps", - "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" - } - } - }, - "CreateMountTargetRequest":{ - "type":"structure", - "required":[ - "FileSystemId", - "SubnetId" - ], - "members":{ - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system for which to create the mount target.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

ID of the subnet to add the mount target in.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

Valid IPv4 address within the address range of the specified subnet.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

Up to five VPC security group IDs, of the form sg-xxxxxxxx. These must be for the same VPC as subnet specified.

" - } - }, - "documentation":"

" - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "FileSystemId", - "Tags" - ], - "members":{ - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", - "location":"uri", - "locationName":"FileSystemId" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Array of Tag objects to add. Each Tag object is a key-value pair.

" - } - }, - "documentation":"

" - }, - "CreationToken":{ - "type":"string", - "max":64, - "min":1 - }, - "DeleteFileSystemRequest":{ - "type":"structure", - "required":["FileSystemId"], - "members":{ - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system you want to delete.

", - "location":"uri", - "locationName":"FileSystemId" - } - }, - "documentation":"

" - }, - "DeleteMountTargetRequest":{ - "type":"structure", - "required":["MountTargetId"], - "members":{ - "MountTargetId":{ - "shape":"MountTargetId", - "documentation":"

ID of the mount target to delete (String).

", - "location":"uri", - "locationName":"MountTargetId" - } - }, - "documentation":"

" - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":[ - "FileSystemId", - "TagKeys" - ], - "members":{ - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to delete (String).

", - "location":"uri", - "locationName":"FileSystemId" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

List of tag keys to delete.

" - } - }, - "documentation":"

" - }, - "DependencyTimeout":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service timed out trying to fulfill the request, and the client should try the call again.

", - "error":{"httpStatusCode":504}, - "exception":true - }, - "DescribeFileSystemsRequest":{ - "type":"structure", - "members":{ - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

(Optional) Specifies the maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon EFS returns is the minimum of the MaxItems parameter specified in the request and the service's internal maximum number of items per page.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeFileSystems operation (String). If present, specifies to continue the list from where the returning call had left off.

", - "location":"querystring", - "locationName":"Marker" - }, - "CreationToken":{ - "shape":"CreationToken", - "documentation":"

(Optional) Restricts the list to the file system with this creation token (String). You specify a creation token when you create an Amazon EFS file system.

", - "location":"querystring", - "locationName":"CreationToken" - }, - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

(Optional) ID of the file system whose description you want to retrieve (String).

", - "location":"querystring", - "locationName":"FileSystemId" - } - }, - "documentation":"

" - }, - "DescribeFileSystemsResponse":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

Present if provided by caller in the request (String).

" - }, - "FileSystems":{ - "shape":"FileSystemDescriptions", - "documentation":"

Array of file system descriptions.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

Present if there are more file systems than returned in the response (String). You can use the NextMarker in the subsequent request to fetch the descriptions.

" - } - } - }, - "DescribeMountTargetSecurityGroupsRequest":{ - "type":"structure", - "required":["MountTargetId"], - "members":{ - "MountTargetId":{ - "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to retrieve.

", - "location":"uri", - "locationName":"MountTargetId" - } - }, - "documentation":"

" - }, - "DescribeMountTargetSecurityGroupsResponse":{ - "type":"structure", - "required":["SecurityGroups"], - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

Array of security groups.

" - } - } - }, - "DescribeMountTargetsRequest":{ - "type":"structure", - "members":{ - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of mount targets to return in the response. It must be an integer with a value greater than zero.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeMountTargets operation (String). If present, it specifies to continue the list from where the previous returning call left off.

", - "location":"querystring", - "locationName":"Marker" - }, - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

(Optional) ID of the file system whose mount targets you want to list (String). It must be included in your request if MountTargetId is not included.

", - "location":"querystring", - "locationName":"FileSystemId" - }, - "MountTargetId":{ - "shape":"MountTargetId", - "documentation":"

(Optional) ID of the mount target that you want to have described (String). It must be included in your request if FileSystemId is not included.

", - "location":"querystring", - "locationName":"MountTargetId" - } - }, - "documentation":"

" - }, - "DescribeMountTargetsResponse":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

If the request included the Marker, the response returns that value in this field.

" - }, - "MountTargets":{ - "shape":"MountTargetDescriptions", - "documentation":"

Returns the file system's mount targets as an array of MountTargetDescription objects.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

If a value is present, there are more mount targets to return. In a subsequent request, you can provide Marker in your request with this value to retrieve the next set of mount targets.

" - } - }, - "documentation":"

" - }, - "DescribeTagsRequest":{ - "type":"structure", - "required":["FileSystemId"], - "members":{ - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of file system tags to return in the response. It must be an integer with a value greater than zero.

", - "location":"querystring", - "locationName":"MaxItems" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.

", - "location":"querystring", - "locationName":"Marker" - }, - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system whose tag set you want to retrieve.

", - "location":"uri", - "locationName":"FileSystemId" - } - }, - "documentation":"

" - }, - "DescribeTagsResponse":{ - "type":"structure", - "required":["Tags"], - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

If the request included a Marker, the response returns that value in this field.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Returns tags associated with the file system as an array of Tag objects.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

If a value is present, there are more tags to return. In a subsequent request, you can provide the value of NextMarker as the value of the Marker parameter in your next request to retrieve the next set of tags.

" - } - }, - "documentation":"

" - }, - "Encrypted":{"type":"boolean"}, - "ErrorCode":{ - "type":"string", - "min":1 - }, - "ErrorMessage":{"type":"string"}, - "FileSystemAlreadyExists":{ - "type":"structure", - "required":[ - "ErrorCode", - "FileSystemId" - ], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"}, - "FileSystemId":{"shape":"FileSystemId"} - }, - "documentation":"

Returned if the file system you are trying to create already exists, with the creation token you provided.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FileSystemDescription":{ - "type":"structure", - "required":[ - "OwnerId", - "CreationToken", - "FileSystemId", - "CreationTime", - "LifeCycleState", - "NumberOfMountTargets", - "SizeInBytes", - "PerformanceMode" - ], - "members":{ - "OwnerId":{ - "shape":"AwsAccountId", - "documentation":"

AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.

" - }, - "CreationToken":{ - "shape":"CreationToken", - "documentation":"

Opaque string specified in the request.

" - }, - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system, assigned by Amazon EFS.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

" - }, - "LifeCycleState":{ - "shape":"LifeCycleState", - "documentation":"

Lifecycle phase of the file system.

" - }, - "Name":{ - "shape":"TagValue", - "documentation":"

You can add tags to a file system, including a Name tag. For more information, see CreateTags. If the file system has a Name tag, Amazon EFS returns the value in this field.

" - }, - "NumberOfMountTargets":{ - "shape":"MountTargetCount", - "documentation":"

Current number of mount targets that the file system has. For more information, see CreateMountTarget.

" - }, - "SizeInBytes":{ - "shape":"FileSystemSize", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, SizeInBytes represents actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size that the file system was at any point in time.

" - }, - "PerformanceMode":{ - "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system.

" - }, - "Encrypted":{ - "shape":"Encrypted", - "documentation":"

A Boolean value that, if true, indicates that the file system is encrypted.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.

" - }, - "ThroughputMode":{ - "shape":"ThroughputMode", - "documentation":"

The throughput mode for a file system. There are two throughput modes to choose from for your file system: bursting and provisioned. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" - }, - "ProvisionedThroughputInMibps":{ - "shape":"ProvisionedThroughputInMibps", - "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" - } - }, - "documentation":"

Description of the file system.

" - }, - "FileSystemDescriptions":{ - "type":"list", - "member":{"shape":"FileSystemDescription"} - }, - "FileSystemId":{"type":"string"}, - "FileSystemInUse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if a file system has mount targets.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "FileSystemLimitExceeded":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the AWS account has already created the maximum number of file systems allowed per account.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "FileSystemNotFound":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "FileSystemSize":{ - "type":"structure", - "required":["Value"], - "members":{ - "Value":{ - "shape":"FileSystemSizeValue", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" - } - }, - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

" - }, - "FileSystemSizeValue":{ - "type":"long", - "min":0 - }, - "IncorrectFileSystemLifeCycleState":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the file system's lifecycle state is not \"available\".

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "IncorrectMountTargetState":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the mount target is not in the correct state for the operation.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "InsufficientThroughputCapacity":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if there's not enough capacity to provision additional throughput. This value might be returned when you try to create a file system in provisioned throughput mode, when you attempt to increase the provisioned throughput of an existing file system, or when you attempt to change an existing file system from bursting to provisioned throughput mode.

", - "error":{"httpStatusCode":503}, - "exception":true - }, - "InternalServerError":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if an error occurred on the server side.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "IpAddress":{"type":"string"}, - "IpAddressInUse":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the request specified an IpAddress that is already in use in the subnet.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "KmsKeyId":{ - "type":"string", - "max":2048, - "min":1 - }, - "LifeCycleState":{ - "type":"string", - "enum":[ - "creating", - "available", - "updating", - "deleting", - "deleted" - ] - }, - "Marker":{"type":"string"}, - "MaxItems":{ - "type":"integer", - "min":1 - }, - "ModifyMountTargetSecurityGroupsRequest":{ - "type":"structure", - "required":["MountTargetId"], - "members":{ - "MountTargetId":{ - "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to modify.

", - "location":"uri", - "locationName":"MountTargetId" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

Array of up to five VPC security group IDs.

" - } - }, - "documentation":"

" - }, - "MountTargetConflict":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the mount target would violate one of the specified restrictions based on the file system's existing mount targets.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "MountTargetCount":{ - "type":"integer", - "min":0 - }, - "MountTargetDescription":{ - "type":"structure", - "required":[ - "MountTargetId", - "FileSystemId", - "SubnetId", - "LifeCycleState" - ], - "members":{ - "OwnerId":{ - "shape":"AwsAccountId", - "documentation":"

AWS account ID that owns the resource.

" - }, - "MountTargetId":{ - "shape":"MountTargetId", - "documentation":"

System-assigned mount target ID.

" - }, - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

ID of the file system for which the mount target is intended.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

ID of the mount target's subnet.

" - }, - "LifeCycleState":{ - "shape":"LifeCycleState", - "documentation":"

Lifecycle state of the mount target.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

Address at which the file system may be mounted via the mount target.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

ID of the network interface that Amazon EFS created when it created the mount target.

" - } - }, - "documentation":"

Provides a description of a mount target.

" - }, - "MountTargetDescriptions":{ - "type":"list", - "member":{"shape":"MountTargetDescription"} - }, - "MountTargetId":{"type":"string"}, - "MountTargetNotFound":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if there is no mount target with the specified ID found in the caller's account.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NetworkInterfaceId":{"type":"string"}, - "NetworkInterfaceLimitExceeded":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The calling account has reached the limit for elastic network interfaces for the specific AWS Region. The client should try to delete some elastic network interfaces or get the account limit raised. For more information, see Amazon VPC Limits in the Amazon VPC User Guide (see the Network interfaces per VPC entry in the table).

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "NoFreeAddressesInSubnet":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if IpAddress was not specified in the request and there are no free IP addresses in the subnet.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "PerformanceMode":{ - "type":"string", - "enum":[ - "generalPurpose", - "maxIO" - ] - }, - "ProvisionedThroughputInMibps":{ - "type":"double", - "min":0.0 - }, - "SecurityGroup":{"type":"string"}, - "SecurityGroupLimitExceeded":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the size of SecurityGroups specified in the request is greater than five.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SecurityGroupNotFound":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if one of the specified security groups doesn't exist in the subnet's VPC.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SecurityGroups":{ - "type":"list", - "member":{"shape":"SecurityGroup"}, - "max":5 - }, - "SubnetId":{"type":"string"}, - "SubnetNotFound":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if there is no subnet with ID SubnetId provided in the request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

Tag key (String). The key can't start with aws:.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

Value of the tag key.

" - } - }, - "documentation":"

A tag is a key-value pair. Allowed characters: letters, whitespace, and numbers, representable in UTF-8, and the following characters: + - = . _ : /

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagValue":{ - "type":"string", - "max":256 - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "ThroughputLimitExceeded":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if the throughput mode or amount of provisioned throughput can't be changed because the throughput limit of 1024 MiB/s has been reached.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ThroughputMode":{ - "type":"string", - "enum":[ - "bursting", - "provisioned" - ] - }, - "Timestamp":{"type":"timestamp"}, - "TooManyRequests":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Returned if you don’t wait at least 24 hours before changing the throughput mode, or decreasing the Provisioned Throughput value.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UnsupportedAvailabilityZone":{ - "type":"structure", - "required":["ErrorCode"], - "members":{ - "ErrorCode":{"shape":"ErrorCode"}, - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "UpdateFileSystemRequest":{ - "type":"structure", - "required":["FileSystemId"], - "members":{ - "FileSystemId":{ - "shape":"FileSystemId", - "documentation":"

The ID of the file system that you want to update.

", - "location":"uri", - "locationName":"FileSystemId" - }, - "ThroughputMode":{ - "shape":"ThroughputMode", - "documentation":"

(Optional) The throughput mode that you want your file system to use. If you're not updating your throughput mode, you don't need to provide this value in your request.

" - }, - "ProvisionedThroughputInMibps":{ - "shape":"ProvisionedThroughputInMibps", - "documentation":"

(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. If you're not updating the amount of provisioned throughput for your file system, you don't need to provide this value in your request.

" - } - } - } - }, - "documentation":"Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/service-2.json deleted file mode 100644 index 449bbf46..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/eks/2017-11-01/service-2.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-11-01", - "endpointPrefix":"eks", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"Amazon EKS", - "serviceFullName":"Amazon Elastic Container Service for Kubernetes", - "serviceId":"EKS", - "signatureVersion":"v4", - "signingName":"eks", - "uid":"eks-2017-11-01" - }, - "operations":{ - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/clusters" - }, - "input":{"shape":"CreateClusterRequest"}, - "output":{"shape":"CreateClusterResponse"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServerException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnsupportedAvailabilityZoneException"} - ], - "documentation":"

Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, like etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint.

Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows).

After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodesin the Amazon EKS User Guide.

" - }, - "DeleteCluster":{ - "name":"DeleteCluster", - "http":{ - "method":"DELETE", - "requestUri":"/clusters/{name}" - }, - "input":{"shape":"DeleteClusterRequest"}, - "output":{"shape":"DeleteClusterResponse"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ClientException"}, - {"shape":"ServerException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the Amazon EKS cluster control plane.

If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the Amazon EKS User Guide.

" - }, - "DescribeCluster":{ - "name":"DescribeCluster", - "http":{ - "method":"GET", - "requestUri":"/clusters/{name}" - }, - "input":{"shape":"DescribeClusterRequest"}, - "output":{"shape":"DescribeClusterResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ClientException"}, - {"shape":"ServerException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Returns descriptive information about an Amazon EKS cluster.

The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS.

The API server endpoint and certificate authority data are not available until the cluster reaches the ACTIVE state.

" - }, - "ListClusters":{ - "name":"ListClusters", - "http":{ - "method":"GET", - "requestUri":"/clusters" - }, - "input":{"shape":"ListClustersRequest"}, - "output":{"shape":"ListClustersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ClientException"}, - {"shape":"ServerException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the Amazon EKS clusters in your AWS account in the specified Region.

" - } - }, - "shapes":{ - "Certificate":{ - "type":"structure", - "members":{ - "data":{ - "shape":"String", - "documentation":"

The base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

" - } - }, - "documentation":"

An object representing the certificate-authority-data for your cluster.

" - }, - "ClientException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Cluster":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the cluster.

" - }, - "arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the cluster.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The Unix epoch time stamp in seconds for when the cluster was created.

" - }, - "version":{ - "shape":"String", - "documentation":"

The Kubernetes server version for the cluster.

" - }, - "endpoint":{ - "shape":"String", - "documentation":"

The endpoint for your Kubernetes API server.

" - }, - "roleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

" - }, - "resourcesVpcConfig":{ - "shape":"VpcConfigResponse", - "documentation":"

The VPC subnets and security groups used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide.

" - }, - "status":{ - "shape":"ClusterStatus", - "documentation":"

The current status of the cluster.

" - }, - "certificateAuthority":{ - "shape":"Certificate", - "documentation":"

The certificate-authority-data for your cluster.

" - }, - "clientRequestToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

" - }, - "platformVersion":{ - "shape":"String", - "documentation":"

The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the Amazon EKS User Guide .

" - } - }, - "documentation":"

An object representing an Amazon EKS cluster.

" - }, - "ClusterName":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[A-Za-z0-9\\-_]*" - }, - "ClusterStatus":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "DELETING", - "FAILED" - ] - }, - "CreateClusterRequest":{ - "type":"structure", - "required":[ - "name", - "roleArn", - "resourcesVpcConfig" - ], - "members":{ - "name":{ - "shape":"ClusterName", - "documentation":"

The unique name to give to your cluster.

" - }, - "version":{ - "shape":"String", - "documentation":"

The desired Kubernetes version for your cluster. If you do not specify a value here, the latest version available in Amazon EKS is used.

" - }, - "roleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

" - }, - "resourcesVpcConfig":{ - "shape":"VpcConfigRequest", - "documentation":"

The VPC subnets and security groups used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You may specify up to 5 security groups, but we recommend that you use a dedicated security group for your cluster control plane.

" - }, - "clientRequestToken":{ - "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request.

", - "idempotencyToken":true - } - } - }, - "CreateClusterResponse":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"Cluster", - "documentation":"

The full description of your new cluster.

" - } - } - }, - "DeleteClusterRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the cluster to delete.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DeleteClusterResponse":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"Cluster", - "documentation":"

The full description of the cluster to delete.

" - } - } - }, - "DescribeClusterRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the cluster to describe.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DescribeClusterResponse":{ - "type":"structure", - "members":{ - "cluster":{ - "shape":"Cluster", - "documentation":"

The full description of your specified cluster.

" - } - } - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ListClustersRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"ListClustersRequestMaxResults", - "documentation":"

The maximum number of cluster results returned by ListClusters in paginated output. When this parameter is used, ListClusters 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 ListClusters request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListClusters returns up to 100 results and a nextToken value if applicable.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListClusters request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListClustersRequestMaxResults":{ - "type":"integer", - "box":true, - "max":100, - "min":1 - }, - "ListClustersResponse":{ - "type":"structure", - "members":{ - "clusters":{ - "shape":"StringList", - "documentation":"

A list of all of the clusters for your account in the specified Region.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

The nextToken value to include in a future ListClusters request. When the results of a ListClusters request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

The specified resource is in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceLimitExceededException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

You have encountered a service limit on the specified resource.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

The specified resource could not be found. You can view your available clusters with ListClusters. Amazon EKS clusters are Region-specific.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ServerException":{ - "type":"structure", - "members":{ - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "message":{"shape":"String"} - }, - "documentation":"

These errors are usually caused by a server-side issue.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The service is unavailable. Back off and retry the operation.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Timestamp":{"type":"timestamp"}, - "UnsupportedAvailabilityZoneException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"}, - "clusterName":{ - "shape":"String", - "documentation":"

The Amazon EKS cluster associated with the exception.

" - }, - "validZones":{ - "shape":"StringList", - "documentation":"

The supported Availability Zones for your account. Choose subnets in these Availability Zones for your cluster.

" - } - }, - "documentation":"

At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon EKS. The exception output specifies the supported Availability Zones for your account, from which you can choose subnets for your cluster.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "VpcConfigRequest":{ - "type":"structure", - "required":["subnetIds"], - "members":{ - "subnetIds":{ - "shape":"StringList", - "documentation":"

Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

" - }, - "securityGroupIds":{ - "shape":"StringList", - "documentation":"

Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

" - } - }, - "documentation":"

An object representing an Amazon EKS cluster VPC configuration request.

" - }, - "VpcConfigResponse":{ - "type":"structure", - "members":{ - "subnetIds":{ - "shape":"StringList", - "documentation":"

The subnets associated with your cluster.

" - }, - "securityGroupIds":{ - "shape":"StringList", - "documentation":"

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your worker nodes and the Kubernetes control plane.

" - }, - "vpcId":{ - "shape":"String", - "documentation":"

The VPC associated with your cluster.

" - } - }, - "documentation":"

An object representing an Amazon EKS cluster VPC configuration response.

" - } - }, - "documentation":"

Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.

Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/paginators-1.json deleted file mode 100644 index 8724740d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/paginators-1.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "pagination": { - "DescribeCacheClusters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheClusters" - }, - "DescribeCacheEngineVersions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheEngineVersions" - }, - "DescribeCacheParameterGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheParameterGroups" - }, - "DescribeCacheParameters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Parameters" - }, - "DescribeCacheSecurityGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheSecurityGroups" - }, - "DescribeCacheSubnetGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheSubnetGroups" - }, - "DescribeEngineDefaultParameters": { - "input_token": "Marker", - "output_token": "EngineDefaults.Marker", - "limit_key": "MaxRecords", - "result_key": "EngineDefaults.Parameters" - }, - "DescribeEvents": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Events" - }, - "DescribeReservedCacheNodes": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedCacheNodes" - }, - "DescribeReservedCacheNodesOfferings": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedCacheNodesOfferings" - }, - "DescribeReplicationGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReplicationGroups" - }, - "DescribeSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Snapshots" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/service-2.json deleted file mode 100644 index ca9a3351..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/service-2.json +++ /dev/null @@ -1,5049 +0,0 @@ -{ - "metadata":{ - "apiVersion":"2014-09-30", - "endpointPrefix":"elasticache", - "serviceFullName":"Amazon ElastiCache", - "signatureVersion":"v4", - "xmlNamespace":"http://elasticache.amazonaws.com/doc/2014-09-30/", - "protocol":"query" - }, - "documentation":"Amazon ElastiCache

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers gain all of the benefits of a high-performance, in-memory cache with far less of the administrative burden of launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot.

", - "operations":{ - "AuthorizeCacheSecurityGroupIngress":{ - "name":"AuthorizeCacheSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"AuthorizeCacheSecurityGroupIngressMessage", - "documentation":"

Represents the input of an AuthorizeCacheSecurityGroupIngress operation.

" - }, - "output":{ - "shape":"AuthorizeCacheSecurityGroupIngressResult", - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress
  • CreateCacheSecurityGroup
  • RevokeCacheSecurityGroupIngress
", - "resultWrapper":"AuthorizeCacheSecurityGroupIngressResult" - }, - "errors":[ - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"InvalidCacheSecurityGroupStateFault", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - { - "shape":"AuthorizationAlreadyExistsFault", - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified Amazon EC2 security group is already authorized for the specified cache security group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The AuthorizeCacheSecurityGroupIngress operation allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CopySnapshotMessage", - "documentation":"

Represents the input of a CopySnapshotMessage operation.

" - }, - "output":{ - "shape":"CopySnapshotResult", - "wrapper":true, - "documentation":"

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

", - "resultWrapper":"CopySnapshotResult" - }, - "errors":[ - { - "shape":"SnapshotAlreadyExistsFault", - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a snapshot with the given name.

" - }, - { - "shape":"SnapshotNotFoundFault", - "error":{ - "code":"SnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested snapshot name does not refer to an existing snapshot.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

" - }, - { - "shape":"InvalidSnapshotStateFault", - "error":{ - "code":"InvalidSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the snapshot does not allow the requested action to occur.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The CopySnapshot operation makes a copy of an existing snapshot.

" - }, - "CreateCacheCluster":{ - "name":"CreateCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateCacheClusterMessage", - "documentation":"

Represents the input of a CreateCacheCluster operation.

" - }, - "output":{ - "shape":"CreateCacheClusterResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific cache cluster.

", - "resultWrapper":"CreateCacheClusterResult" - }, - "errors":[ - { - "shape":"ReplicationGroupNotFoundFault", - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group does not exist.

" - }, - { - "shape":"InvalidReplicationGroupStateFault", - "error":{ - "code":"InvalidReplicationGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested replication group is not in the available state.

" - }, - { - "shape":"CacheClusterAlreadyExistsFault", - "error":{ - "code":"CacheClusterAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a cache cluster with the given identifier.

" - }, - { - "shape":"InsufficientCacheClusterCapacityFault", - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

" - }, - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"CacheSubnetGroupNotFoundFault", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - }, - { - "shape":"ClusterQuotaForCustomerExceededFault", - "error":{ - "code":"ClusterQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache clusters per customer.

" - }, - { - "shape":"NodeQuotaForClusterExceededFault", - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

" - }, - { - "shape":"NodeQuotaForCustomerExceededFault", - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The VPC network is in an invalid state.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The CreateCacheCluster operation creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

" - }, - "CreateCacheParameterGroup":{ - "name":"CreateCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateCacheParameterGroupMessage", - "documentation":"

Represents the input of a CreateCacheParameterGroup operation.

" - }, - "output":{ - "shape":"CreateCacheParameterGroupResult", - "wrapper":true, - "documentation":"

Represents the output of a CreateCacheParameterGroup operation.

", - "resultWrapper":"CreateCacheParameterGroupResult" - }, - "errors":[ - { - "shape":"CacheParameterGroupQuotaExceededFault", - "error":{ - "code":"CacheParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of cache security groups.

" - }, - { - "shape":"CacheParameterGroupAlreadyExistsFault", - "error":{ - "code":"CacheParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A cache parameter group with the requested name already exists.

" - }, - { - "shape":"InvalidCacheParameterGroupStateFault", - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The CreateCacheParameterGroup operation creates a new cache parameter group. A cache parameter group is a collection of parameters that you apply to all of the nodes in a cache cluster.

" - }, - "CreateCacheSecurityGroup":{ - "name":"CreateCacheSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateCacheSecurityGroupMessage", - "documentation":"

Represents the input of a CreateCacheSecurityGroup operation.

" - }, - "output":{ - "shape":"CreateCacheSecurityGroupResult", - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress
  • CreateCacheSecurityGroup
  • RevokeCacheSecurityGroupIngress
", - "resultWrapper":"CreateCacheSecurityGroupResult" - }, - "errors":[ - { - "shape":"CacheSecurityGroupAlreadyExistsFault", - "error":{ - "code":"CacheSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A cache security group with the specified name already exists.

" - }, - { - "shape":"CacheSecurityGroupQuotaExceededFault", - "error":{ - "code":"QuotaExceeded.CacheSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache security groups.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The CreateCacheSecurityGroup operation creates a new cache security group. Use a cache security group to control access to one or more cache clusters.

Cache security groups are only used when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" - }, - "CreateCacheSubnetGroup":{ - "name":"CreateCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateCacheSubnetGroupMessage", - "documentation":"

Represents the input of a CreateCacheSubnetGroup operation.

" - }, - "output":{ - "shape":"CreateCacheSubnetGroupResult", - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup
  • ModifyCacheSubnetGroup
", - "resultWrapper":"CreateCacheSubnetGroupResult" - }, - "errors":[ - { - "shape":"CacheSubnetGroupAlreadyExistsFault", - "error":{ - "code":"CacheSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name is already in use by an existing cache subnet group.

" - }, - { - "shape":"CacheSubnetGroupQuotaExceededFault", - "error":{ - "code":"CacheSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache subnet groups.

" - }, - { - "shape":"CacheSubnetQuotaExceededFault", - "error":{ - "code":"CacheSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

An invalid subnet identifier was specified.

" - } - ], - "documentation":"

The CreateCacheSubnetGroup operation creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (VPC).

" - }, - "CreateReplicationGroup":{ - "name":"CreateReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateReplicationGroupMessage", - "documentation":"

Represents the input of a CreateReplicationGroup operation.

" - }, - "output":{ - "shape":"CreateReplicationGroupResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific replication group.

", - "resultWrapper":"CreateReplicationGroupResult" - }, - "errors":[ - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"ReplicationGroupAlreadyExistsFault", - "error":{ - "code":"ReplicationGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group already exists.

" - }, - { - "shape":"InsufficientCacheClusterCapacityFault", - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

" - }, - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"CacheSubnetGroupNotFoundFault", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - }, - { - "shape":"ClusterQuotaForCustomerExceededFault", - "error":{ - "code":"ClusterQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache clusters per customer.

" - }, - { - "shape":"NodeQuotaForClusterExceededFault", - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

" - }, - { - "shape":"NodeQuotaForCustomerExceededFault", - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The VPC network is in an invalid state.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The CreateReplicationGroup operation creates a replication group. A replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are automatically propagated to the replicas.

When you create a replication group, you must specify an existing cache cluster that is in the primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total of five read replicas.

Note: This action is valid only for Redis.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateSnapshotMessage", - "documentation":"

Represents the input of a CreateSnapshot operation.

" - }, - "output":{ - "shape":"CreateSnapshotResult", - "wrapper":true, - "documentation":"

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

", - "resultWrapper":"CreateSnapshotResult" - }, - "errors":[ - { - "shape":"SnapshotAlreadyExistsFault", - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a snapshot with the given name.

" - }, - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

" - }, - { - "shape":"SnapshotFeatureNotSupportedFault", - "error":{ - "code":"SnapshotFeatureNotSupportedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You attempted one of the following actions:

  • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

  • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - } - ], - "documentation":"

The CreateSnapshot operation creates a copy of an entire cache cluster at a specific moment in time.

" - }, - "DeleteCacheCluster":{ - "name":"DeleteCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteCacheClusterMessage", - "documentation":"

Represents the input of a DeleteCacheCluster operation.

" - }, - "output":{ - "shape":"DeleteCacheClusterResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific cache cluster.

", - "resultWrapper":"DeleteCacheClusterResult" - }, - "errors":[ - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"SnapshotAlreadyExistsFault", - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a snapshot with the given name.

" - }, - { - "shape":"SnapshotFeatureNotSupportedFault", - "error":{ - "code":"SnapshotFeatureNotSupportedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You attempted one of the following actions:

  • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

  • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DeleteCacheCluster operation deletes a previously provisioned cache cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cache cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cache cluster; you cannot cancel or revert this operation.

This API cannot be used to delete a cache cluster that is the last read replica of a replication group that has automatic failover mode enabled.

" - }, - "DeleteCacheParameterGroup":{ - "name":"DeleteCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteCacheParameterGroupMessage", - "documentation":"

Represents the input of a DeleteCacheParameterGroup operation.

" - }, - "errors":[ - { - "shape":"InvalidCacheParameterGroupStateFault", - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DeleteCacheParameterGroup operation deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

" - }, - "DeleteCacheSecurityGroup":{ - "name":"DeleteCacheSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteCacheSecurityGroupMessage", - "documentation":"

Represents the input of a DeleteCacheSecurityGroup operation.

" - }, - "errors":[ - { - "shape":"InvalidCacheSecurityGroupStateFault", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DeleteCacheSecurityGroup operation deletes a cache security group.

" - }, - "DeleteCacheSubnetGroup":{ - "name":"DeleteCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteCacheSubnetGroupMessage", - "documentation":"

Represents the input of a DeleteCacheSubnetGroup operation.

" - }, - "errors":[ - { - "shape":"CacheSubnetGroupInUse", - "error":{ - "code":"CacheSubnetGroupInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group is currently in use.

" - }, - { - "shape":"CacheSubnetGroupNotFoundFault", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - } - ], - "documentation":"

The DeleteCacheSubnetGroup operation deletes a cache subnet group.

" - }, - "DeleteReplicationGroup":{ - "name":"DeleteReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteReplicationGroupMessage", - "documentation":"

Represents the input of a DeleteReplicationGroup operation.

" - }, - "output":{ - "shape":"DeleteReplicationGroupResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific replication group.

", - "resultWrapper":"DeleteReplicationGroupResult" - }, - "errors":[ - { - "shape":"ReplicationGroupNotFoundFault", - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group does not exist.

" - }, - { - "shape":"InvalidReplicationGroupStateFault", - "error":{ - "code":"InvalidReplicationGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested replication group is not in the available state.

" - }, - { - "shape":"SnapshotAlreadyExistsFault", - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a snapshot with the given name.

" - }, - { - "shape":"SnapshotFeatureNotSupportedFault", - "error":{ - "code":"SnapshotFeatureNotSupportedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You attempted one of the following actions:

  • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

  • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DeleteReplicationGroup operation deletes an existing cluster. By default, this operation deletes the entire cluster, including the primary node group and all of the read replicas. You can optionally delete only the read replicas, while retaining the primary node group.

When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteSnapshotMessage", - "documentation":"

Represents the input of a DeleteSnapshot operation.

" - }, - "output":{ - "shape":"DeleteSnapshotResult", - "wrapper":true, - "documentation":"

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

", - "resultWrapper":"DeleteSnapshotResult" - }, - "errors":[ - { - "shape":"SnapshotNotFoundFault", - "error":{ - "code":"SnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested snapshot name does not refer to an existing snapshot.

" - }, - { - "shape":"InvalidSnapshotStateFault", - "error":{ - "code":"InvalidSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the snapshot does not allow the requested action to occur.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DeleteSnapshot operation deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.

" - }, - "DescribeCacheClusters":{ - "name":"DescribeCacheClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheClustersMessage", - "documentation":"

Represents the input of a DescribeCacheClusters operation.

" - }, - "output":{ - "shape":"CacheClusterMessage", - "documentation":"

Represents the output of a DescribeCacheClusters operation.

", - "resultWrapper":"DescribeCacheClustersResult" - }, - "errors":[ - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeCacheClusters operation returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters(s) will be returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster level information will be displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

" - }, - "DescribeCacheEngineVersions":{ - "name":"DescribeCacheEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheEngineVersionsMessage", - "documentation":"

Represents the input of a DescribeCacheEngineVersions operation.

" - }, - "output":{ - "shape":"CacheEngineVersionMessage", - "documentation":"

Represents the output of a DescribeCacheEngineVersions operation.

", - "resultWrapper":"DescribeCacheEngineVersionsResult" - }, - "documentation":"

The DescribeCacheEngineVersions operation returns a list of the available cache engines and their versions.

" - }, - "DescribeCacheParameterGroups":{ - "name":"DescribeCacheParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheParameterGroupsMessage", - "documentation":"

Represents the input of a DescribeCacheParameterGroups operation.

" - }, - "output":{ - "shape":"CacheParameterGroupsMessage", - "documentation":"

Represents the output of a DescribeCacheParameterGroups operation.

", - "resultWrapper":"DescribeCacheParameterGroupsResult" - }, - "errors":[ - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeCacheParameterGroups operation returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list will contain only the descriptions for that group.

" - }, - "DescribeCacheParameters":{ - "name":"DescribeCacheParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheParametersMessage", - "documentation":"

Represents the input of a DescribeCacheParameters operation.

" - }, - "output":{ - "shape":"CacheParameterGroupDetails", - "documentation":"

Represents the output of a DescribeCacheParameters operation.

", - "resultWrapper":"DescribeCacheParametersResult" - }, - "errors":[ - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeCacheParameters operation returns the detailed parameter list for a particular cache parameter group.

" - }, - "DescribeCacheSecurityGroups":{ - "name":"DescribeCacheSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheSecurityGroupsMessage", - "documentation":"

Represents the input of a DescribeCacheSecurityGroups operation.

" - }, - "output":{ - "shape":"CacheSecurityGroupMessage", - "documentation":"

Represents the output of a DescribeCacheSecurityGroups operation.

", - "resultWrapper":"DescribeCacheSecurityGroupsResult" - }, - "errors":[ - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeCacheSecurityGroups operation returns a list of cache security group descriptions. If a cache security group name is specified, the list will contain only the description of that group.

" - }, - "DescribeCacheSubnetGroups":{ - "name":"DescribeCacheSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeCacheSubnetGroupsMessage", - "documentation":"

Represents the input of a DescribeCacheSubnetGroups operation.

" - }, - "output":{ - "shape":"CacheSubnetGroupMessage", - "documentation":"

Represents the output of a DescribeCacheSubnetGroups operation.

", - "resultWrapper":"DescribeCacheSubnetGroupsResult" - }, - "errors":[ - { - "shape":"CacheSubnetGroupNotFoundFault", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - } - ], - "documentation":"

The DescribeCacheSubnetGroups operation returns a list of cache subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

" - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEngineDefaultParametersMessage", - "documentation":"

Represents the input of a DescribeEngineDefaultParameters operation.

" - }, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "wrapper":true, - "documentation":"

Represents the output of a DescribeEngineDefaultParameters operation.

", - "resultWrapper":"DescribeEngineDefaultParametersResult" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeEngineDefaultParameters operation returns the default engine and system parameter information for the specified cache engine.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEventsMessage", - "documentation":"

Represents the input of a DescribeEvents operation.

" - }, - "output":{ - "shape":"EventsMessage", - "documentation":"

Represents the output of a DescribeEvents operation.

", - "resultWrapper":"DescribeEventsResult" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeEvents operation returns events related to cache clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cache cluster, cache security group, or cache parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" - }, - "DescribeReplicationGroups":{ - "name":"DescribeReplicationGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeReplicationGroupsMessage", - "documentation":"

Represents the input of a DescribeReplicationGroups operation.

" - }, - "output":{ - "shape":"ReplicationGroupMessage", - "documentation":"

Represents the output of a DescribeReplicationGroups operation.

", - "resultWrapper":"DescribeReplicationGroupsResult" - }, - "errors":[ - { - "shape":"ReplicationGroupNotFoundFault", - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeReplicationGroups operation returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

" - }, - "DescribeReservedCacheNodes":{ - "name":"DescribeReservedCacheNodes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeReservedCacheNodesMessage", - "documentation":"

Represents the input of a DescribeReservedCacheNodes operation.

" - }, - "output":{ - "shape":"ReservedCacheNodeMessage", - "documentation":"

Represents the output of a DescribeReservedCacheNodes operation.

", - "resultWrapper":"DescribeReservedCacheNodesResult" - }, - "errors":[ - { - "shape":"ReservedCacheNodeNotFoundFault", - "error":{ - "code":"ReservedCacheNodeNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested reserved cache node was not found.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeReservedCacheNodes operation returns information about reserved cache nodes for this account, or about a specified reserved cache node.

" - }, - "DescribeReservedCacheNodesOfferings":{ - "name":"DescribeReservedCacheNodesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeReservedCacheNodesOfferingsMessage", - "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" - }, - "output":{ - "shape":"ReservedCacheNodesOfferingMessage", - "documentation":"

Represents the output of a DescribeReservedCacheNodesOfferings operation.

", - "resultWrapper":"DescribeReservedCacheNodesOfferingsResult" - }, - "errors":[ - { - "shape":"ReservedCacheNodesOfferingNotFoundFault", - "error":{ - "code":"ReservedCacheNodesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node offering does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeReservedCacheNodesOfferings operation lists available reserved cache node offerings.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeSnapshotsMessage", - "documentation":"

Represents the input of a DescribeSnapshotsMessage operation.

" - }, - "output":{ - "shape":"DescribeSnapshotsListMessage", - "documentation":"

Represents the output of a DescribeSnapshots operation.

", - "resultWrapper":"DescribeSnapshotsResult" - }, - "errors":[ - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"SnapshotNotFoundFault", - "error":{ - "code":"SnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested snapshot name does not refer to an existing snapshot.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The DescribeSnapshots operation returns information about cache cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

" - }, - "ModifyCacheCluster":{ - "name":"ModifyCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyCacheClusterMessage", - "documentation":"

Represents the input of a ModifyCacheCluster operation.

" - }, - "output":{ - "shape":"ModifyCacheClusterResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific cache cluster.

", - "resultWrapper":"ModifyCacheClusterResult" - }, - "errors":[ - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"InvalidCacheSecurityGroupStateFault", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - { - "shape":"InsufficientCacheClusterCapacityFault", - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

" - }, - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"NodeQuotaForClusterExceededFault", - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

" - }, - { - "shape":"NodeQuotaForCustomerExceededFault", - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

" - }, - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The VPC network is in an invalid state.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The ModifyCacheCluster operation modifies the settings for a cache cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.

" - }, - "ModifyCacheParameterGroup":{ - "name":"ModifyCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyCacheParameterGroupMessage", - "documentation":"

Represents the input of a ModifyCacheParameterGroup operation.

" - }, - "output":{ - "shape":"CacheParameterGroupNameMessage", - "documentation":"

Represents the output of one of the following operations:

  • ModifyCacheParameterGroup
  • ResetCacheParameterGroup
", - "resultWrapper":"ModifyCacheParameterGroupResult" - }, - "errors":[ - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidCacheParameterGroupStateFault", - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The ModifyCacheParameterGroup operation modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" - }, - "ModifyCacheSubnetGroup":{ - "name":"ModifyCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyCacheSubnetGroupMessage", - "documentation":"

Represents the input of a ModifyCacheSubnetGroup operation.

" - }, - "output":{ - "shape":"ModifyCacheSubnetGroupResult", - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup
  • ModifyCacheSubnetGroup
", - "resultWrapper":"ModifyCacheSubnetGroupResult" - }, - "errors":[ - { - "shape":"CacheSubnetGroupNotFoundFault", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - }, - { - "shape":"CacheSubnetQuotaExceededFault", - "error":{ - "code":"CacheSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.

" - }, - { - "shape":"SubnetInUse", - "error":{ - "code":"SubnetInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is being used by another cache subnet group.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

An invalid subnet identifier was specified.

" - } - ], - "documentation":"

The ModifyCacheSubnetGroup operation modifies an existing cache subnet group.

" - }, - "ModifyReplicationGroup":{ - "name":"ModifyReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyReplicationGroupMessage", - "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" - }, - "output":{ - "shape":"ModifyReplicationGroupResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific replication group.

", - "resultWrapper":"ModifyReplicationGroupResult" - }, - "errors":[ - { - "shape":"ReplicationGroupNotFoundFault", - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group does not exist.

" - }, - { - "shape":"InvalidReplicationGroupStateFault", - "error":{ - "code":"InvalidReplicationGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested replication group is not in the available state.

" - }, - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"InvalidCacheSecurityGroupStateFault", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - { - "shape":"InsufficientCacheClusterCapacityFault", - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

" - }, - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - { - "shape":"NodeQuotaForClusterExceededFault", - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

" - }, - { - "shape":"NodeQuotaForCustomerExceededFault", - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

" - }, - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The VPC network is in an invalid state.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The ModifyReplicationGroup operation modifies the settings for a replication group.

" - }, - "PurchaseReservedCacheNodesOffering":{ - "name":"PurchaseReservedCacheNodesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PurchaseReservedCacheNodesOfferingMessage", - "documentation":"

Represents the input of a PurchaseReservedCacheNodesOffering operation.

" - }, - "output":{ - "shape":"PurchaseReservedCacheNodesOfferingResult", - "wrapper":true, - "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering operation.

", - "resultWrapper":"PurchaseReservedCacheNodesOfferingResult" - }, - "errors":[ - { - "shape":"ReservedCacheNodesOfferingNotFoundFault", - "error":{ - "code":"ReservedCacheNodesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node offering does not exist.

" - }, - { - "shape":"ReservedCacheNodeAlreadyExistsFault", - "error":{ - "code":"ReservedCacheNodeAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a reservation with the given identifier.

" - }, - { - "shape":"ReservedCacheNodeQuotaExceededFault", - "error":{ - "code":"ReservedCacheNodeQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the user's cache node quota.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The PurchaseReservedCacheNodesOffering operation allows you to purchase a reserved cache node offering.

" - }, - "RebootCacheCluster":{ - "name":"RebootCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RebootCacheClusterMessage", - "documentation":"

Represents the input of a RebootCacheCluster operation.

" - }, - "output":{ - "shape":"RebootCacheClusterResult", - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific cache cluster.

", - "resultWrapper":"RebootCacheClusterResult" - }, - "errors":[ - { - "shape":"InvalidCacheClusterStateFault", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - { - "shape":"CacheClusterNotFoundFault", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - } - ], - "documentation":"

The RebootCacheCluster operation reboots some, or all, of the cache nodes within a provisioned cache cluster. This API will apply any modified cache parameter groups to the cache cluster. The reboot action takes place as soon as possible, and results in a momentary outage to the cache cluster. During the reboot, the cache cluster status is set to REBOOTING.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cache cluster event is created.

" - }, - "ResetCacheParameterGroup":{ - "name":"ResetCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ResetCacheParameterGroupMessage", - "documentation":"

Represents the input of a ResetCacheParameterGroup operation.

" - }, - "output":{ - "shape":"CacheParameterGroupNameMessage", - "documentation":"

Represents the output of one of the following operations:

  • ModifyCacheParameterGroup
  • ResetCacheParameterGroup
", - "resultWrapper":"ResetCacheParameterGroupResult" - }, - "errors":[ - { - "shape":"InvalidCacheParameterGroupStateFault", - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

" - }, - { - "shape":"CacheParameterGroupNotFoundFault", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The ResetCacheParameterGroup operation modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

" - }, - "RevokeCacheSecurityGroupIngress":{ - "name":"RevokeCacheSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RevokeCacheSecurityGroupIngressMessage", - "documentation":"

Represents the input of a RevokeCacheSecurityGroupIngress operation.

" - }, - "output":{ - "shape":"RevokeCacheSecurityGroupIngressResult", - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress
  • CreateCacheSecurityGroup
  • RevokeCacheSecurityGroupIngress
", - "resultWrapper":"RevokeCacheSecurityGroupIngressResult" - }, - "errors":[ - { - "shape":"CacheSecurityGroupNotFoundFault", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified Amazon EC2 security group is not authorized for the specified cache security group.

" - }, - { - "shape":"InvalidCacheSecurityGroupStateFault", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidParameterCombinationException", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - } - ], - "documentation":"

The RevokeCacheSecurityGroupIngress operation revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.

" - } - }, - "shapes":{ - "AZMode":{ - "type":"string", - "enum":[ - "single-az", - "cross-az" - ] - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified Amazon EC2 security group is already authorized for the specified cache security group.

" - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified Amazon EC2 security group is not authorized for the specified cache security group.

" - }, - "AuthorizeCacheSecurityGroupIngressMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "EC2SecurityGroupName", - "EC2SecurityGroupOwnerId" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The cache security group which will allow network ingress.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The Amazon EC2 security group to be authorized for ingress to the cache security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" - } - }, - "documentation":"

Represents the input of an AuthorizeCacheSecurityGroupIngress operation.

" - }, - "AutomaticFailoverStatus":{ - "type":"string", - "enum":[ - "enabled", - "disabled", - "enabling", - "disabling" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the Availability Zone.

" - } - }, - "wrapper":true, - "documentation":"

Describes an Availability Zone in which the cache cluster is launched.

" - }, - "AvailabilityZonesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AvailabilityZone" - } - }, - "AwsQueryErrorMessage":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CacheCluster":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "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"}, - "ClientDownloadLandingPage":{ - "shape":"String", - "documentation":"

The URL of the web page where you can download the latest ElastiCache client library.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the cache cluster.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) to be used for this cache cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the cache engine version that is used in this cache cluster.

" - }, - "CacheClusterStatus":{ - "shape":"String", - "documentation":"

The current state of this cache cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cache cluster nodes, restore-failed, or snapshotting.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the cache cluster.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the cache cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones.

" - }, - "CacheClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cache cluster was created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The time range (in UTC) during which weekly system maintenance can occur.

" - }, - "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "NotificationConfiguration":{"shape":"NotificationConfiguration"}, - "CacheSecurityGroups":{ - "shape":"CacheSecurityGroupMembershipList", - "documentation":"

A list of cache security group elements, composed of name and status sub-elements.

" - }, - "CacheParameterGroup":{"shape":"CacheParameterGroupStatus"}, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group associated with the cache cluster.

" - }, - "CacheNodes":{ - "shape":"CacheNodeList", - "documentation":"

A list of cache nodes that are members of the cache cluster.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

If true, then minor version patches are applied automatically; if false, then automatic minor version patches are disabled.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroupMembershipList", - "documentation":"

A list of VPC Security Groups associated with the cache cluster.

" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The replication group to which this cache cluster belongs. If this field is empty, the cache cluster is not associated with any replication group.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Important
If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

Example: 05:00-09:00

" - } - }, - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific cache cluster.

" - }, - "CacheClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheClusterAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a cache cluster with the given identifier.

" - }, - "CacheClusterList":{ - "type":"list", - "member":{ - "shape":"CacheCluster", - "locationName":"CacheCluster" - } - }, - "CacheClusterMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheClusters":{ - "shape":"CacheClusterList", - "documentation":"

A list of cache clusters. Each item in the list contains detailed information about one cache cluster.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheClusters operation.

" - }, - "CacheClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

" - }, - "CacheEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cache engine.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family associated with this cache engine.

" - }, - "CacheEngineDescription":{ - "shape":"String", - "documentation":"

The description of the cache engine.

" - }, - "CacheEngineVersionDescription":{ - "shape":"String", - "documentation":"

The description of the cache engine version.

" - } - }, - "documentation":"

Provides all of the details about a particular cache engine version.

" - }, - "CacheEngineVersionList":{ - "type":"list", - "member":{ - "shape":"CacheEngineVersion", - "locationName":"CacheEngineVersion" - } - }, - "CacheEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheEngineVersions":{ - "shape":"CacheEngineVersionList", - "documentation":"

A list of cache engine version details. Each element in the list contains detailed information about one cache engine version.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheEngineVersions operation.

" - }, - "CacheNode":{ - "type":"structure", - "members":{ - "CacheNodeId":{ - "shape":"String", - "documentation":"

The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

" - }, - "CacheNodeStatus":{ - "shape":"String", - "documentation":"

The current state of this cache node.

" - }, - "CacheNodeCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cache node was created.

" - }, - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The hostname and IP address for connecting to this cache node.

" - }, - "ParameterGroupStatus":{ - "shape":"String", - "documentation":"

The status of the parameter group applied to this cache node.

" - }, - "SourceCacheNodeId":{ - "shape":"String", - "documentation":"

The ID of the primary node to which this read replica node is synchronized. If this field is empty, then this node is not associated with a primary cache cluster.

" - }, - "CustomerAvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where this node was created and now resides.

" - } - }, - "documentation":"

Represents an individual cache node within a cache cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

" - }, - "CacheNodeIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CacheNodeId" - } - }, - "CacheNodeList":{ - "type":"list", - "member":{ - "shape":"CacheNode", - "locationName":"CacheNode" - } - }, - "CacheNodeTypeSpecificParameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the parameter value.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest cache engine version to which the parameter can apply.

" - }, - "CacheNodeTypeSpecificValues":{ - "shape":"CacheNodeTypeSpecificValueList", - "documentation":"

A list of cache node types and their corresponding values for this parameter.

" - } - }, - "documentation":"

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cache cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" - }, - "CacheNodeTypeSpecificParametersList":{ - "type":"list", - "member":{ - "shape":"CacheNodeTypeSpecificParameter", - "locationName":"CacheNodeTypeSpecificParameter" - } - }, - "CacheNodeTypeSpecificValue":{ - "type":"structure", - "members":{ - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for which this value applies.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value for the cache node type.

" - } - }, - "documentation":"

A value that applies only to a certain cache node type.

" - }, - "CacheNodeTypeSpecificValueList":{ - "type":"list", - "member":{ - "shape":"CacheNodeTypeSpecificValue", - "locationName":"CacheNodeTypeSpecificValue" - } - }, - "CacheParameterGroup":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for this cache parameter group.

" - } - }, - "wrapper":true, - "documentation":"

Represents the output of a CreateCacheParameterGroup operation.

" - }, - "CacheParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A cache parameter group with the requested name already exists.

" - }, - "CacheParameterGroupDetails":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter instances.

" - }, - "CacheNodeTypeSpecificParameters":{ - "shape":"CacheNodeTypeSpecificParametersList", - "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheParameters operation.

" - }, - "CacheParameterGroupList":{ - "type":"list", - "member":{ - "shape":"CacheParameterGroup", - "locationName":"CacheParameterGroup" - } - }, - "CacheParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - } - }, - "documentation":"

Represents the output of one of the following operations:

  • ModifyCacheParameterGroup
  • ResetCacheParameterGroup
" - }, - "CacheParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

" - }, - "CacheParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of cache security groups.

" - }, - "CacheParameterGroupStatus":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - }, - "CacheNodeIdsToReboot":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of the cache node IDs which need to be rebooted for parameter changes to be applied. A node ID is a numeric identifier (0001, 0002, etc.).

" - } - }, - "documentation":"

The status of the cache parameter group.

" - }, - "CacheParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheParameterGroups":{ - "shape":"CacheParameterGroupList", - "documentation":"

A list of cache parameter groups. Each element in the list contains detailed information about one cache parameter group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheParameterGroups operation.

" - }, - "CacheSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the cache security group owner.

" - }, - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the cache security group.

" - }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

A list of Amazon EC2 security groups that are associated with this cache security group.

" - } - }, - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress
  • CreateCacheSecurityGroup
  • RevokeCacheSecurityGroupIngress
" - }, - "CacheSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A cache security group with the specified name already exists.

" - }, - "CacheSecurityGroupMembership":{ - "type":"structure", - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The membership status in the cache security group. The status changes when a cache security group is modified, or when the cache security groups assigned to a cache cluster are modified.

" - } - }, - "documentation":"

Represents a cache cluster's status within a particular cache security group.

" - }, - "CacheSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"CacheSecurityGroupMembership", - "locationName":"CacheSecurityGroup" - } - }, - "CacheSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheSecurityGroups":{ - "shape":"CacheSecurityGroups", - "documentation":"

A list of cache security groups. Each element in the list contains detailed information about one group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheSecurityGroups operation.

" - }, - "CacheSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CacheSecurityGroupName" - } - }, - "CacheSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

" - }, - "CacheSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"QuotaExceeded.CacheSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache security groups.

" - }, - "CacheSecurityGroups":{ - "type":"list", - "member":{ - "shape":"CacheSecurityGroup", - "locationName":"CacheSecurityGroup" - } - }, - "CacheSubnetGroup":{ - "type":"structure", - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group.

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description of the cache subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

A list of subnets associated with the cache subnet group.

" - } - }, - "wrapper":true, - "documentation":"

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup
  • ModifyCacheSubnetGroup
" - }, - "CacheSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name is already in use by an existing cache subnet group.

" - }, - "CacheSubnetGroupInUse":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSubnetGroupInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group is currently in use.

" - }, - "CacheSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheSubnetGroups":{ - "shape":"CacheSubnetGroups", - "documentation":"

A list of cache subnet groups. Each element in the list contains detailed information about one group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheSubnetGroups operation.

" - }, - "CacheSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

" - }, - "CacheSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache subnet groups.

" - }, - "CacheSubnetGroups":{ - "type":"list", - "member":{ - "shape":"CacheSubnetGroup", - "locationName":"CacheSubnetGroup" - } - }, - "CacheSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"CacheSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.

" - }, - "ClusterIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ClusterId" - } - }, - "ClusterQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ClusterQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache clusters per customer.

" - }, - "CopySnapshotMessage":{ - "type":"structure", - "required":[ - "SourceSnapshotName", - "TargetSnapshotName" - ], - "members":{ - "SourceSnapshotName":{ - "shape":"String", - "documentation":"

The name of an existing snapshot from which to copy.

" - }, - "TargetSnapshotName":{ - "shape":"String", - "documentation":"

A name for the copied snapshot.

" - } - }, - "documentation":"

Represents the input of a CopySnapshotMessage operation.

" - }, - "CreateCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The node group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The ID of the replication group to which this cache cluster should belong. If this parameter is specified, the cache cluster will be added to the specified replication group as a read replica; otherwise, the cache cluster will be a standalone primary that is not part of any replication group.

If the specified replication group is Automatic Failover enabled and the availability zone is not specified, the cache cluster will be created in availability zones that provide the best spread of read replicas across availability zones.

Note: This parameter is only valid if the Engine parameter is redis.

" - }, - "AZMode":{ - "shape":"AZMode", - "documentation":"

Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached cache clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone in which the cache cluster will be created.

All nodes belonging to this Memcached cache cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

" - }, - "PreferredAvailabilityZones":{ - "shape":"PreferredAvailabilityZoneList", - "documentation":"

A list of the Availability Zones in which cache nodes will be created. The order of the zones in the list is not important.

This option is only supported on Memcached.

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

Example: One Memcached node in each of three different Availability Zones: PreferredAvailabilityZones.member.1=us-east-1a&PreferredAvailabilityZones.member.2=us-east-1b&PreferredAvailabilityZones.member.3=us-east-1d

Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-east-1a&PreferredAvailabilityZones.member.2=us-east-1a&PreferredAvailabilityZones.member.3=us-east-1a

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The initial number of cache nodes that the cache cluster will have.

For Memcached, valid values are between 1 and 20. If you need to exceed this limit, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

For Redis, only single-node cache cluster are supported at this time, so the value for this parameter must be 1.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine to be used for this cache cluster.

Valid values for this parameter are:

memcached | redis

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cache engine to be used for this cache cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to associate with this cache cluster. If this argument is omitted, the default parameter group for the specified engine is used.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group to be used for the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of security group names to associate with this cache cluster.

Use this parameter only when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC).

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

One or more VPC security groups associated with the cache cluster.

Use this parameter only when you are creating a cache cluster in an Amazon Virtual Private Cloud (VPC).

" - }, - "SnapshotArns":{ - "shape":"SnapshotArnsList", - "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur.

Example: sun:05:00-sun:09:00

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which each of the cache nodes will accept connections.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications will be sent.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Determines whether minor engine upgrades will be applied automatically to the node group during the maintenance window. A value of true allows these upgrades to occur; false disables automatic upgrades.

Default: true

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" - } - }, - "documentation":"

Represents the input of a CreateCacheCluster operation.

" - }, - "CreateCacheParameterGroupMessage":{ - "type":"structure", - "required":[ - "CacheParameterGroupName", - "CacheParameterGroupFamily", - "Description" - ], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

A user-specified name for the cache parameter group.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family the cache parameter group can be used with.

Valid values are: memcached1.4 | redis2.6 | redis2.8

" - }, - "Description":{ - "shape":"String", - "documentation":"

A user-specified description for the cache parameter group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheParameterGroup operation.

" - }, - "CreateCacheSecurityGroupMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "Description" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

A name for the cache security group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters. Cannot be the word \"Default\".

Example: mysecuritygroup

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the cache security group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheSecurityGroup operation.

" - }, - "CreateCacheSubnetGroupMessage":{ - "type":"structure", - "required":[ - "CacheSubnetGroupName", - "CacheSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

A name for the cache subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

Example: mysubnetgroup

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

A description for the cache subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

A list of VPC subnet IDs for the cache subnet group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheSubnetGroup operation.

" - }, - "CreateReplicationGroupMessage":{ - "type":"structure", - "required":[ - "ReplicationGroupId", - "ReplicationGroupDescription" - ], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The replication group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.
  • The first character must be a letter.
  • A name cannot end with a hyphen or contain two consecutive hyphens.
" - }, - "ReplicationGroupDescription":{ - "shape":"String", - "documentation":"

A user-created description for the replication group.

" - }, - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

The identifier of the cache cluster that will serve as the primary for this replication group. This cache cluster must already exist and have a status of available.

This parameter is not required if NumCacheClusters is specified.

" - }, - "AutomaticFailoverEnabled":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.

If true, automatic failover is enabled for this replication group. If false, automatic failover is disabled for this replication group.

Default: false

" - }, - "NumCacheClusters":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache clusters this replication group will initially have.

If AutomaticFailover is enabled, the value of this parameter must be at least 2.

The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas). If you need to exceed this limit, please fill out the ElastiCache Limit Increase Request forrm at http://aws.amazon.com/contact-us/elasticache-node-limit-request.

" - }, - "PreferredCacheClusterAZs":{ - "shape":"AvailabilityZonesList", - "documentation":"

A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important.

Default: system chosen availability zones.

Example: One Redis cache cluster in each of three availability zones. PreferredAvailabilityZones.member.1=us-east-1a PreferredAvailabilityZones.member.2=us-east-1c PreferredAvailabilityZones.member.3=us-east-1d

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group.

Valid node types are as follows:

  • General purpose:
    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge
  • Compute optimized: cache.c1.xlarge
  • Memory optimized
    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge
    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
  • Redis backup/restore is not supported for t2 instances.
  • Redis Append-only files (AOF) functionality is not supported for t1 or t2 instances.

For a complete listing of cache node types and specifications, see Amazon ElastiCache Product Features and Details and Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine to be used for the cache clusters in this replication group.

Default: redis

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cach engine to be used for the cache clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to be used for the replication group.

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to associate with this replication group.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

One or more Amazon VPC security groups associated with this replication group.

Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (VPC).

" - }, - "SnapshotArns":{ - "shape":"SnapshotArnsList", - "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file will be used to populate the node group. The Amazon S3 object name in the ARN cannot contain any commas.

Note: This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a snapshot from which to restore data into the new node group. The snapshot status changes to restoring while the new node group is being created.

Note: This parameter is only valid if the Engine parameter is redis.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur.

Example: sun:05:00-sun:09:00

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which each member of the replication group will accept connections.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications will be sent.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Determines whether minor engine upgrades will be applied automatically to the node group during the maintenance window. A value of true allows these upgrades to occur; false disables automatic upgrades.

Default: true

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Note: This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cache cluster).

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your node group.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

Note: This parameter is only valid if the Engine parameter is redis.

" - } - }, - "documentation":"

Represents the input of a CreateReplicationGroup operation.

" - }, - "CreateSnapshotMessage":{ - "type":"structure", - "required":[ - "CacheClusterId", - "SnapshotName" - ], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The identifier of an existing cache cluster. The snapshot will be created from this cache cluster.

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

A name for the snapshot being created.

" - } - }, - "documentation":"

Represents the input of a CreateSnapshot operation.

" - }, - "DeleteCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cache cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

" - }, - "FinalSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied name of a final cache cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cache cluster immediately afterward.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheCluster operation.

" - }, - "DeleteCacheParameterGroupMessage":{ - "type":"structure", - "required":["CacheParameterGroupName"], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to delete.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheParameterGroup operation.

" - }, - "DeleteCacheSecurityGroupMessage":{ - "type":"structure", - "required":["CacheSecurityGroupName"], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to delete.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheSecurityGroup operation.

" - }, - "DeleteCacheSubnetGroupMessage":{ - "type":"structure", - "required":["CacheSubnetGroupName"], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to delete.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheSubnetGroup operation.

" - }, - "DeleteReplicationGroupMessage":{ - "type":"structure", - "required":["ReplicationGroupId"], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the cluster to be deleted. This parameter is not case sensitive.

" - }, - "RetainPrimaryCluster":{ - "shape":"BooleanOptional", - "documentation":"

If set to true, all of the read replicas will be deleted, but the primary node will be retained.

" - }, - "FinalSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The name of a final node group snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the cluster is immediately deleted.

" - } - }, - "documentation":"

Represents the input of a DeleteReplicationGroup operation.

" - }, - "DeleteSnapshotMessage":{ - "type":"structure", - "required":["SnapshotName"], - "members":{ - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of the snapshot to be deleted.

" - } - }, - "documentation":"

Represents the input of a DeleteSnapshot operation.

" - }, - "DescribeCacheClustersMessage":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The user-supplied cluster identifier. If this parameter is specified, only information about that specific cache cluster is returned. This parameter isn't case sensitive.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "ShowCacheNodeInfo":{ - "shape":"BooleanOptional", - "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheClusters operation.

" - }, - "DescribeCacheEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The cache engine to return. Valid values: memcached | redis

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The cache engine version to return.

Example: 1.4.14

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group family to return details for.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DefaultOnly":{ - "shape":"Boolean", - "documentation":"

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheEngineVersions operation.

" - }, - "DescribeCacheParameterGroupsMessage":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheParameterGroups operation.

" - }, - "DescribeCacheParametersMessage":{ - "type":"structure", - "required":["CacheParameterGroupName"], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group to return details for.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return.

Valid values: user | system | engine-default

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheParameters operation.

" - }, - "DescribeCacheSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheSecurityGroups operation.

" - }, - "DescribeCacheSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheSubnetGroups operation.

" - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["CacheParameterGroupFamily"], - "members":{ - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family. Valid values are: memcached1.4 | redis2.6 | redis2.8

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeEngineDefaultParameters operation.

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

Valid values are: cache-cluster | cache-parameter-group | cache-security-group | cache-subnet-group

" - }, - "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.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeEvents operation.

" - }, - "DescribeReplicationGroupsMessage":{ - "type":"structure", - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the replication group to be described. This parameter is not case sensitive.

If you do not specify this parameter, information about all replication groups is returned.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReplicationGroups operation.

" - }, - "DescribeReservedCacheNodesMessage":{ - "type":"structure", - "members":{ - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.

" - }, - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Use this parameter to show only those reservations matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid values: \"Light Utilization\" | \"Medium Utilization\" | \"Heavy Utilization\"

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReservedCacheNodes operation.

" - }, - "DescribeReservedCacheNodesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Use this parameter to show only the available offerings matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\" | \"Medium Utilization\" | \"Heavy Utilization\"

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" - }, - "DescribeSnapshotsListMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

A list of snapshots. Each item in the list contains detailed information about one snapshot.

" - } - }, - "documentation":"

Represents the output of a DescribeSnapshots operation.

" - }, - "DescribeSnapshotsMessage":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cache cluster will be described.

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

A user-supplied name of the snapshot. If this parameter is specified, only this snapshot will be described.

" - }, - "SnapshotSource":{ - "shape":"String", - "documentation":"

If set to system, the output shows snapshots that were automatically created by ElastiCache. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 50

Constraints: minimum 20; maximum 50.

" - } - }, - "documentation":"

Represents the input of a DescribeSnapshotsMessage operation.

" - }, - "Double":{"type":"double"}, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the Amazon EC2 security group.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the Amazon EC2 security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the Amazon EC2 security group owner.

" - } - }, - "documentation":"

Provides ownership and status information for an Amazon EC2 security group.

" - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

The DNS hostname of the cache node.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port number that the cache engine is listening on.

" - } - }, - "documentation":"

Represents the information required for client programs to connect to a cache node.

" - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Contains a list of engine default parameters.

" - }, - "CacheNodeTypeSpecificParameters":{ - "shape":"CacheNodeTypeSpecificParametersList", - "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" - } - }, - "wrapper":true, - "documentation":"

Represents the output of a DescribeEngineDefaultParameters operation.

" - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source of the event. For example, if the event occurred at the cache cluster level, the identifier would be the name of the cache cluster.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the origin of this event - a cache cluster, a parameter group, a security group, etc.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The text of 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 cache cluster, adding or removing a cache node, or rebooting a node.

" - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of events. Each element in the list contains detailed information about one event.

" - } - }, - "documentation":"

Represents the output of a DescribeEvents operation.

" - }, - "InsufficientCacheClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

" - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidCacheClusterStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache cluster is not in the available state.

" - }, - "InvalidCacheParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache parameter group does not allow the requested action to occur.

" - }, - "InvalidCacheSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the cache security group does not allow deletion.

" - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

Two or more parameters that must not be used together were used together.

" - } - }, - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Two or more incompatible parameters were specified.

" - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

A parameter value is invalid.

" - } - }, - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - "InvalidReplicationGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidReplicationGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested replication group is not in the available state.

" - }, - "InvalidSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The current state of the snapshot does not allow the requested action to occur.

" - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

An invalid subnet identifier was specified.

" - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The VPC network is in an invalid state.

" - }, - "ModifyCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cache cluster identifier. This value is stored as a lowercase string.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes that the cache cluster should have. If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), then more nodes will be added. If the value is less than the number of existing cache nodes, then nodes will be removed. If the value is equal to the number of current cache nodes, then any pending add or remove requests are canceled.

If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter to provide the IDs of the specific cache nodes to remove.

For cache clusters running Redis, the value of NumCacheNodesmust be 1.

Note:
Adding or removing Memcached cache nodes can be applied immediately or as a pending action. See ApplyImmediately.
A pending action to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending actions to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending action to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending action to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending action to add nodes. The customer can modify the previous pending action to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending actions to modify the number of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes equal to the number of cache nodes currently in the cache cluster.

" - }, - "CacheNodeIdsToRemove":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request.

For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this ModifyCacheCluser call is 5, you must list 2 (7 - 5) cache node IDs to remove.

" - }, - "AZMode":{ - "shape":"AZMode", - "documentation":"

Specifies whether the new nodes in this Memcached cache cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached cache clusters.

" - }, - "NewAvailabilityZones":{ - "shape":"PreferredAvailabilityZoneList", - "documentation":"

The list of Availability Zones where the new Memcached cache nodes will be created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes.
    Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.
  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node.
    Specify NumCacheNodes=6 ((3 + 2) + 1)
  • and optionally specify an Availability Zone for the new node.
  • Scenario 3: You want to cancel all pending actions.
    Specify NumCacheNodes=3 to cancel all pending actions.

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

Scenarios Pending Operation New Request Results
Scenario-1 Delete Delete The new delete, pending or immediate, replaces the pending delete.
Scenario-2 Delete Create The new create, pending or immediate, replaces the pending delete.
Scenario-3 Create Delete The new delete, pending or immediate, replaces the pending create.
Scenario-4 Create Create The new create is added to the pending create.
Important:
If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

Example: NewAvailabilityZones.member.1=us-east-1a&NewAvailabilityZones.member.2=us-east-1b&NewAvailabilityZones.member.3=us-east-1d

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize on this cache cluster. This change is asynchronously applied as soon as possible.

This parameter can be used only with clusters that are created outside of an Amazon Virtual Private Cloud (VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the cache cluster.

This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (VPC).

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur. Note that system maintenance may result in an outage. This change is made immediately. If you are moving this window to the current time, there must be at least 120 minutes between the current time and end of the window to ensure that pending changes are applied.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to apply to this cache cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" - }, - "NotificationTopicStatus":{ - "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Valid values: active | inactive

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cache cluster.

If false, then changes to the cache cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.

Valid values: true | false

Default: false

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

If true, then minor engine upgrades will be applied automatically to the cache cluster during the maintenance window.

Valid values: true | false

Default: true

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Important
If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheCluster operation.

" - }, - "ModifyCacheParameterGroupMessage":{ - "type":"structure", - "required":[ - "CacheParameterGroupName", - "ParameterNameValues" - ], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to modify.

" - }, - "ParameterNameValues":{ - "shape":"ParameterNameValueList", - "documentation":"

An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be modified per request.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheParameterGroup operation.

" - }, - "ModifyCacheSubnetGroupMessage":{ - "type":"structure", - "required":["CacheSubnetGroupName"], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the cache subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

Example: mysubnetgroup

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

A description for the cache subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the cache subnet group.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheSubnetGroup operation.

" - }, - "ModifyReplicationGroupMessage":{ - "type":"structure", - "required":["ReplicationGroupId"], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier of the replication group to modify.

" - }, - "ReplicationGroupDescription":{ - "shape":"String", - "documentation":"

A description for the replication group. Maximum length is 255 characters.

" - }, - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

If this parameter is specified, ElastiCache will promote each of the cache clusters in the specified replication group to the primary role. The nodes of all other cache clusters in the replication group will be read replicas.

" - }, - "SnapshottingClusterId":{ - "shape":"String", - "documentation":"

The cache cluster ID that will be used as the daily snapshot source for the replication group.

" - }, - "AutomaticFailoverEnabled":{ - "shape":"BooleanOptional", - "documentation":"

Whether a read replica will be automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

This parameter can be used only with replication group containing cache clusters running outside of an Amazon Virtual Private Cloud (VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the cache clusters in the replication group.

This parameter can be used only with replication group containing cache clusters running in an Amazon Virtual Private Cloud (VPC).

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which replication group system maintenance can occur. Note that system maintenance may result in an outage. This change is made immediately. If you are moving this window to the current time, there must be at least 120 minutes between the current time and end of the window to ensure that pending changes are applied.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications will be sent.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" - }, - "NotificationTopicStatus":{ - "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is active.

Valid values: active | inactive

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group.

If false, then changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

Valid values: true | false

Default: false

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the cache clusters in the replication group.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Determines whether minor engine upgrades will be applied automatically to all of the clusters in the replication group during the maintenance window. A value of true allows these upgrades to occur; false disables automatic upgrades.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache will retain automatic node group snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted.

Important
If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of the node group specified by SnapshottingClusterId.

Example: 05:00-09:00

If you do not specify this parameter, then ElastiCache will automatically choose an appropriate time range.

" - } - }, - "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" - }, - "NodeGroup":{ - "type":"structure", - "members":{ - "NodeGroupId":{ - "shape":"String", - "documentation":"

The identifier for the node group. A replication group contains only one node group; therefore, the node group ID is 0001.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" - }, - "PrimaryEndpoint":{"shape":"Endpoint"}, - "NodeGroupMembers":{ - "shape":"NodeGroupMemberList", - "documentation":"

A list containing information about individual nodes within the node group.

" - } - }, - "documentation":"

Represents a collection of cache nodes in a replication group.

" - }, - "NodeGroupList":{ - "type":"list", - "member":{ - "shape":"NodeGroup", - "locationName":"NodeGroup" - } - }, - "NodeGroupMember":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The ID of the cache cluster to which the node belongs.

" - }, - "CacheNodeId":{ - "shape":"String", - "documentation":"

The ID of the node within its cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" - }, - "ReadEndpoint":{"shape":"Endpoint"}, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the node is located.

" - }, - "CurrentRole":{ - "shape":"String", - "documentation":"

The role that is currently assigned to the node - primary or replica.

" - } - }, - "documentation":"

Represents a single node within a node group.

" - }, - "NodeGroupMemberList":{ - "type":"list", - "member":{ - "shape":"NodeGroupMember", - "locationName":"NodeGroupMember" - } - }, - "NodeQuotaForClusterExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

" - }, - "NodeQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

" - }, - "NodeSnapshot":{ - "type":"structure", - "members":{ - "CacheNodeId":{ - "shape":"String", - "documentation":"

The cache node identifier for the node in the source cache cluster.

" - }, - "CacheSize":{ - "shape":"String", - "documentation":"

The size of the cache on the source cache node.

" - }, - "CacheNodeCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cache node was created in the source cache cluster.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the source node's metadata and cache data set was obtained for the snapshot.

" - } - }, - "wrapper":true, - "documentation":"

Represents an individual cache node in a snapshot of a cache cluster.

" - }, - "NodeSnapshotList":{ - "type":"list", - "member":{ - "shape":"NodeSnapshot", - "locationName":"NodeSnapshot" - } - }, - "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 ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the parameter.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest cache engine version to which the parameter can apply.

" - } - }, - "documentation":"

Describes an individual setting that controls some aspect of ElastiCache behavior.

" - }, - "ParameterNameValue":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - } - }, - "documentation":"

Describes a name-value pair that is used to update the value of a parameter.

" - }, - "ParameterNameValueList":{ - "type":"list", - "member":{ - "shape":"ParameterNameValue", - "locationName":"ParameterNameValue" - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingAutomaticFailoverStatus":{ - "type":"string", - "enum":[ - "enabled", - "disabled" - ] - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The new number of cache nodes for the cache cluster.

" - }, - "CacheNodeIdsToRemove":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs that are being removed (or will be removed) from the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The new cache engine version that the cache cluster will run.

" - } - }, - "documentation":"

A group of settings that will be applied to the cache cluster in the future, or that are currently being applied.

" - }, - "PreferredAvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PreferredAvailabilityZone" - } - }, - "PurchaseReservedCacheNodesOfferingMessage":{ - "type":"structure", - "required":["ReservedCacheNodesOfferingId"], - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the reserved cache node offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

A customer-specified identifier to track this reservation.

Example: myreservationID

" - }, - "CacheNodeCount":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache node instances to reserve.

Default: 1

" - } - }, - "documentation":"

Represents the input of a PurchaseReservedCacheNodesOffering operation.

" - }, - "RebootCacheClusterMessage":{ - "type":"structure", - "required":[ - "CacheClusterId", - "CacheNodeIdsToReboot" - ], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cache cluster identifier. This parameter is stored as a lowercase string.

" - }, - "CacheNodeIdsToReboot":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cache cluster, specify all of the cache node IDs.

" - } - }, - "documentation":"

Represents the input of a RebootCacheCluster operation.

" - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The monetary amount of the recurring charge.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency of the recurring charge.

" - } - }, - "wrapper":true, - "documentation":"

Contains the specific price and frequency of a recurring charges for a reserved cache node, or for a reserved cache node offering.

" - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "ReplicationGroup":{ - "type":"structure", - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the replication group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the replication group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" - }, - "PendingModifiedValues":{ - "shape":"ReplicationGroupPendingModifiedValues", - "documentation":"

A group of settings to be applied to the replication group, either immediately or during the next maintenance window.

" - }, - "MemberClusters":{ - "shape":"ClusterIdList", - "documentation":"

The names of all the cache clusters that are part of this replication group.

" - }, - "NodeGroups":{ - "shape":"NodeGroupList", - "documentation":"

A single element list with information about the nodes in the replication group.

" - }, - "SnapshottingClusterId":{ - "shape":"String", - "documentation":"

The cache cluster ID that is used as the daily snapshot source for the replication group.

" - }, - "AutomaticFailover":{ - "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of automatic failover for this replication group.

" - } - }, - "wrapper":true, - "documentation":"

Contains all of the attributes of a specific replication group.

" - }, - "ReplicationGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReplicationGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group already exists.

" - }, - "ReplicationGroupList":{ - "type":"list", - "member":{ - "shape":"ReplicationGroup", - "locationName":"ReplicationGroup" - } - }, - "ReplicationGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReplicationGroups":{ - "shape":"ReplicationGroupList", - "documentation":"

A list of replication groups. Each item in the list contains detailed information about one replication group.

" - } - }, - "documentation":"

Represents the output of a DescribeReplicationGroups operation.

" - }, - "ReplicationGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified replication group does not exist.

" - }, - "ReplicationGroupPendingModifiedValues":{ - "type":"structure", - "members":{ - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

The primary cluster ID which will be applied immediately (if --apply-immediately was specified), or during the next maintenance window.

" - }, - "AutomaticFailoverStatus":{ - "shape":"PendingAutomaticFailoverStatus", - "documentation":"

Indicates the status of automatic failover for this replication group.

" - } - }, - "documentation":"

The settings to be applied to the replication group, either immediately or during the next maintenance window.

" - }, - "ReservedCacheNode":{ - "type":"structure", - "members":{ - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for the reserved cache nodes.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The time the reservation started.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this reserved cache node.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this reserved cache node.

" - }, - "CacheNodeCount":{ - "shape":"Integer", - "documentation":"

The number of cache nodes that have been reserved.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The description of the reserved cache node.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type of this reserved cache node.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved cache node.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved cache node.

" - } - }, - "wrapper":true, - "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering operation.

" - }, - "ReservedCacheNodeAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedCacheNodeAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a reservation with the given identifier.

" - }, - "ReservedCacheNodeList":{ - "type":"list", - "member":{ - "shape":"ReservedCacheNode", - "locationName":"ReservedCacheNode" - } - }, - "ReservedCacheNodeMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedCacheNodes":{ - "shape":"ReservedCacheNodeList", - "documentation":"

A list of reserved cache nodes. Each element in the list contains detailed information about one node.

" - } - }, - "documentation":"

Represents the output of a DescribeReservedCacheNodes operation.

" - }, - "ReservedCacheNodeNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedCacheNodeNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested reserved cache node was not found.

" - }, - "ReservedCacheNodeQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedCacheNodeQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the user's cache node quota.

" - }, - "ReservedCacheNodesOffering":{ - "type":"structure", - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

A unique identifier for the reserved cache node offering.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for the reserved cache node.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering. in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this offering.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The cache engine used by the offering.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved cache node.

" - } - }, - "wrapper":true, - "documentation":"

Describes all of the attributes of a reserved cache node offering.

" - }, - "ReservedCacheNodesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedCacheNodesOffering", - "locationName":"ReservedCacheNodesOffering" - } - }, - "ReservedCacheNodesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedCacheNodesOfferings":{ - "shape":"ReservedCacheNodesOfferingList", - "documentation":"

A list of reserved cache node offerings. Each element in the list contains detailed information about one offering.

" - } - }, - "documentation":"

Represents the output of a DescribeReservedCacheNodesOfferings operation.

" - }, - "ReservedCacheNodesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedCacheNodesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested cache node offering does not exist.

" - }, - "ResetCacheParameterGroupMessage":{ - "type":"structure", - "required":[ - "CacheParameterGroupName", - "ParameterNameValues" - ], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to reset.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

If true, all parameters in the cache parameter group will be reset to default values. If false, no such action occurs.

Valid values: true | false

" - }, - "ParameterNameValues":{ - "shape":"ParameterNameValueList", - "documentation":"

An array of parameter names to be reset. If you are not resetting the entire cache parameter group, you must specify at least one parameter name.

" - } - }, - "documentation":"

Represents the input of a ResetCacheParameterGroup operation.

" - }, - "RevokeCacheSecurityGroupIngressMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "EC2SecurityGroupName", - "EC2SecurityGroupOwnerId" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to revoke ingress from.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the Amazon EC2 security group to revoke access from.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" - } - }, - "documentation":"

Represents the input of a RevokeCacheSecurityGroupIngress operation.

" - }, - "SecurityGroupIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupMembership":{ - "type":"structure", - "members":{ - "SecurityGroupId":{ - "shape":"String", - "documentation":"

The identifier of the cache security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the cache security group membership. The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cache cluster are modified.

" - } - }, - "documentation":"

Represents a single cache security group and its status..

" - }, - "SecurityGroupMembershipList":{ - "type":"list", - "member":{"shape":"SecurityGroupMembership"} - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a snapshot. For an automatic snapshot, the name is system-generated; for a manual snapshot, this is the user-provided name.

" - }, - "CacheClusterId":{ - "shape":"String", - "documentation":"

The user-supplied identifier of the source cache cluster.

" - }, - "SnapshotStatus":{ - "shape":"String", - "documentation":"

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

" - }, - "SnapshotSource":{ - "shape":"String", - "documentation":"

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the source cache cluster.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) used by the source cache cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the cache engine version that is used by the source cache cluster.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the source cache cluster.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the source cache cluster is located.

" - }, - "CacheClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the source cache cluster was created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The time range (in UTC) during which weekly system maintenance can occur on the source cache cluster.

" - }, - "TopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the topic used by the source cache cluster for publishing notifications.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number used by each cache nodes in the source cache cluster.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The cache parameter group that is associated with the source cache cluster.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group associated with the source cache cluster.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cache cluster.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

For the source cache cluster, indicates whether minor version patches are applied automatically (true) or not (false).

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

For an automatic snapshot, the number of days for which ElastiCache will retain the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cache cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot action.

Important
If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range during which ElastiCache takes daily snapshots of the source cache cluster.

" - }, - "NodeSnapshots":{ - "shape":"NodeSnapshotList", - "documentation":"

A list of the cache nodes in the source cache cluster.

" - } - }, - "wrapper":true, - "documentation":"

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

" - }, - "SnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You already have a snapshot with the given name.

" - }, - "SnapshotArnsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotArn" - } - }, - "SnapshotFeatureNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SnapshotFeatureNotSupportedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You attempted one of the following actions:

  • Creating a snapshot of a Redis cache cluster running on a t1.micro cache node.

  • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

" - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"Snapshot" - } - }, - "SnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested snapshot name does not refer to an existing snapshot.

" - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

" - }, - "SourceType":{ - "type":"string", - "enum":[ - "cache-cluster", - "cache-parameter-group", - "cache-security-group", - "cache-subnet-group" - ] - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier for the subnet

" - }, - "SubnetAvailabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone associated with the subnet

" - } - }, - "documentation":"

Represents the subnet associated with a cache cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

" - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetInUse":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubnetInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is being used by another cache subnet group.

" - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "TStamp":{"type":"timestamp"}, - "AuthorizeCacheSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "CreateCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "CreateCacheParameterGroupResult":{ - "type":"structure", - "members":{ - "CacheParameterGroup":{"shape":"CacheParameterGroup"} - } - }, - "CreateCacheSecurityGroupResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - }, - "CreateCacheSubnetGroupResult":{ - "type":"structure", - "members":{ - "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} - } - }, - "CreateReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "CreateSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "DeleteCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "DeleteReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "DeleteSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "ModifyCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "ModifyCacheSubnetGroupResult":{ - "type":"structure", - "members":{ - "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} - } - }, - "ModifyReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "PurchaseReservedCacheNodesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedCacheNode":{"shape":"ReservedCacheNode"} - } - }, - "RebootCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "RevokeCacheSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/waiters-2.json deleted file mode 100644 index ccb904aa..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2014-09-30/waiters-2.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "version": 2, - "waiters": { - "CacheClusterAvailable": { - "delay": 30, - "operation": "DescribeCacheClusters", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "incompatible-network", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "restore-failed", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - } - ] - }, - "CacheClusterDeleted": { - "delay": 30, - "operation": "DescribeCacheClusters", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "CacheClusterNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - } - ] - }, - "ReplicationGroupAvailable": { - "delay": 30, - "operation": "DescribeReplicationGroups", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "incompatible-network", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "restore-failed", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - } - ] - }, - "ReplicationGroupDeleted": { - "delay": 30, - "operation": "DescribeReplicationGroups", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "ReplicationGroupNotFoundFault", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/paginators-1.json deleted file mode 100644 index 8724740d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/paginators-1.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "pagination": { - "DescribeCacheClusters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheClusters" - }, - "DescribeCacheEngineVersions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheEngineVersions" - }, - "DescribeCacheParameterGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheParameterGroups" - }, - "DescribeCacheParameters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Parameters" - }, - "DescribeCacheSecurityGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheSecurityGroups" - }, - "DescribeCacheSubnetGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "CacheSubnetGroups" - }, - "DescribeEngineDefaultParameters": { - "input_token": "Marker", - "output_token": "EngineDefaults.Marker", - "limit_key": "MaxRecords", - "result_key": "EngineDefaults.Parameters" - }, - "DescribeEvents": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Events" - }, - "DescribeReservedCacheNodes": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedCacheNodes" - }, - "DescribeReservedCacheNodesOfferings": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedCacheNodesOfferings" - }, - "DescribeReplicationGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReplicationGroups" - }, - "DescribeSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Snapshots" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/service-2.json deleted file mode 100644 index 95f4b937..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/service-2.json +++ /dev/null @@ -1,4061 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-02-02", - "endpointPrefix":"elasticache", - "protocol":"query", - "serviceFullName":"Amazon ElastiCache", - "serviceId":"ElastiCache", - "signatureVersion":"v4", - "uid":"elasticache-2015-02-02", - "xmlNamespace":"http://elasticache.amazonaws.com/doc/2015-02-02/" - }, - "operations":{ - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"AddTagsToResourceResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"SnapshotNotFoundFault"}, - {"shape":"TagQuotaPerResourceExceeded"}, - {"shape":"InvalidARNFault"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeCacheSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeCacheSecurityGroupIngressResult", - "resultWrapper":"AuthorizeCacheSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"InvalidCacheSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

You cannot authorize ingress from an Amazon EC2 security group in one region to an ElastiCache cluster in another region.

" - }, - "CopySnapshot":{ - "name":"CopySnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopySnapshotMessage"}, - "output":{ - "shape":"CopySnapshotResult", - "resultWrapper":"CopySnapshotResult" - }, - "errors":[ - {"shape":"SnapshotAlreadyExistsFault"}, - {"shape":"SnapshotNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidSnapshotStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Makes a copy of an existing snapshot.

This operation is valid for Redis only.

Users or groups that have permissions to use the CopySnapshot operation can create their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot operation. For more information about using IAM to control the use of ElastiCache operations, see Exporting Snapshots and Authentication & Access Control.

You could receive the following error messages.

Error Messages

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

" - }, - "CreateCacheCluster":{ - "name":"CreateCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCacheClusterMessage"}, - "output":{ - "shape":"CreateCacheClusterResult", - "resultWrapper":"CreateCacheClusterResult" - }, - "errors":[ - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidReplicationGroupStateFault"}, - {"shape":"CacheClusterAlreadyExistsFault"}, - {"shape":"InsufficientCacheClusterCapacityFault"}, - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"CacheSubnetGroupNotFoundFault"}, - {"shape":"ClusterQuotaForCustomerExceededFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"TagQuotaPerResourceExceeded"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

" - }, - "CreateCacheParameterGroup":{ - "name":"CreateCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCacheParameterGroupMessage"}, - "output":{ - "shape":"CreateCacheParameterGroupResult", - "resultWrapper":"CreateCacheParameterGroupResult" - }, - "errors":[ - {"shape":"CacheParameterGroupQuotaExceededFault"}, - {"shape":"CacheParameterGroupAlreadyExistsFault"}, - {"shape":"InvalidCacheParameterGroupStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

" - }, - "CreateCacheSecurityGroup":{ - "name":"CreateCacheSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCacheSecurityGroupMessage"}, - "output":{ - "shape":"CreateCacheSecurityGroupResult", - "resultWrapper":"CreateCacheSecurityGroupResult" - }, - "errors":[ - {"shape":"CacheSecurityGroupAlreadyExistsFault"}, - {"shape":"CacheSecurityGroupQuotaExceededFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Creates a new cache security group. Use a cache security group to control access to one or more clusters.

Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" - }, - "CreateCacheSubnetGroup":{ - "name":"CreateCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCacheSubnetGroupMessage"}, - "output":{ - "shape":"CreateCacheSubnetGroupResult", - "resultWrapper":"CreateCacheSubnetGroupResult" - }, - "errors":[ - {"shape":"CacheSubnetGroupAlreadyExistsFault"}, - {"shape":"CacheSubnetGroupQuotaExceededFault"}, - {"shape":"CacheSubnetQuotaExceededFault"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "CreateReplicationGroup":{ - "name":"CreateReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReplicationGroupMessage"}, - "output":{ - "shape":"CreateReplicationGroupResult", - "resultWrapper":"CreateReplicationGroupResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"ReplicationGroupAlreadyExistsFault"}, - {"shape":"InsufficientCacheClusterCapacityFault"}, - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"CacheSubnetGroupNotFoundFault"}, - {"shape":"ClusterQuotaForCustomerExceededFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"TagQuotaPerResourceExceeded"}, - {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, - {"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 clusters, where one of the clusters is a read/write primary and the others are read-only replicas. Writes to the primary are asynchronously propagated to the replicas.

A Redis (cluster mode enabled) replication group is a collection of 1 to 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotMessage"}, - "output":{ - "shape":"CreateSnapshotResult", - "resultWrapper":"CreateSnapshotResult" - }, - "errors":[ - {"shape":"SnapshotAlreadyExistsFault"}, - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"InvalidReplicationGroupStateFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"SnapshotFeatureNotSupportedFault"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Creates a copy of an entire cluster or replication group at a specific moment in time.

This operation is valid for Redis only.

" - }, - "DeleteCacheCluster":{ - "name":"DeleteCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCacheClusterMessage"}, - "output":{ - "shape":"DeleteCacheClusterResult", - "resultWrapper":"DeleteCacheClusterResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"SnapshotAlreadyExistsFault"}, - {"shape":"SnapshotFeatureNotSupportedFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.

This operation cannot be used to delete a cluster that is the last read replica of a replication group or node group (shard) that has Multi-AZ mode enabled or a cluster from a Redis (cluster mode enabled) replication group.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

" - }, - "DeleteCacheParameterGroup":{ - "name":"DeleteCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCacheParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidCacheParameterGroupStateFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

" - }, - "DeleteCacheSecurityGroup":{ - "name":"DeleteCacheSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCacheSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidCacheSecurityGroupStateFault"}, - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes a cache security group.

You cannot delete a cache security group if it is associated with any clusters.

" - }, - "DeleteCacheSubnetGroup":{ - "name":"DeleteCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCacheSubnetGroupMessage"}, - "errors":[ - {"shape":"CacheSubnetGroupInUse"}, - {"shape":"CacheSubnetGroupNotFoundFault"} - ], - "documentation":"

Deletes a cache subnet group.

You cannot delete a cache subnet group if it is associated with any clusters.

" - }, - "DeleteReplicationGroup":{ - "name":"DeleteReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReplicationGroupMessage"}, - "output":{ - "shape":"DeleteReplicationGroupResult", - "resultWrapper":"DeleteReplicationGroupResult" - }, - "errors":[ - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidReplicationGroupStateFault"}, - {"shape":"SnapshotAlreadyExistsFault"}, - {"shape":"SnapshotFeatureNotSupportedFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting RetainPrimaryCluster=true.

When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this operation.

This operation is valid for Redis only.

" - }, - "DeleteSnapshot":{ - "name":"DeleteSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotMessage"}, - "output":{ - "shape":"DeleteSnapshotResult", - "resultWrapper":"DeleteSnapshotResult" - }, - "errors":[ - {"shape":"SnapshotNotFoundFault"}, - {"shape":"InvalidSnapshotStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this operation.

This operation is valid for Redis only.

" - }, - "DescribeCacheClusters":{ - "name":"DescribeCacheClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheClustersMessage"}, - "output":{ - "shape":"CacheClusterMessage", - "resultWrapper":"DescribeCacheClustersResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.

By default, abbreviated information about the clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the creating state, only cluster-level information is displayed until all of the nodes are successfully provisioned.

If the cluster is in the deleting state, only cluster-level information is displayed.

If cache nodes are currently being added to the cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is displayed.

" - }, - "DescribeCacheEngineVersions":{ - "name":"DescribeCacheEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheEngineVersionsMessage"}, - "output":{ - "shape":"CacheEngineVersionMessage", - "resultWrapper":"DescribeCacheEngineVersionsResult" - }, - "documentation":"

Returns a list of the available cache engines and their versions.

" - }, - "DescribeCacheParameterGroups":{ - "name":"DescribeCacheParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheParameterGroupsMessage"}, - "output":{ - "shape":"CacheParameterGroupsMessage", - "resultWrapper":"DescribeCacheParameterGroupsResult" - }, - "errors":[ - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.

" - }, - "DescribeCacheParameters":{ - "name":"DescribeCacheParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheParametersMessage"}, - "output":{ - "shape":"CacheParameterGroupDetails", - "resultWrapper":"DescribeCacheParametersResult" - }, - "errors":[ - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns the detailed parameter list for a particular cache parameter group.

" - }, - "DescribeCacheSecurityGroups":{ - "name":"DescribeCacheSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheSecurityGroupsMessage"}, - "output":{ - "shape":"CacheSecurityGroupMessage", - "resultWrapper":"DescribeCacheSecurityGroupsResult" - }, - "errors":[ - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group.

" - }, - "DescribeCacheSubnetGroups":{ - "name":"DescribeCacheSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheSubnetGroupsMessage"}, - "output":{ - "shape":"CacheSubnetGroupMessage", - "resultWrapper":"DescribeCacheSubnetGroupsResult" - }, - "errors":[ - {"shape":"CacheSubnetGroupNotFoundFault"} - ], - "documentation":"

Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

" - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns the default engine and system parameter information for the specified cache engine.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - }, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cluster, cache security group, or cache parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" - }, - "DescribeReplicationGroups":{ - "name":"DescribeReplicationGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReplicationGroupsMessage"}, - "output":{ - "shape":"ReplicationGroupMessage", - "resultWrapper":"DescribeReplicationGroupsResult" - }, - "errors":[ - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

This operation is valid for Redis only.

" - }, - "DescribeReservedCacheNodes":{ - "name":"DescribeReservedCacheNodes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedCacheNodesMessage"}, - "output":{ - "shape":"ReservedCacheNodeMessage", - "resultWrapper":"DescribeReservedCacheNodesResult" - }, - "errors":[ - {"shape":"ReservedCacheNodeNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns information about reserved cache nodes for this account, or about a specified reserved cache node.

" - }, - "DescribeReservedCacheNodesOfferings":{ - "name":"DescribeReservedCacheNodesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedCacheNodesOfferingsMessage"}, - "output":{ - "shape":"ReservedCacheNodesOfferingMessage", - "resultWrapper":"DescribeReservedCacheNodesOfferingsResult" - }, - "errors":[ - {"shape":"ReservedCacheNodesOfferingNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Lists available reserved cache node offerings.

" - }, - "DescribeSnapshots":{ - "name":"DescribeSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotsMessage"}, - "output":{ - "shape":"DescribeSnapshotsListMessage", - "resultWrapper":"DescribeSnapshotsResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"SnapshotNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Returns information about cluster or replication group snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

This operation is valid for Redis only.

" - }, - "ListAllowedNodeTypeModifications":{ - "name":"ListAllowedNodeTypeModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAllowedNodeTypeModificationsMessage"}, - "output":{ - "shape":"AllowedNodeTypeModificationsMessage", - "resultWrapper":"ListAllowedNodeTypeModificationsResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidParameterCombinationException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.

When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this operation.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"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 50 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache.

" - }, - "ModifyCacheCluster":{ - "name":"ModifyCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyCacheClusterMessage"}, - "output":{ - "shape":"ModifyCacheClusterResult", - "resultWrapper":"ModifyCacheClusterResult" - }, - "errors":[ - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"InvalidCacheSecurityGroupStateFault"}, - {"shape":"InsufficientCacheClusterCapacityFault"}, - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.

" - }, - "ModifyCacheParameterGroup":{ - "name":"ModifyCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyCacheParameterGroupMessage"}, - "output":{ - "shape":"CacheParameterGroupNameMessage", - "resultWrapper":"ModifyCacheParameterGroupResult" - }, - "errors":[ - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidCacheParameterGroupStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" - }, - "ModifyCacheSubnetGroup":{ - "name":"ModifyCacheSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyCacheSubnetGroupMessage"}, - "output":{ - "shape":"ModifyCacheSubnetGroupResult", - "resultWrapper":"ModifyCacheSubnetGroupResult" - }, - "errors":[ - {"shape":"CacheSubnetGroupNotFoundFault"}, - {"shape":"CacheSubnetQuotaExceededFault"}, - {"shape":"SubnetInUse"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Modifies an existing cache subnet group.

" - }, - "ModifyReplicationGroup":{ - "name":"ModifyReplicationGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReplicationGroupMessage"}, - "output":{ - "shape":"ModifyReplicationGroupResult", - "resultWrapper":"ModifyReplicationGroupResult" - }, - "errors":[ - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidReplicationGroupStateFault"}, - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"InvalidCacheSecurityGroupStateFault"}, - {"shape":"InsufficientCacheClusterCapacityFault"}, - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"NodeQuotaForClusterExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the settings for a replication group.

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

This operation is valid for Redis only.

" - }, - "ModifyReplicationGroupShardConfiguration":{ - "name":"ModifyReplicationGroupShardConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyReplicationGroupShardConfigurationMessage"}, - "output":{ - "shape":"ModifyReplicationGroupShardConfigurationResult", - "resultWrapper":"ModifyReplicationGroupShardConfigurationResult" - }, - "errors":[ - {"shape":"ReplicationGroupNotFoundFault"}, - {"shape":"InvalidReplicationGroupStateFault"}, - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InsufficientCacheClusterCapacityFault"}, - {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, - {"shape":"NodeQuotaForCustomerExceededFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Performs horizontal scaling on a Redis (cluster mode enabled) cluster with no downtime. Requires Redis engine version 3.2.10 or newer. For information on upgrading your engine to a newer version, see Upgrading Engine Versions in the Amazon ElastiCache User Guide.

For more information on ElastiCache for Redis online horizontal scaling, see ElastiCache for Redis Horizontal Scaling

" - }, - "PurchaseReservedCacheNodesOffering":{ - "name":"PurchaseReservedCacheNodesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedCacheNodesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedCacheNodesOfferingResult", - "resultWrapper":"PurchaseReservedCacheNodesOfferingResult" - }, - "errors":[ - {"shape":"ReservedCacheNodesOfferingNotFoundFault"}, - {"shape":"ReservedCacheNodeAlreadyExistsFault"}, - {"shape":"ReservedCacheNodeQuotaExceededFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Allows you to purchase a reserved cache node offering.

" - }, - "RebootCacheCluster":{ - "name":"RebootCacheCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootCacheClusterMessage"}, - "output":{ - "shape":"RebootCacheClusterResult", - "resultWrapper":"RebootCacheClusterResult" - }, - "errors":[ - {"shape":"InvalidCacheClusterStateFault"}, - {"shape":"CacheClusterNotFoundFault"} - ], - "documentation":"

Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the cluster status is set to REBOOTING.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cluster event is created.

Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis (cluster mode enabled) clusters.

If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, see Rebooting a Cluster for an alternate process.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"RemoveTagsFromResourceResult" - }, - "errors":[ - {"shape":"CacheClusterNotFoundFault"}, - {"shape":"SnapshotNotFoundFault"}, - {"shape":"InvalidARNFault"}, - {"shape":"TagNotFoundFault"} - ], - "documentation":"

Removes the tags identified by the TagKeys list from the named resource.

" - }, - "ResetCacheParameterGroup":{ - "name":"ResetCacheParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetCacheParameterGroupMessage"}, - "output":{ - "shape":"CacheParameterGroupNameMessage", - "resultWrapper":"ResetCacheParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidCacheParameterGroupStateFault"}, - {"shape":"CacheParameterGroupNotFoundFault"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} - ], - "documentation":"

Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

" - }, - "RevokeCacheSecurityGroupIngress":{ - "name":"RevokeCacheSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeCacheSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeCacheSecurityGroupIngressResult", - "resultWrapper":"RevokeCacheSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"CacheSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidCacheSecurityGroupStateFault"}, - {"shape":"InvalidParameterValueException"}, - {"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":[ - "single-az", - "cross-az" - ] - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource to which the tags are to be added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache resources are cluster and snapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value.

" - } - }, - "documentation":"

Represents the input of an AddTagsToResource operation.

" - }, - "AllowedNodeTypeModificationsMessage":{ - "type":"structure", - "members":{ - "ScaleUpModifications":{ - "shape":"NodeTypeList", - "documentation":"

A string list, each element of which specifies a cache node type which you can use to scale your 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 cluster or replication group.

" - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon EC2 security group is already authorized for the specified cache security group.

", - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon EC2 security group is not authorized for the specified cache security group.

", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizeCacheSecurityGroupIngressMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "EC2SecurityGroupName", - "EC2SecurityGroupOwnerId" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The cache security group that allows network ingress.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The Amazon EC2 security group to be authorized for ingress to the cache security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" - } - }, - "documentation":"

Represents the input of an AuthorizeCacheSecurityGroupIngress operation.

" - }, - "AuthorizeCacheSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - }, - "AutomaticFailoverStatus":{ - "type":"string", - "enum":[ - "enabled", - "disabled", - "enabling", - "disabling" - ] - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the Availability Zone.

" - } - }, - "documentation":"

Describes an Availability Zone in which the cluster is launched.

", - "wrapper":true - }, - "AvailabilityZonesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AvailabilityZone" - } - }, - "AwsQueryErrorMessage":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CacheCluster":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.

" - }, - "ConfigurationEndpoint":{ - "shape":"Endpoint", - "documentation":"

Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by an application to connect to any node in the cluster. The configuration endpoint will always have .cfg in it.

Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211

" - }, - "ClientDownloadLandingPage":{ - "shape":"String", - "documentation":"

The URL of the web page where you can download the latest ElastiCache client library.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) to be used for this cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the cache engine that is used in this cluster.

" - }, - "CacheClusterStatus":{ - "shape":"String", - "documentation":"

The current state of this cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cluster nodes, restore-failed, or snapshotting.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones.

" - }, - "CacheClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cluster was created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "NotificationConfiguration":{ - "shape":"NotificationConfiguration", - "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

" - }, - "CacheSecurityGroups":{ - "shape":"CacheSecurityGroupMembershipList", - "documentation":"

A list of cache security group elements, composed of name and status sub-elements.

" - }, - "CacheParameterGroup":{ - "shape":"CacheParameterGroupStatus", - "documentation":"

Status of the cache parameter group.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group associated with the cluster.

" - }, - "CacheNodes":{ - "shape":"CacheNodeList", - "documentation":"

A list of cache nodes that are members of the cluster.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

This parameter is currently disabled.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroupMembershipList", - "documentation":"

A list of VPC Security Groups associated with the cluster.

" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any replication group.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.

Example: 05:00-09:00

" - }, - "AuthTokenEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

" - }, - "TransitEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Default: false

" - }, - "AtRestEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Default: false

" - } - }, - "documentation":"

Contains all of the attributes of a specific cluster.

", - "wrapper":true - }, - "CacheClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You already have a cluster with the given identifier.

", - "error":{ - "code":"CacheClusterAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheClusterList":{ - "type":"list", - "member":{ - "shape":"CacheCluster", - "locationName":"CacheCluster" - } - }, - "CacheClusterMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheClusters":{ - "shape":"CacheClusterList", - "documentation":"

A list of clusters. Each item in the list contains detailed information about one cluster.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheClusters operation.

" - }, - "CacheClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cluster ID does not refer to an existing cluster.

", - "error":{ - "code":"CacheClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "CacheEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cache engine.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family associated with this cache engine.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" - }, - "CacheEngineDescription":{ - "shape":"String", - "documentation":"

The description of the cache engine.

" - }, - "CacheEngineVersionDescription":{ - "shape":"String", - "documentation":"

The description of the cache engine version.

" - } - }, - "documentation":"

Provides all of the details about a particular cache engine version.

" - }, - "CacheEngineVersionList":{ - "type":"list", - "member":{ - "shape":"CacheEngineVersion", - "locationName":"CacheEngineVersion" - } - }, - "CacheEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheEngineVersions":{ - "shape":"CacheEngineVersionList", - "documentation":"

A list of cache engine version details. Each element in the list contains detailed information about one cache engine version.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheEngineVersions operation.

" - }, - "CacheNode":{ - "type":"structure", - "members":{ - "CacheNodeId":{ - "shape":"String", - "documentation":"

The cache node identifier. A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer's AWS account.

" - }, - "CacheNodeStatus":{ - "shape":"String", - "documentation":"

The current state of this cache node.

" - }, - "CacheNodeCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cache node was created.

" - }, - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The hostname for connecting to this cache node.

" - }, - "ParameterGroupStatus":{ - "shape":"String", - "documentation":"

The status of the parameter group applied to this cache node.

" - }, - "SourceCacheNodeId":{ - "shape":"String", - "documentation":"

The ID of the primary node to which this read replica node is synchronized. If this field is empty, this node is not associated with a primary cluster.

" - }, - "CustomerAvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where this node was created and now resides.

" - } - }, - "documentation":"

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "CacheNodeIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CacheNodeId" - } - }, - "CacheNodeList":{ - "type":"list", - "member":{ - "shape":"CacheNode", - "locationName":"CacheNode" - } - }, - "CacheNodeTypeSpecificParameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the parameter value.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest cache engine version to which the parameter can apply.

" - }, - "CacheNodeTypeSpecificValues":{ - "shape":"CacheNodeTypeSpecificValueList", - "documentation":"

A list of cache node types and their corresponding values for this parameter.

" - }, - "ChangeType":{ - "shape":"ChangeType", - "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" - } - }, - "documentation":"

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" - }, - "CacheNodeTypeSpecificParametersList":{ - "type":"list", - "member":{ - "shape":"CacheNodeTypeSpecificParameter", - "locationName":"CacheNodeTypeSpecificParameter" - } - }, - "CacheNodeTypeSpecificValue":{ - "type":"structure", - "members":{ - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for which this value applies.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value for the cache node type.

" - } - }, - "documentation":"

A value that applies only to a certain cache node type.

" - }, - "CacheNodeTypeSpecificValueList":{ - "type":"list", - "member":{ - "shape":"CacheNodeTypeSpecificValue", - "locationName":"CacheNodeTypeSpecificValue" - } - }, - "CacheParameterGroup":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for this cache parameter group.

" - } - }, - "documentation":"

Represents the output of a CreateCacheParameterGroup operation.

", - "wrapper":true - }, - "CacheParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A cache parameter group with the requested name already exists.

", - "error":{ - "code":"CacheParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheParameterGroupDetails":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter instances.

" - }, - "CacheNodeTypeSpecificParameters":{ - "shape":"CacheNodeTypeSpecificParametersList", - "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheParameters operation.

" - }, - "CacheParameterGroupList":{ - "type":"list", - "member":{ - "shape":"CacheParameterGroup", - "locationName":"CacheParameterGroup" - } - }, - "CacheParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - } - }, - "documentation":"

Represents the output of one of the following operations:

  • ModifyCacheParameterGroup

  • ResetCacheParameterGroup

" - }, - "CacheParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache parameter group name does not refer to an existing cache parameter group.

", - "error":{ - "code":"CacheParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "CacheParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the maximum number of cache security groups.

", - "error":{ - "code":"CacheParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheParameterGroupStatus":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - }, - "CacheNodeIdsToReboot":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of the cache node IDs which need to be rebooted for parameter changes to be applied. A node ID is a numeric identifier (0001, 0002, etc.).

" - } - }, - "documentation":"

Status of the cache parameter group.

" - }, - "CacheParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheParameterGroups":{ - "shape":"CacheParameterGroupList", - "documentation":"

A list of cache parameter groups. Each element in the list contains detailed information about one cache parameter group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheParameterGroups operation.

" - }, - "CacheSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the cache security group owner.

" - }, - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the cache security group.

" - }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

A list of Amazon EC2 security groups that are associated with this cache security group.

" - } - }, - "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress

  • CreateCacheSecurityGroup

  • RevokeCacheSecurityGroupIngress

", - "wrapper":true - }, - "CacheSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A cache security group with the specified name already exists.

", - "error":{ - "code":"CacheSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSecurityGroupMembership":{ - "type":"structure", - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The membership status in the cache security group. The status changes when a cache security group is modified, or when the cache security groups assigned to a cluster are modified.

" - } - }, - "documentation":"

Represents a cluster's status within a particular cache security group.

" - }, - "CacheSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"CacheSecurityGroupMembership", - "locationName":"CacheSecurityGroup" - } - }, - "CacheSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheSecurityGroups":{ - "shape":"CacheSecurityGroups", - "documentation":"

A list of cache security groups. Each element in the list contains detailed information about one group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheSecurityGroups operation.

" - }, - "CacheSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"CacheSecurityGroupName" - } - }, - "CacheSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache security group name does not refer to an existing cache security group.

", - "error":{ - "code":"CacheSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "CacheSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache security groups.

", - "error":{ - "code":"QuotaExceeded.CacheSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSecurityGroups":{ - "type":"list", - "member":{ - "shape":"CacheSecurityGroup", - "locationName":"CacheSecurityGroup" - } - }, - "CacheSubnetGroup":{ - "type":"structure", - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group.

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description of the cache subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

A list of subnets associated with the cache subnet group.

" - } - }, - "documentation":"

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup

  • ModifyCacheSubnetGroup

", - "wrapper":true - }, - "CacheSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache subnet group name is already in use by an existing cache subnet group.

", - "error":{ - "code":"CacheSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSubnetGroupInUse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache subnet group is currently in use.

", - "error":{ - "code":"CacheSubnetGroupInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "CacheSubnetGroups":{ - "shape":"CacheSubnetGroups", - "documentation":"

A list of cache subnet groups. Each element in the list contains detailed information about one group.

" - } - }, - "documentation":"

Represents the output of a DescribeCacheSubnetGroups operation.

" - }, - "CacheSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache subnet group name does not refer to an existing cache subnet group.

", - "error":{ - "code":"CacheSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache subnet groups.

", - "error":{ - "code":"CacheSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CacheSubnetGroups":{ - "type":"list", - "member":{ - "shape":"CacheSubnetGroup", - "locationName":"CacheSubnetGroup" - } - }, - "CacheSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a cache subnet group.

", - "error":{ - "code":"CacheSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ChangeType":{ - "type":"string", - "enum":[ - "immediate", - "requires-reboot" - ] - }, - "ClusterIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ClusterId" - } - }, - "ClusterQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of clusters per customer.

", - "error":{ - "code":"ClusterQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CopySnapshotMessage":{ - "type":"structure", - "required":[ - "SourceSnapshotName", - "TargetSnapshotName" - ], - "members":{ - "SourceSnapshotName":{ - "shape":"String", - "documentation":"

The name of an existing snapshot from which to make a copy.

" - }, - "TargetSnapshotName":{ - "shape":"String", - "documentation":"

A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, therefore this name must be unique within its context - ElastiCache or an Amazon S3 bucket if exporting.

" - }, - "TargetBucket":{ - "shape":"String", - "documentation":"

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access.

When using this parameter to export a snapshot, be sure Amazon ElastiCache has the needed permissions to this S3 bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the Amazon ElastiCache User Guide.

For more information, see Exporting a Snapshot in the Amazon ElastiCache User Guide.

" - } - }, - "documentation":"

Represents the input of a CopySnapshotMessage operation.

" - }, - "CopySnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "CreateCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The node group (shard) identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

Due to current limitations on Redis (cluster mode disabled), this operation or parameter is not supported on Redis (cluster mode enabled) replication groups.

The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

If the specified replication group is Multi-AZ enabled and the Availability Zone is not specified, the cluster is created in Availability Zones that provide the best spread of read replicas across Availability Zones.

This parameter is only valid if the Engine parameter is redis.

" - }, - "AZMode":{ - "shape":"AZMode", - "documentation":"

Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region.

This parameter is only supported for Memcached clusters.

If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache assumes single-az mode.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone in which the cluster is created.

All nodes belonging to this Memcached cluster are placed in the preferred Availability Zone. If you want to create your nodes across multiple Availability Zones, use PreferredAvailabilityZones.

Default: System chosen Availability Zone.

" - }, - "PreferredAvailabilityZones":{ - "shape":"PreferredAvailabilityZoneList", - "documentation":"

A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.

This option is only supported on Memcached.

If you are creating your cluster in an Amazon VPC (recommended) you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheNodes.

If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone instead, or repeat the Availability Zone multiple times in the list.

Default: System chosen Availability Zones.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The initial number of cache nodes that the cluster has.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

If you need more than 20 nodes for your Memcached cluster, please fill out the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine to be used for this cluster.

Valid values for this parameter are: memcached | redis

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cache engine to be used for this cluster. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group to be used for the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of security group names to associate with this cluster.

Use this parameter only when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

One or more VPC security groups associated with the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of cost allocation tags to be added to this resource.

" - }, - "SnapshotArns":{ - "shape":"SnapshotArnsList", - "documentation":"

A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.

This parameter is only valid if the Engine parameter is redis.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a Redis snapshot from which to restore data into the new node group (shard). The snapshot status changes to restoring while the new node group (shard) is being created.

This parameter is only valid if the Engine parameter is redis.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which each of the cache nodes accepts connections.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cluster owner.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is currently disabled.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot taken today is retained for 5 days before being deleted.

This parameter is only valid if the Engine parameter is redis.

Default: 0 (i.e., automatic backups are disabled for this cluster).

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

This parameter is only valid if the Engine parameter is redis.

" - }, - "AuthToken":{ - "shape":"String", - "documentation":"

Reserved parameter. The password used to access a password protected server.

This parameter is valid only if:

  • The parameter TransitEncryptionEnabled was set to true when the cluster was created.

  • The line requirepass was added to the database configuration file.

Password constraints:

  • Must be only printable ASCII characters.

  • Must be at least 16 characters and no more than 128 characters in length.

  • Cannot contain any of the following characters: '/', '\"', or '@'.

For more information, see AUTH password at http://redis.io/commands/AUTH.

" - } - }, - "documentation":"

Represents the input of a CreateCacheCluster operation.

" - }, - "CreateCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "CreateCacheParameterGroupMessage":{ - "type":"structure", - "required":[ - "CacheParameterGroupName", - "CacheParameterGroupFamily", - "Description" - ], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

A user-specified name for the cache parameter group.

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family that the cache parameter group can be used with.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" - }, - "Description":{ - "shape":"String", - "documentation":"

A user-specified description for the cache parameter group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheParameterGroup operation.

" - }, - "CreateCacheParameterGroupResult":{ - "type":"structure", - "members":{ - "CacheParameterGroup":{"shape":"CacheParameterGroup"} - } - }, - "CreateCacheSecurityGroupMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "Description" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

A name for the cache security group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters. Cannot be the word \"Default\".

Example: mysecuritygroup

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the cache security group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheSecurityGroup operation.

" - }, - "CreateCacheSecurityGroupResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - }, - "CreateCacheSubnetGroupMessage":{ - "type":"structure", - "required":[ - "CacheSubnetGroupName", - "CacheSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

A name for the cache subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

Example: mysubnetgroup

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

A description for the cache subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

A list of VPC subnet IDs for the cache subnet group.

" - } - }, - "documentation":"

Represents the input of a CreateCacheSubnetGroup operation.

" - }, - "CreateCacheSubnetGroupResult":{ - "type":"structure", - "members":{ - "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} - } - }, - "CreateReplicationGroupMessage":{ - "type":"structure", - "required":[ - "ReplicationGroupId", - "ReplicationGroupDescription" - ], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The replication group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "ReplicationGroupDescription":{ - "shape":"String", - "documentation":"

A user-created description for the replication group.

" - }, - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of available.

This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup is specified.

" - }, - "AutomaticFailoverEnabled":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.

If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group.

AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) replication groups.

Default: false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" - }, - "NumCacheClusters":{ - "shape":"IntegerOptional", - "documentation":"

The number of clusters this replication group initially has.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If 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", - "documentation":"

A list of EC2 Availability Zones in which the replication group's clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.

This parameter is not used if there is more than one node group (shard). You should use NodeGroupConfiguration instead.

If you are creating your replication group in an Amazon VPC (recommended), you can only locate clusters in Availability Zones associated with the subnets in the selected subnet group.

The number of Availability Zones listed must equal the value of NumCacheClusters.

Default: system chosen Availability Zones.

" - }, - "NumNodeGroups":{ - "shape":"IntegerOptional", - "documentation":"

An optional parameter that specifies the number of node groups (shards) for this Redis (cluster mode enabled) replication group. For Redis (cluster mode disabled) either omit this parameter or set it to 1.

Default: 1

" - }, - "ReplicasPerNodeGroup":{ - "shape":"IntegerOptional", - "documentation":"

An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.

" - }, - "NodeGroupConfiguration":{ - "shape":"NodeGroupConfigurationList", - "documentation":"

A list of node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to individually configure each node group (shard), or you can omit this parameter.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine to be used for the clusters in this replication group.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions operation.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version) in the ElastiCache User Guide, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster or replication group and create it anew with the earlier engine version.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.

If you are running Redis version 3.2.4 or later, only one node group (shard), and want to use a default parameter group, we recommend that you specify the parameter group by name.

  • To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

  • To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to be used for the replication group.

If you're going to launch your cluster in an Amazon VPC, you need to create a subnet group before you start creating a cluster. For more information, see Subnets and Subnet Groups.

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to associate with this replication group.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

One or more Amazon VPC security groups associated with this replication group.

Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of cost allocation tags to be added to this resource. A tag is a key-value pair. A tag key does not have to be accompanied by a tag value.

" - }, - "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 new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.

Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to restoring while the new replication group is being created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid values for ddd are:

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which each member of the replication group accepts connections.

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

The Amazon SNS topic owner must be the same as the cluster owner.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is currently disabled.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

Default: 0 (i.e., automatic backups are disabled for this cluster).

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

" - }, - "AuthToken":{ - "shape":"String", - "documentation":"

Reserved parameter. The password used to access a password protected server.

This parameter is valid only if:

  • The parameter TransitEncryptionEnabled was set to true when the cluster was created.

  • The line requirepass was added to the database configuration file.

Password constraints:

  • Must be only printable ASCII characters.

  • Must be at least 16 characters and no more than 128 characters in length.

  • Cannot contain any of the following characters: '/', '\"', or '@'.

For more information, see AUTH password at http://redis.io/commands/AUTH.

" - }, - "TransitEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

This parameter is valid only if the Engine parameter is redis, the EngineVersion parameter is 3.2.4 or later, and the cluster is being created in an Amazon VPC.

If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup.

Default: false

" - }, - "AtRestEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables encryption at rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group.

This parameter is valid only if the Engine parameter is redis and the cluster is being created in an Amazon VPC.

Default: false

" - } - }, - "documentation":"

Represents the input of a CreateReplicationGroup operation.

" - }, - "CreateReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "CreateSnapshotMessage":{ - "type":"structure", - "required":["SnapshotName"], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier of an existing replication group. The snapshot is created from this replication group.

" - }, - "CacheClusterId":{ - "shape":"String", - "documentation":"

The identifier of an existing cluster. The snapshot is created from this cluster.

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

A name for the snapshot being created.

" - } - }, - "documentation":"

Represents the input of a CreateSnapshot operation.

" - }, - "CreateSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "DeleteCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

" - }, - "FinalSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheCluster operation.

" - }, - "DeleteCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "DeleteCacheParameterGroupMessage":{ - "type":"structure", - "required":["CacheParameterGroupName"], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to delete.

The specified cache security group must not be associated with any clusters.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheParameterGroup operation.

" - }, - "DeleteCacheSecurityGroupMessage":{ - "type":"structure", - "required":["CacheSecurityGroupName"], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to delete.

You cannot delete the default security group.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheSecurityGroup operation.

" - }, - "DeleteCacheSubnetGroupMessage":{ - "type":"structure", - "required":["CacheSubnetGroupName"], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to delete.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

" - } - }, - "documentation":"

Represents the input of a DeleteCacheSubnetGroup operation.

" - }, - "DeleteReplicationGroupMessage":{ - "type":"structure", - "required":["ReplicationGroupId"], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the cluster to be deleted. This parameter is not case sensitive.

" - }, - "RetainPrimaryCluster":{ - "shape":"BooleanOptional", - "documentation":"

If set to true, all of the read replicas are deleted, but the primary node is retained.

" - }, - "FinalSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.

" - } - }, - "documentation":"

Represents the input of a DeleteReplicationGroup operation.

" - }, - "DeleteReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "DeleteSnapshotMessage":{ - "type":"structure", - "required":["SnapshotName"], - "members":{ - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of the snapshot to be deleted.

" - } - }, - "documentation":"

Represents the input of a DeleteSnapshot operation.

" - }, - "DeleteSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "DescribeCacheClustersMessage":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn't case sensitive.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "ShowCacheNodeInfo":{ - "shape":"BooleanOptional", - "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" - }, - "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.

" - }, - "DescribeCacheEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The cache engine to return. Valid values: memcached | redis

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The cache engine version to return.

Example: 1.4.14

" - }, - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group family to return details for.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DefaultOnly":{ - "shape":"Boolean", - "documentation":"

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheEngineVersions operation.

" - }, - "DescribeCacheParameterGroupsMessage":{ - "type":"structure", - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheParameterGroups operation.

" - }, - "DescribeCacheParametersMessage":{ - "type":"structure", - "required":["CacheParameterGroupName"], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific cache parameter group to return details for.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return.

Valid values: user | system | engine-default

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheParameters operation.

" - }, - "DescribeCacheSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheSecurityGroups operation.

" - }, - "DescribeCacheSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group to return details for.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeCacheSubnetGroups operation.

" - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["CacheParameterGroupFamily"], - "members":{ - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeEngineDefaultParameters operation.

" - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" - }, - "StartTime":{ - "shape":"TStamp", - "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.

Example: 2017-03-30T07:03:49.555Z

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes worth of events to retrieve.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeEvents operation.

" - }, - "DescribeReplicationGroupsMessage":{ - "type":"structure", - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the replication group to be described. This parameter is not case sensitive.

If you do not specify this parameter, information about all replication groups is returned.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReplicationGroups operation.

" - }, - "DescribeReservedCacheNodesMessage":{ - "type":"structure", - "members":{ - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

The reserved cache node identifier filter value. Use this parameter to show only the reservation that matches the specified reservation ID.

" - }, - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Use this parameter to show only purchased reservations matching the specified offering identifier.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

The duration filter value, specified in years or seconds. Use this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Use this parameter to show only those reservations matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReservedCacheNodes operation.

" - }, - "DescribeReservedCacheNodesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

Duration filter value, specified in years or seconds. Use this parameter to show only reservations for a given duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Use this parameter to show only the available offerings matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Use this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\"|\"Medium Utilization\"|\"Heavy Utilization\"

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20; maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" - }, - "DescribeSnapshotsListMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

A list of snapshots. Each item in the list contains detailed information about one snapshot.

" - } - }, - "documentation":"

Represents the output of a DescribeSnapshots operation.

" - }, - "DescribeSnapshotsMessage":{ - "type":"structure", - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

A user-supplied replication group identifier. If this parameter is specified, only snapshots associated with that specific replication group are described.

" - }, - "CacheClusterId":{ - "shape":"String", - "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

" - }, - "SnapshotName":{ - "shape":"String", - "documentation":"

A user-supplied name of the snapshot. If this parameter is specified, only this snapshot are described.

" - }, - "SnapshotSource":{ - "shape":"String", - "documentation":"

If set to system, the output shows snapshots that were automatically created by ElastiCache. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

Default: 50

Constraints: minimum 20; maximum 50.

" - }, - "ShowNodeGroupConfig":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value which if true, the node group (shard) configuration is included in the snapshot description.

" - } - }, - "documentation":"

Represents the input of a DescribeSnapshotsMessage operation.

" - }, - "Double":{"type":"double"}, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the Amazon EC2 security group.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the Amazon EC2 security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account ID of the Amazon EC2 security group owner.

" - } - }, - "documentation":"

Provides ownership and status information for an Amazon EC2 security group.

" - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

The DNS hostname of the cache node.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port number that the cache engine is listening on.

" - } - }, - "documentation":"

Represents the information required for client programs to connect to a cache node.

" - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "CacheParameterGroupFamily":{ - "shape":"String", - "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" - }, - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Contains a list of engine default parameters.

" - }, - "CacheNodeTypeSpecificParameters":{ - "shape":"CacheNodeTypeSpecificParametersList", - "documentation":"

A list of parameters specific to a particular cache node type. Each element in the list contains detailed information about one parameter.

" - } - }, - "documentation":"

Represents the output of a DescribeEngineDefaultParameters operation.

", - "wrapper":true - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The text of 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 cluster, adding or removing a cache node, or rebooting a node.

" - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of events. Each element in the list contains detailed information about one event.

" - } - }, - "documentation":"

Represents the output of a DescribeEvents operation.

" - }, - "InsufficientCacheClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

", - "error":{ - "code":"InsufficientCacheClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidARNFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested Amazon Resource Name (ARN) does not refer to an existing resource.

", - "error":{ - "code":"InvalidARN", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidCacheClusterStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cluster is not in the available state.

", - "error":{ - "code":"InvalidCacheClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidCacheParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The current state of the cache parameter group does not allow the requested operation to occur.

", - "error":{ - "code":"InvalidCacheParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidCacheSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The current state of the cache security group does not allow deletion.

", - "error":{ - "code":"InvalidCacheSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidParameterCombinationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

Two or more parameters that must not be used together were used together.

" - } - }, - "documentation":"

Two or more incompatible parameters were specified.

", - "error":{ - "code":"InvalidParameterCombination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"AwsQueryErrorMessage", - "documentation":"

A parameter value is invalid.

" - } - }, - "documentation":"

The value for a parameter is invalid.

", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidReplicationGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested replication group is not in the available state.

", - "error":{ - "code":"InvalidReplicationGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The current state of the snapshot does not allow the requested operation to occur.

", - "error":{ - "code":"InvalidSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "documentation":"

An invalid subnet identifier was specified.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The VPC network is in an invalid state.

", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListAllowedNodeTypeModificationsMessage":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The name of the cluster you want to scale up to a larger node instanced type. ElastiCache uses the cluster id to identify the current node type of this cluster and from that to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The name of the replication group want to scale up to a larger node type. ElastiCache uses the replication group id to identify the current node type being used by this replication group, and from that to create a list of node types you can scale up to.

You must provide a value for either the CacheClusterId or the ReplicationGroupId.

" - } - }, - "documentation":"

The input parameters for the ListAllowedNodeTypeModifications operation.

" - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want the list of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - } - }, - "documentation":"

The input parameters for the ListTagsForResource operation.

" - }, - "ModifyCacheClusterMessage":{ - "type":"structure", - "required":["CacheClusterId"], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cluster identifier. This value is stored as a lowercase string.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes that the cluster should have. If the value for NumCacheNodes is greater than the sum of the number of current cache nodes and the number of cache nodes pending creation (which may be zero), more nodes are added. If the value is less than the number of existing cache nodes, nodes are removed. If the value is equal to the number of current cache nodes, any pending add or remove requests are canceled.

If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter to provide the IDs of the specific cache nodes to remove.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

Adding or removing Memcached cache nodes can be applied immediately or as a pending operation (see ApplyImmediately).

A pending operation to modify the number of cache nodes in a cluster during its maintenance window, whether by adding or removing nodes in accordance with the scale out architecture, is not queued. The customer's latest request to add or remove nodes to the cluster overrides any previous pending operations to modify the number of cache nodes in the cluster. For example, a request to remove 2 nodes would override a previous pending operation to remove 3 nodes. Similarly, a request to add 2 nodes would override a previous pending operation to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned in different Availability Zones with flexible cache node placement, a request to add nodes does not automatically override a previous pending operation to add nodes. The customer can modify the previous pending operation to add more nodes or explicitly cancel the pending request and retry the new request. To cancel pending operations to modify the number of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes equal to the number of cache nodes currently in the cluster.

" - }, - "CacheNodeIdsToRemove":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value of NumCacheNodes in the request.

For example: If you have 3 active cache nodes, 7 pending cache nodes, and the number of cache nodes in this ModifyCacheCluster call is 5, you must list 2 (7 - 5) cache node IDs to remove.

" - }, - "AZMode":{ - "shape":"AZMode", - "documentation":"

Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones.

Valid values: single-az | cross-az.

This option is only supported for Memcached clusters.

You cannot specify single-az if the Memcached cluster already has cache nodes in different Availability Zones. If cross-az is specified, existing Memcached nodes remain in their current Availability Zone.

Only newly created nodes are located in different Availability Zones. For instructions on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

" - }, - "NewAvailabilityZones":{ - "shape":"PreferredAvailabilityZoneList", - "documentation":"

The list of Availability Zones where the new Memcached cache nodes are created.

This parameter is only valid when NumCacheNodes in the request is greater than the sum of the number of active cache nodes and the number of cache nodes pending creation (which may be zero). The number of Availability Zones supplied in this list must match the cache nodes being added in this request.

This option is only supported on Memcached clusters.

Scenarios:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.

  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.

  • Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations.

The Availability Zone placement of nodes pending creation cannot be modified. If you wish to cancel any nodes pending creation, add 0 nodes by setting NumCacheNodes to the number of current nodes.

If cross-az is specified, existing Memcached nodes remain in their current Availability Zone. Only newly created nodes can be located in different Availability Zones. For guidance on how to move existing Memcached nodes to different Availability Zones, see the Availability Zone Considerations section of Cache Node Considerations for Memcached.

Impact of new add/remove requests upon pending requests

  • Scenario-1

    • Pending Action: Delete

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending delete.

  • Scenario-2

    • Pending Action: Delete

    • New Request: Create

    • Result: The new create, pending or immediate, replaces the pending delete.

  • Scenario-3

    • Pending Action: Create

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending create.

  • Scenario-4

    • Pending Action: Create

    • New Request: Create

    • Result: The new create is added to the pending create.

      Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize on this cluster. This change is asynchronously applied as soon as possible.

You can use this parameter only with clusters that are created outside of an Amazon Virtual Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be \"Default\".

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the cluster.

This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

The Amazon SNS topic owner must be same as the cluster owner.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to apply to this cluster. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" - }, - "NotificationTopicStatus":{ - "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

Valid values: active | inactive

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cluster.

If false, changes to the cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

If you perform a ModifyCacheCluster before a pending modification is applied, the pending modification is replaced by the newer modification.

Valid values: true | false

Default: false

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is currently disabled.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

A valid cache node type that you want to scale this cluster up to.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheCluster operation.

" - }, - "ModifyCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "ModifyCacheParameterGroupMessage":{ - "type":"structure", - "required":[ - "CacheParameterGroupName", - "ParameterNameValues" - ], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to modify.

" - }, - "ParameterNameValues":{ - "shape":"ParameterNameValueList", - "documentation":"

An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be modified per request.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheParameterGroup operation.

" - }, - "ModifyCacheSubnetGroupMessage":{ - "type":"structure", - "required":["CacheSubnetGroupName"], - "members":{ - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the cache subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens.

Example: mysubnetgroup

" - }, - "CacheSubnetGroupDescription":{ - "shape":"String", - "documentation":"

A description of the cache subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the cache subnet group.

" - } - }, - "documentation":"

Represents the input of a ModifyCacheSubnetGroup operation.

" - }, - "ModifyCacheSubnetGroupResult":{ - "type":"structure", - "members":{ - "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} - } - }, - "ModifyReplicationGroupMessage":{ - "type":"structure", - "required":["ReplicationGroupId"], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier of the replication group to modify.

" - }, - "ReplicationGroupDescription":{ - "shape":"String", - "documentation":"

A description for the replication group. Maximum length is 255 characters.

" - }, - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

For replication groups with a single primary, if this parameter is specified, ElastiCache promotes the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group are read replicas.

" - }, - "SnapshottingClusterId":{ - "shape":"String", - "documentation":"

The cluster ID that is used as the daily snapshot source for the replication group. This parameter cannot be set for Redis (cluster mode enabled) replication groups.

" - }, - "AutomaticFailoverEnabled":{ - "shape":"BooleanOptional", - "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" - }, - "CacheSecurityGroupNames":{ - "shape":"CacheSecurityGroupNameList", - "documentation":"

A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.

This parameter can be used only with replication group containing clusters running outside of an Amazon Virtual Private Cloud (Amazon VPC).

Constraints: Must contain no more than 255 alphanumeric characters. Must not be Default.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIdsList", - "documentation":"

Specifies the VPC Security Groups associated with the clusters in the replication group.

This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "NotificationTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.

The Amazon SNS topic owner must be same as the replication group owner.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the ApplyImmediately parameter is specified as true for this request.

" - }, - "NotificationTopicStatus":{ - "shape":"String", - "documentation":"

The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is active.

Valid values: active | inactive

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

If true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of the PreferredMaintenanceWindow setting for the replication group.

If false, changes to the nodes in the replication group are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first.

Valid values: true | false

Default: false

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the clusters in the replication group.

Important: You can upgrade to a newer engine version (see Selecting a Cache Engine and Version), but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing replication group and create it anew with the earlier engine version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is currently disabled.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic node group (shard) snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of the node group (shard) specified by SnapshottingClusterId.

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

A valid cache node type that you want to scale this replication group to.

" - }, - "NodeGroupId":{ - "shape":"String", - "documentation":"

The name of the Node Group (called shard in the console).

" - } - }, - "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" - }, - "ModifyReplicationGroupResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "ModifyReplicationGroupShardConfigurationMessage":{ - "type":"structure", - "required":[ - "ReplicationGroupId", - "NodeGroupCount", - "ApplyImmediately" - ], - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The name of the Redis (cluster mode enabled) cluster (replication group) on which the shards are to be configured.

" - }, - "NodeGroupCount":{ - "shape":"Integer", - "documentation":"

The number of node groups (shards) that results from the modification of the shard configuration.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.

Value: true

" - }, - "ReshardingConfiguration":{ - "shape":"ReshardingConfigurationList", - "documentation":"

Specifies the preferred availability zones for each node group in the cluster. If the value of NodeGroupCount is greater than the current number of node groups (shards), you can use this parameter to specify the preferred availability zones of the cluster's shards. If you omit this parameter ElastiCache selects availability zones for you.

You can specify this parameter only if the value of NodeGroupCount is greater than the current number of node groups (shards).

" - }, - "NodeGroupsToRemove":{ - "shape":"NodeGroupsToRemoveList", - "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), NodeGroupsToRemove is a required list of node group ids to remove from the cluster.

" - } - }, - "documentation":"

Represents the input for a ModifyReplicationGroupShardConfiguration operation.

" - }, - "ModifyReplicationGroupShardConfigurationResult":{ - "type":"structure", - "members":{ - "ReplicationGroup":{"shape":"ReplicationGroup"} - } - }, - "NodeGroup":{ - "type":"structure", - "members":{ - "NodeGroupId":{ - "shape":"String", - "documentation":"

The identifier for the node group (shard). A Redis (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Redis (cluster mode enabled) replication group contains 1 to 15 node groups numbered 0001 to 0015.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" - }, - "PrimaryEndpoint":{ - "shape":"Endpoint", - "documentation":"

The endpoint of the primary node in this node group (shard).

" - }, - "Slots":{ - "shape":"String", - "documentation":"

The keyspace for this node group (shard).

" - }, - "NodeGroupMembers":{ - "shape":"NodeGroupMemberList", - "documentation":"

A list containing information about individual nodes within the node group (shard).

" - } - }, - "documentation":"

Represents a collection of cache nodes in a replication group. One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.

" - }, - "NodeGroupConfiguration":{ - "type":"structure", - "members":{ - "Slots":{ - "shape":"String", - "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", - "documentation":"

The number of read replica nodes in this node group (shard).

" - }, - "PrimaryAvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone where the primary node of this node group (shard) is launched.

" - }, - "ReplicaAvailabilityZones":{ - "shape":"AvailabilityZonesList", - "documentation":"

A list of Availability Zones to be used for the read replicas. The number of Availability Zones in this list must match the value of ReplicaCount or ReplicasPerNodeGroup if not specified.

" - } - }, - "documentation":"

Node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

" - }, - "NodeGroupConfigurationList":{ - "type":"list", - "member":{ - "shape":"NodeGroupConfiguration", - "locationName":"NodeGroupConfiguration" - } - }, - "NodeGroupList":{ - "type":"list", - "member":{ - "shape":"NodeGroup", - "locationName":"NodeGroup" - } - }, - "NodeGroupMember":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The ID of the cluster to which the node belongs.

" - }, - "CacheNodeId":{ - "shape":"String", - "documentation":"

The ID of the node within its cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" - }, - "ReadEndpoint":{"shape":"Endpoint"}, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the node is located.

" - }, - "CurrentRole":{ - "shape":"String", - "documentation":"

The role that is currently assigned to the node - primary or replica.

" - } - }, - "documentation":"

Represents a single node within a node group (shard).

" - }, - "NodeGroupMemberList":{ - "type":"list", - "member":{ - "shape":"NodeGroupMember", - "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":{ - }, - "documentation":"

The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 15

", - "error":{ - "code":"NodeGroupsPerReplicationGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NodeGroupsToRemoveList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"NodeGroupToRemove" - } - }, - "NodeQuotaForClusterExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.

", - "error":{ - "code":"NodeQuotaForClusterExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NodeQuotaForCustomerExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes per customer.

", - "error":{ - "code":"NodeQuotaForCustomerExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NodeSnapshot":{ - "type":"structure", - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

A unique identifier for the source cluster.

" - }, - "NodeGroupId":{ - "shape":"String", - "documentation":"

A unique identifier for the source node group (shard).

" - }, - "CacheNodeId":{ - "shape":"String", - "documentation":"

The cache node identifier for the node in the source cluster.

" - }, - "NodeGroupConfiguration":{ - "shape":"NodeGroupConfiguration", - "documentation":"

The configuration for the source node group (shard).

" - }, - "CacheSize":{ - "shape":"String", - "documentation":"

The size of the cache on the source cache node.

" - }, - "CacheNodeCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the cache node was created in the source cluster.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the source node's metadata and cache data set was obtained for the snapshot.

" - } - }, - "documentation":"

Represents an individual cache node in a snapshot of a cluster.

", - "wrapper":true - }, - "NodeSnapshotList":{ - "type":"list", - "member":{ - "shape":"NodeSnapshot", - "locationName":"NodeSnapshot" - } - }, - "NodeTypeList":{ - "type":"list", - "member":{"shape":"String"} - }, - "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 ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the parameter.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest cache engine version to which the parameter can apply.

" - }, - "ChangeType":{ - "shape":"ChangeType", - "documentation":"

Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied. You can force a reboot or wait until the next maintenance window's reboot. For more information, see Rebooting a Cluster.

" - } - }, - "documentation":"

Describes an individual setting that controls some aspect of ElastiCache behavior.

" - }, - "ParameterNameValue":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - } - }, - "documentation":"

Describes a name-value pair that is used to update the value of a parameter.

" - }, - "ParameterNameValueList":{ - "type":"list", - "member":{ - "shape":"ParameterNameValue", - "locationName":"ParameterNameValue" - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingAutomaticFailoverStatus":{ - "type":"string", - "enum":[ - "enabled", - "disabled" - ] - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The new number of cache nodes for the cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" - }, - "CacheNodeIdsToRemove":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs that are being removed (or will be removed) from the cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The new cache engine version that the cluster runs.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type that this cluster or replication group is scaled to.

" - } - }, - "documentation":"

A group of settings that are applied to the cluster in the future, or that are currently being applied.

" - }, - "PreferredAvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"PreferredAvailabilityZone" - } - }, - "PurchaseReservedCacheNodesOfferingMessage":{ - "type":"structure", - "required":["ReservedCacheNodesOfferingId"], - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the reserved cache node offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

A customer-specified identifier to track this reservation.

The Reserved Cache Node ID is an unique customer-specified identifier to track this reservation. If this parameter is not specified, ElastiCache automatically generates an identifier for the reservation.

Example: myreservationID

" - }, - "CacheNodeCount":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache node instances to reserve.

Default: 1

" - } - }, - "documentation":"

Represents the input of a PurchaseReservedCacheNodesOffering operation.

" - }, - "PurchaseReservedCacheNodesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedCacheNode":{"shape":"ReservedCacheNode"} - } - }, - "RebootCacheClusterMessage":{ - "type":"structure", - "required":[ - "CacheClusterId", - "CacheNodeIdsToReboot" - ], - "members":{ - "CacheClusterId":{ - "shape":"String", - "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

" - }, - "CacheNodeIdsToReboot":{ - "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs.

" - } - }, - "documentation":"

Represents the input of a RebootCacheCluster operation.

" - }, - "RebootCacheClusterResult":{ - "type":"structure", - "members":{ - "CacheCluster":{"shape":"CacheCluster"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The monetary amount of the recurring charge.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency of the recurring charge.

" - } - }, - "documentation":"

Contains the specific price and frequency of a recurring charges for a reserved cache node, or for a reserved cache node offering.

", - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want the tags removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

A list of TagKeys identifying the tags you want removed from the named resource.

" - } - }, - "documentation":"

Represents the input of a RemoveTagsFromResource operation.

" - }, - "ReplicationGroup":{ - "type":"structure", - "members":{ - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The identifier for the replication group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The user supplied description of the replication group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The current state of this replication group - creating, available, modifying, deleting, create-failed, snapshotting.

" - }, - "PendingModifiedValues":{ - "shape":"ReplicationGroupPendingModifiedValues", - "documentation":"

A group of settings to be applied to the replication group, either immediately or during the next maintenance window.

" - }, - "MemberClusters":{ - "shape":"ClusterIdList", - "documentation":"

The identifiers of all the nodes that are part of this replication group.

" - }, - "NodeGroups":{ - "shape":"NodeGroupList", - "documentation":"

A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each node group (shard).

" - }, - "SnapshottingClusterId":{ - "shape":"String", - "documentation":"

The cluster ID that is used as the daily snapshot source for the replication group.

" - }, - "AutomaticFailover":{ - "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" - }, - "ConfigurationEndpoint":{ - "shape":"Endpoint", - "documentation":"

The configuration endpoint for this replication group. Use the configuration endpoint to connect to this replication group.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which ElastiCache retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

Example: 05:00-09:00

If you do not specify this parameter, ElastiCache automatically chooses an appropriate time range.

This parameter is only valid if the Engine parameter is redis.

" - }, - "ClusterEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

Valid values: true | false

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for each node in the replication group.

" - }, - "AuthTokenEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

" - }, - "TransitEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Default: false

" - }, - "AtRestEncryptionEnabled":{ - "shape":"BooleanOptional", - "documentation":"

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Default: false

" - } - }, - "documentation":"

Contains all of the attributes of a specific Redis replication group.

", - "wrapper":true - }, - "ReplicationGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified replication group already exists.

", - "error":{ - "code":"ReplicationGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReplicationGroupList":{ - "type":"list", - "member":{ - "shape":"ReplicationGroup", - "locationName":"ReplicationGroup" - } - }, - "ReplicationGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReplicationGroups":{ - "shape":"ReplicationGroupList", - "documentation":"

A list of replication groups. Each item in the list contains detailed information about one replication group.

" - } - }, - "documentation":"

Represents the output of a DescribeReplicationGroups operation.

" - }, - "ReplicationGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified replication group does not exist.

", - "error":{ - "code":"ReplicationGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReplicationGroupPendingModifiedValues":{ - "type":"structure", - "members":{ - "PrimaryClusterId":{ - "shape":"String", - "documentation":"

The primary cluster ID that is applied immediately (if --apply-immediately was specified), or during the next maintenance window.

" - }, - "AutomaticFailoverStatus":{ - "shape":"PendingAutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" - }, - "Resharding":{ - "shape":"ReshardingStatus", - "documentation":"

The status of an online resharding operation.

" - } - }, - "documentation":"

The settings to be applied to the Redis replication group, either immediately or during the next maintenance window.

" - }, - "ReservedCacheNode":{ - "type":"structure", - "members":{ - "ReservedCacheNodeId":{ - "shape":"String", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The time the reservation started.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this reserved cache node.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this reserved cache node.

" - }, - "CacheNodeCount":{ - "shape":"Integer", - "documentation":"

The number of cache nodes that have been reserved.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The description of the reserved cache node.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type of this reserved cache node.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved cache node.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved cache node.

" - } - }, - "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering operation.

", - "wrapper":true - }, - "ReservedCacheNodeAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You already have a reservation with the given identifier.

", - "error":{ - "code":"ReservedCacheNodeAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedCacheNodeList":{ - "type":"list", - "member":{ - "shape":"ReservedCacheNode", - "locationName":"ReservedCacheNode" - } - }, - "ReservedCacheNodeMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedCacheNodes":{ - "shape":"ReservedCacheNodeList", - "documentation":"

A list of reserved cache nodes. Each element in the list contains detailed information about one node.

" - } - }, - "documentation":"

Represents the output of a DescribeReservedCacheNodes operation.

" - }, - "ReservedCacheNodeNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested reserved cache node was not found.

", - "error":{ - "code":"ReservedCacheNodeNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedCacheNodeQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the user's cache node quota.

", - "error":{ - "code":"ReservedCacheNodeQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedCacheNodesOffering":{ - "type":"structure", - "members":{ - "ReservedCacheNodesOfferingId":{ - "shape":"String", - "documentation":"

A unique identifier for the reserved cache node offering.

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering. in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this offering.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The cache engine used by the offering.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved cache node.

" - } - }, - "documentation":"

Describes all of the attributes of a reserved cache node offering.

", - "wrapper":true - }, - "ReservedCacheNodesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedCacheNodesOffering", - "locationName":"ReservedCacheNodesOffering" - } - }, - "ReservedCacheNodesOfferingMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedCacheNodesOfferings":{ - "shape":"ReservedCacheNodesOfferingList", - "documentation":"

A list of reserved cache node offerings. Each element in the list contains detailed information about one offering.

" - } - }, - "documentation":"

Represents the output of a DescribeReservedCacheNodesOfferings operation.

" - }, - "ReservedCacheNodesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested cache node offering does not exist.

", - "error":{ - "code":"ReservedCacheNodesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetCacheParameterGroupMessage":{ - "type":"structure", - "required":["CacheParameterGroupName"], - "members":{ - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cache parameter group to reset.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

If true, all parameters in the cache parameter group are reset to their default values. If false, only the parameters listed by ParameterNameValues are reset to their default values.

Valid values: true | false

" - }, - "ParameterNameValues":{ - "shape":"ParameterNameValueList", - "documentation":"

An array of parameter names to reset to their default values. If ResetAllParameters is true, do not use ParameterNameValues. If ResetAllParameters is false, you must specify the name of at least one parameter to reset.

" - } - }, - "documentation":"

Represents the input of a ResetCacheParameterGroup operation.

" - }, - "ReshardingConfiguration":{ - "type":"structure", - "members":{ - "PreferredAvailabilityZones":{ - "shape":"AvailabilityZonesList", - "documentation":"

A list of preferred availability zones for the nodes in this cluster.

" - } - }, - "documentation":"

A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

" - }, - "ReshardingConfigurationList":{ - "type":"list", - "member":{ - "shape":"ReshardingConfiguration", - "locationName":"ReshardingConfiguration" - } - }, - "ReshardingStatus":{ - "type":"structure", - "members":{ - "SlotMigration":{ - "shape":"SlotMigration", - "documentation":"

Represents the progress of an online resharding operation.

" - } - }, - "documentation":"

The status of an online resharding operation.

" - }, - "RevokeCacheSecurityGroupIngressMessage":{ - "type":"structure", - "required":[ - "CacheSecurityGroupName", - "EC2SecurityGroupName", - "EC2SecurityGroupOwnerId" - ], - "members":{ - "CacheSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cache security group to revoke ingress from.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the Amazon EC2 security group to revoke access from.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the Amazon EC2 security group owner. Note that this is not the same thing as an AWS access key ID - you must provide a valid AWS account number for this parameter.

" - } - }, - "documentation":"

Represents the input of a RevokeCacheSecurityGroupIngress operation.

" - }, - "RevokeCacheSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "CacheSecurityGroup":{"shape":"CacheSecurityGroup"} - } - }, - "SecurityGroupIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SecurityGroupId" - } - }, - "SecurityGroupMembership":{ - "type":"structure", - "members":{ - "SecurityGroupId":{ - "shape":"String", - "documentation":"

The identifier of the cache security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the cache security group membership. The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cluster are modified.

" - } - }, - "documentation":"

Represents a single cache security group and its status.

" - }, - "SecurityGroupMembershipList":{ - "type":"list", - "member":{"shape":"SecurityGroupMembership"} - }, - "SlotMigration":{ - "type":"structure", - "members":{ - "ProgressPercentage":{ - "shape":"Double", - "documentation":"

The percentage of the slot migration that is complete.

" - } - }, - "documentation":"

Represents the progress of an online resharding operation.

" - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotName":{ - "shape":"String", - "documentation":"

The name of a snapshot. For an automatic snapshot, the name is system-generated. For a manual snapshot, this is the user-provided name.

" - }, - "ReplicationGroupId":{ - "shape":"String", - "documentation":"

The unique identifier of the source replication group.

" - }, - "ReplicationGroupDescription":{ - "shape":"String", - "documentation":"

A description of the source replication group.

" - }, - "CacheClusterId":{ - "shape":"String", - "documentation":"

The user-supplied identifier of the source cluster.

" - }, - "SnapshotStatus":{ - "shape":"String", - "documentation":"

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

" - }, - "SnapshotSource":{ - "shape":"String", - "documentation":"

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

" - }, - "CacheNodeType":{ - "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis (cluster mode disabled): Redis backup/restore is not supported on T1 and T2 instances.

  • Redis (cluster mode enabled): Backup/restore is not supported on T1 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

For a complete listing of node types and specifications, see Amazon ElastiCache Product Features and Details and either Cache Node Type-Specific Parameters for Memcached or Cache Node Type-Specific Parameters for Redis.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the cache engine (memcached or redis) used by the source cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the cache engine version that is used by the source cluster.

" - }, - "NumCacheNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the source cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" - }, - "PreferredAvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the source cluster is located.

" - }, - "CacheClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time when the source cluster was created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

Valid values for ddd are:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" - }, - "TopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number used by each cache nodes in the source cluster.

" - }, - "CacheParameterGroupName":{ - "shape":"String", - "documentation":"

The cache parameter group that is associated with the source cluster.

" - }, - "CacheSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cache subnet group associated with the source cluster.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

This parameter is currently disabled.

" - }, - "SnapshotRetentionLimit":{ - "shape":"IntegerOptional", - "documentation":"

For an automatic snapshot, the number of days for which ElastiCache retains the snapshot before deleting it.

For manual snapshots, this field reflects the SnapshotRetentionLimit for the source cluster when the snapshot was created. This field is otherwise ignored: Manual snapshots do not expire, and can only be deleted using the DeleteSnapshot operation.

Important If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off.

" - }, - "SnapshotWindow":{ - "shape":"String", - "documentation":"

The daily time range during which ElastiCache takes daily snapshots of the source cluster.

" - }, - "NumNodeGroups":{ - "shape":"IntegerOptional", - "documentation":"

The number of node groups (shards) in this snapshot. When restoring from a snapshot, the number of node groups (shards) in the snapshot and in the restored replication group must be the same.

" - }, - "AutomaticFailover":{ - "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ with automatic failover for the source Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 cache node types.

  • Redis (cluster mode enabled): T1 node types.

" - }, - "NodeSnapshots":{ - "shape":"NodeSnapshotList", - "documentation":"

A list of the cache nodes in the source cluster.

" - } - }, - "documentation":"

Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

", - "wrapper":true - }, - "SnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You already have a snapshot with the given name.

", - "error":{ - "code":"SnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotArnsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SnapshotArn" - } - }, - "SnapshotFeatureNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You attempted one of the following operations:

  • Creating a snapshot of a Redis cluster running on a cache.t1.micro cache node.

  • Creating a snapshot of a cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

", - "error":{ - "code":"SnapshotFeatureNotSupportedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"Snapshot" - } - }, - "SnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested snapshot name does not refer to an existing snapshot.

", - "error":{ - "code":"SnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be processed because it would exceed the maximum number of snapshots.

", - "error":{ - "code":"SnapshotQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SourceType":{ - "type":"string", - "enum":[ - "cache-cluster", - "cache-parameter-group", - "cache-security-group", - "cache-subnet-group", - "replication-group" - ] - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier for the subnet.

" - }, - "SubnetAvailabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone associated with the subnet.

" - } - }, - "documentation":"

Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

" - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetInUse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested subnet is being used by another cache subnet group.

", - "error":{ - "code":"SubnetInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key for the tag. May not be null.

" - }, - "Value":{ - "shape":"String", - "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.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

A list of cost allocation tags as key-value pairs.

" - } - }, - "documentation":"

Represents the output from the AddTagsToResource, ListTagsForResource, and RemoveTagsFromResource operations.

" - }, - "TagNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested tag was not found on this resource.

", - "error":{ - "code":"TagNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "TagQuotaPerResourceExceeded":{ - "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 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/waiters-2.json deleted file mode 100644 index c177d7b9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticache/2015-02-02/waiters-2.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "version":2, - "waiters":{ - "CacheClusterAvailable":{ - "acceptors":[ - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"available", - "matcher":"pathAll", - "state":"success" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"deleted", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"deleting", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"incompatible-network", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"restore-failed", - "matcher":"pathAny", - "state":"failure" - } - ], - "delay":15, - "description":"Wait until ElastiCache cluster is available.", - "maxAttempts":40, - "operation":"DescribeCacheClusters" - }, - "CacheClusterDeleted":{ - "acceptors":[ - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"deleted", - "matcher":"pathAll", - "state":"success" - }, - { - "expected":"CacheClusterNotFound", - "matcher":"error", - "state":"success" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"available", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"creating", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"incompatible-network", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"modifying", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"restore-failed", - "matcher":"pathAny", - "state":"failure" - }, - { - "argument":"CacheClusters[].CacheClusterStatus", - "expected":"snapshotting", - "matcher":"pathAny", - "state":"failure" - } - ], - "delay":15, - "description":"Wait until ElastiCache cluster is deleted.", - "maxAttempts":40, - "operation":"DescribeCacheClusters" - }, - "ReplicationGroupAvailable":{ - "acceptors":[ - { - "argument":"ReplicationGroups[].Status", - "expected":"available", - "matcher":"pathAll", - "state":"success" - }, - { - "argument":"ReplicationGroups[].Status", - "expected":"deleted", - "matcher":"pathAny", - "state":"failure" - } - ], - "delay":15, - "description":"Wait until ElastiCache replication group is available.", - "maxAttempts":40, - "operation":"DescribeReplicationGroups" - }, - "ReplicationGroupDeleted":{ - "acceptors":[ - { - "argument":"ReplicationGroups[].Status", - "expected":"deleted", - "matcher":"pathAll", - "state":"success" - }, - { - "argument":"ReplicationGroups[].Status", - "expected":"available", - "matcher":"pathAny", - "state":"failure" - }, - { - "expected":"ReplicationGroupNotFoundFault", - "matcher":"error", - "state":"success" - } - ], - "delay":15, - "description":"Wait until ElastiCache replication group is deleted.", - "maxAttempts":40, - "operation":"DescribeReplicationGroups" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json deleted file mode 100644 index 0fded628..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/examples-1.json +++ /dev/null @@ -1,1109 +0,0 @@ -{ - "version": "1.0", - "examples": { - "AbortEnvironmentUpdate": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following code aborts a running application version deployment for an environment named my-env:", - "id": "to-abort-a-deployment-1456267848227", - "title": "To abort a deployment" - } - ], - "CheckDNSAvailability": [ - { - "input": { - "CNAMEPrefix": "my-cname" - }, - "output": { - "Available": true, - "FullyQualifiedCNAME": "my-cname.us-west-2.elasticbeanstalk.com" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation checks the availability of the subdomain my-cname:", - "id": "to-check-the-availability-of-a-cname-1456268589537", - "title": "To check the availability of a CNAME" - } - ], - "CreateApplication": [ - { - "input": { - "ApplicationName": "my-app", - "Description": "my application" - }, - "output": { - "Application": { - "ApplicationName": "my-app", - "ConfigurationTemplates": [ - - ], - "DateCreated": "2015-02-12T18:32:21.181Z", - "DateUpdated": "2015-02-12T18:32:21.181Z", - "Description": "my application" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates a new application named my-app:", - "id": "to-create-a-new-application-1456268895683", - "title": "To create a new application" - } - ], - "CreateApplicationVersion": [ - { - "input": { - "ApplicationName": "my-app", - "AutoCreateApplication": true, - "Description": "my-app-v1", - "Process": true, - "SourceBundle": { - "S3Bucket": "my-bucket", - "S3Key": "sample.war" - }, - "VersionLabel": "v1" - }, - "output": { - "ApplicationVersion": { - "ApplicationName": "my-app", - "DateCreated": "2015-02-03T23:01:25.412Z", - "DateUpdated": "2015-02-03T23:01:25.412Z", - "Description": "my-app-v1", - "SourceBundle": { - "S3Bucket": "my-bucket", - "S3Key": "sample.war" - }, - "VersionLabel": "v1" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates a new version (v1) of an application named my-app:", - "id": "to-create-a-new-application-1456268895683", - "title": "To create a new application" - } - ], - "CreateConfigurationTemplate": [ - { - "input": { - "ApplicationName": "my-app", - "EnvironmentId": "e-rpqsewtp2j", - "TemplateName": "my-app-v1" - }, - "output": { - "ApplicationName": "my-app", - "DateCreated": "2015-08-12T18:40:39Z", - "DateUpdated": "2015-08-12T18:40:39Z", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "TemplateName": "my-app-v1" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates a configuration template named my-app-v1 from the settings applied to an environment with the id e-rpqsewtp2j:", - "id": "to-create-a-configuration-template-1456269283586", - "title": "To create a configuration template" - } - ], - "CreateEnvironment": [ - { - "input": { - "ApplicationName": "my-app", - "CNAMEPrefix": "my-app", - "EnvironmentName": "my-env", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "VersionLabel": "v1" - }, - "output": { - "ApplicationName": "my-app", - "CNAME": "my-app.elasticbeanstalk.com", - "DateCreated": "2015-02-03T23:04:54.479Z", - "DateUpdated": "2015-02-03T23:04:54.479Z", - "EnvironmentId": "e-izqpassy4h", - "EnvironmentName": "my-env", - "Health": "Grey", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "Status": "Launching", - "Tier": { - "Name": "WebServer", - "Type": "Standard", - "Version": " " - }, - "VersionLabel": "v1" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates a new environment for version v1 of a java application named my-app:", - "id": "to-create-a-new-environment-for-an-application-1456269380396", - "title": "To create a new environment for an application" - } - ], - "CreateStorageLocation": [ - { - "output": { - "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates a new environment for version v1 of a java application named my-app:", - "id": "to-create-a-new-environment-for-an-application-1456269380396", - "title": "To create a new environment for an application" - } - ], - "DeleteApplication": [ - { - "input": { - "ApplicationName": "my-app" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation deletes an application named my-app:", - "id": "to-delete-an-application-1456269699366", - "title": "To delete an application" - } - ], - "DeleteApplicationVersion": [ - { - "input": { - "ApplicationName": "my-app", - "DeleteSourceBundle": true, - "VersionLabel": "22a0-stage-150819_182129" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation deletes an application version named 22a0-stage-150819_182129 for an application named my-app:", - "id": "to-delete-an-application-version-1456269792956", - "title": "To delete an application version" - } - ], - "DeleteConfigurationTemplate": [ - { - "input": { - "ApplicationName": "my-app", - "TemplateName": "my-template" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation deletes a configuration template named my-template for an application named my-app:", - "id": "to-delete-a-configuration-template-1456269836701", - "title": "To delete a configuration template" - } - ], - "DeleteEnvironmentConfiguration": [ - { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation deletes a draft configuration for an environment named my-env:", - "id": "to-delete-a-draft-configuration-1456269886654", - "title": "To delete a draft configuration" - } - ], - "DescribeApplicationVersions": [ - { - "input": { - "ApplicationName": "my-app", - "VersionLabels": [ - "v2" - ] - }, - "output": { - "ApplicationVersions": [ - { - "ApplicationName": "my-app", - "DateCreated": "2015-07-23T01:32:26.079Z", - "DateUpdated": "2015-07-23T01:32:26.079Z", - "Description": "update cover page", - "SourceBundle": { - "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", - "S3Key": "my-app/5026-stage-150723_224258.war" - }, - "VersionLabel": "v2" - }, - { - "ApplicationName": "my-app", - "DateCreated": "2015-07-23T22:26:10.816Z", - "DateUpdated": "2015-07-23T22:26:10.816Z", - "Description": "initial version", - "SourceBundle": { - "S3Bucket": "elasticbeanstalk-us-west-2-015321684451", - "S3Key": "my-app/5026-stage-150723_222618.war" - }, - "VersionLabel": "v1" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves information about an application version labeled v2:", - "id": "to-view-information-about-an-application-version-1456269947428", - "title": "To view information about an application version" - } - ], - "DescribeApplications": [ - { - "input": { - }, - "output": { - "Applications": [ - { - "ApplicationName": "ruby", - "ConfigurationTemplates": [ - - ], - "DateCreated": "2015-08-13T21:05:44.376Z", - "DateUpdated": "2015-08-13T21:05:44.376Z", - "Versions": [ - "Sample Application" - ] - }, - { - "ApplicationName": "pythonsample", - "ConfigurationTemplates": [ - - ], - "DateCreated": "2015-08-13T19:05:43.637Z", - "DateUpdated": "2015-08-13T19:05:43.637Z", - "Description": "Application created from the EB CLI using \"eb init\"", - "Versions": [ - "Sample Application" - ] - }, - { - "ApplicationName": "nodejs-example", - "ConfigurationTemplates": [ - - ], - "DateCreated": "2015-08-06T17:50:02.486Z", - "DateUpdated": "2015-08-06T17:50:02.486Z", - "Versions": [ - "add elasticache", - "First Release" - ] - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves information about applications in the current region:", - "id": "to-view-a-list-of-applications-1456270027373", - "title": "To view a list of applications" - } - ], - "DescribeConfigurationOptions": [ - { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" - }, - "output": { - "Options": [ - { - "ChangeSeverity": "NoInterruption", - "DefaultValue": "30", - "MaxValue": 300, - "MinValue": 5, - "Name": "Interval", - "Namespace": "aws:elb:healthcheck", - "UserDefined": false, - "ValueType": "Scalar" - }, - { - "ChangeSeverity": "NoInterruption", - "DefaultValue": "2000000", - "MinValue": 0, - "Name": "LowerThreshold", - "Namespace": "aws:autoscaling:trigger", - "UserDefined": false, - "ValueType": "Scalar" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves descriptions of all available configuration options for an environment named my-env:", - "id": "to-view-configuration-options-for-an-environment-1456276763917", - "title": "To view configuration options for an environment" - } - ], - "DescribeConfigurationSettings": [ - { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env" - }, - "output": { - "ConfigurationSettings": [ - { - "ApplicationName": "my-app", - "DateCreated": "2015-08-13T19:16:25Z", - "DateUpdated": "2015-08-13T23:30:07Z", - "DeploymentStatus": "deployed", - "Description": "Environment created from the EB CLI using \"eb create\"", - "EnvironmentName": "my-env", - "OptionSettings": [ - { - "Namespace": "aws:autoscaling:asg", - "OptionName": "Availability Zones", - "ResourceName": "AWSEBAutoScalingGroup", - "Value": "Any" - }, - { - "Namespace": "aws:autoscaling:asg", - "OptionName": "Cooldown", - "ResourceName": "AWSEBAutoScalingGroup", - "Value": "360" - }, - { - "Namespace": "aws:elb:policies", - "OptionName": "ConnectionDrainingTimeout", - "ResourceName": "AWSEBLoadBalancer", - "Value": "20" - }, - { - "Namespace": "aws:elb:policies", - "OptionName": "ConnectionSettingIdleTimeout", - "ResourceName": "AWSEBLoadBalancer", - "Value": "60" - } - ], - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" - } - ] - }, - "comments": { - "input": { - }, - "output": { - "abbreviated": "Output is abbreviated" - } - }, - "description": "The following operation retrieves configuration settings for an environment named my-env:", - "id": "to-view-configurations-settings-for-an-environment-1456276924537", - "title": "To view configurations settings for an environment" - } - ], - "DescribeEnvironmentHealth": [ - { - "input": { - "AttributeNames": [ - "All" - ], - "EnvironmentName": "my-env" - }, - "output": { - "ApplicationMetrics": { - "Duration": 10, - "Latency": { - "P10": 0.001, - "P50": 0.001, - "P75": 0.002, - "P85": 0.003, - "P90": 0.003, - "P95": 0.004, - "P99": 0.004, - "P999": 0.004 - }, - "RequestCount": 45, - "StatusCodes": { - "Status2xx": 45, - "Status3xx": 0, - "Status4xx": 0, - "Status5xx": 0 - } - }, - "Causes": [ - - ], - "Color": "Green", - "EnvironmentName": "my-env", - "HealthStatus": "Ok", - "InstancesHealth": { - "Degraded": 0, - "Info": 0, - "NoData": 0, - "Ok": 1, - "Pending": 0, - "Severe": 0, - "Unknown": 0, - "Warning": 0 - }, - "RefreshedAt": "2015-08-20T21:09:18Z" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves overall health information for an environment named my-env:", - "id": "to-view-environment-health-1456277109510", - "title": "To view environment health" - } - ], - "DescribeEnvironmentResources": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "output": { - "EnvironmentResources": { - "AutoScalingGroups": [ - { - "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingGroup-QSB2ZO88SXZT" - } - ], - "EnvironmentName": "my-env", - "Instances": [ - { - "Id": "i-0c91c786" - } - ], - "LaunchConfigurations": [ - { - "Name": "awseb-e-qu3fyyjyjs-stack-AWSEBAutoScalingLaunchConfiguration-1UUVQIBC96TQ2" - } - ], - "LoadBalancers": [ - { - "Name": "awseb-e-q-AWSEBLoa-1EEPZ0K98BIF0" - } - ], - "Queues": [ - - ], - "Triggers": [ - - ] - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves information about resources in an environment named my-env:", - "id": "to-view-information-about-the-aws-resources-in-your-environment-1456277206232", - "title": "To view information about the AWS resources in your environment" - } - ], - "DescribeEnvironments": [ - { - "input": { - "EnvironmentNames": [ - "my-env" - ] - }, - "output": { - "Environments": [ - { - "AbortableOperationInProgress": false, - "ApplicationName": "my-app", - "CNAME": "my-env.elasticbeanstalk.com", - "DateCreated": "2015-08-07T20:48:49.599Z", - "DateUpdated": "2015-08-12T18:16:55.019Z", - "EndpointURL": "awseb-e-w-AWSEBLoa-1483140XB0Q4L-109QXY8121.us-west-2.elb.amazonaws.com", - "EnvironmentId": "e-rpqsewtp2j", - "EnvironmentName": "my-env", - "Health": "Green", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "Status": "Ready", - "Tier": { - "Name": "WebServer", - "Type": "Standard", - "Version": " " - }, - "VersionLabel": "7f58-stage-150812_025409" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves information about an environment named my-env:", - "id": "to-view-information-about-an-environment-1456277288662", - "title": "To view information about an environment" - } - ], - "DescribeEvents": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "output": { - "Events": [ - { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "EventDate": "2015-08-20T07:06:53.535Z", - "Message": "Environment health has transitioned from Info to Ok.", - "Severity": "INFO" - }, - { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "EventDate": "2015-08-20T07:06:02.049Z", - "Message": "Environment update completed successfully.", - "RequestId": "b7f3960b-4709-11e5-ba1e-07e16200da41", - "Severity": "INFO" - }, - { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "EventDate": "2015-08-13T19:16:27.561Z", - "Message": "Using elasticbeanstalk-us-west-2-012445113685 as Amazon S3 storage bucket for environment data.", - "RequestId": "ca8dfbf6-41ef-11e5-988b-651aa638f46b", - "Severity": "INFO" - }, - { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "EventDate": "2015-08-13T19:16:26.581Z", - "Message": "createEnvironment is starting.", - "RequestId": "cdfba8f6-41ef-11e5-988b-65638f41aa6b", - "Severity": "INFO" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves events for an environment named my-env:", - "id": "to-view-events-for-an-environment-1456277367589", - "title": "To view events for an environment" - } - ], - "DescribeInstancesHealth": [ - { - "input": { - "AttributeNames": [ - "All" - ], - "EnvironmentName": "my-env" - }, - "output": { - "InstanceHealthList": [ - { - "ApplicationMetrics": { - "Duration": 10, - "Latency": { - "P10": 0, - "P50": 0.001, - "P75": 0.002, - "P85": 0.003, - "P90": 0.004, - "P95": 0.005, - "P99": 0.006, - "P999": 0.006 - }, - "RequestCount": 48, - "StatusCodes": { - "Status2xx": 47, - "Status3xx": 0, - "Status4xx": 1, - "Status5xx": 0 - } - }, - "Causes": [ - - ], - "Color": "Green", - "HealthStatus": "Ok", - "InstanceId": "i-08691cc7", - "LaunchedAt": "2015-08-13T19:17:09Z", - "System": { - "CPUUtilization": { - "IOWait": 0.2, - "IRQ": 0, - "Idle": 97.8, - "Nice": 0.1, - "SoftIRQ": 0.1, - "System": 0.3, - "User": 1.5 - }, - "LoadAverage": [ - 0, - 0.02, - 0.05 - ] - } - } - ], - "RefreshedAt": "2015-08-20T21:09:08Z" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves health information for instances in an environment named my-env:", - "id": "to-view-environment-health-1456277424757", - "title": "To view environment health" - } - ], - "ListAvailableSolutionStacks": [ - { - "output": { - "SolutionStackDetails": [ - { - "PermittedFileTypes": [ - "zip" - ], - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Node.js" - } - ], - "SolutionStacks": [ - "64bit Amazon Linux 2015.03 v2.0.0 running Node.js", - "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.6", - "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.5", - "64bit Amazon Linux 2015.03 v2.0.0 running PHP 5.4", - "64bit Amazon Linux 2015.03 v2.0.0 running Python 3.4", - "64bit Amazon Linux 2015.03 v2.0.0 running Python 2.7", - "64bit Amazon Linux 2015.03 v2.0.0 running Python", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Puma)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.2 (Passenger Standalone)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Puma)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.1 (Passenger Standalone)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Puma)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 2.0 (Passenger Standalone)", - "64bit Amazon Linux 2015.03 v2.0.0 running Ruby 1.9.3", - "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 7", - "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 7 Java 6", - "64bit Windows Server Core 2012 R2 running IIS 8.5", - "64bit Windows Server 2012 R2 running IIS 8.5", - "64bit Windows Server 2012 running IIS 8", - "64bit Windows Server 2008 R2 running IIS 7.5", - "64bit Amazon Linux 2015.03 v2.0.0 running Docker 1.6.2", - "64bit Amazon Linux 2015.03 v2.0.0 running Multi-container Docker 1.6.2 (Generic)", - "64bit Debian jessie v2.0.0 running GlassFish 4.1 Java 8 (Preconfigured - Docker)", - "64bit Debian jessie v2.0.0 running GlassFish 4.0 Java 7 (Preconfigured - Docker)", - "64bit Debian jessie v2.0.0 running Go 1.4 (Preconfigured - Docker)", - "64bit Debian jessie v2.0.0 running Go 1.3 (Preconfigured - Docker)", - "64bit Debian jessie v2.0.0 running Python 3.4 (Preconfigured - Docker)" - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation lists solution stacks for all currently available platform configurations and any that you have used in the past:", - "id": "to-view-solution-stacks-1456277504811", - "title": "To view solution stacks" - } - ], - "RebuildEnvironment": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation terminates and recreates the resources in an environment named my-env:", - "id": "to-rebuild-an-environment-1456277600918", - "title": "To rebuild an environment" - } - ], - "RequestEnvironmentInfo": [ - { - "input": { - "EnvironmentName": "my-env", - "InfoType": "tail" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation requests logs from an environment named my-env:", - "id": "to-request-tailed-logs-1456277657045", - "title": "To request tailed logs" - } - ], - "RestartAppServer": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation restarts application servers on all instances in an environment named my-env:", - "id": "to-restart-application-servers-1456277739302", - "title": "To restart application servers" - } - ], - "RetrieveEnvironmentInfo": [ - { - "input": { - "EnvironmentName": "my-env", - "InfoType": "tail" - }, - "output": { - "EnvironmentInfo": [ - { - "Ec2InstanceId": "i-09c1c867", - "InfoType": "tail", - "Message": "https://elasticbeanstalk-us-west-2-0123456789012.s3.amazonaws.com/resources/environments/logs/tail/e-fyqyju3yjs/i-09c1c867/TailLogs-1440109397703.out?AWSAccessKeyId=AKGPT4J56IAJ2EUBL5CQ&Expires=1440195891&Signature=n%2BEalOV6A2HIOx4Rcfb7LT16bBM%3D", - "SampleTimestamp": "2015-08-20T22:23:17.703Z" - } - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation retrieves a link to logs from an environment named my-env:", - "id": "to-retrieve-tailed-logs-1456277792734", - "title": "To retrieve tailed logs" - } - ], - "SwapEnvironmentCNAMEs": [ - { - "input": { - "DestinationEnvironmentName": "my-env-green", - "SourceEnvironmentName": "my-env-blue" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation swaps the assigned subdomains of two environments:", - "id": "to-swap-environment-cnames-1456277839438", - "title": "To swap environment CNAMES" - } - ], - "TerminateEnvironment": [ - { - "input": { - "EnvironmentName": "my-env" - }, - "output": { - "AbortableOperationInProgress": false, - "ApplicationName": "my-app", - "CNAME": "my-env.elasticbeanstalk.com", - "DateCreated": "2015-08-12T18:52:53.622Z", - "DateUpdated": "2015-08-12T19:05:54.744Z", - "EndpointURL": "awseb-e-f-AWSEBLoa-1I9XUMP4-8492WNUP202574.us-west-2.elb.amazonaws.com", - "EnvironmentId": "e-fh2eravpns", - "EnvironmentName": "my-env", - "Health": "Grey", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "Status": "Terminating", - "Tier": { - "Name": "WebServer", - "Type": "Standard", - "Version": " " - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation terminates an Elastic Beanstalk environment named my-env:", - "id": "to-terminate-an-environment-1456277888556", - "title": "To terminate an environment" - } - ], - "UpdateApplication": [ - { - "input": { - "ApplicationName": "my-app", - "Description": "my Elastic Beanstalk application" - }, - "output": { - "Application": { - "ApplicationName": "my-app", - "ConfigurationTemplates": [ - - ], - "DateCreated": "2015-08-13T19:15:50.449Z", - "DateUpdated": "2015-08-20T22:34:56.195Z", - "Description": "my Elastic Beanstalk application", - "Versions": [ - "2fba-stage-150819_234450", - "bf07-stage-150820_214945", - "93f8", - "fd7c-stage-150820_000431", - "22a0-stage-150819_185942" - ] - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation updates the description of an application named my-app:", - "id": "to-change-an-applications-description-1456277957075", - "title": "To change an application's description" - } - ], - "UpdateApplicationVersion": [ - { - "input": { - "ApplicationName": "my-app", - "Description": "new description", - "VersionLabel": "22a0-stage-150819_185942" - }, - "output": { - "ApplicationVersion": { - "ApplicationName": "my-app", - "DateCreated": "2015-08-19T18:59:17.646Z", - "DateUpdated": "2015-08-20T22:53:28.871Z", - "Description": "new description", - "SourceBundle": { - "S3Bucket": "elasticbeanstalk-us-west-2-0123456789012", - "S3Key": "my-app/22a0-stage-150819_185942.war" - }, - "VersionLabel": "22a0-stage-150819_185942" - } - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation updates the description of an application version named 22a0-stage-150819_185942:", - "id": "to-change-an-application-versions-description-1456278019237", - "title": "To change an application version's description" - } - ], - "UpdateConfigurationTemplate": [ - { - "input": { - "ApplicationName": "my-app", - "OptionsToRemove": [ - { - "Namespace": "aws:elasticbeanstalk:healthreporting:system", - "OptionName": "ConfigDocument" - } - ], - "TemplateName": "my-template" - }, - "output": { - "ApplicationName": "my-app", - "DateCreated": "2015-08-20T22:39:31Z", - "DateUpdated": "2015-08-20T22:43:11Z", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "TemplateName": "my-template" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation removes the configured CloudWatch custom health metrics configuration ConfigDocument from a saved configuration template named my-template:", - "id": "to-update-a-configuration-template-1456278075300", - "title": "To update a configuration template" - } - ], - "UpdateEnvironment": [ - { - "input": { - "EnvironmentName": "my-env", - "VersionLabel": "v2" - }, - "output": { - "ApplicationName": "my-app", - "CNAME": "my-env.elasticbeanstalk.com", - "DateCreated": "2015-02-03T23:04:54.453Z", - "DateUpdated": "2015-02-03T23:12:29.119Z", - "EndpointURL": "awseb-e-i-AWSEBLoa-1RDLX6TC9VUAO-0123456789.us-west-2.elb.amazonaws.com", - "EnvironmentId": "e-szqipays4h", - "EnvironmentName": "my-env", - "Health": "Grey", - "SolutionStackName": "64bit Amazon Linux running Tomcat 7", - "Status": "Updating", - "Tier": { - "Name": "WebServer", - "Type": "Standard", - "Version": " " - }, - "VersionLabel": "v2" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation updates an environment named \"my-env\" to version \"v2\" of the application to which it belongs:", - "id": "to-update-an-environment-to-a-new-version-1456278210718", - "title": "To update an environment to a new version" - }, - { - "input": { - "EnvironmentName": "my-env", - "OptionSettings": [ - { - "Namespace": "aws:elb:healthcheck", - "OptionName": "Interval", - "Value": "15" - }, - { - "Namespace": "aws:elb:healthcheck", - "OptionName": "Timeout", - "Value": "8" - }, - { - "Namespace": "aws:elb:healthcheck", - "OptionName": "HealthyThreshold", - "Value": "2" - }, - { - "Namespace": "aws:elb:healthcheck", - "OptionName": "UnhealthyThreshold", - "Value": "3" - } - ] - }, - "output": { - "AbortableOperationInProgress": true, - "ApplicationName": "my-app", - "CNAME": "my-env.elasticbeanstalk.com", - "DateCreated": "2015-08-07T20:48:49.599Z", - "DateUpdated": "2015-08-12T18:15:23.804Z", - "EndpointURL": "awseb-e-w-AWSEBLoa-14XB83101Q4L-104QXY80921.sa-east-1.elb.amazonaws.com", - "EnvironmentId": "e-wtp2rpqsej", - "EnvironmentName": "my-env", - "Health": "Grey", - "SolutionStackName": "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8", - "Status": "Updating", - "Tier": { - "Name": "WebServer", - "Type": "Standard", - "Version": " " - }, - "VersionLabel": "7f58-stage-150812_025409" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation configures several options in the aws:elb:loadbalancer namespace:", - "id": "to-configure-option-settings-1456278286349", - "title": "To configure option settings" - } - ], - "ValidateConfigurationSettings": [ - { - "input": { - "ApplicationName": "my-app", - "EnvironmentName": "my-env", - "OptionSettings": [ - { - "Namespace": "aws:elasticbeanstalk:healthreporting:system", - "OptionName": "ConfigDocument", - "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": null,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": null,\"ApplicationRequests2xx\": null,\"InstancesDegraded\": null,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": null,\"InstancesNoData\": null,\"InstancesPending\": 60,\"ApplicationLatencyP10\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": null,\"InstancesOk\": 60,\"ApplicationRequests3xx\": null,\"ApplicationRequests4xx\": null},\"Instance\": {\"ApplicationLatencyP99.9\": null,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": null,\"ApplicationLatencyP95\": null,\"ApplicationLatencyP85\": null,\"CPUUser\": 60,\"ApplicationRequests2xx\": null,\"CPUIdle\": null,\"ApplicationLatencyP50\": null,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": null,\"LoadAverage1min\": null,\"CPUIrq\": null,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": null,\"LoadAverage5min\": null,\"ApplicationRequests5xx\": null,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": null,\"InstanceHealth\": null,\"CPUSoftirq\": 60}},\"Version\": 1}" - } - ] - }, - "output": { - "Messages": [ - - ] - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation validates a CloudWatch custom metrics config document:", - "id": "to-validate-configuration-settings-1456278393654", - "title": "To validate configuration settings" - } - ] - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json deleted file mode 100644 index 350cce4d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "DescribeEvents": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxRecords", - "result_key": "Events" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/service-2.json deleted file mode 100644 index 72d8127e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elasticbeanstalk/2010-12-01/service-2.json +++ /dev/null @@ -1,3997 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-12-01", - "endpointPrefix":"elasticbeanstalk", - "protocol":"query", - "serviceAbbreviation":"Elastic Beanstalk", - "serviceFullName":"AWS Elastic Beanstalk", - "serviceId":"Elastic Beanstalk", - "signatureVersion":"v4", - "uid":"elasticbeanstalk-2010-12-01", - "xmlNamespace":"http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/" - }, - "operations":{ - "AbortEnvironmentUpdate":{ - "name":"AbortEnvironmentUpdate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AbortEnvironmentUpdateMessage"}, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Cancels in-progress environment configuration update or application version deployment.

" - }, - "ApplyEnvironmentManagedAction":{ - "name":"ApplyEnvironmentManagedAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ApplyEnvironmentManagedActionRequest"}, - "output":{ - "shape":"ApplyEnvironmentManagedActionResult", - "resultWrapper":"ApplyEnvironmentManagedActionResult" - }, - "errors":[ - {"shape":"ElasticBeanstalkServiceException"}, - {"shape":"ManagedActionInvalidStateException"} - ], - "documentation":"

Applies a scheduled managed action immediately. A managed action can be applied only if its status is Scheduled. Get the status and action ID of a managed action with DescribeEnvironmentManagedActions.

" - }, - "CheckDNSAvailability":{ - "name":"CheckDNSAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CheckDNSAvailabilityMessage"}, - "output":{ - "shape":"CheckDNSAvailabilityResultMessage", - "resultWrapper":"CheckDNSAvailabilityResult" - }, - "documentation":"

Checks if the specified CNAME is available.

" - }, - "ComposeEnvironments":{ - "name":"ComposeEnvironments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ComposeEnvironmentsMessage"}, - "output":{ - "shape":"EnvironmentDescriptionsMessage", - "resultWrapper":"ComposeEnvironmentsResult" - }, - "errors":[ - {"shape":"TooManyEnvironmentsException"}, - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

" - }, - "CreateApplication":{ - "name":"CreateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationMessage"}, - "output":{ - "shape":"ApplicationDescriptionMessage", - "resultWrapper":"CreateApplicationResult" - }, - "errors":[ - {"shape":"TooManyApplicationsException"} - ], - "documentation":"

Creates an application that has one configuration template named default and no application versions.

" - }, - "CreateApplicationVersion":{ - "name":"CreateApplicationVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationVersionMessage"}, - "output":{ - "shape":"ApplicationVersionDescriptionMessage", - "resultWrapper":"CreateApplicationVersionResult" - }, - "errors":[ - {"shape":"TooManyApplicationsException"}, - {"shape":"TooManyApplicationVersionsException"}, - {"shape":"InsufficientPrivilegesException"}, - {"shape":"S3LocationNotInServiceRegionException"}, - {"shape":"CodeBuildNotInServiceRegionException"} - ], - "documentation":"

Creates an application version for the specified application. You can create an application version from a source bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows:

Specify a commit in an AWS CodeCommit repository with SourceBuildInformation.

Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration.

Specify a source bundle in S3 with SourceBundle

Omit both SourceBuildInformation and SourceBundle to use the default sample application.

Once you create an application version with a specified Amazon S3 bucket and key location, you cannot change that Amazon S3 location. If you change the Amazon S3 location, you receive an exception when you attempt to launch an environment from the application version.

" - }, - "CreateConfigurationTemplate":{ - "name":"CreateConfigurationTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConfigurationTemplateMessage"}, - "output":{ - "shape":"ConfigurationSettingsDescription", - "resultWrapper":"CreateConfigurationTemplateResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"TooManyBucketsException"}, - {"shape":"TooManyConfigurationTemplatesException"} - ], - "documentation":"

Creates a configuration template. Templates are associated with a specific application and are used to deploy different versions of the application with the same configuration settings.

Templates aren't associated with any environment. The EnvironmentName response element is always null.

Related Topics

" - }, - "CreateEnvironment":{ - "name":"CreateEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEnvironmentMessage"}, - "output":{ - "shape":"EnvironmentDescription", - "resultWrapper":"CreateEnvironmentResult" - }, - "errors":[ - {"shape":"TooManyEnvironmentsException"}, - {"shape":"InsufficientPrivilegesException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"CreateStorageLocationResultMessage", - "resultWrapper":"CreateStorageLocationResult" - }, - "errors":[ - {"shape":"TooManyBucketsException"}, - {"shape":"S3SubscriptionRequiredException"}, - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Creates a bucket in Amazon S3 to store application versions, logs, and other files used by Elastic Beanstalk environments. The Elastic Beanstalk console and EB CLI call this API the first time you create an environment in a region. If the storage location already exists, CreateStorageLocation still returns the bucket name but does not create a new bucket.

" - }, - "DeleteApplication":{ - "name":"DeleteApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationMessage"}, - "errors":[ - {"shape":"OperationInProgressException"} - ], - "documentation":"

Deletes the specified application along with all associated versions and configurations. The application versions will not be deleted from your Amazon S3 bucket.

You cannot delete an application that has a running environment.

" - }, - "DeleteApplicationVersion":{ - "name":"DeleteApplicationVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationVersionMessage"}, - "errors":[ - {"shape":"SourceBundleDeletionException"}, - {"shape":"InsufficientPrivilegesException"}, - {"shape":"OperationInProgressException"}, - {"shape":"S3LocationNotInServiceRegionException"} - ], - "documentation":"

Deletes the specified version from the specified application.

You cannot delete an application version that is associated with a running environment.

" - }, - "DeleteConfigurationTemplate":{ - "name":"DeleteConfigurationTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationTemplateMessage"}, - "errors":[ - {"shape":"OperationInProgressException"} - ], - "documentation":"

Deletes the specified configuration template.

When you launch an environment using a configuration template, the environment gets a copy of the template. You can delete or modify the environment's copy of the template without affecting the running environment.

" - }, - "DeleteEnvironmentConfiguration":{ - "name":"DeleteEnvironmentConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEnvironmentConfigurationMessage"}, - "documentation":"

Deletes the draft configuration associated with the running environment.

Updating a running environment with any configuration changes creates a draft configuration set. You can get the draft configuration using DescribeConfigurationSettings while the update is in progress or if the update fails. The DeploymentStatus for the draft configuration indicates whether the deployment is in process or has failed. The draft configuration remains in existence until it is deleted with this action.

" - }, - "DeletePlatformVersion":{ - "name":"DeletePlatformVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlatformVersionRequest"}, - "output":{ - "shape":"DeletePlatformVersionResult", - "resultWrapper":"DeletePlatformVersionResult" - }, - "errors":[ - {"shape":"OperationInProgressException"}, - {"shape":"InsufficientPrivilegesException"}, - {"shape":"ElasticBeanstalkServiceException"}, - {"shape":"PlatformVersionStillReferencedException"} - ], - "documentation":"

Deletes the specified version of a custom platform.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"DescribeAccountAttributesResult", - "resultWrapper":"DescribeAccountAttributesResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Returns attributes related to AWS Elastic Beanstalk that are associated with the calling AWS account.

The result currently has one set of attributes—resource quotas.

" - }, - "DescribeApplicationVersions":{ - "name":"DescribeApplicationVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationVersionsMessage"}, - "output":{ - "shape":"ApplicationVersionDescriptionsMessage", - "resultWrapper":"DescribeApplicationVersionsResult" - }, - "documentation":"

Retrieve a list of application versions.

" - }, - "DescribeApplications":{ - "name":"DescribeApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationsMessage"}, - "output":{ - "shape":"ApplicationDescriptionsMessage", - "resultWrapper":"DescribeApplicationsResult" - }, - "documentation":"

Returns the descriptions of existing applications.

" - }, - "DescribeConfigurationOptions":{ - "name":"DescribeConfigurationOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationOptionsMessage"}, - "output":{ - "shape":"ConfigurationOptionsDescription", - "resultWrapper":"DescribeConfigurationOptionsResult" - }, - "errors":[ - {"shape":"TooManyBucketsException"} - ], - "documentation":"

Describes the configuration options that are used in a particular configuration template or environment, or that a specified solution stack defines. The description includes the values the options, their default values, and an indication of the required action on a running environment if an option value is changed.

" - }, - "DescribeConfigurationSettings":{ - "name":"DescribeConfigurationSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationSettingsMessage"}, - "output":{ - "shape":"ConfigurationSettingsDescriptions", - "resultWrapper":"DescribeConfigurationSettingsResult" - }, - "errors":[ - {"shape":"TooManyBucketsException"} - ], - "documentation":"

Returns a description of the settings for the specified configuration set, that is, either a configuration template or the configuration set associated with a running environment.

When describing the settings for the configuration set associated with a running environment, it is possible to receive two sets of setting descriptions. One is the deployed configuration set, and the other is a draft configuration of an environment that is either in the process of deployment or that failed to deploy.

Related Topics

" - }, - "DescribeEnvironmentHealth":{ - "name":"DescribeEnvironmentHealth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentHealthRequest"}, - "output":{ - "shape":"DescribeEnvironmentHealthResult", - "resultWrapper":"DescribeEnvironmentHealthResult" - }, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ElasticBeanstalkServiceException"} - ], - "documentation":"

Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.

" - }, - "DescribeEnvironmentManagedActionHistory":{ - "name":"DescribeEnvironmentManagedActionHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentManagedActionHistoryRequest"}, - "output":{ - "shape":"DescribeEnvironmentManagedActionHistoryResult", - "resultWrapper":"DescribeEnvironmentManagedActionHistoryResult" - }, - "errors":[ - {"shape":"ElasticBeanstalkServiceException"} - ], - "documentation":"

Lists an environment's completed and failed managed actions.

" - }, - "DescribeEnvironmentManagedActions":{ - "name":"DescribeEnvironmentManagedActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentManagedActionsRequest"}, - "output":{ - "shape":"DescribeEnvironmentManagedActionsResult", - "resultWrapper":"DescribeEnvironmentManagedActionsResult" - }, - "errors":[ - {"shape":"ElasticBeanstalkServiceException"} - ], - "documentation":"

Lists an environment's upcoming and in-progress managed actions.

" - }, - "DescribeEnvironmentResources":{ - "name":"DescribeEnvironmentResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentResourcesMessage"}, - "output":{ - "shape":"EnvironmentResourceDescriptionsMessage", - "resultWrapper":"DescribeEnvironmentResourcesResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Returns AWS resources for this environment.

" - }, - "DescribeEnvironments":{ - "name":"DescribeEnvironments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEnvironmentsMessage"}, - "output":{ - "shape":"EnvironmentDescriptionsMessage", - "resultWrapper":"DescribeEnvironmentsResult" - }, - "documentation":"

Returns descriptions for existing environments.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventDescriptionsMessage", - "resultWrapper":"DescribeEventsResult" - }, - "documentation":"

Returns list of event descriptions matching criteria up to the last 6 weeks.

This action returns the most recent 1,000 events from the specified NextToken.

" - }, - "DescribeInstancesHealth":{ - "name":"DescribeInstancesHealth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesHealthRequest"}, - "output":{ - "shape":"DescribeInstancesHealthResult", - "resultWrapper":"DescribeInstancesHealthResult" - }, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ElasticBeanstalkServiceException"} - ], - "documentation":"

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

" - }, - "DescribePlatformVersion":{ - "name":"DescribePlatformVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlatformVersionRequest"}, - "output":{ - "shape":"DescribePlatformVersionResult", - "resultWrapper":"DescribePlatformVersionResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"ElasticBeanstalkServiceException"} - ], - "documentation":"

Describes the version of the platform.

" - }, - "ListAvailableSolutionStacks":{ - "name":"ListAvailableSolutionStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"ListAvailableSolutionStacksResultMessage", - "resultWrapper":"ListAvailableSolutionStacksResult" - }, - "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.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"ResourceTagsDescriptionMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceTypeNotSupportedException"} - ], - "documentation":"

Returns the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

" - }, - "RebuildEnvironment":{ - "name":"RebuildEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebuildEnvironmentMessage"}, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Deletes and recreates all of the AWS resources (for example: the Auto Scaling group, load balancer, etc.) for a specified environment and forces a restart.

" - }, - "RequestEnvironmentInfo":{ - "name":"RequestEnvironmentInfo", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestEnvironmentInfoMessage"}, - "documentation":"

Initiates a request to compile the specified type of information of the deployed environment.

Setting the InfoType to tail compiles the last lines from the application server log files of every Amazon EC2 instance in your environment.

Setting the InfoType to bundle compresses the application server log files for every Amazon EC2 instance into a .zip file. Legacy and .NET containers do not support bundle logs.

Use RetrieveEnvironmentInfo to obtain the set of logs.

Related Topics

" - }, - "RestartAppServer":{ - "name":"RestartAppServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestartAppServerMessage"}, - "documentation":"

Causes the environment to restart the application container server running on each Amazon EC2 instance.

" - }, - "RetrieveEnvironmentInfo":{ - "name":"RetrieveEnvironmentInfo", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetrieveEnvironmentInfoMessage"}, - "output":{ - "shape":"RetrieveEnvironmentInfoResultMessage", - "resultWrapper":"RetrieveEnvironmentInfoResult" - }, - "documentation":"

Retrieves the compiled information from a RequestEnvironmentInfo request.

Related Topics

" - }, - "SwapEnvironmentCNAMEs":{ - "name":"SwapEnvironmentCNAMEs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SwapEnvironmentCNAMEsMessage"}, - "documentation":"

Swaps the CNAMEs of two environments.

" - }, - "TerminateEnvironment":{ - "name":"TerminateEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateEnvironmentMessage"}, - "output":{ - "shape":"EnvironmentDescription", - "resultWrapper":"TerminateEnvironmentResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Terminates the specified environment.

" - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationMessage"}, - "output":{ - "shape":"ApplicationDescriptionMessage", - "resultWrapper":"UpdateApplicationResult" - }, - "documentation":"

Updates the specified application to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear these properties, specify an empty string.

" - }, - "UpdateApplicationResourceLifecycle":{ - "name":"UpdateApplicationResourceLifecycle", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationResourceLifecycleMessage"}, - "output":{ - "shape":"ApplicationResourceLifecycleDescriptionMessage", - "resultWrapper":"UpdateApplicationResourceLifecycleResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"} - ], - "documentation":"

Modifies lifecycle settings for an application.

" - }, - "UpdateApplicationVersion":{ - "name":"UpdateApplicationVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationVersionMessage"}, - "output":{ - "shape":"ApplicationVersionDescriptionMessage", - "resultWrapper":"UpdateApplicationVersionResult" - }, - "documentation":"

Updates the specified application version to have the specified properties.

If a property (for example, description) is not provided, the value remains unchanged. To clear properties, specify an empty string.

" - }, - "UpdateConfigurationTemplate":{ - "name":"UpdateConfigurationTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConfigurationTemplateMessage"}, - "output":{ - "shape":"ConfigurationSettingsDescription", - "resultWrapper":"UpdateConfigurationTemplateResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"TooManyBucketsException"} - ], - "documentation":"

Updates the specified configuration template to have the specified properties or configuration option values.

If a property (for example, ApplicationName) is not provided, its value remains unchanged. To clear such properties, specify an empty string.

Related Topics

" - }, - "UpdateEnvironment":{ - "name":"UpdateEnvironment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEnvironmentMessage"}, - "output":{ - "shape":"EnvironmentDescription", - "resultWrapper":"UpdateEnvironmentResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"TooManyBucketsException"} - ], - "documentation":"

Updates the environment description, deploys a new application version, updates the configuration settings to an entirely new configuration template, or updates select configuration option values in the running environment.

Attempting to update both the release and configuration is not allowed and AWS Elastic Beanstalk returns an InvalidParameterCombination error.

When updating the configuration settings to a new template or individual settings, a draft configuration is created and DescribeConfigurationSettings for this environment returns two setting descriptions with different DeploymentStatus values.

" - }, - "UpdateTagsForResource":{ - "name":"UpdateTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTagsForResourceMessage"}, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"OperationInProgressException"}, - {"shape":"TooManyTagsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceTypeNotSupportedException"} - ], - "documentation":"

Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.

Currently, Elastic Beanstalk only supports tagging of Elastic Beanstalk environments. For details about environment tagging, see Tagging Resources in Your Elastic Beanstalk Environment.

If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name:

elasticbeanstalk:AddTags

Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter.

elasticbeanstalk:RemoveTags

Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter.

For details about creating a custom user policy, see Creating a Custom User Policy.

" - }, - "ValidateConfigurationSettings":{ - "name":"ValidateConfigurationSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ValidateConfigurationSettingsMessage"}, - "output":{ - "shape":"ConfigurationSettingsValidationMessages", - "resultWrapper":"ValidateConfigurationSettingsResult" - }, - "errors":[ - {"shape":"InsufficientPrivilegesException"}, - {"shape":"TooManyBucketsException"} - ], - "documentation":"

Takes a set of configuration settings and either a configuration template or environment, and determines whether those values are valid.

This action returns a list of messages indicating any errors or warnings associated with the selection of option values.

" - } - }, - "shapes":{ - "ARN":{"type":"string"}, - "AbortEnvironmentUpdateMessage":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

This specifies the ID of the environment with the in-progress update that you want to cancel.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

This specifies the name of the environment with the in-progress update that you want to cancel.

" - } - }, - "documentation":"

" - }, - "AbortableOperationInProgress":{"type":"boolean"}, - "ActionHistoryStatus":{ - "type":"string", - "enum":[ - "Completed", - "Failed", - "Unknown" - ] - }, - "ActionStatus":{ - "type":"string", - "enum":[ - "Scheduled", - "Pending", - "Running", - "Unknown" - ] - }, - "ActionType":{ - "type":"string", - "enum":[ - "InstanceRefresh", - "PlatformUpdate", - "Unknown" - ] - }, - "ApplicationArn":{"type":"string"}, - "ApplicationDescription":{ - "type":"structure", - "members":{ - "ApplicationArn":{ - "shape":"ApplicationArn", - "documentation":"

The Amazon Resource Name (ARN) of the application.

" - }, - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

User-defined description of the application.

" - }, - "DateCreated":{ - "shape":"CreationDate", - "documentation":"

The date when the application was created.

" - }, - "DateUpdated":{ - "shape":"UpdateDate", - "documentation":"

The date when the application was last modified.

" - }, - "Versions":{ - "shape":"VersionLabelsList", - "documentation":"

The names of the versions for this application.

" - }, - "ConfigurationTemplates":{ - "shape":"ConfigurationTemplateNamesList", - "documentation":"

The names of the configuration templates associated with this application.

" - }, - "ResourceLifecycleConfig":{ - "shape":"ApplicationResourceLifecycleConfig", - "documentation":"

The lifecycle settings for the application.

" - } - }, - "documentation":"

Describes the properties of an application.

" - }, - "ApplicationDescriptionList":{ - "type":"list", - "member":{"shape":"ApplicationDescription"} - }, - "ApplicationDescriptionMessage":{ - "type":"structure", - "members":{ - "Application":{ - "shape":"ApplicationDescription", - "documentation":"

The ApplicationDescription of the application.

" - } - }, - "documentation":"

Result message containing a single description of an application.

" - }, - "ApplicationDescriptionsMessage":{ - "type":"structure", - "members":{ - "Applications":{ - "shape":"ApplicationDescriptionList", - "documentation":"

This parameter contains a list of ApplicationDescription.

" - } - }, - "documentation":"

Result message containing a list of application descriptions.

" - }, - "ApplicationMetrics":{ - "type":"structure", - "members":{ - "Duration":{ - "shape":"NullableInteger", - "documentation":"

The amount of time that the metrics cover (usually 10 seconds). For example, you might have 5 requests (request_count) within the most recent time slice of 10 seconds (duration).

" - }, - "RequestCount":{ - "shape":"RequestCount", - "documentation":"

Average number of requests handled by the web server per second over the last 10 seconds.

" - }, - "StatusCodes":{ - "shape":"StatusCodes", - "documentation":"

Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response.

" - }, - "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 millisecond resolution.

" - } - }, - "documentation":"

Application request metrics for an AWS Elastic Beanstalk environment.

" - }, - "ApplicationName":{ - "type":"string", - "max":100, - "min":1 - }, - "ApplicationNamesList":{ - "type":"list", - "member":{"shape":"ApplicationName"} - }, - "ApplicationResourceLifecycleConfig":{ - "type":"structure", - "members":{ - "ServiceRole":{ - "shape":"String", - "documentation":"

The ARN of an IAM service role that Elastic Beanstalk has permission to assume.

The ServiceRole property is required the first time that you provide a VersionLifecycleConfig for the application in one of the supporting calls (CreateApplication or UpdateApplicationResourceLifecycle). After you provide it once, in either one of the calls, Elastic Beanstalk persists the Service Role with the application, and you don't need to specify it again in subsequent UpdateApplicationResourceLifecycle calls. You can, however, specify it in subsequent calls to change the Service Role to another value.

" - }, - "VersionLifecycleConfig":{ - "shape":"ApplicationVersionLifecycleConfig", - "documentation":"

The application version lifecycle configuration.

" - } - }, - "documentation":"

The resource lifecycle configuration for an application. Defines lifecycle settings for resources that belong to the application, and the service role that Elastic Beanstalk assumes in order to apply lifecycle settings. The version lifecycle configuration defines lifecycle settings for application versions.

" - }, - "ApplicationResourceLifecycleDescriptionMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application.

" - }, - "ResourceLifecycleConfig":{ - "shape":"ApplicationResourceLifecycleConfig", - "documentation":"

The lifecycle configuration.

" - } - } - }, - "ApplicationVersionArn":{"type":"string"}, - "ApplicationVersionDescription":{ - "type":"structure", - "members":{ - "ApplicationVersionArn":{ - "shape":"ApplicationVersionArn", - "documentation":"

The Amazon Resource Name (ARN) of the application version.

" - }, - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to which the application version belongs.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description of the application version.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

A unique identifier for the application version.

" - }, - "SourceBuildInformation":{ - "shape":"SourceBuildInformation", - "documentation":"

If the version's source code was retrieved from AWS CodeCommit, the location of the source code for the application version.

" - }, - "BuildArn":{ - "shape":"String", - "documentation":"

Reference to the artifact from the AWS CodeBuild build.

" - }, - "SourceBundle":{ - "shape":"S3Location", - "documentation":"

The storage location of the application version's source bundle in Amazon S3.

" - }, - "DateCreated":{ - "shape":"CreationDate", - "documentation":"

The creation date of the application version.

" - }, - "DateUpdated":{ - "shape":"UpdateDate", - "documentation":"

The last modified date of the application version.

" - }, - "Status":{ - "shape":"ApplicationVersionStatus", - "documentation":"

The processing status of the application version. Reflects the state of the application version during its creation. Many of the values are only applicable if you specified True for the Process parameter of the CreateApplicationVersion action. The following list describes the possible values.

  • Unprocessed – Application version wasn't pre-processed or validated. Elastic Beanstalk will validate configuration files during deployment of the application version to an environment.

  • Processing – Elastic Beanstalk is currently processing the application version.

  • Building – Application version is currently undergoing an AWS CodeBuild build.

  • Processed – Elastic Beanstalk was successfully pre-processed and validated.

  • Failed – Either the AWS CodeBuild build failed or configuration files didn't pass validation. This application version isn't usable.

" - } - }, - "documentation":"

Describes the properties of an application version.

" - }, - "ApplicationVersionDescriptionList":{ - "type":"list", - "member":{"shape":"ApplicationVersionDescription"} - }, - "ApplicationVersionDescriptionMessage":{ - "type":"structure", - "members":{ - "ApplicationVersion":{ - "shape":"ApplicationVersionDescription", - "documentation":"

The ApplicationVersionDescription of the application version.

" - } - }, - "documentation":"

Result message wrapping a single description of an application version.

" - }, - "ApplicationVersionDescriptionsMessage":{ - "type":"structure", - "members":{ - "ApplicationVersions":{ - "shape":"ApplicationVersionDescriptionList", - "documentation":"

List of ApplicationVersionDescription objects sorted in order of creation.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

" - } - }, - "documentation":"

Result message wrapping a list of application version descriptions.

" - }, - "ApplicationVersionLifecycleConfig":{ - "type":"structure", - "members":{ - "MaxCountRule":{ - "shape":"MaxCountRule", - "documentation":"

Specify a max count rule to restrict the number of application versions that are retained for an application.

" - }, - "MaxAgeRule":{ - "shape":"MaxAgeRule", - "documentation":"

Specify a max age rule to restrict the length of time that application versions are retained for an application.

" - } - }, - "documentation":"

The application version lifecycle settings for an application. Defines the rules that Elastic Beanstalk applies to an application's versions in order to avoid hitting the per-region limit for application versions.

When Elastic Beanstalk deletes an application version from its database, you can no longer deploy that version to an environment. The source bundle remains in S3 unless you configure the rule to delete it.

" - }, - "ApplicationVersionProccess":{"type":"boolean"}, - "ApplicationVersionStatus":{ - "type":"string", - "enum":[ - "Processed", - "Unprocessed", - "Failed", - "Processing", - "Building" - ] - }, - "ApplyEnvironmentManagedActionRequest":{ - "type":"structure", - "required":["ActionId"], - "members":{ - "EnvironmentName":{ - "shape":"String", - "documentation":"

The name of the target environment.

" - }, - "EnvironmentId":{ - "shape":"String", - "documentation":"

The environment ID of the target environment.

" - }, - "ActionId":{ - "shape":"String", - "documentation":"

The action ID of the scheduled managed action to execute.

" - } - }, - "documentation":"

Request to execute a scheduled managed action immediately.

" - }, - "ApplyEnvironmentManagedActionResult":{ - "type":"structure", - "members":{ - "ActionId":{ - "shape":"String", - "documentation":"

The action ID of the managed action.

" - }, - "ActionDescription":{ - "shape":"String", - "documentation":"

A description of the managed action.

" - }, - "ActionType":{ - "shape":"ActionType", - "documentation":"

The type of managed action.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the managed action.

" - } - }, - "documentation":"

The result message containing information about the managed action.

" - }, - "AutoCreateApplication":{"type":"boolean"}, - "AutoScalingGroup":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ResourceId", - "documentation":"

The name of the AutoScalingGroup .

" - } - }, - "documentation":"

Describes an Auto Scaling launch configuration.

" - }, - "AutoScalingGroupList":{ - "type":"list", - "member":{"shape":"AutoScalingGroup"} - }, - "AvailableSolutionStackDetailsList":{ - "type":"list", - "member":{"shape":"SolutionStackDescription"} - }, - "AvailableSolutionStackNamesList":{ - "type":"list", - "member":{"shape":"SolutionStackName"} - }, - "BoxedBoolean":{"type":"boolean"}, - "BoxedInt":{"type":"integer"}, - "BuildConfiguration":{ - "type":"structure", - "required":[ - "CodeBuildServiceRole", - "Image" - ], - "members":{ - "ArtifactName":{ - "shape":"String", - "documentation":"

The name of the artifact of the CodeBuild build. If provided, Elastic Beanstalk stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. If not provided, Elastic Beanstalk stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.

" - }, - "CodeBuildServiceRole":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" - }, - "ComputeType":{ - "shape":"ComputeType", - "documentation":"

Information about the compute resources the build project will use.

  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds

  • BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds

" - }, - "Image":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the Docker image to use for this build project.

" - }, - "TimeoutInMinutes":{ - "shape":"BoxedInt", - "documentation":"

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

" - } - }, - "documentation":"

Settings for an AWS CodeBuild build.

" - }, - "Builder":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"ARN", - "documentation":"

The ARN of the builder.

" - } - }, - "documentation":"

The builder used to build the custom platform.

" - }, - "CPUUtilization":{ - "type":"structure", - "members":{ - "User":{ - "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the User state over the last 10 seconds.

" - }, - "Nice":{ - "shape":"NullableDouble", - "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

" - }, - "System":{ - "shape":"NullableDouble", - "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the System state over the last 10 seconds.

" - }, - "Idle":{ - "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the Idle state over the last 10 seconds.

" - }, - "IOWait":{ - "shape":"NullableDouble", - "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

" - }, - "IRQ":{ - "shape":"NullableDouble", - "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

" - }, - "SoftIRQ":{ - "shape":"NullableDouble", - "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

" - }, - "Privileged":{ - "shape":"NullableDouble", - "documentation":"

Available on Windows environments only.

Percentage of time that the CPU has spent in the Privileged state over the last 10 seconds.

" - } - }, - "documentation":"

CPU utilization metrics for an instance.

" - }, - "Cause":{ - "type":"string", - "max":255, - "min":1 - }, - "Causes":{ - "type":"list", - "member":{"shape":"Cause"} - }, - "CheckDNSAvailabilityMessage":{ - "type":"structure", - "required":["CNAMEPrefix"], - "members":{ - "CNAMEPrefix":{ - "shape":"DNSCnamePrefix", - "documentation":"

The prefix used when this CNAME is reserved.

" - } - }, - "documentation":"

Results message indicating whether a CNAME is available.

" - }, - "CheckDNSAvailabilityResultMessage":{ - "type":"structure", - "members":{ - "Available":{ - "shape":"CnameAvailability", - "documentation":"

Indicates if the specified CNAME is available:

  • true : The CNAME is available.

  • false : The CNAME is not available.

" - }, - "FullyQualifiedCNAME":{ - "shape":"DNSCname", - "documentation":"

The fully qualified CNAME to reserve when CreateEnvironment is called with the provided prefix.

" - } - }, - "documentation":"

Indicates if the specified CNAME is available.

" - }, - "CnameAvailability":{"type":"boolean"}, - "CodeBuildNotInServiceRegionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

AWS CodeBuild is not available in the specified region.

", - "error":{ - "code":"CodeBuildNotInServiceRegionException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ComposeEnvironmentsMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to which the specified source bundles belong.

" - }, - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

" - }, - "VersionLabels":{ - "shape":"VersionLabels", - "documentation":"

A list of version labels, specifying one or more application source bundles that belong to the target application. Each source bundle must include an environment manifest that specifies the name of the environment and the name of the solution stack to use, and optionally can specify environment links to create.

" - } - }, - "documentation":"

Request to create or update a group of environments.

" - }, - "ComputeType":{ - "type":"string", - "enum":[ - "BUILD_GENERAL1_SMALL", - "BUILD_GENERAL1_MEDIUM", - "BUILD_GENERAL1_LARGE" - ] - }, - "ConfigurationDeploymentStatus":{ - "type":"string", - "enum":[ - "deployed", - "pending", - "failed" - ] - }, - "ConfigurationOptionDefaultValue":{"type":"string"}, - "ConfigurationOptionDescription":{ - "type":"structure", - "members":{ - "Namespace":{ - "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" - }, - "Name":{ - "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" - }, - "DefaultValue":{ - "shape":"ConfigurationOptionDefaultValue", - "documentation":"

The default value for this configuration option.

" - }, - "ChangeSeverity":{ - "shape":"ConfigurationOptionSeverity", - "documentation":"

An indication of which action is required if the value for this configuration option changes:

  • NoInterruption : There is no interruption to the environment or application availability.

  • RestartEnvironment : The environment is entirely restarted, all AWS resources are deleted and recreated, and the environment is unavailable during the process.

  • RestartApplicationServer : The environment is available the entire time. However, a short application outage occurs when the application servers on the running Amazon EC2 instances are restarted.

" - }, - "UserDefined":{ - "shape":"UserDefinedOption", - "documentation":"

An indication of whether the user defined this configuration option:

  • true : This configuration option was defined by the user. It is a valid choice for specifying if this as an Option to Remove when updating configuration settings.

  • false : This configuration was not defined by the user.

Constraint: You can remove only UserDefined options from a configuration.

Valid Values: true | false

" - }, - "ValueType":{ - "shape":"ConfigurationOptionValueType", - "documentation":"

An indication of which type of values this option has and whether it is allowable to select one or more than one of the possible values:

  • Scalar : Values for this option are a single selection from the possible values, or an unformatted string, or numeric value governed by the MIN/MAX/Regex constraints.

  • List : Values for this option are multiple selections from the possible values.

  • Boolean : Values for this option are either true or false .

  • Json : Values for this option are a JSON representation of a ConfigDocument.

" - }, - "ValueOptions":{ - "shape":"ConfigurationOptionPossibleValues", - "documentation":"

If specified, values for the configuration option are selected from this list.

" - }, - "MinValue":{ - "shape":"OptionRestrictionMinValue", - "documentation":"

If specified, the configuration option must be a numeric value greater than this value.

" - }, - "MaxValue":{ - "shape":"OptionRestrictionMaxValue", - "documentation":"

If specified, the configuration option must be a numeric value less than this value.

" - }, - "MaxLength":{ - "shape":"OptionRestrictionMaxLength", - "documentation":"

If specified, the configuration option must be a string value no longer than this value.

" - }, - "Regex":{ - "shape":"OptionRestrictionRegex", - "documentation":"

If specified, the configuration option must be a string value that satisfies this regular expression.

" - } - }, - "documentation":"

Describes the possible values for a configuration option.

" - }, - "ConfigurationOptionDescriptionsList":{ - "type":"list", - "member":{"shape":"ConfigurationOptionDescription"} - }, - "ConfigurationOptionName":{"type":"string"}, - "ConfigurationOptionPossibleValue":{"type":"string"}, - "ConfigurationOptionPossibleValues":{ - "type":"list", - "member":{"shape":"ConfigurationOptionPossibleValue"} - }, - "ConfigurationOptionSetting":{ - "type":"structure", - "members":{ - "ResourceName":{ - "shape":"ResourceName", - "documentation":"

A unique resource name for a time-based scaling configuration option.

" - }, - "Namespace":{ - "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" - }, - "OptionName":{ - "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" - }, - "Value":{ - "shape":"ConfigurationOptionValue", - "documentation":"

The current value for the configuration option.

" - } - }, - "documentation":"

A specification identifying an individual configuration option along with its current value. For a list of possible option values, go to Option Values in the AWS Elastic Beanstalk Developer Guide.

" - }, - "ConfigurationOptionSettingsList":{ - "type":"list", - "member":{"shape":"ConfigurationOptionSetting"} - }, - "ConfigurationOptionSeverity":{"type":"string"}, - "ConfigurationOptionValue":{"type":"string"}, - "ConfigurationOptionValueType":{ - "type":"string", - "enum":[ - "Scalar", - "List" - ] - }, - "ConfigurationOptionsDescription":{ - "type":"structure", - "members":{ - "SolutionStackName":{ - "shape":"SolutionStackName", - "documentation":"

The name of the solution stack these configuration options belong to.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the platform.

" - }, - "Options":{ - "shape":"ConfigurationOptionDescriptionsList", - "documentation":"

A list of ConfigurationOptionDescription.

" - } - }, - "documentation":"

Describes the settings for a specified configuration set.

" - }, - "ConfigurationSettingsDescription":{ - "type":"structure", - "members":{ - "SolutionStackName":{ - "shape":"SolutionStackName", - "documentation":"

The name of the solution stack this configuration set uses.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the platform.

" - }, - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with this configuration set.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

If not null, the name of the configuration template for this configuration set.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes this configuration set.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

If not null, the name of the environment for this configuration set.

" - }, - "DeploymentStatus":{ - "shape":"ConfigurationDeploymentStatus", - "documentation":"

If this configuration set is associated with an environment, the DeploymentStatus parameter indicates the deployment status of this configuration set:

  • null: This configuration is not associated with a running environment.

  • pending: This is a draft configuration that is not deployed to the associated environment but is in the process of deploying.

  • deployed: This is the configuration that is currently deployed to the associated running environment.

  • failed: This is a draft configuration that failed to successfully deploy.

" - }, - "DateCreated":{ - "shape":"CreationDate", - "documentation":"

The date (in UTC time) when this configuration set was created.

" - }, - "DateUpdated":{ - "shape":"UpdateDate", - "documentation":"

The date (in UTC time) when this configuration set was last modified.

" - }, - "OptionSettings":{ - "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of the configuration options and their values in this configuration set.

" - } - }, - "documentation":"

Describes the settings for a configuration set.

" - }, - "ConfigurationSettingsDescriptionList":{ - "type":"list", - "member":{"shape":"ConfigurationSettingsDescription"} - }, - "ConfigurationSettingsDescriptions":{ - "type":"structure", - "members":{ - "ConfigurationSettings":{ - "shape":"ConfigurationSettingsDescriptionList", - "documentation":"

A list of ConfigurationSettingsDescription.

" - } - }, - "documentation":"

The results from a request to change the configuration settings of an environment.

" - }, - "ConfigurationSettingsValidationMessages":{ - "type":"structure", - "members":{ - "Messages":{ - "shape":"ValidationMessagesList", - "documentation":"

A list of ValidationMessage.

" - } - }, - "documentation":"

Provides a list of validation messages.

" - }, - "ConfigurationTemplateName":{ - "type":"string", - "max":100, - "min":1 - }, - "ConfigurationTemplateNamesList":{ - "type":"list", - "member":{"shape":"ConfigurationTemplateName"} - }, - "CreateApplicationMessage":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application.

Constraint: This name must be unique within your account. If the specified name already exists, the action returns an InvalidParameterValue error.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes the application.

" - }, - "ResourceLifecycleConfig":{ - "shape":"ApplicationResourceLifecycleConfig", - "documentation":"

Specify an application resource lifecycle configuration to prevent your application from accumulating too many versions.

" - } - }, - "documentation":"

Request to create an application.

" - }, - "CreateApplicationVersionMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "VersionLabel" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application. If no application is found with this name, and AutoCreateApplication is false, returns an InvalidParameterValue error.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

A label identifying this version.

Constraint: Must be unique per application. If an application version already exists with this label for the specified application, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes this version.

" - }, - "SourceBuildInformation":{ - "shape":"SourceBuildInformation", - "documentation":"

Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application version.

" - }, - "SourceBundle":{ - "shape":"S3Location", - "documentation":"

The Amazon S3 bucket and key that identify the location of the source bundle for this version.

The Amazon S3 bucket must be in the same region as the environment.

Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with SourceBuildInformation), but not both. If neither SourceBundle nor SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.

" - }, - "BuildConfiguration":{ - "shape":"BuildConfiguration", - "documentation":"

Settings for an AWS CodeBuild build.

" - }, - "AutoCreateApplication":{ - "shape":"AutoCreateApplication", - "documentation":"

Set to true to create an application with the specified name if it doesn't already exist.

" - }, - "Process":{ - "shape":"ApplicationVersionProccess", - "documentation":"

Pre-processes and validates the environment manifest (env.yaml) and configuration files (*.config files in the .ebextensions folder) in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

You must turn processing on for application versions that you create using AWS CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3, processing is optional.

The Process option validates Elastic Beanstalk configuration files. It doesn't validate your application's configuration files, like proxy server or Docker configuration.

" - } - }, - "documentation":"

" - }, - "CreateConfigurationTemplateMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "TemplateName" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to associate with this configuration template. If no application is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template.

Constraint: This name must be unique per application.

Default: If a configuration template already exists with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" - }, - "SolutionStackName":{ - "shape":"SolutionStackName", - "documentation":"

The name of the solution stack used by this configuration. The solution stack specifies the operating system, architecture, and application server for a configuration template. It determines the set of configuration options as well as the possible and default values.

Use ListAvailableSolutionStacks to obtain a list of available solution stacks.

A solution stack name or a source configuration parameter must be specified, otherwise AWS Elastic Beanstalk returns an InvalidParameterValue error.

If a solution stack name is not specified and the source configuration parameter is specified, AWS Elastic Beanstalk uses the same solution stack as the source configuration template.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the custom 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.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment used with this configuration template.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes this configuration.

" - }, - "OptionSettings":{ - "shape":"ConfigurationOptionSettingsList", - "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration option to the requested value. The new value overrides the value obtained from the solution stack or the source configuration template.

" - } - }, - "documentation":"

Request to create a configuration template.

" - }, - "CreateEnvironmentMessage":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application that contains the version to be deployed.

If no application is found with this name, CreateEnvironment returns an InvalidParameterValue error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

A unique name for the deployment environment. Used in the application URL.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It cannot start or end with a hyphen. This name must be unique within a region in your account. If the specified name already exists in the region, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Default: If the CNAME parameter is not specified, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

" - }, - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes this environment.

" - }, - "CNAMEPrefix":{ - "shape":"DNSCnamePrefix", - "documentation":"

If specified, the environment attempts to use this value as the prefix for the CNAME. If not specified, the CNAME is generated automatically by appending a random alphanumeric string to the environment name.

" - }, - "Tier":{ - "shape":"EnvironmentTier", - "documentation":"

This specifies the tier to use for creating this environment.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

This specifies the tags applied to resources in the environment.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

The name of the application version to deploy.

If the specified application has no associated application versions, AWS Elastic Beanstalk UpdateEnvironment returns an InvalidParameterValue error.

Default: If not specified, AWS Elastic Beanstalk attempts to launch the sample application in the container.

" - }, - "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.

" - }, - "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.

For a list of current solution stacks, see Elastic Beanstalk Supported Platforms.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the platform.

" - }, - "OptionSettings":{ - "shape":"ConfigurationOptionSettingsList", - "documentation":"

If specified, AWS Elastic Beanstalk sets the specified configuration options to the requested value in the configuration set for the new environment. These override the values obtained from the solution stack or the configuration template.

" - }, - "OptionsToRemove":{ - "shape":"OptionsSpecifierList", - "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this new environment.

" - } - }, - "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":{ - "S3Bucket":{ - "shape":"S3Bucket", - "documentation":"

The name of the Amazon S3 bucket created.

" - } - }, - "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, - "min":1 - }, - "DNSCnamePrefix":{ - "type":"string", - "max":63, - "min":4 - }, - "DeleteApplicationMessage":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to delete.

" - }, - "TerminateEnvByForce":{ - "shape":"TerminateEnvForce", - "documentation":"

When set to true, running environments will be terminated before deleting the application.

" - } - }, - "documentation":"

Request to delete an application.

" - }, - "DeleteApplicationVersionMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "VersionLabel" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to which the version belongs.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

The label of the version to delete.

" - }, - "DeleteSourceBundle":{ - "shape":"DeleteSourceBundle", - "documentation":"

Set to true to delete the source bundle from your storage bucket. Otherwise, the application version is deleted only from Elastic Beanstalk and the source bundle remains in Amazon S3.

" - } - }, - "documentation":"

Request to delete an application version.

" - }, - "DeleteConfigurationTemplateMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "TemplateName" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to delete the configuration template from.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to delete.

" - } - }, - "documentation":"

Request to delete a configuration template.

" - }, - "DeleteEnvironmentConfigurationMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "EnvironmentName" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application the environment is associated with.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to delete the draft configuration from.

" - } - }, - "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", - "members":{ - "VersionLabel":{ - "shape":"String", - "documentation":"

The version label of the application version in the deployment.

" - }, - "DeploymentId":{ - "shape":"NullableLong", - "documentation":"

The ID of the deployment. This number increases by one each time that you deploy source code or change instance configuration settings.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the deployment:

  • In Progress : The deployment is in progress.

  • Deployed : The deployment succeeded.

  • Failed : The deployment failed.

" - }, - "DeploymentTime":{ - "shape":"DeploymentTimestamp", - "documentation":"

For in-progress deployments, the time that the deployment started.

For completed deployments, the time that the deployment ended.

" - } - }, - "documentation":"

Information about an application version deployment.

" - }, - "DeploymentTimestamp":{"type":"timestamp"}, - "DescribeAccountAttributesResult":{ - "type":"structure", - "members":{ - "ResourceQuotas":{ - "shape":"ResourceQuotas", - "documentation":"

The Elastic Beanstalk resource quotas associated with the calling AWS account.

" - } - } - }, - "DescribeApplicationVersionsMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Specify an application name to show only application versions for that application.

" - }, - "VersionLabels":{ - "shape":"VersionLabelsList", - "documentation":"

Specify a version label to show a specific application version.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

For a paginated request. Specify a maximum number of application versions to include in each response.

If no MaxRecords is specified, all available application versions are retrieved in a single response.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" - } - }, - "documentation":"

Request to describe application versions.

" - }, - "DescribeApplicationsMessage":{ - "type":"structure", - "members":{ - "ApplicationNames":{ - "shape":"ApplicationNamesList", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include those with the specified names.

" - } - }, - "documentation":"

Request to describe one or more applications.

" - }, - "DescribeConfigurationOptionsMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with the configuration template or environment. Only needed if you want to describe the configuration options associated with either the configuration template or environment.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template whose configuration options you want to describe.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment whose configuration options you want to describe.

" - }, - "SolutionStackName":{ - "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 containing a list of application version descriptions.

" - }, - "DescribeConfigurationSettingsMessage":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The application for the environment or configuration template.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to describe.

Conditional: You must specify either this parameter or an EnvironmentName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns a MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to describe.

Condition: You must specify either this or a TemplateName, but not both. If you specify both, AWS Elastic Beanstalk returns an InvalidParameterCombination error. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - } - }, - "documentation":"

Result message containing all of the configuration settings for a specified solution stack or configuration template.

" - }, - "DescribeEnvironmentHealthRequest":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

Specify the environment by name.

You must specify either this or an EnvironmentName, or both.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

Specify the environment by ID.

You must specify either this or an EnvironmentName, or both.

" - }, - "AttributeNames":{ - "shape":"EnvironmentHealthAttributes", - "documentation":"

Specify the response elements to return. To retrieve all attributes, set to All. If no attribute names are specified, returns the name of the environment.

" - } - }, - "documentation":"

See the example below to learn how to create a request body.

" - }, - "DescribeEnvironmentHealthResult":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The environment's name.

" - }, - "HealthStatus":{ - "shape":"String", - "documentation":"

The health status of the environment. For example, Ok.

" - }, - "Status":{ - "shape":"EnvironmentHealth", - "documentation":"

The environment's operational status. Ready, Launching, Updating, Terminating, or Terminated.

" - }, - "Color":{ - "shape":"String", - "documentation":"

The health color of the environment.

" - }, - "Causes":{ - "shape":"Causes", - "documentation":"

Descriptions of the data that contributed to the environment's current health status.

" - }, - "ApplicationMetrics":{ - "shape":"ApplicationMetrics", - "documentation":"

Application request metrics for the environment.

" - }, - "InstancesHealth":{ - "shape":"InstanceHealthSummary", - "documentation":"

Summary health information for the instances in the environment.

" - }, - "RefreshedAt":{ - "shape":"RefreshedAt", - "documentation":"

The date and time that the health information was retrieved.

" - } - }, - "documentation":"

Health details for an AWS Elastic Beanstalk environment.

" - }, - "DescribeEnvironmentManagedActionHistoryRequest":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The environment ID of the target environment.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the target environment.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token returned by a previous request.

" - }, - "MaxItems":{ - "shape":"Integer", - "documentation":"

The maximum number of items to return for a single request.

" - } - }, - "documentation":"

Request to list completed and failed managed actions.

" - }, - "DescribeEnvironmentManagedActionHistoryResult":{ - "type":"structure", - "members":{ - "ManagedActionHistoryItems":{ - "shape":"ManagedActionHistoryItems", - "documentation":"

A list of completed and failed managed actions.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

A pagination token that you pass to DescribeEnvironmentManagedActionHistory to get the next page of results.

" - } - }, - "documentation":"

A result message containing a list of completed and failed managed actions.

" - }, - "DescribeEnvironmentManagedActionsRequest":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"String", - "documentation":"

The name of the target environment.

" - }, - "EnvironmentId":{ - "shape":"String", - "documentation":"

The environment ID of the target environment.

" - }, - "Status":{ - "shape":"ActionStatus", - "documentation":"

To show only actions with a particular status, specify a status.

" - } - }, - "documentation":"

Request to list an environment's upcoming and in-progress managed actions.

" - }, - "DescribeEnvironmentManagedActionsResult":{ - "type":"structure", - "members":{ - "ManagedActions":{ - "shape":"ManagedActions", - "documentation":"

A list of upcoming and in-progress managed actions.

" - } - }, - "documentation":"

The result message containing a list of managed actions.

" - }, - "DescribeEnvironmentResourcesMessage":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to retrieve AWS resource usage data.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - } - }, - "documentation":"

Request to describe the resources in an environment.

" - }, - "DescribeEnvironmentsMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that are associated with this application version.

" - }, - "EnvironmentIds":{ - "shape":"EnvironmentIdList", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified IDs.

" - }, - "EnvironmentNames":{ - "shape":"EnvironmentNamesList", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those that have the specified names.

" - }, - "IncludeDeleted":{ - "shape":"IncludeDeleted", - "documentation":"

Indicates whether to include deleted environments:

true: Environments that have been deleted after IncludedDeletedBackTo are displayed.

false: Do not include deleted environments.

" - }, - "IncludedDeletedBackTo":{ - "shape":"IncludeDeletedBackTo", - "documentation":"

If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

For a paginated request. Specify a maximum number of environments to include in each response.

If no MaxRecords is specified, all available environments are retrieved in a single response.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" - } - }, - "documentation":"

Request to describe one or more environments.

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to include only those associated with this application.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this application version.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that are associated with this environment configuration.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

" - }, - "EnvironmentName":{ - "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.

" - }, - "Severity":{ - "shape":"EventSeverity", - "documentation":"

If specified, limits the events returned from this call to include only those with the specified severity or higher.

" - }, - "StartTime":{ - "shape":"TimeFilterStart", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur on or after this time.

" - }, - "EndTime":{ - "shape":"TimeFilterEnd", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those that occur up to, but not including, the EndTime.

" - }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

Specifies the maximum number of events that can be returned, beginning with the most recent event.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

Pagination token. If specified, the events return the next batch of results.

" - } - }, - "documentation":"

Request to retrieve a list of events for an environment.

" - }, - "DescribeInstancesHealthRequest":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

Specify the AWS Elastic Beanstalk environment by name.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

Specify the AWS Elastic Beanstalk environment by ID.

" - }, - "AttributeNames":{ - "shape":"InstancesHealthAttributes", - "documentation":"

Specifies the response elements you wish to receive. To retrieve all attributes, set to All. If no attribute names are specified, returns a list of instances.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Specify the pagination token returned by a previous call.

" - } - }, - "documentation":"

Parameters for a call to DescribeInstancesHealth.

" - }, - "DescribeInstancesHealthResult":{ - "type":"structure", - "members":{ - "InstanceHealthList":{ - "shape":"InstanceHealthList", - "documentation":"

Detailed health information about each instance.

The output differs slightly between Linux and Windows environments. There is a difference in the members that are supported under the <CPUUtilization> type.

" - }, - "RefreshedAt":{ - "shape":"RefreshedAt", - "documentation":"

The date and time that the health information was retrieved.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Pagination token for the next page of results, if available.

" - } - }, - "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 - }, - "Ec2InstanceId":{"type":"string"}, - "ElasticBeanstalkServiceException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The exception error message.

" - } - }, - "documentation":"

A generic service exception has occurred.

", - "exception":true - }, - "EndpointURL":{"type":"string"}, - "EnvironmentArn":{"type":"string"}, - "EnvironmentDescription":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of this environment.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of this environment.

" - }, - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with this environment.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

The application version deployed in this environment.

" - }, - "SolutionStackName":{ - "shape":"SolutionStackName", - "documentation":"

The name of the SolutionStack deployed with this environment.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the platform.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template used to originally launch this environment.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Describes this environment.

" - }, - "EndpointURL":{ - "shape":"EndpointURL", - "documentation":"

For load-balanced, autoscaling environments, the URL to the LoadBalancer. For single-instance environments, the IP address of the instance.

" - }, - "CNAME":{ - "shape":"DNSCname", - "documentation":"

The URL to the CNAME for this environment.

" - }, - "DateCreated":{ - "shape":"CreationDate", - "documentation":"

The creation date for this environment.

" - }, - "DateUpdated":{ - "shape":"UpdateDate", - "documentation":"

The last modified date for this environment.

" - }, - "Status":{ - "shape":"EnvironmentStatus", - "documentation":"

The current operational status of the environment:

  • Launching: Environment is in the process of initial deployment.

  • Updating: Environment is in the process of updating its configuration settings or application version.

  • Ready: Environment is available to have an action performed on it, such as update or terminate.

  • Terminating: Environment is in the shut-down process.

  • Terminated: Environment is not running.

" - }, - "AbortableOperationInProgress":{ - "shape":"AbortableOperationInProgress", - "documentation":"

Indicates if there is an in-progress environment configuration update or application version deployment that you can cancel.

true: There is an update in progress.

false: There are no updates currently in progress.

" - }, - "Health":{ - "shape":"EnvironmentHealth", - "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

  • Red: Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment.

  • Yellow: Indicates that something is wrong. Occurs when two consecutive failures occur for an environment.

  • Green: Indicates the environment is healthy and fully functional.

  • Grey: Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an UpdateEnvironment or RestartEnvironement request.

Default: Grey

" - }, - "HealthStatus":{ - "shape":"EnvironmentHealthStatus", - "documentation":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" - }, - "Resources":{ - "shape":"EnvironmentResourcesDescription", - "documentation":"

The description of the AWS resources used by this environment.

" - }, - "Tier":{ - "shape":"EnvironmentTier", - "documentation":"

Describes the current tier of this environment.

" - }, - "EnvironmentLinks":{ - "shape":"EnvironmentLinks", - "documentation":"

A list of links to other environments in the same group.

" - }, - "EnvironmentArn":{ - "shape":"EnvironmentArn", - "documentation":"

The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

" - } - }, - "documentation":"

Describes the properties of an environment.

" - }, - "EnvironmentDescriptionsList":{ - "type":"list", - "member":{"shape":"EnvironmentDescription"} - }, - "EnvironmentDescriptionsMessage":{ - "type":"structure", - "members":{ - "Environments":{ - "shape":"EnvironmentDescriptionsList", - "documentation":"

Returns an EnvironmentDescription list.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

" - } - }, - "documentation":"

Result message containing a list of environment descriptions.

" - }, - "EnvironmentHealth":{ - "type":"string", - "enum":[ - "Green", - "Yellow", - "Red", - "Grey" - ] - }, - "EnvironmentHealthAttribute":{ - "type":"string", - "enum":[ - "Status", - "Color", - "Causes", - "ApplicationMetrics", - "InstancesHealth", - "All", - "HealthStatus", - "RefreshedAt" - ] - }, - "EnvironmentHealthAttributes":{ - "type":"list", - "member":{"shape":"EnvironmentHealthAttribute"} - }, - "EnvironmentHealthStatus":{ - "type":"string", - "enum":[ - "NoData", - "Unknown", - "Pending", - "Ok", - "Info", - "Warning", - "Degraded", - "Severe", - "Suspended" - ] - }, - "EnvironmentId":{"type":"string"}, - "EnvironmentIdList":{ - "type":"list", - "member":{"shape":"EnvironmentId"} - }, - "EnvironmentInfoDescription":{ - "type":"structure", - "members":{ - "InfoType":{ - "shape":"EnvironmentInfoType", - "documentation":"

The type of information retrieved.

" - }, - "Ec2InstanceId":{ - "shape":"Ec2InstanceId", - "documentation":"

The Amazon EC2 Instance ID for this information.

" - }, - "SampleTimestamp":{ - "shape":"SampleTimestamp", - "documentation":"

The time stamp when this information was retrieved.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

The retrieved information.

" - } - }, - "documentation":"

The information retrieved from the Amazon EC2 instances.

" - }, - "EnvironmentInfoDescriptionList":{ - "type":"list", - "member":{"shape":"EnvironmentInfoDescription"} - }, - "EnvironmentInfoType":{ - "type":"string", - "enum":[ - "tail", - "bundle" - ] - }, - "EnvironmentLink":{ - "type":"structure", - "members":{ - "LinkName":{ - "shape":"String", - "documentation":"

The name of the link.

" - }, - "EnvironmentName":{ - "shape":"String", - "documentation":"

The name of the linked environment (the dependency).

" - } - }, - "documentation":"

A link to another environment, defined in the environment's manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See Environment Manifest (env.yaml) for details.

" - }, - "EnvironmentLinks":{ - "type":"list", - "member":{"shape":"EnvironmentLink"} - }, - "EnvironmentName":{ - "type":"string", - "max":40, - "min":4 - }, - "EnvironmentNamesList":{ - "type":"list", - "member":{"shape":"EnvironmentName"} - }, - "EnvironmentResourceDescription":{ - "type":"structure", - "members":{ - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment.

" - }, - "AutoScalingGroups":{ - "shape":"AutoScalingGroupList", - "documentation":"

The AutoScalingGroups used by this environment.

" - }, - "Instances":{ - "shape":"InstanceList", - "documentation":"

The Amazon EC2 instances used by this environment.

" - }, - "LaunchConfigurations":{ - "shape":"LaunchConfigurationList", - "documentation":"

The Auto Scaling launch configurations in use by this environment.

" - }, - "LoadBalancers":{ - "shape":"LoadBalancerList", - "documentation":"

The LoadBalancers in use by this environment.

" - }, - "Triggers":{ - "shape":"TriggerList", - "documentation":"

The AutoScaling triggers in use by this environment.

" - }, - "Queues":{ - "shape":"QueueList", - "documentation":"

The queues used by this environment.

" - } - }, - "documentation":"

Describes the AWS resources in use by this environment. This data is live.

" - }, - "EnvironmentResourceDescriptionsMessage":{ - "type":"structure", - "members":{ - "EnvironmentResources":{ - "shape":"EnvironmentResourceDescription", - "documentation":"

A list of EnvironmentResourceDescription.

" - } - }, - "documentation":"

Result message containing a list of environment resource descriptions.

" - }, - "EnvironmentResourcesDescription":{ - "type":"structure", - "members":{ - "LoadBalancer":{ - "shape":"LoadBalancerDescription", - "documentation":"

Describes the LoadBalancer.

" - } - }, - "documentation":"

Describes the AWS resources in use by this environment. This data is not live data.

" - }, - "EnvironmentStatus":{ - "type":"string", - "enum":[ - "Launching", - "Updating", - "Ready", - "Terminating", - "Terminated" - ] - }, - "EnvironmentTier":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of this environment tier.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of this environment tier.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the latest compatible worker tier version.

This member is deprecated. Any specific version that you set may become out of date. We recommend leaving it unspecified.

" - } - }, - "documentation":"

Describes the properties of an environment tier

" - }, - "EventDate":{"type":"timestamp"}, - "EventDescription":{ - "type":"structure", - "members":{ - "EventDate":{ - "shape":"EventDate", - "documentation":"

The date when the event occurred.

" - }, - "Message":{ - "shape":"EventMessage", - "documentation":"

The event message.

" - }, - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The application associated with the event.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

The release label for the application version associated with this event.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration associated with this event.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment associated with this event.

" - }, - "PlatformArn":{ - "shape":"PlatformArn", - "documentation":"

The ARN of the platform.

" - }, - "RequestId":{ - "shape":"RequestId", - "documentation":"

The web service request ID for the activity of this event.

" - }, - "Severity":{ - "shape":"EventSeverity", - "documentation":"

The severity level of this event.

" - } - }, - "documentation":"

Describes an event.

" - }, - "EventDescriptionList":{ - "type":"list", - "member":{"shape":"EventDescription"} - }, - "EventDescriptionsMessage":{ - "type":"structure", - "members":{ - "Events":{ - "shape":"EventDescriptionList", - "documentation":"

A list of EventDescription.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

If returned, this indicates that there are more results to obtain. Use this token in the next DescribeEvents call to get the next batch of events.

" - } - }, - "documentation":"

Result message wrapping a list of event descriptions.

" - }, - "EventMessage":{"type":"string"}, - "EventSeverity":{ - "type":"string", - "enum":[ - "TRACE", - "DEBUG", - "INFO", - "WARN", - "ERROR", - "FATAL" - ] - }, - "ExceptionMessage":{"type":"string"}, - "FailureType":{ - "type":"string", - "enum":[ - "UpdateCancelled", - "CancellationFailed", - "RollbackFailed", - "RollbackSuccessful", - "InternalFailure", - "InvalidEnvironmentState", - "PermissionsError" - ] - }, - "FileTypeExtension":{ - "type":"string", - "max":100, - "min":1 - }, - "ForceTerminate":{"type":"boolean"}, - "GroupName":{ - "type":"string", - "max":19, - "min":1 - }, - "ImageId":{"type":"string"}, - "IncludeDeleted":{"type":"boolean"}, - "IncludeDeletedBackTo":{"type":"timestamp"}, - "Instance":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the Amazon EC2 instance.

" - } - }, - "documentation":"

The description of an Amazon EC2 instance.

" - }, - "InstanceHealthList":{ - "type":"list", - "member":{"shape":"SingleInstanceHealth"} - }, - "InstanceHealthSummary":{ - "type":"structure", - "members":{ - "NoData":{ - "shape":"NullableInteger", - "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.

" - }, - "Unknown":{ - "shape":"NullableInteger", - "documentation":"

Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.

" - }, - "Pending":{ - "shape":"NullableInteger", - "documentation":"

Grey. An operation is in progress on an instance within the command timeout.

" - }, - "Ok":{ - "shape":"NullableInteger", - "documentation":"

Green. An instance is passing health checks and the health agent is not reporting any problems.

" - }, - "Info":{ - "shape":"NullableInteger", - "documentation":"

Green. An operation is in progress on an instance.

" - }, - "Warning":{ - "shape":"NullableInteger", - "documentation":"

Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.

" - }, - "Degraded":{ - "shape":"NullableInteger", - "documentation":"

Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.

" - }, - "Severe":{ - "shape":"NullableInteger", - "documentation":"

Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.

" - } - }, - "documentation":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

" - }, - "InstanceId":{ - "type":"string", - "max":255, - "min":1 - }, - "InstanceList":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InstancesHealthAttribute":{ - "type":"string", - "enum":[ - "HealthStatus", - "Color", - "Causes", - "ApplicationMetrics", - "RefreshedAt", - "LaunchedAt", - "System", - "Deployment", - "AvailabilityZone", - "InstanceType", - "All" - ] - }, - "InstancesHealthAttributes":{ - "type":"list", - "member":{"shape":"InstancesHealthAttribute"} - }, - "InsufficientPrivilegesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account does not have sufficient privileges for one or more AWS services.

", - "error":{ - "code":"InsufficientPrivilegesException", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "InvalidRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more input parameters is not valid. Please correct the input parameters and try the operation again.

", - "error":{ - "code":"InvalidRequestException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Latency":{ - "type":"structure", - "members":{ - "P999":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 0.1 percent of requests over the last 10 seconds.

" - }, - "P99":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 1 percent of requests over the last 10 seconds.

" - }, - "P95":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 5 percent of requests over the last 10 seconds.

" - }, - "P90":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 10 percent of requests over the last 10 seconds.

" - }, - "P85":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 15 percent of requests over the last 10 seconds.

" - }, - "P75":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 25 percent of requests over the last 10 seconds.

" - }, - "P50":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 50 percent of requests over the last 10 seconds.

" - }, - "P10":{ - "shape":"NullableDouble", - "documentation":"

The average latency for the slowest 90 percent of requests over the last 10 seconds.

" - } - }, - "documentation":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds.

" - }, - "LaunchConfiguration":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ResourceId", - "documentation":"

The name of the launch configuration.

" - } - }, - "documentation":"

Describes an Auto Scaling launch configuration.

" - }, - "LaunchConfigurationList":{ - "type":"list", - "member":{"shape":"LaunchConfiguration"} - }, - "LaunchedAt":{"type":"timestamp"}, - "ListAvailableSolutionStacksResultMessage":{ - "type":"structure", - "members":{ - "SolutionStacks":{ - "shape":"AvailableSolutionStackNamesList", - "documentation":"

A list of available solution stacks.

" - }, - "SolutionStackDetails":{ - "shape":"AvailableSolutionStackDetailsList", - "documentation":"

A list of available solution stacks and their SolutionStackDescription.

" - } - }, - "documentation":"

A list of available AWS Elastic Beanstalk solution stacks.

" - }, - "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.

" - } - } - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.

Must be the ARN of an Elastic Beanstalk environment.

" - } - } - }, - "Listener":{ - "type":"structure", - "members":{ - "Protocol":{ - "shape":"String", - "documentation":"

The protocol that is used by the Listener.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port that is used by the Listener.

" - } - }, - "documentation":"

Describes the properties of a Listener for the LoadBalancer.

" - }, - "LoadAverage":{ - "type":"list", - "member":{"shape":"LoadAverageValue"} - }, - "LoadAverageValue":{"type":"double"}, - "LoadBalancer":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ResourceId", - "documentation":"

The name of the LoadBalancer.

" - } - }, - "documentation":"

Describes a LoadBalancer.

" - }, - "LoadBalancerDescription":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"String", - "documentation":"

The name of the LoadBalancer.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

The domain name of the LoadBalancer.

" - }, - "Listeners":{ - "shape":"LoadBalancerListenersDescription", - "documentation":"

A list of Listeners used by the LoadBalancer.

" - } - }, - "documentation":"

Describes the details of a LoadBalancer.

" - }, - "LoadBalancerList":{ - "type":"list", - "member":{"shape":"LoadBalancer"} - }, - "LoadBalancerListenersDescription":{ - "type":"list", - "member":{"shape":"Listener"} - }, - "Maintainer":{"type":"string"}, - "ManagedAction":{ - "type":"structure", - "members":{ - "ActionId":{ - "shape":"String", - "documentation":"

A unique identifier for the managed action.

" - }, - "ActionDescription":{ - "shape":"String", - "documentation":"

A description of the managed action.

" - }, - "ActionType":{ - "shape":"ActionType", - "documentation":"

The type of managed action.

" - }, - "Status":{ - "shape":"ActionStatus", - "documentation":"

The status of the managed action. If the action is Scheduled, you can apply it immediately with ApplyEnvironmentManagedAction.

" - }, - "WindowStartTime":{ - "shape":"Timestamp", - "documentation":"

The start time of the maintenance window in which the managed action will execute.

" - } - }, - "documentation":"

The record of an upcoming or in-progress managed action.

" - }, - "ManagedActionHistoryItem":{ - "type":"structure", - "members":{ - "ActionId":{ - "shape":"String", - "documentation":"

A unique identifier for the managed action.

" - }, - "ActionType":{ - "shape":"ActionType", - "documentation":"

The type of the managed action.

" - }, - "ActionDescription":{ - "shape":"String", - "documentation":"

A description of the managed action.

" - }, - "FailureType":{ - "shape":"FailureType", - "documentation":"

If the action failed, the type of failure.

" - }, - "Status":{ - "shape":"ActionHistoryStatus", - "documentation":"

The status of the action.

" - }, - "FailureDescription":{ - "shape":"String", - "documentation":"

If the action failed, a description of the failure.

" - }, - "ExecutedTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the action started executing.

" - }, - "FinishedTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the action finished executing.

" - } - }, - "documentation":"

The record of a completed or failed managed action.

" - }, - "ManagedActionHistoryItems":{ - "type":"list", - "member":{"shape":"ManagedActionHistoryItem"}, - "max":100, - "min":1 - }, - "ManagedActionInvalidStateException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cannot modify the managed action in its current state.

", - "error":{ - "code":"ManagedActionInvalidStateException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ManagedActions":{ - "type":"list", - "member":{"shape":"ManagedAction"}, - "max":100, - "min":1 - }, - "MaxAgeRule":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"BoxedBoolean", - "documentation":"

Specify true to apply the rule, or false to disable it.

" - }, - "MaxAgeInDays":{ - "shape":"BoxedInt", - "documentation":"

Specify the number of days to retain an application versions.

" - }, - "DeleteSourceFromS3":{ - "shape":"BoxedBoolean", - "documentation":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" - } - }, - "documentation":"

A lifecycle rule that deletes application versions after the specified number of days.

" - }, - "MaxCountRule":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"BoxedBoolean", - "documentation":"

Specify true to apply the rule, or false to disable it.

" - }, - "MaxCount":{ - "shape":"BoxedInt", - "documentation":"

Specify the maximum number of application versions to retain.

" - }, - "DeleteSourceFromS3":{ - "shape":"BoxedBoolean", - "documentation":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" - } - }, - "documentation":"

A lifecycle rule that deletes the oldest application version when the maximum count is exceeded.

" - }, - "MaxRecords":{ - "type":"integer", - "max":1000, - "min":1 - }, - "Message":{"type":"string"}, - "NextToken":{ - "type":"string", - "max":100, - "min":1 - }, - "NonEmptyString":{ - "type":"string", - "pattern":".*\\S.*" - }, - "NullableDouble":{"type":"double"}, - "NullableInteger":{"type":"integer"}, - "NullableLong":{"type":"long"}, - "OperatingSystemName":{"type":"string"}, - "OperatingSystemVersion":{"type":"string"}, - "OperationInProgressException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Unable to perform the specified operation because another operation that effects an element in this activity is already in progress.

", - "error":{ - "code":"OperationInProgressFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionNamespace":{"type":"string"}, - "OptionRestrictionMaxLength":{"type":"integer"}, - "OptionRestrictionMaxValue":{"type":"integer"}, - "OptionRestrictionMinValue":{"type":"integer"}, - "OptionRestrictionRegex":{ - "type":"structure", - "members":{ - "Pattern":{ - "shape":"RegexPattern", - "documentation":"

The regular expression pattern that a string configuration option value with this restriction must match.

" - }, - "Label":{ - "shape":"RegexLabel", - "documentation":"

A unique name representing this regular expression.

" - } - }, - "documentation":"

A regular expression representing a restriction on a string configuration option value.

" - }, - "OptionSpecification":{ - "type":"structure", - "members":{ - "ResourceName":{ - "shape":"ResourceName", - "documentation":"

A unique resource name for a time-based scaling configuration option.

" - }, - "Namespace":{ - "shape":"OptionNamespace", - "documentation":"

A unique namespace identifying the option's associated AWS resource.

" - }, - "OptionName":{ - "shape":"ConfigurationOptionName", - "documentation":"

The name of the configuration option.

" - } - }, - "documentation":"

A specification identifying an individual configuration option.

" - }, - "OptionsSpecifierList":{ - "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":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the queue.

" - }, - "URL":{ - "shape":"String", - "documentation":"

The URL of the queue.

" - } - }, - "documentation":"

Describes a queue.

" - }, - "QueueList":{ - "type":"list", - "member":{"shape":"Queue"} - }, - "RebuildEnvironmentMessage":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to rebuild.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to rebuild.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - } - }, - "documentation":"

" - }, - "RefreshedAt":{"type":"timestamp"}, - "RegexLabel":{"type":"string"}, - "RegexPattern":{"type":"string"}, - "RequestCount":{"type":"integer"}, - "RequestEnvironmentInfoMessage":{ - "type":"structure", - "required":["InfoType"], - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment of the requested data.

If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment of the requested data.

If no such environment is found, RequestEnvironmentInfo returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "InfoType":{ - "shape":"EnvironmentInfoType", - "documentation":"

The type of information to request.

" - } - }, - "documentation":"

Request to retrieve logs from an environment and store them in your Elastic Beanstalk storage bucket.

" - }, - "RequestId":{"type":"string"}, - "ResourceArn":{"type":"string"}, - "ResourceId":{"type":"string"}, - "ResourceName":{ - "type":"string", - "max":256, - "min":1 - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A resource doesn't exist for the specified Amazon Resource Name (ARN).

", - "error":{ - "code":"ResourceNotFoundException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ResourceQuota":{ - "type":"structure", - "members":{ - "Maximum":{ - "shape":"BoxedInt", - "documentation":"

The maximum number of instances of this Elastic Beanstalk resource type that an AWS account can use.

" - } - }, - "documentation":"

The AWS Elastic Beanstalk quota information for a single resource type in an AWS account. It reflects the resource's limits for this account.

" - }, - "ResourceQuotas":{ - "type":"structure", - "members":{ - "ApplicationQuota":{ - "shape":"ResourceQuota", - "documentation":"

The quota for applications in the AWS account.

" - }, - "ApplicationVersionQuota":{ - "shape":"ResourceQuota", - "documentation":"

The quota for application versions in the AWS account.

" - }, - "EnvironmentQuota":{ - "shape":"ResourceQuota", - "documentation":"

The quota for environments in the AWS account.

" - }, - "ConfigurationTemplateQuota":{ - "shape":"ResourceQuota", - "documentation":"

The quota for configuration templates in the AWS account.

" - }, - "CustomPlatformQuota":{ - "shape":"ResourceQuota", - "documentation":"

The quota for custom platforms in the AWS account.

" - } - }, - "documentation":"

A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS account. They reflect Elastic Beanstalk resource limits for this account.

" - }, - "ResourceTagsDescriptionMessage":{ - "type":"structure", - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resouce for which a tag list was requested.

" - }, - "ResourceTags":{ - "shape":"TagList", - "documentation":"

A list of tag key-value pairs.

" - } - } - }, - "ResourceTypeNotSupportedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The type of the specified Amazon Resource Name (ARN) isn't supported for this operation.

", - "error":{ - "code":"ResourceTypeNotSupportedException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "RestartAppServerMessage":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to restart the server for.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - } - }, - "documentation":"

" - }, - "RetrieveEnvironmentInfoMessage":{ - "type":"structure", - "required":["InfoType"], - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the data's environment.

If no such environment is found, returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the data's environment.

If no such environment is found, returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "InfoType":{ - "shape":"EnvironmentInfoType", - "documentation":"

The type of information to retrieve.

" - } - }, - "documentation":"

Request to download logs retrieved with RequestEnvironmentInfo.

" - }, - "RetrieveEnvironmentInfoResultMessage":{ - "type":"structure", - "members":{ - "EnvironmentInfo":{ - "shape":"EnvironmentInfoDescriptionList", - "documentation":"

The EnvironmentInfoDescription of the environment.

" - } - }, - "documentation":"

Result message containing a description of the requested environment info.

" - }, - "S3Bucket":{ - "type":"string", - "max":255 - }, - "S3Key":{ - "type":"string", - "max":1024 - }, - "S3Location":{ - "type":"structure", - "members":{ - "S3Bucket":{ - "shape":"S3Bucket", - "documentation":"

The Amazon S3 bucket where the data is located.

" - }, - "S3Key":{ - "shape":"S3Key", - "documentation":"

The Amazon S3 key where the data is located.

" - } - }, - "documentation":"

The bucket and key of an item stored in Amazon S3.

" - }, - "S3LocationNotInServiceRegionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified S3 bucket does not belong to the S3 region in which the service is running. The following regions are supported:

  • IAD/us-east-1

  • PDX/us-west-2

  • DUB/eu-west-1

", - "error":{ - "code":"S3LocationNotInServiceRegionException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "S3SubscriptionRequiredException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account does not have a subscription to Amazon S3.

", - "error":{ - "code":"S3SubscriptionRequiredException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SampleTimestamp":{"type":"timestamp"}, - "SingleInstanceHealth":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the Amazon EC2 instance.

" - }, - "HealthStatus":{ - "shape":"String", - "documentation":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

" - }, - "Color":{ - "shape":"String", - "documentation":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

" - }, - "Causes":{ - "shape":"Causes", - "documentation":"

Represents the causes, which provide more information about the current health status.

" - }, - "LaunchedAt":{ - "shape":"LaunchedAt", - "documentation":"

The time at which the EC2 instance was launched.

" - }, - "ApplicationMetrics":{ - "shape":"ApplicationMetrics", - "documentation":"

Request metrics from your application.

" - }, - "System":{ - "shape":"SystemStatus", - "documentation":"

Operating system metrics from the instance.

" - }, - "Deployment":{ - "shape":"Deployment", - "documentation":"

Information about the most recent deployment to an instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The availability zone in which the instance runs.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance's type.

" - } - }, - "documentation":"

Detailed health information about an Amazon EC2 instance in your Elastic Beanstalk environment.

" - }, - "SolutionStackDescription":{ - "type":"structure", - "members":{ - "SolutionStackName":{ - "shape":"SolutionStackName", - "documentation":"

The name of the solution stack.

" - }, - "PermittedFileTypes":{ - "shape":"SolutionStackFileTypeList", - "documentation":"

The permitted file types allowed for a solution stack.

" - } - }, - "documentation":"

Describes the solution stack.

" - }, - "SolutionStackFileTypeList":{ - "type":"list", - "member":{"shape":"FileTypeExtension"} - }, - "SolutionStackName":{"type":"string"}, - "SourceBuildInformation":{ - "type":"structure", - "required":[ - "SourceType", - "SourceRepository", - "SourceLocation" - ], - "members":{ - "SourceType":{ - "shape":"SourceType", - "documentation":"

The type of repository.

  • Git

  • Zip

" - }, - "SourceRepository":{ - "shape":"SourceRepository", - "documentation":"

Location where the repository is stored.

  • CodeCommit

  • S3

" - }, - "SourceLocation":{ - "shape":"SourceLocation", - "documentation":"

The location of the source code, as a formatted string, depending on the value of SourceRepository

  • For CodeCommit, the format is the repository name and commit ID, separated by a forward slash. For example, my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • For S3, the format is the S3 bucket name and object key, separated by a forward slash. For example, my-s3-bucket/Folders/my-source-file.

" - } - }, - "documentation":"

Location of the source code for an application version.

" - }, - "SourceBundleDeletionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Unable to delete the Amazon S3 source bundle associated with the application version. The application version was deleted successfully.

", - "error":{ - "code":"SourceBundleDeletionFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SourceConfiguration":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with the configuration.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template.

" - } - }, - "documentation":"

A specification for an environment configuration

" - }, - "SourceLocation":{ - "type":"string", - "max":255, - "min":3, - "pattern":".+/.+" - }, - "SourceRepository":{ - "type":"string", - "enum":[ - "CodeCommit", - "S3" - ] - }, - "SourceType":{ - "type":"string", - "enum":[ - "Git", - "Zip" - ] - }, - "StatusCodes":{ - "type":"structure", - "members":{ - "Status2xx":{ - "shape":"NullableInteger", - "documentation":"

The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201, etc.) status code.

" - }, - "Status3xx":{ - "shape":"NullableInteger", - "documentation":"

The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, etc.) status code.

" - }, - "Status4xx":{ - "shape":"NullableInteger", - "documentation":"

The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, etc.) status code.

" - }, - "Status5xx":{ - "shape":"NullableInteger", - "documentation":"

The percentage of requests over the last 10 seconds that resulted in a 5xx (500, 501, etc.) status code.

" - } - }, - "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":{ - "SourceEnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentId, you must specify the DestinationEnvironmentId.

" - }, - "SourceEnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the source environment.

Condition: You must specify at least the SourceEnvironmentID or the SourceEnvironmentName. You may also specify both. If you specify the SourceEnvironmentName, you must specify the DestinationEnvironmentName.

" - }, - "DestinationEnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentId with the DestinationEnvironmentId.

" - }, - "DestinationEnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the destination environment.

Condition: You must specify at least the DestinationEnvironmentID or the DestinationEnvironmentName. You may also specify both. You must specify the SourceEnvironmentName with the DestinationEnvironmentName.

" - } - }, - "documentation":"

Swaps the CNAMEs of two environments.

" - }, - "SystemStatus":{ - "type":"structure", - "members":{ - "CPUUtilization":{ - "shape":"CPUUtilization", - "documentation":"

CPU utilization metrics for the instance.

" - }, - "LoadAverage":{ - "shape":"LoadAverage", - "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.

" - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Describes a tag applied to a resource in an environment.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1 - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TerminateEnvForce":{"type":"boolean"}, - "TerminateEnvironmentMessage":{ - "type":"structure", - "members":{ - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to terminate.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to terminate.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "TerminateResources":{ - "shape":"TerminateEnvironmentResources", - "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

  • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

  • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" - }, - "ForceTerminate":{ - "shape":"ForceTerminate", - "documentation":"

Terminates the target environment even if another environment in the same group is dependent on it.

" - } - }, - "documentation":"

Request to terminate an environment.

" - }, - "TerminateEnvironmentResources":{"type":"boolean"}, - "TimeFilterEnd":{"type":"timestamp"}, - "TimeFilterStart":{"type":"timestamp"}, - "Timestamp":{"type":"timestamp"}, - "Token":{"type":"string"}, - "TooManyApplicationVersionsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account has reached its limit of application versions.

", - "exception":true - }, - "TooManyApplicationsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account has reached its limit of applications.

", - "error":{ - "code":"TooManyApplicationsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyBucketsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account has reached its limit of Amazon S3 buckets.

", - "error":{ - "code":"TooManyBucketsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyConfigurationTemplatesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account has reached its limit of configuration templates.

", - "error":{ - "code":"TooManyConfigurationTemplatesException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyEnvironmentsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified account has reached its limit of environments.

", - "error":{ - "code":"TooManyEnvironmentsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyPlatformsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the maximum number of allowed platforms associated with the account.

", - "error":{ - "code":"TooManyPlatformsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of tags in the resource would exceed the number of tags that each resource can have.

To calculate this, the operation considers both the number of tags the resource already has and the tags this operation would add if it succeeded.

", - "error":{ - "code":"TooManyTagsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Trigger":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ResourceId", - "documentation":"

The name of the trigger.

" - } - }, - "documentation":"

Describes a trigger.

" - }, - "TriggerList":{ - "type":"list", - "member":{"shape":"Trigger"} - }, - "UpdateApplicationMessage":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application to update. If no such application is found, UpdateApplication returns an InvalidParameterValue error.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A new description for the application.

Default: If not specified, AWS Elastic Beanstalk does not update the description.

" - } - }, - "documentation":"

Request to update an application.

" - }, - "UpdateApplicationResourceLifecycleMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "ResourceLifecycleConfig" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application.

" - }, - "ResourceLifecycleConfig":{ - "shape":"ApplicationResourceLifecycleConfig", - "documentation":"

The lifecycle configuration.

" - } - } - }, - "UpdateApplicationVersionMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "VersionLabel" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with this version.

If no application is found with this name, UpdateApplication returns an InvalidParameterValue error.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

The name of the version to update.

If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A new description for this version.

" - } - }, - "documentation":"

" - }, - "UpdateConfigurationTemplateMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "TemplateName" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application associated with the configuration template to update.

If no application is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to update.

If no configuration template is found with this name, UpdateConfigurationTemplate returns an InvalidParameterValue error.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A new description for the configuration.

" - }, - "OptionSettings":{ - "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of configuration option settings to update with the new specified option value.

" - }, - "OptionsToRemove":{ - "shape":"OptionsSpecifierList", - "documentation":"

A list of configuration options to remove from the configuration set.

Constraint: You can remove only UserDefined configuration options.

" - } - }, - "documentation":"

The result message containing the options for the specified solution stack.

" - }, - "UpdateDate":{"type":"timestamp"}, - "UpdateEnvironmentMessage":{ - "type":"structure", - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application with which the environment is associated.

" - }, - "EnvironmentId":{ - "shape":"EnvironmentId", - "documentation":"

The ID of the environment to update.

If no environment with this ID exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to update. If no environment with this name exists, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" - }, - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

If this parameter is specified, AWS Elastic Beanstalk updates the description of this environment.

" - }, - "Tier":{ - "shape":"EnvironmentTier", - "documentation":"

This specifies the tier to use to update the environment.

Condition: At this time, if you change the tier version, name, or type, AWS Elastic Beanstalk returns InvalidParameterValue error.

" - }, - "VersionLabel":{ - "shape":"VersionLabel", - "documentation":"

If this parameter is specified, AWS Elastic Beanstalk deploys the named application version to the environment. If no such application version is found, returns an InvalidParameterValue error.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

If this parameter is specified, AWS Elastic Beanstalk deploys this configuration template to the environment. If no such configuration template is found, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" - }, - "SolutionStackName":{ - "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.

" - }, - "OptionsToRemove":{ - "shape":"OptionsSpecifierList", - "documentation":"

A list of custom user-defined configuration options to remove from the configuration set for this environment.

" - } - }, - "documentation":"

Request to update an environment.

" - }, - "UpdateTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resouce to be updated.

Must be the ARN of an Elastic Beanstalk environment.

" - }, - "TagsToAdd":{ - "shape":"TagList", - "documentation":"

A list of tags to add or update.

If a key of an existing tag is added, the tag's value is updated.

" - }, - "TagsToRemove":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys to remove.

If a tag key doesn't exist, it is silently ignored.

" - } - } - }, - "UserDefinedOption":{"type":"boolean"}, - "ValidateConfigurationSettingsMessage":{ - "type":"structure", - "required":[ - "ApplicationName", - "OptionSettings" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The name of the application that the configuration template or environment belongs to.

" - }, - "TemplateName":{ - "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to validate the settings against.

Condition: You cannot specify both this and an environment name.

" - }, - "EnvironmentName":{ - "shape":"EnvironmentName", - "documentation":"

The name of the environment to validate the settings against.

Condition: You cannot specify both this and a configuration template name.

" - }, - "OptionSettings":{ - "shape":"ConfigurationOptionSettingsList", - "documentation":"

A list of the options and desired values to evaluate.

" - } - }, - "documentation":"

A list of validation messages for a specified configuration template.

" - }, - "ValidationMessage":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"ValidationMessageString", - "documentation":"

A message describing the error or warning.

" - }, - "Severity":{ - "shape":"ValidationSeverity", - "documentation":"

An indication of the severity of this message:

  • error: This message indicates that this is not a valid setting for an option.

  • warning: This message is providing information you should take into account.

" - }, - "Namespace":{ - "shape":"OptionNamespace", - "documentation":"

The namespace to which the option belongs.

" - }, - "OptionName":{ - "shape":"ConfigurationOptionName", - "documentation":"

The name of the option.

" - } - }, - "documentation":"

An error or warning for a desired configuration option value.

" - }, - "ValidationMessageString":{"type":"string"}, - "ValidationMessagesList":{ - "type":"list", - "member":{"shape":"ValidationMessage"} - }, - "ValidationSeverity":{ - "type":"string", - "enum":[ - "error", - "warning" - ] - }, - "VersionLabel":{ - "type":"string", - "max":100, - "min":1 - }, - "VersionLabels":{ - "type":"list", - "member":{"shape":"VersionLabel"} - }, - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/paginators-1.json deleted file mode 100644 index 5a145d36..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/paginators-1.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "pagination": { - "ListJobsByPipeline": { - "input_token": "PageToken", - "output_token": "NextPageToken", - "result_key": "Jobs" - }, - "ListJobsByStatus": { - "input_token": "PageToken", - "output_token": "NextPageToken", - "result_key": "Jobs" - }, - "ListPipelines": { - "input_token": "PageToken", - "output_token": "NextPageToken", - "result_key": "Pipelines" - }, - "ListPresets": { - "input_token": "PageToken", - "output_token": "NextPageToken", - "result_key": "Presets" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/service-2.json deleted file mode 100644 index a213f9aa..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/service-2.json +++ /dev/null @@ -1,2337 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"elastictranscoder-2012-09-25", - "apiVersion":"2012-09-25", - "endpointPrefix":"elastictranscoder", - "protocol":"rest-json", - "serviceFullName":"Amazon Elastic Transcoder", - "serviceId":"Elastic Transcoder", - "signatureVersion":"v4" - }, - "operations":{ - "CancelJob":{ - "name":"CancelJob", - "http":{ - "method":"DELETE", - "requestUri":"/2012-09-25/jobs/{Id}", - "responseCode":202 - }, - "input":{"shape":"CancelJobRequest"}, - "output":{"shape":"CancelJobResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The CancelJob operation cancels an unfinished job.

You can only cancel a job that has a status of Submitted. To prevent a pipeline from starting to process a job while you're getting the job identifier, use UpdatePipelineStatus to temporarily pause the pipeline.

" - }, - "CreateJob":{ - "name":"CreateJob", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/jobs", - "responseCode":201 - }, - "input":{"shape":"CreateJobRequest"}, - "output":{"shape":"CreateJobResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

When you create a job, Elastic Transcoder returns JSON data that includes the values that you specified plus information about the job that is created.

If you have specified more than one output for your jobs (for example, one output for the Kindle Fire and another output for the Apple iPhone 4s), you currently must use the Elastic Transcoder API to list the jobs (as opposed to the AWS Console).

" - }, - "CreatePipeline":{ - "name":"CreatePipeline", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/pipelines", - "responseCode":201 - }, - "input":{"shape":"CreatePipelineRequest"}, - "output":{"shape":"CreatePipelineResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The CreatePipeline operation creates a pipeline with settings that you specify.

" - }, - "CreatePreset":{ - "name":"CreatePreset", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/presets", - "responseCode":201 - }, - "input":{"shape":"CreatePresetRequest"}, - "output":{"shape":"CreatePresetResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"AccessDeniedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The CreatePreset operation creates a preset with settings that you specify.

Elastic Transcoder checks the CreatePreset settings to ensure that they meet Elastic Transcoder requirements and to determine whether they comply with H.264 standards. If your settings are not valid for Elastic Transcoder, Elastic Transcoder returns an HTTP 400 response (ValidationException) and does not create the preset. If the settings are valid for Elastic Transcoder but aren't strictly compliant with the H.264 standard, Elastic Transcoder creates the preset and returns a warning message in the response. This helps you determine whether your settings comply with the H.264 standard while giving you greater flexibility with respect to the video that Elastic Transcoder produces.

Elastic Transcoder uses the H.264 video-compression format. For more information, see the International Telecommunication Union publication Recommendation ITU-T H.264: Advanced video coding for generic audiovisual services.

" - }, - "DeletePipeline":{ - "name":"DeletePipeline", - "http":{ - "method":"DELETE", - "requestUri":"/2012-09-25/pipelines/{Id}", - "responseCode":202 - }, - "input":{"shape":"DeletePipelineRequest"}, - "output":{"shape":"DeletePipelineResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The DeletePipeline operation removes a pipeline.

You can only delete a pipeline that has never been used or that is not currently in use (doesn't contain any active jobs). If the pipeline is currently in use, DeletePipeline returns an error.

" - }, - "DeletePreset":{ - "name":"DeletePreset", - "http":{ - "method":"DELETE", - "requestUri":"/2012-09-25/presets/{Id}", - "responseCode":202 - }, - "input":{"shape":"DeletePresetRequest"}, - "output":{"shape":"DeletePresetResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The DeletePreset operation removes a preset that you've added in an AWS region.

You can't delete the default presets that are included with Elastic Transcoder.

" - }, - "ListJobsByPipeline":{ - "name":"ListJobsByPipeline", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/jobsByPipeline/{PipelineId}" - }, - "input":{"shape":"ListJobsByPipelineRequest"}, - "output":{"shape":"ListJobsByPipelineResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ListJobsByPipeline operation gets a list of the jobs currently in a pipeline.

Elastic Transcoder returns all of the jobs currently in the specified pipeline. The response body contains one element for each job that satisfies the search criteria.

" - }, - "ListJobsByStatus":{ - "name":"ListJobsByStatus", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/jobsByStatus/{Status}" - }, - "input":{"shape":"ListJobsByStatusRequest"}, - "output":{"shape":"ListJobsByStatusResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ListJobsByStatus operation gets a list of jobs that have a specified status. The response body contains one element for each job that satisfies the search criteria.

" - }, - "ListPipelines":{ - "name":"ListPipelines", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/pipelines" - }, - "input":{"shape":"ListPipelinesRequest"}, - "output":{"shape":"ListPipelinesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ListPipelines operation gets a list of the pipelines associated with the current AWS account.

" - }, - "ListPresets":{ - "name":"ListPresets", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/presets" - }, - "input":{"shape":"ListPresetsRequest"}, - "output":{"shape":"ListPresetsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ListPresets operation gets a list of the default presets included with Elastic Transcoder and the presets that you've added in an AWS region.

" - }, - "ReadJob":{ - "name":"ReadJob", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/jobs/{Id}" - }, - "input":{"shape":"ReadJobRequest"}, - "output":{"shape":"ReadJobResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ReadJob operation returns detailed information about a job.

" - }, - "ReadPipeline":{ - "name":"ReadPipeline", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/pipelines/{Id}" - }, - "input":{"shape":"ReadPipelineRequest"}, - "output":{"shape":"ReadPipelineResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ReadPipeline operation gets detailed information about a pipeline.

" - }, - "ReadPreset":{ - "name":"ReadPreset", - "http":{ - "method":"GET", - "requestUri":"/2012-09-25/presets/{Id}" - }, - "input":{"shape":"ReadPresetRequest"}, - "output":{"shape":"ReadPresetResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The ReadPreset operation gets detailed information about a preset.

" - }, - "TestRole":{ - "name":"TestRole", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/roleTests", - "responseCode":200 - }, - "input":{"shape":"TestRoleRequest"}, - "output":{"shape":"TestRoleResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The TestRole operation tests the IAM role used to create the pipeline.

The TestRole action lets you determine whether the IAM role you are using has sufficient permissions to let Elastic Transcoder perform tasks associated with the transcoding process. The action attempts to assume the specified IAM role, checks read access to the input and output buckets, and tries to send a test notification to Amazon SNS topics that you specify.

", - "deprecated":true - }, - "UpdatePipeline":{ - "name":"UpdatePipeline", - "http":{ - "method":"PUT", - "requestUri":"/2012-09-25/pipelines/{Id}", - "responseCode":200 - }, - "input":{"shape":"UpdatePipelineRequest"}, - "output":{"shape":"UpdatePipelineResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Use the UpdatePipeline operation to update settings for a pipeline.

When you change pipeline settings, your changes take effect immediately. Jobs that you have already submitted and that Elastic Transcoder has not started to process are affected in addition to jobs that you submit after you change settings.

" - }, - "UpdatePipelineNotifications":{ - "name":"UpdatePipelineNotifications", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/pipelines/{Id}/notifications" - }, - "input":{"shape":"UpdatePipelineNotificationsRequest"}, - "output":{"shape":"UpdatePipelineNotificationsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

With the UpdatePipelineNotifications operation, you can update Amazon Simple Notification Service (Amazon SNS) notifications for a pipeline.

When you update notifications for a pipeline, Elastic Transcoder returns the values that you specified in the request.

" - }, - "UpdatePipelineStatus":{ - "name":"UpdatePipelineStatus", - "http":{ - "method":"POST", - "requestUri":"/2012-09-25/pipelines/{Id}/status" - }, - "input":{"shape":"UpdatePipelineStatusRequest"}, - "output":{"shape":"UpdatePipelineStatusResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"IncompatibleVersionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

The UpdatePipelineStatus operation pauses or reactivates a pipeline, so that the pipeline stops or restarts the processing of jobs.

Changing the pipeline status is useful if you want to cancel one or more jobs. You can't cancel jobs after Elastic Transcoder has started processing them; if you pause the pipeline to which you submitted the jobs, you have more time to get the job IDs for the jobs that you want to cancel, and to send a CancelJob request.

" - } - }, - "shapes":{ - "AccessControl":{ - "type":"string", - "pattern":"(^FullControl$)|(^Read$)|(^ReadAcp$)|(^WriteAcp$)" - }, - "AccessControls":{ - "type":"list", - "member":{"shape":"AccessControl"}, - "max":30 - }, - "AccessDeniedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

General authentication failure. The request was not signed correctly.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "Artwork":{ - "type":"structure", - "members":{ - "InputKey":{ - "shape":"WatermarkKey", - "documentation":"

The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, cooking/pie.jpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

" - }, - "MaxWidth":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum width of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.

" - }, - "MaxHeight":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum height of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.

" - }, - "SizingPolicy":{ - "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.

  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.

  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.

  • ShrinkToFill Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

" - }, - "PaddingPolicy":{ - "shape":"PaddingPolicy", - "documentation":"

When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars to the top and bottom and/or left and right sides of the output album art to make the total size of the output art match the values that you specified for MaxWidth and MaxHeight.

" - }, - "AlbumArtFormat":{ - "shape":"JpgOrPng", - "documentation":"

The format of album art, if any. Valid formats are .jpg and .png.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork.

" - } - }, - "documentation":"

The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20.

To remove artwork or leave the artwork empty, you can either set Artwork to null, or set the Merge Policy to \"Replace\" and use an empty Artwork array.

To pass through existing artwork unchanged, set the Merge Policy to \"Prepend\", \"Append\", or \"Fallback\", and use an empty Artwork array.

" - }, - "Artworks":{ - "type":"list", - "member":{"shape":"Artwork"} - }, - "Ascending":{ - "type":"string", - "pattern":"(^true$)|(^false$)" - }, - "AspectRatio":{ - "type":"string", - "pattern":"(^auto$)|(^1:1$)|(^4:3$)|(^3:2$)|(^16:9$)" - }, - "AudioBitDepth":{ - "type":"string", - "pattern":"(^8$)|(^16$)|(^24$)|(^32$)" - }, - "AudioBitOrder":{ - "type":"string", - "pattern":"(^LittleEndian$)" - }, - "AudioBitRate":{ - "type":"string", - "pattern":"^\\d{1,3}$" - }, - "AudioChannels":{ - "type":"string", - "pattern":"(^auto$)|(^0$)|(^1$)|(^2$)" - }, - "AudioCodec":{ - "type":"string", - "pattern":"(^AAC$)|(^vorbis$)|(^mp3$)|(^mp2$)|(^pcm$)|(^flac$)" - }, - "AudioCodecOptions":{ - "type":"structure", - "members":{ - "Profile":{ - "shape":"AudioCodecProfile", - "documentation":"

You can only choose an audio profile when you specify AAC for the value of Audio:Codec.

Specify the AAC profile for the output file. Elastic Transcoder supports the following profiles:

  • auto: If you specify auto, Elastic Transcoder selects the profile based on the bit rate selected for the output file.

  • AAC-LC: The most common AAC profile. Use for bit rates larger than 64 kbps.

  • HE-AAC: Not supported on some older players and devices. Use for bit rates between 40 and 80 kbps.

  • HE-AACv2: Not supported on some players and devices. Use for bit rates less than 48 kbps.

All outputs in a Smooth playlist must have the same value for Profile.

If you created any presets before AAC profiles were added, Elastic Transcoder automatically updated your presets to use AAC-LC. You can change the value as required.

" - }, - "BitDepth":{ - "shape":"AudioBitDepth", - "documentation":"

You can only choose an audio bit depth when you specify flac or pcm for the value of Audio:Codec.

The bit depth of a sample is how many bits of information are included in the audio samples. The higher the bit depth, the better the audio, but the larger the file.

Valid values are 16 and 24.

The most common bit depth is 24.

" - }, - "BitOrder":{ - "shape":"AudioBitOrder", - "documentation":"

You can only choose an audio bit order when you specify pcm for the value of Audio:Codec.

The order the bits of a PCM sample are stored in.

The supported value is LittleEndian.

" - }, - "Signed":{ - "shape":"AudioSigned", - "documentation":"

You can only choose whether an audio sample is signed when you specify pcm for the value of Audio:Codec.

Whether audio samples are represented with negative and positive numbers (signed) or only positive numbers (unsigned).

The supported value is Signed.

" - } - }, - "documentation":"

Options associated with your audio codec.

" - }, - "AudioCodecProfile":{ - "type":"string", - "pattern":"(^auto$)|(^AAC-LC$)|(^HE-AAC$)|(^HE-AACv2$)" - }, - "AudioPackingMode":{ - "type":"string", - "pattern":"(^SingleTrack$)|(^OneChannelPerTrack$)|(^OneChannelPerTrackWithMosTo8Tracks$)" - }, - "AudioParameters":{ - "type":"structure", - "members":{ - "Codec":{ - "shape":"AudioCodec", - "documentation":"

The audio codec for the output file. Valid values include aac, flac, mp2, mp3, pcm, and vorbis.

" - }, - "SampleRate":{ - "shape":"AudioSampleRate", - "documentation":"

The sample rate of the audio stream in the output file, in Hertz. Valid values include:

auto, 22050, 32000, 44100, 48000, 96000

If you specify auto, Elastic Transcoder automatically detects the sample rate.

" - }, - "BitRate":{ - "shape":"AudioBitRate", - "documentation":"

The bit rate of the audio stream in the output file, in kilobits/second. Enter an integer between 64 and 320, inclusive.

" - }, - "Channels":{ - "shape":"AudioChannels", - "documentation":"

The number of audio channels in the output file. The following values are valid:

auto, 0, 1, 2

One channel carries the information played by a single speaker. For example, a stereo track with two channels sends one channel to the left speaker, and the other channel to the right speaker. The output channels are organized into tracks. If you want Elastic Transcoder to automatically detect the number of audio channels in the input file and use that value for the output file, select auto.

The output of a specific channel value and inputs are as follows:

  • auto channel specified, with any input: Pass through up to eight input channels.

  • 0 channels specified, with any input: Audio omitted from the output.

  • 1 channel specified, with at least one input channel: Mono sound.

  • 2 channels specified, with any input: Two identical mono channels or stereo. For more information about tracks, see Audio:AudioPackingMode.

For more information about how Elastic Transcoder organizes channels and tracks, see Audio:AudioPackingMode.

" - }, - "AudioPackingMode":{ - "shape":"AudioPackingMode", - "documentation":"

The method of organizing audio channels and tracks. Use Audio:Channels to specify the number of channels in your output, and Audio:AudioPackingMode to specify the number of tracks and their relation to the channels. If you do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack.

The following values are valid:

SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks

When you specify SingleTrack, Elastic Transcoder creates a single track for your output. The track can have up to eight channels. Use SingleTrack for all non-mxf containers.

The outputs of SingleTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary

  • 2 channels with one track with one channel: One track with two identical channels

  • 2 or auto channels with two tracks with one channel each: One track with two channels

  • 2 or auto channels with one track with two channels: One track with two channels

  • 2 channels with one track with multiple channels: One track with two channels

  • auto channels with one track with one channel: One track with one channel

  • auto channels with one track with multiple channels: One track with multiple channels

When you specify OneChannelPerTrack, Elastic Transcoder creates a new track for every channel in your output. Your output can have up to eight single-channel tracks.

The outputs of OneChannelPerTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary

  • 2 channels with one track with one channel: Two tracks with one identical channel each

  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each

  • 2 or auto channels with one track with two channels: Two tracks with one channel each

  • 2 channels with one track with multiple channels: Two tracks with one channel each

  • auto channels with one track with one channel: One track with one channel

  • auto channels with one track with multiple channels: Up to eight tracks with one channel each

When you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder creates eight single-channel tracks for your output. All tracks that do not contain audio data from an input channel are MOS, or Mit Out Sound, tracks.

The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary, plus six MOS tracks

  • 2 channels with one track with one channel: Two tracks with one identical channel each, plus six MOS tracks

  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each, plus six MOS tracks

  • 2 or auto channels with one track with two channels: Two tracks with one channel each, plus six MOS tracks

  • 2 channels with one track with multiple channels: Two tracks with one channel each, plus six MOS tracks

  • auto channels with one track with one channel: One track with one channel, plus seven MOS tracks

  • auto channels with one track with multiple channels: Up to eight tracks with one channel each, plus MOS tracks until there are eight tracks in all

" - }, - "CodecOptions":{ - "shape":"AudioCodecOptions", - "documentation":"

If you specified AAC for Audio:Codec, this is the AAC compression profile to use. Valid values include:

auto, AAC-LC, HE-AAC, HE-AACv2

If you specify auto, Elastic Transcoder chooses a profile based on the bit rate of the output file.

" - } - }, - "documentation":"

Parameters required for transcoding audio.

" - }, - "AudioSampleRate":{ - "type":"string", - "pattern":"(^auto$)|(^22050$)|(^32000$)|(^44100$)|(^48000$)|(^96000$)|(^192000$)" - }, - "AudioSigned":{ - "type":"string", - "pattern":"(^Unsigned$)|(^Signed$)" - }, - "Base64EncodedString":{ - "type":"string", - "pattern":"^$|(^(?:[A-Za-z0-9\\+/]{4})*(?:[A-Za-z0-9\\+/]{2}==|[A-Za-z0-9\\+/]{3}=)?$)" - }, - "BucketName":{ - "type":"string", - "pattern":"^(\\w|\\.|-){1,255}$" - }, - "CancelJobRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the job that you want to cancel.

To get a list of the jobs (including their jobId) that have a status of Submitted, use the ListJobsByStatus API action.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The CancelJobRequest structure.

" - }, - "CancelJobResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response body contains a JSON object. If the job is successfully canceled, the value of Success is true.

" - }, - "CaptionFormat":{ - "type":"structure", - "members":{ - "Format":{ - "shape":"CaptionFormatFormat", - "documentation":"

The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

  • Valid Embedded Caption Formats:

    • for FLAC: None

    • For MP3: None

    • For MP4: mov-text

    • For MPEG-TS: None

    • For ogg: None

    • For webm: None

  • Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

    • For FMP4: dfxp

    • Non-FMP4 outputs: All sidecar types

    fmp4 captions have an extension of .ismt

" - }, - "Pattern":{ - "shape":"CaptionFormatPattern", - "documentation":"

The prefix for caption filenames, in the form description-{language}, where:

  • description is a description of the video.

  • {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter code for the language of the caption in the output file names.

If you don't include {language} in the file name pattern, Elastic Transcoder automatically appends \"{language}\" to the value that you specify for the description. In addition, Elastic Transcoder automatically appends the count to the end of the segment files.

For example, suppose you're transcoding into srt format. When you enter \"Sydney-{language}-sunrise\", and the language of the captions is English (en), the name of the first caption file is be Sydney-en-sunrise00000.srt.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your caption formats.

" - } - }, - "documentation":"

The file format of the output captions. If you leave this value blank, Elastic Transcoder returns an error.

" - }, - "CaptionFormatFormat":{ - "type":"string", - "pattern":"(^mov-text$)|(^srt$)|(^scc$)|(^webvtt$)|(^dfxp$)|(^cea-708$)" - }, - "CaptionFormatPattern":{ - "type":"string", - "pattern":"(^$)|(^.*\\{language\\}.*$)" - }, - "CaptionFormats":{ - "type":"list", - "member":{"shape":"CaptionFormat"}, - "max":4 - }, - "CaptionMergePolicy":{ - "type":"string", - "pattern":"(^MergeOverride$)|(^MergeRetain$)|(^Override$)" - }, - "CaptionSource":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"LongKey", - "documentation":"

The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

" - }, - "Language":{ - "shape":"Key", - "documentation":"

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

" - }, - "TimeOffset":{ - "shape":"TimeOffset", - "documentation":"

For clip generation or captions that do not start at the same time as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode before including captions.

Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

" - }, - "Label":{ - "shape":"Name", - "documentation":"

The label of the caption shown in the player when choosing a language. We recommend that you put the caption language name here, in the language of the captions.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

" - } - }, - "documentation":"

A source file for the input sidecar captions used during the transcoding process.

" - }, - "CaptionSources":{ - "type":"list", - "member":{"shape":"CaptionSource"}, - "max":20 - }, - "Captions":{ - "type":"structure", - "members":{ - "MergePolicy":{ - "shape":"CaptionMergePolicy", - "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

", - "deprecated":true - }, - "CaptionSources":{ - "shape":"CaptionSources", - "documentation":"

Source files for the input sidecar captions used during the transcoding process. To omit all sidecar captions, leave CaptionSources blank.

", - "deprecated":true - }, - "CaptionFormats":{ - "shape":"CaptionFormats", - "documentation":"

The array of file formats for the output captions. If you leave this value blank, Elastic Transcoder returns an error.

" - } - }, - "documentation":"

The captions to be created, if any.

" - }, - "Clip":{ - "type":"structure", - "members":{ - "TimeSpan":{ - "shape":"TimeSpan", - "documentation":"

Settings that determine when a clip begins and how long it lasts.

" - } - }, - "documentation":"

Settings for one clip in a composition. All jobs in a playlist must have the same clip settings.

", - "deprecated":true - }, - "CodecOption":{ - "type":"string", - "max":255, - "min":1 - }, - "CodecOptions":{ - "type":"map", - "key":{"shape":"CodecOption"}, - "value":{"shape":"CodecOption"}, - "max":30 - }, - "Composition":{ - "type":"list", - "member":{"shape":"Clip"}, - "deprecated":true - }, - "CreateJobOutput":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"Key", - "documentation":"

The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket specified by the OutputBucket object in the pipeline that is specified by the pipeline ID. If a file with the specified name already exists in the output bucket, the job fails.

" - }, - "ThumbnailPattern":{ - "shape":"ThumbnailPattern", - "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" - }, - "ThumbnailEncryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

" - }, - "Rotate":{ - "shape":"Rotate", - "documentation":"

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values: auto, 0, 90, 180, 270. The value auto generally works only if the file that you're transcoding contains rotation metadata.

" - }, - "PresetId":{ - "shape":"Id", - "documentation":"

The Id of the preset to use for this job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding.

" - }, - "SegmentDuration":{ - "shape":"FloatString", - "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4 and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" - }, - "Watermarks":{ - "shape":"JobWatermarks", - "documentation":"

Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can specify up to four watermarks for each output. Settings for each watermark must be defined in the preset for the current output.

" - }, - "AlbumArt":{ - "shape":"JobAlbumArt", - "documentation":"

Information about the album art that you want Elastic Transcoder to add to the file during transcoding. You can specify up to twenty album artworks for each output. Settings for each artwork must be defined in the job for the current output.

" - }, - "Composition":{ - "shape":"Composition", - "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

", - "deprecated":true - }, - "Captions":{ - "shape":"Captions", - "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

You can specify encryption settings for any output files that you want to use for a transcoding job. This includes the output file and any watermarks, thumbnails, album art, or captions that you want to use. You must specify encryption settings for each file individually.

" - } - }, - "documentation":"

The CreateJobOutput structure.

" - }, - "CreateJobOutputs":{ - "type":"list", - "member":{"shape":"CreateJobOutput"}, - "max":30 - }, - "CreateJobPlaylist":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Filename", - "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" - }, - "Format":{ - "shape":"PlaylistFormat", - "documentation":"

The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.

" - }, - "OutputKeys":{ - "shape":"OutputKeys", - "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" - }, - "HlsContentProtection":{ - "shape":"HlsContentProtection", - "documentation":"

The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

" - }, - "PlayReadyDrm":{ - "shape":"PlayReadyDrm", - "documentation":"

The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

" - } - }, - "documentation":"

Information about the master playlist.

" - }, - "CreateJobPlaylists":{ - "type":"list", - "member":{"shape":"CreateJobPlaylist"}, - "max":30 - }, - "CreateJobRequest":{ - "type":"structure", - "required":["PipelineId"], - "members":{ - "PipelineId":{ - "shape":"Id", - "documentation":"

The Id of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to transcode and the bucket into which Elastic Transcoder puts the transcoded files.

" - }, - "Input":{ - "shape":"JobInput", - "documentation":"

A section of the request body that provides information about the file that is being transcoded.

" - }, - "Inputs":{ - "shape":"JobInputs", - "documentation":"

A section of the request body that provides information about the files that are being transcoded.

" - }, - "Output":{ - "shape":"CreateJobOutput", - "documentation":"

A section of the request body that provides information about the transcoded (target) file. We strongly recommend that you use the Outputs syntax instead of the Output syntax.

" - }, - "Outputs":{ - "shape":"CreateJobOutputs", - "documentation":"

A section of the request body that provides information about the transcoded (target) files. We recommend that you use the Outputs syntax instead of the Output syntax.

" - }, - "OutputKeyPrefix":{ - "shape":"Key", - "documentation":"

The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates, including output files, thumbnails, and playlists.

" - }, - "Playlists":{ - "shape":"CreateJobPlaylists", - "documentation":"

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

The maximum number of master playlists in a job is 30.

" - }, - "UserMetadata":{ - "shape":"UserMetadata", - "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.

" - } - }, - "documentation":"

The CreateJobRequest structure.

" - }, - "CreateJobResponse":{ - "type":"structure", - "members":{ - "Job":{ - "shape":"Job", - "documentation":"

A section of the response body that provides information about the job that is created.

" - } - }, - "documentation":"

The CreateJobResponse structure.

" - }, - "CreatePipelineRequest":{ - "type":"structure", - "required":[ - "Name", - "InputBucket", - "Role" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

Constraints: Maximum 40 characters.

" - }, - "InputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you saved the media files that you want to transcode.

" - }, - "OutputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.

  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.

  • You do not want to specify the permissions that Elastic Transcoder grants to the files.

    When Elastic Transcoder saves files in OutputBucket, it grants full control over the files only to the AWS account that owns the role that is specified by Role.

  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.

If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to create the pipeline.

" - }, - "AwsKmsKeyArn":{ - "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" - }, - "Notifications":{ - "shape":"Notifications", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

  • Completed: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

" - }, - "ContentConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • Grantee Type: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:

    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" - }, - "ThumbnailConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • GranteeType: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:

    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" - } - }, - "documentation":"

The CreatePipelineRequest structure.

" - }, - "CreatePipelineResponse":{ - "type":"structure", - "members":{ - "Pipeline":{ - "shape":"Pipeline", - "documentation":"

A section of the response body that provides information about the pipeline that is created.

" - }, - "Warnings":{ - "shape":"Warnings", - "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" - } - }, - "documentation":"

When you create a pipeline, Elastic Transcoder returns the values that you specified in the request.

" - }, - "CreatePresetRequest":{ - "type":"structure", - "required":[ - "Name", - "Container" - ], - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the preset. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the preset.

" - }, - "Container":{ - "shape":"PresetContainer", - "documentation":"

The container type for the output file. Valid values include flac, flv, fmp4, gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.

" - }, - "Video":{ - "shape":"VideoParameters", - "documentation":"

A section of the request body that specifies the video parameters.

" - }, - "Audio":{ - "shape":"AudioParameters", - "documentation":"

A section of the request body that specifies the audio parameters.

" - }, - "Thumbnails":{ - "shape":"Thumbnails", - "documentation":"

A section of the request body that specifies the thumbnail parameters, if any.

" - } - }, - "documentation":"

The CreatePresetRequest structure.

" - }, - "CreatePresetResponse":{ - "type":"structure", - "members":{ - "Preset":{ - "shape":"Preset", - "documentation":"

A section of the response body that provides information about the preset that is created.

" - }, - "Warning":{ - "shape":"String", - "documentation":"

If the preset settings don't comply with the standards for the video codec but Elastic Transcoder created the preset, this message explains the reason the preset settings don't meet the standard. Elastic Transcoder created the preset because the settings might produce acceptable output.

" - } - }, - "documentation":"

The CreatePresetResponse structure.

" - }, - "DeletePipelineRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the pipeline that you want to delete.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The DeletePipelineRequest structure.

" - }, - "DeletePipelineResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DeletePipelineResponse structure.

" - }, - "DeletePresetRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the preset for which you want to get detailed information.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The DeletePresetRequest structure.

" - }, - "DeletePresetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DeletePresetResponse structure.

" - }, - "Description":{ - "type":"string", - "max":255, - "min":0 - }, - "DetectedProperties":{ - "type":"structure", - "members":{ - "Width":{ - "shape":"NullableInteger", - "documentation":"

The detected width of the input file, in pixels.

" - }, - "Height":{ - "shape":"NullableInteger", - "documentation":"

The detected height of the input file, in pixels.

" - }, - "FrameRate":{ - "shape":"FloatString", - "documentation":"

The detected frame rate of the input file, in frames per second.

" - }, - "FileSize":{ - "shape":"NullableLong", - "documentation":"

The detected file size of the input file, in bytes.

" - }, - "DurationMillis":{ - "shape":"NullableLong", - "documentation":"

The detected duration of the input file, in milliseconds.

" - } - }, - "documentation":"

The detected properties of the input file. Elastic Transcoder identifies these values from the input file.

" - }, - "Digits":{ - "type":"string", - "pattern":"^\\d{1,5}$" - }, - "DigitsOrAuto":{ - "type":"string", - "pattern":"(^auto$)|(^\\d{2,4}$)" - }, - "Encryption":{ - "type":"structure", - "members":{ - "Mode":{ - "shape":"EncryptionMode", - "documentation":"

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • S3: Amazon S3 creates and manages the keys used for encrypting your files.

  • S3-AWS-KMS: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify S3-AWS-KMS and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • AES-CBC-PKCS7: A padded cipher-block mode of operation originally used for HLS files.

  • AES-CTR: AES Counter Mode.

  • AES-GCM: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

" - }, - "Key":{ - "shape":"Base64EncodedString", - "documentation":"

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

" - }, - "KeyMd5":{ - "shape":"Base64EncodedString", - "documentation":"

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

" - }, - "InitializationVector":{ - "shape":"ZeroTo255String", - "documentation":"

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

" - } - }, - "documentation":"

The encryption settings, if any, that are used for decrypting your input files or encrypting your output files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file, otherwise you must specify the mode you want Elastic Transcoder to use to encrypt your output files.

" - }, - "EncryptionMode":{ - "type":"string", - "pattern":"(^s3$)|(^s3-aws-kms$)|(^aes-cbc-pkcs7$)|(^aes-ctr$)|(^aes-gcm$)" - }, - "ExceptionMessages":{ - "type":"list", - "member":{"shape":"String"} - }, - "Filename":{ - "type":"string", - "max":255, - "min":1 - }, - "FixedGOP":{ - "type":"string", - "pattern":"(^true$)|(^false$)" - }, - "FloatString":{ - "type":"string", - "pattern":"^\\d{1,5}(\\.\\d{0,5})?$" - }, - "FrameRate":{ - "type":"string", - "pattern":"(^auto$)|(^10$)|(^15$)|(^23.97$)|(^24$)|(^25$)|(^29.97$)|(^30$)|(^50$)|(^60$)" - }, - "Grantee":{ - "type":"string", - "max":255, - "min":1 - }, - "GranteeType":{ - "type":"string", - "pattern":"(^Canonical$)|(^Email$)|(^Group$)" - }, - "HlsContentProtection":{ - "type":"structure", - "members":{ - "Method":{ - "shape":"HlsContentProtectionMethod", - "documentation":"

The content protection method for your output. The only valid value is: aes-128.

This value is written into the method attribute of the EXT-X-KEY metadata tag in the output playlist.

" - }, - "Key":{ - "shape":"Base64EncodedString", - "documentation":"

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

" - }, - "KeyMd5":{ - "shape":"Base64EncodedString", - "documentation":"

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

" - }, - "InitializationVector":{ - "shape":"ZeroTo255String", - "documentation":"

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

" - }, - "LicenseAcquisitionUrl":{ - "shape":"ZeroTo512String", - "documentation":"

The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

" - }, - "KeyStoragePolicy":{ - "shape":"KeyStoragePolicy", - "documentation":"

Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose WithVariantPlaylists, LicenseAcquisitionUrl must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

" - } - }, - "documentation":"

The HLS content protection settings, if any, that you want Elastic Transcoder to apply to your output files.

" - }, - "HlsContentProtectionMethod":{ - "type":"string", - "pattern":"(^aes-128$)" - }, - "HorizontalAlign":{ - "type":"string", - "pattern":"(^Left$)|(^Right$)|(^Center$)" - }, - "Id":{ - "type":"string", - "pattern":"^\\d{13}-\\w{6}$" - }, - "IncompatibleVersionException":{ - "type":"structure", - "members":{ - }, - "error":{"httpStatusCode":400}, - "exception":true - }, - "InputCaptions":{ - "type":"structure", - "members":{ - "MergePolicy":{ - "shape":"CaptionMergePolicy", - "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

" - }, - "CaptionSources":{ - "shape":"CaptionSources", - "documentation":"

Source files for the input sidecar captions used during the transcoding process. To omit all sidecar captions, leave CaptionSources blank.

" - } - }, - "documentation":"

The captions to be created, if any.

" - }, - "Interlaced":{ - "type":"string", - "pattern":"(^auto$)|(^true$)|(^false$)" - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Elastic Transcoder encountered an unexpected exception while trying to fulfill the request.

", - "exception":true, - "fault":true - }, - "Job":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the job.

" - }, - "PipelineId":{ - "shape":"Id", - "documentation":"

The Id of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to transcode and the bucket into which Elastic Transcoder puts the transcoded files.

" - }, - "Input":{ - "shape":"JobInput", - "documentation":"

A section of the request or response body that provides information about the file that is being transcoded.

" - }, - "Inputs":{ - "shape":"JobInputs", - "documentation":"

Information about the files that you're transcoding. If you specified multiple files for this job, Elastic Transcoder stitches the files together to make one output.

" - }, - "Output":{ - "shape":"JobOutput", - "documentation":"

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

Outputs recommended instead.

A section of the request or response body that provides information about the transcoded (target) file.

" - }, - "Outputs":{ - "shape":"JobOutputs", - "documentation":"

Information about the output files. We recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request. You can create a maximum of 30 outputs per job.

If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job.

" - }, - "OutputKeyPrefix":{ - "shape":"Key", - "documentation":"

The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates, including output files, thumbnails, and playlists. We recommend that you add a / or some other delimiter to the end of the OutputKeyPrefix.

" - }, - "Playlists":{ - "shape":"Playlists", - "documentation":"

Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

The maximum number of master playlists in a job is 30.

" - }, - "Status":{ - "shape":"JobStatus", - "documentation":"

The status of the job: Submitted, Progressing, Complete, Canceled, or Error.

" - }, - "UserMetadata":{ - "shape":"UserMetadata", - "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.

Metadata keys and values must use characters from the following list:

  • 0-9

  • A-Z and a-z

  • Space

  • The following symbols: _.:/=+-%@

" - }, - "Timing":{ - "shape":"Timing", - "documentation":"

Details about the timing of a job.

" - } - }, - "documentation":"

A section of the response body that provides information about the job that is created.

" - }, - "JobAlbumArt":{ - "type":"structure", - "members":{ - "MergePolicy":{ - "shape":"MergePolicy", - "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple album artwork files.

  • Replace: The specified album art replaces any existing album art.

  • Prepend: The specified album art is placed in front of any existing album art.

  • Append: The specified album art is placed after any existing album art.

  • Fallback: If the original input file contains artwork, Elastic Transcoder uses that artwork for the output. If the original input does not contain artwork, Elastic Transcoder uses the specified album art file.

" - }, - "Artwork":{ - "shape":"Artworks", - "documentation":"

The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20. Valid formats are .jpg and .png

" - } - }, - "documentation":"

The .jpg or .png file associated with an audio file.

" - }, - "JobContainer":{ - "type":"string", - "pattern":"(^auto$)|(^3gp$)|(^asf$)|(^avi$)|(^divx$)|(^flv$)|(^mkv$)|(^mov$)|(^mp4$)|(^mpeg$)|(^mpeg-ps$)|(^mpeg-ts$)|(^mxf$)|(^ogg$)|(^ts$)|(^vob$)|(^wav$)|(^webm$)|(^mp3$)|(^m4a$)|(^aac$)" - }, - "JobInput":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"LongKey", - "documentation":"

The name of the file to transcode. Elsewhere in the body of the JSON block is the the ID of the pipeline to use for processing the job. The InputBucket object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to get the file from.

If the file name includes a prefix, such as cooking/lasagna.mpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

" - }, - "FrameRate":{ - "shape":"FrameRate", - "documentation":"

The frame rate of the input file. If you want Elastic Transcoder to automatically detect the frame rate of the input file, specify auto. If you want to specify the frame rate for the input file, enter one of the following values:

10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the frame rate.

" - }, - "Resolution":{ - "shape":"Resolution", - "documentation":"

This value must be auto, which causes Elastic Transcoder to automatically detect the resolution of the input file.

" - }, - "AspectRatio":{ - "shape":"AspectRatio", - "documentation":"

The aspect ratio of the input file. If you want Elastic Transcoder to automatically detect the aspect ratio of the input file, specify auto. If you want to specify the aspect ratio for the output file, enter one of the following values:

1:1, 4:3, 3:2, 16:9

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the aspect ratio.

" - }, - "Interlaced":{ - "shape":"Interlaced", - "documentation":"

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

If you specify a value other than auto, Elastic Transcoder disables automatic detection of interlacing.

" - }, - "Container":{ - "shape":"JobContainer", - "documentation":"

The container type for the input file. If you want Elastic Transcoder to automatically detect the container type of the input file, specify auto. If you want to specify the container type for the input file, enter one of the following values:

3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, mpeg-ts, mxf, ogg, vob, wav, webm

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that are used for decrypting your input files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

" - }, - "TimeSpan":{ - "shape":"TimeSpan", - "documentation":"

Settings for clipping an input. Each input can have different clip settings.

" - }, - "InputCaptions":{ - "shape":"InputCaptions", - "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" - }, - "DetectedProperties":{ - "shape":"DetectedProperties", - "documentation":"

The detected properties of the input file.

" - } - }, - "documentation":"

Information about the file that you're transcoding.

" - }, - "JobInputs":{ - "type":"list", - "member":{"shape":"JobInput"}, - "max":10000 - }, - "JobOutput":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"String", - "documentation":"

A sequential counter, starting with 1, that identifies an output among the outputs from the current job. In the Output syntax, this value is always 1.

" - }, - "Key":{ - "shape":"Key", - "documentation":"

The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket specified by the OutputBucket object in the pipeline that is specified by the pipeline ID.

" - }, - "ThumbnailPattern":{ - "shape":"ThumbnailPattern", - "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" - }, - "ThumbnailEncryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

" - }, - "Rotate":{ - "shape":"Rotate", - "documentation":"

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

" - }, - "PresetId":{ - "shape":"Id", - "documentation":"

The value of the Id object for the preset that you want to use for this job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding. To use a preset that you created, specify the preset ID that Elastic Transcoder returned in the response when you created the preset. You can also use the Elastic Transcoder system presets, which you can get with ListPresets.

" - }, - "SegmentDuration":{ - "shape":"FloatString", - "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4, MPEG-DASH, and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" - }, - "Status":{ - "shape":"JobStatus", - "documentation":"

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.

  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.

  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.

  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.

The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

" - }, - "StatusDetail":{ - "shape":"Description", - "documentation":"

Information that further explains Status.

" - }, - "Duration":{ - "shape":"NullableLong", - "documentation":"

Duration of the output file, in seconds.

" - }, - "Width":{ - "shape":"NullableInteger", - "documentation":"

Specifies the width of the output file in pixels.

" - }, - "Height":{ - "shape":"NullableInteger", - "documentation":"

Height of the output file, in pixels.

" - }, - "FrameRate":{ - "shape":"FloatString", - "documentation":"

Frame rate of the output file, in frames per second.

" - }, - "FileSize":{ - "shape":"NullableLong", - "documentation":"

File size of the output file, in bytes.

" - }, - "DurationMillis":{ - "shape":"NullableLong", - "documentation":"

Duration of the output file, in milliseconds.

" - }, - "Watermarks":{ - "shape":"JobWatermarks", - "documentation":"

Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you specify in Preset for the current output.

Watermarks are added to the output video in the sequence in which you list them in the job output—the first watermark in the list is added to the output video first, the second watermark in the list is added next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark that you add covers the first one, the third one covers the second, and the fourth one covers the third.

" - }, - "AlbumArt":{ - "shape":"JobAlbumArt", - "documentation":"

The album art to be associated with the output file, if any.

" - }, - "Composition":{ - "shape":"Composition", - "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

", - "deprecated":true - }, - "Captions":{ - "shape":"Captions", - "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. If you choose to use encryption, you must specify a mode to use. If you choose not to use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

" - }, - "AppliedColorSpaceConversion":{ - "shape":"String", - "documentation":"

If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output file, the AppliedColorSpaceConversion parameter shows the conversion used. If no ColorSpaceConversionMode was defined in the preset, this parameter is not be included in the job response.

" - } - }, - "documentation":"

Outputs recommended instead.

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

" - }, - "JobOutputs":{ - "type":"list", - "member":{"shape":"JobOutput"} - }, - "JobStatus":{ - "type":"string", - "pattern":"(^Submitted$)|(^Progressing$)|(^Complete$)|(^Canceled$)|(^Error$)" - }, - "JobWatermark":{ - "type":"structure", - "members":{ - "PresetWatermarkId":{ - "shape":"PresetWatermarkId", - "documentation":"

The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the video during transcoding. The settings are in the preset specified by Preset for the current output. In that preset, the value of Watermarks Id tells Elastic Transcoder which settings to use.

" - }, - "InputKey":{ - "shape":"WatermarkKey", - "documentation":"

The name of the .png or .jpg file that you want to use for the watermark. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by Pipeline; the Input Bucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, logos/128x64.png, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your watermarks.

" - } - }, - "documentation":"

Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the .png format, which supports transparency.

" - }, - "JobWatermarks":{ - "type":"list", - "member":{"shape":"JobWatermark"} - }, - "Jobs":{ - "type":"list", - "member":{"shape":"Job"} - }, - "JpgOrPng":{ - "type":"string", - "pattern":"(^jpg$)|(^png$)" - }, - "Key":{ - "type":"string", - "max":255, - "min":1 - }, - "KeyArn":{ - "type":"string", - "max":255, - "min":0 - }, - "KeyIdGuid":{ - "type":"string", - "pattern":"(^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$)|(^[0-9A-Fa-f]{32}$)" - }, - "KeyStoragePolicy":{ - "type":"string", - "pattern":"(^NoStore$)|(^WithVariantPlaylists$)" - }, - "KeyframesMaxDist":{ - "type":"string", - "pattern":"^\\d{1,6}$" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Too many operations for a given AWS account. For example, the number of pipelines exceeds the maximum allowed.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ListJobsByPipelineRequest":{ - "type":"structure", - "required":["PipelineId"], - "members":{ - "PipelineId":{ - "shape":"Id", - "documentation":"

The ID of the pipeline for which you want to get job information.

", - "location":"uri", - "locationName":"PipelineId" - }, - "Ascending":{ - "shape":"Ascending", - "documentation":"

To list jobs in chronological order by the date and time that they were submitted, enter true. To list jobs in reverse chronological order, enter false.

", - "location":"querystring", - "locationName":"Ascending" - }, - "PageToken":{ - "shape":"Id", - "documentation":"

When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results.

", - "location":"querystring", - "locationName":"PageToken" - } - }, - "documentation":"

The ListJobsByPipelineRequest structure.

" - }, - "ListJobsByPipelineResponse":{ - "type":"structure", - "members":{ - "Jobs":{ - "shape":"Jobs", - "documentation":"

An array of Job objects that are in the specified pipeline.

" - }, - "NextPageToken":{ - "shape":"Id", - "documentation":"

A value that you use to access the second and subsequent pages of results, if any. When the jobs in the specified pipeline fit on one page or when you've reached the last page of results, the value of NextPageToken is null.

" - } - }, - "documentation":"

The ListJobsByPipelineResponse structure.

" - }, - "ListJobsByStatusRequest":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"JobStatus", - "documentation":"

To get information about all of the jobs associated with the current AWS account that have a given status, specify the following status: Submitted, Progressing, Complete, Canceled, or Error.

", - "location":"uri", - "locationName":"Status" - }, - "Ascending":{ - "shape":"Ascending", - "documentation":"

To list jobs in chronological order by the date and time that they were submitted, enter true. To list jobs in reverse chronological order, enter false.

", - "location":"querystring", - "locationName":"Ascending" - }, - "PageToken":{ - "shape":"Id", - "documentation":"

When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results.

", - "location":"querystring", - "locationName":"PageToken" - } - }, - "documentation":"

The ListJobsByStatusRequest structure.

" - }, - "ListJobsByStatusResponse":{ - "type":"structure", - "members":{ - "Jobs":{ - "shape":"Jobs", - "documentation":"

An array of Job objects that have the specified status.

" - }, - "NextPageToken":{ - "shape":"Id", - "documentation":"

A value that you use to access the second and subsequent pages of results, if any. When the jobs in the specified pipeline fit on one page or when you've reached the last page of results, the value of NextPageToken is null.

" - } - }, - "documentation":"

The ListJobsByStatusResponse structure.

" - }, - "ListPipelinesRequest":{ - "type":"structure", - "members":{ - "Ascending":{ - "shape":"Ascending", - "documentation":"

To list pipelines in chronological order by the date and time that they were created, enter true. To list pipelines in reverse chronological order, enter false.

", - "location":"querystring", - "locationName":"Ascending" - }, - "PageToken":{ - "shape":"Id", - "documentation":"

When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results.

", - "location":"querystring", - "locationName":"PageToken" - } - }, - "documentation":"

The ListPipelineRequest structure.

" - }, - "ListPipelinesResponse":{ - "type":"structure", - "members":{ - "Pipelines":{ - "shape":"Pipelines", - "documentation":"

An array of Pipeline objects.

" - }, - "NextPageToken":{ - "shape":"Id", - "documentation":"

A value that you use to access the second and subsequent pages of results, if any. When the pipelines fit on one page or when you've reached the last page of results, the value of NextPageToken is null.

" - } - }, - "documentation":"

A list of the pipelines associated with the current AWS account.

" - }, - "ListPresetsRequest":{ - "type":"structure", - "members":{ - "Ascending":{ - "shape":"Ascending", - "documentation":"

To list presets in chronological order by the date and time that they were created, enter true. To list presets in reverse chronological order, enter false.

", - "location":"querystring", - "locationName":"Ascending" - }, - "PageToken":{ - "shape":"Id", - "documentation":"

When Elastic Transcoder returns more than one page of results, use pageToken in subsequent GET requests to get each successive page of results.

", - "location":"querystring", - "locationName":"PageToken" - } - }, - "documentation":"

The ListPresetsRequest structure.

" - }, - "ListPresetsResponse":{ - "type":"structure", - "members":{ - "Presets":{ - "shape":"Presets", - "documentation":"

An array of Preset objects.

" - }, - "NextPageToken":{ - "shape":"Id", - "documentation":"

A value that you use to access the second and subsequent pages of results, if any. When the presets fit on one page or when you've reached the last page of results, the value of NextPageToken is null.

" - } - }, - "documentation":"

The ListPresetsResponse structure.

" - }, - "LongKey":{ - "type":"string", - "max":1024, - "min":1 - }, - "MaxFrameRate":{ - "type":"string", - "pattern":"(^10$)|(^15$)|(^23.97$)|(^24$)|(^25$)|(^29.97$)|(^30$)|(^50$)|(^60$)" - }, - "MergePolicy":{ - "type":"string", - "pattern":"(^Replace$)|(^Prepend$)|(^Append$)|(^Fallback$)" - }, - "Name":{ - "type":"string", - "max":40, - "min":1 - }, - "NonEmptyBase64EncodedString":{ - "type":"string", - "pattern":"(^(?:[A-Za-z0-9\\+/]{4})*(?:[A-Za-z0-9\\+/]{2}==|[A-Za-z0-9\\+/]{3}=)?$)" - }, - "Notifications":{ - "type":"structure", - "members":{ - "Progressing":{ - "shape":"SnsTopic", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process the job.

" - }, - "Completed":{ - "shape":"SnsTopic", - "documentation":"

The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.

" - }, - "Warning":{ - "shape":"SnsTopic", - "documentation":"

The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition.

" - }, - "Error":{ - "shape":"SnsTopic", - "documentation":"

The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.

" - } - }, - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify in order to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

" - }, - "NullableInteger":{"type":"integer"}, - "NullableLong":{"type":"long"}, - "OneTo512String":{ - "type":"string", - "max":512, - "min":1 - }, - "Opacity":{ - "type":"string", - "pattern":"^\\d{1,3}(\\.\\d{0,20})?$" - }, - "OutputKeys":{ - "type":"list", - "member":{"shape":"Key"}, - "max":30 - }, - "PaddingPolicy":{ - "type":"string", - "pattern":"(^Pad$)|(^NoPad$)" - }, - "Permission":{ - "type":"structure", - "members":{ - "GranteeType":{ - "shape":"GranteeType", - "documentation":"

The type of value that appears in the Grantee object:

  • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

    A canonical user ID is not the same as an AWS account number.

  • Email: The registered email address of an AWS account.

  • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

" - }, - "Grantee":{ - "shape":"Grantee", - "documentation":"

The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.

" - }, - "Access":{ - "shape":"AccessControls", - "documentation":"

The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

  • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

" - } - }, - "documentation":"

The Permission structure.

" - }, - "Permissions":{ - "type":"list", - "member":{"shape":"Permission"}, - "max":30 - }, - "Pipeline":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier for the pipeline. You use this value to identify the pipeline in which you want to perform a variety of operations, such as creating a job or a preset.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the pipeline.

" - }, - "Name":{ - "shape":"Name", - "documentation":"

The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

Constraints: Maximum 40 characters

" - }, - "Status":{ - "shape":"PipelineStatus", - "documentation":"

The current status of the pipeline:

  • Active: The pipeline is processing jobs.

  • Paused: The pipeline is not currently processing jobs.

" - }, - "InputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket from which Elastic Transcoder gets media files for transcoding and the graphics files, if any, that you want to use for watermarks.

" - }, - "OutputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files, thumbnails, and playlists. Either you specify this value, or you specify both ContentConfig and ThumbnailConfig.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM Amazon Resource Name (ARN) for the role that Elastic Transcoder uses to transcode jobs for this pipeline.

" - }, - "AwsKmsKeyArn":{ - "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" - }, - "Notifications":{ - "shape":"Notifications", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process the job.

  • Completed (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.

  • Warning (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition.

  • Error (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.

" - }, - "ContentConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to transcoded files and playlists, and the type of access that you want them to have.

    • GranteeType: The type of value that appears in the Grantee object:

      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      • Email: The registered email address of an AWS account.

      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

    • Grantee: The AWS user or group that you want to have access to transcoded files and playlists.

    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

      • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" - }, - "ThumbnailConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access that you want them to have.

    • GranteeType: The type of value that appears in the Grantee object:

      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

        A canonical user ID is not the same as an AWS account number.

      • Email: The registered email address of an AWS account.

      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

    • Grantee: The AWS user or group that you want to have access to thumbnail files.

    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

      • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" - } - }, - "documentation":"

The pipeline (queue) that is used to manage jobs.

" - }, - "PipelineOutputConfig":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.

  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.

  • You do not want to specify the permissions that Elastic Transcoder grants to the files.

  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.

If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" - }, - "Permissions":{ - "shape":"Permissions", - "documentation":"

Optional. The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to transcoded files and playlists, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

If you include Permissions, Elastic Transcoder grants only the permissions that you specify. It does not grant full permissions to the owner of the role specified by Role. If you want that user to have full control, you must explicitly grant full control to the user.

If you omit Permissions, Elastic Transcoder grants full control over the transcoded files and playlists to the owner of the role specified by Role, and grants no other permissions to any other user or group.

" - } - }, - "documentation":"

The PipelineOutputConfig structure.

" - }, - "PipelineStatus":{ - "type":"string", - "pattern":"(^Active$)|(^Paused$)" - }, - "Pipelines":{ - "type":"list", - "member":{"shape":"Pipeline"} - }, - "PixelsOrPercent":{ - "type":"string", - "pattern":"(^\\d{1,3}(\\.\\d{0,5})?%$)|(^\\d{1,4}?px$)" - }, - "PlayReadyDrm":{ - "type":"structure", - "members":{ - "Format":{ - "shape":"PlayReadyDrmFormatString", - "documentation":"

The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

" - }, - "Key":{ - "shape":"NonEmptyBase64EncodedString", - "documentation":"

The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using AWS KMS.

" - }, - "KeyMd5":{ - "shape":"NonEmptyBase64EncodedString", - "documentation":"

The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

" - }, - "KeyId":{ - "shape":"KeyIdGuid", - "documentation":"

The ID for your DRM key, so that your DRM license provider knows which key to provide.

The key ID must be provided in big endian, and Elastic Transcoder converts it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

" - }, - "InitializationVector":{ - "shape":"ZeroTo255String", - "documentation":"

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.

" - }, - "LicenseAcquisitionUrl":{ - "shape":"OneTo512String", - "documentation":"

The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

" - } - }, - "documentation":"

The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

PlayReady DRM encrypts your media files using AES-CTR encryption.

If you use DRM for an HLSv3 playlist, your outputs must have a master playlist.

" - }, - "PlayReadyDrmFormatString":{ - "type":"string", - "pattern":"(^microsoft$)|(^discretix-3.0$)" - }, - "Playlist":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Filename", - "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" - }, - "Format":{ - "shape":"PlaylistFormat", - "documentation":"

The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.

" - }, - "OutputKeys":{ - "shape":"OutputKeys", - "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" - }, - "HlsContentProtection":{ - "shape":"HlsContentProtection", - "documentation":"

The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

" - }, - "PlayReadyDrm":{ - "shape":"PlayReadyDrm", - "documentation":"

The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

" - }, - "Status":{ - "shape":"JobStatus", - "documentation":"

The status of the job with which the playlist is associated.

" - }, - "StatusDetail":{ - "shape":"Description", - "documentation":"

Information that further explains the status.

" - } - }, - "documentation":"

Use Only for Fragmented MP4 or MPEG-TS Outputs. If you specify a preset for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create. We recommend that you create only one master playlist per output format. The maximum number of master playlists in a job is 30.

" - }, - "PlaylistFormat":{ - "type":"string", - "pattern":"(^HLSv3$)|(^HLSv4$)|(^Smooth$)|(^MPEG-DASH$)" - }, - "Playlists":{ - "type":"list", - "member":{"shape":"Playlist"} - }, - "Preset":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

Identifier for the new preset. You use this value to get settings for the preset or to delete it.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the preset.

" - }, - "Name":{ - "shape":"Name", - "documentation":"

The name of the preset.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the preset.

" - }, - "Container":{ - "shape":"PresetContainer", - "documentation":"

The container type for the output file. Valid values include flac, flv, fmp4, gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.

" - }, - "Audio":{ - "shape":"AudioParameters", - "documentation":"

A section of the response body that provides information about the audio preset values.

" - }, - "Video":{ - "shape":"VideoParameters", - "documentation":"

A section of the response body that provides information about the video preset values.

" - }, - "Thumbnails":{ - "shape":"Thumbnails", - "documentation":"

A section of the response body that provides information about the thumbnail preset values, if any.

" - }, - "Type":{ - "shape":"PresetType", - "documentation":"

Whether the preset is a default preset provided by Elastic Transcoder (System) or a preset that you have defined (Custom).

" - } - }, - "documentation":"

Presets are templates that contain most of the settings for transcoding media files from one format to another. Elastic Transcoder includes some default presets for common formats, for example, several iPod and iPhone versions. You can also create your own presets for formats that aren't included among the default presets. You specify which preset you want to use when you create a job.

" - }, - "PresetContainer":{ - "type":"string", - "pattern":"(^mp4$)|(^ts$)|(^webm$)|(^mp3$)|(^flac$)|(^oga$)|(^ogg$)|(^fmp4$)|(^mpg$)|(^flv$)|(^gif$)|(^mxf$)|(^wav$)" - }, - "PresetType":{ - "type":"string", - "pattern":"(^System$)|(^Custom$)" - }, - "PresetWatermark":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"PresetWatermarkId", - "documentation":"

A unique identifier for the settings for one watermark. The value of Id can be up to 40 characters long.

" - }, - "MaxWidth":{ - "shape":"PixelsOrPercent", - "documentation":"

The maximum width of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxWidth.

  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.

    If you specify the value in pixels, it must be less than or equal to the value of MaxWidth.

" - }, - "MaxHeight":{ - "shape":"PixelsOrPercent", - "documentation":"

The maximum height of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxHeight.

  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.

If you specify the value in pixels, it must be less than or equal to the value of MaxHeight.

" - }, - "SizingPolicy":{ - "shape":"WatermarkSizingPolicy", - "documentation":"

A value that controls scaling of the watermark:

  • Fit: Elastic Transcoder scales the watermark so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Stretch: Elastic Transcoder stretches the watermark to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the watermark and the values of MaxWidth and MaxHeight are different, the watermark will be distorted.

  • ShrinkToFit: Elastic Transcoder scales the watermark down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the watermark up.

" - }, - "HorizontalAlign":{ - "shape":"HorizontalAlign", - "documentation":"

The horizontal position of the watermark unless you specify a non-zero value for HorizontalOffset:

  • Left: The left edge of the watermark is aligned with the left border of the video.

  • Right: The right edge of the watermark is aligned with the right border of the video.

  • Center: The watermark is centered between the left and right borders.

" - }, - "HorizontalOffset":{ - "shape":"PixelsOrPercent", - "documentation":"

The amount by which you want the horizontal position of the watermark to be offset from the position specified by HorizontalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxWidth.

  • integer percentage (%): The range of valid values is 0 to 100.

For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset, the left side of the watermark appears 5 pixels from the left border of the output video.

HorizontalOffset is only valid when the value of HorizontalAlign is Left or Right. If you specify an offset that causes the watermark to extend beyond the left or right border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" - }, - "VerticalAlign":{ - "shape":"VerticalAlign", - "documentation":"

The vertical position of the watermark unless you specify a non-zero value for VerticalOffset:

  • Top: The top edge of the watermark is aligned with the top border of the video.

  • Bottom: The bottom edge of the watermark is aligned with the bottom border of the video.

  • Center: The watermark is centered between the top and bottom borders.

" - }, - "VerticalOffset":{ - "shape":"PixelsOrPercent", - "documentation":"

VerticalOffset

The amount by which you want the vertical position of the watermark to be offset from the position specified by VerticalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxHeight.

  • integer percentage (%): The range of valid values is 0 to 100.

For example, if you specify Top for VerticalAlign and 5px for VerticalOffset, the top of the watermark appears 5 pixels from the top border of the output video.

VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom.

If you specify an offset that causes the watermark to extend beyond the top or bottom border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" - }, - "Opacity":{ - "shape":"Opacity", - "documentation":"

A percentage that indicates how much you want a watermark to obscure the video in the location where it appears. Valid values are 0 (the watermark is invisible) to 100 (the watermark completely obscures the video in the specified location). The datatype of Opacity is float.

Elastic Transcoder supports transparent .png graphics. If you use a transparent .png, the transparent portion of the video appears as if you had specified a value of 0 for Opacity. The .jpg file format doesn't support transparency.

" - }, - "Target":{ - "shape":"Target", - "documentation":"

A value that determines how Elastic Transcoder interprets values that you specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight:

  • Content: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any.

  • Frame: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any.

" - } - }, - "documentation":"

Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in the specified size and location, and with the specified opacity for the duration of the transcoded video.

Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the .png format, which supports transparency.

When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have different dimensions.

" - }, - "PresetWatermarkId":{ - "type":"string", - "max":40, - "min":1 - }, - "PresetWatermarks":{ - "type":"list", - "member":{"shape":"PresetWatermark"} - }, - "Presets":{ - "type":"list", - "member":{"shape":"Preset"} - }, - "ReadJobRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the job for which you want to get detailed information.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The ReadJobRequest structure.

" - }, - "ReadJobResponse":{ - "type":"structure", - "members":{ - "Job":{ - "shape":"Job", - "documentation":"

A section of the response body that provides information about the job.

" - } - }, - "documentation":"

The ReadJobResponse structure.

" - }, - "ReadPipelineRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the pipeline to read.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The ReadPipelineRequest structure.

" - }, - "ReadPipelineResponse":{ - "type":"structure", - "members":{ - "Pipeline":{ - "shape":"Pipeline", - "documentation":"

A section of the response body that provides information about the pipeline.

" - }, - "Warnings":{ - "shape":"Warnings", - "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" - } - }, - "documentation":"

The ReadPipelineResponse structure.

" - }, - "ReadPresetRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the preset for which you want to get detailed information.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The ReadPresetRequest structure.

" - }, - "ReadPresetResponse":{ - "type":"structure", - "members":{ - "Preset":{ - "shape":"Preset", - "documentation":"

A section of the response body that provides information about the preset.

" - } - }, - "documentation":"

The ReadPresetResponse structure.

" - }, - "Resolution":{ - "type":"string", - "pattern":"(^auto$)|(^\\d{1,5}x\\d{1,5}$)" - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested resource does not exist or is not available. For example, the pipeline to which you're trying to add a job doesn't exist or is still being created.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Role":{ - "type":"string", - "pattern":"^arn:aws:iam::\\w{12}:role/.+$" - }, - "Rotate":{ - "type":"string", - "pattern":"(^auto$)|(^0$)|(^90$)|(^180$)|(^270$)" - }, - "SizingPolicy":{ - "type":"string", - "pattern":"(^Fit$)|(^Fill$)|(^Stretch$)|(^Keep$)|(^ShrinkToFit$)|(^ShrinkToFill$)" - }, - "SnsTopic":{ - "type":"string", - "pattern":"(^$)|(^arn:aws:sns:.*:\\w{12}:.+$)" - }, - "SnsTopics":{ - "type":"list", - "member":{"shape":"SnsTopic"}, - "max":30 - }, - "StorageClass":{ - "type":"string", - "pattern":"(^ReducedRedundancy$)|(^Standard$)" - }, - "String":{"type":"string"}, - "Success":{ - "type":"string", - "pattern":"(^true$)|(^false$)" - }, - "Target":{ - "type":"string", - "pattern":"(^Content$)|(^Frame$)" - }, - "TestRoleRequest":{ - "type":"structure", - "required":[ - "Role", - "InputBucket", - "OutputBucket", - "Topics" - ], - "members":{ - "Role":{ - "shape":"Role", - "documentation":"

The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to test.

" - }, - "InputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket that contains media files to be transcoded. The action attempts to read from this bucket.

" - }, - "OutputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket that Elastic Transcoder writes transcoded media files to. The action attempts to read from this bucket.

" - }, - "Topics":{ - "shape":"SnsTopics", - "documentation":"

The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics that you want the action to send a test notification to.

" - } - }, - "documentation":"

The TestRoleRequest structure.

", - "deprecated":true - }, - "TestRoleResponse":{ - "type":"structure", - "members":{ - "Success":{ - "shape":"Success", - "documentation":"

If the operation is successful, this value is true; otherwise, the value is false.

" - }, - "Messages":{ - "shape":"ExceptionMessages", - "documentation":"

If the Success element contains false, this value is an array of one or more error messages that were generated during the test process.

" - } - }, - "documentation":"

The TestRoleResponse structure.

", - "deprecated":true - }, - "ThumbnailPattern":{ - "type":"string", - "pattern":"(^$)|(^.*\\{count\\}.*$)" - }, - "ThumbnailResolution":{ - "type":"string", - "pattern":"^\\d{1,5}x\\d{1,5}$" - }, - "Thumbnails":{ - "type":"structure", - "members":{ - "Format":{ - "shape":"JpgOrPng", - "documentation":"

The format of thumbnails, if any. Valid values are jpg and png.

You specify whether you want Elastic Transcoder to create thumbnails when you create a job.

" - }, - "Interval":{ - "shape":"Digits", - "documentation":"

The approximate number of seconds between thumbnails. Specify an integer value.

" - }, - "Resolution":{ - "shape":"ThumbnailResolution", - "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of thumbnail files in pixels. Specify a value in the format width x height where both values are even integers. The values cannot exceed the width and height that you specified in the Video:Resolution object.

" - }, - "AspectRatio":{ - "shape":"AspectRatio", - "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The aspect ratio of thumbnails. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the video in the output file.

" - }, - "MaxWidth":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 4096.

" - }, - "MaxHeight":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum height of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 3072.

" - }, - "SizingPolicy":{ - "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of thumbnails:

  • Fit: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings without exceeding the other value.

  • Fill: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings and matches or exceeds the other value. Elastic Transcoder centers the image in thumbnails and then crops in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches thumbnails to match the values that you specified for thumbnail MaxWidth and MaxHeight settings. If the relative proportions of the input video and thumbnails are different, the thumbnails will be distorted.

  • Keep: Elastic Transcoder does not scale thumbnails. If either dimension of the input video exceeds the values that you specified for thumbnail MaxWidth and MaxHeight settings, Elastic Transcoder crops the thumbnails.

  • ShrinkToFit: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of thumbnail MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.

  • ShrinkToFill: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.

" - }, - "PaddingPolicy":{ - "shape":"PaddingPolicy", - "documentation":"

When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars to the top and bottom and/or left and right sides of thumbnails to make the total size of the thumbnails match the values that you specified for thumbnail MaxWidth and MaxHeight settings.

" - } - }, - "documentation":"

Thumbnails for videos.

" - }, - "Time":{ - "type":"string", - "pattern":"(^\\d{1,5}(\\.\\d{0,3})?$)|(^([0-1]?[0-9]:|2[0-3]:)?([0-5]?[0-9]:)?[0-5]?[0-9](\\.\\d{0,3})?$)" - }, - "TimeOffset":{ - "type":"string", - "pattern":"(^[+-]?\\d{1,5}(\\.\\d{0,3})?$)|(^[+-]?([0-1]?[0-9]:|2[0-3]:)?([0-5]?[0-9]:)?[0-5]?[0-9](\\.\\d{0,3})?$)" - }, - "TimeSpan":{ - "type":"structure", - "members":{ - "StartTime":{ - "shape":"Time", - "documentation":"

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

" - }, - "Duration":{ - "shape":"Time", - "documentation":"

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file, Elastic Transcoder transcodes the file and returns a warning message.

" - } - }, - "documentation":"

Settings that determine when a clip begins and how long it lasts.

" - }, - "Timing":{ - "type":"structure", - "members":{ - "SubmitTimeMillis":{ - "shape":"NullableLong", - "documentation":"

The time the job was submitted to Elastic Transcoder, in epoch milliseconds.

" - }, - "StartTimeMillis":{ - "shape":"NullableLong", - "documentation":"

The time the job began transcoding, in epoch milliseconds.

" - }, - "FinishTimeMillis":{ - "shape":"NullableLong", - "documentation":"

The time the job finished transcoding, in epoch milliseconds.

" - } - }, - "documentation":"

Details about the timing of a job.

" - }, - "UpdatePipelineNotificationsRequest":{ - "type":"structure", - "required":[ - "Id", - "Notifications" - ], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the pipeline for which you want to change notification settings.

", - "location":"uri", - "locationName":"Id" - }, - "Notifications":{ - "shape":"Notifications", - "documentation":"

The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Completed: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.

" - } - }, - "documentation":"

The UpdatePipelineNotificationsRequest structure.

" - }, - "UpdatePipelineNotificationsResponse":{ - "type":"structure", - "members":{ - "Pipeline":{ - "shape":"Pipeline", - "documentation":"

A section of the response body that provides information about the pipeline associated with this notification.

" - } - }, - "documentation":"

The UpdatePipelineNotificationsResponse structure.

" - }, - "UpdatePipelineRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The ID of the pipeline that you want to update.

", - "location":"uri", - "locationName":"Id" - }, - "Name":{ - "shape":"Name", - "documentation":"

The name of the pipeline. We recommend that the name be unique within the AWS account, but uniqueness is not enforced.

Constraints: Maximum 40 characters

" - }, - "InputBucket":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.

" - }, - "AwsKmsKeyArn":{ - "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" - }, - "Notifications":{ - "shape":"Notifications", - "documentation":"

The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Completed: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.

" - }, - "ContentConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • Grantee Type: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:

    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" - }, - "ThumbnailConfig":{ - "shape":"PipelineOutputConfig", - "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • GranteeType: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:

    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" - } - }, - "documentation":"

The UpdatePipelineRequest structure.

" - }, - "UpdatePipelineResponse":{ - "type":"structure", - "members":{ - "Pipeline":{ - "shape":"Pipeline", - "documentation":"

The pipeline updated by this UpdatePipelineResponse call.

" - }, - "Warnings":{ - "shape":"Warnings", - "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" - } - }, - "documentation":"

When you update a pipeline, Elastic Transcoder returns the values that you specified in the request.

" - }, - "UpdatePipelineStatusRequest":{ - "type":"structure", - "required":[ - "Id", - "Status" - ], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the pipeline to update.

", - "location":"uri", - "locationName":"Id" - }, - "Status":{ - "shape":"PipelineStatus", - "documentation":"

The desired status of the pipeline:

  • Active: The pipeline is processing jobs.

  • Paused: The pipeline is not currently processing jobs.

" - } - }, - "documentation":"

The UpdatePipelineStatusRequest structure.

" - }, - "UpdatePipelineStatusResponse":{ - "type":"structure", - "members":{ - "Pipeline":{ - "shape":"Pipeline", - "documentation":"

A section of the response body that provides information about the pipeline.

" - } - }, - "documentation":"

When you update status for a pipeline, Elastic Transcoder returns the values that you specified in the request.

" - }, - "UserMetadata":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "ValidationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more required parameter values were not provided in the request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "VerticalAlign":{ - "type":"string", - "pattern":"(^Top$)|(^Bottom$)|(^Center$)" - }, - "VideoBitRate":{ - "type":"string", - "pattern":"(^\\d{2,5}$)|(^auto$)" - }, - "VideoCodec":{ - "type":"string", - "pattern":"(^H\\.264$)|(^vp8$)|(^vp9$)|(^mpeg2$)|(^gif$)" - }, - "VideoParameters":{ - "type":"structure", - "members":{ - "Codec":{ - "shape":"VideoCodec", - "documentation":"

The video codec for the output file. Valid values include gif, H.264, mpeg2, vp8, and vp9. You can only specify vp8 and vp9 when the container type is webm, gif when the container type is gif, and mpeg2 when the container type is mpg.

" - }, - "CodecOptions":{ - "shape":"CodecOptions", - "documentation":"

Profile (H.264/VP8/VP9 Only)

The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:

  • baseline: The profile most commonly used for videoconferencing and for mobile applications.

  • main: The profile used for standard-definition digital TV broadcasts.

  • high: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.

Level (H.264 Only)

The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:

1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1

MaxReferenceFrames (H.264 Only)

Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use a value greater than the following:

Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)

where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the Level object. See the list below. (A macroblock is a block of pixels measuring 16x16.)

  • 1 - 396

  • 1b - 396

  • 1.1 - 900

  • 1.2 - 2376

  • 1.3 - 2376

  • 2 - 2376

  • 2.1 - 4752

  • 2.2 - 8100

  • 3 - 8100

  • 3.1 - 18000

  • 3.2 - 20480

  • 4 - 32768

  • 4.1 - 32768

MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)

The maximum number of bits per second in a video buffer; the size of the buffer is specified by BufferSize. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.

BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)

The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder sets BufferSize to 10 times the value of MaxBitRate.

InterlacedMode (Optional, H.264/MPEG2 Only)

The interlace mode for the output video.

Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on every other line, the other field on the other lines) so that the human eye registers multiple pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and flickering.

Valid values include Progressive (no interlacing, top to bottom), TopFirst (top field first), BottomFirst (bottom field first), and Auto.

If InterlaceMode is not specified, Elastic Transcoder uses Progressive for the output. If Auto is specified, Elastic Transcoder interlaces the output.

ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)

The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used by the computer to store information about how to render color. Bt.601 is the standard for standard definition video, while Bt.709 is the standard for high definition video.

Valid values include None, Bt709toBt601, Bt601toBt709, and Auto.

If you chose Auto for ColorSpaceConversionMode and your output is interlaced, your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration is null, and you are using one of the resolution changes from the list below, Elastic Transcoder applies the following color space conversions:

  • Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709

  • Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709

  • HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601

  • HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601

Elastic Transcoder may change the behavior of the ColorspaceConversionMode Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode.

If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does not change the color space of a file. If you are unsure what ColorSpaceConversionMode was applied to your output file, you can check the AppliedColorSpaceConversion parameter included in your job response. If your job does not have an AppliedColorSpaceConversion in its response, no ColorSpaceConversionMode was applied.

ChromaSubsampling

The sampling pattern for the chroma (color) channels of the output video. Valid values include yuv420p and yuv422p.

yuv420p samples the chroma information of every other horizontal and every other vertical line, yuv422p samples the color information of every horizontal line and every other vertical line.

LoopCount (Gif Only)

The number of times you want the output gif to loop. Valid values include Infinite and integers between 0 and 100, inclusive.

" - }, - "KeyframesMaxDist":{ - "shape":"KeyframesMaxDist", - "documentation":"

Applicable only when the value of Video:Codec is one of H.264, MPEG2, or VP8.

The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between key frames are encoded based, in part, on the content of the key frames. The value is an integer formatted as a string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value results in higher compression but may also discernibly decrease video quality.

For Smooth outputs, the FrameRate must have a constant ratio to the KeyframesMaxDist. This allows Smooth playlists to switch between different quality levels while the file is being played.

For example, an input file can have a FrameRate of 30 with a KeyframesMaxDist of 90. The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate of 30, 25, and 10, and KeyframesMaxDist of 90, 75, and 30, respectively.

Alternately, this can be achieved by setting FrameRate to auto and having the same values for MaxFrameRate and KeyframesMaxDist.

" - }, - "FixedGOP":{ - "shape":"FixedGOP", - "documentation":"

Applicable only when the value of Video:Codec is one of H.264, MPEG2, or VP8.

Whether to use a fixed value for FixedGOP. Valid values are true and false:

  • true: Elastic Transcoder uses the value of KeyframesMaxDist for the distance between key frames (the number of frames in a group of pictures, or GOP).

  • false: The distance between key frames can vary.

FixedGOP must be set to true for fmp4 containers.

" - }, - "BitRate":{ - "shape":"VideoBitRate", - "documentation":"

The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of Level and Profile. If you specify auto, Elastic Transcoder uses the detected bit rate of the input source. If you specify a value other than auto, we recommend that you specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:

Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in kilobits/second (high Profile)

  • 1 - 64 : 80

  • 1b - 128 : 160

  • 1.1 - 192 : 240

  • 1.2 - 384 : 480

  • 1.3 - 768 : 960

  • 2 - 2000 : 2500

  • 3 - 10000 : 12500

  • 3.1 - 14000 : 17500

  • 3.2 - 20000 : 25000

  • 4 - 20000 : 25000

  • 4.1 - 50000 : 62500

" - }, - "FrameRate":{ - "shape":"FrameRate", - "documentation":"

The frames per second for the video stream in the output file. Valid values include:

auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify auto, Elastic Transcoder uses the detected frame rate of the input source. If you specify a frame rate, we recommend that you perform the following calculation:

Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)

where:

  • width in pixels and height in pixels represent the Resolution of the output video.

  • maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value listed in the following table, based on the value that you specified for Level.

The maximum recommended decoding speed in Luma samples/second for each level is described in the following list (Level - Decoding speed):

  • 1 - 380160

  • 1b - 380160

  • 1.1 - 76800

  • 1.2 - 1536000

  • 1.3 - 3041280

  • 2 - 3041280

  • 2.1 - 5068800

  • 2.2 - 5184000

  • 3 - 10368000

  • 3.1 - 27648000

  • 3.2 - 55296000

  • 4 - 62914560

  • 4.1 - 62914560

" - }, - "MaxFrameRate":{ - "shape":"MaxFrameRate", - "documentation":"

If you specify auto for FrameRate, Elastic Transcoder uses the frame rate of the input video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic Transcoder to use when the frame rate of the input video is greater than the desired maximum frame rate of the output video. Valid values include: 10, 15, 23.97, 24, 25, 29.97, 30, 60.

" - }, - "Resolution":{ - "shape":"Resolution", - "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of the video in the output file, in pixels. Valid values are auto and width x height:

  • auto: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the following rules.

  • width x height : The width and height of the output video in pixels.

Note the following about specifying the width and height:

  • The width must be an even integer between 128 and 4096, inclusive.

  • The height must be an even integer between 96 and 3072, inclusive.

  • If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the output file to the lower resolution.

  • If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales the output to the higher resolution.

  • We recommend that you specify a resolution for which the product of width and height is less than or equal to the applicable value in the following list (List - Max width x height value):

    • 1 - 25344

    • 1b - 25344

    • 1.1 - 101376

    • 1.2 - 101376

    • 1.3 - 101376

    • 2 - 101376

    • 2.1 - 202752

    • 2.2 - 404720

    • 3 - 404720

    • 3.1 - 921600

    • 3.2 - 1310720

    • 4 - 2097152

    • 4.1 - 2097152

" - }, - "AspectRatio":{ - "shape":"AspectRatio", - "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The display aspect ratio of the video in the output file. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the input file.

If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to maintain the aspect ratio of the active region of the video.

" - }, - "MaxWidth":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum width of the output video in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and 4096.

" - }, - "MaxHeight":{ - "shape":"DigitsOrAuto", - "documentation":"

The maximum height of the output video in pixels. If you specify auto, Elastic Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96 and 3072.

" - }, - "DisplayAspectRatio":{ - "shape":"AspectRatio", - "documentation":"

The value that Elastic Transcoder adds to the metadata in the output file.

" - }, - "SizingPolicy":{ - "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of the output video:

  • Fit: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output video and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output video to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input video and the output video are different, the output video will be distorted.

  • Keep: Elastic Transcoder does not scale the output video. If either dimension of the input video exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output video.

  • ShrinkToFit: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the video up.

  • ShrinkToFill: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the video up.

" - }, - "PaddingPolicy":{ - "shape":"PaddingPolicy", - "documentation":"

When you set PaddingPolicy to Pad, Elastic Transcoder may add black bars to the top and bottom and/or left and right sides of the output video to make the total size of the output video match the values that you specified for MaxWidth and MaxHeight.

" - }, - "Watermarks":{ - "shape":"PresetWatermarks", - "documentation":"

Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in the specified size and location, and with the specified opacity for the duration of the transcoded video.

Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the .png format, which supports transparency.

When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have different dimensions.

" - } - }, - "documentation":"

The VideoParameters structure.

" - }, - "Warning":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"String", - "documentation":"

The code of the cross-regional warning.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The message explaining what resources are in a different region from the pipeline.

AWS KMS keys must be in the same region as the pipeline.

" - } - }, - "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" - }, - "Warnings":{ - "type":"list", - "member":{"shape":"Warning"} - }, - "WatermarkKey":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"(^.{1,1020}.jpg$)|(^.{1,1019}.jpeg$)|(^.{1,1020}.png$)" - }, - "WatermarkSizingPolicy":{ - "type":"string", - "pattern":"(^Fit$)|(^Stretch$)|(^ShrinkToFit$)" - }, - "ZeroTo255String":{ - "type":"string", - "max":255, - "min":0 - }, - "ZeroTo512String":{ - "type":"string", - "max":512, - "min":0 - } - }, - "documentation":"AWS Elastic Transcoder Service

The AWS Elastic Transcoder Service.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/waiters-2.json deleted file mode 100644 index 55c36280..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elastictranscoder/2012-09-25/waiters-2.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version": 2, - "waiters": { - "JobComplete": { - "delay": 30, - "operation": "ReadJob", - "maxAttempts": 120, - "acceptors": [ - { - "expected": "Complete", - "matcher": "path", - "state": "success", - "argument": "Job.Status" - }, - { - "expected": "Canceled", - "matcher": "path", - "state": "failure", - "argument": "Job.Status" - }, - { - "expected": "Error", - "matcher": "path", - "state": "failure", - "argument": "Job.Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/examples-1.json deleted file mode 100644 index ce50fdd1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/examples-1.json +++ /dev/null @@ -1,1036 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/paginators-1.json deleted file mode 100644 index 444a77a5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "DescribeLoadBalancers": { - "input_token": "Marker", - "output_token": "NextMarker", - "result_key": "LoadBalancerDescriptions", - "limit_key": "PageSize" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/service-2.json deleted file mode 100644 index da1a0da7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/service-2.json +++ /dev/null @@ -1,2280 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-06-01", - "endpointPrefix":"elasticloadbalancing", - "protocol":"query", - "serviceFullName":"Elastic Load Balancing", - "serviceId":"Elastic Load Balancing", - "signatureVersion":"v4", - "uid":"elasticloadbalancing-2012-06-01", - "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/" - }, - "operations":{ - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsInput"}, - "output":{ - "shape":"AddTagsOutput", - "resultWrapper":"AddTagsResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"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.

" - }, - "ApplySecurityGroupsToLoadBalancer":{ - "name":"ApplySecurityGroupsToLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ApplySecurityGroupsToLoadBalancerInput"}, - "output":{ - "shape":"ApplySecurityGroupsToLoadBalancerOutput", - "resultWrapper":"ApplySecurityGroupsToLoadBalancerResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"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.

" - }, - "AttachLoadBalancerToSubnets":{ - "name":"AttachLoadBalancerToSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachLoadBalancerToSubnetsInput"}, - "output":{ - "shape":"AttachLoadBalancerToSubnetsOutput", - "resultWrapper":"AttachLoadBalancerToSubnetsResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"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.

" - }, - "ConfigureHealthCheck":{ - "name":"ConfigureHealthCheck", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfigureHealthCheckInput"}, - "output":{ - "shape":"ConfigureHealthCheckOutput", - "resultWrapper":"ConfigureHealthCheckResult" - }, - "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.

" - }, - "CreateAppCookieStickinessPolicy":{ - "name":"CreateAppCookieStickinessPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAppCookieStickinessPolicyInput"}, - "output":{ - "shape":"CreateAppCookieStickinessPolicyOutput", - "resultWrapper":"CreateAppCookieStickinessPolicyResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"DuplicatePolicyNameException"}, - {"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.

" - }, - "CreateLBCookieStickinessPolicy":{ - "name":"CreateLBCookieStickinessPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLBCookieStickinessPolicyInput"}, - "output":{ - "shape":"CreateLBCookieStickinessPolicyOutput", - "resultWrapper":"CreateLBCookieStickinessPolicyResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"DuplicatePolicyNameException"}, - {"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.

" - }, - "CreateLoadBalancer":{ - "name":"CreateLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAccessPointInput"}, - "output":{ - "shape":"CreateAccessPointOutput", - "resultWrapper":"CreateLoadBalancerResult" - }, - "errors":[ - {"shape":"DuplicateAccessPointNameException"}, - {"shape":"TooManyAccessPointsException"}, - {"shape":"CertificateNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"SubnetNotFoundException"}, - {"shape":"InvalidSubnetException"}, - {"shape":"InvalidSecurityGroupException"}, - {"shape":"InvalidSchemeException"}, - {"shape":"TooManyTagsException"}, - {"shape":"DuplicateTagKeysException"}, - {"shape":"UnsupportedProtocolException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Creates a Classic Load Balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" - }, - "CreateLoadBalancerListeners":{ - "name":"CreateLoadBalancerListeners", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoadBalancerListenerInput"}, - "output":{ - "shape":"CreateLoadBalancerListenerOutput", - "resultWrapper":"CreateLoadBalancerListenersResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"DuplicateListenerException"}, - {"shape":"CertificateNotFoundException"}, - {"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.

" - }, - "CreateLoadBalancerPolicy":{ - "name":"CreateLoadBalancerPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoadBalancerPolicyInput"}, - "output":{ - "shape":"CreateLoadBalancerPolicyOutput", - "resultWrapper":"CreateLoadBalancerPolicyResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"PolicyTypeNotFoundException"}, - {"shape":"DuplicatePolicyNameException"}, - {"shape":"TooManyPoliciesException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Creates a policy with the specified attributes for the specified load balancer.

Policies are settings that are saved for your load balancer and that can be applied to the listener or the application server, depending on the policy type.

" - }, - "DeleteLoadBalancer":{ - "name":"DeleteLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAccessPointInput"}, - "output":{ - "shape":"DeleteAccessPointOutput", - "resultWrapper":"DeleteLoadBalancerResult" - }, - "documentation":"

Deletes the specified load balancer.

If you are attempting to recreate a load balancer, you must reconfigure all settings. The DNS name associated with a deleted load balancer are no longer usable. The name and associated DNS record of the deleted load balancer no longer exist and traffic sent to any of its IP addresses is no longer delivered to your instances.

If the load balancer does not exist or has already been deleted, the call to DeleteLoadBalancer still succeeds.

" - }, - "DeleteLoadBalancerListeners":{ - "name":"DeleteLoadBalancerListeners", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoadBalancerListenerInput"}, - "output":{ - "shape":"DeleteLoadBalancerListenerOutput", - "resultWrapper":"DeleteLoadBalancerListenersResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"} - ], - "documentation":"

Deletes the specified listeners from the specified load balancer.

" - }, - "DeleteLoadBalancerPolicy":{ - "name":"DeleteLoadBalancerPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoadBalancerPolicyInput"}, - "output":{ - "shape":"DeleteLoadBalancerPolicyOutput", - "resultWrapper":"DeleteLoadBalancerPolicyResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Deletes the specified policy from the specified load balancer. This policy must not be enabled for any listeners.

" - }, - "DeregisterInstancesFromLoadBalancer":{ - "name":"DeregisterInstancesFromLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterEndPointsInput"}, - "output":{ - "shape":"DeregisterEndPointsOutput", - "resultWrapper":"DeregisterInstancesFromLoadBalancerResult" - }, - "errors":[ - {"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.

" - }, - "DescribeAccountLimits":{ - "name":"DescribeAccountLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountLimitsInput"}, - "output":{ - "shape":"DescribeAccountLimitsOutput", - "resultWrapper":"DescribeAccountLimitsResult" - }, - "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" - }, - "DescribeInstanceHealth":{ - "name":"DescribeInstanceHealth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndPointStateInput"}, - "output":{ - "shape":"DescribeEndPointStateOutput", - "resultWrapper":"DescribeInstanceHealthResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"InvalidEndPointException"} - ], - "documentation":"

Describes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer. If instances are specified, their state is returned even if they are no longer registered with the load balancer. The state of terminated instances is not returned.

" - }, - "DescribeLoadBalancerAttributes":{ - "name":"DescribeLoadBalancerAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancerAttributesInput"}, - "output":{ - "shape":"DescribeLoadBalancerAttributesOutput", - "resultWrapper":"DescribeLoadBalancerAttributesResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"LoadBalancerAttributeNotFoundException"} - ], - "documentation":"

Describes the attributes for the specified load balancer.

" - }, - "DescribeLoadBalancerPolicies":{ - "name":"DescribeLoadBalancerPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancerPoliciesInput"}, - "output":{ - "shape":"DescribeLoadBalancerPoliciesOutput", - "resultWrapper":"DescribeLoadBalancerPoliciesResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"PolicyNotFoundException"} - ], - "documentation":"

Describes the specified policies.

If you specify a load balancer name, the action returns the descriptions of all policies created for the load balancer. If you specify a policy name associated with your load balancer, the action returns the description of that policy. If you don't specify a load balancer name, the action returns descriptions of the specified sample policies, or descriptions of all sample policies. The names of the sample policies have the ELBSample- prefix.

" - }, - "DescribeLoadBalancerPolicyTypes":{ - "name":"DescribeLoadBalancerPolicyTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancerPolicyTypesInput"}, - "output":{ - "shape":"DescribeLoadBalancerPolicyTypesOutput", - "resultWrapper":"DescribeLoadBalancerPolicyTypesResult" - }, - "errors":[ - {"shape":"PolicyTypeNotFoundException"} - ], - "documentation":"

Describes the specified load balancer policy types or all load balancer policy types.

The description of each type indicates how it can be used. For example, some policies can be used only with layer 7 listeners, some policies can be used only with layer 4 listeners, and some policies can be used only with your EC2 instances.

You can use CreateLoadBalancerPolicy to create a policy configuration for any of these policy types. Then, depending on the policy type, use either SetLoadBalancerPoliciesOfListener or SetLoadBalancerPoliciesForBackendServer to set the policy.

" - }, - "DescribeLoadBalancers":{ - "name":"DescribeLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccessPointsInput"}, - "output":{ - "shape":"DescribeAccessPointsOutput", - "resultWrapper":"DescribeLoadBalancersResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"DependencyThrottleException"} - ], - "documentation":"

Describes the specified the load balancers. If no load balancers are specified, the call describes all of your load balancers.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsInput"}, - "output":{ - "shape":"DescribeTagsOutput", - "resultWrapper":"DescribeTagsResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"} - ], - "documentation":"

Describes the tags associated with the specified load balancers.

" - }, - "DetachLoadBalancerFromSubnets":{ - "name":"DetachLoadBalancerFromSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachLoadBalancerFromSubnetsInput"}, - "output":{ - "shape":"DetachLoadBalancerFromSubnetsOutput", - "resultWrapper":"DetachLoadBalancerFromSubnetsResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Removes the specified subnets from the set of configured subnets for the load balancer.

After a subnet is removed, all EC2 instances registered with the load balancer in the removed subnet go into the OutOfService state. Then, the load balancer balances the traffic among the remaining routable subnets.

" - }, - "DisableAvailabilityZonesForLoadBalancer":{ - "name":"DisableAvailabilityZonesForLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveAvailabilityZonesInput"}, - "output":{ - "shape":"RemoveAvailabilityZonesOutput", - "resultWrapper":"DisableAvailabilityZonesForLoadBalancerResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.

For load balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" - }, - "EnableAvailabilityZonesForLoadBalancer":{ - "name":"EnableAvailabilityZonesForLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddAvailabilityZonesInput"}, - "output":{ - "shape":"AddAvailabilityZonesOutput", - "resultWrapper":"EnableAvailabilityZonesForLoadBalancerResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"} - ], - "documentation":"

Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.

For load balancers in a non-default VPC, use AttachLoadBalancerToSubnets.

The load balancer evenly distributes requests across all its registered Availability Zones that contain instances. For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" - }, - "ModifyLoadBalancerAttributes":{ - "name":"ModifyLoadBalancerAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyLoadBalancerAttributesInput"}, - "output":{ - "shape":"ModifyLoadBalancerAttributesOutput", - "resultWrapper":"ModifyLoadBalancerAttributesResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"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:

" - }, - "RegisterInstancesWithLoadBalancer":{ - "name":"RegisterInstancesWithLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterEndPointsInput"}, - "output":{ - "shape":"RegisterEndPointsOutput", - "resultWrapper":"RegisterInstancesWithLoadBalancerResult" - }, - "errors":[ - {"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.

" - }, - "RemoveTags":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsInput"}, - "output":{ - "shape":"RemoveTagsOutput", - "resultWrapper":"RemoveTagsResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"} - ], - "documentation":"

Removes one or more tags from the specified load balancer.

" - }, - "SetLoadBalancerListenerSSLCertificate":{ - "name":"SetLoadBalancerListenerSSLCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetLoadBalancerListenerSSLCertificateInput"}, - "output":{ - "shape":"SetLoadBalancerListenerSSLCertificateOutput", - "resultWrapper":"SetLoadBalancerListenerSSLCertificateResult" - }, - "errors":[ - {"shape":"CertificateNotFoundException"}, - {"shape":"AccessPointNotFoundException"}, - {"shape":"ListenerNotFoundException"}, - {"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.

" - }, - "SetLoadBalancerPoliciesForBackendServer":{ - "name":"SetLoadBalancerPoliciesForBackendServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetLoadBalancerPoliciesForBackendServerInput"}, - "output":{ - "shape":"SetLoadBalancerPoliciesForBackendServerOutput", - "resultWrapper":"SetLoadBalancerPoliciesForBackendServerResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"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.

" - }, - "SetLoadBalancerPoliciesOfListener":{ - "name":"SetLoadBalancerPoliciesOfListener", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetLoadBalancerPoliciesOfListenerInput"}, - "output":{ - "shape":"SetLoadBalancerPoliciesOfListenerOutput", - "resultWrapper":"SetLoadBalancerPoliciesOfListenerResult" - }, - "errors":[ - {"shape":"AccessPointNotFoundException"}, - {"shape":"PolicyNotFoundException"}, - {"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.

" - } - }, - "shapes":{ - "AccessLog":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"AccessLogEnabled", - "documentation":"

Specifies whether access logs are enabled for the load balancer.

" - }, - "S3BucketName":{ - "shape":"S3BucketName", - "documentation":"

The name of the Amazon S3 bucket where the access logs are stored.

" - }, - "EmitInterval":{ - "shape":"AccessLogInterval", - "documentation":"

The interval for publishing the access logs. You can specify an interval of either 5 minutes or 60 minutes.

Default: 60 minutes

" - }, - "S3BucketPrefix":{ - "shape":"AccessLogPrefix", - "documentation":"

The logical hierarchy you created for your Amazon S3 bucket, for example my-bucket-prefix/prod. If the prefix is not provided, the log is placed at the root level of the bucket.

" - } - }, - "documentation":"

Information about the AccessLog attribute.

" - }, - "AccessLogEnabled":{"type":"boolean"}, - "AccessLogInterval":{"type":"integer"}, - "AccessLogPrefix":{"type":"string"}, - "AccessPointName":{"type":"string"}, - "AccessPointNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified load balancer does not exist.

", - "error":{ - "code":"LoadBalancerNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AccessPointPort":{"type":"integer"}, - "AddAvailabilityZonesInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "AvailabilityZones" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The Availability Zones. These must be in the same region as the load balancer.

" - } - }, - "documentation":"

Contains the parameters for EnableAvailabilityZonesForLoadBalancer.

" - }, - "AddAvailabilityZonesOutput":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The updated list of Availability Zones for the load balancer.

" - } - }, - "documentation":"

Contains the output of EnableAvailabilityZonesForLoadBalancer.

" - }, - "AddTagsInput":{ - "type":"structure", - "required":[ - "LoadBalancerNames", - "Tags" - ], - "members":{ - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

The name of the load balancer. You can specify one load balancer only.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags.

" - } - }, - "documentation":"

Contains the parameters for AddTags.

" - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of AddTags.

" - }, - "AdditionalAttribute":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"AdditionalAttributeKey", - "documentation":"

This parameter is reserved.

" - }, - "Value":{ - "shape":"AdditionalAttributeValue", - "documentation":"

This parameter is reserved.

" - } - }, - "documentation":"

This data type is reserved.

" - }, - "AdditionalAttributeKey":{ - "type":"string", - "max":256, - "pattern":"^[a-zA-Z0-9.]+$" - }, - "AdditionalAttributeValue":{ - "type":"string", - "max":256, - "pattern":"^[a-zA-Z0-9.]+$" - }, - "AdditionalAttributes":{ - "type":"list", - "member":{"shape":"AdditionalAttribute"}, - "max":10 - }, - "AppCookieStickinessPolicies":{ - "type":"list", - "member":{"shape":"AppCookieStickinessPolicy"} - }, - "AppCookieStickinessPolicy":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The mnemonic name for the policy being created. The name must be unique within a set of policies for this load balancer.

" - }, - "CookieName":{ - "shape":"CookieName", - "documentation":"

The name of the application cookie used for stickiness.

" - } - }, - "documentation":"

Information about a policy for application-controlled session stickiness.

" - }, - "ApplySecurityGroupsToLoadBalancerInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "SecurityGroups" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups to associate with the load balancer. Note that you cannot specify the name of the security group.

" - } - }, - "documentation":"

Contains the parameters for ApplySecurityGroupsToLoadBalancer.

" - }, - "ApplySecurityGroupsToLoadBalancerOutput":{ - "type":"structure", - "members":{ - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups associated with the load balancer.

" - } - }, - "documentation":"

Contains the output of ApplySecurityGroupsToLoadBalancer.

" - }, - "AttachLoadBalancerToSubnetsInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Subnets" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the subnets to add. You can add only one subnet per Availability Zone.

" - } - }, - "documentation":"

Contains the parameters for AttachLoaBalancerToSubnets.

" - }, - "AttachLoadBalancerToSubnetsOutput":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the subnets attached to the load balancer.

" - } - }, - "documentation":"

Contains the output of AttachLoadBalancerToSubnets.

" - }, - "AttributeName":{"type":"string"}, - "AttributeType":{"type":"string"}, - "AttributeValue":{"type":"string"}, - "AvailabilityZone":{"type":"string"}, - "AvailabilityZones":{ - "type":"list", - "member":{"shape":"AvailabilityZone"} - }, - "BackendServerDescription":{ - "type":"structure", - "members":{ - "InstancePort":{ - "shape":"InstancePort", - "documentation":"

The port on which the EC2 instance is listening.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The names of the policies enabled for the EC2 instance.

" - } - }, - "documentation":"

Information about the configuration of an EC2 instance.

" - }, - "BackendServerDescriptions":{ - "type":"list", - "member":{"shape":"BackendServerDescription"} - }, - "Cardinality":{"type":"string"}, - "CertificateNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified ARN does not refer to a valid SSL certificate in AWS Identity and Access Management (IAM) or AWS Certificate Manager (ACM). Note that if you recently uploaded the certificate to IAM, this error might indicate that the certificate is not fully available yet.

", - "error":{ - "code":"CertificateNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ConfigureHealthCheckInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "HealthCheck" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "HealthCheck":{ - "shape":"HealthCheck", - "documentation":"

The configuration information.

" - } - }, - "documentation":"

Contains the parameters for ConfigureHealthCheck.

" - }, - "ConfigureHealthCheckOutput":{ - "type":"structure", - "members":{ - "HealthCheck":{ - "shape":"HealthCheck", - "documentation":"

The updated health check.

" - } - }, - "documentation":"

Contains the output of ConfigureHealthCheck.

" - }, - "ConnectionDraining":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"ConnectionDrainingEnabled", - "documentation":"

Specifies whether connection draining is enabled for the load balancer.

" - }, - "Timeout":{ - "shape":"ConnectionDrainingTimeout", - "documentation":"

The maximum time, in seconds, to keep the existing connections open before deregistering the instances.

" - } - }, - "documentation":"

Information about the ConnectionDraining attribute.

" - }, - "ConnectionDrainingEnabled":{"type":"boolean"}, - "ConnectionDrainingTimeout":{"type":"integer"}, - "ConnectionSettings":{ - "type":"structure", - "required":["IdleTimeout"], - "members":{ - "IdleTimeout":{ - "shape":"IdleTimeout", - "documentation":"

The time, in seconds, that the connection is allowed to be idle (no data has been sent over the connection) before it is closed by the load balancer.

" - } - }, - "documentation":"

Information about the ConnectionSettings attribute.

" - }, - "CookieExpirationPeriod":{"type":"long"}, - "CookieName":{"type":"string"}, - "CreateAccessPointInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Listeners" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.

" - }, - "Listeners":{ - "shape":"Listeners", - "documentation":"

The listeners.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones from the same region as the load balancer.

You must specify at least one Availability Zone.

You can add more Availability Zones after you create the load balancer using EnableAvailabilityZonesForLoadBalancer.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in AvailabilityZones.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups to assign to the load balancer.

" - }, - "Scheme":{ - "shape":"LoadBalancerScheme", - "documentation":"

The type of a load balancer. Valid only for load balancers in a VPC.

By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see Load Balancer Scheme in the Elastic Load Balancing User Guide.

Specify internal to create a load balancer with a DNS name that resolves to private IP addresses.

" - }, - "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":"

Contains the parameters for CreateLoadBalancer.

" - }, - "CreateAccessPointOutput":{ - "type":"structure", - "members":{ - "DNSName":{ - "shape":"DNSName", - "documentation":"

The DNS name of the load balancer.

" - } - }, - "documentation":"

Contains the output for CreateLoadBalancer.

" - }, - "CreateAppCookieStickinessPolicyInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "PolicyName", - "CookieName" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.

" - }, - "CookieName":{ - "shape":"CookieName", - "documentation":"

The name of the application cookie used for stickiness.

" - } - }, - "documentation":"

Contains the parameters for CreateAppCookieStickinessPolicy.

" - }, - "CreateAppCookieStickinessPolicyOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output for CreateAppCookieStickinessPolicy.

" - }, - "CreateLBCookieStickinessPolicyInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "PolicyName" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy being created. Policy names must consist of alphanumeric characters and dashes (-). This name must be unique within the set of policies for this load balancer.

" - }, - "CookieExpirationPeriod":{ - "shape":"CookieExpirationPeriod", - "documentation":"

The time period, in seconds, after which the cookie should be considered stale. If you do not specify this parameter, the default value is 0, which indicates that the sticky session should last for the duration of the browser session.

" - } - }, - "documentation":"

Contains the parameters for CreateLBCookieStickinessPolicy.

" - }, - "CreateLBCookieStickinessPolicyOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output for CreateLBCookieStickinessPolicy.

" - }, - "CreateLoadBalancerListenerInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Listeners" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Listeners":{ - "shape":"Listeners", - "documentation":"

The listeners.

" - } - }, - "documentation":"

Contains the parameters for CreateLoadBalancerListeners.

" - }, - "CreateLoadBalancerListenerOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the parameters for CreateLoadBalancerListener.

" - }, - "CreateLoadBalancerPolicyInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "PolicyName", - "PolicyTypeName" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the load balancer policy to be created. This name must be unique within the set of policies for this load balancer.

" - }, - "PolicyTypeName":{ - "shape":"PolicyTypeName", - "documentation":"

The name of the base policy type. To get the list of policy types, use DescribeLoadBalancerPolicyTypes.

" - }, - "PolicyAttributes":{ - "shape":"PolicyAttributes", - "documentation":"

The policy attributes.

" - } - }, - "documentation":"

Contains the parameters for CreateLoadBalancerPolicy.

" - }, - "CreateLoadBalancerPolicyOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of CreateLoadBalancerPolicy.

" - }, - "CreatedTime":{"type":"timestamp"}, - "CrossZoneLoadBalancing":{ - "type":"structure", - "required":["Enabled"], - "members":{ - "Enabled":{ - "shape":"CrossZoneLoadBalancingEnabled", - "documentation":"

Specifies whether cross-zone load balancing is enabled for the load balancer.

" - } - }, - "documentation":"

Information about the CrossZoneLoadBalancing attribute.

" - }, - "CrossZoneLoadBalancingEnabled":{"type":"boolean"}, - "DNSName":{"type":"string"}, - "DefaultValue":{"type":"string"}, - "DeleteAccessPointInput":{ - "type":"structure", - "required":["LoadBalancerName"], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - } - }, - "documentation":"

Contains the parameters for DeleteLoadBalancer.

" - }, - "DeleteAccessPointOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of DeleteLoadBalancer.

" - }, - "DeleteLoadBalancerListenerInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "LoadBalancerPorts" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "LoadBalancerPorts":{ - "shape":"Ports", - "documentation":"

The client port numbers of the listeners.

" - } - }, - "documentation":"

Contains the parameters for DeleteLoadBalancerListeners.

" - }, - "DeleteLoadBalancerListenerOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of DeleteLoadBalancerListeners.

" - }, - "DeleteLoadBalancerPolicyInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "PolicyName" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

" - } - }, - "documentation":"

Contains the parameters for DeleteLoadBalancerPolicy.

" - }, - "DeleteLoadBalancerPolicyOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of DeleteLoadBalancerPolicy.

" - }, - "DependencyThrottleException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A request made by Elastic Load Balancing to another service exceeds the maximum request rate permitted for your account.

", - "error":{ - "code":"DependencyThrottle", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeregisterEndPointsInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Instances" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Instances":{ - "shape":"Instances", - "documentation":"

The IDs of the instances.

" - } - }, - "documentation":"

Contains the parameters for DeregisterInstancesFromLoadBalancer.

" - }, - "DeregisterEndPointsOutput":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"Instances", - "documentation":"

The remaining instances registered with the load balancer.

" - } - }, - "documentation":"

Contains the output of DeregisterInstancesFromLoadBalancer.

" - }, - "DescribeAccessPointsInput":{ - "type":"structure", - "members":{ - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

The names of the load balancers.

" - }, - "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 (a number from 1 to 400). The default is 400.

" - } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancers.

" - }, - "DescribeAccessPointsOutput":{ - "type":"structure", - "members":{ - "LoadBalancerDescriptions":{ - "shape":"LoadBalancerDescriptions", - "documentation":"

Information about the load balancers.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - }, - "documentation":"

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"], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Instances":{ - "shape":"Instances", - "documentation":"

The IDs of the instances.

" - } - }, - "documentation":"

Contains the parameters for DescribeInstanceHealth.

" - }, - "DescribeEndPointStateOutput":{ - "type":"structure", - "members":{ - "InstanceStates":{ - "shape":"InstanceStates", - "documentation":"

Information about the health of the instances.

" - } - }, - "documentation":"

Contains the output for DescribeInstanceHealth.

" - }, - "DescribeLoadBalancerAttributesInput":{ - "type":"structure", - "required":["LoadBalancerName"], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerAttributes.

" - }, - "DescribeLoadBalancerAttributesOutput":{ - "type":"structure", - "members":{ - "LoadBalancerAttributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

Information about the load balancer attributes.

" - } - }, - "documentation":"

Contains the output of DescribeLoadBalancerAttributes.

" - }, - "DescribeLoadBalancerPoliciesInput":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The names of the policies.

" - } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerPolicies.

" - }, - "DescribeLoadBalancerPoliciesOutput":{ - "type":"structure", - "members":{ - "PolicyDescriptions":{ - "shape":"PolicyDescriptions", - "documentation":"

Information about the policies.

" - } - }, - "documentation":"

Contains the output of DescribeLoadBalancerPolicies.

" - }, - "DescribeLoadBalancerPolicyTypesInput":{ - "type":"structure", - "members":{ - "PolicyTypeNames":{ - "shape":"PolicyTypeNames", - "documentation":"

The names of the policy types. If no names are specified, describes all policy types defined by Elastic Load Balancing.

" - } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerPolicyTypes.

" - }, - "DescribeLoadBalancerPolicyTypesOutput":{ - "type":"structure", - "members":{ - "PolicyTypeDescriptions":{ - "shape":"PolicyTypeDescriptions", - "documentation":"

Information about the policy types.

" - } - }, - "documentation":"

Contains the output of DescribeLoadBalancerPolicyTypes.

" - }, - "DescribeTagsInput":{ - "type":"structure", - "required":["LoadBalancerNames"], - "members":{ - "LoadBalancerNames":{ - "shape":"LoadBalancerNamesMax20", - "documentation":"

The names of the load balancers.

" - } - }, - "documentation":"

Contains the parameters for DescribeTags.

" - }, - "DescribeTagsOutput":{ - "type":"structure", - "members":{ - "TagDescriptions":{ - "shape":"TagDescriptions", - "documentation":"

Information about the tags.

" - } - }, - "documentation":"

Contains the output for DescribeTags.

" - }, - "Description":{"type":"string"}, - "DetachLoadBalancerFromSubnetsInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Subnets" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the subnets.

" - } - }, - "documentation":"

Contains the parameters for DetachLoadBalancerFromSubnets.

" - }, - "DetachLoadBalancerFromSubnetsOutput":{ - "type":"structure", - "members":{ - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the remaining subnets for the load balancer.

" - } - }, - "documentation":"

Contains the output of DetachLoadBalancerFromSubnets.

" - }, - "DuplicateAccessPointNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified load balancer name already exists for this account.

", - "error":{ - "code":"DuplicateLoadBalancerName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicateListenerException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A listener already exists for the specified load balancer name and port, but with a different instance port, protocol, or SSL certificate.

", - "error":{ - "code":"DuplicateListener", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicatePolicyNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A policy with the specified name already exists for this load balancer.

", - "error":{ - "code":"DuplicatePolicyName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicateTagKeysException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A tag key was specified more than once.

", - "error":{ - "code":"DuplicateTagKeys", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EndPointPort":{"type":"integer"}, - "HealthCheck":{ - "type":"structure", - "required":[ - "Target", - "Interval", - "Timeout", - "UnhealthyThreshold", - "HealthyThreshold" - ], - "members":{ - "Target":{ - "shape":"HealthCheckTarget", - "documentation":"

The instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535.

TCP is the default, specified as a TCP: port pair, for example \"TCP:5000\". In this case, a health check simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy.

SSL is also specified as SSL: port pair, for example, SSL:5000.

For HTTP/HTTPS, you must include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example \"HTTP:80/weather/us/wa/seattle\". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than \"200 OK\" within the timeout period is considered unhealthy.

The total length of the HTTP ping target must be 1024 16-bit Unicode characters or less.

" - }, - "Interval":{ - "shape":"HealthCheckInterval", - "documentation":"

The approximate interval, in seconds, between health checks of an individual instance.

" - }, - "Timeout":{ - "shape":"HealthCheckTimeout", - "documentation":"

The amount of time, in seconds, during which no response means a failed health check.

This value must be less than the Interval value.

" - }, - "UnhealthyThreshold":{ - "shape":"UnhealthyThreshold", - "documentation":"

The number of consecutive health check failures required before moving the instance to the Unhealthy state.

" - }, - "HealthyThreshold":{ - "shape":"HealthyThreshold", - "documentation":"

The number of consecutive health checks successes required before moving the instance to the Healthy state.

" - } - }, - "documentation":"

Information about a health check.

" - }, - "HealthCheckInterval":{ - "type":"integer", - "max":300, - "min":5 - }, - "HealthCheckTarget":{"type":"string"}, - "HealthCheckTimeout":{ - "type":"integer", - "max":60, - "min":2 - }, - "HealthyThreshold":{ - "type":"integer", - "max":10, - "min":2 - }, - "IdleTimeout":{ - "type":"integer", - "max":3600, - "min":1 - }, - "Instance":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - } - }, - "documentation":"

The ID of an EC2 instance.

" - }, - "InstanceId":{"type":"string"}, - "InstancePort":{ - "type":"integer", - "max":65535, - "min":1 - }, - "InstanceState":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "State":{ - "shape":"State", - "documentation":"

The current state of the instance.

Valid values: InService | OutOfService | Unknown

" - }, - "ReasonCode":{ - "shape":"ReasonCode", - "documentation":"

Information about the cause of OutOfService instances. Specifically, whether the cause is Elastic Load Balancing or the instance.

Valid values: ELB | Instance | N/A

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the instance state. This string can contain one or more of the following messages.

  • N/A

  • A transient error occurred. Please try again later.

  • Instance has failed at least the UnhealthyThreshold number of health checks consecutively.

  • Instance has not passed the configured HealthyThreshold number of health checks consecutively.

  • Instance registration is still in progress.

  • Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.

  • Instance is not currently registered with the LoadBalancer.

  • Instance deregistration currently in progress.

  • Disable Availability Zone is currently in progress.

  • Instance is in pending state.

  • Instance is in stopped state.

  • Instance is in terminated state.

" - } - }, - "documentation":"

Information about the state of an EC2 instance.

" - }, - "InstanceStates":{ - "type":"list", - "member":{"shape":"InstanceState"} - }, - "Instances":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InvalidConfigurationRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested configuration change is not valid.

", - "error":{ - "code":"InvalidConfigurationRequest", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "InvalidEndPointException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified endpoint is not valid.

", - "error":{ - "code":"InvalidInstance", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSchemeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified value for the schema is not valid. You can only specify a scheme for load balancers in a VPC.

", - "error":{ - "code":"InvalidScheme", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSecurityGroupException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more of the specified security groups do not exist.

", - "error":{ - "code":"InvalidSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnetException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified VPC has no associated Internet gateway.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LBCookieStickinessPolicies":{ - "type":"list", - "member":{"shape":"LBCookieStickinessPolicy"} - }, - "LBCookieStickinessPolicy":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy. This name must be unique within the set of policies for this load balancer.

" - }, - "CookieExpirationPeriod":{ - "shape":"CookieExpirationPeriod", - "documentation":"

The time period, in seconds, after which the cookie should be considered stale. If this parameter is not specified, the stickiness session lasts for the duration of the browser session.

" - } - }, - "documentation":"

Information about a policy for duration-based session stickiness.

" - }, - "Limit":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the limit. The possible values are:

  • classic-listeners

  • classic-load-balancers

  • classic-registered-instances

" - }, - "Max":{ - "shape":"Max", - "documentation":"

The maximum value of the limit.

" - } - }, - "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" - }, - "Limits":{ - "type":"list", - "member":{"shape":"Limit"} - }, - "Listener":{ - "type":"structure", - "required":[ - "Protocol", - "LoadBalancerPort", - "InstancePort" - ], - "members":{ - "Protocol":{ - "shape":"Protocol", - "documentation":"

The load balancer transport protocol to use for routing: HTTP, HTTPS, TCP, or SSL.

" - }, - "LoadBalancerPort":{ - "shape":"AccessPointPort", - "documentation":"

The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535.

" - }, - "InstanceProtocol":{ - "shape":"Protocol", - "documentation":"

The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or SSL.

If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must be at the same protocol.

If there is another listener with the same InstancePort whose InstanceProtocol is secure, (HTTPS or SSL), the listener's InstanceProtocol must also be secure.

If there is another listener with the same InstancePort whose InstanceProtocol is HTTP or TCP, the listener's InstanceProtocol must be HTTP or TCP.

" - }, - "InstancePort":{ - "shape":"InstancePort", - "documentation":"

The port on which the instance is listening.

" - }, - "SSLCertificateId":{ - "shape":"SSLCertificateId", - "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.

" - }, - "ListenerDescription":{ - "type":"structure", - "members":{ - "Listener":{ - "shape":"Listener", - "documentation":"

The listener.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The policies. If there are no policies enabled, the list is empty.

" - } - }, - "documentation":"

The policies enabled for a listener.

" - }, - "ListenerDescriptions":{ - "type":"list", - "member":{"shape":"ListenerDescription"} - }, - "ListenerNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The load balancer does not have a listener configured at the specified port.

", - "error":{ - "code":"ListenerNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Listeners":{ - "type":"list", - "member":{"shape":"Listener"} - }, - "LoadBalancerAttributeNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified load balancer attribute does not exist.

", - "error":{ - "code":"LoadBalancerAttributeNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LoadBalancerAttributes":{ - "type":"structure", - "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.

" - }, - "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.

" - }, - "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.

" - }, - "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.

" - }, - "AdditionalAttributes":{ - "shape":"AdditionalAttributes", - "documentation":"

This parameter is reserved.

" - } - }, - "documentation":"

The attributes for a load balancer.

" - }, - "LoadBalancerDescription":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "DNSName":{ - "shape":"DNSName", - "documentation":"

The DNS name of the load balancer.

" - }, - "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.

" - }, - "CanonicalHostedZoneNameID":{ - "shape":"DNSName", - "documentation":"

The ID of the Amazon Route 53 hosted zone for the load balancer.

" - }, - "ListenerDescriptions":{ - "shape":"ListenerDescriptions", - "documentation":"

The listeners for the load balancer.

" - }, - "Policies":{ - "shape":"Policies", - "documentation":"

The policies defined for the load balancer.

" - }, - "BackendServerDescriptions":{ - "shape":"BackendServerDescriptions", - "documentation":"

Information about your EC2 instances.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The Availability Zones for the load balancer.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the subnets for the load balancer.

" - }, - "VPCId":{ - "shape":"VPCId", - "documentation":"

The ID of the VPC for the load balancer.

" - }, - "Instances":{ - "shape":"Instances", - "documentation":"

The IDs of the instances for the load balancer.

" - }, - "HealthCheck":{ - "shape":"HealthCheck", - "documentation":"

Information about the health checks conducted on the load balancer.

" - }, - "SourceSecurityGroup":{ - "shape":"SourceSecurityGroup", - "documentation":"

The security group for the load balancer, which you can use as part of your inbound rules for your registered instances. To only allow traffic from load balancers, add a security group rule that specifies this source security group as the inbound source.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The security groups for the load balancer. Valid only for load balancers in a VPC.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The date and time the load balancer was created.

" - }, - "Scheme":{ - "shape":"LoadBalancerScheme", - "documentation":"

The type of load balancer. Valid only for load balancers in a VPC.

If Scheme is internet-facing, the load balancer has a public DNS name that resolves to a public IP address.

If Scheme is internal, the load balancer has a public DNS name that resolves to a private IP address.

" - } - }, - "documentation":"

Information about a load balancer.

" - }, - "LoadBalancerDescriptions":{ - "type":"list", - "member":{"shape":"LoadBalancerDescription"} - }, - "LoadBalancerNames":{ - "type":"list", - "member":{"shape":"AccessPointName"} - }, - "LoadBalancerNamesMax20":{ - "type":"list", - "member":{"shape":"AccessPointName"}, - "max":20, - "min":1 - }, - "LoadBalancerScheme":{"type":"string"}, - "Marker":{"type":"string"}, - "Max":{"type":"string"}, - "ModifyLoadBalancerAttributesInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "LoadBalancerAttributes" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "LoadBalancerAttributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

The attributes for the load balancer.

" - } - }, - "documentation":"

Contains the parameters for ModifyLoadBalancerAttributes.

" - }, - "ModifyLoadBalancerAttributesOutput":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "LoadBalancerAttributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

Information about the load balancer attributes.

" - } - }, - "documentation":"

Contains the output of ModifyLoadBalancerAttributes.

" - }, - "Name":{"type":"string"}, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This operation is not allowed.

", - "error":{ - "code":"OperationNotPermitted", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PageSize":{ - "type":"integer", - "max":400, - "min":1 - }, - "Policies":{ - "type":"structure", - "members":{ - "AppCookieStickinessPolicies":{ - "shape":"AppCookieStickinessPolicies", - "documentation":"

The stickiness policies created using CreateAppCookieStickinessPolicy.

" - }, - "LBCookieStickinessPolicies":{ - "shape":"LBCookieStickinessPolicies", - "documentation":"

The stickiness policies created using CreateLBCookieStickinessPolicy.

" - }, - "OtherPolicies":{ - "shape":"PolicyNames", - "documentation":"

The policies other than the stickiness policies.

" - } - }, - "documentation":"

The policies for a load balancer.

" - }, - "PolicyAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - }, - "AttributeValue":{ - "shape":"AttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Information about a policy attribute.

" - }, - "PolicyAttributeDescription":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - }, - "AttributeValue":{ - "shape":"AttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Information about a policy attribute.

" - }, - "PolicyAttributeDescriptions":{ - "type":"list", - "member":{"shape":"PolicyAttributeDescription"} - }, - "PolicyAttributeTypeDescription":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute.

" - }, - "AttributeType":{ - "shape":"AttributeType", - "documentation":"

The type of the attribute. For example, Boolean or Integer.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the attribute.

" - }, - "DefaultValue":{ - "shape":"DefaultValue", - "documentation":"

The default value of the attribute, if applicable.

" - }, - "Cardinality":{ - "shape":"Cardinality", - "documentation":"

The cardinality of the attribute.

Valid values:

  • ONE(1) : Single value required

  • ZERO_OR_ONE(0..1) : Up to one value is allowed

  • ZERO_OR_MORE(0..*) : Optional. Multiple values are allowed

  • ONE_OR_MORE(1..*0) : Required. Multiple values are allowed

" - } - }, - "documentation":"

Information about a policy attribute type.

" - }, - "PolicyAttributeTypeDescriptions":{ - "type":"list", - "member":{"shape":"PolicyAttributeTypeDescription"} - }, - "PolicyAttributes":{ - "type":"list", - "member":{"shape":"PolicyAttribute"} - }, - "PolicyDescription":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

" - }, - "PolicyTypeName":{ - "shape":"PolicyTypeName", - "documentation":"

The name of the policy type.

" - }, - "PolicyAttributeDescriptions":{ - "shape":"PolicyAttributeDescriptions", - "documentation":"

The policy attributes.

" - } - }, - "documentation":"

Information about a policy.

" - }, - "PolicyDescriptions":{ - "type":"list", - "member":{"shape":"PolicyDescription"} - }, - "PolicyName":{"type":"string"}, - "PolicyNames":{ - "type":"list", - "member":{"shape":"PolicyName"} - }, - "PolicyNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more of the specified policies do not exist.

", - "error":{ - "code":"PolicyNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PolicyTypeDescription":{ - "type":"structure", - "members":{ - "PolicyTypeName":{ - "shape":"PolicyTypeName", - "documentation":"

The name of the policy type.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the policy type.

" - }, - "PolicyAttributeTypeDescriptions":{ - "shape":"PolicyAttributeTypeDescriptions", - "documentation":"

The description of the policy attributes associated with the policies defined by Elastic Load Balancing.

" - } - }, - "documentation":"

Information about a policy type.

" - }, - "PolicyTypeDescriptions":{ - "type":"list", - "member":{"shape":"PolicyTypeDescription"} - }, - "PolicyTypeName":{"type":"string"}, - "PolicyTypeNames":{ - "type":"list", - "member":{"shape":"PolicyTypeName"} - }, - "PolicyTypeNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more of the specified policy types do not exist.

", - "error":{ - "code":"PolicyTypeNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Ports":{ - "type":"list", - "member":{"shape":"AccessPointPort"} - }, - "Protocol":{"type":"string"}, - "ReasonCode":{"type":"string"}, - "RegisterEndPointsInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "Instances" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Instances":{ - "shape":"Instances", - "documentation":"

The IDs of the instances.

" - } - }, - "documentation":"

Contains the parameters for RegisterInstancesWithLoadBalancer.

" - }, - "RegisterEndPointsOutput":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"Instances", - "documentation":"

The updated list of instances for the load balancer.

" - } - }, - "documentation":"

Contains the output of RegisterInstancesWithLoadBalancer.

" - }, - "RemoveAvailabilityZonesInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "AvailabilityZones" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The Availability Zones.

" - } - }, - "documentation":"

Contains the parameters for DisableAvailabilityZonesForLoadBalancer.

" - }, - "RemoveAvailabilityZonesOutput":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The remaining Availability Zones for the load balancer.

" - } - }, - "documentation":"

Contains the output for DisableAvailabilityZonesForLoadBalancer.

" - }, - "RemoveTagsInput":{ - "type":"structure", - "required":[ - "LoadBalancerNames", - "Tags" - ], - "members":{ - "LoadBalancerNames":{ - "shape":"LoadBalancerNames", - "documentation":"

The name of the load balancer. You can specify a maximum of one load balancer name.

" - }, - "Tags":{ - "shape":"TagKeyList", - "documentation":"

The list of tag keys to remove.

" - } - }, - "documentation":"

Contains the parameters for RemoveTags.

" - }, - "RemoveTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of RemoveTags.

" - }, - "S3BucketName":{"type":"string"}, - "SSLCertificateId":{"type":"string"}, - "SecurityGroupId":{"type":"string"}, - "SecurityGroupName":{"type":"string"}, - "SecurityGroupOwnerAlias":{"type":"string"}, - "SecurityGroups":{ - "type":"list", - "member":{"shape":"SecurityGroupId"} - }, - "SetLoadBalancerListenerSSLCertificateInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "LoadBalancerPort", - "SSLCertificateId" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "LoadBalancerPort":{ - "shape":"AccessPointPort", - "documentation":"

The port that uses the specified SSL certificate.

" - }, - "SSLCertificateId":{ - "shape":"SSLCertificateId", - "documentation":"

The Amazon Resource Name (ARN) of the SSL certificate.

" - } - }, - "documentation":"

Contains the parameters for SetLoadBalancerListenerSSLCertificate.

" - }, - "SetLoadBalancerListenerSSLCertificateOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of SetLoadBalancerListenerSSLCertificate.

" - }, - "SetLoadBalancerPoliciesForBackendServerInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "InstancePort", - "PolicyNames" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "InstancePort":{ - "shape":"EndPointPort", - "documentation":"

The port number associated with the EC2 instance.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The names of the policies. If the list is empty, then all current polices are removed from the EC2 instance.

" - } - }, - "documentation":"

Contains the parameters for SetLoadBalancerPoliciesForBackendServer.

" - }, - "SetLoadBalancerPoliciesForBackendServerOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of SetLoadBalancerPoliciesForBackendServer.

" - }, - "SetLoadBalancerPoliciesOfListenerInput":{ - "type":"structure", - "required":[ - "LoadBalancerName", - "LoadBalancerPort", - "PolicyNames" - ], - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "LoadBalancerPort":{ - "shape":"AccessPointPort", - "documentation":"

The external port of the load balancer.

" - }, - "PolicyNames":{ - "shape":"PolicyNames", - "documentation":"

The names of the policies. This list must include all policies to be enabled. If you omit a policy that is currently enabled, it is disabled. If the list is empty, all current policies are disabled.

" - } - }, - "documentation":"

Contains the parameters for SetLoadBalancePoliciesOfListener.

" - }, - "SetLoadBalancerPoliciesOfListenerOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

Contains the output of SetLoadBalancePoliciesOfListener.

" - }, - "SourceSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerAlias":{ - "shape":"SecurityGroupOwnerAlias", - "documentation":"

The owner of the security group.

" - }, - "GroupName":{ - "shape":"SecurityGroupName", - "documentation":"

The name of the security group.

" - } - }, - "documentation":"

Information about a source security group.

" - }, - "State":{"type":"string"}, - "SubnetId":{"type":"string"}, - "SubnetNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more of the specified subnets do not exist.

", - "error":{ - "code":"SubnetNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Subnets":{ - "type":"list", - "member":{"shape":"SubnetId"} - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Information about a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "LoadBalancerName":{ - "shape":"AccessPointName", - "documentation":"

The name of the load balancer.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags.

" - } - }, - "documentation":"

The tags associated with a load balancer.

" - }, - "TagDescriptions":{ - "type":"list", - "member":{"shape":"TagDescription"} - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKeyOnly"}, - "min":1 - }, - "TagKeyOnly":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The name of the key.

" - } - }, - "documentation":"

The key of a tag.

" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TooManyAccessPointsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for the number of load balancers has been reached.

", - "error":{ - "code":"TooManyLoadBalancers", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyPoliciesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for the number of policies for this load balancer has been reached.

", - "error":{ - "code":"TooManyPolicies", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for the number of tags that can be assigned to a load balancer has been reached.

", - "error":{ - "code":"TooManyTags", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UnhealthyThreshold":{ - "type":"integer", - "max":10, - "min":2 - }, - "UnsupportedProtocolException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified protocol or signature version is not supported.

", - "error":{ - "code":"UnsupportedProtocol", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "VPCId":{"type":"string"} - }, - "documentation":"Elastic Load Balancing

A load balancer can distribute incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. You can select a load balancer based on your application needs. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/waiters-2.json deleted file mode 100644 index 182e070b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elb/2012-06-01/waiters-2.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "version":2, - "waiters":{ - "InstanceDeregistered": { - "delay": 15, - "operation": "DescribeInstanceHealth", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "OutOfService", - "matcher": "pathAll", - "state": "success", - "argument": "InstanceStates[].State" - }, - { - "matcher": "error", - "expected": "InvalidInstance", - "state": "success" - } - ] - }, - "AnyInstanceInService":{ - "acceptors":[ - { - "argument":"InstanceStates[].State", - "expected":"InService", - "matcher":"pathAny", - "state":"success" - } - ], - "delay":15, - "maxAttempts":40, - "operation":"DescribeInstanceHealth" - }, - "InstanceInService":{ - "acceptors":[ - { - "argument":"InstanceStates[].State", - "expected":"InService", - "matcher":"pathAll", - "state":"success" - }, - { - "matcher": "error", - "expected": "InvalidInstance", - "state": "retry" - } - ], - "delay":15, - "maxAttempts":40, - "operation":"DescribeInstanceHealth" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/examples-1.json deleted file mode 100644 index 508b0991..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/examples-1.json +++ /dev/null @@ -1,1384 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/paginators-1.json deleted file mode 100644 index 138d1763..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "DescribeLoadBalancers": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "PageSize", - "result_key": "LoadBalancers" - }, - "DescribeTargetGroups": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "PageSize", - "result_key": "TargetGroups" - }, - "DescribeListeners": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "PageSize", - "result_key": "Listeners" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/service-2.json deleted file mode 100644 index 18ff0a86..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/service-2.json +++ /dev/null @@ -1,3095 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-12-01", - "endpointPrefix":"elasticloadbalancing", - "protocol":"query", - "serviceAbbreviation":"Elastic Load Balancing v2", - "serviceFullName":"Elastic Load Balancing", - "serviceId":"Elastic Load Balancing v2", - "signatureVersion":"v4", - "uid":"elasticloadbalancingv2-2015-12-01", - "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/" - }, - "operations":{ - "AddListenerCertificates":{ - "name":"AddListenerCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddListenerCertificatesInput"}, - "output":{ - "shape":"AddListenerCertificatesOutput", - "resultWrapper":"AddListenerCertificatesResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"}, - {"shape":"TooManyCertificatesException"}, - {"shape":"CertificateNotFoundException"} - ], - "documentation":"

Adds the specified certificate to the specified secure listener.

If the certificate was already added, the call is successful but the certificate is not added again.

To list the certificates for your listener, use DescribeListenerCertificates. To remove certificates from your listener, use RemoveListenerCertificates.

" - }, - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsInput"}, - "output":{ - "shape":"AddTagsOutput", - "resultWrapper":"AddTagsResult" - }, - "errors":[ - {"shape":"DuplicateTagKeysException"}, - {"shape":"TooManyTagsException"}, - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"} - ], - "documentation":"

Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.

" - }, - "CreateListener":{ - "name":"CreateListener", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateListenerInput"}, - "output":{ - "shape":"CreateListenerOutput", - "resultWrapper":"CreateListenerResult" - }, - "errors":[ - {"shape":"DuplicateListenerException"}, - {"shape":"TooManyListenersException"}, - {"shape":"TooManyCertificatesException"}, - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"TargetGroupAssociationLimitException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"IncompatibleProtocolsException"}, - {"shape":"SSLPolicyNotFoundException"}, - {"shape":"CertificateNotFoundException"}, - {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"}, - {"shape":"TooManyActionsException"}, - {"shape":"InvalidLoadBalancerActionException"} - ], - "documentation":"

Creates a listener for the specified Application Load Balancer or Network Load Balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

" - }, - "CreateLoadBalancer":{ - "name":"CreateLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoadBalancerInput"}, - "output":{ - "shape":"CreateLoadBalancerOutput", - "resultWrapper":"CreateLoadBalancerResult" - }, - "errors":[ - {"shape":"DuplicateLoadBalancerNameException"}, - {"shape":"TooManyLoadBalancersException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"SubnetNotFoundException"}, - {"shape":"InvalidSubnetException"}, - {"shape":"InvalidSecurityGroupException"}, - {"shape":"InvalidSchemeException"}, - {"shape":"TooManyTagsException"}, - {"shape":"DuplicateTagKeysException"}, - {"shape":"ResourceInUseException"}, - {"shape":"AllocationIdNotFoundException"}, - {"shape":"AvailabilityZoneNotSupportedException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.

" - }, - "CreateRule":{ - "name":"CreateRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRuleInput"}, - "output":{ - "shape":"CreateRuleOutput", - "resultWrapper":"CreateRuleResult" - }, - "errors":[ - {"shape":"PriorityInUseException"}, - {"shape":"TooManyTargetGroupsException"}, - {"shape":"TooManyRulesException"}, - {"shape":"TargetGroupAssociationLimitException"}, - {"shape":"IncompatibleProtocolsException"}, - {"shape":"ListenerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"}, - {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyActionsException"}, - {"shape":"InvalidLoadBalancerActionException"} - ], - "documentation":"

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

" - }, - "CreateTargetGroup":{ - "name":"CreateTargetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTargetGroupInput"}, - "output":{ - "shape":"CreateTargetGroupOutput", - "resultWrapper":"CreateTargetGroupResult" - }, - "errors":[ - {"shape":"DuplicateTargetGroupNameException"}, - {"shape":"TooManyTargetGroupsException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.

" - }, - "DeleteListener":{ - "name":"DeleteListener", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteListenerInput"}, - "output":{ - "shape":"DeleteListenerOutput", - "resultWrapper":"DeleteListenerResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"} - ], - "documentation":"

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.

" - }, - "DeleteLoadBalancer":{ - "name":"DeleteLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoadBalancerInput"}, - "output":{ - "shape":"DeleteLoadBalancerOutput", - "resultWrapper":"DeleteLoadBalancerResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

" - }, - "DeleteRule":{ - "name":"DeleteRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleInput"}, - "output":{ - "shape":"DeleteRuleOutput", - "resultWrapper":"DeleteRuleResult" - }, - "errors":[ - {"shape":"RuleNotFoundException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Deletes the specified rule.

" - }, - "DeleteTargetGroup":{ - "name":"DeleteTargetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTargetGroupInput"}, - "output":{ - "shape":"DeleteTargetGroupOutput", - "resultWrapper":"DeleteTargetGroupResult" - }, - "errors":[ - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes the specified target group.

You can delete a target group if it is not referenced by any actions. Deleting a target group also deletes any associated health checks.

" - }, - "DeregisterTargets":{ - "name":"DeregisterTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterTargetsInput"}, - "output":{ - "shape":"DeregisterTargetsOutput", - "resultWrapper":"DeregisterTargetsResult" - }, - "errors":[ - {"shape":"TargetGroupNotFoundException"}, - {"shape":"InvalidTargetException"} - ], - "documentation":"

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

" - }, - "DescribeAccountLimits":{ - "name":"DescribeAccountLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountLimitsInput"}, - "output":{ - "shape":"DescribeAccountLimitsOutput", - "resultWrapper":"DescribeAccountLimitsResult" - }, - "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.

" - }, - "DescribeListenerCertificates":{ - "name":"DescribeListenerCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeListenerCertificatesInput"}, - "output":{ - "shape":"DescribeListenerCertificatesOutput", - "resultWrapper":"DescribeListenerCertificatesResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"} - ], - "documentation":"

Describes the certificates for the specified secure listener.

" - }, - "DescribeListeners":{ - "name":"DescribeListeners", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeListenersInput"}, - "output":{ - "shape":"DescribeListenersOutput", - "resultWrapper":"DescribeListenersResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"}, - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"UnsupportedProtocolException"} - ], - "documentation":"

Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.

" - }, - "DescribeLoadBalancerAttributes":{ - "name":"DescribeLoadBalancerAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancerAttributesInput"}, - "output":{ - "shape":"DescribeLoadBalancerAttributesOutput", - "resultWrapper":"DescribeLoadBalancerAttributesResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"} - ], - "documentation":"

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.

" - }, - "DescribeLoadBalancers":{ - "name":"DescribeLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBalancersInput"}, - "output":{ - "shape":"DescribeLoadBalancersOutput", - "resultWrapper":"DescribeLoadBalancersResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"} - ], - "documentation":"

Describes the specified load balancers or all of your load balancers.

To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.

" - }, - "DescribeRules":{ - "name":"DescribeRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRulesInput"}, - "output":{ - "shape":"DescribeRulesOutput", - "resultWrapper":"DescribeRulesResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"}, - {"shape":"UnsupportedProtocolException"} - ], - "documentation":"

Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules.

" - }, - "DescribeSSLPolicies":{ - "name":"DescribeSSLPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSSLPoliciesInput"}, - "output":{ - "shape":"DescribeSSLPoliciesOutput", - "resultWrapper":"DescribeSSLPoliciesResult" - }, - "errors":[ - {"shape":"SSLPolicyNotFoundException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsInput"}, - "output":{ - "shape":"DescribeTagsOutput", - "resultWrapper":"DescribeTagsResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"} - ], - "documentation":"

Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups.

" - }, - "DescribeTargetGroupAttributes":{ - "name":"DescribeTargetGroupAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTargetGroupAttributesInput"}, - "output":{ - "shape":"DescribeTargetGroupAttributesOutput", - "resultWrapper":"DescribeTargetGroupAttributesResult" - }, - "errors":[ - {"shape":"TargetGroupNotFoundException"} - ], - "documentation":"

Describes the attributes for the specified target group.

For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide.

" - }, - "DescribeTargetGroups":{ - "name":"DescribeTargetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTargetGroupsInput"}, - "output":{ - "shape":"DescribeTargetGroupsOutput", - "resultWrapper":"DescribeTargetGroupsResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"} - ], - "documentation":"

Describes the specified target groups or all of your target groups. By default, all target groups are described. Alternatively, you can specify one of the following to filter the results: the ARN of the load balancer, the names of one or more target groups, or the ARNs of one or more target groups.

To describe the targets for a target group, use DescribeTargetHealth. To describe the attributes of a target group, use DescribeTargetGroupAttributes.

" - }, - "DescribeTargetHealth":{ - "name":"DescribeTargetHealth", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTargetHealthInput"}, - "output":{ - "shape":"DescribeTargetHealthOutput", - "resultWrapper":"DescribeTargetHealthResult" - }, - "errors":[ - {"shape":"InvalidTargetException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"HealthUnavailableException"} - ], - "documentation":"

Describes the health of the specified targets or all of your targets.

" - }, - "ModifyListener":{ - "name":"ModifyListener", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyListenerInput"}, - "output":{ - "shape":"ModifyListenerOutput", - "resultWrapper":"ModifyListenerResult" - }, - "errors":[ - {"shape":"DuplicateListenerException"}, - {"shape":"TooManyListenersException"}, - {"shape":"TooManyCertificatesException"}, - {"shape":"ListenerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"TargetGroupAssociationLimitException"}, - {"shape":"IncompatibleProtocolsException"}, - {"shape":"SSLPolicyNotFoundException"}, - {"shape":"CertificateNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"}, - {"shape":"TooManyActionsException"}, - {"shape":"InvalidLoadBalancerActionException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyLoadBalancerAttributesInput"}, - "output":{ - "shape":"ModifyLoadBalancerAttributesOutput", - "resultWrapper":"ModifyLoadBalancerAttributesResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

" - }, - "ModifyRule":{ - "name":"ModifyRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyRuleInput"}, - "output":{ - "shape":"ModifyRuleOutput", - "resultWrapper":"ModifyRuleResult" - }, - "errors":[ - {"shape":"TargetGroupAssociationLimitException"}, - {"shape":"IncompatibleProtocolsException"}, - {"shape":"RuleNotFoundException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"TooManyRegistrationsForTargetIdException"}, - {"shape":"TooManyTargetsException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyActionsException"}, - {"shape":"InvalidLoadBalancerActionException"} - ], - "documentation":"

Modifies the specified rule.

Any existing properties that you do not modify retain their current values.

To modify the actions for the default rule, use ModifyListener.

" - }, - "ModifyTargetGroup":{ - "name":"ModifyTargetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyTargetGroupInput"}, - "output":{ - "shape":"ModifyTargetGroupOutput", - "resultWrapper":"ModifyTargetGroupResult" - }, - "errors":[ - {"shape":"TargetGroupNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Modifies the health checks used when evaluating the health state of the targets in the specified target group.

To monitor the health of the targets, use DescribeTargetHealth.

" - }, - "ModifyTargetGroupAttributes":{ - "name":"ModifyTargetGroupAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyTargetGroupAttributesInput"}, - "output":{ - "shape":"ModifyTargetGroupAttributesOutput", - "resultWrapper":"ModifyTargetGroupAttributesResult" - }, - "errors":[ - {"shape":"TargetGroupNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"} - ], - "documentation":"

Modifies the specified attributes of the specified target group.

" - }, - "RegisterTargets":{ - "name":"RegisterTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterTargetsInput"}, - "output":{ - "shape":"RegisterTargetsOutput", - "resultWrapper":"RegisterTargetsResult" - }, - "errors":[ - {"shape":"TargetGroupNotFoundException"}, - {"shape":"TooManyTargetsException"}, - {"shape":"InvalidTargetException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} - ], - "documentation":"

Registers the specified targets with the specified target group.

You can register targets by instance ID or by IP address. If the target is an EC2 instance, it must be in the running state when you register it.

By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports.

With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address.

To remove a target from a target group, use DeregisterTargets.

" - }, - "RemoveListenerCertificates":{ - "name":"RemoveListenerCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveListenerCertificatesInput"}, - "output":{ - "shape":"RemoveListenerCertificatesOutput", - "resultWrapper":"RemoveListenerCertificatesResult" - }, - "errors":[ - {"shape":"ListenerNotFoundException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Removes the specified certificate from the specified secure listener.

You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener.

To list the certificates for your listener, use DescribeListenerCertificates.

" - }, - "RemoveTags":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsInput"}, - "output":{ - "shape":"RemoveTagsOutput", - "resultWrapper":"RemoveTagsResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"TargetGroupNotFoundException"}, - {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"}, - {"shape":"TooManyTagsException"} - ], - "documentation":"

Removes the specified tags from the specified Elastic Load Balancing resource.

To list the current tags for your resources, use DescribeTags.

" - }, - "SetIpAddressType":{ - "name":"SetIpAddressType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIpAddressTypeInput"}, - "output":{ - "shape":"SetIpAddressTypeOutput", - "resultWrapper":"SetIpAddressTypeResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"InvalidSubnetException"} - ], - "documentation":"

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.

Network Load Balancers must use ipv4.

" - }, - "SetRulePriorities":{ - "name":"SetRulePriorities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetRulePrioritiesInput"}, - "output":{ - "shape":"SetRulePrioritiesOutput", - "resultWrapper":"SetRulePrioritiesResult" - }, - "errors":[ - {"shape":"RuleNotFoundException"}, - {"shape":"PriorityInUseException"}, - {"shape":"OperationNotPermittedException"} - ], - "documentation":"

Sets the priorities of the specified rules.

You can reorder the rules as long as there are no priority conflicts in the new order. Any existing rules that you do not specify retain their current priority.

" - }, - "SetSecurityGroups":{ - "name":"SetSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetSecurityGroupsInput"}, - "output":{ - "shape":"SetSecurityGroupsOutput", - "resultWrapper":"SetSecurityGroupsResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"InvalidSecurityGroupException"} - ], - "documentation":"

Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.

You can't specify a security group for a Network Load Balancer.

" - }, - "SetSubnets":{ - "name":"SetSubnets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetSubnetsInput"}, - "output":{ - "shape":"SetSubnetsOutput", - "resultWrapper":"SetSubnetsResult" - }, - "errors":[ - {"shape":"LoadBalancerNotFoundException"}, - {"shape":"InvalidConfigurationRequestException"}, - {"shape":"SubnetNotFoundException"}, - {"shape":"InvalidSubnetException"}, - {"shape":"AllocationIdNotFoundException"}, - {"shape":"AvailabilityZoneNotSupportedException"} - ], - "documentation":"

Enables the Availability Zone for the specified public subnets for the specified Application Load Balancer. The specified subnets replace the previously enabled subnets.

You can't change the subnets for a Network Load Balancer.

" - } - }, - "shapes":{ - "Action":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"ActionTypeEnum", - "documentation":"

The type of action. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect.

" - }, - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group. Specify only when Type is forward.

" - }, - "AuthenticateOidcConfig":{ - "shape":"AuthenticateOidcActionConfig", - "documentation":"

[HTTPS listener] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.

" - }, - "AuthenticateCognitoConfig":{ - "shape":"AuthenticateCognitoActionConfig", - "documentation":"

[HTTPS listener] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito.

" - }, - "Order":{ - "shape":"ActionOrder", - "documentation":"

The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first. The final action to be performed must be a forward or a fixed-response action.

" - }, - "RedirectConfig":{ - "shape":"RedirectActionConfig", - "documentation":"

[Application Load Balancer] Information for creating a redirect action. Specify only when Type is redirect.

" - }, - "FixedResponseConfig":{ - "shape":"FixedResponseActionConfig", - "documentation":"

[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type is fixed-response.

" - } - }, - "documentation":"

Information about an action.

" - }, - "ActionOrder":{ - "type":"integer", - "max":50000, - "min":1 - }, - "ActionTypeEnum":{ - "type":"string", - "enum":[ - "forward", - "authenticate-oidc", - "authenticate-cognito", - "redirect", - "fixed-response" - ] - }, - "Actions":{ - "type":"list", - "member":{"shape":"Action"} - }, - "AddListenerCertificatesInput":{ - "type":"structure", - "required":[ - "ListenerArn", - "Certificates" - ], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "Certificates":{ - "shape":"CertificateList", - "documentation":"

The certificate to add. You can specify one certificate per call.

" - } - } - }, - "AddListenerCertificatesOutput":{ - "type":"structure", - "members":{ - "Certificates":{ - "shape":"CertificateList", - "documentation":"

Information about the certificates.

" - } - } - }, - "AddTagsInput":{ - "type":"structure", - "required":[ - "ResourceArns", - "Tags" - ], - "members":{ - "ResourceArns":{ - "shape":"ResourceArns", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags. Each resource can have a maximum of 10 tags.

" - } - } - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - } - }, - "AllocationId":{"type":"string"}, - "AllocationIdNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified allocation ID does not exist.

", - "error":{ - "code":"AllocationIdNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthenticateCognitoActionAuthenticationRequestExtraParams":{ - "type":"map", - "key":{"shape":"AuthenticateCognitoActionAuthenticationRequestParamName"}, - "value":{"shape":"AuthenticateCognitoActionAuthenticationRequestParamValue"} - }, - "AuthenticateCognitoActionAuthenticationRequestParamName":{"type":"string"}, - "AuthenticateCognitoActionAuthenticationRequestParamValue":{"type":"string"}, - "AuthenticateCognitoActionConditionalBehaviorEnum":{ - "type":"string", - "enum":[ - "deny", - "allow", - "authenticate" - ] - }, - "AuthenticateCognitoActionConfig":{ - "type":"structure", - "required":[ - "UserPoolArn", - "UserPoolClientId", - "UserPoolDomain" - ], - "members":{ - "UserPoolArn":{ - "shape":"AuthenticateCognitoActionUserPoolArn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

" - }, - "UserPoolClientId":{ - "shape":"AuthenticateCognitoActionUserPoolClientId", - "documentation":"

The ID of the Amazon Cognito user pool client.

" - }, - "UserPoolDomain":{ - "shape":"AuthenticateCognitoActionUserPoolDomain", - "documentation":"

The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.

" - }, - "SessionCookieName":{ - "shape":"AuthenticateCognitoActionSessionCookieName", - "documentation":"

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" - }, - "Scope":{ - "shape":"AuthenticateCognitoActionScope", - "documentation":"

The set of user claims to be requested from the IdP. The default is openid.

To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.

" - }, - "SessionTimeout":{ - "shape":"AuthenticateCognitoActionSessionTimeout", - "documentation":"

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" - }, - "AuthenticationRequestExtraParams":{ - "shape":"AuthenticateCognitoActionAuthenticationRequestExtraParams", - "documentation":"

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" - }, - "OnUnauthenticatedRequest":{ - "shape":"AuthenticateCognitoActionConditionalBehaviorEnum", - "documentation":"

The behavior if the user is not authenticated. The following are possible values:

  • deny - Return an HTTP 401 Unauthorized error.

  • allow - Allow the request to be forwarded to the target.

  • authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.

" - } - }, - "documentation":"

Request parameters to use when integrating with Amazon Cognito to authenticate users.

" - }, - "AuthenticateCognitoActionScope":{"type":"string"}, - "AuthenticateCognitoActionSessionCookieName":{"type":"string"}, - "AuthenticateCognitoActionSessionTimeout":{"type":"long"}, - "AuthenticateCognitoActionUserPoolArn":{"type":"string"}, - "AuthenticateCognitoActionUserPoolClientId":{"type":"string"}, - "AuthenticateCognitoActionUserPoolDomain":{"type":"string"}, - "AuthenticateOidcActionAuthenticationRequestExtraParams":{ - "type":"map", - "key":{"shape":"AuthenticateOidcActionAuthenticationRequestParamName"}, - "value":{"shape":"AuthenticateOidcActionAuthenticationRequestParamValue"} - }, - "AuthenticateOidcActionAuthenticationRequestParamName":{"type":"string"}, - "AuthenticateOidcActionAuthenticationRequestParamValue":{"type":"string"}, - "AuthenticateOidcActionAuthorizationEndpoint":{"type":"string"}, - "AuthenticateOidcActionClientId":{"type":"string"}, - "AuthenticateOidcActionClientSecret":{"type":"string"}, - "AuthenticateOidcActionConditionalBehaviorEnum":{ - "type":"string", - "enum":[ - "deny", - "allow", - "authenticate" - ] - }, - "AuthenticateOidcActionConfig":{ - "type":"structure", - "required":[ - "Issuer", - "AuthorizationEndpoint", - "TokenEndpoint", - "UserInfoEndpoint", - "ClientId", - "ClientSecret" - ], - "members":{ - "Issuer":{ - "shape":"AuthenticateOidcActionIssuer", - "documentation":"

The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" - }, - "AuthorizationEndpoint":{ - "shape":"AuthenticateOidcActionAuthorizationEndpoint", - "documentation":"

The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" - }, - "TokenEndpoint":{ - "shape":"AuthenticateOidcActionTokenEndpoint", - "documentation":"

The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" - }, - "UserInfoEndpoint":{ - "shape":"AuthenticateOidcActionUserInfoEndpoint", - "documentation":"

The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" - }, - "ClientId":{ - "shape":"AuthenticateOidcActionClientId", - "documentation":"

The OAuth 2.0 client identifier.

" - }, - "ClientSecret":{ - "shape":"AuthenticateOidcActionClientSecret", - "documentation":"

The OAuth 2.0 client secret.

" - }, - "SessionCookieName":{ - "shape":"AuthenticateOidcActionSessionCookieName", - "documentation":"

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" - }, - "Scope":{ - "shape":"AuthenticateOidcActionScope", - "documentation":"

The set of user claims to be requested from the IdP. The default is openid.

To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.

" - }, - "SessionTimeout":{ - "shape":"AuthenticateOidcActionSessionTimeout", - "documentation":"

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" - }, - "AuthenticationRequestExtraParams":{ - "shape":"AuthenticateOidcActionAuthenticationRequestExtraParams", - "documentation":"

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" - }, - "OnUnauthenticatedRequest":{ - "shape":"AuthenticateOidcActionConditionalBehaviorEnum", - "documentation":"

The behavior if the user is not authenticated. The following are possible values:

  • deny - Return an HTTP 401 Unauthorized error.

  • allow - Allow the request to be forwarded to the target.

  • authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.

" - } - }, - "documentation":"

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

" - }, - "AuthenticateOidcActionIssuer":{"type":"string"}, - "AuthenticateOidcActionScope":{"type":"string"}, - "AuthenticateOidcActionSessionCookieName":{"type":"string"}, - "AuthenticateOidcActionSessionTimeout":{"type":"long"}, - "AuthenticateOidcActionTokenEndpoint":{"type":"string"}, - "AuthenticateOidcActionUserInfoEndpoint":{"type":"string"}, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "ZoneName":{ - "shape":"ZoneName", - "documentation":"

The name of the Availability Zone.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The ID of the subnet.

" - }, - "LoadBalancerAddresses":{ - "shape":"LoadBalancerAddresses", - "documentation":"

[Network Load Balancers] The static IP address.

" - } - }, - "documentation":"

Information about an Availability Zone.

" - }, - "AvailabilityZoneNotSupportedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Availability Zone is not supported.

", - "error":{ - "code":"AvailabilityZoneNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AvailabilityZones":{ - "type":"list", - "member":{"shape":"AvailabilityZone"} - }, - "CanonicalHostedZoneId":{"type":"string"}, - "Certificate":{ - "type":"structure", - "members":{ - "CertificateArn":{ - "shape":"CertificateArn", - "documentation":"

The Amazon Resource Name (ARN) of the certificate.

" - }, - "IsDefault":{ - "shape":"Default", - "documentation":"

Indicates whether the certificate is the default certificate.

" - } - }, - "documentation":"

Information about an SSL server certificate.

" - }, - "CertificateArn":{"type":"string"}, - "CertificateList":{ - "type":"list", - "member":{"shape":"Certificate"} - }, - "CertificateNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified certificate does not exist.

", - "error":{ - "code":"CertificateNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Cipher":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"CipherName", - "documentation":"

The name of the cipher.

" - }, - "Priority":{ - "shape":"CipherPriority", - "documentation":"

The priority of the cipher.

" - } - }, - "documentation":"

Information about a cipher used in a policy.

" - }, - "CipherName":{"type":"string"}, - "CipherPriority":{"type":"integer"}, - "Ciphers":{ - "type":"list", - "member":{"shape":"Cipher"} - }, - "ConditionFieldName":{ - "type":"string", - "max":64 - }, - "CreateListenerInput":{ - "type":"structure", - "required":[ - "LoadBalancerArn", - "Protocol", - "Port", - "DefaultActions" - ], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "Protocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port on which the load balancer is listening.

" - }, - "SslPolicy":{ - "shape":"SslPolicyName", - "documentation":"

[HTTPS listeners] The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" - }, - "Certificates":{ - "shape":"CertificateList", - "documentation":"

[HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates.

" - }, - "DefaultActions":{ - "shape":"Actions", - "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you can specify a single target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you can use an identity provider that is OpenID Connect (OIDC) compliant to authenticate users as they access your application.

[HTTPS listener] If the action type is authenticate-cognito, you can use Amazon Cognito to authenticate users as they access your application.

[Application Load Balancer] If the action type is redirect, you can redirect HTTP and HTTPS requests.

[Application Load Balancer] If the action type is fixed-response, you can return a custom HTTP response.

" - } - } - }, - "CreateListenerOutput":{ - "type":"structure", - "members":{ - "Listeners":{ - "shape":"Listeners", - "documentation":"

Information about the listener.

" - } - } - }, - "CreateLoadBalancerInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"LoadBalancerName", - "documentation":"

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

" - }, - "SubnetMappings":{ - "shape":"SubnetMappings", - "documentation":"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

[Application Load Balancers] The IDs of the security groups for the load balancer.

" - }, - "Scheme":{ - "shape":"LoadBalancerSchemeEnum", - "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer.

The default is an Internet-facing load balancer.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags to assign to the load balancer.

" - }, - "Type":{ - "shape":"LoadBalancerTypeEnum", - "documentation":"

The type of load balancer. The default is application.

" - }, - "IpAddressType":{ - "shape":"IpAddressType", - "documentation":"

[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

" - } - } - }, - "CreateLoadBalancerOutput":{ - "type":"structure", - "members":{ - "LoadBalancers":{ - "shape":"LoadBalancers", - "documentation":"

Information about the load balancer.

" - } - } - }, - "CreateRuleInput":{ - "type":"structure", - "required":[ - "ListenerArn", - "Conditions", - "Priority", - "Actions" - ], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "Conditions":{ - "shape":"RuleConditionList", - "documentation":"

The conditions. 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. 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. 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", - "documentation":"

The rule priority. A listener can't have multiple rules with the same priority.

" - }, - "Actions":{ - "shape":"Actions", - "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect.

If the action type is forward, you can specify a single target group.

[HTTPS listener] If the action type is authenticate-oidc, you can use an identity provider that is OpenID Connect (OIDC) compliant to authenticate users as they access your application.

[HTTPS listener] If the action type is authenticate-cognito, you can use Amazon Cognito to authenticate users as they access your application.

[Application Load Balancer] If the action type is redirect, you can redirect HTTP and HTTPS requests.

[Application Load Balancer] If the action type is fixed-response, you can return a custom HTTP response.

" - } - } - }, - "CreateRuleOutput":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"Rules", - "documentation":"

Information about the rule.

" - } - } - }, - "CreateTargetGroupInput":{ - "type":"structure", - "required":[ - "Name", - "Protocol", - "Port", - "VpcId" - ], - "members":{ - "Name":{ - "shape":"TargetGroupName", - "documentation":"

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" - }, - "Protocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocol is TCP.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The identifier of the virtual private cloud (VPC).

" - }, - "HealthCheckProtocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP.

" - }, - "HealthCheckPort":{ - "shape":"HealthCheckPort", - "documentation":"

The port the load balancer uses when performing health checks on targets. The default is traffic-port, which is the port on which each target receives traffic from the load balancer.

" - }, - "HealthCheckPath":{ - "shape":"Path", - "documentation":"

[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.

" - }, - "HealthCheckIntervalSeconds":{ - "shape":"HealthCheckIntervalSeconds", - "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5–300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds. The default is 30 seconds.

" - }, - "HealthCheckTimeoutSeconds":{ - "shape":"HealthCheckTimeoutSeconds", - "documentation":"

The amount of time, in seconds, during which no response from a target means a failed health check. For Application Load Balancers, the range is 2–60 seconds and the default is 5 seconds. For Network Load Balancers, this is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks.

" - }, - "HealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.

" - }, - "UnhealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count.

" - }, - "Matcher":{ - "shape":"Matcher", - "documentation":"

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

" - }, - "TargetType":{ - "shape":"TargetTypeEnum", - "documentation":"

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address). The default is instance. You can't specify targets for a target group using both instance IDs and IP addresses.

If the target type is ip, specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

" - } - } - }, - "CreateTargetGroupOutput":{ - "type":"structure", - "members":{ - "TargetGroups":{ - "shape":"TargetGroups", - "documentation":"

Information about the target group.

" - } - } - }, - "CreatedTime":{"type":"timestamp"}, - "DNSName":{"type":"string"}, - "Default":{"type":"boolean"}, - "DeleteListenerInput":{ - "type":"structure", - "required":["ListenerArn"], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - } - } - }, - "DeleteListenerOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteLoadBalancerInput":{ - "type":"structure", - "required":["LoadBalancerArn"], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - } - } - }, - "DeleteLoadBalancerOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteRuleInput":{ - "type":"structure", - "required":["RuleArn"], - "members":{ - "RuleArn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - } - } - }, - "DeleteRuleOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteTargetGroupInput":{ - "type":"structure", - "required":["TargetGroupArn"], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - } - } - }, - "DeleteTargetGroupOutput":{ - "type":"structure", - "members":{ - } - }, - "DeregisterTargetsInput":{ - "type":"structure", - "required":[ - "TargetGroupArn", - "Targets" - ], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "Targets":{ - "shape":"TargetDescriptions", - "documentation":"

The targets. If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it.

" - } - } - }, - "DeregisterTargetsOutput":{ - "type":"structure", - "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.

" - } - } - }, - "DescribeListenerCertificatesInput":{ - "type":"structure", - "required":["ListenerArn"], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Names (ARN) of the listener.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to return with this call.

" - } - } - }, - "DescribeListenerCertificatesOutput":{ - "type":"structure", - "members":{ - "Certificates":{ - "shape":"CertificateList", - "documentation":"

Information about the certificates.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

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":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "ListenerArns":{ - "shape":"ListenerArns", - "documentation":"

The Amazon Resource Names (ARN) of the listeners.

" - }, - "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.

" - } - } - }, - "DescribeListenersOutput":{ - "type":"structure", - "members":{ - "Listeners":{ - "shape":"Listeners", - "documentation":"

Information about the listeners.

" - }, - "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.

" - } - } - }, - "DescribeLoadBalancerAttributesInput":{ - "type":"structure", - "required":["LoadBalancerArn"], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - } - } - }, - "DescribeLoadBalancerAttributesOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

Information about the load balancer attributes.

" - } - } - }, - "DescribeLoadBalancersInput":{ - "type":"structure", - "members":{ - "LoadBalancerArns":{ - "shape":"LoadBalancerArns", - "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", - "documentation":"

The names of the load balancers.

" - }, - "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.

" - } - } - }, - "DescribeLoadBalancersOutput":{ - "type":"structure", - "members":{ - "LoadBalancers":{ - "shape":"LoadBalancers", - "documentation":"

Information about the load balancers.

" - }, - "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.

" - } - } - }, - "DescribeRulesInput":{ - "type":"structure", - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "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.

" - } - } - }, - "DescribeRulesOutput":{ - "type":"structure", - "members":{ - "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.

" - } - } - }, - "DescribeSSLPoliciesInput":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"SslPolicyNames", - "documentation":"

The names of the policies.

" - }, - "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.

" - } - } - }, - "DescribeSSLPoliciesOutput":{ - "type":"structure", - "members":{ - "SslPolicies":{ - "shape":"SslPolicies", - "documentation":"

Information about the policies.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - } - }, - "DescribeTagsInput":{ - "type":"structure", - "required":["ResourceArns"], - "members":{ - "ResourceArns":{ - "shape":"ResourceArns", - "documentation":"

The Amazon Resource Names (ARN) of the resources.

" - } - } - }, - "DescribeTagsOutput":{ - "type":"structure", - "members":{ - "TagDescriptions":{ - "shape":"TagDescriptions", - "documentation":"

Information about the tags.

" - } - } - }, - "DescribeTargetGroupAttributesInput":{ - "type":"structure", - "required":["TargetGroupArn"], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - } - } - }, - "DescribeTargetGroupAttributesOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"TargetGroupAttributes", - "documentation":"

Information about the target group attributes

" - } - } - }, - "DescribeTargetGroupsInput":{ - "type":"structure", - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "TargetGroupArns":{ - "shape":"TargetGroupArns", - "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" - }, - "Names":{ - "shape":"TargetGroupNames", - "documentation":"

The names of the target groups.

" - }, - "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.

" - } - } - }, - "DescribeTargetGroupsOutput":{ - "type":"structure", - "members":{ - "TargetGroups":{ - "shape":"TargetGroups", - "documentation":"

Information about the target groups.

" - }, - "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.

" - } - } - }, - "DescribeTargetHealthInput":{ - "type":"structure", - "required":["TargetGroupArn"], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "Targets":{ - "shape":"TargetDescriptions", - "documentation":"

The targets.

" - } - } - }, - "DescribeTargetHealthOutput":{ - "type":"structure", - "members":{ - "TargetHealthDescriptions":{ - "shape":"TargetHealthDescriptions", - "documentation":"

Information about the health of the targets.

" - } - } - }, - "Description":{"type":"string"}, - "DuplicateListenerException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A listener with the specified port already exists.

", - "error":{ - "code":"DuplicateListener", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicateLoadBalancerNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A load balancer with the specified name already exists.

", - "error":{ - "code":"DuplicateLoadBalancerName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicateTagKeysException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A tag key was specified more than once.

", - "error":{ - "code":"DuplicateTagKeys", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DuplicateTargetGroupNameException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A target group with the specified name already exists.

", - "error":{ - "code":"DuplicateTargetGroupName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "FixedResponseActionConfig":{ - "type":"structure", - "required":["StatusCode"], - "members":{ - "MessageBody":{ - "shape":"FixedResponseActionMessage", - "documentation":"

The message.

" - }, - "StatusCode":{ - "shape":"FixedResponseActionStatusCode", - "documentation":"

The HTTP response code (2XX, 4XX, or 5XX).

" - }, - "ContentType":{ - "shape":"FixedResponseActionContentType", - "documentation":"

The content type.

Valid Values: text/plain | text/css | text/html | application/javascript | application/json

" - } - }, - "documentation":"

Information about an action that returns a custom HTTP response.

" - }, - "FixedResponseActionContentType":{ - "type":"string", - "max":32, - "min":0 - }, - "FixedResponseActionMessage":{ - "type":"string", - "max":1024, - "min":0 - }, - "FixedResponseActionStatusCode":{ - "type":"string", - "pattern":"^(2|4|5)\\d\\d$" - }, - "HealthCheckIntervalSeconds":{ - "type":"integer", - "max":300, - "min":5 - }, - "HealthCheckPort":{"type":"string"}, - "HealthCheckThresholdCount":{ - "type":"integer", - "max":10, - "min":2 - }, - "HealthCheckTimeoutSeconds":{ - "type":"integer", - "max":60, - "min":2 - }, - "HealthUnavailableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The health of the specified targets could not be retrieved due to an internal error.

", - "error":{ - "code":"HealthUnavailable", - "httpStatusCode":500 - }, - "exception":true - }, - "HttpCode":{"type":"string"}, - "IncompatibleProtocolsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified configuration is not valid with this protocol.

", - "error":{ - "code":"IncompatibleProtocols", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidConfigurationRequestException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested configuration is not valid.

", - "error":{ - "code":"InvalidConfigurationRequest", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidLoadBalancerActionException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested action is not valid.

", - "error":{ - "code":"InvalidLoadBalancerAction", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSchemeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested scheme is not valid.

", - "error":{ - "code":"InvalidScheme", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSecurityGroupException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified security group does not exist.

", - "error":{ - "code":"InvalidSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnetException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified subnet is out of available addresses.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidTargetException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified target does not exist, is not in the same VPC as the target group, or has an unsupported instance type.

", - "error":{ - "code":"InvalidTarget", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "IpAddress":{"type":"string"}, - "IpAddressType":{ - "type":"string", - "enum":[ - "ipv4", - "dualstack" - ] - }, - "IsDefault":{"type":"boolean"}, - "Limit":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Name", - "documentation":"

The name of the limit. The possible values are:

  • application-load-balancers

  • listeners-per-application-load-balancer

  • listeners-per-network-load-balancer

  • network-load-balancers

  • rules-per-application-load-balancer

  • target-groups

  • targets-per-application-load-balancer

  • targets-per-availability-zone-per-network-load-balancer

  • targets-per-network-load-balancer

" - }, - "Max":{ - "shape":"Max", - "documentation":"

The maximum value of the limit.

" - } - }, - "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" - }, - "Limits":{ - "type":"list", - "member":{"shape":"Limit"} - }, - "ListOfString":{ - "type":"list", - "member":{"shape":"StringValue"} - }, - "Listener":{ - "type":"structure", - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port on which the load balancer is listening.

" - }, - "Protocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer.

" - }, - "Certificates":{ - "shape":"CertificateList", - "documentation":"

The SSL server certificate. You must provide a certificate if the protocol is HTTPS.

" - }, - "SslPolicy":{ - "shape":"SslPolicyName", - "documentation":"

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" - }, - "DefaultActions":{ - "shape":"Actions", - "documentation":"

The default actions for the listener.

" - } - }, - "documentation":"

Information about a listener.

" - }, - "ListenerArn":{"type":"string"}, - "ListenerArns":{ - "type":"list", - "member":{"shape":"ListenerArn"} - }, - "ListenerNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified listener does not exist.

", - "error":{ - "code":"ListenerNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Listeners":{ - "type":"list", - "member":{"shape":"Listener"} - }, - "LoadBalancer":{ - "type":"structure", - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "DNSName":{ - "shape":"DNSName", - "documentation":"

The public DNS name of the load balancer.

" - }, - "CanonicalHostedZoneId":{ - "shape":"CanonicalHostedZoneId", - "documentation":"

The ID of the Amazon Route 53 hosted zone associated with the load balancer.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The date and time the load balancer was created.

" - }, - "LoadBalancerName":{ - "shape":"LoadBalancerName", - "documentation":"

The name of the load balancer.

" - }, - "Scheme":{ - "shape":"LoadBalancerSchemeEnum", - "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The ID of the VPC for the load balancer.

" - }, - "State":{ - "shape":"LoadBalancerState", - "documentation":"

The state of the load balancer.

" - }, - "Type":{ - "shape":"LoadBalancerTypeEnum", - "documentation":"

The type of load balancer.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

The Availability Zones for the load balancer.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups for the load balancer.

" - }, - "IpAddressType":{ - "shape":"IpAddressType", - "documentation":"

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

" - } - }, - "documentation":"

Information about a load balancer.

" - }, - "LoadBalancerAddress":{ - "type":"structure", - "members":{ - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

The static IP address.

" - }, - "AllocationId":{ - "shape":"AllocationId", - "documentation":"

[Network Load Balancers] The allocation ID of the Elastic IP address.

" - } - }, - "documentation":"

Information about a static IP address for a load balancer.

" - }, - "LoadBalancerAddresses":{ - "type":"list", - "member":{"shape":"LoadBalancerAddress"} - }, - "LoadBalancerArn":{"type":"string"}, - "LoadBalancerArns":{ - "type":"list", - "member":{"shape":"LoadBalancerArn"} - }, - "LoadBalancerAttribute":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"LoadBalancerAttributeKey", - "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

The following attributes are supported by only Application Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value is true or false. The default is true.

The following attributes are supported by only Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The value is true or false. The default is false.

" - }, - "Value":{ - "shape":"LoadBalancerAttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Information about a load balancer attribute.

" - }, - "LoadBalancerAttributeKey":{ - "type":"string", - "max":256, - "pattern":"^[a-zA-Z0-9._]+$" - }, - "LoadBalancerAttributeValue":{ - "type":"string", - "max":1024 - }, - "LoadBalancerAttributes":{ - "type":"list", - "member":{"shape":"LoadBalancerAttribute"}, - "max":20 - }, - "LoadBalancerName":{"type":"string"}, - "LoadBalancerNames":{ - "type":"list", - "member":{"shape":"LoadBalancerName"} - }, - "LoadBalancerNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified load balancer does not exist.

", - "error":{ - "code":"LoadBalancerNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LoadBalancerSchemeEnum":{ - "type":"string", - "enum":[ - "internet-facing", - "internal" - ] - }, - "LoadBalancerState":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"LoadBalancerStateEnum", - "documentation":"

The state code. The initial state of the load balancer is provisioning. After the load balancer is fully set up and ready to route traffic, its state is active. If the load balancer could not be set up, its state is failed.

" - }, - "Reason":{ - "shape":"StateReason", - "documentation":"

A description of the state.

" - } - }, - "documentation":"

Information about the state of the load balancer.

" - }, - "LoadBalancerStateEnum":{ - "type":"string", - "enum":[ - "active", - "provisioning", - "active_impaired", - "failed" - ] - }, - "LoadBalancerTypeEnum":{ - "type":"string", - "enum":[ - "application", - "network" - ] - }, - "LoadBalancers":{ - "type":"list", - "member":{"shape":"LoadBalancer"} - }, - "Marker":{"type":"string"}, - "Matcher":{ - "type":"structure", - "required":["HttpCode"], - "members":{ - "HttpCode":{ - "shape":"HttpCode", - "documentation":"

The HTTP codes.

For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Network Load Balancers, this is 200–399.

" - } - }, - "documentation":"

Information to use when checking for a successful response from a target.

" - }, - "Max":{"type":"string"}, - "ModifyListenerInput":{ - "type":"structure", - "required":["ListenerArn"], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port for connections from clients to the load balancer.

" - }, - "Protocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer. Application Load Balancers support HTTP and HTTPS and Network Load Balancers support TCP.

" - }, - "SslPolicy":{ - "shape":"SslPolicyName", - "documentation":"

[HTTPS listeners] 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", - "documentation":"

[HTTPS listeners] The default SSL server certificate. You must provide exactly one default certificate. To create a certificate list, use AddListenerCertificates.

" - }, - "DefaultActions":{ - "shape":"Actions", - "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you can specify a single target group. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer or TCP for a Network Load Balancer.

[HTTPS listener] If the action type is authenticate-oidc, you can use an identity provider that is OpenID Connect (OIDC) compliant to authenticate users as they access your application.

[HTTPS listener] If the action type is authenticate-cognito, you can use Amazon Cognito to authenticate users as they access your application.

[Application Load Balancer] If the action type is redirect, you can redirect HTTP and HTTPS requests.

[Application Load Balancer] If the action type is fixed-response, you can return a custom HTTP response.

" - } - } - }, - "ModifyListenerOutput":{ - "type":"structure", - "members":{ - "Listeners":{ - "shape":"Listeners", - "documentation":"

Information about the modified listener.

" - } - } - }, - "ModifyLoadBalancerAttributesInput":{ - "type":"structure", - "required":[ - "LoadBalancerArn", - "Attributes" - ], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "Attributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

The load balancer attributes.

" - } - } - }, - "ModifyLoadBalancerAttributesOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"LoadBalancerAttributes", - "documentation":"

Information about the load balancer attributes.

" - } - } - }, - "ModifyRuleInput":{ - "type":"structure", - "required":["RuleArn"], - "members":{ - "RuleArn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "Conditions":{ - "shape":"RuleConditionList", - "documentation":"

The conditions. 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. 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. 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)

" - }, - "Actions":{ - "shape":"Actions", - "documentation":"

The actions.

If the action type is forward, you can specify a single target group.

If the action type is authenticate-oidc, you can use an identity provider that is OpenID Connect (OIDC) compliant to authenticate users as they access your application.

If the action type is authenticate-cognito, you can use Amazon Cognito to authenticate users as they access your application.

" - } - } - }, - "ModifyRuleOutput":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"Rules", - "documentation":"

Information about the modified rule.

" - } - } - }, - "ModifyTargetGroupAttributesInput":{ - "type":"structure", - "required":[ - "TargetGroupArn", - "Attributes" - ], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "Attributes":{ - "shape":"TargetGroupAttributes", - "documentation":"

The attributes.

" - } - } - }, - "ModifyTargetGroupAttributesOutput":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"TargetGroupAttributes", - "documentation":"

Information about the attributes.

" - } - } - }, - "ModifyTargetGroupInput":{ - "type":"structure", - "required":["TargetGroupArn"], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "HealthCheckProtocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported only if the protocol of the target group is TCP.

" - }, - "HealthCheckPort":{ - "shape":"HealthCheckPort", - "documentation":"

The port the load balancer uses when performing health checks on targets.

" - }, - "HealthCheckPath":{ - "shape":"Path", - "documentation":"

[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.

" - }, - "HealthCheckIntervalSeconds":{ - "shape":"HealthCheckIntervalSeconds", - "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5–300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.

" - }, - "HealthCheckTimeoutSeconds":{ - "shape":"HealthCheckTimeoutSeconds", - "documentation":"

[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.

" - }, - "HealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health checks successes required before considering an unhealthy target healthy.

" - }, - "UnhealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.

" - }, - "Matcher":{ - "shape":"Matcher", - "documentation":"

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

" - } - } - }, - "ModifyTargetGroupOutput":{ - "type":"structure", - "members":{ - "TargetGroups":{ - "shape":"TargetGroups", - "documentation":"

Information about the modified target group.

" - } - } - }, - "Name":{"type":"string"}, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This operation is not allowed.

", - "error":{ - "code":"OperationNotPermitted", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PageSize":{ - "type":"integer", - "max":400, - "min":1 - }, - "Path":{ - "type":"string", - "max":1024, - "min":1 - }, - "Port":{ - "type":"integer", - "max":65535, - "min":1 - }, - "PriorityInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified priority is in use.

", - "error":{ - "code":"PriorityInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ProtocolEnum":{ - "type":"string", - "enum":[ - "HTTP", - "HTTPS", - "TCP" - ] - }, - "RedirectActionConfig":{ - "type":"structure", - "required":["StatusCode"], - "members":{ - "Protocol":{ - "shape":"RedirectActionProtocol", - "documentation":"

The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.

" - }, - "Port":{ - "shape":"RedirectActionPort", - "documentation":"

The port. You can specify a value from 1 to 65535 or #{port}.

" - }, - "Host":{ - "shape":"RedirectActionHost", - "documentation":"

The hostname. This component is not percent-encoded. The hostname can contain #{host}.

" - }, - "Path":{ - "shape":"RedirectActionPath", - "documentation":"

The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.

" - }, - "Query":{ - "shape":"RedirectActionQuery", - "documentation":"

The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords.

" - }, - "StatusCode":{ - "shape":"RedirectActionStatusCodeEnum", - "documentation":"

The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).

" - } - }, - "documentation":"

Information about a redirect action.

A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.

You can reuse URI components using the following reserved keywords:

  • #{protocol}

  • #{host}

  • #{port}

  • #{path} (the leading \"/\" is removed)

  • #{query}

For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}&value=xyz\".

" - }, - "RedirectActionHost":{ - "type":"string", - "max":128, - "min":1 - }, - "RedirectActionPath":{ - "type":"string", - "max":128, - "min":1 - }, - "RedirectActionPort":{"type":"string"}, - "RedirectActionProtocol":{ - "type":"string", - "pattern":"^(HTTPS?|#\\{protocol\\})$" - }, - "RedirectActionQuery":{ - "type":"string", - "max":128, - "min":0 - }, - "RedirectActionStatusCodeEnum":{ - "type":"string", - "enum":[ - "HTTP_301", - "HTTP_302" - ] - }, - "RegisterTargetsInput":{ - "type":"structure", - "required":[ - "TargetGroupArn", - "Targets" - ], - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "Targets":{ - "shape":"TargetDescriptions", - "documentation":"

The targets.

" - } - } - }, - "RegisterTargetsOutput":{ - "type":"structure", - "members":{ - } - }, - "RemoveListenerCertificatesInput":{ - "type":"structure", - "required":[ - "ListenerArn", - "Certificates" - ], - "members":{ - "ListenerArn":{ - "shape":"ListenerArn", - "documentation":"

The Amazon Resource Name (ARN) of the listener.

" - }, - "Certificates":{ - "shape":"CertificateList", - "documentation":"

The certificate to remove. You can specify one certificate per call.

" - } - } - }, - "RemoveListenerCertificatesOutput":{ - "type":"structure", - "members":{ - } - }, - "RemoveTagsInput":{ - "type":"structure", - "required":[ - "ResourceArns", - "TagKeys" - ], - "members":{ - "ResourceArns":{ - "shape":"ResourceArns", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

The tag keys for the tags to remove.

" - } - } - }, - "RemoveTagsOutput":{ - "type":"structure", - "members":{ - } - }, - "ResourceArn":{"type":"string"}, - "ResourceArns":{ - "type":"list", - "member":{"shape":"ResourceArn"} - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A specified resource is in use.

", - "error":{ - "code":"ResourceInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Rule":{ - "type":"structure", - "members":{ - "RuleArn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "Priority":{ - "shape":"String", - "documentation":"

The priority.

" - }, - "Conditions":{ - "shape":"RuleConditionList", - "documentation":"

The conditions.

" - }, - "Actions":{ - "shape":"Actions", - "documentation":"

The actions.

" - }, - "IsDefault":{ - "shape":"IsDefault", - "documentation":"

Indicates whether this is the default rule.

" - } - }, - "documentation":"

Information about a rule.

" - }, - "RuleArn":{"type":"string"}, - "RuleArns":{ - "type":"list", - "member":{"shape":"RuleArn"} - }, - "RuleCondition":{ - "type":"structure", - "members":{ - "Field":{ - "shape":"ConditionFieldName", - "documentation":"

The name of the field. The possible values are host-header and path-pattern.

" - }, - "Values":{ - "shape":"ListOfString", - "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. 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. 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.

" - }, - "RuleConditionList":{ - "type":"list", - "member":{"shape":"RuleCondition"} - }, - "RuleNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified rule does not exist.

", - "error":{ - "code":"RuleNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "RulePriority":{ - "type":"integer", - "max":50000, - "min":1 - }, - "RulePriorityList":{ - "type":"list", - "member":{"shape":"RulePriorityPair"} - }, - "RulePriorityPair":{ - "type":"structure", - "members":{ - "RuleArn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "Priority":{ - "shape":"RulePriority", - "documentation":"

The rule priority.

" - } - }, - "documentation":"

Information about the priorities for the rules for a listener.

" - }, - "Rules":{ - "type":"list", - "member":{"shape":"Rule"} - }, - "SSLPolicyNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified SSL policy does not exist.

", - "error":{ - "code":"SSLPolicyNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SecurityGroupId":{"type":"string"}, - "SecurityGroups":{ - "type":"list", - "member":{"shape":"SecurityGroupId"} - }, - "SetIpAddressTypeInput":{ - "type":"structure", - "required":[ - "LoadBalancerArn", - "IpAddressType" - ], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "IpAddressType":{ - "shape":"IpAddressType", - "documentation":"

The IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

" - } - } - }, - "SetIpAddressTypeOutput":{ - "type":"structure", - "members":{ - "IpAddressType":{ - "shape":"IpAddressType", - "documentation":"

The IP address type.

" - } - } - }, - "SetRulePrioritiesInput":{ - "type":"structure", - "required":["RulePriorities"], - "members":{ - "RulePriorities":{ - "shape":"RulePriorityList", - "documentation":"

The rule priorities.

" - } - } - }, - "SetRulePrioritiesOutput":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"Rules", - "documentation":"

Information about the rules.

" - } - } - }, - "SetSecurityGroupsInput":{ - "type":"structure", - "required":[ - "LoadBalancerArn", - "SecurityGroups" - ], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups.

" - } - } - }, - "SetSecurityGroupsOutput":{ - "type":"structure", - "members":{ - "SecurityGroupIds":{ - "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups associated with the load balancer.

" - } - } - }, - "SetSubnetsInput":{ - "type":"structure", - "required":["LoadBalancerArn"], - "members":{ - "LoadBalancerArn":{ - "shape":"LoadBalancerArn", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

" - }, - "SubnetMappings":{ - "shape":"SubnetMappings", - "documentation":"

The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

You cannot specify Elastic IP addresses for your subnets.

" - } - } - }, - "SetSubnetsOutput":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Information about the subnet and Availability Zone.

" - } - } - }, - "SslPolicies":{ - "type":"list", - "member":{"shape":"SslPolicy"} - }, - "SslPolicy":{ - "type":"structure", - "members":{ - "SslProtocols":{ - "shape":"SslProtocols", - "documentation":"

The protocols.

" - }, - "Ciphers":{ - "shape":"Ciphers", - "documentation":"

The ciphers.

" - }, - "Name":{ - "shape":"SslPolicyName", - "documentation":"

The name of the policy.

" - } - }, - "documentation":"

Information about a policy used for SSL negotiation.

" - }, - "SslPolicyName":{"type":"string"}, - "SslPolicyNames":{ - "type":"list", - "member":{"shape":"SslPolicyName"} - }, - "SslProtocol":{"type":"string"}, - "SslProtocols":{ - "type":"list", - "member":{"shape":"SslProtocol"} - }, - "StateReason":{"type":"string"}, - "String":{"type":"string"}, - "StringValue":{"type":"string"}, - "SubnetId":{"type":"string"}, - "SubnetMapping":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The ID of the subnet.

" - }, - "AllocationId":{ - "shape":"AllocationId", - "documentation":"

[Network Load Balancers] The allocation ID of the Elastic IP address.

" - } - }, - "documentation":"

Information about a subnet mapping.

" - }, - "SubnetMappings":{ - "type":"list", - "member":{"shape":"SubnetMapping"} - }, - "SubnetNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified subnet does not exist.

", - "error":{ - "code":"SubnetNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Subnets":{ - "type":"list", - "member":{"shape":"SubnetId"} - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Information about a tag.

" - }, - "TagDescription":{ - "type":"structure", - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

Information about the tags.

" - } - }, - "documentation":"

The tags associated with a resource.

" - }, - "TagDescriptions":{ - "type":"list", - "member":{"shape":"TagDescription"} - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TargetDescription":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TargetId", - "documentation":"

The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port on which the target is listening.

" - }, - "AvailabilityZone":{ - "shape":"ZoneName", - "documentation":"

An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.

This parameter is not supported if the target type of the target group is instance. If the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.

With an Application Load Balancer, if the IP address is outside the VPC for the target group, the only supported value is all.

" - } - }, - "documentation":"

Information about a target.

" - }, - "TargetDescriptions":{ - "type":"list", - "member":{"shape":"TargetDescription"} - }, - "TargetGroup":{ - "type":"structure", - "members":{ - "TargetGroupArn":{ - "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" - }, - "TargetGroupName":{ - "shape":"TargetGroupName", - "documentation":"

The name of the target group.

" - }, - "Protocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol to use for routing traffic to the targets.

" - }, - "Port":{ - "shape":"Port", - "documentation":"

The port on which the targets are listening.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The ID of the VPC for the targets.

" - }, - "HealthCheckProtocol":{ - "shape":"ProtocolEnum", - "documentation":"

The protocol to use to connect with the target.

" - }, - "HealthCheckPort":{ - "shape":"HealthCheckPort", - "documentation":"

The port to use to connect with the target.

" - }, - "HealthCheckIntervalSeconds":{ - "shape":"HealthCheckIntervalSeconds", - "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target.

" - }, - "HealthCheckTimeoutSeconds":{ - "shape":"HealthCheckTimeoutSeconds", - "documentation":"

The amount of time, in seconds, during which no response means a failed health check.

" - }, - "HealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health checks successes required before considering an unhealthy target healthy.

" - }, - "UnhealthyThresholdCount":{ - "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health check failures required before considering the target unhealthy.

" - }, - "HealthCheckPath":{ - "shape":"Path", - "documentation":"

The destination for the health check request.

" - }, - "Matcher":{ - "shape":"Matcher", - "documentation":"

The HTTP codes to use when checking for a successful response from a target.

" - }, - "LoadBalancerArns":{ - "shape":"LoadBalancerArns", - "documentation":"

The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.

" - }, - "TargetType":{ - "shape":"TargetTypeEnum", - "documentation":"

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address).

" - } - }, - "documentation":"

Information about a target group.

" - }, - "TargetGroupArn":{"type":"string"}, - "TargetGroupArns":{ - "type":"list", - "member":{"shape":"TargetGroupArn"} - }, - "TargetGroupAssociationLimitException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of load balancers per target group.

", - "error":{ - "code":"TargetGroupAssociationLimit", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TargetGroupAttribute":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TargetGroupAttributeKey", - "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.

The following attributes are supported by only Application Load Balancers:

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives a linearly increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). Slow start mode is disabled by default.

  • stickiness.enabled - Indicates whether sticky sessions are enabled. The value is true or false. The default is false.

  • stickiness.type - The type of sticky sessions. The possible value is lb_cookie.

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attributes are supported by only Network Load Balancers:

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

" - }, - "Value":{ - "shape":"TargetGroupAttributeValue", - "documentation":"

The value of the attribute.

" - } - }, - "documentation":"

Information about a target group attribute.

" - }, - "TargetGroupAttributeKey":{ - "type":"string", - "max":256, - "pattern":"^[a-zA-Z0-9._]+$" - }, - "TargetGroupAttributeValue":{"type":"string"}, - "TargetGroupAttributes":{ - "type":"list", - "member":{"shape":"TargetGroupAttribute"} - }, - "TargetGroupName":{"type":"string"}, - "TargetGroupNames":{ - "type":"list", - "member":{"shape":"TargetGroupName"} - }, - "TargetGroupNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified target group does not exist.

", - "error":{ - "code":"TargetGroupNotFound", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TargetGroups":{ - "type":"list", - "member":{"shape":"TargetGroup"} - }, - "TargetHealth":{ - "type":"structure", - "members":{ - "State":{ - "shape":"TargetHealthStateEnum", - "documentation":"

The state of the target.

" - }, - "Reason":{ - "shape":"TargetHealthReasonEnum", - "documentation":"

The reason code. If the target state is healthy, a reason code is not provided.

If the target state is initial, the reason code can be one of the following values:

  • Elb.RegistrationInProgress - The target is in the process of being registered with the load balancer.

  • Elb.InitialHealthChecking - The load balancer is still sending the target the minimum number of health checks required to determine its health status.

If the target state is unhealthy, the reason code can be one of the following values:

  • Target.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Target.Timeout - The health check requests timed out.

  • Target.FailedHealthChecks - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.

  • Elb.InternalError - The health checks failed due to an internal error.

If the target state is unused, the reason code can be one of the following values:

  • Target.NotRegistered - The target is not registered with the target group.

  • Target.NotInUse - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.

  • Target.IpUnusable - The target IP address is reserved for use by a load balancer.

  • Target.InvalidState - The target is in the stopped or terminated state.

If the target state is draining, the reason code can be the following value:

  • Target.DeregistrationInProgress - The target is in the process of being deregistered and the deregistration delay period has not expired.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description of the target health that provides additional details. If the state is healthy, a description is not provided.

" - } - }, - "documentation":"

Information about the current health of a target.

" - }, - "TargetHealthDescription":{ - "type":"structure", - "members":{ - "Target":{ - "shape":"TargetDescription", - "documentation":"

The description of the target.

" - }, - "HealthCheckPort":{ - "shape":"HealthCheckPort", - "documentation":"

The port to use to connect with the target.

" - }, - "TargetHealth":{ - "shape":"TargetHealth", - "documentation":"

The health information for the target.

" - } - }, - "documentation":"

Information about the health of a target.

" - }, - "TargetHealthDescriptions":{ - "type":"list", - "member":{"shape":"TargetHealthDescription"} - }, - "TargetHealthReasonEnum":{ - "type":"string", - "enum":[ - "Elb.RegistrationInProgress", - "Elb.InitialHealthChecking", - "Target.ResponseCodeMismatch", - "Target.Timeout", - "Target.FailedHealthChecks", - "Target.NotRegistered", - "Target.NotInUse", - "Target.DeregistrationInProgress", - "Target.InvalidState", - "Target.IpUnusable", - "Elb.InternalError" - ] - }, - "TargetHealthStateEnum":{ - "type":"string", - "enum":[ - "initial", - "healthy", - "unhealthy", - "unused", - "draining", - "unavailable" - ] - }, - "TargetId":{"type":"string"}, - "TargetTypeEnum":{ - "type":"string", - "enum":[ - "instance", - "ip" - ] - }, - "TooManyActionsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of actions per rule.

", - "error":{ - "code":"TooManyActions", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyCertificatesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of certificates per load balancer.

", - "error":{ - "code":"TooManyCertificates", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyListenersException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of listeners per load balancer.

", - "error":{ - "code":"TooManyListeners", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyLoadBalancersException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of load balancers for your AWS account.

", - "error":{ - "code":"TooManyLoadBalancers", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyRegistrationsForTargetIdException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of times a target can be registered with a load balancer.

", - "error":{ - "code":"TooManyRegistrationsForTargetId", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyRulesException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of rules per load balancer.

", - "error":{ - "code":"TooManyRules", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyTagsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of tags per load balancer.

", - "error":{ - "code":"TooManyTags", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyTargetGroupsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of target groups for your AWS account.

", - "error":{ - "code":"TooManyTargetGroups", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TooManyTargetsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You've reached the limit on the number of targets.

", - "error":{ - "code":"TooManyTargets", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UnsupportedProtocolException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified protocol is not supported.

", - "error":{ - "code":"UnsupportedProtocol", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "VpcId":{"type":"string"}, - "ZoneName":{"type":"string"} - }, - "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.

An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC).

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. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create a load balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

To delete a load balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/waiters-2.json deleted file mode 100644 index 9f3d77d8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/elbv2/2015-12-01/waiters-2.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "version": 2, - "waiters": { - "LoadBalancerExists": { - "delay": 15, - "operation": "DescribeLoadBalancers", - "maxAttempts": 40, - "acceptors": [ - { - "matcher": "status", - "expected": 200, - "state": "success" - }, - { - "matcher": "error", - "expected": "LoadBalancerNotFound", - "state": "retry" - } - ] - }, - "LoadBalancerAvailable": { - "delay": 15, - "operation": "DescribeLoadBalancers", - "maxAttempts": 40, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "LoadBalancers[].State.Code", - "expected": "active" - }, - { - "state": "retry", - "matcher": "pathAny", - "argument": "LoadBalancers[].State.Code", - "expected": "provisioning" - }, - { - "state": "retry", - "matcher": "error", - "expected": "LoadBalancerNotFound" - } - ] - }, - "LoadBalancersDeleted": { - "delay": 15, - "operation": "DescribeLoadBalancers", - "maxAttempts": 40, - "acceptors": [ - { - "state": "retry", - "matcher": "pathAll", - "argument": "LoadBalancers[].State.Code", - "expected": "active" - }, - { - "matcher": "error", - "expected": "LoadBalancerNotFound", - "state": "success" - } - ] - }, - "TargetInService":{ - "delay":15, - "maxAttempts":40, - "operation":"DescribeTargetHealth", - "acceptors":[ - { - "argument":"TargetHealthDescriptions[].TargetHealth.State", - "expected":"healthy", - "matcher":"pathAll", - "state":"success" - }, - { - "matcher": "error", - "expected": "InvalidInstance", - "state": "retry" - } - ] - }, - "TargetDeregistered": { - "delay": 15, - "maxAttempts": 40, - "operation": "DescribeTargetHealth", - "acceptors": [ - { - "matcher": "error", - "expected": "InvalidTarget", - "state": "success" - }, - { - "argument":"TargetHealthDescriptions[].TargetHealth.State", - "expected":"unused", - "matcher":"pathAll", - "state":"success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/paginators-1.json deleted file mode 100644 index 67ccf448..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/paginators-1.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "pagination": { - "ListBootstrapActions": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "BootstrapActions" - }, - "ListClusters": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "Clusters" - }, - "ListInstanceGroups": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "InstanceGroups" - }, - "ListInstances": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "Instances" - }, - "ListSteps": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "Steps" - }, - "ListInstanceFleets": { - "input_token": "Marker", - "output_token": "Marker", - "result_key": "InstanceFleets" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/service-2.json deleted file mode 100644 index 69a49569..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/service-2.json +++ /dev/null @@ -1,3571 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2009-03-31", - "endpointPrefix":"elasticmapreduce", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon EMR", - "serviceFullName":"Amazon Elastic MapReduce", - "serviceId":"EMR", - "signatureVersion":"v4", - "targetPrefix":"ElasticMapReduce", - "timestampFormat":"unixTimestamp", - "uid":"elasticmapreduce-2009-03-31" - }, - "operations":{ - "AddInstanceFleet":{ - "name":"AddInstanceFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddInstanceFleetInput"}, - "output":{"shape":"AddInstanceFleetOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

" - }, - "AddInstanceGroups":{ - "name":"AddInstanceGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddInstanceGroupsInput"}, - "output":{"shape":"AddInstanceGroupsOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Adds one or more instance groups to a running cluster.

" - }, - "AddJobFlowSteps":{ - "name":"AddJobFlowSteps", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddJobFlowStepsInput"}, - "output":{"shape":"AddJobFlowStepsOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsInput"}, - "output":{"shape":"AddTagsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" - }, - "CancelSteps":{ - "name":"CancelSteps", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelStepsInput"}, - "output":{"shape":"CancelStepsOutput"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

" - }, - "CreateSecurityConfiguration":{ - "name":"CreateSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityConfigurationInput"}, - "output":{"shape":"CreateSecurityConfigurationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

" - }, - "DeleteSecurityConfiguration":{ - "name":"DeleteSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityConfigurationInput"}, - "output":{"shape":"DeleteSecurityConfigurationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Deletes a security configuration.

" - }, - "DescribeCluster":{ - "name":"DescribeCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterInput"}, - "output":{"shape":"DescribeClusterOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

" - }, - "DescribeJobFlows":{ - "name":"DescribeJobFlows", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeJobFlowsInput"}, - "output":{"shape":"DescribeJobFlowsOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

Regardless of supplied parameters, only job flows created within the last two months are returned.

If no parameters are supplied, then job flows matching either of the following criteria are returned:

  • Job flows created and completed in the last two weeks

  • Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING

Amazon EMR can return a maximum of 512 job flow descriptions.

", - "deprecated":true - }, - "DescribeSecurityConfiguration":{ - "name":"DescribeSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecurityConfigurationInput"}, - "output":{"shape":"DescribeSecurityConfigurationOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides the details of a security configuration by returning the configuration JSON.

" - }, - "DescribeStep":{ - "name":"DescribeStep", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStepInput"}, - "output":{"shape":"DescribeStepOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides more detail about the cluster step.

" - }, - "ListBootstrapActions":{ - "name":"ListBootstrapActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBootstrapActionsInput"}, - "output":{"shape":"ListBootstrapActionsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides information about the bootstrap actions associated with a cluster.

" - }, - "ListClusters":{ - "name":"ListClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListClustersInput"}, - "output":{"shape":"ListClustersOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstanceGroupsInput"}, - "output":{"shape":"ListInstanceGroupsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides all available details about the instance groups in a cluster.

" - }, - "ListInstances":{ - "name":"ListInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstancesInput"}, - "output":{"shape":"ListInstancesOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

" - }, - "ListSecurityConfigurations":{ - "name":"ListSecurityConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSecurityConfigurationsInput"}, - "output":{"shape":"ListSecurityConfigurationsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Lists all the security configurations visible to this account, providing their creation dates and times, and their names. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListSecurityConfigurations calls.

" - }, - "ListSteps":{ - "name":"ListSteps", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStepsInput"}, - "output":{"shape":"ListStepsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyInstanceGroupsInput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

" - }, - "PutAutoScalingPolicy":{ - "name":"PutAutoScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutAutoScalingPolicyInput"}, - "output":{"shape":"PutAutoScalingPolicyOutput"}, - "documentation":"

Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

" - }, - "RemoveAutoScalingPolicy":{ - "name":"RemoveAutoScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveAutoScalingPolicyInput"}, - "output":{"shape":"RemoveAutoScalingPolicyOutput"}, - "documentation":"

Removes an automatic scaling policy from a specified instance group within an EMR cluster.

" - }, - "RemoveTags":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsInput"}, - "output":{"shape":"RemoveTagsOutput"}, - "errors":[ - {"shape":"InternalServerException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

" - }, - "RunJobFlow":{ - "name":"RunJobFlow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunJobFlowInput"}, - "output":{"shape":"RunJobFlowOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTerminationProtectionInput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetVisibleToAllUsersInput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateJobFlowsInput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "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":{ - "ActionOnFailure":{ - "type":"string", - "enum":[ - "TERMINATE_JOB_FLOW", - "TERMINATE_CLUSTER", - "CANCEL_AND_WAIT", - "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":[ - "InstanceGroups", - "JobFlowId" - ], - "members":{ - "InstanceGroups":{ - "shape":"InstanceGroupConfigList", - "documentation":"

Instance groups to add.

" - }, - "JobFlowId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Job flow in which to add the instance groups.

" - } - }, - "documentation":"

Input to an AddInstanceGroups call.

" - }, - "AddInstanceGroupsOutput":{ - "type":"structure", - "members":{ - "JobFlowId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The job flow ID in which the instance groups are added.

" - }, - "InstanceGroupIds":{ - "shape":"InstanceGroupIdsList", - "documentation":"

Instance group IDs of the newly created instance groups.

" - } - }, - "documentation":"

Output from an AddInstanceGroups call.

" - }, - "AddJobFlowStepsInput":{ - "type":"structure", - "required":[ - "JobFlowId", - "Steps" - ], - "members":{ - "JobFlowId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from ListClusters.

" - }, - "Steps":{ - "shape":"StepConfigList", - "documentation":"

A list of StepConfig to be executed by the job flow.

" - } - }, - "documentation":"

The input argument to the AddJobFlowSteps operation.

" - }, - "AddJobFlowStepsOutput":{ - "type":"structure", - "members":{ - "StepIds":{ - "shape":"StepIdsList", - "documentation":"

The identifiers of the list of steps added to the job flow.

" - } - }, - "documentation":"

The output for the AddJobFlowSteps operation.

" - }, - "AddTagsInput":{ - "type":"structure", - "required":[ - "ResourceId", - "Tags" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The Amazon EMR resource identifier to which tags will be added. This value must be a cluster identifier.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

" - } - }, - "documentation":"

This input identifies a cluster and a list of tags to attach.

" - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

This output indicates the result of adding tags to a resource.

" - }, - "AdjustmentType":{ - "type":"string", - "enum":[ - "CHANGE_IN_CAPACITY", - "PERCENT_CHANGE_IN_CAPACITY", - "EXACT_CAPACITY" - ] - }, - "Application":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the application.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The version of the application.

" - }, - "Args":{ - "shape":"StringList", - "documentation":"

Arguments for Amazon EMR to pass to the application.

" - }, - "AdditionalInfo":{ - "shape":"StringMap", - "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 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.x and later, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.

" - }, - "ApplicationList":{ - "type":"list", - "member":{"shape":"Application"} - }, - "AutoScalingPolicy":{ - "type":"structure", - "required":[ - "Constraints", - "Rules" - ], - "members":{ - "Constraints":{ - "shape":"ScalingConstraints", - "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

" - }, - "Rules":{ - "shape":"ScalingRuleList", - "documentation":"

The scale-in and scale-out rules that comprise the automatic scaling policy.

" - } - }, - "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" - }, - "AutoScalingPolicyDescription":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"AutoScalingPolicyStatus", - "documentation":"

The status of an automatic scaling policy.

" - }, - "Constraints":{ - "shape":"ScalingConstraints", - "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

" - }, - "Rules":{ - "shape":"ScalingRuleList", - "documentation":"

The scale-in and scale-out rules that comprise the automatic scaling policy.

" - } - }, - "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" - }, - "AutoScalingPolicyState":{ - "type":"string", - "enum":[ - "PENDING", - "ATTACHING", - "ATTACHED", - "DETACHING", - "DETACHED", - "FAILED" - ] - }, - "AutoScalingPolicyStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"AutoScalingPolicyStateChangeReasonCode", - "documentation":"

The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

" - }, - "Message":{ - "shape":"String", - "documentation":"

A friendly, more verbose message that accompanies an automatic scaling policy state change.

" - } - }, - "documentation":"

The reason for an AutoScalingPolicyStatus change.

" - }, - "AutoScalingPolicyStateChangeReasonCode":{ - "type":"string", - "enum":[ - "USER_REQUEST", - "PROVISION_FAILURE", - "CLEANUP_FAILURE" - ] - }, - "AutoScalingPolicyStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"AutoScalingPolicyState", - "documentation":"

Indicates the status of the automatic scaling policy.

" - }, - "StateChangeReason":{ - "shape":"AutoScalingPolicyStateChangeReason", - "documentation":"

The reason for a change in status.

" - } - }, - "documentation":"

The status of an automatic scaling policy.

" - }, - "Boolean":{"type":"boolean"}, - "BooleanObject":{"type":"boolean"}, - "BootstrapActionConfig":{ - "type":"structure", - "required":[ - "Name", - "ScriptBootstrapAction" - ], - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the bootstrap action.

" - }, - "ScriptBootstrapAction":{ - "shape":"ScriptBootstrapActionConfig", - "documentation":"

The script run by the bootstrap action.

" - } - }, - "documentation":"

Configuration of a bootstrap action.

" - }, - "BootstrapActionConfigList":{ - "type":"list", - "member":{"shape":"BootstrapActionConfig"} - }, - "BootstrapActionDetail":{ - "type":"structure", - "members":{ - "BootstrapActionConfig":{ - "shape":"BootstrapActionConfig", - "documentation":"

A description of the bootstrap action.

" - } - }, - "documentation":"

Reports the configuration of a bootstrap action in a cluster (job flow).

" - }, - "BootstrapActionDetailList":{ - "type":"list", - "member":{"shape":"BootstrapActionDetail"} - }, - "CancelStepsInfo":{ - "type":"structure", - "members":{ - "StepId":{ - "shape":"StepId", - "documentation":"

The encrypted StepId of a step.

" - }, - "Status":{ - "shape":"CancelStepsRequestStatus", - "documentation":"

The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

The reason for the failure if the CancelSteps request fails.

" - } - }, - "documentation":"

Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

" - }, - "CancelStepsInfoList":{ - "type":"list", - "member":{"shape":"CancelStepsInfo"} - }, - "CancelStepsInput":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

" - }, - "StepIds":{ - "shape":"StepIdsList", - "documentation":"

The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

" - } - }, - "documentation":"

The input argument to the CancelSteps operation.

" - }, - "CancelStepsOutput":{ - "type":"structure", - "members":{ - "CancelStepsInfoList":{ - "shape":"CancelStepsInfoList", - "documentation":"

A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified.

" - } - }, - "documentation":"

The output for the CancelSteps operation.

" - }, - "CancelStepsRequestStatus":{ - "type":"string", - "enum":[ - "SUBMITTED", - "FAILED" - ] - }, - "CloudWatchAlarmDefinition":{ - "type":"structure", - "required":[ - "ComparisonOperator", - "MetricName", - "Period", - "Threshold" - ], - "members":{ - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

Determines how the metric specified by MetricName is compared to the value specified by Threshold.

" - }, - "EvaluationPeriods":{ - "shape":"Integer", - "documentation":"

The number of periods, expressed in seconds using Period, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

" - }, - "MetricName":{ - "shape":"String", - "documentation":"

The name of the CloudWatch metric that is watched to determine an alarm condition.

" - }, - "Namespace":{ - "shape":"String", - "documentation":"

The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

" - }, - "Period":{ - "shape":"Integer", - "documentation":"

The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

" - }, - "Statistic":{ - "shape":"Statistic", - "documentation":"

The statistic to apply to the metric associated with the alarm. The default is AVERAGE.

" - }, - "Threshold":{ - "shape":"NonNegativeDouble", - "documentation":"

The value against which the specified statistic is compared.

" - }, - "Unit":{ - "shape":"Unit", - "documentation":"

The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

" - }, - "Dimensions":{ - "shape":"MetricDimensionList", - "documentation":"

A CloudWatch metric dimension.

" - } - }, - "documentation":"

The definition of a CloudWatch metric alarm, which determines when an automatic scaling activity is triggered. When the defined alarm conditions are satisfied, scaling activity begins.

" - }, - "Cluster":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ClusterId", - "documentation":"

The unique identifier for the cluster.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the cluster.

" - }, - "Status":{ - "shape":"ClusterStatus", - "documentation":"

The current status details about the cluster.

" - }, - "Ec2InstanceAttributes":{ - "shape":"Ec2InstanceAttributes", - "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" - }, - "InstanceCollectionType":{ - "shape":"InstanceCollectionType", - "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

" - }, - "LogUri":{ - "shape":"String", - "documentation":"

The path to the Amazon S3 location where logs for this cluster are stored.

" - }, - "RequestedAmiVersion":{ - "shape":"String", - "documentation":"

The AMI version requested for this cluster.

" - }, - "RunningAmiVersion":{ - "shape":"String", - "documentation":"

The AMI version running on this cluster.

" - }, - "ReleaseLabel":{ - "shape":"String", - "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see http://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" - }, - "AutoTerminate":{ - "shape":"Boolean", - "documentation":"

Specifies whether the cluster should terminate after completing all steps.

" - }, - "TerminationProtected":{ - "shape":"Boolean", - "documentation":"

Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances from being terminated by an API call or user intervention, or in the event of a cluster error.

" - }, - "VisibleToAllUsers":{ - "shape":"Boolean", - "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", - "documentation":"

The applications installed on this cluster.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags associated with a cluster.

" - }, - "ServiceRole":{ - "shape":"String", - "documentation":"

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

" - }, - "NormalizedInstanceHours":{ - "shape":"Integer", - "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" - }, - "MasterPublicDnsName":{ - "shape":"String", - "documentation":"

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

" - }, - "SecurityConfiguration":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration applied to the cluster.

" - }, - "AutoScalingRole":{ - "shape":"XmlString", - "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

" - }, - "ScaleDownBehavior":{ - "shape":"ScaleDownBehavior", - "documentation":"

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" - }, - "CustomAmiId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

" - }, - "EbsRootVolumeSize":{ - "shape":"Integer", - "documentation":"

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

" - }, - "RepoUpgradeOnBoot":{ - "shape":"RepoUpgradeOnBoot", - "documentation":"

Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

" - }, - "KerberosAttributes":{ - "shape":"KerberosAttributes", - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" - } - }, - "documentation":"

The detailed description of the cluster.

" - }, - "ClusterId":{"type":"string"}, - "ClusterState":{ - "type":"string", - "enum":[ - "STARTING", - "BOOTSTRAPPING", - "RUNNING", - "WAITING", - "TERMINATING", - "TERMINATED", - "TERMINATED_WITH_ERRORS" - ] - }, - "ClusterStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"ClusterStateChangeReasonCode", - "documentation":"

The programmatic code for the state change reason.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The descriptive message for the state change reason.

" - } - }, - "documentation":"

The reason that the cluster changed to its current state.

" - }, - "ClusterStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "VALIDATION_ERROR", - "INSTANCE_FAILURE", - "INSTANCE_FLEET_TIMEOUT", - "BOOTSTRAP_FAILURE", - "USER_REQUEST", - "STEP_FAILURE", - "ALL_STEPS_COMPLETED" - ] - }, - "ClusterStateList":{ - "type":"list", - "member":{"shape":"ClusterState"} - }, - "ClusterStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ClusterState", - "documentation":"

The current state of the cluster.

" - }, - "StateChangeReason":{ - "shape":"ClusterStateChangeReason", - "documentation":"

The reason for the cluster status change.

" - }, - "Timeline":{ - "shape":"ClusterTimeline", - "documentation":"

A timeline that represents the status of a cluster over the lifetime of the cluster.

" - } - }, - "documentation":"

The detailed status of the cluster.

" - }, - "ClusterSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ClusterId", - "documentation":"

The unique identifier for the cluster.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the cluster.

" - }, - "Status":{ - "shape":"ClusterStatus", - "documentation":"

The details about the current status of the cluster.

" - }, - "NormalizedInstanceHours":{ - "shape":"Integer", - "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.

" - }, - "ClusterSummaryList":{ - "type":"list", - "member":{"shape":"ClusterSummary"} - }, - "ClusterTimeline":{ - "type":"structure", - "members":{ - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation date and time of the cluster.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the cluster was ready to execute steps.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the cluster was terminated.

" - } - }, - "documentation":"

Represents the timeline of the cluster's lifecycle.

" - }, - "Command":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the command.

" - }, - "ScriptPath":{ - "shape":"String", - "documentation":"

The Amazon S3 location of the command script.

" - }, - "Args":{ - "shape":"StringList", - "documentation":"

Arguments for Amazon EMR to pass to the command for execution.

" - } - }, - "documentation":"

An entity describing an executable that runs on a cluster.

" - }, - "CommandList":{ - "type":"list", - "member":{"shape":"Command"} - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "GREATER_THAN_OR_EQUAL", - "GREATER_THAN", - "LESS_THAN", - "LESS_THAN_OR_EQUAL" - ] - }, - "Configuration":{ - "type":"structure", - "members":{ - "Classification":{ - "shape":"String", - "documentation":"

The classification within a configuration.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

A list of additional configurations to apply within a configuration object.

" - }, - "Properties":{ - "shape":"StringMap", - "documentation":"

A set of properties specified within a configuration classification.

" - } - }, - "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", - "member":{"shape":"Configuration"} - }, - "CreateSecurityConfigurationInput":{ - "type":"structure", - "required":[ - "Name", - "SecurityConfiguration" - ], - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - }, - "SecurityConfiguration":{ - "shape":"String", - "documentation":"

The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

" - } - } - }, - "CreateSecurityConfigurationOutput":{ - "type":"structure", - "required":[ - "Name", - "CreationDateTime" - ], - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time the security configuration was created.

" - } - } - }, - "Date":{"type":"timestamp"}, - "DeleteSecurityConfigurationInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - } - } - }, - "DeleteSecurityConfigurationOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeClusterInput":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier of the cluster to describe.

" - } - }, - "documentation":"

This input determines which cluster to describe.

" - }, - "DescribeClusterOutput":{ - "type":"structure", - "members":{ - "Cluster":{ - "shape":"Cluster", - "documentation":"

This output contains the details for the requested cluster.

" - } - }, - "documentation":"

This output contains the description of the cluster.

" - }, - "DescribeJobFlowsInput":{ - "type":"structure", - "members":{ - "CreatedAfter":{ - "shape":"Date", - "documentation":"

Return only job flows created after this date and time.

" - }, - "CreatedBefore":{ - "shape":"Date", - "documentation":"

Return only job flows created before this date and time.

" - }, - "JobFlowIds":{ - "shape":"XmlStringList", - "documentation":"

Return only job flows whose job flow ID is contained in this list.

" - }, - "JobFlowStates":{ - "shape":"JobFlowExecutionStateList", - "documentation":"

Return only job flows whose state is contained in this list.

" - } - }, - "documentation":"

The input for the DescribeJobFlows operation.

" - }, - "DescribeJobFlowsOutput":{ - "type":"structure", - "members":{ - "JobFlows":{ - "shape":"JobFlowDetailList", - "documentation":"

A list of job flows matching the parameters supplied.

" - } - }, - "documentation":"

The output for the DescribeJobFlows operation.

" - }, - "DescribeSecurityConfigurationInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - } - } - }, - "DescribeSecurityConfigurationOutput":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - }, - "SecurityConfiguration":{ - "shape":"String", - "documentation":"

The security configuration details in JSON format.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time the security configuration was created

" - } - } - }, - "DescribeStepInput":{ - "type":"structure", - "required":[ - "ClusterId", - "StepId" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier of the cluster with steps to describe.

" - }, - "StepId":{ - "shape":"StepId", - "documentation":"

The identifier of the step to describe.

" - } - }, - "documentation":"

This input determines which step to describe.

" - }, - "DescribeStepOutput":{ - "type":"structure", - "members":{ - "Step":{ - "shape":"Step", - "documentation":"

The step details for the requested step identifier.

" - } - }, - "documentation":"

This output contains the description of the cluster step.

" - }, - "EC2InstanceIdsList":{ - "type":"list", - "member":{"shape":"InstanceId"} - }, - "EC2InstanceIdsToTerminateList":{ - "type":"list", - "member":{"shape":"InstanceId"} - }, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "VolumeSpecification":{ - "shape":"VolumeSpecification", - "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name that is exposed to the instance, such as /dev/sdh.

" - } - }, - "documentation":"

Configuration of requested EBS block device associated with the instance group.

" - }, - "EbsBlockDeviceConfig":{ - "type":"structure", - "required":["VolumeSpecification"], - "members":{ - "VolumeSpecification":{ - "shape":"VolumeSpecification", - "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" - }, - "VolumesPerInstance":{ - "shape":"Integer", - "documentation":"

Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

" - } - }, - "documentation":"

Configuration of requested EBS block device associated with the instance group with count of volumes that will be associated to every instance.

" - }, - "EbsBlockDeviceConfigList":{ - "type":"list", - "member":{"shape":"EbsBlockDeviceConfig"} - }, - "EbsBlockDeviceList":{ - "type":"list", - "member":{"shape":"EbsBlockDevice"} - }, - "EbsConfiguration":{ - "type":"structure", - "members":{ - "EbsBlockDeviceConfigs":{ - "shape":"EbsBlockDeviceConfigList", - "documentation":"

An array of Amazon EBS volume specifications attached to a cluster instance.

" - }, - "EbsOptimized":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether an Amazon EBS volume is EBS-optimized.

" - } - }, - "documentation":"

The Amazon EBS configuration of a cluster instance.

" - }, - "EbsVolume":{ - "type":"structure", - "members":{ - "Device":{ - "shape":"String", - "documentation":"

The device name that is exposed to the instance, such as /dev/sdh.

" - }, - "VolumeId":{ - "shape":"String", - "documentation":"

The volume identifier of the EBS volume.

" - } - }, - "documentation":"

EBS block device that's attached to an EC2 instance.

" - }, - "EbsVolumeList":{ - "type":"list", - "member":{"shape":"EbsVolume"} - }, - "Ec2InstanceAttributes":{ - "type":"structure", - "members":{ - "Ec2KeyName":{ - "shape":"String", - "documentation":"

The name of the Amazon EC2 key pair to use when connecting with SSH into the master node as a user named \"hadoop\".

" - }, - "Ec2SubnetId":{ - "shape":"String", - "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. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

" - }, - "Ec2AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the cluster will run.

" - }, - "RequestedEc2AvailabilityZones":{ - "shape":"XmlStringMaxLen256List", - "documentation":"

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

" - }, - "IamInstanceProfile":{ - "shape":"String", - "documentation":"

The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

" - }, - "EmrManagedMasterSecurityGroup":{ - "shape":"String", - "documentation":"

The identifier of the Amazon EC2 security group for the master node.

" - }, - "EmrManagedSlaveSecurityGroup":{ - "shape":"String", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" - }, - "ServiceAccessSecurityGroup":{ - "shape":"String", - "documentation":"

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

" - }, - "AdditionalMasterSecurityGroups":{ - "shape":"StringList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the master node.

" - }, - "AdditionalSlaveSecurityGroups":{ - "shape":"StringList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" - } - }, - "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" - }, - "ErrorCode":{ - "type":"string", - "max":256, - "min":1 - }, - "ErrorMessage":{"type":"string"}, - "FailureDetails":{ - "type":"structure", - "members":{ - "Reason":{ - "shape":"String", - "documentation":"

The reason for the step failure. In the case where the service cannot successfully determine the root cause of the failure, it returns \"Unknown Error\" as a reason.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The descriptive message including the error the EMR service has identified as the cause of step failure. This is text from an error log that describes the root cause of the failure.

" - }, - "LogFile":{ - "shape":"String", - "documentation":"

The path to the log file where the step failure root cause was originally recorded.

" - } - }, - "documentation":"

The details of the step failure. The service attempts to detect the root cause for many common failures.

" - }, - "HadoopJarStepConfig":{ - "type":"structure", - "required":["Jar"], - "members":{ - "Properties":{ - "shape":"KeyValueList", - "documentation":"

A list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

" - }, - "Jar":{ - "shape":"XmlString", - "documentation":"

A path to a JAR file run during the step.

" - }, - "MainClass":{ - "shape":"XmlString", - "documentation":"

The name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.

" - }, - "Args":{ - "shape":"XmlStringList", - "documentation":"

A list of command line arguments passed to the JAR file's main function when executed.

" - } - }, - "documentation":"

A job flow step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

" - }, - "HadoopStepConfig":{ - "type":"structure", - "members":{ - "Jar":{ - "shape":"String", - "documentation":"

The path to the JAR file that runs during the step.

" - }, - "Properties":{ - "shape":"StringMap", - "documentation":"

The list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.

" - }, - "MainClass":{ - "shape":"String", - "documentation":"

The name of the main class in the specified Java file. If not specified, the JAR file should specify a main class in its manifest file.

" - }, - "Args":{ - "shape":"StringList", - "documentation":"

The list of command line arguments to pass to the JAR file's main function for execution.

" - } - }, - "documentation":"

A cluster step consisting of a JAR file whose main function will be executed. The main function submits a job for Hadoop to execute and waits for the job to finish or fail.

" - }, - "Instance":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"InstanceId", - "documentation":"

The unique identifier for the instance in Amazon EMR.

" - }, - "Ec2InstanceId":{ - "shape":"InstanceId", - "documentation":"

The unique identifier of the instance in Amazon EC2.

" - }, - "PublicDnsName":{ - "shape":"String", - "documentation":"

The public DNS name of the instance.

" - }, - "PublicIpAddress":{ - "shape":"String", - "documentation":"

The public IP address of the instance.

" - }, - "PrivateDnsName":{ - "shape":"String", - "documentation":"

The private DNS name of the instance.

" - }, - "PrivateIpAddress":{ - "shape":"String", - "documentation":"

The private IP address of the instance.

" - }, - "Status":{ - "shape":"InstanceStatus", - "documentation":"

The current status of the instance.

" - }, - "InstanceGroupId":{ - "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.

" - } - }, - "documentation":"

Represents an EC2 instance provisioned as part of cluster.

" - }, - "InstanceCollectionType":{ - "type":"string", - "enum":[ - "INSTANCE_FLEET", - "INSTANCE_GROUP" - ] - }, - "InstanceFleet":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"InstanceFleetId", - "documentation":"

The unique identifier of the instance fleet.

" - }, - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

A friendly name for the instance fleet.

" - }, - "Status":{ - "shape":"InstanceFleetStatus", - "documentation":"

The current status of the instance fleet.

" - }, - "InstanceFleetType":{ - "shape":"InstanceFleetType", - "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.

" - }, - "TargetOnDemandCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" - }, - "TargetSpotCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" - }, - "ProvisionedOnDemandCapacity":{ - "shape":"WholeNumber", - "documentation":"

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

" - }, - "ProvisionedSpotCapacity":{ - "shape":"WholeNumber", - "documentation":"

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

" - }, - "InstanceTypeSpecifications":{ - "shape":"InstanceTypeSpecificationList", - "documentation":"

The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet.

" - }, - "LaunchSpecifications":{ - "shape":"InstanceFleetProvisioningSpecifications", - "documentation":"

Describes the launch specification for an instance fleet.

" - } - }, - "documentation":"

Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetConfig":{ - "type":"structure", - "required":["InstanceFleetType"], - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The friendly name of the instance fleet.

" - }, - "InstanceFleetType":{ - "shape":"InstanceFleetType", - "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

" - }, - "TargetOnDemandCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" - }, - "TargetSpotCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" - }, - "InstanceTypeConfigs":{ - "shape":"InstanceTypeConfigList", - "documentation":"

The instance type configurations that define the EC2 instances in the instance fleet.

" - }, - "LaunchSpecifications":{ - "shape":"InstanceFleetProvisioningSpecifications", - "documentation":"

The launch specification for the instance fleet.

" - } - }, - "documentation":"

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetConfigList":{ - "type":"list", - "member":{"shape":"InstanceFleetConfig"} - }, - "InstanceFleetId":{"type":"string"}, - "InstanceFleetList":{ - "type":"list", - "member":{"shape":"InstanceFleet"} - }, - "InstanceFleetModifyConfig":{ - "type":"structure", - "required":["InstanceFleetId"], - "members":{ - "InstanceFleetId":{ - "shape":"InstanceFleetId", - "documentation":"

A unique identifier for the instance fleet.

" - }, - "TargetOnDemandCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

" - }, - "TargetSpotCapacity":{ - "shape":"WholeNumber", - "documentation":"

The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

" - } - }, - "documentation":"

Configuration parameters for an instance fleet modification request.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetProvisioningSpecifications":{ - "type":"structure", - "required":["SpotSpecification"], - "members":{ - "SpotSpecification":{ - "shape":"SpotProvisioningSpecification", - "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

" - } - }, - "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetState":{ - "type":"string", - "enum":[ - "PROVISIONING", - "BOOTSTRAPPING", - "RUNNING", - "RESIZING", - "SUSPENDED", - "TERMINATING", - "TERMINATED" - ] - }, - "InstanceFleetStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"InstanceFleetStateChangeReasonCode", - "documentation":"

A code corresponding to the reason the state change occurred.

" - }, - "Message":{ - "shape":"String", - "documentation":"

An explanatory message.

" - } - }, - "documentation":"

Provides status change reason details for the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "VALIDATION_ERROR", - "INSTANCE_FAILURE", - "CLUSTER_TERMINATED" - ] - }, - "InstanceFleetStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"InstanceFleetState", - "documentation":"

A code representing the instance fleet status.

  • PROVISIONING—The instance fleet is provisioning EC2 resources and is not yet ready to run jobs.

  • BOOTSTRAPPING—EC2 instances and other resources have been provisioned and the bootstrap actions specified for the instances are underway.

  • RUNNING—EC2 instances and other resources are running. They are either executing jobs or waiting to execute jobs.

  • RESIZING—A resize operation is underway. EC2 instances are either being added or removed.

  • SUSPENDED—A resize operation could not complete. Existing EC2 instances are running, but instances can't be added or removed.

  • TERMINATING—The instance fleet is terminating EC2 instances.

  • TERMINATED—The instance fleet is no longer active, and all EC2 instances have been terminated.

" - }, - "StateChangeReason":{ - "shape":"InstanceFleetStateChangeReason", - "documentation":"

Provides status change reason details for the instance fleet.

" - }, - "Timeline":{ - "shape":"InstanceFleetTimeline", - "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

" - } - }, - "documentation":"

The status of the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetTimeline":{ - "type":"structure", - "members":{ - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The time and date the instance fleet was created.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The time and date the instance fleet was ready to run jobs.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The time and date the instance fleet terminated.

" - } - }, - "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceFleetType":{ - "type":"string", - "enum":[ - "MASTER", - "CORE", - "TASK" - ] - }, - "InstanceGroup":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"InstanceGroupId", - "documentation":"

The identifier of the instance group.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the instance group.

" - }, - "Market":{ - "shape":"MarketType", - "documentation":"

The marketplace to provision instances for this group. Valid values are ON_DEMAND or SPOT.

" - }, - "InstanceGroupType":{ - "shape":"InstanceGroupType", - "documentation":"

The type of the instance group. Valid values are MASTER, CORE or TASK.

" - }, - "BidPrice":{ - "shape":"String", - "documentation":"

The maximum Spot price your are willing to pay for EC2 instances.

An optional, nullable field that applies if the MarketType for the instance group is specified as SPOT. Specify the maximum spot price in USD. If the value is NULL and SPOT is specified, the maximum Spot price is set equal to the On-Demand price.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The EC2 instance type for all instances in the instance group.

" - }, - "RequestedInstanceCount":{ - "shape":"Integer", - "documentation":"

The target number of instances for the instance group.

" - }, - "RunningInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances currently running in this instance group.

" - }, - "Status":{ - "shape":"InstanceGroupStatus", - "documentation":"

The current status of the instance group.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

Amazon EMR releases 4.x or later.

The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

" - }, - "EbsBlockDevices":{ - "shape":"EbsBlockDeviceList", - "documentation":"

The EBS block devices that are mapped to this instance group.

" - }, - "EbsOptimized":{ - "shape":"BooleanObject", - "documentation":"

If the instance group is EBS-optimized. An Amazon EBS-optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O.

" - }, - "ShrinkPolicy":{ - "shape":"ShrinkPolicy", - "documentation":"

Policy for customizing shrink operations.

" - }, - "AutoScalingPolicy":{ - "shape":"AutoScalingPolicyDescription", - "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" - } - }, - "documentation":"

This entity represents an instance group, which is a group of instances that have common purpose. For example, CORE instance group is used for HDFS.

" - }, - "InstanceGroupConfig":{ - "type":"structure", - "required":[ - "InstanceRole", - "InstanceType", - "InstanceCount" - ], - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Friendly name given to the instance group.

" - }, - "Market":{ - "shape":"MarketType", - "documentation":"

Market type of the EC2 instances used to create a cluster node.

" - }, - "InstanceRole":{ - "shape":"InstanceRoleType", - "documentation":"

The role of the instance group in the cluster.

" - }, - "BidPrice":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The maximum Spot price your are willing to pay for EC2 instances.

An optional, nullable field that applies if the MarketType for the instance group is specified as SPOT. Specify the maximum spot price in USD. If the value is NULL and SPOT is specified, the maximum Spot price is set equal to the On-Demand price.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The EC2 instance type for all instances in the instance group.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

Target number of instances for the instance group.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

Amazon EMR releases 4.x or later.

The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

" - }, - "EbsConfiguration":{ - "shape":"EbsConfiguration", - "documentation":"

EBS configurations that will be attached to each EC2 instance in the instance group.

" - }, - "AutoScalingPolicy":{ - "shape":"AutoScalingPolicy", - "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" - } - }, - "documentation":"

Configuration defining a new instance group.

" - }, - "InstanceGroupConfigList":{ - "type":"list", - "member":{"shape":"InstanceGroupConfig"} - }, - "InstanceGroupDetail":{ - "type":"structure", - "required":[ - "Market", - "InstanceRole", - "InstanceType", - "InstanceRequestCount", - "InstanceRunningCount", - "State", - "CreationDateTime" - ], - "members":{ - "InstanceGroupId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Unique identifier for the instance group.

" - }, - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Friendly name for the instance group.

" - }, - "Market":{ - "shape":"MarketType", - "documentation":"

Market type of the EC2 instances used to create a cluster node.

" - }, - "InstanceRole":{ - "shape":"InstanceRoleType", - "documentation":"

Instance group role in the cluster

" - }, - "BidPrice":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The maximum Spot price your are willing to pay for EC2 instances.

An optional, nullable field that applies if the MarketType for the instance group is specified as SPOT. Specified in USD. If the value is NULL and SPOT is specified, the maximum Spot price is set equal to the On-Demand price.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

EC2 instance type.

" - }, - "InstanceRequestCount":{ - "shape":"Integer", - "documentation":"

Target number of instances to run in the instance group.

" - }, - "InstanceRunningCount":{ - "shape":"Integer", - "documentation":"

Actual count of running instances.

" - }, - "State":{ - "shape":"InstanceGroupState", - "documentation":"

State of instance group. The following values are deprecated: STARTING, TERMINATED, and FAILED.

" - }, - "LastStateChangeReason":{ - "shape":"XmlString", - "documentation":"

Details regarding the state of the instance group.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date/time the instance group was created.

" - }, - "StartDateTime":{ - "shape":"Date", - "documentation":"

The date/time the instance group was started.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The date/time the instance group was available to the cluster.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The date/time the instance group was terminated.

" - } - }, - "documentation":"

Detailed information about an instance group.

" - }, - "InstanceGroupDetailList":{ - "type":"list", - "member":{"shape":"InstanceGroupDetail"} - }, - "InstanceGroupId":{"type":"string"}, - "InstanceGroupIdsList":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen256"} - }, - "InstanceGroupList":{ - "type":"list", - "member":{"shape":"InstanceGroup"} - }, - "InstanceGroupModifyConfig":{ - "type":"structure", - "required":["InstanceGroupId"], - "members":{ - "InstanceGroupId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Unique ID of the instance group to expand or shrink.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

Target size for the instance group.

" - }, - "EC2InstanceIdsToTerminate":{ - "shape":"EC2InstanceIdsToTerminateList", - "documentation":"

The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size.

" - }, - "ShrinkPolicy":{ - "shape":"ShrinkPolicy", - "documentation":"

Policy for customizing shrink operations.

" - } - }, - "documentation":"

Modify an instance group size.

" - }, - "InstanceGroupModifyConfigList":{ - "type":"list", - "member":{"shape":"InstanceGroupModifyConfig"} - }, - "InstanceGroupState":{ - "type":"string", - "enum":[ - "PROVISIONING", - "BOOTSTRAPPING", - "RUNNING", - "RESIZING", - "SUSPENDED", - "TERMINATING", - "TERMINATED", - "ARRESTED", - "SHUTTING_DOWN", - "ENDED" - ] - }, - "InstanceGroupStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"InstanceGroupStateChangeReasonCode", - "documentation":"

The programmable code for the state change reason.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The status change reason description.

" - } - }, - "documentation":"

The status change reason details for the instance group.

" - }, - "InstanceGroupStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "VALIDATION_ERROR", - "INSTANCE_FAILURE", - "CLUSTER_TERMINATED" - ] - }, - "InstanceGroupStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"InstanceGroupState", - "documentation":"

The current state of the instance group.

" - }, - "StateChangeReason":{ - "shape":"InstanceGroupStateChangeReason", - "documentation":"

The status change reason details for the instance group.

" - }, - "Timeline":{ - "shape":"InstanceGroupTimeline", - "documentation":"

The timeline of the instance group status over time.

" - } - }, - "documentation":"

The details of the instance group status.

" - }, - "InstanceGroupTimeline":{ - "type":"structure", - "members":{ - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation date and time of the instance group.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the instance group became ready to perform tasks.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the instance group terminated.

" - } - }, - "documentation":"

The timeline of the instance group lifecycle.

" - }, - "InstanceGroupType":{ - "type":"string", - "enum":[ - "MASTER", - "CORE", - "TASK" - ] - }, - "InstanceGroupTypeList":{ - "type":"list", - "member":{"shape":"InstanceGroupType"} - }, - "InstanceId":{"type":"string"}, - "InstanceList":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InstanceResizePolicy":{ - "type":"structure", - "members":{ - "InstancesToTerminate":{ - "shape":"EC2InstanceIdsList", - "documentation":"

Specific list of instances to be terminated when shrinking an instance group.

" - }, - "InstancesToProtect":{ - "shape":"EC2InstanceIdsList", - "documentation":"

Specific list of instances to be protected when shrinking an instance group.

" - }, - "InstanceTerminationTimeout":{ - "shape":"Integer", - "documentation":"

Decommissioning timeout override for the specific list of instances to be terminated.

" - } - }, - "documentation":"

Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

" - }, - "InstanceRoleType":{ - "type":"string", - "enum":[ - "MASTER", - "CORE", - "TASK" - ] - }, - "InstanceState":{ - "type":"string", - "enum":[ - "AWAITING_FULFILLMENT", - "PROVISIONING", - "BOOTSTRAPPING", - "RUNNING", - "TERMINATED" - ] - }, - "InstanceStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"InstanceStateChangeReasonCode", - "documentation":"

The programmable code for the state change reason.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The status change reason description.

" - } - }, - "documentation":"

The details of the status change reason for the instance.

" - }, - "InstanceStateChangeReasonCode":{ - "type":"string", - "enum":[ - "INTERNAL_ERROR", - "VALIDATION_ERROR", - "INSTANCE_FAILURE", - "BOOTSTRAP_FAILURE", - "CLUSTER_TERMINATED" - ] - }, - "InstanceStateList":{ - "type":"list", - "member":{"shape":"InstanceState"} - }, - "InstanceStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"InstanceState", - "documentation":"

The current state of the instance.

" - }, - "StateChangeReason":{ - "shape":"InstanceStateChangeReason", - "documentation":"

The details of the status change reason for the instance.

" - }, - "Timeline":{ - "shape":"InstanceTimeline", - "documentation":"

The timeline of the instance status over time.

" - } - }, - "documentation":"

The instance status details.

" - }, - "InstanceTimeline":{ - "type":"structure", - "members":{ - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation date and time of the instance.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the instance was ready to perform tasks.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the instance was terminated.

" - } - }, - "documentation":"

The timeline of the instance lifecycle.

" - }, - "InstanceType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "InstanceTypeConfig":{ - "type":"structure", - "required":["InstanceType"], - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

An EC2 instance type, such as m3.xlarge.

" - }, - "WeightedCapacity":{ - "shape":"WholeNumber", - "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.

" - }, - "BidPrice":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" - }, - "BidPriceAsPercentageOfOnDemandPrice":{ - "shape":"NonNegativeDouble", - "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" - }, - "EbsConfiguration":{ - "shape":"EbsConfiguration", - "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

" - } - }, - "documentation":"

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceTypeConfigList":{ - "type":"list", - "member":{"shape":"InstanceTypeConfig"} - }, - "InstanceTypeSpecification":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The EC2 instance type, for example m3.xlarge.

" - }, - "WeightedCapacity":{ - "shape":"WholeNumber", - "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

" - }, - "BidPrice":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

" - }, - "BidPriceAsPercentageOfOnDemandPrice":{ - "shape":"NonNegativeDouble", - "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

" - }, - "EbsBlockDevices":{ - "shape":"EbsBlockDeviceList", - "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" - }, - "EbsOptimized":{ - "shape":"BooleanObject", - "documentation":"

Evaluates to TRUE when the specified InstanceType is EBS-optimized.

" - } - }, - "documentation":"

The configuration specification for each instance type in an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "InstanceTypeSpecificationList":{ - "type":"list", - "member":{"shape":"InstanceTypeSpecification"} - }, - "Integer":{"type":"integer"}, - "InternalServerError":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that an error occurred while processing the request and that the request was not completed.

", - "exception":true - }, - "InternalServerException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"ErrorMessage", - "documentation":"

The message associated with the exception.

" - } - }, - "documentation":"

This exception occurs when there is an internal failure in the EMR service.

", - "exception":true, - "fault":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code associated with the exception.

" - }, - "Message":{ - "shape":"ErrorMessage", - "documentation":"

The message associated with the exception.

" - } - }, - "documentation":"

This exception occurs when there is something wrong with user input.

", - "exception":true - }, - "JobFlowDetail":{ - "type":"structure", - "required":[ - "JobFlowId", - "Name", - "ExecutionStatusDetail", - "Instances" - ], - "members":{ - "JobFlowId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The job flow identifier.

" - }, - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the job flow.

" - }, - "LogUri":{ - "shape":"XmlString", - "documentation":"

The location in Amazon S3 where log files for the job are stored.

" - }, - "AmiVersion":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

" - }, - "ExecutionStatusDetail":{ - "shape":"JobFlowExecutionStatusDetail", - "documentation":"

Describes the execution status of the job flow.

" - }, - "Instances":{ - "shape":"JobFlowInstancesDetail", - "documentation":"

Describes the Amazon EC2 instances of the job flow.

" - }, - "Steps":{ - "shape":"StepDetailList", - "documentation":"

A list of steps run by the job flow.

" - }, - "BootstrapActions":{ - "shape":"BootstrapActionDetailList", - "documentation":"

A list of the bootstrap actions run by the job flow.

" - }, - "SupportedProducts":{ - "shape":"SupportedProductsList", - "documentation":"

A list of strings set by third party software when the job flow is launched. If you are not using third party software to manage the job flow this value is empty.

" - }, - "VisibleToAllUsers":{ - "shape":"Boolean", - "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", - "documentation":"

The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

" - }, - "ServiceRole":{ - "shape":"XmlString", - "documentation":"

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

" - }, - "AutoScalingRole":{ - "shape":"XmlString", - "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

" - }, - "ScaleDownBehavior":{ - "shape":"ScaleDownBehavior", - "documentation":"

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" - } - }, - "documentation":"

A description of a cluster (job flow).

" - }, - "JobFlowDetailList":{ - "type":"list", - "member":{"shape":"JobFlowDetail"} - }, - "JobFlowExecutionState":{ - "type":"string", - "documentation":"

The type of instance.

", - "enum":[ - "STARTING", - "BOOTSTRAPPING", - "RUNNING", - "WAITING", - "SHUTTING_DOWN", - "TERMINATED", - "COMPLETED", - "FAILED" - ] - }, - "JobFlowExecutionStateList":{ - "type":"list", - "member":{"shape":"JobFlowExecutionState"} - }, - "JobFlowExecutionStatusDetail":{ - "type":"structure", - "required":[ - "State", - "CreationDateTime" - ], - "members":{ - "State":{ - "shape":"JobFlowExecutionState", - "documentation":"

The state of the job flow.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation date and time of the job flow.

" - }, - "StartDateTime":{ - "shape":"Date", - "documentation":"

The start date and time of the job flow.

" - }, - "ReadyDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the job flow was ready to start running bootstrap actions.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The completion date and time of the job flow.

" - }, - "LastStateChangeReason":{ - "shape":"XmlString", - "documentation":"

Description of the job flow last changed state.

" - } - }, - "documentation":"

Describes the status of the cluster (job flow).

" - }, - "JobFlowInstancesConfig":{ - "type":"structure", - "members":{ - "MasterInstanceType":{ - "shape":"InstanceType", - "documentation":"

The EC2 instance type of the master node.

" - }, - "SlaveInstanceType":{ - "shape":"InstanceType", - "documentation":"

The EC2 instance type of the slave nodes.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of EC2 instances in the cluster.

" - }, - "InstanceGroups":{ - "shape":"InstanceGroupConfigList", - "documentation":"

Configuration for the instance groups in a cluster.

" - }, - "InstanceFleets":{ - "shape":"InstanceFleetConfigList", - "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

" - }, - "Ec2KeyName":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

" - }, - "Placement":{ - "shape":"PlacementType", - "documentation":"

The Availability Zone in which the cluster runs.

" - }, - "KeepJobFlowAliveWhenNoSteps":{ - "shape":"Boolean", - "documentation":"

Specifies whether the cluster should remain available after completing all steps.

" - }, - "TerminationProtected":{ - "shape":"Boolean", - "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":"

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

" - }, - "Ec2SubnetId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

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", - "documentation":"

The identifier of the Amazon EC2 security group for the master node.

" - }, - "EmrManagedSlaveSecurityGroup":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" - }, - "ServiceAccessSecurityGroup":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The identifier of the Amazon EC2 security group for the Amazon EMR service to access clusters in VPC private subnets.

" - }, - "AdditionalMasterSecurityGroups":{ - "shape":"SecurityGroupsList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the master node.

" - }, - "AdditionalSlaveSecurityGroups":{ - "shape":"SecurityGroupsList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" - } - }, - "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", - "required":[ - "MasterInstanceType", - "SlaveInstanceType", - "InstanceCount" - ], - "members":{ - "MasterInstanceType":{ - "shape":"InstanceType", - "documentation":"

The Amazon EC2 master node instance type.

" - }, - "MasterPublicDnsName":{ - "shape":"XmlString", - "documentation":"

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

" - }, - "MasterInstanceId":{ - "shape":"XmlString", - "documentation":"

The Amazon EC2 instance identifier of the master node.

" - }, - "SlaveInstanceType":{ - "shape":"InstanceType", - "documentation":"

The Amazon EC2 slave node instance type.

" - }, - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and slave node. If the value is greater than 1, one instance is the master node and all others are slave nodes.

" - }, - "InstanceGroups":{ - "shape":"InstanceGroupDetailList", - "documentation":"

Details about the instance groups in a cluster.

" - }, - "NormalizedInstanceHours":{ - "shape":"Integer", - "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.

" - }, - "Ec2SubnetId":{ - "shape":"XmlStringMaxLen256", - "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 cluster.

" - }, - "KeepJobFlowAliveWhenNoSteps":{ - "shape":"Boolean", - "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.

" - }, - "HadoopVersion":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The Hadoop version for the cluster.

" - } - }, - "documentation":"

Specify the type of Amazon EC2 instances that the cluster (job flow) runs on.

" - }, - "KerberosAttributes":{ - "type":"structure", - "required":[ - "Realm", - "KdcAdminPassword" - ], - "members":{ - "Realm":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the Kerberos realm to which all nodes in a cluster belong. For example, EC2.INTERNAL.

" - }, - "KdcAdminPassword":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster.

" - }, - "CrossRealmTrustPrincipalPassword":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms.

" - }, - "ADDomainJoinUser":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

" - }, - "ADDomainJoinPassword":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The Active Directory password for ADDomainJoinUser.

" - } - }, - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" - }, - "KeyValue":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"XmlString", - "documentation":"

The unique identifier of a key value pair.

" - }, - "Value":{ - "shape":"XmlString", - "documentation":"

The value part of the identified key.

" - } - }, - "documentation":"

A key value pair.

" - }, - "KeyValueList":{ - "type":"list", - "member":{"shape":"KeyValue"} - }, - "ListBootstrapActionsInput":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The cluster identifier for the bootstrap actions to list.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines which bootstrap actions to retrieve.

" - }, - "ListBootstrapActionsOutput":{ - "type":"structure", - "members":{ - "BootstrapActions":{ - "shape":"CommandList", - "documentation":"

The bootstrap actions associated with the cluster.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This output contains the bootstrap actions detail.

" - }, - "ListClustersInput":{ - "type":"structure", - "members":{ - "CreatedAfter":{ - "shape":"Date", - "documentation":"

The creation date and time beginning value filter for listing clusters.

" - }, - "CreatedBefore":{ - "shape":"Date", - "documentation":"

The creation date and time end value filter for listing clusters.

" - }, - "ClusterStates":{ - "shape":"ClusterStateList", - "documentation":"

The cluster state filters to apply when listing clusters.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines how the ListClusters action filters the list of clusters that it returns.

" - }, - "ListClustersOutput":{ - "type":"structure", - "members":{ - "Clusters":{ - "shape":"ClusterSummaryList", - "documentation":"

The list of clusters for the account based on the given filters.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

" - }, - "ListInstanceFleetsInput":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The unique identifier of the cluster.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "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"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier of the cluster for which to list the instance groups.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines which instance groups to retrieve.

" - }, - "ListInstanceGroupsOutput":{ - "type":"structure", - "members":{ - "InstanceGroups":{ - "shape":"InstanceGroupList", - "documentation":"

The list of instance groups for the cluster and given filters.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines which instance groups to retrieve.

" - }, - "ListInstancesInput":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier of the cluster for which to list the instances.

" - }, - "InstanceGroupId":{ - "shape":"InstanceGroupId", - "documentation":"

The identifier of the instance group for which to list the instances.

" - }, - "InstanceGroupTypes":{ - "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.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines which instances to list.

" - }, - "ListInstancesOutput":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"InstanceList", - "documentation":"

The list of instances for the cluster and given filters.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This output contains the list of instances.

" - }, - "ListSecurityConfigurationsInput":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the set of results to retrieve.

" - } - } - }, - "ListSecurityConfigurationsOutput":{ - "type":"structure", - "members":{ - "SecurityConfigurations":{ - "shape":"SecurityConfigurationList", - "documentation":"

The creation date and time, and name, of each security configuration.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

A pagination token that indicates the next set of results to retrieve. Include the marker in the next ListSecurityConfiguration call to retrieve the next page of results, if required.

" - } - } - }, - "ListStepsInput":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The identifier of the cluster for which to list the steps.

" - }, - "StepStates":{ - "shape":"StepStateList", - "documentation":"

The filter to limit the step list based on certain states.

" - }, - "StepIds":{ - "shape":"XmlStringList", - "documentation":"

The filter to limit the step list based on the identifier of the steps.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This input determines which steps to list.

" - }, - "ListStepsOutput":{ - "type":"structure", - "members":{ - "Steps":{ - "shape":"StepSummaryList", - "documentation":"

The filtered list of steps for the cluster.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "documentation":"

This output contains the list of steps returned in reverse order. This means that the last step is the first element in the list.

" - }, - "Marker":{"type":"string"}, - "MarketType":{ - "type":"string", - "enum":[ - "ON_DEMAND", - "SPOT" - ] - }, - "MetricDimension":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The dimension name.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The dimension value.

" - } - }, - "documentation":"

A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr.clusterId}. This enables the rule to bootstrap when the cluster ID becomes available.

" - }, - "MetricDimensionList":{ - "type":"list", - "member":{"shape":"MetricDimension"} - }, - "ModifyInstanceFleetInput":{ - "type":"structure", - "required":[ - "ClusterId", - "InstanceFleet" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The unique identifier of the cluster.

" - }, - "InstanceFleet":{ - "shape":"InstanceFleetModifyConfig", - "documentation":"

The unique identifier of the instance fleet.

" - } - } - }, - "ModifyInstanceGroupsInput":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The ID of the cluster to which the instance group belongs.

" - }, - "InstanceGroups":{ - "shape":"InstanceGroupModifyConfigList", - "documentation":"

Instance groups to change.

" - } - }, - "documentation":"

Change the size of some instance groups.

" - }, - "NewSupportedProductsList":{ - "type":"list", - "member":{"shape":"SupportedProductConfig"} - }, - "NonNegativeDouble":{ - "type":"double", - "min":0.0 - }, - "PlacementType":{ - "type":"structure", - "members":{ - "AvailabilityZone":{ - "shape":"XmlString", - "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 Availability Zone configuration of the cluster (job flow).

" - }, - "PutAutoScalingPolicyInput":{ - "type":"structure", - "required":[ - "ClusterId", - "InstanceGroupId", - "AutoScalingPolicy" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" - }, - "InstanceGroupId":{ - "shape":"InstanceGroupId", - "documentation":"

Specifies the ID of the instance group to which the automatic scaling policy is applied.

" - }, - "AutoScalingPolicy":{ - "shape":"AutoScalingPolicy", - "documentation":"

Specifies the definition of the automatic scaling policy.

" - } - } - }, - "PutAutoScalingPolicyOutput":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" - }, - "InstanceGroupId":{ - "shape":"InstanceGroupId", - "documentation":"

Specifies the ID of the instance group to which the scaling policy is applied.

" - }, - "AutoScalingPolicy":{ - "shape":"AutoScalingPolicyDescription", - "documentation":"

The automatic scaling policy definition.

" - } - } - }, - "RemoveAutoScalingPolicyInput":{ - "type":"structure", - "required":[ - "ClusterId", - "InstanceGroupId" - ], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" - }, - "InstanceGroupId":{ - "shape":"InstanceGroupId", - "documentation":"

Specifies the ID of the instance group to which the scaling policy is applied.

" - } - } - }, - "RemoveAutoScalingPolicyOutput":{ - "type":"structure", - "members":{ - } - }, - "RemoveTagsInput":{ - "type":"structure", - "required":[ - "ResourceId", - "TagKeys" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The Amazon EMR resource identifier from which tags will be removed. This value must be a cluster identifier.

" - }, - "TagKeys":{ - "shape":"StringList", - "documentation":"

A list of tag keys to remove from a resource.

" - } - }, - "documentation":"

This input identifies a cluster and a list of tags to remove.

" - }, - "RemoveTagsOutput":{ - "type":"structure", - "members":{ - }, - "documentation":"

This output indicates the result of removing tags from a resource.

" - }, - "RepoUpgradeOnBoot":{ - "type":"string", - "enum":[ - "SECURITY", - "NONE" - ] - }, - "ResourceId":{"type":"string"}, - "RunJobFlowInput":{ - "type":"structure", - "required":[ - "Name", - "Instances" - ], - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the job flow.

" - }, - "LogUri":{ - "shape":"XmlString", - "documentation":"

The location in Amazon S3 to write the log files of the job flow. If a value is not provided, logs are not created.

" - }, - "AdditionalInfo":{ - "shape":"XmlString", - "documentation":"

A JSON string for selecting additional features.

" - }, - "AmiVersion":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

" - }, - "ReleaseLabel":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version, for example, emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see http://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases versions 4.x and later. Earlier versions use AmiVersion.

" - }, - "Instances":{ - "shape":"JobFlowInstancesConfig", - "documentation":"

A specification of the number and type of Amazon EC2 instances.

" - }, - "Steps":{ - "shape":"StepConfigList", - "documentation":"

A list of steps to run.

" - }, - "BootstrapActions":{ - "shape":"BootstrapActionConfigList", - "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 later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" - }, - "NewSupportedProducts":{ - "shape":"NewSupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" - }, - "Applications":{ - "shape":"ApplicationList", - "documentation":"

For Amazon EMR releases 4.0 and later. A list of applications for the cluster. Valid values are: \"Hadoop\", \"Hive\", \"Mahout\", \"Pig\", and \"Spark.\" They are case insensitive.

" - }, - "Configurations":{ - "shape":"ConfigurationList", - "documentation":"

For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

" - }, - "VisibleToAllUsers":{ - "shape":"Boolean", - "documentation":"

Whether the 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", - "documentation":"

Also called instance profile and EC2 role. An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the CLI or console.

" - }, - "ServiceRole":{ - "shape":"XmlString", - "documentation":"

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

" - }, - "SecurityConfiguration":{ - "shape":"XmlString", - "documentation":"

The name of a security configuration to apply to the cluster.

" - }, - "AutoScalingRole":{ - "shape":"XmlString", - "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

" - }, - "ScaleDownBehavior":{ - "shape":"ScaleDownBehavior", - "documentation":"

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" - }, - "CustomAmiId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

" - }, - "EbsRootVolumeSize":{ - "shape":"Integer", - "documentation":"

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

" - }, - "RepoUpgradeOnBoot":{ - "shape":"RepoUpgradeOnBoot", - "documentation":"

Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.

" - }, - "KerberosAttributes":{ - "shape":"KerberosAttributes", - "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" - } - }, - "documentation":"

Input to the RunJobFlow operation.

" - }, - "RunJobFlowOutput":{ - "type":"structure", - "members":{ - "JobFlowId":{ - "shape":"XmlStringMaxLen256", - "documentation":"

An unique identifier for the job flow.

" - } - }, - "documentation":"

The result of the RunJobFlow operation.

" - }, - "ScaleDownBehavior":{ - "type":"string", - "enum":[ - "TERMINATE_AT_INSTANCE_HOUR", - "TERMINATE_AT_TASK_COMPLETION" - ] - }, - "ScalingAction":{ - "type":"structure", - "required":["SimpleScalingPolicyConfiguration"], - "members":{ - "Market":{ - "shape":"MarketType", - "documentation":"

Not available for instance groups. Instance groups use the market type specified for the group.

" - }, - "SimpleScalingPolicyConfiguration":{ - "shape":"SimpleScalingPolicyConfiguration", - "documentation":"

The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

" - } - }, - "documentation":"

The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

" - }, - "ScalingConstraints":{ - "type":"structure", - "required":[ - "MinCapacity", - "MaxCapacity" - ], - "members":{ - "MinCapacity":{ - "shape":"Integer", - "documentation":"

The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

" - }, - "MaxCapacity":{ - "shape":"Integer", - "documentation":"

The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

" - } - }, - "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activities triggered by automatic scaling rules will not cause an instance group to grow above or below these limits.

" - }, - "ScalingRule":{ - "type":"structure", - "required":[ - "Name", - "Action", - "Trigger" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A friendly, more verbose description of the automatic scaling rule.

" - }, - "Action":{ - "shape":"ScalingAction", - "documentation":"

The conditions that trigger an automatic scaling activity.

" - }, - "Trigger":{ - "shape":"ScalingTrigger", - "documentation":"

The CloudWatch alarm definition that determines when automatic scaling activity is triggered.

" - } - }, - "documentation":"

A scale-in or scale-out rule that defines scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.

" - }, - "ScalingRuleList":{ - "type":"list", - "member":{"shape":"ScalingRule"} - }, - "ScalingTrigger":{ - "type":"structure", - "required":["CloudWatchAlarmDefinition"], - "members":{ - "CloudWatchAlarmDefinition":{ - "shape":"CloudWatchAlarmDefinition", - "documentation":"

The definition of a CloudWatch metric alarm. When the defined alarm conditions are met along with other trigger parameters, scaling activity begins.

" - } - }, - "documentation":"

The conditions that trigger an automatic scaling activity.

" - }, - "ScriptBootstrapActionConfig":{ - "type":"structure", - "required":["Path"], - "members":{ - "Path":{ - "shape":"XmlString", - "documentation":"

Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

" - }, - "Args":{ - "shape":"XmlStringList", - "documentation":"

A list of command line arguments to pass to the bootstrap action script.

" - } - }, - "documentation":"

Configuration of the script to run during a bootstrap action.

" - }, - "SecurityConfigurationList":{ - "type":"list", - "member":{"shape":"SecurityConfigurationSummary"} - }, - "SecurityConfigurationSummary":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"XmlString", - "documentation":"

The name of the security configuration.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time the security configuration was created.

" - } - }, - "documentation":"

The creation date and time, and name, of a security configuration.

" - }, - "SecurityGroupsList":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen256"} - }, - "SetTerminationProtectionInput":{ - "type":"structure", - "required":[ - "JobFlowIds", - "TerminationProtected" - ], - "members":{ - "JobFlowIds":{ - "shape":"XmlStringList", - "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 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.

" - }, - "SetVisibleToAllUsersInput":{ - "type":"structure", - "required":[ - "JobFlowIds", - "VisibleToAllUsers" - ], - "members":{ - "JobFlowIds":{ - "shape":"XmlStringList", - "documentation":"

Identifiers of the job flows to receive the new visibility setting.

" - }, - "VisibleToAllUsers":{ - "shape":"Boolean", - "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.

" - }, - "ShrinkPolicy":{ - "type":"structure", - "members":{ - "DecommissionTimeout":{ - "shape":"Integer", - "documentation":"

The desired timeout for decommissioning an instance. Overrides the default YARN decommissioning timeout.

" - }, - "InstanceResizePolicy":{ - "shape":"InstanceResizePolicy", - "documentation":"

Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

" - } - }, - "documentation":"

Policy for customizing shrink operations. Allows configuration of decommissioning timeout and targeted instance shrinking.

" - }, - "SimpleScalingPolicyConfiguration":{ - "type":"structure", - "required":["ScalingAdjustment"], - "members":{ - "AdjustmentType":{ - "shape":"AdjustmentType", - "documentation":"

The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

" - }, - "ScalingAdjustment":{ - "shape":"Integer", - "documentation":"

The amount by which to scale in or scale out, based on the specified AdjustmentType. A positive value adds to the instance group's EC2 instance count while a negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, the number should only be a positive integer. If AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an integer. For example, -20 indicates a decrease in 20% increments of cluster capacity.

" - }, - "CoolDown":{ - "shape":"Integer", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. The default value is 0.

" - } - }, - "documentation":"

An automatic scaling configuration, which describes how the policy adds or removes instances, the cooldown period, and the number of EC2 instances that will be added each time the CloudWatch metric alarm condition is satisfied.

" - }, - "SpotProvisioningSpecification":{ - "type":"structure", - "required":[ - "TimeoutDurationMinutes", - "TimeoutAction" - ], - "members":{ - "TimeoutDurationMinutes":{ - "shape":"WholeNumber", - "documentation":"

The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

" - }, - "TimeoutAction":{ - "shape":"SpotProvisioningTimeoutAction", - "documentation":"

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" - }, - "BlockDurationMinutes":{ - "shape":"WholeNumber", - "documentation":"

The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

" - } - }, - "documentation":"

The launch specification for Spot instances in the instance fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" - }, - "SpotProvisioningTimeoutAction":{ - "type":"string", - "enum":[ - "SWITCH_TO_ON_DEMAND", - "TERMINATE_CLUSTER" - ] - }, - "Statistic":{ - "type":"string", - "enum":[ - "SAMPLE_COUNT", - "AVERAGE", - "SUM", - "MINIMUM", - "MAXIMUM" - ] - }, - "Step":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"StepId", - "documentation":"

The identifier of the cluster step.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the cluster step.

" - }, - "Config":{ - "shape":"HadoopStepConfig", - "documentation":"

The Hadoop job configuration of the cluster step.

" - }, - "ActionOnFailure":{ - "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" - }, - "Status":{ - "shape":"StepStatus", - "documentation":"

The current execution status details of the cluster step.

" - } - }, - "documentation":"

This represents a step in a cluster.

" - }, - "StepConfig":{ - "type":"structure", - "required":[ - "Name", - "HadoopJarStep" - ], - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the step.

" - }, - "ActionOnFailure":{ - "shape":"ActionOnFailure", - "documentation":"

The action to take if the step fails.

" - }, - "HadoopJarStep":{ - "shape":"HadoopJarStepConfig", - "documentation":"

The JAR file used for the step.

" - } - }, - "documentation":"

Specification of a cluster (job flow) step.

" - }, - "StepConfigList":{ - "type":"list", - "member":{"shape":"StepConfig"} - }, - "StepDetail":{ - "type":"structure", - "required":[ - "StepConfig", - "ExecutionStatusDetail" - ], - "members":{ - "StepConfig":{ - "shape":"StepConfig", - "documentation":"

The step configuration.

" - }, - "ExecutionStatusDetail":{ - "shape":"StepExecutionStatusDetail", - "documentation":"

The description of the step status.

" - } - }, - "documentation":"

Combines the execution state and configuration of a step.

" - }, - "StepDetailList":{ - "type":"list", - "member":{"shape":"StepDetail"} - }, - "StepExecutionState":{ - "type":"string", - "enum":[ - "PENDING", - "RUNNING", - "CONTINUE", - "COMPLETED", - "CANCELLED", - "FAILED", - "INTERRUPTED" - ] - }, - "StepExecutionStatusDetail":{ - "type":"structure", - "required":[ - "State", - "CreationDateTime" - ], - "members":{ - "State":{ - "shape":"StepExecutionState", - "documentation":"

The state of the step.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The creation date and time of the step.

" - }, - "StartDateTime":{ - "shape":"Date", - "documentation":"

The start date and time of the step.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The completion date and time of the step.

" - }, - "LastStateChangeReason":{ - "shape":"XmlString", - "documentation":"

A description of the step's current state.

" - } - }, - "documentation":"

The execution state of a step.

" - }, - "StepId":{"type":"string"}, - "StepIdsList":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen256"} - }, - "StepState":{ - "type":"string", - "enum":[ - "PENDING", - "CANCEL_PENDING", - "RUNNING", - "COMPLETED", - "CANCELLED", - "FAILED", - "INTERRUPTED" - ] - }, - "StepStateChangeReason":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"StepStateChangeReasonCode", - "documentation":"

The programmable code for the state change reason. Note: Currently, the service provides no code for the state change.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The descriptive message for the state change reason.

" - } - }, - "documentation":"

The details of the step state change reason.

" - }, - "StepStateChangeReasonCode":{ - "type":"string", - "enum":["NONE"] - }, - "StepStateList":{ - "type":"list", - "member":{"shape":"StepState"} - }, - "StepStatus":{ - "type":"structure", - "members":{ - "State":{ - "shape":"StepState", - "documentation":"

The execution state of the cluster step.

" - }, - "StateChangeReason":{ - "shape":"StepStateChangeReason", - "documentation":"

The reason for the step execution status change.

" - }, - "FailureDetails":{ - "shape":"FailureDetails", - "documentation":"

The details for the step failure including reason, message, and log file path where the root cause was identified.

" - }, - "Timeline":{ - "shape":"StepTimeline", - "documentation":"

The timeline of the cluster step status over time.

" - } - }, - "documentation":"

The execution status details of the cluster step.

" - }, - "StepSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"StepId", - "documentation":"

The identifier of the cluster step.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the cluster step.

" - }, - "Config":{ - "shape":"HadoopStepConfig", - "documentation":"

The Hadoop job configuration of the cluster step.

" - }, - "ActionOnFailure":{ - "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" - }, - "Status":{ - "shape":"StepStatus", - "documentation":"

The current execution status details of the cluster step.

" - } - }, - "documentation":"

The summary of the cluster step.

" - }, - "StepSummaryList":{ - "type":"list", - "member":{"shape":"StepSummary"} - }, - "StepTimeline":{ - "type":"structure", - "members":{ - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the cluster step was created.

" - }, - "StartDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the cluster step execution started.

" - }, - "EndDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the cluster step execution completed or failed.

" - } - }, - "documentation":"

The timeline of the cluster step lifecycle.

" - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "StringMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "SupportedProductConfig":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"XmlStringMaxLen256", - "documentation":"

The name of the product configuration.

" - }, - "Args":{ - "shape":"XmlStringList", - "documentation":"

The list of user-supplied arguments.

" - } - }, - "documentation":"

The list of supported product configurations which allow user-supplied arguments. EMR accepts these arguments and forwards them to the corresponding installation script as bootstrap action arguments.

" - }, - "SupportedProductsList":{ - "type":"list", - "member":{"shape":"XmlStringMaxLen256"} - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tag .

" - }, - "Value":{ - "shape":"String", - "documentation":"

A user-defined value, which is optional in a tag. For more information, see Tag Clusters.

" - } - }, - "documentation":"

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TerminateJobFlowsInput":{ - "type":"structure", - "required":["JobFlowIds"], - "members":{ - "JobFlowIds":{ - "shape":"XmlStringList", - "documentation":"

A list of job flows to be shutdown.

" - } - }, - "documentation":"

Input to the TerminateJobFlows operation.

" - }, - "Unit":{ - "type":"string", - "enum":[ - "NONE", - "SECONDS", - "MICRO_SECONDS", - "MILLI_SECONDS", - "BYTES", - "KILO_BYTES", - "MEGA_BYTES", - "GIGA_BYTES", - "TERA_BYTES", - "BITS", - "KILO_BITS", - "MEGA_BITS", - "GIGA_BITS", - "TERA_BITS", - "PERCENT", - "COUNT", - "BYTES_PER_SECOND", - "KILO_BYTES_PER_SECOND", - "MEGA_BYTES_PER_SECOND", - "GIGA_BYTES_PER_SECOND", - "TERA_BYTES_PER_SECOND", - "BITS_PER_SECOND", - "KILO_BITS_PER_SECOND", - "MEGA_BITS_PER_SECOND", - "GIGA_BITS_PER_SECOND", - "TERA_BITS_PER_SECOND", - "COUNT_PER_SECOND" - ] - }, - "VolumeSpecification":{ - "type":"structure", - "required":[ - "VolumeType", - "SizeInGB" - ], - "members":{ - "VolumeType":{ - "shape":"String", - "documentation":"

The volume type. Volume types supported are gp2, io1, standard.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports.

" - }, - "SizeInGB":{ - "shape":"Integer", - "documentation":"

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

" - } - }, - "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" - }, - "WholeNumber":{ - "type":"integer", - "min":0 - }, - "XmlString":{ - "type":"string", - "max":10280, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "XmlStringList":{ - "type":"list", - "member":{"shape":"XmlString"} - }, - "XmlStringMaxLen256":{ - "type":"string", - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/waiters-2.json deleted file mode 100644 index abba8c3c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/emr/2009-03-31/waiters-2.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "version": 2, - "waiters": { - "ClusterRunning": { - "delay": 30, - "operation": "DescribeCluster", - "maxAttempts": 60, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "RUNNING" - }, - { - "state": "success", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "WAITING" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "TERMINATING" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "TERMINATED" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "TERMINATED_WITH_ERRORS" - } - ] - }, - "StepComplete": { - "delay": 30, - "operation": "DescribeStep", - "maxAttempts": 60, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "Step.Status.State", - "expected": "COMPLETED" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Step.Status.State", - "expected": "FAILED" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Step.Status.State", - "expected": "CANCELLED" - } - ] - }, - "ClusterTerminated": { - "delay": 30, - "operation": "DescribeCluster", - "maxAttempts": 60, - "acceptors": [ - { - "state": "success", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "TERMINATED" - }, - { - "state": "failure", - "matcher": "path", - "argument": "Cluster.Status.State", - "expected": "TERMINATED_WITH_ERRORS" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/endpoints.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/endpoints.json deleted file mode 100644 index 89cd69e4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/endpoints.json +++ /dev/null @@ -1,2864 +0,0 @@ -{ - "partitions" : [ { - "defaults" : { - "hostname" : "{service}.{region}.{dnsSuffix}", - "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] - }, - "dnsSuffix" : "amazonaws.com", - "partition" : "aws", - "partitionName" : "AWS Standard", - "regionRegex" : "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", - "regions" : { - "ap-northeast-1" : { - "description" : "Asia Pacific (Tokyo)" - }, - "ap-northeast-2" : { - "description" : "Asia Pacific (Seoul)" - }, - "ap-south-1" : { - "description" : "Asia Pacific (Mumbai)" - }, - "ap-southeast-1" : { - "description" : "Asia Pacific (Singapore)" - }, - "ap-southeast-2" : { - "description" : "Asia Pacific (Sydney)" - }, - "ca-central-1" : { - "description" : "Canada (Central)" - }, - "eu-central-1" : { - "description" : "EU (Frankfurt)" - }, - "eu-west-1" : { - "description" : "EU (Ireland)" - }, - "eu-west-2" : { - "description" : "EU (London)" - }, - "eu-west-3" : { - "description" : "EU (Paris)" - }, - "sa-east-1" : { - "description" : "South America (Sao Paulo)" - }, - "us-east-1" : { - "description" : "US East (N. Virginia)" - }, - "us-east-2" : { - "description" : "US East (Ohio)" - }, - "us-west-1" : { - "description" : "US West (N. California)" - }, - "us-west-2" : { - "description" : "US West (Oregon)" - } - }, - "services" : { - "a4b" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "acm" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "acm-pca" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "api.mediatailor" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { } - } - }, - "api.pricing" : { - "defaults" : { - "credentialScope" : { - "service" : "pricing" - } - }, - "endpoints" : { - "ap-south-1" : { }, - "us-east-1" : { } - } - }, - "api.sagemaker" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "apigateway" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "application-autoscaling" : { - "defaults" : { - "credentialScope" : { - "service" : "application-autoscaling" - }, - "hostname" : "autoscaling.{region}.amazonaws.com", - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "appstream2" : { - "defaults" : { - "credentialScope" : { - "service" : "appstream" - }, - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "athena" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "autoscaling" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "autoscaling-plans" : { - "defaults" : { - "credentialScope" : { - "service" : "autoscaling-plans" - }, - "hostname" : "autoscaling.{region}.amazonaws.com", - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-southeast-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "batch" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "budgets" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "budgets.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "ce" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "ce.us-east-1.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "cloud9" : { - "endpoints" : { - "ap-southeast-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "clouddirectory" : { - "endpoints" : { - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "cloudformation" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cloudfront" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "cloudfront.amazonaws.com", - "protocols" : [ "http", "https" ] - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "cloudhsm" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cloudhsmv2" : { - "defaults" : { - "credentialScope" : { - "service" : "cloudhsm" - } - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cloudsearch" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cloudtrail" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "codebuild" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-1-fips" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "codebuild-fips.us-east-1.amazonaws.com" - }, - "us-east-2" : { }, - "us-east-2-fips" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "hostname" : "codebuild-fips.us-east-2.amazonaws.com" - }, - "us-west-1" : { }, - "us-west-1-fips" : { - "credentialScope" : { - "region" : "us-west-1" - }, - "hostname" : "codebuild-fips.us-west-1.amazonaws.com" - }, - "us-west-2" : { }, - "us-west-2-fips" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "hostname" : "codebuild-fips.us-west-2.amazonaws.com" - } - } - }, - "codecommit" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "codedeploy" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "codepipeline" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "codestar" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cognito-identity" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "cognito-idp" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "cognito-sync" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "comprehend" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "config" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "cur" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "data.iot" : { - "defaults" : { - "credentialScope" : { - "service" : "iotdata" - }, - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "datapipeline" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "dax" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "devicefarm" : { - "endpoints" : { - "us-west-2" : { } - } - }, - "directconnect" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "discovery" : { - "endpoints" : { - "us-west-2" : { } - } - }, - "dms" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ds" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "dynamodb" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "local" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "localhost:8000", - "protocols" : [ "http" ] - }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ec2" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ecr" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ecs" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elasticache" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "fips" : { - "credentialScope" : { - "region" : "us-west-1" - }, - "hostname" : "elasticache-fips.us-west-1.amazonaws.com" - }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elasticbeanstalk" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elasticfilesystem" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elasticloadbalancing" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elasticmapreduce" : { - "defaults" : { - "protocols" : [ "https" ], - "sslCommonName" : "{region}.{service}.{dnsSuffix}" - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { - "sslCommonName" : "{service}.{region}.{dnsSuffix}" - }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { - "sslCommonName" : "{service}.{region}.{dnsSuffix}" - }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "elastictranscoder" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "email" : { - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "entitlement.marketplace" : { - "defaults" : { - "credentialScope" : { - "service" : "aws-marketplace" - } - }, - "endpoints" : { - "us-east-1" : { } - } - }, - "es" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "events" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "firehose" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "fms" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "gamelift" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "glacier" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "glue" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "greengrass" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - }, - "isRegionalized" : true - }, - "guardduty" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - }, - "isRegionalized" : true - }, - "health" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "iam" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "iam.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "importexport" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1", - "service" : "IngestionService" - }, - "hostname" : "importexport.amazonaws.com", - "signatureVersions" : [ "v2", "v4" ] - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "inspector" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "iot" : { - "defaults" : { - "credentialScope" : { - "service" : "execute-api" - } - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "iotanalytics" : { - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "kinesis" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "kinesisanalytics" : { - "endpoints" : { - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "kinesisvideo" : { - "endpoints" : { - "ap-northeast-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "kms" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "lambda" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "lightsail" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "logs" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "machinelearning" : { - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { } - } - }, - "marketplacecommerceanalytics" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "mediaconvert" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "medialive" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "mediapackage" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "mediastore" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "metering.marketplace" : { - "defaults" : { - "credentialScope" : { - "service" : "aws-marketplace" - } - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "mgh" : { - "endpoints" : { - "us-west-2" : { } - } - }, - "mobileanalytics" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "models.lex" : { - "defaults" : { - "credentialScope" : { - "service" : "lex" - } - }, - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "monitoring" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "mturk-requester" : { - "endpoints" : { - "sandbox" : { - "hostname" : "mturk-requester-sandbox.us-east-1.amazonaws.com" - }, - "us-east-1" : { } - }, - "isRegionalized" : false - }, - "neptune" : { - "endpoints" : { - "eu-west-1" : { - "credentialScope" : { - "region" : "eu-west-1" - }, - "hostname" : "rds.eu-west-1.amazonaws.com" - }, - "us-east-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "rds.us-east-1.amazonaws.com" - }, - "us-east-2" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "hostname" : "rds.us-east-2.amazonaws.com" - }, - "us-west-2" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "hostname" : "rds.us-west-2.amazonaws.com" - } - } - }, - "opsworks" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "opsworks-cm" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "organizations" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "organizations.us-east-1.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "pinpoint" : { - "defaults" : { - "credentialScope" : { - "service" : "mobiletargeting" - } - }, - "endpoints" : { - "us-east-1" : { } - } - }, - "polly" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "rds" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { - "sslCommonName" : "{service}.{dnsSuffix}" - }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "redshift" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "rekognition" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "resource-groups" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "route53" : { - "endpoints" : { - "aws-global" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "route53.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-global" - }, - "route53domains" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "runtime.lex" : { - "defaults" : { - "credentialScope" : { - "service" : "lex" - } - }, - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "runtime.sagemaker" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "s3" : { - "defaults" : { - "protocols" : [ "http", "https" ], - "signatureVersions" : [ "s3v4" ] - }, - "endpoints" : { - "ap-northeast-1" : { - "hostname" : "s3.ap-northeast-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { - "hostname" : "s3.ap-southeast-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "ap-southeast-2" : { - "hostname" : "s3.ap-southeast-2.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { - "hostname" : "s3.eu-west-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "s3-external-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "s3-external-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "sa-east-1" : { - "hostname" : "s3.sa-east-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "us-east-1" : { - "hostname" : "s3.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "us-east-2" : { }, - "us-west-1" : { - "hostname" : "s3.us-west-1.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - }, - "us-west-2" : { - "hostname" : "s3.us-west-2.amazonaws.com", - "signatureVersions" : [ "s3", "s3v4" ] - } - }, - "isRegionalized" : true, - "partitionEndpoint" : "us-east-1" - }, - "sdb" : { - "defaults" : { - "protocols" : [ "http", "https" ], - "signatureVersions" : [ "v2" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "sa-east-1" : { }, - "us-east-1" : { - "hostname" : "sdb.amazonaws.com" - }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "secretsmanager" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "serverlessrepo" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { - "protocols" : [ "https" ] - }, - "ap-northeast-2" : { - "protocols" : [ "https" ] - }, - "ap-south-1" : { - "protocols" : [ "https" ] - }, - "ap-southeast-1" : { - "protocols" : [ "https" ] - }, - "ap-southeast-2" : { - "protocols" : [ "https" ] - }, - "ca-central-1" : { - "protocols" : [ "https" ] - }, - "eu-central-1" : { - "protocols" : [ "https" ] - }, - "eu-west-1" : { - "protocols" : [ "https" ] - }, - "eu-west-2" : { - "protocols" : [ "https" ] - }, - "sa-east-1" : { - "protocols" : [ "https" ] - }, - "us-east-1" : { - "protocols" : [ "https" ] - }, - "us-east-2" : { - "protocols" : [ "https" ] - }, - "us-west-1" : { - "protocols" : [ "https" ] - }, - "us-west-2" : { - "protocols" : [ "https" ] - } - } - }, - "servicecatalog" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "servicediscovery" : { - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "shield" : { - "defaults" : { - "protocols" : [ "https" ], - "sslCommonName" : "Shield.us-east-1.amazonaws.com" - }, - "endpoints" : { - "us-east-1" : { } - }, - "isRegionalized" : false - }, - "sms" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "snowball" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "sns" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "sqs" : { - "defaults" : { - "protocols" : [ "http", "https" ], - "sslCommonName" : "{region}.queue.{dnsSuffix}" - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "fips-us-east-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "sqs-fips.us-east-1.amazonaws.com" - }, - "fips-us-east-2" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "hostname" : "sqs-fips.us-east-2.amazonaws.com" - }, - "fips-us-west-1" : { - "credentialScope" : { - "region" : "us-west-1" - }, - "hostname" : "sqs-fips.us-west-1.amazonaws.com" - }, - "fips-us-west-2" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "hostname" : "sqs-fips.us-west-2.amazonaws.com" - }, - "sa-east-1" : { }, - "us-east-1" : { - "sslCommonName" : "queue.{dnsSuffix}" - }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "ssm" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "states" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "storagegateway" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "streams.dynamodb" : { - "defaults" : { - "credentialScope" : { - "service" : "dynamodb" - }, - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "local" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "localhost:8000", - "protocols" : [ "http" ] - }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "sts" : { - "defaults" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "sts.amazonaws.com" - }, - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { - "credentialScope" : { - "region" : "ap-northeast-2" - }, - "hostname" : "sts.ap-northeast-2.amazonaws.com" - }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "aws-global" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-1-fips" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "hostname" : "sts-fips.us-east-1.amazonaws.com" - }, - "us-east-2" : { }, - "us-east-2-fips" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "hostname" : "sts-fips.us-east-2.amazonaws.com" - }, - "us-west-1" : { }, - "us-west-1-fips" : { - "credentialScope" : { - "region" : "us-west-1" - }, - "hostname" : "sts-fips.us-west-1.amazonaws.com" - }, - "us-west-2" : { }, - "us-west-2-fips" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "hostname" : "sts-fips.us-west-2.amazonaws.com" - } - }, - "partitionEndpoint" : "aws-global" - }, - "support" : { - "endpoints" : { - "us-east-1" : { } - } - }, - "swf" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "tagging" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "eu-west-3" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "translate" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "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" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - }, - "workdocs" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "workmail" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "eu-west-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "workspaces" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } - } - }, - "xray" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } - } - } - } - }, { - "defaults" : { - "hostname" : "{service}.{region}.{dnsSuffix}", - "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] - }, - "dnsSuffix" : "amazonaws.com.cn", - "partition" : "aws-cn", - "partitionName" : "AWS China", - "regionRegex" : "^cn\\-\\w+\\-\\d+$", - "regions" : { - "cn-north-1" : { - "description" : "China (Beijing)" - }, - "cn-northwest-1" : { - "description" : "China (Ningxia)" - } - }, - "services" : { - "apigateway" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "application-autoscaling" : { - "defaults" : { - "credentialScope" : { - "service" : "application-autoscaling" - }, - "hostname" : "autoscaling.{region}.amazonaws.com", - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "autoscaling" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "cloudformation" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "cloudtrail" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "codedeploy" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "cognito-identity" : { - "endpoints" : { - "cn-north-1" : { } - } - }, - "config" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "data.iot" : { - "defaults" : { - "credentialScope" : { - "service" : "iotdata" - }, - "protocols" : [ "https" ] - }, - "endpoints" : { - "cn-north-1" : { } - } - }, - "directconnect" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "ds" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "dynamodb" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "ec2" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "ecr" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "ecs" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "elasticache" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "elasticbeanstalk" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "elasticloadbalancing" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "elasticmapreduce" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "es" : { - "endpoints" : { - "cn-northwest-1" : { } - } - }, - "events" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "glacier" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "iam" : { - "endpoints" : { - "aws-cn-global" : { - "credentialScope" : { - "region" : "cn-north-1" - }, - "hostname" : "iam.cn-north-1.amazonaws.com.cn" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-cn-global" - }, - "iot" : { - "defaults" : { - "credentialScope" : { - "service" : "execute-api" - } - }, - "endpoints" : { - "cn-north-1" : { } - } - }, - "kinesis" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "lambda" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "logs" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "monitoring" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "rds" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "redshift" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "s3" : { - "defaults" : { - "protocols" : [ "http", "https" ], - "signatureVersions" : [ "s3v4" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "sms" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "snowball" : { - "endpoints" : { - "cn-north-1" : { } - } - }, - "sns" : { - "defaults" : { - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "sqs" : { - "defaults" : { - "protocols" : [ "http", "https" ], - "sslCommonName" : "{region}.queue.{dnsSuffix}" - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "ssm" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "storagegateway" : { - "endpoints" : { - "cn-north-1" : { } - } - }, - "streams.dynamodb" : { - "defaults" : { - "credentialScope" : { - "service" : "dynamodb" - }, - "protocols" : [ "http", "https" ] - }, - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "sts" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "swf" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - }, - "tagging" : { - "endpoints" : { - "cn-north-1" : { }, - "cn-northwest-1" : { } - } - } - } - }, { - "defaults" : { - "hostname" : "{service}.{region}.{dnsSuffix}", - "protocols" : [ "https" ], - "signatureVersions" : [ "v4" ] - }, - "dnsSuffix" : "amazonaws.com", - "partition" : "aws-us-gov", - "partitionName" : "AWS GovCloud (US)", - "regionRegex" : "^us\\-gov\\-\\w+\\-\\d+$", - "regions" : { - "us-gov-west-1" : { - "description" : "AWS GovCloud (US)" - } - }, - "services" : { - "acm" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "apigateway" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "autoscaling" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "http", "https" ] - } - } - }, - "cloudformation" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "cloudhsm" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "cloudhsmv2" : { - "defaults" : { - "credentialScope" : { - "service" : "cloudhsm" - } - }, - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "cloudtrail" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "codedeploy" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "config" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "data.iot" : { - "defaults" : { - "credentialScope" : { - "service" : "iotdata" - }, - "protocols" : [ "https" ] - }, - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "directconnect" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "dms" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "dynamodb" : { - "endpoints" : { - "us-gov-west-1" : { }, - "us-gov-west-1-fips" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" - } - } - }, - "ec2" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "ecr" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "ecs" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "elasticache" : { - "endpoints" : { - "fips" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "hostname" : "elasticache-fips.us-gov-west-1.amazonaws.com" - }, - "us-gov-west-1" : { } - } - }, - "elasticbeanstalk" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "elasticloadbalancing" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "http", "https" ] - } - } - }, - "elasticmapreduce" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "https" ] - } - } - }, - "es" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "events" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "glacier" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "http", "https" ] - } - } - }, - "iam" : { - "endpoints" : { - "aws-us-gov-global" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "hostname" : "iam.us-gov.amazonaws.com" - } - }, - "isRegionalized" : false, - "partitionEndpoint" : "aws-us-gov-global" - }, - "inspector" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "iot" : { - "defaults" : { - "credentialScope" : { - "service" : "execute-api" - } - }, - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "kinesis" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "kms" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "lambda" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "logs" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "metering.marketplace" : { - "defaults" : { - "credentialScope" : { - "service" : "aws-marketplace" - } - }, - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "monitoring" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "polly" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "rds" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "redshift" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "rekognition" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "s3" : { - "defaults" : { - "signatureVersions" : [ "s3", "s3v4" ] - }, - "endpoints" : { - "fips-us-gov-west-1" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "hostname" : "s3-fips-us-gov-west-1.amazonaws.com" - }, - "us-gov-west-1" : { - "hostname" : "s3.us-gov-west-1.amazonaws.com", - "protocols" : [ "http", "https" ] - } - } - }, - "sms" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "snowball" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "sns" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "http", "https" ] - } - } - }, - "sqs" : { - "endpoints" : { - "us-gov-west-1" : { - "protocols" : [ "http", "https" ], - "sslCommonName" : "{region}.queue.{dnsSuffix}" - } - } - }, - "ssm" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "states" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "storagegateway" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "streams.dynamodb" : { - "defaults" : { - "credentialScope" : { - "service" : "dynamodb" - } - }, - "endpoints" : { - "us-gov-west-1" : { }, - "us-gov-west-1-fips" : { - "credentialScope" : { - "region" : "us-gov-west-1" - }, - "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" - } - } - }, - "sts" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "swf" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "tagging" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, - "translate" : { - "defaults" : { - "protocols" : [ "https" ] - }, - "endpoints" : { - "us-gov-west-1" : { } - } - } - } - } ], - "version" : 3 -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/paginators-1.json deleted file mode 100644 index b6fefece..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "ListElasticsearchInstanceTypes": { - "result_key": "ElasticsearchInstanceTypes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListElasticsearchVersions": { - "result_key": "ElasticsearchVersions", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/service-2.json deleted file mode 100644 index 920507a9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/es/2015-01-01/service-2.json +++ /dev/null @@ -1,2102 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-01-01", - "endpointPrefix":"es", - "protocol":"rest-json", - "serviceFullName":"Amazon Elasticsearch Service", - "serviceId":"Elasticsearch Service", - "signatureVersion":"v4", - "uid":"es-2015-01-01" - }, - "operations":{ - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/tags" - }, - "input":{"shape":"AddTagsRequest"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"LimitExceededException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging Amazon Elasticsearch Service Domains for more information.

" - }, - "CreateElasticsearchDomain":{ - "name":"CreateElasticsearchDomain", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/es/domain" - }, - "input":{"shape":"CreateElasticsearchDomainRequest"}, - "output":{"shape":"CreateElasticsearchDomainResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"DisabledOperationException"}, - {"shape":"InternalException"}, - {"shape":"InvalidTypeException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

" - }, - "DeleteElasticsearchDomain":{ - "name":"DeleteElasticsearchDomain", - "http":{ - "method":"DELETE", - "requestUri":"/2015-01-01/es/domain/{DomainName}" - }, - "input":{"shape":"DeleteElasticsearchDomainRequest"}, - "output":{"shape":"DeleteElasticsearchDomainResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot be recovered.

" - }, - "DeleteElasticsearchServiceRole":{ - "name":"DeleteElasticsearchServiceRole", - "http":{ - "method":"DELETE", - "requestUri":"/2015-01-01/es/role" - }, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Deletes the service-linked role that Elasticsearch Service uses to manage and maintain VPC domains. Role deletion will fail if any existing VPC domains use the role. You must delete any such Elasticsearch domains before deleting the role. See Deleting Elasticsearch Service Role in VPC Endpoints for Amazon Elasticsearch Service Domains.

" - }, - "DescribeElasticsearchDomain":{ - "name":"DescribeElasticsearchDomain", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/domain/{DomainName}" - }, - "input":{"shape":"DescribeElasticsearchDomainRequest"}, - "output":{"shape":"DescribeElasticsearchDomainResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Returns domain configuration information about the specified Elasticsearch domain, including the domain ID, domain endpoint, and domain ARN.

" - }, - "DescribeElasticsearchDomainConfig":{ - "name":"DescribeElasticsearchDomainConfig", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/domain/{DomainName}/config" - }, - "input":{"shape":"DescribeElasticsearchDomainConfigRequest"}, - "output":{"shape":"DescribeElasticsearchDomainConfigResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Provides cluster configuration information about the specified Elasticsearch domain, such as the state, creation date, update version, and update date for cluster options.

" - }, - "DescribeElasticsearchDomains":{ - "name":"DescribeElasticsearchDomains", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/es/domain-info" - }, - "input":{"shape":"DescribeElasticsearchDomainsRequest"}, - "output":{"shape":"DescribeElasticsearchDomainsResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"ValidationException"} - ], - "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.

" - }, - "DescribeReservedElasticsearchInstanceOfferings":{ - "name":"DescribeReservedElasticsearchInstanceOfferings", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/reservedInstanceOfferings" - }, - "input":{"shape":"DescribeReservedElasticsearchInstanceOfferingsRequest"}, - "output":{"shape":"DescribeReservedElasticsearchInstanceOfferingsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"DisabledOperationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Lists available reserved Elasticsearch instance offerings.

" - }, - "DescribeReservedElasticsearchInstances":{ - "name":"DescribeReservedElasticsearchInstances", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/reservedInstances" - }, - "input":{"shape":"DescribeReservedElasticsearchInstancesRequest"}, - "output":{"shape":"DescribeReservedElasticsearchInstancesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"}, - {"shape":"ValidationException"}, - {"shape":"DisabledOperationException"} - ], - "documentation":"

Returns information about reserved Elasticsearch instances for this account.

" - }, - "GetCompatibleElasticsearchVersions":{ - "name":"GetCompatibleElasticsearchVersions", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/compatibleVersions" - }, - "input":{"shape":"GetCompatibleElasticsearchVersionsRequest"}, - "output":{"shape":"GetCompatibleElasticsearchVersionsResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DisabledOperationException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Returns a list of upgrade compatible Elastisearch versions. You can optionally pass a DomainName to get all upgrade compatible Elasticsearch versions for that specific domain.

" - }, - "GetUpgradeHistory":{ - "name":"GetUpgradeHistory", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/upgradeDomain/{DomainName}/history" - }, - "input":{"shape":"GetUpgradeHistoryRequest"}, - "output":{"shape":"GetUpgradeHistoryResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DisabledOperationException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Retrieves the complete history of the last 10 upgrades that were performed on the domain.

" - }, - "GetUpgradeStatus":{ - "name":"GetUpgradeStatus", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/es/upgradeDomain/{DomainName}/status" - }, - "input":{"shape":"GetUpgradeStatusRequest"}, - "output":{"shape":"GetUpgradeStatusResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DisabledOperationException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Retrieves the latest status of the last upgrade or upgrade eligibility check that was performed on the domain.

" - }, - "ListDomainNames":{ - "name":"ListDomainNames", - "http":{ - "method":"GET", - "requestUri":"/2015-01-01/domain" - }, - "output":{"shape":"ListDomainNamesResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ValidationException"} - ], - "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":{ - "method":"GET", - "requestUri":"/2015-01-01/tags/" - }, - "input":{"shape":"ListTagsRequest"}, - "output":{"shape":"ListTagsResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Returns all tags for the given Elasticsearch domain.

" - }, - "PurchaseReservedElasticsearchInstanceOffering":{ - "name":"PurchaseReservedElasticsearchInstanceOffering", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/es/purchaseReservedInstanceOffering" - }, - "input":{"shape":"PurchaseReservedElasticsearchInstanceOfferingRequest"}, - "output":{"shape":"PurchaseReservedElasticsearchInstanceOfferingResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"DisabledOperationException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Allows you to purchase reserved Elasticsearch instances.

" - }, - "RemoveTags":{ - "name":"RemoveTags", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/tags-removal" - }, - "input":{"shape":"RemoveTagsRequest"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Removes the specified set of tags from the specified Elasticsearch domain.

" - }, - "UpdateElasticsearchDomainConfig":{ - "name":"UpdateElasticsearchDomainConfig", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/es/domain/{DomainName}/config" - }, - "input":{"shape":"UpdateElasticsearchDomainConfigRequest"}, - "output":{"shape":"UpdateElasticsearchDomainConfigResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"InternalException"}, - {"shape":"InvalidTypeException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type and the number of instances.

" - }, - "UpgradeElasticsearchDomain":{ - "name":"UpgradeElasticsearchDomain", - "http":{ - "method":"POST", - "requestUri":"/2015-01-01/es/upgradeDomain" - }, - "input":{"shape":"UpgradeElasticsearchDomainRequest"}, - "output":{"shape":"UpgradeElasticsearchDomainResponse"}, - "errors":[ - {"shape":"BaseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"DisabledOperationException"}, - {"shape":"ValidationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Allows you to either upgrade your domain or perform an Upgrade eligibility check to a compatible Elasticsearch version.

" - } - }, - "shapes":{ - "ARN":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN) of the Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

" - }, - "AccessPoliciesStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"PolicyDocument", - "documentation":"

The access policy configured for the Elasticsearch domain. Access policies may be resource-based, IP-based, or IAM-based. See Configuring Access Policiesfor more information.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

The status of the access policy for the Elasticsearch domain. See OptionStatus for the status information that's included.

" - } - }, - "documentation":"

The configured access rules for the domain's document and search endpoints, and the current status of those rules.

" - }, - "AddTagsRequest":{ - "type":"structure", - "required":[ - "ARN", - "TagList" - ], - "members":{ - "ARN":{ - "shape":"ARN", - "documentation":"

Specify the ARN for which you want to add the tags.

" - }, - "TagList":{ - "shape":"TagList", - "documentation":"

List of Tag that need to be added for the Elasticsearch domain.

" - } - }, - "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"}, - "value":{"shape":"String"}, - "documentation":"

Exposes select native Elasticsearch configuration values from elasticsearch.yml. Currently, the following advanced options are available:

  • Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.
  • Option to specify the percentage of heap space that is allocated to field data. By default, this setting is unbounded.

For more information, see Configuring Advanced Options.

" - }, - "AdvancedOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"AdvancedOptions", - "documentation":"

Specifies the status of advanced options for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of OptionStatus for advanced options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the advanced options for the specified Elasticsearch domain. Currently, the following advanced options are available:

  • Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.
  • Option to specify the percentage of heap space that is allocated to field data. By default, this setting is unbounded.

For more information, see Configuring Advanced Options.

" - }, - "BaseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description of the error.

" - } - }, - "documentation":"

An error occurred while processing the request.

", - "exception":true - }, - "Boolean":{"type":"boolean"}, - "CloudWatchLogsLogGroupArn":{ - "type":"string", - "documentation":"

ARN of the Cloudwatch log group to which log needs to be published.

" - }, - "CognitoOptions":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Specifies the option to enable Cognito for Kibana authentication.

" - }, - "UserPoolId":{ - "shape":"UserPoolId", - "documentation":"

Specifies the Cognito user pool ID for Kibana authentication.

" - }, - "IdentityPoolId":{ - "shape":"IdentityPoolId", - "documentation":"

Specifies the Cognito identity pool ID for Kibana authentication.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

" - } - }, - "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" - }, - "CognitoOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"CognitoOptions", - "documentation":"

Specifies the Cognito options for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the Cognito options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the Cognito options for the specified Elasticsearch domain.

" - }, - "CompatibleElasticsearchVersionsList":{ - "type":"list", - "member":{"shape":"CompatibleVersionsMap"} - }, - "CompatibleVersionsMap":{ - "type":"structure", - "members":{ - "SourceVersion":{ - "shape":"ElasticsearchVersionString", - "documentation":"

The current version of Elasticsearch on which a domain is.

" - }, - "TargetVersions":{"shape":"ElasticsearchVersionList"} - }, - "documentation":"

A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion s to which the domain can be upgraded.

" - }, - "CreateElasticsearchDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" - }, - "ElasticsearchVersion":{ - "shape":"ElasticsearchVersionString", - "documentation":"

String of format X.Y to specify version for the Elasticsearch domain eg. \"1.5\" or \"2.3\". For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

" - }, - "ElasticsearchClusterConfig":{ - "shape":"ElasticsearchClusterConfig", - "documentation":"

Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster.

" - }, - "EBSOptions":{ - "shape":"EBSOptions", - "documentation":"

Options to enable, disable and specify the type and size of EBS storage volumes.

" - }, - "AccessPolicies":{ - "shape":"PolicyDocument", - "documentation":"

IAM access policy as a JSON-formatted string.

" - }, - "SnapshotOptions":{ - "shape":"SnapshotOptions", - "documentation":"

Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

" - }, - "VPCOptions":{ - "shape":"VPCOptions", - "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

" - }, - "CognitoOptions":{ - "shape":"CognitoOptions", - "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" - }, - "EncryptionAtRestOptions":{ - "shape":"EncryptionAtRestOptions", - "documentation":"

Specifies the Encryption At Rest Options.

" - }, - "AdvancedOptions":{ - "shape":"AdvancedOptions", - "documentation":"

Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.

" - }, - "LogPublishingOptions":{ - "shape":"LogPublishingOptions", - "documentation":"

Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

" - } - } - }, - "CreateElasticsearchDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{ - "shape":"ElasticsearchDomainStatus", - "documentation":"

The status of the newly created Elasticsearch domain.

" - } - }, - "documentation":"

The result of a CreateElasticsearchDomain operation. Contains the status of the newly created Elasticsearch domain.

" - }, - "DeleteElasticsearchDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the Elasticsearch domain that you want to permanently delete.

", - "location":"uri", - "locationName":"DomainName" - } - }, - "documentation":"

Container for the parameters to the DeleteElasticsearchDomain operation. Specifies the name of the Elasticsearch domain that you want to delete.

" - }, - "DeleteElasticsearchDomainResponse":{ - "type":"structure", - "members":{ - "DomainStatus":{ - "shape":"ElasticsearchDomainStatus", - "documentation":"

The status of the Elasticsearch domain being deleted.

" - } - }, - "documentation":"

The result of a DeleteElasticsearchDomain request. Contains the status of the pending deletion, or no status if the domain and all of its resources have been deleted.

" - }, - "DescribeElasticsearchDomainConfigRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The Elasticsearch domain that you want to get information about.

", - "location":"uri", - "locationName":"DomainName" - } - }, - "documentation":"

Container for the parameters to the DescribeElasticsearchDomainConfig operation. Specifies the domain name for which you want configuration information.

" - }, - "DescribeElasticsearchDomainConfigResponse":{ - "type":"structure", - "required":["DomainConfig"], - "members":{ - "DomainConfig":{ - "shape":"ElasticsearchDomainConfig", - "documentation":"

The configuration information of the domain requested in the DescribeElasticsearchDomainConfig request.

" - } - }, - "documentation":"

The result of a DescribeElasticsearchDomainConfig request. Contains the configuration information of the requested domain.

" - }, - "DescribeElasticsearchDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the Elasticsearch domain for which you want information.

", - "location":"uri", - "locationName":"DomainName" - } - }, - "documentation":"

Container for the parameters to the DescribeElasticsearchDomain operation.

" - }, - "DescribeElasticsearchDomainResponse":{ - "type":"structure", - "required":["DomainStatus"], - "members":{ - "DomainStatus":{ - "shape":"ElasticsearchDomainStatus", - "documentation":"

The current status of the Elasticsearch domain.

" - } - }, - "documentation":"

The result of a DescribeElasticsearchDomain request. Contains the status of the domain specified in the request.

" - }, - "DescribeElasticsearchDomainsRequest":{ - "type":"structure", - "required":["DomainNames"], - "members":{ - "DomainNames":{ - "shape":"DomainNameList", - "documentation":"

The Elasticsearch domains for which you want information.

" - } - }, - "documentation":"

Container for the parameters to the DescribeElasticsearchDomains operation. By default, the API returns the status of all Elasticsearch domains.

" - }, - "DescribeElasticsearchDomainsResponse":{ - "type":"structure", - "required":["DomainStatusList"], - "members":{ - "DomainStatusList":{ - "shape":"ElasticsearchDomainStatusList", - "documentation":"

The status of the domains requested in the DescribeElasticsearchDomains request.

" - } - }, - "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.

" - }, - "DescribeReservedElasticsearchInstanceOfferingsRequest":{ - "type":"structure", - "members":{ - "ReservedElasticsearchInstanceOfferingId":{ - "shape":"GUID", - "documentation":"

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

", - "location":"querystring", - "locationName":"offeringId" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Set this value to limit the number of results returned. If not specified, defaults to 100.

", - "location":"querystring", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", - "location":"querystring", - "locationName":"nextToken" - } - }, - "documentation":"

Container for parameters to DescribeReservedElasticsearchInstanceOfferings

" - }, - "DescribeReservedElasticsearchInstanceOfferingsResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedElasticsearchInstanceOfferings":{ - "shape":"ReservedElasticsearchInstanceOfferingList", - "documentation":"

List of reserved Elasticsearch instance offerings

" - } - }, - "documentation":"

Container for results from DescribeReservedElasticsearchInstanceOfferings

" - }, - "DescribeReservedElasticsearchInstancesRequest":{ - "type":"structure", - "members":{ - "ReservedElasticsearchInstanceId":{ - "shape":"GUID", - "documentation":"

The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.

", - "location":"querystring", - "locationName":"reservationId" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Set this value to limit the number of results returned. If not specified, defaults to 100.

", - "location":"querystring", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", - "location":"querystring", - "locationName":"nextToken" - } - }, - "documentation":"

Container for parameters to DescribeReservedElasticsearchInstances

" - }, - "DescribeReservedElasticsearchInstancesResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Provides an identifier to allow retrieval of paginated results.

" - }, - "ReservedElasticsearchInstances":{ - "shape":"ReservedElasticsearchInstanceList", - "documentation":"

List of reserved Elasticsearch instances.

" - } - }, - "documentation":"

Container for results from DescribeReservedElasticsearchInstances

" - }, - "DisabledOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An error occured because the client wanted to access a not supported operation. Gives http status code of 409.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DomainId":{ - "type":"string", - "documentation":"

Unique identifier for an Elasticsearch domain.

", - "max":64, - "min":1 - }, - "DomainInfo":{ - "type":"structure", - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

Specifies the DomainName.

" - } - } - }, - "DomainInfoList":{ - "type":"list", - "member":{"shape":"DomainInfo"}, - "documentation":"

Contains the list of Elasticsearch domain information.

" - }, - "DomainName":{ - "type":"string", - "documentation":"

The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

", - "max":28, - "min":3, - "pattern":"[a-z][a-z0-9\\-]+" - }, - "DomainNameList":{ - "type":"list", - "member":{"shape":"DomainName"}, - "documentation":"

A list of Elasticsearch domain names.

" - }, - "Double":{"type":"double"}, - "EBSOptions":{ - "type":"structure", - "members":{ - "EBSEnabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether EBS-based storage is enabled.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

Specifies the volume type for EBS-based storage.

" - }, - "VolumeSize":{ - "shape":"IntegerClass", - "documentation":"

Integer to specify the size of an EBS volume.

" - }, - "Iops":{ - "shape":"IntegerClass", - "documentation":"

Specifies the IOPD for a Provisioned IOPS EBS volume (SSD).

" - } - }, - "documentation":"

Options to enable, disable, and specify the properties of EBS storage volumes. For more information, see Configuring EBS-based Storage.

" - }, - "EBSOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"EBSOptions", - "documentation":"

Specifies the EBS options for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the EBS options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the EBS options for the specified Elasticsearch domain.

" - }, - "ESPartitionInstanceType":{ - "type":"string", - "enum":[ - "m3.medium.elasticsearch", - "m3.large.elasticsearch", - "m3.xlarge.elasticsearch", - "m3.2xlarge.elasticsearch", - "m4.large.elasticsearch", - "m4.xlarge.elasticsearch", - "m4.2xlarge.elasticsearch", - "m4.4xlarge.elasticsearch", - "m4.10xlarge.elasticsearch", - "t2.micro.elasticsearch", - "t2.small.elasticsearch", - "t2.medium.elasticsearch", - "r3.large.elasticsearch", - "r3.xlarge.elasticsearch", - "r3.2xlarge.elasticsearch", - "r3.4xlarge.elasticsearch", - "r3.8xlarge.elasticsearch", - "i2.xlarge.elasticsearch", - "i2.2xlarge.elasticsearch", - "d2.xlarge.elasticsearch", - "d2.2xlarge.elasticsearch", - "d2.4xlarge.elasticsearch", - "d2.8xlarge.elasticsearch", - "c4.large.elasticsearch", - "c4.xlarge.elasticsearch", - "c4.2xlarge.elasticsearch", - "c4.4xlarge.elasticsearch", - "c4.8xlarge.elasticsearch", - "r4.large.elasticsearch", - "r4.xlarge.elasticsearch", - "r4.2xlarge.elasticsearch", - "r4.4xlarge.elasticsearch", - "r4.8xlarge.elasticsearch", - "r4.16xlarge.elasticsearch", - "i3.large.elasticsearch", - "i3.xlarge.elasticsearch", - "i3.2xlarge.elasticsearch", - "i3.4xlarge.elasticsearch", - "i3.8xlarge.elasticsearch", - "i3.16xlarge.elasticsearch" - ] - }, - "ElasticsearchClusterConfig":{ - "type":"structure", - "members":{ - "InstanceType":{ - "shape":"ESPartitionInstanceType", - "documentation":"

The instance type for an Elasticsearch cluster.

" - }, - "InstanceCount":{ - "shape":"IntegerClass", - "documentation":"

The number of instances in the specified domain cluster.

" - }, - "DedicatedMasterEnabled":{ - "shape":"Boolean", - "documentation":"

A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information.

" - }, - "ZoneAwarenessEnabled":{ - "shape":"Boolean", - "documentation":"

A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

" - }, - "DedicatedMasterType":{ - "shape":"ESPartitionInstanceType", - "documentation":"

The instance type for a dedicated master node.

" - }, - "DedicatedMasterCount":{ - "shape":"IntegerClass", - "documentation":"

Total number of dedicated master nodes, active and on standby, for the cluster.

" - } - }, - "documentation":"

Specifies the configuration for the domain cluster, such as the type and number of instances.

" - }, - "ElasticsearchClusterConfigStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"ElasticsearchClusterConfig", - "documentation":"

Specifies the cluster configuration for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the configuration for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Specifies the configuration status for the specified Elasticsearch domain.

" - }, - "ElasticsearchDomainConfig":{ - "type":"structure", - "members":{ - "ElasticsearchVersion":{ - "shape":"ElasticsearchVersionStatus", - "documentation":"

String of format X.Y to specify version for the Elasticsearch domain.

" - }, - "ElasticsearchClusterConfig":{ - "shape":"ElasticsearchClusterConfigStatus", - "documentation":"

Specifies the ElasticsearchClusterConfig for the Elasticsearch domain.

" - }, - "EBSOptions":{ - "shape":"EBSOptionsStatus", - "documentation":"

Specifies the EBSOptions for the Elasticsearch domain.

" - }, - "AccessPolicies":{ - "shape":"AccessPoliciesStatus", - "documentation":"

IAM access policy as a JSON-formatted string.

" - }, - "SnapshotOptions":{ - "shape":"SnapshotOptionsStatus", - "documentation":"

Specifies the SnapshotOptions for the Elasticsearch domain.

" - }, - "VPCOptions":{ - "shape":"VPCDerivedInfoStatus", - "documentation":"

The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" - }, - "CognitoOptions":{ - "shape":"CognitoOptionsStatus", - "documentation":"

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

" - }, - "EncryptionAtRestOptions":{ - "shape":"EncryptionAtRestOptionsStatus", - "documentation":"

Specifies the EncryptionAtRestOptions for the Elasticsearch domain.

" - }, - "AdvancedOptions":{ - "shape":"AdvancedOptionsStatus", - "documentation":"

Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.

" - }, - "LogPublishingOptions":{ - "shape":"LogPublishingOptionsStatus", - "documentation":"

Log publishing options for the given domain.

" - } - }, - "documentation":"

The configuration of an Elasticsearch domain.

" - }, - "ElasticsearchDomainStatus":{ - "type":"structure", - "required":[ - "DomainId", - "DomainName", - "ARN", - "ElasticsearchClusterConfig" - ], - "members":{ - "DomainId":{ - "shape":"DomainId", - "documentation":"

The unique identifier for the specified Elasticsearch domain.

" - }, - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" - }, - "ARN":{ - "shape":"ARN", - "documentation":"

The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

" - }, - "Created":{ - "shape":"Boolean", - "documentation":"

The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress.

" - }, - "Deleted":{ - "shape":"Boolean", - "documentation":"

The domain deletion status. True if a delete request has been received for the domain but resource cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned.

" - }, - "Endpoint":{ - "shape":"ServiceUrl", - "documentation":"

The Elasticsearch domain endpoint that you use to submit index and search requests.

" - }, - "Endpoints":{ - "shape":"EndpointsMap", - "documentation":"

Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

" - }, - "Processing":{ - "shape":"Boolean", - "documentation":"

The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

" - }, - "UpgradeProcessing":{ - "shape":"Boolean", - "documentation":"

The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active.

" - }, - "ElasticsearchVersion":{"shape":"ElasticsearchVersionString"}, - "ElasticsearchClusterConfig":{ - "shape":"ElasticsearchClusterConfig", - "documentation":"

The type and number of instances in the domain cluster.

" - }, - "EBSOptions":{ - "shape":"EBSOptions", - "documentation":"

The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information.

" - }, - "AccessPolicies":{ - "shape":"PolicyDocument", - "documentation":"

IAM access policy as a JSON-formatted string.

" - }, - "SnapshotOptions":{ - "shape":"SnapshotOptions", - "documentation":"

Specifies the status of the SnapshotOptions

" - }, - "VPCOptions":{ - "shape":"VPCDerivedInfo", - "documentation":"

The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" - }, - "CognitoOptions":{ - "shape":"CognitoOptions", - "documentation":"

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

" - }, - "EncryptionAtRestOptions":{ - "shape":"EncryptionAtRestOptions", - "documentation":"

Specifies the status of the EncryptionAtRestOptions.

" - }, - "AdvancedOptions":{ - "shape":"AdvancedOptions", - "documentation":"

Specifies the status of the AdvancedOptions

" - }, - "LogPublishingOptions":{ - "shape":"LogPublishingOptions", - "documentation":"

Log publishing options for the given domain.

" - } - }, - "documentation":"

The current status of an Elasticsearch domain.

" - }, - "ElasticsearchDomainStatusList":{ - "type":"list", - "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":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"ElasticsearchVersionString", - "documentation":"

Specifies the Elasticsearch version for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the Elasticsearch version options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the Elasticsearch version options for the specified Elasticsearch domain.

" - }, - "ElasticsearchVersionString":{"type":"string"}, - "EncryptionAtRestOptions":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Specifies the option to enable Encryption At Rest.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

Specifies the KMS Key ID for Encryption At Rest options.

" - } - }, - "documentation":"

Specifies the Encryption At Rest Options.

" - }, - "EncryptionAtRestOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"EncryptionAtRestOptions", - "documentation":"

Specifies the Encryption At Rest options for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the Encryption At Rest options for the specified Elasticsearch domain.

" - }, - "EndpointsMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"ServiceUrl"} - }, - "ErrorMessage":{"type":"string"}, - "GUID":{ - "type":"string", - "pattern":"\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}" - }, - "GetCompatibleElasticsearchVersionsRequest":{ - "type":"structure", - "members":{ - "DomainName":{ - "shape":"DomainName", - "location":"querystring", - "locationName":"domainName" - } - }, - "documentation":"

Container for request parameters to GetCompatibleElasticsearchVersions operation.

" - }, - "GetCompatibleElasticsearchVersionsResponse":{ - "type":"structure", - "members":{ - "CompatibleElasticsearchVersions":{ - "shape":"CompatibleElasticsearchVersionsList", - "documentation":"

A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions operation.

" - } - }, - "documentation":"

Container for response returned by GetCompatibleElasticsearchVersions operation.

" - }, - "GetUpgradeHistoryRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "location":"uri", - "locationName":"DomainName" - }, - "MaxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "location":"querystring", - "locationName":"nextToken" - } - }, - "documentation":"

Container for request parameters to GetUpgradeHistory operation.

" - }, - "GetUpgradeHistoryResponse":{ - "type":"structure", - "members":{ - "UpgradeHistories":{ - "shape":"UpgradeHistoryList", - "documentation":"

A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse object.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token that needs to be supplied to the next call to get the next page of results

" - } - }, - "documentation":"

Container for response returned by GetUpgradeHistory operation.

" - }, - "GetUpgradeStatusRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "location":"uri", - "locationName":"DomainName" - } - }, - "documentation":"

Container for request parameters to GetUpgradeStatus operation.

" - }, - "GetUpgradeStatusResponse":{ - "type":"structure", - "members":{ - "UpgradeStep":{ - "shape":"UpgradeStep", - "documentation":"

Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through:

  • PreUpgradeCheck
  • Snapshot
  • Upgrade

" - }, - "StepStatus":{ - "shape":"UpgradeStatus", - "documentation":"

One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse object. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" - }, - "UpgradeName":{ - "shape":"UpgradeName", - "documentation":"

A string that describes the update briefly

" - } - }, - "documentation":"

Container for response returned by GetUpgradeStatus operation.

" - }, - "IdentityPoolId":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+:[0-9a-f-]+" - }, - "InstanceCount":{ - "type":"integer", - "documentation":"

Specifies the number of EC2 instances in the Elasticsearch domain.

", - "min":1 - }, - "InstanceCountLimits":{ - "type":"structure", - "members":{ - "MinimumInstanceCount":{"shape":"MinimumInstanceCount"}, - "MaximumInstanceCount":{"shape":"MaximumInstanceCount"} - }, - "documentation":"

InstanceCountLimits represents the limits on number of instances that be created in Amazon Elasticsearch for given InstanceType.

" - }, - "InstanceLimits":{ - "type":"structure", - "members":{ - "InstanceCountLimits":{"shape":"InstanceCountLimits"} - }, - "documentation":"

InstanceLimits represents the list of instance related attributes that are available for given InstanceType.

" - }, - "InstanceRole":{"type":"string"}, - "Integer":{"type":"integer"}, - "IntegerClass":{"type":"integer"}, - "InternalException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request processing has failed because of an unknown error, exception or failure (the failure is internal to the service) . Gives http status code of 500.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "InvalidTypeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An exception for trying to create or access sub-resource that is either invalid or not supported. Gives http status code of 409.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "Issue":{"type":"string"}, - "Issues":{ - "type":"list", - "member":{"shape":"Issue"} - }, - "KmsKeyId":{ - "type":"string", - "max":500, - "min":1 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409.

", - "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":{ - "DomainNames":{ - "shape":"DomainInfoList", - "documentation":"

List of Elasticsearch domain names.

" - } - }, - "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"], - "members":{ - "ARN":{ - "shape":"ARN", - "documentation":"

Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view.

", - "location":"querystring", - "locationName":"arn" - } - }, - "documentation":"

Container for the parameters to the ListTags operation. Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view are attached.

" - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

List of Tag for the requested Elasticsearch domain.

" - } - }, - "documentation":"

The result of a ListTags operation. Contains tags for all requested Elasticsearch domains.

" - }, - "LogPublishingOption":{ - "type":"structure", - "members":{ - "CloudWatchLogsLogGroupArn":{"shape":"CloudWatchLogsLogGroupArn"}, - "Enabled":{ - "shape":"Boolean", - "documentation":"

Specifies whether given log publishing option is enabled or not.

" - } - }, - "documentation":"

Log Publishing option that is set for given domain.
Attributes and their details:

  • CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which log needs to be published.
  • Enabled: Whether the log publishing for given log type is enabled or not

" - }, - "LogPublishingOptions":{ - "type":"map", - "key":{"shape":"LogType"}, - "value":{"shape":"LogPublishingOption"} - }, - "LogPublishingOptionsStatus":{ - "type":"structure", - "members":{ - "Options":{ - "shape":"LogPublishingOptions", - "documentation":"

The log publishing options configured for the Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

The status of the log publishing options for the Elasticsearch domain. See OptionStatus for the status information that's included.

" - } - }, - "documentation":"

The configured log publishing options for the domain and their current status.

" - }, - "LogType":{ - "type":"string", - "documentation":"

Type of Log File, it can be one of the following:

  • INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more time than configured index query log threshold to execute.
  • SEARCH_SLOW_LOGS: Search slow logs contain search queries that took more time than configured search query log threshold to execute.
  • ES_APPLICATION_LOGS: Elasticsearch application logs contain information about errors and warnings raised during the operation of the service and can be useful for troubleshooting.

", - "enum":[ - "INDEX_SLOW_LOGS", - "SEARCH_SLOW_LOGS", - "ES_APPLICATION_LOGS" - ] - }, - "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.
", - "enum":[ - "RequiresIndexDocuments", - "Processing", - "Active" - ] - }, - "OptionStatus":{ - "type":"structure", - "required":[ - "CreationDate", - "UpdateDate", - "State" - ], - "members":{ - "CreationDate":{ - "shape":"UpdateTimestamp", - "documentation":"

Timestamp which tells the creation date for the entity.

" - }, - "UpdateDate":{ - "shape":"UpdateTimestamp", - "documentation":"

Timestamp which tells the last updated time for the entity.

" - }, - "UpdateVersion":{ - "shape":"UIntValue", - "documentation":"

Specifies the latest version for the entity.

" - }, - "State":{ - "shape":"OptionState", - "documentation":"

Provides the OptionState for the Elasticsearch domain.

" - }, - "PendingDeletion":{ - "shape":"Boolean", - "documentation":"

Indicates whether the Elasticsearch domain is being deleted.

" - } - }, - "documentation":"

Provides the current status of the entity.

" - }, - "PolicyDocument":{ - "type":"string", - "documentation":"

Access policy rules for an Elasticsearch domain service endpoints. For more information, see Configuring Access Policies in the Amazon Elasticsearch Service Developer Guide. The maximum size of a policy document is 100 KB.

" - }, - "PurchaseReservedElasticsearchInstanceOfferingRequest":{ - "type":"structure", - "required":[ - "ReservedElasticsearchInstanceOfferingId", - "ReservationName" - ], - "members":{ - "ReservedElasticsearchInstanceOfferingId":{ - "shape":"GUID", - "documentation":"

The ID of the reserved Elasticsearch instance offering to purchase.

" - }, - "ReservationName":{ - "shape":"ReservationToken", - "documentation":"

A customer-specified identifier to track this reservation.

" - }, - "InstanceCount":{ - "shape":"InstanceCount", - "documentation":"

The number of Elasticsearch instances to reserve.

" - } - }, - "documentation":"

Container for parameters to PurchaseReservedElasticsearchInstanceOffering

" - }, - "PurchaseReservedElasticsearchInstanceOfferingResponse":{ - "type":"structure", - "members":{ - "ReservedElasticsearchInstanceId":{ - "shape":"GUID", - "documentation":"

Details of the reserved Elasticsearch instance which was purchased.

" - }, - "ReservationName":{ - "shape":"ReservationToken", - "documentation":"

The customer-specified identifier used to track this reservation.

" - } - }, - "documentation":"

Represents the output of a PurchaseReservedElasticsearchInstanceOffering operation.

" - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The monetary amount of the recurring charge.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency of the recurring charge.

" - } - }, - "documentation":"

Contains the specific price and frequency of a recurring charges for a reserved Elasticsearch instance, or for a reserved Elasticsearch instance offering.

" - }, - "RecurringChargeList":{ - "type":"list", - "member":{"shape":"RecurringCharge"} - }, - "RemoveTagsRequest":{ - "type":"structure", - "required":[ - "ARN", - "TagKeys" - ], - "members":{ - "ARN":{ - "shape":"ARN", - "documentation":"

Specifies the ARN for the Elasticsearch domain from which you want to delete the specified tags.

" - }, - "TagKeys":{ - "shape":"StringList", - "documentation":"

Specifies the TagKey list which you want to remove from the Elasticsearch domain.

" - } - }, - "documentation":"

Container for the parameters to the RemoveTags operation. Specify the ARN for the Elasticsearch domain from which you want to remove the specified TagKey.

" - }, - "ReservationToken":{ - "type":"string", - "max":64, - "min":5 - }, - "ReservedElasticsearchInstance":{ - "type":"structure", - "members":{ - "ReservationName":{ - "shape":"ReservationToken", - "documentation":"

The customer-specified identifier to track this reservation.

" - }, - "ReservedElasticsearchInstanceId":{ - "shape":"GUID", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedElasticsearchInstanceOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "ElasticsearchInstanceType":{ - "shape":"ESPartitionInstanceType", - "documentation":"

The Elasticsearch instance type offered by the reserved instance offering.

" - }, - "StartTime":{ - "shape":"UpdateTimestamp", - "documentation":"

The time the reservation started.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration, in seconds, for which the Elasticsearch instance is reserved.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The rate you are charged for each hour for the domain that is using this reserved instance.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved Elasticsearch instance offering.

" - }, - "ElasticsearchInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of Elasticsearch instances that have been reserved.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved Elasticsearch instance.

" - }, - "PaymentOption":{ - "shape":"ReservedElasticsearchInstancePaymentOption", - "documentation":"

The payment option as defined in the reserved Elasticsearch instance offering.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The charge to your account regardless of whether you are creating any domains using the instance offering.

" - } - }, - "documentation":"

Details of a reserved Elasticsearch instance.

" - }, - "ReservedElasticsearchInstanceList":{ - "type":"list", - "member":{"shape":"ReservedElasticsearchInstance"} - }, - "ReservedElasticsearchInstanceOffering":{ - "type":"structure", - "members":{ - "ReservedElasticsearchInstanceOfferingId":{ - "shape":"GUID", - "documentation":"

The Elasticsearch reserved instance offering identifier.

" - }, - "ElasticsearchInstanceType":{ - "shape":"ESPartitionInstanceType", - "documentation":"

The Elasticsearch instance type offered by the reserved instance offering.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration, in seconds, for which the offering will reserve the Elasticsearch instance.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The rate you are charged for each hour the domain that is using the offering is running.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved Elasticsearch instance offering.

" - }, - "PaymentOption":{ - "shape":"ReservedElasticsearchInstancePaymentOption", - "documentation":"

Payment option for the reserved Elasticsearch instance offering

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The charge to your account regardless of whether you are creating any domains using the instance offering.

" - } - }, - "documentation":"

Details of a reserved Elasticsearch instance offering.

" - }, - "ReservedElasticsearchInstanceOfferingList":{ - "type":"list", - "member":{"shape":"ReservedElasticsearchInstanceOffering"} - }, - "ReservedElasticsearchInstancePaymentOption":{ - "type":"string", - "enum":[ - "ALL_UPFRONT", - "PARTIAL_UPFRONT", - "NO_UPFRONT" - ] - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An exception for creating a resource that already exists. Gives http status code of 400.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An exception for accessing or deleting a resource that does not exist. Gives http status code of 400.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "RoleArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "ServiceUrl":{ - "type":"string", - "documentation":"

The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com.

" - }, - "SnapshotOptions":{ - "type":"structure", - "members":{ - "AutomatedSnapshotStartHour":{ - "shape":"IntegerClass", - "documentation":"

Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.

" - } - }, - "documentation":"

Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours.

" - }, - "SnapshotOptionsStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"SnapshotOptions", - "documentation":"

Specifies the daily snapshot options specified for the Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of a daily automated snapshot.

" - } - }, - "documentation":"

Status of a daily automated snapshot.

" - }, - "StartTimestamp":{"type":"timestamp"}, - "StorageSubTypeName":{ - "type":"string", - "documentation":"

SubType of the given storage type. List of available sub-storage options: For \"instance\" storageType we wont have any storageSubType, in case of \"ebs\" storageType we will have following valid storageSubTypes

  1. standard
  2. gp2
  3. io1
Refer VolumeType for more information regarding above EBS storage options.

" - }, - "StorageType":{ - "type":"structure", - "members":{ - "StorageTypeName":{"shape":"StorageTypeName"}, - "StorageSubTypeName":{"shape":"StorageSubTypeName"}, - "StorageTypeLimits":{ - "shape":"StorageTypeLimitList", - "documentation":"

List of limits that are applicable for given storage type.

" - } - }, - "documentation":"

StorageTypes represents the list of storage related types and their attributes that are available for given InstanceType.

" - }, - "StorageTypeLimit":{ - "type":"structure", - "members":{ - "LimitName":{ - "shape":"LimitName", - "documentation":"

Name of storage limits that are applicable for given storage type. If StorageType is ebs, following storage options are applicable

  1. MinimumVolumeSize
  2. Minimum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  3. MaximumVolumeSize
  4. Maximum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  5. MaximumIops
  6. Maximum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.
  7. MinimumIops
  8. Minimum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.

" - }, - "LimitValues":{ - "shape":"LimitValueList", - "documentation":"

Values for the StorageTypeLimit$LimitName .

" - } - }, - "documentation":"

Limits that are applicable for given storage type.

" - }, - "StorageTypeLimitList":{ - "type":"list", - "member":{"shape":"StorageTypeLimit"} - }, - "StorageTypeList":{ - "type":"list", - "member":{"shape":"StorageType"} - }, - "StorageTypeName":{ - "type":"string", - "documentation":"

Type of the storage. List of available storage options:

  1. instance
  2. Inbuilt storage available for the given Instance
  3. ebs
  4. Elastic block storage that would be attached to the given Instance

" - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

Specifies the TagKey, the name of the tag. Tag keys must be unique for the Elasticsearch domain to which they are attached.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

Specifies the TagValue, the value assigned to the corresponding tag key. Tag values can be null and do not have to be unique in a tag set. For example, you can have a key value pair in a tag set of project : Trinity and cost-center : Trinity

" - } - }, - "documentation":"

Specifies a key value pair for a resource tag.

" - }, - "TagKey":{ - "type":"string", - "documentation":"

A string of length from 1 to 128 characters that specifies the key for a Tag. Tag keys must be unique for the Elasticsearch domain to which they are attached.

", - "max":128, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "documentation":"

A list of Tag

" - }, - "TagValue":{ - "type":"string", - "documentation":"

A string of length from 0 to 256 characters that specifies the value for a Tag. Tag values can be null and do not have to be unique in a tag set.

", - "max":256, - "min":0 - }, - "UIntValue":{ - "type":"integer", - "min":0 - }, - "UpdateElasticsearchDomainConfigRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the Elasticsearch domain that you are updating.

", - "location":"uri", - "locationName":"DomainName" - }, - "ElasticsearchClusterConfig":{ - "shape":"ElasticsearchClusterConfig", - "documentation":"

The type and number of instances to instantiate for the domain cluster.

" - }, - "EBSOptions":{ - "shape":"EBSOptions", - "documentation":"

Specify the type and size of the EBS volume that you want to use.

" - }, - "SnapshotOptions":{ - "shape":"SnapshotOptions", - "documentation":"

Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

" - }, - "VPCOptions":{ - "shape":"VPCOptions", - "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

" - }, - "CognitoOptions":{ - "shape":"CognitoOptions", - "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" - }, - "AdvancedOptions":{ - "shape":"AdvancedOptions", - "documentation":"

Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.

" - }, - "AccessPolicies":{ - "shape":"PolicyDocument", - "documentation":"

IAM access policy as a JSON-formatted string.

" - }, - "LogPublishingOptions":{ - "shape":"LogPublishingOptions", - "documentation":"

Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

" - } - }, - "documentation":"

Container for the parameters to the UpdateElasticsearchDomain operation. Specifies the type and number of instances in the domain cluster.

" - }, - "UpdateElasticsearchDomainConfigResponse":{ - "type":"structure", - "required":["DomainConfig"], - "members":{ - "DomainConfig":{ - "shape":"ElasticsearchDomainConfig", - "documentation":"

The status of the updated Elasticsearch domain.

" - } - }, - "documentation":"

The result of an UpdateElasticsearchDomain request. Contains the status of the Elasticsearch domain being updated.

" - }, - "UpdateTimestamp":{"type":"timestamp"}, - "UpgradeElasticsearchDomainRequest":{ - "type":"structure", - "required":[ - "DomainName", - "TargetVersion" - ], - "members":{ - "DomainName":{"shape":"DomainName"}, - "TargetVersion":{ - "shape":"ElasticsearchVersionString", - "documentation":"

The version of Elasticsearch that you intend to upgrade the domain to.

" - }, - "PerformCheckOnly":{ - "shape":"Boolean", - "documentation":"

This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

" - } - }, - "documentation":"

Container for request parameters to UpgradeElasticsearchDomain operation.

" - }, - "UpgradeElasticsearchDomainResponse":{ - "type":"structure", - "members":{ - "DomainName":{"shape":"DomainName"}, - "TargetVersion":{ - "shape":"ElasticsearchVersionString", - "documentation":"

The version of Elasticsearch that you intend to upgrade the domain to.

" - }, - "PerformCheckOnly":{ - "shape":"Boolean", - "documentation":"

This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

" - } - }, - "documentation":"

Container for response returned by UpgradeElasticsearchDomain operation.

" - }, - "UpgradeHistory":{ - "type":"structure", - "members":{ - "UpgradeName":{ - "shape":"UpgradeName", - "documentation":"

A string that describes the update briefly

" - }, - "StartTimestamp":{ - "shape":"StartTimestamp", - "documentation":"

UTC Timestamp at which the Upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format.

" - }, - "UpgradeStatus":{ - "shape":"UpgradeStatus", - "documentation":"

The overall status of the update. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" - }, - "StepsList":{ - "shape":"UpgradeStepsList", - "documentation":"

A list of UpgradeStepItem s representing information about each step performed as pard of a specific Upgrade or Upgrade Eligibility Check.

" - } - }, - "documentation":"

History of the last 10 Upgrades and Upgrade Eligibility Checks.

" - }, - "UpgradeHistoryList":{ - "type":"list", - "member":{"shape":"UpgradeHistory"} - }, - "UpgradeName":{"type":"string"}, - "UpgradeStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "SUCCEEDED", - "SUCCEEDED_WITH_ISSUES", - "FAILED" - ] - }, - "UpgradeStep":{ - "type":"string", - "enum":[ - "PRE_UPGRADE_CHECK", - "SNAPSHOT", - "UPGRADE" - ] - }, - "UpgradeStepItem":{ - "type":"structure", - "members":{ - "UpgradeStep":{ - "shape":"UpgradeStep", - "documentation":"

Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through:

  • PreUpgradeCheck
  • Snapshot
  • Upgrade

" - }, - "UpgradeStepStatus":{ - "shape":"UpgradeStatus", - "documentation":"

The status of a particular step during an upgrade. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" - }, - "Issues":{ - "shape":"Issues", - "documentation":"

A list of strings containing detailed information about the errors encountered in a particular step.

" - }, - "ProgressPercent":{ - "shape":"Double", - "documentation":"

The Floating point value representing progress percentage of a particular step.

" - } - }, - "documentation":"

Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.

" - }, - "UpgradeStepsList":{ - "type":"list", - "member":{"shape":"UpgradeStepItem"} - }, - "UserPoolId":{ - "type":"string", - "max":55, - "min":1, - "pattern":"[\\w-]+_[0-9a-zA-Z]+" - }, - "VPCDerivedInfo":{ - "type":"structure", - "members":{ - "VPCId":{ - "shape":"String", - "documentation":"

The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

" - }, - "SubnetIds":{ - "shape":"StringList", - "documentation":"

Specifies the subnets for VPC endpoint.

" - }, - "AvailabilityZones":{ - "shape":"StringList", - "documentation":"

The availability zones for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

" - }, - "SecurityGroupIds":{ - "shape":"StringList", - "documentation":"

Specifies the security groups for VPC endpoint.

" - } - }, - "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" - }, - "VPCDerivedInfoStatus":{ - "type":"structure", - "required":[ - "Options", - "Status" - ], - "members":{ - "Options":{ - "shape":"VPCDerivedInfo", - "documentation":"

Specifies the VPC options for the specified Elasticsearch domain.

" - }, - "Status":{ - "shape":"OptionStatus", - "documentation":"

Specifies the status of the VPC options for the specified Elasticsearch domain.

" - } - }, - "documentation":"

Status of the VPC options for the specified Elasticsearch domain.

" - }, - "VPCOptions":{ - "type":"structure", - "members":{ - "SubnetIds":{ - "shape":"StringList", - "documentation":"

Specifies the subnets for VPC endpoint.

" - }, - "SecurityGroupIds":{ - "shape":"StringList", - "documentation":"

Specifies the security groups for VPC endpoint.

" - } - }, - "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" - }, - "ValidationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An exception for missing / invalid input fields. Gives http status code of 400.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "VolumeType":{ - "type":"string", - "documentation":"

The type of EBS volume, standard, gp2, or io1. See Configuring EBS-based Storagefor more information.

", - "enum":[ - "standard", - "gp2", - "io1" - ] - } - }, - "documentation":"Amazon Elasticsearch Configuration Service

Use the Amazon Elasticsearch configuration API to create, configure, and manage Elasticsearch domains.

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2014-02-03/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2014-02-03/service-2.json deleted file mode 100644 index e6cf2a40..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2014-02-03/service-2.json +++ /dev/null @@ -1,997 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-02-03", - "endpointPrefix":"events", - "jsonVersion":"1.1", - "serviceFullName":"Amazon CloudWatch Events", - "signatureVersion":"v4", - "targetPrefix":"AWSEvents", - "protocol":"json" - }, - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteRuleRequest", - "documentation":"

Container for the parameters to the DeleteRule operation.

" - }, - "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.

" - } - ], - "documentation":"

Deletes a rule. You must remove all targets from a rule using RemoveTargets before you can delete the rule.

Note: When you make a change with this action, incoming events might still continue to match to the deleted rule. Please allow a short period of time for changes to take effect.

" - }, - "DescribeRule":{ - "name":"DescribeRule", - "http":{ - "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.

" - }, - "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.

" - } - ], - "documentation":"

Describes the details of the specified rule.

" - }, - "DisableRule":{ - "name":"DisableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DisableRuleRequest", - "documentation":"

Container for the parameters to the DisableRule operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "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 make a change with this action, incoming events might still continue to match to the disabled rule. Please allow a short period of time for changes to take effect.

" - }, - "EnableRule":{ - "name":"EnableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"EnableRuleRequest", - "documentation":"

Container for the parameters to the EnableRule operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "documentation":"

Enables a rule. If the rule does not exist, the operation fails.

Note: When you make a change with this action, 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", - "http":{ - "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.

" - }, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "documentation":"

Lists the names of the rules that the given target is put to. Using this action, you can find out 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 the ListRulesByTarget action until the NextToken in the response is returned as null.

" - }, - "ListRules":{ - "name":"ListRules", - "http":{ - "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.

" - }, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "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 the ListRules action until the NextToken in the response is returned as null.

" - }, - "ListTargetsByRule":{ - "name":"ListTargetsByRule", - "http":{ - "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.

" - }, - "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.

" - } - ], - "documentation":"

Lists of targets assigned to the rule.

" - }, - "PutEvents":{ - "name":"PutEvents", - "http":{ - "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.

" - }, - "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "documentation":"

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

" - }, - "PutRule":{ - "name":"PutRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PutRuleRequest", - "documentation":"

Container for the parameters to the PutRule operation.

" - }, - "output":{ - "shape":"PutRuleResponse", - "documentation":"

The result of the PutRule operation.

" - }, - "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "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 make a change with this action, 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.

" - }, - "PutTargets":{ - "name":"PutTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PutTargetsRequest", - "documentation":"

Container for the parameters to the PutTargets operation.

" - }, - "output":{ - "shape":"PutTargetsResponse", - "documentation":"

The result of the PutTargets operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } - ], - "documentation":"

Adds target(s) to a rule. 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.

Note: When you make a change with this action, 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.

" - }, - "RemoveTargets":{ - "name":"RemoveTargets", - "http":{ - "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.

" - }, - "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.

" - } - ], - "documentation":"

Removes target(s) from a rule so that when the rule is triggered, those targets will no longer be invoked.

Note: When you make a change with this action, 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.

" - }, - "TestEventPattern":{ - "name":"TestEventPattern", - "http":{ - "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.

" - }, - "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.

" - } - ], - "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.

" - } - }, - "shapes":{ - "Boolean":{"type":"boolean"}, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - }, - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - "DeleteRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule to be deleted.

" - } - }, - "documentation":"

Container for the parameters to the DeleteRule operation.

" - }, - "DescribeRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule you want to describe details for.

" - } - }, - "documentation":"

Container for the parameters to the DescribeRule operation.

" - }, - "DescribeRuleResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The rule's name.

" - }, - "Arn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with the rule.

" - }, - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - }, - "State":{ - "shape":"RuleState", - "documentation":"

Specifies whether the rule is enabled or disabled.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

The rule's description.

" - }, - "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", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule you want to disable.

" - } - }, - "documentation":"

Container for the parameters to the DisableRule operation.

" - }, - "EnableRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule that you want to enable.

" - } - }, - "documentation":"

Container for the parameters to the EnableRule operation.

" - }, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "EventId":{"type":"string"}, - "EventPattern":{ - "type":"string", - "max":2048 - }, - "EventResource":{"type":"string"}, - "EventResourceList":{ - "type":"list", - "member":{"shape":"EventResource"} - }, - "EventTime":{"type":"timestamp"}, - "Integer":{"type":"integer"}, - "InternalException":{ - "type":"structure", - "members":{ - }, - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - }, - "InvalidEventPatternException":{ - "type":"structure", - "members":{ - }, - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - "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.

" - }, - "LimitMax100":{ - "type":"integer", - "min":1, - "max":100 - }, - "ListRuleNamesByTargetRequest":{ - "type":"structure", - "required":["TargetArn"], - "members":{ - "TargetArn":{ - "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) of the target resource that you want to list the rules for.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" - } - }, - "documentation":"

The result of the ListRuleNamesByTarget operation.

" - }, - "ListRulesRequest":{ - "type":"structure", - "members":{ - "NamePrefix":{ - "shape":"RuleName", - "documentation":"

The prefix matching the rule name.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" - } - }, - "documentation":"

The result of the ListRules operation.

" - }, - "ListTargetsByRuleRequest":{ - "type":"structure", - "required":["Rule"], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule whose targets you want to list.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" - }, - "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.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" - } - }, - "documentation":"

The result of the ListTargetsByRule operation.

" - }, - "NextToken":{ - "type":"string", - "min":1, - "max":2048 - }, - "PutEventsRequest":{ - "type":"structure", - "required":["Entries"], - "members":{ - "Entries":{ - "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.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the event.

" - }, - "Resources":{ - "shape":"EventResourceList", - "documentation":"

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present.

" - }, - "DetailType":{ - "shape":"String", - "documentation":"

Free-form string used to decide what fields to expect in the event detail.

" - }, - "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":"

Contains information about the event to be used in the PutEvents action.

" - }, - "PutEventsRequestEntryList":{ - "type":"list", - "member":{"shape":"PutEventsRequestEntry"}, - "min":1, - "max":10 - }, - "PutEventsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "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 result of the PutEvents operation.

" - }, - "PutEventsResultEntry":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"EventId", - "documentation":"

The ID of the event submitted to Amazon CloudWatch Events.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code representing why the event submission failed on this entry.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message explaining why the event submission failed on this entry.

" - } - }, - "documentation":"

A PutEventsResult contains a list of PutEventsResultEntry.

" - }, - "PutEventsResultEntryList":{ - "type":"list", - "member":{"shape":"PutEventsResultEntry"} - }, - "PutRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule that you are creating or updating.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - }, - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern.

" - }, - "State":{ - "shape":"RuleState", - "documentation":"

Indicates whether the rule is enabled or disabled.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

A description of the rule.

" - }, - "RoleArn":{ - "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 result of the PutRule operation.

" - }, - "PutTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Targets" - ], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule you want to add targets to.

" - }, - "Targets":{ - "shape":"TargetList", - "documentation":"

List of targets you want to update or add to the rule.

" - } - }, - "documentation":"

Container for the parameters to the PutTargets operation.

" - }, - "PutTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "FailedEntries":{ - "shape":"PutTargetsResultEntryList", - "documentation":"

An array of 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.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code representing why the target submission failed on this entry.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target submission failed on this entry.

" - } - }, - "documentation":"

A PutTargetsResult contains a list of PutTargetsResultEntry.

" - }, - "PutTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"PutTargetsResultEntry"} - }, - "RemoveTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Ids" - ], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule you want to remove targets from.

" - }, - "Ids":{ - "shape":"TargetIdList", - "documentation":"

The list of target IDs to remove from the rule.

" - } - }, - "documentation":"

Container for the parameters to the RemoveTargets operation.

" - }, - "RemoveTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "FailedEntries":{ - "shape":"RemoveTargetsResultEntryList", - "documentation":"

An array of 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.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code representing why the target removal failed on this entry.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target removal failed on this entry.

" - } - }, - "documentation":"

The ID of the target requested to be removed from the rule by Amazon CloudWatch Events.

" - }, - "RemoveTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"RemoveTargetsResultEntry"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "exception":true, - "documentation":"

The rule does not exist.

" - }, - "RoleArn":{ - "type":"string", - "min":1, - "max":1600 - }, - "Rule":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The rule's name.

" - }, - "Arn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern of the rule.

" - }, - "State":{ - "shape":"RuleState", - "documentation":"

The rule's state.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

The description of the rule.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with 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.

" - }, - "RuleArn":{ - "type":"string", - "min":1, - "max":1600 - }, - "RuleDescription":{ - "type":"string", - "max":512 - }, - "RuleName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[\\.\\-_A-Za-z0-9]+" - }, - "RuleNameList":{ - "type":"list", - "member":{"shape":"RuleName"} - }, - "RuleResponseList":{ - "type":"list", - "member":{"shape":"Rule"} - }, - "RuleState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "ScheduleExpression":{ - "type":"string", - "max":256 - }, - "String":{"type":"string"}, - "Target":{ - "type":"structure", - "required":[ - "Id", - "Arn" - ], - "members":{ - "Id":{ - "shape":"TargetId", - "documentation":"

The unique target assignment ID.

" - }, - "Arn":{ - "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) associated of the 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.

" - }, - "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":"

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.
" - }, - "TargetArn":{ - "type":"string", - "min":1, - "max":1600 - }, - "TargetId":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[\\.\\-_A-Za-z0-9]+" - }, - "TargetIdList":{ - "type":"list", - "member":{"shape":"TargetId"}, - "min":1, - "max":100 - }, - "TargetInput":{ - "type":"string", - "max":8192 - }, - "TargetInputPath":{ - "type":"string", - "max":256 - }, - "TargetList":{ - "type":"list", - "member":{"shape":"Target"} - }, - "TestEventPatternRequest":{ - "type":"structure", - "required":[ - "EventPattern", - "Event" - ], - "members":{ - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern you want to test.

" - }, - "Event":{ - "shape":"String", - "documentation":"

The event in the JSON format to test against the event pattern.

" - } - }, - "documentation":"

Container for the parameters to the TestEventPattern operation.

" - }, - "TestEventPatternResponse":{ - "type":"structure", - "members":{ - "Result":{ - "shape":"Boolean", - "documentation":"

Indicates whether the event matches the event pattern.

" - } - }, - "documentation":"

The result of the TestEventPattern operation.

" - } - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/examples-1.json deleted file mode 100644 index faff7689..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version":"1.0", - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/service-2.json deleted file mode 100644 index a5556537..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/events/2015-10-07/service-2.json +++ /dev/null @@ -1,1181 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-10-07", - "endpointPrefix":"events", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon CloudWatch Events", - "serviceId":"CloudWatch Events", - "signatureVersion":"v4", - "targetPrefix":"AWSEvents", - "uid":"events-2015-10-07" - }, - "operations":{ - "DeleteRule":{ - "name":"DeleteRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleRequest"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Deletes the specified rule.

Before you can delete the rule, you must remove all targets, using RemoveTargets.

When you delete a rule, incoming events might continue to match to the deleted rule. Allow a short period of time for changes to take effect.

" - }, - "DescribeEventBus":{ - "name":"DescribeEventBus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventBusRequest"}, - "output":{"shape":"DescribeEventBusResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"} - ], - "documentation":"

Displays the external AWS accounts that are permitted to write events to your account using your account's event bus, and the associated policy. To enable your account to receive events from other accounts, use PutPermission.

" - }, - "DescribeRule":{ - "name":"DescribeRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRuleRequest"}, - "output":{"shape":"DescribeRuleResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"} - ], - "documentation":"

Describes the specified rule.

DescribeRule does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

" - }, - "DisableRule":{ - "name":"DisableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableRuleRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Disables the specified rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.

When you disable a rule, incoming events might continue to match to the disabled rule. Allow a short period of time for changes to take effect.

" - }, - "EnableRule":{ - "name":"EnableRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableRuleRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Enables the specified rule. If the rule does not exist, the operation fails.

When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Allow a short period of time for changes to take effect.

" - }, - "ListRuleNamesByTarget":{ - "name":"ListRuleNamesByTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRuleNamesByTargetRequest"}, - "output":{"shape":"ListRuleNamesByTargetResponse"}, - "errors":[ - {"shape":"InternalException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesRequest"}, - "output":{"shape":"ListRulesResponse"}, - "errors":[ - {"shape":"InternalException"} - ], - "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.

ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

" - }, - "ListTargetsByRule":{ - "name":"ListTargetsByRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTargetsByRuleRequest"}, - "output":{"shape":"ListTargetsByRuleResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"} - ], - "documentation":"

Lists the targets assigned to the specified rule.

" - }, - "PutEvents":{ - "name":"PutEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutEventsRequest"}, - "output":{"shape":"PutEventsResponse"}, - "errors":[ - {"shape":"InternalException"} - ], - "documentation":"

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

" - }, - "PutPermission":{ - "name":"PutPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutPermissionRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"PolicyLengthExceededException"}, - {"shape":"InternalException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Running PutPermission permits the specified AWS account to put events to your account's default event bus. CloudWatch Events rules in your account are triggered by these events arriving to your default event bus.

For another account to send events to your account, that external account must have a CloudWatch Events rule with your account's default event bus as a target.

To enable multiple AWS accounts to put events to your default event bus, run PutPermission once for each of these accounts.

The permission policy on the default event bus cannot exceed 10 KB in size.

" - }, - "PutRule":{ - "name":"PutRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRuleRequest"}, - "output":{"shape":"PutRuleResponse"}, - "errors":[ - {"shape":"InvalidEventPatternException"}, - {"shape":"LimitExceededException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InternalException"} - ], - "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.

If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutTargetsRequest"}, - "output":{"shape":"PutTargetsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalException"} - ], - "documentation":"

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

  • EC2 instances

  • SSM Run Command

  • SSM Automation

  • AWS Lambda functions

  • Data streams in Amazon Kinesis Data Streams

  • Data delivery streams in Amazon Kinesis Data Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • AWS Batch jobs

  • AWS CodeBuild projects

  • Pipelines in AWS CodePipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues, including FIFO queues

  • The default event bus of another AWS account

Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" - }, - "RemovePermission":{ - "name":"RemovePermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemovePermissionRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Revokes the permission of another AWS account to be able to put events to your default event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus.

" - }, - "RemoveTargets":{ - "name":"RemoveTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTargetsRequest"}, - "output":{"shape":"RemoveTargetsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InternalException"} - ], - "documentation":"

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" - }, - "TestEventPattern":{ - "name":"TestEventPattern", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestEventPatternRequest"}, - "output":{"shape":"TestEventPatternResponse"}, - "errors":[ - {"shape":"InvalidEventPatternException"}, - {"shape":"InternalException"} - ], - "documentation":"

Tests whether the specified event pattern matches the provided event.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, 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":{ - "Action":{ - "type":"string", - "max":64, - "min":1, - "pattern":"events:[a-zA-Z]+" - }, - "Arn":{ - "type":"string", - "max":1600, - "min":1 - }, - "AssignPublicIp":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "AwsVpcConfiguration":{ - "type":"structure", - "required":["Subnets"], - "members":{ - "Subnets":{ - "shape":"StringList", - "documentation":"

Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.

" - }, - "SecurityGroups":{ - "shape":"StringList", - "documentation":"

Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.

" - }, - "AssignPublicIp":{ - "shape":"AssignPublicIp", - "documentation":"

Specifies whether the task's elastic network interface receives a public IP address. You can specify ENABLED only when LaunchType in EcsParameters is set to FARGATE.

" - } - }, - "documentation":"

This structure specifies the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the awsvpc network mode.

" - }, - "BatchArrayProperties":{ - "type":"structure", - "members":{ - "Size":{ - "shape":"Integer", - "documentation":"

The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.

" - } - }, - "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.

" - }, - "BatchParameters":{ - "type":"structure", - "required":[ - "JobDefinition", - "JobName" - ], - "members":{ - "JobDefinition":{ - "shape":"String", - "documentation":"

The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.

" - }, - "JobName":{ - "shape":"String", - "documentation":"

The name to use for this execution of the job, if the target is an AWS Batch job.

" - }, - "ArrayProperties":{ - "shape":"BatchArrayProperties", - "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.

" - }, - "RetryStrategy":{ - "shape":"BatchRetryStrategy", - "documentation":"

The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1–10. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.

" - } - }, - "documentation":"

The custom parameters to be used when the target is an AWS Batch job.

" - }, - "BatchRetryStrategy":{ - "type":"structure", - "members":{ - "Attempts":{ - "shape":"Integer", - "documentation":"

The number of times to attempt to retry, if the job fails. Valid values are 1–10.

" - } - }, - "documentation":"

The retry strategy to use for failed jobs, if the target is an AWS Batch job. If you specify a retry strategy here, it overrides the retry strategy defined in the job definition.

" - }, - "Boolean":{"type":"boolean"}, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is concurrent modification on a rule or target.

", - "exception":true - }, - "DeleteRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - } - } - }, - "DescribeEventBusRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeEventBusResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the event bus. Currently, this is always default.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the account permitted to write events to the current account.

" - }, - "Policy":{ - "shape":"String", - "documentation":"

The policy that enables the external account to send events to your account.

" - } - } - }, - "DescribeRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - } - } - }, - "DescribeRuleResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "Arn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - }, - "State":{ - "shape":"RuleState", - "documentation":"

Specifies whether the rule is enabled or disabled.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

The description of the rule.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" - } - } - }, - "DisableRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "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 task.

" - }, - "TaskCount":{ - "shape":"LimitMin1", - "documentation":"

The number of tasks to create based on TaskDefinition. The default is 1.

" - }, - "LaunchType":{ - "shape":"LaunchType", - "documentation":"

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The FARGATE value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see AWS Fargate on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" - }, - "NetworkConfiguration":{ - "shape":"NetworkConfiguration", - "documentation":"

Use this structure if the ECS task uses the awsvpc network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if LaunchType is FARGATE because the awsvpc mode is required for Fargate tasks.

If you specify NetworkConfiguration when the target ECS task does not use the awsvpc network mode, the task fails.

" - }, - "PlatformVersion":{ - "shape":"String", - "documentation":"

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.

This structure is used only if LaunchType is FARGATE. For more information about valid platform versions, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" - }, - "Group":{ - "shape":"String", - "documentation":"

Specifies an ECS task group for the task. The maximum length is 255 characters.

" - } - }, - "documentation":"

The custom parameters to be used when the target is an Amazon ECS task.

" - }, - "EnableRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - } - } - }, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "EventId":{"type":"string"}, - "EventPattern":{"type":"string"}, - "EventResource":{"type":"string"}, - "EventResourceList":{ - "type":"list", - "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. You can then insert these in the template in InputTemplate to produce the output you want to be sent to the target.

InputPathsMap is an array key-value pairs, where each value is a valid JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, not bracket notation.

The keys cannot start with \"AWS.\"

" - }, - "InputTemplate":{ - "shape":"TransformerInput", - "documentation":"

Input template where you specify placeholders that will be filled with the values of the keys from InputPathsMap to customize the data sent to the target. Enclose each InputPathsMaps value in brackets: <value> The InputTemplate must be valid JSON.

If InputTemplate is a JSON object (surrounded by curly braces), the following restrictions apply:

  • The placeholder cannot be used as an object key.

  • Object values cannot include quote marks.

The following example shows the syntax for using InputPathsMap and InputTemplate.

\"InputTransformer\":

{

\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},

\"InputTemplate\": \"<instance> is in state <status>\"

}

To have the InputTemplate include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:

\"InputTransformer\":

{

\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},

\"InputTemplate\": \"<instance> is in state \\\"<status>\\\"\"

}

" - } - }, - "documentation":"

Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.

" - }, - "InputTransformerPathKey":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[A-Za-z0-9\\_\\-]+" - }, - "Integer":{"type":"integer"}, - "InternalException":{ - "type":"structure", - "members":{ - }, - "documentation":"

This exception occurs due to unexpected causes.

", - "exception":true, - "fault":true - }, - "InvalidEventPatternException":{ - "type":"structure", - "members":{ - }, - "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 data stream, so that you can control the shard to which the event goes. If you do not include this parameter, the default is to use the eventId as the partition key.

" - }, - "LaunchType":{ - "type":"string", - "enum":[ - "EC2", - "FARGATE" - ] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You tried to create more rules or add more targets to a rule than is allowed.

", - "exception":true - }, - "LimitMax100":{ - "type":"integer", - "max":100, - "min":1 - }, - "LimitMin1":{ - "type":"integer", - "min":1 - }, - "ListRuleNamesByTargetRequest":{ - "type":"structure", - "required":["TargetArn"], - "members":{ - "TargetArn":{ - "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) of the target resource.

" - }, - "NextToken":{ - "shape":"NextToken", - "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.

" - } - } - }, - "ListRuleNamesByTargetResponse":{ - "type":"structure", - "members":{ - "RuleNames":{ - "shape":"RuleNameList", - "documentation":"

The names of the rules that can invoke the given target.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" - } - } - }, - "ListRulesRequest":{ - "type":"structure", - "members":{ - "NamePrefix":{ - "shape":"RuleName", - "documentation":"

The prefix matching the rule name.

" - }, - "NextToken":{ - "shape":"NextToken", - "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.

" - } - } - }, - "ListRulesResponse":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"RuleResponseList", - "documentation":"

The rules that match the specified criteria.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" - } - } - }, - "ListTargetsByRuleRequest":{ - "type":"structure", - "required":["Rule"], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "NextToken":{ - "shape":"NextToken", - "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.

" - } - } - }, - "ListTargetsByRuleResponse":{ - "type":"structure", - "members":{ - "Targets":{ - "shape":"TargetList", - "documentation":"

The targets assigned to the rule.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" - } - } - }, - "MessageGroupId":{"type":"string"}, - "NetworkConfiguration":{ - "type":"structure", - "members":{ - "awsvpcConfiguration":{ - "shape":"AwsVpcConfiguration", - "documentation":"

Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the awsvpc network mode.

" - } - }, - "documentation":"

This structure specifies the network configuration for an ECS task.

" - }, - "NextToken":{ - "type":"string", - "max":2048, - "min":1 - }, - "PolicyLengthExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The event bus policy is too long. For more information, see the limits.

", - "exception":true - }, - "Principal":{ - "type":"string", - "max":12, - "min":1, - "pattern":"(\\d{12}|\\*)" - }, - "PutEventsRequest":{ - "type":"structure", - "required":["Entries"], - "members":{ - "Entries":{ - "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.

" - } - } - }, - "PutEventsRequestEntry":{ - "type":"structure", - "members":{ - "Time":{ - "shape":"EventTime", - "documentation":"

The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the event. This field is required.

" - }, - "Resources":{ - "shape":"EventResourceList", - "documentation":"

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present.

" - }, - "DetailType":{ - "shape":"String", - "documentation":"

Free-form string used to decide what fields to expect in the event detail.

" - }, - "Detail":{ - "shape":"String", - "documentation":"

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects.

" - } - }, - "documentation":"

Represents an event to be submitted.

" - }, - "PutEventsRequestEntryList":{ - "type":"list", - "member":{"shape":"PutEventsRequestEntry"}, - "max":10, - "min":1 - }, - "PutEventsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "Entries":{ - "shape":"PutEventsResultEntryList", - "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.

" - } - } - }, - "PutEventsResultEntry":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"EventId", - "documentation":"

The ID of the event.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code that indicates why the event submission failed.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message that explains why the event submission failed.

" - } - }, - "documentation":"

Represents an event that failed to be submitted.

" - }, - "PutEventsResultEntryList":{ - "type":"list", - "member":{"shape":"PutEventsResultEntry"} - }, - "PutPermissionRequest":{ - "type":"structure", - "required":[ - "Action", - "Principal", - "StatementId" - ], - "members":{ - "Action":{ - "shape":"Action", - "documentation":"

The action that you are enabling the other account to perform. Currently, this must be events:PutEvents.

" - }, - "Principal":{ - "shape":"Principal", - "documentation":"

The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify \"*\" to permit any account to put events to your default event bus.

If you specify \"*\", avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an account field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.

" - }, - "StatementId":{ - "shape":"StatementId", - "documentation":"

An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this StatementId when you run RemovePermission.

" - } - } - }, - "PutRuleRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule that you are creating or updating.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5 minutes)\".

" - }, - "EventPattern":{ - "shape":"EventPattern", - "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon CloudWatch Events User Guide.

" - }, - "State":{ - "shape":"RuleState", - "documentation":"

Indicates whether the rule is enabled or disabled.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

A description of the rule.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" - } - } - }, - "PutRuleResponse":{ - "type":"structure", - "members":{ - "RuleArn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - } - } - }, - "PutTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Targets" - ], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "Targets":{ - "shape":"TargetList", - "documentation":"

The targets to update or add to the rule.

" - } - } - }, - "PutTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "FailedEntries":{ - "shape":"PutTargetsResultEntryList", - "documentation":"

The failed target entries.

" - } - } - }, - "PutTargetsResultEntry":{ - "type":"structure", - "members":{ - "TargetId":{ - "shape":"TargetId", - "documentation":"

The ID of the target.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "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 that explains why the target addition failed.

" - } - }, - "documentation":"

Represents a target that failed to be added to a rule.

" - }, - "PutTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"PutTargetsResultEntry"} - }, - "RemovePermissionRequest":{ - "type":"structure", - "required":["StatementId"], - "members":{ - "StatementId":{ - "shape":"StatementId", - "documentation":"

The statement ID corresponding to the account that is no longer allowed to put events to the default event bus.

" - } - } - }, - "RemoveTargetsRequest":{ - "type":"structure", - "required":[ - "Rule", - "Ids" - ], - "members":{ - "Rule":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "Ids":{ - "shape":"TargetIdList", - "documentation":"

The IDs of the targets to remove from the rule.

" - } - } - }, - "RemoveTargetsResponse":{ - "type":"structure", - "members":{ - "FailedEntryCount":{ - "shape":"Integer", - "documentation":"

The number of failed entries.

" - }, - "FailedEntries":{ - "shape":"RemoveTargetsResultEntryList", - "documentation":"

The failed target entries.

" - } - } - }, - "RemoveTargetsResultEntry":{ - "type":"structure", - "members":{ - "TargetId":{ - "shape":"TargetId", - "documentation":"

The ID of the target.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "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 that explains why the target removal failed.

" - } - }, - "documentation":"

Represents a target that failed to be removed from a rule.

" - }, - "RemoveTargetsResultEntryList":{ - "type":"list", - "member":{"shape":"RemoveTargetsResultEntry"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An entity that you specified does not exist.

", - "exception":true - }, - "RoleArn":{ - "type":"string", - "max":1600, - "min":1 - }, - "Rule":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "Arn":{ - "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) of the rule.

" - }, - "EventPattern":{ - "shape":"EventPattern", - "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 state of the rule.

" - }, - "Description":{ - "shape":"RuleDescription", - "documentation":"

The description of the rule.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" - }, - "RoleArn":{ - "shape":"RoleArn", - "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.

" - }, - "RuleArn":{ - "type":"string", - "max":1600, - "min":1 - }, - "RuleDescription":{ - "type":"string", - "max":512 - }, - "RuleName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\.\\-_A-Za-z0-9]+" - }, - "RuleNameList":{ - "type":"list", - "member":{"shape":"RuleName"} - }, - "RuleResponseList":{ - "type":"list", - "member":{"shape":"Rule"} - }, - "RuleState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "RunCommandParameters":{ - "type":"structure", - "required":["RunCommandTargets"], - "members":{ - "RunCommandTargets":{ - "shape":"RunCommandTargets", - "documentation":"

Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.

" - } - }, - "documentation":"

This parameter contains the criteria (either InstanceIds or a tag) used to specify which EC2 instances are to be sent the command.

" - }, - "RunCommandTarget":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"RunCommandTargetKey", - "documentation":"

Can be either tag: tag-key or InstanceIds.

" - }, - "Values":{ - "shape":"RunCommandTargetValues", - "documentation":"

If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds, Values is a list of Amazon EC2 instance IDs.

" - } - }, - "documentation":"

Information about the EC2 instances that are to be sent the command, specified as key-value pairs. Each RunCommandTarget block can include only one key, but this key may specify multiple values.

" - }, - "RunCommandTargetKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$" - }, - "RunCommandTargetValue":{ - "type":"string", - "max":256, - "min":1 - }, - "RunCommandTargetValues":{ - "type":"list", - "member":{"shape":"RunCommandTargetValue"}, - "max":50, - "min":1 - }, - "RunCommandTargets":{ - "type":"list", - "member":{"shape":"RunCommandTarget"}, - "max":5, - "min":1 - }, - "ScheduleExpression":{ - "type":"string", - "max":256 - }, - "SqsParameters":{ - "type":"structure", - "members":{ - "MessageGroupId":{ - "shape":"MessageGroupId", - "documentation":"

The FIFO message group ID to use as the target.

" - } - }, - "documentation":"

This structure includes the custom parameter to be used when the target is an SQS FIFO queue.

" - }, - "StatementId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z0-9-_]+" - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Target":{ - "type":"structure", - "required":[ - "Id", - "Arn" - ], - "members":{ - "Id":{ - "shape":"TargetId", - "documentation":"

The ID of the target.

" - }, - "Arn":{ - "shape":"TargetArn", - "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. In this case, nothing from the event itself is passed to the target. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format.

" - }, - "InputPath":{ - "shape":"TargetInputPath", - "documentation":"

The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You must use JSON dot notation, not bracket notation. For more information about JSON paths, see JSONPath.

" - }, - "InputTransformer":{ - "shape":"InputTransformer", - "documentation":"

Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.

" - }, - "KinesisParameters":{ - "shape":"KinesisParameters", - "documentation":"

The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the eventId as the partition key.

" - }, - "RunCommandParameters":{ - "shape":"RunCommandParameters", - "documentation":"

Parameters used when you are using the rule to invoke Amazon EC2 Run Command.

" - }, - "EcsParameters":{ - "shape":"EcsParameters", - "documentation":"

Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide.

" - }, - "BatchParameters":{ - "shape":"BatchParameters", - "documentation":"

If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see Jobs in the AWS Batch User Guide.

" - }, - "SqsParameters":{ - "shape":"SqsParameters", - "documentation":"

Contains the message group ID to use when the target is a FIFO queue.

If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.

" - } - }, - "documentation":"

Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see PutTargets.

" - }, - "TargetArn":{ - "type":"string", - "max":1600, - "min":1 - }, - "TargetId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\.\\-_A-Za-z0-9]+" - }, - "TargetIdList":{ - "type":"list", - "member":{"shape":"TargetId"}, - "max":100, - "min":1 - }, - "TargetInput":{ - "type":"string", - "max":8192 - }, - "TargetInputPath":{ - "type":"string", - "max":256 - }, - "TargetList":{ - "type":"list", - "member":{"shape":"Target"}, - "max":100, - "min":1 - }, - "TargetPartitionKeyPath":{ - "type":"string", - "max":256 - }, - "TestEventPatternRequest":{ - "type":"structure", - "required":[ - "EventPattern", - "Event" - ], - "members":{ - "EventPattern":{ - "shape":"EventPattern", - "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 JSON format, to test against the event pattern.

" - } - } - }, - "TestEventPatternResponse":{ - "type":"structure", - "members":{ - "Result":{ - "shape":"Boolean", - "documentation":"

Indicates whether the event matches the event pattern.

" - } - } - }, - "TransformerInput":{ - "type":"string", - "max":8192, - "min":1 - }, - "TransformerPaths":{ - "type":"map", - "key":{"shape":"InputTransformerPathKey"}, - "value":{"shape":"TargetInputPath"}, - "max":10 - } - }, - "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 AWS CloudTrail to an Amazon Kinesis data stream for detailed analysis of potential security or availability risks.

  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about the features of Amazon CloudWatch Events, see the Amazon CloudWatch Events User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/service-2.json deleted file mode 100644 index 1e1fef61..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/firehose/2015-08-04/service-2.json +++ /dev/null @@ -1,2194 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-08-04", - "endpointPrefix":"firehose", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Firehose", - "serviceFullName":"Amazon Kinesis Firehose", - "serviceId":"Firehose", - "signatureVersion":"v4", - "targetPrefix":"Firehose_20150804", - "uid":"firehose-2015-08-04" - }, - "operations":{ - "CreateDeliveryStream":{ - "name":"CreateDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDeliveryStreamInput"}, - "output":{"shape":"CreateDeliveryStreamOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per AWS Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "DeleteDeliveryStream":{ - "name":"DeleteDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDeliveryStreamInput"}, - "output":{"shape":"DeleteDeliveryStreamOutput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a delivery stream and its data.

You can delete a delivery stream only if it is in ACTIVE or DELETING state, and not in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state.

To check the state of a delivery stream, use DescribeDeliveryStream.

While the delivery stream is DELETING state, the service might continue to accept the records, but it doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, you should first stop any applications that are sending records before deleting a delivery stream.

" - }, - "DescribeDeliveryStream":{ - "name":"DescribeDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDeliveryStreamInput"}, - "output":{"shape":"DescribeDeliveryStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data to be sent to it.

" - }, - "ListDeliveryStreams":{ - "name":"ListDeliveryStreams", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeliveryStreamsInput"}, - "output":{"shape":"ListDeliveryStreamsOutput"}, - "documentation":"

Lists your delivery streams.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by specifying the name of the last delivery stream returned in the call in the ExclusiveStartDeliveryStreamName parameter of a subsequent call.

" - }, - "ListTagsForDeliveryStream":{ - "name":"ListTagsForDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForDeliveryStreamInput"}, - "output":{"shape":"ListTagsForDeliveryStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account.

" - }, - "PutRecord":{ - "name":"PutRecord", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRecordInput"}, - "output":{"shape":"PutRecordOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

" - }, - "PutRecordBatch":{ - "name":"PutRecordBatch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRecordBatchInput"}, - "output":{"shape":"PutRecordBatchOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Data Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailable or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

" - }, - "TagDeliveryStream":{ - "name":"TagDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagDeliveryStreamInput"}, - "output":{"shape":"TagDeliveryStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Adds or updates tags for the specified delivery stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

Each delivery stream can have up to 50 tags.

This operation has a limit of five transactions per second per account.

" - }, - "UntagDeliveryStream":{ - "name":"UntagDeliveryStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagDeliveryStreamInput"}, - "output":{"shape":"UntagDeliveryStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes.

If you specify a tag that doesn't exist, the operation ignores it.

This operation has a limit of five transactions per second per account.

" - }, - "UpdateDestination":{ - "name":"UpdateDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDestinationInput"}, - "output":{"shape":"UpdateDestinationOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" - } - }, - "shapes":{ - "AWSKMSKeyARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "BlockSizeBytes":{ - "type":"integer", - "min":67108864 - }, - "BooleanObject":{"type":"boolean"}, - "BucketARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:.*" - }, - "BufferingHints":{ - "type":"structure", - "members":{ - "SizeInMBs":{ - "shape":"SizeInMBs", - "documentation":"

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.

" - }, - "IntervalInSeconds":{ - "shape":"IntervalInSeconds", - "documentation":"

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.

" - } - }, - "documentation":"

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Kinesis Data Firehose might choose to use different values when it is optimal.

" - }, - "CloudWatchLoggingOptions":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables CloudWatch logging.

" - }, - "LogGroupName":{ - "shape":"LogGroupName", - "documentation":"

The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled.

" - }, - "LogStreamName":{ - "shape":"LogStreamName", - "documentation":"

The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled.

" - } - }, - "documentation":"

Describes the Amazon CloudWatch logging options for your delivery stream.

" - }, - "ClusterJDBCURL":{ - "type":"string", - "min":1, - "pattern":"jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?A message that provides information about the error.

" - } - }, - "documentation":"

Another modification has already happened. Fetch VersionId again and use it to update the destination.

", - "exception":true - }, - "CopyCommand":{ - "type":"structure", - "required":["DataTableName"], - "members":{ - "DataTableName":{ - "shape":"DataTableName", - "documentation":"

The name of the target table. The table must already exist in the database.

" - }, - "DataTableColumns":{ - "shape":"DataTableColumns", - "documentation":"

A comma-separated list of column names.

" - }, - "CopyOptions":{ - "shape":"CopyOptions", - "documentation":"

Optional parameters to use with the Amazon Redshift COPY command. For more information, see the \"Optional Parameters\" section of Amazon Redshift COPY command. Some possible examples that would apply to Kinesis Data Firehose are as follows:

delimiter '\\t' lzop; - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.

delimiter '|' - fields are delimited with \"|\" (this is the default delimiter).

delimiter '|' escape - the delimiter should be escaped.

fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' - fields are fixed width in the source, with each width specified after every column in the table.

JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path specified is the format of the data.

For more examples, see Amazon Redshift COPY command examples.

" - } - }, - "documentation":"

Describes a COPY command for Amazon Redshift.

" - }, - "CopyOptions":{"type":"string"}, - "CreateDeliveryStreamInput":{ - "type":"structure", - "required":["DeliveryStreamName"], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream. This name must be unique per AWS account in the same AWS Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name.

" - }, - "DeliveryStreamType":{ - "shape":"DeliveryStreamType", - "documentation":"

The delivery stream type. This parameter can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

" - }, - "KinesisStreamSourceConfiguration":{ - "shape":"KinesisStreamSourceConfiguration", - "documentation":"

When a Kinesis data stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the role ARN for the source stream.

" - }, - "S3DestinationConfiguration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

[Deprecated] The destination in Amazon S3. You can specify only one destination.

", - "deprecated":true - }, - "ExtendedS3DestinationConfiguration":{ - "shape":"ExtendedS3DestinationConfiguration", - "documentation":"

The destination in Amazon S3. You can specify only one destination.

" - }, - "RedshiftDestinationConfiguration":{ - "shape":"RedshiftDestinationConfiguration", - "documentation":"

The destination in Amazon Redshift. You can specify only one destination.

" - }, - "ElasticsearchDestinationConfiguration":{ - "shape":"ElasticsearchDestinationConfiguration", - "documentation":"

The destination in Amazon ES. You can specify only one destination.

" - }, - "SplunkDestinationConfiguration":{ - "shape":"SplunkDestinationConfiguration", - "documentation":"

The destination in Splunk. You can specify only one destination.

" - } - } - }, - "CreateDeliveryStreamOutput":{ - "type":"structure", - "members":{ - "DeliveryStreamARN":{ - "shape":"DeliveryStreamARN", - "documentation":"

The ARN of the delivery stream.

" - } - } - }, - "Data":{ - "type":"blob", - "max":1024000, - "min":0 - }, - "DataFormatConversionConfiguration":{ - "type":"structure", - "members":{ - "SchemaConfiguration":{ - "shape":"SchemaConfiguration", - "documentation":"

Specifies the AWS Glue Data Catalog table that contains the column information.

" - }, - "InputFormatConfiguration":{ - "shape":"InputFormatConfiguration", - "documentation":"

Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON.

" - }, - "OutputFormatConfiguration":{ - "shape":"OutputFormatConfiguration", - "documentation":"

Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format.

" - }, - "Enabled":{ - "shape":"BooleanObject", - "documentation":"

Defaults to true. Set it to false if you want to disable format conversion while preserving the configuration details.

" - } - }, - "documentation":"

Specifies that you want Kinesis Data Firehose to convert data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. Kinesis Data Firehose uses the serializer and deserializer that you specify, in addition to the column information from the AWS Glue table, to deserialize your input data from JSON and then serialize it to the Parquet or ORC format. For more information, see Kinesis Data Firehose Record Format Conversion.

" - }, - "DataTableColumns":{"type":"string"}, - "DataTableName":{ - "type":"string", - "min":1 - }, - "DeleteDeliveryStreamInput":{ - "type":"structure", - "required":["DeliveryStreamName"], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - } - } - }, - "DeleteDeliveryStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "DeliveryStartTimestamp":{"type":"timestamp"}, - "DeliveryStreamARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "DeliveryStreamDescription":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "DeliveryStreamARN", - "DeliveryStreamStatus", - "DeliveryStreamType", - "VersionId", - "Destinations", - "HasMoreDestinations" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "DeliveryStreamARN":{ - "shape":"DeliveryStreamARN", - "documentation":"

The Amazon Resource Name (ARN) of the delivery stream. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "DeliveryStreamStatus":{ - "shape":"DeliveryStreamStatus", - "documentation":"

The status of the delivery stream.

" - }, - "DeliveryStreamType":{ - "shape":"DeliveryStreamType", - "documentation":"

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

" - }, - "VersionId":{ - "shape":"DeliveryStreamVersionId", - "documentation":"

Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.

" - }, - "CreateTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time that the delivery stream was created.

" - }, - "LastUpdateTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time that the delivery stream was last updated.

" - }, - "Source":{ - "shape":"SourceDescription", - "documentation":"

If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis data stream.

" - }, - "Destinations":{ - "shape":"DestinationDescriptionList", - "documentation":"

The destinations.

" - }, - "HasMoreDestinations":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether there are more destinations available to list.

" - } - }, - "documentation":"

Contains information about a delivery stream.

" - }, - "DeliveryStreamName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "DeliveryStreamNameList":{ - "type":"list", - "member":{"shape":"DeliveryStreamName"} - }, - "DeliveryStreamStatus":{ - "type":"string", - "enum":[ - "CREATING", - "DELETING", - "ACTIVE" - ] - }, - "DeliveryStreamType":{ - "type":"string", - "enum":[ - "DirectPut", - "KinesisStreamAsSource" - ] - }, - "DeliveryStreamVersionId":{ - "type":"string", - "max":50, - "min":1, - "pattern":"[0-9]+" - }, - "DescribeDeliveryStreamInput":{ - "type":"structure", - "required":["DeliveryStreamName"], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "Limit":{ - "shape":"DescribeDeliveryStreamInputLimit", - "documentation":"

The limit on the number of destinations to return. You can have one destination per delivery stream.

" - }, - "ExclusiveStartDestinationId":{ - "shape":"DestinationId", - "documentation":"

The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream.

" - } - } - }, - "DescribeDeliveryStreamInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "DescribeDeliveryStreamOutput":{ - "type":"structure", - "required":["DeliveryStreamDescription"], - "members":{ - "DeliveryStreamDescription":{ - "shape":"DeliveryStreamDescription", - "documentation":"

Information about the delivery stream.

" - } - } - }, - "Deserializer":{ - "type":"structure", - "members":{ - "OpenXJsonSerDe":{ - "shape":"OpenXJsonSerDe", - "documentation":"

The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

" - }, - "HiveJsonSerDe":{ - "shape":"HiveJsonSerDe", - "documentation":"

The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.

" - } - }, - "documentation":"

The deserializer you want Kinesis Data Firehose to use for converting the input data from JSON. Kinesis Data Firehose then serializes the data to its final format using the Serializer. Kinesis Data Firehose supports two types of deserializers: the Apache Hive JSON SerDe and the OpenX JSON SerDe.

" - }, - "DestinationDescription":{ - "type":"structure", - "required":["DestinationId"], - "members":{ - "DestinationId":{ - "shape":"DestinationId", - "documentation":"

The ID of the destination.

" - }, - "S3DestinationDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

[Deprecated] The destination in Amazon S3.

" - }, - "ExtendedS3DestinationDescription":{ - "shape":"ExtendedS3DestinationDescription", - "documentation":"

The destination in Amazon S3.

" - }, - "RedshiftDestinationDescription":{ - "shape":"RedshiftDestinationDescription", - "documentation":"

The destination in Amazon Redshift.

" - }, - "ElasticsearchDestinationDescription":{ - "shape":"ElasticsearchDestinationDescription", - "documentation":"

The destination in Amazon ES.

" - }, - "SplunkDestinationDescription":{ - "shape":"SplunkDestinationDescription", - "documentation":"

The destination in Splunk.

" - } - }, - "documentation":"

Describes the destination for a delivery stream.

" - }, - "DestinationDescriptionList":{ - "type":"list", - "member":{"shape":"DestinationDescription"} - }, - "DestinationId":{ - "type":"string", - "max":100, - "min":1 - }, - "ElasticsearchBufferingHints":{ - "type":"structure", - "members":{ - "IntervalInSeconds":{ - "shape":"ElasticsearchBufferingIntervalInSeconds", - "documentation":"

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300 (5 minutes).

" - }, - "SizeInMBs":{ - "shape":"ElasticsearchBufferingSizeInMBs", - "documentation":"

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.

" - } - }, - "documentation":"

Describes the buffering to perform before delivering data to the Amazon ES destination.

" - }, - "ElasticsearchBufferingIntervalInSeconds":{ - "type":"integer", - "max":900, - "min":60 - }, - "ElasticsearchBufferingSizeInMBs":{ - "type":"integer", - "max":100, - "min":1 - }, - "ElasticsearchDestinationConfiguration":{ - "type":"structure", - "required":[ - "RoleARN", - "DomainARN", - "IndexName", - "TypeName", - "S3Configuration" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "DomainARN":{ - "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "IndexName":{ - "shape":"ElasticsearchIndexName", - "documentation":"

The Elasticsearch index name.

" - }, - "TypeName":{ - "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per index. If you try to specify a new type for an existing index that already has another type, Kinesis Data Firehose returns an error during run time.

" - }, - "IndexRotationPeriod":{ - "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a time stamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. The default value is OneDay.

" - }, - "BufferingHints":{ - "shape":"ElasticsearchBufferingHints", - "documentation":"

The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints are used.

" - }, - "RetryOptions":{ - "shape":"ElasticsearchRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" - }, - "S3BackupMode":{ - "shape":"ElasticsearchS3BackupMode", - "documentation":"

Defines how documents should be delivered to Amazon S3. When it is set to FailedDocumentsOnly, Kinesis Data Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for the Amazon ES Destination. Default value is FailedDocumentsOnly.

" - }, - "S3Configuration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

The configuration for the backup Amazon S3 location.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes the configuration of a destination in Amazon ES.

" - }, - "ElasticsearchDestinationDescription":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "DomainARN":{ - "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "IndexName":{ - "shape":"ElasticsearchIndexName", - "documentation":"

The Elasticsearch index name.

" - }, - "TypeName":{ - "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name.

" - }, - "IndexRotationPeriod":{ - "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period

" - }, - "BufferingHints":{ - "shape":"ElasticsearchBufferingHints", - "documentation":"

The buffering options.

" - }, - "RetryOptions":{ - "shape":"ElasticsearchRetryOptions", - "documentation":"

The Amazon ES retry options.

" - }, - "S3BackupMode":{ - "shape":"ElasticsearchS3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3DestinationDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

The Amazon S3 destination.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options.

" - } - }, - "documentation":"

The destination description in Amazon ES.

" - }, - "ElasticsearchDestinationUpdate":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "DomainARN":{ - "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "IndexName":{ - "shape":"ElasticsearchIndexName", - "documentation":"

The Elasticsearch index name.

" - }, - "TypeName":{ - "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per index. If you try to specify a new type for an existing index that already has another type, Kinesis Data Firehose returns an error during runtime.

" - }, - "IndexRotationPeriod":{ - "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a time stamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. Default value is OneDay.

" - }, - "BufferingHints":{ - "shape":"ElasticsearchBufferingHints", - "documentation":"

The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" - }, - "RetryOptions":{ - "shape":"ElasticsearchRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" - }, - "S3Update":{ - "shape":"S3DestinationUpdate", - "documentation":"

The Amazon S3 destination.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes an update for a destination in Amazon ES.

" - }, - "ElasticsearchDomainARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "ElasticsearchIndexName":{ - "type":"string", - "max":80, - "min":1 - }, - "ElasticsearchIndexRotationPeriod":{ - "type":"string", - "enum":[ - "NoRotation", - "OneHour", - "OneDay", - "OneWeek", - "OneMonth" - ] - }, - "ElasticsearchRetryDurationInSeconds":{ - "type":"integer", - "max":7200, - "min":0 - }, - "ElasticsearchRetryOptions":{ - "type":"structure", - "members":{ - "DurationInSeconds":{ - "shape":"ElasticsearchRetryDurationInSeconds", - "documentation":"

After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Data Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" - } - }, - "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES.

" - }, - "ElasticsearchS3BackupMode":{ - "type":"string", - "enum":[ - "FailedDocumentsOnly", - "AllDocuments" - ] - }, - "ElasticsearchTypeName":{ - "type":"string", - "max":100, - "min":1 - }, - "EncryptionConfiguration":{ - "type":"structure", - "members":{ - "NoEncryptionConfig":{ - "shape":"NoEncryptionConfig", - "documentation":"

Specifically override existing encryption information to ensure that no encryption is used.

" - }, - "KMSEncryptionConfig":{ - "shape":"KMSEncryptionConfig", - "documentation":"

The encryption key.

" - } - }, - "documentation":"

Describes the encryption for a destination in Amazon S3.

" - }, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "ExtendedS3DestinationConfiguration":{ - "type":"structure", - "required":[ - "RoleARN", - "BucketARN" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"S3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3BackupConfiguration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

The configuration for backup in Amazon S3.

" - }, - "DataFormatConversionConfiguration":{ - "shape":"DataFormatConversionConfiguration", - "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" - } - }, - "documentation":"

Describes the configuration of a destination in Amazon S3.

" - }, - "ExtendedS3DestinationDescription":{ - "type":"structure", - "required":[ - "RoleARN", - "BucketARN", - "BufferingHints", - "CompressionFormat", - "EncryptionConfiguration" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"S3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3BackupDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

The configuration for backup in Amazon S3.

" - }, - "DataFormatConversionConfiguration":{ - "shape":"DataFormatConversionConfiguration", - "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" - } - }, - "documentation":"

Describes a destination in Amazon S3.

" - }, - "ExtendedS3DestinationUpdate":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"S3BackupMode", - "documentation":"

Enables or disables Amazon S3 backup mode.

" - }, - "S3BackupUpdate":{ - "shape":"S3DestinationUpdate", - "documentation":"

The Amazon S3 destination for backup.

" - }, - "DataFormatConversionConfiguration":{ - "shape":"DataFormatConversionConfiguration", - "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" - } - }, - "documentation":"

Describes an update for a destination in Amazon S3.

" - }, - "HECAcknowledgmentTimeoutInSeconds":{ - "type":"integer", - "max":600, - "min":180 - }, - "HECEndpoint":{"type":"string"}, - "HECEndpointType":{ - "type":"string", - "enum":[ - "Raw", - "Event" - ] - }, - "HECToken":{"type":"string"}, - "HiveJsonSerDe":{ - "type":"structure", - "members":{ - "TimestampFormats":{ - "shape":"ListOfNonEmptyStrings", - "documentation":"

Indicates how you want Kinesis Data Firehose to parse the date and time stamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see Class DateTimeFormat. You can also use the special value millis to parse time stamps in epoch milliseconds. If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf by default.

" - } - }, - "documentation":"

The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.

" - }, - "InputFormatConfiguration":{ - "type":"structure", - "members":{ - "Deserializer":{ - "shape":"Deserializer", - "documentation":"

Specifies which deserializer to use. You can choose either the Apache Hive JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects the request.

" - } - }, - "documentation":"

Specifies the deserializer you want to use to convert the format of the input data.

" - }, - "IntervalInSeconds":{ - "type":"integer", - "max":900, - "min":60 - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The specified input parameter has a value that is not valid.

", - "exception":true - }, - "KMSEncryptionConfig":{ - "type":"structure", - "required":["AWSKMSKeyARN"], - "members":{ - "AWSKMSKeyARN":{ - "shape":"AWSKMSKeyARN", - "documentation":"

The Amazon Resource Name (ARN) of the encryption key. Must belong to the same AWS Region as the destination Amazon S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - } - }, - "documentation":"

Describes an encryption key for a destination in Amazon S3.

" - }, - "KinesisStreamARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "KinesisStreamSourceConfiguration":{ - "type":"structure", - "required":[ - "KinesisStreamARN", - "RoleARN" - ], - "members":{ - "KinesisStreamARN":{ - "shape":"KinesisStreamARN", - "documentation":"

The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The ARN of the role that provides access to the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format.

" - } - }, - "documentation":"

The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream used as the source for a delivery stream.

" - }, - "KinesisStreamSourceDescription":{ - "type":"structure", - "members":{ - "KinesisStreamARN":{ - "shape":"KinesisStreamARN", - "documentation":"

The Amazon Resource Name (ARN) of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The ARN of the role used by the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format.

" - }, - "DeliveryStartTimestamp":{ - "shape":"DeliveryStartTimestamp", - "documentation":"

Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this time stamp.

" - } - }, - "documentation":"

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

You have already reached the limit for a requested resource.

", - "exception":true - }, - "ListDeliveryStreamsInput":{ - "type":"structure", - "members":{ - "Limit":{ - "shape":"ListDeliveryStreamsInputLimit", - "documentation":"

The maximum number of delivery streams to list. The default value is 10.

" - }, - "DeliveryStreamType":{ - "shape":"DeliveryStreamType", - "documentation":"

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.

" - }, - "ExclusiveStartDeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream to start the list with.

" - } - } - }, - "ListDeliveryStreamsInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ListDeliveryStreamsOutput":{ - "type":"structure", - "required":[ - "DeliveryStreamNames", - "HasMoreDeliveryStreams" - ], - "members":{ - "DeliveryStreamNames":{ - "shape":"DeliveryStreamNameList", - "documentation":"

The names of the delivery streams.

" - }, - "HasMoreDeliveryStreams":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether there are more delivery streams available to list.

" - } - } - }, - "ListOfNonEmptyStrings":{ - "type":"list", - "member":{"shape":"NonEmptyString"} - }, - "ListOfNonEmptyStringsWithoutWhitespace":{ - "type":"list", - "member":{"shape":"NonEmptyStringWithoutWhitespace"} - }, - "ListTagsForDeliveryStreamInput":{ - "type":"structure", - "required":["DeliveryStreamName"], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream whose tags you want to list.

" - }, - "ExclusiveStartTagKey":{ - "shape":"TagKey", - "documentation":"

The key to use as the starting point for the list of tags. If you set this parameter, ListTagsForDeliveryStream gets all tags that occur after ExclusiveStartTagKey.

" - }, - "Limit":{ - "shape":"ListTagsForDeliveryStreamInputLimit", - "documentation":"

The number of tags to return. If this number is less than the total number of tags associated with the delivery stream, HasMoreTags is set to true in the response. To list additional tags, set ExclusiveStartTagKey to the last key in the response.

" - } - } - }, - "ListTagsForDeliveryStreamInputLimit":{ - "type":"integer", - "max":50, - "min":1 - }, - "ListTagsForDeliveryStreamOutput":{ - "type":"structure", - "required":[ - "Tags", - "HasMoreTags" - ], - "members":{ - "Tags":{ - "shape":"ListTagsForDeliveryStreamOutputTagList", - "documentation":"

A list of tags associated with DeliveryStreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit.

" - }, - "HasMoreTags":{ - "shape":"BooleanObject", - "documentation":"

If this is true in the response, more tags are available. To list the remaining tags, set ExclusiveStartTagKey to the key of the last tag returned and call ListTagsForDeliveryStream again.

" - } - } - }, - "ListTagsForDeliveryStreamOutputTagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":0 - }, - "LogGroupName":{"type":"string"}, - "LogStreamName":{"type":"string"}, - "NoEncryptionConfig":{ - "type":"string", - "enum":["NoEncryption"] - }, - "NonEmptyString":{ - "type":"string", - "pattern":"^(?!\\s*$).+" - }, - "NonEmptyStringWithoutWhitespace":{ - "type":"string", - "pattern":"^\\S+$" - }, - "NonNegativeIntegerObject":{ - "type":"integer", - "min":0 - }, - "OpenXJsonSerDe":{ - "type":"structure", - "members":{ - "ConvertDotsInJsonKeysToUnderscores":{ - "shape":"BooleanObject", - "documentation":"

When set to true, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is \"a.b\", you can define the column name to be \"a_b\" when using this option.

The default is false.

" - }, - "CaseInsensitive":{ - "shape":"BooleanObject", - "documentation":"

When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

" - }, - "ColumnToJsonKeyMappings":{ - "shape":"ColumnToJsonKeyMappings", - "documentation":"

Maps column names to JSON keys that aren't identical to the column names. This is useful when the JSON contains keys that are Hive keywords. For example, timestamp is a Hive keyword. If you have a JSON key named timestamp, set this parameter to {\"ts\": \"timestamp\"} to map this key to a column named ts.

" - } - }, - "documentation":"

The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

" - }, - "OrcCompression":{ - "type":"string", - "enum":[ - "NONE", - "ZLIB", - "SNAPPY" - ] - }, - "OrcFormatVersion":{ - "type":"string", - "enum":[ - "V0_11", - "V0_12" - ] - }, - "OrcRowIndexStride":{ - "type":"integer", - "min":1000 - }, - "OrcSerDe":{ - "type":"structure", - "members":{ - "StripeSizeBytes":{ - "shape":"OrcStripeSizeBytes", - "documentation":"

The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB.

" - }, - "BlockSizeBytes":{ - "shape":"BlockSizeBytes", - "documentation":"

The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

" - }, - "RowIndexStride":{ - "shape":"OrcRowIndexStride", - "documentation":"

The number of rows between index entries. The default is 10,000 and the minimum is 1,000.

" - }, - "EnablePadding":{ - "shape":"BooleanObject", - "documentation":"

Set this to true to indicate that you want stripes to be padded to the HDFS block boundaries. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is false.

" - }, - "PaddingTolerance":{ - "shape":"Proportion", - "documentation":"

A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size. The default value is 0.05, which means 5 percent of stripe size.

For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task.

Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding is false.

" - }, - "Compression":{ - "shape":"OrcCompression", - "documentation":"

The compression code to use over data blocks. The default is SNAPPY.

" - }, - "BloomFilterColumns":{ - "shape":"ListOfNonEmptyStringsWithoutWhitespace", - "documentation":"

The column names for which you want Kinesis Data Firehose to create bloom filters. The default is null.

" - }, - "BloomFilterFalsePositiveProbability":{ - "shape":"Proportion", - "documentation":"

The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.

" - }, - "DictionaryKeyThreshold":{ - "shape":"Proportion", - "documentation":"

Represents the fraction of the total number of non-null rows. To turn off dictionary encoding, set this fraction to a number that is less than the number of distinct keys in a dictionary. To always use dictionary encoding, set this threshold to 1.

" - }, - "FormatVersion":{ - "shape":"OrcFormatVersion", - "documentation":"

The version of the file to write. The possible values are V0_11 and V0_12. The default is V0_12.

" - } - }, - "documentation":"

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

" - }, - "OrcStripeSizeBytes":{ - "type":"integer", - "min":8388608 - }, - "OutputFormatConfiguration":{ - "type":"structure", - "members":{ - "Serializer":{ - "shape":"Serializer", - "documentation":"

Specifies which serializer to use. You can choose either the ORC SerDe or the Parquet SerDe. If both are non-null, the server rejects the request.

" - } - }, - "documentation":"

Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data before it writes it to Amazon S3.

" - }, - "ParquetCompression":{ - "type":"string", - "enum":[ - "UNCOMPRESSED", - "GZIP", - "SNAPPY" - ] - }, - "ParquetPageSizeBytes":{ - "type":"integer", - "min":65536 - }, - "ParquetSerDe":{ - "type":"structure", - "members":{ - "BlockSizeBytes":{ - "shape":"BlockSizeBytes", - "documentation":"

The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

" - }, - "PageSizeBytes":{ - "shape":"ParquetPageSizeBytes", - "documentation":"

The Parquet page size. Column chunks are divided into pages. A page is conceptually an indivisible unit (in terms of compression and encoding). The minimum value is 64 KiB and the default is 1 MiB.

" - }, - "Compression":{ - "shape":"ParquetCompression", - "documentation":"

The compression code to use over data blocks. The possible values are UNCOMPRESSED, SNAPPY, and GZIP, with the default being SNAPPY. Use SNAPPY for higher decompression speed. Use GZIP if the compression ration is more important than speed.

" - }, - "EnableDictionaryCompression":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether to enable dictionary compression.

" - }, - "MaxPaddingBytes":{ - "shape":"NonNegativeIntegerObject", - "documentation":"

The maximum amount of padding to apply. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 0.

" - }, - "WriterVersion":{ - "shape":"ParquetWriterVersion", - "documentation":"

Indicates the version of row format to output. The possible values are V1 and V2. The default is V1.

" - } - }, - "documentation":"

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

" - }, - "ParquetWriterVersion":{ - "type":"string", - "enum":[ - "V1", - "V2" - ] - }, - "Password":{ - "type":"string", - "min":6, - "sensitive":true - }, - "Prefix":{"type":"string"}, - "ProcessingConfiguration":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"BooleanObject", - "documentation":"

Enables or disables data processing.

" - }, - "Processors":{ - "shape":"ProcessorList", - "documentation":"

The data processors.

" - } - }, - "documentation":"

Describes a data processing configuration.

" - }, - "Processor":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"ProcessorType", - "documentation":"

The type of processor.

" - }, - "Parameters":{ - "shape":"ProcessorParameterList", - "documentation":"

The processor parameters.

" - } - }, - "documentation":"

Describes a data processor.

" - }, - "ProcessorList":{ - "type":"list", - "member":{"shape":"Processor"} - }, - "ProcessorParameter":{ - "type":"structure", - "required":[ - "ParameterName", - "ParameterValue" - ], - "members":{ - "ParameterName":{ - "shape":"ProcessorParameterName", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"ProcessorParameterValue", - "documentation":"

The parameter value.

" - } - }, - "documentation":"

Describes the processor parameter.

" - }, - "ProcessorParameterList":{ - "type":"list", - "member":{"shape":"ProcessorParameter"} - }, - "ProcessorParameterName":{ - "type":"string", - "enum":[ - "LambdaArn", - "NumberOfRetries", - "RoleArn", - "BufferSizeInMBs", - "BufferIntervalInSeconds" - ] - }, - "ProcessorParameterValue":{ - "type":"string", - "max":512, - "min":1 - }, - "ProcessorType":{ - "type":"string", - "enum":["Lambda"] - }, - "Proportion":{ - "type":"double", - "max":1, - "min":0 - }, - "PutRecordBatchInput":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "Records" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "Records":{ - "shape":"PutRecordBatchRequestEntryList", - "documentation":"

One or more records.

" - } - } - }, - "PutRecordBatchOutput":{ - "type":"structure", - "required":[ - "FailedPutCount", - "RequestResponses" - ], - "members":{ - "FailedPutCount":{ - "shape":"NonNegativeIntegerObject", - "documentation":"

The number of records that might have failed processing.

" - }, - "RequestResponses":{ - "shape":"PutRecordBatchResponseEntryList", - "documentation":"

The results array. For each record, the index of the response element is the same as the index used in the request array.

" - } - } - }, - "PutRecordBatchRequestEntryList":{ - "type":"list", - "member":{"shape":"Record"}, - "max":500, - "min":1 - }, - "PutRecordBatchResponseEntry":{ - "type":"structure", - "members":{ - "RecordId":{ - "shape":"PutResponseRecordId", - "documentation":"

The ID of the record.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code for an individual record result.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message for an individual record result.

" - } - }, - "documentation":"

Contains the result for an individual record from a PutRecordBatch request. If the record is successfully added to your delivery stream, it receives a record ID. If the record fails to be added to your delivery stream, the result includes an error code and an error message.

" - }, - "PutRecordBatchResponseEntryList":{ - "type":"list", - "member":{"shape":"PutRecordBatchResponseEntry"}, - "max":500, - "min":1 - }, - "PutRecordInput":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "Record" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "Record":{ - "shape":"Record", - "documentation":"

The record.

" - } - } - }, - "PutRecordOutput":{ - "type":"structure", - "required":["RecordId"], - "members":{ - "RecordId":{ - "shape":"PutResponseRecordId", - "documentation":"

The ID of the record.

" - } - } - }, - "PutResponseRecordId":{ - "type":"string", - "min":1 - }, - "Record":{ - "type":"structure", - "required":["Data"], - "members":{ - "Data":{ - "shape":"Data", - "documentation":"

The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.

" - } - }, - "documentation":"

The unit of data in a delivery stream.

" - }, - "RedshiftDestinationConfiguration":{ - "type":"structure", - "required":[ - "RoleARN", - "ClusterJDBCURL", - "CopyCommand", - "Username", - "Password", - "S3Configuration" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ClusterJDBCURL":{ - "shape":"ClusterJDBCURL", - "documentation":"

The database connection string.

" - }, - "CopyCommand":{ - "shape":"CopyCommand", - "documentation":"

The COPY command.

" - }, - "Username":{ - "shape":"Username", - "documentation":"

The name of the user.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The user password.

" - }, - "RetryOptions":{ - "shape":"RedshiftRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" - }, - "S3Configuration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

The configuration for the intermediate Amazon S3 location from which Amazon Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"RedshiftS3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3BackupConfiguration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

The configuration for backup in Amazon S3.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes the configuration of a destination in Amazon Redshift.

" - }, - "RedshiftDestinationDescription":{ - "type":"structure", - "required":[ - "RoleARN", - "ClusterJDBCURL", - "CopyCommand", - "Username", - "S3DestinationDescription" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ClusterJDBCURL":{ - "shape":"ClusterJDBCURL", - "documentation":"

The database connection string.

" - }, - "CopyCommand":{ - "shape":"CopyCommand", - "documentation":"

The COPY command.

" - }, - "Username":{ - "shape":"Username", - "documentation":"

The name of the user.

" - }, - "RetryOptions":{ - "shape":"RedshiftRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" - }, - "S3DestinationDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

The Amazon S3 destination.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"RedshiftS3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3BackupDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

The configuration for backup in Amazon S3.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes a destination in Amazon Redshift.

" - }, - "RedshiftDestinationUpdate":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ClusterJDBCURL":{ - "shape":"ClusterJDBCURL", - "documentation":"

The database connection string.

" - }, - "CopyCommand":{ - "shape":"CopyCommand", - "documentation":"

The COPY command.

" - }, - "Username":{ - "shape":"Username", - "documentation":"

The name of the user.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The user password.

" - }, - "RetryOptions":{ - "shape":"RedshiftRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" - }, - "S3Update":{ - "shape":"S3DestinationUpdate", - "documentation":"

The Amazon S3 destination.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationUpdate.S3Update because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "S3BackupMode":{ - "shape":"RedshiftS3BackupMode", - "documentation":"

The Amazon S3 backup mode.

" - }, - "S3BackupUpdate":{ - "shape":"S3DestinationUpdate", - "documentation":"

The Amazon S3 destination for backup.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes an update for a destination in Amazon Redshift.

" - }, - "RedshiftRetryDurationInSeconds":{ - "type":"integer", - "max":7200, - "min":0 - }, - "RedshiftRetryOptions":{ - "type":"structure", - "members":{ - "DurationInSeconds":{ - "shape":"RedshiftRetryDurationInSeconds", - "documentation":"

The length of time during which Kinesis Data Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Data Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" - } - }, - "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift.

" - }, - "RedshiftS3BackupMode":{ - "type":"string", - "enum":[ - "Disabled", - "Enabled" - ] - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The resource is already in use and not available for this operation.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The specified resource could not be found.

", - "exception":true - }, - "RoleARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "S3BackupMode":{ - "type":"string", - "enum":[ - "Disabled", - "Enabled" - ] - }, - "S3DestinationConfiguration":{ - "type":"structure", - "required":[ - "RoleARN", - "BucketARN" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes the configuration of a destination in Amazon S3.

" - }, - "S3DestinationDescription":{ - "type":"structure", - "required":[ - "RoleARN", - "BucketARN", - "BufferingHints", - "CompressionFormat", - "EncryptionConfiguration" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes a destination in Amazon S3.

" - }, - "S3DestinationUpdate":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can specify an extra prefix to be added in front of the time format prefix. If the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Data Firehose Developer Guide.

" - }, - "BufferingHints":{ - "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" - }, - "CompressionFormat":{ - "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes an update for a destination in Amazon S3.

" - }, - "SchemaConfiguration":{ - "type":"structure", - "members":{ - "RoleARN":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

The role that Kinesis Data Firehose can use to access AWS Glue. This role must be in the same account you use for Kinesis Data Firehose. Cross-account roles aren't allowed.

" - }, - "CatalogId":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

Specifies the name of the AWS Glue database that contains the schema for the output data.

" - }, - "TableName":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

Specifies the AWS Glue table that contains the column information that constitutes your data schema.

" - }, - "Region":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

If you don't specify an AWS Region, the default is the current Region.

" - }, - "VersionId":{ - "shape":"NonEmptyStringWithoutWhitespace", - "documentation":"

Specifies the table version for the output data schema. If you don't specify this version ID, or if you set it to LATEST, Kinesis Data Firehose uses the most recent version. This means that any updates to the table are automatically picked up.

" - } - }, - "documentation":"

Specifies the schema to which you want Kinesis Data Firehose to configure your data before it writes it to Amazon S3.

" - }, - "Serializer":{ - "type":"structure", - "members":{ - "ParquetSerDe":{ - "shape":"ParquetSerDe", - "documentation":"

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

" - }, - "OrcSerDe":{ - "shape":"OrcSerDe", - "documentation":"

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

" - } - }, - "documentation":"

The serializer that you want Kinesis Data Firehose to use to convert data to the target format before writing it to Amazon S3. Kinesis Data Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The service is unavailable. Back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

", - "exception":true, - "fault":true - }, - "SizeInMBs":{ - "type":"integer", - "max":128, - "min":1 - }, - "SourceDescription":{ - "type":"structure", - "members":{ - "KinesisStreamSourceDescription":{ - "shape":"KinesisStreamSourceDescription", - "documentation":"

The KinesisStreamSourceDescription value for the source Kinesis data stream.

" - } - }, - "documentation":"

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

" - }, - "SplunkDestinationConfiguration":{ - "type":"structure", - "required":[ - "HECEndpoint", - "HECEndpointType", - "HECToken", - "S3Configuration" - ], - "members":{ - "HECEndpoint":{ - "shape":"HECEndpoint", - "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" - }, - "HECEndpointType":{ - "shape":"HECEndpointType", - "documentation":"

This type can be either \"Raw\" or \"Event.\"

" - }, - "HECToken":{ - "shape":"HECToken", - "documentation":"

This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

" - }, - "HECAcknowledgmentTimeoutInSeconds":{ - "shape":"HECAcknowledgmentTimeoutInSeconds", - "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" - }, - "RetryOptions":{ - "shape":"SplunkRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk.

" - }, - "S3BackupMode":{ - "shape":"SplunkS3BackupMode", - "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" - }, - "S3Configuration":{ - "shape":"S3DestinationConfiguration", - "documentation":"

The configuration for the backup Amazon S3 location.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes the configuration of a destination in Splunk.

" - }, - "SplunkDestinationDescription":{ - "type":"structure", - "members":{ - "HECEndpoint":{ - "shape":"HECEndpoint", - "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" - }, - "HECEndpointType":{ - "shape":"HECEndpointType", - "documentation":"

This type can be either \"Raw\" or \"Event.\"

" - }, - "HECToken":{ - "shape":"HECToken", - "documentation":"

A GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

" - }, - "HECAcknowledgmentTimeoutInSeconds":{ - "shape":"HECAcknowledgmentTimeoutInSeconds", - "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" - }, - "RetryOptions":{ - "shape":"SplunkRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

" - }, - "S3BackupMode":{ - "shape":"SplunkS3BackupMode", - "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" - }, - "S3DestinationDescription":{ - "shape":"S3DestinationDescription", - "documentation":"

The Amazon S3 destination.>

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes a destination in Splunk.

" - }, - "SplunkDestinationUpdate":{ - "type":"structure", - "members":{ - "HECEndpoint":{ - "shape":"HECEndpoint", - "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" - }, - "HECEndpointType":{ - "shape":"HECEndpointType", - "documentation":"

This type can be either \"Raw\" or \"Event.\"

" - }, - "HECToken":{ - "shape":"HECToken", - "documentation":"

A GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

" - }, - "HECAcknowledgmentTimeoutInSeconds":{ - "shape":"HECAcknowledgmentTimeoutInSeconds", - "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" - }, - "RetryOptions":{ - "shape":"SplunkRetryOptions", - "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

" - }, - "S3BackupMode":{ - "shape":"SplunkS3BackupMode", - "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" - }, - "S3Update":{ - "shape":"S3DestinationUpdate", - "documentation":"

Your update to the configuration of the backup Amazon S3 location.

" - }, - "ProcessingConfiguration":{ - "shape":"ProcessingConfiguration", - "documentation":"

The data processing configuration.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" - } - }, - "documentation":"

Describes an update for a destination in Splunk.

" - }, - "SplunkRetryDurationInSeconds":{ - "type":"integer", - "max":7200, - "min":0 - }, - "SplunkRetryOptions":{ - "type":"structure", - "members":{ - "DurationInSeconds":{ - "shape":"SplunkRetryDurationInSeconds", - "documentation":"

The total amount of time that Kinesis Data Firehose spends on retries. This duration starts after the initial attempt to send data to Splunk fails. It doesn't include the periods during which Kinesis Data Firehose waits for acknowledgment from Splunk after each attempt.

" - } - }, - "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Splunk, or if it doesn't receive an acknowledgment from Splunk.

" - }, - "SplunkS3BackupMode":{ - "type":"string", - "enum":[ - "FailedEventsOnly", - "AllEvents" - ] - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

An optional string, which you can use to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" - } - }, - "documentation":"

Metadata that you can assign to a delivery stream, consisting of a key-value pair.

" - }, - "TagDeliveryStreamInput":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "Tags" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream to which you want to add the tags.

" - }, - "Tags":{ - "shape":"TagDeliveryStreamInputTagList", - "documentation":"

A set of key-value pairs to use to create the tags.

" - } - } - }, - "TagDeliveryStreamInputTagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TagDeliveryStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0 - }, - "Timestamp":{"type":"timestamp"}, - "UntagDeliveryStreamInput":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "TagKeys" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys. Each corresponding tag is removed from the delivery stream.

" - } - } - }, - "UntagDeliveryStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "UpdateDestinationInput":{ - "type":"structure", - "required":[ - "DeliveryStreamName", - "CurrentDeliveryStreamVersionId", - "DestinationId" - ], - "members":{ - "DeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" - }, - "CurrentDeliveryStreamVersionId":{ - "shape":"DeliveryStreamVersionId", - "documentation":"

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" - }, - "DestinationId":{ - "shape":"DestinationId", - "documentation":"

The ID of the destination.

" - }, - "S3DestinationUpdate":{ - "shape":"S3DestinationUpdate", - "documentation":"

[Deprecated] Describes an update for a destination in Amazon S3.

", - "deprecated":true - }, - "ExtendedS3DestinationUpdate":{ - "shape":"ExtendedS3DestinationUpdate", - "documentation":"

Describes an update for a destination in Amazon S3.

" - }, - "RedshiftDestinationUpdate":{ - "shape":"RedshiftDestinationUpdate", - "documentation":"

Describes an update for a destination in Amazon Redshift.

" - }, - "ElasticsearchDestinationUpdate":{ - "shape":"ElasticsearchDestinationUpdate", - "documentation":"

Describes an update for a destination in Amazon ES.

" - }, - "SplunkDestinationUpdate":{ - "shape":"SplunkDestinationUpdate", - "documentation":"

Describes an update for a destination in Splunk.

" - } - } - }, - "UpdateDestinationOutput":{ - "type":"structure", - "members":{ - } - }, - "Username":{ - "type":"string", - "min":1, - "sensitive":true - } - }, - "documentation":"Amazon Kinesis Data Firehose API Reference

Amazon Kinesis Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), Amazon Redshift, and Splunk.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/service-2.json deleted file mode 100644 index dc3df2d5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/fms/2018-01-01/service-2.json +++ /dev/null @@ -1,753 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-01-01", - "endpointPrefix":"fms", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"FMS", - "serviceFullName":"Firewall Management Service", - "serviceId":"FMS", - "signatureVersion":"v4", - "targetPrefix":"AWSFMS_20180101", - "uid":"fms-2018-01-01" - }, - "operations":{ - "AssociateAdminAccount":{ - "name":"AssociateAdminAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateAdminAccountRequest"}, - "errors":[ - {"shape":"InvalidOperationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with a master account in AWS Organizations or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account.

The account that you associate with AWS Firewall Manager is called the AWS Firewall manager administrator account.

" - }, - "DeleteNotificationChannel":{ - "name":"DeleteNotificationChannel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNotificationChannelRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

" - }, - "DeletePolicy":{ - "name":"DeletePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePolicyRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Permanently deletes an AWS Firewall Manager policy.

" - }, - "DisassociateAdminAccount":{ - "name":"DisassociateAdminAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateAdminAccountRequest"}, - "errors":[ - {"shape":"InvalidOperationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Disassociates the account that has been set as the AWS Firewall Manager administrator account. You will need to submit an AssociateAdminAccount request to set a new account as the AWS Firewall administrator.

" - }, - "GetAdminAccount":{ - "name":"GetAdminAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAdminAccountRequest"}, - "output":{"shape":"GetAdminAccountResponse"}, - "errors":[ - {"shape":"InvalidOperationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.

" - }, - "GetComplianceDetail":{ - "name":"GetComplianceDetail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetComplianceDetailRequest"}, - "output":{"shape":"GetComplianceDetailResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered non-compliant if the specified policy has not been applied to them.

" - }, - "GetNotificationChannel":{ - "name":"GetNotificationChannel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetNotificationChannelRequest"}, - "output":{"shape":"GetNotificationChannelResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

" - }, - "GetPolicy":{ - "name":"GetPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPolicyRequest"}, - "output":{"shape":"GetPolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns information about the specified AWS Firewall Manager policy.

" - }, - "ListComplianceStatus":{ - "name":"ListComplianceStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListComplianceStatusRequest"}, - "output":{"shape":"ListComplianceStatusResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy.

" - }, - "ListPolicies":{ - "name":"ListPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPoliciesRequest"}, - "output":{"shape":"ListPoliciesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns an array of PolicySummary objects in the response.

" - }, - "PutNotificationChannel":{ - "name":"PutNotificationChannel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutNotificationChannelRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.

" - }, - "PutPolicy":{ - "name":"PutPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutPolicyRequest"}, - "output":{"shape":"PutPolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalErrorException"} - ], - "documentation":"

Creates an AWS Firewall Manager policy.

" - } - }, - "shapes":{ - "AWSAccountId":{ - "type":"string", - "max":1024, - "min":1 - }, - "AssociateAdminAccountRequest":{ - "type":"structure", - "required":["AdminAccount"], - "members":{ - "AdminAccount":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization.

" - } - } - }, - "Boolean":{"type":"boolean"}, - "ComplianceViolator":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource ID.

" - }, - "ViolationReason":{ - "shape":"ViolationReason", - "documentation":"

The reason that the resource is not protected by the policy.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" - } - }, - "documentation":"

Details of the resource that is not protected by the policy.

" - }, - "ComplianceViolators":{ - "type":"list", - "member":{"shape":"ComplianceViolator"} - }, - "DeleteNotificationChannelRequest":{ - "type":"structure", - "members":{ - } - }, - "DeletePolicyRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies.

" - } - } - }, - "DisassociateAdminAccountRequest":{ - "type":"structure", - "members":{ - } - }, - "ErrorMessage":{"type":"string"}, - "EvaluationResult":{ - "type":"structure", - "members":{ - "ComplianceStatus":{ - "shape":"PolicyComplianceStatusType", - "documentation":"

Describes an AWS account's compliance with the AWS Firewall Manager policy.

" - }, - "ViolatorCount":{ - "shape":"ResourceCount", - "documentation":"

Number of resources that are non-compliant with the specified policy. A resource is considered non-compliant if it is not associated with the specified policy.

" - }, - "EvaluationLimitExceeded":{ - "shape":"Boolean", - "documentation":"

Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy.

" - } - }, - "documentation":"

Describes the compliance status for the account. An account is considered non-compliant if it includes resources that are not protected by the specified policy.

" - }, - "EvaluationResults":{ - "type":"list", - "member":{"shape":"EvaluationResult"} - }, - "GetAdminAccountRequest":{ - "type":"structure", - "members":{ - } - }, - "GetAdminAccountResponse":{ - "type":"structure", - "members":{ - "AdminAccount":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account that is set as the AWS Firewall Manager administrator.

" - } - } - }, - "GetComplianceDetailRequest":{ - "type":"structure", - "required":[ - "PolicyId", - "MemberAccount" - ], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.

" - }, - "MemberAccount":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account that owns the resources that you want to get the details for.

" - } - } - }, - "GetComplianceDetailResponse":{ - "type":"structure", - "members":{ - "PolicyComplianceDetail":{ - "shape":"PolicyComplianceDetail", - "documentation":"

Information about the resources and the policy that you specified in the GetComplianceDetail request.

" - } - } - }, - "GetNotificationChannelRequest":{ - "type":"structure", - "members":{ - } - }, - "GetNotificationChannelResponse":{ - "type":"structure", - "members":{ - "SnsTopicArn":{ - "shape":"ResourceArn", - "documentation":"

The SNS topic that records AWS Firewall Manager activity.

" - }, - "SnsRoleName":{ - "shape":"ResourceArn", - "documentation":"

The IAM role that is used by AWS Firewall Manager to record activity to SNS.

" - } - } - }, - "GetPolicyRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the AWS Firewall Manager policy that you want the details for.

" - } - } - }, - "GetPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

Information about the specified AWS Firewall Manager policy.

" - }, - "PolicyArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the specified policy.

" - } - } - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The operation failed because of a system problem, even though the request was valid. Retry your request.

", - "exception":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The parameters of the request were invalid.

", - "exception":true - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The operation failed because there was nothing to do. For example, you might have submitted an AssociateAdminAccount request, but the account ID that you submitted was already set as the AWS Firewall Manager administrator.

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of policy objects that you can create for an AWS account. For more information, see Firewall Manager Limits in the AWS WAF Developer Guide.

", - "exception":true - }, - "ListComplianceStatusRequest":{ - "type":"structure", - "required":["PolicyId"], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the AWS Firewall Manager policy that you want the details for.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If you specify a value for MaxResults and you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus requests, specify the value of NextToken from the previous response to get information about another batch of PolicyComplianceStatus objects.

" - }, - "MaxResults":{ - "shape":"PaginationMaxResults", - "documentation":"

Specifies the number of PolicyComplianceStatus objects that you want AWS Firewall Manager to return for this request. If you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicyComplianceStatus objects.

" - } - } - }, - "ListComplianceStatusResponse":{ - "type":"structure", - "members":{ - "PolicyComplianceStatusList":{ - "shape":"PolicyComplianceStatusList", - "documentation":"

An array of PolicyComplianceStatus objects.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If you have more PolicyComplianceStatus objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus request, and specify the NextToken value from the response in the NextToken value in the next request.

" - } - } - }, - "ListPoliciesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If you specify a value for MaxResults and you have more PolicySummary objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicySummary objects. For the second and subsequent ListPolicies requests, specify the value of NextToken from the previous response to get information about another batch of PolicySummary objects.

" - }, - "MaxResults":{ - "shape":"PaginationMaxResults", - "documentation":"

Specifies the number of PolicySummary objects that you want AWS Firewall Manager to return for this request. If you have more PolicySummary objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicySummary objects.

" - } - } - }, - "ListPoliciesResponse":{ - "type":"structure", - "members":{ - "PolicyList":{ - "shape":"PolicySummaryList", - "documentation":"

An array of PolicySummary objects.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If you have more PolicySummary objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicySummary objects, submit another ListPolicies request, and specify the NextToken value from the response in the NextToken value in the next request.

" - } - } - }, - "ManagedServiceData":{ - "type":"string", - "max":1024, - "min":1 - }, - "PaginationMaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "PaginationToken":{ - "type":"string", - "min":1 - }, - "Policy":{ - "type":"structure", - "required":[ - "PolicyName", - "SecurityServicePolicyData", - "ResourceType", - "ExcludeResourceTags", - "RemediationEnabled" - ], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the AWS Firewall Manager policy.

" - }, - "PolicyName":{ - "shape":"ResourceName", - "documentation":"

The friendly name of the AWS Firewall Manager policy.

" - }, - "PolicyUpdateToken":{ - "shape":"PolicyUpdateToken", - "documentation":"

A unique identifier for each update to the policy. When issuing a PutPolicy request, the PolicyUpdateToken in the request must match the PolicyUpdateToken of the current policy version. To get the PolicyUpdateToken of the current policy version, use a GetPolicy request.

" - }, - "SecurityServicePolicyData":{ - "shape":"SecurityServicePolicyData", - "documentation":"

Details about the security service that is being used to protect the resources.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" - }, - "ResourceTags":{ - "shape":"ResourceTags", - "documentation":"

An array of ResourceTag objects.

" - }, - "ExcludeResourceTags":{ - "shape":"Boolean", - "documentation":"

If set to True, resources with the tags that are specified in the ResourceTag array are not protected by the policy. If set to False, and the ResourceTag array is not null, only resources with the specified tags are associated with the policy.

" - }, - "RemediationEnabled":{ - "shape":"Boolean", - "documentation":"

Indicates if the policy should be automatically applied to new resources.

" - } - }, - "documentation":"

An AWS Firewall Manager policy.

" - }, - "PolicyComplianceDetail":{ - "type":"structure", - "members":{ - "PolicyOwner":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account that created the AWS Firewall Manager policy.

" - }, - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the AWS Firewall Manager policy.

" - }, - "MemberAccount":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account ID.

" - }, - "Violators":{ - "shape":"ComplianceViolators", - "documentation":"

An array of resources that are not protected by the policy.

" - }, - "EvaluationLimitExceeded":{ - "shape":"Boolean", - "documentation":"

Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy.

" - }, - "ExpiredAt":{ - "shape":"TimeStamp", - "documentation":"

A time stamp that indicates when the returned information should be considered out-of-date.

" - } - }, - "documentation":"

Describes the non-compliant resources in a member account for a specific AWS Firewall Manager policy. A maximum of 100 entries are displayed. If more than 100 resources are non-compliant, EvaluationLimitExceeded is set to True.

" - }, - "PolicyComplianceStatus":{ - "type":"structure", - "members":{ - "PolicyOwner":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account that created the AWS Firewall Manager policy.

" - }, - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the AWS Firewall Manager policy.

" - }, - "PolicyName":{ - "shape":"ResourceName", - "documentation":"

The friendly name of the AWS Firewall Manager policy.

" - }, - "MemberAccount":{ - "shape":"AWSAccountId", - "documentation":"

The member account ID.

" - }, - "EvaluationResults":{ - "shape":"EvaluationResults", - "documentation":"

An array of EvaluationResult objects.

" - }, - "LastUpdated":{ - "shape":"TimeStamp", - "documentation":"

Time stamp of the last update to the EvaluationResult objects.

" - } - }, - "documentation":"

Indicates whether the account is compliant with the specified policy. An account is considered non-compliant if it includes resources that are not protected by the policy.

" - }, - "PolicyComplianceStatusList":{ - "type":"list", - "member":{"shape":"PolicyComplianceStatus"} - }, - "PolicyComplianceStatusType":{ - "type":"string", - "enum":[ - "COMPLIANT", - "NON_COMPLIANT" - ] - }, - "PolicyId":{ - "type":"string", - "max":36, - "min":36 - }, - "PolicySummary":{ - "type":"structure", - "members":{ - "PolicyArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the specified policy.

" - }, - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The ID of the specified policy.

" - }, - "PolicyName":{ - "shape":"ResourceName", - "documentation":"

The friendly name of the specified policy.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" - }, - "SecurityServiceType":{ - "shape":"SecurityServiceType", - "documentation":"

The service that the policy is using to protect the resources. This value is WAF.

" - }, - "RemediationEnabled":{ - "shape":"Boolean", - "documentation":"

Indicates if the policy should be automatically applied to new resources.

" - } - }, - "documentation":"

Details of the AWS Firewall Manager policy.

" - }, - "PolicySummaryList":{ - "type":"list", - "member":{"shape":"PolicySummary"} - }, - "PolicyUpdateToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "PutNotificationChannelRequest":{ - "type":"structure", - "required":[ - "SnsTopicArn", - "SnsRoleName" - ], - "members":{ - "SnsTopicArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.

" - }, - "SnsRoleName":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.

" - } - } - }, - "PutPolicyRequest":{ - "type":"structure", - "required":["Policy"], - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

The details of the AWS Firewall Manager policy to be created.

" - } - } - }, - "PutPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

The details of the AWS Firewall Manager policy that was created.

" - }, - "PolicyArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the policy that was created.

" - } - } - }, - "ResourceArn":{ - "type":"string", - "max":1024, - "min":1 - }, - "ResourceCount":{ - "type":"long", - "min":0 - }, - "ResourceId":{ - "type":"string", - "max":1024, - "min":1 - }, - "ResourceName":{ - "type":"string", - "max":128, - "min":1 - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource was not found.

", - "exception":true - }, - "ResourceTag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The resource tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The resource tag value.

" - } - }, - "documentation":"

The resource tags that AWS Firewall Manager uses to determine if a particular resource should be included or excluded from protection by the AWS Firewall Manager policy. Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. Tags are combined with an \"OR.\" That is, if you add more than one tag, if any of the tags matches, the resource is considered a match for the include or exclude. Working with Tag Editor.

" - }, - "ResourceTags":{ - "type":"list", - "member":{"shape":"ResourceTag"}, - "max":8, - "min":0 - }, - "ResourceType":{ - "type":"string", - "max":128, - "min":1 - }, - "SecurityServicePolicyData":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"SecurityServiceType", - "documentation":"

The service that the policy is using to protect the resources. This value is WAF.

" - }, - "ManagedServiceData":{ - "shape":"ManagedServiceData", - "documentation":"

Details about the service. This contains WAF data in JSON format, as shown in the following example:

ManagedServiceData\": \"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\": \\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}

" - } - }, - "documentation":"

Details about the security service that is being used to protect the resources.

" - }, - "SecurityServiceType":{ - "type":"string", - "enum":["WAF"] - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagValue":{ - "type":"string", - "max":256, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TimeStamp":{"type":"timestamp"}, - "ViolationReason":{ - "type":"string", - "enum":[ - "WEB_ACL_MISSING_RULE_GROUP", - "RESOURCE_MISSING_WEB_ACL", - "RESOURCE_INCORRECT_WEB_ACL" - ] - } - }, - "documentation":"AWS Firewall Manager

This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/service-2.json deleted file mode 100644 index 4b399380..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/gamelift/2015-10-01/service-2.json +++ /dev/null @@ -1,5040 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-10-01", - "endpointPrefix":"gamelift", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon GameLift", - "serviceId":"GameLift", - "signatureVersion":"v4", - "targetPrefix":"GameLift", - "uid":"gamelift-2015-10-01" - }, - "operations":{ - "AcceptMatch":{ - "name":"AcceptMatch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptMatchInput"}, - "output":{"shape":"AcceptMatchOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit.

When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.

To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match.

If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where all players accepted the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to accept the match, the ticket status is set to FAILED, and processing is terminated. A new matchmaking request for these players can be submitted as needed.

Matchmaking-related operations include:

" - }, - "CreateAlias":{ - "name":"CreateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAliasInput"}, - "output":{"shape":"CreateAliasOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServiceException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. By using a fleet alias instead of a specific fleet ID, you can switch gameplay and players to a new fleet without changing your game client or other game components. For example, for games in production, using an alias allows you to seamlessly redirect your player base to a new game server update.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. You can reassign an alias to another fleet by calling UpdateAlias.

Alias-related operations include:

" - }, - "CreateBuild":{ - "name":"CreateBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBuildInput"}, - "output":{"shape":"CreateBuildOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Creates a new Amazon GameLift build record for your game server binary files and points to the location of your game server build files in an Amazon Simple Storage Service (Amazon S3) location.

Game server binaries must be combined into a .zip file for use with Amazon GameLift. See Uploading Your Game for more information.

To create new builds quickly and easily, use the AWS CLI command upload-build . This helper command uploads your build and creates a new build record in one step, and automatically handles the necessary permissions. See Upload Build Files to Amazon GameLift for more help.

The CreateBuild operation should be used only when you need to manually upload your build files, as in the following scenarios:

  • Store a build file in an Amazon S3 bucket under your own AWS account. To use this option, you must first give Amazon GameLift access to that Amazon S3 bucket. See Create a Build with Files in Amazon S3 for detailed help. To create a new build record using files in your Amazon S3 bucket, call CreateBuild and specify a build name, operating system, and the storage location of your game build.

  • Upload a build file directly to Amazon GameLift's Amazon S3 account. To use this option, you first call CreateBuild with a build name and operating system. This action creates a new build record and returns an Amazon S3 storage location (bucket and key only) and temporary access credentials. Use the credentials to manually upload your build file to the storage location (see the Amazon S3 topic Uploading Objects). You can upload files to a location only once.

If successful, this operation creates a new build record with a unique build ID and places it in INITIALIZED status. You can use DescribeBuild to check the status of your build. A build must be in READY status before it can be used to create fleets.

Build-related operations include:

" - }, - "CreateFleet":{ - "name":"CreateFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateFleetInput"}, - "output":{"shape":"CreateFleetOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple server processes to host game sessions. You set up a fleet to use instances with certain hardware specifications (see Amazon EC2 Instance Types for more information), and deploy your game build to run on each instance.

To create a new fleet, you must specify the following: (1) a fleet name, (2) the build ID of a successfully uploaded game build, (3) an EC2 instance type, and (4) a run-time configuration, which describes the server processes to run on each instance in the fleet. If you don't specify a fleet type (on-demand or spot), the new fleet uses on-demand instances by default.

You can also configure the new fleet with the following settings:

  • Fleet description

  • Access permissions for inbound traffic

  • Fleet-wide game session protection

  • Resource usage limits

If you use Amazon CloudWatch for metrics, you can add the new fleet to a metric group. By adding multiple fleets to a metric group, you can view aggregated metrics for all the fleets in the group.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:

  • Creates a fleet record. Status: NEW.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

    Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.

  • Downloads the game build to the new instance and installs it. Statuses: DOWNLOADING, VALIDATING, BUILDING.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each launch by a few seconds. Status: ACTIVATING.

  • Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session.

Fleet-related operations include:

" - }, - "CreateGameSession":{ - "name":"CreateGameSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGameSessionInput"}, - "output":{"shape":"CreateGameSessionOutput"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"TerminalRoutingStrategyException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"FleetCapacityExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"IdempotentParameterMismatchException"} - ], - "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

Game-session-related operations include:

" - }, - "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.

Queue-related operations include:

" - }, - "CreateMatchmakingConfiguration":{ - "name":"CreateMatchmakingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateMatchmakingConfigurationInput"}, - "output":{"shape":"CreateMatchmakingConfigurationOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

Player acceptance -- In each configuration, you have the option to require that all players accept participation in a proposed match. To enable this feature, set AcceptanceRequired to true and specify a time limit for player acceptance. Players have the option to accept or reject a proposed match, and a match does not move ahead to game session placement unless all matched players accept.

Matchmaking status notification -- There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration (see Setting up Notifications for Matchmaking). Since notifications promise only \"best effort\" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

Operations related to match configurations and rule sets include:

" - }, - "CreateMatchmakingRuleSet":{ - "name":"CreateMatchmakingRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateMatchmakingRuleSetInput"}, - "output":{"shape":"CreateMatchmakingRuleSetOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams, and sets the parameters for acceptable player matches, such as minimum skill level or character type. Rule sets are used in matchmaking configurations, which define how matchmaking requests are handled. Each MatchmakingConfiguration uses one rule set; you can set up multiple rule sets to handle the scenarios that suit your game (such as for different game modes), and create a separate matchmaking configuration for each rule set. See additional information on rule set content in the MatchmakingRuleSet structure. For help creating rule sets, including useful examples, see the topic Adding FlexMatch to Your Game.

Once created, matchmaking rule sets cannot be changed or deleted, so we recommend checking the rule set syntax using ValidateMatchmakingRuleSet before creating the rule set.

To create a matchmaking rule set, provide the set of rules and a unique name. Rule sets must be defined in the same region as the matchmaking configuration they will be used with. Rule sets cannot be edited or deleted. If you need to change a rule set, create a new one with the necessary edits and then update matchmaking configurations to use the new rule set.

Operations related to match configurations and rule sets include:

" - }, - "CreatePlayerSession":{ - "name":"CreatePlayerSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlayerSessionInput"}, - "output":{"shape":"CreatePlayerSessionOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidGameSessionStatusException"}, - {"shape":"GameSessionFullException"}, - {"shape":"TerminalRoutingStrategyException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Adds a player to a game session and creates a player session record. 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.

Player-session-related operations include:

" - }, - "CreatePlayerSessions":{ - "name":"CreatePlayerSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlayerSessionsInput"}, - "output":{"shape":"CreatePlayerSessionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidGameSessionStatusException"}, - {"shape":"GameSessionFullException"}, - {"shape":"TerminalRoutingStrategyException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"} - ], - "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.

Player-session-related operations include:

" - }, - "CreateVpcPeeringAuthorization":{ - "name":"CreateVpcPeeringAuthorization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringAuthorizationInput"}, - "output":{"shape":"CreateVpcPeeringAuthorizationOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets.

You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions.

To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift.

The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid.

VPC peering connection operations include:

" - }, - "CreateVpcPeeringConnection":{ - "name":"CreateVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVpcPeeringConnectionInput"}, - "output":{"shape":"CreateVpcPeeringConnectionOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents.

VPC peering connection operations include:

" - }, - "DeleteAlias":{ - "name":"DeleteAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAliasInput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Deletes an alias. This action removes all record of the alias. Game clients attempting to access a server process using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.

Alias-related operations include:

" - }, - "DeleteBuild":{ - "name":"DeleteBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBuildInput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Deletes a build. This action permanently deletes the build record and any uploaded build files.

To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the build, but you can no longer create new fleets with the deleted build.

Build-related operations include:

" - }, - "DeleteFleet":{ - "name":"DeleteFleet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFleetInput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.

Fleet-related operations include:

" - }, - "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.

Queue-related operations include:

" - }, - "DeleteMatchmakingConfiguration":{ - "name":"DeleteMatchmakingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMatchmakingConfigurationInput"}, - "output":{"shape":"DeleteMatchmakingConfigurationOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.

Operations related to match configurations and rule sets include:

" - }, - "DeleteScalingPolicy":{ - "name":"DeleteScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteScalingPolicyInput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with.

To temporarily suspend scaling policies, call StopFleetActions. This operation suspends all policies for the fleet.

Operations related to fleet capacity scaling include:

" - }, - "DeleteVpcPeeringAuthorization":{ - "name":"DeleteVpcPeeringAuthorization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringAuthorizationInput"}, - "output":{"shape":"DeleteVpcPeeringAuthorizationOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Cancels a pending VPC peering authorization for the specified VPC. If the authorization has already been used to create a peering connection, call DeleteVpcPeeringConnection to remove the connection.

VPC peering connection operations include:

" - }, - "DeleteVpcPeeringConnection":{ - "name":"DeleteVpcPeeringConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVpcPeeringConnectionInput"}, - "output":{"shape":"DeleteVpcPeeringConnectionOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization.

Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

VPC peering connection operations include:

" - }, - "DescribeAlias":{ - "name":"DescribeAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAliasInput"}, - "output":{"shape":"DescribeAliasOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

Alias-related operations include:

" - }, - "DescribeBuild":{ - "name":"DescribeBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBuildInput"}, - "output":{"shape":"DescribeBuildOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves properties for a build. To request a build record, specify a build ID. If successful, an object containing the build properties is returned.

Build-related operations include:

" - }, - "DescribeEC2InstanceLimits":{ - "name":"DescribeEC2InstanceLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEC2InstanceLimitsInput"}, - "output":{"shape":"DescribeEC2InstanceLimitsOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"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 Amazon GameLift can be found in the AWS Management Console for Amazon GameLift (see the drop-down list in the upper right corner).

Fleet-related operations include:

" - }, - "DescribeFleetAttributes":{ - "name":"DescribeFleetAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetAttributesInput"}, - "output":{"shape":"DescribeFleetAttributesOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" - }, - "DescribeFleetCapacity":{ - "name":"DescribeFleetCapacity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetCapacityInput"}, - "output":{"shape":"DescribeFleetCapacityOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" - }, - "DescribeFleetEvents":{ - "name":"DescribeFleetEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetEventsInput"}, - "output":{"shape":"DescribeFleetEventsOutput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.

Fleet-related operations include:

" - }, - "DescribeFleetPortSettings":{ - "name":"DescribeFleetPortSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetPortSettingsInput"}, - "output":{"shape":"DescribeFleetPortSettingsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty.

Fleet-related operations include:

" - }, - "DescribeFleetUtilization":{ - "name":"DescribeFleetUtilization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFleetUtilizationInput"}, - "output":{"shape":"DescribeFleetUtilizationOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist.

Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.

Fleet-related operations include:

" - }, - "DescribeGameSessionDetails":{ - "name":"DescribeGameSessionDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGameSessionDetailsInput"}, - "output":{"shape":"DescribeGameSessionDetailsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TerminalRoutingStrategyException"} - ], - "documentation":"

Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId 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.

Game-session-related operations include:

" - }, - "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.

Game-session-related operations include:

" - }, - "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.

Queue-related operations include:

" - }, - "DescribeGameSessions":{ - "name":"DescribeGameSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGameSessionsInput"}, - "output":{"shape":"DescribeGameSessionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TerminalRoutingStrategyException"} - ], - "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.

Game-session-related operations include:

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesInput"}, - "output":{"shape":"DescribeInstancesOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance.

To get a specific instance, specify fleet ID and instance ID. To get all instances in a fleet, specify a fleet ID only. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, an Instance object is returned for each result.

" - }, - "DescribeMatchmaking":{ - "name":"DescribeMatchmaking", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMatchmakingInput"}, - "output":{"shape":"DescribeMatchmakingOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.

You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

Matchmaking-related operations include:

" - }, - "DescribeMatchmakingConfigurations":{ - "name":"DescribeMatchmakingConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMatchmakingConfigurationsInput"}, - "output":{"shape":"DescribeMatchmakingConfigurationsOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Retrieves the details of FlexMatch matchmaking configurations. with this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Operations related to match configurations and rule sets include:

" - }, - "DescribeMatchmakingRuleSets":{ - "name":"DescribeMatchmakingRuleSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMatchmakingRuleSetsInput"}, - "output":{"shape":"DescribeMatchmakingRuleSetsOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Operations related to match configurations and rule sets include:

" - }, - "DescribePlayerSessions":{ - "name":"DescribePlayerSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePlayerSessionsInput"}, - "output":{"shape":"DescribePlayerSessionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId to request properties for all player sessions of a specified player.

To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.

Available in Amazon GameLift Local.

Player-session-related operations include:

" - }, - "DescribeRuntimeConfiguration":{ - "name":"DescribeRuntimeConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRuntimeConfigurationInput"}, - "output":{"shape":"DescribeRuntimeConfigurationOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Retrieves the current run-time configuration for the specified fleet. The run-time configuration tells Amazon GameLift how to launch server processes on instances in the fleet.

Fleet-related operations include:

" - }, - "DescribeScalingPolicies":{ - "name":"DescribeScalingPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeScalingPoliciesInput"}, - "output":{"shape":"DescribeScalingPoliciesOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Retrieves all scaling policies applied to a fleet.

To get a fleet's scaling policies, specify the fleet ID. You can filter this request by policy status, such as to retrieve only active scaling policies. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, set of ScalingPolicy objects is returned for the fleet.

A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call DescribeFleetAttributes and check the stopped actions.

Operations related to fleet capacity scaling include:

" - }, - "DescribeVpcPeeringAuthorizations":{ - "name":"DescribeVpcPeeringAuthorizations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringAuthorizationsInput"}, - "output":{"shape":"DescribeVpcPeeringAuthorizationsOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

VPC peering connection operations include:

" - }, - "DescribeVpcPeeringConnections":{ - "name":"DescribeVpcPeeringConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVpcPeeringConnectionsInput"}, - "output":{"shape":"DescribeVpcPeeringConnectionsOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

VPC peering connection operations include:

" - }, - "GetGameSessionLogUrl":{ - "name":"GetGameSessionLogUrl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGameSessionLogUrlInput"}, - "output":{"shape":"GetGameSessionLogUrlOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3 and retains them for 14 days. Use this URL to download the logs.

See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.

Game-session-related operations include:

" - }, - "GetInstanceAccess":{ - "name":"GetInstanceAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceAccessInput"}, - "output":{"shape":"GetInstanceAccessOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAliasesInput"}, - "output":{"shape":"ListAliasesOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves all aliases for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.

Returned aliases are not listed in any particular order.

Alias-related operations include:

" - }, - "ListBuilds":{ - "name":"ListBuilds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBuildsInput"}, - "output":{"shape":"ListBuildsOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves build records for all builds associated with the AWS account in use. You can limit results to builds that are in a specific status by using the Status parameter. Use the pagination parameters to retrieve results in a set of sequential pages.

Build records are not listed in any particular order.

Build-related operations include:

" - }, - "ListFleets":{ - "name":"ListFleets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFleetsInput"}, - "output":{"shape":"ListFleetsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the pagination parameters to retrieve results in sequential pages.

Fleet records are not listed in any particular order.

Fleet-related operations include:

" - }, - "PutScalingPolicy":{ - "name":"PutScalingPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutScalingPolicyInput"}, - "output":{"shape":"PutScalingPolicyOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Creates or updates a scaling policy for a fleet. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling.

Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with DeleteScalingPolicy.

Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling.

Target-based policy

A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target.

For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer.

To create or update a target-based policy, specify a fleet ID and name, and set the policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Rule-based policy

A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action.

For example, a policy may make the following statement: \"If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%.\"

A policy's rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

To implement the example, the rule statement would look like this:

If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Operations related to fleet capacity scaling include:

" - }, - "RequestUploadCredentials":{ - "name":"RequestUploadCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestUploadCredentialsInput"}, - "output":{"shape":"RequestUploadCredentialsOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves a fresh set of credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

" - }, - "ResolveAlias":{ - "name":"ResolveAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResolveAliasInput"}, - "output":{"shape":"ResolveAliasOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"TerminalRoutingStrategyException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

Alias-related operations include:

" - }, - "SearchGameSessions":{ - "name":"SearchGameSessions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchGameSessionsInput"}, - "output":{"shape":"SearchGameSessionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TerminalRoutingStrategyException"} - ], - "documentation":"

Retrieves all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:

  • gameSessionId -- Unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • gameSessionProperties -- Custom data defined in a game session's GameProperty parameter. GameProperty values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair \"gameMode:brawl\", specify the following: gameSessionProperties.gameMode = \"brawl\". All custom data values are searched as strings.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

Returned values for playerSessionCount and hasAvailablePlayerSessions change quickly as players join sessions and others drop out. Results should be considered a snapshot in time. Be sure to refresh search results often, and handle sessions that fill up before a player can join.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of GameSession objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages.

You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in ACTIVE status. To locate games in statuses other than active, use DescribeGameSessionDetails.

Game-session-related operations include:

" - }, - "StartFleetActions":{ - "name":"StartFleetActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartFleetActionsInput"}, - "output":{"shape":"StartFleetActionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Resumes activity on a fleet that was suspended with StopFleetActions. Currently, this operation is used to restart a fleet's auto-scaling activity.

To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using DescribeFleetAttributes.

Operations related to fleet capacity scaling include:

" - }, - "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.

Game-session-related operations include:

" - }, - "StartMatchBackfill":{ - "name":"StartMatchBackfill", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartMatchBackfillInput"}, - "output":{"shape":"StartMatchBackfillOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created.

To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed. For more detail how to set up backfilling, see Backfill Existing Games with FlexMatch.

The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the GameSession object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see How Amazon GameLift FlexMatch Works.

Matchmaking-related operations include:

" - }, - "StartMatchmaking":{ - "name":"StartMatchmaking", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartMatchmakingInput"}, - "output":{"shape":"StartMatchmakingOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration. For complete information on setting up and using FlexMatch, see the topic Adding FlexMatch to Your Game.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.

Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:

  • Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.

  • Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds.

Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:

  1. Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket.

  2. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.

  3. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details).

  4. Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data.

  5. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game.

Matchmaking-related operations include:

" - }, - "StopFleetActions":{ - "name":"StopFleetActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopFleetActionsInput"}, - "output":{"shape":"StopFleetActionsOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop scaling events triggered by the fleet's scaling policies. The policies can be retained and auto-scaling activity can be restarted using StartFleetActions. You can view a fleet's stopped actions using DescribeFleetAttributes.

To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except to maintain the fleet's desired instances setting (FleetCapacity. Changes to the fleet's capacity must be done manually using UpdateFleetCapacity.

" - }, - "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.

Game-session-related operations include:

" - }, - "StopMatchmaking":{ - "name":"StopMatchmaking", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopMatchmakingInput"}, - "output":{"shape":"StopMatchmakingOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Cancels a matchmaking ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

Matchmaking-related operations include:

" - }, - "UpdateAlias":{ - "name":"UpdateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAliasInput"}, - "output":{"shape":"UpdateAliasOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.

Alias-related operations include:

" - }, - "UpdateBuild":{ - "name":"UpdateBuild", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateBuildInput"}, - "output":{"shape":"UpdateBuildOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} - ], - "documentation":"

Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.

Build-related operations include:

" - }, - "UpdateFleetAttributes":{ - "name":"UpdateFleetAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateFleetAttributesInput"}, - "output":{"shape":"UpdateFleetAttributesOutput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values that you want to change. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

" - }, - "UpdateFleetCapacity":{ - "name":"UpdateFleetCapacity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateFleetCapacityInput"}, - "output":{"shape":"UpdateFleetCapacityOutput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.

Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see PutScalingPolicy) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.

To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the \"Limit Exceeded\" exception occurs.

Fleet-related operations include:

" - }, - "UpdateFleetPortSettings":{ - "name":"UpdateFleetPortSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateFleetPortSettingsInput"}, - "output":{"shape":"UpdateFleetPortSettingsOutput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations, and permissions you want to remove in InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.

Fleet-related operations include:

" - }, - "UpdateGameSession":{ - "name":"UpdateGameSession", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGameSessionInput"}, - "output":{"shape":"UpdateGameSessionOutput"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidGameSessionStatusException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Updates game session properties. This includes the session name, maximum player count, protection policy, which controls whether or not an active game session can be terminated during a scale-down event, and the player session creation policy, which controls whether or not new players can join the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.

Game-session-related operations include:

" - }, - "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.

Queue-related operations include:

" - }, - "UpdateMatchmakingConfiguration":{ - "name":"UpdateMatchmakingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMatchmakingConfigurationInput"}, - "output":{"shape":"UpdateMatchmakingConfigurationOutput"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"} - ], - "documentation":"

Updates settings for a FlexMatch matchmaking configuration. To update settings, specify the configuration name to be updated and provide the new settings.

Operations related to match configurations and rule sets include:

" - }, - "UpdateRuntimeConfiguration":{ - "name":"UpdateRuntimeConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRuntimeConfigurationInput"}, - "output":{"shape":"UpdateRuntimeConfigurationOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InvalidFleetStatusException"} - ], - "documentation":"

Updates the current run-time 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 run-time configuration at any time after the fleet is created; it does not need to be in an ACTIVE status.

To update run-time 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 run-time 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 run-time configuration. As a result, the run-time configuration changes are applied gradually as existing processes shut down and new processes are launched in Amazon GameLift's normal process recycling activity.

Fleet-related operations include:

" - }, - "ValidateMatchmakingRuleSet":{ - "name":"ValidateMatchmakingRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ValidateMatchmakingRuleSetInput"}, - "output":{"shape":"ValidateMatchmakingRuleSetOutput"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"UnsupportedRegionException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set uses syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set string.

Operations related to match configurations and rule sets include:

" - } - }, - "shapes":{ - "AcceptMatchInput":{ - "type":"structure", - "required":[ - "TicketId", - "PlayerIds", - "AcceptanceType" - ], - "members":{ - "TicketId":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this request will fail.

" - }, - "PlayerIds":{ - "shape":"StringList", - "documentation":"

Unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.

" - }, - "AcceptanceType":{ - "shape":"AcceptanceType", - "documentation":"

Player response to the proposed match.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "AcceptMatchOutput":{ - "type":"structure", - "members":{ - } - }, - "AcceptanceType":{ - "type":"string", - "enum":[ - "ACCEPT", - "REJECT" - ] - }, - "Alias":{ - "type":"structure", - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for an alias; alias IDs are unique within a region.

" - }, - "Name":{ - "shape":"NonBlankAndLengthConstraintString", - "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", - "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 (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 (for example \"1469498468.057\").

" - } - }, - "documentation":"

Properties describing a fleet alias.

Alias-related operations include:

" - }, - "AliasId":{ - "type":"string", - "pattern":"^alias-\\S+" - }, - "AliasList":{ - "type":"list", - "member":{"shape":"Alias"} - }, - "ArnStringModel":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9:/-]+" - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "S":{ - "shape":"NonZeroAndMaxString", - "documentation":"

For single string values. Maximum string length is 100 characters.

" - }, - "N":{ - "shape":"DoubleObject", - "documentation":"

For number values, expressed as double.

" - }, - "SL":{ - "shape":"StringList", - "documentation":"

For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.

" - }, - "SDM":{ - "shape":"StringDoubleMap", - "documentation":"

For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters.

" - } - }, - "documentation":"

Values for use in Player attribute key:value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array or data map. Each AttributeValue object can use only one of the available properties.

" - }, - "AwsCredentials":{ - "type":"structure", - "members":{ - "AccessKeyId":{ - "shape":"NonEmptyString", - "documentation":"

Temporary key allowing access to the Amazon GameLift S3 account.

" - }, - "SecretAccessKey":{ - "shape":"NonEmptyString", - "documentation":"

Temporary secret key allowing access to the Amazon GameLift S3 account.

" - }, - "SessionToken":{ - "shape":"NonEmptyString", - "documentation":"

Token used to associate a specific build ID with the files uploaded using these credentials.

" - } - }, - "documentation":"

Temporary access credentials used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", - "sensitive":true - }, - "BooleanModel":{"type":"boolean"}, - "Build":{ - "type":"structure", - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build.

" - }, - "Name":{ - "shape":"FreeText", - "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 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", - "documentation":"

Current status of the build.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

" - }, - "SizeOnDisk":{ - "shape":"PositiveLong", - "documentation":"

File size of the uploaded game build, expressed in bytes. When the build status is INITIALIZED, this value is 0.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - } - }, - "documentation":"

Properties describing a game build.

Build-related operations include:

" - }, - "BuildId":{ - "type":"string", - "pattern":"^build-\\S+" - }, - "BuildList":{ - "type":"list", - "member":{"shape":"Build"} - }, - "BuildStatus":{ - "type":"string", - "enum":[ - "INITIALIZED", - "READY", - "FAILED" - ] - }, - "ComparisonOperatorType":{ - "type":"string", - "enum":[ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" - ] - }, - "ConflictException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.

", - "exception":true - }, - "CreateAliasInput":{ - "type":"structure", - "required":[ - "Name", - "RoutingStrategy" - ], - "members":{ - "Name":{ - "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of an alias.

" - }, - "RoutingStrategy":{ - "shape":"RoutingStrategy", - "documentation":"

Object that specifies the fleet and routing type to use for the alias.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateAliasOutput":{ - "type":"structure", - "members":{ - "Alias":{ - "shape":"Alias", - "documentation":"

Object that describes the newly created alias record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateBuildInput":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "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 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":"

Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an Amazon S3 bucket that you own. The storage location must specify an Amazon S3 bucket name and key, as well as a role ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket must be in the same region that you want to create a new build in.

" - }, - "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. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateBuildOutput":{ - "type":"structure", - "members":{ - "Build":{ - "shape":"Build", - "documentation":"

The newly created build record, including a unique build ID and status.

" - }, - "UploadCredentials":{ - "shape":"AwsCredentials", - "documentation":"

This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call RequestUploadCredentials.

" - }, - "StorageLocation":{ - "shape":"S3Location", - "documentation":"

Amazon S3 location for your game build file, including bucket name and key.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateFleetInput":{ - "type":"structure", - "required":[ - "Name", - "BuildId", - "EC2InstanceType" - ], - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of a fleet.

" - }, - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier 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", - "documentation":"

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.)

" - }, - "ServerLaunchParameters":{ - "shape":"NonZeroAndMaxString", - "documentation":"

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a run-time configuration will continue to work.)

" - }, - "LogPaths":{ - "shape":"StringList", - "documentation":"

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

" - }, - "EC2InstanceType":{ - "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" - }, - "EC2InboundPermissions":{ - "shape":"IpPermissionsList", - "documentation":"

Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. If no inbound permissions are set, including both IP address range and port range, the server processes in the fleet cannot accept connections. You can specify one or more sets of permissions for a fleet.

" - }, - "NewGameSessionProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to all instances in this fleet. If this parameter is not set, instances in this fleet default to no protection. You can change a fleet's protection policy using UpdateFleetAttributes, but this change will only affect sessions created after the policy change. You can also set protection for individual instances using UpdateGameSession.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" - }, - "RuntimeConfiguration":{ - "shape":"RuntimeConfiguration", - "documentation":"

Instructions for launching server processes on each instance in the fleet. The run-time 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 run-time configuration with at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters; requests that contain values for these parameters instead of a run-time 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":"

Name of a metric group to add this fleet to. A metric group tracks metrics across all fleets in the group. Use an existing metric group name to add this fleet to the group, or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" - }, - "PeerVpcAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - }, - "FleetType":{ - "shape":"FleetType", - "documentation":"

Indicates whether to use on-demand instances or spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations, based on the instance type selected for this fleet. You can acquire on-demand instances at any time for a fixed price and keep them as long as you need them. Spot instances have lower prices, but spot pricing is variable, and while in use they can be interrupted (with a two-minute notification). Learn more about Amazon GameLift spot instances with at Choose Computing Resources.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateFleetOutput":{ - "type":"structure", - "members":{ - "FleetAttributes":{ - "shape":"FleetAttributes", - "documentation":"

Properties for the newly created fleet.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateGameSessionInput":{ - "type":"structure", - "required":["MaximumPlayerSessionCount"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "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 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", - "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - }, - "CreatorId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player or entity creating the game session. This ID is used to enforce a resource protection policy (if one exists) that limits the number of concurrent active game sessions one player can have.

" - }, - "GameSessionId":{ - "shape":"IdStringModel", - "documentation":"

This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

" - }, - "IdempotencyToken":{ - "shape":"IdStringModel", - "documentation":"

Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateGameSessionOutput":{ - "type":"structure", - "members":{ - "GameSession":{ - "shape":"GameSession", - "documentation":"

Object that describes the newly created game session record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateGameSessionQueueInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"GameSessionQueueName", - "documentation":"

Descriptive label that is associated with game session 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.

" - }, - "CreateMatchmakingConfigurationInput":{ - "type":"structure", - "required":[ - "Name", - "GameSessionQueueArns", - "RequestTimeoutSeconds", - "AcceptanceRequired", - "RuleSetName" - ], - "members":{ - "Name":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Meaningful description of the matchmaking configuration.

" - }, - "GameSessionQueueArns":{ - "shape":"QueueArnsList", - "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. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" - }, - "RequestTimeoutSeconds":{ - "shape":"MatchmakingRequestTimeoutInteger", - "documentation":"

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

" - }, - "AcceptanceTimeoutSeconds":{ - "shape":"MatchmakingAcceptanceTimeoutInteger", - "documentation":"

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" - }, - "AcceptanceRequired":{ - "shape":"BooleanModel", - "documentation":"

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" - }, - "RuleSetName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

" - }, - "NotificationTarget":{ - "shape":"SnsArnStringModel", - "documentation":"

SNS topic ARN that is set up to receive matchmaking notifications.

" - }, - "AdditionalPlayerCount":{ - "shape":"WholeNumber", - "documentation":"

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

" - }, - "CustomEventData":{ - "shape":"CustomEventData", - "documentation":"

Information to attached to all events related to the matchmaking configuration.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateMatchmakingConfigurationOutput":{ - "type":"structure", - "members":{ - "Configuration":{ - "shape":"MatchmakingConfiguration", - "documentation":"

Object that describes the newly created matchmaking configuration.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateMatchmakingRuleSetInput":{ - "type":"structure", - "required":[ - "Name", - "RuleSetBody" - ], - "members":{ - "Name":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

" - }, - "RuleSetBody":{ - "shape":"RuleSetBody", - "documentation":"

Collection of matchmaking rules, formatted as a JSON string. (Note that comments are not allowed in JSON, but most elements support a description field.)

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateMatchmakingRuleSetOutput":{ - "type":"structure", - "required":["RuleSet"], - "members":{ - "RuleSet":{ - "shape":"MatchmakingRuleSet", - "documentation":"

Object that describes the newly created matchmaking rule set.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreatePlayerSessionInput":{ - "type":"structure", - "required":[ - "GameSessionId", - "PlayerId" - ], - "members":{ - "GameSessionId":{ - "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to add a player to.

" - }, - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "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.

" - }, - "CreatePlayerSessionOutput":{ - "type":"structure", - "members":{ - "PlayerSession":{ - "shape":"PlayerSession", - "documentation":"

Object that describes the newly created player session record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreatePlayerSessionsInput":{ - "type":"structure", - "required":[ - "GameSessionId", - "PlayerIds" - ], - "members":{ - "GameSessionId":{ - "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to add players to.

" - }, - "PlayerIds":{ - "shape":"PlayerIdList", - "documentation":"

List of unique identifiers for the players to be added.

" - }, - "PlayerDataMap":{ - "shape":"PlayerDataMap", - "documentation":"

Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the PlayerIds parameter are ignored.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreatePlayerSessionsOutput":{ - "type":"structure", - "members":{ - "PlayerSessions":{ - "shape":"PlayerSessionList", - "documentation":"

Collection of player session objects created for the added players.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateVpcPeeringAuthorizationInput":{ - "type":"structure", - "required":[ - "GameLiftAwsAccountId", - "PeerVpcId" - ], - "members":{ - "GameLiftAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateVpcPeeringAuthorizationOutput":{ - "type":"structure", - "members":{ - "VpcPeeringAuthorization":{ - "shape":"VpcPeeringAuthorization", - "documentation":"

Details on the requested VPC peering authorization, including expiration.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "CreateVpcPeeringConnectionInput":{ - "type":"structure", - "required":[ - "FleetId", - "PeerVpcAwsAccountId", - "PeerVpcId" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. This tells Amazon GameLift which GameLift VPC to peer with.

" - }, - "PeerVpcAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateVpcPeeringConnectionOutput":{ - "type":"structure", - "members":{ - } - }, - "CustomEventData":{ - "type":"string", - "max":256, - "min":0 - }, - "DeleteAliasInput":{ - "type":"structure", - "required":["AliasId"], - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to delete.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteBuildInput":{ - "type":"structure", - "required":["BuildId"], - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build to delete.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteFleetInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "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 game session queue. Queue names must be unique within each region.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteGameSessionQueueOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteMatchmakingConfigurationInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking configuration

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteMatchmakingConfigurationOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteScalingPolicyInput":{ - "type":"structure", - "required":[ - "Name", - "FleetId" - ], - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "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 to be deleted.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteVpcPeeringAuthorizationInput":{ - "type":"structure", - "required":[ - "GameLiftAwsAccountId", - "PeerVpcId" - ], - "members":{ - "GameLiftAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteVpcPeeringAuthorizationOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteVpcPeeringConnectionInput":{ - "type":"structure", - "required":[ - "FleetId", - "VpcPeeringConnectionId" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. This value must match the fleet ID referenced in the VPC peering connection record.

" - }, - "VpcPeeringConnectionId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DeleteVpcPeeringConnectionOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeAliasInput":{ - "type":"structure", - "required":["AliasId"], - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to retrieve.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeAliasOutput":{ - "type":"structure", - "members":{ - "Alias":{ - "shape":"Alias", - "documentation":"

Object that contains the requested alias.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeBuildInput":{ - "type":"structure", - "required":["BuildId"], - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build to retrieve properties for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeBuildOutput":{ - "type":"structure", - "members":{ - "Build":{ - "shape":"Build", - "documentation":"

Set of properties describing the requested build.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeEC2InstanceLimitsInput":{ - "type":"structure", - "members":{ - "EC2InstanceType":{ - "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions. Leave this parameter blank to retrieve limits for all types.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeEC2InstanceLimitsOutput":{ - "type":"structure", - "members":{ - "EC2InstanceLimits":{ - "shape":"EC2InstanceLimitList", - "documentation":"

Object that contains the maximum number of instances for the specified instance type.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeFleetAttributesInput":{ - "type":"structure", - "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Unique identifier for a fleet(s) to retrieve attributes for. To request attributes for all fleets, leave this parameter empty.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeFleetAttributesOutput":{ - "type":"structure", - "members":{ - "FleetAttributes":{ - "shape":"FleetAttributesList", - "documentation":"

Collection of objects containing attribute metadata for each requested fleet ID.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeFleetCapacityInput":{ - "type":"structure", - "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "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", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeFleetCapacityOutput":{ - "type":"structure", - "members":{ - "FleetCapacity":{ - "shape":"FleetCapacityList", - "documentation":"

Collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeFleetEventsInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to get event logs for.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeFleetEventsOutput":{ - "type":"structure", - "members":{ - "Events":{ - "shape":"EventList", - "documentation":"

Collection of objects containing event log entries for the specified fleet.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeFleetPortSettingsInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to retrieve port settings for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeFleetPortSettingsOutput":{ - "type":"structure", - "members":{ - "InboundPermissions":{ - "shape":"IpPermissionsList", - "documentation":"

Object that contains port settings for the requested fleet ID.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeFleetUtilizationInput":{ - "type":"structure", - "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "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", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeFleetUtilizationOutput":{ - "type":"structure", - "members":{ - "FleetUtilization":{ - "shape":"FleetUtilizationList", - "documentation":"

Collection of objects containing utilization information for each requested fleet ID.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeGameSessionDetailsInput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "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.

" - }, - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for an alias associated with the fleet to retrieve all game sessions for.

" - }, - "StatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory).

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeGameSessionDetailsOutput":{ - "type":"structure", - "members":{ - "GameSessionDetails":{ - "shape":"GameSessionDetailList", - "documentation":"

Collection of objects containing game session properties and the protection policy currently in force for each session matching the request.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeGameSessionPlacementInput":{ - "type":"structure", - "required":["PlacementId"], - "members":{ - "PlacementId":{ - "shape":"IdStringModel", - "documentation":"

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 start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeGameSessionQueuesOutput":{ - "type":"structure", - "members":{ - "GameSessionQueues":{ - "shape":"GameSessionQueueList", - "documentation":"

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.

" - }, - "DescribeGameSessionsInput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to retrieve all game sessions for.

" - }, - "GameSessionId":{ - "shape":"ArnStringModel", - "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 an alias associated with the fleet to retrieve all game sessions for.

" - }, - "StatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are transitory).

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeGameSessionsOutput":{ - "type":"structure", - "members":{ - "GameSessions":{ - "shape":"GameSessionList", - "documentation":"

Collection of objects containing game session properties for each session matching the request.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeInstancesInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to retrieve instance information for.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "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", - "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 start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeInstancesOutput":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"InstanceList", - "documentation":"

Collection of objects containing properties for each instance returned.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeMatchmakingConfigurationsInput":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"MatchmakingIdList", - "documentation":"

Unique identifier for a matchmaking configuration(s) to retrieve. To request all existing configurations, leave this parameter empty.

" - }, - "RuleSetName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set. Use this parameter to retrieve all matchmaking configurations that use this rule set.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeMatchmakingConfigurationsOutput":{ - "type":"structure", - "members":{ - "Configurations":{ - "shape":"MatchmakingConfigurationList", - "documentation":"

Collection of requested matchmaking configuration objects.

" - }, - "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.

" - }, - "DescribeMatchmakingInput":{ - "type":"structure", - "required":["TicketIds"], - "members":{ - "TicketIds":{ - "shape":"MatchmakingIdList", - "documentation":"

Unique identifier for a matchmaking ticket. You can include up to 10 ID values.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeMatchmakingOutput":{ - "type":"structure", - "members":{ - "TicketList":{ - "shape":"MatchmakingTicketList", - "documentation":"

Collection of existing matchmaking ticket objects matching the request.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeMatchmakingRuleSetsInput":{ - "type":"structure", - "members":{ - "Names":{ - "shape":"MatchmakingRuleSetNameList", - "documentation":"

Unique identifier for a matchmaking rule set. This name is used to identify the rule set associated with a matchmaking configuration.

" - }, - "Limit":{ - "shape":"RuleSetLimit", - "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 start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeMatchmakingRuleSetsOutput":{ - "type":"structure", - "required":["RuleSets"], - "members":{ - "RuleSets":{ - "shape":"MatchmakingRuleSetList", - "documentation":"

Collection of requested matchmaking rule set objects.

" - }, - "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.

" - }, - "DescribePlayerSessionsInput":{ - "type":"structure", - "members":{ - "GameSessionId":{ - "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to retrieve player sessions for.

" - }, - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player to retrieve player sessions for.

" - }, - "PlayerSessionId":{ - "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session to retrieve.

" - }, - "PlayerSessionStatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Player session status to filter results on.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribePlayerSessionsOutput":{ - "type":"structure", - "members":{ - "PlayerSessions":{ - "shape":"PlayerSessionList", - "documentation":"

Collection of objects containing properties for each player session that matches the request.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeRuntimeConfigurationInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to get the run-time configuration for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeRuntimeConfigurationOutput":{ - "type":"structure", - "members":{ - "RuntimeConfiguration":{ - "shape":"RuntimeConfiguration", - "documentation":"

Instructions describing how server processes should be launched and maintained on each instance in the fleet.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeScalingPoliciesInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to retrieve scaling policies for.

" - }, - "StatusFilter":{ - "shape":"ScalingStatusType", - "documentation":"

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

  • ACTIVE -- The scaling policy is currently in force.

  • UPDATEREQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETEREQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeScalingPoliciesOutput":{ - "type":"structure", - "members":{ - "ScalingPolicies":{ - "shape":"ScalingPolicyList", - "documentation":"

Collection of objects containing the scaling policies matching the request.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DescribeVpcPeeringAuthorizationsInput":{ - "type":"structure", - "members":{ - } - }, - "DescribeVpcPeeringAuthorizationsOutput":{ - "type":"structure", - "members":{ - "VpcPeeringAuthorizations":{ - "shape":"VpcPeeringAuthorizationList", - "documentation":"

Collection of objects that describe all valid VPC peering operations for the current AWS account.

" - } - } - }, - "DescribeVpcPeeringConnectionsInput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeVpcPeeringConnectionsOutput":{ - "type":"structure", - "members":{ - "VpcPeeringConnections":{ - "shape":"VpcPeeringConnectionList", - "documentation":"

Collection of VPC peering connection records that match the request.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "DesiredPlayerSession":{ - "type":"structure", - "members":{ - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

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"}, - "DoubleObject":{"type":"double"}, - "EC2InstanceCounts":{ - "type":"structure", - "members":{ - "DESIRED":{ - "shape":"WholeNumber", - "documentation":"

Ideal number of active instances in the fleet.

" - }, - "MINIMUM":{ - "shape":"WholeNumber", - "documentation":"

Minimum value allowed for the fleet's instance count.

" - }, - "MAXIMUM":{ - "shape":"WholeNumber", - "documentation":"

Maximum value allowed for the fleet's instance count.

" - }, - "PENDING":{ - "shape":"WholeNumber", - "documentation":"

Number of instances in the fleet that are starting but not yet active.

" - }, - "ACTIVE":{ - "shape":"WholeNumber", - "documentation":"

Actual number of active instances in the fleet.

" - }, - "IDLE":{ - "shape":"WholeNumber", - "documentation":"

Number of active instances in the fleet that are not currently hosting a game session.

" - }, - "TERMINATING":{ - "shape":"WholeNumber", - "documentation":"

Number of instances in the fleet that are no longer active but haven't yet been terminated.

" - } - }, - "documentation":"

Current status of fleet capacity. The number of active instances should match or be in the process of matching the number of desired instances. Pending and terminating counts are non-zero only if fleet capacity is adjusting to an UpdateFleetCapacity request, or if access to resources is temporarily affected.

Fleet-related operations include:

" - }, - "EC2InstanceLimit":{ - "type":"structure", - "members":{ - "EC2InstanceType":{ - "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" - }, - "CurrentInstances":{ - "shape":"WholeNumber", - "documentation":"

Number of instances of the specified type that are currently in use by this AWS account.

" - }, - "InstanceLimit":{ - "shape":"WholeNumber", - "documentation":"

Number of instances allowed.

" - } - }, - "documentation":"

Maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.

" - }, - "EC2InstanceLimitList":{ - "type":"list", - "member":{"shape":"EC2InstanceLimit"} - }, - "EC2InstanceType":{ - "type":"string", - "enum":[ - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "r4.large", - "r4.xlarge", - "r4.2xlarge", - "r4.4xlarge", - "r4.8xlarge", - "r4.16xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge" - ] - }, - "Event":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a fleet event.

" - }, - "ResourceId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for an event resource, such as a fleet ID.

" - }, - "EventCode":{ - "shape":"EventCode", - "documentation":"

Type of event being logged. The following events are currently in use:

Fleet creation events:

  • FLEET_CREATED -- A fleet record was successfully created with a status of NEW. Event messaging includes the fleet ID.

  • FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

  • FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance.

  • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's run-time configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the run-time configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.

  • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time configuration failed because the executable specified in a launch path does not exist on the instance.

  • FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.

  • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time configuration failed because the executable specified in a launch path failed to run on the fleet instance.

  • FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.

  • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. A possible reason for failure is that the game server is not reporting \"process ready\" to the Amazon GameLift service.

  • FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

VPC peering events:

  • FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.

  • FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

  • FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted.

Spot instance events:

  • INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification.

Other fleet events:

  • FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

  • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

  • FLEET_DELETED -- A request to delete a fleet was initiated.

  • GENERIC_EVENT -- An unspecified event has occurred.

" - }, - "Message":{ - "shape":"NonEmptyString", - "documentation":"

Additional information related to the event.

" - }, - "EventTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "PreSignedLogUrl":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.

" - } - }, - "documentation":"

Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.

" - }, - "EventCode":{ - "type":"string", - "enum":[ - "GENERIC_EVENT", - "FLEET_CREATED", - "FLEET_DELETED", - "FLEET_SCALING_EVENT", - "FLEET_STATE_DOWNLOADING", - "FLEET_STATE_VALIDATING", - "FLEET_STATE_BUILDING", - "FLEET_STATE_ACTIVATING", - "FLEET_STATE_ACTIVE", - "FLEET_STATE_ERROR", - "FLEET_INITIALIZATION_FAILED", - "FLEET_BINARY_DOWNLOAD_FAILED", - "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND", - "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE", - "FLEET_VALIDATION_TIMED_OUT", - "FLEET_ACTIVATION_FAILED", - "FLEET_ACTIVATION_FAILED_NO_INSTANCES", - "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED", - "SERVER_PROCESS_INVALID_PATH", - "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT", - "SERVER_PROCESS_PROCESS_READY_TIMEOUT", - "SERVER_PROCESS_CRASHED", - "SERVER_PROCESS_TERMINATED_UNHEALTHY", - "SERVER_PROCESS_FORCE_TERMINATED", - "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT", - "GAME_SESSION_ACTIVATION_TIMEOUT", - "FLEET_CREATION_EXTRACTING_BUILD", - "FLEET_CREATION_RUNNING_INSTALLER", - "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG", - "FLEET_VPC_PEERING_SUCCEEDED", - "FLEET_VPC_PEERING_FAILED", - "FLEET_VPC_PEERING_DELETED", - "INSTANCE_INTERRUPTED" - ] - }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"} - }, - "FleetAction":{ - "type":"string", - "enum":["AUTO_SCALING"] - }, - "FleetActionList":{ - "type":"list", - "member":{"shape":"FleetAction"}, - "max":1, - "min":1 - }, - "FleetAttributes":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - }, - "FleetArn":{ - "shape":"ArnStringModel", - "documentation":"

Identifier for a fleet that is unique across all regions.

" - }, - "FleetType":{ - "shape":"FleetType", - "documentation":"

Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.

" - }, - "InstanceType":{ - "shape":"EC2InstanceType", - "documentation":"

EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for detailed descriptions.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of the fleet.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "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 (for example \"1469498468.057\").

" - }, - "TerminationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "Status":{ - "shape":"FleetStatus", - "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW -- A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build 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", - "documentation":"

Unique identifier for a build.

" - }, - "ServerLaunchPath":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" - }, - "ServerLaunchParameters":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Game server launch parameters specified for fleets created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after this date are specified in the fleet's RuntimeConfiguration.

" - }, - "LogPaths":{ - "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" - }, - "NewGameSessionProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Type of game session protection to set for all new instances started in the fleet.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system of the fleet's computing resources. A fleet's operating system depends on the OS specified for the build that is deployed on this fleet.

" - }, - "ResourceCreationLimitPolicy":{ - "shape":"ResourceCreationLimitPolicy", - "documentation":"

Fleet policy to limit the number of game sessions an individual player can create over a span of time.

" - }, - "MetricGroups":{ - "shape":"MetricGroupList", - "documentation":"

Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.

" - }, - "StoppedActions":{ - "shape":"FleetActionList", - "documentation":"

List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling.

" - } - }, - "documentation":"

General properties describing a fleet.

Fleet-related operations include:

" - }, - "FleetAttributesList":{ - "type":"list", - "member":{"shape":"FleetAttributes"} - }, - "FleetCapacity":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - }, - "InstanceType":{ - "shape":"EC2InstanceType", - "documentation":"

Name of an EC2 instance type that is supported in Amazon GameLift. A fleet instance type determines the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" - }, - "InstanceCounts":{ - "shape":"EC2InstanceCounts", - "documentation":"

Current status of fleet capacity.

" - } - }, - "documentation":"

Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

Fleet-related operations include:

" - }, - "FleetCapacityExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The specified fleet has no available instances to fulfill a CreateGameSession request. Clients can retry such requests immediately or after a waiting period.

", - "exception":true - }, - "FleetCapacityList":{ - "type":"list", - "member":{"shape":"FleetCapacity"} - }, - "FleetId":{ - "type":"string", - "pattern":"^fleet-\\S+" - }, - "FleetIdList":{ - "type":"list", - "member":{"shape":"FleetId"}, - "min":1 - }, - "FleetStatus":{ - "type":"string", - "enum":[ - "NEW", - "DOWNLOADING", - "VALIDATING", - "BUILDING", - "ACTIVATING", - "ACTIVE", - "DELETING", - "ERROR", - "TERMINATED" - ] - }, - "FleetType":{ - "type":"string", - "enum":[ - "ON_DEMAND", - "SPOT" - ] - }, - "FleetUtilization":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - }, - "ActiveServerProcessCount":{ - "shape":"WholeNumber", - "documentation":"

Number of server processes in an ACTIVE status currently running across all instances in the fleet

" - }, - "ActiveGameSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of active game sessions currently being hosted on all instances in the fleet.

" - }, - "CurrentPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of active player sessions currently being hosted on all instances in the fleet.

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Maximum players allowed across all game sessions currently being hosted on all instances in the fleet.

" - } - }, - "documentation":"

Current status of fleet utilization, including the number of game and player sessions being hosted.

Fleet-related operations include:

" - }, - "FleetUtilizationList":{ - "type":"list", - "member":{"shape":"FleetUtilization"} - }, - "Float":{"type":"float"}, - "FreeText":{"type":"string"}, - "GameProperty":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"GamePropertyKey", - "documentation":"

Game property identifier.

" - }, - "Value":{ - "shape":"GamePropertyValue", - "documentation":"

Game property value.

" - } - }, - "documentation":"

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session, such as to specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session; the server process uses the properties as appropriate. For more information, see the Amazon GameLift Developer Guide.

" - }, - "GamePropertyKey":{ - "type":"string", - "max":32 - }, - "GamePropertyList":{ - "type":"list", - "member":{"shape":"GameProperty"}, - "max":16 - }, - "GamePropertyValue":{ - "type":"string", - "max":96 - }, - "GameSession":{ - "type":"structure", - "members":{ - "GameSessionId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the game session. A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

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 that 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 (for example \"1469498468.057\").

" - }, - "TerminationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "CurrentPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of players currently in the game session.

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" - }, - "Status":{ - "shape":"GameSessionStatus", - "documentation":"

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

" - }, - "StatusReason":{ - "shape":"GameSessionStatusReason", - "documentation":"

Provides additional information about game session status. INTERRUPTED indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data with SearchGameSessions.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address of the 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 Amazon GameLift game server, an app needs both the IP address and port number.

" - }, - "PlayerSessionCreationPolicy":{ - "shape":"PlayerSessionCreationPolicy", - "documentation":"

Indicates whether or not the game session is accepting new players.

" - }, - "CreatorId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

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.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - }, - "MatchmakerData":{ - "shape":"MatchmakerData", - "documentation":"

Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

" - } - }, - "documentation":"

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

Game-session-related operations include:

" - }, - "GameSessionActivationTimeoutSeconds":{ - "type":"integer", - "max":600, - "min":1 - }, - "GameSessionConnectionInfo":{ - "type":"structure", - "members":{ - "GameSessionArn":{ - "shape":"ArnStringModel", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" - }, - "IpAddress":{ - "shape":"StringModel", - "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":"PositiveInteger", - "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" - }, - "MatchedPlayerSessions":{ - "shape":"MatchedPlayerSessionList", - "documentation":"

Collection of player session IDs, one for each player ID that was included in the original matchmaking request.

" - } - }, - "documentation":"

Connection information for the new game session that is created with matchmaking. (with StartMatchmaking). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

" - }, - "GameSessionData":{ - "type":"string", - "max":4096, - "min":1 - }, - "GameSessionDetail":{ - "type":"structure", - "members":{ - "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 plus the protection policy currently in force.

" - }, - "GameSessionDetailList":{ - "type":"list", - "member":{"shape":"GameSessionDetail"} - }, - "GameSessionFullException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The game instance is currently full and cannot allow the requested player(s) to join. Clients can retry such requests immediately or after a waiting period.

", - "exception":true - }, - "GameSessionList":{ - "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 game session queue. Queue names must be unique within each region.

" - }, - "Status":{ - "shape":"GameSessionPlacementState", - "documentation":"

Current status of the game session placement request.

  • PENDING -- The placement request is currently in the queue waiting to be processed.

  • FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values for GameSessionArn and GameSessionRegion are available.

  • CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.

  • TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

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 a player experiences when connected to AWS regions.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this request was completed, canceled, or timed out.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address of the 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.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - }, - "MatchmakerData":{ - "shape":"MatchmakerData", - "documentation":"

Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data.

" - } - }, - "documentation":"

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 game session 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:

" - }, - "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.

Queue-related operations include:

" - }, - "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":[ - "ACTIVE", - "ACTIVATING", - "TERMINATED", - "TERMINATING", - "ERROR" - ] - }, - "GameSessionStatusReason":{ - "type":"string", - "enum":["INTERRUPTED"] - }, - "GetGameSessionLogUrlInput":{ - "type":"structure", - "required":["GameSessionId"], - "members":{ - "GameSessionId":{ - "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to get logs for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "GetGameSessionLogUrlOutput":{ - "type":"structure", - "members":{ - "PreSignedUrl":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Location of the requested game session logs, available for download.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "GetInstanceAccessInput":{ - "type":"structure", - "required":[ - "FleetId", - "InstanceId" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "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 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 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", - "max":48, - "min":1, - "pattern":"[a-zA-Z0-9-]+" - }, - "IdempotentParameterMismatchException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

A game session with this custom ID string already exists in this fleet. Resolve this conflict before retrying this request.

", - "exception":true - }, - "Instance":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that the instance is in.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

Unique identifier for an instance.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address assigned to the instance.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system that is running on this instance.

" - }, - "Type":{ - "shape":"EC2InstanceType", - "documentation":"

EC2 instance type that defines the computing resources of this instance.

" - }, - "Status":{ - "shape":"InstanceStatus", - "documentation":"

Current status of the instance. Possible statuses include the following:

  • PENDING -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration.

  • ACTIVE -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - } - }, - "documentation":"

Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.

" - }, - "InstanceAccess":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet containing the instance being accessed.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

Unique identifier for an instance being accessed.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address assigned to the instance.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system that is running on the instance.

" - }, - "Credentials":{ - "shape":"InstanceCredentials", - "documentation":"

Credentials required to access the instance.

" - } - }, - "documentation":"

Information required to remotely connect to a fleet instance. Access is requested by calling GetInstanceAccess.

" - }, - "InstanceCredentials":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"NonEmptyString", - "documentation":"

User login string.

" - }, - "Secret":{ - "shape":"NonEmptyString", - "documentation":"

Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a .pem file) for use with SSH.

" - } - }, - "documentation":"

Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling GetInstanceAccess and returned in an InstanceAccess object.

", - "sensitive":true - }, - "InstanceId":{ - "type":"string", - "pattern":"[a-zA-Z0-9\\.-]+" - }, - "InstanceList":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InstanceStatus":{ - "type":"string", - "enum":[ - "PENDING", - "ACTIVE", - "TERMINATING" - ] - }, - "Integer":{"type":"integer"}, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The service encountered an unrecoverable internal failure while processing the request. Clients can retry such requests immediately or after a waiting period.

", - "exception":true, - "fault":true - }, - "InvalidFleetStatusException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the fleet. Resolve the conflict before retrying.

", - "exception":true - }, - "InvalidGameSessionStatusException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation would cause a conflict with the current state of a resource associated with the request and/or the game instance. Resolve the conflict before retrying.

", - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.

", - "exception":true - }, - "IpAddress":{"type":"string"}, - "IpPermission":{ - "type":"structure", - "required":[ - "FromPort", - "ToPort", - "IpRange", - "Protocol" - ], - "members":{ - "FromPort":{ - "shape":"PortNumber", - "documentation":"

Starting value for a range of allowed port numbers.

" - }, - "ToPort":{ - "shape":"PortNumber", - "documentation":"

Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.

" - }, - "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]\".

" - }, - "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 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", - "member":{"shape":"IpPermission"}, - "max":50 - }, - "IpProtocol":{ - "type":"string", - "enum":[ - "TCP", - "UDP" - ] - }, - "LatencyMap":{ - "type":"map", - "key":{"shape":"NonEmptyString"}, - "value":{"shape":"PositiveInteger"} - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

", - "exception":true - }, - "ListAliasesInput":{ - "type":"structure", - "members":{ - "RoutingStrategyType":{ - "shape":"RoutingStrategyType", - "documentation":"

Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

  • SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" - }, - "Name":{ - "shape":"NonEmptyString", - "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "ListAliasesOutput":{ - "type":"structure", - "members":{ - "Aliases":{ - "shape":"AliasList", - "documentation":"

Collection of alias records that match the list request.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ListBuildsInput":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"BuildStatus", - "documentation":"

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "ListBuildsOutput":{ - "type":"structure", - "members":{ - "Builds":{ - "shape":"BuildList", - "documentation":"

Collection of build records that match the request.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ListFleetsInput":{ - "type":"structure", - "members":{ - "BuildId":{ - "shape":"BuildId", - "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", - "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 start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "ListFleetsOutput":{ - "type":"structure", - "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, or DescribeFleetUtilization.

" - }, - "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.

" - }, - "MatchedPlayerSession":{ - "type":"structure", - "members":{ - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player

" - }, - "PlayerSessionId":{ - "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session

" - } - }, - "documentation":"

Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.

When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.

" - }, - "MatchedPlayerSessionList":{ - "type":"list", - "member":{"shape":"MatchedPlayerSession"} - }, - "MatchmakerData":{ - "type":"string", - "max":390000, - "min":1 - }, - "MatchmakingAcceptanceTimeoutInteger":{ - "type":"integer", - "max":600, - "min":1 - }, - "MatchmakingConfiguration":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with matchmaking configuration.

" - }, - "GameSessionQueueArns":{ - "shape":"QueueArnsList", - "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. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" - }, - "RequestTimeoutSeconds":{ - "shape":"MatchmakingRequestTimeoutInteger", - "documentation":"

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

" - }, - "AcceptanceTimeoutSeconds":{ - "shape":"MatchmakingAcceptanceTimeoutInteger", - "documentation":"

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" - }, - "AcceptanceRequired":{ - "shape":"BooleanModel", - "documentation":"

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" - }, - "RuleSetName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

" - }, - "NotificationTarget":{ - "shape":"SnsArnStringModel", - "documentation":"

SNS topic ARN that is set up to receive matchmaking notifications.

" - }, - "AdditionalPlayerCount":{ - "shape":"WholeNumber", - "documentation":"

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

" - }, - "CustomEventData":{ - "shape":"CustomEventData", - "documentation":"

Information to attached to all events related to the matchmaking configuration.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - } - }, - "documentation":"

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

" - }, - "MatchmakingConfigurationList":{ - "type":"list", - "member":{"shape":"MatchmakingConfiguration"} - }, - "MatchmakingConfigurationStatus":{ - "type":"string", - "enum":[ - "CANCELLED", - "COMPLETED", - "FAILED", - "PLACING", - "QUEUED", - "REQUIRES_ACCEPTANCE", - "SEARCHING", - "TIMED_OUT" - ] - }, - "MatchmakingIdList":{ - "type":"list", - "member":{"shape":"MatchmakingIdStringModel"} - }, - "MatchmakingIdStringModel":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9-\\.]+" - }, - "MatchmakingRequestTimeoutInteger":{ - "type":"integer", - "max":43200, - "min":1 - }, - "MatchmakingRuleSet":{ - "type":"structure", - "required":["RuleSetBody"], - "members":{ - "RuleSetName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set

" - }, - "RuleSetBody":{ - "shape":"RuleSetBody", - "documentation":"

Collection of matchmaking rules, formatted as a JSON string. (Note that comments14 are not allowed in JSON, but most elements support a description field.)

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - } - }, - "documentation":"

Set of rule statements, used with FlexMatch, that determine how to build a certain kind of player match. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Build a FlexMatch Rule Set.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

" - }, - "MatchmakingRuleSetList":{ - "type":"list", - "member":{"shape":"MatchmakingRuleSet"} - }, - "MatchmakingRuleSetNameList":{ - "type":"list", - "member":{"shape":"MatchmakingIdStringModel"}, - "max":10, - "min":1 - }, - "MatchmakingTicket":{ - "type":"structure", - "members":{ - "TicketId":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking ticket.

" - }, - "ConfigurationName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.

" - }, - "Status":{ - "shape":"MatchmakingConfigurationStatus", - "documentation":"

Current status of the matchmaking request.

  • QUEUED -- The matchmaking request has been received and is currently waiting to be processed.

  • SEARCHING -- The matchmaking request is currently being processed.

  • REQUIRES_ACCEPTANCE -- A match has been proposed and the players must accept the match (see AcceptMatch). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.

  • PLACING -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.

  • COMPLETED -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.

  • FAILED -- The matchmaking request was not completed. Tickets with players who fail to accept a proposed match are placed in FAILED status.

  • CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking.

  • TIMED_OUT -- The matchmaking request was not successful within the duration specified in the matchmaking configuration.

Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.

" - }, - "StatusReason":{ - "shape":"StringModel", - "documentation":"

Code to explain the current status. For example, a status reason may indicate when a ticket has returned to SEARCHING status after a proposed match fails to receive player acceptances.

" - }, - "StatusMessage":{ - "shape":"StringModel", - "documentation":"

Additional information about the current status.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this matchmaking request stopped being processed due to success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "Players":{ - "shape":"PlayerList", - "documentation":"

A set of Player objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status COMPLETED, the Player objects include the team the players were assigned to in the resulting match.

" - }, - "GameSessionConnectionInfo":{ - "shape":"GameSessionConnectionInfo", - "documentation":"

Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.

" - }, - "EstimatedWaitTime":{ - "shape":"WholeNumber", - "documentation":"

Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.

" - } - }, - "documentation":"

Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with StartMatchmaking. Tickets can be retrieved by calling DescribeMatchmaking with the ticket ID.

" - }, - "MatchmakingTicketList":{ - "type":"list", - "member":{"shape":"MatchmakingTicket"} - }, - "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", - "PercentAvailableGameSessions", - "PercentIdleInstances", - "QueueDepth", - "WaitTime" - ] - }, - "NonBlankAndLengthConstraintString":{ - "type":"string", - "max":1024, - "min":1, - "pattern":".*\\S.*" - }, - "NonBlankString":{ - "type":"string", - "pattern":"[^\\s]+" - }, - "NonEmptyString":{ - "type":"string", - "min":1 - }, - "NonZeroAndMaxString":{ - "type":"string", - "max":1024, - "min":1 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests.

", - "exception":true - }, - "OperatingSystem":{ - "type":"string", - "enum":[ - "WINDOWS_2012", - "AMAZON_LINUX" - ] - }, - "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.

Player-session-related operations include:

" - }, - "PlacedPlayerSessionList":{ - "type":"list", - "member":{"shape":"PlacedPlayerSession"} - }, - "Player":{ - "type":"structure", - "members":{ - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player

" - }, - "PlayerAttributes":{ - "shape":"PlayerAttributeMap", - "documentation":"

Collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the playerAttributes used in a matchmaking rule set. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"}, \"gameMode\": {\"S\": \"deathmatch\"}}.

" - }, - "Team":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.

" - }, - "LatencyInMs":{ - "shape":"LatencyMap", - "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS regions. If this property is present, FlexMatch considers placing the match only in regions for which latency is reported.

If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no regions are available to the player and the ticket is not matchable.

" - } - }, - "documentation":"

Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.

" - }, - "PlayerAttributeMap":{ - "type":"map", - "key":{"shape":"NonZeroAndMaxString"}, - "value":{"shape":"AttributeValue"} - }, - "PlayerData":{ - "type":"string", - "max":2048, - "min":1 - }, - "PlayerDataMap":{ - "type":"map", - "key":{"shape":"NonZeroAndMaxString"}, - "value":{"shape":"PlayerData"} - }, - "PlayerIdList":{ - "type":"list", - "member":{"shape":"NonZeroAndMaxString"}, - "max":25, - "min":1 - }, - "PlayerLatency":{ - "type":"structure", - "members":{ - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

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.

Queue-related operations include:

" - }, - "PlayerLatencyPolicyList":{ - "type":"list", - "member":{"shape":"PlayerLatencyPolicy"} - }, - "PlayerList":{ - "type":"list", - "member":{"shape":"Player"} - }, - "PlayerSession":{ - "type":"structure", - "members":{ - "PlayerSessionId":{ - "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session.

" - }, - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player that is associated with this player session.

" - }, - "GameSessionId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the game session that the player session is connected to.

" - }, - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet 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 (for example \"1469498468.057\").

" - }, - "TerminationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "Status":{ - "shape":"PlayerSessionStatus", - "documentation":"

Current status of the player session.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address of the game session. To connect to a 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 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. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

Player-session-related operations include:

" - }, - "PlayerSessionCreationPolicy":{ - "type":"string", - "enum":[ - "ACCEPT_ALL", - "DENY_ALL" - ] - }, - "PlayerSessionId":{ - "type":"string", - "pattern":"^psess-\\S+" - }, - "PlayerSessionList":{ - "type":"list", - "member":{"shape":"PlayerSession"} - }, - "PlayerSessionStatus":{ - "type":"string", - "enum":[ - "RESERVED", - "ACTIVE", - "COMPLETED", - "TIMEDOUT" - ] - }, - "PolicyType":{ - "type":"string", - "enum":[ - "RuleBased", - "TargetBased" - ] - }, - "PortNumber":{ - "type":"integer", - "max":60000, - "min":1 - }, - "PositiveInteger":{ - "type":"integer", - "min":1 - }, - "PositiveLong":{ - "type":"long", - "min":1 - }, - "ProtectionPolicy":{ - "type":"string", - "enum":[ - "NoProtection", - "FullProtection" - ] - }, - "PutScalingPolicyInput":{ - "type":"structure", - "required":[ - "Name", - "FleetId", - "MetricName" - ], - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "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 identifier for a fleet to apply this policy to. The fleet cannot be in any of the following statuses: ERROR or DELETING.

" - }, - "ScalingAdjustment":{ - "shape":"Integer", - "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" - }, - "ScalingAdjustmentType":{ - "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%.

" - }, - "Threshold":{ - "shape":"Double", - "documentation":"

Metric value used to trigger a scaling event.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring the metric against the threshold value.

" - }, - "EvaluationPeriods":{ - "shape":"PositiveInteger", - "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

Type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.

" - }, - "TargetConfiguration":{ - "shape":"TargetConfiguration", - "documentation":"

Object that contains settings for a target-based scaling policy.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "PutScalingPolicyOutput":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "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.

" - }, - "QueueArnsList":{ - "type":"list", - "member":{"shape":"ArnStringModel"} - }, - "RequestUploadCredentialsInput":{ - "type":"structure", - "required":["BuildId"], - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build to get credentials for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "RequestUploadCredentialsOutput":{ - "type":"structure", - "members":{ - "UploadCredentials":{ - "shape":"AwsCredentials", - "documentation":"

AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for.

" - }, - "StorageLocation":{ - "shape":"S3Location", - "documentation":"

Amazon S3 path and key, identifying where the game build files are stored.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ResolveAliasInput":{ - "type":"structure", - "required":["AliasId"], - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for the alias you want to resolve.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "ResolveAliasOutput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Fleet identifier that is associated with the requested alias.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ResourceCreationLimitPolicy":{ - "type":"structure", - "members":{ - "NewGameSessionsPerCreator":{ - "shape":"WholeNumber", - "documentation":"

Maximum number of game sessions that an individual can create during the policy period.

" - }, - "PolicyPeriodInMinutes":{ - "shape":"WholeNumber", - "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, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

" - }, - "RoutingStrategy":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"RoutingStrategyType", - "documentation":"

Type of routing strategy.

Possible routing types include the following:

  • SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" - }, - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that the alias points to.

" - }, - "Message":{ - "shape":"FreeText", - "documentation":"

Message text to be used with a terminal routing strategy.

" - } - }, - "documentation":"

Routing configuration for a fleet alias.

Fleet-related operations include:

" - }, - "RoutingStrategyType":{ - "type":"string", - "enum":[ - "SIMPLE", - "TERMINAL" - ] - }, - "RuleSetBody":{ - "type":"string", - "max":65535, - "min":1 - }, - "RuleSetLimit":{ - "type":"integer", - "max":10, - "min":1 - }, - "RuntimeConfiguration":{ - "type":"structure", - "members":{ - "ServerProcesses":{ - "shape":"ServerProcessList", - "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":"

A collection of server process configurations that describe what processes to run on each instance in a fleet. All fleets must have a run-time configuration. Each instance in the fleet launches the server processes specified in the run-time configuration and launches new ones as existing processes end. Each instance regularly checks for an updated run-time configuration and follows the new instructions.

The run-time configuration enables the instances in a fleet to run multiple processes simultaneously. Potential scenarios are as follows: (1) Run multiple processes of a single game server executable to maximize usage of your hosting resources. (2) Run one or more processes of different build executables, such as your game server executable and a related program, or two or more different versions of a game server. (3) Run multiple processes of a single game server but with different launch parameters, for example to run one process on each instance in debug mode.

A Amazon GameLift instance is limited to 50 processes running simultaneously. A run-time configuration must specify fewer than this limit. To calculate the total number of processes specified in a run-time configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object in the run-time configuration.

Fleet-related operations include:

" - }, - "S3Location":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket identifier. This is the name of your S3 bucket.

" - }, - "Key":{ - "shape":"NonEmptyString", - "documentation":"

Name of the zip file containing your build files.

" - }, - "RoleArn":{ - "shape":"NonEmptyString", - "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 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", - "enum":[ - "ChangeInCapacity", - "ExactCapacity", - "PercentChangeInCapacity" - ] - }, - "ScalingPolicy":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that is associated with this scaling policy.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" - }, - "Status":{ - "shape":"ScalingStatusType", - "documentation":"

Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets (see StopFleetActions; if suspended for a fleet, the policy status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

  • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

  • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" - }, - "ScalingAdjustment":{ - "shape":"Integer", - "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" - }, - "ScalingAdjustmentType":{ - "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring a metric against the threshold value.

" - }, - "Threshold":{ - "shape":"Double", - "documentation":"

Metric value used to trigger a scaling event.

" - }, - "EvaluationPeriods":{ - "shape":"PositiveInteger", - "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" - }, - "PolicyType":{ - "shape":"PolicyType", - "documentation":"

Type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.

" - }, - "TargetConfiguration":{ - "shape":"TargetConfiguration", - "documentation":"

Object that contains settings for a target-based scaling policy.

" - } - }, - "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

Operations related to fleet capacity scaling include:

" - }, - "ScalingPolicyList":{ - "type":"list", - "member":{"shape":"ScalingPolicy"} - }, - "ScalingStatusType":{ - "type":"string", - "enum":[ - "ACTIVE", - "UPDATE_REQUESTED", - "UPDATING", - "DELETE_REQUESTED", - "DELETING", - "DELETED", - "ERROR" - ] - }, - "SearchGameSessionsInput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "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 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, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

To chain multiple conditions in a single expression, use the logical keywords AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT z, NOT (x OR y).

Session search evaluates conditions from left to right using the following precedence rules:

  1. =, <>, <, >, <=, >=

  2. Parentheses

  3. NOT

  4. AND

  5. OR

For example, this filter expression retrieves game sessions hosting at least ten players that have an open player slot: \"maximumSessions>=10 AND hasAvailablePlayerSessions=true\".

" - }, - "SortExpression":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Instructions on how to sort the search results. If no sort expression is included, the request returns results in random order. A sort expression consists of the following elements:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions.

  • Order -- Valid sort orders are ASC (ascending) and DESC (descending).

For example, this sort expression returns the oldest active sessions first: \"SortExpression\": \"creationTimeMillis ASC\". Results with a null value for the sort operand are returned at the end of the list.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "SearchGameSessionsOutput":{ - "type":"structure", - "members":{ - "GameSessions":{ - "shape":"GameSessionList", - "documentation":"

Collection of objects containing game session properties for each session matching the request.

" - }, - "NextToken":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Token that indicates where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ServerProcess":{ - "type":"structure", - "required":[ - "LaunchPath", - "ConcurrentExecutions" - ], - "members":{ - "LaunchPath":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Location of the server executable in a game build. All game builds are installed on instances at the root : for Windows instances C:\\game, and for Linux instances /local/game. A Windows game build with an executable file located at MyGame\\latest\\server.exe must have a launch path of \"C:\\game\\MyGame\\latest\\server.exe\". A Linux game build with an executable file located at MyGame/latest/server.exe must have a launch path of \"/local/game/MyGame/latest/server.exe\".

" - }, - "Parameters":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Optional list of parameters to pass to the server executable on launch.

" - }, - "ConcurrentExecutions":{ - "shape":"PositiveInteger", - "documentation":"

Number of server processes using this configuration to run concurrently on an instance.

" - } - }, - "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Each instruction set identifies the location of the server executable, optional launch parameters, and the number of server processes with this configuration to maintain concurrently on the instance. Server process configurations make up a fleet's RuntimeConfiguration .

" - }, - "ServerProcessList":{ - "type":"list", - "member":{"shape":"ServerProcess"}, - "max":50, - "min":1 - }, - "SnsArnStringModel":{ - "type":"string", - "max":300, - "min":0, - "pattern":"[a-zA-Z0-9:_/-]*" - }, - "StartFleetActionsInput":{ - "type":"structure", - "required":[ - "FleetId", - "Actions" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet

" - }, - "Actions":{ - "shape":"FleetActionList", - "documentation":"

List of actions to restart on the fleet.

" - } - } - }, - "StartFleetActionsOutput":{ - "type":"structure", - "members":{ - } - }, - "StartGameSessionPlacementInput":{ - "type":"structure", - "required":[ - "PlacementId", - "GameSessionQueueName", - "MaximumPlayerSessionCount" - ], - "members":{ - "PlacementId":{ - "shape":"IdStringModel", - "documentation":"

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 custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

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 a player experiences when connected to AWS regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.

" - }, - "DesiredPlayerSessions":{ - "shape":"DesiredPlayerSessionList", - "documentation":"

Set of information on each player to create a player session for.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "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.

" - }, - "StartMatchBackfillInput":{ - "type":"structure", - "required":[ - "ConfigurationName", - "GameSessionArn", - "Players" - ], - "members":{ - "TicketId":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results.

" - }, - "ConfigurationName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Name of the matchmaker to use for this request. The name of the matchmaker that was used with the original game session is listed in the GameSession object, MatchmakerData property. This property contains a matchmaking configuration ARN value, which includes the matchmaker name. (In the ARN value \"arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4\", the matchmaking configuration name is \"MM-4v4\".) Use only the name for this parameter.

" - }, - "GameSessionArn":{ - "shape":"ArnStringModel", - "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" - }, - "Players":{ - "shape":"PlayerList", - "documentation":"

Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.

  • PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data.

  • LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the region that the game session is currently in. Do not include latency values for any other region.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "StartMatchBackfillOutput":{ - "type":"structure", - "members":{ - "MatchmakingTicket":{ - "shape":"MatchmakingTicket", - "documentation":"

Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "StartMatchmakingInput":{ - "type":"structure", - "required":[ - "ConfigurationName", - "Players" - ], - "members":{ - "TicketId":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results.

" - }, - "ConfigurationName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same region as this request.

" - }, - "Players":{ - "shape":"PlayerList", - "documentation":"

Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, Player objects contain the name of the team the player is assigned to.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "StartMatchmakingOutput":{ - "type":"structure", - "members":{ - "MatchmakingTicket":{ - "shape":"MatchmakingTicket", - "documentation":"

Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "StopFleetActionsInput":{ - "type":"structure", - "required":[ - "FleetId", - "Actions" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet

" - }, - "Actions":{ - "shape":"FleetActionList", - "documentation":"

List of actions to suspend on the fleet.

" - } - } - }, - "StopFleetActionsOutput":{ - "type":"structure", - "members":{ - } - }, - "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.

" - }, - "StopMatchmakingInput":{ - "type":"structure", - "required":["TicketId"], - "members":{ - "TicketId":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking ticket.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "StopMatchmakingOutput":{ - "type":"structure", - "members":{ - } - }, - "StringDoubleMap":{ - "type":"map", - "key":{"shape":"NonZeroAndMaxString"}, - "value":{"shape":"DoubleObject"} - }, - "StringList":{ - "type":"list", - "member":{"shape":"NonZeroAndMaxString"} - }, - "StringModel":{"type":"string"}, - "TargetConfiguration":{ - "type":"structure", - "required":["TargetValue"], - "members":{ - "TargetValue":{ - "shape":"Double", - "documentation":"

Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).

" - } - }, - "documentation":"

Settings for a target-based scaling policy (see ScalingPolicy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.

Operations related to fleet capacity scaling include:

" - }, - "TerminalRoutingStrategyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The service is unable to resolve the routing for a particular alias because it has a terminal RoutingStrategy associated with it. The message returned in this exception is the message defined in the routing strategy itself. Such requests should only be retried if the routing strategy for the specified alias is modified.

", - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The client failed authentication. Clients should not retry such requests.

", - "exception":true - }, - "UnsupportedRegionException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation is not supported in the region specified.

", - "exception":true - }, - "UpdateAliasInput":{ - "type":"structure", - "required":["AliasId"], - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to update.

" - }, - "Name":{ - "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label that is associated with an alias. Alias names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of an alias.

" - }, - "RoutingStrategy":{ - "shape":"RoutingStrategy", - "documentation":"

Object that specifies the fleet and routing type to use for the alias.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateAliasOutput":{ - "type":"structure", - "members":{ - "Alias":{ - "shape":"Alias", - "documentation":"

Object that contains the updated alias configuration.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateBuildInput":{ - "type":"structure", - "required":["BuildId"], - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build to update.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a build. Build names do not need to be unique.

" - }, - "Version":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Version that is associated with this build. Version strings do not need to be unique.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateBuildOutput":{ - "type":"structure", - "members":{ - "Build":{ - "shape":"Build", - "documentation":"

Object that contains the updated build record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateFleetAttributesInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to update attribute metadata for.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of a fleet.

" - }, - "NewGameSessionProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to all new instances created in this fleet. Instances that already exist are not affected. You can set protection for individual instances using UpdateGameSession.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" - }, - "ResourceCreationLimitPolicy":{ - "shape":"ResourceCreationLimitPolicy", - "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time.

" - }, - "MetricGroups":{ - "shape":"MetricGroupList", - "documentation":"

Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet metric group is to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateFleetAttributesOutput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that was updated.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateFleetCapacityInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to update capacity for.

" - }, - "DesiredInstances":{ - "shape":"WholeNumber", - "documentation":"

Number of EC2 instances you want this fleet to host.

" - }, - "MinSize":{ - "shape":"WholeNumber", - "documentation":"

Minimum value allowed for the fleet's instance count. Default if not set is 0.

" - }, - "MaxSize":{ - "shape":"WholeNumber", - "documentation":"

Maximum value allowed for the fleet's instance count. Default if not set is 1.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateFleetCapacityOutput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that was updated.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateFleetPortSettingsInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to update port settings for.

" - }, - "InboundPermissionAuthorizations":{ - "shape":"IpPermissionsList", - "documentation":"

Collection of port settings to be added to the fleet record.

" - }, - "InboundPermissionRevocations":{ - "shape":"IpPermissionsList", - "documentation":"

Collection of port settings to be removed from the fleet record.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateFleetPortSettingsOutput":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet that was updated.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateGameSessionInput":{ - "type":"structure", - "required":["GameSessionId"], - "members":{ - "GameSessionId":{ - "shape":"ArnStringModel", - "documentation":"

Unique identifier for the game session to update.

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with a game session. Session names do not need to be unique.

" - }, - "PlayerSessionCreationPolicy":{ - "shape":"PlayerSessionCreationPolicy", - "documentation":"

Policy determining whether or not the game session accepts new players.

" - }, - "ProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to this game session only.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateGameSessionOutput":{ - "type":"structure", - "members":{ - "GameSession":{ - "shape":"GameSession", - "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 game session 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.

" - }, - "UpdateMatchmakingConfigurationInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking configuration to update.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label that is associated with matchmaking configuration.

" - }, - "GameSessionQueueArns":{ - "shape":"QueueArnsList", - "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. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any region.

" - }, - "RequestTimeoutSeconds":{ - "shape":"MatchmakingRequestTimeoutInteger", - "documentation":"

Maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that time out can be resubmitted as needed.

" - }, - "AcceptanceTimeoutSeconds":{ - "shape":"MatchmakingAcceptanceTimeoutInteger", - "documentation":"

Length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" - }, - "AcceptanceRequired":{ - "shape":"BooleanModel", - "documentation":"

Flag that determines whether or not a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" - }, - "RuleSetName":{ - "shape":"MatchmakingIdStringModel", - "documentation":"

Unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same region.

" - }, - "NotificationTarget":{ - "shape":"SnsArnStringModel", - "documentation":"

SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" - }, - "AdditionalPlayerCount":{ - "shape":"WholeNumber", - "documentation":"

Number of player slots in a match to keep open for future players. For example, if the configuration's rule set specifies a match for a single 12-person team, and the additional player count is set to 2, only 10 players are selected for the match.

" - }, - "CustomEventData":{ - "shape":"CustomEventData", - "documentation":"

Information to attached to all events related to the matchmaking configuration.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - }, - "GameSessionData":{ - "shape":"GameSessionData", - "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateMatchmakingConfigurationOutput":{ - "type":"structure", - "members":{ - "Configuration":{ - "shape":"MatchmakingConfiguration", - "documentation":"

Object that describes the updated matchmaking configuration.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "UpdateRuntimeConfigurationInput":{ - "type":"structure", - "required":[ - "FleetId", - "RuntimeConfiguration" - ], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet to update run-time configuration for.

" - }, - "RuntimeConfiguration":{ - "shape":"RuntimeConfiguration", - "documentation":"

Instructions for launching server processes on each instance in the fleet. The run-time configuration for a fleet has a collection of server process configurations, one for each type of server process to run on an instance. A server process configuration specifies the location of the server executable, launch parameters, and the number of concurrent processes with that configuration to maintain on each instance.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "UpdateRuntimeConfigurationOutput":{ - "type":"structure", - "members":{ - "RuntimeConfiguration":{ - "shape":"RuntimeConfiguration", - "documentation":"

The run-time configuration currently in force. If the update was successful, this object matches the one in the request.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "ValidateMatchmakingRuleSetInput":{ - "type":"structure", - "required":["RuleSetBody"], - "members":{ - "RuleSetBody":{ - "shape":"RuleSetBody", - "documentation":"

Collection of matchmaking rules to validate, formatted as a JSON string.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "ValidateMatchmakingRuleSetOutput":{ - "type":"structure", - "members":{ - "Valid":{ - "shape":"BooleanModel", - "documentation":"

Response indicating whether or not the rule set is valid.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" - }, - "VpcPeeringAuthorization":{ - "type":"structure", - "members":{ - "GameLiftAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" - }, - "PeerVpcAwsAccountId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - }, - "ExpirationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" - } - }, - "documentation":"

Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.

VPC peering connection operations include:

" - }, - "VpcPeeringAuthorizationList":{ - "type":"list", - "member":{"shape":"VpcPeeringAuthorization"} - }, - "VpcPeeringConnection":{ - "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

" - }, - "IpV4CidrBlock":{ - "shape":"NonZeroAndMaxString", - "documentation":"

CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.

" - }, - "VpcPeeringConnectionId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with DeleteVpcPeeringConnection.

" - }, - "Status":{ - "shape":"VpcPeeringConnectionStatus", - "documentation":"

Object that contains status information about the connection. Status indicates if a connection is pending, successful, or failed.

" - }, - "PeerVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same region where your fleet is deployed. To get VPC information, including IDs, use the Virtual Private Cloud service tools, including the VPC Dashboard in the AWS Management Console.

" - }, - "GameLiftVpcId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.

" - } - }, - "documentation":"

Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.

VPC peering connection operations include:

" - }, - "VpcPeeringConnectionList":{ - "type":"list", - "member":{"shape":"VpcPeeringConnection"} - }, - "VpcPeeringConnectionStatus":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Code indicating the status of a VPC peering connection.

" - }, - "Message":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Additional messaging associated with the connection status.

" - } - }, - "documentation":"

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (see VpcPeeringConnectionStateReason). Connection status information is also communicated as a fleet Event.

" - }, - "WholeNumber":{ - "type":"integer", - "min":0 - } - }, - "documentation":"Amazon GameLift Service

Amazon GameLift is a managed service for developers who need a scalable, dedicated server solution for their multiplayer games. Use Amazon GameLift for these tasks: (1) set up computing resources and deploy your game servers, (2) run game sessions and get players into games, (3) automatically scale your resources to meet player demand and manage costs, and (4) track in-depth metrics on game server performance and player usage.

The Amazon GameLift service API includes two important function sets:

  • Manage game sessions and player access -- 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 auto-scaling policies; retrieve logs and metrics.

This reference guide describes the low-level service API for Amazon GameLift. You can use the API functionality with these tools:

  • The Amazon Web Services software development kit (AWS SDK) is available in multiple languages including C++ and C#. Use the SDK to access the API programmatically from an application, such as a game client.

  • The AWS command-line interface (CLI) tool is primarily useful for handling administrative actions, such as setting up and managing Amazon GameLift settings and resources. You can use the AWS CLI to manage all of your AWS services.

  • The AWS Management Console for Amazon GameLift provides a web interface to manage your Amazon GameLift settings and resources. The console includes a dashboard for tracking key resources, including builds and fleets, and displays usage and performance metrics for your games as customizable graphs.

  • Amazon GameLift Local is a tool for testing your game's integration with Amazon GameLift before deploying it on the service. This tools supports a subset of key API actions, which can be called from either the AWS CLI or programmatically. See Testing an Integration.

Learn more

API SUMMARY

This list offers a functional overview of the Amazon GameLift service API.

Managing Games and Players

Use these actions to start new game sessions, find existing game sessions, track game session status and other information, and enable player access to game sessions.

  • Discover existing game sessions

    • SearchGameSessions -- Retrieve all available game sessions or search for game sessions that match a set of criteria.

  • Start new game sessions

    • Start new games with Queues to find the best available hosting resources across multiple regions, minimize player latency, and balance game session activity for efficiency and cost effectiveness.

    • CreateGameSession -- Start a new game session on a specific fleet. Available in Amazon GameLift Local.

  • Match players to game sessions with FlexMatch matchmaking

    • StartMatchmaking -- Request matchmaking for one players or a group who want to play together.

    • StartMatchBackfill - Request additional player matches to fill empty slots in an existing game session.

    • DescribeMatchmaking -- Get details on a matchmaking request, including status.

    • AcceptMatch -- Register that a player accepts a proposed match, for matches that require player acceptance.

    • StopMatchmaking -- Cancel a matchmaking request.

  • Manage game session data

    • 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

    • 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 resources for your game, you first create a game build and upload it to Amazon GameLift. You can then use these actions to configure and manage a fleet of resources to run your game servers, scale capacity to meet player demand, access performance and utilization metrics, and more.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/examples-1.json deleted file mode 100644 index 7ecea259..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/examples-1.json +++ /dev/null @@ -1,806 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/paginators-1.json deleted file mode 100644 index 69691437..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "ListJobs": { - "input_token": "marker", - "output_token": "Marker", - "limit_key": "limit", - "result_key": "JobList" - }, - "ListMultipartUploads": { - "input_token": "marker", - "output_token": "Marker", - "limit_key": "limit", - "result_key": "UploadsList" - }, - "ListParts": { - "input_token": "marker", - "output_token": "Marker", - "limit_key": "limit", - "result_key": "Parts" - }, - "ListVaults": { - "input_token": "marker", - "output_token": "Marker", - "limit_key": "limit", - "result_key": "VaultList" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/service-2.json deleted file mode 100644 index 350983c2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/service-2.json +++ /dev/null @@ -1,2580 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-06-01", - "checksumFormat":"sha256", - "endpointPrefix":"glacier", - "protocol":"rest-json", - "serviceFullName":"Amazon Glacier", - "serviceId":"Glacier", - "signatureVersion":"v4", - "uid":"glacier-2012-06-01" - }, - "operations":{ - "AbortMultipartUpload":{ - "name":"AbortMultipartUpload", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", - "responseCode":204 - }, - "input":{"shape":"AbortMultipartUploadInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation aborts a multipart upload identified by the upload ID.

After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Working with Archives in Amazon Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide.

" - }, - "AbortVaultLock":{ - "name":"AbortVaultLock", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy", - "responseCode":204 - }, - "input":{"shape":"AbortVaultLockInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error. Aborting the vault locking process removes the vault lock policy from the specified vault.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process, see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

This operation is idempotent. You can successfully invoke this operation multiple times, if the vault lock is in the InProgress state or if there is no policy associated with the vault.

" - }, - "AddTagsToVault":{ - "name":"AddTagsToVault", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/tags?operation=add", - "responseCode":204 - }, - "input":{"shape":"AddTagsToVaultInput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation adds the specified tags to a vault. Each tag is composed of a key and a value. Each vault can have up to 10 tags. If your request would cause the tag limit for the vault to be exceeded, the operation throws the LimitExceededException error. If a tag already exists on the vault under a specified key, the existing key value will be overwritten. For more information about tags, see Tagging Amazon Glacier Resources.

" - }, - "CompleteMultipartUpload":{ - "name":"CompleteMultipartUpload", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", - "responseCode":201 - }, - "input":{"shape":"CompleteMultipartUploadInput"}, - "output":{"shape":"ArchiveCreationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

You call this operation to inform Amazon Glacier that all the archive parts have been uploaded and that Amazon Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Amazon Glacier returns the URI path of the newly created archive resource. Using the URI path, you can then access the archive. After you upload an archive, you should save the archive ID returned to retrieve the archive at a later point. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

In the request, you must include the computed SHA256 tree hash of the entire archive you have uploaded. For information about computing a SHA256 tree hash, see Computing Checksums. On the server side, Amazon Glacier also constructs the SHA256 tree hash of the assembled archive. If the values match, Amazon Glacier saves the archive to the vault; otherwise, it returns an error, and the operation fails. The ListParts operation returns a list of parts uploaded for a specific multipart upload. It includes checksum information for each uploaded part that can be used to debug a bad checksum issue.

Additionally, Amazon Glacier also checks for any missing content ranges when assembling the archive, if missing content ranges are found, Amazon Glacier returns an error and the operation fails.

Complete Multipart Upload is an idempotent operation. After your first successful complete multipart upload, if you call the operation again within a short period, the operation will succeed and return the same archive ID. This is useful in the event you experience a network issue that causes an aborted connection or receive a 500 server error, in which case you can repeat your Complete Multipart Upload request and get the same archive ID without creating duplicate archives. Note, however, that after the multipart upload completes, you cannot call the List Parts operation and the multipart upload will not appear in List Multipart Uploads response, even if idempotent complete is possible.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload in the Amazon Glacier Developer Guide.

" - }, - "CompleteVaultLock":{ - "name":"CompleteVaultLock", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy/{lockId}", - "responseCode":204 - }, - "input":{"shape":"CompleteVaultLockInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

This operation is idempotent. This request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID originally used to lock the vault.

If an invalid lock ID is passed in the request when the vault lock is in the Locked state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the vault lock is in the InProgress state, the operation throws an InvalidParameter error.

" - }, - "CreateVault":{ - "name":"CreateVault", - "http":{ - "method":"PUT", - "requestUri":"/{accountId}/vaults/{vaultName}", - "responseCode":201 - }, - "input":{"shape":"CreateVaultInput"}, - "output":{"shape":"CreateVaultOutput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

This operation creates a new vault with the specified name. The name of the vault must be unique within a region for an AWS account. You can create up to 1,000 vaults per account. If you need to create more vaults, contact Amazon Glacier.

You must use the following guidelines when naming a vault.

  • Names can be between 1 and 255 characters long.

  • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), and '.' (period).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Creating a Vault in Amazon Glacier and Create Vault in the Amazon Glacier Developer Guide.

" - }, - "DeleteArchive":{ - "name":"DeleteArchive", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}/archives/{archiveId}", - "responseCode":204 - }, - "input":{"shape":"DeleteArchiveInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation deletes an archive from a vault. Subsequent requests to initiate a retrieval of this archive will fail. Archive retrievals that are in progress for this archive ID may or may not succeed according to the following scenarios:

  • If the archive retrieval job is actively preparing the data for download when Amazon Glacier receives the delete archive request, the archival retrieval operation might fail.

  • If the archive retrieval job has successfully prepared the archive for download when Amazon Glacier receives the delete archive request, you will be able to download the output.

This operation is idempotent. Attempting to delete an already-deleted archive does not result in an error.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Deleting an Archive in Amazon Glacier and Delete Archive in the Amazon Glacier Developer Guide.

" - }, - "DeleteVault":{ - "name":"DeleteVault", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}", - "responseCode":204 - }, - "input":{"shape":"DeleteVaultInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation deletes a vault. Amazon Glacier will delete a vault only if there are no archives in the vault as of the last inventory and there have been no writes to the vault since the last inventory. If either of these conditions is not satisfied, the vault deletion fails (that is, the vault is not removed) and Amazon Glacier returns an error. You can use DescribeVault to return the number of archives in a vault, and you can use Initiate a Job (POST jobs) to initiate a new inventory retrieval for a vault. The inventory contains the archive IDs you use to delete archives using Delete Archive (DELETE archive).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Deleting a Vault in Amazon Glacier and Delete Vault in the Amazon Glacier Developer Guide.

" - }, - "DeleteVaultAccessPolicy":{ - "name":"DeleteVaultAccessPolicy", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}/access-policy", - "responseCode":204 - }, - "input":{"shape":"DeleteVaultAccessPolicyInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation deletes the access policy associated with the specified vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely remove the access policy, and you might still see the effect of the policy for a short time after you send the delete request.

This operation is idempotent. You can invoke delete multiple times, even if there is no policy associated with the vault. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" - }, - "DeleteVaultNotifications":{ - "name":"DeleteVaultNotifications", - "http":{ - "method":"DELETE", - "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration", - "responseCode":204 - }, - "input":{"shape":"DeleteVaultNotificationsInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation deletes the notification configuration set for a vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely disable the notifications and you might still receive some notifications for a short time after you send the delete request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon Glacier and Delete Vault Notification Configuration in the Amazon Glacier Developer Guide.

" - }, - "DescribeJob":{ - "name":"DescribeJob", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/jobs/{jobId}" - }, - "input":{"shape":"DescribeJobInput"}, - "output":{"shape":"GlacierJobDescription"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation returns information about a job you previously initiated, including the job initiation date, the user who initiated the job, the job status code/message and the Amazon SNS topic to notify after Amazon Glacier completes the job. For more information about initiating a job, see InitiateJob.

This operation enables you to check the status of your job. However, it is strongly recommended that you set up an Amazon SNS topic and specify it in your initiate job request so that Amazon Glacier can notify the topic after it completes the job.

A job ID will not expire for at least 24 hours after Amazon Glacier completes the job.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For more information about using this operation, see the documentation for the underlying REST API Describe Job in the Amazon Glacier Developer Guide.

" - }, - "DescribeVault":{ - "name":"DescribeVault", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}" - }, - "input":{"shape":"DescribeVaultInput"}, - "output":{"shape":"DescribeVaultOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation returns information about a vault, including the vault's Amazon Resource Name (ARN), the date the vault was created, the number of archives it contains, and the total size of all the archives in the vault. The number of archives and their total size are as of the last inventory generation. This means that if you add or remove an archive from a vault, and then immediately use Describe Vault, the change in contents will not be immediately reflected. If you want to retrieve the latest inventory of the vault, use InitiateJob. Amazon Glacier generates vault inventories approximately daily. For more information, see Downloading a Vault Inventory in Amazon Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon Glacier and Describe Vault in the Amazon Glacier Developer Guide.

" - }, - "GetDataRetrievalPolicy":{ - "name":"GetDataRetrievalPolicy", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/policies/data-retrieval" - }, - "input":{"shape":"GetDataRetrievalPolicyInput"}, - "output":{"shape":"GetDataRetrievalPolicyOutput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation returns the current data retrieval policy for the account and region specified in the GET request. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" - }, - "GetJobOutput":{ - "name":"GetJobOutput", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/jobs/{jobId}/output" - }, - "input":{"shape":"GetJobOutputInput"}, - "output":{"shape":"GetJobOutputOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation downloads the output of the job you initiated using InitiateJob. Depending on the job type you specified when you initiated the job, the output will be either the content of an archive or a vault inventory.

You can download all the job output or download a portion of the output by specifying a byte range. In the case of an archive retrieval job, depending on the byte range you specify, Amazon Glacier returns the checksum for the portion of the data. You can compute the checksum on the client and verify that the values match to ensure the portion you downloaded is the correct data.

A job ID will not expire for at least 24 hours after Amazon Glacier completes the job. That a byte range. For both archive and inventory retrieval jobs, you should verify the downloaded size against the size returned in the headers from the Get Job Output response.

For archive retrieval jobs, you should also verify that the size is what you expected. If you download a portion of the output, the expected size is based on the range of bytes you specified. For example, if you specify a range of bytes=0-1048575, you should verify your download size is 1,048,576 bytes. If you download an entire archive, the expected size is the size of the archive when you uploaded it to Amazon Glacier The expected size is also returned in the headers from the Get Job Output response.

In the case of an archive retrieval job, depending on the byte range you specify, Amazon Glacier returns the checksum for the portion of the data. To ensure the portion you downloaded is the correct data, compute the checksum on the client, verify that the values match, and verify that the size is what you expected.

A job ID does not expire for at least 24 hours after Amazon Glacier completes the job. That is, you can download the job output within the 24 hours period after Amazon Glacier completes the job.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Downloading a Vault Inventory, Downloading an Archive, and Get Job Output

" - }, - "GetVaultAccessPolicy":{ - "name":"GetVaultAccessPolicy", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/access-policy" - }, - "input":{"shape":"GetVaultAccessPolicyInput"}, - "output":{"shape":"GetVaultAccessPolicyOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation retrieves the access-policy subresource set on the vault; for more information on setting this subresource, see Set Vault Access Policy (PUT access-policy). If there is no access policy set on the vault, the operation returns a 404 Not found error. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" - }, - "GetVaultLock":{ - "name":"GetVaultLock", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy" - }, - "input":{"shape":"GetVaultLockInput"}, - "output":{"shape":"GetVaultLockOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation retrieves the following attributes from the lock-policy subresource set on the specified vault:

  • The vault lock policy set on the vault.

  • The state of the vault lock, which is either InProgess or Locked.

  • When the lock ID expires. The lock ID is used to complete the vault locking process.

  • When the vault lock was initiated and put into the InProgress state.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can abort the vault locking process by calling AbortVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If there is no vault lock policy set on the vault, the operation returns a 404 Not found error. For more information about vault lock policies, Amazon Glacier Access Control with Vault Lock Policies.

" - }, - "GetVaultNotifications":{ - "name":"GetVaultNotifications", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration" - }, - "input":{"shape":"GetVaultNotificationsInput"}, - "output":{"shape":"GetVaultNotificationsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation retrieves the notification-configuration subresource of the specified vault.

For information about setting a notification configuration on a vault, see SetVaultNotifications. If a notification configuration for a vault is not set, the operation returns a 404 Not Found error. For more information about vault notifications, see Configuring Vault Notifications in Amazon Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon Glacier and Get Vault Notification Configuration in the Amazon Glacier Developer Guide.

" - }, - "InitiateJob":{ - "name":"InitiateJob", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/jobs", - "responseCode":202 - }, - "input":{"shape":"InitiateJobInput"}, - "output":{"shape":"InitiateJobOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"PolicyEnforcedException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"InsufficientCapacityException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation initiates a job of the specified type, which can be a select, an archival retrieval, or a vault retrieval. For more information about using this operation, see the documentation for the underlying REST API Initiate a Job.

" - }, - "InitiateMultipartUpload":{ - "name":"InitiateMultipartUpload", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads", - "responseCode":201 - }, - "input":{"shape":"InitiateMultipartUploadInput"}, - "output":{"shape":"InitiateMultipartUploadOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation initiates a multipart upload. Amazon Glacier creates a multipart upload resource and returns its ID in the response. The multipart upload ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart).

When you initiate a multipart upload, you specify the part size in number of bytes. The part size must be a megabyte (1024 KB) multiplied by a power of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB.

Every part you upload to this resource (see UploadMultipartPart), except the last one, must have the same size. The last one can be the same size or smaller. For example, suppose you want to upload a 16.2 MB file. If you initiate the multipart upload with a part size of 4 MB, you will upload four parts of 4 MB each and one part of 0.2 MB.

You don't need to know the size of the archive when you start a multipart upload because Amazon Glacier does not require you to specify the overall archive size.

After you complete the multipart upload, Amazon Glacier removes the multipart upload resource referenced by the ID. Amazon Glacier also removes the multipart upload resource if you cancel the multipart upload or it may be removed if there is no activity for a period of 24 hours.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Initiate Multipart Upload in the Amazon Glacier Developer Guide.

" - }, - "InitiateVaultLock":{ - "name":"InitiateVaultLock", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy", - "responseCode":201 - }, - "input":{"shape":"InitiateVaultLockInput"}, - "output":{"shape":"InitiateVaultLockOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation initiates the vault locking process by doing the following:

  • Installing a vault lock policy on the specified vault.

  • Setting the lock state of vault lock to InProgress.

  • Returning a lock ID, which is used to complete the vault locking process.

You can set one vault lock policy for each vault and this policy can be up to 20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the state of the vault lock to Locked.

After a vault lock is in the Locked state, you cannot initiate a new vault lock for the vault.

You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If this operation is called when the vault lock is in the InProgress state, the operation returns an AccessDeniedException error. When the vault lock is in the InProgress state you must call AbortVaultLock before you can initiate a new vault lock policy.

" - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/jobs" - }, - "input":{"shape":"ListJobsInput"}, - "output":{"shape":"ListJobsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished. The List Job operation returns a list of these jobs sorted by job initiation time.

Amazon Glacier retains recently completed jobs for a period before deleting them; however, it eventually removes completed jobs. The output of completed jobs can be retrieved. Retaining completed jobs for a period of time after they have completed enables you to get a job output in the event you miss the job completion notification or your first attempt to download it fails. For example, suppose you start an archive retrieval job to download an archive. After the job completes, you start to download the archive but encounter a network error. In this scenario, you can retry and download the archive while the job exists.

The List Jobs operation supports pagination. You should always check the response Marker field. If there are no more jobs to list, the Marker field is set to null. If there are more jobs to list, the Marker field is set to a non-null value, which you can use to continue the pagination of the list. To return a list of jobs that begins at a specific job, set the marker request parameter to the Marker value for that job that you obtained from a previous List Jobs request.

You can set a maximum limit for the number of jobs returned in the response by specifying the limit parameter in the request. The default limit is 50. The number of jobs returned might be fewer than the limit, but the number of returned jobs never exceeds the limit.

Additionally, you can filter the jobs list returned by specifying the optional statuscode parameter or completed parameter, or both. Using the statuscode parameter, you can specify to return only jobs that match either the InProgress, Succeeded, or Failed status. Using the completed parameter, you can specify to return only jobs that were completed (true) or jobs that were not completed (false).

For more information about using this operation, see the documentation for the underlying REST API List Jobs.

" - }, - "ListMultipartUploads":{ - "name":"ListMultipartUploads", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads" - }, - "input":{"shape":"ListMultipartUploadsInput"}, - "output":{"shape":"ListMultipartUploadsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order.

The List Multipart Uploads operation supports pagination. By default, this operation returns up to 50 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request.

Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide.

" - }, - "ListParts":{ - "name":"ListParts", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}" - }, - "input":{"shape":"ListPartsInput"}, - "output":{"shape":"ListPartsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range.

The List Parts operation supports pagination. By default, this operation returns up to 50 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon Glacier and List Parts in the Amazon Glacier Developer Guide.

" - }, - "ListProvisionedCapacity":{ - "name":"ListProvisionedCapacity", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/provisioned-capacity" - }, - "input":{"shape":"ListProvisionedCapacityInput"}, - "output":{"shape":"ListProvisionedCapacityOutput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists the provisioned capacity units for the specified AWS account.

" - }, - "ListTagsForVault":{ - "name":"ListTagsForVault", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults/{vaultName}/tags" - }, - "input":{"shape":"ListTagsForVaultInput"}, - "output":{"shape":"ListTagsForVaultOutput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists all the tags attached to a vault. The operation returns an empty map if there are no tags. For more information about tags, see Tagging Amazon Glacier Resources.

" - }, - "ListVaults":{ - "name":"ListVaults", - "http":{ - "method":"GET", - "requestUri":"/{accountId}/vaults" - }, - "input":{"shape":"ListVaultsInput"}, - "output":{"shape":"ListVaultsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name.

By default, this operation returns up to 10 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon Glacier and List Vaults in the Amazon Glacier Developer Guide.

" - }, - "PurchaseProvisionedCapacity":{ - "name":"PurchaseProvisionedCapacity", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/provisioned-capacity", - "responseCode":201 - }, - "input":{"shape":"PurchaseProvisionedCapacityInput"}, - "output":{"shape":"PurchaseProvisionedCapacityOutput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation purchases a provisioned capacity unit for an AWS account.

" - }, - "RemoveTagsFromVault":{ - "name":"RemoveTagsFromVault", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/tags?operation=remove", - "responseCode":204 - }, - "input":{"shape":"RemoveTagsFromVaultInput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation removes one or more tags from the set of tags attached to a vault. For more information about tags, see Tagging Amazon Glacier Resources. This operation is idempotent. The operation will be successful, even if there are no tags attached to the vault.

" - }, - "SetDataRetrievalPolicy":{ - "name":"SetDataRetrievalPolicy", - "http":{ - "method":"PUT", - "requestUri":"/{accountId}/policies/data-retrieval", - "responseCode":204 - }, - "input":{"shape":"SetDataRetrievalPolicyInput"}, - "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation sets and then enacts a data retrieval policy in the region specified in the PUT request. You can set one policy per region for an AWS account. The policy is enacted within a few minutes of a successful PUT operation.

The set policy operation does not affect retrieval jobs that were in progress before the policy was enacted. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" - }, - "SetVaultAccessPolicy":{ - "name":"SetVaultAccessPolicy", - "http":{ - "method":"PUT", - "requestUri":"/{accountId}/vaults/{vaultName}/access-policy", - "responseCode":204 - }, - "input":{"shape":"SetVaultAccessPolicyInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation configures an access policy for a vault and will overwrite an existing policy. To configure a vault access policy, send a PUT request to the access-policy subresource of the vault. An access policy is specific to a vault and is also called a vault subresource. You can set one access policy per vault and the policy can be up to 20 KB in size. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" - }, - "SetVaultNotifications":{ - "name":"SetVaultNotifications", - "http":{ - "method":"PUT", - "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration", - "responseCode":204 - }, - "input":{"shape":"SetVaultNotificationsInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation configures notifications that will be sent when specific events happen to a vault. By default, you don't get any notifications.

To configure vault notifications, send a PUT request to the notification-configuration subresource of the vault. The request should include a JSON document that provides an Amazon SNS topic and specific events for which you want Amazon Glacier to send notifications to the topic.

Amazon SNS topics must grant permission to the vault to be allowed to publish notifications to the topic. You can configure a vault to publish a notification for the following vault events:

  • ArchiveRetrievalCompleted This event occurs when a job that was initiated for an archive retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.

  • InventoryRetrievalCompleted This event occurs when a job that was initiated for an inventory retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon Glacier and Set Vault Notification Configuration in the Amazon Glacier Developer Guide.

" - }, - "UploadArchive":{ - "name":"UploadArchive", - "http":{ - "method":"POST", - "requestUri":"/{accountId}/vaults/{vaultName}/archives", - "responseCode":201 - }, - "input":{"shape":"UploadArchiveInput"}, - "output":{"shape":"ArchiveCreationOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"RequestTimeoutException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation adds an archive to a vault. This is a synchronous operation, and for a successful upload, your data is durably persisted. Amazon Glacier returns the archive ID in the x-amz-archive-id header of the response.

You must use the archive ID to access your data in Amazon Glacier. After you upload an archive, you should save the archive ID returned so that you can retrieve or delete the archive later. Besides saving the archive ID, you can also index it and give it a friendly name to allow for better searching. You can also use the optional archive description field to specify how the archive is referred to in an external index of archives, such as you might create in Amazon DynamoDB. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

You must provide a SHA256 tree hash of the data you are uploading. For information about computing a SHA256 tree hash, see Computing Checksums.

You can optionally specify an archive description of up to 1,024 printable ASCII characters. You can get the archive description when you either retrieve the archive or get the vault inventory. For more information, see InitiateJob. Amazon Glacier does not interpret the description in any way. An archive description does not need to be unique. You cannot use the description to retrieve or sort the archive list.

Archives are immutable. After you upload an archive, you cannot edit the archive or its description.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading an Archive in Amazon Glacier and Upload Archive in the Amazon Glacier Developer Guide.

" - }, - "UploadMultipartPart":{ - "name":"UploadMultipartPart", - "http":{ - "method":"PUT", - "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", - "responseCode":204 - }, - "input":{"shape":"UploadMultipartPartInput"}, - "output":{"shape":"UploadMultipartPartOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"MissingParameterValueException"}, - {"shape":"RequestTimeoutException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

This operation uploads a part of an archive. You can upload archive parts in any order. You can also upload them in parallel. You can upload up to 10,000 parts for a multipart upload.

Amazon Glacier rejects your upload part request if any of the following conditions is true:

  • SHA256 tree hash does not matchTo ensure that part data is not corrupted in transmission, you compute a SHA256 tree hash of the part and include it in your request. Upon receiving the part data, Amazon Glacier also computes a SHA256 tree hash. If these hash values don't match, the operation fails. For information about computing a SHA256 tree hash, see Computing Checksums.

  • Part size does not matchThe size of each part except the last must match the size specified in the corresponding InitiateMultipartUpload request. The size of the last part must be the same size as, or smaller than, the specified size.

    If you upload a part whose size is smaller than the part size you specified in your initiate multipart upload request and that part is not the last part, then the upload part request will succeed. However, the subsequent Complete Multipart Upload request will fail.

  • Range does not alignThe byte range value in the request does not align with the part size specified in the corresponding initiate request. For example, if you specify a part size of 4194304 bytes (4 MB), then 0 to 4194303 bytes (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are valid part ranges. However, if you set a range value of 2 MB to 6 MB, the range does not align with the part size and the upload will fail.

This operation is idempotent. If you upload the same part multiple times, the data included in the most recent request overwrites the previously uploaded data.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Upload Part in the Amazon Glacier Developer Guide.

" - } - }, - "shapes":{ - "AbortMultipartUploadInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "uploadId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "uploadId":{ - "shape":"string", - "documentation":"

The upload ID of the multipart upload to delete.

", - "location":"uri", - "locationName":"uploadId" - } - }, - "documentation":"

Provides options to abort a multipart upload identified by the upload ID.

For information about the underlying REST API, see Abort Multipart Upload. For conceptual information, see Working with Archives in Amazon Glacier.

" - }, - "AbortVaultLockInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

The input values for AbortVaultLock.

" - }, - "AccessControlPolicyList":{ - "type":"list", - "member":{"shape":"Grant"} - }, - "ActionCode":{ - "type":"string", - "enum":[ - "ArchiveRetrieval", - "InventoryRetrieval", - "Select" - ] - }, - "AddTagsToVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "Tags":{ - "shape":"TagMap", - "documentation":"

The tags to add to the vault. Each tag is composed of a key and a value. The value can be an empty string.

" - } - }, - "documentation":"

The input values for AddTagsToVault.

" - }, - "ArchiveCreationOutput":{ - "type":"structure", - "members":{ - "location":{ - "shape":"string", - "documentation":"

The relative URI path of the newly added archive resource.

", - "location":"header", - "locationName":"Location" - }, - "checksum":{ - "shape":"string", - "documentation":"

The checksum of the archive computed by Amazon Glacier.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - }, - "archiveId":{ - "shape":"string", - "documentation":"

The ID of the archive. This value is also included as part of the location.

", - "location":"header", - "locationName":"x-amz-archive-id" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

For information about the underlying REST API, see Upload Archive. For conceptual information, see Working with Archives in Amazon Glacier.

" - }, - "CSVInput":{ - "type":"structure", - "members":{ - "FileHeaderInfo":{ - "shape":"FileHeaderInfo", - "documentation":"

Describes the first line of input. Valid values are None, Ignore, and Use.

" - }, - "Comments":{ - "shape":"string", - "documentation":"

A single character used to indicate that a row should be ignored when the character is present at the start of that row.

" - }, - "QuoteEscapeCharacter":{ - "shape":"string", - "documentation":"

A single character used for escaping the quotation-mark character inside an already escaped value.

" - }, - "RecordDelimiter":{ - "shape":"string", - "documentation":"

A value used to separate individual records from each other.

" - }, - "FieldDelimiter":{ - "shape":"string", - "documentation":"

A value used to separate individual fields from each other within a record.

" - }, - "QuoteCharacter":{ - "shape":"string", - "documentation":"

A value used as an escape character where the field delimiter is part of the value.

" - } - }, - "documentation":"

Contains information about the comma-separated value (CSV) file to select from.

" - }, - "CSVOutput":{ - "type":"structure", - "members":{ - "QuoteFields":{ - "shape":"QuoteFields", - "documentation":"

A value that indicates whether all output fields should be contained within quotation marks.

" - }, - "QuoteEscapeCharacter":{ - "shape":"string", - "documentation":"

A single character used for escaping the quotation-mark character inside an already escaped value.

" - }, - "RecordDelimiter":{ - "shape":"string", - "documentation":"

A value used to separate individual records from each other.

" - }, - "FieldDelimiter":{ - "shape":"string", - "documentation":"

A value used to separate individual fields from each other within a record.

" - }, - "QuoteCharacter":{ - "shape":"string", - "documentation":"

A value used as an escape character where the field delimiter is part of the value.

" - } - }, - "documentation":"

Contains information about the comma-separated value (CSV) file that the job results are stored in.

" - }, - "CannedACL":{ - "type":"string", - "enum":[ - "private", - "public-read", - "public-read-write", - "aws-exec-read", - "authenticated-read", - "bucket-owner-read", - "bucket-owner-full-control" - ] - }, - "CompleteMultipartUploadInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "uploadId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "uploadId":{ - "shape":"string", - "documentation":"

The upload ID of the multipart upload.

", - "location":"uri", - "locationName":"uploadId" - }, - "archiveSize":{ - "shape":"string", - "documentation":"

The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded.

", - "location":"header", - "locationName":"x-amz-archive-size" - }, - "checksum":{ - "shape":"string", - "documentation":"

The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final assembled archive as computed by Amazon Glacier, Amazon Glacier returns an error and the request fails.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - } - }, - "documentation":"

Provides options to complete a multipart upload operation. This informs Amazon Glacier that all the archive parts have been uploaded and Amazon Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Amazon Glacier returns the URI path of the newly created archive resource.

" - }, - "CompleteVaultLockInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "lockId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "lockId":{ - "shape":"string", - "documentation":"

The lockId value is the lock ID obtained from a InitiateVaultLock request.

", - "location":"uri", - "locationName":"lockId" - } - }, - "documentation":"

The input values for CompleteVaultLock.

" - }, - "CreateVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Provides options to create a vault.

" - }, - "CreateVaultOutput":{ - "type":"structure", - "members":{ - "location":{ - "shape":"string", - "documentation":"

The URI of the vault that was created.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "DataRetrievalPolicy":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"DataRetrievalRulesList", - "documentation":"

The policy rule. Although this is a list type, currently there must be only one rule, which contains a Strategy field and optionally a BytesPerHour field.

" - } - }, - "documentation":"

Data retrieval policy.

" - }, - "DataRetrievalRule":{ - "type":"structure", - "members":{ - "Strategy":{ - "shape":"string", - "documentation":"

The type of data retrieval policy to set.

Valid values: BytesPerHour|FreeTier|None

" - }, - "BytesPerHour":{ - "shape":"NullableLong", - "documentation":"

The maximum number of bytes that can be retrieved in an hour.

This field is required only if the value of the Strategy field is BytesPerHour. Your PUT operation will be rejected if the Strategy field is not set to BytesPerHour and you set this field.

" - } - }, - "documentation":"

Data retrieval policy rule.

" - }, - "DataRetrievalRulesList":{ - "type":"list", - "member":{"shape":"DataRetrievalRule"} - }, - "DateTime":{"type":"string"}, - "DeleteArchiveInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "archiveId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "archiveId":{ - "shape":"string", - "documentation":"

The ID of the archive to delete.

", - "location":"uri", - "locationName":"archiveId" - } - }, - "documentation":"

Provides options for deleting an archive from an Amazon Glacier vault.

" - }, - "DeleteVaultAccessPolicyInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

DeleteVaultAccessPolicy input.

" - }, - "DeleteVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Provides options for deleting a vault from Amazon Glacier.

" - }, - "DeleteVaultNotificationsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Provides options for deleting a vault notification configuration from an Amazon Glacier vault.

" - }, - "DescribeJobInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "jobId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "jobId":{ - "shape":"string", - "documentation":"

The ID of the job to describe.

", - "location":"uri", - "locationName":"jobId" - } - }, - "documentation":"

Provides options for retrieving a job description.

" - }, - "DescribeVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Provides options for retrieving metadata for a specific vault in Amazon Glacier.

" - }, - "DescribeVaultOutput":{ - "type":"structure", - "members":{ - "VaultARN":{ - "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the vault.

" - }, - "VaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

" - }, - "CreationDate":{ - "shape":"string", - "documentation":"

The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example 2012-03-20T17:03:43.221Z.

" - }, - "LastInventoryDate":{ - "shape":"string", - "documentation":"

The Universal Coordinated Time (UTC) date when Amazon Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example 2012-03-20T17:03:43.221Z.

" - }, - "NumberOfArchives":{ - "shape":"long", - "documentation":"

The number of archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.

" - }, - "SizeInBytes":{ - "shape":"long", - "documentation":"

Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "Encryption":{ - "type":"structure", - "members":{ - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The server-side encryption algorithm used when storing job results in Amazon S3, for example AES256 or aws:kms.

" - }, - "KMSKeyId":{ - "shape":"string", - "documentation":"

The AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or Signature Version 4.

" - }, - "KMSContext":{ - "shape":"string", - "documentation":"

Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the job results.

" - } - }, - "documentation":"

Contains information about the encryption used to store the job results in Amazon S3.

" - }, - "EncryptionType":{ - "type":"string", - "enum":[ - "aws:kms", - "AES256" - ] - }, - "ExpressionType":{ - "type":"string", - "enum":["SQL"] - }, - "FileHeaderInfo":{ - "type":"string", - "enum":[ - "USE", - "IGNORE", - "NONE" - ] - }, - "GetDataRetrievalPolicyInput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - } - }, - "documentation":"

Input for GetDataRetrievalPolicy.

" - }, - "GetDataRetrievalPolicyOutput":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"DataRetrievalPolicy", - "documentation":"

Contains the returned data retrieval policy in JSON format.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to the GetDataRetrievalPolicy request.

" - }, - "GetJobOutputInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "jobId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "jobId":{ - "shape":"string", - "documentation":"

The job ID whose data is downloaded.

", - "location":"uri", - "locationName":"jobId" - }, - "range":{ - "shape":"string", - "documentation":"

The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify the range as bytes=0-1048575. By default, this operation downloads the entire output.

If the job output is large, then you can use a range to retrieve a portion of the output. This allows you to download the entire output in smaller chunks of bytes. For example, suppose you have 1 GB of job output you want to download and you decide to download 128 MB chunks of data at a time, which is a total of eight Get Job Output requests. You use the following process to download the job output:

  1. Download a 128 MB chunk of output by specifying the appropriate byte range. Verify that all 128 MB of data was received.

  2. Along with the data, the response includes a SHA256 tree hash of the payload. You compute the checksum of the payload on the client and compare it with the checksum you received in the response to ensure you received all the expected data.

  3. Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each time specifying the appropriate byte range.

  4. After downloading all the parts of the job output, you have a list of eight checksum values. Compute the tree hash of these values to find the checksum of the entire output. Using the DescribeJob API, obtain job information of the job that provided you the output. The response includes the checksum of the entire archive stored in Amazon Glacier. You compare this value with the checksum you computed to ensure you have downloaded the entire archive content with no errors.

", - "location":"header", - "locationName":"Range" - } - }, - "documentation":"

Provides options for downloading output of an Amazon Glacier job.

" - }, - "GetJobOutputOutput":{ - "type":"structure", - "members":{ - "body":{ - "shape":"Stream", - "documentation":"

The job data, either archive data or inventory data.

" - }, - "checksum":{ - "shape":"string", - "documentation":"

The checksum of the data in the response. This header is returned only when retrieving the output for an archive retrieval job. Furthermore, this header appears only under the following conditions:

  • You get the entire range of the archive.

  • You request a range to return of the archive that starts and ends on a multiple of 1 MB. For example, if you have an 3.1 MB archive and you specify a range to return that starts at 1 MB and ends at 2 MB, then the x-amz-sha256-tree-hash is returned as a response header.

  • You request a range of the archive to return that starts on a multiple of 1 MB and goes to the end of the archive. For example, if you have a 3.1 MB archive and you specify a range that starts at 2 MB and ends at 3.1 MB (the end of the archive), then the x-amz-sha256-tree-hash is returned as a response header.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - }, - "status":{ - "shape":"httpstatus", - "documentation":"

The HTTP response code for a job output request. The value depends on whether a range was specified in the request.

", - "location":"statusCode" - }, - "contentRange":{ - "shape":"string", - "documentation":"

The range of bytes returned by Amazon Glacier. If only partial output is downloaded, the response provides the range of bytes Amazon Glacier returned. For example, bytes 0-1048575/8388608 returns the first 1 MB from 8 MB.

", - "location":"header", - "locationName":"Content-Range" - }, - "acceptRanges":{ - "shape":"string", - "documentation":"

Indicates the range units accepted. For more information, see RFC2616.

", - "location":"header", - "locationName":"Accept-Ranges" - }, - "contentType":{ - "shape":"string", - "documentation":"

The Content-Type depends on whether the job output is an archive or a vault inventory. For archive data, the Content-Type is application/octet-stream. For vault inventory, if you requested CSV format when you initiated the job, the Content-Type is text/csv. Otherwise, by default, vault inventory is returned as JSON, and the Content-Type is application/json.

", - "location":"header", - "locationName":"Content-Type" - }, - "archiveDescription":{ - "shape":"string", - "documentation":"

The description of an archive.

", - "location":"header", - "locationName":"x-amz-archive-description" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

", - "payload":"body" - }, - "GetVaultAccessPolicyInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Input for GetVaultAccessPolicy.

" - }, - "GetVaultAccessPolicyOutput":{ - "type":"structure", - "members":{ - "policy":{ - "shape":"VaultAccessPolicy", - "documentation":"

Contains the returned vault access policy as a JSON string.

" - } - }, - "documentation":"

Output for GetVaultAccessPolicy.

", - "payload":"policy" - }, - "GetVaultLockInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

The input values for GetVaultLock.

" - }, - "GetVaultLockOutput":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"string", - "documentation":"

The vault lock policy as a JSON string, which uses \"\\\" as an escape character.

" - }, - "State":{ - "shape":"string", - "documentation":"

The state of the vault lock. InProgress or Locked.

" - }, - "ExpirationDate":{ - "shape":"string", - "documentation":"

The UTC date and time at which the lock ID expires. This value can be null if the vault lock is in a Locked state.

" - }, - "CreationDate":{ - "shape":"string", - "documentation":"

The UTC date and time at which the vault lock was put into the InProgress state.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "GetVaultNotificationsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

Provides options for retrieving the notification configuration set on an Amazon Glacier vault.

" - }, - "GetVaultNotificationsOutput":{ - "type":"structure", - "members":{ - "vaultNotificationConfig":{ - "shape":"VaultNotificationConfig", - "documentation":"

Returns the notification configuration set on the vault.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

", - "payload":"vaultNotificationConfig" - }, - "GlacierJobDescription":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"string", - "documentation":"

An opaque string that identifies an Amazon Glacier job.

" - }, - "JobDescription":{ - "shape":"string", - "documentation":"

The job description provided when initiating the job.

" - }, - "Action":{ - "shape":"ActionCode", - "documentation":"

The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or Select.

" - }, - "ArchiveId":{ - "shape":"string", - "documentation":"

The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.

" - }, - "VaultARN":{ - "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.

" - }, - "CreationDate":{ - "shape":"string", - "documentation":"

The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example \"2012-03-20T17:03:43.221Z\".

" - }, - "Completed":{ - "shape":"boolean", - "documentation":"

The job status. When a job is completed, you get the job's output using Get Job Output (GET output).

" - }, - "StatusCode":{ - "shape":"StatusCode", - "documentation":"

The status code can be InProgress, Succeeded, or Failed, and indicates the status of the job.

" - }, - "StatusMessage":{ - "shape":"string", - "documentation":"

A friendly message that describes the job status.

" - }, - "ArchiveSizeInBytes":{ - "shape":"Size", - "documentation":"

For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.

" - }, - "InventorySizeInBytes":{ - "shape":"Size", - "documentation":"

For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.

" - }, - "SNSTopic":{ - "shape":"string", - "documentation":"

An Amazon SNS topic that receives notification.

" - }, - "CompletionDate":{ - "shape":"string", - "documentation":"

The UTC time that the job request completed. While the job is in progress, the value is null.

" - }, - "SHA256TreeHash":{ - "shape":"string", - "documentation":"

For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.

The SHA256 tree hash value for the requested range of an archive. If the InitiateJob request for an archive specified a tree-hash aligned range, then this field returns a value.

If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.

This field is null for the following:

  • Archive retrieval jobs that specify a range that is not tree-hash aligned

  • Archival jobs that specify a range that is equal to the whole archive, when the job status is InProgress

  • Inventory jobs

  • Select jobs

" - }, - "ArchiveSHA256TreeHash":{ - "shape":"string", - "documentation":"

The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.

" - }, - "RetrievalByteRange":{ - "shape":"string", - "documentation":"

The retrieved byte range for archive retrieval jobs in the form StartByteValue-EndByteValue. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, StartByteValue equals 0 and EndByteValue equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.

" - }, - "Tier":{ - "shape":"string", - "documentation":"

The tier to use for a select or an archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default.

" - }, - "InventoryRetrievalParameters":{ - "shape":"InventoryRetrievalJobDescription", - "documentation":"

Parameters used for range inventory retrieval.

" - }, - "JobOutputPath":{ - "shape":"string", - "documentation":"

Contains the job output location.

" - }, - "SelectParameters":{ - "shape":"SelectParameters", - "documentation":"

Contains the parameters used for a select.

" - }, - "OutputLocation":{ - "shape":"OutputLocation", - "documentation":"

Contains the location where the data from the select job is stored.

" - } - }, - "documentation":"

Contains the description of an Amazon Glacier job.

" - }, - "Grant":{ - "type":"structure", - "members":{ - "Grantee":{ - "shape":"Grantee", - "documentation":"

The grantee.

" - }, - "Permission":{ - "shape":"Permission", - "documentation":"

Specifies the permission given to the grantee.

" - } - }, - "documentation":"

Contains information about a grant.

" - }, - "Grantee":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"Type", - "documentation":"

Type of grantee

" - }, - "DisplayName":{ - "shape":"string", - "documentation":"

Screen name of the grantee.

" - }, - "URI":{ - "shape":"string", - "documentation":"

URI of the grantee group.

" - }, - "ID":{ - "shape":"string", - "documentation":"

The canonical user ID of the grantee.

" - }, - "EmailAddress":{ - "shape":"string", - "documentation":"

Email address of the grantee.

" - } - }, - "documentation":"

Contains information about the grantee.

" - }, - "InitiateJobInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "jobParameters":{ - "shape":"JobParameters", - "documentation":"

Provides options for specifying job information.

" - } - }, - "documentation":"

Provides options for initiating an Amazon Glacier job.

", - "payload":"jobParameters" - }, - "InitiateJobOutput":{ - "type":"structure", - "members":{ - "location":{ - "shape":"string", - "documentation":"

The relative URI path of the job.

", - "location":"header", - "locationName":"Location" - }, - "jobId":{ - "shape":"string", - "documentation":"

The ID of the job.

", - "location":"header", - "locationName":"x-amz-job-id" - }, - "jobOutputPath":{ - "shape":"string", - "documentation":"

The path to the location of where the select results are stored.

", - "location":"header", - "locationName":"x-amz-job-output-path" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "InitiateMultipartUploadInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "archiveDescription":{ - "shape":"string", - "documentation":"

The archive description that you are uploading in parts.

The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 MB).

", - "location":"header", - "locationName":"x-amz-archive-description" - }, - "partSize":{ - "shape":"string", - "documentation":"

The size of each part except the last, in bytes. The last part can be smaller than this part size.

", - "location":"header", - "locationName":"x-amz-part-size" - } - }, - "documentation":"

Provides options for initiating a multipart upload to an Amazon Glacier vault.

" - }, - "InitiateMultipartUploadOutput":{ - "type":"structure", - "members":{ - "location":{ - "shape":"string", - "documentation":"

The relative URI path of the multipart upload ID Amazon Glacier created.

", - "location":"header", - "locationName":"Location" - }, - "uploadId":{ - "shape":"string", - "documentation":"

The ID of the multipart upload. This value is also included as part of the location.

", - "location":"header", - "locationName":"x-amz-multipart-upload-id" - } - }, - "documentation":"

The Amazon Glacier response to your request.

" - }, - "InitiateVaultLockInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "policy":{ - "shape":"VaultLockPolicy", - "documentation":"

The vault lock policy as a JSON string, which uses \"\\\" as an escape character.

" - } - }, - "documentation":"

The input values for InitiateVaultLock.

", - "payload":"policy" - }, - "InitiateVaultLockOutput":{ - "type":"structure", - "members":{ - "lockId":{ - "shape":"string", - "documentation":"

The lock ID, which is used to complete the vault locking process.

", - "location":"header", - "locationName":"x-amz-lock-id" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "InputSerialization":{ - "type":"structure", - "members":{ - "csv":{ - "shape":"CSVInput", - "documentation":"

Describes the serialization of a CSV-encoded object.

" - } - }, - "documentation":"

Describes how the archive is serialized.

" - }, - "InsufficientCapacityException":{ - "type":"structure", - "members":{ - "type":{"shape":"string"}, - "code":{"shape":"string"}, - "message":{"shape":"string"} - }, - "documentation":"

Returned if there is insufficient capacity to process this expedited request. This error only applies to expedited retrievals and not to standard or bulk retrievals.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client

" - }, - "code":{ - "shape":"string", - "documentation":"

400 Bad Request

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - } - }, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InventoryRetrievalJobDescription":{ - "type":"structure", - "members":{ - "Format":{ - "shape":"string", - "documentation":"

The output format for the vault inventory list, which is set by the InitiateJob request when initiating a job to retrieve a vault inventory. Valid values are CSV and JSON.

" - }, - "StartDate":{ - "shape":"DateTime", - "documentation":"

The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" - }, - "EndDate":{ - "shape":"DateTime", - "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" - }, - "Limit":{ - "shape":"string", - "documentation":"

The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a InitiateJob request.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there are no more inventory items, this value is null. For more information, see Range Inventory Retrieval.

" - } - }, - "documentation":"

Describes the options for a range inventory retrieval job.

" - }, - "InventoryRetrievalJobInput":{ - "type":"structure", - "members":{ - "StartDate":{ - "shape":"string", - "documentation":"

The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" - }, - "EndDate":{ - "shape":"string", - "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" - }, - "Limit":{ - "shape":"string", - "documentation":"

Specifies the maximum number of inventory items returned per vault inventory retrieval request. Valid values are greater than or equal to 1.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there are no more inventory items, this value is null.

" - } - }, - "documentation":"

Provides options for specifying a range inventory retrieval job.

" - }, - "JobList":{ - "type":"list", - "member":{"shape":"GlacierJobDescription"} - }, - "JobParameters":{ - "type":"structure", - "members":{ - "Format":{ - "shape":"string", - "documentation":"

When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are \"CSV\" and \"JSON\".

" - }, - "Type":{ - "shape":"string", - "documentation":"

The job type. You can initiate a job to perform a select query on an archive, retrieve an archive, or get an inventory of a vault. Valid values are \"select\", \"archive-retrieval\" and \"inventory-retrieval\".

" - }, - "ArchiveId":{ - "shape":"string", - "documentation":"

The ID of the archive that you want to retrieve. This field is required only if Type is set to select or archive-retrievalcode>. An error occurs if you specify this request parameter for an inventory retrieval job request.

" - }, - "Description":{ - "shape":"string", - "documentation":"

The optional description for the job. The description must be less than or equal to 1,024 bytes. The allowable characters are 7-bit ASCII without control codes-specifically, ASCII values 32-126 decimal or 0x20-0x7E hexadecimal.

" - }, - "SNSTopic":{ - "shape":"string", - "documentation":"

The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.

" - }, - "RetrievalByteRange":{ - "shape":"string", - "documentation":"

The byte range to retrieve for an archive retrieval. in the form \"StartByteValue-EndByteValue\" If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that StartByteValue must be divisible by 1 MB and EndByteValue plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.

An error occurs if you specify this field for an inventory retrieval job request.

" - }, - "Tier":{ - "shape":"string", - "documentation":"

The tier to use for a select or an archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default.

" - }, - "InventoryRetrievalParameters":{ - "shape":"InventoryRetrievalJobInput", - "documentation":"

Input parameters used for range inventory retrieval.

" - }, - "SelectParameters":{ - "shape":"SelectParameters", - "documentation":"

Contains the parameters that define a job.

" - }, - "OutputLocation":{ - "shape":"OutputLocation", - "documentation":"

Contains information about the location where the select job results are stored.

" - } - }, - "documentation":"

Provides options for defining a job.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client

" - }, - "code":{ - "shape":"string", - "documentation":"

400 Bad Request

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if the request results in a vault limit or tags limit being exceeded.

" - } - }, - "documentation":"

Returned if the request results in a vault or account limit being exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ListJobsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "limit":{ - "shape":"string", - "documentation":"

The maximum number of jobs to be returned. The default limit is 50. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit.

", - "location":"querystring", - "locationName":"limit" - }, - "marker":{ - "shape":"string", - "documentation":"

An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of results started in a previous List Jobs request.

", - "location":"querystring", - "locationName":"marker" - }, - "statuscode":{ - "shape":"string", - "documentation":"

The type of job status to return. You can specify the following values: InProgress, Succeeded, or Failed.

", - "location":"querystring", - "locationName":"statuscode" - }, - "completed":{ - "shape":"string", - "documentation":"

The state of the jobs to return. You can specify true or false.

", - "location":"querystring", - "locationName":"completed" - } - }, - "documentation":"

Provides options for retrieving a job list for an Amazon Glacier vault.

" - }, - "ListJobsOutput":{ - "type":"structure", - "members":{ - "JobList":{ - "shape":"JobList", - "documentation":"

A list of job objects. Each job object contains metadata describing the job.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

An opaque string used for pagination that specifies the job at which the listing of jobs should begin. You get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of the results started in a previous List Jobs request.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "ListMultipartUploadsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "marker":{ - "shape":"string", - "documentation":"

An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include the marker if you are continuing the pagination of results started in a previous List Uploads request.

", - "location":"querystring", - "locationName":"marker" - }, - "limit":{ - "shape":"string", - "documentation":"

Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 50 uploads.

", - "location":"querystring", - "locationName":"limit" - } - }, - "documentation":"

Provides options for retrieving list of in-progress multipart uploads for an Amazon Glacier vault.

" - }, - "ListMultipartUploadsOutput":{ - "type":"structure", - "members":{ - "UploadsList":{ - "shape":"UploadsList", - "documentation":"

A list of in-progress multipart uploads.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the results. You use the marker in a new List Multipart Uploads request to obtain more uploads in the list. If there are no more uploads, this value is null.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "ListPartsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "uploadId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "uploadId":{ - "shape":"string", - "documentation":"

The upload ID of the multipart upload.

", - "location":"uri", - "locationName":"uploadId" - }, - "marker":{ - "shape":"string", - "documentation":"

An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only include the marker if you are continuing the pagination of results started in a previous List Parts request.

", - "location":"querystring", - "locationName":"marker" - }, - "limit":{ - "shape":"string", - "documentation":"

The maximum number of parts to be returned. The default limit is 50. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit.

", - "location":"querystring", - "locationName":"limit" - } - }, - "documentation":"

Provides options for retrieving a list of parts of an archive that have been uploaded in a specific multipart upload.

" - }, - "ListPartsOutput":{ - "type":"structure", - "members":{ - "MultipartUploadId":{ - "shape":"string", - "documentation":"

The ID of the upload to which the parts are associated.

" - }, - "VaultARN":{ - "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the vault to which the multipart upload was initiated.

" - }, - "ArchiveDescription":{ - "shape":"string", - "documentation":"

The description of the archive that was specified in the Initiate Multipart Upload request.

" - }, - "PartSizeInBytes":{ - "shape":"long", - "documentation":"

The part size in bytes. This is the same value that you specified in the Initiate Multipart Upload request.

" - }, - "CreationDate":{ - "shape":"string", - "documentation":"

The UTC time at which the multipart upload was initiated.

" - }, - "Parts":{ - "shape":"PartList", - "documentation":"

A list of the part sizes of the multipart upload. Each object in the array contains a RangeBytes and sha256-tree-hash name/value pair.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the results. You use the marker in a new List Parts request to obtain more jobs in the list. If there are no more parts, this value is null.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "ListProvisionedCapacityInput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - } - } - }, - "ListProvisionedCapacityOutput":{ - "type":"structure", - "members":{ - "ProvisionedCapacityList":{ - "shape":"ProvisionedCapacityList", - "documentation":"

The response body contains the following JSON fields.

" - } - } - }, - "ListTagsForVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - } - }, - "documentation":"

The input value for ListTagsForVaultInput.

" - }, - "ListTagsForVaultOutput":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagMap", - "documentation":"

The tags attached to the vault. Each tag is composed of a key and a value.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "ListVaultsInput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "marker":{ - "shape":"string", - "documentation":"

A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin.

", - "location":"querystring", - "locationName":"marker" - }, - "limit":{ - "shape":"string", - "documentation":"

The maximum number of vaults to be returned. The default limit is 10. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit.

", - "location":"querystring", - "locationName":"limit" - } - }, - "documentation":"

Provides options to retrieve the vault list owned by the calling user's account. The list provides metadata information for each vault.

" - }, - "ListVaultsOutput":{ - "type":"structure", - "members":{ - "VaultList":{ - "shape":"VaultList", - "documentation":"

List of vaults.

" - }, - "Marker":{ - "shape":"string", - "documentation":"

The vault ARN at which to continue pagination of the results. You use the marker in another List Vaults request to obtain more vaults in the list.

" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "MissingParameterValueException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client.

" - }, - "code":{ - "shape":"string", - "documentation":"

400 Bad Request

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if no authentication data is found for the request.

" - } - }, - "documentation":"

Returned if a required header or parameter is missing from the request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotificationEventList":{ - "type":"list", - "member":{"shape":"string"} - }, - "NullableLong":{"type":"long"}, - "OutputLocation":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Location", - "documentation":"

Describes an S3 location that will receive the results of the job request.

" - } - }, - "documentation":"

Contains information about the location where the select job results are stored.

" - }, - "OutputSerialization":{ - "type":"structure", - "members":{ - "csv":{ - "shape":"CSVOutput", - "documentation":"

Describes the serialization of CSV-encoded query results.

" - } - }, - "documentation":"

Describes how the select output is serialized.

" - }, - "PartList":{ - "type":"list", - "member":{"shape":"PartListElement"} - }, - "PartListElement":{ - "type":"structure", - "members":{ - "RangeInBytes":{ - "shape":"string", - "documentation":"

The byte range of a part, inclusive of the upper value of the range.

" - }, - "SHA256TreeHash":{ - "shape":"string", - "documentation":"

The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never null.

" - } - }, - "documentation":"

A list of the part sizes of the multipart upload.

" - }, - "Permission":{ - "type":"string", - "enum":[ - "FULL_CONTROL", - "WRITE", - "WRITE_ACP", - "READ", - "READ_ACP" - ] - }, - "PolicyEnforcedException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client

" - }, - "code":{ - "shape":"string", - "documentation":"

PolicyEnforcedException

" - }, - "message":{ - "shape":"string", - "documentation":"

InitiateJob request denied by current data retrieval policy.

" - } - }, - "documentation":"

Returned if a retrieval job would exceed the current data policy's retrieval rate limit. For more information about data retrieval policies,

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ProvisionedCapacityDescription":{ - "type":"structure", - "members":{ - "CapacityId":{ - "shape":"string", - "documentation":"

The ID that identifies the provisioned capacity unit.

" - }, - "StartDate":{ - "shape":"string", - "documentation":"

The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).

" - }, - "ExpirationDate":{ - "shape":"string", - "documentation":"

The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).

" - } - }, - "documentation":"

The definition for a provisioned capacity unit.

" - }, - "ProvisionedCapacityList":{ - "type":"list", - "member":{"shape":"ProvisionedCapacityDescription"} - }, - "PurchaseProvisionedCapacityInput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - } - } - }, - "PurchaseProvisionedCapacityOutput":{ - "type":"structure", - "members":{ - "capacityId":{ - "shape":"string", - "documentation":"

The ID that identifies the provisioned capacity unit.

", - "location":"header", - "locationName":"x-amz-capacity-id" - } - } - }, - "QuoteFields":{ - "type":"string", - "enum":[ - "ALWAYS", - "ASNEEDED" - ] - }, - "RemoveTagsFromVaultInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys. Each corresponding tag is removed from the vault.

" - } - }, - "documentation":"

The input value for RemoveTagsFromVaultInput.

" - }, - "RequestTimeoutException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client

" - }, - "code":{ - "shape":"string", - "documentation":"

408 Request Timeout

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.

" - } - }, - "documentation":"

Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.

", - "error":{"httpStatusCode":408}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Client

" - }, - "code":{ - "shape":"string", - "documentation":"

404 Not Found

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

" - } - }, - "documentation":"

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "S3Location":{ - "type":"structure", - "members":{ - "BucketName":{ - "shape":"string", - "documentation":"

The name of the Amazon S3 bucket where the job results are stored.

" - }, - "Prefix":{ - "shape":"string", - "documentation":"

The prefix that is prepended to the results for this request.

" - }, - "Encryption":{ - "shape":"Encryption", - "documentation":"

Contains information about the encryption used to store the job results in Amazon S3.

" - }, - "CannedACL":{ - "shape":"CannedACL", - "documentation":"

The canned access control list (ACL) to apply to the job results.

" - }, - "AccessControlList":{ - "shape":"AccessControlPolicyList", - "documentation":"

A list of grants that control access to the staged results.

" - }, - "Tagging":{ - "shape":"hashmap", - "documentation":"

The tag-set that is applied to the job results.

" - }, - "UserMetadata":{ - "shape":"hashmap", - "documentation":"

A map of metadata to store with the job results in Amazon S3.

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The storage class used to store the job results.

" - } - }, - "documentation":"

Contains information about the location in Amazon S3 where the select job results are stored.

" - }, - "SelectParameters":{ - "type":"structure", - "members":{ - "InputSerialization":{ - "shape":"InputSerialization", - "documentation":"

Describes the serialization format of the object.

" - }, - "ExpressionType":{ - "shape":"ExpressionType", - "documentation":"

The type of the provided expression, for example SQL.

" - }, - "Expression":{ - "shape":"string", - "documentation":"

The expression that is used to select the object.

" - }, - "OutputSerialization":{ - "shape":"OutputSerialization", - "documentation":"

Describes how the results of the select job are serialized.

" - } - }, - "documentation":"

Contains information about the parameters used for a select.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "type":{ - "shape":"string", - "documentation":"

Server

" - }, - "code":{ - "shape":"string", - "documentation":"

500 Internal Server Error

" - }, - "message":{ - "shape":"string", - "documentation":"

Returned if the service cannot complete the request.

" - } - }, - "documentation":"

Returned if the service cannot complete the request.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "SetDataRetrievalPolicyInput":{ - "type":"structure", - "required":["accountId"], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "Policy":{ - "shape":"DataRetrievalPolicy", - "documentation":"

The data retrieval policy in JSON format.

" - } - }, - "documentation":"

SetDataRetrievalPolicy input.

" - }, - "SetVaultAccessPolicyInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "policy":{ - "shape":"VaultAccessPolicy", - "documentation":"

The vault access policy as a JSON string.

" - } - }, - "documentation":"

SetVaultAccessPolicy input.

", - "payload":"policy" - }, - "SetVaultNotificationsInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "vaultNotificationConfig":{ - "shape":"VaultNotificationConfig", - "documentation":"

Provides options for specifying notification configuration.

" - } - }, - "documentation":"

Provides options to configure notifications that will be sent when specific events happen to a vault.

", - "payload":"vaultNotificationConfig" - }, - "Size":{"type":"long"}, - "StatusCode":{ - "type":"string", - "enum":[ - "InProgress", - "Succeeded", - "Failed" - ] - }, - "StorageClass":{ - "type":"string", - "enum":[ - "STANDARD", - "REDUCED_REDUNDANCY", - "STANDARD_IA" - ] - }, - "Stream":{ - "type":"blob", - "streaming":true - }, - "TagKey":{"type":"string"}, - "TagKeyList":{ - "type":"list", - "member":{"shape":"string"} - }, - "TagMap":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"} - }, - "TagValue":{"type":"string"}, - "Type":{ - "type":"string", - "enum":[ - "AmazonCustomerByEmail", - "CanonicalUser", - "Group" - ] - }, - "UploadArchiveInput":{ - "type":"structure", - "required":[ - "vaultName", - "accountId" - ], - "members":{ - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "archiveDescription":{ - "shape":"string", - "documentation":"

The optional description of the archive you are uploading.

", - "location":"header", - "locationName":"x-amz-archive-description" - }, - "checksum":{ - "shape":"string", - "documentation":"

The SHA256 tree hash of the data being uploaded.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - }, - "body":{ - "shape":"Stream", - "documentation":"

The data to upload.

" - } - }, - "documentation":"

Provides options to add an archive to a vault.

", - "payload":"body" - }, - "UploadListElement":{ - "type":"structure", - "members":{ - "MultipartUploadId":{ - "shape":"string", - "documentation":"

The ID of a multipart upload.

" - }, - "VaultARN":{ - "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the vault that contains the archive.

" - }, - "ArchiveDescription":{ - "shape":"string", - "documentation":"

The description of the archive that was specified in the Initiate Multipart Upload request.

" - }, - "PartSizeInBytes":{ - "shape":"long", - "documentation":"

The part size, in bytes, specified in the Initiate Multipart Upload request. This is the size of all the parts in the upload except the last part, which may be smaller than this size.

" - }, - "CreationDate":{ - "shape":"string", - "documentation":"

The UTC time at which the multipart upload was initiated.

" - } - }, - "documentation":"

A list of in-progress multipart uploads for a vault.

" - }, - "UploadMultipartPartInput":{ - "type":"structure", - "required":[ - "accountId", - "vaultName", - "uploadId" - ], - "members":{ - "accountId":{ - "shape":"string", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", - "location":"uri", - "locationName":"accountId" - }, - "vaultName":{ - "shape":"string", - "documentation":"

The name of the vault.

", - "location":"uri", - "locationName":"vaultName" - }, - "uploadId":{ - "shape":"string", - "documentation":"

The upload ID of the multipart upload.

", - "location":"uri", - "locationName":"uploadId" - }, - "checksum":{ - "shape":"string", - "documentation":"

The SHA256 tree hash of the data being uploaded.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - }, - "range":{ - "shape":"string", - "documentation":"

Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon Glacier uses this information to assemble the archive in the proper sequence. The format of this header follows RFC 2616. An example header is Content-Range:bytes 0-4194303/*.

", - "location":"header", - "locationName":"Content-Range" - }, - "body":{ - "shape":"Stream", - "documentation":"

The data to upload.

" - } - }, - "documentation":"

Provides options to upload a part of an archive in a multipart upload operation.

", - "payload":"body" - }, - "UploadMultipartPartOutput":{ - "type":"structure", - "members":{ - "checksum":{ - "shape":"string", - "documentation":"

The SHA256 tree hash that Amazon Glacier computed for the uploaded part.

", - "location":"header", - "locationName":"x-amz-sha256-tree-hash" - } - }, - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "UploadsList":{ - "type":"list", - "member":{"shape":"UploadListElement"} - }, - "VaultAccessPolicy":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"string", - "documentation":"

The vault access policy.

" - } - }, - "documentation":"

Contains the vault access policy.

" - }, - "VaultList":{ - "type":"list", - "member":{"shape":"DescribeVaultOutput"} - }, - "VaultLockPolicy":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"string", - "documentation":"

The vault lock policy.

" - } - }, - "documentation":"

Contains the vault lock policy.

" - }, - "VaultNotificationConfig":{ - "type":"structure", - "members":{ - "SNSTopic":{ - "shape":"string", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic Amazon Resource Name (ARN).

" - }, - "Events":{ - "shape":"NotificationEventList", - "documentation":"

A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.

" - } - }, - "documentation":"

Represents a vault's notification configuration.

" - }, - "boolean":{"type":"boolean"}, - "hashmap":{ - "type":"map", - "key":{"shape":"string"}, - "value":{"shape":"string"} - }, - "httpstatus":{"type":"integer"}, - "long":{"type":"long"}, - "string":{"type":"string"} - }, - "documentation":"

Amazon Glacier is a storage solution for \"cold data.\"

Amazon Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Amazon Glacier, customers can store their data cost effectively for months, years, or decades. Amazon Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations.

Amazon Glacier is a great storage choice when low storage cost is paramount and your data is rarely retrieved. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, see Amazon Simple Storage Service (Amazon S3).

You can store any kind of data in any format. There is no maximum limit on the total amount of data you can store in Amazon Glacier.

If you are a first-time user of Amazon Glacier, we recommend that you begin by reading the following sections in the Amazon Glacier Developer Guide:

  • What is Amazon Glacier - This section of the Developer Guide describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service.

  • Getting Started with Amazon Glacier - The Getting Started section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/waiters-2.json deleted file mode 100644 index 07a64a05..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glacier/2012-06-01/waiters-2.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/paginators-1.json deleted file mode 100644 index e90ffafe..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/paginators-1.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "pagination": { - "GetJobs": { - "result_key": "Jobs", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetPartitions": { - "result_key": "Partitions", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetDatabases": { - "result_key": "DatabaseList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetClassifiers": { - "result_key": "Classifiers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetTableVersions": { - "result_key": "TableVersions", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetCrawlers": { - "result_key": "Crawlers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetDevEndpoints": { - "result_key": "DevEndpoints", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetJobRuns": { - "result_key": "JobRuns", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetTriggers": { - "result_key": "Triggers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetTables": { - "result_key": "TableList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetUserDefinedFunctions": { - "result_key": "UserDefinedFunctions", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetCrawlerMetrics": { - "result_key": "CrawlerMetricsList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetConnections": { - "result_key": "ConnectionList", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/service-2.json deleted file mode 100644 index c5ab5be8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/glue/2017-03-31/service-2.json +++ /dev/null @@ -1,6549 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-03-31", - "endpointPrefix":"glue", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Glue", - "serviceId":"Glue", - "signatureVersion":"v4", - "targetPrefix":"AWSGlue", - "uid":"glue-2017-03-31" - }, - "operations":{ - "BatchCreatePartition":{ - "name":"BatchCreatePartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchCreatePartitionRequest"}, - "output":{"shape":"BatchCreatePartitionResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates one or more partitions in a batch operation.

" - }, - "BatchDeleteConnection":{ - "name":"BatchDeleteConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteConnectionRequest"}, - "output":{"shape":"BatchDeleteConnectionResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a list of connection definitions from the Data Catalog.

" - }, - "BatchDeletePartition":{ - "name":"BatchDeletePartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeletePartitionRequest"}, - "output":{"shape":"BatchDeletePartitionResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes one or more partitions in a batch operation.

" - }, - "BatchDeleteTable":{ - "name":"BatchDeleteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteTableRequest"}, - "output":{"shape":"BatchDeleteTableResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes multiple tables at once.

After completing this operation, you will no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure immediate deletion of all related resources, before calling BatchDeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table.

" - }, - "BatchDeleteTableVersion":{ - "name":"BatchDeleteTableVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteTableVersionRequest"}, - "output":{"shape":"BatchDeleteTableVersionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a specified batch of versions of a table.

" - }, - "BatchGetPartition":{ - "name":"BatchGetPartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchGetPartitionRequest"}, - "output":{"shape":"BatchGetPartitionResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves partitions in a batch request.

" - }, - "BatchStopJobRun":{ - "name":"BatchStopJobRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchStopJobRunRequest"}, - "output":{"shape":"BatchStopJobRunResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Stops one or more job runs for a specified job definition.

" - }, - "CreateClassifier":{ - "name":"CreateClassifier", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClassifierRequest"}, - "output":{"shape":"CreateClassifierResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Creates a classifier in the user's account. This may be a GrokClassifier, an XMLClassifier, or abbrev JsonClassifier, depending on which field of the request is present.

" - }, - "CreateConnection":{ - "name":"CreateConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConnectionRequest"}, - "output":{"shape":"CreateConnectionResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates a connection definition in the Data Catalog.

" - }, - "CreateCrawler":{ - "name":"CreateCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCrawlerRequest"}, - "output":{"shape":"CreateCrawlerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"} - ], - "documentation":"

Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the s3Targets field, the jdbcTargets field, or the DynamoDBTargets field.

" - }, - "CreateDatabase":{ - "name":"CreateDatabase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDatabaseRequest"}, - "output":{"shape":"CreateDatabaseResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates a new database in a Data Catalog.

" - }, - "CreateDevEndpoint":{ - "name":"CreateDevEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDevEndpointRequest"}, - "output":{"shape":"CreateDevEndpointResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"}, - {"shape":"ValidationException"}, - {"shape":"ResourceNumberLimitExceededException"} - ], - "documentation":"

Creates a new DevEndpoint.

" - }, - "CreateJob":{ - "name":"CreateJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateJobRequest"}, - "output":{"shape":"CreateJobResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Creates a new job definition.

" - }, - "CreatePartition":{ - "name":"CreatePartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePartitionRequest"}, - "output":{"shape":"CreatePartitionResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates a new partition.

" - }, - "CreateScript":{ - "name":"CreateScript", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateScriptRequest"}, - "output":{"shape":"CreateScriptResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Transforms a directed acyclic graph (DAG) into code.

" - }, - "CreateSecurityConfiguration":{ - "name":"CreateSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecurityConfigurationRequest"}, - "output":{"shape":"CreateSecurityConfigurationResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"} - ], - "documentation":"

Creates a new security configuration.

" - }, - "CreateTable":{ - "name":"CreateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTableRequest"}, - "output":{"shape":"CreateTableResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates a new table definition in the Data Catalog.

" - }, - "CreateTrigger":{ - "name":"CreateTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTriggerRequest"}, - "output":{"shape":"CreateTriggerResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Creates a new trigger.

" - }, - "CreateUserDefinedFunction":{ - "name":"CreateUserDefinedFunction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserDefinedFunctionRequest"}, - "output":{"shape":"CreateUserDefinedFunctionResponse"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Creates a new function definition in the Data Catalog.

" - }, - "DeleteClassifier":{ - "name":"DeleteClassifier", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClassifierRequest"}, - "output":{"shape":"DeleteClassifierResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Removes a classifier from the Data Catalog.

" - }, - "DeleteConnection":{ - "name":"DeleteConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConnectionRequest"}, - "output":{"shape":"DeleteConnectionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a connection from the Data Catalog.

" - }, - "DeleteCrawler":{ - "name":"DeleteCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCrawlerRequest"}, - "output":{"shape":"DeleteCrawlerResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"CrawlerRunningException"}, - {"shape":"SchedulerTransitioningException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Removes a specified crawler from the Data Catalog, unless the crawler state is RUNNING.

" - }, - "DeleteDatabase":{ - "name":"DeleteDatabase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDatabaseRequest"}, - "output":{"shape":"DeleteDatabaseResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Removes a specified Database from a Data Catalog.

After completing this operation, you will no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure immediate deletion of all related resources, before calling DeleteDatabase, use DeleteTableVersion or BatchDeleteTableVersion, DeletePartition or BatchDeletePartition, DeleteUserDefinedFunction, and DeleteTable or BatchDeleteTable, to delete any resources that belong to the database.

" - }, - "DeleteDevEndpoint":{ - "name":"DeleteDevEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDevEndpointRequest"}, - "output":{"shape":"DeleteDevEndpointResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Deletes a specified DevEndpoint.

" - }, - "DeleteJob":{ - "name":"DeleteJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteJobRequest"}, - "output":{"shape":"DeleteJobResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a specified job definition. If the job definition is not found, no exception is thrown.

" - }, - "DeletePartition":{ - "name":"DeletePartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePartitionRequest"}, - "output":{"shape":"DeletePartitionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a specified partition.

" - }, - "DeleteSecurityConfiguration":{ - "name":"DeleteSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecurityConfigurationRequest"}, - "output":{"shape":"DeleteSecurityConfigurationResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a specified security configuration.

" - }, - "DeleteTable":{ - "name":"DeleteTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTableRequest"}, - "output":{"shape":"DeleteTableResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Removes a table definition from the Data Catalog.

After completing this operation, you will no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure immediate deletion of all related resources, before calling DeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table.

" - }, - "DeleteTableVersion":{ - "name":"DeleteTableVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTableVersionRequest"}, - "output":{"shape":"DeleteTableVersionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes a specified version of a table.

" - }, - "DeleteTrigger":{ - "name":"DeleteTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTriggerRequest"}, - "output":{"shape":"DeleteTriggerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes a specified trigger. If the trigger is not found, no exception is thrown.

" - }, - "DeleteUserDefinedFunction":{ - "name":"DeleteUserDefinedFunction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserDefinedFunctionRequest"}, - "output":{"shape":"DeleteUserDefinedFunctionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Deletes an existing function definition from the Data Catalog.

" - }, - "GetCatalogImportStatus":{ - "name":"GetCatalogImportStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCatalogImportStatusRequest"}, - "output":{"shape":"GetCatalogImportStatusResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves the status of a migration operation.

" - }, - "GetClassifier":{ - "name":"GetClassifier", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetClassifierRequest"}, - "output":{"shape":"GetClassifierResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieve a classifier by name.

" - }, - "GetClassifiers":{ - "name":"GetClassifiers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetClassifiersRequest"}, - "output":{"shape":"GetClassifiersResponse"}, - "errors":[ - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Lists all classifier objects in the Data Catalog.

" - }, - "GetConnection":{ - "name":"GetConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConnectionRequest"}, - "output":{"shape":"GetConnectionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a connection definition from the Data Catalog.

" - }, - "GetConnections":{ - "name":"GetConnections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConnectionsRequest"}, - "output":{"shape":"GetConnectionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a list of connection definitions from the Data Catalog.

" - }, - "GetCrawler":{ - "name":"GetCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCrawlerRequest"}, - "output":{"shape":"GetCrawlerResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves metadata for a specified crawler.

" - }, - "GetCrawlerMetrics":{ - "name":"GetCrawlerMetrics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCrawlerMetricsRequest"}, - "output":{"shape":"GetCrawlerMetricsResponse"}, - "errors":[ - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves metrics about specified crawlers.

" - }, - "GetCrawlers":{ - "name":"GetCrawlers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCrawlersRequest"}, - "output":{"shape":"GetCrawlersResponse"}, - "errors":[ - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves metadata for all crawlers defined in the customer account.

" - }, - "GetDatabase":{ - "name":"GetDatabase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDatabaseRequest"}, - "output":{"shape":"GetDatabaseResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves the definition of a specified database.

" - }, - "GetDatabases":{ - "name":"GetDatabases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDatabasesRequest"}, - "output":{"shape":"GetDatabasesResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves all Databases defined in a given Data Catalog.

" - }, - "GetDataflowGraph":{ - "name":"GetDataflowGraph", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDataflowGraphRequest"}, - "output":{"shape":"GetDataflowGraphResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Transforms a Python script into a directed acyclic graph (DAG).

" - }, - "GetDevEndpoint":{ - "name":"GetDevEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDevEndpointRequest"}, - "output":{"shape":"GetDevEndpointResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Retrieves information about a specified DevEndpoint.

" - }, - "GetDevEndpoints":{ - "name":"GetDevEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDevEndpointsRequest"}, - "output":{"shape":"GetDevEndpointsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Retrieves all the DevEndpoints in this AWS account.

" - }, - "GetJob":{ - "name":"GetJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobRequest"}, - "output":{"shape":"GetJobResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves an existing job definition.

" - }, - "GetJobRun":{ - "name":"GetJobRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobRunRequest"}, - "output":{"shape":"GetJobRunResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves the metadata for a given job run.

" - }, - "GetJobRuns":{ - "name":"GetJobRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobRunsRequest"}, - "output":{"shape":"GetJobRunsResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves metadata for all runs of a given job definition.

" - }, - "GetJobs":{ - "name":"GetJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobsRequest"}, - "output":{"shape":"GetJobsResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves all current job definitions.

" - }, - "GetMapping":{ - "name":"GetMapping", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMappingRequest"}, - "output":{"shape":"GetMappingResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"EntityNotFoundException"} - ], - "documentation":"

Creates mappings.

" - }, - "GetPartition":{ - "name":"GetPartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPartitionRequest"}, - "output":{"shape":"GetPartitionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves information about a specified partition.

" - }, - "GetPartitions":{ - "name":"GetPartitions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPartitionsRequest"}, - "output":{"shape":"GetPartitionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves information about the partitions in a table.

" - }, - "GetPlan":{ - "name":"GetPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPlanRequest"}, - "output":{"shape":"GetPlanResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Gets code to perform a specified mapping.

" - }, - "GetSecurityConfiguration":{ - "name":"GetSecurityConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSecurityConfigurationRequest"}, - "output":{"shape":"GetSecurityConfigurationResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves a specified security configuration.

" - }, - "GetSecurityConfigurations":{ - "name":"GetSecurityConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSecurityConfigurationsRequest"}, - "output":{"shape":"GetSecurityConfigurationsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves a list of all security configurations.

" - }, - "GetTable":{ - "name":"GetTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTableRequest"}, - "output":{"shape":"GetTableResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves the Table definition in a Data Catalog for a specified table.

" - }, - "GetTableVersion":{ - "name":"GetTableVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTableVersionRequest"}, - "output":{"shape":"GetTableVersionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a specified version of a table.

" - }, - "GetTableVersions":{ - "name":"GetTableVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTableVersionsRequest"}, - "output":{"shape":"GetTableVersionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a list of strings that identify available versions of a specified table.

" - }, - "GetTables":{ - "name":"GetTables", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTablesRequest"}, - "output":{"shape":"GetTablesResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves the definitions of some or all of the tables in a given Database.

" - }, - "GetTrigger":{ - "name":"GetTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTriggerRequest"}, - "output":{"shape":"GetTriggerResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Retrieves the definition of a trigger.

" - }, - "GetTriggers":{ - "name":"GetTriggers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTriggersRequest"}, - "output":{"shape":"GetTriggersResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Gets all the triggers associated with a job.

" - }, - "GetUserDefinedFunction":{ - "name":"GetUserDefinedFunction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserDefinedFunctionRequest"}, - "output":{"shape":"GetUserDefinedFunctionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a specified function definition from the Data Catalog.

" - }, - "GetUserDefinedFunctions":{ - "name":"GetUserDefinedFunctions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserDefinedFunctionsRequest"}, - "output":{"shape":"GetUserDefinedFunctionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Retrieves a multiple function definitions from the Data Catalog.

" - }, - "ImportCatalogToGlue":{ - "name":"ImportCatalogToGlue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportCatalogToGlueRequest"}, - "output":{"shape":"ImportCatalogToGlueResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Imports an existing Athena Data Catalog to AWS Glue

" - }, - "PutDataCatalogEncryptionSettings":{ - "name":"PutDataCatalogEncryptionSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutDataCatalogEncryptionSettingsRequest"}, - "output":{"shape":"PutDataCatalogEncryptionSettingsResponse"}, - "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Sets the security configuration for a specified catalog. Once the configuration has been set, the specified encryption is applied to every catalog write thereafter.

" - }, - "ResetJobBookmark":{ - "name":"ResetJobBookmark", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetJobBookmarkRequest"}, - "output":{"shape":"ResetJobBookmarkResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Resets a bookmark entry.

" - }, - "StartCrawler":{ - "name":"StartCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartCrawlerRequest"}, - "output":{"shape":"StartCrawlerResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"CrawlerRunningException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException.

" - }, - "StartCrawlerSchedule":{ - "name":"StartCrawlerSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartCrawlerScheduleRequest"}, - "output":{"shape":"StartCrawlerScheduleResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"SchedulerRunningException"}, - {"shape":"SchedulerTransitioningException"}, - {"shape":"NoScheduleException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already running or the schedule state is already SCHEDULED.

" - }, - "StartJobRun":{ - "name":"StartJobRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartJobRunRequest"}, - "output":{"shape":"StartJobRunResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"ConcurrentRunsExceededException"} - ], - "documentation":"

Starts a job run using a job definition.

" - }, - "StartTrigger":{ - "name":"StartTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartTriggerRequest"}, - "output":{"shape":"StartTriggerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"ConcurrentRunsExceededException"} - ], - "documentation":"

Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started.

" - }, - "StopCrawler":{ - "name":"StopCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopCrawlerRequest"}, - "output":{"shape":"StopCrawlerResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"CrawlerNotRunningException"}, - {"shape":"CrawlerStoppingException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

If the specified crawler is running, stops the crawl.

" - }, - "StopCrawlerSchedule":{ - "name":"StopCrawlerSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopCrawlerScheduleRequest"}, - "output":{"shape":"StopCrawlerScheduleResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"SchedulerNotRunningException"}, - {"shape":"SchedulerTransitioningException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if it is already running.

" - }, - "StopTrigger":{ - "name":"StopTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopTriggerRequest"}, - "output":{"shape":"StopTriggerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Stops a specified trigger.

" - }, - "UpdateClassifier":{ - "name":"UpdateClassifier", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateClassifierRequest"}, - "output":{"shape":"UpdateClassifierResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"VersionMismatchException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Modifies an existing classifier (a GrokClassifier, XMLClassifier, or JsonClassifier, depending on which field is present).

" - }, - "UpdateConnection":{ - "name":"UpdateConnection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConnectionRequest"}, - "output":{"shape":"UpdateConnectionResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Updates a connection definition in the Data Catalog.

" - }, - "UpdateCrawler":{ - "name":"UpdateCrawler", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateCrawlerRequest"}, - "output":{"shape":"UpdateCrawlerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"VersionMismatchException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"CrawlerRunningException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Updates a crawler. If a crawler is running, you must stop it using StopCrawler before updating it.

" - }, - "UpdateCrawlerSchedule":{ - "name":"UpdateCrawlerSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateCrawlerScheduleRequest"}, - "output":{"shape":"UpdateCrawlerScheduleResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"VersionMismatchException"}, - {"shape":"SchedulerTransitioningException"}, - {"shape":"OperationTimeoutException"} - ], - "documentation":"

Updates the schedule of a crawler using a cron expression.

" - }, - "UpdateDatabase":{ - "name":"UpdateDatabase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDatabaseRequest"}, - "output":{"shape":"UpdateDatabaseResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Updates an existing database definition in a Data Catalog.

" - }, - "UpdateDevEndpoint":{ - "name":"UpdateDevEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDevEndpointRequest"}, - "output":{"shape":"UpdateDevEndpointResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"InvalidInputException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Updates a specified DevEndpoint.

" - }, - "UpdateJob":{ - "name":"UpdateJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateJobRequest"}, - "output":{"shape":"UpdateJobResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Updates an existing job definition.

" - }, - "UpdatePartition":{ - "name":"UpdatePartition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePartitionRequest"}, - "output":{"shape":"UpdatePartitionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Updates a partition.

" - }, - "UpdateTable":{ - "name":"UpdateTable", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTableRequest"}, - "output":{"shape":"UpdateTableResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Updates a metadata table in the Data Catalog.

" - }, - "UpdateTrigger":{ - "name":"UpdateTrigger", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTriggerRequest"}, - "output":{"shape":"UpdateTriggerResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Updates a trigger definition.

" - }, - "UpdateUserDefinedFunction":{ - "name":"UpdateUserDefinedFunction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserDefinedFunctionRequest"}, - "output":{"shape":"UpdateUserDefinedFunctionResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} - ], - "documentation":"

Updates an existing function definition in the Data Catalog.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

Access to a resource was denied.

", - "exception":true - }, - "Action":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of a job to be executed.

" - }, - "Arguments":{ - "shape":"GenericMap", - "documentation":"

Arguments to be passed to the job run.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job run notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this action.

" - } - }, - "documentation":"

Defines an action to be initiated by a trigger.

" - }, - "ActionList":{ - "type":"list", - "member":{"shape":"Action"} - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

A resource to be created or added already exists.

", - "exception":true - }, - "AttemptCount":{"type":"integer"}, - "BatchCreatePartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionInputList" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the metadata database in which the partition is to be created.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the metadata table in which the partition is to be created.

" - }, - "PartitionInputList":{ - "shape":"PartitionInputList", - "documentation":"

A list of PartitionInput structures that define the partitions to be created.

" - } - } - }, - "BatchCreatePartitionResponse":{ - "type":"structure", - "members":{ - "Errors":{ - "shape":"PartitionErrors", - "documentation":"

Errors encountered when trying to create the requested partitions.

" - } - } - }, - "BatchDeleteConnectionRequest":{ - "type":"structure", - "required":["ConnectionNameList"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

" - }, - "ConnectionNameList":{ - "shape":"DeleteConnectionNameList", - "documentation":"

A list of names of the connections to delete.

" - } - } - }, - "BatchDeleteConnectionResponse":{ - "type":"structure", - "members":{ - "Succeeded":{ - "shape":"NameStringList", - "documentation":"

A list of names of the connection definitions that were successfully deleted.

" - }, - "Errors":{ - "shape":"ErrorByName", - "documentation":"

A map of the names of connections that were not successfully deleted to error details.

" - } - } - }, - "BatchDeletePartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionsToDelete" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which the table in question resides.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table where the partitions to be deleted is located.

" - }, - "PartitionsToDelete":{ - "shape":"BatchDeletePartitionValueList", - "documentation":"

A list of PartitionInput structures that define the partitions to be deleted.

" - } - } - }, - "BatchDeletePartitionResponse":{ - "type":"structure", - "members":{ - "Errors":{ - "shape":"PartitionErrors", - "documentation":"

Errors encountered when trying to delete the requested partitions.

" - } - } - }, - "BatchDeletePartitionValueList":{ - "type":"list", - "member":{"shape":"PartitionValueList"}, - "max":25, - "min":0 - }, - "BatchDeleteTableNameList":{ - "type":"list", - "member":{"shape":"NameString"}, - "max":100, - "min":0 - }, - "BatchDeleteTableRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TablesToDelete" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the tables to delete reside. For Hive compatibility, this name is entirely lowercase.

" - }, - "TablesToDelete":{ - "shape":"BatchDeleteTableNameList", - "documentation":"

A list of the table to delete.

" - } - } - }, - "BatchDeleteTableResponse":{ - "type":"structure", - "members":{ - "Errors":{ - "shape":"TableErrors", - "documentation":"

A list of errors encountered in attempting to delete the specified tables.

" - } - } - }, - "BatchDeleteTableVersionList":{ - "type":"list", - "member":{"shape":"VersionString"}, - "max":100, - "min":0 - }, - "BatchDeleteTableVersionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "VersionIds" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" - }, - "VersionIds":{ - "shape":"BatchDeleteTableVersionList", - "documentation":"

A list of the IDs of versions to be deleted.

" - } - } - }, - "BatchDeleteTableVersionResponse":{ - "type":"structure", - "members":{ - "Errors":{ - "shape":"TableVersionErrors", - "documentation":"

A list of errors encountered while trying to delete the specified table versions.

" - } - } - }, - "BatchGetPartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionsToGet" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the partitions reside.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the partitions' table.

" - }, - "PartitionsToGet":{ - "shape":"BatchGetPartitionValueList", - "documentation":"

A list of partition values identifying the partitions to retrieve.

" - } - } - }, - "BatchGetPartitionResponse":{ - "type":"structure", - "members":{ - "Partitions":{ - "shape":"PartitionList", - "documentation":"

A list of the requested partitions.

" - }, - "UnprocessedKeys":{ - "shape":"BatchGetPartitionValueList", - "documentation":"

A list of the partition values in the request for which partions were not returned.

" - } - } - }, - "BatchGetPartitionValueList":{ - "type":"list", - "member":{"shape":"PartitionValueList"}, - "max":1000, - "min":0 - }, - "BatchStopJobRunError":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition used in the job run in question.

" - }, - "JobRunId":{ - "shape":"IdString", - "documentation":"

The JobRunId of the job run in question.

" - }, - "ErrorDetail":{ - "shape":"ErrorDetail", - "documentation":"

Specifies details about the error that was encountered.

" - } - }, - "documentation":"

Records an error that occurred when attempting to stop a specified job run.

" - }, - "BatchStopJobRunErrorList":{ - "type":"list", - "member":{"shape":"BatchStopJobRunError"} - }, - "BatchStopJobRunJobRunIdList":{ - "type":"list", - "member":{"shape":"IdString"}, - "max":25, - "min":1 - }, - "BatchStopJobRunRequest":{ - "type":"structure", - "required":[ - "JobName", - "JobRunIds" - ], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition for which to stop job runs.

" - }, - "JobRunIds":{ - "shape":"BatchStopJobRunJobRunIdList", - "documentation":"

A list of the JobRunIds that should be stopped for that job definition.

" - } - } - }, - "BatchStopJobRunResponse":{ - "type":"structure", - "members":{ - "SuccessfulSubmissions":{ - "shape":"BatchStopJobRunSuccessfulSubmissionList", - "documentation":"

A list of the JobRuns that were successfully submitted for stopping.

" - }, - "Errors":{ - "shape":"BatchStopJobRunErrorList", - "documentation":"

A list of the errors that were encountered in tryng to stop JobRuns, including the JobRunId for which each error was encountered and details about the error.

" - } - } - }, - "BatchStopJobRunSuccessfulSubmission":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition used in the job run that was stopped.

" - }, - "JobRunId":{ - "shape":"IdString", - "documentation":"

The JobRunId of the job run that was stopped.

" - } - }, - "documentation":"

Records a successful request to stop a specified JobRun.

" - }, - "BatchStopJobRunSuccessfulSubmissionList":{ - "type":"list", - "member":{"shape":"BatchStopJobRunSuccessfulSubmission"} - }, - "Boolean":{"type":"boolean"}, - "BooleanNullable":{"type":"boolean"}, - "BooleanValue":{"type":"boolean"}, - "BoundedPartitionValueList":{ - "type":"list", - "member":{"shape":"ValueString"}, - "max":100, - "min":0 - }, - "CatalogEncryptionMode":{ - "type":"string", - "enum":[ - "DISABLED", - "SSE-KMS" - ] - }, - "CatalogEntries":{ - "type":"list", - "member":{"shape":"CatalogEntry"} - }, - "CatalogEntry":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName" - ], - "members":{ - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in which the table metadata resides.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table in question.

" - } - }, - "documentation":"

Specifies a table definition in the Data Catalog.

" - }, - "CatalogIdString":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "CatalogImportStatus":{ - "type":"structure", - "members":{ - "ImportCompleted":{ - "shape":"Boolean", - "documentation":"

True if the migration has completed, or False otherwise.

" - }, - "ImportTime":{ - "shape":"Timestamp", - "documentation":"

The time that the migration was started.

" - }, - "ImportedBy":{ - "shape":"NameString", - "documentation":"

The name of the person who initiated the migration.

" - } - }, - "documentation":"

A structure containing migration status information.

" - }, - "Classification":{"type":"string"}, - "Classifier":{ - "type":"structure", - "members":{ - "GrokClassifier":{ - "shape":"GrokClassifier", - "documentation":"

A GrokClassifier object.

" - }, - "XMLClassifier":{ - "shape":"XMLClassifier", - "documentation":"

An XMLClassifier object.

" - }, - "JsonClassifier":{ - "shape":"JsonClassifier", - "documentation":"

A JsonClassifier object.

" - } - }, - "documentation":"

Classifiers are triggered during a crawl task. A classifier checks whether a given file is in a format it can handle, and if it is, the classifier creates a schema in the form of a StructType object that matches that data format.

You can use the standard classifiers that AWS Glue supplies, or you can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier can be a grok classifier, an XML classifier, or a JSON classifier, as specified in one of the fields in the Classifier object.

" - }, - "ClassifierList":{ - "type":"list", - "member":{"shape":"Classifier"} - }, - "ClassifierNameList":{ - "type":"list", - "member":{"shape":"NameString"} - }, - "CloudWatchEncryption":{ - "type":"structure", - "members":{ - "CloudWatchEncryptionMode":{ - "shape":"CloudWatchEncryptionMode", - "documentation":"

The encryption mode to use for CloudWatch data.

" - }, - "KmsKeyArn":{ - "shape":"KmsKeyArn", - "documentation":"

The AWS ARN of the KMS key to be used to encrypt the data.

" - } - }, - "documentation":"

Specifies how CloudWatch data should be encrypted.

" - }, - "CloudWatchEncryptionMode":{ - "type":"string", - "enum":[ - "DISABLED", - "SSE-KMS" - ] - }, - "CodeGenArgName":{"type":"string"}, - "CodeGenArgValue":{"type":"string"}, - "CodeGenEdge":{ - "type":"structure", - "required":[ - "Source", - "Target" - ], - "members":{ - "Source":{ - "shape":"CodeGenIdentifier", - "documentation":"

The ID of the node at which the edge starts.

" - }, - "Target":{ - "shape":"CodeGenIdentifier", - "documentation":"

The ID of the node at which the edge ends.

" - }, - "TargetParameter":{ - "shape":"CodeGenArgName", - "documentation":"

The target of the edge.

" - } - }, - "documentation":"

Represents a directional edge in a directed acyclic graph (DAG).

" - }, - "CodeGenIdentifier":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[A-Za-z_][A-Za-z0-9_]*" - }, - "CodeGenNode":{ - "type":"structure", - "required":[ - "Id", - "NodeType", - "Args" - ], - "members":{ - "Id":{ - "shape":"CodeGenIdentifier", - "documentation":"

A node identifier that is unique within the node's graph.

" - }, - "NodeType":{ - "shape":"CodeGenNodeType", - "documentation":"

The type of node this is.

" - }, - "Args":{ - "shape":"CodeGenNodeArgs", - "documentation":"

Properties of the node, in the form of name-value pairs.

" - }, - "LineNumber":{ - "shape":"Integer", - "documentation":"

The line number of the node.

" - } - }, - "documentation":"

Represents a node in a directed acyclic graph (DAG)

" - }, - "CodeGenNodeArg":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"CodeGenArgName", - "documentation":"

The name of the argument or property.

" - }, - "Value":{ - "shape":"CodeGenArgValue", - "documentation":"

The value of the argument or property.

" - }, - "Param":{ - "shape":"Boolean", - "documentation":"

True if the value is used as a parameter.

" - } - }, - "documentation":"

An argument or property of a node.

" - }, - "CodeGenNodeArgs":{ - "type":"list", - "member":{"shape":"CodeGenNodeArg"}, - "max":50, - "min":0 - }, - "CodeGenNodeType":{"type":"string"}, - "Column":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the Column.

" - }, - "Type":{ - "shape":"ColumnTypeString", - "documentation":"

The datatype of data in the Column.

" - }, - "Comment":{ - "shape":"CommentString", - "documentation":"

Free-form text comment.

" - } - }, - "documentation":"

A column in a Table.

" - }, - "ColumnList":{ - "type":"list", - "member":{"shape":"Column"} - }, - "ColumnTypeString":{ - "type":"string", - "max":131072, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "ColumnValueStringList":{ - "type":"list", - "member":{"shape":"ColumnValuesString"} - }, - "ColumnValuesString":{"type":"string"}, - "CommentString":{ - "type":"string", - "max":255, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

Two processes are trying to modify a resource simultaneously.

", - "exception":true - }, - "ConcurrentRunsExceededException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

Too many jobs are being run concurrently.

", - "exception":true - }, - "Condition":{ - "type":"structure", - "members":{ - "LogicalOperator":{ - "shape":"LogicalOperator", - "documentation":"

A logical operator.

" - }, - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the Job to whose JobRuns this condition applies and on which this trigger waits.

" - }, - "State":{ - "shape":"JobRunState", - "documentation":"

The condition state. Currently, the values supported are SUCCEEDED, STOPPED, TIMEOUT and FAILED.

" - } - }, - "documentation":"

Defines a condition under which a trigger fires.

" - }, - "ConditionList":{ - "type":"list", - "member":{"shape":"Condition"} - }, - "Connection":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the connection definition.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the connection.

" - }, - "ConnectionType":{ - "shape":"ConnectionType", - "documentation":"

The type of the connection. Currently, only JDBC is supported; SFTP is not supported.

" - }, - "MatchCriteria":{ - "shape":"MatchCriteria", - "documentation":"

A list of criteria that can be used in selecting this connection.

" - }, - "ConnectionProperties":{ - "shape":"ConnectionProperties", - "documentation":"

These key-value pairs define parameters for the connection:

  • HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the database host.

  • PORT - The port number, between 1024 and 65535, of the port on which the database host is listening for database connections.

  • USER_NAME - The name under which to log in to the database.

  • PASSWORD - A password, if one is used, for the user name.

  • JDBC_DRIVER_JAR_URI - The S3 path of the a jar file that contains the JDBC driver to use.

  • JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

  • JDBC_ENGINE - The name of the JDBC engine to use.

  • JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

  • CONFIG_FILES - (Reserved for future use).

  • INSTANCE_ID - The instance ID to use.

  • JDBC_CONNECTION_URL - The URL for the JDBC connection.

  • JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether SSL with hostname matching will be enforced for the JDBC connection on the client. The default is false.

" - }, - "PhysicalConnectionRequirements":{ - "shape":"PhysicalConnectionRequirements", - "documentation":"

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time this connection definition was created.

" - }, - "LastUpdatedTime":{ - "shape":"Timestamp", - "documentation":"

The last time this connection definition was updated.

" - }, - "LastUpdatedBy":{ - "shape":"NameString", - "documentation":"

The user, group or role that last updated this connection definition.

" - } - }, - "documentation":"

Defines a connection to a data source.

" - }, - "ConnectionInput":{ - "type":"structure", - "required":[ - "Name", - "ConnectionType", - "ConnectionProperties" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the connection.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the connection.

" - }, - "ConnectionType":{ - "shape":"ConnectionType", - "documentation":"

The type of the connection. Currently, only JDBC is supported; SFTP is not supported.

" - }, - "MatchCriteria":{ - "shape":"MatchCriteria", - "documentation":"

A list of criteria that can be used in selecting this connection.

" - }, - "ConnectionProperties":{ - "shape":"ConnectionProperties", - "documentation":"

These key-value pairs define parameters for the connection.

" - }, - "PhysicalConnectionRequirements":{ - "shape":"PhysicalConnectionRequirements", - "documentation":"

A map of physical connection requirements, such as VPC and SecurityGroup, needed for making this connection successfully.

" - } - }, - "documentation":"

A structure used to specify a connection to create or update.

" - }, - "ConnectionList":{ - "type":"list", - "member":{"shape":"Connection"} - }, - "ConnectionName":{"type":"string"}, - "ConnectionProperties":{ - "type":"map", - "key":{"shape":"ConnectionPropertyKey"}, - "value":{"shape":"ValueString"}, - "max":100, - "min":0 - }, - "ConnectionPropertyKey":{ - "type":"string", - "enum":[ - "HOST", - "PORT", - "USERNAME", - "PASSWORD", - "JDBC_DRIVER_JAR_URI", - "JDBC_DRIVER_CLASS_NAME", - "JDBC_ENGINE", - "JDBC_ENGINE_VERSION", - "CONFIG_FILES", - "INSTANCE_ID", - "JDBC_CONNECTION_URL", - "JDBC_ENFORCE_SSL" - ] - }, - "ConnectionType":{ - "type":"string", - "enum":[ - "JDBC", - "SFTP" - ] - }, - "ConnectionsList":{ - "type":"structure", - "members":{ - "Connections":{ - "shape":"StringList", - "documentation":"

A list of connections used by the job.

" - } - }, - "documentation":"

Specifies the connections used by a job.

" - }, - "Crawler":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The crawler name.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used to access customer resources, such as data in Amazon S3.

" - }, - "Targets":{ - "shape":"CrawlerTargets", - "documentation":"

A collection of targets to crawl.

" - }, - "DatabaseName":{ - "shape":"DatabaseName", - "documentation":"

The database where metadata is written by this crawler.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

A description of the crawler.

" - }, - "Classifiers":{ - "shape":"ClassifierNameList", - "documentation":"

A list of custom classifiers associated with the crawler.

" - }, - "SchemaChangePolicy":{ - "shape":"SchemaChangePolicy", - "documentation":"

Sets the behavior when the crawler finds a changed or deleted object.

" - }, - "State":{ - "shape":"CrawlerState", - "documentation":"

Indicates whether the crawler is running, or whether a run is pending.

" - }, - "TablePrefix":{ - "shape":"TablePrefix", - "documentation":"

The prefix added to the names of tables that are created.

" - }, - "Schedule":{ - "shape":"Schedule", - "documentation":"

For scheduled crawlers, the schedule when the crawler runs.

" - }, - "CrawlElapsedTime":{ - "shape":"MillisecondsCount", - "documentation":"

If the crawler is running, contains the total time elapsed since the last crawl began.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time when the crawler was created.

" - }, - "LastUpdated":{ - "shape":"Timestamp", - "documentation":"

The time the crawler was last updated.

" - }, - "LastCrawl":{ - "shape":"LastCrawlInfo", - "documentation":"

The status of the last crawl, and potentially error information if an error occurred.

" - }, - "Version":{ - "shape":"VersionId", - "documentation":"

The version of the crawler.

" - }, - "Configuration":{ - "shape":"CrawlerConfiguration", - "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior.

You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior:

Example: '{ \"Version\": 1.0, \"CrawlerOutput\": { \"Partitions\": { \"AddOrUpdateBehavior\": \"InheritFromTable\" } } }'

" - }, - "CrawlerSecurityConfiguration":{ - "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" - } - }, - "documentation":"

Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the AWS Glue Data Catalog.

" - }, - "CrawlerConfiguration":{"type":"string"}, - "CrawlerList":{ - "type":"list", - "member":{"shape":"Crawler"} - }, - "CrawlerMetrics":{ - "type":"structure", - "members":{ - "CrawlerName":{ - "shape":"NameString", - "documentation":"

The name of the crawler.

" - }, - "TimeLeftSeconds":{ - "shape":"NonNegativeDouble", - "documentation":"

The estimated time left to complete a running crawl.

" - }, - "StillEstimating":{ - "shape":"Boolean", - "documentation":"

True if the crawler is still estimating how long it will take to complete this run.

" - }, - "LastRuntimeSeconds":{ - "shape":"NonNegativeDouble", - "documentation":"

The duration of the crawler's most recent run, in seconds.

" - }, - "MedianRuntimeSeconds":{ - "shape":"NonNegativeDouble", - "documentation":"

The median duration of this crawler's runs, in seconds.

" - }, - "TablesCreated":{ - "shape":"NonNegativeInteger", - "documentation":"

The number of tables created by this crawler.

" - }, - "TablesUpdated":{ - "shape":"NonNegativeInteger", - "documentation":"

The number of tables updated by this crawler.

" - }, - "TablesDeleted":{ - "shape":"NonNegativeInteger", - "documentation":"

The number of tables deleted by this crawler.

" - } - }, - "documentation":"

Metrics for a specified crawler.

" - }, - "CrawlerMetricsList":{ - "type":"list", - "member":{"shape":"CrawlerMetrics"} - }, - "CrawlerNameList":{ - "type":"list", - "member":{"shape":"NameString"}, - "max":100, - "min":0 - }, - "CrawlerNotRunningException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The specified crawler is not running.

", - "exception":true - }, - "CrawlerRunningException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The operation cannot be performed because the crawler is already running.

", - "exception":true - }, - "CrawlerSecurityConfiguration":{ - "type":"string", - "max":128, - "min":0 - }, - "CrawlerState":{ - "type":"string", - "enum":[ - "READY", - "RUNNING", - "STOPPING" - ] - }, - "CrawlerStoppingException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The specified crawler is stopping.

", - "exception":true - }, - "CrawlerTargets":{ - "type":"structure", - "members":{ - "S3Targets":{ - "shape":"S3TargetList", - "documentation":"

Specifies Amazon S3 targets.

" - }, - "JdbcTargets":{ - "shape":"JdbcTargetList", - "documentation":"

Specifies JDBC targets.

" - }, - "DynamoDBTargets":{ - "shape":"DynamoDBTargetList", - "documentation":"

Specifies DynamoDB targets.

" - } - }, - "documentation":"

Specifies data stores to crawl.

" - }, - "CreateClassifierRequest":{ - "type":"structure", - "members":{ - "GrokClassifier":{ - "shape":"CreateGrokClassifierRequest", - "documentation":"

A GrokClassifier object specifying the classifier to create.

" - }, - "XMLClassifier":{ - "shape":"CreateXMLClassifierRequest", - "documentation":"

An XMLClassifier object specifying the classifier to create.

" - }, - "JsonClassifier":{ - "shape":"CreateJsonClassifierRequest", - "documentation":"

A JsonClassifier object specifying the classifier to create.

" - } - } - }, - "CreateClassifierResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateConnectionRequest":{ - "type":"structure", - "required":["ConnectionInput"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.

" - }, - "ConnectionInput":{ - "shape":"ConnectionInput", - "documentation":"

A ConnectionInput object defining the connection to create.

" - } - } - }, - "CreateConnectionResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateCrawlerRequest":{ - "type":"structure", - "required":[ - "Name", - "Role", - "DatabaseName", - "Targets" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the new crawler.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources.

" - }, - "DatabaseName":{ - "shape":"DatabaseName", - "documentation":"

The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

A description of the new crawler.

" - }, - "Targets":{ - "shape":"CrawlerTargets", - "documentation":"

A list of collection of targets to crawl.

" - }, - "Schedule":{ - "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - }, - "Classifiers":{ - "shape":"ClassifierNameList", - "documentation":"

A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" - }, - "TablePrefix":{ - "shape":"TablePrefix", - "documentation":"

The table prefix used for catalog tables that are created.

" - }, - "SchemaChangePolicy":{ - "shape":"SchemaChangePolicy", - "documentation":"

Policy for the crawler's update and deletion behavior.

" - }, - "Configuration":{ - "shape":"CrawlerConfiguration", - "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior.

You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior:

Example: '{ \"Version\": 1.0, \"CrawlerOutput\": { \"Partitions\": { \"AddOrUpdateBehavior\": \"InheritFromTable\" } } }'

" - }, - "CrawlerSecurityConfiguration":{ - "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" - } - } - }, - "CreateCrawlerResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateDatabaseRequest":{ - "type":"structure", - "required":["DatabaseInput"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which to create the database. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseInput":{ - "shape":"DatabaseInput", - "documentation":"

A DatabaseInput object defining the metadata database to create in the catalog.

" - } - } - }, - "CreateDatabaseResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateDevEndpointRequest":{ - "type":"structure", - "required":[ - "EndpointName", - "RoleArn" - ], - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name to be assigned to the new DevEndpoint.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The IAM role for the DevEndpoint.

" - }, - "SecurityGroupIds":{ - "shape":"StringList", - "documentation":"

Security group IDs for the security groups to be used by the new DevEndpoint.

" - }, - "SubnetId":{ - "shape":"GenericString", - "documentation":"

The subnet ID for the new DevEndpoint to use.

" - }, - "PublicKey":{ - "shape":"GenericString", - "documentation":"

The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility, as the recommended attribute to use is public keys.

" - }, - "PublicKeys":{ - "shape":"PublicKeysList", - "documentation":"

A list of public keys to be used by the DevEndpoints for authentication. The use of this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.

If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys: call the UpdateDevEndpoint API with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute.

" - }, - "NumberOfNodes":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.

" - }, - "ExtraPythonLibsS3Path":{ - "shape":"GenericString", - "documentation":"

Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not yet supported.

" - }, - "ExtraJarsS3Path":{ - "shape":"GenericString", - "documentation":"

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" - } - } - }, - "CreateDevEndpointResponse":{ - "type":"structure", - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name assigned to the new DevEndpoint.

" - }, - "Status":{ - "shape":"GenericString", - "documentation":"

The current status of the new DevEndpoint.

" - }, - "SecurityGroupIds":{ - "shape":"StringList", - "documentation":"

The security groups assigned to the new DevEndpoint.

" - }, - "SubnetId":{ - "shape":"GenericString", - "documentation":"

The subnet ID assigned to the new DevEndpoint.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The AWS ARN of the role assigned to the new DevEndpoint.

" - }, - "YarnEndpointAddress":{ - "shape":"GenericString", - "documentation":"

The address of the YARN endpoint used by this DevEndpoint.

" - }, - "ZeppelinRemoteSparkInterpreterPort":{ - "shape":"IntegerValue", - "documentation":"

The Apache Zeppelin port for the remote Apache Spark interpreter.

" - }, - "NumberOfNodes":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

" - }, - "AvailabilityZone":{ - "shape":"GenericString", - "documentation":"

The AWS availability zone where this DevEndpoint is located.

" - }, - "VpcId":{ - "shape":"GenericString", - "documentation":"

The ID of the VPC used by this DevEndpoint.

" - }, - "ExtraPythonLibsS3Path":{ - "shape":"GenericString", - "documentation":"

Path(s) to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.

" - }, - "ExtraJarsS3Path":{ - "shape":"GenericString", - "documentation":"

Path to one or more Java Jars in an S3 bucket that will be loaded in your DevEndpoint.

" - }, - "FailureReason":{ - "shape":"GenericString", - "documentation":"

The reason for a current failure in this DevEndpoint.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure being used with this DevEndpoint.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampValue", - "documentation":"

The point in time at which this DevEndpoint was created.

" - } - } - }, - "CreateGrokClassifierRequest":{ - "type":"structure", - "required":[ - "Classification", - "Name", - "GrokPattern" - ], - "members":{ - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the new classifier.

" - }, - "GrokPattern":{ - "shape":"GrokPattern", - "documentation":"

The grok pattern used by this classifier.

" - }, - "CustomPatterns":{ - "shape":"CustomPatterns", - "documentation":"

Optional custom grok patterns used by this classifier.

" - } - }, - "documentation":"

Specifies a grok classifier for CreateClassifier to create.

" - }, - "CreateJobRequest":{ - "type":"structure", - "required":[ - "Name", - "Role", - "Command" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name you assign to this job definition. It must be unique in your account.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the job being defined.

" - }, - "LogUri":{ - "shape":"UriString", - "documentation":"

This field is reserved for future use.

" - }, - "Role":{ - "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job.

" - }, - "ExecutionProperty":{ - "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" - }, - "Command":{ - "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job.

" - }, - "DefaultArguments":{ - "shape":"GenericMap", - "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "Connections":{ - "shape":"ConnectionsList", - "documentation":"

The connections used for this job.

" - }, - "MaxRetries":{ - "shape":"MaxRetries", - "documentation":"

The maximum number of times to retry this job if it fails.

" - }, - "AllocatedCapacity":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" - } - } - }, - "CreateJobResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The unique name that was provided for this job definition.

" - } - } - }, - "CreateJsonClassifierRequest":{ - "type":"structure", - "required":[ - "Name", - "JsonPath" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "JsonPath":{ - "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" - } - }, - "documentation":"

Specifies a JSON classifier for CreateClassifier to create.

" - }, - "CreatePartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the catalog in which the partion is to be created. Currently, this should be the AWS account ID.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the metadata database in which the partition is to be created.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the metadata table in which the partition is to be created.

" - }, - "PartitionInput":{ - "shape":"PartitionInput", - "documentation":"

A PartitionInput structure defining the partition to be created.

" - } - } - }, - "CreatePartitionResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateScriptRequest":{ - "type":"structure", - "members":{ - "DagNodes":{ - "shape":"DagNodes", - "documentation":"

A list of the nodes in the DAG.

" - }, - "DagEdges":{ - "shape":"DagEdges", - "documentation":"

A list of the edges in the DAG.

" - }, - "Language":{ - "shape":"Language", - "documentation":"

The programming language of the resulting code from the DAG.

" - } - } - }, - "CreateScriptResponse":{ - "type":"structure", - "members":{ - "PythonScript":{ - "shape":"PythonScript", - "documentation":"

The Python script generated from the DAG.

" - }, - "ScalaCode":{ - "shape":"ScalaCode", - "documentation":"

The Scala code generated from the DAG.

" - } - } - }, - "CreateSecurityConfigurationRequest":{ - "type":"structure", - "required":[ - "Name", - "EncryptionConfiguration" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name for the new security configuration.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration for the new security configuration.

" - } - } - }, - "CreateSecurityConfigurationResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name assigned to the new security configuration.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampValue", - "documentation":"

The time at which the new security configuration was created.

" - } - } - }, - "CreateTableRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableInput":{ - "shape":"TableInput", - "documentation":"

The TableInput object that defines the metadata table to create in the catalog.

" - } - } - }, - "CreateTableResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateTriggerRequest":{ - "type":"structure", - "required":[ - "Name", - "Type", - "Actions" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger.

" - }, - "Type":{ - "shape":"TriggerType", - "documentation":"

The type of the new trigger.

" - }, - "Schedule":{ - "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

This field is required when the trigger type is SCHEDULED.

" - }, - "Predicate":{ - "shape":"Predicate", - "documentation":"

A predicate to specify when the new trigger should fire.

This field is required when the trigger type is CONDITIONAL.

" - }, - "Actions":{ - "shape":"ActionList", - "documentation":"

The actions initiated by this trigger when it fires.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

A description of the new trigger.

" - }, - "StartOnCreation":{ - "shape":"BooleanValue", - "documentation":"

Set to true to start SCHEDULED and CONDITIONAL triggers when created. True not supported for ON_DEMAND triggers.

" - } - } - }, - "CreateTriggerResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger.

" - } - } - }, - "CreateUserDefinedFunctionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "FunctionInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which to create the function. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which to create the function.

" - }, - "FunctionInput":{ - "shape":"UserDefinedFunctionInput", - "documentation":"

A FunctionInput object that defines the function to create in the Data Catalog.

" - } - } - }, - "CreateUserDefinedFunctionResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateXMLClassifierRequest":{ - "type":"structure", - "required":[ - "Classification", - "Name" - ], - "members":{ - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "RowTag":{ - "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" - } - }, - "documentation":"

Specifies an XML classifier for CreateClassifier to create.

" - }, - "CronExpression":{"type":"string"}, - "CustomPatterns":{ - "type":"string", - "max":16000, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "DagEdges":{ - "type":"list", - "member":{"shape":"CodeGenEdge"} - }, - "DagNodes":{ - "type":"list", - "member":{"shape":"CodeGenNode"} - }, - "DataCatalogEncryptionSettings":{ - "type":"structure", - "members":{ - "EncryptionAtRest":{ - "shape":"EncryptionAtRest", - "documentation":"

Specifies encryption-at-rest configuration for the Data Catalog.

" - } - }, - "documentation":"

Contains configuration information for maintaining Data Catalog security.

" - }, - "Database":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the database.

" - }, - "LocationUri":{ - "shape":"URI", - "documentation":"

The location of the database (for example, an HDFS path).

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define parameters and properties of the database.

" - }, - "CreateTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the metadata database was created in the catalog.

" - } - }, - "documentation":"

The Database object represents a logical grouping of tables that may reside in a Hive metastore or an RDBMS.

" - }, - "DatabaseInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the database

" - }, - "LocationUri":{ - "shape":"URI", - "documentation":"

The location of the database (for example, an HDFS path).

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

Thes key-value pairs define parameters and properties of the database.

" - } - }, - "documentation":"

The structure used to create or update a database.

" - }, - "DatabaseList":{ - "type":"list", - "member":{"shape":"Database"} - }, - "DatabaseName":{"type":"string"}, - "DeleteBehavior":{ - "type":"string", - "enum":[ - "LOG", - "DELETE_FROM_DATABASE", - "DEPRECATE_IN_DATABASE" - ] - }, - "DeleteClassifierRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the classifier to remove.

" - } - } - }, - "DeleteClassifierResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteConnectionNameList":{ - "type":"list", - "member":{"shape":"NameString"}, - "max":25, - "min":0 - }, - "DeleteConnectionRequest":{ - "type":"structure", - "required":["ConnectionName"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" - }, - "ConnectionName":{ - "shape":"NameString", - "documentation":"

The name of the connection to delete.

" - } - } - }, - "DeleteConnectionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteCrawlerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the crawler to remove.

" - } - } - }, - "DeleteCrawlerResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteDatabaseRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the Database to delete. For Hive compatibility, this must be all lowercase.

" - } - } - }, - "DeleteDatabaseResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteDevEndpointRequest":{ - "type":"structure", - "required":["EndpointName"], - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name of the DevEndpoint.

" - } - } - }, - "DeleteDevEndpointResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteJobRequest":{ - "type":"structure", - "required":["JobName"], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition to delete.

" - } - } - }, - "DeleteJobResponse":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition that was deleted.

" - } - } - }, - "DeletePartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionValues" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partition to be deleted resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which the table in question resides.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table where the partition to be deleted is located.

" - }, - "PartitionValues":{ - "shape":"ValueStringList", - "documentation":"

The values that define the partition.

" - } - } - }, - "DeletePartitionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteSecurityConfigurationRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the security configuration to delete.

" - } - } - }, - "DeleteSecurityConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteTableRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "Name" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase.

" - } - } - }, - "DeleteTableResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteTableVersionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "VersionId" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" - }, - "VersionId":{ - "shape":"VersionString", - "documentation":"

The ID of the table version to be deleted.

" - } - } - }, - "DeleteTableVersionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteTriggerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger to delete.

" - } - } - }, - "DeleteTriggerResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger that was deleted.

" - } - } - }, - "DeleteUserDefinedFunctionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "FunctionName" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the function is located.

" - }, - "FunctionName":{ - "shape":"NameString", - "documentation":"

The name of the function definition to be deleted.

" - } - } - }, - "DeleteUserDefinedFunctionResponse":{ - "type":"structure", - "members":{ - } - }, - "DescriptionString":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "DescriptionStringRemovable":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "DevEndpoint":{ - "type":"structure", - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name of the DevEndpoint.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The AWS ARN of the IAM role used in this DevEndpoint.

" - }, - "SecurityGroupIds":{ - "shape":"StringList", - "documentation":"

A list of security group identifiers used in this DevEndpoint.

" - }, - "SubnetId":{ - "shape":"GenericString", - "documentation":"

The subnet ID for this DevEndpoint.

" - }, - "YarnEndpointAddress":{ - "shape":"GenericString", - "documentation":"

The YARN endpoint address used by this DevEndpoint.

" - }, - "PrivateAddress":{ - "shape":"GenericString", - "documentation":"

A private DNS to access the DevEndpoint within a VPC, if the DevEndpoint is created within one.

" - }, - "ZeppelinRemoteSparkInterpreterPort":{ - "shape":"IntegerValue", - "documentation":"

The Apache Zeppelin port for the remote Apache Spark interpreter.

" - }, - "PublicAddress":{ - "shape":"GenericString", - "documentation":"

The public VPC address used by this DevEndpoint.

" - }, - "Status":{ - "shape":"GenericString", - "documentation":"

The current status of this DevEndpoint.

" - }, - "NumberOfNodes":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

" - }, - "AvailabilityZone":{ - "shape":"GenericString", - "documentation":"

The AWS availability zone where this DevEndpoint is located.

" - }, - "VpcId":{ - "shape":"GenericString", - "documentation":"

The ID of the virtual private cloud (VPC) used by this DevEndpoint.

" - }, - "ExtraPythonLibsS3Path":{ - "shape":"GenericString", - "documentation":"

Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not yet supported.

" - }, - "ExtraJarsS3Path":{ - "shape":"GenericString", - "documentation":"

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.

" - }, - "FailureReason":{ - "shape":"GenericString", - "documentation":"

The reason for a current failure in this DevEndpoint.

" - }, - "LastUpdateStatus":{ - "shape":"GenericString", - "documentation":"

The status of the last update.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampValue", - "documentation":"

The point in time at which this DevEndpoint was created.

" - }, - "LastModifiedTimestamp":{ - "shape":"TimestampValue", - "documentation":"

The point in time at which this DevEndpoint was last modified.

" - }, - "PublicKey":{ - "shape":"GenericString", - "documentation":"

The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility, as the recommended attribute to use is public keys.

" - }, - "PublicKeys":{ - "shape":"PublicKeysList", - "documentation":"

A list of public keys to be used by the DevEndpoints for authentication. The use of this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.

If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys: call the UpdateDevEndpoint API with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" - } - }, - "documentation":"

A development endpoint where a developer can remotely debug ETL scripts.

" - }, - "DevEndpointCustomLibraries":{ - "type":"structure", - "members":{ - "ExtraPythonLibsS3Path":{ - "shape":"GenericString", - "documentation":"

Path(s) to one or more Python libraries in an S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

Please note that only pure Python libraries can currently be used on a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not yet supported.

" - }, - "ExtraJarsS3Path":{ - "shape":"GenericString", - "documentation":"

Path to one or more Java Jars in an S3 bucket that should be loaded in your DevEndpoint.

Please note that only pure Java/Scala libraries can currently be used on a DevEndpoint.

" - } - }, - "documentation":"

Custom libraries to be loaded into a DevEndpoint.

" - }, - "DevEndpointList":{ - "type":"list", - "member":{"shape":"DevEndpoint"} - }, - "DynamoDBTarget":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"Path", - "documentation":"

The name of the DynamoDB table to crawl.

" - } - }, - "documentation":"

Specifies a DynamoDB table to crawl.

" - }, - "DynamoDBTargetList":{ - "type":"list", - "member":{"shape":"DynamoDBTarget"} - }, - "EncryptionAtRest":{ - "type":"structure", - "required":["CatalogEncryptionMode"], - "members":{ - "CatalogEncryptionMode":{ - "shape":"CatalogEncryptionMode", - "documentation":"

The encryption-at-rest mode for encrypting Data Catalog data.

" - }, - "SseAwsKmsKeyId":{ - "shape":"NameString", - "documentation":"

The ID of the AWS KMS key to use for encryption at rest.

" - } - }, - "documentation":"

Specifies encryption-at-rest configuration for the Data Catalog.

" - }, - "EncryptionConfiguration":{ - "type":"structure", - "members":{ - "S3Encryption":{ - "shape":"S3EncryptionList", - "documentation":"

The encryption configuration for S3 data.

" - }, - "CloudWatchEncryption":{ - "shape":"CloudWatchEncryption", - "documentation":"

The encryption configuration for CloudWatch.

" - }, - "JobBookmarksEncryption":{ - "shape":"JobBookmarksEncryption", - "documentation":"

The encryption configuration for Job Bookmarks.

" - } - }, - "documentation":"

Specifies an encryption configuration.

" - }, - "EntityNotFoundException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

A specified entity does not exist

", - "exception":true - }, - "ErrorByName":{ - "type":"map", - "key":{"shape":"NameString"}, - "value":{"shape":"ErrorDetail"} - }, - "ErrorDetail":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"NameString", - "documentation":"

The code associated with this error.

" - }, - "ErrorMessage":{ - "shape":"DescriptionString", - "documentation":"

A message describing the error.

" - } - }, - "documentation":"

Contains details about an error.

" - }, - "ErrorString":{"type":"string"}, - "ExecutionProperty":{ - "type":"structure", - "members":{ - "MaxConcurrentRuns":{ - "shape":"MaxConcurrentRuns", - "documentation":"

The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.

" - } - }, - "documentation":"

An execution property of a job.

" - }, - "ExecutionTime":{"type":"integer"}, - "FieldType":{"type":"string"}, - "FilterString":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "FormatString":{ - "type":"string", - "max":128, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "GenericMap":{ - "type":"map", - "key":{"shape":"GenericString"}, - "value":{"shape":"GenericString"} - }, - "GenericString":{"type":"string"}, - "GetCatalogImportStatusRequest":{ - "type":"structure", - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the catalog to migrate. Currently, this should be the AWS account ID.

" - } - } - }, - "GetCatalogImportStatusResponse":{ - "type":"structure", - "members":{ - "ImportStatus":{ - "shape":"CatalogImportStatus", - "documentation":"

The status of the specified catalog migration.

" - } - } - }, - "GetClassifierRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the classifier to retrieve.

" - } - } - }, - "GetClassifierResponse":{ - "type":"structure", - "members":{ - "Classifier":{ - "shape":"Classifier", - "documentation":"

The requested classifier.

" - } - } - }, - "GetClassifiersRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"PageSize", - "documentation":"

Size of the list to return (optional).

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

An optional continuation token.

" - } - } - }, - "GetClassifiersResponse":{ - "type":"structure", - "members":{ - "Classifiers":{ - "shape":"ClassifierList", - "documentation":"

The requested list of classifier objects.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token.

" - } - } - }, - "GetConnectionRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the connection definition to retrieve.

" - } - } - }, - "GetConnectionResponse":{ - "type":"structure", - "members":{ - "Connection":{ - "shape":"Connection", - "documentation":"

The requested connection definition.

" - } - } - }, - "GetConnectionsFilter":{ - "type":"structure", - "members":{ - "MatchCriteria":{ - "shape":"MatchCriteria", - "documentation":"

A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.

" - }, - "ConnectionType":{ - "shape":"ConnectionType", - "documentation":"

The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.

" - } - }, - "documentation":"

Filters the connection definitions returned by the GetConnections API.

" - }, - "GetConnectionsRequest":{ - "type":"structure", - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connections reside. If none is supplied, the AWS account ID is used by default.

" - }, - "Filter":{ - "shape":"GetConnectionsFilter", - "documentation":"

A filter that controls which connections will be returned.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of connections to return in one response.

" - } - } - }, - "GetConnectionsResponse":{ - "type":"structure", - "members":{ - "ConnectionList":{ - "shape":"ConnectionList", - "documentation":"

A list of requested connection definitions.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the list of connections returned does not include the last of the filtered connections.

" - } - } - }, - "GetCrawlerMetricsRequest":{ - "type":"structure", - "members":{ - "CrawlerNameList":{ - "shape":"CrawlerNameList", - "documentation":"

A list of the names of crawlers about which to retrieve metrics.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of a list to return.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is a continuation call.

" - } - } - }, - "GetCrawlerMetricsResponse":{ - "type":"structure", - "members":{ - "CrawlerMetricsList":{ - "shape":"CrawlerMetricsList", - "documentation":"

A list of metrics for the specified crawler.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" - } - } - }, - "GetCrawlerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the crawler to retrieve metadata for.

" - } - } - }, - "GetCrawlerResponse":{ - "type":"structure", - "members":{ - "Crawler":{ - "shape":"Crawler", - "documentation":"

The metadata for the specified crawler.

" - } - } - }, - "GetCrawlersRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The number of crawlers to return on each call.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is a continuation request.

" - } - } - }, - "GetCrawlersResponse":{ - "type":"structure", - "members":{ - "Crawlers":{ - "shape":"CrawlerList", - "documentation":"

A list of crawler metadata.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the returned list has not reached the end of those defined in this customer account.

" - } - } - }, - "GetDatabaseRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the database resides. If none is supplied, the AWS account ID is used by default.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the database to retrieve. For Hive compatibility, this should be all lowercase.

" - } - } - }, - "GetDatabaseResponse":{ - "type":"structure", - "members":{ - "Database":{ - "shape":"Database", - "documentation":"

The definition of the specified database in the catalog.

" - } - } - }, - "GetDatabasesRequest":{ - "type":"structure", - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog from which to retrieve Databases. If none is supplied, the AWS account ID is used by default.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of databases to return in one response.

" - } - } - }, - "GetDatabasesResponse":{ - "type":"structure", - "required":["DatabaseList"], - "members":{ - "DatabaseList":{ - "shape":"DatabaseList", - "documentation":"

A list of Database objects from the specified catalog.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

" - } - } - }, - "GetDataflowGraphRequest":{ - "type":"structure", - "members":{ - "PythonScript":{ - "shape":"PythonScript", - "documentation":"

The Python script to transform.

" - } - } - }, - "GetDataflowGraphResponse":{ - "type":"structure", - "members":{ - "DagNodes":{ - "shape":"DagNodes", - "documentation":"

A list of the nodes in the resulting DAG.

" - }, - "DagEdges":{ - "shape":"DagEdges", - "documentation":"

A list of the edges in the resulting DAG.

" - } - } - }, - "GetDevEndpointRequest":{ - "type":"structure", - "required":["EndpointName"], - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

Name of the DevEndpoint for which to retrieve information.

" - } - } - }, - "GetDevEndpointResponse":{ - "type":"structure", - "members":{ - "DevEndpoint":{ - "shape":"DevEndpoint", - "documentation":"

A DevEndpoint definition.

" - } - } - }, - "GetDevEndpointsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of information to return.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" - } - } - }, - "GetDevEndpointsResponse":{ - "type":"structure", - "members":{ - "DevEndpoints":{ - "shape":"DevEndpointList", - "documentation":"

A list of DevEndpoint definitions.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if not all DevEndpoint definitions have yet been returned.

" - } - } - }, - "GetJobRequest":{ - "type":"structure", - "required":["JobName"], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition to retrieve.

" - } - } - }, - "GetJobResponse":{ - "type":"structure", - "members":{ - "Job":{ - "shape":"Job", - "documentation":"

The requested job definition.

" - } - } - }, - "GetJobRunRequest":{ - "type":"structure", - "required":[ - "JobName", - "RunId" - ], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

Name of the job definition being run.

" - }, - "RunId":{ - "shape":"IdString", - "documentation":"

The ID of the job run.

" - }, - "PredecessorsIncluded":{ - "shape":"BooleanValue", - "documentation":"

True if a list of predecessor runs should be returned.

" - } - } - }, - "GetJobRunResponse":{ - "type":"structure", - "members":{ - "JobRun":{ - "shape":"JobRun", - "documentation":"

The requested job-run metadata.

" - } - } - }, - "GetJobRunsRequest":{ - "type":"structure", - "required":["JobName"], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition for which to retrieve all job runs.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of the response.

" - } - } - }, - "GetJobRunsResponse":{ - "type":"structure", - "members":{ - "JobRuns":{ - "shape":"JobRunList", - "documentation":"

A list of job-run metatdata objects.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if not all reequested job runs have been returned.

" - } - } - }, - "GetJobsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of the response.

" - } - } - }, - "GetJobsResponse":{ - "type":"structure", - "members":{ - "Jobs":{ - "shape":"JobList", - "documentation":"

A list of job definitions.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if not all job definitions have yet been returned.

" - } - } - }, - "GetMappingRequest":{ - "type":"structure", - "required":["Source"], - "members":{ - "Source":{ - "shape":"CatalogEntry", - "documentation":"

Specifies the source table.

" - }, - "Sinks":{ - "shape":"CatalogEntries", - "documentation":"

A list of target tables.

" - }, - "Location":{ - "shape":"Location", - "documentation":"

Parameters for the mapping.

" - } - } - }, - "GetMappingResponse":{ - "type":"structure", - "required":["Mapping"], - "members":{ - "Mapping":{ - "shape":"MappingList", - "documentation":"

A list of mappings to the specified targets.

" - } - } - }, - "GetPartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionValues" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partition in question resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the partition resides.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the partition's table.

" - }, - "PartitionValues":{ - "shape":"ValueStringList", - "documentation":"

The values that define the partition.

" - } - } - }, - "GetPartitionResponse":{ - "type":"structure", - "members":{ - "Partition":{ - "shape":"Partition", - "documentation":"

The requested information, in the form of a Partition object.

" - } - } - }, - "GetPartitionsRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the partitions reside.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the partitions' table.

" - }, - "Expression":{ - "shape":"PredicateString", - "documentation":"

An expression filtering the partitions to be returned.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is not the first call to retrieve these partitions.

" - }, - "Segment":{ - "shape":"Segment", - "documentation":"

The segment of the table's partitions to scan in this request.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of partitions to return in a single response.

" - } - } - }, - "GetPartitionsResponse":{ - "type":"structure", - "members":{ - "Partitions":{ - "shape":"PartitionList", - "documentation":"

A list of requested partitions.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the returned list of partitions does not does not include the last one.

" - } - } - }, - "GetPlanRequest":{ - "type":"structure", - "required":[ - "Mapping", - "Source" - ], - "members":{ - "Mapping":{ - "shape":"MappingList", - "documentation":"

The list of mappings from a source table to target tables.

" - }, - "Source":{ - "shape":"CatalogEntry", - "documentation":"

The source table.

" - }, - "Sinks":{ - "shape":"CatalogEntries", - "documentation":"

The target tables.

" - }, - "Location":{ - "shape":"Location", - "documentation":"

Parameters for the mapping.

" - }, - "Language":{ - "shape":"Language", - "documentation":"

The programming language of the code to perform the mapping.

" - } - } - }, - "GetPlanResponse":{ - "type":"structure", - "members":{ - "PythonScript":{ - "shape":"PythonScript", - "documentation":"

A Python script to perform the mapping.

" - }, - "ScalaCode":{ - "shape":"ScalaCode", - "documentation":"

Scala code to perform the mapping.

" - } - } - }, - "GetSecurityConfigurationRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the security configuration to retrieve.

" - } - } - }, - "GetSecurityConfigurationResponse":{ - "type":"structure", - "members":{ - "SecurityConfiguration":{ - "shape":"SecurityConfiguration", - "documentation":"

The requested security configuration

" - } - } - }, - "GetSecurityConfigurationsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to return.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" - } - } - }, - "GetSecurityConfigurationsResponse":{ - "type":"structure", - "members":{ - "SecurityConfigurations":{ - "shape":"SecurityConfigurationList", - "documentation":"

A list of security configurations.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if there are more security configurations to return.

" - } - } - }, - "GetTableRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "Name" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase.

" - } - } - }, - "GetTableResponse":{ - "type":"structure", - "members":{ - "Table":{ - "shape":"Table", - "documentation":"

The Table object that defines the specified table.

" - } - } - }, - "GetTableVersionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" - }, - "VersionId":{ - "shape":"VersionString", - "documentation":"

The ID value of the table version to be retrieved.

" - } - } - }, - "GetTableVersionResponse":{ - "type":"structure", - "members":{ - "TableVersion":{ - "shape":"TableVersion", - "documentation":"

The requested table version.

" - } - } - }, - "GetTableVersionsList":{ - "type":"list", - "member":{"shape":"TableVersion"} - }, - "GetTableVersionsRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is not the first call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of table versions to return in one response.

" - } - } - }, - "GetTableVersionsResponse":{ - "type":"structure", - "members":{ - "TableVersions":{ - "shape":"GetTableVersionsList", - "documentation":"

A list of strings identifying available versions of the specified table.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the list of available versions does not include the last one.

" - } - } - }, - "GetTablesRequest":{ - "type":"structure", - "required":["DatabaseName"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the tables reside. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.

" - }, - "Expression":{ - "shape":"FilterString", - "documentation":"

A regular expression pattern. If present, only those tables whose names match the pattern are returned.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, included if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of tables to return in a single response.

" - } - } - }, - "GetTablesResponse":{ - "type":"structure", - "members":{ - "TableList":{ - "shape":"TableList", - "documentation":"

A list of the requested Table objects.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, present if the current list segment is not the last.

" - } - } - }, - "GetTriggerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger to retrieve.

" - } - } - }, - "GetTriggerResponse":{ - "type":"structure", - "members":{ - "Trigger":{ - "shape":"Trigger", - "documentation":"

The requested trigger definition.

" - } - } - }, - "GetTriggersRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "DependentJobName":{ - "shape":"NameString", - "documentation":"

The name of the job for which to retrieve triggers. The trigger that can start this job will be returned, and if there is no such trigger, all triggers will be returned.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum size of the response.

" - } - } - }, - "GetTriggersResponse":{ - "type":"structure", - "members":{ - "Triggers":{ - "shape":"TriggerList", - "documentation":"

A list of triggers for the specified job.

" - }, - "NextToken":{ - "shape":"GenericString", - "documentation":"

A continuation token, if not all the requested triggers have yet been returned.

" - } - } - }, - "GetUserDefinedFunctionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "FunctionName" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the function to be retrieved is located. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the function is located.

" - }, - "FunctionName":{ - "shape":"NameString", - "documentation":"

The name of the function.

" - } - } - }, - "GetUserDefinedFunctionResponse":{ - "type":"structure", - "members":{ - "UserDefinedFunction":{ - "shape":"UserDefinedFunction", - "documentation":"

The requested function definition.

" - } - } - }, - "GetUserDefinedFunctionsRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "Pattern" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the functions to be retrieved are located. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the functions are located.

" - }, - "Pattern":{ - "shape":"NameString", - "documentation":"

An optional function-name pattern string that filters the function definitions returned.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if this is a continuation call.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of functions to return in one response.

" - } - } - }, - "GetUserDefinedFunctionsResponse":{ - "type":"structure", - "members":{ - "UserDefinedFunctions":{ - "shape":"UserDefinedFunctionList", - "documentation":"

A list of requested function definitions.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

A continuation token, if the list of functions returned does not include the last requested function.

" - } - } - }, - "GlueEncryptionException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

An encryption operation failed.

", - "exception":true - }, - "GrokClassifier":{ - "type":"structure", - "required":[ - "Name", - "Classification", - "GrokPattern" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" - }, - "LastUpdated":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" - }, - "Version":{ - "shape":"VersionId", - "documentation":"

The version of this classifier.

" - }, - "GrokPattern":{ - "shape":"GrokPattern", - "documentation":"

The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifers.

" - }, - "CustomPatterns":{ - "shape":"CustomPatterns", - "documentation":"

Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifers.

" - } - }, - "documentation":"

A classifier that uses grok patterns.

" - }, - "GrokPattern":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\t]*" - }, - "IdString":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "IdempotentParameterMismatchException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The same unique identifier was associated with two different records.

", - "exception":true - }, - "ImportCatalogToGlueRequest":{ - "type":"structure", - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the catalog to import. Currently, this should be the AWS account ID.

" - } - } - }, - "ImportCatalogToGlueResponse":{ - "type":"structure", - "members":{ - } - }, - "Integer":{"type":"integer"}, - "IntegerFlag":{ - "type":"integer", - "max":1, - "min":0 - }, - "IntegerValue":{"type":"integer"}, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

An internal service error occurred.

", - "exception":true, - "fault":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The input provided was not valid.

", - "exception":true - }, - "JdbcTarget":{ - "type":"structure", - "members":{ - "ConnectionName":{ - "shape":"ConnectionName", - "documentation":"

The name of the connection to use to connect to the JDBC target.

" - }, - "Path":{ - "shape":"Path", - "documentation":"

The path of the JDBC target.

" - }, - "Exclusions":{ - "shape":"PathList", - "documentation":"

A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.

" - } - }, - "documentation":"

Specifies a JDBC data store to crawl.

" - }, - "JdbcTargetList":{ - "type":"list", - "member":{"shape":"JdbcTarget"} - }, - "Job":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name you assign to this job definition.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the job being defined.

" - }, - "LogUri":{ - "shape":"UriString", - "documentation":"

This field is reserved for future use.

" - }, - "Role":{ - "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job.

" - }, - "CreatedOn":{ - "shape":"TimestampValue", - "documentation":"

The time and date that this job definition was created.

" - }, - "LastModifiedOn":{ - "shape":"TimestampValue", - "documentation":"

The last point in time when this job definition was modified.

" - }, - "ExecutionProperty":{ - "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" - }, - "Command":{ - "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job.

" - }, - "DefaultArguments":{ - "shape":"GenericMap", - "documentation":"

The default arguments for this job, specified as name-value pairs.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "Connections":{ - "shape":"ConnectionsList", - "documentation":"

The connections used for this job.

" - }, - "MaxRetries":{ - "shape":"MaxRetries", - "documentation":"

The maximum number of times to retry this job after a JobRun fails.

" - }, - "AllocatedCapacity":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) allocated to runs of this job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" - } - }, - "documentation":"

Specifies a job definition.

" - }, - "JobBookmarkEntry":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

Name of the job in question.

" - }, - "Version":{ - "shape":"IntegerValue", - "documentation":"

Version of the job.

" - }, - "Run":{ - "shape":"IntegerValue", - "documentation":"

The run ID number.

" - }, - "Attempt":{ - "shape":"IntegerValue", - "documentation":"

The attempt ID number.

" - }, - "JobBookmark":{ - "shape":"JsonValue", - "documentation":"

The bookmark itself.

" - } - }, - "documentation":"

Defines a point which a job can resume processing.

" - }, - "JobBookmarksEncryption":{ - "type":"structure", - "members":{ - "JobBookmarksEncryptionMode":{ - "shape":"JobBookmarksEncryptionMode", - "documentation":"

The encryption mode to use for Job bookmarks data.

" - }, - "KmsKeyArn":{ - "shape":"KmsKeyArn", - "documentation":"

The AWS ARN of the KMS key to be used to encrypt the data.

" - } - }, - "documentation":"

Specifies how Job bookmark data should be encrypted.

" - }, - "JobBookmarksEncryptionMode":{ - "type":"string", - "enum":[ - "DISABLED", - "CSE-KMS" - ] - }, - "JobCommand":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"GenericString", - "documentation":"

The name of the job command: this must be glueetl.

" - }, - "ScriptLocation":{ - "shape":"ScriptLocationString", - "documentation":"

Specifies the S3 path to a script that executes a job (required).

" - } - }, - "documentation":"

Specifies code executed when a job is run.

" - }, - "JobList":{ - "type":"list", - "member":{"shape":"Job"} - }, - "JobName":{"type":"string"}, - "JobRun":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"IdString", - "documentation":"

The ID of this job run.

" - }, - "Attempt":{ - "shape":"AttemptCount", - "documentation":"

The number of the attempt to run this job.

" - }, - "PreviousRunId":{ - "shape":"IdString", - "documentation":"

The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.

" - }, - "TriggerName":{ - "shape":"NameString", - "documentation":"

The name of the trigger that started this job run.

" - }, - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition being used in this run.

" - }, - "StartedOn":{ - "shape":"TimestampValue", - "documentation":"

The date and time at which this job run was started.

" - }, - "LastModifiedOn":{ - "shape":"TimestampValue", - "documentation":"

The last time this job run was modified.

" - }, - "CompletedOn":{ - "shape":"TimestampValue", - "documentation":"

The date and time this job run completed.

" - }, - "JobRunState":{ - "shape":"JobRunState", - "documentation":"

The current state of the job run.

" - }, - "Arguments":{ - "shape":"GenericMap", - "documentation":"

The job arguments associated with this run. These override equivalent default arguments set for the job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "ErrorMessage":{ - "shape":"ErrorString", - "documentation":"

An error message associated with this job run.

" - }, - "PredecessorRuns":{ - "shape":"PredecessorList", - "documentation":"

A list of predecessors to this job run.

" - }, - "AllocatedCapacity":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" - }, - "ExecutionTime":{ - "shape":"ExecutionTime", - "documentation":"

The amount of time (in seconds) that the job run consumed resources.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job run notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" - }, - "LogGroupName":{ - "shape":"GenericString", - "documentation":"

The name of the log group for secure logging, that can be server-side encrypted in CloudWatch using KMS. This name can be /aws-glue/jobs/, in which case the default encryption is NONE. If you add a role name and SecurityConfiguration name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security configuration will be used to encrypt the log group.

" - } - }, - "documentation":"

Contains information about a job run.

" - }, - "JobRunList":{ - "type":"list", - "member":{"shape":"JobRun"} - }, - "JobRunState":{ - "type":"string", - "enum":[ - "STARTING", - "RUNNING", - "STOPPING", - "STOPPED", - "SUCCEEDED", - "FAILED", - "TIMEOUT" - ] - }, - "JobUpdate":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the job being defined.

" - }, - "LogUri":{ - "shape":"UriString", - "documentation":"

This field is reserved for future use.

" - }, - "Role":{ - "shape":"RoleString", - "documentation":"

The name or ARN of the IAM role associated with this job (required).

" - }, - "ExecutionProperty":{ - "shape":"ExecutionProperty", - "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" - }, - "Command":{ - "shape":"JobCommand", - "documentation":"

The JobCommand that executes this job (required).

" - }, - "DefaultArguments":{ - "shape":"GenericMap", - "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "Connections":{ - "shape":"ConnectionsList", - "documentation":"

The connections used for this job.

" - }, - "MaxRetries":{ - "shape":"MaxRetries", - "documentation":"

The maximum number of times to retry this job if it fails.

" - }, - "AllocatedCapacity":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this Job. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" - } - }, - "documentation":"

Specifies information used to update an existing job definition. Note that the previous job definition will be completely overwritten by this information.

" - }, - "JsonClassifier":{ - "type":"structure", - "required":[ - "Name", - "JsonPath" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" - }, - "LastUpdated":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" - }, - "Version":{ - "shape":"VersionId", - "documentation":"

The version of this classifier.

" - }, - "JsonPath":{ - "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" - } - }, - "documentation":"

A classifier for JSON content.

" - }, - "JsonPath":{"type":"string"}, - "JsonValue":{"type":"string"}, - "KeyString":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "KmsKeyArn":{ - "type":"string", - "pattern":"arn:aws:kms:.*" - }, - "Language":{ - "type":"string", - "enum":[ - "PYTHON", - "SCALA" - ] - }, - "LastCrawlInfo":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"LastCrawlStatus", - "documentation":"

Status of the last crawl.

" - }, - "ErrorMessage":{ - "shape":"DescriptionString", - "documentation":"

If an error occurred, the error information about the last crawl.

" - }, - "LogGroup":{ - "shape":"LogGroup", - "documentation":"

The log group for the last crawl.

" - }, - "LogStream":{ - "shape":"LogStream", - "documentation":"

The log stream for the last crawl.

" - }, - "MessagePrefix":{ - "shape":"MessagePrefix", - "documentation":"

The prefix for a message about this crawl.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the crawl started.

" - } - }, - "documentation":"

Status and error information about the most recent crawl.

" - }, - "LastCrawlStatus":{ - "type":"string", - "enum":[ - "SUCCEEDED", - "CANCELLED", - "FAILED" - ] - }, - "Location":{ - "type":"structure", - "members":{ - "Jdbc":{ - "shape":"CodeGenNodeArgs", - "documentation":"

A JDBC location.

" - }, - "S3":{ - "shape":"CodeGenNodeArgs", - "documentation":"

An Amazon S3 location.

" - }, - "DynamoDB":{ - "shape":"CodeGenNodeArgs", - "documentation":"

A DynamoDB Table location.

" - } - }, - "documentation":"

The location of resources.

" - }, - "LocationMap":{ - "type":"map", - "key":{"shape":"ColumnValuesString"}, - "value":{"shape":"ColumnValuesString"} - }, - "LocationString":{ - "type":"string", - "max":2056, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "LogGroup":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[\\.\\-_/#A-Za-z0-9]+" - }, - "LogStream":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[^:*]*" - }, - "Logical":{ - "type":"string", - "enum":[ - "AND", - "ANY" - ] - }, - "LogicalOperator":{ - "type":"string", - "enum":["EQUALS"] - }, - "MappingEntry":{ - "type":"structure", - "members":{ - "SourceTable":{ - "shape":"TableName", - "documentation":"

The name of the source table.

" - }, - "SourcePath":{ - "shape":"SchemaPathString", - "documentation":"

The source path.

" - }, - "SourceType":{ - "shape":"FieldType", - "documentation":"

The source type.

" - }, - "TargetTable":{ - "shape":"TableName", - "documentation":"

The target table.

" - }, - "TargetPath":{ - "shape":"SchemaPathString", - "documentation":"

The target path.

" - }, - "TargetType":{ - "shape":"FieldType", - "documentation":"

The target type.

" - } - }, - "documentation":"

Defines a mapping.

" - }, - "MappingList":{ - "type":"list", - "member":{"shape":"MappingEntry"} - }, - "MatchCriteria":{ - "type":"list", - "member":{"shape":"NameString"}, - "max":10, - "min":0 - }, - "MaxConcurrentRuns":{"type":"integer"}, - "MaxRetries":{"type":"integer"}, - "MessagePrefix":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "MessageString":{"type":"string"}, - "MillisecondsCount":{"type":"long"}, - "NameString":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "NameStringList":{ - "type":"list", - "member":{"shape":"NameString"} - }, - "NoScheduleException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

There is no applicable schedule.

", - "exception":true - }, - "NonNegativeDouble":{ - "type":"double", - "min":0.0 - }, - "NonNegativeInteger":{ - "type":"integer", - "min":0 - }, - "NotificationProperty":{ - "type":"structure", - "members":{ - "NotifyDelayAfter":{ - "shape":"NotifyDelayAfter", - "documentation":"

After a job run starts, the number of minutes to wait before sending a job run delay notification.

" - } - }, - "documentation":"

Specifies configuration properties of a notification.

" - }, - "NotifyDelayAfter":{ - "type":"integer", - "box":true, - "min":1 - }, - "OperationTimeoutException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The operation timed out.

", - "exception":true - }, - "Order":{ - "type":"structure", - "required":[ - "Column", - "SortOrder" - ], - "members":{ - "Column":{ - "shape":"NameString", - "documentation":"

The name of the column.

" - }, - "SortOrder":{ - "shape":"IntegerFlag", - "documentation":"

Indicates that the column is sorted in ascending order (== 1), or in descending order (==0).

" - } - }, - "documentation":"

Specifies the sort order of a sorted column.

" - }, - "OrderList":{ - "type":"list", - "member":{"shape":"Order"} - }, - "PageSize":{ - "type":"integer", - "box":true, - "max":1000, - "min":1 - }, - "ParametersMap":{ - "type":"map", - "key":{"shape":"KeyString"}, - "value":{"shape":"ParametersMapValue"} - }, - "ParametersMapValue":{ - "type":"string", - "max":512000 - }, - "Partition":{ - "type":"structure", - "members":{ - "Values":{ - "shape":"ValueStringList", - "documentation":"

The values of the partition.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the table in question is located.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table in question.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the partition was created.

" - }, - "LastAccessTime":{ - "shape":"Timestamp", - "documentation":"

The last time at which the partition was accessed.

" - }, - "StorageDescriptor":{ - "shape":"StorageDescriptor", - "documentation":"

Provides information about the physical location where the partition is stored.

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define partition parameters.

" - }, - "LastAnalyzedTime":{ - "shape":"Timestamp", - "documentation":"

The last time at which column statistics were computed for this partition.

" - } - }, - "documentation":"

Represents a slice of table data.

" - }, - "PartitionError":{ - "type":"structure", - "members":{ - "PartitionValues":{ - "shape":"ValueStringList", - "documentation":"

The values that define the partition.

" - }, - "ErrorDetail":{ - "shape":"ErrorDetail", - "documentation":"

Details about the partition error.

" - } - }, - "documentation":"

Contains information about a partition error.

" - }, - "PartitionErrors":{ - "type":"list", - "member":{"shape":"PartitionError"} - }, - "PartitionInput":{ - "type":"structure", - "members":{ - "Values":{ - "shape":"ValueStringList", - "documentation":"

The values of the partition.

" - }, - "LastAccessTime":{ - "shape":"Timestamp", - "documentation":"

The last time at which the partition was accessed.

" - }, - "StorageDescriptor":{ - "shape":"StorageDescriptor", - "documentation":"

Provides information about the physical location where the partition is stored.

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define partition parameters.

" - }, - "LastAnalyzedTime":{ - "shape":"Timestamp", - "documentation":"

The last time at which column statistics were computed for this partition.

" - } - }, - "documentation":"

The structure used to create and update a partion.

" - }, - "PartitionInputList":{ - "type":"list", - "member":{"shape":"PartitionInput"}, - "max":100, - "min":0 - }, - "PartitionList":{ - "type":"list", - "member":{"shape":"Partition"} - }, - "PartitionValueList":{ - "type":"structure", - "required":["Values"], - "members":{ - "Values":{ - "shape":"ValueStringList", - "documentation":"

The list of values.

" - } - }, - "documentation":"

Contains a list of values defining partitions.

" - }, - "Path":{"type":"string"}, - "PathList":{ - "type":"list", - "member":{"shape":"Path"} - }, - "PhysicalConnectionRequirements":{ - "type":"structure", - "members":{ - "SubnetId":{ - "shape":"NameString", - "documentation":"

The subnet ID used by the connection.

" - }, - "SecurityGroupIdList":{ - "shape":"SecurityGroupIdList", - "documentation":"

The security group ID list used by the connection.

" - }, - "AvailabilityZone":{ - "shape":"NameString", - "documentation":"

The connection's availability zone. This field is redundant, since the specified subnet implies the availability zone to be used. The field must be populated now, but will be deprecated in the future.

" - } - }, - "documentation":"

Specifies the physical requirements for a connection.

" - }, - "Predecessor":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition used by the predecessor job run.

" - }, - "RunId":{ - "shape":"IdString", - "documentation":"

The job-run ID of the predecessor job run.

" - } - }, - "documentation":"

A job run that was used in the predicate of a conditional trigger that triggered this job run.

" - }, - "PredecessorList":{ - "type":"list", - "member":{"shape":"Predecessor"} - }, - "Predicate":{ - "type":"structure", - "members":{ - "Logical":{ - "shape":"Logical", - "documentation":"

Optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

" - }, - "Conditions":{ - "shape":"ConditionList", - "documentation":"

A list of the conditions that determine when the trigger will fire.

" - } - }, - "documentation":"

Defines the predicate of the trigger, which determines when it fires.

" - }, - "PredicateString":{ - "type":"string", - "max":2048, - "min":0, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "PrincipalType":{ - "type":"string", - "enum":[ - "USER", - "ROLE", - "GROUP" - ] - }, - "PublicKeysList":{ - "type":"list", - "member":{"shape":"GenericString"}, - "max":5 - }, - "PutDataCatalogEncryptionSettingsRequest":{ - "type":"structure", - "required":["DataCatalogEncryptionSettings"], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog for which to set the security configuration. If none is supplied, the AWS account ID is used by default.

" - }, - "DataCatalogEncryptionSettings":{ - "shape":"DataCatalogEncryptionSettings", - "documentation":"

The security configuration to set.

" - } - } - }, - "PutDataCatalogEncryptionSettingsResponse":{ - "type":"structure", - "members":{ - } - }, - "PythonScript":{"type":"string"}, - "ResetJobBookmarkRequest":{ - "type":"structure", - "required":["JobName"], - "members":{ - "JobName":{ - "shape":"JobName", - "documentation":"

The name of the job in question.

" - } - } - }, - "ResetJobBookmarkResponse":{ - "type":"structure", - "members":{ - "JobBookmarkEntry":{ - "shape":"JobBookmarkEntry", - "documentation":"

The reset bookmark entry.

" - } - } - }, - "ResourceNumberLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

A resource numerical limit was exceeded.

", - "exception":true - }, - "ResourceType":{ - "type":"string", - "enum":[ - "JAR", - "FILE", - "ARCHIVE" - ] - }, - "ResourceUri":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of the resource.

" - }, - "Uri":{ - "shape":"URI", - "documentation":"

The URI for accessing the resource.

" - } - }, - "documentation":"

URIs for function resources.

" - }, - "ResourceUriList":{ - "type":"list", - "member":{"shape":"ResourceUri"}, - "max":1000, - "min":0 - }, - "Role":{"type":"string"}, - "RoleArn":{ - "type":"string", - "pattern":"arn:aws:iam::\\d{12}:role/.*" - }, - "RoleString":{"type":"string"}, - "RowTag":{"type":"string"}, - "S3Encryption":{ - "type":"structure", - "members":{ - "S3EncryptionMode":{ - "shape":"S3EncryptionMode", - "documentation":"

The encryption mode to use for S3 data.

" - }, - "KmsKeyArn":{ - "shape":"KmsKeyArn", - "documentation":"

The AWS ARN of the KMS key to be used to encrypt the data.

" - } - }, - "documentation":"

Specifies how S3 data should be encrypted.

" - }, - "S3EncryptionList":{ - "type":"list", - "member":{"shape":"S3Encryption"} - }, - "S3EncryptionMode":{ - "type":"string", - "enum":[ - "DISABLED", - "SSE-KMS", - "SSE-S3" - ] - }, - "S3Target":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"Path", - "documentation":"

The path to the Amazon S3 target.

" - }, - "Exclusions":{ - "shape":"PathList", - "documentation":"

A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.

" - } - }, - "documentation":"

Specifies a data store in Amazon S3.

" - }, - "S3TargetList":{ - "type":"list", - "member":{"shape":"S3Target"} - }, - "ScalaCode":{"type":"string"}, - "Schedule":{ - "type":"structure", - "members":{ - "ScheduleExpression":{ - "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - }, - "State":{ - "shape":"ScheduleState", - "documentation":"

The state of the schedule.

" - } - }, - "documentation":"

A scheduling object using a cron statement to schedule an event.

" - }, - "ScheduleState":{ - "type":"string", - "enum":[ - "SCHEDULED", - "NOT_SCHEDULED", - "TRANSITIONING" - ] - }, - "SchedulerNotRunningException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The specified scheduler is not running.

", - "exception":true - }, - "SchedulerRunningException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The specified scheduler is already running.

", - "exception":true - }, - "SchedulerTransitioningException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

The specified scheduler is transitioning.

", - "exception":true - }, - "SchemaChangePolicy":{ - "type":"structure", - "members":{ - "UpdateBehavior":{ - "shape":"UpdateBehavior", - "documentation":"

The update behavior when the crawler finds a changed schema.

" - }, - "DeleteBehavior":{ - "shape":"DeleteBehavior", - "documentation":"

The deletion behavior when the crawler finds a deleted object.

" - } - }, - "documentation":"

Crawler policy for update and deletion behavior.

" - }, - "SchemaPathString":{"type":"string"}, - "ScriptLocationString":{"type":"string"}, - "SecurityConfiguration":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the security configuration.

" - }, - "CreatedTimeStamp":{ - "shape":"TimestampValue", - "documentation":"

The time at which this security configuration was created.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

The encryption configuration associated with this security configuration.

" - } - }, - "documentation":"

Specifies a security configuration.

" - }, - "SecurityConfigurationList":{ - "type":"list", - "member":{"shape":"SecurityConfiguration"} - }, - "SecurityGroupIdList":{ - "type":"list", - "member":{"shape":"NameString"}, - "max":50, - "min":0 - }, - "Segment":{ - "type":"structure", - "required":[ - "SegmentNumber", - "TotalSegments" - ], - "members":{ - "SegmentNumber":{ - "shape":"NonNegativeInteger", - "documentation":"

The zero-based index number of the this segment. For example, if the total number of segments is 4, SegmentNumber values will range from zero through three.

" - }, - "TotalSegments":{ - "shape":"TotalSegmentsInteger", - "documentation":"

The total numer of segments.

" - } - }, - "documentation":"

Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.

" - }, - "SerDeInfo":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the SerDe.

" - }, - "SerializationLibrary":{ - "shape":"NameString", - "documentation":"

Usually the class that implements the SerDe. An example is: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define initialization parameters for the SerDe.

" - } - }, - "documentation":"

Information about a serialization/deserialization program (SerDe) which serves as an extractor and loader.

" - }, - "SkewedInfo":{ - "type":"structure", - "members":{ - "SkewedColumnNames":{ - "shape":"NameStringList", - "documentation":"

A list of names of columns that contain skewed values.

" - }, - "SkewedColumnValues":{ - "shape":"ColumnValueStringList", - "documentation":"

A list of values that appear so frequently as to be considered skewed.

" - }, - "SkewedColumnValueLocationMaps":{ - "shape":"LocationMap", - "documentation":"

A mapping of skewed values to the columns that contain them.

" - } - }, - "documentation":"

Specifies skewed values in a table. Skewed are ones that occur with very high frequency.

" - }, - "StartCrawlerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the crawler to start.

" - } - } - }, - "StartCrawlerResponse":{ - "type":"structure", - "members":{ - } - }, - "StartCrawlerScheduleRequest":{ - "type":"structure", - "required":["CrawlerName"], - "members":{ - "CrawlerName":{ - "shape":"NameString", - "documentation":"

Name of the crawler to schedule.

" - } - } - }, - "StartCrawlerScheduleResponse":{ - "type":"structure", - "members":{ - } - }, - "StartJobRunRequest":{ - "type":"structure", - "required":["JobName"], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

The name of the job definition to use.

" - }, - "JobRunId":{ - "shape":"IdString", - "documentation":"

The ID of a previous JobRun to retry.

" - }, - "Arguments":{ - "shape":"GenericMap", - "documentation":"

The job arguments specifically for this run. They override the equivalent default arguments set for in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" - }, - "AllocatedCapacity":{ - "shape":"IntegerValue", - "documentation":"

The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" - }, - "NotificationProperty":{ - "shape":"NotificationProperty", - "documentation":"

Specifies configuration properties of a job run notification.

" - }, - "SecurityConfiguration":{ - "shape":"NameString", - "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" - } - } - }, - "StartJobRunResponse":{ - "type":"structure", - "members":{ - "JobRunId":{ - "shape":"IdString", - "documentation":"

The ID assigned to this job run.

" - } - } - }, - "StartTriggerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger to start.

" - } - } - }, - "StartTriggerResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger that was started.

" - } - } - }, - "StopCrawlerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the crawler to stop.

" - } - } - }, - "StopCrawlerResponse":{ - "type":"structure", - "members":{ - } - }, - "StopCrawlerScheduleRequest":{ - "type":"structure", - "required":["CrawlerName"], - "members":{ - "CrawlerName":{ - "shape":"NameString", - "documentation":"

Name of the crawler whose schedule state to set.

" - } - } - }, - "StopCrawlerScheduleResponse":{ - "type":"structure", - "members":{ - } - }, - "StopTriggerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger to stop.

" - } - } - }, - "StopTriggerResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger that was stopped.

" - } - } - }, - "StorageDescriptor":{ - "type":"structure", - "members":{ - "Columns":{ - "shape":"ColumnList", - "documentation":"

A list of the Columns in the table.

" - }, - "Location":{ - "shape":"LocationString", - "documentation":"

The physical location of the table. By default this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.

" - }, - "InputFormat":{ - "shape":"FormatString", - "documentation":"

The input format: SequenceFileInputFormat (binary), or TextInputFormat, or a custom format.

" - }, - "OutputFormat":{ - "shape":"FormatString", - "documentation":"

The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, or a custom format.

" - }, - "Compressed":{ - "shape":"Boolean", - "documentation":"

True if the data in the table is compressed, or False if not.

" - }, - "NumberOfBuckets":{ - "shape":"Integer", - "documentation":"

Must be specified if the table contains any dimension columns.

" - }, - "SerdeInfo":{ - "shape":"SerDeInfo", - "documentation":"

Serialization/deserialization (SerDe) information.

" - }, - "BucketColumns":{ - "shape":"NameStringList", - "documentation":"

A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

" - }, - "SortColumns":{ - "shape":"OrderList", - "documentation":"

A list specifying the sort order of each bucket in the table.

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

User-supplied properties in key-value form.

" - }, - "SkewedInfo":{ - "shape":"SkewedInfo", - "documentation":"

Information about values that appear very frequently in a column (skewed values).

" - }, - "StoredAsSubDirectories":{ - "shape":"Boolean", - "documentation":"

True if the table data is stored in subdirectories, or False if not.

" - } - }, - "documentation":"

Describes the physical storage of table data.

" - }, - "StringList":{ - "type":"list", - "member":{"shape":"GenericString"} - }, - "Table":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the table. For Hive compatibility, this must be entirely lowercase.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the table.

" - }, - "Owner":{ - "shape":"NameString", - "documentation":"

Owner of the table.

" - }, - "CreateTime":{ - "shape":"Timestamp", - "documentation":"

Time when the table definition was created in the Data Catalog.

" - }, - "UpdateTime":{ - "shape":"Timestamp", - "documentation":"

Last time the table was updated.

" - }, - "LastAccessTime":{ - "shape":"Timestamp", - "documentation":"

Last time the table was accessed. This is usually taken from HDFS, and may not be reliable.

" - }, - "LastAnalyzedTime":{ - "shape":"Timestamp", - "documentation":"

Last time column statistics were computed for this table.

" - }, - "Retention":{ - "shape":"NonNegativeInteger", - "documentation":"

Retention time for this table.

" - }, - "StorageDescriptor":{ - "shape":"StorageDescriptor", - "documentation":"

A storage descriptor containing information about the physical storage of this table.

" - }, - "PartitionKeys":{ - "shape":"ColumnList", - "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

" - }, - "ViewOriginalText":{ - "shape":"ViewTextString", - "documentation":"

If the table is a view, the original text of the view; otherwise null.

" - }, - "ViewExpandedText":{ - "shape":"ViewTextString", - "documentation":"

If the table is a view, the expanded text of the view; otherwise null.

" - }, - "TableType":{ - "shape":"TableTypeString", - "documentation":"

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define properties associated with the table.

" - }, - "CreatedBy":{ - "shape":"NameString", - "documentation":"

Person or entity who created the table.

" - } - }, - "documentation":"

Represents a collection of related data organized in columns and rows.

" - }, - "TableError":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"NameString", - "documentation":"

Name of the table. For Hive compatibility, this must be entirely lowercase.

" - }, - "ErrorDetail":{ - "shape":"ErrorDetail", - "documentation":"

Detail about the error.

" - } - }, - "documentation":"

An error record for table operations.

" - }, - "TableErrors":{ - "type":"list", - "member":{"shape":"TableError"} - }, - "TableInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the table. For Hive compatibility, this is folded to lowercase when it is stored.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

Description of the table.

" - }, - "Owner":{ - "shape":"NameString", - "documentation":"

Owner of the table.

" - }, - "LastAccessTime":{ - "shape":"Timestamp", - "documentation":"

Last time the table was accessed.

" - }, - "LastAnalyzedTime":{ - "shape":"Timestamp", - "documentation":"

Last time column statistics were computed for this table.

" - }, - "Retention":{ - "shape":"NonNegativeInteger", - "documentation":"

Retention time for this table.

" - }, - "StorageDescriptor":{ - "shape":"StorageDescriptor", - "documentation":"

A storage descriptor containing information about the physical storage of this table.

" - }, - "PartitionKeys":{ - "shape":"ColumnList", - "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

" - }, - "ViewOriginalText":{ - "shape":"ViewTextString", - "documentation":"

If the table is a view, the original text of the view; otherwise null.

" - }, - "ViewExpandedText":{ - "shape":"ViewTextString", - "documentation":"

If the table is a view, the expanded text of the view; otherwise null.

" - }, - "TableType":{ - "shape":"TableTypeString", - "documentation":"

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

" - }, - "Parameters":{ - "shape":"ParametersMap", - "documentation":"

These key-value pairs define properties associated with the table.

" - } - }, - "documentation":"

Structure used to create or update the table.

" - }, - "TableList":{ - "type":"list", - "member":{"shape":"Table"} - }, - "TableName":{"type":"string"}, - "TablePrefix":{ - "type":"string", - "max":128, - "min":0 - }, - "TableTypeString":{ - "type":"string", - "max":255 - }, - "TableVersion":{ - "type":"structure", - "members":{ - "Table":{ - "shape":"Table", - "documentation":"

The table in question

" - }, - "VersionId":{ - "shape":"VersionString", - "documentation":"

The ID value that identifies this table version.

" - } - }, - "documentation":"

Specifies a version of a table.

" - }, - "TableVersionError":{ - "type":"structure", - "members":{ - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table in question.

" - }, - "VersionId":{ - "shape":"VersionString", - "documentation":"

The ID value of the version in question.

" - }, - "ErrorDetail":{ - "shape":"ErrorDetail", - "documentation":"

Detail about the error.

" - } - }, - "documentation":"

An error record for table-version operations.

" - }, - "TableVersionErrors":{ - "type":"list", - "member":{"shape":"TableVersionError"} - }, - "Timeout":{ - "type":"integer", - "box":true, - "min":1 - }, - "Timestamp":{"type":"timestamp"}, - "TimestampValue":{"type":"timestamp"}, - "Token":{"type":"string"}, - "TotalSegmentsInteger":{ - "type":"integer", - "max":10, - "min":1 - }, - "Trigger":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the trigger.

" - }, - "Id":{ - "shape":"IdString", - "documentation":"

Reserved for future use.

" - }, - "Type":{ - "shape":"TriggerType", - "documentation":"

The type of trigger that this is.

" - }, - "State":{ - "shape":"TriggerState", - "documentation":"

The current state of the trigger.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

A description of this trigger.

" - }, - "Schedule":{ - "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - }, - "Actions":{ - "shape":"ActionList", - "documentation":"

The actions initiated by this trigger.

" - }, - "Predicate":{ - "shape":"Predicate", - "documentation":"

The predicate of this trigger, which defines when it will fire.

" - } - }, - "documentation":"

Information about a specific trigger.

" - }, - "TriggerList":{ - "type":"list", - "member":{"shape":"Trigger"} - }, - "TriggerState":{ - "type":"string", - "enum":[ - "CREATING", - "CREATED", - "ACTIVATING", - "ACTIVATED", - "DEACTIVATING", - "DEACTIVATED", - "DELETING", - "UPDATING" - ] - }, - "TriggerType":{ - "type":"string", - "enum":[ - "SCHEDULED", - "CONDITIONAL", - "ON_DEMAND" - ] - }, - "TriggerUpdate":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Reserved for future use.

" - }, - "Description":{ - "shape":"DescriptionString", - "documentation":"

A description of this trigger.

" - }, - "Schedule":{ - "shape":"GenericString", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - }, - "Actions":{ - "shape":"ActionList", - "documentation":"

The actions initiated by this trigger.

" - }, - "Predicate":{ - "shape":"Predicate", - "documentation":"

The predicate of this trigger, which defines when it will fire.

" - } - }, - "documentation":"

A structure used to provide information used to update a trigger. This object will update the the previous trigger definition by overwriting it completely.

" - }, - "URI":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" - }, - "UpdateBehavior":{ - "type":"string", - "enum":[ - "LOG", - "UPDATE_IN_DATABASE" - ] - }, - "UpdateClassifierRequest":{ - "type":"structure", - "members":{ - "GrokClassifier":{ - "shape":"UpdateGrokClassifierRequest", - "documentation":"

A GrokClassifier object with updated fields.

" - }, - "XMLClassifier":{ - "shape":"UpdateXMLClassifierRequest", - "documentation":"

An XMLClassifier object with updated fields.

" - }, - "JsonClassifier":{ - "shape":"UpdateJsonClassifierRequest", - "documentation":"

A JsonClassifier object with updated fields.

" - } - } - }, - "UpdateClassifierResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateConnectionRequest":{ - "type":"structure", - "required":[ - "Name", - "ConnectionInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the connection resides. If none is supplied, the AWS account ID is used by default.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the connection definition to update.

" - }, - "ConnectionInput":{ - "shape":"ConnectionInput", - "documentation":"

A ConnectionInput object that redefines the connection in question.

" - } - } - }, - "UpdateConnectionResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateCrawlerRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

Name of the new crawler.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The IAM role (or ARN of an IAM role) used by the new crawler to access customer resources.

" - }, - "DatabaseName":{ - "shape":"DatabaseName", - "documentation":"

The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*.

" - }, - "Description":{ - "shape":"DescriptionStringRemovable", - "documentation":"

A description of the new crawler.

" - }, - "Targets":{ - "shape":"CrawlerTargets", - "documentation":"

A list of targets to crawl.

" - }, - "Schedule":{ - "shape":"CronExpression", - "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - }, - "Classifiers":{ - "shape":"ClassifierNameList", - "documentation":"

A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" - }, - "TablePrefix":{ - "shape":"TablePrefix", - "documentation":"

The table prefix used for catalog tables that are created.

" - }, - "SchemaChangePolicy":{ - "shape":"SchemaChangePolicy", - "documentation":"

Policy for the crawler's update and deletion behavior.

" - }, - "Configuration":{ - "shape":"CrawlerConfiguration", - "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a Crawler's behavior.

You can use this field to force partitions to inherit metadata such as classification, input format, output format, serde information, and schema from their parent table, rather than detect this information separately for each partition. Use the following JSON string to specify that behavior:

Example: '{ \"Version\": 1.0, \"CrawlerOutput\": { \"Partitions\": { \"AddOrUpdateBehavior\": \"InheritFromTable\" } } }'

" - }, - "CrawlerSecurityConfiguration":{ - "shape":"CrawlerSecurityConfiguration", - "documentation":"

The name of the SecurityConfiguration structure to be used by this Crawler.

" - } - } - }, - "UpdateCrawlerResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateCrawlerScheduleRequest":{ - "type":"structure", - "required":["CrawlerName"], - "members":{ - "CrawlerName":{ - "shape":"NameString", - "documentation":"

Name of the crawler whose schedule to update.

" - }, - "Schedule":{ - "shape":"CronExpression", - "documentation":"

The updated cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" - } - } - }, - "UpdateCrawlerScheduleResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateDatabaseRequest":{ - "type":"structure", - "required":[ - "Name", - "DatabaseInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog in which the metadata database resides. If none is supplied, the AWS account ID is used by default.

" - }, - "Name":{ - "shape":"NameString", - "documentation":"

The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase.

" - }, - "DatabaseInput":{ - "shape":"DatabaseInput", - "documentation":"

A DatabaseInput object specifying the new definition of the metadata database in the catalog.

" - } - } - }, - "UpdateDatabaseResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateDevEndpointRequest":{ - "type":"structure", - "required":["EndpointName"], - "members":{ - "EndpointName":{ - "shape":"GenericString", - "documentation":"

The name of the DevEndpoint to be updated.

" - }, - "PublicKey":{ - "shape":"GenericString", - "documentation":"

The public key for the DevEndpoint to use.

" - }, - "AddPublicKeys":{ - "shape":"PublicKeysList", - "documentation":"

The list of public keys for the DevEndpoint to use.

" - }, - "DeletePublicKeys":{ - "shape":"PublicKeysList", - "documentation":"

The list of public keys to be deleted from the DevEndpoint.

" - }, - "CustomLibraries":{ - "shape":"DevEndpointCustomLibraries", - "documentation":"

Custom Python or Java libraries to be loaded in the DevEndpoint.

" - }, - "UpdateEtlLibraries":{ - "shape":"BooleanValue", - "documentation":"

True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False otherwise.

" - } - } - }, - "UpdateDevEndpointResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateGrokClassifierRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the GrokClassifier.

" - }, - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.

" - }, - "GrokPattern":{ - "shape":"GrokPattern", - "documentation":"

The grok pattern used by this classifier.

" - }, - "CustomPatterns":{ - "shape":"CustomPatterns", - "documentation":"

Optional custom grok patterns used by this classifier.

" - } - }, - "documentation":"

Specifies a grok classifier to update when passed to UpdateClassifier.

" - }, - "UpdateJobRequest":{ - "type":"structure", - "required":[ - "JobName", - "JobUpdate" - ], - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

Name of the job definition to update.

" - }, - "JobUpdate":{ - "shape":"JobUpdate", - "documentation":"

Specifies the values with which to update the job definition.

" - } - } - }, - "UpdateJobResponse":{ - "type":"structure", - "members":{ - "JobName":{ - "shape":"NameString", - "documentation":"

Returns the name of the updated job definition.

" - } - } - }, - "UpdateJsonClassifierRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "JsonPath":{ - "shape":"JsonPath", - "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" - } - }, - "documentation":"

Specifies a JSON classifier to be updated.

" - }, - "UpdatePartitionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableName", - "PartitionValueList", - "PartitionInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the partition to be updated resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which the table in question resides.

" - }, - "TableName":{ - "shape":"NameString", - "documentation":"

The name of the table where the partition to be updated is located.

" - }, - "PartitionValueList":{ - "shape":"BoundedPartitionValueList", - "documentation":"

A list of the values defining the partition.

" - }, - "PartitionInput":{ - "shape":"PartitionInput", - "documentation":"

The new partition object to which to update the partition.

" - } - } - }, - "UpdatePartitionResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateTableRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "TableInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the table resides. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

" - }, - "TableInput":{ - "shape":"TableInput", - "documentation":"

An updated TableInput object to define the metadata table in the catalog.

" - }, - "SkipArchive":{ - "shape":"BooleanNullable", - "documentation":"

By default, UpdateTable always creates an archived version of the table before updating it. If skipArchive is set to true, however, UpdateTable does not create the archived version.

" - } - } - }, - "UpdateTableResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateTriggerRequest":{ - "type":"structure", - "required":[ - "Name", - "TriggerUpdate" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the trigger to update.

" - }, - "TriggerUpdate":{ - "shape":"TriggerUpdate", - "documentation":"

The new values with which to update the trigger.

" - } - } - }, - "UpdateTriggerResponse":{ - "type":"structure", - "members":{ - "Trigger":{ - "shape":"Trigger", - "documentation":"

The resulting trigger definition.

" - } - } - }, - "UpdateUserDefinedFunctionRequest":{ - "type":"structure", - "required":[ - "DatabaseName", - "FunctionName", - "FunctionInput" - ], - "members":{ - "CatalogId":{ - "shape":"CatalogIdString", - "documentation":"

The ID of the Data Catalog where the function to be updated is located. If none is supplied, the AWS account ID is used by default.

" - }, - "DatabaseName":{ - "shape":"NameString", - "documentation":"

The name of the catalog database where the function to be updated is located.

" - }, - "FunctionName":{ - "shape":"NameString", - "documentation":"

The name of the function.

" - }, - "FunctionInput":{ - "shape":"UserDefinedFunctionInput", - "documentation":"

A FunctionInput object that re-defines the function in the Data Catalog.

" - } - } - }, - "UpdateUserDefinedFunctionResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateXMLClassifierRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches.

" - }, - "RowTag":{ - "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" - } - }, - "documentation":"

Specifies an XML classifier to be updated.

" - }, - "UriString":{"type":"string"}, - "UserDefinedFunction":{ - "type":"structure", - "members":{ - "FunctionName":{ - "shape":"NameString", - "documentation":"

The name of the function.

" - }, - "ClassName":{ - "shape":"NameString", - "documentation":"

The Java class that contains the function code.

" - }, - "OwnerName":{ - "shape":"NameString", - "documentation":"

The owner of the function.

" - }, - "OwnerType":{ - "shape":"PrincipalType", - "documentation":"

The owner type.

" - }, - "CreateTime":{ - "shape":"Timestamp", - "documentation":"

The time at which the function was created.

" - }, - "ResourceUris":{ - "shape":"ResourceUriList", - "documentation":"

The resource URIs for the function.

" - } - }, - "documentation":"

Represents the equivalent of a Hive user-defined function (UDF) definition.

" - }, - "UserDefinedFunctionInput":{ - "type":"structure", - "members":{ - "FunctionName":{ - "shape":"NameString", - "documentation":"

The name of the function.

" - }, - "ClassName":{ - "shape":"NameString", - "documentation":"

The Java class that contains the function code.

" - }, - "OwnerName":{ - "shape":"NameString", - "documentation":"

The owner of the function.

" - }, - "OwnerType":{ - "shape":"PrincipalType", - "documentation":"

The owner type.

" - }, - "ResourceUris":{ - "shape":"ResourceUriList", - "documentation":"

The resource URIs for the function.

" - } - }, - "documentation":"

A structure used to create or updata a user-defined function.

" - }, - "UserDefinedFunctionList":{ - "type":"list", - "member":{"shape":"UserDefinedFunction"} - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

A value could not be validated.

", - "exception":true - }, - "ValueString":{ - "type":"string", - "max":1024 - }, - "ValueStringList":{ - "type":"list", - "member":{"shape":"ValueString"} - }, - "VersionId":{"type":"long"}, - "VersionMismatchException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"MessageString", - "documentation":"

A message describing the problem.

" - } - }, - "documentation":"

There was a version conflict.

", - "exception":true - }, - "VersionString":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" - }, - "ViewTextString":{ - "type":"string", - "max":409600 - }, - "XMLClassifier":{ - "type":"structure", - "required":[ - "Name", - "Classification" - ], - "members":{ - "Name":{ - "shape":"NameString", - "documentation":"

The name of the classifier.

" - }, - "Classification":{ - "shape":"Classification", - "documentation":"

An identifier of the data format that the classifier matches.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was registered.

" - }, - "LastUpdated":{ - "shape":"Timestamp", - "documentation":"

The time this classifier was last updated.

" - }, - "Version":{ - "shape":"VersionId", - "documentation":"

The version of this classifier.

" - }, - "RowTag":{ - "shape":"RowTag", - "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. Note that this cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" - } - }, - "documentation":"

A classifier for XML content.

" - } - }, - "documentation":"AWS Glue

Defines the public endpoint for the AWS Glue service.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/greengrass/2017-06-07/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/greengrass/2017-06-07/service-2.json deleted file mode 100644 index 2bf2ec8a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/greengrass/2017-06-07/service-2.json +++ /dev/null @@ -1,4854 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2017-06-07", - "endpointPrefix" : "greengrass", - "signingName" : "greengrass", - "serviceFullName" : "AWS Greengrass", - "serviceId" : "Greengrass", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "greengrass-2017-06-07", - "signatureVersion" : "v4" - }, - "operations" : { - "AssociateRoleToGroup" : { - "name" : "AssociateRoleToGroup", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/groups/{GroupId}/role", - "responseCode" : 200 - }, - "input" : { - "shape" : "AssociateRoleToGroupRequest" - }, - "output" : { - "shape" : "AssociateRoleToGroupResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Associates a role with a group. Your AWS Greengrass core will use the role to access AWS cloud services. The role's permissions should allow Greengrass core Lambda functions to perform actions against the cloud." - }, - "AssociateServiceRoleToAccount" : { - "name" : "AssociateServiceRoleToAccount", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/servicerole", - "responseCode" : 200 - }, - "input" : { - "shape" : "AssociateServiceRoleToAccountRequest" - }, - "output" : { - "shape" : "AssociateServiceRoleToAccountResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Associates a role with your account. AWS Greengrass will use the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. The role must have at least minimum permissions in the policy ''AWSGreengrassResourceAccessRolePolicy''." - }, - "CreateCoreDefinition" : { - "name" : "CreateCoreDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/cores", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateCoreDefinitionRequest" - }, - "output" : { - "shape" : "CreateCoreDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a core definition. You may provide the initial version of the core definition now or use ''CreateCoreDefinitionVersion'' at a later time. AWS Greengrass groups must each contain exactly one 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" : "invalid request" - } ], - "documentation" : "Creates a version of a core definition that has already been defined. AWS Greengrass groups must each contain exactly one AWS Greengrass core." - }, - "CreateDeployment" : { - "name" : "CreateDeployment", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/groups/{GroupId}/deployments", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateDeploymentRequest" - }, - "output" : { - "shape" : "CreateDeploymentResponse", - "documentation" : "Success. The group was deployed." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a deployment." - }, - "CreateDeviceDefinition" : { - "name" : "CreateDeviceDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/devices", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateDeviceDefinitionRequest" - }, - "output" : { - "shape" : "CreateDeviceDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a device definition. You may provide the initial version of the device definition now or use ''CreateDeviceDefinitionVersion'' at a later time." - }, - "CreateDeviceDefinitionVersion" : { - "name" : "CreateDeviceDefinitionVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateDeviceDefinitionVersionRequest" - }, - "output" : { - "shape" : "CreateDeviceDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a device definition that has already been defined." - }, - "CreateFunctionDefinition" : { - "name" : "CreateFunctionDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/functions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateFunctionDefinitionRequest" - }, - "output" : { - "shape" : "CreateFunctionDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a Lambda function definition which contains a list of Lambda functions and their configurations to be used in a group. You can create an initial version of the definition by providing a list of Lambda functions and their configurations now, or use ''CreateFunctionDefinitionVersion'' later." - }, - "CreateFunctionDefinitionVersion" : { - "name" : "CreateFunctionDefinitionVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateFunctionDefinitionVersionRequest" - }, - "output" : { - "shape" : "CreateFunctionDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a Lambda function definition that has already been defined." - }, - "CreateGroup" : { - "name" : "CreateGroup", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/groups", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateGroupRequest" - }, - "output" : { - "shape" : "CreateGroupResponse", - "documentation" : "Success. The group was created." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a group. You may provide the initial version of the group or use ''CreateGroupVersion'' at a later time." - }, - "CreateGroupCertificateAuthority" : { - "name" : "CreateGroupCertificateAuthority", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateGroupCertificateAuthorityRequest" - }, - "output" : { - "shape" : "CreateGroupCertificateAuthorityResponse", - "documentation" : "Success. The response body contains the new active CA ARN." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Creates a CA for the group. If a CA already exists, it will rotate the existing CA." - }, - "CreateGroupVersion" : { - "name" : "CreateGroupVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/groups/{GroupId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateGroupVersionRequest" - }, - "output" : { - "shape" : "CreateGroupVersionResponse", - "documentation" : "Success. The response contains information about the group version." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a group which has already been defined." - }, - "CreateLoggerDefinition" : { - "name" : "CreateLoggerDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/loggers", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateLoggerDefinitionRequest" - }, - "output" : { - "shape" : "CreateLoggerDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a logger definition. You may provide the initial version of the logger definition now or use ''CreateLoggerDefinitionVersion'' at a later time." - }, - "CreateLoggerDefinitionVersion" : { - "name" : "CreateLoggerDefinitionVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateLoggerDefinitionVersionRequest" - }, - "output" : { - "shape" : "CreateLoggerDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a logger definition that has already been defined." - }, - "CreateResourceDefinition" : { - "name" : "CreateResourceDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/resources", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateResourceDefinitionRequest" - }, - "output" : { - "shape" : "CreateResourceDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a resource definition which contains a list of resources to be used in a group. You can create an initial version of the definition by providing a list of resources now, or use ''CreateResourceDefinitionVersion'' later." - }, - "CreateResourceDefinitionVersion" : { - "name" : "CreateResourceDefinitionVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateResourceDefinitionVersionRequest" - }, - "output" : { - "shape" : "CreateResourceDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a resource definition that has already been defined." - }, - "CreateSoftwareUpdateJob" : { - "name" : "CreateSoftwareUpdateJob", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/updates", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateSoftwareUpdateJobRequest" - }, - "output" : { - "shape" : "CreateSoftwareUpdateJobResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Creates a software update for a core or group of cores (specified as an IoT thing group.) Use this to update the OTA Agent as well as the Greengrass core software. It makes use of the IoT Jobs feature which provides additional commands to manage a Greengrass core software update job." - }, - "CreateSubscriptionDefinition" : { - "name" : "CreateSubscriptionDefinition", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/subscriptions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateSubscriptionDefinitionRequest" - }, - "output" : { - "shape" : "CreateSubscriptionDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a subscription definition. You may provide the initial version of the subscription definition now or use ''CreateSubscriptionDefinitionVersion'' at a later time." - }, - "CreateSubscriptionDefinitionVersion" : { - "name" : "CreateSubscriptionDefinitionVersion", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateSubscriptionDefinitionVersionRequest" - }, - "output" : { - "shape" : "CreateSubscriptionDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Creates a version of a subscription definition which has already been defined." - }, - "DeleteCoreDefinition" : { - "name" : "DeleteCoreDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteCoreDefinitionRequest" - }, - "output" : { - "shape" : "DeleteCoreDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a core definition." - }, - "DeleteDeviceDefinition" : { - "name" : "DeleteDeviceDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteDeviceDefinitionRequest" - }, - "output" : { - "shape" : "DeleteDeviceDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a device definition." - }, - "DeleteFunctionDefinition" : { - "name" : "DeleteFunctionDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteFunctionDefinitionRequest" - }, - "output" : { - "shape" : "DeleteFunctionDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a Lambda function definition." - }, - "DeleteGroup" : { - "name" : "DeleteGroup", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/groups/{GroupId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteGroupRequest" - }, - "output" : { - "shape" : "DeleteGroupResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a group." - }, - "DeleteLoggerDefinition" : { - "name" : "DeleteLoggerDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteLoggerDefinitionRequest" - }, - "output" : { - "shape" : "DeleteLoggerDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a logger definition." - }, - "DeleteResourceDefinition" : { - "name" : "DeleteResourceDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteResourceDefinitionRequest" - }, - "output" : { - "shape" : "DeleteResourceDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a resource definition." - }, - "DeleteSubscriptionDefinition" : { - "name" : "DeleteSubscriptionDefinition", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteSubscriptionDefinitionRequest" - }, - "output" : { - "shape" : "DeleteSubscriptionDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Deletes a subscription definition." - }, - "DisassociateRoleFromGroup" : { - "name" : "DisassociateRoleFromGroup", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/groups/{GroupId}/role", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateRoleFromGroupRequest" - }, - "output" : { - "shape" : "DisassociateRoleFromGroupResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Disassociates the role from a group." - }, - "DisassociateServiceRoleFromAccount" : { - "name" : "DisassociateServiceRoleFromAccount", - "http" : { - "method" : "DELETE", - "requestUri" : "/greengrass/servicerole", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateServiceRoleFromAccountRequest" - }, - "output" : { - "shape" : "DisassociateServiceRoleFromAccountResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Disassociates the service role from your account. Without a service role, deployments will not work." - }, - "GetAssociatedRole" : { - "name" : "GetAssociatedRole", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/role", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetAssociatedRoleRequest" - }, - "output" : { - "shape" : "GetAssociatedRoleResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retrieves the role associated with a particular group." - }, - "GetConnectivityInfo" : { - "name" : "GetConnectivityInfo", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetConnectivityInfoRequest" - }, - "output" : { - "shape" : "GetConnectivityInfoResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retrieves the connectivity information for a core." - }, - "GetCoreDefinition" : { - "name" : "GetCoreDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCoreDefinitionRequest" - }, - "output" : { - "shape" : "GetCoreDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a core definition version." - }, - "GetCoreDefinitionVersion" : { - "name" : "GetCoreDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCoreDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetCoreDefinitionVersionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a core definition version." - }, - "GetDeploymentStatus" : { - "name" : "GetDeploymentStatus", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDeploymentStatusRequest" - }, - "output" : { - "shape" : "GetDeploymentStatusResponse", - "documentation" : "Success. The response body contains the status of the deployment for the group." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Returns the status of a deployment." - }, - "GetDeviceDefinition" : { - "name" : "GetDeviceDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDeviceDefinitionRequest" - }, - "output" : { - "shape" : "GetDeviceDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a device definition." - }, - "GetDeviceDefinitionVersion" : { - "name" : "GetDeviceDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDeviceDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetDeviceDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a device definition version." - }, - "GetFunctionDefinition" : { - "name" : "GetFunctionDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFunctionDefinitionRequest" - }, - "output" : { - "shape" : "GetFunctionDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a Lambda function definition, including its creation time and latest version." - }, - "GetFunctionDefinitionVersion" : { - "name" : "GetFunctionDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFunctionDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetFunctionDefinitionVersionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a Lambda function definition version, including which Lambda functions are included in the version and their configurations." - }, - "GetGroup" : { - "name" : "GetGroup", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetGroupRequest" - }, - "output" : { - "shape" : "GetGroupResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a group." - }, - "GetGroupCertificateAuthority" : { - "name" : "GetGroupCertificateAuthority", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetGroupCertificateAuthorityRequest" - }, - "output" : { - "shape" : "GetGroupCertificateAuthorityResponse", - "documentation" : "Success. The response body contains the PKI Configuration." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retreives the CA associated with a group. Returns the public key of the CA." - }, - "GetGroupCertificateConfiguration" : { - "name" : "GetGroupCertificateConfiguration", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetGroupCertificateConfigurationRequest" - }, - "output" : { - "shape" : "GetGroupCertificateConfigurationResponse", - "documentation" : "Success. The response body contains the PKI Configuration." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retrieves the current configuration for the CA used by the group." - }, - "GetGroupVersion" : { - "name" : "GetGroupVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/versions/{GroupVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetGroupVersionRequest" - }, - "output" : { - "shape" : "GetGroupVersionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a group version." - }, - "GetLoggerDefinition" : { - "name" : "GetLoggerDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetLoggerDefinitionRequest" - }, - "output" : { - "shape" : "GetLoggerDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a logger definition." - }, - "GetLoggerDefinitionVersion" : { - "name" : "GetLoggerDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetLoggerDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetLoggerDefinitionVersionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a logger definition version." - }, - "GetResourceDefinition" : { - "name" : "GetResourceDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetResourceDefinitionRequest" - }, - "output" : { - "shape" : "GetResourceDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a resource definition, including its creation time and latest version." - }, - "GetResourceDefinitionVersion" : { - "name" : "GetResourceDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetResourceDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetResourceDefinitionVersionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a resource definition version, including which resources are included in the version." - }, - "GetServiceRoleForAccount" : { - "name" : "GetServiceRoleForAccount", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/servicerole", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetServiceRoleForAccountRequest" - }, - "output" : { - "shape" : "GetServiceRoleForAccountResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retrieves the service role that is attached to your account." - }, - "GetSubscriptionDefinition" : { - "name" : "GetSubscriptionDefinition", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSubscriptionDefinitionRequest" - }, - "output" : { - "shape" : "GetSubscriptionDefinitionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a subscription definition." - }, - "GetSubscriptionDefinitionVersion" : { - "name" : "GetSubscriptionDefinitionVersion", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSubscriptionDefinitionVersionRequest" - }, - "output" : { - "shape" : "GetSubscriptionDefinitionVersionResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Retrieves information about a subscription definition version." - }, - "ListCoreDefinitionVersions" : { - "name" : "ListCoreDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListCoreDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListCoreDefinitionVersionsResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a core definition." - }, - "ListCoreDefinitions" : { - "name" : "ListCoreDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/cores", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListCoreDefinitionsRequest" - }, - "output" : { - "shape" : "ListCoreDefinitionsResponse" - }, - "errors" : [ ], - "documentation" : "Retrieves a list of core definitions." - }, - "ListDeployments" : { - "name" : "ListDeployments", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/deployments", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDeploymentsRequest" - }, - "output" : { - "shape" : "ListDeploymentsResponse", - "documentation" : "Success. The response body contains the list of deployments for the given group." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Returns a history of deployments for the group." - }, - "ListDeviceDefinitionVersions" : { - "name" : "ListDeviceDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDeviceDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListDeviceDefinitionVersionsResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a device definition." - }, - "ListDeviceDefinitions" : { - "name" : "ListDeviceDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/devices", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDeviceDefinitionsRequest" - }, - "output" : { - "shape" : "ListDeviceDefinitionsResponse" - }, - "errors" : [ ], - "documentation" : "Retrieves a list of device definitions." - }, - "ListFunctionDefinitionVersions" : { - "name" : "ListFunctionDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFunctionDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListFunctionDefinitionVersionsResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a Lambda function definition." - }, - "ListFunctionDefinitions" : { - "name" : "ListFunctionDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/functions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFunctionDefinitionsRequest" - }, - "output" : { - "shape" : "ListFunctionDefinitionsResponse", - "documentation" : "Success. The response contains the IDs of all the Greengrass Lambda function definitions in this account." - }, - "errors" : [ ], - "documentation" : "Retrieves a list of Lambda function definitions." - }, - "ListGroupCertificateAuthorities" : { - "name" : "ListGroupCertificateAuthorities", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListGroupCertificateAuthoritiesRequest" - }, - "output" : { - "shape" : "ListGroupCertificateAuthoritiesResponse", - "documentation" : "Success. The response body contains the PKI Configuration." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Retrieves the current CAs for a group." - }, - "ListGroupVersions" : { - "name" : "ListGroupVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups/{GroupId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListGroupVersionsRequest" - }, - "output" : { - "shape" : "ListGroupVersionsResponse", - "documentation" : "Success. The response contains the list of versions and metadata for the given group." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a group." - }, - "ListGroups" : { - "name" : "ListGroups", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/groups", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListGroupsRequest" - }, - "output" : { - "shape" : "ListGroupsResponse" - }, - "errors" : [ ], - "documentation" : "Retrieves a list of groups." - }, - "ListLoggerDefinitionVersions" : { - "name" : "ListLoggerDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListLoggerDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListLoggerDefinitionVersionsResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a logger definition." - }, - "ListLoggerDefinitions" : { - "name" : "ListLoggerDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/loggers", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListLoggerDefinitionsRequest" - }, - "output" : { - "shape" : "ListLoggerDefinitionsResponse" - }, - "errors" : [ ], - "documentation" : "Retrieves a list of logger definitions." - }, - "ListResourceDefinitionVersions" : { - "name" : "ListResourceDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListResourceDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListResourceDefinitionVersionsResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a resource definition." - }, - "ListResourceDefinitions" : { - "name" : "ListResourceDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/resources", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListResourceDefinitionsRequest" - }, - "output" : { - "shape" : "ListResourceDefinitionsResponse", - "documentation" : "The IDs of all the Greengrass resource definitions in this account." - }, - "errors" : [ ], - "documentation" : "Retrieves a list of resource definitions." - }, - "ListSubscriptionDefinitionVersions" : { - "name" : "ListSubscriptionDefinitionVersions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListSubscriptionDefinitionVersionsRequest" - }, - "output" : { - "shape" : "ListSubscriptionDefinitionVersionsResponse" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Lists the versions of a subscription definition." - }, - "ListSubscriptionDefinitions" : { - "name" : "ListSubscriptionDefinitions", - "http" : { - "method" : "GET", - "requestUri" : "/greengrass/definition/subscriptions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListSubscriptionDefinitionsRequest" - }, - "output" : { - "shape" : "ListSubscriptionDefinitionsResponse" - }, - "errors" : [ ], - "documentation" : "Retrieves a list of subscription definitions." - }, - "ResetDeployments" : { - "name" : "ResetDeployments", - "http" : { - "method" : "POST", - "requestUri" : "/greengrass/groups/{GroupId}/deployments/$reset", - "responseCode" : 200 - }, - "input" : { - "shape" : "ResetDeploymentsRequest" - }, - "output" : { - "shape" : "ResetDeploymentsResponse", - "documentation" : "Success. The group's deployments were reset." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Resets a group's deployments." - }, - "UpdateConnectivityInfo" : { - "name" : "UpdateConnectivityInfo", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateConnectivityInfoRequest" - }, - "output" : { - "shape" : "UpdateConnectivityInfoResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it." - }, - "UpdateCoreDefinition" : { - "name" : "UpdateCoreDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateCoreDefinitionRequest" - }, - "output" : { - "shape" : "UpdateCoreDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a core definition." - }, - "UpdateDeviceDefinition" : { - "name" : "UpdateDeviceDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateDeviceDefinitionRequest" - }, - "output" : { - "shape" : "UpdateDeviceDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a device definition." - }, - "UpdateFunctionDefinition" : { - "name" : "UpdateFunctionDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateFunctionDefinitionRequest" - }, - "output" : { - "shape" : "UpdateFunctionDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a Lambda function definition." - }, - "UpdateGroup" : { - "name" : "UpdateGroup", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/groups/{GroupId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateGroupRequest" - }, - "output" : { - "shape" : "UpdateGroupResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a group." - }, - "UpdateGroupCertificateConfiguration" : { - "name" : "UpdateGroupCertificateConfiguration", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateGroupCertificateConfigurationRequest" - }, - "output" : { - "shape" : "UpdateGroupCertificateConfigurationResponse", - "documentation" : "Success. The response body contains the PKI Configuration." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "server error" - } ], - "documentation" : "Updates the Certificate expiry time for a group." - }, - "UpdateLoggerDefinition" : { - "name" : "UpdateLoggerDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateLoggerDefinitionRequest" - }, - "output" : { - "shape" : "UpdateLoggerDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a logger definition." - }, - "UpdateResourceDefinition" : { - "name" : "UpdateResourceDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateResourceDefinitionRequest" - }, - "output" : { - "shape" : "UpdateResourceDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a resource definition." - }, - "UpdateSubscriptionDefinition" : { - "name" : "UpdateSubscriptionDefinition", - "http" : { - "method" : "PUT", - "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateSubscriptionDefinitionRequest" - }, - "output" : { - "shape" : "UpdateSubscriptionDefinitionResponse", - "documentation" : "success" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "invalid request" - } ], - "documentation" : "Updates a subscription definition." - } - }, - "shapes" : { - "AssociateRoleToGroupRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The ARN of the role you wish to associate with this group." - } - }, - "required" : [ "GroupId" ] - }, - "AssociateRoleToGroupResponse" : { - "type" : "structure", - "members" : { - "AssociatedAt" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the role ARN was associated with the group." - } - } - }, - "AssociateServiceRoleToAccountRequest" : { - "type" : "structure", - "members" : { - "RoleArn" : { - "shape" : "__string", - "documentation" : "The ARN of the service role you wish to associate with your account." - } - } - }, - "AssociateServiceRoleToAccountResponse" : { - "type" : "structure", - "members" : { - "AssociatedAt" : { - "shape" : "__string", - "documentation" : "The time when the service role was associated with the account." - } - } - }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "ErrorDetails" : { - "shape" : "ErrorDetails", - "documentation" : "Details about the error." - }, - "Message" : { - "shape" : "__string", - "documentation" : "A message containing information about the error." - } - }, - "documentation" : "General error information.", - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "ConnectivityInfo" : { - "type" : "structure", - "members" : { - "HostAddress" : { - "shape" : "__string", - "documentation" : "The endpoint for the Greengrass core. Can be an IP address or DNS." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the connectivity information." - }, - "Metadata" : { - "shape" : "__string", - "documentation" : "Metadata for this endpoint." - }, - "PortNumber" : { - "shape" : "__integer", - "documentation" : "The port of the Greengrass core. Usually 8883." - } - }, - "documentation" : "Information about a Greengrass core's connectivity." - }, - "Core" : { - "type" : "structure", - "members" : { - "CertificateArn" : { - "shape" : "__string", - "documentation" : "The ARN of the certificate associated with the core." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the core." - }, - "SyncShadow" : { - "shape" : "__boolean", - "documentation" : "If true, the core's local shadow is automatically synced with the cloud." - }, - "ThingArn" : { - "shape" : "__string", - "documentation" : "The ARN of the thing which is the core." - } - }, - "documentation" : "Information about a core.", - "required" : [ ] - }, - "CoreDefinitionVersion" : { - "type" : "structure", - "members" : { - "Cores" : { - "shape" : "__listOfCore", - "documentation" : "A list of cores in the core definition version." - } - }, - "documentation" : "Information about a core definition version." - }, - "CreateCoreDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "CoreDefinitionVersion", - "documentation" : "Information about the initial version of the core definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the core definition." - } - }, - "documentation" : "Information needed to create a core definition." - }, - "CreateCoreDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateCoreDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - }, - "Cores" : { - "shape" : "__listOfCore", - "documentation" : "A list of cores in the core definition version." - } - }, - "required" : [ "CoreDefinitionId" ] - }, - "CreateCoreDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateDeploymentRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "DeploymentId" : { - "shape" : "__string", - "documentation" : "The ID of the deployment if you wish to redeploy a previous deployment." - }, - "DeploymentType" : { - "shape" : "DeploymentType", - "documentation" : "The type of deployment. When used in ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "GroupVersionId" : { - "shape" : "__string", - "documentation" : "The ID of the group version to be deployed." - } - }, - "required" : [ "GroupId" ] - }, - "CreateDeploymentResponse" : { - "type" : "structure", - "members" : { - "DeploymentArn" : { - "shape" : "__string", - "documentation" : "The ARN of the deployment." - }, - "DeploymentId" : { - "shape" : "__string", - "documentation" : "The ID of the deployment." - } - } - }, - "CreateDeviceDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "DeviceDefinitionVersion", - "documentation" : "Information about the initial version of the device definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the device definition." - } - } - }, - "CreateDeviceDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateDeviceDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - }, - "Devices" : { - "shape" : "__listOfDevice", - "documentation" : "A list of devices in the definition version." - } - }, - "required" : [ "DeviceDefinitionId" ] - }, - "CreateDeviceDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateFunctionDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "FunctionDefinitionVersion", - "documentation" : "Information about the initial version of the function definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the function definition." - } - } - }, - "CreateFunctionDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateFunctionDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - }, - "Functions" : { - "shape" : "__listOfFunction", - "documentation" : "A list of Lambda functions in this function definition version." - } - }, - "documentation" : "Information needed to create a function definition version.", - "required" : [ "FunctionDefinitionId" ] - }, - "CreateFunctionDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateGroupCertificateAuthorityRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "CreateGroupCertificateAuthorityResponse" : { - "type" : "structure", - "members" : { - "GroupCertificateAuthorityArn" : { - "shape" : "__string", - "documentation" : "The ARN of the group certificate authority." - } - } - }, - "CreateGroupRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "GroupVersion", - "documentation" : "Information about the initial version of the group." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the group." - } - } - }, - "CreateGroupResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateGroupVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "CoreDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the core definition version for this group." - }, - "DeviceDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the device definition version for this group." - }, - "FunctionDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the function definition version for this group." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "LoggerDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the logger definition version for this group." - }, - "ResourceDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The resource definition version ARN for this group." - }, - "SubscriptionDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the subscription definition version for this group." - } - }, - "required" : [ "GroupId" ] - }, - "CreateGroupVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateLoggerDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "LoggerDefinitionVersion", - "documentation" : "Information about the initial version of the logger definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the logger definition." - } - } - }, - "CreateLoggerDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateLoggerDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - }, - "Loggers" : { - "shape" : "__listOfLogger", - "documentation" : "A list of loggers." - } - }, - "required" : [ "LoggerDefinitionId" ] - }, - "CreateLoggerDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateResourceDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "ResourceDefinitionVersion", - "documentation" : "Information about the initial version of the resource definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the resource definition." - } - } - }, - "CreateResourceDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateResourceDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - }, - "Resources" : { - "shape" : "__listOfResource", - "documentation" : "A list of resources." - } - }, - "required" : [ "ResourceDefinitionId" ] - }, - "CreateResourceDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "CreateSoftwareUpdateJobRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "S3UrlSignerRole" : { - "shape" : "S3UrlSignerRole" - }, - "SoftwareToUpdate" : { - "shape" : "SoftwareToUpdate" - }, - "UpdateAgentLogLevel" : { - "shape" : "UpdateAgentLogLevel" - }, - "UpdateTargets" : { - "shape" : "UpdateTargets" - }, - "UpdateTargetsArchitecture" : { - "shape" : "UpdateTargetsArchitecture" - }, - "UpdateTargetsOperatingSystem" : { - "shape" : "UpdateTargetsOperatingSystem" - } - } - }, - "CreateSoftwareUpdateJobResponse" : { - "type" : "structure", - "members" : { - "IotJobArn" : { - "shape" : "__string", - "documentation" : "The IoT Job ARN corresponding to this update." - }, - "IotJobId" : { - "shape" : "__string", - "documentation" : "The IoT Job Id corresponding to this update." - } - } - }, - "CreateSubscriptionDefinitionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "InitialVersion" : { - "shape" : "SubscriptionDefinitionVersion", - "documentation" : "Information about the initial version of the subscription definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the subscription definition." - } - } - }, - "CreateSubscriptionDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "CreateSubscriptionDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - }, - "Subscriptions" : { - "shape" : "__listOfSubscription", - "documentation" : "A list of subscriptions." - } - }, - "required" : [ "SubscriptionDefinitionId" ] - }, - "CreateSubscriptionDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - } - }, - "DefinitionInformation" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "documentation" : "Information about a definition." - }, - "DeleteCoreDefinitionRequest" : { - "type" : "structure", - "members" : { - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - } - }, - "required" : [ "CoreDefinitionId" ] - }, - "DeleteCoreDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteDeviceDefinitionRequest" : { - "type" : "structure", - "members" : { - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - } - }, - "required" : [ "DeviceDefinitionId" ] - }, - "DeleteDeviceDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteFunctionDefinitionRequest" : { - "type" : "structure", - "members" : { - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - } - }, - "required" : [ "FunctionDefinitionId" ] - }, - "DeleteFunctionDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteGroupRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "DeleteGroupResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteLoggerDefinitionRequest" : { - "type" : "structure", - "members" : { - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - } - }, - "required" : [ "LoggerDefinitionId" ] - }, - "DeleteLoggerDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteResourceDefinitionRequest" : { - "type" : "structure", - "members" : { - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - } - }, - "required" : [ "ResourceDefinitionId" ] - }, - "DeleteResourceDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteSubscriptionDefinitionRequest" : { - "type" : "structure", - "members" : { - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - } - }, - "required" : [ "SubscriptionDefinitionId" ] - }, - "DeleteSubscriptionDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "Deployment" : { - "type" : "structure", - "members" : { - "CreatedAt" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the deployment was created." - }, - "DeploymentArn" : { - "shape" : "__string", - "documentation" : "The ARN of the deployment." - }, - "DeploymentId" : { - "shape" : "__string", - "documentation" : "The ID of the deployment." - }, - "DeploymentType" : { - "shape" : "DeploymentType", - "documentation" : "The type of the deployment." - }, - "GroupArn" : { - "shape" : "__string", - "documentation" : "The ARN of the group for this deployment." - } - }, - "documentation" : "Information about a deployment." - }, - "DeploymentType" : { - "type" : "string", - "enum" : [ "NewDeployment", "Redeployment", "ResetDeployment", "ForceResetDeployment" ] - }, - "Deployments" : { - "type" : "list", - "member" : { - "shape" : "Deployment" - } - }, - "Device" : { - "type" : "structure", - "members" : { - "CertificateArn" : { - "shape" : "__string", - "documentation" : "The ARN of the certificate associated with the device." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the device." - }, - "SyncShadow" : { - "shape" : "__boolean", - "documentation" : "If true, the device's local shadow will be automatically synced with the cloud." - }, - "ThingArn" : { - "shape" : "__string", - "documentation" : "The thing ARN of the device." - } - }, - "documentation" : "Information about a device.", - "required" : [ ] - }, - "DeviceDefinitionVersion" : { - "type" : "structure", - "members" : { - "Devices" : { - "shape" : "__listOfDevice", - "documentation" : "A list of devices in the definition version." - } - }, - "documentation" : "Information about a device definition version." - }, - "DisassociateRoleFromGroupRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "DisassociateRoleFromGroupResponse" : { - "type" : "structure", - "members" : { - "DisassociatedAt" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the role was disassociated from the group." - } - } - }, - "DisassociateServiceRoleFromAccountRequest" : { - "type" : "structure", - "members" : { } - }, - "DisassociateServiceRoleFromAccountResponse" : { - "type" : "structure", - "members" : { - "DisassociatedAt" : { - "shape" : "__string", - "documentation" : "The time when the service role was disassociated from the account." - } - } - }, - "Empty" : { - "type" : "structure", - "members" : { }, - "documentation" : "Empty" - }, - "EncodingType" : { - "type" : "string", - "enum" : [ "binary", "json" ] - }, - "ErrorDetail" : { - "type" : "structure", - "members" : { - "DetailedErrorCode" : { - "shape" : "__string", - "documentation" : "A detailed error code." - }, - "DetailedErrorMessage" : { - "shape" : "__string", - "documentation" : "A detailed error message." - } - }, - "documentation" : "Details about the error." - }, - "ErrorDetails" : { - "type" : "list", - "documentation" : "A list of error details.", - "member" : { - "shape" : "ErrorDetail" - } - }, - "Function" : { - "type" : "structure", - "members" : { - "FunctionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the Lambda function." - }, - "FunctionConfiguration" : { - "shape" : "FunctionConfiguration", - "documentation" : "The configuration of the Lambda function." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the Lambda function." - } - }, - "documentation" : "Information about a Lambda function.", - "required" : [ ] - }, - "FunctionConfiguration" : { - "type" : "structure", - "members" : { - "EncodingType" : { - "shape" : "EncodingType", - "documentation" : "The expected encoding type of the input payload for the function. The default is ''json''." - }, - "Environment" : { - "shape" : "FunctionConfigurationEnvironment", - "documentation" : "The environment configuration of the function." - }, - "ExecArgs" : { - "shape" : "__string", - "documentation" : "The execution arguments." - }, - "Executable" : { - "shape" : "__string", - "documentation" : "The name of the function executable." - }, - "MemorySize" : { - "shape" : "__integer", - "documentation" : "The memory size, in KB, which the function requires." - }, - "Pinned" : { - "shape" : "__boolean", - "documentation" : "True if the function is pinned. Pinned means the function is long-lived and starts when the core starts." - }, - "Timeout" : { - "shape" : "__integer", - "documentation" : "The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned lambdas for each request." - } - }, - "documentation" : "The configuration of the Lambda function." - }, - "FunctionConfigurationEnvironment" : { - "type" : "structure", - "members" : { - "AccessSysfs" : { - "shape" : "__boolean", - "documentation" : "If true, the Lambda function is allowed to access the host's /sys folder. Use this when the Lambda function needs to read device information from /sys." - }, - "ResourceAccessPolicies" : { - "shape" : "__listOfResourceAccessPolicy", - "documentation" : "A list of the resources, with their permissions, to which the Lambda function will be granted access. A Lambda function can have at most 10 resources." - }, - "Variables" : { - "shape" : "__mapOf__string", - "documentation" : "Environment variables for the Lambda function's configuration." - } - }, - "documentation" : "The environment configuration of the function." - }, - "FunctionDefinitionVersion" : { - "type" : "structure", - "members" : { - "Functions" : { - "shape" : "__listOfFunction", - "documentation" : "A list of Lambda functions in this function definition version." - } - }, - "documentation" : "Information about a function definition version." - }, - "GeneralError" : { - "type" : "structure", - "members" : { - "ErrorDetails" : { - "shape" : "ErrorDetails", - "documentation" : "Details about the error." - }, - "Message" : { - "shape" : "__string", - "documentation" : "A message containing information about the error." - } - }, - "documentation" : "General error information." - }, - "GetAssociatedRoleRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "GetAssociatedRoleResponse" : { - "type" : "structure", - "members" : { - "AssociatedAt" : { - "shape" : "__string", - "documentation" : "The time when the role was associated with the group." - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The ARN of the role that is associated with the group." - } - } - }, - "GetConnectivityInfoRequest" : { - "type" : "structure", - "members" : { - "ThingName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ThingName", - "documentation" : "The thing name." - } - }, - "required" : [ "ThingName" ] - }, - "GetConnectivityInfoResponse" : { - "type" : "structure", - "members" : { - "ConnectivityInfo" : { - "shape" : "__listOfConnectivityInfo", - "documentation" : "Connectivity info list." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "A message about the connectivity info request." - } - } - }, - "GetCoreDefinitionRequest" : { - "type" : "structure", - "members" : { - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - } - }, - "required" : [ "CoreDefinitionId" ] - }, - "GetCoreDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetCoreDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - }, - "CoreDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionVersionId", - "documentation" : "The ID of the core definition version." - } - }, - "required" : [ "CoreDefinitionId", "CoreDefinitionVersionId" ] - }, - "GetCoreDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the core definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the core definition version was created." - }, - "Definition" : { - "shape" : "CoreDefinitionVersion", - "documentation" : "Information about the core definition version." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the core definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the core definition version." - } - } - }, - "GetDeploymentStatusRequest" : { - "type" : "structure", - "members" : { - "DeploymentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeploymentId", - "documentation" : "The ID of the deployment." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId", "DeploymentId" ] - }, - "GetDeploymentStatusResponse" : { - "type" : "structure", - "members" : { - "DeploymentStatus" : { - "shape" : "__string", - "documentation" : "The status of the deployment." - }, - "DeploymentType" : { - "shape" : "DeploymentType", - "documentation" : "The type of the deployment." - }, - "ErrorDetails" : { - "shape" : "ErrorDetails", - "documentation" : "Error details" - }, - "ErrorMessage" : { - "shape" : "__string", - "documentation" : "Error message" - }, - "UpdatedAt" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the deployment status was updated." - } - } - }, - "GetDeviceDefinitionRequest" : { - "type" : "structure", - "members" : { - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - } - }, - "required" : [ "DeviceDefinitionId" ] - }, - "GetDeviceDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetDeviceDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - }, - "DeviceDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionVersionId", - "documentation" : "The ID of the device definition version." - } - }, - "required" : [ "DeviceDefinitionVersionId", "DeviceDefinitionId" ] - }, - "GetDeviceDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the device definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the device definition version was created." - }, - "Definition" : { - "shape" : "DeviceDefinitionVersion", - "documentation" : "Information about the device definition version." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the device definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the device definition version." - } - } - }, - "GetFunctionDefinitionRequest" : { - "type" : "structure", - "members" : { - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - } - }, - "required" : [ "FunctionDefinitionId" ] - }, - "GetFunctionDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetFunctionDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - }, - "FunctionDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionVersionId", - "documentation" : "The ID of the function definition version." - } - }, - "required" : [ "FunctionDefinitionId", "FunctionDefinitionVersionId" ] - }, - "GetFunctionDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the function definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the function definition version was created." - }, - "Definition" : { - "shape" : "FunctionDefinitionVersion", - "documentation" : "Information on the definition." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the function definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the function definition version." - } - } - }, - "GetGroupCertificateAuthorityRequest" : { - "type" : "structure", - "members" : { - "CertificateAuthorityId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CertificateAuthorityId", - "documentation" : "The ID of the certificate authority." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "CertificateAuthorityId", "GroupId" ] - }, - "GetGroupCertificateAuthorityResponse" : { - "type" : "structure", - "members" : { - "GroupCertificateAuthorityArn" : { - "shape" : "__string", - "documentation" : "The ARN of the certificate authority for the group." - }, - "GroupCertificateAuthorityId" : { - "shape" : "__string", - "documentation" : "The ID of the certificate authority for the group." - }, - "PemEncodedCertificate" : { - "shape" : "__string", - "documentation" : "The PEM encoded certificate for the group." - } - } - }, - "GetGroupCertificateConfigurationRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "GetGroupCertificateConfigurationResponse" : { - "type" : "structure", - "members" : { - "CertificateAuthorityExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." - }, - "CertificateExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." - }, - "GroupId" : { - "shape" : "__string", - "documentation" : "The ID of the group certificate configuration." - } - } - }, - "GetGroupRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "GetGroupResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetGroupVersionRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "GroupVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupVersionId", - "documentation" : "The ID of the group version." - } - }, - "required" : [ "GroupVersionId", "GroupId" ] - }, - "GetGroupVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the group version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the group version was created." - }, - "Definition" : { - "shape" : "GroupVersion", - "documentation" : "Information about the group version definition." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the group version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID for the version of the group." - } - } - }, - "GetLoggerDefinitionRequest" : { - "type" : "structure", - "members" : { - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - } - }, - "required" : [ "LoggerDefinitionId" ] - }, - "GetLoggerDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetLoggerDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - }, - "LoggerDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionVersionId", - "documentation" : "The ID of the logger definition version." - } - }, - "required" : [ "LoggerDefinitionVersionId", "LoggerDefinitionId" ] - }, - "GetLoggerDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the logger definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the logger definition version was created." - }, - "Definition" : { - "shape" : "LoggerDefinitionVersion", - "documentation" : "Information about the logger definition version." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the logger definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the logger definition version." - } - } - }, - "GetResourceDefinitionRequest" : { - "type" : "structure", - "members" : { - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - } - }, - "required" : [ "ResourceDefinitionId" ] - }, - "GetResourceDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetResourceDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - }, - "ResourceDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionVersionId", - "documentation" : "The ID of the resource definition version." - } - }, - "required" : [ "ResourceDefinitionVersionId", "ResourceDefinitionId" ] - }, - "GetResourceDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "Arn of the resource definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the resource definition version was created." - }, - "Definition" : { - "shape" : "ResourceDefinitionVersion", - "documentation" : "Information about the definition." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the resource definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the resource definition version." - } - } - }, - "GetServiceRoleForAccountRequest" : { - "type" : "structure", - "members" : { } - }, - "GetServiceRoleForAccountResponse" : { - "type" : "structure", - "members" : { - "AssociatedAt" : { - "shape" : "__string", - "documentation" : "The time when the service role was associated with the account." - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The ARN of the role which is associated with the account." - } - } - }, - "GetSubscriptionDefinitionRequest" : { - "type" : "structure", - "members" : { - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - } - }, - "required" : [ "SubscriptionDefinitionId" ] - }, - "GetSubscriptionDefinitionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the definition." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the definition." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the definition." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - } - }, - "GetSubscriptionDefinitionVersionRequest" : { - "type" : "structure", - "members" : { - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - }, - "SubscriptionDefinitionVersionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionVersionId", - "documentation" : "The ID of the subscription definition version." - } - }, - "required" : [ "SubscriptionDefinitionId", "SubscriptionDefinitionVersionId" ] - }, - "GetSubscriptionDefinitionVersionResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the subscription definition version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the subscription definition version was created." - }, - "Definition" : { - "shape" : "SubscriptionDefinitionVersion", - "documentation" : "Information about the subscription definition version." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the subscription definition version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The version of the subscription definition version." - } - } - }, - "GroupCertificateAuthorityProperties" : { - "type" : "structure", - "members" : { - "GroupCertificateAuthorityArn" : { - "shape" : "__string", - "documentation" : "The ARN of the certificate authority for the group." - }, - "GroupCertificateAuthorityId" : { - "shape" : "__string", - "documentation" : "The ID of the certificate authority for the group." - } - }, - "documentation" : "Information about a certificate authority for a group." - }, - "GroupCertificateConfiguration" : { - "type" : "structure", - "members" : { - "CertificateAuthorityExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." - }, - "CertificateExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." - }, - "GroupId" : { - "shape" : "__string", - "documentation" : "The ID of the group certificate configuration." - } - }, - "documentation" : "Information about a group certificate configuration." - }, - "GroupInformation" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the group." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the group was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the group." - }, - "LastUpdatedTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the group was last updated." - }, - "LatestVersion" : { - "shape" : "__string", - "documentation" : "The latest version of the group." - }, - "LatestVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the latest version of the group." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the group." - } - }, - "documentation" : "Information about a group." - }, - "GroupOwnerSetting" : { - "type" : "structure", - "members" : { - "AutoAddGroupOwner" : { - "shape" : "__boolean", - "documentation" : "If true, GreenGrass automatically adds the specified Linux OS group owner of the resource to the Lambda process privileges. Thus the Lambda process will have the file access permissions of the added Linux group." - }, - "GroupOwner" : { - "shape" : "__string", - "documentation" : "The name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional." - } - }, - "documentation" : "Group owner related settings for local resources." - }, - "GroupVersion" : { - "type" : "structure", - "members" : { - "CoreDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the core definition version for this group." - }, - "DeviceDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the device definition version for this group." - }, - "FunctionDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the function definition version for this group." - }, - "LoggerDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the logger definition version for this group." - }, - "ResourceDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The resource definition version ARN for this group." - }, - "SubscriptionDefinitionVersionArn" : { - "shape" : "__string", - "documentation" : "The ARN of the subscription definition version for this group." - } - }, - "documentation" : "Information about a group version." - }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "ErrorDetails" : { - "shape" : "ErrorDetails", - "documentation" : "Details about the error." - }, - "Message" : { - "shape" : "__string", - "documentation" : "A message containing information about the error." - } - }, - "documentation" : "General error information.", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "ListCoreDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "CoreDefinitionId" ] - }, - "ListCoreDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListCoreDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListCoreDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "documentation" : "A list of definitions." - }, - "ListDeploymentsRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "GroupId" ] - }, - "ListDeploymentsResponse" : { - "type" : "structure", - "members" : { - "Deployments" : { - "shape" : "Deployments", - "documentation" : "A list of deployments for the requested groups." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListDeviceDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "DeviceDefinitionId" ] - }, - "ListDeviceDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListDeviceDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListDeviceDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListFunctionDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "FunctionDefinitionId" ] - }, - "ListFunctionDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListFunctionDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListFunctionDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListGroupCertificateAuthoritiesRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "ListGroupCertificateAuthoritiesResponse" : { - "type" : "structure", - "members" : { - "GroupCertificateAuthorities" : { - "shape" : "__listOfGroupCertificateAuthorityProperties", - "documentation" : "A list of certificate authorities associated with the group." - } - } - }, - "ListGroupVersionsRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "GroupId" ] - }, - "ListGroupVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListGroupsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListGroupsResponse" : { - "type" : "structure", - "members" : { - "Groups" : { - "shape" : "__listOfGroupInformation", - "documentation" : "Information about a group." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListLoggerDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - }, - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - }, - "required" : [ "LoggerDefinitionId" ] - }, - "ListLoggerDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListLoggerDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListLoggerDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListResourceDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - } - }, - "required" : [ "ResourceDefinitionId" ] - }, - "ListResourceDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListResourceDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListResourceDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListSubscriptionDefinitionVersionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - } - }, - "required" : [ "SubscriptionDefinitionId" ] - }, - "ListSubscriptionDefinitionVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - } - }, - "ListSubscriptionDefinitionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "The maximum number of results to be returned per request." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListSubscriptionDefinitionsResponse" : { - "type" : "structure", - "members" : { - "Definitions" : { - "shape" : "__listOfDefinitionInformation", - "documentation" : "Information about a definition." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - } - } - }, - "ListVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." - }, - "Versions" : { - "shape" : "__listOfVersionInformation", - "documentation" : "Information about a version." - } - }, - "documentation" : "A list of versions." - }, - "LocalDeviceResourceData" : { - "type" : "structure", - "members" : { - "GroupOwnerSetting" : { - "shape" : "GroupOwnerSetting", - "documentation" : "Group/owner related settings for local resources." - }, - "SourcePath" : { - "shape" : "__string", - "documentation" : "The local absolute path of the device resource. The source path for a device resource can refer only to a character device or block device under ''/dev''." - } - }, - "documentation" : "Attributes that define a local device resource." - }, - "LocalVolumeResourceData" : { - "type" : "structure", - "members" : { - "DestinationPath" : { - "shape" : "__string", - "documentation" : "The absolute local path of the resource inside the lambda environment." - }, - "GroupOwnerSetting" : { - "shape" : "GroupOwnerSetting", - "documentation" : "Allows you to configure additional group privileges for the Lambda process. This field is optional." - }, - "SourcePath" : { - "shape" : "__string", - "documentation" : "The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with ''/sys''." - } - }, - "documentation" : "Attributes that define a local volume resource." - }, - "Logger" : { - "type" : "structure", - "members" : { - "Component" : { - "shape" : "LoggerComponent", - "documentation" : "The component that will be subject to logging." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The id of the logger." - }, - "Level" : { - "shape" : "LoggerLevel", - "documentation" : "The level of the logs." - }, - "Space" : { - "shape" : "__integer", - "documentation" : "The amount of file space, in KB, to use if the local file system is used for logging purposes." - }, - "Type" : { - "shape" : "LoggerType", - "documentation" : "The type of log output which will be used." - } - }, - "documentation" : "Information about a logger", - "required" : [ ] - }, - "LoggerComponent" : { - "type" : "string", - "enum" : [ "GreengrassSystem", "Lambda" ] - }, - "LoggerDefinitionVersion" : { - "type" : "structure", - "members" : { - "Loggers" : { - "shape" : "__listOfLogger", - "documentation" : "A list of loggers." - } - }, - "documentation" : "Information about a logger definition version." - }, - "LoggerLevel" : { - "type" : "string", - "enum" : [ "DEBUG", "INFO", "WARN", "ERROR", "FATAL" ] - }, - "LoggerType" : { - "type" : "string", - "enum" : [ "FileSystem", "AWSCloudWatch" ] - }, - "Permission" : { - "type" : "string", - "documentation" : "The type of permission a function has to access a resource.", - "enum" : [ "ro", "rw" ] - }, - "ResetDeploymentsRequest" : { - "type" : "structure", - "members" : { - "AmznClientToken" : { - "shape" : "__string", - "location" : "header", - "locationName" : "X-Amzn-Client-Token", - "documentation" : "A client token used to correlate requests and responses." - }, - "Force" : { - "shape" : "__boolean", - "documentation" : "If true, performs a best-effort only core reset." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "documentation" : "Information needed to reset deployments.", - "required" : [ "GroupId" ] - }, - "ResetDeploymentsResponse" : { - "type" : "structure", - "members" : { - "DeploymentArn" : { - "shape" : "__string", - "documentation" : "The ARN of the deployment." - }, - "DeploymentId" : { - "shape" : "__string", - "documentation" : "The ID of the deployment." - } - } - }, - "Resource" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "documentation" : "The resource ID, used to refer to a resource in the Lambda function configuration. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The descriptive resource name, which is displayed on the Greengrass console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group." - }, - "ResourceDataContainer" : { - "shape" : "ResourceDataContainer", - "documentation" : "A container of data for all resource types." - } - }, - "documentation" : "Information about a resource.", - "required" : [ ] - }, - "ResourceAccessPolicy" : { - "type" : "structure", - "members" : { - "Permission" : { - "shape" : "Permission", - "documentation" : "The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only)." - }, - "ResourceId" : { - "shape" : "__string", - "documentation" : "The ID of the resource. (This ID is assigned to the resource when you create the resource definiton.)" - } - }, - "documentation" : "A policy used by the function to access a resource.", - "required" : [ ] - }, - "ResourceDataContainer" : { - "type" : "structure", - "members" : { - "LocalDeviceResourceData" : { - "shape" : "LocalDeviceResourceData", - "documentation" : "Attributes that define the local device resource." - }, - "LocalVolumeResourceData" : { - "shape" : "LocalVolumeResourceData", - "documentation" : "Attributes that define the local volume resource." - }, - "S3MachineLearningModelResourceData" : { - "shape" : "S3MachineLearningModelResourceData", - "documentation" : "Attributes that define an S3 machine learning resource." - }, - "SageMakerMachineLearningModelResourceData" : { - "shape" : "SageMakerMachineLearningModelResourceData", - "documentation" : "Attributes that define an SageMaker machine learning resource." - } - }, - "documentation" : "A container for resource data. The container takes only one of the following supported resource data types: ''LocalDeviceResourceData'', ''LocalVolumeResourceData'', ''SageMakerMachineLearningModelResourceData'', ''S3MachineLearningModelResourceData''." - }, - "ResourceDefinitionVersion" : { - "type" : "structure", - "members" : { - "Resources" : { - "shape" : "__listOfResource", - "documentation" : "A list of resources." - } - }, - "documentation" : "Information about a resource definition version." - }, - "S3MachineLearningModelResourceData" : { - "type" : "structure", - "members" : { - "DestinationPath" : { - "shape" : "__string", - "documentation" : "The absolute local path of the resource inside the Lambda environment." - }, - "S3Uri" : { - "shape" : "__string", - "documentation" : "The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format." - } - }, - "documentation" : "Attributes that define an S3 machine learning resource." - }, - "S3UrlSignerRole" : { - "type" : "string", - "documentation" : "The IAM Role that Greengrass will use to create pre-signed URLs pointing towards the update artifact." - }, - "SageMakerMachineLearningModelResourceData" : { - "type" : "structure", - "members" : { - "DestinationPath" : { - "shape" : "__string", - "documentation" : "The absolute local path of the resource inside the Lambda environment." - }, - "SageMakerJobArn" : { - "shape" : "__string", - "documentation" : "The ARN of the SageMaker training job that represents the source model." - } - }, - "documentation" : "Attributes that define an SageMaker machine learning resource." - }, - "SoftwareToUpdate" : { - "type" : "string", - "documentation" : "The piece of software on the Greengrass core that will be updated.", - "enum" : [ "core", "ota_agent" ] - }, - "Subscription" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "documentation" : "The id of the subscription." - }, - "Source" : { - "shape" : "__string", - "documentation" : "The source of the subscription. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'." - }, - "Subject" : { - "shape" : "__string", - "documentation" : "The subject of the message." - }, - "Target" : { - "shape" : "__string", - "documentation" : "Where the message is sent to. Can be a thing ARN, a Lambda function ARN, 'cloud' (which represents the IoT cloud), or 'GGShadowService'." - } - }, - "documentation" : "Information about a subscription.", - "required" : [ ] - }, - "SubscriptionDefinitionVersion" : { - "type" : "structure", - "members" : { - "Subscriptions" : { - "shape" : "__listOfSubscription", - "documentation" : "A list of subscriptions." - } - }, - "documentation" : "Information about a subscription definition version." - }, - "UpdateAgentLogLevel" : { - "type" : "string", - "documentation" : "The minimum level of log statements that should be logged by the OTA Agent during an update.", - "enum" : [ "NONE", "TRACE", "DEBUG", "VERBOSE", "INFO", "WARN", "ERROR", "FATAL" ] - }, - "UpdateConnectivityInfoRequest" : { - "type" : "structure", - "members" : { - "ConnectivityInfo" : { - "shape" : "__listOfConnectivityInfo", - "documentation" : "A list of connectivity info." - }, - "ThingName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ThingName", - "documentation" : "The thing name." - } - }, - "documentation" : "Connectivity information.", - "required" : [ "ThingName" ] - }, - "UpdateConnectivityInfoResponse" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "A message about the connectivity info update request." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The new version of the connectivity info." - } - } - }, - "UpdateCoreDefinitionRequest" : { - "type" : "structure", - "members" : { - "CoreDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "CoreDefinitionId", - "documentation" : "The ID of the core definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "required" : [ "CoreDefinitionId" ] - }, - "UpdateCoreDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateDeviceDefinitionRequest" : { - "type" : "structure", - "members" : { - "DeviceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "DeviceDefinitionId", - "documentation" : "The ID of the device definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "required" : [ "DeviceDefinitionId" ] - }, - "UpdateDeviceDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateFunctionDefinitionRequest" : { - "type" : "structure", - "members" : { - "FunctionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "FunctionDefinitionId", - "documentation" : "The ID of the Lambda function definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "required" : [ "FunctionDefinitionId" ] - }, - "UpdateFunctionDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateGroupCertificateConfigurationRequest" : { - "type" : "structure", - "members" : { - "CertificateExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." - }, - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - } - }, - "required" : [ "GroupId" ] - }, - "UpdateGroupCertificateConfigurationResponse" : { - "type" : "structure", - "members" : { - "CertificateAuthorityExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." - }, - "CertificateExpiryInMilliseconds" : { - "shape" : "__string", - "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." - }, - "GroupId" : { - "shape" : "__string", - "documentation" : "The ID of the group certificate configuration." - } - } - }, - "UpdateGroupRequest" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "GroupId", - "documentation" : "The ID of the AWS Greengrass group." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "required" : [ "GroupId" ] - }, - "UpdateGroupResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateLoggerDefinitionRequest" : { - "type" : "structure", - "members" : { - "LoggerDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "LoggerDefinitionId", - "documentation" : "The ID of the logger definition." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - } - }, - "required" : [ "LoggerDefinitionId" ] - }, - "UpdateLoggerDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateResourceDefinitionRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - }, - "ResourceDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ResourceDefinitionId", - "documentation" : "The ID of the resource definition." - } - }, - "required" : [ "ResourceDefinitionId" ] - }, - "UpdateResourceDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateSubscriptionDefinitionRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "documentation" : "The name of the definition." - }, - "SubscriptionDefinitionId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "SubscriptionDefinitionId", - "documentation" : "The ID of the subscription definition." - } - }, - "required" : [ "SubscriptionDefinitionId" ] - }, - "UpdateSubscriptionDefinitionResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateTargets" : { - "type" : "list", - "documentation" : "The ARNs of the targets (IoT things or IoT thing groups) that this update will be applied to.", - "member" : { - "shape" : "__string" - } - }, - "UpdateTargetsArchitecture" : { - "type" : "string", - "documentation" : "The architecture of the cores which are the targets of an update.", - "enum" : [ "armv7l", "x86_64", "aarch64" ] - }, - "UpdateTargetsOperatingSystem" : { - "type" : "string", - "documentation" : "The operating system of the cores which are the targets of an update.", - "enum" : [ "ubuntu", "raspbian", "amazon_linux" ] - }, - "VersionInformation" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "documentation" : "The ARN of the version." - }, - "CreationTimestamp" : { - "shape" : "__string", - "documentation" : "The time, in milliseconds since the epoch, when the version was created." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The ID of the version." - }, - "Version" : { - "shape" : "__string", - "documentation" : "The unique ID of the version." - } - }, - "documentation" : "Information about a version." - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__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" - } - }, - "__listOfResource" : { - "type" : "list", - "member" : { - "shape" : "Resource" - } - }, - "__listOfResourceAccessPolicy" : { - "type" : "list", - "member" : { - "shape" : "ResourceAccessPolicy" - } - }, - "__listOfSubscription" : { - "type" : "list", - "member" : { - "shape" : "Subscription" - } - }, - "__listOfVersionInformation" : { - "type" : "list", - "member" : { - "shape" : "VersionInformation" - } - }, - "__long" : { - "type" : "long" - }, - "__mapOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__string" - } - }, - "__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." -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/paginators-1.json deleted file mode 100644 index 92a10d33..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/paginators-1.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "pagination": { - "ListDetectors": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "DetectorIds" - }, - "ListFindings": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "FindingIds" - }, - "ListIPSets": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "IpSetIds" - }, - "ListThreatIntelSets": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "ThreatIntelSetIds" - }, - "ListInvitations": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "Invitations" - }, - "ListMembers": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "Members" - }, - "ListFilters": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "FilterNames" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/service-2.json deleted file mode 100644 index b6197573..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/guardduty/2017-11-28/service-2.json +++ /dev/null @@ -1,3562 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2017-11-28", - "endpointPrefix" : "guardduty", - "signingName" : "guardduty", - "serviceFullName" : "Amazon GuardDuty", - "serviceId" : "GuardDuty", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "guardduty-2017-11-28", - "signatureVersion" : "v4" - }, - "operations" : { - "AcceptInvitation" : { - "name" : "AcceptInvitation", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/master", - "responseCode" : 200 - }, - "input" : { - "shape" : "AcceptInvitationRequest" - }, - "output" : { - "shape" : "AcceptInvitationResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Accepts the invitation to be monitored by a master GuardDuty account." - }, - "ArchiveFindings" : { - "name" : "ArchiveFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/archive", - "responseCode" : 200 - }, - "input" : { - "shape" : "ArchiveFindingsRequest" - }, - "output" : { - "shape" : "ArchiveFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Archives Amazon GuardDuty findings specified by the list of finding IDs." - }, - "CreateDetector" : { - "name" : "CreateDetector", - "http" : { - "method" : "POST", - "requestUri" : "/detector", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateDetectorRequest" - }, - "output" : { - "shape" : "CreateDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a single Amazon GuardDuty detector. A detector is an object that represents the GuardDuty service. A detector must be created in order for GuardDuty to become operational." - }, - "CreateFilter" : { - "name" : "CreateFilter", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/filter", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateFilterRequest" - }, - "output" : { - "shape" : "CreateFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a filter using the specified finding criteria." - }, - "CreateIPSet" : { - "name" : "CreateIPSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/ipset", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateIPSetRequest" - }, - "output" : { - "shape" : "CreateIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates a new IPSet - a list of trusted IP addresses that have been whitelisted for secure communication with AWS infrastructure and applications." - }, - "CreateMembers" : { - "name" : "CreateMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateMembersRequest" - }, - "output" : { - "shape" : "CreateMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Creates member accounts of the current AWS account by specifying a list of AWS account IDs. The current AWS account can then invite these members to manage GuardDuty in their accounts." - }, - "CreateSampleFindings" : { - "name" : "CreateSampleFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/create", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateSampleFindingsRequest" - }, - "output" : { - "shape" : "CreateSampleFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types." - }, - "CreateThreatIntelSet" : { - "name" : "CreateThreatIntelSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/threatintelset", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateThreatIntelSetRequest" - }, - "output" : { - "shape" : "CreateThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets." - }, - "DeclineInvitations" : { - "name" : "DeclineInvitations", - "http" : { - "method" : "POST", - "requestUri" : "/invitation/decline", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeclineInvitationsRequest" - }, - "output" : { - "shape" : "DeclineInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Declines invitations sent to the current member account by AWS account specified by their account IDs." - }, - "DeleteDetector" : { - "name" : "DeleteDetector", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteDetectorRequest" - }, - "output" : { - "shape" : "DeleteDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes a Amazon GuardDuty detector specified by the detector ID." - }, - "DeleteFilter" : { - "name" : "DeleteFilter", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteFilterRequest" - }, - "output" : { - "shape" : "DeleteFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes the filter specified by the filter name." - }, - "DeleteIPSet" : { - "name" : "DeleteIPSet", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteIPSetRequest" - }, - "output" : { - "shape" : "DeleteIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes the IPSet specified by the IPSet ID." - }, - "DeleteInvitations" : { - "name" : "DeleteInvitations", - "http" : { - "method" : "POST", - "requestUri" : "/invitation/delete", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteInvitationsRequest" - }, - "output" : { - "shape" : "DeleteInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes invitations sent to the current member account by AWS accounts specified by their account IDs." - }, - "DeleteMembers" : { - "name" : "DeleteMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/delete", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteMembersRequest" - }, - "output" : { - "shape" : "DeleteMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "DeleteThreatIntelSet" : { - "name" : "DeleteThreatIntelSet", - "http" : { - "method" : "DELETE", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteThreatIntelSetRequest" - }, - "output" : { - "shape" : "DeleteThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Deletes ThreatIntelSet specified by the ThreatIntelSet ID." - }, - "DisassociateFromMasterAccount" : { - "name" : "DisassociateFromMasterAccount", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/master/disassociate", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateFromMasterAccountRequest" - }, - "output" : { - "shape" : "DisassociateFromMasterAccountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disassociates the current GuardDuty member account from its master account." - }, - "DisassociateMembers" : { - "name" : "DisassociateMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/disassociate", - "responseCode" : 200 - }, - "input" : { - "shape" : "DisassociateMembersRequest" - }, - "output" : { - "shape" : "DisassociateMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "GetDetector" : { - "name" : "GetDetector", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDetectorRequest" - }, - "output" : { - "shape" : "GetDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves an Amazon GuardDuty detector specified by the detectorId." - }, - "GetFilter" : { - "name" : "GetFilter", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFilterRequest" - }, - "output" : { - "shape" : "GetFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns the details of the filter specified by the filter name." - }, - "GetFindings" : { - "name" : "GetFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/get", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFindingsRequest" - }, - "output" : { - "shape" : "GetFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Describes Amazon GuardDuty findings specified by finding IDs." - }, - "GetFindingsStatistics" : { - "name" : "GetFindingsStatistics", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/statistics", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetFindingsStatisticsRequest" - }, - "output" : { - "shape" : "GetFindingsStatisticsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists Amazon GuardDuty findings' statistics for the specified detector ID." - }, - "GetIPSet" : { - "name" : "GetIPSet", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetIPSetRequest" - }, - "output" : { - "shape" : "GetIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves the IPSet specified by the IPSet ID." - }, - "GetInvitationsCount" : { - "name" : "GetInvitationsCount", - "http" : { - "method" : "GET", - "requestUri" : "/invitation/count", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetInvitationsCountRequest" - }, - "output" : { - "shape" : "GetInvitationsCountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation." - }, - "GetMasterAccount" : { - "name" : "GetMasterAccount", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/master", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetMasterAccountRequest" - }, - "output" : { - "shape" : "GetMasterAccountResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Provides the details for the GuardDuty master account to the current GuardDuty member account." - }, - "GetMembers" : { - "name" : "GetMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/get", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetMembersRequest" - }, - "output" : { - "shape" : "GetMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs." - }, - "GetThreatIntelSet" : { - "name" : "GetThreatIntelSet", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetThreatIntelSetRequest" - }, - "output" : { - "shape" : "GetThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID." - }, - "InviteMembers" : { - "name" : "InviteMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/invite", - "responseCode" : 200 - }, - "input" : { - "shape" : "InviteMembersRequest" - }, - "output" : { - "shape" : "InviteMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account." - }, - "ListDetectors" : { - "name" : "ListDetectors", - "http" : { - "method" : "GET", - "requestUri" : "/detector", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDetectorsRequest" - }, - "output" : { - "shape" : "ListDetectorsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists detectorIds of all the existing Amazon GuardDuty detector resources." - }, - "ListFilters" : { - "name" : "ListFilters", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/filter", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFiltersRequest" - }, - "output" : { - "shape" : "ListFiltersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Returns a paginated list of the current filters." - }, - "ListFindings" : { - "name" : "ListFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListFindingsRequest" - }, - "output" : { - "shape" : "ListFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists Amazon GuardDuty findings for the specified detector ID." - }, - "ListIPSets" : { - "name" : "ListIPSets", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/ipset", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListIPSetsRequest" - }, - "output" : { - "shape" : "ListIPSetsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists the IPSets of the GuardDuty service specified by the detector ID." - }, - "ListInvitations" : { - "name" : "ListInvitations", - "http" : { - "method" : "GET", - "requestUri" : "/invitation", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListInvitationsRequest" - }, - "output" : { - "shape" : "ListInvitationsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists all GuardDuty membership invitations that were sent to the current AWS account." - }, - "ListMembers" : { - "name" : "ListMembers", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/member", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListMembersRequest" - }, - "output" : { - "shape" : "ListMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists details about all member accounts for the current GuardDuty master account." - }, - "ListThreatIntelSets" : { - "name" : "ListThreatIntelSets", - "http" : { - "method" : "GET", - "requestUri" : "/detector/{detectorId}/threatintelset", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListThreatIntelSetsRequest" - }, - "output" : { - "shape" : "ListThreatIntelSetsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID." - }, - "StartMonitoringMembers" : { - "name" : "StartMonitoringMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/start", - "responseCode" : 200 - }, - "input" : { - "shape" : "StartMonitoringMembersRequest" - }, - "output" : { - "shape" : "StartMonitoringMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Re-enables GuardDuty to monitor findings of the member accounts specified by the account IDs. A master GuardDuty account can run this command after disabling GuardDuty from monitoring these members' findings by running StopMonitoringMembers." - }, - "StopMonitoringMembers" : { - "name" : "StopMonitoringMembers", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/member/stop", - "responseCode" : 200 - }, - "input" : { - "shape" : "StopMonitoringMembersRequest" - }, - "output" : { - "shape" : "StopMonitoringMembersResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Disables GuardDuty from monitoring findings of the member accounts specified by the account IDs. After running this command, a master GuardDuty account can run StartMonitoringMembers to re-enable GuardDuty to monitor these members’ findings." - }, - "UnarchiveFindings" : { - "name" : "UnarchiveFindings", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/unarchive", - "responseCode" : 200 - }, - "input" : { - "shape" : "UnarchiveFindingsRequest" - }, - "output" : { - "shape" : "UnarchiveFindingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Unarchives Amazon GuardDuty findings specified by the list of finding IDs." - }, - "UpdateDetector" : { - "name" : "UpdateDetector", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateDetectorRequest" - }, - "output" : { - "shape" : "UpdateDetectorResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates an Amazon GuardDuty detector specified by the detectorId." - }, - "UpdateFilter" : { - "name" : "UpdateFilter", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/filter/{filterName}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateFilterRequest" - }, - "output" : { - "shape" : "UpdateFilterResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the filter specified by the filter name." - }, - "UpdateFindingsFeedback" : { - "name" : "UpdateFindingsFeedback", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/findings/feedback", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateFindingsFeedbackRequest" - }, - "output" : { - "shape" : "UpdateFindingsFeedbackResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Marks specified Amazon GuardDuty findings as useful or not useful." - }, - "UpdateIPSet" : { - "name" : "UpdateIPSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/ipset/{ipSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateIPSetRequest" - }, - "output" : { - "shape" : "UpdateIPSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the IPSet specified by the IPSet ID." - }, - "UpdateThreatIntelSet" : { - "name" : "UpdateThreatIntelSet", - "http" : { - "method" : "POST", - "requestUri" : "/detector/{detectorId}/threatintelset/{threatIntelSetId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateThreatIntelSetRequest" - }, - "output" : { - "shape" : "UpdateThreatIntelSetResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - } ], - "documentation" : "Updates the ThreatIntelSet specified by ThreatIntelSet ID." - } - }, - "shapes" : { - "AcceptInvitationRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the master account to the member account." - }, - "MasterId" : { - "shape" : "MasterId", - "locationName" : "masterId", - "documentation" : "The account ID of the master GuardDuty account whose invitation you're accepting." - } - }, - "documentation" : "AcceptInvitation request body.", - "required" : [ "DetectorId" ] - }, - "AcceptInvitationResponse" : { - "type" : "structure", - "members" : { } - }, - "AccessKeyDetails" : { - "type" : "structure", - "members" : { - "AccessKeyId" : { - "shape" : "__string", - "locationName" : "accessKeyId", - "documentation" : "Access key ID of the user." - }, - "PrincipalId" : { - "shape" : "__string", - "locationName" : "principalId", - "documentation" : "The principal ID of the user." - }, - "UserName" : { - "shape" : "__string", - "locationName" : "userName", - "documentation" : "The name of the user." - }, - "UserType" : { - "shape" : "__string", - "locationName" : "userType", - "documentation" : "The type of the user." - } - }, - "documentation" : "The IAM access key details (IAM user information) of a user that engaged in the activity that prompted GuardDuty to generate a finding." - }, - "AccountDetail" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "AccountId", - "locationName" : "accountId", - "documentation" : "Member account ID." - }, - "Email" : { - "shape" : "Email", - "locationName" : "email", - "documentation" : "Member account's email address." - } - }, - "documentation" : "An object containing the member's accountId and email address.", - "required" : [ "Email", "AccountId" ] - }, - "AccountDetails" : { - "type" : "list", - "documentation" : "A list of account/email pairs.", - "member" : { - "shape" : "AccountDetail" - } - }, - "AccountId" : { - "type" : "string", - "documentation" : "AWS account ID." - }, - "AccountIds" : { - "type" : "list", - "documentation" : "A list of account IDs.", - "member" : { - "shape" : "__string" - } - }, - "Action" : { - "type" : "structure", - "members" : { - "ActionType" : { - "shape" : "__string", - "locationName" : "actionType", - "documentation" : "GuardDuty Finding activity type." - }, - "AwsApiCallAction" : { - "shape" : "AwsApiCallAction", - "locationName" : "awsApiCallAction", - "documentation" : "Information about the AWS_API_CALL action described in this finding." - }, - "DnsRequestAction" : { - "shape" : "DnsRequestAction", - "locationName" : "dnsRequestAction", - "documentation" : "Information about the DNS_REQUEST action described in this finding." - }, - "NetworkConnectionAction" : { - "shape" : "NetworkConnectionAction", - "locationName" : "networkConnectionAction", - "documentation" : "Information about the NETWORK_CONNECTION action described in this finding." - }, - "PortProbeAction" : { - "shape" : "PortProbeAction", - "locationName" : "portProbeAction", - "documentation" : "Information about the PORT_PROBE action described in this finding." - } - }, - "documentation" : "Information about the activity described in a finding." - }, - "Activate" : { - "type" : "boolean", - "documentation" : "Whether we should start processing the list immediately or not." - }, - "ArchiveFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to archive." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to archive." - } - }, - "documentation" : "ArchiveFindings request body.", - "required" : [ "DetectorId" ] - }, - "ArchiveFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "AwsApiCallAction" : { - "type" : "structure", - "members" : { - "Api" : { - "shape" : "__string", - "locationName" : "api", - "documentation" : "AWS API name." - }, - "CallerType" : { - "shape" : "__string", - "locationName" : "callerType", - "documentation" : "AWS API caller type." - }, - "DomainDetails" : { - "shape" : "DomainDetails", - "locationName" : "domainDetails", - "documentation" : "Domain information for the AWS API call." - }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." - }, - "ServiceName" : { - "shape" : "__string", - "locationName" : "serviceName", - "documentation" : "AWS service name whose API was invoked." - } - }, - "documentation" : "Information about the AWS_API_CALL action described in this finding." - }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." - }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." - } - }, - "documentation" : "Error response object.", - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "City" : { - "type" : "structure", - "members" : { - "CityName" : { - "shape" : "__string", - "locationName" : "cityName", - "documentation" : "City name of the remote IP address." - } - }, - "documentation" : "City information of the remote IP address." - }, - "Comments" : { - "type" : "string", - "documentation" : "Additional feedback about the GuardDuty findings." - }, - "Condition" : { - "type" : "structure", - "members" : { - "Eq" : { - "shape" : "Eq", - "locationName" : "eq", - "documentation" : "Represents the equal condition to be applied to a single field when querying for findings." - }, - "Gt" : { - "shape" : "__integer", - "locationName" : "gt", - "documentation" : "Represents the greater than condition to be applied to a single field when querying for findings." - }, - "Gte" : { - "shape" : "__integer", - "locationName" : "gte", - "documentation" : "Represents the greater than equal condition to be applied to a single field when querying for findings." - }, - "Lt" : { - "shape" : "__integer", - "locationName" : "lt", - "documentation" : "Represents the less than condition to be applied to a single field when querying for findings." - }, - "Lte" : { - "shape" : "__integer", - "locationName" : "lte", - "documentation" : "Represents the less than equal condition to be applied to a single field when querying for findings." - }, - "Neq" : { - "shape" : "Neq", - "locationName" : "neq", - "documentation" : "Represents the not equal condition to be applied to a single field when querying for findings." - } - }, - "documentation" : "Finding attribute (for example, accountId) for which conditions and values must be specified when querying findings." - }, - "CountBySeverityFindingStatistic" : { - "type" : "integer", - "documentation" : "The count of findings for the given severity." - }, - "Country" : { - "type" : "structure", - "members" : { - "CountryCode" : { - "shape" : "__string", - "locationName" : "countryCode", - "documentation" : "Country code of the remote IP address." - }, - "CountryName" : { - "shape" : "__string", - "locationName" : "countryName", - "documentation" : "Country name of the remote IP address." - } - }, - "documentation" : "Country information of the remote IP address." - }, - "CreateDetectorRequest" : { - "type" : "structure", - "members" : { - "Enable" : { - "shape" : "Enable", - "locationName" : "enable", - "documentation" : "A boolean value that specifies whether the detector is to be enabled." - } - }, - "documentation" : "CreateDetector request body." - }, - "CreateDetectorResponse" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId", - "documentation" : "The unique ID of the created detector." - } - } - }, - "CreateFilterRequest" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "ClientToken" : { - "shape" : "__stringMin0Max64", - "locationName" : "clientToken", - "documentation" : "The idempotency token for the create request.", - "idempotencyToken" : true - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." - } - }, - "documentation" : "CreateFilterRequest request body.", - "required" : [ "DetectorId" ] - }, - "CreateFilterResponse" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the successfully created filter." - } - } - }, - "CreateIPSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "A boolean value that indicates whether GuardDuty is to start using the uploaded IPSet." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Format" : { - "shape" : "IpSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the IPSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet." - } - }, - "documentation" : "CreateIPSet request body.", - "required" : [ "DetectorId" ] - }, - "CreateIPSetResponse" : { - "type" : "structure", - "members" : { - "IpSetId" : { - "shape" : "IpSetId", - "locationName" : "ipSetId" - } - } - }, - "CreateMembersRequest" : { - "type" : "structure", - "members" : { - "AccountDetails" : { - "shape" : "AccountDetails", - "locationName" : "accountDetails", - "documentation" : "A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account with which you want to associate member accounts." - } - }, - "documentation" : "CreateMembers request body.", - "required" : [ "DetectorId" ] - }, - "CreateMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "CreateSampleFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector to create sample findings for." - }, - "FindingTypes" : { - "shape" : "FindingTypes", - "locationName" : "findingTypes", - "documentation" : "Types of sample findings that you want to generate." - } - }, - "documentation" : "CreateSampleFindings request body.", - "required" : [ "DetectorId" ] - }, - "CreateSampleFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "CreateThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "A boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Format" : { - "shape" : "ThreatIntelSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the ThreatIntelSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet." - } - }, - "documentation" : "CreateThreatIntelSet request body.", - "required" : [ "DetectorId" ] - }, - "CreateThreatIntelSetResponse" : { - "type" : "structure", - "members" : { - "ThreatIntelSetId" : { - "shape" : "ThreatIntelSetId", - "locationName" : "threatIntelSetId" - } - } - }, - "CreatedAt" : { - "type" : "string", - "documentation" : "The first time a resource was created. The format will be ISO-8601." - }, - "DeclineInvitationsRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from." - } - }, - "documentation" : "DeclineInvitations request body." - }, - "DeclineInvitationsResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "DeleteDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID that specifies the detector that you want to delete." - } - }, - "required" : [ "DetectorId" ] - }, - "DeleteDetectorResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteFilterRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID that specifies the detector where you want to delete a filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter." - } - }, - "required" : [ "DetectorId", "FilterName" ] - }, - "DeleteFilterResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteIPSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to delete." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to delete." - } - }, - "required" : [ "DetectorId", "IpSetId" ] - }, - "DeleteIPSetResponse" : { - "type" : "structure", - "members" : { } - }, - "DeleteInvitationsRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from." - } - }, - "documentation" : "DeleteInvitations request body." - }, - "DeleteInvitationsResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "DeleteMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to delete." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to delete." - } - }, - "documentation" : "DeleteMembers request body.", - "required" : [ "DetectorId" ] - }, - "DeleteMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "DeleteThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to delete." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to delete." - } - }, - "required" : [ "ThreatIntelSetId", "DetectorId" ] - }, - "DeleteThreatIntelSetResponse" : { - "type" : "structure", - "members" : { } - }, - "DetectorId" : { - "type" : "string", - "documentation" : "The unique identifier for a detector." - }, - "DetectorIds" : { - "type" : "list", - "documentation" : "A list of detector Ids.", - "member" : { - "shape" : "DetectorId" - } - }, - "DetectorStatus" : { - "type" : "string", - "documentation" : "The status of detector.", - "enum" : [ "ENABLED", "DISABLED" ] - }, - "DisassociateFromMasterAccountRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." - } - }, - "required" : [ "DetectorId" ] - }, - "DisassociateFromMasterAccountResponse" : { - "type" : "structure", - "members" : { } - }, - "DisassociateMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to disassociate from master." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to disassociate from master." - } - }, - "documentation" : "DisassociateMembers request body.", - "required" : [ "DetectorId" ] - }, - "DisassociateMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "DnsRequestAction" : { - "type" : "structure", - "members" : { - "Domain" : { - "shape" : "Domain", - "locationName" : "domain", - "documentation" : "Domain information for the DNS request." - } - }, - "documentation" : "Information about the DNS_REQUEST action described in this finding." - }, - "Domain" : { - "type" : "string", - "documentation" : "A domain name." - }, - "DomainDetails" : { - "type" : "structure", - "members" : { }, - "documentation" : "Domain information for the AWS API call." - }, - "Email" : { - "type" : "string", - "documentation" : "Member account's email address." - }, - "Enable" : { - "type" : "boolean", - "documentation" : "A boolean value that specifies whether the detector is to be enabled." - }, - "Eq" : { - "type" : "list", - "documentation" : "Represents the equal condition to be applied to a single field when querying for findings.", - "member" : { - "shape" : "__string" - } - }, - "ErrorResponse" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." - }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." - } - }, - "documentation" : "Error response object." - }, - "Feedback" : { - "type" : "string", - "documentation" : "Finding Feedback Value", - "enum" : [ "USEFUL", "NOT_USEFUL" ] - }, - "FilterAction" : { - "type" : "string", - "documentation" : "The action associated with a filter.", - "enum" : [ "NOOP", "ARCHIVE" ] - }, - "FilterDescription" : { - "type" : "string", - "documentation" : "The filter description" - }, - "FilterName" : { - "type" : "string", - "documentation" : "The unique identifier for a filter" - }, - "FilterNames" : { - "type" : "list", - "documentation" : "A list of filter names", - "member" : { - "shape" : "FilterName" - } - }, - "FilterRank" : { - "type" : "integer", - "documentation" : "Relative position of filter among list of exisiting filters." - }, - "Finding" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "AWS account ID where the activity occurred that prompted GuardDuty to generate a finding." - }, - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "The ARN of a finding described by the action." - }, - "Confidence" : { - "shape" : "__double", - "locationName" : "confidence", - "documentation" : "The confidence level of a finding." - }, - "CreatedAt" : { - "shape" : "CreatedAt", - "locationName" : "createdAt", - "documentation" : "The time stamp at which a finding was generated." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of a finding." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "The identifier that corresponds to a finding described by the action." - }, - "Partition" : { - "shape" : "__string", - "locationName" : "partition", - "documentation" : "The AWS resource partition." - }, - "Region" : { - "shape" : "__string", - "locationName" : "region", - "documentation" : "The AWS region where the activity occurred that prompted GuardDuty to generate a finding." - }, - "Resource" : { - "shape" : "Resource", - "locationName" : "resource", - "documentation" : "The AWS resource associated with the activity that prompted GuardDuty to generate a finding." - }, - "SchemaVersion" : { - "shape" : "__string", - "locationName" : "schemaVersion", - "documentation" : "Findings' schema version." - }, - "Service" : { - "shape" : "Service", - "locationName" : "service", - "documentation" : "Additional information assigned to the generated finding by GuardDuty." - }, - "Severity" : { - "shape" : "__double", - "locationName" : "severity", - "documentation" : "The severity of a finding." - }, - "Title" : { - "shape" : "__string", - "locationName" : "title", - "documentation" : "The title of a finding." - }, - "Type" : { - "shape" : "__string", - "locationName" : "type", - "documentation" : "The type of a finding described by the action." - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt", - "documentation" : "The time stamp at which a finding was last updated." - } - }, - "documentation" : "Representation of a abnormal or suspicious activity.", - "required" : [ "AccountId", "SchemaVersion", "CreatedAt", "Resource", "Severity", "UpdatedAt", "Type", "Region", "Id", "Arn" ] - }, - "FindingCriteria" : { - "type" : "structure", - "members" : { - "Criterion" : { - "shape" : "__mapOfCondition", - "locationName" : "criterion", - "documentation" : "Represents a map of finding properties that match specified conditions and values when querying findings." - } - }, - "documentation" : "Represents the criteria used for querying findings." - }, - "FindingId" : { - "type" : "string", - "documentation" : "The unique identifier for the Finding" - }, - "FindingIds" : { - "type" : "list", - "documentation" : "The list of the Findings.", - "member" : { - "shape" : "FindingId" - } - }, - "FindingStatisticType" : { - "type" : "string", - "documentation" : "The types of finding statistics.", - "enum" : [ "COUNT_BY_SEVERITY" ] - }, - "FindingStatisticTypes" : { - "type" : "list", - "documentation" : "The list of the finding statistics.", - "member" : { - "shape" : "FindingStatisticType" - } - }, - "FindingStatistics" : { - "type" : "structure", - "members" : { - "CountBySeverity" : { - "shape" : "__mapOfCountBySeverityFindingStatistic", - "locationName" : "countBySeverity", - "documentation" : "Represents a map of severity to count statistic for a set of findings" - } - }, - "documentation" : "Finding statistics object." - }, - "FindingType" : { - "type" : "string", - "documentation" : "The finding type for the finding" - }, - "FindingTypes" : { - "type" : "list", - "documentation" : "The list of the finding types.", - "member" : { - "shape" : "FindingType" - } - }, - "Findings" : { - "type" : "list", - "documentation" : "A list of findings.", - "member" : { - "shape" : "Finding" - } - }, - "GeoLocation" : { - "type" : "structure", - "members" : { - "Lat" : { - "shape" : "__double", - "locationName" : "lat", - "documentation" : "Latitude information of remote IP address." - }, - "Lon" : { - "shape" : "__double", - "locationName" : "lon", - "documentation" : "Longitude information of remote IP address." - } - }, - "documentation" : "Location information of the remote IP address." - }, - "GetDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to retrieve." - } - }, - "required" : [ "DetectorId" ] - }, - "GetDetectorResponse" : { - "type" : "structure", - "members" : { - "CreatedAt" : { - "shape" : "CreatedAt", - "locationName" : "createdAt" - }, - "ServiceRole" : { - "shape" : "ServiceRole", - "locationName" : "serviceRole" - }, - "Status" : { - "shape" : "DetectorStatus", - "locationName" : "status" - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt" - } - } - }, - "GetFilterRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detector ID that specifies the GuardDuty service where you want to list the details of the specified filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter whose details you want to get." - } - }, - "required" : [ "DetectorId", "FilterName" ] - }, - "GetFilterResponse" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." - } - } - }, - "GetFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to retrieve." - }, - "SortCriteria" : { - "shape" : "SortCriteria", - "locationName" : "sortCriteria", - "documentation" : "Represents the criteria used for sorting findings." - } - }, - "documentation" : "GetFindings request body.", - "required" : [ "DetectorId" ] - }, - "GetFindingsResponse" : { - "type" : "structure", - "members" : { - "Findings" : { - "shape" : "Findings", - "locationName" : "findings" - } - } - }, - "GetFindingsStatisticsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria used for querying findings." - }, - "FindingStatisticTypes" : { - "shape" : "FindingStatisticTypes", - "locationName" : "findingStatisticTypes", - "documentation" : "Types of finding statistics to retrieve." - } - }, - "documentation" : "GetFindingsStatistics request body.", - "required" : [ "DetectorId" ] - }, - "GetFindingsStatisticsResponse" : { - "type" : "structure", - "members" : { - "FindingStatistics" : { - "shape" : "FindingStatistics", - "locationName" : "findingStatistics", - "documentation" : "Finding statistics object." - } - } - }, - "GetIPSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to retrieve." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to describe." - } - }, - "required" : [ "DetectorId", "IpSetId" ] - }, - "GetIPSetResponse" : { - "type" : "structure", - "members" : { - "Format" : { - "shape" : "IpSetFormat", - "locationName" : "format", - "documentation" : "The format of the file that contains the IPSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The user friendly name to identify the IPSet. This name is displayed in all findings that are triggered by activity that involves IP addresses included in this IPSet." - }, - "Status" : { - "shape" : "IpSetStatus", - "locationName" : "status", - "documentation" : "The status of ipSet file uploaded." - } - } - }, - "GetInvitationsCountRequest" : { - "type" : "structure", - "members" : { } - }, - "GetInvitationsCountResponse" : { - "type" : "structure", - "members" : { - "InvitationsCount" : { - "shape" : "__integer", - "locationName" : "invitationsCount", - "documentation" : "The number of received invitations." - } - } - }, - "GetMasterAccountRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty member account." - } - }, - "required" : [ "DetectorId" ] - }, - "GetMasterAccountResponse" : { - "type" : "structure", - "members" : { - "Master" : { - "shape" : "Master", - "locationName" : "master" - } - } - }, - "GetMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts that you want to describe." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to retrieve." - } - }, - "documentation" : "GetMembers request body.", - "required" : [ "DetectorId" ] - }, - "GetMembersResponse" : { - "type" : "structure", - "members" : { - "Members" : { - "shape" : "Members", - "locationName" : "members" - }, - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "GetThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to describe." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to describe." - } - }, - "required" : [ "ThreatIntelSetId", "DetectorId" ] - }, - "GetThreatIntelSetResponse" : { - "type" : "structure", - "members" : { - "Format" : { - "shape" : "ThreatIntelSetFormat", - "locationName" : "format", - "documentation" : "The format of the threatIntelSet." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "A user-friendly ThreatIntelSet name that is displayed in all finding generated by activity that involves IP addresses included in this ThreatIntelSet." - }, - "Status" : { - "shape" : "ThreatIntelSetStatus", - "locationName" : "status", - "documentation" : "The status of threatIntelSet file uploaded." - } - } - }, - "IamInstanceProfile" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "AWS EC2 instance profile ARN." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "AWS EC2 instance profile ID." - } - }, - "documentation" : "The profile information of the EC2 instance." - }, - "InstanceDetails" : { - "type" : "structure", - "members" : { - "AvailabilityZone" : { - "shape" : "__string", - "locationName" : "availabilityZone", - "documentation" : "The availability zone of the EC2 instance." - }, - "IamInstanceProfile" : { - "shape" : "IamInstanceProfile", - "locationName" : "iamInstanceProfile" - }, - "ImageDescription" : { - "shape" : "__string", - "locationName" : "imageDescription", - "documentation" : "The image description of the EC2 instance." - }, - "ImageId" : { - "shape" : "__string", - "locationName" : "imageId", - "documentation" : "The image ID of the EC2 instance." - }, - "InstanceId" : { - "shape" : "__string", - "locationName" : "instanceId", - "documentation" : "The ID of the EC2 instance." - }, - "InstanceState" : { - "shape" : "__string", - "locationName" : "instanceState", - "documentation" : "The state of the EC2 instance." - }, - "InstanceType" : { - "shape" : "__string", - "locationName" : "instanceType", - "documentation" : "The type of the EC2 instance." - }, - "LaunchTime" : { - "shape" : "__string", - "locationName" : "launchTime", - "documentation" : "The launch time of the EC2 instance." - }, - "NetworkInterfaces" : { - "shape" : "NetworkInterfaces", - "locationName" : "networkInterfaces", - "documentation" : "The network interface information of the EC2 instance." - }, - "Platform" : { - "shape" : "__string", - "locationName" : "platform", - "documentation" : "The platform of the EC2 instance." - }, - "ProductCodes" : { - "shape" : "ProductCodes", - "locationName" : "productCodes", - "documentation" : "The product code of the EC2 instance." - }, - "Tags" : { - "shape" : "Tags", - "locationName" : "tags", - "documentation" : "The tags of the EC2 instance." - } - }, - "documentation" : "The information about the EC2 instance associated with the activity that prompted GuardDuty to generate a finding." - }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The error message." - }, - "Type" : { - "shape" : "__string", - "locationName" : "__type", - "documentation" : "The error type." - } - }, - "documentation" : "Error response object.", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "Invitation" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "Inviter account ID" - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the inviter account to the member account." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the inviter and invitee accounts." - } - }, - "documentation" : "Invitation from an AWS account to become the current account's master." - }, - "InvitationId" : { - "type" : "string", - "documentation" : "This value is used to validate the master account to the member account." - }, - "Invitations" : { - "type" : "list", - "documentation" : "A list of invitation descriptions.", - "member" : { - "shape" : "Invitation" - } - }, - "InviteMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the accounts that you want to invite to GuardDuty as members." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account with which you want to invite members." - }, - "DisableEmailNotification" : { - "shape" : "__boolean", - "locationName" : "disableEmailNotification", - "documentation" : "A boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members." - }, - "Message" : { - "shape" : "Message", - "locationName" : "message", - "documentation" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members." - } - }, - "documentation" : "InviteMembers request body.", - "required" : [ "DetectorId" ] - }, - "InviteMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "InvitedAt" : { - "type" : "string", - "documentation" : "Timestamp at which a member has been invited. The format will be ISO-8601." - }, - "IpSetFormat" : { - "type" : "string", - "documentation" : "The format of the ipSet.", - "enum" : [ "TXT", "STIX", "OTX_CSV", "ALIEN_VAULT", "PROOF_POINT", "FIRE_EYE" ] - }, - "IpSetId" : { - "type" : "string", - "documentation" : "The unique identifier for an IP Set" - }, - "IpSetIds" : { - "type" : "list", - "documentation" : "A list of the IP set IDs", - "member" : { - "shape" : "IpSetId" - } - }, - "IpSetStatus" : { - "type" : "string", - "documentation" : "The status of ipSet file uploaded.", - "enum" : [ "INACTIVE", "ACTIVATING", "ACTIVE", "DEACTIVATING", "ERROR", "DELETE_PENDING", "DELETED" ] - }, - "Ipv6Address" : { - "type" : "string", - "documentation" : "IpV6 address of the EC2 instance." - }, - "Ipv6Addresses" : { - "type" : "list", - "documentation" : "A list of EC2 instance IPv6 address information.", - "member" : { - "shape" : "Ipv6Address" - } - }, - "ListDetectorsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of detectors that you want in the response." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListDetectors action. For subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." - } - } - }, - "ListDetectorsResponse" : { - "type" : "structure", - "members" : { - "DetectorIds" : { - "shape" : "DetectorIds", - "locationName" : "detectorIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListFiltersRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service where you want to list filters." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "Indicates the maximum number of items that you want in the response. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "Paginates results. Set the value of this parameter to NULL on your first call to the ListFilters operation.For subsequent calls to the operation, fill nextToken in the request with the value of nextToken from the previous response to continue listing data." - } - }, - "required" : [ "DetectorId" ] - }, - "ListFiltersResponse" : { - "type" : "structure", - "members" : { - "FilterNames" : { - "shape" : "FilterNames", - "locationName" : "filterNames" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to list." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria used for querying findings." - }, - "MaxResults" : { - "shape" : "MaxResults", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50." - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListFindings action. For subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data." - }, - "SortCriteria" : { - "shape" : "SortCriteria", - "locationName" : "sortCriteria", - "documentation" : "Represents the criteria used for sorting findings." - } - }, - "documentation" : "ListFindings request body.", - "required" : [ "DetectorId" ] - }, - "ListFindingsResponse" : { - "type" : "structure", - "members" : { - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListIPSetsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to retrieve." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 7. The maximum value is 7." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListIPSet action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - } - }, - "required" : [ "DetectorId" ] - }, - "ListIPSetsResponse" : { - "type" : "structure", - "members" : { - "IpSetIds" : { - "shape" : "IpSetIds", - "locationName" : "ipSetIds" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListInvitationsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of invitations you want in the response. The default value is 50. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListInvitations action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - } - } - }, - "ListInvitationsResponse" : { - "type" : "structure", - "members" : { - "Invitations" : { - "shape" : "Invitations", - "locationName" : "invitations" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListMembersRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whose members you want to list." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items you want in the response. The default value is 1. The maximum value is 50." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListMembers action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - }, - "OnlyAssociated" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "onlyAssociated", - "documentation" : "Specifies what member accounts the response is to include based on their relationship status with the master account. The default value is TRUE. If onlyAssociated is set to TRUE, the response will include member accounts whose relationship status with the master is set to Enabled, Disabled. If onlyAssociated is set to FALSE, the response will include all existing member accounts." - } - }, - "required" : [ "DetectorId" ] - }, - "ListMembersResponse" : { - "type" : "structure", - "members" : { - "Members" : { - "shape" : "Members", - "locationName" : "members" - }, - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - } - } - }, - "ListThreatIntelSetsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSets you want to list." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 7. The maximum value is 7." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "Pagination token to start retrieving threat intel sets from." - } - }, - "required" : [ "DetectorId" ] - }, - "ListThreatIntelSetsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "NextToken", - "locationName" : "nextToken" - }, - "ThreatIntelSetIds" : { - "shape" : "ThreatIntelSetIds", - "locationName" : "threatIntelSetIds" - } - } - }, - "LocalPortDetails" : { - "type" : "structure", - "members" : { - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "Port number of the local connection." - }, - "PortName" : { - "shape" : "__string", - "locationName" : "portName", - "documentation" : "Port name of the local connection." - } - }, - "documentation" : "Local port information of the connection." - }, - "Location" : { - "type" : "string", - "documentation" : "The location of the S3 bucket where the list resides. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Master" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "Master account ID" - }, - "InvitationId" : { - "shape" : "InvitationId", - "locationName" : "invitationId", - "documentation" : "This value is used to validate the master account to the member account." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the master and member accounts." - } - }, - "documentation" : "Contains details about the master account." - }, - "MasterId" : { - "type" : "string", - "documentation" : "The master account ID." - }, - "MaxResults" : { - "type" : "integer", - "min" : 1, - "max" : 50 - }, - "Member" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "AccountId", - "locationName" : "accountId" - }, - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId" - }, - "Email" : { - "shape" : "Email", - "locationName" : "email", - "documentation" : "Member account's email address." - }, - "InvitedAt" : { - "shape" : "InvitedAt", - "locationName" : "invitedAt", - "documentation" : "Timestamp at which the invitation was sent" - }, - "MasterId" : { - "shape" : "MasterId", - "locationName" : "masterId" - }, - "RelationshipStatus" : { - "shape" : "__string", - "locationName" : "relationshipStatus", - "documentation" : "The status of the relationship between the member and the master." - }, - "UpdatedAt" : { - "shape" : "UpdatedAt", - "locationName" : "updatedAt" - } - }, - "documentation" : "Contains details about the member account.", - "required" : [ "Email", "AccountId", "MasterId", "UpdatedAt", "RelationshipStatus" ] - }, - "Members" : { - "type" : "list", - "documentation" : "A list of member descriptions.", - "member" : { - "shape" : "Member" - } - }, - "Message" : { - "type" : "string", - "documentation" : "The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members." - }, - "Name" : { - "type" : "string", - "documentation" : "The user-friendly name to identify the list." - }, - "Neq" : { - "type" : "list", - "documentation" : "Represents the not equal condition to be applied to a single field when querying for findings.", - "member" : { - "shape" : "__string" - } - }, - "NetworkConnectionAction" : { - "type" : "structure", - "members" : { - "Blocked" : { - "shape" : "__boolean", - "locationName" : "blocked", - "documentation" : "Network connection blocked information." - }, - "ConnectionDirection" : { - "shape" : "__string", - "locationName" : "connectionDirection", - "documentation" : "Network connection direction." - }, - "LocalPortDetails" : { - "shape" : "LocalPortDetails", - "locationName" : "localPortDetails", - "documentation" : "Local port information of the connection." - }, - "Protocol" : { - "shape" : "__string", - "locationName" : "protocol", - "documentation" : "Network connection protocol." - }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." - }, - "RemotePortDetails" : { - "shape" : "RemotePortDetails", - "locationName" : "remotePortDetails", - "documentation" : "Remote port information of the connection." - } - }, - "documentation" : "Information about the NETWORK_CONNECTION action described in this finding." - }, - "NetworkInterface" : { - "type" : "structure", - "members" : { - "Ipv6Addresses" : { - "shape" : "Ipv6Addresses", - "locationName" : "ipv6Addresses", - "documentation" : "A list of EC2 instance IPv6 address information." - }, - "NetworkInterfaceId" : { - "shape" : "NetworkInterfaceId", - "locationName" : "networkInterfaceId", - "documentation" : "The ID of the network interface" - }, - "PrivateDnsName" : { - "shape" : "PrivateDnsName", - "locationName" : "privateDnsName", - "documentation" : "Private DNS name of the EC2 instance." - }, - "PrivateIpAddress" : { - "shape" : "PrivateIpAddress", - "locationName" : "privateIpAddress", - "documentation" : "Private IP address of the EC2 instance." - }, - "PrivateIpAddresses" : { - "shape" : "PrivateIpAddresses", - "locationName" : "privateIpAddresses", - "documentation" : "Other private IP address information of the EC2 instance." - }, - "PublicDnsName" : { - "shape" : "__string", - "locationName" : "publicDnsName", - "documentation" : "Public DNS name of the EC2 instance." - }, - "PublicIp" : { - "shape" : "__string", - "locationName" : "publicIp", - "documentation" : "Public IP address of the EC2 instance." - }, - "SecurityGroups" : { - "shape" : "SecurityGroups", - "locationName" : "securityGroups", - "documentation" : "Security groups associated with the EC2 instance." - }, - "SubnetId" : { - "shape" : "__string", - "locationName" : "subnetId", - "documentation" : "The subnet ID of the EC2 instance." - }, - "VpcId" : { - "shape" : "__string", - "locationName" : "vpcId", - "documentation" : "The VPC ID of the EC2 instance." - } - }, - "documentation" : "The network interface information of the EC2 instance." - }, - "NetworkInterfaceId" : { - "type" : "string", - "documentation" : "The ID of the network interface." - }, - "NetworkInterfaces" : { - "type" : "list", - "documentation" : "The network interface information of the EC2 instance.", - "member" : { - "shape" : "NetworkInterface" - } - }, - "NextToken" : { - "type" : "string", - "documentation" : "You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data." - }, - "OrderBy" : { - "type" : "string", - "enum" : [ "ASC", "DESC" ] - }, - "Organization" : { - "type" : "structure", - "members" : { - "Asn" : { - "shape" : "__string", - "locationName" : "asn", - "documentation" : "Autonomous system number of the internet provider of the remote IP address." - }, - "AsnOrg" : { - "shape" : "__string", - "locationName" : "asnOrg", - "documentation" : "Organization that registered this ASN." - }, - "Isp" : { - "shape" : "__string", - "locationName" : "isp", - "documentation" : "ISP information for the internet provider." - }, - "Org" : { - "shape" : "__string", - "locationName" : "org", - "documentation" : "Name of the internet provider." - } - }, - "documentation" : "ISP Organization information of the remote IP address." - }, - "PortProbeAction" : { - "type" : "structure", - "members" : { - "Blocked" : { - "shape" : "__boolean", - "locationName" : "blocked", - "documentation" : "Port probe blocked information." - }, - "PortProbeDetails" : { - "shape" : "__listOfPortProbeDetail", - "locationName" : "portProbeDetails", - "documentation" : "A list of port probe details objects." - } - }, - "documentation" : "Information about the PORT_PROBE action described in this finding." - }, - "PortProbeDetail" : { - "type" : "structure", - "members" : { - "LocalPortDetails" : { - "shape" : "LocalPortDetails", - "locationName" : "localPortDetails", - "documentation" : "Local port information of the connection." - }, - "RemoteIpDetails" : { - "shape" : "RemoteIpDetails", - "locationName" : "remoteIpDetails", - "documentation" : "Remote IP information of the connection." - } - }, - "documentation" : "Details about the port probe finding." - }, - "PrivateDnsName" : { - "type" : "string", - "documentation" : "Private DNS name of the EC2 instance." - }, - "PrivateIpAddress" : { - "type" : "string", - "documentation" : "Private IP address of the EC2 instance." - }, - "PrivateIpAddressDetails" : { - "type" : "structure", - "members" : { - "PrivateDnsName" : { - "shape" : "PrivateDnsName", - "locationName" : "privateDnsName", - "documentation" : "Private DNS name of the EC2 instance." - }, - "PrivateIpAddress" : { - "shape" : "PrivateIpAddress", - "locationName" : "privateIpAddress", - "documentation" : "Private IP address of the EC2 instance." - } - }, - "documentation" : "Other private IP address information of the EC2 instance." - }, - "PrivateIpAddresses" : { - "type" : "list", - "documentation" : "Other private IP address information of the EC2 instance.", - "member" : { - "shape" : "PrivateIpAddressDetails" - } - }, - "ProductCode" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "Product code information." - }, - "ProductType" : { - "shape" : "__string", - "locationName" : "productType", - "documentation" : "Product code type." - } - }, - "documentation" : "The product code of the EC2 instance." - }, - "ProductCodes" : { - "type" : "list", - "documentation" : "The product code of the EC2 instance.", - "member" : { - "shape" : "ProductCode" - } - }, - "RemoteIpDetails" : { - "type" : "structure", - "members" : { - "City" : { - "shape" : "City", - "locationName" : "city", - "documentation" : "City information of the remote IP address." - }, - "Country" : { - "shape" : "Country", - "locationName" : "country", - "documentation" : "Country code of the remote IP address." - }, - "GeoLocation" : { - "shape" : "GeoLocation", - "locationName" : "geoLocation", - "documentation" : "Location information of the remote IP address." - }, - "IpAddressV4" : { - "shape" : "__string", - "locationName" : "ipAddressV4", - "documentation" : "IPV4 remote address of the connection." - }, - "Organization" : { - "shape" : "Organization", - "locationName" : "organization", - "documentation" : "ISP Organization information of the remote IP address." - } - }, - "documentation" : "Remote IP information of the connection." - }, - "RemotePortDetails" : { - "type" : "structure", - "members" : { - "Port" : { - "shape" : "__integer", - "locationName" : "port", - "documentation" : "Port number of the remote connection." - }, - "PortName" : { - "shape" : "__string", - "locationName" : "portName", - "documentation" : "Port name of the remote connection." - } - }, - "documentation" : "Remote port information of the connection." - }, - "Resource" : { - "type" : "structure", - "members" : { - "AccessKeyDetails" : { - "shape" : "AccessKeyDetails", - "locationName" : "accessKeyDetails" - }, - "InstanceDetails" : { - "shape" : "InstanceDetails", - "locationName" : "instanceDetails" - }, - "ResourceType" : { - "shape" : "__string", - "locationName" : "resourceType", - "documentation" : "The type of the AWS resource." - } - }, - "documentation" : "The AWS resource associated with the activity that prompted GuardDuty to generate a finding." - }, - "SecurityGroup" : { - "type" : "structure", - "members" : { - "GroupId" : { - "shape" : "__string", - "locationName" : "groupId", - "documentation" : "EC2 instance's security group ID." - }, - "GroupName" : { - "shape" : "__string", - "locationName" : "groupName", - "documentation" : "EC2 instance's security group name." - } - }, - "documentation" : "Security groups associated with the EC2 instance." - }, - "SecurityGroups" : { - "type" : "list", - "documentation" : "Security groups associated with the EC2 instance.", - "member" : { - "shape" : "SecurityGroup" - } - }, - "Service" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "Action", - "locationName" : "action", - "documentation" : "Information about the activity described in a finding." - }, - "Archived" : { - "shape" : "__boolean", - "locationName" : "archived", - "documentation" : "Indicates whether this finding is archived." - }, - "Count" : { - "shape" : "__integer", - "locationName" : "count", - "documentation" : "Total count of the occurrences of this finding type." - }, - "DetectorId" : { - "shape" : "DetectorId", - "locationName" : "detectorId", - "documentation" : "Detector ID for the GuardDuty service." - }, - "EventFirstSeen" : { - "shape" : "__string", - "locationName" : "eventFirstSeen", - "documentation" : "First seen timestamp of the activity that prompted GuardDuty to generate this finding." - }, - "EventLastSeen" : { - "shape" : "__string", - "locationName" : "eventLastSeen", - "documentation" : "Last seen timestamp of the activity that prompted GuardDuty to generate this finding." - }, - "ResourceRole" : { - "shape" : "__string", - "locationName" : "resourceRole", - "documentation" : "Resource role information for this finding." - }, - "ServiceName" : { - "shape" : "__string", - "locationName" : "serviceName", - "documentation" : "The name of the AWS service (GuardDuty) that generated a finding." - }, - "UserFeedback" : { - "shape" : "__string", - "locationName" : "userFeedback", - "documentation" : "Feedback left about the finding." - } - }, - "documentation" : "Additional information assigned to the generated finding by GuardDuty." - }, - "ServiceRole" : { - "type" : "string", - "documentation" : "Customer serviceRole name or ARN for accessing customer resources" - }, - "SortCriteria" : { - "type" : "structure", - "members" : { - "AttributeName" : { - "shape" : "__string", - "locationName" : "attributeName", - "documentation" : "Represents the finding attribute (for example, accountId) by which to sort findings." - }, - "OrderBy" : { - "shape" : "OrderBy", - "locationName" : "orderBy", - "documentation" : "Order by which the sorted findings are to be displayed." - } - }, - "documentation" : "Represents the criteria used for sorting findings." - }, - "StartMonitoringMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts whose findings you want the master account to monitor." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account whom you want to re-enable to monitor members' findings." - } - }, - "documentation" : "StartMonitoringMembers request body.", - "required" : [ "DetectorId" ] - }, - "StartMonitoringMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "StopMonitoringMembersRequest" : { - "type" : "structure", - "members" : { - "AccountIds" : { - "shape" : "AccountIds", - "locationName" : "accountIds", - "documentation" : "A list of account IDs of the GuardDuty member accounts whose findings you want the master account to stop monitoring." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector of the GuardDuty account that you want to stop from monitor members' findings." - } - }, - "documentation" : "StopMonitoringMembers request body.", - "required" : [ "DetectorId" ] - }, - "StopMonitoringMembersResponse" : { - "type" : "structure", - "members" : { - "UnprocessedAccounts" : { - "shape" : "UnprocessedAccounts", - "locationName" : "unprocessedAccounts", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed." - } - } - }, - "Tag" : { - "type" : "structure", - "members" : { - "Key" : { - "shape" : "__string", - "locationName" : "key", - "documentation" : "EC2 instance tag key." - }, - "Value" : { - "shape" : "__string", - "locationName" : "value", - "documentation" : "EC2 instance tag value." - } - }, - "documentation" : "A tag of the EC2 instance." - }, - "Tags" : { - "type" : "list", - "documentation" : "The tags of the EC2 instance.", - "member" : { - "shape" : "Tag" - } - }, - "ThreatIntelSetFormat" : { - "type" : "string", - "documentation" : "The format of the threatIntelSet.", - "enum" : [ "TXT", "STIX", "OTX_CSV", "ALIEN_VAULT", "PROOF_POINT", "FIRE_EYE" ] - }, - "ThreatIntelSetId" : { - "type" : "string", - "documentation" : "The unique identifier for an threat intel set" - }, - "ThreatIntelSetIds" : { - "type" : "list", - "documentation" : "The list of the threat intel set IDs", - "member" : { - "shape" : "ThreatIntelSetId" - } - }, - "ThreatIntelSetStatus" : { - "type" : "string", - "documentation" : "The status of threatIntelSet file uploaded.", - "enum" : [ "INACTIVE", "ACTIVATING", "ACTIVE", "DEACTIVATING", "ERROR", "DELETE_PENDING", "DELETED" ] - }, - "UnarchiveFindingsRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to unarchive." - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to unarchive." - } - }, - "documentation" : "UnarchiveFindings request body.", - "required" : [ "DetectorId" ] - }, - "UnarchiveFindingsResponse" : { - "type" : "structure", - "members" : { } - }, - "UnprocessedAccount" : { - "type" : "structure", - "members" : { - "AccountId" : { - "shape" : "__string", - "locationName" : "accountId", - "documentation" : "AWS Account ID." - }, - "Result" : { - "shape" : "__string", - "locationName" : "result", - "documentation" : "A reason why the account hasn't been processed." - } - }, - "documentation" : "An object containing the unprocessed account and a result string explaining why it was unprocessed.", - "required" : [ "AccountId", "Result" ] - }, - "UnprocessedAccounts" : { - "type" : "list", - "documentation" : "A list of objects containing the unprocessed account and a result string explaining why it was unprocessed.", - "member" : { - "shape" : "UnprocessedAccount" - } - }, - "UpdateDetectorRequest" : { - "type" : "structure", - "members" : { - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that you want to update." - }, - "Enable" : { - "shape" : "Enable", - "locationName" : "enable", - "documentation" : "Updated boolean value for the detector that specifies whether the detector is enabled." - } - }, - "documentation" : "UpdateDetector request body.", - "required" : [ "DetectorId" ] - }, - "UpdateDetectorResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateFilterRequest" : { - "type" : "structure", - "members" : { - "Action" : { - "shape" : "FilterAction", - "locationName" : "action", - "documentation" : "Specifies the action that is to be applied to the findings that match the filter." - }, - "Description" : { - "shape" : "FilterDescription", - "locationName" : "description", - "documentation" : "The description of the filter." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The unique ID of the detector that specifies the GuardDuty service where you want to update a filter." - }, - "FilterName" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "filterName", - "documentation" : "The name of the filter." - }, - "FindingCriteria" : { - "shape" : "FindingCriteria", - "locationName" : "findingCriteria", - "documentation" : "Represents the criteria to be used in the filter for querying findings." - }, - "Rank" : { - "shape" : "FilterRank", - "locationName" : "rank", - "documentation" : "Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings." - } - }, - "documentation" : "UpdateFilterRequest request body.", - "required" : [ "DetectorId", "FilterName" ] - }, - "UpdateFilterResponse" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "FilterName", - "locationName" : "name", - "documentation" : "The name of the filter." - } - } - }, - "UpdateFindingsFeedbackRequest" : { - "type" : "structure", - "members" : { - "Comments" : { - "shape" : "Comments", - "locationName" : "comments", - "documentation" : "Additional feedback about the GuardDuty findings." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The ID of the detector that specifies the GuardDuty service whose findings you want to mark as useful or not useful." - }, - "Feedback" : { - "shape" : "Feedback", - "locationName" : "feedback", - "documentation" : "Valid values: USEFUL | NOT_USEFUL" - }, - "FindingIds" : { - "shape" : "FindingIds", - "locationName" : "findingIds", - "documentation" : "IDs of the findings that you want to mark as useful or not useful." - } - }, - "documentation" : "UpdateFindingsFeedback request body.", - "required" : [ "DetectorId" ] - }, - "UpdateFindingsFeedbackResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateIPSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "The updated boolean value that specifies whether the IPSet is active or not." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose IPSet you want to update." - }, - "IpSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "ipSetId", - "documentation" : "The unique ID that specifies the IPSet that you want to update." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The updated URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)." - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The unique ID that specifies the IPSet that you want to update." - } - }, - "documentation" : "UpdateIPSet request body.", - "required" : [ "DetectorId", "IpSetId" ] - }, - "UpdateIPSetResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdateThreatIntelSetRequest" : { - "type" : "structure", - "members" : { - "Activate" : { - "shape" : "Activate", - "locationName" : "activate", - "documentation" : "The updated boolean value that specifies whether the ThreateIntelSet is active or not." - }, - "DetectorId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "detectorId", - "documentation" : "The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update." - }, - "Location" : { - "shape" : "Location", - "locationName" : "location", - "documentation" : "The updated URI of the file that contains the ThreateIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)" - }, - "Name" : { - "shape" : "Name", - "locationName" : "name", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to update." - }, - "ThreatIntelSetId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "threatIntelSetId", - "documentation" : "The unique ID that specifies the ThreatIntelSet that you want to update." - } - }, - "documentation" : "UpdateThreatIntelSet request body.", - "required" : [ "ThreatIntelSetId", "DetectorId" ] - }, - "UpdateThreatIntelSetResponse" : { - "type" : "structure", - "members" : { } - }, - "UpdatedAt" : { - "type" : "string", - "documentation" : "The first time a resource was created. The format will be ISO-8601." - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__listOfPortProbeDetail" : { - "type" : "list", - "member" : { - "shape" : "PortProbeDetail" - } - }, - "__long" : { - "type" : "long" - }, - "__mapOfCondition" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "Condition" - } - }, - "__mapOfCountBySeverityFindingStatistic" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "CountBySeverityFindingStatistic" - } - }, - "__string" : { - "type" : "string" - }, - "__stringMin0Max64" : { - "type" : "string", - "min" : 0, - "max" : 64 - }, - "__timestamp" : { - "type" : "timestamp" - } - }, - "documentation" : "Assess, monitor, manage, and remediate security issues across your AWS infrastructure, applications, and data." -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/paginators-1.json deleted file mode 100644 index dcf401ad..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "DescribeAffectedEntities": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "entities" - }, - "DescribeEventAggregates": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "eventAggregates" - }, - "DescribeEvents": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "events" - }, - "DescribeEventTypes": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "eventTypes" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/service-2.json deleted file mode 100644 index 7a3b3ca9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/health/2016-08-04/service-2.json +++ /dev/null @@ -1,824 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-08-04", - "endpointPrefix":"health", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWSHealth", - "serviceFullName":"AWS Health APIs and Notifications", - "serviceId":"Health", - "signatureVersion":"v4", - "targetPrefix":"AWSHealth_20160804", - "uid":"health-2016-08-04" - }, - "operations":{ - "DescribeAffectedEntities":{ - "name":"DescribeAffectedEntities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAffectedEntitiesRequest"}, - "output":{"shape":"DescribeAffectedEntitiesResponse"}, - "errors":[ - {"shape":"InvalidPaginationToken"}, - {"shape":"UnsupportedLocale"} - ], - "documentation":"

Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this.

At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

", - "idempotent":true - }, - "DescribeEntityAggregates":{ - "name":"DescribeEntityAggregates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEntityAggregatesRequest"}, - "output":{"shape":"DescribeEntityAggregatesResponse"}, - "documentation":"

Returns the number of entities that are affected by each of the specified events. If no events are specified, the counts of all affected entities are returned.

", - "idempotent":true - }, - "DescribeEventAggregates":{ - "name":"DescribeEventAggregates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventAggregatesRequest"}, - "output":{"shape":"DescribeEventAggregatesResponse"}, - "errors":[ - {"shape":"InvalidPaginationToken"} - ], - "documentation":"

Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned.

", - "idempotent":true - }, - "DescribeEventDetails":{ - "name":"DescribeEventDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventDetailsRequest"}, - "output":{"shape":"DescribeEventDetailsResponse"}, - "errors":[ - {"shape":"UnsupportedLocale"} - ], - "documentation":"

Returns detailed information about one or more specified events. Information includes standard event data (region, service, etc., as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation.

If a specified event cannot be retrieved, an error message is returned for that event.

", - "idempotent":true - }, - "DescribeEventTypes":{ - "name":"DescribeEventTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventTypesRequest"}, - "output":{"shape":"DescribeEventTypesResponse"}, - "errors":[ - {"shape":"InvalidPaginationToken"}, - {"shape":"UnsupportedLocale"} - ], - "documentation":"

Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event types are returned, in no particular order.

", - "idempotent":true - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsRequest"}, - "output":{"shape":"DescribeEventsResponse"}, - "errors":[ - {"shape":"InvalidPaginationToken"}, - {"shape":"UnsupportedLocale"} - ], - "documentation":"

Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations.

If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent.

", - "idempotent":true - } - }, - "shapes":{ - "AffectedEntity":{ - "type":"structure", - "members":{ - "entityArn":{ - "shape":"entityArn", - "documentation":"

The unique identifier for the entity. Format: arn:aws:health:entity-region:aws-account:entity/entity-id . Example: arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K

" - }, - "eventArn":{ - "shape":"eventArn", - "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" - }, - "entityValue":{ - "shape":"entityValue", - "documentation":"

The ID of the affected entity.

" - }, - "awsAccountId":{ - "shape":"accountId", - "documentation":"

The 12-digit AWS account number that contains the affected entity.

" - }, - "lastUpdatedTime":{ - "shape":"timestamp", - "documentation":"

The most recent time that the entity was updated.

" - }, - "statusCode":{ - "shape":"entityStatusCode", - "documentation":"

The most recent status of the entity affected by the event. The possible values are IMPAIRED, UNIMPAIRED, and UNKNOWN.

" - }, - "tags":{ - "shape":"tagSet", - "documentation":"

A map of entity tags attached to the affected entity.

" - } - }, - "documentation":"

Information about an entity that is affected by a Health event.

" - }, - "DateTimeRange":{ - "type":"structure", - "members":{ - "from":{ - "shape":"timestamp", - "documentation":"

The starting date and time of a time range.

" - }, - "to":{ - "shape":"timestamp", - "documentation":"

The ending date and time of a time range.

" - } - }, - "documentation":"

A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from. If from is not set and to is set: match items where the timestamp value is equal to or before to.

" - }, - "DescribeAffectedEntitiesRequest":{ - "type":"structure", - "required":["filter"], - "members":{ - "filter":{ - "shape":"EntityFilter", - "documentation":"

Values to narrow the results returned. At least one event ARN is required.

" - }, - "locale":{ - "shape":"locale", - "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - }, - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" - } - } - }, - "DescribeAffectedEntitiesResponse":{ - "type":"structure", - "members":{ - "entities":{ - "shape":"EntityList", - "documentation":"

The entities that match the filter criteria.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - } - } - }, - "DescribeEntityAggregatesRequest":{ - "type":"structure", - "members":{ - "eventArns":{ - "shape":"EventArnsList", - "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" - } - } - }, - "DescribeEntityAggregatesResponse":{ - "type":"structure", - "members":{ - "entityAggregates":{ - "shape":"EntityAggregateList", - "documentation":"

The number of entities that are affected by each of the specified events.

" - } - } - }, - "DescribeEventAggregatesRequest":{ - "type":"structure", - "required":["aggregateField"], - "members":{ - "filter":{ - "shape":"EventFilter", - "documentation":"

Values to narrow the results returned.

" - }, - "aggregateField":{ - "shape":"eventAggregateField", - "documentation":"

The only currently supported value is eventTypeCategory.

" - }, - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - } - } - }, - "DescribeEventAggregatesResponse":{ - "type":"structure", - "members":{ - "eventAggregates":{ - "shape":"EventAggregateList", - "documentation":"

The number of events in each category that meet the optional filter criteria.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - } - } - }, - "DescribeEventDetailsFailedSet":{ - "type":"list", - "member":{"shape":"EventDetailsErrorItem"} - }, - "DescribeEventDetailsRequest":{ - "type":"structure", - "required":["eventArns"], - "members":{ - "eventArns":{ - "shape":"eventArnList", - "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" - }, - "locale":{ - "shape":"locale", - "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" - } - } - }, - "DescribeEventDetailsResponse":{ - "type":"structure", - "members":{ - "successfulSet":{ - "shape":"DescribeEventDetailsSuccessfulSet", - "documentation":"

Information about the events that could be retrieved.

" - }, - "failedSet":{ - "shape":"DescribeEventDetailsFailedSet", - "documentation":"

Error messages for any events that could not be retrieved.

" - } - } - }, - "DescribeEventDetailsSuccessfulSet":{ - "type":"list", - "member":{"shape":"EventDetails"} - }, - "DescribeEventTypesRequest":{ - "type":"structure", - "members":{ - "filter":{ - "shape":"EventTypeFilter", - "documentation":"

Values to narrow the results returned.

" - }, - "locale":{ - "shape":"locale", - "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - }, - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" - } - } - }, - "DescribeEventTypesResponse":{ - "type":"structure", - "members":{ - "eventTypes":{ - "shape":"EventTypeList", - "documentation":"

A list of event types that match the filter criteria. Event types have a category (issue, accountNotification, or scheduledChange), a service (for example, EC2, RDS, DATAPIPELINE, BILLING), and a code (in the format AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - } - } - }, - "DescribeEventsRequest":{ - "type":"structure", - "members":{ - "filter":{ - "shape":"EventFilter", - "documentation":"

Values to narrow the results returned.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - }, - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" - }, - "locale":{ - "shape":"locale", - "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" - } - } - }, - "DescribeEventsResponse":{ - "type":"structure", - "members":{ - "events":{ - "shape":"EventList", - "documentation":"

The events that match the specified filter criteria.

" - }, - "nextToken":{ - "shape":"nextToken", - "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" - } - } - }, - "EntityAggregate":{ - "type":"structure", - "members":{ - "eventArn":{ - "shape":"eventArn", - "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" - }, - "count":{ - "shape":"count", - "documentation":"

The number entities that match the criteria for the specified events.

" - } - }, - "documentation":"

The number of entities that are affected by one or more events. Returned by the DescribeEntityAggregates operation.

" - }, - "EntityAggregateList":{ - "type":"list", - "member":{"shape":"EntityAggregate"} - }, - "EntityFilter":{ - "type":"structure", - "required":["eventArns"], - "members":{ - "eventArns":{ - "shape":"eventArnList", - "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" - }, - "entityArns":{ - "shape":"entityArnList", - "documentation":"

A list of entity ARNs (unique identifiers).

" - }, - "entityValues":{ - "shape":"entityValueList", - "documentation":"

A list of IDs for affected entities.

" - }, - "lastUpdatedTimes":{ - "shape":"dateTimeRangeList", - "documentation":"

A list of the most recent dates and times that the entity was updated.

" - }, - "tags":{ - "shape":"tagFilter", - "documentation":"

A map of entity tags attached to the affected entity.

" - }, - "statusCodes":{ - "shape":"entityStatusCodeList", - "documentation":"

A list of entity status codes (IMPAIRED, UNIMPAIRED, or UNKNOWN).

" - } - }, - "documentation":"

The values to use to filter results from the DescribeAffectedEntities operation.

" - }, - "EntityList":{ - "type":"list", - "member":{"shape":"AffectedEntity"} - }, - "Event":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"eventArn", - "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" - }, - "service":{ - "shape":"service", - "documentation":"

The AWS service that is affected by the event. For example, EC2, RDS.

" - }, - "eventTypeCode":{ - "shape":"eventTypeCode", - "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" - }, - "eventTypeCategory":{ - "shape":"eventTypeCategory", - "documentation":"

The category of the event. Possible values are issue, scheduledChange, and accountNotification.

" - }, - "region":{ - "shape":"region", - "documentation":"

The AWS region name of the event.

" - }, - "availabilityZone":{ - "shape":"availabilityZone", - "documentation":"

The AWS Availability Zone of the event. For example, us-east-1a.

" - }, - "startTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the event began.

" - }, - "endTime":{ - "shape":"timestamp", - "documentation":"

The date and time that the event ended.

" - }, - "lastUpdatedTime":{ - "shape":"timestamp", - "documentation":"

The most recent date and time that the event was updated.

" - }, - "statusCode":{ - "shape":"eventStatusCode", - "documentation":"

The most recent status of the event. Possible values are open, closed, and upcoming.

" - } - }, - "documentation":"

Summary information about an event, returned by the DescribeEvents operation. The DescribeEventDetails operation also returns this information, as well as the EventDescription and additional event metadata.

" - }, - "EventAggregate":{ - "type":"structure", - "members":{ - "aggregateValue":{ - "shape":"aggregateValue", - "documentation":"

The issue type for the associated count.

" - }, - "count":{ - "shape":"count", - "documentation":"

The number of events of the associated issue type.

" - } - }, - "documentation":"

The number of events of each issue type. Returned by the DescribeEventAggregates operation.

" - }, - "EventAggregateList":{ - "type":"list", - "member":{"shape":"EventAggregate"} - }, - "EventArnsList":{ - "type":"list", - "member":{"shape":"eventArn"}, - "max":50, - "min":1 - }, - "EventDescription":{ - "type":"structure", - "members":{ - "latestDescription":{ - "shape":"eventDescription", - "documentation":"

The most recent description of the event.

" - } - }, - "documentation":"

The detailed description of the event. Included in the information returned by the DescribeEventDetails operation.

" - }, - "EventDetails":{ - "type":"structure", - "members":{ - "event":{ - "shape":"Event", - "documentation":"

Summary information about the event.

" - }, - "eventDescription":{ - "shape":"EventDescription", - "documentation":"

The most recent description of the event.

" - }, - "eventMetadata":{ - "shape":"eventMetadata", - "documentation":"

Additional metadata about the event.

" - } - }, - "documentation":"

Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetails operation.

" - }, - "EventDetailsErrorItem":{ - "type":"structure", - "members":{ - "eventArn":{ - "shape":"eventArn", - "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" - }, - "errorName":{ - "shape":"string", - "documentation":"

The name of the error.

" - }, - "errorMessage":{ - "shape":"string", - "documentation":"

A message that describes the error.

" - } - }, - "documentation":"

Error information returned when a DescribeEventDetails operation cannot find a specified event.

" - }, - "EventFilter":{ - "type":"structure", - "members":{ - "eventArns":{ - "shape":"eventArnList", - "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" - }, - "eventTypeCodes":{ - "shape":"eventTypeList", - "documentation":"

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\"

" - }, - "services":{ - "shape":"serviceList", - "documentation":"

The AWS services associated with the event. For example, EC2, RDS.

" - }, - "regions":{ - "shape":"regionList", - "documentation":"

A list of AWS regions.

" - }, - "availabilityZones":{ - "shape":"availabilityZones", - "documentation":"

A list of AWS availability zones.

" - }, - "startTimes":{ - "shape":"dateTimeRangeList", - "documentation":"

A list of dates and times that the event began.

" - }, - "endTimes":{ - "shape":"dateTimeRangeList", - "documentation":"

A list of dates and times that the event ended.

" - }, - "lastUpdatedTimes":{ - "shape":"dateTimeRangeList", - "documentation":"

A list of dates and times that the event was last updated.

" - }, - "entityArns":{ - "shape":"entityArnList", - "documentation":"

A list of entity ARNs (unique identifiers).

" - }, - "entityValues":{ - "shape":"entityValueList", - "documentation":"

A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

" - }, - "eventTypeCategories":{ - "shape":"eventTypeCategoryList", - "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" - }, - "tags":{ - "shape":"tagFilter", - "documentation":"

A map of entity tags attached to the affected entity.

" - }, - "eventStatusCodes":{ - "shape":"eventStatusCodeList", - "documentation":"

A list of event status codes.

" - } - }, - "documentation":"

The values to use to filter results from the DescribeEvents and DescribeEventAggregates operations.

" - }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"} - }, - "EventType":{ - "type":"structure", - "members":{ - "service":{ - "shape":"service", - "documentation":"

The AWS service that is affected by the event. For example, EC2, RDS.

" - }, - "code":{ - "shape":"eventTypeCode", - "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" - }, - "category":{ - "shape":"eventTypeCategory", - "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" - } - }, - "documentation":"

Metadata about a type of event that is reported by AWS Health. Data consists of the category (for example, issue), the service (for example, EC2), and the event type code (for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

" - }, - "EventTypeCategoryList":{ - "type":"list", - "member":{"shape":"eventTypeCategory"}, - "max":10, - "min":1 - }, - "EventTypeCodeList":{ - "type":"list", - "member":{"shape":"eventTypeCode"}, - "max":10, - "min":1 - }, - "EventTypeFilter":{ - "type":"structure", - "members":{ - "eventTypeCodes":{ - "shape":"EventTypeCodeList", - "documentation":"

A list of event type codes.

" - }, - "services":{ - "shape":"serviceList", - "documentation":"

The AWS services associated with the event. For example, EC2, RDS.

" - }, - "eventTypeCategories":{ - "shape":"EventTypeCategoryList", - "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" - } - }, - "documentation":"

The values to use to filter results from the DescribeEventTypes operation.

" - }, - "EventTypeList":{ - "type":"list", - "member":{"shape":"EventType"} - }, - "InvalidPaginationToken":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

The specified pagination token (nextToken) is not valid.

", - "exception":true - }, - "UnsupportedLocale":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

The specified locale is not supported.

", - "exception":true - }, - "accountId":{ - "type":"string", - "pattern":"[0-9]{12}" - }, - "aggregateValue":{"type":"string"}, - "availabilityZone":{ - "type":"string", - "pattern":"[a-z]{2}\\-[0-9a-z\\-]{4,16}" - }, - "availabilityZones":{ - "type":"list", - "member":{"shape":"availabilityZone"} - }, - "count":{"type":"integer"}, - "dateTimeRangeList":{ - "type":"list", - "member":{"shape":"DateTimeRange"}, - "max":10, - "min":1 - }, - "entityArn":{ - "type":"string", - "max":1600 - }, - "entityArnList":{ - "type":"list", - "member":{"shape":"entityArn"}, - "max":100, - "min":1 - }, - "entityStatusCode":{ - "type":"string", - "enum":[ - "IMPAIRED", - "UNIMPAIRED", - "UNKNOWN" - ] - }, - "entityStatusCodeList":{ - "type":"list", - "member":{"shape":"entityStatusCode"}, - "max":3, - "min":1 - }, - "entityValue":{ - "type":"string", - "max":256 - }, - "entityValueList":{ - "type":"list", - "member":{"shape":"entityValue"}, - "max":100, - "min":1 - }, - "eventAggregateField":{ - "type":"string", - "enum":["eventTypeCategory"] - }, - "eventArn":{ - "type":"string", - "max":1600, - "pattern":"arn:aws:health:[^:]*:[^:]*:event(?:/[\\w-]+){1}((?:/[\\w-]+){2})?" - }, - "eventArnList":{ - "type":"list", - "member":{"shape":"eventArn"}, - "max":10, - "min":1 - }, - "eventDescription":{"type":"string"}, - "eventMetadata":{ - "type":"map", - "key":{"shape":"metadataKey"}, - "value":{"shape":"metadataValue"} - }, - "eventStatusCode":{ - "type":"string", - "enum":[ - "open", - "closed", - "upcoming" - ] - }, - "eventStatusCodeList":{ - "type":"list", - "member":{"shape":"eventStatusCode"}, - "max":6, - "min":1 - }, - "eventType":{ - "type":"string", - "max":100, - "min":3 - }, - "eventTypeCategory":{ - "type":"string", - "enum":[ - "issue", - "accountNotification", - "scheduledChange" - ], - "max":255, - "min":3 - }, - "eventTypeCategoryList":{ - "type":"list", - "member":{"shape":"eventTypeCategory"}, - "max":10, - "min":1 - }, - "eventTypeCode":{ - "type":"string", - "max":100, - "min":3 - }, - "eventTypeList":{ - "type":"list", - "member":{"shape":"eventType"}, - "max":10, - "min":1 - }, - "locale":{ - "type":"string", - "max":256, - "min":2 - }, - "maxResults":{ - "type":"integer", - "max":100, - "min":10 - }, - "metadataKey":{"type":"string"}, - "metadataValue":{ - "type":"string", - "max":10240 - }, - "nextToken":{ - "type":"string", - "pattern":"[a-zA-Z0-9=/+_.-]{4,512}" - }, - "region":{ - "type":"string", - "pattern":"[^:/]{2,25}" - }, - "regionList":{ - "type":"list", - "member":{"shape":"region"}, - "max":10, - "min":1 - }, - "service":{ - "type":"string", - "max":30, - "min":2 - }, - "serviceList":{ - "type":"list", - "member":{"shape":"service"}, - "max":10, - "min":1 - }, - "string":{"type":"string"}, - "tagFilter":{ - "type":"list", - "member":{"shape":"tagSet"}, - "max":50 - }, - "tagKey":{ - "type":"string", - "max":127 - }, - "tagSet":{ - "type":"map", - "key":{"shape":"tagKey"}, - "value":{"shape":"tagValue"}, - "max":50 - }, - "tagValue":{ - "type":"string", - "max":255 - }, - "timestamp":{"type":"timestamp"} - }, - "documentation":"AWS Health

The AWS Health API provides programmatic access to the AWS Health information that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS resources:

In addition, these operations provide information about event types and summary counts of events or affected entities:

The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API from an account that does not have a Business or Enterprise support plan causes a SubscriptionRequiredException.

For authentication of requests, AWS Health uses the Signature Version 4 Signing Process.

See the AWS Health User Guide for information about how to use the API.

Service Endpoint

The HTTP endpoint for the AWS Health API is:

  • https://health.us-east-1.amazonaws.com

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/examples-1.json deleted file mode 100644 index f23d8ebf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/examples-1.json +++ /dev/null @@ -1,1191 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/paginators-1.json deleted file mode 100644 index 83e78d89..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/paginators-1.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "pagination": { - "GetAccountAuthorizationDetails": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": [ - "UserDetailList", - "GroupDetailList", - "RoleDetailList", - "Policies" - ] - }, - "GetGroup": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Users", - "non_aggregate_keys": [ - "Group" - ] - }, - "ListAccessKeys": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "AccessKeyMetadata" - }, - "ListAccountAliases": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "AccountAliases" - }, - "ListAttachedGroupPolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "AttachedPolicies" - }, - "ListAttachedRolePolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "AttachedPolicies" - }, - "ListAttachedUserPolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "AttachedPolicies" - }, - "ListEntitiesForPolicy": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": [ - "PolicyGroups", - "PolicyUsers", - "PolicyRoles" - ] - }, - "ListGroupPolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "PolicyNames" - }, - "ListGroups": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Groups" - }, - "ListGroupsForUser": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Groups" - }, - "ListInstanceProfiles": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "InstanceProfiles" - }, - "ListInstanceProfilesForRole": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "InstanceProfiles" - }, - "ListMFADevices": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "MFADevices" - }, - "ListPolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Policies" - }, - "ListPolicyVersions": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Versions" - }, - "ListRolePolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "PolicyNames" - }, - "ListRoles": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Roles" - }, - "ListServerCertificates": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "ServerCertificateMetadataList" - }, - "ListSigningCertificates": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Certificates" - }, - "ListSSHPublicKeys": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "SSHPublicKeys" - }, - "ListUserPolicies": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "PolicyNames" - }, - "ListUsers": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "Users" - }, - "ListVirtualMFADevices": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "VirtualMFADevices" - }, - "SimulateCustomPolicy": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "EvaluationResults" - }, - "SimulatePrincipalPolicy": { - "input_token": "Marker", - "limit_key": "MaxItems", - "more_results": "IsTruncated", - "output_token": "Marker", - "result_key": "EvaluationResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/service-2.json deleted file mode 100644 index be52c7ba..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/service-2.json +++ /dev/null @@ -1,7259 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-05-08", - "endpointPrefix":"iam", - "globalEndpoint":"iam.amazonaws.com", - "protocol":"query", - "serviceAbbreviation":"IAM", - "serviceFullName":"AWS Identity and Access Management", - "serviceId":"IAM", - "signatureVersion":"v4", - "uid":"iam-2010-05-08", - "xmlNamespace":"https://iam.amazonaws.com/doc/2010-05-08/" - }, - "operations":{ - "AddClientIDToOpenIDConnectProvider":{ - "name":"AddClientIDToOpenIDConnectProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddClientIDToOpenIDConnectProviderRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource.

This operation is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

" - }, - "AddRoleToInstanceProfile":{ - "name":"AddRoleToInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddRoleToInstanceProfileRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this API must be granted the PassRole permission on the IAM role by a 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddUserToGroupRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds the specified user to the specified group.

" - }, - "AttachGroupPolicy":{ - "name":"AttachGroupPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachGroupPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyNotAttachableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Attaches the specified managed policy to the specified IAM group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "AttachRolePolicy":{ - "name":"AttachRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachRolePolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"PolicyNotAttachableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "AttachUserPolicy":{ - "name":"AttachUserPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachUserPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyNotAttachableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "ChangePassword":{ - "name":"ChangePassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ChangePasswordRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidUserTypeException"}, - {"shape":"LimitExceededException"}, - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"PasswordPolicyViolationException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Changes the password of the IAM user who is calling this operation. The AWS account root user password is not affected by this operation.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" - }, - "CreateAccessKey":{ - "name":"CreateAccessKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAccessKeyRequest"}, - "output":{ - "shape":"CreateAccessKeyResponse", - "resultWrapper":"CreateAccessKeyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials. This is true even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

" - }, - "CreateAccountAlias":{ - "name":"CreateAccountAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAccountAliasRequest"}, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" - }, - "CreateGroup":{ - "name":"CreateGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGroupRequest"}, - "output":{ - "shape":"CreateGroupResponse", - "resultWrapper":"CreateGroupResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide.

" - }, - "CreateInstanceProfile":{ - "name":"CreateInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceProfileRequest"}, - "output":{ - "shape":"CreateInstanceProfileResponse", - "resultWrapper":"CreateInstanceProfileResult" - }, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide.

" - }, - "CreateLoginProfile":{ - "name":"CreateLoginProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoginProfileRequest"}, - "output":{ - "shape":"CreateLoginProfileResponse", - "resultWrapper":"CreateLoginProfileResult" - }, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"PasswordPolicyViolationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide.

" - }, - "CreateOpenIDConnectProvider":{ - "name":"CreateOpenIDConnectProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOpenIDConnectProviderRequest"}, - "output":{ - "shape":"CreateOpenIDConnectProviderResponse", - "resultWrapper":"CreateOpenIDConnectProviderResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the following:

  • The URL of the OIDC identity provider (IdP) to trust

  • A list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider

  • A list of thumbprints of the server certificate(s) that the IdP uses.

You get all of this information from the OIDC IdP that you want to use to access AWS.

Because trust for the OIDC provider is derived from the IAM provider that this operation creates, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

" - }, - "CreatePolicy":{ - "name":"CreatePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePolicyRequest"}, - "output":{ - "shape":"CreatePolicyResponse", - "resultWrapper":"CreatePolicyResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "CreatePolicyVersion":{ - "name":"CreatePolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePolicyVersionRequest"}, - "output":{ - "shape":"CreatePolicyVersionResponse", - "resultWrapper":"CreatePolicyVersionResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - }, - "CreateRole":{ - "name":"CreateRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRoleRequest"}, - "output":{ - "shape":"CreateRoleResponse", - "resultWrapper":"CreateRoleResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new role for your AWS account. For more information about roles, go to IAM Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

" - }, - "CreateSAMLProvider":{ - "name":"CreateSAMLProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSAMLProviderRequest"}, - "output":{ - "shape":"CreateSAMLProviderResponse", - "resultWrapper":"CreateSAMLProviderResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" - }, - "CreateServiceLinkedRole":{ - "name":"CreateServiceLinkedRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateServiceLinkedRoleRequest"}, - "output":{ - "shape":"CreateServiceLinkedRoleResponse", - "resultWrapper":"CreateServiceLinkedRoleResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed.

The name of the role is generated 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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateServiceSpecificCredentialRequest"}, - "output":{ - "shape":"CreateServiceSpecificCredentialResponse", - "resultWrapper":"CreateServiceSpecificCredentialResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceNotSupportedException"} - ], - "documentation":"

Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.

You can have a maximum of two sets of service-specific credentials for each supported service per user.

The only supported service at this time is AWS CodeCommit.

You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.

For more information about service-specific credentials, see Using IAM with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide.

" - }, - "CreateUser":{ - "name":"CreateUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserRequest"}, - "output":{ - "shape":"CreateUserResponse", - "resultWrapper":"CreateUserResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new IAM user for your AWS account.

For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide.

" - }, - "CreateVirtualMFADevice":{ - "name":"CreateVirtualMFADevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVirtualMFADeviceRequest"}, - "output":{ - "shape":"CreateVirtualMFADeviceResponse", - "resultWrapper":"CreateVirtualMFADeviceResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information, such as your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

" - }, - "DeactivateMFADevice":{ - "name":"DeactivateMFADevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeactivateMFADeviceRequest"}, - "errors":[ - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" - }, - "DeleteAccessKey":{ - "name":"DeleteAccessKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAccessKeyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" - }, - "DeleteAccountAlias":{ - "name":"DeleteAccountAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAccountAliasRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" - }, - "DeleteAccountPasswordPolicy":{ - "name":"DeleteAccountPasswordPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the password policy for the AWS account. There are no parameters.

" - }, - "DeleteGroup":{ - "name":"DeleteGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGroupRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"DeleteConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified IAM group. The group must not contain any users or have any attached policies.

" - }, - "DeleteGroupPolicy":{ - "name":"DeleteGroupPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGroupPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "DeleteInstanceProfile":{ - "name":"DeleteInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInstanceProfileRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"DeleteConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

" - }, - "DeleteLoginProfile":{ - "name":"DeleteLoginProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoginProfileRequest"}, - "errors":[ - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

" - }, - "DeleteOpenIDConnectProvider":{ - "name":"DeleteOpenIDConnectProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOpenIDConnectProviderRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes an OpenID Connect identity provider (IdP) resource object in IAM.

Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails.

This operation is idempotent; it does not fail or return an error if you call the operation for a provider that does not exist.

" - }, - "DeletePolicy":{ - "name":"DeletePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"DeleteConflictException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "DeletePolicyVersion":{ - "name":"DeletePolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePolicyVersionRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"DeleteConflictException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified version from the specified managed policy.

You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide.

" - }, - "DeleteRole":{ - "name":"DeleteRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRoleRequest"}, - "errors":[ - {"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 that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" - }, - "DeleteRolePermissionsBoundary":{ - "name":"DeleteRolePermissionsBoundary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRolePermissionsBoundaryRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the permissions boundary for the specified IAM role.

Deleting the permissions boundary for a role might increase its permissions by allowing anyone who assumes the role to perform all the actions granted in its permissions policies.

" - }, - "DeleteRolePolicy":{ - "name":"DeleteRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRolePolicyRequest"}, - "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.

" - }, - "DeleteSAMLProvider":{ - "name":"DeleteSAMLProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSAMLProviderRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

" - }, - "DeleteSSHPublicKey":{ - "name":"DeleteSSHPublicKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSSHPublicKeyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Deletes the specified SSH public key.

The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" - }, - "DeleteServerCertificate":{ - "name":"DeleteServerCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServerCertificateRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"DeleteConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified server certificate.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

" - }, - "DeleteServiceLinkedRole":{ - "name":"DeleteServiceLinkedRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServiceLinkedRoleRequest"}, - "output":{ - "shape":"DeleteServiceLinkedRoleResponse", - "resultWrapper":"DeleteServiceLinkedRoleResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned.

If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, usually including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service.

For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide.

" - }, - "DeleteServiceSpecificCredential":{ - "name":"DeleteServiceSpecificCredential", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServiceSpecificCredentialRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Deletes the specified service-specific credential.

" - }, - "DeleteSigningCertificate":{ - "name":"DeleteSigningCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSigningCertificateRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated IAM users.

" - }, - "DeleteUser":{ - "name":"DeleteUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserRequest"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"DeleteConflictException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.

" - }, - "DeleteUserPermissionsBoundary":{ - "name":"DeleteUserPermissionsBoundary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserPermissionsBoundaryRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the permissions boundary for the specified IAM user.

Deleting the permissions boundary for a user might increase its permissions by allowing the user to perform all the actions granted in its permissions policies.

" - }, - "DeleteUserPolicy":{ - "name":"DeleteUserPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "DeleteVirtualMFADevice":{ - "name":"DeleteVirtualMFADevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVirtualMFADeviceRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"DeleteConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes a virtual MFA device.

You must deactivate a user's virtual MFA device before you can delete it. For information about deactivating MFA devices, see DeactivateMFADevice.

" - }, - "DetachGroupPolicy":{ - "name":"DetachGroupPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachGroupPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Removes the specified managed policy from the specified IAM group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "DetachRolePolicy":{ - "name":"DetachRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachRolePolicyRequest"}, - "errors":[ - {"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.

" - }, - "DetachUserPolicy":{ - "name":"DetachUserPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachUserPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "EnableMFADevice":{ - "name":"EnableMFADevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableMFADeviceRequest"}, - "errors":[ - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"InvalidAuthenticationCodeException"}, - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Enables the specified MFA device and associates it with the specified IAM user. When enabled, the MFA device is required for every subsequent login by the IAM user associated with the device.

" - }, - "GenerateCredentialReport":{ - "name":"GenerateCredentialReport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GenerateCredentialReportResponse", - "resultWrapper":"GenerateCredentialReportResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" - }, - "GetAccessKeyLastUsed":{ - "name":"GetAccessKeyLastUsed", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAccessKeyLastUsedRequest"}, - "output":{ - "shape":"GetAccessKeyLastUsedResponse", - "resultWrapper":"GetAccessKeyLastUsedResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and region that were specified in the last request made with that key.

" - }, - "GetAccountAuthorizationDetails":{ - "name":"GetAccountAuthorizationDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAccountAuthorizationDetailsRequest"}, - "output":{ - "shape":"GetAccountAuthorizationDetailsResponse", - "resultWrapper":"GetAccountAuthorizationDetailsResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

" - }, - "GetAccountPasswordPolicy":{ - "name":"GetAccountPasswordPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetAccountPasswordPolicyResponse", - "resultWrapper":"GetAccountPasswordPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

" - }, - "GetAccountSummary":{ - "name":"GetAccountSummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetAccountSummaryResponse", - "resultWrapper":"GetAccountSummaryResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide.

" - }, - "GetContextKeysForCustomPolicy":{ - "name":"GetContextKeysForCustomPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContextKeysForCustomPolicyRequest"}, - "output":{ - "shape":"GetContextKeysForPolicyResponse", - "resultWrapper":"GetContextKeysForCustomPolicyResult" - }, - "errors":[ - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity but must be URL encoded to be included as a part of a real HTML request.

" - }, - "GetContextKeysForPrincipalPolicy":{ - "name":"GetContextKeysForPrincipalPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContextKeysForPrincipalPolicyRequest"}, - "output":{ - "shape":"GetContextKeysForPolicyResponse", - "resultWrapper":"GetContextKeysForPrincipalPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Gets a list of all of the context keys referenced in all the IAM policies that are attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of.

You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy.

" - }, - "GetCredentialReport":{ - "name":"GetCredentialReport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetCredentialReportResponse", - "resultWrapper":"GetCredentialReportResult" - }, - "errors":[ - {"shape":"CredentialReportNotPresentException"}, - {"shape":"CredentialReportExpiredException"}, - {"shape":"CredentialReportNotReadyException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" - }, - "GetGroup":{ - "name":"GetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGroupRequest"}, - "output":{ - "shape":"GetGroupResponse", - "resultWrapper":"GetGroupResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns a list of IAM users that are in the specified IAM group. You can paginate the results using the MaxItems and Marker parameters.

" - }, - "GetGroupPolicy":{ - "name":"GetGroupPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGroupPolicyRequest"}, - "output":{ - "shape":"GetGroupPolicyResponse", - "resultWrapper":"GetGroupPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "GetInstanceProfile":{ - "name":"GetInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceProfileRequest"}, - "output":{ - "shape":"GetInstanceProfileResponse", - "resultWrapper":"GetInstanceProfileResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide.

" - }, - "GetLoginProfile":{ - "name":"GetLoginProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoginProfileRequest"}, - "output":{ - "shape":"GetLoginProfileResponse", - "resultWrapper":"GetLoginProfileResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the operation returns a 404 (NoSuchEntity) error.

" - }, - "GetOpenIDConnectProvider":{ - "name":"GetOpenIDConnectProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOpenIDConnectProviderRequest"}, - "output":{ - "shape":"GetOpenIDConnectProviderResponse", - "resultWrapper":"GetOpenIDConnectProviderResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM.

" - }, - "GetPolicy":{ - "name":"GetPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPolicyRequest"}, - "output":{ - "shape":"GetPolicyResponse", - "resultWrapper":"GetPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "GetPolicyVersion":{ - "name":"GetPolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPolicyVersionRequest"}, - "output":{ - "shape":"GetPolicyVersionResponse", - "resultWrapper":"GetPolicyVersionResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - }, - "GetRole":{ - "name":"GetRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRoleRequest"}, - "output":{ - "shape":"GetRoleResponse", - "resultWrapper":"GetRoleResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" - }, - "GetRolePolicy":{ - "name":"GetRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRolePolicyRequest"}, - "output":{ - "shape":"GetRolePolicyResponse", - "resultWrapper":"GetRolePolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about roles, see Using Roles to Delegate Permissions and Federate Identities.

" - }, - "GetSAMLProvider":{ - "name":"GetSAMLProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSAMLProviderRequest"}, - "output":{ - "shape":"GetSAMLProviderResponse", - "resultWrapper":"GetSAMLProviderResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

" - }, - "GetSSHPublicKey":{ - "name":"GetSSHPublicKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSSHPublicKeyRequest"}, - "output":{ - "shape":"GetSSHPublicKeyResponse", - "resultWrapper":"GetSSHPublicKeyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"UnrecognizedPublicKeyEncodingException"} - ], - "documentation":"

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" - }, - "GetServerCertificate":{ - "name":"GetServerCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetServerCertificateRequest"}, - "output":{ - "shape":"GetServerCertificateResponse", - "resultWrapper":"GetServerCertificateResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

" - }, - "GetServiceLinkedRoleDeletionStatus":{ - "name":"GetServiceLinkedRoleDeletionStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetServiceLinkedRoleDeletionStatusRequest"}, - "output":{ - "shape":"GetServiceLinkedRoleDeletionStatusResponse", - "resultWrapper":"GetServiceLinkedRoleDeletionStatusResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the status of your service-linked role deletion. After you use the DeleteServiceLinkedRole API operation to submit a service-linked role for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus to check the status of the deletion. If the deletion fails, this operation returns the reason that it failed, if that information is returned by the service.

" - }, - "GetUser":{ - "name":"GetUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserRequest"}, - "output":{ - "shape":"GetUserResponse", - "resultWrapper":"GetUserResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves information about the specified IAM user, including the user's creation date, path, unique ID, and ARN.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID used to sign the request to this API.

" - }, - "GetUserPolicy":{ - "name":"GetUserPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetUserPolicyRequest"}, - "output":{ - "shape":"GetUserPolicyResponse", - "resultWrapper":"GetUserPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "ListAccessKeys":{ - "name":"ListAccessKeys", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAccessKeysRequest"}, - "output":{ - "shape":"ListAccessKeysResponse", - "resultWrapper":"ListAccessKeysResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns information about the access key IDs associated with the specified IAM user. If there are none, the operation returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

" - }, - "ListAccountAliases":{ - "name":"ListAccountAliases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAccountAliasesRequest"}, - "output":{ - "shape":"ListAccountAliasesResponse", - "resultWrapper":"ListAccountAliasesResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" - }, - "ListAttachedGroupPolicies":{ - "name":"ListAttachedGroupPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedGroupPoliciesRequest"}, - "output":{ - "shape":"ListAttachedGroupPoliciesResponse", - "resultWrapper":"ListAttachedGroupPoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" - }, - "ListAttachedRolePolicies":{ - "name":"ListAttachedRolePolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedRolePoliciesRequest"}, - "output":{ - "shape":"ListAttachedRolePoliciesResponse", - "resultWrapper":"ListAttachedRolePoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the operation returns an empty list.

" - }, - "ListAttachedUserPolicies":{ - "name":"ListAttachedUserPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedUserPoliciesRequest"}, - "output":{ - "shape":"ListAttachedUserPoliciesResponse", - "resultWrapper":"ListAttachedUserPoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" - }, - "ListEntitiesForPolicy":{ - "name":"ListEntitiesForPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEntitiesForPolicyRequest"}, - "output":{ - "shape":"ListEntitiesForPolicyResponse", - "resultWrapper":"ListEntitiesForPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists all IAM users, groups, and roles that the specified managed policy is attached to.

You can use the optional EntityFilter parameter to limit the results to a particular type of entity (users, groups, or roles). For example, to list only the roles that are attached to the specified policy, set EntityFilter to Role.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListGroupPolicies":{ - "name":"ListGroupPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupPoliciesRequest"}, - "output":{ - "shape":"ListGroupPoliciesResponse", - "resultWrapper":"ListGroupPoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the operation returns an empty list.

" - }, - "ListGroups":{ - "name":"ListGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupsRequest"}, - "output":{ - "shape":"ListGroupsResponse", - "resultWrapper":"ListGroupsResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the IAM groups that have the specified path prefix.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListGroupsForUser":{ - "name":"ListGroupsForUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupsForUserRequest"}, - "output":{ - "shape":"ListGroupsForUserResponse", - "resultWrapper":"ListGroupsForUserResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the IAM groups that the specified IAM user belongs to.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListInstanceProfiles":{ - "name":"ListInstanceProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstanceProfilesRequest"}, - "output":{ - "shape":"ListInstanceProfilesResponse", - "resultWrapper":"ListInstanceProfilesResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListInstanceProfilesForRole":{ - "name":"ListInstanceProfilesForRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstanceProfilesForRoleRequest"}, - "output":{ - "shape":"ListInstanceProfilesForRoleResponse", - "resultWrapper":"ListInstanceProfilesForRoleResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListMFADevices":{ - "name":"ListMFADevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListMFADevicesRequest"}, - "output":{ - "shape":"ListMFADevicesResponse", - "resultWrapper":"ListMFADevicesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListOpenIDConnectProviders":{ - "name":"ListOpenIDConnectProviders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOpenIDConnectProvidersRequest"}, - "output":{ - "shape":"ListOpenIDConnectProvidersResponse", - "resultWrapper":"ListOpenIDConnectProvidersResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists information about the IAM OpenID Connect (OIDC) provider resource objects defined in the AWS account.

" - }, - "ListPolicies":{ - "name":"ListPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPoliciesRequest"}, - "output":{ - "shape":"ListPoliciesResponse", - "resultWrapper":"ListPoliciesResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS.

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "ListPolicyVersions":{ - "name":"ListPolicyVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPolicyVersionsRequest"}, - "output":{ - "shape":"ListPolicyVersionsResponse", - "resultWrapper":"ListPolicyVersionsResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "ListRolePolicies":{ - "name":"ListRolePolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRolePoliciesRequest"}, - "output":{ - "shape":"ListRolePoliciesResponse", - "resultWrapper":"ListRolePoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list.

" - }, - "ListRoles":{ - "name":"ListRoles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRolesRequest"}, - "output":{ - "shape":"ListRolesResponse", - "resultWrapper":"ListRolesResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListSAMLProviders":{ - "name":"ListSAMLProviders", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSAMLProvidersRequest"}, - "output":{ - "shape":"ListSAMLProvidersResponse", - "resultWrapper":"ListSAMLProvidersResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

" - }, - "ListSSHPublicKeys":{ - "name":"ListSSHPublicKeys", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSSHPublicKeysRequest"}, - "output":{ - "shape":"ListSSHPublicKeysResponse", - "resultWrapper":"ListSSHPublicKeysResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Returns information about the SSH public keys associated with the specified IAM user. If there are none, the operation returns an empty list.

The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

" - }, - "ListServerCertificates":{ - "name":"ListServerCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListServerCertificatesRequest"}, - "output":{ - "shape":"ListServerCertificatesResponse", - "resultWrapper":"ListServerCertificatesResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

" - }, - "ListServiceSpecificCredentials":{ - "name":"ListServiceSpecificCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListServiceSpecificCredentialsRequest"}, - "output":{ - "shape":"ListServiceSpecificCredentialsResponse", - "resultWrapper":"ListServiceSpecificCredentialsResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceNotSupportedException"} - ], - "documentation":"

Returns information about the service-specific credentials associated with the specified IAM user. If there are none, the operation returns an empty list. The service-specific credentials returned by this operation are used only for authenticating the IAM user to a specific service. For more information about using service-specific credentials to authenticate to an AWS service, see Set Up service-specific credentials in the AWS CodeCommit User Guide.

" - }, - "ListSigningCertificates":{ - "name":"ListSigningCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSigningCertificatesRequest"}, - "output":{ - "shape":"ListSigningCertificatesResponse", - "resultWrapper":"ListSigningCertificatesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns information about the signing certificates associated with the specified IAM user. If there are none, the operation returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" - }, - "ListUserPolicies":{ - "name":"ListUserPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUserPoliciesRequest"}, - "output":{ - "shape":"ListUserPoliciesResponse", - "resultWrapper":"ListUserPoliciesResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the operation returns an empty list.

" - }, - "ListUsers":{ - "name":"ListUsers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUsersRequest"}, - "output":{ - "shape":"ListUsersResponse", - "resultWrapper":"ListUsersResult" - }, - "errors":[ - {"shape":"ServiceFailureException"} - ], - "documentation":"

Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns all users in the AWS account. If there are none, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "ListVirtualMFADevices":{ - "name":"ListVirtualMFADevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVirtualMFADevicesRequest"}, - "output":{ - "shape":"ListVirtualMFADevicesResponse", - "resultWrapper":"ListVirtualMFADevicesResult" - }, - "documentation":"

Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the operation returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any.

You can paginate the results using the MaxItems and Marker parameters.

" - }, - "PutGroupPolicy":{ - "name":"PutGroupPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutGroupPolicyRequest"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" - }, - "PutRolePermissionsBoundary":{ - "name":"PutRolePermissionsBoundary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRolePermissionsBoundaryRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"PolicyNotAttachableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds or updates the policy that is specified as the IAM role's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a role. Use the boundary to control the maximum permissions that the role can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the role.

You cannot set the boundary for a service-linked role.

Policies used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide.

" - }, - "PutRolePolicy":{ - "name":"PutRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRolePolicyRequest"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" - }, - "PutUserPermissionsBoundary":{ - "name":"PutUserPermissionsBoundary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutUserPermissionsBoundaryRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyNotAttachableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds or updates the policy that is specified as the IAM user's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a user. Use the boundary to control the maximum permissions that the user can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the user.

Policies that are used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the user. To learn how the effective permissions for a user are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide.

" - }, - "PutUserPolicy":{ - "name":"PutUserPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutUserPolicyRequest"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" - }, - "RemoveClientIDFromOpenIDConnectProvider":{ - "name":"RemoveClientIDFromOpenIDConnectProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveClientIDFromOpenIDConnectProviderRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object.

This operation is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist.

" - }, - "RemoveRoleFromInstanceProfile":{ - "name":"RemoveRoleFromInstanceProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveRoleFromInstanceProfileRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" - }, - "RemoveUserFromGroup":{ - "name":"RemoveUserFromGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveUserFromGroupRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Removes the specified user from the specified group.

" - }, - "ResetServiceSpecificCredential":{ - "name":"ResetServiceSpecificCredential", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetServiceSpecificCredentialRequest"}, - "output":{ - "shape":"ResetServiceSpecificCredentialResponse", - "resultWrapper":"ResetServiceSpecificCredentialResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Resets the password for a service-specific credential. The new password is AWS generated and cryptographically strong. It cannot be configured by the user. Resetting the password immediately invalidates the previous password associated with this user.

" - }, - "ResyncMFADevice":{ - "name":"ResyncMFADevice", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResyncMFADeviceRequest"}, - "errors":[ - {"shape":"InvalidAuthenticationCodeException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Synchronizes the specified MFA device with its IAM resource object on the AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" - }, - "SetDefaultPolicyVersion":{ - "name":"SetDefaultPolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetDefaultPolicyVersionRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version.

This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" - }, - "SimulateCustomPolicy":{ - "name":"SimulateCustomPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SimulateCustomPolicyRequest"}, - "output":{ - "shape":"SimulatePolicyResponse", - "resultWrapper":"SimulateCustomPolicyResult" - }, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"PolicyEvaluationException"} - ], - "documentation":"

Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API operations and AWS resources to determine the policies' effective permissions. The policies are provided as strings.

The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations.

If you want to simulate existing policies attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.

If the output is long, you can use MaxItems and Marker parameters to paginate the results.

" - }, - "SimulatePrincipalPolicy":{ - "name":"SimulatePrincipalPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SimulatePrincipalPolicyRequest"}, - "output":{ - "shape":"SimulatePolicyResponse", - "resultWrapper":"SimulatePrincipalPolicyResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyEvaluationException"} - ], - "documentation":"

Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to.

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API operations, it only checks the authorization to determine if the simulated policies allow or deny the operations.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

" - }, - "UpdateAccessKey":{ - "name":"UpdateAccessKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAccessKeyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Changes the status of the specified access key from Active to Inactive, or vice versa. This operation can be used to disable a user's key as part of a key rotation workflow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

" - }, - "UpdateAccountPasswordPolicy":{ - "name":"UpdateAccountPasswordPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAccountPasswordPolicyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the password policy settings for the AWS account.

  • This operation does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. Also note that some parameters do not allow the default parameter to be explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the operation.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

" - }, - "UpdateAssumeRolePolicy":{ - "name":"UpdateAssumeRolePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssumeRolePolicyRequest"}, - "errors":[ - {"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.

" - }, - "UpdateGroup":{ - "name":"UpdateGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGroupRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access Management.

" - }, - "UpdateLoginProfile":{ - "name":"UpdateLoginProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateLoginProfileRequest"}, - "errors":[ - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"PasswordPolicyViolationException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Changes the password for the specified IAM user.

IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" - }, - "UpdateOpenIDConnectProviderThumbprint":{ - "name":"UpdateOpenIDConnectProviderThumbprint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateOpenIDConnectProviderThumbprintRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Because trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

" - }, - "UpdateRole":{ - "name":"UpdateRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRoleRequest"}, - "output":{ - "shape":"UpdateRoleResponse", - "resultWrapper":"UpdateRoleResult" - }, - "errors":[ - {"shape":"UnmodifiableEntityException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the description or maximum session duration setting of a role.

" - }, - "UpdateRoleDescription":{ - "name":"UpdateRoleDescription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRoleDescriptionRequest"}, - "output":{ - "shape":"UpdateRoleDescriptionResponse", - "resultWrapper":"UpdateRoleDescriptionResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"UnmodifiableEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Use instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

" - }, - "UpdateSAMLProvider":{ - "name":"UpdateSAMLProvider", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSAMLProviderRequest"}, - "output":{ - "shape":"UpdateSAMLProviderResponse", - "resultWrapper":"UpdateSAMLProviderResult" - }, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

" - }, - "UpdateSSHPublicKey":{ - "name":"UpdateSSHPublicKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSSHPublicKeyRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This operation can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" - }, - "UpdateServerCertificate":{ - "name":"UpdateServerCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServerCertificateRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

The person making the request (the principal), must have permission to change the server certificate with the old name and the new name. For example, to change the certificate named ProductionCert to ProdCert, the principal must have a policy that allows them to update both certificates. If the principal has permission to update the ProductionCert group, but not the ProdCert certificate, then the update fails. For more information about permissions, see Access Management in the IAM User Guide.

" - }, - "UpdateServiceSpecificCredential":{ - "name":"UpdateServiceSpecificCredential", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServiceSpecificCredentialRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Sets the status of a service-specific credential to Active or Inactive. Service-specific credentials that are inactive cannot be used for authentication to the service. This operation can be used to disable a user's service-specific credential as part of a credential rotation work flow.

" - }, - "UpdateSigningCertificate":{ - "name":"UpdateSigningCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSigningCertificateRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" - }, - "UpdateUser":{ - "name":"UpdateUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserRequest"}, - "errors":[ - {"shape":"NoSuchEntityException"}, - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"EntityTemporarilyUnmodifiableException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Updates the name and/or the path of the specified IAM user.

You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide.

To change a user name, the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" - }, - "UploadSSHPublicKey":{ - "name":"UploadSSHPublicKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UploadSSHPublicKeyRequest"}, - "output":{ - "shape":"UploadSSHPublicKeyResponse", - "resultWrapper":"UploadSSHPublicKeyResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidPublicKeyException"}, - {"shape":"DuplicateSSHPublicKeyException"}, - {"shape":"UnrecognizedPublicKeyEncodingException"} - ], - "documentation":"

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" - }, - "UploadServerCertificate":{ - "name":"UploadServerCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UploadServerCertificateRequest"}, - "output":{ - "shape":"UploadServerCertificateResponse", - "resultWrapper":"UploadServerCertificateResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"MalformedCertificateException"}, - {"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.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" - }, - "UploadSigningCertificate":{ - "name":"UploadSigningCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UploadSigningCertificateRequest"}, - "output":{ - "shape":"UploadSigningCertificateResponse", - "resultWrapper":"UploadSigningCertificateResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"EntityAlreadyExistsException"}, - {"shape":"MalformedCertificateException"}, - {"shape":"InvalidCertificateException"}, - {"shape":"DuplicateCertificateException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this operation works for access keys under the AWS account, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" - } - }, - "shapes":{ - "AccessKey":{ - "type":"structure", - "required":[ - "UserName", - "AccessKeyId", - "Status", - "SecretAccessKey" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user that the access key is associated with.

" - }, - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The ID for this access key.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the access key. Active means that the key is valid for API calls, while Inactive means it is not.

" - }, - "SecretAccessKey":{ - "shape":"accessKeySecretType", - "documentation":"

The secret key used to sign requests.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date when the access key was created.

" - } - }, - "documentation":"

Contains information about an AWS access key.

This data type is used as a response element in the CreateAccessKey and ListAccessKeys operations.

The SecretAccessKey value is returned only in response to CreateAccessKey. You can get a secret access key only when you first create an access key; you cannot recover the secret access key later. If you lose a secret access key, you must create a new access key.

" - }, - "AccessKeyLastUsed":{ - "type":"structure", - "required":[ - "LastUsedDate", - "ServiceName", - "Region" - ], - "members":{ - "LastUsedDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null in the following situations:

  • 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

" - }, - "ServiceName":{ - "shape":"stringType", - "documentation":"

The name of the AWS service with which this access key was most recently used. This field displays \"N/A\" in the following situations:

  • 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 displays \"N/A\" in the following situations:

  • 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 operation.

" - }, - "AccessKeyMetadata":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user that the key is associated with.

" - }, - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The ID for this access key.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date when the access key was created.

" - } - }, - "documentation":"

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys operation.

" - }, - "ActionNameListType":{ - "type":"list", - "member":{"shape":"ActionNameType"} - }, - "ActionNameType":{ - "type":"string", - "max":128, - "min":3 - }, - "AddClientIDToOpenIDConnectProviderRequest":{ - "type":"structure", - "required":[ - "OpenIDConnectProviderArn", - "ClientID" - ], - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

" - }, - "ClientID":{ - "shape":"clientIDType", - "documentation":"

The client ID (also known as audience) to add to the IAM OpenID Connect provider resource.

" - } - } - }, - "AddRoleToInstanceProfileRequest":{ - "type":"structure", - "required":[ - "InstanceProfileName", - "RoleName" - ], - "members":{ - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

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: _+=,.@-

" - }, - "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: _+=,.@-

" - } - } - }, - "AddUserToGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserName" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group to update.

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: _+=,.@-

" - }, - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user 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: _+=,.@-

" - } - } - }, - "ArnListType":{ - "type":"list", - "member":{"shape":"arnType"} - }, - "AttachGroupPolicyRequest":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyArn" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group 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", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "AttachRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyArn" - ], - "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: _+=,.@-

" - }, - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "AttachUserPolicyRequest":{ - "type":"structure", - "required":[ - "UserName", - "PolicyArn" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user 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", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "AttachedPermissionsBoundary":{ - "type":"structure", - "members":{ - "PermissionsBoundaryType":{ - "shape":"PermissionsBoundaryAttachmentType", - "documentation":"

The permissions boundary usage type that indicates what type of IAM resource is used as the permissions boundary for an entity. This data type can only have a value of Policy.

" - }, - "PermissionsBoundaryArn":{ - "shape":"arnType", - "documentation":"

The ARN of the policy used to set the permissions boundary for the user or role.

" - } - }, - "documentation":"

Contains information about an attached permissions boundary.

An attached permissions boundary is a managed policy that has been attached to a user or role to set the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - }, - "AttachedPolicy":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The friendly name of the attached policy.

" - }, - "PolicyArn":{"shape":"arnType"} - }, - "documentation":"

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "BootstrapDatum":{ - "type":"blob", - "sensitive":true - }, - "ChangePasswordRequest":{ - "type":"structure", - "required":[ - "OldPassword", - "NewPassword" - ], - "members":{ - "OldPassword":{ - "shape":"passwordType", - "documentation":"

The IAM user's current password.

" - }, - "NewPassword":{ - "shape":"passwordType", - "documentation":"

The new password. The new password must conform to the AWS account's password policy, if one exists.

The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

" - } - } - }, - "ColumnNumber":{"type":"integer"}, - "ContextEntry":{ - "type":"structure", - "members":{ - "ContextKeyName":{ - "shape":"ContextKeyNameType", - "documentation":"

The full name of a condition context key, including the service prefix. For example, aws:SourceIp or s3:VersionId.

" - }, - "ContextKeyValues":{ - "shape":"ContextKeyValueListType", - "documentation":"

The value (or values, if the condition context key supports multiple values) to provide to the simulation when the key is referenced by a Condition element in an input policy.

" - }, - "ContextKeyType":{ - "shape":"ContextKeyTypeEnum", - "documentation":"

The data type of the value (or values) specified in the ContextKeyValues parameter.

" - } - }, - "documentation":"

Contains information about a condition context key. It includes the name of the key and specifies the value (or values, if the context key supports multiple values) to use in the simulation. This information is used when evaluating the Condition elements of the input policies.

This data type is used as an input parameter to SimulateCustomPolicy and SimulateCustomPolicy .

" - }, - "ContextEntryListType":{ - "type":"list", - "member":{"shape":"ContextEntry"} - }, - "ContextKeyNameType":{ - "type":"string", - "max":256, - "min":5 - }, - "ContextKeyNamesResultListType":{ - "type":"list", - "member":{"shape":"ContextKeyNameType"} - }, - "ContextKeyTypeEnum":{ - "type":"string", - "enum":[ - "string", - "stringList", - "numeric", - "numericList", - "boolean", - "booleanList", - "ip", - "ipList", - "binary", - "binaryList", - "date", - "dateList" - ] - }, - "ContextKeyValueListType":{ - "type":"list", - "member":{"shape":"ContextKeyValueType"} - }, - "ContextKeyValueType":{"type":"string"}, - "CreateAccessKeyRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the IAM user that the new key will belong 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: _+=,.@-

" - } - } - }, - "CreateAccessKeyResponse":{ - "type":"structure", - "required":["AccessKey"], - "members":{ - "AccessKey":{ - "shape":"AccessKey", - "documentation":"

A structure with details about the access key.

" - } - }, - "documentation":"

Contains the response to a successful CreateAccessKey request.

" - }, - "CreateAccountAliasRequest":{ - "type":"structure", - "required":["AccountAlias"], - "members":{ - "AccountAlias":{ - "shape":"accountAliasType", - "documentation":"

The account alias to create.

This parameter allows (per its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" - } - } - }, - "CreateGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group to create. Do not include the path in this value.

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: _+=,.@-. The group name must be unique within the account. Group names are not distinguished by case. For example, you cannot create groups named both \"ADMINS\" and \"admins\".

" - } - } - }, - "CreateGroupResponse":{ - "type":"structure", - "required":["Group"], - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

A structure containing details about the new group.

" - } - }, - "documentation":"

Contains the response to a successful CreateGroup request.

" - }, - "CreateInstanceProfileRequest":{ - "type":"structure", - "required":["InstanceProfileName"], - "members":{ - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile 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: _+=,.@-

" - }, - "Path":{ - "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - } - } - }, - "CreateInstanceProfileResponse":{ - "type":"structure", - "required":["InstanceProfile"], - "members":{ - "InstanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

A structure containing details about the new instance profile.

" - } - }, - "documentation":"

Contains the response to a successful CreateInstanceProfile request.

" - }, - "CreateLoginProfileRequest":{ - "type":"structure", - "required":[ - "UserName", - "Password" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user to create a password for. The user must already exist.

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: _+=,.@-

" - }, - "Password":{ - "shape":"passwordType", - "documentation":"

The new password for the user.

The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

" - }, - "PasswordResetRequired":{ - "shape":"booleanType", - "documentation":"

Specifies whether the user is required to set a new password on next sign-in.

" - } - } - }, - "CreateLoginProfileResponse":{ - "type":"structure", - "required":["LoginProfile"], - "members":{ - "LoginProfile":{ - "shape":"LoginProfile", - "documentation":"

A structure containing the user name and password create date.

" - } - }, - "documentation":"

Contains the response to a successful CreateLoginProfile request.

" - }, - "CreateOpenIDConnectProviderRequest":{ - "type":"structure", - "required":[ - "Url", - "ThumbprintList" - ], - "members":{ - "Url":{ - "shape":"OpenIDConnectProviderUrlType", - "documentation":"

The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com.

You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.

" - }, - "ClientIDList":{ - "shape":"clientIDListType", - "documentation":"

A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)

You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 characters long.

" - }, - "ThumbprintList":{ - "shape":"thumbprintListType", - "documentation":"

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

" - } - } - }, - "CreateOpenIDConnectProviderResponse":{ - "type":"structure", - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that is created. For more information, see OpenIDConnectProviderListEntry.

" - } - }, - "documentation":"

Contains the response to a successful CreateOpenIDConnectProvider request.

" - }, - "CreatePolicyRequest":{ - "type":"structure", - "required":[ - "PolicyName", - "PolicyDocument" - ], - "members":{ - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The friendly name of 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: _+=,.@-

" - }, - "Path":{ - "shape":"policyPathType", - "documentation":"

The path for the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for the new policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "Description":{ - "shape":"policyDescriptionType", - "documentation":"

A friendly description of the policy.

Typically used to store information about the permissions defined in the policy. For example, \"Grants access to production DynamoDB tables.\"

The policy description is immutable. After a value is assigned, it cannot be changed.

" - } - } - }, - "CreatePolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

A structure containing details about the new policy.

" - } - }, - "documentation":"

Contains the response to a successful CreatePolicy request.

" - }, - "CreatePolicyVersionRequest":{ - "type":"structure", - "required":[ - "PolicyArn", - "PolicyDocument" - ], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for this new version of the policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "SetAsDefault":{ - "shape":"booleanType", - "documentation":"

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - } - } - }, - "CreatePolicyVersionResponse":{ - "type":"structure", - "members":{ - "PolicyVersion":{ - "shape":"PolicyVersion", - "documentation":"

A structure containing details about the new policy version.

" - } - }, - "documentation":"

Contains the response to a successful CreatePolicyVersion request.

" - }, - "CreateRoleRequest":{ - "type":"structure", - "required":[ - "RoleName", - "AssumeRolePolicyDocument" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name of the role to create.

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 the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "Description":{ - "shape":"roleDescriptionType", - "documentation":"

A description of the role.

" - }, - "MaxSessionDuration":{ - "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" - }, - "PermissionsBoundary":{ - "shape":"arnType", - "documentation":"

The ARN of the policy that is used to set the permissions boundary for the role.

" - } - } - }, - "CreateRoleResponse":{ - "type":"structure", - "required":["Role"], - "members":{ - "Role":{ - "shape":"Role", - "documentation":"

A structure containing details about the new role.

" - } - }, - "documentation":"

Contains the response to a successful CreateRole request.

" - }, - "CreateSAMLProviderRequest":{ - "type":"structure", - "required":[ - "SAMLMetadataDocument", - "Name" - ], - "members":{ - "SAMLMetadataDocument":{ - "shape":"SAMLMetadataDocumentType", - "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based Federation in the IAM User Guide

" - }, - "Name":{ - "shape":"SAMLProviderNameType", - "documentation":"

The name of the provider 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: _+=,.@-

" - } - } - }, - "CreateSAMLProviderResponse":{ - "type":"structure", - "members":{ - "SAMLProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the new SAML provider resource in IAM.

" - } - }, - "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":[ - "UserName", - "ServiceName" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.

This parameter allows (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: _+=,.@-

" - }, - "ServiceName":{ - "shape":"serviceName", - "documentation":"

The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.

" - } - } - }, - "CreateServiceSpecificCredentialResponse":{ - "type":"structure", - "members":{ - "ServiceSpecificCredential":{ - "shape":"ServiceSpecificCredential", - "documentation":"

A structure that contains information about the newly created service-specific credential.

This is the only time that the password for this credential set is available. It cannot be recovered later. Instead, you will have to reset the password with ResetServiceSpecificCredential.

" - } - } - }, - "CreateUserRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user to create.

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: _+=,.@-. User names are not distinguished by case. For example, you cannot create users named both \"TESTUSER\" and \"testuser\".

" - }, - "PermissionsBoundary":{ - "shape":"arnType", - "documentation":"

The ARN of the policy that is used to set the permissions boundary for the user.

" - } - } - }, - "CreateUserResponse":{ - "type":"structure", - "members":{ - "User":{ - "shape":"User", - "documentation":"

A structure with details about the new IAM user.

" - } - }, - "documentation":"

Contains the response to a successful CreateUser request.

" - }, - "CreateVirtualMFADeviceRequest":{ - "type":"structure", - "required":["VirtualMFADeviceName"], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "VirtualMFADeviceName":{ - "shape":"virtualMFADeviceName", - "documentation":"

The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

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: _+=,.@-

" - } - } - }, - "CreateVirtualMFADeviceResponse":{ - "type":"structure", - "required":["VirtualMFADevice"], - "members":{ - "VirtualMFADevice":{ - "shape":"VirtualMFADevice", - "documentation":"

A structure containing details about the new virtual MFA device.

" - } - }, - "documentation":"

Contains the response to a successful CreateVirtualMFADevice request.

" - }, - "CredentialReportExpiredException":{ - "type":"structure", - "members":{ - "message":{"shape":"credentialReportExpiredExceptionMessage"} - }, - "documentation":"

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the IAM User Guide.

", - "error":{ - "code":"ReportExpired", - "httpStatusCode":410, - "senderFault":true - }, - "exception":true - }, - "CredentialReportNotPresentException":{ - "type":"structure", - "members":{ - "message":{"shape":"credentialReportNotPresentExceptionMessage"} - }, - "documentation":"

The request was rejected because the credential report does not exist. To generate a credential report, use GenerateCredentialReport.

", - "error":{ - "code":"ReportNotPresent", - "httpStatusCode":410, - "senderFault":true - }, - "exception":true - }, - "CredentialReportNotReadyException":{ - "type":"structure", - "members":{ - "message":{"shape":"credentialReportNotReadyExceptionMessage"} - }, - "documentation":"

The request was rejected because the credential report is still being generated.

", - "error":{ - "code":"ReportInProgress", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DeactivateMFADeviceRequest":{ - "type":"structure", - "required":[ - "UserName", - "SerialNumber" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to deactivate.

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: _+=,.@-

" - }, - "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: =,.@:/-

" - } - } - }, - "DeleteAccessKeyRequest":{ - "type":"structure", - "required":["AccessKeyId"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user whose access key pair you want 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: _+=,.@-

" - }, - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The access key ID for the access key ID and secret access key you want to delete.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - } - } - }, - "DeleteAccountAliasRequest":{ - "type":"structure", - "required":["AccountAlias"], - "members":{ - "AccountAlias":{ - "shape":"accountAliasType", - "documentation":"

The name of the account alias to delete.

This parameter allows (per its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" - } - } - }, - "DeleteConflictException":{ - "type":"structure", - "members":{ - "message":{"shape":"deleteConflictMessage"} - }, - "documentation":"

The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.

", - "error":{ - "code":"DeleteConflict", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "DeleteGroupPolicyRequest":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyName" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) identifying the group 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", - "documentation":"

The name identifying the policy document 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: _+=,.@-

" - } - } - }, - "DeleteGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the IAM group 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: _+=,.@-

" - } - } - }, - "DeleteInstanceProfileRequest":{ - "type":"structure", - "required":["InstanceProfileName"], - "members":{ - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile 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: _+=,.@-

" - } - } - }, - "DeleteLoginProfileRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user whose password you want 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: _+=,.@-

" - } - } - }, - "DeleteOpenIDConnectProviderRequest":{ - "type":"structure", - "required":["OpenIDConnectProviderArn"], - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders operation.

" - } - } - }, - "DeletePolicyRequest":{ - "type":"structure", - "required":["PolicyArn"], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to delete.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "DeletePolicyVersionRequest":{ - "type":"structure", - "required":[ - "PolicyArn", - "VersionId" - ], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "VersionId":{ - "shape":"policyVersionIdType", - "documentation":"

The policy version to delete.

This parameter allows (per its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - } - } - }, - "DeleteRolePermissionsBoundaryRequest":{ - "type":"structure", - "required":["RoleName"], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM role from which you want to remove the permissions boundary.

" - } - } - }, - "DeleteRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyName" - ], - "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: _+=,.@-

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the inline policy to delete from the specified IAM role.

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: _+=,.@-

" - } - } - }, - "DeleteRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "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: _+=,.@-

" - } - } - }, - "DeleteSAMLProviderRequest":{ - "type":"structure", - "required":["SAMLProviderArn"], - "members":{ - "SAMLProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to delete.

" - } - } - }, - "DeleteSSHPublicKeyRequest":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyId" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

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: _+=,.@-

" - }, - "SSHPublicKeyId":{ - "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - } - } - }, - "DeleteServerCertificateRequest":{ - "type":"structure", - "required":["ServerCertificateName"], - "members":{ - "ServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want 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: _+=,.@-

" - } - } - }, - "DeleteServiceLinkedRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name of the service-linked role to be deleted.

" - } - } - }, - "DeleteServiceLinkedRoleResponse":{ - "type":"structure", - "required":["DeletionTaskId"], - "members":{ - "DeletionTaskId":{ - "shape":"DeletionTaskIdType", - "documentation":"

The deletion task identifier that you can use to check the status of the deletion. This identifier is returned in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

" - } - } - }, - "DeleteServiceSpecificCredentialRequest":{ - "type":"structure", - "required":["ServiceSpecificCredentialId"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (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: _+=,.@-

" - }, - "ServiceSpecificCredentialId":{ - "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential. You can get this value by calling ListServiceSpecificCredentials.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - } - } - }, - "DeleteSigningCertificateRequest":{ - "type":"structure", - "required":["CertificateId"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate belongs 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: _+=,.@-

" - }, - "CertificateId":{ - "shape":"certificateIdType", - "documentation":"

The ID of the signing certificate to delete.

The format of this parameter, as described by its regex pattern, is a string of characters that can be upper- or lower-cased letters or digits.

" - } - } - }, - "DeleteUserPermissionsBoundaryRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user from which you want to remove the permissions boundary.

" - } - } - }, - "DeleteUserPolicyRequest":{ - "type":"structure", - "required":[ - "UserName", - "PolicyName" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name (friendly name, not ARN) identifying the user 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", - "documentation":"

The name identifying the policy document 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: _+=,.@-

" - } - } - }, - "DeleteUserRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user 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: _+=,.@-

" - } - } - }, - "DeleteVirtualMFADeviceRequest":{ - "type":"structure", - "required":["SerialNumber"], - "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: =,.@:/-

" - } - } - }, - "DeletionTaskFailureReasonType":{ - "type":"structure", - "members":{ - "Reason":{ - "shape":"ReasonType", - "documentation":"

A short description of the reason that the service-linked role deletion failed.

" - }, - "RoleUsageList":{ - "shape":"RoleUsageListType", - "documentation":"

A list of objects that contains details about the service-linked role deletion failure, if that information is returned by the service. If the service-linked role has active sessions or if any resources that were used by the role have not been deleted from the linked service, the role can't be deleted. This parameter includes a list of the resources that are associated with the role and the region in which the resources are being used.

" - } - }, - "documentation":"

The reason that the service-linked role deletion failed.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

" - }, - "DeletionTaskIdType":{ - "type":"string", - "max":1000, - "min":1 - }, - "DeletionTaskStatusType":{ - "type":"string", - "enum":[ - "SUCCEEDED", - "IN_PROGRESS", - "FAILED", - "NOT_STARTED" - ] - }, - "DetachGroupPolicyRequest":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyArn" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM group 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", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "DetachRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyArn" - ], - "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: _+=,.@-

" - }, - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "DetachUserPolicyRequest":{ - "type":"structure", - "required":[ - "UserName", - "PolicyArn" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user 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", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "DuplicateCertificateException":{ - "type":"structure", - "members":{ - "message":{"shape":"duplicateCertificateMessage"} - }, - "documentation":"

The request was rejected because the same certificate is associated with an IAM user in the account.

", - "error":{ - "code":"DuplicateCertificate", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "DuplicateSSHPublicKeyException":{ - "type":"structure", - "members":{ - "message":{"shape":"duplicateSSHPublicKeyMessage"} - }, - "documentation":"

The request was rejected because the SSH public key is already associated with the specified IAM user.

", - "error":{ - "code":"DuplicateSSHPublicKey", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EnableMFADeviceRequest":{ - "type":"structure", - "required":[ - "UserName", - "SerialNumber", - "AuthenticationCode1", - "AuthenticationCode2" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the IAM user for whom you want to enable the MFA device.

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: _+=,.@-

" - }, - "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: =,.@:/-

" - }, - "AuthenticationCode1":{ - "shape":"authenticationCodeType", - "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" - }, - "AuthenticationCode2":{ - "shape":"authenticationCodeType", - "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" - } - } - }, - "EntityAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"entityAlreadyExistsMessage"} - }, - "documentation":"

The request was rejected because it attempted to create a resource that already exists.

", - "error":{ - "code":"EntityAlreadyExists", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "EntityTemporarilyUnmodifiableException":{ - "type":"structure", - "members":{ - "message":{"shape":"entityTemporarilyUnmodifiableMessage"} - }, - "documentation":"

The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.

", - "error":{ - "code":"EntityTemporarilyUnmodifiable", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "EntityType":{ - "type":"string", - "enum":[ - "User", - "Role", - "Group", - "LocalManagedPolicy", - "AWSManagedPolicy" - ] - }, - "EvalDecisionDetailsType":{ - "type":"map", - "key":{"shape":"EvalDecisionSourceType"}, - "value":{"shape":"PolicyEvaluationDecisionType"} - }, - "EvalDecisionSourceType":{ - "type":"string", - "max":256, - "min":3 - }, - "EvaluationResult":{ - "type":"structure", - "required":[ - "EvalActionName", - "EvalDecision" - ], - "members":{ - "EvalActionName":{ - "shape":"ActionNameType", - "documentation":"

The name of the API operation tested on the indicated resource.

" - }, - "EvalResourceName":{ - "shape":"ResourceNameType", - "documentation":"

The ARN of the resource that the indicated API operation was tested on.

" - }, - "EvalDecision":{ - "shape":"PolicyEvaluationDecisionType", - "documentation":"

The result of the simulation.

" - }, - "MatchedStatements":{ - "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" - }, - "MissingContextValues":{ - "shape":"ContextKeyNamesResultListType", - "documentation":"

A list of context keys that are required by the included input policies but that were not provided by one of the input parameters. This list is used when the resource in a simulation is \"*\", either explicitly, or when the ResourceArns parameter blank. If you include a list of resources, then any missing context values are instead included under the ResourceSpecificResults section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.

" - }, - "OrganizationsDecisionDetail":{ - "shape":"OrganizationsDecisionDetail", - "documentation":"

A structure that details how 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

" - }, - "ResourceSpecificResults":{ - "shape":"ResourceSpecificResultListType", - "documentation":"

The individual results of the simulation of the API operation specified in EvalActionName on each resource.

" - } - }, - "documentation":"

Contains the results of a simulation.

This data type is used by the return parameter of SimulateCustomPolicy and SimulatePrincipalPolicy .

" - }, - "EvaluationResultsListType":{ - "type":"list", - "member":{"shape":"EvaluationResult"} - }, - "GenerateCredentialReportResponse":{ - "type":"structure", - "members":{ - "State":{ - "shape":"ReportStateType", - "documentation":"

Information about the state of the credential report.

" - }, - "Description":{ - "shape":"ReportStateDescriptionType", - "documentation":"

Information about the credential report.

" - } - }, - "documentation":"

Contains the response to a successful GenerateCredentialReport request.

" - }, - "GetAccessKeyLastUsedRequest":{ - "type":"structure", - "required":["AccessKeyId"], - "members":{ - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The identifier of an access key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - } - } - }, - "GetAccessKeyLastUsedResponse":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the AWS IAM user that owns this access key.

" - }, - "AccessKeyLastUsed":{ - "shape":"AccessKeyLastUsed", - "documentation":"

Contains information about the last time the access key was used.

" - } - }, - "documentation":"

Contains the response to a successful GetAccessKeyLastUsed request. It is also returned as a member of the AccessKeyMetaData structure returned by the ListAccessKeys action.

" - }, - "GetAccountAuthorizationDetailsRequest":{ - "type":"structure", - "members":{ - "Filter":{ - "shape":"entityListType", - "documentation":"

A list of entity types used to filter the results. Only the entities that match the types you specify are included in the output. Use the value LocalManagedPolicy to include customer managed policies.

The format for this parameter is a comma-separated (if more than one) list of strings. Each string value in the list must be one of the valid values listed below.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - } - } - }, - "GetAccountAuthorizationDetailsResponse":{ - "type":"structure", - "members":{ - "UserDetailList":{ - "shape":"userDetailListType", - "documentation":"

A list containing information about IAM users.

" - }, - "GroupDetailList":{ - "shape":"groupDetailListType", - "documentation":"

A list containing information about IAM groups.

" - }, - "RoleDetailList":{ - "shape":"roleDetailListType", - "documentation":"

A list containing information about IAM roles.

" - }, - "Policies":{ - "shape":"ManagedPolicyDetailListType", - "documentation":"

A list containing information about managed policies.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful GetAccountAuthorizationDetails request.

" - }, - "GetAccountPasswordPolicyResponse":{ - "type":"structure", - "required":["PasswordPolicy"], - "members":{ - "PasswordPolicy":{ - "shape":"PasswordPolicy", - "documentation":"

A structure that contains details about the account's password policy.

" - } - }, - "documentation":"

Contains the response to a successful GetAccountPasswordPolicy request.

" - }, - "GetAccountSummaryResponse":{ - "type":"structure", - "members":{ - "SummaryMap":{ - "shape":"summaryMapType", - "documentation":"

A set of key value pairs containing information about IAM entity usage and IAM quotas.

" - } - }, - "documentation":"

Contains the response to a successful GetAccountSummary request.

" - }, - "GetContextKeysForCustomPolicyRequest":{ - "type":"structure", - "required":["PolicyInputList"], - "members":{ - "PolicyInputList":{ - "shape":"SimulationPolicyListType", - "documentation":"

A list of policies for which you want the list of context keys referenced in those policies. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "GetContextKeysForPolicyResponse":{ - "type":"structure", - "members":{ - "ContextKeyNames":{ - "shape":"ContextKeyNamesResultListType", - "documentation":"

The list of context keys that are referenced in the input policies.

" - } - }, - "documentation":"

Contains the response to a successful GetContextKeysForPrincipalPolicy or GetContextKeysForCustomPolicy request.

" - }, - "GetContextKeysForPrincipalPolicyRequest":{ - "type":"structure", - "required":["PolicySourceArn"], - "members":{ - "PolicySourceArn":{ - "shape":"arnType", - "documentation":"

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "PolicyInputList":{ - "shape":"SimulationPolicyListType", - "documentation":"

An optional list of additional policies for which you want the list of context keys that are referenced.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "GetCredentialReportResponse":{ - "type":"structure", - "members":{ - "Content":{ - "shape":"ReportContentType", - "documentation":"

Contains the credential report. The report is Base64-encoded.

" - }, - "ReportFormat":{ - "shape":"ReportFormatType", - "documentation":"

The format (MIME type) of the credential report.

" - }, - "GeneratedTime":{ - "shape":"dateType", - "documentation":"

The date and time when the credential report was created, in ISO 8601 date-time format.

" - } - }, - "documentation":"

Contains the response to a successful GetCredentialReport request.

" - }, - "GetGroupPolicyRequest":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyName" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group the policy is associated 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", - "documentation":"

The name of the policy document to get.

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: _+=,.@-

" - } - } - }, - "GetGroupPolicyResponse":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyName", - "PolicyDocument" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The group the policy is associated with.

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy document.

" - } - }, - "documentation":"

Contains the response to a successful GetGroupPolicy request.

" - }, - "GetGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group.

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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "GetGroupResponse":{ - "type":"structure", - "required":[ - "Group", - "Users" - ], - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

A structure that contains details about the group.

" - }, - "Users":{ - "shape":"userListType", - "documentation":"

A list of users in the group.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful GetGroup request.

" - }, - "GetInstanceProfileRequest":{ - "type":"structure", - "required":["InstanceProfileName"], - "members":{ - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile 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: _+=,.@-

" - } - } - }, - "GetInstanceProfileResponse":{ - "type":"structure", - "required":["InstanceProfile"], - "members":{ - "InstanceProfile":{ - "shape":"InstanceProfile", - "documentation":"

A structure containing details about the instance profile.

" - } - }, - "documentation":"

Contains the response to a successful GetInstanceProfile request.

" - }, - "GetLoginProfileRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user whose login profile you want to retrieve.

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: _+=,.@-

" - } - } - }, - "GetLoginProfileResponse":{ - "type":"structure", - "required":["LoginProfile"], - "members":{ - "LoginProfile":{ - "shape":"LoginProfile", - "documentation":"

A structure containing the user name and password create date for the user.

" - } - }, - "documentation":"

Contains the response to a successful GetLoginProfile request.

" - }, - "GetOpenIDConnectProviderRequest":{ - "type":"structure", - "required":["OpenIDConnectProviderArn"], - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "GetOpenIDConnectProviderResponse":{ - "type":"structure", - "members":{ - "Url":{ - "shape":"OpenIDConnectProviderUrlType", - "documentation":"

The URL that the IAM OIDC provider resource object is associated with. For more information, see CreateOpenIDConnectProvider.

" - }, - "ClientIDList":{ - "shape":"clientIDListType", - "documentation":"

A list of client IDs (also known as audiences) that are associated with the specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.

" - }, - "ThumbprintList":{ - "shape":"thumbprintListType", - "documentation":"

A list of certificate thumbprints that are associated with the specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time when the IAM OIDC provider resource object was created in the AWS account.

" - } - }, - "documentation":"

Contains the response to a successful GetOpenIDConnectProvider request.

" - }, - "GetPolicyRequest":{ - "type":"structure", - "required":["PolicyArn"], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "GetPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

A structure containing details about the policy.

" - } - }, - "documentation":"

Contains the response to a successful GetPolicy request.

" - }, - "GetPolicyVersionRequest":{ - "type":"structure", - "required":[ - "PolicyArn", - "VersionId" - ], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "VersionId":{ - "shape":"policyVersionIdType", - "documentation":"

Identifies the policy version to retrieve.

This parameter allows (per its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

" - } - } - }, - "GetPolicyVersionResponse":{ - "type":"structure", - "members":{ - "PolicyVersion":{ - "shape":"PolicyVersion", - "documentation":"

A structure containing details about the policy version.

" - } - }, - "documentation":"

Contains the response to a successful GetPolicyVersion request.

" - }, - "GetRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyName" - ], - "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: _+=,.@-

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

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: _+=,.@-

" - } - } - }, - "GetRolePolicyResponse":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyName", - "PolicyDocument" - ], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The role the policy is associated with.

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy document.

" - } - }, - "documentation":"

Contains the response to a successful GetRolePolicy request.

" - }, - "GetRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "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: _+=,.@-

" - } - } - }, - "GetRoleResponse":{ - "type":"structure", - "required":["Role"], - "members":{ - "Role":{ - "shape":"Role", - "documentation":"

A structure containing details about the IAM role.

" - } - }, - "documentation":"

Contains the response to a successful GetRole request.

" - }, - "GetSAMLProviderRequest":{ - "type":"structure", - "required":["SAMLProviderArn"], - "members":{ - "SAMLProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "GetSAMLProviderResponse":{ - "type":"structure", - "members":{ - "SAMLMetadataDocument":{ - "shape":"SAMLMetadataDocumentType", - "documentation":"

The XML metadata document that includes information about an identity provider.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time when the SAML provider was created.

" - }, - "ValidUntil":{ - "shape":"dateType", - "documentation":"

The expiration date and time for the SAML provider.

" - } - }, - "documentation":"

Contains the response to a successful GetSAMLProvider request.

" - }, - "GetSSHPublicKeyRequest":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyId", - "Encoding" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

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: _+=,.@-

" - }, - "SSHPublicKeyId":{ - "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - }, - "Encoding":{ - "shape":"encodingType", - "documentation":"

Specifies the public key encoding format to use in the response. To retrieve the public key in ssh-rsa format, use SSH. To retrieve the public key in PEM format, use PEM.

" - } - } - }, - "GetSSHPublicKeyResponse":{ - "type":"structure", - "members":{ - "SSHPublicKey":{ - "shape":"SSHPublicKey", - "documentation":"

A structure containing details about the SSH public key.

" - } - }, - "documentation":"

Contains the response to a successful GetSSHPublicKey request.

" - }, - "GetServerCertificateRequest":{ - "type":"structure", - "required":["ServerCertificateName"], - "members":{ - "ServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want to retrieve 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: _+=,.@-

" - } - } - }, - "GetServerCertificateResponse":{ - "type":"structure", - "required":["ServerCertificate"], - "members":{ - "ServerCertificate":{ - "shape":"ServerCertificate", - "documentation":"

A structure containing details about the server certificate.

" - } - }, - "documentation":"

Contains the response to a successful GetServerCertificate request.

" - }, - "GetServiceLinkedRoleDeletionStatusRequest":{ - "type":"structure", - "required":["DeletionTaskId"], - "members":{ - "DeletionTaskId":{ - "shape":"DeletionTaskIdType", - "documentation":"

The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole operation in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

" - } - } - }, - "GetServiceLinkedRoleDeletionStatusResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"DeletionTaskStatusType", - "documentation":"

The status of the deletion.

" - }, - "Reason":{ - "shape":"DeletionTaskFailureReasonType", - "documentation":"

An object that contains details about the reason the deletion failed.

" - } - } - }, - "GetUserPolicyRequest":{ - "type":"structure", - "required":[ - "UserName", - "PolicyName" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user who the policy is associated 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", - "documentation":"

The name of the policy document to get.

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: _+=,.@-

" - } - } - }, - "GetUserPolicyResponse":{ - "type":"structure", - "required":[ - "UserName", - "PolicyName", - "PolicyDocument" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The user the policy is associated with.

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy document.

" - } - }, - "documentation":"

Contains the response to a successful GetUserPolicy request.

" - }, - "GetUserRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user to get information about.

This parameter is optional. If it is not included, it defaults to the user making the request. 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: _+=,.@-

" - } - } - }, - "GetUserResponse":{ - "type":"structure", - "required":["User"], - "members":{ - "User":{ - "shape":"User", - "documentation":"

A structure containing details about the IAM user.

Due to a service issue, password last used data does not include password use from May 3rd 2018 22:50 PDT to May 23rd 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used dates in the IAM credential report, and returned by this GetUser API. If users signed in during the affected time, the password last used date that is returned is the date the user last signed in before May 3rd 2018. For users that signed in after May 23rd 2018 14:08 PDT, the returned password last used date is accurate.

If you use password last used information to identify unused credentials for deletion, such as deleting users who did not sign in to AWS in the last 90 days, we recommend that you adjust your evaluation window to include dates after May 23rd 2018. Alternatively, if your users use access keys to access AWS programmatically you can refer to access key last used information because it is accurate for all dates.

" - } - }, - "documentation":"

Contains the response to a successful GetUser request.

" - }, - "Group":{ - "type":"structure", - "required":[ - "Path", - "GroupName", - "GroupId", - "Arn", - "CreateDate" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The friendly name that identifies the group.

" - }, - "GroupId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the group was created.

" - } - }, - "documentation":"

Contains information about an IAM group entity.

This data type is used as a response element in the following operations:

" - }, - "GroupDetail":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The friendly name that identifies the group.

" - }, - "GroupId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{"shape":"arnType"}, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the group was created.

" - }, - "GroupPolicyList":{ - "shape":"policyDetailListType", - "documentation":"

A list of the inline policies embedded in the group.

" - }, - "AttachedManagedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of the managed policies attached to the group.

" - } - }, - "documentation":"

Contains information about an IAM group, including all of the group's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" - }, - "InstanceProfile":{ - "type":"structure", - "required":[ - "Path", - "InstanceProfileName", - "InstanceProfileId", - "Arn", - "CreateDate", - "Roles" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name identifying the instance profile.

" - }, - "InstanceProfileId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date when the instance profile was created.

" - }, - "Roles":{ - "shape":"roleListType", - "documentation":"

The role associated with the instance profile.

" - } - }, - "documentation":"

Contains information about an instance profile.

This data type is used as a response element in the following operations:

" - }, - "InvalidAuthenticationCodeException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidAuthenticationCodeMessage"} - }, - "documentation":"

The request was rejected because the authentication code was not recognized. The error message describes the specific error.

", - "error":{ - "code":"InvalidAuthenticationCode", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "InvalidCertificateException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidCertificateMessage"} - }, - "documentation":"

The request was rejected because the certificate is invalid.

", - "error":{ - "code":"InvalidCertificate", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidInputMessage"} - }, - "documentation":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", - "error":{ - "code":"InvalidInput", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidPublicKeyException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidPublicKeyMessage"} - }, - "documentation":"

The request was rejected because the public key is malformed or otherwise invalid.

", - "error":{ - "code":"InvalidPublicKey", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidUserTypeException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidUserTypeMessage"} - }, - "documentation":"

The request was rejected because the type of user for the transaction was incorrect.

", - "error":{ - "code":"InvalidUserType", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyPairMismatchException":{ - "type":"structure", - "members":{ - "message":{"shape":"keyPairMismatchMessage"} - }, - "documentation":"

The request was rejected because the public key certificate and the private key do not match.

", - "error":{ - "code":"KeyPairMismatch", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"limitExceededMessage"} - }, - "documentation":"

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.

", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true - }, - "LineNumber":{"type":"integer"}, - "ListAccessKeysRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user.

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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListAccessKeysResponse":{ - "type":"structure", - "required":["AccessKeyMetadata"], - "members":{ - "AccessKeyMetadata":{ - "shape":"accessKeyMetadataListType", - "documentation":"

A list of objects containing metadata about the access keys.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListAccessKeys request.

" - }, - "ListAccountAliasesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListAccountAliasesResponse":{ - "type":"structure", - "required":["AccountAliases"], - "members":{ - "AccountAliases":{ - "shape":"accountAliasListType", - "documentation":"

A list of aliases associated with the account. AWS supports only one alias per account.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListAccountAliases request.

" - }, - "ListAttachedGroupPoliciesRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group 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", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListAttachedGroupPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of the attached policies.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListAttachedGroupPolicies request.

" - }, - "ListAttachedRolePoliciesRequest":{ - "type":"structure", - "required":["RoleName"], - "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: _+=,.@-

" - }, - "PathPrefix":{ - "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListAttachedRolePoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of the attached policies.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListAttachedRolePolicies request.

" - }, - "ListAttachedUserPoliciesRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the user 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", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListAttachedUserPoliciesResponse":{ - "type":"structure", - "members":{ - "AttachedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of the attached policies.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListAttachedUserPolicies request.

" - }, - "ListEntitiesForPolicyRequest":{ - "type":"structure", - "required":["PolicyArn"], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "EntityFilter":{ - "shape":"EntityType", - "documentation":"

The entity type to use for filtering the results.

For example, when EntityFilter is Role, only the roles that are attached to the specified policy are returned. This parameter is optional. If it is not included, all attached entities (users, groups, and roles) are returned. The argument for this parameter must be one of the valid values listed below.

" - }, - "PathPrefix":{ - "shape":"pathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "PolicyUsageFilter":{ - "shape":"PolicyUsageType", - "documentation":"

The policy usage method to use for filtering the results.

To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary.

This parameter is optional. If it is not included, all policies are returned.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListEntitiesForPolicyResponse":{ - "type":"structure", - "members":{ - "PolicyGroups":{ - "shape":"PolicyGroupListType", - "documentation":"

A list of IAM groups that the policy is attached to.

" - }, - "PolicyUsers":{ - "shape":"PolicyUserListType", - "documentation":"

A list of IAM users that the policy is attached to.

" - }, - "PolicyRoles":{ - "shape":"PolicyRoleListType", - "documentation":"

A list of IAM roles that the policy is attached to.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListEntitiesForPolicy request.

" - }, - "ListGroupPoliciesRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group 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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListGroupPoliciesResponse":{ - "type":"structure", - "required":["PolicyNames"], - "members":{ - "PolicyNames":{ - "shape":"policyNameListType", - "documentation":"

A list of policy names.

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: _+=,.@-

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListGroupPolicies request.

" - }, - "ListGroupsForUserRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user to list groups 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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListGroupsForUserResponse":{ - "type":"structure", - "required":["Groups"], - "members":{ - "Groups":{ - "shape":"groupListType", - "documentation":"

A list of groups.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListGroupsForUser request.

" - }, - "ListGroupsRequest":{ - "type":"structure", - "members":{ - "PathPrefix":{ - "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListGroupsResponse":{ - "type":"structure", - "required":["Groups"], - "members":{ - "Groups":{ - "shape":"groupListType", - "documentation":"

A list of groups.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListGroups request.

" - }, - "ListInstanceProfilesForRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "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: _+=,.@-

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListInstanceProfilesForRoleResponse":{ - "type":"structure", - "required":["InstanceProfiles"], - "members":{ - "InstanceProfiles":{ - "shape":"instanceProfileListType", - "documentation":"

A list of instance profiles.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListInstanceProfilesForRole request.

" - }, - "ListInstanceProfilesRequest":{ - "type":"structure", - "members":{ - "PathPrefix":{ - "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListInstanceProfilesResponse":{ - "type":"structure", - "required":["InstanceProfiles"], - "members":{ - "InstanceProfiles":{ - "shape":"instanceProfileListType", - "documentation":"

A list of instance profiles.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListInstanceProfiles request.

" - }, - "ListMFADevicesRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA devices you want to list.

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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListMFADevicesResponse":{ - "type":"structure", - "required":["MFADevices"], - "members":{ - "MFADevices":{ - "shape":"mfaDeviceListType", - "documentation":"

A list of MFA devices.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListMFADevices request.

" - }, - "ListOpenIDConnectProvidersRequest":{ - "type":"structure", - "members":{ - } - }, - "ListOpenIDConnectProvidersResponse":{ - "type":"structure", - "members":{ - "OpenIDConnectProviderList":{ - "shape":"OpenIDConnectProviderListType", - "documentation":"

The list of IAM OIDC provider resource objects defined in the AWS account.

" - } - }, - "documentation":"

Contains the response to a successful ListOpenIDConnectProviders request.

" - }, - "ListPoliciesRequest":{ - "type":"structure", - "members":{ - "Scope":{ - "shape":"policyScopeType", - "documentation":"

The scope to use for filtering the results.

To list only AWS managed policies, set Scope to AWS. To list only the customer managed policies in your AWS account, set Scope to Local.

This parameter is optional. If it is not included, or if it is set to All, all policies are returned.

" - }, - "OnlyAttached":{ - "shape":"booleanType", - "documentation":"

A flag to filter the results to only the attached policies.

When OnlyAttached is true, the returned list contains only the policies that are attached to an IAM user, group, or role. When OnlyAttached is false, or when the parameter is not included, all policies are returned.

" - }, - "PathPrefix":{ - "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "PolicyUsageFilter":{ - "shape":"PolicyUsageType", - "documentation":"

The policy usage method to use for filtering the results.

To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary.

This parameter is optional. If it is not included, all policies are returned.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListPoliciesResponse":{ - "type":"structure", - "members":{ - "Policies":{ - "shape":"policyListType", - "documentation":"

A list of policies.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListPolicies request.

" - }, - "ListPolicyVersionsRequest":{ - "type":"structure", - "required":["PolicyArn"], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListPolicyVersionsResponse":{ - "type":"structure", - "members":{ - "Versions":{ - "shape":"policyDocumentVersionListType", - "documentation":"

A list of policy versions.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListPolicyVersions request.

" - }, - "ListRolePoliciesRequest":{ - "type":"structure", - "required":["RoleName"], - "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: _+=,.@-

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListRolePoliciesResponse":{ - "type":"structure", - "required":["PolicyNames"], - "members":{ - "PolicyNames":{ - "shape":"policyNameListType", - "documentation":"

A list of policy names.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListRolePolicies request.

" - }, - "ListRolesRequest":{ - "type":"structure", - "members":{ - "PathPrefix":{ - "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListRolesResponse":{ - "type":"structure", - "required":["Roles"], - "members":{ - "Roles":{ - "shape":"roleListType", - "documentation":"

A list of roles.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListRoles request.

" - }, - "ListSAMLProvidersRequest":{ - "type":"structure", - "members":{ - } - }, - "ListSAMLProvidersResponse":{ - "type":"structure", - "members":{ - "SAMLProviderList":{ - "shape":"SAMLProviderListType", - "documentation":"

The list of SAML provider resource objects defined in IAM for this AWS account.

" - } - }, - "documentation":"

Contains the response to a successful ListSAMLProviders request.

" - }, - "ListSSHPublicKeysRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListSSHPublicKeysResponse":{ - "type":"structure", - "members":{ - "SSHPublicKeys":{ - "shape":"SSHPublicKeyListType", - "documentation":"

A list of the SSH public keys assigned to IAM user.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListSSHPublicKeys request.

" - }, - "ListServerCertificatesRequest":{ - "type":"structure", - "members":{ - "PathPrefix":{ - "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListServerCertificatesResponse":{ - "type":"structure", - "required":["ServerCertificateMetadataList"], - "members":{ - "ServerCertificateMetadataList":{ - "shape":"serverCertificateMetadataListType", - "documentation":"

A list of server certificates.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListServerCertificates request.

" - }, - "ListServiceSpecificCredentialsRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user whose service-specific credentials you want information about. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (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: _+=,.@-

" - }, - "ServiceName":{ - "shape":"serviceName", - "documentation":"

Filters the returned results to only those for the specified AWS service. If not specified, then AWS returns service-specific credentials for all services.

" - } - } - }, - "ListServiceSpecificCredentialsResponse":{ - "type":"structure", - "members":{ - "ServiceSpecificCredentials":{ - "shape":"ServiceSpecificCredentialsListType", - "documentation":"

A list of structures that each contain details about a service-specific credential.

" - } - } - }, - "ListSigningCertificatesRequest":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the IAM user whose signing certificates you want to examine.

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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListSigningCertificatesResponse":{ - "type":"structure", - "required":["Certificates"], - "members":{ - "Certificates":{ - "shape":"certificateListType", - "documentation":"

A list of the user's signing certificate information.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListSigningCertificates request.

" - }, - "ListUserPoliciesRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user 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", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListUserPoliciesResponse":{ - "type":"structure", - "required":["PolicyNames"], - "members":{ - "PolicyNames":{ - "shape":"policyNameListType", - "documentation":"

A list of policy names.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListUserPolicies request.

" - }, - "ListUsersRequest":{ - "type":"structure", - "members":{ - "PathPrefix":{ - "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListUsersResponse":{ - "type":"structure", - "required":["Users"], - "members":{ - "Users":{ - "shape":"userListType", - "documentation":"

A list of users.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListUsers request.

" - }, - "ListVirtualMFADevicesRequest":{ - "type":"structure", - "members":{ - "AssignmentStatus":{ - "shape":"assignmentStatusType", - "documentation":"

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any which lists both assigned and unassigned virtual MFA devices.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - } - } - }, - "ListVirtualMFADevicesResponse":{ - "type":"structure", - "required":["VirtualMFADevices"], - "members":{ - "VirtualMFADevices":{ - "shape":"virtualMFADeviceListType", - "documentation":"

The list of virtual MFA devices in the current account that match the AssignmentStatus value that was passed in the request.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful ListVirtualMFADevices request.

" - }, - "LoginProfile":{ - "type":"structure", - "required":[ - "UserName", - "CreateDate" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user, which can be used for signing in to the AWS Management Console.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date when the password for the user was created.

" - }, - "PasswordResetRequired":{ - "shape":"booleanType", - "documentation":"

Specifies whether the user is required to set a new password on next sign-in.

" - } - }, - "documentation":"

Contains the user name and password create date for a user.

This data type is used as a response element in the CreateLoginProfile and GetLoginProfile operations.

" - }, - "MFADevice":{ - "type":"structure", - "required":[ - "UserName", - "SerialNumber", - "EnableDate" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The user with whom the MFA device is associated.

" - }, - "SerialNumber":{ - "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

" - }, - "EnableDate":{ - "shape":"dateType", - "documentation":"

The date when the MFA device was enabled for the user.

" - } - }, - "documentation":"

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices operation.

" - }, - "MalformedCertificateException":{ - "type":"structure", - "members":{ - "message":{"shape":"malformedCertificateMessage"} - }, - "documentation":"

The request was rejected because the certificate was malformed or expired. The error message describes the specific error.

", - "error":{ - "code":"MalformedCertificate", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "MalformedPolicyDocumentException":{ - "type":"structure", - "members":{ - "message":{"shape":"malformedPolicyDocumentMessage"} - }, - "documentation":"

The request was rejected because the policy document was malformed. The error message describes the specific error.

", - "error":{ - "code":"MalformedPolicyDocument", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ManagedPolicyDetail":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The friendly name (not ARN) identifying the policy.

" - }, - "PolicyId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{"shape":"arnType"}, - "Path":{ - "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "DefaultVersionId":{ - "shape":"policyVersionIdType", - "documentation":"

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

" - }, - "AttachmentCount":{ - "shape":"attachmentCountType", - "documentation":"

The number of principal entities (users, groups, and roles) that the policy is attached to.

" - }, - "PermissionsBoundaryUsageCount":{ - "shape":"attachmentCountType", - "documentation":"

The number of entities (users and roles) for which the policy is used as the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - }, - "IsAttachable":{ - "shape":"booleanType", - "documentation":"

Specifies whether the policy can be attached to an IAM user, group, or role.

" - }, - "Description":{ - "shape":"policyDescriptionType", - "documentation":"

A friendly description of the policy.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was created.

" - }, - "UpdateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

" - }, - "PolicyVersionList":{ - "shape":"policyDocumentVersionListType", - "documentation":"

A list containing information about the versions of the policy.

" - } - }, - "documentation":"

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "ManagedPolicyDetailListType":{ - "type":"list", - "member":{"shape":"ManagedPolicyDetail"} - }, - "NoSuchEntityException":{ - "type":"structure", - "members":{ - "message":{"shape":"noSuchEntityMessage"} - }, - "documentation":"

The request was rejected because it referenced an entity that does not exist. The error message describes the entity.

", - "error":{ - "code":"NoSuchEntity", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OpenIDConnectProviderListEntry":{ - "type":"structure", - "members":{ - "Arn":{"shape":"arnType"} - }, - "documentation":"

Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider.

" - }, - "OpenIDConnectProviderListType":{ - "type":"list", - "member":{"shape":"OpenIDConnectProviderListEntry"}, - "documentation":"

Contains a list of IAM OpenID Connect providers.

" - }, - "OpenIDConnectProviderUrlType":{ - "type":"string", - "documentation":"

Contains a URL that specifies the endpoint for an OpenID Connect provider.

", - "max":255, - "min":1 - }, - "OrganizationsDecisionDetail":{ - "type":"structure", - "members":{ - "AllowedByOrganizations":{ - "shape":"booleanType", - "documentation":"

Specifies whether the simulated operation is allowed by the AWS Organizations service control policies that impact the simulated user's account.

" - } - }, - "documentation":"

Contains information about AWS Organizations's effect on a policy simulation.

" - }, - "PasswordPolicy":{ - "type":"structure", - "members":{ - "MinimumPasswordLength":{ - "shape":"minimumPasswordLengthType", - "documentation":"

Minimum length to require for IAM user passwords.

" - }, - "RequireSymbols":{ - "shape":"booleanType", - "documentation":"

Specifies whether to require symbols for IAM user passwords.

" - }, - "RequireNumbers":{ - "shape":"booleanType", - "documentation":"

Specifies whether to require numbers for IAM user passwords.

" - }, - "RequireUppercaseCharacters":{ - "shape":"booleanType", - "documentation":"

Specifies whether to require uppercase characters for IAM user passwords.

" - }, - "RequireLowercaseCharacters":{ - "shape":"booleanType", - "documentation":"

Specifies whether to require lowercase characters for IAM user passwords.

" - }, - "AllowUsersToChangePassword":{ - "shape":"booleanType", - "documentation":"

Specifies whether IAM users are allowed to change their own password.

" - }, - "ExpirePasswords":{ - "shape":"booleanType", - "documentation":"

Indicates whether passwords in the account expire. Returns true if MaxPasswordAge contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.

" - }, - "MaxPasswordAge":{ - "shape":"maxPasswordAgeType", - "documentation":"

The number of days that an IAM user password is valid.

" - }, - "PasswordReusePrevention":{ - "shape":"passwordReusePreventionType", - "documentation":"

Specifies the number of previous passwords that IAM users are prevented from reusing.

" - }, - "HardExpiry":{ - "shape":"booleanObjectType", - "documentation":"

Specifies whether IAM users are prevented from setting a new password after their password has expired.

" - } - }, - "documentation":"

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy operation.

" - }, - "PasswordPolicyViolationException":{ - "type":"structure", - "members":{ - "message":{"shape":"passwordPolicyViolationMessage"} - }, - "documentation":"

The request was rejected because the provided password did not meet the requirements imposed by the account password policy.

", - "error":{ - "code":"PasswordPolicyViolation", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PermissionsBoundaryAttachmentType":{ - "type":"string", - "enum":["PermissionsBoundaryPolicy"] - }, - "Policy":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The friendly name (not ARN) identifying the policy.

" - }, - "PolicyId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{"shape":"arnType"}, - "Path":{ - "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "DefaultVersionId":{ - "shape":"policyVersionIdType", - "documentation":"

The identifier for the version of the policy that is set as the default version.

" - }, - "AttachmentCount":{ - "shape":"attachmentCountType", - "documentation":"

The number of entities (users, groups, and roles) that the policy is attached to.

" - }, - "PermissionsBoundaryUsageCount":{ - "shape":"attachmentCountType", - "documentation":"

The number of entities (users and roles) for which the policy is used to set the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - }, - "IsAttachable":{ - "shape":"booleanType", - "documentation":"

Specifies whether the policy can be attached to an IAM user, group, or role.

" - }, - "Description":{ - "shape":"policyDescriptionType", - "documentation":"

A friendly description of the policy.

This element is included in the response to the GetPolicy operation. It is not included in the response to the ListPolicies operation.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was created.

" - }, - "UpdateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

" - } - }, - "documentation":"

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "PolicyDetail":{ - "type":"structure", - "members":{ - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy.

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy document.

" - } - }, - "documentation":"

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" - }, - "PolicyEvaluationDecisionType":{ - "type":"string", - "enum":[ - "allowed", - "explicitDeny", - "implicitDeny" - ] - }, - "PolicyEvaluationException":{ - "type":"structure", - "members":{ - "message":{"shape":"policyEvaluationErrorMessage"} - }, - "documentation":"

The request failed because a provided policy could not be successfully evaluated. An additional detailed message indicates the source of the failure.

", - "error":{ - "code":"PolicyEvaluation", - "httpStatusCode":500 - }, - "exception":true - }, - "PolicyGroup":{ - "type":"structure", - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) identifying the group.

" - }, - "GroupId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "PolicyGroupListType":{ - "type":"list", - "member":{"shape":"PolicyGroup"} - }, - "PolicyIdentifierType":{"type":"string"}, - "PolicyNotAttachableException":{ - "type":"structure", - "members":{ - "message":{"shape":"policyNotAttachableMessage"} - }, - "documentation":"

The request failed because AWS service role policies can only be attached to the service-linked role for that service.

", - "error":{ - "code":"PolicyNotAttachable", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PolicyRole":{ - "type":"structure", - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) identifying the role.

" - }, - "RoleId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "PolicyRoleListType":{ - "type":"list", - "member":{"shape":"PolicyRole"} - }, - "PolicySourceType":{ - "type":"string", - "enum":[ - "user", - "group", - "role", - "aws-managed", - "user-managed", - "resource", - "none" - ] - }, - "PolicyUsageType":{ - "type":"string", - "documentation":"

The policy usage type that indicates whether the policy is used as a permissions policy or as the permissions boundary for an entity.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

", - "enum":[ - "PermissionsPolicy", - "PermissionsBoundary" - ] - }, - "PolicyUser":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) identifying the user.

" - }, - "UserId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "PolicyUserListType":{ - "type":"list", - "member":{"shape":"PolicyUser"} - }, - "PolicyVersion":{ - "type":"structure", - "members":{ - "Document":{ - "shape":"policyDocumentType", - "documentation":"

The policy document.

The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

The policy document returned in this structure is URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" - }, - "VersionId":{ - "shape":"policyVersionIdType", - "documentation":"

The identifier for the policy version.

Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

" - }, - "IsDefaultVersion":{ - "shape":"booleanType", - "documentation":"

Specifies whether the policy version is set as the policy's default version.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the policy version was created.

" - } - }, - "documentation":"

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" - }, - "Position":{ - "type":"structure", - "members":{ - "Line":{ - "shape":"LineNumber", - "documentation":"

The line containing the specified position in the document.

" - }, - "Column":{ - "shape":"ColumnNumber", - "documentation":"

The column in the line containing the specified position in the document.

" - } - }, - "documentation":"

Contains the row and column of a location of a Statement element in a policy document.

This data type is used as a member of the Statement type.

" - }, - "PutGroupPolicyRequest":{ - "type":"structure", - "required":[ - "GroupName", - "PolicyName", - "PolicyDocument" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group 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", - "documentation":"

The name of the policy document.

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", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "PutRolePermissionsBoundaryRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PermissionsBoundary" - ], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM role for which you want to set the permissions boundary.

" - }, - "PermissionsBoundary":{ - "shape":"arnType", - "documentation":"

The ARN of the policy that is used to set the permissions boundary for the role.

" - } - } - }, - "PutRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyName", - "PolicyDocument" - ], - "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: _+=,.@-

" - }, - "PolicyName":{ - "shape":"policyNameType", - "documentation":"

The name of the policy document.

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", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "PutUserPermissionsBoundaryRequest":{ - "type":"structure", - "required":[ - "UserName", - "PermissionsBoundary" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user for which you want to set the permissions boundary.

" - }, - "PermissionsBoundary":{ - "shape":"arnType", - "documentation":"

The ARN of the policy that is used to set the permissions boundary for the user.

" - } - } - }, - "PutUserPolicyRequest":{ - "type":"structure", - "required":[ - "UserName", - "PolicyName", - "PolicyDocument" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user 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", - "documentation":"

The name of the policy document.

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", - "documentation":"

The policy document.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "ReasonType":{ - "type":"string", - "max":1000 - }, - "RegionNameType":{ - "type":"string", - "max":100, - "min":1 - }, - "RemoveClientIDFromOpenIDConnectProviderRequest":{ - "type":"structure", - "required":[ - "OpenIDConnectProviderArn", - "ClientID" - ], - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "ClientID":{ - "shape":"clientIDType", - "documentation":"

The client ID (also known as audience) to remove from the IAM OIDC provider resource. For more information about client IDs, see CreateOpenIDConnectProvider.

" - } - } - }, - "RemoveRoleFromInstanceProfileRequest":{ - "type":"structure", - "required":[ - "InstanceProfileName", - "RoleName" - ], - "members":{ - "InstanceProfileName":{ - "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

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: _+=,.@-

" - }, - "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: _+=,.@-

" - } - } - }, - "RemoveUserFromGroupRequest":{ - "type":"structure", - "required":[ - "GroupName", - "UserName" - ], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

The name of the group to update.

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: _+=,.@-

" - }, - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user 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: _+=,.@-

" - } - } - }, - "ReportContentType":{"type":"blob"}, - "ReportFormatType":{ - "type":"string", - "enum":["text/csv"] - }, - "ReportStateDescriptionType":{"type":"string"}, - "ReportStateType":{ - "type":"string", - "enum":[ - "STARTED", - "INPROGRESS", - "COMPLETE" - ] - }, - "ResetServiceSpecificCredentialRequest":{ - "type":"structure", - "required":["ServiceSpecificCredentialId"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (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: _+=,.@-

" - }, - "ServiceSpecificCredentialId":{ - "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - } - } - }, - "ResetServiceSpecificCredentialResponse":{ - "type":"structure", - "members":{ - "ServiceSpecificCredential":{ - "shape":"ServiceSpecificCredential", - "documentation":"

A structure with details about the updated service-specific credential, including the new password.

This is the only time that you can access the password. You cannot recover the password later, but you can reset it again.

" - } - } - }, - "ResourceHandlingOptionType":{ - "type":"string", - "max":64, - "min":1 - }, - "ResourceNameListType":{ - "type":"list", - "member":{"shape":"ResourceNameType"} - }, - "ResourceNameType":{ - "type":"string", - "max":2048, - "min":1 - }, - "ResourceSpecificResult":{ - "type":"structure", - "required":[ - "EvalResourceName", - "EvalResourceDecision" - ], - "members":{ - "EvalResourceName":{ - "shape":"ResourceNameType", - "documentation":"

The name of the simulated resource, in Amazon Resource Name (ARN) format.

" - }, - "EvalResourceDecision":{ - "shape":"PolicyEvaluationDecisionType", - "documentation":"

The result of the simulation of the simulated API operation on the resource specified in EvalResourceName.

" - }, - "MatchedStatements":{ - "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the operation on the resource, if any statement denies that operation, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" - }, - "MissingContextValues":{ - "shape":"ContextKeyNamesResultListType", - "documentation":"

A list of context keys that are required by the included input policies but that were not provided by one of the input parameters. This list is used when a list of ARNs is included in the ResourceArns parameter instead of \"*\". If you do not specify individual resources, by setting ResourceArns to \"*\" or by not including the ResourceArns parameter, then any missing context values are instead included under the EvaluationResults section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.

" - }, - "EvalDecisionDetails":{ - "shape":"EvalDecisionDetailsType", - "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access.

" - } - }, - "documentation":"

Contains the result of the simulation of a single API operation call on a single resource.

This data type is used by a member of the EvaluationResult data type.

" - }, - "ResourceSpecificResultListType":{ - "type":"list", - "member":{"shape":"ResourceSpecificResult"} - }, - "ResyncMFADeviceRequest":{ - "type":"structure", - "required":[ - "UserName", - "SerialNumber", - "AuthenticationCode1", - "AuthenticationCode2" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to resynchronize.

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: _+=,.@-

" - }, - "SerialNumber":{ - "shape":"serialNumberType", - "documentation":"

Serial number that uniquely identifies the MFA device.

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 sequence of six digits.

" - }, - "AuthenticationCode2":{ - "shape":"authenticationCodeType", - "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a sequence of six digits.

" - } - } - }, - "Role":{ - "type":"structure", - "required":[ - "Path", - "RoleName", - "RoleId", - "Arn", - "CreateDate" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The friendly name that identifies the role.

" - }, - "RoleId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "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 IAM User Guide guide.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the role was created.

" - }, - "AssumeRolePolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy that grants an entity permission to assume the role.

" - }, - "Description":{ - "shape":"roleDescriptionType", - "documentation":"

A description of the role that you provide.

" - }, - "MaxSessionDuration":{ - "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) for the specified role. Anyone who uses the AWS CLI or API to assume the role can specify the duration using the optional DurationSeconds API parameter or duration-seconds CLI parameter.

" - }, - "PermissionsBoundary":{ - "shape":"AttachedPermissionsBoundary", - "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about an IAM role. This structure is returned as a response element in several API operations that interact with roles.

" - }, - "RoleDetail":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The friendly name that identifies the role.

" - }, - "RoleId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{"shape":"arnType"}, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the role was created.

" - }, - "AssumeRolePolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The trust policy that grants permission to assume the role.

" - }, - "InstanceProfileList":{ - "shape":"instanceProfileListType", - "documentation":"

A list of instance profiles that contain this role.

" - }, - "RolePolicyList":{ - "shape":"policyDetailListType", - "documentation":"

A list of inline policies embedded in the role. These policies are the role's access (permissions) policies.

" - }, - "AttachedManagedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of managed policies attached to the role. These policies are the role's access (permissions) policies.

" - }, - "PermissionsBoundary":{ - "shape":"AttachedPermissionsBoundary", - "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" - }, - "RoleUsageListType":{ - "type":"list", - "member":{"shape":"RoleUsageType"} - }, - "RoleUsageType":{ - "type":"structure", - "members":{ - "Region":{ - "shape":"RegionNameType", - "documentation":"

The name of the region where the service-linked role is being used.

" - }, - "Resources":{ - "shape":"ArnListType", - "documentation":"

The name of the resource that is using the service-linked role.

" - } - }, - "documentation":"

An object that contains details about how a service-linked role is used, if that information is returned by the service.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

" - }, - "SAMLMetadataDocumentType":{ - "type":"string", - "max":10000000, - "min":1000 - }, - "SAMLProviderListEntry":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider.

" - }, - "ValidUntil":{ - "shape":"dateType", - "documentation":"

The expiration date and time for the SAML provider.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time when the SAML provider was created.

" - } - }, - "documentation":"

Contains the list of SAML providers for this account.

" - }, - "SAMLProviderListType":{ - "type":"list", - "member":{"shape":"SAMLProviderListEntry"} - }, - "SAMLProviderNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w._-]+" - }, - "SSHPublicKey":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyId", - "Fingerprint", - "SSHPublicKeyBody", - "Status" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

" - }, - "SSHPublicKeyId":{ - "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

" - }, - "Fingerprint":{ - "shape":"publicKeyFingerprintType", - "documentation":"

The MD5 message digest of the SSH public key.

" - }, - "SSHPublicKeyBody":{ - "shape":"publicKeyMaterialType", - "documentation":"

The SSH public key.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" - }, - "UploadDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

" - } - }, - "documentation":"

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey operations.

" - }, - "SSHPublicKeyListType":{ - "type":"list", - "member":{"shape":"SSHPublicKeyMetadata"} - }, - "SSHPublicKeyMetadata":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyId", - "Status", - "UploadDate" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

" - }, - "SSHPublicKeyId":{ - "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" - }, - "UploadDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

" - } - }, - "documentation":"

Contains information about an SSH public key, without the key's body or fingerprint.

This data type is used as a response element in the ListSSHPublicKeys operation.

" - }, - "ServerCertificate":{ - "type":"structure", - "required":[ - "ServerCertificateMetadata", - "CertificateBody" - ], - "members":{ - "ServerCertificateMetadata":{ - "shape":"ServerCertificateMetadata", - "documentation":"

The meta information of the server certificate, such as its name, path, ID, and ARN.

" - }, - "CertificateBody":{ - "shape":"certificateBodyType", - "documentation":"

The contents of the public key certificate.

" - }, - "CertificateChain":{ - "shape":"certificateChainType", - "documentation":"

The contents of the public key certificate chain.

" - } - }, - "documentation":"

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate operation.

" - }, - "ServerCertificateMetadata":{ - "type":"structure", - "required":[ - "Path", - "ServerCertificateName", - "ServerCertificateId", - "Arn" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "ServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The name that identifies the server certificate.

" - }, - "ServerCertificateId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" - }, - "UploadDate":{ - "shape":"dateType", - "documentation":"

The date when the server certificate was uploaded.

" - }, - "Expiration":{ - "shape":"dateType", - "documentation":"

The date on which the certificate is set to expire.

" - } - }, - "documentation":"

Contains information about a server certificate without its certificate body, certificate chain, and private key.

This data type is used as a response element in the UploadServerCertificate and ListServerCertificates operations.

" - }, - "ServiceFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"serviceFailureExceptionMessage"} - }, - "documentation":"

The request processing has failed because of an unknown error, exception or failure.

", - "error":{ - "code":"ServiceFailure", - "httpStatusCode":500 - }, - "exception":true - }, - "ServiceNotSupportedException":{ - "type":"structure", - "members":{ - "message":{"shape":"serviceNotSupportedMessage"} - }, - "documentation":"

The specified service does not support service-specific credentials.

", - "error":{ - "code":"NotSupportedService", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ServiceSpecificCredential":{ - "type":"structure", - "required":[ - "CreateDate", - "ServiceName", - "ServiceUserName", - "ServicePassword", - "ServiceSpecificCredentialId", - "UserName", - "Status" - ], - "members":{ - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

" - }, - "ServiceName":{ - "shape":"serviceName", - "documentation":"

The name of the service associated with the service-specific credential.

" - }, - "ServiceUserName":{ - "shape":"serviceUserName", - "documentation":"

The generated user name for the service-specific credential. This value is generated by combining the IAM user's name combined with the ID number of the AWS account, as in jane-at-123456789012, for example. This value cannot be configured by the user.

" - }, - "ServicePassword":{ - "shape":"servicePassword", - "documentation":"

The generated password for the service-specific credential.

" - }, - "ServiceSpecificCredentialId":{ - "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier for the service-specific credential.

" - }, - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

" - } - }, - "documentation":"

Contains the details of a service-specific credential.

" - }, - "ServiceSpecificCredentialMetadata":{ - "type":"structure", - "required":[ - "UserName", - "Status", - "ServiceUserName", - "CreateDate", - "ServiceSpecificCredentialId", - "ServiceName" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

" - }, - "ServiceUserName":{ - "shape":"serviceUserName", - "documentation":"

The generated user name for the service-specific credential.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

" - }, - "ServiceSpecificCredentialId":{ - "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier for the service-specific credential.

" - }, - "ServiceName":{ - "shape":"serviceName", - "documentation":"

The name of the service associated with the service-specific credential.

" - } - }, - "documentation":"

Contains additional details about a service-specific credential.

" - }, - "ServiceSpecificCredentialsListType":{ - "type":"list", - "member":{"shape":"ServiceSpecificCredentialMetadata"} - }, - "SetDefaultPolicyVersionRequest":{ - "type":"structure", - "required":[ - "PolicyArn", - "VersionId" - ], - "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "VersionId":{ - "shape":"policyVersionIdType", - "documentation":"

The version of the policy to set as the default (operative) version.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" - } - } - }, - "SigningCertificate":{ - "type":"structure", - "required":[ - "UserName", - "CertificateId", - "CertificateBody", - "Status" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user the signing certificate is associated with.

" - }, - "CertificateId":{ - "shape":"certificateIdType", - "documentation":"

The ID for the signing certificate.

" - }, - "CertificateBody":{ - "shape":"certificateBodyType", - "documentation":"

The contents of the signing certificate.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status of the signing certificate. Active means that the key is valid for API calls, while Inactive means it is not.

" - }, - "UploadDate":{ - "shape":"dateType", - "documentation":"

The date when the signing certificate was uploaded.

" - } - }, - "documentation":"

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates operations.

" - }, - "SimulateCustomPolicyRequest":{ - "type":"structure", - "required":[ - "PolicyInputList", - "ActionNames" - ], - "members":{ - "PolicyInputList":{ - "shape":"SimulationPolicyListType", - "documentation":"

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "ActionNames":{ - "shape":"ActionNameListType", - "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser.

" - }, - "ResourceArns":{ - "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "ResourcePolicy":{ - "shape":"policyDocumentType", - "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "ResourceOwner":{ - "shape":"ResourceNameType", - "documentation":"

An ARN representing the AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root.

" - }, - "CallerArn":{ - "shape":"ResourceNameType", - "documentation":"

The ARN of the IAM user that you want to use as the simulated caller of the API operations. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

" - }, - "ContextEntries":{ - "shape":"ContextEntryListType", - "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permission policies, the corresponding value is supplied.

" - }, - "ResourceHandlingOption":{ - "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - } - } - }, - "SimulatePolicyResponse":{ - "type":"structure", - "members":{ - "EvaluationResults":{ - "shape":"EvaluationResultsListType", - "documentation":"

The results of the simulation.

" - }, - "IsTruncated":{ - "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" - } - }, - "documentation":"

Contains the response to a successful SimulatePrincipalPolicy or SimulateCustomPolicy request.

" - }, - "SimulatePrincipalPolicyRequest":{ - "type":"structure", - "required":[ - "PolicySourceArn", - "ActionNames" - ], - "members":{ - "PolicySourceArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "PolicyInputList":{ - "shape":"SimulationPolicyListType", - "documentation":"

An optional list of additional policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "ActionNames":{ - "shape":"ActionNameListType", - "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated for each resource. Each operation must include the service identifier, such as iam:CreateUser.

" - }, - "ResourceArns":{ - "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "ResourcePolicy":{ - "shape":"policyDocumentType", - "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "ResourceOwner":{ - "shape":"ResourceNameType", - "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" - }, - "CallerArn":{ - "shape":"ResourceNameType", - "documentation":"

The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "ContextEntries":{ - "shape":"ContextEntryListType", - "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permission policies, the corresponding value is supplied.

" - }, - "ResourceHandlingOption":{ - "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" - }, - "MaxItems":{ - "shape":"maxItemsType", - "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" - }, - "Marker":{ - "shape":"markerType", - "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" - } - } - }, - "SimulationPolicyListType":{ - "type":"list", - "member":{"shape":"policyDocumentType"} - }, - "Statement":{ - "type":"structure", - "members":{ - "SourcePolicyId":{ - "shape":"PolicyIdentifierType", - "documentation":"

The identifier of the policy that was provided as an input.

" - }, - "SourcePolicyType":{ - "shape":"PolicySourceType", - "documentation":"

The type of the policy.

" - }, - "StartPosition":{ - "shape":"Position", - "documentation":"

The row and column of the beginning of the Statement in an IAM policy.

" - }, - "EndPosition":{ - "shape":"Position", - "documentation":"

The row and column of the end of a Statement in an IAM policy.

" - } - }, - "documentation":"

Contains a reference to a Statement element in a policy document that determines the result of the simulation.

This data type is used by the MatchedStatements member of the EvaluationResult type.

" - }, - "StatementListType":{ - "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":{ - "message":{"shape":"unrecognizedPublicKeyEncodingMessage"} - }, - "documentation":"

The request was rejected because the public key encoding format is unsupported or unrecognized.

", - "error":{ - "code":"UnrecognizedPublicKeyEncoding", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UpdateAccessKeyRequest":{ - "type":"structure", - "required":[ - "AccessKeyId", - "Status" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user whose key you want to update.

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: _+=,.@-

" - }, - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The access key ID of the secret access key you want to update.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status you want to assign to the secret access key. Active means that the key can be used for API calls to AWS, while Inactive means that the key cannot be used.

" - } - } - }, - "UpdateAccountPasswordPolicyRequest":{ - "type":"structure", - "members":{ - "MinimumPasswordLength":{ - "shape":"minimumPasswordLengthType", - "documentation":"

The minimum number of characters allowed in an IAM user password.

If you do not specify a value for this parameter, then the operation uses the default value of 6.

" - }, - "RequireSymbols":{ - "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one symbol character.

" - }, - "RequireNumbers":{ - "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one numeric character.

" - }, - "RequireUppercaseCharacters":{ - "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one uppercase character.

" - }, - "RequireLowercaseCharacters":{ - "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one lowercase character.

" - }, - "AllowUsersToChangePassword":{ - "shape":"booleanType", - "documentation":"

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.

" - }, - "MaxPasswordAge":{ - "shape":"maxPasswordAgeType", - "documentation":"

The number of days that an IAM user password is valid.

If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM user passwords never expire.

" - }, - "PasswordReusePrevention":{ - "shape":"passwordReusePreventionType", - "documentation":"

Specifies the number of previous passwords that IAM users are prevented from reusing.

If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM users are not prevented from reusing previous passwords.

" - }, - "HardExpiry":{ - "shape":"booleanObjectType", - "documentation":"

Prevents IAM users from setting a new password after their password has expired. The IAM user cannot be accessed until an administrator resets the password.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.

" - } - } - }, - "UpdateAssumeRolePolicyRequest":{ - "type":"structure", - "required":[ - "RoleName", - "PolicyDocument" - ], - "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: _+=,.@-

" - }, - "PolicyDocument":{ - "shape":"policyDocumentType", - "documentation":"

The policy that grants an entity permission to assume the role.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "UpdateGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"groupNameType", - "documentation":"

Name of the IAM group to update. If you're changing the name of the group, this is the original name.

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: _+=,.@-

" - }, - "NewPath":{ - "shape":"pathType", - "documentation":"

New path for the IAM group. Only include this if changing the group's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "NewGroupName":{ - "shape":"groupNameType", - "documentation":"

New name for the IAM group. Only include this if changing the group's name.

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: _+=,.@-

" - } - } - }, - "UpdateLoginProfileRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the user whose password you want to update.

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: _+=,.@-

" - }, - "Password":{ - "shape":"passwordType", - "documentation":"

The new password for the specified IAM user.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

However, the format can be further restricted by the account administrator by setting a password policy on the AWS account. For more information, see UpdateAccountPasswordPolicy.

" - }, - "PasswordResetRequired":{ - "shape":"booleanObjectType", - "documentation":"

Allows this new password to be used only once by requiring the specified IAM user to set a new password on next sign-in.

" - } - } - }, - "UpdateOpenIDConnectProviderThumbprintRequest":{ - "type":"structure", - "required":[ - "OpenIDConnectProviderArn", - "ThumbprintList" - ], - "members":{ - "OpenIDConnectProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - }, - "ThumbprintList":{ - "shape":"thumbprintListType", - "documentation":"

A list of certificate thumbprints that are associated with the specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.

" - } - } - }, - "UpdateRoleDescriptionRequest":{ - "type":"structure", - "required":[ - "RoleName", - "Description" - ], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name of the role that you want to modify.

" - }, - "Description":{ - "shape":"roleDescriptionType", - "documentation":"

The new description that you want to apply to the specified role.

" - } - } - }, - "UpdateRoleDescriptionResponse":{ - "type":"structure", - "members":{ - "Role":{ - "shape":"Role", - "documentation":"

A structure that contains details about the modified role.

" - } - } - }, - "UpdateRoleRequest":{ - "type":"structure", - "required":["RoleName"], - "members":{ - "RoleName":{ - "shape":"roleNameType", - "documentation":"

The name of the role that you want to modify.

" - }, - "Description":{ - "shape":"roleDescriptionType", - "documentation":"

The new description that you want to apply to the specified role.

" - }, - "MaxSessionDuration":{ - "shape":"roleMaxSessionDurationType", - "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" - } - } - }, - "UpdateRoleResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateSAMLProviderRequest":{ - "type":"structure", - "required":[ - "SAMLMetadataDocument", - "SAMLProviderArn" - ], - "members":{ - "SAMLMetadataDocument":{ - "shape":"SAMLMetadataDocumentType", - "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

" - }, - "SAMLProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to update.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" - } - } - }, - "UpdateSAMLProviderResponse":{ - "type":"structure", - "members":{ - "SAMLProviderArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider that was updated.

" - } - }, - "documentation":"

Contains the response to a successful UpdateSAMLProvider request.

" - }, - "UpdateSSHPublicKeyRequest":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyId", - "Status" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

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: _+=,.@-

" - }, - "SSHPublicKeyId":{ - "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status to assign to the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" - } - } - }, - "UpdateServerCertificateRequest":{ - "type":"structure", - "required":["ServerCertificateName"], - "members":{ - "ServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate that you want to update.

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: _+=,.@-

" - }, - "NewPath":{ - "shape":"pathType", - "documentation":"

The new path for the server certificate. Include this only if you are updating the server certificate's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "NewServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

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: _+=,.@-

" - } - } - }, - "UpdateServiceSpecificCredentialRequest":{ - "type":"structure", - "required":[ - "ServiceSpecificCredentialId", - "Status" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the service-specific credential. If you do not specify this value, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (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: _+=,.@-

" - }, - "ServiceSpecificCredentialId":{ - "shape":"serviceSpecificCredentialId", - "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status to be assigned to the service-specific credential.

" - } - } - }, - "UpdateSigningCertificateRequest":{ - "type":"structure", - "required":[ - "CertificateId", - "Status" - ], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the IAM user the signing certificate belongs 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: _+=,.@-

" - }, - "CertificateId":{ - "shape":"certificateIdType", - "documentation":"

The ID of the signing certificate you want to update.

This parameter allows (per its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" - }, - "Status":{ - "shape":"statusType", - "documentation":"

The status you want to assign to the certificate. Active means that the certificate can be used for API calls to AWS Inactive means that the certificate cannot be used.

" - } - } - }, - "UpdateUserRequest":{ - "type":"structure", - "required":["UserName"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

Name of the user to update. If you're changing the name of the user, this is the original user name.

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: _+=,.@-

" - }, - "NewPath":{ - "shape":"pathType", - "documentation":"

New path for the IAM user. Include this parameter only if you're changing the user's path.

This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" - }, - "NewUserName":{ - "shape":"userNameType", - "documentation":"

New name for the user. Include this parameter only if you're changing the user's name.

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: _+=,.@-

" - } - } - }, - "UploadSSHPublicKeyRequest":{ - "type":"structure", - "required":[ - "UserName", - "SSHPublicKeyBody" - ], - "members":{ - "UserName":{ - "shape":"userNameType", - "documentation":"

The name of the IAM user to associate the SSH public key 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: _+=,.@-

" - }, - "SSHPublicKeyBody":{ - "shape":"publicKeyMaterialType", - "documentation":"

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The miminum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "UploadSSHPublicKeyResponse":{ - "type":"structure", - "members":{ - "SSHPublicKey":{ - "shape":"SSHPublicKey", - "documentation":"

Contains information about the SSH public key.

" - } - }, - "documentation":"

Contains the response to a successful UploadSSHPublicKey request.

" - }, - "UploadServerCertificateRequest":{ - "type":"structure", - "required":[ - "ServerCertificateName", - "CertificateBody", - "PrivateKey" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (per its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

" - }, - "ServerCertificateName":{ - "shape":"serverCertificateNameType", - "documentation":"

The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

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: _+=,.@-

" - }, - "CertificateBody":{ - "shape":"certificateBodyType", - "documentation":"

The contents of the public key certificate in PEM-encoded format.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "PrivateKey":{ - "shape":"privateKeyType", - "documentation":"

The contents of the private key in PEM-encoded format.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - }, - "CertificateChain":{ - "shape":"certificateChainType", - "documentation":"

The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "UploadServerCertificateResponse":{ - "type":"structure", - "members":{ - "ServerCertificateMetadata":{ - "shape":"ServerCertificateMetadata", - "documentation":"

The meta information of the uploaded server certificate without its certificate body, certificate chain, and private key.

" - } - }, - "documentation":"

Contains the response to a successful UploadServerCertificate request.

" - }, - "UploadSigningCertificateRequest":{ - "type":"structure", - "required":["CertificateBody"], - "members":{ - "UserName":{ - "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate is 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: _+=,.@-

" - }, - "CertificateBody":{ - "shape":"certificateBodyType", - "documentation":"

The contents of the signing certificate.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" - } - } - }, - "UploadSigningCertificateResponse":{ - "type":"structure", - "required":["Certificate"], - "members":{ - "Certificate":{ - "shape":"SigningCertificate", - "documentation":"

Information about the certificate.

" - } - }, - "documentation":"

Contains the response to a successful UploadSigningCertificate request.

" - }, - "User":{ - "type":"structure", - "required":[ - "Path", - "UserName", - "UserId", - "Arn", - "CreateDate" - ], - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "UserName":{ - "shape":"userNameType", - "documentation":"

The friendly name identifying the user.

" - }, - "UserId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

" - }, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the user was created.

" - }, - "PasswordLastUsed":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. If the field is null (no value) then it indicates that they never signed in with a password. This can be because:

  • The user never had a password.

  • A password exists but has not been used since IAM started tracking this information on October 20th, 2014.

A null does not mean that the user never had a password. Also, if the user does not currently have a password, but had one in the past, then this field contains the date and time the most recent password was used.

This value is returned only in the GetUser and ListUsers operations.

" - }, - "PermissionsBoundary":{ - "shape":"AttachedPermissionsBoundary", - "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about an IAM user entity.

This data type is used as a response element in the following operations:

" - }, - "UserDetail":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" - }, - "UserName":{ - "shape":"userNameType", - "documentation":"

The friendly name identifying the user.

" - }, - "UserId":{ - "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" - }, - "Arn":{"shape":"arnType"}, - "CreateDate":{ - "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the user was created.

" - }, - "UserPolicyList":{ - "shape":"policyDetailListType", - "documentation":"

A list of the inline policies embedded in the user.

" - }, - "GroupList":{ - "shape":"groupNameListType", - "documentation":"

A list of IAM groups that the user is in.

" - }, - "AttachedManagedPolicies":{ - "shape":"attachedPoliciesListType", - "documentation":"

A list of the managed policies attached to the user.

" - }, - "PermissionsBoundary":{ - "shape":"AttachedPermissionsBoundary", - "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" - } - }, - "documentation":"

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" - }, - "VirtualMFADevice":{ - "type":"structure", - "required":["SerialNumber"], - "members":{ - "SerialNumber":{ - "shape":"serialNumberType", - "documentation":"

The serial number associated with VirtualMFADevice.

" - }, - "Base32StringSeed":{ - "shape":"BootstrapDatum", - "documentation":"

The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

" - }, - "QRCodePNG":{ - "shape":"BootstrapDatum", - "documentation":"

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

" - }, - "User":{ - "shape":"User", - "documentation":"

The IAM user associated with this virtual MFA device.

" - }, - "EnableDate":{ - "shape":"dateType", - "documentation":"

The date and time on which the virtual MFA device was enabled.

" - } - }, - "documentation":"

Contains information about a virtual MFA device.

" - }, - "accessKeyIdType":{ - "type":"string", - "max":128, - "min":16, - "pattern":"[\\w]+" - }, - "accessKeyMetadataListType":{ - "type":"list", - "member":{"shape":"AccessKeyMetadata"}, - "documentation":"

Contains a list of access key metadata.

This data type is used as a response element in the ListAccessKeys operation.

" - }, - "accessKeySecretType":{ - "type":"string", - "sensitive":true - }, - "accountAliasListType":{ - "type":"list", - "member":{"shape":"accountAliasType"} - }, - "accountAliasType":{ - "type":"string", - "max":63, - "min":3, - "pattern":"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$" - }, - "arnType":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", - "max":2048, - "min":20 - }, - "assignmentStatusType":{ - "type":"string", - "enum":[ - "Assigned", - "Unassigned", - "Any" - ] - }, - "attachedPoliciesListType":{ - "type":"list", - "member":{"shape":"AttachedPolicy"} - }, - "attachmentCountType":{"type":"integer"}, - "authenticationCodeType":{ - "type":"string", - "max":6, - "min":6, - "pattern":"[\\d]+" - }, - "booleanObjectType":{ - "type":"boolean", - "box":true - }, - "booleanType":{"type":"boolean"}, - "certificateBodyType":{ - "type":"string", - "max":16384, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "certificateChainType":{ - "type":"string", - "max":2097152, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "certificateIdType":{ - "type":"string", - "max":128, - "min":24, - "pattern":"[\\w]+" - }, - "certificateListType":{ - "type":"list", - "member":{"shape":"SigningCertificate"}, - "documentation":"

Contains a list of signing certificates.

This data type is used as a response element in the ListSigningCertificates operation.

" - }, - "clientIDListType":{ - "type":"list", - "member":{"shape":"clientIDType"} - }, - "clientIDType":{ - "type":"string", - "max":255, - "min":1 - }, - "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"}, - "duplicateSSHPublicKeyMessage":{"type":"string"}, - "encodingType":{ - "type":"string", - "enum":[ - "SSH", - "PEM" - ] - }, - "entityAlreadyExistsMessage":{"type":"string"}, - "entityListType":{ - "type":"list", - "member":{"shape":"EntityType"} - }, - "entityTemporarilyUnmodifiableMessage":{"type":"string"}, - "existingUserNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "groupDetailListType":{ - "type":"list", - "member":{"shape":"GroupDetail"} - }, - "groupListType":{ - "type":"list", - "member":{"shape":"Group"}, - "documentation":"

Contains a list of IAM groups.

This data type is used as a response element in the ListGroups operation.

" - }, - "groupNameListType":{ - "type":"list", - "member":{"shape":"groupNameType"} - }, - "groupNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "idType":{ - "type":"string", - "max":128, - "min":16, - "pattern":"[\\w]+" - }, - "instanceProfileListType":{ - "type":"list", - "member":{"shape":"InstanceProfile"}, - "documentation":"

Contains a list of instance profiles.

" - }, - "instanceProfileNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "invalidAuthenticationCodeMessage":{"type":"string"}, - "invalidCertificateMessage":{"type":"string"}, - "invalidInputMessage":{"type":"string"}, - "invalidPublicKeyMessage":{"type":"string"}, - "invalidUserTypeMessage":{"type":"string"}, - "keyPairMismatchMessage":{"type":"string"}, - "limitExceededMessage":{"type":"string"}, - "malformedCertificateMessage":{"type":"string"}, - "malformedPolicyDocumentMessage":{"type":"string"}, - "markerType":{ - "type":"string", - "max":320, - "min":1, - "pattern":"[\\u0020-\\u00FF]+" - }, - "maxItemsType":{ - "type":"integer", - "max":1000, - "min":1 - }, - "maxPasswordAgeType":{ - "type":"integer", - "box":true, - "max":1095, - "min":1 - }, - "mfaDeviceListType":{ - "type":"list", - "member":{"shape":"MFADevice"}, - "documentation":"

Contains a list of MFA devices.

This data type is used as a response element in the ListMFADevices and ListVirtualMFADevices operations.

" - }, - "minimumPasswordLengthType":{ - "type":"integer", - "max":128, - "min":6 - }, - "noSuchEntityMessage":{"type":"string"}, - "passwordPolicyViolationMessage":{"type":"string"}, - "passwordReusePreventionType":{ - "type":"integer", - "box":true, - "max":24, - "min":1 - }, - "passwordType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+", - "sensitive":true - }, - "pathPrefixType":{ - "type":"string", - "max":512, - "min":1, - "pattern":"\\u002F[\\u0021-\\u007F]*" - }, - "pathType":{ - "type":"string", - "max":512, - "min":1, - "pattern":"(\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F)" - }, - "policyDescriptionType":{ - "type":"string", - "max":1000 - }, - "policyDetailListType":{ - "type":"list", - "member":{"shape":"PolicyDetail"} - }, - "policyDocumentType":{ - "type":"string", - "max":131072, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "policyDocumentVersionListType":{ - "type":"list", - "member":{"shape":"PolicyVersion"} - }, - "policyEvaluationErrorMessage":{"type":"string"}, - "policyListType":{ - "type":"list", - "member":{"shape":"Policy"} - }, - "policyNameListType":{ - "type":"list", - "member":{"shape":"policyNameType"}, - "documentation":"

Contains a list of policy names.

This data type is used as a response element in the ListPolicies operation.

" - }, - "policyNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "policyNotAttachableMessage":{"type":"string"}, - "policyPathType":{ - "type":"string", - "pattern":"((/[A-Za-z0-9\\.,\\+@=_-]+)*)/" - }, - "policyScopeType":{ - "type":"string", - "enum":[ - "All", - "AWS", - "Local" - ] - }, - "policyVersionIdType":{ - "type":"string", - "pattern":"v[1-9][0-9]*(\\.[A-Za-z0-9-]*)?" - }, - "privateKeyType":{ - "type":"string", - "max":16384, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+", - "sensitive":true - }, - "publicKeyFingerprintType":{ - "type":"string", - "max":48, - "min":48, - "pattern":"[:\\w]+" - }, - "publicKeyIdType":{ - "type":"string", - "max":128, - "min":20, - "pattern":"[\\w]+" - }, - "publicKeyMaterialType":{ - "type":"string", - "max":16384, - "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"} - }, - "roleListType":{ - "type":"list", - "member":{"shape":"Role"}, - "documentation":"

Contains a list of IAM roles.

This data type is used as a response element in the ListRoles operation.

" - }, - "roleMaxSessionDurationType":{ - "type":"integer", - "max":43200, - "min":3600 - }, - "roleNameType":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "serialNumberType":{ - "type":"string", - "max":256, - "min":9, - "pattern":"[\\w+=/:,.@-]+" - }, - "serverCertificateMetadataListType":{ - "type":"list", - "member":{"shape":"ServerCertificateMetadata"} - }, - "serverCertificateNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "serviceFailureExceptionMessage":{"type":"string"}, - "serviceName":{"type":"string"}, - "serviceNotSupportedMessage":{"type":"string"}, - "servicePassword":{ - "type":"string", - "sensitive":true - }, - "serviceSpecificCredentialId":{ - "type":"string", - "max":128, - "min":20, - "pattern":"[\\w]+" - }, - "serviceUserName":{ - "type":"string", - "max":200, - "min":17, - "pattern":"[\\w+=,.@-]+" - }, - "statusType":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "stringType":{"type":"string"}, - "summaryKeyType":{ - "type":"string", - "enum":[ - "Users", - "UsersQuota", - "Groups", - "GroupsQuota", - "ServerCertificates", - "ServerCertificatesQuota", - "UserPolicySizeQuota", - "GroupPolicySizeQuota", - "GroupsPerUserQuota", - "SigningCertificatesPerUserQuota", - "AccessKeysPerUserQuota", - "MFADevices", - "MFADevicesInUse", - "AccountMFAEnabled", - "AccountAccessKeysPresent", - "AccountSigningCertificatesPresent", - "AttachedPoliciesPerGroupQuota", - "AttachedPoliciesPerRoleQuota", - "AttachedPoliciesPerUserQuota", - "Policies", - "PoliciesQuota", - "PolicySizeQuota", - "PolicyVersionsInUse", - "PolicyVersionsInUseQuota", - "VersionsPerPolicyQuota" - ] - }, - "summaryMapType":{ - "type":"map", - "key":{"shape":"summaryKeyType"}, - "value":{"shape":"summaryValueType"} - }, - "summaryValueType":{"type":"integer"}, - "thumbprintListType":{ - "type":"list", - "member":{"shape":"thumbprintType"}, - "documentation":"

Contains a list of thumbprints of identity provider server certificates.

" - }, - "thumbprintType":{ - "type":"string", - "documentation":"

Contains a thumbprint for an identity provider's server certificate.

The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

", - "max":40, - "min":40 - }, - "unmodifiableEntityMessage":{"type":"string"}, - "unrecognizedPublicKeyEncodingMessage":{"type":"string"}, - "userDetailListType":{ - "type":"list", - "member":{"shape":"UserDetail"} - }, - "userListType":{ - "type":"list", - "member":{"shape":"User"}, - "documentation":"

Contains a list of users.

This data type is used as a response element in the GetGroup and ListUsers operations.

" - }, - "userNameType":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "virtualMFADeviceListType":{ - "type":"list", - "member":{"shape":"VirtualMFADevice"} - }, - "virtualMFADeviceName":{ - "type":"string", - "min":1, - "pattern":"[\\w+=,.@-]+" - } - }, - "documentation":"AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.

  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.

  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/waiters-2.json deleted file mode 100644 index ba453826..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iam/2010-05-08/waiters-2.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "version": 2, - "waiters": { - "InstanceProfileExists": { - "delay": 1, - "operation": "GetInstanceProfile", - "maxAttempts": 40, - "acceptors": [ - { - "expected": 200, - "matcher": "status", - "state": "success" - }, - { - "state": "retry", - "matcher": "status", - "expected": 404 - } - ] - }, - "UserExists": { - "delay": 1, - "operation": "GetUser", - "maxAttempts": 20, - "acceptors": [ - { - "state": "success", - "matcher": "status", - "expected": 200 - }, - { - "state": "retry", - "matcher": "error", - "expected": "NoSuchEntity" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/paginators-1.json deleted file mode 100644 index 702385ea..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/paginators-1.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "pagination": { - "ListJobs": { - "input_token": "Marker", - "output_token": "Jobs[-1].JobId", - "more_results": "IsTruncated", - "limit_key": "MaxJobs", - "result_key": "Jobs" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/service-2.json deleted file mode 100644 index 64d0ad11..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/importexport/2010-06-01/service-2.json +++ /dev/null @@ -1,898 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"importexport-2010-06-01", - "apiVersion":"2010-06-01", - "endpointPrefix":"importexport", - "globalEndpoint":"importexport.amazonaws.com", - "serviceFullName":"AWS Import/Export", - "serviceId":"ImportExport", - "signatureVersion":"v2", - "xmlNamespace":"http://importexport.amazonaws.com/doc/2010-06-01/", - "protocol":"query" - }, - "documentation":"AWS Import/Export Service AWS Import/Export accelerates transferring large amounts of data between the AWS cloud and portable storage devices that you mail to us. AWS Import/Export transfers data directly onto and off of your storage devices using Amazon's high-speed internal network and bypassing the Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your connectivity.", - "operations":{ - "CancelJob":{ - "name":"CancelJob", - "http":{ - "method":"POST", - "requestUri":"/?Operation=CancelJob" - }, - "input":{ - "shape":"CancelJobInput", - "documentation":"Input structure for the CancelJob operation." - }, - "output":{ - "shape":"CancelJobOutput", - "documentation":"Output structure for the CancelJob operation.", - "resultWrapper":"CancelJobResult" - }, - "errors":[ - { - "shape":"InvalidJobIdException", - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - { - "shape":"ExpiredJobIdException", - "exception":true, - "documentation":"Indicates that the specified job has expired out of the system." - }, - { - "shape":"CanceledJobIdException", - "exception":true, - "documentation":"The specified job ID has been canceled and is no longer valid." - }, - { - "shape":"UnableToCancelJobIdException", - "exception":true, - "documentation":"AWS Import/Export cannot cancel the job" - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - } - ], - "documentation":"This operation cancels a specified job. Only the job owner can cancel it. The operation fails if the job has already started or is complete." - }, - "CreateJob":{ - "name":"CreateJob", - "http":{ - "method":"POST", - "requestUri":"/?Operation=CreateJob" - }, - "input":{ - "shape":"CreateJobInput", - "documentation":"Input structure for the CreateJob operation." - }, - "output":{ - "shape":"CreateJobOutput", - "documentation":"Output structure for the CreateJob operation.", - "resultWrapper":"CreateJobResult" - }, - "errors":[ - { - "shape":"MissingParameterException", - "exception":true, - "documentation":"One or more required parameters was missing from the request." - }, - { - "shape":"InvalidParameterException", - "exception":true, - "documentation":"One or more parameters had an invalid value." - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidAddressException", - "exception":true, - "documentation":"The address specified in the manifest is invalid." - }, - { - "shape":"InvalidManifestFieldException", - "exception":true, - "documentation":"One or more manifest fields was invalid. Please correct and resubmit." - }, - { - "shape":"MissingManifestFieldException", - "exception":true, - "documentation":"One or more required fields were missing from the manifest file. Please correct and resubmit." - }, - { - "shape":"NoSuchBucketException", - "exception":true, - "documentation":"The specified bucket does not exist. Create the specified bucket or change the manifest's bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest's Access Key ID, has write permissions to." - }, - { - "shape":"MissingCustomsException", - "exception":true, - "documentation":"One or more required customs parameters was missing from the manifest." - }, - { - "shape":"InvalidCustomsException", - "exception":true, - "documentation":"One or more customs parameters was invalid. Please correct and resubmit." - }, - { - "shape":"InvalidFileSystemException", - "exception":true, - "documentation":"File system specified in export manifest is invalid." - }, - { - "shape":"MultipleRegionsException", - "exception":true, - "documentation":"Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit." - }, - { - "shape":"BucketPermissionException", - "exception":true, - "documentation":"The account specified does not have the appropriate bucket permissions." - }, - { - "shape":"MalformedManifestException", - "exception":true, - "documentation":"Your manifest is not well-formed." - }, - { - "shape":"CreateJobQuotaExceededException", - "exception":true, - "documentation":"Each account can create only a certain number of jobs per day. If you need to create more than this, please contact awsimportexport@amazon.com to explain your particular use case." - }, - { - "shape":"InvalidJobIdException", - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - } - ], - "documentation":"This operation initiates the process of scheduling an upload or download of your data. You include in the request a manifest that describes the data transfer specifics. The response to the request includes a job ID, which you can use in other operations, a signature that you use to identify your storage device, and the address where you should ship your storage device." - }, - "GetShippingLabel":{ - "name":"GetShippingLabel", - "http":{ - "method":"POST", - "requestUri":"/?Operation=GetShippingLabel" - }, - "input":{"shape":"GetShippingLabelInput"}, - "output":{ - "shape":"GetShippingLabelOutput", - "resultWrapper":"GetShippingLabelResult" - }, - "errors":[ - { - "shape":"InvalidJobIdException", - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - { - "shape":"ExpiredJobIdException", - "exception":true, - "documentation":"Indicates that the specified job has expired out of the system." - }, - { - "shape":"CanceledJobIdException", - "exception":true, - "documentation":"The specified job ID has been canceled and is no longer valid." - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidAddressException", - "exception":true, - "documentation":"The address specified in the manifest is invalid." - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - }, - { - "shape":"InvalidParameterException", - "exception":true, - "documentation":"One or more parameters had an invalid value." - } - ], - "documentation":"This operation generates a pre-paid UPS shipping label that you will use to ship your device to AWS for processing." - }, - "GetStatus":{ - "name":"GetStatus", - "http":{ - "method":"POST", - "requestUri":"/?Operation=GetStatus" - }, - "input":{ - "shape":"GetStatusInput", - "documentation":"Input structure for the GetStatus operation." - }, - "output":{ - "shape":"GetStatusOutput", - "documentation":"Output structure for the GetStatus operation.", - "resultWrapper":"GetStatusResult" - }, - "errors":[ - { - "shape":"InvalidJobIdException", - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - { - "shape":"ExpiredJobIdException", - "exception":true, - "documentation":"Indicates that the specified job has expired out of the system." - }, - { - "shape":"CanceledJobIdException", - "exception":true, - "documentation":"The specified job ID has been canceled and is no longer valid." - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - } - ], - "documentation":"This operation returns information about a job, including where the job is in the processing pipeline, the status of the results, and the signature value associated with the job. You can only return information about jobs you own." - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"POST", - "requestUri":"/?Operation=ListJobs" - }, - "input":{ - "shape":"ListJobsInput", - "documentation":"Input structure for the ListJobs operation." - }, - "output":{ - "shape":"ListJobsOutput", - "documentation":"Output structure for the ListJobs operation.", - "resultWrapper":"ListJobsResult" - }, - "errors":[ - { - "shape":"InvalidParameterException", - "exception":true, - "documentation":"One or more parameters had an invalid value." - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - } - ], - "documentation":"This operation returns the jobs associated with the requester. AWS Import/Export lists the jobs in reverse chronological order based on the date of creation. For example if Job Test1 was created 2009Dec30 and Test2 was created 2010Feb05, the ListJobs operation would return Test2 followed by Test1." - }, - "UpdateJob":{ - "name":"UpdateJob", - "http":{ - "method":"POST", - "requestUri":"/?Operation=UpdateJob" - }, - "input":{ - "shape":"UpdateJobInput", - "documentation":"Input structure for the UpateJob operation." - }, - "output":{ - "shape":"UpdateJobOutput", - "documentation":"Output structure for the UpateJob operation.", - "resultWrapper":"UpdateJobResult" - }, - "errors":[ - { - "shape":"MissingParameterException", - "exception":true, - "documentation":"One or more required parameters was missing from the request." - }, - { - "shape":"InvalidParameterException", - "exception":true, - "documentation":"One or more parameters had an invalid value." - }, - { - "shape":"InvalidAccessKeyIdException", - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - { - "shape":"InvalidAddressException", - "exception":true, - "documentation":"The address specified in the manifest is invalid." - }, - { - "shape":"InvalidManifestFieldException", - "exception":true, - "documentation":"One or more manifest fields was invalid. Please correct and resubmit." - }, - { - "shape":"InvalidJobIdException", - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - { - "shape":"MissingManifestFieldException", - "exception":true, - "documentation":"One or more required fields were missing from the manifest file. Please correct and resubmit." - }, - { - "shape":"NoSuchBucketException", - "exception":true, - "documentation":"The specified bucket does not exist. Create the specified bucket or change the manifest's bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest's Access Key ID, has write permissions to." - }, - { - "shape":"ExpiredJobIdException", - "exception":true, - "documentation":"Indicates that the specified job has expired out of the system." - }, - { - "shape":"CanceledJobIdException", - "exception":true, - "documentation":"The specified job ID has been canceled and is no longer valid." - }, - { - "shape":"MissingCustomsException", - "exception":true, - "documentation":"One or more required customs parameters was missing from the manifest." - }, - { - "shape":"InvalidCustomsException", - "exception":true, - "documentation":"One or more customs parameters was invalid. Please correct and resubmit." - }, - { - "shape":"InvalidFileSystemException", - "exception":true, - "documentation":"File system specified in export manifest is invalid." - }, - { - "shape":"MultipleRegionsException", - "exception":true, - "documentation":"Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit." - }, - { - "shape":"BucketPermissionException", - "exception":true, - "documentation":"The account specified does not have the appropriate bucket permissions." - }, - { - "shape":"MalformedManifestException", - "exception":true, - "documentation":"Your manifest is not well-formed." - }, - { - "shape":"UnableToUpdateJobIdException", - "exception":true, - "documentation":"AWS Import/Export cannot update the job" - }, - { - "shape":"InvalidVersionException", - "exception":true, - "documentation":"The client tool version is invalid." - } - ], - "documentation":"You use this operation to change the parameters specified in the original manifest file by supplying a new manifest file. The manifest file attached to this request replaces the original manifest file. You can only use the operation after a CreateJob request but before the data transfer starts and you can only use it on jobs you own." - } - }, - "shapes":{ - "APIVersion":{ - "type":"string", - "documentation":"Specifies the version of the client tool." - }, - "Artifact":{ - "type":"structure", - "members":{ - "Description":{"shape":"Description"}, - "URL":{"shape":"URL"} - }, - "documentation":"A discrete item that contains the description and URL of an artifact (such as a PDF)." - }, - "ArtifactList":{ - "type":"list", - "member":{"shape":"Artifact"}, - "documentation":"A collection of artifacts." - }, - "BucketPermissionException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The account specified does not have the appropriate bucket permissions." - }, - "CancelJobInput":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{"shape":"JobId"}, - "APIVersion":{"shape":"APIVersion"} - }, - "documentation":"Input structure for the CancelJob operation." - }, - "CancelJobOutput":{ - "type":"structure", - "members":{ - "Success":{"shape":"Success"} - }, - "documentation":"Output structure for the CancelJob operation." - }, - "CanceledJobIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The specified job ID has been canceled and is no longer valid." - }, - "Carrier":{ - "type":"string", - "documentation":"Name of the shipping company. This value is included when the LocationCode is \"Returned\"." - }, - "CreateJobInput":{ - "type":"structure", - "required":[ - "JobType", - "Manifest", - "ValidateOnly" - ], - "members":{ - "JobType":{"shape":"JobType"}, - "Manifest":{"shape":"Manifest"}, - "ManifestAddendum":{"shape":"ManifestAddendum"}, - "ValidateOnly":{"shape":"ValidateOnly"}, - "APIVersion":{"shape":"APIVersion"} - }, - "documentation":"Input structure for the CreateJob operation." - }, - "CreateJobOutput":{ - "type":"structure", - "members":{ - "JobId":{"shape":"JobId"}, - "JobType":{"shape":"JobType"}, - "Signature":{"shape":"Signature"}, - "SignatureFileContents":{"shape":"SignatureFileContents"}, - "WarningMessage":{"shape":"WarningMessage"}, - "ArtifactList":{"shape":"ArtifactList"} - }, - "documentation":"Output structure for the CreateJob operation." - }, - "CreateJobQuotaExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"Each account can create only a certain number of jobs per day. If you need to create more than this, please contact awsimportexport@amazon.com to explain your particular use case." - }, - "CreationDate":{ - "type":"timestamp", - "documentation":"Timestamp of the CreateJob request in ISO8601 date format. For example \"2010-03-28T20:27:35Z\"." - }, - "CurrentManifest":{ - "type":"string", - "documentation":"The last manifest submitted, which will be used to process the job." - }, - "Description":{ - "type":"string", - "documentation":"The associated description for this object." - }, - "ErrorCount":{ - "type":"integer", - "documentation":"Number of errors. We return this value when the ProgressCode is Success or SuccessWithErrors." - }, - "ErrorMessage":{ - "type":"string", - "documentation":"The human-readable description of a particular error." - }, - "ExpiredJobIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"Indicates that the specified job has expired out of the system." - }, - "GenericString":{"type":"string"}, - "GetShippingLabelInput":{ - "type":"structure", - "required":["jobIds"], - "members":{ - "jobIds":{"shape":"JobIdList"}, - "name":{"shape":"name"}, - "company":{"shape":"company"}, - "phoneNumber":{"shape":"phoneNumber"}, - "country":{"shape":"country"}, - "stateOrProvince":{"shape":"stateOrProvince"}, - "city":{"shape":"city"}, - "postalCode":{"shape":"postalCode"}, - "street1":{"shape":"street1"}, - "street2":{"shape":"street2"}, - "street3":{"shape":"street3"}, - "APIVersion":{"shape":"APIVersion"} - } - }, - "GetShippingLabelOutput":{ - "type":"structure", - "members":{ - "ShippingLabelURL":{"shape":"GenericString"}, - "Warning":{"shape":"GenericString"} - } - }, - "GetStatusInput":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{"shape":"JobId"}, - "APIVersion":{"shape":"APIVersion"} - }, - "documentation":"Input structure for the GetStatus operation." - }, - "GetStatusOutput":{ - "type":"structure", - "members":{ - "JobId":{"shape":"JobId"}, - "JobType":{"shape":"JobType"}, - "LocationCode":{"shape":"LocationCode"}, - "LocationMessage":{"shape":"LocationMessage"}, - "ProgressCode":{"shape":"ProgressCode"}, - "ProgressMessage":{"shape":"ProgressMessage"}, - "Carrier":{"shape":"Carrier"}, - "TrackingNumber":{"shape":"TrackingNumber"}, - "LogBucket":{"shape":"LogBucket"}, - "LogKey":{"shape":"LogKey"}, - "ErrorCount":{"shape":"ErrorCount"}, - "Signature":{"shape":"Signature"}, - "SignatureFileContents":{"shape":"Signature"}, - "CurrentManifest":{"shape":"CurrentManifest"}, - "CreationDate":{"shape":"CreationDate"}, - "ArtifactList":{"shape":"ArtifactList"} - }, - "documentation":"Output structure for the GetStatus operation." - }, - "InvalidAccessKeyIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The AWS Access Key ID specified in the request did not match the manifest's accessKeyId value. The manifest and the request authentication must use the same AWS Access Key ID." - }, - "InvalidAddressException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The address specified in the manifest is invalid." - }, - "InvalidCustomsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more customs parameters was invalid. Please correct and resubmit." - }, - "InvalidFileSystemException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"File system specified in export manifest is invalid." - }, - "InvalidJobIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The JOBID was missing, not found, or not associated with the AWS account." - }, - "InvalidManifestFieldException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more manifest fields was invalid. Please correct and resubmit." - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more parameters had an invalid value." - }, - "InvalidVersionException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The client tool version is invalid." - }, - "IsCanceled":{ - "type":"boolean", - "documentation":"Indicates whether the job was canceled." - }, - "IsTruncated":{ - "type":"boolean", - "documentation":"Indicates whether the list of jobs was truncated. If true, then call ListJobs again using the last JobId element as the marker." - }, - "Job":{ - "type":"structure", - "members":{ - "JobId":{"shape":"JobId"}, - "CreationDate":{"shape":"CreationDate"}, - "IsCanceled":{"shape":"IsCanceled"}, - "JobType":{"shape":"JobType"} - }, - "documentation":"Representation of a job returned by the ListJobs operation." - }, - "JobId":{ - "type":"string", - "documentation":"A unique identifier which refers to a particular job." - }, - "JobIdList":{ - "type":"list", - "member":{"shape":"GenericString"} - }, - "JobType":{ - "type":"string", - "enum":[ - "Import", - "Export" - ], - "documentation":"Specifies whether the job to initiate is an import or export job." - }, - "JobsList":{ - "type":"list", - "member":{"shape":"Job"}, - "documentation":"A list container for Jobs returned by the ListJobs operation." - }, - "ListJobsInput":{ - "type":"structure", - "members":{ - "MaxJobs":{"shape":"MaxJobs"}, - "Marker":{"shape":"Marker"}, - "APIVersion":{"shape":"APIVersion"} - }, - "documentation":"Input structure for the ListJobs operation." - }, - "ListJobsOutput":{ - "type":"structure", - "members":{ - "Jobs":{"shape":"JobsList"}, - "IsTruncated":{"shape":"IsTruncated"} - }, - "documentation":"Output structure for the ListJobs operation." - }, - "LocationCode":{ - "type":"string", - "documentation":"A token representing the location of the storage device, such as \"AtAWS\"." - }, - "LocationMessage":{ - "type":"string", - "documentation":"A more human readable form of the physical location of the storage device." - }, - "LogBucket":{ - "type":"string", - "documentation":"Amazon S3 bucket for user logs." - }, - "LogKey":{ - "type":"string", - "documentation":"The key where the user logs were stored." - }, - "MalformedManifestException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"Your manifest is not well-formed." - }, - "Manifest":{ - "type":"string", - "documentation":"The UTF-8 encoded text of the manifest file." - }, - "ManifestAddendum":{ - "type":"string", - "documentation":"For internal use only." - }, - "Marker":{ - "type":"string", - "documentation":"Specifies the JOBID to start after when listing the jobs created with your account. AWS Import/Export lists your jobs in reverse chronological order. See MaxJobs." - }, - "MaxJobs":{ - "type":"integer", - "documentation":"Sets the maximum number of jobs returned in the response. If there are additional jobs that were not returned because MaxJobs was exceeded, the response contains <IsTruncated>true</IsTruncated>. To return the additional jobs, see Marker." - }, - "MissingCustomsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more required customs parameters was missing from the manifest." - }, - "MissingManifestFieldException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more required fields were missing from the manifest file. Please correct and resubmit." - }, - "MissingParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"One or more required parameters was missing from the request." - }, - "MultipleRegionsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"Your manifest file contained buckets from multiple regions. A job is restricted to buckets from one region. Please correct and resubmit." - }, - "NoSuchBucketException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"The specified bucket does not exist. Create the specified bucket or change the manifest's bucket, exportBucket, or logBucket field to a bucket that the account, as specified by the manifest's Access Key ID, has write permissions to." - }, - "ProgressCode":{ - "type":"string", - "documentation":"A token representing the state of the job, such as \"Started\"." - }, - "ProgressMessage":{ - "type":"string", - "documentation":"A more human readable form of the job status." - }, - "Signature":{ - "type":"string", - "documentation":"An encrypted code used to authenticate the request and response, for example, \"DV+TpDfx1/TdSE9ktyK9k/bDTVI=\". Only use this value is you want to create the signature file yourself. Generally you should use the SignatureFileContents value." - }, - "SignatureFileContents":{ - "type":"string", - "documentation":"The actual text of the SIGNATURE file to be written to disk." - }, - "Success":{ - "type":"boolean", - "documentation":"Specifies whether (true) or not (false) AWS Import/Export updated your job." - }, - "TrackingNumber":{ - "type":"string", - "documentation":"The shipping tracking number assigned by AWS Import/Export to the storage device when it's returned to you. We return this value when the LocationCode is \"Returned\"." - }, - "URL":{ - "type":"string", - "documentation":"The URL for a given Artifact." - }, - "UnableToCancelJobIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"AWS Import/Export cannot cancel the job" - }, - "UnableToUpdateJobIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "documentation":"AWS Import/Export cannot update the job" - }, - "UpdateJobInput":{ - "type":"structure", - "required":[ - "JobId", - "Manifest", - "JobType", - "ValidateOnly" - ], - "members":{ - "JobId":{"shape":"JobId"}, - "Manifest":{"shape":"Manifest"}, - "JobType":{"shape":"JobType"}, - "ValidateOnly":{"shape":"ValidateOnly"}, - "APIVersion":{"shape":"APIVersion"} - }, - "documentation":"Input structure for the UpateJob operation." - }, - "UpdateJobOutput":{ - "type":"structure", - "members":{ - "Success":{"shape":"Success"}, - "WarningMessage":{"shape":"WarningMessage"}, - "ArtifactList":{"shape":"ArtifactList"} - }, - "documentation":"Output structure for the UpateJob operation." - }, - "ValidateOnly":{ - "type":"boolean", - "documentation":"Validate the manifest and parameter values in the request but do not actually create a job." - }, - "WarningMessage":{ - "type":"string", - "documentation":"An optional message notifying you of non-fatal issues with the job, such as use of an incompatible Amazon S3 bucket name." - }, - "city":{ - "type":"string", - "documentation":"Specifies the name of your city for the return address." - }, - "company":{ - "type":"string", - "documentation":"Specifies the name of the company that will ship this package." - }, - "country":{ - "type":"string", - "documentation":"Specifies the name of your country for the return address." - }, - "name":{ - "type":"string", - "documentation":"Specifies the name of the person responsible for shipping this package." - }, - "phoneNumber":{ - "type":"string", - "documentation":"Specifies the phone number of the person responsible for shipping this package." - }, - "postalCode":{ - "type":"string", - "documentation":"Specifies the postal code for the return address." - }, - "stateOrProvince":{ - "type":"string", - "documentation":"Specifies the name of your state or your province for the return address." - }, - "street1":{ - "type":"string", - "documentation":"Specifies the first part of the street address for the return address, for example 1234 Main Street." - }, - "street2":{ - "type":"string", - "documentation":"Specifies the optional second part of the street address for the return address, for example Suite 100." - }, - "street3":{ - "type":"string", - "documentation":"Specifies the optional third part of the street address for the return address, for example c/o Jane Doe." - } - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2015-08-18/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2015-08-18/service-2.json deleted file mode 100644 index 83b0bb1b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2015-08-18/service-2.json +++ /dev/null @@ -1,2100 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-08-18", - "endpointPrefix":"inspector", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Inspector", - "signatureVersion":"v4", - "targetPrefix":"InspectorService" - }, - "operations":{ - "AddAttributesToFindings":{ - "name":"AddAttributesToFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddAttributesToFindingsRequest"}, - "output":{"shape":"AddAttributesToFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Assigns attributes (key and value pair) to the findings specified by the findings' ARNs.

" - }, - "AttachAssessmentAndRulesPackage":{ - "name":"AttachAssessmentAndRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachAssessmentAndRulesPackageRequest"}, - "output":{"shape":"AttachAssessmentAndRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Attaches the rules package specified by the rules package ARN to the assessment specified by the assessment ARN.

" - }, - "CreateApplication":{ - "name":"CreateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationRequest"}, - "output":{"shape":"CreateApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Creates a new application using the resource group ARN generated by CreateResourceGroup. You can create up to 50 applications per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Inspector Applications.

" - }, - "CreateAssessment":{ - "name":"CreateAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssessmentRequest"}, - "output":{"shape":"CreateAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Creates an assessment for the application specified by the application ARN. You can create up to 500 assessments per AWS account.

" - }, - "CreateResourceGroup":{ - "name":"CreateResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceGroupRequest"}, - "output":{"shape":"CreateResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Inspector application. The created resource group is then used to create an Inspector application.

" - }, - "DeleteApplication":{ - "name":"DeleteApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationRequest"}, - "output":{"shape":"DeleteApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Deletes the application specified by the application ARN.

" - }, - "DeleteAssessment":{ - "name":"DeleteAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssessmentRequest"}, - "output":{"shape":"DeleteAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"OperationInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Deletes the assessment specified by the assessment ARN.

" - }, - "DeleteRun":{ - "name":"DeleteRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRunRequest"}, - "output":{"shape":"DeleteRunResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Deletes the assessment run specified by the run ARN.

" - }, - "DescribeApplication":{ - "name":"DescribeApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationRequest"}, - "output":{"shape":"DescribeApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the application specified by the application ARN.

" - }, - "DescribeAssessment":{ - "name":"DescribeAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssessmentRequest"}, - "output":{"shape":"DescribeAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the assessment specified by the assessment ARN.

" - }, - "DescribeCrossAccountAccessRole":{ - "name":"DescribeCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"DescribeCrossAccountAccessRoleResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Describes the IAM role that enables Inspector to access your AWS account.

" - }, - "DescribeFinding":{ - "name":"DescribeFinding", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFindingRequest"}, - "output":{"shape":"DescribeFindingResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the finding specified by the finding ARN.

" - }, - "DescribeResourceGroup":{ - "name":"DescribeResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourceGroupRequest"}, - "output":{"shape":"DescribeResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the resource group specified by the resource group ARN.

" - }, - "DescribeRulesPackage":{ - "name":"DescribeRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRulesPackageRequest"}, - "output":{"shape":"DescribeRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the rules package specified by the rules package ARN.

" - }, - "DescribeRun":{ - "name":"DescribeRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRunRequest"}, - "output":{"shape":"DescribeRunResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Describes the assessment run specified by the run ARN.

" - }, - "DetachAssessmentAndRulesPackage":{ - "name":"DetachAssessmentAndRulesPackage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachAssessmentAndRulesPackageRequest"}, - "output":{"shape":"DetachAssessmentAndRulesPackageResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Detaches the rules package specified by the rules package ARN from the assessment specified by the assessment ARN.

" - }, - "GetAssessmentTelemetry":{ - "name":"GetAssessmentTelemetry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAssessmentTelemetryRequest"}, - "output":{"shape":"GetAssessmentTelemetryResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Returns the metadata about the telemetry (application behavioral data) for the assessment specified by the assessment ARN.

" - }, - "ListApplications":{ - "name":"ListApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListApplicationsRequest"}, - "output":{"shape":"ListApplicationsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Lists the ARNs of the applications within this AWS account. For more information about applications, see Inspector Applications.

" - }, - "ListAssessmentAgents":{ - "name":"ListAssessmentAgents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentAgentsRequest"}, - "output":{"shape":"ListAssessmentAgentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the agents of the assessment specified by the assessment ARN.

" - }, - "ListAssessments":{ - "name":"ListAssessments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentsRequest"}, - "output":{"shape":"ListAssessmentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the assessments corresponding to applications specified by the applications' ARNs.

" - }, - "ListAttachedAssessments":{ - "name":"ListAttachedAssessments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedAssessmentsRequest"}, - "output":{"shape":"ListAttachedAssessmentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the assessments attached to the rules package specified by the rules package ARN.

" - }, - "ListAttachedRulesPackages":{ - "name":"ListAttachedRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttachedRulesPackagesRequest"}, - "output":{"shape":"ListAttachedRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the rules packages attached to the assessment specified by the assessment ARN.

" - }, - "ListFindings":{ - "name":"ListFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFindingsRequest"}, - "output":{"shape":"ListFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists findings generated by the assessment run specified by the run ARNs.

" - }, - "ListRulesPackages":{ - "name":"ListRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesPackagesRequest"}, - "output":{"shape":"ListRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Lists all available Inspector rules packages.

" - }, - "ListRuns":{ - "name":"ListRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRunsRequest"}, - "output":{"shape":"ListRunsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the assessment runs associated with the assessments specified by the assessment ARNs.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists all tags associated with a resource.

" - }, - "LocalizeText":{ - "name":"LocalizeText", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LocalizeTextRequest"}, - "output":{"shape":"LocalizeTextResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Translates a textual identifier into a user-readable text in a specified locale.

" - }, - "PreviewAgentsForResourceGroup":{ - "name":"PreviewAgentsForResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PreviewAgentsForResourceGroupRequest"}, - "output":{"shape":"PreviewAgentsForResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"} - ], - "documentation":"

Previews the agents installed on the EC2 instances that are included in the application created with the specified resource group.

" - }, - "RegisterCrossAccountAccessRole":{ - "name":"RegisterCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterCrossAccountAccessRoleRequest"}, - "output":{"shape":"RegisterCrossAccountAccessRoleResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidCrossAccountRoleException"} - ], - "documentation":"

Register the role that Inspector uses to list your EC2 instances during the assessment.

" - }, - "RemoveAttributesFromFindings":{ - "name":"RemoveAttributesFromFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveAttributesFromFindingsRequest"}, - "output":{"shape":"RemoveAttributesFromFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Removes the entire attribute (key and value pair) from the findings specified by the finding ARNs where an attribute with the specified key exists.

" - }, - "RunAssessment":{ - "name":"RunAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RunAssessmentRequest"}, - "output":{"shape":"RunAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Starts the analysis of the application’s behavior against selected rule packages for the assessment specified by the assessment ARN.

" - }, - "SetTagsForResource":{ - "name":"SetTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTagsForResourceRequest"}, - "output":{"shape":"SetTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Sets tags (key and value pairs) to the assessment specified by the assessment ARN.

" - }, - "StartDataCollection":{ - "name":"StartDataCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartDataCollectionRequest"}, - "output":{"shape":"StartDataCollectionResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"} - ], - "documentation":"

Starts data collection for the assessment specified by the assessment ARN. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.

" - }, - "StopDataCollection":{ - "name":"StopDataCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopDataCollectionRequest"}, - "output":{"shape":"StopDataCollectionResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Stop data collection for the assessment specified by the assessment ARN.

" - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationRequest"}, - "output":{"shape":"UpdateApplicationResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Updates application specified by the application ARN.

" - }, - "UpdateAssessment":{ - "name":"UpdateAssessment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssessmentRequest"}, - "output":{"shape":"UpdateAssessmentResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Updates the assessment specified by the assessment ARN.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "AddAttributesToFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributes" - ], - "members":{ - "findingArns":{ - "shape":"ArnList", - "documentation":"

The ARNs specifying the findings that you want to assign attributes to.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

The array of attributes that you want to assign to specified findings.

" - } - } - }, - "AddAttributesToFindingsResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Agent":{ - "type":"structure", - "members":{ - "agentId":{ - "shape":"AgentId", - "documentation":"

The EC2 instance ID where the agent is installed.

" - }, - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment that is associated with the agent.

" - }, - "agentHealth":{ - "shape":"AgentHealth", - "documentation":"

The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY.

" - }, - "agentHealthCode":{ - "shape":"AgentHealthCode", - "documentation":"

The detailed health state of the agent. Values can be set to RUNNING, HEALTHY, UNHEALTHY, UNKNOWN, BLACKLISTED, SHUTDOWN, THROTTLED.

" - }, - "agentHealthDetails":{ - "shape":"AgentHealthDetails", - "documentation":"

The description for the agent health code.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

This data type property is currently not used.

" - }, - "accountId":{ - "shape":"AwsAccount", - "documentation":"

AWS account of the EC2 instance where the agent is installed.

" - }, - "telemetry":{ - "shape":"TelemetryList", - "documentation":"

The Inspector application data metrics collected by the agent.

" - } - }, - "documentation":"

Contains information about an Inspector agent. This data type is used as a response element in the ListAssessmentAgents action.

" - }, - "AgentHealth":{"type":"string"}, - "AgentHealthCode":{"type":"string"}, - "AgentHealthDetails":{"type":"string"}, - "AgentHealthList":{ - "type":"list", - "member":{"shape":"AgentHealth"} - }, - "AgentId":{"type":"string"}, - "AgentList":{ - "type":"list", - "member":{"shape":"Agent"} - }, - "AgentPreview":{ - "type":"structure", - "members":{ - "agentId":{ - "shape":"AgentId", - "documentation":"

The id of the EC2 instance where the agent is intalled.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

The autoscaling group for the EC2 instance where the agent is installed.

" - } - }, - "documentation":"

This data type is used as a response element in the PreviewAgentsForResourceGroup action.

" - }, - "AgentPreviewList":{ - "type":"list", - "member":{"shape":"AgentPreview"} - }, - "AgentsFilter":{ - "type":"structure", - "members":{ - "agentHealthList":{ - "shape":"AgentHealthList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the agentHealth property of the Agent data type.

" - } - }, - "documentation":"

This data type is used as a response element in the ListAssessmentAgents action.

" - }, - "Application":{ - "type":"structure", - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the Inspector application.

" - }, - "applicationName":{ - "shape":"Name", - "documentation":"

The name of the Inspector application.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the resource group that is associated with the application.

" - } - }, - "documentation":"

Contains information about an Inspector application.

This data type is used as the response element in the DescribeApplication action.

" - }, - "ApplicationsFilter":{ - "type":"structure", - "members":{ - "applicationNamePatterns":{ - "shape":"NamePatternList", - "documentation":"

For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the applicationName property of the Application data type.

" - } - }, - "documentation":"

This data type is used as the request parameter in the ListApplications action.

" - }, - "Arn":{"type":"string"}, - "ArnList":{ - "type":"list", - "member":{"shape":"Arn"} - }, - "Assessment":{ - "type":"structure", - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment.

" - }, - "assessmentName":{ - "shape":"Name", - "documentation":"

The name of the assessment.

" - }, - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN of the application that corresponds to this assessment.

" - }, - "assessmentState":{ - "shape":"AssessmentState", - "documentation":"

The state of the assessment. Values can be set to Created, Collecting Data, Stopping, and Completed.

" - }, - "failureMessage":{ - "shape":"FailureMessage", - "documentation":"

This data type property is not currently used.

" - }, - "dataCollected":{ - "shape":"Bool", - "documentation":"

Boolean value (true or false) specifying whether the data collection process is completed.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

The assessment start time.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

The assessment end time.

" - }, - "durationInSeconds":{ - "shape":"Duration", - "documentation":"

The assessment duration in seconds. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" - }, - "userAttributesForFindings":{ - "shape":"AttributeList", - "documentation":"

The user-defined attributes that are assigned to every generated finding.

" - } - }, - "documentation":"

Contains information about an Inspector assessment.

This data type is used as the response element in the DescribeAssessment action.

" - }, - "AssessmentState":{"type":"string"}, - "AssessmentStateList":{ - "type":"list", - "member":{"shape":"AssessmentState"} - }, - "AssessmentsFilter":{ - "type":"structure", - "members":{ - "assessmentNamePatterns":{ - "shape":"NamePatternList", - "documentation":"

For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the assessmentName property of the Assessment data type.

" - }, - "assessmentStates":{ - "shape":"AssessmentStateList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the assessmentState property of the Assessment data type.

" - }, - "dataCollected":{ - "shape":"Bool", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the dataCollected property of the Assessment data type.

" - }, - "startTimeRange":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the startTime property of the Assessment data type.

" - }, - "endTimeRange":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the endTime property of the Assessment data type.

" - }, - "durationRange":{ - "shape":"DurationRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the durationInSeconds property of the Assessment data type.

" - } - }, - "documentation":"

This data type is used as the request parameter in the ListAssessments and ListAttachedAssessments actions.

" - }, - "AttachAssessmentAndRulesPackageRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "rulesPackageArn" - ], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment to which you want to attach a rules package.

" - }, - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the rules package that you want to attach to the assessment.

" - } - } - }, - "AttachAssessmentAndRulesPackageResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Attribute":{ - "type":"structure", - "members":{ - "key":{ - "shape":"AttributeKey", - "documentation":"

The attribute key.

" - }, - "value":{ - "shape":"AttributeValue", - "documentation":"

The value assigned to the attribute key.

" - } - }, - "documentation":"

This data type is used as a response element in the AddAttributesToFindings action and a request parameter in the CreateAssessment action.

" - }, - "AttributeKey":{"type":"string"}, - "AttributeKeyList":{ - "type":"list", - "member":{"shape":"AttributeKey"} - }, - "AttributeList":{ - "type":"list", - "member":{"shape":"Attribute"} - }, - "AttributeValue":{"type":"string"}, - "AutoScalingGroup":{"type":"string"}, - "AwsAccount":{"type":"string"}, - "Bool":{"type":"boolean"}, - "CreateApplicationRequest":{ - "type":"structure", - "required":[ - "applicationName", - "resourceGroupArn" - ], - "members":{ - "applicationName":{ - "shape":"Name", - "documentation":"

The user-defined name identifying the application that you want to create. The name must be unique within the AWS account.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the resource group that is used to create the application.

" - } - } - }, - "CreateApplicationResponse":{ - "type":"structure", - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the application that is created.

" - } - } - }, - "CreateAssessmentRequest":{ - "type":"structure", - "required":[ - "applicationArn", - "assessmentName", - "durationInSeconds" - ], - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the application for which you want to create an assessment.

" - }, - "assessmentName":{ - "shape":"Name", - "documentation":"

The user-defined name identifying the assessment that you want to create. You can create several assessments for an application. The names of the assessments corresponding to a particular application must be unique.

" - }, - "durationInSeconds":{ - "shape":"Duration", - "documentation":"

The duration of the assessment in seconds. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" - }, - "userAttributesForFindings":{ - "shape":"AttributeList", - "documentation":"

The user-defined attributes that are assigned to every finding generated by running this assessment.

" - } - } - }, - "CreateAssessmentResponse":{ - "type":"structure", - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment that is created.

" - } - } - }, - "CreateResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupTags"], - "members":{ - "resourceGroupTags":{ - "shape":"ResourceGroupTags", - "documentation":"

A collection of keys and an array of possible values in JSON format.

For example, [{ \"key1\" : [\"Value1\",\"Value2\"]},{\"Key2\": [\"Value3\"]}]

" - } - } - }, - "CreateResourceGroupResponse":{ - "type":"structure", - "members":{ - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the resource group that is created.

" - } - } - }, - "DeleteApplicationRequest":{ - "type":"structure", - "required":["applicationArn"], - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the application that you want to delete.

" - } - } - }, - "DeleteApplicationResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "DeleteAssessmentRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment that you want to delete.

" - } - } - }, - "DeleteAssessmentResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "DeleteRunRequest":{ - "type":"structure", - "required":["runArn"], - "members":{ - "runArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment run that you want to delete.

" - } - } - }, - "DeleteRunResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "DescribeApplicationRequest":{ - "type":"structure", - "required":["applicationArn"], - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the application that you want to describe.

" - } - } - }, - "DescribeApplicationResponse":{ - "type":"structure", - "members":{ - "application":{ - "shape":"Application", - "documentation":"

Information about the application.

" - } - } - }, - "DescribeAssessmentRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment that you want to describe.

" - } - } - }, - "DescribeAssessmentResponse":{ - "type":"structure", - "members":{ - "assessment":{ - "shape":"Assessment", - "documentation":"

Information about the assessment.

" - } - } - }, - "DescribeCrossAccountAccessRoleResponse":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the IAM role that Inspector uses to access your AWS account.

" - }, - "valid":{ - "shape":"Bool", - "documentation":"

A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Inspector to access your AWS account.

" - } - } - }, - "DescribeFindingRequest":{ - "type":"structure", - "required":["findingArn"], - "members":{ - "findingArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the finding that you want to describe.

" - } - } - }, - "DescribeFindingResponse":{ - "type":"structure", - "members":{ - "finding":{ - "shape":"Finding", - "documentation":"

Information about the finding.

" - } - } - }, - "DescribeResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupArn"], - "members":{ - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the resource group that you want to describe.

" - } - } - }, - "DescribeResourceGroupResponse":{ - "type":"structure", - "members":{ - "resourceGroup":{ - "shape":"ResourceGroup", - "documentation":"

Information about the resource group.

" - } - } - }, - "DescribeRulesPackageRequest":{ - "type":"structure", - "required":["rulesPackageArn"], - "members":{ - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the rules package that you want to describe.

" - } - } - }, - "DescribeRulesPackageResponse":{ - "type":"structure", - "members":{ - "rulesPackage":{ - "shape":"RulesPackage", - "documentation":"

Information about the rules package.

" - } - } - }, - "DescribeRunRequest":{ - "type":"structure", - "required":["runArn"], - "members":{ - "runArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment run that you want to describe.

" - } - } - }, - "DescribeRunResponse":{ - "type":"structure", - "members":{ - "run":{ - "shape":"Run", - "documentation":"

Information about the assessment run.

" - } - } - }, - "DetachAssessmentAndRulesPackageRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "rulesPackageArn" - ], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment from which you want to detach a rules package.

" - }, - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the rules package that you want to detach from the assessment.

" - } - } - }, - "DetachAssessmentAndRulesPackageResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Duration":{"type":"integer"}, - "DurationRange":{ - "type":"structure", - "members":{ - "minimum":{ - "shape":"Duration", - "documentation":"

The minimum value of the duration range. Must be greater than zero.

" - }, - "maximum":{ - "shape":"Duration", - "documentation":"

The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week).

" - } - }, - "documentation":"

This data type is used in the AssessmentsFilter data type.

" - }, - "FailureMessage":{"type":"string"}, - "Finding":{ - "type":"structure", - "members":{ - "findingArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the finding.

" - }, - "runArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that generated the finding.

" - }, - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the rules package that is used to generate the finding.

" - }, - "ruleName":{ - "shape":"Name", - "documentation":"

The rule name that is used to generate the finding.

" - }, - "agentId":{ - "shape":"AgentId", - "documentation":"

The EC2 instance ID where the agent is installed that is used during the assessment that generates the finding.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

The autoscaling group of the EC2 instance where the agent is installed that is used during the assessment that generates the finding.

" - }, - "severity":{ - "shape":"Severity", - "documentation":"

The finding severity. Values can be set to High, Medium, Low, and Informational.

" - }, - "finding":{ - "shape":"LocalizedText", - "documentation":"

A short description that identifies the finding.

" - }, - "description":{ - "shape":"LocalizedText", - "documentation":"

The description of the finding.

" - }, - "recommendation":{ - "shape":"LocalizedText", - "documentation":"

The recommendation for the finding.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

The system-defined attributes for the finding.

" - }, - "userAttributes":{ - "shape":"AttributeList", - "documentation":"

The user-defined attributes that are assigned to the finding.

" - } - }, - "documentation":"

Contains information about an Inspector finding.

This data type is used as the response element in the DescribeFinding action.

" - }, - "FindingsFilter":{ - "type":"structure", - "members":{ - "rulesPackageArns":{ - "shape":"ArnList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the rulesPackageArn property of the Finding data type.

" - }, - "ruleNames":{ - "shape":"NameList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the ruleName property of the Finding data type.

" - }, - "severities":{ - "shape":"SeverityList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the severity property of the Finding data type.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the attributes property of the Finding data type.

" - }, - "userAttributes":{ - "shape":"AttributeList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the userAttributes property of the Finding data type.

" - } - }, - "documentation":"

This data type is used as a request parameter in the ListFindings action.

" - }, - "GetAssessmentTelemetryRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment the telemetry of which you want to obtain.

" - } - } - }, - "GetAssessmentTelemetryResponse":{ - "type":"structure", - "members":{ - "telemetry":{ - "shape":"TelemetryList", - "documentation":"

Telemetry details.

" - } - } - }, - "Integer":{"type":"integer"}, - "InternalException":{ - "type":"structure", - "members":{ - }, - "exception":true, - "fault":true - }, - "InvalidCrossAccountRoleException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "ListApplicationsRequest":{ - "type":"structure", - "members":{ - "filter":{ - "shape":"ApplicationsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListApplications action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListApplicationsResponse":{ - "type":"structure", - "members":{ - "applicationArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the applications returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListAssessmentAgentsRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment whose agents you want to list.

" - }, - "filter":{ - "shape":"AgentsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListAssessmentAgents action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentAgentsResponse":{ - "type":"structure", - "members":{ - "agentList":{ - "shape":"AgentList", - "documentation":"

A list of ARNs specifying the agents returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListAssessmentsRequest":{ - "type":"structure", - "members":{ - "applicationArns":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the applications the assessments of which you want to list.

" - }, - "filter":{ - "shape":"AssessmentsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListAssessments action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentsResponse":{ - "type":"structure", - "members":{ - "assessmentArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the assessments returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListAttachedAssessmentsRequest":{ - "type":"structure", - "required":["rulesPackageArn"], - "members":{ - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the rules package whose assessments you want to list.

" - }, - "filter":{ - "shape":"AssessmentsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListAttachedAssessments action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAttachedAssessmentsResponse":{ - "type":"structure", - "members":{ - "assessmentArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the assessments returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListAttachedRulesPackagesRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the assessment whose rules packages you want to list.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListAttachedRulesPackages action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAttachedRulesPackagesResponse":{ - "type":"structure", - "members":{ - "rulesPackageArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the rules packages returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListFindingsRequest":{ - "type":"structure", - "members":{ - "runArns":{ - "shape":"ArnList", - "documentation":"

The ARNs of the assessment runs that generate the findings that you want to list.

" - }, - "filter":{ - "shape":"FindingsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListFindings action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListFindingsResponse":{ - "type":"structure", - "members":{ - "findingArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the findings returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListRulesPackagesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListRulesPackages action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListRulesPackagesResponse":{ - "type":"structure", - "members":{ - "rulesPackageArnList":{ - "shape":"ArnList", - "documentation":"

The list of ARNs specifying the rules packages returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListRunsRequest":{ - "type":"structure", - "members":{ - "assessmentArns":{ - "shape":"ArnList", - "documentation":"

The ARNs specifying the assessments whose runs you want to list.

" - }, - "filter":{ - "shape":"RunsFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the ListRuns action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListRunsResponse":{ - "type":"structure", - "members":{ - "runArnList":{ - "shape":"ArnList", - "documentation":"

A list of ARNs specifying the assessment runs returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the resource whose tags you want to list.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "tagList":{ - "shape":"TagList", - "documentation":"

A collection of key and value pairs.

" - } - } - }, - "Locale":{"type":"string"}, - "LocalizeTextRequest":{ - "type":"structure", - "required":[ - "localizedTexts", - "locale" - ], - "members":{ - "localizedTexts":{ - "shape":"LocalizedTextList", - "documentation":"

A list of textual identifiers.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The locale that you want to translate a textual identifier into.

" - } - } - }, - "LocalizeTextResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - }, - "results":{ - "shape":"TextList", - "documentation":"

The resulting list of user-readable texts.

" - } - } - }, - "LocalizedFacility":{"type":"string"}, - "LocalizedText":{ - "type":"structure", - "members":{ - "key":{ - "shape":"LocalizedTextKey", - "documentation":"

The facility and id properties of the LocalizedTextKey data type.

" - }, - "parameters":{ - "shape":"ParameterList", - "documentation":"

Values for the dynamic elements of the string specified by the textual identifier.

" - } - }, - "documentation":"

The textual identifier. This data type is used as the request parameter in the LocalizeText action.

" - }, - "LocalizedTextId":{"type":"string"}, - "LocalizedTextKey":{ - "type":"structure", - "members":{ - "facility":{ - "shape":"LocalizedFacility", - "documentation":"

The module response source of the text.

" - }, - "id":{ - "shape":"LocalizedTextId", - "documentation":"

Part of the module response source of the text.

" - } - }, - "documentation":"

This data type is used in the LocalizedText data type.

" - }, - "LocalizedTextList":{ - "type":"list", - "member":{"shape":"LocalizedText"} - }, - "Long":{"type":"long"}, - "Message":{"type":"string"}, - "MessageType":{"type":"string"}, - "MessageTypeTelemetry":{ - "type":"structure", - "members":{ - "messageType":{ - "shape":"MessageType", - "documentation":"

A specific type of behavioral data that is collected by the agent.

" - }, - "count":{ - "shape":"Long", - "documentation":"

The number of times that the behavioral data is collected by the agent during an assessment.

" - }, - "dataSize":{ - "shape":"Long", - "documentation":"

The total size of the behavioral data that is collected by the agent during an assessment.

" - } - }, - "documentation":"

This data type is used in the Telemetry data type.

This is metadata about the behavioral data collected by the Inspector agent on your EC2 instances during an assessment and passed to the Inspector service for analysis.

" - }, - "MessageTypeTelemetryList":{ - "type":"list", - "member":{"shape":"MessageTypeTelemetry"} - }, - "Name":{"type":"string"}, - "NameList":{ - "type":"list", - "member":{"shape":"Name"} - }, - "NamePattern":{"type":"string"}, - "NamePatternList":{ - "type":"list", - "member":{"shape":"NamePattern"} - }, - "NoSuchEntityException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "OperationInProgressException":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "PaginationToken":{"type":"string"}, - "Parameter":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ParameterName", - "documentation":"

The name of the variable that is being replaced.

" - }, - "value":{ - "shape":"ParameterValue", - "documentation":"

The value assigned to the variable that is being replaced.

" - } - }, - "documentation":"

This data type is used in the LocalizedText data type.

" - }, - "ParameterList":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "ParameterName":{"type":"string"}, - "ParameterValue":{"type":"string"}, - "PreviewAgentsForResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupArn"], - "members":{ - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource group that is used to create an application.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the PreviewAgentsForResourceGroup action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"Integer", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "PreviewAgentsForResourceGroupResponse":{ - "type":"structure", - "members":{ - "agentPreviewList":{ - "shape":"AgentPreviewList", - "documentation":"

The resulting list of agents.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.

" - } - } - }, - "RegisterCrossAccountAccessRoleRequest":{ - "type":"structure", - "required":["roleArn"], - "members":{ - "roleArn":{ - "shape":"Arn", - "documentation":"The ARN of the IAM role that Inspector uses to list your EC2 instances during the assessment." - } - } - }, - "RegisterCrossAccountAccessRoleResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "RemoveAttributesFromFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributeKeys" - ], - "members":{ - "findingArns":{ - "shape":"ArnList", - "documentation":"

The ARNs specifying the findings that you want to remove attributes from.

" - }, - "attributeKeys":{ - "shape":"AttributeKeyList", - "documentation":"

The array of attribute keys that you want to remove from specified findings.

" - } - } - }, - "RemoveAttributesFromFindingsResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "ResourceGroup":{ - "type":"structure", - "members":{ - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource group.

" - }, - "resourceGroupTags":{ - "shape":"ResourceGroupTags", - "documentation":"

The tags (key and value pairs) of the resource group.

This data type property is used in the CreateResourceGroup action.

A collection of keys and an array of possible values in JSON format.

For example, [{ \"key1\" : [\"Value1\",\"Value2\"]},{\"Key2\": [\"Value3\"]}]

" - } - }, - "documentation":"

Contains information about a resource group. The resource group defines a set of tags that, when queried, identify the AWS resources that comprise the application.

This data type is used as the response element in the DescribeResourceGroup action.

" - }, - "ResourceGroupTags":{"type":"string"}, - "RulesPackage":{ - "type":"structure", - "members":{ - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the rules package.

" - }, - "rulesPackageName":{ - "shape":"Name", - "documentation":"

The name of the rules package.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version id of the rules package.

" - }, - "provider":{ - "shape":"Name", - "documentation":"

The provider of the rules package.

" - }, - "description":{ - "shape":"LocalizedText", - "documentation":"

The description of the rules package.

" - } - }, - "documentation":"

Contains information about an Inspector rules package.

This data type is used as the response element in the DescribeRulesPackage action.

" - }, - "Run":{ - "type":"structure", - "members":{ - "runArn":{ - "shape":"Arn", - "documentation":"

The ARN of the run.

" - }, - "runName":{ - "shape":"Name", - "documentation":"

The auto-generated name for the run.

" - }, - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment that is associated with the run.

" - }, - "runState":{ - "shape":"RunState", - "documentation":"

The state of the run. Values can be set to DataCollectionComplete, EvaluatingPolicies, EvaluatingPoliciesErrorCanRetry, Completed, Failed, TombStoned.

" - }, - "rulesPackages":{ - "shape":"ArnList", - "documentation":"

Rules packages selected for the run of the assessment.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

Run creation time that corresponds to the data collection completion time or failure.

" - }, - "completionTime":{ - "shape":"Timestamp", - "documentation":"

Run completion time that corresponds to the rules packages evaluation completion time or failure.

" - } - }, - "documentation":"

A snapshot of an Inspector assessment that contains the assessment's findings.

This data type is used as the response element in the DescribeRun action.

" - }, - "RunAssessmentRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "runName" - ], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment that you want to run.

" - }, - "runName":{ - "shape":"Name", - "documentation":"

A name specifying the run of the assessment.

" - } - } - }, - "RunAssessmentResponse":{ - "type":"structure", - "members":{ - "runArn":{ - "shape":"Arn", - "documentation":"

The ARN specifying the run of the assessment.

" - } - } - }, - "RunState":{"type":"string"}, - "RunStateList":{ - "type":"list", - "member":{"shape":"RunState"} - }, - "RunsFilter":{ - "type":"structure", - "members":{ - "runNamePatterns":{ - "shape":"NamePatternList", - "documentation":"

For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the runName property of the Run data type.

" - }, - "runStates":{ - "shape":"RunStateList", - "documentation":"

For a record to match a filter, the value specified for this data type property must be the exact match of the value of the runState property of the Run data type.

" - }, - "rulesPackages":{ - "shape":"ArnList", - "documentation":"

For a record to match a filter, the value specified for this data type property must match a list of values of the rulesPackages property of the Run data type.

" - }, - "creationTime":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the creationTime property of the Run data type.

" - }, - "completionTime":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the completionTime property of the Run data type.

" - } - }, - "documentation":"

This data type is used as the request parameter in the ListRuns action.

" - }, - "SetTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment that you want to set tags to.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

A collection of key and value pairs that you want to set to an assessment.

" - } - } - }, - "SetTagsForResourceResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Severity":{"type":"string"}, - "SeverityList":{ - "type":"list", - "member":{"shape":"Severity"} - }, - "StartDataCollectionRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment for which you want to start the data collection process.

" - } - } - }, - "StartDataCollectionResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "StopDataCollectionRequest":{ - "type":"structure", - "required":["assessmentArn"], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment for which you want to stop the data collection process.

" - } - } - }, - "StopDataCollectionResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value assigned to a tag key.

" - } - }, - "documentation":"

A key and value pair.

This data type is used as a request parameter in the SetTagsForResource action and a response element in the ListTagsForResource action.

" - }, - "TagKey":{"type":"string"}, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{"type":"string"}, - "Telemetry":{ - "type":"structure", - "members":{ - "status":{ - "shape":"TelemetryStatus", - "documentation":"

The category of the individual metrics that together constitute the telemetry that Inspector received from the agent.

" - }, - "messageTypeTelemetries":{ - "shape":"MessageTypeTelemetryList", - "documentation":"

Counts of individual metrics received by Inspector from the agent.

" - } - }, - "documentation":"

The metadata about the Inspector application data metrics collected by the agent.

This data type is used as the response element in the GetAssessmentTelemetry action.

" - }, - "TelemetryList":{ - "type":"list", - "member":{"shape":"Telemetry"} - }, - "TelemetryStatus":{"type":"string"}, - "Text":{"type":"string"}, - "TextList":{ - "type":"list", - "member":{"shape":"Text"} - }, - "Timestamp":{"type":"timestamp"}, - "TimestampRange":{ - "type":"structure", - "members":{ - "minimum":{ - "shape":"Timestamp", - "documentation":"

The minimum value of the timestamp range.

" - }, - "maximum":{ - "shape":"Timestamp", - "documentation":"

The maximum value of the timestamp range.

" - } - }, - "documentation":"

This data type is used in the AssessmentsFilter and RunsFilter data types.

" - }, - "UpdateApplicationRequest":{ - "type":"structure", - "required":[ - "applicationArn", - "applicationName", - "resourceGroupArn" - ], - "members":{ - "applicationArn":{ - "shape":"Arn", - "documentation":"

Application ARN that you want to update.

" - }, - "applicationName":{ - "shape":"Name", - "documentation":"

Application name that you want to update.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The resource group ARN that you want to update.

" - } - } - }, - "UpdateApplicationResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "UpdateAssessmentRequest":{ - "type":"structure", - "required":[ - "assessmentArn", - "assessmentName", - "durationInSeconds" - ], - "members":{ - "assessmentArn":{ - "shape":"Arn", - "documentation":"

Asessment ARN that you want to update.

" - }, - "assessmentName":{ - "shape":"Name", - "documentation":"

Assessment name that you want to update.

" - }, - "durationInSeconds":{ - "shape":"Duration", - "documentation":"

Assessment duration in seconds that you want to update. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" - } - } - }, - "UpdateAssessmentResponse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

Confirmation details of the action performed.

" - } - } - }, - "Version":{"type":"string"} - }, - "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of the applications you run in AWS and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/examples-1.json deleted file mode 100644 index 24fcb7a9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/examples-1.json +++ /dev/null @@ -1,1140 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/paginators-1.json deleted file mode 100644 index 83d2ad2c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/paginators-1.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "pagination": { - "ListFindings": { - "result_key": "findingArns", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListAssessmentTemplates": { - "result_key": "assessmentTemplateArns", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "PreviewAgents": { - "result_key": "agentPreviews", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListEventSubscriptions": { - "result_key": "subscriptions", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListRulesPackages": { - "result_key": "rulesPackageArns", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListAssessmentRunAgents": { - "result_key": "assessmentRunAgents", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListAssessmentRuns": { - "result_key": "assessmentRunArns", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListAssessmentTargets": { - "result_key": "assessmentTargetArns", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/service-2.json deleted file mode 100644 index cc6ef8a2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/inspector/2016-02-16/service-2.json +++ /dev/null @@ -1,3315 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-02-16", - "endpointPrefix":"inspector", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Inspector", - "serviceId":"Inspector", - "signatureVersion":"v4", - "targetPrefix":"InspectorService", - "uid":"inspector-2016-02-16" - }, - "operations":{ - "AddAttributesToFindings":{ - "name":"AddAttributesToFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddAttributesToFindingsRequest"}, - "output":{"shape":"AddAttributesToFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings.

" - }, - "CreateAssessmentTarget":{ - "name":"CreateAssessmentTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssessmentTargetRequest"}, - "output":{"shape":"CreateAssessmentTargetResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

" - }, - "CreateAssessmentTemplate":{ - "name":"CreateAssessmentTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssessmentTemplateRequest"}, - "output":{"shape":"CreateAssessmentTemplateResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Creates an assessment template for the assessment target that is specified by the ARN of the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments.

" - }, - "CreateExclusionsPreview":{ - "name":"CreateExclusionsPreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateExclusionsPreviewRequest"}, - "output":{"shape":"CreateExclusionsPreviewResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"PreviewGenerationInProgressException"}, - {"shape":"InternalException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Starts the generation of an exclusions preview for the specified assessment template. The exclusions preview lists the potential exclusions (ExclusionPreview) that Inspector can detect before it runs the assessment.

" - }, - "CreateResourceGroup":{ - "name":"CreateResourceGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceGroupRequest"}, - "output":{"shape":"CreateResourceGroupResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Amazon Inspector assessment target. The created resource group is then used to create an Amazon Inspector assessment target. For more information, see CreateAssessmentTarget.

" - }, - "DeleteAssessmentRun":{ - "name":"DeleteAssessmentRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssessmentRunRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AssessmentRunInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Deletes the assessment run that is specified by the ARN of the assessment run.

" - }, - "DeleteAssessmentTarget":{ - "name":"DeleteAssessmentTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssessmentTargetRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AssessmentRunInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Deletes the assessment target that is specified by the ARN of the assessment target.

" - }, - "DeleteAssessmentTemplate":{ - "name":"DeleteAssessmentTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssessmentTemplateRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AssessmentRunInProgressException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Deletes the assessment template that is specified by the ARN of the assessment template.

" - }, - "DescribeAssessmentRuns":{ - "name":"DescribeAssessmentRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssessmentRunsRequest"}, - "output":{"shape":"DescribeAssessmentRunsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the assessment runs that are specified by the ARNs of the assessment runs.

" - }, - "DescribeAssessmentTargets":{ - "name":"DescribeAssessmentTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssessmentTargetsRequest"}, - "output":{"shape":"DescribeAssessmentTargetsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the assessment targets that are specified by the ARNs of the assessment targets.

" - }, - "DescribeAssessmentTemplates":{ - "name":"DescribeAssessmentTemplates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssessmentTemplatesRequest"}, - "output":{"shape":"DescribeAssessmentTemplatesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the assessment templates that are specified by the ARNs of the assessment templates.

" - }, - "DescribeCrossAccountAccessRole":{ - "name":"DescribeCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"DescribeCrossAccountAccessRoleResponse"}, - "errors":[ - {"shape":"InternalException"} - ], - "documentation":"

Describes the IAM role that enables Amazon Inspector to access your AWS account.

" - }, - "DescribeExclusions":{ - "name":"DescribeExclusions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExclusionsRequest"}, - "output":{"shape":"DescribeExclusionsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the exclusions that are specified by the exclusions' ARNs.

" - }, - "DescribeFindings":{ - "name":"DescribeFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeFindingsRequest"}, - "output":{"shape":"DescribeFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the findings that are specified by the ARNs of the findings.

" - }, - "DescribeResourceGroups":{ - "name":"DescribeResourceGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourceGroupsRequest"}, - "output":{"shape":"DescribeResourceGroupsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the resource groups that are specified by the ARNs of the resource groups.

" - }, - "DescribeRulesPackages":{ - "name":"DescribeRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRulesPackagesRequest"}, - "output":{"shape":"DescribeRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Describes the rules packages that are specified by the ARNs of the rules packages.

" - }, - "GetAssessmentReport":{ - "name":"GetAssessmentReport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAssessmentReportRequest"}, - "output":{"shape":"GetAssessmentReportResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"AssessmentRunInProgressException"}, - {"shape":"UnsupportedFeatureException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Produces an assessment report that includes detailed and comprehensive results of a specified assessment run.

" - }, - "GetExclusionsPreview":{ - "name":"GetExclusionsPreview", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetExclusionsPreviewRequest"}, - "output":{"shape":"GetExclusionsPreviewResponse"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Retrieves the exclusions preview (a list of ExclusionPreview objects) specified by the preview token. You can obtain the preview token by running the CreateExclusionsPreview API.

" - }, - "GetTelemetryMetadata":{ - "name":"GetTelemetryMetadata", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTelemetryMetadataRequest"}, - "output":{"shape":"GetTelemetryMetadataResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Information about the data that is collected for the specified assessment run.

" - }, - "ListAssessmentRunAgents":{ - "name":"ListAssessmentRunAgents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentRunAgentsRequest"}, - "output":{"shape":"ListAssessmentRunAgentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs.

" - }, - "ListAssessmentRuns":{ - "name":"ListAssessmentRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentRunsRequest"}, - "output":{"shape":"ListAssessmentRunsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates.

" - }, - "ListAssessmentTargets":{ - "name":"ListAssessmentTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentTargetsRequest"}, - "output":{"shape":"ListAssessmentTargetsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

" - }, - "ListAssessmentTemplates":{ - "name":"ListAssessmentTemplates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssessmentTemplatesRequest"}, - "output":{"shape":"ListAssessmentTemplatesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists the assessment templates that correspond to the assessment targets that are specified by the ARNs of the assessment targets.

" - }, - "ListEventSubscriptions":{ - "name":"ListEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEventSubscriptionsRequest"}, - "output":{"shape":"ListEventSubscriptionsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists all the event subscriptions for the assessment template that is specified by the ARN of the assessment template. For more information, see SubscribeToEvent and UnsubscribeFromEvent.

" - }, - "ListExclusions":{ - "name":"ListExclusions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListExclusionsRequest"}, - "output":{"shape":"ListExclusionsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

List exclusions that are generated by the assessment run.

" - }, - "ListFindings":{ - "name":"ListFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFindingsRequest"}, - "output":{"shape":"ListFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists findings that are generated by the assessment runs that are specified by the ARNs of the assessment runs.

" - }, - "ListRulesPackages":{ - "name":"ListRulesPackages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesPackagesRequest"}, - "output":{"shape":"ListRulesPackagesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Lists all available Amazon Inspector rules packages.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Lists all tags associated with an assessment template.

" - }, - "PreviewAgents":{ - "name":"PreviewAgents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PreviewAgentsRequest"}, - "output":{"shape":"PreviewAgentsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"} - ], - "documentation":"

Previews the agents installed on the EC2 instances that are part of the specified assessment target.

" - }, - "RegisterCrossAccountAccessRole":{ - "name":"RegisterCrossAccountAccessRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterCrossAccountAccessRoleRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InvalidCrossAccountRoleException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Registers the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

" - }, - "RemoveAttributesFromFindings":{ - "name":"RemoveAttributesFromFindings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveAttributesFromFindingsRequest"}, - "output":{"shape":"RemoveAttributesFromFindingsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Removes entire attributes (key and value pairs) from the findings that are specified by the ARNs of the findings where an attribute with the specified key exists.

" - }, - "SetTagsForResource":{ - "name":"SetTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTagsForResourceRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template.

" - }, - "StartAssessmentRun":{ - "name":"StartAssessmentRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartAssessmentRunRequest"}, - "output":{"shape":"StartAssessmentRunResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"InvalidCrossAccountRoleException"}, - {"shape":"AgentsAlreadyRunningAssessmentException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Starts the assessment run specified by the ARN of the assessment template. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.

" - }, - "StopAssessmentRun":{ - "name":"StopAssessmentRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopAssessmentRunRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Stops the assessment run that is specified by the ARN of the assessment run.

" - }, - "SubscribeToEvent":{ - "name":"SubscribeToEvent", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubscribeToEventRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

" - }, - "UnsubscribeFromEvent":{ - "name":"UnsubscribeFromEvent", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnsubscribeFromEventRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

" - }, - "UpdateAssessmentTarget":{ - "name":"UpdateAssessmentTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssessmentTargetRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"}, - {"shape":"ServiceTemporarilyUnavailableException"} - ], - "documentation":"

Updates the assessment target that is specified by the ARN of the assessment target.

If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target.

" - } - }, - "shapes":{ - "AccessDeniedErrorCode":{ - "type":"string", - "enum":[ - "ACCESS_DENIED_TO_ASSESSMENT_TARGET", - "ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE", - "ACCESS_DENIED_TO_ASSESSMENT_RUN", - "ACCESS_DENIED_TO_FINDING", - "ACCESS_DENIED_TO_RESOURCE_GROUP", - "ACCESS_DENIED_TO_RULES_PACKAGE", - "ACCESS_DENIED_TO_SNS_TOPIC", - "ACCESS_DENIED_TO_IAM_ROLE" - ] - }, - "AccessDeniedException":{ - "type":"structure", - "required":[ - "message", - "errorCode", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "errorCode":{ - "shape":"AccessDeniedErrorCode", - "documentation":"

Code that indicates the type of error that is generated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

You do not have required permissions to access the requested resource.

", - "exception":true - }, - "AddAttributesToFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributes" - ], - "members":{ - "findingArns":{ - "shape":"AddRemoveAttributesFindingArnList", - "documentation":"

The ARNs that specify the findings that you want to assign attributes to.

" - }, - "attributes":{ - "shape":"UserAttributeList", - "documentation":"

The array of attributes that you want to assign to specified findings.

" - } - } - }, - "AddAttributesToFindingsResponse":{ - "type":"structure", - "required":["failedItems"], - "members":{ - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Attribute details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "AddRemoveAttributesFindingArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":10, - "min":1 - }, - "AgentAlreadyRunningAssessment":{ - "type":"structure", - "required":[ - "agentId", - "assessmentRunArn" - ], - "members":{ - "agentId":{ - "shape":"AgentId", - "documentation":"

ID of the agent that is running on an EC2 instance that is already participating in another started assessment run.

" - }, - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that has already been started.

" - } - }, - "documentation":"

Used in the exception error that is thrown if you start an assessment run for an assessment target that includes an EC2 instance that is already participating in another started assessment run.

" - }, - "AgentAlreadyRunningAssessmentList":{ - "type":"list", - "member":{"shape":"AgentAlreadyRunningAssessment"}, - "max":10, - "min":1 - }, - "AgentFilter":{ - "type":"structure", - "required":[ - "agentHealths", - "agentHealthCodes" - ], - "members":{ - "agentHealths":{ - "shape":"AgentHealthList", - "documentation":"

The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY.

" - }, - "agentHealthCodes":{ - "shape":"AgentHealthCodeList", - "documentation":"

The detailed health state of the agent. Values can be set to IDLE, RUNNING, SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN.

" - } - }, - "documentation":"

Contains information about an Amazon Inspector agent. This data type is used as a request parameter in the ListAssessmentRunAgents action.

" - }, - "AgentHealth":{ - "type":"string", - "enum":[ - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ] - }, - "AgentHealthCode":{ - "type":"string", - "enum":[ - "IDLE", - "RUNNING", - "SHUTDOWN", - "UNHEALTHY", - "THROTTLED", - "UNKNOWN" - ] - }, - "AgentHealthCodeList":{ - "type":"list", - "member":{"shape":"AgentHealthCode"}, - "max":10, - "min":0 - }, - "AgentHealthList":{ - "type":"list", - "member":{"shape":"AgentHealth"}, - "max":10, - "min":0 - }, - "AgentId":{ - "type":"string", - "max":128, - "min":1 - }, - "AgentIdList":{ - "type":"list", - "member":{"shape":"AgentId"}, - "max":500, - "min":0 - }, - "AgentPreview":{ - "type":"structure", - "required":["agentId"], - "members":{ - "hostname":{ - "shape":"Hostname", - "documentation":"

The hostname of the EC2 instance on which the Amazon Inspector Agent is installed.

" - }, - "agentId":{ - "shape":"AgentId", - "documentation":"

The ID of the EC2 instance where the agent is installed.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

The Auto Scaling group for the EC2 instance where the agent is installed.

" - }, - "agentHealth":{ - "shape":"AgentHealth", - "documentation":"

The health status of the Amazon Inspector Agent.

" - }, - "agentVersion":{ - "shape":"AgentVersion", - "documentation":"

The version of the Amazon Inspector Agent.

" - }, - "operatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

The operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" - }, - "kernelVersion":{ - "shape":"KernelVersion", - "documentation":"

The kernel version of the operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" - }, - "ipv4Address":{ - "shape":"Ipv4Address", - "documentation":"

The IP address of the EC2 instance on which the Amazon Inspector Agent is installed.

" - } - }, - "documentation":"

Used as a response element in the PreviewAgents action.

" - }, - "AgentPreviewList":{ - "type":"list", - "member":{"shape":"AgentPreview"}, - "max":100, - "min":0 - }, - "AgentVersion":{ - "type":"string", - "max":128, - "min":1 - }, - "AgentsAlreadyRunningAssessmentException":{ - "type":"structure", - "required":[ - "message", - "agents", - "agentsTruncated", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "agents":{ - "shape":"AgentAlreadyRunningAssessmentList", - "documentation":"

" - }, - "agentsTruncated":{ - "shape":"Bool", - "documentation":"

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

You started an assessment run, but one of the instances is already participating in another assessment run.

", - "exception":true - }, - "AmiId":{ - "type":"string", - "max":256, - "min":0 - }, - "Arn":{ - "type":"string", - "max":300, - "min":1 - }, - "ArnCount":{"type":"integer"}, - "AssessmentRulesPackageArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":50, - "min":1 - }, - "AssessmentRun":{ - "type":"structure", - "required":[ - "arn", - "name", - "assessmentTemplateArn", - "state", - "durationInSeconds", - "rulesPackageArns", - "userAttributesForFindings", - "createdAt", - "stateChangedAt", - "dataCollected", - "stateChanges", - "notifications", - "findingCounts" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run.

" - }, - "name":{ - "shape":"AssessmentRunName", - "documentation":"

The auto-generated name for the assessment run.

" - }, - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template that is associated with the assessment run.

" - }, - "state":{ - "shape":"AssessmentRunState", - "documentation":"

The state of the assessment run.

" - }, - "durationInSeconds":{ - "shape":"AssessmentRunDuration", - "documentation":"

The duration of the assessment run.

" - }, - "rulesPackageArns":{ - "shape":"AssessmentRulesPackageArnList", - "documentation":"

The rules packages selected for the assessment run.

" - }, - "userAttributesForFindings":{ - "shape":"UserAttributeList", - "documentation":"

The user-defined attributes that are assigned to every generated finding.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The time when StartAssessmentRun was called.

" - }, - "startedAt":{ - "shape":"Timestamp", - "documentation":"

The time when StartAssessmentRun was called.

" - }, - "completedAt":{ - "shape":"Timestamp", - "documentation":"

The assessment run completion time that corresponds to the rules packages evaluation completion time or failure.

" - }, - "stateChangedAt":{ - "shape":"Timestamp", - "documentation":"

The last time when the assessment run's state changed.

" - }, - "dataCollected":{ - "shape":"Bool", - "documentation":"

A Boolean value (true or false) that specifies whether the process of collecting data from the agents is completed.

" - }, - "stateChanges":{ - "shape":"AssessmentRunStateChangeList", - "documentation":"

A list of the assessment run state changes.

" - }, - "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.

" - }, - "AssessmentRunAgent":{ - "type":"structure", - "required":[ - "agentId", - "assessmentRunArn", - "agentHealth", - "agentHealthCode", - "telemetryMetadata" - ], - "members":{ - "agentId":{ - "shape":"AgentId", - "documentation":"

The AWS account of the EC2 instance where the agent is installed.

" - }, - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that is associated with the agent.

" - }, - "agentHealth":{ - "shape":"AgentHealth", - "documentation":"

The current health state of the agent.

" - }, - "agentHealthCode":{ - "shape":"AgentHealthCode", - "documentation":"

The detailed health state of the agent.

" - }, - "agentHealthDetails":{ - "shape":"Message", - "documentation":"

The description for the agent health code.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

The Auto Scaling group of the EC2 instance that is specified by the agent ID.

" - }, - "telemetryMetadata":{ - "shape":"TelemetryMetadataList", - "documentation":"

The Amazon Inspector application data metrics that are collected by the agent.

" - } - }, - "documentation":"

Contains information about an Amazon Inspector agent. This data type is used as a response element in the ListAssessmentRunAgents action.

" - }, - "AssessmentRunAgentList":{ - "type":"list", - "member":{"shape":"AssessmentRunAgent"}, - "max":500, - "min":0 - }, - "AssessmentRunDuration":{ - "type":"integer", - "max":86400, - "min":180 - }, - "AssessmentRunFilter":{ - "type":"structure", - "members":{ - "namePattern":{ - "shape":"NamePattern", - "documentation":"

For a record to match a filter, an explicit value or a string containing a wildcard that is specified for this data type property must match the value of the assessmentRunName property of the AssessmentRun data type.

" - }, - "states":{ - "shape":"AssessmentRunStateList", - "documentation":"

For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the assessmentRunState property of the AssessmentRun data type.

" - }, - "durationRange":{ - "shape":"DurationRange", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the durationInSeconds property of the AssessmentRun data type.

" - }, - "rulesPackageArns":{ - "shape":"FilterRulesPackageArnList", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must be contained in the list of values of the rulesPackages property of the AssessmentRun data type.

" - }, - "startTimeRange":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the startTime property of the AssessmentRun data type.

" - }, - "completionTimeRange":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the completedAt property of the AssessmentRun data type.

" - }, - "stateChangeTimeRange":{ - "shape":"TimestampRange", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must match the stateChangedAt property of the AssessmentRun data type.

" - } - }, - "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"}, - "max":10, - "min":1 - }, - "AssessmentRunInProgressException":{ - "type":"structure", - "required":[ - "message", - "assessmentRunArns", - "assessmentRunArnsTruncated", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "assessmentRunArns":{ - "shape":"AssessmentRunInProgressArnList", - "documentation":"

The ARNs of the assessment runs that are currently in progress.

" - }, - "assessmentRunArnsTruncated":{ - "shape":"Bool", - "documentation":"

Boolean value that indicates whether the ARN list of the assessment runs is truncated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

You cannot perform a specified action if an assessment run is currently in progress.

", - "exception":true - }, - "AssessmentRunList":{ - "type":"list", - "member":{"shape":"AssessmentRun"}, - "max":10, - "min":0 - }, - "AssessmentRunName":{ - "type":"string", - "max":140, - "min":1 - }, - "AssessmentRunNotification":{ - "type":"structure", - "required":[ - "date", - "event", - "error" - ], - "members":{ - "date":{ - "shape":"Timestamp", - "documentation":"

The date of the notification.

" - }, - "event":{ - "shape":"InspectorEvent", - "documentation":"

The event for which a notification is sent.

" - }, - "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.

" - }, - "snsTopicArn":{ - "shape":"Arn", - "documentation":"

The SNS topic to which the SNS notification is sent.

" - }, - "snsPublishStatusCode":{ - "shape":"AssessmentRunNotificationSnsStatusCode", - "documentation":"

The status code of the SNS notification.

" - } - }, - "documentation":"

Used as one of the elements of the AssessmentRun data type.

" - }, - "AssessmentRunNotificationList":{ - "type":"list", - "member":{"shape":"AssessmentRunNotification"}, - "max":50, - "min":0 - }, - "AssessmentRunNotificationSnsStatusCode":{ - "type":"string", - "enum":[ - "SUCCESS", - "TOPIC_DOES_NOT_EXIST", - "ACCESS_DENIED", - "INTERNAL_ERROR" - ] - }, - "AssessmentRunState":{ - "type":"string", - "enum":[ - "CREATED", - "START_DATA_COLLECTION_PENDING", - "START_DATA_COLLECTION_IN_PROGRESS", - "COLLECTING_DATA", - "STOP_DATA_COLLECTION_PENDING", - "DATA_COLLECTED", - "START_EVALUATING_RULES_PENDING", - "EVALUATING_RULES", - "FAILED", - "ERROR", - "COMPLETED", - "COMPLETED_WITH_ERRORS", - "CANCELED" - ] - }, - "AssessmentRunStateChange":{ - "type":"structure", - "required":[ - "stateChangedAt", - "state" - ], - "members":{ - "stateChangedAt":{ - "shape":"Timestamp", - "documentation":"

The last time the assessment run state changed.

" - }, - "state":{ - "shape":"AssessmentRunState", - "documentation":"

The assessment run state.

" - } - }, - "documentation":"

Used as one of the elements of the AssessmentRun data type.

" - }, - "AssessmentRunStateChangeList":{ - "type":"list", - "member":{"shape":"AssessmentRunStateChange"}, - "max":50, - "min":0 - }, - "AssessmentRunStateList":{ - "type":"list", - "member":{"shape":"AssessmentRunState"}, - "max":50, - "min":0 - }, - "AssessmentTarget":{ - "type":"structure", - "required":[ - "arn", - "name", - "createdAt", - "updatedAt" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the Amazon Inspector assessment target.

" - }, - "name":{ - "shape":"AssessmentTargetName", - "documentation":"

The name of the Amazon Inspector assessment target.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the resource group that is associated with the assessment target.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The time at which the assessment target is created.

" - }, - "updatedAt":{ - "shape":"Timestamp", - "documentation":"

The time at which UpdateAssessmentTarget is called.

" - } - }, - "documentation":"

Contains information about an Amazon Inspector application. This data type is used as the response element in the DescribeAssessmentTargets action.

" - }, - "AssessmentTargetFilter":{ - "type":"structure", - "members":{ - "assessmentTargetNamePattern":{ - "shape":"NamePattern", - "documentation":"

For a record to match a filter, an explicit value or a string that contains a wildcard that is specified for this data type property must match the value of the assessmentTargetName property of the AssessmentTarget data type.

" - } - }, - "documentation":"

Used as the request parameter in the ListAssessmentTargets action.

" - }, - "AssessmentTargetList":{ - "type":"list", - "member":{"shape":"AssessmentTarget"}, - "max":10, - "min":0 - }, - "AssessmentTargetName":{ - "type":"string", - "max":140, - "min":1 - }, - "AssessmentTemplate":{ - "type":"structure", - "required":[ - "arn", - "name", - "assessmentTargetArn", - "durationInSeconds", - "rulesPackageArns", - "userAttributesForFindings", - "assessmentRunCount", - "createdAt" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template.

" - }, - "name":{ - "shape":"AssessmentTemplateName", - "documentation":"

The name of the assessment template.

" - }, - "assessmentTargetArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment target that corresponds to this assessment template.

" - }, - "durationInSeconds":{ - "shape":"AssessmentRunDuration", - "documentation":"

The duration in seconds specified for this assessment template. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" - }, - "rulesPackageArns":{ - "shape":"AssessmentTemplateRulesPackageArnList", - "documentation":"

The rules packages that are specified for this assessment template.

" - }, - "userAttributesForFindings":{ - "shape":"UserAttributeList", - "documentation":"

The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template.

" - }, - "lastAssessmentRunArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the most recent assessment run associated with this assessment template. This value exists only when the value of assessmentRunCount is greaterpa than zero.

" - }, - "assessmentRunCount":{ - "shape":"ArnCount", - "documentation":"

The number of existing assessment runs associated with this assessment template. This value can be zero or a positive integer.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The time at which the assessment template is created.

" - } - }, - "documentation":"

Contains information about an Amazon Inspector assessment template. This data type is used as the response element in the DescribeAssessmentTemplates action.

" - }, - "AssessmentTemplateFilter":{ - "type":"structure", - "members":{ - "namePattern":{ - "shape":"NamePattern", - "documentation":"

For a record to match a filter, an explicit value or a string that contains a wildcard that is specified for this data type property must match the value of the assessmentTemplateName property of the AssessmentTemplate data type.

" - }, - "durationRange":{ - "shape":"DurationRange", - "documentation":"

For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the durationInSeconds property of the AssessmentTemplate data type.

" - }, - "rulesPackageArns":{ - "shape":"FilterRulesPackageArnList", - "documentation":"

For a record to match a filter, the values that are specified for this data type property must be contained in the list of values of the rulesPackageArns property of the AssessmentTemplate data type.

" - } - }, - "documentation":"

Used as the request parameter in the ListAssessmentTemplates action.

" - }, - "AssessmentTemplateList":{ - "type":"list", - "member":{"shape":"AssessmentTemplate"}, - "max":10, - "min":0 - }, - "AssessmentTemplateName":{ - "type":"string", - "max":140, - "min":1 - }, - "AssessmentTemplateRulesPackageArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":50, - "min":0 - }, - "AssetAttributes":{ - "type":"structure", - "required":["schemaVersion"], - "members":{ - "schemaVersion":{ - "shape":"NumericVersion", - "documentation":"

The schema version of this data type.

" - }, - "agentId":{ - "shape":"AgentId", - "documentation":"

The ID of the agent that is installed on the EC2 instance where the finding is generated.

" - }, - "autoScalingGroup":{ - "shape":"AutoScalingGroup", - "documentation":"

The Auto Scaling group of the EC2 instance where the finding is generated.

" - }, - "amiId":{ - "shape":"AmiId", - "documentation":"

The ID of the Amazon Machine Image (AMI) that is installed on the EC2 instance where the finding is generated.

" - }, - "hostname":{ - "shape":"Hostname", - "documentation":"

The hostname of the EC2 instance where the finding is generated.

" - }, - "ipv4Addresses":{ - "shape":"Ipv4AddressList", - "documentation":"

The list of IP v4 addresses of the EC2 instance where the finding is generated.

" - } - }, - "documentation":"

A collection of attributes of the host from which the finding is generated.

" - }, - "AssetType":{ - "type":"string", - "enum":["ec2-instance"] - }, - "Attribute":{ - "type":"structure", - "required":["key"], - "members":{ - "key":{ - "shape":"AttributeKey", - "documentation":"

The attribute key.

" - }, - "value":{ - "shape":"AttributeValue", - "documentation":"

The value assigned to the attribute key.

" - } - }, - "documentation":"

This data type is used as a request parameter in the AddAttributesToFindings and CreateAssessmentTemplate actions.

" - }, - "AttributeKey":{ - "type":"string", - "max":128, - "min":1 - }, - "AttributeList":{ - "type":"list", - "member":{"shape":"Attribute"}, - "max":50, - "min":0 - }, - "AttributeValue":{ - "type":"string", - "max":256, - "min":1 - }, - "AutoScalingGroup":{ - "type":"string", - "max":256, - "min":1 - }, - "AutoScalingGroupList":{ - "type":"list", - "member":{"shape":"AutoScalingGroup"}, - "max":20, - "min":0 - }, - "BatchDescribeArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":10, - "min":1 - }, - "BatchDescribeExclusionsArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":100, - "min":1 - }, - "Bool":{"type":"boolean"}, - "CreateAssessmentTargetRequest":{ - "type":"structure", - "required":["assessmentTargetName"], - "members":{ - "assessmentTargetName":{ - "shape":"AssessmentTargetName", - "documentation":"

The user-defined name that identifies the assessment target that you want to create. The name must be unique within the AWS account.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the resource group that is used to create the assessment target. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target.

" - } - } - }, - "CreateAssessmentTargetResponse":{ - "type":"structure", - "required":["assessmentTargetArn"], - "members":{ - "assessmentTargetArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment target that is created.

" - } - } - }, - "CreateAssessmentTemplateRequest":{ - "type":"structure", - "required":[ - "assessmentTargetArn", - "assessmentTemplateName", - "durationInSeconds", - "rulesPackageArns" - ], - "members":{ - "assessmentTargetArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment target for which you want to create the assessment template.

" - }, - "assessmentTemplateName":{ - "shape":"AssessmentTemplateName", - "documentation":"

The user-defined name that identifies the assessment template that you want to create. You can create several assessment templates for an assessment target. The names of the assessment templates that correspond to a particular assessment target must be unique.

" - }, - "durationInSeconds":{ - "shape":"AssessmentRunDuration", - "documentation":"

The duration of the assessment run in seconds.

" - }, - "rulesPackageArns":{ - "shape":"AssessmentTemplateRulesPackageArnList", - "documentation":"

The ARNs that specify the rules packages that you want to attach to the assessment template.

" - }, - "userAttributesForFindings":{ - "shape":"UserAttributeList", - "documentation":"

The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template. An attribute is a key and value pair (an Attribute object). Within an assessment template, each key must be unique.

" - } - } - }, - "CreateAssessmentTemplateResponse":{ - "type":"structure", - "required":["assessmentTemplateArn"], - "members":{ - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment template that is created.

" - } - } - }, - "CreateExclusionsPreviewRequest":{ - "type":"structure", - "required":["assessmentTemplateArn"], - "members":{ - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment template for which you want to create an exclusions preview.

" - } - } - }, - "CreateExclusionsPreviewResponse":{ - "type":"structure", - "required":["previewToken"], - "members":{ - "previewToken":{ - "shape":"UUID", - "documentation":"

Specifies the unique identifier of the requested exclusions preview. You can use the unique identifier to retrieve the exclusions preview when running the GetExclusionsPreview API.

" - } - } - }, - "CreateResourceGroupRequest":{ - "type":"structure", - "required":["resourceGroupTags"], - "members":{ - "resourceGroupTags":{ - "shape":"ResourceGroupTags", - "documentation":"

A collection of keys and an array of possible values, '[{\"key\":\"key1\",\"values\":[\"Value1\",\"Value2\"]},{\"key\":\"Key2\",\"values\":[\"Value3\"]}]'.

For example,'[{\"key\":\"Name\",\"values\":[\"TestEC2Instance\"]}]'.

" - } - } - }, - "CreateResourceGroupResponse":{ - "type":"structure", - "required":["resourceGroupArn"], - "members":{ - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the resource group that is created.

" - } - } - }, - "DeleteAssessmentRunRequest":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment run that you want to delete.

" - } - } - }, - "DeleteAssessmentTargetRequest":{ - "type":"structure", - "required":["assessmentTargetArn"], - "members":{ - "assessmentTargetArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment target that you want to delete.

" - } - } - }, - "DeleteAssessmentTemplateRequest":{ - "type":"structure", - "required":["assessmentTemplateArn"], - "members":{ - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment template that you want to delete.

" - } - } - }, - "DescribeAssessmentRunsRequest":{ - "type":"structure", - "required":["assessmentRunArns"], - "members":{ - "assessmentRunArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARN that specifies the assessment run that you want to describe.

" - } - } - }, - "DescribeAssessmentRunsResponse":{ - "type":"structure", - "required":[ - "assessmentRuns", - "failedItems" - ], - "members":{ - "assessmentRuns":{ - "shape":"AssessmentRunList", - "documentation":"

Information about the assessment run.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Assessment run details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeAssessmentTargetsRequest":{ - "type":"structure", - "required":["assessmentTargetArns"], - "members":{ - "assessmentTargetArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARNs that specifies the assessment targets that you want to describe.

" - } - } - }, - "DescribeAssessmentTargetsResponse":{ - "type":"structure", - "required":[ - "assessmentTargets", - "failedItems" - ], - "members":{ - "assessmentTargets":{ - "shape":"AssessmentTargetList", - "documentation":"

Information about the assessment targets.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Assessment target details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeAssessmentTemplatesRequest":{ - "type":"structure", - "required":["assessmentTemplateArns"], - "members":{ - "assessmentTemplateArns":{"shape":"BatchDescribeArnList"} - } - }, - "DescribeAssessmentTemplatesResponse":{ - "type":"structure", - "required":[ - "assessmentTemplates", - "failedItems" - ], - "members":{ - "assessmentTemplates":{ - "shape":"AssessmentTemplateList", - "documentation":"

Information about the assessment templates.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Assessment template details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeCrossAccountAccessRoleResponse":{ - "type":"structure", - "required":[ - "roleArn", - "valid", - "registeredAt" - ], - "members":{ - "roleArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the IAM role that Amazon Inspector uses to access your AWS account.

" - }, - "valid":{ - "shape":"Bool", - "documentation":"

A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Amazon Inspector to access your AWS account.

" - }, - "registeredAt":{ - "shape":"Timestamp", - "documentation":"

The date when the cross-account access role was registered.

" - } - } - }, - "DescribeExclusionsRequest":{ - "type":"structure", - "required":["exclusionArns"], - "members":{ - "exclusionArns":{ - "shape":"BatchDescribeExclusionsArnList", - "documentation":"

The list of ARNs that specify the exclusions that you want to describe.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The locale into which you want to translate the exclusion's title, description, and recommendation.

" - } - } - }, - "DescribeExclusionsResponse":{ - "type":"structure", - "required":[ - "exclusions", - "failedItems" - ], - "members":{ - "exclusions":{ - "shape":"ExclusionMap", - "documentation":"

Information about the exclusions.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Exclusion details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeFindingsRequest":{ - "type":"structure", - "required":["findingArns"], - "members":{ - "findingArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARN that specifies the finding that you want to describe.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding.

" - } - } - }, - "DescribeFindingsResponse":{ - "type":"structure", - "required":[ - "findings", - "failedItems" - ], - "members":{ - "findings":{ - "shape":"FindingList", - "documentation":"

Information about the finding.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Finding details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeResourceGroupsRequest":{ - "type":"structure", - "required":["resourceGroupArns"], - "members":{ - "resourceGroupArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARN that specifies the resource group that you want to describe.

" - } - } - }, - "DescribeResourceGroupsResponse":{ - "type":"structure", - "required":[ - "resourceGroups", - "failedItems" - ], - "members":{ - "resourceGroups":{ - "shape":"ResourceGroupList", - "documentation":"

Information about a resource group.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Resource group details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DescribeRulesPackagesRequest":{ - "type":"structure", - "required":["rulesPackageArns"], - "members":{ - "rulesPackageArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARN that specifies the rules package that you want to describe.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The locale that you want to translate a rules package description into.

" - } - } - }, - "DescribeRulesPackagesResponse":{ - "type":"structure", - "required":[ - "rulesPackages", - "failedItems" - ], - "members":{ - "rulesPackages":{ - "shape":"RulesPackageList", - "documentation":"

Information about the rules package.

" - }, - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Rules package details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "DurationRange":{ - "type":"structure", - "members":{ - "minSeconds":{ - "shape":"AssessmentRunDuration", - "documentation":"

The minimum value of the duration range. Must be greater than zero.

" - }, - "maxSeconds":{ - "shape":"AssessmentRunDuration", - "documentation":"

The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week).

" - } - }, - "documentation":"

This data type is used in the AssessmentTemplateFilter data type.

" - }, - "ErrorMessage":{ - "type":"string", - "max":1000, - "min":0 - }, - "EventSubscription":{ - "type":"structure", - "required":[ - "event", - "subscribedAt" - ], - "members":{ - "event":{ - "shape":"InspectorEvent", - "documentation":"

The event for which Amazon Simple Notification Service (SNS) notifications are sent.

" - }, - "subscribedAt":{ - "shape":"Timestamp", - "documentation":"

The time at which SubscribeToEvent is called.

" - } - }, - "documentation":"

This data type is used in the Subscription data type.

" - }, - "EventSubscriptionList":{ - "type":"list", - "member":{"shape":"EventSubscription"}, - "max":50, - "min":1 - }, - "Exclusion":{ - "type":"structure", - "required":[ - "arn", - "title", - "description", - "recommendation", - "scopes" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the exclusion.

" - }, - "title":{ - "shape":"Text", - "documentation":"

The name of the exclusion.

" - }, - "description":{ - "shape":"Text", - "documentation":"

The description of the exclusion.

" - }, - "recommendation":{ - "shape":"Text", - "documentation":"

The recommendation for the exclusion.

" - }, - "scopes":{ - "shape":"ScopeList", - "documentation":"

The AWS resources for which the exclusion pertains.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

The system-defined attributes for the exclusion.

" - } - }, - "documentation":"

Contains information about what was excluded from an assessment run.

" - }, - "ExclusionMap":{ - "type":"map", - "key":{"shape":"Arn"}, - "value":{"shape":"Exclusion"}, - "max":100, - "min":1 - }, - "ExclusionPreview":{ - "type":"structure", - "required":[ - "title", - "description", - "recommendation", - "scopes" - ], - "members":{ - "title":{ - "shape":"Text", - "documentation":"

The name of the exclusion preview.

" - }, - "description":{ - "shape":"Text", - "documentation":"

The description of the exclusion preview.

" - }, - "recommendation":{ - "shape":"Text", - "documentation":"

The recommendation for the exclusion preview.

" - }, - "scopes":{ - "shape":"ScopeList", - "documentation":"

The AWS resources for which the exclusion preview pertains.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

The system-defined attributes for the exclusion preview.

" - } - }, - "documentation":"

Contains information about what is excluded from an assessment run given the current state of the assessment template.

" - }, - "ExclusionPreviewList":{ - "type":"list", - "member":{"shape":"ExclusionPreview"}, - "max":100, - "min":0 - }, - "FailedItemDetails":{ - "type":"structure", - "required":[ - "failureCode", - "retryable" - ], - "members":{ - "failureCode":{ - "shape":"FailedItemErrorCode", - "documentation":"

The status code of a failed item.

" - }, - "retryable":{ - "shape":"Bool", - "documentation":"

Indicates whether you can immediately retry a request for this item for a specified resource.

" - } - }, - "documentation":"

Includes details about the failed items.

" - }, - "FailedItemErrorCode":{ - "type":"string", - "enum":[ - "INVALID_ARN", - "DUPLICATE_ARN", - "ITEM_DOES_NOT_EXIST", - "ACCESS_DENIED", - "LIMIT_EXCEEDED", - "INTERNAL_ERROR" - ] - }, - "FailedItems":{ - "type":"map", - "key":{"shape":"Arn"}, - "value":{"shape":"FailedItemDetails"} - }, - "FilterRulesPackageArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":50, - "min":0 - }, - "Finding":{ - "type":"structure", - "required":[ - "arn", - "attributes", - "userAttributes", - "createdAt", - "updatedAt" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the finding.

" - }, - "schemaVersion":{ - "shape":"NumericVersion", - "documentation":"

The schema version of this data type.

" - }, - "service":{ - "shape":"ServiceName", - "documentation":"

The data element is set to \"Inspector\".

" - }, - "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.

" - }, - "assetAttributes":{ - "shape":"AssetAttributes", - "documentation":"

A collection of attributes of the host from which the finding is generated.

" - }, - "id":{ - "shape":"FindingId", - "documentation":"

The ID of the finding.

" - }, - "title":{ - "shape":"Text", - "documentation":"

The name of the finding.

" - }, - "description":{ - "shape":"Text", - "documentation":"

The description of the finding.

" - }, - "recommendation":{ - "shape":"Text", - "documentation":"

The recommendation for the finding.

" - }, - "severity":{ - "shape":"Severity", - "documentation":"

The finding severity. Values can be set to High, Medium, Low, and Informational.

" - }, - "numericSeverity":{ - "shape":"NumericSeverity", - "documentation":"

The numeric value of the finding severity.

" - }, - "confidence":{ - "shape":"IocConfidence", - "documentation":"

This data element is currently not used.

" - }, - "indicatorOfCompromise":{ - "shape":"Bool", - "documentation":"

This data element is currently not used.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

The system-defined attributes for the finding.

" - }, - "userAttributes":{ - "shape":"UserAttributeList", - "documentation":"

The user-defined attributes that are assigned to the finding.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The time when the finding was generated.

" - }, - "updatedAt":{ - "shape":"Timestamp", - "documentation":"

The time when AddAttributesToFindings is called.

" - } - }, - "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":{ - "agentIds":{ - "shape":"AgentIdList", - "documentation":"

For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the agentId property of the Finding data type.

" - }, - "autoScalingGroups":{ - "shape":"AutoScalingGroupList", - "documentation":"

For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the autoScalingGroup property of the Finding data type.

" - }, - "ruleNames":{ - "shape":"RuleNameList", - "documentation":"

For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the ruleName property of the Finding data type.

" - }, - "severities":{ - "shape":"SeverityList", - "documentation":"

For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the severity property of the Finding data type.

" - }, - "rulesPackageArns":{ - "shape":"FilterRulesPackageArnList", - "documentation":"

For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the rulesPackageArn property of the Finding data type.

" - }, - "attributes":{ - "shape":"AttributeList", - "documentation":"

For a record to match a filter, the list of values that are specified for this data type property must be contained in the list of values of the attributes property of the Finding data type.

" - }, - "userAttributes":{ - "shape":"AttributeList", - "documentation":"

For a record to match a filter, the value that is specified for this data type property must be contained in the list of values of the userAttributes property of the Finding data type.

" - }, - "creationTimeRange":{ - "shape":"TimestampRange", - "documentation":"

The time range during which the finding is generated.

" - } - }, - "documentation":"

This data type is used as a request parameter in the ListFindings action.

" - }, - "FindingId":{ - "type":"string", - "max":128, - "min":0 - }, - "FindingList":{ - "type":"list", - "member":{"shape":"Finding"}, - "max":100, - "min":0 - }, - "GetAssessmentReportRequest":{ - "type":"structure", - "required":[ - "assessmentRunArn", - "reportFileFormat", - "reportType" - ], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment run for which you want to generate a report.

" - }, - "reportFileFormat":{ - "shape":"ReportFileFormat", - "documentation":"

Specifies the file format (html or pdf) of the assessment report that you want to generate.

" - }, - "reportType":{ - "shape":"ReportType", - "documentation":"

Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports.

" - } - } - }, - "GetAssessmentReportResponse":{ - "type":"structure", - "required":["status"], - "members":{ - "status":{ - "shape":"ReportStatus", - "documentation":"

Specifies the status of the request to generate an assessment report.

" - }, - "url":{ - "shape":"Url", - "documentation":"

Specifies the URL where you can find the generated assessment report. This parameter is only returned if the report is successfully generated.

" - } - } - }, - "GetExclusionsPreviewRequest":{ - "type":"structure", - "required":[ - "assessmentTemplateArn", - "previewToken" - ], - "members":{ - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment template for which the exclusions preview was requested.

" - }, - "previewToken":{ - "shape":"UUID", - "documentation":"

The unique identifier associated of the exclusions preview.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the GetExclusionsPreviewRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The locale into which you want to translate the exclusion's title, description, and recommendation.

" - } - } - }, - "GetExclusionsPreviewResponse":{ - "type":"structure", - "required":["previewStatus"], - "members":{ - "previewStatus":{ - "shape":"PreviewStatus", - "documentation":"

Specifies the status of the request to generate an exclusions preview.

" - }, - "exclusionPreviews":{ - "shape":"ExclusionPreviewList", - "documentation":"

Information about the exclusions included in the preview.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameters is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "GetTelemetryMetadataRequest":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment run that has the telemetry data that you want to obtain.

" - } - } - }, - "GetTelemetryMetadataResponse":{ - "type":"structure", - "required":["telemetryMetadata"], - "members":{ - "telemetryMetadata":{ - "shape":"TelemetryMetadataList", - "documentation":"

Telemetry details.

" - } - } - }, - "Hostname":{ - "type":"string", - "max":256, - "min":0 - }, - "InspectorEvent":{ - "type":"string", - "enum":[ - "ASSESSMENT_RUN_STARTED", - "ASSESSMENT_RUN_COMPLETED", - "ASSESSMENT_RUN_STATE_CHANGED", - "FINDING_REPORTED", - "OTHER" - ] - }, - "InspectorServiceAttributes":{ - "type":"structure", - "required":["schemaVersion"], - "members":{ - "schemaVersion":{ - "shape":"NumericVersion", - "documentation":"

The schema version of this data type.

" - }, - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run during which the finding is generated.

" - }, - "rulesPackageArn":{ - "shape":"Arn", - "documentation":"

The ARN of the rules package that is used to generate the finding.

" - } - }, - "documentation":"

This data type is used in the Finding data type.

" - }, - "InternalException":{ - "type":"structure", - "required":[ - "message", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

Internal server error.

", - "exception":true, - "fault":true - }, - "InvalidCrossAccountRoleErrorCode":{ - "type":"string", - "enum":[ - "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP", - "ROLE_DOES_NOT_HAVE_CORRECT_POLICY" - ] - }, - "InvalidCrossAccountRoleException":{ - "type":"structure", - "required":[ - "message", - "errorCode", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "errorCode":{ - "shape":"InvalidCrossAccountRoleErrorCode", - "documentation":"

Code that indicates the type of error that is generated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

Amazon Inspector cannot assume the cross-account role that it needs to list your EC2 instances during the assessment run.

", - "exception":true - }, - "InvalidInputErrorCode":{ - "type":"string", - "enum":[ - "INVALID_ASSESSMENT_TARGET_ARN", - "INVALID_ASSESSMENT_TEMPLATE_ARN", - "INVALID_ASSESSMENT_RUN_ARN", - "INVALID_FINDING_ARN", - "INVALID_RESOURCE_GROUP_ARN", - "INVALID_RULES_PACKAGE_ARN", - "INVALID_RESOURCE_ARN", - "INVALID_SNS_TOPIC_ARN", - "INVALID_IAM_ROLE_ARN", - "INVALID_ASSESSMENT_TARGET_NAME", - "INVALID_ASSESSMENT_TARGET_NAME_PATTERN", - "INVALID_ASSESSMENT_TEMPLATE_NAME", - "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN", - "INVALID_ASSESSMENT_TEMPLATE_DURATION", - "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE", - "INVALID_ASSESSMENT_RUN_DURATION_RANGE", - "INVALID_ASSESSMENT_RUN_START_TIME_RANGE", - "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE", - "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE", - "INVALID_ASSESSMENT_RUN_STATE", - "INVALID_TAG", - "INVALID_TAG_KEY", - "INVALID_TAG_VALUE", - "INVALID_RESOURCE_GROUP_TAG_KEY", - "INVALID_RESOURCE_GROUP_TAG_VALUE", - "INVALID_ATTRIBUTE", - "INVALID_USER_ATTRIBUTE", - "INVALID_USER_ATTRIBUTE_KEY", - "INVALID_USER_ATTRIBUTE_VALUE", - "INVALID_PAGINATION_TOKEN", - "INVALID_MAX_RESULTS", - "INVALID_AGENT_ID", - "INVALID_AUTO_SCALING_GROUP", - "INVALID_RULE_NAME", - "INVALID_SEVERITY", - "INVALID_LOCALE", - "INVALID_EVENT", - "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN", - "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN", - "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS", - "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS", - "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS", - "INVALID_NUMBER_OF_FINDING_ARNS", - "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS", - "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS", - "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES", - "INVALID_NUMBER_OF_TAGS", - "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS", - "INVALID_NUMBER_OF_ATTRIBUTES", - "INVALID_NUMBER_OF_USER_ATTRIBUTES", - "INVALID_NUMBER_OF_AGENT_IDS", - "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS", - "INVALID_NUMBER_OF_RULE_NAMES", - "INVALID_NUMBER_OF_SEVERITIES" - ] - }, - "InvalidInputException":{ - "type":"structure", - "required":[ - "message", - "errorCode", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "errorCode":{ - "shape":"InvalidInputErrorCode", - "documentation":"

Code that indicates the type of error that is generated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", - "exception":true - }, - "IocConfidence":{ - "type":"integer", - "max":10, - "min":0 - }, - "Ipv4Address":{ - "type":"string", - "max":15, - "min":7 - }, - "Ipv4AddressList":{ - "type":"list", - "member":{"shape":"Ipv4Address"}, - "max":50, - "min":0 - }, - "KernelVersion":{ - "type":"string", - "max":128, - "min":1 - }, - "LimitExceededErrorCode":{ - "type":"string", - "enum":[ - "ASSESSMENT_TARGET_LIMIT_EXCEEDED", - "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED", - "ASSESSMENT_RUN_LIMIT_EXCEEDED", - "RESOURCE_GROUP_LIMIT_EXCEEDED", - "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED" - ] - }, - "LimitExceededException":{ - "type":"structure", - "required":[ - "message", - "errorCode", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "errorCode":{ - "shape":"LimitExceededErrorCode", - "documentation":"

Code that indicates the type of error that is generated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

", - "exception":true - }, - "ListAssessmentRunAgentsRequest":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment run whose agents you want to list.

" - }, - "filter":{ - "shape":"AgentFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRunAgents action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentRunAgentsResponse":{ - "type":"structure", - "required":["assessmentRunAgents"], - "members":{ - "assessmentRunAgents":{ - "shape":"AssessmentRunAgentList", - "documentation":"

A list of ARNs that specifies the agents returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListAssessmentRunsRequest":{ - "type":"structure", - "members":{ - "assessmentTemplateArns":{ - "shape":"ListParentArnList", - "documentation":"

The ARNs that specify the assessment templates whose assessment runs you want to list.

" - }, - "filter":{ - "shape":"AssessmentRunFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRuns action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentRunsResponse":{ - "type":"structure", - "required":["assessmentRunArns"], - "members":{ - "assessmentRunArns":{ - "shape":"ListReturnedArnList", - "documentation":"

A list of ARNs that specifies the assessment runs that are returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListAssessmentTargetsRequest":{ - "type":"structure", - "members":{ - "filter":{ - "shape":"AssessmentTargetFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTargets action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentTargetsResponse":{ - "type":"structure", - "required":["assessmentTargetArns"], - "members":{ - "assessmentTargetArns":{ - "shape":"ListReturnedArnList", - "documentation":"

A list of ARNs that specifies the assessment targets that are returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListAssessmentTemplatesRequest":{ - "type":"structure", - "members":{ - "assessmentTargetArns":{ - "shape":"ListParentArnList", - "documentation":"

A list of ARNs that specifies the assessment targets whose assessment templates you want to list.

" - }, - "filter":{ - "shape":"AssessmentTemplateFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTemplates action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListAssessmentTemplatesResponse":{ - "type":"structure", - "required":["assessmentTemplateArns"], - "members":{ - "assessmentTemplateArns":{ - "shape":"ListReturnedArnList", - "documentation":"

A list of ARNs that specifies the assessment templates returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListEventSubscriptionsMaxResults":{"type":"integer"}, - "ListEventSubscriptionsRequest":{ - "type":"structure", - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template for which you want to list the existing event subscriptions.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListEventSubscriptions action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListEventSubscriptionsMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListEventSubscriptionsResponse":{ - "type":"structure", - "required":["subscriptions"], - "members":{ - "subscriptions":{ - "shape":"SubscriptionList", - "documentation":"

Details of the returned event subscriptions.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListExclusionsRequest":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that generated the exclusions that you want to list.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListExclusionsRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.

" - } - } - }, - "ListExclusionsResponse":{ - "type":"structure", - "required":["exclusionArns"], - "members":{ - "exclusionArns":{ - "shape":"ListReturnedArnList", - "documentation":"

A list of exclusions' ARNs returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameters is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListFindingsRequest":{ - "type":"structure", - "members":{ - "assessmentRunArns":{ - "shape":"ListParentArnList", - "documentation":"

The ARNs of the assessment runs that generate the findings that you want to list.

" - }, - "filter":{ - "shape":"FindingFilter", - "documentation":"

You can use this parameter to specify a subset of data to be included in the action's response.

For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListFindings action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListFindingsResponse":{ - "type":"structure", - "required":["findingArns"], - "members":{ - "findingArns":{ - "shape":"ListReturnedArnList", - "documentation":"

A list of ARNs that specifies the findings returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListMaxResults":{"type":"integer"}, - "ListParentArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":50, - "min":0 - }, - "ListReturnedArnList":{ - "type":"list", - "member":{"shape":"Arn"}, - "max":100, - "min":0 - }, - "ListRulesPackagesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListRulesPackages action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"ListMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "ListRulesPackagesResponse":{ - "type":"structure", - "required":["rulesPackageArns"], - "members":{ - "rulesPackageArns":{ - "shape":"ListReturnedArnList", - "documentation":"

The list of ARNs that specifies the rules packages returned by the action.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN that specifies the assessment template whose tags you want to list.

" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "required":["tags"], - "members":{ - "tags":{ - "shape":"TagList", - "documentation":"

A collection of key and value pairs.

" - } - } - }, - "Locale":{ - "type":"string", - "enum":["EN_US"] - }, - "Long":{"type":"long"}, - "Message":{ - "type":"string", - "max":1000, - "min":0 - }, - "MessageType":{ - "type":"string", - "max":300, - "min":1 - }, - "NamePattern":{ - "type":"string", - "max":140, - "min":1 - }, - "NoSuchEntityErrorCode":{ - "type":"string", - "enum":[ - "ASSESSMENT_TARGET_DOES_NOT_EXIST", - "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST", - "ASSESSMENT_RUN_DOES_NOT_EXIST", - "FINDING_DOES_NOT_EXIST", - "RESOURCE_GROUP_DOES_NOT_EXIST", - "RULES_PACKAGE_DOES_NOT_EXIST", - "SNS_TOPIC_DOES_NOT_EXIST", - "IAM_ROLE_DOES_NOT_EXIST" - ] - }, - "NoSuchEntityException":{ - "type":"structure", - "required":[ - "message", - "errorCode", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "errorCode":{ - "shape":"NoSuchEntityErrorCode", - "documentation":"

Code that indicates the type of error that is generated.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can immediately retry your request.

" - } - }, - "documentation":"

The request was rejected because it referenced an entity that does not exist. The error code describes the entity.

", - "exception":true - }, - "NumericSeverity":{ - "type":"double", - "max":10.0, - "min":0.0 - }, - "NumericVersion":{ - "type":"integer", - "min":0 - }, - "OperatingSystem":{ - "type":"string", - "max":256, - "min":1 - }, - "PaginationToken":{ - "type":"string", - "max":300, - "min":1 - }, - "PreviewAgentsMaxResults":{"type":"integer"}, - "PreviewAgentsRequest":{ - "type":"structure", - "required":["previewAgentsArn"], - "members":{ - "previewAgentsArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment target whose agents you want to preview.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the PreviewAgents action. Subsequent calls to the action fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"PreviewAgentsMaxResults", - "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.

" - } - } - }, - "PreviewAgentsResponse":{ - "type":"structure", - "required":["agentPreviews"], - "members":{ - "agentPreviews":{ - "shape":"AgentPreviewList", - "documentation":"

The resulting list of agents.

" - }, - "nextToken":{ - "shape":"PaginationToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "PreviewGenerationInProgressException":{ - "type":"structure", - "required":["message"], - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request is rejected. The specified assessment template is currently generating an exclusions preview.

", - "exception":true - }, - "PreviewStatus":{ - "type":"string", - "enum":[ - "WORK_IN_PROGRESS", - "COMPLETED" - ] - }, - "ProviderName":{ - "type":"string", - "max":1000, - "min":0 - }, - "RegisterCrossAccountAccessRoleRequest":{ - "type":"structure", - "required":["roleArn"], - "members":{ - "roleArn":{ - "shape":"Arn", - "documentation":"

The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

" - } - } - }, - "RemoveAttributesFromFindingsRequest":{ - "type":"structure", - "required":[ - "findingArns", - "attributeKeys" - ], - "members":{ - "findingArns":{ - "shape":"AddRemoveAttributesFindingArnList", - "documentation":"

The ARNs that specify the findings that you want to remove attributes from.

" - }, - "attributeKeys":{ - "shape":"UserAttributeKeyList", - "documentation":"

The array of attribute keys that you want to remove from specified findings.

" - } - } - }, - "RemoveAttributesFromFindingsResponse":{ - "type":"structure", - "required":["failedItems"], - "members":{ - "failedItems":{ - "shape":"FailedItems", - "documentation":"

Attributes details that cannot be described. An error code is provided for each failed item.

" - } - } - }, - "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":[ - "arn", - "tags", - "createdAt" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource group.

" - }, - "tags":{ - "shape":"ResourceGroupTags", - "documentation":"

The tags (key and value pairs) of the resource group. This data type property is used in the CreateResourceGroup action.

" - }, - "createdAt":{ - "shape":"Timestamp", - "documentation":"

The time at which resource group is created.

" - } - }, - "documentation":"

Contains information about a resource group. The resource group defines a set of tags that, when queried, identify the AWS resources that make up the assessment target. This data type is used as the response element in the DescribeResourceGroups action.

" - }, - "ResourceGroupList":{ - "type":"list", - "member":{"shape":"ResourceGroup"}, - "max":10, - "min":0 - }, - "ResourceGroupTag":{ - "type":"structure", - "required":["key"], - "members":{ - "key":{ - "shape":"TagKey", - "documentation":"

A tag key.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

The value assigned to a tag key.

" - } - }, - "documentation":"

This data type is used as one of the elements of the ResourceGroup data type.

" - }, - "ResourceGroupTags":{ - "type":"list", - "member":{"shape":"ResourceGroupTag"}, - "max":10, - "min":1 - }, - "RuleName":{ - "type":"string", - "max":1000 - }, - "RuleNameList":{ - "type":"list", - "member":{"shape":"RuleName"}, - "max":50, - "min":0 - }, - "RulesPackage":{ - "type":"structure", - "required":[ - "arn", - "name", - "version", - "provider" - ], - "members":{ - "arn":{ - "shape":"Arn", - "documentation":"

The ARN of the rules package.

" - }, - "name":{ - "shape":"RulesPackageName", - "documentation":"

The name of the rules package.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version ID of the rules package.

" - }, - "provider":{ - "shape":"ProviderName", - "documentation":"

The provider of the rules package.

" - }, - "description":{ - "shape":"Text", - "documentation":"

The description of the rules package.

" - } - }, - "documentation":"

Contains information about an Amazon Inspector rules package. This data type is used as the response element in the DescribeRulesPackages action.

" - }, - "RulesPackageList":{ - "type":"list", - "member":{"shape":"RulesPackage"}, - "max":10, - "min":0 - }, - "RulesPackageName":{ - "type":"string", - "max":1000, - "min":0 - }, - "Scope":{ - "type":"structure", - "members":{ - "key":{ - "shape":"ScopeType", - "documentation":"

The type of the scope.

" - }, - "value":{ - "shape":"ScopeValue", - "documentation":"

The resource identifier for the specified scope type.

" - } - }, - "documentation":"

This data type contains key-value pairs that identify various Amazon resources.

" - }, - "ScopeList":{ - "type":"list", - "member":{"shape":"Scope"}, - "min":1 - }, - "ScopeType":{ - "type":"string", - "enum":[ - "INSTANCE_ID", - "RULES_PACKAGE_ARN" - ] - }, - "ScopeValue":{"type":"string"}, - "ServiceName":{ - "type":"string", - "max":128, - "min":0 - }, - "ServiceTemporarilyUnavailableException":{ - "type":"structure", - "required":[ - "message", - "canRetry" - ], - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Details of the exception error.

" - }, - "canRetry":{ - "shape":"Bool", - "documentation":"

You can wait and then retry your request.

" - } - }, - "documentation":"

The serice is temporary unavailable.

", - "exception":true - }, - "SetTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template that you want to set tags to.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

A collection of key and value pairs that you want to set to the assessment template.

" - } - } - }, - "Severity":{ - "type":"string", - "enum":[ - "Low", - "Medium", - "High", - "Informational", - "Undefined" - ] - }, - "SeverityList":{ - "type":"list", - "member":{"shape":"Severity"}, - "max":50, - "min":0 - }, - "StartAssessmentRunRequest":{ - "type":"structure", - "required":["assessmentTemplateArn"], - "members":{ - "assessmentTemplateArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template of the assessment run that you want to start.

" - }, - "assessmentRunName":{ - "shape":"AssessmentRunName", - "documentation":"

You can specify the name for the assessment run. The name must be unique for the assessment template whose ARN is used to start the assessment run.

" - } - } - }, - "StartAssessmentRunResponse":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that has been started.

" - } - } - }, - "StopAction":{ - "type":"string", - "enum":[ - "START_EVALUATION", - "SKIP_EVALUATION" - ] - }, - "StopAssessmentRunRequest":{ - "type":"structure", - "required":["assessmentRunArn"], - "members":{ - "assessmentRunArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment run that you want to stop.

" - }, - "stopAction":{ - "shape":"StopAction", - "documentation":"

An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value), stops the AWS agent from collecting data and begins the results evaluation and the findings generation process. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated.

" - } - } - }, - "SubscribeToEventRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "event", - "topicArn" - ], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template that is used during the event for which you want to receive SNS notifications.

" - }, - "event":{ - "shape":"InspectorEvent", - "documentation":"

The event for which you want to receive SNS notifications.

" - }, - "topicArn":{ - "shape":"Arn", - "documentation":"

The ARN of the SNS topic to which the SNS notifications are sent.

" - } - } - }, - "Subscription":{ - "type":"structure", - "required":[ - "resourceArn", - "topicArn", - "eventSubscriptions" - ], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template that is used during the event for which the SNS notification is sent.

" - }, - "topicArn":{ - "shape":"Arn", - "documentation":"

The ARN of the Amazon Simple Notification Service (SNS) topic to which the SNS notifications are sent.

" - }, - "eventSubscriptions":{ - "shape":"EventSubscriptionList", - "documentation":"

The list of existing event subscriptions.

" - } - }, - "documentation":"

This data type is used as a response element in the ListEventSubscriptions action.

" - }, - "SubscriptionList":{ - "type":"list", - "member":{"shape":"Subscription"}, - "max":50, - "min":0 - }, - "Tag":{ - "type":"structure", - "required":["key"], - "members":{ - "key":{ - "shape":"TagKey", - "documentation":"

A tag key.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

A value assigned to a tag key.

" - } - }, - "documentation":"

A key and value pair. This data type is used as a request parameter in the SetTagsForResource action and a response element in the ListTagsForResource action.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":10, - "min":0 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1 - }, - "TelemetryMetadata":{ - "type":"structure", - "required":[ - "messageType", - "count" - ], - "members":{ - "messageType":{ - "shape":"MessageType", - "documentation":"

A specific type of behavioral data that is collected by the agent.

" - }, - "count":{ - "shape":"Long", - "documentation":"

The count of messages that the agent sends to the Amazon Inspector service.

" - }, - "dataSize":{ - "shape":"Long", - "documentation":"

The data size of messages that the agent sends to the Amazon Inspector service.

" - } - }, - "documentation":"

The metadata about the Amazon Inspector application data metrics collected by the agent. This data type is used as the response element in the GetTelemetryMetadata action.

" - }, - "TelemetryMetadataList":{ - "type":"list", - "member":{"shape":"TelemetryMetadata"}, - "max":5000, - "min":0 - }, - "Text":{ - "type":"string", - "max":20000, - "min":0 - }, - "Timestamp":{"type":"timestamp"}, - "TimestampRange":{ - "type":"structure", - "members":{ - "beginDate":{ - "shape":"Timestamp", - "documentation":"

The minimum value of the timestamp range.

" - }, - "endDate":{ - "shape":"Timestamp", - "documentation":"

The maximum value of the timestamp range.

" - } - }, - "documentation":"

This data type is used in the AssessmentRunFilter data type.

" - }, - "UUID":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "UnsubscribeFromEventRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "event", - "topicArn" - ], - "members":{ - "resourceArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment template that is used during the event for which you want to stop receiving SNS notifications.

" - }, - "event":{ - "shape":"InspectorEvent", - "documentation":"

The event for which you want to stop receiving SNS notifications.

" - }, - "topicArn":{ - "shape":"Arn", - "documentation":"

The ARN of the SNS topic to which SNS notifications are sent.

" - } - } - }, - "UnsupportedFeatureException":{ - "type":"structure", - "required":[ - "message", - "canRetry" - ], - "members":{ - "message":{"shape":"ErrorMessage"}, - "canRetry":{"shape":"Bool"} - }, - "documentation":"

Used by the GetAssessmentReport API. The request was rejected because you tried to generate a report for an assessment run that existed before reporting was supported in Amazon Inspector. You can only generate reports for assessment runs that took place or will take place after generating reports in Amazon Inspector became available.

", - "exception":true - }, - "UpdateAssessmentTargetRequest":{ - "type":"structure", - "required":[ - "assessmentTargetArn", - "assessmentTargetName" - ], - "members":{ - "assessmentTargetArn":{ - "shape":"Arn", - "documentation":"

The ARN of the assessment target that you want to update.

" - }, - "assessmentTargetName":{ - "shape":"AssessmentTargetName", - "documentation":"

The name of the assessment target that you want to update.

" - }, - "resourceGroupArn":{ - "shape":"Arn", - "documentation":"

The ARN of the resource group that is used to specify the new resource group to associate with the assessment target.

" - } - } - }, - "Url":{ - "type":"string", - "max":2048 - }, - "UserAttributeKeyList":{ - "type":"list", - "member":{"shape":"AttributeKey"}, - "max":10, - "min":0 - }, - "UserAttributeList":{ - "type":"list", - "member":{"shape":"Attribute"}, - "max":10, - "min":0 - }, - "Version":{ - "type":"string", - "max":1000, - "min":0 - } - }, - "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-data/2015-05-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-data/2015-05-28/service-2.json deleted file mode 100644 index 88fba6cd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-data/2015-05-28/service-2.json +++ /dev/null @@ -1,337 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"iot-data-2015-05-28", - "apiVersion":"2015-05-28", - "endpointPrefix":"data.iot", - "protocol":"rest-json", - "serviceFullName":"AWS IoT Data Plane", - "serviceId":"IoT Data Plane", - "signatureVersion":"v4", - "signingName":"iotdata" - }, - "operations":{ - "DeleteThingShadow":{ - "name":"DeleteThingShadow", - "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}/shadow" - }, - "input":{"shape":"DeleteThingShadowRequest"}, - "output":{"shape":"DeleteThingShadowResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"UnsupportedDocumentEncodingException"} - ], - "documentation":"

Deletes the thing shadow for the specified thing.

For more information, see DeleteThingShadow in the AWS IoT Developer Guide.

" - }, - "GetThingShadow":{ - "name":"GetThingShadow", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/shadow" - }, - "input":{"shape":"GetThingShadowRequest"}, - "output":{"shape":"GetThingShadowResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"UnsupportedDocumentEncodingException"} - ], - "documentation":"

Gets the thing shadow for the specified thing.

For more information, see GetThingShadow in the AWS IoT Developer Guide.

" - }, - "Publish":{ - "name":"Publish", - "http":{ - "method":"POST", - "requestUri":"/topics/{topic}" - }, - "input":{"shape":"PublishRequest"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"MethodNotAllowedException"} - ], - "documentation":"

Publishes state information.

For more information, see HTTP Protocol in the AWS IoT Developer Guide.

" - }, - "UpdateThingShadow":{ - "name":"UpdateThingShadow", - "http":{ - "method":"POST", - "requestUri":"/things/{thingName}/shadow" - }, - "input":{"shape":"UpdateThingShadowRequest"}, - "output":{"shape":"UpdateThingShadowResponse"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"RequestEntityTooLargeException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"UnsupportedDocumentEncodingException"} - ], - "documentation":"

Updates the thing shadow for the specified thing.

For more information, see UpdateThingShadow in the AWS IoT Developer Guide.

" - } - }, - "shapes":{ - "ConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The specified version does not match the version of the document.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DeleteThingShadowRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - } - }, - "documentation":"

The input for the DeleteThingShadow operation.

" - }, - "DeleteThingShadowResponse":{ - "type":"structure", - "required":["payload"], - "members":{ - "payload":{ - "shape":"JsonDocument", - "documentation":"

The state information, in JSON format.

" - } - }, - "documentation":"

The output from the DeleteThingShadow operation.

", - "payload":"payload" - }, - "ErrorMessage":{"type":"string"}, - "GetThingShadowRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - } - }, - "documentation":"

The input for the GetThingShadow operation.

" - }, - "GetThingShadowResponse":{ - "type":"structure", - "members":{ - "payload":{ - "shape":"JsonDocument", - "documentation":"

The state information, in JSON format.

" - } - }, - "documentation":"

The output from the GetThingShadow operation.

", - "payload":"payload" - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

An unexpected error has occurred.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The request is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "JsonDocument":{"type":"blob"}, - "MethodNotAllowedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The specified combination of HTTP verb and URI is not supported.

", - "error":{"httpStatusCode":405}, - "exception":true - }, - "Payload":{"type":"blob"}, - "PublishRequest":{ - "type":"structure", - "required":["topic"], - "members":{ - "topic":{ - "shape":"Topic", - "documentation":"

The name of the MQTT topic.

", - "location":"uri", - "locationName":"topic" - }, - "qos":{ - "shape":"Qos", - "documentation":"

The Quality of Service (QoS) level.

", - "location":"querystring", - "locationName":"qos" - }, - "payload":{ - "shape":"Payload", - "documentation":"

The state information, in JSON format.

" - } - }, - "documentation":"

The input for the Publish operation.

", - "payload":"payload" - }, - "Qos":{ - "type":"integer", - "max":1, - "min":0 - }, - "RequestEntityTooLargeException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The payload exceeds the maximum size allowed.

", - "error":{"httpStatusCode":413}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The specified resource does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The service is temporarily unavailable.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "ThingName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The rate exceeds the limit.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "Topic":{"type":"string"}, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

You are not authorized to perform this operation.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UnsupportedDocumentEncodingException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The document encoding is not supported.

", - "error":{"httpStatusCode":415}, - "exception":true - }, - "UpdateThingShadowRequest":{ - "type":"structure", - "required":[ - "thingName", - "payload" - ], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - }, - "payload":{ - "shape":"JsonDocument", - "documentation":"

The state information, in JSON format.

" - } - }, - "documentation":"

The input for the UpdateThingShadow operation.

", - "payload":"payload" - }, - "UpdateThingShadowResponse":{ - "type":"structure", - "members":{ - "payload":{ - "shape":"JsonDocument", - "documentation":"

The state information, in JSON format.

" - } - }, - "documentation":"

The output from the UpdateThingShadow operation.

", - "payload":"payload" - }, - "errorMessage":{"type":"string"} - }, - "documentation":"AWS IoT

AWS IoT-Data enables secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. It implements a broker for applications and things to publish messages over HTTP (Publish) and retrieve, update, and delete thing shadows. A thing shadow is a persistent representation of your things and their state in the AWS cloud.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/service-2.json deleted file mode 100644 index 8fb28a2b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot-jobs-data/2017-09-29/service-2.json +++ /dev/null @@ -1,474 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-29", - "endpointPrefix":"data.jobs.iot", - "protocol":"rest-json", - "serviceFullName":"AWS IoT Jobs Data Plane", - "serviceId":"IoT Jobs Data Plane", - "signatureVersion":"v4", - "signingName":"iot-jobs-data", - "uid":"iot-jobs-data-2017-09-29" - }, - "operations":{ - "DescribeJobExecution":{ - "name":"DescribeJobExecution", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/jobs/{jobId}" - }, - "input":{"shape":"DescribeJobExecutionRequest"}, - "output":{"shape":"DescribeJobExecutionResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"CertificateValidationException"}, - {"shape":"TerminalStateException"} - ], - "documentation":"

Gets details of a job execution.

" - }, - "GetPendingJobExecutions":{ - "name":"GetPendingJobExecutions", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/jobs" - }, - "input":{"shape":"GetPendingJobExecutionsRequest"}, - "output":{"shape":"GetPendingJobExecutionsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"CertificateValidationException"} - ], - "documentation":"

Gets the list of all jobs for a thing that are not in a terminal status.

" - }, - "StartNextPendingJobExecution":{ - "name":"StartNextPendingJobExecution", - "http":{ - "method":"PUT", - "requestUri":"/things/{thingName}/jobs/$next" - }, - "input":{"shape":"StartNextPendingJobExecutionRequest"}, - "output":{"shape":"StartNextPendingJobExecutionResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"CertificateValidationException"} - ], - "documentation":"

Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing.

" - }, - "UpdateJobExecution":{ - "name":"UpdateJobExecution", - "http":{ - "method":"POST", - "requestUri":"/things/{thingName}/jobs/{jobId}" - }, - "input":{"shape":"UpdateJobExecutionRequest"}, - "output":{"shape":"UpdateJobExecutionResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"CertificateValidationException"}, - {"shape":"InvalidStateTransitionException"} - ], - "documentation":"

Updates the status of a job execution.

" - } - }, - "shapes":{ - "CertificateValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Additional information about the exception.

" - } - }, - "documentation":"

The certificate is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "DescribeJobExecutionJobId":{ - "type":"string", - "pattern":"[a-zA-Z0-9_-]+|^\\$next" - }, - "DescribeJobExecutionRequest":{ - "type":"structure", - "required":[ - "jobId", - "thingName" - ], - "members":{ - "jobId":{ - "shape":"DescribeJobExecutionJobId", - "documentation":"

The unique identifier assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing name associated with the device the job execution is running on.

", - "location":"uri", - "locationName":"thingName" - }, - "includeJobDocument":{ - "shape":"IncludeJobDocument", - "documentation":"

Optional. When set to true, the response contains the job document. The default is false.

", - "location":"querystring", - "locationName":"includeJobDocument" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

Optional. A number that identifies a particular job execution on a particular device. If not specified, the latest job execution is returned.

", - "location":"querystring", - "locationName":"executionNumber" - } - } - }, - "DescribeJobExecutionResponse":{ - "type":"structure", - "members":{ - "execution":{ - "shape":"JobExecution", - "documentation":"

Contains data about a job execution.

" - } - } - }, - "DetailsKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "DetailsMap":{ - "type":"map", - "key":{"shape":"DetailsKey"}, - "value":{"shape":"DetailsValue"} - }, - "DetailsValue":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[^\\p{C}]*+" - }, - "ExecutionNumber":{"type":"long"}, - "ExpectedVersion":{"type":"long"}, - "GetPendingJobExecutionsRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing that is executing the job.

", - "location":"uri", - "locationName":"thingName" - } - } - }, - "GetPendingJobExecutionsResponse":{ - "type":"structure", - "members":{ - "inProgressJobs":{ - "shape":"JobExecutionSummaryList", - "documentation":"

A list of JobExecutionSummary objects with status IN_PROGRESS.

" - }, - "queuedJobs":{ - "shape":"JobExecutionSummaryList", - "documentation":"

A list of JobExecutionSummary objects with status QUEUED.

" - } - } - }, - "IncludeExecutionState":{"type":"boolean"}, - "IncludeJobDocument":{"type":"boolean"}, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The contents of the request were invalid. For example, this code is returned when an UpdateJobExecution request contains invalid status details. The message contains details about the error.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidStateTransitionException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

An update attempted to change the job execution to a state that is invalid because of the job execution's current state (for example, an attempt to change a request in state SUCCESS to state IN_PROGRESS). In this case, the body of the error message also contains the executionState field.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "JobDocument":{ - "type":"string", - "max":32768 - }, - "JobExecution":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing that is executing the job.

" - }, - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The status of the job execution. Can be one of: \"QUEUED\", \"IN_PROGRESS\", \"FAILED\", \"SUCCESS\", \"CANCELED\", \"REJECTED\", or \"REMOVED\".

" - }, - "statusDetails":{ - "shape":"DetailsMap", - "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" - }, - "queuedAt":{ - "shape":"QueuedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was enqueued.

" - }, - "startedAt":{ - "shape":"StartedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was started.

" - }, - "lastUpdatedAt":{ - "shape":"LastUpdatedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" - }, - "versionNumber":{ - "shape":"VersionNumber", - "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

A number that identifies a particular job execution on a particular device. It can be used later in commands that return or update job execution information.

" - }, - "jobDocument":{ - "shape":"JobDocument", - "documentation":"

The content of the job document.

" - } - }, - "documentation":"

Contains data about a job execution.

" - }, - "JobExecutionState":{ - "type":"structure", - "members":{ - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The status of the job execution. Can be one of: \"QUEUED\", \"IN_PROGRESS\", \"FAILED\", \"SUCCESS\", \"CANCELED\", \"REJECTED\", or \"REMOVED\".

" - }, - "statusDetails":{ - "shape":"DetailsMap", - "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" - }, - "versionNumber":{ - "shape":"VersionNumber", - "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" - } - }, - "documentation":"

Contains data about the state of a job execution.

" - }, - "JobExecutionStatus":{ - "type":"string", - "enum":[ - "QUEUED", - "IN_PROGRESS", - "SUCCEEDED", - "FAILED", - "REJECTED", - "REMOVED", - "CANCELED" - ] - }, - "JobExecutionSummary":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "queuedAt":{ - "shape":"QueuedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was enqueued.

" - }, - "startedAt":{ - "shape":"StartedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" - }, - "lastUpdatedAt":{ - "shape":"LastUpdatedAt", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" - }, - "versionNumber":{ - "shape":"VersionNumber", - "documentation":"

The version of the job execution. Job execution versions are incremented each time AWS IoT Jobs receives an update from a device.

" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

A number that identifies a particular job execution on a particular device.

" - } - }, - "documentation":"

Contains a subset of information about a job execution.

" - }, - "JobExecutionSummaryList":{ - "type":"list", - "member":{"shape":"JobExecutionSummary"} - }, - "JobId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "LastUpdatedAt":{"type":"long"}, - "QueuedAt":{"type":"long"}, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The specified resource does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The service is temporarily unavailable.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "StartNextPendingJobExecutionRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing associated with the device.

", - "location":"uri", - "locationName":"thingName" - }, - "statusDetails":{ - "shape":"DetailsMap", - "documentation":"

A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.

" - } - } - }, - "StartNextPendingJobExecutionResponse":{ - "type":"structure", - "members":{ - "execution":{ - "shape":"JobExecution", - "documentation":"

A JobExecution object.

" - } - } - }, - "StartedAt":{"type":"long"}, - "TerminalStateException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The job is in a terminal state.

", - "error":{"httpStatusCode":410}, - "exception":true - }, - "ThingName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The rate exceeds the limit.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UpdateJobExecutionRequest":{ - "type":"structure", - "required":[ - "jobId", - "thingName", - "status" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing associated with the device.

", - "location":"uri", - "locationName":"thingName" - }, - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified on every update.

" - }, - "statusDetails":{ - "shape":"DetailsMap", - "documentation":"

Optional. A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.

" - }, - "expectedVersion":{ - "shape":"ExpectedVersion", - "documentation":"

Optional. The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)

" - }, - "includeJobExecutionState":{ - "shape":"IncludeExecutionState", - "documentation":"

Optional. When included and set to true, the response contains the JobExecutionState data. The default is false.

" - }, - "includeJobDocument":{ - "shape":"IncludeJobDocument", - "documentation":"

Optional. When set to true, the response contains the job document. The default is false.

" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

Optional. A number that identifies a particular job execution on a particular device.

" - } - } - }, - "UpdateJobExecutionResponse":{ - "type":"structure", - "members":{ - "executionState":{ - "shape":"JobExecutionState", - "documentation":"

A JobExecutionState object.

" - }, - "jobDocument":{ - "shape":"JobDocument", - "documentation":"

The contents of the Job Documents.

" - } - } - }, - "VersionNumber":{"type":"long"}, - "errorMessage":{"type":"string"} - }, - "documentation":"

AWS IoT Jobs is a service that allows you to define a set of jobs — remote operations that are sent to and executed on one or more devices connected to AWS IoT. For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations.

To create a job, you make a job document which is a description of the remote operations to be performed, and you specify a list of targets that should perform the operations. The targets can be individual things, thing groups or both.

AWS IoT Jobs sends a message to inform the targets that a job is available. The target starts the execution of the job by downloading the job document, performing the operations it specifies, and reporting its progress to AWS IoT. The Jobs service provides commands to track the progress of a job on a specific target and for all the targets of the job

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/examples-1.json deleted file mode 100644 index faff7689..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version":"1.0", - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/paginators-1.json deleted file mode 100644 index cc1934b2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/paginators-1.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "pagination": { - "ListCACertificates": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "certificates" - }, - "ListCertificates": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "certificates" - }, - "ListCertificatesByCA": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "certificates" - }, - "ListOutgoingCertificates": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "outgoingCertificates" - }, - "ListPolicies": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "policies" - }, - "ListPolicyPrincipals": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "principals" - }, - "ListPrincipalPolicies": { - "input_token": "marker", - "output_token": "nextMarker", - "limit_key": "pageSize", - "result_key": "policies" - }, - "ListPrincipalThings": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "things" - }, - "ListThingTypes": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "thingTypes" - }, - "ListThings": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "things" - }, - "ListTopicRules": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "rules" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/service-2.json deleted file mode 100644 index 369c4cdc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot/2015-05-28/service-2.json +++ /dev/null @@ -1,11237 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-05-28", - "endpointPrefix":"iot", - "protocol":"rest-json", - "serviceFullName":"AWS IoT", - "serviceId":"IoT", - "signatureVersion":"v4", - "signingName":"execute-api", - "uid":"iot-2015-05-28" - }, - "operations":{ - "AcceptCertificateTransfer":{ - "name":"AcceptCertificateTransfer", - "http":{ - "method":"PATCH", - "requestUri":"/accept-certificate-transfer/{certificateId}" - }, - "input":{"shape":"AcceptCertificateTransferRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"TransferAlreadyCompletedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

" - }, - "AddThingToThingGroup":{ - "name":"AddThingToThingGroup", - "http":{ - "method":"PUT", - "requestUri":"/thing-groups/addThingToThingGroup" - }, - "input":{"shape":"AddThingToThingGroupRequest"}, - "output":{"shape":"AddThingToThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Adds a thing to a thing group.

" - }, - "AssociateTargetsWithJob":{ - "name":"AssociateTargetsWithJob", - "http":{ - "method":"POST", - "requestUri":"/jobs/{jobId}/targets" - }, - "input":{"shape":"AssociateTargetsWithJobRequest"}, - "output":{"shape":"AssociateTargetsWithJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Associates a group with a continuous job. The following criteria must be met:

  • The job must have been created with the targetSelection field set to \"CONTINUOUS\".

  • The job status must currently be \"IN_PROGRESS\".

  • The total number of targets associated with a job must not exceed 100.

" - }, - "AttachPolicy":{ - "name":"AttachPolicy", - "http":{ - "method":"PUT", - "requestUri":"/target-policies/{policyName}" - }, - "input":{"shape":"AttachPolicyRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Attaches a policy to the specified target.

" - }, - "AttachPrincipalPolicy":{ - "name":"AttachPrincipalPolicy", - "http":{ - "method":"PUT", - "requestUri":"/principal-policies/{policyName}" - }, - "input":{"shape":"AttachPrincipalPolicyRequest"}, - "errors":[ - {"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).

Note: This API is deprecated. Please use AttachPolicy instead.

", - "deprecated":true - }, - "AttachSecurityProfile":{ - "name":"AttachSecurityProfile", - "http":{ - "method":"PUT", - "requestUri":"/security-profiles/{securityProfileName}/targets" - }, - "input":{"shape":"AttachSecurityProfileRequest"}, - "output":{"shape":"AttachSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"VersionConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Associates a Device Defender security profile with a thing group or with this account. Each thing group or account can have up to five security profiles associated with it.

" - }, - "AttachThingPrincipal":{ - "name":"AttachThingPrincipal", - "http":{ - "method":"PUT", - "requestUri":"/things/{thingName}/principals" - }, - "input":{"shape":"AttachThingPrincipalRequest"}, - "output":{"shape":"AttachThingPrincipalResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Attaches the specified principal to the specified thing.

" - }, - "CancelAuditTask":{ - "name":"CancelAuditTask", - "http":{ - "method":"PUT", - "requestUri":"/audit/tasks/{taskId}/cancel" - }, - "input":{"shape":"CancelAuditTaskRequest"}, - "output":{"shape":"CancelAuditTaskResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Cancels an audit that is in progress. The audit can be either scheduled or on-demand. If the audit is not in progress, an \"InvalidRequestException\" occurs.

" - }, - "CancelCertificateTransfer":{ - "name":"CancelCertificateTransfer", - "http":{ - "method":"PATCH", - "requestUri":"/cancel-certificate-transfer/{certificateId}" - }, - "input":{"shape":"CancelCertificateTransferRequest"}, - "errors":[ - {"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.

" - }, - "CancelJob":{ - "name":"CancelJob", - "http":{ - "method":"PUT", - "requestUri":"/jobs/{jobId}/cancel" - }, - "input":{"shape":"CancelJobRequest"}, - "output":{"shape":"CancelJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Cancels a job.

" - }, - "CancelJobExecution":{ - "name":"CancelJobExecution", - "http":{ - "method":"PUT", - "requestUri":"/things/{thingName}/jobs/{jobId}/cancel" - }, - "input":{"shape":"CancelJobExecutionRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidStateTransitionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"VersionConflictException"} - ], - "documentation":"

Cancels the execution of a job for a given thing.

" - }, - "ClearDefaultAuthorizer":{ - "name":"ClearDefaultAuthorizer", - "http":{ - "method":"DELETE", - "requestUri":"/default-authorizer" - }, - "input":{"shape":"ClearDefaultAuthorizerRequest"}, - "output":{"shape":"ClearDefaultAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Clears the default authorizer.

" - }, - "CreateAuthorizer":{ - "name":"CreateAuthorizer", - "http":{ - "method":"POST", - "requestUri":"/authorizer/{authorizerName}" - }, - "input":{"shape":"CreateAuthorizerRequest"}, - "output":{"shape":"CreateAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates an authorizer.

" - }, - "CreateCertificateFromCsr":{ - "name":"CreateCertificateFromCsr", - "http":{ - "method":"POST", - "requestUri":"/certificates" - }, - "input":{"shape":"CreateCertificateFromCsrRequest"}, - "output":{"shape":"CreateCertificateFromCsrResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "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\"

" - }, - "CreateJob":{ - "name":"CreateJob", - "http":{ - "method":"PUT", - "requestUri":"/jobs/{jobId}" - }, - "input":{"shape":"CreateJobRequest"}, - "output":{"shape":"CreateJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates a job.

" - }, - "CreateKeysAndCertificate":{ - "name":"CreateKeysAndCertificate", - "http":{ - "method":"POST", - "requestUri":"/keys-and-certificate" - }, - "input":{"shape":"CreateKeysAndCertificateRequest"}, - "output":{"shape":"CreateKeysAndCertificateResponse"}, - "errors":[ - {"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.

" - }, - "CreateOTAUpdate":{ - "name":"CreateOTAUpdate", - "http":{ - "method":"POST", - "requestUri":"/otaUpdates/{otaUpdateId}" - }, - "input":{"shape":"CreateOTAUpdateRequest"}, - "output":{"shape":"CreateOTAUpdateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates an AWS IoT OTAUpdate on a target group of things or groups.

" - }, - "CreatePolicy":{ - "name":"CreatePolicy", - "http":{ - "method":"POST", - "requestUri":"/policies/{policyName}" - }, - "input":{"shape":"CreatePolicyRequest"}, - "output":{"shape":"CreatePolicyResponse"}, - "errors":[ - {"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.

" - }, - "CreatePolicyVersion":{ - "name":"CreatePolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/policies/{policyName}/version" - }, - "input":{"shape":"CreatePolicyVersionRequest"}, - "output":{"shape":"CreatePolicyVersionResponse"}, - "errors":[ - {"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).

" - }, - "CreateRoleAlias":{ - "name":"CreateRoleAlias", - "http":{ - "method":"POST", - "requestUri":"/role-aliases/{roleAlias}" - }, - "input":{"shape":"CreateRoleAliasRequest"}, - "output":{"shape":"CreateRoleAliasResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a role alias.

" - }, - "CreateScheduledAudit":{ - "name":"CreateScheduledAudit", - "http":{ - "method":"POST", - "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" - }, - "input":{"shape":"CreateScheduledAuditRequest"}, - "output":{"shape":"CreateScheduledAuditResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a scheduled audit that is run at a specified time interval.

" - }, - "CreateSecurityProfile":{ - "name":"CreateSecurityProfile", - "http":{ - "method":"POST", - "requestUri":"/security-profiles/{securityProfileName}" - }, - "input":{"shape":"CreateSecurityProfileRequest"}, - "output":{"shape":"CreateSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a Device Defender security profile.

" - }, - "CreateStream":{ - "name":"CreateStream", - "http":{ - "method":"POST", - "requestUri":"/streams/{streamId}" - }, - "input":{"shape":"CreateStreamRequest"}, - "output":{"shape":"CreateStreamResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream. The total size of a file associated with the stream cannot exceed more than 2 MB. The stream will be created with version 0. If a stream is created with the same streamID as a stream that existed and was deleted within last 90 days, we will resurrect that old stream by incrementing the version by 1.

" - }, - "CreateThing":{ - "name":"CreateThing", - "http":{ - "method":"POST", - "requestUri":"/things/{thingName}" - }, - "input":{"shape":"CreateThingRequest"}, - "output":{"shape":"CreateThingResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a thing record in the registry.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" - }, - "CreateThingGroup":{ - "name":"CreateThingGroup", - "http":{ - "method":"POST", - "requestUri":"/thing-groups/{thingGroupName}" - }, - "input":{"shape":"CreateThingGroupRequest"}, - "output":{"shape":"CreateThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" - }, - "CreateThingType":{ - "name":"CreateThingType", - "http":{ - "method":"POST", - "requestUri":"/thing-types/{thingTypeName}" - }, - "input":{"shape":"CreateThingTypeRequest"}, - "output":{"shape":"CreateThingTypeResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceAlreadyExistsException"} - ], - "documentation":"

Creates a new thing type.

" - }, - "CreateTopicRule":{ - "name":"CreateTopicRule", - "http":{ - "method":"POST", - "requestUri":"/rules/{ruleName}" - }, - "input":{"shape":"CreateTopicRuleRequest"}, - "errors":[ - {"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.

" - }, - "DeleteAccountAuditConfiguration":{ - "name":"DeleteAccountAuditConfiguration", - "http":{ - "method":"DELETE", - "requestUri":"/audit/configuration" - }, - "input":{"shape":"DeleteAccountAuditConfigurationRequest"}, - "output":{"shape":"DeleteAccountAuditConfigurationResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled.

" - }, - "DeleteAuthorizer":{ - "name":"DeleteAuthorizer", - "http":{ - "method":"DELETE", - "requestUri":"/authorizer/{authorizerName}" - }, - "input":{"shape":"DeleteAuthorizerRequest"}, - "output":{"shape":"DeleteAuthorizerResponse"}, - "errors":[ - {"shape":"DeleteConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes an authorizer.

" - }, - "DeleteCACertificate":{ - "name":"DeleteCACertificate", - "http":{ - "method":"DELETE", - "requestUri":"/cacertificate/{caCertificateId}" - }, - "input":{"shape":"DeleteCACertificateRequest"}, - "output":{"shape":"DeleteCACertificateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"CertificateStateException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a registered CA certificate.

" - }, - "DeleteCertificate":{ - "name":"DeleteCertificate", - "http":{ - "method":"DELETE", - "requestUri":"/certificates/{certificateId}" - }, - "input":{"shape":"DeleteCertificateRequest"}, - "errors":[ - {"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.

" - }, - "DeleteJob":{ - "name":"DeleteJob", - "http":{ - "method":"DELETE", - "requestUri":"/jobs/{jobId}" - }, - "input":{"shape":"DeleteJobRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidStateTransitionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes a job and its related job executions.

Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as \"DELETION_IN_PROGRESS\". Attempting to delete or cancel a job whose status is already \"DELETION_IN_PROGRESS\" will result in an error.

Only 10 jobs may have status \"DELETION_IN_PROGRESS\" at the same time, or a LimitExceededException will occur.

" - }, - "DeleteJobExecution":{ - "name":"DeleteJobExecution", - "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}/jobs/{jobId}/executionNumber/{executionNumber}" - }, - "input":{"shape":"DeleteJobExecutionRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InvalidStateTransitionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes a job execution.

" - }, - "DeleteOTAUpdate":{ - "name":"DeleteOTAUpdate", - "http":{ - "method":"DELETE", - "requestUri":"/otaUpdates/{otaUpdateId}" - }, - "input":{"shape":"DeleteOTAUpdateRequest"}, - "output":{"shape":"DeleteOTAUpdateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"VersionConflictException"} - ], - "documentation":"

Delete an OTA update.

" - }, - "DeletePolicy":{ - "name":"DeletePolicy", - "http":{ - "method":"DELETE", - "requestUri":"/policies/{policyName}" - }, - "input":{"shape":"DeletePolicyRequest"}, - "errors":[ - {"shape":"DeleteConflictException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes the specified policy.

A policy cannot be deleted if it has non-default versions or it is attached to any certificate.

To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

" - }, - "DeletePolicyVersion":{ - "name":"DeletePolicyVersion", - "http":{ - "method":"DELETE", - "requestUri":"/policies/{policyName}/version/{policyVersionId}" - }, - "input":{"shape":"DeletePolicyVersionRequest"}, - "errors":[ - {"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.

" - }, - "DeleteRegistrationCode":{ - "name":"DeleteRegistrationCode", - "http":{ - "method":"DELETE", - "requestUri":"/registrationcode" - }, - "input":{"shape":"DeleteRegistrationCodeRequest"}, - "output":{"shape":"DeleteRegistrationCodeResponse"}, - "errors":[ - {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a CA certificate registration code.

" - }, - "DeleteRoleAlias":{ - "name":"DeleteRoleAlias", - "http":{ - "method":"DELETE", - "requestUri":"/role-aliases/{roleAlias}" - }, - "input":{"shape":"DeleteRoleAliasRequest"}, - "output":{"shape":"DeleteRoleAliasResponse"}, - "errors":[ - {"shape":"DeleteConflictException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a role alias

" - }, - "DeleteScheduledAudit":{ - "name":"DeleteScheduledAudit", - "http":{ - "method":"DELETE", - "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" - }, - "input":{"shape":"DeleteScheduledAuditRequest"}, - "output":{"shape":"DeleteScheduledAuditResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a scheduled audit.

" - }, - "DeleteSecurityProfile":{ - "name":"DeleteSecurityProfile", - "http":{ - "method":"DELETE", - "requestUri":"/security-profiles/{securityProfileName}" - }, - "input":{"shape":"DeleteSecurityProfileRequest"}, - "output":{"shape":"DeleteSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"VersionConflictException"} - ], - "documentation":"

Deletes a Device Defender security profile.

" - }, - "DeleteStream":{ - "name":"DeleteStream", - "http":{ - "method":"DELETE", - "requestUri":"/streams/{streamId}" - }, - "input":{"shape":"DeleteStreamRequest"}, - "output":{"shape":"DeleteStreamResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"DeleteConflictException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a stream.

" - }, - "DeleteThing":{ - "name":"DeleteThing", - "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}" - }, - "input":{"shape":"DeleteThingRequest"}, - "output":{"shape":"DeleteThingResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"VersionConflictException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes the specified thing.

" - }, - "DeleteThingGroup":{ - "name":"DeleteThingGroup", - "http":{ - "method":"DELETE", - "requestUri":"/thing-groups/{thingGroupName}" - }, - "input":{"shape":"DeleteThingGroupRequest"}, - "output":{"shape":"DeleteThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"VersionConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a thing group.

" - }, - "DeleteThingType":{ - "name":"DeleteThingType", - "http":{ - "method":"DELETE", - "requestUri":"/thing-types/{thingTypeName}" - }, - "input":{"shape":"DeleteThingTypeRequest"}, - "output":{"shape":"DeleteThingTypeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes the specified thing type . You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.

" - }, - "DeleteTopicRule":{ - "name":"DeleteTopicRule", - "http":{ - "method":"DELETE", - "requestUri":"/rules/{ruleName}" - }, - "input":{"shape":"DeleteTopicRuleRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Deletes the rule.

" - }, - "DeleteV2LoggingLevel":{ - "name":"DeleteV2LoggingLevel", - "http":{ - "method":"DELETE", - "requestUri":"/v2LoggingLevel" - }, - "input":{"shape":"DeleteV2LoggingLevelRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes a logging level.

" - }, - "DeprecateThingType":{ - "name":"DeprecateThingType", - "http":{ - "method":"POST", - "requestUri":"/thing-types/{thingTypeName}/deprecate" - }, - "input":{"shape":"DeprecateThingTypeRequest"}, - "output":{"shape":"DeprecateThingTypeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deprecates a thing type. You can not associate new things with deprecated thing type.

" - }, - "DescribeAccountAuditConfiguration":{ - "name":"DescribeAccountAuditConfiguration", - "http":{ - "method":"GET", - "requestUri":"/audit/configuration" - }, - "input":{"shape":"DescribeAccountAuditConfigurationRequest"}, - "output":{"shape":"DescribeAccountAuditConfigurationResponse"}, - "errors":[ - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

" - }, - "DescribeAuditTask":{ - "name":"DescribeAuditTask", - "http":{ - "method":"GET", - "requestUri":"/audit/tasks/{taskId}" - }, - "input":{"shape":"DescribeAuditTaskRequest"}, - "output":{"shape":"DescribeAuditTaskResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about a Device Defender audit.

" - }, - "DescribeAuthorizer":{ - "name":"DescribeAuthorizer", - "http":{ - "method":"GET", - "requestUri":"/authorizer/{authorizerName}" - }, - "input":{"shape":"DescribeAuthorizerRequest"}, - "output":{"shape":"DescribeAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Describes an authorizer.

" - }, - "DescribeCACertificate":{ - "name":"DescribeCACertificate", - "http":{ - "method":"GET", - "requestUri":"/cacertificate/{caCertificateId}" - }, - "input":{"shape":"DescribeCACertificateRequest"}, - "output":{"shape":"DescribeCACertificateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a registered CA certificate.

" - }, - "DescribeCertificate":{ - "name":"DescribeCertificate", - "http":{ - "method":"GET", - "requestUri":"/certificates/{certificateId}" - }, - "input":{"shape":"DescribeCertificateRequest"}, - "output":{"shape":"DescribeCertificateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified certificate.

" - }, - "DescribeDefaultAuthorizer":{ - "name":"DescribeDefaultAuthorizer", - "http":{ - "method":"GET", - "requestUri":"/default-authorizer" - }, - "input":{"shape":"DescribeDefaultAuthorizerRequest"}, - "output":{"shape":"DescribeDefaultAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Describes the default authorizer.

" - }, - "DescribeEndpoint":{ - "name":"DescribeEndpoint", - "http":{ - "method":"GET", - "requestUri":"/endpoint" - }, - "input":{"shape":"DescribeEndpointRequest"}, - "output":{"shape":"DescribeEndpointResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Returns a unique endpoint specific to the AWS account making the call.

" - }, - "DescribeEventConfigurations":{ - "name":"DescribeEventConfigurations", - "http":{ - "method":"GET", - "requestUri":"/event-configurations" - }, - "input":{"shape":"DescribeEventConfigurationsRequest"}, - "output":{"shape":"DescribeEventConfigurationsResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Describes event configurations.

" - }, - "DescribeIndex":{ - "name":"DescribeIndex", - "http":{ - "method":"GET", - "requestUri":"/indices/{indexName}" - }, - "input":{"shape":"DescribeIndexRequest"}, - "output":{"shape":"DescribeIndexResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a search index.

" - }, - "DescribeJob":{ - "name":"DescribeJob", - "http":{ - "method":"GET", - "requestUri":"/jobs/{jobId}" - }, - "input":{"shape":"DescribeJobRequest"}, - "output":{"shape":"DescribeJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Describes a job.

" - }, - "DescribeJobExecution":{ - "name":"DescribeJobExecution", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/jobs/{jobId}" - }, - "input":{"shape":"DescribeJobExecutionRequest"}, - "output":{"shape":"DescribeJobExecutionResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Describes a job execution.

" - }, - "DescribeRoleAlias":{ - "name":"DescribeRoleAlias", - "http":{ - "method":"GET", - "requestUri":"/role-aliases/{roleAlias}" - }, - "input":{"shape":"DescribeRoleAliasRequest"}, - "output":{"shape":"DescribeRoleAliasResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a role alias.

" - }, - "DescribeScheduledAudit":{ - "name":"DescribeScheduledAudit", - "http":{ - "method":"GET", - "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" - }, - "input":{"shape":"DescribeScheduledAuditRequest"}, - "output":{"shape":"DescribeScheduledAuditResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about a scheduled audit.

" - }, - "DescribeSecurityProfile":{ - "name":"DescribeSecurityProfile", - "http":{ - "method":"GET", - "requestUri":"/security-profiles/{securityProfileName}" - }, - "input":{"shape":"DescribeSecurityProfileRequest"}, - "output":{"shape":"DescribeSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about a Device Defender security profile.

" - }, - "DescribeStream":{ - "name":"DescribeStream", - "http":{ - "method":"GET", - "requestUri":"/streams/{streamId}" - }, - "input":{"shape":"DescribeStreamRequest"}, - "output":{"shape":"DescribeStreamResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about a stream.

" - }, - "DescribeThing":{ - "name":"DescribeThing", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}" - }, - "input":{"shape":"DescribeThingRequest"}, - "output":{"shape":"DescribeThingResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about the specified thing.

" - }, - "DescribeThingGroup":{ - "name":"DescribeThingGroup", - "http":{ - "method":"GET", - "requestUri":"/thing-groups/{thingGroupName}" - }, - "input":{"shape":"DescribeThingGroupRequest"}, - "output":{"shape":"DescribeThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describe a thing group.

" - }, - "DescribeThingRegistrationTask":{ - "name":"DescribeThingRegistrationTask", - "http":{ - "method":"GET", - "requestUri":"/thing-registration-tasks/{taskId}" - }, - "input":{"shape":"DescribeThingRegistrationTaskRequest"}, - "output":{"shape":"DescribeThingRegistrationTaskResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a bulk thing provisioning task.

" - }, - "DescribeThingType":{ - "name":"DescribeThingType", - "http":{ - "method":"GET", - "requestUri":"/thing-types/{thingTypeName}" - }, - "input":{"shape":"DescribeThingTypeRequest"}, - "output":{"shape":"DescribeThingTypeResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about the specified thing type.

" - }, - "DetachPolicy":{ - "name":"DetachPolicy", - "http":{ - "method":"POST", - "requestUri":"/target-policies/{policyName}" - }, - "input":{"shape":"DetachPolicyRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Detaches a policy from the specified target.

" - }, - "DetachPrincipalPolicy":{ - "name":"DetachPrincipalPolicy", - "http":{ - "method":"DELETE", - "requestUri":"/principal-policies/{policyName}" - }, - "input":{"shape":"DetachPrincipalPolicyRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Removes the specified policy from the specified certificate.

Note: This API is deprecated. Please use DetachPolicy instead.

", - "deprecated":true - }, - "DetachSecurityProfile":{ - "name":"DetachSecurityProfile", - "http":{ - "method":"DELETE", - "requestUri":"/security-profiles/{securityProfileName}/targets" - }, - "input":{"shape":"DetachSecurityProfileRequest"}, - "output":{"shape":"DetachSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Disassociates a Device Defender security profile from a thing group or from this account.

" - }, - "DetachThingPrincipal":{ - "name":"DetachThingPrincipal", - "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}/principals" - }, - "input":{"shape":"DetachThingPrincipalRequest"}, - "output":{"shape":"DetachThingPrincipalResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Detaches the specified principal from the specified thing.

" - }, - "DisableTopicRule":{ - "name":"DisableTopicRule", - "http":{ - "method":"POST", - "requestUri":"/rules/{ruleName}/disable" - }, - "input":{"shape":"DisableTopicRuleRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Disables the rule.

" - }, - "EnableTopicRule":{ - "name":"EnableTopicRule", - "http":{ - "method":"POST", - "requestUri":"/rules/{ruleName}/enable" - }, - "input":{"shape":"EnableTopicRuleRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Enables the rule.

" - }, - "GetEffectivePolicies":{ - "name":"GetEffectivePolicies", - "http":{ - "method":"POST", - "requestUri":"/effective-policies" - }, - "input":{"shape":"GetEffectivePoliciesRequest"}, - "output":{"shape":"GetEffectivePoliciesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the AWS IoT device gateway.

" - }, - "GetIndexingConfiguration":{ - "name":"GetIndexingConfiguration", - "http":{ - "method":"GET", - "requestUri":"/indexing/config" - }, - "input":{"shape":"GetIndexingConfigurationRequest"}, - "output":{"shape":"GetIndexingConfigurationResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets the search configuration.

" - }, - "GetJobDocument":{ - "name":"GetJobDocument", - "http":{ - "method":"GET", - "requestUri":"/jobs/{jobId}/job-document" - }, - "input":{"shape":"GetJobDocumentRequest"}, - "output":{"shape":"GetJobDocumentResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Gets a job document.

" - }, - "GetLoggingOptions":{ - "name":"GetLoggingOptions", - "http":{ - "method":"GET", - "requestUri":"/loggingOptions" - }, - "input":{"shape":"GetLoggingOptionsRequest"}, - "output":{"shape":"GetLoggingOptionsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Gets the logging options.

NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead.

" - }, - "GetOTAUpdate":{ - "name":"GetOTAUpdate", - "http":{ - "method":"GET", - "requestUri":"/otaUpdates/{otaUpdateId}" - }, - "input":{"shape":"GetOTAUpdateRequest"}, - "output":{"shape":"GetOTAUpdateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets an OTA update.

" - }, - "GetPolicy":{ - "name":"GetPolicy", - "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}" - }, - "input":{"shape":"GetPolicyRequest"}, - "output":{"shape":"GetPolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about the specified policy with the policy document of the default version.

" - }, - "GetPolicyVersion":{ - "name":"GetPolicyVersion", - "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}/version/{policyVersionId}" - }, - "input":{"shape":"GetPolicyVersionRequest"}, - "output":{"shape":"GetPolicyVersionResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Gets information about the specified policy version.

" - }, - "GetRegistrationCode":{ - "name":"GetRegistrationCode", - "http":{ - "method":"GET", - "requestUri":"/registrationcode" - }, - "input":{"shape":"GetRegistrationCodeRequest"}, - "output":{"shape":"GetRegistrationCodeResponse"}, - "errors":[ - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Gets a registration code used to register a CA certificate with AWS IoT.

" - }, - "GetTopicRule":{ - "name":"GetTopicRule", - "http":{ - "method":"GET", - "requestUri":"/rules/{ruleName}" - }, - "input":{"shape":"GetTopicRuleRequest"}, - "output":{"shape":"GetTopicRuleResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Gets information about the rule.

" - }, - "GetV2LoggingOptions":{ - "name":"GetV2LoggingOptions", - "http":{ - "method":"GET", - "requestUri":"/v2LoggingOptions" - }, - "input":{"shape":"GetV2LoggingOptionsRequest"}, - "output":{"shape":"GetV2LoggingOptionsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"NotConfiguredException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Gets the fine grained logging options.

" - }, - "ListActiveViolations":{ - "name":"ListActiveViolations", - "http":{ - "method":"GET", - "requestUri":"/active-violations" - }, - "input":{"shape":"ListActiveViolationsRequest"}, - "output":{"shape":"ListActiveViolationsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the active violations for a given Device Defender security profile.

" - }, - "ListAttachedPolicies":{ - "name":"ListAttachedPolicies", - "http":{ - "method":"POST", - "requestUri":"/attached-policies/{target}" - }, - "input":{"shape":"ListAttachedPoliciesRequest"}, - "output":{"shape":"ListAttachedPoliciesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Lists the policies attached to the specified thing group.

" - }, - "ListAuditFindings":{ - "name":"ListAuditFindings", - "http":{ - "method":"POST", - "requestUri":"/audit/findings" - }, - "input":{"shape":"ListAuditFindingsRequest"}, - "output":{"shape":"ListAuditFindingsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 180 days.)

" - }, - "ListAuditTasks":{ - "name":"ListAuditTasks", - "http":{ - "method":"GET", - "requestUri":"/audit/tasks" - }, - "input":{"shape":"ListAuditTasksRequest"}, - "output":{"shape":"ListAuditTasksResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the Device Defender audits that have been performed during a given time period.

" - }, - "ListAuthorizers":{ - "name":"ListAuthorizers", - "http":{ - "method":"GET", - "requestUri":"/authorizers/" - }, - "input":{"shape":"ListAuthorizersRequest"}, - "output":{"shape":"ListAuthorizersResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the authorizers registered in your account.

" - }, - "ListCACertificates":{ - "name":"ListCACertificates", - "http":{ - "method":"GET", - "requestUri":"/cacertificates" - }, - "input":{"shape":"ListCACertificatesRequest"}, - "output":{"shape":"ListCACertificatesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" - }, - "ListCertificates":{ - "name":"ListCertificates", - "http":{ - "method":"GET", - "requestUri":"/certificates" - }, - "input":{"shape":"ListCertificatesRequest"}, - "output":{"shape":"ListCertificatesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" - }, - "ListCertificatesByCA":{ - "name":"ListCertificatesByCA", - "http":{ - "method":"GET", - "requestUri":"/certificates-by-ca/{caCertificateId}" - }, - "input":{"shape":"ListCertificatesByCARequest"}, - "output":{"shape":"ListCertificatesByCAResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

List the device certificates signed by the specified CA certificate.

" - }, - "ListIndices":{ - "name":"ListIndices", - "http":{ - "method":"GET", - "requestUri":"/indices" - }, - "input":{"shape":"ListIndicesRequest"}, - "output":{"shape":"ListIndicesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the search indices.

" - }, - "ListJobExecutionsForJob":{ - "name":"ListJobExecutionsForJob", - "http":{ - "method":"GET", - "requestUri":"/jobs/{jobId}/things" - }, - "input":{"shape":"ListJobExecutionsForJobRequest"}, - "output":{"shape":"ListJobExecutionsForJobResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the job executions for a job.

" - }, - "ListJobExecutionsForThing":{ - "name":"ListJobExecutionsForThing", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/jobs" - }, - "input":{"shape":"ListJobExecutionsForThingRequest"}, - "output":{"shape":"ListJobExecutionsForThingResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the job executions for the specified thing.

" - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"GET", - "requestUri":"/jobs" - }, - "input":{"shape":"ListJobsRequest"}, - "output":{"shape":"ListJobsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists jobs.

" - }, - "ListOTAUpdates":{ - "name":"ListOTAUpdates", - "http":{ - "method":"GET", - "requestUri":"/otaUpdates" - }, - "input":{"shape":"ListOTAUpdatesRequest"}, - "output":{"shape":"ListOTAUpdatesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists OTA updates.

" - }, - "ListOutgoingCertificates":{ - "name":"ListOutgoingCertificates", - "http":{ - "method":"GET", - "requestUri":"/certificates-out-going" - }, - "input":{"shape":"ListOutgoingCertificatesRequest"}, - "output":{"shape":"ListOutgoingCertificatesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists certificates that are being transferred but not yet accepted.

" - }, - "ListPolicies":{ - "name":"ListPolicies", - "http":{ - "method":"GET", - "requestUri":"/policies" - }, - "input":{"shape":"ListPoliciesRequest"}, - "output":{"shape":"ListPoliciesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists your policies.

" - }, - "ListPolicyPrincipals":{ - "name":"ListPolicyPrincipals", - "http":{ - "method":"GET", - "requestUri":"/policy-principals" - }, - "input":{"shape":"ListPolicyPrincipalsRequest"}, - "output":{"shape":"ListPolicyPrincipalsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the principals associated with the specified policy.

Note: This API is deprecated. Please use ListTargetsForPolicy instead.

", - "deprecated":true - }, - "ListPolicyVersions":{ - "name":"ListPolicyVersions", - "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}/version" - }, - "input":{"shape":"ListPolicyVersionsRequest"}, - "output":{"shape":"ListPolicyVersionsResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the versions of the specified policy and identifies the default version.

" - }, - "ListPrincipalPolicies":{ - "name":"ListPrincipalPolicies", - "http":{ - "method":"GET", - "requestUri":"/principal-policies" - }, - "input":{"shape":"ListPrincipalPoliciesRequest"}, - "output":{"shape":"ListPrincipalPoliciesResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

Note: This API is deprecated. Please use ListAttachedPolicies instead.

", - "deprecated":true - }, - "ListPrincipalThings":{ - "name":"ListPrincipalThings", - "http":{ - "method":"GET", - "requestUri":"/principals/things" - }, - "input":{"shape":"ListPrincipalThingsRequest"}, - "output":{"shape":"ListPrincipalThingsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the things associated with the specified principal.

" - }, - "ListRoleAliases":{ - "name":"ListRoleAliases", - "http":{ - "method":"GET", - "requestUri":"/role-aliases" - }, - "input":{"shape":"ListRoleAliasesRequest"}, - "output":{"shape":"ListRoleAliasesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the role aliases registered in your account.

" - }, - "ListScheduledAudits":{ - "name":"ListScheduledAudits", - "http":{ - "method":"GET", - "requestUri":"/audit/scheduledaudits" - }, - "input":{"shape":"ListScheduledAuditsRequest"}, - "output":{"shape":"ListScheduledAuditsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists all of your scheduled audits.

" - }, - "ListSecurityProfiles":{ - "name":"ListSecurityProfiles", - "http":{ - "method":"GET", - "requestUri":"/security-profiles" - }, - "input":{"shape":"ListSecurityProfilesRequest"}, - "output":{"shape":"ListSecurityProfilesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the Device Defender security profiles you have created. You can use filters to list only those security profiles associated with a thing group or only those associated with your account.

" - }, - "ListSecurityProfilesForTarget":{ - "name":"ListSecurityProfilesForTarget", - "http":{ - "method":"GET", - "requestUri":"/security-profiles-for-target" - }, - "input":{"shape":"ListSecurityProfilesForTargetRequest"}, - "output":{"shape":"ListSecurityProfilesForTargetResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the Device Defender security profiles attached to a target (thing group).

" - }, - "ListStreams":{ - "name":"ListStreams", - "http":{ - "method":"GET", - "requestUri":"/streams" - }, - "input":{"shape":"ListStreamsRequest"}, - "output":{"shape":"ListStreamsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists all of the streams in your AWS account.

" - }, - "ListTargetsForPolicy":{ - "name":"ListTargetsForPolicy", - "http":{ - "method":"POST", - "requestUri":"/policy-targets/{policyName}" - }, - "input":{"shape":"ListTargetsForPolicyRequest"}, - "output":{"shape":"ListTargetsForPolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

List targets for the specified policy.

" - }, - "ListTargetsForSecurityProfile":{ - "name":"ListTargetsForSecurityProfile", - "http":{ - "method":"GET", - "requestUri":"/security-profiles/{securityProfileName}/targets" - }, - "input":{"shape":"ListTargetsForSecurityProfileRequest"}, - "output":{"shape":"ListTargetsForSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the targets (thing groups) associated with a given Device Defender security profile.

" - }, - "ListThingGroups":{ - "name":"ListThingGroups", - "http":{ - "method":"GET", - "requestUri":"/thing-groups" - }, - "input":{"shape":"ListThingGroupsRequest"}, - "output":{"shape":"ListThingGroupsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

List the thing groups in your account.

" - }, - "ListThingGroupsForThing":{ - "name":"ListThingGroupsForThing", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/thing-groups" - }, - "input":{"shape":"ListThingGroupsForThingRequest"}, - "output":{"shape":"ListThingGroupsForThingResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

List the thing groups to which the specified thing belongs.

" - }, - "ListThingPrincipals":{ - "name":"ListThingPrincipals", - "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/principals" - }, - "input":{"shape":"ListThingPrincipalsRequest"}, - "output":{"shape":"ListThingPrincipalsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the principals associated with the specified thing.

" - }, - "ListThingRegistrationTaskReports":{ - "name":"ListThingRegistrationTaskReports", - "http":{ - "method":"GET", - "requestUri":"/thing-registration-tasks/{taskId}/reports" - }, - "input":{"shape":"ListThingRegistrationTaskReportsRequest"}, - "output":{"shape":"ListThingRegistrationTaskReportsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Information about the thing registration tasks.

" - }, - "ListThingRegistrationTasks":{ - "name":"ListThingRegistrationTasks", - "http":{ - "method":"GET", - "requestUri":"/thing-registration-tasks" - }, - "input":{"shape":"ListThingRegistrationTasksRequest"}, - "output":{"shape":"ListThingRegistrationTasksResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

List bulk thing provisioning tasks.

" - }, - "ListThingTypes":{ - "name":"ListThingTypes", - "http":{ - "method":"GET", - "requestUri":"/thing-types" - }, - "input":{"shape":"ListThingTypesRequest"}, - "output":{"shape":"ListThingTypesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the existing thing types.

" - }, - "ListThings":{ - "name":"ListThings", - "http":{ - "method":"GET", - "requestUri":"/things" - }, - "input":{"shape":"ListThingsRequest"}, - "output":{"shape":"ListThingsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

" - }, - "ListThingsInThingGroup":{ - "name":"ListThingsInThingGroup", - "http":{ - "method":"GET", - "requestUri":"/thing-groups/{thingGroupName}/things" - }, - "input":{"shape":"ListThingsInThingGroupRequest"}, - "output":{"shape":"ListThingsInThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the things in the specified group.

" - }, - "ListTopicRules":{ - "name":"ListTopicRules", - "http":{ - "method":"GET", - "requestUri":"/rules" - }, - "input":{"shape":"ListTopicRulesRequest"}, - "output":{"shape":"ListTopicRulesResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the rules for the specific topic.

" - }, - "ListV2LoggingLevels":{ - "name":"ListV2LoggingLevels", - "http":{ - "method":"GET", - "requestUri":"/v2LoggingLevel" - }, - "input":{"shape":"ListV2LoggingLevelsRequest"}, - "output":{"shape":"ListV2LoggingLevelsResponse"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"NotConfiguredException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists logging levels.

" - }, - "ListViolationEvents":{ - "name":"ListViolationEvents", - "http":{ - "method":"GET", - "requestUri":"/violation-events" - }, - "input":{"shape":"ListViolationEventsRequest"}, - "output":{"shape":"ListViolationEventsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists the Device Defender security profile violations discovered during the given time period. You can use filters to limit the results to those alerts issued for a particular security profile, behavior or thing (device).

" - }, - "RegisterCACertificate":{ - "name":"RegisterCACertificate", - "http":{ - "method":"POST", - "requestUri":"/cacertificate" - }, - "input":{"shape":"RegisterCACertificateRequest"}, - "output":{"shape":"RegisterCACertificateResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"RegistrationCodeValidationException"}, - {"shape":"InvalidRequestException"}, - {"shape":"CertificateValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

" - }, - "RegisterCertificate":{ - "name":"RegisterCertificate", - "http":{ - "method":"POST", - "requestUri":"/certificate/register" - }, - "input":{"shape":"RegisterCertificateRequest"}, - "output":{"shape":"RegisterCertificateResponse"}, - "errors":[ - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InvalidRequestException"}, - {"shape":"CertificateValidationException"}, - {"shape":"CertificateStateException"}, - {"shape":"CertificateConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

" - }, - "RegisterThing":{ - "name":"RegisterThing", - "http":{ - "method":"POST", - "requestUri":"/things" - }, - "input":{"shape":"RegisterThingRequest"}, - "output":{"shape":"RegisterThingResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ThrottlingException"}, - {"shape":"ConflictingResourceUpdateException"}, - {"shape":"ResourceRegistrationFailureException"} - ], - "documentation":"

Provisions a thing.

" - }, - "RejectCertificateTransfer":{ - "name":"RejectCertificateTransfer", - "http":{ - "method":"PATCH", - "requestUri":"/reject-certificate-transfer/{certificateId}" - }, - "input":{"shape":"RejectCertificateTransferRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"TransferAlreadyCompletedException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

" - }, - "RemoveThingFromThingGroup":{ - "name":"RemoveThingFromThingGroup", - "http":{ - "method":"PUT", - "requestUri":"/thing-groups/removeThingFromThingGroup" - }, - "input":{"shape":"RemoveThingFromThingGroupRequest"}, - "output":{"shape":"RemoveThingFromThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Remove the specified thing from the specified group.

" - }, - "ReplaceTopicRule":{ - "name":"ReplaceTopicRule", - "http":{ - "method":"PATCH", - "requestUri":"/rules/{ruleName}" - }, - "input":{"shape":"ReplaceTopicRuleRequest"}, - "errors":[ - {"shape":"SqlParseException"}, - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"} - ], - "documentation":"

Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" - }, - "SearchIndex":{ - "name":"SearchIndex", - "http":{ - "method":"POST", - "requestUri":"/indices/search" - }, - "input":{"shape":"SearchIndexRequest"}, - "output":{"shape":"SearchIndexResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidQueryException"}, - {"shape":"IndexNotReadyException"} - ], - "documentation":"

The query search index.

" - }, - "SetDefaultAuthorizer":{ - "name":"SetDefaultAuthorizer", - "http":{ - "method":"POST", - "requestUri":"/default-authorizer" - }, - "input":{"shape":"SetDefaultAuthorizerRequest"}, - "output":{"shape":"SetDefaultAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceAlreadyExistsException"} - ], - "documentation":"

Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer.

" - }, - "SetDefaultPolicyVersion":{ - "name":"SetDefaultPolicyVersion", - "http":{ - "method":"PATCH", - "requestUri":"/policies/{policyName}/version/{policyVersionId}" - }, - "input":{"shape":"SetDefaultPolicyVersionRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.

" - }, - "SetLoggingOptions":{ - "name":"SetLoggingOptions", - "http":{ - "method":"POST", - "requestUri":"/loggingOptions" - }, - "input":{"shape":"SetLoggingOptionsRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Sets the logging options.

NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead.

" - }, - "SetV2LoggingLevel":{ - "name":"SetV2LoggingLevel", - "http":{ - "method":"POST", - "requestUri":"/v2LoggingLevel" - }, - "input":{"shape":"SetV2LoggingLevelRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"NotConfiguredException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Sets the logging level.

" - }, - "SetV2LoggingOptions":{ - "name":"SetV2LoggingOptions", - "http":{ - "method":"POST", - "requestUri":"/v2LoggingOptions" - }, - "input":{"shape":"SetV2LoggingOptionsRequest"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Sets the logging options for the V2 logging service.

" - }, - "StartOnDemandAuditTask":{ - "name":"StartOnDemandAuditTask", - "http":{ - "method":"POST", - "requestUri":"/audit/tasks" - }, - "input":{"shape":"StartOnDemandAuditTaskRequest"}, - "output":{"shape":"StartOnDemandAuditTaskResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Starts an on-demand Device Defender audit.

" - }, - "StartThingRegistrationTask":{ - "name":"StartThingRegistrationTask", - "http":{ - "method":"POST", - "requestUri":"/thing-registration-tasks" - }, - "input":{"shape":"StartThingRegistrationTaskRequest"}, - "output":{"shape":"StartThingRegistrationTaskResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Creates a bulk thing provisioning task.

" - }, - "StopThingRegistrationTask":{ - "name":"StopThingRegistrationTask", - "http":{ - "method":"PUT", - "requestUri":"/thing-registration-tasks/{taskId}/cancel" - }, - "input":{"shape":"StopThingRegistrationTaskRequest"}, - "output":{"shape":"StopThingRegistrationTaskResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Cancels a bulk thing provisioning task.

" - }, - "TestAuthorization":{ - "name":"TestAuthorization", - "http":{ - "method":"POST", - "requestUri":"/test-authorization" - }, - "input":{"shape":"TestAuthorizationRequest"}, - "output":{"shape":"TestAuthorizationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Tests if a specified principal is authorized to perform an AWS IoT action on a specified resource. Use this to test and debug the authorization behavior of devices that connect to the AWS IoT device gateway.

" - }, - "TestInvokeAuthorizer":{ - "name":"TestInvokeAuthorizer", - "http":{ - "method":"POST", - "requestUri":"/authorizer/{authorizerName}/test" - }, - "input":{"shape":"TestInvokeAuthorizerRequest"}, - "output":{"shape":"TestInvokeAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"InvalidResponseException"} - ], - "documentation":"

Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the AWS IoT device gateway.

" - }, - "TransferCertificate":{ - "name":"TransferCertificate", - "http":{ - "method":"PATCH", - "requestUri":"/transfer-certificate/{certificateId}" - }, - "input":{"shape":"TransferCertificateRequest"}, - "output":{"shape":"TransferCertificateResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"CertificateStateException"}, - {"shape":"TransferConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Transfers the specified certificate to the specified AWS account.

You can cancel the transfer until it is acknowledged by the recipient.

No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target.

The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.

" - }, - "UpdateAccountAuditConfiguration":{ - "name":"UpdateAccountAuditConfiguration", - "http":{ - "method":"PATCH", - "requestUri":"/audit/configuration" - }, - "input":{"shape":"UpdateAccountAuditConfigurationRequest"}, - "output":{"shape":"UpdateAccountAuditConfigurationResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

" - }, - "UpdateAuthorizer":{ - "name":"UpdateAuthorizer", - "http":{ - "method":"PUT", - "requestUri":"/authorizer/{authorizerName}" - }, - "input":{"shape":"UpdateAuthorizerRequest"}, - "output":{"shape":"UpdateAuthorizerResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates an authorizer.

" - }, - "UpdateCACertificate":{ - "name":"UpdateCACertificate", - "http":{ - "method":"PUT", - "requestUri":"/cacertificate/{caCertificateId}" - }, - "input":{"shape":"UpdateCACertificateRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a registered CA certificate.

" - }, - "UpdateCertificate":{ - "name":"UpdateCertificate", - "http":{ - "method":"PUT", - "requestUri":"/certificates/{certificateId}" - }, - "input":{"shape":"UpdateCertificateRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"CertificateStateException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

" - }, - "UpdateEventConfigurations":{ - "name":"UpdateEventConfigurations", - "http":{ - "method":"PATCH", - "requestUri":"/event-configurations" - }, - "input":{"shape":"UpdateEventConfigurationsRequest"}, - "output":{"shape":"UpdateEventConfigurationsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Updates the event configurations.

" - }, - "UpdateIndexingConfiguration":{ - "name":"UpdateIndexingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/indexing/config" - }, - "input":{"shape":"UpdateIndexingConfigurationRequest"}, - "output":{"shape":"UpdateIndexingConfigurationResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates the search configuration.

" - }, - "UpdateRoleAlias":{ - "name":"UpdateRoleAlias", - "http":{ - "method":"PUT", - "requestUri":"/role-aliases/{roleAlias}" - }, - "input":{"shape":"UpdateRoleAliasRequest"}, - "output":{"shape":"UpdateRoleAliasResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a role alias.

" - }, - "UpdateScheduledAudit":{ - "name":"UpdateScheduledAudit", - "http":{ - "method":"PATCH", - "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" - }, - "input":{"shape":"UpdateScheduledAuditRequest"}, - "output":{"shape":"UpdateScheduledAuditResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a scheduled audit, including what checks are performed and how often the audit takes place.

" - }, - "UpdateSecurityProfile":{ - "name":"UpdateSecurityProfile", - "http":{ - "method":"PATCH", - "requestUri":"/security-profiles/{securityProfileName}" - }, - "input":{"shape":"UpdateSecurityProfileRequest"}, - "output":{"shape":"UpdateSecurityProfileResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"VersionConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates a Device Defender security profile.

" - }, - "UpdateStream":{ - "name":"UpdateStream", - "http":{ - "method":"PUT", - "requestUri":"/streams/{streamId}" - }, - "input":{"shape":"UpdateStreamRequest"}, - "output":{"shape":"UpdateStreamResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Updates an existing stream. The stream version will be incremented by one.

" - }, - "UpdateThing":{ - "name":"UpdateThing", - "http":{ - "method":"PATCH", - "requestUri":"/things/{thingName}" - }, - "input":{"shape":"UpdateThingRequest"}, - "output":{"shape":"UpdateThingResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"VersionConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"UnauthorizedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the data for a thing.

" - }, - "UpdateThingGroup":{ - "name":"UpdateThingGroup", - "http":{ - "method":"PATCH", - "requestUri":"/thing-groups/{thingGroupName}" - }, - "input":{"shape":"UpdateThingGroupRequest"}, - "output":{"shape":"UpdateThingGroupResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"VersionConflictException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Update a thing group.

" - }, - "UpdateThingGroupsForThing":{ - "name":"UpdateThingGroupsForThing", - "http":{ - "method":"PUT", - "requestUri":"/thing-groups/updateThingGroupsForThing" - }, - "input":{"shape":"UpdateThingGroupsForThingRequest"}, - "output":{"shape":"UpdateThingGroupsForThingResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the groups to which the thing belongs.

" - }, - "ValidateSecurityProfileBehaviors":{ - "name":"ValidateSecurityProfileBehaviors", - "http":{ - "method":"POST", - "requestUri":"/security-profile-behaviors/validate" - }, - "input":{"shape":"ValidateSecurityProfileBehaviorsRequest"}, - "output":{"shape":"ValidateSecurityProfileBehaviorsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Validates a Device Defender security profile behaviors specification.

" - } - }, - "shapes":{ - "AcceptCertificateTransferRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - }, - "setAsActive":{ - "shape":"SetAsActive", - "documentation":"

Specifies whether the certificate is active.

", - "location":"querystring", - "locationName":"setAsActive" - } - }, - "documentation":"

The input for the AcceptCertificateTransfer operation.

" - }, - "Action":{ - "type":"structure", - "members":{ - "dynamoDB":{ - "shape":"DynamoDBAction", - "documentation":"

Write to a DynamoDB table.

" - }, - "dynamoDBv2":{ - "shape":"DynamoDBv2Action", - "documentation":"

Write to a DynamoDB table. This is a new version of the DynamoDB action. It allows you to write each attribute in an MQTT message payload into a separate DynamoDB column.

" - }, - "lambda":{ - "shape":"LambdaAction", - "documentation":"

Invoke a Lambda function.

" - }, - "sns":{ - "shape":"SnsAction", - "documentation":"

Publish to an Amazon SNS topic.

" - }, - "sqs":{ - "shape":"SqsAction", - "documentation":"

Publish to an Amazon SQS queue.

" - }, - "kinesis":{ - "shape":"KinesisAction", - "documentation":"

Write data to an Amazon Kinesis stream.

" - }, - "republish":{ - "shape":"RepublishAction", - "documentation":"

Publish to another MQTT topic.

" - }, - "s3":{ - "shape":"S3Action", - "documentation":"

Write to an Amazon S3 bucket.

" - }, - "firehose":{ - "shape":"FirehoseAction", - "documentation":"

Write to an Amazon Kinesis Firehose stream.

" - }, - "cloudwatchMetric":{ - "shape":"CloudwatchMetricAction", - "documentation":"

Capture a CloudWatch metric.

" - }, - "cloudwatchAlarm":{ - "shape":"CloudwatchAlarmAction", - "documentation":"

Change the state of a CloudWatch alarm.

" - }, - "elasticsearch":{ - "shape":"ElasticsearchAction", - "documentation":"

Write data to an Amazon Elasticsearch Service domain.

" - }, - "salesforce":{ - "shape":"SalesforceAction", - "documentation":"

Send a message to a Salesforce IoT Cloud Input Stream.

" - }, - "iotAnalytics":{ - "shape":"IotAnalyticsAction", - "documentation":"

Sends message data to an AWS IoT Analytics channel.

" - }, - "stepFunctions":{ - "shape":"StepFunctionsAction", - "documentation":"

Starts execution of a Step Functions state machine.

" - } - }, - "documentation":"

Describes the actions associated with a rule.

" - }, - "ActionList":{ - "type":"list", - "member":{"shape":"Action"}, - "max":10, - "min":0 - }, - "ActionType":{ - "type":"string", - "enum":[ - "PUBLISH", - "SUBSCRIBE", - "RECEIVE", - "CONNECT" - ] - }, - "ActiveViolation":{ - "type":"structure", - "members":{ - "violationId":{ - "shape":"ViolationId", - "documentation":"

The ID of the active violation.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing responsible for the active violation.

" - }, - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The security profile whose behavior is in violation.

" - }, - "behavior":{ - "shape":"Behavior", - "documentation":"

The behavior which is being violated.

" - }, - "lastViolationValue":{ - "shape":"MetricValue", - "documentation":"

The value of the metric (the measurement) which caused the most recent violation.

" - }, - "lastViolationTime":{ - "shape":"Timestamp", - "documentation":"

The time the most recent violation occurred.

" - }, - "violationStartTime":{ - "shape":"Timestamp", - "documentation":"

The time the violation started.

" - } - }, - "documentation":"

Information about an active Device Defender security profile behavior violation.

" - }, - "ActiveViolations":{ - "type":"list", - "member":{"shape":"ActiveViolation"} - }, - "AddThingToThingGroupRequest":{ - "type":"structure", - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The name of the group to which you are adding a thing.

" - }, - "thingGroupArn":{ - "shape":"ThingGroupArn", - "documentation":"

The ARN of the group to which you are adding a thing.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing to add to a group.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the thing to add to a group.

" - } - } - }, - "AddThingToThingGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "AdditionalParameterMap":{ - "type":"map", - "key":{"shape":"AttributeKey"}, - "value":{"shape":"Value"} - }, - "AlarmName":{"type":"string"}, - "AlertTarget":{ - "type":"structure", - "required":[ - "alertTargetArn", - "roleArn" - ], - "members":{ - "alertTargetArn":{ - "shape":"AlertTargetArn", - "documentation":"

The ARN of the notification target to which alerts are sent.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that grants permission to send alerts to the notification target.

" - } - }, - "documentation":"

A structure containing the alert target ARN and the role ARN.

" - }, - "AlertTargetArn":{"type":"string"}, - "AlertTargetType":{ - "type":"string", - "documentation":"

The type of alert target: one of \"SNS\".

", - "enum":["SNS"] - }, - "AlertTargets":{ - "type":"map", - "key":{"shape":"AlertTargetType"}, - "value":{"shape":"AlertTarget"} - }, - "AllowAutoRegistration":{"type":"boolean"}, - "Allowed":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

A list of policies that allowed the authentication.

" - } - }, - "documentation":"

Contains information that allowed the authorization.

" - }, - "AscendingOrder":{"type":"boolean"}, - "AssociateTargetsWithJobRequest":{ - "type":"structure", - "required":[ - "targets", - "jobId" - ], - "members":{ - "targets":{ - "shape":"JobTargets", - "documentation":"

A list of thing group ARNs that define the targets of the job.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "comment":{ - "shape":"Comment", - "documentation":"

An optional comment string describing why the job was associated with the targets.

" - } - } - }, - "AssociateTargetsWithJobResponse":{ - "type":"structure", - "members":{ - "jobArn":{ - "shape":"JobArn", - "documentation":"

An ARN identifying the job.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "description":{ - "shape":"JobDescription", - "documentation":"

A short text description of the job.

" - } - } - }, - "AttachPolicyRequest":{ - "type":"structure", - "required":[ - "policyName", - "target" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy to attach.

", - "location":"uri", - "locationName":"policyName" - }, - "target":{ - "shape":"PolicyTarget", - "documentation":"

The identity to which the policy is attached.

" - } - } - }, - "AttachPrincipalPolicyRequest":{ - "type":"structure", - "required":[ - "policyName", - "principal" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - }, - "principal":{ - "shape":"Principal", - "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", - "location":"header", - "locationName":"x-amzn-iot-principal" - } - }, - "documentation":"

The input for the AttachPrincipalPolicy operation.

" - }, - "AttachSecurityProfileRequest":{ - "type":"structure", - "required":[ - "securityProfileName", - "securityProfileTargetArn" - ], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The security profile that is attached.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "securityProfileTargetArn":{ - "shape":"SecurityProfileTargetArn", - "documentation":"

The ARN of the target (thing group) to which the security profile is attached.

", - "location":"querystring", - "locationName":"securityProfileTargetArn" - } - } - }, - "AttachSecurityProfileResponse":{ - "type":"structure", - "members":{ - } - }, - "AttachThingPrincipalRequest":{ - "type":"structure", - "required":[ - "thingName", - "principal" - ], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - }, - "principal":{ - "shape":"Principal", - "documentation":"

The principal, such as a certificate or other credential.

", - "location":"header", - "locationName":"x-amzn-principal" - } - }, - "documentation":"

The input for the AttachThingPrincipal operation.

" - }, - "AttachThingPrincipalResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output from the AttachThingPrincipal operation.

" - }, - "AttributeKey":{"type":"string"}, - "AttributeName":{ - "type":"string", - "max":128, - "pattern":"[a-zA-Z0-9_.,@/:#-]+" - }, - "AttributePayload":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"Attributes", - "documentation":"

A JSON string containing up to three key-value pair in JSON format. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" - }, - "merge":{ - "shape":"Flag", - "documentation":"

Specifies whether the list of attributes provided in the AttributePayload is merged with the attributes stored in the registry, instead of overwriting them.

To remove an attribute, call UpdateThing with an empty attribute value.

The merge attribute is only valid when calling UpdateThing.

" - } - }, - "documentation":"

The attribute payload.

" - }, - "AttributeValue":{ - "type":"string", - "max":800, - "pattern":"[a-zA-Z0-9_.,@/:#-]*" - }, - "Attributes":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "AttributesMap":{ - "type":"map", - "key":{"shape":"AttributeKey"}, - "value":{"shape":"Value"} - }, - "AuditCheckConfiguration":{ - "type":"structure", - "members":{ - "enabled":{ - "shape":"Enabled", - "documentation":"

True if this audit check is enabled for this account.

" - } - }, - "documentation":"

Which audit checks are enabled and disabled for this account.

" - }, - "AuditCheckConfigurations":{ - "type":"map", - "key":{"shape":"AuditCheckName"}, - "value":{"shape":"AuditCheckConfiguration"} - }, - "AuditCheckDetails":{ - "type":"structure", - "members":{ - "checkRunStatus":{ - "shape":"AuditCheckRunStatus", - "documentation":"

The completion status of this check, one of \"IN_PROGRESS\", \"WAITING_FOR_DATA_COLLECTION\", \"CANCELED\", \"COMPLETED_COMPLIANT\", \"COMPLETED_NON_COMPLIANT\", or \"FAILED\".

" - }, - "checkCompliant":{ - "shape":"CheckCompliant", - "documentation":"

True if the check completed and found all resources compliant.

" - }, - "totalResourcesCount":{ - "shape":"TotalResourcesCount", - "documentation":"

The number of resources on which the check was performed.

" - }, - "nonCompliantResourcesCount":{ - "shape":"NonCompliantResourcesCount", - "documentation":"

The number of resources that the check found non-compliant.

" - }, - "errorCode":{ - "shape":"ErrorCode", - "documentation":"

The code of any error encountered when performing this check during this audit. One of \"INSUFFICIENT_PERMISSIONS\", or \"AUDIT_CHECK_DISABLED\".

" - }, - "message":{ - "shape":"ErrorMessage", - "documentation":"

The message associated with any error encountered when performing this check during this audit.

" - } - }, - "documentation":"

Information about the audit check.

" - }, - "AuditCheckName":{ - "type":"string", - "documentation":"

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.)

" - }, - "AuditCheckRunStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "WAITING_FOR_DATA_COLLECTION", - "CANCELED", - "COMPLETED_COMPLIANT", - "COMPLETED_NON_COMPLIANT", - "FAILED" - ] - }, - "AuditDetails":{ - "type":"map", - "key":{"shape":"AuditCheckName"}, - "value":{"shape":"AuditCheckDetails"} - }, - "AuditFinding":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

The ID of the audit that generated this result (finding)

" - }, - "checkName":{ - "shape":"AuditCheckName", - "documentation":"

The audit check that generated this result.

" - }, - "taskStartTime":{ - "shape":"Timestamp", - "documentation":"

The time the audit started.

" - }, - "findingTime":{ - "shape":"Timestamp", - "documentation":"

The time the result (finding) was discovered.

" - }, - "severity":{ - "shape":"AuditFindingSeverity", - "documentation":"

The severity of the result (finding).

" - }, - "nonCompliantResource":{ - "shape":"NonCompliantResource", - "documentation":"

The resource that was found to be non-compliant with the audit check.

" - }, - "relatedResources":{ - "shape":"RelatedResources", - "documentation":"

The list of related resources.

" - }, - "reasonForNonCompliance":{ - "shape":"ReasonForNonCompliance", - "documentation":"

The reason the resource was non-compliant.

" - }, - "reasonForNonComplianceCode":{ - "shape":"ReasonForNonComplianceCode", - "documentation":"

A code which indicates the reason that the resource was non-compliant.

" - } - }, - "documentation":"

The findings (results) of the audit.

" - }, - "AuditFindingSeverity":{ - "type":"string", - "enum":[ - "CRITICAL", - "HIGH", - "MEDIUM", - "LOW" - ] - }, - "AuditFindings":{ - "type":"list", - "member":{"shape":"AuditFinding"} - }, - "AuditFrequency":{ - "type":"string", - "enum":[ - "DAILY", - "WEEKLY", - "BIWEEKLY", - "MONTHLY" - ] - }, - "AuditNotificationTarget":{ - "type":"structure", - "members":{ - "targetArn":{ - "shape":"TargetArn", - "documentation":"

The ARN of the target (SNS topic) to which audit notifications are sent.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that grants permission to send notifications to the target.

" - }, - "enabled":{ - "shape":"Enabled", - "documentation":"

True if notifications to the target are enabled.

" - } - }, - "documentation":"

Information about the targets to which audit notifications are sent.

" - }, - "AuditNotificationTargetConfigurations":{ - "type":"map", - "key":{"shape":"AuditNotificationType"}, - "value":{"shape":"AuditNotificationTarget"} - }, - "AuditNotificationType":{ - "type":"string", - "enum":["SNS"] - }, - "AuditTaskId":{ - "type":"string", - "max":40, - "min":1, - "pattern":"[a-zA-Z0-9\\-]+" - }, - "AuditTaskMetadata":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

The ID of this audit.

" - }, - "taskStatus":{ - "shape":"AuditTaskStatus", - "documentation":"

The status of this audit: one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\" or \"CANCELED\".

" - }, - "taskType":{ - "shape":"AuditTaskType", - "documentation":"

The type of this audit: one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

" - } - }, - "documentation":"

The audits that were performed.

" - }, - "AuditTaskMetadataList":{ - "type":"list", - "member":{"shape":"AuditTaskMetadata"} - }, - "AuditTaskStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "COMPLETED", - "FAILED", - "CANCELED" - ] - }, - "AuditTaskType":{ - "type":"string", - "enum":[ - "ON_DEMAND_AUDIT_TASK", - "SCHEDULED_AUDIT_TASK" - ] - }, - "AuthDecision":{ - "type":"string", - "enum":[ - "ALLOWED", - "EXPLICIT_DENY", - "IMPLICIT_DENY" - ] - }, - "AuthInfo":{ - "type":"structure", - "members":{ - "actionType":{ - "shape":"ActionType", - "documentation":"

The type of action for which the principal is being authorized.

" - }, - "resources":{ - "shape":"Resources", - "documentation":"

The resources for which the principal is being authorized to perform the specified action.

" - } - }, - "documentation":"

A collection of authorization information.

" - }, - "AuthInfos":{ - "type":"list", - "member":{"shape":"AuthInfo"}, - "max":10, - "min":1 - }, - "AuthResult":{ - "type":"structure", - "members":{ - "authInfo":{ - "shape":"AuthInfo", - "documentation":"

Authorization information.

" - }, - "allowed":{ - "shape":"Allowed", - "documentation":"

The policies and statements that allowed the specified action.

" - }, - "denied":{ - "shape":"Denied", - "documentation":"

The policies and statements that denied the specified action.

" - }, - "authDecision":{ - "shape":"AuthDecision", - "documentation":"

The final authorization decision of this scenario. Multiple statements are taken into account when determining the authorization decision. An explicit deny statement can override multiple allow statements.

" - }, - "missingContextValues":{ - "shape":"MissingContextValues", - "documentation":"

Contains any missing context values found while evaluating policy.

" - } - }, - "documentation":"

The authorizer result.

" - }, - "AuthResults":{ - "type":"list", - "member":{"shape":"AuthResult"} - }, - "AuthorizerArn":{"type":"string"}, - "AuthorizerDescription":{ - "type":"structure", - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

" - }, - "authorizerArn":{ - "shape":"AuthorizerArn", - "documentation":"

The authorizer ARN.

" - }, - "authorizerFunctionArn":{ - "shape":"AuthorizerFunctionArn", - "documentation":"

The authorizer's Lambda function ARN.

" - }, - "tokenKeyName":{ - "shape":"TokenKeyName", - "documentation":"

The key used to extract the token from the HTTP headers.

" - }, - "tokenSigningPublicKeys":{ - "shape":"PublicKeyMap", - "documentation":"

The public keys used to validate the token signature returned by your custom authentication service.

" - }, - "status":{ - "shape":"AuthorizerStatus", - "documentation":"

The status of the authorizer.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The UNIX timestamp of when the authorizer was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The UNIX timestamp of when the authorizer was last updated.

" - } - }, - "documentation":"

The authorizer description.

" - }, - "AuthorizerFunctionArn":{"type":"string"}, - "AuthorizerName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w=,@-]+" - }, - "AuthorizerStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE" - ] - }, - "AuthorizerSummary":{ - "type":"structure", - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

" - }, - "authorizerArn":{ - "shape":"AuthorizerArn", - "documentation":"

The authorizer ARN.

" - } - }, - "documentation":"

The authorizer summary.

" - }, - "Authorizers":{ - "type":"list", - "member":{"shape":"AuthorizerSummary"} - }, - "AutoRegistrationStatus":{ - "type":"string", - "enum":[ - "ENABLE", - "DISABLE" - ] - }, - "AwsAccountId":{ - "type":"string", - "max":12, - "min":12, - "pattern":"[0-9]+" - }, - "AwsArn":{"type":"string"}, - "AwsIotJobArn":{"type":"string"}, - "AwsIotJobId":{"type":"string"}, - "AwsIotSqlVersion":{"type":"string"}, - "AwsJobExecutionsRolloutConfig":{ - "type":"structure", - "members":{ - "maximumPerMinute":{ - "shape":"MaximumPerMinute", - "documentation":"

The maximum number of OTA update job executions started per minute.

" - } - }, - "documentation":"

Configuration for the rollout of OTA updates.

" - }, - "Behavior":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"BehaviorName", - "documentation":"

The name you have given to the behavior.

" - }, - "metric":{ - "shape":"BehaviorMetric", - "documentation":"

What is measured by the behavior.

" - }, - "criteria":{ - "shape":"BehaviorCriteria", - "documentation":"

The criteria that determine if a device is behaving normally in regard to the metric.

" - } - }, - "documentation":"

A Device Defender security profile behavior.

" - }, - "BehaviorCriteria":{ - "type":"structure", - "members":{ - "comparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

The operator that relates the thing measured (metric) to the criteria (value).

" - }, - "value":{ - "shape":"MetricValue", - "documentation":"

The value to be compared with the metric.

" - }, - "durationSeconds":{ - "shape":"DurationSeconds", - "documentation":"

Use this to specify the period of time over which the behavior is evaluated, for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT).

" - } - }, - "documentation":"

The criteria by which the behavior is determined to be normal.

" - }, - "BehaviorMetric":{"type":"string"}, - "BehaviorName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "Behaviors":{ - "type":"list", - "member":{"shape":"Behavior"}, - "max":100 - }, - "Boolean":{"type":"boolean"}, - "BucketName":{"type":"string"}, - "CACertificate":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the CA certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the CA certificate.

" - }, - "status":{ - "shape":"CACertificateStatus", - "documentation":"

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the CA certificate was created.

" - } - }, - "documentation":"

A CA certificate.

" - }, - "CACertificateDescription":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The CA certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate ID.

" - }, - "status":{ - "shape":"CACertificateStatus", - "documentation":"

The status of a CA certificate.

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate data, in PEM format.

" - }, - "ownedBy":{ - "shape":"AwsAccountId", - "documentation":"

The owner of the CA certificate.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the CA certificate was created.

" - }, - "autoRegistrationStatus":{ - "shape":"AutoRegistrationStatus", - "documentation":"

Whether the CA certificate configured for auto registration of device certificates. Valid values are \"ENABLE\" and \"DISABLE\"

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the CA certificate was last modified.

" - }, - "customerVersion":{ - "shape":"CustomerVersion", - "documentation":"

The customer version of the CA certificate.

" - }, - "generationId":{ - "shape":"GenerationId", - "documentation":"

The generation ID of the CA certificate.

" - }, - "validity":{ - "shape":"CertificateValidity", - "documentation":"

When the CA certificate is valid.

" - } - }, - "documentation":"

Describes a CA certificate.

" - }, - "CACertificateStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE" - ] - }, - "CACertificates":{ - "type":"list", - "member":{"shape":"CACertificate"} - }, - "CancelAuditTaskRequest":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

The ID of the audit you want to cancel. You can only cancel an audit that is \"IN_PROGRESS\".

", - "location":"uri", - "locationName":"taskId" - } - } - }, - "CancelAuditTaskResponse":{ - "type":"structure", - "members":{ - } - }, - "CancelCertificateTransferRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - } - }, - "documentation":"

The input for the CancelCertificateTransfer operation.

" - }, - "CancelJobExecutionRequest":{ - "type":"structure", - "required":[ - "jobId", - "thingName" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the job to be canceled.

", - "location":"uri", - "locationName":"jobId" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing whose execution of the job will be canceled.

", - "location":"uri", - "locationName":"thingName" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

(Optional) If true the job execution will be canceled if it has status IN_PROGRESS or QUEUED, otherwise the job execution will be canceled only if it has status QUEUED. If you attempt to cancel a job execution that is IN_PROGRESS, and you do not set force to true, then an InvalidStateTransitionException will be thrown. The default is false.

Canceling a job execution which is \"IN_PROGRESS\", will cause the device to be unable to update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

", - "location":"querystring", - "locationName":"force" - }, - "expectedVersion":{ - "shape":"ExpectedVersion", - "documentation":"

(Optional) The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)

" - }, - "statusDetails":{ - "shape":"DetailsMap", - "documentation":"

A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.

" - } - } - }, - "CancelJobRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "comment":{ - "shape":"Comment", - "documentation":"

An optional comment string describing why the job was canceled.

" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

(Optional) If true job executions with status \"IN_PROGRESS\" and \"QUEUED\" are canceled, otherwise only job executions with status \"QUEUED\" are canceled. The default is false.

Canceling a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.

", - "location":"querystring", - "locationName":"force" - } - } - }, - "CancelJobResponse":{ - "type":"structure", - "members":{ - "jobArn":{ - "shape":"JobArn", - "documentation":"

The job ARN.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "description":{ - "shape":"JobDescription", - "documentation":"

A short text description of the job.

" - } - } - }, - "CanceledChecksCount":{"type":"integer"}, - "CanceledThings":{"type":"integer"}, - "CannedAccessControlList":{ - "type":"string", - "enum":[ - "private", - "public-read", - "public-read-write", - "aws-exec-read", - "authenticated-read", - "bucket-owner-read", - "bucket-owner-full-control", - "log-delivery-write" - ] - }, - "Certificate":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

" - }, - "status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date and time the certificate was created.

" - } - }, - "documentation":"

Information about a certificate.

" - }, - "CertificateArn":{"type":"string"}, - "CertificateConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CertificateDescription":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate.

" - }, - "caCertificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate ID of the CA certificate used to sign this certificate.

" - }, - "status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the certificate.

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" - }, - "ownedBy":{ - "shape":"AwsAccountId", - "documentation":"

The ID of the AWS account that owns the certificate.

" - }, - "previousOwnedBy":{ - "shape":"AwsAccountId", - "documentation":"

The ID of the AWS account of the previous owner of the certificate.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date and time the certificate was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date and time the certificate was last modified.

" - }, - "customerVersion":{ - "shape":"CustomerVersion", - "documentation":"

The customer version of the certificate.

" - }, - "transferData":{ - "shape":"TransferData", - "documentation":"

The transfer data.

" - }, - "generationId":{ - "shape":"GenerationId", - "documentation":"

The generation ID of the certificate.

" - }, - "validity":{ - "shape":"CertificateValidity", - "documentation":"

When the certificate is valid.

" - } - }, - "documentation":"

Describes a certificate.

" - }, - "CertificateId":{ - "type":"string", - "max":64, - "min":64, - "pattern":"(0x)?[a-fA-F0-9]+" - }, - "CertificateName":{"type":"string"}, - "CertificatePathOnDevice":{"type":"string"}, - "CertificatePem":{ - "type":"string", - "documentation":"

The PEM of a certificate.

", - "max":65536, - "min":1 - }, - "CertificateSigningRequest":{ - "type":"string", - "min":1 - }, - "CertificateStateException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The certificate operation is not allowed.

", - "error":{"httpStatusCode":406}, - "exception":true - }, - "CertificateStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE", - "REVOKED", - "PENDING_TRANSFER", - "REGISTER_INACTIVE", - "PENDING_ACTIVATION" - ] - }, - "CertificateValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Additional information about the exception.

" - } - }, - "documentation":"

The certificate is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CertificateValidity":{ - "type":"structure", - "members":{ - "notBefore":{ - "shape":"DateType", - "documentation":"

The certificate is not valid before this date.

" - }, - "notAfter":{ - "shape":"DateType", - "documentation":"

The certificate is not valid after this date.

" - } - }, - "documentation":"

When the certificate is valid.

" - }, - "Certificates":{ - "type":"list", - "member":{"shape":"Certificate"} - }, - "ChannelName":{"type":"string"}, - "CheckCompliant":{"type":"boolean"}, - "Cidr":{ - "type":"string", - "max":43, - "min":2, - "pattern":"[a-fA-F0-9:\\.\\/]+" - }, - "Cidrs":{ - "type":"list", - "member":{"shape":"Cidr"} - }, - "ClearDefaultAuthorizerRequest":{ - "type":"structure", - "members":{ - } - }, - "ClearDefaultAuthorizerResponse":{ - "type":"structure", - "members":{ - } - }, - "ClientId":{"type":"string"}, - "CloudwatchAlarmAction":{ - "type":"structure", - "required":[ - "roleArn", - "alarmName", - "stateReason", - "stateValue" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that allows access to the CloudWatch alarm.

" - }, - "alarmName":{ - "shape":"AlarmName", - "documentation":"

The CloudWatch alarm name.

" - }, - "stateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the alarm change.

" - }, - "stateValue":{ - "shape":"StateValue", - "documentation":"

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

" - } - }, - "documentation":"

Describes an action that updates a CloudWatch alarm.

" - }, - "CloudwatchMetricAction":{ - "type":"structure", - "required":[ - "roleArn", - "metricNamespace", - "metricName", - "metricValue", - "metricUnit" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that allows access to the CloudWatch metric.

" - }, - "metricNamespace":{ - "shape":"String", - "documentation":"

The CloudWatch metric namespace name.

" - }, - "metricName":{ - "shape":"String", - "documentation":"

The CloudWatch metric name.

" - }, - "metricValue":{ - "shape":"String", - "documentation":"

The CloudWatch metric value.

" - }, - "metricUnit":{ - "shape":"String", - "documentation":"

The metric unit supported by CloudWatch.

" - }, - "metricTimestamp":{ - "shape":"String", - "documentation":"

An optional Unix timestamp.

" - } - }, - "documentation":"

Describes an action that captures a CloudWatch metric.

" - }, - "Code":{"type":"string"}, - "CodeSigning":{ - "type":"structure", - "members":{ - "awsSignerJobId":{ - "shape":"SigningJobId", - "documentation":"

The ID of the AWSSignerJob which was created to sign the file.

" - }, - "startSigningJobParameter":{ - "shape":"StartSigningJobParameter", - "documentation":"

Describes the code-signing job.

" - }, - "customCodeSigning":{ - "shape":"CustomCodeSigning", - "documentation":"

A custom method for code signing a file.

" - } - }, - "documentation":"

Describes the method to use when code signing a file.

" - }, - "CodeSigningCertificateChain":{ - "type":"structure", - "members":{ - "certificateName":{ - "shape":"CertificateName", - "documentation":"

The name of the certificate.

" - }, - "inlineDocument":{ - "shape":"InlineDocument", - "documentation":"

A base64 encoded binary representation of the code signing certificate chain.

" - } - }, - "documentation":"

Describes the certificate chain being used when code signing a file.

" - }, - "CodeSigningSignature":{ - "type":"structure", - "members":{ - "inlineDocument":{ - "shape":"Signature", - "documentation":"

A base64 encoded binary representation of the code signing signature.

" - } - }, - "documentation":"

Describes the signature for a file.

" - }, - "CognitoIdentityPoolId":{"type":"string"}, - "Comment":{ - "type":"string", - "max":2028, - "pattern":"[^\\p{C}]+" - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "less-than", - "less-than-equals", - "greater-than", - "greater-than-equals", - "in-cidr-set", - "not-in-cidr-set", - "in-port-set", - "not-in-port-set" - ] - }, - "CompliantChecksCount":{"type":"integer"}, - "Configuration":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Enabled", - "documentation":"

True to enable the configuration.

" - } - }, - "documentation":"

Configuration.

" - }, - "ConflictingResourceUpdateException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "Count":{"type":"integer"}, - "CreateAuthorizerRequest":{ - "type":"structure", - "required":[ - "authorizerName", - "authorizerFunctionArn", - "tokenKeyName", - "tokenSigningPublicKeys" - ], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

", - "location":"uri", - "locationName":"authorizerName" - }, - "authorizerFunctionArn":{ - "shape":"AuthorizerFunctionArn", - "documentation":"

The ARN of the authorizer's Lambda function.

" - }, - "tokenKeyName":{ - "shape":"TokenKeyName", - "documentation":"

The name of the token key used to extract the token from the HTTP headers.

" - }, - "tokenSigningPublicKeys":{ - "shape":"PublicKeyMap", - "documentation":"

The public keys used to verify the digital signature returned by your custom authentication service.

" - }, - "status":{ - "shape":"AuthorizerStatus", - "documentation":"

The status of the create authorizer request.

" - } - } - }, - "CreateAuthorizerResponse":{ - "type":"structure", - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer's name.

" - }, - "authorizerArn":{ - "shape":"AuthorizerArn", - "documentation":"

The authorizer ARN.

" - } - } - }, - "CreateCertificateFromCsrRequest":{ - "type":"structure", - "required":["certificateSigningRequest"], - "members":{ - "certificateSigningRequest":{ - "shape":"CertificateSigningRequest", - "documentation":"

The certificate signing request (CSR).

" - }, - "setAsActive":{ - "shape":"SetAsActive", - "documentation":"

Specifies whether the certificate is active.

", - "location":"querystring", - "locationName":"setAsActive" - } - }, - "documentation":"

The input for the CreateCertificateFromCsr operation.

" - }, - "CreateCertificateFromCsrResponse":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. Certificate management operations only take a certificateId.

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" - } - }, - "documentation":"

The output from the CreateCertificateFromCsr operation.

" - }, - "CreateJobRequest":{ - "type":"structure", - "required":[ - "jobId", - "targets" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric characters, \"-\" and \"_\" are valid for use here.

", - "location":"uri", - "locationName":"jobId" - }, - "targets":{ - "shape":"JobTargets", - "documentation":"

A list of things and thing groups to which the job should be sent.

" - }, - "documentSource":{ - "shape":"JobDocumentSource", - "documentation":"

An S3 link to the job document.

" - }, - "document":{ - "shape":"JobDocument", - "documentation":"

The job document.

" - }, - "description":{ - "shape":"JobDescription", - "documentation":"

A short text description of the job.

" - }, - "presignedUrlConfig":{ - "shape":"PresignedUrlConfig", - "documentation":"

Configuration information for pre-signed S3 URLs.

" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

" - }, - "jobExecutionsRolloutConfig":{ - "shape":"JobExecutionsRolloutConfig", - "documentation":"

Allows you to create a staged rollout of the job.

" - } - } - }, - "CreateJobResponse":{ - "type":"structure", - "members":{ - "jobArn":{ - "shape":"JobArn", - "documentation":"

The job ARN.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job.

" - }, - "description":{ - "shape":"JobDescription", - "documentation":"

The job description.

" - } - } - }, - "CreateKeysAndCertificateRequest":{ - "type":"structure", - "members":{ - "setAsActive":{ - "shape":"SetAsActive", - "documentation":"

Specifies whether the certificate is active.

", - "location":"querystring", - "locationName":"setAsActive" - } - }, - "documentation":"

The input for the CreateKeysAndCertificate operation.

" - }, - "CreateKeysAndCertificateResponse":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" - }, - "keyPair":{ - "shape":"KeyPair", - "documentation":"

The generated key pair.

" - } - }, - "documentation":"

The output of the CreateKeysAndCertificate operation.

" - }, - "CreateOTAUpdateRequest":{ - "type":"structure", - "required":[ - "otaUpdateId", - "targets", - "files", - "roleArn" - ], - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The ID of the OTA update to be created.

", - "location":"uri", - "locationName":"otaUpdateId" - }, - "description":{ - "shape":"OTAUpdateDescription", - "documentation":"

The description of the OTA update.

" - }, - "targets":{ - "shape":"Targets", - "documentation":"

The targeted devices to receive OTA updates.

" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a thing when a change is detected in a target. For example, an update will run on a thing when the thing is added to a target group, even after the update was completed by all things originally in the group. Valid values: CONTINUOUS | SNAPSHOT.

" - }, - "awsJobExecutionsRolloutConfig":{ - "shape":"AwsJobExecutionsRolloutConfig", - "documentation":"

Configuration for the rollout of OTA updates.

" - }, - "files":{ - "shape":"OTAUpdateFiles", - "documentation":"

The files to be streamed by the OTA update.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The IAM role that allows access to the AWS IoT Jobs service.

" - }, - "additionalParameters":{ - "shape":"AdditionalParameterMap", - "documentation":"

A list of additional OTA update parameters which are name-value pairs.

" - } - } - }, - "CreateOTAUpdateResponse":{ - "type":"structure", - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The OTA update ID.

" - }, - "awsIotJobId":{ - "shape":"AwsIotJobId", - "documentation":"

The AWS IoT job ID associated with the OTA update.

" - }, - "otaUpdateArn":{ - "shape":"OTAUpdateArn", - "documentation":"

The OTA update ARN.

" - }, - "awsIotJobArn":{ - "shape":"AwsIotJobArn", - "documentation":"

The AWS IoT job ARN associated with the OTA update.

" - }, - "otaUpdateStatus":{ - "shape":"OTAUpdateStatus", - "documentation":"

The OTA update status.

" - } - } - }, - "CreatePolicyRequest":{ - "type":"structure", - "required":[ - "policyName", - "policyDocument" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.

" - } - }, - "documentation":"

The input for the CreatePolicy operation.

" - }, - "CreatePolicyResponse":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" - } - }, - "documentation":"

The output from the CreatePolicy operation.

" - }, - "CreatePolicyVersionRequest":{ - "type":"structure", - "required":[ - "policyName", - "policyDocument" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace.

" - }, - "setAsDefault":{ - "shape":"SetAsDefault", - "documentation":"

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

", - "location":"querystring", - "locationName":"setAsDefault" - } - }, - "documentation":"

The input for the CreatePolicyVersion operation.

" - }, - "CreatePolicyVersionResponse":{ - "type":"structure", - "members":{ - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" - }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" - } - }, - "documentation":"

The output of the CreatePolicyVersion operation.

" - }, - "CreateRoleAliasRequest":{ - "type":"structure", - "required":[ - "roleAlias", - "roleArn" - ], - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias that points to a role ARN. This allows you to change the role without having to update the device.

", - "location":"uri", - "locationName":"roleAlias" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The role ARN.

" - }, - "credentialDurationSeconds":{ - "shape":"CredentialDurationSeconds", - "documentation":"

How long (in seconds) the credentials will be valid.

" - } - } - }, - "CreateRoleAliasResponse":{ - "type":"structure", - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias.

" - }, - "roleAliasArn":{ - "shape":"RoleAliasArn", - "documentation":"

The role alias ARN.

" - } - } - }, - "CreateScheduledAuditRequest":{ - "type":"structure", - "required":[ - "frequency", - "targetCheckNames", - "scheduledAuditName" - ], - "members":{ - "frequency":{ - "shape":"AuditFrequency", - "documentation":"

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The actual start time of each audit is determined by the system.

" - }, - "dayOfMonth":{ - "shape":"DayOfMonth", - "documentation":"

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" - }, - "dayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

" - }, - "targetCheckNames":{ - "shape":"TargetAuditCheckNames", - "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.)

" - }, - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name you want to give to the scheduled audit. (Max. 128 chars)

", - "location":"uri", - "locationName":"scheduledAuditName" - } - } - }, - "CreateScheduledAuditResponse":{ - "type":"structure", - "members":{ - "scheduledAuditArn":{ - "shape":"ScheduledAuditArn", - "documentation":"

The ARN of the scheduled audit.

" - } - } - }, - "CreateSecurityProfileRequest":{ - "type":"structure", - "required":[ - "securityProfileName", - "behaviors" - ], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name you are giving to the security profile.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "securityProfileDescription":{ - "shape":"SecurityProfileDescription", - "documentation":"

A description of the security profile.

" - }, - "behaviors":{ - "shape":"Behaviors", - "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" - }, - "alertTargets":{ - "shape":"AlertTargets", - "documentation":"

Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.

" - } - } - }, - "CreateSecurityProfileResponse":{ - "type":"structure", - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name you gave to the security profile.

" - }, - "securityProfileArn":{ - "shape":"SecurityProfileArn", - "documentation":"

The ARN of the security profile.

" - } - } - }, - "CreateStreamRequest":{ - "type":"structure", - "required":[ - "streamId", - "files", - "roleArn" - ], - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

", - "location":"uri", - "locationName":"streamId" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

A description of the stream.

" - }, - "files":{ - "shape":"StreamFiles", - "documentation":"

The files to stream.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

An IAM role that allows the IoT service principal assumes to access your S3 files.

" - } - } - }, - "CreateStreamResponse":{ - "type":"structure", - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

" - }, - "streamArn":{ - "shape":"StreamArn", - "documentation":"

The stream ARN.

" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

A description of the stream.

" - }, - "streamVersion":{ - "shape":"StreamVersion", - "documentation":"

The version of the stream.

" - } - } - }, - "CreateThingGroupRequest":{ - "type":"structure", - "required":["thingGroupName"], - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The thing group name to create.

", - "location":"uri", - "locationName":"thingGroupName" - }, - "parentGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The name of the parent thing group.

" - }, - "thingGroupProperties":{ - "shape":"ThingGroupProperties", - "documentation":"

The thing group properties.

" - } - } - }, - "CreateThingGroupResponse":{ - "type":"structure", - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The thing group name.

" - }, - "thingGroupArn":{ - "shape":"ThingGroupArn", - "documentation":"

The thing group ARN.

" - }, - "thingGroupId":{ - "shape":"ThingGroupId", - "documentation":"

The thing group ID.

" - } - } - }, - "CreateThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing to create.

", - "location":"uri", - "locationName":"thingName" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type associated with the new thing.

" - }, - "attributePayload":{ - "shape":"AttributePayload", - "documentation":"

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" - } - }, - "documentation":"

The input for the CreateThing operation.

" - }, - "CreateThingResponse":{ - "type":"structure", - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the new thing.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the new thing.

" - }, - "thingId":{ - "shape":"ThingId", - "documentation":"

The thing ID.

" - } - }, - "documentation":"

The output of the CreateThing operation.

" - }, - "CreateThingTypeRequest":{ - "type":"structure", - "required":["thingTypeName"], - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

", - "location":"uri", - "locationName":"thingTypeName" - }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.

" - } - }, - "documentation":"

The input for the CreateThingType operation.

" - }, - "CreateThingTypeResponse":{ - "type":"structure", - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" - }, - "thingTypeArn":{ - "shape":"ThingTypeArn", - "documentation":"

The Amazon Resource Name (ARN) of the thing type.

" - }, - "thingTypeId":{ - "shape":"ThingTypeId", - "documentation":"

The thing type ID.

" - } - }, - "documentation":"

The output of the CreateThingType operation.

" - }, - "CreateTopicRuleRequest":{ - "type":"structure", - "required":[ - "ruleName", - "topicRulePayload" - ], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

", - "location":"uri", - "locationName":"ruleName" - }, - "topicRulePayload":{ - "shape":"TopicRulePayload", - "documentation":"

The rule payload.

" - } - }, - "documentation":"

The input for the CreateTopicRule operation.

", - "payload":"topicRulePayload" - }, - "CreatedAtDate":{"type":"timestamp"}, - "CreationDate":{"type":"timestamp"}, - "CredentialDurationSeconds":{ - "type":"integer", - "max":3600, - "min":900 - }, - "CustomCodeSigning":{ - "type":"structure", - "members":{ - "signature":{ - "shape":"CodeSigningSignature", - "documentation":"

The signature for the file.

" - }, - "certificateChain":{ - "shape":"CodeSigningCertificateChain", - "documentation":"

The certificate chain.

" - }, - "hashAlgorithm":{ - "shape":"HashAlgorithm", - "documentation":"

The hash algorithm used to code sign the file.

" - }, - "signatureAlgorithm":{ - "shape":"SignatureAlgorithm", - "documentation":"

The signature algorithm used to code sign the file.

" - } - }, - "documentation":"

Describes a custom method used to code sign a file.

" - }, - "CustomerVersion":{ - "type":"integer", - "min":1 - }, - "DateType":{"type":"timestamp"}, - "DayOfMonth":{ - "type":"string", - "pattern":"^([1-9]|[12][0-9]|3[01])$|^LAST$" - }, - "DayOfWeek":{ - "type":"string", - "enum":[ - "SUN", - "MON", - "TUE", - "WED", - "THU", - "FRI", - "SAT" - ] - }, - "DeleteAccountAuditConfigurationRequest":{ - "type":"structure", - "members":{ - "deleteScheduledAudits":{ - "shape":"DeleteScheduledAudits", - "documentation":"

If true, all scheduled audits are deleted.

", - "location":"querystring", - "locationName":"deleteScheduledAudits" - } - } - }, - "DeleteAccountAuditConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteAuthorizerRequest":{ - "type":"structure", - "required":["authorizerName"], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The name of the authorizer to delete.

", - "location":"uri", - "locationName":"authorizerName" - } - } - }, - "DeleteAuthorizerResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteCACertificateRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"caCertificateId" - } - }, - "documentation":"

Input for the DeleteCACertificate operation.

" - }, - "DeleteCACertificateResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeleteCACertificate operation.

" - }, - "DeleteCertificateRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - }, - "forceDelete":{ - "shape":"ForceDelete", - "documentation":"

Forces a certificate request to be deleted.

", - "location":"querystring", - "locationName":"forceDelete" - } - }, - "documentation":"

The input for the DeleteCertificate operation.

" - }, - "DeleteConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DeleteJobExecutionRequest":{ - "type":"structure", - "required":[ - "jobId", - "thingName", - "executionNumber" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the job whose execution on a particular device will be deleted.

", - "location":"uri", - "locationName":"jobId" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing whose job execution will be deleted.

", - "location":"uri", - "locationName":"thingName" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

The ID of the job execution to be deleted. The executionNumber refers to the execution of a particular job on a particular device.

Note that once a job execution is deleted, the executionNumber may be reused by IoT, so be sure you get and use the correct value here.

", - "location":"uri", - "locationName":"executionNumber" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

(Optional) When true, you can delete a job execution which is \"IN_PROGRESS\". Otherwise, you can only delete a job execution which is in a terminal state (\"SUCCEEDED\", \"FAILED\", \"REJECTED\", \"REMOVED\" or \"CANCELED\") or an exception will occur. The default is false.

Deleting a job execution which is \"IN_PROGRESS\", will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

", - "location":"querystring", - "locationName":"force" - } - } - }, - "DeleteJobRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the job to be deleted.

After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job.

", - "location":"uri", - "locationName":"jobId" - }, - "force":{ - "shape":"ForceFlag", - "documentation":"

(Optional) When true, you can delete a job which is \"IN_PROGRESS\". Otherwise, you can only delete a job which is in a terminal state (\"COMPLETED\" or \"CANCELED\") or an exception will occur. The default is false.

Deleting a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state.

", - "location":"querystring", - "locationName":"force" - } - } - }, - "DeleteOTAUpdateRequest":{ - "type":"structure", - "required":["otaUpdateId"], - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The OTA update ID to delete.

", - "location":"uri", - "locationName":"otaUpdateId" - }, - "deleteStream":{ - "shape":"DeleteStream", - "documentation":"

Specifies if the stream associated with an OTA update should be deleted when the OTA update is deleted.

", - "location":"querystring", - "locationName":"deleteStream" - }, - "forceDeleteAWSJob":{ - "shape":"ForceDeleteAWSJob", - "documentation":"

Specifies if the AWS Job associated with the OTA update should be deleted with the OTA update is deleted.

", - "location":"querystring", - "locationName":"forceDeleteAWSJob" - } - } - }, - "DeleteOTAUpdateResponse":{ - "type":"structure", - "members":{ - } - }, - "DeletePolicyRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy to delete.

", - "location":"uri", - "locationName":"policyName" - } - }, - "documentation":"

The input for the DeletePolicy operation.

" - }, - "DeletePolicyVersionRequest":{ - "type":"structure", - "required":[ - "policyName", - "policyVersionId" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

", - "location":"uri", - "locationName":"policyName" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

", - "location":"uri", - "locationName":"policyVersionId" - } - }, - "documentation":"

The input for the DeletePolicyVersion operation.

" - }, - "DeleteRegistrationCodeRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input for the DeleteRegistrationCode operation.

" - }, - "DeleteRegistrationCodeResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeleteRegistrationCode operation.

" - }, - "DeleteRoleAliasRequest":{ - "type":"structure", - "required":["roleAlias"], - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias to delete.

", - "location":"uri", - "locationName":"roleAlias" - } - } - }, - "DeleteRoleAliasResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteScheduledAuditRequest":{ - "type":"structure", - "required":["scheduledAuditName"], - "members":{ - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit you want to delete.

", - "location":"uri", - "locationName":"scheduledAuditName" - } - } - }, - "DeleteScheduledAuditResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteScheduledAudits":{"type":"boolean"}, - "DeleteSecurityProfileRequest":{ - "type":"structure", - "required":["securityProfileName"], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile to be deleted.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "expectedVersion":{ - "shape":"OptionalVersion", - "documentation":"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different than the actual version, a VersionConflictException is thrown.

", - "location":"querystring", - "locationName":"expectedVersion" - } - } - }, - "DeleteSecurityProfileResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteStream":{"type":"boolean"}, - "DeleteStreamRequest":{ - "type":"structure", - "required":["streamId"], - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

", - "location":"uri", - "locationName":"streamId" - } - } - }, - "DeleteStreamResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteThingGroupRequest":{ - "type":"structure", - "required":["thingGroupName"], - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The name of the thing group to delete.

", - "location":"uri", - "locationName":"thingGroupName" - }, - "expectedVersion":{ - "shape":"OptionalVersion", - "documentation":"

The expected version of the thing group to delete.

", - "location":"querystring", - "locationName":"expectedVersion" - } - } - }, - "DeleteThingGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing to delete.

", - "location":"uri", - "locationName":"thingName" - }, - "expectedVersion":{ - "shape":"OptionalVersion", - "documentation":"

The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.

", - "location":"querystring", - "locationName":"expectedVersion" - } - }, - "documentation":"

The input for the DeleteThing operation.

" - }, - "DeleteThingResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output of the DeleteThing operation.

" - }, - "DeleteThingTypeRequest":{ - "type":"structure", - "required":["thingTypeName"], - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

", - "location":"uri", - "locationName":"thingTypeName" - } - }, - "documentation":"

The input for the DeleteThingType operation.

" - }, - "DeleteThingTypeResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeleteThingType operation.

" - }, - "DeleteTopicRuleRequest":{ - "type":"structure", - "required":["ruleName"], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

", - "location":"uri", - "locationName":"ruleName" - } - }, - "documentation":"

The input for the DeleteTopicRule operation.

" - }, - "DeleteV2LoggingLevelRequest":{ - "type":"structure", - "required":[ - "targetType", - "targetName" - ], - "members":{ - "targetType":{ - "shape":"LogTargetType", - "documentation":"

The type of resource for which you are configuring logging. Must be THING_Group.

", - "location":"querystring", - "locationName":"targetType" - }, - "targetName":{ - "shape":"LogTargetName", - "documentation":"

The name of the resource for which you are configuring logging.

", - "location":"querystring", - "locationName":"targetName" - } - } - }, - "DeliveryStreamName":{"type":"string"}, - "Denied":{ - "type":"structure", - "members":{ - "implicitDeny":{ - "shape":"ImplicitDeny", - "documentation":"

Information that implicitly denies the authorization. When a policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

" - }, - "explicitDeny":{ - "shape":"ExplicitDeny", - "documentation":"

Information that explicitly denies the authorization.

" - } - }, - "documentation":"

Contains information that denied the authorization.

" - }, - "DeprecateThingTypeRequest":{ - "type":"structure", - "required":["thingTypeName"], - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type to deprecate.

", - "location":"uri", - "locationName":"thingTypeName" - }, - "undoDeprecate":{ - "shape":"UndoDeprecate", - "documentation":"

Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.

" - } - }, - "documentation":"

The input for the DeprecateThingType operation.

" - }, - "DeprecateThingTypeResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeprecateThingType operation.

" - }, - "DeprecationDate":{"type":"timestamp"}, - "DescribeAccountAuditConfigurationRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeAccountAuditConfigurationResponse":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates and other items as necessary when performing an audit.

On the first call to UpdateAccountAuditConfiguration this parameter is required.

" - }, - "auditNotificationTargetConfigurations":{ - "shape":"AuditNotificationTargetConfigurations", - "documentation":"

Information about the targets to which audit notifications are sent for this account.

" - }, - "auditCheckConfigurations":{ - "shape":"AuditCheckConfigurations", - "documentation":"

Which audit checks are enabled and disabled for this account.

" - } - } - }, - "DescribeAuditTaskRequest":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

The ID of the audit whose information you want to get.

", - "location":"uri", - "locationName":"taskId" - } - } - }, - "DescribeAuditTaskResponse":{ - "type":"structure", - "members":{ - "taskStatus":{ - "shape":"AuditTaskStatus", - "documentation":"

The status of the audit: one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".

" - }, - "taskType":{ - "shape":"AuditTaskType", - "documentation":"

The type of audit: \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

" - }, - "taskStartTime":{ - "shape":"Timestamp", - "documentation":"

The time the audit started.

" - }, - "taskStatistics":{ - "shape":"TaskStatistics", - "documentation":"

Statistical information about the audit.

" - }, - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit (only if the audit was a scheduled audit).

" - }, - "auditDetails":{ - "shape":"AuditDetails", - "documentation":"

Detailed information about each check performed during this audit.

" - } - } - }, - "DescribeAuthorizerRequest":{ - "type":"structure", - "required":["authorizerName"], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The name of the authorizer to describe.

", - "location":"uri", - "locationName":"authorizerName" - } - } - }, - "DescribeAuthorizerResponse":{ - "type":"structure", - "members":{ - "authorizerDescription":{ - "shape":"AuthorizerDescription", - "documentation":"

The authorizer description.

" - } - } - }, - "DescribeCACertificateRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate identifier.

", - "location":"uri", - "locationName":"caCertificateId" - } - }, - "documentation":"

The input for the DescribeCACertificate operation.

" - }, - "DescribeCACertificateResponse":{ - "type":"structure", - "members":{ - "certificateDescription":{ - "shape":"CACertificateDescription", - "documentation":"

The CA certificate description.

" - }, - "registrationConfig":{ - "shape":"RegistrationConfig", - "documentation":"

Information about the registration configuration.

" - } - }, - "documentation":"

The output from the DescribeCACertificate operation.

" - }, - "DescribeCertificateRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - } - }, - "documentation":"

The input for the DescribeCertificate operation.

" - }, - "DescribeCertificateResponse":{ - "type":"structure", - "members":{ - "certificateDescription":{ - "shape":"CertificateDescription", - "documentation":"

The description of the certificate.

" - } - }, - "documentation":"

The output of the DescribeCertificate operation.

" - }, - "DescribeDefaultAuthorizerRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeDefaultAuthorizerResponse":{ - "type":"structure", - "members":{ - "authorizerDescription":{ - "shape":"AuthorizerDescription", - "documentation":"

The default authorizer's description.

" - } - } - }, - "DescribeEndpointRequest":{ - "type":"structure", - "members":{ - "endpointType":{ - "shape":"EndpointType", - "documentation":"

The endpoint type (such as iot:Data, iot:CredentialProvider and iot:Jobs).

", - "location":"querystring", - "locationName":"endpointType" - } - }, - "documentation":"

The input for the DescribeEndpoint operation.

" - }, - "DescribeEndpointResponse":{ - "type":"structure", - "members":{ - "endpointAddress":{ - "shape":"EndpointAddress", - "documentation":"

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

" - } - }, - "documentation":"

The output from the DescribeEndpoint operation.

" - }, - "DescribeEventConfigurationsRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeEventConfigurationsResponse":{ - "type":"structure", - "members":{ - "eventConfigurations":{ - "shape":"EventConfigurations", - "documentation":"

The event configurations.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The creation date of the event configuration.

" - }, - "lastModifiedDate":{ - "shape":"LastModifiedDate", - "documentation":"

The date the event configurations were last modified.

" - } - } - }, - "DescribeIndexRequest":{ - "type":"structure", - "required":["indexName"], - "members":{ - "indexName":{ - "shape":"IndexName", - "documentation":"

The index name.

", - "location":"uri", - "locationName":"indexName" - } - } - }, - "DescribeIndexResponse":{ - "type":"structure", - "members":{ - "indexName":{ - "shape":"IndexName", - "documentation":"

The index name.

" - }, - "indexStatus":{ - "shape":"IndexStatus", - "documentation":"

The index status.

" - }, - "schema":{ - "shape":"IndexSchema", - "documentation":"

Contains a value that specifies the type of indexing performed. Valid values are:

  1. REGISTRY – Your thing index will contain only registry data.

  2. REGISTRY_AND_SHADOW - Your thing index will contain registry and shadow data.

" - } - } - }, - "DescribeJobExecutionRequest":{ - "type":"structure", - "required":[ - "jobId", - "thingName" - ], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing on which the job execution is running.

", - "location":"uri", - "locationName":"thingName" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

A string (consisting of the digits \"0\" through \"9\" which is used to specify a particular job execution on a particular device.

", - "location":"querystring", - "locationName":"executionNumber" - } - } - }, - "DescribeJobExecutionResponse":{ - "type":"structure", - "members":{ - "execution":{ - "shape":"JobExecution", - "documentation":"

Information about the job execution.

" - } - } - }, - "DescribeJobRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - } - } - }, - "DescribeJobResponse":{ - "type":"structure", - "members":{ - "documentSource":{ - "shape":"JobDocumentSource", - "documentation":"

An S3 link to the job document.

" - }, - "job":{ - "shape":"Job", - "documentation":"

Information about the job.

" - } - } - }, - "DescribeRoleAliasRequest":{ - "type":"structure", - "required":["roleAlias"], - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias to describe.

", - "location":"uri", - "locationName":"roleAlias" - } - } - }, - "DescribeRoleAliasResponse":{ - "type":"structure", - "members":{ - "roleAliasDescription":{ - "shape":"RoleAliasDescription", - "documentation":"

The role alias description.

" - } - } - }, - "DescribeScheduledAuditRequest":{ - "type":"structure", - "required":["scheduledAuditName"], - "members":{ - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit whose information you want to get.

", - "location":"uri", - "locationName":"scheduledAuditName" - } - } - }, - "DescribeScheduledAuditResponse":{ - "type":"structure", - "members":{ - "frequency":{ - "shape":"AuditFrequency", - "documentation":"

How often the scheduled audit takes place. One of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The actual start time of each audit is determined by the system.

" - }, - "dayOfMonth":{ - "shape":"DayOfMonth", - "documentation":"

The day of the month on which the scheduled audit takes place. Will be \"1\" through \"31\" or \"LAST\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" - }, - "dayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

The day of the week on which the scheduled audit takes place. One of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" or \"SAT\".

" - }, - "targetCheckNames":{ - "shape":"TargetAuditCheckNames", - "documentation":"

Which checks are performed during the scheduled audit. (Note that checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.)

" - }, - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit.

" - }, - "scheduledAuditArn":{ - "shape":"ScheduledAuditArn", - "documentation":"

The ARN of the scheduled audit.

" - } - } - }, - "DescribeSecurityProfileRequest":{ - "type":"structure", - "required":["securityProfileName"], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile whose information you want to get.

", - "location":"uri", - "locationName":"securityProfileName" - } - } - }, - "DescribeSecurityProfileResponse":{ - "type":"structure", - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile.

" - }, - "securityProfileArn":{ - "shape":"SecurityProfileArn", - "documentation":"

The ARN of the security profile.

" - }, - "securityProfileDescription":{ - "shape":"SecurityProfileDescription", - "documentation":"

A description of the security profile (associated with the security profile when it was created or updated).

" - }, - "behaviors":{ - "shape":"Behaviors", - "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" - }, - "alertTargets":{ - "shape":"AlertTargets", - "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the security profile. A new version is generated whenever the security profile is updated.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The time the security profile was created.

" - }, - "lastModifiedDate":{ - "shape":"Timestamp", - "documentation":"

The time the security profile was last modified.

" - } - } - }, - "DescribeStreamRequest":{ - "type":"structure", - "required":["streamId"], - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

", - "location":"uri", - "locationName":"streamId" - } - } - }, - "DescribeStreamResponse":{ - "type":"structure", - "members":{ - "streamInfo":{ - "shape":"StreamInfo", - "documentation":"

Information about the stream.

" - } - } - }, - "DescribeThingGroupRequest":{ - "type":"structure", - "required":["thingGroupName"], - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The name of the thing group.

", - "location":"uri", - "locationName":"thingGroupName" - } - } - }, - "DescribeThingGroupResponse":{ - "type":"structure", - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The name of the thing group.

" - }, - "thingGroupId":{ - "shape":"ThingGroupId", - "documentation":"

The thing group ID.

" - }, - "thingGroupArn":{ - "shape":"ThingGroupArn", - "documentation":"

The thing group ARN.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the thing group.

" - }, - "thingGroupProperties":{ - "shape":"ThingGroupProperties", - "documentation":"

The thing group properties.

" - }, - "thingGroupMetadata":{ - "shape":"ThingGroupMetadata", - "documentation":"

Thing group metadata.

" - } - } - }, - "DescribeThingRegistrationTaskRequest":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"TaskId", - "documentation":"

The task ID.

", - "location":"uri", - "locationName":"taskId" - } - } - }, - "DescribeThingRegistrationTaskResponse":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"TaskId", - "documentation":"

The task ID.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The task creation date.

" - }, - "lastModifiedDate":{ - "shape":"LastModifiedDate", - "documentation":"

The date when the task was last modified.

" - }, - "templateBody":{ - "shape":"TemplateBody", - "documentation":"

The task's template.

" - }, - "inputFileBucket":{ - "shape":"RegistryS3BucketName", - "documentation":"

The S3 bucket that contains the input file.

" - }, - "inputFileKey":{ - "shape":"RegistryS3KeyName", - "documentation":"

The input file key.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The role ARN that grants access to the input file bucket.

" - }, - "status":{ - "shape":"Status", - "documentation":"

The status of the bulk thing provisioning task.

" - }, - "message":{ - "shape":"ErrorMessage", - "documentation":"

The message.

" - }, - "successCount":{ - "shape":"Count", - "documentation":"

The number of things successfully provisioned.

" - }, - "failureCount":{ - "shape":"Count", - "documentation":"

The number of things that failed to be provisioned.

" - }, - "percentageProgress":{ - "shape":"Percentage", - "documentation":"

The progress of the bulk provisioning task expressed as a percentage.

" - } - } - }, - "DescribeThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - } - }, - "documentation":"

The input for the DescribeThing operation.

" - }, - "DescribeThingResponse":{ - "type":"structure", - "members":{ - "defaultClientId":{ - "shape":"ClientId", - "documentation":"

The default client ID.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

" - }, - "thingId":{ - "shape":"ThingId", - "documentation":"

The ID of the thing to describe.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the thing to describe.

" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The thing type name.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The thing attributes.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The current version of the thing record in the registry.

To avoid unintentional changes to the information in the registry, you can pass the version information in the expectedVersion parameter of the UpdateThing and DeleteThing calls.

" - } - }, - "documentation":"

The output from the DescribeThing operation.

" - }, - "DescribeThingTypeRequest":{ - "type":"structure", - "required":["thingTypeName"], - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

", - "location":"uri", - "locationName":"thingTypeName" - } - }, - "documentation":"

The input for the DescribeThingType operation.

" - }, - "DescribeThingTypeResponse":{ - "type":"structure", - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" - }, - "thingTypeId":{ - "shape":"ThingTypeId", - "documentation":"

The thing type ID.

" - }, - "thingTypeArn":{ - "shape":"ThingTypeArn", - "documentation":"

The thing type ARN.

" - }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

" - }, - "thingTypeMetadata":{ - "shape":"ThingTypeMetadata", - "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

" - } - }, - "documentation":"

The output for the DescribeThingType operation.

" - }, - "Description":{"type":"string"}, - "Destination":{ - "type":"structure", - "members":{ - "s3Destination":{ - "shape":"S3Destination", - "documentation":"

Describes the location in S3 of the updated firmware.

" - } - }, - "documentation":"

Describes the location of the updated firmware.

" - }, - "DetachPolicyRequest":{ - "type":"structure", - "required":[ - "policyName", - "target" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy to detach.

", - "location":"uri", - "locationName":"policyName" - }, - "target":{ - "shape":"PolicyTarget", - "documentation":"

The target from which the policy will be detached.

" - } - } - }, - "DetachPrincipalPolicyRequest":{ - "type":"structure", - "required":[ - "policyName", - "principal" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy to detach.

", - "location":"uri", - "locationName":"policyName" - }, - "principal":{ - "shape":"Principal", - "documentation":"

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

", - "location":"header", - "locationName":"x-amzn-iot-principal" - } - }, - "documentation":"

The input for the DetachPrincipalPolicy operation.

" - }, - "DetachSecurityProfileRequest":{ - "type":"structure", - "required":[ - "securityProfileName", - "securityProfileTargetArn" - ], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The security profile that is detached.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "securityProfileTargetArn":{ - "shape":"SecurityProfileTargetArn", - "documentation":"

The ARN of the thing group from which the security profile is detached.

", - "location":"querystring", - "locationName":"securityProfileTargetArn" - } - } - }, - "DetachSecurityProfileResponse":{ - "type":"structure", - "members":{ - } - }, - "DetachThingPrincipalRequest":{ - "type":"structure", - "required":[ - "thingName", - "principal" - ], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - }, - "principal":{ - "shape":"Principal", - "documentation":"

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

", - "location":"header", - "locationName":"x-amzn-principal" - } - }, - "documentation":"

The input for the DetachThingPrincipal operation.

" - }, - "DetachThingPrincipalResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output from the DetachThingPrincipal operation.

" - }, - "DetailsKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "DetailsMap":{ - "type":"map", - "key":{"shape":"DetailsKey"}, - "value":{"shape":"DetailsValue"} - }, - "DetailsValue":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[^\\p{C}]*+" - }, - "DisableAllLogs":{"type":"boolean"}, - "DisableTopicRuleRequest":{ - "type":"structure", - "required":["ruleName"], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule to disable.

", - "location":"uri", - "locationName":"ruleName" - } - }, - "documentation":"

The input for the DisableTopicRuleRequest operation.

" - }, - "DurationSeconds":{"type":"integer"}, - "DynamoDBAction":{ - "type":"structure", - "required":[ - "tableName", - "roleArn", - "hashKeyField", - "hashKeyValue" - ], - "members":{ - "tableName":{ - "shape":"TableName", - "documentation":"

The name of the DynamoDB table.

" - }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" - }, - "operation":{ - "shape":"DynamoOperation", - "documentation":"

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

" - }, - "hashKeyField":{ - "shape":"HashKeyField", - "documentation":"

The hash key name.

" - }, - "hashKeyValue":{ - "shape":"HashKeyValue", - "documentation":"

The hash key value.

" - }, - "hashKeyType":{ - "shape":"DynamoKeyType", - "documentation":"

The hash key type. Valid values are \"STRING\" or \"NUMBER\"

" - }, - "rangeKeyField":{ - "shape":"RangeKeyField", - "documentation":"

The range key name.

" - }, - "rangeKeyValue":{ - "shape":"RangeKeyValue", - "documentation":"

The range key value.

" - }, - "rangeKeyType":{ - "shape":"DynamoKeyType", - "documentation":"

The range key type. Valid values are \"STRING\" or \"NUMBER\"

" - }, - "payloadField":{ - "shape":"PayloadField", - "documentation":"

The action payload. This name can be customized.

" - } - }, - "documentation":"

Describes an action to write to a DynamoDB table.

The tableName, hashKeyField, and rangeKeyField values must match the values used when you created the table.

The hashKeyValue and rangeKeyvalue fields use a substitution template syntax. These templates provide data at runtime. The syntax is as follows: ${sql-expression}.

You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, comparisons, calculations, and functions. For example, the following field uses the third level of the topic:

\"hashKeyValue\": \"${topic(3)}\"

The following field uses the timestamp:

\"rangeKeyValue\": \"${timestamp()}\"

" - }, - "DynamoDBv2Action":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" - }, - "putItem":{ - "shape":"PutItemInput", - "documentation":"

Specifies the DynamoDB table to which the message data will be written. For example:

{ \"dynamoDBv2\": { \"roleArn\": \"aws:iam:12341251:my-role\" \"putItem\": { \"tableName\": \"my-table\" } } }

Each attribute in the message payload will be written to a separate column in the DynamoDB database.

" - } - }, - "documentation":"

Describes an action to write to a DynamoDB table.

This DynamoDB action writes each attribute in the message payload into it's own column in the DynamoDB table.

" - }, - "DynamoKeyType":{ - "type":"string", - "enum":[ - "STRING", - "NUMBER" - ] - }, - "DynamoOperation":{"type":"string"}, - "EffectivePolicies":{ - "type":"list", - "member":{"shape":"EffectivePolicy"} - }, - "EffectivePolicy":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The IAM policy document.

" - } - }, - "documentation":"

The policy that has the effect on the authorization results.

" - }, - "ElasticsearchAction":{ - "type":"structure", - "required":[ - "roleArn", - "endpoint", - "index", - "type", - "id" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role ARN that has access to Elasticsearch.

" - }, - "endpoint":{ - "shape":"ElasticsearchEndpoint", - "documentation":"

The endpoint of your Elasticsearch domain.

" - }, - "index":{ - "shape":"ElasticsearchIndex", - "documentation":"

The Elasticsearch index where you want to store your data.

" - }, - "type":{ - "shape":"ElasticsearchType", - "documentation":"

The type of document you are storing.

" - }, - "id":{ - "shape":"ElasticsearchId", - "documentation":"

The unique identifier for the document you are storing.

" - } - }, - "documentation":"

Describes an action that writes data to an Amazon Elasticsearch Service domain.

" - }, - "ElasticsearchEndpoint":{ - "type":"string", - "pattern":"https?://.*" - }, - "ElasticsearchId":{"type":"string"}, - "ElasticsearchIndex":{"type":"string"}, - "ElasticsearchType":{"type":"string"}, - "EnableTopicRuleRequest":{ - "type":"structure", - "required":["ruleName"], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the topic rule to enable.

", - "location":"uri", - "locationName":"ruleName" - } - }, - "documentation":"

The input for the EnableTopicRuleRequest operation.

" - }, - "Enabled":{"type":"boolean"}, - "EndpointAddress":{"type":"string"}, - "EndpointType":{"type":"string"}, - "ErrorCode":{"type":"string"}, - "ErrorInfo":{ - "type":"structure", - "members":{ - "code":{ - "shape":"Code", - "documentation":"

The error code.

" - }, - "message":{ - "shape":"OTAUpdateErrorMessage", - "documentation":"

The error message.

" - } - }, - "documentation":"

Error information.

" - }, - "ErrorMessage":{ - "type":"string", - "max":2048 - }, - "EventConfigurations":{ - "type":"map", - "key":{"shape":"EventType"}, - "value":{"shape":"Configuration"} - }, - "EventType":{ - "type":"string", - "enum":[ - "THING", - "THING_GROUP", - "THING_TYPE", - "THING_GROUP_MEMBERSHIP", - "THING_GROUP_HIERARCHY", - "THING_TYPE_ASSOCIATION", - "JOB", - "JOB_EXECUTION", - "POLICY", - "CERTIFICATE", - "CA_CERTIFICATE" - ] - }, - "ExecutionNamePrefix":{"type":"string"}, - "ExecutionNumber":{"type":"long"}, - "ExpectedVersion":{"type":"long"}, - "ExpiresInSec":{ - "type":"long", - "max":3600, - "min":60 - }, - "ExplicitDeny":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The policies that denied the authorization.

" - } - }, - "documentation":"

Information that explicitly denies authorization.

" - }, - "FailedChecksCount":{"type":"integer"}, - "FailedThings":{"type":"integer"}, - "FileId":{ - "type":"integer", - "max":255, - "min":0 - }, - "FileLocation":{ - "type":"structure", - "members":{ - "stream":{ - "shape":"Stream", - "documentation":"

The stream that contains the OTA update.

" - }, - "s3Location":{ - "shape":"S3Location", - "documentation":"

The location of the updated firmware in S3.

" - } - }, - "documentation":"

The location of the OTA update.

" - }, - "FileName":{"type":"string"}, - "FirehoseAction":{ - "type":"structure", - "required":[ - "roleArn", - "deliveryStreamName" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that grants access to the Amazon Kinesis Firehose stream.

" - }, - "deliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The delivery stream name.

" - }, - "separator":{ - "shape":"FirehoseSeparator", - "documentation":"

A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\\n' (newline), '\\t' (tab), '\\r\\n' (Windows newline), ',' (comma).

" - } - }, - "documentation":"

Describes an action that writes data to an Amazon Kinesis Firehose stream.

" - }, - "FirehoseSeparator":{ - "type":"string", - "pattern":"([\\n\\t])|(\\r\\n)|(,)" - }, - "Flag":{"type":"boolean"}, - "ForceDelete":{"type":"boolean"}, - "ForceDeleteAWSJob":{"type":"boolean"}, - "ForceFlag":{"type":"boolean"}, - "Forced":{"type":"boolean"}, - "FunctionArn":{"type":"string"}, - "GEMaxResults":{ - "type":"integer", - "max":10000, - "min":1 - }, - "GenerationId":{"type":"string"}, - "GetEffectivePoliciesRequest":{ - "type":"structure", - "members":{ - "principal":{ - "shape":"Principal", - "documentation":"

The principal.

" - }, - "cognitoIdentityPoolId":{ - "shape":"CognitoIdentityPoolId", - "documentation":"

The Cognito identity pool ID.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing name.

", - "location":"querystring", - "locationName":"thingName" - } - } - }, - "GetEffectivePoliciesResponse":{ - "type":"structure", - "members":{ - "effectivePolicies":{ - "shape":"EffectivePolicies", - "documentation":"

The effective policies.

" - } - } - }, - "GetIndexingConfigurationRequest":{ - "type":"structure", - "members":{ - } - }, - "GetIndexingConfigurationResponse":{ - "type":"structure", - "members":{ - "thingIndexingConfiguration":{ - "shape":"ThingIndexingConfiguration", - "documentation":"

Thing indexing configuration.

" - }, - "thingGroupIndexingConfiguration":{ - "shape":"ThingGroupIndexingConfiguration", - "documentation":"

The index configuration.

" - } - } - }, - "GetJobDocumentRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - } - } - }, - "GetJobDocumentResponse":{ - "type":"structure", - "members":{ - "document":{ - "shape":"JobDocument", - "documentation":"

The job document content.

" - } - } - }, - "GetLoggingOptionsRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input for the GetLoggingOptions operation.

" - }, - "GetLoggingOptionsResponse":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The logging level.

" - } - }, - "documentation":"

The output from the GetLoggingOptions operation.

" - }, - "GetOTAUpdateRequest":{ - "type":"structure", - "required":["otaUpdateId"], - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The OTA update ID.

", - "location":"uri", - "locationName":"otaUpdateId" - } - } - }, - "GetOTAUpdateResponse":{ - "type":"structure", - "members":{ - "otaUpdateInfo":{ - "shape":"OTAUpdateInfo", - "documentation":"

The OTA update info.

" - } - } - }, - "GetPolicyRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

", - "location":"uri", - "locationName":"policyName" - } - }, - "documentation":"

The input for the GetPolicy operation.

" - }, - "GetPolicyResponse":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" - }, - "defaultVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The default policy version ID.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the policy was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the policy was last modified.

" - }, - "generationId":{ - "shape":"GenerationId", - "documentation":"

The generation ID of the policy.

" - } - }, - "documentation":"

The output from the GetPolicy operation.

" - }, - "GetPolicyVersionRequest":{ - "type":"structure", - "required":[ - "policyName", - "policyVersionId" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

", - "location":"uri", - "locationName":"policyName" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

", - "location":"uri", - "locationName":"policyVersionId" - } - }, - "documentation":"

The input for the GetPolicyVersion operation.

" - }, - "GetPolicyVersionResponse":{ - "type":"structure", - "members":{ - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - }, - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" - }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the policy version was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date the policy version was last modified.

" - }, - "generationId":{ - "shape":"GenerationId", - "documentation":"

The generation ID of the policy version.

" - } - }, - "documentation":"

The output from the GetPolicyVersion operation.

" - }, - "GetRegistrationCodeRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input to the GetRegistrationCode operation.

" - }, - "GetRegistrationCodeResponse":{ - "type":"structure", - "members":{ - "registrationCode":{ - "shape":"RegistrationCode", - "documentation":"

The CA certificate registration code.

" - } - }, - "documentation":"

The output from the GetRegistrationCode operation.

" - }, - "GetTopicRuleRequest":{ - "type":"structure", - "required":["ruleName"], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

", - "location":"uri", - "locationName":"ruleName" - } - }, - "documentation":"

The input for the GetTopicRule operation.

" - }, - "GetTopicRuleResponse":{ - "type":"structure", - "members":{ - "ruleArn":{ - "shape":"RuleArn", - "documentation":"

The rule ARN.

" - }, - "rule":{ - "shape":"TopicRule", - "documentation":"

The rule.

" - } - }, - "documentation":"

The output from the GetTopicRule operation.

" - }, - "GetV2LoggingOptionsRequest":{ - "type":"structure", - "members":{ - } - }, - "GetV2LoggingOptionsResponse":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role ARN AWS IoT uses to write to your CloudWatch logs.

" - }, - "defaultLogLevel":{ - "shape":"LogLevel", - "documentation":"

The default log level.

" - }, - "disableAllLogs":{ - "shape":"DisableAllLogs", - "documentation":"

Disables all logs.

" - } - } - }, - "GroupNameAndArn":{ - "type":"structure", - "members":{ - "groupName":{ - "shape":"ThingGroupName", - "documentation":"

The group name.

" - }, - "groupArn":{ - "shape":"ThingGroupArn", - "documentation":"

The group ARN.

" - } - }, - "documentation":"

The name and ARN of a group.

" - }, - "HashAlgorithm":{"type":"string"}, - "HashKeyField":{"type":"string"}, - "HashKeyValue":{"type":"string"}, - "ImplicitDeny":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

Policies that don't contain a matching allow or deny statement for the specified action on the specified resource.

" - } - }, - "documentation":"

Information that implicitly denies authorization. When policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

" - }, - "InProgressChecksCount":{"type":"integer"}, - "InProgressThings":{"type":"integer"}, - "IndexName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "IndexNamesList":{ - "type":"list", - "member":{"shape":"IndexName"} - }, - "IndexNotReadyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The index is not ready.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "IndexSchema":{"type":"string"}, - "IndexStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "BUILDING", - "REBUILDING" - ] - }, - "InlineDocument":{"type":"string"}, - "InternalException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

An unexpected error has occurred.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

An unexpected error has occurred.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "InvalidQueryException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The query is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The request is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResponseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The response is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidStateTransitionException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is \"IN_PROGRESS\" without setting the force parameter.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "IotAnalyticsAction":{ - "type":"structure", - "members":{ - "channelArn":{ - "shape":"AwsArn", - "documentation":"

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

" - }, - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the IoT Analytics channel to which message data will be sent.

" - }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

" - } - }, - "documentation":"

Sends messge data to an AWS IoT Analytics channel.

" - }, - "IsAuthenticated":{"type":"boolean"}, - "IsDefaultVersion":{"type":"boolean"}, - "IsDisabled":{"type":"boolean"}, - "Job":{ - "type":"structure", - "members":{ - "jobArn":{ - "shape":"JobArn", - "documentation":"

An ARN identifying the job with format \"arn:aws:iot:region:account:job/jobId\".

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

" - }, - "status":{ - "shape":"JobStatus", - "documentation":"

The status of the job, one of IN_PROGRESS, CANCELED, or COMPLETED.

" - }, - "forceCanceled":{ - "shape":"Forced", - "documentation":"

Will be true if the job was canceled with the optional force parameter set to true.

" - }, - "comment":{ - "shape":"Comment", - "documentation":"

If the job was updated, describes the reason for the update.

" - }, - "targets":{ - "shape":"JobTargets", - "documentation":"

A list of IoT things and thing groups to which the job should be sent.

" - }, - "description":{ - "shape":"JobDescription", - "documentation":"

A short text description of the job.

" - }, - "presignedUrlConfig":{ - "shape":"PresignedUrlConfig", - "documentation":"

Configuration for pre-signed S3 URLs.

" - }, - "jobExecutionsRolloutConfig":{ - "shape":"JobExecutionsRolloutConfig", - "documentation":"

Allows you to create a staged rollout of a job.

" - }, - "createdAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was created.

" - }, - "lastUpdatedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was last updated.

" - }, - "completedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was completed.

" - }, - "jobProcessDetails":{ - "shape":"JobProcessDetails", - "documentation":"

Details about the job process.

" - } - }, - "documentation":"

The Job object contains details about a job.

" - }, - "JobArn":{"type":"string"}, - "JobDescription":{ - "type":"string", - "max":2028, - "pattern":"[^\\p{C}]+" - }, - "JobDocument":{ - "type":"string", - "max":32768 - }, - "JobDocumentSource":{ - "type":"string", - "max":1350, - "min":1 - }, - "JobExecution":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to the job when it was created.

" - }, - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCESS, CANCELED, or REJECTED).

" - }, - "forceCanceled":{ - "shape":"Forced", - "documentation":"

Will be true if the job execution was canceled with the optional force parameter set to true.

" - }, - "statusDetails":{ - "shape":"JobExecutionStatusDetails", - "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the thing on which the job execution is running.

" - }, - "queuedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was queued.

" - }, - "startedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" - }, - "lastUpdatedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

A string (consisting of the digits \"0\" through \"9\") which identifies this particular job execution on this particular device. It can be used in commands which return or update job execution information.

" - }, - "versionNumber":{ - "shape":"VersionNumber", - "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" - } - }, - "documentation":"

The job execution object represents the execution of a job on a particular device.

" - }, - "JobExecutionStatus":{ - "type":"string", - "enum":[ - "QUEUED", - "IN_PROGRESS", - "SUCCEEDED", - "FAILED", - "REJECTED", - "REMOVED", - "CANCELED" - ] - }, - "JobExecutionStatusDetails":{ - "type":"structure", - "members":{ - "detailsMap":{ - "shape":"DetailsMap", - "documentation":"

The job execution status.

" - } - }, - "documentation":"

Details of the job execution status.

" - }, - "JobExecutionSummary":{ - "type":"structure", - "members":{ - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The status of the job execution.

" - }, - "queuedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was queued.

" - }, - "startedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" - }, - "lastUpdatedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" - }, - "executionNumber":{ - "shape":"ExecutionNumber", - "documentation":"

A string (consisting of the digits \"0\" through \"9\") which identifies this particular job execution on this particular device. It can be used later in commands which return or update job execution information.

" - } - }, - "documentation":"

The job execution summary.

" - }, - "JobExecutionSummaryForJob":{ - "type":"structure", - "members":{ - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the thing on which the job execution is running.

" - }, - "jobExecutionSummary":{ - "shape":"JobExecutionSummary", - "documentation":"

Contains a subset of information about a job execution.

" - } - }, - "documentation":"

Contains a summary of information about job executions for a specific job.

" - }, - "JobExecutionSummaryForJobList":{ - "type":"list", - "member":{"shape":"JobExecutionSummaryForJob"} - }, - "JobExecutionSummaryForThing":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "jobExecutionSummary":{ - "shape":"JobExecutionSummary", - "documentation":"

Contains a subset of information about a job execution.

" - } - }, - "documentation":"

The job execution summary for a thing.

" - }, - "JobExecutionSummaryForThingList":{ - "type":"list", - "member":{"shape":"JobExecutionSummaryForThing"} - }, - "JobExecutionsRolloutConfig":{ - "type":"structure", - "members":{ - "maximumPerMinute":{ - "shape":"MaxJobExecutionsPerMin", - "documentation":"

The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout.

" - } - }, - "documentation":"

Allows you to create a staged rollout of a job.

" - }, - "JobId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "JobProcessDetails":{ - "type":"structure", - "members":{ - "processingTargets":{ - "shape":"ProcessingTargetNameList", - "documentation":"

The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.

" - }, - "numberOfCanceledThings":{ - "shape":"CanceledThings", - "documentation":"

The number of things that cancelled the job.

" - }, - "numberOfSucceededThings":{ - "shape":"SucceededThings", - "documentation":"

The number of things which successfully completed the job.

" - }, - "numberOfFailedThings":{ - "shape":"FailedThings", - "documentation":"

The number of things that failed executing the job.

" - }, - "numberOfRejectedThings":{ - "shape":"RejectedThings", - "documentation":"

The number of things that rejected the job.

" - }, - "numberOfQueuedThings":{ - "shape":"QueuedThings", - "documentation":"

The number of things that are awaiting execution of the job.

" - }, - "numberOfInProgressThings":{ - "shape":"InProgressThings", - "documentation":"

The number of things currently executing the job.

" - }, - "numberOfRemovedThings":{ - "shape":"RemovedThings", - "documentation":"

The number of things that are no longer scheduled to execute the job because they have been deleted or have been removed from the group that was a target of the job.

" - } - }, - "documentation":"

The job process details.

" - }, - "JobStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "CANCELED", - "COMPLETED", - "DELETION_IN_PROGRESS" - ] - }, - "JobSummary":{ - "type":"structure", - "members":{ - "jobArn":{ - "shape":"JobArn", - "documentation":"

The job ARN.

" - }, - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

" - }, - "thingGroupId":{ - "shape":"ThingGroupId", - "documentation":"

The ID of the thing group.

" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

" - }, - "status":{ - "shape":"JobStatus", - "documentation":"

The job summary status.

" - }, - "createdAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was created.

" - }, - "lastUpdatedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job was last updated.

" - }, - "completedAt":{ - "shape":"DateType", - "documentation":"

The time, in milliseconds since the epoch, when the job completed.

" - } - }, - "documentation":"

The job summary.

" - }, - "JobSummaryList":{ - "type":"list", - "member":{"shape":"JobSummary"} - }, - "JobTargets":{ - "type":"list", - "member":{"shape":"TargetArn"}, - "min":1 - }, - "JsonDocument":{"type":"string"}, - "Key":{"type":"string"}, - "KeyName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "KeyPair":{ - "type":"structure", - "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

The public key.

" - }, - "PrivateKey":{ - "shape":"PrivateKey", - "documentation":"

The private key.

" - } - }, - "documentation":"

Describes a key pair.

" - }, - "KeyValue":{ - "type":"string", - "max":5120 - }, - "KinesisAction":{ - "type":"structure", - "required":[ - "roleArn", - "streamName" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

" - }, - "streamName":{ - "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis stream.

" - }, - "partitionKey":{ - "shape":"PartitionKey", - "documentation":"

The partition key.

" - } - }, - "documentation":"

Describes an action to write data to an Amazon Kinesis stream.

" - }, - "LambdaAction":{ - "type":"structure", - "required":["functionArn"], - "members":{ - "functionArn":{ - "shape":"FunctionArn", - "documentation":"

The ARN of the Lambda function.

" - } - }, - "documentation":"

Describes an action to invoke a Lambda function.

" - }, - "LaserMaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "LastModifiedDate":{"type":"timestamp"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

A limit has been exceeded.

", - "error":{"httpStatusCode":410}, - "exception":true - }, - "ListActiveViolationsRequest":{ - "type":"structure", - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing whose active violations are listed.

", - "location":"querystring", - "locationName":"thingName" - }, - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the Device Defender security profile for which violations are listed.

", - "location":"querystring", - "locationName":"securityProfileName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListActiveViolationsResponse":{ - "type":"structure", - "members":{ - "activeViolations":{ - "shape":"ActiveViolations", - "documentation":"

The list of active violations.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListAttachedPoliciesRequest":{ - "type":"structure", - "required":["target"], - "members":{ - "target":{ - "shape":"PolicyTarget", - "documentation":"

The group for which the policies will be listed.

", - "location":"uri", - "locationName":"target" - }, - "recursive":{ - "shape":"Recursive", - "documentation":"

When true, recursively list attached policies.

", - "location":"querystring", - "locationName":"recursive" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to be returned per request.

", - "location":"querystring", - "locationName":"pageSize" - } - } - }, - "ListAttachedPoliciesResponse":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The policies.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The token to retrieve the next set of results, or ``null`` if there are no more results.

" - } - } - }, - "ListAuditFindingsRequest":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

A filter to limit results to the audit with the specified ID. You must specify either the taskId or the startTime and endTime, but not both.

" - }, - "checkName":{ - "shape":"AuditCheckName", - "documentation":"

A filter to limit results to the findings for the specified audit check.

" - }, - "resourceIdentifier":{ - "shape":"ResourceIdentifier", - "documentation":"

Information identifying the non-compliant resource.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time. The default is 25.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.

" - } - } - }, - "ListAuditFindingsResponse":{ - "type":"structure", - "members":{ - "findings":{ - "shape":"AuditFindings", - "documentation":"

The findings (results) of the audit.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListAuditTasksRequest":{ - "type":"structure", - "required":[ - "startTime", - "endTime" - ], - "members":{ - "startTime":{ - "shape":"Timestamp", - "documentation":"

The beginning of the time period. Note that audit information is retained for a limited time (180 days). Requesting a start time prior to what is retained results in an \"InvalidRequestException\".

", - "location":"querystring", - "locationName":"startTime" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time period.

", - "location":"querystring", - "locationName":"endTime" - }, - "taskType":{ - "shape":"AuditTaskType", - "documentation":"

A filter to limit the output to the specified type of audit: can be one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED__AUDIT_TASK\".

", - "location":"querystring", - "locationName":"taskType" - }, - "taskStatus":{ - "shape":"AuditTaskStatus", - "documentation":"

A filter to limit the output to audits with the specified completion status: can be one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\" or \"CANCELED\".

", - "location":"querystring", - "locationName":"taskStatus" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time. The default is 25.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListAuditTasksResponse":{ - "type":"structure", - "members":{ - "tasks":{ - "shape":"AuditTaskMetadataList", - "documentation":"

The audits that were performed during the specified time period.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListAuthorizersRequest":{ - "type":"structure", - "members":{ - "pageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Return the list of authorizers in ascending alphabetical order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - }, - "status":{ - "shape":"AuthorizerStatus", - "documentation":"

The status of the list authorizers request.

", - "location":"querystring", - "locationName":"status" - } - } - }, - "ListAuthorizersResponse":{ - "type":"structure", - "members":{ - "authorizers":{ - "shape":"Authorizers", - "documentation":"

The authorizers.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

" - } - } - }, - "ListCACertificatesRequest":{ - "type":"structure", - "members":{ - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Determines the order of the results.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

Input for the ListCACertificates operation.

" - }, - "ListCACertificatesResponse":{ - "type":"structure", - "members":{ - "certificates":{ - "shape":"CACertificates", - "documentation":"

The CA certificates registered in your AWS account.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The current position within the list of CA certificates.

" - } - }, - "documentation":"

The output from the ListCACertificates operation.

" - }, - "ListCertificatesByCARequest":{ - "type":"structure", - "required":["caCertificateId"], - "members":{ - "caCertificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

", - "location":"uri", - "locationName":"caCertificateId" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input to the ListCertificatesByCA operation.

" - }, - "ListCertificatesByCAResponse":{ - "type":"structure", - "members":{ - "certificates":{ - "shape":"Certificates", - "documentation":"

The device certificates signed by the specified CA certificate.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output of the ListCertificatesByCA operation.

" - }, - "ListCertificatesRequest":{ - "type":"structure", - "members":{ - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input for the ListCertificates operation.

" - }, - "ListCertificatesResponse":{ - "type":"structure", - "members":{ - "certificates":{ - "shape":"Certificates", - "documentation":"

The descriptions of the certificates.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output of the ListCertificates operation.

" - }, - "ListIndicesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"QueryMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListIndicesResponse":{ - "type":"structure", - "members":{ - "indexNames":{ - "shape":"IndexNamesList", - "documentation":"

The index names.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListJobExecutionsForJobRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The unique identifier you assigned to this job when it was created.

", - "location":"uri", - "locationName":"jobId" - }, - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

The status of the job.

", - "location":"querystring", - "locationName":"status" - }, - "maxResults":{ - "shape":"LaserMaxResults", - "documentation":"

The maximum number of results to be returned per request.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListJobExecutionsForJobResponse":{ - "type":"structure", - "members":{ - "executionSummaries":{ - "shape":"JobExecutionSummaryForJobList", - "documentation":"

A list of job execution summaries.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - } - } - }, - "ListJobExecutionsForThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing name.

", - "location":"uri", - "locationName":"thingName" - }, - "status":{ - "shape":"JobExecutionStatus", - "documentation":"

An optional filter that lets you search for jobs that have the specified status.

", - "location":"querystring", - "locationName":"status" - }, - "maxResults":{ - "shape":"LaserMaxResults", - "documentation":"

The maximum number of results to be returned per request.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListJobExecutionsForThingResponse":{ - "type":"structure", - "members":{ - "executionSummaries":{ - "shape":"JobExecutionSummaryForThingList", - "documentation":"

A list of job execution summaries.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - } - } - }, - "ListJobsRequest":{ - "type":"structure", - "members":{ - "status":{ - "shape":"JobStatus", - "documentation":"

An optional filter that lets you search for jobs that have the specified status.

", - "location":"querystring", - "locationName":"status" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

", - "location":"querystring", - "locationName":"targetSelection" - }, - "maxResults":{ - "shape":"LaserMaxResults", - "documentation":"

The maximum number of results to return per request.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

A filter that limits the returned jobs to those for the specified group.

", - "location":"querystring", - "locationName":"thingGroupName" - }, - "thingGroupId":{ - "shape":"ThingGroupId", - "documentation":"

A filter that limits the returned jobs to those for the specified group.

", - "location":"querystring", - "locationName":"thingGroupId" - } - } - }, - "ListJobsResponse":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"JobSummaryList", - "documentation":"

A list of jobs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - } - } - }, - "ListOTAUpdatesRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "otaUpdateStatus":{ - "shape":"OTAUpdateStatus", - "documentation":"

The OTA update job status.

", - "location":"querystring", - "locationName":"otaUpdateStatus" - } - } - }, - "ListOTAUpdatesResponse":{ - "type":"structure", - "members":{ - "otaUpdates":{ - "shape":"OTAUpdatesSummary", - "documentation":"

A list of OTA update jobs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token to use to get the next set of results.

" - } - } - }, - "ListOutgoingCertificatesRequest":{ - "type":"structure", - "members":{ - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input to the ListOutgoingCertificates operation.

" - }, - "ListOutgoingCertificatesResponse":{ - "type":"structure", - "members":{ - "outgoingCertificates":{ - "shape":"OutgoingCertificates", - "documentation":"

The certificates that are being transferred but not yet accepted.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

" - } - }, - "documentation":"

The output from the ListOutgoingCertificates operation.

" - }, - "ListPoliciesRequest":{ - "type":"structure", - "members":{ - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input for the ListPolicies operation.

" - }, - "ListPoliciesResponse":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The descriptions of the policies.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output from the ListPolicies operation.

" - }, - "ListPolicyPrincipalsRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"header", - "locationName":"x-amzn-iot-policy" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input for the ListPolicyPrincipals operation.

" - }, - "ListPolicyPrincipalsResponse":{ - "type":"structure", - "members":{ - "principals":{ - "shape":"Principals", - "documentation":"

The descriptions of the principals.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output from the ListPolicyPrincipals operation.

" - }, - "ListPolicyVersionsRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - } - }, - "documentation":"

The input for the ListPolicyVersions operation.

" - }, - "ListPolicyVersionsResponse":{ - "type":"structure", - "members":{ - "policyVersions":{ - "shape":"PolicyVersions", - "documentation":"

The policy versions.

" - } - }, - "documentation":"

The output from the ListPolicyVersions operation.

" - }, - "ListPrincipalPoliciesRequest":{ - "type":"structure", - "required":["principal"], - "members":{ - "principal":{ - "shape":"Principal", - "documentation":"

The principal.

", - "location":"header", - "locationName":"x-amzn-iot-principal" - }, - "marker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The result page size.

", - "location":"querystring", - "locationName":"pageSize" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Specifies the order for results. If true, results are returned in ascending creation order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - }, - "documentation":"

The input for the ListPrincipalPolicies operation.

" - }, - "ListPrincipalPoliciesResponse":{ - "type":"structure", - "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The policies.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output from the ListPrincipalPolicies operation.

" - }, - "ListPrincipalThingsRequest":{ - "type":"structure", - "required":["principal"], - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return in this operation.

", - "location":"querystring", - "locationName":"maxResults" - }, - "principal":{ - "shape":"Principal", - "documentation":"

The principal.

", - "location":"header", - "locationName":"x-amzn-principal" - } - }, - "documentation":"

The input for the ListPrincipalThings operation.

" - }, - "ListPrincipalThingsResponse":{ - "type":"structure", - "members":{ - "things":{ - "shape":"ThingNameList", - "documentation":"

The things.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output from the ListPrincipalThings operation.

" - }, - "ListRoleAliasesRequest":{ - "type":"structure", - "members":{ - "pageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"pageSize" - }, - "marker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Return the list of role aliases in ascending alphabetical order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - } - }, - "ListRoleAliasesResponse":{ - "type":"structure", - "members":{ - "roleAliases":{ - "shape":"RoleAliases", - "documentation":"

The role aliases.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

" - } - } - }, - "ListScheduledAuditsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time. The default is 25.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListScheduledAuditsResponse":{ - "type":"structure", - "members":{ - "scheduledAudits":{ - "shape":"ScheduledAuditMetadataList", - "documentation":"

The list of scheduled audits.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListSecurityProfilesForTargetRequest":{ - "type":"structure", - "required":["securityProfileTargetArn"], - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - }, - "recursive":{ - "shape":"Recursive", - "documentation":"

If true, return child groups as well.

", - "location":"querystring", - "locationName":"recursive" - }, - "securityProfileTargetArn":{ - "shape":"SecurityProfileTargetArn", - "documentation":"

The ARN of the target (thing group) whose attached security profiles you want to get.

", - "location":"querystring", - "locationName":"securityProfileTargetArn" - } - } - }, - "ListSecurityProfilesForTargetResponse":{ - "type":"structure", - "members":{ - "securityProfileTargetMappings":{ - "shape":"SecurityProfileTargetMappings", - "documentation":"

A list of security profiles and their associated targets.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListSecurityProfilesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListSecurityProfilesResponse":{ - "type":"structure", - "members":{ - "securityProfileIdentifiers":{ - "shape":"SecurityProfileIdentifiers", - "documentation":"

A list of security profile identifiers (names and ARNs).

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListStreamsRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at a time.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to get the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "documentation":"

Set to true to return the list of streams in ascending order.

", - "location":"querystring", - "locationName":"isAscendingOrder" - } - } - }, - "ListStreamsResponse":{ - "type":"structure", - "members":{ - "streams":{ - "shape":"StreamsSummary", - "documentation":"

A list of streams.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to get the next set of results.

" - } - } - }, - "ListTargetsForPolicyRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - }, - "marker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

", - "location":"querystring", - "locationName":"marker" - }, - "pageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"pageSize" - } - } - }, - "ListTargetsForPolicyResponse":{ - "type":"structure", - "members":{ - "targets":{ - "shape":"PolicyTargets", - "documentation":"

The policy targets.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

A marker used to get the next set of results.

" - } - } - }, - "ListTargetsForSecurityProfileRequest":{ - "type":"structure", - "required":["securityProfileName"], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The security profile.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListTargetsForSecurityProfileResponse":{ - "type":"structure", - "members":{ - "securityProfileTargets":{ - "shape":"SecurityProfileTargets", - "documentation":"

The thing groups to which the security profile is attached.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingGroupsForThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing name.

", - "location":"uri", - "locationName":"thingName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListThingGroupsForThingResponse":{ - "type":"structure", - "members":{ - "thingGroups":{ - "shape":"ThingGroupNameAndArnList", - "documentation":"

The thing groups.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingGroupsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - }, - "parentGroup":{ - "shape":"ThingGroupName", - "documentation":"

A filter that limits the results to those with the specified parent group.

", - "location":"querystring", - "locationName":"parentGroup" - }, - "namePrefixFilter":{ - "shape":"ThingGroupName", - "documentation":"

A filter that limits the results to those with the specified name prefix.

", - "location":"querystring", - "locationName":"namePrefixFilter" - }, - "recursive":{ - "shape":"RecursiveWithoutDefault", - "documentation":"

If true, return child groups as well.

", - "location":"querystring", - "locationName":"recursive" - } - } - }, - "ListThingGroupsResponse":{ - "type":"structure", - "members":{ - "thingGroups":{ - "shape":"ThingGroupNameAndArnList", - "documentation":"

The thing groups.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingPrincipalsRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

", - "location":"uri", - "locationName":"thingName" - } - }, - "documentation":"

The input for the ListThingPrincipal operation.

" - }, - "ListThingPrincipalsResponse":{ - "type":"structure", - "members":{ - "principals":{ - "shape":"Principals", - "documentation":"

The principals associated with the thing.

" - } - }, - "documentation":"

The output from the ListThingPrincipals operation.

" - }, - "ListThingRegistrationTaskReportsRequest":{ - "type":"structure", - "required":[ - "taskId", - "reportType" - ], - "members":{ - "taskId":{ - "shape":"TaskId", - "documentation":"

The id of the task.

", - "location":"uri", - "locationName":"taskId" - }, - "reportType":{ - "shape":"ReportType", - "documentation":"

The type of task report.

", - "location":"querystring", - "locationName":"reportType" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return per request.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListThingRegistrationTaskReportsResponse":{ - "type":"structure", - "members":{ - "resourceLinks":{ - "shape":"S3FileUrlList", - "documentation":"

Links to the task resources.

" - }, - "reportType":{ - "shape":"ReportType", - "documentation":"

The type of task report.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingRegistrationTasksRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - }, - "status":{ - "shape":"Status", - "documentation":"

The status of the bulk thing provisioning task.

", - "location":"querystring", - "locationName":"status" - } - } - }, - "ListThingRegistrationTasksResponse":{ - "type":"structure", - "members":{ - "taskIds":{ - "shape":"TaskIdList", - "documentation":"

A list of bulk thing provisioning task IDs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingTypesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return in this operation.

", - "location":"querystring", - "locationName":"maxResults" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

", - "location":"querystring", - "locationName":"thingTypeName" - } - }, - "documentation":"

The input for the ListThingTypes operation.

" - }, - "ListThingTypesResponse":{ - "type":"structure", - "members":{ - "thingTypes":{ - "shape":"ThingTypeList", - "documentation":"

The thing types.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output for the ListThingTypes operation.

" - }, - "ListThingsInThingGroupRequest":{ - "type":"structure", - "required":["thingGroupName"], - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The thing group name.

", - "location":"uri", - "locationName":"thingGroupName" - }, - "recursive":{ - "shape":"Recursive", - "documentation":"

When true, list things in this thing group and in all child groups as well.

", - "location":"querystring", - "locationName":"recursive" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListThingsInThingGroupResponse":{ - "type":"structure", - "members":{ - "things":{ - "shape":"ThingNameList", - "documentation":"

The things in the specified thing group.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListThingsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"RegistryMaxResults", - "documentation":"

The maximum number of results to return in this operation.

", - "location":"querystring", - "locationName":"maxResults" - }, - "attributeName":{ - "shape":"AttributeName", - "documentation":"

The attribute name used to search for things.

", - "location":"querystring", - "locationName":"attributeName" - }, - "attributeValue":{ - "shape":"AttributeValue", - "documentation":"

The attribute value used to search for things.

", - "location":"querystring", - "locationName":"attributeValue" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type used to search for things.

", - "location":"querystring", - "locationName":"thingTypeName" - } - }, - "documentation":"

The input for the ListThings operation.

" - }, - "ListThingsResponse":{ - "type":"structure", - "members":{ - "things":{ - "shape":"ThingAttributeList", - "documentation":"

The things.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output from the ListThings operation.

" - }, - "ListTopicRulesRequest":{ - "type":"structure", - "members":{ - "topic":{ - "shape":"Topic", - "documentation":"

The topic.

", - "location":"querystring", - "locationName":"topic" - }, - "maxResults":{ - "shape":"GEMaxResults", - "documentation":"

The maximum number of results to return.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to retrieve the next value.

", - "location":"querystring", - "locationName":"nextToken" - }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

", - "location":"querystring", - "locationName":"ruleDisabled" - } - }, - "documentation":"

The input for the ListTopicRules operation.

" - }, - "ListTopicRulesResponse":{ - "type":"structure", - "members":{ - "rules":{ - "shape":"TopicRuleList", - "documentation":"

The rules.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to retrieve the next value.

" - } - }, - "documentation":"

The output from the ListTopicRules operation.

" - }, - "ListV2LoggingLevelsRequest":{ - "type":"structure", - "members":{ - "targetType":{ - "shape":"LogTargetType", - "documentation":"

The type of resource for which you are configuring logging. Must be THING_Group.

", - "location":"querystring", - "locationName":"targetType" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"SkyfallMaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListV2LoggingLevelsResponse":{ - "type":"structure", - "members":{ - "logTargetConfigurations":{ - "shape":"LogTargetConfigurations", - "documentation":"

The logging configuration for a target.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - } - } - }, - "ListViolationEventsRequest":{ - "type":"structure", - "required":[ - "startTime", - "endTime" - ], - "members":{ - "startTime":{ - "shape":"Timestamp", - "documentation":"

The start time for the alerts to be listed.

", - "location":"querystring", - "locationName":"startTime" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

The end time for the alerts to be listed.

", - "location":"querystring", - "locationName":"endTime" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

A filter to limit results to those alerts caused by the specified thing.

", - "location":"querystring", - "locationName":"thingName" - }, - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

A filter to limit results to those alerts generated by the specified security profile.

", - "location":"querystring", - "locationName":"securityProfileName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return at one time.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListViolationEventsResponse":{ - "type":"structure", - "members":{ - "violationEvents":{ - "shape":"ViolationEvents", - "documentation":"

The security profile violation alerts issued for this account during the given time frame, potentially filtered by security profile, behavior violated, or thing (device) violating.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" - } - } - }, - "LogLevel":{ - "type":"string", - "enum":[ - "DEBUG", - "INFO", - "ERROR", - "WARN", - "DISABLED" - ] - }, - "LogTarget":{ - "type":"structure", - "required":["targetType"], - "members":{ - "targetType":{ - "shape":"LogTargetType", - "documentation":"

The target type.

" - }, - "targetName":{ - "shape":"LogTargetName", - "documentation":"

The target name.

" - } - }, - "documentation":"

A log target.

" - }, - "LogTargetConfiguration":{ - "type":"structure", - "members":{ - "logTarget":{ - "shape":"LogTarget", - "documentation":"

A log target

" - }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The logging level.

" - } - }, - "documentation":"

The target configuration.

" - }, - "LogTargetConfigurations":{ - "type":"list", - "member":{"shape":"LogTargetConfiguration"} - }, - "LogTargetName":{"type":"string"}, - "LogTargetType":{ - "type":"string", - "enum":[ - "DEFAULT", - "THING_GROUP" - ] - }, - "LoggingOptionsPayload":{ - "type":"structure", - "required":["roleArn"], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The log level.

" - } - }, - "documentation":"

Describes the logging options payload.

" - }, - "MalformedPolicyException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The policy documentation is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Marker":{ - "type":"string", - "pattern":"[A-Za-z0-9+/]+={0,2}" - }, - "MaxJobExecutionsPerMin":{ - "type":"integer", - "max":1000, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "MaximumPerMinute":{ - "type":"integer", - "max":1000, - "min":1 - }, - "Message":{ - "type":"string", - "max":128 - }, - "MessageFormat":{ - "type":"string", - "enum":[ - "RAW", - "JSON" - ] - }, - "MetricValue":{ - "type":"structure", - "members":{ - "count":{ - "shape":"UnsignedLong", - "documentation":"

If the comparisonOperator calls for a numeric value, use this to specify that numeric value to be compared with the metric.

" - }, - "cidrs":{ - "shape":"Cidrs", - "documentation":"

If the comparisonOperator calls for a set of CIDRs, use this to specify that set to be compared with the metric.

" - }, - "ports":{ - "shape":"Ports", - "documentation":"

If the comparisonOperator calls for a set of ports, use this to specify that set to be compared with the metric.

" - } - }, - "documentation":"

The value to be compared with the metric.

" - }, - "MissingContextValue":{"type":"string"}, - "MissingContextValues":{ - "type":"list", - "member":{"shape":"MissingContextValue"} - }, - "NextToken":{"type":"string"}, - "NonCompliantChecksCount":{"type":"integer"}, - "NonCompliantResource":{ - "type":"structure", - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of the non-compliant resource.

" - }, - "resourceIdentifier":{ - "shape":"ResourceIdentifier", - "documentation":"

Information identifying the non-compliant resource.

" - }, - "additionalInfo":{ - "shape":"StringMap", - "documentation":"

Additional information about the non-compliant resource.

" - } - }, - "documentation":"

Information about the resource that was non-compliant with the audit check.

" - }, - "NonCompliantResourcesCount":{"type":"long"}, - "NotConfiguredException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The resource is not configured.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "OTAUpdateArn":{"type":"string"}, - "OTAUpdateDescription":{ - "type":"string", - "max":2028, - "pattern":"[^\\p{C}]+" - }, - "OTAUpdateErrorMessage":{"type":"string"}, - "OTAUpdateFile":{ - "type":"structure", - "members":{ - "fileName":{ - "shape":"FileName", - "documentation":"

The name of the file.

" - }, - "fileVersion":{ - "shape":"OTAUpdateFileVersion", - "documentation":"

The file version.

" - }, - "fileLocation":{ - "shape":"FileLocation", - "documentation":"

The location of the updated firmware.

" - }, - "codeSigning":{ - "shape":"CodeSigning", - "documentation":"

The code signing method of the file.

" - }, - "attributes":{ - "shape":"AttributesMap", - "documentation":"

A list of name/attribute pairs.

" - } - }, - "documentation":"

Describes a file to be associated with an OTA update.

" - }, - "OTAUpdateFileVersion":{"type":"string"}, - "OTAUpdateFiles":{ - "type":"list", - "member":{"shape":"OTAUpdateFile"}, - "max":50, - "min":1 - }, - "OTAUpdateId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "OTAUpdateInfo":{ - "type":"structure", - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The OTA update ID.

" - }, - "otaUpdateArn":{ - "shape":"OTAUpdateArn", - "documentation":"

The OTA update ARN.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date when the OTA update was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date when the OTA update was last updated.

" - }, - "description":{ - "shape":"OTAUpdateDescription", - "documentation":"

A description of the OTA update.

" - }, - "targets":{ - "shape":"Targets", - "documentation":"

The targets of the OTA update.

" - }, - "awsJobExecutionsRolloutConfig":{ - "shape":"AwsJobExecutionsRolloutConfig", - "documentation":"

Configuration for the rollout of OTA updates.

" - }, - "targetSelection":{ - "shape":"TargetSelection", - "documentation":"

Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when the thing is added to a target group, even after the OTA update was completed by all things originally in the group.

" - }, - "otaUpdateFiles":{ - "shape":"OTAUpdateFiles", - "documentation":"

A list of files associated with the OTA update.

" - }, - "otaUpdateStatus":{ - "shape":"OTAUpdateStatus", - "documentation":"

The status of the OTA update.

" - }, - "awsIotJobId":{ - "shape":"AwsIotJobId", - "documentation":"

The AWS IoT job ID associated with the OTA update.

" - }, - "awsIotJobArn":{ - "shape":"AwsIotJobArn", - "documentation":"

The AWS IoT job ARN associated with the OTA update.

" - }, - "errorInfo":{ - "shape":"ErrorInfo", - "documentation":"

Error information associated with the OTA update.

" - }, - "additionalParameters":{ - "shape":"AdditionalParameterMap", - "documentation":"

A collection of name/value pairs

" - } - }, - "documentation":"

Information about an OTA update.

" - }, - "OTAUpdateStatus":{ - "type":"string", - "enum":[ - "CREATE_PENDING", - "CREATE_IN_PROGRESS", - "CREATE_COMPLETE", - "CREATE_FAILED" - ] - }, - "OTAUpdateSummary":{ - "type":"structure", - "members":{ - "otaUpdateId":{ - "shape":"OTAUpdateId", - "documentation":"

The OTA update ID.

" - }, - "otaUpdateArn":{ - "shape":"OTAUpdateArn", - "documentation":"

The OTA update ARN.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date when the OTA update was created.

" - } - }, - "documentation":"

An OTA update summary.

" - }, - "OTAUpdatesSummary":{ - "type":"list", - "member":{"shape":"OTAUpdateSummary"} - }, - "OptionalVersion":{"type":"long"}, - "OutgoingCertificate":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate ID.

" - }, - "transferredTo":{ - "shape":"AwsAccountId", - "documentation":"

The AWS account to which the transfer was made.

" - }, - "transferDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was initiated.

" - }, - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The certificate creation date.

" - } - }, - "documentation":"

A certificate that has been transferred but not yet accepted.

" - }, - "OutgoingCertificates":{ - "type":"list", - "member":{"shape":"OutgoingCertificate"} - }, - "PageSize":{ - "type":"integer", - "max":250, - "min":1 - }, - "Parameter":{"type":"string"}, - "Parameters":{ - "type":"map", - "key":{"shape":"Parameter"}, - "value":{"shape":"Value"} - }, - "PartitionKey":{"type":"string"}, - "PayloadField":{"type":"string"}, - "Percentage":{ - "type":"integer", - "max":100, - "min":0 - }, - "Platform":{"type":"string"}, - "Policies":{ - "type":"list", - "member":{"shape":"Policy"} - }, - "Policy":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" - } - }, - "documentation":"

Describes an AWS IoT policy.

" - }, - "PolicyArn":{"type":"string"}, - "PolicyDocument":{"type":"string"}, - "PolicyDocuments":{ - "type":"list", - "member":{"shape":"PolicyDocument"} - }, - "PolicyName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]+" - }, - "PolicyNames":{ - "type":"list", - "member":{"shape":"PolicyName"} - }, - "PolicyTarget":{"type":"string"}, - "PolicyTargets":{ - "type":"list", - "member":{"shape":"PolicyTarget"} - }, - "PolicyVersion":{ - "type":"structure", - "members":{ - "versionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" - }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" - }, - "createDate":{ - "shape":"DateType", - "documentation":"

The date and time the policy was created.

" - } - }, - "documentation":"

Describes a policy version.

" - }, - "PolicyVersionId":{ - "type":"string", - "pattern":"[0-9]+" - }, - "PolicyVersionIdentifier":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The ID of the version of the policy associated with the resource.

" - } - }, - "documentation":"

Information about the version of the policy associated with the resource.

" - }, - "PolicyVersions":{ - "type":"list", - "member":{"shape":"PolicyVersion"} - }, - "Port":{ - "type":"integer", - "max":65535, - "min":0 - }, - "Ports":{ - "type":"list", - "member":{"shape":"Port"} - }, - "Prefix":{"type":"string"}, - "PresignedUrlConfig":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that grants grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files.

" - }, - "expiresInSec":{ - "shape":"ExpiresInSec", - "documentation":"

How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document.

" - } - }, - "documentation":"

Configuration for pre-signed S3 URLs.

" - }, - "Principal":{"type":"string"}, - "PrincipalArn":{"type":"string"}, - "PrincipalId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9]+" - }, - "Principals":{ - "type":"list", - "member":{"shape":"PrincipalArn"} - }, - "PrivateKey":{ - "type":"string", - "min":1, - "sensitive":true - }, - "ProcessingTargetName":{"type":"string"}, - "ProcessingTargetNameList":{ - "type":"list", - "member":{"shape":"ProcessingTargetName"} - }, - "PublicKey":{ - "type":"string", - "min":1 - }, - "PublicKeyMap":{ - "type":"map", - "key":{"shape":"KeyName"}, - "value":{"shape":"KeyValue"} - }, - "PutItemInput":{ - "type":"structure", - "required":["tableName"], - "members":{ - "tableName":{ - "shape":"TableName", - "documentation":"

The table where the message data will be written

" - } - }, - "documentation":"

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

" - }, - "QueryMaxResults":{ - "type":"integer", - "max":500, - "min":1 - }, - "QueryString":{ - "type":"string", - "min":1 - }, - "QueryVersion":{"type":"string"}, - "QueueUrl":{"type":"string"}, - "QueuedThings":{"type":"integer"}, - "RangeKeyField":{"type":"string"}, - "RangeKeyValue":{"type":"string"}, - "ReasonForNonCompliance":{"type":"string"}, - "ReasonForNonComplianceCode":{"type":"string"}, - "Recursive":{"type":"boolean"}, - "RecursiveWithoutDefault":{"type":"boolean"}, - "RegisterCACertificateRequest":{ - "type":"structure", - "required":[ - "caCertificate", - "verificationCertificate" - ], - "members":{ - "caCertificate":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate.

" - }, - "verificationCertificate":{ - "shape":"CertificatePem", - "documentation":"

The private key verification certificate.

" - }, - "setAsActive":{ - "shape":"SetAsActive", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", - "location":"querystring", - "locationName":"setAsActive" - }, - "allowAutoRegistration":{ - "shape":"AllowAutoRegistration", - "documentation":"

Allows this CA certificate to be used for auto registration of device certificates.

", - "location":"querystring", - "locationName":"allowAutoRegistration" - }, - "registrationConfig":{ - "shape":"RegistrationConfig", - "documentation":"

Information about the registration configuration.

" - } - }, - "documentation":"

The input to the RegisterCACertificate operation.

" - }, - "RegisterCACertificateResponse":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The CA certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate identifier.

" - } - }, - "documentation":"

The output from the RegisterCACertificateResponse operation.

" - }, - "RegisterCertificateRequest":{ - "type":"structure", - "required":["certificatePem"], - "members":{ - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" - }, - "caCertificatePem":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate used to sign the device certificate being registered.

" - }, - "setAsActive":{ - "shape":"SetAsActiveFlag", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", - "deprecated":true, - "location":"querystring", - "locationName":"setAsActive" - }, - "status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the register certificate request.

" - } - }, - "documentation":"

The input to the RegisterCertificate operation.

" - }, - "RegisterCertificateResponse":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate identifier.

" - } - }, - "documentation":"

The output from the RegisterCertificate operation.

" - }, - "RegisterThingRequest":{ - "type":"structure", - "required":["templateBody"], - "members":{ - "templateBody":{ - "shape":"TemplateBody", - "documentation":"

The provisioning template. See Programmatic Provisioning for more information.

" - }, - "parameters":{ - "shape":"Parameters", - "documentation":"

The parameters for provisioning a thing. See Programmatic Provisioning for more information.

" - } - } - }, - "RegisterThingResponse":{ - "type":"structure", - "members":{ - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

.

" - }, - "resourceArns":{ - "shape":"ResourceArns", - "documentation":"

ARNs for the generated resources.

" - } - } - }, - "RegistrationCode":{ - "type":"string", - "max":64, - "min":64, - "pattern":"(0x)?[a-fA-F0-9]+" - }, - "RegistrationCodeValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Additional information about the exception.

" - } - }, - "documentation":"

The registration code is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "RegistrationConfig":{ - "type":"structure", - "members":{ - "templateBody":{ - "shape":"TemplateBody", - "documentation":"

The template body.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role.

" - } - }, - "documentation":"

The registration configuration.

" - }, - "RegistryMaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "RegistryS3BucketName":{ - "type":"string", - "max":256, - "min":3, - "pattern":"[a-zA-Z0-9._-]+" - }, - "RegistryS3KeyName":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[a-zA-Z0-9!_.*'()-\\/]+" - }, - "RejectCertificateTransferRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - }, - "rejectReason":{ - "shape":"Message", - "documentation":"

The reason the certificate transfer was rejected.

" - } - }, - "documentation":"

The input for the RejectCertificateTransfer operation.

" - }, - "RejectedThings":{"type":"integer"}, - "RelatedResource":{ - "type":"structure", - "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource.

" - }, - "resourceIdentifier":{ - "shape":"ResourceIdentifier", - "documentation":"

Information identifying the resource.

" - }, - "additionalInfo":{ - "shape":"StringMap", - "documentation":"

Additional information about the resource.

" - } - }, - "documentation":"

Information about a related resource.

" - }, - "RelatedResources":{ - "type":"list", - "member":{"shape":"RelatedResource"} - }, - "RemoveAutoRegistration":{"type":"boolean"}, - "RemoveThingFromThingGroupRequest":{ - "type":"structure", - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The group name.

" - }, - "thingGroupArn":{ - "shape":"ThingGroupArn", - "documentation":"

The group ARN.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing to remove from the group.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the thing to remove from the group.

" - } - } - }, - "RemoveThingFromThingGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "RemoveThingType":{"type":"boolean"}, - "RemovedThings":{"type":"integer"}, - "ReplaceTopicRuleRequest":{ - "type":"structure", - "required":[ - "ruleName", - "topicRulePayload" - ], - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

", - "location":"uri", - "locationName":"ruleName" - }, - "topicRulePayload":{ - "shape":"TopicRulePayload", - "documentation":"

The rule payload.

" - } - }, - "documentation":"

The input for the ReplaceTopicRule operation.

", - "payload":"topicRulePayload" - }, - "ReportType":{ - "type":"string", - "enum":[ - "ERRORS", - "RESULTS" - ] - }, - "RepublishAction":{ - "type":"structure", - "required":[ - "roleArn", - "topic" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "topic":{ - "shape":"TopicPattern", - "documentation":"

The name of the MQTT topic.

" - } - }, - "documentation":"

Describes an action to republish to another topic.

" - }, - "Resource":{"type":"string"}, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - }, - "resourceId":{ - "shape":"resourceId", - "documentation":"

The ID of the resource that caused the exception.

" - }, - "resourceArn":{ - "shape":"resourceArn", - "documentation":"

The ARN of the resource that caused the exception.

" - } - }, - "documentation":"

The resource already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceArn":{"type":"string"}, - "ResourceArns":{ - "type":"map", - "key":{"shape":"ResourceLogicalId"}, - "value":{"shape":"ResourceArn"} - }, - "ResourceIdentifier":{ - "type":"structure", - "members":{ - "deviceCertificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate attached to the resource.

" - }, - "caCertificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the CA certificate used to authorize the certificate.

" - }, - "cognitoIdentityPoolId":{ - "shape":"CognitoIdentityPoolId", - "documentation":"

The ID of the Cognito Identity Pool.

" - }, - "clientId":{ - "shape":"ClientId", - "documentation":"

The client ID.

" - }, - "policyVersionIdentifier":{ - "shape":"PolicyVersionIdentifier", - "documentation":"

The version of the policy associated with the resource.

" - }, - "account":{ - "shape":"AwsAccountId", - "documentation":"

The account with which the resource is associated.

" - } - }, - "documentation":"

Information identifying the non-compliant resource.

" - }, - "ResourceLogicalId":{"type":"string"}, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The specified resource does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ResourceRegistrationFailureException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The resource registration failed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ResourceType":{ - "type":"string", - "enum":[ - "DEVICE_CERTIFICATE", - "CA_CERTIFICATE", - "IOT_POLICY", - "COGNITO_IDENTITY_POOL", - "CLIENT_ID", - "ACCOUNT_SETTINGS" - ] - }, - "Resources":{ - "type":"list", - "member":{"shape":"Resource"} - }, - "RoleAlias":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w=,@-]+" - }, - "RoleAliasArn":{"type":"string"}, - "RoleAliasDescription":{ - "type":"structure", - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias.

" - }, - "roleAliasArn":{ - "shape":"RoleAliasArn", - "documentation":"

The ARN of the role alias.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The role ARN.

" - }, - "owner":{ - "shape":"AwsAccountId", - "documentation":"

The role alias owner.

" - }, - "credentialDurationSeconds":{ - "shape":"CredentialDurationSeconds", - "documentation":"

The number of seconds for which the credential is valid.

" - }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The UNIX timestamp of when the role alias was created.

" - }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The UNIX timestamp of when the role alias was last modified.

" - } - }, - "documentation":"

Role alias description.

" - }, - "RoleAliases":{ - "type":"list", - "member":{"shape":"RoleAlias"} - }, - "RoleArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "RuleArn":{"type":"string"}, - "RuleName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "S3Action":{ - "type":"structure", - "required":[ - "roleArn", - "bucketName", - "key" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "bucketName":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket.

" - }, - "key":{ - "shape":"Key", - "documentation":"

The object key.

" - }, - "cannedAcl":{ - "shape":"CannedAccessControlList", - "documentation":"

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

" - } - }, - "documentation":"

Describes an action to write data to an Amazon S3 bucket.

" - }, - "S3Bucket":{ - "type":"string", - "min":1 - }, - "S3Destination":{ - "type":"structure", - "members":{ - "bucket":{ - "shape":"S3Bucket", - "documentation":"

The S3 bucket that contains the updated firmware.

" - }, - "prefix":{ - "shape":"Prefix", - "documentation":"

The S3 prefix.

" - } - }, - "documentation":"

Describes the location of updated firmware in S3.

" - }, - "S3FileUrl":{ - "type":"string", - "max":65535 - }, - "S3FileUrlList":{ - "type":"list", - "member":{"shape":"S3FileUrl"} - }, - "S3Key":{ - "type":"string", - "min":1 - }, - "S3Location":{ - "type":"structure", - "members":{ - "bucket":{ - "shape":"S3Bucket", - "documentation":"

The S3 bucket.

" - }, - "key":{ - "shape":"S3Key", - "documentation":"

The S3 key.

" - }, - "version":{ - "shape":"S3Version", - "documentation":"

The S3 bucket version.

" - } - }, - "documentation":"

The S3 location.

" - }, - "S3Version":{"type":"string"}, - "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 - }, - "ScheduledAuditArn":{"type":"string"}, - "ScheduledAuditMetadata":{ - "type":"structure", - "members":{ - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit.

" - }, - "scheduledAuditArn":{ - "shape":"ScheduledAuditArn", - "documentation":"

The ARN of the scheduled audit.

" - }, - "frequency":{ - "shape":"AuditFrequency", - "documentation":"

How often the scheduled audit takes place.

" - }, - "dayOfMonth":{ - "shape":"DayOfMonth", - "documentation":"

The day of the month on which the scheduled audit is run (if the frequency is \"MONTHLY\"). If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" - }, - "dayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

The day of the week on which the scheduled audit is run (if the frequency is \"WEEKLY\" or \"BIWEEKLY\").

" - } - }, - "documentation":"

Information about the scheduled audit.

" - }, - "ScheduledAuditMetadataList":{ - "type":"list", - "member":{"shape":"ScheduledAuditMetadata"} - }, - "ScheduledAuditName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "SearchIndexRequest":{ - "type":"structure", - "required":["queryString"], - "members":{ - "indexName":{ - "shape":"IndexName", - "documentation":"

The search index name.

" - }, - "queryString":{ - "shape":"QueryString", - "documentation":"

The search query string.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - }, - "maxResults":{ - "shape":"QueryMaxResults", - "documentation":"

The maximum number of results to return at one time.

" - }, - "queryVersion":{ - "shape":"QueryVersion", - "documentation":"

The query version.

" - } - } - }, - "SearchIndexResponse":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" - }, - "things":{ - "shape":"ThingDocumentList", - "documentation":"

The things that match the search query.

" - }, - "thingGroups":{ - "shape":"ThingGroupDocumentList", - "documentation":"

The thing groups that match the search query.

" - } - } - }, - "SearchableAttributes":{ - "type":"list", - "member":{"shape":"AttributeName"} - }, - "Seconds":{"type":"integer"}, - "SecurityProfileArn":{"type":"string"}, - "SecurityProfileDescription":{ - "type":"string", - "max":1000, - "pattern":"[\\p{Graph}\\x20]*" - }, - "SecurityProfileIdentifier":{ - "type":"structure", - "required":[ - "name", - "arn" - ], - "members":{ - "name":{ - "shape":"SecurityProfileName", - "documentation":"

The name you have given to the security profile.

" - }, - "arn":{ - "shape":"SecurityProfileArn", - "documentation":"

The ARN of the security profile.

" - } - }, - "documentation":"

Identifying information for a Device Defender security profile.

" - }, - "SecurityProfileIdentifiers":{ - "type":"list", - "member":{"shape":"SecurityProfileIdentifier"} - }, - "SecurityProfileName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "SecurityProfileTarget":{ - "type":"structure", - "required":["arn"], - "members":{ - "arn":{ - "shape":"SecurityProfileTargetArn", - "documentation":"

The ARN of the security profile.

" - } - }, - "documentation":"

A target to which an alert is sent when a security profile behavior is violated.

" - }, - "SecurityProfileTargetArn":{"type":"string"}, - "SecurityProfileTargetMapping":{ - "type":"structure", - "members":{ - "securityProfileIdentifier":{ - "shape":"SecurityProfileIdentifier", - "documentation":"

Information that identifies the security profile.

" - }, - "target":{ - "shape":"SecurityProfileTarget", - "documentation":"

Information about the target (thing group) associated with the security profile.

" - } - }, - "documentation":"

Information about a security profile and the target associated with it.

" - }, - "SecurityProfileTargetMappings":{ - "type":"list", - "member":{"shape":"SecurityProfileTargetMapping"} - }, - "SecurityProfileTargets":{ - "type":"list", - "member":{"shape":"SecurityProfileTarget"} - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The service is temporarily unavailable.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "SetAsActive":{"type":"boolean"}, - "SetAsActiveFlag":{"type":"boolean"}, - "SetAsDefault":{"type":"boolean"}, - "SetDefaultAuthorizerRequest":{ - "type":"structure", - "required":["authorizerName"], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

" - } - } - }, - "SetDefaultAuthorizerResponse":{ - "type":"structure", - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

" - }, - "authorizerArn":{ - "shape":"AuthorizerArn", - "documentation":"

The authorizer ARN.

" - } - } - }, - "SetDefaultPolicyVersionRequest":{ - "type":"structure", - "required":[ - "policyName", - "policyVersionId" - ], - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

", - "location":"uri", - "locationName":"policyName" - }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

", - "location":"uri", - "locationName":"policyVersionId" - } - }, - "documentation":"

The input for the SetDefaultPolicyVersion operation.

" - }, - "SetLoggingOptionsRequest":{ - "type":"structure", - "required":["loggingOptionsPayload"], - "members":{ - "loggingOptionsPayload":{ - "shape":"LoggingOptionsPayload", - "documentation":"

The logging options payload.

" - } - }, - "documentation":"

The input for the SetLoggingOptions operation.

", - "payload":"loggingOptionsPayload" - }, - "SetV2LoggingLevelRequest":{ - "type":"structure", - "required":[ - "logTarget", - "logLevel" - ], - "members":{ - "logTarget":{ - "shape":"LogTarget", - "documentation":"

The log target.

" - }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The log level.

" - } - } - }, - "SetV2LoggingOptionsRequest":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the role that allows IoT to write to Cloudwatch logs.

" - }, - "defaultLogLevel":{ - "shape":"LogLevel", - "documentation":"

The default logging level.

" - }, - "disableAllLogs":{ - "shape":"DisableAllLogs", - "documentation":"

If true all logs are disabled. The default is false.

" - } - } - }, - "Signature":{"type":"blob"}, - "SignatureAlgorithm":{"type":"string"}, - "SigningJobId":{"type":"string"}, - "SigningProfileName":{"type":"string"}, - "SigningProfileParameter":{ - "type":"structure", - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

Certificate ARN.

" - }, - "platform":{ - "shape":"Platform", - "documentation":"

The hardware platform of your device.

" - }, - "certificatePathOnDevice":{ - "shape":"CertificatePathOnDevice", - "documentation":"

The location of the code-signing certificate on your device.

" - } - }, - "documentation":"

Describes the code-signing profile.

" - }, - "SkyfallMaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "SnsAction":{ - "type":"structure", - "required":[ - "targetArn", - "roleArn" - ], - "members":{ - "targetArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the SNS topic.

" - }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "messageFormat":{ - "shape":"MessageFormat", - "documentation":"

(Optional) The message format of the message to publish. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see 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.

" - }, - "SqlParseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SqsAction":{ - "type":"structure", - "required":[ - "roleArn", - "queueUrl" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "queueUrl":{ - "shape":"QueueUrl", - "documentation":"

The URL of the Amazon SQS queue.

" - }, - "useBase64":{ - "shape":"UseBase64", - "documentation":"

Specifies whether to use Base64 encoding.

" - } - }, - "documentation":"

Describes an action to publish data to an Amazon SQS queue.

" - }, - "StartOnDemandAuditTaskRequest":{ - "type":"structure", - "required":["targetCheckNames"], - "members":{ - "targetCheckNames":{ - "shape":"TargetAuditCheckNames", - "documentation":"

Which checks are performed during the audit. The checks you specify must be enabled for your account or an exception occurs. Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.

" - } - } - }, - "StartOnDemandAuditTaskResponse":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"AuditTaskId", - "documentation":"

The ID of the on-demand audit you started.

" - } - } - }, - "StartSigningJobParameter":{ - "type":"structure", - "members":{ - "signingProfileParameter":{ - "shape":"SigningProfileParameter", - "documentation":"

Describes the code-signing profile.

" - }, - "signingProfileName":{ - "shape":"SigningProfileName", - "documentation":"

The code-signing profile name.

" - }, - "destination":{ - "shape":"Destination", - "documentation":"

The location to write the code-signed file.

" - } - }, - "documentation":"

Information required to start a signing job.

" - }, - "StartThingRegistrationTaskRequest":{ - "type":"structure", - "required":[ - "templateBody", - "inputFileBucket", - "inputFileKey", - "roleArn" - ], - "members":{ - "templateBody":{ - "shape":"TemplateBody", - "documentation":"

The provisioning template.

" - }, - "inputFileBucket":{ - "shape":"RegistryS3BucketName", - "documentation":"

The S3 bucket that contains the input file.

" - }, - "inputFileKey":{ - "shape":"RegistryS3KeyName", - "documentation":"

The name of input file within the S3 bucket. This file contains a newline delimited JSON file. Each line contains the parameter values to provision one device (thing).

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The IAM role ARN that grants permission the input file.

" - } - } - }, - "StartThingRegistrationTaskResponse":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"TaskId", - "documentation":"

The bulk thing provisioning task ID.

" - } - } - }, - "StateMachineName":{"type":"string"}, - "StateReason":{"type":"string"}, - "StateValue":{"type":"string"}, - "Status":{ - "type":"string", - "enum":[ - "InProgress", - "Completed", - "Failed", - "Cancelled", - "Cancelling" - ] - }, - "StepFunctionsAction":{ - "type":"structure", - "required":[ - "stateMachineName", - "roleArn" - ], - "members":{ - "executionNamePrefix":{ - "shape":"ExecutionNamePrefix", - "documentation":"

(Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. Step Functions automatically creates a unique name for each state machine execution if one is not provided.

" - }, - "stateMachineName":{ - "shape":"StateMachineName", - "documentation":"

The name of the Step Functions state machine whose execution will be started.

" - }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the role that grants IoT permission to start execution of a state machine (\"Action\":\"states:StartExecution\").

" - } - }, - "documentation":"

Starts execution of a Step Functions state machine.

" - }, - "StopThingRegistrationTaskRequest":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"TaskId", - "documentation":"

The bulk thing provisioning task ID.

", - "location":"uri", - "locationName":"taskId" - } - } - }, - "StopThingRegistrationTaskResponse":{ - "type":"structure", - "members":{ - } - }, - "Stream":{ - "type":"structure", - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

" - }, - "fileId":{ - "shape":"FileId", - "documentation":"

The ID of a file associated with a stream.

" - } - }, - "documentation":"

Describes a group of files that can be streamed.

" - }, - "StreamArn":{"type":"string"}, - "StreamDescription":{ - "type":"string", - "max":2028, - "pattern":"[^\\p{C}]+" - }, - "StreamFile":{ - "type":"structure", - "members":{ - "fileId":{ - "shape":"FileId", - "documentation":"

The file ID.

" - }, - "s3Location":{ - "shape":"S3Location", - "documentation":"

The location of the file in S3.

" - } - }, - "documentation":"

Represents a file to stream.

" - }, - "StreamFiles":{ - "type":"list", - "member":{"shape":"StreamFile"}, - "max":50, - "min":1 - }, - "StreamId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "StreamInfo":{ - "type":"structure", - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

" - }, - "streamArn":{ - "shape":"StreamArn", - "documentation":"

The stream ARN.

" - }, - "streamVersion":{ - "shape":"StreamVersion", - "documentation":"

The stream version.

" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

The description of the stream.

" - }, - "files":{ - "shape":"StreamFiles", - "documentation":"

The files to stream.

" - }, - "createdAt":{ - "shape":"DateType", - "documentation":"

The date when the stream was created.

" - }, - "lastUpdatedAt":{ - "shape":"DateType", - "documentation":"

The date when the stream was last updated.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

An IAM role AWS IoT assumes to access your S3 files.

" - } - }, - "documentation":"

Information about a stream.

" - }, - "StreamName":{"type":"string"}, - "StreamSummary":{ - "type":"structure", - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

" - }, - "streamArn":{ - "shape":"StreamArn", - "documentation":"

The stream ARN.

" - }, - "streamVersion":{ - "shape":"StreamVersion", - "documentation":"

The stream version.

" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

A description of the stream.

" - } - }, - "documentation":"

A summary of a stream.

" - }, - "StreamVersion":{ - "type":"integer", - "max":65535, - "min":0 - }, - "StreamsSummary":{ - "type":"list", - "member":{"shape":"StreamSummary"} - }, - "String":{"type":"string"}, - "StringMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "SucceededThings":{"type":"integer"}, - "TableName":{"type":"string"}, - "Target":{"type":"string"}, - "TargetArn":{"type":"string"}, - "TargetAuditCheckNames":{ - "type":"list", - "member":{"shape":"AuditCheckName"} - }, - "TargetSelection":{ - "type":"string", - "enum":[ - "CONTINUOUS", - "SNAPSHOT" - ] - }, - "Targets":{ - "type":"list", - "member":{"shape":"Target"}, - "min":1 - }, - "TaskId":{ - "type":"string", - "max":40 - }, - "TaskIdList":{ - "type":"list", - "member":{"shape":"TaskId"} - }, - "TaskStatistics":{ - "type":"structure", - "members":{ - "totalChecks":{ - "shape":"TotalChecksCount", - "documentation":"

The number of checks in this audit.

" - }, - "inProgressChecks":{ - "shape":"InProgressChecksCount", - "documentation":"

The number of checks in progress.

" - }, - "waitingForDataCollectionChecks":{ - "shape":"WaitingForDataCollectionChecksCount", - "documentation":"

The number of checks waiting for data collection.

" - }, - "compliantChecks":{ - "shape":"CompliantChecksCount", - "documentation":"

The number of checks that found compliant resources.

" - }, - "nonCompliantChecks":{ - "shape":"NonCompliantChecksCount", - "documentation":"

The number of checks that found non-compliant resources.

" - }, - "failedChecks":{ - "shape":"FailedChecksCount", - "documentation":"

The number of checks

" - }, - "canceledChecks":{ - "shape":"CanceledChecksCount", - "documentation":"

The number of checks that did not run because the audit was canceled.

" - } - }, - "documentation":"

Statistics for the checks performed during the audit.

" - }, - "TemplateBody":{"type":"string"}, - "TestAuthorizationRequest":{ - "type":"structure", - "required":["authInfos"], - "members":{ - "principal":{ - "shape":"Principal", - "documentation":"

The principal.

" - }, - "cognitoIdentityPoolId":{ - "shape":"CognitoIdentityPoolId", - "documentation":"

The Cognito identity pool ID.

" - }, - "authInfos":{ - "shape":"AuthInfos", - "documentation":"

A list of authorization info objects. Simulating authorization will create a response for each authInfo object in the list.

" - }, - "clientId":{ - "shape":"ClientId", - "documentation":"

The MQTT client ID.

", - "location":"querystring", - "locationName":"clientId" - }, - "policyNamesToAdd":{ - "shape":"PolicyNames", - "documentation":"

When testing custom authorization, the policies specified here are treated as if they are attached to the principal being authorized.

" - }, - "policyNamesToSkip":{ - "shape":"PolicyNames", - "documentation":"

When testing custom authorization, the policies specified here are treated as if they are not attached to the principal being authorized.

" - } - } - }, - "TestAuthorizationResponse":{ - "type":"structure", - "members":{ - "authResults":{ - "shape":"AuthResults", - "documentation":"

The authentication results.

" - } - } - }, - "TestInvokeAuthorizerRequest":{ - "type":"structure", - "required":[ - "authorizerName", - "token", - "tokenSignature" - ], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The custom authorizer name.

", - "location":"uri", - "locationName":"authorizerName" - }, - "token":{ - "shape":"Token", - "documentation":"

The token returned by your custom authentication service.

" - }, - "tokenSignature":{ - "shape":"TokenSignature", - "documentation":"

The signature made with the token and your custom authentication service's private key.

" - } - } - }, - "TestInvokeAuthorizerResponse":{ - "type":"structure", - "members":{ - "isAuthenticated":{ - "shape":"IsAuthenticated", - "documentation":"

True if the token is authenticated, otherwise false.

" - }, - "principalId":{ - "shape":"PrincipalId", - "documentation":"

The principal ID.

" - }, - "policyDocuments":{ - "shape":"PolicyDocuments", - "documentation":"

IAM policy documents.

" - }, - "refreshAfterInSeconds":{ - "shape":"Seconds", - "documentation":"

The number of seconds after which the temporary credentials are refreshed.

" - }, - "disconnectAfterInSeconds":{ - "shape":"Seconds", - "documentation":"

The number of seconds after which the connection is terminated.

" - } - } - }, - "ThingArn":{"type":"string"}, - "ThingAttribute":{ - "type":"structure", - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type, if the thing has been associated with a type.

" - }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The thing ARN.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

A list of thing attributes which are name-value pairs.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the thing record in the registry.

" - } - }, - "documentation":"

The properties of the thing, including thing name, thing type name, and a list of thing attributes.

" - }, - "ThingAttributeList":{ - "type":"list", - "member":{"shape":"ThingAttribute"} - }, - "ThingDocument":{ - "type":"structure", - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing name.

" - }, - "thingId":{ - "shape":"ThingId", - "documentation":"

The thing ID.

" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The thing type name.

" - }, - "thingGroupNames":{ - "shape":"ThingGroupNameList", - "documentation":"

Thing group names.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The attributes.

" - }, - "shadow":{ - "shape":"JsonDocument", - "documentation":"

The shadow.

" - } - }, - "documentation":"

The thing search index document.

" - }, - "ThingDocumentList":{ - "type":"list", - "member":{"shape":"ThingDocument"} - }, - "ThingGroupArn":{"type":"string"}, - "ThingGroupDescription":{ - "type":"string", - "max":2028, - "pattern":"[\\p{Graph}\\x20]*" - }, - "ThingGroupDocument":{ - "type":"structure", - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The thing group name.

" - }, - "thingGroupId":{ - "shape":"ThingGroupId", - "documentation":"

The thing group ID.

" - }, - "thingGroupDescription":{ - "shape":"ThingGroupDescription", - "documentation":"

The thing group description.

" - }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The thing group attributes.

" - }, - "parentGroupNames":{ - "shape":"ThingGroupNameList", - "documentation":"

Parent group names.

" - } - }, - "documentation":"

The thing group search index document.

" - }, - "ThingGroupDocumentList":{ - "type":"list", - "member":{"shape":"ThingGroupDocument"} - }, - "ThingGroupId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9\\-]+" - }, - "ThingGroupIndexingConfiguration":{ - "type":"structure", - "required":["thingGroupIndexingMode"], - "members":{ - "thingGroupIndexingMode":{ - "shape":"ThingGroupIndexingMode", - "documentation":"

Thing group indexing mode.

" - } - }, - "documentation":"

Thing group indexing configuration.

" - }, - "ThingGroupIndexingMode":{ - "type":"string", - "enum":[ - "OFF", - "ON" - ] - }, - "ThingGroupList":{ - "type":"list", - "member":{"shape":"ThingGroupName"} - }, - "ThingGroupMetadata":{ - "type":"structure", - "members":{ - "parentGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The parent thing group name.

" - }, - "rootToParentThingGroups":{ - "shape":"ThingGroupNameAndArnList", - "documentation":"

The root parent thing group.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The UNIX timestamp of when the thing group was created.

" - } - }, - "documentation":"

Thing group metadata.

" - }, - "ThingGroupName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ThingGroupNameAndArnList":{ - "type":"list", - "member":{"shape":"GroupNameAndArn"} - }, - "ThingGroupNameList":{ - "type":"list", - "member":{"shape":"ThingGroupName"} - }, - "ThingGroupProperties":{ - "type":"structure", - "members":{ - "thingGroupDescription":{ - "shape":"ThingGroupDescription", - "documentation":"

The thing group description.

" - }, - "attributePayload":{ - "shape":"AttributePayload", - "documentation":"

The thing group attributes in JSON format.

" - } - }, - "documentation":"

Thing group properties.

" - }, - "ThingId":{"type":"string"}, - "ThingIndexingConfiguration":{ - "type":"structure", - "required":["thingIndexingMode"], - "members":{ - "thingIndexingMode":{ - "shape":"ThingIndexingMode", - "documentation":"

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing index will contain only registry data.

  • REGISTRY_AND_SHADOW - Your thing index will contain registry and shadow data.

  • OFF - Thing indexing is disabled.

" - } - }, - "documentation":"

Thing indexing configuration.

" - }, - "ThingIndexingMode":{ - "type":"string", - "enum":[ - "OFF", - "REGISTRY", - "REGISTRY_AND_SHADOW" - ] - }, - "ThingName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ThingNameList":{ - "type":"list", - "member":{"shape":"ThingName"} - }, - "ThingTypeArn":{"type":"string"}, - "ThingTypeDefinition":{ - "type":"structure", - "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" - }, - "thingTypeArn":{ - "shape":"ThingTypeArn", - "documentation":"

The thing type ARN.

" - }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties for the thing type.

" - }, - "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.

" - }, - "ThingTypeDescription":{ - "type":"string", - "max":2028, - "pattern":"[\\p{Graph}\\x20]*" - }, - "ThingTypeId":{"type":"string"}, - "ThingTypeList":{ - "type":"list", - "member":{"shape":"ThingTypeDefinition"} - }, - "ThingTypeMetadata":{ - "type":"structure", - "members":{ - "deprecated":{ - "shape":"Boolean", - "documentation":"

Whether the thing type is deprecated. If true, no new things could be associated with this type.

" - }, - "deprecationDate":{ - "shape":"DeprecationDate", - "documentation":"

The date and time when the thing type was deprecated.

" - }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The date and time when the thing type was created.

" - } - }, - "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when time was deprecated.

" - }, - "ThingTypeName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ThingTypeProperties":{ - "type":"structure", - "members":{ - "thingTypeDescription":{ - "shape":"ThingTypeDescription", - "documentation":"

The description of the thing type.

" - }, - "searchableAttributes":{ - "shape":"SearchableAttributes", - "documentation":"

A list of searchable thing attribute names.

" - } - }, - "documentation":"

The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.

" - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The rate exceeds the limit.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "Token":{ - "type":"string", - "max":6144, - "min":1 - }, - "TokenKeyName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_-]+" - }, - "TokenSignature":{ - "type":"string", - "max":2560, - "min":1, - "pattern":"[A-Za-z0-9+/]+={0,2}" - }, - "Topic":{"type":"string"}, - "TopicPattern":{"type":"string"}, - "TopicRule":{ - "type":"structure", - "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "sql":{ - "shape":"SQL", - "documentation":"

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the rule.

" - }, - "createdAt":{ - "shape":"CreatedAtDate", - "documentation":"

The date and time the rule was created.

" - }, - "actions":{ - "shape":"ActionList", - "documentation":"

The actions associated with the rule.

" - }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" - }, - "awsIotSqlVersion":{ - "shape":"AwsIotSqlVersion", - "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" - }, - "errorAction":{ - "shape":"Action", - "documentation":"

The action to perform when an error occurs.

" - } - }, - "documentation":"

Describes a rule.

" - }, - "TopicRuleList":{ - "type":"list", - "member":{"shape":"TopicRuleListItem"} - }, - "TopicRuleListItem":{ - "type":"structure", - "members":{ - "ruleArn":{ - "shape":"RuleArn", - "documentation":"

The rule ARN.

" - }, - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" - }, - "topicPattern":{ - "shape":"TopicPattern", - "documentation":"

The pattern for the topic names that apply.

" - }, - "createdAt":{ - "shape":"CreatedAtDate", - "documentation":"

The date and time the rule was created.

" - }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" - } - }, - "documentation":"

Describes a rule.

" - }, - "TopicRulePayload":{ - "type":"structure", - "required":[ - "sql", - "actions" - ], - "members":{ - "sql":{ - "shape":"SQL", - "documentation":"

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the rule.

" - }, - "actions":{ - "shape":"ActionList", - "documentation":"

The actions associated with the rule.

" - }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" - }, - "awsIotSqlVersion":{ - "shape":"AwsIotSqlVersion", - "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" - }, - "errorAction":{ - "shape":"Action", - "documentation":"

The action to take when an error occurs.

" - } - }, - "documentation":"

Describes a rule.

" - }, - "TotalChecksCount":{"type":"integer"}, - "TotalResourcesCount":{"type":"long"}, - "TransferAlreadyCompletedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "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 - }, - "TransferCertificateRequest":{ - "type":"structure", - "required":[ - "certificateId", - "targetAwsAccount" - ], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - }, - "targetAwsAccount":{ - "shape":"AwsAccountId", - "documentation":"

The AWS account.

", - "location":"querystring", - "locationName":"targetAwsAccount" - }, - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" - } - }, - "documentation":"

The input for the TransferCertificate operation.

" - }, - "TransferCertificateResponse":{ - "type":"structure", - "members":{ - "transferredCertificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - } - }, - "documentation":"

The output from the TransferCertificate operation.

" - }, - "TransferConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

You can't transfer the certificate because authorization policies are still attached.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "TransferData":{ - "type":"structure", - "members":{ - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" - }, - "rejectReason":{ - "shape":"Message", - "documentation":"

The reason why the transfer was rejected.

" - }, - "transferDate":{ - "shape":"DateType", - "documentation":"

The date the transfer took place.

" - }, - "acceptDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was accepted.

" - }, - "rejectDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was rejected.

" - } - }, - "documentation":"

Data used to transfer a certificate to an AWS account.

" - }, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

You are not authorized to perform this operation.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UndoDeprecate":{"type":"boolean"}, - "UnsignedLong":{ - "type":"long", - "min":0 - }, - "UpdateAccountAuditConfigurationRequest":{ - "type":"structure", - "members":{ - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates and other items as necessary when performing an audit.

" - }, - "auditNotificationTargetConfigurations":{ - "shape":"AuditNotificationTargetConfigurations", - "documentation":"

Information about the targets to which audit notifications are sent.

" - }, - "auditCheckConfigurations":{ - "shape":"AuditCheckConfigurations", - "documentation":"

Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks including those that are currently enabled.

Note that some data collection may begin immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.

You cannot disable a check if it is used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.

On the first call to UpdateAccountAuditConfiguration this parameter is required and must specify at least one enabled check.

" - } - } - }, - "UpdateAccountAuditConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateAuthorizerRequest":{ - "type":"structure", - "required":["authorizerName"], - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

", - "location":"uri", - "locationName":"authorizerName" - }, - "authorizerFunctionArn":{ - "shape":"AuthorizerFunctionArn", - "documentation":"

The ARN of the authorizer's Lambda function.

" - }, - "tokenKeyName":{ - "shape":"TokenKeyName", - "documentation":"

The key used to extract the token from the HTTP headers.

" - }, - "tokenSigningPublicKeys":{ - "shape":"PublicKeyMap", - "documentation":"

The public keys used to verify the token signature.

" - }, - "status":{ - "shape":"AuthorizerStatus", - "documentation":"

The status of the update authorizer request.

" - } - } - }, - "UpdateAuthorizerResponse":{ - "type":"structure", - "members":{ - "authorizerName":{ - "shape":"AuthorizerName", - "documentation":"

The authorizer name.

" - }, - "authorizerArn":{ - "shape":"AuthorizerArn", - "documentation":"

The authorizer ARN.

" - } - } - }, - "UpdateCACertificateRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate identifier.

", - "location":"uri", - "locationName":"caCertificateId" - }, - "newStatus":{ - "shape":"CACertificateStatus", - "documentation":"

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

", - "location":"querystring", - "locationName":"newStatus" - }, - "newAutoRegistrationStatus":{ - "shape":"AutoRegistrationStatus", - "documentation":"

The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".

", - "location":"querystring", - "locationName":"newAutoRegistrationStatus" - }, - "registrationConfig":{ - "shape":"RegistrationConfig", - "documentation":"

Information about the registration configuration.

" - }, - "removeAutoRegistration":{ - "shape":"RemoveAutoRegistration", - "documentation":"

If true, remove auto registration.

" - } - }, - "documentation":"

The input to the UpdateCACertificate operation.

" - }, - "UpdateCertificateRequest":{ - "type":"structure", - "required":[ - "certificateId", - "newStatus" - ], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", - "location":"uri", - "locationName":"certificateId" - }, - "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 input for the UpdateCertificate operation.

" - }, - "UpdateEventConfigurationsRequest":{ - "type":"structure", - "members":{ - "eventConfigurations":{ - "shape":"EventConfigurations", - "documentation":"

The new event configuration values.

" - } - } - }, - "UpdateEventConfigurationsResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateIndexingConfigurationRequest":{ - "type":"structure", - "members":{ - "thingIndexingConfiguration":{ - "shape":"ThingIndexingConfiguration", - "documentation":"

Thing indexing configuration.

" - }, - "thingGroupIndexingConfiguration":{ - "shape":"ThingGroupIndexingConfiguration", - "documentation":"

Thing group indexing configuration.

" - } - } - }, - "UpdateIndexingConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateRoleAliasRequest":{ - "type":"structure", - "required":["roleAlias"], - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias to update.

", - "location":"uri", - "locationName":"roleAlias" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The role ARN.

" - }, - "credentialDurationSeconds":{ - "shape":"CredentialDurationSeconds", - "documentation":"

The number of seconds the credential will be valid.

" - } - } - }, - "UpdateRoleAliasResponse":{ - "type":"structure", - "members":{ - "roleAlias":{ - "shape":"RoleAlias", - "documentation":"

The role alias.

" - }, - "roleAliasArn":{ - "shape":"RoleAliasArn", - "documentation":"

The role alias ARN.

" - } - } - }, - "UpdateScheduledAuditRequest":{ - "type":"structure", - "required":["scheduledAuditName"], - "members":{ - "frequency":{ - "shape":"AuditFrequency", - "documentation":"

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The actual start time of each audit is determined by the system.

" - }, - "dayOfMonth":{ - "shape":"DayOfMonth", - "documentation":"

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" - }, - "dayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\" or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

" - }, - "targetCheckNames":{ - "shape":"TargetAuditCheckNames", - "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.)

" - }, - "scheduledAuditName":{ - "shape":"ScheduledAuditName", - "documentation":"

The name of the scheduled audit. (Max. 128 chars)

", - "location":"uri", - "locationName":"scheduledAuditName" - } - } - }, - "UpdateScheduledAuditResponse":{ - "type":"structure", - "members":{ - "scheduledAuditArn":{ - "shape":"ScheduledAuditArn", - "documentation":"

The ARN of the scheduled audit.

" - } - } - }, - "UpdateSecurityProfileRequest":{ - "type":"structure", - "required":["securityProfileName"], - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile you want to update.

", - "location":"uri", - "locationName":"securityProfileName" - }, - "securityProfileDescription":{ - "shape":"SecurityProfileDescription", - "documentation":"

A description of the security profile.

" - }, - "behaviors":{ - "shape":"Behaviors", - "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" - }, - "alertTargets":{ - "shape":"AlertTargets", - "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" - }, - "expectedVersion":{ - "shape":"OptionalVersion", - "documentation":"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different than the actual version, a VersionConflictException is thrown.

", - "location":"querystring", - "locationName":"expectedVersion" - } - } - }, - "UpdateSecurityProfileResponse":{ - "type":"structure", - "members":{ - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile that was updated.

" - }, - "securityProfileArn":{ - "shape":"SecurityProfileArn", - "documentation":"

The ARN of the security profile that was updated.

" - }, - "securityProfileDescription":{ - "shape":"SecurityProfileDescription", - "documentation":"

The description of the security profile.

" - }, - "behaviors":{ - "shape":"Behaviors", - "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" - }, - "alertTargets":{ - "shape":"AlertTargets", - "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" - }, - "version":{ - "shape":"Version", - "documentation":"

The updated version of the security profile.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The time the security profile was created.

" - }, - "lastModifiedDate":{ - "shape":"Timestamp", - "documentation":"

The time the security profile was last modified.

" - } - } - }, - "UpdateStreamRequest":{ - "type":"structure", - "required":["streamId"], - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

", - "location":"uri", - "locationName":"streamId" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

The description of the stream.

" - }, - "files":{ - "shape":"StreamFiles", - "documentation":"

The files associated with the stream.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

An IAM role that allows the IoT service principal assumes to access your S3 files.

" - } - } - }, - "UpdateStreamResponse":{ - "type":"structure", - "members":{ - "streamId":{ - "shape":"StreamId", - "documentation":"

The stream ID.

" - }, - "streamArn":{ - "shape":"StreamArn", - "documentation":"

The stream ARN.

" - }, - "description":{ - "shape":"StreamDescription", - "documentation":"

A description of the stream.

" - }, - "streamVersion":{ - "shape":"StreamVersion", - "documentation":"

The stream version.

" - } - } - }, - "UpdateThingGroupRequest":{ - "type":"structure", - "required":[ - "thingGroupName", - "thingGroupProperties" - ], - "members":{ - "thingGroupName":{ - "shape":"ThingGroupName", - "documentation":"

The thing group to update.

", - "location":"uri", - "locationName":"thingGroupName" - }, - "thingGroupProperties":{ - "shape":"ThingGroupProperties", - "documentation":"

The thing group properties.

" - }, - "expectedVersion":{ - "shape":"OptionalVersion", - "documentation":"

The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.

" - } - } - }, - "UpdateThingGroupResponse":{ - "type":"structure", - "members":{ - "version":{ - "shape":"Version", - "documentation":"

The version of the updated thing group.

" - } - } - }, - "UpdateThingGroupsForThingRequest":{ - "type":"structure", - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The thing whose group memberships will be updated.

" - }, - "thingGroupsToAdd":{ - "shape":"ThingGroupList", - "documentation":"

The groups to which the thing will be added.

" - }, - "thingGroupsToRemove":{ - "shape":"ThingGroupList", - "documentation":"

The groups from which the thing will be removed.

" - } - } - }, - "UpdateThingGroupsForThingResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateThingRequest":{ - "type":"structure", - "required":["thingName"], - "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing to update.

", - "location":"uri", - "locationName":"thingName" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" - }, - "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.

" - }, - "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 UpdateThing request is rejected with a VersionConflictException.

" - }, - "removeThingType":{ - "shape":"RemoveThingType", - "documentation":"

Remove a thing type association. If true, the association is removed.

" - } - }, - "documentation":"

The input for the UpdateThing operation.

" - }, - "UpdateThingResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output from the UpdateThing operation.

" - }, - "UseBase64":{"type":"boolean"}, - "Valid":{"type":"boolean"}, - "ValidateSecurityProfileBehaviorsRequest":{ - "type":"structure", - "required":["behaviors"], - "members":{ - "behaviors":{ - "shape":"Behaviors", - "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" - } - } - }, - "ValidateSecurityProfileBehaviorsResponse":{ - "type":"structure", - "members":{ - "valid":{ - "shape":"Valid", - "documentation":"

True if the behaviors were valid.

" - }, - "validationErrors":{ - "shape":"ValidationErrors", - "documentation":"

The list of any errors found in the behaviors.

" - } - } - }, - "ValidationError":{ - "type":"structure", - "members":{ - "errorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The description of an error found in the behaviors.

" - } - }, - "documentation":"

Information about an error found in a behavior specification.

" - }, - "ValidationErrors":{ - "type":"list", - "member":{"shape":"ValidationError"} - }, - "Value":{"type":"string"}, - "Version":{"type":"long"}, - "VersionConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "VersionNumber":{"type":"long"}, - "VersionsLimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "documentation":"

The number of policy versions exceeds the limit.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ViolationEvent":{ - "type":"structure", - "members":{ - "violationId":{ - "shape":"ViolationId", - "documentation":"

The ID of the violation event.

" - }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing responsible for the violation event.

" - }, - "securityProfileName":{ - "shape":"SecurityProfileName", - "documentation":"

The name of the security profile whose behavior was violated.

" - }, - "behavior":{ - "shape":"Behavior", - "documentation":"

The behavior which was violated.

" - }, - "metricValue":{ - "shape":"MetricValue", - "documentation":"

The value of the metric (the measurement).

" - }, - "violationEventType":{ - "shape":"ViolationEventType", - "documentation":"

The type of violation event.

" - }, - "violationEventTime":{ - "shape":"Timestamp", - "documentation":"

The time the violation event occurred.

" - } - }, - "documentation":"

Information about a Device Defender security profile behavior violation.

" - }, - "ViolationEventType":{ - "type":"string", - "enum":[ - "in-alarm", - "alarm-cleared", - "alarm-invalidated" - ] - }, - "ViolationEvents":{ - "type":"list", - "member":{"shape":"ViolationEvent"} - }, - "ViolationId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9\\-]+" - }, - "WaitingForDataCollectionChecksCount":{"type":"integer"}, - "errorMessage":{"type":"string"}, - "resourceArn":{"type":"string"}, - "resourceId":{"type":"string"} - }, - "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-devices/2018-05-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-devices/2018-05-14/service-2.json deleted file mode 100644 index 127c6d12..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-devices/2018-05-14/service-2.json +++ /dev/null @@ -1,889 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2018-05-14", - "endpointPrefix" : "devices.iot1click", - "signingName" : "iot1click", - "serviceFullName" : "AWS IoT 1-Click Devices Service", - "serviceId" : "IoT 1Click Devices Service", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "devices-2018-05-14", - "signatureVersion" : "v4" - }, - "operations" : { - "ClaimDevicesByClaimCode" : { - "name" : "ClaimDevicesByClaimCode", - "http" : { - "method" : "PUT", - "requestUri" : "/claims/{claimCode}", - "responseCode" : 200 - }, - "input" : { - "shape" : "ClaimDevicesByClaimCodeRequest" - }, - "output" : { - "shape" : "ClaimDevicesByClaimCodeResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

403 response

" - } ], - "documentation" : "

Adds device(s) to your account (i.e., claim one or more devices) if and only if\n you received a claim code with the device(s).

" - }, - "DescribeDevice" : { - "name" : "DescribeDevice", - "http" : { - "method" : "GET", - "requestUri" : "/devices/{deviceId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeDeviceRequest" - }, - "output" : { - "shape" : "DescribeDeviceResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Given a device ID, returns a DescribeDeviceResponse object describing\n the details of the device.

" - }, - "FinalizeDeviceClaim" : { - "name" : "FinalizeDeviceClaim", - "http" : { - "method" : "PUT", - "requestUri" : "/devices/{deviceId}/finalize-claim", - "responseCode" : 200 - }, - "input" : { - "shape" : "FinalizeDeviceClaimRequest" - }, - "output" : { - "shape" : "FinalizeDeviceClaimResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - }, { - "shape" : "PreconditionFailedException", - "documentation" : "

412 response

" - }, { - "shape" : "ResourceConflictException", - "documentation" : "

409 response

" - } ], - "documentation" : "

Given a device ID, finalizes the claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" - }, - "GetDeviceMethods" : { - "name" : "GetDeviceMethods", - "http" : { - "method" : "GET", - "requestUri" : "/devices/{deviceId}/methods", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetDeviceMethodsRequest" - }, - "output" : { - "shape" : "GetDeviceMethodsResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Given a device ID, returns the invokable methods associated with the\n device.

" - }, - "InitiateDeviceClaim" : { - "name" : "InitiateDeviceClaim", - "http" : { - "method" : "PUT", - "requestUri" : "/devices/{deviceId}/initiate-claim", - "responseCode" : 200 - }, - "input" : { - "shape" : "InitiateDeviceClaimRequest" - }, - "output" : { - "shape" : "InitiateDeviceClaimResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - }, { - "shape" : "ResourceConflictException", - "documentation" : "

409 response

" - } ], - "documentation" : "

Given a device ID, initiates a claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device\n event, and finalizing the claim. For a device of type button, a\n device event can be published by simply clicking the device.

\n
" - }, - "InvokeDeviceMethod" : { - "name" : "InvokeDeviceMethod", - "http" : { - "method" : "POST", - "requestUri" : "/devices/{deviceId}/methods", - "responseCode" : 200 - }, - "input" : { - "shape" : "InvokeDeviceMethodRequest" - }, - "output" : { - "shape" : "InvokeDeviceMethodResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "PreconditionFailedException", - "documentation" : "

412 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - }, { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "RangeNotSatisfiableException", - "documentation" : "

416 response

" - }, { - "shape" : "ResourceConflictException", - "documentation" : "

409 response

" - } ], - "documentation" : "

Given a device ID, issues a request to invoke a named device method (with possible\n parameters). See the \"Example POST\" code snippet below.

" - }, - "ListDeviceEvents" : { - "name" : "ListDeviceEvents", - "http" : { - "method" : "GET", - "requestUri" : "/devices/{deviceId}/events", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDeviceEventsRequest" - }, - "output" : { - "shape" : "ListDeviceEventsResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "RangeNotSatisfiableException", - "documentation" : "

416 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Using a device ID, returns a DeviceEventsResponse object containing\n an array of events for the device.

" - }, - "ListDevices" : { - "name" : "ListDevices", - "http" : { - "method" : "GET", - "requestUri" : "/devices", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListDevicesRequest" - }, - "output" : { - "shape" : "ListDevicesResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "RangeNotSatisfiableException", - "documentation" : "

416 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Lists the 1-Click compatible devices associated with your AWS account.

" - }, - "UnclaimDevice" : { - "name" : "UnclaimDevice", - "http" : { - "method" : "PUT", - "requestUri" : "/devices/{deviceId}/unclaim", - "responseCode" : 200 - }, - "input" : { - "shape" : "UnclaimDeviceRequest" - }, - "output" : { - "shape" : "UnclaimDeviceResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Disassociates a device from your AWS account using its device ID.

" - }, - "UpdateDeviceState" : { - "name" : "UpdateDeviceState", - "http" : { - "method" : "PUT", - "requestUri" : "/devices/{deviceId}/state", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateDeviceStateRequest" - }, - "output" : { - "shape" : "UpdateDeviceStateResponse", - "documentation" : "

200 response

" - }, - "errors" : [ { - "shape" : "ResourceNotFoundException", - "documentation" : "

404 response

" - }, { - "shape" : "InvalidRequestException", - "documentation" : "

400 response

" - }, { - "shape" : "InternalFailureException", - "documentation" : "

500 response

" - } ], - "documentation" : "

Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.

" - } - }, - "shapes" : { - "Attributes" : { - "type" : "structure", - "members" : { } - }, - "ClaimDevicesByClaimCodeRequest" : { - "type" : "structure", - "members" : { - "ClaimCode" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "claimCode", - "documentation" : "

The claim code, starting with \"C-\", as provided by the device manufacturer.

" - } - }, - "required" : [ "ClaimCode" ] - }, - "ClaimDevicesByClaimCodeResponse" : { - "type" : "structure", - "members" : { - "ClaimCode" : { - "shape" : "__stringMin12Max40", - "locationName" : "claimCode", - "documentation" : "

The claim code provided by the device manufacturer.

" - }, - "Total" : { - "shape" : "__integer", - "locationName" : "total", - "documentation" : "

The total number of devices associated with the claim code that has been processed\n in the claim request.

" - } - } - }, - "DescribeDeviceRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - } - }, - "required" : [ "DeviceId" ] - }, - "DescribeDeviceResponse" : { - "type" : "structure", - "members" : { - "DeviceDescription" : { - "shape" : "DeviceDescription", - "locationName" : "deviceDescription", - "documentation" : "

Device details.

" - } - } - }, - "Device" : { - "type" : "structure", - "members" : { - "Attributes" : { - "shape" : "Attributes", - "locationName" : "attributes", - "documentation" : "

The user specified attributes associated with the device for an event.

" - }, - "DeviceId" : { - "shape" : "__string", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - }, - "Type" : { - "shape" : "__string", - "locationName" : "type", - "documentation" : "

The device type, such as \"button\".

" - } - } - }, - "DeviceAttributes" : { - "type" : "map", - "documentation" : "

\n DeviceAttributes is a string-to-string map specified by the user.

", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__string" - } - }, - "DeviceClaimResponse" : { - "type" : "structure", - "members" : { - "State" : { - "shape" : "__string", - "locationName" : "state", - "documentation" : "

The device's final claim state.

" - } - } - }, - "DeviceDescription" : { - "type" : "structure", - "members" : { - "Attributes" : { - "shape" : "DeviceAttributes", - "locationName" : "attributes", - "documentation" : "

An array of zero or more elements of DeviceAttribute objects\n providing user specified device attributes.

" - }, - "DeviceId" : { - "shape" : "__string", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - }, - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled", - "documentation" : "

A Boolean value indicating whether or not the device is enabled.

" - }, - "RemainingLife" : { - "shape" : "__doubleMin0Max100", - "locationName" : "remainingLife", - "documentation" : "

A value between 0 and 1 inclusive, representing the fraction of life remaining for\n the device.

" - }, - "Type" : { - "shape" : "__string", - "locationName" : "type", - "documentation" : "

The type of the device, such as \"button\".

" - } - } - }, - "DeviceEvent" : { - "type" : "structure", - "members" : { - "Device" : { - "shape" : "Device", - "locationName" : "device", - "documentation" : "

An object representing the device associated with the event.

" - }, - "StdEvent" : { - "shape" : "__string", - "locationName" : "stdEvent", - "documentation" : "

A serialized JSON object representing the device-type specific event.

" - } - } - }, - "DeviceEventsResponse" : { - "type" : "structure", - "members" : { - "Events" : { - "shape" : "__listOfDeviceEvent", - "locationName" : "events", - "documentation" : "

An array of zero or more elements describing the event(s) associated with the\n device.

" - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to retrieve the next set of results.

" - } - } - }, - "DeviceMethod" : { - "type" : "structure", - "members" : { - "DeviceType" : { - "shape" : "__string", - "locationName" : "deviceType", - "documentation" : "

The type of the device, such as \"button\".

" - }, - "MethodName" : { - "shape" : "__string", - "locationName" : "methodName", - "documentation" : "

The name of the method applicable to the deviceType.

" - } - } - }, - "Empty" : { - "type" : "structure", - "members" : { }, - "documentation" : "

On success, an empty object is returned.

" - }, - "FinalizeDeviceClaimRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - } - }, - "required" : [ "DeviceId" ] - }, - "FinalizeDeviceClaimResponse" : { - "type" : "structure", - "members" : { - "State" : { - "shape" : "__string", - "locationName" : "state", - "documentation" : "

The device's final claim state.

" - } - } - }, - "ForbiddenException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

403

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The 403 error message returned by the web server.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 403 - } - }, - "GetDeviceMethodsRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - } - }, - "required" : [ "DeviceId" ] - }, - "GetDeviceMethodsResponse" : { - "type" : "structure", - "members" : { - "DeviceMethods" : { - "shape" : "__listOfDeviceMethod", - "locationName" : "deviceMethods", - "documentation" : "

List of available device APIs.

" - } - } - }, - "InitiateDeviceClaimRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - } - }, - "required" : [ "DeviceId" ] - }, - "InitiateDeviceClaimResponse" : { - "type" : "structure", - "members" : { - "State" : { - "shape" : "__string", - "locationName" : "state", - "documentation" : "

The device's final claim state.

" - } - } - }, - "InternalFailureException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

500

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The 500 error message returned by the web server.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "InvalidRequestException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

400

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The 400 error message returned by the web server.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "InvokeDeviceMethodRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - }, - "DeviceMethod" : { - "shape" : "DeviceMethod", - "locationName" : "deviceMethod", - "documentation" : "

The device method to invoke.

" - }, - "DeviceMethodParameters" : { - "shape" : "__string", - "locationName" : "deviceMethodParameters", - "documentation" : "

A JSON encoded string containing the device method request parameters.

" - } - }, - "required" : [ "DeviceId" ] - }, - "InvokeDeviceMethodResponse" : { - "type" : "structure", - "members" : { - "DeviceMethodResponse" : { - "shape" : "__string", - "locationName" : "deviceMethodResponse", - "documentation" : "

A JSON encoded string containing the device method response.

" - } - } - }, - "ListDeviceEventsRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - }, - "FromTimeStamp" : { - "shape" : "__timestampIso8601", - "location" : "querystring", - "locationName" : "fromTimeStamp", - "documentation" : "

The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n

" - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "

The maximum number of results to return per request. If not set, a default value\n of 100 is used.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "

The token to retrieve the next set of results.

" - }, - "ToTimeStamp" : { - "shape" : "__timestampIso8601", - "location" : "querystring", - "locationName" : "toTimeStamp", - "documentation" : "

The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n

" - } - }, - "required" : [ "DeviceId", "FromTimeStamp", "ToTimeStamp" ] - }, - "ListDeviceEventsResponse" : { - "type" : "structure", - "members" : { - "Events" : { - "shape" : "__listOfDeviceEvent", - "locationName" : "events", - "documentation" : "

An array of zero or more elements describing the event(s) associated with the\n device.

" - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to retrieve the next set of results.

" - } - } - }, - "ListDevicesRequest" : { - "type" : "structure", - "members" : { - "DeviceType" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "deviceType", - "documentation" : "

The type of the device, such as \"button\".

" - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "

The maximum number of results to return per request. If not set, a default value\n of 100 is used.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "

The token to retrieve the next set of results.

" - } - } - }, - "ListDevicesResponse" : { - "type" : "structure", - "members" : { - "Devices" : { - "shape" : "__listOfDeviceDescription", - "locationName" : "devices", - "documentation" : "

A list of devices.

" - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to retrieve the next set of results.

" - } - } - }, - "MaxResults" : { - "type" : "integer", - "min" : 1, - "max" : 250 - }, - "PreconditionFailedException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

412

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

An error message explaining the error or its remedy.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 412 - } - }, - "RangeNotSatisfiableException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

416

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The requested number of results specified by nextToken cannot be\n satisfied.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 416 - } - }, - "ResourceConflictException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

409

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

An error message explaining the error or its remedy.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 409 - } - }, - "ResourceNotFoundException" : { - "type" : "structure", - "members" : { - "Code" : { - "shape" : "__string", - "locationName" : "code", - "documentation" : "

404

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The requested device could not be found.

" - } - }, - "exception" : true, - "error" : { - "httpStatusCode" : 404 - } - }, - "UnclaimDeviceRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - } - }, - "required" : [ "DeviceId" ] - }, - "UnclaimDeviceResponse" : { - "type" : "structure", - "members" : { - "State" : { - "shape" : "__string", - "locationName" : "state", - "documentation" : "

The device's final claim state.

" - } - } - }, - "UpdateDeviceStateRequest" : { - "type" : "structure", - "members" : { - "DeviceId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "deviceId", - "documentation" : "

The unique identifier of the device.

" - }, - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled", - "documentation" : "

If true, the device is enabled. If false, the device is\n disabled.

" - } - }, - "required" : [ "DeviceId" ] - }, - "UpdateDeviceStateResponse" : { - "type" : "structure", - "members" : { } - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__doubleMin0Max100" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__listOfDeviceDescription" : { - "type" : "list", - "member" : { - "shape" : "DeviceDescription" - } - }, - "__listOfDeviceEvent" : { - "type" : "list", - "member" : { - "shape" : "DeviceEvent" - } - }, - "__listOfDeviceMethod" : { - "type" : "list", - "member" : { - "shape" : "DeviceMethod" - } - }, - "__long" : { - "type" : "long" - }, - "__string" : { - "type" : "string" - }, - "__stringMin12Max40" : { - "type" : "string", - "min" : 12, - "max" : 40 - }, - "__timestampIso8601" : { - "type" : "timestamp", - "timestampFormat" : "iso8601" - }, - "__timestampUnix" : { - "type" : "timestamp", - "timestampFormat" : "unixTimestamp" - } - }, - "documentation" : "

Stub description

" -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/service-2.json deleted file mode 100644 index b918b054..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iot1click-projects/2018-05-14/service-2.json +++ /dev/null @@ -1,907 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-05-14", - "endpointPrefix":"projects.iot1click", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"AWS IoT 1-Click Projects", - "serviceFullName":"AWS IoT 1-Click Projects Service", - "serviceId":"IoT 1Click Projects", - "signatureVersion":"v4", - "signingName":"iot1click", - "uid":"iot1click-projects-2018-05-14" - }, - "operations":{ - "AssociateDeviceWithPlacement":{ - "name":"AssociateDeviceWithPlacement", - "http":{ - "method":"PUT", - "requestUri":"/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}" - }, - "input":{"shape":"AssociateDeviceWithPlacementRequest"}, - "output":{"shape":"AssociateDeviceWithPlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceConflictException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Associates a physical device with a placement.

" - }, - "CreatePlacement":{ - "name":"CreatePlacement", - "http":{ - "method":"POST", - "requestUri":"/projects/{projectName}/placements" - }, - "input":{"shape":"CreatePlacementRequest"}, - "output":{"shape":"CreatePlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceConflictException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates an empty placement.

" - }, - "CreateProject":{ - "name":"CreateProject", - "http":{ - "method":"POST", - "requestUri":"/projects" - }, - "input":{"shape":"CreateProjectRequest"}, - "output":{"shape":"CreateProjectResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceConflictException"} - ], - "documentation":"

Creates an empty project with a placement template. A project contains zero or more placements that adhere to the placement template defined in the project.

" - }, - "DeletePlacement":{ - "name":"DeletePlacement", - "http":{ - "method":"DELETE", - "requestUri":"/projects/{projectName}/placements/{placementName}" - }, - "input":{"shape":"DeletePlacementRequest"}, - "output":{"shape":"DeletePlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes a placement. To delete a placement, it must not have any devices associated with it.

When you delete a placement, all associated data becomes irretrievable.

" - }, - "DeleteProject":{ - "name":"DeleteProject", - "http":{ - "method":"DELETE", - "requestUri":"/projects/{projectName}" - }, - "input":{"shape":"DeleteProjectRequest"}, - "output":{"shape":"DeleteProjectResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes a project. To delete a project, it must not have any placements associated with it.

When you delete a project, all associated data becomes irretrievable.

" - }, - "DescribePlacement":{ - "name":"DescribePlacement", - "http":{ - "method":"GET", - "requestUri":"/projects/{projectName}/placements/{placementName}" - }, - "input":{"shape":"DescribePlacementRequest"}, - "output":{"shape":"DescribePlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a placement in a project.

" - }, - "DescribeProject":{ - "name":"DescribeProject", - "http":{ - "method":"GET", - "requestUri":"/projects/{projectName}" - }, - "input":{"shape":"DescribeProjectRequest"}, - "output":{"shape":"DescribeProjectResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns an object describing a project.

" - }, - "DisassociateDeviceFromPlacement":{ - "name":"DisassociateDeviceFromPlacement", - "http":{ - "method":"DELETE", - "requestUri":"/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}" - }, - "input":{"shape":"DisassociateDeviceFromPlacementRequest"}, - "output":{"shape":"DisassociateDeviceFromPlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Removes a physical device from a placement.

" - }, - "GetDevicesInPlacement":{ - "name":"GetDevicesInPlacement", - "http":{ - "method":"GET", - "requestUri":"/projects/{projectName}/placements/{placementName}/devices" - }, - "input":{"shape":"GetDevicesInPlacementRequest"}, - "output":{"shape":"GetDevicesInPlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns an object enumerating the devices in a placement.

" - }, - "ListPlacements":{ - "name":"ListPlacements", - "http":{ - "method":"GET", - "requestUri":"/projects/{projectName}/placements" - }, - "input":{"shape":"ListPlacementsRequest"}, - "output":{"shape":"ListPlacementsResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the placement(s) of a project.

" - }, - "ListProjects":{ - "name":"ListProjects", - "http":{ - "method":"GET", - "requestUri":"/projects" - }, - "input":{"shape":"ListProjectsRequest"}, - "output":{"shape":"ListProjectsResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Lists the AWS IoT 1-Click project(s) associated with your AWS account and region.

" - }, - "UpdatePlacement":{ - "name":"UpdatePlacement", - "http":{ - "method":"PUT", - "requestUri":"/projects/{projectName}/placements/{placementName}" - }, - "input":{"shape":"UpdatePlacementRequest"}, - "output":{"shape":"UpdatePlacementResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates a placement with the given attributes. To clear an attribute, pass an empty value (i.e., \"\").

" - }, - "UpdateProject":{ - "name":"UpdateProject", - "http":{ - "method":"PUT", - "requestUri":"/projects/{projectName}" - }, - "input":{"shape":"UpdateProjectRequest"}, - "output":{"shape":"UpdateProjectResponse"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Updates a project associated with your AWS account and region. With the exception of device template names, you can pass just the values that need to be updated because the update request will change only the values that are provided. To clear a value, pass the empty string (i.e., \"\").

" - } - }, - "shapes":{ - "AssociateDeviceWithPlacementRequest":{ - "type":"structure", - "required":[ - "projectName", - "placementName", - "deviceId", - "deviceTemplateName" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project containing the placement in which to associate the device.

", - "location":"uri", - "locationName":"projectName" - }, - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement in which to associate the device.

", - "location":"uri", - "locationName":"placementName" - }, - "deviceId":{ - "shape":"DeviceId", - "documentation":"

The ID of the physical device to be associated with the given placement in the project. Note that a mandatory 4 character prefix is required for all deviceId values.

" - }, - "deviceTemplateName":{ - "shape":"DeviceTemplateName", - "documentation":"

The device template name to associate with the device ID.

", - "location":"uri", - "locationName":"deviceTemplateName" - } - } - }, - "AssociateDeviceWithPlacementResponse":{ - "type":"structure", - "members":{ - } - }, - "AttributeDefaultValue":{ - "type":"string", - "max":800 - }, - "AttributeName":{ - "type":"string", - "max":128, - "min":1 - }, - "AttributeValue":{ - "type":"string", - "max":800 - }, - "Code":{"type":"string"}, - "CreatePlacementRequest":{ - "type":"structure", - "required":[ - "placementName", - "projectName" - ], - "members":{ - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement to be created.

" - }, - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project in which to create the placement.

", - "location":"uri", - "locationName":"projectName" - }, - "attributes":{ - "shape":"PlacementAttributeMap", - "documentation":"

Optional user-defined key/value pairs providing contextual data (such as location or function) for the placement.

" - } - } - }, - "CreatePlacementResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateProjectRequest":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project to create.

" - }, - "description":{ - "shape":"Description", - "documentation":"

An optional description for the project.

" - }, - "placementTemplate":{ - "shape":"PlacementTemplate", - "documentation":"

The schema defining the placement to be created. A placement template defines placement default attributes and device templates. You cannot add or remove device templates after the project has been created. However, you can update callbackOverrides for the device templates using the UpdateProject API.

" - } - } - }, - "CreateProjectResponse":{ - "type":"structure", - "members":{ - } - }, - "DefaultPlacementAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeDefaultValue"} - }, - "DeletePlacementRequest":{ - "type":"structure", - "required":[ - "placementName", - "projectName" - ], - "members":{ - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the empty placement to delete.

", - "location":"uri", - "locationName":"placementName" - }, - "projectName":{ - "shape":"ProjectName", - "documentation":"

The project containing the empty placement to delete.

", - "location":"uri", - "locationName":"projectName" - } - } - }, - "DeletePlacementResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteProjectRequest":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the empty project to delete.

", - "location":"uri", - "locationName":"projectName" - } - } - }, - "DeleteProjectResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribePlacementRequest":{ - "type":"structure", - "required":[ - "placementName", - "projectName" - ], - "members":{ - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement within a project.

", - "location":"uri", - "locationName":"placementName" - }, - "projectName":{ - "shape":"ProjectName", - "documentation":"

The project containing the placement to be described.

", - "location":"uri", - "locationName":"projectName" - } - } - }, - "DescribePlacementResponse":{ - "type":"structure", - "required":["placement"], - "members":{ - "placement":{ - "shape":"PlacementDescription", - "documentation":"

An object describing the placement.

" - } - } - }, - "DescribeProjectRequest":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project to be described.

", - "location":"uri", - "locationName":"projectName" - } - } - }, - "DescribeProjectResponse":{ - "type":"structure", - "required":["project"], - "members":{ - "project":{ - "shape":"ProjectDescription", - "documentation":"

An object describing the project.

" - } - } - }, - "Description":{ - "type":"string", - "max":500, - "min":0 - }, - "DeviceCallbackKey":{ - "type":"string", - "max":128, - "min":1 - }, - "DeviceCallbackOverrideMap":{ - "type":"map", - "key":{"shape":"DeviceCallbackKey"}, - "value":{"shape":"DeviceCallbackValue"} - }, - "DeviceCallbackValue":{ - "type":"string", - "max":200 - }, - "DeviceId":{ - "type":"string", - "max":32, - "min":1 - }, - "DeviceMap":{ - "type":"map", - "key":{"shape":"DeviceTemplateName"}, - "value":{"shape":"DeviceId"} - }, - "DeviceTemplate":{ - "type":"structure", - "members":{ - "deviceType":{ - "shape":"DeviceType", - "documentation":"

The device type, which currently must be \"button\".

" - }, - "callbackOverrides":{ - "shape":"DeviceCallbackOverrideMap", - "documentation":"

An optional Lambda function to invoke instead of the default Lambda function provided by the placement template.

" - } - }, - "documentation":"

An object representing a device for a placement template (see PlacementTemplate).

" - }, - "DeviceTemplateMap":{ - "type":"map", - "key":{"shape":"DeviceTemplateName"}, - "value":{"shape":"DeviceTemplate"} - }, - "DeviceTemplateName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_-]+$" - }, - "DeviceType":{ - "type":"string", - "max":128 - }, - "DisassociateDeviceFromPlacementRequest":{ - "type":"structure", - "required":[ - "projectName", - "placementName", - "deviceTemplateName" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project that contains the placement.

", - "location":"uri", - "locationName":"projectName" - }, - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement that the device should be removed from.

", - "location":"uri", - "locationName":"placementName" - }, - "deviceTemplateName":{ - "shape":"DeviceTemplateName", - "documentation":"

The device ID that should be removed from the placement.

", - "location":"uri", - "locationName":"deviceTemplateName" - } - } - }, - "DisassociateDeviceFromPlacementResponse":{ - "type":"structure", - "members":{ - } - }, - "GetDevicesInPlacementRequest":{ - "type":"structure", - "required":[ - "projectName", - "placementName" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project containing the placement.

", - "location":"uri", - "locationName":"projectName" - }, - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement to get the devices from.

", - "location":"uri", - "locationName":"placementName" - } - } - }, - "GetDevicesInPlacementResponse":{ - "type":"structure", - "required":["devices"], - "members":{ - "devices":{ - "shape":"DeviceMap", - "documentation":"

An object containing the devices (zero or more) within the placement.

" - } - } - }, - "InternalFailureException":{ - "type":"structure", - "required":[ - "code", - "message" - ], - "members":{ - "code":{"shape":"Code"}, - "message":{"shape":"Message"} - }, - "documentation":"

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "required":[ - "code", - "message" - ], - "members":{ - "code":{"shape":"Code"}, - "message":{"shape":"Message"} - }, - "documentation":"

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ListPlacementsRequest":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The project containing the placements to be listed.

", - "location":"uri", - "locationName":"projectName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return per request. If not set, a default value of 100 is used.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListPlacementsResponse":{ - "type":"structure", - "required":["placements"], - "members":{ - "placements":{ - "shape":"PlacementSummaryList", - "documentation":"

An object listing the requested placements.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

" - } - } - }, - "ListProjectsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return per request. If not set, a default value of 100 is used.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListProjectsResponse":{ - "type":"structure", - "required":["projects"], - "members":{ - "projects":{ - "shape":"ProjectSummaryList", - "documentation":"

An object containing the list of projects.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "Message":{"type":"string"}, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "PlacementAttributeMap":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "PlacementDescription":{ - "type":"structure", - "required":[ - "projectName", - "placementName", - "attributes", - "createdDate", - "updatedDate" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project containing the placement.

" - }, - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement.

" - }, - "attributes":{ - "shape":"PlacementAttributeMap", - "documentation":"

The user-defined attributes associated with the placement.

" - }, - "createdDate":{ - "shape":"Time", - "documentation":"

The date when the placement was initially created, in UNIX epoch time format.

" - }, - "updatedDate":{ - "shape":"Time", - "documentation":"

The date when the placement was last updated, in UNIX epoch time format. If the placement was not updated, then createdDate and updatedDate are the same.

" - } - }, - "documentation":"

An object describing a project's placement.

" - }, - "PlacementName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_-]+$" - }, - "PlacementSummary":{ - "type":"structure", - "required":[ - "projectName", - "placementName", - "createdDate", - "updatedDate" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project containing the placement.

" - }, - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement being summarized.

" - }, - "createdDate":{ - "shape":"Time", - "documentation":"

The date when the placement was originally created, in UNIX epoch time format.

" - }, - "updatedDate":{ - "shape":"Time", - "documentation":"

The date when the placement was last updated, in UNIX epoch time format. If the placement was not updated, then createdDate and updatedDate are the same.

" - } - }, - "documentation":"

An object providing summary information for a particular placement.

" - }, - "PlacementSummaryList":{ - "type":"list", - "member":{"shape":"PlacementSummary"} - }, - "PlacementTemplate":{ - "type":"structure", - "members":{ - "defaultAttributes":{ - "shape":"DefaultPlacementAttributeMap", - "documentation":"

The default attributes (key/value pairs) to be applied to all placements using this template.

" - }, - "deviceTemplates":{ - "shape":"DeviceTemplateMap", - "documentation":"

An object specifying the DeviceTemplate for all placements using this (PlacementTemplate) template.

" - } - }, - "documentation":"

An object defining the template for a placement.

" - }, - "ProjectDescription":{ - "type":"structure", - "required":[ - "projectName", - "createdDate", - "updatedDate" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project for which to obtain information from.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the project.

" - }, - "createdDate":{ - "shape":"Time", - "documentation":"

The date when the project was originally created, in UNIX epoch time format.

" - }, - "updatedDate":{ - "shape":"Time", - "documentation":"

The date when the project was last updated, in UNIX epoch time format. If the project was not updated, then createdDate and updatedDate are the same.

" - }, - "placementTemplate":{ - "shape":"PlacementTemplate", - "documentation":"

An object describing the project's placement specifications.

" - } - }, - "documentation":"

An object providing detailed information for a particular project associated with an AWS account and region.

" - }, - "ProjectName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[0-9A-Za-z_-]+$" - }, - "ProjectSummary":{ - "type":"structure", - "required":[ - "projectName", - "createdDate", - "updatedDate" - ], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project being summarized.

" - }, - "createdDate":{ - "shape":"Time", - "documentation":"

The date when the project was originally created, in UNIX epoch time format.

" - }, - "updatedDate":{ - "shape":"Time", - "documentation":"

The date when the project was last updated, in UNIX epoch time format. If the project was not updated, then createdDate and updatedDate are the same.

" - } - }, - "documentation":"

An object providing summary information for a particular project for an associated AWS account and region.

" - }, - "ProjectSummaryList":{ - "type":"list", - "member":{"shape":"ProjectSummary"} - }, - "ResourceConflictException":{ - "type":"structure", - "required":[ - "code", - "message" - ], - "members":{ - "code":{"shape":"Code"}, - "message":{"shape":"Message"} - }, - "documentation":"

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "required":[ - "code", - "message" - ], - "members":{ - "code":{"shape":"Code"}, - "message":{"shape":"Message"} - }, - "documentation":"

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Time":{"type":"timestamp"}, - "TooManyRequestsException":{ - "type":"structure", - "required":[ - "code", - "message" - ], - "members":{ - "code":{"shape":"Code"}, - "message":{"shape":"Message"} - }, - "documentation":"

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UpdatePlacementRequest":{ - "type":"structure", - "required":[ - "placementName", - "projectName" - ], - "members":{ - "placementName":{ - "shape":"PlacementName", - "documentation":"

The name of the placement to update.

", - "location":"uri", - "locationName":"placementName" - }, - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project containing the placement to be updated.

", - "location":"uri", - "locationName":"projectName" - }, - "attributes":{ - "shape":"PlacementAttributeMap", - "documentation":"

The user-defined object of attributes used to update the placement. The maximum number of key/value pairs is 50.

" - } - } - }, - "UpdatePlacementResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateProjectRequest":{ - "type":"structure", - "required":["projectName"], - "members":{ - "projectName":{ - "shape":"ProjectName", - "documentation":"

The name of the project to be updated.

", - "location":"uri", - "locationName":"projectName" - }, - "description":{ - "shape":"Description", - "documentation":"

An optional user-defined description for the project.

" - }, - "placementTemplate":{ - "shape":"PlacementTemplate", - "documentation":"

An object defining the project update. Once a project has been created, you cannot add device template names to the project. However, for a given placementTemplate, you can update the associated callbackOverrides for the device definition using this API.

" - } - } - }, - "UpdateProjectResponse":{ - "type":"structure", - "members":{ - } - } - }, - "documentation":"

The AWS IoT 1-Click Project API Reference

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/service-2.json deleted file mode 100644 index c5eba84b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/iotanalytics/2017-11-27/service-2.json +++ /dev/null @@ -1,2762 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-11-27", - "endpointPrefix":"iotanalytics", - "protocol":"rest-json", - "serviceFullName":"AWS IoT Analytics", - "serviceId":"IoTAnalytics", - "signatureVersion":"v4", - "signingName":"iotanalytics", - "uid":"iotanalytics-2017-11-27" - }, - "operations":{ - "BatchPutMessage":{ - "name":"BatchPutMessage", - "http":{ - "method":"POST", - "requestUri":"/messages/batch", - "responseCode":200 - }, - "input":{"shape":"BatchPutMessageRequest"}, - "output":{"shape":"BatchPutMessageResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Sends messages to a channel.

" - }, - "CancelPipelineReprocessing":{ - "name":"CancelPipelineReprocessing", - "http":{ - "method":"DELETE", - "requestUri":"/pipelines/{pipelineName}/reprocessing/{reprocessingId}" - }, - "input":{"shape":"CancelPipelineReprocessingRequest"}, - "output":{"shape":"CancelPipelineReprocessingResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Cancels the reprocessing of data through the pipeline.

" - }, - "CreateChannel":{ - "name":"CreateChannel", - "http":{ - "method":"POST", - "requestUri":"/channels", - "responseCode":201 - }, - "input":{"shape":"CreateChannelRequest"}, - "output":{"shape":"CreateChannelResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline.

" - }, - "CreateDataset":{ - "name":"CreateDataset", - "http":{ - "method":"POST", - "requestUri":"/datasets", - "responseCode":201 - }, - "input":{"shape":"CreateDatasetRequest"}, - "output":{"shape":"CreateDatasetResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a data set. A data set stores data retrieved from a data store by applying a \"queryAction\" (a SQL query) or a \"containerAction\" (executing a containerized application). This operation creates the skeleton of a data set. The data set can be populated manually by calling \"CreateDatasetContent\" or automatically according to a \"trigger\" you specify.

" - }, - "CreateDatasetContent":{ - "name":"CreateDatasetContent", - "http":{ - "method":"POST", - "requestUri":"/datasets/{datasetName}/content" - }, - "input":{"shape":"CreateDatasetContentRequest"}, - "output":{"shape":"CreateDatasetContentResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Creates the content of a data set by applying a SQL action.

" - }, - "CreateDatastore":{ - "name":"CreateDatastore", - "http":{ - "method":"POST", - "requestUri":"/datastores", - "responseCode":201 - }, - "input":{"shape":"CreateDatastoreRequest"}, - "output":{"shape":"CreateDatastoreResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a data store, which is a repository for messages.

" - }, - "CreatePipeline":{ - "name":"CreatePipeline", - "http":{ - "method":"POST", - "requestUri":"/pipelines", - "responseCode":201 - }, - "input":{"shape":"CreatePipelineRequest"}, - "output":{"shape":"CreatePipelineResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a pipeline. A pipeline consumes messages from one or more channels and allows you to process the messages before storing them in a data store.

" - }, - "DeleteChannel":{ - "name":"DeleteChannel", - "http":{ - "method":"DELETE", - "requestUri":"/channels/{channelName}", - "responseCode":204 - }, - "input":{"shape":"DeleteChannelRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Deletes the specified channel.

" - }, - "DeleteDataset":{ - "name":"DeleteDataset", - "http":{ - "method":"DELETE", - "requestUri":"/datasets/{datasetName}", - "responseCode":204 - }, - "input":{"shape":"DeleteDatasetRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Deletes the specified data set.

You do not have to delete the content of the data set before you perform this operation.

" - }, - "DeleteDatasetContent":{ - "name":"DeleteDatasetContent", - "http":{ - "method":"DELETE", - "requestUri":"/datasets/{datasetName}/content", - "responseCode":204 - }, - "input":{"shape":"DeleteDatasetContentRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Deletes the content of the specified data set.

" - }, - "DeleteDatastore":{ - "name":"DeleteDatastore", - "http":{ - "method":"DELETE", - "requestUri":"/datastores/{datastoreName}", - "responseCode":204 - }, - "input":{"shape":"DeleteDatastoreRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Deletes the specified data store.

" - }, - "DeletePipeline":{ - "name":"DeletePipeline", - "http":{ - "method":"DELETE", - "requestUri":"/pipelines/{pipelineName}", - "responseCode":204 - }, - "input":{"shape":"DeletePipelineRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Deletes the specified pipeline.

" - }, - "DescribeChannel":{ - "name":"DescribeChannel", - "http":{ - "method":"GET", - "requestUri":"/channels/{channelName}" - }, - "input":{"shape":"DescribeChannelRequest"}, - "output":{"shape":"DescribeChannelResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves information about a channel.

" - }, - "DescribeDataset":{ - "name":"DescribeDataset", - "http":{ - "method":"GET", - "requestUri":"/datasets/{datasetName}" - }, - "input":{"shape":"DescribeDatasetRequest"}, - "output":{"shape":"DescribeDatasetResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves information about a data set.

" - }, - "DescribeDatastore":{ - "name":"DescribeDatastore", - "http":{ - "method":"GET", - "requestUri":"/datastores/{datastoreName}" - }, - "input":{"shape":"DescribeDatastoreRequest"}, - "output":{"shape":"DescribeDatastoreResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves information about a data store.

" - }, - "DescribeLoggingOptions":{ - "name":"DescribeLoggingOptions", - "http":{ - "method":"GET", - "requestUri":"/logging" - }, - "input":{"shape":"DescribeLoggingOptionsRequest"}, - "output":{"shape":"DescribeLoggingOptionsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves the current settings of the AWS IoT Analytics logging options.

" - }, - "DescribePipeline":{ - "name":"DescribePipeline", - "http":{ - "method":"GET", - "requestUri":"/pipelines/{pipelineName}" - }, - "input":{"shape":"DescribePipelineRequest"}, - "output":{"shape":"DescribePipelineResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves information about a pipeline.

" - }, - "GetDatasetContent":{ - "name":"GetDatasetContent", - "http":{ - "method":"GET", - "requestUri":"/datasets/{datasetName}/content" - }, - "input":{"shape":"GetDatasetContentRequest"}, - "output":{"shape":"GetDatasetContentResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves the contents of a data set as pre-signed URIs.

" - }, - "ListChannels":{ - "name":"ListChannels", - "http":{ - "method":"GET", - "requestUri":"/channels" - }, - "input":{"shape":"ListChannelsRequest"}, - "output":{"shape":"ListChannelsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves a list of channels.

" - }, - "ListDatasetContents":{ - "name":"ListDatasetContents", - "http":{ - "method":"GET", - "requestUri":"/datasets/{datasetName}/contents" - }, - "input":{"shape":"ListDatasetContentsRequest"}, - "output":{"shape":"ListDatasetContentsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists information about data set contents that have been created.

" - }, - "ListDatasets":{ - "name":"ListDatasets", - "http":{ - "method":"GET", - "requestUri":"/datasets" - }, - "input":{"shape":"ListDatasetsRequest"}, - "output":{"shape":"ListDatasetsResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves information about data sets.

" - }, - "ListDatastores":{ - "name":"ListDatastores", - "http":{ - "method":"GET", - "requestUri":"/datastores" - }, - "input":{"shape":"ListDatastoresRequest"}, - "output":{"shape":"ListDatastoresResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves a list of data stores.

" - }, - "ListPipelines":{ - "name":"ListPipelines", - "http":{ - "method":"GET", - "requestUri":"/pipelines" - }, - "input":{"shape":"ListPipelinesRequest"}, - "output":{"shape":"ListPipelinesResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves a list of pipelines.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"GET", - "requestUri":"/tags" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the tags (metadata) which you have assigned to the resource.

" - }, - "PutLoggingOptions":{ - "name":"PutLoggingOptions", - "http":{ - "method":"PUT", - "requestUri":"/logging" - }, - "input":{"shape":"PutLoggingOptionsRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Sets or updates the AWS IoT Analytics logging options.

Note that if you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy) it takes up to 5 minutes for that change to take effect.

" - }, - "RunPipelineActivity":{ - "name":"RunPipelineActivity", - "http":{ - "method":"POST", - "requestUri":"/pipelineactivities/run" - }, - "input":{"shape":"RunPipelineActivityRequest"}, - "output":{"shape":"RunPipelineActivityResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Simulates the results of running a pipeline activity on a message payload.

" - }, - "SampleChannelData":{ - "name":"SampleChannelData", - "http":{ - "method":"GET", - "requestUri":"/channels/{channelName}/sample" - }, - "input":{"shape":"SampleChannelDataRequest"}, - "output":{"shape":"SampleChannelDataResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved.

" - }, - "StartPipelineReprocessing":{ - "name":"StartPipelineReprocessing", - "http":{ - "method":"POST", - "requestUri":"/pipelines/{pipelineName}/reprocessing" - }, - "input":{"shape":"StartPipelineReprocessingRequest"}, - "output":{"shape":"StartPipelineReprocessingResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts the reprocessing of raw message data through the pipeline.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/tags", - "responseCode":204 - }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"DELETE", - "requestUri":"/tags", - "responseCode":204 - }, - "input":{"shape":"UntagResourceRequest"}, - "output":{"shape":"UntagResourceResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Removes the given tags (metadata) from the resource.

" - }, - "UpdateChannel":{ - "name":"UpdateChannel", - "http":{ - "method":"PUT", - "requestUri":"/channels/{channelName}" - }, - "input":{"shape":"UpdateChannelRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Updates the settings of a channel.

" - }, - "UpdateDataset":{ - "name":"UpdateDataset", - "http":{ - "method":"PUT", - "requestUri":"/datasets/{datasetName}" - }, - "input":{"shape":"UpdateDatasetRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Updates the settings of a data set.

" - }, - "UpdateDatastore":{ - "name":"UpdateDatastore", - "http":{ - "method":"PUT", - "requestUri":"/datastores/{datastoreName}" - }, - "input":{"shape":"UpdateDatastoreRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Updates the settings of a data store.

" - }, - "UpdatePipeline":{ - "name":"UpdatePipeline", - "http":{ - "method":"PUT", - "requestUri":"/pipelines/{pipelineName}" - }, - "input":{"shape":"UpdatePipelineRequest"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ThrottlingException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Updates the settings of a pipeline.

" - } - }, - "shapes":{ - "ActivityBatchSize":{ - "type":"integer", - "max":1000, - "min":1 - }, - "ActivityName":{ - "type":"string", - "max":128, - "min":1 - }, - "AddAttributesActivity":{ - "type":"structure", - "required":[ - "name", - "attributes" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'addAttributes' activity.

" - }, - "attributes":{ - "shape":"AttributeNameMapping", - "documentation":"

A list of 1-50 \"AttributeNameMapping\" objects that map an existing attribute to a new attribute.

The existing attributes remain in the message, so if you want to remove the originals, use \"RemoveAttributeActivity\".

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that adds other attributes based on existing attributes in the message.

" - }, - "AttributeName":{ - "type":"string", - "max":256, - "min":1 - }, - "AttributeNameMapping":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeName"}, - "max":50, - "min":1 - }, - "AttributeNames":{ - "type":"list", - "member":{"shape":"AttributeName"}, - "max":50, - "min":1 - }, - "BatchPutMessageErrorEntries":{ - "type":"list", - "member":{"shape":"BatchPutMessageErrorEntry"} - }, - "BatchPutMessageErrorEntry":{ - "type":"structure", - "members":{ - "messageId":{ - "shape":"MessageId", - "documentation":"

The ID of the message that caused the error. (See the value corresponding to the \"messageId\" key in the message object.)

" - }, - "errorCode":{ - "shape":"ErrorCode", - "documentation":"

The code associated with the error.

" - }, - "errorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The message associated with the error.

" - } - }, - "documentation":"

Contains informations about errors.

" - }, - "BatchPutMessageRequest":{ - "type":"structure", - "required":[ - "channelName", - "messages" - ], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel where the messages are sent.

" - }, - "messages":{ - "shape":"Messages", - "documentation":"

The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'.

" - } - } - }, - "BatchPutMessageResponse":{ - "type":"structure", - "members":{ - "batchPutMessageErrorEntries":{ - "shape":"BatchPutMessageErrorEntries", - "documentation":"

A list of any errors encountered when sending the messages to the channel.

" - } - } - }, - "CancelPipelineReprocessingRequest":{ - "type":"structure", - "required":[ - "pipelineName", - "reprocessingId" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of pipeline for which data reprocessing is canceled.

", - "location":"uri", - "locationName":"pipelineName" - }, - "reprocessingId":{ - "shape":"ReprocessingId", - "documentation":"

The ID of the reprocessing task (returned by \"StartPipelineReprocessing\").

", - "location":"uri", - "locationName":"reprocessingId" - } - } - }, - "CancelPipelineReprocessingResponse":{ - "type":"structure", - "members":{ - } - }, - "Channel":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ChannelName", - "documentation":"

The name of the channel.

" - }, - "arn":{ - "shape":"ChannelArn", - "documentation":"

The ARN of the channel.

" - }, - "status":{ - "shape":"ChannelStatus", - "documentation":"

The status of the channel.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the channel.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the channel was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

When the channel was last updated.

" - } - }, - "documentation":"

A collection of data from an MQTT topic. Channels archive the raw, unprocessed messages before publishing the data to a pipeline.

" - }, - "ChannelActivity":{ - "type":"structure", - "required":[ - "name", - "channelName" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'channel' activity.

" - }, - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel from which the messages are processed.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

The activity that determines the source of the messages to be processed.

" - }, - "ChannelArn":{"type":"string"}, - "ChannelName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "ChannelStatistics":{ - "type":"structure", - "members":{ - "size":{ - "shape":"EstimatedResourceSize", - "documentation":"

The estimated size of the channel.

" - } - }, - "documentation":"

Statistics information about the channel.

" - }, - "ChannelStatus":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "DELETING" - ] - }, - "ChannelSummaries":{ - "type":"list", - "member":{"shape":"ChannelSummary"} - }, - "ChannelSummary":{ - "type":"structure", - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel.

" - }, - "status":{ - "shape":"ChannelStatus", - "documentation":"

The status of the channel.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the channel was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the channel was updated.

" - } - }, - "documentation":"

A summary of information about a channel.

" - }, - "ComputeType":{ - "type":"string", - "enum":[ - "ACU_1", - "ACU_2" - ] - }, - "ContainerDatasetAction":{ - "type":"structure", - "required":[ - "image", - "executionRoleArn", - "resourceConfiguration" - ], - "members":{ - "image":{ - "shape":"Image", - "documentation":"

The ARN of the Docker container stored in your account. The Docker container contains an application and needed support libraries and is used to generate data set contents.

" - }, - "executionRoleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role which gives permission to the system to access needed resources in order to run the \"containerAction\". This includes, at minimum, permission to retrieve the data set contents which are the input to the containerized application.

" - }, - "resourceConfiguration":{ - "shape":"ResourceConfiguration", - "documentation":"

Configuration of the resource which executes the \"containerAction\".

" - }, - "variables":{ - "shape":"Variables", - "documentation":"

The values of variables used within the context of the execution of the containerized application (basically, parameters passed to the application). Each variable must have a name and a value given by one of \"stringValue\", \"datasetContentVersionValue\", or \"outputFileUriValue\".

" - } - }, - "documentation":"

Information needed to run the \"containerAction\" to produce data set contents.

" - }, - "CreateChannelRequest":{ - "type":"structure", - "required":["channelName"], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the channel.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

Metadata which can be used to manage the channel.

" - } - } - }, - "CreateChannelResponse":{ - "type":"structure", - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel.

" - }, - "channelArn":{ - "shape":"ChannelArn", - "documentation":"

The ARN of the channel.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the channel.

" - } - } - }, - "CreateDatasetContentRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set.

", - "location":"uri", - "locationName":"datasetName" - } - } - }, - "CreateDatasetContentResponse":{ - "type":"structure", - "members":{ - "versionId":{ - "shape":"DatasetContentVersion", - "documentation":"

The version ID of the data set contents which are being created.

" - } - } - }, - "CreateDatasetRequest":{ - "type":"structure", - "required":[ - "datasetName", - "actions" - ], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set.

" - }, - "actions":{ - "shape":"DatasetActions", - "documentation":"

A list of actions that create the data set contents.

" - }, - "triggers":{ - "shape":"DatasetTriggers", - "documentation":"

A list of triggers. A trigger causes data set contents to be populated at a specified time interval or when another data set's contents are created. The list of triggers can be empty or contain up to five DataSetTrigger objects.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

[Optional] How long, in days, message data is kept for the data set. If not given or set to null, the latest version of the dataset content plus the latest succeeded version (if they are different) are retained for at most 90 days.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

Metadata which can be used to manage the data set.

" - } - } - }, - "CreateDatasetResponse":{ - "type":"structure", - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set.

" - }, - "datasetArn":{ - "shape":"DatasetArn", - "documentation":"

The ARN of the data set.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data set.

" - } - } - }, - "CreateDatastoreRequest":{ - "type":"structure", - "required":["datastoreName"], - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data store.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

Metadata which can be used to manage the data store.

" - } - } - }, - "CreateDatastoreResponse":{ - "type":"structure", - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store.

" - }, - "datastoreArn":{ - "shape":"DatastoreArn", - "documentation":"

The ARN of the data store.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data store.

" - } - } - }, - "CreatePipelineRequest":{ - "type":"structure", - "required":[ - "pipelineName", - "pipelineActivities" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline.

" - }, - "pipelineActivities":{ - "shape":"PipelineActivities", - "documentation":"

A list of pipeline activities.

The list can be 1-25 PipelineActivity objects. Activities perform transformations on your messages, such as removing, renaming, or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

Metadata which can be used to manage the pipeline.

" - } - } - }, - "CreatePipelineResponse":{ - "type":"structure", - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline.

" - }, - "pipelineArn":{ - "shape":"PipelineArn", - "documentation":"

The ARN of the pipeline.

" - } - } - }, - "Dataset":{ - "type":"structure", - "members":{ - "name":{ - "shape":"DatasetName", - "documentation":"

The name of the data set.

" - }, - "arn":{ - "shape":"DatasetArn", - "documentation":"

The ARN of the data set.

" - }, - "actions":{ - "shape":"DatasetActions", - "documentation":"

The \"DatasetAction\" objects that automatically create the data set contents.

" - }, - "triggers":{ - "shape":"DatasetTriggers", - "documentation":"

The \"DatasetTrigger\" objects that specify when the data set is automatically updated.

" - }, - "status":{ - "shape":"DatasetStatus", - "documentation":"

The status of the data set.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the data set was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the data set was updated.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

[Optional] How long, in days, message data is kept for the data set.

" - } - }, - "documentation":"

Information about a data set.

" - }, - "DatasetAction":{ - "type":"structure", - "members":{ - "actionName":{ - "shape":"DatasetActionName", - "documentation":"

The name of the data set action by which data set contents are automatically created.

" - }, - "queryAction":{ - "shape":"SqlQueryDatasetAction", - "documentation":"

An \"SqlQueryDatasetAction\" object that contains the SQL query to modify the message.

" - }, - "containerAction":{ - "shape":"ContainerDatasetAction", - "documentation":"

Information which allows the system to run a containerized application in order to create the data set contents. The application must be in a Docker container along with any needed support libraries.

" - } - }, - "documentation":"

A \"DatasetAction\" object specifying the query that creates the data set content.

" - }, - "DatasetActionName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "DatasetActionSummaries":{ - "type":"list", - "member":{"shape":"DatasetActionSummary"}, - "max":1, - "min":1 - }, - "DatasetActionSummary":{ - "type":"structure", - "members":{ - "actionName":{ - "shape":"DatasetActionName", - "documentation":"

The name of the action which automatically creates the data set's contents.

" - }, - "actionType":{ - "shape":"DatasetActionType", - "documentation":"

The type of action by which the data set's contents are automatically created.

" - } - }, - "documentation":"

" - }, - "DatasetActionType":{ - "type":"string", - "enum":[ - "QUERY", - "CONTAINER" - ] - }, - "DatasetActions":{ - "type":"list", - "member":{"shape":"DatasetAction"}, - "max":1, - "min":1 - }, - "DatasetArn":{"type":"string"}, - "DatasetContentState":{ - "type":"string", - "enum":[ - "CREATING", - "SUCCEEDED", - "FAILED" - ] - }, - "DatasetContentStatus":{ - "type":"structure", - "members":{ - "state":{ - "shape":"DatasetContentState", - "documentation":"

The state of the data set contents. Can be one of \"READY\", \"CREATING\", \"SUCCEEDED\" or \"FAILED\".

" - }, - "reason":{ - "shape":"Reason", - "documentation":"

The reason the data set contents are in this state.

" - } - }, - "documentation":"

The state of the data set contents and the reason they are in this state.

" - }, - "DatasetContentSummaries":{ - "type":"list", - "member":{"shape":"DatasetContentSummary"} - }, - "DatasetContentSummary":{ - "type":"structure", - "members":{ - "version":{ - "shape":"DatasetContentVersion", - "documentation":"

The version of the data set contents.

" - }, - "status":{ - "shape":"DatasetContentStatus", - "documentation":"

The status of the data set contents.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The actual time the creation of the data set contents was started.

" - }, - "scheduleTime":{ - "shape":"Timestamp", - "documentation":"

The time the creation of the data set contents was scheduled to start.

" - } - }, - "documentation":"

Summary information about data set contents.

" - }, - "DatasetContentVersion":{ - "type":"string", - "max":36, - "min":7 - }, - "DatasetContentVersionValue":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose latest contents will be used as input to the notebook or application.

" - } - }, - "documentation":"

The data set whose latest contents will be used as input to the notebook or application.

" - }, - "DatasetEntries":{ - "type":"list", - "member":{"shape":"DatasetEntry"} - }, - "DatasetEntry":{ - "type":"structure", - "members":{ - "entryName":{ - "shape":"EntryName", - "documentation":"

The name of the data set item.

" - }, - "dataURI":{ - "shape":"PresignedURI", - "documentation":"

The pre-signed URI of the data set item.

" - } - }, - "documentation":"

The reference to a data set entry.

" - }, - "DatasetName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "DatasetStatus":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "DELETING" - ] - }, - "DatasetSummaries":{ - "type":"list", - "member":{"shape":"DatasetSummary"} - }, - "DatasetSummary":{ - "type":"structure", - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set.

" - }, - "status":{ - "shape":"DatasetStatus", - "documentation":"

The status of the data set.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The time the data set was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the data set was updated.

" - }, - "triggers":{ - "shape":"DatasetTriggers", - "documentation":"

A list of triggers. A trigger causes data set content to be populated at a specified time interval or when another data set is populated. The list of triggers can be empty or contain up to five DataSetTrigger objects

" - }, - "actions":{ - "shape":"DatasetActionSummaries", - "documentation":"

A list of \"DataActionSummary\" objects.

" - } - }, - "documentation":"

A summary of information about a data set.

" - }, - "DatasetTrigger":{ - "type":"structure", - "members":{ - "schedule":{ - "shape":"Schedule", - "documentation":"

The \"Schedule\" when the trigger is initiated.

" - }, - "dataset":{ - "shape":"TriggeringDataset", - "documentation":"

The data set whose content creation will trigger the creation of this data set's contents.

" - } - }, - "documentation":"

The \"DatasetTrigger\" that specifies when the data set is automatically updated.

" - }, - "DatasetTriggers":{ - "type":"list", - "member":{"shape":"DatasetTrigger"}, - "max":5, - "min":0 - }, - "Datastore":{ - "type":"structure", - "members":{ - "name":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store.

" - }, - "arn":{ - "shape":"DatastoreArn", - "documentation":"

The ARN of the data store.

" - }, - "status":{ - "shape":"DatastoreStatus", - "documentation":"

The status of a data store:

CREATING

The data store is being created.

ACTIVE

The data store has been created and can be used.

DELETING

The data store is being deleted.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data store.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the data store was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the data store was updated.

" - } - }, - "documentation":"

Information about a data store.

" - }, - "DatastoreActivity":{ - "type":"structure", - "required":[ - "name", - "datastoreName" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'datastore' activity.

" - }, - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store where processed messages are stored.

" - } - }, - "documentation":"

The 'datastore' activity that specifies where to store the processed data.

" - }, - "DatastoreArn":{"type":"string"}, - "DatastoreName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "DatastoreStatistics":{ - "type":"structure", - "members":{ - "size":{ - "shape":"EstimatedResourceSize", - "documentation":"

The estimated size of the data store.

" - } - }, - "documentation":"

Statistical information about the data store.

" - }, - "DatastoreStatus":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "DELETING" - ] - }, - "DatastoreSummaries":{ - "type":"list", - "member":{"shape":"DatastoreSummary"} - }, - "DatastoreSummary":{ - "type":"structure", - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store.

" - }, - "status":{ - "shape":"DatastoreStatus", - "documentation":"

The status of the data store.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the data store was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the data store was updated.

" - } - }, - "documentation":"

A summary of information about a data store.

" - }, - "DeleteChannelRequest":{ - "type":"structure", - "required":["channelName"], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel to delete.

", - "location":"uri", - "locationName":"channelName" - } - } - }, - "DeleteDatasetContentRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose content is deleted.

", - "location":"uri", - "locationName":"datasetName" - }, - "versionId":{ - "shape":"DatasetContentVersion", - "documentation":"

The version of the data set whose content is deleted. You can also use the strings \"$LATEST\" or \"$LATEST_SUCCEEDED\" to delete the latest or latest successfully completed data set. If not specified, \"$LATEST_SUCCEEDED\" is the default.

", - "location":"querystring", - "locationName":"versionId" - } - } - }, - "DeleteDatasetRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set to delete.

", - "location":"uri", - "locationName":"datasetName" - } - } - }, - "DeleteDatastoreRequest":{ - "type":"structure", - "required":["datastoreName"], - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store to delete.

", - "location":"uri", - "locationName":"datastoreName" - } - } - }, - "DeletePipelineRequest":{ - "type":"structure", - "required":["pipelineName"], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline to delete.

", - "location":"uri", - "locationName":"pipelineName" - } - } - }, - "DeltaTime":{ - "type":"structure", - "required":[ - "offsetSeconds", - "timeExpression" - ], - "members":{ - "offsetSeconds":{ - "shape":"OffsetSeconds", - "documentation":"

The number of seconds of estimated \"in flight\" lag time of message data.

" - }, - "timeExpression":{ - "shape":"TimeExpression", - "documentation":"

An expression by which the time of the message data may be determined. This may be the name of a timestamp field, or a SQL expression which is used to derive the time the message data was generated.

" - } - }, - "documentation":"

When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of your message data, so that data not processed from the previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" - }, - "DescribeChannelRequest":{ - "type":"structure", - "required":["channelName"], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel whose information is retrieved.

", - "location":"uri", - "locationName":"channelName" - }, - "includeStatistics":{ - "shape":"IncludeStatisticsFlag", - "documentation":"

If true, additional statistical information about the channel is included in the response.

", - "location":"querystring", - "locationName":"includeStatistics" - } - } - }, - "DescribeChannelResponse":{ - "type":"structure", - "members":{ - "channel":{ - "shape":"Channel", - "documentation":"

An object that contains information about the channel.

" - }, - "statistics":{ - "shape":"ChannelStatistics", - "documentation":"

Statistics about the channel. Included if the 'includeStatistics' parameter is set to true in the request.

" - } - } - }, - "DescribeDatasetRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose information is retrieved.

", - "location":"uri", - "locationName":"datasetName" - } - } - }, - "DescribeDatasetResponse":{ - "type":"structure", - "members":{ - "dataset":{ - "shape":"Dataset", - "documentation":"

An object that contains information about the data set.

" - } - } - }, - "DescribeDatastoreRequest":{ - "type":"structure", - "required":["datastoreName"], - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store

", - "location":"uri", - "locationName":"datastoreName" - }, - "includeStatistics":{ - "shape":"IncludeStatisticsFlag", - "documentation":"

If true, additional statistical information about the datastore is included in the response.

", - "location":"querystring", - "locationName":"includeStatistics" - } - } - }, - "DescribeDatastoreResponse":{ - "type":"structure", - "members":{ - "datastore":{ - "shape":"Datastore", - "documentation":"

Information about the data store.

" - }, - "statistics":{ - "shape":"DatastoreStatistics", - "documentation":"

Additional statistical information about the data store. Included if the 'includeStatistics' parameter is set to true in the request.

" - } - } - }, - "DescribeLoggingOptionsRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeLoggingOptionsResponse":{ - "type":"structure", - "members":{ - "loggingOptions":{ - "shape":"LoggingOptions", - "documentation":"

The current settings of the AWS IoT Analytics logging options.

" - } - } - }, - "DescribePipelineRequest":{ - "type":"structure", - "required":["pipelineName"], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline whose information is retrieved.

", - "location":"uri", - "locationName":"pipelineName" - } - } - }, - "DescribePipelineResponse":{ - "type":"structure", - "members":{ - "pipeline":{ - "shape":"Pipeline", - "documentation":"

A \"Pipeline\" object that contains information about the pipeline.

" - } - } - }, - "DeviceRegistryEnrichActivity":{ - "type":"structure", - "required":[ - "name", - "attribute", - "thingName", - "roleArn" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'deviceRegistryEnrich' activity.

" - }, - "attribute":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute that is added to the message.

" - }, - "thingName":{ - "shape":"AttributeName", - "documentation":"

The name of the IoT device whose registry information is added to the message.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that allows access to the device's registry information.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that adds data from the AWS IoT device registry to your message.

" - }, - "DeviceShadowEnrichActivity":{ - "type":"structure", - "required":[ - "name", - "attribute", - "thingName", - "roleArn" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'deviceShadowEnrich' activity.

" - }, - "attribute":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute that is added to the message.

" - }, - "thingName":{ - "shape":"AttributeName", - "documentation":"

The name of the IoT device whose shadow information is added to the message.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that allows access to the device's shadow.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that adds information from the AWS IoT Device Shadows service to a message.

" - }, - "DoubleValue":{"type":"double"}, - "EndTime":{"type":"timestamp"}, - "EntryName":{"type":"string"}, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "EstimatedResourceSize":{ - "type":"structure", - "members":{ - "estimatedSizeInBytes":{ - "shape":"SizeInBytes", - "documentation":"

The estimated size of the resource in bytes.

" - }, - "estimatedOn":{ - "shape":"Timestamp", - "documentation":"

The time when the estimate of the size of the resource was made.

" - } - }, - "documentation":"

The estimated size of the resource.

" - }, - "FilterActivity":{ - "type":"structure", - "required":[ - "name", - "filter" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'filter' activity.

" - }, - "filter":{ - "shape":"FilterExpression", - "documentation":"

An expression that looks like a SQL WHERE clause that must return a Boolean value.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that filters a message based on its attributes.

" - }, - "FilterExpression":{ - "type":"string", - "max":256, - "min":1 - }, - "GetDatasetContentRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose contents are retrieved.

", - "location":"uri", - "locationName":"datasetName" - }, - "versionId":{ - "shape":"DatasetContentVersion", - "documentation":"

The version of the data set whose contents are retrieved. You can also use the strings \"$LATEST\" or \"$LATEST_SUCCEEDED\" to retrieve the contents of the latest or latest successfully completed data set. If not specified, \"$LATEST_SUCCEEDED\" is the default.

", - "location":"querystring", - "locationName":"versionId" - } - } - }, - "GetDatasetContentResponse":{ - "type":"structure", - "members":{ - "entries":{ - "shape":"DatasetEntries", - "documentation":"

A list of \"DatasetEntry\" objects.

" - }, - "timestamp":{ - "shape":"Timestamp", - "documentation":"

The time when the request was made.

" - }, - "status":{ - "shape":"DatasetContentStatus", - "documentation":"

The status of the data set content.

" - } - } - }, - "Image":{ - "type":"string", - "max":255 - }, - "IncludeStatisticsFlag":{"type":"boolean"}, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

There was an internal failure.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The request was not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LambdaActivity":{ - "type":"structure", - "required":[ - "name", - "lambdaName", - "batchSize" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'lambda' activity.

" - }, - "lambdaName":{ - "shape":"LambdaName", - "documentation":"

The name of the Lambda function that is run on the message.

" - }, - "batchSize":{ - "shape":"ActivityBatchSize", - "documentation":"

The number of messages passed to the Lambda function for processing.

The AWS Lambda function must be able to process all of these messages within five minutes, which is the maximum timeout duration for Lambda functions.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that runs a Lambda function to modify the message.

" - }, - "LambdaName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9_-]+$" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The command caused an internal limit to be exceeded.

", - "error":{"httpStatusCode":410}, - "exception":true - }, - "ListChannelsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListChannelsResponse":{ - "type":"structure", - "members":{ - "channelSummaries":{ - "shape":"ChannelSummaries", - "documentation":"

A list of \"ChannelSummary\" objects.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - } - } - }, - "ListDatasetContentsRequest":{ - "type":"structure", - "required":["datasetName"], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose contents information you want to list.

", - "location":"uri", - "locationName":"datasetName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in this request.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListDatasetContentsResponse":{ - "type":"structure", - "members":{ - "datasetContentSummaries":{ - "shape":"DatasetContentSummaries", - "documentation":"

Summary information about data set contents that have been created.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - } - } - }, - "ListDatasetsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListDatasetsResponse":{ - "type":"structure", - "members":{ - "datasetSummaries":{ - "shape":"DatasetSummaries", - "documentation":"

A list of \"DatasetSummary\" objects.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - } - } - }, - "ListDatastoresRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListDatastoresResponse":{ - "type":"structure", - "members":{ - "datastoreSummaries":{ - "shape":"DatastoreSummaries", - "documentation":"

A list of \"DatastoreSummary\" objects.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - } - } - }, - "ListPipelinesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "ListPipelinesResponse":{ - "type":"structure", - "members":{ - "pipelineSummaries":{ - "shape":"PipelineSummaries", - "documentation":"

A list of \"PipelineSummary\" objects.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":["resourceArn"], - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN of the resource whose tags you want to list.

", - "location":"querystring", - "locationName":"resourceArn" - } - } - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"TagList", - "documentation":"

The tags (metadata) which you have assigned to the resource.

" - } - } - }, - "LogResult":{"type":"string"}, - "LoggingEnabled":{"type":"boolean"}, - "LoggingLevel":{ - "type":"string", - "enum":["ERROR"] - }, - "LoggingOptions":{ - "type":"structure", - "required":[ - "roleArn", - "level", - "enabled" - ], - "members":{ - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of the role that grants permission to AWS IoT Analytics to perform logging.

" - }, - "level":{ - "shape":"LoggingLevel", - "documentation":"

The logging level. Currently, only \"ERROR\" is supported.

" - }, - "enabled":{ - "shape":"LoggingEnabled", - "documentation":"

If true, logging is enabled for AWS IoT Analytics.

" - } - }, - "documentation":"

Information about logging options.

" - }, - "MathActivity":{ - "type":"structure", - "required":[ - "name", - "attribute", - "math" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'math' activity.

" - }, - "attribute":{ - "shape":"AttributeName", - "documentation":"

The name of the attribute that will contain the result of the math operation.

" - }, - "math":{ - "shape":"MathExpression", - "documentation":"

An expression that uses one or more existing attributes and must return an integer value.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that computes an arithmetic expression using the message's attributes.

" - }, - "MathExpression":{ - "type":"string", - "max":256, - "min":1 - }, - "MaxMessages":{ - "type":"integer", - "max":10, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":250, - "min":1 - }, - "Message":{ - "type":"structure", - "required":[ - "messageId", - "payload" - ], - "members":{ - "messageId":{ - "shape":"MessageId", - "documentation":"

The ID you wish to assign to the message. Each \"messageId\" must be unique within each batch sent.

" - }, - "payload":{ - "shape":"MessagePayload", - "documentation":"

The payload of the message. This may be a JSON string or a Base64-encoded string representing binary data (in which case you must decode it by means of a pipeline activity).

" - } - }, - "documentation":"

Information about a message.

" - }, - "MessageId":{ - "type":"string", - "max":128, - "min":1 - }, - "MessagePayload":{"type":"blob"}, - "MessagePayloads":{ - "type":"list", - "member":{"shape":"MessagePayload"}, - "max":10, - "min":1 - }, - "Messages":{ - "type":"list", - "member":{"shape":"Message"} - }, - "NextToken":{"type":"string"}, - "OffsetSeconds":{"type":"integer"}, - "OutputFileName":{ - "type":"string", - "pattern":"[\\w\\.-]{1,255}" - }, - "OutputFileUriValue":{ - "type":"structure", - "required":["fileName"], - "members":{ - "fileName":{ - "shape":"OutputFileName", - "documentation":"

The URI of the location where data set contents are stored, usually the URI of a file in an S3 bucket.

" - } - }, - "documentation":"

The URI of the location where data set contents are stored, usually the URI of a file in an S3 bucket.

" - }, - "Pipeline":{ - "type":"structure", - "members":{ - "name":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline.

" - }, - "arn":{ - "shape":"PipelineArn", - "documentation":"

The ARN of the pipeline.

" - }, - "activities":{ - "shape":"PipelineActivities", - "documentation":"

The activities that perform transformations on the messages.

" - }, - "reprocessingSummaries":{ - "shape":"ReprocessingSummaries", - "documentation":"

A summary of information about the pipeline reprocessing.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the pipeline was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

The last time the pipeline was updated.

" - } - }, - "documentation":"

Contains information about a pipeline.

" - }, - "PipelineActivities":{ - "type":"list", - "member":{"shape":"PipelineActivity"}, - "max":25, - "min":1 - }, - "PipelineActivity":{ - "type":"structure", - "members":{ - "channel":{ - "shape":"ChannelActivity", - "documentation":"

Determines the source of the messages to be processed.

" - }, - "lambda":{ - "shape":"LambdaActivity", - "documentation":"

Runs a Lambda function to modify the message.

" - }, - "datastore":{ - "shape":"DatastoreActivity", - "documentation":"

Specifies where to store the processed message data.

" - }, - "addAttributes":{ - "shape":"AddAttributesActivity", - "documentation":"

Adds other attributes based on existing attributes in the message.

" - }, - "removeAttributes":{ - "shape":"RemoveAttributesActivity", - "documentation":"

Removes attributes from a message.

" - }, - "selectAttributes":{ - "shape":"SelectAttributesActivity", - "documentation":"

Creates a new message using only the specified attributes from the original message.

" - }, - "filter":{ - "shape":"FilterActivity", - "documentation":"

Filters a message based on its attributes.

" - }, - "math":{ - "shape":"MathActivity", - "documentation":"

Computes an arithmetic expression using the message's attributes and adds it to the message.

" - }, - "deviceRegistryEnrich":{ - "shape":"DeviceRegistryEnrichActivity", - "documentation":"

Adds data from the AWS IoT device registry to your message.

" - }, - "deviceShadowEnrich":{ - "shape":"DeviceShadowEnrichActivity", - "documentation":"

Adds information from the AWS IoT Device Shadows service to a message.

" - } - }, - "documentation":"

An activity that performs a transformation on a message.

" - }, - "PipelineArn":{"type":"string"}, - "PipelineName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_]+$" - }, - "PipelineSummaries":{ - "type":"list", - "member":{"shape":"PipelineSummary"} - }, - "PipelineSummary":{ - "type":"structure", - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline.

" - }, - "reprocessingSummaries":{ - "shape":"ReprocessingSummaries", - "documentation":"

A summary of information about the pipeline reprocessing.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

When the pipeline was created.

" - }, - "lastUpdateTime":{ - "shape":"Timestamp", - "documentation":"

When the pipeline was last updated.

" - } - }, - "documentation":"

A summary of information about a pipeline.

" - }, - "PresignedURI":{"type":"string"}, - "PutLoggingOptionsRequest":{ - "type":"structure", - "required":["loggingOptions"], - "members":{ - "loggingOptions":{ - "shape":"LoggingOptions", - "documentation":"

The new values of the AWS IoT Analytics logging options.

" - } - } - }, - "QueryFilter":{ - "type":"structure", - "members":{ - "deltaTime":{ - "shape":"DeltaTime", - "documentation":"

Used to limit data to that which has arrived since the last execution of the action. When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of you message data, so that data not processed from a previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" - } - }, - "documentation":"

Information which is used to filter message data, to segregate it according to the time frame in which it arrives.

" - }, - "QueryFilters":{ - "type":"list", - "member":{"shape":"QueryFilter"}, - "max":1, - "min":0 - }, - "Reason":{"type":"string"}, - "RemoveAttributesActivity":{ - "type":"structure", - "required":[ - "name", - "attributes" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'removeAttributes' activity.

" - }, - "attributes":{ - "shape":"AttributeNames", - "documentation":"

A list of 1-50 attributes to remove from the message.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

An activity that removes attributes from a message.

" - }, - "ReprocessingId":{"type":"string"}, - "ReprocessingStatus":{ - "type":"string", - "enum":[ - "RUNNING", - "SUCCEEDED", - "CANCELLED", - "FAILED" - ] - }, - "ReprocessingSummaries":{ - "type":"list", - "member":{"shape":"ReprocessingSummary"} - }, - "ReprocessingSummary":{ - "type":"structure", - "members":{ - "id":{ - "shape":"ReprocessingId", - "documentation":"

The 'reprocessingId' returned by \"StartPipelineReprocessing\".

" - }, - "status":{ - "shape":"ReprocessingStatus", - "documentation":"

The status of the pipeline reprocessing.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The time the pipeline reprocessing was created.

" - } - }, - "documentation":"

Information about pipeline reprocessing.

" - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"}, - "resourceId":{ - "shape":"resourceId", - "documentation":"

The ID of the resource.

" - }, - "resourceArn":{ - "shape":"resourceArn", - "documentation":"

The ARN of the resource.

" - } - }, - "documentation":"

A resource with the same name already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "ResourceConfiguration":{ - "type":"structure", - "required":[ - "computeType", - "volumeSizeInGB" - ], - "members":{ - "computeType":{ - "shape":"ComputeType", - "documentation":"

The type of the compute resource used to execute the \"containerAction\". Possible values are: ACU_1 (vCPU=4, memory=16GiB) or ACU_2 (vCPU=8, memory=32GiB).

" - }, - "volumeSizeInGB":{ - "shape":"VolumeSizeInGB", - "documentation":"

The size (in GB) of the persistent storage available to the resource instance used to execute the \"containerAction\" (min: 1, max: 50).

" - } - }, - "documentation":"

The configuration of the resource used to execute the \"containerAction\".

" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

A resource with the specified name could not be found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "RetentionPeriod":{ - "type":"structure", - "members":{ - "unlimited":{ - "shape":"UnlimitedRetentionPeriod", - "documentation":"

If true, message data is kept indefinitely.

" - }, - "numberOfDays":{ - "shape":"RetentionPeriodInDays", - "documentation":"

The number of days that message data is kept. The \"unlimited\" parameter must be false.

" - } - }, - "documentation":"

How long, in days, message data is kept.

" - }, - "RetentionPeriodInDays":{ - "type":"integer", - "min":1 - }, - "RoleArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "RunPipelineActivityRequest":{ - "type":"structure", - "required":[ - "pipelineActivity", - "payloads" - ], - "members":{ - "pipelineActivity":{ - "shape":"PipelineActivity", - "documentation":"

The pipeline activity that is run. This must not be a 'channel' activity or a 'datastore' activity because these activities are used in a pipeline only to load the original message and to store the (possibly) transformed message. If a 'lambda' activity is specified, only short-running Lambda functions (those with a timeout of less than 30 seconds or less) can be used.

" - }, - "payloads":{ - "shape":"MessagePayloads", - "documentation":"

The sample message payloads on which the pipeline activity is run.

" - } - } - }, - "RunPipelineActivityResponse":{ - "type":"structure", - "members":{ - "payloads":{ - "shape":"MessagePayloads", - "documentation":"

The enriched or transformed sample message payloads as base64-encoded strings. (The results of running the pipeline activity on each input sample message payload, encoded in base64.)

" - }, - "logResult":{ - "shape":"LogResult", - "documentation":"

In case the pipeline activity fails, the log message that is generated.

" - } - } - }, - "SampleChannelDataRequest":{ - "type":"structure", - "required":["channelName"], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel whose message samples are retrieved.

", - "location":"uri", - "locationName":"channelName" - }, - "maxMessages":{ - "shape":"MaxMessages", - "documentation":"

The number of sample messages to be retrieved. The limit is 10, the default is also 10.

", - "location":"querystring", - "locationName":"maxMessages" - }, - "startTime":{ - "shape":"StartTime", - "documentation":"

The start of the time window from which sample messages are retrieved.

", - "location":"querystring", - "locationName":"startTime" - }, - "endTime":{ - "shape":"EndTime", - "documentation":"

The end of the time window from which sample messages are retrieved.

", - "location":"querystring", - "locationName":"endTime" - } - } - }, - "SampleChannelDataResponse":{ - "type":"structure", - "members":{ - "payloads":{ - "shape":"MessagePayloads", - "documentation":"

The list of message samples. Each sample message is returned as a base64-encoded string.

" - } - } - }, - "Schedule":{ - "type":"structure", - "members":{ - "expression":{ - "shape":"ScheduleExpression", - "documentation":"

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch documentation.

" - } - }, - "documentation":"

The schedule for when to trigger an update.

" - }, - "ScheduleExpression":{"type":"string"}, - "SelectAttributesActivity":{ - "type":"structure", - "required":[ - "name", - "attributes" - ], - "members":{ - "name":{ - "shape":"ActivityName", - "documentation":"

The name of the 'selectAttributes' activity.

" - }, - "attributes":{ - "shape":"AttributeNames", - "documentation":"

A list of the attributes to select from the message.

" - }, - "next":{ - "shape":"ActivityName", - "documentation":"

The next activity in the pipeline.

" - } - }, - "documentation":"

Creates a new message using only the specified attributes from the original message.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The service is temporarily unavailable.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "SizeInBytes":{"type":"double"}, - "SqlQuery":{"type":"string"}, - "SqlQueryDatasetAction":{ - "type":"structure", - "required":["sqlQuery"], - "members":{ - "sqlQuery":{ - "shape":"SqlQuery", - "documentation":"

A SQL query string.

" - }, - "filters":{ - "shape":"QueryFilters", - "documentation":"

Pre-filters applied to message data.

" - } - }, - "documentation":"

The SQL query to modify the message.

" - }, - "StartPipelineReprocessingRequest":{ - "type":"structure", - "required":["pipelineName"], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline on which to start reprocessing.

", - "location":"uri", - "locationName":"pipelineName" - }, - "startTime":{ - "shape":"StartTime", - "documentation":"

The start time (inclusive) of raw message data that is reprocessed.

" - }, - "endTime":{ - "shape":"EndTime", - "documentation":"

The end time (exclusive) of raw message data that is reprocessed.

" - } - } - }, - "StartPipelineReprocessingResponse":{ - "type":"structure", - "members":{ - "reprocessingId":{ - "shape":"ReprocessingId", - "documentation":"

The ID of the pipeline reprocessing activity that was started.

" - } - } - }, - "StartTime":{"type":"timestamp"}, - "StringValue":{ - "type":"string", - "max":1024, - "min":0 - }, - "Tag":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"TagKey", - "documentation":"

The tag's key.

" - }, - "value":{ - "shape":"TagValue", - "documentation":"

The tag's value.

" - } - }, - "documentation":"

A set of key/value pairs which are used to manage the resource.

" - }, - "TagKey":{ - "type":"string", - "max":256, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":1 - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tags" - ], - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN of the resource whose tags will be modified.

", - "location":"querystring", - "locationName":"resourceArn" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The new or modified tags for the resource.

" - } - } - }, - "TagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1 - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The request was denied due to request throttling.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "TimeExpression":{"type":"string"}, - "Timestamp":{"type":"timestamp"}, - "TriggeringDataset":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"DatasetName", - "documentation":"

The name of the data set whose content generation will trigger the new data set content generation.

" - } - }, - "documentation":"

Information about the data set whose content generation will trigger the new data set content generation.

" - }, - "UnlimitedRetentionPeriod":{"type":"boolean"}, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "resourceArn", - "tagKeys" - ], - "members":{ - "resourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN of the resource whose tags will be removed.

", - "location":"querystring", - "locationName":"resourceArn" - }, - "tagKeys":{ - "shape":"TagKeyList", - "documentation":"

The keys of those tags which will be removed.

", - "location":"querystring", - "locationName":"tagKeys" - } - } - }, - "UntagResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateChannelRequest":{ - "type":"structure", - "required":["channelName"], - "members":{ - "channelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel to be updated.

", - "location":"uri", - "locationName":"channelName" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the channel.

" - } - } - }, - "UpdateDatasetRequest":{ - "type":"structure", - "required":[ - "datasetName", - "actions" - ], - "members":{ - "datasetName":{ - "shape":"DatasetName", - "documentation":"

The name of the data set to update.

", - "location":"uri", - "locationName":"datasetName" - }, - "actions":{ - "shape":"DatasetActions", - "documentation":"

A list of \"DatasetAction\" objects.

" - }, - "triggers":{ - "shape":"DatasetTriggers", - "documentation":"

A list of \"DatasetTrigger\" objects. The list can be empty or can contain up to five DataSetTrigger objects.

" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data set.

" - } - } - }, - "UpdateDatastoreRequest":{ - "type":"structure", - "required":["datastoreName"], - "members":{ - "datastoreName":{ - "shape":"DatastoreName", - "documentation":"

The name of the data store to be updated.

", - "location":"uri", - "locationName":"datastoreName" - }, - "retentionPeriod":{ - "shape":"RetentionPeriod", - "documentation":"

How long, in days, message data is kept for the data store.

" - } - } - }, - "UpdatePipelineRequest":{ - "type":"structure", - "required":[ - "pipelineName", - "pipelineActivities" - ], - "members":{ - "pipelineName":{ - "shape":"PipelineName", - "documentation":"

The name of the pipeline to update.

", - "location":"uri", - "locationName":"pipelineName" - }, - "pipelineActivities":{ - "shape":"PipelineActivities", - "documentation":"

A list of \"PipelineActivity\" objects.

The list can be 1-25 PipelineActivity objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

" - } - } - }, - "Variable":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"VariableName", - "documentation":"

The name of the variable.

" - }, - "stringValue":{ - "shape":"StringValue", - "documentation":"

The value of the variable as a string.

" - }, - "doubleValue":{ - "shape":"DoubleValue", - "documentation":"

The value of the variable as a double (numeric).

", - "box":true - }, - "datasetContentVersionValue":{ - "shape":"DatasetContentVersionValue", - "documentation":"

The value of the variable as a structure that specifies a data set content version.

" - }, - "outputFileUriValue":{ - "shape":"OutputFileUriValue", - "documentation":"

The value of the variable as a structure that specifies an output file URI.

" - } - }, - "documentation":"

An instance of a variable to be passed to the \"containerAction\" execution. Each variable must have a name and a value given by one of \"stringValue\", \"datasetContentVersionValue\", or \"outputFileUriValue\".

" - }, - "VariableName":{ - "type":"string", - "max":256, - "min":1 - }, - "Variables":{ - "type":"list", - "member":{"shape":"Variable"}, - "max":50, - "min":0 - }, - "VolumeSizeInGB":{ - "type":"integer", - "max":50, - "min":1 - }, - "errorMessage":{"type":"string"}, - "resourceArn":{"type":"string"}, - "resourceId":{"type":"string"} - }, - "documentation":"

AWS IoT Analytics allows you to collect large amounts of device data, process messages, and store them. You can then query the data and run sophisticated analytics on it. AWS IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight.

Traditional analytics and business intelligence tools are designed to process structured data. IoT data often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result the data from these devices can have significant gaps, corrupted messages, and false readings that must be cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data from external sources.

AWS IoT Analytics automates the steps required to analyze data from IoT devices. AWS IoT Analytics filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, or perform more complex analytics and machine learning inference. AWS IoT Analytics includes pre-built models for common IoT use cases so you can answer questions like which devices are about to fail or which customers are at risk of abandoning their wearable devices.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json deleted file mode 100644 index 78176e37..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json +++ /dev/null @@ -1,426 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-30", - "endpointPrefix":"kinesisvideo", - "protocol":"rest-json", - "serviceAbbreviation":"Kinesis Video Archived Media", - "serviceFullName":"Amazon Kinesis Video Streams Archived Media", - "serviceId":"Kinesis Video Archived Media", - "signatureVersion":"v4", - "uid":"kinesis-video-archived-media-2017-09-30" - }, - "operations":{ - "GetHLSStreamingSessionURL":{ - "name":"GetHLSStreamingSessionURL", - "http":{ - "method":"POST", - "requestUri":"/getHLSStreamingSessionURL" - }, - "input":{"shape":"GetHLSStreamingSessionURLInput"}, - "output":{"shape":"GetHLSStreamingSessionURLOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"UnsupportedStreamMediaTypeException"}, - {"shape":"NoDataRetentionException"}, - {"shape":"MissingCodecPrivateDataException"}, - {"shape":"InvalidCodecPrivateDataException"} - ], - "documentation":"

Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents.

You must specify either the StreamName or the StreamARN.

An Amazon Kinesis video stream has the following requirements for providing data through HLS:

  • The media type must be video/h264.

  • Data retention must be greater than 0.

  • The fragments must contain codec private data in the AVC (Advanced Video Coding) for H.264 format (MPEG-4 specification ISO/IEC 14496-15). For information about adapting stream data to a given format, see NAL Adaptation Flags.

Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF), rather than the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification.

The following procedure shows how to use HLS with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bit rates) is made available.

  3. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video decoder and renderer. The media fragments contain H.264-encoded video frames and time stamps.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action, and additional metadata for the media player, including estimated bit rate and resolution.

    • GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream, which the media player needs to decode video frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's video frames and their time stamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data are excluded in the HLS media playlist. Therefore, the codec private data does not change between fragments in a session.

      Data retrieved with this action is billable. See Pricing for details.

The following restrictions apply to HLS sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of five active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

" - }, - "GetMediaForFragmentList":{ - "name":"GetMediaForFragmentList", - "http":{ - "method":"POST", - "requestUri":"/getMediaForFragmentList" - }, - "input":{"shape":"GetMediaForFragmentListInput"}, - "output":{"shape":"GetMediaForFragmentListOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream.

The following limits apply when using the GetMediaForFragmentList API:

  • A client can call GetMediaForFragmentList up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMediaForFragmentList session.

" - }, - "ListFragments":{ - "name":"ListFragments", - "http":{ - "method":"POST", - "requestUri":"/listFragments" - }, - "input":{"shape":"ListFragmentsInput"}, - "output":{"shape":"ListFragmentsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Returns a list of Fragment objects from the specified stream and start location within the archived data.

" - } - }, - "shapes":{ - "ClientLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ContentType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_\\.\\-]+$" - }, - "DiscontinuityMode":{ - "type":"string", - "enum":[ - "ALWAYS", - "NEVER" - ] - }, - "ErrorMessage":{"type":"string"}, - "Expires":{ - "type":"integer", - "max":43200, - "min":300 - }, - "Fragment":{ - "type":"structure", - "members":{ - "FragmentNumber":{ - "shape":"String", - "documentation":"

The index value of the fragment.

" - }, - "FragmentSizeInBytes":{ - "shape":"Long", - "documentation":"

The total fragment size, including information about the fragment and contained media data.

" - }, - "ProducerTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp from the producer corresponding to the fragment.

" - }, - "ServerTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp from the AWS server corresponding to the fragment.

" - }, - "FragmentLengthInMilliseconds":{ - "shape":"Long", - "documentation":"

The playback duration or other time value associated with the fragment.

" - } - }, - "documentation":"

Represents a segment of video or other time-delimited data.

" - }, - "FragmentList":{ - "type":"list", - "member":{"shape":"Fragment"} - }, - "FragmentNumberList":{ - "type":"list", - "member":{"shape":"FragmentNumberString"}, - "max":1000, - "min":1 - }, - "FragmentNumberString":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[0-9]+$" - }, - "FragmentSelector":{ - "type":"structure", - "required":[ - "FragmentSelectorType", - "TimestampRange" - ], - "members":{ - "FragmentSelectorType":{ - "shape":"FragmentSelectorType", - "documentation":"

The origin of the time stamps to use (Server or Producer).

" - }, - "TimestampRange":{ - "shape":"TimestampRange", - "documentation":"

The range of time stamps to return.

" - } - }, - "documentation":"

Describes the time stamp range and time stamp origin of a range of fragments.

" - }, - "FragmentSelectorType":{ - "type":"string", - "enum":[ - "PRODUCER_TIMESTAMP", - "SERVER_TIMESTAMP" - ] - }, - "GetHLSStreamingSessionURLInput":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

" - }, - "PlaybackMode":{ - "shape":"PlaybackMode", - "documentation":"

Whether to retrieve live or archived, on-demand data.

Features of the two types of session include the following:

  • LIVE : For sessions of this type, the HLS media playlist is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new playlist on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display.

    In LIVE mode, the newest available fragments are included in an HLS media playlist, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the HLS media playlist if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the playlist, the older fragment is not added, and the gap is not filled.

  • ON_DEMAND : For sessions of this type, the HLS media playlist contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The playlist must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display.

In both playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start time stamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the HLS media playlist. The other fragments are not included. Fragments that have different time stamps but have overlapping durations are still included in the HLS media playlist. This can lead to unexpected behavior in the media player.

The default is LIVE.

" - }, - "HLSFragmentSelector":{ - "shape":"HLSFragmentSelector", - "documentation":"

The time range of the requested fragment, and the source of the time stamps.

This parameter is required if PlaybackMode is ON_DEMAND. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND, both FragmentSelectorType and TimestampRange must be set.

" - }, - "DiscontinuityMode":{ - "shape":"DiscontinuityMode", - "documentation":"

Specifies when flags marking discontinuities between fragments will be added to the media playlists. The default is ALWAYS when HLSFragmentSelector is SERVER_TIMESTAMP, and NEVER when it is PRODUCER_TIMESTAMP.

Media players typically build a timeline of media content to play, based on the time stamps of each fragment. This means that if there is any overlap between fragments (as is typical if HLSFragmentSelector is SERVER_TIMESTAMP), the media player timeline has small gaps between fragments in some places, and overwrites frames in other places. When there are discontinuity flags between fragments, the media player is expected to reset the timeline, resulting in the fragment being played immediately after the previous fragment. We recommend that you always have discontinuity flags between fragments if the fragment time stamps are not accurate or if fragments might be missing. You should not place discontinuity flags between fragments for the player timeline to accurately map to the producer time stamps.

" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours).

When a session expires, no new calls to GetHLSMasterPlaylist, GetHLSMediaPlaylist, GetMP4InitFragment, or GetMP4MediaFragment can be made for that session.

The default is 300 (5 minutes).

" - }, - "MaxMediaPlaylistFragmentResults":{ - "shape":"PageLimit", - "documentation":"

The maximum number of fragments that are returned in the HLS media playlists.

When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, the oldest fragments are returned, up to this maximum number.

When there are a higher number of fragments available in a live HLS media playlist, video players often buffer content before starting playback. Increasing the buffer size increases the playback latency, but it decreases the likelihood that rebuffering will occur during playback. We recommend that a live HLS media playlist have a minimum of 3 fragments and a maximum of 10 fragments.

The default is 5 fragments if PlaybackMode is LIVE, and 1,000 if PlaybackMode is ON_DEMAND.

The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on streams with 1-second fragments, and more than 2 1/2 hours of video on streams with 10-second fragments.

" - } - } - }, - "GetHLSStreamingSessionURLOutput":{ - "type":"structure", - "members":{ - "HLSStreamingSessionURL":{ - "shape":"HLSStreamingSessionURL", - "documentation":"

The URL (containing the session token) that a media player can use to retrieve the HLS master playlist.

" - } - } - }, - "GetMediaForFragmentListInput":{ - "type":"structure", - "required":[ - "StreamName", - "Fragments" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream from which to retrieve fragment media.

" - }, - "Fragments":{ - "shape":"FragmentNumberList", - "documentation":"

A list of the numbers of fragments for which to retrieve media. You retrieve these values with ListFragments.

" - } - } - }, - "GetMediaForFragmentListOutput":{ - "type":"structure", - "members":{ - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the requested media.

", - "location":"header", - "locationName":"Content-Type" - }, - "Payload":{ - "shape":"Payload", - "documentation":"

The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the GetMediaForFragmentList call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side time stamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side time stamp of the fragment.

The following tags will be included if an exception occurs:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception

  • AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception

  • AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception

" - } - }, - "payload":"Payload" - }, - "HLSFragmentSelector":{ - "type":"structure", - "members":{ - "FragmentSelectorType":{ - "shape":"HLSFragmentSelectorType", - "documentation":"

The source of the time stamps for the requested media.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is ON_DEMAND, the first fragment ingested with a producer time stamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer time stamps within the TimestampRange ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.

Fragments that have duplicate producer time stamps are deduplicated. This means that if producers are producing a stream of fragments with producer time stamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested time stamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is LIVE, the producer time stamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server time stamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer time stamps with values now, they are not included in the HLS media playlist.

The default is SERVER_TIMESTAMP.

" - }, - "TimestampRange":{ - "shape":"HLSTimestampRange", - "documentation":"

The start and end of the time stamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" - } - }, - "documentation":"

Contains the range of time stamps for the requested media, and the source of the time stamps.

" - }, - "HLSFragmentSelectorType":{ - "type":"string", - "enum":[ - "PRODUCER_TIMESTAMP", - "SERVER_TIMESTAMP" - ] - }, - "HLSStreamingSessionURL":{"type":"string"}, - "HLSTimestampRange":{ - "type":"structure", - "members":{ - "StartTimestamp":{ - "shape":"Timestamp", - "documentation":"

The start of the time stamp range for the requested media.

If the HLSTimestampRange value is specified, the StartTimestamp value is required.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" - }, - "EndTimestamp":{ - "shape":"Timestamp", - "documentation":"

The end of the time stamp range for the requested media. This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value.

If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

If the HLSTimestampRange value is specified, the EndTimestamp value is required.

This value is inclusive. The EndTimestamp is compared to the (starting) time stamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" - } - }, - "documentation":"

The start and end of the time stamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

The values in the HLSTimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

A specified parameter exceeds its restrictions, is not supported, or can't be used.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidCodecPrivateDataException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The Codec Private Data in the video stream is not valid for this operation.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ListFragmentsInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream from which to retrieve a fragment list.

" - }, - "MaxResults":{ - "shape":"PageLimit", - "documentation":"

The total number of fragments to return. If the total number of fragments available is more than the value specified in max-results, then a ListFragmentsOutput$NextToken is provided in the output that you can use to resume pagination.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

A token to specify where to start paginating. This is the ListFragmentsOutput$NextToken from a previously truncated response.

" - }, - "FragmentSelector":{ - "shape":"FragmentSelector", - "documentation":"

Describes the time stamp range and time stamp origin for the range of fragments to return.

" - } - } - }, - "ListFragmentsOutput":{ - "type":"structure", - "members":{ - "Fragments":{ - "shape":"FragmentList", - "documentation":"

A list of fragment numbers that correspond to the time stamp range provided.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

If the returned list is truncated, the operation returns this token to use to retrieve the next page of results. This value is null when there are no more results to return.

" - } - } - }, - "Long":{"type":"long"}, - "MissingCodecPrivateDataException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

No Codec Private Data was found in the video stream.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NoDataRetentionException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

A PlaybackMode of ON_DEMAND was requested for a stream that does not retain data (that is, has a DataRetentionInHours of 0).

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "PageLimit":{ - "type":"long", - "max":1000, - "min":1 - }, - "Payload":{ - "type":"blob", - "streaming":true - }, - "PlaybackMode":{ - "type":"string", - "enum":[ - "LIVE", - "ON_DEMAND" - ] - }, - "ResourceARN":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

GetMedia throws this error when Kinesis Video Streams can't find the stream that you specified.

GetHLSStreamingSessionURL throws this error if a session with a PlaybackMode of ON_DEMAND is requested for a stream that has no fragments within the requested time range, or if a session with a PlaybackMode of LIVE is requested for a stream that has no fragments within the last 30 seconds.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "StreamName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "String":{ - "type":"string", - "min":1 - }, - "Timestamp":{"type":"timestamp"}, - "TimestampRange":{ - "type":"structure", - "required":[ - "StartTimestamp", - "EndTimestamp" - ], - "members":{ - "StartTimestamp":{ - "shape":"Timestamp", - "documentation":"

The starting time stamp in the range of time stamps for which to return fragments.

" - }, - "EndTimestamp":{ - "shape":"Timestamp", - "documentation":"

The ending time stamp in the range of time stamps for which to return fragments.

" - } - }, - "documentation":"

The range of time stamps for which to return fragments.

" - }, - "UnsupportedStreamMediaTypeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An HLS streaming session was requested for a stream with a media type that is not video/h264.

", - "error":{"httpStatusCode":400}, - "exception":true - } - }, - "documentation":"

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/service-2.json deleted file mode 100644 index fe307b52..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis-video-media/2017-09-30/service-2.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-30", - "endpointPrefix":"kinesisvideo", - "protocol":"rest-json", - "serviceAbbreviation":"Kinesis Video Media", - "serviceFullName":"Amazon Kinesis Video Streams Media", - "serviceId":"Kinesis Video Media", - "signatureVersion":"v4", - "uid":"kinesis-video-media-2017-09-30" - }, - "operations":{ - "GetMedia":{ - "name":"GetMedia", - "http":{ - "method":"POST", - "requestUri":"/getMedia" - }, - "input":{"shape":"GetMediaInput"}, - "output":{"shape":"GetMediaOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidEndpointException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"ConnectionLimitExceededException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Use this API to retrieve media content from a Kinesis video stream. In the request, you identify stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number.

You must first call the GetDataEndpoint API to get an endpoint to which you can then send the GetMedia requests.

When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a \"chunk.\" For more information, see . The GetMedia API returns a stream of these chunks starting from the chunk that you specify in the request.

The following limits apply when using the GetMedia API:

  • A client can call GetMedia up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session.

" - } - }, - "shapes":{ - "ClientLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ConnectionLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client connections.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ContentType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_\\.\\-]+$" - }, - "ContinuationToken":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[a-zA-Z0-9_\\.\\-]+$" - }, - "ErrorMessage":{"type":"string"}, - "FragmentNumberString":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[0-9]+$" - }, - "GetMediaInput":{ - "type":"structure", - "required":["StartSelector"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The Kinesis video stream name from where you want to get the media content. If you don't specify the streamName, you must specify the streamARN.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN of the stream from where you want to get the media content. If you don't specify the streamARN, you must specify the streamName.

" - }, - "StartSelector":{ - "shape":"StartSelector", - "documentation":"

Identifies the starting chunk to get from the specified stream.

" - } - } - }, - "GetMediaOutput":{ - "type":"structure", - "members":{ - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the requested media.

", - "location":"header", - "locationName":"Content-Type" - }, - "Payload":{ - "shape":"Payload", - "documentation":"

The payload Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see . The chunks that Kinesis Video Streams returns in the GetMedia call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - In the event your GetMedia call terminates, you can use this continuation token in your next request to get the next chunk where the last request terminated.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 string) - Client applications can use this tag value to determine how far behind the chunk returned in the response is from the latest chunk on the stream.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Server time stamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Producer time stamp of the fragment.

The following tags will be present if an error occurs:

  • AWS_KINESISVIDEO_ERROR_CODE - String description of an error that caused GetMedia to stop.

  • AWS_KINESISVIDEO_ERROR_ID: Integer code of the error.

The error codes are as follows:

  • 3002 - Error writing to the stream

  • 4000 - Requested fragment is not found

  • 4500 - Access denied for the stream's KMS key

  • 4501 - Stream's KMS key is disabled

  • 4502 - Validation error on the Stream's KMS key

  • 4503 - KMS key specified in the stream is unavailable

  • 4504 - Invalid usage of the KMS key specified in the stream

  • 4505 - Invalid state of the KMS key specified in the stream

  • 4506 - Unable to find the KMS key specified in the stream

  • 5000 - Internal error

" - } - }, - "payload":"Payload" - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The value for this input parameter is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidEndpointException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Status Code: 400, Caller used wrong endpoint to write data to a stream. On receiving such an exception, the user must call GetDataEndpoint with AccessMode set to \"READ\" and use the endpoint Kinesis Video returns in the next GetMedia call.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "Payload":{ - "type":"blob", - "streaming":true - }, - "ResourceARN":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Status Code: 404, The stream with the given name does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "StartSelector":{ - "type":"structure", - "required":["StartSelectorType"], - "members":{ - "StartSelectorType":{ - "shape":"StartSelectorType", - "documentation":"

Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

  • NOW - Start with the latest chunk on the stream.

  • EARLIEST - Start with earliest available chunk on the stream.

  • FRAGMENT_NUMBER - Start with the chunk containing the specific fragment. You must also specify the StartFragmentNumber.

  • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server time stamp. You specify the time stamp by adding StartTimestamp.

  • CONTINUATION_TOKEN - Read using the specified continuation token.

If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

" - }, - "AfterFragmentNumber":{ - "shape":"FragmentNumberString", - "documentation":"

Specifies the fragment number from where you want the GetMedia API to start returning the fragments.

" - }, - "StartTimestamp":{ - "shape":"Timestamp", - "documentation":"

A time stamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified time stamp.

" - }, - "ContinuationToken":{ - "shape":"ContinuationToken", - "documentation":"

Continuation token that Kinesis Video Streams returned in the previous GetMedia response. The GetMedia API then starts with the chunk identified by the continuation token.

" - } - }, - "documentation":"

Identifies the chunk on the Kinesis video stream where you want the GetMedia API to start returning media data. You have the following options to identify the starting chunk:

  • Choose the latest (or oldest) chunk.

  • Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or time stamp (server or producer).

  • Each chunk's metadata includes a continuation token as a Matroska (MKV) tag (AWS_KINESISVIDEO_CONTINUATION_TOKEN). If your previous GetMedia request terminated, you can use this tag value in your next GetMedia request. The API then starts returning chunks starting where the last API ended.

" - }, - "StartSelectorType":{ - "type":"string", - "enum":[ - "FRAGMENT_NUMBER", - "SERVER_TIMESTAMP", - "PRODUCER_TIMESTAMP", - "NOW", - "EARLIEST", - "CONTINUATION_TOKEN" - ] - }, - "StreamName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "Timestamp":{"type":"timestamp"} - }, - "documentation":"

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/paginators-1.json deleted file mode 100644 index 5f6d0a45..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "DescribeStream": { - "input_token": "ExclusiveStartShardId", - "limit_key": "Limit", - "more_results": "StreamDescription.HasMoreShards", - "output_token": "StreamDescription.Shards[-1].ShardId", - "result_key": "StreamDescription.Shards", - "non_aggregate_keys": [ - "StreamDescription.StreamARN", - "StreamDescription.StreamName", - "StreamDescription.StreamStatus", - "StreamDescription.RetentionPeriodHours", - "StreamDescription.EnhancedMonitoring", - "StreamDescription.EncryptionType", - "StreamDescription.KeyId", - "StreamDescription.StreamCreationTimestamp" - ] - }, - "ListStreams": { - "input_token": "ExclusiveStartStreamName", - "limit_key": "Limit", - "more_results": "HasMoreStreams", - "output_token": "StreamNames[-1]", - "result_key": "StreamNames" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/service-2.json deleted file mode 100644 index 21eb2c60..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/service-2.json +++ /dev/null @@ -1,2005 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-12-02", - "endpointPrefix":"kinesis", - "jsonVersion":"1.1", - "protocol":"json", - "protocolSettings":{"h2":"eventstream"}, - "serviceAbbreviation":"Kinesis", - "serviceFullName":"Amazon Kinesis", - "serviceId":"Kinesis", - "signatureVersion":"v4", - "targetPrefix":"Kinesis_20131202", - "uid":"kinesis-2013-12-02" - }, - "operations":{ - "AddTagsToStream":{ - "name":"AddTagsToStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToStreamInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Adds or updates tags for the specified Kinesis data stream. Each time you invoke this operation, you can specify up to 10 tags. If you want to add more than 10 tags to your stream, you can invoke this operation multiple times. In total, each stream can have up to 50 tags.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

AddTagsToStream has a limit of five transactions per second per account.

" - }, - "CreateStream":{ - "name":"CreateStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStreamInput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Creates a Kinesis data stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. If the amount of data input increases or decreases, you can add or remove shards.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by AWS Region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different Regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request when you try to do one of the following:

  • Have more than five streams in the CREATING state at any point in time.

  • Create more shards than are authorized for your account.

For the default shard limit for an AWS account, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of five transactions per second per account.

" - }, - "DecreaseStreamRetentionPeriod":{ - "name":"DecreaseStreamRetentionPeriod", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DecreaseStreamRetentionPeriodInput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Decreases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours.

This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

" - }, - "DeleteStream":{ - "name":"DeleteStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStreamInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes a Kinesis data stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it receives the exception ResourceNotFoundException.

If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

Note: Kinesis Data Streams might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete.

When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

You can use the DescribeStream operation to check the state of the stream, which is returned in StreamStatus.

DeleteStream has a limit of five transactions per second per account.

" - }, - "DeregisterStreamConsumer":{ - "name":"DeregisterStreamConsumer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterStreamConsumerInput"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

To deregister a consumer, provide its ARN. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its name and ARN.

This operation has a limit of five transactions per second per account.

" - }, - "DescribeLimits":{ - "name":"DescribeLimits", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLimitsInput"}, - "output":{"shape":"DescribeLimitsOutput"}, - "errors":[ - {"shape":"LimitExceededException"} - ], - "documentation":"

Describes the shard limits and usage for the account.

If you update your account limits, the old limits might be returned for a few minutes.

This operation has a limit of one transaction per second per account.

" - }, - "DescribeStream":{ - "name":"DescribeStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStreamInput"}, - "output":{"shape":"DescribeStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Describes the specified Kinesis data stream.

The information returned includes the stream name, Amazon Resource Name (ARN), creation time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. For each shard object, there is the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. Every record ingested in the stream is identified by a sequence number, which is assigned when the record is put into the stream.

You can limit the number of shards returned by each call. For more information, see Retrieving Shards from a Stream in the Amazon Kinesis Data Streams Developer Guide.

There are no guarantees about the chronological order shards returned. To process shards in chronological order, use the ID of the parent shard to track the lineage to the oldest shard.

This operation has a limit of 10 transactions per second per account.

" - }, - "DescribeStreamConsumer":{ - "name":"DescribeStreamConsumer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStreamConsumerInput"}, - "output":{"shape":"DescribeStreamConsumerOutput"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

To get the description of a registered consumer, provide the ARN of the consumer. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to describe, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream.

This operation has a limit of 20 transactions per second per account.

" - }, - "DescribeStreamSummary":{ - "name":"DescribeStreamSummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStreamSummaryInput"}, - "output":{"shape":"DescribeStreamSummaryOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Provides a summarized description of the specified Kinesis data stream without the shard list.

The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation time, monitoring, encryption details, and open shard count.

" - }, - "DisableEnhancedMonitoring":{ - "name":"DisableEnhancedMonitoring", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableEnhancedMonitoringInput"}, - "output":{"shape":"EnhancedMonitoringOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disables enhanced monitoring.

" - }, - "EnableEnhancedMonitoring":{ - "name":"EnableEnhancedMonitoring", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableEnhancedMonitoringInput"}, - "output":{"shape":"EnhancedMonitoringOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Enables enhanced Kinesis data stream monitoring for shard-level metrics.

" - }, - "GetRecords":{ - "name":"GetRecords", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRecordsInput"}, - "output":{"shape":"GetRecordsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ExpiredIteratorException"}, - {"shape":"KMSDisabledException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"KMSAccessDeniedException"}, - {"shape":"KMSNotFoundException"}, - {"shape":"KMSOptInRequired"}, - {"shape":"KMSThrottlingException"} - ], - "documentation":"

Gets data records from a Kinesis data stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MiB in size, and each shard can read up to 2 MiB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The maximum number of records that can be returned per call is 10,000.

The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MiB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the stream, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't return any data when it throws an exception. For this reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Data Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side time stamp, whereas a client-side time stamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The time stamp has millisecond precision. There are no guarantees about the time stamp accuracy, or that the time stamp is always increasing. For example, records in a shard or across a stream might have time stamps that are out of order.

This operation has a limit of five transactions per second per account.

" - }, - "GetShardIterator":{ - "name":"GetShardIterator", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetShardIteratorInput"}, - "output":{"shape":"GetShardIteratorOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it is returned to the requester.

A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. Alternatively, the parameter can read right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers returned by earlier calls to PutRecord, PutRecords, GetRecords, or DescribeStream. In the request, you can specify the shard iterator type AT_TIMESTAMP to read records from an arbitrary point in time, TRIM_HORIZON to cause ShardIterator to point to the last untrimmed record in the shard in the system (the oldest data record in the shard), or LATEST so that you always read the most recent data in the shard.

When you read repeatedly from a stream, use a GetShardIterator request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard iterator is returned by every GetRecords request in NextShardIterator, which you use in the ShardIterator parameter of the next GetRecords request.

If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. For more information about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Data Streams Developer Guide.

If the shard is closed, GetShardIterator returns a valid iterator for the last sequence number of the shard. A shard can be closed as a result of using SplitShard or MergeShards.

GetShardIterator has a limit of five transactions per second per account per open shard.

" - }, - "IncreaseStreamRetentionPeriod":{ - "name":"IncreaseStreamRetentionPeriod", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IncreaseStreamRetentionPeriodInput"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Increases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days).

If you choose a longer stream retention period, this operation increases the time period during which records that have not yet expired are accessible. However, it does not make previous, expired data (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours remains inaccessible to consumer applications.

" - }, - "ListShards":{ - "name":"ListShards", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListShardsInput"}, - "output":{"shape":"ListShardsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ExpiredNextTokenException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Lists the shards in a stream and provides information about each shard. This operation has a limit of 100 transactions per second per data stream.

This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). If you have a fine-grained IAM policy that only allows specific operations, you must update your policy to allow calls to this API. For more information, see Controlling Access to Amazon Kinesis Data Streams Resources Using IAM.

" - }, - "ListStreamConsumers":{ - "name":"ListStreamConsumers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStreamConsumersInput"}, - "output":{"shape":"ListStreamConsumersOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ExpiredNextTokenException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Lists the consumers registered to receive data from a stream using enhanced fan-out, and provides information about each consumer.

This operation has a limit of 10 transactions per second per account.

" - }, - "ListStreams":{ - "name":"ListStreams", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStreamsInput"}, - "output":{"shape":"ListStreamsOutput"}, - "errors":[ - {"shape":"LimitExceededException"} - ], - "documentation":"

Lists your Kinesis data streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis Data Streams uses the default limit, which is currently 10.

You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list.

ListStreams has a limit of five transactions per second per account.

" - }, - "ListTagsForStream":{ - "name":"ListTagsForStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForStreamInput"}, - "output":{"shape":"ListTagsForStreamOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account.

" - }, - "MergeShards":{ - "name":"MergeShards", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MergeShardsInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Merges two adjacent shards in a Kinesis data stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Data Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStream to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Kinesis Data Streams sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStream to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException.

MergeShards has a limit of five transactions per second per account.

" - }, - "PutRecord":{ - "name":"PutRecord", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRecordInput"}, - "output":{"shape":"PutRecordOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"KMSDisabledException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"KMSAccessDeniedException"}, - {"shape":"KMSNotFoundException"}, - {"shape":"KMSOptInRequired"}, - {"shape":"KMSThrottlingException"} - ], - "documentation":"

Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs.

Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record.

Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

" - }, - "PutRecords":{ - "name":"PutRecords", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRecordsInput"}, - "output":{"shape":"PutRecordsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"KMSDisabledException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"KMSAccessDeniedException"}, - {"shape":"KMSNotFoundException"}, - {"shape":"KMSOptInRequired"}, - {"shape":"KMSThrottlingException"} - ], - "documentation":"

Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing.

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array.

The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream.

An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

" - }, - "RegisterStreamConsumer":{ - "name":"RegisterStreamConsumer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterStreamConsumerInput"}, - "output":{"shape":"RegisterStreamConsumerOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers a consumer with a Kinesis data stream. When you use this operation, the consumer you register can read data from the stream at a rate of up to 2 MiB per second. This rate is unaffected by the total number of consumers that read from the same stream.

You can register up to 5 consumers per stream. A given consumer can only be registered with one stream.

This operation has a limit of five transactions per second per account.

" - }, - "RemoveTagsFromStream":{ - "name":"RemoveTagsFromStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromStreamInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Removes tags from the specified Kinesis data stream. Removed tags are deleted and cannot be recovered after this operation successfully completes.

If you specify a tag that does not exist, it is ignored.

RemoveTagsFromStream has a limit of five transactions per second per account.

" - }, - "SplitShard":{ - "name":"SplitShard", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SplitShardInput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Splits a shard into two new shards in the Kinesis data stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis Data Streams applications can simultaneously read data from the stream for real-time processing.

You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information, see Split a Shard in the Amazon Kinesis Data Streams Developer Guide.

You can use DescribeStream to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Kinesis Data Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis Data Streams sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. If a stream is in CREATING or UPDATING or DELETING states, DescribeStream returns a ResourceInUseException.

If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

For the default shard limit for an AWS account, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException.

SplitShard has a limit of five transactions per second per account.

" - }, - "StartStreamEncryption":{ - "name":"StartStreamEncryption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartStreamEncryptionInput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"KMSDisabledException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"KMSAccessDeniedException"}, - {"shape":"KMSNotFoundException"}, - {"shape":"KMSOptInRequired"}, - {"shape":"KMSThrottlingException"} - ], - "documentation":"

Enables or updates server-side encryption using an AWS KMS key for a specified stream.

Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, encryption begins for records written to the stream.

API Limits: You can successfully apply a new AWS KMS key for server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from PutRecord or PutRecords.

" - }, - "StopStreamEncryption":{ - "name":"StopStreamEncryption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopStreamEncryptionInput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disables server-side encryption for a specified stream.

Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Stopping encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, records written to the stream are no longer encrypted by Kinesis Data Streams.

API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are no longer subject to encryption. After you disabled encryption, you can verify that encryption is not applied by inspecting the API response from PutRecord or PutRecords.

" - }, - "SubscribeToShard":{ - "name":"SubscribeToShard", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubscribeToShardInput"}, - "output":{"shape":"SubscribeToShardOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceInUseException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Call this operation from your consumer after you call RegisterStreamConsumer to register the consumer with Kinesis Data Streams. If the call succeeds, your consumer starts receiving events of type SubscribeToShardEvent for up to 5 minutes, after which time you need to call SubscribeToShard again to renew the subscription if you want to continue to receive records.

You can make one call to SubscribeToShard per second per ConsumerARN. If your call succeeds, and then you call the operation again less than 5 seconds later, the second call generates a ResourceInUseException. If you call the operation a second time more than 5 seconds after the first call succeeds, the second call succeeds and the first connection gets shut down.

" - }, - "UpdateShardCount":{ - "name":"UpdateShardCount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateShardCountInput"}, - "output":{"shape":"UpdateShardCountOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the shard count of the specified stream to the specified number of shards.

Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING.

To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. We recommend that you double or halve the shard count, as this results in the fewest number of splits or merges.

This operation has the following default limits. By default, you cannot do the following:

  • Scale more than twice per rolling 24-hour period per stream

  • Scale up to more than double your current shard count for a stream

  • Scale down below half your current shard count for a stream

  • Scale up to more than 500 shards in a stream

  • Scale a stream with more than 500 shards down unless the result is less than 500 shards

  • Scale up to more than the shard limit for your account

For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form.

" - } - }, - "shapes":{ - "AddTagsToStreamInput":{ - "type":"structure", - "required":[ - "StreamName", - "Tags" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "Tags":{ - "shape":"TagMap", - "documentation":"

A set of up to 10 key-value pairs to use to create the tags.

" - } - }, - "documentation":"

Represents the input for AddTagsToStream.

" - }, - "BooleanObject":{"type":"boolean"}, - "Consumer":{ - "type":"structure", - "required":[ - "ConsumerName", - "ConsumerARN", - "ConsumerStatus", - "ConsumerCreationTimestamp" - ], - "members":{ - "ConsumerName":{ - "shape":"ConsumerName", - "documentation":"

The name of the consumer is something you choose when you register the consumer.

" - }, - "ConsumerARN":{ - "shape":"ConsumerARN", - "documentation":"

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call SubscribeToShard.

If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.

" - }, - "ConsumerStatus":{ - "shape":"ConsumerStatus", - "documentation":"

A consumer can't read data while in the CREATING or DELETING states.

" - }, - "ConsumerCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

" - } - }, - "documentation":"

An object that represents the details of the consumer you registered.

" - }, - "ConsumerARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"^(arn):aws.*:kinesis:.*:\\d{12}:.*stream\\/[a-zA-Z0-9_.-]+\\/consumer\\/[a-zA-Z0-9_.-]+:[0-9]+" - }, - "ConsumerCountObject":{ - "type":"integer", - "max":1000000, - "min":0 - }, - "ConsumerDescription":{ - "type":"structure", - "required":[ - "ConsumerName", - "ConsumerARN", - "ConsumerStatus", - "ConsumerCreationTimestamp", - "StreamARN" - ], - "members":{ - "ConsumerName":{ - "shape":"ConsumerName", - "documentation":"

The name of the consumer is something you choose when you register the consumer.

" - }, - "ConsumerARN":{ - "shape":"ConsumerARN", - "documentation":"

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call SubscribeToShard.

If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.

" - }, - "ConsumerStatus":{ - "shape":"ConsumerStatus", - "documentation":"

A consumer can't read data while in the CREATING or DELETING states.

" - }, - "ConsumerCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

" - }, - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The ARN of the stream with which you registered the consumer.

" - } - }, - "documentation":"

An object that represents the details of a registered consumer.

" - }, - "ConsumerList":{ - "type":"list", - "member":{"shape":"Consumer"} - }, - "ConsumerName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "ConsumerStatus":{ - "type":"string", - "enum":[ - "CREATING", - "DELETING", - "ACTIVE" - ] - }, - "CreateStreamInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardCount" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by AWS Region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different Regions can also have the same name.

" - }, - "ShardCount":{ - "shape":"PositiveIntegerObject", - "documentation":"

The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater provisioned throughput.

DefaultShardLimit;

" - } - }, - "documentation":"

Represents the input for CreateStream.

" - }, - "Data":{ - "type":"blob", - "max":1048576, - "min":0 - }, - "DecreaseStreamRetentionPeriodInput":{ - "type":"structure", - "required":[ - "StreamName", - "RetentionPeriodHours" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to modify.

" - }, - "RetentionPeriodHours":{ - "shape":"RetentionPeriodHours", - "documentation":"

The new retention period of the stream, in hours. Must be less than the current retention period.

" - } - }, - "documentation":"

Represents the input for DecreaseStreamRetentionPeriod.

" - }, - "DeleteStreamInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to delete.

" - }, - "EnforceConsumerDeletion":{ - "shape":"BooleanObject", - "documentation":"

If this parameter is unset (null) or if you set it to false, and the stream has registered consumers, the call to DeleteStream fails with a ResourceInUseException.

" - } - }, - "documentation":"

Represents the input for DeleteStream.

" - }, - "DeregisterStreamConsumerInput":{ - "type":"structure", - "members":{ - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ConsumerName":{ - "shape":"ConsumerName", - "documentation":"

The name that you gave to the consumer.

" - }, - "ConsumerARN":{ - "shape":"ConsumerARN", - "documentation":"

The ARN returned by Kinesis Data Streams when you registered the consumer. If you don't know the ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its ARN.

" - } - } - }, - "DescribeLimitsInput":{ - "type":"structure", - "members":{ - } - }, - "DescribeLimitsOutput":{ - "type":"structure", - "required":[ - "ShardLimit", - "OpenShardCount" - ], - "members":{ - "ShardLimit":{ - "shape":"ShardCountObject", - "documentation":"

The maximum number of shards.

" - }, - "OpenShardCount":{ - "shape":"ShardCountObject", - "documentation":"

The number of open shards.

" - } - } - }, - "DescribeStreamConsumerInput":{ - "type":"structure", - "members":{ - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ConsumerName":{ - "shape":"ConsumerName", - "documentation":"

The name that you gave to the consumer.

" - }, - "ConsumerARN":{ - "shape":"ConsumerARN", - "documentation":"

The ARN returned by Kinesis Data Streams when you registered the consumer.

" - } - } - }, - "DescribeStreamConsumerOutput":{ - "type":"structure", - "required":["ConsumerDescription"], - "members":{ - "ConsumerDescription":{ - "shape":"ConsumerDescription", - "documentation":"

An object that represents the details of the consumer.

" - } - } - }, - "DescribeStreamInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to describe.

" - }, - "Limit":{ - "shape":"DescribeStreamInputLimit", - "documentation":"

The maximum number of shards to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 shards are returned.

" - }, - "ExclusiveStartShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard to start with.

" - } - }, - "documentation":"

Represents the input for DescribeStream.

" - }, - "DescribeStreamInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "DescribeStreamOutput":{ - "type":"structure", - "required":["StreamDescription"], - "members":{ - "StreamDescription":{ - "shape":"StreamDescription", - "documentation":"

The current status of the stream, the stream Amazon Resource Name (ARN), an array of shard objects that comprise the stream, and whether there are more shards available.

" - } - }, - "documentation":"

Represents the output for DescribeStream.

" - }, - "DescribeStreamSummaryInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to describe.

" - } - } - }, - "DescribeStreamSummaryOutput":{ - "type":"structure", - "required":["StreamDescriptionSummary"], - "members":{ - "StreamDescriptionSummary":{ - "shape":"StreamDescriptionSummary", - "documentation":"

A StreamDescriptionSummary containing information about the stream.

" - } - } - }, - "DisableEnhancedMonitoringInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardLevelMetrics" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the Kinesis data stream for which to disable enhanced monitoring.

" - }, - "ShardLevelMetrics":{ - "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics to disable.

The following are the valid shard-level metrics. The value \"ALL\" disables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" - } - }, - "documentation":"

Represents the input for DisableEnhancedMonitoring.

" - }, - "EnableEnhancedMonitoringInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardLevelMetrics" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream for which to enable enhanced monitoring.

" - }, - "ShardLevelMetrics":{ - "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics to enable.

The following are the valid shard-level metrics. The value \"ALL\" enables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" - } - }, - "documentation":"

Represents the input for EnableEnhancedMonitoring.

" - }, - "EncryptionType":{ - "type":"string", - "enum":[ - "NONE", - "KMS" - ] - }, - "EnhancedMetrics":{ - "type":"structure", - "members":{ - "ShardLevelMetrics":{ - "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics.

The following are the valid shard-level metrics. The value \"ALL\" enhances every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" - } - }, - "documentation":"

Represents enhanced metrics types.

" - }, - "EnhancedMonitoringList":{ - "type":"list", - "member":{"shape":"EnhancedMetrics"} - }, - "EnhancedMonitoringOutput":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the Kinesis data stream.

" - }, - "CurrentShardLevelMetrics":{ - "shape":"MetricsNameList", - "documentation":"

Represents the current state of the metrics that are in the enhanced state before the operation.

" - }, - "DesiredShardLevelMetrics":{ - "shape":"MetricsNameList", - "documentation":"

Represents the list of all the metrics that would be in the enhanced state after the operation.

" - } - }, - "documentation":"

Represents the output for EnableEnhancedMonitoring and DisableEnhancedMonitoring.

" - }, - "ErrorCode":{"type":"string"}, - "ErrorMessage":{"type":"string"}, - "ExpiredIteratorException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The provided iterator exceeds the maximum age allowed.

", - "exception":true - }, - "ExpiredNextTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The pagination token passed to the operation is expired.

", - "exception":true - }, - "GetRecordsInput":{ - "type":"structure", - "required":["ShardIterator"], - "members":{ - "ShardIterator":{ - "shape":"ShardIterator", - "documentation":"

The position in the shard from which you want to start sequentially reading data records. A shard iterator specifies this position using the sequence number of a data record in the shard.

" - }, - "Limit":{ - "shape":"GetRecordsInputLimit", - "documentation":"

The maximum number of records to return. Specify a value of up to 10,000. If you specify a value that is greater than 10,000, GetRecords throws InvalidArgumentException.

" - } - }, - "documentation":"

Represents the input for GetRecords.

" - }, - "GetRecordsInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "GetRecordsOutput":{ - "type":"structure", - "required":["Records"], - "members":{ - "Records":{ - "shape":"RecordList", - "documentation":"

The data records retrieved from the shard.

" - }, - "NextShardIterator":{ - "shape":"ShardIterator", - "documentation":"

The next position in the shard from which to start sequentially reading data records. If set to null, the shard has been closed and the requested iterator does not return any more data.

" - }, - "MillisBehindLatest":{ - "shape":"MillisBehindLatest", - "documentation":"

The number of milliseconds the GetRecords response is from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.

" - } - }, - "documentation":"

Represents the output for GetRecords.

" - }, - "GetShardIteratorInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardId", - "ShardIteratorType" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis data stream.

" - }, - "ShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the Kinesis Data Streams shard to get the iterator for.

" - }, - "ShardIteratorType":{ - "shape":"ShardIteratorType", - "documentation":"

Determines how the shard iterator is used to start reading data records from the shard.

The following are the valid Amazon Kinesis shard iterator types:

  • AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AT_TIMESTAMP - Start reading from the position denoted by a specific time stamp, provided in the value Timestamp.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.

  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

" - }, - "StartingSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The sequence number of the data record in the shard from which to start reading. Used with shard iterator type AT_SEQUENCE_NUMBER and AFTER_SEQUENCE_NUMBER.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time stamp of the data record from which to start reading. Used with shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a record with this exact time stamp does not exist, the iterator returned is for the next (later) record. If the time stamp is older than the current trim horizon, the iterator returned is for the oldest untrimmed data record (TRIM_HORIZON).

" - } - }, - "documentation":"

Represents the input for GetShardIterator.

" - }, - "GetShardIteratorOutput":{ - "type":"structure", - "members":{ - "ShardIterator":{ - "shape":"ShardIterator", - "documentation":"

The position in the shard from which to start reading data records sequentially. A shard iterator specifies this position using the sequence number of a data record in a shard.

" - } - }, - "documentation":"

Represents the output for GetShardIterator.

" - }, - "HashKey":{ - "type":"string", - "pattern":"0|([1-9]\\d{0,38})" - }, - "HashKeyRange":{ - "type":"structure", - "required":[ - "StartingHashKey", - "EndingHashKey" - ], - "members":{ - "StartingHashKey":{ - "shape":"HashKey", - "documentation":"

The starting hash key of the hash key range.

" - }, - "EndingHashKey":{ - "shape":"HashKey", - "documentation":"

The ending hash key of the hash key range.

" - } - }, - "documentation":"

The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.

" - }, - "IncreaseStreamRetentionPeriodInput":{ - "type":"structure", - "required":[ - "StreamName", - "RetentionPeriodHours" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to modify.

" - }, - "RetentionPeriodHours":{ - "shape":"RetentionPeriodHours", - "documentation":"

The new retention period of the stream, in hours. Must be more than the current retention period.

" - } - }, - "documentation":"

Represents the input for IncreaseStreamRetentionPeriod.

" - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true, - "fault":true - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.

", - "exception":true - }, - "KMSAccessDeniedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The ciphertext references a key that doesn't exist or that you don't have access to.

", - "exception":true - }, - "KMSDisabledException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The request was rejected because the specified customer master key (CMK) isn't enabled.

", - "exception":true - }, - "KMSInvalidStateException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", - "exception":true - }, - "KMSNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The request was rejected because the specified entity or resource can't be found.

", - "exception":true - }, - "KMSOptInRequired":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The AWS access key ID needs a subscription for the service.

", - "exception":true - }, - "KMSThrottlingException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", - "exception":true - }, - "KeyId":{ - "type":"string", - "max":2048, - "min":1 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.

", - "exception":true - }, - "ListShardsInput":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the data stream whose shards you want to list.

You cannot specify this parameter if you specify the NextToken parameter.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

When the number of shards in the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of shards in the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListShards to list the next set of shards.

Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream.

You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of shards that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListShards operation.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListShards, you have 300 seconds to use that value. If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException.

" - }, - "ExclusiveStartShardId":{ - "shape":"ShardId", - "documentation":"

Specify this parameter to indicate that you want to list the shards starting with the shard whose ID immediately follows ExclusiveStartShardId.

If you don't specify this parameter, the default behavior is for ListShards to list the shards starting with the first one in the stream.

You cannot specify this parameter if you specify NextToken.

" - }, - "MaxResults":{ - "shape":"ListShardsInputLimit", - "documentation":"

The maximum number of shards to return in a single call to ListShards. The minimum value you can specify for this parameter is 1, and the maximum is 1,000, which is also the default.

When the number of shards to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListShards to list the next set of shards.

" - }, - "StreamCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the shards for.

You cannot specify this parameter if you specify the NextToken parameter.

" - } - } - }, - "ListShardsInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ListShardsOutput":{ - "type":"structure", - "members":{ - "Shards":{ - "shape":"ShardList", - "documentation":"

An array of JSON objects. Each object represents one shard and specifies the IDs of the shard, the shard's parent, and the shard that's adjacent to the shard's parent. Each object also contains the starting and ending hash keys and the starting and ending sequence numbers for the shard.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

When the number of shards in the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of shards in the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListShards to list the next set of shards. For more information about the use of this pagination token when calling the ListShards operation, see ListShardsInput$NextToken.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListShards, you have 300 seconds to use that value. If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException.

" - } - } - }, - "ListStreamConsumersInput":{ - "type":"structure", - "required":["StreamARN"], - "members":{ - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The ARN of the Kinesis data stream for which you want to list the registered consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of consumers that are registered with the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers.

Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream.

You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of consumers that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListStreamConsumers operation to list the next set of consumers.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException.

" - }, - "MaxResults":{ - "shape":"ListStreamConsumersInputLimit", - "documentation":"

The maximum number of consumers that you want a single call of ListStreamConsumers to return.

" - }, - "StreamCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the consumers for.

You can't specify this parameter if you specify the NextToken parameter.

" - } - } - }, - "ListStreamConsumersInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ListStreamConsumersOutput":{ - "type":"structure", - "members":{ - "Consumers":{ - "shape":"ConsumerList", - "documentation":"

An array of JSON objects. Each object represents one registered consumer.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of registered consumers, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers. For more information about the use of this pagination token when calling the ListStreamConsumers operation, see ListStreamConsumersInput$NextToken.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException.

" - } - } - }, - "ListStreamsInput":{ - "type":"structure", - "members":{ - "Limit":{ - "shape":"ListStreamsInputLimit", - "documentation":"

The maximum number of streams to list.

" - }, - "ExclusiveStartStreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to start the list with.

" - } - }, - "documentation":"

Represents the input for ListStreams.

" - }, - "ListStreamsInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ListStreamsOutput":{ - "type":"structure", - "required":[ - "StreamNames", - "HasMoreStreams" - ], - "members":{ - "StreamNames":{ - "shape":"StreamNameList", - "documentation":"

The names of the streams that are associated with the AWS account making the ListStreams request.

" - }, - "HasMoreStreams":{ - "shape":"BooleanObject", - "documentation":"

If set to true, there are more streams available to list.

" - } - }, - "documentation":"

Represents the output for ListStreams.

" - }, - "ListTagsForStreamInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "ExclusiveStartTagKey":{ - "shape":"TagKey", - "documentation":"

The key to use as the starting point for the list of tags. If this parameter is set, ListTagsForStream gets all tags that occur after ExclusiveStartTagKey.

" - }, - "Limit":{ - "shape":"ListTagsForStreamInputLimit", - "documentation":"

The number of tags to return. If this number is less than the total number of tags associated with the stream, HasMoreTags is set to true. To list additional tags, set ExclusiveStartTagKey to the last key in the response.

" - } - }, - "documentation":"

Represents the input for ListTagsForStream.

" - }, - "ListTagsForStreamInputLimit":{ - "type":"integer", - "max":50, - "min":1 - }, - "ListTagsForStreamOutput":{ - "type":"structure", - "required":[ - "Tags", - "HasMoreTags" - ], - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags associated with StreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit.

" - }, - "HasMoreTags":{ - "shape":"BooleanObject", - "documentation":"

If set to true, more tags are available. To request additional tags, set ExclusiveStartTagKey to the key of the last tag returned.

" - } - }, - "documentation":"

Represents the output for ListTagsForStream.

" - }, - "MergeShardsInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardToMerge", - "AdjacentShardToMerge" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream for the merge.

" - }, - "ShardToMerge":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard to combine with the adjacent shard for the merge.

" - }, - "AdjacentShardToMerge":{ - "shape":"ShardId", - "documentation":"

The shard ID of the adjacent shard for the merge.

" - } - }, - "documentation":"

Represents the input for MergeShards.

" - }, - "MetricsName":{ - "type":"string", - "enum":[ - "IncomingBytes", - "IncomingRecords", - "OutgoingBytes", - "OutgoingRecords", - "WriteProvisionedThroughputExceeded", - "ReadProvisionedThroughputExceeded", - "IteratorAgeMilliseconds", - "ALL" - ] - }, - "MetricsNameList":{ - "type":"list", - "member":{"shape":"MetricsName"}, - "max":7, - "min":1 - }, - "MillisBehindLatest":{ - "type":"long", - "min":0 - }, - "NextToken":{ - "type":"string", - "max":1048576, - "min":1 - }, - "PartitionKey":{ - "type":"string", - "max":256, - "min":1 - }, - "PositiveIntegerObject":{ - "type":"integer", - "max":100000, - "min":1 - }, - "ProvisionedThroughputExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and Exponential Backoff in AWS in the AWS General Reference.

", - "exception":true - }, - "PutRecordInput":{ - "type":"structure", - "required":[ - "StreamName", - "Data", - "PartitionKey" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream to put the data record into.

" - }, - "Data":{ - "shape":"Data", - "documentation":"

The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" - }, - "PartitionKey":{ - "shape":"PartitionKey", - "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" - }, - "ExplicitHashKey":{ - "shape":"HashKey", - "documentation":"

The hash value used to explicitly determine the shard the data record is assigned to by overriding the partition key hash.

" - }, - "SequenceNumberForOrdering":{ - "shape":"SequenceNumber", - "documentation":"

Guarantees strictly increasing sequence numbers, for puts from the same client and to the same partition key. Usage: set the SequenceNumberForOrdering of record n to the sequence number of record n-1 (as returned in the result when putting record n-1). If this parameter is not set, records are coarsely ordered based on arrival time.

" - } - }, - "documentation":"

Represents the input for PutRecord.

" - }, - "PutRecordOutput":{ - "type":"structure", - "required":[ - "ShardId", - "SequenceNumber" - ], - "members":{ - "ShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard where the data record was placed.

" - }, - "SequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The sequence number identifier that was assigned to the put data record. The sequence number for the record is unique across all records in the stream. A sequence number is the identifier associated with every record put into the stream.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type to use on the record. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" - } - }, - "documentation":"

Represents the output for PutRecord.

" - }, - "PutRecordsInput":{ - "type":"structure", - "required":[ - "Records", - "StreamName" - ], - "members":{ - "Records":{ - "shape":"PutRecordsRequestEntryList", - "documentation":"

The records associated with the request.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

The stream name associated with the request.

" - } - }, - "documentation":"

A PutRecords request.

" - }, - "PutRecordsOutput":{ - "type":"structure", - "required":["Records"], - "members":{ - "FailedRecordCount":{ - "shape":"PositiveIntegerObject", - "documentation":"

The number of unsuccessfully processed records in a PutRecords request.

" - }, - "Records":{ - "shape":"PutRecordsResultEntryList", - "documentation":"

An array of successfully and unsuccessfully processed record results, correlated with the request by natural ordering. A record that is successfully added to a stream includes SequenceNumber and ShardId in the result. A record that fails to be added to a stream includes ErrorCode and ErrorMessage in the result.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type used on the records. This parameter can be one of the following values:

  • NONE: Do not encrypt the records.

  • KMS: Use server-side encryption on the records using a customer-managed AWS KMS key.

" - } - }, - "documentation":"

PutRecords results.

" - }, - "PutRecordsRequestEntry":{ - "type":"structure", - "required":[ - "Data", - "PartitionKey" - ], - "members":{ - "Data":{ - "shape":"Data", - "documentation":"

The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" - }, - "ExplicitHashKey":{ - "shape":"HashKey", - "documentation":"

The hash value used to determine explicitly the shard that the data record is assigned to by overriding the partition key hash.

" - }, - "PartitionKey":{ - "shape":"PartitionKey", - "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" - } - }, - "documentation":"

Represents the output for PutRecords.

" - }, - "PutRecordsRequestEntryList":{ - "type":"list", - "member":{"shape":"PutRecordsRequestEntry"}, - "max":500, - "min":1 - }, - "PutRecordsResultEntry":{ - "type":"structure", - "members":{ - "SequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The sequence number for an individual record result.

" - }, - "ShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID for an individual record result.

" - }, - "ErrorCode":{ - "shape":"ErrorCode", - "documentation":"

The error code for an individual record result. ErrorCodes can be either ProvisionedThroughputExceededException or InternalFailure.

" - }, - "ErrorMessage":{ - "shape":"ErrorMessage", - "documentation":"

The error message for an individual record result. An ErrorCode value of ProvisionedThroughputExceededException has an error message that includes the account ID, stream name, and shard ID. An ErrorCode value of InternalFailure has the error message \"Internal Service Failure\".

" - } - }, - "documentation":"

Represents the result of an individual record from a PutRecords request. A record that is successfully added to a stream includes SequenceNumber and ShardId in the result. A record that fails to be added to the stream includes ErrorCode and ErrorMessage in the result.

" - }, - "PutRecordsResultEntryList":{ - "type":"list", - "member":{"shape":"PutRecordsResultEntry"}, - "max":500, - "min":1 - }, - "Record":{ - "type":"structure", - "required":[ - "SequenceNumber", - "Data", - "PartitionKey" - ], - "members":{ - "SequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The unique identifier of the record within its shard.

" - }, - "ApproximateArrivalTimestamp":{ - "shape":"Timestamp", - "documentation":"

The approximate time that the record was inserted into the stream.

" - }, - "Data":{ - "shape":"Data", - "documentation":"

The data blob. The data in the blob is both opaque and immutable to Kinesis Data Streams, which does not inspect, interpret, or change the data in the blob in any way. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" - }, - "PartitionKey":{ - "shape":"PartitionKey", - "documentation":"

Identifies which shard in the stream the data record is assigned to.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type used on the record. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" - } - }, - "documentation":"

The unit of data of the Kinesis data stream, which is composed of a sequence number, a partition key, and a data blob.

" - }, - "RecordList":{ - "type":"list", - "member":{"shape":"Record"} - }, - "RegisterStreamConsumerInput":{ - "type":"structure", - "required":[ - "StreamARN", - "ConsumerName" - ], - "members":{ - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The ARN of the Kinesis data stream that you want to register the consumer with. For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" - }, - "ConsumerName":{ - "shape":"ConsumerName", - "documentation":"

For a given Kinesis data stream, each consumer must have a unique name. However, consumer names don't have to be unique across data streams.

" - } - } - }, - "RegisterStreamConsumerOutput":{ - "type":"structure", - "required":["Consumer"], - "members":{ - "Consumer":{ - "shape":"Consumer", - "documentation":"

An object that represents the details of the consumer you registered. When you register a consumer, it gets an ARN that is generated by Kinesis Data Streams.

" - } - } - }, - "RemoveTagsFromStreamInput":{ - "type":"structure", - "required":[ - "StreamName", - "TagKeys" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys. Each corresponding tag is removed from the stream.

" - } - }, - "documentation":"

Represents the input for RemoveTagsFromStream.

" - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The resource is not available for this operation. For successful operation, the resource must be in the ACTIVE state.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The requested resource could not be found. The stream might not be specified correctly.

", - "exception":true - }, - "RetentionPeriodHours":{ - "type":"integer", - "max":168, - "min":1 - }, - "ScalingType":{ - "type":"string", - "enum":["UNIFORM_SCALING"] - }, - "SequenceNumber":{ - "type":"string", - "pattern":"0|([1-9]\\d{0,128})" - }, - "SequenceNumberRange":{ - "type":"structure", - "required":["StartingSequenceNumber"], - "members":{ - "StartingSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The starting sequence number for the range.

" - }, - "EndingSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

The ending sequence number for the range. Shards that are in the OPEN state have an ending sequence number of null.

" - } - }, - "documentation":"

The range of possible sequence numbers for the shard.

" - }, - "Shard":{ - "type":"structure", - "required":[ - "ShardId", - "HashKeyRange", - "SequenceNumberRange" - ], - "members":{ - "ShardId":{ - "shape":"ShardId", - "documentation":"

The unique identifier of the shard within the stream.

" - }, - "ParentShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard's parent.

" - }, - "AdjacentParentShardId":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard adjacent to the shard's parent.

" - }, - "HashKeyRange":{ - "shape":"HashKeyRange", - "documentation":"

The range of possible hash key values for the shard, which is a set of ordered contiguous positive integers.

" - }, - "SequenceNumberRange":{ - "shape":"SequenceNumberRange", - "documentation":"

The range of possible sequence numbers for the shard.

" - } - }, - "documentation":"

A uniquely identified group of data records in a Kinesis data stream.

" - }, - "ShardCountObject":{ - "type":"integer", - "max":1000000, - "min":0 - }, - "ShardId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "ShardIterator":{ - "type":"string", - "max":512, - "min":1 - }, - "ShardIteratorType":{ - "type":"string", - "enum":[ - "AT_SEQUENCE_NUMBER", - "AFTER_SEQUENCE_NUMBER", - "TRIM_HORIZON", - "LATEST", - "AT_TIMESTAMP" - ] - }, - "ShardList":{ - "type":"list", - "member":{"shape":"Shard"} - }, - "SplitShardInput":{ - "type":"structure", - "required":[ - "StreamName", - "ShardToSplit", - "NewStartingHashKey" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream for the shard split.

" - }, - "ShardToSplit":{ - "shape":"ShardId", - "documentation":"

The shard ID of the shard to split.

" - }, - "NewStartingHashKey":{ - "shape":"HashKey", - "documentation":"

A hash key value for the starting hash key of one of the child shards created by the split. The hash key range for a given shard constitutes a set of ordered contiguous positive integers. The value for NewStartingHashKey must be in the range of hash keys being mapped into the shard. The NewStartingHashKey hash key value and all higher hash key values in hash key range are distributed to one of the child shards. All the lower hash key values in the range are distributed to the other child shard.

" - } - }, - "documentation":"

Represents the input for SplitShard.

" - }, - "StartStreamEncryptionInput":{ - "type":"structure", - "required":[ - "StreamName", - "EncryptionType", - "KeyId" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream for which to start encrypting records.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type to use. The only valid value is KMS.

" - }, - "KeyId":{ - "shape":"KeyId", - "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" - } - } - }, - "StartingPosition":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{"shape":"ShardIteratorType"}, - "SequenceNumber":{"shape":"SequenceNumber"}, - "Timestamp":{"shape":"Timestamp"} - } - }, - "StopStreamEncryptionInput":{ - "type":"structure", - "required":[ - "StreamName", - "EncryptionType", - "KeyId" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream on which to stop encrypting records.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type. The only valid value is KMS.

" - }, - "KeyId":{ - "shape":"KeyId", - "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" - } - } - }, - "StreamARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:aws.*:kinesis:.*:\\d{12}:stream/.*" - }, - "StreamDescription":{ - "type":"structure", - "required":[ - "StreamName", - "StreamARN", - "StreamStatus", - "Shards", - "HasMoreShards", - "RetentionPeriodHours", - "StreamCreationTimestamp", - "EnhancedMonitoring" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream being described.

" - }, - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The Amazon Resource Name (ARN) for the stream being described.

" - }, - "StreamStatus":{ - "shape":"StreamStatus", - "documentation":"

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Data Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

  • ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.

  • UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.

" - }, - "Shards":{ - "shape":"ShardList", - "documentation":"

The shards that comprise the stream.

" - }, - "HasMoreShards":{ - "shape":"BooleanObject", - "documentation":"

If set to true, more shards in the stream are available to describe.

" - }, - "RetentionPeriodHours":{ - "shape":"RetentionPeriodHours", - "documentation":"

The current retention period, in hours.

" - }, - "StreamCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

The approximate time that the stream was created.

" - }, - "EnhancedMonitoring":{ - "shape":"EnhancedMonitoringList", - "documentation":"

Represents the current enhanced monitoring settings of the stream.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The server-side encryption type used on the stream. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" - }, - "KeyId":{ - "shape":"KeyId", - "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" - } - }, - "documentation":"

Represents the output for DescribeStream.

" - }, - "StreamDescriptionSummary":{ - "type":"structure", - "required":[ - "StreamName", - "StreamARN", - "StreamStatus", - "RetentionPeriodHours", - "StreamCreationTimestamp", - "EnhancedMonitoring", - "OpenShardCount" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream being described.

" - }, - "StreamARN":{ - "shape":"StreamARN", - "documentation":"

The Amazon Resource Name (ARN) for the stream being described.

" - }, - "StreamStatus":{ - "shape":"StreamStatus", - "documentation":"

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Data Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

  • ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.

  • UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.

" - }, - "RetentionPeriodHours":{ - "shape":"PositiveIntegerObject", - "documentation":"

The current retention period, in hours.

" - }, - "StreamCreationTimestamp":{ - "shape":"Timestamp", - "documentation":"

The approximate time that the stream was created.

" - }, - "EnhancedMonitoring":{ - "shape":"EnhancedMonitoringList", - "documentation":"

Represents the current enhanced monitoring settings of the stream.

" - }, - "EncryptionType":{ - "shape":"EncryptionType", - "documentation":"

The encryption type used. This value is one of the following:

  • KMS

  • NONE

" - }, - "KeyId":{ - "shape":"KeyId", - "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" - }, - "OpenShardCount":{ - "shape":"ShardCountObject", - "documentation":"

The number of open shards in the stream.

" - }, - "ConsumerCount":{ - "shape":"ConsumerCountObject", - "documentation":"

The number of enhanced fan-out consumers registered with the stream.

" - } - }, - "documentation":"

Represents the output for DescribeStreamSummary

" - }, - "StreamName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "StreamNameList":{ - "type":"list", - "member":{"shape":"StreamName"} - }, - "StreamStatus":{ - "type":"string", - "enum":[ - "CREATING", - "DELETING", - "ACTIVE", - "UPDATING" - ] - }, - "SubscribeToShardEvent":{ - "type":"structure", - "required":[ - "Records", - "ContinuationSequenceNumber", - "MillisBehindLatest" - ], - "members":{ - "Records":{ - "shape":"RecordList", - "documentation":"

" - }, - "ContinuationSequenceNumber":{ - "shape":"SequenceNumber", - "documentation":"

Use this as StartingSequenceNumber in the next call to SubscribeToShard.

" - }, - "MillisBehindLatest":{ - "shape":"MillisBehindLatest", - "documentation":"

The number of milliseconds the read records are from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.

" - } - }, - "documentation":"

After you call SubscribeToShard, Kinesis Data Streams sends events of this type to your consumer.

", - "event":true - }, - "SubscribeToShardEventStream":{ - "type":"structure", - "required":["SubscribeToShardEvent"], - "members":{ - "SubscribeToShardEvent":{"shape":"SubscribeToShardEvent"}, - "ResourceNotFoundException":{"shape":"ResourceNotFoundException"}, - "ResourceInUseException":{"shape":"ResourceInUseException"}, - "KMSDisabledException":{"shape":"KMSDisabledException"}, - "KMSInvalidStateException":{"shape":"KMSInvalidStateException"}, - "KMSAccessDeniedException":{"shape":"KMSAccessDeniedException"}, - "KMSNotFoundException":{"shape":"KMSNotFoundException"}, - "KMSOptInRequired":{"shape":"KMSOptInRequired"}, - "KMSThrottlingException":{"shape":"KMSThrottlingException"}, - "InternalFailureException":{"shape":"InternalFailureException"} - }, - "eventstream":true - }, - "SubscribeToShardInput":{ - "type":"structure", - "required":[ - "ConsumerARN", - "ShardId", - "StartingPosition" - ], - "members":{ - "ConsumerARN":{ - "shape":"ConsumerARN", - "documentation":"

For this parameter, use the value you obtained when you called RegisterStreamConsumer.

" - }, - "ShardId":{ - "shape":"ShardId", - "documentation":"

The ID of the shard you want to subscribe to. To see a list of all the shards for a given stream, use ListShards.

" - }, - "StartingPosition":{"shape":"StartingPosition"} - } - }, - "SubscribeToShardOutput":{ - "type":"structure", - "required":["EventStream"], - "members":{ - "EventStream":{ - "shape":"SubscribeToShardEventStream", - "documentation":"

The event stream that your consumer can use to read records from the shard.

" - } - } - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

An optional string, typically used to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" - } - }, - "documentation":"

Metadata assigned to the stream, consisting of a key-value pair.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "min":0 - }, - "TagMap":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"}, - "max":50, - "min":1 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0 - }, - "Timestamp":{"type":"timestamp"}, - "UpdateShardCountInput":{ - "type":"structure", - "required":[ - "StreamName", - "TargetShardCount", - "ScalingType" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "TargetShardCount":{ - "shape":"PositiveIntegerObject", - "documentation":"

The new number of shards.

" - }, - "ScalingType":{ - "shape":"ScalingType", - "documentation":"

The scaling type. Uniform scaling creates shards of equal size.

" - } - } - }, - "UpdateShardCountOutput":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "CurrentShardCount":{ - "shape":"PositiveIntegerObject", - "documentation":"

The current number of shards.

" - }, - "TargetShardCount":{ - "shape":"PositiveIntegerObject", - "documentation":"

The updated number of shards.

" - } - } - } - }, - "documentation":"Amazon Kinesis Data Streams Service API Reference

Amazon Kinesis Data Streams is a managed service that scales elastically for real-time processing of streaming big data.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/waiters-2.json deleted file mode 100644 index d61efe43..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesis/2013-12-02/waiters-2.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "version": 2, - "waiters": { - "StreamExists": { - "delay": 10, - "operation": "DescribeStream", - "maxAttempts": 18, - "acceptors": [ - { - "expected": "ACTIVE", - "matcher": "path", - "state": "success", - "argument": "StreamDescription.StreamStatus" - } - ] - }, - "StreamNotExists": { - "delay": 10, - "operation": "DescribeStream", - "maxAttempts": 18, - "acceptors": [ - { - "expected": "ResourceNotFoundException", - "matcher": "error", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/service-2.json deleted file mode 100644 index b0cec25b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisanalytics/2015-08-14/service-2.json +++ /dev/null @@ -1,2105 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-08-14", - "endpointPrefix":"kinesisanalytics", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Kinesis Analytics", - "serviceFullName":"Amazon Kinesis Analytics", - "serviceId":"Kinesis Analytics", - "signatureVersion":"v4", - "targetPrefix":"KinesisAnalytics_20150814", - "timestampFormat":"unixTimestamp", - "uid":"kinesisanalytics-2015-08-14" - }, - "operations":{ - "AddApplicationCloudWatchLoggingOption":{ - "name":"AddApplicationCloudWatchLoggingOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddApplicationCloudWatchLoggingOptionRequest"}, - "output":{"shape":"AddApplicationCloudWatchLoggingOptionResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" - }, - "AddApplicationInput":{ - "name":"AddApplicationInput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddApplicationInputRequest"}, - "output":{"shape":"AddApplicationInputResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"CodeValidationException"} - ], - "documentation":"

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

" - }, - "AddApplicationInputProcessingConfiguration":{ - "name":"AddApplicationInputProcessingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddApplicationInputProcessingConfigurationRequest"}, - "output":{"shape":"AddApplicationInputProcessingConfigurationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds an InputProcessingConfiguration to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

" - }, - "AddApplicationOutput":{ - "name":"AddApplicationOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddApplicationOutputRequest"}, - "output":{"shape":"AddApplicationOutputResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an Amazon Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For conceptual information, see Understanding Application Output (Destination).

Note that any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" - }, - "AddApplicationReferenceDataSource":{ - "name":"AddApplicationReferenceDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddApplicationReferenceDataSourceRequest"}, - "output":{"shape":"AddApplicationReferenceDataSourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" - }, - "CreateApplication":{ - "name":"CreateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateApplicationRequest"}, - "output":{"shape":"CreateApplicationResponse"}, - "errors":[ - {"shape":"CodeValidationException"}, - {"shape":"ResourceInUseException"}, - {"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 three destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to three destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" - }, - "DeleteApplication":{ - "name":"DeleteApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationRequest"}, - "output":{"shape":"DeleteApplicationResponse"}, - "errors":[ - {"shape":"ConcurrentModificationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} - ], - "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 Working with Amazon CloudWatch Logs.

" - }, - "DeleteApplicationInputProcessingConfiguration":{ - "name":"DeleteApplicationInputProcessingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationInputProcessingConfigurationRequest"}, - "output":{"shape":"DeleteApplicationInputProcessingConfigurationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes an InputProcessingConfiguration from an input.

" - }, - "DeleteApplicationOutput":{ - "name":"DeleteApplicationOutput", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationOutputRequest"}, - "output":{"shape":"DeleteApplicationOutputResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" - }, - "DeleteApplicationReferenceDataSource":{ - "name":"DeleteApplicationReferenceDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteApplicationReferenceDataSourceRequest"}, - "output":{"shape":"DeleteApplicationReferenceDataSourceResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

" - }, - "DescribeApplication":{ - "name":"DescribeApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationRequest"}, - "output":{"shape":"DescribeApplicationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

" - }, - "DiscoverInputSchema":{ - "name":"DiscoverInputSchema", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DiscoverInputSchemaRequest"}, - "output":{"shape":"DiscoverInputSchemaResponse"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"UnableToDetectSchemaException"}, - {"shape":"ResourceProvisionedThroughputExceededException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

" - }, - "ListApplications":{ - "name":"ListApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListApplicationsRequest"}, - "output":{"shape":"ListApplicationsResponse"}, - "documentation":"

Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response.

If you want detailed information about a specific application, use DescribeApplication.

This operation requires permissions to perform the kinesisanalytics:ListApplications action.

" - }, - "StartApplication":{ - "name":"StartApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartApplicationRequest"}, - "output":{"shape":"StartApplicationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"InvalidApplicationConfigurationException"} - ], - "documentation":"

Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application.

After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination.

The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation.

After you start the application, you can stop the application from processing the input by calling the StopApplication operation.

This operation requires permissions to perform the kinesisanalytics:StartApplication action.

" - }, - "StopApplication":{ - "name":"StopApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopApplicationRequest"}, - "output":{"shape":"StopApplicationResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination.

This operation requires permissions to perform the kinesisanalytics:StopApplication action.

" - }, - "UpdateApplication":{ - "name":"UpdateApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateApplicationRequest"}, - "output":{"shape":"UpdateApplicationResponse"}, - "errors":[ - {"shape":"CodeValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} - ], - "documentation":"

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

" - } - }, - "shapes":{ - "AddApplicationCloudWatchLoggingOptionRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "CloudWatchLoggingOption" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The Kinesis Analytics application name.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

The version ID of the Kinesis Analytics application.

" - }, - "CloudWatchLoggingOption":{ - "shape":"CloudWatchLoggingOption", - "documentation":"

Provides the CloudWatch log stream Amazon Resource Name (ARN) and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

" - } - } - }, - "AddApplicationCloudWatchLoggingOptionResponse":{ - "type":"structure", - "members":{ - } - }, - "AddApplicationInputProcessingConfigurationRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "InputId", - "InputProcessingConfiguration" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application to which you want to add the input processing configuration.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" - }, - "InputId":{ - "shape":"Id", - "documentation":"

The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.

" - }, - "InputProcessingConfiguration":{ - "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration to add to the application.

" - } - } - }, - "AddApplicationInputProcessingConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "AddApplicationInputRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "Input" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of your existing Amazon Kinesis Analytics application to which you want to add the streaming source.

" - }, - "CurrentApplicationVersionId":{ - "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", - "documentation":"

The Input to add.

" - } - }, - "documentation":"

" - }, - "AddApplicationInputResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "AddApplicationOutputRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "Output" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application to which you want to add the output configuration.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" - }, - "Output":{ - "shape":"Output", - "documentation":"

An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an Amazon Lambda function), and record the formation to use when writing to the destination.

" - } - }, - "documentation":"

" - }, - "AddApplicationOutputResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "AddApplicationReferenceDataSourceRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "ReferenceDataSource" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of an existing application.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" - }, - "ReferenceDataSource":{ - "shape":"ReferenceDataSource", - "documentation":"

The reference data source can be an object in your Amazon S3 bucket. Amazon Kinesis Analytics reads the object and copies the data into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting in-application table that is created. You must also provide an IAM role with the necessary permissions that Amazon Kinesis Analytics can assume to read the object from your S3 bucket on your behalf.

" - } - }, - "documentation":"

" - }, - "AddApplicationReferenceDataSourceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "ApplicationCode":{ - "type":"string", - "max":51200, - "min":0 - }, - "ApplicationDescription":{ - "type":"string", - "max":1024, - "min":0 - }, - "ApplicationDetail":{ - "type":"structure", - "required":[ - "ApplicationName", - "ApplicationARN", - "ApplicationStatus", - "ApplicationVersionId" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application.

" - }, - "ApplicationDescription":{ - "shape":"ApplicationDescription", - "documentation":"

Description of the application.

" - }, - "ApplicationARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the application.

" - }, - "ApplicationStatus":{ - "shape":"ApplicationStatus", - "documentation":"

Status of the application.

" - }, - "CreateTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time stamp when the application version was created.

" - }, - "LastUpdateTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time stamp when the application was last updated.

" - }, - "InputDescriptions":{ - "shape":"InputDescriptions", - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" - }, - "OutputDescriptions":{ - "shape":"OutputDescriptions", - "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" - }, - "ReferenceDataSourceDescriptions":{ - "shape":"ReferenceDataSourceDescriptions", - "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" - }, - "CloudWatchLoggingOptionDescriptions":{ - "shape":"CloudWatchLoggingOptionDescriptions", - "documentation":"

Describes the CloudWatch log streams that are configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" - }, - "ApplicationCode":{ - "shape":"ApplicationCode", - "documentation":"

Returns the application code that you provided to perform data analysis on any of the in-application streams in your application.

" - }, - "ApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Provides the current application version.

" - } - }, - "documentation":"

Provides a description of the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configuration.

" - }, - "ApplicationName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "ApplicationStatus":{ - "type":"string", - "enum":[ - "DELETING", - "STARTING", - "STOPPING", - "READY", - "RUNNING", - "UPDATING" - ] - }, - "ApplicationSummaries":{ - "type":"list", - "member":{"shape":"ApplicationSummary"} - }, - "ApplicationSummary":{ - "type":"structure", - "required":[ - "ApplicationName", - "ApplicationARN", - "ApplicationStatus" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application.

" - }, - "ApplicationARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the application.

" - }, - "ApplicationStatus":{ - "shape":"ApplicationStatus", - "documentation":"

Status of the application.

" - } - }, - "documentation":"

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" - }, - "ApplicationUpdate":{ - "type":"structure", - "members":{ - "InputUpdates":{ - "shape":"InputUpdates", - "documentation":"

Describes application input configuration updates.

" - }, - "ApplicationCodeUpdate":{ - "shape":"ApplicationCode", - "documentation":"

Describes application code updates.

" - }, - "OutputUpdates":{ - "shape":"OutputUpdates", - "documentation":"

Describes application output configuration updates.

" - }, - "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 Amazon Kinesis Analytics application.

" - }, - "ApplicationVersionId":{ - "type":"long", - "max":999999999, - "min":1 - }, - "BooleanObject":{"type":"boolean"}, - "BucketARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:.*" - }, - "CSVMappingParameters":{ - "type":"structure", - "required":[ - "RecordRowDelimiter", - "RecordColumnDelimiter" - ], - "members":{ - "RecordRowDelimiter":{ - "shape":"RecordRowDelimiter", - "documentation":"

Row delimiter. For example, in a CSV format, '\\n' is the typical row delimiter.

" - }, - "RecordColumnDelimiter":{ - "shape":"RecordColumnDelimiter", - "documentation":"

Column delimiter. For example, in a CSV format, a comma (\",\") is the typical column delimiter.

" - } - }, - "documentation":"

Provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the '\\n' as the row delimiter and a comma (\",\") as the column delimiter:

\"name1\", \"address1\"

\"name2, \"address2\"

" - }, - "CloudWatchLoggingOption":{ - "type":"structure", - "required":[ - "LogStreamARN", - "RoleARN" - ], - "members":{ - "LogStreamARN":{ - "shape":"LogStreamARN", - "documentation":"

ARN of the CloudWatch log to receive application messages.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

" - } - }, - "documentation":"

Provides a description of CloudWatch logging options, including the log stream Amazon Resource Name (ARN) and the role ARN.

" - }, - "CloudWatchLoggingOptionDescription":{ - "type":"structure", - "required":[ - "LogStreamARN", - "RoleARN" - ], - "members":{ - "CloudWatchLoggingOptionId":{ - "shape":"Id", - "documentation":"

ID of the CloudWatch logging option description.

" - }, - "LogStreamARN":{ - "shape":"LogStreamARN", - "documentation":"

ARN of the CloudWatch log to receive application messages.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" - } - }, - "documentation":"

Description of the CloudWatch logging option.

" - }, - "CloudWatchLoggingOptionDescriptions":{ - "type":"list", - "member":{"shape":"CloudWatchLoggingOptionDescription"} - }, - "CloudWatchLoggingOptionUpdate":{ - "type":"structure", - "required":["CloudWatchLoggingOptionId"], - "members":{ - "CloudWatchLoggingOptionId":{ - "shape":"Id", - "documentation":"

ID of the CloudWatch logging option to update

" - }, - "LogStreamARNUpdate":{ - "shape":"LogStreamARN", - "documentation":"

ARN of the CloudWatch log to receive application messages.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" - } - }, - "documentation":"

Describes CloudWatch logging option updates.

" - }, - "CloudWatchLoggingOptionUpdates":{ - "type":"list", - "member":{"shape":"CloudWatchLoggingOptionUpdate"} - }, - "CloudWatchLoggingOptions":{ - "type":"list", - "member":{"shape":"CloudWatchLoggingOption"} - }, - "CodeValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Test

" - } - }, - "documentation":"

User-provided application code (query) is invalid. This can be a simple syntax error.

", - "exception":true - }, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.

", - "exception":true - }, - "CreateApplicationRequest":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of your Amazon Kinesis Analytics application (for example, sample-app).

" - }, - "ApplicationDescription":{ - "shape":"ApplicationDescription", - "documentation":"

Summary description of the application.

" - }, - "Inputs":{ - "shape":"Inputs", - "documentation":"

Use this parameter to configure the application input.

You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table).

For the streaming source, you provide its Amazon Resource Name (ARN) and format of data on the stream (for example, JSON, CSV, etc.). You also must provide an IAM role that Amazon Kinesis Analytics can assume to read this stream on your behalf.

To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.

" - }, - "Outputs":{ - "shape":"Outputs", - "documentation":"

You can configure application output to write data from any of the in-application streams to up to three destinations.

These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, Amazon Lambda destinations, or any combination of the three.

In the configuration, you specify the in-application stream name, the destination stream or Lambda function Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream or Lambda function on your behalf.

In the output configuration, you also provide the output stream or Lambda function ARN. For stream destinations, you provide the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to the stream or Lambda function on your behalf.

" - }, - "CloudWatchLoggingOptions":{ - "shape":"CloudWatchLoggingOptions", - "documentation":"

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.

" - }, - "ApplicationCode":{ - "shape":"ApplicationCode", - "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more information about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" - } - }, - "documentation":"

TBD

" - }, - "CreateApplicationResponse":{ - "type":"structure", - "required":["ApplicationSummary"], - "members":{ - "ApplicationSummary":{ - "shape":"ApplicationSummary", - "documentation":"

In response to your CreateApplication request, Amazon Kinesis Analytics returns a response with a summary of the application it created, including the application Amazon Resource Name (ARN), name, and status.

" - } - }, - "documentation":"

TBD

" - }, - "DeleteApplicationCloudWatchLoggingOptionRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "CloudWatchLoggingOptionId" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The Kinesis Analytics application name.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

The version ID of the Kinesis Analytics application.

" - }, - "CloudWatchLoggingOptionId":{ - "shape":"Id", - "documentation":"

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

" - } - } - }, - "DeleteApplicationCloudWatchLoggingOptionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteApplicationInputProcessingConfigurationRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "InputId" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

The Kinesis Analytics application name.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

The version ID of the Kinesis Analytics application.

" - }, - "InputId":{ - "shape":"Id", - "documentation":"

The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

" - } - } - }, - "DeleteApplicationInputProcessingConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteApplicationOutputRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "OutputId" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Amazon Kinesis Analytics application name.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" - }, - "OutputId":{ - "shape":"Id", - "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" - } - }, - "documentation":"

" - }, - "DeleteApplicationOutputResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "DeleteApplicationReferenceDataSourceRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "ReferenceId" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of an existing application.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" - }, - "ReferenceId":{ - "shape":"Id", - "documentation":"

ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" - } - } - }, - "DeleteApplicationReferenceDataSourceResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteApplicationRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CreateTimestamp" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the Amazon Kinesis Analytics application to delete.

" - }, - "CreateTimestamp":{ - "shape":"Timestamp", - "documentation":"

You can use the DescribeApplication operation to get this value.

" - } - }, - "documentation":"

" - }, - "DeleteApplicationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "DescribeApplicationRequest":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application.

" - } - }, - "documentation":"

" - }, - "DescribeApplicationResponse":{ - "type":"structure", - "required":["ApplicationDetail"], - "members":{ - "ApplicationDetail":{ - "shape":"ApplicationDetail", - "documentation":"

Provides a description of the application, such as the application Amazon Resource Name (ARN), status, latest version, and input and output configuration details.

" - } - }, - "documentation":"

" - }, - "DestinationSchema":{ - "type":"structure", - "members":{ - "RecordFormatType":{ - "shape":"RecordFormatType", - "documentation":"

Specifies the format of the records on the output stream.

" - } - }, - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" - }, - "DiscoverInputSchemaRequest":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the streaming source.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf.

" - }, - "InputStartingPositionConfiguration":{ - "shape":"InputStartingPositionConfiguration", - "documentation":"

Point at which you want Amazon Kinesis Analytics to start reading records from the specified streaming source discovery purposes.

" - }, - "S3Configuration":{ - "shape":"S3Configuration", - "documentation":"

Specify this parameter to discover a schema from data in an S3 object.

" - }, - "InputProcessingConfiguration":{ - "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

" - } - } - }, - "DiscoverInputSchemaResponse":{ - "type":"structure", - "members":{ - "InputSchema":{ - "shape":"SourceSchema", - "documentation":"

Schema inferred from the streaming source. It identifies the format of the data in the streaming source and how each data element maps to corresponding columns in the in-application stream that you can create.

" - }, - "ParsedInputRecords":{ - "shape":"ParsedInputRecords", - "documentation":"

An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

" - }, - "ProcessedInputRecords":{ - "shape":"ProcessedInputRecords", - "documentation":"

Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

" - }, - "RawInputRecords":{ - "shape":"RawInputRecords", - "documentation":"

Raw stream data that was sampled to infer the schema.

" - } - }, - "documentation":"

" - }, - "ErrorMessage":{"type":"string"}, - "FileKey":{ - "type":"string", - "max":1024, - "min":1 - }, - "Id":{ - "type":"string", - "max":50, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "InAppStreamName":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" - }, - "InAppStreamNames":{ - "type":"list", - "member":{"shape":"InAppStreamName"} - }, - "InAppTableName":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" - }, - "Input":{ - "type":"structure", - "required":[ - "NamePrefix", - "InputSchema" - ], - "members":{ - "NamePrefix":{ - "shape":"InAppStreamName", - "documentation":"

Name prefix to use when creating an in-application stream. Suppose that you specify a prefix \"MyInApplicationStream.\" Amazon Kinesis Analytics then creates one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001,\" \"MyInApplicationStream_002,\" and so on.

" - }, - "InputProcessingConfiguration":{ - "shape":"InputProcessingConfiguration", - "documentation":"

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor.

" - }, - "KinesisStreamsInput":{ - "shape":"KinesisStreamsInput", - "documentation":"

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" - }, - "KinesisFirehoseInput":{ - "shape":"KinesisFirehoseInput", - "documentation":"

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" - }, - "InputParallelism":{ - "shape":"InputParallelism", - "documentation":"

Describes the number of in-application streams to create.

Data from your source is routed to these in-application input streams.

(see Configuring Application Input.

" - }, - "InputSchema":{ - "shape":"SourceSchema", - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

Also used to describe the format of the reference data source.

" - } - }, - "documentation":"

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. For more information, see Configuring Application Input.

" - }, - "InputConfiguration":{ - "type":"structure", - "required":[ - "Id", - "InputStartingPositionConfiguration" - ], - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

Input source ID. You can get this ID by calling the DescribeApplication operation.

" - }, - "InputStartingPositionConfiguration":{ - "shape":"InputStartingPositionConfiguration", - "documentation":"

Point at which you want the application to start processing records from the streaming source.

" - } - }, - "documentation":"

When you start your application, you provide this configuration, which identifies the input source and the point in the input source at which you want the application to start processing records.

" - }, - "InputConfigurations":{ - "type":"list", - "member":{"shape":"InputConfiguration"} - }, - "InputDescription":{ - "type":"structure", - "members":{ - "InputId":{ - "shape":"Id", - "documentation":"

Input ID associated with the application input. This is the ID that Amazon Kinesis Analytics assigns to each input configuration you add to your application.

" - }, - "NamePrefix":{ - "shape":"InAppStreamName", - "documentation":"

In-application name prefix.

" - }, - "InAppStreamNames":{ - "shape":"InAppStreamNames", - "documentation":"

Returns the in-application stream names that are mapped to the stream source.

" - }, - "InputProcessingConfigurationDescription":{ - "shape":"InputProcessingConfigurationDescription", - "documentation":"

The description of the preprocessor that executes on records in this input before the application's code is run.

" - }, - "KinesisStreamsInputDescription":{ - "shape":"KinesisStreamsInputDescription", - "documentation":"

If an Amazon Kinesis stream is configured as streaming source, provides Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" - }, - "KinesisFirehoseInputDescription":{ - "shape":"KinesisFirehoseInputDescription", - "documentation":"

If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" - }, - "InputSchema":{ - "shape":"SourceSchema", - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

" - }, - "InputParallelism":{ - "shape":"InputParallelism", - "documentation":"

Describes the configured parallelism (number of in-application streams mapped to the streaming source).

" - }, - "InputStartingPositionConfiguration":{ - "shape":"InputStartingPositionConfiguration", - "documentation":"

Point at which the application is configured to read from the input stream.

" - } - }, - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" - }, - "InputDescriptions":{ - "type":"list", - "member":{"shape":"InputDescription"} - }, - "InputLambdaProcessor":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" - } - }, - "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda function.

" - }, - "InputLambdaProcessorDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" - } - }, - "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda expression.

" - }, - "InputLambdaProcessorUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

The ARN of the new IAM role that is used to access the AWS Lambda function.

" - } - }, - "documentation":"

Represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" - }, - "InputParallelism":{ - "type":"structure", - "members":{ - "Count":{ - "shape":"InputParallelismCount", - "documentation":"

Number of in-application streams to create. For more information, see Limits.

" - } - }, - "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

" - }, - "InputParallelismCount":{ - "type":"integer", - "max":64, - "min":1 - }, - "InputParallelismUpdate":{ - "type":"structure", - "members":{ - "CountUpdate":{ - "shape":"InputParallelismCount", - "documentation":"

Number of in-application streams to create for the specified streaming source.

" - } - }, - "documentation":"

Provides updates to the parallelism count.

" - }, - "InputProcessingConfiguration":{ - "type":"structure", - "required":["InputLambdaProcessor"], - "members":{ - "InputLambdaProcessor":{ - "shape":"InputLambdaProcessor", - "documentation":"

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" - } - }, - "documentation":"

Provides a description of a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is AWS Lambda.

" - }, - "InputProcessingConfigurationDescription":{ - "type":"structure", - "members":{ - "InputLambdaProcessorDescription":{ - "shape":"InputLambdaProcessorDescription", - "documentation":"

Provides configuration information about the associated InputLambdaProcessorDescription.

" - } - }, - "documentation":"

Provides configuration information about an input processor. Currently, the only input processor available is AWS Lambda.

" - }, - "InputProcessingConfigurationUpdate":{ - "type":"structure", - "required":["InputLambdaProcessorUpdate"], - "members":{ - "InputLambdaProcessorUpdate":{ - "shape":"InputLambdaProcessorUpdate", - "documentation":"

Provides update information for an InputLambdaProcessor.

" - } - }, - "documentation":"

Describes updates to an InputProcessingConfiguration.

" - }, - "InputSchemaUpdate":{ - "type":"structure", - "members":{ - "RecordFormatUpdate":{ - "shape":"RecordFormat", - "documentation":"

Specifies the format of the records on the streaming source.

" - }, - "RecordEncodingUpdate":{ - "shape":"RecordEncoding", - "documentation":"

Specifies the encoding of the records in the streaming source. For example, UTF-8.

" - }, - "RecordColumnUpdates":{ - "shape":"RecordColumns", - "documentation":"

A list of RecordColumn objects. Each object describes the mapping of the streaming source element to the corresponding column in the in-application stream.

" - } - }, - "documentation":"

Describes updates for the application's input schema.

" - }, - "InputStartingPosition":{ - "type":"string", - "enum":[ - "NOW", - "TRIM_HORIZON", - "LAST_STOPPED_POINT" - ] - }, - "InputStartingPositionConfiguration":{ - "type":"structure", - "members":{ - "InputStartingPosition":{ - "shape":"InputStartingPosition", - "documentation":"

The starting position on the stream.

  • NOW - Start reading just after the most recent record in the stream, start at the request time stamp that the customer issued.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" - } - }, - "documentation":"

Describes the point at which the application reads from the streaming source.

" - }, - "InputUpdate":{ - "type":"structure", - "required":["InputId"], - "members":{ - "InputId":{ - "shape":"Id", - "documentation":"

Input ID of the application input to be updated.

" - }, - "NamePrefixUpdate":{ - "shape":"InAppStreamName", - "documentation":"

Name prefix for in-application streams that Amazon Kinesis Analytics creates for the specific streaming source.

" - }, - "InputProcessingConfigurationUpdate":{ - "shape":"InputProcessingConfigurationUpdate", - "documentation":"

Describes updates for an input processing configuration.

" - }, - "KinesisStreamsInputUpdate":{ - "shape":"KinesisStreamsInputUpdate", - "documentation":"

If an Amazon Kinesis stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN.

" - }, - "KinesisFirehoseInputUpdate":{ - "shape":"KinesisFirehoseInputUpdate", - "documentation":"

If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN.

" - }, - "InputSchemaUpdate":{ - "shape":"InputSchemaUpdate", - "documentation":"

Describes the data format on the streaming source, and how record elements on the streaming source map to columns of the in-application stream that is created.

" - }, - "InputParallelismUpdate":{ - "shape":"InputParallelismUpdate", - "documentation":"

Describes the parallelism updates (the number 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).

" - }, - "InputUpdates":{ - "type":"list", - "member":{"shape":"InputUpdate"} - }, - "Inputs":{ - "type":"list", - "member":{"shape":"Input"} - }, - "InvalidApplicationConfigurationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

test

" - } - }, - "documentation":"

User-provided application configuration is not valid.

", - "exception":true - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Specified input parameter value is invalid.

", - "exception":true - }, - "JSONMappingParameters":{ - "type":"structure", - "required":["RecordRowPath"], - "members":{ - "RecordRowPath":{ - "shape":"RecordRowPath", - "documentation":"

Path to the top-level parent that contains the records.

" - } - }, - "documentation":"

Provides additional mapping information when JSON is the record format on the streaming source.

" - }, - "KinesisFirehoseInput":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the input delivery stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to make sure the role has necessary permissions to access the stream.

" - } - }, - "documentation":"

Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. You provide the delivery stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" - }, - "KinesisFirehoseInputDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics assumes to access the stream.

" - } - }, - "documentation":"

Describes the Amazon Kinesis Firehose delivery stream that is configured as the streaming source in the application input configuration.

" - }, - "KinesisFirehoseInputUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the input Amazon Kinesis Firehose delivery stream to read.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role.

" - } - }, - "documentation":"

When updating application input configuration, provides information about an Amazon Kinesis Firehose delivery stream as the streaming source.

" - }, - "KinesisFirehoseOutput":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the destination Amazon Kinesis Firehose delivery stream to write to.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When configuring application output, identifies an Amazon Kinesis Firehose delivery stream as the destination. You provide the stream Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to write to the stream on your behalf.

" - }, - "KinesisFirehoseOutputDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

" - } - }, - "documentation":"

For an application output, describes the Amazon Kinesis Firehose delivery stream configured as its destination.

" - }, - "KinesisFirehoseOutputUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis Firehose delivery stream to write to.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role.

" - } - }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

" - }, - "KinesisStreamsInput":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the input Amazon Kinesis stream to read.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

Identifies an Amazon Kinesis stream as the streaming source. You provide the stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" - }, - "KinesisStreamsInputDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

" - } - }, - "documentation":"

Describes the Amazon Kinesis stream that is configured as the streaming source in the application input configuration.

" - }, - "KinesisStreamsInputUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the input Amazon Kinesis stream to read.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When updating application input configuration, provides information about an Amazon Kinesis stream as the streaming source.

" - }, - "KinesisStreamsOutput":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

ARN of the destination Amazon Kinesis stream to write to.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When configuring application output, identifies an Amazon Kinesis stream as the destination. You provide the stream Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the stream on your behalf.

" - }, - "KinesisStreamsOutputDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis stream.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream.

" - } - }, - "documentation":"

For an application output, describes the Amazon Kinesis stream configured as its destination.

" - }, - "KinesisStreamsOutputUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the Amazon Kinesis stream where you want to write the output.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis stream configured as the destination.

" - }, - "LambdaOutput":{ - "type":"structure", - "required":[ - "ResourceARN", - "RoleARN" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function to write to.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When configuring application output, identifies an AWS Lambda function as the destination. You provide the function Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the function on your behalf.

" - }, - "LambdaOutputDescription":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function.

" - } - }, - "documentation":"

For an application output, describes the AWS Lambda function configured as its destination.

" - }, - "LambdaOutputUpdate":{ - "type":"structure", - "members":{ - "ResourceARNUpdate":{ - "shape":"ResourceARN", - "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

" - }, - "RoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

" - } - }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an AWS Lambda function configured as the destination.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Exceeded the number of applications allowed.

", - "exception":true - }, - "ListApplicationsInputLimit":{ - "type":"integer", - "max":50, - "min":1 - }, - "ListApplicationsRequest":{ - "type":"structure", - "members":{ - "Limit":{ - "shape":"ListApplicationsInputLimit", - "documentation":"

Maximum number of applications to list.

" - }, - "ExclusiveStartApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application to start the list with. When using pagination to retrieve the list, you don't need to specify this parameter in the first request. However, in subsequent requests, you add the last application name from the previous response to get the next page of applications.

" - } - }, - "documentation":"

" - }, - "ListApplicationsResponse":{ - "type":"structure", - "required":[ - "ApplicationSummaries", - "HasMoreApplications" - ], - "members":{ - "ApplicationSummaries":{ - "shape":"ApplicationSummaries", - "documentation":"

List of ApplicationSummary objects.

" - }, - "HasMoreApplications":{ - "shape":"BooleanObject", - "documentation":"

Returns true if there are more applications to retrieve.

" - } - }, - "documentation":"

" - }, - "LogStreamARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:.*" - }, - "MappingParameters":{ - "type":"structure", - "members":{ - "JSONMappingParameters":{ - "shape":"JSONMappingParameters", - "documentation":"

Provides additional mapping information when JSON is the record format on the streaming source.

" - }, - "CSVMappingParameters":{ - "shape":"CSVMappingParameters", - "documentation":"

Provides additional mapping information when the record format uses delimiters (for example, CSV).

" - } - }, - "documentation":"

When configuring application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

" - }, - "Output":{ - "type":"structure", - "required":[ - "Name", - "DestinationSchema" - ], - "members":{ - "Name":{ - "shape":"InAppStreamName", - "documentation":"

Name of the in-application stream.

" - }, - "KinesisStreamsOutput":{ - "shape":"KinesisStreamsOutput", - "documentation":"

Identifies an Amazon Kinesis stream as the destination.

" - }, - "KinesisFirehoseOutput":{ - "shape":"KinesisFirehoseOutput", - "documentation":"

Identifies an Amazon Kinesis Firehose delivery stream as the destination.

" - }, - "LambdaOutput":{ - "shape":"LambdaOutput", - "documentation":"

Identifies an AWS Lambda function as the destination.

" - }, - "DestinationSchema":{ - "shape":"DestinationSchema", - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" - } - }, - "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

For limits on how many destinations an application can write and other limitations, see Limits.

" - }, - "OutputDescription":{ - "type":"structure", - "members":{ - "OutputId":{ - "shape":"Id", - "documentation":"

A unique identifier for the output configuration.

" - }, - "Name":{ - "shape":"InAppStreamName", - "documentation":"

Name of the in-application stream configured as output.

" - }, - "KinesisStreamsOutputDescription":{ - "shape":"KinesisStreamsOutputDescription", - "documentation":"

Describes Amazon Kinesis stream configured as the destination where output is written.

" - }, - "KinesisFirehoseOutputDescription":{ - "shape":"KinesisFirehoseOutputDescription", - "documentation":"

Describes the Amazon Kinesis Firehose delivery stream configured as the destination where output is written.

" - }, - "LambdaOutputDescription":{ - "shape":"LambdaOutputDescription", - "documentation":"

Describes the AWS Lambda function configured as the destination where output is written.

" - }, - "DestinationSchema":{ - "shape":"DestinationSchema", - "documentation":"

Data format used for writing data to the destination.

" - } - }, - "documentation":"

Describes the application output configuration, which includes the in-application stream name and the destination where the stream data is written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

" - }, - "OutputDescriptions":{ - "type":"list", - "member":{"shape":"OutputDescription"} - }, - "OutputUpdate":{ - "type":"structure", - "required":["OutputId"], - "members":{ - "OutputId":{ - "shape":"Id", - "documentation":"

Identifies the specific output configuration that you want to update.

" - }, - "NameUpdate":{ - "shape":"InAppStreamName", - "documentation":"

If you want to specify a different in-application stream for this output configuration, use this field to specify the new in-application stream name.

" - }, - "KinesisStreamsOutputUpdate":{ - "shape":"KinesisStreamsOutputUpdate", - "documentation":"

Describes an Amazon Kinesis stream as the destination for the output.

" - }, - "KinesisFirehoseOutputUpdate":{ - "shape":"KinesisFirehoseOutputUpdate", - "documentation":"

Describes an Amazon Kinesis Firehose delivery stream as the destination for the output.

" - }, - "LambdaOutputUpdate":{ - "shape":"LambdaOutputUpdate", - "documentation":"

Describes an AWS Lambda function as the destination for the output.

" - }, - "DestinationSchemaUpdate":{ - "shape":"DestinationSchema", - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" - } - }, - "documentation":"

Describes updates to the output configuration identified by the OutputId.

" - }, - "OutputUpdates":{ - "type":"list", - "member":{"shape":"OutputUpdate"} - }, - "Outputs":{ - "type":"list", - "member":{"shape":"Output"} - }, - "ParsedInputRecord":{ - "type":"list", - "member":{"shape":"ParsedInputRecordField"} - }, - "ParsedInputRecordField":{"type":"string"}, - "ParsedInputRecords":{ - "type":"list", - "member":{"shape":"ParsedInputRecord"} - }, - "ProcessedInputRecord":{"type":"string"}, - "ProcessedInputRecords":{ - "type":"list", - "member":{"shape":"ProcessedInputRecord"} - }, - "RawInputRecord":{"type":"string"}, - "RawInputRecords":{ - "type":"list", - "member":{"shape":"RawInputRecord"} - }, - "RecordColumn":{ - "type":"structure", - "required":[ - "Name", - "SqlType" - ], - "members":{ - "Name":{ - "shape":"RecordColumnName", - "documentation":"

Name of the column created in the in-application input stream or reference table.

" - }, - "Mapping":{ - "shape":"RecordColumnMapping", - "documentation":"

Reference to the data element in the streaming input of the reference data source.

" - }, - "SqlType":{ - "shape":"RecordColumnSqlType", - "documentation":"

Type of column created in the in-application input stream or reference table.

" - } - }, - "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", - "min":1 - }, - "RecordColumnMapping":{"type":"string"}, - "RecordColumnName":{ - "type":"string", - "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" - }, - "RecordColumnSqlType":{ - "type":"string", - "min":1 - }, - "RecordColumns":{ - "type":"list", - "member":{"shape":"RecordColumn"}, - "max":1000, - "min":1 - }, - "RecordEncoding":{ - "type":"string", - "pattern":"UTF-8" - }, - "RecordFormat":{ - "type":"structure", - "required":["RecordFormatType"], - "members":{ - "RecordFormatType":{ - "shape":"RecordFormatType", - "documentation":"

The type of record format.

" - }, - "MappingParameters":{ - "shape":"MappingParameters", - "documentation":"

When configuring application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

" - } - }, - "documentation":"

Describes the record format and relevant mapping information that should be applied to schematize the records on the stream.

" - }, - "RecordFormatType":{ - "type":"string", - "enum":[ - "JSON", - "CSV" - ] - }, - "RecordRowDelimiter":{ - "type":"string", - "min":1 - }, - "RecordRowPath":{ - "type":"string", - "min":1 - }, - "ReferenceDataSource":{ - "type":"structure", - "required":[ - "TableName", - "ReferenceSchema" - ], - "members":{ - "TableName":{ - "shape":"InAppTableName", - "documentation":"

Name of the in-application table to create.

" - }, - "S3ReferenceDataSource":{ - "shape":"S3ReferenceDataSource", - "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" - }, - "ReferenceSchema":{ - "shape":"SourceSchema", - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" - } - }, - "documentation":"

Describes the reference data source by providing the source information (S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.

" - }, - "ReferenceDataSourceDescription":{ - "type":"structure", - "required":[ - "ReferenceId", - "TableName", - "S3ReferenceDataSourceDescription" - ], - "members":{ - "ReferenceId":{ - "shape":"Id", - "documentation":"

ID of the reference data source. This is the ID that Amazon Kinesis Analytics assigns when you add the reference data source to your application using the AddApplicationReferenceDataSource operation.

" - }, - "TableName":{ - "shape":"InAppTableName", - "documentation":"

The in-application table name created by the specific reference data source configuration.

" - }, - "S3ReferenceDataSourceDescription":{ - "shape":"S3ReferenceDataSourceDescription", - "documentation":"

Provides the S3 bucket name, the object key name that contains the reference data. It also provides the Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application reference table.

" - }, - "ReferenceSchema":{ - "shape":"SourceSchema", - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" - } - }, - "documentation":"

Describes the reference data source configured for an application.

" - }, - "ReferenceDataSourceDescriptions":{ - "type":"list", - "member":{"shape":"ReferenceDataSourceDescription"} - }, - "ReferenceDataSourceUpdate":{ - "type":"structure", - "required":["ReferenceId"], - "members":{ - "ReferenceId":{ - "shape":"Id", - "documentation":"

ID of the reference data source being updated. You can use the DescribeApplication operation to get this value.

" - }, - "TableNameUpdate":{ - "shape":"InAppTableName", - "documentation":"

In-application table name that is created by this update.

" - }, - "S3ReferenceDataSourceUpdate":{ - "shape":"S3ReferenceDataSourceUpdate", - "documentation":"

Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" - }, - "ReferenceSchemaUpdate":{ - "shape":"SourceSchema", - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" - } - }, - "documentation":"

When you update a reference data source configuration for an application, this object provides all the updated values (such as the source bucket name and object key name), the in-application table name that is created, and updated mapping information that maps the data in the Amazon S3 object to the in-application reference table that is created.

" - }, - "ReferenceDataSourceUpdates":{ - "type":"list", - "member":{"shape":"ReferenceDataSourceUpdate"} - }, - "ResourceARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:.*" - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Application is not available for this operation.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

" - } - }, - "documentation":"

Specified application can't be found.

", - "exception":true - }, - "ResourceProvisionedThroughputExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", - "exception":true - }, - "RoleARN":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" - }, - "S3Configuration":{ - "type":"structure", - "required":[ - "RoleARN", - "BucketARN", - "FileKey" - ], - "members":{ - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

IAM ARN of the role used to access the data.

" - }, - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

ARN of the S3 bucket that contains the data.

" - }, - "FileKey":{ - "shape":"FileKey", - "documentation":"

The name of the object that contains the data.

" - } - }, - "documentation":"

Provides a description of an Amazon S3 data source, including the Amazon Resource Name (ARN) of the S3 bucket, the ARN of the IAM role that is used to access the bucket, and the name of the S3 object that contains the data.

" - }, - "S3ReferenceDataSource":{ - "type":"structure", - "required":[ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "members":{ - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

Amazon Resource Name (ARN) of the S3 bucket.

" - }, - "FileKey":{ - "shape":"FileKey", - "documentation":"

Object key name containing reference data.

" - }, - "ReferenceRoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that the service can assume to read data on your behalf. This role must have permission for the s3:GetObject action on the object and trust policy that allows Amazon Kinesis Analytics service principal to assume this role.

" - } - }, - "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf.

An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" - }, - "S3ReferenceDataSourceDescription":{ - "type":"structure", - "required":[ - "BucketARN", - "FileKey", - "ReferenceRoleARN" - ], - "members":{ - "BucketARN":{ - "shape":"BucketARN", - "documentation":"

Amazon Resource Name (ARN) of the S3 bucket.

" - }, - "FileKey":{ - "shape":"FileKey", - "documentation":"

Amazon S3 object key name.

" - }, - "ReferenceRoleARN":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf to populate the in-application reference table.

" - } - }, - "documentation":"

Provides the bucket name and object key name that stores the reference data.

" - }, - "S3ReferenceDataSourceUpdate":{ - "type":"structure", - "members":{ - "BucketARNUpdate":{ - "shape":"BucketARN", - "documentation":"

Amazon Resource Name (ARN) of the S3 bucket.

" - }, - "FileKeyUpdate":{ - "shape":"FileKey", - "documentation":"

Object key name.

" - }, - "ReferenceRoleARNUpdate":{ - "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application.

" - } - }, - "documentation":"

Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service is unavailable, back off and retry the operation.

", - "exception":true, - "fault":true - }, - "SourceSchema":{ - "type":"structure", - "required":[ - "RecordFormat", - "RecordColumns" - ], - "members":{ - "RecordFormat":{ - "shape":"RecordFormat", - "documentation":"

Specifies the format of the records on the streaming source.

" - }, - "RecordEncoding":{ - "shape":"RecordEncoding", - "documentation":"

Specifies the encoding of the records in the streaming source. For example, UTF-8.

" - }, - "RecordColumns":{ - "shape":"RecordColumns", - "documentation":"

A list of RecordColumn objects.

" - } - }, - "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" - }, - "StartApplicationRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "InputConfigurations" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the application.

" - }, - "InputConfigurations":{ - "shape":"InputConfigurations", - "documentation":"

Identifies the specific input, by ID, that the application starts consuming. Amazon Kinesis Analytics starts reading the streaming source associated with the input. You can also specify where in the streaming source you want Amazon Kinesis Analytics to start reading.

" - } - }, - "documentation":"

" - }, - "StartApplicationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "StopApplicationRequest":{ - "type":"structure", - "required":["ApplicationName"], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the running application to stop.

" - } - }, - "documentation":"

" - }, - "StopApplicationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "Timestamp":{"type":"timestamp"}, - "UnableToDetectSchemaException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "RawInputRecords":{"shape":"RawInputRecords"}, - "ProcessedInputRecords":{"shape":"ProcessedInputRecords"} - }, - "documentation":"

Data format is not valid, Amazon Kinesis Analytics is not able to detect schema for the given streaming source.

", - "exception":true - }, - "UpdateApplicationRequest":{ - "type":"structure", - "required":[ - "ApplicationName", - "CurrentApplicationVersionId", - "ApplicationUpdate" - ], - "members":{ - "ApplicationName":{ - "shape":"ApplicationName", - "documentation":"

Name of the Amazon Kinesis Analytics application to update.

" - }, - "CurrentApplicationVersionId":{ - "shape":"ApplicationVersionId", - "documentation":"

The current application version ID. You can use the DescribeApplication operation to get this value.

" - }, - "ApplicationUpdate":{ - "shape":"ApplicationUpdate", - "documentation":"

Describes application updates.

" - } - } - }, - "UpdateApplicationResponse":{ - "type":"structure", - "members":{ - } - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/service-2.json deleted file mode 100644 index 98504cc0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kinesisvideo/2017-09-30/service-2.json +++ /dev/null @@ -1,729 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-30", - "endpointPrefix":"kinesisvideo", - "protocol":"rest-json", - "serviceAbbreviation":"Kinesis Video", - "serviceFullName":"Amazon Kinesis Video Streams", - "serviceId":"Kinesis Video", - "signatureVersion":"v4", - "uid":"kinesisvideo-2017-09-30" - }, - "operations":{ - "CreateStream":{ - "name":"CreateStream", - "http":{ - "method":"POST", - "requestUri":"/createStream" - }, - "input":{"shape":"CreateStreamInput"}, - "output":{"shape":"CreateStreamOutput"}, - "errors":[ - {"shape":"AccountStreamLimitExceededException"}, - {"shape":"DeviceStreamLimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidDeviceException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ClientLimitExceededException"} - ], - "documentation":"

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

" - }, - "DeleteStream":{ - "name":"DeleteStream", - "http":{ - "method":"POST", - "requestUri":"/deleteStream" - }, - "input":{"shape":"DeleteStreamInput"}, - "output":{"shape":"DeleteStreamOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Deletes a Kinesis video stream and the data contained in the stream.

This method marks the stream for deletion, and makes the data in the stream inaccessible immediately.

To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

This operation requires permission for the KinesisVideo:DeleteStream action.

" - }, - "DescribeStream":{ - "name":"DescribeStream", - "http":{ - "method":"POST", - "requestUri":"/describeStream" - }, - "input":{"shape":"DescribeStreamInput"}, - "output":{"shape":"DescribeStreamOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Returns the most current information about the specified stream. You must specify either the StreamName or the StreamARN.

" - }, - "GetDataEndpoint":{ - "name":"GetDataEndpoint", - "http":{ - "method":"POST", - "requestUri":"/getDataEndpoint" - }, - "input":{"shape":"GetDataEndpointInput"}, - "output":{"shape":"GetDataEndpointOutput"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ClientLimitExceededException"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Gets an endpoint for a specified stream for either reading or writing. Use this endpoint in your application to read from the specified stream (using the GetMedia or GetMediaForFragmentList operations) or write to it (using the PutMedia operation).

The returned endpoint does not have the API name appended. The client needs to add the API name to the returned endpoint.

In the request, specify the stream either by StreamName or StreamARN.

" - }, - "ListStreams":{ - "name":"ListStreams", - "http":{ - "method":"POST", - "requestUri":"/listStreams" - }, - "input":{"shape":"ListStreamsInput"}, - "output":{"shape":"ListStreamsOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Returns an array of StreamInfo objects. Each object describes a stream. To retrieve only streams that satisfy a specific condition, you can specify a StreamNameCondition.

" - }, - "ListTagsForStream":{ - "name":"ListTagsForStream", - "http":{ - "method":"POST", - "requestUri":"/listTagsForStream" - }, - "input":{"shape":"ListTagsForStreamInput"}, - "output":{"shape":"ListTagsForStreamOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidResourceFormatException"} - ], - "documentation":"

Returns a list of tags associated with the specified stream.

In the request, you must specify either the StreamName or the StreamARN.

" - }, - "TagStream":{ - "name":"TagStream", - "http":{ - "method":"POST", - "requestUri":"/tagStream" - }, - "input":{"shape":"TagStreamInput"}, - "output":{"shape":"TagStreamOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidResourceFormatException"}, - {"shape":"TagsPerResourceExceededLimitException"} - ], - "documentation":"

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

Kinesis video streams support up to 50 tags.

" - }, - "UntagStream":{ - "name":"UntagStream", - "http":{ - "method":"POST", - "requestUri":"/untagStream" - }, - "input":{"shape":"UntagStreamInput"}, - "output":{"shape":"UntagStreamOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidResourceFormatException"} - ], - "documentation":"

Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

In the request, you must provide the StreamName or StreamARN.

" - }, - "UpdateDataRetention":{ - "name":"UpdateDataRetention", - "http":{ - "method":"POST", - "requestUri":"/updateDataRetention" - }, - "input":{"shape":"UpdateDataRetentionInput"}, - "output":{"shape":"UpdateDataRetentionOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"VersionMismatchException"} - ], - "documentation":"

Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN.

The retention period that you specify replaces the current value.

This operation requires permission for the KinesisVideo:UpdateDataRetention action.

Changing the data retention period affects the data in the stream as follows:

  • If the data retention period is increased, existing data is retained for the new retention period. For example, if the data retention period is increased from one hour to seven hours, all existing data is retained for seven hours.

  • If the data retention period is decreased, existing data is retained for the new retention period. For example, if the data retention period is decreased from seven hours to one hour, all existing data is retained for one hour, and any data older than one hour is deleted immediately.

" - }, - "UpdateStream":{ - "name":"UpdateStream", - "http":{ - "method":"POST", - "requestUri":"/updateStream" - }, - "input":{"shape":"UpdateStreamInput"}, - "output":{"shape":"UpdateStreamOutput"}, - "errors":[ - {"shape":"ClientLimitExceededException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"NotAuthorizedException"}, - {"shape":"VersionMismatchException"} - ], - "documentation":"

Updates stream metadata, such as the device name and media type.

You must provide the stream name or the Amazon Resource Name (ARN) of the stream.

To make sure that you have the latest version of the stream before updating it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

UpdateStream is an asynchronous operation, and takes time to complete.

" - } - }, - "shapes":{ - "APIName":{ - "type":"string", - "enum":[ - "PUT_MEDIA", - "GET_MEDIA", - "LIST_FRAGMENTS", - "GET_MEDIA_FOR_FRAGMENT_LIST", - "GET_HLS_STREAMING_SESSION_URL" - ] - }, - "AccountStreamLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The number of streams created for the account is too high.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ClientLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ComparisonOperator":{ - "type":"string", - "enum":["BEGINS_WITH"] - }, - "CreateStreamInput":{ - "type":"structure", - "required":["StreamName"], - "members":{ - "DeviceName":{ - "shape":"DeviceName", - "documentation":"

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

A name for the stream that you are creating.

The stream name is an identifier for the stream, and must be unique for each account and region.

" - }, - "MediaType":{ - "shape":"MediaType", - "documentation":"

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

To play video on the console, the media must be H.264 encoded, and you need to specify this video type in this parameter as video/h264.

This parameter is optional; the default value is null (or empty in JSON).

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

For more information, see DescribeKey.

" - }, - "DataRetentionInHours":{ - "shape":"DataRetentionInHours", - "documentation":"

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

The default value is 0, indicating that the stream does not persist data.

When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.

" - } - } - }, - "CreateStreamOutput":{ - "type":"structure", - "members":{ - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream.

" - } - } - }, - "DataEndpoint":{"type":"string"}, - "DataRetentionChangeInHours":{ - "type":"integer", - "min":1 - }, - "DataRetentionInHours":{ - "type":"integer", - "min":0 - }, - "DeleteStreamInput":{ - "type":"structure", - "required":["StreamARN"], - "members":{ - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to delete.

" - }, - "CurrentVersion":{ - "shape":"Version", - "documentation":"

Optional: The version of the stream that you want to delete.

Specify the version as a safeguard to ensure that your are deleting the correct stream. To get the stream version, use the DescribeStream API.

If not specified, only the CreationTime is checked before deleting the stream.

" - } - } - }, - "DeleteStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeStreamInput":{ - "type":"structure", - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream.

" - } - } - }, - "DescribeStreamOutput":{ - "type":"structure", - "members":{ - "StreamInfo":{ - "shape":"StreamInfo", - "documentation":"

An object that describes the stream.

" - } - } - }, - "DeviceName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "DeviceStreamLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Not implemented.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ErrorMessage":{"type":"string"}, - "GetDataEndpointInput":{ - "type":"structure", - "required":["APIName"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamName in the request.

" - }, - "APIName":{ - "shape":"APIName", - "documentation":"

The name of the API action for which to get an endpoint.

" - } - } - }, - "GetDataEndpointOutput":{ - "type":"structure", - "members":{ - "DataEndpoint":{ - "shape":"DataEndpoint", - "documentation":"

The endpoint value. To read data from the stream or to write data to it, specify this endpoint in your application.

" - } - } - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The value for this input parameter is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidDeviceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Not implemented.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidResourceFormatException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The format of the StreamARN is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "KmsKeyId":{ - "type":"string", - "max":2048, - "min":1 - }, - "ListStreamsInput":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"ListStreamsInputLimit", - "documentation":"

The maximum number of streams to return in the response. The default is 10,000.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If you specify this parameter, when the result of a ListStreams operation is truncated, the call returns the NextToken in the response. To get another batch of streams, provide this token in your next request.

" - }, - "StreamNameCondition":{ - "shape":"StreamNameCondition", - "documentation":"

Optional: Returns only streams that satisfy a specific condition. Currently, you can specify only the prefix of a stream name as a condition.

" - } - } - }, - "ListStreamsInputLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ListStreamsOutput":{ - "type":"structure", - "members":{ - "StreamInfoList":{ - "shape":"StreamInfoList", - "documentation":"

An array of StreamInfo objects.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

" - } - } - }, - "ListTagsForStreamInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If you specify this parameter and the result of a ListTagsForStream call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to list tags for.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream that you want to list tags for.

" - } - } - }, - "ListTagsForStreamOutput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If you specify this parameter and the result of a ListTags call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

" - }, - "Tags":{ - "shape":"ResourceTags", - "documentation":"

A map of tag keys and values associated with the specified stream.

" - } - } - }, - "MediaType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+" - }, - "NextToken":{ - "type":"string", - "max":512, - "min":0 - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The caller is not authorized to perform this operation.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "ResourceARN":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The stream is currently not available for this operation.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Amazon Kinesis Video Streams can't find the stream that you specified.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ResourceTags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"}, - "max":50, - "min":1 - }, - "Status":{ - "type":"string", - "enum":[ - "CREATING", - "ACTIVE", - "UPDATING", - "DELETING" - ] - }, - "StreamInfo":{ - "type":"structure", - "members":{ - "DeviceName":{ - "shape":"DeviceName", - "documentation":"

The name of the device that is associated with the stream.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream.

" - }, - "MediaType":{ - "shape":"MediaType", - "documentation":"

The MediaType of the stream.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that Kinesis Video Streams uses to encrypt data on the stream.

" - }, - "Version":{ - "shape":"Version", - "documentation":"

The version of the stream.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the stream.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A time stamp that indicates when the stream was created.

" - }, - "DataRetentionInHours":{ - "shape":"DataRetentionInHours", - "documentation":"

How long the stream retains data, in hours.

" - } - }, - "documentation":"

An object describing a Kinesis video stream.

" - }, - "StreamInfoList":{ - "type":"list", - "member":{"shape":"StreamInfo"} - }, - "StreamName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "StreamNameCondition":{ - "type":"structure", - "members":{ - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

A comparison operator. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

" - }, - "ComparisonValue":{ - "shape":"StreamName", - "documentation":"

A value to compare.

" - } - }, - "documentation":"

Specifies the condition that streams must satisfy to be returned when you list streams (see the ListStreams API). A condition has a comparison operation and a value. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagStreamInput":{ - "type":"structure", - "required":["Tags"], - "members":{ - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags to.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream that you want to add the tag or tags to.

" - }, - "Tags":{ - "shape":"ResourceTags", - "documentation":"

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

" - } - } - }, - "TagStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0 - }, - "TagsPerResourceExceededLimitException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You have exceeded the limit of tags that you can associate with the resource. Kinesis video streams support up to 50 tags.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "UntagStreamInput":{ - "type":"structure", - "required":["TagKeyList"], - "members":{ - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to remove tags from.

" - }, - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream that you want to remove tags from.

" - }, - "TagKeyList":{ - "shape":"TagKeyList", - "documentation":"

A list of the keys of the tags that you want to remove.

" - } - } - }, - "UntagStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "UpdateDataRetentionInput":{ - "type":"structure", - "required":[ - "CurrentVersion", - "Operation", - "DataRetentionChangeInHours" - ], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream whose retention period you want to change.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the stream whose retention period you want to change.

" - }, - "CurrentVersion":{ - "shape":"Version", - "documentation":"

The version of the stream whose retention period you want to change. To get the version, call either the DescribeStream or the ListStreams API.

" - }, - "Operation":{ - "shape":"UpdateDataRetentionOperation", - "documentation":"

Indicates whether you want to increase or decrease the retention period.

" - }, - "DataRetentionChangeInHours":{ - "shape":"DataRetentionChangeInHours", - "documentation":"

The retention period, in hours. The value you specify replaces the current value.

" - } - } - }, - "UpdateDataRetentionOperation":{ - "type":"string", - "enum":[ - "INCREASE_DATA_RETENTION", - "DECREASE_DATA_RETENTION" - ] - }, - "UpdateDataRetentionOutput":{ - "type":"structure", - "members":{ - } - }, - "UpdateStreamInput":{ - "type":"structure", - "required":["CurrentVersion"], - "members":{ - "StreamName":{ - "shape":"StreamName", - "documentation":"

The name of the stream whose metadata you want to update.

The stream name is an identifier for the stream, and must be unique for each account and region.

" - }, - "StreamARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN of the stream whose metadata you want to update.

" - }, - "CurrentVersion":{ - "shape":"Version", - "documentation":"

The version of the stream whose metadata you want to update.

" - }, - "DeviceName":{ - "shape":"DeviceName", - "documentation":"

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

" - }, - "MediaType":{ - "shape":"MediaType", - "documentation":"

The stream's media type. Use MediaType to specify the type of content that the stream contains to the consumers of the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements.

To play video on the console, you must specify the correct video type. For example, if the video in the stream is H.264, specify video/h264 as the MediaType.

" - } - } - }, - "UpdateStreamOutput":{ - "type":"structure", - "members":{ - } - }, - "Version":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[a-zA-Z0-9]+" - }, - "VersionMismatchException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", - "error":{"httpStatusCode":400}, - "exception":true - } - }, - "documentation":"

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/examples-1.json deleted file mode 100644 index feafe0b1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/examples-1.json +++ /dev/null @@ -1,815 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/paginators-1.json deleted file mode 100644 index 522d171f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/paginators-1.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "pagination": { - "ListAliases": { - "limit_key": "Limit", - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "Truncated", - "result_key": "Aliases" - }, - "ListGrants": { - "limit_key": "Limit", - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "Truncated", - "result_key": "Grants" - }, - "ListKeyPolicies": { - "limit_key": "Limit", - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "Truncated", - "result_key": "PolicyNames" - }, - "ListKeys": { - "limit_key": "Limit", - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "Truncated", - "result_key": "Keys" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/service-2.json deleted file mode 100644 index 3fcccccd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/kms/2014-11-01/service-2.json +++ /dev/null @@ -1,2065 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-11-01", - "endpointPrefix":"kms", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"KMS", - "serviceFullName":"AWS Key Management Service", - "serviceId":"KMS", - "signatureVersion":"v4", - "targetPrefix":"TrentService", - "uid":"kms-2014-11-01" - }, - "operations":{ - "CancelKeyDeletion":{ - "name":"CancelKeyDeletion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelKeyDeletionRequest"}, - "output":{"shape":"CancelKeyDeletionResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Cancels the deletion of a customer master key (CMK). When this operation is successful, the CMK is set to the Disabled state. To enable a CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "CreateAlias":{ - "name":"CreateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAliasRequest"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidAliasNameException"}, - {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Creates a display name for a customer-managed customer master key (CMK). You can use an alias to identify a CMK in selected operations, such as Encrypt and GenerateDataKey.

Each CMK can have multiple aliases, but each alias points to only one CMK. The alias name must be unique in the AWS account and region. To simplify code that runs in multiple regions, use the same alias name, but point it to a different CMK in each region.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with aws/. That alias name prefix is reserved for AWS managed CMKs.

The alias and the CMK it is mapped to must be in the same AWS account and the same region. You cannot perform this operation on an alias in a different AWS account.

To map an existing alias to a different CMK, call UpdateAlias.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "CreateGrant":{ - "name":"CreateGrant", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGrantRequest"}, - "output":{"shape":"CreateGrantResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidArnException"}, - {"shape":"KMSInternalException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"LimitExceededException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Adds a grant to a customer master key (CMK). The grant specifies who can use the CMK and under what conditions. When setting permissions, grants are an alternative to key policies.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "CreateKey":{ - "name":"CreateKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyRequest"}, - "output":{"shape":"CreateKeyResponse"}, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidArnException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"}, - {"shape":"TagException"} - ], - "documentation":"

Creates a customer master key (CMK) in the caller's AWS account.

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:

You cannot use this operation to create a CMK in a different AWS account.

" - }, - "Decrypt":{ - "name":"Decrypt", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DecryptRequest"}, - "output":{"shape":"DecryptResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"InvalidCiphertextException"}, - {"shape":"KeyUnavailableException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following operations:

Whenever possible, use key policies to give users permission to call the Decrypt operation on the CMK, instead of IAM policies. Otherwise, you might create an IAM user policy that gives the user Decrypt permission on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs in other accounts if the key policy for the cross-account CMK permits it. If you must use an IAM policy for Decrypt permissions, limit the user to particular CMKs or particular trusted accounts.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "DeleteAlias":{ - "name":"DeleteAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAliasRequest"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Deletes the specified alias. You cannot perform this operation on an alias in a different AWS account.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

Each CMK can have multiple aliases. To change the alias of a CMK, use DeleteAlias to delete the current alias and CreateAlias to create a new alias. To associate an existing alias with a different customer master key (CMK), call UpdateAlias.

" - }, - "DeleteImportedKeyMaterial":{ - "name":"DeleteImportedKeyMaterial", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteImportedKeyMaterialRequest"}, - "errors":[ - {"shape":"InvalidArnException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Deletes key material that you previously imported. This operation makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. You cannot perform this operation on a CMK in a different AWS account.

When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.

After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "DescribeKey":{ - "name":"DescribeKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeKeyRequest"}, - "output":{"shape":"DescribeKeyResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"} - ], - "documentation":"

Provides detailed information about the specified customer master key (CMK).

You can use DescribeKey on a predefined AWS alias, that is, an AWS alias with no key ID. When you do, AWS KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" - }, - "DisableKey":{ - "name":"DisableKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableKeyRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "DisableKeyRotation":{ - "name":"DisableKeyRotation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableKeyRotationRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Disables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "EnableKey":{ - "name":"EnableKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableKeyRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Sets the state of a customer master key (CMK) to enabled, thereby permitting its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "EnableKeyRotation":{ - "name":"EnableKeyRotation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableKeyRotationRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Enables automatic rotation of the key material for the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "Encrypt":{ - "name":"Encrypt", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EncryptRequest"}, - "output":{"shape":"EncryptResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"KeyUnavailableException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidKeyUsageException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases:

  • You can encrypt up to 4 kilobytes (4096 bytes) of arbitrary data such as an RSA key, a database password, or other sensitive information.

  • You can use the Encrypt operation to move encrypted data from one AWS region to another. In the first region, generate a data key and use the plaintext key to encrypt the data. Then, in the new region, call the Encrypt method on same plaintext data key. Now, you can safely move the encrypted data and encrypted data key to the new region, and decrypt in the new region when necessary.

You don't need use this operation to encrypt a data key within a region. The GenerateDataKey and GenerateDataKeyWithoutPlaintext operations return an encrypted data key.

Also, you don't need to use this operation to encrypt data in your application. You can use the plaintext and encrypted data keys that the GenerateDataKey operation returns.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" - }, - "GenerateDataKey":{ - "name":"GenerateDataKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GenerateDataKeyRequest"}, - "output":{"shape":"GenerateDataKeyResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"KeyUnavailableException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidKeyUsageException"}, - {"shape":"InvalidGrantTokenException"}, - {"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. To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

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 get 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.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "GenerateDataKeyWithoutPlaintext":{ - "name":"GenerateDataKeyWithoutPlaintext", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GenerateDataKeyWithoutPlaintextRequest"}, - "output":{"shape":"GenerateDataKeyWithoutPlaintextResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"KeyUnavailableException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidKeyUsageException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Returns a data encryption key encrypted under a customer master key (CMK). This operation is identical to GenerateDataKey but returns only the encrypted copy of the data key.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

This operation is useful in a system that has multiple components with different degrees of trust. For example, consider a system that stores encrypted data in containers. Each container stores the encrypted data and an encrypted copy of the data key. One component of the system, called the control plane, creates new containers. When it creates a new container, it uses this operation (GenerateDataKeyWithoutPlaintext) to get an encrypted data key and then stores it in the container. Later, a different component of the system, called the data plane, puts encrypted data into the containers. To do this, it passes the encrypted data key to the Decrypt operation. It then uses the returned plaintext data key to encrypt data and finally stores the encrypted data in the container. In this system, the control plane never sees the plaintext data key.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "GenerateRandom":{ - "name":"GenerateRandom", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GenerateRandomRequest"}, - "output":{"shape":"GenerateRandomResponse"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetKeyPolicyRequest"}, - "output":{"shape":"GetKeyPolicyResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Gets a key policy attached to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

" - }, - "GetKeyRotationStatus":{ - "name":"GetKeyRotationStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetKeyRotationStatusRequest"}, - "output":{"shape":"GetKeyRotationStatusResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

  • Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key.

  • Pending deletion: While a CMK is pending deletion, its key rotation status is false and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" - }, - "GetParametersForImport":{ - "name":"GetParametersForImport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetParametersForImportRequest"}, - "output":{"shape":"GetParametersForImportResponse"}, - "errors":[ - {"shape":"InvalidArnException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Returns the items you need in order to import key material into AWS KMS from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

You must specify the key ID of the customer master key (CMK) into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on a CMK in a different AWS account.

This operation returns a public key and an import token. Use the public key to encrypt the key material. Store the import token to send with a subsequent ImportKeyMaterial request. The public key and import token from the same response must be used together. These items are valid for 24 hours. When they expire, they cannot be used for a subsequent ImportKeyMaterial request. To get new ones, send another GetParametersForImport request.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "ImportKeyMaterial":{ - "name":"ImportKeyMaterial", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyMaterialRequest"}, - "output":{"shape":"ImportKeyMaterialResponse"}, - "errors":[ - {"shape":"InvalidArnException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"InvalidCiphertextException"}, - {"shape":"IncorrectKeyMaterialException"}, - {"shape":"ExpiredImportTokenException"}, - {"shape":"InvalidImportTokenException"} - ], - "documentation":"

Imports key material into an existing AWS KMS customer master key (CMK) that was created without key material. You cannot perform this operation on a CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide.

Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response.

When calling this operation, you must specify the following values:

  • The key ID or key ARN of a CMK with no key material. Its Origin must be EXTERNAL.

    To create a CMK with no key material, call CreateKey and set the value of its Origin parameter to EXTERNAL. To get the Origin of a CMK, call DescribeKey.)

  • The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport.

  • The import token that GetParametersForImport returned. This token and the public key used to encrypt the key material must have come from the same response.

  • Whether the key material expires and if so, when. If you set an expiration date, you can change it only by reimporting the same key material and specifying a new expiration date. If the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. To use the CMK again, you must reimport the same key material.

When this operation is successful, the CMK's key state changes from PendingImport to Enabled, and you can use the CMK. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "ListAliases":{ - "name":"ListAliases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAliasesRequest"}, - "output":{"shape":"ListAliasesResponse"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidMarkerException"}, - {"shape":"KMSInternalException"} - ], - "documentation":"

Gets a list of aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias.

By default, the ListAliases command returns all aliases in the account and region. To get only the aliases that point to a particular customer master key (CMK), use the KeyId parameter.

The ListAliases response can include aliases that you created and associated with your customer managed CMKs, and aliases that AWS created and associated with AWS managed CMKs in your account. You can recognize AWS aliases because their names have the format aws/<service-name>, such as aws/dynamodb.

The response might also include aliases that have no TargetKeyId field. These are predefined aliases that AWS has created but has not yet associated with a CMK. Aliases that AWS creates in your account, including predefined aliases, do not count against your AWS KMS aliases limit.

" - }, - "ListGrants":{ - "name":"ListGrants", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGrantsRequest"}, - "output":{"shape":"ListGrantsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidMarkerException"}, - {"shape":"InvalidArnException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Gets a list of all grants for the specified customer master key (CMK).

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" - }, - "ListKeyPolicies":{ - "name":"ListKeyPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListKeyPoliciesRequest"}, - "output":{"shape":"ListKeyPoliciesResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Gets the names of the key policies that are attached to a customer master key (CMK). This operation is designed to get policy names that you can use in a GetKeyPolicy operation. However, the only valid policy name is default. You cannot perform this operation on a CMK in a different AWS account.

" - }, - "ListKeys":{ - "name":"ListKeys", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListKeysRequest"}, - "output":{"shape":"ListKeysResponse"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"InvalidMarkerException"} - ], - "documentation":"

Gets a list of all customer master keys (CMKs) in the caller's AWS account and region.

" - }, - "ListResourceTags":{ - "name":"ListResourceTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourceTagsRequest"}, - "output":{"shape":"ListResourceTagsResponse"}, - "errors":[ - {"shape":"KMSInternalException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"InvalidMarkerException"} - ], - "documentation":"

Returns a list of all tags for the specified customer master key (CMK).

You cannot perform this operation on a CMK in a different AWS account.

" - }, - "ListRetirableGrants":{ - "name":"ListRetirableGrants", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRetirableGrantsRequest"}, - "output":{"shape":"ListGrantsResponse"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidMarkerException"}, - {"shape":"InvalidArnException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"} - ], - "documentation":"

Returns a list of all grants for which the grant's RetiringPrincipal matches the one specified.

A typical use is to list all grants that you are able to retire. To retire a grant, use RetireGrant.

" - }, - "PutKeyPolicy":{ - "name":"PutKeyPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutKeyPolicyRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"UnsupportedOperationException"}, - {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Attaches a key policy to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide.

" - }, - "ReEncrypt":{ - "name":"ReEncrypt", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReEncryptRequest"}, - "output":{"shape":"ReEncryptResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DisabledException"}, - {"shape":"InvalidCiphertextException"}, - {"shape":"KeyUnavailableException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidKeyUsageException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Encrypts data on the server side with a new customer master key (CMK) without exposing the plaintext of the data on the client side. The data is first decrypted and then reencrypted. You can also use this operation to change the encryption context of a ciphertext.

You can reencrypt data using CMKs in different AWS accounts.

Unlike other operations, ReEncrypt is authorized twice, once as ReEncryptFrom on the source CMK and once as ReEncryptTo on the destination CMK. We recommend that you include the \"kms:ReEncrypt*\" permission in your key policies to permit reencryption from or to the CMK. This permission is automatically included in the key policy when you create a CMK through the console. But you must include it manually when you create a CMK programmatically or when you set a key policy with the PutKeyPolicy operation.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "RetireGrant":{ - "name":"RetireGrant", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetireGrantRequest"}, - "errors":[ - {"shape":"InvalidArnException"}, - {"shape":"InvalidGrantTokenException"}, - {"shape":"InvalidGrantIdException"}, - {"shape":"NotFoundException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Retires a grant. To clean up, you can retire a grant when you're done using it. You should revoke a grant when you intend to actively deny operations that depend on it. The following are permitted to call this API:

  • The AWS account (root user) under which the grant was created

  • The RetiringPrincipal, if present in the grant

  • The GranteePrincipal, if RetireGrant is an operation specified in the grant

You must identify the grant to retire by its grant token or by a combination of the grant ID and the Amazon Resource Name (ARN) of the customer master key (CMK). A grant token is a unique variable-length base64-encoded string. A grant ID is a 64 character unique identifier of a grant. The CreateGrant operation returns both.

" - }, - "RevokeGrant":{ - "name":"RevokeGrant", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeGrantRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"InvalidArnException"}, - {"shape":"InvalidGrantIdException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Revokes the specified grant for the specified customer master key (CMK). You can revoke a grant to actively deny operations that depend on it.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" - }, - "ScheduleKeyDeletion":{ - "name":"ScheduleKeyDeletion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScheduleKeyDeletionRequest"}, - "output":{"shape":"ScheduleKeyDeletionResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

You cannot perform this operation on a CMK in a different AWS account.

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.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"KMSInternalException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"LimitExceededException"}, - {"shape":"TagException"} - ], - "documentation":"

Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"KMSInternalException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"TagException"} - ], - "documentation":"

Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "UpdateAlias":{ - "name":"UpdateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAliasRequest"}, - "errors":[ - {"shape":"DependencyTimeoutException"}, - {"shape":"NotFoundException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Associates an existing alias with a different customer master key (CMK). Each CMK can have multiple aliases, but the aliases must be unique within the account and region. You cannot perform this operation on an alias in a different AWS account.

This operation works only on existing aliases. To change the alias of a CMK to a new value, use CreateAlias to create a new alias and DeleteAlias to delete the old alias.

Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation.

An alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). An alias must start with the word alias followed by a forward slash (alias/). The alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). Alias names cannot begin with aws; that alias name prefix is reserved by Amazon Web Services (AWS).

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "UpdateKeyDescription":{ - "name":"UpdateKeyDescription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateKeyDescriptionRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"InvalidArnException"}, - {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"}, - {"shape":"KMSInvalidStateException"} - ], - "documentation":"

Updates the description of a customer master key (CMK). To see the description of a CMK, use DescribeKey.

You cannot perform this operation on a CMK in a different AWS account.

The result of this operation varies with the key state of the CMK. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - } - }, - "shapes":{ - "AWSAccountIdType":{"type":"string"}, - "AlgorithmSpec":{ - "type":"string", - "enum":[ - "RSAES_PKCS1_V1_5", - "RSAES_OAEP_SHA_1", - "RSAES_OAEP_SHA_256" - ] - }, - "AliasList":{ - "type":"list", - "member":{"shape":"AliasListEntry"} - }, - "AliasListEntry":{ - "type":"structure", - "members":{ - "AliasName":{ - "shape":"AliasNameType", - "documentation":"

String that contains the alias.

" - }, - "AliasArn":{ - "shape":"ArnType", - "documentation":"

String that contains the key ARN.

" - }, - "TargetKeyId":{ - "shape":"KeyIdType", - "documentation":"

String that contains the key identifier referred to by the alias.

" - } - }, - "documentation":"

Contains information about an alias.

" - }, - "AliasNameType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^[a-zA-Z0-9:/_-]+$" - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because it attempted to create a resource that already exists.

", - "exception":true - }, - "ArnType":{ - "type":"string", - "max":2048, - "min":20 - }, - "BooleanType":{"type":"boolean"}, - "CancelKeyDeletionRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) for which to cancel deletion.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "CancelKeyDeletionResponse":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier of the master key for which deletion is canceled.

" - } - } - }, - "CiphertextType":{ - "type":"blob", - "max":6144, - "min":1 - }, - "CreateAliasRequest":{ - "type":"structure", - "required":[ - "AliasName", - "TargetKeyId" - ], - "members":{ - "AliasName":{ - "shape":"AliasNameType", - "documentation":"

Specifies the alias name. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias. The alias name cannot begin with aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

" - }, - "TargetKeyId":{ - "shape":"KeyIdType", - "documentation":"

Identifies the CMK for which you are creating the alias. This value cannot be an alias.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "CreateGrantRequest":{ - "type":"structure", - "required":[ - "KeyId", - "GranteePrincipal", - "Operations" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) that the grant applies to.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "GranteePrincipal":{ - "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" - }, - "RetiringPrincipal":{ - "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to retire the grant by using RetireGrant operation.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" - }, - "Operations":{ - "shape":"GrantOperationList", - "documentation":"

A list of operations that the grant permits.

" - }, - "Constraints":{ - "shape":"GrantConstraints", - "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", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - }, - "Name":{ - "shape":"GrantNameType", - "documentation":"

A friendly name for identifying the grant. Use this value to prevent the unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

" - } - } - }, - "CreateGrantResponse":{ - "type":"structure", - "members":{ - "GrantToken":{ - "shape":"GrantTokenType", - "documentation":"

The grant token.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - }, - "GrantId":{ - "shape":"GrantIdType", - "documentation":"

The unique identifier for the grant.

You can use the GrantId in a subsequent RetireGrant or RevokeGrant operation.

" - } - } - }, - "CreateKeyRequest":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you provide a key policy, it must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy. The reason for this is that the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The key policy size limit is 32 kilobytes (32768 bytes).

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

A description of the CMK.

Use a description that helps you decide whether the CMK is appropriate for a task.

" - }, - "KeyUsage":{ - "shape":"KeyUsageType", - "documentation":"

The intended use of the CMK.

You can use CMKs only for symmetric encryption and decryption.

" - }, - "Origin":{ - "shape":"OriginType", - "documentation":"

The source of the CMK's key material.

The default is AWS_KMS, which means AWS KMS creates the key material. When this parameter is set to EXTERNAL, the request creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

The CMK's Origin is immutable and is set when the CMK is created.

" - }, - "BypassPolicyLockoutSafetyCheck":{ - "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. Each tag consists of a tag key and a tag value. 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.

" - } - } - }, - "CreateKeyResponse":{ - "type":"structure", - "members":{ - "KeyMetadata":{ - "shape":"KeyMetadata", - "documentation":"

Metadata associated with the CMK.

" - } - } - }, - "DataKeySpec":{ - "type":"string", - "enum":[ - "AES_256", - "AES_128" - ] - }, - "DateType":{"type":"timestamp"}, - "DecryptRequest":{ - "type":"structure", - "required":["CiphertextBlob"], - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

Ciphertext to be decrypted. The blob includes metadata.

" - }, - "EncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

The encryption context. If this was specified in the Encrypt function, it must be specified here or the decryption operation will fail. For more information, see Encryption Context.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "DecryptResponse":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

ARN of the key used to perform the decryption. This value is returned if no errors are encountered during the operation.

" - }, - "Plaintext":{ - "shape":"PlaintextType", - "documentation":"

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - } - } - }, - "DeleteAliasRequest":{ - "type":"structure", - "required":["AliasName"], - "members":{ - "AliasName":{ - "shape":"AliasNameType", - "documentation":"

The alias to be deleted. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/aws\" are reserved.

" - } - } - }, - "DeleteImportedKeyMaterialRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK whose key material to delete. The CMK's Origin must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "DependencyTimeoutException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The system timed out while trying to fulfill the request. The request can be retried.

", - "exception":true, - "fault":true - }, - "DescribeKeyRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

Describes the specified customer master key (CMK).

If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "DescribeKeyResponse":{ - "type":"structure", - "members":{ - "KeyMetadata":{ - "shape":"KeyMetadata", - "documentation":"

Metadata associated with the key.

" - } - } - }, - "DescriptionType":{ - "type":"string", - "max":8192, - "min":0 - }, - "DisableKeyRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "DisableKeyRotationRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "DisabledException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified CMK is not enabled.

", - "exception":true - }, - "EnableKeyRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "EnableKeyRotationRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "EncryptRequest":{ - "type":"structure", - "required":[ - "KeyId", - "Plaintext" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" - }, - "Plaintext":{ - "shape":"PlaintextType", - "documentation":"

Data to be encrypted.

" - }, - "EncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

Name-value pair that specifies the encryption context to be used for authenticated encryption. If used here, the same value must be supplied to the Decrypt API or decryption will fail. For more information, see Encryption Context.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "EncryptResponse":{ - "type":"structure", - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The ID of the key used during encryption.

" - } - } - }, - "EncryptionContextKey":{"type":"string"}, - "EncryptionContextType":{ - "type":"map", - "key":{"shape":"EncryptionContextKey"}, - "value":{"shape":"EncryptionContextValue"} - }, - "EncryptionContextValue":{"type":"string"}, - "ErrorMessageType":{"type":"string"}, - "ExpirationModelType":{ - "type":"string", - "enum":[ - "KEY_MATERIAL_EXPIRES", - "KEY_MATERIAL_DOES_NOT_EXPIRE" - ] - }, - "ExpiredImportTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the provided import token is expired. Use GetParametersForImport to get a new import token and public key, use the new public key to encrypt the key material, and then try the request again.

", - "exception":true - }, - "GenerateDataKeyRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" - }, - "EncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" - }, - "NumberOfBytes":{ - "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" - }, - "KeySpec":{ - "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "GenerateDataKeyResponse":{ - "type":"structure", - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - }, - "Plaintext":{ - "shape":"PlaintextType", - "documentation":"

The data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded. Use this data key for local encryption and decryption, then remove it from memory as soon as possible.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" - } - } - }, - "GenerateDataKeyWithoutPlaintextRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the customer master key (CMK) under which to generate and encrypt the data encryption key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" - }, - "EncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" - }, - "KeySpec":{ - "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" - }, - "NumberOfBytes":{ - "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "GenerateDataKeyWithoutPlaintextResponse":{ - "type":"structure", - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" - } - } - }, - "GenerateRandomRequest":{ - "type":"structure", - "members":{ - "NumberOfBytes":{ - "shape":"NumberOfBytesType", - "documentation":"

The length of the byte string.

" - } - } - }, - "GenerateRandomResponse":{ - "type":"structure", - "members":{ - "Plaintext":{ - "shape":"PlaintextType", - "documentation":"

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - } - } - }, - "GetKeyPolicyRequest":{ - "type":"structure", - "required":[ - "KeyId", - "PolicyName" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "PolicyName":{ - "shape":"PolicyNameType", - "documentation":"

Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

" - } - } - }, - "GetKeyPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"PolicyType", - "documentation":"

A key policy document in JSON format.

" - } - } - }, - "GetKeyRotationStatusRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "GetKeyRotationStatusResponse":{ - "type":"structure", - "members":{ - "KeyRotationEnabled":{ - "shape":"BooleanType", - "documentation":"

A Boolean value that specifies whether key rotation is enabled.

" - } - } - }, - "GetParametersForImportRequest":{ - "type":"structure", - "required":[ - "KeyId", - "WrappingAlgorithm", - "WrappingKeySpec" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK into which you will import key material. The CMK's Origin must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "WrappingAlgorithm":{ - "shape":"AlgorithmSpec", - "documentation":"

The algorithm you use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" - }, - "WrappingKeySpec":{ - "shape":"WrappingKeySpec", - "documentation":"

The type of wrapping key (public key) to return in the response. Only 2048-bit RSA public keys are supported.

" - } - } - }, - "GetParametersForImportResponse":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK to use in a subsequent ImportKeyMaterial request. This is the same CMK specified in the GetParametersForImport request.

" - }, - "ImportToken":{ - "shape":"CiphertextType", - "documentation":"

The import token to send in a subsequent ImportKeyMaterial request.

" - }, - "PublicKey":{ - "shape":"PlaintextType", - "documentation":"

The public key to use to encrypt the key material before importing it with ImportKeyMaterial.

" - }, - "ParametersValidTo":{ - "shape":"DateType", - "documentation":"

The time at which the import token and public key are no longer valid. After this time, you cannot use them to make an ImportKeyMaterial request and you must send another GetParametersForImport request to get new ones.

" - } - } - }, - "GrantConstraints":{ - "type":"structure", - "members":{ - "EncryptionContextSubset":{ - "shape":"EncryptionContextType", - "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":"

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 that you can use to allow certain operations in the grant only when the preferred 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 contrast, 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", - "max":128, - "min":1 - }, - "GrantList":{ - "type":"list", - "member":{"shape":"GrantListEntry"} - }, - "GrantListEntry":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) to which the grant applies.

" - }, - "GrantId":{ - "shape":"GrantIdType", - "documentation":"

The unique identifier for the grant.

" - }, - "Name":{ - "shape":"GrantNameType", - "documentation":"

The friendly name that identifies the grant. If a name was provided in the CreateGrant request, that name is returned. Otherwise this value is null.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date and time when the grant was created.

" - }, - "GranteePrincipal":{ - "shape":"PrincipalIdType", - "documentation":"

The principal that receives the grant's permissions.

" - }, - "RetiringPrincipal":{ - "shape":"PrincipalIdType", - "documentation":"

The principal that can retire the grant.

" - }, - "IssuingAccount":{ - "shape":"PrincipalIdType", - "documentation":"

The AWS account under which the grant was issued.

" - }, - "Operations":{ - "shape":"GrantOperationList", - "documentation":"

The list of operations permitted by the grant.

" - }, - "Constraints":{ - "shape":"GrantConstraints", - "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.

" - }, - "GrantNameType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^[a-zA-Z0-9:/_-]+$" - }, - "GrantOperation":{ - "type":"string", - "enum":[ - "Decrypt", - "Encrypt", - "GenerateDataKey", - "GenerateDataKeyWithoutPlaintext", - "ReEncryptFrom", - "ReEncryptTo", - "CreateGrant", - "RetireGrant", - "DescribeKey" - ] - }, - "GrantOperationList":{ - "type":"list", - "member":{"shape":"GrantOperation"} - }, - "GrantTokenList":{ - "type":"list", - "member":{"shape":"GrantTokenType"}, - "max":10, - "min":0 - }, - "GrantTokenType":{ - "type":"string", - "max":8192, - "min":1 - }, - "ImportKeyMaterialRequest":{ - "type":"structure", - "required":[ - "KeyId", - "ImportToken", - "EncryptedKeyMaterial" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The identifier of the CMK to import the key material into. The CMK's Origin must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "ImportToken":{ - "shape":"CiphertextType", - "documentation":"

The import token that you received in the response to a previous GetParametersForImport request. It must be from the same response that contained the public key that you used to encrypt the key material.

" - }, - "EncryptedKeyMaterial":{ - "shape":"CiphertextType", - "documentation":"

The encrypted key material to import. It must be encrypted with the public key that you received in the response to a previous GetParametersForImport request, using the wrapping algorithm that you specified in that request.

" - }, - "ValidTo":{ - "shape":"DateType", - "documentation":"

The time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. You must omit this parameter when the ExpirationModel parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE. Otherwise it is required.

" - }, - "ExpirationModel":{ - "shape":"ExpirationModelType", - "documentation":"

Specifies whether the key material expires. The default is KEY_MATERIAL_EXPIRES, in which case you must include the ValidTo parameter. When this parameter is set to KEY_MATERIAL_DOES_NOT_EXPIRE, you must omit the ValidTo parameter.

" - } - } - }, - "ImportKeyMaterialResponse":{ - "type":"structure", - "members":{ - } - }, - "IncorrectKeyMaterialException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the provided key material is invalid or is not the same key material that was previously imported into this customer master key (CMK).

", - "exception":true - }, - "InvalidAliasNameException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified alias name is not valid.

", - "exception":true - }, - "InvalidArnException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because a specified ARN was not valid.

", - "exception":true - }, - "InvalidCiphertextException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified ciphertext, or additional authenticated data incorporated into the ciphertext, such as the encryption context, is corrupted, missing, or otherwise invalid.

", - "exception":true - }, - "InvalidGrantIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified GrantId is not valid.

", - "exception":true - }, - "InvalidGrantTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified grant token is not valid.

", - "exception":true - }, - "InvalidImportTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the provided import token is invalid or is associated with a different customer master key (CMK).

", - "exception":true - }, - "InvalidKeyUsageException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified KeySpec value is not valid.

", - "exception":true - }, - "InvalidMarkerException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the marker that specifies where pagination should next begin is not valid.

", - "exception":true - }, - "KMSInternalException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because an internal exception occurred. The request can be retried.

", - "exception":true - }, - "KMSInvalidStateException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", - "exception":true - }, - "KeyIdType":{ - "type":"string", - "max":2048, - "min":1 - }, - "KeyList":{ - "type":"list", - "member":{"shape":"KeyListEntry"} - }, - "KeyListEntry":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

Unique identifier of the key.

" - }, - "KeyArn":{ - "shape":"ArnType", - "documentation":"

ARN of the key.

" - } - }, - "documentation":"

Contains information about each entry in the key list.

" - }, - "KeyManagerType":{ - "type":"string", - "enum":[ - "AWS", - "CUSTOMER" - ] - }, - "KeyMetadata":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "AWSAccountId":{ - "shape":"AWSAccountIdType", - "documentation":"

The twelve-digit account ID of the AWS account that owns the CMK.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The globally unique identifier for the CMK.

" - }, - "Arn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

" - }, - "CreationDate":{ - "shape":"DateType", - "documentation":"

The date and time when the CMK was created.

" - }, - "Enabled":{ - "shape":"BooleanType", - "documentation":"

Specifies whether the CMK is enabled. When KeyState is Enabled this value is true, otherwise it is false.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

The description of the CMK.

" - }, - "KeyUsage":{ - "shape":"KeyUsageType", - "documentation":"

The cryptographic operations for which you can use the CMK. Currently the only allowed value is ENCRYPT_DECRYPT, which means you can use the CMK for the Encrypt and Decrypt operations.

" - }, - "KeyState":{ - "shape":"KeyState", - "documentation":"

The state of the CMK.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" - }, - "DeletionDate":{ - "shape":"DateType", - "documentation":"

The date and time after which AWS KMS deletes the CMK. This value is present only when KeyState is PendingDeletion, otherwise this value is omitted.

" - }, - "ValidTo":{ - "shape":"DateType", - "documentation":"

The time at which the imported key material expires. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. This value is present only for CMKs whose Origin is EXTERNAL and whose ExpirationModel is KEY_MATERIAL_EXPIRES, otherwise this value is omitted.

" - }, - "Origin":{ - "shape":"OriginType", - "documentation":"

The source of the CMK's key material. When this value is AWS_KMS, AWS KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material.

" - }, - "ExpirationModel":{ - "shape":"ExpirationModelType", - "documentation":"

Specifies whether the CMK's key material expires. This value is present only when Origin is EXTERNAL, otherwise this value is omitted.

" - }, - "KeyManager":{ - "shape":"KeyManagerType", - "documentation":"

The CMK's manager. CMKs are either customer managed or AWS managed. For more information about the difference, see Customer Master Keys in the AWS Key Management Service Developer Guide.

" - } - }, - "documentation":"

Contains metadata about a customer master key (CMK).

This data type is used as a response element for the CreateKey and DescribeKey operations.

" - }, - "KeyState":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled", - "PendingDeletion", - "PendingImport" - ] - }, - "KeyUnavailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified CMK was not available. The request can be retried.

", - "exception":true, - "fault":true - }, - "KeyUsageType":{ - "type":"string", - "enum":["ENCRYPT_DECRYPT"] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because a limit was exceeded. For more information, see Limits in the AWS Key Management Service Developer Guide.

", - "exception":true - }, - "LimitType":{ - "type":"integer", - "max":1000, - "min":1 - }, - "ListAliasesRequest":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

Lists only aliases that refer to the specified CMK. The value of this parameter can be the ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use an alias name or alias ARN in this value.

This parameter is optional. If you omit it, ListAliases returns all aliases in the account and region.

" - }, - "Limit":{ - "shape":"LimitType", - "documentation":"

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 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.

" - } - } - }, - "ListAliasesResponse":{ - "type":"structure", - "members":{ - "Aliases":{ - "shape":"AliasList", - "documentation":"

A list of aliases.

" - }, - "NextMarker":{ - "shape":"MarkerType", - "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" - }, - "Truncated":{ - "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" - } - } - }, - "ListGrantsRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "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 100, 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.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - } - } - }, - "ListGrantsResponse":{ - "type":"structure", - "members":{ - "Grants":{ - "shape":"GrantList", - "documentation":"

A list of grants.

" - }, - "NextMarker":{ - "shape":"MarkerType", - "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" - }, - "Truncated":{ - "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" - } - } - }, - "ListKeyPoliciesRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "Limit":{ - "shape":"LimitType", - "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 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 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.

" - } - } - }, - "ListKeyPoliciesResponse":{ - "type":"structure", - "members":{ - "PolicyNames":{ - "shape":"PolicyNameList", - "documentation":"

A list of key policy names. Currently, there is only one key policy per CMK and it is always named default.

" - }, - "NextMarker":{ - "shape":"MarkerType", - "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" - }, - "Truncated":{ - "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" - } - } - }, - "ListKeysRequest":{ - "type":"structure", - "members":{ - "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 1000, inclusive. If you do not include a value, it defaults to 100.

" - }, - "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.

" - } - } - }, - "ListKeysResponse":{ - "type":"structure", - "members":{ - "Keys":{ - "shape":"KeyList", - "documentation":"

A list of customer master keys (CMKs).

" - }, - "NextMarker":{ - "shape":"MarkerType", - "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" - }, - "Truncated":{ - "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in 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 customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "Limit":{ - "shape":"LimitType", - "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 50, inclusive. If you do not include a value, it defaults to 50.

" - }, - "Marker":{ - "shape":"MarkerType", - "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

Do not attempt to construct this value. Use only the value of NextMarker from the truncated response you just received.

" - } - } - }, - "ListResourceTagsResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags. Each tag consists of a tag key and a tag value.

" - }, - "NextMarker":{ - "shape":"MarkerType", - "documentation":"

When Truncated is true, this 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 get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

" - } - } - }, - "ListRetirableGrantsRequest":{ - "type":"structure", - "required":["RetiringPrincipal"], - "members":{ - "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 100, 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.

" - }, - "RetiringPrincipal":{ - "shape":"PrincipalIdType", - "documentation":"

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" - } - } - }, - "MalformedPolicyDocumentException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified policy is not syntactically or semantically correct.

", - "exception":true - }, - "MarkerType":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[\\u0020-\\u00FF]*" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the specified entity or resource could not be found.

", - "exception":true - }, - "NumberOfBytesType":{ - "type":"integer", - "max":1024, - "min":1 - }, - "OriginType":{ - "type":"string", - "enum":[ - "AWS_KMS", - "EXTERNAL" - ] - }, - "PendingWindowInDaysType":{ - "type":"integer", - "max":365, - "min":1 - }, - "PlaintextType":{ - "type":"blob", - "max":4096, - "min":1, - "sensitive":true - }, - "PolicyNameList":{ - "type":"list", - "member":{"shape":"PolicyNameType"} - }, - "PolicyNameType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w]+" - }, - "PolicyType":{ - "type":"string", - "max":131072, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "PrincipalIdType":{ - "type":"string", - "max":256, - "min":1 - }, - "PutKeyPolicyRequest":{ - "type":"structure", - "required":[ - "KeyId", - "PolicyName", - "Policy" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "PolicyName":{ - "shape":"PolicyNameType", - "documentation":"

The name of the key policy. The only valid value is default.

" - }, - "Policy":{ - "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

The key policy must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy. The reason for this is that the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

The key policy size limit is 32 kilobytes (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 risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" - } - } - }, - "ReEncryptRequest":{ - "type":"structure", - "required":[ - "CiphertextBlob", - "DestinationKeyId" - ], - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

Ciphertext of the data to reencrypt.

" - }, - "SourceEncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

Encryption context used to encrypt and decrypt the data specified in the CiphertextBlob parameter.

" - }, - "DestinationKeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK that is used to reencrypt the data.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" - }, - "DestinationEncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

Encryption context to use when the data is reencrypted.

" - }, - "GrantTokens":{ - "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" - } - } - }, - "ReEncryptResponse":{ - "type":"structure", - "members":{ - "CiphertextBlob":{ - "shape":"CiphertextType", - "documentation":"

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not encoded.

" - }, - "SourceKeyId":{ - "shape":"KeyIdType", - "documentation":"

Unique identifier of the CMK used to originally encrypt the data.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

Unique identifier of the CMK used to reencrypt the data.

" - } - } - }, - "RetireGrantRequest":{ - "type":"structure", - "members":{ - "GrantToken":{ - "shape":"GrantTokenType", - "documentation":"

Token that identifies the grant to be retired.

" - }, - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The Amazon Resource Name (ARN) of the CMK associated with the grant.

For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab

" - }, - "GrantId":{ - "shape":"GrantIdType", - "documentation":"

Unique identifier of the grant to retire. The grant ID is returned in the response to a CreateGrant operation.

  • Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123

" - } - } - }, - "RevokeGrantRequest":{ - "type":"structure", - "required":[ - "KeyId", - "GrantId" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key associated with the grant.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "GrantId":{ - "shape":"GrantIdType", - "documentation":"

Identifier of the grant to be revoked.

" - } - } - }, - "ScheduleKeyDeletionRequest":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier of the customer master key (CMK) to delete.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "PendingWindowInDays":{ - "shape":"PendingWindowInDaysType", - "documentation":"

The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK).

This value is optional. If you include a value, it must be between 7 and 30, inclusive. If you do not include a value, it defaults to 30.

" - } - } - }, - "ScheduleKeyDeletionResponse":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

The unique identifier of the customer master key (CMK) for which deletion is scheduled.

" - }, - "DeletionDate":{ - "shape":"DateType", - "documentation":"

The date and time after which AWS KMS deletes the customer master key (CMK).

" - } - } - }, - "Tag":{ - "type":"structure", - "required":[ - "TagKey", - "TagValue" - ], - "members":{ - "TagKey":{ - "shape":"TagKeyType", - "documentation":"

The key of the tag.

" - }, - "TagValue":{ - "shape":"TagValueType", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

" - }, - "TagException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because one or more tags are not valid.

", - "exception":true - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKeyType"} - }, - "TagKeyType":{ - "type":"string", - "max":128, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "KeyId", - "Tags" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK you are tagging.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. Each tag consists of a tag key and a tag value.

" - } - } - }, - "TagValueType":{ - "type":"string", - "max":256, - "min":0 - }, - "UnsupportedOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "KeyId", - "TagKeys" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK from which you are removing tags.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

One or more tag keys. Specify only the tag keys, not the tag values.

" - } - } - }, - "UpdateAliasRequest":{ - "type":"structure", - "required":[ - "AliasName", - "TargetKeyId" - ], - "members":{ - "AliasName":{ - "shape":"AliasNameType", - "documentation":"

String that contains the name of the alias to be modified. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/aws\" are reserved.

" - }, - "TargetKeyId":{ - "shape":"KeyIdType", - "documentation":"

Unique identifier of the customer master key to be mapped to the alias.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

" - } - } - }, - "UpdateKeyDescriptionRequest":{ - "type":"structure", - "required":[ - "KeyId", - "Description" - ], - "members":{ - "KeyId":{ - "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

New description for the CMK.

" - } - } - }, - "WrappingKeySpec":{ - "type":"string", - "enum":["RSA_2048"] - } - }, - "documentation":"AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user. You can also use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used API Operations

Of the API operations discussed in this guide, the following will prove the most useful for most applications. You will likely perform operations other than these, such as creating keys and assigning policies, by using the console.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2014-11-11/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2014-11-11/service-2.json deleted file mode 100644 index 8351ac87..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2014-11-11/service-2.json +++ /dev/null @@ -1,873 +0,0 @@ -{ - "metadata":{ - "apiVersion":"2014-11-11", - "endpointPrefix":"lambda", - "serviceFullName":"AWS Lambda", - "signatureVersion":"v4", - "protocol":"rest-json" - }, - "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, go to What is AWS Lambda, and for information about how the service works, go to AWS LambdaL How it Works in the AWS Lambda Developer Guide.

", - "operations":{ - "AddEventSource":{ - "name":"AddEventSource", - "http":{ - "method":"POST", - "requestUri":"/2014-11-13/event-source-mappings/" - }, - "input":{"shape":"AddEventSourceRequest"}, - "output":{ - "shape":"EventSourceConfiguration", - "documentation":"

Describes mapping between an Amazon Kinesis stream and a Lambda function.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - } - ], - "documentation":"

Identifies a stream as an event source for an AWS Lambda function. It can be either an Amazon Kinesis stream or a Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.

This is the pull model, where AWS Lambda invokes the function. For more information, go to AWS Lambda: How it Works in the AWS Lambda Developer Guide.

This association between an Amazon Kinesis stream and an AWS Lambda function is called the event source mapping. You provide the configuration information (for example, which stream to read from and which AWS Lambda function to invoke) for the event source mapping in the request body.

Each event source, such as a Kinesis stream, can only be associated with one AWS Lambda function. If you call AddEventSource for an event source that is already mapped to another AWS Lambda function, the existing mapping is updated to call the new function instead of the old one.

This operation requires permission for the iam:PassRole action for the IAM role. It also requires permission for the lambda:AddEventSource action.

" - }, - "DeleteFunction":{ - "name":"DeleteFunction", - "http":{ - "method":"DELETE", - "requestUri":"/2014-11-13/functions/{FunctionName}", - "responseCode":204 - }, - "input":{"shape":"DeleteFunctionRequest"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - } - ], - "documentation":"

Deletes the specified Lambda function code and configuration.

This operation requires permission for the lambda:DeleteFunction action.

" - }, - "GetEventSource":{ - "name":"GetEventSource", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/event-source-mappings/{UUID}", - "responseCode":200 - }, - "input":{"shape":"GetEventSourceRequest"}, - "output":{ - "shape":"EventSourceConfiguration", - "documentation":"

Describes mapping between an Amazon Kinesis stream and a Lambda function.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - } - ], - "documentation":"

Returns configuration information for the specified event source mapping (see AddEventSource).

This operation requires permission for the lambda:GetEventSource action.

" - }, - "GetFunction":{ - "name":"GetFunction", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/{FunctionName}", - "responseCode":200 - }, - "input":{"shape":"GetFunctionRequest"}, - "output":{ - "shape":"GetFunctionResponse", - "documentation":"

This response contains the object for AWS Lambda function location (see API_FunctionCodeLocation

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - } - ], - "documentation":"

Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you uploaded with UploadFunction so you can download the .zip file. Note that the URL is valid for up to 10 minutes. The configuration information is the same information you provided as parameters when uploading the function.

This operation requires permission for the lambda:GetFunction action.

" - }, - "GetFunctionConfiguration":{ - "name":"GetFunctionConfiguration", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"GetFunctionConfigurationRequest"}, - "output":{ - "shape":"FunctionConfiguration", - "documentation":"

A complex type that describes function metadata.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - } - ], - "documentation":"

Returns the configuration information of the Lambda function. This the same information you provided as parameters when uploading the function by using UploadFunction.

This operation requires permission for the lambda:GetFunctionConfiguration operation.

" - }, - "InvokeAsync":{ - "name":"InvokeAsync", - "http":{ - "method":"POST", - "requestUri":"/2014-11-13/functions/{FunctionName}/invoke-async/", - "responseCode":202 - }, - "input":{"shape":"InvokeAsyncRequest"}, - "output":{ - "shape":"InvokeAsyncResponse", - "documentation":"

Upon success, it returns empty response. Otherwise, throws an exception.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - { - "shape":"InvalidRequestContentException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request body could not be parsed as JSON.

" - } - ], - "documentation":"

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:InvokeAsync action.

" - }, - "ListEventSources":{ - "name":"ListEventSources", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/event-source-mappings/", - "responseCode":200 - }, - "input":{"shape":"ListEventSourcesRequest"}, - "output":{ - "shape":"ListEventSourcesResponse", - "documentation":"

Contains a list of event sources (see API_EventSourceConfiguration)

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - } - ], - "documentation":"

Returns a list of event source mappings you created using the AddEventSource (see AddEventSource), where you identify a stream as event source. This list does not include Amazon S3 event sources.

For each mapping, the API returns configuration information. You can optionally specify filters to retrieve specific event source mappings.

This operation requires permission for the lambda:ListEventSources action.

" - }, - "ListFunctions":{ - "name":"ListFunctions", - "http":{ - "method":"GET", - "requestUri":"/2014-11-13/functions/", - "responseCode":200 - }, - "input":{"shape":"ListFunctionsRequest"}, - "output":{ - "shape":"ListFunctionsResponse", - "documentation":"

Contains a list of AWS Lambda function configurations (see API_FunctionConfiguration.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - } - ], - "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.

" - }, - "RemoveEventSource":{ - "name":"RemoveEventSource", - "http":{ - "method":"DELETE", - "requestUri":"/2014-11-13/event-source-mappings/{UUID}", - "responseCode":204 - }, - "input":{"shape":"RemoveEventSourceRequest"}, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - } - ], - "documentation":"

Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the associated source.

This operation requires permission for the lambda:RemoveEventSource action.

" - }, - "UpdateFunctionConfiguration":{ - "name":"UpdateFunctionConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-13/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"UpdateFunctionConfigurationRequest"}, - "output":{ - "shape":"FunctionConfiguration", - "documentation":"

A complex type that describes function metadata.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - } - ], - "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.

This operation requires permission for the lambda:UpdateFunctionConfiguration action.

" - }, - "UploadFunction":{ - "name":"UploadFunction", - "http":{ - "method":"PUT", - "requestUri":"/2014-11-13/functions/{FunctionName}", - "responseCode":201 - }, - "input":{"shape":"UploadFunctionRequest"}, - "output":{ - "shape":"FunctionConfiguration", - "documentation":"

A complex type that describes function metadata.

" - }, - "errors":[ - { - "shape":"ServiceException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - } - ], - "documentation":"

Creates a new Lambda function or updates an existing function. The function metadata is created from the request parameters, and the code for the function is provided by a .zip file in the request body. If the function name already exists, the existing Lambda function is updated with the new code and metadata.

This operation requires permission for the lambda:UploadFunction action.

" - } - }, - "shapes":{ - "AddEventSourceRequest":{ - "type":"structure", - "required":[ - "EventSource", - "FunctionName", - "Role" - ], - "members":{ - "EventSource":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the event source. Any record added to this stream causes AWS Lambda to invoke your Lambda function. AWS Lambda POSTs the Amazon Kinesis event, containing records, to your Lambda function as JSON.

" - }, - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

" - }, - "Role":{ - "shape":"RoleArn", - "documentation":"

The ARN of the IAM role (invocation role) that AWS Lambda can assume to read from the stream and invoke the function.

" - }, - "BatchSize":{ - "shape":"Integer", - "documentation":"

The largest number of records that AWS Lambda will give to your function in a single event. The default is 100 records.

" - }, - "Parameters":{ - "shape":"Map", - "documentation":"

A map (key-value pairs) defining the configuration for AWS Lambda to use when reading the event source. Currently, AWS Lambda supports only the InitialPositionInStream key. The valid values are: \"TRIM_HORIZON\" and \"LATEST\". The default value is \"TRIM_HORIZON\". For more information, go to ShardIteratorType in the Amazon Kinesis Service API Reference.

" - } - } - }, - "Blob":{ - "type":"blob", - "streaming":true - }, - "DeleteFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The Lambda function to delete.

" - } - } - }, - "Description":{ - "type":"string", - "min":0, - "max":256 - }, - "EventSourceConfiguration":{ - "type":"structure", - "members":{ - "UUID":{ - "shape":"String", - "documentation":"

The AWS Lambda assigned opaque identifier for the mapping.

" - }, - "BatchSize":{ - "shape":"Integer", - "documentation":"

The largest number of records that AWS Lambda will POST in the invocation request to your function.

" - }, - "EventSource":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the source of events.

" - }, - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

" - }, - "Parameters":{ - "shape":"Map", - "documentation":"

The map (key-value pairs) defining the configuration for AWS Lambda to use when reading the event source.

" - }, - "Role":{ - "shape":"RoleArn", - "documentation":"

The ARN of the IAM role (invocation role) that AWS Lambda can assume to read from the stream and invoke the function.

" - }, - "LastModified":{ - "shape":"Timestamp", - "documentation":"

The UTC time string indicating the last time the event mapping was updated.

" - }, - "IsActive":{ - "shape":"Boolean", - "documentation":"

Indicates whether the event source mapping is currently honored. Events are only processes if IsActive is true.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The description of the health of the event source mapping. Valid values are: \"PENDING\", \"OK\", and \"PROBLEM:message\". Initially this staus is \"PENDING\". When AWS Lambda begins processing events, it changes the status to \"OK\".

" - } - }, - "documentation":"

Describes mapping between an Amazon Kinesis stream and a Lambda function.

" - }, - "EventSourceList":{ - "type":"list", - "member":{"shape":"EventSourceConfiguration"} - }, - "FunctionArn":{ - "type":"string", - "pattern":"arn:aws:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{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})?" - }, - "FunctionCodeLocation":{ - "type":"structure", - "members":{ - "RepositoryType":{ - "shape":"String", - "documentation":"

The repository from which you can download the function.

" - }, - "Location":{ - "shape":"String", - "documentation":"

The presigned URL you can use to download the function's .zip file that you previously uploaded. The URL is valid for up to 10 minutes.

" - } - }, - "documentation":"

The object for the Lambda function location.

" - }, - "FunctionConfiguration":{ - "type":"structure", - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The name of the function.

" - }, - "FunctionARN":{ - "shape":"FunctionArn", - "documentation":"

The Amazon Resource Name (ARN) assigned to the function.

" - }, - "ConfigurationId":{ - "shape":"String", - "documentation":"

A Lambda-assigned unique identifier for the current function code and related configuration.

" - }, - "Runtime":{ - "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

" - }, - "Role":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.

" - }, - "Handler":{ - "shape":"Handler", - "documentation":"

The function Lambda calls to begin executing your function.

" - }, - "Mode":{ - "shape":"Mode", - "documentation":"

The type of the Lambda function you uploaded.

" - }, - "CodeSize":{ - "shape":"Long", - "documentation":"

The size, in bytes, of the function .zip file you uploaded.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The user-provided description.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "documentation":"

The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.

" - }, - "LastModified":{ - "shape":"Timestamp", - "documentation":"

The timestamp of the last time you updated the function.

" - } - }, - "documentation":"

A complex type that describes function metadata.

" - }, - "FunctionList":{ - "type":"list", - "member":{"shape":"FunctionConfiguration"} - }, - "FunctionName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-zA-Z0-9-_]+" - }, - "GetEventSourceRequest":{ - "type":"structure", - "required":["UUID"], - "members":{ - "UUID":{ - "shape":"String", - "location":"uri", - "locationName":"UUID", - "documentation":"

The AWS Lambda assigned ID of the event source mapping.

" - } - } - }, - "GetFunctionConfigurationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The name of the Lambda function for which you want to retrieve the configuration information.

" - } - } - }, - "GetFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The Lambda function name.

" - } - } - }, - "GetFunctionResponse":{ - "type":"structure", - "members":{ - "Configuration":{"shape":"FunctionConfiguration"}, - "Code":{"shape":"FunctionCodeLocation"} - }, - "documentation":"

This response contains the object for AWS Lambda function location (see API_FunctionCodeLocation

" - }, - "Handler":{ - "type":"string", - "pattern":"[a-zA-Z0-9./\\-_]+" - }, - "HttpStatus":{"type":"integer"}, - "Integer":{"type":"integer"}, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "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 UploadFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

" - }, - "InvalidRequestContentException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request body could not be parsed as JSON.

" - }, - "InvokeAsyncRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "InvokeArgs" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The Lambda function name.

" - }, - "InvokeArgs":{ - "shape":"Blob", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" - } - }, - "payload":"InvokeArgs" - }, - "InvokeAsyncResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"HttpStatus", - "location":"statusCode", - "documentation":"

It will be 202 upon success.

" - } - }, - "documentation":"

Upon success, it returns empty response. Otherwise, throws an exception.

" - }, - "ListEventSourcesRequest":{ - "type":"structure", - "members":{ - "EventSourceArn":{ - "shape":"String", - "location":"querystring", - "locationName":"EventSource", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis stream.

" - }, - "FunctionName":{ - "shape":"FunctionName", - "location":"querystring", - "locationName":"FunctionName", - "documentation":"

The name of the AWS Lambda function.

" - }, - "Marker":{ - "shape":"String", - "location":"querystring", - "locationName":"Marker", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListEventSources operation. If present, specifies to continue the list from where the returning call left off.

" - }, - "MaxItems":{ - "shape":"MaxListItems", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"

Optional integer. Specifies the maximum number of event sources to return in response. This value must be greater than 0.

" - } - } - }, - "ListEventSourcesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more event source mappings.

" - }, - "EventSources":{ - "shape":"EventSourceList", - "documentation":"

An arrary of EventSourceConfiguration objects.

" - } - }, - "documentation":"

Contains a list of event sources (see API_EventSourceConfiguration)

" - }, - "ListFunctionsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "location":"querystring", - "locationName":"Marker", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.

" - }, - "MaxItems":{ - "shape":"MaxListItems", - "location":"querystring", - "locationName":"MaxItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0.

" - } - } - }, - "ListFunctionsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more functions.

" - }, - "Functions":{ - "shape":"FunctionList", - "documentation":"

A list of Lambda functions.

" - } - }, - "documentation":"

Contains a list of AWS Lambda function configurations (see API_FunctionConfiguration.

" - }, - "Long":{"type":"long"}, - "Map":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "MaxListItems":{ - "type":"integer", - "min":1, - "max":10000 - }, - "MemorySize":{ - "type":"integer", - "min":128, - "max":1024 - }, - "Mode":{ - "type":"string", - "enum":["event"] - }, - "RemoveEventSourceRequest":{ - "type":"structure", - "required":["UUID"], - "members":{ - "UUID":{ - "shape":"String", - "location":"uri", - "locationName":"UUID", - "documentation":"

The event source mapping ID.

" - } - } - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The function or the event source specified in the request does not exist.

" - }, - "RoleArn":{ - "type":"string", - "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" - }, - "Runtime":{ - "type":"string", - "enum":["nodejs"] - }, - "ServiceException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

The AWS Lambda service encountered an internal error.

" - }, - "String":{"type":"string"}, - "Timeout":{ - "type":"integer", - "min":1, - "max":60 - }, - "Timestamp":{"type":"string"}, - "UpdateFunctionConfigurationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The name of the Lambda function.

" - }, - "Role":{ - "shape":"RoleArn", - "location":"querystring", - "locationName":"Role", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

" - }, - "Handler":{ - "shape":"Handler", - "location":"querystring", - "locationName":"Handler", - "documentation":"

The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function.

" - }, - "Description":{ - "shape":"Description", - "location":"querystring", - "locationName":"Description", - "documentation":"

A short user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

" - }, - "Timeout":{ - "shape":"Timeout", - "location":"querystring", - "locationName":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "location":"querystring", - "locationName":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" - } - } - }, - "UploadFunctionRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "FunctionZip", - "Runtime", - "Role", - "Handler", - "Mode" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "location":"uri", - "locationName":"FunctionName", - "documentation":"

The name you want to assign to the function you are uploading. The function names appear in the console and are returned in the ListFunctions API. Function names are used to specify functions to other AWS Lambda APIs, such as InvokeAsync.

" - }, - "FunctionZip":{ - "shape":"Blob", - "documentation":"

A .zip file containing your packaged source code. For more information about creating a .zip file, go to AWS LambdaL How it Works in the AWS Lambda Developer Guide.

" - }, - "Runtime":{ - "shape":"Runtime", - "location":"querystring", - "locationName":"Runtime", - "documentation":"

The runtime environment for the Lambda function you are uploading. Currently, Lambda supports only \"nodejs\" as the runtime.

" - }, - "Role":{ - "shape":"RoleArn", - "location":"querystring", - "locationName":"Role", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.

" - }, - "Handler":{ - "shape":"Handler", - "location":"querystring", - "locationName":"Handler", - "documentation":"

The function that Lambda calls to begin execution. For Node.js, it is the module-name.export value in your function.

" - }, - "Mode":{ - "shape":"Mode", - "location":"querystring", - "locationName":"Mode", - "documentation":"

How the Lambda function will be invoked. Lambda supports only the \"event\" mode.

" - }, - "Description":{ - "shape":"Description", - "location":"querystring", - "locationName":"Description", - "documentation":"

A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

" - }, - "Timeout":{ - "shape":"Timeout", - "location":"querystring", - "locationName":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "location":"querystring", - "locationName":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, database operation might need less memory compared to image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" - } - }, - "payload":"FunctionZip" - }, - "Boolean":{"type":"boolean"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/examples-1.json deleted file mode 100644 index 9aea28ad..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/examples-1.json +++ /dev/null @@ -1,614 +0,0 @@ -{ - "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:1", - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/paginators-1.json deleted file mode 100644 index b2d1577f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "ListEventSourceMappings": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "MaxItems", - "result_key": "EventSourceMappings" - }, - "ListFunctions": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "MaxItems", - "result_key": "Functions" - }, - "ListAliases": { - "input_token": "Marker", - "output_token": "NextMarker", - "limit_key": "MaxItems", - "result_key": "Aliases" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/service-2.json deleted file mode 100644 index 6d406f88..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lambda/2015-03-31/service-2.json +++ /dev/null @@ -1,2442 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-03-31", - "endpointPrefix":"lambda", - "protocol":"rest-json", - "serviceFullName":"AWS Lambda", - "serviceId":"Lambda", - "signatureVersion":"v4", - "uid":"lambda-2015-03-31" - }, - "operations":{ - "AddPermission":{ - "name":"AddPermission", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/functions/{FunctionName}/policy", - "responseCode":201 - }, - "input":{"shape":"AddPermissionRequest"}, - "output":{"shape":"AddPermissionResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceConflictException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"PolicyLengthExceededException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function.

For information about the push model, see Lambda Functions.

If you are using versioning, the permissions you add are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:AddPermission action.

" - }, - "CreateAlias":{ - "name":"CreateAlias", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases", - "responseCode":201 - }, - "input":{"shape":"CreateAliasRequest"}, - "output":{"shape":"AliasConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceConflictException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Creates an alias that points to the specified Lambda function version. For more information, see Introduction to AWS Lambda Aliases.

Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.

" - }, - "CreateEventSourceMapping":{ - "name":"CreateEventSourceMapping", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/event-source-mappings/", - "responseCode":202 - }, - "input":{"shape":"CreateEventSourceMappingRequest"}, - "output":{"shape":"EventSourceMappingConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Identifies a poll-based event source for a Lambda function. It can be either an Amazon Kinesis or DynamoDB stream, or an Amazon SQS queue. AWS Lambda invokes the specified function when records are posted to the event source.

This association between a poll-based source and a Lambda function is called the event source mapping.

You provide mapping information (for example, which stream or SQS queue to read from and which Lambda function to invoke) in the request body.

Amazon Kinesis or DynamoDB stream event sources can be associated with multiple AWS Lambda functions and a given Lambda function can be associated with multiple AWS event sources. For Amazon SQS, you can configure multiple queues as event sources for a single Lambda function, but an SQS queue can be mapped only to a single Lambda function.

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", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/functions", - "responseCode":201 - }, - "input":{"shape":"CreateFunctionRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceConflictException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} - ], - "documentation":"

Creates a new Lambda function. The function metadata is created from the request parameters, and the code for the function is provided by a .zip file in the request body. If the function name already exists, the operation will fail. Note that the function name is case-sensitive.

If you are using versioning, you can also publish a version of the Lambda function you are creating using the Publish parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateFunction action.

" - }, - "DeleteAlias":{ - "name":"DeleteAlias", - "http":{ - "method":"DELETE", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases/{Name}", - "responseCode":204 - }, - "input":{"shape":"DeleteAliasRequest"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes the specified Lambda function alias. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:DeleteAlias action.

" - }, - "DeleteEventSourceMapping":{ - "name":"DeleteEventSourceMapping", - "http":{ - "method":"DELETE", - "requestUri":"/2015-03-31/event-source-mappings/{UUID}", - "responseCode":202 - }, - "input":{"shape":"DeleteEventSourceMappingRequest"}, - "output":{"shape":"EventSourceMappingConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the associated source.

This operation requires permission for the lambda:DeleteEventSourceMapping action.

" - }, - "DeleteFunction":{ - "name":"DeleteFunction", - "http":{ - "method":"DELETE", - "requestUri":"/2015-03-31/functions/{FunctionName}", - "responseCode":204 - }, - "input":{"shape":"DeleteFunctionRequest"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ResourceConflictException"} - ], - "documentation":"

Deletes the specified Lambda function code and configuration.

If you are using the versioning feature and you don't specify a function version in your DeleteFunction request, AWS Lambda will delete the function, including all its versions, and any aliases pointing to the function versions. To delete a specific function version, you must provide the function version via the Qualifier parameter. For information about function versioning, see AWS Lambda Function Versioning and Aliases.

When you delete a function the associated resource policy is also deleted. You will need to delete the event source mappings explicitly.

This operation requires permission for the lambda:DeleteFunction action.

" - }, - "DeleteFunctionConcurrency":{ - "name":"DeleteFunctionConcurrency", - "http":{ - "method":"DELETE", - "requestUri":"/2017-10-31/functions/{FunctionName}/concurrency", - "responseCode":204 - }, - "input":{"shape":"DeleteFunctionConcurrencyRequest"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Removes concurrent execution limits from this function. For more information, see concurrent-executions.

" - }, - "GetAccountSettings":{ - "name":"GetAccountSettings", - "http":{ - "method":"GET", - "requestUri":"/2016-08-19/account-settings/", - "responseCode":200 - }, - "input":{"shape":"GetAccountSettingsRequest"}, - "output":{"shape":"GetAccountSettingsResponse"}, - "errors":[ - {"shape":"TooManyRequestsException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Returns a customer's account settings.

You can use this operation to retrieve Lambda limits information, such as code size and concurrency limits. For more information about limits, see AWS Lambda Limits. You can also retrieve resource usage statistics, such as code storage usage and function count.

" - }, - "GetAlias":{ - "name":"GetAlias", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases/{Name}", - "responseCode":200 - }, - "input":{"shape":"GetAliasRequest"}, - "output":{"shape":"AliasConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Returns the specified alias information such as the alias ARN, description, and function version it is pointing to. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:GetAlias action.

" - }, - "GetEventSourceMapping":{ - "name":"GetEventSourceMapping", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/event-source-mappings/{UUID}", - "responseCode":200 - }, - "input":{"shape":"GetEventSourceMappingRequest"}, - "output":{"shape":"EventSourceMappingConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Returns configuration information for the specified event source mapping (see CreateEventSourceMapping).

This operation requires permission for the lambda:GetEventSourceMapping action.

" - }, - "GetFunction":{ - "name":"GetFunction", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}", - "responseCode":200 - }, - "input":{"shape":"GetFunctionRequest"}, - "output":{"shape":"GetFunctionResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you uploaded with CreateFunction so you can download the .zip file. Note that the URL is valid for up to 10 minutes. The configuration information is the same information you provided as parameters when uploading the function.

Using the optional Qualifier parameter, you can specify a specific function version for which you want this information. If you don't specify this parameter, the API uses unqualified function ARN which return information about the $LATEST version of the Lambda function. For more information, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunction action.

" - }, - "GetFunctionConfiguration":{ - "name":"GetFunctionConfiguration", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"GetFunctionConfigurationRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"} - ], - "documentation":"

Returns the configuration information of the Lambda function. This the same information you provided as parameters when uploading the function by using CreateFunction.

If you are using the versioning feature, you can retrieve this information for a specific function version by using the optional Qualifier parameter and specifying the function version or alias that points to it. If you don't provide it, the API returns information about the $LATEST version of the function. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunctionConfiguration operation.

" - }, - "GetPolicy":{ - "name":"GetPolicy", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}/policy", - "responseCode":200 - }, - "input":{"shape":"GetPolicyRequest"}, - "output":{"shape":"GetPolicyResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"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.

You need permission for the lambda:GetPolicy action.

" - }, - "Invoke":{ - "name":"Invoke", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/functions/{FunctionName}/invocations" - }, - "input":{"shape":"InvocationRequest"}, - "output":{"shape":"InvocationResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestContentException"}, - {"shape":"RequestTooLargeException"}, - {"shape":"UnsupportedMediaTypeException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"EC2UnexpectedException"}, - {"shape":"SubnetIPAddressLimitReachedException"}, - {"shape":"ENILimitReachedException"}, - {"shape":"EC2ThrottledException"}, - {"shape":"EC2AccessDeniedException"}, - {"shape":"InvalidSubnetIDException"}, - {"shape":"InvalidSecurityGroupIDException"}, - {"shape":"InvalidZipFileException"}, - {"shape":"KMSDisabledException"}, - {"shape":"KMSInvalidStateException"}, - {"shape":"KMSAccessDeniedException"}, - {"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.

The TooManyRequestsException noted below will return the following: ConcurrentInvocationLimitExceeded will be returned if you have no functions with reserved concurrency and have exceeded your account concurrent limit or if a function without reserved concurrency exceeds the account's unreserved concurrency limit. ReservedFunctionConcurrentInvocationLimitExceeded will be returned when a function with reserved concurrency exceeds its configured concurrency limit.

" - }, - "InvokeAsync":{ - "name":"InvokeAsync", - "http":{ - "method":"POST", - "requestUri":"/2014-11-13/functions/{FunctionName}/invoke-async/", - "responseCode":202 - }, - "input":{"shape":"InvokeAsyncRequest"}, - "output":{"shape":"InvokeAsyncResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"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.

", - "deprecated":true - }, - "ListAliases":{ - "name":"ListAliases", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases", - "responseCode":200 - }, - "input":{"shape":"ListAliasesRequest"}, - "output":{"shape":"ListAliasesResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Returns list of aliases created for a Lambda function. For each alias, the response includes information such as the alias ARN, description, alias name, and the function version to which it points. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:ListAliases action.

" - }, - "ListEventSourceMappings":{ - "name":"ListEventSourceMappings", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/event-source-mappings/", - "responseCode":200 - }, - "input":{"shape":"ListEventSourceMappingsRequest"}, - "output":{"shape":"ListEventSourceMappingsResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Returns a list of event source mappings you created using the CreateEventSourceMapping (see CreateEventSourceMapping).

For each mapping, the API returns configuration information. You can optionally specify filters to retrieve specific event source mappings.

If you are using the versioning feature, you can get list of event source mappings for a specific Lambda function version or an alias as described in the FunctionName parameter. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:ListEventSourceMappings action.

" - }, - "ListFunctions":{ - "name":"ListFunctions", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/", - "responseCode":200 - }, - "input":{"shape":"ListFunctionsRequest"}, - "output":{"shape":"ListFunctionsResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InvalidParameterValueException"} - ], - "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 the versioning feature, you can list all of your functions or only $LATEST versions. 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). For more information on Tagging, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - }, - "ListVersionsByFunction":{ - "name":"ListVersionsByFunction", - "http":{ - "method":"GET", - "requestUri":"/2015-03-31/functions/{FunctionName}/versions", - "responseCode":200 - }, - "input":{"shape":"ListVersionsByFunctionRequest"}, - "output":{"shape":"ListVersionsByFunctionResponse"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

List all versions of a function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" - }, - "PublishVersion":{ - "name":"PublishVersion", - "http":{ - "method":"POST", - "requestUri":"/2015-03-31/functions/{FunctionName}/versions", - "responseCode":201 - }, - "input":{"shape":"PublishVersionRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot of the function code and configuration information from $LATEST and publishes a new version. The code and configuration cannot be modified after publication. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" - }, - "PutFunctionConcurrency":{ - "name":"PutFunctionConcurrency", - "http":{ - "method":"PUT", - "requestUri":"/2017-10-31/functions/{FunctionName}/concurrency", - "responseCode":200 - }, - "input":{"shape":"PutFunctionConcurrencyRequest"}, - "output":{"shape":"Concurrency"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Sets a limit on the number of concurrent executions available to this function. It is a subset of your account's total concurrent execution limit per region. Note that Lambda automatically reserves a buffer of 100 concurrent executions for functions without any reserved concurrency limit. This means if your account limit is 1000, you have a total of 900 available to allocate to individual functions. For more information, see concurrent-executions.

" - }, - "RemovePermission":{ - "name":"RemovePermission", - "http":{ - "method":"DELETE", - "requestUri":"/2015-03-31/functions/{FunctionName}/policy/{StatementId}", - "responseCode":204 - }, - "input":{"shape":"RemovePermissionRequest"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PreconditionFailedException"} - ], - "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. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - }, - "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). For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - }, - "UpdateAlias":{ - "name":"UpdateAlias", - "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases/{Name}", - "responseCode":200 - }, - "input":{"shape":"UpdateAliasRequest"}, - "output":{"shape":"AliasConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Using this API you can update the function version to which the alias points and the alias description. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:UpdateAlias action.

" - }, - "UpdateEventSourceMapping":{ - "name":"UpdateEventSourceMapping", - "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/event-source-mappings/{UUID}", - "responseCode":202 - }, - "input":{"shape":"UpdateEventSourceMappingRequest"}, - "output":{"shape":"EventSourceMappingConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceConflictException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

You can update an event source mapping. This is useful if you want to change the parameters of the existing mapping without losing your position in the stream. You can change which function will receive the stream records, but to change the stream itself, you must create a new mapping.

If you are using the versioning feature, you can update the event source mapping to map to a specific Lambda function version or alias as described in the FunctionName parameter. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

If you disable the event source mapping, AWS Lambda stops polling. If you enable again, it will resume polling from the time it had stopped polling, so you don't lose processing of any records. However, if you delete event source mapping and create it again, it will reset.

This operation requires permission for the lambda:UpdateEventSourceMapping action.

" - }, - "UpdateFunctionCode":{ - "name":"UpdateFunctionCode", - "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/code", - "responseCode":200 - }, - "input":{"shape":"UpdateFunctionCodeRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda function and cannot be used to update the function configuration.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionCode action.

" - }, - "UpdateFunctionConfiguration":{ - "name":"UpdateFunctionConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/configuration", - "responseCode":200 - }, - "input":{"shape":"UpdateFunctionConfigurationRequest"}, - "output":{"shape":"FunctionConfiguration"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ResourceConflictException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

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.

" - } - }, - "shapes":{ - "AccountLimit":{ - "type":"structure", - "members":{ - "TotalCodeSize":{ - "shape":"Long", - "documentation":"

Maximum size, in bytes, of a code package you can upload per region. The default size is 75 GB.

" - }, - "CodeSizeUnzipped":{ - "shape":"Long", - "documentation":"

Size, in bytes, of code/dependencies that you can zip into a deployment package (uncompressed zip/jar size) for uploading. The default limit is 250 MB.

" - }, - "CodeSizeZipped":{ - "shape":"Long", - "documentation":"

Size, in bytes, of a single zipped code/dependencies package you can upload for your Lambda function(.zip/.jar file). Try using Amazon S3 for uploading larger files. Default limit is 50 MB.

" - }, - "ConcurrentExecutions":{ - "shape":"Integer", - "documentation":"

Number of simultaneous executions of your function per region. For more information or to request a limit increase for concurrent executions, see Lambda Function Concurrent Executions. The default limit is 1000.

" - }, - "UnreservedConcurrentExecutions":{ - "shape":"UnreservedConcurrentExecutions", - "documentation":"

The number of concurrent executions available to functions that do not have concurrency limits set. For more information, see concurrent-executions.

" - } - }, - "documentation":"

Provides limits of code size and concurrency associated with the current account and region.

" - }, - "AccountUsage":{ - "type":"structure", - "members":{ - "TotalCodeSize":{ - "shape":"Long", - "documentation":"

Total size, in bytes, of the account's deployment packages per region.

" - }, - "FunctionCount":{ - "shape":"Long", - "documentation":"

The number of your account's existing functions per region.

" - } - }, - "documentation":"

Provides code size usage and function count associated with the current account and region.

" - }, - "Action":{ - "type":"string", - "pattern":"(lambda:[*]|lambda:[a-zA-Z]+|[*])" - }, - "AddPermissionRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "StatementId", - "Action", - "Principal" - ], - "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 characters in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "StatementId":{ - "shape":"StatementId", - "documentation":"

A unique statement identifier.

" - }, - "Action":{ - "shape":"Action", - "documentation":"

The AWS Lambda action you want to allow in this statement. Each Lambda action is a string starting with lambda: followed by the API name . For example, lambda:CreateFunction. You can use wildcard (lambda:*) to grant permission for all AWS Lambda actions.

" - }, - "Principal":{ - "shape":"Principal", - "documentation":"

The principal who is getting this permission. It can be Amazon S3 service Principal (s3.amazonaws.com) if you want Amazon S3 to invoke the function, an AWS account ID if you are granting cross-account permission, or any valid AWS service principal such as sns.amazonaws.com. For example, you might want to allow a custom application in another AWS account to push events to AWS Lambda by invoking your function.

" - }, - "SourceArn":{ - "shape":"Arn", - "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 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", - "documentation":"

A unique token that must be supplied by the principal invoking the function. This is currently only used for Alexa Smart Home functions.

" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

You can use this optional query parameter to describe a qualified ARN using a function version or an alias name. The permission will then apply to the specific qualified ARN. For example, if you specify function version 2 as the qualifier, then permission applies only when request is made using qualified function ARN:

arn:aws:lambda:aws-region:acct-id:function:function-name:2

If you specify an alias name, for example PROD, then the permission is valid only for requests made using the alias ARN:

arn:aws:lambda:aws-region:acct-id:function:function-name:PROD

If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.

arn:aws:lambda:aws-region:acct-id:function:function-name

", - "location":"querystring", - "locationName":"Qualifier" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

" - } - }, - "documentation":"

" - }, - "AddPermissionResponse":{ - "type":"structure", - "members":{ - "Statement":{ - "shape":"String", - "documentation":"

The permission statement you specified in the request. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" - } - }, - "documentation":"

" - }, - "AdditionalVersion":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"[0-9]+" - }, - "AdditionalVersionWeights":{ - "type":"map", - "key":{"shape":"AdditionalVersion"}, - "value":{"shape":"Weight"} - }, - "Alias":{ - "type":"string", - "max":128, - "min":1, - "pattern":"(?!^[0-9]+$)([a-zA-Z0-9-_]+)" - }, - "AliasConfiguration":{ - "type":"structure", - "members":{ - "AliasArn":{ - "shape":"FunctionArn", - "documentation":"

Lambda function ARN that is qualified using the alias name as the suffix. For example, if you create an alias called BETA that points to a helloworld function version, the ARN is arn:aws:lambda:aws-regions:acct-id:function:helloworld:BETA.

" - }, - "Name":{ - "shape":"Alias", - "documentation":"

Alias name.

" - }, - "FunctionVersion":{ - "shape":"Version", - "documentation":"

Function version to which the alias points.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Alias description.

" - }, - "RoutingConfig":{ - "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional function versions the alias points to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see lambda-traffic-shifting-using-aliases.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" - } - }, - "documentation":"

Provides configuration information about a Lambda function version alias.

" - }, - "AliasList":{ - "type":"list", - "member":{"shape":"AliasConfiguration"} - }, - "AliasRoutingConfiguration":{ - "type":"structure", - "members":{ - "AdditionalVersionWeights":{ - "shape":"AdditionalVersionWeights", - "documentation":"

Set this value to dictate what percentage of traffic will invoke the updated function version. If set to an empty string, 100 percent of traffic will invoke function-version. For more information, see lambda-traffic-shifting-using-aliases.

" - } - }, - "documentation":"

The parent object that implements what percentage of traffic will invoke each function version. For more information, see lambda-traffic-shifting-using-aliases.

" - }, - "Arn":{ - "type":"string", - "pattern":"arn:aws:([a-zA-Z0-9\\-])+:([a-z]{2}-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" - }, - "BatchSize":{ - "type":"integer", - "max":10000, - "min":1 - }, - "Blob":{ - "type":"blob", - "sensitive":true - }, - "BlobStream":{ - "type":"blob", - "streaming":true - }, - "Boolean":{"type":"boolean"}, - "CodeStorageExceededException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

" - }, - "message":{"shape":"String"} - }, - "documentation":"

You have exceeded your maximum total code size per account. Limits

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Concurrency":{ - "type":"structure", - "members":{ - "ReservedConcurrentExecutions":{ - "shape":"ReservedConcurrentExecutions", - "documentation":"

The number of concurrent executions reserved for this function. For more information, see concurrent-executions.

" - } - } - }, - "CreateAliasRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "Name", - "FunctionVersion" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "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" - }, - "Name":{ - "shape":"Alias", - "documentation":"

Name for the alias you are creating.

" - }, - "FunctionVersion":{ - "shape":"Version", - "documentation":"

Lambda function version for which you are creating the alias.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Description of the alias.

" - }, - "RoutingConfig":{ - "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see lambda-traffic-shifting-using-aliases.

" - } - } - }, - "CreateEventSourceMappingRequest":{ - "type":"structure", - "required":[ - "EventSourceArn", - "FunctionName" - ], - "members":{ - "EventSourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the event source. Any record added to this source could cause AWS Lambda to invoke your Lambda function, it depends on the BatchSize. AWS Lambda POSTs the event's records to your Lambda function as JSON.

" - }, - "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 characters in length.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

Indicates whether AWS Lambda should begin polling the event source. By default, Enabled is true.

" - }, - "BatchSize":{ - "shape":"BatchSize", - "documentation":"

The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records. The default for Amazon Kinesis and Amazon DynamoDB is 100 records. For SQS, the default is 1.

" - }, - "StartingPosition":{ - "shape":"EventSourcePosition", - "documentation":"

The position in the DynamoDB or Kinesis stream where AWS Lambda should start reading. For more information, see GetShardIterator in the Amazon Kinesis API Reference Guide or GetShardIterator in the Amazon DynamoDB API Reference Guide. The AT_TIMESTAMP value is supported only for Kinesis streams.

" - }, - "StartingPositionTimestamp":{ - "shape":"Date", - "documentation":"

The timestamp of the data record from which to start reading. Used with shard iterator type AT_TIMESTAMP. If a record with this exact timestamp does not exist, the iterator returned is for the next (later) record. If the timestamp is older than the current trim horizon, the iterator returned is for the oldest untrimmed data record (TRIM_HORIZON). Valid only for Kinesis streams.

" - } - }, - "documentation":"

" - }, - "CreateFunctionRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "Runtime", - "Role", - "Handler", - "Code" - ], - "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. 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 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 .NET Core runtime v1.0, set the value to \"dotnetcore1.0\". To use the .NET Core runtime v2.0, set the value to \"dotnetcore2.0\".

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. Failure to do so will result in an invalid parameter 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", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources. For more information, see AWS Lambda: How it Works.

" - }, - "Handler":{ - "shape":"Handler", - "documentation":"

The function within your code that Lambda calls to begin execution. For Node.js, it is the module-name.export value in your function. For Java, it can be package.class-name::handler or package.class-name. For more information, see Lambda Function Handler (Java).

" - }, - "Code":{ - "shape":"FunctionCode", - "documentation":"

The code for the Lambda function.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. Lambda uses this memory size to infer the amount of CPU and memory allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" - }, - "Publish":{ - "shape":"Boolean", - "documentation":"

This boolean parameter can be used to request AWS Lambda to create the Lambda function and publish a version as an atomic operation.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" - }, - "DeadLetterConfig":{ - "shape":"DeadLetterConfig", - "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. For more information, see dlq.

" - }, - "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. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - } - }, - "documentation":"

" - }, - "Date":{"type":"timestamp"}, - "DeadLetterConfig":{ - "type":"structure", - "members":{ - "TargetArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic you specify as your Dead Letter Queue (DLQ). dlq. For more information, see dlq.

" - } - }, - "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic you specify as your Dead Letter Queue (DLQ). For more information, see dlq.

" - }, - "DeleteAliasRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "Name" - ], - "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. 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" - }, - "Name":{ - "shape":"Alias", - "documentation":"

Name of the alias to delete.

", - "location":"uri", - "locationName":"Name" - } - } - }, - "DeleteEventSourceMappingRequest":{ - "type":"structure", - "required":["UUID"], - "members":{ - "UUID":{ - "shape":"String", - "documentation":"

The event source mapping ID.

", - "location":"uri", - "locationName":"UUID" - } - }, - "documentation":"

" - }, - "DeleteFunctionConcurrencyRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The name of the function you are removing concurrent execution limits from. For more information, see concurrent-executions.

", - "location":"uri", - "locationName":"FunctionName" - } - } - }, - "DeleteFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function to delete.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

Using this optional parameter you can specify a function version (but not the $LATEST version) to direct AWS Lambda to delete a specific function version. If the function version has one or more aliases pointing to it, you will get an error because you cannot have aliases pointing to it. You can delete any function version but not the $LATEST, that is, you cannot specify $LATEST as the value of this parameter. The $LATEST version can be deleted only when you want to delete all the function versions and aliases.

You can only specify a function version, not an alias name, using this parameter. You cannot delete a function version using its alias.

If you don't specify this parameter, AWS Lambda will delete the function, including all of its versions and aliases.

", - "location":"querystring", - "locationName":"Qualifier" - } - } - }, - "Description":{ - "type":"string", - "max":256, - "min":0 - }, - "EC2AccessDeniedException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "EC2ThrottledException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

AWS Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role provided for the Lambda function.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "EC2UnexpectedException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"}, - "EC2ErrorCode":{"shape":"String"} - }, - "documentation":"

AWS Lambda received an unexpected EC2 client exception while setting up for the Lambda function.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "ENILimitReachedException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

AWS Lambda was not able to create an Elastic Network Interface (ENI) in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "Enabled":{"type":"boolean"}, - "Environment":{ - "type":"structure", - "members":{ - "Variables":{ - "shape":"EnvironmentVariables", - "documentation":"

The key-value pairs that represent your environment's configuration settings.

" - } - }, - "documentation":"

The parent object that contains your environment's configuration settings.

" - }, - "EnvironmentError":{ - "type":"structure", - "members":{ - "ErrorCode":{ - "shape":"String", - "documentation":"

The error code returned by the environment error object.

" - }, - "Message":{ - "shape":"SensitiveString", - "documentation":"

The message returned by the environment error object.

" - } - }, - "documentation":"

The parent object that contains error information associated with your configuration settings.

" - }, - "EnvironmentResponse":{ - "type":"structure", - "members":{ - "Variables":{ - "shape":"EnvironmentVariables", - "documentation":"

The key-value pairs returned that represent your environment's configuration settings or error information.

" - }, - "Error":{"shape":"EnvironmentError"} - }, - "documentation":"

The parent object returned that contains your environment's configuration settings or any error information associated with your configuration settings.

" - }, - "EnvironmentVariableName":{ - "type":"string", - "pattern":"[a-zA-Z]([a-zA-Z0-9_])+", - "sensitive":true - }, - "EnvironmentVariableValue":{ - "type":"string", - "sensitive":true - }, - "EnvironmentVariables":{ - "type":"map", - "key":{"shape":"EnvironmentVariableName"}, - "value":{"shape":"EnvironmentVariableValue"}, - "sensitive":true - }, - "EventSourceMappingConfiguration":{ - "type":"structure", - "members":{ - "UUID":{ - "shape":"String", - "documentation":"

The AWS Lambda assigned opaque identifier for the mapping.

" - }, - "BatchSize":{ - "shape":"BatchSize", - "documentation":"

The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records.

" - }, - "EventSourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream or the SQS queue that is the source of events.

" - }, - "FunctionArn":{ - "shape":"FunctionArn", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the poll-based source.

" - }, - "LastModified":{ - "shape":"Date", - "documentation":"

The UTC time string indicating the last time the event mapping was updated.

" - }, - "LastProcessingResult":{ - "shape":"String", - "documentation":"

The result of the last AWS Lambda invocation of your Lambda function.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the event source mapping. It can be Creating, Enabled, Disabled, Enabling, Disabling, Updating, or Deleting.

" - }, - "StateTransitionReason":{ - "shape":"String", - "documentation":"

The reason the event source mapping is in its current state. It is either user-requested or an AWS Lambda-initiated state transition.

" - } - }, - "documentation":"

Describes mapping between an Amazon Kinesis or DynamoDB stream or an Amazon SQS queue and a Lambda function.

" - }, - "EventSourceMappingsList":{ - "type":"list", - "member":{"shape":"EventSourceMappingConfiguration"} - }, - "EventSourcePosition":{ - "type":"string", - "enum":[ - "TRIM_HORIZON", - "LATEST", - "AT_TIMESTAMP" - ] - }, - "EventSourceToken":{ - "type":"string", - "max":256, - "min":0, - "pattern":"[a-zA-Z0-9._\\-]+" - }, - "FunctionArn":{ - "type":"string", - "pattern":"arn:aws:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" - }, - "FunctionCode":{ - "type":"structure", - "members":{ - "ZipFile":{ - "shape":"Blob", - "documentation":"

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see Execution Permissions in the AWS Lambda Developer Guide.

" - }, - "S3Bucket":{ - "shape":"S3Bucket", - "documentation":"

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.

" - }, - "S3Key":{ - "shape":"S3Key", - "documentation":"

The Amazon S3 object (the deployment package) key name you want to upload.

" - }, - "S3ObjectVersion":{ - "shape":"S3ObjectVersion", - "documentation":"

The Amazon S3 object (the deployment package) version you want to upload.

" - } - }, - "documentation":"

The code for the Lambda function.

" - }, - "FunctionCodeLocation":{ - "type":"structure", - "members":{ - "RepositoryType":{ - "shape":"String", - "documentation":"

The repository from which you can download the function.

" - }, - "Location":{ - "shape":"String", - "documentation":"

The presigned URL you can use to download the function's .zip file that you previously uploaded. The URL is valid for up to 10 minutes.

" - } - }, - "documentation":"

The object for the Lambda function location.

" - }, - "FunctionConfiguration":{ - "type":"structure", - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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":"NameSpacedFunctionArn", - "documentation":"

The Amazon Resource Name (ARN) assigned to the function.

" - }, - "Runtime":{ - "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

" - }, - "Role":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.

" - }, - "Handler":{ - "shape":"Handler", - "documentation":"

The function Lambda calls to begin executing your function.

" - }, - "CodeSize":{ - "shape":"Long", - "documentation":"

The size, in bytes, of the function .zip file you uploaded.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The user-provided description.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "documentation":"

The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.

" - }, - "LastModified":{ - "shape":"Timestamp", - "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", - "documentation":"

It is the SHA256 hash of your function deployment package.

" - }, - "Version":{ - "shape":"Version", - "documentation":"

The version of the Lambda function.

" - }, - "VpcConfig":{ - "shape":"VpcConfigResponse", - "documentation":"

VPC configuration associated with your Lambda function.

" - }, - "DeadLetterConfig":{ - "shape":"DeadLetterConfig", - "documentation":"

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. For more information, see dlq.

" - }, - "Environment":{ - "shape":"EnvironmentResponse", - "documentation":"

The parent object that contains your environment's configuration settings.

" - }, - "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.

" - }, - "MasterArn":{ - "shape":"FunctionArn", - "documentation":"

Returns the ARN (Amazon Resource Name) of the master function.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" - } - }, - "documentation":"

A complex type that describes function metadata.

" - }, - "FunctionList":{ - "type":"list", - "member":{"shape":"FunctionConfiguration"} - }, - "FunctionName":{ - "type":"string", - "max":140, - "min":1, - "pattern":"(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" - }, - "FunctionVersion":{ - "type":"string", - "enum":["ALL"] - }, - "GetAccountSettingsRequest":{ - "type":"structure", - "members":{ - } - }, - "GetAccountSettingsResponse":{ - "type":"structure", - "members":{ - "AccountLimit":{"shape":"AccountLimit"}, - "AccountUsage":{"shape":"AccountUsage"} - } - }, - "GetAliasRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "Name" - ], - "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. 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" - }, - "Name":{ - "shape":"Alias", - "documentation":"

Name of the alias for which you want to retrieve information.

", - "location":"uri", - "locationName":"Name" - } - } - }, - "GetEventSourceMappingRequest":{ - "type":"structure", - "required":["UUID"], - "members":{ - "UUID":{ - "shape":"String", - "documentation":"

The AWS Lambda assigned ID of the event source mapping.

", - "location":"uri", - "locationName":"UUID" - } - }, - "documentation":"

" - }, - "GetFunctionConfigurationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

Using this optional parameter you can specify a function version or an alias name. If you specify function version, the API uses qualified function ARN and returns information about the specific function version. If you specify an alias name, the API uses the alias ARN and returns information about the function version to which the alias points.

If you don't specify this parameter, the API uses unqualified function ARN, and returns information about the $LATEST function version.

", - "location":"querystring", - "locationName":"Qualifier" - } - }, - "documentation":"

" - }, - "GetFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

Use this optional parameter to specify a function version or an alias name. If you specify function version, the API uses qualified function ARN for the request and returns information about the specific Lambda function version. If you specify an alias name, the API uses the alias ARN and returns information about the function version to which the alias points. If you don't provide this parameter, the API uses unqualified function ARN and returns information about the $LATEST version of the Lambda function.

", - "location":"querystring", - "locationName":"Qualifier" - } - }, - "documentation":"

" - }, - "GetFunctionResponse":{ - "type":"structure", - "members":{ - "Configuration":{"shape":"FunctionConfiguration"}, - "Code":{"shape":"FunctionCodeLocation"}, - "Tags":{ - "shape":"Tags", - "documentation":"

Returns the list of tags associated with the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - }, - "Concurrency":{ - "shape":"Concurrency", - "documentation":"

The concurrent execution limit set for this function. For more information, see concurrent-executions.

" - } - }, - "documentation":"

This response contains the object for the Lambda function location (see FunctionCodeLocation.

" - }, - "GetPolicyRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

You can specify this optional query parameter to specify a function version or an alias name in which case this API will return all permissions associated with the specific qualified ARN. If you don't provide this parameter, the API will return permissions that apply to the unqualified function ARN.

", - "location":"querystring", - "locationName":"Qualifier" - } - }, - "documentation":"

" - }, - "GetPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"String", - "documentation":"

The resource policy associated with the specified function. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

Represents the latest updated revision of the function or alias.

" - } - }, - "documentation":"

" - }, - "Handler":{ - "type":"string", - "max":128, - "pattern":"[^\\s]+" - }, - "HttpStatus":{"type":"integer"}, - "Integer":{"type":"integer"}, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

" - }, - "message":{ - "shape":"String", - "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.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidRequestContentException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

" - }, - "message":{ - "shape":"String", - "documentation":"

" - } - }, - "documentation":"

The request body could not be parsed as JSON.

", - "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":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

The Security Group ID provided in the Lambda function VPC configuration is invalid.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "InvalidSubnetIDException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

The Subnet ID provided in the Lambda function VPC configuration is invalid.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "InvalidZipFileException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

AWS Lambda could not unzip the function zip file.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "InvocationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "InvocationType":{ - "shape":"InvocationType", - "documentation":"

By default, the Invoke API assumes RequestResponse invocation type. You can optionally request asynchronous execution by specifying Event as the InvocationType. You can also use this parameter to request AWS Lambda to not execute the function but do some verification, such as if the caller is authorized to invoke the function and if the inputs are valid. You request this by specifying DryRun as the InvocationType. This is useful in a cross-account scenario when you want to verify access to a function without running it.

", - "location":"header", - "locationName":"X-Amz-Invocation-Type" - }, - "LogType":{ - "shape":"LogType", - "documentation":"

You can set this optional parameter to Tail in the request only if you specify the InvocationType parameter with value RequestResponse. In this case, AWS Lambda returns the base64-encoded last 4 KB of log data produced by your Lambda function in the x-amz-log-result header.

", - "location":"header", - "locationName":"X-Amz-Log-Type" - }, - "ClientContext":{ - "shape":"String", - "documentation":"

Using the ClientContext you can pass client-specific information to the Lambda function you are invoking. You can then process the client information in your Lambda function as you choose through the context variable. For an example of a ClientContext JSON, see PutEvents in the Amazon Mobile Analytics API Reference and User Guide.

The ClientContext JSON must be base64-encoded and has a maximum size of 3583 bytes.

", - "location":"header", - "locationName":"X-Amz-Client-Context" - }, - "Payload":{ - "shape":"Blob", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

You can use this optional parameter to specify a Lambda function version or alias name. If you specify a function version, the API uses the qualified function ARN to invoke a specific Lambda function. If you specify an alias name, the API uses the alias ARN to invoke the Lambda function version to which the alias points.

If you don't provide this parameter, then the API uses unqualified function ARN which results in invocation of the $LATEST version.

", - "location":"querystring", - "locationName":"Qualifier" - } - }, - "documentation":"

", - "payload":"Payload" - }, - "InvocationResponse":{ - "type":"structure", - "members":{ - "StatusCode":{ - "shape":"Integer", - "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":{ - "shape":"String", - "documentation":"

Indicates whether an error occurred while executing the Lambda function. If an error occurred this field will have one of two values; Handled or Unhandled. Handled errors are errors that are reported by the function while the Unhandled errors are those detected and reported by AWS Lambda. Unhandled errors include out of memory errors and function timeouts. For information about how to report an Handled error, see Programming Model.

", - "location":"header", - "locationName":"X-Amz-Function-Error" - }, - "LogResult":{ - "shape":"String", - "documentation":"

It is the base64-encoded logs for the Lambda function invocation. This is present only if the invocation type is RequestResponse and the logs were requested.

", - "location":"header", - "locationName":"X-Amz-Log-Result" - }, - "Payload":{ - "shape":"Blob", - "documentation":"

It is the JSON representation of the object returned by the Lambda function. This is present only if the invocation type is RequestResponse.

In the event of a function error this field contains a message describing the error. For the Handled errors the Lambda function will report this message. For Unhandled errors AWS Lambda reports the message.

" - }, - "ExecutedVersion":{ - "shape":"Version", - "documentation":"

The function version that has been executed. This value is returned only if the invocation type is RequestResponse. For more information, see lambda-traffic-shifting-using-aliases.

", - "location":"header", - "locationName":"X-Amz-Executed-Version" - } - }, - "documentation":"

Upon success, returns an empty response. Otherwise, throws an exception.

", - "payload":"Payload" - }, - "InvocationType":{ - "type":"string", - "enum":[ - "Event", - "RequestResponse", - "DryRun" - ] - }, - "InvokeAsyncRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "InvokeArgs" - ], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "InvokeArgs":{ - "shape":"BlobStream", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" - } - }, - "documentation":"

", - "deprecated":true, - "payload":"InvokeArgs" - }, - "InvokeAsyncResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"HttpStatus", - "documentation":"

It will be 202 upon success.

", - "location":"statusCode" - } - }, - "documentation":"

Upon success, it returns empty response. Otherwise, throws an exception.

", - "deprecated":true - }, - "KMSAccessDeniedException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

Lambda was unable to decrypt the environment variables because KMS access was denied. Check the Lambda function's KMS permissions.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "KMSDisabledException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key used is disabled. Check the Lambda function's KMS key settings.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "KMSInvalidStateException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key used is in an invalid state for Decrypt. Check the function's KMS key settings.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "KMSKeyArn":{ - "type":"string", - "pattern":"(arn:aws:[a-z0-9-.]+:.*)|()" - }, - "KMSNotFoundException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key was not found. Check the function's KMS key settings.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "ListAliasesRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "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" - }, - "FunctionVersion":{ - "shape":"Version", - "documentation":"

If you specify this optional parameter, the API returns only the aliases that are pointing to the specific Lambda function version, otherwise the API returns all of the aliases created for the Lambda function.

", - "location":"querystring", - "locationName":"FunctionVersion" - }, - "Marker":{ - "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListAliases operation. If present, indicates where to continue the listing.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of aliases to return in response. This parameter value must be greater than 0.

", - "location":"querystring", - "locationName":"MaxItems" - } - } - }, - "ListAliasesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more aliases.

" - }, - "Aliases":{ - "shape":"AliasList", - "documentation":"

A list of aliases.

" - } - } - }, - "ListEventSourceMappingsRequest":{ - "type":"structure", - "members":{ - "EventSourceArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis or DynamoDB stream, or an SQS queue. (This parameter is optional.)

", - "location":"querystring", - "locationName":"EventSourceArn" - }, - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", - "location":"querystring", - "locationName":"FunctionName" - }, - "Marker":{ - "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListEventSourceMappings operation. If present, specifies to continue the list from where the returning call left off.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of event sources to return in response. This value must be greater than 0.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

" - }, - "ListEventSourceMappingsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more event source mappings.

" - }, - "EventSourceMappings":{ - "shape":"EventSourceMappingsList", - "documentation":"

An array of EventSourceMappingConfiguration objects.

" - } - }, - "documentation":"

Contains a list of event sources (see EventSourceMappingConfiguration)

" - }, - "ListFunctionsRequest":{ - "type":"structure", - "members":{ - "MasterRegion":{ - "shape":"MasterRegion", - "documentation":"

Optional string. If not specified, will return only regular function versions (i.e., non-replicated versions).

Valid values are:

The region from which the functions are replicated. For example, if you specify us-east-1, only functions replicated from that region will be returned.

ALL: Will return all functions from any region. If specified, you also must specify a valid FunctionVersion parameter.

", - "location":"querystring", - "locationName":"MasterRegion" - }, - "FunctionVersion":{ - "shape":"FunctionVersion", - "documentation":"

Optional string. If not specified, only the unqualified functions ARNs (Amazon Resource Names) will be returned.

Valid value:

ALL: Will return all versions, including $LATEST which will have fully qualified ARNs (Amazon Resource Names).

", - "location":"querystring", - "locationName":"FunctionVersion" - }, - "Marker":{ - "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

" - }, - "ListFunctionsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more functions.

" - }, - "Functions":{ - "shape":"FunctionList", - "documentation":"

A list of Lambda functions.

" - } - }, - "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. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", - "location":"uri", - "locationName":"ARN" - } - } - }, - "ListTagsResponse":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"Tags", - "documentation":"

The list of tags assigned to the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - } - } - }, - "ListVersionsByFunctionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"NamespacedFunctionName", - "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" - }, - "Marker":{ - "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListVersionsByFunction operation. If present, indicates where to continue the listing.

", - "location":"querystring", - "locationName":"Marker" - }, - "MaxItems":{ - "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda function versions to return in response. This parameter value must be greater than 0.

", - "location":"querystring", - "locationName":"MaxItems" - } - }, - "documentation":"

" - }, - "ListVersionsByFunctionResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more function versions.

" - }, - "Versions":{ - "shape":"FunctionList", - "documentation":"

A list of Lambda function versions.

" - } - }, - "documentation":"

" - }, - "LogType":{ - "type":"string", - "enum":[ - "None", - "Tail" - ] - }, - "Long":{"type":"long"}, - "MasterRegion":{ - "type":"string", - "pattern":"ALL|[a-z]{2}(-gov)?-[a-z]+-\\d{1}" - }, - "MaxListItems":{ - "type":"integer", - "max":10000, - "min":1 - }, - "MemorySize":{ - "type":"integer", - "max":3008, - "min":128 - }, - "NameSpacedFunctionArn":{ - "type":"string", - "pattern":"arn:aws:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" - }, - "NamespacedFunctionName":{ - "type":"string", - "max":170, - "min":1, - "pattern":"(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_\\.]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" - }, - "NamespacedStatementId":{ - "type":"string", - "max":100, - "min":1, - "pattern":"([a-zA-Z0-9-_.]+)" - }, - "PolicyLengthExceededException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "documentation":"

Lambda function access policy is limited to 20 KB.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "PreconditionFailedException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

" - }, - "message":{ - "shape":"String", - "documentation":"

" - } - }, - "documentation":"

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve the latest RevisionId for your resource.

", - "error":{"httpStatusCode":412}, - "exception":true - }, - "Principal":{ - "type":"string", - "pattern":".*" - }, - "PublishVersionRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function name. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "CodeSha256":{ - "shape":"String", - "documentation":"

The SHA256 hash of the deployment package you want to publish. This provides validation on the code you are publishing. If you provide this parameter, the value must match the SHA256 of the $LATEST version for the publication to succeed. You can use the DryRun parameter of UpdateFunctionCode to verify the hash value that will be returned before publishing your new version.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

" - } - }, - "documentation":"

" - }, - "PutFunctionConcurrencyRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "ReservedConcurrentExecutions" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The name of the function you are setting concurrent execution limits on. For more information, see concurrent-executions.

", - "location":"uri", - "locationName":"FunctionName" - }, - "ReservedConcurrentExecutions":{ - "shape":"ReservedConcurrentExecutions", - "documentation":"

The concurrent execution limit reserved for this function. For more information, see concurrent-executions.

" - } - } - }, - "Qualifier":{ - "type":"string", - "max":128, - "min":1, - "pattern":"(|[a-zA-Z0-9$_-]+)" - }, - "RemovePermissionRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "StatementId" - ], - "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 characters in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "StatementId":{ - "shape":"NamespacedStatementId", - "documentation":"

Statement ID of the permission to remove.

", - "location":"uri", - "locationName":"StatementId" - }, - "Qualifier":{ - "shape":"Qualifier", - "documentation":"

You can specify this optional parameter to remove permission associated with a specific function version or function alias. If you don't specify this parameter, the API removes permission associated with the unqualified function ARN.

", - "location":"querystring", - "locationName":"Qualifier" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

", - "location":"querystring", - "locationName":"RevisionId" - } - }, - "documentation":"

" - }, - "RequestTooLargeException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "documentation":"

The request payload exceeded the Invoke request body JSON input limit. For more information, see Limits.

", - "error":{"httpStatusCode":413}, - "exception":true - }, - "ReservedConcurrentExecutions":{ - "type":"integer", - "min":0 - }, - "ResourceArn":{ - "type":"string", - "pattern":"(arn:aws:[a-z0-9-.]+:.*)|()" - }, - "ResourceConflictException":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

" - }, - "message":{ - "shape":"String", - "documentation":"

" - } - }, - "documentation":"

The resource already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to update an EventSoure Mapping in CREATING, or tried to delete a EventSoure mapping currently in the UPDATING state.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "RoleArn":{ - "type":"string", - "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" - }, - "Runtime":{ - "type":"string", - "enum":[ - "nodejs", - "nodejs4.3", - "nodejs6.10", - "nodejs8.10", - "java8", - "python2.7", - "python3.6", - "dotnetcore1.0", - "dotnetcore2.0", - "dotnetcore2.1", - "nodejs4.3-edge", - "go1.x" - ] - }, - "S3Bucket":{ - "type":"string", - "max":63, - "min":3, - "pattern":"^[0-9A-Za-z\\.\\-_]*(?The AWS Lambda service encountered an internal error.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "SourceOwner":{ - "type":"string", - "pattern":"\\d{12}" - }, - "StatementId":{ - "type":"string", - "max":100, - "min":1, - "pattern":"([a-zA-Z0-9-_]+)" - }, - "String":{"type":"string"}, - "SubnetIPAddressLimitReachedException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

AWS Lambda was not able to set up VPC access for the Lambda function because one or more configured subnets has no available IP addresses.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "SubnetId":{"type":"string"}, - "SubnetIds":{ - "type":"list", - "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. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", - "location":"uri", - "locationName":"ARN" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The list of tags (key-value pairs) you are assigning to the Lambda function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

" - } - } - }, - "TagValue":{"type":"string"}, - "Tags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"} - }, - "ThrottleReason":{ - "type":"string", - "enum":[ - "ConcurrentInvocationLimitExceeded", - "FunctionInvocationRateLimitExceeded", - "ReservedFunctionConcurrentInvocationLimitExceeded", - "ReservedFunctionInvocationRateLimitExceeded", - "CallerRateLimitExceeded" - ] - }, - "Timeout":{ - "type":"integer", - "min":1 - }, - "Timestamp":{"type":"string"}, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"String", - "documentation":"

The number of seconds the caller should wait before retrying.

", - "location":"header", - "locationName":"Retry-After" - }, - "Type":{"shape":"String"}, - "message":{"shape":"String"}, - "Reason":{"shape":"ThrottleReason"} - }, - "documentation":"

", - "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" - ] - }, - "UnreservedConcurrentExecutions":{ - "type":"integer", - "min":0 - }, - "UnsupportedMediaTypeException":{ - "type":"structure", - "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "documentation":"

The content type of the Invoke request body is not JSON.

", - "error":{"httpStatusCode":415}, - "exception":true - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "Resource", - "TagKeys" - ], - "members":{ - "Resource":{ - "shape":"FunctionArn", - "documentation":"

The ARN (Amazon Resource Name) of the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", - "location":"uri", - "locationName":"ARN" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The list of tag keys to be deleted from the function. For more information, see Tagging Lambda Functions in the AWS Lambda Developer Guide.

", - "location":"querystring", - "locationName":"tagKeys" - } - } - }, - "UpdateAliasRequest":{ - "type":"structure", - "required":[ - "FunctionName", - "Name" - ], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "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" - }, - "Name":{ - "shape":"Alias", - "documentation":"

The alias name.

", - "location":"uri", - "locationName":"Name" - }, - "FunctionVersion":{ - "shape":"Version", - "documentation":"

Using this parameter you can change the Lambda function version to which the alias points.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

You can change the description of the alias using this parameter.

" - }, - "RoutingConfig":{ - "shape":"AliasRoutingConfiguration", - "documentation":"

Specifies an additional version your alias can point to, allowing you to dictate what percentage of traffic will invoke each version. For more information, see lambda-traffic-shifting-using-aliases.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

" - } - } - }, - "UpdateEventSourceMappingRequest":{ - "type":"structure", - "required":["UUID"], - "members":{ - "UUID":{ - "shape":"String", - "documentation":"

The event source mapping identifier.

", - "location":"uri", - "locationName":"UUID" - }, - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function to which you want the stream records sent.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). 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", - "documentation":"

Specifies whether AWS Lambda should actively poll the stream or not. If disabled, AWS Lambda will not poll the stream.

" - }, - "BatchSize":{ - "shape":"BatchSize", - "documentation":"

The maximum number of stream records that can be sent to your Lambda function for a single invocation.

" - } - }, - "documentation":"

" - }, - "UpdateFunctionCodeRequest":{ - "type":"structure", - "required":["FunctionName"], - "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 characters in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "ZipFile":{ - "shape":"Blob", - "documentation":"

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see Execution Permissions.

" - }, - "S3Bucket":{ - "shape":"S3Bucket", - "documentation":"

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS Region where you are creating the Lambda function.

" - }, - "S3Key":{ - "shape":"S3Key", - "documentation":"

The Amazon S3 object (the deployment package) key name you want to upload.

" - }, - "S3ObjectVersion":{ - "shape":"S3ObjectVersion", - "documentation":"

The Amazon S3 object (the deployment package) version you want to upload.

" - }, - "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 of the provided code will also be computed and returned in the response.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

" - } - }, - "documentation":"

" - }, - "UpdateFunctionConfigurationRequest":{ - "type":"structure", - "required":["FunctionName"], - "members":{ - "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", - "location":"uri", - "locationName":"FunctionName" - }, - "Role":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

" - }, - "Handler":{ - "shape":"Handler", - "documentation":"

The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A short user-defined function description. AWS Lambda does not use this value. Assign a meaningful description as you see fit.

" - }, - "Timeout":{ - "shape":"Timeout", - "documentation":"

The function execution time at which AWS Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" - }, - "MemorySize":{ - "shape":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. AWS Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" - }, - "VpcConfig":{"shape":"VpcConfig"}, - "Environment":{ - "shape":"Environment", - "documentation":"

The parent object that contains your environment's configuration settings.

" - }, - "Runtime":{ - "shape":"Runtime", - "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 .NET Core runtime v1.0, set the value to \"dotnetcore1.0\". To use the .NET Core runtime v2.0, set the value to \"dotnetcore2.0\".

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. Failure to do so will result in an invalid parameter 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 ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. For more information, see dlq.

" - }, - "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.

" - }, - "RevisionId":{ - "shape":"String", - "documentation":"

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

" - } - }, - "documentation":"

" - }, - "Version":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"(\\$LATEST|[0-9]+)" - }, - "VpcConfig":{ - "type":"structure", - "members":{ - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

A list of one or more subnet IDs in your VPC.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIds", - "documentation":"

A list of one or more security groups IDs in your VPC.

" - } - }, - "documentation":"

If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" - }, - "VpcConfigResponse":{ - "type":"structure", - "members":{ - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

A list of subnet IDs associated with the Lambda function.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIds", - "documentation":"

A list of security group IDs associated with the Lambda function.

" - }, - "VpcId":{ - "shape":"VpcId", - "documentation":"

The VPC ID associated with you Lambda function.

" - } - }, - "documentation":"

VPC configuration associated with your Lambda function.

" - }, - "VpcId":{"type":"string"}, - "Weight":{ - "type":"double", - "max":1.0, - "min":0.0 - } - }, - "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, see What is AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/paginators-1.json deleted file mode 100644 index 02d23082..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/paginators-1.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "pagination": { - "GetSlotTypeVersions": { - "result_key": "slotTypes", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetSlotTypes": { - "result_key": "slotTypes", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetIntents": { - "result_key": "intents", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBotChannelAssociations": { - "result_key": "botChannelAssociations", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBots": { - "result_key": "bots", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBuiltinSlotTypes": { - "result_key": "slotTypes", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetIntentVersions": { - "result_key": "intents", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBotAliases": { - "result_key": "BotAliases", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBuiltinIntents": { - "result_key": "intents", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "GetBotVersions": { - "result_key": "bots", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/service-2.json deleted file mode 100644 index 63d4a087..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-models/2017-04-19/service-2.json +++ /dev/null @@ -1,3271 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-04-19", - "endpointPrefix":"models.lex", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"Amazon Lex Model Building Service", - "serviceId":"Lex Model Building Service", - "signatureVersion":"v4", - "signingName":"lex", - "uid":"lex-models-2017-04-19" - }, - "operations":{ - "CreateBotVersion":{ - "name":"CreateBotVersion", - "http":{ - "method":"POST", - "requestUri":"/bots/{name}/versions", - "responseCode":201 - }, - "input":{"shape":"CreateBotVersionRequest"}, - "output":{"shape":"CreateBotVersionResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Creates a new version of the bot based on the $LATEST version. If the $LATEST version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version.

You can update only the $LATEST version of the bot. You can't update the numbered versions that you create with the CreateBotVersion operation.

When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permission for the lex:CreateBotVersion action.

" - }, - "CreateIntentVersion":{ - "name":"CreateIntentVersion", - "http":{ - "method":"POST", - "requestUri":"/intents/{name}/versions", - "responseCode":201 - }, - "input":{"shape":"CreateIntentVersionRequest"}, - "output":{"shape":"CreateIntentVersionResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Creates a new version of an intent based on the $LATEST version of the intent. If the $LATEST version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created.

You can update only the $LATEST version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion operation.

When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions to perform the lex:CreateIntentVersion action.

" - }, - "CreateSlotTypeVersion":{ - "name":"CreateSlotTypeVersion", - "http":{ - "method":"POST", - "requestUri":"/slottypes/{name}/versions", - "responseCode":201 - }, - "input":{"shape":"CreateSlotTypeVersionRequest"}, - "output":{"shape":"CreateSlotTypeVersionResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Creates a new version of a slot type based on the $LATEST version of the specified slot type. If the $LATEST version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.

You can update only the $LATEST version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion operation.

When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions for the lex:CreateSlotTypeVersion action.

" - }, - "DeleteBot":{ - "name":"DeleteBot", - "http":{ - "method":"DELETE", - "requestUri":"/bots/{name}", - "responseCode":204 - }, - "input":{"shape":"DeleteBotRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes all versions of the bot, including the $LATEST version. To delete a specific version of the bot, use the DeleteBotVersion operation.

If a bot has an alias, you can't delete it. Instead, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot operation is successful.

This operation requires permissions for the lex:DeleteBot action.

" - }, - "DeleteBotAlias":{ - "name":"DeleteBotAlias", - "http":{ - "method":"DELETE", - "requestUri":"/bots/{botName}/aliases/{name}", - "responseCode":204 - }, - "input":{"shape":"DeleteBotAliasRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes an alias for the specified bot.

You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias operation is successful.

" - }, - "DeleteBotChannelAssociation":{ - "name":"DeleteBotChannelAssociation", - "http":{ - "method":"DELETE", - "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", - "responseCode":204 - }, - "input":{"shape":"DeleteBotChannelAssociationRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Deletes the association between an Amazon Lex bot and a messaging platform.

This operation requires permission for the lex:DeleteBotChannelAssociation action.

" - }, - "DeleteBotVersion":{ - "name":"DeleteBotVersion", - "http":{ - "method":"DELETE", - "requestUri":"/bots/{name}/versions/{version}", - "responseCode":204 - }, - "input":{"shape":"DeleteBotVersionRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

This operation requires permissions for the lex:DeleteBotVersion action.

" - }, - "DeleteIntent":{ - "name":"DeleteIntent", - "http":{ - "method":"DELETE", - "requestUri":"/intents/{name}", - "responseCode":204 - }, - "input":{"shape":"DeleteIntentRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes all versions of the intent, including the $LATEST version. To delete a specific version of the intent, use the DeleteIntentVersion operation.

You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first.

If you get the ResourceInUseException exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent is successful.

This operation requires permission for the lex:DeleteIntent action.

" - }, - "DeleteIntentVersion":{ - "name":"DeleteIntentVersion", - "http":{ - "method":"DELETE", - "requestUri":"/intents/{name}/versions/{version}", - "responseCode":204 - }, - "input":{"shape":"DeleteIntentVersionRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes a specific version of an intent. To delete all versions of a intent, use the DeleteIntent operation.

This operation requires permissions for the lex:DeleteIntentVersion action.

" - }, - "DeleteSlotType":{ - "name":"DeleteSlotType", - "http":{ - "method":"DELETE", - "requestUri":"/slottypes/{name}", - "responseCode":204 - }, - "input":{"shape":"DeleteSlotTypeRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes all versions of the slot type, including the $LATEST version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation.

You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.

If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful.

This operation requires permission for the lex:DeleteSlotType action.

" - }, - "DeleteSlotTypeVersion":{ - "name":"DeleteSlotTypeVersion", - "http":{ - "method":"DELETE", - "requestUri":"/slottypes/{name}/version/{version}", - "responseCode":204 - }, - "input":{"shape":"DeleteSlotTypeVersionRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"ResourceInUseException"} - ], - "documentation":"

Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation.

This operation requires permissions for the lex:DeleteSlotTypeVersion action.

" - }, - "DeleteUtterances":{ - "name":"DeleteUtterances", - "http":{ - "method":"DELETE", - "requestUri":"/bots/{botName}/utterances/{userId}", - "responseCode":204 - }, - "input":{"shape":"DeleteUtterancesRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the ability of your bot to respond to user input.

Use the 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.

This operation requires permissions for the lex:GetBot action.

" - }, - "GetBotAlias":{ - "name":"GetBotAlias", - "http":{ - "method":"GET", - "requestUri":"/bots/{botName}/aliases/{name}", - "responseCode":200 - }, - "input":{"shape":"GetBotAliasRequest"}, - "output":{"shape":"GetBotAliasResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:GetBotAlias action.

" - }, - "GetBotAliases":{ - "name":"GetBotAliases", - "http":{ - "method":"GET", - "requestUri":"/bots/{botName}/aliases/", - "responseCode":200 - }, - "input":{"shape":"GetBotAliasesRequest"}, - "output":{"shape":"GetBotAliasesResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

" - }, - "GetBotChannelAssociation":{ - "name":"GetBotChannelAssociation", - "http":{ - "method":"GET", - "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", - "responseCode":200 - }, - "input":{"shape":"GetBotChannelAssociationRequest"}, - "output":{"shape":"GetBotChannelAssociationResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

" - }, - "GetBotChannelAssociations":{ - "name":"GetBotChannelAssociations", - "http":{ - "method":"GET", - "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/", - "responseCode":200 - }, - "input":{"shape":"GetBotChannelAssociationsRequest"}, - "output":{"shape":"GetBotChannelAssociationsResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns a list of all of the channels associated with the specified bot.

The GetBotChannelAssociations operation requires permissions for the lex:GetBotChannelAssociations action.

" - }, - "GetBotVersions":{ - "name":"GetBotVersions", - "http":{ - "method":"GET", - "requestUri":"/bots/{name}/versions/", - "responseCode":200 - }, - "input":{"shape":"GetBotVersionsRequest"}, - "output":{"shape":"GetBotVersionsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets information about all of the versions of a bot.

The GetBotVersions operation returns a BotMetadata object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions operation returns four BotMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetBotVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetBotVersions action.

" - }, - "GetBots":{ - "name":"GetBots", - "http":{ - "method":"GET", - "requestUri":"/bots/", - "responseCode":200 - }, - "input":{"shape":"GetBotsRequest"}, - "output":{"shape":"GetBotsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns bot information as follows:

  • If you provide the nameContains field, the response includes information for the $LATEST version of all bots whose name contains the specified string.

  • If you don't specify the nameContains field, the operation returns information about the $LATEST version of all of your bots.

This operation requires permission for the lex:GetBots action.

" - }, - "GetBuiltinIntent":{ - "name":"GetBuiltinIntent", - "http":{ - "method":"GET", - "requestUri":"/builtins/intents/{signature}", - "responseCode":200 - }, - "input":{"shape":"GetBuiltinIntentRequest"}, - "output":{"shape":"GetBuiltinIntentResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

" - }, - "GetBuiltinIntents":{ - "name":"GetBuiltinIntents", - "http":{ - "method":"GET", - "requestUri":"/builtins/intents/", - "responseCode":200 - }, - "input":{"shape":"GetBuiltinIntentsRequest"}, - "output":{"shape":"GetBuiltinIntentsResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

" - }, - "GetBuiltinSlotTypes":{ - "name":"GetBuiltinSlotTypes", - "http":{ - "method":"GET", - "requestUri":"/builtins/slottypes/", - "responseCode":200 - }, - "input":{"shape":"GetBuiltinSlotTypesRequest"}, - "output":{"shape":"GetBuiltinSlotTypesResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets a list of built-in slot types that meet the specified criteria.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

This operation requires permission for the lex:GetBuiltInSlotTypes action.

" - }, - "GetExport":{ - "name":"GetExport", - "http":{ - "method":"GET", - "requestUri":"/exports/", - "responseCode":200 - }, - "input":{"shape":"GetExportRequest"}, - "output":{"shape":"GetExportResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Exports the contents of a Amazon Lex resource in a specified format.

" - }, - "GetImport":{ - "name":"GetImport", - "http":{ - "method":"GET", - "requestUri":"/imports/{importId}", - "responseCode":200 - }, - "input":{"shape":"GetImportRequest"}, - "output":{"shape":"GetImportResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets information about an import job started with the StartImport operation.

" - }, - "GetIntent":{ - "name":"GetIntent", - "http":{ - "method":"GET", - "requestUri":"/intents/{name}/versions/{version}", - "responseCode":200 - }, - "input":{"shape":"GetIntentRequest"}, - "output":{"shape":"GetIntentResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns information about an intent. In addition to the intent name, you must specify the intent version.

This operation requires permissions to perform the lex:GetIntent action.

" - }, - "GetIntentVersions":{ - "name":"GetIntentVersions", - "http":{ - "method":"GET", - "requestUri":"/intents/{name}/versions/", - "responseCode":200 - }, - "input":{"shape":"GetIntentVersionsRequest"}, - "output":{"shape":"GetIntentVersionsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets information about all of the versions of an intent.

The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetIntentVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetIntentVersions action.

" - }, - "GetIntents":{ - "name":"GetIntents", - "http":{ - "method":"GET", - "requestUri":"/intents/", - "responseCode":200 - }, - "input":{"shape":"GetIntentsRequest"}, - "output":{"shape":"GetIntentsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns intent information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all intents that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all intents.

The operation requires permission for the lex:GetIntents action.

" - }, - "GetSlotType":{ - "name":"GetSlotType", - "http":{ - "method":"GET", - "requestUri":"/slottypes/{name}/versions/{version}", - "responseCode":200 - }, - "input":{"shape":"GetSlotTypeRequest"}, - "output":{"shape":"GetSlotTypeResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version.

This operation requires permissions for the lex:GetSlotType action.

" - }, - "GetSlotTypeVersions":{ - "name":"GetSlotTypeVersions", - "http":{ - "method":"GET", - "requestUri":"/slottypes/{name}/versions/", - "responseCode":200 - }, - "input":{"shape":"GetSlotTypeVersionsRequest"}, - "output":{"shape":"GetSlotTypeVersionsResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets information about all versions of a slot type.

The GetSlotTypeVersions operation returns a SlotTypeMetadata object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions operation returns four SlotTypeMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetSlotTypeVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetSlotTypeVersions action.

" - }, - "GetSlotTypes":{ - "name":"GetSlotTypes", - "http":{ - "method":"GET", - "requestUri":"/slottypes/", - "responseCode":200 - }, - "input":{"shape":"GetSlotTypesRequest"}, - "output":{"shape":"GetSlotTypesResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Returns slot type information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all slot types that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all slot types.

The operation requires permission for the lex:GetSlotTypes action.

" - }, - "GetUtterancesView":{ - "name":"GetUtterancesView", - "http":{ - "method":"GET", - "requestUri":"/bots/{botname}/utterances?view=aggregation", - "responseCode":200 - }, - "input":{"shape":"GetUtterancesViewRequest"}, - "output":{"shape":"GetUtterancesViewResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance \"I want flowers\" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Utterance statistics are generated once a day. Data is available for the last 15 days. You can request information for up to 5 versions in each request. The response contains information about a maximum of 100 utterances for each version.

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 are only required to specify a name, a locale, and whether the bot is directed toward children under age 13. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with the minimum information, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutBot action. For more information, see 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 intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the $LATEST version of an intent, the status field of any bot that uses the $LATEST version of the intent is set to NOT_BUILT.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

" - }, - "PutSlotType":{ - "name":"PutSlotType", - "http":{ - "method":"PUT", - "requestUri":"/slottypes/{name}/versions/$LATEST", - "responseCode":200 - }, - "input":{"shape":"PutSlotTypeRequest"}, - "output":{"shape":"PutSlotTypeResponse"}, - "errors":[ - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"}, - {"shape":"PreconditionFailedException"} - ], - "documentation":"

Creates a custom slot type or replaces an existing custom slot type.

To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.

If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. When you update the $LATEST version of a slot type, if a bot uses the $LATEST version of an intent that contains the slot type, the bot's status field is set to NOT_BUILT.

This operation requires permissions for the lex:PutSlotType action.

" - }, - "StartImport":{ - "name":"StartImport", - "http":{ - "method":"POST", - "requestUri":"/imports/", - "responseCode":201 - }, - "input":{"shape":"StartImportRequest"}, - "output":{"shape":"StartImportResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Starts a job to import a resource to Amazon Lex.

" - } - }, - "shapes":{ - "AliasName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^([A-Za-z]_?)+$" - }, - "AliasNameOrListAll":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^(-|^([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 - }, - "Blob":{"type":"blob"}, - "Boolean":{"type":"boolean"}, - "BotAliasMetadata":{ - "type":"structure", - "members":{ - "name":{ - "shape":"AliasName", - "documentation":"

The name of the bot alias.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot alias.

" - }, - "botVersion":{ - "shape":"Version", - "documentation":"

The version of the Amazon Lex bot to which the alias points.

" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot to which the alias points.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and last updated date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot alias was created.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the bot alias.

" - } - }, - "documentation":"

Provides information about a bot alias.

" - }, - "BotAliasMetadataList":{ - "type":"list", - "member":{"shape":"BotAliasMetadata"} - }, - "BotChannelAssociation":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotChannelName", - "documentation":"

The name of the association between the bot and the channel.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A text description of the association you are creating.

" - }, - "botAlias":{ - "shape":"AliasName", - "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot to which this association is being made.

Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the association between the Amazon Lex bot and the channel was created.

" - }, - "type":{ - "shape":"ChannelType", - "documentation":"

Specifies the type of association by indicating the type of channel being established between the Amazon Lex bot and the external messaging platform.

" - }, - "botConfiguration":{ - "shape":"ChannelConfigurationMap", - "documentation":"

Provides information necessary to communicate with the messaging platform.

" - }, - "status":{ - "shape":"ChannelStatus", - "documentation":"

The status of the bot channel.

  • CREATED - The channel has been created and is ready for use.

  • IN_PROGRESS - Channel creation is in progress.

  • FAILED - There was an error creating the channel. For information about the reason for the failure, see the failureReason field.

" - }, - "failureReason":{ - "shape":"String", - "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

" - } - }, - "documentation":"

Represents an association between an Amazon Lex bot and an external messaging platform.

" - }, - "BotChannelAssociationList":{ - "type":"list", - "member":{"shape":"BotChannelAssociation"} - }, - "BotChannelName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^([A-Za-z]_?)+$" - }, - "BotMetadata":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot.

" - }, - "status":{ - "shape":"Status", - "documentation":"

The status of the bot.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot was updated. When you create a bot, the creation date and last updated date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" - } - }, - "documentation":"

Provides information about a bot. .

" - }, - "BotMetadataList":{ - "type":"list", - "member":{"shape":"BotMetadata"} - }, - "BotName":{ - "type":"string", - "max":50, - "min":2, - "pattern":"^([A-Za-z]_?)+$" - }, - "BotVersions":{ - "type":"list", - "member":{"shape":"Version"}, - "max":5, - "min":1 - }, - "BuiltinIntentMetadata":{ - "type":"structure", - "members":{ - "signature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

A unique identifier for the built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" - }, - "supportedLocales":{ - "shape":"LocaleList", - "documentation":"

A list of identifiers for the locales that the intent supports.

" - } - }, - "documentation":"

Provides metadata for a built-in intent.

" - }, - "BuiltinIntentMetadataList":{ - "type":"list", - "member":{"shape":"BuiltinIntentMetadata"} - }, - "BuiltinIntentSignature":{"type":"string"}, - "BuiltinIntentSlot":{ - "type":"structure", - "members":{ - "name":{ - "shape":"String", - "documentation":"

A list of the slots defined for the intent.

" - } - }, - "documentation":"

Provides information about a slot used in a built-in intent.

" - }, - "BuiltinIntentSlotList":{ - "type":"list", - "member":{"shape":"BuiltinIntentSlot"} - }, - "BuiltinSlotTypeMetadata":{ - "type":"structure", - "members":{ - "signature":{ - "shape":"BuiltinSlotTypeSignature", - "documentation":"

A unique identifier for the built-in slot type. To find the signature for a slot type, see Slot Type Reference in the Alexa Skills Kit.

" - }, - "supportedLocales":{ - "shape":"LocaleList", - "documentation":"

A list of target locales for the slot.

" - } - }, - "documentation":"

Provides information about a built in slot type.

" - }, - "BuiltinSlotTypeMetadataList":{ - "type":"list", - "member":{"shape":"BuiltinSlotTypeMetadata"} - }, - "BuiltinSlotTypeSignature":{"type":"string"}, - "ChannelConfigurationMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"}, - "max":10, - "min":1, - "sensitive":true - }, - "ChannelStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "CREATED", - "FAILED" - ] - }, - "ChannelType":{ - "type":"string", - "enum":[ - "Facebook", - "Slack", - "Twilio-Sms", - "Kik" - ] - }, - "CodeHook":{ - "type":"structure", - "required":[ - "uri", - "messageVersion" - ], - "members":{ - "uri":{ - "shape":"LambdaARN", - "documentation":"

The Amazon Resource Name (ARN) of the Lambda function.

" - }, - "messageVersion":{ - "shape":"MessageVersion", - "documentation":"

The version of the request-response that you want Amazon Lex to use to invoke your Lambda function. For more information, see using-lambda.

" - } - }, - "documentation":"

Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot..

" - }, - "ConflictException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

There was a conflict processing the request. Try your request again.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "ContentString":{ - "type":"string", - "max":1000, - "min":1 - }, - "ContentType":{ - "type":"string", - "enum":[ - "PlainText", - "SSML", - "CustomPayload" - ] - }, - "Count":{"type":"integer"}, - "CreateBotVersionRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot that you want to create a new version of. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "checksum":{ - "shape":"String", - "documentation":"

Identifies a specific revision of the $LATEST version of the bot. If you specify a checksum and the $LATEST version of the bot has a different checksum, a PreconditionFailedException exception is returned and Amazon Lex doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" - } - } - }, - "CreateBotVersionResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot.

" - }, - "intents":{ - "shape":"IntentList", - "documentation":"

An array of Intent objects. For more information, see PutBot.

" - }, - "clarificationPrompt":{ - "shape":"Prompt", - "documentation":"

The message that Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.

" - }, - "abortStatement":{ - "shape":"Statement", - "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

" - }, - "status":{ - "shape":"Status", - "documentation":"

When you send a request to create or update a bot, Amazon Lex sets the status response element to BUILDING. After Amazon Lex builds the bot, it sets status to READY. If Amazon Lex can't build the bot, it sets status to FAILED. Amazon Lex returns the reason for the failure in the failureReason response element.

" - }, - "failureReason":{ - "shape":"String", - "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to build the bot.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date when the $LATEST version of this bot was updated.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date when the bot version was created.

" - }, - "idleSessionTTLInSeconds":{ - "shape":"SessionTTL", - "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.

" - }, - "voiceId":{ - "shape":"String", - "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the user.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum identifying the version of the bot that was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the bot.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

Specifies the target locale for the bot.

" - }, - "childDirected":{ - "shape":"Boolean", - "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" - } - } - }, - "CreateIntentVersionRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent that you want to create a new version of. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the $LATEST version of the intent that should be used to create the new version. If you specify a checksum and the $LATEST version of the intent has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" - } - } - }, - "CreateIntentVersionResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the intent.

" - }, - "slots":{ - "shape":"SlotList", - "documentation":"

An array of slot types that defines the information required to fulfill the intent.

" - }, - "sampleUtterances":{ - "shape":"IntentUtteranceList", - "documentation":"

An array of sample utterances configured for the intent.

" - }, - "confirmationPrompt":{ - "shape":"Prompt", - "documentation":"

If defined, the prompt that Amazon Lex uses to confirm the user's intent before fulfilling it.

" - }, - "rejectionStatement":{ - "shape":"Statement", - "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" - }, - "followUpPrompt":{ - "shape":"FollowUpPrompt", - "documentation":"

If defined, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" - }, - "conclusionStatement":{ - "shape":"Statement", - "documentation":"

After the Lambda function specified in the fulfillmentActivity field fulfills the intent, Amazon Lex conveys this statement to the user.

" - }, - "dialogCodeHook":{ - "shape":"CodeHook", - "documentation":"

If defined, Amazon Lex invokes this Lambda function for each user input.

" - }, - "fulfillmentActivity":{ - "shape":"FulfillmentActivity", - "documentation":"

Describes how the intent is fulfilled.

" - }, - "parentIntentSignature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

A unique identifier for a built-in intent.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was updated.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version number assigned to the new version of the intent.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the intent version created.

" - } - } - }, - "CreateSlotTypeVersionRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type that you want to create a new version for. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum for the $LATEST version of the slot type that you want to publish. If you specify a checksum and the $LATEST version of the slot type has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" - } - } - }, - "CreateSlotTypeVersionResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the slot type.

" - }, - "enumerationValues":{ - "shape":"EnumerationValues", - "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version assigned to the new slot type version.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the $LATEST version of the slot type.

" - }, - "valueSelectionStrategy":{ - "shape":"SlotValueSelectionStrategy", - "documentation":"

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" - } - } - }, - "CustomOrBuiltinSlotTypeName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^((AMAZON\\.)_?|[A-Za-z]_?)+" - }, - "DeleteBotAliasRequest":{ - "type":"structure", - "required":[ - "name", - "botName" - ], - "members":{ - "name":{ - "shape":"AliasName", - "documentation":"

The name of the alias to delete. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot that the alias points to.

", - "location":"uri", - "locationName":"botName" - } - } - }, - "DeleteBotChannelAssociationRequest":{ - "type":"structure", - "required":[ - "name", - "botName", - "botAlias" - ], - "members":{ - "name":{ - "shape":"BotChannelName", - "documentation":"

The name of the association. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botName" - }, - "botAlias":{ - "shape":"AliasName", - "documentation":"

An alias that points to the specific version of the Amazon Lex bot to which this association is being made.

", - "location":"uri", - "locationName":"aliasName" - } - } - }, - "DeleteBotRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DeleteBotVersionRequest":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot.

", - "location":"uri", - "locationName":"name" - }, - "version":{ - "shape":"NumericalVersion", - "documentation":"

The version of the bot to delete. You cannot delete the $LATEST version of the bot. To delete the $LATEST version, use the DeleteBot operation.

", - "location":"uri", - "locationName":"version" - } - } - }, - "DeleteIntentRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DeleteIntentVersionRequest":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

", - "location":"uri", - "locationName":"name" - }, - "version":{ - "shape":"NumericalVersion", - "documentation":"

The version of the intent to delete. You cannot delete the $LATEST version of the intent. To delete the $LATEST version, use the DeleteIntent operation.

", - "location":"uri", - "locationName":"version" - } - } - }, - "DeleteSlotTypeRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - } - } - }, - "DeleteSlotTypeVersionRequest":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type.

", - "location":"uri", - "locationName":"name" - }, - "version":{ - "shape":"NumericalVersion", - "documentation":"

The version of the slot type to delete. You cannot delete the $LATEST version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

", - "location":"uri", - "locationName":"version" - } - } - }, - "DeleteUtterancesRequest":{ - "type":"structure", - "required":[ - "botName", - "userId" - ], - "members":{ - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot that stored the utterances.

", - "location":"uri", - "locationName":"botName" - }, - "userId":{ - "shape":"UserId", - "documentation":"

The unique identifier for the user that made the utterances. This is the user ID that was sent in the PostContent or PostText operation request that contained the utterance.

", - "location":"uri", - "locationName":"userId" - } - } - }, - "Description":{ - "type":"string", - "max":200, - "min":0 - }, - "EnumerationValue":{ - "type":"structure", - "required":["value"], - "members":{ - "value":{ - "shape":"Value", - "documentation":"

The value of the slot type.

" - }, - "synonyms":{ - "shape":"SynonymList", - "documentation":"

Additional values related to the slot type value.

" - } - }, - "documentation":"

Each slot type can have a set of values. Each enumeration value represents a value the slot type can take.

For example, a pizza ordering bot could have a slot type that specifies the type of crust that the pizza should have. The slot type could include the values

  • thick

  • thin

  • stuffed

" - }, - "EnumerationValues":{ - "type":"list", - "member":{"shape":"EnumerationValue"}, - "max":10000, - "min":1 - }, - "ExportStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "READY", - "FAILED" - ] - }, - "ExportType":{ - "type":"string", - "enum":[ - "ALEXA_SKILLS_KIT", - "LEX" - ] - }, - "FollowUpPrompt":{ - "type":"structure", - "required":[ - "prompt", - "rejectionStatement" - ], - "members":{ - "prompt":{ - "shape":"Prompt", - "documentation":"

Prompts for information from the user.

" - }, - "rejectionStatement":{ - "shape":"Statement", - "documentation":"

If the user answers \"no\" to the question defined in the prompt field, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" - } - }, - "documentation":"

A prompt for additional activity after an intent is fulfilled. For example, after the OrderPizza intent is fulfilled, you might prompt the user to find out whether the user wants to order drinks.

" - }, - "FulfillmentActivity":{ - "type":"structure", - "required":["type"], - "members":{ - "type":{ - "shape":"FulfillmentActivityType", - "documentation":"

How the intent should be fulfilled, either by running a Lambda function or by returning the slot data to the client application.

" - }, - "codeHook":{ - "shape":"CodeHook", - "documentation":"

A description of the Lambda function that is run to fulfill the intent.

" - } - }, - "documentation":"

Describes how the intent is fulfilled after the user provides all of the information required for the intent. You can provide a Lambda function to process the intent, or you can return the intent information to the client application. We recommend that you use a Lambda function so that the relevant logic lives in the Cloud and limit the client-side code primarily to presentation. If you need to update the logic, you only update the Lambda function; you don't need to upgrade your client application.

Consider the following examples:

  • In a pizza ordering application, after the user provides all of the information for placing an order, you use a Lambda function to place an order with a pizzeria.

  • In a gaming application, when a user says \"pick up a rock,\" this information must go back to the client application so that it can perform the operation and update the graphics. In this case, you want Amazon Lex to return the intent data to the client.

" - }, - "FulfillmentActivityType":{ - "type":"string", - "enum":[ - "ReturnIntent", - "CodeHook" - ] - }, - "GetBotAliasRequest":{ - "type":"structure", - "required":[ - "name", - "botName" - ], - "members":{ - "name":{ - "shape":"AliasName", - "documentation":"

The name of the bot alias. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot.

", - "location":"uri", - "locationName":"botName" - } - } - }, - "GetBotAliasResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"AliasName", - "documentation":"

The name of the bot alias.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot alias.

" - }, - "botVersion":{ - "shape":"Version", - "documentation":"

The version of the bot that the alias points to.

" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot that the alias points to.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the bot alias was created.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the bot alias.

" - } - } - }, - "GetBotAliasesRequest":{ - "type":"structure", - "required":["botName"], - "members":{ - "botName":{ - "shape":"BotName", - "documentation":"

The name of the bot.

", - "location":"uri", - "locationName":"botName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of aliases to return in the response. The default is 50. .

", - "location":"querystring", - "locationName":"maxResults" - }, - "nameContains":{ - "shape":"AliasName", - "documentation":"

Substring to match in bot alias names. An alias will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", - "location":"querystring", - "locationName":"nameContains" - } - } - }, - "GetBotAliasesResponse":{ - "type":"structure", - "members":{ - "BotAliases":{ - "shape":"BotAliasMetadataList", - "documentation":"

An array of BotAliasMetadata objects, each describing a bot alias.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

" - } - } - }, - "GetBotChannelAssociationRequest":{ - "type":"structure", - "required":[ - "name", - "botName", - "botAlias" - ], - "members":{ - "name":{ - "shape":"BotChannelName", - "documentation":"

The name of the association between the bot and the channel. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botName" - }, - "botAlias":{ - "shape":"AliasName", - "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", - "location":"uri", - "locationName":"aliasName" - } - } - }, - "GetBotChannelAssociationResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotChannelName", - "documentation":"

The name of the association between the bot and the channel.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the association between the bot and the channel.

" - }, - "botAlias":{ - "shape":"AliasName", - "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" - }, - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the association between the bot and the channel was created.

" - }, - "type":{ - "shape":"ChannelType", - "documentation":"

The type of the messaging platform.

" - }, - "botConfiguration":{ - "shape":"ChannelConfigurationMap", - "documentation":"

Provides information that the messaging platform needs to communicate with the Amazon Lex bot.

" - }, - "status":{ - "shape":"ChannelStatus", - "documentation":"

The status of the bot channel.

  • CREATED - The channel has been created and is ready for use.

  • IN_PROGRESS - Channel creation is in progress.

  • FAILED - There was an error creating the channel. For information about the reason for the failure, see the failureReason field.

" - }, - "failureReason":{ - "shape":"String", - "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

" - } - } - }, - "GetBotChannelAssociationsRequest":{ - "type":"structure", - "required":[ - "botName", - "botAlias" - ], - "members":{ - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot in the association.

", - "location":"uri", - "locationName":"botName" - }, - "botAlias":{ - "shape":"AliasNameOrListAll", - "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", - "location":"uri", - "locationName":"aliasName" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of associations to return in the response. The default is 50.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nameContains":{ - "shape":"BotChannelName", - "documentation":"

Substring to match in channel association names. An association will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To return all bot channel associations, use a hyphen (\"-\") as the nameContains parameter.

", - "location":"querystring", - "locationName":"nameContains" - } - } - }, - "GetBotChannelAssociationsResponse":{ - "type":"structure", - "members":{ - "botChannelAssociations":{ - "shape":"BotChannelAssociationList", - "documentation":"

An array of objects, one for each association, that provides information about the Amazon Lex bot and its association with the channel.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

" - } - } - }, - "GetBotRequest":{ - "type":"structure", - "required":[ - "name", - "versionOrAlias" - ], - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "versionOrAlias":{ - "shape":"String", - "documentation":"

The version or alias of the bot.

", - "location":"uri", - "locationName":"versionoralias" - } - } - }, - "GetBotResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot.

" - }, - "intents":{ - "shape":"IntentList", - "documentation":"

An array of intent objects. For more information, see PutBot.

" - }, - "clarificationPrompt":{ - "shape":"Prompt", - "documentation":"

The message Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.

" - }, - "abortStatement":{ - "shape":"Statement", - "documentation":"

The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see PutBot.

" - }, - "status":{ - "shape":"Status", - "documentation":"

The status of the bot. 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 PutBot.

" - }, - "voiceId":{ - "shape":"String", - "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the bot used to identify a specific revision of the bot's $LATEST version.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The target locale for the bot.

" - }, - "childDirected":{ - "shape":"Boolean", - "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" - } - } - }, - "GetBotVersionsRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot for which versions should be returned.

", - "location":"uri", - "locationName":"name" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of bot versions to return in the response. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "GetBotVersionsResponse":{ - "type":"structure", - "members":{ - "bots":{ - "shape":"BotMetadataList", - "documentation":"

An array of BotMetadata objects, one for each numbered version of the bot plus one for the $LATEST version.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" - } - } - }, - "GetBotsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of bots. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of bots to return in the response that the request will return. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nameContains":{ - "shape":"BotName", - "documentation":"

Substring to match in bot names. A bot will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", - "location":"querystring", - "locationName":"nameContains" - } - } - }, - "GetBotsResponse":{ - "type":"structure", - "members":{ - "bots":{ - "shape":"BotMetadataList", - "documentation":"

An array of botMetadata objects, with one entry for each bot.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, it includes a pagination token that you can specify in your next request to fetch the next page of bots.

" - } - } - }, - "GetBuiltinIntentRequest":{ - "type":"structure", - "required":["signature"], - "members":{ - "signature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

The unique identifier for a built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", - "location":"uri", - "locationName":"signature" - } - } - }, - "GetBuiltinIntentResponse":{ - "type":"structure", - "members":{ - "signature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

The unique identifier for a built-in intent.

" - }, - "supportedLocales":{ - "shape":"LocaleList", - "documentation":"

A list of locales that the intent supports.

" - }, - "slots":{ - "shape":"BuiltinIntentSlotList", - "documentation":"

An array of BuiltinIntentSlot objects, one entry for each slot type in the intent.

" - } - } - }, - "GetBuiltinIntentsRequest":{ - "type":"structure", - "members":{ - "locale":{ - "shape":"Locale", - "documentation":"

A list of locales that the intent supports.

", - "location":"querystring", - "locationName":"locale" - }, - "signatureContains":{ - "shape":"String", - "documentation":"

Substring to match in built-in intent signatures. An intent will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", - "location":"querystring", - "locationName":"signatureContains" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of intents. If this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, use the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of intents to return in the response. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "GetBuiltinIntentsResponse":{ - "type":"structure", - "members":{ - "intents":{ - "shape":"BuiltinIntentMetadataList", - "documentation":"

An array of builtinIntentMetadata objects, one for each intent in the response.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

" - } - } - }, - "GetBuiltinSlotTypesRequest":{ - "type":"structure", - "members":{ - "locale":{ - "shape":"Locale", - "documentation":"

A list of locales that the slot type supports.

", - "location":"querystring", - "locationName":"locale" - }, - "signatureContains":{ - "shape":"String", - "documentation":"

Substring to match in built-in slot type signatures. A slot type will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", - "location":"querystring", - "locationName":"signatureContains" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of slot types, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of slot types to return in the response. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "GetBuiltinSlotTypesResponse":{ - "type":"structure", - "members":{ - "slotTypes":{ - "shape":"BuiltinSlotTypeMetadataList", - "documentation":"

An array of BuiltInSlotTypeMetadata objects, one entry for each slot type returned.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, the response includes a pagination token that you can use in your next request to fetch the next page of slot types.

" - } - } - }, - "GetExportRequest":{ - "type":"structure", - "required":[ - "name", - "version", - "resourceType", - "exportType" - ], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the bot to export.

", - "location":"querystring", - "locationName":"name" - }, - "version":{ - "shape":"NumericalVersion", - "documentation":"

The version of the bot to export.

", - "location":"querystring", - "locationName":"version" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to export.

", - "location":"querystring", - "locationName":"resourceType" - }, - "exportType":{ - "shape":"ExportType", - "documentation":"

The format of the exported data.

", - "location":"querystring", - "locationName":"exportType" - } - } - }, - "GetExportResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the bot being exported.

" - }, - "version":{ - "shape":"NumericalVersion", - "documentation":"

The version of the bot being exported.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of the exported resource.

" - }, - "exportType":{ - "shape":"ExportType", - "documentation":"

The format of the exported data.

" - }, - "exportStatus":{ - "shape":"ExportStatus", - "documentation":"

The status of the export.

  • IN_PROGRESS - The export is in progress.

  • READY - The export is complete.

  • FAILED - The export could not be completed.

" - }, - "failureReason":{ - "shape":"String", - "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to export the resource.

" - }, - "url":{ - "shape":"String", - "documentation":"

An S3 pre-signed URL that provides the location of the exported resource. The exported resource is a ZIP archive that contains the exported resource in JSON format. The structure of the archive may change. Your code should not rely on the archive structure.

" - } - } - }, - "GetImportRequest":{ - "type":"structure", - "required":["importId"], - "members":{ - "importId":{ - "shape":"String", - "documentation":"

The identifier of the import job information to return.

", - "location":"uri", - "locationName":"importId" - } - } - }, - "GetImportResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name given to the import job.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource imported.

" - }, - "mergeStrategy":{ - "shape":"MergeStrategy", - "documentation":"

The action taken when there was a conflict between an existing resource and a resource in the import file.

" - }, - "importId":{ - "shape":"String", - "documentation":"

The identifier for the specific import job.

" - }, - "importStatus":{ - "shape":"ImportStatus", - "documentation":"

The status of the import job. If the status is FAILED, you can get the reason for the failure from the failureReason field.

" - }, - "failureReason":{ - "shape":"StringList", - "documentation":"

A string that describes why an import job failed to complete.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

A timestamp for the date and time that the import job was created.

" - } - } - }, - "GetIntentRequest":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the intent.

", - "location":"uri", - "locationName":"version" - } - } - }, - "GetIntentResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the intent.

" - }, - "slots":{ - "shape":"SlotList", - "documentation":"

An array of intent slots configured for the intent.

" - }, - "sampleUtterances":{ - "shape":"IntentUtteranceList", - "documentation":"

An array of sample utterances configured for the intent.

" - }, - "confirmationPrompt":{ - "shape":"Prompt", - "documentation":"

If defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the user's request. For more information, see PutIntent.

" - }, - "rejectionStatement":{ - "shape":"Statement", - "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" - }, - "followUpPrompt":{ - "shape":"FollowUpPrompt", - "documentation":"

If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled. For more information, see PutIntent.

" - }, - "conclusionStatement":{ - "shape":"Statement", - "documentation":"

After the Lambda function specified in the fulfillmentActivity element fulfills the intent, Amazon Lex conveys this statement to the user.

" - }, - "dialogCodeHook":{ - "shape":"CodeHook", - "documentation":"

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. For more information, see PutIntent.

" - }, - "fulfillmentActivity":{ - "shape":"FulfillmentActivity", - "documentation":"

Describes how the intent is fulfilled. For more information, see PutIntent.

" - }, - "parentIntentSignature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

A unique identifier for a built-in intent.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was updated. When you create a resource, the creation date and the last updated date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the intent.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the intent.

" - } - } - }, - "GetIntentVersionsRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent for which versions should be returned.

", - "location":"uri", - "locationName":"name" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of intent versions to return in the response. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - } - } - }, - "GetIntentVersionsResponse":{ - "type":"structure", - "members":{ - "intents":{ - "shape":"IntentMetadataList", - "documentation":"

An array of IntentMetadata objects, one for each numbered version of the intent plus one for the $LATEST version.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" - } - } - }, - "GetIntentsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

", - "location":"querystring", - "locationName":"nextToken" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of intents to return in the response. The default is 10.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nameContains":{ - "shape":"IntentName", - "documentation":"

Substring to match in intent names. An intent will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", - "location":"querystring", - "locationName":"nameContains" - } - } - }, - "GetIntentsResponse":{ - "type":"structure", - "members":{ - "intents":{ - "shape":"IntentMetadataList", - "documentation":"

An array of Intent objects. For more information, see PutBot.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, the response includes a pagination token that you can specify in your next request to fetch the next page of intents.

" - } - } - }, - "GetSlotTypeRequest":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type. The name is case sensitive.

", - "location":"uri", - "locationName":"name" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the slot type.

", - "location":"uri", - "locationName":"version" - } - } - }, - "GetSlotTypeResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the slot type.

" - }, - "enumerationValues":{ - "shape":"EnumerationValues", - "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the slot type.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the $LATEST version of the slot type.

" - }, - "valueSelectionStrategy":{ - "shape":"SlotValueSelectionStrategy", - "documentation":"

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" - } - } - }, - "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 UtteranceList objects, each containing a list of UtteranceData objects describing the utterances that were processed by your bot. The response contains a maximum of 100 UtteranceData objects for each version.

" - } - } - }, - "GroupNumber":{ - "type":"integer", - "box":true, - "max":5, - "min":1 - }, - "ImportStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "COMPLETE", - "FAILED" - ] - }, - "Intent":{ - "type":"structure", - "required":[ - "intentName", - "intentVersion" - ], - "members":{ - "intentName":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

" - }, - "intentVersion":{ - "shape":"Version", - "documentation":"

The version of the intent.

" - } - }, - "documentation":"

Identifies the specific version of an intent.

" - }, - "IntentList":{ - "type":"list", - "member":{"shape":"Intent"} - }, - "IntentMetadata":{ - "type":"structure", - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the intent.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was updated. When you create an intent, the creation date and last updated date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the intent.

" - } - }, - "documentation":"

Provides information about an intent.

" - }, - "IntentMetadataList":{ - "type":"list", - "member":{"shape":"IntentMetadata"} - }, - "IntentName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^([A-Za-z]_?)+$" - }, - "IntentUtteranceList":{ - "type":"list", - "member":{"shape":"Utterance"}, - "max":1500, - "min":0 - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

An internal Amazon Lex error occurred. Try your request again.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "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", - "en-GB", - "de-DE" - ] - }, - "LocaleList":{ - "type":"list", - "member":{"shape":"Locale"} - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":50, - "min":1 - }, - "MergeStrategy":{ - "type":"string", - "enum":[ - "OVERWRITE_LATEST", - "FAIL_ON_CONFLICT" - ] - }, - "Message":{ - "type":"structure", - "required":[ - "contentType", - "content" - ], - "members":{ - "contentType":{ - "shape":"ContentType", - "documentation":"

The content type of the message string.

" - }, - "content":{ - "shape":"ContentString", - "documentation":"

The text of the message.

" - }, - "groupNumber":{ - "shape":"GroupNumber", - "documentation":"

Identifies the message group that the message belongs to. When a group is assigned to a message, Amazon Lex returns one message from each group in the response.

" - } - }, - "documentation":"

The message object that provides the message text and its type.

" - }, - "MessageList":{ - "type":"list", - "member":{"shape":"Message"}, - "max":15, - "min":1 - }, - "MessageVersion":{ - "type":"string", - "max":5, - "min":1 - }, - "Name":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[a-zA-Z_]+" - }, - "NextToken":{"type":"string"}, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The resource specified in the request was not found. Check the resource and try again.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NumericalVersion":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[0-9]+" - }, - "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 this message to get clarification. To specify how many times Amazon Lex should repeate the clarification prompt, use the maxAttempts field. If Amazon Lex still doesn't understand, it sends the message in the abortStatement field.

When you create a clarification prompt, make sure that it suggests the correct response from the user. for example, for a bot that orders pizza and drinks, you might create this clarification prompt: \"What would you like to do? You can say 'Order a pizza' or 'Order a drink.'\"

" - }, - "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 Available Voices in the Amazon Polly Developer Guide.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new bot, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a bot, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" - }, - "processBehavior":{ - "shape":"ProcessBehavior", - "documentation":"

If you set the processBehavior element to BUILD, Amazon Lex builds the bot so that it can be run. If you set the element to SAVE Amazon Lex saves the bot, but doesn't build it.

If you don't specify this value, the default value is BUILD.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

Specifies the target locale for the bot. Any intent used in the bot must be compatible with the locale of the bot.

The default is en-US.

" - }, - "childDirected":{ - "shape":"Boolean", - "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "PutBotResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"BotName", - "documentation":"

The name of the bot.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the bot.

" - }, - "intents":{ - "shape":"IntentList", - "documentation":"

An array of Intent objects. For more information, see PutBot.

" - }, - "clarificationPrompt":{ - "shape":"Prompt", - "documentation":"

The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more information, see PutBot.

" - }, - "abortStatement":{ - "shape":"Statement", - "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

" - }, - "status":{ - "shape":"Status", - "documentation":"

When you send a request to create a bot with processBehavior set to BUILD, Amazon Lex sets the status response element to BUILDING. 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 PutBot.

" - }, - "voiceId":{ - "shape":"String", - "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the bot that you created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" - }, - "locale":{ - "shape":"Locale", - "documentation":"

The target locale for the bot.

" - }, - "childDirected":{ - "shape":"Boolean", - "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "PutIntentRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent. The name is not case sensitive.

The name can't match a built-in intent name, or a built-in intent name with \"AMAZON.\" removed. For example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called HelpIntent.

For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit.

", - "location":"uri", - "locationName":"name" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the intent.

" - }, - "slots":{ - "shape":"SlotList", - "documentation":"

An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see how-it-works.

" - }, - "sampleUtterances":{ - "shape":"IntentUtteranceList", - "documentation":"

An array of utterances (strings) that a user might say to signal the intent. For example, \"I want {PizzaSize} pizza\", \"Order {Quantity} {PizzaSize} pizzas\".

In each utterance, a slot name is enclosed in curly braces.

" - }, - "confirmationPrompt":{ - "shape":"Prompt", - "documentation":"

Prompts the user to confirm the intent. This question should have a yes or no answer.

Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.

You you must provide both the rejectionStatement and the confirmationPrompt, or neither.

" - }, - "rejectionStatement":{ - "shape":"Statement", - "documentation":"

When the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

You must provide both the rejectionStatement and the confirmationPrompt, or neither.

" - }, - "followUpPrompt":{ - "shape":"FollowUpPrompt", - "documentation":"

Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the user to order a drink.

The action that Amazon Lex takes depends on the user's response, as follows:

  • If the user says \"Yes\" it responds with the clarification prompt that is configured for the bot.

  • if the user says \"Yes\" and continues with an utterance that triggers an intent it starts a conversation for the intent.

  • If the user says \"No\" it responds with the rejection statement configured for the the follow-up prompt.

  • If it doesn't recognize the utterance it repeats the follow-up prompt again.

The followUpPrompt field and the conclusionStatement field are mutually exclusive. You can specify only one.

" - }, - "conclusionStatement":{ - "shape":"Statement", - "documentation":"

The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.

This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you return the intent to the client application, you can't specify this element.

The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only one.

" - }, - "dialogCodeHook":{ - "shape":"CodeHook", - "documentation":"

Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.

For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might find John's phone number and set the corresponding session attribute.

" - }, - "fulfillmentActivity":{ - "shape":"FulfillmentActivity", - "documentation":"

Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store.

You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).

" - }, - "parentIntentSignature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new intent, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a intent, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "PutIntentResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"IntentName", - "documentation":"

The name of the intent.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the intent.

" - }, - "slots":{ - "shape":"SlotList", - "documentation":"

An array of intent slots that are configured for the intent.

" - }, - "sampleUtterances":{ - "shape":"IntentUtteranceList", - "documentation":"

An array of sample utterances that are configured for the intent.

" - }, - "confirmationPrompt":{ - "shape":"Prompt", - "documentation":"

If defined in the intent, Amazon Lex prompts the user to confirm the intent before fulfilling it.

" - }, - "rejectionStatement":{ - "shape":"Statement", - "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" - }, - "followUpPrompt":{ - "shape":"FollowUpPrompt", - "documentation":"

If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" - }, - "conclusionStatement":{ - "shape":"Statement", - "documentation":"

After the Lambda function specified in thefulfillmentActivityintent fulfills the intent, Amazon Lex conveys this statement to the user.

" - }, - "dialogCodeHook":{ - "shape":"CodeHook", - "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function for each user input.

" - }, - "fulfillmentActivity":{ - "shape":"FulfillmentActivity", - "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent after the user provides all of the information required by the intent.

" - }, - "parentIntentSignature":{ - "shape":"BuiltinIntentSignature", - "documentation":"

A unique identifier for the built-in intent that this intent is based on.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was updated. When you create a resource, the creation date and last update dates are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the intent was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the intent. For a new intent, the version is always $LATEST.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the $LATESTversion of the intent created or updated.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "PutSlotTypeRequest":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type. The name is not case sensitive.

The name can't match a built-in slot type name, or a built-in slot type name with \"AMAZON.\" removed. For example, because there is a built-in slot type called AMAZON.DATE, you can't create a custom slot type called DATE.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

", - "location":"uri", - "locationName":"name" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the slot type.

" - }, - "enumerationValues":{ - "shape":"EnumerationValues", - "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, which are additional values that help train the machine learning model about the values that it resolves for a slot.

When Amazon Lex resolves a slot value, it generates a resolution list that contains up to five possible values for the slot. If you are using a Lambda function, this resolution list is passed to the function. If you are not using a Lambda function you can choose to return the value that the user entered or the first value in the resolution list as the slot value. The valueSelectionStrategy field indicates the option to use.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new slot type, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a slot type, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" - }, - "valueSelectionStrategy":{ - "shape":"SlotValueSelectionStrategy", - "documentation":"

Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:

  • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

  • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.

If you don't specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "PutSlotTypeResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"SlotTypeName", - "documentation":"

The name of the slot type.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the slot type.

" - }, - "enumerationValues":{ - "shape":"EnumerationValues", - "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" - }, - "lastUpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was updated. When you create a slot type, the creation date and last update date are the same.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

The date that the slot type was created.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the slot type. For a new slot type, the version is always $LATEST.

" - }, - "checksum":{ - "shape":"String", - "documentation":"

Checksum of the $LATEST version of the slot type.

" - }, - "valueSelectionStrategy":{ - "shape":"SlotValueSelectionStrategy", - "documentation":"

The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" - }, - "createVersion":{"shape":"Boolean"} - } - }, - "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.

" - }, - "ResourceType":{ - "type":"string", - "enum":[ - "BOT", - "INTENT", - "SLOT_TYPE" - ] - }, - "ResponseCard":{ - "type":"string", - "max":50000, - "min":1 - }, - "SessionTTL":{ - "type":"integer", - "max":86400, - "min":60 - }, - "Slot":{ - "type":"structure", - "required":[ - "name", - "slotConstraint" - ], - "members":{ - "name":{ - "shape":"SlotName", - "documentation":"

The name of the slot.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A description of the slot.

" - }, - "slotConstraint":{ - "shape":"SlotConstraint", - "documentation":"

Specifies whether the slot is required or optional.

" - }, - "slotType":{ - "shape":"CustomOrBuiltinSlotTypeName", - "documentation":"

The type of the slot, either a custom slot type that you defined or one of the built-in slot types.

" - }, - "slotTypeVersion":{ - "shape":"Version", - "documentation":"

The version of the slot type.

" - }, - "valueElicitationPrompt":{ - "shape":"Prompt", - "documentation":"

The prompt that Amazon Lex uses to elicit the slot value from the user.

" - }, - "priority":{ - "shape":"Priority", - "documentation":"

Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for the slot with priority 1.

If multiple slots share the same priority, the order in which Lex elicits values is arbitrary.

" - }, - "sampleUtterances":{ - "shape":"SlotUtteranceList", - "documentation":"

If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances.

" - }, - "responseCard":{ - "shape":"ResponseCard", - "documentation":"

A set of possible responses for the slot type used by text-based clients. A user chooses an option from the response card, instead of using text to reply.

" - } - }, - "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](-|_|.)?)+$" - }, - "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]_?)+$" - }, - "SlotUtteranceList":{ - "type":"list", - "member":{"shape":"Utterance"}, - "max":10, - "min":0 - }, - "SlotValueSelectionStrategy":{ - "type":"string", - "enum":[ - "ORIGINAL_VALUE", - "TOP_RESOLUTION" - ] - }, - "StartImportRequest":{ - "type":"structure", - "required":[ - "payload", - "resourceType", - "mergeStrategy" - ], - "members":{ - "payload":{ - "shape":"Blob", - "documentation":"

A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the resourceType field.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

Specifies the type of resource to export. Each resource also exports any resources that it depends on.

  • A bot exports dependent intents.

  • An intent exports dependent slot types.

" - }, - "mergeStrategy":{ - "shape":"MergeStrategy", - "documentation":"

Specifies the action that the StartImport operation should take when there is an existing resource with the same name.

  • FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the failureReason field of the response to the GetImport operation.

    OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.

" - } - } - }, - "StartImportResponse":{ - "type":"structure", - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name given to the import job.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource to import.

" - }, - "mergeStrategy":{ - "shape":"MergeStrategy", - "documentation":"

The action to take when there is a merge conflict.

" - }, - "importId":{ - "shape":"String", - "documentation":"

The identifier for the specific import job.

" - }, - "importStatus":{ - "shape":"ImportStatus", - "documentation":"

The status of the import job. If the status is FAILED, you can get the reason for the failure using the GetImport operation.

" - }, - "createdDate":{ - "shape":"Timestamp", - "documentation":"

A timestamp for the date and time that the import job was requested.

" - } - } - }, - "Statement":{ - "type":"structure", - "required":["messages"], - "members":{ - "messages":{ - "shape":"MessageList", - "documentation":"

A collection of message objects.

" - }, - "responseCard":{ - "shape":"ResponseCard", - "documentation":"

At runtime, if the client is using the PostText API, Amazon Lex includes the response card in the response. It substitutes all of the session attributes and slot values for placeholders in the response card.

" - } - }, - "documentation":"

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

" - }, - "Status":{ - "type":"string", - "enum":[ - "BUILDING", - "READY", - "READY_BASIC_TESTING", - "FAILED", - "NOT_BUILT" - ] - }, - "StatusType":{ - "type":"string", - "enum":[ - "Detected", - "Missed" - ] - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SynonymList":{ - "type":"list", - "member":{"shape":"Value"} - }, - "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 UtteranceData objects that contain information about the utterances that have been made to a bot. The maximum number of object is 100.

" - } - }, - "documentation":"

Provides a list of utterances that have been made to a specific version of your bot. The list contains a maximum of 100 utterances.

" - }, - "UtteranceString":{ - "type":"string", - "max":2000, - "min":1 - }, - "Value":{ - "type":"string", - "max":140, - "min":1 - }, - "Version":{ - "type":"string", - "max":64, - "min":1, - "pattern":"\\$LATEST|[0-9]+" - } - }, - "documentation":"Amazon Lex Build-Time Actions

Amazon Lex is an AWS service for building conversational voice and text interfaces. Use these actions to create, update, and delete conversational bots for new and existing client applications.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/service-2.json deleted file mode 100644 index 1b3bc10e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lex-runtime/2016-11-28/service-2.json +++ /dev/null @@ -1,524 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-28", - "endpointPrefix":"runtime.lex", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"Amazon Lex Runtime Service", - "serviceId":"Lex Runtime Service", - "signatureVersion":"v4", - "signingName":"lex", - "uid":"runtime.lex-2016-11-28" - }, - "operations":{ - "PostContent":{ - "name":"PostContent", - "http":{ - "method":"POST", - "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/content" - }, - "input":{"shape":"PostContentRequest"}, - "output":{"shape":"PostContentResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ConflictException"}, - {"shape":"UnsupportedMediaTypeException"}, - {"shape":"NotAcceptableException"}, - {"shape":"RequestTimeoutException"}, - {"shape":"DependencyFailedException"}, - {"shape":"BadGatewayException"}, - {"shape":"LoopDetectedException"} - ], - "documentation":"

Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.

The PostContent operation supports audio input at 8kHz and 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications.

In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:

  • For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\".

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: \"Order the pizza?\".

  • After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • x-amz-lex-dialog-state header set to ElicitSlot

    • x-amz-lex-intent-name header set to the intent name in the current context

    • x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information

    • x-amz-lex-slots header set to a map of slots configured for the intent with their current values

  • If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted.

  • If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

", - "authtype":"v4-unsigned-body" - }, - "PostText":{ - "name":"PostText", - "http":{ - "method":"POST", - "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/text" - }, - "input":{"shape":"PostTextRequest"}, - "output":{"shape":"PostTextResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ConflictException"}, - {"shape":"DependencyFailedException"}, - {"shape":"BadGatewayException"}, - {"shape":"LoopDetectedException"} - ], - "documentation":"

Sends user input (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"}, - "AttributesString":{ - "type":"string", - "sensitive":true - }, - "BadGatewayException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Either the Amazon Lex bot is still building, or one of the dependent services (Amazon Polly, AWS Lambda) failed with an internal service error.

", - "error":{"httpStatusCode":502}, - "exception":true - }, - "BadRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

Request validation failed, there is no usable message in the context, or the bot build failed, is still in progress, or contains unbuilt changes.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "BlobStream":{ - "type":"blob", - "streaming":true - }, - "BotAlias":{"type":"string"}, - "BotName":{"type":"string"}, - "Button":{ - "type":"structure", - "required":[ - "text", - "value" - ], - "members":{ - "text":{ - "shape":"ButtonTextStringWithLength", - "documentation":"

Text that is visible to the user on the button.

" - }, - "value":{ - "shape":"ButtonValueStringWithLength", - "documentation":"

The value sent to Amazon Lex when a user chooses the button. For example, consider button text \"NYC.\" When the user chooses the button, the value sent can be \"New York City.\"

" - } - }, - "documentation":"

Represents an option to be shown on the client platform (Facebook, Slack, etc.)

" - }, - "ButtonTextStringWithLength":{ - "type":"string", - "max":15, - "min":1 - }, - "ButtonValueStringWithLength":{ - "type":"string", - "max":1000, - "min":1 - }, - "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 dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example,

  • If Amazon Lex does not have sufficient permissions to call a Lambda function.

  • If a Lambda function takes longer than 30 seconds to execute.

  • If a fulfillment Lambda function returns a Delegate dialog action without removing any slot values.

", - "error":{"httpStatusCode":424}, - "exception":true - }, - "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":"

This exception is not used.

", - "error":{"httpStatusCode":508}, - "exception":true - }, - "MessageFormatType":{ - "type":"string", - "enum":[ - "PlainText", - "CustomPayload", - "SSML", - "Composite" - ] - }, - "NotAcceptableException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The accept header in the request does not have a valid value.

", - "error":{"httpStatusCode":406}, - "exception":true - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The resource (such as the Amazon Lex bot or an alias) that is referred to is not found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "PostContentRequest":{ - "type":"structure", - "required":[ - "botName", - "botAlias", - "userId", - "contentType", - "inputStream" - ], - "members":{ - "botName":{ - "shape":"BotName", - "documentation":"

Name of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botName" - }, - "botAlias":{ - "shape":"BotAlias", - "documentation":"

Alias of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botAlias" - }, - "userId":{ - "shape":"UserId", - "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

", - "location":"uri", - "locationName":"userId" - }, - "sessionAttributes":{ - "shape":"AttributesString", - "documentation":"

You pass this value as the x-amz-lex-session-attributes HTTP header.

Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the sessionAttributes and requestAttributes headers is limited to 12 KB.

For more information, see Setting Session Attributes.

", - "jsonvalue":true, - "location":"header", - "locationName":"x-amz-lex-session-attributes" - }, - "requestAttributes":{ - "shape":"AttributesString", - "documentation":"

You pass this value as the x-amz-lex-request-attributes HTTP header.

Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the requestAttributes and sessionAttributes headers is limited to 12 KB.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

", - "jsonvalue":true, - "location":"header", - "locationName":"x-amz-lex-request-attributes" - }, - "contentType":{ - "shape":"HttpContentType", - "documentation":"

You pass this value as the Content-Type HTTP header.

Indicates the audio format or text. The header value must start with one of the following prefixes:

  • PCM format, audio data must be in little-endian byte order.

    • audio/l16; rate=16000; channels=1

    • audio/x-l16; sample-rate=16000; channel-count=1

    • audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false

  • Opus format

    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4

  • Text format

    • text/plain; charset=utf-8

", - "location":"header", - "locationName":"Content-Type" - }, - "accept":{ - "shape":"Accept", - "documentation":"

You pass this value as the Accept HTTP header.

The message Amazon Lex returns in the response can be either text or speech based on the Accept HTTP header value in the request.

  • If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response.

  • If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the Accept header). For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format.

    The following are the accepted values:

    • audio/mpeg

    • audio/ogg

    • audio/pcm

    • text/plain; charset=utf-8

    • audio/* (defaults to mpeg)

", - "location":"header", - "locationName":"Accept" - }, - "inputStream":{ - "shape":"BlobStream", - "documentation":"

User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header.

You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.

" - } - }, - "payload":"inputStream" - }, - "PostContentResponse":{ - "type":"structure", - "members":{ - "contentType":{ - "shape":"HttpContentType", - "documentation":"

Content type as specified in the Accept HTTP header in the request.

", - "location":"header", - "locationName":"Content-Type" - }, - "intentName":{ - "shape":"IntentName", - "documentation":"

Current user intent that Amazon Lex is aware of.

", - "location":"header", - "locationName":"x-amz-lex-intent-name" - }, - "slots":{ - "shape":"String", - "documentation":"

Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

", - "jsonvalue":true, - "location":"header", - "locationName":"x-amz-lex-slots" - }, - "sessionAttributes":{ - "shape":"String", - "documentation":"

Map of key/value pairs representing the session-specific context information.

", - "jsonvalue":true, - "location":"header", - "locationName":"x-amz-lex-session-attributes" - }, - "message":{ - "shape":"Text", - "documentation":"

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

", - "location":"header", - "locationName":"x-amz-lex-message" - }, - "messageFormat":{ - "shape":"MessageFormatType", - "documentation":"

The format of the response message. One of the following values:

  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format for the client.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.

", - "location":"header", - "locationName":"x-amz-lex-message-format" - }, - "dialogState":{ - "shape":"DialogState", - "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider the following examples:

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple \"yes\" or \"no\" response, a user might respond with additional information. For example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the request.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.

", - "location":"header", - "locationName":"x-amz-lex-dialog-state" - }, - "slotToElicit":{ - "shape":"String", - "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", - "location":"header", - "locationName":"x-amz-lex-slot-to-elicit" - }, - "inputTranscript":{ - "shape":"String", - "documentation":"

The text used to process the request.

If the input was an audio stream, the inputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

", - "location":"header", - "locationName":"x-amz-lex-input-transcript" - }, - "audioStream":{ - "shape":"BlobStream", - "documentation":"

The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.

" - } - }, - "payload":"audioStream" - }, - "PostTextRequest":{ - "type":"structure", - "required":[ - "botName", - "botAlias", - "userId", - "inputText" - ], - "members":{ - "botName":{ - "shape":"BotName", - "documentation":"

The name of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botName" - }, - "botAlias":{ - "shape":"BotAlias", - "documentation":"

The alias of the Amazon Lex bot.

", - "location":"uri", - "locationName":"botAlias" - }, - "userId":{ - "shape":"UserId", - "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

", - "location":"uri", - "locationName":"userId" - }, - "sessionAttributes":{ - "shape":"StringMap", - "documentation":"

Application-specific information passed between Amazon Lex and a client application.

For more information, see Setting Session Attributes.

" - }, - "requestAttributes":{ - "shape":"StringMap", - "documentation":"

Request-specific information passed between Amazon Lex and a client application.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

" - }, - "inputText":{ - "shape":"Text", - "documentation":"

The text that the user entered (Amazon Lex interprets this text).

" - } - } - }, - "PostTextResponse":{ - "type":"structure", - "members":{ - "intentName":{ - "shape":"IntentName", - "documentation":"

The current user intent that Amazon Lex is aware of.

" - }, - "slots":{ - "shape":"StringMap", - "documentation":"

The intent slots that Amazon Lex detected from the user input in the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

" - }, - "sessionAttributes":{ - "shape":"StringMap", - "documentation":"

A map of key-value pairs representing the session-specific context information.

" - }, - "message":{ - "shape":"Text", - "documentation":"

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

" - }, - "messageFormat":{ - "shape":"MessageFormatType", - "documentation":"

The format of the response message. One of the following values:

  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format defined by the Lambda function.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.

" - }, - "dialogState":{ - "shape":"DialogState", - "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit user intent.

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent.

    Instead of a simple \"yes\" or \"no,\" a user might respond with additional information. For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting a slot value for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the intent.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.

" - }, - "slotToElicit":{ - "shape":"String", - "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

" - }, - "responseCard":{ - "shape":"ResponseCard", - "documentation":"

Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).

" - } - } - }, - "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"}, - "sensitive":true - }, - "StringUrlWithLength":{ - "type":"string", - "max":2048, - "min":1 - }, - "StringWithLength":{ - "type":"string", - "max":80, - "min":1 - }, - "Text":{ - "type":"string", - "max":1024, - "min":1, - "sensitive":true - }, - "UnsupportedMediaTypeException":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The Content-Type header (PostContent API) has an invalid value.

", - "error":{"httpStatusCode":415}, - "exception":true - }, - "UserId":{ - "type":"string", - "max":100, - "min":2, - "pattern":"[0-9a-zA-Z._:-]+" - }, - "genericAttachmentList":{ - "type":"list", - "member":{"shape":"GenericAttachment"}, - "max":10, - "min":0 - }, - "listOfButtons":{ - "type":"list", - "member":{"shape":"Button"}, - "max":5, - "min":0 - } - }, - "documentation":"

Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API, .

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/paginators-1.json deleted file mode 100644 index 7c9c475f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/paginators-1.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/service-2.json deleted file mode 100644 index 134b2bc2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/lightsail/2016-11-28/service-2.json +++ /dev/null @@ -1,4791 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-28", - "endpointPrefix":"lightsail", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Lightsail", - "serviceId":"Lightsail", - "signatureVersion":"v4", - "targetPrefix":"Lightsail_20161128", - "uid":"lightsail-2016-11-28" - }, - "operations":{ - "AllocateStaticIp":{ - "name":"AllocateStaticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AllocateStaticIpRequest"}, - "output":{"shape":"AllocateStaticIpResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Allocates a static IP address.

" - }, - "AttachDisk":{ - "name":"AttachDisk", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachDiskRequest"}, - "output":{"shape":"AttachDiskResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name.

" - }, - "AttachInstancesToLoadBalancer":{ - "name":"AttachInstancesToLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachInstancesToLoadBalancerRequest"}, - "output":{"shape":"AttachInstancesToLoadBalancerResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Attaches one or more Lightsail instances to a load balancer.

After some time, the instances are attached to the load balancer and the health check status is available.

" - }, - "AttachLoadBalancerTlsCertificate":{ - "name":"AttachLoadBalancerTlsCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachLoadBalancerTlsCertificateRequest"}, - "output":{"shape":"AttachLoadBalancerTlsCertificateResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL).

Once you create and validate your certificate, you can attach it to your load balancer. You can also use this API to rotate the certificates on your account. Use the AttachLoadBalancerTlsCertificate operation with the non-attached certificate, and it will replace the existing one and become the attached certificate.

" - }, - "AttachStaticIp":{ - "name":"AttachStaticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachStaticIpRequest"}, - "output":{"shape":"AttachStaticIpResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Attaches a static IP address to a specific Amazon Lightsail instance.

" - }, - "CloseInstancePublicPorts":{ - "name":"CloseInstancePublicPorts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CloseInstancePublicPortsRequest"}, - "output":{"shape":"CloseInstancePublicPortsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Closes the public ports on a specific Amazon Lightsail instance.

" - }, - "CreateDisk":{ - "name":"CreateDisk", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDiskRequest"}, - "output":{"shape":"CreateDiskResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a block storage disk that can be attached to a Lightsail instance in the same Availability Zone (e.g., us-east-2a). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see Regions and Availability Zones in Lightsail.

" - }, - "CreateDiskFromSnapshot":{ - "name":"CreateDiskFromSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDiskFromSnapshotRequest"}, - "output":{"shape":"CreateDiskFromSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a block storage disk from a disk snapshot that can be attached to a Lightsail instance in the same Availability Zone (e.g., us-east-2a). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see Regions and Availability Zones in Lightsail.

" - }, - "CreateDiskSnapshot":{ - "name":"CreateDiskSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDiskSnapshotRequest"}, - "output":{"shape":"CreateDiskSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance.

You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending.

" - }, - "CreateDomain":{ - "name":"CreateDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDomainRequest"}, - "output":{"shape":"CreateDomainResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a domain resource for the specified domain (e.g., example.com).

" - }, - "CreateDomainEntry":{ - "name":"CreateDomainEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDomainEntryRequest"}, - "output":{"shape":"CreateDomainEntryResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates one of the following entry records associated with the domain: A record, CNAME record, TXT record, or MX record.

" - }, - "CreateInstanceSnapshot":{ - "name":"CreateInstanceSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceSnapshotRequest"}, - "output":{"shape":"CreateInstanceSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a snapshot of a specific virtual private server, or instance. You can use a snapshot to create a new instance that is based on that snapshot.

" - }, - "CreateInstances":{ - "name":"CreateInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstancesRequest"}, - "output":{"shape":"CreateInstancesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates one or more Amazon Lightsail virtual private servers, or instances.

" - }, - "CreateInstancesFromSnapshot":{ - "name":"CreateInstancesFromSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstancesFromSnapshotRequest"}, - "output":{"shape":"CreateInstancesFromSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Uses a specific snapshot as a blueprint for creating one or more new instances that are based on that identical configuration.

" - }, - "CreateKeyPair":{ - "name":"CreateKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateKeyPairRequest"}, - "output":{"shape":"CreateKeyPairResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates sn SSH key pair.

" - }, - "CreateLoadBalancer":{ - "name":"CreateLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoadBalancerRequest"}, - "output":{"shape":"CreateLoadBalancerResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see Configure your Lightsail instances for load balancing. You can create up to 5 load balancers per AWS Region in your account.

When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation.

" - }, - "CreateLoadBalancerTlsCertificate":{ - "name":"CreateLoadBalancerTlsCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLoadBalancerTlsCertificateRequest"}, - "output":{"shape":"CreateLoadBalancerTlsCertificateResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Creates a Lightsail load balancer TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

" - }, - "DeleteDisk":{ - "name":"DeleteDisk", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDiskRequest"}, - "output":{"shape":"DeleteDiskResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes the specified block storage disk. The disk must be in the available state (not attached to a Lightsail instance).

The disk may remain in the deleting state for several minutes.

" - }, - "DeleteDiskSnapshot":{ - "name":"DeleteDiskSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDiskSnapshotRequest"}, - "output":{"shape":"DeleteDiskSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes the specified disk snapshot.

When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the disk.

" - }, - "DeleteDomain":{ - "name":"DeleteDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDomainRequest"}, - "output":{"shape":"DeleteDomainResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes the specified domain recordset and all of its domain records.

" - }, - "DeleteDomainEntry":{ - "name":"DeleteDomainEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDomainEntryRequest"}, - "output":{"shape":"DeleteDomainEntryResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a specific domain entry.

" - }, - "DeleteInstance":{ - "name":"DeleteInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInstanceRequest"}, - "output":{"shape":"DeleteInstanceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a specific Amazon Lightsail virtual private server, or instance.

" - }, - "DeleteInstanceSnapshot":{ - "name":"DeleteInstanceSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInstanceSnapshotRequest"}, - "output":{"shape":"DeleteInstanceSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a specific snapshot of a virtual private server (or instance).

" - }, - "DeleteKeyPair":{ - "name":"DeleteKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteKeyPairRequest"}, - "output":{"shape":"DeleteKeyPairResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a specific SSH key pair.

" - }, - "DeleteLoadBalancer":{ - "name":"DeleteLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoadBalancerRequest"}, - "output":{"shape":"DeleteLoadBalancerResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a Lightsail load balancer and all its associated SSL/TLS certificates. Once the load balancer is deleted, you will need to create a new load balancer, create a new certificate, and verify domain ownership again.

" - }, - "DeleteLoadBalancerTlsCertificate":{ - "name":"DeleteLoadBalancerTlsCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoadBalancerTlsCertificateRequest"}, - "output":{"shape":"DeleteLoadBalancerTlsCertificateResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes an SSL/TLS certificate associated with a Lightsail load balancer.

" - }, - "DetachDisk":{ - "name":"DetachDisk", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachDiskRequest"}, - "output":{"shape":"DetachDiskResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Detaches a stopped block storage disk from a Lightsail instance. Make sure to unmount any file systems on the device within your operating system before stopping the instance and detaching the disk.

" - }, - "DetachInstancesFromLoadBalancer":{ - "name":"DetachInstancesFromLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachInstancesFromLoadBalancerRequest"}, - "output":{"shape":"DetachInstancesFromLoadBalancerResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Detaches the specified instances from a Lightsail load balancer.

This operation waits until the instances are no longer needed before they are detached from the load balancer.

" - }, - "DetachStaticIp":{ - "name":"DetachStaticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachStaticIpRequest"}, - "output":{"shape":"DetachStaticIpResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Detaches a static IP from the Amazon Lightsail instance to which it is attached.

" - }, - "DownloadDefaultKeyPair":{ - "name":"DownloadDefaultKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DownloadDefaultKeyPairRequest"}, - "output":{"shape":"DownloadDefaultKeyPairResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Downloads the default SSH key pair from the user's account.

" - }, - "GetActiveNames":{ - "name":"GetActiveNames", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetActiveNamesRequest"}, - "output":{"shape":"GetActiveNamesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the names of all active (not deleted) resources.

" - }, - "GetBlueprints":{ - "name":"GetBlueprints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetBlueprintsRequest"}, - "output":{"shape":"GetBlueprintsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the list of available instance images, or blueprints. You can use a blueprint to create a new virtual private server already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose.

" - }, - "GetBundles":{ - "name":"GetBundles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetBundlesRequest"}, - "output":{"shape":"GetBundlesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or instance).

" - }, - "GetDisk":{ - "name":"GetDisk", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDiskRequest"}, - "output":{"shape":"GetDiskResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific block storage disk.

" - }, - "GetDiskSnapshot":{ - "name":"GetDiskSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDiskSnapshotRequest"}, - "output":{"shape":"GetDiskSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific block storage disk snapshot.

" - }, - "GetDiskSnapshots":{ - "name":"GetDiskSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDiskSnapshotsRequest"}, - "output":{"shape":"GetDiskSnapshotsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all block storage disk snapshots in your AWS account and region.

If you are describing a long list of disk snapshots, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

" - }, - "GetDisks":{ - "name":"GetDisks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDisksRequest"}, - "output":{"shape":"GetDisksResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all block storage disks in your AWS account and region.

If you are describing a long list of disks, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

" - }, - "GetDomain":{ - "name":"GetDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDomainRequest"}, - "output":{"shape":"GetDomainResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific domain recordset.

" - }, - "GetDomains":{ - "name":"GetDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDomainsRequest"}, - "output":{"shape":"GetDomainsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns a list of all domains in the user's account.

" - }, - "GetInstance":{ - "name":"GetInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceRequest"}, - "output":{"shape":"GetInstanceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific Amazon Lightsail instance, which is a virtual private server.

" - }, - "GetInstanceAccessDetails":{ - "name":"GetInstanceAccessDetails", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceAccessDetailsRequest"}, - "output":{"shape":"GetInstanceAccessDetailsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns temporary SSH keys you can use to connect to a specific virtual private server, or instance.

" - }, - "GetInstanceMetricData":{ - "name":"GetInstanceMetricData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceMetricDataRequest"}, - "output":{"shape":"GetInstanceMetricDataResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the data points for the specified Amazon Lightsail instance metric, given an instance name.

" - }, - "GetInstancePortStates":{ - "name":"GetInstancePortStates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstancePortStatesRequest"}, - "output":{"shape":"GetInstancePortStatesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the port states for a specific virtual private server, or instance.

" - }, - "GetInstanceSnapshot":{ - "name":"GetInstanceSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceSnapshotRequest"}, - "output":{"shape":"GetInstanceSnapshotResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific instance snapshot.

" - }, - "GetInstanceSnapshots":{ - "name":"GetInstanceSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceSnapshotsRequest"}, - "output":{"shape":"GetInstanceSnapshotsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns all instance snapshots for the user's account.

" - }, - "GetInstanceState":{ - "name":"GetInstanceState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceStateRequest"}, - "output":{"shape":"GetInstanceStateResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns the state of a specific instance. Works on one instance at a time.

" - }, - "GetInstances":{ - "name":"GetInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstancesRequest"}, - "output":{"shape":"GetInstancesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all Amazon Lightsail virtual private servers, or instances.

" - }, - "GetKeyPair":{ - "name":"GetKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetKeyPairRequest"}, - "output":{"shape":"GetKeyPairResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific key pair.

" - }, - "GetKeyPairs":{ - "name":"GetKeyPairs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetKeyPairsRequest"}, - "output":{"shape":"GetKeyPairsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all key pairs in the user's account.

" - }, - "GetLoadBalancer":{ - "name":"GetLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoadBalancerRequest"}, - "output":{"shape":"GetLoadBalancerResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about the specified Lightsail load balancer.

" - }, - "GetLoadBalancerMetricData":{ - "name":"GetLoadBalancerMetricData", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoadBalancerMetricDataRequest"}, - "output":{"shape":"GetLoadBalancerMetricDataResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about health metrics for your Lightsail load balancer.

" - }, - "GetLoadBalancerTlsCertificates":{ - "name":"GetLoadBalancerTlsCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoadBalancerTlsCertificatesRequest"}, - "output":{"shape":"GetLoadBalancerTlsCertificatesResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about the TLS certificates that are associated with the specified Lightsail load balancer.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

You can have a maximum of 2 certificates associated with a Lightsail load balancer. One is active and the other is inactive.

" - }, - "GetLoadBalancers":{ - "name":"GetLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoadBalancersRequest"}, - "output":{"shape":"GetLoadBalancersResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all load balancers in an account.

If you are describing a long list of load balancers, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

" - }, - "GetOperation":{ - "name":"GetOperation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOperationRequest"}, - "output":{"shape":"GetOperationResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific operation. Operations include events such as when you create an instance, allocate a static IP, attach a static IP, and so on.

" - }, - "GetOperations":{ - "name":"GetOperations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOperationsRequest"}, - "output":{"shape":"GetOperationsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all operations.

Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to GetOperations use the maximum (last) statusChangedAt value from the previous request.

" - }, - "GetOperationsForResource":{ - "name":"GetOperationsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOperationsForResourceRequest"}, - "output":{"shape":"GetOperationsForResourceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Gets operations for a specific resource (e.g., an instance or a static IP).

" - }, - "GetRegions":{ - "name":"GetRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRegionsRequest"}, - "output":{"shape":"GetRegionsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns a list of all valid regions for Amazon Lightsail. Use the include availability zones parameter to also return the availability zones in a region.

" - }, - "GetStaticIp":{ - "name":"GetStaticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetStaticIpRequest"}, - "output":{"shape":"GetStaticIpResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about a specific static IP.

" - }, - "GetStaticIps":{ - "name":"GetStaticIps", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetStaticIpsRequest"}, - "output":{"shape":"GetStaticIpsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns information about all static IPs in the user's account.

" - }, - "ImportKeyPair":{ - "name":"ImportKeyPair", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportKeyPairRequest"}, - "output":{"shape":"ImportKeyPairResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Imports a public SSH key from a specific key pair.

" - }, - "IsVpcPeered":{ - "name":"IsVpcPeered", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IsVpcPeeredRequest"}, - "output":{"shape":"IsVpcPeeredResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Returns a Boolean value indicating whether your Lightsail VPC is peered.

" - }, - "OpenInstancePublicPorts":{ - "name":"OpenInstancePublicPorts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"OpenInstancePublicPortsRequest"}, - "output":{"shape":"OpenInstancePublicPortsResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Adds public ports to an Amazon Lightsail instance.

" - }, - "PeerVpc":{ - "name":"PeerVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PeerVpcRequest"}, - "output":{"shape":"PeerVpcResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Tries to peer the Lightsail VPC with the user's default VPC.

" - }, - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstanceRequest"}, - "output":{"shape":"RebootInstanceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Restarts a specific instance. When your Amazon Lightsail instance is finished rebooting, Lightsail assigns a new public IP address. To use the same IP address after restarting, create a static IP address and attach it to the instance.

" - }, - "ReleaseStaticIp":{ - "name":"ReleaseStaticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReleaseStaticIpRequest"}, - "output":{"shape":"ReleaseStaticIpResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Deletes a specific static IP from your account.

" - }, - "StartInstance":{ - "name":"StartInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstanceRequest"}, - "output":{"shape":"StartInstanceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.

" - }, - "StopInstance":{ - "name":"StopInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstanceRequest"}, - "output":{"shape":"StopInstanceResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Stops a specific Amazon Lightsail instance that is currently running.

" - }, - "UnpeerVpc":{ - "name":"UnpeerVpc", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnpeerVpcRequest"}, - "output":{"shape":"UnpeerVpcResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Attempts to unpeer the Lightsail VPC from the user's default VPC.

" - }, - "UpdateDomainEntry":{ - "name":"UpdateDomainEntry", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDomainEntryRequest"}, - "output":{"shape":"UpdateDomainEntryResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Updates a domain recordset after it is created.

" - }, - "UpdateLoadBalancerAttribute":{ - "name":"UpdateLoadBalancerAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateLoadBalancerAttributeRequest"}, - "output":{"shape":"UpdateLoadBalancerAttributeResult"}, - "errors":[ - {"shape":"ServiceException"}, - {"shape":"InvalidInputException"}, - {"shape":"NotFoundException"}, - {"shape":"OperationFailureException"}, - {"shape":"AccessDeniedException"}, - {"shape":"AccountSetupInProgressException"}, - {"shape":"UnauthenticatedException"} - ], - "documentation":"

Updates the specified attribute for a load balancer. You can only update one attribute at a time.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.

", - "exception":true - }, - "AccessDirection":{ - "type":"string", - "enum":[ - "inbound", - "outbound" - ] - }, - "AccountSetupInProgressException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when an account is still in the setup in progress state.

", - "exception":true - }, - "AllocateStaticIpRequest":{ - "type":"structure", - "required":["staticIpName"], - "members":{ - "staticIpName":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP address.

" - } - } - }, - "AllocateStaticIpResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the static IP address you allocated.

" - } - } - }, - "AttachDiskRequest":{ - "type":"structure", - "required":[ - "diskName", - "instanceName", - "diskPath" - ], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the Lightsail instance where you want to utilize the storage disk.

" - }, - "diskPath":{ - "shape":"NonEmptyString", - "documentation":"

The disk path to expose to the instance (e.g., /dev/xvdf).

" - } - } - }, - "AttachDiskResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "AttachInstancesToLoadBalancerRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "instanceNames" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer.

" - }, - "instanceNames":{ - "shape":"ResourceNameList", - "documentation":"

An array of strings representing the instance name(s) you want to attach to your load balancer.

An instance must be running before you can attach it to your load balancer.

There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).

" - } - } - }, - "AttachInstancesToLoadBalancerResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object representing the API operations.

" - } - } - }, - "AttachLoadBalancerTlsCertificateRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "certificateName" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer to which you want to associate the SSL/TLS certificate.

" - }, - "certificateName":{ - "shape":"ResourceName", - "documentation":"

The name of your SSL/TLS certificate.

" - } - } - }, - "AttachLoadBalancerTlsCertificateResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object representing the API operations.

These SSL/TLS certificates are only usable by Lightsail load balancers. You can't get the certificate and use it for another purpose.

" - } - } - }, - "AttachStaticIpRequest":{ - "type":"structure", - "required":[ - "staticIpName", - "instanceName" - ], - "members":{ - "staticIpName":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP.

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The instance name to which you want to attach the static IP address.

" - } - } - }, - "AttachStaticIpResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about your API operations.

" - } - } - }, - "AttachedDiskMap":{ - "type":"map", - "key":{"shape":"ResourceName"}, - "value":{"shape":"DiskMapList"} - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "zoneName":{ - "shape":"NonEmptyString", - "documentation":"

The name of the Availability Zone. The format is us-east-2a (case-sensitive).

" - }, - "state":{ - "shape":"NonEmptyString", - "documentation":"

The state of the Availability Zone.

" - } - }, - "documentation":"

Describes an Availability Zone.

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{"shape":"AvailabilityZone"} - }, - "Base64":{"type":"string"}, - "Blueprint":{ - "type":"structure", - "members":{ - "blueprintId":{ - "shape":"NonEmptyString", - "documentation":"

The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).

" - }, - "name":{ - "shape":"ResourceName", - "documentation":"

The friendly name of the blueprint (e.g., Amazon Linux).

" - }, - "group":{ - "shape":"NonEmptyString", - "documentation":"

The group name of the blueprint (e.g., amazon-linux).

" - }, - "type":{ - "shape":"BlueprintType", - "documentation":"

The type of the blueprint (e.g., os or app).

" - }, - "description":{ - "shape":"string", - "documentation":"

The description of the blueprint.

" - }, - "isActive":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.

" - }, - "minPower":{ - "shape":"integer", - "documentation":"

The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. 0 indicates that the blueprint runs on all instance sizes.

" - }, - "version":{ - "shape":"string", - "documentation":"

The version number of the operating system, application, or stack (e.g., 2016.03.0).

" - }, - "versionCode":{ - "shape":"string", - "documentation":"

The version code.

" - }, - "productUrl":{ - "shape":"string", - "documentation":"

The product URL to learn more about the image or blueprint.

" - }, - "licenseUrl":{ - "shape":"string", - "documentation":"

The end-user license agreement URL for the image or blueprint.

" - }, - "platform":{ - "shape":"InstancePlatform", - "documentation":"

The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.

" - } - }, - "documentation":"

Describes a blueprint (a virtual private server image).

" - }, - "BlueprintList":{ - "type":"list", - "member":{"shape":"Blueprint"} - }, - "BlueprintType":{ - "type":"string", - "enum":[ - "os", - "app" - ] - }, - "Bundle":{ - "type":"structure", - "members":{ - "price":{ - "shape":"float", - "documentation":"

The price in US dollars (e.g., 5.0).

" - }, - "cpuCount":{ - "shape":"integer", - "documentation":"

The number of vCPUs included in the bundle (e.g., 2).

" - }, - "diskSizeInGb":{ - "shape":"integer", - "documentation":"

The size of the SSD (e.g., 30).

" - }, - "bundleId":{ - "shape":"NonEmptyString", - "documentation":"

The bundle ID (e.g., micro_1_0).

" - }, - "instanceType":{ - "shape":"string", - "documentation":"

The Amazon EC2 instance type (e.g., t2.micro).

" - }, - "isActive":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether the bundle is active.

" - }, - "name":{ - "shape":"string", - "documentation":"

A friendly name for the bundle (e.g., Micro).

" - }, - "power":{ - "shape":"integer", - "documentation":"

A numeric value that represents the power of the bundle (e.g., 500). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.

" - }, - "ramSizeInGb":{ - "shape":"float", - "documentation":"

The amount of RAM in GB (e.g., 2.0).

" - }, - "transferPerMonthInGb":{ - "shape":"integer", - "documentation":"

The data transfer rate per month in GB (e.g., 2000).

" - }, - "supportedPlatforms":{ - "shape":"InstancePlatformList", - "documentation":"

The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a WINDOWS bundle on a blueprint that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX bundle.

" - } - }, - "documentation":"

Describes a bundle, which is a set of specs describing your virtual private server (or instance).

" - }, - "BundleList":{ - "type":"list", - "member":{"shape":"Bundle"} - }, - "CloseInstancePublicPortsRequest":{ - "type":"structure", - "required":[ - "portInfo", - "instanceName" - ], - "members":{ - "portInfo":{ - "shape":"PortInfo", - "documentation":"

Information about the public port you are trying to close.

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance on which you're attempting to close the public ports.

" - } - } - }, - "CloseInstancePublicPortsResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs that contains information about the operation.

" - } - } - }, - "CreateDiskFromSnapshotRequest":{ - "type":"structure", - "required":[ - "diskName", - "diskSnapshotName", - "availabilityZone", - "sizeInGb" - ], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" - }, - "diskSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the disk snapshot (e.g., my-snapshot) from which to create the new storage disk.

" - }, - "availabilityZone":{ - "shape":"NonEmptyString", - "documentation":"

The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

" - }, - "sizeInGb":{ - "shape":"integer", - "documentation":"

The size of the disk in GB (e.g., 32).

" - } - } - }, - "CreateDiskFromSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "CreateDiskRequest":{ - "type":"structure", - "required":[ - "diskName", - "availabilityZone", - "sizeInGb" - ], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" - }, - "availabilityZone":{ - "shape":"NonEmptyString", - "documentation":"

The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

" - }, - "sizeInGb":{ - "shape":"integer", - "documentation":"

The size of the disk in GB (e.g., 32).

" - } - } - }, - "CreateDiskResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "CreateDiskSnapshotRequest":{ - "type":"structure", - "required":[ - "diskName", - "diskSnapshotName" - ], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique name of the source disk (e.g., my-source-disk).

" - }, - "diskSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the destination disk snapshot (e.g., my-disk-snapshot) based on the source disk.

" - } - } - }, - "CreateDiskSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "CreateDomainEntryRequest":{ - "type":"structure", - "required":[ - "domainName", - "domainEntry" - ], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name (e.g., example.com) for which you want to create the domain entry.

" - }, - "domainEntry":{ - "shape":"DomainEntry", - "documentation":"

An array of key-value pairs containing information about the domain entry request.

" - } - } - }, - "CreateDomainEntryResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the operation.

" - } - } - }, - "CreateDomainRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name to manage (e.g., example.com).

You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain.

" - } - } - }, - "CreateDomainResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the domain resource you created.

" - } - } - }, - "CreateInstanceSnapshotRequest":{ - "type":"structure", - "required":[ - "instanceSnapshotName", - "instanceName" - ], - "members":{ - "instanceSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name for your new snapshot.

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The Lightsail instance on which to base your snapshot.

" - } - } - }, - "CreateInstanceSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your create instances snapshot request.

" - } - } - }, - "CreateInstancesFromSnapshotRequest":{ - "type":"structure", - "required":[ - "instanceNames", - "availabilityZone", - "instanceSnapshotName", - "bundleId" - ], - "members":{ - "instanceNames":{ - "shape":"StringList", - "documentation":"

The names for your new instances.

" - }, - "attachedDiskMapping":{ - "shape":"AttachedDiskMap", - "documentation":"

An object containing information about one or more disk mappings.

" - }, - "availabilityZone":{ - "shape":"string", - "documentation":"

The Availability Zone where you want to create your instances. Use the following formatting: us-east-2a (case sensitive). You can get a list of availability zones by using the get regions operation. Be sure to add the include availability zones parameter to your request.

" - }, - "instanceSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.

" - }, - "bundleId":{ - "shape":"NonEmptyString", - "documentation":"

The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

" - }, - "userData":{ - "shape":"string", - "documentation":"

You can create a launch script that configures a server with additional user data. For example, apt-get -y update.

Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

" - }, - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name for your key pair.

" - } - } - }, - "CreateInstancesFromSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your create instances from snapshot request.

" - } - } - }, - "CreateInstancesRequest":{ - "type":"structure", - "required":[ - "instanceNames", - "availabilityZone", - "blueprintId", - "bundleId" - ], - "members":{ - "instanceNames":{ - "shape":"StringList", - "documentation":"

The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: [\"MyFirstInstance\",\"MySecondInstance\"]

" - }, - "availabilityZone":{ - "shape":"string", - "documentation":"

The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). You can get a list of availability zones by using the get regions operation. Be sure to add the include availability zones parameter to your request.

" - }, - "customImageName":{ - "shape":"ResourceName", - "documentation":"

(Deprecated) The name for your custom image.

In releases prior to June 12, 2017, this parameter was ignored by the API. It is now deprecated.

", - "deprecated":true - }, - "blueprintId":{ - "shape":"NonEmptyString", - "documentation":"

The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). Use the get blueprints operation to return a list of available images (or blueprints).

" - }, - "bundleId":{ - "shape":"NonEmptyString", - "documentation":"

The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

" - }, - "userData":{ - "shape":"string", - "documentation":"

A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.

Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

" - }, - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name of your key pair.

" - } - } - }, - "CreateInstancesResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your create instances request.

" - } - } - }, - "CreateKeyPairRequest":{ - "type":"structure", - "required":["keyPairName"], - "members":{ - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name for your new key pair.

" - } - } - }, - "CreateKeyPairResult":{ - "type":"structure", - "members":{ - "keyPair":{ - "shape":"KeyPair", - "documentation":"

An array of key-value pairs containing information about the new key pair you just created.

" - }, - "publicKeyBase64":{ - "shape":"Base64", - "documentation":"

A base64-encoded public key of the ssh-rsa type.

" - }, - "privateKeyBase64":{ - "shape":"Base64", - "documentation":"

A base64-encoded RSA private key.

" - }, - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the results of your create key pair request.

" - } - } - }, - "CreateLoadBalancerRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "instancePort" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of your load balancer.

" - }, - "instancePort":{ - "shape":"Port", - "documentation":"

The instance port where you're creating your load balancer.

" - }, - "healthCheckPath":{ - "shape":"string", - "documentation":"

The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., \"/\").

You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it.

" - }, - "certificateName":{ - "shape":"ResourceName", - "documentation":"

The name of the SSL/TLS certificate.

If you specify certificateName, then certificateDomainName is required (and vice-versa).

" - }, - "certificateDomainName":{ - "shape":"DomainName", - "documentation":"

The domain name with which your certificate is associated (e.g., example.com).

If you specify certificateDomainName, then certificateName is required (and vice-versa).

" - }, - "certificateAlternativeNames":{ - "shape":"DomainNameList", - "documentation":"

The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).

" - } - } - }, - "CreateLoadBalancerResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object containing information about the API operations.

" - } - } - }, - "CreateLoadBalancerTlsCertificateRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "certificateName", - "certificateDomainName" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The load balancer name where you want to create the SSL/TLS certificate.

" - }, - "certificateName":{ - "shape":"ResourceName", - "documentation":"

The SSL/TLS certificate name.

You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see Limits.

" - }, - "certificateDomainName":{ - "shape":"DomainName", - "documentation":"

The domain name (e.g., example.com) for your SSL/TLS certificate.

" - }, - "certificateAlternativeNames":{ - "shape":"DomainNameList", - "documentation":"

An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., *.example.com).

" - } - } - }, - "CreateLoadBalancerTlsCertificateResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object containing information about the API operations.

" - } - } - }, - "DeleteDiskRequest":{ - "type":"structure", - "required":["diskName"], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique name of the disk you want to delete (e.g., my-disk).

" - } - } - }, - "DeleteDiskResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DeleteDiskSnapshotRequest":{ - "type":"structure", - "required":["diskSnapshotName"], - "members":{ - "diskSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).

" - } - } - }, - "DeleteDiskSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DeleteDomainEntryRequest":{ - "type":"structure", - "required":[ - "domainName", - "domainEntry" - ], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain entry to delete.

" - }, - "domainEntry":{ - "shape":"DomainEntry", - "documentation":"

An array of key-value pairs containing information about your domain entries.

" - } - } - }, - "DeleteDomainEntryResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the results of your delete domain entry request.

" - } - } - }, - "DeleteDomainRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The specific domain name to delete.

" - } - } - }, - "DeleteDomainResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the results of your delete domain request.

" - } - } - }, - "DeleteInstanceRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance to delete.

" - } - } - }, - "DeleteInstanceResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your delete instance request.

" - } - } - }, - "DeleteInstanceSnapshotRequest":{ - "type":"structure", - "required":["instanceSnapshotName"], - "members":{ - "instanceSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the snapshot to delete.

" - } - } - }, - "DeleteInstanceSnapshotResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your delete instance snapshot request.

" - } - } - }, - "DeleteKeyPairRequest":{ - "type":"structure", - "required":["keyPairName"], - "members":{ - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name of the key pair to delete.

" - } - } - }, - "DeleteKeyPairResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the results of your delete key pair request.

" - } - } - }, - "DeleteLoadBalancerRequest":{ - "type":"structure", - "required":["loadBalancerName"], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer you want to delete.

" - } - } - }, - "DeleteLoadBalancerResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DeleteLoadBalancerTlsCertificateRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "certificateName" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The load balancer name.

" - }, - "certificateName":{ - "shape":"ResourceName", - "documentation":"

The SSL/TLS certificate name.

" - }, - "force":{ - "shape":"boolean", - "documentation":"

When true, forces the deletion of an SSL/TLS certificate.

There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer.

" - } - } - }, - "DeleteLoadBalancerTlsCertificateResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DetachDiskRequest":{ - "type":"structure", - "required":["diskName"], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The unique name of the disk you want to detach from your instance (e.g., my-disk).

" - } - } - }, - "DetachDiskResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DetachInstancesFromLoadBalancerRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "instanceNames" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the Lightsail load balancer.

" - }, - "instanceNames":{ - "shape":"ResourceNameList", - "documentation":"

An array of strings containing the names of the instances you want to detach from the load balancer.

" - } - } - }, - "DetachInstancesFromLoadBalancerResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "DetachStaticIpRequest":{ - "type":"structure", - "required":["staticIpName"], - "members":{ - "staticIpName":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP to detach from the instance.

" - } - } - }, - "DetachStaticIpResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your detach static IP request.

" - } - } - }, - "Disk":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The unique name of the disk.

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the disk.

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The date when the disk was created.

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The AWS Region and Availability Zone where the disk is located.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The Lightsail resource type (e.g., Disk).

" - }, - "sizeInGb":{ - "shape":"integer", - "documentation":"

The size of the disk in GB.

" - }, - "isSystemDisk":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).

" - }, - "iops":{ - "shape":"integer", - "documentation":"

The input/output operations per second (IOPS) of the disk.

" - }, - "path":{ - "shape":"string", - "documentation":"

The disk path.

" - }, - "state":{ - "shape":"DiskState", - "documentation":"

Describes the status of the disk.

" - }, - "attachedTo":{ - "shape":"ResourceName", - "documentation":"

The resources to which the disk is attached.

" - }, - "isAttached":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether the disk is attached.

" - }, - "attachmentState":{ - "shape":"string", - "documentation":"

(Deprecated) The attachment state of the disk.

In releases prior to November 14, 2017, this parameter returned attached for system disks in the API response. It is now deprecated, but still included in the response. Use isAttached instead.

", - "deprecated":true - }, - "gbInUse":{ - "shape":"integer", - "documentation":"

(Deprecated) The number of GB in use by the disk.

In releases prior to November 14, 2017, this parameter was not included in the API response. It is now deprecated.

", - "deprecated":true - } - }, - "documentation":"

Describes a system disk or an block storage disk.

" - }, - "DiskList":{ - "type":"list", - "member":{"shape":"Disk"} - }, - "DiskMap":{ - "type":"structure", - "members":{ - "originalDiskPath":{ - "shape":"NonEmptyString", - "documentation":"

The original disk path exposed to the instance (for example, /dev/sdh).

" - }, - "newDiskName":{ - "shape":"ResourceName", - "documentation":"

The new disk name (e.g., my-new-disk).

" - } - }, - "documentation":"

Describes a block storage disk mapping.

" - }, - "DiskMapList":{ - "type":"list", - "member":{"shape":"DiskMap"} - }, - "DiskSnapshot":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the disk snapshot (e.g., my-disk-snapshot).

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the disk snapshot.

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The date when the disk snapshot was created.

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The AWS Region and Availability Zone where the disk snapshot was created.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The Lightsail resource type (e.g., DiskSnapshot).

" - }, - "sizeInGb":{ - "shape":"integer", - "documentation":"

The size of the disk in GB.

" - }, - "state":{ - "shape":"DiskSnapshotState", - "documentation":"

The status of the disk snapshot operation.

" - }, - "progress":{ - "shape":"string", - "documentation":"

The progress of the disk snapshot operation.

" - }, - "fromDiskName":{ - "shape":"ResourceName", - "documentation":"

The unique name of the source disk from which you are creating the disk snapshot.

" - }, - "fromDiskArn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the source disk from which you are creating the disk snapshot.

" - } - }, - "documentation":"

Describes a block storage disk snapshot.

" - }, - "DiskSnapshotList":{ - "type":"list", - "member":{"shape":"DiskSnapshot"} - }, - "DiskSnapshotState":{ - "type":"string", - "enum":[ - "pending", - "completed", - "error", - "unknown" - ] - }, - "DiskState":{ - "type":"string", - "enum":[ - "pending", - "error", - "available", - "in-use", - "unknown" - ] - }, - "Domain":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the domain.

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The date when the domain recordset was created.

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The AWS Region and Availability Zones where the domain recordset was created.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

" - }, - "domainEntries":{ - "shape":"DomainEntryList", - "documentation":"

An array of key-value pairs containing information about the domain entries.

" - } - }, - "documentation":"

Describes a domain where you are storing recordsets in Lightsail.

" - }, - "DomainEntry":{ - "type":"structure", - "members":{ - "id":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the domain recordset entry.

" - }, - "name":{ - "shape":"DomainName", - "documentation":"

The name of the domain.

" - }, - "target":{ - "shape":"string", - "documentation":"

The target AWS name server (e.g., ns-111.awsdns-22.com.).

For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. Be sure to also set isAlias to true when setting up an A record for a load balancer.

" - }, - "isAlias":{ - "shape":"boolean", - "documentation":"

When true, specifies whether the domain entry is an alias used by the Lightsail load balancer. You can include an alias (A type) record in your request, which points to a load balancer DNS name and routes traffic to your load balancer

" - }, - "type":{ - "shape":"DomainEntryType", - "documentation":"

The type of domain entry (e.g., SOA or NS).

" - }, - "options":{ - "shape":"DomainEntryOptions", - "documentation":"

(Deprecated) The options for the domain entry.

In releases prior to November 29, 2017, this parameter was not included in the API response. It is now deprecated.

", - "deprecated":true - } - }, - "documentation":"

Describes a domain recordset entry.

" - }, - "DomainEntryList":{ - "type":"list", - "member":{"shape":"DomainEntry"} - }, - "DomainEntryOptions":{ - "type":"map", - "key":{"shape":"DomainEntryOptionsKeys"}, - "value":{"shape":"string"} - }, - "DomainEntryOptionsKeys":{"type":"string"}, - "DomainEntryType":{"type":"string"}, - "DomainList":{ - "type":"list", - "member":{"shape":"Domain"} - }, - "DomainName":{"type":"string"}, - "DomainNameList":{ - "type":"list", - "member":{"shape":"DomainName"} - }, - "DownloadDefaultKeyPairRequest":{ - "type":"structure", - "members":{ - } - }, - "DownloadDefaultKeyPairResult":{ - "type":"structure", - "members":{ - "publicKeyBase64":{ - "shape":"Base64", - "documentation":"

A base64-encoded public key of the ssh-rsa type.

" - }, - "privateKeyBase64":{ - "shape":"Base64", - "documentation":"

A base64-encoded RSA private key.

" - } - } - }, - "GetActiveNamesRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for paginating results from your get active names request.

" - } - } - }, - "GetActiveNamesResult":{ - "type":"structure", - "members":{ - "activeNames":{ - "shape":"StringList", - "documentation":"

The list of active names returned by the get active names request.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get active names request.

" - } - } - }, - "GetBlueprintsRequest":{ - "type":"structure", - "members":{ - "includeInactive":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether to include inactive results in your request.

" - }, - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get blueprints request.

" - } - } - }, - "GetBlueprintsResult":{ - "type":"structure", - "members":{ - "blueprints":{ - "shape":"BlueprintList", - "documentation":"

An array of key-value pairs that contains information about the available blueprints.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get blueprints request.

" - } - } - }, - "GetBundlesRequest":{ - "type":"structure", - "members":{ - "includeInactive":{ - "shape":"boolean", - "documentation":"

A Boolean value that indicates whether to include inactive bundle results in your request.

" - }, - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get bundles request.

" - } - } - }, - "GetBundlesResult":{ - "type":"structure", - "members":{ - "bundles":{ - "shape":"BundleList", - "documentation":"

An array of key-value pairs that contains information about the available bundles.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get active names request.

" - } - } - }, - "GetDiskRequest":{ - "type":"structure", - "required":["diskName"], - "members":{ - "diskName":{ - "shape":"ResourceName", - "documentation":"

The name of the disk (e.g., my-disk).

" - } - } - }, - "GetDiskResult":{ - "type":"structure", - "members":{ - "disk":{ - "shape":"Disk", - "documentation":"

An object containing information about the disk.

" - } - } - }, - "GetDiskSnapshotRequest":{ - "type":"structure", - "required":["diskSnapshotName"], - "members":{ - "diskSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the disk snapshot (e.g., my-disk-snapshot).

" - } - } - }, - "GetDiskSnapshotResult":{ - "type":"structure", - "members":{ - "diskSnapshot":{ - "shape":"DiskSnapshot", - "documentation":"

An object containing information about the disk snapshot.

" - } - } - }, - "GetDiskSnapshotsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your GetDiskSnapshots request.

" - } - } - }, - "GetDiskSnapshotsResult":{ - "type":"structure", - "members":{ - "diskSnapshots":{ - "shape":"DiskSnapshotList", - "documentation":"

An array of objects containing information about all block storage disk snapshots.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your GetDiskSnapshots request.

" - } - } - }, - "GetDisksRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your GetDisks request.

" - } - } - }, - "GetDisksResult":{ - "type":"structure", - "members":{ - "disks":{ - "shape":"DiskList", - "documentation":"

An array of objects containing information about all block storage disks.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your GetDisks request.

" - } - } - }, - "GetDomainRequest":{ - "type":"structure", - "required":["domainName"], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name for which your want to return information about.

" - } - } - }, - "GetDomainResult":{ - "type":"structure", - "members":{ - "domain":{ - "shape":"Domain", - "documentation":"

An array of key-value pairs containing information about your get domain request.

" - } - } - }, - "GetDomainsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get domains request.

" - } - } - }, - "GetDomainsResult":{ - "type":"structure", - "members":{ - "domains":{ - "shape":"DomainList", - "documentation":"

An array of key-value pairs containing information about each of the domain entries in the user's account.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get active names request.

" - } - } - }, - "GetInstanceAccessDetailsRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance to access.

" - }, - "protocol":{ - "shape":"InstanceAccessProtocol", - "documentation":"

The protocol to use to connect to your instance. Defaults to ssh.

" - } - } - }, - "GetInstanceAccessDetailsResult":{ - "type":"structure", - "members":{ - "accessDetails":{ - "shape":"InstanceAccessDetails", - "documentation":"

An array of key-value pairs containing information about a get instance access request.

" - } - } - }, - "GetInstanceMetricDataRequest":{ - "type":"structure", - "required":[ - "instanceName", - "metricName", - "period", - "startTime", - "endTime", - "unit", - "statistics" - ], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance for which you want to get metrics data.

" - }, - "metricName":{ - "shape":"InstanceMetricName", - "documentation":"

The metric name to get data about.

" - }, - "period":{ - "shape":"MetricPeriod", - "documentation":"

The time period for which you are requesting data.

" - }, - "startTime":{ - "shape":"timestamp", - "documentation":"

The start time of the time period.

" - }, - "endTime":{ - "shape":"timestamp", - "documentation":"

The end time of the time period.

" - }, - "unit":{ - "shape":"MetricUnit", - "documentation":"

The unit. The list of valid values is below.

" - }, - "statistics":{ - "shape":"MetricStatisticList", - "documentation":"

The instance statistics.

" - } - } - }, - "GetInstanceMetricDataResult":{ - "type":"structure", - "members":{ - "metricName":{ - "shape":"InstanceMetricName", - "documentation":"

The metric name to return data for.

" - }, - "metricData":{ - "shape":"MetricDatapointList", - "documentation":"

An array of key-value pairs containing information about the results of your get instance metric data request.

" - } - } - }, - "GetInstancePortStatesRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance.

" - } - } - }, - "GetInstancePortStatesResult":{ - "type":"structure", - "members":{ - "portStates":{ - "shape":"InstancePortStateList", - "documentation":"

Information about the port states resulting from your request.

" - } - } - }, - "GetInstanceRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance.

" - } - } - }, - "GetInstanceResult":{ - "type":"structure", - "members":{ - "instance":{ - "shape":"Instance", - "documentation":"

An array of key-value pairs containing information about the specified instance.

" - } - } - }, - "GetInstanceSnapshotRequest":{ - "type":"structure", - "required":["instanceSnapshotName"], - "members":{ - "instanceSnapshotName":{ - "shape":"ResourceName", - "documentation":"

The name of the snapshot for which you are requesting information.

" - } - } - }, - "GetInstanceSnapshotResult":{ - "type":"structure", - "members":{ - "instanceSnapshot":{ - "shape":"InstanceSnapshot", - "documentation":"

An array of key-value pairs containing information about the results of your get instance snapshot request.

" - } - } - }, - "GetInstanceSnapshotsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get instance snapshots request.

" - } - } - }, - "GetInstanceSnapshotsResult":{ - "type":"structure", - "members":{ - "instanceSnapshots":{ - "shape":"InstanceSnapshotList", - "documentation":"

An array of key-value pairs containing information about the results of your get instance snapshots request.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get instance snapshots request.

" - } - } - }, - "GetInstanceStateRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance to get state information about.

" - } - } - }, - "GetInstanceStateResult":{ - "type":"structure", - "members":{ - "state":{ - "shape":"InstanceState", - "documentation":"

The state of the instance.

" - } - } - }, - "GetInstancesRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get instances request.

" - } - } - }, - "GetInstancesResult":{ - "type":"structure", - "members":{ - "instances":{ - "shape":"InstanceList", - "documentation":"

An array of key-value pairs containing information about your instances.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get instances request.

" - } - } - }, - "GetKeyPairRequest":{ - "type":"structure", - "required":["keyPairName"], - "members":{ - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name of the key pair for which you are requesting information.

" - } - } - }, - "GetKeyPairResult":{ - "type":"structure", - "members":{ - "keyPair":{ - "shape":"KeyPair", - "documentation":"

An array of key-value pairs containing information about the key pair.

" - } - } - }, - "GetKeyPairsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get key pairs request.

" - } - } - }, - "GetKeyPairsResult":{ - "type":"structure", - "members":{ - "keyPairs":{ - "shape":"KeyPairList", - "documentation":"

An array of key-value pairs containing information about the key pairs.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get key pairs request.

" - } - } - }, - "GetLoadBalancerMetricDataRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "metricName", - "period", - "startTime", - "endTime", - "unit", - "statistics" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer.

" - }, - "metricName":{ - "shape":"LoadBalancerMetricName", - "documentation":"

The metric about which you want to return information. Valid values are listed below, along with the most useful statistics to include in your request.

  • ClientTLSNegotiationErrorCount - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.

    Statistics: The most useful statistic is Sum.

  • HealthyHostCount - The number of target instances that are considered healthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • UnhealthyHostCount - The number of target instances that are considered unhealthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • InstanceResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received.

    Statistics: The most useful statistic is Average.

  • RejectedConnectionCount - The number of connections that were rejected because the load balancer had reached its maximum number of connections.

    Statistics: The most useful statistic is Sum.

  • RequestCount - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

" - }, - "period":{ - "shape":"MetricPeriod", - "documentation":"

The time period duration for your health data request.

" - }, - "startTime":{ - "shape":"timestamp", - "documentation":"

The start time of the period.

" - }, - "endTime":{ - "shape":"timestamp", - "documentation":"

The end time of the period.

" - }, - "unit":{ - "shape":"MetricUnit", - "documentation":"

The unit for the time period request. Valid values are listed below.

" - }, - "statistics":{ - "shape":"MetricStatisticList", - "documentation":"

An array of statistics that you want to request metrics for. Valid values are listed below.

  • SampleCount - The count (number) of data points used for the statistical calculation.

  • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum. This comparison helps you to know when to increase or decrease your resources as needed.

  • Sum - All values submitted for the matching metric added together. This statistic can be useful for determining the total volume of a metric.

  • Minimum - The lowest value observed during the specified period. You can use this value to determine low volumes of activity for your application.

  • Maximum - The highest value observed during the specified period. You can use this value to determine high volumes of activity for your application.

" - } - } - }, - "GetLoadBalancerMetricDataResult":{ - "type":"structure", - "members":{ - "metricName":{ - "shape":"LoadBalancerMetricName", - "documentation":"

The metric about which you are receiving information. Valid values are listed below, along with the most useful statistics to include in your request.

  • ClientTLSNegotiationErrorCount - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.

    Statistics: The most useful statistic is Sum.

  • HealthyHostCount - The number of target instances that are considered healthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • UnhealthyHostCount - The number of target instances that are considered unhealthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • InstanceResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received.

    Statistics: The most useful statistic is Average.

  • RejectedConnectionCount - The number of connections that were rejected because the load balancer had reached its maximum number of connections.

    Statistics: The most useful statistic is Sum.

  • RequestCount - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

" - }, - "metricData":{ - "shape":"MetricDatapointList", - "documentation":"

An array of metric datapoint objects.

" - } - } - }, - "GetLoadBalancerRequest":{ - "type":"structure", - "required":["loadBalancerName"], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer.

" - } - } - }, - "GetLoadBalancerResult":{ - "type":"structure", - "members":{ - "loadBalancer":{ - "shape":"LoadBalancer", - "documentation":"

An object containing information about your load balancer.

" - } - } - }, - "GetLoadBalancerTlsCertificatesRequest":{ - "type":"structure", - "required":["loadBalancerName"], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer you associated with your SSL/TLS certificate.

" - } - } - }, - "GetLoadBalancerTlsCertificatesResult":{ - "type":"structure", - "members":{ - "tlsCertificates":{ - "shape":"LoadBalancerTlsCertificateList", - "documentation":"

An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.

" - } - } - }, - "GetLoadBalancersRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for paginating the results from your GetLoadBalancers request.

" - } - } - }, - "GetLoadBalancersResult":{ - "type":"structure", - "members":{ - "loadBalancers":{ - "shape":"LoadBalancerList", - "documentation":"

An array of LoadBalancer objects describing your load balancers.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your GetLoadBalancers request.

" - } - } - }, - "GetOperationRequest":{ - "type":"structure", - "required":["operationId"], - "members":{ - "operationId":{ - "shape":"NonEmptyString", - "documentation":"

A GUID used to identify the operation.

" - } - } - }, - "GetOperationResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the results of your get operation request.

" - } - } - }, - "GetOperationsForResourceRequest":{ - "type":"structure", - "required":["resourceName"], - "members":{ - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The name of the resource for which you are requesting information.

" - }, - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get operations for resource request.

" - } - } - }, - "GetOperationsForResourceResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your get operations for resource request.

" - }, - "nextPageCount":{ - "shape":"string", - "documentation":"

(Deprecated) Returns the number of pages of results that remain.

In releases prior to June 12, 2017, this parameter returned null by the API. It is now deprecated, and the API returns the 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.

" - } - } - }, - "GetOperationsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get operations request.

" - } - } - }, - "GetOperationsResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the results of your get operations request.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get operations request.

" - } - } - }, - "GetRegionsRequest":{ - "type":"structure", - "members":{ - "includeAvailabilityZones":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., us-east-2a.

" - } - } - }, - "GetRegionsResult":{ - "type":"structure", - "members":{ - "regions":{ - "shape":"RegionList", - "documentation":"

An array of key-value pairs containing information about your get regions request.

" - } - } - }, - "GetStaticIpRequest":{ - "type":"structure", - "required":["staticIpName"], - "members":{ - "staticIpName":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP in Lightsail.

" - } - } - }, - "GetStaticIpResult":{ - "type":"structure", - "members":{ - "staticIp":{ - "shape":"StaticIp", - "documentation":"

An array of key-value pairs containing information about the requested static IP.

" - } - } - }, - "GetStaticIpsRequest":{ - "type":"structure", - "members":{ - "pageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get static IPs request.

" - } - } - }, - "GetStaticIpsResult":{ - "type":"structure", - "members":{ - "staticIps":{ - "shape":"StaticIpList", - "documentation":"

An array of key-value pairs containing information about your get static IPs request.

" - }, - "nextPageToken":{ - "shape":"string", - "documentation":"

A token used for advancing to the next page of results from your get static IPs request.

" - } - } - }, - "ImportKeyPairRequest":{ - "type":"structure", - "required":[ - "keyPairName", - "publicKeyBase64" - ], - "members":{ - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name of the key pair for which you want to import the public key.

" - }, - "publicKeyBase64":{ - "shape":"Base64", - "documentation":"

A base64-encoded public key of the ssh-rsa type.

" - } - } - }, - "ImportKeyPairResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "Instance":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the instance was created (e.g., 1479734909.17).

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The region name and availability zone where the instance is located.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource (usually Instance).

" - }, - "blueprintId":{ - "shape":"NonEmptyString", - "documentation":"

The blueprint ID (e.g., os_amlinux_2016_03).

" - }, - "blueprintName":{ - "shape":"NonEmptyString", - "documentation":"

The friendly name of the blueprint (e.g., Amazon Linux).

" - }, - "bundleId":{ - "shape":"NonEmptyString", - "documentation":"

The bundle for the instance (e.g., micro_1_0).

" - }, - "isStaticIp":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether this instance has a static IP assigned to it.

" - }, - "privateIpAddress":{ - "shape":"IpAddress", - "documentation":"

The private IP address of the instance.

" - }, - "publicIpAddress":{ - "shape":"IpAddress", - "documentation":"

The public IP address of the instance.

" - }, - "ipv6Address":{ - "shape":"IpV6Address", - "documentation":"

The IPv6 address of the instance.

" - }, - "hardware":{ - "shape":"InstanceHardware", - "documentation":"

The size of the vCPU and the amount of RAM for the instance.

" - }, - "networking":{ - "shape":"InstanceNetworking", - "documentation":"

Information about the public ports and monthly data transfer rates for the instance.

" - }, - "state":{ - "shape":"InstanceState", - "documentation":"

The status code and the state (e.g., running) for the instance.

" - }, - "username":{ - "shape":"NonEmptyString", - "documentation":"

The user name for connecting to the instance (e.g., ec2-user).

" - }, - "sshKeyName":{ - "shape":"ResourceName", - "documentation":"

The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).

" - } - }, - "documentation":"

Describes an instance (a virtual private server).

" - }, - "InstanceAccessDetails":{ - "type":"structure", - "members":{ - "certKey":{ - "shape":"string", - "documentation":"

For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.

" - }, - "expiresAt":{ - "shape":"IsoDate", - "documentation":"

For SSH access, the date on which the temporary keys expire.

" - }, - "ipAddress":{ - "shape":"IpAddress", - "documentation":"

The public IP address of the Amazon Lightsail instance.

" - }, - "password":{ - "shape":"string", - "documentation":"

For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.

If you create an instance using any key pair other than the default (LightsailDefaultKeyPair), password will always be an empty string.

If you change the Administrator password on the instance, Lightsail will continue to return the original password value. When accessing the instance using RDP, you need to manually enter the Administrator password after changing it from the default.

" - }, - "passwordData":{ - "shape":"PasswordData", - "documentation":"

For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if password is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.

" - }, - "privateKey":{ - "shape":"string", - "documentation":"

For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to tempkey).

" - }, - "protocol":{ - "shape":"InstanceAccessProtocol", - "documentation":"

The protocol for these Amazon Lightsail instance access details.

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of this Amazon Lightsail instance.

" - }, - "username":{ - "shape":"string", - "documentation":"

The user name to use when logging in to the Amazon Lightsail instance.

" - } - }, - "documentation":"

The parameters for gaining temporary access to one of your Amazon Lightsail instances.

" - }, - "InstanceAccessProtocol":{ - "type":"string", - "enum":[ - "ssh", - "rdp" - ] - }, - "InstanceHardware":{ - "type":"structure", - "members":{ - "cpuCount":{ - "shape":"integer", - "documentation":"

The number of vCPUs the instance has.

" - }, - "disks":{ - "shape":"DiskList", - "documentation":"

The disks attached to the instance.

" - }, - "ramSizeInGb":{ - "shape":"float", - "documentation":"

The amount of RAM in GB on the instance (e.g., 1.0).

" - } - }, - "documentation":"

Describes the hardware for the instance.

" - }, - "InstanceHealthReason":{ - "type":"string", - "enum":[ - "Lb.RegistrationInProgress", - "Lb.InitialHealthChecking", - "Lb.InternalError", - "Instance.ResponseCodeMismatch", - "Instance.Timeout", - "Instance.FailedHealthChecks", - "Instance.NotRegistered", - "Instance.NotInUse", - "Instance.DeregistrationInProgress", - "Instance.InvalidState", - "Instance.IpUnusable" - ] - }, - "InstanceHealthState":{ - "type":"string", - "enum":[ - "initial", - "healthy", - "unhealthy", - "unused", - "draining", - "unavailable" - ] - }, - "InstanceHealthSummary":{ - "type":"structure", - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the Lightsail instance for which you are requesting health check data.

" - }, - "instanceHealth":{ - "shape":"InstanceHealthState", - "documentation":"

Describes the overall instance health. Valid values are below.

" - }, - "instanceHealthReason":{ - "shape":"InstanceHealthReason", - "documentation":"

More information about the instance health. If the instanceHealth is healthy, then an instanceHealthReason value is not provided.

If instanceHealth is initial, the instanceHealthReason value can be one of the following:

  • Lb.RegistrationInProgress - The target instance is in the process of being registered with the load balancer.

  • Lb.InitialHealthChecking - The Lightsail load balancer is still sending the target instance the minimum number of health checks required to determine its health status.

If instanceHealth is unhealthy, the instanceHealthReason value can be one of the following:

  • Instance.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Instance.Timeout - The health check requests timed out.

  • Instance.FailedHealthChecks - The health checks failed because the connection to the target instance timed out, the target instance response was malformed, or the target instance failed the health check for an unknown reason.

  • Lb.InternalError - The health checks failed due to an internal error.

If instanceHealth is unused, the instanceHealthReason value can be one of the following:

  • Instance.NotRegistered - The target instance is not registered with the target group.

  • Instance.NotInUse - The target group is not used by any load balancer, or the target instance is in an Availability Zone that is not enabled for its load balancer.

  • Instance.IpUnusable - The target IP address is reserved for use by a Lightsail load balancer.

  • Instance.InvalidState - The target is in the stopped or terminated state.

If instanceHealth is draining, the instanceHealthReason value can be one of the following:

  • Instance.DeregistrationInProgress - The target instance is in the process of being deregistered and the deregistration delay period has not expired.

" - } - }, - "documentation":"

Describes information about the health of the instance.

" - }, - "InstanceHealthSummaryList":{ - "type":"list", - "member":{"shape":"InstanceHealthSummary"} - }, - "InstanceList":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InstanceMetricName":{ - "type":"string", - "enum":[ - "CPUUtilization", - "NetworkIn", - "NetworkOut", - "StatusCheckFailed", - "StatusCheckFailed_Instance", - "StatusCheckFailed_System" - ] - }, - "InstanceNetworking":{ - "type":"structure", - "members":{ - "monthlyTransfer":{ - "shape":"MonthlyTransfer", - "documentation":"

The amount of data in GB allocated for monthly data transfers.

" - }, - "ports":{ - "shape":"InstancePortInfoList", - "documentation":"

An array of key-value pairs containing information about the ports on the instance.

" - } - }, - "documentation":"

Describes monthly data transfer rates and port information for an instance.

" - }, - "InstancePlatform":{ - "type":"string", - "enum":[ - "LINUX_UNIX", - "WINDOWS" - ] - }, - "InstancePlatformList":{ - "type":"list", - "member":{"shape":"InstancePlatform"} - }, - "InstancePortInfo":{ - "type":"structure", - "members":{ - "fromPort":{ - "shape":"Port", - "documentation":"

The first port in 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.

" - }, - "accessFrom":{ - "shape":"string", - "documentation":"

The location from which access is allowed (e.g., Anywhere (0.0.0.0/0)).

" - }, - "accessType":{ - "shape":"PortAccessType", - "documentation":"

The type of access (Public or Private).

" - }, - "commonName":{ - "shape":"string", - "documentation":"

The common name.

" - }, - "accessDirection":{ - "shape":"AccessDirection", - "documentation":"

The access direction (inbound or outbound).

" - } - }, - "documentation":"

Describes information about the instance ports.

" - }, - "InstancePortInfoList":{ - "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":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the snapshot.

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the snapshot was created (e.g., 1479907467.024).

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The region name and availability zone where you created the snapshot.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resource (usually InstanceSnapshot).

" - }, - "state":{ - "shape":"InstanceSnapshotState", - "documentation":"

The state the snapshot is in.

" - }, - "progress":{ - "shape":"string", - "documentation":"

The progress of the snapshot.

" - }, - "fromAttachedDisks":{ - "shape":"DiskList", - "documentation":"

An array of disk objects containing information about all block storage disks.

" - }, - "fromInstanceName":{ - "shape":"ResourceName", - "documentation":"

The instance from which the snapshot was created.

" - }, - "fromInstanceArn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).

" - }, - "fromBlueprintId":{ - "shape":"string", - "documentation":"

The blueprint ID from which you created the snapshot (e.g., os_debian_8_3). A blueprint is a virtual private server (or instance) image used to create instances quickly.

" - }, - "fromBundleId":{ - "shape":"string", - "documentation":"

The bundle ID from which you created the snapshot (e.g., micro_1_0).

" - }, - "sizeInGb":{ - "shape":"integer", - "documentation":"

The size in GB of the SSD.

" - } - }, - "documentation":"

Describes the snapshot of the virtual private server, or instance.

" - }, - "InstanceSnapshotList":{ - "type":"list", - "member":{"shape":"InstanceSnapshot"} - }, - "InstanceSnapshotState":{ - "type":"string", - "enum":[ - "pending", - "error", - "available" - ] - }, - "InstanceState":{ - "type":"structure", - "members":{ - "code":{ - "shape":"integer", - "documentation":"

The status code for the instance.

" - }, - "name":{ - "shape":"string", - "documentation":"

The state of the instance (e.g., running or pending).

" - } - }, - "documentation":"

Describes the virtual private server (or instance) status.

" - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Domain-related APIs are only available in the N. Virginia (us-east-1) Region. Please set your AWS Region configuration to us-east-1 to create, view, or edit these resources.

", - "exception":true - }, - "IpAddress":{ - "type":"string", - "pattern":"([0-9]{1,3}\\.){3}[0-9]{1,3}" - }, - "IpV6Address":{ - "type":"string", - "pattern":"([A-F0-9]{1,4}:){7}[A-F0-9]{1,4}" - }, - "IsVpcPeeredRequest":{ - "type":"structure", - "members":{ - } - }, - "IsVpcPeeredResult":{ - "type":"structure", - "members":{ - "isPeered":{ - "shape":"boolean", - "documentation":"

Returns true if the Lightsail VPC is peered; otherwise, false.

" - } - } - }, - "IsoDate":{"type":"timestamp"}, - "KeyPair":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The friendly name of the SSH key pair.

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the key pair was created (e.g., 1479816991.349).

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The region name and Availability Zone where the key pair was created.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type (usually KeyPair).

" - }, - "fingerprint":{ - "shape":"Base64", - "documentation":"

The RSA fingerprint of the key pair.

" - } - }, - "documentation":"

Describes the SSH key pair.

" - }, - "KeyPairList":{ - "type":"list", - "member":{"shape":"KeyPair"} - }, - "LoadBalancer":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer (e.g., my-load-balancer).

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail load balancer. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The date when your load balancer was created.

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail automatically creates your load balancer across Availability Zones.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type (e.g., LoadBalancer.

" - }, - "dnsName":{ - "shape":"NonEmptyString", - "documentation":"

The DNS name of your Lightsail load balancer.

" - }, - "state":{ - "shape":"LoadBalancerState", - "documentation":"

The status of your load balancer. Valid values are below.

" - }, - "protocol":{ - "shape":"LoadBalancerProtocol", - "documentation":"

The protocol you have enabled for your load balancer. Valid values are below.

You can't just have HTTP_HTTPS, but you can have just HTTP.

" - }, - "publicPorts":{ - "shape":"PortList", - "documentation":"

An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443.

" - }, - "healthCheckPath":{ - "shape":"NonEmptyString", - "documentation":"

The path you specified to perform your health checks. If no path is specified, the load balancer tries to make a request to the default (root) page.

" - }, - "instancePort":{ - "shape":"integer", - "documentation":"

The port where the load balancer will direct traffic to your Lightsail instances. For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.

" - }, - "instanceHealthSummary":{ - "shape":"InstanceHealthSummaryList", - "documentation":"

An array of InstanceHealthSummary objects describing the health of the load balancer.

" - }, - "tlsCertificateSummaries":{ - "shape":"LoadBalancerTlsCertificateSummaryList", - "documentation":"

An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the SSL/TLS certificates. For example, if true, the certificate is attached to the load balancer.

" - }, - "configurationOptions":{ - "shape":"LoadBalancerConfigurationOptions", - "documentation":"

A string to string map of the configuration options for your load balancer. Valid values are listed below.

" - } - }, - "documentation":"

Describes the Lightsail load balancer.

" - }, - "LoadBalancerAttributeName":{ - "type":"string", - "enum":[ - "HealthCheckPath", - "SessionStickinessEnabled", - "SessionStickiness_LB_CookieDurationSeconds" - ] - }, - "LoadBalancerConfigurationOptions":{ - "type":"map", - "key":{"shape":"LoadBalancerAttributeName"}, - "value":{"shape":"string"} - }, - "LoadBalancerList":{ - "type":"list", - "member":{"shape":"LoadBalancer"} - }, - "LoadBalancerMetricName":{ - "type":"string", - "enum":[ - "ClientTLSNegotiationErrorCount", - "HealthyHostCount", - "UnhealthyHostCount", - "HTTPCode_LB_4XX_Count", - "HTTPCode_LB_5XX_Count", - "HTTPCode_Instance_2XX_Count", - "HTTPCode_Instance_3XX_Count", - "HTTPCode_Instance_4XX_Count", - "HTTPCode_Instance_5XX_Count", - "InstanceResponseTime", - "RejectedConnectionCount", - "RequestCount" - ] - }, - "LoadBalancerProtocol":{ - "type":"string", - "enum":[ - "HTTP_HTTPS", - "HTTP" - ] - }, - "LoadBalancerState":{ - "type":"string", - "enum":[ - "active", - "provisioning", - "active_impaired", - "failed", - "unknown" - ] - }, - "LoadBalancerTlsCertificate":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the SSL/TLS certificate (e.g., my-certificate).

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the SSL/TLS certificate.

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The time when you created your SSL/TLS certificate.

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The AWS Region and Availability Zone where you created your certificate.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type (e.g., LoadBalancerTlsCertificate).

  • Instance - A Lightsail instance (a virtual private server)

  • StaticIp - A static IP address

  • KeyPair - The key pair used to connect to a Lightsail instance

  • InstanceSnapshot - A Lightsail instance snapshot

  • Domain - A DNS zone

  • PeeredVpc - A peered VPC

  • LoadBalancer - A Lightsail load balancer

  • LoadBalancerTlsCertificate - An SSL/TLS certificate associated with a Lightsail load balancer

  • Disk - A Lightsail block storage disk

  • DiskSnapshot - A block storage disk snapshot

" - }, - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The load balancer name where your SSL/TLS certificate is attached.

" - }, - "isAttached":{ - "shape":"boolean", - "documentation":"

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

" - }, - "status":{ - "shape":"LoadBalancerTlsCertificateStatus", - "documentation":"

The status of the SSL/TLS certificate. Valid values are below.

" - }, - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name for your SSL/TLS certificate.

" - }, - "domainValidationRecords":{ - "shape":"LoadBalancerTlsCertificateDomainValidationRecordList", - "documentation":"

An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.

" - }, - "failureReason":{ - "shape":"LoadBalancerTlsCertificateFailureReason", - "documentation":"

The reason for the SSL/TLS certificate validation failure.

" - }, - "issuedAt":{ - "shape":"IsoDate", - "documentation":"

The time when the SSL/TLS certificate was issued.

" - }, - "issuer":{ - "shape":"NonEmptyString", - "documentation":"

The issuer of the certificate.

" - }, - "keyAlgorithm":{ - "shape":"NonEmptyString", - "documentation":"

The algorithm that was used to generate the key pair (the public and private key).

" - }, - "notAfter":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the SSL/TLS certificate expires.

" - }, - "notBefore":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the SSL/TLS certificate is first valid.

" - }, - "renewalSummary":{ - "shape":"LoadBalancerTlsCertificateRenewalSummary", - "documentation":"

An object containing information about the status of Lightsail's managed renewal for the certificate.

" - }, - "revocationReason":{ - "shape":"LoadBalancerTlsCertificateRevocationReason", - "documentation":"

The reason the certificate was revoked. Valid values are below.

" - }, - "revokedAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the SSL/TLS certificate was revoked.

" - }, - "serial":{ - "shape":"NonEmptyString", - "documentation":"

The serial number of the certificate.

" - }, - "signatureAlgorithm":{ - "shape":"NonEmptyString", - "documentation":"

The algorithm that was used to sign the certificate.

" - }, - "subject":{ - "shape":"NonEmptyString", - "documentation":"

The name of the entity that is associated with the public key contained in the certificate.

" - }, - "subjectAlternativeNames":{ - "shape":"StringList", - "documentation":"

One or more domains or subdomains included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as example.com, www.example.com, or m.example.com.

" - } - }, - "documentation":"

Describes a load balancer SSL/TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

" - }, - "LoadBalancerTlsCertificateDomainStatus":{ - "type":"string", - "enum":[ - "PENDING_VALIDATION", - "FAILED", - "SUCCESS" - ] - }, - "LoadBalancerTlsCertificateDomainValidationOption":{ - "type":"structure", - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The fully qualified domain name in the certificate request.

" - }, - "validationStatus":{ - "shape":"LoadBalancerTlsCertificateDomainStatus", - "documentation":"

The status of the domain validation. Valid values are listed below.

" - } - }, - "documentation":"

Contains information about the domain names on an SSL/TLS certificate that you will use to validate domain ownership.

" - }, - "LoadBalancerTlsCertificateDomainValidationOptionList":{ - "type":"list", - "member":{"shape":"LoadBalancerTlsCertificateDomainValidationOption"} - }, - "LoadBalancerTlsCertificateDomainValidationRecord":{ - "type":"structure", - "members":{ - "name":{ - "shape":"NonEmptyString", - "documentation":"

A fully qualified domain name in the certificate. For example, example.com.

" - }, - "type":{ - "shape":"NonEmptyString", - "documentation":"

The type of validation record. For example, CNAME for domain validation.

" - }, - "value":{ - "shape":"NonEmptyString", - "documentation":"

The value for that type.

" - }, - "validationStatus":{ - "shape":"LoadBalancerTlsCertificateDomainStatus", - "documentation":"

The validation status. Valid values are listed below.

" - }, - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name against which your SSL/TLS certificate was validated.

" - } - }, - "documentation":"

Describes the validation record of each domain name in the SSL/TLS certificate.

" - }, - "LoadBalancerTlsCertificateDomainValidationRecordList":{ - "type":"list", - "member":{"shape":"LoadBalancerTlsCertificateDomainValidationRecord"} - }, - "LoadBalancerTlsCertificateFailureReason":{ - "type":"string", - "enum":[ - "NO_AVAILABLE_CONTACTS", - "ADDITIONAL_VERIFICATION_REQUIRED", - "DOMAIN_NOT_ALLOWED", - "INVALID_PUBLIC_DOMAIN", - "OTHER" - ] - }, - "LoadBalancerTlsCertificateList":{ - "type":"list", - "member":{"shape":"LoadBalancerTlsCertificate"} - }, - "LoadBalancerTlsCertificateRenewalStatus":{ - "type":"string", - "enum":[ - "PENDING_AUTO_RENEWAL", - "PENDING_VALIDATION", - "SUCCESS", - "FAILED" - ] - }, - "LoadBalancerTlsCertificateRenewalSummary":{ - "type":"structure", - "members":{ - "renewalStatus":{ - "shape":"LoadBalancerTlsCertificateRenewalStatus", - "documentation":"

The status of Lightsail's managed renewal of the certificate. Valid values are listed below.

" - }, - "domainValidationOptions":{ - "shape":"LoadBalancerTlsCertificateDomainValidationOptionList", - "documentation":"

Contains information about the validation of each domain name in the certificate, as it pertains to Lightsail's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request.

" - } - }, - "documentation":"

Contains information about the status of Lightsail's managed renewal for the certificate.

" - }, - "LoadBalancerTlsCertificateRevocationReason":{ - "type":"string", - "enum":[ - "UNSPECIFIED", - "KEY_COMPROMISE", - "CA_COMPROMISE", - "AFFILIATION_CHANGED", - "SUPERCEDED", - "CESSATION_OF_OPERATION", - "CERTIFICATE_HOLD", - "REMOVE_FROM_CRL", - "PRIVILEGE_WITHDRAWN", - "A_A_COMPROMISE" - ] - }, - "LoadBalancerTlsCertificateStatus":{ - "type":"string", - "enum":[ - "PENDING_VALIDATION", - "ISSUED", - "INACTIVE", - "EXPIRED", - "VALIDATION_TIMED_OUT", - "REVOKED", - "FAILED", - "UNKNOWN" - ] - }, - "LoadBalancerTlsCertificateSummary":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the SSL/TLS certificate.

" - }, - "isAttached":{ - "shape":"boolean", - "documentation":"

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

" - } - }, - "documentation":"

Provides a summary of SSL/TLS certificate metadata.

" - }, - "LoadBalancerTlsCertificateSummaryList":{ - "type":"list", - "member":{"shape":"LoadBalancerTlsCertificateSummary"} - }, - "MetricDatapoint":{ - "type":"structure", - "members":{ - "average":{ - "shape":"double", - "documentation":"

The average.

" - }, - "maximum":{ - "shape":"double", - "documentation":"

The maximum.

" - }, - "minimum":{ - "shape":"double", - "documentation":"

The minimum.

" - }, - "sampleCount":{ - "shape":"double", - "documentation":"

The sample count.

" - }, - "sum":{ - "shape":"double", - "documentation":"

The sum.

" - }, - "timestamp":{ - "shape":"timestamp", - "documentation":"

The timestamp (e.g., 1479816991.349).

" - }, - "unit":{ - "shape":"MetricUnit", - "documentation":"

The unit.

" - } - }, - "documentation":"

Describes the metric data point.

" - }, - "MetricDatapointList":{ - "type":"list", - "member":{"shape":"MetricDatapoint"} - }, - "MetricPeriod":{ - "type":"integer", - "max":86400, - "min":60 - }, - "MetricStatistic":{ - "type":"string", - "enum":[ - "Minimum", - "Maximum", - "Sum", - "Average", - "SampleCount" - ] - }, - "MetricStatisticList":{ - "type":"list", - "member":{"shape":"MetricStatistic"} - }, - "MetricUnit":{ - "type":"string", - "enum":[ - "Seconds", - "Microseconds", - "Milliseconds", - "Bytes", - "Kilobytes", - "Megabytes", - "Gigabytes", - "Terabytes", - "Bits", - "Kilobits", - "Megabits", - "Gigabits", - "Terabits", - "Percent", - "Count", - "Bytes/Second", - "Kilobytes/Second", - "Megabytes/Second", - "Gigabytes/Second", - "Terabytes/Second", - "Bits/Second", - "Kilobits/Second", - "Megabits/Second", - "Gigabits/Second", - "Terabits/Second", - "Count/Second", - "None" - ] - }, - "MonthlyTransfer":{ - "type":"structure", - "members":{ - "gbPerMonthAllocated":{ - "shape":"integer", - "documentation":"

The amount allocated per month (in GB).

" - } - }, - "documentation":"

Describes the monthly data transfer in and out of your virtual private server (or instance).

" - }, - "NetworkProtocol":{ - "type":"string", - "enum":[ - "tcp", - "all", - "udp" - ] - }, - "NonEmptyString":{ - "type":"string", - "pattern":".*\\S.*" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when it cannot find a resource.

", - "exception":true - }, - "OpenInstancePublicPortsRequest":{ - "type":"structure", - "required":[ - "portInfo", - "instanceName" - ], - "members":{ - "portInfo":{ - "shape":"PortInfo", - "documentation":"

An array of key-value pairs containing information about the port mappings.

" - }, - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance for which you want to open the public ports.

" - } - } - }, - "OpenInstancePublicPortsResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "Operation":{ - "type":"structure", - "members":{ - "id":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the operation.

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The resource name.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the operation was initialized (e.g., 1479816991.349).

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The region and Availability Zone.

" - }, - "isTerminal":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether the operation is terminal.

" - }, - "operationDetails":{ - "shape":"string", - "documentation":"

Details about the operation (e.g., Debian-1GB-Ohio-1).

" - }, - "operationType":{ - "shape":"OperationType", - "documentation":"

The type of operation.

" - }, - "status":{ - "shape":"OperationStatus", - "documentation":"

The status of the operation.

" - }, - "statusChangedAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the status was changed (e.g., 1479816991.349).

" - }, - "errorCode":{ - "shape":"string", - "documentation":"

The error code.

" - }, - "errorDetails":{ - "shape":"string", - "documentation":"

The error details.

" - } - }, - "documentation":"

Describes the API operation.

" - }, - "OperationFailureException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when an operation fails to execute.

", - "exception":true - }, - "OperationList":{ - "type":"list", - "member":{"shape":"Operation"} - }, - "OperationStatus":{ - "type":"string", - "enum":[ - "NotStarted", - "Started", - "Failed", - "Completed", - "Succeeded" - ] - }, - "OperationType":{ - "type":"string", - "enum":[ - "DeleteInstance", - "CreateInstance", - "StopInstance", - "StartInstance", - "RebootInstance", - "OpenInstancePublicPorts", - "PutInstancePublicPorts", - "CloseInstancePublicPorts", - "AllocateStaticIp", - "ReleaseStaticIp", - "AttachStaticIp", - "DetachStaticIp", - "UpdateDomainEntry", - "DeleteDomainEntry", - "CreateDomain", - "DeleteDomain", - "CreateInstanceSnapshot", - "DeleteInstanceSnapshot", - "CreateInstancesFromSnapshot", - "CreateLoadBalancer", - "DeleteLoadBalancer", - "AttachInstancesToLoadBalancer", - "DetachInstancesFromLoadBalancer", - "UpdateLoadBalancerAttribute", - "CreateLoadBalancerTlsCertificate", - "DeleteLoadBalancerTlsCertificate", - "AttachLoadBalancerTlsCertificate", - "CreateDisk", - "DeleteDisk", - "AttachDisk", - "DetachDisk", - "CreateDiskSnapshot", - "DeleteDiskSnapshot", - "CreateDiskFromSnapshot" - ] - }, - "PasswordData":{ - "type":"structure", - "members":{ - "ciphertext":{ - "shape":"string", - "documentation":"

The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.

If you use the default key pair (LightsailDefaultKeyPair), the decrypted password will be available in the password field.

If you are using a custom key pair, you need to use your own means of decryption.

If you change the Administrator password on the instance, Lightsail will continue to return the original ciphertext value. When accessing the instance using RDP, you need to manually enter the Administrator password after changing it from the default.

" - }, - "keyPairName":{ - "shape":"ResourceName", - "documentation":"

The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (LightsailDefaultKeyPair).

If you are using a custom key pair, you need to use your own means of decrypting your password using the ciphertext. Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.

" - } - }, - "documentation":"

The password data for the Windows Server-based instance, including the ciphertext and the key pair name.

" - }, - "PeerVpcRequest":{ - "type":"structure", - "members":{ - } - }, - "PeerVpcResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "Port":{ - "type":"integer", - "max":65535, - "min":0 - }, - "PortAccessType":{ - "type":"string", - "enum":[ - "Public", - "Private" - ] - }, - "PortInfo":{ - "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.

" - } - }, - "documentation":"

Describes information about the ports on your virtual private server (or instance).

" - }, - "PortInfoList":{ - "type":"list", - "member":{"shape":"PortInfo"} - }, - "PortList":{ - "type":"list", - "member":{"shape":"Port"} - }, - "PortState":{ - "type":"string", - "enum":[ - "open", - "closed" - ] - }, - "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", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance to reboot.

" - } - } - }, - "RebootInstanceResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the request operations.

" - } - } - }, - "Region":{ - "type":"structure", - "members":{ - "continentCode":{ - "shape":"string", - "documentation":"

The continent code (e.g., NA, meaning North America).

" - }, - "description":{ - "shape":"string", - "documentation":"

The description of the AWS Region (e.g., This region is recommended to serve users in the eastern United States and eastern Canada).

" - }, - "displayName":{ - "shape":"string", - "documentation":"

The display name (e.g., Ohio).

" - }, - "name":{ - "shape":"RegionName", - "documentation":"

The region name (e.g., us-east-2).

" - }, - "availabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

The Availability Zones. Follows the format us-east-2a (case-sensitive).

" - } - }, - "documentation":"

Describes the AWS Region.

" - }, - "RegionList":{ - "type":"list", - "member":{"shape":"Region"} - }, - "RegionName":{ - "type":"string", - "enum":[ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "eu-central-1", - "eu-west-1", - "eu-west-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1", - "ap-northeast-2" - ] - }, - "ReleaseStaticIpRequest":{ - "type":"structure", - "required":["staticIpName"], - "members":{ - "staticIpName":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP to delete.

" - } - } - }, - "ReleaseStaticIpResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "ResourceLocation":{ - "type":"structure", - "members":{ - "availabilityZone":{ - "shape":"string", - "documentation":"

The Availability Zone. Follows the format us-east-2a (case-sensitive).

" - }, - "regionName":{ - "shape":"RegionName", - "documentation":"

The AWS Region name.

" - } - }, - "documentation":"

Describes the resource location.

" - }, - "ResourceName":{ - "type":"string", - "pattern":"\\w[\\w\\-]*\\w" - }, - "ResourceNameList":{ - "type":"list", - "member":{"shape":"ResourceName"} - }, - "ResourceType":{ - "type":"string", - "enum":[ - "Instance", - "StaticIp", - "KeyPair", - "InstanceSnapshot", - "Domain", - "PeeredVpc", - "LoadBalancer", - "LoadBalancerTlsCertificate", - "Disk", - "DiskSnapshot" - ] - }, - "ServiceException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

A general service exception.

", - "exception":true, - "fault":true - }, - "StartInstanceRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance (a virtual private server) to start.

" - } - } - }, - "StartInstanceResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "StaticIp":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ResourceName", - "documentation":"

The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).

" - }, - "arn":{ - "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).

" - }, - "supportCode":{ - "shape":"string", - "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" - }, - "createdAt":{ - "shape":"IsoDate", - "documentation":"

The timestamp when the static IP was created (e.g., 1479735304.222).

" - }, - "location":{ - "shape":"ResourceLocation", - "documentation":"

The region and Availability Zone where the static IP was created.

" - }, - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type (usually StaticIp).

" - }, - "ipAddress":{ - "shape":"IpAddress", - "documentation":"

The static IP address.

" - }, - "attachedTo":{ - "shape":"ResourceName", - "documentation":"

The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).

" - }, - "isAttached":{ - "shape":"boolean", - "documentation":"

A Boolean value indicating whether the static IP is attached.

" - } - }, - "documentation":"

Describes the static IP.

" - }, - "StaticIpList":{ - "type":"list", - "member":{"shape":"StaticIp"} - }, - "StopInstanceRequest":{ - "type":"structure", - "required":["instanceName"], - "members":{ - "instanceName":{ - "shape":"ResourceName", - "documentation":"

The name of the instance (a virtual private server) to stop.

" - }, - "force":{ - "shape":"boolean", - "documentation":"

When set to True, forces a Lightsail instance that is stuck in a stopping state to stop.

Only use the force parameter if your instance is stuck in the stopping state. In any other state, your instance should stop normally without adding this parameter to your API request.

" - } - } - }, - "StopInstanceResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "StringList":{ - "type":"list", - "member":{"shape":"string"} - }, - "StringMax256":{ - "type":"string", - "max":256, - "min":1 - }, - "UnauthenticatedException":{ - "type":"structure", - "members":{ - "code":{"shape":"string"}, - "docs":{"shape":"string"}, - "message":{"shape":"string"}, - "tip":{"shape":"string"} - }, - "documentation":"

Lightsail throws this exception when the user has not been authenticated.

", - "exception":true - }, - "UnpeerVpcRequest":{ - "type":"structure", - "members":{ - } - }, - "UnpeerVpcResult":{ - "type":"structure", - "members":{ - "operation":{ - "shape":"Operation", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "UpdateDomainEntryRequest":{ - "type":"structure", - "required":[ - "domainName", - "domainEntry" - ], - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain recordset to update.

" - }, - "domainEntry":{ - "shape":"DomainEntry", - "documentation":"

An array of key-value pairs containing information about the domain entry.

" - } - } - }, - "UpdateDomainEntryResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An array of key-value pairs containing information about the request operation.

" - } - } - }, - "UpdateLoadBalancerAttributeRequest":{ - "type":"structure", - "required":[ - "loadBalancerName", - "attributeName", - "attributeValue" - ], - "members":{ - "loadBalancerName":{ - "shape":"ResourceName", - "documentation":"

The name of the load balancer that you want to modify (e.g., my-load-balancer.

" - }, - "attributeName":{ - "shape":"LoadBalancerAttributeName", - "documentation":"

The name of the attribute you want to update. Valid values are below.

" - }, - "attributeValue":{ - "shape":"StringMax256", - "documentation":"

The value that you want to specify for the attribute name.

" - } - } - }, - "UpdateLoadBalancerAttributeResult":{ - "type":"structure", - "members":{ - "operations":{ - "shape":"OperationList", - "documentation":"

An object describing the API operations.

" - } - } - }, - "boolean":{"type":"boolean"}, - "double":{"type":"double"}, - "float":{"type":"float"}, - "integer":{"type":"integer"}, - "string":{"type":"string"}, - "timestamp":{"type":"timestamp"} - }, - "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/paginators-1.json deleted file mode 100644 index 57449c57..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/paginators-1.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "pagination": { - "DescribeDestinations": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": "destinations" - }, - "DescribeLogGroups": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": "logGroups" - }, - "DescribeLogStreams": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": "logStreams" - }, - "DescribeMetricFilters": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": "metricFilters" - }, - "DescribeSubscriptionFilters": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": "subscriptionFilters" - }, - "FilterLogEvents": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "limit", - "result_key": [ - "events", - "searchedLogStreams" - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/service-2.json deleted file mode 100644 index 4ff0125c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/logs/2014-03-28/service-2.json +++ /dev/null @@ -1,2014 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-03-28", - "endpointPrefix":"logs", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon CloudWatch Logs", - "serviceId":"CloudWatch Logs", - "signatureVersion":"v4", - "targetPrefix":"Logs_20140328", - "uid":"logs-2014-03-28" - }, - "operations":{ - "AssociateKmsKey":{ - "name":"AssociateKmsKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateKmsKeyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group.

Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

Note that it can take up to 5 minutes for this operation to take effect.

If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

" - }, - "CancelExportTask":{ - "name":"CancelExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelExportTaskRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidOperationException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Cancels the specified export task.

The task must be in the PENDING or RUNNING state.

" - }, - "CreateExportTask":{ - "name":"CreateExportTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateExportTaskRequest"}, - "output":{"shape":"CreateExportTaskResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"LimitExceededException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAlreadyExistsException"} - ], - "documentation":"

Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log data for each export task, you can specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

" - }, - "CreateLogGroup":{ - "name":"CreateLogGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLogGroupRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"LimitExceededException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates a log group with the specified name.

You can create up to 5000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a region for an AWS account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

" - }, - "CreateLogStream":{ - "name":"CreateLogStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLogStreamRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates a log stream for the specified log group.

There is no limit on the number of log streams that you can create for a log group.

You must use the following guidelines when naming a log stream:

  • Log stream names must be unique within the log group.

  • Log stream names can be between 1 and 512 characters long.

  • The ':' (colon) and '*' (asterisk) characters are not allowed.

" - }, - "DeleteDestination":{ - "name":"DeleteDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDestinationRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This operation does not delete the physical resource encapsulated by the destination.

" - }, - "DeleteLogGroup":{ - "name":"DeleteLogGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLogGroupRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified log group and permanently deletes all the archived log events associated with the log group.

" - }, - "DeleteLogStream":{ - "name":"DeleteLogStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLogStreamRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified log stream and permanently deletes all the archived log events associated with the log stream.

" - }, - "DeleteMetricFilter":{ - "name":"DeleteMetricFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMetricFilterRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified metric filter.

" - }, - "DeleteResourcePolicy":{ - "name":"DeleteResourcePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteResourcePolicyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes a resource policy from this account. This revokes the access of the identities in that policy to put log events to this account.

" - }, - "DeleteRetentionPolicy":{ - "name":"DeleteRetentionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRetentionPolicyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified retention policy.

Log events do not expire if they belong to log groups without a retention policy.

" - }, - "DeleteSubscriptionFilter":{ - "name":"DeleteSubscriptionFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubscriptionFilterRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Deletes the specified subscription filter.

" - }, - "DescribeDestinations":{ - "name":"DescribeDestinations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDestinationsRequest"}, - "output":{"shape":"DescribeDestinationsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists all your destinations. The results are ASCII-sorted by destination name.

" - }, - "DescribeExportTasks":{ - "name":"DescribeExportTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExportTasksRequest"}, - "output":{"shape":"DescribeExportTasksResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the specified export tasks. You can list all your export tasks or filter the results based on task ID or task status.

" - }, - "DescribeLogGroups":{ - "name":"DescribeLogGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLogGroupsRequest"}, - "output":{"shape":"DescribeLogGroupsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are ASCII-sorted by log group name.

" - }, - "DescribeLogStreams":{ - "name":"DescribeLogStreams", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLogStreamsRequest"}, - "output":{"shape":"DescribeLogStreamsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the log streams for the specified log group. You can list all the log streams or filter the results by prefix. You can also control how the results are ordered.

This operation has a limit of five transactions per second, after which transactions are throttled.

" - }, - "DescribeMetricFilters":{ - "name":"DescribeMetricFilters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMetricFiltersRequest"}, - "output":{"shape":"DescribeMetricFiltersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the specified metric filters. You can list all the metric filters or filter the results by log name, prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name.

" - }, - "DescribeResourcePolicies":{ - "name":"DescribeResourcePolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourcePoliciesRequest"}, - "output":{"shape":"DescribeResourcePoliciesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the resource policies in this account.

" - }, - "DescribeSubscriptionFilters":{ - "name":"DescribeSubscriptionFilters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubscriptionFiltersRequest"}, - "output":{"shape":"DescribeSubscriptionFiltersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the subscription filters for the specified log group. You can list all the subscription filters or filter the results by prefix. The results are ASCII-sorted by filter name.

" - }, - "DisassociateKmsKey":{ - "name":"DisassociateKmsKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateKmsKeyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group.

After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

Note that it can take up to 5 minutes for this operation to take effect.

" - }, - "FilterLogEvents":{ - "name":"FilterLogEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"FilterLogEventsRequest"}, - "output":{"shape":"FilterLogEventsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists log events from the specified log group. You can list all the log events or filter the results using a filter pattern, a time range, and the name of the log stream.

By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the events found within the time range that you specify. If the results include a token, then there are more log events available, and you can get additional results by specifying the token in a subsequent call.

" - }, - "GetLogEvents":{ - "name":"GetLogEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLogEventsRequest"}, - "output":{"shape":"GetLogEventsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists log events from the specified log stream. You can list all the log events or filter using a time range.

By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). You can get additional log events by specifying one of the tokens in a subsequent call.

" - }, - "ListTagsLogGroup":{ - "name":"ListTagsLogGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsLogGroupRequest"}, - "output":{"shape":"ListTagsLogGroupResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the tags for the specified log group.

" - }, - "PutDestination":{ - "name":"PutDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutDestinationRequest"}, - "output":{"shape":"PutDestinationResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates or updates a destination. A destination encapsulates a physical resource (such as an Amazon Kinesis stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents. Currently, the only supported physical resource is a Kinesis stream belonging to the same account as the destination.

Through an access policy, a destination controls what is written to its Kinesis stream. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

" - }, - "PutDestinationPolicy":{ - "name":"PutDestinationPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutDestinationPolicyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

" - }, - "PutLogEvents":{ - "name":"PutLogEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLogEventsRequest"}, - "output":{"shape":"PutLogEventsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidSequenceTokenException"}, - {"shape":"DataAlreadyAcceptedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnrecognizedClientException"} - ], - "documentation":"

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their time stamp. The time stamp is the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid AWS access key ID or secret key.

" - }, - "PutMetricFilter":{ - "name":"PutMetricFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutMetricFilterRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

" - }, - "PutResourcePolicy":{ - "name":"PutResourcePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutResourcePolicyRequest"}, - "output":{"shape":"PutResourcePolicyResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"LimitExceededException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates or updates a resource policy allowing other AWS services to put log events to this account, such as Amazon Route 53. An account can have up to 10 resource policies per region.

" - }, - "PutRetentionPolicy":{ - "name":"PutRetentionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutRetentionPolicyRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Sets the retention of the specified log group. A retention policy allows you to configure the number of days for which to retain log events in the specified log group.

" - }, - "PutSubscriptionFilter":{ - "name":"PutSubscriptionFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutSubscriptionFilterRequest"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OperationAbortedException"}, - {"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 delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group.

" - }, - "TagLogGroup":{ - "name":"TagLogGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagLogGroupRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

" - }, - "TestMetricFilter":{ - "name":"TestMetricFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestMetricFilterRequest"}, - "output":{"shape":"TestMetricFilterResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

" - }, - "UntagLogGroup":{ - "name":"UntagLogGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagLogGroupRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Removes the specified tags from the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To add tags, use UntagLogGroup.

" - } - }, - "shapes":{ - "AccessPolicy":{ - "type":"string", - "min":1 - }, - "Arn":{"type":"string"}, - "AssociateKmsKeyRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "kmsKeyId" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "kmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" - } - } - }, - "CancelExportTaskRequest":{ - "type":"structure", - "required":["taskId"], - "members":{ - "taskId":{ - "shape":"ExportTaskId", - "documentation":"

The ID of the export task.

" - } - } - }, - "CreateExportTaskRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "from", - "to", - "destination" - ], - "members":{ - "taskName":{ - "shape":"ExportTaskName", - "documentation":"

The name of the export task.

" - }, - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamNamePrefix":{ - "shape":"LogStreamName", - "documentation":"

Export only log streams that match the provided prefix. If you don't specify a value, no prefix filter is applied.

" - }, - "from":{ - "shape":"Timestamp", - "documentation":"

The start time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp earlier than this time are not exported.

" - }, - "to":{ - "shape":"Timestamp", - "documentation":"

The end time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not exported.

" - }, - "destination":{ - "shape":"ExportDestinationBucket", - "documentation":"

The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

" - }, - "destinationPrefix":{ - "shape":"ExportDestinationPrefix", - "documentation":"

The prefix used as the start of the key for every object exported. If you don't specify a value, the default is exportedlogs.

" - } - } - }, - "CreateExportTaskResponse":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"ExportTaskId", - "documentation":"

The ID of the export task.

" - } - } - }, - "CreateLogGroupRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "kmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" - }, - "tags":{ - "shape":"Tags", - "documentation":"

The key-value pairs to use for the tags.

" - } - } - }, - "CreateLogStreamRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "logStreamName" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - } - } - }, - "DataAlreadyAcceptedException":{ - "type":"structure", - "members":{ - "expectedSequenceToken":{"shape":"SequenceToken"} - }, - "documentation":"

The event was already logged.

", - "exception":true - }, - "Days":{ - "type":"integer", - "documentation":"

The number of days to retain the log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

" - }, - "DefaultValue":{"type":"double"}, - "DeleteDestinationRequest":{ - "type":"structure", - "required":["destinationName"], - "members":{ - "destinationName":{ - "shape":"DestinationName", - "documentation":"

The name of the destination.

" - } - } - }, - "DeleteLogGroupRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - } - } - }, - "DeleteLogStreamRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "logStreamName" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - } - } - }, - "DeleteMetricFilterRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "filterName" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterName":{ - "shape":"FilterName", - "documentation":"

The name of the metric filter.

" - } - } - }, - "DeleteResourcePolicyRequest":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy to be revoked. This parameter is required.

" - } - } - }, - "DeleteRetentionPolicyRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - } - } - }, - "DeleteSubscriptionFilterRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "filterName" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterName":{ - "shape":"FilterName", - "documentation":"

The name of the subscription filter.

" - } - } - }, - "Descending":{"type":"boolean"}, - "DescribeDestinationsRequest":{ - "type":"structure", - "members":{ - "DestinationNamePrefix":{ - "shape":"DestinationName", - "documentation":"

The prefix to match. If you don't specify a value, no prefix filter is applied.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - } - } - }, - "DescribeDestinationsResponse":{ - "type":"structure", - "members":{ - "destinations":{ - "shape":"Destinations", - "documentation":"

The destinations.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeExportTasksRequest":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"ExportTaskId", - "documentation":"

The ID of the export task. Specifying a task ID filters the results to zero or one export tasks.

" - }, - "statusCode":{ - "shape":"ExportTaskStatusCode", - "documentation":"

The status code of the export task. Specifying a status code filters the results to zero or more export tasks.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - } - } - }, - "DescribeExportTasksResponse":{ - "type":"structure", - "members":{ - "exportTasks":{ - "shape":"ExportTasks", - "documentation":"

The export tasks.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeLimit":{ - "type":"integer", - "max":50, - "min":1 - }, - "DescribeLogGroupsRequest":{ - "type":"structure", - "members":{ - "logGroupNamePrefix":{ - "shape":"LogGroupName", - "documentation":"

The prefix to match.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - } - } - }, - "DescribeLogGroupsResponse":{ - "type":"structure", - "members":{ - "logGroups":{ - "shape":"LogGroups", - "documentation":"

The log groups.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeLogStreamsRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamNamePrefix":{ - "shape":"LogStreamName", - "documentation":"

The prefix to match.

If orderBy is LastEventTime,you cannot specify this parameter.

" - }, - "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.

lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" - }, - "descending":{ - "shape":"Descending", - "documentation":"

If the value is true, results are returned in descending order. If the value is to false, results are returned in ascending order. The default value is false.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - } - } - }, - "DescribeLogStreamsResponse":{ - "type":"structure", - "members":{ - "logStreams":{ - "shape":"LogStreams", - "documentation":"

The log streams.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeMetricFiltersRequest":{ - "type":"structure", - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterNamePrefix":{ - "shape":"FilterName", - "documentation":"

The prefix to match.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - }, - "metricName":{ - "shape":"MetricName", - "documentation":"

Filters results to include only those with the specified metric name. If you include this parameter in your request, you must also include the metricNamespace parameter.

" - }, - "metricNamespace":{ - "shape":"MetricNamespace", - "documentation":"

Filters results to include only those in the specified namespace. If you include this parameter in your request, you must also include the metricName parameter.

" - } - } - }, - "DescribeMetricFiltersResponse":{ - "type":"structure", - "members":{ - "metricFilters":{ - "shape":"MetricFilters", - "documentation":"

The metric filters.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeResourcePoliciesRequest":{ - "type":"structure", - "members":{ - "nextToken":{"shape":"NextToken"}, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of resource policies to be displayed with one call of this API.

" - } - } - }, - "DescribeResourcePoliciesResponse":{ - "type":"structure", - "members":{ - "resourcePolicies":{ - "shape":"ResourcePolicies", - "documentation":"

The resource policies that exist in this account.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "DescribeSubscriptionFiltersRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterNamePrefix":{ - "shape":"FilterName", - "documentation":"

The prefix to match. If you don't specify a value, no prefix filter is applied.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" - } - } - }, - "DescribeSubscriptionFiltersResponse":{ - "type":"structure", - "members":{ - "subscriptionFilters":{ - "shape":"SubscriptionFilters", - "documentation":"

The subscription filters.

" - }, - "nextToken":{"shape":"NextToken"} - } - }, - "Destination":{ - "type":"structure", - "members":{ - "destinationName":{ - "shape":"DestinationName", - "documentation":"

The name of the destination.

" - }, - "targetArn":{ - "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) of the physical target to where the log events are delivered (for example, a Kinesis stream).

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

A role for impersonation, used when delivering log events to the target.

" - }, - "accessPolicy":{ - "shape":"AccessPolicy", - "documentation":"

An IAM policy document that governs which AWS accounts can create subscription filters against this destination.

" - }, - "arn":{ - "shape":"Arn", - "documentation":"

The ARN of this destination.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the destination, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - } - }, - "documentation":"

Represents a cross-account destination that receives subscription log events.

" - }, - "DestinationArn":{ - "type":"string", - "min":1 - }, - "DestinationName":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[^:*]*" - }, - "Destinations":{ - "type":"list", - "member":{"shape":"Destination"} - }, - "DisassociateKmsKeyRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - } - } - }, - "Distribution":{ - "type":"string", - "documentation":"

The method used to distribute log data to the destination, which can be either random or grouped by log stream.

", - "enum":[ - "Random", - "ByLogStream" - ] - }, - "EventId":{"type":"string"}, - "EventMessage":{ - "type":"string", - "min":1 - }, - "EventNumber":{"type":"long"}, - "EventsLimit":{ - "type":"integer", - "max":10000, - "min":1 - }, - "ExportDestinationBucket":{ - "type":"string", - "max":512, - "min":1 - }, - "ExportDestinationPrefix":{"type":"string"}, - "ExportTask":{ - "type":"structure", - "members":{ - "taskId":{ - "shape":"ExportTaskId", - "documentation":"

The ID of the export task.

" - }, - "taskName":{ - "shape":"ExportTaskName", - "documentation":"

The name of the export task.

" - }, - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group from which logs data was exported.

" - }, - "from":{ - "shape":"Timestamp", - "documentation":"

The start time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp before this time are not exported.

" - }, - "to":{ - "shape":"Timestamp", - "documentation":"

The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not exported.

" - }, - "destination":{ - "shape":"ExportDestinationBucket", - "documentation":"

The name of Amazon S3 bucket to which the log data was exported.

" - }, - "destinationPrefix":{ - "shape":"ExportDestinationPrefix", - "documentation":"

The prefix that was used as the start of Amazon S3 key for every object exported.

" - }, - "status":{ - "shape":"ExportTaskStatus", - "documentation":"

The status of the export task.

" - }, - "executionInfo":{ - "shape":"ExportTaskExecutionInfo", - "documentation":"

Execution info about the export task.

" - } - }, - "documentation":"

Represents an export task.

" - }, - "ExportTaskExecutionInfo":{ - "type":"structure", - "members":{ - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "completionTime":{ - "shape":"Timestamp", - "documentation":"

The completion time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - } - }, - "documentation":"

Represents the status of an export task.

" - }, - "ExportTaskId":{ - "type":"string", - "max":512, - "min":1 - }, - "ExportTaskName":{ - "type":"string", - "max":512, - "min":1 - }, - "ExportTaskStatus":{ - "type":"structure", - "members":{ - "code":{ - "shape":"ExportTaskStatusCode", - "documentation":"

The status code of the export task.

" - }, - "message":{ - "shape":"ExportTaskStatusMessage", - "documentation":"

The status message related to the status code.

" - } - }, - "documentation":"

Represents the status of an export task.

" - }, - "ExportTaskStatusCode":{ - "type":"string", - "enum":[ - "CANCELLED", - "COMPLETED", - "FAILED", - "PENDING", - "PENDING_CANCEL", - "RUNNING" - ] - }, - "ExportTaskStatusMessage":{"type":"string"}, - "ExportTasks":{ - "type":"list", - "member":{"shape":"ExportTask"} - }, - "ExtractedValues":{ - "type":"map", - "key":{"shape":"Token"}, - "value":{"shape":"Value"} - }, - "FilterCount":{"type":"integer"}, - "FilterLogEventsRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamNames":{ - "shape":"InputLogStreamNames", - "documentation":"

Optional list of log stream names.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp before this time are not returned.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp later than this time are not returned.

" - }, - "filterPattern":{ - "shape":"FilterPattern", - "documentation":"

The filter pattern to use. If not provided, all the events are matched.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of events to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"EventsLimit", - "documentation":"

The maximum number of events to return. The default is 10,000 events.

" - }, - "interleaved":{ - "shape":"Interleaved", - "documentation":"

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

" - } - } - }, - "FilterLogEventsResponse":{ - "type":"structure", - "members":{ - "events":{ - "shape":"FilteredLogEvents", - "documentation":"

The matched events.

" - }, - "searchedLogStreams":{ - "shape":"SearchedLogStreams", - "documentation":"

Indicates which log streams have been searched and whether each has been searched completely.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. The token expires after 24 hours.

" - } - } - }, - "FilterName":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[^:*]*" - }, - "FilterPattern":{ - "type":"string", - "documentation":"

A symbolic description of how CloudWatch Logs should interpret the data in each log event. For example, a log event may contain time stamps, IP addresses, strings, and so on. You use the filter pattern to specify what to look for in the log event message.

", - "max":1024, - "min":0 - }, - "FilteredLogEvent":{ - "type":"structure", - "members":{ - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream this event belongs to.

" - }, - "timestamp":{ - "shape":"Timestamp", - "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "message":{ - "shape":"EventMessage", - "documentation":"

The data contained in the log event.

" - }, - "ingestionTime":{ - "shape":"Timestamp", - "documentation":"

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "eventId":{ - "shape":"EventId", - "documentation":"

The ID of the event.

" - } - }, - "documentation":"

Represents a matched event.

" - }, - "FilteredLogEvents":{ - "type":"list", - "member":{"shape":"FilteredLogEvent"} - }, - "GetLogEventsRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "logStreamName" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - }, - "startTime":{ - "shape":"Timestamp", - "documentation":"

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp equal to this time or later than this time are included. Events with a time stamp earlier than this time are not included.

" - }, - "endTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a time stamp equal to or later than this time are not included.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "limit":{ - "shape":"EventsLimit", - "documentation":"

The maximum number of log events returned. If you don't specify a value, the maximum is as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

" - }, - "startFromHead":{ - "shape":"StartFromHead", - "documentation":"

If the value is true, the earliest log events are returned first. If the value is false, the latest log events are returned first. The default value is false.

" - } - } - }, - "GetLogEventsResponse":{ - "type":"structure", - "members":{ - "events":{ - "shape":"OutputLogEvents", - "documentation":"

The events.

" - }, - "nextForwardToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items in the forward direction. The token expires after 24 hours. If you have reached the end of the stream, it will return the same token you passed in.

" - }, - "nextBackwardToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items in the backward direction. The token expires after 24 hours. This token will never be null. If you have reached the end of the stream, it will return the same token you passed in.

" - } - } - }, - "InputLogEvent":{ - "type":"structure", - "required":[ - "timestamp", - "message" - ], - "members":{ - "timestamp":{ - "shape":"Timestamp", - "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "message":{ - "shape":"EventMessage", - "documentation":"

The raw event message.

" - } - }, - "documentation":"

Represents a log event, which is a record of activity that was recorded by the application or resource being monitored.

" - }, - "InputLogEvents":{ - "type":"list", - "member":{"shape":"InputLogEvent"}, - "max":10000, - "min":1 - }, - "InputLogStreamNames":{ - "type":"list", - "member":{"shape":"LogStreamName"}, - "max":100, - "min":1 - }, - "Interleaved":{"type":"boolean"}, - "InvalidOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation is not valid on the specified resource.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A parameter is specified incorrectly.

", - "exception":true - }, - "InvalidSequenceTokenException":{ - "type":"structure", - "members":{ - "expectedSequenceToken":{"shape":"SequenceToken"} - }, - "documentation":"

The sequence token is not valid.

", - "exception":true - }, - "KmsKeyId":{ - "type":"string", - "max":256 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have reached the maximum number of resources that can be created.

", - "exception":true - }, - "ListTagsLogGroupRequest":{ - "type":"structure", - "required":["logGroupName"], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - } - } - }, - "ListTagsLogGroupResponse":{ - "type":"structure", - "members":{ - "tags":{ - "shape":"Tags", - "documentation":"

The tags for the log group.

" - } - } - }, - "LogEventIndex":{"type":"integer"}, - "LogGroup":{ - "type":"structure", - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "retentionInDays":{"shape":"Days"}, - "metricFilterCount":{ - "shape":"FilterCount", - "documentation":"

The number of metric filters.

" - }, - "arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the log group.

" - }, - "storedBytes":{ - "shape":"StoredBytes", - "documentation":"

The number of bytes stored.

" - }, - "kmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.

" - } - }, - "documentation":"

Represents a log group.

" - }, - "LogGroupName":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[\\.\\-_/#A-Za-z0-9]+" - }, - "LogGroups":{ - "type":"list", - "member":{"shape":"LogGroup"} - }, - "LogStream":{ - "type":"structure", - "members":{ - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the stream, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "firstEventTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time of the first event, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "lastEventTimestamp":{ - "shape":"Timestamp", - "documentation":"

the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. 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, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "uploadSequenceToken":{ - "shape":"SequenceToken", - "documentation":"

The sequence token.

" - }, - "arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the log stream.

" - }, - "storedBytes":{ - "shape":"StoredBytes", - "documentation":"

The number of bytes stored.

" - } - }, - "documentation":"

Represents a log stream, which is a sequence of log events from a single emitter of logs.

" - }, - "LogStreamName":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[^:*]*" - }, - "LogStreamSearchedCompletely":{"type":"boolean"}, - "LogStreams":{ - "type":"list", - "member":{"shape":"LogStream"} - }, - "MetricFilter":{ - "type":"structure", - "members":{ - "filterName":{ - "shape":"FilterName", - "documentation":"

The name of the metric filter.

" - }, - "filterPattern":{"shape":"FilterPattern"}, - "metricTransformations":{ - "shape":"MetricTransformations", - "documentation":"

The metric transformations.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the metric filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - } - }, - "documentation":"

Metric filters express how CloudWatch Logs would extract metric observations from ingested log events and transform them into metric data in a CloudWatch metric.

" - }, - "MetricFilterMatchRecord":{ - "type":"structure", - "members":{ - "eventNumber":{ - "shape":"EventNumber", - "documentation":"

The event number.

" - }, - "eventMessage":{ - "shape":"EventMessage", - "documentation":"

The raw event data.

" - }, - "extractedValues":{ - "shape":"ExtractedValues", - "documentation":"

The values extracted from the event data by the filter.

" - } - }, - "documentation":"

Represents a matched event.

" - }, - "MetricFilterMatches":{ - "type":"list", - "member":{"shape":"MetricFilterMatchRecord"} - }, - "MetricFilters":{ - "type":"list", - "member":{"shape":"MetricFilter"} - }, - "MetricName":{ - "type":"string", - "documentation":"

The name of the CloudWatch metric to which the monitored log information should be published. For example, you may publish to a metric called ErrorCount.

", - "max":255, - "pattern":"[^:*$]*" - }, - "MetricNamespace":{ - "type":"string", - "max":255, - "pattern":"[^:*$]*" - }, - "MetricTransformation":{ - "type":"structure", - "required":[ - "metricName", - "metricNamespace", - "metricValue" - ], - "members":{ - "metricName":{ - "shape":"MetricName", - "documentation":"

The name of the CloudWatch metric.

" - }, - "metricNamespace":{ - "shape":"MetricNamespace", - "documentation":"

The namespace of the CloudWatch metric.

" - }, - "metricValue":{ - "shape":"MetricValue", - "documentation":"

The value to publish to the CloudWatch metric when a filter pattern matches a log event.

" - }, - "defaultValue":{ - "shape":"DefaultValue", - "documentation":"

(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.

" - } - }, - "documentation":"

Indicates how to transform ingested log events in to metric data in a CloudWatch metric.

" - }, - "MetricTransformations":{ - "type":"list", - "member":{"shape":"MetricTransformation"}, - "max":1, - "min":1 - }, - "MetricValue":{ - "type":"string", - "documentation":"

The value to publish to the CloudWatch metric. For example, if you're counting the occurrences of a term like \"Error\", the value is \"1\" for each occurrence. If you're counting the bytes transferred, the value is the value in the log event.

", - "max":100 - }, - "NextToken":{ - "type":"string", - "documentation":"

The token for the next set of items to return. The token expires after 24 hours.

", - "min":1 - }, - "OperationAbortedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Multiple requests to update the same resource were in conflict.

", - "exception":true - }, - "OrderBy":{ - "type":"string", - "enum":[ - "LogStreamName", - "LastEventTime" - ] - }, - "OutputLogEvent":{ - "type":"structure", - "members":{ - "timestamp":{ - "shape":"Timestamp", - "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - }, - "message":{ - "shape":"EventMessage", - "documentation":"

The data contained in the log event.

" - }, - "ingestionTime":{ - "shape":"Timestamp", - "documentation":"

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - } - }, - "documentation":"

Represents a log event.

" - }, - "OutputLogEvents":{ - "type":"list", - "member":{"shape":"OutputLogEvent"} - }, - "PolicyDocument":{ - "type":"string", - "max":5120, - "min":1 - }, - "PolicyName":{"type":"string"}, - "PutDestinationPolicyRequest":{ - "type":"structure", - "required":[ - "destinationName", - "accessPolicy" - ], - "members":{ - "destinationName":{ - "shape":"DestinationName", - "documentation":"

A name for an existing destination.

" - }, - "accessPolicy":{ - "shape":"AccessPolicy", - "documentation":"

An IAM policy document that authorizes cross-account users to deliver their log events to the associated destination.

" - } - } - }, - "PutDestinationRequest":{ - "type":"structure", - "required":[ - "destinationName", - "targetArn", - "roleArn" - ], - "members":{ - "destinationName":{ - "shape":"DestinationName", - "documentation":"

A name for the destination.

" - }, - "targetArn":{ - "shape":"TargetArn", - "documentation":"

The ARN of an Amazon Kinesis stream to which to deliver matching log events.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon Kinesis PutRecord operation on the destination stream.

" - } - } - }, - "PutDestinationResponse":{ - "type":"structure", - "members":{ - "destination":{ - "shape":"Destination", - "documentation":"

The destination.

" - } - } - }, - "PutLogEventsRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "logStreamName", - "logEvents" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - }, - "logEvents":{ - "shape":"InputLogEvents", - "documentation":"

The log events.

" - }, - "sequenceToken":{ - "shape":"SequenceToken", - "documentation":"

The sequence token obtained from the response of the previous PutLogEvents call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

" - } - } - }, - "PutLogEventsResponse":{ - "type":"structure", - "members":{ - "nextSequenceToken":{ - "shape":"SequenceToken", - "documentation":"

The next sequence token.

" - }, - "rejectedLogEventsInfo":{ - "shape":"RejectedLogEventsInfo", - "documentation":"

The rejected events.

" - } - } - }, - "PutMetricFilterRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "filterName", - "filterPattern", - "metricTransformations" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterName":{ - "shape":"FilterName", - "documentation":"

A name for the metric filter.

" - }, - "filterPattern":{ - "shape":"FilterPattern", - "documentation":"

A filter pattern for extracting metric data out of ingested log events.

" - }, - "metricTransformations":{ - "shape":"MetricTransformations", - "documentation":"

A collection of information that defines how metric data gets emitted.

" - } - } - }, - "PutResourcePolicyRequest":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

Name of the new policy. This parameter is required.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string.

The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"logArn\" } ] }

" - } - } - }, - "PutResourcePolicyResponse":{ - "type":"structure", - "members":{ - "resourcePolicy":{ - "shape":"ResourcePolicy", - "documentation":"

The new policy.

" - } - } - }, - "PutRetentionPolicyRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "retentionInDays" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "retentionInDays":{"shape":"Days"} - } - }, - "PutSubscriptionFilterRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "filterName", - "filterPattern", - "destinationArn" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterName":{ - "shape":"FilterName", - "documentation":"

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

" - }, - "filterPattern":{ - "shape":"FilterPattern", - "documentation":"

A filter pattern for subscribing to a filtered stream of log events.

" - }, - "destinationArn":{ - "shape":"DestinationArn", - "documentation":"

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.

" - }, - "distribution":{ - "shape":"Distribution", - "documentation":"

The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream.

" - } - } - }, - "RejectedLogEventsInfo":{ - "type":"structure", - "members":{ - "tooNewLogEventStartIndex":{ - "shape":"LogEventIndex", - "documentation":"

The log events that are too new.

" - }, - "tooOldLogEventEndIndex":{ - "shape":"LogEventIndex", - "documentation":"

The log events that are too old.

" - }, - "expiredLogEventEndIndex":{ - "shape":"LogEventIndex", - "documentation":"

The expired log events.

" - } - }, - "documentation":"

Represents the rejected events.

" - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource already exists.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource does not exist.

", - "exception":true - }, - "ResourcePolicies":{ - "type":"list", - "member":{"shape":"ResourcePolicy"} - }, - "ResourcePolicy":{ - "type":"structure", - "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The name of the resource policy.

" - }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The details of the policy.

" - }, - "lastUpdatedTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp showing when this policy was last updated, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - } - }, - "documentation":"

A policy enabling one or more entities to put logs to a log group in this account.

" - }, - "RoleArn":{ - "type":"string", - "min":1 - }, - "SearchedLogStream":{ - "type":"structure", - "members":{ - "logStreamName":{ - "shape":"LogStreamName", - "documentation":"

The name of the log stream.

" - }, - "searchedCompletely":{ - "shape":"LogStreamSearchedCompletely", - "documentation":"

Indicates whether all the events in this log stream were searched.

" - } - }, - "documentation":"

Represents the search status of a log stream.

" - }, - "SearchedLogStreams":{ - "type":"list", - "member":{"shape":"SearchedLogStream"} - }, - "SequenceToken":{ - "type":"string", - "min":1 - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The service cannot complete the request.

", - "exception":true, - "fault":true - }, - "StartFromHead":{"type":"boolean"}, - "StoredBytes":{ - "type":"long", - "min":0 - }, - "SubscriptionFilter":{ - "type":"structure", - "members":{ - "filterName":{ - "shape":"FilterName", - "documentation":"

The name of the subscription filter.

" - }, - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "filterPattern":{"shape":"FilterPattern"}, - "destinationArn":{ - "shape":"DestinationArn", - "documentation":"

The Amazon Resource Name (ARN) of the destination.

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

" - }, - "distribution":{"shape":"Distribution"}, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

The creation time of the subscription filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" - } - }, - "documentation":"

Represents a subscription filter.

" - }, - "SubscriptionFilters":{ - "type":"list", - "member":{"shape":"SubscriptionFilter"} - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" - }, - "TagList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "min":1 - }, - "TagLogGroupRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "tags" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "tags":{ - "shape":"Tags", - "documentation":"

The key-value pairs to use for the tags.

" - } - } - }, - "TagValue":{ - "type":"string", - "max":256, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"}, - "max":50, - "min":1 - }, - "TargetArn":{ - "type":"string", - "min":1 - }, - "TestEventMessages":{ - "type":"list", - "member":{"shape":"EventMessage"}, - "max":50, - "min":1 - }, - "TestMetricFilterRequest":{ - "type":"structure", - "required":[ - "filterPattern", - "logEventMessages" - ], - "members":{ - "filterPattern":{"shape":"FilterPattern"}, - "logEventMessages":{ - "shape":"TestEventMessages", - "documentation":"

The log event messages to test.

" - } - } - }, - "TestMetricFilterResponse":{ - "type":"structure", - "members":{ - "matches":{ - "shape":"MetricFilterMatches", - "documentation":"

The matched events.

" - } - } - }, - "Timestamp":{ - "type":"long", - "min":0 - }, - "Token":{"type":"string"}, - "UnrecognizedClientException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The most likely cause is an invalid AWS access key ID or secret key.

", - "exception":true - }, - "UntagLogGroupRequest":{ - "type":"structure", - "required":[ - "logGroupName", - "tags" - ], - "members":{ - "logGroupName":{ - "shape":"LogGroupName", - "documentation":"

The name of the log group.

" - }, - "tags":{ - "shape":"TagList", - "documentation":"

The tag keys. The corresponding tags are removed from the log group.

" - } - } - }, - "Value":{"type":"string"} - }, - "documentation":"

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as \"NullReferenceException\") or count the number of occurrences of a literal term at a particular position in log data (such as \"404\" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify.

  • Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/examples-1.json deleted file mode 100644 index faff7689..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version":"1.0", - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/paginators-1.json deleted file mode 100644 index c13ce65a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "DescribeBatchPredictions": { - "limit_key": "Limit", - "output_token": "NextToken", - "input_token": "NextToken", - "result_key": "Results" - }, - "DescribeDataSources": { - "limit_key": "Limit", - "output_token": "NextToken", - "input_token": "NextToken", - "result_key": "Results" - }, - "DescribeEvaluations": { - "limit_key": "Limit", - "output_token": "NextToken", - "input_token": "NextToken", - "result_key": "Results" - }, - "DescribeMLModels": { - "limit_key": "Limit", - "output_token": "NextToken", - "input_token": "NextToken", - "result_key": "Results" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/service-2.json deleted file mode 100644 index 5e849383..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/service-2.json +++ /dev/null @@ -1,3144 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"machinelearning-2014-12-12", - "apiVersion":"2014-12-12", - "endpointPrefix":"machinelearning", - "jsonVersion":"1.1", - "serviceFullName":"Amazon Machine Learning", - "serviceId":"Machine Learning", - "signatureVersion":"v4", - "targetPrefix":"AmazonML_20141212", - "protocol":"json" - }, - "documentation":"Definition of the public APIs exposed by Amazon Machine Learning", - "operations":{ - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsInput"}, - "output":{ - "shape":"AddTagsOutput", - "documentation":"

Amazon ML returns the following elements.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InvalidTagException", - "exception":true - }, - { - "shape":"TagLimitExceededException", - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Adds one or more tags to an object, up to a limit of 10. Each tag consists of a key and an optional value. If you add a tag using a key that is already associated with the ML object, AddTags updates the tag's value.

" - }, - "CreateBatchPrediction":{ - "name":"CreateBatchPrediction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBatchPredictionInput"}, - "output":{ - "shape":"CreateBatchPredictionOutput", - "documentation":"

Represents the output of a CreateBatchPrediction operation, and is an acknowledgement that Amazon ML received the request.

The CreateBatchPrediction operation is asynchronous. You can poll for status updates by using the >GetBatchPrediction operation and checking the Status parameter of the result.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Generates predictions for a group of observations. The observations to process exist in one or more data files referenced by a DataSource. This operation creates a new BatchPrediction, and uses an MLModel and the data files referenced by the DataSource as information sources.

CreateBatchPrediction is an asynchronous operation. In response to CreateBatchPrediction, Amazon Machine Learning (Amazon ML) immediately returns and sets the BatchPrediction status to PENDING. After the BatchPrediction completes, Amazon ML sets the status to COMPLETED.

You can poll for status updates by using the GetBatchPrediction operation and checking the Status parameter of the result. After the COMPLETED status appears, the results are available in the location specified by the OutputUri parameter.

" - }, - "CreateDataSourceFromRDS":{ - "name":"CreateDataSourceFromRDS", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDataSourceFromRDSInput"}, - "output":{ - "shape":"CreateDataSourceFromRDSOutput", - "documentation":"

Represents the output of a CreateDataSourceFromRDS operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromRDS> operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter. You can inspect the Message when Status shows up as FAILED. You can also check the progress of the copy operation by going to the DataPipeline console and looking up the pipeline using the pipelineId from the describe call.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Creates a DataSource object from an Amazon Relational Database Service (Amazon RDS). A DataSource references data that can be used to perform CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations.

CreateDataSourceFromRDS is an asynchronous operation. In response to CreateDataSourceFromRDS, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource is created and ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in the COMPLETED or PENDING state can be used only to perform >CreateMLModel>, CreateEvaluation, or CreateBatchPrediction operations.

If Amazon ML cannot accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response.

" - }, - "CreateDataSourceFromRedshift":{ - "name":"CreateDataSourceFromRedshift", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDataSourceFromRedshiftInput"}, - "output":{ - "shape":"CreateDataSourceFromRedshiftOutput", - "documentation":"

Represents the output of a CreateDataSourceFromRedshift operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromRedshift operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Creates a DataSource from a database hosted on an Amazon Redshift cluster. A DataSource references data that can be used to perform either CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations.

CreateDataSourceFromRedshift is an asynchronous operation. In response to CreateDataSourceFromRedshift, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource is created and ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in COMPLETED or PENDING states can be used to perform only CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations.

If Amazon ML can't accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response.

The observations should be contained in the database hosted on an Amazon Redshift cluster and should be specified by a SelectSqlQuery query. Amazon ML executes an Unload command in Amazon Redshift to transfer the result set of the SelectSqlQuery query to S3StagingLocation.

After the DataSource has been created, it's ready for use in evaluations and batch predictions. If you plan to use the DataSource to train an MLModel, the DataSource also requires a recipe. A recipe describes how each input variable will be used in training an MLModel. Will the variable be included or excluded from training? Will the variable be manipulated; for example, will it be combined with another variable or will it be split apart into word combinations? The recipe provides answers to these questions.

You can't change an existing datasource, but you can copy and modify the settings from an existing Amazon Redshift datasource to create a new datasource. To do so, call GetDataSource for an existing datasource and copy the values to a CreateDataSource call. Change the settings that you want to change and make sure that all required fields have the appropriate values.

" - }, - "CreateDataSourceFromS3":{ - "name":"CreateDataSourceFromS3", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDataSourceFromS3Input"}, - "output":{ - "shape":"CreateDataSourceFromS3Output", - "documentation":"

Represents the output of a CreateDataSourceFromS3 operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromS3 operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Creates a DataSource object. A DataSource references data that can be used to perform CreateMLModel, CreateEvaluation, or CreateBatchPrediction operations.

CreateDataSourceFromS3 is an asynchronous operation. In response to CreateDataSourceFromS3, Amazon Machine Learning (Amazon ML) immediately returns and sets the DataSource status to PENDING. After the DataSource has been created and is ready for use, Amazon ML sets the Status parameter to COMPLETED. DataSource in the COMPLETED or PENDING state can be used to perform only CreateMLModel, CreateEvaluation or CreateBatchPrediction operations.

If Amazon ML can't accept the input source, it sets the Status parameter to FAILED and includes an error message in the Message attribute of the GetDataSource operation response.

The observation data used in a DataSource should be ready to use; that is, it should have a consistent structure, and missing data values should be kept to a minimum. The observation data must reside in one or more .csv files in an Amazon Simple Storage Service (Amazon S3) location, along with a schema that describes the data items by name and type. The same schema must be used for all of the data files referenced by the DataSource.

After the DataSource has been created, it's ready to use in evaluations and batch predictions. If you plan to use the DataSource to train an MLModel, the DataSource also needs a recipe. A recipe describes how each input variable will be used in training an MLModel. Will the variable be included or excluded from training? Will the variable be manipulated; for example, will it be combined with another variable or will it be split apart into word combinations? The recipe provides answers to these questions.

" - }, - "CreateEvaluation":{ - "name":"CreateEvaluation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEvaluationInput"}, - "output":{ - "shape":"CreateEvaluationOutput", - "documentation":"

Represents the output of a CreateEvaluation operation, and is an acknowledgement that Amazon ML received the request.

CreateEvaluation operation is asynchronous. You can poll for status updates by using the GetEvcaluation operation and checking the Status parameter.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Creates a new Evaluation of an MLModel. An MLModel is evaluated on a set of observations associated to a DataSource. Like a DataSource for an MLModel, the DataSource for an Evaluation contains values for the Target Variable. The Evaluation compares the predicted result for each observation to the actual outcome and provides a summary so that you know how effective the MLModel functions on the test data. Evaluation generates a relevant performance metric, such as BinaryAUC, RegressionRMSE or MulticlassAvgFScore based on the corresponding MLModelType: BINARY, REGRESSION or MULTICLASS.

CreateEvaluation is an asynchronous operation. In response to CreateEvaluation, Amazon Machine Learning (Amazon ML) immediately returns and sets the evaluation status to PENDING. After the Evaluation is created and ready for use, Amazon ML sets the status to COMPLETED.

You can use the GetEvaluation operation to check progress of the evaluation during the creation operation.

" - }, - "CreateMLModel":{ - "name":"CreateMLModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateMLModelInput"}, - "output":{ - "shape":"CreateMLModelOutput", - "documentation":"

Represents the output of a CreateMLModel operation, and is an acknowledgement that Amazon ML received the request.

The CreateMLModel operation is asynchronous. You can poll for status updates by using the GetMLModel operation and checking the Status parameter.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"IdempotentParameterMismatchException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - } - ], - "documentation":"

Creates a new MLModel using the DataSource and the recipe as information sources.

An MLModel is nearly immutable. Users can update only the MLModelName and the ScoreThreshold in an MLModel without creating a new MLModel.

CreateMLModel is an asynchronous operation. In response to CreateMLModel, Amazon Machine Learning (Amazon ML) immediately returns and sets the MLModel status to PENDING. After the MLModel has been created and ready is for use, Amazon ML sets the status to COMPLETED.

You can use the GetMLModel operation to check the progress of the MLModel during the creation operation.

CreateMLModel requires a DataSource with computed statistics, which can be created by setting ComputeStatistics to true in CreateDataSourceFromRDS, CreateDataSourceFromS3, or CreateDataSourceFromRedshift operations.

" - }, - "CreateRealtimeEndpoint":{ - "name":"CreateRealtimeEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRealtimeEndpointInput"}, - "output":{ - "shape":"CreateRealtimeEndpointOutput", - "documentation":"

Represents the output of an CreateRealtimeEndpoint operation.

The result contains the MLModelId and the endpoint information for the MLModel.

The endpoint information includes the URI of the MLModel; that is, the location to send online prediction requests for the specified MLModel.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Creates a real-time endpoint for the MLModel. The endpoint contains the URI of the MLModel; that is, the location to send real-time prediction requests for the specified MLModel.

" - }, - "DeleteBatchPrediction":{ - "name":"DeleteBatchPrediction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBatchPredictionInput"}, - "output":{ - "shape":"DeleteBatchPredictionOutput", - "documentation":"

Represents the output of a DeleteBatchPrediction operation.

You can use the GetBatchPrediction operation and check the value of the Status parameter to see whether a BatchPrediction is marked as DELETED.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Assigns the DELETED status to a BatchPrediction, rendering it unusable.

After using the DeleteBatchPrediction operation, you can use the GetBatchPrediction operation to verify that the status of the BatchPrediction changed to DELETED.

Caution: The result of the DeleteBatchPrediction operation is irreversible.

" - }, - "DeleteDataSource":{ - "name":"DeleteDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDataSourceInput"}, - "output":{ - "shape":"DeleteDataSourceOutput", - "documentation":"

Represents the output of a DeleteDataSource operation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Assigns the DELETED status to a DataSource, rendering it unusable.

After using the DeleteDataSource operation, you can use the GetDataSource operation to verify that the status of the DataSource changed to DELETED.

Caution: The results of the DeleteDataSource operation are irreversible.

" - }, - "DeleteEvaluation":{ - "name":"DeleteEvaluation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEvaluationInput"}, - "output":{ - "shape":"DeleteEvaluationOutput", - "documentation":"

Represents the output of a DeleteEvaluation operation. The output indicates that Amazon Machine Learning (Amazon ML) received the request.

You can use the GetEvaluation operation and check the value of the Status parameter to see whether an Evaluation is marked as DELETED.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Assigns the DELETED status to an Evaluation, rendering it unusable.

After invoking the DeleteEvaluation operation, you can use the GetEvaluation operation to verify that the status of the Evaluation changed to DELETED.

Caution

The results of the DeleteEvaluation operation are irreversible.

" - }, - "DeleteMLModel":{ - "name":"DeleteMLModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMLModelInput"}, - "output":{ - "shape":"DeleteMLModelOutput", - "documentation":"

Represents the output of a DeleteMLModel operation.

You can use the GetMLModel operation and check the value of the Status parameter to see whether an MLModel is marked as DELETED.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Assigns the DELETED status to an MLModel, rendering it unusable.

After using the DeleteMLModel operation, you can use the GetMLModel operation to verify that the status of the MLModel changed to DELETED.

Caution: The result of the DeleteMLModel operation is irreversible.

" - }, - "DeleteRealtimeEndpoint":{ - "name":"DeleteRealtimeEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRealtimeEndpointInput"}, - "output":{ - "shape":"DeleteRealtimeEndpointOutput", - "documentation":"

Represents the output of an DeleteRealtimeEndpoint operation.

The result contains the MLModelId and the endpoint information for the MLModel.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Deletes a real time endpoint of an MLModel.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsInput"}, - "output":{ - "shape":"DeleteTagsOutput", - "documentation":"

Amazon ML returns the following elements.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InvalidTagException", - "exception":true - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Deletes the specified tags associated with an ML object. After this operation is complete, you can't recover deleted tags.

If you specify a tag that doesn't exist, Amazon ML ignores it.

" - }, - "DescribeBatchPredictions":{ - "name":"DescribeBatchPredictions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBatchPredictionsInput"}, - "output":{ - "shape":"DescribeBatchPredictionsOutput", - "documentation":"

Represents the output of a DescribeBatchPredictions operation. The content is essentially a list of BatchPredictions.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a list of BatchPrediction operations that match the search criteria in the request.

" - }, - "DescribeDataSources":{ - "name":"DescribeDataSources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDataSourcesInput"}, - "output":{ - "shape":"DescribeDataSourcesOutput", - "documentation":"

Represents the query results from a DescribeDataSources operation. The content is essentially a list of DataSource.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a list of DataSource that match the search criteria in the request.

" - }, - "DescribeEvaluations":{ - "name":"DescribeEvaluations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEvaluationsInput"}, - "output":{ - "shape":"DescribeEvaluationsOutput", - "documentation":"

Represents the query results from a DescribeEvaluations operation. The content is essentially a list of Evaluation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a list of DescribeEvaluations that match the search criteria in the request.

" - }, - "DescribeMLModels":{ - "name":"DescribeMLModels", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMLModelsInput"}, - "output":{ - "shape":"DescribeMLModelsOutput", - "documentation":"

Represents the output of a DescribeMLModels operation. The content is essentially a list of MLModel.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a list of MLModel that match the search criteria in the request.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsInput"}, - "output":{ - "shape":"DescribeTagsOutput", - "documentation":"

Amazon ML returns the following elements.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Describes one or more of the tags for your Amazon ML object.

" - }, - "GetBatchPrediction":{ - "name":"GetBatchPrediction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetBatchPredictionInput"}, - "output":{ - "shape":"GetBatchPredictionOutput", - "documentation":"

Represents the output of a GetBatchPrediction operation and describes a BatchPrediction.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a BatchPrediction that includes detailed metadata, status, and data file information for a Batch Prediction request.

" - }, - "GetDataSource":{ - "name":"GetDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDataSourceInput"}, - "output":{ - "shape":"GetDataSourceOutput", - "documentation":"

Represents the output of a GetDataSource operation and describes a DataSource.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns a DataSource that includes metadata and data file information, as well as the current status of the DataSource.

GetDataSource provides results in normal or verbose format. The verbose format adds the schema description and the list of files pointed to by the DataSource to the normal format.

" - }, - "GetEvaluation":{ - "name":"GetEvaluation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetEvaluationInput"}, - "output":{ - "shape":"GetEvaluationOutput", - "documentation":"

Represents the output of a GetEvaluation operation and describes an Evaluation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns an Evaluation that includes metadata as well as the current status of the Evaluation.

" - }, - "GetMLModel":{ - "name":"GetMLModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMLModelInput"}, - "output":{ - "shape":"GetMLModelOutput", - "documentation":"

Represents the output of a GetMLModel operation, and provides detailed information about a MLModel.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Returns an MLModel that includes detailed metadata, data source information, and the current status of the MLModel.

GetMLModel provides results in normal or verbose format.

" - }, - "Predict":{ - "name":"Predict", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PredictInput"}, - "output":{"shape":"PredictOutput"}, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":417}, - "exception":true, - "documentation":"

The subscriber exceeded the maximum number of operations. This exception can occur when listing objects such as DataSource.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - { - "shape":"PredictorNotMountedException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The exception is thrown when a predict request is made to an unmounted MLModel.

" - } - ], - "documentation":"

Generates a prediction for the observation using the specified ML Model.

Note

Not all response parameters will be populated. Whether a response parameter is populated depends on the type of model requested.

" - }, - "UpdateBatchPrediction":{ - "name":"UpdateBatchPrediction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateBatchPredictionInput"}, - "output":{ - "shape":"UpdateBatchPredictionOutput", - "documentation":"

Represents the output of an UpdateBatchPrediction operation.

You can see the updated content by using the GetBatchPrediction operation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Updates the BatchPredictionName of a BatchPrediction.

You can use the GetBatchPrediction operation to view the contents of the updated data element.

" - }, - "UpdateDataSource":{ - "name":"UpdateDataSource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDataSourceInput"}, - "output":{ - "shape":"UpdateDataSourceOutput", - "documentation":"

Represents the output of an UpdateDataSource operation.

You can see the updated content by using the GetBatchPrediction operation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Updates the DataSourceName of a DataSource.

You can use the GetDataSource operation to view the contents of the updated data element.

" - }, - "UpdateEvaluation":{ - "name":"UpdateEvaluation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEvaluationInput"}, - "output":{ - "shape":"UpdateEvaluationOutput", - "documentation":"

Represents the output of an UpdateEvaluation operation.

You can see the updated content by using the GetEvaluation operation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Updates the EvaluationName of an Evaluation.

You can use the GetEvaluation operation to view the contents of the updated data element.

" - }, - "UpdateMLModel":{ - "name":"UpdateMLModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMLModelInput"}, - "output":{ - "shape":"UpdateMLModelOutput", - "documentation":"

Represents the output of an UpdateMLModel operation.

You can see the updated content by using the GetMLModel operation.

" - }, - "errors":[ - { - "shape":"InvalidInputException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - { - "shape":"InternalServerException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - } - ], - "documentation":"

Updates the MLModelName and the ScoreThreshold of an MLModel.

You can use the GetMLModel operation to view the contents of the updated data element.

" - } - }, - "shapes":{ - "AddTagsInput":{ - "type":"structure", - "required":[ - "Tags", - "ResourceId", - "ResourceType" - ], - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

The key-value pairs to use to create tags. If you specify a key without specifying a value, Amazon ML creates a tag with the specified key and a value of null.

" - }, - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the ML object to tag. For example, exampleModelId.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the ML object to tag.

" - } - } - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the ML object that was tagged.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the ML object that was tagged.

" - } - }, - "documentation":"

Amazon ML returns the following elements.

" - }, - "Algorithm":{ - "type":"string", - "enum":["sgd"], - "documentation":"

The function used to train an MLModel. Training choices supported by Amazon ML include the following:

  • SGD - Stochastic Gradient Descent.
  • RandomForest - Random forest of decision trees.
" - }, - "AwsUserArn":{ - "type":"string", - "pattern":"arn:aws:iam::[0-9]+:((user/.+)|(root))", - "documentation":"

An Amazon Web Service (AWS) user account identifier. The account identifier can be an AWS root account or an AWS Identity and Access Management (IAM) user.

" - }, - "BatchPrediction":{ - "type":"structure", - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the BatchPrediction at creation. This value should be identical to the value of the BatchPredictionID in the request.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel that generated predictions for the BatchPrediction request.

" - }, - "BatchPredictionDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the DataSource that points to the group of observations to predict.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the BatchPrediction was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the BatchPrediction. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the BatchPrediction.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The status of the BatchPrediction. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to generate predictions for a batch of observations.
  • INPROGRESS - The process is underway.
  • FAILED - The request to perform a batch prediction did not run to completion. It is not usable.
  • COMPLETED - The batch prediction process completed successfully.
  • DELETED - The BatchPrediction is marked as deleted. It is not usable.
" - }, - "OutputUri":{ - "shape":"S3Url", - "documentation":"

The location of an Amazon S3 bucket or directory to receive the operation results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about processing the batch prediction request.

" - }, - "ComputeTime":{"shape":"LongType"}, - "FinishedAt":{"shape":"EpochTime"}, - "StartedAt":{"shape":"EpochTime"}, - "TotalRecordCount":{"shape":"LongType"}, - "InvalidRecordCount":{"shape":"LongType"} - }, - "documentation":"

Represents the output of a GetBatchPrediction operation.

The content consists of the detailed metadata, the status, and the data file information of a Batch Prediction.

" - }, - "BatchPredictionFilterVariable":{ - "type":"string", - "enum":[ - "CreatedAt", - "LastUpdatedAt", - "Status", - "Name", - "IAMUser", - "MLModelId", - "DataSourceId", - "DataURI" - ], - "documentation":"

A list of the variables to use in searching or filtering BatchPrediction.

  • CreatedAt - Sets the search criteria to BatchPrediction creation date.
  • Status - Sets the search criteria to BatchPrediction status.
  • Name - Sets the search criteria to the contents of BatchPrediction Name.
  • IAMUser - Sets the search criteria to the user account that invoked the BatchPrediction creation.
  • MLModelId - Sets the search criteria to the MLModel used in the BatchPrediction.
  • DataSourceId - Sets the search criteria to the DataSource used in the BatchPrediction.
  • DataURI - Sets the search criteria to the data file(s) used in the BatchPrediction. The URL can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
" - }, - "BatchPredictions":{ - "type":"list", - "member":{"shape":"BatchPrediction"} - }, - "ComparatorValue":{ - "type":"string", - "max":1024, - "pattern":".*\\S.*|^$", - "documentation":"

The value specified in a filtering condition. The ComparatorValue becomes the reference value when matching or evaluating data values in filtering and searching functions.

" - }, - "ComputeStatistics":{"type":"boolean"}, - "CreateBatchPredictionInput":{ - "type":"structure", - "required":[ - "BatchPredictionId", - "MLModelId", - "BatchPredictionDataSourceId", - "OutputUri" - ], - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the BatchPrediction.

" - }, - "BatchPredictionName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the BatchPrediction. BatchPredictionName can only use the UTF-8 character set.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel that will generate predictions for the group of observations.

" - }, - "BatchPredictionDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the DataSource that points to the group of observations to predict.

" - }, - "OutputUri":{ - "shape":"S3Url", - "documentation":"

The location of an Amazon Simple Storage Service (Amazon S3) bucket or directory to store the batch prediction results. The following substrings are not allowed in the s3 key portion of the outputURI field: ':', '//', '/./', '/../'.

Amazon ML needs permissions to store and retrieve the logs on your behalf. For information about how to set permissions, see the Amazon Machine Learning Developer Guide.

" - } - } - }, - "CreateBatchPredictionOutput":{ - "type":"structure", - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the BatchPrediction. This value is identical to the value of the BatchPredictionId in the request.

" - } - }, - "documentation":"

Represents the output of a CreateBatchPrediction operation, and is an acknowledgement that Amazon ML received the request.

The CreateBatchPrediction operation is asynchronous. You can poll for status updates by using the >GetBatchPrediction operation and checking the Status parameter of the result.

" - }, - "CreateDataSourceFromRDSInput":{ - "type":"structure", - "required":[ - "DataSourceId", - "RDSData", - "RoleARN" - ], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the DataSource. Typically, an Amazon Resource Number (ARN) becomes the ID for a DataSource.

" - }, - "DataSourceName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the DataSource.

" - }, - "RDSData":{ - "shape":"RDSDataSpec", - "documentation":"

The data specification of an Amazon RDS DataSource:

  • DatabaseInformation -

    • DatabaseName - The name of the Amazon RDS database.
    • InstanceIdentifier - A unique identifier for the Amazon RDS database instance.

  • DatabaseCredentials - AWS Identity and Access Management (IAM) credentials that are used to connect to the Amazon RDS database.

  • ResourceRole - A role (DataPipelineDefaultResourceRole) assumed by an EC2 instance to carry out the copy task from Amazon RDS to Amazon Simple Storage Service (Amazon S3). For more information, see Role templates for data pipelines.

  • ServiceRole - A role (DataPipelineDefaultRole) assumed by the AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

  • SecurityInfo - The security information to use to access an RDS DB instance. You need to set up appropriate ingress rules for the security entity IDs provided to allow access to the Amazon RDS instance. Specify a [SubnetId, SecurityGroupIds] pair for a VPC-based RDS DB instance.

  • SelectSqlQuery - A query that is used to retrieve the observation data for the Datasource.

  • S3StagingLocation - The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location.

  • DataSchemaUri - The Amazon S3 location of the DataSchema.

  • DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified.

  • DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the Datasource.


    Sample - \"{\\\"splitting\\\":{\\\"percentBegin\\\":10,\\\"percentEnd\\\":60}}\"

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The role that Amazon ML assumes on behalf of the user to create and activate a data pipeline in the user's account and copy data using the SelectSqlQuery query from Amazon RDS to Amazon S3.

" - }, - "ComputeStatistics":{ - "shape":"ComputeStatistics", - "documentation":"

The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training.

" - } - } - }, - "CreateDataSourceFromRDSOutput":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the datasource. This value should be identical to the value of the DataSourceID in the request.

" - } - }, - "documentation":"

Represents the output of a CreateDataSourceFromRDS operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromRDS> operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter. You can inspect the Message when Status shows up as FAILED. You can also check the progress of the copy operation by going to the DataPipeline console and looking up the pipeline using the pipelineId from the describe call.

" - }, - "CreateDataSourceFromRedshiftInput":{ - "type":"structure", - "required":[ - "DataSourceId", - "DataSpec", - "RoleARN" - ], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the DataSource.

" - }, - "DataSourceName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the DataSource.

" - }, - "DataSpec":{ - "shape":"RedshiftDataSpec", - "documentation":"

The data specification of an Amazon Redshift DataSource:

  • DatabaseInformation -

    • DatabaseName - The name of the Amazon Redshift database.
    • ClusterIdentifier - The unique ID for the Amazon Redshift cluster.

  • DatabaseCredentials - The AWS Identity and Access Management (IAM) credentials that are used to connect to the Amazon Redshift database.

  • SelectSqlQuery - The query that is used to retrieve the observation data for the Datasource.

  • S3StagingLocation - The Amazon Simple Storage Service (Amazon S3) location for staging Amazon Redshift data. The data retrieved from Amazon Redshift using the SelectSqlQuery query is stored in this location.

  • DataSchemaUri - The Amazon S3 location of the DataSchema.

  • DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified.

  • DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the DataSource.

    Sample - \"{\\\"splitting\\\":{\\\"percentBegin\\\":10,\\\"percentEnd\\\":60}}\"

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role on behalf of the user to create the following:

  • A security group to allow Amazon ML to execute the SelectSqlQuery query on an Amazon Redshift cluster

  • An Amazon S3 bucket policy to grant Amazon ML read/write permissions on the S3StagingLocation

" - }, - "ComputeStatistics":{ - "shape":"ComputeStatistics", - "documentation":"

The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training.

" - } - } - }, - "CreateDataSourceFromRedshiftOutput":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the datasource. This value should be identical to the value of the DataSourceID in the request.

" - } - }, - "documentation":"

Represents the output of a CreateDataSourceFromRedshift operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromRedshift operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter.

" - }, - "CreateDataSourceFromS3Input":{ - "type":"structure", - "required":[ - "DataSourceId", - "DataSpec" - ], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied identifier that uniquely identifies the DataSource.

" - }, - "DataSourceName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the DataSource.

" - }, - "DataSpec":{ - "shape":"S3DataSpec", - "documentation":"

The data specification of a DataSource:

  • DataLocationS3 - The Amazon S3 location of the observation data.

  • DataSchemaLocationS3 - The Amazon S3 location of the DataSchema.

  • DataSchema - A JSON string representing the schema. This is not required if DataSchemaUri is specified.

  • DataRearrangement - A JSON string that represents the splitting and rearrangement requirements for the Datasource.

    Sample - \"{\\\"splitting\\\":{\\\"percentBegin\\\":10,\\\"percentEnd\\\":60}}\"

" - }, - "ComputeStatistics":{ - "shape":"ComputeStatistics", - "documentation":"

The compute statistics for a DataSource. The statistics are generated from the observation data referenced by a DataSource. Amazon ML uses the statistics internally during MLModel training. This parameter must be set to true if the DataSource needs to be used for MLModel training.

" - } - } - }, - "CreateDataSourceFromS3Output":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the DataSource. This value should be identical to the value of the DataSourceID in the request.

" - } - }, - "documentation":"

Represents the output of a CreateDataSourceFromS3 operation, and is an acknowledgement that Amazon ML received the request.

The CreateDataSourceFromS3 operation is asynchronous. You can poll for updates by using the GetBatchPrediction operation and checking the Status parameter.

" - }, - "CreateEvaluationInput":{ - "type":"structure", - "required":[ - "EvaluationId", - "MLModelId", - "EvaluationDataSourceId" - ], - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the Evaluation.

" - }, - "EvaluationName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the Evaluation.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel to evaluate.

The schema used in creating the MLModel must match the schema of the DataSource used in the Evaluation.

" - }, - "EvaluationDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the DataSource for the evaluation. The schema of the DataSource must match the schema used to create the MLModel.

" - } - } - }, - "CreateEvaluationOutput":{ - "type":"structure", - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The user-supplied ID that uniquely identifies the Evaluation. This value should be identical to the value of the EvaluationId in the request.

" - } - }, - "documentation":"

Represents the output of a CreateEvaluation operation, and is an acknowledgement that Amazon ML received the request.

CreateEvaluation operation is asynchronous. You can poll for status updates by using the GetEvcaluation operation and checking the Status parameter.

" - }, - "CreateMLModelInput":{ - "type":"structure", - "required":[ - "MLModelId", - "MLModelType", - "TrainingDataSourceId" - ], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel.

" - }, - "MLModelName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the MLModel.

" - }, - "MLModelType":{ - "shape":"MLModelType", - "documentation":"

The category of supervised learning that this MLModel will address. Choose from the following types:

  • Choose REGRESSION if the MLModel will be used to predict a numeric value.
  • Choose BINARY if the MLModel result has two possible values.
  • Choose MULTICLASS if the MLModel result has a limited number of values.

For more information, see the Amazon Machine Learning Developer Guide.

" - }, - "Parameters":{ - "shape":"TrainingParameters", - "documentation":"

A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs.

The following is the current set of training parameters:

  • sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the input data, the size of the model might affect its performance.

    The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

  • sgd.maxPasses - The number of times that the training process traverses the observations to build the MLModel. The value is an integer that ranges from 1 to 10000. The default value is 10.

  • sgd.shuffleType - Whether Amazon ML shuffles the training data. Shuffling the data improves a model's ability to find the optimal solution for a variety of data types. The valid values are auto and none. The default value is none. We strongly recommend that you shuffle your data.

  • sgd.l1RegularizationAmount - The coefficient regularization L1 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to zero, resulting in a sparse feature set. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L1 normalization. This parameter can't be used when L2 is specified. Use this parameter sparingly.

  • sgd.l2RegularizationAmount - The coefficient regularization L2 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to small, nonzero values. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L2 normalization. This parameter can't be used when L1 is specified. Use this parameter sparingly.

" - }, - "TrainingDataSourceId":{ - "shape":"EntityId", - "documentation":"

The DataSource that points to the training data.

" - }, - "Recipe":{ - "shape":"Recipe", - "documentation":"

The data recipe for creating the MLModel. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default.

" - }, - "RecipeUri":{ - "shape":"S3Url", - "documentation":"

The Amazon Simple Storage Service (Amazon S3) location and file name that contains the MLModel recipe. You must specify either the recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default.

" - } - } - }, - "CreateMLModelOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel. This value should be identical to the value of the MLModelId in the request.

" - } - }, - "documentation":"

Represents the output of a CreateMLModel operation, and is an acknowledgement that Amazon ML received the request.

The CreateMLModel operation is asynchronous. You can poll for status updates by using the GetMLModel operation and checking the Status parameter.

" - }, - "CreateRealtimeEndpointInput":{ - "type":"structure", - "required":["MLModelId"], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel during creation.

" - } - } - }, - "CreateRealtimeEndpointOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel. This value should be identical to the value of the MLModelId in the request.

" - }, - "RealtimeEndpointInfo":{ - "shape":"RealtimeEndpointInfo", - "documentation":"

The endpoint information of the MLModel

" - } - }, - "documentation":"

Represents the output of an CreateRealtimeEndpoint operation.

The result contains the MLModelId and the endpoint information for the MLModel.

The endpoint information includes the URI of the MLModel; that is, the location to send online prediction requests for the specified MLModel.

" - }, - "DataRearrangement":{"type":"string"}, - "DataSchema":{ - "type":"string", - "max":131071, - "documentation":"

The schema of a DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource. The DataSource schema is expressed in JSON format.

DataSchema is not required if you specify a DataSchemaUri

{ \"version\": \"1.0\", \"recordAnnotationFieldName\": \"F1\", \"recordWeightFieldName\": \"F2\", \"targetFieldName\": \"F3\", \"dataFormat\": \"CSV\", \"dataFileContainsHeader\": true, \"variables\": [ { \"fieldName\": \"F1\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F2\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F3\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F4\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F5\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F6\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F7\", \"fieldType\": \"WEIGHTED_INT_SEQUENCE\" }, { \"fieldName\": \"F8\", \"fieldType\": \"WEIGHTED_STRING_SEQUENCE\" } ], \"excludedVariableNames\": [ \"F6\" ] }

" - }, - "DataSource":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID that is assigned to the DataSource during creation.

" - }, - "DataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location and name of the data in Amazon Simple Storage Service (Amazon S3) that is used by a DataSource.

" - }, - "DataRearrangement":{ - "shape":"DataRearrangement", - "documentation":"

A JSON string that represents the splitting and rearrangement requirement used when this DataSource was created.

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account from which the DataSource was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the DataSource was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the BatchPrediction. The time is expressed in epoch time.

" - }, - "DataSizeInBytes":{ - "shape":"LongType", - "documentation":"

The total number of observations contained in the data files that the DataSource references.

" - }, - "NumberOfFiles":{ - "shape":"LongType", - "documentation":"

The number of data files referenced by the DataSource.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the DataSource.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The current status of the DataSource. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create a DataSource.
  • INPROGRESS - The creation process is underway.
  • FAILED - The request to create a DataSource did not run to completion. It is not usable.
  • COMPLETED - The creation process completed successfully.
  • DELETED - The DataSource is marked as deleted. It is not usable.
" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about creating the DataSource.

" - }, - "RedshiftMetadata":{"shape":"RedshiftMetadata"}, - "RDSMetadata":{"shape":"RDSMetadata"}, - "RoleARN":{"shape":"RoleARN"}, - "ComputeStatistics":{ - "shape":"ComputeStatistics", - "documentation":"

The parameter is true if statistics need to be generated from the observation data.

" - }, - "ComputeTime":{"shape":"LongType"}, - "FinishedAt":{"shape":"EpochTime"}, - "StartedAt":{"shape":"EpochTime"} - }, - "documentation":"

Represents the output of the GetDataSource operation.

The content consists of the detailed metadata and data file information and the current status of the DataSource.

" - }, - "DataSourceFilterVariable":{ - "type":"string", - "enum":[ - "CreatedAt", - "LastUpdatedAt", - "Status", - "Name", - "DataLocationS3", - "IAMUser" - ], - "documentation":"

A list of the variables to use in searching or filtering DataSource.

  • CreatedAt - Sets the search criteria to DataSource creation date.
  • Status - Sets the search criteria to DataSource status.
  • Name - Sets the search criteria to the contents of DataSource Name.
  • DataUri - Sets the search criteria to the URI of data files used to create the DataSource. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
  • IAMUser - Sets the search criteria to the user account that invoked the DataSource creation.
Note

The variable names should match the variable names in the DataSource.

" - }, - "DataSources":{ - "type":"list", - "member":{"shape":"DataSource"} - }, - "DeleteBatchPredictionInput":{ - "type":"structure", - "required":["BatchPredictionId"], - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the BatchPrediction.

" - } - } - }, - "DeleteBatchPredictionOutput":{ - "type":"structure", - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the BatchPrediction. This value should be identical to the value of the BatchPredictionID in the request.

" - } - }, - "documentation":"

Represents the output of a DeleteBatchPrediction operation.

You can use the GetBatchPrediction operation and check the value of the Status parameter to see whether a BatchPrediction is marked as DELETED.

" - }, - "DeleteDataSourceInput":{ - "type":"structure", - "required":["DataSourceId"], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the DataSource.

" - } - } - }, - "DeleteDataSourceOutput":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the DataSource. This value should be identical to the value of the DataSourceID in the request.

" - } - }, - "documentation":"

Represents the output of a DeleteDataSource operation.

" - }, - "DeleteEvaluationInput":{ - "type":"structure", - "required":["EvaluationId"], - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the Evaluation to delete.

" - } - } - }, - "DeleteEvaluationOutput":{ - "type":"structure", - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the Evaluation. This value should be identical to the value of the EvaluationId in the request.

" - } - }, - "documentation":"

Represents the output of a DeleteEvaluation operation. The output indicates that Amazon Machine Learning (Amazon ML) received the request.

You can use the GetEvaluation operation and check the value of the Status parameter to see whether an Evaluation is marked as DELETED.

" - }, - "DeleteMLModelInput":{ - "type":"structure", - "required":["MLModelId"], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel.

" - } - } - }, - "DeleteMLModelOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel. This value should be identical to the value of the MLModelID in the request.

" - } - }, - "documentation":"

Represents the output of a DeleteMLModel operation.

You can use the GetMLModel operation and check the value of the Status parameter to see whether an MLModel is marked as DELETED.

" - }, - "DeleteRealtimeEndpointInput":{ - "type":"structure", - "required":["MLModelId"], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel during creation.

" - } - } - }, - "DeleteRealtimeEndpointOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A user-supplied ID that uniquely identifies the MLModel. This value should be identical to the value of the MLModelId in the request.

" - }, - "RealtimeEndpointInfo":{ - "shape":"RealtimeEndpointInfo", - "documentation":"

The endpoint information of the MLModel

" - } - }, - "documentation":"

Represents the output of an DeleteRealtimeEndpoint operation.

The result contains the MLModelId and the endpoint information for the MLModel.

" - }, - "DeleteTagsInput":{ - "type":"structure", - "required":[ - "TagKeys", - "ResourceId", - "ResourceType" - ], - "members":{ - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

One or more tags to delete.

" - }, - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the tagged ML object. For example, exampleModelId.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the tagged ML object.

" - } - } - }, - "DeleteTagsOutput":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the ML object from which tags were deleted.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the ML object from which tags were deleted.

" - } - }, - "documentation":"

Amazon ML returns the following elements.

" - }, - "DescribeBatchPredictionsInput":{ - "type":"structure", - "members":{ - "FilterVariable":{ - "shape":"BatchPredictionFilterVariable", - "documentation":"

Use one of the following variables to filter a list of BatchPrediction:

  • CreatedAt - Sets the search criteria to the BatchPrediction creation date.
  • Status - Sets the search criteria to the BatchPrediction status.
  • Name - Sets the search criteria to the contents of the BatchPrediction Name.
  • IAMUser - Sets the search criteria to the user account that invoked the BatchPrediction creation.
  • MLModelId - Sets the search criteria to the MLModel used in the BatchPrediction.
  • DataSourceId - Sets the search criteria to the DataSource used in the BatchPrediction.
  • DataURI - Sets the search criteria to the data file(s) used in the BatchPrediction. The URL can identify either a file or an Amazon Simple Storage Solution (Amazon S3) bucket or directory.
" - }, - "EQ":{ - "shape":"ComparatorValue", - "documentation":"

The equal to operator. The BatchPrediction results will have FilterVariable values that exactly match the value specified with EQ.

" - }, - "GT":{ - "shape":"ComparatorValue", - "documentation":"

The greater than operator. The BatchPrediction results will have FilterVariable values that are greater than the value specified with GT.

" - }, - "LT":{ - "shape":"ComparatorValue", - "documentation":"

The less than operator. The BatchPrediction results will have FilterVariable values that are less than the value specified with LT.

" - }, - "GE":{ - "shape":"ComparatorValue", - "documentation":"

The greater than or equal to operator. The BatchPrediction results will have FilterVariable values that are greater than or equal to the value specified with GE.

" - }, - "LE":{ - "shape":"ComparatorValue", - "documentation":"

The less than or equal to operator. The BatchPrediction results will have FilterVariable values that are less than or equal to the value specified with LE.

" - }, - "NE":{ - "shape":"ComparatorValue", - "documentation":"

The not equal to operator. The BatchPrediction results will have FilterVariable values not equal to the value specified with NE.

" - }, - "Prefix":{ - "shape":"ComparatorValue", - "documentation":"

A string that is found at the beginning of a variable, such as Name or Id.

For example, a Batch Prediction operation could have the Name 2014-09-09-HolidayGiftMailer. To search for this BatchPrediction, select Name for the FilterVariable and any of the following strings for the Prefix:

  • 2014-09

  • 2014-09-09

  • 2014-09-09-Holiday

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

A two-value parameter that determines the sequence of the resulting list of MLModels.

  • asc - Arranges the list in ascending order (A-Z, 0-9).
  • dsc - Arranges the list in descending order (Z-A, 9-0).

Results are sorted by FilterVariable.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

An ID of the page in the paginated results.

" - }, - "Limit":{ - "shape":"PageLimit", - "documentation":"

The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

" - } - } - }, - "DescribeBatchPredictionsOutput":{ - "type":"structure", - "members":{ - "Results":{ - "shape":"BatchPredictions", - "documentation":"

A list of BatchPrediction objects that meet the search criteria.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the next page in the paginated results that indicates at least one more page follows.

" - } - }, - "documentation":"

Represents the output of a DescribeBatchPredictions operation. The content is essentially a list of BatchPredictions.

" - }, - "DescribeDataSourcesInput":{ - "type":"structure", - "members":{ - "FilterVariable":{ - "shape":"DataSourceFilterVariable", - "documentation":"

Use one of the following variables to filter a list of DataSource:

  • CreatedAt - Sets the search criteria to DataSource creation dates.
  • Status - Sets the search criteria to DataSource statuses.
  • Name - Sets the search criteria to the contents of DataSource Name.
  • DataUri - Sets the search criteria to the URI of data files used to create the DataSource. The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
  • IAMUser - Sets the search criteria to the user account that invoked the DataSource creation.
" - }, - "EQ":{ - "shape":"ComparatorValue", - "documentation":"

The equal to operator. The DataSource results will have FilterVariable values that exactly match the value specified with EQ.

" - }, - "GT":{ - "shape":"ComparatorValue", - "documentation":"

The greater than operator. The DataSource results will have FilterVariable values that are greater than the value specified with GT.

" - }, - "LT":{ - "shape":"ComparatorValue", - "documentation":"

The less than operator. The DataSource results will have FilterVariable values that are less than the value specified with LT.

" - }, - "GE":{ - "shape":"ComparatorValue", - "documentation":"

The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE.

" - }, - "LE":{ - "shape":"ComparatorValue", - "documentation":"

The less than or equal to operator. The DataSource results will have FilterVariable values that are less than or equal to the value specified with LE.

" - }, - "NE":{ - "shape":"ComparatorValue", - "documentation":"

The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE.

" - }, - "Prefix":{ - "shape":"ComparatorValue", - "documentation":"

A string that is found at the beginning of a variable, such as Name or Id.

For example, a DataSource could have the Name 2014-09-09-HolidayGiftMailer. To search for this DataSource, select Name for the FilterVariable and any of the following strings for the Prefix:

  • 2014-09

  • 2014-09-09

  • 2014-09-09-Holiday

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

A two-value parameter that determines the sequence of the resulting list of DataSource.

  • asc - Arranges the list in ascending order (A-Z, 0-9).
  • dsc - Arranges the list in descending order (Z-A, 9-0).

Results are sorted by FilterVariable.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the page in the paginated results.

" - }, - "Limit":{ - "shape":"PageLimit", - "documentation":"

The maximum number of DataSource to include in the result.

" - } - } - }, - "DescribeDataSourcesOutput":{ - "type":"structure", - "members":{ - "Results":{ - "shape":"DataSources", - "documentation":"

A list of DataSource that meet the search criteria.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

An ID of the next page in the paginated results that indicates at least one more page follows.

" - } - }, - "documentation":"

Represents the query results from a DescribeDataSources operation. The content is essentially a list of DataSource.

" - }, - "DescribeEvaluationsInput":{ - "type":"structure", - "members":{ - "FilterVariable":{ - "shape":"EvaluationFilterVariable", - "documentation":"

Use one of the following variable to filter a list of Evaluation objects:

  • CreatedAt - Sets the search criteria to the Evaluation creation date.
  • Status - Sets the search criteria to the Evaluation status.
  • Name - Sets the search criteria to the contents of Evaluation Name.
  • IAMUser - Sets the search criteria to the user account that invoked an Evaluation.
  • MLModelId - Sets the search criteria to the MLModel that was evaluated.
  • DataSourceId - Sets the search criteria to the DataSource used in Evaluation.
  • DataUri - Sets the search criteria to the data file(s) used in Evaluation. The URL can identify either a file or an Amazon Simple Storage Solution (Amazon S3) bucket or directory.
" - }, - "EQ":{ - "shape":"ComparatorValue", - "documentation":"

The equal to operator. The Evaluation results will have FilterVariable values that exactly match the value specified with EQ.

" - }, - "GT":{ - "shape":"ComparatorValue", - "documentation":"

The greater than operator. The Evaluation results will have FilterVariable values that are greater than the value specified with GT.

" - }, - "LT":{ - "shape":"ComparatorValue", - "documentation":"

The less than operator. The Evaluation results will have FilterVariable values that are less than the value specified with LT.

" - }, - "GE":{ - "shape":"ComparatorValue", - "documentation":"

The greater than or equal to operator. The Evaluation results will have FilterVariable values that are greater than or equal to the value specified with GE.

" - }, - "LE":{ - "shape":"ComparatorValue", - "documentation":"

The less than or equal to operator. The Evaluation results will have FilterVariable values that are less than or equal to the value specified with LE.

" - }, - "NE":{ - "shape":"ComparatorValue", - "documentation":"

The not equal to operator. The Evaluation results will have FilterVariable values not equal to the value specified with NE.

" - }, - "Prefix":{ - "shape":"ComparatorValue", - "documentation":"

A string that is found at the beginning of a variable, such as Name or Id.

For example, an Evaluation could have the Name 2014-09-09-HolidayGiftMailer. To search for this Evaluation, select Name for the FilterVariable and any of the following strings for the Prefix:

  • 2014-09

  • 2014-09-09

  • 2014-09-09-Holiday

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

A two-value parameter that determines the sequence of the resulting list of Evaluation.

  • asc - Arranges the list in ascending order (A-Z, 0-9).
  • dsc - Arranges the list in descending order (Z-A, 9-0).

Results are sorted by FilterVariable.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the page in the paginated results.

" - }, - "Limit":{ - "shape":"PageLimit", - "documentation":"

The maximum number of Evaluation to include in the result.

" - } - } - }, - "DescribeEvaluationsOutput":{ - "type":"structure", - "members":{ - "Results":{ - "shape":"Evaluations", - "documentation":"

A list of Evaluation that meet the search criteria.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the next page in the paginated results that indicates at least one more page follows.

" - } - }, - "documentation":"

Represents the query results from a DescribeEvaluations operation. The content is essentially a list of Evaluation.

" - }, - "DescribeMLModelsInput":{ - "type":"structure", - "members":{ - "FilterVariable":{ - "shape":"MLModelFilterVariable", - "documentation":"

Use one of the following variables to filter a list of MLModel:

  • CreatedAt - Sets the search criteria to MLModel creation date.
  • Status - Sets the search criteria to MLModel status.
  • Name - Sets the search criteria to the contents of MLModel Name.
  • IAMUser - Sets the search criteria to the user account that invoked the MLModel creation.
  • TrainingDataSourceId - Sets the search criteria to the DataSource used to train one or more MLModel.
  • RealtimeEndpointStatus - Sets the search criteria to the MLModel real-time endpoint status.
  • MLModelType - Sets the search criteria to MLModel type: binary, regression, or multi-class.
  • Algorithm - Sets the search criteria to the algorithm that the MLModel uses.
  • TrainingDataURI - Sets the search criteria to the data file(s) used in training a MLModel. The URL can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
" - }, - "EQ":{ - "shape":"ComparatorValue", - "documentation":"

The equal to operator. The MLModel results will have FilterVariable values that exactly match the value specified with EQ.

" - }, - "GT":{ - "shape":"ComparatorValue", - "documentation":"

The greater than operator. The MLModel results will have FilterVariable values that are greater than the value specified with GT.

" - }, - "LT":{ - "shape":"ComparatorValue", - "documentation":"

The less than operator. The MLModel results will have FilterVariable values that are less than the value specified with LT.

" - }, - "GE":{ - "shape":"ComparatorValue", - "documentation":"

The greater than or equal to operator. The MLModel results will have FilterVariable values that are greater than or equal to the value specified with GE.

" - }, - "LE":{ - "shape":"ComparatorValue", - "documentation":"

The less than or equal to operator. The MLModel results will have FilterVariable values that are less than or equal to the value specified with LE.

" - }, - "NE":{ - "shape":"ComparatorValue", - "documentation":"

The not equal to operator. The MLModel results will have FilterVariable values not equal to the value specified with NE.

" - }, - "Prefix":{ - "shape":"ComparatorValue", - "documentation":"

A string that is found at the beginning of a variable, such as Name or Id.

For example, an MLModel could have the Name 2014-09-09-HolidayGiftMailer. To search for this MLModel, select Name for the FilterVariable and any of the following strings for the Prefix:

  • 2014-09

  • 2014-09-09

  • 2014-09-09-Holiday

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

A two-value parameter that determines the sequence of the resulting list of MLModel.

  • asc - Arranges the list in ascending order (A-Z, 0-9).
  • dsc - Arranges the list in descending order (Z-A, 9-0).

Results are sorted by FilterVariable.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the page in the paginated results.

" - }, - "Limit":{ - "shape":"PageLimit", - "documentation":"

The number of pages of information to include in the result. The range of acceptable values is 1 through 100. The default value is 100.

" - } - } - }, - "DescribeMLModelsOutput":{ - "type":"structure", - "members":{ - "Results":{ - "shape":"MLModels", - "documentation":"

A list of MLModel that meet the search criteria.

" - }, - "NextToken":{ - "shape":"StringType", - "documentation":"

The ID of the next page in the paginated results that indicates at least one more page follows.

" - } - }, - "documentation":"

Represents the output of a DescribeMLModels operation. The content is essentially a list of MLModel.

" - }, - "DescribeTagsInput":{ - "type":"structure", - "required":[ - "ResourceId", - "ResourceType" - ], - "members":{ - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the ML object. For example, exampleModelId.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the ML object.

" - } - } - }, - "DescribeTagsOutput":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the tagged ML object.

" - }, - "ResourceType":{ - "shape":"TaggableResourceType", - "documentation":"

The type of the tagged ML object.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags associated with the ML object.

" - } - }, - "documentation":"

Amazon ML returns the following elements.

" - }, - "DetailsAttributes":{ - "type":"string", - "enum":[ - "PredictiveModelType", - "Algorithm" - ], - "documentation":"Contains the key values of DetailsMap: PredictiveModelType - Indicates the type of the MLModel. Algorithm - Indicates the algorithm that was used for the MLModel." - }, - "DetailsMap":{ - "type":"map", - "key":{"shape":"DetailsAttributes"}, - "value":{"shape":"DetailsValue"}, - "documentation":"Provides any additional details regarding the prediction." - }, - "DetailsValue":{ - "type":"string", - "min":1 - }, - "EDPPipelineId":{ - "type":"string", - "min":1, - "max":1024 - }, - "EDPResourceRole":{ - "type":"string", - "min":1, - "max":64 - }, - "EDPSecurityGroupId":{ - "type":"string", - "min":1, - "max":255 - }, - "EDPSecurityGroupIds":{ - "type":"list", - "member":{"shape":"EDPSecurityGroupId"} - }, - "EDPServiceRole":{ - "type":"string", - "min":1, - "max":64 - }, - "EDPSubnetId":{ - "type":"string", - "min":1, - "max":255 - }, - "EntityId":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "EntityName":{ - "type":"string", - "max":1024, - "pattern":".*\\S.*|^$", - "documentation":"

A user-supplied name or description of the Amazon ML resource.

" - }, - "EntityStatus":{ - "type":"string", - "enum":[ - "PENDING", - "INPROGRESS", - "FAILED", - "COMPLETED", - "DELETED" - ], - "documentation":"

Object status with the following possible values:

  • PENDING
  • INPROGRESS
  • FAILED
  • COMPLETED
  • DELETED
" - }, - "EpochTime":{ - "type":"timestamp", - "documentation":"

A timestamp represented in epoch time.

" - }, - "ErrorCode":{"type":"integer"}, - "ErrorMessage":{ - "type":"string", - "max":2048 - }, - "Evaluation":{ - "type":"structure", - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The ID that is assigned to the Evaluation at creation.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel that is the focus of the evaluation.

" - }, - "EvaluationDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the DataSource that is used to evaluate the MLModel.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location and name of the data in Amazon Simple Storage Server (Amazon S3) that is used in the evaluation.

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the Evaluation was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the Evaluation. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the Evaluation.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The status of the evaluation. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to evaluate an MLModel.
  • INPROGRESS - The evaluation is underway.
  • FAILED - The request to evaluate an MLModel did not run to completion. It is not usable.
  • COMPLETED - The evaluation process completed successfully.
  • DELETED - The Evaluation is marked as deleted. It is not usable.
" - }, - "PerformanceMetrics":{ - "shape":"PerformanceMetrics", - "documentation":"

Measurements of how well the MLModel performed, using observations referenced by the DataSource. One of the following metrics is returned, based on the type of the MLModel:

  • BinaryAUC: A binary MLModel uses the Area Under the Curve (AUC) technique to measure performance.

  • RegressionRMSE: A regression MLModel uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.

  • MulticlassAvgFScore: A multiclass MLModel uses the F1 score technique to measure performance.

For more information about performance metrics, please see the Amazon Machine Learning Developer Guide.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about evaluating the MLModel.

" - }, - "ComputeTime":{"shape":"LongType"}, - "FinishedAt":{"shape":"EpochTime"}, - "StartedAt":{"shape":"EpochTime"} - }, - "documentation":"

Represents the output of GetEvaluation operation.

The content consists of the detailed metadata and data file information and the current status of the Evaluation.

" - }, - "EvaluationFilterVariable":{ - "type":"string", - "enum":[ - "CreatedAt", - "LastUpdatedAt", - "Status", - "Name", - "IAMUser", - "MLModelId", - "DataSourceId", - "DataURI" - ], - "documentation":"

A list of the variables to use in searching or filtering Evaluation.

  • CreatedAt - Sets the search criteria to Evaluation creation date.
  • Status - Sets the search criteria to Evaluation status.
  • Name - Sets the search criteria to the contents of Evaluation Name.
  • IAMUser - Sets the search criteria to the user account that invoked an evaluation.
  • MLModelId - Sets the search criteria to the Predictor that was evaluated.
  • DataSourceId - Sets the search criteria to the DataSource used in evaluation.
  • DataUri - Sets the search criteria to the data file(s) used in evaluation. The URL can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
" - }, - "Evaluations":{ - "type":"list", - "member":{"shape":"Evaluation"} - }, - "GetBatchPredictionInput":{ - "type":"structure", - "required":["BatchPredictionId"], - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

An ID assigned to the BatchPrediction at creation.

" - } - } - }, - "GetBatchPredictionOutput":{ - "type":"structure", - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

An ID assigned to the BatchPrediction at creation. This value should be identical to the value of the BatchPredictionID in the request.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel that generated predictions for the BatchPrediction request.

" - }, - "BatchPredictionDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the DataSource that was used to create the BatchPrediction.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account that invoked the BatchPrediction. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time when the BatchPrediction was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to BatchPrediction. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the BatchPrediction.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The status of the BatchPrediction, which can be one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to generate batch predictions.
  • INPROGRESS - The batch predictions are in progress.
  • FAILED - The request to perform a batch prediction did not run to completion. It is not usable.
  • COMPLETED - The batch prediction process completed successfully.
  • DELETED - The BatchPrediction is marked as deleted. It is not usable.
" - }, - "OutputUri":{ - "shape":"S3Url", - "documentation":"

The location of an Amazon S3 bucket or directory to receive the operation results.

" - }, - "LogUri":{ - "shape":"PresignedS3Url", - "documentation":"

A link to the file that contains logs of the CreateBatchPrediction operation.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about processing the batch prediction request.

" - }, - "ComputeTime":{ - "shape":"LongType", - "documentation":"

The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the BatchPrediction, normalized and scaled on computation resources. ComputeTime is only available if the BatchPrediction is in the COMPLETED state.

" - }, - "FinishedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the BatchPrediction as COMPLETED or FAILED. FinishedAt is only available when the BatchPrediction is in the COMPLETED or FAILED state.

" - }, - "StartedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the BatchPrediction as INPROGRESS. StartedAt isn't available if the BatchPrediction is in the PENDING state.

" - }, - "TotalRecordCount":{ - "shape":"LongType", - "documentation":"

The number of total records that Amazon Machine Learning saw while processing the BatchPrediction.

" - }, - "InvalidRecordCount":{ - "shape":"LongType", - "documentation":"

The number of invalid records that Amazon Machine Learning saw while processing the BatchPrediction.

" - } - }, - "documentation":"

Represents the output of a GetBatchPrediction operation and describes a BatchPrediction.

" - }, - "GetDataSourceInput":{ - "type":"structure", - "required":["DataSourceId"], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the DataSource at creation.

" - }, - "Verbose":{ - "shape":"Verbose", - "documentation":"

Specifies whether the GetDataSource operation should return DataSourceSchema.

If true, DataSourceSchema is returned.

If false, DataSourceSchema is not returned.

" - } - } - }, - "GetDataSourceOutput":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the DataSource at creation. This value should be identical to the value of the DataSourceId in the request.

" - }, - "DataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "DataRearrangement":{ - "shape":"DataRearrangement", - "documentation":"

A JSON string that represents the splitting and rearrangement requirement used when this DataSource was created.

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account from which the DataSource was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the DataSource was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the DataSource. The time is expressed in epoch time.

" - }, - "DataSizeInBytes":{ - "shape":"LongType", - "documentation":"

The total size of observations in the data files.

" - }, - "NumberOfFiles":{ - "shape":"LongType", - "documentation":"

The number of data files referenced by the DataSource.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the DataSource.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The current status of the DataSource. This element can have one of the following values:

  • PENDING - Amazon ML submitted a request to create a DataSource.
  • INPROGRESS - The creation process is underway.
  • FAILED - The request to create a DataSource did not run to completion. It is not usable.
  • COMPLETED - The creation process completed successfully.
  • DELETED - The DataSource is marked as deleted. It is not usable.
" - }, - "LogUri":{ - "shape":"PresignedS3Url", - "documentation":"

A link to the file containing logs of CreateDataSourceFrom* operations.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

The user-supplied description of the most recent details about creating the DataSource.

" - }, - "RedshiftMetadata":{"shape":"RedshiftMetadata"}, - "RDSMetadata":{"shape":"RDSMetadata"}, - "RoleARN":{"shape":"RoleARN"}, - "ComputeStatistics":{ - "shape":"ComputeStatistics", - "documentation":"

The parameter is true if statistics need to be generated from the observation data.

" - }, - "ComputeTime":{ - "shape":"LongType", - "documentation":"

The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the DataSource, normalized and scaled on computation resources. ComputeTime is only available if the DataSource is in the COMPLETED state and the ComputeStatistics is set to true.

" - }, - "FinishedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the DataSource as COMPLETED or FAILED. FinishedAt is only available when the DataSource is in the COMPLETED or FAILED state.

" - }, - "StartedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the DataSource as INPROGRESS. StartedAt isn't available if the DataSource is in the PENDING state.

" - }, - "DataSourceSchema":{ - "shape":"DataSchema", - "documentation":"

The schema used by all of the data files of this DataSource.

Note

This parameter is provided as part of the verbose format.

" - } - }, - "documentation":"

Represents the output of a GetDataSource operation and describes a DataSource.

" - }, - "GetEvaluationInput":{ - "type":"structure", - "required":["EvaluationId"], - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The ID of the Evaluation to retrieve. The evaluation of each MLModel is recorded and cataloged. The ID provides the means to access the information.

" - } - } - }, - "GetEvaluationOutput":{ - "type":"structure", - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The evaluation ID which is same as the EvaluationId in the request.

" - }, - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID of the MLModel that was the focus of the evaluation.

" - }, - "EvaluationDataSourceId":{ - "shape":"EntityId", - "documentation":"

The DataSource used for this evaluation.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the Evaluation was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the Evaluation. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the Evaluation.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The status of the evaluation. This element can have one of the following values:

  • PENDING - Amazon Machine Language (Amazon ML) submitted a request to evaluate an MLModel.
  • INPROGRESS - The evaluation is underway.
  • FAILED - The request to evaluate an MLModel did not run to completion. It is not usable.
  • COMPLETED - The evaluation process completed successfully.
  • DELETED - The Evaluation is marked as deleted. It is not usable.
" - }, - "PerformanceMetrics":{ - "shape":"PerformanceMetrics", - "documentation":"

Measurements of how well the MLModel performed using observations referenced by the DataSource. One of the following metric is returned based on the type of the MLModel:

  • BinaryAUC: A binary MLModel uses the Area Under the Curve (AUC) technique to measure performance.

  • RegressionRMSE: A regression MLModel uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.

  • MulticlassAvgFScore: A multiclass MLModel uses the F1 score technique to measure performance.

For more information about performance metrics, please see the Amazon Machine Learning Developer Guide.

" - }, - "LogUri":{ - "shape":"PresignedS3Url", - "documentation":"

A link to the file that contains logs of the CreateEvaluation operation.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about evaluating the MLModel.

" - }, - "ComputeTime":{ - "shape":"LongType", - "documentation":"

The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the Evaluation, normalized and scaled on computation resources. ComputeTime is only available if the Evaluation is in the COMPLETED state.

" - }, - "FinishedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the Evaluation as COMPLETED or FAILED. FinishedAt is only available when the Evaluation is in the COMPLETED or FAILED state.

" - }, - "StartedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the Evaluation as INPROGRESS. StartedAt isn't available if the Evaluation is in the PENDING state.

" - } - }, - "documentation":"

Represents the output of a GetEvaluation operation and describes an Evaluation.

" - }, - "GetMLModelInput":{ - "type":"structure", - "required":["MLModelId"], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel at creation.

" - }, - "Verbose":{ - "shape":"Verbose", - "documentation":"

Specifies whether the GetMLModel operation should return Recipe.

If true, Recipe is returned.

If false, Recipe is not returned.

" - } - } - }, - "GetMLModelOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The MLModel ID, which is same as the MLModelId in the request.

" - }, - "TrainingDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the training DataSource.

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the MLModel was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the MLModel. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"MLModelName", - "documentation":"

A user-supplied name or description of the MLModel.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The current status of the MLModel. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to describe a MLModel.
  • INPROGRESS - The request is processing.
  • FAILED - The request did not run to completion. The ML model isn't usable.
  • COMPLETED - The request completed successfully.
  • DELETED - The MLModel is marked as deleted. It isn't usable.
" - }, - "SizeInBytes":{"shape":"LongType"}, - "EndpointInfo":{ - "shape":"RealtimeEndpointInfo", - "documentation":"

The current endpoint of the MLModel

" - }, - "TrainingParameters":{ - "shape":"TrainingParameters", - "documentation":"

A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs.

The following is the current set of training parameters:

  • sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the input data, the size of the model might affect its performance.

    The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

  • sgd.maxPasses - The number of times that the training process traverses the observations to build the MLModel. The value is an integer that ranges from 1 to 10000. The default value is 10.

  • sgd.shuffleType - Whether Amazon ML shuffles the training data. Shuffling data improves a model's ability to find the optimal solution for a variety of data types. The valid values are auto and none. The default value is none. We strongly recommend that you shuffle your data.

  • sgd.l1RegularizationAmount - The coefficient regularization L1 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to zero, resulting in a sparse feature set. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L1 normalization. This parameter can't be used when L2 is specified. Use this parameter sparingly.

  • sgd.l2RegularizationAmount - The coefficient regularization L2 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to small, nonzero values. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L2 normalization. This parameter can't be used when L1 is specified. Use this parameter sparingly.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "MLModelType":{ - "shape":"MLModelType", - "documentation":"

Identifies the MLModel category. The following are the available types:

  • REGRESSION -- Produces a numeric result. For example, \"What price should a house be listed at?\"
  • BINARY -- Produces one of two possible results. For example, \"Is this an e-commerce website?\"
  • MULTICLASS -- Produces one of several possible results. For example, \"Is this a HIGH, LOW or MEDIUM risk trade?\"
" - }, - "ScoreThreshold":{ - "shape":"ScoreThreshold", - "documentation":"

The scoring threshold is used in binary classification MLModel models. It marks the boundary between a positive prediction and a negative prediction.

Output values greater than or equal to the threshold receive a positive result from the MLModel, such as true. Output values less than the threshold receive a negative response from the MLModel, such as false.

" - }, - "ScoreThresholdLastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

" - }, - "LogUri":{ - "shape":"PresignedS3Url", - "documentation":"

A link to the file that contains logs of the CreateMLModel operation.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about accessing the MLModel.

" - }, - "ComputeTime":{ - "shape":"LongType", - "documentation":"

The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the MLModel, normalized and scaled on computation resources. ComputeTime is only available if the MLModel is in the COMPLETED state.

" - }, - "FinishedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the MLModel as COMPLETED or FAILED. FinishedAt is only available when the MLModel is in the COMPLETED or FAILED state.

" - }, - "StartedAt":{ - "shape":"EpochTime", - "documentation":"

The epoch time when Amazon Machine Learning marked the MLModel as INPROGRESS. StartedAt isn't available if the MLModel is in the PENDING state.

" - }, - "Recipe":{ - "shape":"Recipe", - "documentation":"

The recipe to use when training the MLModel. The Recipe provides detailed information about the observation data to use during training, and manipulations to perform on the observation data during training.

Note

This parameter is provided as part of the verbose format.

" - }, - "Schema":{ - "shape":"DataSchema", - "documentation":"

The schema used by all of the data files referenced by the DataSource.

Note

This parameter is provided as part of the verbose format.

" - } - }, - "documentation":"

Represents the output of a GetMLModel operation, and provides detailed information about a MLModel.

" - }, - "IdempotentParameterMismatchException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "code":{"shape":"ErrorCode"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

A second request to use or change an object was not allowed. This can result from retrying a request using a parameter that was not present in the original request.

" - }, - "IntegerType":{ - "type":"integer", - "documentation":"

Integer type that is a 32-bit signed number.

" - }, - "InternalServerException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "code":{"shape":"ErrorCode"} - }, - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An error on the server occurred when trying to process a request.

" - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "code":{"shape":"ErrorCode"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

" - }, - "InvalidTagException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "Label":{ - "type":"string", - "min":1 - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "code":{"shape":"ErrorCode"} - }, - "error":{"httpStatusCode":417}, - "exception":true, - "documentation":"

The subscriber exceeded the maximum number of operations. This exception can occur when listing objects such as DataSource.

" - }, - "LongType":{ - "type":"long", - "documentation":"

Long integer type that is a 64-bit signed number.

" - }, - "MLModel":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel at creation.

" - }, - "TrainingDataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID of the training DataSource. The CreateMLModel operation uses the TrainingDataSourceId.

" - }, - "CreatedByIamUser":{ - "shape":"AwsUserArn", - "documentation":"

The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the MLModel was created. The time is expressed in epoch time.

" - }, - "LastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the MLModel. The time is expressed in epoch time.

" - }, - "Name":{ - "shape":"MLModelName", - "documentation":"

A user-supplied name or description of the MLModel.

" - }, - "Status":{ - "shape":"EntityStatus", - "documentation":"

The current status of an MLModel. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create an MLModel.
  • INPROGRESS - The creation process is underway.
  • FAILED - The request to create an MLModel didn't run to completion. The model isn't usable.
  • COMPLETED - The creation process completed successfully.
  • DELETED - The MLModel is marked as deleted. It isn't usable.
" - }, - "SizeInBytes":{"shape":"LongType"}, - "EndpointInfo":{ - "shape":"RealtimeEndpointInfo", - "documentation":"

The current endpoint of the MLModel.

" - }, - "TrainingParameters":{ - "shape":"TrainingParameters", - "documentation":"

A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs.

The following is the current set of training parameters:

  • sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the input data, the size of the model might affect its performance.

    The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

  • sgd.maxPasses - The number of times that the training process traverses the observations to build the MLModel. The value is an integer that ranges from 1 to 10000. The default value is 10.

  • sgd.shuffleType - Whether Amazon ML shuffles the training data. Shuffling the data improves a model's ability to find the optimal solution for a variety of data types. The valid values are auto and none. The default value is none.

  • sgd.l1RegularizationAmount - The coefficient regularization L1 norm, which controls overfitting the data by penalizing large coefficients. This parameter tends to drive coefficients to zero, resulting in sparse feature set. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L1 normalization. This parameter can't be used when L2 is specified. Use this parameter sparingly.

  • sgd.l2RegularizationAmount - The coefficient regularization L2 norm, which controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to small, nonzero values. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L2 normalization. This parameter can't be used when L1 is specified. Use this parameter sparingly.

" - }, - "InputDataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

" - }, - "Algorithm":{ - "shape":"Algorithm", - "documentation":"

The algorithm used to train the MLModel. The following algorithm is supported:

  • SGD -- Stochastic gradient descent. The goal of SGD is to minimize the gradient of the loss function.
" - }, - "MLModelType":{ - "shape":"MLModelType", - "documentation":"

Identifies the MLModel category. The following are the available types:

  • REGRESSION - Produces a numeric result. For example, \"What price should a house be listed at?\"
  • BINARY - Produces one of two possible results. For example, \"Is this a child-friendly web site?\".
  • MULTICLASS - Produces one of several possible results. For example, \"Is this a HIGH-, LOW-, or MEDIUM-risk trade?\".
" - }, - "ScoreThreshold":{"shape":"ScoreThreshold"}, - "ScoreThresholdLastUpdatedAt":{ - "shape":"EpochTime", - "documentation":"

The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

A description of the most recent details about accessing the MLModel.

" - }, - "ComputeTime":{"shape":"LongType"}, - "FinishedAt":{"shape":"EpochTime"}, - "StartedAt":{"shape":"EpochTime"} - }, - "documentation":"

Represents the output of a GetMLModel operation.

The content consists of the detailed metadata and the current status of the MLModel.

" - }, - "MLModelFilterVariable":{ - "type":"string", - "enum":[ - "CreatedAt", - "LastUpdatedAt", - "Status", - "Name", - "IAMUser", - "TrainingDataSourceId", - "RealtimeEndpointStatus", - "MLModelType", - "Algorithm", - "TrainingDataURI" - ] - }, - "MLModelName":{ - "type":"string", - "max":1024 - }, - "MLModelType":{ - "type":"string", - "enum":[ - "REGRESSION", - "BINARY", - "MULTICLASS" - ] - }, - "MLModels":{ - "type":"list", - "member":{"shape":"MLModel"} - }, - "Message":{ - "type":"string", - "max":10240, - "documentation":"

Description of the most recent details about an object.

" - }, - "PageLimit":{ - "type":"integer", - "min":1, - "max":100 - }, - "PerformanceMetrics":{ - "type":"structure", - "members":{ - "Properties":{"shape":"PerformanceMetricsProperties"} - }, - "documentation":"

Measurements of how well the MLModel performed on known observations. One of the following metrics is returned, based on the type of the MLModel:

  • BinaryAUC: The binary MLModel uses the Area Under the Curve (AUC) technique to measure performance.

  • RegressionRMSE: The regression MLModel uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.

  • MulticlassAvgFScore: The multiclass MLModel uses the F1 score technique to measure performance.

For more information about performance metrics, please see the Amazon Machine Learning Developer Guide.

" - }, - "PerformanceMetricsProperties":{ - "type":"map", - "key":{"shape":"PerformanceMetricsPropertyKey"}, - "value":{"shape":"PerformanceMetricsPropertyValue"} - }, - "PerformanceMetricsPropertyKey":{"type":"string"}, - "PerformanceMetricsPropertyValue":{"type":"string"}, - "PredictInput":{ - "type":"structure", - "required":[ - "MLModelId", - "Record", - "PredictEndpoint" - ], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

A unique identifier of the MLModel.

" - }, - "Record":{"shape":"Record"}, - "PredictEndpoint":{"shape":"VipURL"} - } - }, - "PredictOutput":{ - "type":"structure", - "members":{ - "Prediction":{"shape":"Prediction"} - } - }, - "Prediction":{ - "type":"structure", - "members":{ - "predictedLabel":{ - "shape":"Label", - "documentation":"

The prediction label for either a BINARY or MULTICLASS MLModel.

" - }, - "predictedValue":{ - "shape":"floatLabel", - "documentation":"The prediction value for REGRESSION MLModel." - }, - "predictedScores":{"shape":"ScoreValuePerLabelMap"}, - "details":{"shape":"DetailsMap"} - }, - "documentation":"

The output from a Predict operation:

  • Details - Contains the following attributes: DetailsAttributes.PREDICTIVE_MODEL_TYPE - REGRESSION | BINARY | MULTICLASS DetailsAttributes.ALGORITHM - SGD

  • PredictedLabel - Present for either a BINARY or MULTICLASS MLModel request.

  • PredictedScores - Contains the raw classification score corresponding to each label.

  • PredictedValue - Present for a REGRESSION MLModel request.

" - }, - "PredictorNotMountedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The exception is thrown when a predict request is made to an unmounted MLModel.

" - }, - "PresignedS3Url":{"type":"string"}, - "RDSDataSpec":{ - "type":"structure", - "required":[ - "DatabaseInformation", - "SelectSqlQuery", - "DatabaseCredentials", - "S3StagingLocation", - "ResourceRole", - "ServiceRole", - "SubnetId", - "SecurityGroupIds" - ], - "members":{ - "DatabaseInformation":{ - "shape":"RDSDatabase", - "documentation":"

Describes the DatabaseName and InstanceIdentifier of an Amazon RDS database.

" - }, - "SelectSqlQuery":{ - "shape":"RDSSelectSqlQuery", - "documentation":"

The query that is used to retrieve the observation data for the DataSource.

" - }, - "DatabaseCredentials":{ - "shape":"RDSDatabaseCredentials", - "documentation":"

The AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon RDS database.

" - }, - "S3StagingLocation":{ - "shape":"S3Url", - "documentation":"

The Amazon S3 location for staging Amazon RDS data. The data retrieved from Amazon RDS using SelectSqlQuery is stored in this location.

" - }, - "DataRearrangement":{ - "shape":"DataRearrangement", - "documentation":"

A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the Datasource.

There are multiple parameters that control what data is used to create a datasource:

  • percentBegin

    Use percentBegin to indicate the beginning of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • percentEnd

    Use percentEnd to indicate the end of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • complement

    The complement parameter instructs Amazon ML to use the data that is not included in the range of percentBegin to percentEnd to create a datasource. The complement parameter is useful if you need to create complementary datasources for training and evaluation. To create a complementary datasource, use the same values for percentBegin and percentEnd, along with the complement parameter.

    For example, the following two datasources do not share any data, and can be used to train and evaluate a model. The first datasource has 25 percent of the data, and the second one has 75 percent of the data.

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25}}

    Datasource for training: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25, \"complement\":\"true\"}}

  • strategy

    To change how Amazon ML splits the data for a datasource, use the strategy parameter.

    The default value for the strategy parameter is sequential, meaning that Amazon ML takes all of the data records between the percentBegin and percentEnd parameters for the datasource, in the order that the records appear in the input data.

    The following two DataRearrangement lines are examples of sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\", \"complement\":\"true\"}}

    To randomly split the input data into the proportions indicated by the percentBegin and percentEnd parameters, set the strategy parameter to random and provide a string that is used as the seed value for the random data splitting (for example, you can use the S3 path to your data as the random seed string). If you choose the random split strategy, Amazon ML assigns each row of data a pseudo-random number between 0 and 100, and then selects the rows that have an assigned number between percentBegin and percentEnd. Pseudo-random numbers are assigned using both the input seed string value and the byte offset as a seed, so changing the data results in a different split. Any existing ordering is preserved. The random splitting strategy ensures that variables in the training and evaluation data are distributed similarly. It is useful in the cases where the input data may have an implicit sort order, which would otherwise result in training and evaluation datasources containing non-similar data records.

    The following two DataRearrangement lines are examples of non-sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\", \"complement\":\"true\"}}

" - }, - "DataSchema":{ - "shape":"DataSchema", - "documentation":"

A JSON string that represents the schema for an Amazon RDS DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource.

A DataSchema is not required if you specify a DataSchemaUri

Define your DataSchema as a series of key-value pairs. attributes and excludedVariableNames have an array of key-value pairs for their value. Use the following format to define your DataSchema.

{ \"version\": \"1.0\",

\"recordAnnotationFieldName\": \"F1\",

\"recordWeightFieldName\": \"F2\",

\"targetFieldName\": \"F3\",

\"dataFormat\": \"CSV\",

\"dataFileContainsHeader\": true,

\"attributes\": [

{ \"fieldName\": \"F1\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F2\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F3\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F4\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F5\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F6\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F7\", \"fieldType\": \"WEIGHTED_INT_SEQUENCE\" }, { \"fieldName\": \"F8\", \"fieldType\": \"WEIGHTED_STRING_SEQUENCE\" } ],

\"excludedVariableNames\": [ \"F6\" ] }

" - }, - "DataSchemaUri":{ - "shape":"S3Url", - "documentation":"

The Amazon S3 location of the DataSchema.

" - }, - "ResourceRole":{ - "shape":"EDPResourceRole", - "documentation":"

The role (DataPipelineDefaultResourceRole) assumed by an Amazon Elastic Compute Cloud (Amazon EC2) instance to carry out the copy operation from Amazon RDS to an Amazon S3 task. For more information, see Role templates for data pipelines.

" - }, - "ServiceRole":{ - "shape":"EDPServiceRole", - "documentation":"

The role (DataPipelineDefaultRole) assumed by AWS Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

" - }, - "SubnetId":{ - "shape":"EDPSubnetId", - "documentation":"

The subnet ID to be used to access a VPC-based RDS DB instance. This attribute is used by Data Pipeline to carry out the copy task from Amazon RDS to Amazon S3.

" - }, - "SecurityGroupIds":{ - "shape":"EDPSecurityGroupIds", - "documentation":"

The security group IDs to be used to access a VPC-based RDS DB instance. Ensure that there are appropriate ingress rules set up to allow access to the RDS DB instance. This attribute is used by Data Pipeline to carry out the copy operation from Amazon RDS to an Amazon S3 task.

" - } - }, - "documentation":"

The data specification of an Amazon Relational Database Service (Amazon RDS) DataSource.

" - }, - "RDSDatabase":{ - "type":"structure", - "required":[ - "InstanceIdentifier", - "DatabaseName" - ], - "members":{ - "InstanceIdentifier":{ - "shape":"RDSInstanceIdentifier", - "documentation":"

The ID of an RDS DB instance.

" - }, - "DatabaseName":{"shape":"RDSDatabaseName"} - }, - "documentation":"

The database details of an Amazon RDS database.

" - }, - "RDSDatabaseCredentials":{ - "type":"structure", - "required":[ - "Username", - "Password" - ], - "members":{ - "Username":{"shape":"RDSDatabaseUsername"}, - "Password":{"shape":"RDSDatabasePassword"} - }, - "documentation":"

The database credentials to connect to a database on an RDS DB instance.

" - }, - "RDSDatabaseName":{ - "type":"string", - "min":1, - "max":64, - "documentation":"

The name of a database hosted on an RDS DB instance.

" - }, - "RDSDatabasePassword":{ - "type":"string", - "min":8, - "max":128, - "documentation":"

The password to be used by Amazon ML to connect to a database on an RDS DB instance. The password should have sufficient permissions to execute the RDSSelectQuery query.

" - }, - "RDSDatabaseUsername":{ - "type":"string", - "min":1, - "max":128, - "documentation":"

The username to be used by Amazon ML to connect to database on an Amazon RDS instance. The username should have sufficient permissions to execute an RDSSelectSqlQuery query.

" - }, - "RDSInstanceIdentifier":{ - "type":"string", - "min":1, - "max":63, - "pattern":"[a-z0-9-]+", - "documentation":"Identifier of RDS DB Instances." - }, - "RDSMetadata":{ - "type":"structure", - "members":{ - "Database":{ - "shape":"RDSDatabase", - "documentation":"

The database details required to connect to an Amazon RDS.

" - }, - "DatabaseUserName":{"shape":"RDSDatabaseUsername"}, - "SelectSqlQuery":{ - "shape":"RDSSelectSqlQuery", - "documentation":"

The SQL query that is supplied during CreateDataSourceFromRDS. Returns only if Verbose is true in GetDataSourceInput.

" - }, - "ResourceRole":{ - "shape":"EDPResourceRole", - "documentation":"

The role (DataPipelineDefaultResourceRole) assumed by an Amazon EC2 instance to carry out the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

" - }, - "ServiceRole":{ - "shape":"EDPServiceRole", - "documentation":"

The role (DataPipelineDefaultRole) assumed by the Data Pipeline service to monitor the progress of the copy task from Amazon RDS to Amazon S3. For more information, see Role templates for data pipelines.

" - }, - "DataPipelineId":{ - "shape":"EDPPipelineId", - "documentation":"

The ID of the Data Pipeline instance that is used to carry to copy data from Amazon RDS to Amazon S3. You can use the ID to find details about the instance in the Data Pipeline console.

" - } - }, - "documentation":"

The datasource details that are specific to Amazon RDS.

" - }, - "RDSSelectSqlQuery":{ - "type":"string", - "min":1, - "max":16777216, - "documentation":"

The SQL query to be executed against the Amazon RDS database. The SQL query should be valid for the Amazon RDS type being used.

" - }, - "RealtimeEndpointInfo":{ - "type":"structure", - "members":{ - "PeakRequestsPerSecond":{ - "shape":"IntegerType", - "documentation":"

The maximum processing rate for the real-time endpoint for MLModel, measured in incoming requests per second.

" - }, - "CreatedAt":{ - "shape":"EpochTime", - "documentation":"

The time that the request to create the real-time endpoint for the MLModel was received. The time is expressed in epoch time.

" - }, - "EndpointUrl":{ - "shape":"VipURL", - "documentation":"

The URI that specifies where to send real-time prediction requests for the MLModel.

Note

The application must wait until the real-time endpoint is ready before using this URI.

" - }, - "EndpointStatus":{ - "shape":"RealtimeEndpointStatus", - "documentation":"

The current status of the real-time endpoint for the MLModel. This element can have one of the following values:

  • NONE - Endpoint does not exist or was previously deleted.
  • READY - Endpoint is ready to be used for real-time predictions.
  • UPDATING - Updating/creating the endpoint.
" - } - }, - "documentation":"

Describes the real-time endpoint information for an MLModel.

" - }, - "RealtimeEndpointStatus":{ - "type":"string", - "enum":[ - "NONE", - "READY", - "UPDATING", - "FAILED" - ] - }, - "Recipe":{ - "type":"string", - "max":131071 - }, - "Record":{ - "type":"map", - "key":{"shape":"VariableName"}, - "value":{"shape":"VariableValue"}, - "documentation":"

A map of variable name-value pairs that represent an observation.

" - }, - "RedshiftClusterIdentifier":{ - "type":"string", - "min":1, - "max":63, - "pattern":"[a-z0-9-]+", - "documentation":"

The ID of an Amazon Redshift cluster.

" - }, - "RedshiftDataSpec":{ - "type":"structure", - "required":[ - "DatabaseInformation", - "SelectSqlQuery", - "DatabaseCredentials", - "S3StagingLocation" - ], - "members":{ - "DatabaseInformation":{ - "shape":"RedshiftDatabase", - "documentation":"

Describes the DatabaseName and ClusterIdentifier for an Amazon Redshift DataSource.

" - }, - "SelectSqlQuery":{ - "shape":"RedshiftSelectSqlQuery", - "documentation":"

Describes the SQL Query to execute on an Amazon Redshift database for an Amazon Redshift DataSource.

" - }, - "DatabaseCredentials":{ - "shape":"RedshiftDatabaseCredentials", - "documentation":"

Describes AWS Identity and Access Management (IAM) credentials that are used connect to the Amazon Redshift database.

" - }, - "S3StagingLocation":{ - "shape":"S3Url", - "documentation":"

Describes an Amazon S3 location to store the result set of the SelectSqlQuery query.

" - }, - "DataRearrangement":{ - "shape":"DataRearrangement", - "documentation":"

A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the Datasource.

There are multiple parameters that control what data is used to create a datasource:

  • percentBegin

    Use percentBegin to indicate the beginning of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • percentEnd

    Use percentEnd to indicate the end of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • complement

    The complement parameter instructs Amazon ML to use the data that is not included in the range of percentBegin to percentEnd to create a datasource. The complement parameter is useful if you need to create complementary datasources for training and evaluation. To create a complementary datasource, use the same values for percentBegin and percentEnd, along with the complement parameter.

    For example, the following two datasources do not share any data, and can be used to train and evaluate a model. The first datasource has 25 percent of the data, and the second one has 75 percent of the data.

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25}}

    Datasource for training: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25, \"complement\":\"true\"}}

  • strategy

    To change how Amazon ML splits the data for a datasource, use the strategy parameter.

    The default value for the strategy parameter is sequential, meaning that Amazon ML takes all of the data records between the percentBegin and percentEnd parameters for the datasource, in the order that the records appear in the input data.

    The following two DataRearrangement lines are examples of sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\", \"complement\":\"true\"}}

    To randomly split the input data into the proportions indicated by the percentBegin and percentEnd parameters, set the strategy parameter to random and provide a string that is used as the seed value for the random data splitting (for example, you can use the S3 path to your data as the random seed string). If you choose the random split strategy, Amazon ML assigns each row of data a pseudo-random number between 0 and 100, and then selects the rows that have an assigned number between percentBegin and percentEnd. Pseudo-random numbers are assigned using both the input seed string value and the byte offset as a seed, so changing the data results in a different split. Any existing ordering is preserved. The random splitting strategy ensures that variables in the training and evaluation data are distributed similarly. It is useful in the cases where the input data may have an implicit sort order, which would otherwise result in training and evaluation datasources containing non-similar data records.

    The following two DataRearrangement lines are examples of non-sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\", \"complement\":\"true\"}}

" - }, - "DataSchema":{ - "shape":"DataSchema", - "documentation":"

A JSON string that represents the schema for an Amazon Redshift DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource.

A DataSchema is not required if you specify a DataSchemaUri.

Define your DataSchema as a series of key-value pairs. attributes and excludedVariableNames have an array of key-value pairs for their value. Use the following format to define your DataSchema.

{ \"version\": \"1.0\",

\"recordAnnotationFieldName\": \"F1\",

\"recordWeightFieldName\": \"F2\",

\"targetFieldName\": \"F3\",

\"dataFormat\": \"CSV\",

\"dataFileContainsHeader\": true,

\"attributes\": [

{ \"fieldName\": \"F1\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F2\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F3\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F4\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F5\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F6\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F7\", \"fieldType\": \"WEIGHTED_INT_SEQUENCE\" }, { \"fieldName\": \"F8\", \"fieldType\": \"WEIGHTED_STRING_SEQUENCE\" } ],

\"excludedVariableNames\": [ \"F6\" ] }

" - }, - "DataSchemaUri":{ - "shape":"S3Url", - "documentation":"

Describes the schema location for an Amazon Redshift DataSource.

" - } - }, - "documentation":"

Describes the data specification of an Amazon Redshift DataSource.

" - }, - "RedshiftDatabase":{ - "type":"structure", - "required":[ - "DatabaseName", - "ClusterIdentifier" - ], - "members":{ - "DatabaseName":{"shape":"RedshiftDatabaseName"}, - "ClusterIdentifier":{"shape":"RedshiftClusterIdentifier"} - }, - "documentation":"

Describes the database details required to connect to an Amazon Redshift database.

" - }, - "RedshiftDatabaseCredentials":{ - "type":"structure", - "required":[ - "Username", - "Password" - ], - "members":{ - "Username":{"shape":"RedshiftDatabaseUsername"}, - "Password":{"shape":"RedshiftDatabasePassword"} - }, - "documentation":"

Describes the database credentials for connecting to a database on an Amazon Redshift cluster.

" - }, - "RedshiftDatabaseName":{ - "type":"string", - "min":1, - "max":64, - "pattern":"[a-z0-9]+", - "documentation":"

The name of a database hosted on an Amazon Redshift cluster.

" - }, - "RedshiftDatabasePassword":{ - "type":"string", - "min":8, - "max":64, - "documentation":"

A password to be used by Amazon ML to connect to a database on an Amazon Redshift cluster. The password should have sufficient permissions to execute a RedshiftSelectSqlQuery query. The password should be valid for an Amazon Redshift USER.

" - }, - "RedshiftDatabaseUsername":{ - "type":"string", - "min":1, - "max":128, - "documentation":"

A username to be used by Amazon Machine Learning (Amazon ML)to connect to a database on an Amazon Redshift cluster. The username should have sufficient permissions to execute the RedshiftSelectSqlQuery query. The username should be valid for an Amazon Redshift USER.

" - }, - "RedshiftMetadata":{ - "type":"structure", - "members":{ - "RedshiftDatabase":{"shape":"RedshiftDatabase"}, - "DatabaseUserName":{"shape":"RedshiftDatabaseUsername"}, - "SelectSqlQuery":{ - "shape":"RedshiftSelectSqlQuery", - "documentation":"

The SQL query that is specified during CreateDataSourceFromRedshift. Returns only if Verbose is true in GetDataSourceInput.

" - } - }, - "documentation":"

Describes the DataSource details specific to Amazon Redshift.

" - }, - "RedshiftSelectSqlQuery":{ - "type":"string", - "min":1, - "max":16777216, - "documentation":"

Describes the SQL query to execute on the Amazon Redshift database. The SQL query should be valid for an Amazon Redshift SELECT.

" - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"}, - "code":{"shape":"ErrorCode"} - }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

A specified resource cannot be located.

" - }, - "RoleARN":{ - "type":"string", - "min":1, - "max":110, - "documentation":"

The Amazon Resource Name (ARN) of an AWS IAM Role, such as the following: arn:aws:iam::account:role/rolename.

" - }, - "S3DataSpec":{ - "type":"structure", - "required":["DataLocationS3"], - "members":{ - "DataLocationS3":{ - "shape":"S3Url", - "documentation":"

The location of the data file(s) used by a DataSource. The URI specifies a data file or an Amazon Simple Storage Service (Amazon S3) directory or bucket containing data files.

" - }, - "DataRearrangement":{ - "shape":"DataRearrangement", - "documentation":"

A JSON string that represents the splitting and rearrangement processing to be applied to a DataSource. If the DataRearrangement parameter is not provided, all of the input data is used to create the Datasource.

There are multiple parameters that control what data is used to create a datasource:

  • percentBegin

    Use percentBegin to indicate the beginning of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • percentEnd

    Use percentEnd to indicate the end of the range of the data used to create the Datasource. If you do not include percentBegin and percentEnd, Amazon ML includes all of the data when creating the datasource.

  • complement

    The complement parameter instructs Amazon ML to use the data that is not included in the range of percentBegin to percentEnd to create a datasource. The complement parameter is useful if you need to create complementary datasources for training and evaluation. To create a complementary datasource, use the same values for percentBegin and percentEnd, along with the complement parameter.

    For example, the following two datasources do not share any data, and can be used to train and evaluate a model. The first datasource has 25 percent of the data, and the second one has 75 percent of the data.

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25}}

    Datasource for training: {\"splitting\":{\"percentBegin\":0, \"percentEnd\":25, \"complement\":\"true\"}}

  • strategy

    To change how Amazon ML splits the data for a datasource, use the strategy parameter.

    The default value for the strategy parameter is sequential, meaning that Amazon ML takes all of the data records between the percentBegin and percentEnd parameters for the datasource, in the order that the records appear in the input data.

    The following two DataRearrangement lines are examples of sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"sequential\", \"complement\":\"true\"}}

    To randomly split the input data into the proportions indicated by the percentBegin and percentEnd parameters, set the strategy parameter to random and provide a string that is used as the seed value for the random data splitting (for example, you can use the S3 path to your data as the random seed string). If you choose the random split strategy, Amazon ML assigns each row of data a pseudo-random number between 0 and 100, and then selects the rows that have an assigned number between percentBegin and percentEnd. Pseudo-random numbers are assigned using both the input seed string value and the byte offset as a seed, so changing the data results in a different split. Any existing ordering is preserved. The random splitting strategy ensures that variables in the training and evaluation data are distributed similarly. It is useful in the cases where the input data may have an implicit sort order, which would otherwise result in training and evaluation datasources containing non-similar data records.

    The following two DataRearrangement lines are examples of non-sequentially ordered training and evaluation datasources:

    Datasource for evaluation: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\"}}

    Datasource for training: {\"splitting\":{\"percentBegin\":70, \"percentEnd\":100, \"strategy\":\"random\", \"randomSeed\"=\"s3://my_s3_path/bucket/file.csv\", \"complement\":\"true\"}}

" - }, - "DataSchema":{ - "shape":"DataSchema", - "documentation":"

A JSON string that represents the schema for an Amazon S3 DataSource. The DataSchema defines the structure of the observation data in the data file(s) referenced in the DataSource.

You must provide either the DataSchema or the DataSchemaLocationS3.

Define your DataSchema as a series of key-value pairs. attributes and excludedVariableNames have an array of key-value pairs for their value. Use the following format to define your DataSchema.

{ \"version\": \"1.0\",

\"recordAnnotationFieldName\": \"F1\",

\"recordWeightFieldName\": \"F2\",

\"targetFieldName\": \"F3\",

\"dataFormat\": \"CSV\",

\"dataFileContainsHeader\": true,

\"attributes\": [

{ \"fieldName\": \"F1\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F2\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F3\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F4\", \"fieldType\": \"NUMERIC\" }, { \"fieldName\": \"F5\", \"fieldType\": \"CATEGORICAL\" }, { \"fieldName\": \"F6\", \"fieldType\": \"TEXT\" }, { \"fieldName\": \"F7\", \"fieldType\": \"WEIGHTED_INT_SEQUENCE\" }, { \"fieldName\": \"F8\", \"fieldType\": \"WEIGHTED_STRING_SEQUENCE\" } ],

\"excludedVariableNames\": [ \"F6\" ] }

" - }, - "DataSchemaLocationS3":{ - "shape":"S3Url", - "documentation":"

Describes the schema location in Amazon S3. You must provide either the DataSchema or the DataSchemaLocationS3.

" - } - }, - "documentation":"

Describes the data specification of a DataSource.

" - }, - "S3Url":{ - "type":"string", - "max":2048, - "pattern":"s3://([^/]+)(/.*)?", - "documentation":"

A reference to a file or bucket on Amazon Simple Storage Service (Amazon S3).

" - }, - "ScoreThreshold":{"type":"float"}, - "ScoreValue":{"type":"float"}, - "ScoreValuePerLabelMap":{ - "type":"map", - "key":{"shape":"Label"}, - "value":{"shape":"ScoreValue"}, - "documentation":"Provides the raw classification score corresponding to each label." - }, - "SortOrder":{ - "type":"string", - "enum":[ - "asc", - "dsc" - ], - "documentation":"

The sort order specified in a listing condition. Possible values include the following:

  • asc - Present the information in ascending order (from A-Z).
  • dsc - Present the information in descending order (from Z-A).
" - }, - "StringType":{ - "type":"string", - "documentation":"

String type.

" - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

A unique identifier for the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

An optional string, typically used to describe or define the tag. Valid characters include Unicode letters, digits, white space, _, ., /, =, +, -, %, and @.

" - } - }, - "documentation":"

A custom key-value pair associated with an ML object, such as an ML model.

" - }, - "TagKey":{ - "type":"string", - "min":1, - "max":128, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":100 - }, - "TagLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":100 - }, - "TagValue":{ - "type":"string", - "min":0, - "max":256, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TaggableResourceType":{ - "type":"string", - "enum":[ - "BatchPrediction", - "DataSource", - "Evaluation", - "MLModel" - ] - }, - "TrainingParameters":{ - "type":"map", - "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} - }, - "UpdateBatchPredictionInput":{ - "type":"structure", - "required":[ - "BatchPredictionId", - "BatchPredictionName" - ], - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the BatchPrediction during creation.

" - }, - "BatchPredictionName":{ - "shape":"EntityName", - "documentation":"

A new user-supplied name or description of the BatchPrediction.

" - } - } - }, - "UpdateBatchPredictionOutput":{ - "type":"structure", - "members":{ - "BatchPredictionId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the BatchPrediction during creation. This value should be identical to the value of the BatchPredictionId in the request.

" - } - }, - "documentation":"

Represents the output of an UpdateBatchPrediction operation.

You can see the updated content by using the GetBatchPrediction operation.

" - }, - "UpdateDataSourceInput":{ - "type":"structure", - "required":[ - "DataSourceId", - "DataSourceName" - ], - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the DataSource during creation.

" - }, - "DataSourceName":{ - "shape":"EntityName", - "documentation":"

A new user-supplied name or description of the DataSource that will replace the current description.

" - } - } - }, - "UpdateDataSourceOutput":{ - "type":"structure", - "members":{ - "DataSourceId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the DataSource during creation. This value should be identical to the value of the DataSourceID in the request.

" - } - }, - "documentation":"

Represents the output of an UpdateDataSource operation.

You can see the updated content by using the GetBatchPrediction operation.

" - }, - "UpdateEvaluationInput":{ - "type":"structure", - "required":[ - "EvaluationId", - "EvaluationName" - ], - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the Evaluation during creation.

" - }, - "EvaluationName":{ - "shape":"EntityName", - "documentation":"

A new user-supplied name or description of the Evaluation that will replace the current content.

" - } - } - }, - "UpdateEvaluationOutput":{ - "type":"structure", - "members":{ - "EvaluationId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the Evaluation during creation. This value should be identical to the value of the Evaluation in the request.

" - } - }, - "documentation":"

Represents the output of an UpdateEvaluation operation.

You can see the updated content by using the GetEvaluation operation.

" - }, - "UpdateMLModelInput":{ - "type":"structure", - "required":["MLModelId"], - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel during creation.

" - }, - "MLModelName":{ - "shape":"EntityName", - "documentation":"

A user-supplied name or description of the MLModel.

" - }, - "ScoreThreshold":{ - "shape":"ScoreThreshold", - "documentation":"

The ScoreThreshold used in binary classification MLModel that marks the boundary between a positive prediction and a negative prediction.

Output values greater than or equal to the ScoreThreshold receive a positive result from the MLModel, such as true. Output values less than the ScoreThreshold receive a negative response from the MLModel, such as false.

" - } - } - }, - "UpdateMLModelOutput":{ - "type":"structure", - "members":{ - "MLModelId":{ - "shape":"EntityId", - "documentation":"

The ID assigned to the MLModel during creation. This value should be identical to the value of the MLModelID in the request.

" - } - }, - "documentation":"

Represents the output of an UpdateMLModel operation.

You can see the updated content by using the GetMLModel operation.

" - }, - "VariableName":{ - "type":"string", - "documentation":"

The name of a variable. Currently it's used to specify the name of the target value, label, weight, and tags.

" - }, - "VariableValue":{ - "type":"string", - "documentation":"

The value of a variable. Currently it's used to specify values of the target value, weights, and tag variables and for filtering variable values.

" - }, - "Verbose":{ - "type":"boolean", - "documentation":"

Specifies whether a describe operation should return exhaustive or abbreviated information.

" - }, - "VipURL":{ - "type":"string", - "max":2048, - "pattern":"https://[a-zA-Z0-9-.]*\\.amazon(aws)?\\.com[/]?" - }, - "floatLabel":{"type":"float"} - }, - "examples":{ - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/waiters-2.json deleted file mode 100644 index da6b1c95..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/machinelearning/2014-12-12/waiters-2.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "version": 2, - "waiters": { - "DataSourceAvailable": { - "delay": 30, - "operation": "DescribeDataSources", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "COMPLETED", - "matcher": "pathAll", - "state": "success", - "argument": "Results[].Status" - }, - { - "expected": "FAILED", - "matcher": "pathAny", - "state": "failure", - "argument": "Results[].Status" - } - ] - }, - "MLModelAvailable": { - "delay": 30, - "operation": "DescribeMLModels", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "COMPLETED", - "matcher": "pathAll", - "state": "success", - "argument": "Results[].Status" - }, - { - "expected": "FAILED", - "matcher": "pathAny", - "state": "failure", - "argument": "Results[].Status" - } - ] - }, - "EvaluationAvailable": { - "delay": 30, - "operation": "DescribeEvaluations", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "COMPLETED", - "matcher": "pathAll", - "state": "success", - "argument": "Results[].Status" - }, - { - "expected": "FAILED", - "matcher": "pathAny", - "state": "failure", - "argument": "Results[].Status" - } - ] - }, - "BatchPredictionAvailable": { - "delay": 30, - "operation": "DescribeBatchPredictions", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "COMPLETED", - "matcher": "pathAll", - "state": "success", - "argument": "Results[].Status" - }, - { - "expected": "FAILED", - "matcher": "pathAny", - "state": "failure", - "argument": "Results[].Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/service-2.json deleted file mode 100644 index c3114b69..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/macie/2017-12-19/service-2.json +++ /dev/null @@ -1,495 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-12-19", - "endpointPrefix":"macie", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Macie", - "serviceId":"Macie", - "signatureVersion":"v4", - "targetPrefix":"MacieService", - "uid":"macie-2017-12-19" - }, - "operations":{ - "AssociateMemberAccount":{ - "name":"AssociateMemberAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateMemberAccountRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalException"} - ], - "documentation":"

Associates a specified AWS account with Amazon Macie as a member account.

" - }, - "AssociateS3Resources":{ - "name":"AssociateS3Resources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateS3ResourcesRequest"}, - "output":{"shape":"AssociateS3ResourcesResult"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalException"} - ], - "documentation":"

Associates specified S3 resources with Amazon Macie for monitoring and data classification. If memberAccountId isn't specified, the action associates specified S3 resources with Macie for the current master account. If memberAccountId is specified, the action associates specified S3 resources with Macie for the specified member account.

" - }, - "DisassociateMemberAccount":{ - "name":"DisassociateMemberAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateMemberAccountRequest"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"InternalException"} - ], - "documentation":"

Removes the specified member account from Amazon Macie.

" - }, - "DisassociateS3Resources":{ - "name":"DisassociateS3Resources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateS3ResourcesRequest"}, - "output":{"shape":"DisassociateS3ResourcesResult"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalException"} - ], - "documentation":"

Removes specified S3 resources from being monitored by Amazon Macie. If memberAccountId isn't specified, the action removes specified S3 resources from Macie for the current master account. If memberAccountId is specified, the action removes specified S3 resources from Macie for the specified member account.

" - }, - "ListMemberAccounts":{ - "name":"ListMemberAccounts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListMemberAccountsRequest"}, - "output":{"shape":"ListMemberAccountsResult"}, - "errors":[ - {"shape":"InternalException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Lists all Amazon Macie member accounts for the current Amazon Macie master account.

" - }, - "ListS3Resources":{ - "name":"ListS3Resources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListS3ResourcesRequest"}, - "output":{"shape":"ListS3ResourcesResult"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalException"} - ], - "documentation":"

Lists all the S3 resources associated with Amazon Macie. If memberAccountId isn't specified, the action lists the S3 resources associated with Amazon Macie for the current master account. If memberAccountId is specified, the action lists the S3 resources associated with Amazon Macie for the specified member account.

" - }, - "UpdateS3Resources":{ - "name":"UpdateS3Resources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateS3ResourcesRequest"}, - "output":{"shape":"UpdateS3ResourcesResult"}, - "errors":[ - {"shape":"InvalidInputException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalException"} - ], - "documentation":"

Updates the classification types for the specified S3 resources. If memberAccountId isn't specified, the action updates the classification types of the S3 resources associated with Amazon Macie for the current master account. If memberAccountId is specified, the action updates the classification types of the S3 resources associated with Amazon Macie for the specified member account.

" - } - }, - "shapes":{ - "AWSAccountId":{ - "type":"string", - "pattern":"[0-9]{12}" - }, - "AccessDeniedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"}, - "resourceType":{"shape":"ResourceType"} - }, - "documentation":"

You do not have required permissions to access the requested resource.

", - "exception":true - }, - "AssociateMemberAccountRequest":{ - "type":"structure", - "required":["memberAccountId"], - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The ID of the AWS account that you want to associate with Amazon Macie as a member account.

" - } - } - }, - "AssociateS3ResourcesRequest":{ - "type":"structure", - "required":["s3Resources"], - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The ID of the Amazon Macie member account whose resources you want to associate with Macie.

" - }, - "s3Resources":{ - "shape":"S3ResourcesClassification", - "documentation":"

The S3 resources that you want to associate with Amazon Macie for monitoring and data classification.

" - } - } - }, - "AssociateS3ResourcesResult":{ - "type":"structure", - "members":{ - "failedS3Resources":{ - "shape":"FailedS3Resources", - "documentation":"

S3 resources that couldn't be associated with Amazon Macie. An error code and an error message are provided for each failed item.

" - } - } - }, - "BucketName":{ - "type":"string", - "max":500 - }, - "ClassificationType":{ - "type":"structure", - "required":[ - "oneTime", - "continuous" - ], - "members":{ - "oneTime":{ - "shape":"S3OneTimeClassificationType", - "documentation":"

A one-time classification of all of the existing objects in a specified S3 bucket.

" - }, - "continuous":{ - "shape":"S3ContinuousClassificationType", - "documentation":"

A continuous classification of the objects that are added to a specified S3 bucket. Amazon Macie begins performing continuous classification after a bucket is successfully associated with Amazon Macie.

" - } - }, - "documentation":"

The classification type that Amazon Macie applies to the associated S3 resources.

" - }, - "ClassificationTypeUpdate":{ - "type":"structure", - "members":{ - "oneTime":{ - "shape":"S3OneTimeClassificationType", - "documentation":"

A one-time classification of all of the existing objects in a specified S3 bucket.

" - }, - "continuous":{ - "shape":"S3ContinuousClassificationType", - "documentation":"

A continuous classification of the objects that are added to a specified S3 bucket. Amazon Macie begins performing continuous classification after a bucket is successfully associated with Amazon Macie.

" - } - }, - "documentation":"

The classification type that Amazon Macie applies to the associated S3 resources. At least one of the classification types (oneTime or continuous) must be specified.

" - }, - "DisassociateMemberAccountRequest":{ - "type":"structure", - "required":["memberAccountId"], - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The ID of the member account that you want to remove from Amazon Macie.

" - } - } - }, - "DisassociateS3ResourcesRequest":{ - "type":"structure", - "required":["associatedS3Resources"], - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The ID of the Amazon Macie member account whose resources you want to remove from being monitored by Amazon Macie.

" - }, - "associatedS3Resources":{ - "shape":"S3Resources", - "documentation":"

The S3 resources (buckets or prefixes) that you want to remove from being monitored and classified by Amazon Macie.

" - } - } - }, - "DisassociateS3ResourcesResult":{ - "type":"structure", - "members":{ - "failedS3Resources":{ - "shape":"FailedS3Resources", - "documentation":"

S3 resources that couldn't be removed from being monitored and classified by Amazon Macie. An error code and an error message are provided for each failed item.

" - } - } - }, - "ErrorCode":{ - "type":"string", - "documentation":"Error code for the exception", - "max":10 - }, - "ExceptionMessage":{ - "type":"string", - "max":10000 - }, - "FailedS3Resource":{ - "type":"structure", - "members":{ - "failedItem":{ - "shape":"S3Resource", - "documentation":"

The failed S3 resources.

" - }, - "errorCode":{ - "shape":"ErrorCode", - "documentation":"

The status code of a failed item.

" - }, - "errorMessage":{ - "shape":"ExceptionMessage", - "documentation":"

The error message of a failed item.

" - } - }, - "documentation":"

Includes details about the failed S3 resources.

" - }, - "FailedS3Resources":{ - "type":"list", - "member":{"shape":"FailedS3Resource"} - }, - "FieldName":{ - "type":"string", - "documentation":"Field that has invalid input", - "max":1000 - }, - "InternalException":{ - "type":"structure", - "members":{ - "errorCode":{"shape":"ErrorCode"}, - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

Internal server error.

", - "exception":true, - "fault":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "errorCode":{"shape":"ErrorCode"}, - "message":{"shape":"ExceptionMessage"}, - "fieldName":{"shape":"FieldName"} - }, - "documentation":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "errorCode":{"shape":"ErrorCode"}, - "message":{"shape":"ExceptionMessage"}, - "resourceType":{"shape":"ResourceType"} - }, - "documentation":"

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

", - "exception":true - }, - "ListMemberAccountsRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

Use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListMemberAccounts action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

" - } - } - }, - "ListMemberAccountsResult":{ - "type":"structure", - "members":{ - "memberAccounts":{ - "shape":"MemberAccounts", - "documentation":"

A list of the Amazon Macie member accounts returned by the action. The current master account is also included in this list.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "ListS3ResourcesRequest":{ - "type":"structure", - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The Amazon Macie member account ID whose associated S3 resources you want to list.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Use this parameter when paginating results. Set its value to null on your first call to the ListS3Resources action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

" - } - } - }, - "ListS3ResourcesResult":{ - "type":"structure", - "members":{ - "s3Resources":{ - "shape":"S3ResourcesClassification", - "documentation":"

A list of the associated S3 resources returned by the action.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":250 - }, - "MemberAccount":{ - "type":"structure", - "members":{ - "accountId":{ - "shape":"AWSAccountId", - "documentation":"

The AWS account ID of the Amazon Macie member account.

" - } - }, - "documentation":"

Contains information about the Amazon Macie member account.

" - }, - "MemberAccounts":{ - "type":"list", - "member":{"shape":"MemberAccount"} - }, - "NextToken":{ - "type":"string", - "max":500 - }, - "Prefix":{ - "type":"string", - "max":10000 - }, - "ResourceType":{ - "type":"string", - "documentation":"Resource type that caused the exception", - "max":1000 - }, - "S3ContinuousClassificationType":{ - "type":"string", - "enum":["FULL"] - }, - "S3OneTimeClassificationType":{ - "type":"string", - "enum":[ - "FULL", - "NONE" - ] - }, - "S3Resource":{ - "type":"structure", - "required":["bucketName"], - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

The name of the S3 bucket.

" - }, - "prefix":{ - "shape":"Prefix", - "documentation":"

The prefix of the S3 bucket.

" - } - }, - "documentation":"

Contains information about the S3 resource. This data type is used as a request parameter in the DisassociateS3Resources action and can be used as a response parameter in the AssociateS3Resources and UpdateS3Resources actions.

" - }, - "S3ResourceClassification":{ - "type":"structure", - "required":[ - "bucketName", - "classificationType" - ], - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

The name of the S3 bucket that you want to associate with Amazon Macie.

" - }, - "prefix":{ - "shape":"Prefix", - "documentation":"

The prefix of the S3 bucket that you want to associate with Amazon Macie.

" - }, - "classificationType":{ - "shape":"ClassificationType", - "documentation":"

The classification type that you want to specify for the resource associated with Amazon Macie.

" - } - }, - "documentation":"

The S3 resources that you want to associate with Amazon Macie for monitoring and data classification. This data type is used as a request parameter in the AssociateS3Resources action and a response parameter in the ListS3Resources action.

" - }, - "S3ResourceClassificationUpdate":{ - "type":"structure", - "required":[ - "bucketName", - "classificationTypeUpdate" - ], - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

The name of the S3 bucket whose classification types you want to update.

" - }, - "prefix":{ - "shape":"Prefix", - "documentation":"

The prefix of the S3 bucket whose classification types you want to update.

" - }, - "classificationTypeUpdate":{ - "shape":"ClassificationTypeUpdate", - "documentation":"

The classification type that you want to update for the resource associated with Amazon Macie.

" - } - }, - "documentation":"

The S3 resources whose classification types you want to update. This data type is used as a request parameter in the UpdateS3Resources action.

" - }, - "S3Resources":{ - "type":"list", - "member":{"shape":"S3Resource"} - }, - "S3ResourcesClassification":{ - "type":"list", - "member":{"shape":"S3ResourceClassification"} - }, - "S3ResourcesClassificationUpdate":{ - "type":"list", - "member":{"shape":"S3ResourceClassificationUpdate"} - }, - "UpdateS3ResourcesRequest":{ - "type":"structure", - "required":["s3ResourcesUpdate"], - "members":{ - "memberAccountId":{ - "shape":"AWSAccountId", - "documentation":"

The AWS ID of the Amazon Macie member account whose S3 resources' classification types you want to update.

" - }, - "s3ResourcesUpdate":{ - "shape":"S3ResourcesClassificationUpdate", - "documentation":"

The S3 resources whose classification types you want to update.

" - } - } - }, - "UpdateS3ResourcesResult":{ - "type":"structure", - "members":{ - "failedS3Resources":{ - "shape":"FailedS3Resources", - "documentation":"

The S3 resources whose classification types can't be updated. An error code and an error message are provided for each failed item.

" - } - } - } - }, - "documentation":"Amazon Macie

Amazon Macie is a security service that uses machine learning to automatically discover, classify, and protect sensitive data in AWS. Macie recognizes sensitive data such as personally identifiable information (PII) or intellectual property, and provides you with dashboards and alerts that give visibility into how this data is being accessed or moved. For more information, see the Macie User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/service-2.json deleted file mode 100644 index acdee343..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplace-entitlement/2017-01-11/service-2.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-01-11", - "endpointPrefix":"entitlement.marketplace", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Marketplace Entitlement Service", - "serviceId":"Marketplace Entitlement Service", - "signatureVersion":"v4", - "signingName":"aws-marketplace", - "targetPrefix":"AWSMPEntitlementService", - "uid":"entitlement.marketplace-2017-01-11" - }, - "operations":{ - "GetEntitlements":{ - "name":"GetEntitlements", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetEntitlementsRequest"}, - "output":{"shape":"GetEntitlementsResult"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

GetEntitlements retrieves entitlement values for a given product. The results can be filtered based on customer identifier or product dimensions.

" - } - }, - "shapes":{ - "Boolean":{"type":"boolean"}, - "Double":{"type":"double"}, - "Entitlement":{ - "type":"structure", - "members":{ - "ProductCode":{ - "shape":"ProductCode", - "documentation":"

The product code for which the given entitlement applies. Product codes are provided by AWS Marketplace when the product listing is created.

" - }, - "Dimension":{ - "shape":"NonEmptyString", - "documentation":"

The dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.

" - }, - "CustomerIdentifier":{ - "shape":"NonEmptyString", - "documentation":"

The customer identifier is a handle to each unique customer in an application. Customer identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering Service.

" - }, - "Value":{ - "shape":"EntitlementValue", - "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" - }, - "ExpirationDate":{ - "shape":"Timestamp", - "documentation":"

The expiration date represents the minimum date through which this entitlement is expected to remain valid. For contractual products listed on AWS Marketplace, the expiration date is the date at which the customer will renew or cancel their contract. Customers who are opting to renew their contract will still have entitlements with an expiration date.

" - } - }, - "documentation":"

An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

" - }, - "EntitlementList":{ - "type":"list", - "member":{"shape":"Entitlement"}, - "min":0 - }, - "EntitlementValue":{ - "type":"structure", - "members":{ - "IntegerValue":{ - "shape":"Integer", - "documentation":"

The IntegerValue field will be populated with an integer value when the entitlement is an integer type. Otherwise, the field will not be set.

" - }, - "DoubleValue":{ - "shape":"Double", - "documentation":"

The DoubleValue field will be populated with a double value when the entitlement is a double type. Otherwise, the field will not be set.

" - }, - "BooleanValue":{ - "shape":"Boolean", - "documentation":"

The BooleanValue field will be populated with a boolean value when the entitlement is a boolean type. Otherwise, the field will not be set.

" - }, - "StringValue":{ - "shape":"String", - "documentation":"

The StringValue field will be populated with a string value when the entitlement is a string type. Otherwise, the field will not be set.

" - } - }, - "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" - }, - "ErrorMessage":{"type":"string"}, - "FilterValue":{"type":"string"}, - "FilterValueList":{ - "type":"list", - "member":{"shape":"FilterValue"}, - "min":1 - }, - "GetEntitlementFilterName":{ - "type":"string", - "enum":[ - "CUSTOMER_IDENTIFIER", - "DIMENSION" - ] - }, - "GetEntitlementFilters":{ - "type":"map", - "key":{"shape":"GetEntitlementFilterName"}, - "value":{"shape":"FilterValueList"} - }, - "GetEntitlementsRequest":{ - "type":"structure", - "required":["ProductCode"], - "members":{ - "ProductCode":{ - "shape":"ProductCode", - "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code will be provided by AWS Marketplace when the product listing is created.

" - }, - "Filter":{ - "shape":"GetEntitlementFilters", - "documentation":"

Filter is used to return entitlements for a specific customer or for a specific dimension. Filters are described as keys mapped to a lists of values. Filtered requests are unioned for each value in the value list, and then intersected for each filter key.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

For paginated calls to GetEntitlements, pass the NextToken from the previous GetEntitlementsResult.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

The maximum number of items to retrieve from the GetEntitlements operation. For pagination, use the NextToken field in subsequent calls to GetEntitlements.

" - } - }, - "documentation":"

The GetEntitlementsRequest contains parameters for the GetEntitlements operation.

" - }, - "GetEntitlementsResult":{ - "type":"structure", - "members":{ - "Entitlements":{ - "shape":"EntitlementList", - "documentation":"

The set of entitlements found through the GetEntitlements operation. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" - }, - "NextToken":{ - "shape":"NonEmptyString", - "documentation":"

For paginated results, use NextToken in subsequent calls to GetEntitlements. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" - } - }, - "documentation":"

The GetEntitlementsRequest contains results from the GetEntitlements operation.

" - }, - "Integer":{"type":"integer"}, - "InternalServiceErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.

", - "exception":true, - "fault":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

One or more parameters in your request was invalid.

", - "exception":true - }, - "NonEmptyString":{ - "type":"string", - "pattern":"\\S+" - }, - "ProductCode":{ - "type":"string", - "max":255, - "min":1 - }, - "String":{"type":"string"}, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The calls to the GetEntitlements API are throttled.

", - "exception":true - }, - "Timestamp":{"type":"timestamp"} - }, - "documentation":"AWS Marketplace Entitlement Service

This reference provides descriptions of the AWS Marketplace Entitlement Service API.

AWS Marketplace Entitlement Service is used to determine the entitlement of a customer to a given product. An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

Getting Entitlement Records

  • GetEntitlements- Gets the entitlements for a Marketplace product.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json deleted file mode 100644 index 1b773f64..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json +++ /dev/null @@ -1,231 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-07-01", - "endpointPrefix":"marketplacecommerceanalytics", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Marketplace Commerce Analytics", - "serviceId":"Marketplace Commerce Analytics", - "signatureVersion":"v4", - "signingName":"marketplacecommerceanalytics", - "targetPrefix":"MarketplaceCommerceAnalytics20150701", - "uid":"marketplacecommerceanalytics-2015-07-01" - }, - "operations":{ - "GenerateDataSet":{ - "name":"GenerateDataSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GenerateDataSetRequest"}, - "output":{"shape":"GenerateDataSetResult"}, - "errors":[ - {"shape":"MarketplaceCommerceAnalyticsException"} - ], - "documentation":"Given a data set type and data set publication date, asynchronously publishes the requested data set to the specified S3 bucket and notifies the specified SNS topic once the data is available. Returns a unique request identifier that can be used to correlate requests with notifications from the SNS topic. Data sets will be published in comma-separated values (CSV) format with the file name {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already exists (e.g. if the same data set is requested twice), the original file will be overwritten by the new file. Requires a Role with an attached permissions policy providing Allow permissions for the following actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy." - }, - "StartSupportDataExport":{ - "name":"StartSupportDataExport", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartSupportDataExportRequest"}, - "output":{"shape":"StartSupportDataExportResult"}, - "errors":[ - {"shape":"MarketplaceCommerceAnalyticsException"} - ], - "documentation":"Given a data set type and a from date, asynchronously publishes the requested customer support data to the specified S3 bucket and notifies the specified SNS topic once the data is available. Returns a unique request identifier that can be used to correlate requests with notifications from the SNS topic. Data sets will be published in comma-separated values (CSV) format with the file name {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the same name already exists (e.g. if the same data set is requested twice), the original file will be overwritten by the new file. Requires a Role with an attached permissions policy providing Allow permissions for the following actions: s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish, iam:GetRolePolicy." - } - }, - "shapes":{ - "CustomerDefinedValues":{ - "type":"map", - "key":{"shape":"OptionalKey"}, - "value":{"shape":"OptionalValue"}, - "max":5, - "min":1 - }, - "DataSetPublicationDate":{"type":"timestamp"}, - "DataSetRequestId":{"type":"string"}, - "DataSetType":{ - "type":"string", - "enum":[ - "customer_subscriber_hourly_monthly_subscriptions", - "customer_subscriber_annual_subscriptions", - "daily_business_usage_by_instance_type", - "daily_business_fees", - "daily_business_free_trial_conversions", - "daily_business_new_instances", - "daily_business_new_product_subscribers", - "daily_business_canceled_product_subscribers", - "monthly_revenue_billing_and_revenue_data", - "monthly_revenue_annual_subscriptions", - "disbursed_amount_by_product", - "disbursed_amount_by_product_with_uncollected_funds", - "disbursed_amount_by_instance_hours", - "disbursed_amount_by_customer_geo", - "disbursed_amount_by_age_of_uncollected_funds", - "disbursed_amount_by_age_of_disbursed_funds", - "customer_profile_by_industry", - "customer_profile_by_revenue", - "customer_profile_by_geography", - "sales_compensation_billed_revenue", - "us_sales_and_use_tax_records" - ], - "max":255, - "min":1 - }, - "DestinationS3BucketName":{ - "type":"string", - "min":1 - }, - "DestinationS3Prefix":{"type":"string"}, - "ExceptionMessage":{"type":"string"}, - "FromDate":{"type":"timestamp"}, - "GenerateDataSetRequest":{ - "type":"structure", - "required":[ - "dataSetType", - "dataSetPublicationDate", - "roleNameArn", - "destinationS3BucketName", - "snsTopicArn" - ], - "members":{ - "dataSetType":{ - "shape":"DataSetType", - "documentation":"

The desired data set type.

  • customer_subscriber_hourly_monthly_subscriptions

    From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time.

  • customer_subscriber_annual_subscriptions

    From 2014-07-21 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_usage_by_instance_type

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_fees

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_free_trial_conversions

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_new_instances

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_new_product_subscribers

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • daily_business_canceled_product_subscribers

    From 2015-01-26 to present: Available daily by 5:00 PM Pacific Time.

  • monthly_revenue_billing_and_revenue_data

    From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior.

    From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior.

  • monthly_revenue_annual_subscriptions

    From 2015-02 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior.

    From 2017-07 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes up-front software charges (e.g. annual) from one month prior.

  • disbursed_amount_by_product

    From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.

  • disbursed_amount_by_product_with_uncollected_funds

    From 2012-04-19 to 2015-01-25: Available every 30 days by 5:00 PM Pacific Time.

    From 2015-01-26 to present: 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

    From 2012-09-04 to present: Available every 30 days by 5:00 PM Pacific Time.

  • disbursed_amount_by_customer_geo

    From 2012-04-19 to present: Available every 30 days by 5:00 PM Pacific Time.

  • disbursed_amount_by_age_of_uncollected_funds

    From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.

  • disbursed_amount_by_age_of_disbursed_funds

    From 2015-01-26 to present: Available every 30 days by 5:00 PM Pacific Time.

  • customer_profile_by_industry

    From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.

    From 2017-06-30 to present: This data set is no longer available.

  • customer_profile_by_revenue

    From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.

    From 2017-06-30 to present: This data set is no longer available.

  • customer_profile_by_geography

    From 2015-10-01 to 2017-06-29: Available daily by 5:00 PM Pacific Time.

    From 2017-06-30 to present: This data set is no longer available.

  • sales_compensation_billed_revenue

    From 2016-12 to 2017-06: Available monthly on the 4th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from two months prior, and up-front software charges (e.g. annual) from one month prior.

    From 2017-06 to present: Available monthly on the 15th day of the month by 5:00pm Pacific Time. Data includes metered transactions (e.g. hourly) from one month prior, and up-front software charges (e.g. annual) from one month prior.

  • us_sales_and_use_tax_records

    From 2017-02-15 to present: Available monthly on the 15th day of the month by 5:00 PM Pacific Time.

" - }, - "dataSetPublicationDate":{ - "shape":"DataSetPublicationDate", - "documentation":"The date a data set was published. For daily data sets, provide a date with day-level granularity for the desired day. For weekly data sets, provide a date with day-level granularity within the desired week (the day value will be ignored). For monthly data sets, provide a date with month-level granularity for the desired month (the day value will be ignored)." - }, - "roleNameArn":{ - "shape":"RoleNameArn", - "documentation":"The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided AWS services." - }, - "destinationS3BucketName":{ - "shape":"DestinationS3BucketName", - "documentation":"The name (friendly name, not ARN) of the destination S3 bucket." - }, - "destinationS3Prefix":{ - "shape":"DestinationS3Prefix", - "documentation":"(Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. For example, if given the bucket name \"mybucket\" and the prefix \"myprefix/mydatasets\", the output file \"outputfile\" would be published to \"s3://mybucket/myprefix/mydatasets/outputfile\". If the prefix directory structure does not exist, it will be created. If no prefix is provided, the data set will be published to the S3 bucket root." - }, - "snsTopicArn":{ - "shape":"SnsTopicArn", - "documentation":"Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an error has occurred." - }, - "customerDefinedValues":{ - "shape":"CustomerDefinedValues", - "documentation":"(Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS notification message and the data set metadata file. These key-value pairs can be used to correlated responses with tracking information from other systems." - } - }, - "documentation":"Container for the parameters to the GenerateDataSet operation." - }, - "GenerateDataSetResult":{ - "type":"structure", - "members":{ - "dataSetRequestId":{ - "shape":"DataSetRequestId", - "documentation":"A unique identifier representing a specific request to the GenerateDataSet operation. This identifier can be used to correlate a request with notifications from the SNS topic." - } - }, - "documentation":"Container for the result of the GenerateDataSet operation." - }, - "MarketplaceCommerceAnalyticsException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"This message describes details of the error." - } - }, - "documentation":"This exception is thrown when an internal service error occurs.", - "exception":true, - "fault":true - }, - "OptionalKey":{ - "type":"string", - "max":255, - "min":1 - }, - "OptionalValue":{ - "type":"string", - "max":255, - "min":1 - }, - "RoleNameArn":{ - "type":"string", - "min":1 - }, - "SnsTopicArn":{ - "type":"string", - "min":1 - }, - "StartSupportDataExportRequest":{ - "type":"structure", - "required":[ - "dataSetType", - "fromDate", - "roleNameArn", - "destinationS3BucketName", - "snsTopicArn" - ], - "members":{ - "dataSetType":{ - "shape":"SupportDataSetType", - "documentation":"

Specifies the data set type to be written to the output csv file. The data set types customer_support_contacts_data and test_customer_support_contacts_data both result in a csv file containing the following fields: Product Id, Product Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization, AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country Code, ZIP Code, Operation Type, and Operation Time.

  • customer_support_contacts_data Customer support contact data. The data set will contain all changes (Creates, Updates, and Deletes) to customer support contact data from the date specified in the from_date parameter.
  • test_customer_support_contacts_data An example data set containing static test data in the same format as customer_support_contacts_data

" - }, - "fromDate":{ - "shape":"FromDate", - "documentation":"The start date from which to retrieve the data set in UTC. This parameter only affects the customer_support_contacts_data data set type." - }, - "roleNameArn":{ - "shape":"RoleNameArn", - "documentation":"The Amazon Resource Name (ARN) of the Role with an attached permissions policy to interact with the provided AWS services." - }, - "destinationS3BucketName":{ - "shape":"DestinationS3BucketName", - "documentation":"The name (friendly name, not ARN) of the destination S3 bucket." - }, - "destinationS3Prefix":{ - "shape":"DestinationS3Prefix", - "documentation":"(Optional) The desired S3 prefix for the published data set, similar to a directory path in standard file systems. For example, if given the bucket name \"mybucket\" and the prefix \"myprefix/mydatasets\", the output file \"outputfile\" would be published to \"s3://mybucket/myprefix/mydatasets/outputfile\". If the prefix directory structure does not exist, it will be created. If no prefix is provided, the data set will be published to the S3 bucket root." - }, - "snsTopicArn":{ - "shape":"SnsTopicArn", - "documentation":"Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data set has been published or if an error has occurred." - }, - "customerDefinedValues":{ - "shape":"CustomerDefinedValues", - "documentation":"(Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS notification message and the data set metadata file." - } - }, - "documentation":"Container for the parameters to the StartSupportDataExport operation." - }, - "StartSupportDataExportResult":{ - "type":"structure", - "members":{ - "dataSetRequestId":{ - "shape":"DataSetRequestId", - "documentation":"A unique identifier representing a specific request to the StartSupportDataExport operation. This identifier can be used to correlate a request with notifications from the SNS topic." - } - }, - "documentation":"Container for the result of the StartSupportDataExport operation." - }, - "SupportDataSetType":{ - "type":"string", - "enum":[ - "customer_support_contacts_data", - "test_customer_support_contacts_data" - ], - "max":255, - "min":1 - } - }, - "documentation":"Provides AWS Marketplace business intelligence data on-demand." -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediaconvert/2017-08-29/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediaconvert/2017-08-29/service-2.json deleted file mode 100644 index a9c207c3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediaconvert/2017-08-29/service-2.json +++ /dev/null @@ -1,8087 +0,0 @@ -{ - "metadata": { - "apiVersion": "2017-08-29", - "endpointPrefix": "mediaconvert", - "signingName": "mediaconvert", - "serviceFullName": "AWS Elemental MediaConvert", - "serviceId": "MediaConvert", - "protocol": "rest-json", - "jsonVersion": "1.1", - "uid": "mediaconvert-2017-08-29", - "signatureVersion": "v4", - "serviceAbbreviation": "MediaConvert" - }, - "operations": { - "CancelJob": { - "name": "CancelJob", - "http": { - "method": "DELETE", - "requestUri": "/2017-08-29/jobs/{id}", - "responseCode": 202 - }, - "input": { - "shape": "CancelJobRequest" - }, - "output": { - "shape": "CancelJobResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Permanently remove a job from a queue. Once you have canceled a job, you can't start it again. You can't delete a running job." - }, - "CreateJob": { - "name": "CreateJob", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/jobs", - "responseCode": 201 - }, - "input": { - "shape": "CreateJobRequest" - }, - "output": { - "shape": "CreateJobResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Create a new transcoding job. For information about jobs and job settings, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "CreateJobTemplate": { - "name": "CreateJobTemplate", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/jobTemplates", - "responseCode": 201 - }, - "input": { - "shape": "CreateJobTemplateRequest" - }, - "output": { - "shape": "CreateJobTemplateResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Create a new job template. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "CreatePreset": { - "name": "CreatePreset", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/presets", - "responseCode": 201 - }, - "input": { - "shape": "CreatePresetRequest" - }, - "output": { - "shape": "CreatePresetResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Create a new preset. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "CreateQueue": { - "name": "CreateQueue", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/queues", - "responseCode": 201 - }, - "input": { - "shape": "CreateQueueRequest" - }, - "output": { - "shape": "CreateQueueResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Create a new transcoding queue. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "DeleteJobTemplate": { - "name": "DeleteJobTemplate", - "http": { - "method": "DELETE", - "requestUri": "/2017-08-29/jobTemplates/{name}", - "responseCode": 202 - }, - "input": { - "shape": "DeleteJobTemplateRequest" - }, - "output": { - "shape": "DeleteJobTemplateResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Permanently delete a job template you have created." - }, - "DeletePreset": { - "name": "DeletePreset", - "http": { - "method": "DELETE", - "requestUri": "/2017-08-29/presets/{name}", - "responseCode": 202 - }, - "input": { - "shape": "DeletePresetRequest" - }, - "output": { - "shape": "DeletePresetResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Permanently delete a preset you have created." - }, - "DeleteQueue": { - "name": "DeleteQueue", - "http": { - "method": "DELETE", - "requestUri": "/2017-08-29/queues/{name}", - "responseCode": 202 - }, - "input": { - "shape": "DeleteQueueRequest" - }, - "output": { - "shape": "DeleteQueueResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Permanently delete a queue you have created." - }, - "DescribeEndpoints": { - "name": "DescribeEndpoints", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/endpoints", - "responseCode": 200 - }, - "input": { - "shape": "DescribeEndpointsRequest" - }, - "output": { - "shape": "DescribeEndpointsResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "BadRequestException" - }, - { - "shape": "InternalServerErrorException", - "documentation": "InternalServiceException" - }, - { - "shape": "ForbiddenException", - "documentation": "AccessDeniedException" - }, - { - "shape": "NotFoundException", - "documentation": "ResourceNotFoundException" - }, - { - "shape": "TooManyRequestsException", - "documentation": "LimitExceededException" - }, - { - "shape": "ConflictException", - "documentation": "ResourceInUseException" - } - ], - "documentation": "Send an request with an empty body to the regional API endpoint to get your account API endpoint." - }, - "GetJob": { - "name": "GetJob", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/jobs/{id}", - "responseCode": 200 - }, - "input": { - "shape": "GetJobRequest" - }, - "output": { - "shape": "GetJobResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve the JSON for a specific completed transcoding job." - }, - "GetJobTemplate": { - "name": "GetJobTemplate", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/jobTemplates/{name}", - "responseCode": 200 - }, - "input": { - "shape": "GetJobTemplateRequest" - }, - "output": { - "shape": "GetJobTemplateResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve the JSON for a specific job template." - }, - "GetPreset": { - "name": "GetPreset", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/presets/{name}", - "responseCode": 200 - }, - "input": { - "shape": "GetPresetRequest" - }, - "output": { - "shape": "GetPresetResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve the JSON for a specific preset." - }, - "GetQueue": { - "name": "GetQueue", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/queues/{name}", - "responseCode": 200 - }, - "input": { - "shape": "GetQueueRequest" - }, - "output": { - "shape": "GetQueueResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve the JSON for a specific queue." - }, - "ListJobTemplates": { - "name": "ListJobTemplates", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/jobTemplates", - "responseCode": 200 - }, - "input": { - "shape": "ListJobTemplatesRequest" - }, - "output": { - "shape": "ListJobTemplatesResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve a JSON array of up to twenty of your job templates. This will return the templates themselves, not just a list of them. To retrieve the next twenty templates, use the nextToken string returned with the array" - }, - "ListJobs": { - "name": "ListJobs", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/jobs", - "responseCode": 200 - }, - "input": { - "shape": "ListJobsRequest" - }, - "output": { - "shape": "ListJobsResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve a JSON array of up to twenty of your most recently created jobs. This array includes in-process, completed, and errored jobs. This will return the jobs themselves, not just a list of the jobs. To retrieve the twenty next most recent jobs, use the nextToken string returned with the array." - }, - "ListPresets": { - "name": "ListPresets", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/presets", - "responseCode": 200 - }, - "input": { - "shape": "ListPresetsRequest" - }, - "output": { - "shape": "ListPresetsResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve a JSON array of up to twenty of your presets. This will return the presets themselves, not just a list of them. To retrieve the next twenty presets, use the nextToken string returned with the array." - }, - "ListQueues": { - "name": "ListQueues", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/queues", - "responseCode": 200 - }, - "input": { - "shape": "ListQueuesRequest" - }, - "output": { - "shape": "ListQueuesResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve a JSON array of up to twenty of your queues. This will return the queues themselves, not just a list of them. To retrieve the next twenty queues, use the nextToken string returned with the array." - }, - "ListTagsForResource": { - "name": "ListTagsForResource", - "http": { - "method": "GET", - "requestUri": "/2017-08-29/tags/{arn}", - "responseCode": 200 - }, - "input": { - "shape": "ListTagsForResourceRequest" - }, - "output": { - "shape": "ListTagsForResourceResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Retrieve the tags for a MediaConvert resource." - }, - "TagResource": { - "name": "TagResource", - "http": { - "method": "POST", - "requestUri": "/2017-08-29/tags", - "responseCode": 200 - }, - "input": { - "shape": "TagResourceRequest" - }, - "output": { - "shape": "TagResourceResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Tag a MediaConvert queue, preset, or job template. For information about these resource types, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "UntagResource": { - "name": "UntagResource", - "http": { - "method": "DELETE", - "requestUri": "/2017-08-29/tags", - "responseCode": 200 - }, - "input": { - "shape": "UntagResourceRequest" - }, - "output": { - "shape": "UntagResourceResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Untag a MediaConvert queue, preset, or job template. For information about these resource types, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "UpdateJobTemplate": { - "name": "UpdateJobTemplate", - "http": { - "method": "PUT", - "requestUri": "/2017-08-29/jobTemplates/{name}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateJobTemplateRequest" - }, - "output": { - "shape": "UpdateJobTemplateResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Modify one of your existing job templates." - }, - "UpdatePreset": { - "name": "UpdatePreset", - "http": { - "method": "PUT", - "requestUri": "/2017-08-29/presets/{name}", - "responseCode": 200 - }, - "input": { - "shape": "UpdatePresetRequest" - }, - "output": { - "shape": "UpdatePresetResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Modify one of your existing presets." - }, - "UpdateQueue": { - "name": "UpdateQueue", - "http": { - "method": "PUT", - "requestUri": "/2017-08-29/queues/{name}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateQueueRequest" - }, - "output": { - "shape": "UpdateQueueResponse" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - { - "shape": "InternalServerErrorException", - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - { - "shape": "ForbiddenException", - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - { - "shape": "NotFoundException", - "documentation": "The resource you requested does not exist." - }, - { - "shape": "TooManyRequestsException", - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - { - "shape": "ConflictException", - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - } - ], - "documentation": "Modify one of your existing queues." - } - }, - "shapes": { - "AacAudioDescriptionBroadcasterMix": { - "type": "string", - "documentation": "Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you provide for AudioType and FollowInputAudioType.", - "enum": [ - "BROADCASTER_MIXED_AD", - "NORMAL" - ] - }, - "AacCodecProfile": { - "type": "string", - "documentation": "AAC Profile.", - "enum": [ - "LC", - "HEV1", - "HEV2" - ] - }, - "AacCodingMode": { - "type": "string", - "documentation": "Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. \"1.0 - Audio Description (Receiver Mix)\" setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E.", - "enum": [ - "AD_RECEIVER_MIX", - "CODING_MODE_1_0", - "CODING_MODE_1_1", - "CODING_MODE_2_0", - "CODING_MODE_5_1" - ] - }, - "AacRateControlMode": { - "type": "string", - "documentation": "Rate Control Mode.", - "enum": [ - "CBR", - "VBR" - ] - }, - "AacRawFormat": { - "type": "string", - "documentation": "Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose \"No container\" for the output container.", - "enum": [ - "LATM_LOAS", - "NONE" - ] - }, - "AacSettings": { - "type": "structure", - "members": { - "AudioDescriptionBroadcasterMix": { - "shape": "AacAudioDescriptionBroadcasterMix", - "locationName": "audioDescriptionBroadcasterMix" - }, - "Bitrate": { - "shape": "__integerMin6000Max1024000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Defaults and valid values depend on rate control mode and profile." - }, - "CodecProfile": { - "shape": "AacCodecProfile", - "locationName": "codecProfile" - }, - "CodingMode": { - "shape": "AacCodingMode", - "locationName": "codingMode" - }, - "RateControlMode": { - "shape": "AacRateControlMode", - "locationName": "rateControlMode" - }, - "RawFormat": { - "shape": "AacRawFormat", - "locationName": "rawFormat" - }, - "SampleRate": { - "shape": "__integerMin8000Max96000", - "locationName": "sampleRate", - "documentation": "Sample rate in Hz. Valid values depend on rate control mode and profile." - }, - "Specification": { - "shape": "AacSpecification", - "locationName": "specification" - }, - "VbrQuality": { - "shape": "AacVbrQuality", - "locationName": "vbrQuality" - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to \"VBR\" or \"CBR\". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode." - }, - "AacSpecification": { - "type": "string", - "documentation": "Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.", - "enum": [ - "MPEG2", - "MPEG4" - ] - }, - "AacVbrQuality": { - "type": "string", - "documentation": "VBR Quality Level - Only used if rate_control_mode is VBR.", - "enum": [ - "LOW", - "MEDIUM_LOW", - "MEDIUM_HIGH", - "HIGH" - ] - }, - "Ac3BitstreamMode": { - "type": "string", - "documentation": "Specifies the \"Bitstream Mode\" (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values.", - "enum": [ - "COMPLETE_MAIN", - "COMMENTARY", - "DIALOGUE", - "EMERGENCY", - "HEARING_IMPAIRED", - "MUSIC_AND_EFFECTS", - "VISUALLY_IMPAIRED", - "VOICE_OVER" - ] - }, - "Ac3CodingMode": { - "type": "string", - "documentation": "Dolby Digital coding mode. Determines number of channels.", - "enum": [ - "CODING_MODE_1_0", - "CODING_MODE_1_1", - "CODING_MODE_2_0", - "CODING_MODE_3_2_LFE" - ] - }, - "Ac3DynamicRangeCompressionProfile": { - "type": "string", - "documentation": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification.", - "enum": [ - "FILM_STANDARD", - "NONE" - ] - }, - "Ac3LfeFilter": { - "type": "string", - "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "Ac3MetadataControl": { - "type": "string", - "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ] - }, - "Ac3Settings": { - "type": "structure", - "members": { - "Bitrate": { - "shape": "__integerMin64000Max640000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." - }, - "BitstreamMode": { - "shape": "Ac3BitstreamMode", - "locationName": "bitstreamMode" - }, - "CodingMode": { - "shape": "Ac3CodingMode", - "locationName": "codingMode" - }, - "Dialnorm": { - "shape": "__integerMin1Max31", - "locationName": "dialnorm", - "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through." - }, - "DynamicRangeCompressionProfile": { - "shape": "Ac3DynamicRangeCompressionProfile", - "locationName": "dynamicRangeCompressionProfile" - }, - "LfeFilter": { - "shape": "Ac3LfeFilter", - "locationName": "lfeFilter" - }, - "MetadataControl": { - "shape": "Ac3MetadataControl", - "locationName": "metadataControl" - }, - "SampleRate": { - "shape": "__integerMin48000Max48000", - "locationName": "sampleRate", - "documentation": "Sample rate in hz. Sample rate is always 48000." - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3." - }, - "AfdSignaling": { - "type": "string", - "documentation": "This setting only applies to H.264 and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data.", - "enum": [ - "NONE", - "AUTO", - "FIXED" - ] - }, - "AiffSettings": { - "type": "structure", - "members": { - "BitDepth": { - "shape": "__integerMin16Max24", - "locationName": "bitDepth", - "documentation": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track." - }, - "Channels": { - "shape": "__integerMin1Max2", - "locationName": "channels", - "documentation": "Set Channels to specify the number of channels in this output audio track. Choosing Mono in the console will give you 1 output channel; choosing Stereo will give you 2. In the API, valid values are 1 and 2." - }, - "SampleRate": { - "shape": "__integerMin8000Max192000", - "locationName": "sampleRate", - "documentation": "Sample rate in hz." - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF." - }, - "AncillarySourceSettings": { - "type": "structure", - "members": { - "SourceAncillaryChannelNumber": { - "shape": "__integerMin1Max4", - "locationName": "sourceAncillaryChannelNumber", - "documentation": "Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for passthrough." - } - }, - "documentation": "Settings for ancillary captions source." - }, - "AntiAlias": { - "type": "string", - "documentation": "Enable Anti-alias (AntiAlias) to enhance sharp edges in video output when your input resolution is much larger than your output resolution. Default is enabled.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "AudioCodec": { - "type": "string", - "documentation": "Type of Audio codec.", - "enum": [ - "AAC", - "MP2", - "WAV", - "AIFF", - "AC3", - "EAC3", - "PASSTHROUGH" - ] - }, - "AudioCodecSettings": { - "type": "structure", - "members": { - "AacSettings": { - "shape": "AacSettings", - "locationName": "aacSettings" - }, - "Ac3Settings": { - "shape": "Ac3Settings", - "locationName": "ac3Settings" - }, - "AiffSettings": { - "shape": "AiffSettings", - "locationName": "aiffSettings" - }, - "Codec": { - "shape": "AudioCodec", - "locationName": "codec" - }, - "Eac3Settings": { - "shape": "Eac3Settings", - "locationName": "eac3Settings" - }, - "Mp2Settings": { - "shape": "Mp2Settings", - "locationName": "mp2Settings" - }, - "WavSettings": { - "shape": "WavSettings", - "locationName": "wavSettings" - } - }, - "documentation": "Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value you choose for Audio codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings" - }, - "AudioDefaultSelection": { - "type": "string", - "documentation": "Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio.", - "enum": [ - "DEFAULT", - "NOT_DEFAULT" - ] - }, - "AudioDescription": { - "type": "structure", - "members": { - "AudioNormalizationSettings": { - "shape": "AudioNormalizationSettings", - "locationName": "audioNormalizationSettings" - }, - "AudioSourceName": { - "shape": "__string", - "locationName": "audioSourceName", - "documentation": "Specifies which audio data to use from each input. In the simplest case, specify an \"Audio Selector\":#inputs-audio_selector by name based on its order within each input. For example if you specify \"Audio Selector 3\", then the third audio selector will be used from each input. If an input does not have an \"Audio Selector 3\", then the audio selector marked as \"default\" in that input will be used. If there is no audio selector marked as \"default\", silence will be inserted for the duration of that input. Alternatively, an \"Audio Selector Group\":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then \"Audio Selector 1\" will be chosen automatically." - }, - "AudioType": { - "shape": "__integerMin0Max255", - "locationName": "audioType", - "documentation": "Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved." - }, - "AudioTypeControl": { - "shape": "AudioTypeControl", - "locationName": "audioTypeControl" - }, - "CodecSettings": { - "shape": "AudioCodecSettings", - "locationName": "codecSettings" - }, - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "Specify the language for this audio output track, using the ISO 639-2 or ISO 639-3 three-letter language code. The language specified will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input." - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode", - "documentation": "Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input." - }, - "LanguageCodeControl": { - "shape": "AudioLanguageCodeControl", - "locationName": "languageCodeControl" - }, - "RemixSettings": { - "shape": "RemixSettings", - "locationName": "remixSettings", - "documentation": "Advanced audio remixing settings." - }, - "StreamName": { - "shape": "__stringPatternWS", - "locationName": "streamName", - "documentation": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary). Alphanumeric characters, spaces, and underscore are legal." - } - }, - "documentation": "Description of audio output" - }, - "AudioLanguageCodeControl": { - "type": "string", - "documentation": "Choosing FOLLOW_INPUT will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The language specified for languageCode' will be used when USE_CONFIGURED is selected or when FOLLOW_INPUT is selected but there is no ISO 639 language code specified by the input.", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ] - }, - "AudioNormalizationAlgorithm": { - "type": "string", - "documentation": "Audio normalization algorithm to use. 1770-1 conforms to the CALM Act specification, 1770-2 conforms to the EBU R-128 specification.", - "enum": [ - "ITU_BS_1770_1", - "ITU_BS_1770_2" - ] - }, - "AudioNormalizationAlgorithmControl": { - "type": "string", - "documentation": "When enabled the output audio is corrected using the chosen algorithm. If disabled, the audio will be measured but not adjusted.", - "enum": [ - "CORRECT_AUDIO", - "MEASURE_ONLY" - ] - }, - "AudioNormalizationLoudnessLogging": { - "type": "string", - "documentation": "If set to LOG, log each output's audio track loudness to a CSV file.", - "enum": [ - "LOG", - "DONT_LOG" - ] - }, - "AudioNormalizationPeakCalculation": { - "type": "string", - "documentation": "If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio track loudness.", - "enum": [ - "TRUE_PEAK", - "NONE" - ] - }, - "AudioNormalizationSettings": { - "type": "structure", - "members": { - "Algorithm": { - "shape": "AudioNormalizationAlgorithm", - "locationName": "algorithm" - }, - "AlgorithmControl": { - "shape": "AudioNormalizationAlgorithmControl", - "locationName": "algorithmControl" - }, - "CorrectionGateLevel": { - "shape": "__integerMinNegative70Max0", - "locationName": "correctionGateLevel", - "documentation": "Content measuring above this level will be corrected to the target level. Content measuring below this level will not be corrected. Gating only applies when not using real_time_correction." - }, - "LoudnessLogging": { - "shape": "AudioNormalizationLoudnessLogging", - "locationName": "loudnessLogging" - }, - "PeakCalculation": { - "shape": "AudioNormalizationPeakCalculation", - "locationName": "peakCalculation" - }, - "TargetLkfs": { - "shape": "__doubleMinNegative59Max0", - "locationName": "targetLkfs", - "documentation": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS." - } - }, - "documentation": "Advanced audio normalization settings." - }, - "AudioSelector": { - "type": "structure", - "members": { - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code" - }, - "DefaultSelection": { - "shape": "AudioDefaultSelection", - "locationName": "defaultSelection" - }, - "ExternalAudioFileInput": { - "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE", - "locationName": "externalAudioFileInput", - "documentation": "Specifies audio data from an external file source." - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode", - "documentation": "Selects a specific language code from within an audio source." - }, - "Offset": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "offset", - "documentation": "Specifies a time delta in milliseconds to offset the audio from the input video." - }, - "Pids": { - "shape": "__listOf__integerMin1Max2147483647", - "locationName": "pids", - "documentation": "Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101)." - }, - "ProgramSelection": { - "shape": "__integerMin0Max8", - "locationName": "programSelection", - "documentation": "Use this setting for input streams that contain Dolby E, to have the service extract specific program data from the track. To select multiple programs, create multiple selectors with the same Track and different Program numbers. In the console, this setting is visible when you set Selector type to Track. Choose the program number from the dropdown list. If you are sending a JSON file, provide the program ID, which is part of the audio metadata. If your input file has incorrect metadata, you can choose All channels instead of a program number to have the service ignore the program IDs and include all the programs in the track." - }, - "RemixSettings": { - "shape": "RemixSettings", - "locationName": "remixSettings", - "documentation": "Use these settings to reorder the audio channels of one input to match those of another input. This allows you to combine the two files into a single output, one after the other." - }, - "SelectorType": { - "shape": "AudioSelectorType", - "locationName": "selectorType" - }, - "Tracks": { - "shape": "__listOf__integerMin1Max2147483647", - "locationName": "tracks", - "documentation": "Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For examle, type \"1,2,3\" to include tracks 1 through 3. Specifying directly in your JSON job file, provide the track numbers in an array. For example, \"tracks\": [1,2,3]." - } - }, - "documentation": "Selector for Audio" - }, - "AudioSelectorGroup": { - "type": "structure", - "members": { - "AudioSelectorNames": { - "shape": "__listOf__stringMin1", - "locationName": "audioSelectorNames", - "documentation": "Name of an Audio Selector within the same input to include in the group. Audio selector names are standardized, based on their order within the input (e.g., \"Audio Selector 1\"). The audio selector name parameter can be repeated to add any number of audio selectors to the group." - } - }, - "documentation": "Group of Audio Selectors" - }, - "AudioSelectorType": { - "type": "string", - "documentation": "Specifies the type of the audio selector.", - "enum": [ - "PID", - "TRACK", - "LANGUAGE_CODE" - ] - }, - "AudioTypeControl": { - "type": "string", - "documentation": "When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ] - }, - "AvailBlanking": { - "type": "structure", - "members": { - "AvailBlankingImage": { - "shape": "__stringMin14PatternS3BmpBMPPngPNG", - "locationName": "availBlankingImage", - "documentation": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported." - } - }, - "documentation": "Settings for Avail Blanking" - }, - "BadRequestException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 400 - }, - "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." - }, - "BurninDestinationSettings": { - "type": "structure", - "members": { - "Alignment": { - "shape": "BurninSubtitleAlignment", - "locationName": "alignment" - }, - "BackgroundColor": { - "shape": "BurninSubtitleBackgroundColor", - "locationName": "backgroundColor" - }, - "BackgroundOpacity": { - "shape": "__integerMin0Max255", - "locationName": "backgroundOpacity", - "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "FontColor": { - "shape": "BurninSubtitleFontColor", - "locationName": "fontColor" - }, - "FontOpacity": { - "shape": "__integerMin0Max255", - "locationName": "fontOpacity", - "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match." - }, - "FontResolution": { - "shape": "__integerMin96Max600", - "locationName": "fontResolution", - "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." - }, - "FontSize": { - "shape": "__integerMin0Max96", - "locationName": "fontSize", - "documentation": "A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match." - }, - "OutlineColor": { - "shape": "BurninSubtitleOutlineColor", - "locationName": "outlineColor" - }, - "OutlineSize": { - "shape": "__integerMin0Max10", - "locationName": "outlineSize", - "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "ShadowColor": { - "shape": "BurninSubtitleShadowColor", - "locationName": "shadowColor" - }, - "ShadowOpacity": { - "shape": "__integerMin0Max255", - "locationName": "shadowOpacity", - "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "ShadowXOffset": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "shadowXOffset", - "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." - }, - "ShadowYOffset": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "shadowYOffset", - "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." - }, - "TeletextSpacing": { - "shape": "BurninSubtitleTeletextSpacing", - "locationName": "teletextSpacing" - }, - "XPosition": { - "shape": "__integerMin0Max2147483647", - "locationName": "xPosition", - "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "YPosition": { - "shape": "__integerMin0Max2147483647", - "locationName": "yPosition", - "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - } - }, - "documentation": "Burn-In Destination Settings." - }, - "BurninSubtitleAlignment": { - "type": "string", - "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "CENTERED", - "LEFT" - ] - }, - "BurninSubtitleBackgroundColor": { - "type": "string", - "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match.", - "enum": [ - "NONE", - "BLACK", - "WHITE" - ] - }, - "BurninSubtitleFontColor": { - "type": "string", - "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "WHITE", - "BLACK", - "YELLOW", - "RED", - "GREEN", - "BLUE" - ] - }, - "BurninSubtitleOutlineColor": { - "type": "string", - "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "BLACK", - "WHITE", - "YELLOW", - "RED", - "GREEN", - "BLUE" - ] - }, - "BurninSubtitleShadowColor": { - "type": "string", - "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match.", - "enum": [ - "NONE", - "BLACK", - "WHITE" - ] - }, - "BurninSubtitleTeletextSpacing": { - "type": "string", - "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption.", - "enum": [ - "FIXED_GRID", - "PROPORTIONAL" - ] - }, - "CancelJobRequest": { - "type": "structure", - "members": { - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The Job ID of the job to be cancelled.", - "location": "uri" - } - }, - "required": [ - "Id" - ] - }, - "CancelJobResponse": { - "type": "structure", - "members": { - } - }, - "CaptionDescription": { - "type": "structure", - "members": { - "CaptionSelectorName": { - "shape": "__stringMin1", - "locationName": "captionSelectorName", - "documentation": "Specifies which \"Caption Selector\":#inputs-caption_selector to use from each input when generating captions. The name should be of the format \"Caption Selector \", which denotes that the Nth Caption Selector will be used from each input." - }, - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code" - }, - "DestinationSettings": { - "shape": "CaptionDestinationSettings", - "locationName": "destinationSettings" - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode", - "documentation": "Indicates the language of the caption output track." - }, - "LanguageDescription": { - "shape": "__string", - "locationName": "languageDescription", - "documentation": "Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal." - } - }, - "documentation": "Description of Caption output" - }, - "CaptionDescriptionPreset": { - "type": "structure", - "members": { - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "Indicates the language of the caption output track, using the ISO 639-2 or ISO 639-3 three-letter language code" - }, - "DestinationSettings": { - "shape": "CaptionDestinationSettings", - "locationName": "destinationSettings" - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode", - "documentation": "Indicates the language of the caption output track." - }, - "LanguageDescription": { - "shape": "__string", - "locationName": "languageDescription", - "documentation": "Human readable information to indicate captions available for players (eg. English, or Spanish). Alphanumeric characters, spaces, and underscore are legal." - } - }, - "documentation": "Caption Description for preset" - }, - "CaptionDestinationSettings": { - "type": "structure", - "members": { - "BurninDestinationSettings": { - "shape": "BurninDestinationSettings", - "locationName": "burninDestinationSettings" - }, - "DestinationType": { - "shape": "CaptionDestinationType", - "locationName": "destinationType" - }, - "DvbSubDestinationSettings": { - "shape": "DvbSubDestinationSettings", - "locationName": "dvbSubDestinationSettings" - }, - "SccDestinationSettings": { - "shape": "SccDestinationSettings", - "locationName": "sccDestinationSettings" - }, - "TeletextDestinationSettings": { - "shape": "TeletextDestinationSettings", - "locationName": "teletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "shape": "TtmlDestinationSettings", - "locationName": "ttmlDestinationSettings" - } - }, - "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." - }, - "CaptionDestinationType": { - "type": "string", - "documentation": "Type of Caption output, including Burn-In, Embedded, SCC, SRT, TTML, WebVTT, DVB-Sub, Teletext.", - "enum": [ - "BURN_IN", - "DVB_SUB", - "EMBEDDED", - "SCC", - "SRT", - "TELETEXT", - "TTML", - "WEBVTT" - ] - }, - "CaptionSelector": { - "type": "structure", - "members": { - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "The specific language to extract from source, using the ISO 639-2 or ISO 639-3 three-letter language code. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions." - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode", - "documentation": "The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions." - }, - "SourceSettings": { - "shape": "CaptionSourceSettings", - "locationName": "sourceSettings" - } - }, - "documentation": "Set up captions in your outputs by first selecting them from your input here." - }, - "CaptionSourceSettings": { - "type": "structure", - "members": { - "AncillarySourceSettings": { - "shape": "AncillarySourceSettings", - "locationName": "ancillarySourceSettings" - }, - "DvbSubSourceSettings": { - "shape": "DvbSubSourceSettings", - "locationName": "dvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "shape": "EmbeddedSourceSettings", - "locationName": "embeddedSourceSettings" - }, - "FileSourceSettings": { - "shape": "FileSourceSettings", - "locationName": "fileSourceSettings" - }, - "SourceType": { - "shape": "CaptionSourceType", - "locationName": "sourceType" - }, - "TeletextSourceSettings": { - "shape": "TeletextSourceSettings", - "locationName": "teletextSourceSettings" - } - }, - "documentation": "Source settings (SourceSettings) contains the group of settings for captions in the input." - }, - "CaptionSourceType": { - "type": "string", - "documentation": "Use Source (SourceType) to identify the format of your input captions. The service cannot auto-detect caption format.", - "enum": [ - "ANCILLARY", - "DVB_SUB", - "EMBEDDED", - "SCC", - "TTML", - "STL", - "SRT", - "TELETEXT", - "NULL_SOURCE" - ] - }, - "ChannelMapping": { - "type": "structure", - "members": { - "OutputChannels": { - "shape": "__listOfOutputChannelMapping", - "locationName": "outputChannels", - "documentation": "List of output channels" - } - }, - "documentation": "Channel mapping (ChannelMapping) contains the group of fields that hold the remixing value for each channel. Units are in dB. Acceptable values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or amplification)." - }, - "CmafClientCache": { - "type": "string", - "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "CmafCodecSpecification": { - "type": "string", - "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.", - "enum": [ - "RFC_6381", - "RFC_4281" - ] - }, - "CmafEncryptionSettings": { - "type": "structure", - "members": { - "ConstantInitializationVector": { - "shape": "__stringMin32Max32Pattern09aFAF32", - "locationName": "constantInitializationVector", - "documentation": "This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default." - }, - "EncryptionMethod": { - "shape": "CmafEncryptionType", - "locationName": "encryptionMethod" - }, - "InitializationVectorInManifest": { - "shape": "CmafInitializationVectorInManifest", - "locationName": "initializationVectorInManifest" - }, - "StaticKeyProvider": { - "shape": "StaticKeyProvider", - "locationName": "staticKeyProvider" - }, - "Type": { - "shape": "CmafKeyProviderType", - "locationName": "type" - } - }, - "documentation": "Settings for CMAF encryption" - }, - "CmafEncryptionType": { - "type": "string", - "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption.", - "enum": [ - "SAMPLE_AES" - ] - }, - "CmafGroupSettings": { - "type": "structure", - "members": { - "BaseUrl": { - "shape": "__string", - "locationName": "baseUrl", - "documentation": "A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file." - }, - "ClientCache": { - "shape": "CmafClientCache", - "locationName": "clientCache" - }, - "CodecSpecification": { - "shape": "CmafCodecSpecification", - "locationName": "codecSpecification" - }, - "Destination": { - "shape": "__stringPatternS3", - "locationName": "destination", - "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." - }, - "Encryption": { - "shape": "CmafEncryptionSettings", - "locationName": "encryption", - "documentation": "DRM settings." - }, - "FragmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "fragmentLength", - "documentation": "Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." - }, - "ManifestCompression": { - "shape": "CmafManifestCompression", - "locationName": "manifestCompression" - }, - "ManifestDurationFormat": { - "shape": "CmafManifestDurationFormat", - "locationName": "manifestDurationFormat" - }, - "MinBufferTime": { - "shape": "__integerMin0Max2147483647", - "locationName": "minBufferTime", - "documentation": "Minimum time of initially buffered media that is needed to ensure smooth playout." - }, - "MinFinalSegmentLength": { - "shape": "__doubleMin0Max2147483647", - "locationName": "minFinalSegmentLength", - "documentation": "Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds." - }, - "SegmentControl": { - "shape": "CmafSegmentControl", - "locationName": "segmentControl" - }, - "SegmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "segmentLength", - "documentation": "Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment." - }, - "StreamInfResolution": { - "shape": "CmafStreamInfResolution", - "locationName": "streamInfResolution" - }, - "WriteDashManifest": { - "shape": "CmafWriteDASHManifest", - "locationName": "writeDashManifest" - }, - "WriteHlsManifest": { - "shape": "CmafWriteHLSManifest", - "locationName": "writeHlsManifest" - } - }, - "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output." - }, - "CmafInitializationVectorInManifest": { - "type": "string", - "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "CmafKeyProviderType": { - "type": "string", - "documentation": "Indicates which type of key provider is used for encryption.", - "enum": [ - "STATIC_KEY" - ] - }, - "CmafManifestCompression": { - "type": "string", - "documentation": "When set to GZIP, compresses HLS playlist.", - "enum": [ - "GZIP", - "NONE" - ] - }, - "CmafManifestDurationFormat": { - "type": "string", - "documentation": "Indicates whether the output manifest should use floating point values for segment duration.", - "enum": [ - "FLOATING_POINT", - "INTEGER" - ] - }, - "CmafSegmentControl": { - "type": "string", - "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", - "enum": [ - "SINGLE_FILE", - "SEGMENTED_FILES" - ] - }, - "CmafStreamInfResolution": { - "type": "string", - "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "CmafWriteDASHManifest": { - "type": "string", - "documentation": "When set to ENABLED, a DASH MPD manifest will be generated for this output.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "CmafWriteHLSManifest": { - "type": "string", - "documentation": "When set to ENABLED, an Apple HLS manifest will be generated for this output.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "ColorCorrector": { - "type": "structure", - "members": { - "Brightness": { - "shape": "__integerMin1Max100", - "locationName": "brightness", - "documentation": "Brightness level." - }, - "ColorSpaceConversion": { - "shape": "ColorSpaceConversion", - "locationName": "colorSpaceConversion" - }, - "Contrast": { - "shape": "__integerMin1Max100", - "locationName": "contrast", - "documentation": "Contrast level." - }, - "Hdr10Metadata": { - "shape": "Hdr10Metadata", - "locationName": "hdr10Metadata" - }, - "Hue": { - "shape": "__integerMinNegative180Max180", - "locationName": "hue", - "documentation": "Hue in degrees." - }, - "Saturation": { - "shape": "__integerMin1Max100", - "locationName": "saturation", - "documentation": "Saturation level." - } - }, - "documentation": "Settings for color correction." - }, - "ColorMetadata": { - "type": "string", - "documentation": "Enable Insert color metadata (ColorMetadata) to include color metadata in this output. This setting is enabled by default.", - "enum": [ - "IGNORE", - "INSERT" - ] - }, - "ColorSpace": { - "type": "string", - "documentation": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value FOLLOW. The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, or if your input video is missing color space metadata that should be there, specify the accurate color space here. If you choose HDR10, you can also correct inaccurate color space coefficients, using the HDR master display information controls. You must also set Color space usage (ColorSpaceUsage) to FORCE for the service to use these values.", - "enum": [ - "FOLLOW", - "REC_601", - "REC_709", - "HDR10", - "HLG_2020" - ] - }, - "ColorSpaceConversion": { - "type": "string", - "documentation": "Determines if colorspace conversion will be performed. If set to _None_, no conversion will be performed. If _Force 601_ or _Force 709_ are selected, conversion will be performed for inputs with differing colorspaces. An input's colorspace can be specified explicitly in the \"Video Selector\":#inputs-video_selector if necessary.", - "enum": [ - "NONE", - "FORCE_601", - "FORCE_709", - "FORCE_HDR10", - "FORCE_HLG_2020" - ] - }, - "ColorSpaceUsage": { - "type": "string", - "documentation": "There are two sources for color metadata, the input file and the job configuration (in the Color space and HDR master display informaiton settings). The Color space usage setting controls which takes precedence. FORCE: The system will use color metadata supplied by user, if any. If the user does not supply color metadata, the system will use data from the source. FALLBACK: The system will use color metadata from the source. If source has no color metadata, the system will use user-supplied color metadata values if available.", - "enum": [ - "FORCE", - "FALLBACK" - ] - }, - "ConflictException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 409 - }, - "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." - }, - "ContainerSettings": { - "type": "structure", - "members": { - "Container": { - "shape": "ContainerType", - "locationName": "container" - }, - "F4vSettings": { - "shape": "F4vSettings", - "locationName": "f4vSettings" - }, - "M2tsSettings": { - "shape": "M2tsSettings", - "locationName": "m2tsSettings" - }, - "M3u8Settings": { - "shape": "M3u8Settings", - "locationName": "m3u8Settings" - }, - "MovSettings": { - "shape": "MovSettings", - "locationName": "movSettings" - }, - "Mp4Settings": { - "shape": "Mp4Settings", - "locationName": "mp4Settings" - } - }, - "documentation": "Container specific settings." - }, - "ContainerType": { - "type": "string", - "documentation": "Container for this output. Some containers require a container settings object. If not specified, the default object will be created.", - "enum": [ - "F4V", - "ISMV", - "M2TS", - "M3U8", - "CMFC", - "MOV", - "MP4", - "MPD", - "MXF", - "RAW" - ] - }, - "CreateJobRequest": { - "type": "structure", - "members": { - "ClientRequestToken": { - "shape": "__string", - "locationName": "clientRequestToken", - "documentation": "Idempotency token for CreateJob operation.", - "idempotencyToken": true - }, - "JobTemplate": { - "shape": "__string", - "locationName": "jobTemplate", - "documentation": "When you create a job, you can either specify a job template or specify the transcoding settings individually" - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html." - }, - "Role": { - "shape": "__string", - "locationName": "role", - "documentation": "Required. The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html." - }, - "Settings": { - "shape": "JobSettings", - "locationName": "settings" - }, - "UserMetadata": { - "shape": "__mapOf__string", - "locationName": "userMetadata", - "documentation": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs." - } - }, - "required": [ - "Role", - "Settings" - ] - }, - "CreateJobResponse": { - "type": "structure", - "members": { - "Job": { - "shape": "Job", - "locationName": "job" - } - } - }, - "CreateJobTemplateRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "Optional. A category for the job template you are creating" - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "Optional. A description of the job template you are creating." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the job template you are creating." - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue." - }, - "Settings": { - "shape": "JobTemplateSettings", - "locationName": "settings" - }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." - } - }, - "required": [ - "Settings", - "Name" - ] - }, - "CreateJobTemplateResponse": { - "type": "structure", - "members": { - "JobTemplate": { - "shape": "JobTemplate", - "locationName": "jobTemplate" - } - } - }, - "CreatePresetRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "Optional. A category for the preset you are creating." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "Optional. A description of the preset you are creating." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the preset you are creating." - }, - "Settings": { - "shape": "PresetSettings", - "locationName": "settings" - }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." - } - }, - "required": [ - "Settings", - "Name" - ] - }, - "CreatePresetResponse": { - "type": "structure", - "members": { - "Preset": { - "shape": "Preset", - "locationName": "preset" - } - } - }, - "CreateQueueRequest": { - "type": "structure", - "members": { - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "Optional. A description of the queue you are creating." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the queue you are creating." - }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." - } - }, - "required": [ - "Name" - ] - }, - "CreateQueueResponse": { - "type": "structure", - "members": { - "Queue": { - "shape": "Queue", - "locationName": "queue" - } - } - }, - "DashIsoEncryptionSettings": { - "type": "structure", - "members": { - "SpekeKeyProvider": { - "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" - } - }, - "documentation": "Specifies DRM settings for DASH outputs." - }, - "DashIsoGroupSettings": { - "type": "structure", - "members": { - "BaseUrl": { - "shape": "__string", - "locationName": "baseUrl", - "documentation": "A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file." - }, - "Destination": { - "shape": "__stringPatternS3", - "locationName": "destination", - "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." - }, - "Encryption": { - "shape": "DashIsoEncryptionSettings", - "locationName": "encryption", - "documentation": "DRM settings." - }, - "FragmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "fragmentLength", - "documentation": "Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." - }, - "HbbtvCompliance": { - "shape": "DashIsoHbbtvCompliance", - "locationName": "hbbtvCompliance" - }, - "MinBufferTime": { - "shape": "__integerMin0Max2147483647", - "locationName": "minBufferTime", - "documentation": "Minimum time of initially buffered media that is needed to ensure smooth playout." - }, - "SegmentControl": { - "shape": "DashIsoSegmentControl", - "locationName": "segmentControl" - }, - "SegmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "segmentLength", - "documentation": "Length of mpd segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. When Emit Single File is checked, the segmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." - }, - "WriteSegmentTimelineInRepresentation": { - "shape": "DashIsoWriteSegmentTimelineInRepresentation", - "locationName": "writeSegmentTimelineInRepresentation", - "documentation": "When ENABLED, segment durations are indicated in the manifest using SegmentTimeline and SegmentTimeline will be promoted down into Representation from AdaptationSet." - } - }, - "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS." - }, - "DashIsoHbbtvCompliance": { - "type": "string", - "documentation": "Supports HbbTV specification as indicated", - "enum": [ - "HBBTV_1_5", - "NONE" - ] - }, - "DashIsoSegmentControl": { - "type": "string", - "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", - "enum": [ - "SINGLE_FILE", - "SEGMENTED_FILES" - ] - }, - "DashIsoWriteSegmentTimelineInRepresentation": { - "type": "string", - "documentation": "When ENABLED, segment durations are indicated in the manifest using SegmentTimeline and SegmentTimeline will be promoted down into Representation from AdaptationSet.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "DeinterlaceAlgorithm": { - "type": "string", - "documentation": "Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling headline at the bottom of the frame.", - "enum": [ - "INTERPOLATE", - "INTERPOLATE_TICKER", - "BLEND", - "BLEND_TICKER" - ] - }, - "Deinterlacer": { - "type": "structure", - "members": { - "Algorithm": { - "shape": "DeinterlaceAlgorithm", - "locationName": "algorithm" - }, - "Control": { - "shape": "DeinterlacerControl", - "locationName": "control" - }, - "Mode": { - "shape": "DeinterlacerMode", - "locationName": "mode" - } - }, - "documentation": "Settings for deinterlacer" - }, - "DeinterlacerControl": { - "type": "string", - "documentation": "- When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video.", - "enum": [ - "FORCE_ALL_FRAMES", - "NORMAL" - ] - }, - "DeinterlacerMode": { - "type": "string", - "documentation": "Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive.", - "enum": [ - "DEINTERLACE", - "INVERSE_TELECINE", - "ADAPTIVE" - ] - }, - "DeleteJobTemplateRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the job template to be deleted.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "DeleteJobTemplateResponse": { - "type": "structure", - "members": { - } - }, - "DeletePresetRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the preset to be deleted.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "DeletePresetResponse": { - "type": "structure", - "members": { - } - }, - "DeleteQueueRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the queue to be deleted.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "DeleteQueueResponse": { - "type": "structure", - "members": { - } - }, - "DescribeEndpointsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "shape": "__integer", - "locationName": "maxResults", - "documentation": "Optional. Max number of endpoints, up to twenty, that will be returned at one time." - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string, provided with the response to a previous request, to request the next batch of endpoints." - } - }, - "documentation": "DescribeEndpointsRequest" - }, - "DescribeEndpointsResponse": { - "type": "structure", - "members": { - "Endpoints": { - "shape": "__listOfEndpoint", - "locationName": "endpoints", - "documentation": "List of endpoints" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string to request the next batch of endpoints." - } - } - }, - "DropFrameTimecode": { - "type": "string", - "documentation": "Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "DvbNitSettings": { - "type": "structure", - "members": { - "NetworkId": { - "shape": "__integerMin0Max65535", - "locationName": "networkId", - "documentation": "The numeric value placed in the Network Information Table (NIT)." - }, - "NetworkName": { - "shape": "__stringMin1Max256", - "locationName": "networkName", - "documentation": "The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters." - }, - "NitInterval": { - "shape": "__integerMin25Max10000", - "locationName": "nitInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - } - }, - "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." - }, - "DvbSdtSettings": { - "type": "structure", - "members": { - "OutputSdt": { - "shape": "OutputSdt", - "locationName": "outputSdt" - }, - "SdtInterval": { - "shape": "__integerMin25Max2000", - "locationName": "sdtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "ServiceName": { - "shape": "__stringMin1Max256", - "locationName": "serviceName", - "documentation": "The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters." - }, - "ServiceProviderName": { - "shape": "__stringMin1Max256", - "locationName": "serviceProviderName", - "documentation": "The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters." - } - }, - "documentation": "Inserts DVB Service Description Table (NIT) at the specified table repetition interval." - }, - "DvbSubDestinationSettings": { - "type": "structure", - "members": { - "Alignment": { - "shape": "DvbSubtitleAlignment", - "locationName": "alignment" - }, - "BackgroundColor": { - "shape": "DvbSubtitleBackgroundColor", - "locationName": "backgroundColor" - }, - "BackgroundOpacity": { - "shape": "__integerMin0Max255", - "locationName": "backgroundOpacity", - "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "FontColor": { - "shape": "DvbSubtitleFontColor", - "locationName": "fontColor" - }, - "FontOpacity": { - "shape": "__integerMin0Max255", - "locationName": "fontOpacity", - "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match." - }, - "FontResolution": { - "shape": "__integerMin96Max600", - "locationName": "fontResolution", - "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." - }, - "FontSize": { - "shape": "__integerMin0Max96", - "locationName": "fontSize", - "documentation": "A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match." - }, - "OutlineColor": { - "shape": "DvbSubtitleOutlineColor", - "locationName": "outlineColor" - }, - "OutlineSize": { - "shape": "__integerMin0Max10", - "locationName": "outlineSize", - "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "ShadowColor": { - "shape": "DvbSubtitleShadowColor", - "locationName": "shadowColor" - }, - "ShadowOpacity": { - "shape": "__integerMin0Max255", - "locationName": "shadowOpacity", - "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "ShadowXOffset": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "shadowXOffset", - "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." - }, - "ShadowYOffset": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "shadowYOffset", - "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." - }, - "TeletextSpacing": { - "shape": "DvbSubtitleTeletextSpacing", - "locationName": "teletextSpacing" - }, - "XPosition": { - "shape": "__integerMin0Max2147483647", - "locationName": "xPosition", - "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "YPosition": { - "shape": "__integerMin0Max2147483647", - "locationName": "yPosition", - "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - } - }, - "documentation": "DVB-Sub Destination Settings" - }, - "DvbSubSourceSettings": { - "type": "structure", - "members": { - "Pid": { - "shape": "__integerMin1Max2147483647", - "locationName": "pid", - "documentation": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors." - } - }, - "documentation": "DVB Sub Source Settings" - }, - "DvbSubtitleAlignment": { - "type": "string", - "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "CENTERED", - "LEFT" - ] - }, - "DvbSubtitleBackgroundColor": { - "type": "string", - "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match.", - "enum": [ - "NONE", - "BLACK", - "WHITE" - ] - }, - "DvbSubtitleFontColor": { - "type": "string", - "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "WHITE", - "BLACK", - "YELLOW", - "RED", - "GREEN", - "BLUE" - ] - }, - "DvbSubtitleOutlineColor": { - "type": "string", - "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", - "enum": [ - "BLACK", - "WHITE", - "YELLOW", - "RED", - "GREEN", - "BLUE" - ] - }, - "DvbSubtitleShadowColor": { - "type": "string", - "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match.", - "enum": [ - "NONE", - "BLACK", - "WHITE" - ] - }, - "DvbSubtitleTeletextSpacing": { - "type": "string", - "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption.", - "enum": [ - "FIXED_GRID", - "PROPORTIONAL" - ] - }, - "DvbTdtSettings": { - "type": "structure", - "members": { - "TdtInterval": { - "shape": "__integerMin1000Max30000", - "locationName": "tdtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - } - }, - "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." - }, - "Eac3AttenuationControl": { - "type": "string", - "documentation": "If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.", - "enum": [ - "ATTENUATE_3_DB", - "NONE" - ] - }, - "Eac3BitstreamMode": { - "type": "string", - "documentation": "Specifies the \"Bitstream Mode\" (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values.", - "enum": [ - "COMPLETE_MAIN", - "COMMENTARY", - "EMERGENCY", - "HEARING_IMPAIRED", - "VISUALLY_IMPAIRED" - ] - }, - "Eac3CodingMode": { - "type": "string", - "documentation": "Dolby Digital Plus coding mode. Determines number of channels.", - "enum": [ - "CODING_MODE_1_0", - "CODING_MODE_2_0", - "CODING_MODE_3_2" - ] - }, - "Eac3DcFilter": { - "type": "string", - "documentation": "Activates a DC highpass filter for all input channels.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "Eac3DynamicRangeCompressionLine": { - "type": "string", - "documentation": "Enables Dynamic Range Compression that restricts the absolute peak level for a signal.", - "enum": [ - "NONE", - "FILM_STANDARD", - "FILM_LIGHT", - "MUSIC_STANDARD", - "MUSIC_LIGHT", - "SPEECH" - ] - }, - "Eac3DynamicRangeCompressionRf": { - "type": "string", - "documentation": "Enables Heavy Dynamic Range Compression, ensures that the instantaneous signal peaks do not exceed specified levels.", - "enum": [ - "NONE", - "FILM_STANDARD", - "FILM_LIGHT", - "MUSIC_STANDARD", - "MUSIC_LIGHT", - "SPEECH" - ] - }, - "Eac3LfeControl": { - "type": "string", - "documentation": "When encoding 3/2 audio, controls whether the LFE channel is enabled", - "enum": [ - "LFE", - "NO_LFE" - ] - }, - "Eac3LfeFilter": { - "type": "string", - "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "Eac3MetadataControl": { - "type": "string", - "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ] - }, - "Eac3PassthroughControl": { - "type": "string", - "documentation": "When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.", - "enum": [ - "WHEN_POSSIBLE", - "NO_PASSTHROUGH" - ] - }, - "Eac3PhaseControl": { - "type": "string", - "documentation": "Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.", - "enum": [ - "SHIFT_90_DEGREES", - "NO_SHIFT" - ] - }, - "Eac3Settings": { - "type": "structure", - "members": { - "AttenuationControl": { - "shape": "Eac3AttenuationControl", - "locationName": "attenuationControl" - }, - "Bitrate": { - "shape": "__integerMin64000Max640000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." - }, - "BitstreamMode": { - "shape": "Eac3BitstreamMode", - "locationName": "bitstreamMode" - }, - "CodingMode": { - "shape": "Eac3CodingMode", - "locationName": "codingMode" - }, - "DcFilter": { - "shape": "Eac3DcFilter", - "locationName": "dcFilter" - }, - "Dialnorm": { - "shape": "__integerMin1Max31", - "locationName": "dialnorm", - "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." - }, - "DynamicRangeCompressionLine": { - "shape": "Eac3DynamicRangeCompressionLine", - "locationName": "dynamicRangeCompressionLine" - }, - "DynamicRangeCompressionRf": { - "shape": "Eac3DynamicRangeCompressionRf", - "locationName": "dynamicRangeCompressionRf" - }, - "LfeControl": { - "shape": "Eac3LfeControl", - "locationName": "lfeControl" - }, - "LfeFilter": { - "shape": "Eac3LfeFilter", - "locationName": "lfeFilter" - }, - "LoRoCenterMixLevel": { - "shape": "__doubleMinNegative60Max3", - "locationName": "loRoCenterMixLevel", - "documentation": "Left only/Right only center mix level. Only used for 3/2 coding mode.\nValid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60" - }, - "LoRoSurroundMixLevel": { - "shape": "__doubleMinNegative60MaxNegative1", - "locationName": "loRoSurroundMixLevel", - "documentation": "Left only/Right only surround mix level. Only used for 3/2 coding mode.\nValid values: -1.5 -3.0 -4.5 -6.0 -60" - }, - "LtRtCenterMixLevel": { - "shape": "__doubleMinNegative60Max3", - "locationName": "ltRtCenterMixLevel", - "documentation": "Left total/Right total center mix level. Only used for 3/2 coding mode.\nValid values: 3.0, 1.5, 0.0, -1.5 -3.0 -4.5 -6.0 -60" - }, - "LtRtSurroundMixLevel": { - "shape": "__doubleMinNegative60MaxNegative1", - "locationName": "ltRtSurroundMixLevel", - "documentation": "Left total/Right total surround mix level. Only used for 3/2 coding mode.\nValid values: -1.5 -3.0 -4.5 -6.0 -60" - }, - "MetadataControl": { - "shape": "Eac3MetadataControl", - "locationName": "metadataControl" - }, - "PassthroughControl": { - "shape": "Eac3PassthroughControl", - "locationName": "passthroughControl" - }, - "PhaseControl": { - "shape": "Eac3PhaseControl", - "locationName": "phaseControl" - }, - "SampleRate": { - "shape": "__integerMin48000Max48000", - "locationName": "sampleRate", - "documentation": "Sample rate in hz. Sample rate is always 48000." - }, - "StereoDownmix": { - "shape": "Eac3StereoDownmix", - "locationName": "stereoDownmix" - }, - "SurroundExMode": { - "shape": "Eac3SurroundExMode", - "locationName": "surroundExMode" - }, - "SurroundMode": { - "shape": "Eac3SurroundMode", - "locationName": "surroundMode" - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3." - }, - "Eac3StereoDownmix": { - "type": "string", - "documentation": "Stereo downmix preference. Only used for 3/2 coding mode.", - "enum": [ - "NOT_INDICATED", - "LO_RO", - "LT_RT", - "DPL2" - ] - }, - "Eac3SurroundExMode": { - "type": "string", - "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.", - "enum": [ - "NOT_INDICATED", - "ENABLED", - "DISABLED" - ] - }, - "Eac3SurroundMode": { - "type": "string", - "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.", - "enum": [ - "NOT_INDICATED", - "ENABLED", - "DISABLED" - ] - }, - "EmbeddedConvert608To708": { - "type": "string", - "documentation": "When set to UPCONVERT, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded.", - "enum": [ - "UPCONVERT", - "DISABLED" - ] - }, - "EmbeddedSourceSettings": { - "type": "structure", - "members": { - "Convert608To708": { - "shape": "EmbeddedConvert608To708", - "locationName": "convert608To708" - }, - "Source608ChannelNumber": { - "shape": "__integerMin1Max4", - "locationName": "source608ChannelNumber", - "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." - }, - "Source608TrackNumber": { - "shape": "__integerMin1Max1", - "locationName": "source608TrackNumber", - "documentation": "Specifies the video track index used for extracting captions. The system only supports one input video track, so this should always be set to '1'." - } - }, - "documentation": "Settings for embedded captions Source" - }, - "Endpoint": { - "type": "structure", - "members": { - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "URL of endpoint" - } - }, - "documentation": "Describes account specific API endpoint" - }, - "ExceptionBody": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - } - }, - "F4vMoovPlacement": { - "type": "string", - "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end.", - "enum": [ - "PROGRESSIVE_DOWNLOAD", - "NORMAL" - ] - }, - "F4vSettings": { - "type": "structure", - "members": { - "MoovPlacement": { - "shape": "F4vMoovPlacement", - "locationName": "moovPlacement" - } - }, - "documentation": "Settings for F4v container" - }, - "FileGroupSettings": { - "type": "structure", - "members": { - "Destination": { - "shape": "__stringPatternS3", - "locationName": "destination", - "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." - } - }, - "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS." - }, - "FileSourceConvert608To708": { - "type": "string", - "documentation": "If set to UPCONVERT, 608 caption data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded.", - "enum": [ - "UPCONVERT", - "DISABLED" - ] - }, - "FileSourceSettings": { - "type": "structure", - "members": { - "Convert608To708": { - "shape": "FileSourceConvert608To708", - "locationName": "convert608To708" - }, - "SourceFile": { - "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI", - "locationName": "sourceFile", - "documentation": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', and 'smi'." - }, - "TimeDelta": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "timeDelta", - "documentation": "Specifies a time delta in seconds to offset the captions from the source file." - } - }, - "documentation": "Settings for File-based Captions in Source" - }, - "ForbiddenException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 403 - }, - "documentation": "You don't have permissions for this action with the credentials you sent." - }, - "FrameCaptureSettings": { - "type": "structure", - "members": { - "FramerateDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateDenominator", - "documentation": "Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.n.jpg where n is the 0-based sequence number of each Capture." - }, - "FramerateNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateNumerator", - "documentation": "Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame sequence number zero padded to 7 decimal places." - }, - "MaxCaptures": { - "shape": "__integerMin1Max10000000", - "locationName": "maxCaptures", - "documentation": "Maximum number of captures (encoded jpg output files)." - }, - "Quality": { - "shape": "__integerMin1Max100", - "locationName": "quality", - "documentation": "JPEG Quality - a higher value equals higher quality." - } - }, - "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE." - }, - "GetJobRequest": { - "type": "structure", - "members": { - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "the job ID of the job.", - "location": "uri" - } - }, - "required": [ - "Id" - ] - }, - "GetJobResponse": { - "type": "structure", - "members": { - "Job": { - "shape": "Job", - "locationName": "job" - } - } - }, - "GetJobTemplateRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the job template.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "GetJobTemplateResponse": { - "type": "structure", - "members": { - "JobTemplate": { - "shape": "JobTemplate", - "locationName": "jobTemplate" - } - } - }, - "GetPresetRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the preset.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "GetPresetResponse": { - "type": "structure", - "members": { - "Preset": { - "shape": "Preset", - "locationName": "preset" - } - } - }, - "GetQueueRequest": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the queue.", - "location": "uri" - } - }, - "required": [ - "Name" - ] - }, - "GetQueueResponse": { - "type": "structure", - "members": { - "Queue": { - "shape": "Queue", - "locationName": "queue" - } - } - }, - "H264AdaptiveQuantization": { - "type": "string", - "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", - "enum": [ - "OFF", - "LOW", - "MEDIUM", - "HIGH", - "HIGHER", - "MAX" - ] - }, - "H264CodecLevel": { - "type": "string", - "documentation": "H.264 Level.", - "enum": [ - "AUTO", - "LEVEL_1", - "LEVEL_1_1", - "LEVEL_1_2", - "LEVEL_1_3", - "LEVEL_2", - "LEVEL_2_1", - "LEVEL_2_2", - "LEVEL_3", - "LEVEL_3_1", - "LEVEL_3_2", - "LEVEL_4", - "LEVEL_4_1", - "LEVEL_4_2", - "LEVEL_5", - "LEVEL_5_1", - "LEVEL_5_2" - ] - }, - "H264CodecProfile": { - "type": "string", - "documentation": "H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License.", - "enum": [ - "BASELINE", - "HIGH", - "HIGH_10BIT", - "HIGH_422", - "HIGH_422_10BIT", - "MAIN" - ] - }, - "H264DynamicSubGop": { - "type": "string", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", - "enum": [ - "ADAPTIVE", - "STATIC" - ] - }, - "H264EntropyEncoding": { - "type": "string", - "documentation": "Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.", - "enum": [ - "CABAC", - "CAVLC" - ] - }, - "H264FieldEncoding": { - "type": "string", - "documentation": "Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.", - "enum": [ - "PAFF", - "FORCE_FIELD" - ] - }, - "H264FlickerAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264FramerateControl": { - "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "H264FramerateConversionAlgorithm": { - "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", - "enum": [ - "DUPLICATE_DROP", - "INTERPOLATE" - ] - }, - "H264GopBReference": { - "type": "string", - "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264GopSizeUnits": { - "type": "string", - "documentation": "Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", - "enum": [ - "FRAMES", - "SECONDS" - ] - }, - "H264InterlaceMode": { - "type": "string", - "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", - "enum": [ - "PROGRESSIVE", - "TOP_FIELD", - "BOTTOM_FIELD", - "FOLLOW_TOP_FIELD", - "FOLLOW_BOTTOM_FIELD" - ] - }, - "H264ParControl": { - "type": "string", - "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "H264QualityTuningLevel": { - "type": "string", - "documentation": "Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.", - "enum": [ - "SINGLE_PASS", - "SINGLE_PASS_HQ", - "MULTI_PASS_HQ" - ] - }, - "H264QvbrSettings": { - "type": "structure", - "members": { - "MaxAverageBitrate": { - "shape": "__integerMin1000Max1152000000", - "locationName": "maxAverageBitrate", - "documentation": "Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output." - }, - "QvbrQualityLevel": { - "shape": "__integerMin1Max10", - "locationName": "qvbrQualityLevel", - "documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h264Settings. Specify the target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9." - } - }, - "documentation": "Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." - }, - "H264RateControlMode": { - "type": "string", - "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).", - "enum": [ - "VBR", - "CBR", - "QVBR" - ] - }, - "H264RepeatPps": { - "type": "string", - "documentation": "Places a PPS header on each encoded picture, even if repeated.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264SceneChangeDetect": { - "type": "string", - "documentation": "Scene change detection (inserts I-frames on scene changes).", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264Settings": { - "type": "structure", - "members": { - "AdaptiveQuantization": { - "shape": "H264AdaptiveQuantization", - "locationName": "adaptiveQuantization" - }, - "Bitrate": { - "shape": "__integerMin1000Max1152000000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." - }, - "CodecLevel": { - "shape": "H264CodecLevel", - "locationName": "codecLevel" - }, - "CodecProfile": { - "shape": "H264CodecProfile", - "locationName": "codecProfile" - }, - "DynamicSubGop": { - "shape": "H264DynamicSubGop", - "locationName": "dynamicSubGop", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." - }, - "EntropyEncoding": { - "shape": "H264EntropyEncoding", - "locationName": "entropyEncoding" - }, - "FieldEncoding": { - "shape": "H264FieldEncoding", - "locationName": "fieldEncoding" - }, - "FlickerAdaptiveQuantization": { - "shape": "H264FlickerAdaptiveQuantization", - "locationName": "flickerAdaptiveQuantization" - }, - "FramerateControl": { - "shape": "H264FramerateControl", - "locationName": "framerateControl" - }, - "FramerateConversionAlgorithm": { - "shape": "H264FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" - }, - "FramerateDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateDenominator", - "documentation": "When you use the API for transcode jobs that use framerate conversion, specify the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use framerate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." - }, - "FramerateNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." - }, - "GopBReference": { - "shape": "H264GopBReference", - "locationName": "gopBReference" - }, - "GopClosedCadence": { - "shape": "__integerMin0Max2147483647", - "locationName": "gopClosedCadence", - "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." - }, - "GopSize": { - "shape": "__doubleMin0", - "locationName": "gopSize", - "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." - }, - "GopSizeUnits": { - "shape": "H264GopSizeUnits", - "locationName": "gopSizeUnits" - }, - "HrdBufferInitialFillPercentage": { - "shape": "__integerMin0Max100", - "locationName": "hrdBufferInitialFillPercentage", - "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." - }, - "HrdBufferSize": { - "shape": "__integerMin0Max1152000000", - "locationName": "hrdBufferSize", - "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." - }, - "InterlaceMode": { - "shape": "H264InterlaceMode", - "locationName": "interlaceMode" - }, - "MaxBitrate": { - "shape": "__integerMin1000Max1152000000", - "locationName": "maxBitrate", - "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR." - }, - "MinIInterval": { - "shape": "__integerMin0Max30", - "locationName": "minIInterval", - "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" - }, - "NumberBFramesBetweenReferenceFrames": { - "shape": "__integerMin0Max7", - "locationName": "numberBFramesBetweenReferenceFrames", - "documentation": "Number of B-frames between reference frames." - }, - "NumberReferenceFrames": { - "shape": "__integerMin1Max6", - "locationName": "numberReferenceFrames", - "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." - }, - "ParControl": { - "shape": "H264ParControl", - "locationName": "parControl" - }, - "ParDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parDenominator", - "documentation": "Pixel Aspect Ratio denominator." - }, - "ParNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parNumerator", - "documentation": "Pixel Aspect Ratio numerator." - }, - "QualityTuningLevel": { - "shape": "H264QualityTuningLevel", - "locationName": "qualityTuningLevel" - }, - "QvbrSettings": { - "shape": "H264QvbrSettings", - "locationName": "qvbrSettings", - "documentation": "Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." - }, - "RateControlMode": { - "shape": "H264RateControlMode", - "locationName": "rateControlMode" - }, - "RepeatPps": { - "shape": "H264RepeatPps", - "locationName": "repeatPps" - }, - "SceneChangeDetect": { - "shape": "H264SceneChangeDetect", - "locationName": "sceneChangeDetect" - }, - "Slices": { - "shape": "__integerMin1Max32", - "locationName": "slices", - "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures." - }, - "SlowPal": { - "shape": "H264SlowPal", - "locationName": "slowPal" - }, - "Softness": { - "shape": "__integerMin0Max128", - "locationName": "softness", - "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." - }, - "SpatialAdaptiveQuantization": { - "shape": "H264SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" - }, - "Syntax": { - "shape": "H264Syntax", - "locationName": "syntax" - }, - "Telecine": { - "shape": "H264Telecine", - "locationName": "telecine" - }, - "TemporalAdaptiveQuantization": { - "shape": "H264TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" - }, - "UnregisteredSeiTimecode": { - "shape": "H264UnregisteredSeiTimecode", - "locationName": "unregisteredSeiTimecode" - } - }, - "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264." - }, - "H264SlowPal": { - "type": "string", - "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264SpatialAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264Syntax": { - "type": "string", - "documentation": "Produces a bitstream compliant with SMPTE RP-2027.", - "enum": [ - "DEFAULT", - "RP2027" - ] - }, - "H264Telecine": { - "type": "string", - "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i.", - "enum": [ - "NONE", - "SOFT", - "HARD" - ] - }, - "H264TemporalAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H264UnregisteredSeiTimecode": { - "type": "string", - "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265AdaptiveQuantization": { - "type": "string", - "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", - "enum": [ - "OFF", - "LOW", - "MEDIUM", - "HIGH", - "HIGHER", - "MAX" - ] - }, - "H265AlternateTransferFunctionSei": { - "type": "string", - "documentation": "Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265CodecLevel": { - "type": "string", - "documentation": "H.265 Level.", - "enum": [ - "AUTO", - "LEVEL_1", - "LEVEL_2", - "LEVEL_2_1", - "LEVEL_3", - "LEVEL_3_1", - "LEVEL_4", - "LEVEL_4_1", - "LEVEL_5", - "LEVEL_5_1", - "LEVEL_5_2", - "LEVEL_6", - "LEVEL_6_1", - "LEVEL_6_2" - ] - }, - "H265CodecProfile": { - "type": "string", - "documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.", - "enum": [ - "MAIN_MAIN", - "MAIN_HIGH", - "MAIN10_MAIN", - "MAIN10_HIGH", - "MAIN_422_8BIT_MAIN", - "MAIN_422_8BIT_HIGH", - "MAIN_422_10BIT_MAIN", - "MAIN_422_10BIT_HIGH" - ] - }, - "H265DynamicSubGop": { - "type": "string", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", - "enum": [ - "ADAPTIVE", - "STATIC" - ] - }, - "H265FlickerAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265FramerateControl": { - "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "H265FramerateConversionAlgorithm": { - "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", - "enum": [ - "DUPLICATE_DROP", - "INTERPOLATE" - ] - }, - "H265GopBReference": { - "type": "string", - "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265GopSizeUnits": { - "type": "string", - "documentation": "Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", - "enum": [ - "FRAMES", - "SECONDS" - ] - }, - "H265InterlaceMode": { - "type": "string", - "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", - "enum": [ - "PROGRESSIVE", - "TOP_FIELD", - "BOTTOM_FIELD", - "FOLLOW_TOP_FIELD", - "FOLLOW_BOTTOM_FIELD" - ] - }, - "H265ParControl": { - "type": "string", - "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "H265QualityTuningLevel": { - "type": "string", - "documentation": "Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.", - "enum": [ - "SINGLE_PASS", - "SINGLE_PASS_HQ", - "MULTI_PASS_HQ" - ] - }, - "H265QvbrSettings": { - "type": "structure", - "members": { - "MaxAverageBitrate": { - "shape": "__integerMin1000Max1466400000", - "locationName": "maxAverageBitrate", - "documentation": "Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output." - }, - "QvbrQualityLevel": { - "shape": "__integerMin1Max10", - "locationName": "qvbrQualityLevel", - "documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h265Settings. Specify the target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9." - } - }, - "documentation": "Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." - }, - "H265RateControlMode": { - "type": "string", - "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).", - "enum": [ - "VBR", - "CBR", - "QVBR" - ] - }, - "H265SampleAdaptiveOffsetFilterMode": { - "type": "string", - "documentation": "Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content", - "enum": [ - "DEFAULT", - "ADAPTIVE", - "OFF" - ] - }, - "H265SceneChangeDetect": { - "type": "string", - "documentation": "Scene change detection (inserts I-frames on scene changes).", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265Settings": { - "type": "structure", - "members": { - "AdaptiveQuantization": { - "shape": "H265AdaptiveQuantization", - "locationName": "adaptiveQuantization" - }, - "AlternateTransferFunctionSei": { - "shape": "H265AlternateTransferFunctionSei", - "locationName": "alternateTransferFunctionSei" - }, - "Bitrate": { - "shape": "__integerMin1000Max1466400000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." - }, - "CodecLevel": { - "shape": "H265CodecLevel", - "locationName": "codecLevel" - }, - "CodecProfile": { - "shape": "H265CodecProfile", - "locationName": "codecProfile" - }, - "DynamicSubGop": { - "shape": "H265DynamicSubGop", - "locationName": "dynamicSubGop", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." - }, - "FlickerAdaptiveQuantization": { - "shape": "H265FlickerAdaptiveQuantization", - "locationName": "flickerAdaptiveQuantization" - }, - "FramerateControl": { - "shape": "H265FramerateControl", - "locationName": "framerateControl" - }, - "FramerateConversionAlgorithm": { - "shape": "H265FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" - }, - "FramerateDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateDenominator", - "documentation": "Framerate denominator." - }, - "FramerateNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." - }, - "GopBReference": { - "shape": "H265GopBReference", - "locationName": "gopBReference" - }, - "GopClosedCadence": { - "shape": "__integerMin0Max2147483647", - "locationName": "gopClosedCadence", - "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." - }, - "GopSize": { - "shape": "__doubleMin0", - "locationName": "gopSize", - "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." - }, - "GopSizeUnits": { - "shape": "H265GopSizeUnits", - "locationName": "gopSizeUnits" - }, - "HrdBufferInitialFillPercentage": { - "shape": "__integerMin0Max100", - "locationName": "hrdBufferInitialFillPercentage", - "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." - }, - "HrdBufferSize": { - "shape": "__integerMin0Max1466400000", - "locationName": "hrdBufferSize", - "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." - }, - "InterlaceMode": { - "shape": "H265InterlaceMode", - "locationName": "interlaceMode" - }, - "MaxBitrate": { - "shape": "__integerMin1000Max1466400000", - "locationName": "maxBitrate", - "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR." - }, - "MinIInterval": { - "shape": "__integerMin0Max30", - "locationName": "minIInterval", - "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" - }, - "NumberBFramesBetweenReferenceFrames": { - "shape": "__integerMin0Max7", - "locationName": "numberBFramesBetweenReferenceFrames", - "documentation": "Number of B-frames between reference frames." - }, - "NumberReferenceFrames": { - "shape": "__integerMin1Max6", - "locationName": "numberReferenceFrames", - "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." - }, - "ParControl": { - "shape": "H265ParControl", - "locationName": "parControl" - }, - "ParDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parDenominator", - "documentation": "Pixel Aspect Ratio denominator." - }, - "ParNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parNumerator", - "documentation": "Pixel Aspect Ratio numerator." - }, - "QualityTuningLevel": { - "shape": "H265QualityTuningLevel", - "locationName": "qualityTuningLevel" - }, - "QvbrSettings": { - "shape": "H265QvbrSettings", - "locationName": "qvbrSettings", - "documentation": "Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." - }, - "RateControlMode": { - "shape": "H265RateControlMode", - "locationName": "rateControlMode" - }, - "SampleAdaptiveOffsetFilterMode": { - "shape": "H265SampleAdaptiveOffsetFilterMode", - "locationName": "sampleAdaptiveOffsetFilterMode" - }, - "SceneChangeDetect": { - "shape": "H265SceneChangeDetect", - "locationName": "sceneChangeDetect" - }, - "Slices": { - "shape": "__integerMin1Max32", - "locationName": "slices", - "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures." - }, - "SlowPal": { - "shape": "H265SlowPal", - "locationName": "slowPal" - }, - "SpatialAdaptiveQuantization": { - "shape": "H265SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" - }, - "Telecine": { - "shape": "H265Telecine", - "locationName": "telecine" - }, - "TemporalAdaptiveQuantization": { - "shape": "H265TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" - }, - "TemporalIds": { - "shape": "H265TemporalIds", - "locationName": "temporalIds" - }, - "Tiles": { - "shape": "H265Tiles", - "locationName": "tiles" - }, - "UnregisteredSeiTimecode": { - "shape": "H265UnregisteredSeiTimecode", - "locationName": "unregisteredSeiTimecode" - }, - "WriteMp4PackagingType": { - "shape": "H265WriteMp4PackagingType", - "locationName": "writeMp4PackagingType" - } - }, - "documentation": "Settings for H265 codec" - }, - "H265SlowPal": { - "type": "string", - "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265SpatialAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265Telecine": { - "type": "string", - "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i.", - "enum": [ - "NONE", - "SOFT", - "HARD" - ] - }, - "H265TemporalAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265TemporalIds": { - "type": "string", - "documentation": "Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265Tiles": { - "type": "string", - "documentation": "Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265UnregisteredSeiTimecode": { - "type": "string", - "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "H265WriteMp4PackagingType": { - "type": "string", - "documentation": "If HVC1, output that is H.265 will be marked as HVC1 and adhere to the ISO-IECJTC1-SC29_N13798_Text_ISOIEC_FDIS_14496-15_3rd_E spec which states that parameter set NAL units will be stored in the sample headers but not in the samples directly. If HEV1, then H.265 will be marked as HEV1 and parameter set NAL units will be written into the samples.", - "enum": [ - "HVC1", - "HEV1" - ] - }, - "Hdr10Metadata": { - "type": "structure", - "members": { - "BluePrimaryX": { - "shape": "__integerMin0Max50000", - "locationName": "bluePrimaryX", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "BluePrimaryY": { - "shape": "__integerMin0Max50000", - "locationName": "bluePrimaryY", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "GreenPrimaryX": { - "shape": "__integerMin0Max50000", - "locationName": "greenPrimaryX", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "GreenPrimaryY": { - "shape": "__integerMin0Max50000", - "locationName": "greenPrimaryY", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "MaxContentLightLevel": { - "shape": "__integerMin0Max65535", - "locationName": "maxContentLightLevel", - "documentation": "Maximum light level among all samples in the coded video sequence, in units of candelas per square meter." - }, - "MaxFrameAverageLightLevel": { - "shape": "__integerMin0Max65535", - "locationName": "maxFrameAverageLightLevel", - "documentation": "Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter." - }, - "MaxLuminance": { - "shape": "__integerMin0Max2147483647", - "locationName": "maxLuminance", - "documentation": "Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter." - }, - "MinLuminance": { - "shape": "__integerMin0Max2147483647", - "locationName": "minLuminance", - "documentation": "Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter" - }, - "RedPrimaryX": { - "shape": "__integerMin0Max50000", - "locationName": "redPrimaryX", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "RedPrimaryY": { - "shape": "__integerMin0Max50000", - "locationName": "redPrimaryY", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "WhitePointX": { - "shape": "__integerMin0Max50000", - "locationName": "whitePointX", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - }, - "WhitePointY": { - "shape": "__integerMin0Max50000", - "locationName": "whitePointY", - "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." - } - }, - "documentation": "Use the HDR master display (Hdr10Metadata) settings to correct HDR metadata or to provide missing metadata. These values vary depending on the input video and must be provided by a color grader. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that these settings are not color correction. Note that if you are creating HDR outputs inside of an HLS CMAF package, to comply with the Apple specification, you must use the HVC1 for H.265 setting." - }, - "HlsAdMarkers": { - "type": "string", - "enum": [ - "ELEMENTAL", - "ELEMENTAL_SCTE35" - ] - }, - "HlsAudioTrackType": { - "type": "string", - "documentation": "Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO", - "enum": [ - "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", - "ALTERNATE_AUDIO_AUTO_SELECT", - "ALTERNATE_AUDIO_NOT_AUTO_SELECT", - "AUDIO_ONLY_VARIANT_STREAM" - ] - }, - "HlsCaptionLanguageMapping": { - "type": "structure", - "members": { - "CaptionChannel": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "captionChannel", - "documentation": "Caption channel." - }, - "CustomLanguageCode": { - "shape": "__stringMin3Max3PatternAZaZ3", - "locationName": "customLanguageCode", - "documentation": "Specify the language for this caption channel, using the ISO 639-2 or ISO 639-3 three-letter language code" - }, - "LanguageCode": { - "shape": "LanguageCode", - "locationName": "languageCode" - }, - "LanguageDescription": { - "shape": "__string", - "locationName": "languageDescription", - "documentation": "Caption language description." - } - }, - "documentation": "Caption Language Mapping" - }, - "HlsCaptionLanguageSetting": { - "type": "string", - "documentation": "Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest.", - "enum": [ - "INSERT", - "OMIT", - "NONE" - ] - }, - "HlsClientCache": { - "type": "string", - "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "HlsCodecSpecification": { - "type": "string", - "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.", - "enum": [ - "RFC_6381", - "RFC_4281" - ] - }, - "HlsDirectoryStructure": { - "type": "string", - "documentation": "Indicates whether segments should be placed in subdirectories.", - "enum": [ - "SINGLE_DIRECTORY", - "SUBDIRECTORY_PER_STREAM" - ] - }, - "HlsEncryptionSettings": { - "type": "structure", - "members": { - "ConstantInitializationVector": { - "shape": "__stringMin32Max32Pattern09aFAF32", - "locationName": "constantInitializationVector", - "documentation": "This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default." - }, - "EncryptionMethod": { - "shape": "HlsEncryptionType", - "locationName": "encryptionMethod" - }, - "InitializationVectorInManifest": { - "shape": "HlsInitializationVectorInManifest", - "locationName": "initializationVectorInManifest" - }, - "SpekeKeyProvider": { - "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" - }, - "StaticKeyProvider": { - "shape": "StaticKeyProvider", - "locationName": "staticKeyProvider" - }, - "Type": { - "shape": "HlsKeyProviderType", - "locationName": "type" - } - }, - "documentation": "Settings for HLS encryption" - }, - "HlsEncryptionType": { - "type": "string", - "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption.", - "enum": [ - "AES128", - "SAMPLE_AES" - ] - }, - "HlsGroupSettings": { - "type": "structure", - "members": { - "AdMarkers": { - "shape": "__listOfHlsAdMarkers", - "locationName": "adMarkers", - "documentation": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." - }, - "BaseUrl": { - "shape": "__string", - "locationName": "baseUrl", - "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." - }, - "CaptionLanguageMappings": { - "shape": "__listOfHlsCaptionLanguageMapping", - "locationName": "captionLanguageMappings", - "documentation": "Language to be used on Caption outputs" - }, - "CaptionLanguageSetting": { - "shape": "HlsCaptionLanguageSetting", - "locationName": "captionLanguageSetting" - }, - "ClientCache": { - "shape": "HlsClientCache", - "locationName": "clientCache" - }, - "CodecSpecification": { - "shape": "HlsCodecSpecification", - "locationName": "codecSpecification" - }, - "Destination": { - "shape": "__stringPatternS3", - "locationName": "destination", - "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." - }, - "DirectoryStructure": { - "shape": "HlsDirectoryStructure", - "locationName": "directoryStructure" - }, - "Encryption": { - "shape": "HlsEncryptionSettings", - "locationName": "encryption", - "documentation": "DRM settings." - }, - "ManifestCompression": { - "shape": "HlsManifestCompression", - "locationName": "manifestCompression" - }, - "ManifestDurationFormat": { - "shape": "HlsManifestDurationFormat", - "locationName": "manifestDurationFormat" - }, - "MinFinalSegmentLength": { - "shape": "__doubleMin0Max2147483647", - "locationName": "minFinalSegmentLength", - "documentation": "Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds." - }, - "MinSegmentLength": { - "shape": "__integerMin0Max2147483647", - "locationName": "minSegmentLength", - "documentation": "When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed." - }, - "OutputSelection": { - "shape": "HlsOutputSelection", - "locationName": "outputSelection" - }, - "ProgramDateTime": { - "shape": "HlsProgramDateTime", - "locationName": "programDateTime" - }, - "ProgramDateTimePeriod": { - "shape": "__integerMin0Max3600", - "locationName": "programDateTimePeriod", - "documentation": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." - }, - "SegmentControl": { - "shape": "HlsSegmentControl", - "locationName": "segmentControl" - }, - "SegmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "segmentLength", - "documentation": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer." - }, - "SegmentsPerSubdirectory": { - "shape": "__integerMin1Max2147483647", - "locationName": "segmentsPerSubdirectory", - "documentation": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect." - }, - "StreamInfResolution": { - "shape": "HlsStreamInfResolution", - "locationName": "streamInfResolution" - }, - "TimedMetadataId3Frame": { - "shape": "HlsTimedMetadataId3Frame", - "locationName": "timedMetadataId3Frame" - }, - "TimedMetadataId3Period": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "timedMetadataId3Period", - "documentation": "Timed Metadata interval in seconds." - }, - "TimestampDeltaMilliseconds": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "timestampDeltaMilliseconds", - "documentation": "Provides an extra millisecond delta offset to fine tune the timestamps." - } - }, - "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS." - }, - "HlsIFrameOnlyManifest": { - "type": "string", - "documentation": "When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS manifest", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "HlsInitializationVectorInManifest": { - "type": "string", - "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "HlsKeyProviderType": { - "type": "string", - "documentation": "Indicates which type of key provider is used for encryption.", - "enum": [ - "SPEKE", - "STATIC_KEY" - ] - }, - "HlsManifestCompression": { - "type": "string", - "documentation": "When set to GZIP, compresses HLS playlist.", - "enum": [ - "GZIP", - "NONE" - ] - }, - "HlsManifestDurationFormat": { - "type": "string", - "documentation": "Indicates whether the output manifest should use floating point values for segment duration.", - "enum": [ - "FLOATING_POINT", - "INTEGER" - ] - }, - "HlsOutputSelection": { - "type": "string", - "documentation": "Indicates whether the .m3u8 manifest file should be generated for this HLS output group.", - "enum": [ - "MANIFESTS_AND_SEGMENTS", - "SEGMENTS_ONLY" - ] - }, - "HlsProgramDateTime": { - "type": "string", - "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "HlsSegmentControl": { - "type": "string", - "documentation": "When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback.", - "enum": [ - "SINGLE_FILE", - "SEGMENTED_FILES" - ] - }, - "HlsSettings": { - "type": "structure", - "members": { - "AudioGroupId": { - "shape": "__string", - "locationName": "audioGroupId", - "documentation": "Specifies the group to which the audio Rendition belongs." - }, - "AudioRenditionSets": { - "shape": "__string", - "locationName": "audioRenditionSets", - "documentation": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','." - }, - "AudioTrackType": { - "shape": "HlsAudioTrackType", - "locationName": "audioTrackType" - }, - "IFrameOnlyManifest": { - "shape": "HlsIFrameOnlyManifest", - "locationName": "iFrameOnlyManifest" - }, - "SegmentModifier": { - "shape": "__string", - "locationName": "segmentModifier", - "documentation": "String concatenated to end of segment filenames. Accepts \"Format Identifiers\":#format_identifier_parameters." - } - }, - "documentation": "Settings for HLS output groups" - }, - "HlsStreamInfResolution": { - "type": "string", - "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "HlsTimedMetadataId3Frame": { - "type": "string", - "documentation": "Indicates ID3 frame that has the timecode.", - "enum": [ - "NONE", - "PRIV", - "TDRL" - ] - }, - "Id3Insertion": { - "type": "structure", - "members": { - "Id3": { - "shape": "__stringPatternAZaZ0902", - "locationName": "id3", - "documentation": "Use ID3 tag (Id3) to provide a tag value in base64-encode format." - }, - "Timecode": { - "shape": "__stringPattern010920405090509092", - "locationName": "timecode", - "documentation": "Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format." - } - }, - "documentation": "To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3) to specify the base 64 encoded string and use Timecode (TimeCode) to specify the time when the tag should be inserted. To insert multiple ID3 tags in your output, create multiple instances of ID3 insertion (Id3Insertion)." - }, - "ImageInserter": { - "type": "structure", - "members": { - "InsertableImages": { - "shape": "__listOfInsertableImage", - "locationName": "insertableImages", - "documentation": "Image to insert. Must be 32 bit windows BMP, PNG, or TGA file. Must not be larger than the output frames." - } - }, - "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each output individually. This setting is disabled by default." - }, - "Input": { - "type": "structure", - "members": { - "AudioSelectorGroups": { - "shape": "__mapOfAudioSelectorGroup", - "locationName": "audioSelectorGroups", - "documentation": "Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See \"Audio Selector Group\":#inputs-audio_selector_group for more information." - }, - "AudioSelectors": { - "shape": "__mapOfAudioSelector", - "locationName": "audioSelectors", - "documentation": "Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use mutiple Audio selectors per input." - }, - "CaptionSelectors": { - "shape": "__mapOfCaptionSelector", - "locationName": "captionSelectors", - "documentation": "Use Captions selectors (CaptionSelectors) to specify the captions data from the input that you will use in your outputs. You can use mutiple captions selectors per input." - }, - "DeblockFilter": { - "shape": "InputDeblockFilter", - "locationName": "deblockFilter" - }, - "DenoiseFilter": { - "shape": "InputDenoiseFilter", - "locationName": "denoiseFilter" - }, - "FileInput": { - "shape": "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM", - "locationName": "fileInput", - "documentation": "Use Input (fileInput) to define the source file used in the transcode job. There can be multiple inputs in a job. These inputs are concantenated, in the order they are specified in the job, to create the output." - }, - "FilterEnable": { - "shape": "InputFilterEnable", - "locationName": "filterEnable" - }, - "FilterStrength": { - "shape": "__integerMinNegative5Max5", - "locationName": "filterStrength", - "documentation": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0." - }, - "InputClippings": { - "shape": "__listOfInputClipping", - "locationName": "inputClippings", - "documentation": "(InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them." - }, - "ProgramNumber": { - "shape": "__integerMin1Max2147483647", - "locationName": "programNumber", - "documentation": "Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default." - }, - "PsiControl": { - "shape": "InputPsiControl", - "locationName": "psiControl" - }, - "TimecodeSource": { - "shape": "InputTimecodeSource", - "locationName": "timecodeSource" - }, - "VideoSelector": { - "shape": "VideoSelector", - "locationName": "videoSelector" - } - }, - "documentation": "Specifies media input" - }, - "InputClipping": { - "type": "structure", - "members": { - "EndTimecode": { - "shape": "__stringPattern010920405090509092", - "locationName": "endTimecode", - "documentation": "Set End timecode (EndTimecode) to the end of the portion of the input you are clipping. The frame corresponding to the End timecode value is included in the clip. Start timecode or End timecode may be left blank, but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When choosing this value, take into account your setting for timecode source under input settings (InputTimecodeSource). For example, if you have embedded timecodes that start at 01:00:00:00 and you want your clip to end six minutes into the video, use 01:06:00:00." - }, - "StartTimecode": { - "shape": "__stringPattern010920405090509092", - "locationName": "startTimecode", - "documentation": "Set Start timecode (StartTimecode) to the beginning of the portion of the input you are clipping. The frame corresponding to the Start timecode value is included in the clip. Start timecode or End timecode may be left blank, but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When choosing this value, take into account your setting for Input timecode source. For example, if you have embedded timecodes that start at 01:00:00:00 and you want your clip to begin five minutes into the video, use 01:05:00:00." - } - }, - "documentation": "To transcode only portions of your input (clips), include one Input clipping (one instance of InputClipping in the JSON job file) for each input clip. All input clips you specify will be included in every output of the job." - }, - "InputDeblockFilter": { - "type": "string", - "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "InputDenoiseFilter": { - "type": "string", - "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "InputFilterEnable": { - "type": "string", - "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type.", - "enum": [ - "AUTO", - "DISABLE", - "FORCE" - ] - }, - "InputPsiControl": { - "type": "string", - "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data.", - "enum": [ - "IGNORE_PSI", - "USE_PSI" - ] - }, - "InputTemplate": { - "type": "structure", - "members": { - "AudioSelectorGroups": { - "shape": "__mapOfAudioSelectorGroup", - "locationName": "audioSelectorGroups", - "documentation": "Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See \"Audio Selector Group\":#inputs-audio_selector_group for more information." - }, - "AudioSelectors": { - "shape": "__mapOfAudioSelector", - "locationName": "audioSelectors", - "documentation": "Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use mutiple Audio selectors per input." - }, - "CaptionSelectors": { - "shape": "__mapOfCaptionSelector", - "locationName": "captionSelectors", - "documentation": "Use Captions selectors (CaptionSelectors) to specify the captions data from the input that you will use in your outputs. You can use mutiple captions selectors per input." - }, - "DeblockFilter": { - "shape": "InputDeblockFilter", - "locationName": "deblockFilter" - }, - "DenoiseFilter": { - "shape": "InputDenoiseFilter", - "locationName": "denoiseFilter" - }, - "FilterEnable": { - "shape": "InputFilterEnable", - "locationName": "filterEnable" - }, - "FilterStrength": { - "shape": "__integerMinNegative5Max5", - "locationName": "filterStrength", - "documentation": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0." - }, - "InputClippings": { - "shape": "__listOfInputClipping", - "locationName": "inputClippings", - "documentation": "(InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them." - }, - "ProgramNumber": { - "shape": "__integerMin1Max2147483647", - "locationName": "programNumber", - "documentation": "Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default." - }, - "PsiControl": { - "shape": "InputPsiControl", - "locationName": "psiControl" - }, - "TimecodeSource": { - "shape": "InputTimecodeSource", - "locationName": "timecodeSource" - }, - "VideoSelector": { - "shape": "VideoSelector", - "locationName": "videoSelector" - } - }, - "documentation": "Specified video input in a template." - }, - "InputTimecodeSource": { - "type": "string", - "documentation": "Timecode source under input settings (InputTimecodeSource) only affects the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Use this setting to specify whether the service counts frames by timecodes embedded in the video (EMBEDDED) or by starting the first frame at zero (ZEROBASED). In both cases, the timecode format is HH:MM:SS:FF or HH:MM:SS;FF, where FF is the frame number. Only set this to EMBEDDED if your source video has embedded timecodes.", - "enum": [ - "EMBEDDED", - "ZEROBASED", - "SPECIFIEDSTART" - ] - }, - "InsertableImage": { - "type": "structure", - "members": { - "Duration": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "duration", - "documentation": "Use Duration (Duration) to set the time, in milliseconds, for the image to remain on the output video." - }, - "FadeIn": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "fadeIn", - "documentation": "Use Fade in (FadeIut) to set the length, in milliseconds, of the inserted image fade in. If you don't specify a value for Fade in, the image will appear abruptly at the Start time." - }, - "FadeOut": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "fadeOut", - "documentation": "Use Fade out (FadeOut) to set the length, in milliseconds, of the inserted image fade out. If you don't specify a value for Fade out, the image will disappear abruptly at the end of the inserted image duration." - }, - "Height": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "height", - "documentation": "Specify the Height (Height) of the inserted image. Use a value that is less than or equal to the video resolution height. Leave this setting blank to use the native height of the image." - }, - "ImageInserterInput": { - "shape": "__stringMin14PatternS3BmpBMPPngPNGTgaTGA", - "locationName": "imageInserterInput", - "documentation": "Use Image location (imageInserterInput) to specify the Amazon S3 location of the image to be inserted into the output. Use a 32 bit BMP, PNG, or TGA file that fits inside the video frame." - }, - "ImageX": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "imageX", - "documentation": "Use Left (ImageX) to set the distance, in pixels, between the inserted image and the left edge of the frame. Required for BMP, PNG and TGA input." - }, - "ImageY": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "imageY", - "documentation": "Use Top (ImageY) to set the distance, in pixels, between the inserted image and the top edge of the video frame. Required for BMP, PNG and TGA input." - }, - "Layer": { - "shape": "__integerMin0Max99", - "locationName": "layer", - "documentation": "Use Layer (Layer) to specify how overlapping inserted images appear. Images with higher values of layer appear on top of images with lower values of layer." - }, - "Opacity": { - "shape": "__integerMin0Max100", - "locationName": "opacity", - "documentation": "Use Opacity (Opacity) to specify how much of the underlying video shows through the inserted image. 0 is transparent and 100 is fully opaque. Default is 50." - }, - "StartTime": { - "shape": "__stringPattern01D20305D205D", - "locationName": "startTime", - "documentation": "Use Start time (StartTime) to specify the video timecode when the image is inserted in the output. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format." - }, - "Width": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "width", - "documentation": "Specify the Width (Width) of the inserted image. Use a value that is less than or equal to the video resolution width. Leave this setting blank to use the native width of the image." - } - }, - "documentation": "Settings for Insertable Image" - }, - "InternalServerErrorException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 500 - }, - "documentation": "The service encountered an unexpected condition and cannot fulfill your request." - }, - "Job": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "An identifier for this resource that is unique within all of AWS." - }, - "CreatedAt": { - "shape": "__timestampUnix", - "locationName": "createdAt", - "documentation": "The time, in Unix epoch format in seconds, when the job got created." - }, - "ErrorCode": { - "shape": "__integer", - "locationName": "errorCode", - "documentation": "Error code for the job" - }, - "ErrorMessage": { - "shape": "__string", - "locationName": "errorMessage", - "documentation": "Error message of Job" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources" - }, - "JobTemplate": { - "shape": "__string", - "locationName": "jobTemplate", - "documentation": "The job template that the job is created from, if it is created from a job template." - }, - "OutputGroupDetails": { - "shape": "__listOfOutputGroupDetail", - "locationName": "outputGroupDetails", - "documentation": "List of output group details" - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" - }, - "Role": { - "shape": "__string", - "locationName": "role", - "documentation": "The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html" - }, - "Settings": { - "shape": "JobSettings", - "locationName": "settings" - }, - "Status": { - "shape": "JobStatus", - "locationName": "status" - }, - "Timing": { - "shape": "Timing", - "locationName": "timing" - }, - "UserMetadata": { - "shape": "__mapOf__string", - "locationName": "userMetadata", - "documentation": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs." - } - }, - "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html", - "required": [ - "Role", - "Settings" - ] - }, - "JobSettings": { - "type": "structure", - "members": { - "AdAvailOffset": { - "shape": "__integerMinNegative1000Max1000", - "locationName": "adAvailOffset", - "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time." - }, - "AvailBlanking": { - "shape": "AvailBlanking", - "locationName": "availBlanking", - "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." - }, - "Inputs": { - "shape": "__listOfInput", - "locationName": "inputs", - "documentation": "Use Inputs (inputs) to define source file used in the transcode job. There can be multiple inputs add in a job. These inputs will be concantenated together to create the output." - }, - "NielsenConfiguration": { - "shape": "NielsenConfiguration", - "locationName": "nielsenConfiguration" - }, - "OutputGroups": { - "shape": "__listOfOutputGroup", - "locationName": "outputGroups", - "documentation": "(OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings" - }, - "TimecodeConfig": { - "shape": "TimecodeConfig", - "locationName": "timecodeConfig", - "documentation": "Contains settings used to acquire and adjust timecode information from inputs." - }, - "TimedMetadataInsertion": { - "shape": "TimedMetadataInsertion", - "locationName": "timedMetadataInsertion" - } - }, - "documentation": "JobSettings contains all the transcode settings for a job." - }, - "JobStatus": { - "type": "string", - "documentation": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.", - "enum": [ - "SUBMITTED", - "PROGRESSING", - "COMPLETE", - "CANCELED", - "ERROR" - ] - }, - "JobTemplate": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "An identifier for this resource that is unique within all of AWS." - }, - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "An optional category you create to organize your job templates." - }, - "CreatedAt": { - "shape": "__timestampUnix", - "locationName": "createdAt", - "documentation": "The timestamp in epoch seconds for Job template creation." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "An optional description you create for each job template." - }, - "LastUpdated": { - "shape": "__timestampUnix", - "locationName": "lastUpdated", - "documentation": "The timestamp in epoch seconds when the Job template was last updated." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "A name you create for each job template. Each name must be unique within your account." - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue." - }, - "Settings": { - "shape": "JobTemplateSettings", - "locationName": "settings" - }, - "Type": { - "shape": "Type", - "locationName": "type", - "documentation": "A job template can be of two types: system or custom. System or built-in job templates can't be modified or deleted by the user." - } - }, - "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job.", - "required": [ - "Settings", - "Name" - ] - }, - "JobTemplateListBy": { - "type": "string", - "documentation": "Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", - "enum": [ - "NAME", - "CREATION_DATE", - "SYSTEM" - ] - }, - "JobTemplateSettings": { - "type": "structure", - "members": { - "AdAvailOffset": { - "shape": "__integerMinNegative1000Max1000", - "locationName": "adAvailOffset", - "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time." - }, - "AvailBlanking": { - "shape": "AvailBlanking", - "locationName": "availBlanking", - "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." - }, - "Inputs": { - "shape": "__listOfInputTemplate", - "locationName": "inputs", - "documentation": "Use Inputs (inputs) to define the source file used in the transcode job. There can only be one input in a job template. Using the API, you can include multiple inputs when referencing a job template." - }, - "NielsenConfiguration": { - "shape": "NielsenConfiguration", - "locationName": "nielsenConfiguration" - }, - "OutputGroups": { - "shape": "__listOfOutputGroup", - "locationName": "outputGroups", - "documentation": "(OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings" - }, - "TimecodeConfig": { - "shape": "TimecodeConfig", - "locationName": "timecodeConfig", - "documentation": "Contains settings used to acquire and adjust timecode information from inputs." - }, - "TimedMetadataInsertion": { - "shape": "TimedMetadataInsertion", - "locationName": "timedMetadataInsertion" - } - }, - "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." - }, - "LanguageCode": { - "type": "string", - "documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.", - "enum": [ - "ENG", - "SPA", - "FRA", - "DEU", - "GER", - "ZHO", - "ARA", - "HIN", - "JPN", - "RUS", - "POR", - "ITA", - "URD", - "VIE", - "KOR", - "PAN", - "ABK", - "AAR", - "AFR", - "AKA", - "SQI", - "AMH", - "ARG", - "HYE", - "ASM", - "AVA", - "AVE", - "AYM", - "AZE", - "BAM", - "BAK", - "EUS", - "BEL", - "BEN", - "BIH", - "BIS", - "BOS", - "BRE", - "BUL", - "MYA", - "CAT", - "KHM", - "CHA", - "CHE", - "NYA", - "CHU", - "CHV", - "COR", - "COS", - "CRE", - "HRV", - "CES", - "DAN", - "DIV", - "NLD", - "DZO", - "ENM", - "EPO", - "EST", - "EWE", - "FAO", - "FIJ", - "FIN", - "FRM", - "FUL", - "GLA", - "GLG", - "LUG", - "KAT", - "ELL", - "GRN", - "GUJ", - "HAT", - "HAU", - "HEB", - "HER", - "HMO", - "HUN", - "ISL", - "IDO", - "IBO", - "IND", - "INA", - "ILE", - "IKU", - "IPK", - "GLE", - "JAV", - "KAL", - "KAN", - "KAU", - "KAS", - "KAZ", - "KIK", - "KIN", - "KIR", - "KOM", - "KON", - "KUA", - "KUR", - "LAO", - "LAT", - "LAV", - "LIM", - "LIN", - "LIT", - "LUB", - "LTZ", - "MKD", - "MLG", - "MSA", - "MAL", - "MLT", - "GLV", - "MRI", - "MAR", - "MAH", - "MON", - "NAU", - "NAV", - "NDE", - "NBL", - "NDO", - "NEP", - "SME", - "NOR", - "NOB", - "NNO", - "OCI", - "OJI", - "ORI", - "ORM", - "OSS", - "PLI", - "FAS", - "POL", - "PUS", - "QUE", - "QAA", - "RON", - "ROH", - "RUN", - "SMO", - "SAG", - "SAN", - "SRD", - "SRB", - "SNA", - "III", - "SND", - "SIN", - "SLK", - "SLV", - "SOM", - "SOT", - "SUN", - "SWA", - "SSW", - "SWE", - "TGL", - "TAH", - "TGK", - "TAM", - "TAT", - "TEL", - "THA", - "BOD", - "TIR", - "TON", - "TSO", - "TSN", - "TUR", - "TUK", - "TWI", - "UIG", - "UKR", - "UZB", - "VEN", - "VOL", - "WLN", - "CYM", - "FRY", - "WOL", - "XHO", - "YID", - "YOR", - "ZHA", - "ZUL", - "ORJ", - "QPC", - "TNG" - ] - }, - "ListJobTemplatesRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "Optionally, specify a job template category to limit responses to only job templates from that category.", - "location": "querystring" - }, - "ListBy": { - "shape": "JobTemplateListBy", - "locationName": "listBy", - "location": "querystring" - }, - "MaxResults": { - "shape": "__integerMin1Max20", - "locationName": "maxResults", - "documentation": "Optional. Number of job templates, up to twenty, that will be returned at one time.", - "location": "querystring" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string, provided with the response to a previous request, to request the next batch of job templates.", - "location": "querystring" - }, - "Order": { - "shape": "Order", - "locationName": "order", - "location": "querystring" - } - } - }, - "ListJobTemplatesResponse": { - "type": "structure", - "members": { - "JobTemplates": { - "shape": "__listOfJobTemplate", - "locationName": "jobTemplates", - "documentation": "List of Job templates." - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string to request the next batch of job templates." - } - } - }, - "ListJobsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "shape": "__integerMin1Max20", - "locationName": "maxResults", - "documentation": "Optional. Number of jobs, up to twenty, that will be returned at one time.", - "location": "querystring" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string, provided with the response to a previous request, to request the next batch of jobs.", - "location": "querystring" - }, - "Order": { - "shape": "Order", - "locationName": "order", - "location": "querystring" - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "Provide a queue name to get back only jobs from that queue.", - "location": "querystring" - }, - "Status": { - "shape": "JobStatus", - "locationName": "status", - "location": "querystring" - } - } - }, - "ListJobsResponse": { - "type": "structure", - "members": { - "Jobs": { - "shape": "__listOfJob", - "locationName": "jobs", - "documentation": "List of jobs" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string to request the next batch of jobs." - } - } - }, - "ListPresetsRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "Optionally, specify a preset category to limit responses to only presets from that category.", - "location": "querystring" - }, - "ListBy": { - "shape": "PresetListBy", - "locationName": "listBy", - "location": "querystring" - }, - "MaxResults": { - "shape": "__integerMin1Max20", - "locationName": "maxResults", - "documentation": "Optional. Number of presets, up to twenty, that will be returned at one time", - "location": "querystring" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string, provided with the response to a previous request, to request the next batch of presets.", - "location": "querystring" - }, - "Order": { - "shape": "Order", - "locationName": "order", - "location": "querystring" - } - } - }, - "ListPresetsResponse": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string to request the next batch of presets." - }, - "Presets": { - "shape": "__listOfPreset", - "locationName": "presets", - "documentation": "List of presets" - } - } - }, - "ListQueuesRequest": { - "type": "structure", - "members": { - "ListBy": { - "shape": "QueueListBy", - "locationName": "listBy", - "location": "querystring" - }, - "MaxResults": { - "shape": "__integerMin1Max20", - "locationName": "maxResults", - "documentation": "Optional. Number of queues, up to twenty, that will be returned at one time.", - "location": "querystring" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string, provided with the response to a previous request, to request the next batch of queues.", - "location": "querystring" - }, - "Order": { - "shape": "Order", - "locationName": "order", - "location": "querystring" - } - } - }, - "ListQueuesResponse": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Use this string to request the next batch of queues." - }, - "Queues": { - "shape": "__listOfQueue", - "locationName": "queues", - "documentation": "List of queues" - } - } - }, - "ListTagsForResourceRequest": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Amazon Resource Name (ARN) of the resource that you want to list tags for. To get the ARN, send a GET request with the resource name.", - "location": "uri" - } - }, - "required": [ - "Arn" - ] - }, - "ListTagsForResourceResponse": { - "type": "structure", - "members": { - "ResourceTags": { - "shape": "ResourceTags", - "locationName": "resourceTags" - } - } - }, - "M2tsAudioBufferModel": { - "type": "string", - "documentation": "Selects between the DVB and ATSC buffer models for Dolby Digital audio.", - "enum": [ - "DVB", - "ATSC" - ] - }, - "M2tsBufferModel": { - "type": "string", - "documentation": "Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions.", - "enum": [ - "MULTIPLEX", - "NONE" - ] - }, - "M2tsEbpAudioInterval": { - "type": "string", - "documentation": "When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY).", - "enum": [ - "VIDEO_AND_FIXED_INTERVALS", - "VIDEO_INTERVAL" - ] - }, - "M2tsEbpPlacement": { - "type": "string", - "documentation": "Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY).", - "enum": [ - "VIDEO_AND_AUDIO_PIDS", - "VIDEO_PID" - ] - }, - "M2tsEsRateInPes": { - "type": "string", - "documentation": "Controls whether to include the ES Rate field in the PES header.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "M2tsNielsenId3": { - "type": "string", - "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.", - "enum": [ - "INSERT", - "NONE" - ] - }, - "M2tsPcrControl": { - "type": "string", - "documentation": "When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream.", - "enum": [ - "PCR_EVERY_PES_PACKET", - "CONFIGURED_PCR_PERIOD" - ] - }, - "M2tsRateMode": { - "type": "string", - "documentation": "When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate.", - "enum": [ - "VBR", - "CBR" - ] - }, - "M2tsScte35Source": { - "type": "string", - "documentation": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output.", - "enum": [ - "PASSTHROUGH", - "NONE" - ] - }, - "M2tsSegmentationMarkers": { - "type": "string", - "documentation": "Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format.", - "enum": [ - "NONE", - "RAI_SEGSTART", - "RAI_ADAPT", - "PSI_SEGSTART", - "EBP", - "EBP_LEGACY" - ] - }, - "M2tsSegmentationStyle": { - "type": "string", - "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of \"reset_cadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of \"maintain_cadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule.", - "enum": [ - "MAINTAIN_CADENCE", - "RESET_CADENCE" - ] - }, - "M2tsSettings": { - "type": "structure", - "members": { - "AudioBufferModel": { - "shape": "M2tsAudioBufferModel", - "locationName": "audioBufferModel" - }, - "AudioFramesPerPes": { - "shape": "__integerMin0Max2147483647", - "locationName": "audioFramesPerPes", - "documentation": "The number of audio frames to insert for each PES packet." - }, - "AudioPids": { - "shape": "__listOf__integerMin32Max8182", - "locationName": "audioPids", - "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation." - }, - "Bitrate": { - "shape": "__integerMin0Max2147483647", - "locationName": "bitrate", - "documentation": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000." - }, - "BufferModel": { - "shape": "M2tsBufferModel", - "locationName": "bufferModel" - }, - "DvbNitSettings": { - "shape": "DvbNitSettings", - "locationName": "dvbNitSettings" - }, - "DvbSdtSettings": { - "shape": "DvbSdtSettings", - "locationName": "dvbSdtSettings" - }, - "DvbSubPids": { - "shape": "__listOf__integerMin32Max8182", - "locationName": "dvbSubPids", - "documentation": "Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation." - }, - "DvbTdtSettings": { - "shape": "DvbTdtSettings", - "locationName": "dvbTdtSettings" - }, - "DvbTeletextPid": { - "shape": "__integerMin32Max8182", - "locationName": "dvbTeletextPid", - "documentation": "Packet Identifier (PID) for input source DVB Teletext data to this output." - }, - "EbpAudioInterval": { - "shape": "M2tsEbpAudioInterval", - "locationName": "ebpAudioInterval" - }, - "EbpPlacement": { - "shape": "M2tsEbpPlacement", - "locationName": "ebpPlacement" - }, - "EsRateInPes": { - "shape": "M2tsEsRateInPes", - "locationName": "esRateInPes" - }, - "FragmentTime": { - "shape": "__doubleMin0", - "locationName": "fragmentTime", - "documentation": "The length in seconds of each fragment. Only used with EBP markers." - }, - "MaxPcrInterval": { - "shape": "__integerMin0Max500", - "locationName": "maxPcrInterval", - "documentation": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." - }, - "MinEbpInterval": { - "shape": "__integerMin0Max10000", - "locationName": "minEbpInterval", - "documentation": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate." - }, - "NielsenId3": { - "shape": "M2tsNielsenId3", - "locationName": "nielsenId3" - }, - "NullPacketBitrate": { - "shape": "__doubleMin0", - "locationName": "nullPacketBitrate", - "documentation": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets." - }, - "PatInterval": { - "shape": "__integerMin0Max1000", - "locationName": "patInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "PcrControl": { - "shape": "M2tsPcrControl", - "locationName": "pcrControl" - }, - "PcrPid": { - "shape": "__integerMin32Max8182", - "locationName": "pcrPid", - "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID." - }, - "PmtInterval": { - "shape": "__integerMin0Max1000", - "locationName": "pmtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "PmtPid": { - "shape": "__integerMin32Max8182", - "locationName": "pmtPid", - "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream." - }, - "PrivateMetadataPid": { - "shape": "__integerMin32Max8182", - "locationName": "privateMetadataPid", - "documentation": "Packet Identifier (PID) of the private metadata stream in the transport stream." - }, - "ProgramNumber": { - "shape": "__integerMin0Max65535", - "locationName": "programNumber", - "documentation": "The value of the program number field in the Program Map Table." - }, - "RateMode": { - "shape": "M2tsRateMode", - "locationName": "rateMode" - }, - "Scte35Pid": { - "shape": "__integerMin32Max8182", - "locationName": "scte35Pid", - "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream." - }, - "Scte35Source": { - "shape": "M2tsScte35Source", - "locationName": "scte35Source" - }, - "SegmentationMarkers": { - "shape": "M2tsSegmentationMarkers", - "locationName": "segmentationMarkers" - }, - "SegmentationStyle": { - "shape": "M2tsSegmentationStyle", - "locationName": "segmentationStyle" - }, - "SegmentationTime": { - "shape": "__doubleMin0", - "locationName": "segmentationTime", - "documentation": "The length in seconds of each segment. Required unless markers is set to _none_." - }, - "TimedMetadataPid": { - "shape": "__integerMin32Max8182", - "locationName": "timedMetadataPid", - "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream." - }, - "TransportStreamId": { - "shape": "__integerMin0Max65535", - "locationName": "transportStreamId", - "documentation": "The value of the transport stream ID field in the Program Map Table." - }, - "VideoPid": { - "shape": "__integerMin32Max8182", - "locationName": "videoPid", - "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream." - } - }, - "documentation": "Settings for M2TS Container." - }, - "M3u8NielsenId3": { - "type": "string", - "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.", - "enum": [ - "INSERT", - "NONE" - ] - }, - "M3u8PcrControl": { - "type": "string", - "documentation": "When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.", - "enum": [ - "PCR_EVERY_PES_PACKET", - "CONFIGURED_PCR_PERIOD" - ] - }, - "M3u8Scte35Source": { - "type": "string", - "documentation": "Enables SCTE-35 passthrough (scte35Source) to pass any SCTE-35 signals from input to output.", - "enum": [ - "PASSTHROUGH", - "NONE" - ] - }, - "M3u8Settings": { - "type": "structure", - "members": { - "AudioFramesPerPes": { - "shape": "__integerMin0Max2147483647", - "locationName": "audioFramesPerPes", - "documentation": "The number of audio frames to insert for each PES packet." - }, - "AudioPids": { - "shape": "__listOf__integerMin32Max8182", - "locationName": "audioPids", - "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation." - }, - "NielsenId3": { - "shape": "M3u8NielsenId3", - "locationName": "nielsenId3" - }, - "PatInterval": { - "shape": "__integerMin0Max1000", - "locationName": "patInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "PcrControl": { - "shape": "M3u8PcrControl", - "locationName": "pcrControl" - }, - "PcrPid": { - "shape": "__integerMin32Max8182", - "locationName": "pcrPid", - "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID." - }, - "PmtInterval": { - "shape": "__integerMin0Max1000", - "locationName": "pmtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "PmtPid": { - "shape": "__integerMin32Max8182", - "locationName": "pmtPid", - "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream." - }, - "PrivateMetadataPid": { - "shape": "__integerMin32Max8182", - "locationName": "privateMetadataPid", - "documentation": "Packet Identifier (PID) of the private metadata stream in the transport stream." - }, - "ProgramNumber": { - "shape": "__integerMin0Max65535", - "locationName": "programNumber", - "documentation": "The value of the program number field in the Program Map Table." - }, - "Scte35Pid": { - "shape": "__integerMin32Max8182", - "locationName": "scte35Pid", - "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream." - }, - "Scte35Source": { - "shape": "M3u8Scte35Source", - "locationName": "scte35Source" - }, - "TimedMetadata": { - "shape": "TimedMetadata", - "locationName": "timedMetadata" - }, - "TimedMetadataPid": { - "shape": "__integerMin32Max8182", - "locationName": "timedMetadataPid", - "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream." - }, - "TransportStreamId": { - "shape": "__integerMin0Max65535", - "locationName": "transportStreamId", - "documentation": "The value of the transport stream ID field in the Program Map Table." - }, - "VideoPid": { - "shape": "__integerMin32Max8182", - "locationName": "videoPid", - "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream." - } - }, - "documentation": "Settings for TS segments in HLS" - }, - "MovClapAtom": { - "type": "string", - "documentation": "When enabled, include 'clap' atom if appropriate for the video output settings.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "MovCslgAtom": { - "type": "string", - "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "MovMpeg2FourCCControl": { - "type": "string", - "documentation": "When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2.", - "enum": [ - "XDCAM", - "MPEG" - ] - }, - "MovPaddingControl": { - "type": "string", - "documentation": "If set to OMNEON, inserts Omneon-compatible padding", - "enum": [ - "OMNEON", - "NONE" - ] - }, - "MovReference": { - "type": "string", - "documentation": "A value of 'external' creates separate media files and the wrapper file (.mov) contains references to these media files. A value of 'self_contained' creates only a wrapper (.mov) file and this file contains all of the media.", - "enum": [ - "SELF_CONTAINED", - "EXTERNAL" - ] - }, - "MovSettings": { - "type": "structure", - "members": { - "ClapAtom": { - "shape": "MovClapAtom", - "locationName": "clapAtom" - }, - "CslgAtom": { - "shape": "MovCslgAtom", - "locationName": "cslgAtom" - }, - "Mpeg2FourCCControl": { - "shape": "MovMpeg2FourCCControl", - "locationName": "mpeg2FourCCControl" - }, - "PaddingControl": { - "shape": "MovPaddingControl", - "locationName": "paddingControl" - }, - "Reference": { - "shape": "MovReference", - "locationName": "reference" - } - }, - "documentation": "Settings for MOV Container." - }, - "Mp2Settings": { - "type": "structure", - "members": { - "Bitrate": { - "shape": "__integerMin32000Max384000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second." - }, - "Channels": { - "shape": "__integerMin1Max2", - "locationName": "channels", - "documentation": "Set Channels to specify the number of channels in this output audio track. Choosing Mono in the console will give you 1 output channel; choosing Stereo will give you 2. In the API, valid values are 1 and 2." - }, - "SampleRate": { - "shape": "__integerMin32000Max48000", - "locationName": "sampleRate", - "documentation": "Sample rate in hz." - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2." - }, - "Mp4CslgAtom": { - "type": "string", - "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "Mp4FreeSpaceBox": { - "type": "string", - "documentation": "Inserts a free-space box immediately after the moov box.", - "enum": [ - "INCLUDE", - "EXCLUDE" - ] - }, - "Mp4MoovPlacement": { - "type": "string", - "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end.", - "enum": [ - "PROGRESSIVE_DOWNLOAD", - "NORMAL" - ] - }, - "Mp4Settings": { - "type": "structure", - "members": { - "CslgAtom": { - "shape": "Mp4CslgAtom", - "locationName": "cslgAtom" - }, - "FreeSpaceBox": { - "shape": "Mp4FreeSpaceBox", - "locationName": "freeSpaceBox" - }, - "MoovPlacement": { - "shape": "Mp4MoovPlacement", - "locationName": "moovPlacement" - }, - "Mp4MajorBrand": { - "shape": "__string", - "locationName": "mp4MajorBrand", - "documentation": "Overrides the \"Major Brand\" field in the output file. Usually not necessary to specify." - } - }, - "documentation": "Settings for MP4 Container" - }, - "Mpeg2AdaptiveQuantization": { - "type": "string", - "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", - "enum": [ - "OFF", - "LOW", - "MEDIUM", - "HIGH" - ] - }, - "Mpeg2CodecLevel": { - "type": "string", - "documentation": "Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.", - "enum": [ - "AUTO", - "LOW", - "MAIN", - "HIGH1440", - "HIGH" - ] - }, - "Mpeg2CodecProfile": { - "type": "string", - "documentation": "Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.", - "enum": [ - "MAIN", - "PROFILE_422" - ] - }, - "Mpeg2DynamicSubGop": { - "type": "string", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", - "enum": [ - "ADAPTIVE", - "STATIC" - ] - }, - "Mpeg2FramerateControl": { - "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "Mpeg2FramerateConversionAlgorithm": { - "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", - "enum": [ - "DUPLICATE_DROP", - "INTERPOLATE" - ] - }, - "Mpeg2GopSizeUnits": { - "type": "string", - "documentation": "Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", - "enum": [ - "FRAMES", - "SECONDS" - ] - }, - "Mpeg2InterlaceMode": { - "type": "string", - "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", - "enum": [ - "PROGRESSIVE", - "TOP_FIELD", - "BOTTOM_FIELD", - "FOLLOW_TOP_FIELD", - "FOLLOW_BOTTOM_FIELD" - ] - }, - "Mpeg2IntraDcPrecision": { - "type": "string", - "documentation": "Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio.", - "enum": [ - "AUTO", - "INTRA_DC_PRECISION_8", - "INTRA_DC_PRECISION_9", - "INTRA_DC_PRECISION_10", - "INTRA_DC_PRECISION_11" - ] - }, - "Mpeg2ParControl": { - "type": "string", - "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "Mpeg2QualityTuningLevel": { - "type": "string", - "documentation": "Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to use single-pass or multipass video encoding.", - "enum": [ - "SINGLE_PASS", - "MULTI_PASS" - ] - }, - "Mpeg2RateControlMode": { - "type": "string", - "documentation": "Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr).", - "enum": [ - "VBR", - "CBR" - ] - }, - "Mpeg2SceneChangeDetect": { - "type": "string", - "documentation": "Scene change detection (inserts I-frames on scene changes).", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "Mpeg2Settings": { - "type": "structure", - "members": { - "AdaptiveQuantization": { - "shape": "Mpeg2AdaptiveQuantization", - "locationName": "adaptiveQuantization" - }, - "Bitrate": { - "shape": "__integerMin1000Max288000000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." - }, - "CodecLevel": { - "shape": "Mpeg2CodecLevel", - "locationName": "codecLevel" - }, - "CodecProfile": { - "shape": "Mpeg2CodecProfile", - "locationName": "codecProfile" - }, - "DynamicSubGop": { - "shape": "Mpeg2DynamicSubGop", - "locationName": "dynamicSubGop", - "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." - }, - "FramerateControl": { - "shape": "Mpeg2FramerateControl", - "locationName": "framerateControl" - }, - "FramerateConversionAlgorithm": { - "shape": "Mpeg2FramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" - }, - "FramerateDenominator": { - "shape": "__integerMin1Max1001", - "locationName": "framerateDenominator", - "documentation": "Framerate denominator." - }, - "FramerateNumerator": { - "shape": "__integerMin24Max60000", - "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." - }, - "GopClosedCadence": { - "shape": "__integerMin0Max2147483647", - "locationName": "gopClosedCadence", - "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." - }, - "GopSize": { - "shape": "__doubleMin0", - "locationName": "gopSize", - "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." - }, - "GopSizeUnits": { - "shape": "Mpeg2GopSizeUnits", - "locationName": "gopSizeUnits" - }, - "HrdBufferInitialFillPercentage": { - "shape": "__integerMin0Max100", - "locationName": "hrdBufferInitialFillPercentage", - "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." - }, - "HrdBufferSize": { - "shape": "__integerMin0Max47185920", - "locationName": "hrdBufferSize", - "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." - }, - "InterlaceMode": { - "shape": "Mpeg2InterlaceMode", - "locationName": "interlaceMode" - }, - "IntraDcPrecision": { - "shape": "Mpeg2IntraDcPrecision", - "locationName": "intraDcPrecision" - }, - "MaxBitrate": { - "shape": "__integerMin1000Max300000000", - "locationName": "maxBitrate", - "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000." - }, - "MinIInterval": { - "shape": "__integerMin0Max30", - "locationName": "minIInterval", - "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" - }, - "NumberBFramesBetweenReferenceFrames": { - "shape": "__integerMin0Max7", - "locationName": "numberBFramesBetweenReferenceFrames", - "documentation": "Number of B-frames between reference frames." - }, - "ParControl": { - "shape": "Mpeg2ParControl", - "locationName": "parControl" - }, - "ParDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parDenominator", - "documentation": "Pixel Aspect Ratio denominator." - }, - "ParNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parNumerator", - "documentation": "Pixel Aspect Ratio numerator." - }, - "QualityTuningLevel": { - "shape": "Mpeg2QualityTuningLevel", - "locationName": "qualityTuningLevel" - }, - "RateControlMode": { - "shape": "Mpeg2RateControlMode", - "locationName": "rateControlMode" - }, - "SceneChangeDetect": { - "shape": "Mpeg2SceneChangeDetect", - "locationName": "sceneChangeDetect" - }, - "SlowPal": { - "shape": "Mpeg2SlowPal", - "locationName": "slowPal" - }, - "Softness": { - "shape": "__integerMin0Max128", - "locationName": "softness", - "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." - }, - "SpatialAdaptiveQuantization": { - "shape": "Mpeg2SpatialAdaptiveQuantization", - "locationName": "spatialAdaptiveQuantization" - }, - "Syntax": { - "shape": "Mpeg2Syntax", - "locationName": "syntax" - }, - "Telecine": { - "shape": "Mpeg2Telecine", - "locationName": "telecine" - }, - "TemporalAdaptiveQuantization": { - "shape": "Mpeg2TemporalAdaptiveQuantization", - "locationName": "temporalAdaptiveQuantization" - } - }, - "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2." - }, - "Mpeg2SlowPal": { - "type": "string", - "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "Mpeg2SpatialAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "Mpeg2Syntax": { - "type": "string", - "documentation": "Produces a Type D-10 compatible bitstream (SMPTE 356M-2001).", - "enum": [ - "DEFAULT", - "D_10" - ] - }, - "Mpeg2Telecine": { - "type": "string", - "documentation": "Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player.", - "enum": [ - "NONE", - "SOFT", - "HARD" - ] - }, - "Mpeg2TemporalAdaptiveQuantization": { - "type": "string", - "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "MsSmoothAudioDeduplication": { - "type": "string", - "documentation": "COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream.", - "enum": [ - "COMBINE_DUPLICATE_STREAMS", - "NONE" - ] - }, - "MsSmoothEncryptionSettings": { - "type": "structure", - "members": { - "SpekeKeyProvider": { - "shape": "SpekeKeyProvider", - "locationName": "spekeKeyProvider" - } - }, - "documentation": "If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider." - }, - "MsSmoothGroupSettings": { - "type": "structure", - "members": { - "AudioDeduplication": { - "shape": "MsSmoothAudioDeduplication", - "locationName": "audioDeduplication" - }, - "Destination": { - "shape": "__stringPatternS3", - "locationName": "destination", - "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." - }, - "Encryption": { - "shape": "MsSmoothEncryptionSettings", - "locationName": "encryption" - }, - "FragmentLength": { - "shape": "__integerMin1Max2147483647", - "locationName": "fragmentLength", - "documentation": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and framerate." - }, - "ManifestEncoding": { - "shape": "MsSmoothManifestEncoding", - "locationName": "manifestEncoding" - } - }, - "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS." - }, - "MsSmoothManifestEncoding": { - "type": "string", - "documentation": "Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16.", - "enum": [ - "UTF8", - "UTF16" - ] - }, - "NielsenConfiguration": { - "type": "structure", - "members": { - "BreakoutCode": { - "shape": "__integerMin0Max9", - "locationName": "breakoutCode", - "documentation": "Use Nielsen Configuration (NielsenConfiguration) to set the Nielsen measurement system breakout code. Supported values are 0, 3, 7, and 9." - }, - "DistributorId": { - "shape": "__string", - "locationName": "distributorId", - "documentation": "Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen." - } - }, - "documentation": "Settings for Nielsen Configuration" - }, - "NoiseReducer": { - "type": "structure", - "members": { - "Filter": { - "shape": "NoiseReducerFilter", - "locationName": "filter" - }, - "FilterSettings": { - "shape": "NoiseReducerFilterSettings", - "locationName": "filterSettings" - }, - "SpatialFilterSettings": { - "shape": "NoiseReducerSpatialFilterSettings", - "locationName": "spatialFilterSettings" - } - }, - "documentation": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer (NoiseReducer), you must also select a value for Noise reducer filter (NoiseReducerFilter)." - }, - "NoiseReducerFilter": { - "type": "string", - "documentation": "Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral is an edge preserving noise reduction filter. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) are convolution filters. * Conserve is a min/max noise reduction filter. * Spatial is a frequency-domain filter based on JND principles.", - "enum": [ - "BILATERAL", - "MEAN", - "GAUSSIAN", - "LANCZOS", - "SHARPEN", - "CONSERVE", - "SPATIAL" - ] - }, - "NoiseReducerFilterSettings": { - "type": "structure", - "members": { - "Strength": { - "shape": "__integerMin0Max3", - "locationName": "strength", - "documentation": "Relative strength of noise reducing filter. Higher values produce stronger filtering." - } - }, - "documentation": "Settings for a noise reducer filter" - }, - "NoiseReducerSpatialFilterSettings": { - "type": "structure", - "members": { - "PostFilterSharpenStrength": { - "shape": "__integerMin0Max3", - "locationName": "postFilterSharpenStrength", - "documentation": "Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength." - }, - "Speed": { - "shape": "__integerMinNegative2Max3", - "locationName": "speed", - "documentation": "The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value." - }, - "Strength": { - "shape": "__integerMin0Max16", - "locationName": "strength", - "documentation": "Relative strength of noise reducing filter. Higher values produce stronger filtering." - } - }, - "documentation": "Noise reducer filter settings for spatial filter." - }, - "NotFoundException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 404 - }, - "documentation": "The resource you requested does not exist." - }, - "Order": { - "type": "string", - "documentation": "When you request lists of resources, you can optionally specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", - "enum": [ - "ASCENDING", - "DESCENDING" - ] - }, - "Output": { - "type": "structure", - "members": { - "AudioDescriptions": { - "shape": "__listOfAudioDescription", - "locationName": "audioDescriptions", - "documentation": "(AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings." - }, - "CaptionDescriptions": { - "shape": "__listOfCaptionDescription", - "locationName": "captionDescriptions", - "documentation": "(CaptionDescriptions) contains groups of captions settings. For each output that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions) can contain multiple groups of captions settings." - }, - "ContainerSettings": { - "shape": "ContainerSettings", - "locationName": "containerSettings" - }, - "Extension": { - "shape": "__string", - "locationName": "extension", - "documentation": "Use Extension (Extension) to specify the file extension for outputs in File output groups. If you do not specify a value, the service will use default extensions by container type as follows * MPEG-2 transport stream, m2ts * Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container, the service will use codec extensions (e.g. AAC, H265, H265, AC3)" - }, - "NameModifier": { - "shape": "__stringMin1", - "locationName": "nameModifier", - "documentation": "Use Name modifier (NameModifier) to have the service add a string to the end of each output filename. You specify the base filename as part of your destination URI. When you create multiple outputs in the same output group, Name modifier (NameModifier) is required. Name modifier also accepts format identifiers. For DASH ISO outputs, if you use the format identifiers $Number$ or $Time$ in one output, you must use them in the same way in all outputs of the output group." - }, - "OutputSettings": { - "shape": "OutputSettings", - "locationName": "outputSettings" - }, - "Preset": { - "shape": "__stringMin0", - "locationName": "preset", - "documentation": "Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide the system or custom preset name. You can specify either Preset (Preset) or Container settings (ContainerSettings), but not both." - }, - "VideoDescription": { - "shape": "VideoDescription", - "locationName": "videoDescription", - "documentation": "(VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output." - } - }, - "documentation": "An output object describes the settings for a single output file or stream in an output group." - }, - "OutputChannelMapping": { - "type": "structure", - "members": { - "InputChannels": { - "shape": "__listOf__integerMinNegative60Max6", - "locationName": "inputChannels", - "documentation": "List of input channels" - } - }, - "documentation": "OutputChannel mapping settings." - }, - "OutputDetail": { - "type": "structure", - "members": { - "DurationInMs": { - "shape": "__integer", - "locationName": "durationInMs", - "documentation": "Duration in milliseconds" - }, - "VideoDetails": { - "shape": "VideoDetail", - "locationName": "videoDetails" - } - }, - "documentation": "Details regarding output" - }, - "OutputGroup": { - "type": "structure", - "members": { - "CustomName": { - "shape": "__string", - "locationName": "customName", - "documentation": "Use Custom Group Name (CustomName) to specify a name for the output group. This value is displayed on the console and can make your job settings JSON more human-readable. It does not affect your outputs. Use up to twelve characters that are either letters, numbers, spaces, or underscores." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the output group" - }, - "OutputGroupSettings": { - "shape": "OutputGroupSettings", - "locationName": "outputGroupSettings" - }, - "Outputs": { - "shape": "__listOfOutput", - "locationName": "outputs", - "documentation": "This object holds groups of encoding settings, one group of settings per output." - } - }, - "documentation": "Group of outputs" - }, - "OutputGroupDetail": { - "type": "structure", - "members": { - "OutputDetails": { - "shape": "__listOfOutputDetail", - "locationName": "outputDetails", - "documentation": "Details about the output" - } - }, - "documentation": "Contains details about the output groups specified in the job settings." - }, - "OutputGroupSettings": { - "type": "structure", - "members": { - "CmafGroupSettings": { - "shape": "CmafGroupSettings", - "locationName": "cmafGroupSettings" - }, - "DashIsoGroupSettings": { - "shape": "DashIsoGroupSettings", - "locationName": "dashIsoGroupSettings" - }, - "FileGroupSettings": { - "shape": "FileGroupSettings", - "locationName": "fileGroupSettings" - }, - "HlsGroupSettings": { - "shape": "HlsGroupSettings", - "locationName": "hlsGroupSettings" - }, - "MsSmoothGroupSettings": { - "shape": "MsSmoothGroupSettings", - "locationName": "msSmoothGroupSettings" - }, - "Type": { - "shape": "OutputGroupType", - "locationName": "type" - } - }, - "documentation": "Output Group settings, including type" - }, - "OutputGroupType": { - "type": "string", - "documentation": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF)", - "enum": [ - "HLS_GROUP_SETTINGS", - "DASH_ISO_GROUP_SETTINGS", - "FILE_GROUP_SETTINGS", - "MS_SMOOTH_GROUP_SETTINGS", - "CMAF_GROUP_SETTINGS" - ] - }, - "OutputSdt": { - "type": "string", - "documentation": "Selects method of inserting SDT information into output stream. \"Follow input SDT\" copies SDT information from input stream to output stream. \"Follow input SDT if present\" copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. Enter \"SDT Manually\" means user will enter the SDT information. \"No SDT\" means output stream will not contain SDT information.", - "enum": [ - "SDT_FOLLOW", - "SDT_FOLLOW_IF_PRESENT", - "SDT_MANUAL", - "SDT_NONE" - ] - }, - "OutputSettings": { - "type": "structure", - "members": { - "HlsSettings": { - "shape": "HlsSettings", - "locationName": "hlsSettings" - } - }, - "documentation": "Specific settings for this type of output." - }, - "Preset": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "An identifier for this resource that is unique within all of AWS." - }, - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "An optional category you create to organize your presets." - }, - "CreatedAt": { - "shape": "__timestampUnix", - "locationName": "createdAt", - "documentation": "The timestamp in epoch seconds for preset creation." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "An optional description you create for each preset." - }, - "LastUpdated": { - "shape": "__timestampUnix", - "locationName": "lastUpdated", - "documentation": "The timestamp in epoch seconds when the preset was last updated." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "A name you create for each preset. Each name must be unique within your account." - }, - "Settings": { - "shape": "PresetSettings", - "locationName": "settings" - }, - "Type": { - "shape": "Type", - "locationName": "type", - "documentation": "A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user." - } - }, - "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process.", - "required": [ - "Settings", - "Name" - ] - }, - "PresetListBy": { - "type": "string", - "documentation": "Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", - "enum": [ - "NAME", - "CREATION_DATE", - "SYSTEM" - ] - }, - "PresetSettings": { - "type": "structure", - "members": { - "AudioDescriptions": { - "shape": "__listOfAudioDescription", - "locationName": "audioDescriptions", - "documentation": "(AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings." - }, - "CaptionDescriptions": { - "shape": "__listOfCaptionDescriptionPreset", - "locationName": "captionDescriptions", - "documentation": "Caption settings for this preset. There can be multiple caption settings in a single output." - }, - "ContainerSettings": { - "shape": "ContainerSettings", - "locationName": "containerSettings" - }, - "VideoDescription": { - "shape": "VideoDescription", - "locationName": "videoDescription", - "documentation": "(VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output." - } - }, - "documentation": "Settings for preset" - }, - "ProresCodecProfile": { - "type": "string", - "documentation": "Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output.", - "enum": [ - "APPLE_PRORES_422", - "APPLE_PRORES_422_HQ", - "APPLE_PRORES_422_LT", - "APPLE_PRORES_422_PROXY" - ] - }, - "ProresFramerateControl": { - "type": "string", - "documentation": "If you are using the console, use the Framerate setting to specify the framerate for this output. If you want to keep the same framerate as the input video, choose Follow source. If you want to do framerate conversion, choose a framerate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your framerate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the framerate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the framerate from the input. Choose SPECIFIED if you want the service to use the framerate you specify in the settings FramerateNumerator and FramerateDenominator.", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "ProresFramerateConversionAlgorithm": { - "type": "string", - "documentation": "When set to INTERPOLATE, produces smoother motion during framerate conversion.", - "enum": [ - "DUPLICATE_DROP", - "INTERPOLATE" - ] - }, - "ProresInterlaceMode": { - "type": "string", - "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", - "enum": [ - "PROGRESSIVE", - "TOP_FIELD", - "BOTTOM_FIELD", - "FOLLOW_TOP_FIELD", - "FOLLOW_BOTTOM_FIELD" - ] - }, - "ProresParControl": { - "type": "string", - "documentation": "Use (ProresParControl) to specify how the service determines the pixel aspect ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect ratio from the input. To specify a different pixel aspect ratio: Using the console, choose it from the dropdown menu. Using the API, set ProresParControl to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator).", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ] - }, - "ProresSettings": { - "type": "structure", - "members": { - "CodecProfile": { - "shape": "ProresCodecProfile", - "locationName": "codecProfile" - }, - "FramerateControl": { - "shape": "ProresFramerateControl", - "locationName": "framerateControl" - }, - "FramerateConversionAlgorithm": { - "shape": "ProresFramerateConversionAlgorithm", - "locationName": "framerateConversionAlgorithm" - }, - "FramerateDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateDenominator", - "documentation": "Framerate denominator." - }, - "FramerateNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "framerateNumerator", - "documentation": "When you use the API for transcode jobs that use framerate conversion, specify the framerate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator." - }, - "InterlaceMode": { - "shape": "ProresInterlaceMode", - "locationName": "interlaceMode" - }, - "ParControl": { - "shape": "ProresParControl", - "locationName": "parControl" - }, - "ParDenominator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parDenominator", - "documentation": "Pixel Aspect Ratio denominator." - }, - "ParNumerator": { - "shape": "__integerMin1Max2147483647", - "locationName": "parNumerator", - "documentation": "Pixel Aspect Ratio numerator." - }, - "SlowPal": { - "shape": "ProresSlowPal", - "locationName": "slowPal" - }, - "Telecine": { - "shape": "ProresTelecine", - "locationName": "telecine" - } - }, - "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES." - }, - "ProresSlowPal": { - "type": "string", - "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", - "enum": [ - "DISABLED", - "ENABLED" - ] - }, - "ProresTelecine": { - "type": "string", - "documentation": "Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player.", - "enum": [ - "NONE", - "HARD" - ] - }, - "Queue": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "An identifier for this resource that is unique within all of AWS." - }, - "CreatedAt": { - "shape": "__timestampUnix", - "locationName": "createdAt", - "documentation": "The timestamp in epoch seconds for queue creation." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "An optional description you create for each queue." - }, - "LastUpdated": { - "shape": "__timestampUnix", - "locationName": "lastUpdated", - "documentation": "The timestamp in epoch seconds when the queue was last updated." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "A name you create for each queue. Each name must be unique within your account." - }, - "ProgressingJobsCount": { - "shape": "__integer", - "locationName": "progressingJobsCount", - "documentation": "Estimated number of jobs in PROGRESSING status." - }, - "Status": { - "shape": "QueueStatus", - "locationName": "status" - }, - "SubmittedJobsCount": { - "shape": "__integer", - "locationName": "submittedJobsCount", - "documentation": "Estimated number of jobs in SUBMITTED status." - }, - "Type": { - "shape": "Type", - "locationName": "type", - "documentation": "A queue can be of two types: system or custom. System or built-in queues can't be modified or deleted by the user." - } - }, - "documentation": "MediaConvert jobs are submitted to a queue. Unless specified otherwise jobs are submitted to a built-in default queue. User can create additional queues to separate the jobs of different categories or priority.", - "required": [ - "Name" - ] - }, - "QueueListBy": { - "type": "string", - "documentation": "Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date.", - "enum": [ - "NAME", - "CREATION_DATE" - ] - }, - "QueueStatus": { - "type": "string", - "documentation": "Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue will not begin. Jobs running when a queue is paused continue to run until they finish or error out.", - "enum": [ - "ACTIVE", - "PAUSED" - ] - }, - "Rectangle": { - "type": "structure", - "members": { - "Height": { - "shape": "__integerMin2Max2147483647", - "locationName": "height", - "documentation": "Height of rectangle in pixels. Specify only even numbers." - }, - "Width": { - "shape": "__integerMin2Max2147483647", - "locationName": "width", - "documentation": "Width of rectangle in pixels. Specify only even numbers." - }, - "X": { - "shape": "__integerMin0Max2147483647", - "locationName": "x", - "documentation": "The distance, in pixels, between the rectangle and the left edge of the video frame. Specify only even numbers." - }, - "Y": { - "shape": "__integerMin0Max2147483647", - "locationName": "y", - "documentation": "The distance, in pixels, between the rectangle and the top edge of the video frame. Specify only even numbers." - } - }, - "documentation": "Use Rectangle to identify a specific area of the video frame." - }, - "RemixSettings": { - "type": "structure", - "members": { - "ChannelMapping": { - "shape": "ChannelMapping", - "locationName": "channelMapping" - }, - "ChannelsIn": { - "shape": "__integerMin1Max16", - "locationName": "channelsIn", - "documentation": "Specify the number of audio channels from your input that you want to use in your output. With remixing, you might combine or split the data in these channels, so the number of channels in your final output might be different." - }, - "ChannelsOut": { - "shape": "__integerMin1Max8", - "locationName": "channelsOut", - "documentation": "Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8" - } - }, - "documentation": "Use Manual audio remixing (RemixSettings) to adjust audio levels for each audio channel in each output of your job. With audio remixing, you can output more or fewer audio channels than your input audio source provides." - }, - "ResourceTags": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Amazon Resource Name (ARN) of the resource." - }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The tags for the resource." - } - }, - "documentation": "The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert resource." - }, - "RespondToAfd": { - "type": "string", - "documentation": "Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output.", - "enum": [ - "NONE", - "RESPOND", - "PASSTHROUGH" - ] - }, - "ScalingBehavior": { - "type": "string", - "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Enable Stretch to output (StretchToOutput) to have the service stretch your video image to fit. Leave this setting disabled to allow the service to letterbox your video instead. This setting overrides any positioning value you specify elsewhere in the job.", - "enum": [ - "DEFAULT", - "STRETCH_TO_OUTPUT" - ] - }, - "SccDestinationFramerate": { - "type": "string", - "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a framerate that matches the framerate of the associated video. If the video framerate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).", - "enum": [ - "FRAMERATE_23_97", - "FRAMERATE_24", - "FRAMERATE_29_97_DROPFRAME", - "FRAMERATE_29_97_NON_DROPFRAME" - ] - }, - "SccDestinationSettings": { - "type": "structure", - "members": { - "Framerate": { - "shape": "SccDestinationFramerate", - "locationName": "framerate" - } - }, - "documentation": "Settings for SCC caption output." - }, - "SpekeKeyProvider": { - "type": "structure", - "members": { - "ResourceId": { - "shape": "__string", - "locationName": "resourceId", - "documentation": "The SPEKE-compliant server uses Resource ID (ResourceId) to identify content." - }, - "SystemIds": { - "shape": "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12", - "locationName": "systemIds", - "documentation": "Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id." - }, - "Url": { - "shape": "__stringPatternHttps", - "locationName": "url", - "documentation": "Use URL (Url) to specify the SPEKE-compliant server that will provide keys for content." - } - }, - "documentation": "Settings for use with a SPEKE key provider" - }, - "StaticKeyProvider": { - "type": "structure", - "members": { - "KeyFormat": { - "shape": "__stringPatternIdentityAZaZ26AZaZ09163", - "locationName": "keyFormat", - "documentation": "Relates to DRM implementation. Sets the value of the KEYFORMAT attribute. Must be 'identity' or a reverse DNS string. May be omitted to indicate an implicit value of 'identity'." - }, - "KeyFormatVersions": { - "shape": "__stringPatternDD", - "locationName": "keyFormatVersions", - "documentation": "Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3)." - }, - "StaticKeyValue": { - "shape": "__stringPatternAZaZ0932", - "locationName": "staticKeyValue", - "documentation": "Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue)." - }, - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "Relates to DRM implementation. The location of the license server used for protecting content." - } - }, - "documentation": "Settings for use with a SPEKE key provider." - }, - "TagResourceRequest": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Amazon Resource Name (ARN) of the resource that you want to tag. To get the ARN, send a GET request with the resource name." - }, - "Tags": { - "shape": "__mapOf__string", - "locationName": "tags", - "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." - } - }, - "required": [ - "Arn", - "Tags" - ] - }, - "TagResourceResponse": { - "type": "structure", - "members": { - } - }, - "TeletextDestinationSettings": { - "type": "structure", - "members": { - "PageNumber": { - "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", - "locationName": "pageNumber", - "documentation": "Set pageNumber to the Teletext page number for the destination captions for this output. This value must be a three-digit hexadecimal string; strings ending in -FF are invalid. If you are passing through the entire set of Teletext data, do not use this field." - } - }, - "documentation": "Settings for Teletext caption output" - }, - "TeletextSourceSettings": { - "type": "structure", - "members": { - "PageNumber": { - "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", - "locationName": "pageNumber", - "documentation": "Use Page Number (PageNumber) to specify the three-digit hexadecimal page number that will be used for Teletext captions. Do not use this setting if you are passing through teletext from the input source to output." - } - }, - "documentation": "Settings specific to Teletext caption sources, including Page number." - }, - "TimecodeBurnin": { - "type": "structure", - "members": { - "FontSize": { - "shape": "__integerMin10Max48", - "locationName": "fontSize", - "documentation": "Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48." - }, - "Position": { - "shape": "TimecodeBurninPosition", - "locationName": "position" - }, - "Prefix": { - "shape": "__stringPattern", - "locationName": "prefix", - "documentation": "Use Prefix (Prefix) to place ASCII characters before any burned-in timecode. For example, a prefix of \"EZ-\" will result in the timecode \"EZ-00:00:00:00\". Provide either the characters themselves or the ASCII code equivalents. The supported range of characters is 0x20 through 0x7e. This includes letters, numbers, and all special characters represented on a standard English keyboard." - } - }, - "documentation": "Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output." - }, - "TimecodeBurninPosition": { - "type": "string", - "documentation": "Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video.", - "enum": [ - "TOP_CENTER", - "TOP_LEFT", - "TOP_RIGHT", - "MIDDLE_LEFT", - "MIDDLE_CENTER", - "MIDDLE_RIGHT", - "BOTTOM_LEFT", - "BOTTOM_CENTER", - "BOTTOM_RIGHT" - ] - }, - "TimecodeConfig": { - "type": "structure", - "members": { - "Anchor": { - "shape": "__stringPattern010920405090509092", - "locationName": "anchor", - "documentation": "If you use an editing platform that relies on an anchor timecode, use Anchor Timecode (Anchor) to specify a timecode that will match the input video frame to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). This setting ignores framerate conversion. System behavior for Anchor Timecode varies depending on your setting for Source (TimecodeSource). * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), the first input frame is the specified value in Start Timecode (Start). Anchor Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), the first frame is the timecode value on the first input frame of the input." - }, - "Source": { - "shape": "TimecodeSource", - "locationName": "source" - }, - "Start": { - "shape": "__stringPattern010920405090509092", - "locationName": "start", - "documentation": "Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART). Use Start timecode (Start) to specify the timecode for the initial frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF)." - }, - "TimestampOffset": { - "shape": "__stringPattern0940191020191209301", - "locationName": "timestampOffset", - "documentation": "Only applies to outputs that support program-date-time stamp. Use Timestamp offset (TimestampOffset) to overwrite the timecode date without affecting the time and frame number. Provide the new date as a string in the format \"yyyy-mm-dd\". To use Time stamp offset, you must also enable Insert program-date-time (InsertProgramDateTime) in the output settings. For example, if the date part of your timecodes is 2002-1-25 and you want to change it to one year later, set Timestamp offset (TimestampOffset) to 2003-1-25." - } - }, - "documentation": "These settings control how the service handles timecodes throughout the job. These settings don't affect input clipping." - }, - "TimecodeSource": { - "type": "string", - "documentation": "Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value.", - "enum": [ - "EMBEDDED", - "ZEROBASED", - "SPECIFIEDSTART" - ] - }, - "TimedMetadata": { - "type": "string", - "documentation": "Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output.", - "enum": [ - "PASSTHROUGH", - "NONE" - ] - }, - "TimedMetadataInsertion": { - "type": "structure", - "members": { - "Id3Insertions": { - "shape": "__listOfId3Insertion", - "locationName": "id3Insertions", - "documentation": "Id3Insertions contains the array of Id3Insertion instances." - } - }, - "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." - }, - "Timing": { - "type": "structure", - "members": { - "FinishTime": { - "shape": "__timestampUnix", - "locationName": "finishTime", - "documentation": "The time, in Unix epoch format, that the transcoding job finished" - }, - "StartTime": { - "shape": "__timestampUnix", - "locationName": "startTime", - "documentation": "The time, in Unix epoch format, that transcoding for the job began." - }, - "SubmitTime": { - "shape": "__timestampUnix", - "locationName": "submitTime", - "documentation": "The time, in Unix epoch format, that you submitted the job." - } - }, - "documentation": "Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds." - }, - "TooManyRequestsException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 429 - }, - "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." - }, - "TtmlDestinationSettings": { - "type": "structure", - "members": { - "StylePassthrough": { - "shape": "TtmlStylePassthrough", - "locationName": "stylePassthrough" - } - }, - "documentation": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." - }, - "TtmlStylePassthrough": { - "type": "string", - "documentation": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output.", - "enum": [ - "ENABLED", - "DISABLED" - ] - }, - "Type": { - "type": "string", - "enum": [ - "SYSTEM", - "CUSTOM" - ] - }, - "UntagResourceRequest": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name." - }, - "TagKeys": { - "shape": "__listOf__string", - "locationName": "tagKeys", - "documentation": "The keys of the tags that you want to remove from the resource." - } - } - }, - "UntagResourceResponse": { - "type": "structure", - "members": { - } - }, - "UpdateJobTemplateRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "The new category for the job template, if you are changing it." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "The new description for the job template, if you are changing it." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the job template you are modifying", - "location": "uri" - }, - "Queue": { - "shape": "__string", - "locationName": "queue", - "documentation": "The new queue for the job template, if you are changing it." - }, - "Settings": { - "shape": "JobTemplateSettings", - "locationName": "settings" - } - }, - "required": [ - "Name" - ] - }, - "UpdateJobTemplateResponse": { - "type": "structure", - "members": { - "JobTemplate": { - "shape": "JobTemplate", - "locationName": "jobTemplate" - } - } - }, - "UpdatePresetRequest": { - "type": "structure", - "members": { - "Category": { - "shape": "__string", - "locationName": "category", - "documentation": "The new category for the preset, if you are changing it." - }, - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "The new description for the preset, if you are changing it." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the preset you are modifying.", - "location": "uri" - }, - "Settings": { - "shape": "PresetSettings", - "locationName": "settings" - } - }, - "required": [ - "Name" - ] - }, - "UpdatePresetResponse": { - "type": "structure", - "members": { - "Preset": { - "shape": "Preset", - "locationName": "preset" - } - } - }, - "UpdateQueueRequest": { - "type": "structure", - "members": { - "Description": { - "shape": "__string", - "locationName": "description", - "documentation": "The new description for the queue, if you are changing it." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the queue you are modifying.", - "location": "uri" - }, - "Status": { - "shape": "QueueStatus", - "locationName": "status" - } - }, - "required": [ - "Name" - ] - }, - "UpdateQueueResponse": { - "type": "structure", - "members": { - "Queue": { - "shape": "Queue", - "locationName": "queue" - } - } - }, - "VideoCodec": { - "type": "string", - "documentation": "Type of video codec", - "enum": [ - "FRAME_CAPTURE", - "H_264", - "H_265", - "MPEG2", - "PRORES" - ] - }, - "VideoCodecSettings": { - "type": "structure", - "members": { - "Codec": { - "shape": "VideoCodec", - "locationName": "codec" - }, - "FrameCaptureSettings": { - "shape": "FrameCaptureSettings", - "locationName": "frameCaptureSettings" - }, - "H264Settings": { - "shape": "H264Settings", - "locationName": "h264Settings" - }, - "H265Settings": { - "shape": "H265Settings", - "locationName": "h265Settings" - }, - "Mpeg2Settings": { - "shape": "Mpeg2Settings", - "locationName": "mpeg2Settings" - }, - "ProresSettings": { - "shape": "ProresSettings", - "locationName": "proresSettings" - } - }, - "documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value you choose for Video codec (Codec). For each codec enum you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings * FRAME_CAPTURE, FrameCaptureSettings" - }, - "VideoDescription": { - "type": "structure", - "members": { - "AfdSignaling": { - "shape": "AfdSignaling", - "locationName": "afdSignaling" - }, - "AntiAlias": { - "shape": "AntiAlias", - "locationName": "antiAlias" - }, - "CodecSettings": { - "shape": "VideoCodecSettings", - "locationName": "codecSettings" - }, - "ColorMetadata": { - "shape": "ColorMetadata", - "locationName": "colorMetadata" - }, - "Crop": { - "shape": "Rectangle", - "locationName": "crop", - "documentation": "Applies only if your input aspect ratio is different from your output aspect ratio. Use Input cropping rectangle (Crop) to specify the video area the service will include in the output. This will crop the input source, causing video pixels to be removed on encode. Do not use this setting if you have enabled Stretch to output (stretchToOutput) in your output settings." - }, - "DropFrameTimecode": { - "shape": "DropFrameTimecode", - "locationName": "dropFrameTimecode" - }, - "FixedAfd": { - "shape": "__integerMin0Max15", - "locationName": "fixedAfd", - "documentation": "Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed (FixedAfd) to specify a four-bit AFD value which the service will write on all frames of this video output." - }, - "Height": { - "shape": "__integerMin32Max2160", - "locationName": "height", - "documentation": "Use the Height (Height) setting to define the video resolution height for this output. Specify in pixels. If you don't provide a value here, the service will use the input height." - }, - "Position": { - "shape": "Rectangle", - "locationName": "position", - "documentation": "Use Position (Position) to point to a rectangle object to define your position. This setting overrides any other aspect ratio." - }, - "RespondToAfd": { - "shape": "RespondToAfd", - "locationName": "respondToAfd" - }, - "ScalingBehavior": { - "shape": "ScalingBehavior", - "locationName": "scalingBehavior" - }, - "Sharpness": { - "shape": "__integerMin0Max100", - "locationName": "sharpness", - "documentation": "Use Sharpness (Sharpness)setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution, and if you set Anti-alias (AntiAlias) to ENABLED. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." - }, - "TimecodeInsertion": { - "shape": "VideoTimecodeInsertion", - "locationName": "timecodeInsertion" - }, - "VideoPreprocessors": { - "shape": "VideoPreprocessor", - "locationName": "videoPreprocessors", - "documentation": "Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default." - }, - "Width": { - "shape": "__integerMin32Max4096", - "locationName": "width", - "documentation": "Use Width (Width) to define the video resolution width, in pixels, for this output. If you don't provide a value here, the service will use the input width." - } - }, - "documentation": "Settings for video outputs" - }, - "VideoDetail": { - "type": "structure", - "members": { - "HeightInPx": { - "shape": "__integer", - "locationName": "heightInPx", - "documentation": "Height in pixels for the output" - }, - "WidthInPx": { - "shape": "__integer", - "locationName": "widthInPx", - "documentation": "Width in pixels for the output" - } - }, - "documentation": "Contains details about the output's video stream" - }, - "VideoPreprocessor": { - "type": "structure", - "members": { - "ColorCorrector": { - "shape": "ColorCorrector", - "locationName": "colorCorrector", - "documentation": "Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default." - }, - "Deinterlacer": { - "shape": "Deinterlacer", - "locationName": "deinterlacer", - "documentation": "Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture." - }, - "ImageInserter": { - "shape": "ImageInserter", - "locationName": "imageInserter", - "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each output individually. This setting is disabled by default." - }, - "NoiseReducer": { - "shape": "NoiseReducer", - "locationName": "noiseReducer", - "documentation": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default." - }, - "TimecodeBurnin": { - "shape": "TimecodeBurnin", - "locationName": "timecodeBurnin", - "documentation": "Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output." - } - }, - "documentation": "Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default." - }, - "VideoSelector": { - "type": "structure", - "members": { - "ColorSpace": { - "shape": "ColorSpace", - "locationName": "colorSpace" - }, - "ColorSpaceUsage": { - "shape": "ColorSpaceUsage", - "locationName": "colorSpaceUsage" - }, - "Hdr10Metadata": { - "shape": "Hdr10Metadata", - "locationName": "hdr10Metadata" - }, - "Pid": { - "shape": "__integerMin1Max2147483647", - "locationName": "pid", - "documentation": "Use PID (Pid) to select specific video data from an input file. Specify this value as an integer; the system automatically converts it to the hexidecimal value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an identifier for a set of data in an MPEG-2 transport stream container." - }, - "ProgramNumber": { - "shape": "__integerMinNegative2147483648Max2147483647", - "locationName": "programNumber", - "documentation": "Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported." - } - }, - "documentation": "Selector for video." - }, - "VideoTimecodeInsertion": { - "type": "string", - "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input framerate is identical to the output framerate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does.", - "enum": [ - "DISABLED", - "PIC_TIMING_SEI" - ] - }, - "WavFormat": { - "type": "string", - "documentation": "The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64.", - "enum": [ - "RIFF", - "RF64" - ] - }, - "WavSettings": { - "type": "structure", - "members": { - "BitDepth": { - "shape": "__integerMin16Max24", - "locationName": "bitDepth", - "documentation": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track." - }, - "Channels": { - "shape": "__integerMin1Max8", - "locationName": "channels", - "documentation": "Set Channels to specify the number of channels in this output audio track. With WAV, valid values 1, 2, 4, and 8. In the console, these values are Mono, Stereo, 4-Channel, and 8-Channel, respectively." - }, - "Format": { - "shape": "WavFormat", - "locationName": "format" - }, - "SampleRate": { - "shape": "__integerMin8000Max192000", - "locationName": "sampleRate", - "documentation": "Sample rate in Hz." - } - }, - "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV." - }, - "__boolean": { - "type": "boolean" - }, - "__double": { - "type": "double" - }, - "__doubleMin0": { - "type": "double" - }, - "__doubleMin0Max2147483647": { - "type": "double" - }, - "__doubleMinNegative59Max0": { - "type": "double" - }, - "__doubleMinNegative60Max3": { - "type": "double" - }, - "__doubleMinNegative60MaxNegative1": { - "type": "double" - }, - "__integer": { - "type": "integer" - }, - "__integerMin0Max10": { - "type": "integer", - "min": 0, - "max": 10 - }, - "__integerMin0Max100": { - "type": "integer", - "min": 0, - "max": 100 - }, - "__integerMin0Max1000": { - "type": "integer", - "min": 0, - "max": 1000 - }, - "__integerMin0Max10000": { - "type": "integer", - "min": 0, - "max": 10000 - }, - "__integerMin0Max1152000000": { - "type": "integer", - "min": 0, - "max": 1152000000 - }, - "__integerMin0Max128": { - "type": "integer", - "min": 0, - "max": 128 - }, - "__integerMin0Max1466400000": { - "type": "integer", - "min": 0, - "max": 1466400000 - }, - "__integerMin0Max15": { - "type": "integer", - "min": 0, - "max": 15 - }, - "__integerMin0Max16": { - "type": "integer", - "min": 0, - "max": 16 - }, - "__integerMin0Max2147483647": { - "type": "integer", - "min": 0, - "max": 2147483647 - }, - "__integerMin0Max255": { - "type": "integer", - "min": 0, - "max": 255 - }, - "__integerMin0Max3": { - "type": "integer", - "min": 0, - "max": 3 - }, - "__integerMin0Max30": { - "type": "integer", - "min": 0, - "max": 30 - }, - "__integerMin0Max3600": { - "type": "integer", - "min": 0, - "max": 3600 - }, - "__integerMin0Max47185920": { - "type": "integer", - "min": 0, - "max": 47185920 - }, - "__integerMin0Max500": { - "type": "integer", - "min": 0, - "max": 500 - }, - "__integerMin0Max50000": { - "type": "integer", - "min": 0, - "max": 50000 - }, - "__integerMin0Max65535": { - "type": "integer", - "min": 0, - "max": 65535 - }, - "__integerMin0Max7": { - "type": "integer", - "min": 0, - "max": 7 - }, - "__integerMin0Max8": { - "type": "integer", - "min": 0, - "max": 8 - }, - "__integerMin0Max9": { - "type": "integer", - "min": 0, - "max": 9 - }, - "__integerMin0Max96": { - "type": "integer", - "min": 0, - "max": 96 - }, - "__integerMin0Max99": { - "type": "integer", - "min": 0, - "max": 99 - }, - "__integerMin1000Max1152000000": { - "type": "integer", - "min": 1000, - "max": 1152000000 - }, - "__integerMin1000Max1466400000": { - "type": "integer", - "min": 1000, - "max": 1466400000 - }, - "__integerMin1000Max288000000": { - "type": "integer", - "min": 1000, - "max": 288000000 - }, - "__integerMin1000Max30000": { - "type": "integer", - "min": 1000, - "max": 30000 - }, - "__integerMin1000Max300000000": { - "type": "integer", - "min": 1000, - "max": 300000000 - }, - "__integerMin10Max48": { - "type": "integer", - "min": 10, - "max": 48 - }, - "__integerMin16Max24": { - "type": "integer", - "min": 16, - "max": 24 - }, - "__integerMin1Max1": { - "type": "integer", - "min": 1, - "max": 1 - }, - "__integerMin1Max10": { - "type": "integer", - "min": 1, - "max": 10 - }, - "__integerMin1Max100": { - "type": "integer", - "min": 1, - "max": 100 - }, - "__integerMin1Max10000000": { - "type": "integer", - "min": 1, - "max": 10000000 - }, - "__integerMin1Max1001": { - "type": "integer", - "min": 1, - "max": 1001 - }, - "__integerMin1Max16": { - "type": "integer", - "min": 1, - "max": 16 - }, - "__integerMin1Max2": { - "type": "integer", - "min": 1, - "max": 2 - }, - "__integerMin1Max20": { - "type": "integer", - "min": 1, - "max": 20 - }, - "__integerMin1Max2147483647": { - "type": "integer", - "min": 1, - "max": 2147483647 - }, - "__integerMin1Max31": { - "type": "integer", - "min": 1, - "max": 31 - }, - "__integerMin1Max32": { - "type": "integer", - "min": 1, - "max": 32 - }, - "__integerMin1Max4": { - "type": "integer", - "min": 1, - "max": 4 - }, - "__integerMin1Max6": { - "type": "integer", - "min": 1, - "max": 6 - }, - "__integerMin1Max8": { - "type": "integer", - "min": 1, - "max": 8 - }, - "__integerMin24Max60000": { - "type": "integer", - "min": 24, - "max": 60000 - }, - "__integerMin25Max10000": { - "type": "integer", - "min": 25, - "max": 10000 - }, - "__integerMin25Max2000": { - "type": "integer", - "min": 25, - "max": 2000 - }, - "__integerMin2Max2147483647": { - "type": "integer", - "min": 2, - "max": 2147483647 - }, - "__integerMin32000Max384000": { - "type": "integer", - "min": 32000, - "max": 384000 - }, - "__integerMin32000Max48000": { - "type": "integer", - "min": 32000, - "max": 48000 - }, - "__integerMin32Max2160": { - "type": "integer", - "min": 32, - "max": 2160 - }, - "__integerMin32Max4096": { - "type": "integer", - "min": 32, - "max": 4096 - }, - "__integerMin32Max8182": { - "type": "integer", - "min": 32, - "max": 8182 - }, - "__integerMin48000Max48000": { - "type": "integer", - "min": 48000, - "max": 48000 - }, - "__integerMin6000Max1024000": { - "type": "integer", - "min": 6000, - "max": 1024000 - }, - "__integerMin64000Max640000": { - "type": "integer", - "min": 64000, - "max": 640000 - }, - "__integerMin8000Max192000": { - "type": "integer", - "min": 8000, - "max": 192000 - }, - "__integerMin8000Max96000": { - "type": "integer", - "min": 8000, - "max": 96000 - }, - "__integerMin96Max600": { - "type": "integer", - "min": 96, - "max": 600 - }, - "__integerMinNegative1000Max1000": { - "type": "integer", - "min": -1000, - "max": 1000 - }, - "__integerMinNegative180Max180": { - "type": "integer", - "min": -180, - "max": 180 - }, - "__integerMinNegative2147483648Max2147483647": { - "type": "integer", - "min": -2147483648, - "max": 2147483647 - }, - "__integerMinNegative2Max3": { - "type": "integer", - "min": -2, - "max": 3 - }, - "__integerMinNegative5Max5": { - "type": "integer", - "min": -5, - "max": 5 - }, - "__integerMinNegative60Max6": { - "type": "integer", - "min": -60, - "max": 6 - }, - "__integerMinNegative70Max0": { - "type": "integer", - "min": -70, - "max": 0 - }, - "__listOfAudioDescription": { - "type": "list", - "member": { - "shape": "AudioDescription" - } - }, - "__listOfCaptionDescription": { - "type": "list", - "member": { - "shape": "CaptionDescription" - } - }, - "__listOfCaptionDescriptionPreset": { - "type": "list", - "member": { - "shape": "CaptionDescriptionPreset" - } - }, - "__listOfEndpoint": { - "type": "list", - "member": { - "shape": "Endpoint" - } - }, - "__listOfHlsAdMarkers": { - "type": "list", - "member": { - "shape": "HlsAdMarkers" - } - }, - "__listOfHlsCaptionLanguageMapping": { - "type": "list", - "member": { - "shape": "HlsCaptionLanguageMapping" - } - }, - "__listOfId3Insertion": { - "type": "list", - "member": { - "shape": "Id3Insertion" - } - }, - "__listOfInput": { - "type": "list", - "member": { - "shape": "Input" - } - }, - "__listOfInputClipping": { - "type": "list", - "member": { - "shape": "InputClipping" - } - }, - "__listOfInputTemplate": { - "type": "list", - "member": { - "shape": "InputTemplate" - } - }, - "__listOfInsertableImage": { - "type": "list", - "member": { - "shape": "InsertableImage" - } - }, - "__listOfJob": { - "type": "list", - "member": { - "shape": "Job" - } - }, - "__listOfJobTemplate": { - "type": "list", - "member": { - "shape": "JobTemplate" - } - }, - "__listOfOutput": { - "type": "list", - "member": { - "shape": "Output" - } - }, - "__listOfOutputChannelMapping": { - "type": "list", - "member": { - "shape": "OutputChannelMapping" - } - }, - "__listOfOutputDetail": { - "type": "list", - "member": { - "shape": "OutputDetail" - } - }, - "__listOfOutputGroup": { - "type": "list", - "member": { - "shape": "OutputGroup" - } - }, - "__listOfOutputGroupDetail": { - "type": "list", - "member": { - "shape": "OutputGroupDetail" - } - }, - "__listOfPreset": { - "type": "list", - "member": { - "shape": "Preset" - } - }, - "__listOfQueue": { - "type": "list", - "member": { - "shape": "Queue" - } - }, - "__listOf__integerMin1Max2147483647": { - "type": "list", - "member": { - "shape": "__integerMin1Max2147483647" - } - }, - "__listOf__integerMin32Max8182": { - "type": "list", - "member": { - "shape": "__integerMin32Max8182" - } - }, - "__listOf__integerMinNegative60Max6": { - "type": "list", - "member": { - "shape": "__integerMinNegative60Max6" - } - }, - "__listOf__string": { - "type": "list", - "member": { - "shape": "__string" - } - }, - "__listOf__stringMin1": { - "type": "list", - "member": { - "shape": "__stringMin1" - } - }, - "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { - "type": "list", - "member": { - "shape": "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12" - } - }, - "__long": { - "type": "long" - }, - "__mapOfAudioSelector": { - "type": "map", - "key": { - "shape": "__string" - }, - "value": { - "shape": "AudioSelector" - } - }, - "__mapOfAudioSelectorGroup": { - "type": "map", - "key": { - "shape": "__string" - }, - "value": { - "shape": "AudioSelectorGroup" - } - }, - "__mapOfCaptionSelector": { - "type": "map", - "key": { - "shape": "__string" - }, - "value": { - "shape": "CaptionSelector" - } - }, - "__mapOf__string": { - "type": "map", - "key": { - "shape": "__string" - }, - "value": { - "shape": "__string" - } - }, - "__string": { - "type": "string" - }, - "__stringMin0": { - "type": "string", - "min": 0 - }, - "__stringMin1": { - "type": "string", - "min": 1 - }, - "__stringMin14PatternS3BmpBMPPngPNG": { - "type": "string", - "min": 14, - "pattern": "^(s3:\\/\\/)(.*?)\\.(bmp|BMP|png|PNG)$" - }, - "__stringMin14PatternS3BmpBMPPngPNGTgaTGA": { - "type": "string", - "min": 14, - "pattern": "^(s3:\\/\\/)(.*?)\\.(bmp|BMP|png|PNG|tga|TGA)$" - }, - "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTSmiSMI": { - "type": "string", - "min": 14, - "pattern": "^(s3:\\/\\/)(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|smi|SMI)$" - }, - "__stringMin1Max256": { - "type": "string", - "min": 1, - "max": 256 - }, - "__stringMin32Max32Pattern09aFAF32": { - "type": "string", - "min": 32, - "max": 32, - "pattern": "^[0-9a-fA-F]{32}$" - }, - "__stringMin3Max3Pattern1809aFAF09aEAE": { - "type": "string", - "min": 3, - "max": 3, - "pattern": "^[1-8][0-9a-fA-F][0-9a-eA-E]$" - }, - "__stringMin3Max3PatternAZaZ3": { - "type": "string", - "min": 3, - "max": 3, - "pattern": "^[A-Za-z]{3}$" - }, - "__stringPattern": { - "type": "string", - "pattern": "^[ -~]+$" - }, - "__stringPattern010920405090509092": { - "type": "string", - "pattern": "^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}$" - }, - "__stringPattern01D20305D205D": { - "type": "string", - "pattern": "^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$" - }, - "__stringPattern0940191020191209301": { - "type": "string", - "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$" - }, - "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { - "type": "string", - "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - }, - "__stringPatternAZaZ0902": { - "type": "string", - "pattern": "^[A-Za-z0-9+\\/]+={0,2}$" - }, - "__stringPatternAZaZ0932": { - "type": "string", - "pattern": "^[A-Za-z0-9]{32}$" - }, - "__stringPatternDD": { - "type": "string", - "pattern": "^(\\d+(\\/\\d+)*)$" - }, - "__stringPatternHttps": { - "type": "string", - "pattern": "^https:\\/\\/" - }, - "__stringPatternIdentityAZaZ26AZaZ09163": { - "type": "string", - "pattern": "^(identity|[A-Za-z]{2,6}(\\.[A-Za-z0-9-]{1,63})+)$" - }, - "__stringPatternS3": { - "type": "string", - "pattern": "^s3:\\/\\/" - }, - "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MM": { - "type": "string", - "pattern": "^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM])))$" - }, - "__stringPatternS3MM2VVMMPPEEGGAAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE": { - "type": "string", - "pattern": "^(s3:\\/\\/)([^\\/]+\\/)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE])))$" - }, - "__stringPatternWS": { - "type": "string", - "pattern": "^[\\w\\s]*$" - }, - "__timestampIso8601": { - "type": "timestamp", - "timestampFormat": "iso8601" - }, - "__timestampUnix": { - "type": "timestamp", - "timestampFormat": "unixTimestamp" - } - }, - "documentation": "AWS Elemental MediaConvert" -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/paginators-1.json deleted file mode 100644 index e0a675bc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "pagination": { - "ListInputs": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Inputs" - }, - "ListChannels": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Channels" - }, - "ListInputSecurityGroups": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InputSecurityGroups" - }, - "ListOfferings": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Offerings" - }, - "ListReservations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Reservations" - }, - "DescribeSchedule": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ScheduleActions" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/service-2.json deleted file mode 100644 index 2b006b85..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/medialive/2017-10-14/service-2.json +++ /dev/null @@ -1,9034 +0,0 @@ -{ - "metadata": { - "apiVersion": "2017-10-14", - "endpointPrefix": "medialive", - "signingName": "medialive", - "serviceFullName": "AWS Elemental MediaLive", - "serviceId": "MediaLive", - "protocol": "rest-json", - "jsonVersion": "1.1", - "uid": "medialive-2017-10-14", - "signatureVersion": "v4", - "serviceAbbreviation": "MediaLive" - }, - "operations": { - "BatchUpdateSchedule": { - "name": "BatchUpdateSchedule", - "http": { - "method": "PUT", - "requestUri": "/prod/channels/{channelId}/schedule", - "responseCode": 200 - }, - "input": { - "shape": "BatchUpdateScheduleRequest" - }, - "output": { - "shape": "BatchUpdateScheduleResponse", - "documentation": "Successful update of the schedule." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "UnprocessableEntityException", - "documentation": "The update schedule request failed validation." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to update the channel schedule." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The specified channel id does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on update schedule calls." - } - ], - "documentation": "Update a channel schedule" - }, - "CreateChannel": { - "name": "CreateChannel", - "http": { - "method": "POST", - "requestUri": "/prod/channels", - "responseCode": 201 - }, - "input": { - "shape": "CreateChannelRequest" - }, - "output": { - "shape": "CreateChannelResponse", - "documentation": "Creation of channel is started." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "UnprocessableEntityException", - "documentation": "The Channel failed validation and could not be created." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to create the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on create channel calls to channel service." - }, - { - "shape": "ConflictException", - "documentation": "The channel is unable to create due to an issue with channel resources." - } - ], - "documentation": "Creates a new channel" - }, - "CreateInput": { - "name": "CreateInput", - "http": { - "method": "POST", - "requestUri": "/prod/inputs", - "responseCode": 201 - }, - "input": { - "shape": "CreateInputRequest" - }, - "output": { - "shape": "CreateInputResponse", - "documentation": "Successfully created the input." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Service Error" - }, - { - "shape": "ForbiddenException", - "documentation": "Access was denied" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit exceeded" - } - ], - "documentation": "Create an input" - }, - "CreateInputSecurityGroup": { - "name": "CreateInputSecurityGroup", - "http": { - "method": "POST", - "requestUri": "/prod/inputSecurityGroups", - "responseCode": 200 - }, - "input": { - "shape": "CreateInputSecurityGroupRequest" - }, - "output": { - "shape": "CreateInputSecurityGroupResponse", - "documentation": "Successfully created the Input Security Group." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The request to create an Input Security Group was Invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Server Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to create an Input Security Group" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit Exceeded Error" - } - ], - "documentation": "Creates a Input Security Group" - }, - "DeleteChannel": { - "name": "DeleteChannel", - "http": { - "method": "DELETE", - "requestUri": "/prod/channels/{channelId}", - "responseCode": 200 - }, - "input": { - "shape": "DeleteChannelRequest" - }, - "output": { - "shape": "DeleteChannelResponse", - "documentation": "Deletion was successfully initiated." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to delete the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The channel you're requesting to delete does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on delete channel calls to channel service." - }, - { - "shape": "ConflictException", - "documentation": "The channel is unable to delete due to an issue with channel resources." - } - ], - "documentation": "Starts deletion of channel. The associated outputs are also deleted." - }, - "DeleteInput": { - "name": "DeleteInput", - "http": { - "method": "DELETE", - "requestUri": "/prod/inputs/{inputId}", - "responseCode": 200 - }, - "input": { - "shape": "DeleteInputRequest" - }, - "output": { - "shape": "DeleteInputResponse", - "documentation": "Successful deletion" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Service Error" - }, - { - "shape": "ForbiddenException", - "documentation": "Access was denied" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "Input not found" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit exceeded" - }, - { - "shape": "ConflictException", - "documentation": "Resource conflict" - } - ], - "documentation": "Deletes the input end point" - }, - "DeleteInputSecurityGroup": { - "name": "DeleteInputSecurityGroup", - "http": { - "method": "DELETE", - "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", - "responseCode": 200 - }, - "input": { - "shape": "DeleteInputSecurityGroupRequest" - }, - "output": { - "shape": "DeleteInputSecurityGroupResponse", - "documentation": "An Input Security Group" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The request to delete the Input Security Group was Invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Server Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to delete this Input Security Group" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "Input Security Group not found" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit Exceeded Error" - } - ], - "documentation": "Deletes an Input Security Group" - }, - "DeleteReservation": { - "name": "DeleteReservation", - "http": { - "method": "DELETE", - "requestUri": "/prod/reservations/{reservationId}", - "responseCode": 200 - }, - "input": { - "shape": "DeleteReservationRequest" - }, - "output": { - "shape": "DeleteReservationResponse", - "documentation": "Deleted reservation" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to delete reservation" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "NotFoundException", - "documentation": "Reservation you're attempting to delete does not exist" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on delete reservation request" - }, - { - "shape": "ConflictException", - "documentation": "The reservation could not be deleted because it is currently active." - } - ], - "documentation": "Delete an expired reservation." - }, - "DescribeChannel": { - "name": "DescribeChannel", - "http": { - "method": "GET", - "requestUri": "/prod/channels/{channelId}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeChannelRequest" - }, - "output": { - "shape": "DescribeChannelResponse", - "documentation": "Channel details" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to describe the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The channel you're requesting to describe does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on describe channel calls to channel service." - } - ], - "documentation": "Gets details about a channel" - }, - "DescribeInput": { - "name": "DescribeInput", - "http": { - "method": "GET", - "requestUri": "/prod/inputs/{inputId}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeInputRequest" - }, - "output": { - "shape": "DescribeInputResponse", - "documentation": "Input details" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Service Error" - }, - { - "shape": "ForbiddenException", - "documentation": "Access was denied" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "Input not found" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit exceeded" - } - ], - "documentation": "Produces details about an input" - }, - "DescribeInputSecurityGroup": { - "name": "DescribeInputSecurityGroup", - "http": { - "method": "GET", - "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeInputSecurityGroupRequest" - }, - "output": { - "shape": "DescribeInputSecurityGroupResponse", - "documentation": "An Input Security Group" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The request to describe an Input Security Group was Invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Server Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to describe this Input Security Group" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "Input Security Group not found" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit Exceeded Error" - } - ], - "documentation": "Produces a summary of an Input Security Group" - }, - "DescribeOffering": { - "name": "DescribeOffering", - "http": { - "method": "GET", - "requestUri": "/prod/offerings/{offeringId}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeOfferingRequest" - }, - "output": { - "shape": "DescribeOfferingResponse", - "documentation": "Offering details" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to describe offering" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "NotFoundException", - "documentation": "Offering you're attempting to describe does not exist" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on describe offering request" - } - ], - "documentation": "Get details for an offering." - }, - "DescribeReservation": { - "name": "DescribeReservation", - "http": { - "method": "GET", - "requestUri": "/prod/reservations/{reservationId}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeReservationRequest" - }, - "output": { - "shape": "DescribeReservationResponse", - "documentation": "Reservation details" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to describe reservation" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "NotFoundException", - "documentation": "Reservation you're attempting to describe does not exist" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on describe reservation request" - } - ], - "documentation": "Get details for a reservation." - }, - "DescribeSchedule": { - "name": "DescribeSchedule", - "http": { - "method": "GET", - "requestUri": "/prod/channels/{channelId}/schedule", - "responseCode": 200 - }, - "input": { - "shape": "DescribeScheduleRequest" - }, - "output": { - "shape": "DescribeScheduleResponse", - "documentation": "An array of channel schedule actions." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to describe the channel schedule." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The channel you're requesting a schedule describe for does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on describe schedule calls." - } - ], - "documentation": "Get a channel schedule" - }, - "ListChannels": { - "name": "ListChannels", - "http": { - "method": "GET", - "requestUri": "/prod/channels", - "responseCode": 200 - }, - "input": { - "shape": "ListChannelsRequest" - }, - "output": { - "shape": "ListChannelsResponse", - "documentation": "An array of channels" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to list channels." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on list channel calls to channel service." - } - ], - "documentation": "Produces list of channels that have been created" - }, - "ListInputSecurityGroups": { - "name": "ListInputSecurityGroups", - "http": { - "method": "GET", - "requestUri": "/prod/inputSecurityGroups", - "responseCode": 200 - }, - "input": { - "shape": "ListInputSecurityGroupsRequest" - }, - "output": { - "shape": "ListInputSecurityGroupsResponse", - "documentation": "An array of Input Security Groups" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The request to list Input Security Groups was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Server Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to call ListInputSecurityGroups" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit Exceeded Error" - } - ], - "documentation": "Produces a list of Input Security Groups for an account" - }, - "ListInputs": { - "name": "ListInputs", - "http": { - "method": "GET", - "requestUri": "/prod/inputs", - "responseCode": 200 - }, - "input": { - "shape": "ListInputsRequest" - }, - "output": { - "shape": "ListInputsResponse", - "documentation": "An array of inputs" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Service Error" - }, - { - "shape": "ForbiddenException", - "documentation": "Access was denied" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Limit exceeded" - } - ], - "documentation": "Produces list of inputs that have been created" - }, - "ListOfferings": { - "name": "ListOfferings", - "http": { - "method": "GET", - "requestUri": "/prod/offerings", - "responseCode": 200 - }, - "input": { - "shape": "ListOfferingsRequest" - }, - "output": { - "shape": "ListOfferingsResponse", - "documentation": "List of offerings" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to list offerings" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on list offerings request" - } - ], - "documentation": "List offerings available for purchase." - }, - "ListReservations": { - "name": "ListReservations", - "http": { - "method": "GET", - "requestUri": "/prod/reservations", - "responseCode": 200 - }, - "input": { - "shape": "ListReservationsRequest" - }, - "output": { - "shape": "ListReservationsResponse", - "documentation": "List of reservations" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to list reservations" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on list reservations request" - } - ], - "documentation": "List purchased reservations." - }, - "PurchaseOffering": { - "name": "PurchaseOffering", - "http": { - "method": "POST", - "requestUri": "/prod/offerings/{offeringId}/purchase", - "responseCode": 201 - }, - "input": { - "shape": "PurchaseOfferingRequest" - }, - "output": { - "shape": "PurchaseOfferingResponse", - "documentation": "Purchased reservation" - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal service error" - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to purchase the offering" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad gateway error" - }, - { - "shape": "NotFoundException", - "documentation": "Offering you're attempting to purchase does not exist" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway timeout error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on purchase offering request" - }, - { - "shape": "ConflictException", - "documentation": "Offering purchase prevented by service resource issue" - } - ], - "documentation": "Purchase an offering and create a reservation." - }, - "StartChannel": { - "name": "StartChannel", - "http": { - "method": "POST", - "requestUri": "/prod/channels/{channelId}/start", - "responseCode": 200 - }, - "input": { - "shape": "StartChannelRequest" - }, - "output": { - "shape": "StartChannelResponse", - "documentation": "Successfully initiated start of the channel." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to start the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The channel you're requesting to start does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on start channel calls to channel service." - }, - { - "shape": "ConflictException", - "documentation": "The channel is unable to start due to an issue with channel resources." - } - ], - "documentation": "Starts an existing channel" - }, - "StopChannel": { - "name": "StopChannel", - "http": { - "method": "POST", - "requestUri": "/prod/channels/{channelId}/stop", - "responseCode": 200 - }, - "input": { - "shape": "StopChannelRequest" - }, - "output": { - "shape": "StopChannelResponse", - "documentation": "Successfully initiated stop of the channel." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to stop the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The channel you're requesting to stop does not exist." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "TooManyRequestsException", - "documentation": "Request limit exceeded on stop channel calls to channel service." - }, - { - "shape": "ConflictException", - "documentation": "The channel is unable to stop due to an issue with channel resources." - } - ], - "documentation": "Stops a running channel" - }, - "UpdateChannel": { - "name": "UpdateChannel", - "http": { - "method": "PUT", - "requestUri": "/prod/channels/{channelId}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateChannelRequest" - }, - "output": { - "shape": "UpdateChannelResponse", - "documentation": "Channel is successfully updated." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request was invalid." - }, - { - "shape": "UnprocessableEntityException", - "documentation": "The channel configuration failed validation and could not be updated." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Unexpected internal service error." - }, - { - "shape": "ForbiddenException", - "documentation": "You do not have permission to update the channel." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "ConflictException", - "documentation": "The channel is unable to update due to an issue with channel resources." - } - ], - "documentation": "Updates a channel." - }, - "UpdateInput": { - "name": "UpdateInput", - "http": { - "method": "PUT", - "requestUri": "/prod/inputs/{inputId}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateInputRequest" - }, - "output": { - "shape": "UpdateInputResponse", - "documentation": "The input update is successfully initiated." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "This request to update the input was invalid." - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Service Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to update an input." - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The input was not found." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "ConflictException", - "documentation": "The input was unable to be updated at this time due to an issue with input resources." - } - ], - "documentation": "Updates an input." - }, - "UpdateInputSecurityGroup": { - "name": "UpdateInputSecurityGroup", - "http": { - "method": "PUT", - "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateInputSecurityGroupRequest" - }, - "output": { - "shape": "UpdateInputSecurityGroupResponse", - "documentation": "Successfully initiated the update of the Input Security Group." - }, - "errors": [ - { - "shape": "BadRequestException", - "documentation": "The request to update the Input Security Group was invalid" - }, - { - "shape": "InternalServerErrorException", - "documentation": "Internal Server Error" - }, - { - "shape": "ForbiddenException", - "documentation": "The requester does not have permission to update an Input Security Group" - }, - { - "shape": "BadGatewayException", - "documentation": "Bad Gateway Error" - }, - { - "shape": "NotFoundException", - "documentation": "The Input Security Group was not found." - }, - { - "shape": "GatewayTimeoutException", - "documentation": "Gateway Timeout Error" - }, - { - "shape": "ConflictException", - "documentation": "The Input Security Group was unable to be updated due to an issue with input security group resources." - } - ], - "documentation": "Update an Input Security Group's Whilelists." - } - }, - "shapes": { - "AacCodingMode": { - "type": "string", - "enum": [ - "AD_RECEIVER_MIX", - "CODING_MODE_1_0", - "CODING_MODE_1_1", - "CODING_MODE_2_0", - "CODING_MODE_5_1" - ], - "documentation": "Placeholder documentation for AacCodingMode" - }, - "AacInputType": { - "type": "string", - "enum": [ - "BROADCASTER_MIXED_AD", - "NORMAL" - ], - "documentation": "Placeholder documentation for AacInputType" - }, - "AacProfile": { - "type": "string", - "enum": [ - "HEV1", - "HEV2", - "LC" - ], - "documentation": "Placeholder documentation for AacProfile" - }, - "AacRateControlMode": { - "type": "string", - "enum": [ - "CBR", - "VBR" - ], - "documentation": "Placeholder documentation for AacRateControlMode" - }, - "AacRawFormat": { - "type": "string", - "enum": [ - "LATM_LOAS", - "NONE" - ], - "documentation": "Placeholder documentation for AacRawFormat" - }, - "AacSettings": { - "type": "structure", - "members": { - "Bitrate": { - "shape": "__double", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Valid values depend on rate control mode and profile." - }, - "CodingMode": { - "shape": "AacCodingMode", - "locationName": "codingMode", - "documentation": "Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E." - }, - "InputType": { - "shape": "AacInputType", - "locationName": "inputType", - "documentation": "Set to \"broadcasterMixedAd\" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.\n\nLeave set to \"normal\" when input does not contain pre-mixed audio + AD." - }, - "Profile": { - "shape": "AacProfile", - "locationName": "profile", - "documentation": "AAC Profile." - }, - "RateControlMode": { - "shape": "AacRateControlMode", - "locationName": "rateControlMode", - "documentation": "Rate Control Mode." - }, - "RawFormat": { - "shape": "AacRawFormat", - "locationName": "rawFormat", - "documentation": "Sets LATM / LOAS AAC output for raw containers." - }, - "SampleRate": { - "shape": "__double", - "locationName": "sampleRate", - "documentation": "Sample rate in Hz. Valid values depend on rate control mode and profile." - }, - "Spec": { - "shape": "AacSpec", - "locationName": "spec", - "documentation": "Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers." - }, - "VbrQuality": { - "shape": "AacVbrQuality", - "locationName": "vbrQuality", - "documentation": "VBR Quality Level - Only used if rateControlMode is VBR." - } - }, - "documentation": "Placeholder documentation for AacSettings" - }, - "AacSpec": { - "type": "string", - "enum": [ - "MPEG2", - "MPEG4" - ], - "documentation": "Placeholder documentation for AacSpec" - }, - "AacVbrQuality": { - "type": "string", - "enum": [ - "HIGH", - "LOW", - "MEDIUM_HIGH", - "MEDIUM_LOW" - ], - "documentation": "Placeholder documentation for AacVbrQuality" - }, - "Ac3BitstreamMode": { - "type": "string", - "enum": [ - "COMMENTARY", - "COMPLETE_MAIN", - "DIALOGUE", - "EMERGENCY", - "HEARING_IMPAIRED", - "MUSIC_AND_EFFECTS", - "VISUALLY_IMPAIRED", - "VOICE_OVER" - ], - "documentation": "Placeholder documentation for Ac3BitstreamMode" - }, - "Ac3CodingMode": { - "type": "string", - "enum": [ - "CODING_MODE_1_0", - "CODING_MODE_1_1", - "CODING_MODE_2_0", - "CODING_MODE_3_2_LFE" - ], - "documentation": "Placeholder documentation for Ac3CodingMode" - }, - "Ac3DrcProfile": { - "type": "string", - "enum": [ - "FILM_STANDARD", - "NONE" - ], - "documentation": "Placeholder documentation for Ac3DrcProfile" - }, - "Ac3LfeFilter": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for Ac3LfeFilter" - }, - "Ac3MetadataControl": { - "type": "string", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for Ac3MetadataControl" - }, - "Ac3Settings": { - "type": "structure", - "members": { - "Bitrate": { - "shape": "__double", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." - }, - "BitstreamMode": { - "shape": "Ac3BitstreamMode", - "locationName": "bitstreamMode", - "documentation": "Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values." - }, - "CodingMode": { - "shape": "Ac3CodingMode", - "locationName": "codingMode", - "documentation": "Dolby Digital coding mode. Determines number of channels." - }, - "Dialnorm": { - "shape": "__integerMin1Max31", - "locationName": "dialnorm", - "documentation": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through." - }, - "DrcProfile": { - "shape": "Ac3DrcProfile", - "locationName": "drcProfile", - "documentation": "If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification." - }, - "LfeFilter": { - "shape": "Ac3LfeFilter", - "locationName": "lfeFilter", - "documentation": "When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode." - }, - "MetadataControl": { - "shape": "Ac3MetadataControl", - "locationName": "metadataControl", - "documentation": "When set to \"followInput\", encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." - } - }, - "documentation": "Placeholder documentation for Ac3Settings" - }, - "AccessDenied": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for AccessDenied" - }, - "AfdSignaling": { - "type": "string", - "enum": [ - "AUTO", - "FIXED", - "NONE" - ], - "documentation": "Placeholder documentation for AfdSignaling" - }, - "ArchiveContainerSettings": { - "type": "structure", - "members": { - "M2tsSettings": { - "shape": "M2tsSettings", - "locationName": "m2tsSettings" - } - }, - "documentation": "Placeholder documentation for ArchiveContainerSettings" - }, - "ArchiveGroupSettings": { - "type": "structure", - "members": { - "Destination": { - "shape": "OutputLocationRef", - "locationName": "destination", - "documentation": "A directory and base filename where archive files should be written. If the base filename portion of the URI is left blank, the base filename of the first input will be automatically inserted." - }, - "RolloverInterval": { - "shape": "__integerMin1", - "locationName": "rolloverInterval", - "documentation": "Number of seconds to write to archive file before closing and starting a new one." - } - }, - "required": [ - "Destination" - ], - "documentation": "Placeholder documentation for ArchiveGroupSettings" - }, - "ArchiveOutputSettings": { - "type": "structure", - "members": { - "ContainerSettings": { - "shape": "ArchiveContainerSettings", - "locationName": "containerSettings", - "documentation": "Settings specific to the container type of the file." - }, - "Extension": { - "shape": "__string", - "locationName": "extension", - "documentation": "Output file extension. If excluded, this will be auto-selected from the container type." - }, - "NameModifier": { - "shape": "__string", - "locationName": "nameModifier", - "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." - } - }, - "required": [ - "ContainerSettings" - ], - "documentation": "Placeholder documentation for ArchiveOutputSettings" - }, - "AribDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for AribDestinationSettings" - }, - "AribSourceSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for AribSourceSettings" - }, - "AudioChannelMapping": { - "type": "structure", - "members": { - "InputChannelLevels": { - "shape": "__listOfInputChannelLevel", - "locationName": "inputChannelLevels", - "documentation": "Indices and gain values for each input channel that should be remixed into this output channel." - }, - "OutputChannel": { - "shape": "__integerMin0Max7", - "locationName": "outputChannel", - "documentation": "The index of the output channel being produced." - } - }, - "required": [ - "OutputChannel", - "InputChannelLevels" - ], - "documentation": "Placeholder documentation for AudioChannelMapping" - }, - "AudioCodecSettings": { - "type": "structure", - "members": { - "AacSettings": { - "shape": "AacSettings", - "locationName": "aacSettings" - }, - "Ac3Settings": { - "shape": "Ac3Settings", - "locationName": "ac3Settings" - }, - "Eac3Settings": { - "shape": "Eac3Settings", - "locationName": "eac3Settings" - }, - "Mp2Settings": { - "shape": "Mp2Settings", - "locationName": "mp2Settings" - }, - "PassThroughSettings": { - "shape": "PassThroughSettings", - "locationName": "passThroughSettings" - } - }, - "documentation": "Placeholder documentation for AudioCodecSettings" - }, - "AudioDescription": { - "type": "structure", - "members": { - "AudioNormalizationSettings": { - "shape": "AudioNormalizationSettings", - "locationName": "audioNormalizationSettings", - "documentation": "Advanced audio normalization settings." - }, - "AudioSelectorName": { - "shape": "__string", - "locationName": "audioSelectorName", - "documentation": "The name of the AudioSelector used as the source for this AudioDescription." - }, - "AudioType": { - "shape": "AudioType", - "locationName": "audioType", - "documentation": "Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1." - }, - "AudioTypeControl": { - "shape": "AudioDescriptionAudioTypeControl", - "locationName": "audioTypeControl", - "documentation": "Determines how audio type is determined.\n followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output.\n useConfigured: The value in Audio Type is included in the output.\nNote that this field and audioType are both ignored if inputType is broadcasterMixedAd." - }, - "CodecSettings": { - "shape": "AudioCodecSettings", - "locationName": "codecSettings", - "documentation": "Audio codec settings." - }, - "LanguageCode": { - "shape": "__stringMin3Max3", - "locationName": "languageCode", - "documentation": "Indicates the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input." - }, - "LanguageCodeControl": { - "shape": "AudioDescriptionLanguageCodeControl", - "locationName": "languageCodeControl", - "documentation": "Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event." - }, - "RemixSettings": { - "shape": "RemixSettings", - "locationName": "remixSettings", - "documentation": "Settings that control how input audio channels are remixed into the output audio channels." - }, - "StreamName": { - "shape": "__string", - "locationName": "streamName", - "documentation": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary)." - } - }, - "required": [ - "AudioSelectorName", - "Name" - ], - "documentation": "Placeholder documentation for AudioDescription" - }, - "AudioDescriptionAudioTypeControl": { - "type": "string", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for AudioDescriptionAudioTypeControl" - }, - "AudioDescriptionLanguageCodeControl": { - "type": "string", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for AudioDescriptionLanguageCodeControl" - }, - "AudioLanguageSelection": { - "type": "structure", - "members": { - "LanguageCode": { - "shape": "__string", - "locationName": "languageCode", - "documentation": "Selects a specific three-letter language code from within an audio source." - }, - "LanguageSelectionPolicy": { - "shape": "AudioLanguageSelectionPolicy", - "locationName": "languageSelectionPolicy", - "documentation": "When set to \"strict\", the transport stream demux strictly identifies audio streams by their language descriptor. If a PMT update occurs such that an audio stream matching the initially selected language is no longer present then mute will be encoded until the language returns. If \"loose\", then on a PMT update the demux will choose another audio stream in the program with the same stream type if it can't find one with the same language." - } - }, - "required": [ - "LanguageCode" - ], - "documentation": "Placeholder documentation for AudioLanguageSelection" - }, - "AudioLanguageSelectionPolicy": { - "type": "string", - "enum": [ - "LOOSE", - "STRICT" - ], - "documentation": "Placeholder documentation for AudioLanguageSelectionPolicy" - }, - "AudioNormalizationAlgorithm": { - "type": "string", - "enum": [ - "ITU_1770_1", - "ITU_1770_2" - ], - "documentation": "Placeholder documentation for AudioNormalizationAlgorithm" - }, - "AudioNormalizationAlgorithmControl": { - "type": "string", - "enum": [ - "CORRECT_AUDIO" - ], - "documentation": "Placeholder documentation for AudioNormalizationAlgorithmControl" - }, - "AudioNormalizationSettings": { - "type": "structure", - "members": { - "Algorithm": { - "shape": "AudioNormalizationAlgorithm", - "locationName": "algorithm", - "documentation": "Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification." - }, - "AlgorithmControl": { - "shape": "AudioNormalizationAlgorithmControl", - "locationName": "algorithmControl", - "documentation": "When set to correctAudio the output audio is corrected using the chosen algorithm. If set to measureOnly, the audio will be measured but not adjusted." - }, - "TargetLkfs": { - "shape": "__doubleMinNegative59Max0", - "locationName": "targetLkfs", - "documentation": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS." - } - }, - "documentation": "Placeholder documentation for AudioNormalizationSettings" - }, - "AudioOnlyHlsSettings": { - "type": "structure", - "members": { - "AudioGroupId": { - "shape": "__string", - "locationName": "audioGroupId", - "documentation": "Specifies the group to which the audio Rendition belongs." - }, - "AudioOnlyImage": { - "shape": "InputLocation", - "locationName": "audioOnlyImage", - "documentation": "For use with an audio only Stream. Must be a .jpg or .png file. If given, this image will be used as the cover-art for the audio only output. Ideally, it should be formatted for an iPhone screen for two reasons. The iPhone does not resize the image, it crops a centered image on the top/bottom and left/right. Additionally, this image file gets saved bit-for-bit into every 10-second segment file, so will increase bandwidth by {image file size} * {segment count} * {user count.}." - }, - "AudioTrackType": { - "shape": "AudioOnlyHlsTrackType", - "locationName": "audioTrackType", - "documentation": "Four types of audio-only tracks are supported:\n\nAudio-Only Variant Stream\nThe client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.\n\nAlternate Audio, Auto Select, Default\nAlternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES\n\nAlternate Audio, Auto Select, Not Default\nAlternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES\n\nAlternate Audio, not Auto Select\nAlternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO" - } - }, - "documentation": "Placeholder documentation for AudioOnlyHlsSettings" - }, - "AudioOnlyHlsTrackType": { - "type": "string", - "enum": [ - "ALTERNATE_AUDIO_AUTO_SELECT", - "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", - "ALTERNATE_AUDIO_NOT_AUTO_SELECT", - "AUDIO_ONLY_VARIANT_STREAM" - ], - "documentation": "Placeholder documentation for AudioOnlyHlsTrackType" - }, - "AudioPidSelection": { - "type": "structure", - "members": { - "Pid": { - "shape": "__integerMin0Max8191", - "locationName": "pid", - "documentation": "Selects a specific PID from within a source." - } - }, - "required": [ - "Pid" - ], - "documentation": "Placeholder documentation for AudioPidSelection" - }, - "AudioSelector": { - "type": "structure", - "members": { - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input." - }, - "SelectorSettings": { - "shape": "AudioSelectorSettings", - "locationName": "selectorSettings", - "documentation": "The audio selector settings." - } - }, - "required": [ - "Name" - ], - "documentation": "Placeholder documentation for AudioSelector" - }, - "AudioSelectorSettings": { - "type": "structure", - "members": { - "AudioLanguageSelection": { - "shape": "AudioLanguageSelection", - "locationName": "audioLanguageSelection" - }, - "AudioPidSelection": { - "shape": "AudioPidSelection", - "locationName": "audioPidSelection" - } - }, - "documentation": "Placeholder documentation for AudioSelectorSettings" - }, - "AudioType": { - "type": "string", - "enum": [ - "CLEAN_EFFECTS", - "HEARING_IMPAIRED", - "UNDEFINED", - "VISUAL_IMPAIRED_COMMENTARY" - ], - "documentation": "Placeholder documentation for AudioType" - }, - "AuthenticationScheme": { - "type": "string", - "enum": [ - "AKAMAI", - "COMMON" - ], - "documentation": "Placeholder documentation for AuthenticationScheme" - }, - "AvailBlanking": { - "type": "structure", - "members": { - "AvailBlankingImage": { - "shape": "InputLocation", - "locationName": "availBlankingImage", - "documentation": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported." - }, - "State": { - "shape": "AvailBlankingState", - "locationName": "state", - "documentation": "When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added." - } - }, - "documentation": "Placeholder documentation for AvailBlanking" - }, - "AvailBlankingState": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for AvailBlankingState" - }, - "AvailConfiguration": { - "type": "structure", - "members": { - "AvailSettings": { - "shape": "AvailSettings", - "locationName": "availSettings", - "documentation": "Ad avail settings." - } - }, - "documentation": "Placeholder documentation for AvailConfiguration" - }, - "AvailSettings": { - "type": "structure", - "members": { - "Scte35SpliceInsert": { - "shape": "Scte35SpliceInsert", - "locationName": "scte35SpliceInsert" - }, - "Scte35TimeSignalApos": { - "shape": "Scte35TimeSignalApos", - "locationName": "scte35TimeSignalApos" - } - }, - "documentation": "Placeholder documentation for AvailSettings" - }, - "BadGatewayException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 502 - }, - "documentation": "Placeholder documentation for BadGatewayException" - }, - "BadRequestException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 400 - }, - "documentation": "Placeholder documentation for BadRequestException" - }, - "BatchScheduleActionCreateRequest": { - "type": "structure", - "members": { - "ScheduleActions": { - "shape": "__listOfScheduleAction", - "locationName": "scheduleActions", - "documentation": "A list of schedule actions to create." - } - }, - "documentation": "A list of schedule actions to create.", - "required": [ - "ScheduleActions" - ] - }, - "BatchScheduleActionCreateResult": { - "type": "structure", - "members": { - "ScheduleActions": { - "shape": "__listOfScheduleAction", - "locationName": "scheduleActions", - "documentation": "Returned list of created schedule actions." - } - }, - "documentation": "Returned list of created schedule actions.", - "required": [ - "ScheduleActions" - ] - }, - "BatchScheduleActionDeleteRequest": { - "type": "structure", - "members": { - "ActionNames": { - "shape": "__listOf__string", - "locationName": "actionNames", - "documentation": "A list of schedule actions to delete, identified by unique name." - } - }, - "documentation": "A list of schedule actions to delete.", - "required": [ - "ActionNames" - ] - }, - "BatchScheduleActionDeleteResult": { - "type": "structure", - "members": { - "ScheduleActions": { - "shape": "__listOfScheduleAction", - "locationName": "scheduleActions", - "documentation": "Returned list of deleted schedule actions." - } - }, - "documentation": "Returned list of deleted schedule actions.", - "required": [ - "ScheduleActions" - ] - }, - "BatchUpdateScheduleRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "Id of the channel whose schedule is being updated." - }, - "Creates": { - "shape": "BatchScheduleActionCreateRequest", - "locationName": "creates", - "documentation": "Schedule actions to create in the schedule." - }, - "Deletes": { - "shape": "BatchScheduleActionDeleteRequest", - "locationName": "deletes", - "documentation": "Schedule actions to delete from the schedule." - } - }, - "documentation": "List of actions to create and list of actions to delete.", - "required": [ - "ChannelId" - ] - }, - "BatchUpdateScheduleResponse": { - "type": "structure", - "members": { - "Creates": { - "shape": "BatchScheduleActionCreateResult", - "locationName": "creates", - "documentation": "Schedule actions created in the schedule." - }, - "Deletes": { - "shape": "BatchScheduleActionDeleteResult", - "locationName": "deletes", - "documentation": "Schedule actions deleted from the schedule." - } - }, - "documentation": "Response to a batch update schedule call." - }, - "BatchUpdateScheduleResult": { - "type": "structure", - "members": { - "Creates": { - "shape": "BatchScheduleActionCreateResult", - "locationName": "creates", - "documentation": "Schedule actions created in the schedule." - }, - "Deletes": { - "shape": "BatchScheduleActionDeleteResult", - "locationName": "deletes", - "documentation": "Schedule actions deleted from the schedule." - } - }, - "documentation": "Results of a batch schedule update." - }, - "BlackoutSlate": { - "type": "structure", - "members": { - "BlackoutSlateImage": { - "shape": "InputLocation", - "locationName": "blackoutSlateImage", - "documentation": "Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported." - }, - "NetworkEndBlackout": { - "shape": "BlackoutSlateNetworkEndBlackout", - "locationName": "networkEndBlackout", - "documentation": "Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the \"Network Blackout Image\" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in \"Network ID\"." - }, - "NetworkEndBlackoutImage": { - "shape": "InputLocation", - "locationName": "networkEndBlackoutImage", - "documentation": "Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster." - }, - "NetworkId": { - "shape": "__stringMin34Max34", - "locationName": "networkId", - "documentation": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\")." - }, - "State": { - "shape": "BlackoutSlateState", - "locationName": "state", - "documentation": "When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata." - } - }, - "documentation": "Placeholder documentation for BlackoutSlate" - }, - "BlackoutSlateNetworkEndBlackout": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for BlackoutSlateNetworkEndBlackout" - }, - "BlackoutSlateState": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for BlackoutSlateState" - }, - "BurnInAlignment": { - "type": "string", - "enum": [ - "CENTERED", - "LEFT", - "SMART" - ], - "documentation": "Placeholder documentation for BurnInAlignment" - }, - "BurnInBackgroundColor": { - "type": "string", - "enum": [ - "BLACK", - "NONE", - "WHITE" - ], - "documentation": "Placeholder documentation for BurnInBackgroundColor" - }, - "BurnInDestinationSettings": { - "type": "structure", - "members": { - "Alignment": { - "shape": "BurnInAlignment", - "locationName": "alignment", - "documentation": "If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match." - }, - "BackgroundColor": { - "shape": "BurnInBackgroundColor", - "locationName": "backgroundColor", - "documentation": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match." - }, - "BackgroundOpacity": { - "shape": "__integerMin0Max255", - "locationName": "backgroundOpacity", - "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "Font": { - "shape": "InputLocation", - "locationName": "font", - "documentation": "External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match." - }, - "FontColor": { - "shape": "BurnInFontColor", - "locationName": "fontColor", - "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "FontOpacity": { - "shape": "__integerMin0Max255", - "locationName": "fontOpacity", - "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match." - }, - "FontResolution": { - "shape": "__integerMin96Max600", - "locationName": "fontResolution", - "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." - }, - "FontSize": { - "shape": "__string", - "locationName": "fontSize", - "documentation": "When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match." - }, - "OutlineColor": { - "shape": "BurnInOutlineColor", - "locationName": "outlineColor", - "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "OutlineSize": { - "shape": "__integerMin0Max10", - "locationName": "outlineSize", - "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "ShadowColor": { - "shape": "BurnInShadowColor", - "locationName": "shadowColor", - "documentation": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match." - }, - "ShadowOpacity": { - "shape": "__integerMin0Max255", - "locationName": "shadowOpacity", - "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "ShadowXOffset": { - "shape": "__integer", - "locationName": "shadowXOffset", - "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." - }, - "ShadowYOffset": { - "shape": "__integer", - "locationName": "shadowYOffset", - "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." - }, - "TeletextGridControl": { - "shape": "BurnInTeletextGridControl", - "locationName": "teletextGridControl", - "documentation": "Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs." - }, - "XPosition": { - "shape": "__integerMin0", - "locationName": "xPosition", - "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match." - }, - "YPosition": { - "shape": "__integerMin0", - "locationName": "yPosition", - "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match." - } - }, - "documentation": "Placeholder documentation for BurnInDestinationSettings" - }, - "BurnInFontColor": { - "type": "string", - "enum": [ - "BLACK", - "BLUE", - "GREEN", - "RED", - "WHITE", - "YELLOW" - ], - "documentation": "Placeholder documentation for BurnInFontColor" - }, - "BurnInOutlineColor": { - "type": "string", - "enum": [ - "BLACK", - "BLUE", - "GREEN", - "RED", - "WHITE", - "YELLOW" - ], - "documentation": "Placeholder documentation for BurnInOutlineColor" - }, - "BurnInShadowColor": { - "type": "string", - "enum": [ - "BLACK", - "NONE", - "WHITE" - ], - "documentation": "Placeholder documentation for BurnInShadowColor" - }, - "BurnInTeletextGridControl": { - "type": "string", - "enum": [ - "FIXED", - "SCALED" - ], - "documentation": "Placeholder documentation for BurnInTeletextGridControl" - }, - "CaptionDescription": { - "type": "structure", - "members": { - "CaptionSelectorName": { - "shape": "__string", - "locationName": "captionSelectorName", - "documentation": "Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name." - }, - "DestinationSettings": { - "shape": "CaptionDestinationSettings", - "locationName": "destinationSettings", - "documentation": "Additional settings for captions destination that depend on the destination type." - }, - "LanguageCode": { - "shape": "__string", - "locationName": "languageCode", - "documentation": "ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/" - }, - "LanguageDescription": { - "shape": "__string", - "locationName": "languageDescription", - "documentation": "Human readable information to indicate captions available for players (eg. English, or Spanish)." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event." - } - }, - "documentation": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", - "required": [ - "CaptionSelectorName", - "Name" - ] - }, - "CaptionDestinationSettings": { - "type": "structure", - "members": { - "AribDestinationSettings": { - "shape": "AribDestinationSettings", - "locationName": "aribDestinationSettings" - }, - "BurnInDestinationSettings": { - "shape": "BurnInDestinationSettings", - "locationName": "burnInDestinationSettings" - }, - "DvbSubDestinationSettings": { - "shape": "DvbSubDestinationSettings", - "locationName": "dvbSubDestinationSettings" - }, - "EmbeddedDestinationSettings": { - "shape": "EmbeddedDestinationSettings", - "locationName": "embeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "shape": "EmbeddedPlusScte20DestinationSettings", - "locationName": "embeddedPlusScte20DestinationSettings" - }, - "RtmpCaptionInfoDestinationSettings": { - "shape": "RtmpCaptionInfoDestinationSettings", - "locationName": "rtmpCaptionInfoDestinationSettings" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "shape": "Scte20PlusEmbeddedDestinationSettings", - "locationName": "scte20PlusEmbeddedDestinationSettings" - }, - "Scte27DestinationSettings": { - "shape": "Scte27DestinationSettings", - "locationName": "scte27DestinationSettings" - }, - "SmpteTtDestinationSettings": { - "shape": "SmpteTtDestinationSettings", - "locationName": "smpteTtDestinationSettings" - }, - "TeletextDestinationSettings": { - "shape": "TeletextDestinationSettings", - "locationName": "teletextDestinationSettings" - }, - "TtmlDestinationSettings": { - "shape": "TtmlDestinationSettings", - "locationName": "ttmlDestinationSettings" - }, - "WebvttDestinationSettings": { - "shape": "WebvttDestinationSettings", - "locationName": "webvttDestinationSettings" - } - }, - "documentation": "Placeholder documentation for CaptionDestinationSettings" - }, - "CaptionLanguageMapping": { - "type": "structure", - "members": { - "CaptionChannel": { - "shape": "__integerMin1Max4", - "locationName": "captionChannel", - "documentation": "The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4)" - }, - "LanguageCode": { - "shape": "__stringMin3Max3", - "locationName": "languageCode", - "documentation": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)" - }, - "LanguageDescription": { - "shape": "__stringMin1", - "locationName": "languageDescription", - "documentation": "Textual description of language" - } - }, - "documentation": "Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), with an optional description.", - "required": [ - "LanguageCode", - "LanguageDescription", - "CaptionChannel" - ] - }, - "CaptionSelector": { - "type": "structure", - "members": { - "LanguageCode": { - "shape": "__string", - "locationName": "languageCode", - "documentation": "When specified this field indicates the three letter language code of the caption track to extract from the source." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name identifier for a caption selector. This name is used to associate this caption selector with one or more caption descriptions. Names must be unique within an event." - }, - "SelectorSettings": { - "shape": "CaptionSelectorSettings", - "locationName": "selectorSettings", - "documentation": "Caption selector settings." - } - }, - "documentation": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", - "required": [ - "Name" - ] - }, - "CaptionSelectorSettings": { - "type": "structure", - "members": { - "AribSourceSettings": { - "shape": "AribSourceSettings", - "locationName": "aribSourceSettings" - }, - "DvbSubSourceSettings": { - "shape": "DvbSubSourceSettings", - "locationName": "dvbSubSourceSettings" - }, - "EmbeddedSourceSettings": { - "shape": "EmbeddedSourceSettings", - "locationName": "embeddedSourceSettings" - }, - "Scte20SourceSettings": { - "shape": "Scte20SourceSettings", - "locationName": "scte20SourceSettings" - }, - "Scte27SourceSettings": { - "shape": "Scte27SourceSettings", - "locationName": "scte27SourceSettings" - }, - "TeletextSourceSettings": { - "shape": "TeletextSourceSettings", - "locationName": "teletextSourceSettings" - } - }, - "documentation": "Placeholder documentation for CaptionSelectorSettings" - }, - "Channel": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for Channel" - }, - "ChannelConfigurationValidationError": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - }, - "ValidationErrors": { - "shape": "__listOfValidationError", - "locationName": "validationErrors", - "documentation": "A collection of validation error responses." - } - }, - "documentation": "Placeholder documentation for ChannelConfigurationValidationError" - }, - "ChannelEgressEndpoint": { - "type": "structure", - "members": { - "SourceIp": { - "shape": "__string", - "locationName": "sourceIp", - "documentation": "Public IP of where a channel's output comes from" - } - }, - "documentation": "Placeholder documentation for ChannelEgressEndpoint" - }, - "ChannelState": { - "type": "string", - "enum": [ - "CREATING", - "CREATE_FAILED", - "IDLE", - "STARTING", - "RUNNING", - "RECOVERING", - "STOPPING", - "DELETING", - "DELETED" - ], - "documentation": "Placeholder documentation for ChannelState" - }, - "ChannelSummary": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for ChannelSummary" - }, - "ConflictException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 409 - }, - "documentation": "Placeholder documentation for ConflictException" - }, - "CreateChannel": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification", - "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level to write to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of channel." - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", - "idempotencyToken": true - }, - "Reserved": { - "shape": "__string", - "locationName": "reserved", - "documentation": "Deprecated field that's only usable by whitelisted customers.", - "deprecated": true - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." - } - }, - "documentation": "Placeholder documentation for CreateChannel" - }, - "CreateChannelRequest": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification", - "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level to write to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of channel." - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", - "idempotencyToken": true - }, - "Reserved": { - "shape": "__string", - "locationName": "reserved", - "documentation": "Deprecated field that's only usable by whitelisted customers.", - "deprecated": true - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." - } - }, - "documentation": "A request to create a channel" - }, - "CreateChannelResponse": { - "type": "structure", - "members": { - "Channel": { - "shape": "Channel", - "locationName": "channel" - } - }, - "documentation": "Placeholder documentation for CreateChannelResponse" - }, - "CreateChannelResultModel": { - "type": "structure", - "members": { - "Channel": { - "shape": "Channel", - "locationName": "channel" - } - }, - "documentation": "Placeholder documentation for CreateChannelResultModel" - }, - "CreateInput": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfInputDestinationRequest", - "locationName": "destinations", - "documentation": "Destination settings for PUSH type inputs." - }, - "InputSecurityGroups": { - "shape": "__listOf__string", - "locationName": "inputSecurityGroups", - "documentation": "A list of security groups referenced by IDs to attach to the input." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the input." - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", - "idempotencyToken": true - }, - "Sources": { - "shape": "__listOfInputSourceRequest", - "locationName": "sources", - "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" - }, - "Type": { - "shape": "InputType", - "locationName": "type" - } - }, - "documentation": "Placeholder documentation for CreateInput" - }, - "CreateInputRequest": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfInputDestinationRequest", - "locationName": "destinations", - "documentation": "Destination settings for PUSH type inputs." - }, - "InputSecurityGroups": { - "shape": "__listOf__string", - "locationName": "inputSecurityGroups", - "documentation": "A list of security groups referenced by IDs to attach to the input." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the input." - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", - "idempotencyToken": true - }, - "Sources": { - "shape": "__listOfInputSourceRequest", - "locationName": "sources", - "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" - }, - "Type": { - "shape": "InputType", - "locationName": "type" - } - }, - "documentation": "The name of the input" - }, - "CreateInputResponse": { - "type": "structure", - "members": { - "Input": { - "shape": "Input", - "locationName": "input" - } - }, - "documentation": "Placeholder documentation for CreateInputResponse" - }, - "CreateInputResultModel": { - "type": "structure", - "members": { - "Input": { - "shape": "Input", - "locationName": "input" - } - }, - "documentation": "Placeholder documentation for CreateInputResultModel" - }, - "CreateInputSecurityGroupRequest": { - "type": "structure", - "members": { - "WhitelistRules": { - "shape": "__listOfInputWhitelistRuleCidr", - "locationName": "whitelistRules", - "documentation": "List of IPv4 CIDR addresses to whitelist" - } - }, - "documentation": "The IPv4 CIDRs to whitelist for this Input Security Group" - }, - "CreateInputSecurityGroupResponse": { - "type": "structure", - "members": { - "SecurityGroup": { - "shape": "InputSecurityGroup", - "locationName": "securityGroup" - } - }, - "documentation": "Placeholder documentation for CreateInputSecurityGroupResponse" - }, - "CreateInputSecurityGroupResultModel": { - "type": "structure", - "members": { - "SecurityGroup": { - "shape": "InputSecurityGroup", - "locationName": "securityGroup" - } - }, - "documentation": "Placeholder documentation for CreateInputSecurityGroupResultModel" - }, - "DeleteChannelRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "Unique ID of the channel." - } - }, - "required": [ - "ChannelId" - ], - "documentation": "Placeholder documentation for DeleteChannelRequest" - }, - "DeleteChannelResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for DeleteChannelResponse" - }, - "DeleteInputRequest": { - "type": "structure", - "members": { - "InputId": { - "shape": "__string", - "location": "uri", - "locationName": "inputId", - "documentation": "Unique ID of the input" - } - }, - "required": [ - "InputId" - ], - "documentation": "Placeholder documentation for DeleteInputRequest" - }, - "DeleteInputResponse": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for DeleteInputResponse" - }, - "DeleteInputSecurityGroupRequest": { - "type": "structure", - "members": { - "InputSecurityGroupId": { - "shape": "__string", - "location": "uri", - "locationName": "inputSecurityGroupId", - "documentation": "The Input Security Group to delete" - } - }, - "required": [ - "InputSecurityGroupId" - ], - "documentation": "Placeholder documentation for DeleteInputSecurityGroupRequest" - }, - "DeleteInputSecurityGroupResponse": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for DeleteInputSecurityGroupResponse" - }, - "DeleteReservationRequest": { - "type": "structure", - "members": { - "ReservationId": { - "shape": "__string", - "location": "uri", - "locationName": "reservationId", - "documentation": "Unique reservation ID, e.g. '1234567'" - } - }, - "required": [ - "ReservationId" - ], - "documentation": "Placeholder documentation for DeleteReservationRequest" - }, - "DeleteReservationResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" - }, - "Count": { - "shape": "__integer", - "locationName": "count", - "documentation": "Number of reserved resources" - }, - "CurrencyCode": { - "shape": "__string", - "locationName": "currencyCode", - "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" - }, - "Duration": { - "shape": "__integer", - "locationName": "duration", - "documentation": "Lease duration, e.g. '12'" - }, - "DurationUnits": { - "shape": "OfferingDurationUnits", - "locationName": "durationUnits", - "documentation": "Units for duration, e.g. 'MONTHS'" - }, - "End": { - "shape": "__string", - "locationName": "end", - "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" - }, - "FixedPrice": { - "shape": "__double", - "locationName": "fixedPrice", - "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "User specified reservation name" - }, - "OfferingDescription": { - "shape": "__string", - "locationName": "offeringDescription", - "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" - }, - "OfferingId": { - "shape": "__string", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - }, - "OfferingType": { - "shape": "OfferingType", - "locationName": "offeringType", - "documentation": "Offering type, e.g. 'NO_UPFRONT'" - }, - "Region": { - "shape": "__string", - "locationName": "region", - "documentation": "AWS region, e.g. 'us-west-2'" - }, - "ReservationId": { - "shape": "__string", - "locationName": "reservationId", - "documentation": "Unique reservation ID, e.g. '1234567'" - }, - "ResourceSpecification": { - "shape": "ReservationResourceSpecification", - "locationName": "resourceSpecification", - "documentation": "Resource configuration details" - }, - "Start": { - "shape": "__string", - "locationName": "start", - "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" - }, - "State": { - "shape": "ReservationState", - "locationName": "state", - "documentation": "Current state of reservation, e.g. 'ACTIVE'" - }, - "UsagePrice": { - "shape": "__double", - "locationName": "usagePrice", - "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" - } - }, - "documentation": "Placeholder documentation for DeleteReservationResponse" - }, - "DescribeChannelRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "channel ID" - } - }, - "required": [ - "ChannelId" - ], - "documentation": "Placeholder documentation for DescribeChannelRequest" - }, - "DescribeChannelResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for DescribeChannelResponse" - }, - "DescribeInputRequest": { - "type": "structure", - "members": { - "InputId": { - "shape": "__string", - "location": "uri", - "locationName": "inputId", - "documentation": "Unique ID of the input" - } - }, - "required": [ - "InputId" - ], - "documentation": "Placeholder documentation for DescribeInputRequest" - }, - "DescribeInputResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Unique ARN of the input (generated, immutable)." - }, - "AttachedChannels": { - "shape": "__listOf__string", - "locationName": "attachedChannels", - "documentation": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel)." - }, - "Destinations": { - "shape": "__listOfInputDestination", - "locationName": "destinations", - "documentation": "A list of the destinations of the input (PUSH-type)." - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The generated ID of the input (unique for user account, immutable)." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The user-assigned name (This is a mutable value)." - }, - "SecurityGroups": { - "shape": "__listOf__string", - "locationName": "securityGroups", - "documentation": "A list of IDs for all the security groups attached to the input." - }, - "Sources": { - "shape": "__listOfInputSource", - "locationName": "sources", - "documentation": "A list of the sources of the input (PULL-type)." - }, - "State": { - "shape": "InputState", - "locationName": "state" - }, - "Type": { - "shape": "InputType", - "locationName": "type" - } - }, - "documentation": "Placeholder documentation for DescribeInputResponse" - }, - "DescribeInputSecurityGroupRequest": { - "type": "structure", - "members": { - "InputSecurityGroupId": { - "shape": "__string", - "location": "uri", - "locationName": "inputSecurityGroupId", - "documentation": "The id of the Input Security Group to describe" - } - }, - "required": [ - "InputSecurityGroupId" - ], - "documentation": "Placeholder documentation for DescribeInputSecurityGroupRequest" - }, - "DescribeInputSecurityGroupResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique ARN of Input Security Group" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The Id of the Input Security Group" - }, - "Inputs": { - "shape": "__listOf__string", - "locationName": "inputs", - "documentation": "The list of inputs currently using this Input Security Group." - }, - "State": { - "shape": "InputSecurityGroupState", - "locationName": "state", - "documentation": "The current state of the Input Security Group." - }, - "WhitelistRules": { - "shape": "__listOfInputWhitelistRule", - "locationName": "whitelistRules", - "documentation": "Whitelist rules and their sync status" - } - }, - "documentation": "Placeholder documentation for DescribeInputSecurityGroupResponse" - }, - "DescribeOfferingRequest": { - "type": "structure", - "members": { - "OfferingId": { - "shape": "__string", - "location": "uri", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - } - }, - "required": [ - "OfferingId" - ], - "documentation": "Placeholder documentation for DescribeOfferingRequest" - }, - "DescribeOfferingResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'" - }, - "CurrencyCode": { - "shape": "__string", - "locationName": "currencyCode", - "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" - }, - "Duration": { - "shape": "__integer", - "locationName": "duration", - "documentation": "Lease duration, e.g. '12'" - }, - "DurationUnits": { - "shape": "OfferingDurationUnits", - "locationName": "durationUnits", - "documentation": "Units for duration, e.g. 'MONTHS'" - }, - "FixedPrice": { - "shape": "__double", - "locationName": "fixedPrice", - "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" - }, - "OfferingDescription": { - "shape": "__string", - "locationName": "offeringDescription", - "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" - }, - "OfferingId": { - "shape": "__string", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - }, - "OfferingType": { - "shape": "OfferingType", - "locationName": "offeringType", - "documentation": "Offering type, e.g. 'NO_UPFRONT'" - }, - "Region": { - "shape": "__string", - "locationName": "region", - "documentation": "AWS region, e.g. 'us-west-2'" - }, - "ResourceSpecification": { - "shape": "ReservationResourceSpecification", - "locationName": "resourceSpecification", - "documentation": "Resource configuration details" - }, - "UsagePrice": { - "shape": "__double", - "locationName": "usagePrice", - "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" - } - }, - "documentation": "Placeholder documentation for DescribeOfferingResponse" - }, - "DescribeReservationRequest": { - "type": "structure", - "members": { - "ReservationId": { - "shape": "__string", - "location": "uri", - "locationName": "reservationId", - "documentation": "Unique reservation ID, e.g. '1234567'" - } - }, - "required": [ - "ReservationId" - ], - "documentation": "Placeholder documentation for DescribeReservationRequest" - }, - "DescribeReservationResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" - }, - "Count": { - "shape": "__integer", - "locationName": "count", - "documentation": "Number of reserved resources" - }, - "CurrencyCode": { - "shape": "__string", - "locationName": "currencyCode", - "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" - }, - "Duration": { - "shape": "__integer", - "locationName": "duration", - "documentation": "Lease duration, e.g. '12'" - }, - "DurationUnits": { - "shape": "OfferingDurationUnits", - "locationName": "durationUnits", - "documentation": "Units for duration, e.g. 'MONTHS'" - }, - "End": { - "shape": "__string", - "locationName": "end", - "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" - }, - "FixedPrice": { - "shape": "__double", - "locationName": "fixedPrice", - "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "User specified reservation name" - }, - "OfferingDescription": { - "shape": "__string", - "locationName": "offeringDescription", - "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" - }, - "OfferingId": { - "shape": "__string", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - }, - "OfferingType": { - "shape": "OfferingType", - "locationName": "offeringType", - "documentation": "Offering type, e.g. 'NO_UPFRONT'" - }, - "Region": { - "shape": "__string", - "locationName": "region", - "documentation": "AWS region, e.g. 'us-west-2'" - }, - "ReservationId": { - "shape": "__string", - "locationName": "reservationId", - "documentation": "Unique reservation ID, e.g. '1234567'" - }, - "ResourceSpecification": { - "shape": "ReservationResourceSpecification", - "locationName": "resourceSpecification", - "documentation": "Resource configuration details" - }, - "Start": { - "shape": "__string", - "locationName": "start", - "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" - }, - "State": { - "shape": "ReservationState", - "locationName": "state", - "documentation": "Current state of reservation, e.g. 'ACTIVE'" - }, - "UsagePrice": { - "shape": "__double", - "locationName": "usagePrice", - "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" - } - }, - "documentation": "Placeholder documentation for DescribeReservationResponse" - }, - "DescribeScheduleRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "Id of the channel whose schedule is being updated." - }, - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - } - }, - "required": [ - "ChannelId" - ], - "documentation": "Request for a describe schedule call." - }, - "DescribeScheduleResponse": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "The next token; for use in pagination." - }, - "ScheduleActions": { - "shape": "__listOfScheduleAction", - "locationName": "scheduleActions", - "documentation": "The list of schedule actions." - } - }, - "documentation": "Response for a describe schedule call." - }, - "DvbNitSettings": { - "type": "structure", - "members": { - "NetworkId": { - "shape": "__integerMin0Max65536", - "locationName": "networkId", - "documentation": "The numeric value placed in the Network Information Table (NIT)." - }, - "NetworkName": { - "shape": "__stringMin1Max256", - "locationName": "networkName", - "documentation": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters." - }, - "RepInterval": { - "shape": "__integerMin25Max10000", - "locationName": "repInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - } - }, - "documentation": "DVB Network Information Table (NIT)", - "required": [ - "NetworkName", - "NetworkId" - ] - }, - "DvbSdtOutputSdt": { - "type": "string", - "enum": [ - "SDT_FOLLOW", - "SDT_FOLLOW_IF_PRESENT", - "SDT_MANUAL", - "SDT_NONE" - ], - "documentation": "Placeholder documentation for DvbSdtOutputSdt" - }, - "DvbSdtSettings": { - "type": "structure", - "members": { - "OutputSdt": { - "shape": "DvbSdtOutputSdt", - "locationName": "outputSdt", - "documentation": "Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information." - }, - "RepInterval": { - "shape": "__integerMin25Max2000", - "locationName": "repInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - }, - "ServiceName": { - "shape": "__stringMin1Max256", - "locationName": "serviceName", - "documentation": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." - }, - "ServiceProviderName": { - "shape": "__stringMin1Max256", - "locationName": "serviceProviderName", - "documentation": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." - } - }, - "documentation": "DVB Service Description Table (SDT)" - }, - "DvbSubDestinationAlignment": { - "type": "string", - "enum": [ - "CENTERED", - "LEFT", - "SMART" - ], - "documentation": "Placeholder documentation for DvbSubDestinationAlignment" - }, - "DvbSubDestinationBackgroundColor": { - "type": "string", - "enum": [ - "BLACK", - "NONE", - "WHITE" - ], - "documentation": "Placeholder documentation for DvbSubDestinationBackgroundColor" - }, - "DvbSubDestinationFontColor": { - "type": "string", - "enum": [ - "BLACK", - "BLUE", - "GREEN", - "RED", - "WHITE", - "YELLOW" - ], - "documentation": "Placeholder documentation for DvbSubDestinationFontColor" - }, - "DvbSubDestinationOutlineColor": { - "type": "string", - "enum": [ - "BLACK", - "BLUE", - "GREEN", - "RED", - "WHITE", - "YELLOW" - ], - "documentation": "Placeholder documentation for DvbSubDestinationOutlineColor" - }, - "DvbSubDestinationSettings": { - "type": "structure", - "members": { - "Alignment": { - "shape": "DvbSubDestinationAlignment", - "locationName": "alignment", - "documentation": "If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification will left-justify live subtitles and center-justify pre-recorded subtitles. This option is not valid for source captions that are STL or 608/embedded. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "BackgroundColor": { - "shape": "DvbSubDestinationBackgroundColor", - "locationName": "backgroundColor", - "documentation": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match." - }, - "BackgroundOpacity": { - "shape": "__integerMin0Max255", - "locationName": "backgroundOpacity", - "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "Font": { - "shape": "InputLocation", - "locationName": "font", - "documentation": "External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match." - }, - "FontColor": { - "shape": "DvbSubDestinationFontColor", - "locationName": "fontColor", - "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "FontOpacity": { - "shape": "__integerMin0Max255", - "locationName": "fontOpacity", - "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match." - }, - "FontResolution": { - "shape": "__integerMin96Max600", - "locationName": "fontResolution", - "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." - }, - "FontSize": { - "shape": "__string", - "locationName": "fontSize", - "documentation": "When set to auto fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match." - }, - "OutlineColor": { - "shape": "DvbSubDestinationOutlineColor", - "locationName": "outlineColor", - "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "OutlineSize": { - "shape": "__integerMin0Max10", - "locationName": "outlineSize", - "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "ShadowColor": { - "shape": "DvbSubDestinationShadowColor", - "locationName": "shadowColor", - "documentation": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match." - }, - "ShadowOpacity": { - "shape": "__integerMin0Max255", - "locationName": "shadowOpacity", - "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." - }, - "ShadowXOffset": { - "shape": "__integer", - "locationName": "shadowXOffset", - "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." - }, - "ShadowYOffset": { - "shape": "__integer", - "locationName": "shadowYOffset", - "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." - }, - "TeletextGridControl": { - "shape": "DvbSubDestinationTeletextGridControl", - "locationName": "teletextGridControl", - "documentation": "Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs." - }, - "XPosition": { - "shape": "__integerMin0", - "locationName": "xPosition", - "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - }, - "YPosition": { - "shape": "__integerMin0", - "locationName": "yPosition", - "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." - } - }, - "documentation": "Placeholder documentation for DvbSubDestinationSettings" - }, - "DvbSubDestinationShadowColor": { - "type": "string", - "enum": [ - "BLACK", - "NONE", - "WHITE" - ], - "documentation": "Placeholder documentation for DvbSubDestinationShadowColor" - }, - "DvbSubDestinationTeletextGridControl": { - "type": "string", - "enum": [ - "FIXED", - "SCALED" - ], - "documentation": "Placeholder documentation for DvbSubDestinationTeletextGridControl" - }, - "DvbSubSourceSettings": { - "type": "structure", - "members": { - "Pid": { - "shape": "__integerMin1", - "locationName": "pid", - "documentation": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors." - } - }, - "documentation": "Placeholder documentation for DvbSubSourceSettings" - }, - "DvbTdtSettings": { - "type": "structure", - "members": { - "RepInterval": { - "shape": "__integerMin1000Max30000", - "locationName": "repInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream." - } - }, - "documentation": "DVB Time and Date Table (SDT)" - }, - "Eac3AttenuationControl": { - "type": "string", - "enum": [ - "ATTENUATE_3_DB", - "NONE" - ], - "documentation": "Placeholder documentation for Eac3AttenuationControl" - }, - "Eac3BitstreamMode": { - "type": "string", - "enum": [ - "COMMENTARY", - "COMPLETE_MAIN", - "EMERGENCY", - "HEARING_IMPAIRED", - "VISUALLY_IMPAIRED" - ], - "documentation": "Placeholder documentation for Eac3BitstreamMode" - }, - "Eac3CodingMode": { - "type": "string", - "enum": [ - "CODING_MODE_1_0", - "CODING_MODE_2_0", - "CODING_MODE_3_2" - ], - "documentation": "Placeholder documentation for Eac3CodingMode" - }, - "Eac3DcFilter": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for Eac3DcFilter" - }, - "Eac3DrcLine": { - "type": "string", - "enum": [ - "FILM_LIGHT", - "FILM_STANDARD", - "MUSIC_LIGHT", - "MUSIC_STANDARD", - "NONE", - "SPEECH" - ], - "documentation": "Placeholder documentation for Eac3DrcLine" - }, - "Eac3DrcRf": { - "type": "string", - "enum": [ - "FILM_LIGHT", - "FILM_STANDARD", - "MUSIC_LIGHT", - "MUSIC_STANDARD", - "NONE", - "SPEECH" - ], - "documentation": "Placeholder documentation for Eac3DrcRf" - }, - "Eac3LfeControl": { - "type": "string", - "enum": [ - "LFE", - "NO_LFE" - ], - "documentation": "Placeholder documentation for Eac3LfeControl" - }, - "Eac3LfeFilter": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for Eac3LfeFilter" - }, - "Eac3MetadataControl": { - "type": "string", - "enum": [ - "FOLLOW_INPUT", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for Eac3MetadataControl" - }, - "Eac3PassthroughControl": { - "type": "string", - "enum": [ - "NO_PASSTHROUGH", - "WHEN_POSSIBLE" - ], - "documentation": "Placeholder documentation for Eac3PassthroughControl" - }, - "Eac3PhaseControl": { - "type": "string", - "enum": [ - "NO_SHIFT", - "SHIFT_90_DEGREES" - ], - "documentation": "Placeholder documentation for Eac3PhaseControl" - }, - "Eac3Settings": { - "type": "structure", - "members": { - "AttenuationControl": { - "shape": "Eac3AttenuationControl", - "locationName": "attenuationControl", - "documentation": "When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode." - }, - "Bitrate": { - "shape": "__double", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." - }, - "BitstreamMode": { - "shape": "Eac3BitstreamMode", - "locationName": "bitstreamMode", - "documentation": "Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values." - }, - "CodingMode": { - "shape": "Eac3CodingMode", - "locationName": "codingMode", - "documentation": "Dolby Digital Plus coding mode. Determines number of channels." - }, - "DcFilter": { - "shape": "Eac3DcFilter", - "locationName": "dcFilter", - "documentation": "When set to enabled, activates a DC highpass filter for all input channels." - }, - "Dialnorm": { - "shape": "__integerMin1Max31", - "locationName": "dialnorm", - "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." - }, - "DrcLine": { - "shape": "Eac3DrcLine", - "locationName": "drcLine", - "documentation": "Sets the Dolby dynamic range compression profile." - }, - "DrcRf": { - "shape": "Eac3DrcRf", - "locationName": "drcRf", - "documentation": "Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels." - }, - "LfeControl": { - "shape": "Eac3LfeControl", - "locationName": "lfeControl", - "documentation": "When encoding 3/2 audio, setting to lfe enables the LFE channel" - }, - "LfeFilter": { - "shape": "Eac3LfeFilter", - "locationName": "lfeFilter", - "documentation": "When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode." - }, - "LoRoCenterMixLevel": { - "shape": "__double", - "locationName": "loRoCenterMixLevel", - "documentation": "Left only/Right only center mix level. Only used for 3/2 coding mode." - }, - "LoRoSurroundMixLevel": { - "shape": "__double", - "locationName": "loRoSurroundMixLevel", - "documentation": "Left only/Right only surround mix level. Only used for 3/2 coding mode." - }, - "LtRtCenterMixLevel": { - "shape": "__double", - "locationName": "ltRtCenterMixLevel", - "documentation": "Left total/Right total center mix level. Only used for 3/2 coding mode." - }, - "LtRtSurroundMixLevel": { - "shape": "__double", - "locationName": "ltRtSurroundMixLevel", - "documentation": "Left total/Right total surround mix level. Only used for 3/2 coding mode." - }, - "MetadataControl": { - "shape": "Eac3MetadataControl", - "locationName": "metadataControl", - "documentation": "When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." - }, - "PassthroughControl": { - "shape": "Eac3PassthroughControl", - "locationName": "passthroughControl", - "documentation": "When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding." - }, - "PhaseControl": { - "shape": "Eac3PhaseControl", - "locationName": "phaseControl", - "documentation": "When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode." - }, - "StereoDownmix": { - "shape": "Eac3StereoDownmix", - "locationName": "stereoDownmix", - "documentation": "Stereo downmix preference. Only used for 3/2 coding mode." - }, - "SurroundExMode": { - "shape": "Eac3SurroundExMode", - "locationName": "surroundExMode", - "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels." - }, - "SurroundMode": { - "shape": "Eac3SurroundMode", - "locationName": "surroundMode", - "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels." - } - }, - "documentation": "Placeholder documentation for Eac3Settings" - }, - "Eac3StereoDownmix": { - "type": "string", - "enum": [ - "DPL2", - "LO_RO", - "LT_RT", - "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3StereoDownmix" - }, - "Eac3SurroundExMode": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED", - "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3SurroundExMode" - }, - "Eac3SurroundMode": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED", - "NOT_INDICATED" - ], - "documentation": "Placeholder documentation for Eac3SurroundMode" - }, - "EmbeddedConvert608To708": { - "type": "string", - "enum": [ - "DISABLED", - "UPCONVERT" - ], - "documentation": "Placeholder documentation for EmbeddedConvert608To708" - }, - "EmbeddedDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for EmbeddedDestinationSettings" - }, - "EmbeddedPlusScte20DestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for EmbeddedPlusScte20DestinationSettings" - }, - "EmbeddedScte20Detection": { - "type": "string", - "enum": [ - "AUTO", - "OFF" - ], - "documentation": "Placeholder documentation for EmbeddedScte20Detection" - }, - "EmbeddedSourceSettings": { - "type": "structure", - "members": { - "Convert608To708": { - "shape": "EmbeddedConvert608To708", - "locationName": "convert608To708", - "documentation": "If upconvert, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." - }, - "Scte20Detection": { - "shape": "EmbeddedScte20Detection", - "locationName": "scte20Detection", - "documentation": "Set to \"auto\" to handle streams with intermittent and/or non-aligned SCTE-20 and Embedded captions." - }, - "Source608ChannelNumber": { - "shape": "__integerMin1Max4", - "locationName": "source608ChannelNumber", - "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." - }, - "Source608TrackNumber": { - "shape": "__integerMin1Max5", - "locationName": "source608TrackNumber", - "documentation": "This field is unused and deprecated." - } - }, - "documentation": "Placeholder documentation for EmbeddedSourceSettings" - }, - "Empty": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for Empty" - }, - "EncoderSettings": { - "type": "structure", - "members": { - "AudioDescriptions": { - "shape": "__listOfAudioDescription", - "locationName": "audioDescriptions" - }, - "AvailBlanking": { - "shape": "AvailBlanking", - "locationName": "availBlanking", - "documentation": "Settings for ad avail blanking." - }, - "AvailConfiguration": { - "shape": "AvailConfiguration", - "locationName": "availConfiguration", - "documentation": "Event-wide configuration settings for ad avail insertion." - }, - "BlackoutSlate": { - "shape": "BlackoutSlate", - "locationName": "blackoutSlate", - "documentation": "Settings for blackout slate." - }, - "CaptionDescriptions": { - "shape": "__listOfCaptionDescription", - "locationName": "captionDescriptions", - "documentation": "Settings for caption decriptions" - }, - "GlobalConfiguration": { - "shape": "GlobalConfiguration", - "locationName": "globalConfiguration", - "documentation": "Configuration settings that apply to the event as a whole." - }, - "OutputGroups": { - "shape": "__listOfOutputGroup", - "locationName": "outputGroups" - }, - "TimecodeConfig": { - "shape": "TimecodeConfig", - "locationName": "timecodeConfig", - "documentation": "Contains settings used to acquire and adjust timecode information from inputs." - }, - "VideoDescriptions": { - "shape": "__listOfVideoDescription", - "locationName": "videoDescriptions" - } - }, - "required": [ - "VideoDescriptions", - "AudioDescriptions", - "OutputGroups", - "TimecodeConfig" - ], - "documentation": "Placeholder documentation for EncoderSettings" - }, - "FecOutputIncludeFec": { - "type": "string", - "enum": [ - "COLUMN", - "COLUMN_AND_ROW" - ], - "documentation": "Placeholder documentation for FecOutputIncludeFec" - }, - "FecOutputSettings": { - "type": "structure", - "members": { - "ColumnDepth": { - "shape": "__integerMin4Max20", - "locationName": "columnDepth", - "documentation": "Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive." - }, - "IncludeFec": { - "shape": "FecOutputIncludeFec", - "locationName": "includeFec", - "documentation": "Enables column only or column and row based FEC" - }, - "RowLength": { - "shape": "__integerMin1Max20", - "locationName": "rowLength", - "documentation": "Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive." - } - }, - "documentation": "Placeholder documentation for FecOutputSettings" - }, - "FixedAfd": { - "type": "string", - "enum": [ - "AFD_0000", - "AFD_0010", - "AFD_0011", - "AFD_0100", - "AFD_1000", - "AFD_1001", - "AFD_1010", - "AFD_1011", - "AFD_1101", - "AFD_1110", - "AFD_1111" - ], - "documentation": "Placeholder documentation for FixedAfd" - }, - "FixedModeScheduleActionStartSettings": { - "type": "structure", - "members": { - "Time": { - "shape": "__string", - "locationName": "time", - "documentation": "Fixed timestamp action start. Conforms to ISO-8601." - } - }, - "documentation": "Fixed mode schedule action start settings" - }, - "ForbiddenException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 403 - }, - "documentation": "Placeholder documentation for ForbiddenException" - }, - "GatewayTimeoutException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 504 - }, - "documentation": "Placeholder documentation for GatewayTimeoutException" - }, - "GlobalConfiguration": { - "type": "structure", - "members": { - "InitialAudioGain": { - "shape": "__integerMinNegative60Max60", - "locationName": "initialAudioGain", - "documentation": "Value to set the initial audio gain for the Live Event." - }, - "InputEndAction": { - "shape": "GlobalConfigurationInputEndAction", - "locationName": "inputEndAction", - "documentation": "Indicates the action to take when an input completes (e.g. end-of-file.) Options include immediately switching to the next sequential input (via \"switchInput\"), switching to the next input and looping back to the first input when last input ends (via \"switchAndLoopInputs\") or not switching inputs and instead transcoding black / color / slate images per the \"Input Loss Behavior\" configuration until an activateInput REST command is received (via \"none\")." - }, - "InputLossBehavior": { - "shape": "InputLossBehavior", - "locationName": "inputLossBehavior", - "documentation": "Settings for system actions when input is lost." - }, - "OutputTimingSource": { - "shape": "GlobalConfigurationOutputTimingSource", - "locationName": "outputTimingSource", - "documentation": "Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream." - }, - "SupportLowFramerateInputs": { - "shape": "GlobalConfigurationLowFramerateInputs", - "locationName": "supportLowFramerateInputs", - "documentation": "Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second." - } - }, - "documentation": "Placeholder documentation for GlobalConfiguration" - }, - "GlobalConfigurationInputEndAction": { - "type": "string", - "enum": [ - "NONE", - "SWITCH_AND_LOOP_INPUTS" - ], - "documentation": "Placeholder documentation for GlobalConfigurationInputEndAction" - }, - "GlobalConfigurationLowFramerateInputs": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for GlobalConfigurationLowFramerateInputs" - }, - "GlobalConfigurationOutputTimingSource": { - "type": "string", - "enum": [ - "INPUT_CLOCK", - "SYSTEM_CLOCK" - ], - "documentation": "Placeholder documentation for GlobalConfigurationOutputTimingSource" - }, - "H264AdaptiveQuantization": { - "type": "string", - "enum": [ - "HIGH", - "HIGHER", - "LOW", - "MAX", - "MEDIUM", - "OFF" - ], - "documentation": "Placeholder documentation for H264AdaptiveQuantization" - }, - "H264ColorMetadata": { - "type": "string", - "enum": [ - "IGNORE", - "INSERT" - ], - "documentation": "Placeholder documentation for H264ColorMetadata" - }, - "H264EntropyEncoding": { - "type": "string", - "enum": [ - "CABAC", - "CAVLC" - ], - "documentation": "Placeholder documentation for H264EntropyEncoding" - }, - "H264FlickerAq": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for H264FlickerAq" - }, - "H264FramerateControl": { - "type": "string", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ], - "documentation": "Placeholder documentation for H264FramerateControl" - }, - "H264GopBReference": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for H264GopBReference" - }, - "H264GopSizeUnits": { - "type": "string", - "enum": [ - "FRAMES", - "SECONDS" - ], - "documentation": "Placeholder documentation for H264GopSizeUnits" - }, - "H264Level": { - "type": "string", - "enum": [ - "H264_LEVEL_1", - "H264_LEVEL_1_1", - "H264_LEVEL_1_2", - "H264_LEVEL_1_3", - "H264_LEVEL_2", - "H264_LEVEL_2_1", - "H264_LEVEL_2_2", - "H264_LEVEL_3", - "H264_LEVEL_3_1", - "H264_LEVEL_3_2", - "H264_LEVEL_4", - "H264_LEVEL_4_1", - "H264_LEVEL_4_2", - "H264_LEVEL_5", - "H264_LEVEL_5_1", - "H264_LEVEL_5_2", - "H264_LEVEL_AUTO" - ], - "documentation": "Placeholder documentation for H264Level" - }, - "H264LookAheadRateControl": { - "type": "string", - "enum": [ - "HIGH", - "LOW", - "MEDIUM" - ], - "documentation": "Placeholder documentation for H264LookAheadRateControl" - }, - "H264ParControl": { - "type": "string", - "enum": [ - "INITIALIZE_FROM_SOURCE", - "SPECIFIED" - ], - "documentation": "Placeholder documentation for H264ParControl" - }, - "H264Profile": { - "type": "string", - "enum": [ - "BASELINE", - "HIGH", - "HIGH_10BIT", - "HIGH_422", - "HIGH_422_10BIT", - "MAIN" - ], - "documentation": "Placeholder documentation for H264Profile" - }, - "H264RateControlMode": { - "type": "string", - "enum": [ - "CBR", - "VBR" - ], - "documentation": "Placeholder documentation for H264RateControlMode" - }, - "H264ScanType": { - "type": "string", - "enum": [ - "INTERLACED", - "PROGRESSIVE" - ], - "documentation": "Placeholder documentation for H264ScanType" - }, - "H264SceneChangeDetect": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for H264SceneChangeDetect" - }, - "H264Settings": { - "type": "structure", - "members": { - "AdaptiveQuantization": { - "shape": "H264AdaptiveQuantization", - "locationName": "adaptiveQuantization", - "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." - }, - "AfdSignaling": { - "shape": "AfdSignaling", - "locationName": "afdSignaling", - "documentation": "Indicates that AFD values will be written into the output stream. If afdSignaling is \"auto\", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to \"fixed\", the AFD value will be the value configured in the fixedAfd parameter." - }, - "Bitrate": { - "shape": "__integerMin1000", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second. Required for VBR, CBR, and ABR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." - }, - "BufFillPct": { - "shape": "__integerMin0Max100", - "locationName": "bufFillPct", - "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." - }, - "BufSize": { - "shape": "__integerMin0", - "locationName": "bufSize", - "documentation": "Size of buffer (HRD buffer model) in bits/second." - }, - "ColorMetadata": { - "shape": "H264ColorMetadata", - "locationName": "colorMetadata", - "documentation": "Includes colorspace metadata in the output." - }, - "EntropyEncoding": { - "shape": "H264EntropyEncoding", - "locationName": "entropyEncoding", - "documentation": "Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc." - }, - "FixedAfd": { - "shape": "FixedAfd", - "locationName": "fixedAfd", - "documentation": "Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'." - }, - "FlickerAq": { - "shape": "H264FlickerAq", - "locationName": "flickerAq", - "documentation": "If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames." - }, - "FramerateControl": { - "shape": "H264FramerateControl", - "locationName": "framerateControl", - "documentation": "This field indicates how the output video frame rate is specified. If \"specified\" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if \"initializeFromSource\" is selected then the output video frame rate will be set equal to the input video frame rate of the first input." - }, - "FramerateDenominator": { - "shape": "__integer", - "locationName": "framerateDenominator", - "documentation": "Framerate denominator." - }, - "FramerateNumerator": { - "shape": "__integer", - "locationName": "framerateNumerator", - "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." - }, - "GopBReference": { - "shape": "H264GopBReference", - "locationName": "gopBReference", - "documentation": "Documentation update needed" - }, - "GopClosedCadence": { - "shape": "__integerMin0", - "locationName": "gopClosedCadence", - "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." - }, - "GopNumBFrames": { - "shape": "__integerMin0Max7", - "locationName": "gopNumBFrames", - "documentation": "Number of B-frames between reference frames." - }, - "GopSize": { - "shape": "__doubleMin1", - "locationName": "gopSize", - "documentation": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. Must be greater than zero." - }, - "GopSizeUnits": { - "shape": "H264GopSizeUnits", - "locationName": "gopSizeUnits", - "documentation": "Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time." - }, - "Level": { - "shape": "H264Level", - "locationName": "level", - "documentation": "H.264 Level." - }, - "LookAheadRateControl": { - "shape": "H264LookAheadRateControl", - "locationName": "lookAheadRateControl", - "documentation": "Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content." - }, - "MaxBitrate": { - "shape": "__integerMin1000", - "locationName": "maxBitrate", - "documentation": "Maximum bitrate in bits/second (for VBR mode only)." - }, - "MinIInterval": { - "shape": "__integerMin0Max30", - "locationName": "minIInterval", - "documentation": "Only meaningful if sceneChangeDetect is set to enabled. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" - }, - "NumRefFrames": { - "shape": "__integerMin1Max6", - "locationName": "numRefFrames", - "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." - }, - "ParControl": { - "shape": "H264ParControl", - "locationName": "parControl", - "documentation": "This field indicates how the output pixel aspect ratio is specified. If \"specified\" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if \"initializeFromSource\" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input." - }, - "ParDenominator": { - "shape": "__integerMin1", - "locationName": "parDenominator", - "documentation": "Pixel Aspect Ratio denominator." - }, - "ParNumerator": { - "shape": "__integer", - "locationName": "parNumerator", - "documentation": "Pixel Aspect Ratio numerator." - }, - "Profile": { - "shape": "H264Profile", - "locationName": "profile", - "documentation": "H.264 Profile." - }, - "RateControlMode": { - "shape": "H264RateControlMode", - "locationName": "rateControlMode", - "documentation": "Rate control mode." - }, - "ScanType": { - "shape": "H264ScanType", - "locationName": "scanType", - "documentation": "Sets the scan type of the output to progressive or top-field-first interlaced." - }, - "SceneChangeDetect": { - "shape": "H264SceneChangeDetect", - "locationName": "sceneChangeDetect", - "documentation": "Scene change detection. Inserts I-frames on scene changes when enabled." - }, - "Slices": { - "shape": "__integerMin1Max32", - "locationName": "slices", - "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures.\nThis field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution." - }, - "Softness": { - "shape": "__integerMin0Max128", - "locationName": "softness", - "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." - }, - "SpatialAq": { - "shape": "H264SpatialAq", - "locationName": "spatialAq", - "documentation": "If set to enabled, adjust quantization within each frame based on spatial variation of content complexity." - }, - "Syntax": { - "shape": "H264Syntax", - "locationName": "syntax", - "documentation": "Produces a bitstream compliant with SMPTE RP-2027." - }, - "TemporalAq": { - "shape": "H264TemporalAq", - "locationName": "temporalAq", - "documentation": "If set to enabled, adjust quantization within each frame based on temporal variation of content complexity." - }, - "TimecodeInsertion": { - "shape": "H264TimecodeInsertionBehavior", - "locationName": "timecodeInsertion", - "documentation": "Determines how timecodes should be inserted into the video elementary stream.\n- 'disabled': Do not include timecodes\n- 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config" - } - }, - "documentation": "Placeholder documentation for H264Settings" - }, - "H264SpatialAq": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for H264SpatialAq" - }, - "H264Syntax": { - "type": "string", - "enum": [ - "DEFAULT", - "RP2027" - ], - "documentation": "Placeholder documentation for H264Syntax" - }, - "H264TemporalAq": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for H264TemporalAq" - }, - "H264TimecodeInsertionBehavior": { - "type": "string", - "enum": [ - "DISABLED", - "PIC_TIMING_SEI" - ], - "documentation": "Placeholder documentation for H264TimecodeInsertionBehavior" - }, - "HlsAdMarkers": { - "type": "string", - "enum": [ - "ADOBE", - "ELEMENTAL", - "ELEMENTAL_SCTE35" - ], - "documentation": "Placeholder documentation for HlsAdMarkers" - }, - "HlsAkamaiHttpTransferMode": { - "type": "string", - "enum": [ - "CHUNKED", - "NON_CHUNKED" - ], - "documentation": "Placeholder documentation for HlsAkamaiHttpTransferMode" - }, - "HlsAkamaiSettings": { - "type": "structure", - "members": { - "ConnectionRetryInterval": { - "shape": "__integerMin0", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." - }, - "FilecacheDuration": { - "shape": "__integerMin0Max600", - "locationName": "filecacheDuration", - "documentation": "Size in seconds of file cache for streaming outputs." - }, - "HttpTransferMode": { - "shape": "HlsAkamaiHttpTransferMode", - "locationName": "httpTransferMode", - "documentation": "Specify whether or not to use chunked transfer encoding to Akamai. User should contact Akamai to enable this feature." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." - }, - "RestartDelay": { - "shape": "__integerMin0Max15", - "locationName": "restartDelay", - "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." - }, - "Salt": { - "shape": "__string", - "locationName": "salt", - "documentation": "Salt for authenticated Akamai." - }, - "Token": { - "shape": "__string", - "locationName": "token", - "documentation": "Token parameter for authenticated akamai. If not specified, _gda_ is used." - } - }, - "documentation": "Placeholder documentation for HlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "type": "structure", - "members": { - "ConnectionRetryInterval": { - "shape": "__integerMin0", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." - }, - "FilecacheDuration": { - "shape": "__integerMin0Max600", - "locationName": "filecacheDuration", - "documentation": "Size in seconds of file cache for streaming outputs." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." - }, - "RestartDelay": { - "shape": "__integerMin0Max15", - "locationName": "restartDelay", - "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." - } - }, - "documentation": "Placeholder documentation for HlsBasicPutSettings" - }, - "HlsCaptionLanguageSetting": { - "type": "string", - "enum": [ - "INSERT", - "NONE", - "OMIT" - ], - "documentation": "Placeholder documentation for HlsCaptionLanguageSetting" - }, - "HlsCdnSettings": { - "type": "structure", - "members": { - "HlsAkamaiSettings": { - "shape": "HlsAkamaiSettings", - "locationName": "hlsAkamaiSettings" - }, - "HlsBasicPutSettings": { - "shape": "HlsBasicPutSettings", - "locationName": "hlsBasicPutSettings" - }, - "HlsMediaStoreSettings": { - "shape": "HlsMediaStoreSettings", - "locationName": "hlsMediaStoreSettings" - }, - "HlsWebdavSettings": { - "shape": "HlsWebdavSettings", - "locationName": "hlsWebdavSettings" - } - }, - "documentation": "Placeholder documentation for HlsCdnSettings" - }, - "HlsClientCache": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for HlsClientCache" - }, - "HlsCodecSpecification": { - "type": "string", - "enum": [ - "RFC_4281", - "RFC_6381" - ], - "documentation": "Placeholder documentation for HlsCodecSpecification" - }, - "HlsDirectoryStructure": { - "type": "string", - "enum": [ - "SINGLE_DIRECTORY", - "SUBDIRECTORY_PER_STREAM" - ], - "documentation": "Placeholder documentation for HlsDirectoryStructure" - }, - "HlsEncryptionType": { - "type": "string", - "enum": [ - "AES128", - "SAMPLE_AES" - ], - "documentation": "Placeholder documentation for HlsEncryptionType" - }, - "HlsGroupSettings": { - "type": "structure", - "members": { - "AdMarkers": { - "shape": "__listOfHlsAdMarkers", - "locationName": "adMarkers", - "documentation": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." - }, - "BaseUrlContent": { - "shape": "__string", - "locationName": "baseUrlContent", - "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." - }, - "BaseUrlManifest": { - "shape": "__string", - "locationName": "baseUrlManifest", - "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." - }, - "CaptionLanguageMappings": { - "shape": "__listOfCaptionLanguageMapping", - "locationName": "captionLanguageMappings", - "documentation": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." - }, - "CaptionLanguageSetting": { - "shape": "HlsCaptionLanguageSetting", - "locationName": "captionLanguageSetting", - "documentation": "Applies only to 608 Embedded output captions.\ninsert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions.\nnone: Include CLOSED-CAPTIONS=NONE line in the manifest.\nomit: Omit any CLOSED-CAPTIONS line from the manifest." - }, - "ClientCache": { - "shape": "HlsClientCache", - "locationName": "clientCache", - "documentation": "When set to \"disabled\", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay." - }, - "CodecSpecification": { - "shape": "HlsCodecSpecification", - "locationName": "codecSpecification", - "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." - }, - "ConstantIv": { - "shape": "__stringMin32Max32", - "locationName": "constantIv", - "documentation": "For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to \"explicit\" then this parameter is required and is used as the IV for encryption." - }, - "Destination": { - "shape": "OutputLocationRef", - "locationName": "destination", - "documentation": "A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled)." - }, - "DirectoryStructure": { - "shape": "HlsDirectoryStructure", - "locationName": "directoryStructure", - "documentation": "Place segments in subdirectories." - }, - "EncryptionType": { - "shape": "HlsEncryptionType", - "locationName": "encryptionType", - "documentation": "Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired." - }, - "HlsCdnSettings": { - "shape": "HlsCdnSettings", - "locationName": "hlsCdnSettings", - "documentation": "Parameters that control interactions with the CDN." - }, - "IndexNSegments": { - "shape": "__integerMin3", - "locationName": "indexNSegments", - "documentation": "If mode is \"live\", the number of segments to retain in the manifest (.m3u8) file. This number must be less than or equal to keepSegments. If mode is \"vod\", this parameter has no effect." - }, - "InputLossAction": { - "shape": "InputLossActionForHlsOut", - "locationName": "inputLossAction", - "documentation": "Parameter that control output group behavior on input loss." - }, - "IvInManifest": { - "shape": "HlsIvInManifest", - "locationName": "ivInManifest", - "documentation": "For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to \"include\", IV is listed in the manifest, otherwise the IV is not in the manifest." - }, - "IvSource": { - "shape": "HlsIvSource", - "locationName": "ivSource", - "documentation": "For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is \"followsSegmentNumber\", it will cause the IV to change every segment (to match the segment number). If this is set to \"explicit\", you must enter a constantIv value." - }, - "KeepSegments": { - "shape": "__integerMin1", - "locationName": "keepSegments", - "documentation": "If mode is \"live\", the number of TS segments to retain in the destination directory. If mode is \"vod\", this parameter has no effect." - }, - "KeyFormat": { - "shape": "__string", - "locationName": "keyFormat", - "documentation": "The value specifies how the key is represented in the resource identified by the URI. If parameter is absent, an implicit value of \"identity\" is used. A reverse DNS string can also be given." - }, - "KeyFormatVersions": { - "shape": "__string", - "locationName": "keyFormatVersions", - "documentation": "Either a single positive integer version value or a slash delimited list of version values (1/2/3)." - }, - "KeyProviderSettings": { - "shape": "KeyProviderSettings", - "locationName": "keyProviderSettings", - "documentation": "The key provider settings." - }, - "ManifestCompression": { - "shape": "HlsManifestCompression", - "locationName": "manifestCompression", - "documentation": "When set to gzip, compresses HLS playlist." - }, - "ManifestDurationFormat": { - "shape": "HlsManifestDurationFormat", - "locationName": "manifestDurationFormat", - "documentation": "Indicates whether the output manifest should use floating point or integer values for segment duration." - }, - "MinSegmentLength": { - "shape": "__integerMin0", - "locationName": "minSegmentLength", - "documentation": "When set, minimumSegmentLength is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed." - }, - "Mode": { - "shape": "HlsMode", - "locationName": "mode", - "documentation": "If \"vod\", all segments are indexed and kept permanently in the destination and manifest. If \"live\", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event.\n\nVOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a \"VOD\" type manifest on completion of the stream." - }, - "OutputSelection": { - "shape": "HlsOutputSelection", - "locationName": "outputSelection", - "documentation": "Generates the .m3u8 playlist file for this HLS output group. The segmentsOnly option will output segments without the .m3u8 file." - }, - "ProgramDateTime": { - "shape": "HlsProgramDateTime", - "locationName": "programDateTime", - "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestampOffset." - }, - "ProgramDateTimePeriod": { - "shape": "__integerMin0Max3600", - "locationName": "programDateTimePeriod", - "documentation": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." - }, - "SegmentLength": { - "shape": "__integerMin1", - "locationName": "segmentLength", - "documentation": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer." - }, - "SegmentationMode": { - "shape": "HlsSegmentationMode", - "locationName": "segmentationMode", - "documentation": "When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams." - }, - "SegmentsPerSubdirectory": { - "shape": "__integerMin1", - "locationName": "segmentsPerSubdirectory", - "documentation": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect." - }, - "StreamInfResolution": { - "shape": "HlsStreamInfResolution", - "locationName": "streamInfResolution", - "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." - }, - "TimedMetadataId3Frame": { - "shape": "HlsTimedMetadataId3Frame", - "locationName": "timedMetadataId3Frame", - "documentation": "Indicates ID3 frame that has the timecode." - }, - "TimedMetadataId3Period": { - "shape": "__integerMin0", - "locationName": "timedMetadataId3Period", - "documentation": "Timed Metadata interval in seconds." - }, - "TimestampDeltaMilliseconds": { - "shape": "__integerMin0", - "locationName": "timestampDeltaMilliseconds", - "documentation": "Provides an extra millisecond delta offset to fine tune the timestamps." - }, - "TsFileMode": { - "shape": "HlsTsFileMode", - "locationName": "tsFileMode", - "documentation": "When set to \"singleFile\", emits the program as a single media resource (.ts) file, and uses #EXT-X-BYTERANGE tags to index segment for playback. Playback of VOD mode content during event is not guaranteed due to HTTP server caching." - } - }, - "required": [ - "Destination" - ], - "documentation": "Placeholder documentation for HlsGroupSettings" - }, - "HlsInputSettings": { - "type": "structure", - "members": { - "Bandwidth": { - "shape": "__integerMin0", - "locationName": "bandwidth", - "documentation": "When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches this value will be chosen, otherwise the highest bandwidth stream in the m3u8 will be chosen. The bitrate is specified in bits per second, as in an HLS manifest." - }, - "BufferSegments": { - "shape": "__integerMin0", - "locationName": "bufferSegments", - "documentation": "When specified, reading of the HLS input will begin this many buffer segments from the end (most recently written segment). When not specified, the HLS input will begin with the first segment specified in the m3u8." - }, - "Retries": { - "shape": "__integerMin0", - "locationName": "retries", - "documentation": "The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable." - }, - "RetryInterval": { - "shape": "__integerMin0", - "locationName": "retryInterval", - "documentation": "The number of seconds between retries when an attempt to read a manifest or segment fails." - } - }, - "documentation": "Placeholder documentation for HlsInputSettings" - }, - "HlsIvInManifest": { - "type": "string", - "enum": [ - "EXCLUDE", - "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsIvInManifest" - }, - "HlsIvSource": { - "type": "string", - "enum": [ - "EXPLICIT", - "FOLLOWS_SEGMENT_NUMBER" - ], - "documentation": "Placeholder documentation for HlsIvSource" - }, - "HlsManifestCompression": { - "type": "string", - "enum": [ - "GZIP", - "NONE" - ], - "documentation": "Placeholder documentation for HlsManifestCompression" - }, - "HlsManifestDurationFormat": { - "type": "string", - "enum": [ - "FLOATING_POINT", - "INTEGER" - ], - "documentation": "Placeholder documentation for HlsManifestDurationFormat" - }, - "HlsMediaStoreSettings": { - "type": "structure", - "members": { - "ConnectionRetryInterval": { - "shape": "__integerMin0", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." - }, - "FilecacheDuration": { - "shape": "__integerMin0Max600", - "locationName": "filecacheDuration", - "documentation": "Size in seconds of file cache for streaming outputs." - }, - "MediaStoreStorageClass": { - "shape": "HlsMediaStoreStorageClass", - "locationName": "mediaStoreStorageClass", - "documentation": "When set to temporal, output files are stored in non-persistent memory for faster reading and writing." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." - }, - "RestartDelay": { - "shape": "__integerMin0Max15", - "locationName": "restartDelay", - "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." - } - }, - "documentation": "Placeholder documentation for HlsMediaStoreSettings" - }, - "HlsMediaStoreStorageClass": { - "type": "string", - "enum": [ - "TEMPORAL" - ], - "documentation": "Placeholder documentation for HlsMediaStoreStorageClass" - }, - "HlsMode": { - "type": "string", - "enum": [ - "LIVE", - "VOD" - ], - "documentation": "Placeholder documentation for HlsMode" - }, - "HlsOutputSelection": { - "type": "string", - "enum": [ - "MANIFESTS_AND_SEGMENTS", - "SEGMENTS_ONLY" - ], - "documentation": "Placeholder documentation for HlsOutputSelection" - }, - "HlsOutputSettings": { - "type": "structure", - "members": { - "HlsSettings": { - "shape": "HlsSettings", - "locationName": "hlsSettings", - "documentation": "Settings regarding the underlying stream. These settings are different for audio-only outputs." - }, - "NameModifier": { - "shape": "__stringMin1", - "locationName": "nameModifier", - "documentation": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters." - }, - "SegmentModifier": { - "shape": "__string", - "locationName": "segmentModifier", - "documentation": "String concatenated to end of segment filenames." - } - }, - "required": [ - "HlsSettings" - ], - "documentation": "Placeholder documentation for HlsOutputSettings" - }, - "HlsProgramDateTime": { - "type": "string", - "enum": [ - "EXCLUDE", - "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsProgramDateTime" - }, - "HlsSegmentationMode": { - "type": "string", - "enum": [ - "USE_INPUT_SEGMENTATION", - "USE_SEGMENT_DURATION" - ], - "documentation": "Placeholder documentation for HlsSegmentationMode" - }, - "HlsSettings": { - "type": "structure", - "members": { - "AudioOnlyHlsSettings": { - "shape": "AudioOnlyHlsSettings", - "locationName": "audioOnlyHlsSettings" - }, - "StandardHlsSettings": { - "shape": "StandardHlsSettings", - "locationName": "standardHlsSettings" - } - }, - "documentation": "Placeholder documentation for HlsSettings" - }, - "HlsStreamInfResolution": { - "type": "string", - "enum": [ - "EXCLUDE", - "INCLUDE" - ], - "documentation": "Placeholder documentation for HlsStreamInfResolution" - }, - "HlsTimedMetadataId3Frame": { - "type": "string", - "enum": [ - "NONE", - "PRIV", - "TDRL" - ], - "documentation": "Placeholder documentation for HlsTimedMetadataId3Frame" - }, - "HlsTsFileMode": { - "type": "string", - "enum": [ - "SEGMENTED_FILES", - "SINGLE_FILE" - ], - "documentation": "Placeholder documentation for HlsTsFileMode" - }, - "HlsWebdavHttpTransferMode": { - "type": "string", - "enum": [ - "CHUNKED", - "NON_CHUNKED" - ], - "documentation": "Placeholder documentation for HlsWebdavHttpTransferMode" - }, - "HlsWebdavSettings": { - "type": "structure", - "members": { - "ConnectionRetryInterval": { - "shape": "__integerMin0", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." - }, - "FilecacheDuration": { - "shape": "__integerMin0Max600", - "locationName": "filecacheDuration", - "documentation": "Size in seconds of file cache for streaming outputs." - }, - "HttpTransferMode": { - "shape": "HlsWebdavHttpTransferMode", - "locationName": "httpTransferMode", - "documentation": "Specify whether or not to use chunked transfer encoding to WebDAV." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." - }, - "RestartDelay": { - "shape": "__integerMin0Max15", - "locationName": "restartDelay", - "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." - } - }, - "documentation": "Placeholder documentation for HlsWebdavSettings" - }, - "Input": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The Unique ARN of the input (generated, immutable)." - }, - "AttachedChannels": { - "shape": "__listOf__string", - "locationName": "attachedChannels", - "documentation": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel)." - }, - "Destinations": { - "shape": "__listOfInputDestination", - "locationName": "destinations", - "documentation": "A list of the destinations of the input (PUSH-type)." - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The generated ID of the input (unique for user account, immutable)." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The user-assigned name (This is a mutable value)." - }, - "SecurityGroups": { - "shape": "__listOf__string", - "locationName": "securityGroups", - "documentation": "A list of IDs for all the security groups attached to the input." - }, - "Sources": { - "shape": "__listOfInputSource", - "locationName": "sources", - "documentation": "A list of the sources of the input (PULL-type)." - }, - "State": { - "shape": "InputState", - "locationName": "state" - }, - "Type": { - "shape": "InputType", - "locationName": "type" - } - }, - "documentation": "Placeholder documentation for Input" - }, - "InputAttachment": { - "type": "structure", - "members": { - "InputId": { - "shape": "__string", - "locationName": "inputId", - "documentation": "The ID of the input" - }, - "InputSettings": { - "shape": "InputSettings", - "locationName": "inputSettings", - "documentation": "Settings of an input (caption selector, etc.)" - } - }, - "documentation": "Placeholder documentation for InputAttachment" - }, - "InputChannelLevel": { - "type": "structure", - "members": { - "Gain": { - "shape": "__integerMinNegative60Max6", - "locationName": "gain", - "documentation": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB." - }, - "InputChannel": { - "shape": "__integerMin0Max15", - "locationName": "inputChannel", - "documentation": "The index of the input channel used as a source." - } - }, - "required": [ - "InputChannel", - "Gain" - ], - "documentation": "Placeholder documentation for InputChannelLevel" - }, - "InputCodec": { - "type": "string", - "documentation": "codec in increasing order of complexity", - "enum": [ - "MPEG2", - "AVC", - "HEVC" - ] - }, - "InputDeblockFilter": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for InputDeblockFilter" - }, - "InputDenoiseFilter": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for InputDenoiseFilter" - }, - "InputDestination": { - "type": "structure", - "members": { - "Ip": { - "shape": "__string", - "locationName": "ip", - "documentation": "The system-generated static IP address of endpoint.\nIt remains fixed for the lifetime of the input.\n" - }, - "Port": { - "shape": "__string", - "locationName": "port", - "documentation": "The port number for the input." - }, - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "This represents the endpoint that the customer stream will be\npushed to.\n" - } - }, - "documentation": "The settings for a PUSH type input." - }, - "InputDestinationRequest": { - "type": "structure", - "members": { - "StreamName": { - "shape": "__string", - "locationName": "streamName", - "documentation": "A unique name for the location the RTMP stream is being pushed\nto.\n" - } - }, - "documentation": "Endpoint settings for a PUSH type input." - }, - "InputFilter": { - "type": "string", - "enum": [ - "AUTO", - "DISABLED", - "FORCED" - ], - "documentation": "Placeholder documentation for InputFilter" - }, - "InputLocation": { - "type": "structure", - "members": { - "PasswordParam": { - "shape": "__string", - "locationName": "passwordParam", - "documentation": "key used to extract the password from EC2 Parameter store" - }, - "Uri": { - "shape": "__string", - "locationName": "uri", - "documentation": "Uniform Resource Identifier - This should be a path to a file accessible to the Live system (eg. a http:// URI) depending on the output type. For example, a RTMP destination should have a uri simliar to: \"rtmp://fmsserver/live\"." - }, - "Username": { - "shape": "__string", - "locationName": "username", - "documentation": "Documentation update needed" - } - }, - "required": [ - "Uri" - ], - "documentation": "Placeholder documentation for InputLocation" - }, - "InputLossActionForHlsOut": { - "type": "string", - "enum": [ - "EMIT_OUTPUT", - "PAUSE_OUTPUT" - ], - "documentation": "Placeholder documentation for InputLossActionForHlsOut" - }, - "InputLossActionForMsSmoothOut": { - "type": "string", - "enum": [ - "EMIT_OUTPUT", - "PAUSE_OUTPUT" - ], - "documentation": "Placeholder documentation for InputLossActionForMsSmoothOut" - }, - "InputLossActionForUdpOut": { - "type": "string", - "enum": [ - "DROP_PROGRAM", - "DROP_TS", - "EMIT_PROGRAM" - ], - "documentation": "Placeholder documentation for InputLossActionForUdpOut" - }, - "InputLossBehavior": { - "type": "structure", - "members": { - "BlackFrameMsec": { - "shape": "__integerMin0Max1000000", - "locationName": "blackFrameMsec", - "documentation": "Documentation update needed" - }, - "InputLossImageColor": { - "shape": "__stringMin6Max6", - "locationName": "inputLossImageColor", - "documentation": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB." - }, - "InputLossImageSlate": { - "shape": "InputLocation", - "locationName": "inputLossImageSlate", - "documentation": "When input loss image type is \"slate\" these fields specify the parameters for accessing the slate." - }, - "InputLossImageType": { - "shape": "InputLossImageType", - "locationName": "inputLossImageType", - "documentation": "Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec." - }, - "RepeatFrameMsec": { - "shape": "__integerMin0Max1000000", - "locationName": "repeatFrameMsec", - "documentation": "Documentation update needed" - } - }, - "documentation": "Placeholder documentation for InputLossBehavior" - }, - "InputLossImageType": { - "type": "string", - "enum": [ - "COLOR", - "SLATE" - ], - "documentation": "Placeholder documentation for InputLossImageType" - }, - "InputMaximumBitrate": { - "type": "string", - "documentation": "Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are supported currently.", - "enum": [ - "MAX_10_MBPS", - "MAX_20_MBPS", - "MAX_50_MBPS" - ] - }, - "InputResolution": { - "type": "string", - "documentation": "Input resolution based on lines of vertical resolution in the input; SD is less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines\n", - "enum": [ - "SD", - "HD", - "UHD" - ] - }, - "InputSecurityGroup": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique ARN of Input Security Group" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The Id of the Input Security Group" - }, - "Inputs": { - "shape": "__listOf__string", - "locationName": "inputs", - "documentation": "The list of inputs currently using this Input Security Group." - }, - "State": { - "shape": "InputSecurityGroupState", - "locationName": "state", - "documentation": "The current state of the Input Security Group." - }, - "WhitelistRules": { - "shape": "__listOfInputWhitelistRule", - "locationName": "whitelistRules", - "documentation": "Whitelist rules and their sync status" - } - }, - "documentation": "An Input Security Group" - }, - "InputSecurityGroupState": { - "type": "string", - "enum": [ - "IDLE", - "IN_USE", - "UPDATING", - "DELETED" - ], - "documentation": "Placeholder documentation for InputSecurityGroupState" - }, - "InputSecurityGroupWhitelistRequest": { - "type": "structure", - "members": { - "WhitelistRules": { - "shape": "__listOfInputWhitelistRuleCidr", - "locationName": "whitelistRules", - "documentation": "List of IPv4 CIDR addresses to whitelist" - } - }, - "documentation": "Request of IPv4 CIDR addresses to whitelist in a security group." - }, - "InputSettings": { - "type": "structure", - "members": { - "AudioSelectors": { - "shape": "__listOfAudioSelector", - "locationName": "audioSelectors", - "documentation": "Used to select the audio stream to decode for inputs that have multiple available." - }, - "CaptionSelectors": { - "shape": "__listOfCaptionSelector", - "locationName": "captionSelectors", - "documentation": "Used to select the caption input to use for inputs that have multiple available." - }, - "DeblockFilter": { - "shape": "InputDeblockFilter", - "locationName": "deblockFilter", - "documentation": "Enable or disable the deblock filter when filtering." - }, - "DenoiseFilter": { - "shape": "InputDenoiseFilter", - "locationName": "denoiseFilter", - "documentation": "Enable or disable the denoise filter when filtering." - }, - "FilterStrength": { - "shape": "__integerMin1Max5", - "locationName": "filterStrength", - "documentation": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest)." - }, - "InputFilter": { - "shape": "InputFilter", - "locationName": "inputFilter", - "documentation": "Turns on the filter for this input. MPEG-2 inputs have the deblocking filter enabled by default.\n1) auto - filtering will be applied depending on input type/quality\n2) disabled - no filtering will be applied to the input\n3) forced - filtering will be applied regardless of input type" - }, - "NetworkInputSettings": { - "shape": "NetworkInputSettings", - "locationName": "networkInputSettings", - "documentation": "Input settings." - }, - "SourceEndBehavior": { - "shape": "InputSourceEndBehavior", - "locationName": "sourceEndBehavior", - "documentation": "Loop input if it is a file. This allows a file input to be streamed indefinitely." - }, - "VideoSelector": { - "shape": "VideoSelector", - "locationName": "videoSelector", - "documentation": "Informs which video elementary stream to decode for input types that have multiple available." - } - }, - "documentation": "Live Event input parameters. There can be multiple inputs in a single Live Event." - }, - "InputSource": { - "type": "structure", - "members": { - "PasswordParam": { - "shape": "__string", - "locationName": "passwordParam", - "documentation": "The key used to extract the password from EC2 Parameter store." - }, - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "This represents the customer's source URL where stream is\npulled from.\n" - }, - "Username": { - "shape": "__string", - "locationName": "username", - "documentation": "The username for the input source." - } - }, - "documentation": "The settings for a PULL type input." - }, - "InputSourceEndBehavior": { - "type": "string", - "enum": [ - "CONTINUE", - "LOOP" - ], - "documentation": "Placeholder documentation for InputSourceEndBehavior" - }, - "InputSourceRequest": { - "type": "structure", - "members": { - "PasswordParam": { - "shape": "__string", - "locationName": "passwordParam", - "documentation": "The key used to extract the password from EC2 Parameter store." - }, - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "This represents the customer's source URL where stream is\npulled from.\n" - }, - "Username": { - "shape": "__string", - "locationName": "username", - "documentation": "The username for the input source." - } - }, - "documentation": "Settings for for a PULL type input." - }, - "InputSpecification": { - "type": "structure", - "members": { - "Codec": { - "shape": "InputCodec", - "locationName": "codec", - "documentation": "Input codec" - }, - "MaximumBitrate": { - "shape": "InputMaximumBitrate", - "locationName": "maximumBitrate", - "documentation": "Maximum input bitrate, categorized coarsely" - }, - "Resolution": { - "shape": "InputResolution", - "locationName": "resolution", - "documentation": "Input resolution, categorized coarsely" - } - }, - "documentation": "Placeholder documentation for InputSpecification" - }, - "InputState": { - "type": "string", - "enum": [ - "CREATING", - "DETACHED", - "ATTACHED", - "DELETING", - "DELETED" - ], - "documentation": "Placeholder documentation for InputState" - }, - "InputType": { - "type": "string", - "enum": [ - "UDP_PUSH", - "RTP_PUSH", - "RTMP_PUSH", - "RTMP_PULL", - "URL_PULL" - ], - "documentation": "Placeholder documentation for InputType" - }, - "InputWhitelistRule": { - "type": "structure", - "members": { - "Cidr": { - "shape": "__string", - "locationName": "cidr", - "documentation": "The IPv4 CIDR that's whitelisted." - } - }, - "documentation": "Whitelist rule" - }, - "InputWhitelistRuleCidr": { - "type": "structure", - "members": { - "Cidr": { - "shape": "__string", - "locationName": "cidr", - "documentation": "The IPv4 CIDR to whitelist." - } - }, - "documentation": "An IPv4 CIDR to whitelist." - }, - "InternalServerErrorException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 500 - }, - "documentation": "Placeholder documentation for InternalServerErrorException" - }, - "InternalServiceError": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for InternalServiceError" - }, - "InvalidRequest": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for InvalidRequest" - }, - "KeyProviderSettings": { - "type": "structure", - "members": { - "StaticKeySettings": { - "shape": "StaticKeySettings", - "locationName": "staticKeySettings" - } - }, - "documentation": "Placeholder documentation for KeyProviderSettings" - }, - "LimitExceeded": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for LimitExceeded" - }, - "ListChannelsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListChannelsRequest" - }, - "ListChannelsResponse": { - "type": "structure", - "members": { - "Channels": { - "shape": "__listOfChannelSummary", - "locationName": "channels" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListChannelsResponse" - }, - "ListChannelsResultModel": { - "type": "structure", - "members": { - "Channels": { - "shape": "__listOfChannelSummary", - "locationName": "channels" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListChannelsResultModel" - }, - "ListInputSecurityGroupsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListInputSecurityGroupsRequest" - }, - "ListInputSecurityGroupsResponse": { - "type": "structure", - "members": { - "InputSecurityGroups": { - "shape": "__listOfInputSecurityGroup", - "locationName": "inputSecurityGroups", - "documentation": "List of input security groups" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListInputSecurityGroupsResponse" - }, - "ListInputSecurityGroupsResultModel": { - "type": "structure", - "members": { - "InputSecurityGroups": { - "shape": "__listOfInputSecurityGroup", - "locationName": "inputSecurityGroups", - "documentation": "List of input security groups" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Result of input security group list request" - }, - "ListInputsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListInputsRequest" - }, - "ListInputsResponse": { - "type": "structure", - "members": { - "Inputs": { - "shape": "__listOfInput", - "locationName": "inputs" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListInputsResponse" - }, - "ListInputsResultModel": { - "type": "structure", - "members": { - "Inputs": { - "shape": "__listOfInput", - "locationName": "inputs" - }, - "NextToken": { - "shape": "__string", - "locationName": "nextToken" - } - }, - "documentation": "Placeholder documentation for ListInputsResultModel" - }, - "ListOfferingsRequest": { - "type": "structure", - "members": { - "ChannelConfiguration": { - "shape": "__string", - "location": "querystring", - "locationName": "channelConfiguration", - "documentation": "Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID)\n" - }, - "Codec": { - "shape": "__string", - "location": "querystring", - "locationName": "codec", - "documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'" - }, - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "MaximumBitrate": { - "shape": "__string", - "location": "querystring", - "locationName": "maximumBitrate", - "documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n" - }, - "MaximumFramerate": { - "shape": "__string", - "location": "querystring", - "locationName": "maximumFramerate", - "documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - }, - "Resolution": { - "shape": "__string", - "location": "querystring", - "locationName": "resolution", - "documentation": "Filter by resolution, 'SD', 'HD', or 'UHD'" - }, - "ResourceType": { - "shape": "__string", - "location": "querystring", - "locationName": "resourceType", - "documentation": "Filter by resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'" - }, - "SpecialFeature": { - "shape": "__string", - "location": "querystring", - "locationName": "specialFeature", - "documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n" - }, - "VideoQuality": { - "shape": "__string", - "location": "querystring", - "locationName": "videoQuality", - "documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n" - } - }, - "documentation": "Placeholder documentation for ListOfferingsRequest" - }, - "ListOfferingsResponse": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Token to retrieve the next page of results" - }, - "Offerings": { - "shape": "__listOfOffering", - "locationName": "offerings", - "documentation": "List of offerings" - } - }, - "documentation": "Placeholder documentation for ListOfferingsResponse" - }, - "ListOfferingsResultModel": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Token to retrieve the next page of results" - }, - "Offerings": { - "shape": "__listOfOffering", - "locationName": "offerings", - "documentation": "List of offerings" - } - }, - "documentation": "ListOfferings response" - }, - "ListReservationsRequest": { - "type": "structure", - "members": { - "Codec": { - "shape": "__string", - "location": "querystring", - "locationName": "codec", - "documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'" - }, - "MaxResults": { - "shape": "MaxResults", - "location": "querystring", - "locationName": "maxResults" - }, - "MaximumBitrate": { - "shape": "__string", - "location": "querystring", - "locationName": "maximumBitrate", - "documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n" - }, - "MaximumFramerate": { - "shape": "__string", - "location": "querystring", - "locationName": "maximumFramerate", - "documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'" - }, - "NextToken": { - "shape": "__string", - "location": "querystring", - "locationName": "nextToken" - }, - "Resolution": { - "shape": "__string", - "location": "querystring", - "locationName": "resolution", - "documentation": "Filter by resolution, 'SD', 'HD', or 'UHD'" - }, - "ResourceType": { - "shape": "__string", - "location": "querystring", - "locationName": "resourceType", - "documentation": "Filter by resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'" - }, - "SpecialFeature": { - "shape": "__string", - "location": "querystring", - "locationName": "specialFeature", - "documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n" - }, - "VideoQuality": { - "shape": "__string", - "location": "querystring", - "locationName": "videoQuality", - "documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n" - } - }, - "documentation": "Placeholder documentation for ListReservationsRequest" - }, - "ListReservationsResponse": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Token to retrieve the next page of results" - }, - "Reservations": { - "shape": "__listOfReservation", - "locationName": "reservations", - "documentation": "List of reservations" - } - }, - "documentation": "Placeholder documentation for ListReservationsResponse" - }, - "ListReservationsResultModel": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "Token to retrieve the next page of results" - }, - "Reservations": { - "shape": "__listOfReservation", - "locationName": "reservations", - "documentation": "List of reservations" - } - }, - "documentation": "ListReservations response" - }, - "LogLevel": { - "type": "string", - "enum": [ - "ERROR", - "WARNING", - "INFO", - "DEBUG", - "DISABLED" - ], - "documentation": "The log level the user wants for their channel." - }, - "M2tsAbsentInputAudioBehavior": { - "type": "string", - "enum": [ - "DROP", - "ENCODE_SILENCE" - ], - "documentation": "Placeholder documentation for M2tsAbsentInputAudioBehavior" - }, - "M2tsArib": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for M2tsArib" - }, - "M2tsAribCaptionsPidControl": { - "type": "string", - "enum": [ - "AUTO", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for M2tsAribCaptionsPidControl" - }, - "M2tsAudioBufferModel": { - "type": "string", - "enum": [ - "ATSC", - "DVB" - ], - "documentation": "Placeholder documentation for M2tsAudioBufferModel" - }, - "M2tsAudioInterval": { - "type": "string", - "enum": [ - "VIDEO_AND_FIXED_INTERVALS", - "VIDEO_INTERVAL" - ], - "documentation": "Placeholder documentation for M2tsAudioInterval" - }, - "M2tsAudioStreamType": { - "type": "string", - "enum": [ - "ATSC", - "DVB" - ], - "documentation": "Placeholder documentation for M2tsAudioStreamType" - }, - "M2tsBufferModel": { - "type": "string", - "enum": [ - "MULTIPLEX", - "NONE" - ], - "documentation": "Placeholder documentation for M2tsBufferModel" - }, - "M2tsCcDescriptor": { - "type": "string", - "enum": [ - "DISABLED", - "ENABLED" - ], - "documentation": "Placeholder documentation for M2tsCcDescriptor" - }, - "M2tsEbifControl": { - "type": "string", - "enum": [ - "NONE", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsEbifControl" - }, - "M2tsEbpPlacement": { - "type": "string", - "enum": [ - "VIDEO_AND_AUDIO_PIDS", - "VIDEO_PID" - ], - "documentation": "Placeholder documentation for M2tsEbpPlacement" - }, - "M2tsEsRateInPes": { - "type": "string", - "enum": [ - "EXCLUDE", - "INCLUDE" - ], - "documentation": "Placeholder documentation for M2tsEsRateInPes" - }, - "M2tsKlv": { - "type": "string", - "enum": [ - "NONE", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsKlv" - }, - "M2tsPcrControl": { - "type": "string", - "enum": [ - "CONFIGURED_PCR_PERIOD", - "PCR_EVERY_PES_PACKET" - ], - "documentation": "Placeholder documentation for M2tsPcrControl" - }, - "M2tsRateMode": { - "type": "string", - "enum": [ - "CBR", - "VBR" - ], - "documentation": "Placeholder documentation for M2tsRateMode" - }, - "M2tsScte35Control": { - "type": "string", - "enum": [ - "NONE", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsScte35Control" - }, - "M2tsSegmentationMarkers": { - "type": "string", - "enum": [ - "EBP", - "EBP_LEGACY", - "NONE", - "PSI_SEGSTART", - "RAI_ADAPT", - "RAI_SEGSTART" - ], - "documentation": "Placeholder documentation for M2tsSegmentationMarkers" - }, - "M2tsSegmentationStyle": { - "type": "string", - "enum": [ - "MAINTAIN_CADENCE", - "RESET_CADENCE" - ], - "documentation": "Placeholder documentation for M2tsSegmentationStyle" - }, - "M2tsSettings": { - "type": "structure", - "members": { - "AbsentInputAudioBehavior": { - "shape": "M2tsAbsentInputAudioBehavior", - "locationName": "absentInputAudioBehavior", - "documentation": "When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream." - }, - "Arib": { - "shape": "M2tsArib", - "locationName": "arib", - "documentation": "When set to enabled, uses ARIB-compliant field muxing and removes video descriptor." - }, - "AribCaptionsPid": { - "shape": "__string", - "locationName": "aribCaptionsPid", - "documentation": "Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "AribCaptionsPidControl": { - "shape": "M2tsAribCaptionsPidControl", - "locationName": "aribCaptionsPidControl", - "documentation": "If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number." - }, - "AudioBufferModel": { - "shape": "M2tsAudioBufferModel", - "locationName": "audioBufferModel", - "documentation": "When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used." - }, - "AudioFramesPerPes": { - "shape": "__integerMin0", - "locationName": "audioFramesPerPes", - "documentation": "The number of audio frames to insert for each PES packet." - }, - "AudioPids": { - "shape": "__string", - "locationName": "audioPids", - "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "AudioStreamType": { - "shape": "M2tsAudioStreamType", - "locationName": "audioStreamType", - "documentation": "When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06." - }, - "Bitrate": { - "shape": "__integerMin0", - "locationName": "bitrate", - "documentation": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate." - }, - "BufferModel": { - "shape": "M2tsBufferModel", - "locationName": "bufferModel", - "documentation": "If set to multiplex, use multiplex buffer model for accurate interleaving. Setting to bufferModel to none can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions." - }, - "CcDescriptor": { - "shape": "M2tsCcDescriptor", - "locationName": "ccDescriptor", - "documentation": "When set to enabled, generates captionServiceDescriptor in PMT." - }, - "DvbNitSettings": { - "shape": "DvbNitSettings", - "locationName": "dvbNitSettings", - "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." - }, - "DvbSdtSettings": { - "shape": "DvbSdtSettings", - "locationName": "dvbSdtSettings", - "documentation": "Inserts DVB Service Description Table (SDT) at the specified table repetition interval." - }, - "DvbSubPids": { - "shape": "__string", - "locationName": "dvbSubPids", - "documentation": "Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "DvbTdtSettings": { - "shape": "DvbTdtSettings", - "locationName": "dvbTdtSettings", - "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." - }, - "DvbTeletextPid": { - "shape": "__string", - "locationName": "dvbTeletextPid", - "documentation": "Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "Ebif": { - "shape": "M2tsEbifControl", - "locationName": "ebif", - "documentation": "If set to passthrough, passes any EBIF data from the input source to this output." - }, - "EbpAudioInterval": { - "shape": "M2tsAudioInterval", - "locationName": "ebpAudioInterval", - "documentation": "When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval." - }, - "EbpLookaheadMs": { - "shape": "__integerMin0Max10000", - "locationName": "ebpLookaheadMs", - "documentation": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate." - }, - "EbpPlacement": { - "shape": "M2tsEbpPlacement", - "locationName": "ebpPlacement", - "documentation": "Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID." - }, - "EcmPid": { - "shape": "__string", - "locationName": "ecmPid", - "documentation": "This field is unused and deprecated." - }, - "EsRateInPes": { - "shape": "M2tsEsRateInPes", - "locationName": "esRateInPes", - "documentation": "Include or exclude the ES Rate field in the PES header." - }, - "EtvPlatformPid": { - "shape": "__string", - "locationName": "etvPlatformPid", - "documentation": "Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "EtvSignalPid": { - "shape": "__string", - "locationName": "etvSignalPid", - "documentation": "Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "FragmentTime": { - "shape": "__doubleMin0", - "locationName": "fragmentTime", - "documentation": "The length in seconds of each fragment. Only used with EBP markers." - }, - "Klv": { - "shape": "M2tsKlv", - "locationName": "klv", - "documentation": "If set to passthrough, passes any KLV data from the input source to this output." - }, - "KlvDataPids": { - "shape": "__string", - "locationName": "klvDataPids", - "documentation": "Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "NullPacketBitrate": { - "shape": "__doubleMin0", - "locationName": "nullPacketBitrate", - "documentation": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets." - }, - "PatInterval": { - "shape": "__integerMin0Max1000", - "locationName": "patInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000." - }, - "PcrControl": { - "shape": "M2tsPcrControl", - "locationName": "pcrControl", - "documentation": "When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." - }, - "PcrPeriod": { - "shape": "__integerMin0Max500", - "locationName": "pcrPeriod", - "documentation": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream." - }, - "PcrPid": { - "shape": "__string", - "locationName": "pcrPid", - "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "PmtInterval": { - "shape": "__integerMin0Max1000", - "locationName": "pmtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000." - }, - "PmtPid": { - "shape": "__string", - "locationName": "pmtPid", - "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "ProgramNum": { - "shape": "__integerMin0Max65535", - "locationName": "programNum", - "documentation": "The value of the program number field in the Program Map Table." - }, - "RateMode": { - "shape": "M2tsRateMode", - "locationName": "rateMode", - "documentation": "When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set." - }, - "Scte27Pids": { - "shape": "__string", - "locationName": "scte27Pids", - "documentation": "Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "Scte35Control": { - "shape": "M2tsScte35Control", - "locationName": "scte35Control", - "documentation": "Optionally pass SCTE-35 signals from the input source to this output." - }, - "Scte35Pid": { - "shape": "__string", - "locationName": "scte35Pid", - "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "SegmentationMarkers": { - "shape": "M2tsSegmentationMarkers", - "locationName": "segmentationMarkers", - "documentation": "Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format." - }, - "SegmentationStyle": { - "shape": "M2tsSegmentationStyle", - "locationName": "segmentationStyle", - "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted.\n\nWhen a segmentation style of \"resetCadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds.\n\nWhen a segmentation style of \"maintainCadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule." - }, - "SegmentationTime": { - "shape": "__doubleMin1", - "locationName": "segmentationTime", - "documentation": "The length in seconds of each segment. Required unless markers is set to None_." - }, - "TimedMetadataBehavior": { - "shape": "M2tsTimedMetadataBehavior", - "locationName": "timedMetadataBehavior", - "documentation": "When set to passthrough, timed metadata will be passed through from input to output." - }, - "TimedMetadataPid": { - "shape": "__string", - "locationName": "timedMetadataPid", - "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "TransportStreamId": { - "shape": "__integerMin0Max65535", - "locationName": "transportStreamId", - "documentation": "The value of the transport stream ID field in the Program Map Table." - }, - "VideoPid": { - "shape": "__string", - "locationName": "videoPid", - "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - } - }, - "documentation": "Placeholder documentation for M2tsSettings" - }, - "M2tsTimedMetadataBehavior": { - "type": "string", - "enum": [ - "NO_PASSTHROUGH", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M2tsTimedMetadataBehavior" - }, - "M3u8PcrControl": { - "type": "string", - "enum": [ - "CONFIGURED_PCR_PERIOD", - "PCR_EVERY_PES_PACKET" - ], - "documentation": "Placeholder documentation for M3u8PcrControl" - }, - "M3u8Scte35Behavior": { - "type": "string", - "enum": [ - "NO_PASSTHROUGH", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M3u8Scte35Behavior" - }, - "M3u8Settings": { - "type": "structure", - "members": { - "AudioFramesPerPes": { - "shape": "__integerMin0", - "locationName": "audioFramesPerPes", - "documentation": "The number of audio frames to insert for each PES packet." - }, - "AudioPids": { - "shape": "__string", - "locationName": "audioPids", - "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values." - }, - "EcmPid": { - "shape": "__string", - "locationName": "ecmPid", - "documentation": "This parameter is unused and deprecated." - }, - "PatInterval": { - "shape": "__integerMin0Max1000", - "locationName": "patInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file." - }, - "PcrControl": { - "shape": "M3u8PcrControl", - "locationName": "pcrControl", - "documentation": "When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." - }, - "PcrPeriod": { - "shape": "__integerMin0Max500", - "locationName": "pcrPeriod", - "documentation": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." - }, - "PcrPid": { - "shape": "__string", - "locationName": "pcrPid", - "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value." - }, - "PmtInterval": { - "shape": "__integerMin0Max1000", - "locationName": "pmtInterval", - "documentation": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file." - }, - "PmtPid": { - "shape": "__string", - "locationName": "pmtPid", - "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value." - }, - "ProgramNum": { - "shape": "__integerMin0Max65535", - "locationName": "programNum", - "documentation": "The value of the program number field in the Program Map Table." - }, - "Scte35Behavior": { - "shape": "M3u8Scte35Behavior", - "locationName": "scte35Behavior", - "documentation": "If set to passthrough, passes any SCTE-35 signals from the input source to this output." - }, - "Scte35Pid": { - "shape": "__string", - "locationName": "scte35Pid", - "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value." - }, - "TimedMetadataBehavior": { - "shape": "M3u8TimedMetadataBehavior", - "locationName": "timedMetadataBehavior", - "documentation": "When set to passthrough, timed metadata is passed through from input to output." - }, - "TimedMetadataPid": { - "shape": "__string", - "locationName": "timedMetadataPid", - "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." - }, - "TransportStreamId": { - "shape": "__integerMin0Max65535", - "locationName": "transportStreamId", - "documentation": "The value of the transport stream ID field in the Program Map Table." - }, - "VideoPid": { - "shape": "__string", - "locationName": "videoPid", - "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value." - } - }, - "documentation": "Settings information for the .m3u8 container" - }, - "M3u8TimedMetadataBehavior": { - "type": "string", - "enum": [ - "NO_PASSTHROUGH", - "PASSTHROUGH" - ], - "documentation": "Placeholder documentation for M3u8TimedMetadataBehavior" - }, - "MaxResults": { - "type": "integer", - "min": 1, - "max": 1000, - "documentation": "Placeholder documentation for MaxResults" - }, - "Mp2CodingMode": { - "type": "string", - "enum": [ - "CODING_MODE_1_0", - "CODING_MODE_2_0" - ], - "documentation": "Placeholder documentation for Mp2CodingMode" - }, - "Mp2Settings": { - "type": "structure", - "members": { - "Bitrate": { - "shape": "__double", - "locationName": "bitrate", - "documentation": "Average bitrate in bits/second." - }, - "CodingMode": { - "shape": "Mp2CodingMode", - "locationName": "codingMode", - "documentation": "The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or codingMode20 (for stereo)." - }, - "SampleRate": { - "shape": "__double", - "locationName": "sampleRate", - "documentation": "Sample rate in Hz." - } - }, - "documentation": "Placeholder documentation for Mp2Settings" - }, - "MsSmoothGroupSettings": { - "type": "structure", - "members": { - "AcquisitionPointId": { - "shape": "__string", - "locationName": "acquisitionPointId", - "documentation": "The value of the \"Acquisition Point Identity\" element used in each message placed in the sparse track. Only enabled if sparseTrackType is not \"none\"." - }, - "AudioOnlyTimecodeControl": { - "shape": "SmoothGroupAudioOnlyTimecodeControl", - "locationName": "audioOnlyTimecodeControl", - "documentation": "If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream." - }, - "CertificateMode": { - "shape": "SmoothGroupCertificateMode", - "locationName": "certificateMode", - "documentation": "If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail." - }, - "ConnectionRetryInterval": { - "shape": "__integerMin0", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established." - }, - "Destination": { - "shape": "OutputLocationRef", - "locationName": "destination", - "documentation": "Smooth Streaming publish point on an IIS server. Elemental Live acts as a \"Push\" encoder to IIS." - }, - "EventId": { - "shape": "__string", - "locationName": "eventId", - "documentation": "MS Smooth event ID to be sent to the IIS server.\n\nShould only be specified if eventIdMode is set to useConfigured." - }, - "EventIdMode": { - "shape": "SmoothGroupEventIdMode", - "locationName": "eventIdMode", - "documentation": "Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run.\n\nOptions:\n- \"useConfigured\" - use the value provided in eventId\n- \"useTimestamp\" - generate and send an event ID based on the current timestamp\n- \"noEventId\" - do not send an event ID to the IIS server." - }, - "EventStopBehavior": { - "shape": "SmoothGroupEventStopBehavior", - "locationName": "eventStopBehavior", - "documentation": "When set to sendEos, send EOS signal to IIS server when stopping the event" - }, - "FilecacheDuration": { - "shape": "__integerMin0", - "locationName": "filecacheDuration", - "documentation": "Size in seconds of file cache for streaming outputs." - }, - "FragmentLength": { - "shape": "__integerMin1", - "locationName": "fragmentLength", - "documentation": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate." - }, - "InputLossAction": { - "shape": "InputLossActionForMsSmoothOut", - "locationName": "inputLossAction", - "documentation": "Parameter that control output group behavior on input loss." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts." - }, - "RestartDelay": { - "shape": "__integerMin0", - "locationName": "restartDelay", - "documentation": "Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration." - }, - "SegmentationMode": { - "shape": "SmoothGroupSegmentationMode", - "locationName": "segmentationMode", - "documentation": "When set to useInputSegmentation, the output segment or fragment points are set by the RAI markers from the input streams." - }, - "SendDelayMs": { - "shape": "__integerMin0Max10000", - "locationName": "sendDelayMs", - "documentation": "Outputs that are \"output locked\" can use this delay. Assign a delay to the output that is \"secondary\". Do not assign a delay to the \"primary\" output. The delay means that the primary output will always reach the downstream system before the secondary, which helps ensure that the downstream system always uses the primary output. (If there were no delay, the downstream system might flip-flop between whichever output happens to arrive first.) If the primary fails, the downstream system will switch to the secondary output. When the primary is restarted, the downstream system will switch back to the primary (because once again it is always arriving first)" - }, - "SparseTrackType": { - "shape": "SmoothGroupSparseTrackType", - "locationName": "sparseTrackType", - "documentation": "If set to scte35, use incoming SCTE-35 messages to generate a sparse track in this group of MS-Smooth outputs." - }, - "StreamManifestBehavior": { - "shape": "SmoothGroupStreamManifestBehavior", - "locationName": "streamManifestBehavior", - "documentation": "When set to send, send stream manifest so publishing point doesn't start until all streams start." - }, - "TimestampOffset": { - "shape": "__string", - "locationName": "timestampOffset", - "documentation": "Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset." - }, - "TimestampOffsetMode": { - "shape": "SmoothGroupTimestampOffsetMode", - "locationName": "timestampOffsetMode", - "documentation": "Type of timestamp date offset to use.\n- useEventStartDate: Use the date the event was started as the offset\n- useConfiguredOffset: Use an explicitly configured date as the offset" - } - }, - "required": [ - "Destination" - ], - "documentation": "Placeholder documentation for MsSmoothGroupSettings" - }, - "MsSmoothOutputSettings": { - "type": "structure", - "members": { - "NameModifier": { - "shape": "__string", - "locationName": "nameModifier", - "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." - } - }, - "documentation": "Placeholder documentation for MsSmoothOutputSettings" - }, - "NetworkInputServerValidation": { - "type": "string", - "enum": [ - "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", - "CHECK_CRYPTOGRAPHY_ONLY" - ], - "documentation": "Placeholder documentation for NetworkInputServerValidation" - }, - "NetworkInputSettings": { - "type": "structure", - "members": { - "HlsInputSettings": { - "shape": "HlsInputSettings", - "locationName": "hlsInputSettings", - "documentation": "Specifies HLS input settings when the uri is for a HLS manifest." - }, - "ServerValidation": { - "shape": "NetworkInputServerValidation", - "locationName": "serverValidation", - "documentation": "Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography in the certificate will be checked, but not the server's name. Certain subdomains (notably S3 buckets that use dots in the bucket name) do not strictly match the corresponding certificate's wildcard pattern and would otherwise cause the event to error. This setting is ignored for protocols that do not use https." - } - }, - "documentation": "Network source to transcode. Must be accessible to the Elemental Live node that is running the live event through a network connection." - }, - "NotFoundException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 404 - }, - "documentation": "Placeholder documentation for NotFoundException" - }, - "Offering": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'" - }, - "CurrencyCode": { - "shape": "__string", - "locationName": "currencyCode", - "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" - }, - "Duration": { - "shape": "__integer", - "locationName": "duration", - "documentation": "Lease duration, e.g. '12'" - }, - "DurationUnits": { - "shape": "OfferingDurationUnits", - "locationName": "durationUnits", - "documentation": "Units for duration, e.g. 'MONTHS'" - }, - "FixedPrice": { - "shape": "__double", - "locationName": "fixedPrice", - "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" - }, - "OfferingDescription": { - "shape": "__string", - "locationName": "offeringDescription", - "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" - }, - "OfferingId": { - "shape": "__string", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - }, - "OfferingType": { - "shape": "OfferingType", - "locationName": "offeringType", - "documentation": "Offering type, e.g. 'NO_UPFRONT'" - }, - "Region": { - "shape": "__string", - "locationName": "region", - "documentation": "AWS region, e.g. 'us-west-2'" - }, - "ResourceSpecification": { - "shape": "ReservationResourceSpecification", - "locationName": "resourceSpecification", - "documentation": "Resource configuration details" - }, - "UsagePrice": { - "shape": "__double", - "locationName": "usagePrice", - "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" - } - }, - "documentation": "Reserved resources available for purchase" - }, - "OfferingDurationUnits": { - "type": "string", - "documentation": "Units for duration, e.g. 'MONTHS'", - "enum": [ - "MONTHS" - ] - }, - "OfferingType": { - "type": "string", - "documentation": "Offering type, e.g. 'NO_UPFRONT'", - "enum": [ - "NO_UPFRONT" - ] - }, - "Output": { - "type": "structure", - "members": { - "AudioDescriptionNames": { - "shape": "__listOf__string", - "locationName": "audioDescriptionNames", - "documentation": "The names of the AudioDescriptions used as audio sources for this output." - }, - "CaptionDescriptionNames": { - "shape": "__listOf__string", - "locationName": "captionDescriptionNames", - "documentation": "The names of the CaptionDescriptions used as caption sources for this output." - }, - "OutputName": { - "shape": "__stringMin1Max255", - "locationName": "outputName", - "documentation": "The name used to identify an output." - }, - "OutputSettings": { - "shape": "OutputSettings", - "locationName": "outputSettings", - "documentation": "Output type-specific settings." - }, - "VideoDescriptionName": { - "shape": "__string", - "locationName": "videoDescriptionName", - "documentation": "The name of the VideoDescription used as the source for this output." - } - }, - "documentation": "Output settings. There can be multiple outputs within a group.", - "required": [ - "OutputSettings" - ] - }, - "OutputDestination": { - "type": "structure", - "members": { - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "User-specified id. This is used in an output group or an output." - }, - "Settings": { - "shape": "__listOfOutputDestinationSettings", - "locationName": "settings", - "documentation": "Destination settings for output; one for each redundant encoder." - } - }, - "documentation": "Placeholder documentation for OutputDestination" - }, - "OutputDestinationSettings": { - "type": "structure", - "members": { - "PasswordParam": { - "shape": "__string", - "locationName": "passwordParam", - "documentation": "key used to extract the password from EC2 Parameter store" - }, - "StreamName": { - "shape": "__string", - "locationName": "streamName", - "documentation": "Stream name for RTMP destinations (URLs of type rtmp://)" - }, - "Url": { - "shape": "__string", - "locationName": "url", - "documentation": "A URL specifying a destination" - }, - "Username": { - "shape": "__string", - "locationName": "username", - "documentation": "username for destination" - } - }, - "documentation": "Placeholder documentation for OutputDestinationSettings" - }, - "OutputGroup": { - "type": "structure", - "members": { - "Name": { - "shape": "__stringMax32", - "locationName": "name", - "documentation": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed." - }, - "OutputGroupSettings": { - "shape": "OutputGroupSettings", - "locationName": "outputGroupSettings", - "documentation": "Settings associated with the output group." - }, - "Outputs": { - "shape": "__listOfOutput", - "locationName": "outputs" - } - }, - "documentation": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", - "required": [ - "Outputs", - "OutputGroupSettings" - ] - }, - "OutputGroupSettings": { - "type": "structure", - "members": { - "ArchiveGroupSettings": { - "shape": "ArchiveGroupSettings", - "locationName": "archiveGroupSettings" - }, - "HlsGroupSettings": { - "shape": "HlsGroupSettings", - "locationName": "hlsGroupSettings" - }, - "MsSmoothGroupSettings": { - "shape": "MsSmoothGroupSettings", - "locationName": "msSmoothGroupSettings" - }, - "RtmpGroupSettings": { - "shape": "RtmpGroupSettings", - "locationName": "rtmpGroupSettings" - }, - "UdpGroupSettings": { - "shape": "UdpGroupSettings", - "locationName": "udpGroupSettings" - } - }, - "documentation": "Placeholder documentation for OutputGroupSettings" - }, - "OutputLocationRef": { - "type": "structure", - "members": { - "DestinationRefId": { - "shape": "__string", - "locationName": "destinationRefId" - } - }, - "documentation": "Reference to an OutputDestination ID defined in the channel" - }, - "OutputSettings": { - "type": "structure", - "members": { - "ArchiveOutputSettings": { - "shape": "ArchiveOutputSettings", - "locationName": "archiveOutputSettings" - }, - "HlsOutputSettings": { - "shape": "HlsOutputSettings", - "locationName": "hlsOutputSettings" - }, - "MsSmoothOutputSettings": { - "shape": "MsSmoothOutputSettings", - "locationName": "msSmoothOutputSettings" - }, - "RtmpOutputSettings": { - "shape": "RtmpOutputSettings", - "locationName": "rtmpOutputSettings" - }, - "UdpOutputSettings": { - "shape": "UdpOutputSettings", - "locationName": "udpOutputSettings" - } - }, - "documentation": "Placeholder documentation for OutputSettings" - }, - "PassThroughSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for PassThroughSettings" - }, - "PurchaseOffering": { - "type": "structure", - "members": { - "Count": { - "shape": "__integerMin1", - "locationName": "count", - "documentation": "Number of resources" - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name for the new reservation" - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.", - "idempotencyToken": true - } - }, - "documentation": "PurchaseOffering request" - }, - "PurchaseOfferingRequest": { - "type": "structure", - "members": { - "Count": { - "shape": "__integerMin1", - "locationName": "count", - "documentation": "Number of resources" - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name for the new reservation" - }, - "OfferingId": { - "shape": "__string", - "location": "uri", - "locationName": "offeringId", - "documentation": "Offering to purchase, e.g. '87654321'" - }, - "RequestId": { - "shape": "__string", - "locationName": "requestId", - "documentation": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.", - "idempotencyToken": true - } - }, - "required": [ - "OfferingId" - ], - "documentation": "Placeholder documentation for PurchaseOfferingRequest" - }, - "PurchaseOfferingResponse": { - "type": "structure", - "members": { - "Reservation": { - "shape": "Reservation", - "locationName": "reservation" - } - }, - "documentation": "Placeholder documentation for PurchaseOfferingResponse" - }, - "PurchaseOfferingResultModel": { - "type": "structure", - "members": { - "Reservation": { - "shape": "Reservation", - "locationName": "reservation" - } - }, - "documentation": "PurchaseOffering response" - }, - "RemixSettings": { - "type": "structure", - "members": { - "ChannelMappings": { - "shape": "__listOfAudioChannelMapping", - "locationName": "channelMappings", - "documentation": "Mapping of input channels to output channels, with appropriate gain adjustments." - }, - "ChannelsIn": { - "shape": "__integerMin1Max16", - "locationName": "channelsIn", - "documentation": "Number of input channels to be used." - }, - "ChannelsOut": { - "shape": "__integerMin1Max8", - "locationName": "channelsOut", - "documentation": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8" - } - }, - "required": [ - "ChannelMappings" - ], - "documentation": "Placeholder documentation for RemixSettings" - }, - "Reservation": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" - }, - "Count": { - "shape": "__integer", - "locationName": "count", - "documentation": "Number of reserved resources" - }, - "CurrencyCode": { - "shape": "__string", - "locationName": "currencyCode", - "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" - }, - "Duration": { - "shape": "__integer", - "locationName": "duration", - "documentation": "Lease duration, e.g. '12'" - }, - "DurationUnits": { - "shape": "OfferingDurationUnits", - "locationName": "durationUnits", - "documentation": "Units for duration, e.g. 'MONTHS'" - }, - "End": { - "shape": "__string", - "locationName": "end", - "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" - }, - "FixedPrice": { - "shape": "__double", - "locationName": "fixedPrice", - "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "User specified reservation name" - }, - "OfferingDescription": { - "shape": "__string", - "locationName": "offeringDescription", - "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" - }, - "OfferingId": { - "shape": "__string", - "locationName": "offeringId", - "documentation": "Unique offering ID, e.g. '87654321'" - }, - "OfferingType": { - "shape": "OfferingType", - "locationName": "offeringType", - "documentation": "Offering type, e.g. 'NO_UPFRONT'" - }, - "Region": { - "shape": "__string", - "locationName": "region", - "documentation": "AWS region, e.g. 'us-west-2'" - }, - "ReservationId": { - "shape": "__string", - "locationName": "reservationId", - "documentation": "Unique reservation ID, e.g. '1234567'" - }, - "ResourceSpecification": { - "shape": "ReservationResourceSpecification", - "locationName": "resourceSpecification", - "documentation": "Resource configuration details" - }, - "Start": { - "shape": "__string", - "locationName": "start", - "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" - }, - "State": { - "shape": "ReservationState", - "locationName": "state", - "documentation": "Current state of reservation, e.g. 'ACTIVE'" - }, - "UsagePrice": { - "shape": "__double", - "locationName": "usagePrice", - "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" - } - }, - "documentation": "Reserved resources available to use" - }, - "ReservationCodec": { - "type": "string", - "documentation": "Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'", - "enum": [ - "MPEG2", - "AVC", - "HEVC", - "AUDIO" - ] - }, - "ReservationMaximumBitrate": { - "type": "string", - "documentation": "Maximum bitrate in megabits per second", - "enum": [ - "MAX_10_MBPS", - "MAX_20_MBPS", - "MAX_50_MBPS" - ] - }, - "ReservationMaximumFramerate": { - "type": "string", - "documentation": "Maximum framerate in frames per second (Outputs only)", - "enum": [ - "MAX_30_FPS", - "MAX_60_FPS" - ] - }, - "ReservationResolution": { - "type": "string", - "documentation": "Resolution based on lines of vertical resolution; SD is less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines\n", - "enum": [ - "SD", - "HD", - "UHD" - ] - }, - "ReservationResourceSpecification": { - "type": "structure", - "members": { - "Codec": { - "shape": "ReservationCodec", - "locationName": "codec", - "documentation": "Codec, e.g. 'AVC'" - }, - "MaximumBitrate": { - "shape": "ReservationMaximumBitrate", - "locationName": "maximumBitrate", - "documentation": "Maximum bitrate, e.g. 'MAX_20_MBPS'" - }, - "MaximumFramerate": { - "shape": "ReservationMaximumFramerate", - "locationName": "maximumFramerate", - "documentation": "Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)" - }, - "Resolution": { - "shape": "ReservationResolution", - "locationName": "resolution", - "documentation": "Resolution, e.g. 'HD'" - }, - "ResourceType": { - "shape": "ReservationResourceType", - "locationName": "resourceType", - "documentation": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'" - }, - "SpecialFeature": { - "shape": "ReservationSpecialFeature", - "locationName": "specialFeature", - "documentation": "Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)" - }, - "VideoQuality": { - "shape": "ReservationVideoQuality", - "locationName": "videoQuality", - "documentation": "Video quality, e.g. 'STANDARD' (Outputs only)" - } - }, - "documentation": "Resource configuration (codec, resolution, bitrate, ...)" - }, - "ReservationResourceType": { - "type": "string", - "documentation": "Resource type, 'INPUT', 'OUTPUT', or 'CHANNEL'", - "enum": [ - "INPUT", - "OUTPUT", - "CHANNEL" - ] - }, - "ReservationSpecialFeature": { - "type": "string", - "documentation": "Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'", - "enum": [ - "ADVANCED_AUDIO", - "AUDIO_NORMALIZATION" - ] - }, - "ReservationState": { - "type": "string", - "documentation": "Current reservation state", - "enum": [ - "ACTIVE", - "EXPIRED", - "CANCELED", - "DELETED" - ] - }, - "ReservationVideoQuality": { - "type": "string", - "documentation": "Video quality, e.g. 'STANDARD' (Outputs only)", - "enum": [ - "STANDARD", - "ENHANCED", - "PREMIUM" - ] - }, - "ResourceConflict": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for ResourceConflict" - }, - "ResourceNotFound": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "documentation": "Placeholder documentation for ResourceNotFound" - }, - "RtmpCacheFullBehavior": { - "type": "string", - "enum": [ - "DISCONNECT_IMMEDIATELY", - "WAIT_FOR_SERVER" - ], - "documentation": "Placeholder documentation for RtmpCacheFullBehavior" - }, - "RtmpCaptionData": { - "type": "string", - "enum": [ - "ALL", - "FIELD1_608", - "FIELD1_AND_FIELD2_608" - ], - "documentation": "Placeholder documentation for RtmpCaptionData" - }, - "RtmpCaptionInfoDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for RtmpCaptionInfoDestinationSettings" - }, - "RtmpGroupSettings": { - "type": "structure", - "members": { - "AuthenticationScheme": { - "shape": "AuthenticationScheme", - "locationName": "authenticationScheme", - "documentation": "Authentication scheme to use when connecting with CDN" - }, - "CacheFullBehavior": { - "shape": "RtmpCacheFullBehavior", - "locationName": "cacheFullBehavior", - "documentation": "Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again." - }, - "CacheLength": { - "shape": "__integerMin30", - "locationName": "cacheLength", - "documentation": "Cache length, in seconds, is used to calculate buffer size." - }, - "CaptionData": { - "shape": "RtmpCaptionData", - "locationName": "captionData", - "documentation": "Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed." - }, - "RestartDelay": { - "shape": "__integerMin0", - "locationName": "restartDelay", - "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." - } - }, - "documentation": "Placeholder documentation for RtmpGroupSettings" - }, - "RtmpOutputCertificateMode": { - "type": "string", - "enum": [ - "SELF_SIGNED", - "VERIFY_AUTHENTICITY" - ], - "documentation": "Placeholder documentation for RtmpOutputCertificateMode" - }, - "RtmpOutputSettings": { - "type": "structure", - "members": { - "CertificateMode": { - "shape": "RtmpOutputCertificateMode", - "locationName": "certificateMode", - "documentation": "If set to verifyAuthenticity, verify the tls certificate chain to a trusted Certificate Authority (CA). This will cause rtmps outputs with self-signed certificates to fail." - }, - "ConnectionRetryInterval": { - "shape": "__integerMin1", - "locationName": "connectionRetryInterval", - "documentation": "Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost." - }, - "Destination": { - "shape": "OutputLocationRef", - "locationName": "destination", - "documentation": "The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers." - }, - "NumRetries": { - "shape": "__integerMin0", - "locationName": "numRetries", - "documentation": "Number of retry attempts." - } - }, - "required": [ - "Destination" - ], - "documentation": "Placeholder documentation for RtmpOutputSettings" - }, - "ScheduleAction": { - "type": "structure", - "members": { - "ActionName": { - "shape": "__string", - "locationName": "actionName", - "documentation": "The name of the action, must be unique within the schedule." - }, - "ScheduleActionSettings": { - "shape": "ScheduleActionSettings", - "locationName": "scheduleActionSettings", - "documentation": "Settings for this schedule action." - }, - "ScheduleActionStartSettings": { - "shape": "ScheduleActionStartSettings", - "locationName": "scheduleActionStartSettings", - "documentation": "When the action takes effect." - } - }, - "documentation": "A single schedule action.", - "required": [ - "ActionName", - "ScheduleActionStartSettings", - "ScheduleActionSettings" - ] - }, - "ScheduleActionSettings": { - "type": "structure", - "members": { - "Scte35ReturnToNetworkSettings": { - "shape": "Scte35ReturnToNetworkScheduleActionSettings", - "locationName": "scte35ReturnToNetworkSettings", - "documentation": "SCTE-35 Return to Network Settings" - }, - "Scte35SpliceInsertSettings": { - "shape": "Scte35SpliceInsertScheduleActionSettings", - "locationName": "scte35SpliceInsertSettings", - "documentation": "SCTE-35 Splice Insert Settings" - }, - "Scte35TimeSignalSettings": { - "shape": "Scte35TimeSignalScheduleActionSettings", - "locationName": "scte35TimeSignalSettings", - "documentation": "SCTE-35 Time Signal Settings" - }, - "StaticImageActivateSettings": { - "shape": "StaticImageActivateScheduleActionSettings", - "locationName": "staticImageActivateSettings", - "documentation": "Static Image Activate" - }, - "StaticImageDeactivateSettings": { - "shape": "StaticImageDeactivateScheduleActionSettings", - "locationName": "staticImageDeactivateSettings", - "documentation": "Static Image Deactivate" - } - }, - "documentation": "Settings for a single schedule action." - }, - "ScheduleActionStartSettings": { - "type": "structure", - "members": { - "FixedModeScheduleActionStartSettings": { - "shape": "FixedModeScheduleActionStartSettings", - "locationName": "fixedModeScheduleActionStartSettings", - "documentation": "Fixed timestamp action start. Conforms to ISO-8601." - } - }, - "documentation": "When the schedule action starts." - }, - "ScheduleDescribeResultModel": { - "type": "structure", - "members": { - "NextToken": { - "shape": "__string", - "locationName": "nextToken", - "documentation": "The next token; for use in pagination." - }, - "ScheduleActions": { - "shape": "__listOfScheduleAction", - "locationName": "scheduleActions", - "documentation": "The list of schedule actions." - } - }, - "documentation": "A complete schedule description.", - "required": [ - "ScheduleActions" - ] - }, - "Scte20Convert608To708": { - "type": "string", - "enum": [ - "DISABLED", - "UPCONVERT" - ], - "documentation": "Placeholder documentation for Scte20Convert608To708" - }, - "Scte20PlusEmbeddedDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for Scte20PlusEmbeddedDestinationSettings" - }, - "Scte20SourceSettings": { - "type": "structure", - "members": { - "Convert608To708": { - "shape": "Scte20Convert608To708", - "locationName": "convert608To708", - "documentation": "If upconvert, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." - }, - "Source608ChannelNumber": { - "shape": "__integerMin1Max4", - "locationName": "source608ChannelNumber", - "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." - } - }, - "documentation": "Placeholder documentation for Scte20SourceSettings" - }, - "Scte27DestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for Scte27DestinationSettings" - }, - "Scte27SourceSettings": { - "type": "structure", - "members": { - "Pid": { - "shape": "__integerMin1", - "locationName": "pid", - "documentation": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through." - } - }, - "documentation": "Placeholder documentation for Scte27SourceSettings" - }, - "Scte35AposNoRegionalBlackoutBehavior": { - "type": "string", - "enum": [ - "FOLLOW", - "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35AposNoRegionalBlackoutBehavior" - }, - "Scte35AposWebDeliveryAllowedBehavior": { - "type": "string", - "enum": [ - "FOLLOW", - "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35AposWebDeliveryAllowedBehavior" - }, - "Scte35ArchiveAllowedFlag": { - "type": "string", - "documentation": "SCTE-35 segmentation_descriptor archive_allowed_flag.", - "enum": [ - "ARCHIVE_NOT_ALLOWED", - "ARCHIVE_ALLOWED" - ] - }, - "Scte35DeliveryRestrictions": { - "type": "structure", - "members": { - "ArchiveAllowedFlag": { - "shape": "Scte35ArchiveAllowedFlag", - "locationName": "archiveAllowedFlag", - "documentation": "SCTE-35 segmentation_descriptor archive_allowed_flag." - }, - "DeviceRestrictions": { - "shape": "Scte35DeviceRestrictions", - "locationName": "deviceRestrictions", - "documentation": "SCTE-35 segmentation_descriptor web_delivery_allowed_flag." - }, - "NoRegionalBlackoutFlag": { - "shape": "Scte35NoRegionalBlackoutFlag", - "locationName": "noRegionalBlackoutFlag", - "documentation": "SCTE-35 segmentation_descriptor no_regional_blackout_flag." - }, - "WebDeliveryAllowedFlag": { - "shape": "Scte35WebDeliveryAllowedFlag", - "locationName": "webDeliveryAllowedFlag", - "documentation": "SCTE-35 segmentation_descriptor web_delivery_allowed_flag." - } - }, - "documentation": "SCTE-35 Delivery Restrictions.", - "required": [ - "DeviceRestrictions", - "ArchiveAllowedFlag", - "WebDeliveryAllowedFlag", - "NoRegionalBlackoutFlag" - ] - }, - "Scte35Descriptor": { - "type": "structure", - "members": { - "Scte35DescriptorSettings": { - "shape": "Scte35DescriptorSettings", - "locationName": "scte35DescriptorSettings", - "documentation": "SCTE-35 Descriptor Settings." - } - }, - "documentation": "SCTE-35 Descriptor.", - "required": [ - "Scte35DescriptorSettings" - ] - }, - "Scte35DescriptorSettings": { - "type": "structure", - "members": { - "SegmentationDescriptorScte35DescriptorSettings": { - "shape": "Scte35SegmentationDescriptor", - "locationName": "segmentationDescriptorScte35DescriptorSettings", - "documentation": "SCTE-35 Segmentation Descriptor." - } - }, - "documentation": "SCTE-35 Descriptor settings.", - "required": [ - "SegmentationDescriptorScte35DescriptorSettings" - ] - }, - "Scte35DeviceRestrictions": { - "type": "string", - "documentation": "SCTE-35 Device Restrictions.", - "enum": [ - "NONE", - "RESTRICT_GROUP0", - "RESTRICT_GROUP1", - "RESTRICT_GROUP2" - ] - }, - "Scte35NoRegionalBlackoutFlag": { - "type": "string", - "documentation": "SCTE-35 segmentation_descriptor no_regional_blackout_flag.", - "enum": [ - "REGIONAL_BLACKOUT", - "NO_REGIONAL_BLACKOUT" - ] - }, - "Scte35ReturnToNetworkScheduleActionSettings": { - "type": "structure", - "members": { - "SpliceEventId": { - "shape": "__integerMin0Max4294967295", - "locationName": "spliceEventId", - "documentation": "The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35." - } - }, - "documentation": "SCTE-35 Return to Network Settings.", - "required": [ - "SpliceEventId" - ] - }, - "Scte35SegmentationCancelIndicator": { - "type": "string", - "documentation": "SCTE-35 segmentation_descriptor segmentation_event_cancel_indicator.", - "enum": [ - "SEGMENTATION_EVENT_NOT_CANCELED", - "SEGMENTATION_EVENT_CANCELED" - ] - }, - "Scte35SegmentationDescriptor": { - "type": "structure", - "members": { - "DeliveryRestrictions": { - "shape": "Scte35DeliveryRestrictions", - "locationName": "deliveryRestrictions", - "documentation": "SCTE-35 delivery restrictions." - }, - "SegmentNum": { - "shape": "__integerMin0Max255", - "locationName": "segmentNum", - "documentation": "SCTE-35 segmentation_descriptor segment_num." - }, - "SegmentationCancelIndicator": { - "shape": "Scte35SegmentationCancelIndicator", - "locationName": "segmentationCancelIndicator", - "documentation": "SCTE-35 segmentation_descriptor segmentation_event_cancel_indicator." - }, - "SegmentationDuration": { - "shape": "__integerMin0Max1099511627775", - "locationName": "segmentationDuration", - "documentation": "SCTE-35 segmentation_descriptor segmentation_duration specified in 90 KHz clock ticks." - }, - "SegmentationEventId": { - "shape": "__integerMin0Max4294967295", - "locationName": "segmentationEventId", - "documentation": "SCTE-35 segmentation_descriptor segmentation_event_id." - }, - "SegmentationTypeId": { - "shape": "__integerMin0Max255", - "locationName": "segmentationTypeId", - "documentation": "SCTE-35 segmentation_descriptor segmentation_type_id." - }, - "SegmentationUpid": { - "shape": "__string", - "locationName": "segmentationUpid", - "documentation": "SCTE-35 segmentation_descriptor segmentation_upid as a hex string." - }, - "SegmentationUpidType": { - "shape": "__integerMin0Max255", - "locationName": "segmentationUpidType", - "documentation": "SCTE-35 segmentation_descriptor segmentation_upid_type." - }, - "SegmentsExpected": { - "shape": "__integerMin0Max255", - "locationName": "segmentsExpected", - "documentation": "SCTE-35 segmentation_descriptor segments_expected." - }, - "SubSegmentNum": { - "shape": "__integerMin0Max255", - "locationName": "subSegmentNum", - "documentation": "SCTE-35 segmentation_descriptor sub_segment_num." - }, - "SubSegmentsExpected": { - "shape": "__integerMin0Max255", - "locationName": "subSegmentsExpected", - "documentation": "SCTE-35 segmentation_descriptor sub_segments_expected." - } - }, - "documentation": "SCTE-35 Segmentation Descriptor.", - "required": [ - "SegmentationEventId", - "SegmentationCancelIndicator" - ] - }, - "Scte35SpliceInsert": { - "type": "structure", - "members": { - "AdAvailOffset": { - "shape": "__integerMinNegative1000Max1000", - "locationName": "adAvailOffset", - "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages." - }, - "NoRegionalBlackoutFlag": { - "shape": "Scte35SpliceInsertNoRegionalBlackoutBehavior", - "locationName": "noRegionalBlackoutFlag", - "documentation": "When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates" - }, - "WebDeliveryAllowedFlag": { - "shape": "Scte35SpliceInsertWebDeliveryAllowedBehavior", - "locationName": "webDeliveryAllowedFlag", - "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" - } - }, - "documentation": "Placeholder documentation for Scte35SpliceInsert" - }, - "Scte35SpliceInsertNoRegionalBlackoutBehavior": { - "type": "string", - "enum": [ - "FOLLOW", - "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35SpliceInsertNoRegionalBlackoutBehavior" - }, - "Scte35SpliceInsertScheduleActionSettings": { - "type": "structure", - "members": { - "Duration": { - "shape": "__integerMin0Max8589934591", - "locationName": "duration", - "documentation": "The duration for the SCTE-35 splice_insert specified in 90KHz clock ticks. When duration is not specified the expectation is that a Scte35ReturnToNetwork action will be scheduled." - }, - "SpliceEventId": { - "shape": "__integerMin0Max4294967295", - "locationName": "spliceEventId", - "documentation": "The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35." - } - }, - "documentation": "SCTE-35 Splice Insert Settings.", - "required": [ - "SpliceEventId" - ] - }, - "Scte35SpliceInsertWebDeliveryAllowedBehavior": { - "type": "string", - "enum": [ - "FOLLOW", - "IGNORE" - ], - "documentation": "Placeholder documentation for Scte35SpliceInsertWebDeliveryAllowedBehavior" - }, - "Scte35TimeSignalApos": { - "type": "structure", - "members": { - "AdAvailOffset": { - "shape": "__integerMinNegative1000Max1000", - "locationName": "adAvailOffset", - "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages." - }, - "NoRegionalBlackoutFlag": { - "shape": "Scte35AposNoRegionalBlackoutBehavior", - "locationName": "noRegionalBlackoutFlag", - "documentation": "When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates" - }, - "WebDeliveryAllowedFlag": { - "shape": "Scte35AposWebDeliveryAllowedBehavior", - "locationName": "webDeliveryAllowedFlag", - "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" - } - }, - "documentation": "Placeholder documentation for Scte35TimeSignalApos" - }, - "Scte35TimeSignalScheduleActionSettings": { - "type": "structure", - "members": { - "Scte35Descriptors": { - "shape": "__listOfScte35Descriptor", - "locationName": "scte35Descriptors", - "documentation": "The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal." - } - }, - "documentation": "SCTE-35 Time Signal Settings.", - "required": [ - "Scte35Descriptors" - ] - }, - "Scte35WebDeliveryAllowedFlag": { - "type": "string", - "documentation": "SCTE-35 segmentation_descriptor web_delivery_allowed_flag.", - "enum": [ - "WEB_DELIVERY_NOT_ALLOWED", - "WEB_DELIVERY_ALLOWED" - ] - }, - "SmoothGroupAudioOnlyTimecodeControl": { - "type": "string", - "enum": [ - "PASSTHROUGH", - "USE_CONFIGURED_CLOCK" - ], - "documentation": "Placeholder documentation for SmoothGroupAudioOnlyTimecodeControl" - }, - "SmoothGroupCertificateMode": { - "type": "string", - "enum": [ - "SELF_SIGNED", - "VERIFY_AUTHENTICITY" - ], - "documentation": "Placeholder documentation for SmoothGroupCertificateMode" - }, - "SmoothGroupEventIdMode": { - "type": "string", - "enum": [ - "NO_EVENT_ID", - "USE_CONFIGURED", - "USE_TIMESTAMP" - ], - "documentation": "Placeholder documentation for SmoothGroupEventIdMode" - }, - "SmoothGroupEventStopBehavior": { - "type": "string", - "enum": [ - "NONE", - "SEND_EOS" - ], - "documentation": "Placeholder documentation for SmoothGroupEventStopBehavior" - }, - "SmoothGroupSegmentationMode": { - "type": "string", - "enum": [ - "USE_INPUT_SEGMENTATION", - "USE_SEGMENT_DURATION" - ], - "documentation": "Placeholder documentation for SmoothGroupSegmentationMode" - }, - "SmoothGroupSparseTrackType": { - "type": "string", - "enum": [ - "NONE", - "SCTE_35" - ], - "documentation": "Placeholder documentation for SmoothGroupSparseTrackType" - }, - "SmoothGroupStreamManifestBehavior": { - "type": "string", - "enum": [ - "DO_NOT_SEND", - "SEND" - ], - "documentation": "Placeholder documentation for SmoothGroupStreamManifestBehavior" - }, - "SmoothGroupTimestampOffsetMode": { - "type": "string", - "enum": [ - "USE_CONFIGURED_OFFSET", - "USE_EVENT_START_DATE" - ], - "documentation": "Placeholder documentation for SmoothGroupTimestampOffsetMode" - }, - "SmpteTtDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for SmpteTtDestinationSettings" - }, - "StandardHlsSettings": { - "type": "structure", - "members": { - "AudioRenditionSets": { - "shape": "__string", - "locationName": "audioRenditionSets", - "documentation": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','." - }, - "M3u8Settings": { - "shape": "M3u8Settings", - "locationName": "m3u8Settings" - } - }, - "required": [ - "M3u8Settings" - ], - "documentation": "Placeholder documentation for StandardHlsSettings" - }, - "StartChannelRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "A request to start a channel" - } - }, - "required": [ - "ChannelId" - ], - "documentation": "Placeholder documentation for StartChannelRequest" - }, - "StartChannelResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for StartChannelResponse" - }, - "StaticImageActivateScheduleActionSettings": { - "type": "structure", - "members": { - "Duration": { - "shape": "__integerMin0", - "locationName": "duration", - "documentation": "The duration in milliseconds for the image to remain in the video. If omitted or set to 0, duration is infinite and image will remain until explicitly deactivated." - }, - "FadeIn": { - "shape": "__integerMin0", - "locationName": "fadeIn", - "documentation": "The time in milliseconds for the image to fade in. Defaults to 0." - }, - "FadeOut": { - "shape": "__integerMin0", - "locationName": "fadeOut", - "documentation": "The time in milliseconds for the image to fade out. Defaults to 0." - }, - "Height": { - "shape": "__integerMin1", - "locationName": "height", - "documentation": "The height of the image when inserted into the video. Defaults to the native height of the image." - }, - "Image": { - "shape": "InputLocation", - "locationName": "image", - "documentation": "The image to overlay on the video. Must be a 32 bit BMP, PNG, or TGA file. Must not be larger than the input video." - }, - "ImageX": { - "shape": "__integerMin0", - "locationName": "imageX", - "documentation": "Placement of the left edge of the image on the horizontal axis in pixels. 0 is the left edge of the frame. Defaults to 0." - }, - "ImageY": { - "shape": "__integerMin0", - "locationName": "imageY", - "documentation": "Placement of the top edge of the image on the vertical axis in pixels. 0 is the top edge of the frame. Defaults to 0." - }, - "Layer": { - "shape": "__integerMin0Max7", - "locationName": "layer", - "documentation": "The Z order of the inserted image. Images with higher layer values will be inserted on top of images with lower layer values. Permitted values are 0-7 inclusive. Defaults to 0." - }, - "Opacity": { - "shape": "__integerMin0Max100", - "locationName": "opacity", - "documentation": "Opacity of image where 0 is transparent and 100 is fully opaque. Defaults to 100." - }, - "Width": { - "shape": "__integerMin1", - "locationName": "width", - "documentation": "The width of the image when inserted into the video. Defaults to the native width of the image." - } - }, - "documentation": "Static image activate.", - "required": [ - "Image" - ] - }, - "StaticImageDeactivateScheduleActionSettings": { - "type": "structure", - "members": { - "FadeOut": { - "shape": "__integerMin0", - "locationName": "fadeOut", - "documentation": "The time in milliseconds for the image to fade out. Defaults to 0." - }, - "Layer": { - "shape": "__integerMin0Max7", - "locationName": "layer", - "documentation": "The Z order of the inserted image. Images with higher layer values will be inserted on top of images with lower layer values. Permitted values are 0-7 inclusive. Defaults to 0." - } - }, - "documentation": "Static image deactivate." - }, - "StaticKeySettings": { - "type": "structure", - "members": { - "KeyProviderServer": { - "shape": "InputLocation", - "locationName": "keyProviderServer", - "documentation": "The URL of the license server used for protecting content." - }, - "StaticKeyValue": { - "shape": "__stringMin32Max32", - "locationName": "staticKeyValue", - "documentation": "Static key value as a 32 character hexadecimal string." - } - }, - "required": [ - "StaticKeyValue" - ], - "documentation": "Placeholder documentation for StaticKeySettings" - }, - "StopChannelRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "A request to stop a running channel" - } - }, - "required": [ - "ChannelId" - ], - "documentation": "Placeholder documentation for StopChannelRequest" - }, - "StopChannelResponse": { - "type": "structure", - "members": { - "Arn": { - "shape": "__string", - "locationName": "arn", - "documentation": "The unique arn of the channel." - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" - }, - "EgressEndpoints": { - "shape": "__listOfChannelEgressEndpoint", - "locationName": "egressEndpoints", - "documentation": "The endpoints where outgoing connections initiate from" - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings" - }, - "Id": { - "shape": "__string", - "locationName": "id", - "documentation": "The unique id of the channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments", - "documentation": "List of input attachments for channel." - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level being written to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel. (user-mutable)" - }, - "PipelinesRunningCount": { - "shape": "__integer", - "locationName": "pipelinesRunningCount", - "documentation": "The number of currently healthy pipelines." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." - }, - "State": { - "shape": "ChannelState", - "locationName": "state" - } - }, - "documentation": "Placeholder documentation for StopChannelResponse" - }, - "TeletextDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for TeletextDestinationSettings" - }, - "TeletextSourceSettings": { - "type": "structure", - "members": { - "PageNumber": { - "shape": "__string", - "locationName": "pageNumber", - "documentation": "Specifies the teletext page number within the data stream from which to extract captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should be specified as a hexadecimal string with no \"0x\" prefix." - } - }, - "documentation": "Placeholder documentation for TeletextSourceSettings" - }, - "TimecodeConfig": { - "type": "structure", - "members": { - "Source": { - "shape": "TimecodeConfigSource", - "locationName": "source", - "documentation": "Identifies the source for the timecode that will be associated with the events outputs.\n-Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the system falls back to using \"Start at 0\" (zerobased).\n-System Clock (systemclock): Use the UTC time.\n-Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00." - }, - "SyncThreshold": { - "shape": "__integerMin1Max1000000", - "locationName": "syncThreshold", - "documentation": "Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified." - } - }, - "required": [ - "Source" - ], - "documentation": "Placeholder documentation for TimecodeConfig" - }, - "TimecodeConfigSource": { - "type": "string", - "enum": [ - "EMBEDDED", - "SYSTEMCLOCK", - "ZEROBASED" - ], - "documentation": "Placeholder documentation for TimecodeConfigSource" - }, - "TooManyRequestsException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - } - }, - "exception": true, - "error": { - "httpStatusCode": 429 - }, - "documentation": "Placeholder documentation for TooManyRequestsException" - }, - "TtmlDestinationSettings": { - "type": "structure", - "members": { - "StyleControl": { - "shape": "TtmlDestinationStyleControl", - "locationName": "styleControl", - "documentation": "When set to passthrough, passes through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output." - } - }, - "documentation": "Placeholder documentation for TtmlDestinationSettings" - }, - "TtmlDestinationStyleControl": { - "type": "string", - "enum": [ - "PASSTHROUGH", - "USE_CONFIGURED" - ], - "documentation": "Placeholder documentation for TtmlDestinationStyleControl" - }, - "UdpContainerSettings": { - "type": "structure", - "members": { - "M2tsSettings": { - "shape": "M2tsSettings", - "locationName": "m2tsSettings" - } - }, - "documentation": "Placeholder documentation for UdpContainerSettings" - }, - "UdpGroupSettings": { - "type": "structure", - "members": { - "InputLossAction": { - "shape": "InputLossActionForUdpOut", - "locationName": "inputLossAction", - "documentation": "Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video." - }, - "TimedMetadataId3Frame": { - "shape": "UdpTimedMetadataId3Frame", - "locationName": "timedMetadataId3Frame", - "documentation": "Indicates ID3 frame that has the timecode." - }, - "TimedMetadataId3Period": { - "shape": "__integerMin0", - "locationName": "timedMetadataId3Period", - "documentation": "Timed Metadata interval in seconds." - } - }, - "documentation": "Placeholder documentation for UdpGroupSettings" - }, - "UdpOutputSettings": { - "type": "structure", - "members": { - "BufferMsec": { - "shape": "__integerMin0Max10000", - "locationName": "bufferMsec", - "documentation": "UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc." - }, - "ContainerSettings": { - "shape": "UdpContainerSettings", - "locationName": "containerSettings" - }, - "Destination": { - "shape": "OutputLocationRef", - "locationName": "destination", - "documentation": "Destination address and port number for RTP or UDP packets. Can be unicast or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002)." - }, - "FecOutputSettings": { - "shape": "FecOutputSettings", - "locationName": "fecOutputSettings", - "documentation": "Settings for enabling and adjusting Forward Error Correction on UDP outputs." - } - }, - "required": [ - "Destination", - "ContainerSettings" - ], - "documentation": "Placeholder documentation for UdpOutputSettings" - }, - "UdpTimedMetadataId3Frame": { - "type": "string", - "enum": [ - "NONE", - "PRIV", - "TDRL" - ], - "documentation": "Placeholder documentation for UdpTimedMetadataId3Frame" - }, - "UnprocessableEntityException": { - "type": "structure", - "members": { - "Message": { - "shape": "__string", - "locationName": "message" - }, - "ValidationErrors": { - "shape": "__listOfValidationError", - "locationName": "validationErrors", - "documentation": "A collection of validation error responses." - } - }, - "exception": true, - "error": { - "httpStatusCode": 422 - }, - "documentation": "Placeholder documentation for UnprocessableEntityException" - }, - "UpdateChannel": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of output destinations for this channel." - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings", - "documentation": "The encoder settings for this channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments" - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification", - "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level to write to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed." - } - }, - "documentation": "Placeholder documentation for UpdateChannel" - }, - "UpdateChannelRequest": { - "type": "structure", - "members": { - "ChannelId": { - "shape": "__string", - "location": "uri", - "locationName": "channelId", - "documentation": "channel ID" - }, - "Destinations": { - "shape": "__listOfOutputDestination", - "locationName": "destinations", - "documentation": "A list of output destinations for this channel." - }, - "EncoderSettings": { - "shape": "EncoderSettings", - "locationName": "encoderSettings", - "documentation": "The encoder settings for this channel." - }, - "InputAttachments": { - "shape": "__listOfInputAttachment", - "locationName": "inputAttachments" - }, - "InputSpecification": { - "shape": "InputSpecification", - "locationName": "inputSpecification", - "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" - }, - "LogLevel": { - "shape": "LogLevel", - "locationName": "logLevel", - "documentation": "The log level to write to CloudWatch Logs." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of the channel." - }, - "RoleArn": { - "shape": "__string", - "locationName": "roleArn", - "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed." - } - }, - "documentation": "A request to update a channel.", - "required": [ - "ChannelId" - ] - }, - "UpdateChannelResponse": { - "type": "structure", - "members": { - "Channel": { - "shape": "Channel", - "locationName": "channel" - } - }, - "documentation": "Placeholder documentation for UpdateChannelResponse" - }, - "UpdateChannelResultModel": { - "type": "structure", - "members": { - "Channel": { - "shape": "Channel", - "locationName": "channel" - } - }, - "documentation": "The updated channel's description." - }, - "UpdateInput": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfInputDestinationRequest", - "locationName": "destinations", - "documentation": "Destination settings for PUSH type inputs." - }, - "InputSecurityGroups": { - "shape": "__listOf__string", - "locationName": "inputSecurityGroups", - "documentation": "A list of security groups referenced by IDs to attach to the input." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the input." - }, - "Sources": { - "shape": "__listOfInputSourceRequest", - "locationName": "sources", - "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" - } - }, - "documentation": "Placeholder documentation for UpdateInput" - }, - "UpdateInputRequest": { - "type": "structure", - "members": { - "Destinations": { - "shape": "__listOfInputDestinationRequest", - "locationName": "destinations", - "documentation": "Destination settings for PUSH type inputs." - }, - "InputId": { - "shape": "__string", - "location": "uri", - "locationName": "inputId", - "documentation": "Unique ID of the input." - }, - "InputSecurityGroups": { - "shape": "__listOf__string", - "locationName": "inputSecurityGroups", - "documentation": "A list of security groups referenced by IDs to attach to the input." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "Name of the input." - }, - "Sources": { - "shape": "__listOfInputSourceRequest", - "locationName": "sources", - "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" - } - }, - "documentation": "A request to update an input.", - "required": [ - "InputId" - ] - }, - "UpdateInputResponse": { - "type": "structure", - "members": { - "Input": { - "shape": "Input", - "locationName": "input" - } - }, - "documentation": "Placeholder documentation for UpdateInputResponse" - }, - "UpdateInputResultModel": { - "type": "structure", - "members": { - "Input": { - "shape": "Input", - "locationName": "input" - } - }, - "documentation": "Placeholder documentation for UpdateInputResultModel" - }, - "UpdateInputSecurityGroupRequest": { - "type": "structure", - "members": { - "InputSecurityGroupId": { - "shape": "__string", - "location": "uri", - "locationName": "inputSecurityGroupId", - "documentation": "The id of the Input Security Group to update." - }, - "WhitelistRules": { - "shape": "__listOfInputWhitelistRuleCidr", - "locationName": "whitelistRules", - "documentation": "List of IPv4 CIDR addresses to whitelist" - } - }, - "documentation": "The request to update some combination of the Input Security Group name and the IPv4 CIDRs the Input Security Group should allow.", - "required": [ - "InputSecurityGroupId" - ] - }, - "UpdateInputSecurityGroupResponse": { - "type": "structure", - "members": { - "SecurityGroup": { - "shape": "InputSecurityGroup", - "locationName": "securityGroup" - } - }, - "documentation": "Placeholder documentation for UpdateInputSecurityGroupResponse" - }, - "UpdateInputSecurityGroupResultModel": { - "type": "structure", - "members": { - "SecurityGroup": { - "shape": "InputSecurityGroup", - "locationName": "securityGroup" - } - }, - "documentation": "Placeholder documentation for UpdateInputSecurityGroupResultModel" - }, - "ValidationError": { - "type": "structure", - "members": { - "ElementPath": { - "shape": "__string", - "locationName": "elementPath" - }, - "ErrorMessage": { - "shape": "__string", - "locationName": "errorMessage" - } - }, - "documentation": "Placeholder documentation for ValidationError" - }, - "VideoCodecSettings": { - "type": "structure", - "members": { - "H264Settings": { - "shape": "H264Settings", - "locationName": "h264Settings" - } - }, - "documentation": "Placeholder documentation for VideoCodecSettings" - }, - "VideoDescription": { - "type": "structure", - "members": { - "CodecSettings": { - "shape": "VideoCodecSettings", - "locationName": "codecSettings", - "documentation": "Video codec settings." - }, - "Height": { - "shape": "__integer", - "locationName": "height", - "documentation": "Output video height (in pixels). Leave blank to use source video height. If left blank, width must also be unspecified." - }, - "Name": { - "shape": "__string", - "locationName": "name", - "documentation": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event." - }, - "RespondToAfd": { - "shape": "VideoDescriptionRespondToAfd", - "locationName": "respondToAfd", - "documentation": "Indicates how to respond to the AFD values in the input stream. Setting to \"respond\" causes input video to be clipped, depending on AFD value, input display aspect ratio and output display aspect ratio." - }, - "ScalingBehavior": { - "shape": "VideoDescriptionScalingBehavior", - "locationName": "scalingBehavior", - "documentation": "When set to \"stretchToOutput\", automatically configures the output position to stretch the video to the specified output resolution. This option will override any position value." - }, - "Sharpness": { - "shape": "__integerMin0Max100", - "locationName": "sharpness", - "documentation": "Changes the width of the anti-alias filter kernel used for scaling. Only applies if scaling is being performed and antiAlias is set to true. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." - }, - "Width": { - "shape": "__integer", - "locationName": "width", - "documentation": "Output video width (in pixels). Leave out to use source video width. If left out, height must also be left out. Display aspect ratio is always preserved by letterboxing or pillarboxing when necessary." - } - }, - "documentation": "Video settings for this stream.", - "required": [ - "Name" - ] - }, - "VideoDescriptionRespondToAfd": { - "type": "string", - "enum": [ - "NONE", - "PASSTHROUGH", - "RESPOND" - ], - "documentation": "Placeholder documentation for VideoDescriptionRespondToAfd" - }, - "VideoDescriptionScalingBehavior": { - "type": "string", - "enum": [ - "DEFAULT", - "STRETCH_TO_OUTPUT" - ], - "documentation": "Placeholder documentation for VideoDescriptionScalingBehavior" - }, - "VideoSelector": { - "type": "structure", - "members": { - "ColorSpace": { - "shape": "VideoSelectorColorSpace", - "locationName": "colorSpace", - "documentation": "Specifies the colorspace of an input. This setting works in tandem with colorSpaceConversion to determine if any conversion will be performed." - }, - "ColorSpaceUsage": { - "shape": "VideoSelectorColorSpaceUsage", - "locationName": "colorSpaceUsage", - "documentation": "Applies only if colorSpace is a value other than follow. This field controls how the value in the colorSpace field will be used. fallback means that when the input does include color space data, that data will be used, but when the input has no color space data, the value in colorSpace will be used. Choose fallback if your input is sometimes missing color space data, but when it does have color space data, that data is correct. force means to always use the value in colorSpace. Choose force if your input usually has no color space data or might have unreliable color space data." - }, - "SelectorSettings": { - "shape": "VideoSelectorSettings", - "locationName": "selectorSettings", - "documentation": "The video selector settings." - } - }, - "documentation": "Specifies a particular video stream within an input source. An input may have only a single video selector." - }, - "VideoSelectorColorSpace": { - "type": "string", - "enum": [ - "FOLLOW", - "REC_601", - "REC_709" - ], - "documentation": "Placeholder documentation for VideoSelectorColorSpace" - }, - "VideoSelectorColorSpaceUsage": { - "type": "string", - "enum": [ - "FALLBACK", - "FORCE" - ], - "documentation": "Placeholder documentation for VideoSelectorColorSpaceUsage" - }, - "VideoSelectorPid": { - "type": "structure", - "members": { - "Pid": { - "shape": "__integerMin0Max8191", - "locationName": "pid", - "documentation": "Selects a specific PID from within a video source." - } - }, - "documentation": "Placeholder documentation for VideoSelectorPid" - }, - "VideoSelectorProgramId": { - "type": "structure", - "members": { - "ProgramId": { - "shape": "__integerMin0Max65536", - "locationName": "programId", - "documentation": "Selects a specific program from within a multi-program transport stream. If the program doesn't exist, the first program within the transport stream will be selected by default." - } - }, - "documentation": "Placeholder documentation for VideoSelectorProgramId" - }, - "VideoSelectorSettings": { - "type": "structure", - "members": { - "VideoSelectorPid": { - "shape": "VideoSelectorPid", - "locationName": "videoSelectorPid" - }, - "VideoSelectorProgramId": { - "shape": "VideoSelectorProgramId", - "locationName": "videoSelectorProgramId" - } - }, - "documentation": "Placeholder documentation for VideoSelectorSettings" - }, - "WebvttDestinationSettings": { - "type": "structure", - "members": { - }, - "documentation": "Placeholder documentation for WebvttDestinationSettings" - }, - "__boolean": { - "type": "boolean", - "documentation": "Placeholder documentation for __boolean" - }, - "__double": { - "type": "double", - "documentation": "Placeholder documentation for __double" - }, - "__doubleMin0": { - "type": "double", - "documentation": "Placeholder documentation for __doubleMin0" - }, - "__doubleMin1": { - "type": "double", - "documentation": "Placeholder documentation for __doubleMin1" - }, - "__doubleMinNegative59Max0": { - "type": "double", - "documentation": "Placeholder documentation for __doubleMinNegative59Max0" - }, - "__integer": { - "type": "integer", - "documentation": "Placeholder documentation for __integer" - }, - "__integerMin0": { - "type": "integer", - "min": 0, - "documentation": "Placeholder documentation for __integerMin0" - }, - "__integerMin0Max10": { - "type": "integer", - "min": 0, - "max": 10, - "documentation": "Placeholder documentation for __integerMin0Max10" - }, - "__integerMin0Max100": { - "type": "integer", - "min": 0, - "max": 100, - "documentation": "Placeholder documentation for __integerMin0Max100" - }, - "__integerMin0Max1000": { - "type": "integer", - "min": 0, - "max": 1000, - "documentation": "Placeholder documentation for __integerMin0Max1000" - }, - "__integerMin0Max10000": { - "type": "integer", - "min": 0, - "max": 10000, - "documentation": "Placeholder documentation for __integerMin0Max10000" - }, - "__integerMin0Max1000000": { - "type": "integer", - "min": 0, - "max": 1000000, - "documentation": "Placeholder documentation for __integerMin0Max1000000" - }, - "__integerMin0Max1099511627775": { - "type": "long", - "min": 0, - "max": 1099511627775, - "documentation": "Unsigned 40-bit integer." - }, - "__integerMin0Max128": { - "type": "integer", - "min": 0, - "max": 128, - "documentation": "Placeholder documentation for __integerMin0Max128" - }, - "__integerMin0Max15": { - "type": "integer", - "min": 0, - "max": 15, - "documentation": "Placeholder documentation for __integerMin0Max15" - }, - "__integerMin0Max255": { - "type": "integer", - "min": 0, - "max": 255, - "documentation": "Placeholder documentation for __integerMin0Max255" - }, - "__integerMin0Max30": { - "type": "integer", - "min": 0, - "max": 30, - "documentation": "Placeholder documentation for __integerMin0Max30" - }, - "__integerMin0Max3600": { - "type": "integer", - "min": 0, - "max": 3600, - "documentation": "Placeholder documentation for __integerMin0Max3600" - }, - "__integerMin0Max4294967295": { - "type": "long", - "min": 0, - "max": 4294967295, - "documentation": "Unsigned 32-bit integer." - }, - "__integerMin0Max500": { - "type": "integer", - "min": 0, - "max": 500, - "documentation": "Placeholder documentation for __integerMin0Max500" - }, - "__integerMin0Max600": { - "type": "integer", - "min": 0, - "max": 600, - "documentation": "Placeholder documentation for __integerMin0Max600" - }, - "__integerMin0Max65535": { - "type": "integer", - "min": 0, - "max": 65535, - "documentation": "Placeholder documentation for __integerMin0Max65535" - }, - "__integerMin0Max65536": { - "type": "integer", - "min": 0, - "max": 65536, - "documentation": "Placeholder documentation for __integerMin0Max65536" - }, - "__integerMin0Max7": { - "type": "integer", - "min": 0, - "max": 7, - "documentation": "Placeholder documentation for __integerMin0Max7" - }, - "__integerMin0Max8191": { - "type": "integer", - "min": 0, - "max": 8191, - "documentation": "Placeholder documentation for __integerMin0Max8191" - }, - "__integerMin0Max8589934591": { - "type": "long", - "min": 0, - "max": 8589934591, - "documentation": "Unsigned 33-bit integer." - }, - "__integerMin1": { - "type": "integer", - "min": 1, - "documentation": "Placeholder documentation for __integerMin1" - }, - "__integerMin1000": { - "type": "integer", - "min": 1000, - "documentation": "Placeholder documentation for __integerMin1000" - }, - "__integerMin1000Max30000": { - "type": "integer", - "min": 1000, - "max": 30000, - "documentation": "Placeholder documentation for __integerMin1000Max30000" - }, - "__integerMin1Max1000000": { - "type": "integer", - "min": 1, - "max": 1000000, - "documentation": "Placeholder documentation for __integerMin1Max1000000" - }, - "__integerMin1Max16": { - "type": "integer", - "min": 1, - "max": 16, - "documentation": "Placeholder documentation for __integerMin1Max16" - }, - "__integerMin1Max20": { - "type": "integer", - "min": 1, - "max": 20, - "documentation": "Placeholder documentation for __integerMin1Max20" - }, - "__integerMin1Max31": { - "type": "integer", - "min": 1, - "max": 31, - "documentation": "Placeholder documentation for __integerMin1Max31" - }, - "__integerMin1Max32": { - "type": "integer", - "min": 1, - "max": 32, - "documentation": "Placeholder documentation for __integerMin1Max32" - }, - "__integerMin1Max4": { - "type": "integer", - "min": 1, - "max": 4, - "documentation": "Placeholder documentation for __integerMin1Max4" - }, - "__integerMin1Max5": { - "type": "integer", - "min": 1, - "max": 5, - "documentation": "Placeholder documentation for __integerMin1Max5" - }, - "__integerMin1Max6": { - "type": "integer", - "min": 1, - "max": 6, - "documentation": "Placeholder documentation for __integerMin1Max6" - }, - "__integerMin1Max8": { - "type": "integer", - "min": 1, - "max": 8, - "documentation": "Placeholder documentation for __integerMin1Max8" - }, - "__integerMin25Max10000": { - "type": "integer", - "min": 25, - "max": 10000, - "documentation": "Placeholder documentation for __integerMin25Max10000" - }, - "__integerMin25Max2000": { - "type": "integer", - "min": 25, - "max": 2000, - "documentation": "Placeholder documentation for __integerMin25Max2000" - }, - "__integerMin3": { - "type": "integer", - "min": 3, - "documentation": "Placeholder documentation for __integerMin3" - }, - "__integerMin30": { - "type": "integer", - "min": 30, - "documentation": "Placeholder documentation for __integerMin30" - }, - "__integerMin4Max20": { - "type": "integer", - "min": 4, - "max": 20, - "documentation": "Placeholder documentation for __integerMin4Max20" - }, - "__integerMin96Max600": { - "type": "integer", - "min": 96, - "max": 600, - "documentation": "Placeholder documentation for __integerMin96Max600" - }, - "__integerMinNegative1000Max1000": { - "type": "integer", - "min": -1000, - "max": 1000, - "documentation": "Placeholder documentation for __integerMinNegative1000Max1000" - }, - "__integerMinNegative60Max6": { - "type": "integer", - "min": -60, - "max": 6, - "documentation": "Placeholder documentation for __integerMinNegative60Max6" - }, - "__integerMinNegative60Max60": { - "type": "integer", - "min": -60, - "max": 60, - "documentation": "Placeholder documentation for __integerMinNegative60Max60" - }, - "__listOfAudioChannelMapping": { - "type": "list", - "member": { - "shape": "AudioChannelMapping" - }, - "documentation": "Placeholder documentation for __listOfAudioChannelMapping" - }, - "__listOfAudioDescription": { - "type": "list", - "member": { - "shape": "AudioDescription" - }, - "documentation": "Placeholder documentation for __listOfAudioDescription" - }, - "__listOfAudioSelector": { - "type": "list", - "member": { - "shape": "AudioSelector" - }, - "documentation": "Placeholder documentation for __listOfAudioSelector" - }, - "__listOfCaptionDescription": { - "type": "list", - "member": { - "shape": "CaptionDescription" - }, - "documentation": "Placeholder documentation for __listOfCaptionDescription" - }, - "__listOfCaptionLanguageMapping": { - "type": "list", - "member": { - "shape": "CaptionLanguageMapping" - }, - "documentation": "Placeholder documentation for __listOfCaptionLanguageMapping" - }, - "__listOfCaptionSelector": { - "type": "list", - "member": { - "shape": "CaptionSelector" - }, - "documentation": "Placeholder documentation for __listOfCaptionSelector" - }, - "__listOfChannelEgressEndpoint": { - "type": "list", - "member": { - "shape": "ChannelEgressEndpoint" - }, - "documentation": "Placeholder documentation for __listOfChannelEgressEndpoint" - }, - "__listOfChannelSummary": { - "type": "list", - "member": { - "shape": "ChannelSummary" - }, - "documentation": "Placeholder documentation for __listOfChannelSummary" - }, - "__listOfHlsAdMarkers": { - "type": "list", - "member": { - "shape": "HlsAdMarkers" - }, - "documentation": "Placeholder documentation for __listOfHlsAdMarkers" - }, - "__listOfInput": { - "type": "list", - "member": { - "shape": "Input" - }, - "documentation": "Placeholder documentation for __listOfInput" - }, - "__listOfInputAttachment": { - "type": "list", - "member": { - "shape": "InputAttachment" - }, - "documentation": "Placeholder documentation for __listOfInputAttachment" - }, - "__listOfInputChannelLevel": { - "type": "list", - "member": { - "shape": "InputChannelLevel" - }, - "documentation": "Placeholder documentation for __listOfInputChannelLevel" - }, - "__listOfInputDestination": { - "type": "list", - "member": { - "shape": "InputDestination" - }, - "documentation": "Placeholder documentation for __listOfInputDestination" - }, - "__listOfInputDestinationRequest": { - "type": "list", - "member": { - "shape": "InputDestinationRequest" - }, - "documentation": "Placeholder documentation for __listOfInputDestinationRequest" - }, - "__listOfInputSecurityGroup": { - "type": "list", - "member": { - "shape": "InputSecurityGroup" - }, - "documentation": "Placeholder documentation for __listOfInputSecurityGroup" - }, - "__listOfInputSource": { - "type": "list", - "member": { - "shape": "InputSource" - }, - "documentation": "Placeholder documentation for __listOfInputSource" - }, - "__listOfInputSourceRequest": { - "type": "list", - "member": { - "shape": "InputSourceRequest" - }, - "documentation": "Placeholder documentation for __listOfInputSourceRequest" - }, - "__listOfInputWhitelistRule": { - "type": "list", - "member": { - "shape": "InputWhitelistRule" - }, - "documentation": "Placeholder documentation for __listOfInputWhitelistRule" - }, - "__listOfInputWhitelistRuleCidr": { - "type": "list", - "member": { - "shape": "InputWhitelistRuleCidr" - }, - "documentation": "Placeholder documentation for __listOfInputWhitelistRuleCidr" - }, - "__listOfOffering": { - "type": "list", - "member": { - "shape": "Offering" - }, - "documentation": "Placeholder documentation for __listOfOffering" - }, - "__listOfOutput": { - "type": "list", - "member": { - "shape": "Output" - }, - "documentation": "Placeholder documentation for __listOfOutput" - }, - "__listOfOutputDestination": { - "type": "list", - "member": { - "shape": "OutputDestination" - }, - "documentation": "Placeholder documentation for __listOfOutputDestination" - }, - "__listOfOutputDestinationSettings": { - "type": "list", - "member": { - "shape": "OutputDestinationSettings" - }, - "documentation": "Placeholder documentation for __listOfOutputDestinationSettings" - }, - "__listOfOutputGroup": { - "type": "list", - "member": { - "shape": "OutputGroup" - }, - "documentation": "Placeholder documentation for __listOfOutputGroup" - }, - "__listOfReservation": { - "type": "list", - "member": { - "shape": "Reservation" - }, - "documentation": "Placeholder documentation for __listOfReservation" - }, - "__listOfScheduleAction": { - "type": "list", - "member": { - "shape": "ScheduleAction" - }, - "documentation": "The list of schedule actions." - }, - "__listOfScte35Descriptor": { - "type": "list", - "member": { - "shape": "Scte35Descriptor" - }, - "documentation": "List of Scte35 descriptors" - }, - "__listOfValidationError": { - "type": "list", - "member": { - "shape": "ValidationError" - }, - "documentation": "Placeholder documentation for __listOfValidationError" - }, - "__listOfVideoDescription": { - "type": "list", - "member": { - "shape": "VideoDescription" - }, - "documentation": "Placeholder documentation for __listOfVideoDescription" - }, - "__listOf__string": { - "type": "list", - "member": { - "shape": "__string" - }, - "documentation": "Placeholder documentation for __listOf__string" - }, - "__long": { - "type": "long", - "documentation": "Placeholder documentation for __long" - }, - "__string": { - "type": "string", - "documentation": "Placeholder documentation for __string" - }, - "__stringMax32": { - "type": "string", - "max": 32, - "documentation": "Placeholder documentation for __stringMax32" - }, - "__stringMin1": { - "type": "string", - "min": 1, - "documentation": "Placeholder documentation for __stringMin1" - }, - "__stringMin1Max255": { - "type": "string", - "min": 1, - "max": 255, - "documentation": "Placeholder documentation for __stringMin1Max255" - }, - "__stringMin1Max256": { - "type": "string", - "min": 1, - "max": 256, - "documentation": "Placeholder documentation for __stringMin1Max256" - }, - "__stringMin32Max32": { - "type": "string", - "min": 32, - "max": 32, - "documentation": "Placeholder documentation for __stringMin32Max32" - }, - "__stringMin34Max34": { - "type": "string", - "min": 34, - "max": 34, - "documentation": "Placeholder documentation for __stringMin34Max34" - }, - "__stringMin3Max3": { - "type": "string", - "min": 3, - "max": 3, - "documentation": "Placeholder documentation for __stringMin3Max3" - }, - "__stringMin6Max6": { - "type": "string", - "min": 6, - "max": 6, - "documentation": "Placeholder documentation for __stringMin6Max6" - } - }, - "documentation": "API for AWS Elemental MediaLive" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/paginators-1.json deleted file mode 100644 index 34eaef1e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "ListChannels": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Channels" - }, - "ListOriginEndpoints": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "OriginEndpoints" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/service-2.json deleted file mode 100644 index 263ad560..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediapackage/2017-10-12/service-2.json +++ /dev/null @@ -1,1995 +0,0 @@ -{ - "documentation": "AWS Elemental MediaPackage", - "metadata": { - "apiVersion": "2017-10-12", - "endpointPrefix": "mediapackage", - "jsonVersion": "1.1", - "protocol": "rest-json", - "serviceAbbreviation": "MediaPackage", - "serviceFullName": "AWS Elemental MediaPackage", - "serviceId": "MediaPackage", - "signatureVersion": "v4", - "signingName": "mediapackage", - "uid": "mediapackage-2017-10-12" - }, - "operations": { - "CreateChannel": { - "documentation": "Creates a new Channel.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "POST", - "requestUri": "/channels", - "responseCode": 200 - }, - "input": { - "shape": "CreateChannelRequest" - }, - "name": "CreateChannel", - "output": { - "documentation": "The new Channel record.", - "shape": "CreateChannelResponse" - } - }, - "CreateOriginEndpoint": { - "documentation": "Creates a new OriginEndpoint record.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "POST", - "requestUri": "/origin_endpoints", - "responseCode": 200 - }, - "input": { - "shape": "CreateOriginEndpointRequest" - }, - "name": "CreateOriginEndpoint", - "output": { - "documentation": "A new OriginEndpoint record.", - "shape": "CreateOriginEndpointResponse" - } - }, - "DeleteChannel": { - "documentation": "Deletes an existing Channel.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "DELETE", - "requestUri": "/channels/{id}", - "responseCode": 202 - }, - "input": { - "shape": "DeleteChannelRequest" - }, - "name": "DeleteChannel", - "output": { - "documentation": "The Channel has been deleted.", - "shape": "DeleteChannelResponse" - } - }, - "DeleteOriginEndpoint": { - "documentation": "Deletes an existing OriginEndpoint.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "DELETE", - "requestUri": "/origin_endpoints/{id}", - "responseCode": 202 - }, - "input": { - "shape": "DeleteOriginEndpointRequest" - }, - "name": "DeleteOriginEndpoint", - "output": { - "documentation": "The OriginEndpoint has been deleted.", - "shape": "DeleteOriginEndpointResponse" - } - }, - "DescribeChannel": { - "documentation": "Gets details about a Channel.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "GET", - "requestUri": "/channels/{id}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeChannelRequest" - }, - "name": "DescribeChannel", - "output": { - "documentation": "A Channel record.", - "shape": "DescribeChannelResponse" - } - }, - "DescribeOriginEndpoint": { - "documentation": "Gets details about an existing OriginEndpoint.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "GET", - "requestUri": "/origin_endpoints/{id}", - "responseCode": 200 - }, - "input": { - "shape": "DescribeOriginEndpointRequest" - }, - "name": "DescribeOriginEndpoint", - "output": { - "documentation": "An OriginEndpoint record.", - "shape": "DescribeOriginEndpointResponse" - } - }, - "ListChannels": { - "documentation": "Returns a collection of Channels.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "GET", - "requestUri": "/channels", - "responseCode": 200 - }, - "input": { - "shape": "ListChannelsRequest" - }, - "name": "ListChannels", - "output": { - "documentation": "A collection of Channel records.", - "shape": "ListChannelsResponse" - } - }, - "ListOriginEndpoints": { - "documentation": "Returns a collection of OriginEndpoint records.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "GET", - "requestUri": "/origin_endpoints", - "responseCode": 200 - }, - "input": { - "shape": "ListOriginEndpointsRequest" - }, - "name": "ListOriginEndpoints", - "output": { - "documentation": "A collection of OriginEndpoint records.", - "shape": "ListOriginEndpointsResponse" - } - }, - "RotateChannelCredentials": { - "deprecated": true, - "deprecatedMessage": "This API is deprecated. Please use RotateIngestEndpointCredentials instead", - "documentation": "Changes the Channel's first IngestEndpoint's username and password. WARNING - This API is deprecated. Please use RotateIngestEndpointCredentials instead", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "PUT", - "requestUri": "/channels/{id}/credentials", - "responseCode": 200 - }, - "input": { - "shape": "RotateChannelCredentialsRequest" - }, - "name": "RotateChannelCredentials", - "output": { - "documentation": "The updated Channel record.", - "shape": "RotateChannelCredentialsResponse" - } - }, - "RotateIngestEndpointCredentials": { - "documentation": "Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's id.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "PUT", - "requestUri": "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials", - "responseCode": 200 - }, - "input": { - "shape": "RotateIngestEndpointCredentialsRequest" - }, - "name": "RotateIngestEndpointCredentials", - "output": { - "documentation": "The updated Channel record.", - "shape": "RotateIngestEndpointCredentialsResponse" - } - }, - "UpdateChannel": { - "documentation": "Updates an existing Channel.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "PUT", - "requestUri": "/channels/{id}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateChannelRequest" - }, - "name": "UpdateChannel", - "output": { - "documentation": "The updated Channel record.", - "shape": "UpdateChannelResponse" - } - }, - "UpdateOriginEndpoint": { - "documentation": "Updates an existing OriginEndpoint.", - "errors": [ - { - "shape": "UnprocessableEntityException" - }, - { - "shape": "InternalServerErrorException" - }, - { - "shape": "ForbiddenException" - }, - { - "shape": "NotFoundException" - }, - { - "shape": "ServiceUnavailableException" - }, - { - "shape": "TooManyRequestsException" - } - ], - "http": { - "method": "PUT", - "requestUri": "/origin_endpoints/{id}", - "responseCode": 200 - }, - "input": { - "shape": "UpdateOriginEndpointRequest" - }, - "name": "UpdateOriginEndpoint", - "output": { - "documentation": "An updated OriginEndpoint record.", - "shape": "UpdateOriginEndpointResponse" - } - } - }, - "shapes": { - "AdMarkers": { - "enum": [ - "NONE", - "SCTE35_ENHANCED", - "PASSTHROUGH" - ], - "type": "string" - }, - "Channel": { - "documentation": "A Channel resource configuration.", - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "ChannelCreateParameters": { - "documentation": "Configuration parameters for a new Channel.", - "members": { - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "Id": { - "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "ChannelList": { - "documentation": "A collection of Channel records.", - "members": { - "Channels": { - "documentation": "A list of Channel records.", - "locationName": "channels", - "shape": "__listOfChannel" - }, - "NextToken": { - "documentation": "A token that can be used to resume pagination from the end of the collection.", - "locationName": "nextToken", - "shape": "__string" - } - }, - "type": "structure" - }, - "ChannelUpdateParameters": { - "documentation": "Configuration parameters for updating an existing Channel.", - "members": { - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - } - }, - "type": "structure" - }, - "CmafEncryption": { - "documentation": "A Common Media Application Format (CMAF) encryption configuration.", - "members": { - "KeyRotationIntervalSeconds": { - "documentation": "Time (in seconds) between each encryption key rotation.", - "locationName": "keyRotationIntervalSeconds", - "shape": "__integer" - }, - "SpekeKeyProvider": { - "locationName": "spekeKeyProvider", - "shape": "SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "structure" - }, - "CmafPackage": { - "documentation": "A Common Media Application Format (CMAF) packaging configuration.", - "members": { - "Encryption": { - "locationName": "encryption", - "shape": "CmafEncryption" - }, - "HlsManifests": { - "documentation": "A list of HLS manifest configurations", - "locationName": "hlsManifests", - "shape": "__listOfHlsManifest" - }, - "SegmentDurationSeconds": { - "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", - "locationName": "segmentDurationSeconds", - "shape": "__integer" - }, - "SegmentPrefix": { - "documentation": "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", - "locationName": "segmentPrefix", - "shape": "__string" - }, - "StreamSelection": { - "locationName": "streamSelection", - "shape": "StreamSelection" - } - }, - "type": "structure" - }, - "CmafPackageCreateOrUpdateParameters": { - "documentation": "A Common Media Application Format (CMAF) packaging configuration.", - "members": { - "Encryption": { - "locationName": "encryption", - "shape": "CmafEncryption" - }, - "HlsManifests": { - "documentation": "A list of HLS manifest configurations", - "locationName": "hlsManifests", - "shape": "__listOfHlsManifestCreateOrUpdateParameters" - }, - "SegmentDurationSeconds": { - "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", - "locationName": "segmentDurationSeconds", - "shape": "__integer" - }, - "SegmentPrefix": { - "documentation": "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", - "locationName": "segmentPrefix", - "shape": "__string" - }, - "StreamSelection": { - "locationName": "streamSelection", - "shape": "StreamSelection" - } - }, - "type": "structure" - }, - "CreateChannelRequest": { - "documentation": "A new Channel configuration.", - "members": { - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "Id": { - "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "CreateChannelResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "CreateOriginEndpointRequest": { - "documentation": "Configuration parameters used to create a new OriginEndpoint.", - "members": { - "ChannelId": { - "documentation": "The ID of the Channel that the OriginEndpoint will be associated with.\nThis cannot be changed after the OriginEndpoint is created.\n", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackageCreateOrUpdateParameters" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint. The ID must be unique within the region\nand it cannot be changed after the OriginEndpoint is created.\n", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string that will be used as the filename of the OriginEndpoint URL (defaults to \"index\").", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "required": [ - "ChannelId", - "Id" - ], - "type": "structure" - }, - "CreateOriginEndpointResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", - "locationName": "arn", - "shape": "__string" - }, - "ChannelId": { - "documentation": "The ID of the Channel the OriginEndpoint is associated with.", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackage" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint.", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string appended to the end of the OriginEndpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Url": { - "documentation": "The URL of the packaged OriginEndpoint for consumption.", - "locationName": "url", - "shape": "__string" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "type": "structure" - }, - "DashEncryption": { - "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", - "members": { - "KeyRotationIntervalSeconds": { - "documentation": "Time (in seconds) between each encryption key rotation.", - "locationName": "keyRotationIntervalSeconds", - "shape": "__integer" - }, - "SpekeKeyProvider": { - "locationName": "spekeKeyProvider", - "shape": "SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "structure" - }, - "DashPackage": { - "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", - "members": { - "Encryption": { - "locationName": "encryption", - "shape": "DashEncryption" - }, - "ManifestWindowSeconds": { - "documentation": "Time window (in seconds) contained in each manifest.", - "locationName": "manifestWindowSeconds", - "shape": "__integer" - }, - "MinBufferTimeSeconds": { - "documentation": "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", - "locationName": "minBufferTimeSeconds", - "shape": "__integer" - }, - "MinUpdatePeriodSeconds": { - "documentation": "Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).", - "locationName": "minUpdatePeriodSeconds", - "shape": "__integer" - }, - "PeriodTriggers": { - "documentation": "A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH)\nMedia Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not\nbe partitioned into more than one period. If the list contains \"ADS\", new periods will be created where\nthe Channel source contains SCTE-35 ad markers.\n", - "locationName": "periodTriggers", - "shape": "__listOf__PeriodTriggersElement" - }, - "Profile": { - "documentation": "The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to \"HBBTV_1_5\", HbbTV 1.5 compliant output is enabled.", - "locationName": "profile", - "shape": "Profile" - }, - "SegmentDurationSeconds": { - "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", - "locationName": "segmentDurationSeconds", - "shape": "__integer" - }, - "StreamSelection": { - "locationName": "streamSelection", - "shape": "StreamSelection" - }, - "SuggestedPresentationDelaySeconds": { - "documentation": "Duration (in seconds) to delay live content before presentation.", - "locationName": "suggestedPresentationDelaySeconds", - "shape": "__integer" - } - }, - "type": "structure" - }, - "DeleteChannelRequest": { - "members": { - "Id": { - "documentation": "The ID of the Channel to delete.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "DeleteChannelResponse": { - "members": {}, - "type": "structure" - }, - "DeleteOriginEndpointRequest": { - "members": { - "Id": { - "documentation": "The ID of the OriginEndpoint to delete.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "DeleteOriginEndpointResponse": { - "members": {}, - "type": "structure" - }, - "DescribeChannelRequest": { - "members": { - "Id": { - "documentation": "The ID of a Channel.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "DescribeChannelResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "DescribeOriginEndpointRequest": { - "members": { - "Id": { - "documentation": "The ID of the OriginEndpoint.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "DescribeOriginEndpointResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", - "locationName": "arn", - "shape": "__string" - }, - "ChannelId": { - "documentation": "The ID of the Channel the OriginEndpoint is associated with.", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackage" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint.", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string appended to the end of the OriginEndpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Url": { - "documentation": "The URL of the packaged OriginEndpoint for consumption.", - "locationName": "url", - "shape": "__string" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "type": "structure" - }, - "EncryptionMethod": { - "enum": [ - "AES_128", - "SAMPLE_AES" - ], - "type": "string" - }, - "ForbiddenException": { - "documentation": "The client is not authorized to access the requested resource.", - "error": { - "httpStatusCode": 403 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "HlsEncryption": { - "documentation": "An HTTP Live Streaming (HLS) encryption configuration.", - "members": { - "ConstantInitializationVector": { - "documentation": "A constant initialization vector for encryption (optional).\nWhen not specified the initialization vector will be periodically rotated.\n", - "locationName": "constantInitializationVector", - "shape": "__string" - }, - "EncryptionMethod": { - "documentation": "The encryption method to use.", - "locationName": "encryptionMethod", - "shape": "EncryptionMethod" - }, - "KeyRotationIntervalSeconds": { - "documentation": "Interval (in seconds) between each encryption key rotation.", - "locationName": "keyRotationIntervalSeconds", - "shape": "__integer" - }, - "RepeatExtXKey": { - "documentation": "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", - "locationName": "repeatExtXKey", - "shape": "__boolean" - }, - "SpekeKeyProvider": { - "locationName": "spekeKeyProvider", - "shape": "SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "structure" - }, - "HlsIngest": { - "documentation": "An HTTP Live Streaming (HLS) ingest resource configuration.", - "members": { - "IngestEndpoints": { - "documentation": "A list of endpoints to which the source stream should be sent.", - "locationName": "ingestEndpoints", - "shape": "__listOfIngestEndpoint" - } - }, - "type": "structure" - }, - "HlsManifest": { - "documentation": "A HTTP Live Streaming (HLS) manifest configuration.", - "members": { - "AdMarkers": { - "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", - "locationName": "adMarkers", - "shape": "AdMarkers" - }, - "Id": { - "documentation": "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", - "locationName": "id", - "shape": "__string" - }, - "IncludeIframeOnlyStream": { - "documentation": "When enabled, an I-Frame only stream will be included in the output.", - "locationName": "includeIframeOnlyStream", - "shape": "__boolean" - }, - "ManifestName": { - "documentation": "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", - "locationName": "manifestName", - "shape": "__string" - }, - "PlaylistType": { - "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", - "locationName": "playlistType", - "shape": "PlaylistType" - }, - "PlaylistWindowSeconds": { - "documentation": "Time window (in seconds) contained in each parent manifest.", - "locationName": "playlistWindowSeconds", - "shape": "__integer" - }, - "ProgramDateTimeIntervalSeconds": { - "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", - "locationName": "programDateTimeIntervalSeconds", - "shape": "__integer" - }, - "Url": { - "documentation": "The URL of the packaged OriginEndpoint for consumption.", - "locationName": "url", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "HlsManifestCreateOrUpdateParameters": { - "documentation": "A HTTP Live Streaming (HLS) manifest configuration.", - "members": { - "AdMarkers": { - "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", - "locationName": "adMarkers", - "shape": "AdMarkers" - }, - "Id": { - "documentation": "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", - "locationName": "id", - "shape": "__string" - }, - "IncludeIframeOnlyStream": { - "documentation": "When enabled, an I-Frame only stream will be included in the output.", - "locationName": "includeIframeOnlyStream", - "shape": "__boolean" - }, - "ManifestName": { - "documentation": "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", - "locationName": "manifestName", - "shape": "__string" - }, - "PlaylistType": { - "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", - "locationName": "playlistType", - "shape": "PlaylistType" - }, - "PlaylistWindowSeconds": { - "documentation": "Time window (in seconds) contained in each parent manifest.", - "locationName": "playlistWindowSeconds", - "shape": "__integer" - }, - "ProgramDateTimeIntervalSeconds": { - "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", - "locationName": "programDateTimeIntervalSeconds", - "shape": "__integer" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "HlsPackage": { - "documentation": "An HTTP Live Streaming (HLS) packaging configuration.", - "members": { - "AdMarkers": { - "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", - "locationName": "adMarkers", - "shape": "AdMarkers" - }, - "Encryption": { - "locationName": "encryption", - "shape": "HlsEncryption" - }, - "IncludeIframeOnlyStream": { - "documentation": "When enabled, an I-Frame only stream will be included in the output.", - "locationName": "includeIframeOnlyStream", - "shape": "__boolean" - }, - "PlaylistType": { - "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", - "locationName": "playlistType", - "shape": "PlaylistType" - }, - "PlaylistWindowSeconds": { - "documentation": "Time window (in seconds) contained in each parent manifest.", - "locationName": "playlistWindowSeconds", - "shape": "__integer" - }, - "ProgramDateTimeIntervalSeconds": { - "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", - "locationName": "programDateTimeIntervalSeconds", - "shape": "__integer" - }, - "SegmentDurationSeconds": { - "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", - "locationName": "segmentDurationSeconds", - "shape": "__integer" - }, - "StreamSelection": { - "locationName": "streamSelection", - "shape": "StreamSelection" - }, - "UseAudioRenditionGroup": { - "documentation": "When enabled, audio streams will be placed in rendition groups in the output.", - "locationName": "useAudioRenditionGroup", - "shape": "__boolean" - } - }, - "type": "structure" - }, - "IngestEndpoint": { - "documentation": "An endpoint for ingesting source content for a Channel.", - "members": { - "Id": { - "documentation": "The system generated unique identifier for the IngestEndpoint", - "locationName": "id", - "shape": "__string" - }, - "Password": { - "documentation": "The system generated password for ingest authentication.", - "locationName": "password", - "shape": "__string" - }, - "Url": { - "documentation": "The ingest URL to which the source stream should be sent.", - "locationName": "url", - "shape": "__string" - }, - "Username": { - "documentation": "The system generated username for ingest authentication.", - "locationName": "username", - "shape": "__string" - } - }, - "type": "structure" - }, - "InternalServerErrorException": { - "documentation": "An unexpected error occurred.", - "error": { - "httpStatusCode": 500 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "ListChannelsRequest": { - "members": { - "MaxResults": { - "documentation": "Upper bound on number of records to return.", - "location": "querystring", - "locationName": "maxResults", - "shape": "MaxResults" - }, - "NextToken": { - "documentation": "A token used to resume pagination from the end of a previous request.", - "location": "querystring", - "locationName": "nextToken", - "shape": "__string" - } - }, - "type": "structure" - }, - "ListChannelsResponse": { - "members": { - "Channels": { - "documentation": "A list of Channel records.", - "locationName": "channels", - "shape": "__listOfChannel" - }, - "NextToken": { - "documentation": "A token that can be used to resume pagination from the end of the collection.", - "locationName": "nextToken", - "shape": "__string" - } - }, - "type": "structure" - }, - "ListOriginEndpointsRequest": { - "members": { - "ChannelId": { - "documentation": "When specified, the request will return only OriginEndpoints associated with the given Channel ID.", - "location": "querystring", - "locationName": "channelId", - "shape": "__string" - }, - "MaxResults": { - "documentation": "The upper bound on the number of records to return.", - "location": "querystring", - "locationName": "maxResults", - "shape": "MaxResults" - }, - "NextToken": { - "documentation": "A token used to resume pagination from the end of a previous request.", - "location": "querystring", - "locationName": "nextToken", - "shape": "__string" - } - }, - "type": "structure" - }, - "ListOriginEndpointsResponse": { - "members": { - "NextToken": { - "documentation": "A token that can be used to resume pagination from the end of the collection.", - "locationName": "nextToken", - "shape": "__string" - }, - "OriginEndpoints": { - "documentation": "A list of OriginEndpoint records.", - "locationName": "originEndpoints", - "shape": "__listOfOriginEndpoint" - } - }, - "type": "structure" - }, - "MaxResults": { - "max": 1000, - "min": 1, - "type": "integer" - }, - "MssEncryption": { - "documentation": "A Microsoft Smooth Streaming (MSS) encryption configuration.", - "members": { - "SpekeKeyProvider": { - "locationName": "spekeKeyProvider", - "shape": "SpekeKeyProvider" - } - }, - "required": [ - "SpekeKeyProvider" - ], - "type": "structure" - }, - "MssPackage": { - "documentation": "A Microsoft Smooth Streaming (MSS) packaging configuration.", - "members": { - "Encryption": { - "locationName": "encryption", - "shape": "MssEncryption" - }, - "ManifestWindowSeconds": { - "documentation": "The time window (in seconds) contained in each manifest.", - "locationName": "manifestWindowSeconds", - "shape": "__integer" - }, - "SegmentDurationSeconds": { - "documentation": "The duration (in seconds) of each segment.", - "locationName": "segmentDurationSeconds", - "shape": "__integer" - }, - "StreamSelection": { - "locationName": "streamSelection", - "shape": "StreamSelection" - } - }, - "type": "structure" - }, - "NotFoundException": { - "documentation": "The requested resource does not exist.", - "error": { - "httpStatusCode": 404 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "OriginEndpoint": { - "documentation": "An OriginEndpoint resource configuration.", - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", - "locationName": "arn", - "shape": "__string" - }, - "ChannelId": { - "documentation": "The ID of the Channel the OriginEndpoint is associated with.", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackage" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint.", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string appended to the end of the OriginEndpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Url": { - "documentation": "The URL of the packaged OriginEndpoint for consumption.", - "locationName": "url", - "shape": "__string" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "type": "structure" - }, - "OriginEndpointCreateParameters": { - "documentation": "Configuration parameters for a new OriginEndpoint.", - "members": { - "ChannelId": { - "documentation": "The ID of the Channel that the OriginEndpoint will be associated with.\nThis cannot be changed after the OriginEndpoint is created.\n", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackageCreateOrUpdateParameters" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint. The ID must be unique within the region\nand it cannot be changed after the OriginEndpoint is created.\n", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string that will be used as the filename of the OriginEndpoint URL (defaults to \"index\").", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "required": [ - "Id", - "ChannelId" - ], - "type": "structure" - }, - "OriginEndpointList": { - "documentation": "A collection of OriginEndpoint records.", - "members": { - "NextToken": { - "documentation": "A token that can be used to resume pagination from the end of the collection.", - "locationName": "nextToken", - "shape": "__string" - }, - "OriginEndpoints": { - "documentation": "A list of OriginEndpoint records.", - "locationName": "originEndpoints", - "shape": "__listOfOriginEndpoint" - } - }, - "type": "structure" - }, - "OriginEndpointUpdateParameters": { - "documentation": "Configuration parameters for updating an existing OriginEndpoint.", - "members": { - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackageCreateOrUpdateParameters" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "ManifestName": { - "documentation": "A short string that will be appended to the end of the Endpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (in seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (in seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "type": "structure" - }, - "PlaylistType": { - "enum": [ - "NONE", - "EVENT", - "VOD" - ], - "type": "string" - }, - "Profile": { - "enum": [ - "NONE", - "HBBTV_1_5" - ], - "type": "string" - }, - "RotateChannelCredentialsRequest": { - "deprecated": true, - "members": { - "Id": { - "documentation": "The ID of the channel to update.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "RotateChannelCredentialsResponse": { - "deprecated": true, - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "RotateIngestEndpointCredentialsRequest": { - "members": { - "Id": { - "documentation": "The ID of the channel the IngestEndpoint is on.", - "location": "uri", - "locationName": "id", - "shape": "__string" - }, - "IngestEndpointId": { - "documentation": "The id of the IngestEndpoint whose credentials should be rotated", - "location": "uri", - "locationName": "ingest_endpoint_id", - "shape": "__string" - } - }, - "required": [ - "IngestEndpointId", - "Id" - ], - "type": "structure" - }, - "RotateIngestEndpointCredentialsResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "ServiceUnavailableException": { - "documentation": "An unexpected error occurred.", - "error": { - "httpStatusCode": 503 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "SpekeKeyProvider": { - "documentation": "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", - "members": { - "ResourceId": { - "documentation": "The resource ID to include in key requests.", - "locationName": "resourceId", - "shape": "__string" - }, - "RoleArn": { - "documentation": "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", - "locationName": "roleArn", - "shape": "__string" - }, - "SystemIds": { - "documentation": "The system IDs to include in key requests.", - "locationName": "systemIds", - "shape": "__listOf__string" - }, - "Url": { - "documentation": "The URL of the external key provider service.", - "locationName": "url", - "shape": "__string" - } - }, - "required": [ - "Url", - "ResourceId", - "RoleArn", - "SystemIds" - ], - "type": "structure" - }, - "StreamOrder": { - "enum": [ - "ORIGINAL", - "VIDEO_BITRATE_ASCENDING", - "VIDEO_BITRATE_DESCENDING" - ], - "type": "string" - }, - "StreamSelection": { - "documentation": "A StreamSelection configuration.", - "members": { - "MaxVideoBitsPerSecond": { - "documentation": "The maximum video bitrate (bps) to include in output.", - "locationName": "maxVideoBitsPerSecond", - "shape": "__integer" - }, - "MinVideoBitsPerSecond": { - "documentation": "The minimum video bitrate (bps) to include in output.", - "locationName": "minVideoBitsPerSecond", - "shape": "__integer" - }, - "StreamOrder": { - "documentation": "A directive that determines the order of streams in the output.", - "locationName": "streamOrder", - "shape": "StreamOrder" - } - }, - "type": "structure" - }, - "TooManyRequestsException": { - "documentation": "The client has exceeded their resource or throttling limits.", - "error": { - "httpStatusCode": 429 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "UnprocessableEntityException": { - "documentation": "The parameters sent in the request are not valid.", - "error": { - "httpStatusCode": 422 - }, - "exception": true, - "members": { - "Message": { - "locationName": "message", - "shape": "__string" - } - }, - "type": "structure" - }, - "UpdateChannelRequest": { - "documentation": "Configuration parameters used to update the Channel.", - "members": { - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "Id": { - "documentation": "The ID of the Channel to update.", - "location": "uri", - "locationName": "id", - "shape": "__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "UpdateChannelResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", - "locationName": "arn", - "shape": "__string" - }, - "Description": { - "documentation": "A short text description of the Channel.", - "locationName": "description", - "shape": "__string" - }, - "HlsIngest": { - "locationName": "hlsIngest", - "shape": "HlsIngest" - }, - "Id": { - "documentation": "The ID of the Channel.", - "locationName": "id", - "shape": "__string" - } - }, - "type": "structure" - }, - "UpdateOriginEndpointRequest": { - "documentation": "Configuration parameters used to update an existing OriginEndpoint.", - "members": { - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackageCreateOrUpdateParameters" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint to update.", - "location": "uri", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string that will be appended to the end of the Endpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (in seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (in seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "required": [ - "Id" - ], - "type": "structure" - }, - "UpdateOriginEndpointResponse": { - "members": { - "Arn": { - "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", - "locationName": "arn", - "shape": "__string" - }, - "ChannelId": { - "documentation": "The ID of the Channel the OriginEndpoint is associated with.", - "locationName": "channelId", - "shape": "__string" - }, - "CmafPackage": { - "locationName": "cmafPackage", - "shape": "CmafPackage" - }, - "DashPackage": { - "locationName": "dashPackage", - "shape": "DashPackage" - }, - "Description": { - "documentation": "A short text description of the OriginEndpoint.", - "locationName": "description", - "shape": "__string" - }, - "HlsPackage": { - "locationName": "hlsPackage", - "shape": "HlsPackage" - }, - "Id": { - "documentation": "The ID of the OriginEndpoint.", - "locationName": "id", - "shape": "__string" - }, - "ManifestName": { - "documentation": "A short string appended to the end of the OriginEndpoint URL.", - "locationName": "manifestName", - "shape": "__string" - }, - "MssPackage": { - "locationName": "mssPackage", - "shape": "MssPackage" - }, - "StartoverWindowSeconds": { - "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", - "locationName": "startoverWindowSeconds", - "shape": "__integer" - }, - "TimeDelaySeconds": { - "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", - "locationName": "timeDelaySeconds", - "shape": "__integer" - }, - "Url": { - "documentation": "The URL of the packaged OriginEndpoint for consumption.", - "locationName": "url", - "shape": "__string" - }, - "Whitelist": { - "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", - "locationName": "whitelist", - "shape": "__listOf__string" - } - }, - "type": "structure" - }, - "__PeriodTriggersElement": { - "enum": [ - "ADS" - ], - "type": "string" - }, - "__boolean": { - "type": "boolean" - }, - "__double": { - "type": "double" - }, - "__integer": { - "type": "integer" - }, - "__listOfChannel": { - "member": { - "shape": "Channel" - }, - "type": "list" - }, - "__listOfHlsManifest": { - "member": { - "shape": "HlsManifest" - }, - "type": "list" - }, - "__listOfHlsManifestCreateOrUpdateParameters": { - "member": { - "shape": "HlsManifestCreateOrUpdateParameters" - }, - "type": "list" - }, - "__listOfIngestEndpoint": { - "member": { - "shape": "IngestEndpoint" - }, - "type": "list" - }, - "__listOfOriginEndpoint": { - "member": { - "shape": "OriginEndpoint" - }, - "type": "list" - }, - "__listOf__PeriodTriggersElement": { - "member": { - "shape": "__PeriodTriggersElement" - }, - "type": "list" - }, - "__listOf__string": { - "member": { - "shape": "__string" - }, - "type": "list" - }, - "__long": { - "type": "long" - }, - "__string": { - "type": "string" - } - } -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/service-2.json deleted file mode 100644 index 024feff1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore-data/2017-09-01/service-2.json +++ /dev/null @@ -1,465 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-01", - "endpointPrefix":"data.mediastore", - "protocol":"rest-json", - "serviceAbbreviation":"MediaStore Data", - "serviceFullName":"AWS Elemental MediaStore Data Plane", - "serviceId":"MediaStore Data", - "signatureVersion":"v4", - "signingName":"mediastore", - "uid":"mediastore-data-2017-09-01" - }, - "operations":{ - "DeleteObject":{ - "name":"DeleteObject", - "http":{ - "method":"DELETE", - "requestUri":"/{Path+}" - }, - "input":{"shape":"DeleteObjectRequest"}, - "output":{"shape":"DeleteObjectResponse"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes an object at the specified path.

" - }, - "DescribeObject":{ - "name":"DescribeObject", - "http":{ - "method":"HEAD", - "requestUri":"/{Path+}" - }, - "input":{"shape":"DescribeObjectRequest"}, - "output":{"shape":"DescribeObjectResponse"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gets the headers for an object at the specified path.

" - }, - "GetObject":{ - "name":"GetObject", - "http":{ - "method":"GET", - "requestUri":"/{Path+}" - }, - "input":{"shape":"GetObjectRequest"}, - "output":{"shape":"GetObjectResponse"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"ObjectNotFoundException"}, - {"shape":"RequestedRangeNotSatisfiableException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Downloads the object at the specified path.

" - }, - "ListItems":{ - "name":"ListItems", - "http":{ - "method":"GET", - "requestUri":"/" - }, - "input":{"shape":"ListItemsRequest"}, - "output":{"shape":"ListItemsResponse"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Provides a list of metadata entries about folders and objects in the specified folder.

" - }, - "PutObject":{ - "name":"PutObject", - "http":{ - "method":"PUT", - "requestUri":"/{Path+}" - }, - "input":{"shape":"PutObjectRequest"}, - "output":{"shape":"PutObjectResponse"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Uploads an object to the specified path. Object sizes are limited to 10 MB.

", - "authtype":"v4-unsigned-body" - } - }, - "shapes":{ - "ContainerNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified container was not found for the specified account.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ContentRangePattern":{ - "type":"string", - "pattern":"^bytes=\\d+\\-\\d+/\\d+$" - }, - "ContentType":{ - "type":"string", - "pattern":"^[\\w\\-\\/\\.]{1,255}$" - }, - "DeleteObjectRequest":{ - "type":"structure", - "required":["Path"], - "members":{ - "Path":{ - "shape":"PathNaming", - "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

", - "location":"uri", - "locationName":"Path" - } - } - }, - "DeleteObjectResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeObjectRequest":{ - "type":"structure", - "required":["Path"], - "members":{ - "Path":{ - "shape":"PathNaming", - "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

", - "location":"uri", - "locationName":"Path" - } - } - }, - "DescribeObjectResponse":{ - "type":"structure", - "members":{ - "ETag":{ - "shape":"ETag", - "documentation":"

The ETag that represents a unique instance of the object.

", - "location":"header", - "locationName":"ETag" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the object.

", - "location":"header", - "locationName":"Content-Type" - }, - "ContentLength":{ - "shape":"NonNegativeLong", - "documentation":"

The length of the object in bytes.

", - "location":"header", - "locationName":"Content-Length" - }, - "CacheControl":{ - "shape":"StringPrimitive", - "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", - "location":"header", - "locationName":"Cache-Control" - }, - "LastModified":{ - "shape":"TimeStamp", - "documentation":"

The date and time that the object was last modified.

", - "location":"header", - "locationName":"Last-Modified" - } - } - }, - "ETag":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[0-9A-Fa-f]+" - }, - "ErrorMessage":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[ \\w:\\.\\?-]+" - }, - "GetObjectRequest":{ - "type":"structure", - "required":["Path"], - "members":{ - "Path":{ - "shape":"PathNaming", - "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

For example, to upload the file mlaw.avi to the folder path premium\\canada in the container movies, enter the path premium/canada/mlaw.avi.

Do not include the container name in this path.

If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder.

There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore.

For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide.

The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension.

", - "location":"uri", - "locationName":"Path" - }, - "Range":{ - "shape":"RangePattern", - "documentation":"

The range bytes of an object to retrieve. For more information about the Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

", - "location":"header", - "locationName":"Range" - } - } - }, - "GetObjectResponse":{ - "type":"structure", - "required":["StatusCode"], - "members":{ - "Body":{ - "shape":"PayloadBlob", - "documentation":"

The bytes of the object.

" - }, - "CacheControl":{ - "shape":"StringPrimitive", - "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP spec at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentRange":{ - "shape":"ContentRangePattern", - "documentation":"

The range of bytes to retrieve.

", - "location":"header", - "locationName":"Content-Range" - }, - "ContentLength":{ - "shape":"NonNegativeLong", - "documentation":"

The length of the object in bytes.

", - "location":"header", - "locationName":"Content-Length" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the object.

", - "location":"header", - "locationName":"Content-Type" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

The ETag that represents a unique instance of the object.

", - "location":"header", - "locationName":"ETag" - }, - "LastModified":{ - "shape":"TimeStamp", - "documentation":"

The date and time that the object was last modified.

", - "location":"header", - "locationName":"Last-Modified" - }, - "StatusCode":{ - "shape":"statusCode", - "documentation":"

The HTML status code of the request. Status codes ranging from 200 to 299 indicate success. All other status codes indicate the type of error that occurred.

", - "location":"statusCode" - } - }, - "payload":"Body" - }, - "InternalServerError":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service is temporarily unavailable.

", - "exception":true, - "fault":true - }, - "Item":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ItemName", - "documentation":"

The name of the item.

" - }, - "Type":{ - "shape":"ItemType", - "documentation":"

The item type (folder or object).

" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

The ETag that represents a unique instance of the item.

" - }, - "LastModified":{ - "shape":"TimeStamp", - "documentation":"

The date and time that the item was last modified.

" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the item.

" - }, - "ContentLength":{ - "shape":"NonNegativeLong", - "documentation":"

The length of the item in bytes.

" - } - }, - "documentation":"

A metadata entry for a folder or object.

" - }, - "ItemList":{ - "type":"list", - "member":{"shape":"Item"} - }, - "ItemName":{ - "type":"string", - "pattern":"[A-Za-z0-9_\\.\\-\\~]+" - }, - "ItemType":{ - "type":"string", - "enum":[ - "OBJECT", - "FOLDER" - ] - }, - "ListItemsRequest":{ - "type":"structure", - "members":{ - "Path":{ - "shape":"ListPathNaming", - "documentation":"

The path in the container from which to retrieve items. Format: <folder name>/<folder name>/<file name>

", - "location":"querystring", - "locationName":"Path" - }, - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The maximum results to return. The service might return fewer results.

", - "location":"querystring", - "locationName":"MaxResults" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The NextToken received in the ListItemsResponse for the same container and path. Tokens expire after 15 minutes.

", - "location":"querystring", - "locationName":"NextToken" - } - } - }, - "ListItemsResponse":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"ItemList", - "documentation":"

Metadata entries for the folders and objects at the requested path.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The NextToken used to request the next page of results using ListItems.

" - } - } - }, - "ListLimit":{ - "type":"integer", - "max":1000, - "min":1 - }, - "ListPathNaming":{ - "type":"string", - "max":900, - "min":0, - "pattern":"/?(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}(?:[A-Za-z0-9_\\.\\-\\~]+)?/?" - }, - "NonNegativeLong":{ - "type":"long", - "min":0 - }, - "ObjectNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Could not perform an operation on an object that does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "PaginationToken":{"type":"string"}, - "PathNaming":{ - "type":"string", - "max":900, - "min":1, - "pattern":"(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}[A-Za-z0-9_\\.\\-\\~]+" - }, - "PayloadBlob":{ - "type":"blob", - "streaming":true - }, - "PutObjectRequest":{ - "type":"structure", - "required":[ - "Body", - "Path" - ], - "members":{ - "Body":{ - "shape":"PayloadBlob", - "documentation":"

The bytes to be stored.

" - }, - "Path":{ - "shape":"PathNaming", - "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

For example, to upload the file mlaw.avi to the folder path premium\\canada in the container movies, enter the path premium/canada/mlaw.avi.

Do not include the container name in this path.

If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder.

There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore.

For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide.

The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension.

", - "location":"uri", - "locationName":"Path" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The content type of the object.

", - "location":"header", - "locationName":"Content-Type" - }, - "CacheControl":{ - "shape":"StringPrimitive", - "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", - "location":"header", - "locationName":"Cache-Control" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

Indicates the storage class of a Put request. Defaults to high-performance temporal storage class, and objects are persisted into durable storage shortly after being received.

", - "location":"header", - "locationName":"x-amz-storage-class" - } - }, - "payload":"Body" - }, - "PutObjectResponse":{ - "type":"structure", - "members":{ - "ContentSHA256":{ - "shape":"SHA256Hash", - "documentation":"

The SHA256 digest of the object that is persisted.

" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

Unique identifier of the object in the container.

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The storage class where the object was persisted. Should be “Temporal”.

" - } - } - }, - "RangePattern":{ - "type":"string", - "pattern":"^bytes=(?:\\d+\\-\\d*|\\d*\\-\\d+)$" - }, - "RequestedRangeNotSatisfiableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The requested content range is not valid.

", - "error":{"httpStatusCode":416}, - "exception":true - }, - "SHA256Hash":{ - "type":"string", - "max":64, - "min":64, - "pattern":"[0-9A-Fa-f]{64}" - }, - "StorageClass":{ - "type":"string", - "enum":["TEMPORAL"], - "max":16, - "min":1 - }, - "StringPrimitive":{"type":"string"}, - "TimeStamp":{"type":"timestamp"}, - "statusCode":{"type":"integer"} - }, - "documentation":"

An AWS Elemental MediaStore asset is an object, similar to an object in the Amazon S3 service. Objects are the fundamental entities that are stored in AWS Elemental MediaStore.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/service-2.json deleted file mode 100644 index 4e2ce7ec..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediastore/2017-09-01/service-2.json +++ /dev/null @@ -1,570 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-09-01", - "endpointPrefix":"mediastore", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"MediaStore", - "serviceFullName":"AWS Elemental MediaStore", - "serviceId":"MediaStore", - "signatureVersion":"v4", - "signingName":"mediastore", - "targetPrefix":"MediaStore_20170901", - "uid":"mediastore-2017-09-01" - }, - "operations":{ - "CreateContainer":{ - "name":"CreateContainer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateContainerInput"}, - "output":{"shape":"CreateContainerOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

" - }, - "DeleteContainer":{ - "name":"DeleteContainer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteContainerInput"}, - "output":{"shape":"DeleteContainerOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"ContainerNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers.

" - }, - "DeleteContainerPolicy":{ - "name":"DeleteContainerPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteContainerPolicyInput"}, - "output":{"shape":"DeleteContainerPolicyOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"ContainerNotFoundException"}, - {"shape":"PolicyNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the access policy that is associated with the specified container.

" - }, - "DeleteCorsPolicy":{ - "name":"DeleteCorsPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCorsPolicyInput"}, - "output":{"shape":"DeleteCorsPolicyOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"ContainerNotFoundException"}, - {"shape":"CorsPolicyNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others.

" - }, - "DescribeContainer":{ - "name":"DescribeContainer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeContainerInput"}, - "output":{"shape":"DescribeContainerOutput"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the properties of the requested container. This request is commonly used to retrieve the endpoint of a container. An endpoint is a value assigned by the service when a new container is created. A container's endpoint does not change after it has been assigned. The DescribeContainer request returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers.

" - }, - "GetContainerPolicy":{ - "name":"GetContainerPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContainerPolicyInput"}, - "output":{"shape":"GetContainerPolicyOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"ContainerNotFoundException"}, - {"shape":"PolicyNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

" - }, - "GetCorsPolicy":{ - "name":"GetCorsPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCorsPolicyInput"}, - "output":{"shape":"GetCorsPolicyOutput"}, - "errors":[ - {"shape":"ContainerInUseException"}, - {"shape":"ContainerNotFoundException"}, - {"shape":"CorsPolicyNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others.

" - }, - "ListContainers":{ - "name":"ListContainers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListContainersInput"}, - "output":{"shape":"ListContainersOutput"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the properties of all containers in AWS Elemental MediaStore.

You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive.

See also DescribeContainer, which gets the properties of one container.

" - }, - "PutContainerPolicy":{ - "name":"PutContainerPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutContainerPolicyInput"}, - "output":{"shape":"PutContainerPolicyOutput"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"ContainerInUseException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy.

" - }, - "PutCorsPolicy":{ - "name":"PutCorsPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutCorsPolicyInput"}, - "output":{"shape":"PutCorsPolicyOutput"}, - "errors":[ - {"shape":"ContainerNotFoundException"}, - {"shape":"ContainerInUseException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability.

To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

" - } - }, - "shapes":{ - "AllowedHeaders":{ - "type":"list", - "member":{"shape":"Header"}, - "max":100, - "min":0 - }, - "AllowedMethods":{ - "type":"list", - "member":{"shape":"MethodName"} - }, - "AllowedOrigins":{ - "type":"list", - "member":{"shape":"Origin"} - }, - "Container":{ - "type":"structure", - "members":{ - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

" - }, - "CreationTime":{ - "shape":"TimeStamp", - "documentation":"

Unix timestamp.

" - }, - "ARN":{ - "shape":"ContainerARN", - "documentation":"

The Amazon Resource Name (ARN) of the container. The ARN has the following format:

arn:aws:<region>:<account that owns this container>:container/<name of container>

For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

" - }, - "Name":{ - "shape":"ContainerName", - "documentation":"

The name of the container.

" - }, - "Status":{ - "shape":"ContainerStatus", - "documentation":"

The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When the endpoint is available, the status changes to ACTIVE.

" - } - }, - "documentation":"

This section describes operations that you can perform on an AWS Elemental MediaStore container.

" - }, - "ContainerARN":{ - "type":"string", - "max":1024, - "min":1, - "pattern":"arn:aws:mediastore:[a-z]+-[a-z]+-\\d:\\d{12}:container/\\w{1,255}" - }, - "ContainerInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Resource already exists or is being updated.

", - "exception":true - }, - "ContainerList":{ - "type":"list", - "member":{"shape":"Container"} - }, - "ContainerListLimit":{ - "type":"integer", - "max":100, - "min":1 - }, - "ContainerName":{ - "type":"string", - "max":255, - "min":1, - "pattern":"\\w+" - }, - "ContainerNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Could not perform an operation on a container that does not exist.

", - "exception":true - }, - "ContainerPolicy":{ - "type":"string", - "max":8192, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "ContainerStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "CREATING", - "DELETING" - ], - "max":16, - "min":1 - }, - "CorsPolicy":{ - "type":"list", - "member":{"shape":"CorsRule"}, - "documentation":"

The CORS policy of the container.

", - "max":100, - "min":1 - }, - "CorsPolicyNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Could not perform an operation on a policy that does not exist.

", - "exception":true - }, - "CorsRule":{ - "type":"structure", - "members":{ - "AllowedOrigins":{ - "shape":"AllowedOrigins", - "documentation":"

One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

Each CORS rule must have at least one AllowedOrigin element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

" - }, - "AllowedMethods":{ - "shape":"AllowedMethods", - "documentation":"

Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

Each CORS rule must contain at least one AllowedMethod and one AllowedOrigin element.

" - }, - "AllowedHeaders":{ - "shape":"AllowedHeaders", - "documentation":"

Specifies which headers are allowed in a preflight OPTIONS request through the Access-Control-Request-Headers header. Each header name that is specified in Access-Control-Request-Headers must have a corresponding entry in the rule. Only the headers that were requested are sent back.

This element can contain only one wildcard character (*).

" - }, - "MaxAgeSeconds":{ - "shape":"MaxAgeSeconds", - "documentation":"

The time in seconds that your browser caches the preflight response for the specified resource.

A CORS rule can have only one MaxAgeSeconds element.

" - }, - "ExposeHeaders":{ - "shape":"ExposeHeaders", - "documentation":"

One or more headers in the response that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

This element is optional for each rule.

" - } - }, - "documentation":"

A rule for a CORS policy. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

" - }, - "CreateContainerInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name.

" - } - } - }, - "CreateContainerOutput":{ - "type":"structure", - "required":["Container"], - "members":{ - "Container":{ - "shape":"Container", - "documentation":"

ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:<region>:<account that owns this container>:container/<name of container>. For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

ContainerName: The container name as specified in the request.

CreationTime: Unix time stamp.

Status: The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When an endpoint is available, the status changes to ACTIVE.

The return value does not include the container's endpoint. To make downstream requests, you must obtain this value by using DescribeContainer or ListContainers.

" - } - } - }, - "DeleteContainerInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container to delete.

" - } - } - }, - "DeleteContainerOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteContainerPolicyInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container that holds the policy.

" - } - } - }, - "DeleteContainerPolicyOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteCorsPolicyInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container to remove the policy from.

" - } - } - }, - "DeleteCorsPolicyOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeContainerInput":{ - "type":"structure", - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container to query.

" - } - } - }, - "DescribeContainerOutput":{ - "type":"structure", - "members":{ - "Container":{ - "shape":"Container", - "documentation":"

The name of the queried container.

" - } - } - }, - "Endpoint":{ - "type":"string", - "max":255, - "min":1 - }, - "ErrorMessage":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[ \\w:\\.\\?-]+" - }, - "ExposeHeaders":{ - "type":"list", - "member":{"shape":"Header"}, - "max":100, - "min":0 - }, - "GetContainerPolicyInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container.

" - } - } - }, - "GetContainerPolicyOutput":{ - "type":"structure", - "required":["Policy"], - "members":{ - "Policy":{ - "shape":"ContainerPolicy", - "documentation":"

The contents of the access policy.

" - } - } - }, - "GetCorsPolicyInput":{ - "type":"structure", - "required":["ContainerName"], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container that the policy is assigned to.

" - } - } - }, - "GetCorsPolicyOutput":{ - "type":"structure", - "required":["CorsPolicy"], - "members":{ - "CorsPolicy":{"shape":"CorsPolicy"} - } - }, - "Header":{ - "type":"string", - "max":8192, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "InternalServerError":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service is temporarily unavailable.

", - "exception":true, - "fault":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

A service limit has been exceeded.

", - "exception":true - }, - "ListContainersInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Only if you used MaxResults in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list.

" - }, - "MaxResults":{ - "shape":"ContainerListLimit", - "documentation":"

Enter the maximum number of containers in the response. Use from 1 to 255 characters.

" - } - } - }, - "ListContainersOutput":{ - "type":"structure", - "required":["Containers"], - "members":{ - "Containers":{ - "shape":"ContainerList", - "documentation":"

The names of the containers.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

NextToken is the token to use in the next call to ListContainers. This token is returned only if you included the MaxResults tag in the original command, and only if there are still containers to return.

" - } - } - }, - "MaxAgeSeconds":{ - "type":"integer", - "max":2147483647, - "min":0 - }, - "MethodName":{ - "type":"string", - "enum":[ - "PUT", - "GET", - "DELETE", - "HEAD" - ] - }, - "Origin":{ - "type":"string", - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "PaginationToken":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[0-9A-Za-z=/+]+" - }, - "PolicyNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Could not perform an operation on a policy that does not exist.

", - "exception":true - }, - "PutContainerPolicyInput":{ - "type":"structure", - "required":[ - "ContainerName", - "Policy" - ], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container.

" - }, - "Policy":{ - "shape":"ContainerPolicy", - "documentation":"

The contents of the policy, which includes the following:

  • One Version tag

  • One Statement tag that contains the standard tags for the policy.

" - } - } - }, - "PutContainerPolicyOutput":{ - "type":"structure", - "members":{ - } - }, - "PutCorsPolicyInput":{ - "type":"structure", - "required":[ - "ContainerName", - "CorsPolicy" - ], - "members":{ - "ContainerName":{ - "shape":"ContainerName", - "documentation":"

The name of the container that you want to assign the CORS policy to.

" - }, - "CorsPolicy":{ - "shape":"CorsPolicy", - "documentation":"

The CORS policy to apply to the container.

" - } - } - }, - "PutCorsPolicyOutput":{ - "type":"structure", - "members":{ - } - }, - "TimeStamp":{"type":"timestamp"} - }, - "documentation":"

An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/service-2.json deleted file mode 100644 index 5f3e6707..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mediatailor/2018-04-23/service-2.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2018-04-23", - "endpointPrefix" : "api.mediatailor", - "signingName" : "mediatailor", - "serviceFullName" : "AWS MediaTailor", - "serviceId" : "MediaTailor", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "mediatailor-2018-04-23", - "signatureVersion" : "v4", - "serviceAbbreviation": "MediaTailor" - }, - "operations" : { - "DeletePlaybackConfiguration" : { - "name" : "DeletePlaybackConfiguration", - "http" : { - "method" : "DELETE", - "requestUri" : "/playbackConfiguration/{Name}", - "responseCode" : 204 - }, - "input" : { - "shape" : "DeletePlaybackConfigurationRequest" - }, - "output" : { - "shape" : "DeletePlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Deletes the configuration for the specified name.

" - }, - "GetPlaybackConfiguration" : { - "name" : "GetPlaybackConfiguration", - "http" : { - "method" : "GET", - "requestUri" : "/playbackConfiguration/{Name}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetPlaybackConfigurationRequest" - }, - "output" : { - "shape" : "GetPlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Returns the configuration for the specified name.

" - }, - "ListPlaybackConfigurations" : { - "name" : "ListPlaybackConfigurations", - "http" : { - "method" : "GET", - "requestUri" : "/playbackConfigurations", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListPlaybackConfigurationsRequest" - }, - "output" : { - "shape" : "ListPlaybackConfigurationsResponse" - }, - "errors" : [ ], - "documentation" : "

Returns a list of the configurations defined in AWS Elemental MediaTailor. You can specify a max number of configurations to return at a time. The default max is 50. Results are returned in pagefuls. If AWS Elemental MediaTailor has more configurations than the specified max, it provides parameters in the response that you can use to retrieve the next pageful.

" - }, - "PutPlaybackConfiguration" : { - "name" : "PutPlaybackConfiguration", - "http" : { - "method" : "PUT", - "requestUri" : "/playbackConfiguration", - "responseCode" : 200 - }, - "input" : { - "shape" : "PutPlaybackConfigurationRequest" - }, - "output" : { - "shape" : "PutPlaybackConfigurationResponse" - }, - "errors" : [ ], - "documentation" : "

Adds a new configuration to AWS Elemental MediaTailor.

" - } - }, - "shapes" : { - "CdnConfiguration" : { - "type" : "structure", - "members" : { - "AdSegmentUrlPrefix" : { - "shape" : "__string", - "documentation" : "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

" - }, - "ContentSegmentUrlPrefix" : { - "shape" : "__string", - "documentation" : "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

" - } - }, - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "HlsConfiguration": { - "type" : "structure", - "members" : { - "ManifestEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

" - } - }, - "documentation" : "

The configuration for HLS content.

" - }, - "DeletePlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "Name", - "documentation" : "

The identifier for the configuration.

" - } - }, - "required" : [ "Name" ] - }, - "DeletePlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { } - }, - "Empty" : { - "type" : "structure", - "members" : { } - }, - "GetPlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "Name", - "documentation" : "

The identifier for the configuration.

" - } - }, - "required" : [ "Name" ] - }, - "GetPlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "HlsConfiguration" : { - "shape" : "HlsConfiguration", - "documentation" : "

The configuration for HLS content.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "PlaybackEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

" - }, - "SessionInitializationEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player uses to initialize a session that uses client-side reporting.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "PlaybackConfiguration" : { - "type" : "structure", - "documentation": "

The AWSMediaTailor configuration.

", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "ListPlaybackConfigurationsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "__integerMin1Max100", - "location" : "querystring", - "locationName" : "MaxResults", - "documentation" : "

Maximum number of records to return.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "NextToken", - "documentation" : "

Pagination token returned by the GET list request when results overrun the meximum allowed. Use the token to fetch the next page of results.

" - } - } - }, - "ListPlaybackConfigurationsResponse" : { - "type" : "structure", - "members" : { - "Items" : { - "shape" : "__listOfPlaybackConfigurations", - "documentation" : "

Array of playback configurations. This may be all of the available configurations or a subset, depending on the settings you provide and on the total number of configurations stored.

" - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "

Pagination token returned by the GET list request when results overrun the meximum allowed. Use the token to fetch the next page of results.

" - } - } - }, - "PutPlaybackConfigurationRequest" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "PutPlaybackConfigurationResponse" : { - "type" : "structure", - "members" : { - "AdDecisionServerUrl" : { - "shape" : "__string", - "documentation" : "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25000 characters.

" - }, - "CdnConfiguration" : { - "shape" : "CdnConfiguration", - "documentation" : "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

" - }, - "HlsConfiguration" : { - "shape" : "HlsConfiguration", - "documentation" : "

The configuration for HLS content.

" - }, - "Name" : { - "shape" : "__string", - "documentation" : "

The identifier for the configuration.

" - }, - "PlaybackEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

" - }, - "SessionInitializationEndpointPrefix" : { - "shape" : "__string", - "documentation" : "

The URL that the player uses to initialize a session that uses client-side reporting.

" - }, - "SlateAdUrl" : { - "shape" : "__string", - "documentation" : "

URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because AWS Elemental MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

" - }, - "VideoContentSourceUrl" : { - "shape" : "__string", - "documentation" : "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

" - } - } - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__listOfPlaybackConfigurations" : { - "type" : "list", - "member": { - "shape" : "PlaybackConfiguration" - } - }, - "__long" : { - "type" : "long" - }, - "__string" : { - "type" : "string" - }, - "__integerMin1Max100" : { - "type": "integer", - "min": 1, - "max": 100 - } - }, - "documentation" : "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/service-2.json deleted file mode 100644 index 87ad4a2a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/meteringmarketplace/2016-01-14/service-2.json +++ /dev/null @@ -1,340 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"meteringmarketplace-2016-01-14", - "apiVersion":"2016-01-14", - "endpointPrefix":"metering.marketplace", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWSMarketplace Metering", - "serviceId":"Marketplace Metering", - "signatureVersion":"v4", - "signingName":"aws-marketplace", - "targetPrefix":"AWSMPMeteringService" - }, - "operations":{ - "BatchMeterUsage":{ - "name":"BatchMeterUsage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchMeterUsageRequest"}, - "output":{"shape":"BatchMeterUsageResult"}, - "errors":[ - {"shape":"InternalServiceErrorException"}, - {"shape":"InvalidProductCodeException"}, - {"shape":"InvalidUsageDimensionException"}, - {"shape":"InvalidCustomerIdentifierException"}, - {"shape":"TimestampOutOfBoundsException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.

For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.

Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.

BatchMeterUsage can process up to 25 UsageRecords at a time.

" - }, - "MeterUsage":{ - "name":"MeterUsage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MeterUsageRequest"}, - "output":{"shape":"MeterUsageResult"}, - "errors":[ - {"shape":"InternalServiceErrorException"}, - {"shape":"InvalidProductCodeException"}, - {"shape":"InvalidUsageDimensionException"}, - {"shape":"InvalidEndpointRegionException"}, - {"shape":"TimestampOutOfBoundsException"}, - {"shape":"DuplicateRequestException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

MeterUsage is authenticated on the buyer's AWS account, generally when running from an EC2 instance on the AWS Marketplace.

" - }, - "ResolveCustomer":{ - "name":"ResolveCustomer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResolveCustomerRequest"}, - "output":{"shape":"ResolveCustomerResult"}, - "errors":[ - {"shape":"InvalidTokenException"}, - {"shape":"ExpiredTokenException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

ResolveCustomer is called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a registration token through their browser. The registration token is resolved through this API to obtain a CustomerIdentifier and product code.

" - } - }, - "shapes":{ - "BatchMeterUsageRequest":{ - "type":"structure", - "required":[ - "UsageRecords", - "ProductCode" - ], - "members":{ - "UsageRecords":{ - "shape":"UsageRecordList", - "documentation":"

The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at a time.

" - }, - "ProductCode":{ - "shape":"ProductCode", - "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

" - } - }, - "documentation":"

A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage within your application.

" - }, - "BatchMeterUsageResult":{ - "type":"structure", - "members":{ - "Results":{ - "shape":"UsageRecordResultList", - "documentation":"

Contains all UsageRecords processed by BatchMeterUsage. These records were either honored by AWS Marketplace Metering Service or were invalid.

" - }, - "UnprocessedRecords":{ - "shape":"UsageRecordList", - "documentation":"

Contains all UsageRecords that were not processed by BatchMeterUsage. This is a list of UsageRecords. You can retry the failed request by making another BatchMeterUsage call with this list as input in the BatchMeterUsageRequest.

" - } - }, - "documentation":"

Contains the UsageRecords processed by BatchMeterUsage and any records that have failed due to transient error.

" - }, - "Boolean":{"type":"boolean"}, - "CustomerIdentifier":{ - "type":"string", - "max":255, - "min":1 - }, - "DuplicateRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

A metering record has already been emitted by the same EC2 instance for the given {usageDimension, timestamp} with a different usageQuantity.

", - "exception":true - }, - "ExpiredTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The submitted registration token has expired. This can happen if the buyer's browser takes too long to redirect to your page, the buyer has resubmitted the registration token, or your application has held on to the registration token for too long. Your SaaS registration website should redeem this token as soon as it is submitted by the buyer's browser.

", - "exception":true - }, - "InternalServiceErrorException":{ - "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 - }, - "InvalidCustomerIdentifierException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

You have metered usage for a CustomerIdentifier that does not exist.

", - "exception":true - }, - "InvalidEndpointRegionException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The endpoint being called is in a region different from your EC2 instance. The region of the Metering service endpoint and the region of the EC2 instance must match.

", - "exception":true - }, - "InvalidProductCodeException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The product code passed does not match the product code used for publishing the product.

", - "exception":true - }, - "InvalidTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "exception":true - }, - "InvalidUsageDimensionException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The usage dimension does not match one of the UsageDimensions associated with products.

", - "exception":true - }, - "MeterUsageRequest":{ - "type":"structure", - "required":[ - "ProductCode", - "Timestamp", - "UsageDimension", - "UsageQuantity", - "DryRun" - ], - "members":{ - "ProductCode":{ - "shape":"ProductCode", - "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

" - }, - "UsageDimension":{ - "shape":"UsageDimension", - "documentation":"

It will be one of the fcp dimension name provided during the publishing of the product.

" - }, - "UsageQuantity":{ - "shape":"UsageQuantity", - "documentation":"

Consumption value for the hour.

" - }, - "DryRun":{ - "shape":"Boolean", - "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException.

" - } - } - }, - "MeterUsageResult":{ - "type":"structure", - "members":{ - "MeteringRecordId":{"shape":"String"} - } - }, - "NonEmptyString":{ - "type":"string", - "pattern":"\\S+" - }, - "ProductCode":{ - "type":"string", - "max":255, - "min":1 - }, - "ResolveCustomerRequest":{ - "type":"structure", - "required":["RegistrationToken"], - "members":{ - "RegistrationToken":{ - "shape":"NonEmptyString", - "documentation":"

When a buyer visits your website during the registration process, the buyer submits a registration token through the browser. The registration token is resolved to obtain a CustomerIdentifier and product code.

" - } - }, - "documentation":"

Contains input to the ResolveCustomer operation.

" - }, - "ResolveCustomerResult":{ - "type":"structure", - "members":{ - "CustomerIdentifier":{ - "shape":"CustomerIdentifier", - "documentation":"

The CustomerIdentifier is used to identify an individual customer in your application. Calls to BatchMeterUsage require CustomerIdentifiers for each UsageRecord.

" - }, - "ProductCode":{ - "shape":"ProductCode", - "documentation":"

The product code is returned to confirm that the buyer is registering for your product. Subsequent BatchMeterUsage calls should be made using this product code.

" - } - }, - "documentation":"

The result of the ResolveCustomer operation. Contains the CustomerIdentifier and product code.

" - }, - "String":{"type":"string"}, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The calls to the MeterUsage API are throttled.

", - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "TimestampOutOfBoundsException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The timestamp value passed in the meterUsage() is out of allowed range.

", - "exception":true - }, - "UsageDimension":{ - "type":"string", - "max":255, - "min":1 - }, - "UsageQuantity":{ - "type":"integer", - "max":1000000, - "min":0 - }, - "UsageRecord":{ - "type":"structure", - "required":[ - "Timestamp", - "CustomerIdentifier", - "Dimension", - "Quantity" - ], - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

Your application can meter usage for up to one hour in the past.

" - }, - "CustomerIdentifier":{ - "shape":"CustomerIdentifier", - "documentation":"

The CustomerIdentifier is obtained through the ResolveCustomer operation and represents an individual buyer in your application.

" - }, - "Dimension":{ - "shape":"UsageDimension", - "documentation":"

During the process of registering a product on AWS Marketplace, up to eight dimensions are specified. These represent different units of value in your application.

" - }, - "Quantity":{ - "shape":"UsageQuantity", - "documentation":"

The quantity of usage consumed by the customer for the given dimension and time.

" - } - }, - "documentation":"

A UsageRecord indicates a quantity of usage for a given product, customer, dimension and time.

Multiple requests with the same UsageRecords as input will be deduplicated to prevent double charges.

" - }, - "UsageRecordList":{ - "type":"list", - "member":{"shape":"UsageRecord"}, - "max":25, - "min":0 - }, - "UsageRecordResult":{ - "type":"structure", - "members":{ - "UsageRecord":{ - "shape":"UsageRecord", - "documentation":"

The UsageRecord that was part of the BatchMeterUsage request.

" - }, - "MeteringRecordId":{ - "shape":"String", - "documentation":"

The MeteringRecordId is a unique identifier for this metering event.

" - }, - "Status":{ - "shape":"UsageRecordResultStatus", - "documentation":"

The UsageRecordResult Status indicates the status of an individual UsageRecord processed by BatchMeterUsage.

  • Success- The UsageRecord was accepted and honored by BatchMeterUsage.

  • CustomerNotSubscribed- The CustomerIdentifier specified is not subscribed to your product. The UsageRecord was not honored. Future UsageRecords for this customer will fail until the customer subscribes to your product.

  • DuplicateRecord- Indicates that the UsageRecord was invalid and not honored. A previously metered UsageRecord had the same customer, dimension, and time, but a different quantity.

" - } - }, - "documentation":"

A UsageRecordResult indicates the status of a given UsageRecord processed by BatchMeterUsage.

" - }, - "UsageRecordResultList":{ - "type":"list", - "member":{"shape":"UsageRecordResult"} - }, - "UsageRecordResultStatus":{ - "type":"string", - "enum":[ - "Success", - "CustomerNotSubscribed", - "DuplicateRecord" - ] - }, - "errorMessage":{"type":"string"} - }, - "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance.

  • BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application.

Accepting New Customers

  • ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/service-2.json deleted file mode 100644 index 68e2b5a2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mgh/2017-05-31/service-2.json +++ /dev/null @@ -1,1123 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-05-31", - "endpointPrefix":"mgh", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Migration Hub", - "serviceId":"Migration Hub", - "signatureVersion":"v4", - "targetPrefix":"AWSMigrationHub", - "uid":"AWSMigrationHub-2017-05-31" - }, - "operations":{ - "AssociateCreatedArtifact":{ - "name":"AssociateCreatedArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateCreatedArtifactRequest"}, - "output":{"shape":"AssociateCreatedArtifactResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits:

  • Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.

" - }, - "AssociateDiscoveredResource":{ - "name":"AssociateDiscoveredResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDiscoveredResourceRequest"}, - "output":{"shape":"AssociateDiscoveredResourceResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.

" - }, - "CreateProgressUpdateStream":{ - "name":"CreateProgressUpdateStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProgressUpdateStreamRequest"}, - "output":{"shape":"CreateProgressUpdateStreamResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account.

" - }, - "DeleteProgressUpdateStream":{ - "name":"DeleteProgressUpdateStream", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProgressUpdateStreamRequest"}, - "output":{"shape":"DeleteProgressUpdateStreamResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).

  • The call will return, and a background process will asynchronously delete the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).

  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.

  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs realted to the tasks belonging to the stream will throw \"InvalidInputException\" if the stream of the same name is in the process of being deleted.

  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

" - }, - "DescribeApplicationState":{ - "name":"DescribeApplicationState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeApplicationStateRequest"}, - "output":{"shape":"DescribeApplicationStateResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets the migration status of an application.

" - }, - "DescribeMigrationTask":{ - "name":"DescribeMigrationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMigrationTaskRequest"}, - "output":{"shape":"DescribeMigrationTaskResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Retrieves a list of all attributes associated with a specific migration task.

" - }, - "DisassociateCreatedArtifact":{ - "name":"DisassociateCreatedArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateCreatedArtifactRequest"}, - "output":{"shape":"DisassociateCreatedArtifactResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits:

  • A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.

" - }, - "DisassociateDiscoveredResource":{ - "name":"DisassociateDiscoveredResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateDiscoveredResourceRequest"}, - "output":{"shape":"DisassociateDiscoveredResourceResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociate an Application Discovery Service (ADS) discovered resource from a migration task.

" - }, - "ImportMigrationTask":{ - "name":"ImportMigrationTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportMigrationTaskRequest"}, - "output":{"shape":"ImportMigrationTaskResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.

This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub.

" - }, - "ListCreatedArtifacts":{ - "name":"ListCreatedArtifacts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCreatedArtifactsRequest"}, - "output":{"shape":"ListCreatedArtifactsResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:

  • Gets the list of the created artifacts while migration is taking place.

  • Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API.

  • Lists created artifacts in a paginated interface.

" - }, - "ListDiscoveredResources":{ - "name":"ListDiscoveredResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDiscoveredResourcesRequest"}, - "output":{"shape":"ListDiscoveredResourcesResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists discovered resources associated with the given MigrationTask.

" - }, - "ListMigrationTasks":{ - "name":"ListMigrationTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListMigrationTasksRequest"}, - "output":{"shape":"ListMigrationTasksResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:

  • Can show a summary list of the most recent migration tasks.

  • Can show a summary list of migration tasks associated with a given discovered resource.

  • Lists migration tasks in a paginated interface.

" - }, - "ListProgressUpdateStreams":{ - "name":"ListProgressUpdateStreams", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProgressUpdateStreamsRequest"}, - "output":{"shape":"ListProgressUpdateStreamsResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"InvalidInputException"} - ], - "documentation":"

Lists progress update streams associated with the user account making this call.

" - }, - "NotifyApplicationState":{ - "name":"NotifyApplicationState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"NotifyApplicationStateRequest"}, - "output":{"shape":"NotifyApplicationStateResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.

" - }, - "NotifyMigrationTaskState":{ - "name":"NotifyMigrationTaskState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"NotifyMigrationTaskStateRequest"}, - "output":{"shape":"NotifyMigrationTaskStateResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

  • Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status.

  • MigrationTaskName is used for addressing updates to the correct target.

  • ProgressUpdateStream is used for access control and to provide a namespace for each migration tool.

" - }, - "PutResourceAttributes":{ - "name":"PutResourceAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutResourceAttributesRequest"}, - "output":{"shape":"PutResourceAttributesResult"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DryRunOperation"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidInputException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service (ADS)'s repository. This association occurs asynchronously after PutResourceAttributes returns.

  • Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overiding the MAC address.

  • Note the instructions regarding the special use case of the ResourceAttributeList parameter when specifying any \"VM\" related value.

Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListDiscoveredResources.

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You do not have sufficient access to perform this action.

", - "exception":true - }, - "ApplicationId":{ - "type":"string", - "max":1600, - "min":1 - }, - "ApplicationStatus":{ - "type":"string", - "enum":[ - "NOT_STARTED", - "IN_PROGRESS", - "COMPLETED" - ] - }, - "AssociateCreatedArtifactRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "CreatedArtifact" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "CreatedArtifact":{ - "shape":"CreatedArtifact", - "documentation":"

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "AssociateCreatedArtifactResult":{ - "type":"structure", - "members":{ - } - }, - "AssociateDiscoveredResourceRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "DiscoveredResource" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

The identifier given to the MigrationTask.

" - }, - "DiscoveredResource":{ - "shape":"DiscoveredResource", - "documentation":"

Object representing a Resource.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "AssociateDiscoveredResourceResult":{ - "type":"structure", - "members":{ - } - }, - "ConfigurationId":{ - "type":"string", - "min":1 - }, - "CreateProgressUpdateStreamRequest":{ - "type":"structure", - "required":["ProgressUpdateStreamName"], - "members":{ - "ProgressUpdateStreamName":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "CreateProgressUpdateStreamResult":{ - "type":"structure", - "members":{ - } - }, - "CreatedArtifact":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"CreatedArtifactName", - "documentation":"

An ARN that uniquely identifies the result of a migration task.

" - }, - "Description":{ - "shape":"CreatedArtifactDescription", - "documentation":"

A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.

" - } - }, - "documentation":"

An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, EC2 instance, RDS instance, etc.).

" - }, - "CreatedArtifactDescription":{ - "type":"string", - "max":500, - "min":0 - }, - "CreatedArtifactList":{ - "type":"list", - "member":{"shape":"CreatedArtifact"} - }, - "CreatedArtifactName":{ - "type":"string", - "max":1600, - "min":1, - "pattern":"arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*" - }, - "DeleteProgressUpdateStreamRequest":{ - "type":"structure", - "required":["ProgressUpdateStreamName"], - "members":{ - "ProgressUpdateStreamName":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "DeleteProgressUpdateStreamResult":{ - "type":"structure", - "members":{ - } - }, - "DescribeApplicationStateRequest":{ - "type":"structure", - "required":["ApplicationId"], - "members":{ - "ApplicationId":{ - "shape":"ApplicationId", - "documentation":"

The configurationId in ADS that uniquely identifies the grouped application.

" - } - } - }, - "DescribeApplicationStateResult":{ - "type":"structure", - "members":{ - "ApplicationStatus":{ - "shape":"ApplicationStatus", - "documentation":"

Status of the application - Not Started, In-Progress, Complete.

" - }, - "LastUpdatedTime":{ - "shape":"UpdateDateTime", - "documentation":"

The timestamp when the application status was last updated.

" - } - } - }, - "DescribeMigrationTaskRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

The identifier given to the MigrationTask.

" - } - } - }, - "DescribeMigrationTaskResult":{ - "type":"structure", - "members":{ - "MigrationTask":{ - "shape":"MigrationTask", - "documentation":"

Object encapsulating information about the migration task.

" - } - } - }, - "DisassociateCreatedArtifactRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "CreatedArtifactName" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task to be disassociated with the artifact.

" - }, - "CreatedArtifactName":{ - "shape":"CreatedArtifactName", - "documentation":"

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "DisassociateCreatedArtifactResult":{ - "type":"structure", - "members":{ - } - }, - "DisassociateDiscoveredResourceRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "ConfigurationId" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

The identifier given to the MigrationTask.

" - }, - "ConfigurationId":{ - "shape":"ConfigurationId", - "documentation":"

ConfigurationId of the ADS resource to be disassociated.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "DisassociateDiscoveredResourceResult":{ - "type":"structure", - "members":{ - } - }, - "DiscoveredResource":{ - "type":"structure", - "required":["ConfigurationId"], - "members":{ - "ConfigurationId":{ - "shape":"ConfigurationId", - "documentation":"

The configurationId in ADS that uniquely identifies the on-premise resource.

" - }, - "Description":{ - "shape":"DiscoveredResourceDescription", - "documentation":"

A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.

" - } - }, - "documentation":"

Object representing the on-premises resource being migrated.

" - }, - "DiscoveredResourceDescription":{ - "type":"string", - "max":500, - "min":0 - }, - "DiscoveredResourceList":{ - "type":"list", - "member":{"shape":"DiscoveredResource"} - }, - "DryRun":{"type":"boolean"}, - "DryRunOperation":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised to indicate a successfully authorized action when the DryRun flag is set to \"true\".

", - "exception":true - }, - "ErrorMessage":{"type":"string"}, - "ImportMigrationTaskRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "ImportMigrationTaskResult":{ - "type":"structure", - "members":{ - } - }, - "InternalServerError":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised when there is an internal, configuration, or dependency error encountered.

", - "exception":true, - "fault":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

", - "exception":true - }, - "LatestResourceAttributeList":{ - "type":"list", - "member":{"shape":"ResourceAttribute"}, - "max":100, - "min":0 - }, - "ListCreatedArtifactsRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" - }, - "MaxResults":{ - "shape":"MaxResultsCreatedArtifacts", - "documentation":"

Maximum number of results to be returned per page.

" - } - } - }, - "ListCreatedArtifactsResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

If there are more created artifacts than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" - }, - "CreatedArtifactList":{ - "shape":"CreatedArtifactList", - "documentation":"

List of created artifacts up to the maximum number of results specified in the request.

" - } - } - }, - "ListDiscoveredResourcesRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

The name of the MigrationTask.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" - }, - "MaxResults":{ - "shape":"MaxResultsResources", - "documentation":"

The maximum number of results returned per page.

" - } - } - }, - "ListDiscoveredResourcesResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

If there are more discovered resources than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" - }, - "DiscoveredResourceList":{ - "shape":"DiscoveredResourceList", - "documentation":"

Returned list of discovered resources associated with the given MigrationTask.

" - } - } - }, - "ListMigrationTasksRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Value to specify how many results are returned per page.

" - }, - "ResourceName":{ - "shape":"ResourceName", - "documentation":"

Filter migration tasks by discovered resource name.

" - } - } - }, - "ListMigrationTasksResult":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

If there are more migration tasks than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" - }, - "MigrationTaskSummaryList":{ - "shape":"MigrationTaskSummaryList", - "documentation":"

Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and the UpdateDateTime for each task.

" - } - } - }, - "ListProgressUpdateStreamsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Filter to limit the maximum number of results to list per page.

" - } - } - }, - "ListProgressUpdateStreamsResult":{ - "type":"structure", - "members":{ - "ProgressUpdateStreamSummaryList":{ - "shape":"ProgressUpdateStreamSummaryList", - "documentation":"

List of progress update streams up to the max number of results passed in the input.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

If there are more streams created than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":100, - "min":1 - }, - "MaxResultsCreatedArtifacts":{ - "type":"integer", - "box":true, - "max":10, - "min":1 - }, - "MaxResultsResources":{ - "type":"integer", - "box":true, - "max":10, - "min":1 - }, - "MigrationTask":{ - "type":"structure", - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

A name that identifies the vendor of the migration tool being used.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "Task":{ - "shape":"Task", - "documentation":"

Task object encapsulating task information.

" - }, - "UpdateDateTime":{ - "shape":"UpdateDateTime", - "documentation":"

The timestamp when the task was gathered.

" - }, - "ResourceAttributeList":{ - "shape":"LatestResourceAttributeList", - "documentation":"

" - } - }, - "documentation":"

Represents a migration task in a migration tool.

" - }, - "MigrationTaskName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[^:|]+" - }, - "MigrationTaskSummary":{ - "type":"structure", - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

An AWS resource used for access control. It should uniquely identify the migration tool as it is used for all updates made by the tool.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

Status of the task.

" - }, - "ProgressPercent":{ - "shape":"ProgressPercent", - "documentation":"

" - }, - "StatusDetail":{ - "shape":"StatusDetail", - "documentation":"

Detail information of what is being done within the overall status state.

" - }, - "UpdateDateTime":{ - "shape":"UpdateDateTime", - "documentation":"

The timestamp when the task was gathered.

" - } - }, - "documentation":"

MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and UpdateDateTime for each task.

" - }, - "MigrationTaskSummaryList":{ - "type":"list", - "member":{"shape":"MigrationTaskSummary"} - }, - "NextUpdateSeconds":{ - "type":"integer", - "min":0 - }, - "NotifyApplicationStateRequest":{ - "type":"structure", - "required":[ - "ApplicationId", - "Status" - ], - "members":{ - "ApplicationId":{ - "shape":"ApplicationId", - "documentation":"

The configurationId in ADS that uniquely identifies the grouped application.

" - }, - "Status":{ - "shape":"ApplicationStatus", - "documentation":"

Status of the application - Not Started, In-Progress, Complete.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "NotifyApplicationStateResult":{ - "type":"structure", - "members":{ - } - }, - "NotifyMigrationTaskStateRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "Task", - "UpdateDateTime", - "NextUpdateSeconds" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "Task":{ - "shape":"Task", - "documentation":"

Information about the task's progress and status.

" - }, - "UpdateDateTime":{ - "shape":"UpdateDateTime", - "documentation":"

The timestamp when the task was gathered.

" - }, - "NextUpdateSeconds":{ - "shape":"NextUpdateSeconds", - "documentation":"

Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "NotifyMigrationTaskStateResult":{ - "type":"structure", - "members":{ - } - }, - "PolicyErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised when there are problems accessing ADS (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

", - "exception":true - }, - "ProgressPercent":{ - "type":"integer", - "box":true, - "max":100, - "min":0 - }, - "ProgressUpdateStream":{ - "type":"string", - "max":50, - "min":1, - "pattern":"[^/:|\\000-\\037]+" - }, - "ProgressUpdateStreamSummary":{ - "type":"structure", - "members":{ - "ProgressUpdateStreamName":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - } - }, - "documentation":"

Summary of the AWS resource used for access control that is implicitly linked to your AWS account.

" - }, - "ProgressUpdateStreamSummaryList":{ - "type":"list", - "member":{"shape":"ProgressUpdateStreamSummary"} - }, - "PutResourceAttributesRequest":{ - "type":"structure", - "required":[ - "ProgressUpdateStream", - "MigrationTaskName", - "ResourceAttributeList" - ], - "members":{ - "ProgressUpdateStream":{ - "shape":"ProgressUpdateStream", - "documentation":"

The name of the ProgressUpdateStream.

" - }, - "MigrationTaskName":{ - "shape":"MigrationTaskName", - "documentation":"

Unique identifier that references the migration task.

" - }, - "ResourceAttributeList":{ - "shape":"ResourceAttributeList", - "documentation":"

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service (ADS)'s repository.

Takes the object array of ResourceAttribute where the Type field is reserved for the following values: IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID | MOTHERBOARD_SERIAL_NUMBER where the identifying value can be a string up to 256 characters.

  • If any \"VM\" related value is set for a ResourceAttribute object, it is required that VM_MANAGER_ID, as a minimum, is always set. If VM_MANAGER_ID is not set, then all \"VM\" fields will be discarded and \"VM\" fields will not be used for matching the migration task to a server in Application Discovery Service (ADS)'s repository. See the Example section below for a use case of specifying \"VM\" related values.

  • If a server you are trying to match has multiple IP or MAC addresses, you should provide as many as you know in separate type/value pairs passed to the ResourceAttributeList parameter to maximize the chances of matching.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" - } - } - }, - "PutResourceAttributesResult":{ - "type":"structure", - "members":{ - } - }, - "ResourceAttribute":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"ResourceAttributeType", - "documentation":"

Type of resource.

" - }, - "Value":{ - "shape":"ResourceAttributeValue", - "documentation":"

Value of the resource type.

" - } - }, - "documentation":"

Attribute associated with a resource.

Note the corresponding format required per type listed below:

IPV4

x.x.x.x

where x is an integer in the range [0,255]

IPV6

y : y : y : y : y : y : y : y

where y is a hexadecimal between 0 and FFFF. [0, FFFF]

MAC_ADDRESS

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

FQDN

^[^<>{}\\\\\\\\/?,=\\\\p{Cntrl}]{1,256}$

" - }, - "ResourceAttributeList":{ - "type":"list", - "member":{"shape":"ResourceAttribute"}, - "max":100, - "min":1 - }, - "ResourceAttributeType":{ - "type":"string", - "enum":[ - "IPV4_ADDRESS", - "IPV6_ADDRESS", - "MAC_ADDRESS", - "FQDN", - "VM_MANAGER_ID", - "VM_MANAGED_OBJECT_REFERENCE", - "VM_NAME", - "VM_PATH", - "BIOS_ID", - "MOTHERBOARD_SERIAL_NUMBER" - ] - }, - "ResourceAttributeValue":{ - "type":"string", - "max":256, - "min":1 - }, - "ResourceName":{ - "type":"string", - "max":1600, - "min":1 - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised when the request references a resource (ADS configuration, update stream, migration task, etc.) that does not exist in ADS (Application Discovery Service) or in Migration Hub's repository.

", - "exception":true - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised when there is an internal, configuration, or dependency error encountered.

", - "exception":true, - "fault":true - }, - "Status":{ - "type":"string", - "enum":[ - "NOT_STARTED", - "IN_PROGRESS", - "FAILED", - "COMPLETED" - ] - }, - "StatusDetail":{ - "type":"string", - "max":500, - "min":0 - }, - "Task":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"Status", - "documentation":"

Status of the task - Not Started, In-Progress, Complete.

" - }, - "StatusDetail":{ - "shape":"StatusDetail", - "documentation":"

Details of task status as notified by a migration tool. A tool might use this field to provide clarifying information about the status that is unique to that tool or that explains an error state.

" - }, - "ProgressPercent":{ - "shape":"ProgressPercent", - "documentation":"

Indication of the percentage completion of the task.

" - } - }, - "documentation":"

Task object encapsulating task information.

" - }, - "Token":{"type":"string"}, - "UnauthorizedOperation":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Exception raised to indicate a request was not authorized when the DryRun flag is set to \"true\".

", - "exception":true - }, - "UpdateDateTime":{"type":"timestamp"} - }, - "documentation":"

The AWS Migration Hub API methods help to obtain server and application migration status and integrate your resource-specific migration tool by providing a programmatic interface to Migration Hub.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/paginators-1.json deleted file mode 100644 index e86bb7d0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "ListBundles": { - "result_key": "bundleList", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - }, - "ListProjects": { - "result_key": "projects", - "output_token": "nextToken", - "input_token": "nextToken", - "limit_key": "maxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/service-2.json deleted file mode 100644 index b588798e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mobile/2017-07-01/service-2.json +++ /dev/null @@ -1,732 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-07-01", - "endpointPrefix":"mobile", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"AWS Mobile", - "serviceId":"Mobile", - "signatureVersion":"v4", - "signingName":"AWSMobileHubService", - "uid":"mobile-2017-07-01" - }, - "operations":{ - "CreateProject":{ - "name":"CreateProject", - "http":{ - "method":"POST", - "requestUri":"/projects" - }, - "input":{"shape":"CreateProjectRequest"}, - "output":{"shape":"CreateProjectResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an AWS Mobile Hub project.

" - }, - "DeleteProject":{ - "name":"DeleteProject", - "http":{ - "method":"DELETE", - "requestUri":"/projects/{projectId}" - }, - "input":{"shape":"DeleteProjectRequest"}, - "output":{"shape":"DeleteProjectResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Delets a project in AWS Mobile Hub.

" - }, - "DescribeBundle":{ - "name":"DescribeBundle", - "http":{ - "method":"GET", - "requestUri":"/bundles/{bundleId}" - }, - "input":{"shape":"DescribeBundleRequest"}, - "output":{"shape":"DescribeBundleResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Get the bundle details for the requested bundle id.

" - }, - "DescribeProject":{ - "name":"DescribeProject", - "http":{ - "method":"GET", - "requestUri":"/project" - }, - "input":{"shape":"DescribeProjectRequest"}, - "output":{"shape":"DescribeProjectResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Gets details about a project in AWS Mobile Hub.

" - }, - "ExportBundle":{ - "name":"ExportBundle", - "http":{ - "method":"POST", - "requestUri":"/bundles/{bundleId}" - }, - "input":{"shape":"ExportBundleRequest"}, - "output":{"shape":"ExportBundleResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Generates customized software development kit (SDK) and or tool packages used to integrate mobile web or mobile app clients with backend AWS resources.

" - }, - "ExportProject":{ - "name":"ExportProject", - "http":{ - "method":"POST", - "requestUri":"/exports/{projectId}" - }, - "input":{"shape":"ExportProjectRequest"}, - "output":{"shape":"ExportProjectResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Exports project configuration to a snapshot which can be downloaded and shared. Note that mobile app push credentials are encrypted in exported projects, so they can only be shared successfully within the same AWS account.

" - }, - "ListBundles":{ - "name":"ListBundles", - "http":{ - "method":"GET", - "requestUri":"/bundles" - }, - "input":{"shape":"ListBundlesRequest"}, - "output":{"shape":"ListBundlesResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

List all available bundles.

" - }, - "ListProjects":{ - "name":"ListProjects", - "http":{ - "method":"GET", - "requestUri":"/projects" - }, - "input":{"shape":"ListProjectsRequest"}, - "output":{"shape":"ListProjectsResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Lists projects in AWS Mobile Hub.

" - }, - "UpdateProject":{ - "name":"UpdateProject", - "http":{ - "method":"POST", - "requestUri":"/update" - }, - "input":{"shape":"UpdateProjectRequest"}, - "output":{"shape":"UpdateProjectResult"}, - "errors":[ - {"shape":"InternalFailureException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"UnauthorizedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"BadRequestException"}, - {"shape":"NotFoundException"}, - {"shape":"AccountActionRequiredException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Update an existing project.

" - } - }, - "shapes":{ - "AccountActionRequiredException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Account Action is required in order to continue the request.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "AttributeKey":{ - "type":"string", - "documentation":"

Key part of key-value attribute pairs.

" - }, - "AttributeValue":{ - "type":"string", - "documentation":"

Value part of key-value attribute pairs.

" - }, - "Attributes":{ - "type":"map", - "key":{"shape":"AttributeKey"}, - "value":{"shape":"AttributeValue"}, - "documentation":"

Key-value attribute pairs.

" - }, - "BadRequestException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request cannot be processed because some parameter is not valid or the project state prevents the operation from being performed.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Boolean":{"type":"boolean"}, - "BundleDescription":{ - "type":"string", - "documentation":"

Description of the download bundle.

" - }, - "BundleDetails":{ - "type":"structure", - "members":{ - "bundleId":{"shape":"BundleId"}, - "title":{"shape":"BundleTitle"}, - "version":{"shape":"BundleVersion"}, - "description":{"shape":"BundleDescription"}, - "iconUrl":{"shape":"IconUrl"}, - "availablePlatforms":{"shape":"Platforms"} - }, - "documentation":"

The details of the bundle.

" - }, - "BundleId":{ - "type":"string", - "documentation":"

Unique bundle identifier.

" - }, - "BundleList":{ - "type":"list", - "member":{"shape":"BundleDetails"}, - "documentation":"

A list of bundles.

" - }, - "BundleTitle":{ - "type":"string", - "documentation":"

Title of the download bundle.

" - }, - "BundleVersion":{ - "type":"string", - "documentation":"

Version of the download bundle.

" - }, - "ConsoleUrl":{"type":"string"}, - "Contents":{ - "type":"blob", - "documentation":"

Binary file data.

" - }, - "CreateProjectRequest":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ProjectName", - "documentation":"

Name of the project.

", - "location":"querystring", - "locationName":"name" - }, - "region":{ - "shape":"ProjectRegion", - "documentation":"

Default region where project resources should be created.

", - "location":"querystring", - "locationName":"region" - }, - "contents":{ - "shape":"Contents", - "documentation":"

ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation.

" - }, - "snapshotId":{ - "shape":"SnapshotId", - "documentation":"

Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported.

", - "location":"querystring", - "locationName":"snapshotId" - } - }, - "documentation":"

Request structure used to request a project be created.

", - "payload":"contents" - }, - "CreateProjectResult":{ - "type":"structure", - "members":{ - "details":{ - "shape":"ProjectDetails", - "documentation":"

Detailed information about the created AWS Mobile Hub project.

" - } - }, - "documentation":"

Result structure used in response to a request to create a project.

" - }, - "Date":{"type":"timestamp"}, - "DeleteProjectRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

", - "location":"uri", - "locationName":"projectId" - } - }, - "documentation":"

Request structure used to request a project be deleted.

" - }, - "DeleteProjectResult":{ - "type":"structure", - "members":{ - "deletedResources":{ - "shape":"Resources", - "documentation":"

Resources which were deleted.

" - }, - "orphanedResources":{ - "shape":"Resources", - "documentation":"

Resources which were not deleted, due to a risk of losing potentially important data or files.

" - } - }, - "documentation":"

Result structure used in response to request to delete a project.

" - }, - "DescribeBundleRequest":{ - "type":"structure", - "required":["bundleId"], - "members":{ - "bundleId":{ - "shape":"BundleId", - "documentation":"

Unique bundle identifier.

", - "location":"uri", - "locationName":"bundleId" - } - }, - "documentation":"

Request structure to request the details of a specific bundle.

" - }, - "DescribeBundleResult":{ - "type":"structure", - "members":{ - "details":{ - "shape":"BundleDetails", - "documentation":"

The details of the bundle.

" - } - }, - "documentation":"

Result structure contains the details of the bundle.

" - }, - "DescribeProjectRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

", - "location":"querystring", - "locationName":"projectId" - }, - "syncFromResources":{ - "shape":"Boolean", - "documentation":"

If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project.

", - "location":"querystring", - "locationName":"syncFromResources" - } - }, - "documentation":"

Request structure used to request details about a project.

" - }, - "DescribeProjectResult":{ - "type":"structure", - "members":{ - "details":{"shape":"ProjectDetails"} - }, - "documentation":"

Result structure used for requests of project details.

" - }, - "DownloadUrl":{ - "type":"string", - "documentation":"

The download Url.

" - }, - "ErrorMessage":{ - "type":"string", - "documentation":"

The Exception Error Message.

" - }, - "ExportBundleRequest":{ - "type":"structure", - "required":["bundleId"], - "members":{ - "bundleId":{ - "shape":"BundleId", - "documentation":"

Unique bundle identifier.

", - "location":"uri", - "locationName":"bundleId" - }, - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

", - "location":"querystring", - "locationName":"projectId" - }, - "platform":{ - "shape":"Platform", - "documentation":"

Developer desktop or target application platform.

", - "location":"querystring", - "locationName":"platform" - } - }, - "documentation":"

Request structure used to request generation of custom SDK and tool packages required to integrate mobile web or app clients with backed AWS resources.

" - }, - "ExportBundleResult":{ - "type":"structure", - "members":{ - "downloadUrl":{ - "shape":"DownloadUrl", - "documentation":"

URL which contains the custom-generated SDK and tool packages used to integrate the client mobile app or web app with the AWS resources created by the AWS Mobile Hub project.

" - } - }, - "documentation":"

Result structure which contains link to download custom-generated SDK and tool packages used to integrate mobile web or app clients with backed AWS resources.

" - }, - "ExportProjectRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

", - "location":"uri", - "locationName":"projectId" - } - }, - "documentation":"

Request structure used in requests to export project configuration details.

" - }, - "ExportProjectResult":{ - "type":"structure", - "members":{ - "downloadUrl":{ - "shape":"DownloadUrl", - "documentation":"

URL which can be used to download the exported project configuation file(s).

" - }, - "shareUrl":{ - "shape":"ShareUrl", - "documentation":"

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

" - }, - "snapshotId":{ - "shape":"SnapshotId", - "documentation":"

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

" - } - }, - "documentation":"

Result structure used for requests to export project configuration details.

" - }, - "Feature":{ - "type":"string", - "documentation":"

Identifies which feature in AWS Mobile Hub is associated with this AWS resource.

" - }, - "IconUrl":{ - "type":"string", - "documentation":"

Icon for the download bundle.

" - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service has encountered an unexpected error condition which prevents it from servicing the request.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"ErrorMessage", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

There are too many AWS Mobile Hub projects in the account or the account has exceeded the maximum number of resources in some AWS service. You should create another sub-account using AWS Organizations or remove some resources and retry your request.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ListBundlesRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of records to list in a single response.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles.

", - "location":"querystring", - "locationName":"nextToken" - } - }, - "documentation":"

Request structure to request all available bundles.

" - }, - "ListBundlesResult":{ - "type":"structure", - "members":{ - "bundleList":{ - "shape":"BundleList", - "documentation":"

A list of bundles.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

" - } - }, - "documentation":"

Result structure contains a list of all available bundles with details.

" - }, - "ListProjectsRequest":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of records to list in a single response.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects.

", - "location":"querystring", - "locationName":"nextToken" - } - }, - "documentation":"

Request structure used to request projects list in AWS Mobile Hub.

" - }, - "ListProjectsResult":{ - "type":"structure", - "members":{ - "projects":{"shape":"ProjectSummaries"}, - "nextToken":{"shape":"NextToken"} - }, - "documentation":"

Result structure used for requests to list projects in AWS Mobile Hub.

" - }, - "MaxResults":{ - "type":"integer", - "documentation":"

Maximum number of records to list in a single response.

" - }, - "NextToken":{ - "type":"string", - "documentation":"

Pagination token. Set to null to start listing records from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more entries.

" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

No entity can be found with the specified identifier.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Platform":{ - "type":"string", - "documentation":"

Developer desktop or target mobile app or website platform.

", - "enum":[ - "OSX", - "WINDOWS", - "LINUX", - "OBJC", - "SWIFT", - "ANDROID", - "JAVASCRIPT" - ] - }, - "Platforms":{ - "type":"list", - "member":{"shape":"Platform"}, - "documentation":"

Developer desktop or mobile app or website platforms.

" - }, - "ProjectDetails":{ - "type":"structure", - "members":{ - "name":{"shape":"ProjectName"}, - "projectId":{"shape":"ProjectId"}, - "region":{"shape":"ProjectRegion"}, - "state":{"shape":"ProjectState"}, - "createdDate":{ - "shape":"Date", - "documentation":"

Date the project was created.

" - }, - "lastUpdatedDate":{ - "shape":"Date", - "documentation":"

Date of the last modification of the project.

" - }, - "consoleUrl":{ - "shape":"ConsoleUrl", - "documentation":"

Website URL for this project in the AWS Mobile Hub console.

" - }, - "resources":{"shape":"Resources"} - }, - "documentation":"

Detailed information about an AWS Mobile Hub project.

" - }, - "ProjectId":{ - "type":"string", - "documentation":"

Unique project identifier.

" - }, - "ProjectName":{ - "type":"string", - "documentation":"

Name of the project.

" - }, - "ProjectRegion":{ - "type":"string", - "documentation":"

Default region to use for AWS resource creation in the AWS Mobile Hub project.

" - }, - "ProjectState":{ - "type":"string", - "documentation":"

Synchronization state for a project.

", - "enum":[ - "NORMAL", - "SYNCING", - "IMPORTING" - ] - }, - "ProjectSummaries":{ - "type":"list", - "member":{"shape":"ProjectSummary"}, - "documentation":"

List of projects.

" - }, - "ProjectSummary":{ - "type":"structure", - "members":{ - "name":{ - "shape":"ProjectName", - "documentation":"

Name of the project.

" - }, - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

" - } - }, - "documentation":"

Summary information about an AWS Mobile Hub project.

" - }, - "Resource":{ - "type":"structure", - "members":{ - "type":{"shape":"ResourceType"}, - "name":{"shape":"ResourceName"}, - "arn":{"shape":"ResourceArn"}, - "feature":{"shape":"Feature"}, - "attributes":{"shape":"Attributes"} - }, - "documentation":"

Information about an instance of an AWS resource associated with a project.

" - }, - "ResourceArn":{ - "type":"string", - "documentation":"

AWS resource name which uniquely identifies the resource in AWS systems.

" - }, - "ResourceName":{ - "type":"string", - "documentation":"

Name of the AWS resource (e.g., for an Amazon S3 bucket this is the name of the bucket).

" - }, - "ResourceType":{ - "type":"string", - "documentation":"

Simplified name for type of AWS resource (e.g., bucket is an Amazon S3 bucket).

" - }, - "Resources":{ - "type":"list", - "member":{"shape":"Resource"}, - "documentation":"

List of AWS resources associated with a project.

" - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"ErrorMessage", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The service is temporarily unavailable. The request should be retried after some time delay.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "ShareUrl":{ - "type":"string", - "documentation":"

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

" - }, - "SnapshotId":{ - "type":"string", - "documentation":"

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

" - }, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "retryAfterSeconds":{ - "shape":"ErrorMessage", - "location":"header", - "locationName":"Retry-After" - }, - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Too many requests have been received for this AWS account in too short a time. The request should be retried after some time delay.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Credentials of the caller are insufficient to authorize the request.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UpdateProjectRequest":{ - "type":"structure", - "required":["projectId"], - "members":{ - "contents":{ - "shape":"Contents", - "documentation":"

ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation.

" - }, - "projectId":{ - "shape":"ProjectId", - "documentation":"

Unique project identifier.

", - "location":"querystring", - "locationName":"projectId" - } - }, - "documentation":"

Request structure used for requests to update project configuration.

", - "payload":"contents" - }, - "UpdateProjectResult":{ - "type":"structure", - "members":{ - "details":{ - "shape":"ProjectDetails", - "documentation":"

Detailed information about the updated AWS Mobile Hub project.

" - } - }, - "documentation":"

Result structure used for requests to updated project configuration.

" - } - }, - "documentation":"

AWS Mobile Service provides mobile app and website developers with capabilities required to configure AWS resources and bootstrap their developer desktop projects with the necessary SDKs, constants, tools and samples to make use of those resources.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/service-2.json deleted file mode 100644 index 75c419ac..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mq/2017-11-27/service-2.json +++ /dev/null @@ -1,2434 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2017-11-27", - "endpointPrefix" : "mq", - "signingName" : "mq", - "serviceFullName" : "AmazonMQ", - "serviceId" : "mq", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "mq-2017-11-27", - "signatureVersion" : "v4" - }, - "operations" : { - "CreateBroker" : { - "name" : "CreateBroker", - "http" : { - "method" : "POST", - "requestUri" : "/v1/brokers", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateBrokerRequest" - }, - "output" : { - "shape" : "CreateBrokerResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "UnauthorizedException", - "documentation" : "HTTP Status Code 401: Unauthorized request. The provided credentials couldn't be validated." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ConflictException", - "documentation" : "HTTP Status Code 409: Conflict. This Broker name already exists. Retry your request with another name." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Creates a broker. Note: This API is asynchronous." - }, - "CreateConfiguration" : { - "name" : "CreateConfiguration", - "http" : { - "method" : "POST", - "requestUri" : "/v1/configurations", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateConfigurationRequest" - }, - "output" : { - "shape" : "CreateConfigurationResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ConflictException", - "documentation" : "HTTP Status Code 409: Conflict. This configuration name already exists. Retry your request with another configuration name." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your input and then retry your request." - } ], - "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." - }, - "CreateUser" : { - "name" : "CreateUser", - "http" : { - "method" : "POST", - "requestUri" : "/v1/brokers/{broker-id}/users/{username}", - "responseCode" : 200 - }, - "input" : { - "shape" : "CreateUserRequest" - }, - "output" : { - "shape" : "CreateUserResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ConflictException", - "documentation" : "HTTP Status Code 409: Conflict. Retry your request." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Creates an ActiveMQ user." - }, - "DeleteBroker" : { - "name" : "DeleteBroker", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/brokers/{broker-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteBrokerRequest" - }, - "output" : { - "shape" : "DeleteBrokerResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Deletes a broker. Note: This API is asynchronous." - }, - "DeleteUser" : { - "name" : "DeleteUser", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/brokers/{broker-id}/users/{username}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteUserRequest" - }, - "output" : { - "shape" : "DeleteUserResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Deletes an ActiveMQ user." - }, - "DescribeBroker" : { - "name" : "DescribeBroker", - "http" : { - "method" : "GET", - "requestUri" : "/v1/brokers/{broker-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeBrokerRequest" - }, - "output" : { - "shape" : "DescribeBrokerResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns information about the specified broker." - }, - "DescribeConfiguration" : { - "name" : "DescribeConfiguration", - "http" : { - "method" : "GET", - "requestUri" : "/v1/configurations/{configuration-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeConfigurationRequest" - }, - "output" : { - "shape" : "DescribeConfigurationResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns information about the specified configuration." - }, - "DescribeConfigurationRevision" : { - "name" : "DescribeConfigurationRevision", - "http" : { - "method" : "GET", - "requestUri" : "/v1/configurations/{configuration-id}/revisions/{configuration-revision}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeConfigurationRevisionRequest" - }, - "output" : { - "shape" : "DescribeConfigurationRevisionResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns the specified configuration revision for the specified configuration." - }, - "DescribeUser" : { - "name" : "DescribeUser", - "http" : { - "method" : "GET", - "requestUri" : "/v1/brokers/{broker-id}/users/{username}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeUserRequest" - }, - "output" : { - "shape" : "DescribeUserResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns information about an ActiveMQ user." - }, - "ListBrokers" : { - "name" : "ListBrokers", - "http" : { - "method" : "GET", - "requestUri" : "/v1/brokers", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListBrokersRequest" - }, - "output" : { - "shape" : "ListBrokersResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns a list of all brokers." - }, - "ListConfigurationRevisions" : { - "name" : "ListConfigurationRevisions", - "http" : { - "method" : "GET", - "requestUri" : "/v1/configurations/{configuration-id}/revisions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListConfigurationRevisionsRequest" - }, - "output" : { - "shape" : "ListConfigurationRevisionsResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns a list of all revisions for the specified configuration." - }, - "ListConfigurations" : { - "name" : "ListConfigurations", - "http" : { - "method" : "GET", - "requestUri" : "/v1/configurations", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListConfigurationsRequest" - }, - "output" : { - "shape" : "ListConfigurationsResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns a list of all configurations." - }, - "ListUsers" : { - "name" : "ListUsers", - "http" : { - "method" : "GET", - "requestUri" : "/v1/brokers/{broker-id}/users", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListUsersRequest" - }, - "output" : { - "shape" : "ListUsersResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Returns a list of all ActiveMQ users." - }, - "RebootBroker" : { - "name" : "RebootBroker", - "http" : { - "method" : "POST", - "requestUri" : "/v1/brokers/{broker-id}/reboot", - "responseCode" : 200 - }, - "input" : { - "shape" : "RebootBrokerRequest" - }, - "output" : { - "shape" : "RebootBrokerResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Reboots a broker. Note: This API is asynchronous." - }, - "UpdateBroker" : { - "name" : "UpdateBroker", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/brokers/{broker-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateBrokerRequest" - }, - "output" : { - "shape" : "UpdateBrokerResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Adds a pending configuration change to a broker." - }, - "UpdateConfiguration" : { - "name" : "UpdateConfiguration", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/configurations/{configuration-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateConfigurationRequest" - }, - "output" : { - "shape" : "UpdateConfigurationResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ConflictException", - "documentation" : "HTTP Status Code 409: Conflict. This configuration name already exists. Retry your request with another configuration name." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your input and then retry your request." - } ], - "documentation" : "Updates the specified configuration." - }, - "UpdateUser" : { - "name" : "UpdateUser", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/brokers/{broker-id}/users/{username}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateUserRequest" - }, - "output" : { - "shape" : "UpdateUserResponse", - "documentation" : "HTTP Status Code 200: OK." - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "BadRequestException", - "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." - }, { - "shape" : "InternalServerErrorException", - "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." - }, { - "shape" : "ConflictException", - "documentation" : "HTTP Status Code 409: Conflict. Retry your request." - }, { - "shape" : "ForbiddenException", - "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." - } ], - "documentation" : "Updates the information for an ActiveMQ user." - } - }, - "shapes" : { - "BadRequestException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "BrokerInstance" : { - "type" : "structure", - "members" : { - "ConsoleURL" : { - "shape" : "__string", - "locationName" : "consoleURL", - "documentation" : "The URL of the broker's ActiveMQ Web Console." - }, - "Endpoints" : { - "shape" : "__listOf__string", - "locationName" : "endpoints", - "documentation" : "The broker's wire-level protocol endpoints." - }, - "IpAddress" : { - "shape" : "__string", - "locationName" : "ipAddress", - "documentation" : "The IP address of the ENI attached to the broker." - } - }, - "documentation" : "Returns information about all brokers." - }, - "BrokerState" : { - "type" : "string", - "documentation" : "The status of the broker.", - "enum" : [ "CREATION_IN_PROGRESS", "CREATION_FAILED", "DELETION_IN_PROGRESS", "RUNNING", "REBOOT_IN_PROGRESS" ] - }, - "BrokerSummary" : { - "type" : "structure", - "members" : { - "BrokerArn" : { - "shape" : "__string", - "locationName" : "brokerArn", - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "BrokerName" : { - "shape" : "__string", - "locationName" : "brokerName", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "BrokerState" : { - "shape" : "BrokerState", - "locationName" : "brokerState", - "documentation" : "The status of the broker." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "The time when the broker was created." - }, - "DeploymentMode" : { - "shape" : "DeploymentMode", - "locationName" : "deploymentMode", - "documentation" : "Required. The deployment mode of the broker." - }, - "HostInstanceType" : { - "shape" : "__string", - "locationName" : "hostInstanceType", - "documentation" : "The broker's instance type." - } - }, - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "ChangeType" : { - "type" : "string", - "documentation" : "The type of change pending for the ActiveMQ user.", - "enum" : [ "CREATE", "UPDATE", "DELETE" ] - }, - "Configuration" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The ARN of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration revision." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "Required. The description of the configuration." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "Required. The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - }, - "documentation" : "Returns information about all configurations." - }, - "ConfigurationId" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "Revision" : { - "shape" : "__integer", - "locationName" : "revision", - "documentation" : "The revision number of the configuration." - } - }, - "documentation" : "A list of information about the configuration." - }, - "ConfigurationRevision" : { - "type" : "structure", - "members" : { - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration revision." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of the configuration revision." - }, - "Revision" : { - "shape" : "__integer", - "locationName" : "revision", - "documentation" : "Required. The revision number of the configuration." - } - }, - "documentation" : "Returns information about the specified configuration revision." - }, - "Configurations" : { - "type" : "structure", - "members" : { - "Current" : { - "shape" : "ConfigurationId", - "locationName" : "current", - "documentation" : "The current configuration of the broker." - }, - "History" : { - "shape" : "__listOfConfigurationId", - "locationName" : "history", - "documentation" : "The history of configurations applied to the broker." - }, - "Pending" : { - "shape" : "ConfigurationId", - "locationName" : "pending", - "documentation" : "The pending configuration of the broker." - } - }, - "documentation" : "Broker configuration information" - }, - "ConflictException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 409 - } - }, - "CreateBrokerInput" : { - "type" : "structure", - "members" : { - "AutoMinorVersionUpgrade" : { - "shape" : "__boolean", - "locationName" : "autoMinorVersionUpgrade", - "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." - }, - "BrokerName" : { - "shape" : "__string", - "locationName" : "brokerName", - "documentation" : "Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "A list of information about the configuration." - }, - "CreatorRequestId" : { - "shape" : "__string", - "locationName" : "creatorRequestId", - "documentation" : "The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.", - "idempotencyToken" : true - }, - "DeploymentMode" : { - "shape" : "DeploymentMode", - "locationName" : "deploymentMode", - "documentation" : "Required. The deployment mode of the broker." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "HostInstanceType" : { - "shape" : "__string", - "locationName" : "hostInstanceType", - "documentation" : "Required. The broker's instance type." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "Enables Amazon CloudWatch logging for brokers." - }, - "MaintenanceWindowStartTime" : { - "shape" : "WeeklyStartTime", - "locationName" : "maintenanceWindowStartTime", - "documentation" : "The parameters that determine the WeeklyStartTime." - }, - "PubliclyAccessible" : { - "shape" : "__boolean", - "locationName" : "publiclyAccessible", - "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." - }, - "SecurityGroups" : { - "shape" : "__listOf__string", - "locationName" : "securityGroups", - "documentation" : "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers." - }, - "SubnetIds" : { - "shape" : "__listOf__string", - "locationName" : "subnetIds", - "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." - }, - "Users" : { - "shape" : "__listOfUser", - "locationName" : "users", - "documentation" : "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Required. The time period during which Amazon MQ applies pending updates or patches to the broker." - }, - "CreateBrokerOutput" : { - "type" : "structure", - "members" : { - "BrokerArn" : { - "shape" : "__string", - "locationName" : "brokerArn", - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - } - }, - "documentation" : "Returns information about the created broker." - }, - "CreateBrokerRequest" : { - "type" : "structure", - "members" : { - "AutoMinorVersionUpgrade" : { - "shape" : "__boolean", - "locationName" : "autoMinorVersionUpgrade", - "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." - }, - "BrokerName" : { - "shape" : "__string", - "locationName" : "brokerName", - "documentation" : "Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "A list of information about the configuration." - }, - "CreatorRequestId" : { - "shape" : "__string", - "locationName" : "creatorRequestId", - "documentation" : "The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.", - "idempotencyToken" : true - }, - "DeploymentMode" : { - "shape" : "DeploymentMode", - "locationName" : "deploymentMode", - "documentation" : "Required. The deployment mode of the broker." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "HostInstanceType" : { - "shape" : "__string", - "locationName" : "hostInstanceType", - "documentation" : "Required. The broker's instance type." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "Enables Amazon CloudWatch logging for brokers." - }, - "MaintenanceWindowStartTime" : { - "shape" : "WeeklyStartTime", - "locationName" : "maintenanceWindowStartTime", - "documentation" : "The parameters that determine the WeeklyStartTime." - }, - "PubliclyAccessible" : { - "shape" : "__boolean", - "locationName" : "publiclyAccessible", - "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." - }, - "SecurityGroups" : { - "shape" : "__listOf__string", - "locationName" : "securityGroups", - "documentation" : "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers." - }, - "SubnetIds" : { - "shape" : "__listOf__string", - "locationName" : "subnetIds", - "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." - }, - "Users" : { - "shape" : "__listOfUser", - "locationName" : "users", - "documentation" : "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Creates a broker using the specified properties." - }, - "CreateBrokerResponse" : { - "type" : "structure", - "members" : { - "BrokerArn" : { - "shape" : "__string", - "locationName" : "brokerArn", - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - } - } - }, - "CreateConfigurationInput" : { - "type" : "structure", - "members" : { - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - }, - "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." - }, - "CreateConfigurationOutput" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - }, - "documentation" : "Returns information about the created configuration." - }, - "CreateConfigurationRequest" : { - "type" : "structure", - "members" : { - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - }, - "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." - }, - "CreateConfigurationResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - } - }, - "CreateUserInput" : { - "type" : "structure", - "members" : { - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Password" : { - "shape" : "__string", - "locationName" : "password", - "documentation" : "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." - } - }, - "documentation" : "Creates a new ActiveMQ user." - }, - "CreateUserRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Password" : { - "shape" : "__string", - "locationName" : "password", - "documentation" : "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." - }, - "Username" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "username", - "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Creates a new ActiveMQ user.", - "required" : [ "Username", "BrokerId" ] - }, - "CreateUserResponse" : { - "type" : "structure", - "members" : { } - }, - "DayOfWeek" : { - "type" : "string", - "enum" : [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] - }, - "DeleteBrokerOutput" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - } - }, - "documentation" : "Returns information about the deleted broker." - }, - "DeleteBrokerRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - } - }, - "required" : [ "BrokerId" ] - }, - "DeleteBrokerResponse" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - } - } - }, - "DeleteUserRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "Username" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "username", - "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "required" : [ "Username", "BrokerId" ] - }, - "DeleteUserResponse" : { - "type" : "structure", - "members" : { } - }, - "DeploymentMode" : { - "type" : "string", - "documentation" : "The deployment mode of the broker.", - "enum" : [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ" ] - }, - "DescribeBrokerOutput" : { - "type" : "structure", - "members" : { - "AutoMinorVersionUpgrade" : { - "shape" : "__boolean", - "locationName" : "autoMinorVersionUpgrade", - "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." - }, - "BrokerArn" : { - "shape" : "__string", - "locationName" : "brokerArn", - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "BrokerInstances" : { - "shape" : "__listOfBrokerInstance", - "locationName" : "brokerInstances", - "documentation" : "A list of information about allocated brokers." - }, - "BrokerName" : { - "shape" : "__string", - "locationName" : "brokerName", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "BrokerState" : { - "shape" : "BrokerState", - "locationName" : "brokerState", - "documentation" : "The status of the broker." - }, - "Configurations" : { - "shape" : "Configurations", - "locationName" : "configurations", - "documentation" : "The list of all revisions for the specified configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "The time when the broker was created." - }, - "DeploymentMode" : { - "shape" : "DeploymentMode", - "locationName" : "deploymentMode", - "documentation" : "Required. The deployment mode of the broker." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "HostInstanceType" : { - "shape" : "__string", - "locationName" : "hostInstanceType", - "documentation" : "The broker's instance type." - }, - "Logs" : { - "shape" : "LogsSummary", - "locationName" : "logs", - "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." - }, - "MaintenanceWindowStartTime" : { - "shape" : "WeeklyStartTime", - "locationName" : "maintenanceWindowStartTime", - "documentation" : "The parameters that determine the WeeklyStartTime." - }, - "PubliclyAccessible" : { - "shape" : "__boolean", - "locationName" : "publiclyAccessible", - "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." - }, - "SecurityGroups" : { - "shape" : "__listOf__string", - "locationName" : "securityGroups", - "documentation" : "Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers." - }, - "SubnetIds" : { - "shape" : "__listOf__string", - "locationName" : "subnetIds", - "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." - }, - "Users" : { - "shape" : "__listOfUserSummary", - "locationName" : "users", - "documentation" : "The list of all ActiveMQ usernames for the specified broker." - } - }, - "documentation" : "The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "DescribeBrokerRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - } - }, - "required" : [ "BrokerId" ] - }, - "DescribeBrokerResponse" : { - "type" : "structure", - "members" : { - "AutoMinorVersionUpgrade" : { - "shape" : "__boolean", - "locationName" : "autoMinorVersionUpgrade", - "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." - }, - "BrokerArn" : { - "shape" : "__string", - "locationName" : "brokerArn", - "documentation" : "The Amazon Resource Name (ARN) of the broker." - }, - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "BrokerInstances" : { - "shape" : "__listOfBrokerInstance", - "locationName" : "brokerInstances", - "documentation" : "A list of information about allocated brokers." - }, - "BrokerName" : { - "shape" : "__string", - "locationName" : "brokerName", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "BrokerState" : { - "shape" : "BrokerState", - "locationName" : "brokerState", - "documentation" : "The status of the broker." - }, - "Configurations" : { - "shape" : "Configurations", - "locationName" : "configurations", - "documentation" : "The list of all revisions for the specified configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "The time when the broker was created." - }, - "DeploymentMode" : { - "shape" : "DeploymentMode", - "locationName" : "deploymentMode", - "documentation" : "Required. The deployment mode of the broker." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "The version of the broker engine. Note: Currently, Amazon MQ supports only 5.15.0." - }, - "HostInstanceType" : { - "shape" : "__string", - "locationName" : "hostInstanceType", - "documentation" : "The broker's instance type." - }, - "Logs" : { - "shape" : "LogsSummary", - "locationName" : "logs", - "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." - }, - "MaintenanceWindowStartTime" : { - "shape" : "WeeklyStartTime", - "locationName" : "maintenanceWindowStartTime", - "documentation" : "The parameters that determine the WeeklyStartTime." - }, - "PubliclyAccessible" : { - "shape" : "__boolean", - "locationName" : "publiclyAccessible", - "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." - }, - "SecurityGroups" : { - "shape" : "__listOf__string", - "locationName" : "securityGroups", - "documentation" : "Required. The list of rules (1 minimum, 125 maximum) that authorize connections to brokers." - }, - "SubnetIds" : { - "shape" : "__listOf__string", - "locationName" : "subnetIds", - "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." - }, - "Users" : { - "shape" : "__listOfUserSummary", - "locationName" : "users", - "documentation" : "The list of all ActiveMQ usernames for the specified broker." - } - } - }, - "DescribeConfigurationRequest" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "configuration-id", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - } - }, - "required" : [ "ConfigurationId" ] - }, - "DescribeConfigurationResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The ARN of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration revision." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "Required. The description of the configuration." - }, - "EngineType" : { - "shape" : "EngineType", - "locationName" : "engineType", - "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." - }, - "EngineVersion" : { - "shape" : "__string", - "locationName" : "engineVersion", - "documentation" : "Required. The version of the broker engine." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "Required. The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - } - } - }, - "DescribeConfigurationRevisionOutput" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "locationName" : "configurationId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Data" : { - "shape" : "__string", - "locationName" : "data", - "documentation" : "Required. The base64-encoded XML configuration." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of the configuration." - } - }, - "documentation" : "Returns the specified configuration revision for the specified configuration." - }, - "DescribeConfigurationRevisionRequest" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "configuration-id", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - }, - "ConfigurationRevision" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "configuration-revision", - "documentation" : "The revision of the configuration." - } - }, - "required" : [ "ConfigurationRevision", "ConfigurationId" ] - }, - "DescribeConfigurationRevisionResponse" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "locationName" : "configurationId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Data" : { - "shape" : "__string", - "locationName" : "data", - "documentation" : "Required. The base64-encoded XML configuration." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of the configuration." - } - } - }, - "DescribeUserOutput" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Pending" : { - "shape" : "UserPendingChanges", - "locationName" : "pending", - "documentation" : "The status of the changes pending for the ActiveMQ user." - }, - "Username" : { - "shape" : "__string", - "locationName" : "username", - "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Returns information about an ActiveMQ user." - }, - "DescribeUserRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "Username" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "username", - "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "required" : [ "Username", "BrokerId" ] - }, - "DescribeUserResponse" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Pending" : { - "shape" : "UserPendingChanges", - "locationName" : "pending", - "documentation" : "The status of the changes pending for the ActiveMQ user." - }, - "Username" : { - "shape" : "__string", - "locationName" : "username", - "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - } - }, - "EngineType" : { - "type" : "string", - "documentation" : "The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.", - "enum" : [ "ACTIVEMQ" ] - }, - "Error" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error." - }, - "ForbiddenException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 403 - } - }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "ListBrokersOutput" : { - "type" : "structure", - "members" : { - "BrokerSummaries" : { - "shape" : "__listOfBrokerSummary", - "locationName" : "brokerSummaries", - "documentation" : "A list of information about all brokers." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - }, - "documentation" : "A list of information about all brokers." - }, - "ListBrokersRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - } - }, - "ListBrokersResponse" : { - "type" : "structure", - "members" : { - "BrokerSummaries" : { - "shape" : "__listOfBrokerSummary", - "locationName" : "brokerSummaries", - "documentation" : "A list of information about all brokers." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - } - }, - "ListConfigurationRevisionsOutput" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "locationName" : "configurationId", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - }, - "MaxResults" : { - "shape" : "__integer", - "locationName" : "maxResults", - "documentation" : "The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - }, - "Revisions" : { - "shape" : "__listOfConfigurationRevision", - "locationName" : "revisions", - "documentation" : "The list of all revisions for the specified configuration." - } - }, - "documentation" : "Returns a list of all revisions for the specified configuration." - }, - "ListConfigurationRevisionsRequest" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "configuration-id", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - }, - "required" : [ "ConfigurationId" ] - }, - "ListConfigurationRevisionsResponse" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "locationName" : "configurationId", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - }, - "MaxResults" : { - "shape" : "__integer", - "locationName" : "maxResults", - "documentation" : "The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - }, - "Revisions" : { - "shape" : "__listOfConfigurationRevision", - "locationName" : "revisions", - "documentation" : "The list of all revisions for the specified configuration." - } - } - }, - "ListConfigurationsOutput" : { - "type" : "structure", - "members" : { - "Configurations" : { - "shape" : "__listOfConfiguration", - "locationName" : "configurations", - "documentation" : "The list of all revisions for the specified configuration." - }, - "MaxResults" : { - "shape" : "__integer", - "locationName" : "maxResults", - "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - }, - "documentation" : "Returns a list of all configurations." - }, - "ListConfigurationsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - } - }, - "ListConfigurationsResponse" : { - "type" : "structure", - "members" : { - "Configurations" : { - "shape" : "__listOfConfiguration", - "locationName" : "configurations", - "documentation" : "The list of all revisions for the specified configuration." - }, - "MaxResults" : { - "shape" : "__integer", - "locationName" : "maxResults", - "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - } - }, - "ListUsersOutput" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "MaxResults" : { - "shape" : "__integerMin5Max100", - "locationName" : "maxResults", - "documentation" : "Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - }, - "Users" : { - "shape" : "__listOfUserSummary", - "locationName" : "users", - "documentation" : "Required. The list of all ActiveMQ usernames for the specified broker." - } - }, - "documentation" : "Returns a list of all ActiveMQ users." - }, - "ListUsersRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults", - "documentation" : "The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - } - }, - "required" : [ "BrokerId" ] - }, - "ListUsersResponse" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "MaxResults" : { - "shape" : "__integerMin5Max100", - "locationName" : "maxResults", - "documentation" : "Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." - }, - "Users" : { - "shape" : "__listOfUserSummary", - "locationName" : "users", - "documentation" : "Required. The list of all ActiveMQ usernames for the specified broker." - } - } - }, - "Logs" : { - "type" : "structure", - "members" : { - "Audit" : { - "shape" : "__boolean", - "locationName" : "audit", - "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." - }, - "General" : { - "shape" : "__boolean", - "locationName" : "general", - "documentation" : "Enables general logging." - } - }, - "documentation" : "The list of information about logs to be enabled for the specified broker." - }, - "LogsSummary" : { - "type" : "structure", - "members" : { - "Audit" : { - "shape" : "__boolean", - "locationName" : "audit", - "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." - }, - "AuditLogGroup" : { - "shape" : "__string", - "locationName" : "auditLogGroup", - "documentation" : "Location of CloudWatch Log group where audit logs will be sent." - }, - "General" : { - "shape" : "__boolean", - "locationName" : "general", - "documentation" : "Enables general logging." - }, - "GeneralLogGroup" : { - "shape" : "__string", - "locationName" : "generalLogGroup", - "documentation" : "Location of CloudWatch Log group where general logs will be sent." - }, - "Pending" : { - "shape" : "PendingLogs", - "locationName" : "pending", - "documentation" : "The list of information about logs pending to be deployed for the specified broker." - } - }, - "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." - }, - "MaxResults" : { - "type" : "integer", - "min" : 1, - "max" : 100 - }, - "NotFoundException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 404 - } - }, - "PendingLogs" : { - "type" : "structure", - "members" : { - "Audit" : { - "shape" : "__boolean", - "locationName" : "audit", - "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." - }, - "General" : { - "shape" : "__boolean", - "locationName" : "general", - "documentation" : "Enables general logging." - } - }, - "documentation" : "The list of information about logs to be enabled for the specified broker." - }, - "RebootBrokerRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - } - }, - "required" : [ "BrokerId" ] - }, - "RebootBrokerResponse" : { - "type" : "structure", - "members" : { } - }, - "SanitizationWarning" : { - "type" : "structure", - "members" : { - "AttributeName" : { - "shape" : "__string", - "locationName" : "attributeName", - "documentation" : "The name of the XML attribute that has been sanitized." - }, - "ElementName" : { - "shape" : "__string", - "locationName" : "elementName", - "documentation" : "The name of the XML element that has been sanitized." - }, - "Reason" : { - "shape" : "SanitizationWarningReason", - "locationName" : "reason", - "documentation" : "Required. The reason for which the XML elements or attributes were sanitized." - } - }, - "documentation" : "Returns information about the XML element or attribute that was sanitized in the configuration." - }, - "SanitizationWarningReason" : { - "type" : "string", - "documentation" : "The reason for which the XML elements or attributes were sanitized.", - "enum" : [ "DISALLOWED_ELEMENT_REMOVED", "DISALLOWED_ATTRIBUTE_REMOVED", "INVALID_ATTRIBUTE_VALUE_REMOVED" ] - }, - "UnauthorizedException" : { - "type" : "structure", - "members" : { - "ErrorAttribute" : { - "shape" : "__string", - "locationName" : "errorAttribute", - "documentation" : "The attribute which caused the error." - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "The explanation of the error." - } - }, - "documentation" : "Returns information about an error.", - "exception" : true, - "error" : { - "httpStatusCode" : 401 - } - }, - "UpdateBrokerInput" : { - "type" : "structure", - "members" : { - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "A list of information about the configuration." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "Enables Amazon CloudWatch logging for brokers." - } - }, - "documentation" : "Updates the broker using the specified properties." - }, - "UpdateBrokerOutput" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "The ID of the updated configuration." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "The list of information about logs to be enabled for the specified broker." - } - }, - "documentation" : "Returns information about the updated broker." - }, - "UpdateBrokerRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." - }, - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "A list of information about the configuration." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "Enables Amazon CloudWatch logging for brokers." - } - }, - "documentation" : "Updates the broker using the specified properties.", - "required" : [ "BrokerId" ] - }, - "UpdateBrokerResponse" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "locationName" : "brokerId", - "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." - }, - "Configuration" : { - "shape" : "ConfigurationId", - "locationName" : "configuration", - "documentation" : "The ID of the updated configuration." - }, - "Logs" : { - "shape" : "Logs", - "locationName" : "logs", - "documentation" : "The list of information about logs to be enabled for the specified broker." - } - } - }, - "UpdateConfigurationInput" : { - "type" : "structure", - "members" : { - "Data" : { - "shape" : "__string", - "locationName" : "data", - "documentation" : "Required. The base64-encoded XML configuration." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of the configuration." - } - }, - "documentation" : "Updates the specified configuration." - }, - "UpdateConfigurationOutput" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - }, - "Warnings" : { - "shape" : "__listOfSanitizationWarning", - "locationName" : "warnings", - "documentation" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." - } - }, - "documentation" : "Returns information about the updated configuration." - }, - "UpdateConfigurationRequest" : { - "type" : "structure", - "members" : { - "ConfigurationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "configuration-id", - "documentation" : "The unique ID that Amazon MQ generates for the configuration." - }, - "Data" : { - "shape" : "__string", - "locationName" : "data", - "documentation" : "Required. The base64-encoded XML configuration." - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "The description of the configuration." - } - }, - "documentation" : "Updates the specified configuration.", - "required" : [ "ConfigurationId" ] - }, - "UpdateConfigurationResponse" : { - "type" : "structure", - "members" : { - "Arn" : { - "shape" : "__string", - "locationName" : "arn", - "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." - }, - "Created" : { - "shape" : "__timestampIso8601", - "locationName" : "created", - "documentation" : "Required. The date and time of the configuration." - }, - "Id" : { - "shape" : "__string", - "locationName" : "id", - "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." - }, - "LatestRevision" : { - "shape" : "ConfigurationRevision", - "locationName" : "latestRevision", - "documentation" : "The latest revision of the configuration." - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." - }, - "Warnings" : { - "shape" : "__listOfSanitizationWarning", - "locationName" : "warnings", - "documentation" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." - } - } - }, - "UpdateUserInput" : { - "type" : "structure", - "members" : { - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Password" : { - "shape" : "__string", - "locationName" : "password", - "documentation" : "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." - } - }, - "documentation" : "Updates the information for an ActiveMQ user." - }, - "UpdateUserRequest" : { - "type" : "structure", - "members" : { - "BrokerId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "broker-id", - "documentation" : "The unique ID that Amazon MQ generates for the broker." - }, - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Password" : { - "shape" : "__string", - "locationName" : "password", - "documentation" : "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." - }, - "Username" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "username", - "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Updates the information for an ActiveMQ user.", - "required" : [ "Username", "BrokerId" ] - }, - "UpdateUserResponse" : { - "type" : "structure", - "members" : { } - }, - "User" : { - "type" : "structure", - "members" : { - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "Password" : { - "shape" : "__string", - "locationName" : "password", - "documentation" : "Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." - }, - "Username" : { - "shape" : "__string", - "locationName" : "username", - "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "An ActiveMQ user associated with the broker." - }, - "UserPendingChanges" : { - "type" : "structure", - "members" : { - "ConsoleAccess" : { - "shape" : "__boolean", - "locationName" : "consoleAccess", - "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." - }, - "Groups" : { - "shape" : "__listOf__string", - "locationName" : "groups", - "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - }, - "PendingChange" : { - "shape" : "ChangeType", - "locationName" : "pendingChange", - "documentation" : "Required. The type of change pending for the ActiveMQ user." - } - }, - "documentation" : "Returns information about the status of the changes pending for the ActiveMQ user." - }, - "UserSummary" : { - "type" : "structure", - "members" : { - "PendingChange" : { - "shape" : "ChangeType", - "locationName" : "pendingChange", - "documentation" : "The type of change pending for the ActiveMQ user." - }, - "Username" : { - "shape" : "__string", - "locationName" : "username", - "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." - } - }, - "documentation" : "Returns a list of all ActiveMQ users." - }, - "WeeklyStartTime" : { - "type" : "structure", - "members" : { - "DayOfWeek" : { - "shape" : "DayOfWeek", - "locationName" : "dayOfWeek", - "documentation" : "Required. The day of the week." - }, - "TimeOfDay" : { - "shape" : "__string", - "locationName" : "timeOfDay", - "documentation" : "Required. The time, in 24-hour format." - }, - "TimeZone" : { - "shape" : "__string", - "locationName" : "timeZone", - "documentation" : "The time zone, UTC by default, in either the Country/City format, or the UTC offset format." - } - }, - "documentation" : "The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker." - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__integerMin5Max100" : { - "type" : "integer", - "min" : 5, - "max" : 100 - }, - "__listOfBrokerInstance" : { - "type" : "list", - "member" : { - "shape" : "BrokerInstance" - } - }, - "__listOfBrokerSummary" : { - "type" : "list", - "member" : { - "shape" : "BrokerSummary" - } - }, - "__listOfConfiguration" : { - "type" : "list", - "member" : { - "shape" : "Configuration" - } - }, - "__listOfConfigurationId" : { - "type" : "list", - "member" : { - "shape" : "ConfigurationId" - } - }, - "__listOfConfigurationRevision" : { - "type" : "list", - "member" : { - "shape" : "ConfigurationRevision" - } - }, - "__listOfSanitizationWarning" : { - "type" : "list", - "member" : { - "shape" : "SanitizationWarning" - } - }, - "__listOfUser" : { - "type" : "list", - "member" : { - "shape" : "User" - } - }, - "__listOfUserSummary" : { - "type" : "list", - "member" : { - "shape" : "UserSummary" - } - }, - "__listOf__string" : { - "type" : "list", - "member" : { - "shape" : "__string" - } - }, - "__long" : { - "type" : "long" - }, - "__string" : { - "type" : "string" - }, - "__timestampIso8601" : { - "type" : "timestamp", - "timestampFormat" : "iso8601" - }, - "__timestampUnix" : { - "type" : "timestamp", - "timestampFormat" : "unixTimestamp" - } - }, - "documentation" : "Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols." -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/paginators-1.json deleted file mode 100644 index ea50cacc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/paginators-1.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "pagination": { - "ListAssignmentsForHIT": { - "result_key": "Assignments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListQualificationTypes": { - "result_key": "QualificationTypes", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListHITs": { - "result_key": "HITs", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListWorkerBlocks": { - "result_key": "WorkerBlocks", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListReviewableHITs": { - "result_key": "HITs", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListHITsForQualificationType": { - "result_key": "HITs", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListQualificationRequests": { - "result_key": "QualificationRequests", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListWorkersWithQualificationType": { - "result_key": "Qualifications", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListBonusPayments": { - "result_key": "BonusPayments", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/service-2.json deleted file mode 100644 index 77db25a9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/mturk/2017-01-17/service-2.json +++ /dev/null @@ -1,2569 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-01-17", - "endpointPrefix":"mturk-requester", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon MTurk", - "serviceFullName":"Amazon Mechanical Turk", - "serviceId":"MTurk", - "signatureVersion":"v4", - "targetPrefix":"MTurkRequesterServiceV20170117", - "uid":"mturk-requester-2017-01-17" - }, - "operations":{ - "AcceptQualificationRequest":{ - "name":"AcceptQualificationRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptQualificationRequestRequest"}, - "output":{"shape":"AcceptQualificationRequestResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The AcceptQualificationRequest operation approves a Worker's request for a Qualification.

Only the owner of the Qualification type can grant a Qualification request for that type.

A successful request for the AcceptQualificationRequest operation returns with no errors and an empty body.

" - }, - "ApproveAssignment":{ - "name":"ApproveAssignment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ApproveAssignmentRequest"}, - "output":{"shape":"ApproveAssignmentResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ApproveAssignment operation approves the results of a completed assignment.

Approving an assignment initiates two payments from the Requester's Amazon.com account

  • The Worker who submitted the results is paid the reward specified in the HIT.

  • Amazon Mechanical Turk fees are debited.

If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.

You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.

", - "idempotent":true - }, - "AssociateQualificationWithWorker":{ - "name":"AssociateQualificationWithWorker", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateQualificationWithWorkerRequest"}, - "output":{"shape":"AssociateQualificationWithWorkerResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The AssociateQualificationWithWorker operation gives a Worker a Qualification. AssociateQualificationWithWorker does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker.

You can only assign a Qualification of a Qualification type that you created (using the CreateQualificationType operation).

Note: AssociateQualificationWithWorker does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the RejectQualificationRequest operation.

" - }, - "CreateAdditionalAssignmentsForHIT":{ - "name":"CreateAdditionalAssignmentsForHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAdditionalAssignmentsForHITRequest"}, - "output":{"shape":"CreateAdditionalAssignmentsForHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateAdditionalAssignmentsForHIT operation increases the maximum number of assignments of an existing HIT.

To extend the maximum number of assignments, specify the number of additional assignments.

  • HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease exception.

  • HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an AWS.MechanicalTurk.HITTooOldForExtension exception.

" - }, - "CreateHIT":{ - "name":"CreateHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHITRequest"}, - "output":{"shape":"CreateHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateHIT operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website.

This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to CreateHIT, a new HIT is created for you, with a new HITTypeID. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time.

An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType operation and then call the CreateHITWithHITType operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHIT also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" - }, - "CreateHITType":{ - "name":"CreateHITType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHITTypeRequest"}, - "output":{"shape":"CreateHITTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateHITType operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.

", - "idempotent":true - }, - "CreateHITWithHITType":{ - "name":"CreateHITWithHITType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHITWithHITTypeRequest"}, - "output":{"shape":"CreateHITWithHITTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateHITWithHITType operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the CreateHITType operation.

This is an alternative way to create HITs from the CreateHIT operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHITWithHITType also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" - }, - "CreateQualificationType":{ - "name":"CreateQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateQualificationTypeRequest"}, - "output":{"shape":"CreateQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateQualificationType operation creates a new Qualification type, which is represented by a QualificationType data structure.

" - }, - "CreateWorkerBlock":{ - "name":"CreateWorkerBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateWorkerBlockRequest"}, - "output":{"shape":"CreateWorkerBlockResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The CreateWorkerBlock operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.

" - }, - "DeleteHIT":{ - "name":"DeleteHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHITRequest"}, - "output":{"shape":"DeleteHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The DeleteHIT operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it.

You can only dispose of HITs that are in the Reviewable state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error.

  • HITs are automatically disposed of after 120 days.

  • After you dispose of a HIT, you can no longer approve the HIT's rejected assignments.

  • Disposed HITs are not returned in results for the ListHITs operation.

  • Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.

", - "idempotent":true - }, - "DeleteQualificationType":{ - "name":"DeleteQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteQualificationTypeRequest"}, - "output":{"shape":"DeleteQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The DeleteQualificationType deletes a Qualification type and deletes any HIT types that are associated with the Qualification type.

This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.

DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.

", - "idempotent":true - }, - "DeleteWorkerBlock":{ - "name":"DeleteWorkerBlock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteWorkerBlockRequest"}, - "output":{"shape":"DeleteWorkerBlockResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The DeleteWorkerBlock operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.

", - "idempotent":true - }, - "DisassociateQualificationFromWorker":{ - "name":"DisassociateQualificationFromWorker", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateQualificationFromWorkerRequest"}, - "output":{"shape":"DisassociateQualificationFromWorkerResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The DisassociateQualificationFromWorker revokes a previously granted Qualification from a user.

You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.

" - }, - "GetAccountBalance":{ - "name":"GetAccountBalance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAccountBalanceRequest"}, - "output":{"shape":"GetAccountBalanceResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetAccountBalance operation retrieves the amount of money in your Amazon Mechanical Turk account.

", - "idempotent":true - }, - "GetAssignment":{ - "name":"GetAssignment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAssignmentRequest"}, - "output":{"shape":"GetAssignmentResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetAssignment operation retrieves the details of the specified Assignment.

", - "idempotent":true - }, - "GetFileUploadURL":{ - "name":"GetFileUploadURL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetFileUploadURLRequest"}, - "output":{"shape":"GetFileUploadURLResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetFileUploadURL operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer Specification structure will no longer support the FileUploadAnswer element to be used for the QuestionForm data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files to use Amazon S3.

", - "idempotent":true - }, - "GetHIT":{ - "name":"GetHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHITRequest"}, - "output":{"shape":"GetHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetHIT operation retrieves the details of the specified HIT.

", - "idempotent":true - }, - "GetQualificationScore":{ - "name":"GetQualificationScore", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetQualificationScoreRequest"}, - "output":{"shape":"GetQualificationScoreResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetQualificationScore operation returns the value of a Worker's Qualification for a given Qualification type.

To get a Worker's Qualification, you must know the Worker's ID. The Worker's ID is included in the assignment data returned by the ListAssignmentsForHIT operation.

Only the owner of a Qualification type can query the value of a Worker's Qualification of that type.

", - "idempotent":true - }, - "GetQualificationType":{ - "name":"GetQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetQualificationTypeRequest"}, - "output":{"shape":"GetQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The GetQualificationTypeoperation retrieves information about a Qualification type using its ID.

", - "idempotent":true - }, - "ListAssignmentsForHIT":{ - "name":"ListAssignmentsForHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssignmentsForHITRequest"}, - "output":{"shape":"ListAssignmentsForHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListAssignmentsForHIT operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT.

You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation.

Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set.

Only the Requester who created the HIT can retrieve the assignments for that HIT.

Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination.

", - "idempotent":true - }, - "ListBonusPayments":{ - "name":"ListBonusPayments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListBonusPaymentsRequest"}, - "output":{"shape":"ListBonusPaymentsResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListBonusPayments operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.

", - "idempotent":true - }, - "ListHITs":{ - "name":"ListHITs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListHITsRequest"}, - "output":{"shape":"ListHITsResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListHITs operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted.

", - "idempotent":true - }, - "ListHITsForQualificationType":{ - "name":"ListHITsForQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListHITsForQualificationTypeRequest"}, - "output":{"shape":"ListHITsForQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListHITsForQualificationType operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT operation or that have been auto-deleted.

", - "idempotent":true - }, - "ListQualificationRequests":{ - "name":"ListQualificationRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListQualificationRequestsRequest"}, - "output":{"shape":"ListQualificationRequestsResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListQualificationRequests operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

", - "idempotent":true - }, - "ListQualificationTypes":{ - "name":"ListQualificationTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListQualificationTypesRequest"}, - "output":{"shape":"ListQualificationTypesResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListQualificationTypes operation returns a list of Qualification types, filtered by an optional search term.

", - "idempotent":true - }, - "ListReviewPolicyResultsForHIT":{ - "name":"ListReviewPolicyResultsForHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListReviewPolicyResultsForHITRequest"}, - "output":{"shape":"ListReviewPolicyResultsForHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListReviewPolicyResultsForHIT operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results.

", - "idempotent":true - }, - "ListReviewableHITs":{ - "name":"ListReviewableHITs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListReviewableHITsRequest"}, - "output":{"shape":"ListReviewableHITsResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListReviewableHITs operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.

", - "idempotent":true - }, - "ListWorkerBlocks":{ - "name":"ListWorkerBlocks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWorkerBlocksRequest"}, - "output":{"shape":"ListWorkerBlocksResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListWorkersBlocks operation retrieves a list of Workers who are blocked from working on your HITs.

", - "idempotent":true - }, - "ListWorkersWithQualificationType":{ - "name":"ListWorkersWithQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWorkersWithQualificationTypeRequest"}, - "output":{"shape":"ListWorkersWithQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The ListWorkersWithQualificationType operation returns all of the Workers that have been associated with a given Qualification type.

", - "idempotent":true - }, - "NotifyWorkers":{ - "name":"NotifyWorkers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"NotifyWorkersRequest"}, - "output":{"shape":"NotifyWorkersResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The NotifyWorkers operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.

" - }, - "RejectAssignment":{ - "name":"RejectAssignment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectAssignmentRequest"}, - "output":{"shape":"RejectAssignmentResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The RejectAssignment operation rejects the results of a completed assignment.

You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.

Only the Requester who created the HIT can reject an assignment for the HIT.

", - "idempotent":true - }, - "RejectQualificationRequest":{ - "name":"RejectQualificationRequest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectQualificationRequestRequest"}, - "output":{"shape":"RejectQualificationRequestResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The RejectQualificationRequest operation rejects a user's request for a Qualification.

You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.

" - }, - "SendBonus":{ - "name":"SendBonus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendBonusRequest"}, - "output":{"shape":"SendBonusResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The SendBonus operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees.

" - }, - "SendTestEventNotification":{ - "name":"SendTestEventNotification", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendTestEventNotificationRequest"}, - "output":{"shape":"SendTestEventNotificationResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The SendTestEventNotification operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately.

" - }, - "UpdateExpirationForHIT":{ - "name":"UpdateExpirationForHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateExpirationForHITRequest"}, - "output":{"shape":"UpdateExpirationForHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The UpdateExpirationForHIT operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired.

", - "idempotent":true - }, - "UpdateHITReviewStatus":{ - "name":"UpdateHITReviewStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateHITReviewStatusRequest"}, - "output":{"shape":"UpdateHITReviewStatusResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The UpdateHITReviewStatus operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status.

", - "idempotent":true - }, - "UpdateHITTypeOfHIT":{ - "name":"UpdateHITTypeOfHIT", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateHITTypeOfHITRequest"}, - "output":{"shape":"UpdateHITTypeOfHITResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The UpdateHITTypeOfHIT operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.

", - "idempotent":true - }, - "UpdateNotificationSettings":{ - "name":"UpdateNotificationSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNotificationSettingsRequest"}, - "output":{"shape":"UpdateNotificationSettingsResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The UpdateNotificationSettings operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings.

", - "idempotent":true - }, - "UpdateQualificationType":{ - "name":"UpdateQualificationType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateQualificationTypeRequest"}, - "output":{"shape":"UpdateQualificationTypeResponse"}, - "errors":[ - {"shape":"ServiceFault"}, - {"shape":"RequestError"} - ], - "documentation":"

The UpdateQualificationType operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.

You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.

If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.

If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.

If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.

You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

" - } - }, - "shapes":{ - "AcceptQualificationRequestRequest":{ - "type":"structure", - "required":["QualificationRequestId"], - "members":{ - "QualificationRequestId":{ - "shape":"String", - "documentation":"

The ID of the Qualification request, as returned by the GetQualificationRequests operation.

" - }, - "IntegerValue":{ - "shape":"Integer", - "documentation":"

The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement.

" - } - } - }, - "AcceptQualificationRequestResponse":{ - "type":"structure", - "members":{ - } - }, - "ApproveAssignmentRequest":{ - "type":"structure", - "required":["AssignmentId"], - "members":{ - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" - }, - "RequesterFeedback":{ - "shape":"String", - "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" - }, - "OverrideRejection":{ - "shape":"Boolean", - "documentation":"

A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False.

" - } - } - }, - "ApproveAssignmentResponse":{ - "type":"structure", - "members":{ - } - }, - "Assignment":{ - "type":"structure", - "members":{ - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

A unique identifier for the assignment.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker who accepted the HIT.

" - }, - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT.

" - }, - "AssignmentStatus":{ - "shape":"AssignmentStatus", - "documentation":"

The status of the assignment.

" - }, - "AutoApprovalTime":{ - "shape":"Timestamp", - "documentation":"

If results have been submitted, AutoApprovalTime is the date and time the results of the assignment results are considered Approved automatically if they have not already been explicitly approved or rejected by the Requester. This value is derived from the auto-approval delay specified by the Requester in the HIT. This value is omitted from the assignment if the Worker has not yet submitted results.

" - }, - "AcceptTime":{ - "shape":"Timestamp", - "documentation":"

The date and time the Worker accepted the assignment.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

If the Worker has submitted results, SubmitTime is the date and time the assignment was submitted. This value is omitted from the assignment if the Worker has not yet submitted results.

" - }, - "ApprovalTime":{ - "shape":"Timestamp", - "documentation":"

If the Worker has submitted results and the Requester has approved the results, ApprovalTime is the date and time the Requester approved the results. This value is omitted from the assignment if the Requester has not yet approved the results.

" - }, - "RejectionTime":{ - "shape":"Timestamp", - "documentation":"

If the Worker has submitted results and the Requester has rejected the results, RejectionTime is the date and time the Requester rejected the results.

" - }, - "Deadline":{ - "shape":"Timestamp", - "documentation":"

The date and time of the deadline for the assignment. This value is derived from the deadline specification for the HIT and the date and time the Worker accepted the HIT.

" - }, - "Answer":{ - "shape":"String", - "documentation":"

The Worker's answers submitted for the HIT contained in a QuestionFormAnswers document, if the Worker provides an answer. If the Worker does not provide any answers, Answer may contain a QuestionFormAnswers document, or Answer may be empty.

" - }, - "RequesterFeedback":{ - "shape":"String", - "documentation":"

The feedback string included with the call to the ApproveAssignment operation or the RejectAssignment operation, if the Requester approved or rejected the assignment and specified feedback.

" - } - }, - "documentation":"

The Assignment data structure represents a single assignment of a HIT to a Worker. The assignment tracks the Worker's efforts to complete the HIT, and contains the results for later retrieval.

" - }, - "AssignmentList":{ - "type":"list", - "member":{"shape":"Assignment"} - }, - "AssignmentStatus":{ - "type":"string", - "enum":[ - "Submitted", - "Approved", - "Rejected" - ] - }, - "AssignmentStatusList":{ - "type":"list", - "member":{"shape":"AssignmentStatus"} - }, - "AssociateQualificationWithWorkerRequest":{ - "type":"structure", - "required":[ - "QualificationTypeId", - "WorkerId" - ], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type to use for the assigned Qualification.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests.

" - }, - "IntegerValue":{ - "shape":"Integer", - "documentation":"

The value of the Qualification to assign.

" - }, - "SendNotification":{ - "shape":"Boolean", - "documentation":"

Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Note: this is true by default.

" - } - } - }, - "AssociateQualificationWithWorkerResponse":{ - "type":"structure", - "members":{ - } - }, - "BonusPayment":{ - "type":"structure", - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker to whom the bonus was paid.

" - }, - "BonusAmount":{"shape":"CurrencyAmount"}, - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment associated with this bonus payment.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

The Reason text given when the bonus was granted, if any.

" - }, - "GrantTime":{ - "shape":"Timestamp", - "documentation":"

The date and time of when the bonus was granted.

" - } - }, - "documentation":"

An object representing a Bonus payment paid to a Worker.

" - }, - "BonusPaymentList":{ - "type":"list", - "member":{"shape":"BonusPayment"} - }, - "Boolean":{"type":"boolean"}, - "Comparator":{ - "type":"string", - "enum":[ - "LessThan", - "LessThanOrEqualTo", - "GreaterThan", - "GreaterThanOrEqualTo", - "EqualTo", - "NotEqualTo", - "Exists", - "DoesNotExist", - "In", - "NotIn" - ] - }, - "CountryParameters":{ - "type":"string", - "max":2, - "min":2 - }, - "CreateAdditionalAssignmentsForHITRequest":{ - "type":"structure", - "required":[ - "HITId", - "NumberOfAdditionalAssignments" - ], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT to extend.

" - }, - "NumberOfAdditionalAssignments":{ - "shape":"Integer", - "documentation":"

The number of additional assignments to request for this HIT.

" - }, - "UniqueRequestToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier for this request, which allows you to retry the call on error without extending the HIT multiple times. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the extend HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" - } - } - }, - "CreateAdditionalAssignmentsForHITResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateHITRequest":{ - "type":"structure", - "required":[ - "LifetimeInSeconds", - "AssignmentDurationInSeconds", - "Reward", - "Title", - "Description" - ], - "members":{ - "MaxAssignments":{ - "shape":"Integer", - "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" - }, - "AutoApprovalDelayInSeconds":{ - "shape":"Long", - "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" - }, - "LifetimeInSeconds":{ - "shape":"Long", - "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" - }, - "AssignmentDurationInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" - }, - "Reward":{ - "shape":"CurrencyAmount", - "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" - }, - "Title":{ - "shape":"String", - "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" - }, - "Keywords":{ - "shape":"String", - "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" - }, - "Question":{ - "shape":"String", - "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" - }, - "RequesterAnnotation":{ - "shape":"String", - "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" - }, - "QualificationRequirements":{ - "shape":"QualificationRequirementList", - "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" - }, - "UniqueRequestToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" - }, - "AssignmentReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" - }, - "HITReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" - }, - "HITLayoutId":{ - "shape":"EntityId", - "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" - }, - "HITLayoutParameters":{ - "shape":"HITLayoutParameterList", - "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" - } - } - }, - "CreateHITResponse":{ - "type":"structure", - "members":{ - "HIT":{ - "shape":"HIT", - "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" - } - } - }, - "CreateHITTypeRequest":{ - "type":"structure", - "required":[ - "AssignmentDurationInSeconds", - "Reward", - "Title", - "Description" - ], - "members":{ - "AutoApprovalDelayInSeconds":{ - "shape":"Long", - "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" - }, - "AssignmentDurationInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" - }, - "Reward":{ - "shape":"CurrencyAmount", - "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" - }, - "Title":{ - "shape":"String", - "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" - }, - "Keywords":{ - "shape":"String", - "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" - }, - "QualificationRequirements":{ - "shape":"QualificationRequirementList", - "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" - } - } - }, - "CreateHITTypeResponse":{ - "type":"structure", - "members":{ - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the newly registered HIT type.

" - } - } - }, - "CreateHITWithHITTypeRequest":{ - "type":"structure", - "required":[ - "HITTypeId", - "LifetimeInSeconds" - ], - "members":{ - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The HIT type ID you want to create this HIT with.

" - }, - "MaxAssignments":{ - "shape":"Integer", - "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" - }, - "LifetimeInSeconds":{ - "shape":"Long", - "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" - }, - "Question":{ - "shape":"String", - "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" - }, - "RequesterAnnotation":{ - "shape":"String", - "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" - }, - "UniqueRequestToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" - }, - "AssignmentReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" - }, - "HITReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" - }, - "HITLayoutId":{ - "shape":"EntityId", - "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" - }, - "HITLayoutParameters":{ - "shape":"HITLayoutParameterList", - "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" - } - } - }, - "CreateHITWithHITTypeResponse":{ - "type":"structure", - "members":{ - "HIT":{ - "shape":"HIT", - "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" - } - } - }, - "CreateQualificationTypeRequest":{ - "type":"structure", - "required":[ - "Name", - "Description", - "QualificationTypeStatus" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types.

" - }, - "Keywords":{ - "shape":"String", - "documentation":"

One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type.

" - }, - "QualificationTypeStatus":{ - "shape":"QualificationTypeStatus", - "documentation":"

The initial status of the Qualification type.

Constraints: Valid values are: Active | Inactive

" - }, - "RetryDelayInSeconds":{ - "shape":"Long", - "documentation":"

The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request.

Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.

" - }, - "Test":{ - "shape":"String", - "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" - }, - "AnswerKey":{ - "shape":"String", - "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

Constraints: Must not be longer than 65535 bytes.

Constraints: None. If not specified, you must process Qualification requests manually.

" - }, - "TestDurationInSeconds":{ - "shape":"Long", - "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" - }, - "AutoGranted":{ - "shape":"Boolean", - "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" - }, - "AutoGrantedValue":{ - "shape":"Integer", - "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" - } - } - }, - "CreateQualificationTypeResponse":{ - "type":"structure", - "members":{ - "QualificationType":{ - "shape":"QualificationType", - "documentation":"

The created Qualification type, returned as a QualificationType data structure.

" - } - } - }, - "CreateWorkerBlockRequest":{ - "type":"structure", - "required":[ - "WorkerId", - "Reason" - ], - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker to block.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

" - } - } - }, - "CreateWorkerBlockResponse":{ - "type":"structure", - "members":{ - } - }, - "CurrencyAmount":{ - "type":"string", - "documentation":"

A string representing a currency amount.

", - "pattern":"^[0-9]+(\\.)?[0-9]{0,2}$" - }, - "CustomerId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^A[A-Z0-9]+$" - }, - "CustomerIdList":{ - "type":"list", - "member":{"shape":"CustomerId"} - }, - "DeleteHITRequest":{ - "type":"structure", - "required":["HITId"], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT to be deleted.

" - } - } - }, - "DeleteHITResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteQualificationTypeRequest":{ - "type":"structure", - "required":["QualificationTypeId"], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the QualificationType to dispose.

" - } - } - }, - "DeleteQualificationTypeResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteWorkerBlockRequest":{ - "type":"structure", - "required":["WorkerId"], - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker to unblock.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A message that explains the reason for unblocking the Worker. The Worker does not see this message.

" - } - } - }, - "DeleteWorkerBlockResponse":{ - "type":"structure", - "members":{ - } - }, - "DisassociateQualificationFromWorkerRequest":{ - "type":"structure", - "required":[ - "WorkerId", - "QualificationTypeId" - ], - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker who possesses the Qualification to be revoked.

" - }, - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type of the Qualification to be revoked.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message.

" - } - } - }, - "DisassociateQualificationFromWorkerResponse":{ - "type":"structure", - "members":{ - } - }, - "EntityId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[A-Z0-9]+$" - }, - "EventType":{ - "type":"string", - "enum":[ - "AssignmentAccepted", - "AssignmentAbandoned", - "AssignmentReturned", - "AssignmentSubmitted", - "AssignmentRejected", - "AssignmentApproved", - "HITCreated", - "HITExpired", - "HITReviewable", - "HITExtended", - "HITDisposed", - "Ping" - ] - }, - "EventTypeList":{ - "type":"list", - "member":{"shape":"EventType"} - }, - "ExceptionMessage":{"type":"string"}, - "GetAccountBalanceRequest":{ - "type":"structure", - "members":{ - } - }, - "GetAccountBalanceResponse":{ - "type":"structure", - "members":{ - "AvailableBalance":{"shape":"CurrencyAmount"}, - "OnHoldBalance":{"shape":"CurrencyAmount"} - } - }, - "GetAssignmentRequest":{ - "type":"structure", - "required":["AssignmentId"], - "members":{ - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the Assignment to be retrieved.

" - } - } - }, - "GetAssignmentResponse":{ - "type":"structure", - "members":{ - "Assignment":{ - "shape":"Assignment", - "documentation":"

The assignment. The response includes one Assignment element.

" - }, - "HIT":{ - "shape":"HIT", - "documentation":"

The HIT associated with this assignment. The response includes one HIT element.

" - } - } - }, - "GetFileUploadURLRequest":{ - "type":"structure", - "required":[ - "AssignmentId", - "QuestionIdentifier" - ], - "members":{ - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment that contains the question with a FileUploadAnswer.

" - }, - "QuestionIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.

" - } - } - }, - "GetFileUploadURLResponse":{ - "type":"structure", - "members":{ - "FileUploadURL":{ - "shape":"String", - "documentation":"

A temporary URL for the file that the Worker uploaded for the answer.

" - } - } - }, - "GetHITRequest":{ - "type":"structure", - "required":["HITId"], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT to be retrieved.

" - } - } - }, - "GetHITResponse":{ - "type":"structure", - "members":{ - "HIT":{ - "shape":"HIT", - "documentation":"

Contains the requested HIT data.

" - } - } - }, - "GetQualificationScoreRequest":{ - "type":"structure", - "required":[ - "QualificationTypeId", - "WorkerId" - ], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the QualificationType.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker whose Qualification is being updated.

" - } - } - }, - "GetQualificationScoreResponse":{ - "type":"structure", - "members":{ - "Qualification":{ - "shape":"Qualification", - "documentation":"

The Qualification data structure of the Qualification assigned to a user, including the Qualification type and the value (score).

" - } - } - }, - "GetQualificationTypeRequest":{ - "type":"structure", - "required":["QualificationTypeId"], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the QualificationType.

" - } - } - }, - "GetQualificationTypeResponse":{ - "type":"structure", - "members":{ - "QualificationType":{ - "shape":"QualificationType", - "documentation":"

The returned Qualification Type

" - } - } - }, - "HIT":{ - "type":"structure", - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

A unique identifier for the HIT.

" - }, - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT type of this HIT

" - }, - "HITGroupId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT Group of this HIT.

" - }, - "HITLayoutId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT Layout of this HIT.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The date and time the HIT was created.

" - }, - "Title":{ - "shape":"String", - "documentation":"

The title of the HIT.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A general description of the HIT.

" - }, - "Question":{ - "shape":"String", - "documentation":"

The data the Worker completing the HIT uses produce the results. This is either either a QuestionForm, HTMLQuestion or an ExternalQuestion data structure.

" - }, - "Keywords":{ - "shape":"String", - "documentation":"

One or more words or phrases that describe the HIT, separated by commas. Search terms similar to the keywords of a HIT are more likely to have the HIT in the search results.

" - }, - "HITStatus":{ - "shape":"HITStatus", - "documentation":"

The status of the HIT and its assignments. Valid Values are Assignable | Unassignable | Reviewable | Reviewing | Disposed.

" - }, - "MaxAssignments":{ - "shape":"Integer", - "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" - }, - "Reward":{"shape":"CurrencyAmount"}, - "AutoApprovalDelayInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, after the Worker submits an assignment for the HIT that the results are automatically approved by Amazon Mechanical Turk. This is the amount of time the Requester has to reject an assignment submitted by a Worker before the assignment is auto-approved and the Worker is paid.

" - }, - "Expiration":{ - "shape":"Timestamp", - "documentation":"

The date and time the HIT expires.

" - }, - "AssignmentDurationInSeconds":{ - "shape":"Long", - "documentation":"

The length of time, in seconds, that a Worker has to complete the HIT after accepting it.

" - }, - "RequesterAnnotation":{ - "shape":"String", - "documentation":"

An arbitrary data field the Requester who created the HIT can use. This field is visible only to the creator of the HIT.

" - }, - "QualificationRequirements":{ - "shape":"QualificationRequirementList", - "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" - }, - "HITReviewStatus":{ - "shape":"HITReviewStatus", - "documentation":"

Indicates the review status of the HIT. Valid Values are NotReviewed | MarkedForReview | ReviewedAppropriate | ReviewedInappropriate.

" - }, - "NumberOfAssignmentsPending":{ - "shape":"Integer", - "documentation":"

The number of assignments for this HIT that are being previewed or have been accepted by Workers, but have not yet been submitted, returned, or abandoned.

" - }, - "NumberOfAssignmentsAvailable":{ - "shape":"Integer", - "documentation":"

The number of assignments for this HIT that are available for Workers to accept.

" - }, - "NumberOfAssignmentsCompleted":{ - "shape":"Integer", - "documentation":"

The number of assignments for this HIT that have been approved or rejected.

" - } - }, - "documentation":"

The HIT data structure represents a single HIT, including all the information necessary for a Worker to accept and complete the HIT.

" - }, - "HITAccessActions":{ - "type":"string", - "enum":[ - "Accept", - "PreviewAndAccept", - "DiscoverPreviewAndAccept" - ] - }, - "HITLayoutParameter":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the parameter in the HITLayout.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value substituted for the parameter referenced in the HITLayout.

" - } - }, - "documentation":"

The HITLayoutParameter data structure defines parameter values used with a HITLayout. A HITLayout is a reusable Amazon Mechanical Turk project template used to provide Human Intelligence Task (HIT) question data for CreateHIT.

" - }, - "HITLayoutParameterList":{ - "type":"list", - "member":{"shape":"HITLayoutParameter"} - }, - "HITList":{ - "type":"list", - "member":{"shape":"HIT"} - }, - "HITReviewStatus":{ - "type":"string", - "enum":[ - "NotReviewed", - "MarkedForReview", - "ReviewedAppropriate", - "ReviewedInappropriate" - ] - }, - "HITStatus":{ - "type":"string", - "enum":[ - "Assignable", - "Unassignable", - "Reviewable", - "Reviewing", - "Disposed" - ] - }, - "IdempotencyToken":{ - "type":"string", - "max":64, - "min":1 - }, - "Integer":{"type":"integer"}, - "IntegerList":{ - "type":"list", - "member":{"shape":"Integer"} - }, - "ListAssignmentsForHITRequest":{ - "type":"structure", - "required":["HITId"], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token

" - }, - "MaxResults":{"shape":"ResultSize"}, - "AssignmentStatuses":{ - "shape":"AssignmentStatusList", - "documentation":"

The status of the assignments to return: Submitted | Approved | Rejected

" - } - } - }, - "ListAssignmentsForHITResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" - }, - "Assignments":{ - "shape":"AssignmentList", - "documentation":"

The collection of Assignment data structures returned by this call.

" - } - } - }, - "ListBonusPaymentsRequest":{ - "type":"structure", - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" - }, - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token

" - }, - "MaxResults":{"shape":"ResultSize"} - } - }, - "ListBonusPaymentsResponse":{ - "type":"structure", - "members":{ - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of bonus payments on this page in the filtered results list, equivalent to the number of bonus payments being returned by this call.

" - }, - "NextToken":{"shape":"PaginationToken"}, - "BonusPayments":{ - "shape":"BonusPaymentList", - "documentation":"

A successful request to the ListBonusPayments operation returns a list of BonusPayment objects.

" - } - } - }, - "ListHITsForQualificationTypeRequest":{ - "type":"structure", - "required":["QualificationTypeId"], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type to use when querying HITs.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination Token

" - }, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

Limit the number of results returned.

" - } - } - }, - "ListHITsForQualificationTypeResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" - }, - "HITs":{ - "shape":"HITList", - "documentation":"

The list of HIT elements returned by the query.

" - } - } - }, - "ListHITsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token

" - }, - "MaxResults":{"shape":"ResultSize"} - } - }, - "ListHITsResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" - }, - "HITs":{ - "shape":"HITList", - "documentation":"

The list of HIT elements returned by the query.

" - } - } - }, - "ListQualificationRequestsRequest":{ - "type":"structure", - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the QualificationType.

" - }, - "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListQualificationRequestsResponse":{ - "type":"structure", - "members":{ - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of Qualification requests on this page in the filtered results list, equivalent to the number of Qualification requests being returned by this call.

" - }, - "NextToken":{"shape":"PaginationToken"}, - "QualificationRequests":{ - "shape":"QualificationRequestList", - "documentation":"

The Qualification request. The response includes one QualificationRequest element for each Qualification request returned by the query.

" - } - } - }, - "ListQualificationTypesRequest":{ - "type":"structure", - "required":["MustBeRequestable"], - "members":{ - "Query":{ - "shape":"String", - "documentation":"

A text query against all of the searchable attributes of Qualification types.

" - }, - "MustBeRequestable":{ - "shape":"Boolean", - "documentation":"

Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered. Valid values are True | False.

" - }, - "MustBeOwnedByCaller":{ - "shape":"Boolean", - "documentation":"

Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types.

" - }, - "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListQualificationTypesResponse":{ - "type":"structure", - "members":{ - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of Qualification types on this page in the filtered results list, equivalent to the number of types this operation returns.

" - }, - "NextToken":{"shape":"PaginationToken"}, - "QualificationTypes":{ - "shape":"QualificationTypeList", - "documentation":"

The list of QualificationType elements returned by the query.

" - } - } - }, - "ListReviewPolicyResultsForHITRequest":{ - "type":"structure", - "required":["HITId"], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The unique identifier of the HIT to retrieve review results for.

" - }, - "PolicyLevels":{ - "shape":"ReviewPolicyLevelList", - "documentation":"

The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies.

" - }, - "RetrieveActions":{ - "shape":"Boolean", - "documentation":"

Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes.

" - }, - "RetrieveResults":{ - "shape":"Boolean", - "documentation":"

Specify if the operation should retrieve a list of the results computed by the Review Policies.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token

" - }, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

Limit the number of results returned.

" - } - } - }, - "ListReviewPolicyResultsForHITResponse":{ - "type":"structure", - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The HITId of the HIT for which results have been returned.

" - }, - "AssignmentReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The name of the Assignment-level Review Policy. This contains only the PolicyName element.

" - }, - "HITReviewPolicy":{ - "shape":"ReviewPolicy", - "documentation":"

The name of the HIT-level Review Policy. This contains only the PolicyName element.

" - }, - "AssignmentReviewReport":{ - "shape":"ReviewReport", - "documentation":"

Contains both ReviewResult and ReviewAction elements for an Assignment.

" - }, - "HITReviewReport":{ - "shape":"ReviewReport", - "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" - }, - "NextToken":{"shape":"PaginationToken"} - } - }, - "ListReviewableHITsRequest":{ - "type":"structure", - "members":{ - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT type of the HITs to consider for the query. If not specified, all HITs for the Reviewer are considered

" - }, - "Status":{ - "shape":"ReviewableHITStatus", - "documentation":"

Can be either Reviewable or Reviewing. Reviewable is the default value.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination Token

" - }, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

Limit the number of results returned.

" - } - } - }, - "ListReviewableHITsResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" - }, - "HITs":{ - "shape":"HITList", - "documentation":"

The list of HIT elements returned by the query.

" - } - } - }, - "ListWorkerBlocksRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token

" - }, - "MaxResults":{"shape":"ResultSize"} - } - }, - "ListWorkerBlocksResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" - }, - "WorkerBlocks":{ - "shape":"WorkerBlockList", - "documentation":"

The list of WorkerBlocks, containing the collection of Worker IDs and reasons for blocking.

" - } - } - }, - "ListWorkersWithQualificationTypeRequest":{ - "type":"structure", - "required":["QualificationTypeId"], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type of the Qualifications to return.

" - }, - "Status":{ - "shape":"QualificationStatus", - "documentation":"

The status of the Qualifications to return. Can be Granted | Revoked.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination Token

" - }, - "MaxResults":{ - "shape":"ResultSize", - "documentation":"

Limit the number of results returned.

" - } - } - }, - "ListWorkersWithQualificationTypeResponse":{ - "type":"structure", - "members":{ - "NextToken":{"shape":"PaginationToken"}, - "NumResults":{ - "shape":"Integer", - "documentation":"

The number of Qualifications on this page in the filtered results list, equivalent to the number of Qualifications being returned by this call.

" - }, - "Qualifications":{ - "shape":"QualificationList", - "documentation":"

The list of Qualification elements returned by this call.

" - } - } - }, - "Locale":{ - "type":"structure", - "required":["Country"], - "members":{ - "Country":{ - "shape":"CountryParameters", - "documentation":"

The country of the locale. Must be a valid ISO 3166 country code. For example, the code US refers to the United States of America.

" - }, - "Subdivision":{ - "shape":"CountryParameters", - "documentation":"

The state or subdivision of the locale. A valid ISO 3166-2 subdivision code. For example, the code WA refers to the state of Washington.

" - } - }, - "documentation":"

The Locale data structure represents a geographical region or location.

" - }, - "LocaleList":{ - "type":"list", - "member":{"shape":"Locale"} - }, - "Long":{"type":"long"}, - "NotificationSpecification":{ - "type":"structure", - "required":[ - "Destination", - "Transport", - "Version", - "EventTypes" - ], - "members":{ - "Destination":{ - "shape":"String", - "documentation":"

The target for notification messages. The Destination’s format is determined by the specified Transport:

  • When Transport is Email, the Destination is your email address.

  • When Transport is SQS, the Destination is your queue URL.

  • When Transport is SNS, the Destination is the ARN of your topic.

" - }, - "Transport":{ - "shape":"NotificationTransport", - "documentation":"

The method Amazon Mechanical Turk uses to send the notification. Valid Values: Email | SQS | SNS.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The version of the Notification API to use. Valid value is 2006-05-05.

" - }, - "EventTypes":{ - "shape":"EventTypeList", - "documentation":"

The list of events that should cause notifications to be sent. Valid Values: AssignmentAccepted | AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted | AssignmentRejected | AssignmentApproved | HITCreated | HITExtended | HITDisposed | HITReviewable | HITExpired | Ping. The Ping event is only valid for the SendTestEventNotification operation.

" - } - }, - "documentation":"

The NotificationSpecification data structure describes a HIT event notification for a HIT type.

" - }, - "NotificationTransport":{ - "type":"string", - "enum":[ - "Email", - "SQS", - "SNS" - ] - }, - "NotifyWorkersFailureCode":{ - "type":"string", - "enum":[ - "SoftFailure", - "HardFailure" - ] - }, - "NotifyWorkersFailureStatus":{ - "type":"structure", - "members":{ - "NotifyWorkersFailureCode":{ - "shape":"NotifyWorkersFailureCode", - "documentation":"

Encoded value for the failure type.

" - }, - "NotifyWorkersFailureMessage":{ - "shape":"String", - "documentation":"

A message detailing the reason the Worker could not be notified.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker.

" - } - }, - "documentation":"

When MTurk encounters an issue with notifying the Workers you specified, it returns back this object with failure details.

" - }, - "NotifyWorkersFailureStatusList":{ - "type":"list", - "member":{"shape":"NotifyWorkersFailureStatus"} - }, - "NotifyWorkersRequest":{ - "type":"structure", - "required":[ - "Subject", - "MessageText", - "WorkerIds" - ], - "members":{ - "Subject":{ - "shape":"String", - "documentation":"

The subject line of the email message to send. Can include up to 200 characters.

" - }, - "MessageText":{ - "shape":"String", - "documentation":"

The text of the email message to send. Can include up to 4,096 characters

" - }, - "WorkerIds":{ - "shape":"CustomerIdList", - "documentation":"

A list of Worker IDs you wish to notify. You can notify upto 100 Workers at a time.

" - } - } - }, - "NotifyWorkersResponse":{ - "type":"structure", - "members":{ - "NotifyWorkersFailureStatuses":{ - "shape":"NotifyWorkersFailureStatusList", - "documentation":"

When MTurk sends notifications to the list of Workers, it returns back any failures it encounters in this list of NotifyWorkersFailureStatus objects.

" - } - } - }, - "PaginationToken":{ - "type":"string", - "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

", - "max":255, - "min":1 - }, - "ParameterMapEntry":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The QuestionID from the HIT that is used to identify which question requires Mechanical Turk to score as part of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" - }, - "Values":{ - "shape":"StringList", - "documentation":"

The list of answers to the question specified in the MapEntry Key element. The Worker must match all values in order for the answer to be scored correctly.

" - } - }, - "documentation":"

This data structure is the data type for the AnswerKey parameter of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" - }, - "ParameterMapEntryList":{ - "type":"list", - "member":{"shape":"ParameterMapEntry"} - }, - "PolicyParameter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

Name of the parameter from the list of Review Polices.

" - }, - "Values":{ - "shape":"StringList", - "documentation":"

The list of values of the Parameter

" - }, - "MapEntries":{ - "shape":"ParameterMapEntryList", - "documentation":"

List of ParameterMapEntry objects.

" - } - }, - "documentation":"

Name of the parameter from the Review policy.

" - }, - "PolicyParameterList":{ - "type":"list", - "member":{"shape":"PolicyParameter"} - }, - "Qualification":{ - "type":"structure", - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type for the Qualification.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker who possesses the Qualification.

" - }, - "GrantTime":{ - "shape":"Timestamp", - "documentation":"

The date and time the Qualification was granted to the Worker. If the Worker's Qualification was revoked, and then re-granted based on a new Qualification request, GrantTime is the date and time of the last call to the AcceptQualificationRequest operation.

" - }, - "IntegerValue":{ - "shape":"Integer", - "documentation":"

The value (score) of the Qualification, if the Qualification has an integer value.

" - }, - "LocaleValue":{"shape":"Locale"}, - "Status":{ - "shape":"QualificationStatus", - "documentation":"

The status of the Qualification. Valid values are Granted | Revoked.

" - } - }, - "documentation":"

The Qualification data structure represents a Qualification assigned to a user, including the Qualification type and the value (score).

" - }, - "QualificationList":{ - "type":"list", - "member":{"shape":"Qualification"} - }, - "QualificationRequest":{ - "type":"structure", - "members":{ - "QualificationRequestId":{ - "shape":"String", - "documentation":"

The ID of the Qualification request, a unique identifier generated when the request was submitted.

" - }, - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type the Worker is requesting, as returned by the CreateQualificationType operation.

" - }, - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker requesting the Qualification.

" - }, - "Test":{ - "shape":"String", - "documentation":"

The contents of the Qualification test that was presented to the Worker, if the type has a test and the Worker has submitted answers. This value is identical to the QuestionForm associated with the Qualification type at the time the Worker requests the Qualification.

" - }, - "Answer":{ - "shape":"String", - "documentation":"

The Worker's answers for the Qualification type's test contained in a QuestionFormAnswers document, if the type has a test and the Worker has submitted answers. If the Worker does not provide any answers, Answer may be empty.

" - }, - "SubmitTime":{ - "shape":"Timestamp", - "documentation":"

The date and time the Qualification request had a status of Submitted. This is either the time the Worker submitted answers for a Qualification test, or the time the Worker requested the Qualification if the Qualification type does not have a test.

" - } - }, - "documentation":"

The QualificationRequest data structure represents a request a Worker has made for a Qualification.

" - }, - "QualificationRequestList":{ - "type":"list", - "member":{"shape":"QualificationRequest"} - }, - "QualificationRequirement":{ - "type":"structure", - "required":[ - "QualificationTypeId", - "Comparator" - ], - "members":{ - "QualificationTypeId":{ - "shape":"String", - "documentation":"

The ID of the Qualification type for the requirement.

" - }, - "Comparator":{ - "shape":"Comparator", - "documentation":"

The kind of comparison to make against a Qualification's value. You can compare a Qualification's value to an IntegerValue to see if it is LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You can compare it to a LocaleValue to see if it is EqualTo, or NotEqualTo the LocaleValue. You can check to see if the value is In or NotIn a set of IntegerValue or LocaleValue values. Lastly, a Qualification requirement can also test if a Qualification Exists or DoesNotExist in the user's profile, regardless of its value.

" - }, - "IntegerValues":{ - "shape":"IntegerList", - "documentation":"

The integer value to compare against the Qualification's value. IntegerValue must not be present if Comparator is Exists or DoesNotExist. IntegerValue can only be used if the Qualification type has an integer value; it cannot be used with the Worker_Locale QualificationType ID. When performing a set comparison by using the In or the NotIn comparator, you can use up to 15 IntegerValue elements in a QualificationRequirement data structure.

" - }, - "LocaleValues":{ - "shape":"LocaleList", - "documentation":"

The locale value to compare against the Qualification's value. The local value must be a valid ISO 3166 country code or supports ISO 3166-2 subdivisions. LocaleValue can only be used with a Worker_Locale QualificationType ID. LocaleValue can only be used with the EqualTo, NotEqualTo, In, and NotIn comparators. You must only use a single LocaleValue element when using the EqualTo or NotEqualTo comparators. When performing a set comparison by using the In or the NotIn comparator, you can use up to 30 LocaleValue elements in a QualificationRequirement data structure.

" - }, - "RequiredToPreview":{ - "shape":"Boolean", - "documentation":"

DEPRECATED: Use the ActionsGuarded field instead. If RequiredToPreview is true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT. If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT. The default is false. This should not be used in combination with the ActionsGuarded field.

", - "deprecated":true - }, - "ActionsGuarded":{ - "shape":"HITAccessActions", - "documentation":"

Setting this attribute prevents Workers whose Qualifications do not meet this QualificationRequirement from taking the specified action. Valid arguments include \"Accept\" (Worker cannot accept the HIT, but can preview the HIT and see it in their search results), \"PreviewAndAccept\" (Worker cannot accept or preview the HIT, but can see the HIT in their search results), and \"DiscoverPreviewAndAccept\" (Worker cannot accept, preview, or see the HIT in their search results). It's possible for you to create a HIT with multiple QualificationRequirements (which can have different values for the ActionGuarded attribute). In this case, the Worker is only permitted to perform an action when they have met all QualificationRequirements guarding the action. The actions in the order of least restrictive to most restrictive are Discover, Preview and Accept. For example, if a Worker meets all QualificationRequirements that are set to DiscoverPreviewAndAccept, but do not meet all requirements that are set with PreviewAndAccept, then the Worker will be able to Discover, i.e. see the HIT in their search result, but will not be able to Preview or Accept the HIT. ActionsGuarded should not be used in combination with the RequiredToPreview field.

" - } - }, - "documentation":"

The QualificationRequirement data structure describes a Qualification that a Worker must have before the Worker is allowed to accept a HIT. A requirement may optionally state that a Worker must have the Qualification in order to preview the HIT, or see the HIT in search results.

" - }, - "QualificationRequirementList":{ - "type":"list", - "member":{"shape":"QualificationRequirement"} - }, - "QualificationStatus":{ - "type":"string", - "enum":[ - "Granted", - "Revoked" - ] - }, - "QualificationType":{ - "type":"structure", - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you call the CreateQualificationType operation.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The date and time the Qualification type was created.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the Qualification type. The type name is used to identify the type, and to find the type using a Qualification type search.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A long description for the Qualification type.

" - }, - "Keywords":{ - "shape":"String", - "documentation":"

One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type easier to find using a search.

" - }, - "QualificationTypeStatus":{ - "shape":"QualificationTypeStatus", - "documentation":"

The status of the Qualification type. A Qualification type's status determines if users can apply to receive a Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are Active | Inactive.

" - }, - "Test":{ - "shape":"String", - "documentation":"

The questions for a Qualification test associated with this Qualification type that a user can take to obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.

" - }, - "TestDurationInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the Worker requests the Qualification.

" - }, - "AnswerKey":{ - "shape":"String", - "documentation":"

The answers to the Qualification test specified in the Test parameter.

" - }, - "RetryDelayInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries are disabled and Workers can request a Qualification only once.

" - }, - "IsRequestable":{ - "shape":"Boolean", - "documentation":"

Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by the system. Valid values are True | False.

" - }, - "AutoGranted":{ - "shape":"Boolean", - "documentation":"

Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Valid values are True | False.

" - }, - "AutoGrantedValue":{ - "shape":"Integer", - "documentation":"

The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is 1 by default.

" - } - }, - "documentation":"

The QualificationType data structure represents a Qualification type, a description of a property of a Worker that must match the requirements of a HIT for the Worker to be able to accept the HIT. The type also describes how a Worker can obtain a Qualification of that type, such as through a Qualification test.

" - }, - "QualificationTypeList":{ - "type":"list", - "member":{"shape":"QualificationType"} - }, - "QualificationTypeStatus":{ - "type":"string", - "enum":[ - "Active", - "Inactive" - ] - }, - "RejectAssignmentRequest":{ - "type":"structure", - "required":[ - "AssignmentId", - "RequesterFeedback" - ], - "members":{ - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" - }, - "RequesterFeedback":{ - "shape":"String", - "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" - } - } - }, - "RejectAssignmentResponse":{ - "type":"structure", - "members":{ - } - }, - "RejectQualificationRequestRequest":{ - "type":"structure", - "required":["QualificationRequestId"], - "members":{ - "QualificationRequestId":{ - "shape":"String", - "documentation":"

The ID of the Qualification request, as returned by the ListQualificationRequests operation.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A text message explaining why the request was rejected, to be shown to the Worker who made the request.

" - } - } - }, - "RejectQualificationRequestResponse":{ - "type":"structure", - "members":{ - } - }, - "RequestError":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "TurkErrorCode":{"shape":"TurkErrorCode"} - }, - "documentation":"

Your request is invalid.

", - "exception":true - }, - "ResultSize":{ - "type":"integer", - "max":100, - "min":1 - }, - "ReviewActionDetail":{ - "type":"structure", - "members":{ - "ActionId":{ - "shape":"EntityId", - "documentation":"

The unique identifier for the action.

" - }, - "ActionName":{ - "shape":"String", - "documentation":"

The nature of the action itself. The Review Policy is responsible for examining the HIT and Assignments, emitting results, and deciding which other actions will be necessary.

" - }, - "TargetId":{ - "shape":"EntityId", - "documentation":"

The specific HITId or AssignmentID targeted by the action.

" - }, - "TargetType":{ - "shape":"String", - "documentation":"

The type of object in TargetId.

" - }, - "Status":{ - "shape":"ReviewActionStatus", - "documentation":"

The current disposition of the action: INTENDED, SUCCEEDED, FAILED, or CANCELLED.

" - }, - "CompleteTime":{ - "shape":"Timestamp", - "documentation":"

The date when the action was completed.

" - }, - "Result":{ - "shape":"String", - "documentation":"

A description of the outcome of the review.

" - }, - "ErrorCode":{ - "shape":"String", - "documentation":"

Present only when the Results have a FAILED Status.

" - } - }, - "documentation":"

Both the AssignmentReviewReport and the HITReviewReport elements contains the ReviewActionDetail data structure. This structure is returned multiple times for each action specified in the Review Policy.

" - }, - "ReviewActionDetailList":{ - "type":"list", - "member":{"shape":"ReviewActionDetail"} - }, - "ReviewActionStatus":{ - "type":"string", - "enum":[ - "Intended", - "Succeeded", - "Failed", - "Cancelled" - ] - }, - "ReviewPolicy":{ - "type":"structure", - "required":["PolicyName"], - "members":{ - "PolicyName":{ - "shape":"String", - "documentation":"

Name of a Review Policy: SimplePlurality/2011-09-01 or ScoreMyKnownAnswers/2011-09-01

" - }, - "Parameters":{ - "shape":"PolicyParameterList", - "documentation":"

Name of the parameter from the Review policy.

" - } - }, - "documentation":"

HIT Review Policy data structures represent HIT review policies, which you specify when you create a HIT.

" - }, - "ReviewPolicyLevel":{ - "type":"string", - "enum":[ - "Assignment", - "HIT" - ] - }, - "ReviewPolicyLevelList":{ - "type":"list", - "member":{"shape":"ReviewPolicyLevel"} - }, - "ReviewReport":{ - "type":"structure", - "members":{ - "ReviewResults":{ - "shape":"ReviewResultDetailList", - "documentation":"

A list of ReviewResults objects for each action specified in the Review Policy.

" - }, - "ReviewActions":{ - "shape":"ReviewActionDetailList", - "documentation":"

A list of ReviewAction objects for each action specified in the Review Policy.

" - } - }, - "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" - }, - "ReviewResultDetail":{ - "type":"structure", - "members":{ - "ActionId":{ - "shape":"EntityId", - "documentation":"

A unique identifier of the Review action result.

" - }, - "SubjectId":{ - "shape":"EntityId", - "documentation":"

The HITID or AssignmentId about which this result was taken. Note that HIT-level Review Policies will often emit results about both the HIT itself and its Assignments, while Assignment-level review policies generally only emit results about the Assignment itself.

" - }, - "SubjectType":{ - "shape":"String", - "documentation":"

The type of the object from the SubjectId field.

" - }, - "QuestionId":{ - "shape":"EntityId", - "documentation":"

Specifies the QuestionId the result is describing. Depending on whether the TargetType is a HIT or Assignment this results could specify multiple values. If TargetType is HIT and QuestionId is absent, then the result describes results of the HIT, including the HIT agreement score. If ObjectType is Assignment and QuestionId is absent, then the result describes the Worker's performance on the HIT.

" - }, - "Key":{ - "shape":"String", - "documentation":"

Key identifies the particular piece of reviewed information.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The values of Key provided by the review policies you have selected.

" - } - }, - "documentation":"

This data structure is returned multiple times for each result specified in the Review Policy.

" - }, - "ReviewResultDetailList":{ - "type":"list", - "member":{"shape":"ReviewResultDetail"} - }, - "ReviewableHITStatus":{ - "type":"string", - "enum":[ - "Reviewable", - "Reviewing" - ] - }, - "SendBonusRequest":{ - "type":"structure", - "required":[ - "WorkerId", - "BonusAmount", - "AssignmentId", - "Reason" - ], - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker being paid the bonus.

" - }, - "BonusAmount":{ - "shape":"CurrencyAmount", - "documentation":"

The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents $5.00 USD and \"101.42\" represents $101.42 USD). Do not include currency symbols or currency codes.

" - }, - "AssignmentId":{ - "shape":"EntityId", - "documentation":"

The ID of the assignment for which this bonus is paid.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message.

" - }, - "UniqueRequestToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" - } - } - }, - "SendBonusResponse":{ - "type":"structure", - "members":{ - } - }, - "SendTestEventNotificationRequest":{ - "type":"structure", - "required":[ - "Notification", - "TestEventType" - ], - "members":{ - "Notification":{ - "shape":"NotificationSpecification", - "documentation":"

The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type.

" - }, - "TestEventType":{ - "shape":"EventType", - "documentation":"

The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event.

" - } - } - }, - "SendTestEventNotificationResponse":{ - "type":"structure", - "members":{ - } - }, - "ServiceFault":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "TurkErrorCode":{"shape":"TurkErrorCode"} - }, - "documentation":"

Amazon Mechanical Turk is temporarily unable to process your request. Try your call again.

", - "exception":true, - "fault":true - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Timestamp":{"type":"timestamp"}, - "TurkErrorCode":{"type":"string"}, - "UpdateExpirationForHITRequest":{ - "type":"structure", - "required":[ - "HITId", - "ExpireAt" - ], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The HIT to update.

" - }, - "ExpireAt":{ - "shape":"Timestamp", - "documentation":"

The date and time at which you want the HIT to expire

" - } - } - }, - "UpdateExpirationForHITResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateHITReviewStatusRequest":{ - "type":"structure", - "required":["HITId"], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT to update.

" - }, - "Revert":{ - "shape":"Boolean", - "documentation":"

Specifies how to update the HIT status. Default is False.

  • Setting this to false will only transition a HIT from Reviewable to Reviewing

  • Setting this to true will only transition a HIT from Reviewing to Reviewable

" - } - } - }, - "UpdateHITReviewStatusResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateHITTypeOfHITRequest":{ - "type":"structure", - "required":[ - "HITId", - "HITTypeId" - ], - "members":{ - "HITId":{ - "shape":"EntityId", - "documentation":"

The HIT to update.

" - }, - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the new HIT type.

" - } - } - }, - "UpdateHITTypeOfHITResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateNotificationSettingsRequest":{ - "type":"structure", - "required":["HITTypeId"], - "members":{ - "HITTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the HIT type whose notification specification is being updated.

" - }, - "Notification":{ - "shape":"NotificationSpecification", - "documentation":"

The notification specification for the HIT type.

" - }, - "Active":{ - "shape":"Boolean", - "documentation":"

Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to UpdateNotificationSettings to succeed.

" - } - } - }, - "UpdateNotificationSettingsResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateQualificationTypeRequest":{ - "type":"structure", - "required":["QualificationTypeId"], - "members":{ - "QualificationTypeId":{ - "shape":"EntityId", - "documentation":"

The ID of the Qualification type to update.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The new description of the Qualification type.

" - }, - "QualificationTypeStatus":{ - "shape":"QualificationTypeStatus", - "documentation":"

The new status of the Qualification type - Active | Inactive

" - }, - "Test":{ - "shape":"String", - "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" - }, - "AnswerKey":{ - "shape":"String", - "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

" - }, - "TestDurationInSeconds":{ - "shape":"Long", - "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" - }, - "RetryDelayInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

" - }, - "AutoGranted":{ - "shape":"Boolean", - "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" - }, - "AutoGrantedValue":{ - "shape":"Integer", - "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" - } - } - }, - "UpdateQualificationTypeResponse":{ - "type":"structure", - "members":{ - "QualificationType":{ - "shape":"QualificationType", - "documentation":"

Contains a QualificationType data structure.

" - } - } - }, - "WorkerBlock":{ - "type":"structure", - "members":{ - "WorkerId":{ - "shape":"CustomerId", - "documentation":"

The ID of the Worker who accepted the HIT.

" - }, - "Reason":{ - "shape":"String", - "documentation":"

A message explaining the reason the Worker was blocked.

" - } - }, - "documentation":"

The WorkerBlock data structure represents a Worker who has been blocked. It has two elements: the WorkerId and the Reason for the block.

" - }, - "WorkerBlockList":{ - "type":"list", - "member":{"shape":"WorkerBlock"} - } - }, - "documentation":"Amazon Mechanical Turk API Reference" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/paginators-1.json deleted file mode 100644 index f1a247f7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/paginators-1.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "pagination": { - "DescribeDBEngineVersions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBEngineVersions" - }, - "DescribeDBInstances": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBInstances" - }, - "DescribeDBParameterGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBParameterGroups" - }, - "DescribeDBParameters": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "Parameters" - }, - "DescribeDBSubnetGroups": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBSubnetGroups" - }, - "DescribeEngineDefaultParameters": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "EngineDefaults.Marker", - "result_key": "EngineDefaults.Parameters" - }, - "DescribeEventSubscriptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "EventSubscriptionsList" - }, - "DescribeEvents": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "Events" - }, - "DescribeOrderableDBInstanceOptions": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "OrderableDBInstanceOptions" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/service-2.json deleted file mode 100644 index bb7d1563..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/service-2.json +++ /dev/null @@ -1,5513 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-10-31", - "endpointPrefix":"rds", - "protocol":"query", - "serviceAbbreviation":"Amazon Neptune", - "serviceFullName":"Amazon Neptune", - "serviceId":"Neptune", - "signatureVersion":"v4", - "signingName":"rds", - "uid":"neptune-2014-10-31", - "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" - }, - "operations":{ - "AddRoleToDBCluster":{ - "name":"AddRoleToDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddRoleToDBClusterMessage"}, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterRoleAlreadyExistsFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterRoleQuotaExceededFault"} - ], - "documentation":"

Associates an Identity and Access Management (IAM) role from an Neptune DB cluster.

" - }, - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Adds a source identifier to an existing event notification subscription.

" - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Adds metadata tags to an Amazon Neptune resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon Neptune resources, or used in a Condition statement in an IAM policy for Amazon Neptune.

" - }, - "ApplyPendingMaintenanceAction":{ - "name":"ApplyPendingMaintenanceAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, - "output":{ - "shape":"ApplyPendingMaintenanceActionResult", - "resultWrapper":"ApplyPendingMaintenanceActionResult" - }, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

" - }, - "CopyDBClusterParameterGroup":{ - "name":"CopyDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBClusterParameterGroupMessage"}, - "output":{ - "shape":"CopyDBClusterParameterGroupResult", - "resultWrapper":"CopyDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Copies the specified DB cluster parameter group.

" - }, - "CopyDBClusterSnapshot":{ - "name":"CopyDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBClusterSnapshotMessage"}, - "output":{ - "shape":"CopyDBClusterSnapshotResult", - "resultWrapper":"CopyDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot 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 AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:neptune-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 AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

" - }, - "CopyDBParameterGroup":{ - "name":"CopyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBParameterGroupMessage"}, - "output":{ - "shape":"CopyDBParameterGroupResult", - "resultWrapper":"CopyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"}, - {"shape":"DBParameterGroupQuotaExceededFault"} - ], - "documentation":"

Copies the specified DB parameter group.

" - }, - "CreateDBCluster":{ - "name":"CreateDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterMessage"}, - "output":{ - "shape":"CreateDBClusterResult", - "resultWrapper":"CreateDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBClusterParameterGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} - ], - "documentation":"

Creates a new Amazon Neptune DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

" - }, - "CreateDBClusterParameterGroup":{ - "name":"CreateDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterParameterGroupMessage"}, - "output":{ - "shape":"CreateDBClusterParameterGroupResult", - "resultWrapper":"CreateDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" - }, - "CreateDBClusterSnapshot":{ - "name":"CreateDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterSnapshotMessage"}, - "output":{ - "shape":"CreateDBClusterSnapshotResult", - "resultWrapper":"CreateDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"} - ], - "documentation":"

Creates a snapshot of a DB cluster.

" - }, - "CreateDBInstance":{ - "name":"CreateDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBInstanceMessage"}, - "output":{ - "shape":"CreateDBInstanceResult", - "resultWrapper":"CreateDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DomainNotFoundFault"} - ], - "documentation":"

Creates a new DB instance.

" - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBParameterGroupMessage"}, - "output":{ - "shape":"CreateDBParameterGroupResult", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "CreateDBSubnetGroup":{ - "name":"CreateDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSubnetGroupMessage"}, - "output":{ - "shape":"CreateDBSubnetGroupResult", - "resultWrapper":"CreateDBSubnetGroupResult" - }, - "errors":[ - {"shape":"DBSubnetGroupAlreadyExistsFault"}, - {"shape":"DBSubnetGroupQuotaExceededFault"}, - {"shape":"DBSubnetQuotaExceededFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" - }, - "CreateEventSubscription":{ - "name":"CreateEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEventSubscriptionMessage"}, - "output":{ - "shape":"CreateEventSubscriptionResult", - "resultWrapper":"CreateEventSubscriptionResult" - }, - "errors":[ - {"shape":"EventSubscriptionQuotaExceededFault"}, - {"shape":"SubscriptionAlreadyExistFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Creates an event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the Neptune console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) you want to be notified of, provide a list of Neptune sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your Neptune sources. If you do not specify either the SourceType nor the SourceIdentifier, you are notified of events generated from all Neptune sources belonging to your customer account.

" - }, - "DeleteDBCluster":{ - "name":"DeleteDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterMessage"}, - "output":{ - "shape":"DeleteDBClusterResult", - "resultWrapper":"DeleteDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"} - ], - "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

" - }, - "DeleteDBClusterParameterGroup":{ - "name":"DeleteDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

" - }, - "DeleteDBClusterSnapshot":{ - "name":"DeleteDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterSnapshotMessage"}, - "output":{ - "shape":"DeleteDBClusterSnapshotResult", - "resultWrapper":"DeleteDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

" - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBInstanceMessage"}, - "output":{ - "shape":"DeleteDBInstanceResult", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon Neptune DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of a DB cluster, you can't delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

" - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

" - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidDBSubnetStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"} - ], - "documentation":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

" - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidEventSubscriptionStateFault"} - ], - "documentation":"

Deletes an event notification subscription.

" - }, - "DescribeDBClusterParameterGroups":{ - "name":"DescribeDBClusterParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, - "output":{ - "shape":"DBClusterParameterGroupsMessage", - "resultWrapper":"DescribeDBClusterParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

" - }, - "DescribeDBClusterParameters":{ - "name":"DescribeDBClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterParametersMessage"}, - "output":{ - "shape":"DBClusterParameterGroupDetails", - "resultWrapper":"DescribeDBClusterParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

" - }, - "DescribeDBClusterSnapshotAttributes":{ - "name":"DescribeDBClusterSnapshotAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, - "output":{ - "shape":"DescribeDBClusterSnapshotAttributesResult", - "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

" - }, - "DescribeDBClusterSnapshots":{ - "name":"DescribeDBClusterSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, - "output":{ - "shape":"DBClusterSnapshotMessage", - "resultWrapper":"DescribeDBClusterSnapshotsResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Returns information about DB cluster snapshots. This API action supports pagination.

" - }, - "DescribeDBClusters":{ - "name":"DescribeDBClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClustersMessage"}, - "output":{ - "shape":"DBClusterMessage", - "resultWrapper":"DescribeDBClustersResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Returns information about provisioned DB clusters. This API supports pagination.

" - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - }, - "documentation":"

Returns a list of the available DB engines.

" - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBInstancesMessage"}, - "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

Returns information about provisioned instances. This API supports pagination.

" - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, - "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns the detailed parameter list for a particular DB parameter group.

" - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSubnetGroupsMessage"}, - "output":{ - "shape":"DBSubnetGroupMessage", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" - }, - "DescribeEngineDefaultClusterParameters":{ - "name":"DescribeEngineDefaultClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultClusterParametersResult", - "resultWrapper":"DescribeEngineDefaultClusterParametersResult" - }, - "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

" - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - }, - "documentation":"

Returns the default engine and system parameter information for the specified database engine.

" - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - }, - "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"} - ], - "documentation":"

Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify a SubscriptionName, lists the description for that subscription.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - }, - "documentation":"

Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

" - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - }, - "documentation":"

Returns a list of orderable DB instance options for the specified engine.

" - }, - "DescribePendingMaintenanceActions":{ - "name":"DescribePendingMaintenanceActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, - "output":{ - "shape":"PendingMaintenanceActionsMessage", - "resultWrapper":"DescribePendingMaintenanceActionsResult" - }, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

" - }, - "DescribeValidDBInstanceModifications":{ - "name":"DescribeValidDBInstanceModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeValidDBInstanceModificationsMessage"}, - "output":{ - "shape":"DescribeValidDBInstanceModificationsResult", - "resultWrapper":"DescribeValidDBInstanceModificationsResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"} - ], - "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" - }, - "FailoverDBCluster":{ - "name":"FailoverDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"FailoverDBClusterMessage"}, - "output":{ - "shape":"FailoverDBClusterResult", - "resultWrapper":"FailoverDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBInstanceStateFault"} - ], - "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Read Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Neptune will automatically fail over to a Read Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Lists all tags on an Amazon Neptune resource.

" - }, - "ModifyDBCluster":{ - "name":"ModifyDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterMessage"}, - "output":{ - "shape":"ModifyDBClusterResult", - "resultWrapper":"ModifyDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"DBClusterParameterGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBClusterAlreadyExistsFault"} - ], - "documentation":"

Modify a setting for a DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" - }, - "ModifyDBClusterParameterGroup":{ - "name":"ModifyDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, - "output":{ - "shape":"DBClusterParameterGroupNameMessage", - "resultWrapper":"ModifyDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ], - "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" - }, - "ModifyDBClusterSnapshotAttribute":{ - "name":"ModifyDBClusterSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, - "output":{ - "shape":"ModifyDBClusterSnapshotAttributeResult", - "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"SharedSnapshotQuotaExceededFault"} - ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

" - }, - "ModifyDBInstance":{ - "name":"ModifyDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBInstanceMessage"}, - "output":{ - "shape":"ModifyDBInstanceResult", - "resultWrapper":"ModifyDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBUpgradeDependencyFailureFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"CertificateNotFoundFault"}, - {"shape":"DomainNotFoundFault"} - ], - "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ], - "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "ModifyDBSubnetGroup":{ - "name":"ModifyDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBSubnetGroupMessage"}, - "output":{ - "shape":"ModifyDBSubnetGroupResult", - "resultWrapper":"ModifyDBSubnetGroupResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetQuotaExceededFault"}, - {"shape":"SubnetAlreadyInUse"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" - }, - "ModifyEventSubscription":{ - "name":"ModifyEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyEventSubscriptionMessage"}, - "output":{ - "shape":"ModifyEventSubscriptionResult", - "resultWrapper":"ModifyEventSubscriptionResult" - }, - "errors":[ - {"shape":"EventSubscriptionQuotaExceededFault"}, - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"} - ], - "documentation":"

Modifies an existing event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType by using the DescribeEventCategories action.

" - }, - "PromoteReadReplicaDBCluster":{ - "name":"PromoteReadReplicaDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaDBClusterMessage"}, - "output":{ - "shape":"PromoteReadReplicaDBClusterResult", - "resultWrapper":"PromoteReadReplicaDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

" - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

" - }, - "RemoveRoleFromDBCluster":{ - "name":"RemoveRoleFromDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveRoleFromDBClusterMessage"}, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterRoleNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

Disassociates an Identity and Access Management (IAM) role from a DB cluster.

" - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Removes a source identifier from an existing event notification subscription.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Removes metadata tags from an Amazon Neptune resource.

" - }, - "ResetDBClusterParameterGroup":{ - "name":"ResetDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBClusterParameterGroupMessage"}, - "output":{ - "shape":"DBClusterParameterGroupNameMessage", - "resultWrapper":"ResetDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

" - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" - }, - "RestoreDBClusterFromSnapshot":{ - "name":"RestoreDBClusterFromSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, - "output":{ - "shape":"RestoreDBClusterFromSnapshotResult", - "resultWrapper":"RestoreDBClusterFromSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InsufficientDBClusterCapacityFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

" - }, - "RestoreDBClusterToPointInTime":{ - "name":"RestoreDBClusterToPointInTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, - "output":{ - "shape":"RestoreDBClusterToPointInTimeResult", - "resultWrapper":"RestoreDBClusterToPointInTimeResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InsufficientDBClusterCapacityFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageQuotaExceededFault"} - ], - "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

" - } - }, - "shapes":{ - "AddRoleToDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "RoleArn" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to associate the IAM role with.

" - }, - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with the Neptune DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

" - } - } - }, - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event notification subscription you want to add a source identifier to.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source to be added.

Constraints:

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" - } - }, - "documentation":"

" - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Neptune resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the Amazon Neptune resource.

" - } - }, - "documentation":"

" - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "ApplyPendingMaintenanceActionMessage":{ - "type":"structure", - "required":[ - "ResourceIdentifier", - "ApplyAction", - "OptInType" - ], - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" - }, - "ApplyAction":{ - "shape":"String", - "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" - }, - "OptInType":{ - "shape":"String", - "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" - } - }, - "documentation":"

" - }, - "ApplyPendingMaintenanceActionResult":{ - "type":"structure", - "members":{ - "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} - } - }, - "AttributeValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AttributeValue" - } - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

Neptune may not also be authorized via IAM to perform necessary actions on your behalf.

", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the availability zone.

" - } - }, - "documentation":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "AvailabilityZones":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CertificateNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

CertificateIdentifier does not refer to an existing certificate.

", - "error":{ - "code":"CertificateNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{ - "shape":"String", - "documentation":"

The name of the character set.

" - }, - "CharacterSetDescription":{ - "shape":"String", - "documentation":"

The description of the character set.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "CloudwatchLogsExportConfiguration":{ - "type":"structure", - "members":{ - "EnableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The list of log types to enable.

" - }, - "DisableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The list of log types to disable.

" - } - }, - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" - }, - "CopyDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "SourceDBClusterParameterGroupIdentifier", - "TargetDBClusterParameterGroupIdentifier", - "TargetDBClusterParameterGroupDescription" - ], - "members":{ - "SourceDBClusterParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" - }, - "TargetDBClusterParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied DB cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster-param-group1

" - }, - "TargetDBClusterParameterGroupDescription":{ - "shape":"String", - "documentation":"

A description for the copied DB cluster parameter group.

" - }, - "Tags":{"shape":"TagList"} - } - }, - "CopyDBClusterParameterGroupResult":{ - "type":"structure", - "members":{ - "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} - } - }, - "CopyDBClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBClusterSnapshotIdentifier", - "TargetDBClusterSnapshotIdentifier" - ], - "members":{ - "SourceDBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN.

Example: my-cluster-snapshot1

" - }, - "TargetDBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, Amazon Neptune 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 AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

" - }, - "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 AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot 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 AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:neptune-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, and otherwise false. The default is false.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "CopyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "SourceDBParameterGroupIdentifier", - "TargetDBParameterGroupIdentifier", - "TargetDBParameterGroupDescription" - ], - "members":{ - "SourceDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" - }, - "TargetDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

" - }, - "TargetDBParameterGroupDescription":{ - "shape":"String", - "documentation":"

A description for the copied DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "Engine" - ], - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" - }, - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with this DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this DB cluster.

Valid Values: neptune

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use.

Example: 1.0.1

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the instances in the DB cluster accept connections.

Default: 8182

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name of the master user for the DB cluster.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "ReplicationSourceIdentifier":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

" - }, - "Tags":{"shape":"TagList"}, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB cluster is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon Neptune will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" - }, - "PreSignedUrl":{ - "shape":"String", - "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:neptune-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":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - } - }, - "documentation":"

" - }, - "CreateDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBClusterParameterGroupName", - "DBParameterGroupFamily", - "Description" - ], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must match the name of an existing DBClusterParameterGroup.

This value is stored as a lowercase string.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the DB cluster parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBClusterParameterGroupResult":{ - "type":"structure", - "members":{ - "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} - } - }, - "CreateDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "CreateDBClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "DBClusterSnapshotIdentifier", - "DBClusterIdentifier" - ], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1-snapshot1

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster1

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the DB cluster snapshot.

" - } - }, - "documentation":"

" - }, - "CreateDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBInstanceClass", - "Engine" - ], - "members":{ - "DBName":{ - "shape":"String", - "documentation":"

The database name.

Type: String

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gibibytes) to allocate for the DB instance.

Type: Integer

Not applicable. Neptune cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in a Neptune cluster volume.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Valid Values: neptune

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name for the master user. Not used.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not used.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with this DB instance.

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB instance.

If there is no DB subnet group, then it is a non-VPC DB instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained.

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 8182

Type: Integer

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified CharacterSet.

Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is not supported.

", - "deprecated":true - }, - "Tags":{"shape":"TagList"}, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB instance is encrypted.

Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

Default: false

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon Neptune will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

Specify the Active Directory Domain to create the instance in.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "DomainIAMRoleName":{ - "shape":"String", - "documentation":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" - }, - "Timezone":{ - "shape":"String", - "documentation":"

The time zone of the DB instance.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable AWS Identity and Access Management (IAM) authentication for Neptune.

Default: false

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

" - } - }, - "documentation":"

" - }, - "CreateDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "CreateDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "DBParameterGroupFamily", - "Description" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" - }, - "SourceIds":{ - "shape":"SourceIdsList", - "documentation":"

The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

Constraints:

  • If SourceIds are supplied, SourceType must also be provided.

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DBCluster":{ - "type":"structure", - "members":{ - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

AllocatedStorage always returns 1, because Neptune DB cluster storage size is not fixed, but instead automatically adjusts as needed.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

If present, specifies the name of the character set that this cluster is associated with.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" - }, - "DBClusterParameterGroup":{ - "shape":"String", - "documentation":"

Specifies the name of the DB cluster parameter group for the DB cluster.

" - }, - "DBSubnetGroup":{ - "shape":"String", - "documentation":"

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the current state of this DB cluster.

" - }, - "PercentProgress":{ - "shape":"String", - "documentation":"

Specifies the progress of the operation as a percentage.

" - }, - "EarliestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the earliest time to which a database can be restored with point-in-time restore.

" - }, - "Endpoint":{ - "shape":"String", - "documentation":"

Specifies the connection endpoint for the primary instance of the DB cluster.

" - }, - "ReaderEndpoint":{ - "shape":"String", - "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Read Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Neptune distributes the connection requests among the Read Replicas in the DB cluster. This functionality can help balance your read workload across multiple Read Replicas in your DB cluster.

If a failover occurs, and the Read Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Read Replicas in the cluster, you can then reconnect to the reader endpoint.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Provides the name of the database engine to be used for this DB cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "LatestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the port that the database engine is listening on.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Contains the master username for the DB cluster.

" - }, - "DBClusterOptionGroupMemberships":{ - "shape":"DBClusterOptionGroupMemberships", - "documentation":"

Provides the list of option group memberships for this DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" - }, - "ReplicationSourceIdentifier":{ - "shape":"String", - "documentation":"

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

" - }, - "ReadReplicaIdentifiers":{ - "shape":"ReadReplicaIdentifierList", - "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" - }, - "DBClusterMembers":{ - "shape":"DBClusterMemberList", - "documentation":"

Provides the list of instances that make up the DB cluster.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

Provides a list of VPC security groups that the DB cluster belongs to.

" - }, - "HostedZoneId":{ - "shape":"String", - "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

" - }, - "DbClusterResourceId":{ - "shape":"String", - "documentation":"

The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

" - }, - "DBClusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster.

" - }, - "AssociatedRoles":{ - "shape":"DBClusterRoles", - "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" - }, - "CloneGroupId":{ - "shape":"String", - "documentation":"

Identifies the clone group to which the DB cluster is associated.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" - } - }, - "documentation":"

Contains the details of an Amazon Neptune DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", - "wrapper":true - }, - "DBClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User already has a DB cluster with the given identifier.

", - "error":{ - "code":"DBClusterAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterList":{ - "type":"list", - "member":{ - "shape":"DBCluster", - "locationName":"DBCluster" - } - }, - "DBClusterMember":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Specifies the instance identifier for this member of the DB cluster.

" - }, - "IsClusterWriter":{ - "shape":"Boolean", - "documentation":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

" - }, - "DBClusterParameterGroupStatus":{ - "shape":"String", - "documentation":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" - } - }, - "documentation":"

Contains information about an instance that is part of a DB cluster.

", - "wrapper":true - }, - "DBClusterMemberList":{ - "type":"list", - "member":{ - "shape":"DBClusterMember", - "locationName":"DBClusterMember" - } - }, - "DBClusterMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusters request.

" - }, - "DBClusters":{ - "shape":"DBClusterList", - "documentation":"

Contains a list of DB clusters for the user.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusters action.

" - }, - "DBClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterIdentifier does not refer to an existing DB cluster.

", - "error":{ - "code":"DBClusterNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterOptionGroupMemberships":{ - "type":"list", - "member":{ - "shape":"DBClusterOptionGroupStatus", - "locationName":"DBClusterOptionGroup" - } - }, - "DBClusterOptionGroupStatus":{ - "type":"structure", - "members":{ - "DBClusterOptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the DB cluster option group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of the DB cluster option group.

" - } - }, - "documentation":"

Contains status information for a DB cluster option group.

" - }, - "DBClusterParameterGroup":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB cluster parameter group.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides the customer-specified description for this DB cluster parameter group.

" - }, - "DBClusterParameterGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" - } - }, - "documentation":"

Contains the details of an Amazon Neptune DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", - "wrapper":true - }, - "DBClusterParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Provides a list of parameters for the DB cluster parameter group.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

" - }, - "DBClusterParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBClusterParameterGroup", - "locationName":"DBClusterParameterGroup" - } - }, - "DBClusterParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" - } - }, - "documentation":"

" - }, - "DBClusterParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", - "error":{ - "code":"DBClusterParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBClusterParameterGroups":{ - "shape":"DBClusterParameterGroupList", - "documentation":"

A list of DB cluster parameter groups.

" - } - }, - "documentation":"

" - }, - "DBClusterQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", - "error":{ - "code":"DBClusterQuotaExceededFault", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "DBClusterRole":{ - "type":"structure", - "members":{ - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:

  • ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

  • PENDING - the IAM role ARN is being associated with the DB cluster.

  • INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.

" - } - }, - "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

" - }, - "DBClusterRoleAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoleNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoleQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoles":{ - "type":"list", - "member":{ - "shape":"DBClusterRole", - "locationName":"DBClusterRole" - } - }, - "DBClusterSnapshot":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

" - }, - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier for the DB cluster snapshot.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Specifies the name of the database engine.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size in gibibytes (GiB).

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of this DB cluster snapshot.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VPC ID associated with the DB cluster snapshot.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Provides the master username for the DB cluster snapshot.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Provides the version of the database engine for this DB cluster snapshot.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

Provides the license model information for this DB cluster snapshot.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

Provides the type of the DB cluster snapshot.

" - }, - "PercentProgress":{ - "shape":"Integer", - "documentation":"

Specifies the percentage of the estimated data that has been transferred.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster snapshot is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

" - }, - "DBClusterSnapshotArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

" - }, - "SourceDBClusterSnapshotArn":{ - "shape":"String", - "documentation":"

If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" - } - }, - "documentation":"

Contains the details for an Amazon Neptune DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", - "wrapper":true - }, - "DBClusterSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User already has a DB cluster snapshot with the given identifier.

", - "error":{ - "code":"DBClusterSnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterSnapshotAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" - }, - "AttributeValues":{ - "shape":"AttributeValueList", - "documentation":"

The value(s) for the manual DB cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

" - } - }, - "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" - }, - "DBClusterSnapshotAttributeList":{ - "type":"list", - "member":{ - "shape":"DBClusterSnapshotAttribute", - "locationName":"DBClusterSnapshotAttribute" - } - }, - "DBClusterSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the manual DB cluster snapshot that the attributes apply to.

" - }, - "DBClusterSnapshotAttributes":{ - "shape":"DBClusterSnapshotAttributeList", - "documentation":"

The list of attributes and values for the manual DB cluster snapshot.

" - } - }, - "documentation":"

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", - "wrapper":true - }, - "DBClusterSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBClusterSnapshot", - "locationName":"DBClusterSnapshot" - } - }, - "DBClusterSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBClusterSnapshots":{ - "shape":"DBClusterSnapshotList", - "documentation":"

Provides a list of DB cluster snapshots for the user.

" - } - }, - "documentation":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

" - }, - "DBClusterSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", - "error":{ - "code":"DBClusterSnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family for the database engine.

" - }, - "DBEngineDescription":{ - "shape":"String", - "documentation":"

The description of the database engine.

" - }, - "DBEngineVersionDescription":{ - "shape":"String", - "documentation":"

The description of the database engine version.

" - }, - "DefaultCharacterSet":{ - "shape":"CharacterSet", - "documentation":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

" - }, - "SupportedCharacterSets":{ - "shape":"SupportedCharacterSetsList", - "documentation":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" - }, - "ValidUpgradeTarget":{ - "shape":"ValidUpgradeTargetList", - "documentation":"

A list of engine versions that this database engine version can be upgraded to.

" - }, - "SupportedTimezones":{ - "shape":"SupportedTimezonesList", - "documentation":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" - }, - "ExportableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The types of logs that the database engine has available for export to CloudWatch Logs.

" - }, - "SupportsLogExportsToCloudwatchLogs":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

" - }, - "SupportsReadReplica":{ - "shape":"Boolean", - "documentation":"

Indicates whether the database engine version supports read replicas.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBEngineVersions":{ - "shape":"DBEngineVersionList", - "documentation":"

A list of DBEngineVersion elements.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the name of the compute and memory capacity class of the DB instance.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Provides the name of the database engine to be used for this DB instance.

" - }, - "DBInstanceStatus":{ - "shape":"String", - "documentation":"

Specifies the current state of this database.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Contains the master username for the DB instance.

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The database name.

" - }, - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

Specifies the connection endpoint.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size specified in gibibytes.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the date and time the DB instance was created.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" - }, - "BackupRetentionPeriod":{ - "shape":"Integer", - "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupMembershipList", - "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

Provides a list of VPC security group elements that the DB instance belongs to.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupStatusList", - "documentation":"

Provides the list of DB parameter groups applied to this DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Specifies the name of the Availability Zone the DB instance is located in.

" - }, - "DBSubnetGroup":{ - "shape":"DBSubnetGroup", - "documentation":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" - }, - "PendingModifiedValues":{ - "shape":"PendingModifiedValues", - "documentation":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" - }, - "LatestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that minor version patches are applied automatically.

" - }, - "ReadReplicaSourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

" - }, - "ReadReplicaDBInstanceIdentifiers":{ - "shape":"ReadReplicaDBInstanceIdentifierList", - "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" - }, - "ReadReplicaDBClusterIdentifiers":{ - "shape":"ReadReplicaDBClusterIdentifierList", - "documentation":"

Contains one or more identifiers of DB clusters that are Read Replicas of this DB instance.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value.

" - }, - "OptionGroupMemberships":{ - "shape":"OptionGroupMembershipList", - "documentation":"

Provides the list of option group memberships for this DB instance.

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

If present, specifies the name of the character set that this instance is associated with.

" - }, - "SecondaryAvailabilityZone":{ - "shape":"String", - "documentation":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

" - }, - "PubliclyAccessible":{ - "shape":"Boolean", - "documentation":"

This parameter is not supported.

", - "deprecated":true - }, - "StatusInfos":{ - "shape":"DBInstanceStatusInfoList", - "documentation":"

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type associated with DB instance.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which the instance is associated for TDE encryption.

" - }, - "DbInstancePort":{ - "shape":"Integer", - "documentation":"

Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB instance is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

" - }, - "DbiResourceId":{ - "shape":"String", - "documentation":"

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the CA certificate for this DB instance.

" - }, - "DomainMemberships":{ - "shape":"DomainMembershipList", - "documentation":"

Not supported

" - }, - "CopyTagsToSnapshot":{ - "shape":"Boolean", - "documentation":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

" - }, - "EnhancedMonitoringResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" - }, - "DBInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB instance.

" - }, - "Timezone":{ - "shape":"String", - "documentation":"

Not supported.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise false.

" - }, - "PerformanceInsightsEnabled":{ - "shape":"BooleanOptional", - "documentation":"

True if Performance Insights is enabled for the DB instance, and otherwise false.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "EnabledCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

" - } - }, - "documentation":"

Contains the details of an Amazon Neptune DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", - "wrapper":true - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User already has a DB instance with the given identifier.

", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "DBInstances":{ - "shape":"DBInstanceList", - "documentation":"

A list of DBInstance instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBInstanceStatusInfo":{ - "type":"structure", - "members":{ - "StatusType":{ - "shape":"String", - "documentation":"

This value is currently \"read replication.\"

" - }, - "Normal":{ - "shape":"Boolean", - "documentation":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" - } - }, - "documentation":"

Provides a list of status information for a DB instance.

" - }, - "DBInstanceStatusInfoList":{ - "type":"list", - "member":{ - "shape":"DBInstanceStatusInfo", - "locationName":"DBInstanceStatusInfo" - } - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides the customer-specified description for this DB parameter group.

" - }, - "DBParameterGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB parameter group.

" - } - }, - "documentation":"

Contains the details of an Amazon Neptune DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", - "wrapper":true - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A DB parameter group with the same name exists.

", - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter values.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed number of DB parameter groups.

", - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DP parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - } - }, - "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

" - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupList", - "documentation":"

A list of DBParameterGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB security group.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

", - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group.

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

Provides the description of the DB subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VpcId of the DB subnet group.

" - }, - "SubnetGroupStatus":{ - "shape":"String", - "documentation":"

Provides the status of the DB subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Contains a list of Subnet elements.

" - }, - "DBSubnetGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" - } - }, - "documentation":"

Contains the details of an Amazon Neptune DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "wrapper":true - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

", - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBSubnetGroups":{ - "shape":"DBSubnetGroups", - "documentation":"

A list of DBSubnetGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed number of DB subnet groups.

", - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB upgrade failed because a resource the DB depends on could not be modified.

", - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeleteDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

" - }, - "SkipFinalSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" - }, - "FinalDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterParameterGroupMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be the name of an existing DB cluster parameter group.

  • You can't delete a default DB cluster parameter group.

  • Cannot be associated with any DB clusters.

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "DeleteDBClusterSnapshotMessage":{ - "type":"structure", - "required":["DBClusterSnapshotIdentifier"], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match the name of an existing DB instance.

" - }, - "SkipFinalSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" - }, - "FinalDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Cannot be specified when deleting a Read Replica.

" - } - }, - "documentation":"

" - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • You can't delete a default DB parameter group

  • Cannot be associated with any DB instances

" - } - }, - "documentation":"

" - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event notification subscription you want to delete.

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DescribeDBClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterParametersMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB cluster parameter group to return parameter details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Source":{ - "shape":"String", - "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterSnapshotAttributesMessage":{ - "type":"structure", - "required":["DBClusterSnapshotIdentifier"], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB cluster snapshot to describe the attributes for.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} - } - }, - "DescribeDBClusterSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

" - }, - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon Neptune for my AWS account.

  • manual - Return all DB cluster snapshots that have been taken by my AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "IncludeShared":{ - "shape":"Boolean", - "documentation":"

True to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

" - }, - "IncludePublic":{ - "shape":"Boolean", - "documentation":"

True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" - } - }, - "documentation":"

" - }, - "DescribeDBClustersMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match an existing DBClusterIdentifier.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB clusters to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The database engine to return.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The database engine version to return.

Example: 5.1.49

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DefaultOnly":{ - "shape":"Boolean", - "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" - }, - "ListSupportedCharacterSets":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" - }, - "ListSupportedTimezones":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" - } - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBInstance.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB instances to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include information about the DB instances identified by these ARNs.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group to return details for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultClusterParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group family to return engine parameter information for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultClusterParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event notification subscription you want to describe.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is supplied, SourceType must also be provided.

  • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

  • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes to retrieve events for.

Default: 60

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories that trigger notifications for a event notification subscription.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the engine to retrieve DB instance options for.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

" - }, - "Vpc":{ - "shape":"BooleanOptional", - "documentation":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribePendingMaintenanceActionsMessage":{ - "type":"structure", - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The ARN of a resource to return pending maintenance actions for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more resources to return pending maintenance actions for.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - } - }, - "documentation":"

" - }, - "DescribeValidDBInstanceModificationsMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer identifier or the ARN of your DB instance.

" - } - }, - "documentation":"

" - }, - "DescribeValidDBInstanceModificationsResult":{ - "type":"structure", - "members":{ - "ValidDBInstanceModificationsMessage":{"shape":"ValidDBInstanceModificationsMessage"} - } - }, - "DomainMembership":{ - "type":"structure", - "members":{ - "Domain":{ - "shape":"String", - "documentation":"

The identifier of the Active Directory Domain.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

" - }, - "FQDN":{ - "shape":"String", - "documentation":"

The fully qualified domain name of the Active Directory Domain.

" - }, - "IAMRoleName":{ - "shape":"String", - "documentation":"

The name of the IAM role to be used when making API calls to the Directory Service.

" - } - }, - "documentation":"

An Active Directory Domain membership record associated with the DB instance.

" - }, - "DomainMembershipList":{ - "type":"list", - "member":{ - "shape":"DomainMembership", - "locationName":"DomainMembership" - }, - "documentation":"

List of Active Directory Domain membership records associated with a DB instance.

" - }, - "DomainNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Domain does not refer to an existing Active Directory Domain.

", - "error":{ - "code":"DomainNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "Double":{"type":"double"}, - "DoubleOptional":{"type":"double"}, - "DoubleRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Double", - "documentation":"

The minimum value in the range.

" - }, - "To":{ - "shape":"Double", - "documentation":"

The maximum value in the range.

" - } - }, - "documentation":"

A range of double values.

" - }, - "DoubleRangeList":{ - "type":"list", - "member":{ - "shape":"DoubleRange", - "locationName":"DoubleRange" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

Specifies the DNS address of the DB instance.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the database engine is listening on.

" - }, - "HostedZoneId":{ - "shape":"String", - "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Specifies the name of the DB parameter group family that the engine default parameters apply to.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Contains a list of engine default parameters.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", - "wrapper":true - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

Provides the identifier for the source of the event.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the source type for this event.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Provides the text of this event.

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

Specifies the category for the event.

" - }, - "Date":{ - "shape":"TStamp", - "documentation":"

Specifies the date and time of the event.

" - }, - "SourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the event.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeEvents action.

" - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The source type that the returned categories belong to

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

The event categories for the specified source type

" - } - }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{ - "shape":"EventCategoriesMapList", - "documentation":"

A list of EventCategoriesMap data types.

" - } - }, - "documentation":"

Data returned from the DescribeEventCategories action.

" - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{ - "shape":"String", - "documentation":"

The AWS customer account associated with the event notification subscription.

" - }, - "CustSubscriptionId":{ - "shape":"String", - "documentation":"

The event notification subscription Id.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The topic ARN of the event notification subscription.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the event notification subscription.

Constraints:

Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

The status \"no-permission\" indicates that Neptune no longer has permission to post to the SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" - }, - "SubscriptionCreationTime":{ - "shape":"String", - "documentation":"

The time the event notification subscription was created.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The source type for the event notification subscription.

" - }, - "SourceIdsList":{ - "shape":"SourceIdsList", - "documentation":"

A list of source IDs for the event notification subscription.

" - }, - "EventCategoriesList":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for the event notification subscription.

" - }, - "Enabled":{ - "shape":"Boolean", - "documentation":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

" - }, - "EventSubscriptionArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the event subscription.

" - } - }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "wrapper":true - }, - "EventSubscriptionQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EventSubscriptionsList":{ - "type":"list", - "member":{ - "shape":"EventSubscription", - "locationName":"EventSubscription" - } - }, - "EventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

A list of EventSubscriptions data types.

" - } - }, - "documentation":"

Data returned by the DescribeEventSubscriptions action.

" - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of Event instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" - }, - "FailoverDBClusterMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "TargetDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Read Replica in the DB cluster. For example, mydbcluster-replica1.

" - } - }, - "documentation":"

" - }, - "FailoverDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "Filter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

This parameter is not currently supported.

" - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

This type is not currently supported.

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FilterValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Value" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB cluster does not have enough capacity for the current operation.

", - "error":{ - "code":"InsufficientDBClusterCapacityFault", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientStorageClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is insufficient storage available for the current action. You may be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

", - "error":{ - "code":"InsufficientStorageClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBClusterSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The supplied value is not a valid DB cluster snapshot state.

", - "error":{ - "code":"InvalidDBClusterSnapshotStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBClusterStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB cluster is not in a valid state.

", - "error":{ - "code":"InvalidDBClusterStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified DB instance is not in the available state.

", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you cannot delete it when the parameter group is in this state.

", - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the DB security group does not allow deletion.

", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the DB snapshot does not allow deletion.

", - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet group cannot be deleted because it is in use.

", - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet is not in the available state.

", - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cannot restore from vpc backup to non-vpc DB instance.

", - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KMSKeyNotAccessibleFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Error accessing KMS key.

", - "error":{ - "code":"KMSKeyNotAccessibleFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Neptune resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "LogTypeList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ModifyDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "NewDBClusterIdentifier":{ - "shape":"String", - "documentation":"

The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • The first character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster2

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter only affects the NewDBClusterIdentifier and MasterUserPassword values. If you set the ApplyImmediately parameter value to false, then changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" - }, - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to use for the DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the DB cluster will belong to.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

For a list of valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBClusterParameterGroupName", - "Parameters" - ], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to modify.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of parameters in the DB cluster parameter group to modify.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "ModifyDBClusterSnapshotAttributeMessage":{ - "type":"structure", - "required":[ - "DBClusterSnapshotIdentifier", - "AttributeName" - ], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB cluster snapshot to modify the attributes for.

" - }, - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

" - }, - "ValuesToAdd":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB cluster snapshot restorable by any AWS account. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.

" - }, - "ValuesToRemove":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} - } - }, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • If supplied, must match existing DBSecurityGroups.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • If supplied, must match existing VpcSecurityGroupIds.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot.

Default: false

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not applicable.

Default: Uses existing setting

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

" - }, - "AllowMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "NewDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon Neptune operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Valid values: standard | gp2 | io1

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

Indicates the certificate that needs to be associated with the instance.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

Not supported.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" - }, - "DBPortNumber":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

Default: 8182

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

This parameter is not supported.

", - "deprecated":true - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "DomainIAMRoleName":{ - "shape":"String", - "documentation":"

Not supported

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: false

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "CloudwatchLogsExportConfiguration":{ - "shape":"CloudwatchLogsExportConfiguration", - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" - } - }, - "documentation":"

" - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

Valid Values (for the application method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

" - } - }, - "documentation":"

" - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the DB subnet group.

" - } - }, - "documentation":"

" - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event notification subscription.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription.

" - } - }, - "documentation":"

" - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group that the instance belongs to.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

" - } - }, - "documentation":"

Provides information on the option groups the DB instance is a member of.

" - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OrderableDBInstanceOption":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The engine type of a DB instance.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version of a DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for a DB instance.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for a DB instance.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

A list of Availability Zones for a DB instance.

" - }, - "MultiAZCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance is Multi-AZ capable.

" - }, - "ReadReplicaCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance can have a Read Replica.

" - }, - "Vpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance is in a VPC.

" - }, - "SupportsStorageEncryption":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports encrypted storage.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Indicates the storage type for a DB instance.

" - }, - "SupportsIops":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports provisioned IOPS.

" - }, - "SupportsEnhancedMonitoring":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

" - }, - "SupportsIAMDatabaseAuthentication":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports IAM database authentication.

" - }, - "SupportsPerformanceInsights":{ - "shape":"Boolean", - "documentation":"

True if a DB instance supports Performance Insights, otherwise false.

" - }, - "MinStorageSize":{ - "shape":"IntegerOptional", - "documentation":"

Minimum storage size for a DB instance.

" - }, - "MaxStorageSize":{ - "shape":"IntegerOptional", - "documentation":"

Maximum storage size for a DB instance.

" - }, - "MinIopsPerDbInstance":{ - "shape":"IntegerOptional", - "documentation":"

Minimum total provisioned IOPS for a DB instance.

" - }, - "MaxIopsPerDbInstance":{ - "shape":"IntegerOptional", - "documentation":"

Maximum total provisioned IOPS for a DB instance.

" - }, - "MinIopsPerGib":{ - "shape":"DoubleOptional", - "documentation":"

Minimum provisioned IOPS per GiB for a DB instance.

" - }, - "MaxIopsPerGib":{ - "shape":"DoubleOptional", - "documentation":"

Maximum provisioned IOPS per GiB for a DB instance.

" - } - }, - "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", - "wrapper":true - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{ - "shape":"OrderableDBInstanceOptionsList", - "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

Specifies the name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

Specifies the value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides a description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

Indicates the source of the parameter value.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

Specifies the engine specific parameters type.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

Specifies the valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

Specifies the valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest engine version to which the parameter can apply.

" - }, - "ApplyMethod":{ - "shape":"ApplyMethod", - "documentation":"

Indicates when to apply parameter updates.

" - } - }, - "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingCloudwatchLogsExports":{ - "type":"structure", - "members":{ - "LogTypesToEnable":{ - "shape":"LogTypeList", - "documentation":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

" - }, - "LogTypesToDisable":{ - "shape":"LogTypeList", - "documentation":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

" - } - }, - "documentation":"

A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

" - }, - "PendingMaintenanceAction":{ - "type":"structure", - "members":{ - "Action":{ - "shape":"String", - "documentation":"

The type of pending maintenance action that is available for the resource.

" - }, - "AutoAppliedAfterDate":{ - "shape":"TStamp", - "documentation":"

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" - }, - "ForcedApplyDate":{ - "shape":"TStamp", - "documentation":"

The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" - }, - "OptInStatus":{ - "shape":"String", - "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" - }, - "CurrentApplyDate":{ - "shape":"TStamp", - "documentation":"

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description providing more detail about the maintenance action.

" - } - }, - "documentation":"

Provides information about a pending maintenance action for a resource.

" - }, - "PendingMaintenanceActionDetails":{ - "type":"list", - "member":{ - "shape":"PendingMaintenanceAction", - "locationName":"PendingMaintenanceAction" - } - }, - "PendingMaintenanceActions":{ - "type":"list", - "member":{ - "shape":"ResourcePendingMaintenanceActions", - "locationName":"ResourcePendingMaintenanceActions" - } - }, - "PendingMaintenanceActionsMessage":{ - "type":"structure", - "members":{ - "PendingMaintenanceActions":{ - "shape":"PendingMaintenanceActions", - "documentation":"

A list of the pending maintenance actions for the resource.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" - } - }, - "documentation":"

Data returned from the DescribePendingMaintenanceActions action.

" - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending port for the DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending number of days for which automated backups are retained.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier of the CA certificate for the DB instance.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The new DB subnet group for the DB instance.

" - }, - "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"} - }, - "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" - }, - "PromoteReadReplicaDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster Read Replica to promote. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster Read Replica.

Example: my-cluster-replica1

" - } - }, - "documentation":"

" - }, - "PromoteReadReplicaDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Range":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The minimum value in the range.

" - }, - "To":{ - "shape":"Integer", - "documentation":"

The maximum value in the range.

" - }, - "Step":{ - "shape":"IntegerOptional", - "documentation":"

The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

" - } - }, - "documentation":"

A range of integer values.

" - }, - "RangeList":{ - "type":"list", - "member":{ - "shape":"Range", - "locationName":"Range" - } - }, - "ReadReplicaDBClusterIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBClusterIdentifier" - } - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "ReadReplicaIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "ForceFailover":{ - "shape":"BooleanOptional", - "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" - } - }, - "documentation":"

" - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RemoveRoleFromDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "RoleArn" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to disassociate the IAM role from.

" - }, - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

" - } - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event notification subscription you want to remove a source identifier from.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" - } - }, - "documentation":"

" - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Neptune resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

The tag key (name) of the tag to be removed.

" - } - }, - "documentation":"

" - }, - "ResetDBClusterParameterGroupMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to reset.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" - } - }, - "documentation":"

" - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Valid Values (for Apply method): pending-reboot

" - } - }, - "documentation":"

" - }, - "ResourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource ID was not found.

", - "error":{ - "code":"ResourceNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResourcePendingMaintenanceActions":{ - "type":"structure", - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The ARN of the resource that has pending maintenance actions.

" - }, - "PendingMaintenanceActionDetails":{ - "shape":"PendingMaintenanceActionDetails", - "documentation":"

A list that provides details about the pending maintenance actions for the resource.

" - } - }, - "documentation":"

Describes the pending maintenance actions for a resource.

", - "wrapper":true - }, - "RestoreDBClusterFromSnapshotMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "SnapshotIdentifier", - "Engine" - ], - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

  • Must match the identifier of an existing Snapshot.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new DB cluster.

Default: The same as source

Constraint: Must be compatible with the engine of the source

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the database engine to use for the new DB cluster.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The database name for the restored DB cluster.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to use for the restored DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the new DB cluster will belong to.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the restored DB cluster.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - } - }, - "documentation":"

" - }, - "RestoreDBClusterFromSnapshotResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "RestoreDBClusterToPointInTimeMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "SourceDBClusterIdentifier" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "RestoreType":{ - "shape":"String", - "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" - }, - "SourceDBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "RestoreToTime":{ - "shape":"TStamp", - "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Cannot be specified if UseLatestRestorableTime parameter is true

  • Cannot be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" - }, - "UseLatestRestorableTime":{ - "shape":"Boolean", - "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if RestoreToTime parameter is provided.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group for the new DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" - }, - "Tags":{"shape":"TagList"}, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - } - }, - "documentation":"

" - }, - "RestoreDBClusterToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "SNSInvalidTopicFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSNoAuthorizationFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSTopicArnNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SharedSnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", - "error":{ - "code":"SharedSnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

", - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SourceIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SourceId" - } - }, - "SourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SourceType":{ - "type":"string", - "enum":[ - "db-instance", - "db-parameter-group", - "db-security-group", - "db-snapshot", - "db-cluster", - "db-cluster-snapshot" - ] - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "StorageTypeNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier of the subnet.

" - }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{ - "shape":"String", - "documentation":"

Specifies the status of the subnet.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet is already in use in the Availability Zone.

", - "error":{ - "code":"SubnetAlreadyInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "SubscriptionAlreadyExistFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionAlreadyExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubscriptionCategoryNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SubscriptionNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SupportedCharacterSetsList":{ - "type":"list", - "member":{ - "shape":"CharacterSet", - "locationName":"CharacterSet" - } - }, - "SupportedTimezonesList":{ - "type":"list", - "member":{ - "shape":"Timezone", - "locationName":"Timezone" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - }, - "Value":{ - "shape":"String", - "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - } - }, - "documentation":"

Metadata assigned to an Amazon Neptune resource consisting of a key-value pair.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - }, - "documentation":"

A list of tags. For more information, see Tagging Amazon Neptune Resources.

" - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

List of tags returned by the ListTagsForResource operation.

" - } - }, - "documentation":"

" - }, - "Timezone":{ - "type":"structure", - "members":{ - "TimezoneName":{ - "shape":"String", - "documentation":"

The name of the time zone.

" - } - }, - "documentation":"

A time zone associated with a DBInstance. This data type is an element in the response to the DescribeDBInstances, and the DescribeDBEngineVersions actions.

" - }, - "UpgradeTarget":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the upgrade target database engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the upgrade target database engine.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" - }, - "AutoUpgrade":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" - }, - "IsMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether a database engine is upgraded to a major version.

" - } - }, - "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" - }, - "ValidDBInstanceModificationsMessage":{ - "type":"structure", - "members":{ - "Storage":{ - "shape":"ValidStorageOptionsList", - "documentation":"

Valid storage options for your DB instance.

" - } - }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", - "wrapper":true - }, - "ValidStorageOptions":{ - "type":"structure", - "members":{ - "StorageType":{ - "shape":"String", - "documentation":"

The valid storage types for your DB instance. For example, gp2, io1.

" - }, - "StorageSize":{ - "shape":"RangeList", - "documentation":"

The valid range of storage in gibibytes. For example, 100 to 16384.

" - }, - "ProvisionedIops":{ - "shape":"RangeList", - "documentation":"

The valid range of provisioned IOPS. For example, 1000-20000.

" - }, - "IopsToStorageRatio":{ - "shape":"DoubleRangeList", - "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" - } - }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" - }, - "ValidStorageOptionsList":{ - "type":"list", - "member":{ - "shape":"ValidStorageOptions", - "locationName":"ValidStorageOptions" - } - }, - "ValidUpgradeTargetList":{ - "type":"list", - "member":{ - "shape":"UpgradeTarget", - "locationName":"UpgradeTarget" - } - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{ - "shape":"String", - "documentation":"

The name of the VPC security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the VPC security group.

" - } - }, - "documentation":"

This data type is used as a response element for queries on VPC security group membership.

" - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - } - }, - "documentation":"Amazon Neptune

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. The core of Amazon Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. Amazon Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that efficiently navigate highly connected datasets. Neptune powers graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security.

This interface reference for Amazon Neptune contains documentation for a programming or command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

Amazon Neptune API Reference

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/waiters-2.json deleted file mode 100644 index e75f03b2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/neptune/2014-10-31/waiters-2.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "version": 2, - "waiters": { - "DBInstanceAvailable": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-restore", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-parameters", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - }, - "DBInstanceDeleted": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "DBInstanceNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "resetting-master-credentials", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/paginators-1.json deleted file mode 100644 index 77936158..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "DescribeEcsClusters": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "EcsClusters" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/service-2.json deleted file mode 100644 index a6f2ba97..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/service-2.json +++ /dev/null @@ -1,4965 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-02-18", - "endpointPrefix":"opsworks", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS OpsWorks", - "serviceId":"OpsWorks", - "signatureVersion":"v4", - "targetPrefix":"OpsWorks_20130218", - "uid":"opsworks-2013-02-18" - }, - "operations":{ - "AssignInstance":{ - "name":"AssignInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignInstanceRequest"}, - "errors":[ - {"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 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssignVolumeRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Assigns one of the stack's registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "AssociateElasticIp":{ - "name":"AssociateElasticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateElasticIpRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Associates one of the stack's registered Elastic IP addresses with a specified instance. The address must first be registered with the stack by calling RegisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "AttachElasticLoadBalancer":{ - "name":"AttachElasticLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AttachElasticLoadBalancerRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CloneStackRequest"}, - "output":{"shape":"CloneStackResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "CreateApp":{ - "name":"CreateApp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAppRequest"}, - "output":{"shape":"CreateAppResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates an app for a specified stack. For more information, see Creating Apps.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "CreateDeployment":{ - "name":"CreateDeployment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDeploymentRequest"}, - "output":{"shape":"CreateDeploymentResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Runs deployment or stack commands. For more information, see Deploying Apps and Run Stack Commands.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "CreateInstance":{ - "name":"CreateInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateInstanceRequest"}, - "output":{"shape":"CreateInstanceResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates an instance in a specified stack. For more information, see Adding an Instance to a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "CreateLayer":{ - "name":"CreateLayer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateLayerRequest"}, - "output":{"shape":"CreateLayerResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Creates a layer. For more information, see How to Create a Layer.

You should use CreateLayer for noncustom layer types such as PHP App Server only if the stack does not have an existing layer of that type. A stack can have at most one instance of each noncustom layer; if you attempt to create a second instance, CreateLayer fails. A stack can have an arbitrary number of custom layers, so you can call CreateLayer as many times as you like for that layer type.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "CreateStack":{ - "name":"CreateStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStackRequest"}, - "output":{"shape":"CreateStackResult"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Creates a new stack. For more information, see Create a New Stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "CreateUserProfile":{ - "name":"CreateUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserProfileRequest"}, - "output":{"shape":"CreateUserProfileResult"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Creates a new user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DeleteApp":{ - "name":"DeleteApp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAppRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a specified app.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeleteInstance":{ - "name":"DeleteInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a specified instance, which terminates the associated Amazon EC2 instance. You must stop an instance before you can delete it.

For more information, see Deleting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeleteLayer":{ - "name":"DeleteLayer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLayerRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a specified layer. You must first stop and then delete all associated instances or unassign registered instances. For more information, see How to Delete a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeleteStack":{ - "name":"DeleteStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStackRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a specified stack. You must first delete all instances, layers, and apps or deregister registered instances. For more information, see Shut Down a Stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeleteUserProfile":{ - "name":"DeleteUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserProfileRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes a user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DeregisterEcsCluster":{ - "name":"DeregisterEcsCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterEcsClusterRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deregisters a specified Amazon ECS cluster from a stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html.

" - }, - "DeregisterElasticIp":{ - "name":"DeregisterElasticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterElasticIpRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeregisterInstance":{ - "name":"DeregisterInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterInstanceRequest"}, - "errors":[ - {"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 cannot be used with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeregisterRdsDbInstance":{ - "name":"DeregisterRdsDbInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterRdsDbInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deregisters an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DeregisterVolume":{ - "name":"DeregisterVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterVolumeRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deregisters an Amazon EBS volume. The volume can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DescribeAgentVersions":{ - "name":"DescribeAgentVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAgentVersionsRequest"}, - "output":{"shape":"DescribeAgentVersionsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAppsRequest"}, - "output":{"shape":"DescribeAppsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of a specified set of apps.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeCommands":{ - "name":"DescribeCommands", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCommandsRequest"}, - "output":{"shape":"DescribeCommandsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the results of specified commands.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeDeployments":{ - "name":"DescribeDeployments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDeploymentsRequest"}, - "output":{"shape":"DescribeDeploymentsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of a specified set of deployments.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeEcsClusters":{ - "name":"DescribeEcsClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEcsClustersRequest"}, - "output":{"shape":"DescribeEcsClustersResult"}, - "errors":[ - {"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 Stacks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" - }, - "DescribeElasticIps":{ - "name":"DescribeElasticIps", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeElasticIpsRequest"}, - "output":{"shape":"DescribeElasticIpsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes Elastic IP addresses.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeElasticLoadBalancers":{ - "name":"DescribeElasticLoadBalancers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeElasticLoadBalancersRequest"}, - "output":{"shape":"DescribeElasticLoadBalancersResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes a stack's Elastic Load Balancing instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeInstances":{ - "name":"DescribeInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancesRequest"}, - "output":{"shape":"DescribeInstancesResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of a set of instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeLayers":{ - "name":"DescribeLayers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLayersRequest"}, - "output":{"shape":"DescribeLayersResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of one or more layers in a specified stack.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeLoadBasedAutoScaling":{ - "name":"DescribeLoadBasedAutoScaling", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoadBasedAutoScalingRequest"}, - "output":{"shape":"DescribeLoadBasedAutoScalingResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes load-based auto scaling configurations for specified layers.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeMyUserProfile":{ - "name":"DescribeMyUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"DescribeMyUserProfileResult"}, - "documentation":"

Describes a user's SSH information.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeOperatingSystems":{ - "name":"DescribeOperatingSystems", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{"shape":"DescribeOperatingSystemsResponse"}, - "documentation":"

Describes the operating systems that are supported by AWS OpsWorks Stacks.

" - }, - "DescribePermissions":{ - "name":"DescribePermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePermissionsRequest"}, - "output":{"shape":"DescribePermissionsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the permissions for a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DescribeRaidArrays":{ - "name":"DescribeRaidArrays", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRaidArraysRequest"}, - "output":{"shape":"DescribeRaidArraysResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describe an instance's RAID arrays.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeRdsDbInstances":{ - "name":"DescribeRdsDbInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRdsDbInstancesRequest"}, - "output":{"shape":"DescribeRdsDbInstancesResult"}, - "errors":[ - {"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 about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" - }, - "DescribeServiceErrors":{ - "name":"DescribeServiceErrors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServiceErrorsRequest"}, - "output":{"shape":"DescribeServiceErrorsResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes AWS OpsWorks Stacks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" - }, - "DescribeStackProvisioningParameters":{ - "name":"DescribeStackProvisioningParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackProvisioningParametersRequest"}, - "output":{"shape":"DescribeStackProvisioningParametersResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of a stack's provisioning parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeStackSummary":{ - "name":"DescribeStackSummary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStackSummaryRequest"}, - "output":{"shape":"DescribeStackSummaryResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeStacks":{ - "name":"DescribeStacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStacksRequest"}, - "output":{"shape":"DescribeStacksResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests a description of one or more stacks.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeTimeBasedAutoScaling":{ - "name":"DescribeTimeBasedAutoScaling", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTimeBasedAutoScalingRequest"}, - "output":{"shape":"DescribeTimeBasedAutoScalingResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes time-based auto scaling configurations for specified instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeUserProfiles":{ - "name":"DescribeUserProfiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserProfilesRequest"}, - "output":{"shape":"DescribeUserProfilesResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describe specified users.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DescribeVolumes":{ - "name":"DescribeVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVolumesRequest"}, - "output":{"shape":"DescribeVolumesResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes an instance's Amazon EBS volumes.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "DetachElasticLoadBalancer":{ - "name":"DetachElasticLoadBalancer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetachElasticLoadBalancerRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Detaches a specified Elastic Load Balancing instance from its layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "DisassociateElasticIp":{ - "name":"DisassociateElasticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateElasticIpRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociates an Elastic IP address from its instance. The address remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "GetHostnameSuggestion":{ - "name":"GetHostnameSuggestion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetHostnameSuggestionRequest"}, - "output":{"shape":"GetHostnameSuggestionResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets a generated host name for the specified layer, based on the current host name theme.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "GrantAccess":{ - "name":"GrantAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GrantAccessRequest"}, - "output":{"shape":"GrantAccessResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Reboots a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "RegisterEcsCluster":{ - "name":"RegisterEcsCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterEcsClusterRequest"}, - "output":{"shape":"RegisterEcsClusterResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "RegisterElasticIp":{ - "name":"RegisterElasticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterElasticIpRequest"}, - "output":{"shape":"RegisterElasticIpResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers an Elastic IP address with a specified stack. An address can be registered with only one stack at a time. If the address is already registered, you must first deregister it by calling DeregisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "RegisterInstance":{ - "name":"RegisterInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterInstanceRequest"}, - "output":{"shape":"RegisterInstanceResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterRdsDbInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers an Amazon RDS instance with a stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "RegisterVolume":{ - "name":"RegisterVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterVolumeRequest"}, - "output":{"shape":"RegisterVolumeResult"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Registers an Amazon EBS volume with a specified stack. A volume can be registered with only one stack at a time. If the volume is already registered, you must first deregister it by calling DeregisterVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "SetLoadBasedAutoScaling":{ - "name":"SetLoadBasedAutoScaling", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetLoadBasedAutoScalingRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Specify the load-based auto scaling configuration for a specified layer. For more information, see Managing Load with Time-based and Load-based Instances.

To use load-based auto scaling, you must create a set of load-based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "SetPermission":{ - "name":"SetPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetPermissionRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Specifies a user's permissions. For more information, see Security and Permissions.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "SetTimeBasedAutoScaling":{ - "name":"SetTimeBasedAutoScaling", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTimeBasedAutoScalingRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Specify the time-based auto scaling configuration for a specified instance. For more information, see Managing Load with Time-based and Load-based Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "StartInstance":{ - "name":"StartInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Starts a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "StartStack":{ - "name":"StartStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartStackRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Starts a stack's instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "StopInstance":{ - "name":"StopInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Stops a specified instance. When you stop a standard instance, the data disappears and must be reinstalled when you restart the instance. You can stop an Amazon EBS-backed instance without losing data. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "StopStack":{ - "name":"StopStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopStackRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Stops a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Unassigns a registered instance from all layers that are using the instance. The instance remains in the stack as an unassigned instance, and can be assigned to another layer as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "UnassignVolume":{ - "name":"UnassignVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnassignVolumeRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "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":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAppRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a specified app.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateElasticIp":{ - "name":"UpdateElasticIp", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateElasticIpRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a registered Elastic IP address's name. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateInstance":{ - "name":"UpdateInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a specified instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateLayer":{ - "name":"UpdateLayer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateLayerRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a specified layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateMyUserProfile":{ - "name":"UpdateMyUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMyUserProfileRequest"}, - "errors":[ - {"shape":"ValidationException"} - ], - "documentation":"

Updates a user's SSH public key.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "UpdateRdsDbInstance":{ - "name":"UpdateRdsDbInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRdsDbInstanceRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateStack":{ - "name":"UpdateStack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStackRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - }, - "UpdateUserProfile":{ - "name":"UpdateUserProfile", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateUserProfileRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates a specified user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" - }, - "UpdateVolume":{ - "name":"UpdateVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateVolumeRequest"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates an Amazon EBS volume's name or mount point. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" - } - }, - "shapes":{ - "AgentVersion":{ - "type":"structure", - "members":{ - "Version":{ - "shape":"String", - "documentation":"

The agent version.

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager.

" - } - }, - "documentation":"

Describes an agent version.

" - }, - "AgentVersions":{ - "type":"list", - "member":{"shape":"AgentVersion"} - }, - "App":{ - "type":"structure", - "members":{ - "AppId":{ - "shape":"String", - "documentation":"

The app ID.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The app stack ID.

" - }, - "Shortname":{ - "shape":"String", - "documentation":"

The app's short name.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The app name.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the app.

" - }, - "DataSources":{ - "shape":"DataSources", - "documentation":"

The app's data sources.

" - }, - "Type":{ - "shape":"AppType", - "documentation":"

The app type.

" - }, - "AppSource":{ - "shape":"Source", - "documentation":"

A Source object that describes the app repository.

" - }, - "Domains":{ - "shape":"Strings", - "documentation":"

The app vhost settings with multiple domains separated by commas. For example: 'www.example.com, example.com'

" - }, - "EnableSsl":{ - "shape":"Boolean", - "documentation":"

Whether to enable SSL for the app.

" - }, - "SslConfiguration":{ - "shape":"SslConfiguration", - "documentation":"

An SslConfiguration object with the SSL configuration.

" - }, - "Attributes":{ - "shape":"AppAttributes", - "documentation":"

The stack attributes.

" - }, - "CreatedAt":{ - "shape":"String", - "documentation":"

When the app was created.

" - }, - "Environment":{ - "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an \"Environment: is too large (maximum is 10KB)\" message.

" - } - }, - "documentation":"

A description of the app.

" - }, - "AppAttributes":{ - "type":"map", - "key":{"shape":"AppAttributesKeys"}, - "value":{"shape":"String"} - }, - "AppAttributesKeys":{ - "type":"string", - "enum":[ - "DocumentRoot", - "RailsEnv", - "AutoBundleOnDeploy", - "AwsFlowRubySettings" - ] - }, - "AppType":{ - "type":"string", - "enum":[ - "aws-flow-ruby", - "java", - "rails", - "php", - "nodejs", - "static", - "other" - ] - }, - "Apps":{ - "type":"list", - "member":{"shape":"App"} - }, - "Architecture":{ - "type":"string", - "enum":[ - "x86_64", - "i386" - ] - }, - "AssignInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "LayerIds" - ], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

The layer ID, which must correspond to a custom layer. You cannot assign a registered instance to a built-in layer.

" - } - } - }, - "AssignVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "AssociateElasticIpRequest":{ - "type":"structure", - "required":["ElasticIp"], - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "AttachElasticLoadBalancerRequest":{ - "type":"structure", - "required":[ - "ElasticLoadBalancerName", - "LayerId" - ], - "members":{ - "ElasticLoadBalancerName":{ - "shape":"String", - "documentation":"

The Elastic Load Balancing instance's name.

" - }, - "LayerId":{ - "shape":"String", - "documentation":"

The ID of the layer to which the Elastic Load Balancing instance is to be attached.

" - } - } - }, - "AutoScalingThresholds":{ - "type":"structure", - "members":{ - "InstanceCount":{ - "shape":"Integer", - "documentation":"

The number of instances to add or remove when the load exceeds a threshold.

" - }, - "ThresholdsWaitTime":{ - "shape":"Minute", - "documentation":"

The amount of time, in minutes, that the load must exceed a threshold before more instances are added or removed.

" - }, - "IgnoreMetricsTime":{ - "shape":"Minute", - "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", - "documentation":"

The CPU utilization threshold, as a percent of the available CPU. A value of -1 disables the threshold.

" - }, - "MemoryThreshold":{ - "shape":"Double", - "documentation":"

The memory utilization threshold, as a percent of the available memory. A value of -1 disables the threshold.

" - }, - "LoadThreshold":{ - "shape":"Double", - "documentation":"

The load threshold. A value of -1 disables the threshold. For more information about how load is computed, see Load (computing).

" - }, - "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 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 Stacks starts or stops load-based instances.

" - }, - "AutoScalingType":{ - "type":"string", - "enum":[ - "load", - "timer" - ] - }, - "BlockDeviceMapping":{ - "type":"structure", - "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 Stacks will provide the correct device name.

" - }, - "NoDevice":{ - "shape":"String", - "documentation":"

Suppresses the specified device included in the AMI's block device mapping.

" - }, - "VirtualName":{ - "shape":"String", - "documentation":"

The virtual device name. For more information, see BlockDeviceMapping.

" - }, - "Ebs":{ - "shape":"EbsBlockDevice", - "documentation":"

An EBSBlockDevice that defines how to configure an Amazon EBS volume when the instance is launched.

" - } - }, - "documentation":"

Describes a block device mapping. This data type maps directly to the Amazon EC2 BlockDeviceMapping data type.

" - }, - "BlockDeviceMappings":{ - "type":"list", - "member":{"shape":"BlockDeviceMapping"} - }, - "Boolean":{ - "type":"boolean", - "box":true - }, - "ChefConfiguration":{ - "type":"structure", - "members":{ - "ManageBerkshelf":{ - "shape":"Boolean", - "documentation":"

Whether to enable Berkshelf.

" - }, - "BerkshelfVersion":{ - "shape":"String", - "documentation":"

The Berkshelf version.

" - } - }, - "documentation":"

Describes the Chef configuration.

" - }, - "CloneStackRequest":{ - "type":"structure", - "required":[ - "SourceStackId", - "ServiceRoleArn" - ], - "members":{ - "SourceStackId":{ - "shape":"String", - "documentation":"

The source stack ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The cloned stack name.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The cloned stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2 Classic, see Supported Platforms.

" - }, - "Attributes":{ - "shape":"StackAttributes", - "documentation":"

A list of stack attributes and values as key/value pairs to be added to the cloned stack.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

" - }, - "DefaultInstanceProfileArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" - }, - "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 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

" - }, - "HostnameTheme":{ - "shape":"String", - "documentation":"

The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" - }, - "DefaultAvailabilityZone":{ - "shape":"String", - "documentation":"

The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" - }, - "DefaultSubnetId":{ - "shape":"String", - "documentation":"

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager. When you clone a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

" - }, - "ChefConfiguration":{ - "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" - }, - "UseCustomCookbooks":{ - "shape":"Boolean", - "documentation":"

Whether to use custom cookbooks.

" - }, - "UseOpsworksSecurityGroups":{ - "shape":"Boolean", - "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":{ - "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.

" - }, - "ClonePermissions":{ - "shape":"Boolean", - "documentation":"

Whether to clone the source stack's permissions.

" - }, - "CloneAppIds":{ - "shape":"Strings", - "documentation":"

A list of source stack app IDs to be included in the cloned stack.

" - }, - "DefaultRootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" - }, - "AgentVersion":{ - "shape":"String", - "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.

" - } - } - }, - "CloneStackResult":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The cloned stack ID.

" - } - }, - "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":{ - "CommandId":{ - "shape":"String", - "documentation":"

The command ID.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance where the command was executed.

" - }, - "DeploymentId":{ - "shape":"String", - "documentation":"

The command deployment ID.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

Date and time when the command was run.

" - }, - "AcknowledgedAt":{ - "shape":"DateTime", - "documentation":"

Date and time when the command was acknowledged.

" - }, - "CompletedAt":{ - "shape":"DateTime", - "documentation":"

Date when the command completed.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The command status:

  • failed

  • successful

  • skipped

  • pending

" - }, - "ExitCode":{ - "shape":"Integer", - "documentation":"

The command exit code.

" - }, - "LogUrl":{ - "shape":"String", - "documentation":"

The URL of the command log.

" - }, - "Type":{ - "shape":"String", - "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.

" - }, - "Commands":{ - "type":"list", - "member":{"shape":"Command"} - }, - "CreateAppRequest":{ - "type":"structure", - "required":[ - "StackId", - "Name", - "Type" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "Shortname":{ - "shape":"String", - "documentation":"

The app's short name.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The app name.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the app.

" - }, - "DataSources":{ - "shape":"DataSources", - "documentation":"

The app's data source.

" - }, - "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 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", - "documentation":"

A Source object that specifies the app repository.

" - }, - "Domains":{ - "shape":"Strings", - "documentation":"

The app virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com'

" - }, - "EnableSsl":{ - "shape":"Boolean", - "documentation":"

Whether to enable SSL for the app.

" - }, - "SslConfiguration":{ - "shape":"SslConfiguration", - "documentation":"

An SslConfiguration object with the SSL configuration.

" - }, - "Attributes":{ - "shape":"AppAttributes", - "documentation":"

One or more user-defined key/value pairs to be added to the stack attributes.

" - }, - "Environment":{ - "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 10KB).\"

This parameter is supported only by Chef 11.10 stacks. If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" - } - } - }, - "CreateAppResult":{ - "type":"structure", - "members":{ - "AppId":{ - "shape":"String", - "documentation":"

The app ID.

" - } - }, - "documentation":"

Contains the response to a CreateApp request.

" - }, - "CreateDeploymentRequest":{ - "type":"structure", - "required":[ - "StackId", - "Command" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "AppId":{ - "shape":"String", - "documentation":"

The app ID. This parameter is required for app deployments, but not for other deployment commands.

" - }, - "InstanceIds":{ - "shape":"Strings", - "documentation":"

The instance IDs for the deployment targets.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

The layer IDs for the deployment targets.

" - }, - "Command":{ - "shape":"DeploymentCommand", - "documentation":"

A DeploymentCommand object that specifies the deployment command and any associated arguments.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" - } - } - }, - "CreateDeploymentResult":{ - "type":"structure", - "members":{ - "DeploymentId":{ - "shape":"String", - "documentation":"

The deployment ID, which can be used with other requests to identify the deployment.

" - } - }, - "documentation":"

Contains the response to a CreateDeployment request.

" - }, - "CreateInstanceRequest":{ - "type":"structure", - "required":[ - "StackId", - "LayerIds", - "InstanceType" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

An array that contains the instance's layer IDs.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" - }, - "AutoScalingType":{ - "shape":"AutoScalingType", - "documentation":"

For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

" - }, - "Hostname":{ - "shape":"String", - "documentation":"

The instance host name.

" - }, - "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 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information about the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information about supported operating systems, see Operating SystemsFor more information about how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs.

" - }, - "AmiId":{ - "shape":"String", - "documentation":"

A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see Using Custom AMIs.

If you specify a custom AMI, you must set Os to Custom.

" - }, - "SshKeyName":{ - "shape":"String", - "documentation":"

The instance's Amazon EC2 key-pair name.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" - }, - "VirtualizationType":{ - "shape":"String", - "documentation":"

The instance's virtualization type, paravirtual or hvm.

" - }, - "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 Stacks to launch the instance in a different subnet.

" - }, - "Architecture":{ - "shape":"Architecture", - "documentation":"

The instance architecture. The default option is x86_64. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" - }, - "RootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The instance root device type. For more information, see Storage for the Root Device.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappings", - "documentation":"

An array of BlockDeviceMapping objects that specify the instance's block devices. For more information, see Block Device Mapping. Note that block device mappings are not supported for custom AMIs.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

We strongly recommend using the default value of true to ensure that your instances have the latest security updates.

" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Whether to create an Amazon EBS-optimized instance.

" - }, - "AgentVersion":{ - "shape":"String", - "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

" - }, - "Tenancy":{ - "shape":"String", - "documentation":"

The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.

" - } - } - }, - "CreateInstanceResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - }, - "documentation":"

Contains the response to a CreateInstance request.

" - }, - "CreateLayerRequest":{ - "type":"structure", - "required":[ - "StackId", - "Type", - "Name", - "Shortname" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The layer stack ID.

" - }, - "Type":{ - "shape":"LayerType", - "documentation":"

The layer type. A stack cannot have more than one built-in layer of the same type. It can have any number of custom layers. Built-in layers are not available in Chef 12 stacks.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The layer name, which is used by the console.

" - }, - "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 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.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI.

" - }, - "CustomSecurityGroupIds":{ - "shape":"Strings", - "documentation":"

An array containing the layer custom security group IDs.

" - }, - "Packages":{ - "shape":"Strings", - "documentation":"

An array of Package objects that describes the layer packages.

" - }, - "VolumeConfigurations":{ - "shape":"VolumeConfigurations", - "documentation":"

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

" - }, - "EnableAutoHealing":{ - "shape":"Boolean", - "documentation":"

Whether to disable auto healing for the layer.

" - }, - "AutoAssignElasticIps":{ - "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "AutoAssignPublicIps":{ - "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "CustomRecipes":{ - "shape":"Recipes", - "documentation":"

A LayerCustomRecipes object that specifies the layer custom recipes.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

To ensure that your instances have the latest security updates, we strongly recommend using the default value of true.

" - }, - "UseEbsOptimizedInstances":{ - "shape":"Boolean", - "documentation":"

Whether to use Amazon EBS-optimized instances.

" - }, - "LifecycleEventConfiguration":{ - "shape":"LifecycleEventConfiguration", - "documentation":"

A LifeCycleEventConfiguration object that you can use to configure the Shutdown event to specify an execution timeout and enable or disable Elastic Load Balancer connection draining.

" - } - } - }, - "CreateLayerResult":{ - "type":"structure", - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - } - }, - "documentation":"

Contains the response to a CreateLayer request.

" - }, - "CreateStackRequest":{ - "type":"structure", - "required":[ - "Name", - "Region", - "ServiceRoleArn", - "DefaultInstanceProfileArn" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The stack name.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The stack's AWS region, such as ap-south-1. For more information about Amazon regions, see Regions and Endpoints.

In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region parameter and the AWS CLI common parameter --region are set to the same value, the stack uses a regional endpoint. If the --stack-region parameter is not set, but the AWS CLI --region parameter is, this also results in a stack with a regional endpoint. However, if the --region parameter is set to us-east-1, and the --stack-region parameter is set to one of the following, then the stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of the stack is in us-east-1. Only the preceding regions are supported as classic regions in the us-east-1 API endpoint. Because it is a best practice to choose the regional endpoint that is closest to where you manage AWS, we recommend that you use regional endpoints for new stacks. The AWS CLI common --region parameter always specifies a regional API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2-Classic, see Supported Platforms.

" - }, - "Attributes":{ - "shape":"StackAttributes", - "documentation":"

One or more user-defined key-value pairs to be added to the stack attributes.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.

" - }, - "DefaultInstanceProfileArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" - }, - "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 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" - }, - "HostnameTheme":{ - "shape":"String", - "documentation":"

The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" - }, - "DefaultAvailabilityZone":{ - "shape":"String", - "documentation":"

The stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" - }, - "DefaultSubnetId":{ - "shape":"String", - "documentation":"

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

" - }, - "ChefConfiguration":{ - "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" - }, - "UseCustomCookbooks":{ - "shape":"Boolean", - "documentation":"

Whether the stack uses custom cookbooks.

" - }, - "UseOpsworksSecurityGroups":{ - "shape":"Boolean", - "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":{ - "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.

" - }, - "DefaultRootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store. For more information, see Storage for the Root Device.

" - }, - "AgentVersion":{ - "shape":"String", - "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.

" - } - } - }, - "CreateStackResult":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID, which is an opaque string that you use to identify the stack when performing actions such as DescribeStacks.

" - } - }, - "documentation":"

Contains the response to a CreateStack request.

" - }, - "CreateUserProfileRequest":{ - "type":"structure", - "required":["IamUserArn"], - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN; this can also be a federated user's ARN.

" - }, - "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 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", - "documentation":"

The user's public SSH key.

" - }, - "AllowSelfManagement":{ - "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Setting an IAM User's Public SSH Key.

" - } - } - }, - "CreateUserProfileResult":{ - "type":"structure", - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN.

" - } - }, - "documentation":"

Contains the response to a CreateUserProfile request.

" - }, - "DailyAutoScalingSchedule":{ - "type":"map", - "key":{"shape":"Hour"}, - "value":{"shape":"Switch"} - }, - "DataSource":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, RdsDbInstance, or None.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The data source's ARN.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The database name.

" - } - }, - "documentation":"

Describes an app's data source.

" - }, - "DataSources":{ - "type":"list", - "member":{"shape":"DataSource"} - }, - "DateTime":{"type":"string"}, - "DeleteAppRequest":{ - "type":"structure", - "required":["AppId"], - "members":{ - "AppId":{ - "shape":"String", - "documentation":"

The app ID.

" - } - } - }, - "DeleteInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "DeleteElasticIp":{ - "shape":"Boolean", - "documentation":"

Whether to delete the instance Elastic IP address.

" - }, - "DeleteVolumes":{ - "shape":"Boolean", - "documentation":"

Whether to delete the instance's Amazon EBS volumes.

" - } - } - }, - "DeleteLayerRequest":{ - "type":"structure", - "required":["LayerId"], - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - } - } - }, - "DeleteStackRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "DeleteUserProfileRequest":{ - "type":"structure", - "required":["IamUserArn"], - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN. This can also be a federated user's ARN.

" - } - } - }, - "Deployment":{ - "type":"structure", - "members":{ - "DeploymentId":{ - "shape":"String", - "documentation":"

The deployment ID.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "AppId":{ - "shape":"String", - "documentation":"

The app ID.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

Date when the deployment was created.

" - }, - "CompletedAt":{ - "shape":"DateTime", - "documentation":"

Date when the deployment completed.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The deployment duration.

" - }, - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN.

" - }, - "Comment":{ - "shape":"String", - "documentation":"

A user-defined comment.

" - }, - "Command":{"shape":"DeploymentCommand"}, - "Status":{ - "shape":"String", - "documentation":"

The deployment status:

  • running

  • successful

  • failed

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" - }, - "InstanceIds":{ - "shape":"Strings", - "documentation":"

The IDs of the target instances.

" - } - }, - "documentation":"

Describes a deployment of a stack or app.

" - }, - "DeploymentCommand":{ - "type":"structure", - "required":["Name"], - "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 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 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.

" - }, - "DeploymentCommandArgs":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"Strings"} - }, - "DeploymentCommandName":{ - "type":"string", - "enum":[ - "install_dependencies", - "update_dependencies", - "update_custom_cookbooks", - "execute_recipes", - "configure", - "setup", - "deploy", - "rollback", - "start", - "stop", - "restart", - "undeploy" - ] - }, - "Deployments":{ - "type":"list", - "member":{"shape":"Deployment"} - }, - "DeregisterEcsClusterRequest":{ - "type":"structure", - "required":["EcsClusterArn"], - "members":{ - "EcsClusterArn":{ - "shape":"String", - "documentation":"

The cluster's Amazon Resource Number (ARN).

" - } - } - }, - "DeregisterElasticIpRequest":{ - "type":"structure", - "required":["ElasticIp"], - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

" - } - } - }, - "DeregisterInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "DeregisterRdsDbInstanceRequest":{ - "type":"structure", - "required":["RdsDbInstanceArn"], - "members":{ - "RdsDbInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon RDS instance's ARN.

" - } - } - }, - "DeregisterVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "VolumeId":{ - "shape":"String", - "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.

" - } - } - }, - "DescribeAgentVersionsRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager.

" - } - } - }, - "DescribeAgentVersionsResult":{ - "type":"structure", - "members":{ - "AgentVersions":{ - "shape":"AgentVersions", - "documentation":"

The agent versions for the specified stack or configuration manager. Note that this value is the complete version number, not the abbreviated number used by the console.

" - } - }, - "documentation":"

Contains the response to a DescribeAgentVersions request.

" - }, - "DescribeAppsRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The app stack ID. If you use this parameter, DescribeApps returns a description of the apps in the specified stack.

" - }, - "AppIds":{ - "shape":"Strings", - "documentation":"

An array of app IDs for the apps to be described. If you use this parameter, DescribeApps returns a description of the specified apps. Otherwise, it returns a description of every app.

" - } - } - }, - "DescribeAppsResult":{ - "type":"structure", - "members":{ - "Apps":{ - "shape":"Apps", - "documentation":"

An array of App objects that describe the specified apps.

" - } - }, - "documentation":"

Contains the response to a DescribeApps request.

" - }, - "DescribeCommandsRequest":{ - "type":"structure", - "members":{ - "DeploymentId":{ - "shape":"String", - "documentation":"

The deployment ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified deployment.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID. If you include this parameter, DescribeCommands returns a description of the commands associated with the specified instance.

" - }, - "CommandIds":{ - "shape":"Strings", - "documentation":"

An array of command IDs. If you include this parameter, DescribeCommands returns a description of the specified commands. Otherwise, it returns a description of every command.

" - } - } - }, - "DescribeCommandsResult":{ - "type":"structure", - "members":{ - "Commands":{ - "shape":"Commands", - "documentation":"

An array of Command objects that describe each of the specified commands.

" - } - }, - "documentation":"

Contains the response to a DescribeCommands request.

" - }, - "DescribeDeploymentsRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack.

" - }, - "AppId":{ - "shape":"String", - "documentation":"

The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app.

" - }, - "DeploymentIds":{ - "shape":"Strings", - "documentation":"

An array of deployment IDs to be described. If you include this parameter, the command returns a description of the specified deployments. Otherwise, it returns a description of every deployment.

" - } - } - }, - "DescribeDeploymentsResult":{ - "type":"structure", - "members":{ - "Deployments":{ - "shape":"Deployments", - "documentation":"

An array of Deployment objects that describe the deployments.

" - } - }, - "documentation":"

Contains the response to a DescribeDeployments request.

" - }, - "DescribeEcsClustersRequest":{ - "type":"structure", - "members":{ - "EcsClusterArns":{ - "shape":"Strings", - "documentation":"

A list of ARNs, one for each cluster to be described.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

A stack ID. DescribeEcsClusters returns a description of the cluster that is registered with the stack.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

If the previous paginated request did not return all of the remaining results, the response object'sNextToken parameter value is set to a token. To retrieve the next set of results, call DescribeEcsClusters again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" - }, - "MaxResults":{ - "shape":"Integer", - "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "DescribeEcsClustersResult":{ - "type":"structure", - "members":{ - "EcsClusters":{ - "shape":"EcsClusters", - "documentation":"

A list of EcsCluster objects containing the cluster descriptions.

" - }, - "NextToken":{ - "shape":"String", - "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 retrieve 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 DescribeEcsClusters request.

" - }, - "DescribeElasticIpsRequest":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses associated with the specified instance.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

A stack ID. If you include this parameter, DescribeElasticIps returns a description of the Elastic IP addresses that are registered with the specified stack.

" - }, - "Ips":{ - "shape":"Strings", - "documentation":"

An array of Elastic IP addresses to be described. If you include this parameter, DescribeElasticIps returns a description of the specified Elastic IP addresses. Otherwise, it returns a description of every Elastic IP address.

" - } - } - }, - "DescribeElasticIpsResult":{ - "type":"structure", - "members":{ - "ElasticIps":{ - "shape":"ElasticIps", - "documentation":"

An ElasticIps object that describes the specified Elastic IP addresses.

" - } - }, - "documentation":"

Contains the response to a DescribeElasticIps request.

" - }, - "DescribeElasticLoadBalancersRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

A stack ID. The action describes the stack's Elastic Load Balancing instances.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

A list of layer IDs. The action describes the Elastic Load Balancing instances for the specified layers.

" - } - } - }, - "DescribeElasticLoadBalancersResult":{ - "type":"structure", - "members":{ - "ElasticLoadBalancers":{ - "shape":"ElasticLoadBalancers", - "documentation":"

A list of ElasticLoadBalancer objects that describe the specified Elastic Load Balancing instances.

" - } - }, - "documentation":"

Contains the response to a DescribeElasticLoadBalancers request.

" - }, - "DescribeInstancesRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack.

" - }, - "LayerId":{ - "shape":"String", - "documentation":"

A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.

" - }, - "InstanceIds":{ - "shape":"Strings", - "documentation":"

An array of instance IDs to be described. If you use this parameter, DescribeInstances returns a description of the specified instances. Otherwise, it returns a description of every instance.

" - } - } - }, - "DescribeInstancesResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"Instances", - "documentation":"

An array of Instance objects that describe the instances.

" - } - }, - "documentation":"

Contains the response to a DescribeInstances request.

" - }, - "DescribeLayersRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

An array of layer IDs that specify the layers to be described. If you omit this parameter, DescribeLayers returns a description of every layer in the specified stack.

" - } - } - }, - "DescribeLayersResult":{ - "type":"structure", - "members":{ - "Layers":{ - "shape":"Layers", - "documentation":"

An array of Layer objects that describe the layers.

" - } - }, - "documentation":"

Contains the response to a DescribeLayers request.

" - }, - "DescribeLoadBasedAutoScalingRequest":{ - "type":"structure", - "required":["LayerIds"], - "members":{ - "LayerIds":{ - "shape":"Strings", - "documentation":"

An array of layer IDs.

" - } - } - }, - "DescribeLoadBasedAutoScalingResult":{ - "type":"structure", - "members":{ - "LoadBasedAutoScalingConfigurations":{ - "shape":"LoadBasedAutoScalingConfigurations", - "documentation":"

An array of LoadBasedAutoScalingConfiguration objects that describe each layer's configuration.

" - } - }, - "documentation":"

Contains the response to a DescribeLoadBasedAutoScaling request.

" - }, - "DescribeMyUserProfileResult":{ - "type":"structure", - "members":{ - "UserProfile":{ - "shape":"SelfUserProfile", - "documentation":"

A UserProfile object that describes the user's SSH information.

" - } - }, - "documentation":"

Contains the response to a DescribeMyUserProfile request.

" - }, - "DescribeOperatingSystemsResponse":{ - "type":"structure", - "members":{ - "OperatingSystems":{ - "shape":"OperatingSystems", - "documentation":"

Contains information in response to a DescribeOperatingSystems request.

" - } - }, - "documentation":"

The response to a DescribeOperatingSystems request.

" - }, - "DescribePermissionsRequest":{ - "type":"structure", - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "DescribePermissionsResult":{ - "type":"structure", - "members":{ - "Permissions":{ - "shape":"Permissions", - "documentation":"

An array of Permission objects that describe the stack permissions.

  • If the request object contains only a stack ID, the array contains a Permission object with permissions for each of the stack IAM ARNs.

  • If the request object contains only an IAM ARN, the array contains a Permission object with permissions for each of the user's stack IDs.

  • If the request contains a stack ID and an IAM ARN, the array contains a single Permission object with permissions for the specified stack and IAM ARN.

" - } - }, - "documentation":"

Contains the response to a DescribePermissions request.

" - }, - "DescribeRaidArraysRequest":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "RaidArrayIds":{ - "shape":"Strings", - "documentation":"

An array of RAID array IDs. If you use this parameter, DescribeRaidArrays returns descriptions of the specified arrays. Otherwise, it returns a description of every array.

" - } - } - }, - "DescribeRaidArraysResult":{ - "type":"structure", - "members":{ - "RaidArrays":{ - "shape":"RaidArrays", - "documentation":"

A RaidArrays object that describes the specified RAID arrays.

" - } - }, - "documentation":"

Contains the response to a DescribeRaidArrays request.

" - }, - "DescribeRdsDbInstancesRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances.

" - }, - "RdsDbInstanceArns":{ - "shape":"Strings", - "documentation":"

An array containing the ARNs of the instances to be described.

" - } - } - }, - "DescribeRdsDbInstancesResult":{ - "type":"structure", - "members":{ - "RdsDbInstances":{ - "shape":"RdsDbInstances", - "documentation":"

An a array of RdsDbInstance objects that describe the instances.

" - } - }, - "documentation":"

Contains the response to a DescribeRdsDbInstances request.

" - }, - "DescribeServiceErrorsRequest":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified stack.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID. If you use this parameter, DescribeServiceErrors returns descriptions of the errors associated with the specified instance.

" - }, - "ServiceErrorIds":{ - "shape":"Strings", - "documentation":"

An array of service error IDs. If you use this parameter, DescribeServiceErrors returns descriptions of the specified errors. Otherwise, it returns a description of every error.

" - } - } - }, - "DescribeServiceErrorsResult":{ - "type":"structure", - "members":{ - "ServiceErrors":{ - "shape":"ServiceErrors", - "documentation":"

An array of ServiceError objects that describe the specified service errors.

" - } - }, - "documentation":"

Contains the response to a DescribeServiceErrors request.

" - }, - "DescribeStackProvisioningParametersRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "DescribeStackProvisioningParametersResult":{ - "type":"structure", - "members":{ - "AgentInstallerUrl":{ - "shape":"String", - "documentation":"

The AWS OpsWorks Stacks agent installer's URL.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

An embedded object that contains the provisioning parameters.

" - } - }, - "documentation":"

Contains the response to a DescribeStackProvisioningParameters request.

" - }, - "DescribeStackSummaryRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "DescribeStackSummaryResult":{ - "type":"structure", - "members":{ - "StackSummary":{ - "shape":"StackSummary", - "documentation":"

A StackSummary object that contains the results.

" - } - }, - "documentation":"

Contains the response to a DescribeStackSummary request.

" - }, - "DescribeStacksRequest":{ - "type":"structure", - "members":{ - "StackIds":{ - "shape":"Strings", - "documentation":"

An array of stack IDs that specify the stacks to be described. If you omit this parameter, DescribeStacks returns a description of every stack.

" - } - } - }, - "DescribeStacksResult":{ - "type":"structure", - "members":{ - "Stacks":{ - "shape":"Stacks", - "documentation":"

An array of Stack objects that describe the stacks.

" - } - }, - "documentation":"

Contains the response to a DescribeStacks request.

" - }, - "DescribeTimeBasedAutoScalingRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"Strings", - "documentation":"

An array of instance IDs.

" - } - } - }, - "DescribeTimeBasedAutoScalingResult":{ - "type":"structure", - "members":{ - "TimeBasedAutoScalingConfigurations":{ - "shape":"TimeBasedAutoScalingConfigurations", - "documentation":"

An array of TimeBasedAutoScalingConfiguration objects that describe the configuration for the specified instances.

" - } - }, - "documentation":"

Contains the response to a DescribeTimeBasedAutoScaling request.

" - }, - "DescribeUserProfilesRequest":{ - "type":"structure", - "members":{ - "IamUserArns":{ - "shape":"Strings", - "documentation":"

An array of IAM or federated user ARNs that identify the users to be described.

" - } - } - }, - "DescribeUserProfilesResult":{ - "type":"structure", - "members":{ - "UserProfiles":{ - "shape":"UserProfiles", - "documentation":"

A Users object that describes the specified users.

" - } - }, - "documentation":"

Contains the response to a DescribeUserProfiles request.

" - }, - "DescribeVolumesRequest":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified instance.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

A stack ID. The action describes the stack's registered Amazon EBS volumes.

" - }, - "RaidArrayId":{ - "shape":"String", - "documentation":"

The RAID array ID. If you use this parameter, DescribeVolumes returns descriptions of the volumes associated with the specified RAID array.

" - }, - "VolumeIds":{ - "shape":"Strings", - "documentation":"

Am array of volume IDs. If you use this parameter, DescribeVolumes returns descriptions of the specified volumes. Otherwise, it returns a description of every volume.

" - } - } - }, - "DescribeVolumesResult":{ - "type":"structure", - "members":{ - "Volumes":{ - "shape":"Volumes", - "documentation":"

An array of volume IDs.

" - } - }, - "documentation":"

Contains the response to a DescribeVolumes request.

" - }, - "DetachElasticLoadBalancerRequest":{ - "type":"structure", - "required":[ - "ElasticLoadBalancerName", - "LayerId" - ], - "members":{ - "ElasticLoadBalancerName":{ - "shape":"String", - "documentation":"

The Elastic Load Balancing instance's name.

" - }, - "LayerId":{ - "shape":"String", - "documentation":"

The ID of the layer that the Elastic Load Balancing instance is attached to.

" - } - } - }, - "DisassociateElasticIpRequest":{ - "type":"structure", - "required":["ElasticIp"], - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

" - } - } - }, - "Double":{ - "type":"double", - "box":true - }, - "EbsBlockDevice":{ - "type":"structure", - "members":{ - "SnapshotId":{ - "shape":"String", - "documentation":"

The snapshot ID.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice.

" - }, - "VolumeSize":{ - "shape":"Integer", - "documentation":"

The volume size, in GiB. For more information, see EbsBlockDevice.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD), sc1 for Cold HDD,and standard for Magnetic volumes.

If you specify the io1 volume type, you must also specify a value for the Iops attribute. The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume size).

" - }, - "DeleteOnTermination":{ - "shape":"Boolean", - "documentation":"

Whether the volume is deleted on instance termination.

" - } - }, - "documentation":"

Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 EbsBlockDevice data type.

" - }, - "EcsCluster":{ - "type":"structure", - "members":{ - "EcsClusterArn":{ - "shape":"String", - "documentation":"

The cluster's ARN.

" - }, - "EcsClusterName":{ - "shape":"String", - "documentation":"

The cluster name.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "RegisteredAt":{ - "shape":"DateTime", - "documentation":"

The time and date that the cluster was registered with the stack.

" - } - }, - "documentation":"

Describes a registered Amazon ECS cluster.

" - }, - "EcsClusters":{ - "type":"list", - "member":{"shape":"EcsCluster"} - }, - "ElasticIp":{ - "type":"structure", - "members":{ - "Ip":{ - "shape":"String", - "documentation":"

The IP address.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

The domain.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The AWS region. For more information, see Regions and Endpoints.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The ID of the instance that the address is attached to.

" - } - }, - "documentation":"

Describes an Elastic IP address.

" - }, - "ElasticIps":{ - "type":"list", - "member":{"shape":"ElasticIp"} - }, - "ElasticLoadBalancer":{ - "type":"structure", - "members":{ - "ElasticLoadBalancerName":{ - "shape":"String", - "documentation":"

The Elastic Load Balancing instance's name.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The instance's AWS region.

" - }, - "DnsName":{ - "shape":"String", - "documentation":"

The instance's public DNS name.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The ID of the stack that the instance is associated with.

" - }, - "LayerId":{ - "shape":"String", - "documentation":"

The ID of the layer that the instance is attached to.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The VPC ID.

" - }, - "AvailabilityZones":{ - "shape":"Strings", - "documentation":"

A list of Availability Zones.

" - }, - "SubnetIds":{ - "shape":"Strings", - "documentation":"

A list of subnet IDs, if the stack is running in a VPC.

" - }, - "Ec2InstanceIds":{ - "shape":"Strings", - "documentation":"

A list of the EC2 instances that the Elastic Load Balancing instance is managing traffic for.

" - } - }, - "documentation":"

Describes an Elastic Load Balancing instance.

" - }, - "ElasticLoadBalancers":{ - "type":"list", - "member":{"shape":"ElasticLoadBalancer"} - }, - "EnvironmentVariable":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"String", - "documentation":"

(Required) The environment variable's name, which can consist of up to 64 characters and must be specified. The name can contain upper- and lowercase letters, numbers, and underscores (_), but it must start with a letter or underscore.

" - }, - "Value":{ - "shape":"String", - "documentation":"

(Optional) The environment variable's value, which can be left empty. If you specify a value, it can contain up to 256 characters, which must all be printable.

" - }, - "Secure":{ - "shape":"Boolean", - "documentation":"

(Optional) Whether the variable's value will be returned by the DescribeApps action. To conceal an environment variable's value, set Secure to true. DescribeApps then returns *****FILTERED***** instead of the actual value. The default value for Secure is false.

" - } - }, - "documentation":"

Represents an app's environment variable.

" - }, - "EnvironmentVariables":{ - "type":"list", - "member":{"shape":"EnvironmentVariable"} - }, - "GetHostnameSuggestionRequest":{ - "type":"structure", - "required":["LayerId"], - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - } - } - }, - "GetHostnameSuggestionResult":{ - "type":"structure", - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - }, - "Hostname":{ - "shape":"String", - "documentation":"

The generated host name.

" - } - }, - "documentation":"

Contains the response to a GetHostnameSuggestion request.

" - }, - "GrantAccessRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance's AWS OpsWorks Stacks ID.

" - }, - "ValidForInMinutes":{ - "shape":"ValidForInMinutes", - "documentation":"

The length of time (in minutes) that the grant is valid. When the grant expires at the end of this period, the user will no longer be able to use the credentials to log in. If the user is logged in at the time, he or she automatically will be logged out.

" - } - } - }, - "GrantAccessResult":{ - "type":"structure", - "members":{ - "TemporaryCredential":{ - "shape":"TemporaryCredential", - "documentation":"

A TemporaryCredential object that contains the data needed to log in to the instance by RDP clients, such as the Microsoft Remote Desktop Connection.

" - } - }, - "documentation":"

Contains the response to a GrantAccess request.

" - }, - "Hour":{"type":"string"}, - "Instance":{ - "type":"structure", - "members":{ - "AgentVersion":{ - "shape":"String", - "documentation":"

The agent version. This parameter is set to INHERIT if the instance inherits the default stack setting or to a a version number for a fixed agent version.

" - }, - "AmiId":{ - "shape":"String", - "documentation":"

A custom AMI ID to be used to create the instance. For more information, see Instances

" - }, - "Architecture":{ - "shape":"Architecture", - "documentation":"

The instance architecture: \"i386\" or \"x86_64\".

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The instance's Amazon Resource Number (ARN).

" - }, - "AutoScalingType":{ - "shape":"AutoScalingType", - "documentation":"

For load-based or time-based instances, the type.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" - }, - "BlockDeviceMappings":{ - "shape":"BlockDeviceMappings", - "documentation":"

An array of BlockDeviceMapping objects that specify the instance's block device mappings.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

The time that the instance was created.

" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

Whether this is an Amazon EBS-optimized instance.

" - }, - "Ec2InstanceId":{ - "shape":"String", - "documentation":"

The ID of the associated Amazon EC2 instance.

" - }, - "EcsClusterArn":{ - "shape":"String", - "documentation":"

For container instances, the Amazon ECS cluster's ARN.

" - }, - "EcsContainerInstanceArn":{ - "shape":"String", - "documentation":"

For container instances, the instance's ARN.

" - }, - "ElasticIp":{ - "shape":"String", - "documentation":"

The instance Elastic IP address .

" - }, - "Hostname":{ - "shape":"String", - "documentation":"

The instance host name.

" - }, - "InfrastructureClass":{ - "shape":"String", - "documentation":"

For registered instances, the infrastructure class: ec2 or on-premises.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. If this value is set to false, you must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

We strongly recommend using the default value of true, to ensure that your instances have the latest security updates.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "InstanceProfileArn":{ - "shape":"String", - "documentation":"

The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type, such as t2.micro.

" - }, - "LastServiceErrorId":{ - "shape":"String", - "documentation":"

The ID of the last service error. For more information, call DescribeServiceErrors.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

An array containing the instance layer IDs.

" - }, - "Os":{ - "shape":"String", - "documentation":"

The instance's operating system.

" - }, - "Platform":{ - "shape":"String", - "documentation":"

The instance's platform.

" - }, - "PrivateDns":{ - "shape":"String", - "documentation":"

The instance's private DNS name.

" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The instance's private IP address.

" - }, - "PublicDns":{ - "shape":"String", - "documentation":"

The instance public DNS name.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The instance public IP address.

" - }, - "RegisteredBy":{ - "shape":"String", - "documentation":"

For registered instances, who performed the registration.

" - }, - "ReportedAgentVersion":{ - "shape":"String", - "documentation":"

The instance's reported AWS OpsWorks Stacks agent version.

" - }, - "ReportedOs":{ - "shape":"ReportedOs", - "documentation":"

For registered instances, the reported operating system.

" - }, - "RootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The instance's root device type. For more information, see Storage for the Root Device.

" - }, - "RootDeviceVolumeId":{ - "shape":"String", - "documentation":"

The root device volume ID.

" - }, - "SecurityGroupIds":{ - "shape":"Strings", - "documentation":"

An array containing the instance security group IDs.

" - }, - "SshHostDsaKeyFingerprint":{ - "shape":"String", - "documentation":"

The SSH key's Deep Security Agent (DSA) fingerprint.

" - }, - "SshHostRsaKeyFingerprint":{ - "shape":"String", - "documentation":"

The SSH key's RSA fingerprint.

" - }, - "SshKeyName":{ - "shape":"String", - "documentation":"

The instance's Amazon EC2 key-pair name.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The instance status:

  • booting

  • connection_lost

  • online

  • pending

  • rebooting

  • requested

  • running_setup

  • setup_failed

  • shutting_down

  • start_failed

  • stop_failed

  • stopped

  • stopping

  • terminated

  • terminating

" - }, - "SubnetId":{ - "shape":"String", - "documentation":"

The instance's subnet ID; applicable only if the stack is running in a VPC.

" - }, - "Tenancy":{ - "shape":"String", - "documentation":"

The instance's tenancy option, such as dedicated or host.

" - }, - "VirtualizationType":{ - "shape":"VirtualizationType", - "documentation":"

The instance's virtualization type: paravirtual or hvm.

" - } - }, - "documentation":"

Describes an instance.

" - }, - "InstanceIdentity":{ - "type":"structure", - "members":{ - "Document":{ - "shape":"String", - "documentation":"

A JSON document that contains the metadata.

" - }, - "Signature":{ - "shape":"String", - "documentation":"

A signature that can be used to verify the document's accuracy and authenticity.

" - } - }, - "documentation":"

Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see Instance Metadata and User Data.

" - }, - "Instances":{ - "type":"list", - "member":{"shape":"Instance"} - }, - "InstancesCount":{ - "type":"structure", - "members":{ - "Assigning":{ - "shape":"Integer", - "documentation":"

The number of instances in the Assigning state.

" - }, - "Booting":{ - "shape":"Integer", - "documentation":"

The number of instances with booting status.

" - }, - "ConnectionLost":{ - "shape":"Integer", - "documentation":"

The number of instances with connection_lost status.

" - }, - "Deregistering":{ - "shape":"Integer", - "documentation":"

The number of instances in the Deregistering state.

" - }, - "Online":{ - "shape":"Integer", - "documentation":"

The number of instances with online status.

" - }, - "Pending":{ - "shape":"Integer", - "documentation":"

The number of instances with pending status.

" - }, - "Rebooting":{ - "shape":"Integer", - "documentation":"

The number of instances with rebooting status.

" - }, - "Registered":{ - "shape":"Integer", - "documentation":"

The number of instances in the Registered state.

" - }, - "Registering":{ - "shape":"Integer", - "documentation":"

The number of instances in the Registering state.

" - }, - "Requested":{ - "shape":"Integer", - "documentation":"

The number of instances with requested status.

" - }, - "RunningSetup":{ - "shape":"Integer", - "documentation":"

The number of instances with running_setup status.

" - }, - "SetupFailed":{ - "shape":"Integer", - "documentation":"

The number of instances with setup_failed status.

" - }, - "ShuttingDown":{ - "shape":"Integer", - "documentation":"

The number of instances with shutting_down status.

" - }, - "StartFailed":{ - "shape":"Integer", - "documentation":"

The number of instances with start_failed status.

" - }, - "StopFailed":{ - "shape":"Integer", - "documentation":"

The number of instances with stop_failed status.

" - }, - "Stopped":{ - "shape":"Integer", - "documentation":"

The number of instances with stopped status.

" - }, - "Stopping":{ - "shape":"Integer", - "documentation":"

The number of instances with stopping status.

" - }, - "Terminated":{ - "shape":"Integer", - "documentation":"

The number of instances with terminated status.

" - }, - "Terminating":{ - "shape":"Integer", - "documentation":"

The number of instances with terminating status.

" - }, - "Unassigning":{ - "shape":"Integer", - "documentation":"

The number of instances in the Unassigning state.

" - } - }, - "documentation":"

Describes how many instances a stack has for each status.

" - }, - "Integer":{ - "type":"integer", - "box":true - }, - "Layer":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Number (ARN) of a layer.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The layer stack ID.

" - }, - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - }, - "Type":{ - "shape":"LayerType", - "documentation":"

The layer type.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The layer name.

" - }, - "Shortname":{ - "shape":"String", - "documentation":"

The layer short name.

" - }, - "Attributes":{ - "shape":"LayerAttributes", - "documentation":"

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value

For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute is set to the cluster's ARN.

" - }, - "CloudWatchLogsConfiguration":{ - "shape":"CloudWatchLogsConfiguration", - "documentation":"

The Amazon CloudWatch Logs configuration settings for the layer.

" - }, - "CustomInstanceProfileArn":{ - "shape":"String", - "documentation":"

The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A JSON formatted string containing the layer's custom stack configuration and deployment attributes.

" - }, - "CustomSecurityGroupIds":{ - "shape":"Strings", - "documentation":"

An array containing the layer's custom security group IDs.

" - }, - "DefaultSecurityGroupNames":{ - "shape":"Strings", - "documentation":"

An array containing the layer's security group names.

" - }, - "Packages":{ - "shape":"Strings", - "documentation":"

An array of Package objects that describe the layer's packages.

" - }, - "VolumeConfigurations":{ - "shape":"VolumeConfigurations", - "documentation":"

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

" - }, - "EnableAutoHealing":{ - "shape":"Boolean", - "documentation":"

Whether auto healing is disabled for the layer.

" - }, - "AutoAssignElasticIps":{ - "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "AutoAssignPublicIps":{ - "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "DefaultRecipes":{"shape":"Recipes"}, - "CustomRecipes":{ - "shape":"Recipes", - "documentation":"

A LayerCustomRecipes object that specifies the layer's custom recipes.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

Date when the layer was created.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. If this value is set to false, you must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

We strongly recommend using the default value of true, to ensure that your instances have the latest security updates.

" - }, - "UseEbsOptimizedInstances":{ - "shape":"Boolean", - "documentation":"

Whether the layer uses Amazon EBS-optimized instances.

" - }, - "LifecycleEventConfiguration":{ - "shape":"LifecycleEventConfiguration", - "documentation":"

A LifeCycleEventConfiguration object that specifies the Shutdown event configuration.

" - } - }, - "documentation":"

Describes a layer.

" - }, - "LayerAttributes":{ - "type":"map", - "key":{"shape":"LayerAttributesKeys"}, - "value":{"shape":"String"} - }, - "LayerAttributesKeys":{ - "type":"string", - "enum":[ - "EcsClusterArn", - "EnableHaproxyStats", - "HaproxyStatsUrl", - "HaproxyStatsUser", - "HaproxyStatsPassword", - "HaproxyHealthCheckUrl", - "HaproxyHealthCheckMethod", - "MysqlRootPassword", - "MysqlRootPasswordUbiquitous", - "GangliaUrl", - "GangliaUser", - "GangliaPassword", - "MemcachedMemory", - "NodejsVersion", - "RubyVersion", - "RubygemsVersion", - "ManageBundler", - "BundlerVersion", - "RailsStack", - "PassengerVersion", - "Jvm", - "JvmVersion", - "JvmOptions", - "JavaAppServer", - "JavaAppServerVersion" - ] - }, - "LayerType":{ - "type":"string", - "enum":[ - "aws-flow-ruby", - "ecs-cluster", - "java-app", - "lb", - "web", - "php-app", - "rails-app", - "nodejs-app", - "memcached", - "db-master", - "monitoring-master", - "custom" - ] - }, - "Layers":{ - "type":"list", - "member":{"shape":"Layer"} - }, - "LifecycleEventConfiguration":{ - "type":"structure", - "members":{ - "Shutdown":{ - "shape":"ShutdownEventConfiguration", - "documentation":"

A ShutdownEventConfiguration object that specifies the Shutdown event configuration.

" - } - }, - "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":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - }, - "Enable":{ - "shape":"Boolean", - "documentation":"

Whether load-based auto scaling is enabled for the layer.

" - }, - "UpScaling":{ - "shape":"AutoScalingThresholds", - "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 Stacks reduces the number of instances.

" - } - }, - "documentation":"

Describes a layer's load-based auto scaling configuration.

" - }, - "LoadBasedAutoScalingConfigurations":{ - "type":"list", - "member":{"shape":"LoadBasedAutoScalingConfiguration"} - }, - "MaxResults":{"type":"integer"}, - "Minute":{ - "type":"integer", - "box":true, - "max":100, - "min":1 - }, - "NextToken":{"type":"string"}, - "OperatingSystem":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the operating system, such as Amazon Linux 2017.09.

" - }, - "Id":{ - "shape":"String", - "documentation":"

The ID of a supported operating system, such as Amazon Linux 2017.09.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of a supported operating system, either Linux or Windows.

" - }, - "ConfigurationManagers":{ - "shape":"OperatingSystemConfigurationManagers", - "documentation":"

Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.

" - }, - "ReportedName":{ - "shape":"String", - "documentation":"

A short name for the operating system manufacturer.

" - }, - "ReportedVersion":{ - "shape":"String", - "documentation":"

The version of the operating system, including the release and edition, if applicable.

" - }, - "Supported":{ - "shape":"Boolean", - "documentation":"

Indicates that an operating system is not supported for new instances.

" - } - }, - "documentation":"

Describes supported operating systems in AWS OpsWorks Stacks.

" - }, - "OperatingSystemConfigurationManager":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the configuration manager, which is Chef.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The versions of the configuration manager that are supported by an operating system.

" - } - }, - "documentation":"

A block that contains information about the configuration manager (Chef) and the versions of the configuration manager that are supported for an operating system.

" - }, - "OperatingSystemConfigurationManagers":{ - "type":"list", - "member":{"shape":"OperatingSystemConfigurationManager"} - }, - "OperatingSystems":{ - "type":"list", - "member":{"shape":"OperatingSystem"} - }, - "Parameters":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Permission":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

A stack ID.

" - }, - "IamUserArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see Using Identifiers.

" - }, - "AllowSsh":{ - "shape":"Boolean", - "documentation":"

Whether the user can use SSH.

" - }, - "AllowSudo":{ - "shape":"Boolean", - "documentation":"

Whether the user can use sudo.

" - }, - "Level":{ - "shape":"String", - "documentation":"

The user's permission level, which must be the following:

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions

" - } - }, - "documentation":"

Describes stack or user permissions.

" - }, - "Permissions":{ - "type":"list", - "member":{"shape":"Permission"} - }, - "RaidArray":{ - "type":"structure", - "members":{ - "RaidArrayId":{ - "shape":"String", - "documentation":"

The array ID.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The array name.

" - }, - "RaidLevel":{ - "shape":"Integer", - "documentation":"

The RAID level.

" - }, - "NumberOfDisks":{ - "shape":"Integer", - "documentation":"

The number of disks in the array.

" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The array's size.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The array's Linux device. For example /dev/mdadm0.

" - }, - "MountPoint":{ - "shape":"String", - "documentation":"

The array's mount point.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The array's Availability Zone. For more information, see Regions and Endpoints.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

When the RAID array was created.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "VolumeType":{ - "shape":"String", - "documentation":"

The volume type, standard or PIOPS.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

For PIOPS volumes, the IOPS per disk.

" - } - }, - "documentation":"

Describes an instance's RAID array.

" - }, - "RaidArrays":{ - "type":"list", - "member":{"shape":"RaidArray"} - }, - "RdsDbInstance":{ - "type":"structure", - "members":{ - "RdsDbInstanceArn":{ - "shape":"String", - "documentation":"

The instance's ARN.

" - }, - "DbInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier.

" - }, - "DbUser":{ - "shape":"String", - "documentation":"

The master user name.

" - }, - "DbPassword":{ - "shape":"String", - "documentation":"

AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The instance's AWS region.

" - }, - "Address":{ - "shape":"String", - "documentation":"

The instance's address.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The instance's database engine.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The ID of the stack with which the instance is registered.

" - }, - "MissingOnRds":{ - "shape":"Boolean", - "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.

" - }, - "RdsDbInstances":{ - "type":"list", - "member":{"shape":"RdsDbInstance"} - }, - "RebootInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "Recipes":{ - "type":"structure", - "members":{ - "Setup":{ - "shape":"Strings", - "documentation":"

An array of custom recipe names to be run following a setup event.

" - }, - "Configure":{ - "shape":"Strings", - "documentation":"

An array of custom recipe names to be run following a configure event.

" - }, - "Deploy":{ - "shape":"Strings", - "documentation":"

An array of custom recipe names to be run following a deploy event.

" - }, - "Undeploy":{ - "shape":"Strings", - "documentation":"

An array of custom recipe names to be run following a undeploy event.

" - }, - "Shutdown":{ - "shape":"Strings", - "documentation":"

An array of custom recipe names to be run following a shutdown event.

" - } - }, - "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", - "required":[ - "EcsClusterArn", - "StackId" - ], - "members":{ - "EcsClusterArn":{ - "shape":"String", - "documentation":"

The cluster's ARN.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "RegisterEcsClusterResult":{ - "type":"structure", - "members":{ - "EcsClusterArn":{ - "shape":"String", - "documentation":"

The cluster's ARN.

" - } - }, - "documentation":"

Contains the response to a RegisterEcsCluster request.

" - }, - "RegisterElasticIpRequest":{ - "type":"structure", - "required":[ - "ElasticIp", - "StackId" - ], - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "RegisterElasticIpResult":{ - "type":"structure", - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP address.

" - } - }, - "documentation":"

Contains the response to a RegisterElasticIp request.

" - }, - "RegisterInstanceRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The ID of the stack that the instance is to be registered with.

" - }, - "Hostname":{ - "shape":"String", - "documentation":"

The instance's hostname.

" - }, - "PublicIp":{ - "shape":"String", - "documentation":"

The instance's public IP address.

" - }, - "PrivateIp":{ - "shape":"String", - "documentation":"

The instance's private IP address.

" - }, - "RsaPublicKey":{ - "shape":"String", - "documentation":"

The instances public RSA key. This key is used to encrypt communication between the instance and the service.

" - }, - "RsaPublicKeyFingerprint":{ - "shape":"String", - "documentation":"

The instances public RSA key fingerprint.

" - }, - "InstanceIdentity":{ - "shape":"InstanceIdentity", - "documentation":"

An InstanceIdentity object that contains the instance's identity.

" - } - } - }, - "RegisterInstanceResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The registered instance's AWS OpsWorks Stacks ID.

" - } - }, - "documentation":"

Contains the response to a RegisterInstanceResult request.

" - }, - "RegisterRdsDbInstanceRequest":{ - "type":"structure", - "required":[ - "StackId", - "RdsDbInstanceArn", - "DbUser", - "DbPassword" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "RdsDbInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon RDS instance's ARN.

" - }, - "DbUser":{ - "shape":"String", - "documentation":"

The database's master user name.

" - }, - "DbPassword":{ - "shape":"String", - "documentation":"

The database password.

" - } - } - }, - "RegisterVolumeRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "Ec2VolumeId":{ - "shape":"String", - "documentation":"

The Amazon EBS volume ID.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "RegisterVolumeResult":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

" - } - }, - "documentation":"

Contains the response to a RegisterVolume request.

" - }, - "ReportedOs":{ - "type":"structure", - "members":{ - "Family":{ - "shape":"String", - "documentation":"

The operating system family.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The operating system name.

" - }, - "Version":{ - "shape":"String", - "documentation":"

The operating system version.

" - } - }, - "documentation":"

A registered instance's reported operating system.

" - }, - "ResourceArn":{"type":"string"}, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The exception message.

" - } - }, - "documentation":"

Indicates that a resource was not found.

", - "exception":true - }, - "RootDeviceType":{ - "type":"string", - "enum":[ - "ebs", - "instance-store" - ] - }, - "SelfUserProfile":{ - "type":"structure", - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The user's name.

" - }, - "SshUsername":{ - "shape":"String", - "documentation":"

The user's SSH user name.

" - }, - "SshPublicKey":{ - "shape":"String", - "documentation":"

The user's SSH public key.

" - } - }, - "documentation":"

Describes a user's SSH information.

" - }, - "ServiceError":{ - "type":"structure", - "members":{ - "ServiceErrorId":{ - "shape":"String", - "documentation":"

The error ID.

" - }, - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The error type.

" - }, - "Message":{ - "shape":"String", - "documentation":"

A message that describes the error.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

When the error occurred.

" - } - }, - "documentation":"

Describes an AWS OpsWorks Stacks service error.

" - }, - "ServiceErrors":{ - "type":"list", - "member":{"shape":"ServiceError"} - }, - "SetLoadBasedAutoScalingRequest":{ - "type":"structure", - "required":["LayerId"], - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - }, - "Enable":{ - "shape":"Boolean", - "documentation":"

Enables load-based auto scaling for the layer.

" - }, - "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 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 Stacks stops a specified number of instances.

" - } - } - }, - "SetPermissionRequest":{ - "type":"structure", - "required":[ - "StackId", - "IamUserArn" - ], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN. This can also be a federated user's ARN.

" - }, - "AllowSsh":{ - "shape":"Boolean", - "documentation":"

The user is allowed to use SSH to communicate with the instance.

" - }, - "AllowSudo":{ - "shape":"Boolean", - "documentation":"

The user is allowed to use sudo to elevate privileges.

" - }, - "Level":{ - "shape":"String", - "documentation":"

The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information about the permissions associated with these levels, see Managing User Permissions.

" - } - } - }, - "SetTimeBasedAutoScalingRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "AutoScalingSchedule":{ - "shape":"WeeklyAutoScalingSchedule", - "documentation":"

An AutoScalingSchedule with the instance schedule.

" - } - } - }, - "ShutdownEventConfiguration":{ - "type":"structure", - "members":{ - "ExecutionTimeout":{ - "shape":"Integer", - "documentation":"

The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.

" - }, - "DelayUntilElbConnectionsDrained":{ - "shape":"Boolean", - "documentation":"

Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

" - } - }, - "documentation":"

The Shutdown event configuration.

" - }, - "Source":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"SourceType", - "documentation":"

The repository type.

" - }, - "Url":{ - "shape":"String", - "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", - "documentation":"

This parameter depends on the repository type.

  • For Amazon S3 bundles, set Username to the appropriate IAM access key ID.

  • For HTTP bundles, Git repositories, and Subversion repositories, set Username to the user name.

" - }, - "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 Stacks returns *****FILTERED***** instead of the actual value.

" - }, - "SshKey":{ - "shape":"String", - "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 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.

" - }, - "SourceType":{ - "type":"string", - "enum":[ - "git", - "svn", - "archive", - "s3" - ] - }, - "SslConfiguration":{ - "type":"structure", - "required":[ - "Certificate", - "PrivateKey" - ], - "members":{ - "Certificate":{ - "shape":"String", - "documentation":"

The contents of the certificate's domain.crt file.

" - }, - "PrivateKey":{ - "shape":"String", - "documentation":"

The private key; the contents of the certificate's domain.kex file.

" - }, - "Chain":{ - "shape":"String", - "documentation":"

Optional. Can be used to specify an intermediate certificate authority key or client authentication.

" - } - }, - "documentation":"

Describes an app's SSL configuration.

" - }, - "Stack":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The stack name.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The stack's ARN.

" - }, - "Region":{ - "shape":"String", - "documentation":"

The stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The VPC ID; applicable only if the stack is running in a VPC.

" - }, - "Attributes":{ - "shape":"StackAttributes", - "documentation":"

The stack's attributes.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

The stack AWS Identity and Access Management (IAM) role.

" - }, - "DefaultInstanceProfileArn":{ - "shape":"String", - "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" - }, - "DefaultOs":{ - "shape":"String", - "documentation":"

The stack's default operating system.

" - }, - "HostnameTheme":{ - "shape":"String", - "documentation":"

The stack host name theme, with spaces replaced by underscores.

" - }, - "DefaultAvailabilityZone":{ - "shape":"String", - "documentation":"

The stack's default Availability Zone. For more information, see Regions and Endpoints.

" - }, - "DefaultSubnetId":{ - "shape":"String", - "documentation":"

The default subnet ID; applicable only if the stack is running in a VPC.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager.

" - }, - "ChefConfiguration":{ - "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see Create a New Stack.

" - }, - "UseCustomCookbooks":{ - "shape":"Boolean", - "documentation":"

Whether the stack uses custom cookbooks.

" - }, - "UseOpsworksSecurityGroups":{ - "shape":"Boolean", - "documentation":"

Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

" - }, - "CustomCookbooksSource":{"shape":"Source"}, - "DefaultSshKeyName":{ - "shape":"String", - "documentation":"

A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

" - }, - "CreatedAt":{ - "shape":"DateTime", - "documentation":"

The date when the stack was created.

" - }, - "DefaultRootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" - }, - "AgentVersion":{ - "shape":"String", - "documentation":"

The agent version. This parameter is set to LATEST for auto-update. or a version number for a fixed agent version.

" - } - }, - "documentation":"

Describes a stack.

" - }, - "StackAttributes":{ - "type":"map", - "key":{"shape":"StackAttributesKeys"}, - "value":{"shape":"String"} - }, - "StackAttributesKeys":{ - "type":"string", - "enum":["Color"] - }, - "StackConfigurationManager":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name. This parameter must be set to \"Chef\".

" - }, - "Version":{ - "shape":"String", - "documentation":"

The Chef version. This parameter must be set to 12, 11.10, or 11.4 for Linux stacks, and to 12.2 for Windows stacks. The default value for Linux stacks is 11.4.

" - } - }, - "documentation":"

Describes the configuration manager.

" - }, - "StackSummary":{ - "type":"structure", - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The stack name.

" - }, - "Arn":{ - "shape":"String", - "documentation":"

The stack's ARN.

" - }, - "LayersCount":{ - "shape":"Integer", - "documentation":"

The number of layers.

" - }, - "AppsCount":{ - "shape":"Integer", - "documentation":"

The number of apps.

" - }, - "InstancesCount":{ - "shape":"InstancesCount", - "documentation":"

An InstancesCount object with the number of instances in each status.

" - } - }, - "documentation":"

Summarizes the number of layers, instances, and apps in a stack.

" - }, - "Stacks":{ - "type":"list", - "member":{"shape":"Stack"} - }, - "StartInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "StartStackRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "StopInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "Force":{ - "shape":"Boolean", - "documentation":"

Specifies whether to force an instance to stop.

" - } - } - }, - "StopStackRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - } - } - }, - "String":{"type":"string"}, - "Strings":{ - "type":"list", - "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":{ - "Username":{ - "shape":"String", - "documentation":"

The user name.

" - }, - "Password":{ - "shape":"String", - "documentation":"

The password.

" - }, - "ValidForInMinutes":{ - "shape":"Integer", - "documentation":"

The length of time (in minutes) that the grant is valid. When the grant expires, at the end of this period, the user will no longer be able to use the credentials to log in. If they are logged in at the time, they will be automatically logged out.

" - }, - "InstanceId":{ - "shape":"String", - "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.

" - }, - "TimeBasedAutoScalingConfiguration":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "AutoScalingSchedule":{ - "shape":"WeeklyAutoScalingSchedule", - "documentation":"

A WeeklyAutoScalingSchedule object with the instance schedule.

" - } - }, - "documentation":"

Describes an instance's time-based auto scaling configuration.

" - }, - "TimeBasedAutoScalingConfigurations":{ - "type":"list", - "member":{"shape":"TimeBasedAutoScalingConfiguration"} - }, - "UnassignInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - } - } - }, - "UnassignVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

" - } - } - }, - "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"], - "members":{ - "AppId":{ - "shape":"String", - "documentation":"

The app ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The app name.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the app.

" - }, - "DataSources":{ - "shape":"DataSources", - "documentation":"

The app's data sources.

" - }, - "Type":{ - "shape":"AppType", - "documentation":"

The app type.

" - }, - "AppSource":{ - "shape":"Source", - "documentation":"

A Source object that specifies the app repository.

" - }, - "Domains":{ - "shape":"Strings", - "documentation":"

The app's virtual host settings, with multiple domains separated by commas. For example: 'www.example.com, example.com'

" - }, - "EnableSsl":{ - "shape":"Boolean", - "documentation":"

Whether SSL is enabled for the app.

" - }, - "SslConfiguration":{ - "shape":"SslConfiguration", - "documentation":"

An SslConfiguration object with the SSL configuration.

" - }, - "Attributes":{ - "shape":"AppAttributes", - "documentation":"

One or more user-defined key/value pairs to be added to the stack attributes.

" - }, - "Environment":{ - "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 10KB).\"

This parameter is supported only by Chef 11.10 stacks. If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" - } - } - }, - "UpdateElasticIpRequest":{ - "type":"structure", - "required":["ElasticIp"], - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The IP address for which you want to update the name.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The new name.

" - } - } - }, - "UpdateInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "LayerIds":{ - "shape":"Strings", - "documentation":"

The instance's layer IDs.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" - }, - "AutoScalingType":{ - "shape":"AutoScalingType", - "documentation":"

For load-based or time-based instances, the type. Windows stacks can use only time-based instances.

" - }, - "Hostname":{ - "shape":"String", - "documentation":"

The instance host name.

" - }, - "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 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information about supported operating systems, see Operating Systems. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

" - }, - "AmiId":{ - "shape":"String", - "documentation":"

The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs.

" - }, - "SshKeyName":{ - "shape":"String", - "documentation":"

The instance's Amazon EC2 key name.

" - }, - "Architecture":{ - "shape":"Architecture", - "documentation":"

The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or by manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

We strongly recommend using the default value of true, to ensure that your instances have the latest security updates.

" - }, - "EbsOptimized":{ - "shape":"Boolean", - "documentation":"

This property cannot be updated.

" - }, - "AgentVersion":{ - "shape":"String", - "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.

" - } - } - }, - "UpdateLayerRequest":{ - "type":"structure", - "required":["LayerId"], - "members":{ - "LayerId":{ - "shape":"String", - "documentation":"

The layer ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The layer name, which is used by the console.

" - }, - "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 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.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON.

" - }, - "CustomSecurityGroupIds":{ - "shape":"Strings", - "documentation":"

An array containing the layer's custom security group IDs.

" - }, - "Packages":{ - "shape":"Strings", - "documentation":"

An array of Package objects that describe the layer's packages.

" - }, - "VolumeConfigurations":{ - "shape":"VolumeConfigurations", - "documentation":"

A VolumeConfigurations object that describes the layer's Amazon EBS volumes.

" - }, - "EnableAutoHealing":{ - "shape":"Boolean", - "documentation":"

Whether to disable auto healing for the layer.

" - }, - "AutoAssignElasticIps":{ - "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "AutoAssignPublicIps":{ - "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" - }, - "CustomRecipes":{ - "shape":"Recipes", - "documentation":"

A LayerCustomRecipes object that specifies the layer's custom recipes.

" - }, - "InstallUpdatesOnBoot":{ - "shape":"Boolean", - "documentation":"

Whether to install operating system and package updates when the instance boots. The default value is true. To control when updates are installed, set this value to false. You must then update your instances manually by using CreateDeployment to run the update_dependencies stack command or manually running yum (Amazon Linux) or apt-get (Ubuntu) on the instances.

We strongly recommend using the default value of true, to ensure that your instances have the latest security updates.

" - }, - "UseEbsOptimizedInstances":{ - "shape":"Boolean", - "documentation":"

Whether to use Amazon EBS-optimized instances.

" - }, - "LifecycleEventConfiguration":{ - "shape":"LifecycleEventConfiguration", - "documentation":"

" - } - } - }, - "UpdateMyUserProfileRequest":{ - "type":"structure", - "members":{ - "SshPublicKey":{ - "shape":"String", - "documentation":"

The user's SSH public key.

" - } - } - }, - "UpdateRdsDbInstanceRequest":{ - "type":"structure", - "required":["RdsDbInstanceArn"], - "members":{ - "RdsDbInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon RDS instance's ARN.

" - }, - "DbUser":{ - "shape":"String", - "documentation":"

The master user name.

" - }, - "DbPassword":{ - "shape":"String", - "documentation":"

The database password.

" - } - } - }, - "UpdateStackRequest":{ - "type":"structure", - "required":["StackId"], - "members":{ - "StackId":{ - "shape":"String", - "documentation":"

The stack ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The stack's new name.

" - }, - "Attributes":{ - "shape":"StackAttributes", - "documentation":"

One or more user-defined key-value pairs to be added to the stack attributes.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

Do not use this parameter. You cannot update a stack's service role.

" - }, - "DefaultInstanceProfileArn":{ - "shape":"String", - "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" - }, - "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 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" - }, - "HostnameTheme":{ - "shape":"String", - "documentation":"

The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" - }, - "DefaultAvailabilityZone":{ - "shape":"String", - "documentation":"

The stack's default Availability Zone, which must be in the stack's region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack.

" - }, - "DefaultSubnetId":{ - "shape":"String", - "documentation":"

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

" - }, - "CustomJson":{ - "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" - }, - "ConfigurationManager":{ - "shape":"StackConfigurationManager", - "documentation":"

The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

" - }, - "ChefConfiguration":{ - "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" - }, - "UseCustomCookbooks":{ - "shape":"Boolean", - "documentation":"

Whether the stack uses custom cookbooks.

" - }, - "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 Stacks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" - }, - "DefaultRootDeviceType":{ - "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" - }, - "UseOpsworksSecurityGroups":{ - "shape":"Boolean", - "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 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.

" - } - } - }, - "UpdateUserProfileRequest":{ - "type":"structure", - "required":["IamUserArn"], - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user IAM ARN. This can also be a federated user's ARN.

" - }, - "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 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", - "documentation":"

The user's new SSH public key.

" - }, - "AllowSelfManagement":{ - "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" - } - } - }, - "UpdateVolumeRequest":{ - "type":"structure", - "required":["VolumeId"], - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The new name.

" - }, - "MountPoint":{ - "shape":"String", - "documentation":"

The new mount point.

" - } - } - }, - "UserProfile":{ - "type":"structure", - "members":{ - "IamUserArn":{ - "shape":"String", - "documentation":"

The user's IAM ARN.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The user's name.

" - }, - "SshUsername":{ - "shape":"String", - "documentation":"

The user's SSH user name.

" - }, - "SshPublicKey":{ - "shape":"String", - "documentation":"

The user's SSH public key.

" - }, - "AllowSelfManagement":{ - "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" - } - }, - "documentation":"

Describes a user's SSH information.

" - }, - "UserProfiles":{ - "type":"list", - "member":{"shape":"UserProfile"} - }, - "ValidForInMinutes":{ - "type":"integer", - "box":true, - "max":1440, - "min":60 - }, - "ValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The exception message.

" - } - }, - "documentation":"

Indicates that a request was not valid.

", - "exception":true - }, - "VirtualizationType":{ - "type":"string", - "enum":[ - "paravirtual", - "hvm" - ] - }, - "Volume":{ - "type":"structure", - "members":{ - "VolumeId":{ - "shape":"String", - "documentation":"

The volume ID.

" - }, - "Ec2VolumeId":{ - "shape":"String", - "documentation":"

The Amazon EC2 volume ID.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The volume name.

" - }, - "RaidArrayId":{ - "shape":"String", - "documentation":"

The RAID array ID.

" - }, - "InstanceId":{ - "shape":"String", - "documentation":"

The instance ID.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The value returned by DescribeVolumes.

" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The volume size.

" - }, - "Device":{ - "shape":"String", - "documentation":"

The device name.

" - }, - "MountPoint":{ - "shape":"String", - "documentation":"

The volume mount point. For example, \"/mnt/disk1\".

" - }, - "Region":{ - "shape":"String", - "documentation":"

The AWS region. For more information about AWS regions, see Regions and Endpoints.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The volume Availability Zone. For more information, see Regions and Endpoints.

" - }, - "VolumeType":{ - "shape":"String", - "documentation":"

The volume type. For more information, see Amazon EBS Volume Types.

  • standard - Magnetic. Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024 GiB.

  • io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size of 4 GiB and a maximum size of 16384 GiB.

  • gp2 - General Purpose (SSD). General purpose volumes must have a minimum size of 1 GiB and a maximum size of 16384 GiB.

  • st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

  • sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

For PIOPS volumes, the IOPS per disk.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

" - } - }, - "documentation":"

Describes an instance's Amazon EBS volume.

" - }, - "VolumeConfiguration":{ - "type":"structure", - "required":[ - "MountPoint", - "NumberOfDisks", - "Size" - ], - "members":{ - "MountPoint":{ - "shape":"String", - "documentation":"

The volume mount point. For example \"/dev/sdh\".

" - }, - "RaidLevel":{ - "shape":"Integer", - "documentation":"

The volume RAID level.

" - }, - "NumberOfDisks":{ - "shape":"Integer", - "documentation":"

The number of disks in the volume.

" - }, - "Size":{ - "shape":"Integer", - "documentation":"

The volume size.

" - }, - "VolumeType":{ - "shape":"String", - "documentation":"

The volume type. For more information, see Amazon EBS Volume Types.

  • standard - Magnetic. Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024 GiB.

  • io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size of 4 GiB and a maximum size of 16384 GiB.

  • gp2 - General Purpose (SSD). General purpose volumes must have a minimum size of 1 GiB and a maximum size of 16384 GiB.

  • st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

  • sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

" - }, - "Iops":{ - "shape":"Integer", - "documentation":"

For PIOPS volumes, the IOPS per disk.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

" - } - }, - "documentation":"

Describes an Amazon EBS volume configuration.

" - }, - "VolumeConfigurations":{ - "type":"list", - "member":{"shape":"VolumeConfiguration"} - }, - "VolumeType":{ - "type":"string", - "enum":[ - "gp2", - "io1", - "standard" - ] - }, - "Volumes":{ - "type":"list", - "member":{"shape":"Volume"} - }, - "WeeklyAutoScalingSchedule":{ - "type":"structure", - "members":{ - "Monday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Monday.

" - }, - "Tuesday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Tuesday.

" - }, - "Wednesday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Wednesday.

" - }, - "Thursday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Thursday.

" - }, - "Friday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Friday.

" - }, - "Saturday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Saturday.

" - }, - "Sunday":{ - "shape":"DailyAutoScalingSchedule", - "documentation":"

The schedule for Sunday.

" - } - }, - "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 Stacks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes.

AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-east-2.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.ca-central-1.amazonaws.com (API only; not available in the AWS console)

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-west-2.amazonaws.com

  • opsworks.eu-west-3.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/waiters-2.json deleted file mode 100644 index 1b9dfaad..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworks/2013-02-18/waiters-2.json +++ /dev/null @@ -1,289 +0,0 @@ -{ - "version": 2, - "waiters": { - "AppExists": { - "delay": 1, - "operation": "DescribeApps", - "maxAttempts": 40, - "acceptors": [ - { - "expected": 200, - "matcher": "status", - "state": "success" - }, - { - "matcher": "status", - "expected": 400, - "state": "failure" - } - ] - }, - "DeploymentSuccessful": { - "delay": 15, - "operation": "DescribeDeployments", - "maxAttempts": 40, - "description": "Wait until a deployment has completed successfully.", - "acceptors": [ - { - "expected": "successful", - "matcher": "pathAll", - "state": "success", - "argument": "Deployments[].Status" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Deployments[].Status" - } - ] - }, - "InstanceOnline": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "description": "Wait until OpsWorks instance is online.", - "acceptors": [ - { - "expected": "online", - "matcher": "pathAll", - "state": "success", - "argument": "Instances[].Status" - }, - { - "expected": "setup_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "shutting_down", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "start_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stopped", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "terminating", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stop_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - } - ] - }, - "InstanceRegistered": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "description": "Wait until OpsWorks instance is registered.", - "acceptors": [ - { - "expected": "registered", - "matcher": "pathAll", - "state": "success", - "argument": "Instances[].Status" - }, - { - "expected": "setup_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "shutting_down", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stopped", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stopping", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "terminating", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "terminated", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stop_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - } - ] - }, - "InstanceStopped": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "description": "Wait until OpsWorks instance is stopped.", - "acceptors": [ - { - "expected": "stopped", - "matcher": "pathAll", - "state": "success", - "argument": "Instances[].Status" - }, - { - "expected": "booting", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "requested", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "running_setup", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "setup_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "start_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "stop_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - } - ] - }, - "InstanceTerminated": { - "delay": 15, - "operation": "DescribeInstances", - "maxAttempts": 40, - "description": "Wait until OpsWorks instance is terminated.", - "acceptors": [ - { - "expected": "terminated", - "matcher": "pathAll", - "state": "success", - "argument": "Instances[].Status" - }, - { - "expected": "ResourceNotFoundException", - "matcher": "error", - "state": "success" - }, - { - "expected": "booting", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "online", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "pending", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "requested", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "running_setup", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "setup_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - }, - { - "expected": "start_failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/service-2.json deleted file mode 100644 index cbeee334..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/service-2.json +++ /dev/null @@ -1,1147 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-01", - "endpointPrefix":"opsworks-cm", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"OpsWorksCM", - "serviceFullName":"AWS OpsWorks for Chef Automate", - "serviceId":"OpsWorksCM", - "signatureVersion":"v4", - "signingName":"opsworks-cm", - "targetPrefix":"OpsWorksCM_V2016_11_01", - "uid":"opsworkscm-2016-11-01" - }, - "operations":{ - "AssociateNode":{ - "name":"AssociateNode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateNodeRequest"}, - "output":{"shape":"AssociateNodeResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Associates a new node with the server. For more information about how to disassociate a node, see DisassociateNode.

On a Chef server: This command is an alternative to knife bootstrap.

Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes \"Name=CHEF_ORGANIZATION,Value=default\" \"Name=CHEF_NODE_PUBLIC_KEY,Value=public-key-pem\"

On a Puppet server, this command is an alternative to the puppet cert sign command that signs a Puppet node CSR.

Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes \"Name=PUPPET_NODE_CSR,Value=csr-pem\"

A node can can only be associated with servers that are in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. The AssociateNode API call can be integrated into Auto Scaling configurations, AWS Cloudformation templates, or the user data of a server's instance.

" - }, - "CreateBackup":{ - "name":"CreateBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateBackupRequest"}, - "output":{"shape":"CreateBackupResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Creates an application-level backup of a server. While the server is in the BACKING_UP state, the server cannot be changed, and no additional backup can be created.

Backups can be created for servers in RUNNING, HEALTHY, and UNHEALTHY states. By default, you can create a maximum of 50 manual backups.

This operation is asynchronous.

A LimitExceededException is thrown when the maximum number of manual backups is reached. An InvalidStateException is thrown when the server is not in any of the following states: RUNNING, HEALTHY, or UNHEALTHY. A ResourceNotFoundException is thrown when the server is not found. A ValidationException is thrown when parameters of the request are not valid.

" - }, - "CreateServer":{ - "name":"CreateServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateServerRequest"}, - "output":{"shape":"CreateServerResponse"}, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Creates and immedately starts a new server. The server is ready to use when it is in the HEALTHY state. By default, you can create a maximum of 10 servers.

This operation is asynchronous.

A LimitExceededException is thrown when you have created the maximum number of servers (10). A ResourceAlreadyExistsException is thrown when a server with the same name already exists in the account. A ResourceNotFoundException is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A ValidationException is thrown when parameters of the request are not valid.

If you do not specify a security group by adding the SecurityGroupIds parameter, AWS OpsWorks creates a new security group.

Chef Automate: The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22.

Puppet Enterprise: The default security group opens TCP ports 22, 443, 4433, 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22.

By default, your server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console.

" - }, - "DeleteBackup":{ - "name":"DeleteBackup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBackupRequest"}, - "output":{"shape":"DeleteBackupResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Deletes a backup. You can delete both manual and automated backups. This operation is asynchronous.

An InvalidStateException is thrown when a backup deletion is already in progress. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is thrown when parameters of the request are not valid.

" - }, - "DeleteServer":{ - "name":"DeleteServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServerRequest"}, - "output":{"shape":"DeleteServerResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Deletes the server and the underlying AWS CloudFormation stacks (including the server's EC2 instance). When you run this command, the server state is updated to DELETING. After the server is deleted, it is no longer returned by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted, the server cannot be deleted.

This operation is asynchronous.

An InvalidStateException is thrown when a server deletion is already in progress. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesRequest"}, - "output":{"shape":"DescribeAccountAttributesResponse"}, - "documentation":"

Describes your account attributes, and creates requests to increase limits before they are reached or exceeded.

This operation is synchronous.

" - }, - "DescribeBackups":{ - "name":"DescribeBackups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBackupsRequest"}, - "output":{"shape":"DescribeBackupsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Describes backups. The results are ordered by time, with newest backups first. If you do not specify a BackupId or ServerName, the command returns all backups.

This operation is synchronous.

A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsRequest"}, - "output":{"shape":"DescribeEventsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes events for a specified server. Results are ordered by time, with newest events first.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "DescribeNodeAssociationStatus":{ - "name":"DescribeNodeAssociationStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNodeAssociationStatusRequest"}, - "output":{"shape":"DescribeNodeAssociationStatusResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Returns the current status of an existing association or disassociation request.

A ResourceNotFoundException is thrown when no recent association or disassociation request with the specified token is found, or when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "DescribeServers":{ - "name":"DescribeServers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServersRequest"}, - "output":{"shape":"DescribeServersResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Lists all configuration management servers that are identified with your account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks CM does not query other services.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "DisassociateNode":{ - "name":"DisassociateNode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateNodeRequest"}, - "output":{"shape":"DisassociateNodeResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Disassociates a node from an AWS OpsWorks CM server, and removes the node from the server's managed nodes. After a node is disassociated, the node key pair is no longer valid for accessing the configuration manager's API. For more information about how to associate a node, see AssociateNode.

A node can can only be disassociated from a server that is in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "RestoreServer":{ - "name":"RestoreServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreServerRequest"}, - "output":{"shape":"RestoreServerResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Restores a backup to a server that is in a CONNECTION_LOST, HEALTHY, RUNNING, UNHEALTHY, or TERMINATED state. When you run RestoreServer, the server's EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer maintains the existing server endpoint, so configuration management of the server's client devices (nodes) should continue to work.

This operation is asynchronous.

An InvalidStateException is thrown when the server is not in a valid state. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "StartMaintenance":{ - "name":"StartMaintenance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartMaintenanceRequest"}, - "output":{"shape":"StartMaintenanceResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. The server is in an UNDER_MAINTENANCE state while maintenance is in progress.

Maintenance can only be started on servers in HEALTHY and UNHEALTHY states. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - }, - "UpdateServer":{ - "name":"UpdateServer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServerRequest"}, - "output":{"shape":"UpdateServerResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Updates settings for a server.

This operation is synchronous.

" - }, - "UpdateServerEngineAttributes":{ - "name":"UpdateServerEngineAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServerEngineAttributesRequest"}, - "output":{"shape":"UpdateServerEngineAttributesResponse"}, - "errors":[ - {"shape":"InvalidStateException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ValidationException"} - ], - "documentation":"

Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset a Chef server's private key (CHEF_PIVOTAL_KEY), a Chef server's admin password (CHEF_DELIVERY_ADMIN_PASSWORD), or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD).

This operation is asynchronous.

This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" - } - }, - "shapes":{ - "AccountAttribute":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The attribute name. The following are supported attribute names.

  • ServerLimit: The number of current servers/maximum number of servers allowed. By default, you can have a maximum of 10 servers.

  • ManualBackupLimit: The number of current manual backups/maximum number of backups allowed. By default, you can have a maximum of 50 manual backups saved.

" - }, - "Maximum":{ - "shape":"Integer", - "documentation":"

The maximum allowed value.

" - }, - "Used":{ - "shape":"Integer", - "documentation":"

The current usage, such as the current number of servers that are associated with the account.

" - } - }, - "documentation":"

Stores account attributes.

" - }, - "AccountAttributes":{ - "type":"list", - "member":{"shape":"AccountAttribute"}, - "documentation":"

A list of individual account attributes.

" - }, - "AssociateNodeRequest":{ - "type":"structure", - "required":[ - "ServerName", - "NodeName", - "EngineAttributes" - ], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server with which to associate the node.

" - }, - "NodeName":{ - "shape":"NodeName", - "documentation":"

The name of the node.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

Engine attributes used for associating the node.

Attributes accepted in a AssociateNode request for Chef

  • CHEF_ORGANIZATION: The Chef organization with which the node is associated. By default only one organization named default can exist.

  • CHEF_NODE_PUBLIC_KEY: A PEM-formatted public key. This key is required for the chef-client agent to access the Chef API.

Attributes accepted in a AssociateNode request for Puppet

  • PUPPET_NODE_CSR: A PEM-formatted certificate-signing request (CSR) that is created by the node.

" - } - } - }, - "AssociateNodeResponse":{ - "type":"structure", - "members":{ - "NodeAssociationStatusToken":{ - "shape":"NodeAssociationStatusToken", - "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the association request.

" - } - } - }, - "AttributeName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[A-Z][A-Z0-9_]*" - }, - "AttributeValue":{"type":"string"}, - "Backup":{ - "type":"structure", - "members":{ - "BackupArn":{ - "shape":"String", - "documentation":"

The ARN of the backup.

" - }, - "BackupId":{ - "shape":"BackupId", - "documentation":"

The generated ID of the backup. Example: myServerName-yyyyMMddHHmmssSSS

" - }, - "BackupType":{ - "shape":"BackupType", - "documentation":"

The backup type. Valid values are automated or manual.

" - }, - "CreatedAt":{ - "shape":"Timestamp", - "documentation":"

The time stamp when the backup was created in the database. Example: 2016-07-29T13:38:47.520Z

" - }, - "Description":{ - "shape":"String", - "documentation":"

A user-provided description for a manual backup. This field is empty for automated backups.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The engine type that is obtained from the server when the backup is created.

" - }, - "EngineModel":{ - "shape":"String", - "documentation":"

The engine model that is obtained from the server when the backup is created.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version that is obtained from the server when the backup is created.

" - }, - "InstanceProfileArn":{ - "shape":"String", - "documentation":"

The EC2 instance profile ARN that is obtained from the server when the backup is created. Because this value is stored, you are not required to provide the InstanceProfileArn again if you restore a backup.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type that is obtained from the server when the backup is created.

" - }, - "KeyPair":{ - "shape":"String", - "documentation":"

The key pair that is obtained from the server when the backup is created.

" - }, - "PreferredBackupWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The preferred backup period that is obtained from the server when the backup is created.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The preferred maintenance period that is obtained from the server when the backup is created.

" - }, - "S3DataSize":{ - "shape":"Integer", - "documentation":"

This field is deprecated and is no longer used.

", - "deprecated":true - }, - "S3DataUrl":{ - "shape":"String", - "documentation":"

This field is deprecated and is no longer used.

", - "deprecated":true - }, - "S3LogUrl":{ - "shape":"String", - "documentation":"

The Amazon S3 URL of the backup's log file.

" - }, - "SecurityGroupIds":{ - "shape":"Strings", - "documentation":"

The security group IDs that are obtained from the server when the backup is created.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server from which the backup was made.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

The service role ARN that is obtained from the server when the backup is created.

" - }, - "Status":{ - "shape":"BackupStatus", - "documentation":"

The status of a backup while in progress.

" - }, - "StatusDescription":{ - "shape":"String", - "documentation":"

An informational message about backup status.

" - }, - "SubnetIds":{ - "shape":"Strings", - "documentation":"

The subnet IDs that are obtained from the server when the backup is created.

" - }, - "ToolsVersion":{ - "shape":"String", - "documentation":"

The version of AWS OpsWorks CM-specific tools that is obtained from the server when the backup is created.

" - }, - "UserArn":{ - "shape":"String", - "documentation":"

The IAM user ARN of the requester for manual backups. This field is empty for automated backups.

" - } - }, - "documentation":"

Describes a single backup.

" - }, - "BackupId":{ - "type":"string", - "max":79 - }, - "BackupRetentionCountDefinition":{ - "type":"integer", - "min":1 - }, - "BackupStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "OK", - "FAILED", - "DELETING" - ] - }, - "BackupType":{ - "type":"string", - "enum":[ - "AUTOMATED", - "MANUAL" - ] - }, - "Backups":{ - "type":"list", - "member":{"shape":"Backup"} - }, - "Boolean":{"type":"boolean"}, - "CreateBackupRequest":{ - "type":"structure", - "required":["ServerName"], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server that you want to back up.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A user-defined description of the backup.

" - } - } - }, - "CreateBackupResponse":{ - "type":"structure", - "members":{ - "Backup":{ - "shape":"Backup", - "documentation":"

Backup created by request.

" - } - } - }, - "CreateServerRequest":{ - "type":"structure", - "required":[ - "ServerName", - "InstanceProfileArn", - "InstanceType", - "ServiceRoleArn" - ], - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true.

" - }, - "DisableAutomatedBackup":{ - "shape":"Boolean", - "documentation":"

Enable or disable scheduled backups. Valid values are true or false. The default value is true.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The configuration management engine to use. Valid values include Chef and Puppet.

" - }, - "EngineModel":{ - "shape":"String", - "documentation":"

The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

Optional engine attributes on a specified server.

Attributes accepted in a Chef createServer request:

  • CHEF_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. 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.

Attributes accepted in a Puppet createServer request:

  • PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters.

" - }, - "BackupRetentionCount":{ - "shape":"BackupRetentionCountDefinition", - "documentation":"

The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. The default value is 1.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server. The server name must be unique within your AWS account, within each region. Server names must start with a letter; then letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters.

" - }, - "InstanceProfileArn":{ - "shape":"InstanceProfileArn", - "documentation":"

The ARN of the instance profile that your Amazon EC2 instances use. Although the AWS OpsWorks console typically creates the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the instance profile you need.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The Amazon EC2 instance type to use. For example, m4.large. Recommended instance types include t2.medium and greater, m4.*, or c4.xlarge and greater.

" - }, - "KeyPair":{ - "shape":"KeyPair", - "documentation":"

The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The start time for a one-hour period each week during which AWS OpsWorks CM performs maintenance on the instance. Valid values must be specified in the following format: DDD:HH:MM. The specified time is in coordinated universal time (UTC). The default value is a random one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition for more information.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" - }, - "PreferredBackupWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats:

  • HH:MM for daily backups

  • DDD:HH:MM for weekly backups

The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

Example: 08:00, which represents a daily start time of 08:00 UTC.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" - }, - "SecurityGroupIds":{ - "shape":"Strings", - "documentation":"

A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups must be within the VPC that is specified by SubnetIds.

If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to 0.0.0.0/0 (everyone).

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRoleArn", - "documentation":"

The service role that the AWS OpsWorks CM service backend uses to work with your account. Although the AWS OpsWorks management console typically creates the service role for you, if you are using the AWS CLI or API commands, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the service role and instance profile that you need.

" - }, - "SubnetIds":{ - "shape":"Strings", - "documentation":"

The IDs of subnets in which to launch the server EC2 instance.

Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled.

EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled.

For more information about supported Amazon EC2 platforms, see Supported Platforms.

" - }, - "BackupId":{ - "shape":"BackupId", - "documentation":"

If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.

" - } - } - }, - "CreateServerResponse":{ - "type":"structure", - "members":{ - "Server":{ - "shape":"Server", - "documentation":"

The server that is created by the request.

" - } - } - }, - "DeleteBackupRequest":{ - "type":"structure", - "required":["BackupId"], - "members":{ - "BackupId":{ - "shape":"BackupId", - "documentation":"

The ID of the backup to delete. Run the DescribeBackups command to get a list of backup IDs. Backup IDs are in the format ServerName-yyyyMMddHHmmssSSS.

" - } - } - }, - "DeleteBackupResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteServerRequest":{ - "type":"structure", - "required":["ServerName"], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The ID of the server to delete.

" - } - } - }, - "DeleteServerResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeAccountAttributesRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeAccountAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AccountAttributes", - "documentation":"

The attributes that are currently set for the account.

" - } - } - }, - "DescribeBackupsRequest":{ - "type":"structure", - "members":{ - "BackupId":{ - "shape":"BackupId", - "documentation":"

Describes a single backup.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

Returns backups for the server with the specified ServerName.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeBackups again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "DescribeBackupsResponse":{ - "type":"structure", - "members":{ - "Backups":{ - "shape":"Backups", - "documentation":"

Contains the response to a DescribeBackups request.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeBackups again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - } - } - }, - "DescribeEventsRequest":{ - "type":"structure", - "required":["ServerName"], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server for which you want to view events.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeEvents again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "DescribeEventsResponse":{ - "type":"structure", - "members":{ - "ServerEvents":{ - "shape":"ServerEvents", - "documentation":"

Contains the response to a DescribeEvents request.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeEvents again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - } - } - }, - "DescribeNodeAssociationStatusRequest":{ - "type":"structure", - "required":[ - "NodeAssociationStatusToken", - "ServerName" - ], - "members":{ - "NodeAssociationStatusToken":{ - "shape":"NodeAssociationStatusToken", - "documentation":"

The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server from which to disassociate the node.

" - } - } - }, - "DescribeNodeAssociationStatusResponse":{ - "type":"structure", - "members":{ - "NodeAssociationStatus":{ - "shape":"NodeAssociationStatus", - "documentation":"

The status of the association or disassociation request.

Possible values:

  • SUCCESS: The association or disassociation succeeded.

  • FAILED: The association or disassociation failed.

  • IN_PROGRESS: The association or disassociation is still in progress.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

Attributes specific to the node association. In Puppet, the attibute PUPPET_NODE_CERT contains the signed certificate (the result of the CSR).

" - } - } - }, - "DescribeServersRequest":{ - "type":"structure", - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

Describes the server with the specified ServerName.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeServers again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" - } - } - }, - "DescribeServersResponse":{ - "type":"structure", - "members":{ - "Servers":{ - "shape":"Servers", - "documentation":"

Contains the response to a DescribeServers request.

For Puppet Server: DescribeServersResponse$Servers$EngineAttributes contains PUPPET_API_CA_CERT. This is the PEM-encoded CA certificate that is used by the Puppet API over TCP port number 8140. The CA certificate is also used to sign node certificates.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeServers again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" - } - } - }, - "DisassociateNodeRequest":{ - "type":"structure", - "required":[ - "ServerName", - "NodeName" - ], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server from which to disassociate the node.

" - }, - "NodeName":{ - "shape":"NodeName", - "documentation":"

The name of the client node.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

Engine attributes that are used for disassociating the node. No attributes are required for Puppet.

Attributes required in a DisassociateNode request for Chef

  • CHEF_ORGANIZATION: The Chef organization with which the node was associated. By default only one organization named default can exist.

" - } - } - }, - "DisassociateNodeResponse":{ - "type":"structure", - "members":{ - "NodeAssociationStatusToken":{ - "shape":"NodeAssociationStatusToken", - "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the disassociation request.

" - } - } - }, - "EngineAttribute":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"EngineAttributeName", - "documentation":"

The name of the engine attribute.

" - }, - "Value":{ - "shape":"EngineAttributeValue", - "documentation":"

The value of the engine attribute.

" - } - }, - "documentation":"

A name and value pair that is specific to the engine of the server.

" - }, - "EngineAttributeName":{"type":"string"}, - "EngineAttributeValue":{ - "type":"string", - "sensitive":true - }, - "EngineAttributes":{ - "type":"list", - "member":{"shape":"EngineAttribute"} - }, - "InstanceProfileArn":{ - "type":"string", - "pattern":"arn:aws:iam::[0-9]{12}:instance-profile/.*" - }, - "Integer":{"type":"integer"}, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message that can contain more detail about a nextToken failure.

" - } - }, - "documentation":"

This occurs when the provided nextToken is not valid.

", - "exception":true - }, - "InvalidStateException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message that provides more detail if a resource is in a state that is not valid for performing a specified action.

" - } - }, - "documentation":"

The resource is in a state that does not allow you to perform a specified action.

", - "exception":true - }, - "KeyPair":{"type":"string"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message that the maximum allowed number of servers or backups has been exceeded.

" - } - }, - "documentation":"

The limit of servers or backups has been reached.

", - "exception":true - }, - "MaintenanceStatus":{ - "type":"string", - "enum":[ - "SUCCESS", - "FAILED" - ] - }, - "MaxResults":{ - "type":"integer", - "min":1 - }, - "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", - "IN_PROGRESS" - ] - }, - "NodeAssociationStatusToken":{"type":"string"}, - "NodeName":{ - "type":"string", - "documentation":"

The node name that is used by chef-client or puppet-agentfor a new node. We recommend to use a unique FQDN as hostname. For more information, see the Chef or Puppet documentation.

", - "pattern":"^[\\-\\p{Alnum}_:.]+$" - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message in response to a CreateServer request that a resource cannot be created because it already exists.

" - } - }, - "documentation":"

The requested resource cannot be created because it already exists.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message that can contain more detail about problems locating or accessing a resource.

" - } - }, - "documentation":"

The requested resource does not exist, or access was denied.

", - "exception":true - }, - "RestoreServerRequest":{ - "type":"structure", - "required":[ - "BackupId", - "ServerName" - ], - "members":{ - "BackupId":{ - "shape":"BackupId", - "documentation":"

The ID of the backup that you want to use to restore a server.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server that you want to restore.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The type of 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 the administrator no longer has the SSH key.

" - } - } - }, - "RestoreServerResponse":{ - "type":"structure", - "members":{ - } - }, - "Server":{ - "type":"structure", - "members":{ - "AssociatePublicIpAddress":{ - "shape":"Boolean", - "documentation":"

Associate a public IP address with a server that you are launching.

" - }, - "BackupRetentionCount":{ - "shape":"Integer", - "documentation":"

The number of automated backups to keep.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server.

" - }, - "CreatedAt":{ - "shape":"Timestamp", - "documentation":"

Time stamp of server creation. Example 2016-07-29T13:38:47.520Z

" - }, - "CloudFormationStackArn":{ - "shape":"String", - "documentation":"

The ARN of the CloudFormation stack that was used to create the server.

" - }, - "DisableAutomatedBackup":{ - "shape":"Boolean", - "documentation":"

Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount.

" - }, - "Endpoint":{ - "shape":"String", - "documentation":"

A DNS name that can be used to access the engine. Example: myserver-asdfghjkl.us-east-1.opsworks.io

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The engine type of the server. Valid values in this release include Chef and Puppet.

" - }, - "EngineModel":{ - "shape":"String", - "documentation":"

The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

The response of a createServer() request returns the master credential to access the server in EngineAttributes. These credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer().

Attributes returned in a createServer response for Chef

  • CHEF_PIVOTAL_KEY: A base64-encoded RSA private key that is generated by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.

  • CHEF_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Chef starter kit, which includes a README, a configuration file, and the required RSA private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents. From this directory, you can run Knife commands.

Attributes returned in a createServer response for Puppet

  • PUPPET_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Puppet starter kit, including a README and a required private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents.

  • PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version of the server. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017.

" - }, - "InstanceProfileArn":{ - "shape":"String", - "documentation":"

The instance profile ARN of the server.

" - }, - "InstanceType":{ - "shape":"String", - "documentation":"

The instance type for the server, as specified in the CloudFormation stack. This might not be the same instance type that is shown in the EC2 console.

" - }, - "KeyPair":{ - "shape":"String", - "documentation":"

The key pair associated with the server.

" - }, - "MaintenanceStatus":{ - "shape":"MaintenanceStatus", - "documentation":"

The status of the most recent server maintenance run. Shows SUCCESS or FAILED.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The preferred maintenance period specified for the server.

" - }, - "PreferredBackupWindow":{ - "shape":"TimeWindowDefinition", - "documentation":"

The preferred backup period specified for the server.

" - }, - "SecurityGroupIds":{ - "shape":"Strings", - "documentation":"

The security group IDs for the server, as specified in the CloudFormation stack. These might not be the same security groups that are shown in the EC2 console.

" - }, - "ServiceRoleArn":{ - "shape":"String", - "documentation":"

The service role ARN used to create the server.

" - }, - "Status":{ - "shape":"ServerStatus", - "documentation":"

The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, as well as the server's health state.

" - }, - "StatusReason":{ - "shape":"String", - "documentation":"

Depending on the server status, this field has either a human-readable message (such as a create or backup error), or an escaped block of JSON (used for health check results).

" - }, - "SubnetIds":{ - "shape":"Strings", - "documentation":"

The subnet IDs specified in a CreateServer request.

" - }, - "ServerArn":{ - "shape":"String", - "documentation":"

The ARN of the server.

" - } - }, - "documentation":"

Describes a configuration management server.

" - }, - "ServerEvent":{ - "type":"structure", - "members":{ - "CreatedAt":{ - "shape":"Timestamp", - "documentation":"

The time when the event occurred.

" - }, - "ServerName":{ - "shape":"String", - "documentation":"

The name of the server on or for which the event occurred.

" - }, - "Message":{ - "shape":"String", - "documentation":"

A human-readable informational or status message.

" - }, - "LogUrl":{ - "shape":"String", - "documentation":"

The Amazon S3 URL of the event's log file.

" - } - }, - "documentation":"

An event that is related to the server, such as the start of maintenance or backup.

" - }, - "ServerEvents":{ - "type":"list", - "member":{"shape":"ServerEvent"} - }, - "ServerName":{ - "type":"string", - "max":40, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" - }, - "ServerStatus":{ - "type":"string", - "enum":[ - "BACKING_UP", - "CONNECTION_LOST", - "CREATING", - "DELETING", - "MODIFYING", - "FAILED", - "HEALTHY", - "RUNNING", - "RESTORING", - "SETUP", - "UNDER_MAINTENANCE", - "UNHEALTHY", - "TERMINATED" - ] - }, - "Servers":{ - "type":"list", - "member":{"shape":"Server"} - }, - "ServiceRoleArn":{ - "type":"string", - "pattern":"arn:aws:iam::[0-9]{12}:role/.*" - }, - "StartMaintenanceRequest":{ - "type":"structure", - "required":["ServerName"], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server on which to run maintenance.

" - }, - "EngineAttributes":{ - "shape":"EngineAttributes", - "documentation":"

Engine attributes that are specific to the server on which you want to run maintenance.

" - } - } - }, - "StartMaintenanceResponse":{ - "type":"structure", - "members":{ - "Server":{ - "shape":"Server", - "documentation":"

Contains the response to a StartMaintenance request.

" - } - } - }, - "String":{"type":"string"}, - "Strings":{ - "type":"list", - "member":{"shape":"String"} - }, - "TimeWindowDefinition":{ - "type":"string", - "documentation":"

DDD:HH:MM (weekly start time) or HH:MM (daily start time).

Time windows always use coordinated universal time (UTC). Valid strings for day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, or Sun.

", - "pattern":"^((Mon|Tue|Wed|Thu|Fri|Sat|Sun):)?([0-1][0-9]|2[0-3]):[0-5][0-9]$" - }, - "Timestamp":{"type":"timestamp"}, - "UpdateServerEngineAttributesRequest":{ - "type":"structure", - "required":[ - "ServerName", - "AttributeName" - ], - "members":{ - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server to update.

" - }, - "AttributeName":{ - "shape":"AttributeName", - "documentation":"

The name of the engine attribute to update.

" - }, - "AttributeValue":{ - "shape":"AttributeValue", - "documentation":"

The value to set for the attribute.

" - } - } - }, - "UpdateServerEngineAttributesResponse":{ - "type":"structure", - "members":{ - "Server":{ - "shape":"Server", - "documentation":"

Contains the response to an UpdateServerEngineAttributes request.

" - } - } - }, - "UpdateServerRequest":{ - "type":"structure", - "required":["ServerName"], - "members":{ - "DisableAutomatedBackup":{ - "shape":"Boolean", - "documentation":"

Setting DisableAutomatedBackup to true disables automated or scheduled backups. Automated backups are enabled by default.

" - }, - "BackupRetentionCount":{ - "shape":"Integer", - "documentation":"

Sets the number of automated backups that you want to keep.

" - }, - "ServerName":{ - "shape":"ServerName", - "documentation":"

The name of the server to update.

" - }, - "PreferredMaintenanceWindow":{"shape":"TimeWindowDefinition"}, - "PreferredBackupWindow":{"shape":"TimeWindowDefinition"} - } - }, - "UpdateServerResponse":{ - "type":"structure", - "members":{ - "Server":{ - "shape":"Server", - "documentation":"

Contains the response to a UpdateServer request.

" - } - } - }, - "ValidationException":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

Error or informational message that can contain more detail about a validation failure.

" - } - }, - "documentation":"

One or more of the provided request parameters are not valid.

", - "exception":true - } - }, - "documentation":"AWS OpsWorks CM

AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers.

Glossary of terms

  • Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include Chef and Puppet.

  • Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted.

  • Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Endpoints

AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created.

  • opsworks-cm.us-east-1.amazonaws.com

  • opsworks-cm.us-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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/waiters-2.json deleted file mode 100644 index f37dd040..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/opsworkscm/2016-11-01/waiters-2.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 2, - "waiters": { - "NodeAssociated": { - "delay": 15, - "maxAttempts": 15, - "operation": "DescribeNodeAssociationStatus", - "description": "Wait until node is associated or disassociated.", - "acceptors": [ - { - "expected": "SUCCESS", - "state": "success", - "matcher": "path", - "argument": "NodeAssociationStatus" - }, - { - "expected": "FAILED", - "state": "failure", - "matcher": "path", - "argument": "NodeAssociationStatus" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/paginators-1.json deleted file mode 100644 index 1c8f978b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/paginators-1.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "pagination": { - "ListAccounts": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Accounts" - }, - "ListAccountsForParent": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Accounts" - }, - "ListChildren": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Children" - }, - "ListCreateAccountStatus": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "CreateAccountStatuses" - }, - "ListHandshakesForAccount": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Handshakes" - }, - "ListHandshakesForOrganization": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Handshakes" - }, - "ListOrganizationalUnitsForParent": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "OrganizationalUnits" - }, - "ListParents": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Parents" - }, - "ListPolicies": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Policies" - }, - "ListPoliciesForTarget": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Policies" - }, - "ListRoots": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Roots" - }, - "ListTargetsForPolicy": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Targets" - }, - "ListAWSServiceAccessForOrganization": { - "result_key": "EnabledServicePrincipals", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/service-2.json deleted file mode 100644 index 9adbd76f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/organizations/2016-11-28/service-2.json +++ /dev/null @@ -1,2791 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-28", - "endpointPrefix":"organizations", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Organizations", - "serviceFullName":"AWS Organizations", - "serviceId":"Organizations", - "signatureVersion":"v4", - "targetPrefix":"AWSOrganizationsV20161128", - "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"}, - {"shape":"AccessDeniedForDependencyException"} - ], - "documentation":"

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

    The user who calls the API for an invitation to join must have the organizations:AcceptHandshake permission. If you enabled all features in the organization, then the user must also have the iam:CreateServiceLinkedRole permission so that Organizations can create the required service-linked role named OrgsServiceLinkedRoleName. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that it 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 (OU), or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, 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.

The user who calls the API for an invitation to join must have the organizations:CreateAccount permission. If you enabled all features in the organization, then the user must also have the iam:CreateServiceLinkedRole permission so that Organizations can create the required service-linked role named OrgsServiceLinkedRoleName. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

The user in the master account who calls this API must also have the iam:CreateRole permission because AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants users in the master account administrator permissions in the new member account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

This operation can be called only from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the End User Licence Agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, then contact AWS Customer Support.

  • Because CreateAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account.

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.

" - }, - "CreateOrganization":{ - "name":"CreateOrganization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOrganizationRequest"}, - "output":{"shape":"CreateOrganizationResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AlreadyInOrganizationException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"AccessDeniedForDependencyException"} - ], - "documentation":"

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", 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, organizational units (OUs), and policies.

" - }, - "DeleteOrganizationalUnit":{ - "name":"DeleteOrganizationalUnit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOrganizationalUnitRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidInputException"}, - {"shape":"OrganizationalUnitNotEmptyException"}, - {"shape":"OrganizationalUnitNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes an organizational unit (OU) from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

" - }, - "DeletePolicy":{ - "name":"DeletePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePolicyRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyInUseException"}, - {"shape":"PolicyNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

This operation can be called only from the organization's master account.

" - }, - "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.

Even if a policy type is shown as available in the organization, it can be disabled separately at the root level with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root.

" - }, - "DescribeOrganizationalUnit":{ - "name":"DescribeOrganizationalUnit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrganizationalUnitRequest"}, - "output":{"shape":"DescribeOrganizationalUnitResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"InvalidInputException"}, - {"shape":"OrganizationalUnitNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Retrieves information about an organizational unit (OU).

This operation can be called only from the organization's master account.

" - }, - "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 (OU), or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, 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.

" - }, - "DisableAWSServiceAccess":{ - "name":"DisableAWSServiceAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableAWSServiceAccessRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you disable integration, the specified service no longer can create a service-linked role in new accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from AWS Organizations.

We recommend that you disable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform operations in your organization's accounts unless the operations are explicitly permitted by the IAM policies that are attached to your roles.

For more information about integrating other services with AWS Organizations, including the list of services that work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" - }, - "DisablePolicyType":{ - "name":"DisablePolicyType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisablePolicyTypeRequest"}, - "output":{"shape":"DisablePolicyTypeResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyTypeNotEnabledException"}, - {"shape":"RootNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Disables an organizational control policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

This operation can be called only from the organization's master account.

If you disable a policy type for a root, it still shows as enabled for the organization if all features are enabled in that organization. Use ListRoots to see the status of policy types for a specified root. Use DescribeOrganization to see the status of policy types in the organization.

" - }, - "EnableAWSServiceAccess":{ - "name":"EnableAWSServiceAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableAWSServiceAccessRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you enable integration, you allow the specified service to create a service-linked role in all the accounts in your organization. This allows the service to perform operations on your behalf in your organization and its accounts.

We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account and only if the organization has enabled all features.

" - }, - "EnableAllFeatures":{ - "name":"EnableAllFeatures", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableAllFeaturesRequest"}, - "output":{"shape":"EnableAllFeaturesResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"HandshakeConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

" - }, - "EnablePolicyType":{ - "name":"EnablePolicyType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnablePolicyTypeRequest"}, - "output":{"shape":"EnablePolicyTypeResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"PolicyTypeAlreadyEnabledException"}, - {"shape":"RootNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"PolicyTypeNotAvailableForOrganizationException"} - ], - "documentation":"

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

This operation can be called only from the organization's master account.

You can enable a policy type in a root only if that policy type is available in the organization. Use DescribeOrganization to view the status of available policy types in the organization.

To view the status of policy type in a root, use ListRoots.

" - }, - "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 seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, then you can only invite other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS, or any other AWS seller. For more information, see Consolidated Billing in India.

  • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, then contact AWS Customer Support.

This operation can be called only from the organization's master account.

" - }, - "LeaveOrganization":{ - "name":"LeaveOrganization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AccountNotFoundException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"MasterCannotLeaveOrganizationException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do, including preventing them from successfully calling LeaveOrganization and leaving the organization.

  • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" - }, - "ListAWSServiceAccessForOrganization":{ - "name":"ListAWSServiceAccessForOrganization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAWSServiceAccessForOrganizationRequest"}, - "output":{"shape":"ListAWSServiceAccessForOrganizationResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ConstraintViolationException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" - }, - "ListAccounts":{ - "name":"ListAccounts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAccountsRequest"}, - "output":{"shape":"ListAccountsResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "ListChildren":{ - "name":"ListChildren", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListChildrenRequest"}, - "output":{"shape":"ListChildrenResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"InvalidInputException"}, - {"shape":"ParentNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called 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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "ListOrganizationalUnitsForParent":{ - "name":"ListOrganizationalUnitsForParent", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOrganizationalUnitsForParentRequest"}, - "output":{"shape":"ListOrganizationalUnitsForParentResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"InvalidInputException"}, - {"shape":"ParentNotFoundException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists the organizational units (OUs) in a parent organizational unit or root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "ListParents":{ - "name":"ListParents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListParentsRequest"}, - "output":{"shape":"ListParentsResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ChildNotFoundException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "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.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "ListRoots":{ - "name":"ListRoots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRootsRequest"}, - "output":{"shape":"ListRootsResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"InvalidInputException"}, - {"shape":"ServiceException"}, - {"shape":"TooManyRequestsException"} - ], - "documentation":"

Lists the roots that are defined in the current organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

Policy types can be enabled and disabled in roots. This is distinct from whether they are available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

" - }, - "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, organizaitonal units (OUs), and accounts to which the specified policy is attached.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account.

" - }, - "MoveAccount":{ - "name":"MoveAccount", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"MoveAccountRequest"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InvalidInputException"}, - {"shape":"SourceParentNotFoundException"}, - {"shape":"DestinationParentNotFoundException"}, - {"shape":"DuplicateAccountException"}, - {"shape":"AccountNotFoundException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"ConcurrentModificationException"}, - {"shape":"AWSOrganizationsNotInUseException"}, - {"shape":"ServiceException"} - ], - "documentation":"

Moves an account from its current source parent root or organizational unit (OU) to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

" - }, - "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 an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the End User License Agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account is not attached to an organization. To remove an account that does not yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

" - }, - "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 - }, - "AccessDeniedForDependencyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "Reason":{"shape":"AccessDeniedForDependencyExceptionReason"} - }, - "documentation":"

The operation you attempted requires you to have the iam:CreateServiceLinkedRole so that Organizations can create the required service-linked role. You do not have that permission.

", - "exception":true - }, - "AccessDeniedForDependencyExceptionReason":{ - "type":"string", - "enum":["ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE"] - }, - "Account":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"AccountId", - "documentation":"

The unique identifier (ID) of the account.

The regex pattern for an account ID string requires exactly 12 digits.

" - }, - "Arn":{ - "shape":"AccountArn", - "documentation":"

The Amazon Resource Name (ARN) of the account.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" - }, - "Email":{ - "shape":"Email", - "documentation":"

The email address associated with the AWS account.

The regex pattern for this parameter is a string of characters that represents a standard Internet email address.

" - }, - "Name":{ - "shape":"AccountName", - "documentation":"

The friendly name of the account.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" - }, - "Status":{ - "shape":"AccountStatus", - "documentation":"

The status of the account in the organization.

" - }, - "JoinedMethod":{ - "shape":"AccountJoinedMethod", - "documentation":"

The method by which the account joined the organization.

" - }, - "JoinedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date the account became a part of the organization.

" - } - }, - "documentation":"

Contains information about an AWS account that is a member of an organization.

" - }, - "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", - "ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE" - ] - }, - "AlreadyInOrganizationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

This account is already a member of an organization. An account can belong to only one organization at a time.

", - "exception":true - }, - "AttachPolicyRequest":{ - "type":"structure", - "required":[ - "PolicyId", - "TargetId" - ], - "members":{ - "PolicyId":{ - "shape":"PolicyId", - "documentation":"

The unique identifier (ID) of the policy that you want to attach to the target. You can get the ID for the policy by calling the ListPolicies operation.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 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:

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. 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.

    If you get receive this exception when running a command immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Customer Support.

  • 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.

  • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports consolidated billing features only cannot perform this operation.

  • 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 AWS Customer Agreement. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that does not yet have enough information to exist as a stand-alone account. This account requires you to first complete phone verification. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • 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. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • 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. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

  • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide contact a valid address and phone number for the master account. Then try the operation again.

", - "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", - "MASTER_ACCOUNT_MISSING_CONTACT_INFO", - "ORGANIZATION_NOT_IN_ALL_FEATURES_MODE" - ] - }, - "CreateAccountFailureReason":{ - "type":"string", - "enum":[ - "ACCOUNT_LIMIT_EXCEEDED", - "EMAIL_ALREADY_EXISTS", - "INVALID_ADDRESS", - "INVALID_EMAIL", - "CONCURRENT_ACCOUNT_MODIFICATION", - "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. You must use a valid email address to complete account creation. You cannot access the root user of the account or remove an account that was created with an invalid email address.

" - }, - "AccountName":{ - "shape":"AccountName", - "documentation":"

The friendly name of the member account.

" - }, - "RoleName":{ - "shape":"RoleName", - "documentation":"

(Optional)

The name of an IAM role that 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.

" - } - } - }, - "DisableAWSServiceAccessRequest":{ - "type":"structure", - "required":["ServicePrincipal"], - "members":{ - "ServicePrincipal":{ - "shape":"ServicePrincipal", - "documentation":"

The service principal name of the AWS service for which you want to disable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com.

" - } - } - }, - "DisablePolicyTypeRequest":{ - "type":"structure", - "required":[ - "RootId", - "PolicyType" - ], - "members":{ - "RootId":{ - "shape":"RootId", - "documentation":"

The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 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 - }, - "EnableAWSServiceAccessRequest":{ - "type":"structure", - "required":["ServicePrincipal"], - "members":{ - "ServicePrincipal":{ - "shape":"ServicePrincipal", - "documentation":"

The service principal name of the AWS service for which you want to enable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com.

" - } - } - }, - "EnableAllFeaturesRequest":{ - "type":"structure", - "members":{ - } - }, - "EnableAllFeaturesResponse":{ - "type":"structure", - "members":{ - "Handshake":{ - "shape":"Handshake", - "documentation":"

A structure that contains details about the handshake created to support this request to enable all features in the organization.

" - } - } - }, - "EnablePolicyTypeRequest":{ - "type":"structure", - "required":[ - "RootId", - "PolicyType" - ], - "members":{ - "RootId":{ - "shape":"RootId", - "documentation":"

The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 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.

" - } - } - }, - "EnabledServicePrincipal":{ - "type":"structure", - "members":{ - "ServicePrincipal":{ - "shape":"ServicePrincipal", - "documentation":"

The name of the service principal. This is typically in the form of a URL, such as: servicename.amazonaws.com.

" - }, - "DateEnabled":{ - "shape":"Timestamp", - "documentation":"

The date that the service principal was enabled for integration with AWS Organizations.

" - } - }, - "documentation":"

A structure that contains details of a service principal that is enabled to integrate with AWS Organizations.

" - }, - "EnabledServicePrincipals":{ - "type":"list", - "member":{"shape":"EnabledServicePrincipal"} - }, - "ExceptionMessage":{"type":"string"}, - "ExceptionType":{"type":"string"}, - "FinalizingOrganizationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

AWS Organizations could not perform the operation because your organization has not finished initializing. This can take up to an hour. Try again later. If after one hour you continue to receive this error, 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. The following handshake types are supported:

  • INVITE: This type of handshake represents a request to join an organization. It is always sent from the master account to only non-member accounts.

  • ENABLE_ALL_FEATURES: This type of handshake represents a request to enable all features in an organization. It is always sent from the master account to only invited member accounts. Created accounts do not receive this because those accounts were created by the organization's master account and approval is inferred.

  • APPROVE_ALL_FEATURES: This type of handshake is sent from the Organizations service when all member accounts have approved the ENABLE_ALL_FEATURES invitation. It is sent only to the master account and signals the master that it can finalize the process to enable all features.

" - }, - "Resources":{ - "shape":"HandshakeResources", - "documentation":"

Additional information that is needed to process the handshake.

" - } - }, - "documentation":"

Contains information that must be exchanged to securely establish a relationship between two accounts (an originator and a recipient). For example, when a master account (the originator) invites another account (the recipient) to join its organization, the two accounts exchange information as a series of handshake requests and responses.

Note: Handshakes that are CANCELED, ACCEPTED, or DECLINED show up in lists for only 30 days after entering that state After that they are deleted.

" - }, - "HandshakeAlreadyInStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified handshake is already in the requested state. For example, you can't accept a handshake that was already accepted.

", - "exception":true - }, - "HandshakeArn":{ - "type":"string", - "pattern":"^arn:aws:organizations::\\d{12}:handshake\\/o-[a-z0-9]{10,32}\\/[a-z_]{1,32}\\/h-[0-9a-z]{8,32}" - }, - "HandshakeConstraintViolationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} - }, - "documentation":"

The requested operation would violate the constraint identified in the reason code.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note: deleted and closed accounts still count toward your limit.

    If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Customer Support.

  • 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", - "required":[ - "Id", - "Type" - ], - "members":{ - "Id":{ - "shape":"HandshakePartyId", - "documentation":"

The unique identifier (ID) for the party.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" - }, - "Type":{ - "shape":"HandshakePartyType", - "documentation":"

The type of party.

" - } - }, - "documentation":"

Identifies a participant in a handshake.

" - }, - "HandshakePartyId":{ - "type":"string", - "max":64, - "min":1, - "sensitive":true - }, - "HandshakePartyType":{ - "type":"string", - "enum":[ - "ACCOUNT", - "ORGANIZATION", - "EMAIL" - ] - }, - "HandshakeResource":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"HandshakeResourceValue", - "documentation":"

The information that is passed to the other party in the handshake. The format of the value string must match the requirements of the specified type.

" - }, - "Type":{ - "shape":"HandshakeResourceType", - "documentation":"

The type of information being passed, specifying how the value is to be interpreted by the other party:

  • ACCOUNT - Specifies an AWS account ID number.

  • ORGANIZATION - Specifies an organization ID number.

  • EMAIL - Specifies the email address that is associated with the account that receives the handshake.

  • OWNER_EMAIL - Specifies the email address associated with the master account. Included as information about an organization.

  • OWNER_NAME - Specifies the name associated with the master account. Included as information about an organization.

  • NOTES - Additional text provided by the handshake initiator and intended for the recipient to read.

" - }, - "Resources":{ - "shape":"HandshakeResources", - "documentation":"

When needed, contains an additional array of HandshakeResource objects.

" - } - }, - "documentation":"

Contains additional data that is needed to process a handshake.

" - }, - "HandshakeResourceType":{ - "type":"string", - "enum":[ - "ACCOUNT", - "ORGANIZATION", - "ORGANIZATION_FEATURE_SET", - "EMAIL", - "MASTER_EMAIL", - "MASTER_NAME", - "NOTES", - "PARENT_HANDSHAKE" - ] - }, - "HandshakeResourceValue":{ - "type":"string", - "sensitive":true - }, - "HandshakeResources":{ - "type":"list", - "member":{"shape":"HandshakeResource"} - }, - "HandshakeState":{ - "type":"string", - "enum":[ - "REQUESTED", - "OPEN", - "CANCELED", - "ACCEPTED", - "DECLINED", - "EXPIRED" - ] - }, - "Handshakes":{ - "type":"list", - "member":{"shape":"Handshake"} - }, - "IAMUserAccessToBilling":{ - "type":"string", - "enum":[ - "ALLOW", - "DENY" - ] - }, - "InvalidHandshakeTransitionException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

You can't perform the operation on the handshake in its current state. For example, you can't cancel a handshake that was already accepted, or accept a handshake that was already declined.

", - "exception":true - }, - "InvalidInputException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"}, - "Reason":{"shape":"InvalidInputExceptionReason"} - }, - "documentation":"

The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit:

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and cannot be modified.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • 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.

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INVALID_ROLE_NAME: You provided a role name that is not valid. A role name can’t begin with the reserved prefix 'AWSServiceRoleFor'.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid ARN for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", - "exception":true - }, - "InvalidInputExceptionReason":{ - "type":"string", - "enum":[ - "INVALID_PARTY_TYPE_TARGET", - "INVALID_SYNTAX_ORGANIZATION_ARN", - "INVALID_SYNTAX_POLICY_ID", - "INVALID_ENUM", - "INVALID_LIST_MEMBER", - "MAX_LENGTH_EXCEEDED", - "MAX_VALUE_EXCEEDED", - "MIN_LENGTH_EXCEEDED", - "MIN_VALUE_EXCEEDED", - "IMMUTABLE_POLICY", - "INVALID_PATTERN", - "INVALID_PATTERN_TARGET_ID", - "INPUT_REQUIRED", - "INVALID_NEXT_TOKEN", - "MAX_LIMIT_EXCEEDED_FILTER", - "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS", - "INVALID_FULL_NAME_TARGET", - "UNRECOGNIZED_SERVICE_PRINCIPAL", - "INVALID_ROLE_NAME" - ] - }, - "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.

" - } - } - }, - "ListAWSServiceAccessForOrganizationRequest":{ - "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.

" - } - } - }, - "ListAWSServiceAccessForOrganizationResponse":{ - "type":"structure", - "members":{ - "EnabledServicePrincipals":{ - "shape":"EnabledServicePrincipals", - "documentation":"

A list of the service principals for the services that are enabled to integrate with your organization. Each principal is a structure that includes the name and the date that it was enabled for integration with AWS Organizations.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If present, 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.

" - } - } - }, - "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.

Even if a policy type is shown as available in the organization, you can separately enable and disable them at the root level by using EnablePolicyType and DisablePolicyType. Use ListRoots to see the status of a policy type in that root.

" - } - }, - "documentation":"

Contains details about an organization. An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies .

" - }, - "OrganizationArn":{ - "type":"string", - "pattern":"^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}" - }, - "OrganizationFeatureSet":{ - "type":"string", - "enum":[ - "ALL", - "CONSOLIDATED_BILLING" - ] - }, - "OrganizationId":{ - "type":"string", - "pattern":"^o-[a-z0-9]{10,32}$" - }, - "OrganizationNotEmptyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The organization isn't empty. To delete an organization, you must first remove all accounts except the master account, delete all 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.

Even if a policy type is shown as available in the organization, you can separately enable and disable them at the root level by using EnablePolicyType and DisablePolicyType. Use DescribeOrganization to see the availability of the policy types in that organization.

" - } - }, - "documentation":"

Contains details about a root. A root is a top-level parent node in the hierarchy of an organization that can contain organizational units (OUs) and accounts. Every root contains every AWS account in the organization. Each root enables the accounts to be organized in a different way and to have different policy types enabled for use in that root.

" - }, - "RootArn":{ - "type":"string", - "pattern":"^arn:aws:organizations::\\d{12}:root\\/o-[a-z0-9]{10,32}\\/r-[0-9a-z]{4,32}" - }, - "RootId":{ - "type":"string", - "pattern":"^r-[0-9a-z]{4,32}$" - }, - "RootName":{ - "type":"string", - "max":128, - "min":1 - }, - "RootNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

We can't find a root with the RootId that you specified.

", - "exception":true - }, - "Roots":{ - "type":"list", - "member":{"shape":"Root"} - }, - "ServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

AWS Organizations can't complete your request because of an internal service error. Try again later.

", - "exception":true - }, - "ServicePrincipal":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+=,.@-]*" - }, - "SourceParentNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessage"} - }, - "documentation":"

We can't find a source root or OU with the ParentId that you specified.

", - "exception":true - }, - "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 the AWS Organizations support forum. 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/service-2.json deleted file mode 100644 index 3253917f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pi/2018-02-27/service-2.json +++ /dev/null @@ -1,401 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2018-02-27", - "endpointPrefix":"pi", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWS PI", - "serviceFullName":"AWS Performance Insights", - "serviceId":"PI", - "signatureVersion":"v4", - "signingName":"pi", - "targetPrefix":"PerformanceInsightsv20180227", - "uid":"pi-2018-02-27" - }, - "operations":{ - "DescribeDimensionKeys":{ - "name":"DescribeDimensionKeys", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDimensionKeysRequest"}, - "output":{"shape":"DescribeDimensionKeysResponse"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"InternalServiceError"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

For a specific time period, retrieve the top N dimension keys for a metric.

" - }, - "GetResourceMetrics":{ - "name":"GetResourceMetrics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetResourceMetricsRequest"}, - "output":{"shape":"GetResourceMetricsResponse"}, - "errors":[ - {"shape":"InvalidArgumentException"}, - {"shape":"InternalServiceError"}, - {"shape":"NotAuthorizedException"} - ], - "documentation":"

Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group.

" - } - }, - "shapes":{ - "DataPoint":{ - "type":"structure", - "required":[ - "Timestamp", - "Value" - ], - "members":{ - "Timestamp":{ - "shape":"ISOTimestamp", - "documentation":"

The time, in epoch format, associated with a particular Value.

" - }, - "Value":{ - "shape":"Double", - "documentation":"

The actual value associated with a particular Timestamp.

" - } - }, - "documentation":"

A timestamp, and a single numerical value, which together represent a measurement at a particular point in time.

" - }, - "DataPointsList":{ - "type":"list", - "member":{"shape":"DataPoint"} - }, - "DescribeDimensionKeysRequest":{ - "type":"structure", - "required":[ - "ServiceType", - "Identifier", - "StartTime", - "EndTime", - "Metric", - "GroupBy" - ], - "members":{ - "ServiceType":{ - "shape":"ServiceType", - "documentation":"

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" - }, - "Identifier":{ - "shape":"String", - "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" - }, - "StartTime":{ - "shape":"ISOTimestamp", - "documentation":"

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

" - }, - "EndTime":{ - "shape":"ISOTimestamp", - "documentation":"

The date and time specifying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

" - }, - "Metric":{ - "shape":"String", - "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" - }, - "PeriodInSeconds":{ - "shape":"Integer", - "documentation":"

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

  • 1 (one second)

  • 60 (one minute)

  • 300 (five minutes)

  • 3600 (one hour)

  • 86400 (twenty-four hours)

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

" - }, - "GroupBy":{ - "shape":"DimensionGroup", - "documentation":"

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

" - }, - "PartitionBy":{ - "shape":"DimensionGroup", - "documentation":"

For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

" - }, - "Filter":{ - "shape":"MetricQueryFilterMap", - "documentation":"

One or more filters to apply in the request. Restrictions:

  • Any number of filters by the same dimension, as specified in the GroupBy or Partition parameters.

  • A single filter for any other dimension in this dimension group.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeDimensionKeysResponse":{ - "type":"structure", - "members":{ - "AlignedStartTime":{ - "shape":"ISOTimestamp", - "documentation":"

The start time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

" - }, - "AlignedEndTime":{ - "shape":"ISOTimestamp", - "documentation":"

The end time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

" - }, - "PartitionKeys":{ - "shape":"ResponsePartitionKeyList", - "documentation":"

If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions.

" - }, - "Keys":{ - "shape":"DimensionKeyDescriptionList", - "documentation":"

The dimension keys that were requested.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" - } - } - }, - "DimensionGroup":{ - "type":"structure", - "required":["Group"], - "members":{ - "Group":{ - "shape":"String", - "documentation":"

The name of the dimension group. Valid values are:

  • db.user

  • db.host

  • db.sql

  • db.sql_tokenized

  • db.wait_event

  • db.wait_event_type

" - }, - "Dimensions":{ - "shape":"StringList", - "documentation":"

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

  • db.user.id

  • db.user.name

  • db.host.id

  • db.host.name

  • db.sql.id

  • db.sql.db_id

  • db.sql.statement

  • db.sql.tokenized_id

  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • db.sql_tokenized.statement

  • db.wait_event.name

  • db.wait_event.type

  • db.wait_event_type.name

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of items to fetch for this dimension group.

" - } - }, - "documentation":"

A logical grouping of Performance Insights metrics for a related subject area. For example, the db.sql dimension group consists of the following dimensions: db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id.

" - }, - "DimensionKeyDescription":{ - "type":"structure", - "members":{ - "Dimensions":{ - "shape":"DimensionMap", - "documentation":"

A map of name-value pairs for the dimensions in the group.

" - }, - "Total":{ - "shape":"Double", - "documentation":"

The aggregated metric value for the dimension(s), over the requested time range.

" - }, - "Partitions":{ - "shape":"MetricValuesList", - "documentation":"

If PartitionBy was specified, PartitionKeys contains the dimensions that were.

" - } - }, - "documentation":"

An array of descriptions and aggregated values for each dimension within a dimension group.

" - }, - "DimensionKeyDescriptionList":{ - "type":"list", - "member":{"shape":"DimensionKeyDescription"} - }, - "DimensionMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "Double":{"type":"double"}, - "GetResourceMetricsRequest":{ - "type":"structure", - "required":[ - "ServiceType", - "Identifier", - "MetricQueries", - "StartTime", - "EndTime" - ], - "members":{ - "ServiceType":{ - "shape":"ServiceType", - "documentation":"

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" - }, - "Identifier":{ - "shape":"String", - "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" - }, - "MetricQueries":{ - "shape":"MetricQueryList", - "documentation":"

An array of one or more queries to perform. Each query must specify a Performance Insights metric, and can optionally specify aggregation and filtering criteria.

" - }, - "StartTime":{ - "shape":"ISOTimestamp", - "documentation":"

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

" - }, - "EndTime":{ - "shape":"ISOTimestamp", - "documentation":"

The date and time specifiying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

" - }, - "PeriodInSeconds":{ - "shape":"Integer", - "documentation":"

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

  • 1 (one second)

  • 60 (one minute)

  • 300 (five minutes)

  • 3600 (one hour)

  • 86400 (twenty-four hours)

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" - } - } - }, - "GetResourceMetricsResponse":{ - "type":"structure", - "members":{ - "AlignedStartTime":{ - "shape":"ISOTimestamp", - "documentation":"

The start time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

" - }, - "AlignedEndTime":{ - "shape":"ISOTimestamp", - "documentation":"

The end time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

" - }, - "Identifier":{ - "shape":"String", - "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" - }, - "MetricList":{ - "shape":"MetricKeyDataPointsList", - "documentation":"

An array of metric results,, where each array element contains all of the data points for a particular dimension.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" - } - } - }, - "ISOTimestamp":{"type":"timestamp"}, - "Integer":{"type":"integer"}, - "InternalServiceError":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The request failed due to an unknown error.

", - "exception":true, - "fault":true - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

One of the arguments provided is invalid for this request.

", - "exception":true - }, - "Limit":{ - "type":"integer", - "max":10, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "max":20, - "min":0 - }, - "MetricKeyDataPoints":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"ResponseResourceMetricKey", - "documentation":"

The dimension(s) to which the data points apply.

" - }, - "DataPoints":{ - "shape":"DataPointsList", - "documentation":"

An array of timestamp-value pairs, representing measurements over a period of time.

" - } - }, - "documentation":"

A time-ordered series of data points, correpsonding to a dimension of a Performance Insights metric.

" - }, - "MetricKeyDataPointsList":{ - "type":"list", - "member":{"shape":"MetricKeyDataPoints"} - }, - "MetricQuery":{ - "type":"structure", - "required":["Metric"], - "members":{ - "Metric":{ - "shape":"String", - "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" - }, - "GroupBy":{ - "shape":"DimensionGroup", - "documentation":"

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

" - }, - "Filter":{ - "shape":"MetricQueryFilterMap", - "documentation":"

One or more filters to apply in the request. Restrictions:

  • Any number of filters by the same dimension, as specified in the GroupBy parameter.

  • A single filter for any other dimension in this dimension group.

" - } - }, - "documentation":"

A single query to be processed. You must provide the metric to query. If no other parameters are specified, Performance Insights returns all of the data points for that metric. You can optionally request that the data points be aggregated by dimension group ( GroupBy), and return only those data points that match your criteria (Filter).

" - }, - "MetricQueryFilterMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "MetricQueryList":{ - "type":"list", - "member":{"shape":"MetricQuery"}, - "max":15, - "min":1 - }, - "MetricValuesList":{ - "type":"list", - "member":{"shape":"Double"} - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The user is not authorized to perform this request.

", - "exception":true - }, - "ResponsePartitionKey":{ - "type":"structure", - "required":["Dimensions"], - "members":{ - "Dimensions":{ - "shape":"DimensionMap", - "documentation":"

A dimension map that contains the dimension(s) for this partition.

" - } - }, - "documentation":"

If PartitionBy was specified in a DescribeDimensionKeys request, the dimensions are returned in an array. Each element in the array specifies one dimension.

" - }, - "ResponsePartitionKeyList":{ - "type":"list", - "member":{"shape":"ResponsePartitionKey"} - }, - "ResponseResourceMetricKey":{ - "type":"structure", - "required":["Metric"], - "members":{ - "Metric":{ - "shape":"String", - "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" - }, - "Dimensions":{ - "shape":"DimensionMap", - "documentation":"

The valid dimensions for the metric.

" - } - }, - "documentation":"

An object describing a Performance Insights metric and one or more dimensions for that metric.

" - }, - "ServiceType":{ - "type":"string", - "enum":["RDS"] - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"}, - "max":10, - "min":1 - } - }, - "documentation":"

AWS Performance Insights enables you to monitor and explore different dimensions of database load based on data captured from a running RDS instance. The guide provides detailed information about Performance Insights data types, parameters and errors. For more information about Performance Insights capabilities see Using Amazon RDS Performance Insights in the Amazon RDS User Guide.

The AWS Performance Insights API provides visibility into the performance of your RDS instance, when Performance Insights is enabled for supported engine types. While Amazon CloudWatch provides the authoritative source for AWS service vended monitoring metrics, AWS Performance Insights offers a domain-specific view of database load measured as Average Active Sessions and provided to API consumers as a 2-dimensional time-series dataset. The time dimension of the data provides DB load data for each time point in the queried time range, and each time point decomposes overall load in relation to the requested dimensions, such as SQL, Wait-event, User or Host, measured at that time point.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/service-2.json deleted file mode 100644 index 31192a3c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pinpoint/2016-12-01/service-2.json +++ /dev/null @@ -1,8069 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2016-12-01", - "endpointPrefix" : "pinpoint", - "signingName" : "mobiletargeting", - "serviceFullName" : "Amazon Pinpoint", - "serviceId" : "Pinpoint", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "pinpoint-2016-12-01", - "signatureVersion" : "v4" - }, - "documentation" : "Amazon Pinpoint", - "operations" : { - "CreateApp" : { - "name" : "CreateApp", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateAppRequest" - }, - "output" : { - "shape" : "CreateAppResponse", - "documentation" : "201 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Creates or updates an app." - }, - "CreateCampaign" : { - "name" : "CreateCampaign", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/campaigns", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateCampaignRequest" - }, - "output" : { - "shape" : "CreateCampaignResponse", - "documentation" : "201 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Creates or updates a campaign." - }, - "CreateExportJob" : { - "name" : "CreateExportJob", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/jobs/export", - "responseCode" : 202 - }, - "input" : { - "shape" : "CreateExportJobRequest" - }, - "output" : { - "shape" : "CreateExportJobResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Creates an export job." - }, - "CreateImportJob" : { - "name" : "CreateImportJob", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/jobs/import", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateImportJobRequest" - }, - "output" : { - "shape" : "CreateImportJobResponse", - "documentation" : "201 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Creates or updates an import job." - }, - "CreateSegment" : { - "name" : "CreateSegment", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/segments", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateSegmentRequest" - }, - "output" : { - "shape" : "CreateSegmentResponse", - "documentation" : "201 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to create or update a segment." - }, - "DeleteAdmChannel" : { - "name" : "DeleteAdmChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/adm", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteAdmChannelRequest" - }, - "output" : { - "shape" : "DeleteAdmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an ADM channel." - }, - "DeleteApnsChannel" : { - "name" : "DeleteApnsChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/apns", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteApnsChannelRequest" - }, - "output" : { - "shape" : "DeleteApnsChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an APNS sandbox channel." - }, - "DeleteApnsVoipChannel" : { - "name" : "DeleteApnsVoipChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteApnsVoipChannelRequest" - }, - "output" : { - "shape" : "DeleteApnsVoipChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an APNS VoIP channel" - }, - "DeleteApnsVoipSandboxChannel" : { - "name" : "DeleteApnsVoipSandboxChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip_sandbox", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteApnsVoipSandboxChannelRequest" - }, - "output" : { - "shape" : "DeleteApnsVoipSandboxChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an APNS VoIP sandbox channel" - }, - "DeleteApp" : { - "name" : "DeleteApp", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteAppRequest" - }, - "output" : { - "shape" : "DeleteAppResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Deletes an app." - }, - "DeleteBaiduChannel" : { - "name" : "DeleteBaiduChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/baidu", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteBaiduChannelRequest" - }, - "output" : { - "shape" : "DeleteBaiduChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete a BAIDU GCM channel" - }, - "DeleteCampaign" : { - "name" : "DeleteCampaign", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteCampaignRequest" - }, - "output" : { - "shape" : "DeleteCampaignResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an email channel." - }, - "DeleteEndpoint" : { - "name" : "DeleteEndpoint", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/endpoints/{endpoint-id}", - "responseCode" : 202 - }, - "input" : { - "shape" : "DeleteEndpointRequest" - }, - "output" : { - "shape" : "DeleteEndpointResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Deletes an endpoint." - }, - "DeleteEventStream" : { - "name" : "DeleteEventStream", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/eventstream", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteEventStreamRequest" - }, - "output" : { - "shape" : "DeleteEventStreamResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Deletes the event stream for an app." - }, - "DeleteGcmChannel" : { - "name" : "DeleteGcmChannel", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/channels/gcm", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteGcmChannelRequest" - }, - "output" : { - "shape" : "DeleteGcmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Deletes the GCM channel for an app." - }, - "DeleteSegment" : { - "name" : "DeleteSegment", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DeleteSegmentRequest" - }, - "output" : { - "shape" : "DeleteSegmentResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Delete an SMS channel." - }, - "DeleteUserEndpoints" : { - "name" : "DeleteUserEndpoints", - "http" : { - "method" : "DELETE", - "requestUri" : "/v1/apps/{application-id}/users/{user-id}", - "responseCode" : 202 - }, - "input" : { - "shape" : "DeleteUserEndpointsRequest" - }, - "output" : { - "shape" : "DeleteUserEndpointsResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Deletes endpoints that are associated with a User ID." - }, - "GetAdmChannel" : { - "name" : "GetAdmChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/adm", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetAdmChannelRequest" - }, - "output" : { - "shape" : "GetAdmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an ADM channel." - }, - "GetApnsChannel" : { - "name" : "GetApnsChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/apns", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApnsChannelRequest" - }, - "output" : { - "shape" : "GetApnsChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an APNS sandbox channel." - }, - "GetApnsVoipChannel" : { - "name" : "GetApnsVoipChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApnsVoipChannelRequest" - }, - "output" : { - "shape" : "GetApnsVoipChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an APNS VoIP channel" - }, - "GetApnsVoipSandboxChannel" : { - "name" : "GetApnsVoipSandboxChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip_sandbox", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApnsVoipSandboxChannelRequest" - }, - "output" : { - "shape" : "GetApnsVoipSandboxChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an APNS VoIPSandbox channel" - }, - "GetApp" : { - "name" : "GetApp", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetAppRequest" - }, - "output" : { - "shape" : "GetAppResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about an app." - }, - "GetApplicationSettings" : { - "name" : "GetApplicationSettings", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/settings", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApplicationSettingsRequest" - }, - "output" : { - "shape" : "GetApplicationSettingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to request the settings for an app." - }, - "GetApps" : { - "name" : "GetApps", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetAppsRequest" - }, - "output" : { - "shape" : "GetAppsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your apps." - }, - "GetBaiduChannel" : { - "name" : "GetBaiduChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/baidu", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetBaiduChannelRequest" - }, - "output" : { - "shape" : "GetBaiduChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get a BAIDU GCM channel" - }, - "GetCampaign" : { - "name" : "GetCampaign", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCampaignRequest" - }, - "output" : { - "shape" : "GetCampaignResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about a campaign." - }, - "GetCampaignActivities" : { - "name" : "GetCampaignActivities", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}/activities", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCampaignActivitiesRequest" - }, - "output" : { - "shape" : "GetCampaignActivitiesResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about the activity performed by a campaign." - }, - "GetCampaignVersion" : { - "name" : "GetCampaignVersion", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCampaignVersionRequest" - }, - "output" : { - "shape" : "GetCampaignVersionResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about a specific version of a campaign." - }, - "GetCampaignVersions" : { - "name" : "GetCampaignVersions", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCampaignVersionsRequest" - }, - "output" : { - "shape" : "GetCampaignVersionsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your campaign versions." - }, - "GetCampaigns" : { - "name" : "GetCampaigns", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/campaigns", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetCampaignsRequest" - }, - "output" : { - "shape" : "GetCampaignsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your campaigns." - }, - "GetChannels" : { - "name" : "GetChannels", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetChannelsRequest" - }, - "output" : { - "shape" : "GetChannelsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get all channels." - }, - "GetEmailChannel" : { - "name" : "GetEmailChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/email", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetEmailChannelRequest" - }, - "output" : { - "shape" : "GetEmailChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an email channel." - }, - "GetEndpoint" : { - "name" : "GetEndpoint", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/endpoints/{endpoint-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetEndpointRequest" - }, - "output" : { - "shape" : "GetEndpointResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns the event stream for an app." - }, - "GetExportJob" : { - "name" : "GetExportJob", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/jobs/export/{job-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetExportJobRequest" - }, - "output" : { - "shape" : "GetExportJobResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about an export job." - }, - "GetExportJobs" : { - "name" : "GetExportJobs", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/jobs/export", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetExportJobsRequest" - }, - "output" : { - "shape" : "GetExportJobsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your export jobs." - }, - "GetGcmChannel" : { - "name" : "GetGcmChannel", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/channels/gcm", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetGcmChannelRequest" - }, - "output" : { - "shape" : "GetGcmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about the GCM channel for an app." - }, - "GetImportJob" : { - "name" : "GetImportJob", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/jobs/import/{job-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetImportJobRequest" - }, - "output" : { - "shape" : "GetImportJobResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about an import job." - }, - "GetImportJobs" : { - "name" : "GetImportJobs", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/jobs/import", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetImportJobsRequest" - }, - "output" : { - "shape" : "GetImportJobsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your import jobs." - }, - "GetSegment" : { - "name" : "GetSegment", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentRequest" - }, - "output" : { - "shape" : "GetSegmentResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about a segment." - }, - "GetSegmentExportJobs" : { - "name" : "GetSegmentExportJobs", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentExportJobsRequest" - }, - "output" : { - "shape" : "GetSegmentExportJobsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns a list of export jobs for a specific segment." - }, - "GetSegmentImportJobs" : { - "name" : "GetSegmentImportJobs", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentImportJobsRequest" - }, - "output" : { - "shape" : "GetSegmentImportJobsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns a list of import jobs for a specific segment." - }, - "GetSegmentVersion" : { - "name" : "GetSegmentVersion", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentVersionRequest" - }, - "output" : { - "shape" : "GetSegmentVersionResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about a segment version." - }, - "GetSegmentVersions" : { - "name" : "GetSegmentVersions", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentVersionsRequest" - }, - "output" : { - "shape" : "GetSegmentVersionsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about your segment versions." - }, - "GetSegments" : { - "name" : "GetSegments", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/segments", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetSegmentsRequest" - }, - "output" : { - "shape" : "GetSegmentsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Get an SMS channel." - }, - "GetUserEndpoints" : { - "name" : "GetUserEndpoints", - "http" : { - "method" : "GET", - "requestUri" : "/v1/apps/{application-id}/users/{user-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetUserEndpointsRequest" - }, - "output" : { - "shape" : "GetUserEndpointsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about the endpoints that are associated with a User ID." - }, - "PhoneNumberValidate" : { - "name" : "PhoneNumberValidate", - "http" : { - "method" : "POST", - "requestUri" : "/v1/phone/number/validate", - "responseCode" : 200 - }, - "input" : { - "shape" : "PhoneNumberValidateRequest" - }, - "output" : { - "shape" : "PhoneNumberValidateResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Returns information about the specified phone number." - }, - "PutEventStream" : { - "name" : "PutEventStream", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/eventstream", - "responseCode" : 200 - }, - "input" : { - "shape" : "PutEventStreamRequest" - }, - "output" : { - "shape" : "PutEventStreamResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Use to create or update the event stream for an app." - }, - "PutEvents" : { - "name" : "PutEvents", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/events", - "responseCode" : 202 - }, - "input" : { - "shape" : "PutEventsRequest" - }, - "output" : { - "shape" : "PutEventsResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Use to record events for endpoints. This method creates events and creates or updates the endpoints that those events are associated with." - }, - "RemoveAttributes" : { - "name" : "RemoveAttributes", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/attributes/{attribute-type}", - "responseCode" : 200 - }, - "input" : { - "shape" : "RemoveAttributesRequest" - }, - "output" : { - "shape" : "RemoveAttributesResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to remove the attributes for an app" - }, - "SendMessages" : { - "name" : "SendMessages", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/messages", - "responseCode" : 200 - }, - "input" : { - "shape" : "SendMessagesRequest" - }, - "output" : { - "shape" : "SendMessagesResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to send a direct message." - }, - "SendUsersMessages" : { - "name" : "SendUsersMessages", - "http" : { - "method" : "POST", - "requestUri" : "/v1/apps/{application-id}/users-messages", - "responseCode" : 200 - }, - "input" : { - "shape" : "SendUsersMessagesRequest" - }, - "output" : { - "shape" : "SendUsersMessagesResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to send a message to a list of users." - }, - "UpdateAdmChannel" : { - "name" : "UpdateAdmChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/adm", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateAdmChannelRequest" - }, - "output" : { - "shape" : "UpdateAdmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an ADM channel." - }, - "UpdateApnsChannel" : { - "name" : "UpdateApnsChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/apns", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateApnsChannelRequest" - }, - "output" : { - "shape" : "UpdateApnsChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an APNS sandbox channel." - }, - "UpdateApnsVoipChannel" : { - "name" : "UpdateApnsVoipChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateApnsVoipChannelRequest" - }, - "output" : { - "shape" : "UpdateApnsVoipChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an APNS VoIP channel" - }, - "UpdateApnsVoipSandboxChannel" : { - "name" : "UpdateApnsVoipSandboxChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/apns_voip_sandbox", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateApnsVoipSandboxChannelRequest" - }, - "output" : { - "shape" : "UpdateApnsVoipSandboxChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an APNS VoIP sandbox channel" - }, - "UpdateApplicationSettings" : { - "name" : "UpdateApplicationSettings", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/settings", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateApplicationSettingsRequest" - }, - "output" : { - "shape" : "UpdateApplicationSettingsResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used to update the settings for an app." - }, - "UpdateBaiduChannel" : { - "name" : "UpdateBaiduChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/baidu", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateBaiduChannelRequest" - }, - "output" : { - "shape" : "UpdateBaiduChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update a BAIDU GCM channel" - }, - "UpdateCampaign" : { - "name" : "UpdateCampaign", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/campaigns/{campaign-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateCampaignRequest" - }, - "output" : { - "shape" : "UpdateCampaignResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an email channel." - }, - "UpdateEndpoint" : { - "name" : "UpdateEndpoint", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/endpoints/{endpoint-id}", - "responseCode" : 202 - }, - "input" : { - "shape" : "UpdateEndpointRequest" - }, - "output" : { - "shape" : "UpdateEndpointResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Creates or updates an endpoint." - }, - "UpdateEndpointsBatch" : { - "name" : "UpdateEndpointsBatch", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/endpoints", - "responseCode" : 202 - }, - "input" : { - "shape" : "UpdateEndpointsBatchRequest" - }, - "output" : { - "shape" : "UpdateEndpointsBatchResponse", - "documentation" : "202 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Use to update a batch of endpoints." - }, - "UpdateGcmChannel" : { - "name" : "UpdateGcmChannel", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/channels/gcm", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateGcmChannelRequest" - }, - "output" : { - "shape" : "UpdateGcmChannelResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Use to update the GCM channel for an app." - }, - "UpdateSegment" : { - "name" : "UpdateSegment", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/apps/{application-id}/segments/{segment-id}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateSegmentRequest" - }, - "output" : { - "shape" : "UpdateSegmentResponse", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Used 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", - "documentation" : "200 response" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "400 response" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "500 response" - }, { - "shape" : "ForbiddenException", - "documentation" : "403 response" - }, { - "shape" : "NotFoundException", - "documentation" : "404 response" - }, { - "shape" : "MethodNotAllowedException", - "documentation" : "405 response" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "429 response" - } ], - "documentation" : "Update an SMS channel." - } - }, - "shapes" : { - "ADMChannelRequest" : { - "type" : "structure", - "members" : { - "ClientId" : { - "shape" : "__string", - "documentation" : "The Client ID that you obtained from the Amazon App Distribution Portal." - }, - "ClientSecret" : { - "shape" : "__string", - "documentation" : "The Client Secret that you obtained from the Amazon App Distribution Portal." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "Indicates whether or not the channel is enabled for sending messages." - } - }, - "documentation" : "Amazon Device Messaging channel definition.", - "required" : [ ] - }, - "ADMChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application to which the channel applies." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date and time when this channel was created." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "Indicates whether or not the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "Id" : { - "shape" : "__string", - "documentation" : "(Deprecated) An identifier for the channel. Retained for backwards compatibility." - }, - "IsArchived" : { - "shape" : "__boolean", - "documentation" : "Indicates whether or not the channel is archived." - }, - "LastModifiedBy" : { - "shape" : "__string", - "documentation" : "The user who last updated this channel." - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "The date and time when this channel was last modified." - }, - "Platform" : { - "shape" : "__string", - "documentation" : "The platform type. For this channel, the value is always \"ADM.\"" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "The channel version." - } - }, - "documentation" : "Amazon Device Messaging channel definition.", - "required" : [ ] - }, - "ADMMessage" : { - "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." - }, - "ConsolidationKey" : { - "shape" : "__string", - "documentation" : "Optional. Arbitrary string used to indicate multiple messages are logically the same and that ADM is allowed to drop previously enqueued messages in favor of this one." - }, - "Data" : { - "shape" : "MapOf__string", - "documentation" : "The data payload used for a silent push. This payload is added to the notifications' data.pinpoint.jsonBody' object" - }, - "ExpiresAfter" : { - "shape" : "__string", - "documentation" : "Optional. Number of seconds ADM should retain the message if the device is offline" - }, - "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." - }, - "MD5" : { - "shape" : "__string", - "documentation" : "Optional. Base-64-encoded MD5 checksum of the data parameter. Used to verify data integrity" - }, - "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." - }, - "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" : "ADM Message." - }, - "APNSChannelRequest" : { - "type" : "structure", - "members" : { - "BundleId" : { - "shape" : "__string", - "documentation" : "The bundle id used for APNs Tokens." - }, - "Certificate" : { - "shape" : "__string", - "documentation" : "The distribution certificate from Apple." - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "PrivateKey" : { - "shape" : "__string", - "documentation" : "The certificate private key." - }, - "TeamId" : { - "shape" : "__string", - "documentation" : "The team id used for APNs Tokens." - }, - "TokenKey" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - }, - "TokenKeyId" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - } - }, - "documentation" : "Apple Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application that the channel applies to." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date and time when this channel was created." - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "HasTokenKey" : { - "shape" : "__boolean", - "documentation" : "Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute." - }, - "Id" : { - "shape" : "__string", - "documentation" : "(Deprecated) An identifier for the channel. Retained for backwards compatibility." - }, - "IsArchived" : { - "shape" : "__boolean", - "documentation" : "Indicates whether or not the channel is archived." - }, - "LastModifiedBy" : { - "shape" : "__string", - "documentation" : "The user who last updated this channel." - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "The date and time when this channel was last modified." - }, - "Platform" : { - "shape" : "__string", - "documentation" : "The platform type. For this channel, the value is always \"ADM.\"" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "The channel version." - } - }, - "documentation" : "Apple Distribution Push Notification Service channel definition.", - "required" : [ ] - }, - "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." - }, - "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." - }, - "CollapseId" : { - "shape" : "__string", - "documentation" : "An ID that, if assigned to multiple messages, causes APNs to coalesce the messages into a single push notification instead of delivering each message individually. The value must not exceed 64 bytes. Amazon Pinpoint uses this value to set the apns-collapse-id request header when it sends the message to APNs." - }, - "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." - }, - "PreferredAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The preferred authentication method, either \"CERTIFICATE\" or \"TOKEN\"" - }, - "Priority" : { - "shape" : "__string", - "documentation" : "The message priority. Amazon Pinpoint uses this value to set the apns-priority request header when it sends the message to APNs. Accepts the following values:\n\n\"5\" - Low priority. Messages might be delayed, delivered in groups, and throttled.\n\n\"10\" - High priority. Messages are sent immediately. High priority messages must cause an alert, sound, or badge on the receiving device.\n\nThe default value is \"10\".\n\nThe equivalent values for FCM or GCM messages are \"normal\" and \"high\". Amazon Pinpoint accepts these values for APNs messages and converts them.\n\nFor more information about the apns-priority parameter, see Communicating with APNs in the APNs Local and Remote Notification Programming Guide." - }, - "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." - }, - "TimeToLive" : { - "shape" : "__integer", - "documentation" : "The length of time (in seconds) that APNs stores and attempts to deliver the message. If the value is 0, APNs does not store the message or attempt to deliver it more than once. Amazon Pinpoint uses this value to set the apns-expiration request header when it sends the message to APNs." - }, - "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" : { - "BundleId" : { - "shape" : "__string", - "documentation" : "The bundle id used for APNs Tokens." - }, - "Certificate" : { - "shape" : "__string", - "documentation" : "The distribution certificate from Apple." - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "PrivateKey" : { - "shape" : "__string", - "documentation" : "The certificate private key." - }, - "TeamId" : { - "shape" : "__string", - "documentation" : "The team id used for APNs Tokens." - }, - "TokenKey" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - }, - "TokenKeyId" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - } - }, - "documentation" : "Apple Development Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application to which the channel applies." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "When was this segment created" - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "HasTokenKey" : { - "shape" : "__boolean", - "documentation" : "Indicates whether the channel is configured with a key for APNs token authentication. Provide a token key by setting the TokenKey attribute." - }, - "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_SANDBOX." - }, - "Version" : { - "shape" : "__integer", - "documentation" : "Version of channel" - } - }, - "documentation" : "Apple Development Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSVoipChannelRequest" : { - "type" : "structure", - "members" : { - "BundleId" : { - "shape" : "__string", - "documentation" : "The bundle id used for APNs Tokens." - }, - "Certificate" : { - "shape" : "__string", - "documentation" : "The distribution certificate from Apple." - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "PrivateKey" : { - "shape" : "__string", - "documentation" : "The certificate private key." - }, - "TeamId" : { - "shape" : "__string", - "documentation" : "The team id used for APNs Tokens." - }, - "TokenKey" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - }, - "TokenKeyId" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - } - }, - "documentation" : "Apple VoIP Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSVoipChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "Application id" - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "When was this segment created" - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "HasTokenKey" : { - "shape" : "__boolean", - "documentation" : "If the channel is registered with a token key for authentication." - }, - "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 made the last change" - }, - "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 VoIP Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSVoipSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "BundleId" : { - "shape" : "__string", - "documentation" : "The bundle id used for APNs Tokens." - }, - "Certificate" : { - "shape" : "__string", - "documentation" : "The distribution certificate from Apple." - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "PrivateKey" : { - "shape" : "__string", - "documentation" : "The certificate private key." - }, - "TeamId" : { - "shape" : "__string", - "documentation" : "The team id used for APNs Tokens." - }, - "TokenKey" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - }, - "TokenKeyId" : { - "shape" : "__string", - "documentation" : "The token key used for APNs Tokens." - } - }, - "documentation" : "Apple VoIP Developer Push Notification Service channel definition.", - "required" : [ ] - }, - "APNSVoipSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "Application id" - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "When was this segment created" - }, - "DefaultAuthenticationMethod" : { - "shape" : "__string", - "documentation" : "The default authentication method used for APNs." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "HasTokenKey" : { - "shape" : "__boolean", - "documentation" : "If the channel is registered with a token key for authentication." - }, - "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 made the last change" - }, - "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 VoIP Developer Push Notification Service channel definition.", - "required" : [ ] - }, - "Action" : { - "type" : "string", - "enum" : [ "OPEN_APP", "DEEP_LINK", "URL" ] - }, - "ActivitiesResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfActivityResponse", - "documentation" : "List of campaign activities" - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." - } - }, - "documentation" : "Activities for campaign.", - "required" : [ ] - }, - "ActivityResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application to which the campaign applies." - }, - "CampaignId" : { - "shape" : "__string", - "documentation" : "The ID of the campaign to which the activity applies." - }, - "End" : { - "shape" : "__string", - "documentation" : "The actual time the activity was marked CANCELLED or COMPLETED. Provided in ISO 8601 format." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique activity ID." - }, - "Result" : { - "shape" : "__string", - "documentation" : "Indicates whether the activity succeeded.\n\nValid values: SUCCESS, FAIL" - }, - "ScheduledStart" : { - "shape" : "__string", - "documentation" : "The scheduled start time for the activity in ISO 8601 format." - }, - "Start" : { - "shape" : "__string", - "documentation" : "The actual start time of the activity in ISO 8601 format." - }, - "State" : { - "shape" : "__string", - "documentation" : "The state of the activity.\n\nValid values: PENDING, INITIALIZING, RUNNING, PAUSED, CANCELLED, COMPLETED" - }, - "SuccessfulEndpointCount" : { - "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." - }, - "TreatmentId" : { - "shape" : "__string", - "documentation" : "The ID of a variation of the campaign used for A/B testing." - } - }, - "documentation" : "Activity definition", - "required" : [ ] - }, - "AddressConfiguration" : { - "type" : "structure", - "members" : { - "BodyOverride" : { - "shape" : "__string", - "documentation" : "Body override. If specified will override default body." - }, - "ChannelType" : { - "shape" : "ChannelType", - "documentation" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU" - }, - "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." - }, - "ApplicationResponse" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "documentation" : "The unique application ID." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The display name of the application." - } - }, - "documentation" : "Application Response.", - "required" : [ ] - }, - "ApplicationSettingsResource" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID for the application." - }, - "CampaignHook" : { - "shape" : "CampaignHook", - "documentation" : "Default campaign hook." - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "The date that the settings were last updated in ISO 8601 format." - }, - "Limits" : { - "shape" : "CampaignLimits", - "documentation" : "The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own." - }, - "QuietTime" : { - "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.", - "required" : [ ] - }, - "ApplicationsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfApplicationResponse", - "documentation" : "List of applications returned in this page." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." - } - }, - "documentation" : "Get Applications Result." - }, - "AttributeDimension" : { - "type" : "structure", - "members" : { - "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." - }, - "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", - "required" : [ ] - }, - "AttributeType" : { - "type" : "string", - "enum" : [ "INCLUSIVE", "EXCLUSIVE" ] - }, - "AttributesResource" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID for the application." - }, - "AttributeType" : { - "shape" : "__string", - "documentation" : "The attribute type for the application." - }, - "Attributes" : { - "shape" : "ListOf__string", - "documentation" : "The attributes for the application." - } - }, - "documentation" : "Attributes.", - "required" : [ ] - }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "BaiduChannelRequest" : { - "type" : "structure", - "members" : { - "ApiKey" : { - "shape" : "__string", - "documentation" : "Platform credential API key from Baidu." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "SecretKey" : { - "shape" : "__string", - "documentation" : "Platform credential Secret key from Baidu." - } - }, - "documentation" : "Baidu Cloud Push credentials", - "required" : [ ] - }, - "BaiduChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "Application id" - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "When was this segment created" - }, - "Credential" : { - "shape" : "__string", - "documentation" : "The Baidu API key from Baidu." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "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 made the last change" - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "Last date this was updated" - }, - "Platform" : { - "shape" : "__string", - "documentation" : "The platform type. Will be BAIDU" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "Version of channel" - } - }, - "documentation" : "Baidu Cloud Messaging channel definition", - "required" : [ ] - }, - "BaiduMessage" : { - "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." - }, - "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." - }, - "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." - }, - "TimeToLive" : { - "shape" : "__integer", - "documentation" : "This parameter specifies how long (in seconds) the message should be kept in Baidu storage if the device is offline. The and the default value and the maximum time to live supported is 7 days (604800 seconds)" - }, - "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" : "Baidu Message." - }, - "CampaignEmailMessage" : { - "type" : "structure", - "members" : { - "Body" : { - "shape" : "__string", - "documentation" : "The email text body." - }, - "FromAddress" : { - "shape" : "__string", - "documentation" : "The email address used to send the email from. Defaults to use FromAddress specified in the Email Channel." - }, - "HtmlBody" : { - "shape" : "__string", - "documentation" : "The email html body." - }, - "Title" : { - "shape" : "__string", - "documentation" : "The email title (Or subject)." - } - }, - "documentation" : "The email message configuration.", - "required" : [ ] - }, - "CampaignHook" : { - "type" : "structure", - "members" : { - "LambdaFunctionName" : { - "shape" : "__string", - "documentation" : "Lambda function name or arn to be called for delivery" - }, - "Mode" : { - "shape" : "Mode", - "documentation" : "What mode Lambda should be invoked in." - }, - "WebUrl" : { - "shape" : "__string", - "documentation" : "Web URL to call for hook. If the URL has authentication specified it will be added as authentication to the request" - } - }, - "documentation" : "Campaign hook information." - }, - "CampaignLimits" : { - "type" : "structure", - "members" : { - "Daily" : { - "shape" : "__integer", - "documentation" : "The maximum number of messages that the campaign can send daily." - }, - "MaximumDuration" : { - "shape" : "__integer", - "documentation" : "The length of time (in seconds) that the campaign can run before it ends and message deliveries stop. This duration begins at the scheduled start time for the campaign. The minimum value is 60." - }, - "MessagesPerSecond" : { - "shape" : "__integer", - "documentation" : "The number of messages that the campaign can send per second. The minimum value is 50, and the maximum is 20000." - }, - "Total" : { - "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", - "members" : { - "AdditionalTreatments" : { - "shape" : "ListOfTreatmentResource", - "documentation" : "Treatments that are defined in addition to the default treatment." - }, - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application to which the campaign applies." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date the campaign was created in ISO 8601 format." - }, - "DefaultState" : { - "shape" : "CampaignState", - "documentation" : "The status of the campaign's default treatment. Only present for A/B test campaigns." - }, - "Description" : { - "shape" : "__string", - "documentation" : "A description of the campaign." - }, - "HoldoutPercent" : { - "shape" : "__integer", - "documentation" : "The allocated percentage of end users who will not receive messages from this campaign." - }, - "Hook" : { - "shape" : "CampaignHook", - "documentation" : "Campaign hook information." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique campaign ID." - }, - "IsPaused" : { - "shape" : "__boolean", - "documentation" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false." - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "The date the campaign was last updated in ISO 8601 format.\t" - }, - "Limits" : { - "shape" : "CampaignLimits", - "documentation" : "The campaign limits settings." - }, - "MessageConfiguration" : { - "shape" : "MessageConfiguration", - "documentation" : "The message configuration settings." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The custom name of the campaign." - }, - "Schedule" : { - "shape" : "Schedule", - "documentation" : "The campaign schedule." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to which the campaign sends messages." - }, - "SegmentVersion" : { - "shape" : "__integer", - "documentation" : "The version of the segment to which the campaign sends messages." - }, - "State" : { - "shape" : "CampaignState", - "documentation" : "The campaign status.\n\nAn A/B test campaign will have a status of COMPLETED only when all treatments have a status of COMPLETED." - }, - "TreatmentDescription" : { - "shape" : "__string", - "documentation" : "A custom description for the treatment." - }, - "TreatmentName" : { - "shape" : "__string", - "documentation" : "The custom name of a variation of the campaign used for A/B testing." - }, - "Version" : { - "shape" : "__integer", - "documentation" : "The campaign version number." - } - }, - "documentation" : "Campaign definition", - "required" : [ ] - }, - "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", - "members" : { - "CampaignStatus" : { - "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", - "enum" : [ "SCHEDULED", "EXECUTING", "PENDING_NEXT_RUN", "COMPLETED", "PAUSED", "DELETED" ] - }, - "CampaignsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfCampaignResponse", - "documentation" : "A list of campaigns." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." - } - }, - "documentation" : "List of available campaigns.", - "required" : [ ] - }, - "ChannelResponse" : { - "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." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "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 made the last change" - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "Last date this was updated" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "Version of channel" - } - }, - "documentation" : "Base definition for channel response." - }, - "ChannelType" : { - "type" : "string", - "enum" : [ "GCM", "APNS", "APNS_SANDBOX", "APNS_VOIP", "APNS_VOIP_SANDBOX", "ADM", "SMS", "EMAIL", "BAIDU", "CUSTOM" ] - }, - "ChannelsResponse" : { - "type" : "structure", - "members" : { - "Channels" : { - "shape" : "MapOfChannelResponse", - "documentation" : "A map of channels, with the ChannelType as the key and the Channel as the value." - } - }, - "documentation" : "Get channels definition", - "required" : [ ] - }, - "CreateAppRequest" : { - "type" : "structure", - "members" : { - "CreateApplicationRequest" : { - "shape" : "CreateApplicationRequest" - } - }, - "required" : [ "CreateApplicationRequest" ], - "payload" : "CreateApplicationRequest" - }, - "CreateAppResponse" : { - "type" : "structure", - "members" : { - "ApplicationResponse" : { - "shape" : "ApplicationResponse" - } - }, - "required" : [ "ApplicationResponse" ], - "payload" : "ApplicationResponse" - }, - "CreateApplicationRequest" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "documentation" : "The display name of the application. Used in the Amazon Pinpoint console." - } - }, - "documentation" : "Application Request.", - "required" : [ ] - }, - "CreateCampaignRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "WriteCampaignRequest" : { - "shape" : "WriteCampaignRequest" - } - }, - "required" : [ "ApplicationId", "WriteCampaignRequest" ], - "payload" : "WriteCampaignRequest" - }, - "CreateCampaignResponse" : { - "type" : "structure", - "members" : { - "CampaignResponse" : { - "shape" : "CampaignResponse" - } - }, - "required" : [ "CampaignResponse" ], - "payload" : "CampaignResponse" - }, - "CreateExportJobRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "ExportJobRequest" : { - "shape" : "ExportJobRequest" - } - }, - "required" : [ "ApplicationId", "ExportJobRequest" ], - "payload" : "ExportJobRequest" - }, - "CreateExportJobResponse" : { - "type" : "structure", - "members" : { - "ExportJobResponse" : { - "shape" : "ExportJobResponse" - } - }, - "required" : [ "ExportJobResponse" ], - "payload" : "ExportJobResponse" - }, - "CreateImportJobRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "ImportJobRequest" : { - "shape" : "ImportJobRequest" - } - }, - "required" : [ "ApplicationId", "ImportJobRequest" ], - "payload" : "ImportJobRequest" - }, - "CreateImportJobResponse" : { - "type" : "structure", - "members" : { - "ImportJobResponse" : { - "shape" : "ImportJobResponse" - } - }, - "required" : [ "ImportJobResponse" ], - "payload" : "ImportJobResponse" - }, - "CreateSegmentRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "WriteSegmentRequest" : { - "shape" : "WriteSegmentRequest" - } - }, - "required" : [ "ApplicationId", "WriteSegmentRequest" ], - "payload" : "WriteSegmentRequest" - }, - "CreateSegmentResponse" : { - "type" : "structure", - "members" : { - "SegmentResponse" : { - "shape" : "SegmentResponse" - } - }, - "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" : "The default message to use across all channels." - }, - "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." - }, - "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." - }, - "DeleteAdmChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteAdmChannelResponse" : { - "type" : "structure", - "members" : { - "ADMChannelResponse" : { - "shape" : "ADMChannelResponse" - } - }, - "required" : [ "ADMChannelResponse" ], - "payload" : "ADMChannelResponse" - }, - "DeleteApnsChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteApnsChannelResponse" : { - "type" : "structure", - "members" : { - "APNSChannelResponse" : { - "shape" : "APNSChannelResponse" - } - }, - "required" : [ "APNSChannelResponse" ], - "payload" : "APNSChannelResponse" - }, - "DeleteApnsSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteApnsSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSSandboxChannelResponse" : { - "shape" : "APNSSandboxChannelResponse" - } - }, - "required" : [ "APNSSandboxChannelResponse" ], - "payload" : "APNSSandboxChannelResponse" - }, - "DeleteApnsVoipChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteApnsVoipChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipChannelResponse" : { - "shape" : "APNSVoipChannelResponse" - } - }, - "required" : [ "APNSVoipChannelResponse" ], - "payload" : "APNSVoipChannelResponse" - }, - "DeleteApnsVoipSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteApnsVoipSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipSandboxChannelResponse" : { - "shape" : "APNSVoipSandboxChannelResponse" - } - }, - "required" : [ "APNSVoipSandboxChannelResponse" ], - "payload" : "APNSVoipSandboxChannelResponse" - }, - "DeleteAppRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteAppResponse" : { - "type" : "structure", - "members" : { - "ApplicationResponse" : { - "shape" : "ApplicationResponse" - } - }, - "required" : [ "ApplicationResponse" ], - "payload" : "ApplicationResponse" - }, - "DeleteBaiduChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteBaiduChannelResponse" : { - "type" : "structure", - "members" : { - "BaiduChannelResponse" : { - "shape" : "BaiduChannelResponse" - } - }, - "required" : [ "BaiduChannelResponse" ], - "payload" : "BaiduChannelResponse" - }, - "DeleteCampaignRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - } - }, - "required" : [ "CampaignId", "ApplicationId" ] - }, - "DeleteCampaignResponse" : { - "type" : "structure", - "members" : { - "CampaignResponse" : { - "shape" : "CampaignResponse" - } - }, - "required" : [ "CampaignResponse" ], - "payload" : "CampaignResponse" - }, - "DeleteEmailChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteEmailChannelResponse" : { - "type" : "structure", - "members" : { - "EmailChannelResponse" : { - "shape" : "EmailChannelResponse" - } - }, - "required" : [ "EmailChannelResponse" ], - "payload" : "EmailChannelResponse" - }, - "DeleteEndpointRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EndpointId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "endpoint-id", - "documentation" : "The unique ID of the endpoint." - } - }, - "required" : [ "ApplicationId", "EndpointId" ] - }, - "DeleteEndpointResponse" : { - "type" : "structure", - "members" : { - "EndpointResponse" : { - "shape" : "EndpointResponse" - } - }, - "required" : [ "EndpointResponse" ], - "payload" : "EndpointResponse" - }, - "DeleteEventStreamRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteEventStreamResponse" : { - "type" : "structure", - "members" : { - "EventStream" : { - "shape" : "EventStream" - } - }, - "required" : [ "EventStream" ], - "payload" : "EventStream" - }, - "DeleteGcmChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteGcmChannelResponse" : { - "type" : "structure", - "members" : { - "GCMChannelResponse" : { - "shape" : "GCMChannelResponse" - } - }, - "required" : [ "GCMChannelResponse" ], - "payload" : "GCMChannelResponse" - }, - "DeleteSegmentRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - } - }, - "required" : [ "SegmentId", "ApplicationId" ] - }, - "DeleteSegmentResponse" : { - "type" : "structure", - "members" : { - "SegmentResponse" : { - "shape" : "SegmentResponse" - } - }, - "required" : [ "SegmentResponse" ], - "payload" : "SegmentResponse" - }, - "DeleteSmsChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "DeleteSmsChannelResponse" : { - "type" : "structure", - "members" : { - "SMSChannelResponse" : { - "shape" : "SMSChannelResponse" - } - }, - "required" : [ "SMSChannelResponse" ], - "payload" : "SMSChannelResponse" - }, - "DeleteUserEndpointsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "UserId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "user-id", - "documentation" : "The unique ID of the user." - } - }, - "required" : [ "ApplicationId", "UserId" ] - }, - "DeleteUserEndpointsResponse" : { - "type" : "structure", - "members" : { - "EndpointsResponse" : { - "shape" : "EndpointsResponse" - } - }, - "required" : [ "EndpointsResponse" ], - "payload" : "EndpointsResponse" - }, - "DeliveryStatus" : { - "type" : "string", - "enum" : [ "SUCCESSFUL", "THROTTLED", "TEMPORARY_FAILURE", "PERMANENT_FAILURE", "UNKNOWN_FAILURE", "OPT_OUT", "DUPLICATE" ] - }, - "DimensionType" : { - "type" : "string", - "enum" : [ "INCLUSIVE", "EXCLUSIVE" ] - }, - "DirectMessageConfiguration" : { - "type" : "structure", - "members" : { - "ADMMessage" : { - "shape" : "ADMMessage", - "documentation" : "The message to ADM channels. Overrides the default push notification message." - }, - "APNSMessage" : { - "shape" : "APNSMessage", - "documentation" : "The message to APNS channels. Overrides the default push notification message." - }, - "BaiduMessage" : { - "shape" : "BaiduMessage", - "documentation" : "The message to Baidu GCM 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" : "Message definitions for the default message and any messages that are tailored for specific channels.", - "required" : [ ] - }, - "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", - "required" : [ ] - }, - "EmailChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID of the application to which the email channel belongs." - }, - "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." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "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" - }, - "MessagesPerSecond" : { - "shape" : "__integer", - "documentation" : "Messages per second that can be sent" - }, - "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.", - "required" : [ ] - }, - "EndpointBatchItem" : { - "type" : "structure", - "members" : { - "Address" : { - "shape" : "__string", - "documentation" : "The destination for messages that you send to this endpoint. The address varies by channel. For mobile push channels, use the token provided by the push notification service, such as the APNs device token or the FCM registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address." - }, - "Attributes" : { - "shape" : "MapOfListOf__string", - "documentation" : "Custom attributes that describe the endpoint by associating a name with an array of values. For example, an attribute named \"interests\" might have the values [\"science\", \"politics\", \"travel\"]. You can use these attributes as selection criteria when you create a segment of users to engage with a messaging campaign.\n\nThe following characters are not recommended in attribute names: # : ? \\ /. The Amazon Pinpoint console does not display attributes that include these characters in the name. This limitation does not apply to attribute values." - }, - "ChannelType" : { - "shape" : "ChannelType", - "documentation" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU" - }, - "Demographic" : { - "shape" : "EndpointDemographic", - "documentation" : "The endpoint demographic attributes." - }, - "EffectiveDate" : { - "shape" : "__string", - "documentation" : "The last time the endpoint was updated. Provided in ISO 8601 format." - }, - "EndpointStatus" : { - "shape" : "__string", - "documentation" : "Unused." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique Id for the Endpoint in the batch." - }, - "Location" : { - "shape" : "EndpointLocation", - "documentation" : "The endpoint location attributes." - }, - "Metrics" : { - "shape" : "MapOf__double", - "documentation" : "Custom metrics that your app reports to Amazon Pinpoint." - }, - "OptOut" : { - "shape" : "__string", - "documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages." - }, - "RequestId" : { - "shape" : "__string", - "documentation" : "The unique ID for the most recent request to update the endpoint." - }, - "User" : { - "shape" : "EndpointUser", - "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." - } - }, - "documentation" : "Endpoint update request" - }, - "EndpointBatchRequest" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfEndpointBatchItem", - "documentation" : "List of items to update. Maximum 100 items" - } - }, - "documentation" : "Endpoint batch update request.", - "required" : [ ] - }, - "EndpointDemographic" : { - "type" : "structure", - "members" : { - "AppVersion" : { - "shape" : "__string", - "documentation" : "The version of the application associated with the endpoint." - }, - "Locale" : { - "shape" : "__string", - "documentation" : "The endpoint locale in the following format: The ISO 639-1 alpha-2 code, followed by an underscore, followed by an ISO 3166-1 alpha-2 value.\n" - }, - "Make" : { - "shape" : "__string", - "documentation" : "The manufacturer of the endpoint device, such as Apple or Samsung." - }, - "Model" : { - "shape" : "__string", - "documentation" : "The model name or number of the endpoint device, such as iPhone." - }, - "ModelVersion" : { - "shape" : "__string", - "documentation" : "The model version of the endpoint device." - }, - "Platform" : { - "shape" : "__string", - "documentation" : "The platform of the endpoint device, such as iOS or Android." - }, - "PlatformVersion" : { - "shape" : "__string", - "documentation" : "The platform version of the endpoint device." - }, - "Timezone" : { - "shape" : "__string", - "documentation" : "The timezone of the endpoint. Specified as a tz database value, such as Americas/Los_Angeles." - } - }, - "documentation" : "Demographic information about the endpoint." - }, - "EndpointItemResponse" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "A custom message associated with the registration of an endpoint when issuing a response." - }, - "StatusCode" : { - "shape" : "__integer", - "documentation" : "The status code to respond with for a particular endpoint id after endpoint registration" - } - }, - "documentation" : "The responses that are returned after you create or update an endpoint and record an event." - }, - "EndpointLocation" : { - "type" : "structure", - "members" : { - "City" : { - "shape" : "__string", - "documentation" : "The city where the endpoint is located." - }, - "Country" : { - "shape" : "__string", - "documentation" : "The two-letter code for the country or region of the endpoint. Specified as an ISO 3166-1 Alpha-2 code, such as \"US\" for the United States." - }, - "Latitude" : { - "shape" : "__double", - "documentation" : "The latitude of the endpoint location, rounded to one decimal place." - }, - "Longitude" : { - "shape" : "__double", - "documentation" : "The longitude of the endpoint location, rounded to one decimal place." - }, - "PostalCode" : { - "shape" : "__string", - "documentation" : "The postal code or zip code of the endpoint." - }, - "Region" : { - "shape" : "__string", - "documentation" : "The region of the endpoint location. For example, in the United States, this corresponds to a state." - } - }, - "documentation" : "Location data for the endpoint." - }, - "EndpointMessageResult" : { - "type" : "structure", - "members" : { - "Address" : { - "shape" : "__string", - "documentation" : "Address that endpoint message was delivered to." - }, - "DeliveryStatus" : { - "shape" : "DeliveryStatus", - "documentation" : "The delivery status of the message. Possible values:\n\nSUCCESS - The message was successfully delivered to the endpoint.\n\nTRANSIENT_FAILURE - A temporary error occurred. Amazon Pinpoint will attempt to deliver the message again later.\n\nFAILURE_PERMANENT - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.\n\nTIMEOUT - The message couldn't be sent within the timeout period.\n\nQUIET_TIME - The local time for the endpoint was within the Quiet Hours for the campaign.\n\nDAILY_CAP - The endpoint has received the maximum number of messages it can receive within a 24-hour period.\n\nHOLDOUT - The endpoint was in a hold out treatment for the campaign.\n\nTHROTTLED - Amazon Pinpoint throttled sending to this endpoint.\n\nEXPIRED - The endpoint address is expired.\n\nCAMPAIGN_CAP - The endpoint received the maximum number of messages allowed by the campaign.\n\nSERVICE_FAILURE - A service-level failure prevented Amazon Pinpoint from delivering the message.\n\nUNKNOWN - An unknown error occurred." - }, - "MessageId" : { - "shape" : "__string", - "documentation" : "Unique message identifier associated with the message that was sent." - }, - "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 endpoint.", - "required" : [ ] - }, - "EndpointRequest" : { - "type" : "structure", - "members" : { - "Address" : { - "shape" : "__string", - "documentation" : "The destination for messages that you send to this endpoint. The address varies by channel. For mobile push channels, use the token provided by the push notification service, such as the APNs device token or the FCM registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address." - }, - "Attributes" : { - "shape" : "MapOfListOf__string", - "documentation" : "Custom attributes that describe the endpoint by associating a name with an array of values. For example, an attribute named \"interests\" might have the values [\"science\", \"politics\", \"travel\"]. You can use these attributes as selection criteria when you create a segment of users to engage with a messaging campaign.\n\nThe following characters are not recommended in attribute names: # : ? \\ /. The Amazon Pinpoint console does not display attributes that include these characters in the name. This limitation does not apply to attribute values." - }, - "ChannelType" : { - "shape" : "ChannelType", - "documentation" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU" - }, - "Demographic" : { - "shape" : "EndpointDemographic", - "documentation" : "Demographic attributes for the endpoint." - }, - "EffectiveDate" : { - "shape" : "__string", - "documentation" : "The date and time when the endpoint was updated, shown in ISO 8601 format." - }, - "EndpointStatus" : { - "shape" : "__string", - "documentation" : "Unused." - }, - "Location" : { - "shape" : "EndpointLocation", - "documentation" : "The endpoint location attributes." - }, - "Metrics" : { - "shape" : "MapOf__double", - "documentation" : "Custom metrics that your app reports to Amazon Pinpoint." - }, - "OptOut" : { - "shape" : "__string", - "documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages." - }, - "RequestId" : { - "shape" : "__string", - "documentation" : "The unique ID for the most recent request to update the endpoint." - }, - "User" : { - "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 of the endpoint as provided by your push provider. For example, the DeviceToken or RegistrationId." - }, - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application that is associated with the endpoint." - }, - "Attributes" : { - "shape" : "MapOfListOf__string", - "documentation" : "Custom attributes that describe the endpoint by associating a name with an array of values. For example, an attribute named \"interests\" might have the following values: [\"science\", \"politics\", \"travel\"]. You can use these attributes as selection criteria when you create segments.\n\nThe Amazon Pinpoint console can't display attribute names that include the following characters: hash/pound sign (#), colon (:), question mark (?), backslash (\\), and forward slash (/). For this reason, you should avoid using these characters in the names of custom attributes." - }, - "ChannelType" : { - "shape" : "ChannelType", - "documentation" : "The channel type.\n\nValid values: GCM | APNS | APNS_SANDBOX | APNS_VOIP | APNS_VOIP_SANDBOX | ADM | SMS | EMAIL | BAIDU" - }, - "CohortId" : { - "shape" : "__string", - "documentation" : "A number from 0-99 that represents the cohort the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an app. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for a campaign." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date and time when the endpoint was created, shown in ISO 8601 format." - }, - "Demographic" : { - "shape" : "EndpointDemographic", - "documentation" : "The endpoint demographic attributes." - }, - "EffectiveDate" : { - "shape" : "__string", - "documentation" : "The date and time when the endpoint was last updated, shown in ISO 8601 format." - }, - "EndpointStatus" : { - "shape" : "__string", - "documentation" : "Unused." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique ID that you assigned to the endpoint. The ID should be a globally unique identifier (GUID) to ensure that it doesn't conflict with other endpoint IDs associated with the application." - }, - "Location" : { - "shape" : "EndpointLocation", - "documentation" : "The endpoint location attributes." - }, - "Metrics" : { - "shape" : "MapOf__double", - "documentation" : "Custom metrics that your app reports to Amazon Pinpoint." - }, - "OptOut" : { - "shape" : "__string", - "documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages." - }, - "RequestId" : { - "shape" : "__string", - "documentation" : "The unique ID for the most recent request to update the endpoint." - }, - "User" : { - "shape" : "EndpointUser", - "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." - } - }, - "documentation" : "Endpoint response" - }, - "EndpointSendConfiguration" : { - "type" : "structure", - "members" : { - "BodyOverride" : { - "shape" : "__string", - "documentation" : "Body override. If specified will override default body." - }, - "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" : "Endpoint send configuration." - }, - "EndpointUser" : { - "type" : "structure", - "members" : { - "UserAttributes" : { - "shape" : "MapOfListOf__string", - "documentation" : "Custom attributes that describe the user by associating a name with an array of values. For example, an attribute named \"interests\" might have the following values: [\"science\", \"politics\", \"travel\"]. You can use these attributes as selection criteria when you create segments.\n\nThe Amazon Pinpoint console can't display attribute names that include the following characters: hash/pound sign (#), colon (:), question mark (?), backslash (\\), and forward slash (/). For this reason, you should avoid using these characters in the names of custom attributes." - }, - "UserId" : { - "shape" : "__string", - "documentation" : "The unique ID of the user." - } - }, - "documentation" : "Endpoint user specific custom userAttributes" - }, - "EndpointsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfEndpointResponse", - "documentation" : "The list of endpoints." - } - }, - "documentation" : "List of endpoints", - "required" : [ ] - }, - "Event" : { - "type" : "structure", - "members" : { - "Attributes" : { - "shape" : "MapOf__string", - "documentation" : "Custom attributes that are associated with the event you're adding or updating." - }, - "ClientSdkVersion" : { - "shape" : "__string", - "documentation" : "The version of the SDK that's running on the client device." - }, - "EventType" : { - "shape" : "__string", - "documentation" : "The name of the custom event that you're recording." - }, - "Metrics" : { - "shape" : "MapOf__double", - "documentation" : "Event metrics" - }, - "Session" : { - "shape" : "Session", - "documentation" : "The session" - }, - "Timestamp" : { - "shape" : "__string", - "documentation" : "The date and time when the event occurred, in ISO 8601 format." - } - }, - "documentation" : "Model for creating or updating events.", - "required" : [ ] - }, - "EventItemResponse" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "A custom message that is associated with the processing of an event." - }, - "StatusCode" : { - "shape" : "__integer", - "documentation" : "The status code to respond with for a particular event id" - } - }, - "documentation" : "The responses that are returned after you record an event." - }, - "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" : "(Deprecated) Your AWS account ID, which you assigned to the ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to assume an IAM role. This requirement is removed, and external IDs are not recommended for IAM roles assumed by Amazon Pinpoint." - }, - "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.", - "required" : [ ] - }, - "EventsBatch" : { - "type" : "structure", - "members" : { - "Endpoint" : { - "shape" : "PublicEndpoint", - "documentation" : "Endpoint information" - }, - "Events" : { - "shape" : "MapOfEvent", - "documentation" : "Events" - } - }, - "documentation" : "Events batch definition", - "required" : [ ] - }, - "EventsRequest" : { - "type" : "structure", - "members" : { - "BatchItem" : { - "shape" : "MapOfEventsBatch", - "documentation" : "Batch of events with endpoint id as the key and an object of EventsBatch as value. The EventsBatch object has the PublicEndpoint and a map of event Id's to events" - } - }, - "documentation" : "Put Events request", - "required" : [ ] - }, - "EventsResponse" : { - "type" : "structure", - "members" : { - "Results" : { - "shape" : "MapOfItemResponse", - "documentation" : "A map containing a multi part response for each endpoint, with the endpoint id as the key and item response as the value" - } - }, - "documentation" : "The results from processing a put events request" - }, - "ExportJobRequest" : { - "type" : "structure", - "members" : { - "RoleArn" : { - "shape" : "__string", - "documentation" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that endpoints will be exported to." - }, - "S3UrlPrefix" : { - "shape" : "__string", - "documentation" : "A URL that points to the location within an Amazon S3 bucket that will receive the export. The location is typically a folder with multiple files.\n\nThe URL should follow this format: s3://bucket-name/folder-name/\n\nAmazon Pinpoint will export endpoints to this location." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application." - }, - "SegmentVersion" : { - "shape" : "__integer", - "documentation" : "The version of the segment to export if specified." - } - }, - "documentation" : "Export job request.", - "required" : [ ] - }, - "ExportJobResource" : { - "type" : "structure", - "members" : { - "RoleArn" : { - "shape" : "__string", - "documentation" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that endpoints will be exported to." - }, - "S3UrlPrefix" : { - "shape" : "__string", - "documentation" : "A URL that points to the location within an Amazon S3 bucket that will receive the export. The location is typically a folder with multiple files.\n\nThe URL should follow this format: s3://bucket-name/folder-name/\n\nAmazon Pinpoint will export endpoints to this location." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to export endpoints from. If not present, Amazon Pinpoint exports all of the endpoints that belong to the application." - }, - "SegmentVersion" : { - "shape" : "__integer", - "documentation" : "The version of the segment to export if specified." - } - }, - "documentation" : "Export job resource.", - "required" : [ ] - }, - "ExportJobResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID of the application associated with the export job." - }, - "CompletedPieces" : { - "shape" : "__integer", - "documentation" : "The number of pieces that have successfully completed as of the time of the request." - }, - "CompletionDate" : { - "shape" : "__string", - "documentation" : "The date the job completed in ISO 8601 format." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date the job was created in ISO 8601 format." - }, - "Definition" : { - "shape" : "ExportJobResource", - "documentation" : "The export job settings." - }, - "FailedPieces" : { - "shape" : "__integer", - "documentation" : "The number of pieces that failed to be processed as of the time of the request." - }, - "Failures" : { - "shape" : "ListOf__string", - "documentation" : "Provides up to 100 of the first failed entries for the job, if any exist." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique ID of the job." - }, - "JobStatus" : { - "shape" : "JobStatus", - "documentation" : "The status of the job.\nValid values: CREATED, INITIALIZING, PROCESSING, COMPLETING, COMPLETED, FAILING, FAILED\n\nThe job status is FAILED if one or more pieces failed." - }, - "TotalFailures" : { - "shape" : "__integer", - "documentation" : "The number of endpoints that were not processed; for example, because of syntax errors." - }, - "TotalPieces" : { - "shape" : "__integer", - "documentation" : "The total number of pieces that must be processed to finish the job. Each piece is an approximately equal portion of the endpoints." - }, - "TotalProcessed" : { - "shape" : "__integer", - "documentation" : "The number of endpoints that were processed by the job." - }, - "Type" : { - "shape" : "__string", - "documentation" : "The job type. Will be 'EXPORT'." - } - }, - "documentation" : "Export job response.", - "required" : [ ] - }, - "ExportJobsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfExportJobResponse", - "documentation" : "A list of export jobs for the application." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." - } - }, - "documentation" : "Export job list.", - "required" : [ ] - }, - "ForbiddenException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 403 - } - }, - "Format" : { - "type" : "string", - "enum" : [ "CSV", "JSON" ] - }, - "Frequency" : { - "type" : "string", - "enum" : [ "ONCE", "HOURLY", "DAILY", "WEEKLY", "MONTHLY" ] - }, - "GCMChannelRequest" : { - "type" : "structure", - "members" : { - "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", - "required" : [ ] - }, - "GCMChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application to which the channel applies." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "When was this segment created" - }, - "Credential" : { - "shape" : "__string", - "documentation" : "The GCM API key from Google." - }, - "Enabled" : { - "shape" : "__boolean", - "documentation" : "If the channel is enabled for sending messages." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "Id" : { - "shape" : "__string", - "documentation" : "Channel ID. Not used. Present 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 GCM" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "Version of channel" - } - }, - "documentation" : "Google Cloud Messaging channel definition", - "required" : [ ] - }, - "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." - }, - "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." - }, - "Priority" : { - "shape" : "__string", - "documentation" : "The message priority. Amazon Pinpoint uses this value to set the FCM or GCM priority parameter when it sends the message. Accepts the following values:\n\n\"Normal\" - Messages might be delayed. Delivery is optimized for battery usage on the receiving device. Use normal priority unless immediate delivery is required.\n\n\"High\" - Messages are sent immediately and might wake a sleeping device.\n\nThe equivalent values for APNs messages are \"5\" and \"10\". Amazon Pinpoint accepts these values here and converts them.\n\nFor more information, see About FCM Messages in the Firebase documentation." - }, - "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." - }, - "TimeToLive" : { - "shape" : "__integer", - "documentation" : "The length of time (in seconds) that FCM or GCM stores and attempts to deliver the message. If unspecified, the value defaults to the maximum, which is 2,419,200 seconds (28 days). Amazon Pinpoint uses this value to set the FCM or GCM time_to_live parameter." - }, - "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." - }, - "GPSCoordinates" : { - "type" : "structure", - "members" : { - "Latitude" : { - "shape" : "__double", - "documentation" : "Latitude" - }, - "Longitude" : { - "shape" : "__double", - "documentation" : "Longitude" - } - }, - "documentation" : "GPS coordinates", - "required" : [ ] - }, - "GPSPointDimension" : { - "type" : "structure", - "members" : { - "Coordinates" : { - "shape" : "GPSCoordinates", - "documentation" : "Coordinate to measure distance from." - }, - "RangeInKilometers" : { - "shape" : "__double", - "documentation" : "Range in kilometers from the coordinate." - } - }, - "documentation" : "GPS point location dimension", - "required" : [ ] - }, - "GetAdmChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetAdmChannelResponse" : { - "type" : "structure", - "members" : { - "ADMChannelResponse" : { - "shape" : "ADMChannelResponse" - } - }, - "required" : [ "ADMChannelResponse" ], - "payload" : "ADMChannelResponse" - }, - "GetApnsChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApnsChannelResponse" : { - "type" : "structure", - "members" : { - "APNSChannelResponse" : { - "shape" : "APNSChannelResponse" - } - }, - "required" : [ "APNSChannelResponse" ], - "payload" : "APNSChannelResponse" - }, - "GetApnsSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApnsSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSSandboxChannelResponse" : { - "shape" : "APNSSandboxChannelResponse" - } - }, - "required" : [ "APNSSandboxChannelResponse" ], - "payload" : "APNSSandboxChannelResponse" - }, - "GetApnsVoipChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApnsVoipChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipChannelResponse" : { - "shape" : "APNSVoipChannelResponse" - } - }, - "required" : [ "APNSVoipChannelResponse" ], - "payload" : "APNSVoipChannelResponse" - }, - "GetApnsVoipSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApnsVoipSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipSandboxChannelResponse" : { - "shape" : "APNSVoipSandboxChannelResponse" - } - }, - "required" : [ "APNSVoipSandboxChannelResponse" ], - "payload" : "APNSVoipSandboxChannelResponse" - }, - "GetAppRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetAppResponse" : { - "type" : "structure", - "members" : { - "ApplicationResponse" : { - "shape" : "ApplicationResponse" - } - }, - "required" : [ "ApplicationResponse" ], - "payload" : "ApplicationResponse" - }, - "GetApplicationSettingsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApplicationSettingsResponse" : { - "type" : "structure", - "members" : { - "ApplicationSettingsResource" : { - "shape" : "ApplicationSettingsResource" - } - }, - "required" : [ "ApplicationSettingsResource" ], - "payload" : "ApplicationSettingsResource" - }, - "GetAppsRequest" : { - "type" : "structure", - "members" : { - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - } - }, - "GetAppsResponse" : { - "type" : "structure", - "members" : { - "ApplicationsResponse" : { - "shape" : "ApplicationsResponse" - } - }, - "required" : [ "ApplicationsResponse" ], - "payload" : "ApplicationsResponse" - }, - "GetBaiduChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetBaiduChannelResponse" : { - "type" : "structure", - "members" : { - "BaiduChannelResponse" : { - "shape" : "BaiduChannelResponse" - } - }, - "required" : [ "BaiduChannelResponse" ], - "payload" : "BaiduChannelResponse" - }, - "GetCampaignActivitiesRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId", "CampaignId" ] - }, - "GetCampaignActivitiesResponse" : { - "type" : "structure", - "members" : { - "ActivitiesResponse" : { - "shape" : "ActivitiesResponse" - } - }, - "required" : [ "ActivitiesResponse" ], - "payload" : "ActivitiesResponse" - }, - "GetCampaignRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - } - }, - "required" : [ "CampaignId", "ApplicationId" ] - }, - "GetCampaignResponse" : { - "type" : "structure", - "members" : { - "CampaignResponse" : { - "shape" : "CampaignResponse" - } - }, - "required" : [ "CampaignResponse" ], - "payload" : "CampaignResponse" - }, - "GetCampaignVersionRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - }, - "Version" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "version", - "documentation" : "The version of the campaign." - } - }, - "required" : [ "Version", "ApplicationId", "CampaignId" ] - }, - "GetCampaignVersionResponse" : { - "type" : "structure", - "members" : { - "CampaignResponse" : { - "shape" : "CampaignResponse" - } - }, - "required" : [ "CampaignResponse" ], - "payload" : "CampaignResponse" - }, - "GetCampaignVersionsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId", "CampaignId" ] - }, - "GetCampaignVersionsResponse" : { - "type" : "structure", - "members" : { - "CampaignsResponse" : { - "shape" : "CampaignsResponse" - } - }, - "required" : [ "CampaignsResponse" ], - "payload" : "CampaignsResponse" - }, - "GetCampaignsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetCampaignsResponse" : { - "type" : "structure", - "members" : { - "CampaignsResponse" : { - "shape" : "CampaignsResponse" - } - }, - "required" : [ "CampaignsResponse" ], - "payload" : "CampaignsResponse" - }, - "GetChannelsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetChannelsResponse" : { - "type" : "structure", - "members" : { - "ChannelsResponse" : { - "shape" : "ChannelsResponse" - } - }, - "required" : [ "ChannelsResponse" ], - "payload" : "ChannelsResponse" - }, - "GetEmailChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetEmailChannelResponse" : { - "type" : "structure", - "members" : { - "EmailChannelResponse" : { - "shape" : "EmailChannelResponse" - } - }, - "required" : [ "EmailChannelResponse" ], - "payload" : "EmailChannelResponse" - }, - "GetEndpointRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EndpointId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "endpoint-id", - "documentation" : "The unique ID of the endpoint." - } - }, - "required" : [ "ApplicationId", "EndpointId" ] - }, - "GetEndpointResponse" : { - "type" : "structure", - "members" : { - "EndpointResponse" : { - "shape" : "EndpointResponse" - } - }, - "required" : [ "EndpointResponse" ], - "payload" : "EndpointResponse" - }, - "GetEventStreamRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetEventStreamResponse" : { - "type" : "structure", - "members" : { - "EventStream" : { - "shape" : "EventStream" - } - }, - "required" : [ "EventStream" ], - "payload" : "EventStream" - }, - "GetExportJobRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "JobId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "job-id", - "documentation" : "The unique ID of the job." - } - }, - "required" : [ "ApplicationId", "JobId" ] - }, - "GetExportJobResponse" : { - "type" : "structure", - "members" : { - "ExportJobResponse" : { - "shape" : "ExportJobResponse" - } - }, - "required" : [ "ExportJobResponse" ], - "payload" : "ExportJobResponse" - }, - "GetExportJobsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetExportJobsResponse" : { - "type" : "structure", - "members" : { - "ExportJobsResponse" : { - "shape" : "ExportJobsResponse" - } - }, - "required" : [ "ExportJobsResponse" ], - "payload" : "ExportJobsResponse" - }, - "GetGcmChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetGcmChannelResponse" : { - "type" : "structure", - "members" : { - "GCMChannelResponse" : { - "shape" : "GCMChannelResponse" - } - }, - "required" : [ "GCMChannelResponse" ], - "payload" : "GCMChannelResponse" - }, - "GetImportJobRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "JobId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "job-id", - "documentation" : "The unique ID of the job." - } - }, - "required" : [ "ApplicationId", "JobId" ] - }, - "GetImportJobResponse" : { - "type" : "structure", - "members" : { - "ImportJobResponse" : { - "shape" : "ImportJobResponse" - } - }, - "required" : [ "ImportJobResponse" ], - "payload" : "ImportJobResponse" - }, - "GetImportJobsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetImportJobsResponse" : { - "type" : "structure", - "members" : { - "ImportJobsResponse" : { - "shape" : "ImportJobsResponse" - } - }, - "required" : [ "ImportJobsResponse" ], - "payload" : "ImportJobsResponse" - }, - "GetSegmentExportJobsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "SegmentId", "ApplicationId" ] - }, - "GetSegmentExportJobsResponse" : { - "type" : "structure", - "members" : { - "ExportJobsResponse" : { - "shape" : "ExportJobsResponse" - } - }, - "required" : [ "ExportJobsResponse" ], - "payload" : "ExportJobsResponse" - }, - "GetSegmentImportJobsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "SegmentId", "ApplicationId" ] - }, - "GetSegmentImportJobsResponse" : { - "type" : "structure", - "members" : { - "ImportJobsResponse" : { - "shape" : "ImportJobsResponse" - } - }, - "required" : [ "ImportJobsResponse" ], - "payload" : "ImportJobsResponse" - }, - "GetSegmentRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - } - }, - "required" : [ "SegmentId", "ApplicationId" ] - }, - "GetSegmentResponse" : { - "type" : "structure", - "members" : { - "SegmentResponse" : { - "shape" : "SegmentResponse" - } - }, - "required" : [ "SegmentResponse" ], - "payload" : "SegmentResponse" - }, - "GetSegmentVersionRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - }, - "Version" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "version", - "documentation" : "The segment version." - } - }, - "required" : [ "SegmentId", "Version", "ApplicationId" ] - }, - "GetSegmentVersionResponse" : { - "type" : "structure", - "members" : { - "SegmentResponse" : { - "shape" : "SegmentResponse" - } - }, - "required" : [ "SegmentResponse" ], - "payload" : "SegmentResponse" - }, - "GetSegmentVersionsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "SegmentId", "ApplicationId" ] - }, - "GetSegmentVersionsResponse" : { - "type" : "structure", - "members" : { - "SegmentsResponse" : { - "shape" : "SegmentsResponse" - } - }, - "required" : [ "SegmentsResponse" ], - "payload" : "SegmentsResponse" - }, - "GetSegmentsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "PageSize" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "page-size", - "documentation" : "The number of entries you want on each page in the response." - }, - "Token" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "token", - "documentation" : "The NextToken string returned on a previous page that you use to get the next page of results in a paginated response." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetSegmentsResponse" : { - "type" : "structure", - "members" : { - "SegmentsResponse" : { - "shape" : "SegmentsResponse" - } - }, - "required" : [ "SegmentsResponse" ], - "payload" : "SegmentsResponse" - }, - "GetSmsChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId" ] - }, - "GetSmsChannelResponse" : { - "type" : "structure", - "members" : { - "SMSChannelResponse" : { - "shape" : "SMSChannelResponse" - } - }, - "required" : [ "SMSChannelResponse" ], - "payload" : "SMSChannelResponse" - }, - "GetUserEndpointsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "UserId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "user-id", - "documentation" : "The unique ID of the user." - } - }, - "required" : [ "ApplicationId", "UserId" ] - }, - "GetUserEndpointsResponse" : { - "type" : "structure", - "members" : { - "EndpointsResponse" : { - "shape" : "EndpointsResponse" - } - }, - "required" : [ "EndpointsResponse" ], - "payload" : "EndpointsResponse" - }, - "ImportJobRequest" : { - "type" : "structure", - "members" : { - "DefineSegment" : { - "shape" : "__boolean", - "documentation" : "Sets whether the endpoints create a segment when they are imported." - }, - "ExternalId" : { - "shape" : "__string", - "documentation" : "(Deprecated) Your AWS account ID, which you assigned to the ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to assume an IAM role. This requirement is removed, and external IDs are not recommended for IAM roles assumed by Amazon Pinpoint." - }, - "Format" : { - "shape" : "Format", - "documentation" : "The format of the files that contain the endpoint definitions.\nValid values: CSV, JSON" - }, - "RegisterEndpoints" : { - "shape" : "__boolean", - "documentation" : "Sets whether the endpoints are registered with Amazon Pinpoint when they are imported." - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that contains the endpoints to import." - }, - "S3Url" : { - "shape" : "__string", - "documentation" : "The URL of the S3 bucket that contains the segment information to import. The location can be a folder or a single file. The URL should use the following format: s3://bucket-name/folder-name/file-name\n\nAmazon Pinpoint imports endpoints from this location and any subfolders it contains." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to update if the import job is meant to update an existing segment." - }, - "SegmentName" : { - "shape" : "__string", - "documentation" : "A custom name for the segment created by the import job. Use if DefineSegment is true." - } - }, - "documentation" : "Import job request.", - "required" : [ ] - }, - "ImportJobResource" : { - "type" : "structure", - "members" : { - "DefineSegment" : { - "shape" : "__boolean", - "documentation" : "Sets whether the endpoints create a segment when they are imported." - }, - "ExternalId" : { - "shape" : "__string", - "documentation" : "(Deprecated) Your AWS account ID, which you assigned to the ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to assume an IAM role. This requirement is removed, and external IDs are not recommended for IAM roles assumed by Amazon Pinpoint." - }, - "Format" : { - "shape" : "Format", - "documentation" : "The format of the files that contain the endpoint definitions.\nValid values: CSV, JSON" - }, - "RegisterEndpoints" : { - "shape" : "__boolean", - "documentation" : "Sets whether the endpoints are registered with Amazon Pinpoint when they are imported." - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that contains the endpoints to import." - }, - "S3Url" : { - "shape" : "__string", - "documentation" : "The URL of the S3 bucket that contains the segment information to import. The location can be a folder or a single file. The URL should use the following format: s3://bucket-name/folder-name/file-name\n\nAmazon Pinpoint imports endpoints from this location and any subfolders it contains." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to update if the import job is meant to update an existing segment." - }, - "SegmentName" : { - "shape" : "__string", - "documentation" : "A custom name for the segment created by the import job. Use if DefineSegment is true." - } - }, - "documentation" : "Import job resource", - "required" : [ ] - }, - "ImportJobResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID of the application to which the import job applies." - }, - "CompletedPieces" : { - "shape" : "__integer", - "documentation" : "The number of pieces that have successfully imported as of the time of the request." - }, - "CompletionDate" : { - "shape" : "__string", - "documentation" : "The date the import job completed in ISO 8601 format." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date the import job was created in ISO 8601 format." - }, - "Definition" : { - "shape" : "ImportJobResource", - "documentation" : "The import job settings." - }, - "FailedPieces" : { - "shape" : "__integer", - "documentation" : "The number of pieces that have failed to import as of the time of the request." - }, - "Failures" : { - "shape" : "ListOf__string", - "documentation" : "Provides up to 100 of the first failed entries for the job, if any exist." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique ID of the import job." - }, - "JobStatus" : { - "shape" : "JobStatus", - "documentation" : "The status of the import job.\nValid values: CREATED, INITIALIZING, PROCESSING, COMPLETING, COMPLETED, FAILING, FAILED\n\nThe job status is FAILED if one or more pieces failed to import." - }, - "TotalFailures" : { - "shape" : "__integer", - "documentation" : "The number of endpoints that failed to import; for example, because of syntax errors." - }, - "TotalPieces" : { - "shape" : "__integer", - "documentation" : "The total number of pieces that must be imported to finish the job. Each piece is an approximately equal portion of the endpoints to import." - }, - "TotalProcessed" : { - "shape" : "__integer", - "documentation" : "The number of endpoints that were processed by the import job." - }, - "Type" : { - "shape" : "__string", - "documentation" : "The job type. Will be Import." - } - }, - "documentation" : "Import job response.", - "required" : [ ] - }, - "ImportJobsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfImportJobResponse", - "documentation" : "A list of import jobs for the application." - }, - "NextToken" : { - "shape" : "__string", - "documentation" : "The string that you use in a subsequent request to get the next page of results in a paginated response." - } - }, - "documentation" : "Import job list.", - "required" : [ ] - }, - "Include" : { - "type" : "string", - "enum" : [ "ALL", "ANY", "NONE" ] - }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "ItemResponse" : { - "type" : "structure", - "members" : { - "EndpointItemResponse" : { - "shape" : "EndpointItemResponse", - "documentation" : "Endpoint item response after endpoint registration" - }, - "EventsItemResponse" : { - "shape" : "MapOfEventItemResponse", - "documentation" : "Events item response is a multipart response object per event Id, with eventId as the key and EventItemResponse object as the value" - } - }, - "documentation" : "The endpoint and events combined response definition" - }, - "JobStatus" : { - "type" : "string", - "enum" : [ "CREATED", "INITIALIZING", "PROCESSING", "COMPLETING", "COMPLETED", "FAILING", "FAILED" ] - }, - "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." - }, - "Body" : { - "shape" : "__string", - "documentation" : "The message body. Can include up to 140 characters." - }, - "ImageIconUrl" : { - "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." - }, - "JsonBody" : { - "shape" : "__string", - "documentation" : "The JSON payload used for a silent push." - }, - "MediaUrl" : { - "shape" : "__string", - "documentation" : "The URL that points to the media resource, for example a .mp4 or .gif file." - }, - "RawContent" : { - "shape" : "__string", - "documentation" : "The Raw JSON formatted string to be used as the payload. This value overrides the message." - }, - "SilentPush" : { - "shape" : "__boolean", - "documentation" : "Indicates if the message should display on the users device.\n\nSilent pushes can be used for Remote Configuration and Phone Home use cases. " - }, - "TimeToLive" : { - "shape" : "__integer", - "documentation" : "This parameter specifies how long (in seconds) the message should be kept if the service is unable to deliver the notification the first time. If the value is 0, it treats the notification as if it expires immediately and does not store the notification or attempt to redeliver it. This value is converted to the expiration field when sent to the service. It only applies to APNs and GCM" - }, - "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" : "Message to send", - "required" : [ ] - }, - "MessageBody" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object." - }, - "MessageConfiguration" : { - "type" : "structure", - "members" : { - "ADMMessage" : { - "shape" : "Message", - "documentation" : "The message that the campaign delivers to ADM channels. Overrides the default message." - }, - "APNSMessage" : { - "shape" : "Message", - "documentation" : "The message that the campaign delivers to APNS channels. Overrides the default message." - }, - "BaiduMessage" : { - "shape" : "Message", - "documentation" : "The message that the campaign delivers to Baidu channels. Overrides the default message." - }, - "DefaultMessage" : { - "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 key-value pairs, where each key is an address and each value is an AddressConfiguration object. An address can be a push notification token, a phone number, or an email address." - }, - "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." - }, - "Endpoints" : { - "shape" : "MapOfEndpointSendConfiguration", - "documentation" : "A map of key-value pairs, where each key is an endpoint ID and each value is an EndpointSendConfiguration object. Within an EndpointSendConfiguration object, you can tailor the message for an endpoint by specifying message overrides or substitutions." - }, - "MessageConfiguration" : { - "shape" : "DirectMessageConfiguration", - "documentation" : "Message configuration." - }, - "TraceId" : { - "shape" : "__string", - "documentation" : "A unique ID that you can use to trace a message. This ID is visible to recipients." - } - }, - "documentation" : "Send message request.", - "required" : [ ] - }, - "MessageResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "Application id of the message." - }, - "EndpointResult" : { - "shape" : "MapOfEndpointMessageResult", - "documentation" : "A map containing a multi part response for each address, with the endpointId as the key and the result as the value." - }, - "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.", - "required" : [ ] - }, - "MessageResult" : { - "type" : "structure", - "members" : { - "DeliveryStatus" : { - "shape" : "DeliveryStatus", - "documentation" : "The delivery status of the message. Possible values:\n\nSUCCESS - The message was successfully delivered to the endpoint.\n\nTRANSIENT_FAILURE - A temporary error occurred. Amazon Pinpoint will attempt to deliver the message again later.\n\nFAILURE_PERMANENT - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.\n\nTIMEOUT - The message couldn't be sent within the timeout period.\n\nQUIET_TIME - The local time for the endpoint was within the Quiet Hours for the campaign.\n\nDAILY_CAP - The endpoint has received the maximum number of messages it can receive within a 24-hour period.\n\nHOLDOUT - The endpoint was in a hold out treatment for the campaign.\n\nTHROTTLED - Amazon Pinpoint throttled sending to this endpoint.\n\nEXPIRED - The endpoint address is expired.\n\nCAMPAIGN_CAP - The endpoint received the maximum number of messages allowed by the campaign.\n\nSERVICE_FAILURE - A service-level failure prevented Amazon Pinpoint from delivering the message.\n\nUNKNOWN - An unknown error occurred." - }, - "MessageId" : { - "shape" : "__string", - "documentation" : "Unique message identifier associated with the message that was sent." - }, - "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.", - "required" : [ ] - }, - "MessageType" : { - "type" : "string", - "enum" : [ "TRANSACTIONAL", "PROMOTIONAL" ] - }, - "MethodNotAllowedException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 405 - } - }, - "MetricDimension" : { - "type" : "structure", - "members" : { - "ComparisonOperator" : { - "shape" : "__string", - "documentation" : "GREATER_THAN | LESS_THAN | GREATER_THAN_OR_EQUAL | LESS_THAN_OR_EQUAL | EQUAL" - }, - "Value" : { - "shape" : "__double", - "documentation" : "Value to be compared." - } - }, - "documentation" : "Custom metric dimension" - }, - "Mode" : { - "type" : "string", - "enum" : [ "DELIVERY", "FILTER" ] - }, - "NotFoundException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 404 - } - }, - "NumberValidateRequest" : { - "type" : "structure", - "members" : { - "IsoCountryCode" : { - "shape" : "__string", - "documentation" : "(Optional) The two-character ISO country code for the country or region where the phone number was originally registered." - }, - "PhoneNumber" : { - "shape" : "__string", - "documentation" : "The phone number to get information about. The phone number that you provide should include a country code. If the number doesn't include a valid country code, the operation might result in an error." - } - }, - "documentation" : "Phone Number Information request." - }, - "NumberValidateResponse" : { - "type" : "structure", - "members" : { - "Carrier" : { - "shape" : "__string", - "documentation" : "The carrier or servive provider that the phone number is currently registered with." - }, - "City" : { - "shape" : "__string", - "documentation" : "The city where the phone number was originally registered." - }, - "CleansedPhoneNumberE164" : { - "shape" : "__string", - "documentation" : "The cleansed phone number, shown in E.164 format." - }, - "CleansedPhoneNumberNational" : { - "shape" : "__string", - "documentation" : "The cleansed phone number, shown in the local phone number format." - }, - "Country" : { - "shape" : "__string", - "documentation" : "The country or region where the phone number was originally registered." - }, - "CountryCodeIso2" : { - "shape" : "__string", - "documentation" : "The two-character ISO code for the country or region where the phone number was originally registered." - }, - "CountryCodeNumeric" : { - "shape" : "__string", - "documentation" : "The numeric code for the country or region where the phone number was originally registered." - }, - "County" : { - "shape" : "__string", - "documentation" : "The county where the phone number was originally registered." - }, - "OriginalCountryCodeIso2" : { - "shape" : "__string", - "documentation" : "The two-character ISO code for the country or region that you included in the request body." - }, - "OriginalPhoneNumber" : { - "shape" : "__string", - "documentation" : "The phone number that you included in the request body." - }, - "PhoneType" : { - "shape" : "__string", - "documentation" : "A description of the phone type. Possible values are MOBILE, LANDLINE, VOIP, INVALID, PREPAID, and OTHER." - }, - "PhoneTypeCode" : { - "shape" : "__integer", - "documentation" : "The phone type, represented by an integer. Possible values include 0 (MOBILE), 1 (LANDLINE), 2 (VOIP), 3 (INVALID), 4 (OTHER), and 5 (PREPAID)." - }, - "Timezone" : { - "shape" : "__string", - "documentation" : "The time zone for the location where the phone number was originally registered." - }, - "ZipCode" : { - "shape" : "__string", - "documentation" : "The postal code for the location where the phone number was originally registered." - } - }, - "documentation" : "Phone Number Information response." - }, - "PhoneNumberValidateRequest" : { - "type" : "structure", - "members" : { - "NumberValidateRequest" : { - "shape" : "NumberValidateRequest" - } - }, - "required" : [ "NumberValidateRequest" ], - "payload" : "NumberValidateRequest" - }, - "PhoneNumberValidateResponse" : { - "type" : "structure", - "members" : { - "NumberValidateResponse" : { - "shape" : "NumberValidateResponse" - } - }, - "required" : [ "NumberValidateResponse" ], - "payload" : "NumberValidateResponse" - }, - "PublicEndpoint" : { - "type" : "structure", - "members" : { - "Address" : { - "shape" : "__string", - "documentation" : "The unique identifier for the recipient. For example, an address could be a device token or an endpoint ID." - }, - "Attributes" : { - "shape" : "MapOfListOf__string", - "documentation" : "Custom attributes that your app reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create a segment." - }, - "ChannelType" : { - "shape" : "ChannelType", - "documentation" : "The channel type.\n\nValid values: APNS, GCM" - }, - "Demographic" : { - "shape" : "EndpointDemographic", - "documentation" : "The endpoint demographic attributes." - }, - "EffectiveDate" : { - "shape" : "__string", - "documentation" : "The date and time when the endpoint was last updated." - }, - "EndpointStatus" : { - "shape" : "__string", - "documentation" : "The status of the endpoint. If the update fails, the value is INACTIVE. If the endpoint is updated successfully, the value is ACTIVE." - }, - "Location" : { - "shape" : "EndpointLocation", - "documentation" : "The endpoint location attributes." - }, - "Metrics" : { - "shape" : "MapOf__double", - "documentation" : "Custom metrics that your app reports to Amazon Pinpoint." - }, - "OptOut" : { - "shape" : "__string", - "documentation" : "Indicates whether a user has opted out of receiving messages with one of the following values:\n\nALL - User has opted out of all messages.\n\nNONE - Users has not opted out and receives all messages." - }, - "RequestId" : { - "shape" : "__string", - "documentation" : "A unique identifier that is generated each time the endpoint is updated." - }, - "User" : { - "shape" : "EndpointUser", - "documentation" : "Custom user-specific attributes that your app reports to Amazon Pinpoint." - } - }, - "documentation" : "Public endpoint attributes." - }, - "PutEventStreamRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "WriteEventStream" : { - "shape" : "WriteEventStream" - } - }, - "required" : [ "ApplicationId", "WriteEventStream" ], - "payload" : "WriteEventStream" - }, - "PutEventStreamResponse" : { - "type" : "structure", - "members" : { - "EventStream" : { - "shape" : "EventStream" - } - }, - "required" : [ "EventStream" ], - "payload" : "EventStream" - }, - "PutEventsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EventsRequest" : { - "shape" : "EventsRequest" - } - }, - "required" : [ "ApplicationId", "EventsRequest" ], - "payload" : "EventsRequest" - }, - "PutEventsResponse" : { - "type" : "structure", - "members" : { - "EventsResponse" : { - "shape" : "EventsResponse" - } - }, - "required" : [ "EventsResponse" ], - "payload" : "EventsResponse" - }, - "QuietTime" : { - "type" : "structure", - "members" : { - "End" : { - "shape" : "__string", - "documentation" : "The default end time for quiet time in ISO 8601 format." - }, - "Start" : { - "shape" : "__string", - "documentation" : "The default start time for quiet time in ISO 8601 format." - } - }, - "documentation" : "Quiet Time" - }, - "RecencyDimension" : { - "type" : "structure", - "members" : { - "Duration" : { - "shape" : "Duration", - "documentation" : "The length of time during which users have been active or inactive with your app.\nValid values: HR_24, DAY_7, DAY_14, DAY_30" - }, - "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" : "Define how a segment based on recency of use.", - "required" : [ ] - }, - "RecencyType" : { - "type" : "string", - "enum" : [ "ACTIVE", "INACTIVE" ] - }, - "RemoveAttributesRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "AttributeType" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "attribute-type", - "documentation" : "Type of attribute. Can be endpoint-custom-attributes, endpoint-custom-metrics, endpoint-user-attributes." - }, - "UpdateAttributesRequest" : { - "shape" : "UpdateAttributesRequest" - } - }, - "required" : [ "AttributeType", "ApplicationId", "UpdateAttributesRequest" ], - "payload" : "UpdateAttributesRequest" - }, - "RemoveAttributesResponse" : { - "type" : "structure", - "members" : { - "AttributesResource" : { - "shape" : "AttributesResource" - } - }, - "required" : [ "AttributesResource" ], - "payload" : "AttributesResource" - }, - "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." - }, - "ShortCode" : { - "shape" : "__string", - "documentation" : "ShortCode registered with phone provider." - } - }, - "documentation" : "SMS Channel Request", - "required" : [ ] - }, - "SMSChannelResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID of the application to which the SMS channel belongs." - }, - "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." - }, - "HasCredential" : { - "shape" : "__boolean", - "documentation" : "Not used. Retained for backwards compatibility." - }, - "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\"" - }, - "PromotionalMessagesPerSecond" : { - "shape" : "__integer", - "documentation" : "Promotional messages per second that can be sent" - }, - "SenderId" : { - "shape" : "__string", - "documentation" : "Sender identifier of your messages." - }, - "ShortCode" : { - "shape" : "__string", - "documentation" : "The short code registered with the phone provider." - }, - "TransactionalMessagesPerSecond" : { - "shape" : "__integer", - "documentation" : "Transactional messages per second that can be sent" - }, - "Version" : { - "shape" : "__integer", - "documentation" : "Version of channel" - } - }, - "documentation" : "SMS Channel Response.", - "required" : [ ] - }, - "SMSMessage" : { - "type" : "structure", - "members" : { - "Body" : { - "shape" : "__string", - "documentation" : "The body of the SMS message." - }, - "Keyword" : { - "shape" : "__string", - "documentation" : "The SMS program name that you provided to AWS Support when you requested your dedicated number." - }, - "MessageType" : { - "shape" : "MessageType", - "documentation" : "Is this a transaction priority message or lower priority." - }, - "OriginationNumber" : { - "shape" : "__string", - "documentation" : "The phone number that the SMS message originates from. Specify one of the dedicated long codes or short codes that you requested from AWS Support and that is assigned to your account. If this attribute is not specified, Amazon Pinpoint randomly assigns a long code." - }, - "SenderId" : { - "shape" : "__string", - "documentation" : "The sender ID that is shown as the message sender on the recipient's device. Support for sender IDs varies by country or region." - }, - "Substitutions" : { - "shape" : "MapOfListOf__string", - "documentation" : "Default message substitutions. Can be overridden by individual address substitutions." - } - }, - "documentation" : "SMS Message." - }, - "Schedule" : { - "type" : "structure", - "members" : { - "EndTime" : { - "shape" : "__string", - "documentation" : "The scheduled time that the campaign ends in ISO 8601 format." - }, - "Frequency" : { - "shape" : "Frequency", - "documentation" : "How often the campaign delivers messages.\n\nValid values: ONCE, HOURLY, DAILY, WEEKLY, MONTHLY" - }, - "IsLocalTime" : { - "shape" : "__boolean", - "documentation" : "Indicates whether the campaign schedule takes effect according to each user's local time." - }, - "QuietTime" : { - "shape" : "QuietTime", - "documentation" : "The time during which the campaign sends no messages." - }, - "StartTime" : { - "shape" : "__string", - "documentation" : "The scheduled time that the campaign begins in ISO 8601 format." - }, - "Timezone" : { - "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.", - "required" : [ ] - }, - "SegmentBehaviors" : { - "type" : "structure", - "members" : { - "Recency" : { - "shape" : "RecencyDimension", - "documentation" : "The recency of use." - } - }, - "documentation" : "Segment behavior dimensions" - }, - "SegmentDemographics" : { - "type" : "structure", - "members" : { - "AppVersion" : { - "shape" : "SetDimension", - "documentation" : "The app version criteria for the segment." - }, - "Channel" : { - "shape" : "SetDimension", - "documentation" : "The channel criteria for the segment." - }, - "DeviceType" : { - "shape" : "SetDimension", - "documentation" : "The device type criteria for the segment." - }, - "Make" : { - "shape" : "SetDimension", - "documentation" : "The device make criteria for the segment." - }, - "Model" : { - "shape" : "SetDimension", - "documentation" : "The device model criteria for the segment." - }, - "Platform" : { - "shape" : "SetDimension", - "documentation" : "The device platform criteria for the segment." - } - }, - "documentation" : "Segment demographic dimensions" - }, - "SegmentDimensions" : { - "type" : "structure", - "members" : { - "Attributes" : { - "shape" : "MapOfAttributeDimension", - "documentation" : "Custom segment attributes." - }, - "Behavior" : { - "shape" : "SegmentBehaviors", - "documentation" : "The segment behaviors attributes." - }, - "Demographic" : { - "shape" : "SegmentDemographics", - "documentation" : "The segment demographics attributes." - }, - "Location" : { - "shape" : "SegmentLocation", - "documentation" : "The segment location attributes." - }, - "Metrics" : { - "shape" : "MapOfMetricDimension", - "documentation" : "Custom segment metrics." - }, - "UserAttributes" : { - "shape" : "MapOfAttributeDimension", - "documentation" : "Custom segment user attributes." - } - }, - "documentation" : "Segment dimensions" - }, - "SegmentGroup" : { - "type" : "structure", - "members" : { - "Dimensions" : { - "shape" : "ListOfSegmentDimensions", - "documentation" : "List of dimensions to include or exclude." - }, - "SourceSegments" : { - "shape" : "ListOfSegmentReference", - "documentation" : "The base segment that you build your segment on. The source segment defines the starting \"universe\" of endpoints. When you add dimensions to the segment, it filters the source segment based on the dimensions that you specify. You can specify more than one dimensional segment. You can only specify one imported segment." - }, - "SourceType" : { - "shape" : "SourceType", - "documentation" : "Specify how to handle multiple source segments. For example, if you specify three source segments, should the resulting segment be based on any or all of the segments? Acceptable values: ANY or ALL." - }, - "Type" : { - "shape" : "Type", - "documentation" : "Specify how to handle multiple segment dimensions. For example, if you specify three dimensions, should the resulting segment include endpoints that are matched by all, any, or none of the dimensions? Acceptable values: ALL, ANY, or NONE." - } - }, - "documentation" : "Segment group definition.", - "required" : [ ] - }, - "SegmentGroupList" : { - "type" : "structure", - "members" : { - "Groups" : { - "shape" : "ListOfSegmentGroup", - "documentation" : "A set of segment criteria to evaluate." - }, - "Include" : { - "shape" : "Include", - "documentation" : "Specify how to handle multiple segment groups. For example, if the segment includes three segment groups, should the resulting segment include endpoints that are matched by all, any, or none of the segment groups you created. Acceptable values: ALL, ANY, or NONE." - } - }, - "documentation" : "Segment group definition.", - "required" : [ ] - }, - "SegmentImportResource" : { - "type" : "structure", - "members" : { - "ChannelCounts" : { - "shape" : "MapOf__integer", - "documentation" : "The number of channel types in the imported segment." - }, - "ExternalId" : { - "shape" : "__string", - "documentation" : "(Deprecated) Your AWS account ID, which you assigned to the ExternalID key in an IAM trust policy. Used by Amazon Pinpoint to assume an IAM role. This requirement is removed, and external IDs are not recommended for IAM roles assumed by Amazon Pinpoint." - }, - "Format" : { - "shape" : "Format", - "documentation" : "The format of the endpoint files that were imported to create this segment.\nValid values: CSV, JSON" - }, - "RoleArn" : { - "shape" : "__string", - "documentation" : "The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the endpoints in Amazon S3." - }, - "S3Url" : { - "shape" : "__string", - "documentation" : "The URL of the S3 bucket that the segment was imported from." - }, - "Size" : { - "shape" : "__integer", - "documentation" : "The number of endpoints that were successfully imported to create this segment." - } - }, - "documentation" : "Segment import definition.", - "required" : [ ] - }, - "SegmentLocation" : { - "type" : "structure", - "members" : { - "Country" : { - "shape" : "SetDimension", - "documentation" : "The country filter according to ISO 3166-1 Alpha-2 codes." - }, - "GPSPoint" : { - "shape" : "GPSPointDimension", - "documentation" : "The GPS Point dimension." - } - }, - "documentation" : "Segment location dimensions" - }, - "SegmentReference" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "documentation" : "A unique identifier for the segment." - }, - "Version" : { - "shape" : "__integer", - "documentation" : "If specified contains a specific version of the segment included." - } - }, - "documentation" : "Segment reference." - }, - "SegmentResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The ID of the application that the segment applies to." - }, - "CreationDate" : { - "shape" : "__string", - "documentation" : "The date and time when the segment was created." - }, - "Dimensions" : { - "shape" : "SegmentDimensions", - "documentation" : "The segment dimensions attributes." - }, - "Id" : { - "shape" : "__string", - "documentation" : "The unique segment ID." - }, - "ImportDefinition" : { - "shape" : "SegmentImportResource", - "documentation" : "The import job settings." - }, - "LastModifiedDate" : { - "shape" : "__string", - "documentation" : "The date and time when the segment was last modified." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of the segment." - }, - "SegmentGroups" : { - "shape" : "SegmentGroupList", - "documentation" : "A segment group, which consists of zero or more source segments, plus dimensions that are applied to those source segments." - }, - "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." - }, - "Version" : { - "shape" : "__integer", - "documentation" : "The segment version number." - } - }, - "documentation" : "Segment definition.", - "required" : [ ] - }, - "SegmentType" : { - "type" : "string", - "enum" : [ "DIMENSIONAL", "IMPORT" ] - }, - "SegmentsResponse" : { - "type" : "structure", - "members" : { - "Item" : { - "shape" : "ListOfSegmentResponse", - "documentation" : "The list of segments." - }, - "NextToken" : { - "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.", - "required" : [ ] - }, - "SendMessagesRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "MessageRequest" : { - "shape" : "MessageRequest" - } - }, - "required" : [ "ApplicationId", "MessageRequest" ], - "payload" : "MessageRequest" - }, - "SendMessagesResponse" : { - "type" : "structure", - "members" : { - "MessageResponse" : { - "shape" : "MessageResponse" - } - }, - "required" : [ "MessageResponse" ], - "payload" : "MessageResponse" - }, - "SendUsersMessageRequest" : { - "type" : "structure", - "members" : { - "Context" : { - "shape" : "MapOf__string", - "documentation" : "A map of custom attribute-value pairs. Amazon Pinpoint adds these attributes to the data.pinpoint object in the body of the push notification payload. Amazon Pinpoint also provides these attributes in the events that it generates for users-messages deliveries." - }, - "MessageConfiguration" : { - "shape" : "DirectMessageConfiguration", - "documentation" : "Message definitions for the default message and any messages that are tailored for specific channels." - }, - "TraceId" : { - "shape" : "__string", - "documentation" : "A unique ID that you can use to trace a message. This ID is visible to recipients." - }, - "Users" : { - "shape" : "MapOfEndpointSendConfiguration", - "documentation" : "A map that associates user IDs with EndpointSendConfiguration objects. Within an EndpointSendConfiguration object, you can tailor the message for a user by specifying message overrides or substitutions." - } - }, - "documentation" : "Send message request.", - "required" : [ ] - }, - "SendUsersMessageResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "documentation" : "The unique ID of the Amazon Pinpoint project used to send the message." - }, - "RequestId" : { - "shape" : "__string", - "documentation" : "The unique ID assigned to the users-messages request." - }, - "Result" : { - "shape" : "MapOfMapOfEndpointMessageResult", - "documentation" : "An object that shows the endpoints that were messaged for each user. The object provides a list of user IDs. For each user ID, it provides the endpoint IDs that were messaged. For each endpoint ID, it provides an EndpointMessageResult object." - } - }, - "documentation" : "User send message response.", - "required" : [ ] - }, - "SendUsersMessagesRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SendUsersMessageRequest" : { - "shape" : "SendUsersMessageRequest" - } - }, - "required" : [ "ApplicationId", "SendUsersMessageRequest" ], - "payload" : "SendUsersMessageRequest" - }, - "SendUsersMessagesResponse" : { - "type" : "structure", - "members" : { - "SendUsersMessageResponse" : { - "shape" : "SendUsersMessageResponse" - } - }, - "required" : [ "SendUsersMessageResponse" ], - "payload" : "SendUsersMessageResponse" - }, - "Session" : { - "type" : "structure", - "members" : { - "Duration" : { - "shape" : "__integer", - "documentation" : "Session duration in millis" - }, - "Id" : { - "shape" : "__string", - "documentation" : "A unique identifier for the session." - }, - "StartTimestamp" : { - "shape" : "__string", - "documentation" : "The date and time when the session began." - }, - "StopTimestamp" : { - "shape" : "__string", - "documentation" : "The date and time when the session ended." - } - }, - "documentation" : "Information about a session.", - "required" : [ ] - }, - "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." - }, - "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.", - "required" : [ ] - }, - "SourceType" : { - "type" : "string", - "enum" : [ "ALL", "ANY", "NONE" ] - }, - "TooManyRequestsException" : { - "type" : "structure", - "members" : { - "Message" : { - "shape" : "__string", - "documentation" : "The error message that's returned from the API." - }, - "RequestID" : { - "shape" : "__string", - "documentation" : "The unique message body ID." - } - }, - "documentation" : "Simple message object.", - "exception" : true, - "error" : { - "httpStatusCode" : 429 - } - }, - "TreatmentResource" : { - "type" : "structure", - "members" : { - "Id" : { - "shape" : "__string", - "documentation" : "The unique treatment ID." - }, - "MessageConfiguration" : { - "shape" : "MessageConfiguration", - "documentation" : "The message configuration settings." - }, - "Schedule" : { - "shape" : "Schedule", - "documentation" : "The campaign schedule." - }, - "SizePercent" : { - "shape" : "__integer", - "documentation" : "The allocated percentage of users for this treatment." - }, - "State" : { - "shape" : "CampaignState", - "documentation" : "The treatment status." - }, - "TreatmentDescription" : { - "shape" : "__string", - "documentation" : "A custom description for the treatment." - }, - "TreatmentName" : { - "shape" : "__string", - "documentation" : "The custom name of a variation of the campaign used for A/B testing." - } - }, - "documentation" : "Treatment resource", - "required" : [ ] - }, - "Type" : { - "type" : "string", - "enum" : [ "ALL", "ANY", "NONE" ] - }, - "UpdateAdmChannelRequest" : { - "type" : "structure", - "members" : { - "ADMChannelRequest" : { - "shape" : "ADMChannelRequest" - }, - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId", "ADMChannelRequest" ], - "payload" : "ADMChannelRequest" - }, - "UpdateAdmChannelResponse" : { - "type" : "structure", - "members" : { - "ADMChannelResponse" : { - "shape" : "ADMChannelResponse" - } - }, - "required" : [ "ADMChannelResponse" ], - "payload" : "ADMChannelResponse" - }, - "UpdateApnsChannelRequest" : { - "type" : "structure", - "members" : { - "APNSChannelRequest" : { - "shape" : "APNSChannelRequest" - }, - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId", "APNSChannelRequest" ], - "payload" : "APNSChannelRequest" - }, - "UpdateApnsChannelResponse" : { - "type" : "structure", - "members" : { - "APNSChannelResponse" : { - "shape" : "APNSChannelResponse" - } - }, - "required" : [ "APNSChannelResponse" ], - "payload" : "APNSChannelResponse" - }, - "UpdateApnsSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "APNSSandboxChannelRequest" : { - "shape" : "APNSSandboxChannelRequest" - }, - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId", "APNSSandboxChannelRequest" ], - "payload" : "APNSSandboxChannelRequest" - }, - "UpdateApnsSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSSandboxChannelResponse" : { - "shape" : "APNSSandboxChannelResponse" - } - }, - "required" : [ "APNSSandboxChannelResponse" ], - "payload" : "APNSSandboxChannelResponse" - }, - "UpdateApnsVoipChannelRequest" : { - "type" : "structure", - "members" : { - "APNSVoipChannelRequest" : { - "shape" : "APNSVoipChannelRequest" - }, - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId", "APNSVoipChannelRequest" ], - "payload" : "APNSVoipChannelRequest" - }, - "UpdateApnsVoipChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipChannelResponse" : { - "shape" : "APNSVoipChannelResponse" - } - }, - "required" : [ "APNSVoipChannelResponse" ], - "payload" : "APNSVoipChannelResponse" - }, - "UpdateApnsVoipSandboxChannelRequest" : { - "type" : "structure", - "members" : { - "APNSVoipSandboxChannelRequest" : { - "shape" : "APNSVoipSandboxChannelRequest" - }, - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - } - }, - "required" : [ "ApplicationId", "APNSVoipSandboxChannelRequest" ], - "payload" : "APNSVoipSandboxChannelRequest" - }, - "UpdateApnsVoipSandboxChannelResponse" : { - "type" : "structure", - "members" : { - "APNSVoipSandboxChannelResponse" : { - "shape" : "APNSVoipSandboxChannelResponse" - } - }, - "required" : [ "APNSVoipSandboxChannelResponse" ], - "payload" : "APNSVoipSandboxChannelResponse" - }, - "UpdateApplicationSettingsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "WriteApplicationSettingsRequest" : { - "shape" : "WriteApplicationSettingsRequest" - } - }, - "required" : [ "ApplicationId", "WriteApplicationSettingsRequest" ], - "payload" : "WriteApplicationSettingsRequest" - }, - "UpdateApplicationSettingsResponse" : { - "type" : "structure", - "members" : { - "ApplicationSettingsResource" : { - "shape" : "ApplicationSettingsResource" - } - }, - "required" : [ "ApplicationSettingsResource" ], - "payload" : "ApplicationSettingsResource" - }, - "UpdateAttributesRequest" : { - "type" : "structure", - "members" : { - "Blacklist" : { - "shape" : "ListOf__string", - "documentation" : "The GLOB wildcard for removing the attributes in the application" - } - }, - "documentation" : "Update attributes request" - }, - "UpdateBaiduChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "BaiduChannelRequest" : { - "shape" : "BaiduChannelRequest" - } - }, - "required" : [ "ApplicationId", "BaiduChannelRequest" ], - "payload" : "BaiduChannelRequest" - }, - "UpdateBaiduChannelResponse" : { - "type" : "structure", - "members" : { - "BaiduChannelResponse" : { - "shape" : "BaiduChannelResponse" - } - }, - "required" : [ "BaiduChannelResponse" ], - "payload" : "BaiduChannelResponse" - }, - "UpdateCampaignRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "CampaignId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "campaign-id", - "documentation" : "The unique ID of the campaign." - }, - "WriteCampaignRequest" : { - "shape" : "WriteCampaignRequest" - } - }, - "required" : [ "CampaignId", "ApplicationId", "WriteCampaignRequest" ], - "payload" : "WriteCampaignRequest" - }, - "UpdateCampaignResponse" : { - "type" : "structure", - "members" : { - "CampaignResponse" : { - "shape" : "CampaignResponse" - } - }, - "required" : [ "CampaignResponse" ], - "payload" : "CampaignResponse" - }, - "UpdateEmailChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EmailChannelRequest" : { - "shape" : "EmailChannelRequest" - } - }, - "required" : [ "ApplicationId", "EmailChannelRequest" ], - "payload" : "EmailChannelRequest" - }, - "UpdateEmailChannelResponse" : { - "type" : "structure", - "members" : { - "EmailChannelResponse" : { - "shape" : "EmailChannelResponse" - } - }, - "required" : [ "EmailChannelResponse" ], - "payload" : "EmailChannelResponse" - }, - "UpdateEndpointRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EndpointId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "endpoint-id", - "documentation" : "The unique ID of the endpoint." - }, - "EndpointRequest" : { - "shape" : "EndpointRequest" - } - }, - "required" : [ "ApplicationId", "EndpointId", "EndpointRequest" ], - "payload" : "EndpointRequest" - }, - "UpdateEndpointResponse" : { - "type" : "structure", - "members" : { - "MessageBody" : { - "shape" : "MessageBody" - } - }, - "required" : [ "MessageBody" ], - "payload" : "MessageBody" - }, - "UpdateEndpointsBatchRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "EndpointBatchRequest" : { - "shape" : "EndpointBatchRequest" - } - }, - "required" : [ "ApplicationId", "EndpointBatchRequest" ], - "payload" : "EndpointBatchRequest" - }, - "UpdateEndpointsBatchResponse" : { - "type" : "structure", - "members" : { - "MessageBody" : { - "shape" : "MessageBody" - } - }, - "required" : [ "MessageBody" ], - "payload" : "MessageBody" - }, - "UpdateGcmChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "GCMChannelRequest" : { - "shape" : "GCMChannelRequest" - } - }, - "required" : [ "ApplicationId", "GCMChannelRequest" ], - "payload" : "GCMChannelRequest" - }, - "UpdateGcmChannelResponse" : { - "type" : "structure", - "members" : { - "GCMChannelResponse" : { - "shape" : "GCMChannelResponse" - } - }, - "required" : [ "GCMChannelResponse" ], - "payload" : "GCMChannelResponse" - }, - "UpdateSegmentRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SegmentId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "segment-id", - "documentation" : "The unique ID of the segment." - }, - "WriteSegmentRequest" : { - "shape" : "WriteSegmentRequest" - } - }, - "required" : [ "SegmentId", "ApplicationId", "WriteSegmentRequest" ], - "payload" : "WriteSegmentRequest" - }, - "UpdateSegmentResponse" : { - "type" : "structure", - "members" : { - "SegmentResponse" : { - "shape" : "SegmentResponse" - } - }, - "required" : [ "SegmentResponse" ], - "payload" : "SegmentResponse" - }, - "UpdateSmsChannelRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "application-id", - "documentation" : "The unique ID of your Amazon Pinpoint application." - }, - "SMSChannelRequest" : { - "shape" : "SMSChannelRequest" - } - }, - "required" : [ "ApplicationId", "SMSChannelRequest" ], - "payload" : "SMSChannelRequest" - }, - "UpdateSmsChannelResponse" : { - "type" : "structure", - "members" : { - "SMSChannelResponse" : { - "shape" : "SMSChannelResponse" - } - }, - "required" : [ "SMSChannelResponse" ], - "payload" : "SMSChannelResponse" - }, - "WriteApplicationSettingsRequest" : { - "type" : "structure", - "members" : { - "CampaignHook" : { - "shape" : "CampaignHook", - "documentation" : "Default campaign hook information." - }, - "CloudWatchMetricsEnabled" : { - "shape" : "__boolean", - "documentation" : "The CloudWatchMetrics settings for the app." - }, - "Limits" : { - "shape" : "CampaignLimits", - "documentation" : "The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own." - }, - "QuietTime" : { - "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", - "members" : { - "AdditionalTreatments" : { - "shape" : "ListOfWriteTreatmentResource", - "documentation" : "Treatments that are defined in addition to the default treatment." - }, - "Description" : { - "shape" : "__string", - "documentation" : "A description of the campaign." - }, - "HoldoutPercent" : { - "shape" : "__integer", - "documentation" : "The allocated percentage of end users who will not receive messages from this campaign." - }, - "Hook" : { - "shape" : "CampaignHook", - "documentation" : "Campaign hook information." - }, - "IsPaused" : { - "shape" : "__boolean", - "documentation" : "Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false." - }, - "Limits" : { - "shape" : "CampaignLimits", - "documentation" : "The campaign limits settings." - }, - "MessageConfiguration" : { - "shape" : "MessageConfiguration", - "documentation" : "The message configuration settings." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The custom name of the campaign." - }, - "Schedule" : { - "shape" : "Schedule", - "documentation" : "The campaign schedule." - }, - "SegmentId" : { - "shape" : "__string", - "documentation" : "The ID of the segment to which the campaign sends messages." - }, - "SegmentVersion" : { - "shape" : "__integer", - "documentation" : "The version of the segment to which the campaign sends messages." - }, - "TreatmentDescription" : { - "shape" : "__string", - "documentation" : "A custom description for the treatment." - }, - "TreatmentName" : { - "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" - }, - "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.", - "required" : [ ] - }, - "WriteSegmentRequest" : { - "type" : "structure", - "members" : { - "Dimensions" : { - "shape" : "SegmentDimensions", - "documentation" : "The segment dimensions attributes." - }, - "Name" : { - "shape" : "__string", - "documentation" : "The name of segment" - }, - "SegmentGroups" : { - "shape" : "SegmentGroupList", - "documentation" : "A segment group, which consists of zero or more source segments, plus dimensions that are applied to those source segments. Your request can only include one segment group. Your request can include either a SegmentGroups object or a Dimensions object, but not both." - } - }, - "documentation" : "Segment definition.", - "required" : [ ] - }, - "WriteTreatmentResource" : { - "type" : "structure", - "members" : { - "MessageConfiguration" : { - "shape" : "MessageConfiguration", - "documentation" : "The message configuration settings." - }, - "Schedule" : { - "shape" : "Schedule", - "documentation" : "The campaign schedule." - }, - "SizePercent" : { - "shape" : "__integer", - "documentation" : "The allocated percentage of users for this treatment." - }, - "TreatmentDescription" : { - "shape" : "__string", - "documentation" : "A custom description for the treatment." - }, - "TreatmentName" : { - "shape" : "__string", - "documentation" : "The custom name of a variation of the campaign used for A/B testing." - } - }, - "documentation" : "Used to create a campaign treatment.", - "required" : [ ] - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "ListOfActivityResponse" : { - "type" : "list", - "member" : { - "shape" : "ActivityResponse" - } - }, - "ListOfApplicationResponse" : { - "type" : "list", - "member" : { - "shape" : "ApplicationResponse" - } - }, - "ListOfCampaignResponse" : { - "type" : "list", - "member" : { - "shape" : "CampaignResponse" - } - }, - "ListOfEndpointBatchItem" : { - "type" : "list", - "member" : { - "shape" : "EndpointBatchItem" - } - }, - "ListOfEndpointResponse" : { - "type" : "list", - "member" : { - "shape" : "EndpointResponse" - } - }, - "ListOfExportJobResponse" : { - "type" : "list", - "member" : { - "shape" : "ExportJobResponse" - } - }, - "ListOfImportJobResponse" : { - "type" : "list", - "member" : { - "shape" : "ImportJobResponse" - } - }, - "ListOfSegmentDimensions" : { - "type" : "list", - "member" : { - "shape" : "SegmentDimensions" - } - }, - "ListOfSegmentGroup" : { - "type" : "list", - "member" : { - "shape" : "SegmentGroup" - } - }, - "ListOfSegmentReference" : { - "type" : "list", - "member" : { - "shape" : "SegmentReference" - } - }, - "ListOfSegmentResponse" : { - "type" : "list", - "member" : { - "shape" : "SegmentResponse" - } - }, - "ListOfTreatmentResource" : { - "type" : "list", - "member" : { - "shape" : "TreatmentResource" - } - }, - "ListOfWriteTreatmentResource" : { - "type" : "list", - "member" : { - "shape" : "WriteTreatmentResource" - } - }, - "ListOf__string" : { - "type" : "list", - "member" : { - "shape" : "__string" - } - }, - "__long" : { - "type" : "long" - }, - "MapOfAddressConfiguration" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "AddressConfiguration" - } - }, - "MapOfAttributeDimension" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "AttributeDimension" - } - }, - "MapOfChannelResponse" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "ChannelResponse" - } - }, - "MapOfEndpointMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EndpointMessageResult" - } - }, - "MapOfEndpointSendConfiguration" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EndpointSendConfiguration" - } - }, - "MapOfEvent" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "Event" - } - }, - "MapOfEventItemResponse" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EventItemResponse" - } - }, - "MapOfEventsBatch" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "EventsBatch" - } - }, - "MapOfItemResponse" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "ItemResponse" - } - }, - "MapOfMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "MessageResult" - } - }, - "MapOfMetricDimension" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "MetricDimension" - } - }, - "MapOf__double" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__double" - } - }, - "MapOf__integer" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__integer" - } - }, - "MapOfListOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "ListOf__string" - } - }, - "MapOfMapOfEndpointMessageResult" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "MapOfEndpointMessageResult" - } - }, - "MapOf__string" : { - "type" : "map", - "key" : { - "shape" : "__string" - }, - "value" : { - "shape" : "__string" - } - }, - "__string" : { - "type" : "string" - }, - "__timestampIso8601" : { - "type" : "timestamp", - "timestampFormat" : "iso8601" - }, - "__timestampUnix" : { - "type" : "timestamp", - "timestampFormat" : "unixTimestamp" - } - } -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/examples-1.json deleted file mode 100644 index 38205dbe..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/examples-1.json +++ /dev/null @@ -1,171 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/paginators-1.json deleted file mode 100644 index c24ff035..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/paginators-1.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pagination": { - "DescribeVoices": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Voices" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/service-2.json deleted file mode 100644 index 8d78aed4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/polly/2016-06-10/service-2.json +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-06-10", - "endpointPrefix":"polly", - "protocol":"rest-json", - "serviceFullName":"Amazon Polly", - "serviceId":"Polly", - "signatureVersion":"v4", - "uid":"polly-2016-06-10" - }, - "operations":{ - "DeleteLexicon":{ - "name":"DeleteLexicon", - "http":{ - "method":"DELETE", - "requestUri":"/v1/lexicons/{LexiconName}", - "responseCode":200 - }, - "input":{"shape":"DeleteLexiconInput"}, - "output":{"shape":"DeleteLexiconOutput"}, - "errors":[ - {"shape":"LexiconNotFoundException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Deletes the specified pronunciation lexicon stored in an AWS Region. A lexicon which has been deleted is not available for speech synthesis, nor is it possible to retrieve it using either the GetLexicon or ListLexicon APIs.

For more information, see Managing Lexicons.

" - }, - "DescribeVoices":{ - "name":"DescribeVoices", - "http":{ - "method":"GET", - "requestUri":"/v1/voices", - "responseCode":200 - }, - "input":{"shape":"DescribeVoicesInput"}, - "output":{"shape":"DescribeVoicesOutput"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns the list of voices that are available for use when requesting speech synthesis. Each voice speaks a specified language, is either male or female, and is identified by an ID, which is the ASCII version of the voice name.

When synthesizing speech ( SynthesizeSpeech ), you provide the voice ID for the voice you want from the list of voices returned by DescribeVoices.

For example, you want your news reader application to read news in a specific language, but giving a user the option to choose the voice. Using the DescribeVoices operation you can provide the user with a list of available voices to select from.

You can optionally specify a language code to filter the available voices. For example, if you specify en-US, the operation returns a list of all available US English voices.

This operation requires permissions to perform the polly:DescribeVoices action.

" - }, - "GetLexicon":{ - "name":"GetLexicon", - "http":{ - "method":"GET", - "requestUri":"/v1/lexicons/{LexiconName}", - "responseCode":200 - }, - "input":{"shape":"GetLexiconInput"}, - "output":{"shape":"GetLexiconOutput"}, - "errors":[ - {"shape":"LexiconNotFoundException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns the content of the specified pronunciation lexicon stored in an AWS Region. For more information, see Managing Lexicons.

" - }, - "GetSpeechSynthesisTask":{ - "name":"GetSpeechSynthesisTask", - "http":{ - "method":"GET", - "requestUri":"/v1/synthesisTasks/{TaskId}", - "responseCode":200 - }, - "input":{"shape":"GetSpeechSynthesisTaskInput"}, - "output":{"shape":"GetSpeechSynthesisTaskOutput"}, - "errors":[ - {"shape":"InvalidTaskIdException"}, - {"shape":"ServiceFailureException"}, - {"shape":"SynthesisTaskNotFoundException"} - ], - "documentation":"

Retrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains information about the given speech synthesis task, including the status of the task, and a link to the S3 bucket containing the output of the task.

" - }, - "ListLexicons":{ - "name":"ListLexicons", - "http":{ - "method":"GET", - "requestUri":"/v1/lexicons", - "responseCode":200 - }, - "input":{"shape":"ListLexiconsInput"}, - "output":{"shape":"ListLexiconsOutput"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons.

" - }, - "ListSpeechSynthesisTasks":{ - "name":"ListSpeechSynthesisTasks", - "http":{ - "method":"GET", - "requestUri":"/v1/synthesisTasks", - "responseCode":200 - }, - "input":{"shape":"ListSpeechSynthesisTasksInput"}, - "output":{"shape":"ListSpeechSynthesisTasksOutput"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Returns a list of SpeechSynthesisTask objects ordered by their creation date. This operation can filter the tasks by their status, for example, allowing users to list only tasks that are completed.

" - }, - "PutLexicon":{ - "name":"PutLexicon", - "http":{ - "method":"PUT", - "requestUri":"/v1/lexicons/{LexiconName}", - "responseCode":200 - }, - "input":{"shape":"PutLexiconInput"}, - "output":{"shape":"PutLexiconOutput"}, - "errors":[ - {"shape":"InvalidLexiconException"}, - {"shape":"UnsupportedPlsAlphabetException"}, - {"shape":"UnsupportedPlsLanguageException"}, - {"shape":"LexiconSizeExceededException"}, - {"shape":"MaxLexemeLengthExceededException"}, - {"shape":"MaxLexiconsNumberExceededException"}, - {"shape":"ServiceFailureException"} - ], - "documentation":"

Stores a pronunciation lexicon in an AWS Region. If a lexicon with the same name already exists in the region, it is overwritten by the new lexicon. Lexicon operations have eventual consistency, therefore, it might take some time before the lexicon is available to the SynthesizeSpeech operation.

For more information, see Managing Lexicons.

" - }, - "StartSpeechSynthesisTask":{ - "name":"StartSpeechSynthesisTask", - "http":{ - "method":"POST", - "requestUri":"/v1/synthesisTasks", - "responseCode":200 - }, - "input":{"shape":"StartSpeechSynthesisTaskInput"}, - "output":{"shape":"StartSpeechSynthesisTaskOutput"}, - "errors":[ - {"shape":"TextLengthExceededException"}, - {"shape":"InvalidS3BucketException"}, - {"shape":"InvalidS3KeyException"}, - {"shape":"InvalidSampleRateException"}, - {"shape":"InvalidSnsTopicArnException"}, - {"shape":"InvalidSsmlException"}, - {"shape":"LexiconNotFoundException"}, - {"shape":"ServiceFailureException"}, - {"shape":"MarksNotSupportedForFormatException"}, - {"shape":"SsmlMarksNotSupportedForTextTypeException"}, - {"shape":"LanguageNotSupportedException"} - ], - "documentation":"

Allows the creation of an asynchronous synthesis task, by starting a new SpeechSynthesisTask. This operation requires all the standard information needed for speech synthesis, plus the name of an Amazon S3 bucket for the service to store the output of the synthesis task and two optional parameters (OutputS3KeyPrefix and SnsTopicArn). Once the synthesis task is created, this operation will return a SpeechSynthesisTask object, which will include an identifier of this task as well as the current status.

" - }, - "SynthesizeSpeech":{ - "name":"SynthesizeSpeech", - "http":{ - "method":"POST", - "requestUri":"/v1/speech", - "responseCode":200 - }, - "input":{"shape":"SynthesizeSpeechInput"}, - "output":{"shape":"SynthesizeSpeechOutput"}, - "errors":[ - {"shape":"TextLengthExceededException"}, - {"shape":"InvalidSampleRateException"}, - {"shape":"InvalidSsmlException"}, - {"shape":"LexiconNotFoundException"}, - {"shape":"ServiceFailureException"}, - {"shape":"MarksNotSupportedForFormatException"}, - {"shape":"SsmlMarksNotSupportedForTextTypeException"}, - {"shape":"LanguageNotSupportedException"} - ], - "documentation":"

Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formed SSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. For more information, see How it Works.

" - } - }, - "shapes":{ - "Alphabet":{"type":"string"}, - "AudioStream":{ - "type":"blob", - "streaming":true - }, - "ContentType":{"type":"string"}, - "DateTime":{"type":"timestamp"}, - "DeleteLexiconInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"LexiconName", - "documentation":"

The name of the lexicon to delete. Must be an existing lexicon in the region.

", - "location":"uri", - "locationName":"LexiconName" - } - } - }, - "DeleteLexiconOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeVoicesInput":{ - "type":"structure", - "members":{ - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don't specify this optional parameter, all available voices are returned.

", - "location":"querystring", - "locationName":"LanguageCode" - }, - "IncludeAdditionalLanguageCodes":{ - "shape":"IncludeAdditionalLanguageCodes", - "documentation":"

Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify no.

", - "location":"querystring", - "locationName":"IncludeAdditionalLanguageCodes" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing.

", - "location":"querystring", - "locationName":"NextToken" - } - } - }, - "DescribeVoicesOutput":{ - "type":"structure", - "members":{ - "Voices":{ - "shape":"VoiceList", - "documentation":"

A list of voices with their properties.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token to use in the next request to continue the listing of voices. NextToken is returned only if the response is truncated.

" - } - } - }, - "ErrorMessage":{"type":"string"}, - "Gender":{ - "type":"string", - "enum":[ - "Female", - "Male" - ] - }, - "GetLexiconInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"LexiconName", - "documentation":"

Name of the lexicon.

", - "location":"uri", - "locationName":"LexiconName" - } - } - }, - "GetLexiconOutput":{ - "type":"structure", - "members":{ - "Lexicon":{ - "shape":"Lexicon", - "documentation":"

Lexicon object that provides name and the string content of the lexicon.

" - }, - "LexiconAttributes":{ - "shape":"LexiconAttributes", - "documentation":"

Metadata of the lexicon, including phonetic alphabetic used, language code, lexicon ARN, number of lexemes defined in the lexicon, and size of lexicon in bytes.

" - } - } - }, - "GetSpeechSynthesisTaskInput":{ - "type":"structure", - "required":["TaskId"], - "members":{ - "TaskId":{ - "shape":"TaskId", - "documentation":"

The Amazon Polly generated identifier for a speech synthesis task.

", - "location":"uri", - "locationName":"TaskId" - } - } - }, - "GetSpeechSynthesisTaskOutput":{ - "type":"structure", - "members":{ - "SynthesisTask":{ - "shape":"SynthesisTask", - "documentation":"

SynthesisTask object that provides information from the requested task, including output format, creation time, task status, and so on.

" - } - } - }, - "IncludeAdditionalLanguageCodes":{"type":"boolean"}, - "InvalidLexiconException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is spelled correctly, and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The NextToken is invalid. Verify that it's spelled correctly, and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidS3BucketException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket naming requirements and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidS3KeyException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key name.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidSampleRateException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified sample rate is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidSnsTopicArnException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidSsmlException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, and then try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTaskIdException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided Task ID is not valid. Please provide a valid Task ID and try again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LanguageCode":{ - "type":"string", - "enum":[ - "cy-GB", - "da-DK", - "de-DE", - "en-AU", - "en-GB", - "en-GB-WLS", - "en-IN", - "en-US", - "es-ES", - "es-US", - "fr-CA", - "fr-FR", - "is-IS", - "it-IT", - "ja-JP", - "hi-IN", - "ko-KR", - "nb-NO", - "nl-NL", - "pl-PL", - "pt-BR", - "pt-PT", - "ro-RO", - "ru-RU", - "sv-SE", - "tr-TR" - ] - }, - "LanguageCodeList":{ - "type":"list", - "member":{"shape":"LanguageCode"} - }, - "LanguageName":{"type":"string"}, - "LanguageNotSupportedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The language specified is not currently supported by Amazon Polly in this capacity.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LastModified":{"type":"timestamp"}, - "LexemesCount":{"type":"integer"}, - "Lexicon":{ - "type":"structure", - "members":{ - "Content":{ - "shape":"LexiconContent", - "documentation":"

Lexicon content in string format. The content of a lexicon must be in PLS format.

" - }, - "Name":{ - "shape":"LexiconName", - "documentation":"

Name of the lexicon.

" - } - }, - "documentation":"

Provides lexicon name and lexicon content in string format. For more information, see Pronunciation Lexicon Specification (PLS) Version 1.0.

" - }, - "LexiconArn":{"type":"string"}, - "LexiconAttributes":{ - "type":"structure", - "members":{ - "Alphabet":{ - "shape":"Alphabet", - "documentation":"

Phonetic alphabet used in the lexicon. Valid values are ipa and x-sampa.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

Language code that the lexicon applies to. A lexicon with a language code such as \"en\" would be applied to all English languages (en-GB, en-US, en-AUS, en-WLS, and so on.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Date lexicon was last modified (a timestamp value).

" - }, - "LexiconArn":{ - "shape":"LexiconArn", - "documentation":"

Amazon Resource Name (ARN) of the lexicon.

" - }, - "LexemesCount":{ - "shape":"LexemesCount", - "documentation":"

Number of lexemes in the lexicon.

" - }, - "Size":{ - "shape":"Size", - "documentation":"

Total size of the lexicon, in characters.

" - } - }, - "documentation":"

Contains metadata describing the lexicon such as the number of lexemes, language code, and so on. For more information, see Managing Lexicons.

" - }, - "LexiconContent":{"type":"string"}, - "LexiconDescription":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"LexiconName", - "documentation":"

Name of the lexicon.

" - }, - "Attributes":{ - "shape":"LexiconAttributes", - "documentation":"

Provides lexicon metadata.

" - } - }, - "documentation":"

Describes the content of the lexicon.

" - }, - "LexiconDescriptionList":{ - "type":"list", - "member":{"shape":"LexiconDescription"} - }, - "LexiconName":{ - "type":"string", - "pattern":"[0-9A-Za-z]{1,20}", - "sensitive":true - }, - "LexiconNameList":{ - "type":"list", - "member":{"shape":"LexiconName"}, - "max":5 - }, - "LexiconNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, its name is misspelled or specifying a lexicon that is in a different region.

Verify that the lexicon exists, is in the region (see ListLexicons) and that you spelled its name is spelled correctly. Then try again.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "LexiconSizeExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum size of the specified lexicon would be exceeded by this operation.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ListLexiconsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque pagination token returned from previous ListLexicons operation. If present, indicates where to continue the list of lexicons.

", - "location":"querystring", - "locationName":"NextToken" - } - } - }, - "ListLexiconsOutput":{ - "type":"structure", - "members":{ - "Lexicons":{ - "shape":"LexiconDescriptionList", - "documentation":"

A list of lexicon names and attributes.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token to use in the next request to continue the listing of lexicons. NextToken is returned only if the response is truncated.

" - } - } - }, - "ListSpeechSynthesisTasksInput":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of speech synthesis tasks returned in a List operation.

", - "location":"querystring", - "locationName":"MaxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The pagination token to use in the next request to continue the listing of speech synthesis tasks.

", - "location":"querystring", - "locationName":"NextToken" - }, - "Status":{ - "shape":"TaskStatus", - "documentation":"

Status of the speech synthesis tasks returned in a List operation

", - "location":"querystring", - "locationName":"Status" - } - } - }, - "ListSpeechSynthesisTasksOutput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An opaque pagination token returned from the previous List operation in this request. If present, this indicates where to continue the listing.

" - }, - "SynthesisTasks":{ - "shape":"SynthesisTasks", - "documentation":"

List of SynthesisTask objects that provides information from the specified task in the list request, including output format, creation time, task status, and so on.

" - } - } - }, - "MarksNotSupportedForFormatException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Speech marks are not supported for the OutputFormat selected. Speech marks are only available for content in json format.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "MaxLexemeLengthExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum size of the lexeme would be exceeded by this operation.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "MaxLexiconsNumberExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum number of lexicons would be exceeded by this operation.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "NextToken":{"type":"string"}, - "OutputFormat":{ - "type":"string", - "enum":[ - "json", - "mp3", - "ogg_vorbis", - "pcm" - ] - }, - "OutputS3BucketName":{ - "type":"string", - "pattern":"^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$" - }, - "OutputS3KeyPrefix":{ - "type":"string", - "pattern":"^[0-9a-zA-Z\\/\\!\\-_\\.\\*\\'\\(\\)]{0,800}$" - }, - "OutputUri":{"type":"string"}, - "PutLexiconInput":{ - "type":"structure", - "required":[ - "Name", - "Content" - ], - "members":{ - "Name":{ - "shape":"LexiconName", - "documentation":"

Name of the lexicon. The name must follow the regular express format [0-9A-Za-z]{1,20}. That is, the name is a case-sensitive alphanumeric string up to 20 characters long.

", - "location":"uri", - "locationName":"LexiconName" - }, - "Content":{ - "shape":"LexiconContent", - "documentation":"

Content of the PLS lexicon as string data.

" - } - } - }, - "PutLexiconOutput":{ - "type":"structure", - "members":{ - } - }, - "RequestCharacters":{"type":"integer"}, - "SampleRate":{"type":"string"}, - "ServiceFailureException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

An unknown condition has caused a service failure.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true - }, - "Size":{"type":"integer"}, - "SnsTopicArn":{ - "type":"string", - "pattern":"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:.*:\\w{12}:.+$" - }, - "SpeechMarkType":{ - "type":"string", - "enum":[ - "sentence", - "ssml", - "viseme", - "word" - ] - }, - "SpeechMarkTypeList":{ - "type":"list", - "member":{"shape":"SpeechMarkType"}, - "max":4 - }, - "SsmlMarksNotSupportedForTextTypeException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

SSML speech marks are not supported for plain text-type input.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "StartSpeechSynthesisTaskInput":{ - "type":"structure", - "required":[ - "OutputFormat", - "OutputS3BucketName", - "Text", - "VoiceId" - ], - "members":{ - "LexiconNames":{ - "shape":"LexiconNameList", - "documentation":"

List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice.

" - }, - "OutputFormat":{ - "shape":"OutputFormat", - "documentation":"

The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

" - }, - "OutputS3BucketName":{ - "shape":"OutputS3BucketName", - "documentation":"

Amazon S3 bucket name to which the output file will be saved.

" - }, - "OutputS3KeyPrefix":{ - "shape":"OutputS3KeyPrefix", - "documentation":"

The Amazon S3 key prefix for the output speech file.

" - }, - "SampleRate":{ - "shape":"SampleRate", - "documentation":"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", and \"22050\". The default value is \"22050\".

Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\".

" - }, - "SnsTopicArn":{ - "shape":"SnsTopicArn", - "documentation":"

ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

" - }, - "SpeechMarkTypes":{ - "shape":"SpeechMarkTypeList", - "documentation":"

The type of speech marks returned for the input text.

" - }, - "Text":{ - "shape":"Text", - "documentation":"

The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

" - }, - "TextType":{ - "shape":"TextType", - "documentation":"

Specifies whether the input text is plain text or SSML. The default value is plain text.

" - }, - "VoiceId":{ - "shape":"VoiceId", - "documentation":"

Voice ID to use for the synthesis.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

Optional language code for the Speech Synthesis request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

" - } - } - }, - "StartSpeechSynthesisTaskOutput":{ - "type":"structure", - "members":{ - "SynthesisTask":{ - "shape":"SynthesisTask", - "documentation":"

SynthesisTask object that provides information and attributes about a newly submitted speech synthesis task.

" - } - } - }, - "SynthesisTask":{ - "type":"structure", - "members":{ - "TaskId":{ - "shape":"TaskId", - "documentation":"

The Amazon Polly generated identifier for a speech synthesis task.

" - }, - "TaskStatus":{ - "shape":"TaskStatus", - "documentation":"

Current status of the individual speech synthesis task.

" - }, - "TaskStatusReason":{ - "shape":"TaskStatusReason", - "documentation":"

Reason for the current status of a specific speech synthesis task, including errors if the task has failed.

" - }, - "OutputUri":{ - "shape":"OutputUri", - "documentation":"

Pathway for the output speech file.

" - }, - "CreationTime":{ - "shape":"DateTime", - "documentation":"

Timestamp for the time the synthesis task was started.

" - }, - "RequestCharacters":{ - "shape":"RequestCharacters", - "documentation":"

Number of billable characters synthesized.

" - }, - "SnsTopicArn":{ - "shape":"SnsTopicArn", - "documentation":"

ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

" - }, - "LexiconNames":{ - "shape":"LexiconNameList", - "documentation":"

List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice.

" - }, - "OutputFormat":{ - "shape":"OutputFormat", - "documentation":"

The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

" - }, - "SampleRate":{ - "shape":"SampleRate", - "documentation":"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", 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.

" - }, - "TextType":{ - "shape":"TextType", - "documentation":"

Specifies whether the input text is plain text or SSML. The default value is plain text.

" - }, - "VoiceId":{ - "shape":"VoiceId", - "documentation":"

Voice ID to use for the synthesis.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

Optional language code for a synthesis task. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

" - } - }, - "documentation":"

SynthesisTask object that provides information about a speech synthesis task.

" - }, - "SynthesisTaskNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The Speech Synthesis task with requested Task ID cannot be found.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "SynthesisTasks":{ - "type":"list", - "member":{"shape":"SynthesisTask"} - }, - "SynthesizeSpeechInput":{ - "type":"structure", - "required":[ - "OutputFormat", - "Text", - "VoiceId" - ], - "members":{ - "LexiconNames":{ - "shape":"LexiconNameList", - "documentation":"

List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice. For information about storing lexicons, see PutLexicon.

" - }, - "OutputFormat":{ - "shape":"OutputFormat", - "documentation":"

The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

" - }, - "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.

" - }, - "TextType":{ - "shape":"TextType", - "documentation":"

Specifies whether the input text is plain text or SSML. The default value is plain text. For more information, see Using SSML.

" - }, - "VoiceId":{ - "shape":"VoiceId", - "documentation":"

Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices operation.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

Optional language code for the Synthesize Speech request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

" - } - } - }, - "SynthesizeSpeechOutput":{ - "type":"structure", - "members":{ - "AudioStream":{ - "shape":"AudioStream", - "documentation":"

Stream containing the synthesized speech.

" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

Specifies the type audio stream. This should reflect the OutputFormat parameter in your request.

  • If you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg.

  • If you request ogg_vorbis as the OutputFormat, the ContentType returned is audio/ogg.

  • If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

  • If you request json as the OutputFormat, the ContentType returned is audio/json.

", - "location":"header", - "locationName":"Content-Type" - }, - "RequestCharacters":{ - "shape":"RequestCharacters", - "documentation":"

Number of characters synthesized.

", - "location":"header", - "locationName":"x-amzn-RequestCharacters" - } - }, - "payload":"AudioStream" - }, - "TaskId":{ - "type":"string", - "max":128, - "min":1 - }, - "TaskStatus":{ - "type":"string", - "enum":[ - "scheduled", - "inProgress", - "completed", - "failed" - ] - }, - "TaskStatusReason":{"type":"string"}, - "Text":{"type":"string"}, - "TextLengthExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The value of the \"Text\" parameter is longer than the accepted limits. For the SynthesizeSpeech API, the limit for input text is a maximum of 6000 characters total, of which no more than 3000 can be billed characters. For the StartSpeechSynthesisTask API, the maximum is 200,000 characters, of which no more than 100,000 can be billed characters. SSML tags are not counted as billed characters.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TextType":{ - "type":"string", - "enum":[ - "ssml", - "text" - ] - }, - "UnsupportedPlsAlphabetException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The alphabet specified by the lexicon is not a supported alphabet. Valid values are x-sampa and ipa.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "UnsupportedPlsLanguageException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The language specified in the lexicon is unsupported. For a list of supported languages, see Lexicon Attributes.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Voice":{ - "type":"structure", - "members":{ - "Gender":{ - "shape":"Gender", - "documentation":"

Gender of the voice.

" - }, - "Id":{ - "shape":"VoiceId", - "documentation":"

Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeech operation.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

Language code of the voice.

" - }, - "LanguageName":{ - "shape":"LanguageName", - "documentation":"

Human readable name of the language in English.

" - }, - "Name":{ - "shape":"VoiceName", - "documentation":"

Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable voice name that you might display in your application.

" - }, - "AdditionalLanguageCodes":{ - "shape":"LanguageCodeList", - "documentation":"

Additional codes for languages available for the specified voice in addition to its default language.

For example, the default language for Aditi is Indian English (en-IN) because it was first used for that language. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the code hi-IN.

" - } - }, - "documentation":"

Description of the voice.

" - }, - "VoiceId":{ - "type":"string", - "enum":[ - "Geraint", - "Gwyneth", - "Mads", - "Naja", - "Hans", - "Marlene", - "Nicole", - "Russell", - "Amy", - "Brian", - "Emma", - "Raveena", - "Ivy", - "Joanna", - "Joey", - "Justin", - "Kendra", - "Kimberly", - "Matthew", - "Salli", - "Conchita", - "Enrique", - "Miguel", - "Penelope", - "Chantal", - "Celine", - "Lea", - "Mathieu", - "Dora", - "Karl", - "Carla", - "Giorgio", - "Mizuki", - "Liv", - "Lotte", - "Ruben", - "Ewa", - "Jacek", - "Jan", - "Maja", - "Ricardo", - "Vitoria", - "Cristiano", - "Ines", - "Carmen", - "Maxim", - "Tatyana", - "Astrid", - "Filiz", - "Vicki", - "Takumi", - "Seoyeon", - "Aditi" - ] - }, - "VoiceList":{ - "type":"list", - "member":{"shape":"Voice"} - }, - "VoiceName":{"type":"string"} - }, - "documentation":"

Amazon Polly is a web service that makes it easy to synthesize speech from text.

The Amazon Polly service provides API operations for synthesizing high-quality speech from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations lexicons that enable you to get the best results for your application domain.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/paginators-1.json deleted file mode 100644 index c113c43f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/paginators-1.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "pagination": { - "DescribeServices": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Services", - "non_aggregate_keys": ["FormatVersion"] - }, - "GetAttributeValues": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "AttributeValues" - }, - "GetProducts": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "PriceList", - "non_aggregate_keys": ["FormatVersion"] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/service-2.json deleted file mode 100644 index bc77bc67..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/pricing/2017-10-15/service-2.json +++ /dev/null @@ -1,315 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-15", - "endpointPrefix":"api.pricing", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWS Pricing", - "serviceFullName":"AWS Price List Service", - "serviceId":"Pricing", - "signatureVersion":"v4", - "signingName":"pricing", - "targetPrefix":"AWSPriceListService", - "uid":"pricing-2017-10-15" - }, - "operations":{ - "DescribeServices":{ - "name":"DescribeServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServicesRequest"}, - "output":{"shape":"DescribeServicesResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are volumeType, maxIopsVolume, operation, locationType, and instanceCapacity10xlarge.

" - }, - "GetAttributeValues":{ - "name":"GetAttributeValues", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAttributeValuesRequest"}, - "output":{"shape":"GetAttributeValuesResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Returns a list of attribute values. Attibutes are similar to the details in a Price List API offer file. For a list of available attributes, see Offer File Definitions in the AWS Billing and Cost Management User Guide.

" - }, - "GetProducts":{ - "name":"GetProducts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetProductsRequest"}, - "output":{"shape":"GetProductsResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} - ], - "documentation":"

Returns a list of all products that match the filter criteria.

" - } - }, - "shapes":{ - "AttributeNameList":{ - "type":"list", - "member":{"shape":"String"} - }, - "AttributeValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"String", - "documentation":"

The specific value of an attributeName.

" - } - }, - "documentation":"

The values of a given attribute, such as Throughput Optimized HDD or Provisioned IOPS for the Amazon EC2 volumeType attribute.

" - }, - "AttributeValueList":{ - "type":"list", - "member":{"shape":"AttributeValue"} - }, - "BoxedInteger":{ - "type":"integer", - "max":100, - "min":1 - }, - "DescribeServicesRequest":{ - "type":"structure", - "members":{ - "ServiceCode":{ - "shape":"String", - "documentation":"

The code for the service whose information you want to retrieve, such as AmazonEC2. You can use the ServiceCode to filter the results in a GetProducts call. To retrieve a list of all services, leave this blank.

" - }, - "FormatVersion":{ - "shape":"String", - "documentation":"

The format version that you want the response to be in.

Valid values are: aws_v1

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" - }, - "MaxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of results that you want returned in the response.

", - "box":true - } - } - }, - "DescribeServicesResponse":{ - "type":"structure", - "members":{ - "Services":{ - "shape":"ServiceList", - "documentation":"

The service metadata for the service or services in the response.

" - }, - "FormatVersion":{ - "shape":"String", - "documentation":"

The format version of the response. For example, aws_v1.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token for the next set of retreivable results.

" - } - } - }, - "ExpiredNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The pagination token expired. Try again without a pagination token.

", - "exception":true - }, - "Filter":{ - "type":"structure", - "required":[ - "Type", - "Field", - "Value" - ], - "members":{ - "Type":{ - "shape":"FilterType", - "documentation":"

The type of filter that you want to use.

Valid values are: TERM_MATCH. TERM_MATCH returns only products that match both the given filter field and the given value.

" - }, - "Field":{ - "shape":"String", - "documentation":"

The product metadata field that you want to filter on. You can filter by just the service code to see all products for a specific service, filter by just the attribute name to see a specific attribute for multiple services, or use both a service code and an attribute name to retrieve only products that match both fields.

Valid values include: ServiceCode, and all attribute names

For example, you can filter by the AmazonEC2 service code and the volumeType attribute name to get the prices for only Amazon EC2 volumes.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The service code or attribute value that you want to filter by. If you are filtering by service code this is the actual service code, such as AmazonEC2. If you are filtering by attribute name, this is the attribute value that you want the returned products to match, such as a Provisioned IOPS volume.

" - } - }, - "documentation":"

The constraints that you want all returned products to match.

" - }, - "FilterType":{ - "type":"string", - "enum":["TERM_MATCH"] - }, - "Filters":{ - "type":"list", - "member":{"shape":"Filter"} - }, - "GetAttributeValuesRequest":{ - "type":"structure", - "required":[ - "ServiceCode", - "AttributeName" - ], - "members":{ - "ServiceCode":{ - "shape":"String", - "documentation":"

The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use AmazonEC2.

" - }, - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the attribute that you want to retrieve the values for, such as volumeType.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" - }, - "MaxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of results to return in response.

", - "box":true - } - } - }, - "GetAttributeValuesResponse":{ - "type":"structure", - "members":{ - "AttributeValues":{ - "shape":"AttributeValueList", - "documentation":"

The list of values for an attribute. For example, Throughput Optimized HDD and Provisioned IOPS are two available values for the AmazonEC2 volumeType.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "GetProductsRequest":{ - "type":"structure", - "members":{ - "ServiceCode":{ - "shape":"String", - "documentation":"

The code for the service whose products you want to retrieve.

" - }, - "Filters":{ - "shape":"Filters", - "documentation":"

The list of filters that limit the returned products. only products that match all filters are returned.

" - }, - "FormatVersion":{ - "shape":"String", - "documentation":"

The format version that you want the response to be in.

Valid values are: aws_v1

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" - }, - "MaxResults":{ - "shape":"BoxedInteger", - "documentation":"

The maximum number of results to return in the response.

", - "box":true - } - } - }, - "GetProductsResponse":{ - "type":"structure", - "members":{ - "FormatVersion":{ - "shape":"String", - "documentation":"

The format version of the response. For example, aws_v1.

" - }, - "PriceList":{ - "shape":"PriceList", - "documentation":"

The list of products that match your filters. The list contains both the product metadata and the price information.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

An error on the server occurred during the processing of your request. Try again later.

", - "exception":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The pagination token is invalid. Try again without a pagination token.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

One or more parameters had an invalid value.

", - "exception":true - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"errorMessage"} - }, - "documentation":"

The requested resource can't be found.

", - "exception":true - }, - "PriceList":{ - "type":"list", - "member":{ - "shape":"PriceListItemJSON", - "jsonvalue":true - } - }, - "PriceListItemJSON":{"type":"string"}, - "Service":{ - "type":"structure", - "members":{ - "ServiceCode":{ - "shape":"String", - "documentation":"

The code for the AWS service.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

The attributes that are available for this service.

" - } - }, - "documentation":"

The metadata for a service, such as the service code and available attribute names.

" - }, - "ServiceList":{ - "type":"list", - "member":{"shape":"Service"} - }, - "String":{"type":"string"}, - "errorMessage":{"type":"string"} - }, - "documentation":"

AWS Price List Service API (AWS Price List Service) is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The AWS Price List Service uses standardized product attributes such as Location, Storage Class, and Operating System, and provides prices at the SKU level. You can use the AWS Price List Service to build cost control and scenario planning tools, reconcile billing data, forecast future spend for budgeting purposes, and provide cost benefit analysis that compare your internal workloads with AWS.

Use GetServices without a service code to retrieve the service codes for all AWS services, then GetServices with a service code to retreive the attribute names for that service. After you have the service code and attribute names, you can use GetAttributeValues to see what values are available for an attribute. With the service code and an attribute name and value, you can use GetProducts to find specific products that you're interested in, such as an AmazonEC2 instance, with a Provisioned IOPS volumeType.

Service Endpoint

AWS Price List Service API provides the following two endpoints:

  • https://api.pricing.us-east-1.amazonaws.com

  • https://api.pricing.ap-south-1.amazonaws.com

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/paginators-1.json deleted file mode 100644 index 76c4f3a1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/paginators-1.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "pagination": { - "DescribeDBEngineVersions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBEngineVersions" - }, - "DescribeDBInstances": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBInstances" - }, - "DescribeDBLogFiles": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DescribeDBLogFiles" - }, - "DescribeDBParameterGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBParameterGroups" - }, - "DescribeDBParameters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Parameters" - }, - "DescribeDBSecurityGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSecurityGroups" - }, - "DescribeDBSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSnapshots" - }, - "DescribeDBSubnetGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSubnetGroups" - }, - "DescribeEngineDefaultParameters": { - "input_token": "Marker", - "output_token": "EngineDefaults.Marker", - "limit_key": "MaxRecords", - "result_key": "EngineDefaults.Parameters" - }, - "DescribeEventSubscriptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "EventSubscriptionsList" - }, - "DescribeEvents": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Events" - }, - "DescribeOptionGroupOptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OptionGroupOptions" - }, - "DescribeOptionGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OptionGroupsList" - }, - "DescribeOrderableDBInstanceOptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OrderableDBInstanceOptions" - }, - "DescribeReservedDBInstances": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedDBInstances" - }, - "DescribeReservedDBInstancesOfferings": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedDBInstancesOfferings" - }, - "DownloadDBLogFilePortion": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "NumberOfLines", - "more_results": "AdditionalDataPending", - "result_key": "LogFileData" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/service-2.json deleted file mode 100644 index ef321ed6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/service-2.json +++ /dev/null @@ -1,6943 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-09-01", - "endpointPrefix":"rds", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "signatureVersion":"v4", - "xmlNamespace":"http://rds.amazonaws.com/doc/2014-09-01/", - "protocol":"query" - }, - "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, PostgreSQL, Microsoft SQL Server, or Oracle database server. This means 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 is an interface reference for Amazon RDS. It 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 may 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. For a summary of the Amazon RDS interfaces, go to Available RDS Interfaces.

", - "operations":{ - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"AddSourceIdentifierToSubscriptionMessage", - "documentation":"

" - }, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - { - "shape":"SubscriptionNotFoundFault", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - }, - { - "shape":"SourceNotFoundFault", - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested source could not be found.

" - } - ], - "documentation":"

Adds a source identifier to an existing RDS event notification subscription.

" - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"AddTagsToResourceMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - } - ], - "documentation":"

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in Condition statement in IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

" - }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"AuthorizeDBSecurityGroupIngressMessage", - "documentation":"

" - }, - "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" - }, - "errors":[ - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - { - "shape":"InvalidDBSecurityGroupStateFault", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB security group does not allow deletion.

" - }, - { - "shape":"AuthorizationAlreadyExistsFault", - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

" - }, - { - "shape":"AuthorizationQuotaExceededFault", - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB security group authorization quota has been reached.

" - } - ], - "documentation":"

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You cannot authorize ingress from an EC2 security group in one Region to an Amazon RDS DB instance in another. You cannot authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" - }, - "CopyDBParameterGroup":{ - "name":"CopyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CopyDBParameterGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CopyDBParameterGroupResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the CreateDBParameterGroup action.

This data type is used as a request parameter in the DeleteDBParameterGroup action, and as a response element in the DescribeDBParameterGroups action.

", - "resultWrapper":"CopyDBParameterGroupResult" - }, - "errors":[ - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - { - "shape":"DBParameterGroupAlreadyExistsFault", - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB parameter group with the same name exists.

" - }, - { - "shape":"DBParameterGroupQuotaExceededFault", - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB parameter groups.

" - } - ], - "documentation":"

Copies the specified DB parameter group.

" - }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CopyDBSnapshotMessage", - "documentation":"

" - }, - "output":{ - "shape":"CopyDBSnapshotResult", - "wrapper":true, - "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.

", - "resultWrapper":"CopyDBSnapshotResult" - }, - "errors":[ - { - "shape":"DBSnapshotAlreadyExistsFault", - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - }, - { - "shape":"InvalidDBSnapshotStateFault", - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB snapshot does not allow deletion.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

" - } - ], - "documentation":"

Copies the specified DBSnapshot. The source DBSnapshot must be in the \"available\" state.

" - }, - "CopyOptionGroup":{ - "name":"CopyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CopyOptionGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CopyOptionGroupResult", - "wrapper":true, - "documentation":"

", - "resultWrapper":"CopyOptionGroupResult" - }, - "errors":[ - { - "shape":"OptionGroupAlreadyExistsFault", - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group you are trying to create already exists.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"OptionGroupQuotaExceededFault", - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The quota of 20 option groups was exceeded for this AWS account.

" - } - ], - "documentation":"

Copies the specified option group.

" - }, - "CreateDBInstance":{ - "name":"CreateDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDBInstanceMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateDBInstanceResult", - "wrapper":true, - "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.

", - "resultWrapper":"CreateDBInstanceResult" - }, - "errors":[ - { - "shape":"DBInstanceAlreadyExistsFault", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - { - "shape":"InsufficientDBInstanceCapacityFault", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - { - "shape":"InstanceQuotaExceededFault", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

" - }, - { - "shape":"StorageQuotaExceededFault", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - { - "shape":"ProvisionedIopsNotAvailableInAZFault", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"StorageTypeNotSupportedFault", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - } - ], - "documentation":"

Creates a new DB instance.

" - }, - "CreateDBInstanceReadReplica":{ - "name":"CreateDBInstanceReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBInstanceReadReplicaMessage"}, - "output":{ - "shape":"CreateDBInstanceReadReplicaResult", - "wrapper":true, - "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.

", - "resultWrapper":"CreateDBInstanceReadReplicaResult" - }, - "errors":[ - { - "shape":"DBInstanceAlreadyExistsFault", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - { - "shape":"InsufficientDBInstanceCapacityFault", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - { - "shape":"InstanceQuotaExceededFault", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

" - }, - { - "shape":"StorageQuotaExceededFault", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - { - "shape":"ProvisionedIopsNotAvailableInAZFault", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"DBSubnetGroupNotAllowedFault", - "error":{ - "code":"DBSubnetGroupNotAllowedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

" - }, - { - "shape":"InvalidDBSubnetGroupFault", - "error":{ - "code":"InvalidDBSubnetGroupFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

" - }, - { - "shape":"StorageTypeNotSupportedFault", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - } - ], - "documentation":"

Creates a DB instance 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.

" - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDBParameterGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateDBParameterGroupResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the CreateDBParameterGroup action.

This data type is used as a request parameter in the DeleteDBParameterGroup action, and as a response element in the DescribeDBParameterGroups action.

", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - { - "shape":"DBParameterGroupQuotaExceededFault", - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB parameter groups.

" - }, - { - "shape":"DBParameterGroupAlreadyExistsFault", - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB parameter group with the same name exists.

" - } - ], - "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDBSecurityGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - { - "shape":"DBSecurityGroupAlreadyExistsFault", - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB security group with the name specified in DBSecurityGroupName already exists.

" - }, - { - "shape":"DBSecurityGroupQuotaExceededFault", - "error":{ - "code":"QuotaExceeded.DBSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB security groups.

" - }, - { - "shape":"DBSecurityGroupNotSupportedFault", - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB security group is not allowed for this action.

" - } - ], - "documentation":"

Creates a new DB security group. DB security groups control access to a DB instance.

" - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDBSnapshotMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateDBSnapshotResult", - "wrapper":true, - "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.

", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - { - "shape":"DBSnapshotAlreadyExistsFault", - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

" - }, - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

" - } - ], - "documentation":"

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

" - }, - "CreateDBSubnetGroup":{ - "name":"CreateDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateDBSubnetGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateDBSubnetGroupResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "resultWrapper":"CreateDBSubnetGroupResult" - }, - "errors":[ - { - "shape":"DBSubnetGroupAlreadyExistsFault", - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

" - }, - { - "shape":"DBSubnetGroupQuotaExceededFault", - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB subnet groups.

" - }, - { - "shape":"DBSubnetQuotaExceededFault", - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - } - ], - "documentation":"

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

" - }, - "CreateEventSubscription":{ - "name":"CreateEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateEventSubscriptionMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateEventSubscriptionResult", - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "resultWrapper":"CreateEventSubscriptionResult" - }, - "errors":[ - { - "shape":"EventSubscriptionQuotaExceededFault", - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You have reached the maximum number of event subscriptions.

" - }, - { - "shape":"SubscriptionAlreadyExistFault", - "error":{ - "code":"SubscriptionAlreadyExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The supplied subscription name already exists.

" - }, - { - "shape":"SNSInvalidTopicFault", - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

SNS has responded that there is a problem with the SND topic specified.

" - }, - { - "shape":"SNSNoAuthorizationFault", - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You do not have permission to publish to the SNS topic ARN.

" - }, - { - "shape":"SNSTopicArnNotFoundFault", - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The SNS topic ARN does not exist.

" - }, - { - "shape":"SubscriptionCategoryNotFoundFault", - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The supplied category does not exist.

" - }, - { - "shape":"SourceNotFoundFault", - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested source could not be found.

" - } - ], - "documentation":"

Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer account.

" - }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"CreateOptionGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"CreateOptionGroupResult", - "wrapper":true, - "documentation":"

", - "resultWrapper":"CreateOptionGroupResult" - }, - "errors":[ - { - "shape":"OptionGroupAlreadyExistsFault", - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group you are trying to create already exists.

" - }, - { - "shape":"OptionGroupQuotaExceededFault", - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The quota of 20 option groups was exceeded for this AWS account.

" - } - ], - "documentation":"

Creates a new option group. You can create up to 20 option groups.

" - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDBInstanceMessage", - "documentation":"

" - }, - "output":{ - "shape":"DeleteDBInstanceResult", - "wrapper":true, - "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.

", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"DBSnapshotAlreadyExistsFault", - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

" - }, - { - "shape":"SnapshotQuotaExceededFault", - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

" - } - ], - "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. A successful response from the web service indicates the request was received correctly. When you delete a DB instance, all automated backups for that instance are deleted and cannot be recovered. Manual DB snapshots of the DB instance to be deleted are not deleted.

If a final DB snapshot is requested the status of the RDS instance will be \"deleting\" until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action cannot be canceled or reverted once submitted.

" - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDBParameterGroupMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"InvalidDBParameterGroupStateFault", - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB parameter group cannot be deleted because it is in use.

" - }, - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - } - ], - "documentation":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted cannot be associated with any DB instances.

The specified DB parameter group cannot be associated with any DB instances. " - }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDBSecurityGroupMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"InvalidDBSecurityGroupStateFault", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB security group does not allow deletion.

" - }, - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - } - ], - "documentation":"

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances." - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDBSnapshotMessage", - "documentation":"

" - }, - "output":{ - "shape":"DeleteDBSnapshotResult", - "wrapper":true, - "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.

", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - { - "shape":"InvalidDBSnapshotStateFault", - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB snapshot does not allow deletion.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - } - ], - "documentation":"

Deletes a DBSnapshot. If the snapshot is being copied, the copy operation is terminated.

The DBSnapshot must be in the available state to be deleted." - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteDBSubnetGroupMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"InvalidDBSubnetGroupStateFault", - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet group cannot be deleted because it is in use.

" - }, - { - "shape":"InvalidDBSubnetStateFault", - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet is not in the available state.

" - }, - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - } - ], - "documentation":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances." - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteEventSubscriptionMessage", - "documentation":"

" - }, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - { - "shape":"SubscriptionNotFoundFault", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - }, - { - "shape":"InvalidEventSubscriptionStateFault", - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

This error can occur if someone else is modifying a subscription. You should retry the action.

" - } - ], - "documentation":"

Deletes an RDS event notification subscription.

" - }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DeleteOptionGroupMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"InvalidOptionGroupStateFault", - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group is not in the available state.

" - } - ], - "documentation":"

Deletes an existing option group.

" - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

", - "resultWrapper":"DescribeDBEngineVersionsResult" - }, - "documentation":"

Returns a list of the available DB engines.

" - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBInstancesMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBInstanceMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - } - ], - "documentation":"

Returns information about provisioned RDS instances. This API supports pagination.

" - }, - "DescribeDBLogFiles":{ - "name":"DescribeDBLogFiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBLogFilesMessage", - "documentation":"

" - }, - "output":{ - "shape":"DescribeDBLogFilesResponse", - "documentation":"

The response from a call to DescribeDBLogFiles.

", - "resultWrapper":"DescribeDBLogFilesResult" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - } - ], - "documentation":"

Returns a list of DB log files for the DB instance.

" - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBParameterGroupsMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBParameterGroupsMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - } - ], - "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - } - ], - "documentation":"

Returns the detailed parameter list for a particular DB parameter group.

" - }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBSecurityGroupsMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBSecurityGroupMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

", - "resultWrapper":"DescribeDBSecurityGroupsResult" - }, - "errors":[ - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - } - ], - "documentation":"

Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group.

" - }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBSnapshotsMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBSnapshotMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

", - "resultWrapper":"DescribeDBSnapshotsResult" - }, - "errors":[ - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - } - ], - "documentation":"

Returns information about DB snapshots. This API supports pagination.

" - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeDBSubnetGroupsMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBSubnetGroupMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - } - ], - "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEngineDefaultParametersMessage", - "documentation":"

" - }, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", - "resultWrapper":"DescribeEngineDefaultParametersResult" - }, - "documentation":"

Returns the default engine and system parameter information for the specified database engine.

" - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEventCategoriesMessage", - "documentation":"

" - }, - "output":{ - "shape":"EventCategoriesMessage", - "documentation":"

Data returned from the DescribeEventCategories action.

", - "resultWrapper":"DescribeEventCategoriesResult" - }, - "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

" - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEventSubscriptionsMessage", - "documentation":"

" - }, - "output":{ - "shape":"EventSubscriptionsMessage", - "documentation":"

Data returned by the DescribeEventSubscriptions action.

", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - { - "shape":"SubscriptionNotFoundFault", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - } - ], - "documentation":"

Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify a SubscriptionName, lists the description for that subscription.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeEventsMessage", - "documentation":"

" - }, - "output":{ - "shape":"EventsMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

", - "resultWrapper":"DescribeEventsResult" - }, - "documentation":"

Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

" - }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeOptionGroupOptionsMessage", - "documentation":"

" - }, - "output":{ - "shape":"OptionGroupOptionsMessage", - "documentation":"

", - "resultWrapper":"DescribeOptionGroupOptionsResult" - }, - "documentation":"

Describes all available options.

" - }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeOptionGroupsMessage", - "documentation":"

" - }, - "output":{ - "shape":"OptionGroups", - "documentation":"

List of option groups.

", - "resultWrapper":"DescribeOptionGroupsResult" - }, - "errors":[ - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - } - ], - "documentation":"

Describes the available option groups.

" - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeOrderableDBInstanceOptionsMessage", - "documentation":"

" - }, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - }, - "documentation":"

Returns a list of orderable DB instance options for the specified engine.

" - }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeReservedDBInstancesMessage", - "documentation":"

" - }, - "output":{ - "shape":"ReservedDBInstanceMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

", - "resultWrapper":"DescribeReservedDBInstancesResult" - }, - "errors":[ - { - "shape":"ReservedDBInstanceNotFoundFault", - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified reserved DB Instance not found.

" - } - ], - "documentation":"

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

" - }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DescribeReservedDBInstancesOfferingsMessage", - "documentation":"

" - }, - "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" - }, - "errors":[ - { - "shape":"ReservedDBInstancesOfferingNotFoundFault", - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified offering does not exist.

" - } - ], - "documentation":"

Lists available reserved DB instance offerings.

" - }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"DownloadDBLogFilePortionMessage", - "documentation":"

" - }, - "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "documentation":"

This data type is used as a response element to DownloadDBLogFilePortion.

", - "resultWrapper":"DownloadDBLogFilePortionResult" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - } - ], - "documentation":"

Downloads all or a portion of the specified log file.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ListTagsForResourceMessage", - "documentation":"

" - }, - "output":{ - "shape":"TagListMessage", - "documentation":"

", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - } - ], - "documentation":"

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

" - }, - "ModifyDBInstance":{ - "name":"ModifyDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyDBInstanceMessage", - "documentation":"

" - }, - "output":{ - "shape":"ModifyDBInstanceResult", - "wrapper":true, - "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.

", - "resultWrapper":"ModifyDBInstanceResult" - }, - "errors":[ - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"InvalidDBSecurityGroupStateFault", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB security group does not allow deletion.

" - }, - { - "shape":"DBInstanceAlreadyExistsFault", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - { - "shape":"InsufficientDBInstanceCapacityFault", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - { - "shape":"StorageQuotaExceededFault", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - { - "shape":"ProvisionedIopsNotAvailableInAZFault", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"DBUpgradeDependencyFailureFault", - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB upgrade failed because a resource the DB depends on could not be modified.

" - }, - { - "shape":"StorageTypeNotSupportedFault", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - } - ], - "documentation":"

Modify settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyDBParameterGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBParameterGroupNameMessage", - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - { - "shape":"InvalidDBParameterGroupStateFault", - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB parameter group cannot be deleted because it is in use.

" - } - ], - "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "ModifyDBSubnetGroup":{ - "name":"ModifyDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyDBSubnetGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"ModifyDBSubnetGroupResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "resultWrapper":"ModifyDBSubnetGroupResult" - }, - "errors":[ - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - { - "shape":"DBSubnetQuotaExceededFault", - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

" - }, - { - "shape":"SubnetAlreadyInUse", - "error":{ - "code":"SubnetAlreadyInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet is already in use in the Availability Zone.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - } - ], - "documentation":"

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

" - }, - "ModifyEventSubscription":{ - "name":"ModifyEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyEventSubscriptionMessage", - "documentation":"

" - }, - "output":{ - "shape":"ModifyEventSubscriptionResult", - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "resultWrapper":"ModifyEventSubscriptionResult" - }, - "errors":[ - { - "shape":"EventSubscriptionQuotaExceededFault", - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You have reached the maximum number of event subscriptions.

" - }, - { - "shape":"SubscriptionNotFoundFault", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - }, - { - "shape":"SNSInvalidTopicFault", - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

SNS has responded that there is a problem with the SND topic specified.

" - }, - { - "shape":"SNSNoAuthorizationFault", - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You do not have permission to publish to the SNS topic ARN.

" - }, - { - "shape":"SNSTopicArnNotFoundFault", - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The SNS topic ARN does not exist.

" - }, - { - "shape":"SubscriptionCategoryNotFoundFault", - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The supplied category does not exist.

" - } - ], - "documentation":"

Modifies an existing RDS event notification subscription. Note that you cannot modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ModifyOptionGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"ModifyOptionGroupResult", - "wrapper":true, - "documentation":"

", - "resultWrapper":"ModifyOptionGroupResult" - }, - "errors":[ - { - "shape":"InvalidOptionGroupStateFault", - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group is not in the available state.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - } - ], - "documentation":"

Modifies an existing option group.

" - }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PromoteReadReplicaMessage", - "documentation":"

" - }, - "output":{ - "shape":"PromoteReadReplicaResult", - "wrapper":true, - "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.

", - "resultWrapper":"PromoteReadReplicaResult" - }, - "errors":[ - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - } - ], - "documentation":"

Promotes a Read Replica DB instance to a standalone DB instance.

We recommend that you enable automated backups on your Read Replica before promoting the Read Replica. This ensures that no backup is taken during the promotion process. Once the instance is promoted to a primary instance, backups are taken based on your backup settings.

" - }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"PurchaseReservedDBInstancesOfferingMessage", - "documentation":"

" - }, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "wrapper":true, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, - "errors":[ - { - "shape":"ReservedDBInstancesOfferingNotFoundFault", - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified offering does not exist.

" - }, - { - "shape":"ReservedDBInstanceAlreadyExistsFault", - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a reservation with the given identifier.

" - }, - { - "shape":"ReservedDBInstanceQuotaExceededFault", - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would exceed the user's DB Instance quota.

" - } - ], - "documentation":"

Purchases a reserved DB instance offering.

" - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RebootDBInstanceMessage", - "documentation":"

" - }, - "output":{ - "shape":"RebootDBInstanceResult", - "wrapper":true, - "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.

", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - } - ], - "documentation":"

Rebooting a DB instance restarts the database engine service. A reboot also applies to the DB instance any modifications to the associated DB parameter group that were pending. Rebooting a DB instance results in a momentary outage of the instance, during which the DB instance status is set to rebooting. If the RDS instance is configured for MultiAZ, it is possible that the reboot will be conducted through a failover. An Amazon RDS event is created when the reboot is completed.

If your DB instance is deployed in multiple Availability Zones, you can force a failover from one AZ to the other during the reboot. You might force a failover to test the availability of your DB instance deployment or to restore operations to the original AZ after a failover occurs.

The time required to reboot is a function of the specific database engine's crash recovery process. To improve the reboot time, we recommend that you reduce database activities as much as possible during the reboot process to reduce rollback activity for in-transit transactions.

" - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RemoveSourceIdentifierFromSubscriptionMessage", - "documentation":"

" - }, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - { - "shape":"SubscriptionNotFoundFault", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - }, - { - "shape":"SourceNotFoundFault", - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested source could not be found.

" - } - ], - "documentation":"

Removes a source identifier from an existing RDS event notification subscription.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RemoveTagsFromResourceMessage", - "documentation":"

" - }, - "errors":[ - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - } - ], - "documentation":"

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

" - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"ResetDBParameterGroupMessage", - "documentation":"

" - }, - "output":{ - "shape":"DBParameterGroupNameMessage", - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - { - "shape":"InvalidDBParameterGroupStateFault", - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB parameter group cannot be deleted because it is in use.

" - }, - { - "shape":"DBParameterGroupNotFoundFault", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - } - ], - "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.

" - }, - "RestoreDBInstanceFromDBSnapshot":{ - "name":"RestoreDBInstanceFromDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RestoreDBInstanceFromDBSnapshotMessage", - "documentation":"

" - }, - "output":{ - "shape":"RestoreDBInstanceFromDBSnapshotResult", - "wrapper":true, - "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.

", - "resultWrapper":"RestoreDBInstanceFromDBSnapshotResult" - }, - "errors":[ - { - "shape":"DBInstanceAlreadyExistsFault", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - { - "shape":"DBSnapshotNotFoundFault", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - }, - { - "shape":"InstanceQuotaExceededFault", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

" - }, - { - "shape":"InsufficientDBInstanceCapacityFault", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - { - "shape":"InvalidDBSnapshotStateFault", - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB snapshot does not allow deletion.

" - }, - { - "shape":"StorageQuotaExceededFault", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - { - "shape":"InvalidRestoreFault", - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Cannot restore from vpc backup to non-vpc DB instance.

" - }, - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - }, - { - "shape":"ProvisionedIopsNotAvailableInAZFault", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"StorageTypeNotSupportedFault", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - } - ], - "documentation":"

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the same configuration as the original source database, except that the new RDS instance is created with the default security group.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

" - }, - "RestoreDBInstanceToPointInTime":{ - "name":"RestoreDBInstanceToPointInTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RestoreDBInstanceToPointInTimeMessage", - "documentation":"

" - }, - "output":{ - "shape":"RestoreDBInstanceToPointInTimeResult", - "wrapper":true, - "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.

", - "resultWrapper":"RestoreDBInstanceToPointInTimeResult" - }, - "errors":[ - { - "shape":"DBInstanceAlreadyExistsFault", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - { - "shape":"DBInstanceNotFoundFault", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - { - "shape":"InstanceQuotaExceededFault", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

" - }, - { - "shape":"InsufficientDBInstanceCapacityFault", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - { - "shape":"InvalidDBInstanceStateFault", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - { - "shape":"PointInTimeRestoreNotEnabledFault", - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

" - }, - { - "shape":"StorageQuotaExceededFault", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - { - "shape":"InvalidVPCNetworkStateFault", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - { - "shape":"InvalidRestoreFault", - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Cannot restore from vpc backup to non-vpc DB instance.

" - }, - { - "shape":"DBSubnetGroupNotFoundFault", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - { - "shape":"DBSubnetGroupDoesNotCoverEnoughAZs", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - { - "shape":"InvalidSubnet", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - }, - { - "shape":"ProvisionedIopsNotAvailableInAZFault", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - { - "shape":"OptionGroupNotFoundFault", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - { - "shape":"StorageTypeNotSupportedFault", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - } - ], - "documentation":"

Restores a DB instance to an arbitrary point-in-time. Users can restore to any point in time before the LatestRestorableTime for up to BackupRetentionPeriod days. The target database is created from the source database with the same configuration as the original database except that the DB instance is created with the default DB security group.

" - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{ - "shape":"RevokeDBSecurityGroupIngressMessage", - "documentation":"

" - }, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - { - "shape":"DBSecurityGroupNotFoundFault", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - { - "shape":"AuthorizationNotFoundFault", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - }, - { - "shape":"InvalidDBSecurityGroupStateFault", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB security group does not allow deletion.

" - } - ], - "documentation":"

Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

" - } - }, - "shapes":{ - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to add a source identifier to.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source to be added. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

Constraints:

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.
  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.
  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.
  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.
" - } - }, - "documentation":"

" - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource the tags will be added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the Amazon RDS resource.

" - } - }, - "documentation":"

" - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

" - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

RDS may not also be authorized via IAM to perform necessary actions on your behalf.

" - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB security group authorization quota has been reached.

" - }, - "AuthorizeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to add authorization to.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range to authorize.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

Name of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - } - }, - "documentation":"

" - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the availability zone.

" - } - }, - "wrapper":true, - "documentation":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

" - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{ - "shape":"String", - "documentation":"

The name of the character set.

" - }, - "CharacterSetDescription":{ - "shape":"String", - "documentation":"

The description of the character set.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "CopyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "SourceDBParameterGroupIdentifier", - "TargetDBParameterGroupIdentifier", - "TargetDBParameterGroupDescription" - ], - "members":{ - "SourceDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or ARN for the source DB parameter group.

Constraints:

  • Must specify a valid DB parameter group.
  • If the source DB parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.
  • If the source DB parameter group is in a different region than the copy, specify a valid DB parameter group ARN, for example arn:aws:rds:us-west-2:123456789012:pg:special-parameters.
" - }, - "TargetDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank
  • Must contain from 1 to 255 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

" - }, - "TargetDBParameterGroupDescription":{ - "shape":"String", - "documentation":"

A description for the copied DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyDBSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" - ], - "members":{ - "SourceDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source DB snapshot.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.
  • If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.
  • If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805

" - }, - "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

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyOptionGroupMessage":{ - "type":"structure", - "required":[ - "SourceOptionGroupIdentifier", - "TargetOptionGroupIdentifier", - "TargetOptionGroupDescription" - ], - "members":{ - "SourceOptionGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or ARN for the source option group.

Constraints:

  • Must specify a valid option group.
  • If the source option group is in the same region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.
  • If the source option group is in a different region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
" - }, - "TargetOptionGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied option group.

Constraints:

  • Cannot be null, empty, or blank
  • Must contain from 1 to 255 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-option-group

" - }, - "TargetOptionGroupDescription":{ - "shape":"String", - "documentation":"

The description for the copied option group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "AllocatedStorage", - "DBInstanceClass", - "Engine", - "MasterUsername", - "MasterUserPassword" - ], - "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

PostgreSQL

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 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.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server).
  • First character must be a letter.
  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "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 3072.

PostgreSQL

Constraints: Must be an integer from 5 to 3072.

Oracle

Constraints: Must be an integer from 10 to 3072.

SQL Server

Constraints: Must be an integer from 200 to 1024 (Standard Edition and Enterprise Edition) or from 20 to 1024 (Express Edition and Web Edition)

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance.

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Valid Values: MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres

Not every database engine is available for every AWS region.

" - }, - "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.

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.
" - }, - "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.

Oracle

Constraints: Must contain from 8 to 30 characters.

SQL Server

Constraints: Must contain from 8 to 128 characters.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with this DB instance.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same region as the current endpoint.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB instance.

If there is no DB subnet group, then it is a non-VPC DB instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur. For more information, see DB Instance Maintenance.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine will be used.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Default: 1

Constraints:

  • Must be a value from 0 to 35
  • Cannot be set to 0 if the DB instance is a source to Read Replicas
" - }, - "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. See the Amazon RDS User Guide for the time blocks for each region from which the default backup windows are assigned.

Constraints: Must be in the format hh24:mi-hh24:mi. Times should be Universal Time Coordinated (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

MySQL

Default: 3306

Valid Values: 1150-65535

Type: Integer

PostgreSQL

Default: 5432

Valid Values: 1150-65535

Type: Integer

Oracle

Default: 1521

Valid Values: 1150-65535

SQL Server

Default: 1433

Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "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.

MySQL

  • Version 5.1: 5.1.45 | 5.1.49 | 5.1.50 | 5.1.57 | 5.1.61 | 5.1.62 | 5.1.63 | 5.1.69 | 5.1.71 | 5.1.73
  • Version 5.5: 5.5.12 | 5.5.20 | 5.5.23 | 5.5.25a | 5.5.27 | 5.5.31 | 5.5.33 | 5.5.37 | 5.5.38 | 5.5.8
  • Version 5.6: 5.6.12 | 5.6.13 | 5.6.17 | 5.6.19 | 5.6.21

Oracle Database Enterprise Edition (oracle-ee)

  • Version 11.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 | 11.2.0.3.v1 | 11.2.0.4.v1

Oracle Database Standard Edition (oracle-se)

  • Version 11.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 | 11.2.0.3.v1 | 11.2.0.4.v1

Oracle Database Standard Edition One (oracle-se1)

  • Version 11.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 | 11.2.0.3.v1 | 11.2.0.4.v1

PostgreSQL

  • Version 9.3: 9.3.1 | 9.3.2 | 9.3.3

Microsoft SQL Server Enterprise Edition (sqlserver-ee)

  • Version 10.5: 10.50.2789.0.v1
  • Version 11.0: 11.00.2100.60.v1

Microsoft SQL Server Express Edition (sqlserver-ex)

  • Version 10.5: 10.50.2789.0.v1
  • Version 11.0: 11.00.2100.60.v1

Microsoft SQL Server Standard Edition (sqlserver-se)

  • Version 10.5: 10.50.2789.0.v1
  • Version 11.0: 11.00.2100.60.v1

Microsoft SQL Server Web Edition (sqlserver-web)

  • Version 10.5: 10.50.2789.0.v1
  • Version 11.0: 11.00.2100.60.v1
" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.

Default: true

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

Constraints: To use PIOPS, this value must be an integer greater than 1000.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true
  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

" - }, - "Tags":{"shape":"TagList"}, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB Instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the Key Store in order to access the device.

" - } - }, - "documentation":"

" - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier of the Read Replica. This is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

" - }, - "SourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing DB instance.
  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.
  • Can specify a DB instance that is a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5.
  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.
  • If the source DB instance is in the same region as the Read Replica, specify a valid DB instance identifier.
  • If the source DB instance is in a different region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing a Amazon RDS Amazon Resource Name (ARN).
" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Read Replica.

Valid Values: db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium

Default: Inherits from the source DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Amazon EC2 Availability Zone that the Read Replica will be created in.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number that the DB instance uses for connections.

Default: Inherits from the source DB instance

Valid Values: 1150-65535

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The option group the DB instance will be associated with. If omitted, the default option group for the engine specified will be used.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true
  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

" - }, - "Tags":{"shape":"TagList"}, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

Specifies a DB subnet group for the DB instance. The new DB instance will be created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

Constraints:

  • Can only be specified if the source DB instance identifier specifies a DB instance in another region.
  • The specified DB subnet group must be in the same region in which the operation is running.
  • All Read Replicas in one region that are created from the same source DB instance must either:
    • Specify DB subnet groups from the same VPC. All these Read Replicas will be created in the same VPC.
    • Not specify a DB subnet group. All these Read Replicas will be created outside of any VPC.
" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB Instance Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - } - } - }, - "CreateDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "DBParameterGroupFamily", - "Description" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
This value is stored as a lower-case string." - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSecurityGroupMessage":{ - "type":"structure", - "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" - ], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name for the DB security group. This value is stored as a lowercase string.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
  • Must not be \"Default\"
  • May not contain spaces

Example: mysecuritygroup

" - }, - "DBSecurityGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB security group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" - ], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot.

Constraints:

  • Cannot be null, empty, or blank
  • Must contain from 1 to 255 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This is the unique key that identifies a DB instance.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be \"Default\".

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "SourceIds":{ - "shape":"SourceIdsList", - "documentation":"

The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

Constraints:

  • If SourceIds are supplied, SourceType must also be provided.
  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.
  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.
  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.
  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.
" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateOptionGroupMessage":{ - "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the option group to be created.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: myoptiongroup

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Specifies the name of the engine that this option group should be associated with.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Specifies the major version of the engine that this option group should be associated with.

" - }, - "OptionGroupDescription":{ - "shape":"String", - "documentation":"

The description of the option group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family for the database engine.

" - }, - "DBEngineDescription":{ - "shape":"String", - "documentation":"

The description of the database engine.

" - }, - "DBEngineVersionDescription":{ - "shape":"String", - "documentation":"

The description of the database engine version.

" - }, - "DefaultCharacterSet":{ - "shape":"CharacterSet", - "documentation":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

" - }, - "SupportedCharacterSets":{ - "shape":"SupportedCharacterSetsList", - "documentation":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance API.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBEngineVersions":{ - "shape":"DBEngineVersionList", - "documentation":"

A list of DBEngineVersion elements.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied database identifier. This is the unique key that identifies a DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the name of the compute and memory capacity class of the DB instance.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Provides the name of the database engine to be used for this DB instance.

" - }, - "DBInstanceStatus":{ - "shape":"String", - "documentation":"

Specifies the current state of this database.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Contains the master username for the DB instance.

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The meaning of this parameter differs according to the database engine you use. For example, this value returns either MySQL or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for MySQL and PostgreSQL.

MySQL, 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", - "documentation":"

Specifies the connection endpoint.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size specified in gigabytes.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the date and time the DB instance was created.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" - }, - "BackupRetentionPeriod":{ - "shape":"Integer", - "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupMembershipList", - "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

Provides List of VPC security group elements that the DB instance belongs to.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupStatusList", - "documentation":"

Provides the list of DB parameter groups applied to this DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Specifies the name of the Availability Zone the DB instance is located in.

" - }, - "DBSubnetGroup":{ - "shape":"DBSubnetGroup", - "documentation":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range (in UTC) during which system maintenance can occur.

" - }, - "PendingModifiedValues":{ - "shape":"PendingModifiedValues", - "documentation":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" - }, - "LatestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that minor version patches are applied automatically.

" - }, - "ReadReplicaSourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

" - }, - "ReadReplicaDBInstanceIdentifiers":{ - "shape":"ReadReplicaDBInstanceIdentifierList", - "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value.

" - }, - "OptionGroupMemberships":{ - "shape":"OptionGroupMembershipList", - "documentation":"

Provides the list of option group memberships for this DB instance.

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

If present, specifies the name of the character set that this instance is associated with.

" - }, - "SecondaryAvailabilityZone":{ - "shape":"String", - "documentation":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

" - }, - "PubliclyAccessible":{ - "shape":"Boolean", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true
  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

" - }, - "StatusInfos":{ - "shape":"DBInstanceStatusInfoList", - "documentation":"

The status of a Read Replica. If the instance is not a Read Replica, this will be blank.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type associated with DB Instance.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which the instance is associated for TDE encryption.

" - } - }, - "wrapper":true, - "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.

" - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a DB instance with the given identifier.

" - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "DBInstances":{ - "shape":"DBInstanceList", - "documentation":"

A list of DBInstance instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

" - }, - "DBInstanceStatusInfo":{ - "type":"structure", - "members":{ - "StatusType":{ - "shape":"String", - "documentation":"

This value is currently \"read replication.\"

" - }, - "Normal":{ - "shape":"Boolean", - "documentation":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" - } - }, - "documentation":"

Provides a list of status information for a DB instance.

" - }, - "DBInstanceStatusInfoList":{ - "type":"list", - "member":{ - "shape":"DBInstanceStatusInfo", - "locationName":"DBInstanceStatusInfo" - } - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides the customer-specified description for this DB parameter group.

" - } - }, - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the CreateDBParameterGroup action.

This data type is used as a request parameter in the DeleteDBParameterGroup action, and as a response element in the DescribeDBParameterGroups action.

" - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB parameter group with the same name exists.

" - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter values.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

" - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB parameter groups.

" - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DP parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - } - }, - "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

" - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupList", - "documentation":"

A list of DBParameterGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" - }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

Provides the AWS ID of the owner of a specific DB security group.

" - }, - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the DB security group.

" - }, - "DBSecurityGroupDescription":{ - "shape":"String", - "documentation":"

Provides the description of the DB security group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VpcId of the DB security group.

" - }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

Contains a list of EC2SecurityGroup elements.

" - }, - "IPRanges":{ - "shape":"IPRangeList", - "documentation":"

Contains a list of IPRange elements.

" - } - }, - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSecurityGroups action.

" - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB security group with the name specified in DBSecurityGroupName already exists.

" - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB security group.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroups", - "documentation":"

A list of DBSecurityGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

" - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

" - }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

A DB security group is not allowed for this action.

" - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"QuotaExceeded.DBSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB security groups.

" - }, - "DBSecurityGroups":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroup", - "locationName":"DBSecurityGroup" - } - }, - "DBSnapshot":{ - "type":"structure", - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier for the DB snapshot.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the time (UTC) when the snapshot was taken.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Specifies the name of the database engine.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size in gigabytes (GB).

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of this DB snapshot.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the database engine was listening on at the time of the snapshot.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the Vpc Id associated with the DB snapshot.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time (UTC) when the snapshot was taken.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Provides the master username for the DB snapshot.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Specifies the version of the database engine.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

Provides the type of the DB snapshot.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Provides the option group name for the DB snapshot.

" - }, - "PercentProgress":{ - "shape":"Integer", - "documentation":"

The percentage of the estimated data that has been transferred.

" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The region that the DB snapshot was created in or copied from.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type associated with DB Snapshot.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which to associate the instance for TDE encryption.

" - } - }, - "wrapper":true, - "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.

" - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

" - }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "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.

" - }, - "DBSnapshots":{ - "shape":"DBSnapshotList", - "documentation":"

A list of DBSnapshot instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

" - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

" - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the DB subnet group.

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

Provides the description of the DB subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VpcId of the DB subnet group.

" - }, - "SubnetGroupStatus":{ - "shape":"String", - "documentation":"

Provides the status of the DB subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Contains a list of Subnet elements.

" - } - }, - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the following actions:

This data type is used as a response element in the DescribeDBSubnetGroups action.

" - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

" - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

" - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBSubnetGroups":{ - "shape":"DBSubnetGroups", - "documentation":"

A list of DBSubnetGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" - }, - "DBSubnetGroupNotAllowedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotAllowedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

" - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

" - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB subnet groups.

" - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

" - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB upgrade failed because a resource the DB depends on could not be modified.

" - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier for the DB instance to be deleted. This parameter isn't case sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "SkipFinalSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" - }, - "FinalDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
  • Cannot be specified when deleting a Read Replica.
" - } - }, - "documentation":"

" - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group
  • You cannot delete a default DB parameter group
  • Cannot be associated with any DB instances
" - } - }, - "documentation":"

" - }, - "DeleteDBSecurityGroupMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to delete.

You cannot delete the default DB security group.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
  • Must not be \"Default\"
  • May not contain spaces
" - } - }, - "documentation":"

" - }, - "DeleteDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DBSnapshot identifier.

Constraints: Must be the name of an existing DB snapshot in the available state.

" - } - }, - "documentation":"

" - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the database subnet group to delete.

You cannot delete the default subnet group.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to delete.

" - } - }, - "documentation":"

" - }, - "DeleteOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be deleted.

You cannot delete default option groups." - } - }, - "documentation":"

" - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The database engine to return.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The database engine version to return.

Example: 5.1.49

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DefaultOnly":{ - "shape":"Boolean", - "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" - }, - "ListSupportedCharacterSets":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is specified, and if the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" - } - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case sensitive.

Constraints:

  • 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
" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribeDBLogFilesDetails":{ - "type":"structure", - "members":{ - "LogFileName":{ - "shape":"String", - "documentation":"

The name of the log file for the specified DB instance.

" - }, - "LastWritten":{ - "shape":"Long", - "documentation":"

A POSIX timestamp when the last log entry was written.

" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size, in bytes, of the log file for the specified DB instance.

" - } - }, - "documentation":"

This data type is used as a response element to DescribeDBLogFiles.

" - }, - "DescribeDBLogFilesList":{ - "type":"list", - "member":{ - "shape":"DescribeDBLogFilesDetails", - "locationName":"DescribeDBLogFilesDetails" - } - }, - "DescribeDBLogFilesMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the DB instance that contains the log files you want to list.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "FilenameContains":{ - "shape":"String", - "documentation":"

Filters the available log files for log file names that contain the specified string.

" - }, - "FileLastWritten":{ - "shape":"Long", - "documentation":"

Filters the available log files for files written since the specified date, in POSIX timestamp format.

" - }, - "FileSize":{ - "shape":"Long", - "documentation":"

Filters the available log files for files larger than the specified size.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBLogFilesResponse":{ - "type":"structure", - "members":{ - "DescribeDBLogFiles":{ - "shape":"DescribeDBLogFilesList", - "documentation":"

The DB log files returned.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBLogFiles request.

" - } - }, - "documentation":"

The response from a call to DescribeDBLogFiles.

" - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeDBSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to return details for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSecurityGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

A DB instance identifier to retrieve the list of DB snapshots for. Cannot be used in conjunction with DBSnapshotIdentifier. This parameter is not case sensitive.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

A specific DB snapshot identifier to describe. Cannot be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
  • If this is the identifier of an automated snapshot, the SnapshotType parameter must also be specified.
" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The type of snapshots that will be returned. Values can be \"automated\" or \"manual.\" If not specified, the returned results will include all snapshots types.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group to return details for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

Not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that will be generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to describe.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is supplied, SourceType must also be provided.
  • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.
  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.
  • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.
  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
  • Cannot end with a hyphen or contain two consecutive hyphens.
" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes to retrieve events for.

Default: 60

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories that trigger notifications for a event notification subscription.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results may be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{ - "shape":"String", - "documentation":"

A required parameter. Options available for the given Engine name will be described.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

If specified, filters the results to include only options for the specified major engine version.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOptionGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Filters the list of option groups to only include groups associated with a specific database engine.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.

" - } - }, - "documentation":"

" - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the engine to retrieve DB instance options for.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

" - }, - "Vpc":{ - "shape":"BooleanOptional", - "documentation":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribeReservedDBInstancesMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.

" - }, - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\" | \"Medium Utilization\" | \"Heavy Utilization\"

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeReservedDBInstancesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Light Utilization\" | \"Medium Utilization\" | \"Heavy Utilization\"

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: minimum 20, maximum 100

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "Double":{"type":"double"}, - "DownloadDBLogFilePortionDetails":{ - "type":"structure", - "members":{ - "LogFileData":{ - "shape":"String", - "documentation":"

Entries from the specified log file.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.

" - }, - "AdditionalDataPending":{ - "shape":"Boolean", - "documentation":"

Boolean value that if true, indicates there is more data to be downloaded.

" - } - }, - "documentation":"

This data type is used as a response element to DownloadDBLogFilePortion.

" - }, - "DownloadDBLogFilePortionMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "LogFileName" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the DB instance that contains the log files you want to list.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "LogFileName":{ - "shape":"String", - "documentation":"

The name of the log file to be downloaded.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

The pagination token provided in the previous request or \"0\". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.

" - }, - "NumberOfLines":{ - "shape":"Integer", - "documentation":"

The number of lines to download.

If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.

  • If neither Marker or NumberOfLines are specified, the entire log file is returned.

  • If NumberOfLines is specified and Marker is not specified, then the most recent lines from the end of the log file are returned.

  • If Marker is specified as \"0\", then the specified number of lines from the beginning of the log file are returned.

  • You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of \"0\" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.

" - } - }, - "documentation":"

" - }, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

Provides the status of the EC2 security group. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the EC2 security group.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

Specifies the id of the EC2 security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

Specifies the DNS address of the DB instance.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the database engine is listening on.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Specifies the name of the DB parameter group family which the engine default parameters apply to.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Contains a list of engine default parameters.

" - } - }, - "wrapper":true, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

" - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

Provides the identifier for the source of the event.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the source type for this event.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Provides the text of this event.

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

Specifies the category for the event.

" - }, - "Date":{ - "shape":"TStamp", - "documentation":"

Specifies the date and time of the event.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeEvents action.

" - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The source type that the returned categories belong to

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

The event categories for the specified source type

" - } - }, - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

" - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{ - "shape":"EventCategoriesMapList", - "documentation":"

A list of EventCategoriesMap data types.

" - } - }, - "documentation":"

Data returned from the DescribeEventCategories action.

" - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{ - "shape":"String", - "documentation":"

The AWS customer account associated with the RDS event notification subscription.

" - }, - "CustSubscriptionId":{ - "shape":"String", - "documentation":"

The RDS event notification subscription Id.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The topic ARN of the RDS event notification subscription.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the RDS 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 RDS 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 source type for the RDS event notification subscription.

" - }, - "SourceIdsList":{ - "shape":"SourceIdsList", - "documentation":"

A list of source IDs for the RDS event notification subscription.

" - }, - "EventCategoriesList":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for the RDS event notification subscription.

" - }, - "Enabled":{ - "shape":"Boolean", - "documentation":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

" - } - }, - "wrapper":true, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

" - }, - "EventSubscriptionQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You have reached the maximum number of event subscriptions.

" - }, - "EventSubscriptionsList":{ - "type":"list", - "member":{ - "shape":"EventSubscription", - "locationName":"EventSubscription" - } - }, - "EventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

A list of EventSubscriptions data types.

" - } - }, - "documentation":"

Data returned by the DescribeEventSubscriptions action.

" - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of Event instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" - }, - "Filter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

This parameter is not currently supported.

" - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

This parameter is not currently supported.

" - } - } - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FilterValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Value" - } - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

Specifies the IP range.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBSecurityGroups action.

" - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB instances.

" - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

" - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified DB instance is not in the available state.

" - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB parameter group cannot be deleted because it is in use.

" - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB security group does not allow deletion.

" - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The state of the DB snapshot does not allow deletion.

" - }, - "InvalidDBSubnetGroupFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

" - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet group cannot be deleted because it is in use.

" - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet is not in the available state.

" - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

This error can occur if someone else is modifying a subscription. You should retry the action.

" - }, - "InvalidOptionGroupStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group is not in the available state.

" - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Cannot restore from vpc backup to non-vpc DB instance.

" - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

" - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

" - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "Long":{"type":"long"}, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must be the identifier for an existing DB instance
  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ApplyImmediately is set to true for this request.

MySQL

Default: Uses existing setting

Valid Values: 5-3072

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

PostgreSQL

Default: Uses existing setting

Valid Values: 5-3072

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Type: Integer

Oracle

Default: Uses existing setting

Valid Values: 10-3072

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

SQL Server

Cannot be modified.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but may experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The new compute and memory capacity of the DB instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action.

Passing a value for this setting causes an outage during the change and is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to authorize on this DB instance. Changing this setting does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and will be applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance and Using the Apply Immediately Parameter to see the impact that setting ApplyImmediately to true or false has for each modified parameter and to determine when the changes will be applied.

Default: false

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the DB instance master user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Default: Uses existing setting

Constraints: Must be 8 to 41 alphanumeric characters (MySQL), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

Amazon RDS API actions never return the password, so this action provides a way to regain access to a master instance user if the password is lost. This includes restoring privileges that may have been accidentally revoked. " - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting does not result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35
  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6
  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5
  • Cannot be set to 0 if the DB instance is a source to Read Replicas
" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • Must be in the format hh24:mi-hh24:mi
  • Times should be Universal Time Coordinated (UTC)
  • Must not conflict with the preferred maintenance window
  • Must be at least 30 minutes
" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which may result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Constraints: Cannot be specified if the DB instance is a Read Replica.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a non-default DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For a list of valid engine versions, see CreateDBInstance.

" - }, - "AllowMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

SQL Server

Setting the IOPS value for the SQL Server database engine is not supported.

Type: Integer

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but may experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

" - }, - "NewDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB Instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the Key Store in order to access the device.

" - } - }, - "documentation":"

" - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group
  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "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 may be modified in a single request.

Valid Values (for the application method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover. " - } - }, - "documentation":"

" - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters or hyphens. Must not be \"Default\".

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the DB subnet group.

" - } - }, - "documentation":"

" - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription.

" - } - }, - "documentation":"

" - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be modified.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

" - }, - "OptionsToInclude":{ - "shape":"OptionConfigurationList", - "documentation":"

Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

" - }, - "OptionsToRemove":{ - "shape":"OptionNamesList", - "documentation":"

Options in this list are removed from the option group.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

" - } - }, - "documentation":"

" - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{ - "shape":"String", - "documentation":"

The name of the option.

" - }, - "OptionDescription":{ - "shape":"String", - "documentation":"

The description of the option.

" - }, - "Persistent":{ - "shape":"Boolean", - "documentation":"

Indicate if this option is persistent.

" - }, - "Permanent":{ - "shape":"Boolean", - "documentation":"

Indicate if this option is permanent.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

If required, the port configured for this option to use.

" - }, - "OptionSettings":{ - "shape":"OptionSettingConfigurationList", - "documentation":"

The option settings for this option.

" - }, - "DBSecurityGroupMemberships":{ - "shape":"DBSecurityGroupMembershipList", - "documentation":"

If the option requires access to a port, then this DB security group allows access to the port.

" - }, - "VpcSecurityGroupMemberships":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

If the option requires access to a port, then this VPC security group allows access to the port.

" - } - }, - "documentation":"

Option details.

" - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{ - "shape":"String", - "documentation":"

The configuration of options to include in a group.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The optional port for the option.

" - }, - "DBSecurityGroupMemberships":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DBSecurityGroupMemebrship name strings used for this option.

" - }, - "VpcSecurityGroupMemberships":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VpcSecurityGroupMemebrship name strings used for this option.

" - }, - "OptionSettings":{ - "shape":"OptionSettingsList", - "documentation":"

The option settings to include in an option group.

" - } - }, - "documentation":"

A list of all available options

" - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the option group.

" - }, - "OptionGroupDescription":{ - "shape":"String", - "documentation":"

Provides a description of the option group.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Engine name that this option group can be applied to.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Indicates the major engine version associated with this option group.

" - }, - "Options":{ - "shape":"OptionsList", - "documentation":"

Indicates what options are available in the option group.

" - }, - "AllowsVpcAndNonVpcInstanceMemberships":{ - "shape":"Boolean", - "documentation":"

Indicates whether this option group can be applied to both VPC and non-VPC instances. The value true indicates the option group can be applied to both VPC and non-VPC instances.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then this option group can be applied to both VPC and non-VPC instances. If this field contains a value, then this option group can only be applied to instances that are in the VPC indicated by this field.

" - } - }, - "wrapper":true, - "documentation":"

" - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The option group you are trying to create already exists.

" - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group that the instance belongs to.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB instance's option group membership (e.g. in-sync, pending, pending-maintenance, applying).

" - } - }, - "documentation":"

Provides information on the option groups the DB instance is a member of.

" - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified option group could not be found.

" - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the option.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the option.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

The name of the engine that this option can be applied to.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Indicates the major engine version that the option is available for.

" - }, - "MinimumRequiredMinorEngineVersion":{ - "shape":"String", - "documentation":"

The minimum required engine version for the option to be applied.

" - }, - "PortRequired":{ - "shape":"Boolean", - "documentation":"

Specifies whether the option requires a port.

" - }, - "DefaultPort":{ - "shape":"IntegerOptional", - "documentation":"

If the option requires a port, specifies the default port for the option.

" - }, - "OptionsDependedOn":{ - "shape":"OptionsDependedOn", - "documentation":"

List of all options that are prerequisites for this option.

" - }, - "Persistent":{ - "shape":"Boolean", - "documentation":"

A persistent option cannot be removed from the option group once the option group is used, but this option can be removed from the db instance while modifying the related data and assigning another option group without this option.

" - }, - "Permanent":{ - "shape":"Boolean", - "documentation":"

A permanent option cannot be removed from the option group once the option group is used, and it cannot be removed from the db instance after assigning an option group with this permanent option.

" - }, - "OptionGroupOptionSettings":{ - "shape":"OptionGroupOptionSettingsList", - "documentation":"

Specifies the option settings that are available (and the default value) for each option in an option group.

" - } - }, - "documentation":"

Available option.

" - }, - "OptionGroupOptionSetting":{ - "type":"structure", - "members":{ - "SettingName":{ - "shape":"String", - "documentation":"

The name of the option group option.

" - }, - "SettingDescription":{ - "shape":"String", - "documentation":"

The description of the option group option.

" - }, - "DefaultValue":{ - "shape":"String", - "documentation":"

The default value for the option group option.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

The DB engine specific parameter type for the option group option.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

Indicates the acceptable values for the option group option.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Boolean value where true indicates that this option group option can be changed from the default value.

" - } - }, - "documentation":"

Option group option settings are used to display settings available for each option with their default values and other information. These values are used with the DescribeOptionGroupOptions action.

" - }, - "OptionGroupOptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOptionSetting", - "locationName":"OptionGroupOptionSetting" - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - }, - "documentation":"

List of available option group options.

" - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "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":"

" - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The quota of 20 option groups was exceeded for this AWS account.

" - }, - "OptionGroups":{ - "type":"structure", - "members":{ - "OptionGroupsList":{ - "shape":"OptionGroupsList", - "documentation":"

List of option groups.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

List of option groups.

" - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" - } - }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionSetting":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the option that has settings that you can set.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The current value of the option setting.

" - }, - "DefaultValue":{ - "shape":"String", - "documentation":"

The default value of the option setting.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the option setting.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

The DB engine specific parameter type.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The data type of the option setting.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The allowed values of the option setting.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

A Boolean value that, when true, indicates the option setting can be modified from the default.

" - }, - "IsCollection":{ - "shape":"Boolean", - "documentation":"

Indicates if the option setting is part of a collection.

" - } - }, - "documentation":"

Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.

" - }, - "OptionSettingConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" - } - }, - "OptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" - } - }, - "OptionsDependedOn":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"OptionName" - } - }, - "OptionsList":{ - "type":"list", - "member":{ - "shape":"Option", - "locationName":"Option" - } - }, - "OrderableDBInstanceOption":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The engine type of the orderable DB instance.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version of the orderable DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance Class for the orderable DB instance

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for the orderable DB instance.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

A list of availability zones for the orderable DB instance.

" - }, - "MultiAZCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether this orderable DB instance is multi-AZ capable.

" - }, - "ReadReplicaCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether this orderable DB instance can have a Read Replica.

" - }, - "Vpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether this is a VPC orderable DB instance.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

The storage type for this orderable DB instance.

" - }, - "SupportsIops":{ - "shape":"Boolean", - "documentation":"

Indicates whether this orderable DB instance supports provisioned IOPS.

" - } - }, - "wrapper":true, - "documentation":"

Contains a list of available options for a DB instance

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

" - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{ - "shape":"OrderableDBInstanceOptionsList", - "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

Specifies the name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

Specifies the value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides a description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

Indicates the source of the parameter value.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

Specifies the engine specific parameters type.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

Specifies the valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

Specifies the valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest engine version to which the parameter can apply.

" - }, - "ApplyMethod":{ - "shape":"ApplyMethod", - "documentation":"

Indicates when to apply parameter updates.

" - } - }, - "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is in progress.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is in progress.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

Contains the pending or in-progress change of the master credentials for the DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending port for the DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending number of days for which automated backups are retained.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is being applied.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is in progress.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB instance.

" - } - }, - "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" - }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

" - }, - "PromoteReadReplicaMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must be the identifier for an existing Read Replica DB instance
  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: mydbinstance

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Default: 1

Constraints:

  • Must be a value from 0 to 8
" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

Default: A 30-minute window selected at random from an 8-hour block of time per region. See the Amazon RDS User Guide for the time blocks for each region from which the default backup windows are assigned.

Constraints: Must be in the format hh24:mi-hh24:mi. Times should be Universal Time Coordinated (UTC). Must not conflict with the preferred maintenance window. Must be at least 30 minutes.

" - } - }, - "documentation":"

" - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

" - }, - "PurchaseReservedDBInstancesOfferingMessage":{ - "type":"structure", - "required":["ReservedDBInstancesOfferingId"], - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

Customer-specified identifier to track this reservation.

Example: myreservationID

" - }, - "DBInstanceCount":{ - "shape":"IntegerOptional", - "documentation":"

The number of instances to reserve.

Default: 1

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "ForceFailover":{ - "shape":"BooleanOptional", - "documentation":"

When true, the reboot will be conducted through a MultiAZ failover.

Constraint: You cannot specify true if the instance is not configured for MultiAZ.

" - } - }, - "documentation":"

" - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The amount of the recurring charge.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency of the recurring charge.

" - } - }, - "wrapper":true, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

" - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to remove a source identifier from.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" - } - }, - "documentation":"

" - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource the tags will be removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

The tag key (name) of the tag to be removed.

" - } - }, - "documentation":"

" - }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for the reserved DB instance.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The time the reservation started.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this reserved DB instance.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this reserved DB instance.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved DB instance.

" - }, - "DBInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reserved DB instances.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The description of the reserved DB instance.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type of this reserved DB instance.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Indicates if the reservation applies to Multi-AZ deployments.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved DB instance.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved DB instance.

" - } - }, - "wrapper":true, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

" - }, - "ReservedDBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

User already has a reservation with the given identifier.

" - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" - } - }, - "ReservedDBInstanceMessage":{ - "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.

" - }, - "ReservedDBInstances":{ - "shape":"ReservedDBInstanceList", - "documentation":"

A list of reserved DB instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

" - }, - "ReservedDBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified reserved DB Instance not found.

" - }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would exceed the user's DB Instance quota.

" - }, - "ReservedDBInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for the reserved DB instance.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this offering.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved DB instance offering.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The database engine used by the offering.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Indicates if the offering applies to Multi-AZ deployments.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved DB instance.

" - } - }, - "wrapper":true, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

" - }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "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.

" - }, - "ReservedDBInstancesOfferings":{ - "shape":"ReservedDBInstancesOfferingList", - "documentation":"

A list of reserved DB instance offerings.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

" - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

Specified offering does not exist.

" - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 alphanumeric characters
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

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 may 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.

Oracle

Valid Values (for Apply method): pending-reboot

" - } - }, - "documentation":"

" - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Name of the DB instance to create from the DB snapshot. This parameter isn't case sensitive.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot to restore from.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance.

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Default: The same port as the original DB instance

Constraints: Value must be 1150-65535

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the database instance will be created in.

Default: A random, system-chosen Availability Zone.

Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new instance.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true
  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The database name for the restored DB instance.

This parameter doesn't apply to the MySQL engine.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source

Valid Values: MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter is not specified, the IOPS value will be taken from the backup. If this parameter is set to 0, the new instance will be converted to a non-PIOPS instance, which will take additional time, though your DB instance will be available for connections before the conversion starts.

Constraints: Must be an integer greater than 1000.

SQL Server

Setting the IOPS value for the SQL Server database engine is not supported.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be used for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

" - }, - "Tags":{"shape":"TagList"}, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB Instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the Key Store in order to access the device.

" - } - }, - "documentation":"

" - }, - "RestoreDBInstanceToPointInTimeMessage":{ - "type":"structure", - "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" - ], - "members":{ - "SourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the source DB instance from which to restore.

Constraints:

  • Must be the identifier of an existing database instance
  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "TargetDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The name of the new database instance to be created.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens
" - }, - "RestoreTime":{ - "shape":"TStamp", - "documentation":"

The date and time to restore from.

Valid Values: Value must be a UTC time

Constraints:

  • Must be before the latest restorable time for the DB instance
  • Cannot be specified if UseLatestRestorableTime parameter is true

Example: 2009-09-07T23:45:00Z

" - }, - "UseLatestRestorableTime":{ - "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) the DB instance is restored from the latest backup time.

Default: false

Constraints: Cannot be specified if RestoreTime parameter is provided.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance.

Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium

Default: The same DBInstanceClass as the original DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the database instance will be created in.

Default: A random, system-chosen Availability Zone.

Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new instance.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

  • Default VPC:true
  • VPC:false

If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The database name for the restored DB instance.

This parameter is not used for the MySQL engine.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source

Valid Values: MySQL | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

Constraints: Must be an integer greater than 1000.

SQL Server

Setting the IOPS value for the SQL Server database engine is not supported.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be used for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

" - }, - "Tags":{"shape":"TagList"}, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies storage type to be associated with the DB Instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the Key Store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the Key Store in order to access the device.

" - } - }, - "documentation":"

" - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to revoke ingress from.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId cannot be provided.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

The id of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - } - }, - "documentation":"

" - }, - "SNSInvalidTopicFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

SNS has responded that there is a problem with the SND topic specified.

" - }, - "SNSNoAuthorizationFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

You do not have permission to publish to the SNS topic ARN.

" - }, - "SNSTopicArnNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The SNS topic ARN does not exist.

" - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

" - }, - "SourceIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SourceId" - } - }, - "SourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The requested source could not be found.

" - }, - "SourceType":{ - "type":"string", - "enum":[ - "db-instance", - "db-parameter-group", - "db-security-group", - "db-snapshot" - ] - }, - "StorageQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

" - }, - "StorageTypeNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

StorageType specified cannot be associated with the DB Instance.

" - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier of the subnet.

" - }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{ - "shape":"String", - "documentation":"

Specifies the status of the subnet.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubnetAlreadyInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The DB subnet is already in use in the Availability Zone.

" - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "SubscriptionAlreadyExistFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionAlreadyExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The supplied subscription name already exists.

" - }, - "SubscriptionCategoryNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The supplied category does not exist.

" - }, - "SubscriptionNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The subscription name does not exist.

" - }, - "SupportedCharacterSetsList":{ - "type":"list", - "member":{ - "shape":"CharacterSet", - "locationName":"CharacterSet" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with \"aws:\" or \"rds:\". The string may only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - }, - "Value":{ - "shape":"String", - "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with \"aws:\" or \"rds:\". The string may only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - } - }, - "documentation":"

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - }, - "documentation":"

A list of tags.

" - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

List of tags returned by the ListTagsForResource operation.

" - } - }, - "documentation":"

" - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{ - "shape":"String", - "documentation":"

The name of the VPC security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the VPC security group.

" - } - }, - "documentation":"

This data type is used as a response element for queries on VPC security group membership.

" - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AuthorizeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CopyDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CopyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CopyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "CreateDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "CreateDBInstanceReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSecurityGroupResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CreateDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "PromoteReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} - } - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RestoreDBInstanceFromDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/waiters-2.json deleted file mode 100644 index b0150079..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-09-01/waiters-2.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "version": 2, - "waiters": { - "DBInstanceAvailable": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-restore", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-parameters", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-parameters", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-restore", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - }, - "DBInstanceDeleted": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "resetting-master-credentials", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/examples-1.json deleted file mode 100644 index 4bb4a5a9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/examples-1.json +++ /dev/null @@ -1,1658 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/paginators-1.json deleted file mode 100644 index 3ca4c189..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/paginators-1.json +++ /dev/null @@ -1,119 +0,0 @@ -{ - "pagination": { - "DescribeDBClusterSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBClusterSnapshots" - }, - "DescribeDBEngineVersions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBEngineVersions" - }, - "DescribeDBInstances": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBInstances" - }, - "DescribeDBLogFiles": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DescribeDBLogFiles" - }, - "DescribeDBParameterGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBParameterGroups" - }, - "DescribeDBParameters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Parameters" - }, - "DescribeDBSecurityGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSecurityGroups" - }, - "DescribeDBSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSnapshots" - }, - "DescribeDBSubnetGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "DBSubnetGroups" - }, - "DescribeEngineDefaultParameters": { - "input_token": "Marker", - "output_token": "EngineDefaults.Marker", - "limit_key": "MaxRecords", - "result_key": "EngineDefaults.Parameters" - }, - "DescribeEventSubscriptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "EventSubscriptionsList" - }, - "DescribeEvents": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Events" - }, - "DescribeOptionGroupOptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OptionGroupOptions" - }, - "DescribeOptionGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OptionGroupsList" - }, - "DescribeOrderableDBInstanceOptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OrderableDBInstanceOptions" - }, - "DescribeReservedDBInstances": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedDBInstances" - }, - "DescribeReservedDBInstancesOfferings": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedDBInstancesOfferings" - }, - "DownloadDBLogFilePortion": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "NumberOfLines", - "more_results": "AdditionalDataPending", - "result_key": "LogFileData" - }, - "DescribeDBClusters": { - "input_token": "Marker", - "limit_key": "MaxRecords", - "output_token": "Marker", - "result_key": "DBClusters" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.json deleted file mode 100644 index 1fbedc91..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.json +++ /dev/null @@ -1,9275 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-10-31", - "endpointPrefix":"rds", - "protocol":"query", - "serviceAbbreviation":"Amazon RDS", - "serviceFullName":"Amazon Relational Database Service", - "serviceId":"RDS", - "signatureVersion":"v4", - "uid":"rds-2014-10-31", - "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" - }, - "operations":{ - "AddRoleToDBCluster":{ - "name":"AddRoleToDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddRoleToDBClusterMessage"}, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterRoleAlreadyExistsFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterRoleQuotaExceededFault"} - ], - "documentation":"

Associates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

" - }, - "AddSourceIdentifierToSubscription":{ - "name":"AddSourceIdentifierToSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, - "output":{ - "shape":"AddSourceIdentifierToSubscriptionResult", - "resultWrapper":"AddSourceIdentifierToSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Adds a source identifier to an existing RDS event notification subscription.

" - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

" - }, - "ApplyPendingMaintenanceAction":{ - "name":"ApplyPendingMaintenanceAction", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, - "output":{ - "shape":"ApplyPendingMaintenanceActionResult", - "resultWrapper":"ApplyPendingMaintenanceActionResult" - }, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

" - }, - "AuthorizeDBSecurityGroupIngress":{ - "name":"AuthorizeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeDBSecurityGroupIngressResult", - "resultWrapper":"AuthorizeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} - ], - "documentation":"

Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

You can't authorize ingress from an EC2 security group in one AWS Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" - }, - "BacktrackDBCluster":{ - "name":"BacktrackDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BacktrackDBClusterMessage"}, - "output":{ - "shape":"DBClusterBacktrack", - "resultWrapper":"BacktrackDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

Backtracks a DB cluster to a specific time, without creating a new DB cluster.

For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

" - }, - "CopyDBClusterParameterGroup":{ - "name":"CopyDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBClusterParameterGroupMessage"}, - "output":{ - "shape":"CopyDBClusterParameterGroupResult", - "resultWrapper":"CopyDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Copies the specified DB cluster parameter group.

" - }, - "CopyDBClusterSnapshot":{ - "name":"CopyDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBClusterSnapshotMessage"}, - "output":{ - "shape":"CopyDBClusterSnapshotResult", - "resultWrapper":"CopyDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

  • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

  • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot 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 AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

  • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

  • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "CopyDBParameterGroup":{ - "name":"CopyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBParameterGroupMessage"}, - "output":{ - "shape":"CopyDBParameterGroupResult", - "resultWrapper":"CopyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"}, - {"shape":"DBParameterGroupQuotaExceededFault"} - ], - "documentation":"

Copies the specified DB parameter group.

" - }, - "CopyDBSnapshot":{ - "name":"CopyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyDBSnapshotMessage"}, - "output":{ - "shape":"CopyDBSnapshotResult", - "resultWrapper":"CopyDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

" - }, - "CopyOptionGroup":{ - "name":"CopyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyOptionGroupMessage"}, - "output":{ - "shape":"CopyOptionGroupResult", - "resultWrapper":"CopyOptionGroupResult" - }, - "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"OptionGroupQuotaExceededFault"} - ], - "documentation":"

Copies the specified option group.

" - }, - "CreateDBCluster":{ - "name":"CreateDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterMessage"}, - "output":{ - "shape":"CreateDBClusterResult", - "resultWrapper":"CreateDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBClusterParameterGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} - ], - "documentation":"

Creates a new Amazon Aurora DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "CreateDBClusterParameterGroup":{ - "name":"CreateDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterParameterGroupMessage"}, - "output":{ - "shape":"CreateDBClusterParameterGroupResult", - "resultWrapper":"CreateDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "CreateDBClusterSnapshot":{ - "name":"CreateDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBClusterSnapshotMessage"}, - "output":{ - "shape":"CreateDBClusterSnapshotResult", - "resultWrapper":"CreateDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"} - ], - "documentation":"

Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "CreateDBInstance":{ - "name":"CreateDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBInstanceMessage"}, - "output":{ - "shape":"CreateDBInstanceResult", - "resultWrapper":"CreateDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DomainNotFoundFault"}, - {"shape":"BackupPolicyNotFoundFault"} - ], - "documentation":"

Creates a new DB instance.

" - }, - "CreateDBInstanceReadReplica":{ - "name":"CreateDBInstanceReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBInstanceReadReplicaMessage"}, - "output":{ - "shape":"CreateDBInstanceReadReplicaResult", - "resultWrapper":"CreateDBInstanceReadReplicaResult" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBSubnetGroupNotAllowedFault"}, - {"shape":"InvalidDBSubnetGroupFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"KMSKeyNotAccessibleFault"} - ], - "documentation":"

Creates a new DB instance that acts as a Read Replica for an existing source DB instance. You can create a Read Replica for a DB instance running MySQL, MariaDB, or PostgreSQL. For more information, see Working with PostgreSQL, MySQL, and MariaDB Read Replicas in the Amazon RDS User Guide.

Amazon Aurora doesn't 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 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 following.

Your source DB instance must have backup retention enabled.

" - }, - "CreateDBParameterGroup":{ - "name":"CreateDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBParameterGroupMessage"}, - "output":{ - "shape":"CreateDBParameterGroupResult", - "resultWrapper":"CreateDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupQuotaExceededFault"}, - {"shape":"DBParameterGroupAlreadyExistsFault"} - ], - "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "CreateDBSecurityGroup":{ - "name":"CreateDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSecurityGroupMessage"}, - "output":{ - "shape":"CreateDBSecurityGroupResult", - "resultWrapper":"CreateDBSecurityGroupResult" - }, - "errors":[ - {"shape":"DBSecurityGroupAlreadyExistsFault"}, - {"shape":"DBSecurityGroupQuotaExceededFault"}, - {"shape":"DBSecurityGroupNotSupportedFault"} - ], - "documentation":"

Creates a new DB security group. DB security groups control access to a DB instance.

A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

" - }, - "CreateDBSnapshot":{ - "name":"CreateDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSnapshotMessage"}, - "output":{ - "shape":"CreateDBSnapshotResult", - "resultWrapper":"CreateDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"SnapshotQuotaExceededFault"} - ], - "documentation":"

Creates a DBSnapshot. The source DBInstance must be in \"available\" state.

" - }, - "CreateDBSubnetGroup":{ - "name":"CreateDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDBSubnetGroupMessage"}, - "output":{ - "shape":"CreateDBSubnetGroupResult", - "resultWrapper":"CreateDBSubnetGroupResult" - }, - "errors":[ - {"shape":"DBSubnetGroupAlreadyExistsFault"}, - {"shape":"DBSubnetGroupQuotaExceededFault"}, - {"shape":"DBSubnetQuotaExceededFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" - }, - "CreateEventSubscription":{ - "name":"CreateEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEventSubscriptionMessage"}, - "output":{ - "shape":"CreateEventSubscriptionResult", - "resultWrapper":"CreateEventSubscriptionResult" - }, - "errors":[ - {"shape":"EventSubscriptionQuotaExceededFault"}, - {"shape":"SubscriptionAlreadyExistFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your RDS sources. If you do not specify either the SourceType nor the SourceIdentifier, you are notified of events generated from all RDS sources belonging to your customer account.

" - }, - "CreateOptionGroup":{ - "name":"CreateOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateOptionGroupMessage"}, - "output":{ - "shape":"CreateOptionGroupResult", - "resultWrapper":"CreateOptionGroupResult" - }, - "errors":[ - {"shape":"OptionGroupAlreadyExistsFault"}, - {"shape":"OptionGroupQuotaExceededFault"} - ], - "documentation":"

Creates a new option group. You can create up to 20 option groups.

" - }, - "DeleteDBCluster":{ - "name":"DeleteDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterMessage"}, - "output":{ - "shape":"DeleteDBClusterResult", - "resultWrapper":"DeleteDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"DBClusterSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"} - ], - "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DeleteDBClusterParameterGroup":{ - "name":"DeleteDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DeleteDBClusterSnapshot":{ - "name":"DeleteDBClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBClusterSnapshotMessage"}, - "output":{ - "shape":"DeleteDBClusterSnapshotResult", - "resultWrapper":"DeleteDBClusterSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DeleteDBInstance":{ - "name":"DeleteDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBInstanceMessage"}, - "output":{ - "shape":"DeleteDBInstanceResult", - "resultWrapper":"DeleteDBInstanceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBSnapshotAlreadyExistsFault"}, - {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

  • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

  • The DB instance is the only instance in the DB cluster.

To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

" - }, - "DeleteDBParameterGroup":{ - "name":"DeleteDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

" - }, - "DeleteDBSecurityGroup":{ - "name":"DeleteDBSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBSecurityGroupNotFoundFault"} - ], - "documentation":"

Deletes a DB security group.

The specified DB security group must not be associated with any DB instances.

" - }, - "DeleteDBSnapshot":{ - "name":"DeleteDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSnapshotMessage"}, - "output":{ - "shape":"DeleteDBSnapshotResult", - "resultWrapper":"DeleteDBSnapshotResult" - }, - "errors":[ - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"DBSnapshotNotFoundFault"} - ], - "documentation":"

Deletes a DBSnapshot. If the snapshot is being copied, the copy operation is terminated.

The DBSnapshot must be in the available state to be deleted.

" - }, - "DeleteDBSubnetGroup":{ - "name":"DeleteDBSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDBSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidDBSubnetStateFault"}, - {"shape":"DBSubnetGroupNotFoundFault"} - ], - "documentation":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

" - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "output":{ - "shape":"DeleteEventSubscriptionResult", - "resultWrapper":"DeleteEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidEventSubscriptionStateFault"} - ], - "documentation":"

Deletes an RDS event notification subscription.

" - }, - "DeleteOptionGroup":{ - "name":"DeleteOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteOptionGroupMessage"}, - "errors":[ - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"InvalidOptionGroupStateFault"} - ], - "documentation":"

Deletes an existing option group.

" - }, - "DescribeAccountAttributes":{ - "name":"DescribeAccountAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAccountAttributesMessage"}, - "output":{ - "shape":"AccountAttributesMessage", - "resultWrapper":"DescribeAccountAttributesResult" - }, - "documentation":"

Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command doesn't take any parameters.

" - }, - "DescribeCertificates":{ - "name":"DescribeCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCertificatesMessage"}, - "output":{ - "shape":"CertificateMessage", - "resultWrapper":"DescribeCertificatesResult" - }, - "errors":[ - {"shape":"CertificateNotFoundFault"} - ], - "documentation":"

Lists the set of CA certificates provided by Amazon RDS for this AWS account.

" - }, - "DescribeDBClusterBacktracks":{ - "name":"DescribeDBClusterBacktracks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterBacktracksMessage"}, - "output":{ - "shape":"DBClusterBacktrackMessage", - "resultWrapper":"DescribeDBClusterBacktracksResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterBacktrackNotFoundFault"} - ], - "documentation":"

Returns information about backtracks for a DB cluster.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeDBClusterParameterGroups":{ - "name":"DescribeDBClusterParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, - "output":{ - "shape":"DBClusterParameterGroupsMessage", - "resultWrapper":"DescribeDBClusterParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeDBClusterParameters":{ - "name":"DescribeDBClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterParametersMessage"}, - "output":{ - "shape":"DBClusterParameterGroupDetails", - "resultWrapper":"DescribeDBClusterParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeDBClusterSnapshotAttributes":{ - "name":"DescribeDBClusterSnapshotAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, - "output":{ - "shape":"DescribeDBClusterSnapshotAttributesResult", - "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

" - }, - "DescribeDBClusterSnapshots":{ - "name":"DescribeDBClusterSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, - "output":{ - "shape":"DBClusterSnapshotMessage", - "resultWrapper":"DescribeDBClusterSnapshotsResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"} - ], - "documentation":"

Returns information about DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeDBClusters":{ - "name":"DescribeDBClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBClustersMessage"}, - "output":{ - "shape":"DBClusterMessage", - "resultWrapper":"DescribeDBClustersResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Returns information about provisioned Aurora DB clusters. This API supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeDBEngineVersions":{ - "name":"DescribeDBEngineVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBEngineVersionsMessage"}, - "output":{ - "shape":"DBEngineVersionMessage", - "resultWrapper":"DescribeDBEngineVersionsResult" - }, - "documentation":"

Returns a list of the available DB engines.

" - }, - "DescribeDBInstances":{ - "name":"DescribeDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBInstancesMessage"}, - "output":{ - "shape":"DBInstanceMessage", - "resultWrapper":"DescribeDBInstancesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

Returns information about provisioned RDS instances. This API supports pagination.

" - }, - "DescribeDBLogFiles":{ - "name":"DescribeDBLogFiles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBLogFilesMessage"}, - "output":{ - "shape":"DescribeDBLogFilesResponse", - "resultWrapper":"DescribeDBLogFilesResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

Returns a list of DB log files for the DB instance.

" - }, - "DescribeDBParameterGroups":{ - "name":"DescribeDBParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParameterGroupsMessage"}, - "output":{ - "shape":"DBParameterGroupsMessage", - "resultWrapper":"DescribeDBParameterGroupsResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" - }, - "DescribeDBParameters":{ - "name":"DescribeDBParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBParametersMessage"}, - "output":{ - "shape":"DBParameterGroupDetails", - "resultWrapper":"DescribeDBParametersResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Returns the detailed parameter list for a particular DB parameter group.

" - }, - "DescribeDBSecurityGroups":{ - "name":"DescribeDBSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSecurityGroupsMessage"}, - "output":{ - "shape":"DBSecurityGroupMessage", - "resultWrapper":"DescribeDBSecurityGroupsResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName is specified, the list will contain only the descriptions of the specified DB security group.

" - }, - "DescribeDBSnapshotAttributes":{ - "name":"DescribeDBSnapshotAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSnapshotAttributesMessage"}, - "output":{ - "shape":"DescribeDBSnapshotAttributesResult", - "resultWrapper":"DescribeDBSnapshotAttributesResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ], - "documentation":"

Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

" - }, - "DescribeDBSnapshots":{ - "name":"DescribeDBSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSnapshotsMessage"}, - "output":{ - "shape":"DBSnapshotMessage", - "resultWrapper":"DescribeDBSnapshotsResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ], - "documentation":"

Returns information about DB snapshots. This API action supports pagination.

" - }, - "DescribeDBSubnetGroups":{ - "name":"DescribeDBSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDBSubnetGroupsMessage"}, - "output":{ - "shape":"DBSubnetGroupMessage", - "resultWrapper":"DescribeDBSubnetGroupsResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"} - ], - "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" - }, - "DescribeEngineDefaultClusterParameters":{ - "name":"DescribeEngineDefaultClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultClusterParametersResult", - "resultWrapper":"DescribeEngineDefaultClusterParametersResult" - }, - "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "DescribeEngineDefaultParameters":{ - "name":"DescribeEngineDefaultParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEngineDefaultParametersMessage"}, - "output":{ - "shape":"DescribeEngineDefaultParametersResult", - "resultWrapper":"DescribeEngineDefaultParametersResult" - }, - "documentation":"

Returns the default engine and system parameter information for the specified database engine.

" - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - }, - "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

" - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"} - ], - "documentation":"

Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify a SubscriptionName, lists the description for that subscription.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - }, - "documentation":"

Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

" - }, - "DescribeOptionGroupOptions":{ - "name":"DescribeOptionGroupOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupOptionsMessage"}, - "output":{ - "shape":"OptionGroupOptionsMessage", - "resultWrapper":"DescribeOptionGroupOptionsResult" - }, - "documentation":"

Describes all available options.

" - }, - "DescribeOptionGroups":{ - "name":"DescribeOptionGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOptionGroupsMessage"}, - "output":{ - "shape":"OptionGroups", - "resultWrapper":"DescribeOptionGroupsResult" - }, - "errors":[ - {"shape":"OptionGroupNotFoundFault"} - ], - "documentation":"

Describes the available option groups.

" - }, - "DescribeOrderableDBInstanceOptions":{ - "name":"DescribeOrderableDBInstanceOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, - "output":{ - "shape":"OrderableDBInstanceOptionsMessage", - "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" - }, - "documentation":"

Returns a list of orderable DB instance options for the specified engine.

" - }, - "DescribePendingMaintenanceActions":{ - "name":"DescribePendingMaintenanceActions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, - "output":{ - "shape":"PendingMaintenanceActionsMessage", - "resultWrapper":"DescribePendingMaintenanceActionsResult" - }, - "errors":[ - {"shape":"ResourceNotFoundFault"} - ], - "documentation":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

" - }, - "DescribeReservedDBInstances":{ - "name":"DescribeReservedDBInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesMessage"}, - "output":{ - "shape":"ReservedDBInstanceMessage", - "resultWrapper":"DescribeReservedDBInstancesResult" - }, - "errors":[ - {"shape":"ReservedDBInstanceNotFoundFault"} - ], - "documentation":"

Returns information about reserved DB instances for this account, or about a specified reserved DB instance.

" - }, - "DescribeReservedDBInstancesOfferings":{ - "name":"DescribeReservedDBInstancesOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedDBInstancesOfferingsMessage"}, - "output":{ - "shape":"ReservedDBInstancesOfferingMessage", - "resultWrapper":"DescribeReservedDBInstancesOfferingsResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"} - ], - "documentation":"

Lists available reserved DB instance offerings.

" - }, - "DescribeSourceRegions":{ - "name":"DescribeSourceRegions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSourceRegionsMessage"}, - "output":{ - "shape":"SourceRegionMessage", - "resultWrapper":"DescribeSourceRegionsResult" - }, - "documentation":"

Returns a list of the source AWS Regions where the current AWS Region can create a Read Replica or copy a DB snapshot from. This API action supports pagination.

" - }, - "DescribeValidDBInstanceModifications":{ - "name":"DescribeValidDBInstanceModifications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeValidDBInstanceModificationsMessage"}, - "output":{ - "shape":"DescribeValidDBInstanceModificationsResult", - "resultWrapper":"DescribeValidDBInstanceModificationsResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InvalidDBInstanceStateFault"} - ], - "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" - }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DownloadDBLogFilePortionMessage"}, - "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "resultWrapper":"DownloadDBLogFilePortionResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBLogFileNotFoundFault"} - ], - "documentation":"

Downloads all or a portion of the specified log file, up to 1 MB in size.

" - }, - "FailoverDBCluster":{ - "name":"FailoverDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"FailoverDBClusterMessage"}, - "output":{ - "shape":"FailoverDBClusterResult", - "resultWrapper":"FailoverDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBInstanceStateFault"} - ], - "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceMessage"}, - "output":{ - "shape":"TagListMessage", - "resultWrapper":"ListTagsForResourceResult" - }, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Lists all tags on an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" - }, - "ModifyCurrentDBClusterCapacity":{ - "name":"ModifyCurrentDBClusterCapacity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyCurrentDBClusterCapacityMessage"}, - "output":{ - "shape":"DBClusterCapacityInfo", - "resultWrapper":"ModifyCurrentDBClusterCapacityResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBClusterCapacityFault"} - ], - "documentation":"

Set the capacity of an Aurora Serverless DB cluster to a specific value.

Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly.

After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down.

For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

" - }, - "ModifyDBCluster":{ - "name":"ModifyDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterMessage"}, - "output":{ - "shape":"ModifyDBClusterResult", - "resultWrapper":"ModifyDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"DBClusterParameterGroupNotFoundFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBClusterAlreadyExistsFault"} - ], - "documentation":"

Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "ModifyDBClusterParameterGroup":{ - "name":"ModifyDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, - "output":{ - "shape":"DBClusterParameterGroupNameMessage", - "resultWrapper":"ModifyDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ], - "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" - }, - "ModifyDBClusterSnapshotAttribute":{ - "name":"ModifyDBClusterSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, - "output":{ - "shape":"ModifyDBClusterSnapshotAttributeResult", - "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" - }, - "errors":[ - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"SharedSnapshotQuotaExceededFault"} - ], - "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

" - }, - "ModifyDBInstance":{ - "name":"ModifyDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBInstanceMessage"}, - "output":{ - "shape":"ModifyDBInstanceResult", - "resultWrapper":"ModifyDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"InvalidDBSecurityGroupStateFault"}, - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"DBUpgradeDependencyFailureFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"CertificateNotFoundFault"}, - {"shape":"DomainNotFoundFault"}, - {"shape":"BackupPolicyNotFoundFault"} - ], - "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" - }, - "ModifyDBParameterGroup":{ - "name":"ModifyDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ModifyDBParameterGroupResult" - }, - "errors":[ - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"InvalidDBParameterGroupStateFault"} - ], - "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" - }, - "ModifyDBSnapshot":{ - "name":"ModifyDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBSnapshotMessage"}, - "output":{ - "shape":"ModifyDBSnapshotResult", - "resultWrapper":"ModifyDBSnapshotResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"} - ], - "documentation":"

Updates a manual DB snapshot, which can be encrypted or not encrypted, with a new engine version.

Amazon RDS supports upgrading DB snapshots for MySQL and Oracle.

" - }, - "ModifyDBSnapshotAttribute":{ - "name":"ModifyDBSnapshotAttribute", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBSnapshotAttributeMessage"}, - "output":{ - "shape":"ModifyDBSnapshotAttributeResult", - "resultWrapper":"ModifyDBSnapshotAttributeResult" - }, - "errors":[ - {"shape":"DBSnapshotNotFoundFault"}, - {"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. 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDBSubnetGroupMessage"}, - "output":{ - "shape":"ModifyDBSubnetGroupResult", - "resultWrapper":"ModifyDBSubnetGroupResult" - }, - "errors":[ - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetQuotaExceededFault"}, - {"shape":"SubnetAlreadyInUse"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"} - ], - "documentation":"

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" - }, - "ModifyEventSubscription":{ - "name":"ModifyEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyEventSubscriptionMessage"}, - "output":{ - "shape":"ModifyEventSubscriptionResult", - "resultWrapper":"ModifyEventSubscriptionResult" - }, - "errors":[ - {"shape":"EventSubscriptionQuotaExceededFault"}, - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"} - ], - "documentation":"

Modifies an existing RDS event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "ModifyOptionGroup":{ - "name":"ModifyOptionGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyOptionGroupMessage"}, - "output":{ - "shape":"ModifyOptionGroupResult", - "resultWrapper":"ModifyOptionGroupResult" - }, - "errors":[ - {"shape":"InvalidOptionGroupStateFault"}, - {"shape":"OptionGroupNotFoundFault"} - ], - "documentation":"

Modifies an existing option group.

" - }, - "PromoteReadReplica":{ - "name":"PromoteReadReplica", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaMessage"}, - "output":{ - "shape":"PromoteReadReplicaResult", - "resultWrapper":"PromoteReadReplicaResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

Promotes a Read Replica DB instance to a standalone DB instance.

  • Backup duration is a function of the amount of changes to the database since the previous backup. If you plan to promote a Read Replica to a standalone instance, we recommend that you enable backups and complete at least one backup prior to promotion. In addition, a Read Replica cannot be promoted to a standalone instance when it is in the backing-up status. If you have enabled backups on your Read Replica, configure the automated backup window so that daily backups do not interfere with Read Replica promotion.

  • This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

" - }, - "PromoteReadReplicaDBCluster":{ - "name":"PromoteReadReplicaDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PromoteReadReplicaDBClusterMessage"}, - "output":{ - "shape":"PromoteReadReplicaDBClusterResult", - "resultWrapper":"PromoteReadReplicaDBClusterResult" - }, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

Promotes a Read Replica DB cluster to a standalone DB cluster.

" - }, - "PurchaseReservedDBInstancesOffering":{ - "name":"PurchaseReservedDBInstancesOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedDBInstancesOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedDBInstancesOfferingResult", - "resultWrapper":"PurchaseReservedDBInstancesOfferingResult" - }, - "errors":[ - {"shape":"ReservedDBInstancesOfferingNotFoundFault"}, - {"shape":"ReservedDBInstanceAlreadyExistsFault"}, - {"shape":"ReservedDBInstanceQuotaExceededFault"} - ], - "documentation":"

Purchases a reserved DB instance offering.

" - }, - "RebootDBInstance":{ - "name":"RebootDBInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootDBInstanceMessage"}, - "output":{ - "shape":"RebootDBInstanceResult", - "resultWrapper":"RebootDBInstanceResult" - }, - "errors":[ - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBInstanceNotFoundFault"} - ], - "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.

" - }, - "RemoveRoleFromDBCluster":{ - "name":"RemoveRoleFromDBCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveRoleFromDBClusterMessage"}, - "errors":[ - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterRoleNotFoundFault"}, - {"shape":"InvalidDBClusterStateFault"} - ], - "documentation":"

Disassociates an Identity and Access Management (IAM) role from an Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

" - }, - "RemoveSourceIdentifierFromSubscription":{ - "name":"RemoveSourceIdentifierFromSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, - "output":{ - "shape":"RemoveSourceIdentifierFromSubscriptionResult", - "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SourceNotFoundFault"} - ], - "documentation":"

Removes a source identifier from an existing RDS event notification subscription.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceMessage"}, - "errors":[ - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterNotFoundFault"} - ], - "documentation":"

Removes metadata tags from an Amazon RDS resource.

For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" - }, - "ResetDBClusterParameterGroup":{ - "name":"ResetDBClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBClusterParameterGroupMessage"}, - "output":{ - "shape":"DBClusterParameterGroupNameMessage", - "resultWrapper":"ResetDBClusterParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "ResetDBParameterGroup":{ - "name":"ResetDBParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetDBParameterGroupMessage"}, - "output":{ - "shape":"DBParameterGroupNameMessage", - "resultWrapper":"ResetDBParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidDBParameterGroupStateFault"}, - {"shape":"DBParameterGroupNotFoundFault"} - ], - "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" - }, - "RestoreDBClusterFromS3":{ - "name":"RestoreDBClusterFromS3", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBClusterFromS3Message"}, - "output":{ - "shape":"RestoreDBClusterFromS3Result", - "resultWrapper":"RestoreDBClusterFromS3Result" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidS3BucketFault"}, - {"shape":"DBClusterParameterGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"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 to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide.

" - }, - "RestoreDBClusterFromSnapshot":{ - "name":"RestoreDBClusterFromSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, - "output":{ - "shape":"RestoreDBClusterFromSnapshotResult", - "resultWrapper":"RestoreDBClusterFromSnapshotResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"InsufficientDBClusterCapacityFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBClusterParameterGroupNotFoundFault"} - ], - "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "RestoreDBClusterToPointInTime":{ - "name":"RestoreDBClusterToPointInTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, - "output":{ - "shape":"RestoreDBClusterToPointInTimeResult", - "resultWrapper":"RestoreDBClusterToPointInTimeResult" - }, - "errors":[ - {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterNotFoundFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"DBClusterSnapshotNotFoundFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"InsufficientDBClusterCapacityFault"}, - {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"InvalidDBClusterStateFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBClusterParameterGroupNotFoundFault"} - ], - "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

" - }, - "RestoreDBInstanceFromDBSnapshot":{ - "name":"RestoreDBInstanceFromDBSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBInstanceFromDBSnapshotMessage"}, - "output":{ - "shape":"RestoreDBInstanceFromDBSnapshotResult", - "resultWrapper":"RestoreDBInstanceFromDBSnapshotResult" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"DBSnapshotNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"BackupPolicyNotFoundFault"} - ], - "documentation":"

Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot.

" - }, - "RestoreDBInstanceFromS3":{ - "name":"RestoreDBInstanceFromS3", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBInstanceFromS3Message"}, - "output":{ - "shape":"RestoreDBInstanceFromS3Result", - "resultWrapper":"RestoreDBInstanceFromS3Result" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidS3BucketFault"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"BackupPolicyNotFoundFault"} - ], - "documentation":"

Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.

" - }, - "RestoreDBInstanceToPointInTime":{ - "name":"RestoreDBInstanceToPointInTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreDBInstanceToPointInTimeMessage"}, - "output":{ - "shape":"RestoreDBInstanceToPointInTimeResult", - "resultWrapper":"RestoreDBInstanceToPointInTimeResult" - }, - "errors":[ - {"shape":"DBInstanceAlreadyExistsFault"}, - {"shape":"DBInstanceNotFoundFault"}, - {"shape":"InstanceQuotaExceededFault"}, - {"shape":"InsufficientDBInstanceCapacityFault"}, - {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"PointInTimeRestoreNotEnabledFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, - {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, - {"shape":"InvalidSubnet"}, - {"shape":"ProvisionedIopsNotAvailableInAZFault"}, - {"shape":"OptionGroupNotFoundFault"}, - {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"}, - {"shape":"DBParameterGroupNotFoundFault"}, - {"shape":"BackupPolicyNotFoundFault"} - ], - "documentation":"

Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

" - }, - "RevokeDBSecurityGroupIngress":{ - "name":"RevokeDBSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeDBSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeDBSecurityGroupIngressResult", - "resultWrapper":"RevokeDBSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"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.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

" - }, - "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.

This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

" - } - }, - "shapes":{ - "AccountAttributesMessage":{ - "type":"structure", - "members":{ - "AccountQuotas":{ - "shape":"AccountQuotaList", - "documentation":"

A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

" - } - }, - "documentation":"

Data returned by the DescribeAccountAttributes action.

" - }, - "AccountQuota":{ - "type":"structure", - "members":{ - "AccountQuotaName":{ - "shape":"String", - "documentation":"

The name of the Amazon RDS quota for this AWS account.

" - }, - "Used":{ - "shape":"Long", - "documentation":"

The amount currently used toward the quota maximum.

" - }, - "Max":{ - "shape":"Long", - "documentation":"

The maximum allowed value for the quota.

" - } - }, - "documentation":"

Describes a quota for an AWS account, for example, the number of DB instances allowed.

", - "wrapper":true - }, - "AccountQuotaList":{ - "type":"list", - "member":{ - "shape":"AccountQuota", - "locationName":"AccountQuota" - } - }, - "AddRoleToDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "RoleArn" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to associate the IAM role with.

" - }, - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" - } - } - }, - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to add a source identifier to.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source to be added.

Constraints:

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" - } - }, - "documentation":"

" - }, - "AddSourceIdentifierToSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "AddTagsToResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the Amazon RDS resource.

" - } - }, - "documentation":"

" - }, - "ApplyMethod":{ - "type":"string", - "enum":[ - "immediate", - "pending-reboot" - ] - }, - "ApplyPendingMaintenanceActionMessage":{ - "type":"structure", - "required":[ - "ResourceIdentifier", - "ApplyAction", - "OptInType" - ], - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

" - }, - "ApplyAction":{ - "shape":"String", - "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" - }, - "OptInType":{ - "shape":"String", - "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" - } - }, - "documentation":"

" - }, - "ApplyPendingMaintenanceActionResult":{ - "type":"structure", - "members":{ - "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} - } - }, - "AttributeValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AttributeValue" - } - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified CIDRIP or Amazon EC2 security group is already authorized for the specified DB security group.

", - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified CIDRIP or Amazon EC2 security group isn't authorized for the specified DB security group.

RDS also may not be authorized by using IAM to perform necessary actions on your behalf.

", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB security group authorization quota has been reached.

", - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to add authorization to.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range to authorize.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

Name of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - } - }, - "documentation":"

" - }, - "AuthorizeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the Availability Zone.

" - } - }, - "documentation":"

Contains Availability Zone information.

This data type is used as an element in the following data type:

", - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "AvailabilityZones":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AvailabilityZone" - } - }, - "AvailableProcessorFeature":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the processor feature. Valid names are coreCount and threadsPerCore.

" - }, - "DefaultValue":{ - "shape":"String", - "documentation":"

The default value for the processor feature of the DB instance class.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The allowed values for the processor feature of the DB instance class.

" - } - }, - "documentation":"

Contains the available processor feature information for the DB instance class of a DB instance.

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" - }, - "AvailableProcessorFeatureList":{ - "type":"list", - "member":{ - "shape":"AvailableProcessorFeature", - "locationName":"AvailableProcessorFeature" - } - }, - "BacktrackDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "BacktrackTo" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier of the DB cluster to be backtracked. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" - }, - "BacktrackTo":{ - "shape":"TStamp", - "documentation":"

The timestamp of the time to backtrack the DB cluster to, specified in ISO 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia page.

If the specified time is not a consistent time for the DB cluster, Aurora automatically chooses the nearest possible consistent time for the DB cluster.

Constraints:

  • Must contain a valid ISO 8601 timestamp.

  • Cannot contain a timestamp set in the future.

Example: 2017-07-08T18:00Z

" - }, - "Force":{ - "shape":"BooleanOptional", - "documentation":"

A value that, if specified, forces the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

" - }, - "UseEarliestTimeOnPointInTimeUnavailable":{ - "shape":"BooleanOptional", - "documentation":"

If BacktrackTo is set to a timestamp earlier than the earliest backtrack time, this value backtracks the DB cluster to the earliest possible backtrack time. Otherwise, an error occurs.

" - } - }, - "documentation":"

" - }, - "BackupPolicyNotFoundFault":{ - "type":"structure", - "members":{ - }, - "error":{ - "code":"BackupPolicyNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "Certificate":{ - "type":"structure", - "members":{ - "CertificateIdentifier":{ - "shape":"String", - "documentation":"

The unique key that identifies a certificate.

" - }, - "CertificateType":{ - "shape":"String", - "documentation":"

The type of the certificate.

" - }, - "Thumbprint":{ - "shape":"String", - "documentation":"

The thumbprint of the certificate.

" - }, - "ValidFrom":{ - "shape":"TStamp", - "documentation":"

The starting date from which the certificate is valid.

" - }, - "ValidTill":{ - "shape":"TStamp", - "documentation":"

The final date that the certificate continues to be valid.

" - }, - "CertificateArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the certificate.

" - } - }, - "documentation":"

A CA certificate for an AWS account.

", - "wrapper":true - }, - "CertificateList":{ - "type":"list", - "member":{ - "shape":"Certificate", - "locationName":"Certificate" - } - }, - "CertificateMessage":{ - "type":"structure", - "members":{ - "Certificates":{ - "shape":"CertificateList", - "documentation":"

The list of Certificate objects for the AWS account.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Data returned by the DescribeCertificates action.

" - }, - "CertificateNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

CertificateIdentifier doesn't refer to an existing certificate.

", - "error":{ - "code":"CertificateNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "CharacterSet":{ - "type":"structure", - "members":{ - "CharacterSetName":{ - "shape":"String", - "documentation":"

The name of the character set.

" - }, - "CharacterSetDescription":{ - "shape":"String", - "documentation":"

The description of the character set.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "CloudwatchLogsExportConfiguration":{ - "type":"structure", - "members":{ - "EnableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The list of log types to enable.

" - }, - "DisableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The list of log types to disable.

" - } - }, - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" - }, - "CopyDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "SourceDBClusterParameterGroupIdentifier", - "TargetDBClusterParameterGroupIdentifier", - "TargetDBClusterParameterGroupDescription" - ], - "members":{ - "SourceDBClusterParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide.

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" - }, - "TargetDBClusterParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied DB cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster-param-group1

" - }, - "TargetDBClusterParameterGroupDescription":{ - "shape":"String", - "documentation":"

A description for the copied DB cluster parameter group.

" - }, - "Tags":{"shape":"TagList"} - } - }, - "CopyDBClusterParameterGroupResult":{ - "type":"structure", - "members":{ - "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} - } - }, - "CopyDBClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBClusterSnapshotIdentifier", - "TargetDBClusterSnapshotIdentifier" - ], - "members":{ - "SourceDBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across AWS Regions in the Amazon Aurora User Guide.

Example: my-cluster-snapshot1

" - }, - "TargetDBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

" - }, - "PreSignedUrl":{ - "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region.

The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot 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 AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" - }, - "CopyTags":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "CopyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "SourceDBParameterGroupIdentifier", - "TargetDBParameterGroupIdentifier", - "TargetDBParameterGroupDescription" - ], - "members":{ - "SourceDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" - }, - "TargetDBParameterGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-parameter-group

" - }, - "TargetDBParameterGroupDescription":{ - "shape":"String", - "documentation":"

A description for the copied DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CopyDBSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceDBSnapshotIdentifier", - "TargetDBSnapshotIdentifier" - ], - "members":{ - "SourceDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source DB snapshot.

If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.

If the source snapshot is in a different AWS Region than the copy, specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot.

If you are copying an encrypted snapshot this parameter must be in the ARN format for the source AWS Region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

Example: rds:mydb-2012-04-02-00-01

Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

" - }, - "TargetDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copy of the snapshot.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-db-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 encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter.

If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted.

If you copy an encrypted snapshot to a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

" - }, - "Tags":{"shape":"TagList"}, - "CopyTags":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the source DB snapshot to the target DB snapshot, and otherwise false. The default is false.

" - }, - "PreSignedUrl":{ - "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy.

You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. 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 AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted DB snapshot is copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

    For example, if you copy an encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of an option group to associate with the copy of the snapshot.

Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across AWS Regions. For more information, see Option Group Considerations in the Amazon RDS User Guide.

" - } - }, - "documentation":"

" - }, - "CopyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CopyOptionGroupMessage":{ - "type":"structure", - "required":[ - "SourceOptionGroupIdentifier", - "TargetOptionGroupIdentifier", - "TargetOptionGroupDescription" - ], - "members":{ - "SourceOptionGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

Constraints:

  • Must specify a valid option group.

  • If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

  • If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

" - }, - "TargetOptionGroupIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the copied option group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-option-group

" - }, - "TargetOptionGroupDescription":{ - "shape":"String", - "documentation":"

The description for the copied option group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CopyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "CreateDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "Engine" - ], - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified CharacterSet.

" - }, - "DatabaseName":{ - "shape":"String", - "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", - "documentation":"

The DB cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" - }, - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, default.aurora5.6 is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with this DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this DB cluster.

Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use.

Aurora MySQL

Example: 5.6.10a, 5.7.12

Aurora PostgreSQL

Example: 9.6.3

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the instances in the DB cluster accept connections.

Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name of the master user for the DB cluster.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "ReplicationSourceIdentifier":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

" - }, - "Tags":{"shape":"TagList"}, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB cluster is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon RDS will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" - }, - "PreSignedUrl":{ - "shape":"String", - "documentation":"

A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

  • DestinationRegion - The name of the AWS Region that Aurora Read Replica will be created in.

  • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" - }, - "EngineMode":{ - "shape":"String", - "documentation":"

The DB engine mode of the DB cluster, either provisioned or serverless.

" - }, - "ScalingConfiguration":{ - "shape":"ScalingConfiguration", - "documentation":"

For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

" - } - }, - "documentation":"

" - }, - "CreateDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBClusterParameterGroupName", - "DBParameterGroupFamily", - "Description" - ], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must match the name of an existing DBClusterParameterGroup.

This value is stored as a lowercase string.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

Aurora MySQL

Example: aurora5.6, aurora-mysql5.7

Aurora PostgreSQL

Example: aurora-postgresql9.6

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the DB cluster parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBClusterParameterGroupResult":{ - "type":"structure", - "members":{ - "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} - } - }, - "CreateDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "CreateDBClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "DBClusterSnapshotIdentifier", - "DBClusterIdentifier" - ], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1-snapshot1

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster1

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the DB cluster snapshot.

" - } - }, - "documentation":"

" - }, - "CreateDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "CreateDBInstanceMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBInstanceClass", - "Engine" - ], - "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 letters or numbers.

  • 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 letters or numbers.

  • 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 letters, numbers, or underscores.

  • 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 letters or numbers.

  • Cannot be a word reserved by the specified database engine

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gibibytes) to allocate for the DB instance.

Type: Integer

Amazon Aurora

Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

MySQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

MariaDB

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

PostgreSQL

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 5 to 3072.

Oracle

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1): Must be an integer from 100 to 16384.

  • Magnetic storage (standard): Must be an integer from 10 to 3072.

SQL Server

Constraints to the amount of storage for each storage type are the following:

  • General Purpose (SSD) storage (gp2):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 20 to 16384.

  • Provisioned IOPS storage (io1):

    • Enterprise and Standard editions: Must be an integer from 200 to 16384.

    • Web and Express editions: Must be an integer from 100 to 16384.

  • Magnetic storage (standard):

    • Enterprise and Standard editions: Must be an integer from 200 to 1024.

    • Web and Express editions: Must be an integer from 20 to 1024.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Not every database engine is available for every AWS Region.

Valid Values:

  • aurora (for MySQL 5.6-compatible Aurora)

  • aurora-mysql (for MySQL 5.7-compatible Aurora)

  • aurora-postgresql

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name for the master user.

Amazon Aurora

Not applicable. The name for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

Constraints:

  • Required for MariaDB.

  • Must be 1 to 16 letters or numbers.

  • Cannot be a reserved word for the chosen database engine.

Microsoft SQL Server

Constraints:

  • Required for SQL Server.

  • Must be 1 to 128 letters or numbers.

  • The first character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

MySQL

Constraints:

  • Required for MySQL.

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

Oracle

Constraints:

  • Required for Oracle.

  • Must be 1 to 30 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

PostgreSQL

Constraints:

  • Required for PostgreSQL.

  • Must be 1 to 63 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see CreateDBCluster.

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", - "documentation":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with this DB instance.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB instance.

If there is no DB subnet group, then it is a non-VPC DB instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

MySQL

Default: 3306

Valid Values: 1150-65535

Type: Integer

MariaDB

Default: 3306

Valid Values: 1150-65535

Type: Integer

PostgreSQL

Default: 5432

Valid Values: 1150-65535

Type: Integer

Oracle

Default: 1521

Valid Values: 1150-65535

SQL Server

Default: 1433

Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

Amazon Aurora

Default: 3306

Valid Values: 1150-65535

Type: Integer

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use.

For a list of valid engine versions, call DescribeDBEngineVersions.

The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

Amazon Aurora

Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster. For more information, see CreateDBCluster.

MariaDB

See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide.

Microsoft SQL Server

See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide.

MySQL

See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.

Oracle

See Oracle Database Engine Release Notes in the Amazon RDS User Guide.

PostgreSQL

See Supported PostgreSQL Database Versions in the Amazon RDS User Guide.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be a multiple between 1 and 50 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GiB, then your Iops value can be 2000, 3000, 4000, or 5000.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

Amazon Aurora

Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

If DBSubnetGroupName is not specified, and PubliclyAccessible is not specified, the following applies:

  • If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

If DBSubnetGroupName is specified, and PubliclyAccessible is not specified, the following applies:

  • If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

  • If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

" - }, - "Tags":{"shape":"TagList"}, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB instance is encrypted.

Amazon Aurora

Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

Default: false

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Amazon Aurora

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

Specify the Active Directory Domain to create the instance in.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "DomainIAMRoleName":{ - "shape":"String", - "documentation":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" - }, - "Timezone":{ - "shape":"String", - "documentation":"

The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines:

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see CreateDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "PerformanceInsightsRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - } - }, - "documentation":"

" - }, - "CreateDBInstanceReadReplicaMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "SourceDBInstanceIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

" - }, - "SourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

Constraints:

  • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication).

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier.

  • If the source DB instance is in a different AWS Region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Read Replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: Inherits from the source DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Amazon EC2 Availability Zone that the Read Replica is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number that the DB instance uses for connections.

Default: Inherits from the source DB instance

Valid Values: 1150-65535

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the Read Replica is in a Multi-AZ deployment.

You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your Read Replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" - }, - "Tags":{"shape":"TagList"}, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

Constraints:

  • Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region.

  • If supplied, must match the name of an existing DBSubnetGroup.

  • The specified DB subnet group must be in the same AWS Region in which the operation is running.

  • All Read Replicas in one AWS Region that are created from the same source DB instance must either:>

    • Specify DB subnet groups from the same VPC. All these Read Replicas are created in the same VPC.

    • Not specify a DB subnet group. All these Read Replicas are created outside of any VPC.

Example: mySubnetgroup

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you specify this parameter when you create a Read Replica from an unencrypted DB instance, the Read Replica is encrypted.

If you create an encrypted Read Replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The Read Replica is encrypted with the same KMS key as the source DB instance.

If you create an encrypted Read Replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

" - }, - "PreSignedUrl":{ - "shape":"String", - "documentation":"

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted Read Replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

    For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

  • 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

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the read replica, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "PerformanceInsightsRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - }, - "UseDefaultProcessorFeatures":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" - } - } - }, - "CreateDBInstanceReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "CreateDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "CreateDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "DBParameterGroupFamily", - "Description" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

To list all of the available parameter group families, use the following command:

aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"

The output contains duplicates.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description for the DB parameter group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBParameterGroupResult":{ - "type":"structure", - "members":{ - "DBParameterGroup":{"shape":"DBParameterGroup"} - } - }, - "CreateDBSecurityGroupMessage":{ - "type":"structure", - "required":[ - "DBSecurityGroupName", - "DBSecurityGroupDescription" - ], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name for the DB security group. This value is stored as a lowercase string.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Must not be \"Default\"

Example: mysecuritygroup

" - }, - "DBSecurityGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB security group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSecurityGroupResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "CreateDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "DBInstanceIdentifier" - ], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB instance that you want to create the snapshot of.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "CreateDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "DBSubnetGroupDescription", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "SourceIds":{ - "shape":"SourceIdsList", - "documentation":"

The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

Constraints:

  • If SourceIds are supplied, SourceType must also be provided.

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateOptionGroupMessage":{ - "type":"structure", - "required":[ - "OptionGroupName", - "EngineName", - "MajorEngineVersion", - "OptionGroupDescription" - ], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the option group to be created.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: myoptiongroup

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Specifies the name of the engine that this option group should be associated with.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Specifies the major version of the engine that this option group should be associated with.

" - }, - "OptionGroupDescription":{ - "shape":"String", - "documentation":"

The description of the option group.

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "CreateOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "DBCluster":{ - "type":"structure", - "members":{ - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size is not fixed, but instead automatically adjusts as needed.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

If present, specifies the name of the character set that this cluster is associated with.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" - }, - "DBClusterParameterGroup":{ - "shape":"String", - "documentation":"

Specifies the name of the DB cluster parameter group for the DB cluster.

" - }, - "DBSubnetGroup":{ - "shape":"String", - "documentation":"

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the current state of this DB cluster.

" - }, - "PercentProgress":{ - "shape":"String", - "documentation":"

Specifies the progress of the operation as a percentage.

" - }, - "EarliestRestorableTime":{ - "shape":"TStamp", - "documentation":"

The earliest time to which a database can be restored with point-in-time restore.

" - }, - "Endpoint":{ - "shape":"String", - "documentation":"

Specifies the connection endpoint for the primary instance of the DB cluster.

" - }, - "ReaderEndpoint":{ - "shape":"String", - "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Provides the name of the database engine to be used for this DB cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "LatestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the port that the database engine is listening on.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Contains the master username for the DB cluster.

" - }, - "DBClusterOptionGroupMemberships":{ - "shape":"DBClusterOptionGroupMemberships", - "documentation":"

Provides the list of option group memberships for this DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" - }, - "ReplicationSourceIdentifier":{ - "shape":"String", - "documentation":"

Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

" - }, - "ReadReplicaIdentifiers":{ - "shape":"ReadReplicaIdentifierList", - "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" - }, - "DBClusterMembers":{ - "shape":"DBClusterMemberList", - "documentation":"

Provides the list of instances that make up the DB cluster.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

Provides a list of VPC security groups that the DB cluster belongs to.

" - }, - "HostedZoneId":{ - "shape":"String", - "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

" - }, - "DbClusterResourceId":{ - "shape":"String", - "documentation":"

The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

" - }, - "DBClusterArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster.

" - }, - "AssociatedRoles":{ - "shape":"DBClusterRoles", - "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the DB cluster. IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other AWS services on your behalf.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" - }, - "CloneGroupId":{ - "shape":"String", - "documentation":"

Identifies the clone group to which the DB cluster is associated.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" - }, - "EarliestBacktrackTime":{ - "shape":"TStamp", - "documentation":"

The earliest time to which a DB cluster can be backtracked.

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. If this value is set to 0, backtracking is disabled for the DB cluster. Otherwise, backtracking is enabled.

" - }, - "BacktrackConsumedChangeRecords":{ - "shape":"LongOptional", - "documentation":"

The number of change records stored for Backtrack.

" - }, - "EnabledCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon Aurora User Guide.

" - }, - "Capacity":{"shape":"IntegerOptional"}, - "EngineMode":{ - "shape":"String", - "documentation":"

The DB engine mode of the DB cluster, either provisioned or serverless.

" - }, - "ScalingConfigurationInfo":{"shape":"ScalingConfigurationInfo"} - }, - "documentation":"

Contains the details of an Amazon RDS DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", - "wrapper":true - }, - "DBClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The user already has a DB cluster with the given identifier.

", - "error":{ - "code":"DBClusterAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterBacktrack":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" - }, - "BacktrackIdentifier":{ - "shape":"String", - "documentation":"

Contains the backtrack identifier.

" - }, - "BacktrackTo":{ - "shape":"TStamp", - "documentation":"

The timestamp of the time to which the DB cluster was backtracked.

" - }, - "BacktrackedFrom":{ - "shape":"TStamp", - "documentation":"

The timestamp of the time from which the DB cluster was backtracked.

" - }, - "BacktrackRequestCreationTime":{ - "shape":"TStamp", - "documentation":"

The timestamp of the time at which the backtrack was requested.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the backtrack. This property returns one of the following values:

  • applying - The backtrack is currently being applied to or rolled back from the DB cluster.

  • completed - The backtrack has successfully been applied to or rolled back from the DB cluster.

  • failed - An error occurred while the backtrack was applied to or rolled back from the DB cluster.

  • pending - The backtrack is currently pending application to or rollback from the DB cluster.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBClusterBacktracks action.

" - }, - "DBClusterBacktrackList":{ - "type":"list", - "member":{ - "shape":"DBClusterBacktrack", - "locationName":"DBClusterBacktrack" - } - }, - "DBClusterBacktrackMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusterBacktracks request.

" - }, - "DBClusterBacktracks":{ - "shape":"DBClusterBacktrackList", - "documentation":"

Contains a list of backtracks for the user.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusterBacktracks action.

" - }, - "DBClusterBacktrackNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

BacktrackIdentifier doesn't refer to an existing backtrack.

", - "error":{ - "code":"DBClusterBacktrackNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterCapacityInfo":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

A user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" - }, - "PendingCapacity":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the capacity that the DB cluster scales to next.

" - }, - "CurrentCapacity":{ - "shape":"IntegerOptional", - "documentation":"

The current capacity of the DB cluster.

" - }, - "SecondsBeforeTimeout":{ - "shape":"IntegerOptional", - "documentation":"

The number of seconds before a call to ModifyCurrentDBClusterCapacity times out.

" - }, - "TimeoutAction":{ - "shape":"String", - "documentation":"

The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange or RollbackCapacityChange.

" - } - } - }, - "DBClusterList":{ - "type":"list", - "member":{ - "shape":"DBCluster", - "locationName":"DBCluster" - } - }, - "DBClusterMember":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Specifies the instance identifier for this member of the DB cluster.

" - }, - "IsClusterWriter":{ - "shape":"Boolean", - "documentation":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

" - }, - "DBClusterParameterGroupStatus":{ - "shape":"String", - "documentation":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" - } - }, - "documentation":"

Contains information about an instance that is part of a DB cluster.

", - "wrapper":true - }, - "DBClusterMemberList":{ - "type":"list", - "member":{ - "shape":"DBClusterMember", - "locationName":"DBClusterMember" - } - }, - "DBClusterMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusters request.

" - }, - "DBClusters":{ - "shape":"DBClusterList", - "documentation":"

Contains a list of DB clusters for the user.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBClusters action.

" - }, - "DBClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterIdentifier doesn't refer to an existing DB cluster.

", - "error":{ - "code":"DBClusterNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterOptionGroupMemberships":{ - "type":"list", - "member":{ - "shape":"DBClusterOptionGroupStatus", - "locationName":"DBClusterOptionGroup" - } - }, - "DBClusterOptionGroupStatus":{ - "type":"structure", - "members":{ - "DBClusterOptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the DB cluster option group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of the DB cluster option group.

" - } - }, - "documentation":"

Contains status information for a DB cluster option group.

" - }, - "DBClusterParameterGroup":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB cluster parameter group.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides the customer-specified description for this DB cluster parameter group.

" - }, - "DBClusterParameterGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" - } - }, - "documentation":"

Contains the details of an Amazon RDS DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", - "wrapper":true - }, - "DBClusterParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Provides a list of parameters for the DB cluster parameter group.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Provides details about a DB cluster parameter group including the parameters in the DB cluster parameter group.

" - }, - "DBClusterParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBClusterParameterGroup", - "locationName":"DBClusterParameterGroup" - } - }, - "DBClusterParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" - } - }, - "documentation":"

" - }, - "DBClusterParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

", - "error":{ - "code":"DBClusterParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBClusterParameterGroups":{ - "shape":"DBClusterParameterGroupList", - "documentation":"

A list of DB cluster parameter groups.

" - } - }, - "documentation":"

" - }, - "DBClusterQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", - "error":{ - "code":"DBClusterQuotaExceededFault", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "DBClusterRole":{ - "type":"structure", - "members":{ - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Describes the state of association between the IAM role and the DB cluster. The Status property returns one of the following values:

  • ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

  • PENDING - the IAM role ARN is being associated with the DB cluster.

  • INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.

" - }, - "FeatureName":{"shape":"String"} - }, - "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

" - }, - "DBClusterRoleAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified IAM role Amazon Resource Name (ARN) is already associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoleNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified IAM role Amazon Resource Name (ARN) isn't associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoleQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the maximum number of IAM roles that can be associated with the specified DB cluster.

", - "error":{ - "code":"DBClusterRoleQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterRoles":{ - "type":"list", - "member":{ - "shape":"DBClusterRole", - "locationName":"DBClusterRole" - } - }, - "DBClusterSnapshot":{ - "type":"structure", - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

" - }, - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier for the DB cluster snapshot.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Specifies the name of the database engine.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size in gibibytes (GiB).

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of this DB cluster snapshot.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VPC ID associated with the DB cluster snapshot.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Provides the master username for the DB cluster snapshot.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Provides the version of the database engine for this DB cluster snapshot.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

Provides the license model information for this DB cluster snapshot.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

Provides the type of the DB cluster snapshot.

" - }, - "PercentProgress":{ - "shape":"Integer", - "documentation":"

Specifies the percentage of the estimated data that has been transferred.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB cluster snapshot is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

" - }, - "DBClusterSnapshotArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

" - }, - "SourceDBClusterSnapshotArn":{ - "shape":"String", - "documentation":"

If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" - } - }, - "documentation":"

Contains the details for an Amazon RDS DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", - "wrapper":true - }, - "DBClusterSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The user already has a DB cluster snapshot with the given identifier.

", - "error":{ - "code":"DBClusterSnapshotAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBClusterSnapshotAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" - }, - "AttributeValues":{ - "shape":"AttributeValueList", - "documentation":"

The value(s) for the manual DB cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

" - } - }, - "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" - }, - "DBClusterSnapshotAttributeList":{ - "type":"list", - "member":{ - "shape":"DBClusterSnapshotAttribute", - "locationName":"DBClusterSnapshotAttribute" - } - }, - "DBClusterSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the manual DB cluster snapshot that the attributes apply to.

" - }, - "DBClusterSnapshotAttributes":{ - "shape":"DBClusterSnapshotAttributeList", - "documentation":"

The list of attributes and values for the manual DB cluster snapshot.

" - } - }, - "documentation":"

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", - "wrapper":true - }, - "DBClusterSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBClusterSnapshot", - "locationName":"DBClusterSnapshot" - } - }, - "DBClusterSnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBClusterSnapshots":{ - "shape":"DBClusterSnapshotList", - "documentation":"

Provides a list of DB cluster snapshots for the user.

" - } - }, - "documentation":"

Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

" - }, - "DBClusterSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

", - "error":{ - "code":"DBClusterSnapshotNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBEngineVersion":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family for the database engine.

" - }, - "DBEngineDescription":{ - "shape":"String", - "documentation":"

The description of the database engine.

" - }, - "DBEngineVersionDescription":{ - "shape":"String", - "documentation":"

The description of the database engine version.

" - }, - "DefaultCharacterSet":{ - "shape":"CharacterSet", - "documentation":"

The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

" - }, - "SupportedCharacterSets":{ - "shape":"SupportedCharacterSetsList", - "documentation":"

A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance action.

" - }, - "ValidUpgradeTarget":{ - "shape":"ValidUpgradeTargetList", - "documentation":"

A list of engine versions that this database engine version can be upgraded to.

" - }, - "SupportedTimezones":{ - "shape":"SupportedTimezonesList", - "documentation":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" - }, - "ExportableLogTypes":{ - "shape":"LogTypeList", - "documentation":"

The types of logs that the database engine has available for export to CloudWatch Logs.

" - }, - "SupportsLogExportsToCloudwatchLogs":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

" - }, - "SupportsReadReplica":{ - "shape":"Boolean", - "documentation":"

Indicates whether the database engine version supports read replicas.

" - }, - "SupportedEngineModes":{ - "shape":"EngineModeList", - "documentation":"

A list of the supported DB engine modes.

" - } - }, - "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" - }, - "DBEngineVersionList":{ - "type":"list", - "member":{ - "shape":"DBEngineVersion", - "locationName":"DBEngineVersion" - } - }, - "DBEngineVersionMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBEngineVersions":{ - "shape":"DBEngineVersionList", - "documentation":"

A list of DBEngineVersion elements.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBEngineVersions action.

" - }, - "DBInstance":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the name of the compute and memory capacity class of the DB instance.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Provides the name of the database engine to be used for this DB instance.

" - }, - "DBInstanceStatus":{ - "shape":"String", - "documentation":"

Specifies the current state of this database.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Contains the master username for the DB instance.

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The 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", - "documentation":"

Specifies the connection endpoint.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size specified in gibibytes.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the date and time the DB instance was created.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" - }, - "BackupRetentionPeriod":{ - "shape":"Integer", - "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupMembershipList", - "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

Provides a list of VPC security group elements that the DB instance belongs to.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupStatusList", - "documentation":"

Provides the list of DB parameter groups applied to this DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Specifies the name of the Availability Zone the DB instance is located in.

" - }, - "DBSubnetGroup":{ - "shape":"DBSubnetGroup", - "documentation":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" - }, - "PendingModifiedValues":{ - "shape":"PendingModifiedValues", - "documentation":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" - }, - "LatestRestorableTime":{ - "shape":"TStamp", - "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that minor version patches are applied automatically.

" - }, - "ReadReplicaSourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

" - }, - "ReadReplicaDBInstanceIdentifiers":{ - "shape":"ReadReplicaDBInstanceIdentifierList", - "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" - }, - "ReadReplicaDBClusterIdentifiers":{ - "shape":"ReadReplicaDBClusterIdentifierList", - "documentation":"

Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a Read Replica. For example, when you create an Aurora Read Replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster for the Aurora Read Replica is shown. This output does not contain information about cross region Aurora Read Replicas.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for this DB instance.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value.

" - }, - "OptionGroupMemberships":{ - "shape":"OptionGroupMembershipList", - "documentation":"

Provides the list of option group memberships for this DB instance.

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

If present, specifies the name of the character set that this instance is associated with.

" - }, - "SecondaryAvailabilityZone":{ - "shape":"String", - "documentation":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

" - }, - "PubliclyAccessible":{ - "shape":"Boolean", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

" - }, - "StatusInfos":{ - "shape":"DBInstanceStatusInfoList", - "documentation":"

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type associated with DB instance.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which the instance is associated for TDE encryption.

" - }, - "DbInstancePort":{ - "shape":"Integer", - "documentation":"

Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

" - }, - "StorageEncrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB instance is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

" - }, - "DbiResourceId":{ - "shape":"String", - "documentation":"

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the CA certificate for this DB instance.

" - }, - "DomainMemberships":{ - "shape":"DomainMembershipList", - "documentation":"

The Active Directory Domain membership records associated with the DB instance.

" - }, - "CopyTagsToSnapshot":{ - "shape":"Boolean", - "documentation":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

" - }, - "EnhancedMonitoringResourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

" - }, - "PromotionTier":{ - "shape":"IntegerOptional", - "documentation":"

A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

" - }, - "DBInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB instance.

" - }, - "Timezone":{ - "shape":"String", - "documentation":"

The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

IAM database authentication can be enabled for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

" - }, - "PerformanceInsightsEnabled":{ - "shape":"BooleanOptional", - "documentation":"

True if Performance Insights is enabled for the DB instance, and otherwise false.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "PerformanceInsightsRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" - }, - "EnabledCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon RDS User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - } - }, - "documentation":"

Contains the details of an Amazon RDS DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", - "wrapper":true - }, - "DBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The user already has a DB instance with the given identifier.

", - "error":{ - "code":"DBInstanceAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "DBInstances":{ - "shape":"DBInstanceList", - "documentation":"

A list of DBInstance instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBInstances action.

" - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBInstanceIdentifier doesn't refer to an existing DB instance.

", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBInstanceStatusInfo":{ - "type":"structure", - "members":{ - "StatusType":{ - "shape":"String", - "documentation":"

This value is currently \"read replication.\"

" - }, - "Normal":{ - "shape":"Boolean", - "documentation":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" - } - }, - "documentation":"

Provides a list of status information for a DB instance.

" - }, - "DBInstanceStatusInfoList":{ - "type":"list", - "member":{ - "shape":"DBInstanceStatusInfo", - "locationName":"DBInstanceStatusInfo" - } - }, - "DBLogFileNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

LogFileName doesn't refer to an existing DB log file.

", - "error":{ - "code":"DBLogFileNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroup":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group.

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides the customer-specified description for this DB parameter group.

" - }, - "DBParameterGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB parameter group.

" - } - }, - "documentation":"

Contains the details of an Amazon RDS DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", - "wrapper":true - }, - "DBParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A DB parameter group with the same name exists.

", - "error":{ - "code":"DBParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter values.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameters action.

" - }, - "DBParameterGroupList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroup", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

Provides the name of the DB parameter group.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

" - }, - "DBParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBParameterGroupName doesn't refer to an existing DB parameter group.

", - "error":{ - "code":"DBParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of DB parameter groups.

", - "error":{ - "code":"DBParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBParameterGroupStatus":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DP parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - } - }, - "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

" - }, - "DBParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"DBParameterGroupStatus", - "locationName":"DBParameterGroup" - } - }, - "DBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBParameterGroups":{ - "shape":"DBParameterGroupList", - "documentation":"

A list of DBParameterGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBParameterGroups action.

" - }, - "DBSecurityGroup":{ - "type":"structure", - "members":{ - "OwnerId":{ - "shape":"String", - "documentation":"

Provides the AWS ID of the owner of a specific DB security group.

" - }, - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the DB security group.

" - }, - "DBSecurityGroupDescription":{ - "shape":"String", - "documentation":"

Provides the description of the DB security group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VpcId of the DB security group.

" - }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

Contains a list of EC2SecurityGroup elements.

" - }, - "IPRanges":{ - "shape":"IPRangeList", - "documentation":"

Contains a list of IPRange elements.

" - }, - "DBSecurityGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB security group.

" - } - }, - "documentation":"

Contains the details for an Amazon RDS DB security group.

This data type is used as a response element in the DescribeDBSecurityGroups action.

", - "wrapper":true - }, - "DBSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A DB security group with the name specified in DBSecurityGroupName already exists.

", - "error":{ - "code":"DBSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB security group.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroups", - "documentation":"

A list of DBSecurityGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

" - }, - "DBSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } - }, - "DBSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSecurityGroupName doesn't refer to an existing DB security group.

", - "error":{ - "code":"DBSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A DB security group isn't allowed for this action.

", - "error":{ - "code":"DBSecurityGroupNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of DB security groups.

", - "error":{ - "code":"QuotaExceeded.DBSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSecurityGroups":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroup", - "locationName":"DBSecurityGroup" - } - }, - "DBSnapshot":{ - "type":"structure", - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier for the DB snapshot.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Specifies the DB instance identifier of the DB instance this DB snapshot was created from.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

" - }, - "Engine":{ - "shape":"String", - "documentation":"

Specifies the name of the database engine.

" - }, - "AllocatedStorage":{ - "shape":"Integer", - "documentation":"

Specifies the allocated storage size in gibibytes (GiB).

" - }, - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of this DB snapshot.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the database engine was listening on at the time of the snapshot.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

Specifies the name of the Availability Zone the DB instance was located in at the time of the DB snapshot.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VPC ID associated with the DB snapshot.

" - }, - "InstanceCreateTime":{ - "shape":"TStamp", - "documentation":"

Specifies the time when the snapshot was taken, in Universal Coordinated Time (UTC).

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

Provides the master username for the DB snapshot.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Specifies the version of the database engine.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

Provides the type of the DB snapshot.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Provides the option group name for the DB snapshot.

" - }, - "PercentProgress":{ - "shape":"Integer", - "documentation":"

The percentage of the estimated data that has been transferred.

" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The AWS Region that the DB snapshot was created in or copied from.

" - }, - "SourceDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has value in case of cross-customer or cross-region copy.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type associated with DB snapshot.

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

Specifies whether the DB snapshot is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.

" - }, - "DBSnapshotArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB snapshot.

" - }, - "Timezone":{ - "shape":"String", - "documentation":"

The time zone of the DB snapshot. In most cases, the Timezone element is empty. Timezone content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.

" - }, - "IAMDatabaseAuthenticationEnabled":{ - "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance when the DB snapshot was created.

" - } - }, - "documentation":"

Contains the details of an Amazon RDS DB snapshot.

This data type is used as a response element in the DescribeDBSnapshots action.

", - "wrapper":true - }, - "DBSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

", - "error":{ - "code":"DBSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSnapshotAttribute":{ - "type":"structure", - "members":{ - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the manual DB snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

" - }, - "AttributeValues":{ - "shape":"AttributeValueList", - "documentation":"

The value or values for the manual DB snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.

" - } - }, - "documentation":"

Contains the name and values of a manual DB snapshot attribute

Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API.

", - "wrapper":true - }, - "DBSnapshotAttributeList":{ - "type":"list", - "member":{ - "shape":"DBSnapshotAttribute", - "locationName":"DBSnapshotAttribute" - } - }, - "DBSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the manual DB snapshot that the attributes apply to.

" - }, - "DBSnapshotAttributes":{ - "shape":"DBSnapshotAttributeList", - "documentation":"

The list of attributes and values for the manual DB snapshot.

" - } - }, - "documentation":"

Contains the results of a successful call to the DescribeDBSnapshotAttributes API action.

Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

", - "wrapper":true - }, - "DBSnapshotList":{ - "type":"list", - "member":{ - "shape":"DBSnapshot", - "locationName":"DBSnapshot" - } - }, - "DBSnapshotMessage":{ - "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.

" - }, - "DBSnapshots":{ - "shape":"DBSnapshotList", - "documentation":"

A list of DBSnapshot instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSnapshots action.

" - }, - "DBSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

", - "error":{ - "code":"DBSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroup":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group.

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

Provides the description of the DB subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

Provides the VpcId of the DB subnet group.

" - }, - "SubnetGroupStatus":{ - "shape":"String", - "documentation":"

Provides the status of the DB subnet group.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

Contains a list of Subnet elements.

" - }, - "DBSubnetGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" - } - }, - "documentation":"

Contains the details of an Amazon RDS DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", - "wrapper":true - }, - "DBSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

", - "error":{ - "code":"DBSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupDoesNotCoverEnoughAZs":{ - "type":"structure", - "members":{ - }, - "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", - "error":{ - "code":"DBSubnetGroupDoesNotCoverEnoughAZs", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DBSubnetGroups":{ - "shape":"DBSubnetGroups", - "documentation":"

A list of DBSubnetGroup instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

" - }, - "DBSubnetGroupNotAllowedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DBSubnetGroup shouldn't be specified while creating read replicas that lie in the same region as the source instance.

", - "error":{ - "code":"DBSubnetGroupNotAllowedFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

DBSubnetGroupName doesn't refer to an existing DB subnet group.

", - "error":{ - "code":"DBSubnetGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of DB subnet groups.

", - "error":{ - "code":"DBSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBSubnetGroups":{ - "type":"list", - "member":{ - "shape":"DBSubnetGroup", - "locationName":"DBSubnetGroup" - } - }, - "DBSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of subnets in a DB subnet groups.

", - "error":{ - "code":"DBSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DBUpgradeDependencyFailureFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB upgrade failed because a resource the DB depends on can't be modified.

", - "error":{ - "code":"DBUpgradeDependencyFailure", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "DeleteDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

" - }, - "SkipFinalSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" - }, - "FinalDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterParameterGroupMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be the name of an existing DB cluster parameter group.

  • You can't delete a default DB cluster parameter group.

  • Cannot be associated with any DB clusters.

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "DeleteDBClusterSnapshotMessage":{ - "type":"structure", - "required":["DBClusterSnapshotIdentifier"], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

" - } - }, - "documentation":"

" - }, - "DeleteDBClusterSnapshotResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} - } - }, - "DeleteDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match the name of an existing DB instance.

" - }, - "SkipFinalSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" - }, - "FinalDBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Cannot be specified when deleting a Read Replica.

" - } - }, - "documentation":"

" - }, - "DeleteDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "DeleteDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • You can't delete a default DB parameter group

  • Cannot be associated with any DB instances

" - } - }, - "documentation":"

" - }, - "DeleteDBSecurityGroupMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to delete.

You can't delete the default DB security group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Must not be \"Default\"

" - } - }, - "documentation":"

" - }, - "DeleteDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The DBSnapshot identifier.

Constraints: Must be the name of an existing DB snapshot in the available state.

" - } - }, - "documentation":"

" - }, - "DeleteDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "DeleteDBSubnetGroupMessage":{ - "type":"structure", - "required":["DBSubnetGroupName"], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to delete.

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "DeleteOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be deleted.

You can't delete default option groups.

" - } - }, - "documentation":"

" - }, - "DescribeAccountAttributesMessage":{ - "type":"structure", - "members":{ - }, - "documentation":"

" - }, - "DescribeCertificatesMessage":{ - "type":"structure", - "members":{ - "CertificateIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing CertificateIdentifier.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterBacktracksMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier of the DB cluster to be described. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" - }, - "BacktrackIdentifier":{ - "shape":"String", - "documentation":"

If specified, this value is the backtrack identifier of the backtrack to be described.

Constraints:

Example: 123e4567-e89b-12d3-a456-426655440000

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB clusters to describe. Supported filters include the following:

  • db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers.

  • db-cluster-backtrack-status - Accepts any of the following backtrack status values:

    • applying

    • completed

    • failed

    • pending

    The results list includes information about only the backtracks identified by these values. For more information about backtrack status values, see DBClusterBacktrack.

" - }, - "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 DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterParametersMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB cluster parameter group to return parameter details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Source":{ - "shape":"String", - "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterSnapshotAttributesMessage":{ - "type":"structure", - "required":["DBClusterSnapshotIdentifier"], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB cluster snapshot to describe the attributes for.

" - } - }, - "documentation":"

" - }, - "DescribeDBClusterSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} - } - }, - "DescribeDBClusterSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

" - }, - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB cluster snapshots that have been taken by my AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "IncludeShared":{ - "shape":"Boolean", - "documentation":"

True to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

" - }, - "IncludePublic":{ - "shape":"Boolean", - "documentation":"

True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" - } - }, - "documentation":"

" - }, - "DescribeDBClustersMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match an existing DBClusterIdentifier.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB clusters to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBEngineVersionsMessage":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The database engine to return.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The database engine version to return.

Example: 5.1.49

" - }, - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "DefaultOnly":{ - "shape":"Boolean", - "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" - }, - "ListSupportedCharacterSets":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" - }, - "ListSupportedTimezones":{ - "shape":"BooleanOptional", - "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" - } - } - }, - "DescribeDBInstancesMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBInstance.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more DB instances to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include information about the DB instances identified by these ARNs.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBLogFilesDetails":{ - "type":"structure", - "members":{ - "LogFileName":{ - "shape":"String", - "documentation":"

The name of the log file for the specified DB instance.

" - }, - "LastWritten":{ - "shape":"Long", - "documentation":"

A POSIX timestamp when the last log entry was written.

" - }, - "Size":{ - "shape":"Long", - "documentation":"

The size, in bytes, of the log file for the specified DB instance.

" - } - }, - "documentation":"

This data type is used as a response element to DescribeDBLogFiles.

" - }, - "DescribeDBLogFilesList":{ - "type":"list", - "member":{ - "shape":"DescribeDBLogFilesDetails", - "locationName":"DescribeDBLogFilesDetails" - } - }, - "DescribeDBLogFilesMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the DB instance that contains the log files you want to list.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "FilenameContains":{ - "shape":"String", - "documentation":"

Filters the available log files for log file names that contain the specified string.

" - }, - "FileLastWritten":{ - "shape":"Long", - "documentation":"

Filters the available log files for files written since the specified date, in POSIX timestamp format with milliseconds.

" - }, - "FileSize":{ - "shape":"Long", - "documentation":"

Filters the available log files for files larger than the specified size.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBLogFilesResponse":{ - "type":"structure", - "members":{ - "DescribeDBLogFiles":{ - "shape":"DescribeDBLogFilesList", - "documentation":"

The DB log files returned.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeDBLogFiles request.

" - } - }, - "documentation":"

The response from a call to DescribeDBLogFiles.

" - }, - "DescribeDBParameterGroupsMessage":{ - "type":"structure", - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - } - }, - "DescribeDBSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to return details for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSecurityGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeDBSnapshotAttributesMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot to describe the attributes for.

" - } - }, - "documentation":"

" - }, - "DescribeDBSnapshotAttributesResult":{ - "type":"structure", - "members":{ - "DBSnapshotAttributesResult":{"shape":"DBSnapshotAttributesResult"} - } - }, - "DescribeDBSnapshotsMessage":{ - "type":"structure", - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The ID of the DB instance to retrieve the list of DB snapshots for. This parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBInstance.

" - }, - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

A specific DB snapshot identifier to describe. This parameter can't be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The type of snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

  • manual - Return all DB snapshots that have been taken by my AWS account.

  • shared - Return all manual DB snapshots that have been shared to my AWS account.

  • public - Return all DB snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the IncludeShared parameter to true. You can include public snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "IncludeShared":{ - "shape":"Boolean", - "documentation":"

True to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

" - }, - "IncludePublic":{ - "shape":"Boolean", - "documentation":"

True to include manual DB snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false.

You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

" - } - }, - "documentation":"

" - }, - "DescribeDBSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group to return details for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultClusterParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group family to return engine parameter information for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultClusterParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEngineDefaultParametersMessage":{ - "type":"structure", - "required":["DBParameterGroupFamily"], - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the DB parameter group family.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeEngineDefaultParametersResult":{ - "type":"structure", - "members":{ - "EngineDefaults":{"shape":"EngineDefaults"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to describe.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is supplied, SourceType must also be provided.

  • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

  • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes to retrieve events for.

Default: 60

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories that trigger notifications for a event notification subscription.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeOptionGroupOptionsMessage":{ - "type":"structure", - "required":["EngineName"], - "members":{ - "EngineName":{ - "shape":"String", - "documentation":"

A required parameter. Options available for the given engine name are described.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

If specified, filters the results to include only options for the specified major engine version.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeOptionGroupsMessage":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOptionGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Filters the list of option groups to only include groups associated with a specific database engine.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Filters the list of option groups to only include groups associated with a specific database engine version. If specified, then EngineName must also be specified.

" - } - }, - "documentation":"

" - }, - "DescribeOrderableDBInstanceOptionsMessage":{ - "type":"structure", - "required":["Engine"], - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the engine to retrieve DB instance options for.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

" - }, - "Vpc":{ - "shape":"BooleanOptional", - "documentation":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

" - }, - "DescribePendingMaintenanceActionsMessage":{ - "type":"structure", - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The ARN of a resource to return pending maintenance actions for.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

A filter that specifies one or more resources to return pending maintenance actions for.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - } - }, - "documentation":"

" - }, - "DescribeReservedDBInstancesMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

The reserved DB instance identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.

" - }, - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only those reservations matching the specified DB instances class.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The product description filter value. Specify this parameter to show only those reservations matching the specified product description.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Partial Upfront\" | \"All Upfront\" | \"No Upfront\"

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeReservedDBInstancesOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" - }, - "Duration":{ - "shape":"String", - "documentation":"

Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration.

Valid Values: 1 | 3 | 31536000 | 94608000

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

Product description filter value. Specify this parameter to show only the available offerings that contain the specified product description.

The results show offerings that partially match the filter value.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type.

Valid Values: \"Partial Upfront\" | \"All Upfront\" | \"No Upfront\"

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

" - }, - "DescribeSourceRegionsMessage":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "documentation":"

The source AWS Region name. For example, us-east-1.

Constraints:

  • Must specify a valid AWS Region name.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "DescribeValidDBInstanceModificationsMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer identifier or the ARN of your DB instance.

" - } - }, - "documentation":"

" - }, - "DescribeValidDBInstanceModificationsResult":{ - "type":"structure", - "members":{ - "ValidDBInstanceModificationsMessage":{"shape":"ValidDBInstanceModificationsMessage"} - } - }, - "DomainMembership":{ - "type":"structure", - "members":{ - "Domain":{ - "shape":"String", - "documentation":"

The identifier of the Active Directory Domain.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

" - }, - "FQDN":{ - "shape":"String", - "documentation":"

The fully qualified domain name of the Active Directory Domain.

" - }, - "IAMRoleName":{ - "shape":"String", - "documentation":"

The name of the IAM role to be used when making API calls to the Directory Service.

" - } - }, - "documentation":"

An Active Directory Domain membership record associated with the DB instance.

" - }, - "DomainMembershipList":{ - "type":"list", - "member":{ - "shape":"DomainMembership", - "locationName":"DomainMembership" - }, - "documentation":"

List of Active Directory Domain membership records associated with a DB instance.

" - }, - "DomainNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Domain doesn't refer to an existing Active Directory domain.

", - "error":{ - "code":"DomainNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "Double":{"type":"double"}, - "DoubleOptional":{"type":"double"}, - "DoubleRange":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Double", - "documentation":"

The minimum value in the range.

" - }, - "To":{ - "shape":"Double", - "documentation":"

The maximum value in the range.

" - } - }, - "documentation":"

A range of double values.

" - }, - "DoubleRangeList":{ - "type":"list", - "member":{ - "shape":"DoubleRange", - "locationName":"DoubleRange" - } - }, - "DownloadDBLogFilePortionDetails":{ - "type":"structure", - "members":{ - "LogFileData":{ - "shape":"String", - "documentation":"

Entries from the specified log file.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.

" - }, - "AdditionalDataPending":{ - "shape":"Boolean", - "documentation":"

Boolean value that if true, indicates there is more data to be downloaded.

" - } - }, - "documentation":"

This data type is used as a response element to DownloadDBLogFilePortion.

" - }, - "DownloadDBLogFilePortionMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "LogFileName" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The customer-assigned name of the DB instance that contains the log files you want to list.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "LogFileName":{ - "shape":"String", - "documentation":"

The name of the log file to be downloaded.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

The pagination token provided in the previous request or \"0\". If the Marker parameter is specified the response includes only records beyond the marker until the end of the file or up to NumberOfLines.

" - }, - "NumberOfLines":{ - "shape":"Integer", - "documentation":"

The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.

If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.

  • If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.

  • If NumberOfLines is specified and Marker is not specified, then the most recent lines from the end of the log file are returned.

  • If Marker is specified as \"0\", then the specified number of lines from the beginning of the log file are returned.

  • You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of \"0\" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.

" - } - }, - "documentation":"

" - }, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

Provides the status of the EC2 security group. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the EC2 security group.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

Specifies the id of the EC2 security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

Specifies the DNS address of the DB instance.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

Specifies the port that the database engine is listening on.

" - }, - "HostedZoneId":{ - "shape":"String", - "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" - } - }, - "documentation":"

This data type is used as a response element in the following actions:

" - }, - "EngineDefaults":{ - "type":"structure", - "members":{ - "DBParameterGroupFamily":{ - "shape":"String", - "documentation":"

Specifies the name of the DB parameter group family that the engine default parameters apply to.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

Contains a list of engine default parameters.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", - "wrapper":true - }, - "EngineModeList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

Provides the identifier for the source of the event.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

Specifies the source type for this event.

" - }, - "Message":{ - "shape":"String", - "documentation":"

Provides the text of this event.

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

Specifies the category for the event.

" - }, - "Date":{ - "shape":"TStamp", - "documentation":"

Specifies the date and time of the event.

" - }, - "SourceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the event.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeEvents action.

" - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The source type that the returned categories belong to

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

The event categories for the specified source type

" - } - }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{ - "shape":"EventCategoriesMapList", - "documentation":"

A list of EventCategoriesMap data types.

" - } - }, - "documentation":"

Data returned from the DescribeEventCategories action.

" - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{ - "shape":"String", - "documentation":"

The AWS customer account associated with the RDS event notification subscription.

" - }, - "CustSubscriptionId":{ - "shape":"String", - "documentation":"

The RDS event notification subscription Id.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The topic ARN of the RDS event notification subscription.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the RDS 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 RDS 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 source type for the RDS event notification subscription.

" - }, - "SourceIdsList":{ - "shape":"SourceIdsList", - "documentation":"

A list of source IDs for the RDS event notification subscription.

" - }, - "EventCategoriesList":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for the RDS event notification subscription.

" - }, - "Enabled":{ - "shape":"Boolean", - "documentation":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

" - }, - "EventSubscriptionArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the event subscription.

" - } - }, - "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", - "wrapper":true - }, - "EventSubscriptionQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have reached the maximum number of event subscriptions.

", - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EventSubscriptionsList":{ - "type":"list", - "member":{ - "shape":"EventSubscription", - "locationName":"EventSubscription" - } - }, - "EventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

A list of EventSubscriptions data types.

" - } - }, - "documentation":"

Data returned by the DescribeEventSubscriptions action.

" - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of Event instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeEvents action.

" - }, - "FailoverDBClusterMessage":{ - "type":"structure", - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "TargetDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, mydbcluster-replica1.

" - } - }, - "documentation":"

" - }, - "FailoverDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "Filter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

One or more filter values. Filter values are case-sensitive.

" - } - }, - "documentation":"

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

Currently, wildcards are not supported in filters.

The following actions can be filtered:

" - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } - }, - "FilterValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"Value" - } - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

Specifies the IP range.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBSecurityGroups action.

" - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "InstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of DB instances.

", - "error":{ - "code":"InstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB cluster doesn't have enough capacity for the current operation.

", - "error":{ - "code":"InsufficientDBClusterCapacityFault", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "InsufficientDBInstanceCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified DB instance class isn't available in the specified Availability Zone.

", - "error":{ - "code":"InsufficientDBInstanceCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientStorageClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is insufficient storage available for the current action. You might be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

", - "error":{ - "code":"InsufficientStorageClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidDBClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

", - "error":{ - "code":"InvalidDBClusterCapacityFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBClusterSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The supplied value isn't a valid DB cluster snapshot state.

", - "error":{ - "code":"InvalidDBClusterSnapshotStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBClusterStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB cluster isn't in a valid state.

", - "error":{ - "code":"InvalidDBClusterStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBInstanceStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified DB instance isn't in the available state.

", - "error":{ - "code":"InvalidDBInstanceState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you can't delete it when the parameter group is in this state.

", - "error":{ - "code":"InvalidDBParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the DB security group doesn't allow deletion.

", - "error":{ - "code":"InvalidDBSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the DB snapshot doesn't allow deletion.

", - "error":{ - "code":"InvalidDBSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

", - "error":{ - "code":"InvalidDBSubnetGroupFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet group cannot be deleted because it's in use.

", - "error":{ - "code":"InvalidDBSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidDBSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet isn't in the available state.

", - "error":{ - "code":"InvalidDBSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidEventSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

This error can occur if someone else is modifying a subscription. You should retry the action.

", - "error":{ - "code":"InvalidEventSubscriptionState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidOptionGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The option group isn't in the available state.

", - "error":{ - "code":"InvalidOptionGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cannot restore from VPC backup to non-VPC DB instance.

", - "error":{ - "code":"InvalidRestoreFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidS3BucketFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

", - "error":{ - "code":"InvalidS3BucketFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KMSKeyNotAccessibleFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

An error occurred accessing an AWS KMS key.

", - "error":{ - "code":"KMSKeyNotAccessibleFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListTagsForResourceMessage":{ - "type":"structure", - "required":["ResourceName"], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" - }, - "Filters":{ - "shape":"FilterList", - "documentation":"

This parameter is not currently supported.

" - } - }, - "documentation":"

" - }, - "LogTypeList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Long":{"type":"long"}, - "LongOptional":{"type":"long"}, - "ModifyCurrentDBClusterCapacityMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DB cluster.

" - }, - "Capacity":{ - "shape":"IntegerOptional", - "documentation":"

The DB cluster capacity.

Constraints:

  • Value must be 2, 4, 8, 16, 32, 64, 128, or 256.

" - }, - "SecondsBeforeTimeout":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in seconds, that Aurora Serverless tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.

  • Value must be from 10 through 600.

" - }, - "TimeoutAction":{ - "shape":"String", - "documentation":"

The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

RollbackCapacityChange ignores the capacity change if a scaling point is not found in the timeout period.

" - } - } - }, - "ModifyDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "NewDBClusterIdentifier":{ - "shape":"String", - "documentation":"

The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • The first character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster2

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If you set the ApplyImmediately parameter value to false, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" - }, - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to use for the DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the DB cluster will belong to.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

" - }, - "CloudwatchLogsExportConfiguration":{ - "shape":"CloudwatchLogsExportConfiguration", - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

For a list of valid engine versions, see CreateDBCluster, or call DescribeDBEngineVersions.

" - }, - "ScalingConfiguration":{ - "shape":"ScalingConfiguration", - "documentation":"

The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBClusterParameterGroupName", - "Parameters" - ], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to modify.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of parameters in the DB cluster parameter group to modify.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "ModifyDBClusterSnapshotAttributeMessage":{ - "type":"structure", - "required":[ - "DBClusterSnapshotIdentifier", - "AttributeName" - ], - "members":{ - "DBClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB cluster snapshot to modify the attributes for.

" - }, - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

" - }, - "ValuesToAdd":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB cluster snapshot restorable by any AWS account. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.

" - }, - "ValuesToRemove":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot.

" - } - }, - "documentation":"

" - }, - "ModifyDBClusterSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} - } - }, - "ModifyDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

For the valid values for allocated storage for each engine, see CreateDBInstance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The new DB subnet group for the DB instance. You can use this parameter to move your DB instance to a different VPC. If your DB instance is not in a VPC, you can also use this parameter to move your DB instance into a VPC. For more information, see Updating the VPC for a DB Instance in the Amazon RDS User Guide.

Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you specify true for the ApplyImmediately parameter.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • If supplied, must match existing DBSecurityGroups.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • If supplied, must match existing VpcSecurityGroupIds.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance and Using the Apply Immediately Parameter in the Amazon RDS User Guide. to see the impact that setting ApplyImmediately to true or false has for each modified parameter and to determine when the changes are applied.

Default: false

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon Aurora

Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

MariaDB

Constraints: Must contain from 8 to 41 characters.

Microsoft SQL Server

Constraints: Must contain from 8 to 128 characters.

MySQL

Constraints: Must contain from 8 to 41 characters.

Oracle

Constraints: Must contain from 8 to 30 characters.

PostgreSQL

Constraints: Must contain from 8 to 128 characters.

Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

Constraints:

  • Must be a value from 0 to 35

  • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6

  • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Amazon Aurora

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" - }, - "AllowMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the RDS instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

Default: Uses existing setting

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "NewDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

Valid values: standard | gp2 | io1

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

Indicates the certificate that needs to be associated with the instance.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

The Active Directory Domain to move the instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" - }, - "DBPortNumber":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

MySQL

Default: 3306

Valid Values: 1150-65535

MariaDB

Default: 3306

Valid Values: 1150-65535

PostgreSQL

Default: 5432

Valid Values: 1150-65535

Type: Integer

Oracle

Default: 1521

Valid Values: 1150-65535

SQL Server

Default: 1433

Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

Amazon Aurora

Default: 3306

Valid Values: 1150-65535

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to True to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to False to make the DB instance internal with a DNS name that resolves to a private IP address.

PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be true in order for it to be publicly accessible.

Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

Default: false

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "DomainIAMRoleName":{ - "shape":"String", - "documentation":"

The name of the IAM role to use when making API calls to the Directory Service.

" - }, - "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 in the Amazon Aurora User Guide.

Default: 1

Valid Values: 0 - 15

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

Amazon Aurora

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

MySQL

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

Default: false

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "PerformanceInsightsRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" - }, - "CloudwatchLogsExportConfiguration":{ - "shape":"CloudwatchLogsExportConfiguration", - "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - }, - "UseDefaultProcessorFeatures":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" - } - }, - "documentation":"

" - }, - "ModifyDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ModifyDBParameterGroupMessage":{ - "type":"structure", - "required":[ - "DBParameterGroupName", - "Parameters" - ], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

Valid Values (for the application method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

" - } - }, - "documentation":"

" - }, - "ModifyDBSnapshotAttributeMessage":{ - "type":"structure", - "required":[ - "DBSnapshotIdentifier", - "AttributeName" - ], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot to modify the attributes for.

" - }, - "AttributeName":{ - "shape":"String", - "documentation":"

The name of the DB snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB snapshot, set this value to restore.

" - }, - "ValuesToAdd":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB snapshot restorable by any AWS account. 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.

" - }, - "ValuesToRemove":{ - "shape":"AttributeValueList", - "documentation":"

A list of DB snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore the manual DB snapshot.

" - } - }, - "documentation":"

" - }, - "ModifyDBSnapshotAttributeResult":{ - "type":"structure", - "members":{ - "DBSnapshotAttributesResult":{"shape":"DBSnapshotAttributesResult"} - } - }, - "ModifyDBSnapshotMessage":{ - "type":"structure", - "required":["DBSnapshotIdentifier"], - "members":{ - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB snapshot to modify.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version to upgrade the DB snapshot to.

The following are the database engines and engine versions that are available when you upgrade a DB snapshot.

MySQL

  • 5.5.46 (supported for 5.1 DB snapshots)

Oracle

  • 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)

  • 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)

  • 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The option group to identify with the upgraded DB snapshot.

You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see Option Group Considerations in the Amazon RDS User Guide.

" - } - } - }, - "ModifyDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBSnapshot":{"shape":"DBSnapshot"} - } - }, - "ModifyDBSubnetGroupMessage":{ - "type":"structure", - "required":[ - "DBSubnetGroupName", - "SubnetIds" - ], - "members":{ - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" - }, - "DBSubnetGroupDescription":{ - "shape":"String", - "documentation":"

The description for the DB subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the DB subnet group.

" - } - }, - "documentation":"

" - }, - "ModifyDBSubnetGroupResult":{ - "type":"structure", - "members":{ - "DBSubnetGroup":{"shape":"DBSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription.

" - } - }, - "documentation":"

" - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifyOptionGroupMessage":{ - "type":"structure", - "required":["OptionGroupName"], - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be modified.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "OptionsToInclude":{ - "shape":"OptionConfigurationList", - "documentation":"

Options in this list are added to the option group or, if already present, the specified configuration is used to update the existing configuration.

" - }, - "OptionsToRemove":{ - "shape":"OptionNamesList", - "documentation":"

Options in this list are removed from the option group.

" - }, - "ApplyImmediately":{ - "shape":"Boolean", - "documentation":"

Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

" - } - }, - "documentation":"

" - }, - "ModifyOptionGroupResult":{ - "type":"structure", - "members":{ - "OptionGroup":{"shape":"OptionGroup"} - } - }, - "Option":{ - "type":"structure", - "members":{ - "OptionName":{ - "shape":"String", - "documentation":"

The name of the option.

" - }, - "OptionDescription":{ - "shape":"String", - "documentation":"

The description of the option.

" - }, - "Persistent":{ - "shape":"Boolean", - "documentation":"

Indicate if this option is persistent.

" - }, - "Permanent":{ - "shape":"Boolean", - "documentation":"

Indicate if this option is permanent.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

If required, the port configured for this option to use.

" - }, - "OptionVersion":{ - "shape":"String", - "documentation":"

The version of the option.

" - }, - "OptionSettings":{ - "shape":"OptionSettingConfigurationList", - "documentation":"

The option settings for this option.

" - }, - "DBSecurityGroupMemberships":{ - "shape":"DBSecurityGroupMembershipList", - "documentation":"

If the option requires access to a port, then this DB security group allows access to the port.

" - }, - "VpcSecurityGroupMemberships":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

If the option requires access to a port, then this VPC security group allows access to the port.

" - } - }, - "documentation":"

Option details.

" - }, - "OptionConfiguration":{ - "type":"structure", - "required":["OptionName"], - "members":{ - "OptionName":{ - "shape":"String", - "documentation":"

The configuration of options to include in a group.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The optional port for the option.

" - }, - "OptionVersion":{ - "shape":"String", - "documentation":"

The version for the option.

" - }, - "DBSecurityGroupMemberships":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DBSecurityGroupMemebrship name strings used for this option.

" - }, - "VpcSecurityGroupMemberships":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VpcSecurityGroupMemebrship name strings used for this option.

" - }, - "OptionSettings":{ - "shape":"OptionSettingsList", - "documentation":"

The option settings to include in an option group.

" - } - }, - "documentation":"

A list of all available options

" - }, - "OptionConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionConfiguration", - "locationName":"OptionConfiguration" - } - }, - "OptionGroup":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

Specifies the name of the option group.

" - }, - "OptionGroupDescription":{ - "shape":"String", - "documentation":"

Provides a description of the option group.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

Indicates the name of the engine that this option group can be applied to.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Indicates the major engine version associated with this option group.

" - }, - "Options":{ - "shape":"OptionsList", - "documentation":"

Indicates what options are available in the option group.

" - }, - "AllowsVpcAndNonVpcInstanceMemberships":{ - "shape":"Boolean", - "documentation":"

Indicates whether this option group can be applied to both VPC and non-VPC instances. The value true indicates the option group can be applied to both VPC and non-VPC instances.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then this option group can be applied to both VPC and non-VPC instances. If this field contains a value, then this option group can only be applied to instances that are in the VPC indicated by this field.

" - }, - "OptionGroupArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the option group.

" - } - }, - "documentation":"

", - "wrapper":true - }, - "OptionGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The option group you are trying to create already exists.

", - "error":{ - "code":"OptionGroupAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroupMembership":{ - "type":"structure", - "members":{ - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group that the instance belongs to.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

" - } - }, - "documentation":"

Provides information on the option groups the DB instance is a member of.

" - }, - "OptionGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"OptionGroupMembership", - "locationName":"OptionGroupMembership" - } - }, - "OptionGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified option group could not be found.

", - "error":{ - "code":"OptionGroupNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptionGroupOption":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the option.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the option.

" - }, - "EngineName":{ - "shape":"String", - "documentation":"

The name of the engine that this option can be applied to.

" - }, - "MajorEngineVersion":{ - "shape":"String", - "documentation":"

Indicates the major engine version that the option is available for.

" - }, - "MinimumRequiredMinorEngineVersion":{ - "shape":"String", - "documentation":"

The minimum required engine version for the option to be applied.

" - }, - "PortRequired":{ - "shape":"Boolean", - "documentation":"

Specifies whether the option requires a port.

" - }, - "DefaultPort":{ - "shape":"IntegerOptional", - "documentation":"

If the option requires a port, specifies the default port for the option.

" - }, - "OptionsDependedOn":{ - "shape":"OptionsDependedOn", - "documentation":"

The options that are prerequisites for this option.

" - }, - "OptionsConflictsWith":{ - "shape":"OptionsConflictsWith", - "documentation":"

The options that conflict with this option.

" - }, - "Persistent":{ - "shape":"Boolean", - "documentation":"

Persistent options can't be removed from an option group while DB instances are associated with the option group. If you disassociate all DB instances from the option group, your can remove the persistent option from the option group.

" - }, - "Permanent":{ - "shape":"Boolean", - "documentation":"

Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.

" - }, - "RequiresAutoMinorEngineVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

If true, you must enable the Auto Minor Version Upgrade setting for your DB instance before you can use this option. You can enable Auto Minor Version Upgrade when you first create your DB instance, or by modifying your DB instance later.

" - }, - "VpcOnly":{ - "shape":"Boolean", - "documentation":"

If true, you can only use this option with a DB instance that is in a VPC.

" - }, - "SupportsOptionVersionDowngrade":{ - "shape":"BooleanOptional", - "documentation":"

If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

" - }, - "OptionGroupOptionSettings":{ - "shape":"OptionGroupOptionSettingsList", - "documentation":"

The option settings that are available (and the default value) for each option in an option group.

" - }, - "OptionGroupOptionVersions":{ - "shape":"OptionGroupOptionVersionsList", - "documentation":"

The versions that are available for the option.

" - } - }, - "documentation":"

Available option.

" - }, - "OptionGroupOptionSetting":{ - "type":"structure", - "members":{ - "SettingName":{ - "shape":"String", - "documentation":"

The name of the option group option.

" - }, - "SettingDescription":{ - "shape":"String", - "documentation":"

The description of the option group option.

" - }, - "DefaultValue":{ - "shape":"String", - "documentation":"

The default value for the option group option.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

The DB engine specific parameter type for the option group option.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

Indicates the acceptable values for the option group option.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Boolean value where true indicates that this option group option can be changed from the default value.

" - } - }, - "documentation":"

Option group option settings are used to display settings available for each option with their default values and other information. These values are used with the DescribeOptionGroupOptions action.

" - }, - "OptionGroupOptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOptionSetting", - "locationName":"OptionGroupOptionSetting" - } - }, - "OptionGroupOptionVersionsList":{ - "type":"list", - "member":{ - "shape":"OptionVersion", - "locationName":"OptionVersion" - } - }, - "OptionGroupOptionsList":{ - "type":"list", - "member":{ - "shape":"OptionGroupOption", - "locationName":"OptionGroupOption" - }, - "documentation":"

List of available option group options.

" - }, - "OptionGroupOptionsMessage":{ - "type":"structure", - "members":{ - "OptionGroupOptions":{"shape":"OptionGroupOptionsList"}, - "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":"

" - }, - "OptionGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota of 20 option groups was exceeded for this AWS account.

", - "error":{ - "code":"OptionGroupQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OptionGroups":{ - "type":"structure", - "members":{ - "OptionGroupsList":{ - "shape":"OptionGroupsList", - "documentation":"

List of option groups.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" - } - }, - "documentation":"

List of option groups.

" - }, - "OptionGroupsList":{ - "type":"list", - "member":{ - "shape":"OptionGroup", - "locationName":"OptionGroup" - } - }, - "OptionNamesList":{ - "type":"list", - "member":{"shape":"String"} - }, - "OptionSetting":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the option that has settings that you can set.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The current value of the option setting.

" - }, - "DefaultValue":{ - "shape":"String", - "documentation":"

The default value of the option setting.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the option setting.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

The DB engine specific parameter type.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The data type of the option setting.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The allowed values of the option setting.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

A Boolean value that, when true, indicates the option setting can be modified from the default.

" - }, - "IsCollection":{ - "shape":"Boolean", - "documentation":"

Indicates if the option setting is part of a collection.

" - } - }, - "documentation":"

Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.

" - }, - "OptionSettingConfigurationList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" - } - }, - "OptionSettingsList":{ - "type":"list", - "member":{ - "shape":"OptionSetting", - "locationName":"OptionSetting" - } - }, - "OptionVersion":{ - "type":"structure", - "members":{ - "Version":{ - "shape":"String", - "documentation":"

The version of the option.

" - }, - "IsDefault":{ - "shape":"Boolean", - "documentation":"

True if the version is the default version of the option, and otherwise false.

" - } - }, - "documentation":"

The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

" - }, - "OptionsConflictsWith":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"OptionConflictName" - } - }, - "OptionsDependedOn":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"OptionName" - } - }, - "OptionsList":{ - "type":"list", - "member":{ - "shape":"Option", - "locationName":"Option" - } - }, - "OrderableDBInstanceOption":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The engine type of a DB instance.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The engine version of a DB instance.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for a DB instance.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for a DB instance.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

A list of Availability Zones for a DB instance.

" - }, - "MultiAZCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance is Multi-AZ capable.

" - }, - "ReadReplicaCapable":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance can have a Read Replica.

" - }, - "Vpc":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance is in a VPC.

" - }, - "SupportsStorageEncryption":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports encrypted storage.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Indicates the storage type for a DB instance.

" - }, - "SupportsIops":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports provisioned IOPS.

" - }, - "SupportsEnhancedMonitoring":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

" - }, - "SupportsIAMDatabaseAuthentication":{ - "shape":"Boolean", - "documentation":"

Indicates whether a DB instance supports IAM database authentication.

" - }, - "SupportsPerformanceInsights":{ - "shape":"Boolean", - "documentation":"

True if a DB instance supports Performance Insights, otherwise false.

" - }, - "MinStorageSize":{ - "shape":"IntegerOptional", - "documentation":"

Minimum storage size for a DB instance.

" - }, - "MaxStorageSize":{ - "shape":"IntegerOptional", - "documentation":"

Maximum storage size for a DB instance.

" - }, - "MinIopsPerDbInstance":{ - "shape":"IntegerOptional", - "documentation":"

Minimum total provisioned IOPS for a DB instance.

" - }, - "MaxIopsPerDbInstance":{ - "shape":"IntegerOptional", - "documentation":"

Maximum total provisioned IOPS for a DB instance.

" - }, - "MinIopsPerGib":{ - "shape":"DoubleOptional", - "documentation":"

Minimum provisioned IOPS per GiB for a DB instance.

" - }, - "MaxIopsPerGib":{ - "shape":"DoubleOptional", - "documentation":"

Maximum provisioned IOPS per GiB for a DB instance.

" - }, - "AvailableProcessorFeatures":{ - "shape":"AvailableProcessorFeatureList", - "documentation":"

A list of the available processor features for the DB instance class of a DB instance.

" - }, - "SupportedEngineModes":{ - "shape":"EngineModeList", - "documentation":"

A list of the supported DB engine modes.

" - } - }, - "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", - "wrapper":true - }, - "OrderableDBInstanceOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableDBInstanceOption", - "locationName":"OrderableDBInstanceOption" - } - }, - "OrderableDBInstanceOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableDBInstanceOptions":{ - "shape":"OrderableDBInstanceOptionsList", - "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

Specifies the name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

Specifies the value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Provides a description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

Indicates the source of the parameter value.

" - }, - "ApplyType":{ - "shape":"String", - "documentation":"

Specifies the engine specific parameters type.

" - }, - "DataType":{ - "shape":"String", - "documentation":"

Specifies the valid data type for the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

Specifies the valid range of values for the parameter.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest engine version to which the parameter can apply.

" - }, - "ApplyMethod":{ - "shape":"ApplyMethod", - "documentation":"

Indicates when to apply parameter updates.

" - }, - "SupportedEngineModes":{ - "shape":"EngineModeList", - "documentation":"

The valid DB engine modes.

" - } - }, - "documentation":"

This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

" - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingCloudwatchLogsExports":{ - "type":"structure", - "members":{ - "LogTypesToEnable":{ - "shape":"LogTypeList", - "documentation":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

" - }, - "LogTypesToDisable":{ - "shape":"LogTypeList", - "documentation":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

" - } - }, - "documentation":"

A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

" - }, - "PendingMaintenanceAction":{ - "type":"structure", - "members":{ - "Action":{ - "shape":"String", - "documentation":"

The type of pending maintenance action that is available for the resource.

" - }, - "AutoAppliedAfterDate":{ - "shape":"TStamp", - "documentation":"

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" - }, - "ForcedApplyDate":{ - "shape":"TStamp", - "documentation":"

The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" - }, - "OptInStatus":{ - "shape":"String", - "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" - }, - "CurrentApplyDate":{ - "shape":"TStamp", - "documentation":"

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description providing more detail about the maintenance action.

" - } - }, - "documentation":"

Provides information about a pending maintenance action for a resource.

" - }, - "PendingMaintenanceActionDetails":{ - "type":"list", - "member":{ - "shape":"PendingMaintenanceAction", - "locationName":"PendingMaintenanceAction" - } - }, - "PendingMaintenanceActions":{ - "type":"list", - "member":{ - "shape":"ResourcePendingMaintenanceActions", - "locationName":"ResourcePendingMaintenanceActions" - } - }, - "PendingMaintenanceActionsMessage":{ - "type":"structure", - "members":{ - "PendingMaintenanceActions":{ - "shape":"PendingMaintenanceActions", - "documentation":"

A list of the pending maintenance actions for the resource.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" - } - }, - "documentation":"

Data returned from the DescribePendingMaintenanceActions action.

" - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "DBInstanceClass":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending port for the DB instance.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the pending number of days for which automated backups are retained.

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

Indicates the database engine version.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

" - }, - "CACertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier of the CA certificate for the DB instance.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The new DB subnet group for the DB instance.

" - }, - "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"}, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - } - }, - "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" - }, - "PointInTimeRestoreNotEnabledFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

", - "error":{ - "code":"PointInTimeRestoreNotEnabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ProcessorFeature":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the processor feature. Valid names are coreCount and threadsPerCore.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of a processor feature name.

" - } - }, - "documentation":"

Contains the processor features of a DB instance class.

To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

In addition, you can use the following actions for DB instance class processor information:

For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

" - }, - "ProcessorFeatureList":{ - "type":"list", - "member":{ - "shape":"ProcessorFeature", - "locationName":"ProcessorFeature" - } - }, - "PromoteReadReplicaDBClusterMessage":{ - "type":"structure", - "required":["DBClusterIdentifier"], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the DB cluster Read Replica to promote. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster Read Replica.

Example: my-cluster-replica1

" - } - }, - "documentation":"

" - }, - "PromoteReadReplicaDBClusterResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "PromoteReadReplicaMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing Read Replica DB instance.

Example: mydbinstance

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

Default: 1

Constraints:

  • Must be a value from 0 to 8

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - } - }, - "documentation":"

" - }, - "PromoteReadReplicaResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "ProvisionedIopsNotAvailableInAZFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

", - "error":{ - "code":"ProvisionedIopsNotAvailableInAZFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PurchaseReservedDBInstancesOfferingMessage":{ - "type":"structure", - "required":["ReservedDBInstancesOfferingId"], - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The ID of the Reserved DB instance offering to purchase.

Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706

" - }, - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

Customer-specified identifier to track this reservation.

Example: myreservationID

" - }, - "DBInstanceCount":{ - "shape":"IntegerOptional", - "documentation":"

The number of instances to reserve.

Default: 1

" - }, - "Tags":{"shape":"TagList"} - }, - "documentation":"

" - }, - "PurchaseReservedDBInstancesOfferingResult":{ - "type":"structure", - "members":{ - "ReservedDBInstance":{"shape":"ReservedDBInstance"} - } - }, - "Range":{ - "type":"structure", - "members":{ - "From":{ - "shape":"Integer", - "documentation":"

The minimum value in the range.

" - }, - "To":{ - "shape":"Integer", - "documentation":"

The maximum value in the range.

" - }, - "Step":{ - "shape":"IntegerOptional", - "documentation":"

The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

" - } - }, - "documentation":"

A range of integer values.

" - }, - "RangeList":{ - "type":"list", - "member":{ - "shape":"Range", - "locationName":"Range" - } - }, - "ReadReplicaDBClusterIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBClusterIdentifier" - } - }, - "ReadReplicaDBInstanceIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaDBInstanceIdentifier" - } - }, - "ReadReplicaIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ReadReplicaIdentifier" - } - }, - "RebootDBInstanceMessage":{ - "type":"structure", - "required":["DBInstanceIdentifier"], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" - }, - "ForceFailover":{ - "shape":"BooleanOptional", - "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" - } - }, - "documentation":"

" - }, - "RebootDBInstanceResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The amount of the recurring charge.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency of the recurring charge.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

", - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "RemoveRoleFromDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "RoleArn" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to disassociate the IAM role from.

" - }, - "RoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.

" - } - } - }, - "RemoveSourceIdentifierFromSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SourceIdentifier" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the RDS event notification subscription you want to remove a source identifier from.

" - }, - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" - } - }, - "documentation":"

" - }, - "RemoveSourceIdentifierFromSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "RemoveTagsFromResourceMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

The tag key (name) of the tag to be removed.

" - } - }, - "documentation":"

" - }, - "ReservedDBInstance":{ - "type":"structure", - "members":{ - "ReservedDBInstanceId":{ - "shape":"String", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for the reserved DB instance.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The time the reservation started.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the reservation in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this reserved DB instance.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this reserved DB instance.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved DB instance.

" - }, - "DBInstanceCount":{ - "shape":"Integer", - "documentation":"

The number of reserved DB instances.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The description of the reserved DB instance.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type of this reserved DB instance.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Indicates if the reservation applies to Multi-AZ deployments.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved DB instance.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved DB instance.

" - }, - "ReservedDBInstanceArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the reserved DB instance.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

", - "wrapper":true - }, - "ReservedDBInstanceAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User already has a reservation with the given identifier.

", - "error":{ - "code":"ReservedDBInstanceAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstance", - "locationName":"ReservedDBInstance" - } - }, - "ReservedDBInstanceMessage":{ - "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.

" - }, - "ReservedDBInstances":{ - "shape":"ReservedDBInstanceList", - "documentation":"

A list of reserved DB instances.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstances action.

" - }, - "ReservedDBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reserved DB Instance not found.

", - "error":{ - "code":"ReservedDBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstanceQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would exceed the user's DB Instance quota.

", - "error":{ - "code":"ReservedDBInstanceQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedDBInstancesOffering":{ - "type":"structure", - "members":{ - "ReservedDBInstancesOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The DB instance class for the reserved DB instance.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the offering in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed price charged for this offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly price charged for this offering.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved DB instance offering.

" - }, - "ProductDescription":{ - "shape":"String", - "documentation":"

The database engine used by the offering.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The offering type.

" - }, - "MultiAZ":{ - "shape":"Boolean", - "documentation":"

Indicates if the offering applies to Multi-AZ deployments.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring price charged to run this reserved DB instance.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

", - "wrapper":true - }, - "ReservedDBInstancesOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedDBInstancesOffering", - "locationName":"ReservedDBInstancesOffering" - } - }, - "ReservedDBInstancesOfferingMessage":{ - "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.

" - }, - "ReservedDBInstancesOfferings":{ - "shape":"ReservedDBInstancesOfferingList", - "documentation":"

A list of reserved DB instance offerings.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

" - }, - "ReservedDBInstancesOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Specified offering does not exist.

", - "error":{ - "code":"ReservedDBInstancesOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResetDBClusterParameterGroupMessage":{ - "type":"structure", - "required":["DBClusterParameterGroupName"], - "members":{ - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to reset.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" - } - }, - "documentation":"

" - }, - "ResetDBParameterGroupMessage":{ - "type":"structure", - "required":["DBParameterGroupName"], - "members":{ - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

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":"

" - }, - "ResourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource ID was not found.

", - "error":{ - "code":"ResourceNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResourcePendingMaintenanceActions":{ - "type":"structure", - "members":{ - "ResourceIdentifier":{ - "shape":"String", - "documentation":"

The ARN of the resource that has pending maintenance actions.

" - }, - "PendingMaintenanceActionDetails":{ - "shape":"PendingMaintenanceActionDetails", - "documentation":"

A list that provides details about the pending maintenance actions for the resource.

" - } - }, - "documentation":"

Describes the pending maintenance actions for a resource.

", - "wrapper":true - }, - "RestoreDBClusterFromS3Message":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "Engine", - "MasterUsername", - "MasterUserPassword", - "SourceEngine", - "SourceEngineVersion", - "S3BucketName", - "S3IngestionRoleArn" - ], - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups of the restored DB cluster are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" - }, - "CharacterSetName":{ - "shape":"String", - "documentation":"

A value that indicates that the restored DB cluster should be associated with the specified CharacterSet.

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The database name for the restored DB cluster.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to create from the source data in the Amazon S3 bucket. This parameter is isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" - }, - "DBClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, default.aurora5.6 is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of EC2 VPC security groups to associate with the restored DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with the restored DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for the restored DB cluster.

Valid Values: aurora, aurora-postgresql

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use.

Aurora MySQL

Example: 5.6.10a

Aurora PostgreSQL

Example: 9.6.3

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the instances in the restored DB cluster accept connections.

Default: 3306

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name of the master user for the restored DB cluster.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

A value that indicates that the restored DB cluster should be associated with the specified option group.

Permanent options can't be removed from an option group. An option group can't be removed from a DB cluster once it is associated with a DB cluster.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" - }, - "Tags":{"shape":"TagList"}, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the restored DB cluster is encrypted.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the 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":"

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

" - }, - "SourceEngineVersion":{ - "shape":"String", - "documentation":"

The version of the database that the backup files were created from.

MySQL version 5.5 and 5.6 are supported.

Example: 5.6.22

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

The name of the Amazon S3 bucket that contains the data used to create the Amazon Aurora DB cluster.

" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The prefix for all of the file names that contain the data used to create the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value, then the Amazon Aurora DB cluster is created by using all of the files in the Amazon S3 bucket.

" - }, - "S3IngestionRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" - } - } - }, - "RestoreDBClusterFromS3Result":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "RestoreDBClusterFromSnapshotMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "SnapshotIdentifier", - "Engine" - ], - "members":{ - "AvailabilityZones":{ - "shape":"AvailabilityZones", - "documentation":"

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" - }, - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

  • Must match the identifier of an existing Snapshot.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new DB cluster.

Default: The same as source

Constraint: Must be compatible with the engine of the source

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version of the database engine to use for the new DB cluster.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the DB subnet group to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "DatabaseName":{ - "shape":"String", - "documentation":"

The database name for the restored DB cluster.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to use for the restored DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the new DB cluster will belong to.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags to be assigned to the restored DB cluster.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" - }, - "EngineMode":{ - "shape":"String", - "documentation":"

The DB engine mode of the DB cluster, either provisioned or serverless.

" - }, - "ScalingConfiguration":{ - "shape":"ScalingConfiguration", - "documentation":"

For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

" - } - }, - "documentation":"

" - }, - "RestoreDBClusterFromSnapshotResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "RestoreDBClusterToPointInTimeMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "SourceDBClusterIdentifier" - ], - "members":{ - "DBClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "RestoreType":{ - "shape":"String", - "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" - }, - "SourceDBClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

" - }, - "RestoreToTime":{ - "shape":"TStamp", - "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Cannot be specified if UseLatestRestorableTime parameter is true

  • Cannot be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" - }, - "UseLatestRestorableTime":{ - "shape":"Boolean", - "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if RestoreToTime parameter is provided.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: A value from 1150-65535.

Default: The default port for the engine.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group for the new DB cluster.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" - }, - "Tags":{"shape":"TagList"}, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" - }, - "BacktrackWindow":{ - "shape":"LongOptional", - "documentation":"

The target backtrack window, in seconds. To disable backtracking, set this value to 0.

Default: 0

Constraints:

  • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" - } - }, - "documentation":"

" - }, - "RestoreDBClusterToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBCluster":{"shape":"DBCluster"} - } - }, - "RestoreDBInstanceFromDBSnapshotMessage":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBSnapshotIdentifier" - ], - "members":{ - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 numbers, letters, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "DBSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the DB snapshot to restore from.

Constraints:

  • Must match the identifier of an existing DBSnapshot.

  • If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Default: The same port as the original DB instance

Constraints: Value must be 1150-65535

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The database name for the restored DB instance.

This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter is not specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is available for connections before the conversion starts.

The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

Constraints: Must be an integer greater than 1000.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be used for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "Tags":{"shape":"TagList"}, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

Specify the Active Directory Domain to restore the instance in.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "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, and 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

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - }, - "UseDefaultProcessorFeatures":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" - } - }, - "documentation":"

" - }, - "RestoreDBInstanceFromDBSnapshotResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceFromS3Message":{ - "type":"structure", - "required":[ - "DBInstanceIdentifier", - "DBInstanceClass", - "Engine", - "SourceEngine", - "SourceEngineVersion", - "S3BucketName", - "S3IngestionRoleArn" - ], - "members":{ - "DBName":{ - "shape":"String", - "documentation":"

The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

" - }, - "DBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" - }, - "AllocatedStorage":{ - "shape":"IntegerOptional", - "documentation":"

The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance.

Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Importing from Amazon S3 is not supported on the db.t2.micro DB instance class.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The name of the database engine to be used for this instance.

Valid Values: mysql

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The name for the master user.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroupNameList", - "documentation":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of VPC security groups to associate with this DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

A DB subnet group to associate with this DB instance.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

  • Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred backup window.

  • Must be at least 30 minutes.

" - }, - "DBParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default parameter group for the specified engine is used.

" - }, - "BackupRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

" - }, - "PreferredBackupWindow":{ - "shape":"String", - "documentation":"

The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window in the Amazon RDS User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Type: Integer

Valid Values: 1150-65535

Default: 3306

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the DB instance is a Multi-AZ deployment. If MultiAZ is set to true, you can't set the AvailabilityZone parameter.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the database engine to use. Choose the latest minor version of your database engine. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

True to indicate that minor engine upgrades are applied automatically to the DB instance during the maintenance window, and otherwise false.

Default: true

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

The license model for this DB instance. Use general-public-license.

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to associate with this DB instance. If this argument is omitted, the default option group for the specified engine is used.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" - }, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified; otherwise standard

" - }, - "StorageEncrypted":{ - "shape":"BooleanOptional", - "documentation":"

Specifies whether the new DB instance is encrypted or not.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

If the StorageEncrypted parameter is 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.

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false.

Default: false.

" - }, - "MonitoringInterval":{ - "shape":"IntegerOptional", - "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

Default: 0

" - }, - "MonitoringRoleArn":{ - "shape":"String", - "documentation":"

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" - }, - "EnableIAMDatabaseAuthentication":{ - "shape":"BooleanOptional", - "documentation":"

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 name of the engine of your source database.

Valid Values: mysql

" - }, - "SourceEngineVersion":{ - "shape":"String", - "documentation":"

The engine version of your source database.

Valid Values: 5.6

" - }, - "S3BucketName":{ - "shape":"String", - "documentation":"

The name of your Amazon S3 bucket that contains your database backup file.

" - }, - "S3Prefix":{ - "shape":"String", - "documentation":"

The prefix of your Amazon S3 bucket.

" - }, - "S3IngestionRoleArn":{ - "shape":"String", - "documentation":"

An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.

" - }, - "EnablePerformanceInsights":{ - "shape":"BooleanOptional", - "documentation":"

True to enable Performance Insights for the DB instance, and otherwise false.

For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

" - }, - "PerformanceInsightsKMSKeyId":{ - "shape":"String", - "documentation":"

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.

" - }, - "PerformanceInsightsRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - }, - "UseDefaultProcessorFeatures":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" - } - } - }, - "RestoreDBInstanceFromS3Result":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RestoreDBInstanceToPointInTimeMessage":{ - "type":"structure", - "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" - ], - "members":{ - "SourceDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the source DB instance from which to restore.

Constraints:

  • Must match the identifier of an existing DB instance.

" - }, - "TargetDBInstanceIdentifier":{ - "shape":"String", - "documentation":"

The name of the new DB instance to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "RestoreTime":{ - "shape":"TStamp", - "documentation":"

The date and time to restore from.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Cannot be specified if UseLatestRestorableTime parameter is true

Example: 2009-09-07T23:45:00Z

" - }, - "UseLatestRestorableTime":{ - "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) the DB instance is restored from the latest backup time.

Default: false

Constraints: Cannot be specified if RestoreTime parameter is provided.

" - }, - "DBInstanceClass":{ - "shape":"String", - "documentation":"

The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

Default: The same DBInstanceClass as the original DB instance.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the database accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB instance.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone that the DB instance is created in.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

Example: us-east-1a

" - }, - "DBSubnetGroupName":{ - "shape":"String", - "documentation":"

The DB subnet group name to use for the new instance.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" - }, - "MultiAZ":{ - "shape":"BooleanOptional", - "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

Constraint: You can't specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

" - }, - "AutoMinorVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window.

" - }, - "LicenseModel":{ - "shape":"String", - "documentation":"

License model information for the restored DB instance.

Default: Same as source.

Valid values: license-included | bring-your-own-license | general-public-license

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The database name for the restored DB instance.

This parameter is not used for the MySQL or MariaDB engines.

" - }, - "Engine":{ - "shape":"String", - "documentation":"

The database engine to use for the new instance.

Default: The same as source

Constraint: Must be compatible with the engine of the source

Valid Values:

  • mariadb

  • mysql

  • oracle-ee

  • oracle-se2

  • oracle-se1

  • oracle-se

  • postgres

  • sqlserver-ee

  • sqlserver-se

  • sqlserver-ex

  • sqlserver-web

" - }, - "Iops":{ - "shape":"IntegerOptional", - "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

Constraints: Must be an integer greater than 1000.

SQL Server

Setting the IOPS value for the SQL Server database engine is not supported.

" - }, - "OptionGroupName":{ - "shape":"String", - "documentation":"

The name of the option group to be used for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

" - }, - "CopyTagsToSnapshot":{ - "shape":"BooleanOptional", - "documentation":"

True to copy all tags from the restored DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" - }, - "Tags":{"shape":"TagList"}, - "StorageType":{ - "shape":"String", - "documentation":"

Specifies the storage type to be associated with the DB instance.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard

" - }, - "TdeCredentialArn":{ - "shape":"String", - "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" - }, - "TdeCredentialPassword":{ - "shape":"String", - "documentation":"

The password for the given ARN from the key store in order to access the device.

" - }, - "Domain":{ - "shape":"String", - "documentation":"

Specify the Active Directory Domain to restore the instance in.

" - }, - "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, and 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

" - }, - "EnableCloudwatchLogsExports":{ - "shape":"LogTypeList", - "documentation":"

The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

" - }, - "ProcessorFeatures":{ - "shape":"ProcessorFeatureList", - "documentation":"

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

" - }, - "UseDefaultProcessorFeatures":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies that the DB instance class of the DB instance uses its default processor features.

" - } - }, - "documentation":"

" - }, - "RestoreDBInstanceToPointInTimeResult":{ - "type":"structure", - "members":{ - "DBInstance":{"shape":"DBInstance"} - } - }, - "RevokeDBSecurityGroupIngressMessage":{ - "type":"structure", - "required":["DBSecurityGroupName"], - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the DB security group to revoke ingress from.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId can't be provided.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupId":{ - "shape":"String", - "documentation":"

The id of the EC2 security group to revoke access from. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

" - } - }, - "documentation":"

" - }, - "RevokeDBSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "DBSecurityGroup":{"shape":"DBSecurityGroup"} - } - }, - "SNSInvalidTopicFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

SNS has responded that there is a problem with the SND topic specified.

", - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSNoAuthorizationFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You do not have permission to publish to the SNS topic ARN.

", - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSTopicArnNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The SNS topic ARN does not exist.

", - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ScalingConfiguration":{ - "type":"structure", - "members":{ - "MinCapacity":{ - "shape":"IntegerOptional", - "documentation":"

The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

The minimum capacity must be less than or equal to the maximum capacity.

" - }, - "MaxCapacity":{ - "shape":"IntegerOptional", - "documentation":"

The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

The maximum capacity must be greater than or equal to the minimum capacity.

" - }, - "AutoPause":{ - "shape":"BooleanOptional", - "documentation":"

A value that specifies whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

" - }, - "SecondsUntilAutoPause":{ - "shape":"IntegerOptional", - "documentation":"

The time, in seconds, before an Aurora DB cluster in serverless mode is paused.

" - } - }, - "documentation":"

Contains the scaling configuration of an Aurora Serverless DB cluster.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" - }, - "ScalingConfigurationInfo":{ - "type":"structure", - "members":{ - "MinCapacity":{ - "shape":"IntegerOptional", - "documentation":"

The maximum capacity for the Aurora DB cluster in serverless DB engine mode.

" - }, - "MaxCapacity":{ - "shape":"IntegerOptional", - "documentation":"

The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

" - }, - "AutoPause":{ - "shape":"BooleanOptional", - "documentation":"

A value that indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

" - }, - "SecondsUntilAutoPause":{ - "shape":"IntegerOptional", - "documentation":"

The remaining amount of time, in seconds, before the Aurora DB cluster in serverless mode is paused. A DB cluster can be paused only when it's idle (it has no connections).

" - } - }, - "documentation":"

Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

" - }, - "SharedSnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", - "error":{ - "code":"SharedSnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of DB snapshots.

", - "error":{ - "code":"SnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SourceIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SourceId" - } - }, - "SourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested source could not be found.

", - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SourceRegion":{ - "type":"structure", - "members":{ - "RegionName":{ - "shape":"String", - "documentation":"

The name of the source AWS Region.

" - }, - "Endpoint":{ - "shape":"String", - "documentation":"

The endpoint for the source AWS Region endpoint.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the source AWS Region.

" - } - }, - "documentation":"

Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

" - }, - "SourceRegionList":{ - "type":"list", - "member":{ - "shape":"SourceRegion", - "locationName":"SourceRegion" - } - }, - "SourceRegionMessage":{ - "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.

" - }, - "SourceRegions":{ - "shape":"SourceRegionList", - "documentation":"

A list of SourceRegion instances that contains each source AWS Region that the current AWS Region can get a Read Replica or a DB snapshot from.

" - } - }, - "documentation":"

Contains the result of a successful invocation of the DescribeSourceRegions action.

" - }, - "SourceType":{ - "type":"string", - "enum":[ - "db-instance", - "db-parameter-group", - "db-security-group", - "db-snapshot", - "db-cluster", - "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":{ - }, - "documentation":"

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

", - "error":{ - "code":"StorageQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "StorageTypeNotSupportedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Storage of the StorageType specified can't be associated with the DB instance.

", - "error":{ - "code":"StorageTypeNotSupported", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

Specifies the identifier of the subnet.

" - }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{ - "shape":"String", - "documentation":"

Specifies the status of the subnet.

" - } - }, - "documentation":"

This data type is used as a response element in the DescribeDBSubnetGroups action.

" - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The DB subnet is already in use in the Availability Zone.

", - "error":{ - "code":"SubnetAlreadyInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "SubscriptionAlreadyExistFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The supplied subscription name already exists.

", - "error":{ - "code":"SubscriptionAlreadyExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubscriptionCategoryNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The supplied category does not exist.

", - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SubscriptionNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The subscription name does not exist.

", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SupportedCharacterSetsList":{ - "type":"list", - "member":{ - "shape":"CharacterSet", - "locationName":"CharacterSet" - } - }, - "SupportedTimezonesList":{ - "type":"list", - "member":{ - "shape":"Timezone", - "locationName":"Timezone" - } - }, - "TStamp":{"type":"timestamp"}, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - }, - "Value":{ - "shape":"String", - "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" - } - }, - "documentation":"

Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

" - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - }, - "documentation":"

A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

" - }, - "TagListMessage":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

List of tags returned by the ListTagsForResource operation.

" - } - }, - "documentation":"

" - }, - "Timezone":{ - "type":"structure", - "members":{ - "TimezoneName":{ - "shape":"String", - "documentation":"

The name of the time zone.

" - } - }, - "documentation":"

A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

" - }, - "UpgradeTarget":{ - "type":"structure", - "members":{ - "Engine":{ - "shape":"String", - "documentation":"

The name of the upgrade target database engine.

" - }, - "EngineVersion":{ - "shape":"String", - "documentation":"

The version number of the upgrade target database engine.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" - }, - "AutoUpgrade":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" - }, - "IsMajorVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

A value that indicates whether a database engine is upgraded to a major version.

" - } - }, - "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" - }, - "ValidDBInstanceModificationsMessage":{ - "type":"structure", - "members":{ - "Storage":{ - "shape":"ValidStorageOptionsList", - "documentation":"

Valid storage options for your DB instance.

" - }, - "ValidProcessorFeatures":{ - "shape":"AvailableProcessorFeatureList", - "documentation":"

Valid processor features for your DB instance.

" - } - }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", - "wrapper":true - }, - "ValidStorageOptions":{ - "type":"structure", - "members":{ - "StorageType":{ - "shape":"String", - "documentation":"

The valid storage types for your DB instance. For example, gp2, io1.

" - }, - "StorageSize":{ - "shape":"RangeList", - "documentation":"

The valid range of storage in gibibytes. For example, 100 to 16384.

" - }, - "ProvisionedIops":{ - "shape":"RangeList", - "documentation":"

The valid range of provisioned IOPS. For example, 1000-20000.

" - }, - "IopsToStorageRatio":{ - "shape":"DoubleRangeList", - "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" - } - }, - "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" - }, - "ValidStorageOptionsList":{ - "type":"list", - "member":{ - "shape":"ValidStorageOptions", - "locationName":"ValidStorageOptions" - } - }, - "ValidUpgradeTargetList":{ - "type":"list", - "member":{ - "shape":"UpgradeTarget", - "locationName":"UpgradeTarget" - } - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{ - "shape":"String", - "documentation":"

The name of the VPC security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the VPC security group.

" - } - }, - "documentation":"

This data type is used as a response element for queries on VPC security group membership.

" - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } - } - }, - "documentation":"Amazon 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 DB instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. 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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.sdk-extras.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.sdk-extras.json deleted file mode 100644 index ab6bfcd3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/service-2.sdk-extras.json +++ /dev/null @@ -1,39 +0,0 @@ - { - "version": 1.0, - "merge": { - "shapes": { - "CopyDBClusterSnapshotMessage": { - "members": { - "SourceRegion": { - "shape": "String", - "documentation": "

The ID of the region that contains the snapshot to be copied.

" - } - } - }, - "CreateDBClusterMessage": { - "members": { - "SourceRegion": { - "shape": "String", - "documentation": "

The ID of the region that contains the source for the db cluster.

" - } - } - }, - "CopyDBSnapshotMessage": { - "members": { - "SourceRegion": { - "shape": "String", - "documentation": "

The ID of the region that contains the snapshot to be copied.

" - } - } - }, - "CreateDBInstanceReadReplicaMessage": { - "members": { - "SourceRegion": { - "shape": "String", - "documentation": "

The ID of the region that contains the source for the read replica.

" - } - } - } - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/waiters-2.json deleted file mode 100644 index c698be52..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rds/2014-10-31/waiters-2.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "version": 2, - "waiters": { - "DBInstanceAvailable": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-restore", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "incompatible-parameters", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - }, - "DBInstanceDeleted": { - "delay": 30, - "operation": "DescribeDBInstances", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "DBInstanceNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - }, - { - "expected": "resetting-master-credentials", - "matcher": "pathAny", - "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" - } - ] - }, - "DBSnapshotAvailable": { - "delay": 30, - "operation": "DescribeDBSnapshots", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "incompatible-restore", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "incompatible-parameters", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - } - ] - }, - "DBSnapshotDeleted": { - "delay": 30, - "operation": "DescribeDBSnapshots", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "deleted", - "matcher": "pathAll", - "state": "success", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "DBSnapshotNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - }, - { - "expected": "resetting-master-credentials", - "matcher": "pathAny", - "state": "failure", - "argument": "DBSnapshots[].Status" - } - ] - }, - "DBSnapshotCompleted": { - "delay": 15, - "operation": "DescribeDBSnapshots", - "maxAttempts": 40, - "acceptors": [ - { - "expected": "DBSnapshotNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "DBSnapshots[].Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/paginators-1.json deleted file mode 100644 index 03027de3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/paginators-1.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "pagination": { - "DescribeClusterParameterGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ParameterGroups" - }, - "DescribeClusterParameters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Parameters" - }, - "DescribeClusterSecurityGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ClusterSecurityGroups" - }, - "DescribeClusterSnapshots": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Snapshots" - }, - "DescribeClusterSubnetGroups": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ClusterSubnetGroups" - }, - "DescribeClusterVersions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ClusterVersions" - }, - "DescribeClusters": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Clusters" - }, - "DescribeDefaultClusterParameters": { - "input_token": "Marker", - "output_token": "DefaultClusterParameters.Marker", - "limit_key": "MaxRecords", - "result_key": "DefaultClusterParameters.Parameters" - }, - "DescribeEventSubscriptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "EventSubscriptionsList" - }, - "DescribeEvents": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "Events" - }, - "DescribeHsmClientCertificates": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "HsmClientCertificates" - }, - "DescribeHsmConfigurations": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "HsmConfigurations" - }, - "DescribeOrderableClusterOptions": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "OrderableClusterOptions" - }, - "DescribeReservedNodeOfferings": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedNodeOfferings" - }, - "DescribeReservedNodes": { - "input_token": "Marker", - "output_token": "Marker", - "limit_key": "MaxRecords", - "result_key": "ReservedNodes" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/service-2.json deleted file mode 100644 index c6c236e2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/service-2.json +++ /dev/null @@ -1,6307 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-12-01", - "endpointPrefix":"redshift", - "protocol":"query", - "serviceFullName":"Amazon Redshift", - "serviceId":"Redshift", - "signatureVersion":"v4", - "uid":"redshift-2012-12-01", - "xmlNamespace":"http://redshift.amazonaws.com/doc/2012-12-01/" - }, - "operations":{ - "AcceptReservedNodeExchange":{ - "name":"AcceptReservedNodeExchange", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptReservedNodeExchangeInputMessage"}, - "output":{ - "shape":"AcceptReservedNodeExchangeOutputMessage", - "resultWrapper":"AcceptReservedNodeExchangeResult" - }, - "errors":[ - {"shape":"ReservedNodeNotFoundFault"}, - {"shape":"InvalidReservedNodeStateFault"}, - {"shape":"ReservedNodeAlreadyMigratedFault"}, - {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"shape":"UnsupportedOperationFault"}, - {"shape":"DependentServiceUnavailableFault"}, - {"shape":"ReservedNodeAlreadyExistsFault"} - ], - "documentation":"

Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs.

" - }, - "AuthorizeClusterSecurityGroupIngress":{ - "name":"AuthorizeClusterSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeClusterSecurityGroupIngressMessage"}, - "output":{ - "shape":"AuthorizeClusterSecurityGroupIngressResult", - "resultWrapper":"AuthorizeClusterSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"InvalidClusterSecurityGroupStateFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"} - ], - "documentation":"

Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS region.

If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.

You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "AuthorizeSnapshotAccess":{ - "name":"AuthorizeSnapshotAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeSnapshotAccessMessage"}, - "output":{ - "shape":"AuthorizeSnapshotAccessResult", - "resultWrapper":"AuthorizeSnapshotAccessResult" - }, - "errors":[ - {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"AuthorizationAlreadyExistsFault"}, - {"shape":"AuthorizationQuotaExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"LimitExceededFault"} - ], - "documentation":"

Authorizes the specified AWS customer account to restore the specified snapshot.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" - }, - "CopyClusterSnapshot":{ - "name":"CopyClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyClusterSnapshotMessage"}, - "output":{ - "shape":"CopyClusterSnapshotResult", - "resultWrapper":"CopyClusterSnapshotResult" - }, - "errors":[ - {"shape":"ClusterSnapshotAlreadyExistsFault"}, - {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"ClusterSnapshotQuotaExceededFault"} - ], - "documentation":"

Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.

When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterMessage"}, - "output":{ - "shape":"CreateClusterResult", - "resultWrapper":"CreateClusterResult" - }, - "errors":[ - {"shape":"ClusterAlreadyExistsFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"ClusterParameterGroupNotFoundFault"}, - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"ClusterQuotaExceededFault"}, - {"shape":"NumberOfNodesQuotaExceededFault"}, - {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, - {"shape":"ClusterSubnetGroupNotFoundFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidClusterSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"HsmClientCertificateNotFoundFault"}, - {"shape":"HsmConfigurationNotFoundFault"}, - {"shape":"InvalidElasticIpFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidClusterTrackFault"} - ], - "documentation":"

Creates a new cluster.

To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateClusterParameterGroup":{ - "name":"CreateClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterParameterGroupMessage"}, - "output":{ - "shape":"CreateClusterParameterGroupResult", - "resultWrapper":"CreateClusterParameterGroupResult" - }, - "errors":[ - {"shape":"ClusterParameterGroupQuotaExceededFault"}, - {"shape":"ClusterParameterGroupAlreadyExistsFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates an Amazon Redshift parameter group.

Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.

Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateClusterSecurityGroup":{ - "name":"CreateClusterSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterSecurityGroupMessage"}, - "output":{ - "shape":"CreateClusterSecurityGroupResult", - "resultWrapper":"CreateClusterSecurityGroupResult" - }, - "errors":[ - {"shape":"ClusterSecurityGroupAlreadyExistsFault"}, - {"shape":"ClusterSecurityGroupQuotaExceededFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateClusterSnapshot":{ - "name":"CreateClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterSnapshotMessage"}, - "output":{ - "shape":"CreateClusterSnapshotResult", - "resultWrapper":"CreateClusterSnapshotResult" - }, - "errors":[ - {"shape":"ClusterSnapshotAlreadyExistsFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"ClusterSnapshotQuotaExceededFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates a manual snapshot of the specified cluster. The cluster must be in the available state.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateClusterSubnetGroup":{ - "name":"CreateClusterSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterSubnetGroupMessage"}, - "output":{ - "shape":"CreateClusterSubnetGroupResult", - "resultWrapper":"CreateClusterSubnetGroupResult" - }, - "errors":[ - {"shape":"ClusterSubnetGroupAlreadyExistsFault"}, - {"shape":"ClusterSubnetGroupQuotaExceededFault"}, - {"shape":"ClusterSubnetQuotaExceededFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} - ], - "documentation":"

Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateEventSubscription":{ - "name":"CreateEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEventSubscriptionMessage"}, - "output":{ - "shape":"CreateEventSubscriptionResult", - "resultWrapper":"CreateEventSubscriptionResult" - }, - "errors":[ - {"shape":"EventSubscriptionQuotaExceededFault"}, - {"shape":"SubscriptionAlreadyExistFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionEventIdNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"}, - {"shape":"SubscriptionSeverityNotFoundFault"}, - {"shape":"SourceNotFoundFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates an Amazon Redshift event notification subscription. This action requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the source type, and lists of Amazon Redshift source IDs, event categories, and event severities. Notifications will be sent for all events you want that match those criteria. For example, you can specify source type = cluster, source ID = my-cluster-1 and mycluster2, event categories = Availability, Backup, and severity = ERROR. The subscription will only send notifications for those ERROR events in the Availability and Backup categories for the specified clusters.

If you specify both the source type and source IDs, such as source type = cluster and source identifier = my-cluster-1, notifications will be sent for all the cluster events for my-cluster-1. If you specify a source type but do not specify a source identifier, you will receive notice of the events for the objects of that type in your AWS account. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all Amazon Redshift sources belonging to your AWS account. You must specify a source type if you specify a source ID.

" - }, - "CreateHsmClientCertificate":{ - "name":"CreateHsmClientCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHsmClientCertificateMessage"}, - "output":{ - "shape":"CreateHsmClientCertificateResult", - "resultWrapper":"CreateHsmClientCertificateResult" - }, - "errors":[ - {"shape":"HsmClientCertificateAlreadyExistsFault"}, - {"shape":"HsmClientCertificateQuotaExceededFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateHsmConfiguration":{ - "name":"CreateHsmConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHsmConfigurationMessage"}, - "output":{ - "shape":"CreateHsmConfigurationResult", - "resultWrapper":"CreateHsmConfigurationResult" - }, - "errors":[ - {"shape":"HsmConfigurationAlreadyExistsFault"}, - {"shape":"HsmConfigurationQuotaExceededFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateSnapshotCopyGrant":{ - "name":"CreateSnapshotCopyGrant", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotCopyGrantMessage"}, - "output":{ - "shape":"CreateSnapshotCopyGrantResult", - "resultWrapper":"CreateSnapshotCopyGrantResult" - }, - "errors":[ - {"shape":"SnapshotCopyGrantAlreadyExistsFault"}, - {"shape":"SnapshotCopyGrantQuotaExceededFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} - ], - "documentation":"

Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsMessage"}, - "errors":[ - {"shape":"TagLimitExceededFault"}, - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Adds one or more tags to a specified resource.

A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, you will receive an error and the attempt will fail.

If you specify a key that already exists for the resource, the value for that key will be updated with the new value.

" - }, - "DeleteCluster":{ - "name":"DeleteCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterMessage"}, - "output":{ - "shape":"DeleteClusterResult", - "resultWrapper":"DeleteClusterResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterSnapshotAlreadyExistsFault"}, - {"shape":"ClusterSnapshotQuotaExceededFault"} - ], - "documentation":"

Deletes a previously provisioned cluster. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be \"final-snapshot\" while the snapshot is being taken, then it's \"deleting\" once Amazon Redshift begins deleting the cluster.

For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" - }, - "DeleteClusterParameterGroup":{ - "name":"DeleteClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterParameterGroupMessage"}, - "errors":[ - {"shape":"InvalidClusterParameterGroupStateFault"}, - {"shape":"ClusterParameterGroupNotFoundFault"} - ], - "documentation":"

Deletes a specified Amazon Redshift parameter group.

You cannot delete a parameter group if it is associated with a cluster.

" - }, - "DeleteClusterSecurityGroup":{ - "name":"DeleteClusterSecurityGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterSecurityGroupMessage"}, - "errors":[ - {"shape":"InvalidClusterSecurityGroupStateFault"}, - {"shape":"ClusterSecurityGroupNotFoundFault"} - ], - "documentation":"

Deletes an Amazon Redshift security group.

You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "DeleteClusterSnapshot":{ - "name":"DeleteClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterSnapshotMessage"}, - "output":{ - "shape":"DeleteClusterSnapshotResult", - "resultWrapper":"DeleteClusterSnapshotResult" - }, - "errors":[ - {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"ClusterSnapshotNotFoundFault"} - ], - "documentation":"

Deletes the specified manual snapshot. The snapshot must be in the available state, with no other users authorized to access the snapshot.

Unlike automated snapshots, manual snapshots are retained even after you delete your cluster. Amazon Redshift does not delete your manual snapshots. You must delete manual snapshot explicitly to avoid getting charged. If other accounts are authorized to access the snapshot, you must revoke all of the authorizations before you can delete the snapshot.

" - }, - "DeleteClusterSubnetGroup":{ - "name":"DeleteClusterSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteClusterSubnetGroupMessage"}, - "errors":[ - {"shape":"InvalidClusterSubnetGroupStateFault"}, - {"shape":"InvalidClusterSubnetStateFault"}, - {"shape":"ClusterSubnetGroupNotFoundFault"} - ], - "documentation":"

Deletes the specified cluster subnet group.

" - }, - "DeleteEventSubscription":{ - "name":"DeleteEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEventSubscriptionMessage"}, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidSubscriptionStateFault"} - ], - "documentation":"

Deletes an Amazon Redshift event notification subscription.

" - }, - "DeleteHsmClientCertificate":{ - "name":"DeleteHsmClientCertificate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHsmClientCertificateMessage"}, - "errors":[ - {"shape":"InvalidHsmClientCertificateStateFault"}, - {"shape":"HsmClientCertificateNotFoundFault"} - ], - "documentation":"

Deletes the specified HSM client certificate.

" - }, - "DeleteHsmConfiguration":{ - "name":"DeleteHsmConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteHsmConfigurationMessage"}, - "errors":[ - {"shape":"InvalidHsmConfigurationStateFault"}, - {"shape":"HsmConfigurationNotFoundFault"} - ], - "documentation":"

Deletes the specified Amazon Redshift HSM configuration.

" - }, - "DeleteSnapshotCopyGrant":{ - "name":"DeleteSnapshotCopyGrant", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotCopyGrantMessage"}, - "errors":[ - {"shape":"InvalidSnapshotCopyGrantStateFault"}, - {"shape":"SnapshotCopyGrantNotFoundFault"} - ], - "documentation":"

Deletes the specified snapshot copy grant.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsMessage"}, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Deletes a tag or tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or tags.

" - }, - "DescribeClusterDbRevisions":{ - "name":"DescribeClusterDbRevisions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterDbRevisionsMessage"}, - "output":{ - "shape":"ClusterDbRevisionsMessage", - "resultWrapper":"DescribeClusterDbRevisionsResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Returns an array of ClusterDbRevision objects.

" - }, - "DescribeClusterParameterGroups":{ - "name":"DescribeClusterParameterGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterParameterGroupsMessage"}, - "output":{ - "shape":"ClusterParameterGroupsMessage", - "resultWrapper":"DescribeClusterParameterGroupsResult" - }, - "errors":[ - {"shape":"ClusterParameterGroupNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeClusterParameters":{ - "name":"DescribeClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterParametersMessage"}, - "output":{ - "shape":"ClusterParameterGroupDetails", - "resultWrapper":"DescribeClusterParametersResult" - }, - "errors":[ - {"shape":"ClusterParameterGroupNotFoundFault"} - ], - "documentation":"

Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.

You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "DescribeClusterSecurityGroups":{ - "name":"DescribeClusterSecurityGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterSecurityGroupsMessage"}, - "output":{ - "shape":"ClusterSecurityGroupMessage", - "resultWrapper":"DescribeClusterSecurityGroupsResult" - }, - "errors":[ - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.

For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeClusterSnapshots":{ - "name":"DescribeClusterSnapshots", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterSnapshotsMessage"}, - "output":{ - "shape":"SnapshotMessage", - "resultWrapper":"DescribeClusterSnapshotsResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns one or more snapshot objects, which contain metadata about your cluster snapshots. By default, this operation returns information about all snapshots of all clusters that are owned by you AWS customer account. No information is returned for snapshots owned by inactive AWS customer accounts.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all snapshots that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all snapshots that have any combination of those values are returned. Only snapshots that you own are returned in the response; shared snapshots are not returned with the tag key and tag value request parameters.

If both tag keys and values are omitted from the request, snapshots are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeClusterSubnetGroups":{ - "name":"DescribeClusterSubnetGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterSubnetGroupsMessage"}, - "output":{ - "shape":"ClusterSubnetGroupMessage", - "resultWrapper":"DescribeClusterSubnetGroupsResult" - }, - "errors":[ - {"shape":"ClusterSubnetGroupNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns one or more cluster subnet group objects, which contain metadata about your cluster subnet groups. By default, this operation returns information about all cluster subnet groups that are defined in you AWS account.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all subnet groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subnet groups that have any combination of those values are returned.

If both tag keys and values are omitted from the request, subnet groups are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeClusterTracks":{ - "name":"DescribeClusterTracks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterTracksMessage"}, - "output":{ - "shape":"TrackListMessage", - "resultWrapper":"DescribeClusterTracksResult" - }, - "errors":[ - {"shape":"InvalidClusterTrackFault"}, - {"shape":"UnauthorizedOperation"} - ], - "documentation":"

Returns a list of all the available maintenance tracks.

" - }, - "DescribeClusterVersions":{ - "name":"DescribeClusterVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterVersionsMessage"}, - "output":{ - "shape":"ClusterVersionsMessage", - "resultWrapper":"DescribeClusterVersionsResult" - }, - "documentation":"

Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" - }, - "DescribeClusters":{ - "name":"DescribeClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClustersMessage"}, - "output":{ - "shape":"ClustersMessage", - "resultWrapper":"DescribeClustersResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned.

If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeDefaultClusterParameters":{ - "name":"DescribeDefaultClusterParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDefaultClusterParametersMessage"}, - "output":{ - "shape":"DescribeDefaultClusterParametersResult", - "resultWrapper":"DescribeDefaultClusterParametersResult" - }, - "documentation":"

Returns a list of parameter settings for the specified parameter group family.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "DescribeEventCategories":{ - "name":"DescribeEventCategories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventCategoriesMessage"}, - "output":{ - "shape":"EventCategoriesMessage", - "resultWrapper":"DescribeEventCategoriesResult" - }, - "documentation":"

Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications.

" - }, - "DescribeEventSubscriptions":{ - "name":"DescribeEventSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventSubscriptionsMessage"}, - "output":{ - "shape":"EventSubscriptionsMessage", - "resultWrapper":"DescribeEventSubscriptionsResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Lists descriptions of all the Amazon Redshift event notification subscriptions for a customer account. If you specify a subscription name, lists the description for that subscription.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all event notification subscriptions that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subscriptions that have any combination of those values are returned.

If both tag keys and values are omitted from the request, subscriptions are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeEvents":{ - "name":"DescribeEvents", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEventsMessage"}, - "output":{ - "shape":"EventsMessage", - "resultWrapper":"DescribeEventsResult" - }, - "documentation":"

Returns events related to clusters, security groups, snapshots, and parameter groups for the past 14 days. Events specific to a particular cluster, security group, snapshot or parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

" - }, - "DescribeHsmClientCertificates":{ - "name":"DescribeHsmClientCertificates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHsmClientCertificatesMessage"}, - "output":{ - "shape":"HsmClientCertificateMessage", - "resultWrapper":"DescribeHsmClientCertificatesResult" - }, - "errors":[ - {"shape":"HsmClientCertificateNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns information about the specified HSM client certificate. If no certificate ID is specified, returns information about all the HSM certificates owned by your AWS customer account.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM client certificates that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all HSM client certificates that have any combination of those values are returned.

If both tag keys and values are omitted from the request, HSM client certificates are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeHsmConfigurations":{ - "name":"DescribeHsmConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHsmConfigurationsMessage"}, - "output":{ - "shape":"HsmConfigurationMessage", - "resultWrapper":"DescribeHsmConfigurationsResult" - }, - "errors":[ - {"shape":"HsmConfigurationNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns information about the specified Amazon Redshift HSM configuration. If no configuration ID is specified, returns information about all the HSM configurations owned by your AWS customer account.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all HSM connections that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all HSM connections that have any combination of those values are returned.

If both tag keys and values are omitted from the request, HSM connections are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DescribeLoggingStatus":{ - "name":"DescribeLoggingStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeLoggingStatusMessage"}, - "output":{ - "shape":"LoggingStatus", - "resultWrapper":"DescribeLoggingStatusResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster.

" - }, - "DescribeOrderableClusterOptions":{ - "name":"DescribeOrderableClusterOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrderableClusterOptionsMessage"}, - "output":{ - "shape":"OrderableClusterOptionsMessage", - "resultWrapper":"DescribeOrderableClusterOptionsResult" - }, - "documentation":"

Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" - }, - "DescribeReservedNodeOfferings":{ - "name":"DescribeReservedNodeOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedNodeOfferingsMessage"}, - "output":{ - "shape":"ReservedNodeOfferingsMessage", - "resultWrapper":"DescribeReservedNodeOfferingsResult" - }, - "errors":[ - {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"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.

" - }, - "DescribeReservedNodes":{ - "name":"DescribeReservedNodes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReservedNodesMessage"}, - "output":{ - "shape":"ReservedNodesMessage", - "resultWrapper":"DescribeReservedNodesResult" - }, - "errors":[ - {"shape":"ReservedNodeNotFoundFault"}, - {"shape":"DependentServiceUnavailableFault"} - ], - "documentation":"

Returns the descriptions of the reserved nodes.

" - }, - "DescribeResize":{ - "name":"DescribeResize", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResizeMessage"}, - "output":{ - "shape":"ResizeProgressMessage", - "resultWrapper":"DescribeResizeResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"ResizeNotFoundFault"} - ], - "documentation":"

Returns information about the last resize operation for the specified cluster. If no resize operation has ever been initiated for the specified cluster, a HTTP 404 error is returned. If a resize operation was initiated and completed, the status of the resize remains as SUCCEEDED until the next resize.

A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes for the cluster.

" - }, - "DescribeSnapshotCopyGrants":{ - "name":"DescribeSnapshotCopyGrants", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotCopyGrantsMessage"}, - "output":{ - "shape":"SnapshotCopyGrantMessage", - "resultWrapper":"DescribeSnapshotCopyGrantsResult" - }, - "errors":[ - {"shape":"SnapshotCopyGrantNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns a list of snapshot copy grants owned by the AWS account in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

" - }, - "DescribeTableRestoreStatus":{ - "name":"DescribeTableRestoreStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTableRestoreStatusMessage"}, - "output":{ - "shape":"TableRestoreStatusMessage", - "resultWrapper":"DescribeTableRestoreStatusResult" - }, - "errors":[ - {"shape":"TableRestoreNotFoundFault"}, - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot API action. If you don't specify a value for the TableRestoreRequestId parameter, then DescribeTableRestoreStatus returns the status of all table restore requests ordered by the date and time of the request in ascending order. Otherwise DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsMessage"}, - "output":{ - "shape":"TaggedResourceListMessage", - "resultWrapper":"DescribeTagsResult" - }, - "errors":[ - {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidTagFault"} - ], - "documentation":"

Returns a list of tags. You can return tags from a specific resource by specifying an ARN, or you can return all tags for a given type of resource, such as clusters, snapshots, and so on.

The following are limitations for DescribeTags:

  • You cannot specify an ARN and a resource-type value together in the same request.

  • You cannot use the MaxRecords and Marker parameters together with the ARN parameter.

  • The MaxRecords parameter can be a range from 10 to 50 results to return in a request.

If you specify both tag keys and tag values in the same request, Amazon Redshift returns all resources that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all resources that have any combination of those values are returned.

If both tag keys and values are omitted from the request, resources are returned regardless of whether they have tag keys or values associated with them.

" - }, - "DisableLogging":{ - "name":"DisableLogging", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableLoggingMessage"}, - "output":{ - "shape":"LoggingStatus", - "resultWrapper":"DisableLoggingResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Stops logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

" - }, - "DisableSnapshotCopy":{ - "name":"DisableSnapshotCopy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableSnapshotCopyMessage"}, - "output":{ - "shape":"DisableSnapshotCopyResult", - "resultWrapper":"DisableSnapshotCopyResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"SnapshotCopyAlreadyDisabledFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"UnauthorizedOperation"} - ], - "documentation":"

Disables the automatic copying of snapshots from one region to another region for a specified cluster.

If your cluster and its snapshots are encrypted using a customer master key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that grants Amazon Redshift permission to the CMK in the destination region.

" - }, - "EnableLogging":{ - "name":"EnableLogging", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableLoggingMessage"}, - "output":{ - "shape":"LoggingStatus", - "resultWrapper":"EnableLoggingResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"BucketNotFoundFault"}, - {"shape":"InsufficientS3BucketPolicyFault"}, - {"shape":"InvalidS3KeyPrefixFault"}, - {"shape":"InvalidS3BucketNameFault"} - ], - "documentation":"

Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

" - }, - "EnableSnapshotCopy":{ - "name":"EnableSnapshotCopy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableSnapshotCopyMessage"}, - "output":{ - "shape":"EnableSnapshotCopyResult", - "resultWrapper":"EnableSnapshotCopyResult" - }, - "errors":[ - {"shape":"IncompatibleOrderableOptions"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"CopyToRegionDisabledFault"}, - {"shape":"SnapshotCopyAlreadyEnabledFault"}, - {"shape":"UnknownSnapshotCopyRegionFault"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"SnapshotCopyGrantNotFoundFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} - ], - "documentation":"

Enables the automatic copy of snapshots from one region to another region for a specified cluster.

" - }, - "GetClusterCredentials":{ - "name":"GetClusterCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetClusterCredentialsMessage"}, - "output":{ - "shape":"ClusterCredentials", - "resultWrapper":"GetClusterCredentialsResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"UnsupportedOperationFault"} - ], - "documentation":"

Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide.

The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide.

If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege.

If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

" - }, - "GetReservedNodeExchangeOfferings":{ - "name":"GetReservedNodeExchangeOfferings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReservedNodeExchangeOfferingsInputMessage"}, - "output":{ - "shape":"GetReservedNodeExchangeOfferingsOutputMessage", - "resultWrapper":"GetReservedNodeExchangeOfferingsResult" - }, - "errors":[ - {"shape":"ReservedNodeNotFoundFault"}, - {"shape":"InvalidReservedNodeStateFault"}, - {"shape":"ReservedNodeAlreadyMigratedFault"}, - {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"shape":"UnsupportedOperationFault"}, - {"shape":"DependentServiceUnavailableFault"} - ], - "documentation":"

Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node.

" - }, - "ModifyCluster":{ - "name":"ModifyCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyClusterMessage"}, - "output":{ - "shape":"ModifyClusterResult", - "resultWrapper":"ModifyClusterResult" - }, - "errors":[ - {"shape":"InvalidClusterStateFault"}, - {"shape":"InvalidClusterSecurityGroupStateFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"NumberOfNodesQuotaExceededFault"}, - {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"ClusterParameterGroupNotFoundFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"UnsupportedOptionFault"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"HsmClientCertificateNotFoundFault"}, - {"shape":"HsmConfigurationNotFoundFault"}, - {"shape":"ClusterAlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidElasticIpFault"}, - {"shape":"TableLimitExceededFault"}, - {"shape":"InvalidClusterTrackFault"} - ], - "documentation":"

Modifies the settings for a cluster. For example, you can add another security or parameter group, update the preferred maintenance window, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

" - }, - "ModifyClusterDbRevision":{ - "name":"ModifyClusterDbRevision", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyClusterDbRevisionMessage"}, - "output":{ - "shape":"ModifyClusterDbRevisionResult", - "resultWrapper":"ModifyClusterDbRevisionResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"ClusterOnLatestRevisionFault"}, - {"shape":"InvalidClusterStateFault"} - ], - "documentation":"

Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.

" - }, - "ModifyClusterIamRoles":{ - "name":"ModifyClusterIamRoles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyClusterIamRolesMessage"}, - "output":{ - "shape":"ModifyClusterIamRolesResult", - "resultWrapper":"ModifyClusterIamRolesResult" - }, - "errors":[ - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Modifies the list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.

A cluster can have up to 10 IAM roles associated at any time.

" - }, - "ModifyClusterParameterGroup":{ - "name":"ModifyClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyClusterParameterGroupMessage"}, - "output":{ - "shape":"ClusterParameterGroupNameMessage", - "resultWrapper":"ModifyClusterParameterGroupResult" - }, - "errors":[ - {"shape":"ClusterParameterGroupNotFoundFault"}, - {"shape":"InvalidClusterParameterGroupStateFault"} - ], - "documentation":"

Modifies the parameters of a parameter group.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "ModifyClusterSubnetGroup":{ - "name":"ModifyClusterSubnetGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyClusterSubnetGroupMessage"}, - "output":{ - "shape":"ModifyClusterSubnetGroupResult", - "resultWrapper":"ModifyClusterSubnetGroupResult" - }, - "errors":[ - {"shape":"ClusterSubnetGroupNotFoundFault"}, - {"shape":"ClusterSubnetQuotaExceededFault"}, - {"shape":"SubnetAlreadyInUse"}, - {"shape":"InvalidSubnet"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"DependentServiceRequestThrottlingFault"} - ], - "documentation":"

Modifies a cluster subnet group to include the specified list of VPC subnets. The operation replaces the existing list of subnets with the new list of subnets.

" - }, - "ModifyEventSubscription":{ - "name":"ModifyEventSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyEventSubscriptionMessage"}, - "output":{ - "shape":"ModifyEventSubscriptionResult", - "resultWrapper":"ModifyEventSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionNotFoundFault"}, - {"shape":"SNSInvalidTopicFault"}, - {"shape":"SNSNoAuthorizationFault"}, - {"shape":"SNSTopicArnNotFoundFault"}, - {"shape":"SubscriptionEventIdNotFoundFault"}, - {"shape":"SubscriptionCategoryNotFoundFault"}, - {"shape":"SubscriptionSeverityNotFoundFault"}, - {"shape":"SourceNotFoundFault"}, - {"shape":"InvalidSubscriptionStateFault"} - ], - "documentation":"

Modifies an existing Amazon Redshift event notification subscription.

" - }, - "ModifySnapshotCopyRetentionPeriod":{ - "name":"ModifySnapshotCopyRetentionPeriod", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifySnapshotCopyRetentionPeriodMessage"}, - "output":{ - "shape":"ModifySnapshotCopyRetentionPeriodResult", - "resultWrapper":"ModifySnapshotCopyRetentionPeriodResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"SnapshotCopyDisabledFault"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"InvalidClusterStateFault"} - ], - "documentation":"

Modifies the number of days to retain automated snapshots in the destination region after they are copied from the source region.

" - }, - "PurchaseReservedNodeOffering":{ - "name":"PurchaseReservedNodeOffering", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurchaseReservedNodeOfferingMessage"}, - "output":{ - "shape":"PurchaseReservedNodeOfferingResult", - "resultWrapper":"PurchaseReservedNodeOfferingResult" - }, - "errors":[ - {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"shape":"ReservedNodeAlreadyExistsFault"}, - {"shape":"ReservedNodeQuotaExceededFault"}, - {"shape":"UnsupportedOperationFault"} - ], - "documentation":"

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

" - }, - "RebootCluster":{ - "name":"RebootCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootClusterMessage"}, - "output":{ - "shape":"RebootClusterResult", - "resultWrapper":"RebootClusterResult" - }, - "errors":[ - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"} - ], - "documentation":"

Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

" - }, - "ResetClusterParameterGroup":{ - "name":"ResetClusterParameterGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetClusterParameterGroupMessage"}, - "output":{ - "shape":"ClusterParameterGroupNameMessage", - "resultWrapper":"ResetClusterParameterGroupResult" - }, - "errors":[ - {"shape":"InvalidClusterParameterGroupStateFault"}, - {"shape":"ClusterParameterGroupNotFoundFault"} - ], - "documentation":"

Sets one or more parameters of the specified parameter group to their default values and sets the source values of the parameters to \"engine-default\". To reset the entire parameter group specify the ResetAllParameters parameter. For parameter changes to take effect you must reboot any associated clusters.

" - }, - "ResizeCluster":{ - "name":"ResizeCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResizeClusterMessage"}, - "output":{ - "shape":"ResizeClusterResult", - "resultWrapper":"ResizeClusterResult" - }, - "errors":[ - {"shape":"InvalidClusterStateFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"NumberOfNodesQuotaExceededFault"}, - {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"UnsupportedOptionFault"}, - {"shape":"UnsupportedOperationFault"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"LimitExceededFault"} - ], - "documentation":"

Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize your cluster is avaialble for read and write operations more quickly than with the classic resize method.

Elastic resize operations have the following restrictions:

  • You can only resize clusters of the following types:

    • dc2.large

    • dc2.8xlarge

    • ds2.xlarge

    • ds2.8xlarge

  • The type of nodes you add must match the node type for the cluster.

" - }, - "RestoreFromClusterSnapshot":{ - "name":"RestoreFromClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreFromClusterSnapshotMessage"}, - "output":{ - "shape":"RestoreFromClusterSnapshotResult", - "resultWrapper":"RestoreFromClusterSnapshotResult" - }, - "errors":[ - {"shape":"AccessToSnapshotDeniedFault"}, - {"shape":"ClusterAlreadyExistsFault"}, - {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"ClusterQuotaExceededFault"}, - {"shape":"InsufficientClusterCapacityFault"}, - {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"InvalidRestoreFault"}, - {"shape":"NumberOfNodesQuotaExceededFault"}, - {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, - {"shape":"InvalidClusterSubnetGroupStateFault"}, - {"shape":"InvalidSubnet"}, - {"shape":"ClusterSubnetGroupNotFoundFault"}, - {"shape":"UnauthorizedOperation"}, - {"shape":"HsmClientCertificateNotFoundFault"}, - {"shape":"HsmConfigurationNotFoundFault"}, - {"shape":"InvalidElasticIpFault"}, - {"shape":"ClusterParameterGroupNotFoundFault"}, - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidClusterTrackFault"} - ], - "documentation":"

Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" - }, - "RestoreTableFromClusterSnapshot":{ - "name":"RestoreTableFromClusterSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreTableFromClusterSnapshotMessage"}, - "output":{ - "shape":"RestoreTableFromClusterSnapshotResult", - "resultWrapper":"RestoreTableFromClusterSnapshotResult" - }, - "errors":[ - {"shape":"ClusterSnapshotNotFoundFault"}, - {"shape":"InProgressTableRestoreQuotaExceededFault"}, - {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"InvalidTableRestoreArgumentFault"}, - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"UnsupportedOperationFault"} - ], - "documentation":"

Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.

You cannot use RestoreTableFromClusterSnapshot to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call RestoreTableFromClusterSnapshot. When you have renamed your original table, then you can pass the original name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. This way, you can replace the original table with the table created from the snapshot.

" - }, - "RevokeClusterSecurityGroupIngress":{ - "name":"RevokeClusterSecurityGroupIngress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeClusterSecurityGroupIngressMessage"}, - "output":{ - "shape":"RevokeClusterSecurityGroupIngressResult", - "resultWrapper":"RevokeClusterSecurityGroupIngressResult" - }, - "errors":[ - {"shape":"ClusterSecurityGroupNotFoundFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"InvalidClusterSecurityGroupStateFault"} - ], - "documentation":"

Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "RevokeSnapshotAccess":{ - "name":"RevokeSnapshotAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeSnapshotAccessMessage"}, - "output":{ - "shape":"RevokeSnapshotAccessResult", - "resultWrapper":"RevokeSnapshotAccessResult" - }, - "errors":[ - {"shape":"AccessToSnapshotDeniedFault"}, - {"shape":"AuthorizationNotFoundFault"}, - {"shape":"ClusterSnapshotNotFoundFault"} - ], - "documentation":"

Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.

For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

" - }, - "RotateEncryptionKey":{ - "name":"RotateEncryptionKey", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RotateEncryptionKeyMessage"}, - "output":{ - "shape":"RotateEncryptionKeyResult", - "resultWrapper":"RotateEncryptionKeyResult" - }, - "errors":[ - {"shape":"ClusterNotFoundFault"}, - {"shape":"InvalidClusterStateFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} - ], - "documentation":"

Rotates the encryption keys for a cluster.

" - } - }, - "shapes":{ - "AcceptReservedNodeExchangeInputMessage":{ - "type":"structure", - "required":[ - "ReservedNodeId", - "TargetReservedNodeOfferingId" - ], - "members":{ - "ReservedNodeId":{ - "shape":"String", - "documentation":"

A string representing the node identifier of the DC1 Reserved Node to be exchanged.

" - }, - "TargetReservedNodeOfferingId":{ - "shape":"String", - "documentation":"

The unique identifier of the DC2 Reserved Node offering to be used for the exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings

" - } - } - }, - "AcceptReservedNodeExchangeOutputMessage":{ - "type":"structure", - "members":{ - "ExchangedReservedNode":{"shape":"ReservedNode"} - } - }, - "AccessToSnapshotDeniedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The owner of the specified snapshot has not authorized your account to access the snapshot.

", - "error":{ - "code":"AccessToSnapshotDenied", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AccountWithRestoreAccess":{ - "type":"structure", - "members":{ - "AccountId":{ - "shape":"String", - "documentation":"

The identifier of an AWS customer account authorized to restore a snapshot.

" - }, - "AccountAlias":{ - "shape":"String", - "documentation":"

The identifier of an AWS support account authorized to restore a snapshot. For AWS support, the identifier is amazon-redshift-support.

" - } - }, - "documentation":"

Describes an AWS customer account authorized to restore a snapshot.

" - }, - "AccountsWithRestoreAccessList":{ - "type":"list", - "member":{ - "shape":"AccountWithRestoreAccess", - "locationName":"AccountWithRestoreAccess" - } - }, - "AuthorizationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified CIDR block or EC2 security group is already authorized for the specified cluster security group.

", - "error":{ - "code":"AuthorizationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified CIDR IP range or EC2 security group is not authorized for the specified cluster security group.

", - "error":{ - "code":"AuthorizationNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "AuthorizationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The authorization quota for the cluster security group has been reached.

", - "error":{ - "code":"AuthorizationQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AuthorizeClusterSecurityGroupIngressMessage":{ - "type":"structure", - "required":["ClusterSecurityGroupName"], - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the security group to which the ingress rule is added.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range to be added the Amazon Redshift security group.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The EC2 security group to be added the Amazon Redshift security group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the owner of the security group specified by the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value.

Example: 111122223333

" - } - }, - "documentation":"

" - }, - "AuthorizeClusterSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "ClusterSecurityGroup":{"shape":"ClusterSecurityGroup"} - } - }, - "AuthorizeSnapshotAccessMessage":{ - "type":"structure", - "required":[ - "SnapshotIdentifier", - "AccountWithRestoreAccess" - ], - "members":{ - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the snapshot the account is authorized to restore.

" - }, - "SnapshotClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

" - }, - "AccountWithRestoreAccess":{ - "shape":"String", - "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":"

" - }, - "AuthorizeSnapshotAccessResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "AvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the availability zone.

" - }, - "SupportedPlatforms":{"shape":"SupportedPlatformsList"} - }, - "documentation":"

Describes an availability zone.

", - "wrapper":true - }, - "AvailabilityZoneList":{ - "type":"list", - "member":{ - "shape":"AvailabilityZone", - "locationName":"AvailabilityZone" - } - }, - "Boolean":{"type":"boolean"}, - "BooleanOptional":{"type":"boolean"}, - "BucketNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Could not find the specified S3 bucket.

", - "error":{ - "code":"BucketNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Cluster":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type for the nodes in the cluster.

" - }, - "ClusterStatus":{ - "shape":"String", - "documentation":"

The current state of the cluster. Possible values are the following:

  • available

  • creating

  • deleting

  • final-snapshot

  • hardware-failure

  • incompatible-hsm

  • incompatible-network

  • incompatible-parameters

  • incompatible-restore

  • modifying

  • rebooting

  • renaming

  • resizing

  • rotating-keys

  • storage-full

  • updating-hsm

" - }, - "ModifyStatus":{ - "shape":"String", - "documentation":"

The status of a modify operation, if any, initiated for the cluster.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The master user name for the cluster. This name is used to connect to the database that is specified in the DBName parameter.

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The name of the initial database that was created when the cluster was created. This same name is returned for the life of the cluster. If an initial database was not specified, a database named devdev was created by default.

" - }, - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The connection endpoint.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The date and time that the cluster was created.

" - }, - "AutomatedSnapshotRetentionPeriod":{ - "shape":"Integer", - "documentation":"

The number of days that automatic cluster snapshots are retained.

" - }, - "ClusterSecurityGroups":{ - "shape":"ClusterSecurityGroupMembershipList", - "documentation":"

A list of cluster security group that are associated with the cluster. Each security group is represented by an element that contains ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements.

Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which are listed by the VpcSecurityGroups parameter.

" - }, - "VpcSecurityGroups":{ - "shape":"VpcSecurityGroupMembershipList", - "documentation":"

A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are associated with the cluster. This parameter is returned only if the cluster is in a VPC.

" - }, - "ClusterParameterGroups":{ - "shape":"ClusterParameterGroupStatusList", - "documentation":"

The list of cluster parameter groups that are associated with this cluster. Each parameter group in the list is returned with its status.

" - }, - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The identifier of the VPC the cluster is in, if the cluster is in a VPC.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The name of the Availability Zone in which the cluster is located.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur.

" - }, - "PendingModifiedValues":{ - "shape":"PendingModifiedValues", - "documentation":"

A value that, if present, indicates that changes to the cluster are pending. Specific pending changes are identified by subelements.

" - }, - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version ID of the Amazon Redshift engine that is running on the cluster.

" - }, - "AllowVersionUpgrade":{ - "shape":"Boolean", - "documentation":"

A Boolean value that, if true, indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.

" - }, - "NumberOfNodes":{ - "shape":"Integer", - "documentation":"

The number of compute nodes in the cluster.

" - }, - "PubliclyAccessible":{ - "shape":"Boolean", - "documentation":"

A Boolean value that, if true, indicates that the cluster can be accessed from a public network.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

A Boolean value that, if true, indicates that data in the cluster is encrypted at rest.

" - }, - "RestoreStatus":{ - "shape":"RestoreStatus", - "documentation":"

A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.

" - }, - "HsmStatus":{ - "shape":"HsmStatus", - "documentation":"

A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

Values: active, applying

" - }, - "ClusterSnapshotCopyStatus":{ - "shape":"ClusterSnapshotCopyStatus", - "documentation":"

A value that returns the destination region and retention period that are configured for cross-region snapshot copy.

" - }, - "ClusterPublicKey":{ - "shape":"String", - "documentation":"

The public key for the cluster.

" - }, - "ClusterNodes":{ - "shape":"ClusterNodesList", - "documentation":"

The nodes in the cluster.

" - }, - "ElasticIpStatus":{ - "shape":"ElasticIpStatus", - "documentation":"

The status of the elastic IP (EIP) address.

" - }, - "ClusterRevisionNumber":{ - "shape":"String", - "documentation":"

The specific revision number of the database in the cluster.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the cluster.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS Key Management Service (AWS KMS) key ID of the encryption key used to encrypt data in the cluster.

" - }, - "EnhancedVpcRouting":{ - "shape":"Boolean", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "IamRoles":{ - "shape":"ClusterIamRoleList", - "documentation":"

A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.

" - }, - "PendingActions":{ - "shape":"PendingActionsList", - "documentation":"

Cluster operations that are waiting to be started.

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track for the cluster.

" - }, - "ElasticResizeNumberOfNodeOptions":{ - "shape":"String", - "documentation":"

Indicates the number of nodes the cluster can be resized to with the elastic resize method.

" - } - }, - "documentation":"

Describes a cluster.

", - "wrapper":true - }, - "ClusterAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The account already has a cluster with the given identifier.

", - "error":{ - "code":"ClusterAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "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 specified DbUser exists in the database, the new user name has the same database privileges as the the user named in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter is specifed, DbUser is added to the listed groups for any sessions created using these credentials.

" - }, - "DbPassword":{ - "shape":"SensitiveString", - "documentation":"

A temporary password that authorizes the user name returned by DbUser to log on to the database DbName.

" - }, - "Expiration":{ - "shape":"TStamp", - "documentation":"

The date and time the password in DbPassword expires.

" - } - }, - "documentation":"

Temporary credentials with authorization to log on to an Amazon Redshift database.

" - }, - "ClusterDbRevision":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster.

" - }, - "CurrentDatabaseRevision":{ - "shape":"String", - "documentation":"

A string representing the current cluster version.

" - }, - "DatabaseRevisionReleaseDate":{ - "shape":"TStamp", - "documentation":"

The date on which the database revision was released.

" - }, - "RevisionTargets":{ - "shape":"RevisionTargetsList", - "documentation":"

A list of RevisionTarget objects, where each object describes the database revision that a cluster can be updated to.

" - } - }, - "documentation":"

Describes a ClusterDbRevision.

" - }, - "ClusterDbRevisionsList":{ - "type":"list", - "member":{ - "shape":"ClusterDbRevision", - "locationName":"ClusterDbRevision" - } - }, - "ClusterDbRevisionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A string representing the starting point for the next set of revisions. If a value is returned in a response, you can retrieve the next set of revisions by providing the value in the marker parameter and retrying the command. If the marker field is empty, all revisions have already been returned.

" - }, - "ClusterDbRevisions":{ - "shape":"ClusterDbRevisionsList", - "documentation":"

A list of revisions.

" - } - } - }, - "ClusterIamRole":{ - "type":"structure", - "members":{ - "IamRoleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload.

" - }, - "ApplyStatus":{ - "shape":"String", - "documentation":"

A value that describes the status of the IAM role's association with an Amazon Redshift cluster.

The following are possible statuses and descriptions.

  • in-sync: The role is available for use by the cluster.

  • adding: The role is in the process of being associated with the cluster.

  • removing: The role is in the process of being disassociated with the cluster.

" - } - }, - "documentation":"

An AWS Identity and Access Management (IAM) role that can be used by the associated Amazon Redshift cluster to access other AWS services.

" - }, - "ClusterIamRoleList":{ - "type":"list", - "member":{ - "shape":"ClusterIamRole", - "locationName":"ClusterIamRole" - } - }, - "ClusterList":{ - "type":"list", - "member":{ - "shape":"Cluster", - "locationName":"Cluster" - } - }, - "ClusterNode":{ - "type":"structure", - "members":{ - "NodeRole":{ - "shape":"String", - "documentation":"

Whether the node is a leader node or a compute node.

" - }, - "PrivateIPAddress":{ - "shape":"String", - "documentation":"

The private IP address of a node within a cluster.

" - }, - "PublicIPAddress":{ - "shape":"String", - "documentation":"

The public IP address of a node within a cluster.

" - } - }, - "documentation":"

The identifier of a node in a cluster.

" - }, - "ClusterNodesList":{ - "type":"list", - "member":{"shape":"ClusterNode"} - }, - "ClusterNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The ClusterIdentifier parameter does not refer to an existing cluster.

", - "error":{ - "code":"ClusterNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ClusterOnLatestRevisionFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cluster is already on the latest database revision.

", - "error":{ - "code":"ClusterOnLatestRevision", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterParameterGroup":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group.

" - }, - "ParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group family that this cluster parameter group is compatible with.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the parameter group.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the cluster parameter group.

" - } - }, - "documentation":"

Describes a parameter group.

", - "wrapper":true - }, - "ClusterParameterGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A cluster parameter group with the same name already exists.

", - "error":{ - "code":"ClusterParameterGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterParameterGroupDetails":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParametersList", - "documentation":"

A list of Parameter instances. Each instance lists the parameters of one cluster parameter group.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - } - }, - "documentation":"

Contains the output from the DescribeClusterParameters action.

" - }, - "ClusterParameterGroupNameMessage":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group.

" - }, - "ParameterGroupStatus":{ - "shape":"String", - "documentation":"

The status of the parameter group. For example, if you made a change to a parameter group name-value pair, then the change could be pending a reboot of an associated cluster.

" - } - }, - "documentation":"

" - }, - "ClusterParameterGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The parameter group name does not refer to an existing parameter group.

", - "error":{ - "code":"ClusterParameterGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ClusterParameterGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"ClusterParameterGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterParameterGroupStatus":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of parameter updates.

" - }, - "ClusterParameterStatusList":{ - "shape":"ClusterParameterStatusList", - "documentation":"

The list of parameter statuses.

For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - } - }, - "documentation":"

Describes the status of a parameter group.

" - }, - "ClusterParameterGroupStatusList":{ - "type":"list", - "member":{ - "shape":"ClusterParameterGroupStatus", - "locationName":"ClusterParameterGroup" - } - }, - "ClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ParameterGroups":{ - "shape":"ParameterGroupList", - "documentation":"

A list of ClusterParameterGroup instances. Each instance describes one cluster parameter group.

" - } - }, - "documentation":"

Contains the output from the DescribeClusterParameterGroups action.

" - }, - "ClusterParameterStatus":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterApplyStatus":{ - "shape":"String", - "documentation":"

The status of the parameter that indicates whether the parameter is in sync with the database, waiting for a cluster reboot, or encountered an error when being applied.

The following are possible statuses and descriptions.

  • in-sync: The parameter value is in sync with the database.

  • pending-reboot: The parameter value will be applied after the cluster reboots.

  • applying: The parameter value is being applied to the database.

  • invalid-parameter: Cannot apply the parameter value because it has an invalid value or syntax.

  • apply-deferred: The parameter contains static property changes. The changes are deferred until the cluster reboots.

  • apply-error: Cannot connect to the cluster. The parameter change will be applied after the cluster reboots.

  • unknown-error: Cannot apply the parameter change right now. The change will be applied after the cluster reboots.

" - }, - "ParameterApplyErrorDescription":{ - "shape":"String", - "documentation":"

The error that prevented the parameter from being applied to the database.

" - } - }, - "documentation":"

Describes the status of a parameter group.

" - }, - "ClusterParameterStatusList":{ - "type":"list", - "member":{"shape":"ClusterParameterStatus"} - }, - "ClusterQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"ClusterQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSecurityGroup":{ - "type":"structure", - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster security group to which the operation was applied.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the security group.

" - }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

A list of EC2 security groups that are permitted to access clusters associated with this cluster security group.

" - }, - "IPRanges":{ - "shape":"IPRangeList", - "documentation":"

A list of IP ranges (CIDR blocks) that are permitted to access clusters associated with this cluster security group.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the cluster security group.

" - } - }, - "documentation":"

Describes a security group.

", - "wrapper":true - }, - "ClusterSecurityGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A cluster security group with the same name already exists.

", - "error":{ - "code":"ClusterSecurityGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSecurityGroupMembership":{ - "type":"structure", - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the cluster security group.

" - } - }, - "documentation":"

Describes a cluster security group.

" - }, - "ClusterSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"ClusterSecurityGroupMembership", - "locationName":"ClusterSecurityGroup" - } - }, - "ClusterSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ClusterSecurityGroups":{ - "shape":"ClusterSecurityGroups", - "documentation":"

A list of ClusterSecurityGroup instances.

" - } - }, - "documentation":"

" - }, - "ClusterSecurityGroupNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ClusterSecurityGroupName" - } - }, - "ClusterSecurityGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster security group name does not refer to an existing cluster security group.

", - "error":{ - "code":"ClusterSecurityGroupNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ClusterSecurityGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"QuotaExceeded.ClusterSecurityGroup", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSecurityGroups":{ - "type":"list", - "member":{ - "shape":"ClusterSecurityGroup", - "locationName":"ClusterSecurityGroup" - } - }, - "ClusterSnapshotAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The value specified as a snapshot identifier is already used by an existing snapshot.

", - "error":{ - "code":"ClusterSnapshotAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSnapshotCopyStatus":{ - "type":"structure", - "members":{ - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region that snapshots are automatically copied to when cross-region snapshot copy is enabled.

" - }, - "RetentionPeriod":{ - "shape":"Long", - "documentation":"

The number of days that automated snapshots are retained in the destination region after they are copied from a source region.

" - }, - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant.

" - } - }, - "documentation":"

Returns the destination region and retention period that are configured for cross-region snapshot copy.

" - }, - "ClusterSnapshotNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The snapshot identifier does not refer to an existing cluster snapshot.

", - "error":{ - "code":"ClusterSnapshotNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ClusterSnapshotQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in the user exceeding the allowed number of cluster snapshots.

", - "error":{ - "code":"ClusterSnapshotQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSubnetGroup":{ - "type":"structure", - "members":{ - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster subnet group.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the cluster subnet group.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The VPC ID of the cluster subnet group.

" - }, - "SubnetGroupStatus":{ - "shape":"String", - "documentation":"

The status of the cluster subnet group. Possible values are Complete, Incomplete and Invalid.

" - }, - "Subnets":{ - "shape":"SubnetList", - "documentation":"

A list of the VPC Subnet elements.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the cluster subnet group.

" - } - }, - "documentation":"

Describes a subnet group.

", - "wrapper":true - }, - "ClusterSubnetGroupAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A ClusterSubnetGroupName is already used by an existing cluster subnet group.

", - "error":{ - "code":"ClusterSubnetGroupAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSubnetGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ClusterSubnetGroups":{ - "shape":"ClusterSubnetGroups", - "documentation":"

A list of ClusterSubnetGroup instances.

" - } - }, - "documentation":"

Contains the output from the DescribeClusterSubnetGroups action.

" - }, - "ClusterSubnetGroupNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster subnet group name does not refer to an existing cluster subnet group.

", - "error":{ - "code":"ClusterSubnetGroupNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSubnetGroupQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"ClusterSubnetGroupQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterSubnetGroups":{ - "type":"list", - "member":{ - "shape":"ClusterSubnetGroup", - "locationName":"ClusterSubnetGroup" - } - }, - "ClusterSubnetQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"ClusterSubnetQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ClusterVersion":{ - "type":"structure", - "members":{ - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version number used by the cluster.

" - }, - "ClusterParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group family for the cluster.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the cluster version.

" - } - }, - "documentation":"

Describes a cluster version, including the parameter group family and description of the version.

" - }, - "ClusterVersionList":{ - "type":"list", - "member":{ - "shape":"ClusterVersion", - "locationName":"ClusterVersion" - } - }, - "ClusterVersionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ClusterVersions":{ - "shape":"ClusterVersionList", - "documentation":"

A list of Version elements.

" - } - }, - "documentation":"

Contains the output from the DescribeClusterVersions action.

" - }, - "ClustersMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "Clusters":{ - "shape":"ClusterList", - "documentation":"

A list of Cluster objects, where each object describes one cluster.

" - } - }, - "documentation":"

Contains the output from the DescribeClusters action.

" - }, - "CopyClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "SourceSnapshotIdentifier", - "TargetSnapshotIdentifier" - ], - "members":{ - "SourceSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source snapshot.

Constraints:

  • Must be the identifier for a valid automated snapshot whose state is available.

" - }, - "SourceSnapshotClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

Constraints:

  • Must be the identifier for a valid cluster.

" - }, - "TargetSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier given to the new manual snapshot.

Constraints:

  • Cannot be null, empty, or blank.

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for the AWS account that is making the request.

" - } - }, - "documentation":"

" - }, - "CopyClusterSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "CopyToRegionDisabledFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cross-region snapshot copy was temporarily disabled. Try your request again.

", - "error":{ - "code":"CopyToRegionDisabledFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CreateClusterMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "NodeType", - "MasterUsername", - "MasterUserPassword" - ], - "members":{ - "DBName":{ - "shape":"String", - "documentation":"

The name of the first database to be created when the cluster is created.

To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

Default: dev

Constraints:

  • Must contain 1 to 64 alphanumeric characters.

  • Must contain only lowercase letters.

  • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

A unique identifier for the cluster. You use this identifier to refer to the cluster for any subsequent cluster operations such as deleting or modifying. The identifier also appears in the Amazon Redshift console.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • Alphabetic characters must be lowercase.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all clusters within an AWS account.

Example: myexamplecluster

" - }, - "ClusterType":{ - "shape":"String", - "documentation":"

The type of the cluster. When cluster type is specified as

  • single-node, the NumberOfNodes parameter is not required.

  • multi-node, the NumberOfNodes parameter is required.

Valid Values: multi-node | single-node

Default: multi-node

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

Valid Values: ds2.xlarge | ds2.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The user name associated with the master user account for the cluster that is being created.

Constraints:

  • Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.

  • First character must be a letter.

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The password associated with the master user account for the cluster that is being created.

Constraints:

  • Must be between 8 and 64 characters in length.

  • Must contain at least one uppercase letter.

  • Must contain at least one lowercase letter.

  • Must contain one number.

  • Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), \" (double quote), \\, /, @, or space.

" - }, - "ClusterSecurityGroups":{ - "shape":"ClusterSecurityGroupNameList", - "documentation":"

A list of security groups to be associated with this cluster.

Default: The default cluster security group for Amazon Redshift.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.

Default: The default VPC security group is associated with the cluster.

" - }, - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of a cluster subnet group to be associated with this cluster.

If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.

Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint.

Example: us-east-1d

Constraint: The specified Availability Zone must be in the same region as the current endpoint.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" - }, - "ClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "AutomatedSnapshotRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

Default: 1

Constraints: Must be a value from 0 to 35.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the cluster accepts incoming connections.

The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.

Default: 5439

Valid Values: 1150-65535

" - }, - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version of the Amazon Redshift engine software that you want to deploy on the cluster.

The version selected runs on all the nodes in the cluster.

Constraints: Only version 1.0 is currently available.

Example: 1.0

" - }, - "AllowVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

If true, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

When a new major version of the Amazon Redshift engine is released, you can request that the service automatically apply upgrades during the maintenance window to the Amazon Redshift engine that is running on your cluster.

Default: true

" - }, - "NumberOfNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.

For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

Default: 1

Constraints: Value must be at least 1 and no more than 100.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

If true, the cluster can be accessed from a public network.

" - }, - "Encrypted":{ - "shape":"BooleanOptional", - "documentation":"

If true, the data in the cluster is encrypted at rest.

Default: false

" - }, - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

" - }, - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

" - }, - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.

" - }, - "EnhancedVpcRouting":{ - "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

" - }, - "IamRoles":{ - "shape":"IamRoleArnList", - "documentation":"

A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request.

A cluster can have up to 10 IAM roles associated with it at any time.

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the current track.

" - } - }, - "documentation":"

" - }, - "CreateClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "ParameterGroupName", - "ParameterGroupFamily", - "Description" - ], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique withing your AWS account.

This value is stored as a lower-case string.

" - }, - "ParameterGroupFamily":{ - "shape":"String", - "documentation":"

The Amazon Redshift engine version to which the cluster parameter group applies. The cluster engine version determines the set of parameters.

To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. By default, Amazon Redshift returns a list of all the parameter groups that are owned by your AWS account, including the default parameter groups for each Amazon Redshift engine version. The parameter group family names associated with the default parameter groups provide you the valid values. For example, a valid family name is \"redshift-1.0\".

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter group.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateClusterParameterGroupResult":{ - "type":"structure", - "members":{ - "ClusterParameterGroup":{"shape":"ClusterParameterGroup"} - } - }, - "CreateClusterResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "CreateClusterSecurityGroupMessage":{ - "type":"structure", - "required":[ - "ClusterSecurityGroupName", - "Description" - ], - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name for the security group. Amazon Redshift stores the value as a lowercase string.

Constraints:

  • Must contain no more than 255 alphanumeric characters or hyphens.

  • Must not be \"Default\".

  • Must be unique for all security groups that are created by your AWS account.

Example: examplesecuritygroup

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the security group.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateClusterSecurityGroupResult":{ - "type":"structure", - "members":{ - "ClusterSecurityGroup":{"shape":"ClusterSecurityGroup"} - } - }, - "CreateClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "SnapshotIdentifier", - "ClusterIdentifier" - ], - "members":{ - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the AWS account.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The cluster identifier for which you want a snapshot.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateClusterSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "CreateClusterSubnetGroupMessage":{ - "type":"structure", - "required":[ - "ClusterSubnetGroupName", - "Description", - "SubnetIds" - ], - "members":{ - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name for the subnet group. Amazon Redshift stores the value as a lowercase string.

Constraints:

  • Must contain no more than 255 alphanumeric characters or hyphens.

  • Must not be \"Default\".

  • Must be unique for all subnet groups that are created by your AWS account.

Example: examplesubnetgroup

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description for the subnet group.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateClusterSubnetGroupResult":{ - "type":"structure", - "members":{ - "ClusterSubnetGroup":{"shape":"ClusterSubnetGroup"} - } - }, - "CreateEventSubscriptionMessage":{ - "type":"structure", - "required":[ - "SubscriptionName", - "SnsTopicArn" - ], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the event subscription to be created.

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.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the event notifications. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

Valid values: cluster, cluster-parameter-group, cluster-security-group, and cluster-snapshot.

" - }, - "SourceIds":{ - "shape":"SourceIdsList", - "documentation":"

A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.

Example: my-cluster-1, my-cluster-2

Example: my-snapshot-20131010

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

Specifies the Amazon Redshift event categories to be published by the event notification subscription.

Values: Configuration, Management, Monitoring, Security

" - }, - "Severity":{ - "shape":"String", - "documentation":"

Specifies the Amazon Redshift event severity to be published by the event notification subscription.

Values: ERROR, INFO

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "CreateHsmClientCertificateMessage":{ - "type":"structure", - "required":["HsmClientCertificateIdentifier"], - "members":{ - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier to be assigned to the new HSM client certificate that the cluster will use to connect to the HSM to use the database encryption keys.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateHsmClientCertificateResult":{ - "type":"structure", - "members":{ - "HsmClientCertificate":{"shape":"HsmClientCertificate"} - } - }, - "CreateHsmConfigurationMessage":{ - "type":"structure", - "required":[ - "HsmConfigurationIdentifier", - "Description", - "HsmIpAddress", - "HsmPartitionName", - "HsmPartitionPassword", - "HsmServerPublicCertificate" - ], - "members":{ - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

The identifier to be assigned to the new Amazon Redshift HSM configuration.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A text description of the HSM configuration to be created.

" - }, - "HsmIpAddress":{ - "shape":"String", - "documentation":"

The IP address that the Amazon Redshift cluster must use to access the HSM.

" - }, - "HsmPartitionName":{ - "shape":"String", - "documentation":"

The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.

" - }, - "HsmPartitionPassword":{ - "shape":"String", - "documentation":"

The password required to access the HSM partition.

" - }, - "HsmServerPublicCertificate":{ - "shape":"String", - "documentation":"

The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

" - }, - "CreateHsmConfigurationResult":{ - "type":"structure", - "members":{ - "HsmConfiguration":{"shape":"HsmConfiguration"} - } - }, - "CreateSnapshotCopyGrantMessage":{ - "type":"structure", - "required":["SnapshotCopyGrantName"], - "members":{ - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant. This name must be unique in the region for the AWS account.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • Alphabetic characters must be lowercase.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all clusters within an AWS account.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift permission. If no key is specified, the default key is used.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

The result of the CreateSnapshotCopyGrant action.

" - }, - "CreateSnapshotCopyGrantResult":{ - "type":"structure", - "members":{ - "SnapshotCopyGrant":{"shape":"SnapshotCopyGrant"} - } - }, - "CreateTagsMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "Tags" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) to which you want to add the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more name/value pairs to add as tags to the specified resource. Each tag name is passed in with the parameter Key and the corresponding value is passed in with the parameter Value. The Key and Value parameters are separated by a comma (,). Separate multiple tags with a space. For example, --tags \"Key\"=\"owner\",\"Value\"=\"admin\" \"Key\"=\"environment\",\"Value\"=\"test\" \"Key\"=\"version\",\"Value\"=\"1.0\".

" - } - }, - "documentation":"

Contains the output from the CreateTags action.

" - }, - "DbGroupList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DbGroup" - } - }, - "DefaultClusterParameters":{ - "type":"structure", - "members":{ - "ParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group family to which the engine default parameters apply.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

The list of cluster default parameters.

" - } - }, - "documentation":"

Describes the default cluster parameters for a parameter group family.

", - "wrapper":true - }, - "DeleteClusterMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster to be deleted.

Constraints:

  • Must contain lowercase characters.

  • 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.

" - }, - "SkipFinalClusterSnapshot":{ - "shape":"Boolean", - "documentation":"

Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true, a final cluster snapshot is not created. If false, a final cluster snapshot is created before the cluster is deleted.

The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot is false.

Default: false

" - }, - "FinalClusterSnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot must be false.

Constraints:

  • Must be 1 to 255 alphanumeric characters.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - } - }, - "documentation":"

" - }, - "DeleteClusterParameterGroupMessage":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to be deleted.

Constraints:

  • Must be the name of an existing cluster parameter group.

  • Cannot delete a default cluster parameter group.

" - } - }, - "documentation":"

" - }, - "DeleteClusterResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "DeleteClusterSecurityGroupMessage":{ - "type":"structure", - "required":["ClusterSecurityGroupName"], - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster security group to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteClusterSnapshotMessage":{ - "type":"structure", - "required":["SnapshotIdentifier"], - "members":{ - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the manual snapshot to be deleted.

Constraints: Must be the name of an existing snapshot that is in the available state.

" - }, - "SnapshotClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

Constraints: Must be the name of valid cluster.

" - } - }, - "documentation":"

" - }, - "DeleteClusterSnapshotResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "DeleteClusterSubnetGroupMessage":{ - "type":"structure", - "required":["ClusterSubnetGroupName"], - "members":{ - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster subnet group name to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the Amazon Redshift event notification subscription to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteHsmClientCertificateMessage":{ - "type":"structure", - "required":["HsmClientCertificateIdentifier"], - "members":{ - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the HSM client certificate to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteHsmConfigurationMessage":{ - "type":"structure", - "required":["HsmConfigurationIdentifier"], - "members":{ - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the Amazon Redshift HSM configuration to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteSnapshotCopyGrantMessage":{ - "type":"structure", - "required":["SnapshotCopyGrantName"], - "members":{ - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant to delete.

" - } - }, - "documentation":"

The result of the DeleteSnapshotCopyGrant action.

" - }, - "DeleteTagsMessage":{ - "type":"structure", - "required":[ - "ResourceName", - "TagKeys" - ], - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) from which you want to remove the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The tag key that you want to delete.

" - } - }, - "documentation":"

Contains the output from the DeleteTags action.

" - }, - "DependentServiceRequestThrottlingFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request cannot be completed because a dependent service is throttling requests made by Amazon Redshift on your behalf. Wait and retry the request.

", - "error":{ - "code":"DependentServiceRequestThrottlingFault", - "httpStatusCode":400, - "senderFault":true - }, - "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 - }, - "DescribeClusterDbRevisionsMessage":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

A unique identifier for a cluster whose ClusterDbRevisions you are requesting. This parameter is case sensitive. All clusters defined for an account are returned by default.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point for returning a set of response records. When the results of a DescribeClusterDbRevisions request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

Constraints: You can specify either the ClusterIdentifier parameter, or the marker parameter, but not both.

" - } - } - }, - "DescribeClusterParameterGroupsMessage":{ - "type":"structure", - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a specific parameter group for which to return details. By default, details about all parameter groups and the default parameter group are returned.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterParameterGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching cluster parameter groups that are associated with the specified key or keys. For example, suppose that you have parameter groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the parameter groups that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching cluster parameter groups that are associated with the specified tag value or values. For example, suppose that you have parameter groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the parameter groups that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeClusterParametersMessage":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of a cluster parameter group for which to return details.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The parameter types to return. Specify user to show parameters that are different form the default. Similarly, specify engine-default to show parameters that are the same as the default parameter group.

Default: All parameter types returned.

Valid Values: user | engine-default

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterParameters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeClusterSecurityGroupsMessage":{ - "type":"structure", - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of a cluster security group for which you are requesting details. You can specify either the Marker parameter or a ClusterSecurityGroupName parameter, but not both.

Example: securitygroup1

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSecurityGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

Constraints: You can specify either the ClusterSecurityGroupName parameter or the Marker parameter, but not both.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching cluster security groups that are associated with the specified key or keys. For example, suppose that you have security groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the security groups that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching cluster security groups that are associated with the specified tag value or values. For example, suppose that you have security groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the security groups that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeClusterSnapshotsMessage":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster for which information about snapshots is requested.

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The snapshot identifier of the snapshot about which to return information.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The type of snapshots for which you are requesting information. By default, snapshots of all types are returned.

Valid Values: automated | manual

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

A value that requests only snapshots created at or after the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2012-07-16T18:00:00Z

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

A time value that requests only snapshots created at or before the specified time. The time value is specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2012-07-16T18:00:00Z

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSnapshots request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "OwnerAccount":{ - "shape":"String", - "documentation":"

The AWS customer account used to create or copy the snapshot. Use this field to filter the results to snapshots owned by a particular account. To describe snapshots you own, either specify your AWS customer account, or do not specify the parameter.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching cluster snapshots that are associated with the specified key or keys. For example, suppose that you have snapshots that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching cluster snapshots that are associated with the specified tag value or values. For example, suppose that you have snapshots that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag values associated with them.

" - }, - "ClusterExists":{ - "shape":"BooleanOptional", - "documentation":"

A value that indicates whether to return snapshots only for an existing cluster. Table-level restore can be performed only using a snapshot of an existing cluster, that is, a cluster that has not been deleted. If ClusterExists is set to true, ClusterIdentifier is required.

" - } - }, - "documentation":"

" - }, - "DescribeClusterSubnetGroupsMessage":{ - "type":"structure", - "members":{ - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster subnet group for which information is requested.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterSubnetGroups request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching cluster subnet groups that are associated with the specified key or keys. For example, suppose that you have subnet groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the subnet groups that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching cluster subnet groups that are associated with the specified tag value or values. For example, suppose that you have subnet groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the subnet groups that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeClusterTracksMessage":{ - "type":"structure", - "members":{ - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

An integer value for the maximum number of maintenance tracks to return.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterTracks request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - } - }, - "DescribeClusterVersionsMessage":{ - "type":"structure", - "members":{ - "ClusterVersion":{ - "shape":"String", - "documentation":"

The specific cluster version to return.

Example: 1.0

" - }, - "ClusterParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of a specific cluster parameter group family to return details for.

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterVersions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeClustersMessage":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of a cluster whose properties you are requesting. This parameter is case sensitive.

The default is that all clusters defined for an account are returned.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

Constraints: You can specify either the ClusterIdentifier parameter or the Marker parameter, but not both.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching clusters that are associated with the specified key or keys. For example, suppose that you have clusters that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the clusters that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching clusters that are associated with the specified tag value or values. For example, suppose that you have clusters that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the clusters that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeDefaultClusterParametersMessage":{ - "type":"structure", - "required":["ParameterGroupFamily"], - "members":{ - "ParameterGroupFamily":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group family.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeDefaultClusterParameters request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeDefaultClusterParametersResult":{ - "type":"structure", - "members":{ - "DefaultClusterParameters":{"shape":"DefaultClusterParameters"} - } - }, - "DescribeEventCategoriesMessage":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The source type, such as cluster or parameter group, to which the described event categories apply.

Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group.

" - } - }, - "documentation":"

" - }, - "DescribeEventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the Amazon Redshift event notification subscription to be described.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEventSubscriptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching event notification subscriptions that are associated with the specified key or keys. For example, suppose that you have subscriptions that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching event notification subscriptions that are associated with the specified tag value or values. For example, suppose that you have subscriptions that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeEventsMessage":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the event source for which events will be returned. If this parameter is not specified, then all sources are included in the response.

Constraints:

If SourceIdentifier is supplied, SourceType must also be provided.

  • Specify a cluster identifier when SourceType is cluster.

  • Specify a cluster security group name when SourceType is cluster-security-group.

  • Specify a cluster parameter group name when SourceType is cluster-parameter-group.

  • Specify a cluster snapshot identifier when SourceType is cluster-snapshot.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

Constraints:

If SourceType is supplied, SourceIdentifier must also be provided.

  • Specify cluster when SourceIdentifier is a cluster identifier.

  • Specify cluster-security-group when SourceIdentifier is a cluster security group name.

  • Specify cluster-parameter-group when SourceIdentifier is a cluster parameter group name.

  • Specify cluster-snapshot when SourceIdentifier is a cluster snapshot identifier.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "EndTime":{ - "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" - }, - "Duration":{ - "shape":"IntegerOptional", - "documentation":"

The number of minutes prior to the time of the request for which to retrieve events. For example, if the request is sent at 18:00 and you specify a duration of 60, then only events which have occurred after 17:00 will be returned.

Default: 60

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEvents request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeHsmClientCertificatesMessage":{ - "type":"structure", - "members":{ - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier of a specific HSM client certificate for which you want information. If no identifier is specified, information is returned for all HSM client certificates owned by your AWS customer account.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeHsmClientCertificates request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching HSM client certificates that are associated with the specified key or keys. For example, suppose that you have HSM client certificates that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the HSM client certificates that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching HSM client certificates that are associated with the specified tag value or values. For example, suppose that you have HSM client certificates that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the HSM client certificates that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeHsmConfigurationsMessage":{ - "type":"structure", - "members":{ - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

The identifier of a specific Amazon Redshift HSM configuration to be described. If no identifier is specified, information is returned for all HSM configurations owned by your AWS customer account.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeHsmConfigurations request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching HSM configurations that are associated with the specified key or keys. For example, suppose that you have HSM configurations that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the HSM configurations that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching HSM configurations that are associated with the specified tag value or values. For example, suppose that you have HSM configurations that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the HSM configurations that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DescribeLoggingStatusMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster from which to get the logging status.

Example: examplecluster

" - } - }, - "documentation":"

" - }, - "DescribeOrderableClusterOptionsMessage":{ - "type":"structure", - "members":{ - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version filter value. Specify this parameter to show only the available offerings matching the specified version.

Default: All versions.

Constraints: Must be one of the version returned from DescribeClusterVersions.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type filter value. Specify this parameter to show only the available offerings matching the specified node type.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeOrderableClusterOptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeReservedNodeOfferingsMessage":{ - "type":"structure", - "members":{ - "ReservedNodeOfferingId":{ - "shape":"String", - "documentation":"

The unique identifier for the offering.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeReservedNodeOfferings request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeReservedNodesMessage":{ - "type":"structure", - "members":{ - "ReservedNodeId":{ - "shape":"String", - "documentation":"

Identifier for the node reservation.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeReservedNodes request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - }, - "documentation":"

" - }, - "DescribeResizeMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of a cluster whose resize progress you are requesting. This parameter is case-sensitive.

By default, resize operations for all clusters defined for an AWS account are returned.

" - } - }, - "documentation":"

" - }, - "DescribeSnapshotCopyGrantsMessage":{ - "type":"structure", - "members":{ - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

Default: 100

Constraints: minimum 20, maximum 100.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeSnapshotCopyGrant request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching resources that are associated with the specified key or keys. For example, suppose that you have resources tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with all resources that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching resources that are associated with the specified value or values. For example, suppose that you have resources tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with all resources that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

The result of the DescribeSnapshotCopyGrants action.

" - }, - "DescribeTableRestoreStatusMessage":{ - "type":"structure", - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The Amazon Redshift cluster that the table is being restored to.

" - }, - "TableRestoreRequestId":{ - "shape":"String", - "documentation":"

The identifier of the table restore request to return status for. If you don't specify a TableRestoreRequestId value, then DescribeTableRestoreStatus returns the status of all in-progress table restore requests.

" - }, - "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.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

An optional pagination token provided by a previous DescribeTableRestoreStatus request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter.

" - } - }, - "documentation":"

" - }, - "DescribeTagsMessage":{ - "type":"structure", - "members":{ - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

" - }, - "ResourceType":{ - "shape":"String", - "documentation":"

The type of resource with which you want to view tags. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

  • Snapshot copy grant

For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

The maximum number or response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the marker parameter and retrying the command. If the marker field is empty, all response records have been retrieved for the request.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

A tag key or keys for which you want to return all matching resources that are associated with the specified key or keys. For example, suppose that you have resources tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with all resources that have either or both of these tag keys associated with them.

" - }, - "TagValues":{ - "shape":"TagValueList", - "documentation":"

A tag value or values for which you want to return all matching resources that are associated with the specified value or values. For example, suppose that you have resources tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with all resources that have either or both of these tag values associated with them.

" - } - }, - "documentation":"

" - }, - "DisableLoggingMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster on which logging is to be stopped.

Example: examplecluster

" - } - }, - "documentation":"

" - }, - "DisableSnapshotCopyMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the source cluster that you want to disable copying of snapshots to a destination region.

Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.

" - } - }, - "documentation":"

" - }, - "DisableSnapshotCopyResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "Double":{"type":"double"}, - "DoubleOptional":{"type":"double"}, - "EC2SecurityGroup":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the EC2 security group.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the EC2 Security Group.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the EC2 security group.

" - } - }, - "documentation":"

Describes an Amazon EC2 security group.

" - }, - "EC2SecurityGroupList":{ - "type":"list", - "member":{ - "shape":"EC2SecurityGroup", - "locationName":"EC2SecurityGroup" - } - }, - "ElasticIpStatus":{ - "type":"structure", - "members":{ - "ElasticIp":{ - "shape":"String", - "documentation":"

The elastic IP (EIP) address for the cluster.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the elastic IP (EIP) address.

" - } - }, - "documentation":"

Describes the status of the elastic IP (EIP) address.

" - }, - "EligibleTracksToUpdateList":{ - "type":"list", - "member":{ - "shape":"UpdateTarget", - "locationName":"UpdateTarget" - } - }, - "EnableLoggingMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "BucketName" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster on which logging is to be started.

Example: examplecluster

" - }, - "BucketName":{ - "shape":"String", - "documentation":"

The name of an existing S3 bucket where the log files are to be stored.

Constraints:

  • Must be in the same region as the cluster

  • The cluster must have read bucket and put object permissions

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

The prefix applied to the log file names.

Constraints:

  • Cannot exceed 512 characters

  • Cannot contain spaces( ), double quotes (\"), single quotes ('), a backslash (\\), or control characters. The hexadecimal codes for invalid characters are:

    • x00 to x20

    • x22

    • x27

    • x5c

    • x7f or larger

" - } - }, - "documentation":"

" - }, - "EnableSnapshotCopyMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "DestinationRegion" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the source cluster to copy snapshots from.

Constraints: Must be the valid name of an existing cluster that does not already have cross-region snapshot copy enabled.

" - }, - "DestinationRegion":{ - "shape":"String", - "documentation":"

The destination region that you want to copy snapshots to.

Constraints: Must be the name of a valid region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference.

" - }, - "RetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days to retain automated snapshots in the destination region after they are copied from the source region.

Default: 7.

Constraints: Must be at least 1 and no more than 35.

" - }, - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.

" - } - }, - "documentation":"

" - }, - "EnableSnapshotCopyResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"String", - "documentation":"

The DNS address of the Cluster.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port that the database engine is listening on.

" - } - }, - "documentation":"

Describes a connection endpoint.

" - }, - "Event":{ - "type":"structure", - "members":{ - "SourceIdentifier":{ - "shape":"String", - "documentation":"

The identifier for the source of the event.

" - }, - "SourceType":{ - "shape":"SourceType", - "documentation":"

The source type for this event.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The text of this event.

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

A list of the event categories.

Values: Configuration, Management, Monitoring, Security

" - }, - "Severity":{ - "shape":"String", - "documentation":"

The severity of the event.

Values: ERROR, INFO

" - }, - "Date":{ - "shape":"TStamp", - "documentation":"

The date and time of the event.

" - }, - "EventId":{ - "shape":"String", - "documentation":"

The identifier of the event.

" - } - }, - "documentation":"

Describes an event.

" - }, - "EventCategoriesList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"EventCategory" - } - }, - "EventCategoriesMap":{ - "type":"structure", - "members":{ - "SourceType":{ - "shape":"String", - "documentation":"

The source type, such as cluster or cluster-snapshot, that the returned categories belong to.

" - }, - "Events":{ - "shape":"EventInfoMapList", - "documentation":"

The events in the event category.

" - } - }, - "documentation":"

Describes event categories.

", - "wrapper":true - }, - "EventCategoriesMapList":{ - "type":"list", - "member":{ - "shape":"EventCategoriesMap", - "locationName":"EventCategoriesMap" - } - }, - "EventCategoriesMessage":{ - "type":"structure", - "members":{ - "EventCategoriesMapList":{ - "shape":"EventCategoriesMapList", - "documentation":"

A list of event categories descriptions.

" - } - }, - "documentation":"

" - }, - "EventInfoMap":{ - "type":"structure", - "members":{ - "EventId":{ - "shape":"String", - "documentation":"

The identifier of an Amazon Redshift event.

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

The category of an Amazon Redshift event.

" - }, - "EventDescription":{ - "shape":"String", - "documentation":"

The description of an Amazon Redshift event.

" - }, - "Severity":{ - "shape":"String", - "documentation":"

The severity of the event.

Values: ERROR, INFO

" - } - }, - "documentation":"

Describes event information.

", - "wrapper":true - }, - "EventInfoMapList":{ - "type":"list", - "member":{ - "shape":"EventInfoMap", - "locationName":"EventInfoMap" - } - }, - "EventList":{ - "type":"list", - "member":{ - "shape":"Event", - "locationName":"Event" - } - }, - "EventSubscription":{ - "type":"structure", - "members":{ - "CustomerAwsId":{ - "shape":"String", - "documentation":"

The AWS customer account associated with the Amazon Redshift event notification subscription.

" - }, - "CustSubscriptionId":{ - "shape":"String", - "documentation":"

The name of the Amazon Redshift event notification subscription.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event notification subscription.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the Amazon Redshift event notification subscription.

Constraints:

  • Can be one of the following: active | no-permission | topic-not-exist

  • The status \"no-permission\" indicates that Amazon Redshift no longer has permission to post to the Amazon SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" - }, - "SubscriptionCreationTime":{ - "shape":"TStamp", - "documentation":"

The date and time the Amazon Redshift event notification subscription was created.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The source type of the events returned the Amazon Redshift event notification, such as cluster, or cluster-snapshot.

" - }, - "SourceIdsList":{ - "shape":"SourceIdsList", - "documentation":"

A list of the sources that publish events to the Amazon Redshift event notification subscription.

" - }, - "EventCategoriesList":{ - "shape":"EventCategoriesList", - "documentation":"

The list of Amazon Redshift event categories specified in the event notification subscription.

Values: Configuration, Management, Monitoring, Security

" - }, - "Severity":{ - "shape":"String", - "documentation":"

The event severity specified in the Amazon Redshift event notification subscription.

Values: ERROR, INFO

" - }, - "Enabled":{ - "shape":"Boolean", - "documentation":"

A Boolean value indicating whether the subscription is enabled. true indicates the subscription is enabled.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the event subscription.

" - } - }, - "documentation":"

Describes event subscriptions.

", - "wrapper":true - }, - "EventSubscriptionQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"EventSubscriptionQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EventSubscriptionsList":{ - "type":"list", - "member":{ - "shape":"EventSubscription", - "locationName":"EventSubscription" - } - }, - "EventSubscriptionsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

A list of event subscriptions.

" - } - }, - "documentation":"

" - }, - "EventsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "Events":{ - "shape":"EventList", - "documentation":"

A list of Event instances.

" - } - }, - "documentation":"

" - }, - "GetClusterCredentialsMessage":{ - "type":"structure", - "required":[ - "DbUser", - "ClusterIdentifier" - ], - "members":{ - "DbUser":{ - "shape":"String", - "documentation":"

The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

Constraints:

  • Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be PUBLIC.

  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" - }, - "DbName":{ - "shape":"String", - "documentation":"

The name of a database that DbUser is authorized to log on to. If DbName is not specified, DbUser can log on to any existing database.

Constraints:

  • Must be 1 to 64 alphanumeric characters or hyphens

  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster that contains the database for which your are requesting credentials. This parameter is case sensitive.

" - }, - "DurationSeconds":{ - "shape":"IntegerOptional", - "documentation":"

The number of seconds until the returned temporary password expires.

Constraint: minimum 900, maximum 3600.

Default: 900

" - }, - "AutoCreate":{ - "shape":"BooleanOptional", - "documentation":"

Create a database user with the name specified for the user named in DbUser if one does not exist.

" - }, - "DbGroups":{ - "shape":"DbGroupList", - "documentation":"

A list of the names of existing database groups that the user named in DbUser will join for the current session, in addition to any group memberships for an existing user. If not specified, a new user is added only to PUBLIC.

Database group name constraints

  • Must be 1 to 64 alphanumeric characters or hyphens

  • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

  • First character must be a letter.

  • Must not contain a colon ( : ) or slash ( / ).

  • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

" - } - }, - "documentation":"

The request parameters to get cluster credentials.

" - }, - "GetReservedNodeExchangeOfferingsInputMessage":{ - "type":"structure", - "required":["ReservedNodeId"], - "members":{ - "ReservedNodeId":{ - "shape":"String", - "documentation":"

A string representing the node identifier for the DC1 Reserved Node to be exchanged.

" - }, - "MaxRecords":{ - "shape":"IntegerOptional", - "documentation":"

An integer setting the maximum number of ReservedNodeOfferings to retrieve.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of ReservedNodeOfferings.

" - } - }, - "documentation":"

" - }, - "GetReservedNodeExchangeOfferingsOutputMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point for returning a set of response records. When the results of a GetReservedNodeExchangeOfferings request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

" - }, - "ReservedNodeOfferings":{ - "shape":"ReservedNodeOfferingList", - "documentation":"

Returns an array of ReservedNodeOffering objects.

" - } - } - }, - "HsmClientCertificate":{ - "type":"structure", - "members":{ - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the HSM client certificate.

" - }, - "HsmClientCertificatePublicKey":{ - "shape":"String", - "documentation":"

The public key that the Amazon Redshift cluster will use to connect to the HSM. You must register the public key in the HSM.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the HSM client certificate.

" - } - }, - "documentation":"

Returns information about an HSM client certificate. The certificate is stored in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift cluster to encrypt data files.

", - "wrapper":true - }, - "HsmClientCertificateAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is already an existing Amazon Redshift HSM client certificate with the specified identifier.

", - "error":{ - "code":"HsmClientCertificateAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmClientCertificateList":{ - "type":"list", - "member":{ - "shape":"HsmClientCertificate", - "locationName":"HsmClientCertificate" - } - }, - "HsmClientCertificateMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "HsmClientCertificates":{ - "shape":"HsmClientCertificateList", - "documentation":"

A list of the identifiers for one or more HSM client certificates used by Amazon Redshift clusters to store and retrieve database encryption keys in an HSM.

" - } - }, - "documentation":"

" - }, - "HsmClientCertificateNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no Amazon Redshift HSM client certificate with the specified identifier.

", - "error":{ - "code":"HsmClientCertificateNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmClientCertificateQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"HsmClientCertificateQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmConfiguration":{ - "type":"structure", - "members":{ - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

The name of the Amazon Redshift HSM configuration.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A text description of the HSM configuration.

" - }, - "HsmIpAddress":{ - "shape":"String", - "documentation":"

The IP address that the Amazon Redshift cluster must use to access the HSM.

" - }, - "HsmPartitionName":{ - "shape":"String", - "documentation":"

The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the HSM configuration.

" - } - }, - "documentation":"

Returns information about an HSM configuration, which is an object that describes to Amazon Redshift clusters the information they require to connect to an HSM where they can store database encryption keys.

", - "wrapper":true - }, - "HsmConfigurationAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is already an existing Amazon Redshift HSM configuration with the specified identifier.

", - "error":{ - "code":"HsmConfigurationAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmConfigurationList":{ - "type":"list", - "member":{ - "shape":"HsmConfiguration", - "locationName":"HsmConfiguration" - } - }, - "HsmConfigurationMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "HsmConfigurations":{ - "shape":"HsmConfigurationList", - "documentation":"

A list of HsmConfiguration objects.

" - } - }, - "documentation":"

" - }, - "HsmConfigurationNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no Amazon Redshift HSM configuration with the specified identifier.

", - "error":{ - "code":"HsmConfigurationNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmConfigurationQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"HsmConfigurationQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "HsmStatus":{ - "type":"structure", - "members":{ - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

" - }, - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

" - }, - "Status":{ - "shape":"String", - "documentation":"

Reports whether the Amazon Redshift cluster has finished applying any HSM settings changes specified in a modify cluster command.

Values: active, applying

" - } - }, - "documentation":"

Describes the status of changes to HSM settings.

" - }, - "IPRange":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the IP range, for example, \"authorized\".

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range in Classless Inter-Domain Routing (CIDR) notation.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the IP range.

" - } - }, - "documentation":"

Describes an IP range used in a security group.

" - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" - } - }, - "IamRoleArnList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"IamRoleArn" - } - }, - "ImportTablesCompleted":{ - "type":"list", - "member":{"shape":"String"} - }, - "ImportTablesInProgress":{ - "type":"list", - "member":{"shape":"String"} - }, - "ImportTablesNotStarted":{ - "type":"list", - "member":{"shape":"String"} - }, - "InProgressTableRestoreQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You have exceeded the allowed number of table restore requests. Wait for your current table restore requests to complete before making a new request.

", - "error":{ - "code":"InProgressTableRestoreQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "IncompatibleOrderableOptions":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified options are incompatible.

", - "error":{ - "code":"IncompatibleOrderableOptions", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientClusterCapacityFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of nodes specified exceeds the allotted capacity of the cluster.

", - "error":{ - "code":"InsufficientClusterCapacity", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InsufficientS3BucketPolicyFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster does not have read bucket or put object permissions on the S3 bucket specified when enabling logging.

", - "error":{ - "code":"InsufficientS3BucketPolicyFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Integer":{"type":"integer"}, - "IntegerOptional":{"type":"integer"}, - "InvalidClusterParameterGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster parameter group action can not be completed because another task is in progress that involves the parameter group. Wait a few moments and try the operation again.

", - "error":{ - "code":"InvalidClusterParameterGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterSecurityGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the cluster security group is not available.

", - "error":{ - "code":"InvalidClusterSecurityGroupState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterSnapshotStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified cluster snapshot is not in the available state, or other accounts are authorized to access the snapshot.

", - "error":{ - "code":"InvalidClusterSnapshotState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified cluster is not in the available state.

", - "error":{ - "code":"InvalidClusterState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterSubnetGroupStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster subnet group cannot be deleted because it is in use.

", - "error":{ - "code":"InvalidClusterSubnetGroupStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterSubnetStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The state of the subnet is invalid.

", - "error":{ - "code":"InvalidClusterSubnetStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidClusterTrackFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The provided cluster track name is not valid.

", - "error":{ - "code":"InvalidClusterTrack", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidElasticIpFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Elastic IP (EIP) is invalid or cannot be found.

", - "error":{ - "code":"InvalidElasticIpFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidHsmClientCertificateStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified HSM client certificate is not in the available state, or it is still in use by one or more Amazon Redshift clusters.

", - "error":{ - "code":"InvalidHsmClientCertificateStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidHsmConfigurationStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified HSM configuration is not in the available state, or it is still in use by one or more Amazon Redshift clusters.

", - "error":{ - "code":"InvalidHsmConfigurationStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidReservedNodeStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the Reserved Node being exchanged is not in an active state.

", - "error":{ - "code":"InvalidReservedNodeState", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRestoreFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The restore is invalid.

", - "error":{ - "code":"InvalidRestore", - "httpStatusCode":406, - "senderFault":true - }, - "exception":true - }, - "InvalidS3BucketNameFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.

", - "error":{ - "code":"InvalidS3BucketNameFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidS3KeyPrefixFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The string specified for the logging S3 key prefix does not comply with the documented constraints.

", - "error":{ - "code":"InvalidS3KeyPrefixFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSnapshotCopyGrantStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The snapshot copy grant can't be deleted because it is used by one or more clusters.

", - "error":{ - "code":"InvalidSnapshotCopyGrantStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubnet":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested subnet is not valid, or not all of the subnets are in the same VPC.

", - "error":{ - "code":"InvalidSubnet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSubscriptionStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The subscription request is invalid because it is a duplicate request. This subscription request is already in progress.

", - "error":{ - "code":"InvalidSubscriptionStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidTableRestoreArgumentFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The value specified for the sourceDatabaseName, sourceSchemaName, or sourceTableName parameter, or a combination of these, doesn't exist in the snapshot.

", - "error":{ - "code":"InvalidTableRestoreArgument", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidTagFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The tag is invalid.

", - "error":{ - "code":"InvalidTagFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidVPCNetworkStateFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster subnet group does not cover all Availability Zones.

", - "error":{ - "code":"InvalidVPCNetworkStateFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LimitExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The encryption key has exceeded its grant limit in AWS KMS.

", - "error":{ - "code":"LimitExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "LoggingStatus":{ - "type":"structure", - "members":{ - "LoggingEnabled":{ - "shape":"Boolean", - "documentation":"

true if logging is on, false if logging is off.

" - }, - "BucketName":{ - "shape":"String", - "documentation":"

The name of the S3 bucket where the log files are stored.

" - }, - "S3KeyPrefix":{ - "shape":"String", - "documentation":"

The prefix applied to the log file names.

" - }, - "LastSuccessfulDeliveryTime":{ - "shape":"TStamp", - "documentation":"

The last time that logs were delivered.

" - }, - "LastFailureTime":{ - "shape":"TStamp", - "documentation":"

The last time when logs failed to be delivered.

" - }, - "LastFailureMessage":{ - "shape":"String", - "documentation":"

The message indicating that logs failed to be delivered.

" - } - }, - "documentation":"

Describes the status of logging for a cluster.

" - }, - "Long":{"type":"long"}, - "LongOptional":{"type":"long"}, - "MaintenanceTrack":{ - "type":"structure", - "members":{ - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track. Possible values are current and trailing.

" - }, - "DatabaseVersion":{ - "shape":"String", - "documentation":"

The version number for the cluster release.

" - }, - "UpdateTargets":{ - "shape":"EligibleTracksToUpdateList", - "documentation":"

An array of UpdateTarget objects to update with the maintenance track.

" - } - }, - "documentation":"

Defines a maintenance track that determines which Amazon Redshift version to apply during a maintenance window. If the value for MaintenanceTrack is current, the cluster is updated to the most recently certified maintenance release. If the value is trailing, the cluster is updated to the previously certified maintenance release.

" - }, - "ModifyClusterDbRevisionMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "RevisionTarget" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of a cluster whose database revision you want to modify.

Example: examplecluster

" - }, - "RevisionTarget":{ - "shape":"String", - "documentation":"

The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.

" - } - } - }, - "ModifyClusterDbRevisionResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "ModifyClusterIamRolesMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster for which you want to associate or disassociate IAM roles.

" - }, - "AddIamRoles":{ - "shape":"IamRoleArnList", - "documentation":"

Zero or more IAM roles to associate with the cluster. The roles must be in their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single cluster in a single request.

" - }, - "RemoveIamRoles":{ - "shape":"IamRoleArnList", - "documentation":"

Zero or more IAM roles in ARN format to disassociate from the cluster. You can disassociate up to 10 IAM roles from a single cluster in a single request.

" - } - }, - "documentation":"

" - }, - "ModifyClusterIamRolesResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "ModifyClusterMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster to be modified.

Example: examplecluster

" - }, - "ClusterType":{ - "shape":"String", - "documentation":"

The new cluster type.

When you submit your cluster resize request, your existing cluster goes into a read-only mode. After Amazon Redshift provisions a new cluster based on your resize requirements, there will be outage for a period while the old cluster is deleted and your connection is switched to the new cluster. You can use DescribeResize to track the progress of the resize request.

Valid Values: multi-node | single-node

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request.

Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge

" - }, - "NumberOfNodes":{ - "shape":"IntegerOptional", - "documentation":"

The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type parameter.

When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request.

Valid Values: Integer greater than 0.

" - }, - "ClusterSecurityGroups":{ - "shape":"ClusterSecurityGroupNameList", - "documentation":"

A list of cluster security groups to be authorized on this cluster. This change is asynchronously applied as soon as possible.

Security groups currently associated with the cluster, and not in the list of groups to apply, will be revoked from the cluster.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is asynchronously applied as soon as possible.

" - }, - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The new password for the cluster master user. This change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Operations never return the password, so this operation provides a way to regain access to the master user account for a cluster if the password is lost.

Default: Uses existing setting.

Constraints:

  • Must be between 8 and 64 characters in length.

  • Must contain at least one uppercase letter.

  • Must contain at least one lowercase letter.

  • Must contain one number.

  • Can be any printable ASCII character (ASCII code 33 to 126) except ' (single quote), \" (double quote), \\, /, @, or space.

" - }, - "ClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group to apply to this cluster. This change is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster.

Default: Uses existing setting.

Constraints: The cluster parameter group must be in the same parameter group family that matches the cluster version.

" - }, - "AutomatedSnapshotRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

If you decrease the automated snapshot retention period from its current value, existing automated snapshots that fall outside of the new retention period will be immediately deleted.

Default: Uses existing setting.

Constraints: Must be a value from 0 to 35.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is necessary during the window, it may result in an outage.

This maintenance window change is made immediately. If the new maintenance window indicates the current time, there must be at least 120 minutes between the current time and end of the window in order to ensure that pending changes are applied.

Default: Uses existing setting.

Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes.

" - }, - "ClusterVersion":{ - "shape":"String", - "documentation":"

The new version number of the Amazon Redshift engine to upgrade to.

For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

Example: 1.0

" - }, - "AllowVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

If true, major version upgrades will be applied automatically to the cluster during the maintenance window.

Default: false

" - }, - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

" - }, - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

" - }, - "NewClusterIdentifier":{ - "shape":"String", - "documentation":"

The new identifier for the cluster.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • Alphabetic characters must be lowercase.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all clusters within an AWS account.

Example: examplecluster

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

If true, the cluster can be accessed from a public network. Only clusters in VPCs can be set to be publicly available.

" - }, - "ElasticIp":{ - "shape":"String", - "documentation":"

The Elastic IP (EIP) address for the cluster.

Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

" - }, - "EnhancedVpcRouting":{ - "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.

" - } - }, - "documentation":"

" - }, - "ModifyClusterParameterGroupMessage":{ - "type":"structure", - "required":[ - "ParameterGroupName", - "Parameters" - ], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to be modified.

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

An array of parameters to be modified. A maximum of 20 parameters can be modified in a single request.

For each parameter to be modified, you must supply at least the parameter name and parameter value; other name-value pairs of the parameter are optional.

For the workload management (WLM) configuration, you must supply all the name-value pairs in the wlm_json_configuration parameter.

" - } - }, - "documentation":"

" - }, - "ModifyClusterResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "ModifyClusterSubnetGroupMessage":{ - "type":"structure", - "required":[ - "ClusterSubnetGroupName", - "SubnetIds" - ], - "members":{ - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group to be modified.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A text description of the subnet group to be modified.

" - }, - "SubnetIds":{ - "shape":"SubnetIdentifierList", - "documentation":"

An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.

" - } - }, - "documentation":"

" - }, - "ModifyClusterSubnetGroupResult":{ - "type":"structure", - "members":{ - "ClusterSubnetGroup":{"shape":"ClusterSubnetGroup"} - } - }, - "ModifyEventSubscriptionMessage":{ - "type":"structure", - "required":["SubscriptionName"], - "members":{ - "SubscriptionName":{ - "shape":"String", - "documentation":"

The name of the modified Amazon Redshift event notification subscription.

" - }, - "SnsTopicArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification subscription.

" - }, - "SourceType":{ - "shape":"String", - "documentation":"

The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

Valid values: cluster, cluster-parameter-group, cluster-security-group, and cluster-snapshot.

" - }, - "SourceIds":{ - "shape":"SourceIdsList", - "documentation":"

A list of one or more identifiers of Amazon Redshift source objects. All of the objects must be of the same type as was specified in the source type parameter. The event subscription will return only events generated by the specified objects. If not specified, then events are returned for all objects within the source type specified.

Example: my-cluster-1, my-cluster-2

Example: my-snapshot-20131010

" - }, - "EventCategories":{ - "shape":"EventCategoriesList", - "documentation":"

Specifies the Amazon Redshift event categories to be published by the event notification subscription.

Values: Configuration, Management, Monitoring, Security

" - }, - "Severity":{ - "shape":"String", - "documentation":"

Specifies the Amazon Redshift event severity to be published by the event notification subscription.

Values: ERROR, INFO

" - }, - "Enabled":{ - "shape":"BooleanOptional", - "documentation":"

A Boolean value indicating if the subscription is enabled. true indicates the subscription is enabled

" - } - }, - "documentation":"

" - }, - "ModifyEventSubscriptionResult":{ - "type":"structure", - "members":{ - "EventSubscription":{"shape":"EventSubscription"} - } - }, - "ModifySnapshotCopyRetentionPeriodMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "RetentionPeriod" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster for which you want to change the retention period for automated snapshots that are copied to a destination region.

Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.

" - }, - "RetentionPeriod":{ - "shape":"Integer", - "documentation":"

The number of days to retain automated snapshots in the destination region after they are copied from the source region.

If you decrease the retention period for automated snapshots that are copied to a destination region, Amazon Redshift will delete any existing automated snapshots that were copied to the destination region and that fall outside of the new retention period.

Constraints: Must be at least 1 and no more than 35.

" - } - }, - "documentation":"

" - }, - "ModifySnapshotCopyRetentionPeriodResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "NumberOfNodesPerClusterLimitExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation would exceed the number of nodes allowed for a cluster.

", - "error":{ - "code":"NumberOfNodesPerClusterLimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NumberOfNodesQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"NumberOfNodesQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "OrderableClusterOption":{ - "type":"structure", - "members":{ - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version of the orderable cluster.

" - }, - "ClusterType":{ - "shape":"String", - "documentation":"

The cluster type, for example multi-node.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type for the orderable cluster.

" - }, - "AvailabilityZones":{ - "shape":"AvailabilityZoneList", - "documentation":"

A list of availability zones for the orderable cluster.

" - } - }, - "documentation":"

Describes an orderable cluster option.

", - "wrapper":true - }, - "OrderableClusterOptionsList":{ - "type":"list", - "member":{ - "shape":"OrderableClusterOption", - "locationName":"OrderableClusterOption" - } - }, - "OrderableClusterOptionsMessage":{ - "type":"structure", - "members":{ - "OrderableClusterOptions":{ - "shape":"OrderableClusterOptionsList", - "documentation":"

An OrderableClusterOption structure containing information about orderable options for the cluster.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - } - }, - "documentation":"

Contains the output from the DescribeOrderableClusterOptions action.

" - }, - "Parameter":{ - "type":"structure", - "members":{ - "ParameterName":{ - "shape":"String", - "documentation":"

The name of the parameter.

" - }, - "ParameterValue":{ - "shape":"String", - "documentation":"

The value of the parameter.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A description of the parameter.

" - }, - "Source":{ - "shape":"String", - "documentation":"

The source of the parameter value, such as \"engine-default\" or \"user\".

" - }, - "DataType":{ - "shape":"String", - "documentation":"

The data type of the parameter.

" - }, - "AllowedValues":{ - "shape":"String", - "documentation":"

The valid range of values for the parameter.

" - }, - "ApplyType":{ - "shape":"ParameterApplyType", - "documentation":"

Specifies how to apply the WLM configuration parameter. Some properties can be applied dynamically, while other properties require that any associated clusters be rebooted for the configuration changes to be applied. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

" - }, - "IsModifiable":{ - "shape":"Boolean", - "documentation":"

If true, the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" - }, - "MinimumEngineVersion":{ - "shape":"String", - "documentation":"

The earliest engine version to which the parameter can apply.

" - } - }, - "documentation":"

Describes a parameter in a cluster parameter group.

" - }, - "ParameterApplyType":{ - "type":"string", - "enum":[ - "static", - "dynamic" - ] - }, - "ParameterGroupList":{ - "type":"list", - "member":{ - "shape":"ClusterParameterGroup", - "locationName":"ClusterParameterGroup" - } - }, - "ParametersList":{ - "type":"list", - "member":{ - "shape":"Parameter", - "locationName":"Parameter" - } - }, - "PendingActionsList":{ - "type":"list", - "member":{"shape":"String"} - }, - "PendingModifiedValues":{ - "type":"structure", - "members":{ - "MasterUserPassword":{ - "shape":"String", - "documentation":"

The pending or in-progress change of the master user password for the cluster.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The pending or in-progress change of the cluster's node type.

" - }, - "NumberOfNodes":{ - "shape":"IntegerOptional", - "documentation":"

The pending or in-progress change of the number of nodes in the cluster.

" - }, - "ClusterType":{ - "shape":"String", - "documentation":"

The pending or in-progress change of the cluster type.

" - }, - "ClusterVersion":{ - "shape":"String", - "documentation":"

The pending or in-progress change of the service version.

" - }, - "AutomatedSnapshotRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The pending or in-progress change of the automated snapshot retention period.

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The pending or in-progress change of the new identifier for the cluster.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

The pending or in-progress change of the ability to connect to the cluster from the public network.

" - }, - "EnhancedVpcRouting":{ - "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track that the cluster will change to during the next maintenance window.

" - } - }, - "documentation":"

Describes cluster attributes that are in a pending state. A change to one or more the attributes was requested and is in progress or will be applied.

" - }, - "PurchaseReservedNodeOfferingMessage":{ - "type":"structure", - "required":["ReservedNodeOfferingId"], - "members":{ - "ReservedNodeOfferingId":{ - "shape":"String", - "documentation":"

The unique identifier of the reserved node offering you want to purchase.

" - }, - "NodeCount":{ - "shape":"IntegerOptional", - "documentation":"

The number of reserved nodes that you want to purchase.

Default: 1

" - } - }, - "documentation":"

" - }, - "PurchaseReservedNodeOfferingResult":{ - "type":"structure", - "members":{ - "ReservedNode":{"shape":"ReservedNode"} - } - }, - "RebootClusterMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The cluster identifier.

" - } - }, - "documentation":"

" - }, - "RebootClusterResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "RecurringCharge":{ - "type":"structure", - "members":{ - "RecurringChargeAmount":{ - "shape":"Double", - "documentation":"

The amount charged per the period of time specified by the recurring charge frequency.

" - }, - "RecurringChargeFrequency":{ - "shape":"String", - "documentation":"

The frequency at which the recurring charge amount is applied.

" - } - }, - "documentation":"

Describes a recurring charge.

", - "wrapper":true - }, - "RecurringChargeList":{ - "type":"list", - "member":{ - "shape":"RecurringCharge", - "locationName":"RecurringCharge" - } - }, - "ReservedNode":{ - "type":"structure", - "members":{ - "ReservedNodeId":{ - "shape":"String", - "documentation":"

The unique identifier for the reservation.

" - }, - "ReservedNodeOfferingId":{ - "shape":"String", - "documentation":"

The identifier for the reserved node offering.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type of the reserved node.

" - }, - "StartTime":{ - "shape":"TStamp", - "documentation":"

The time the reservation started. You purchase a reserved node offering for a duration. This is the start time of that duration.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration of the node reservation in seconds.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The fixed cost Amazon Redshift charges you for this reserved node.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The hourly rate Amazon Redshift charges you for this reserved node.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the reserved cluster.

" - }, - "NodeCount":{ - "shape":"Integer", - "documentation":"

The number of reserved compute nodes.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of the reserved compute node.

Possible Values:

  • pending-payment-This reserved node has recently been purchased, and the sale has been approved, but payment has not yet been confirmed.

  • active-This reserved node is owned by the caller and is available for use.

  • payment-failed-Payment failed for the purchase attempt.

  • retired-The reserved node is no longer available.

  • exchanging-The owner is exchanging the reserved node for another reserved node.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The anticipated utilization of the reserved node, as defined in the reserved node offering.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The recurring charges for the reserved node.

" - }, - "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} - }, - "documentation":"

Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings.

", - "wrapper":true - }, - "ReservedNodeAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

User already has a reservation with the given identifier.

", - "error":{ - "code":"ReservedNodeAlreadyExists", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedNodeAlreadyMigratedFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the reserved node has already been exchanged.

", - "error":{ - "code":"ReservedNodeAlreadyMigrated", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedNodeList":{ - "type":"list", - "member":{ - "shape":"ReservedNode", - "locationName":"ReservedNode" - } - }, - "ReservedNodeNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified reserved compute node not found.

", - "error":{ - "code":"ReservedNodeNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedNodeOffering":{ - "type":"structure", - "members":{ - "ReservedNodeOfferingId":{ - "shape":"String", - "documentation":"

The offering identifier.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type offered by the reserved node offering.

" - }, - "Duration":{ - "shape":"Integer", - "documentation":"

The duration, in seconds, for which the offering will reserve the node.

" - }, - "FixedPrice":{ - "shape":"Double", - "documentation":"

The upfront fixed charge you will pay to purchase the specific reserved node offering.

" - }, - "UsagePrice":{ - "shape":"Double", - "documentation":"

The rate you are charged for each hour the cluster that is using the offering is running.

" - }, - "CurrencyCode":{ - "shape":"String", - "documentation":"

The currency code for the compute nodes offering.

" - }, - "OfferingType":{ - "shape":"String", - "documentation":"

The anticipated utilization of the reserved node, as defined in the reserved node offering.

" - }, - "RecurringCharges":{ - "shape":"RecurringChargeList", - "documentation":"

The charge to your account regardless of whether you are creating any clusters using the node offering. Recurring charges are only in effect for heavy-utilization reserved nodes.

" - }, - "ReservedNodeOfferingType":{"shape":"ReservedNodeOfferingType"} - }, - "documentation":"

Describes a reserved node offering.

", - "wrapper":true - }, - "ReservedNodeOfferingList":{ - "type":"list", - "member":{ - "shape":"ReservedNodeOffering", - "locationName":"ReservedNodeOffering" - } - }, - "ReservedNodeOfferingNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Specified offering does not exist.

", - "error":{ - "code":"ReservedNodeOfferingNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ReservedNodeOfferingType":{ - "type":"string", - "enum":[ - "Regular", - "Upgradable" - ] - }, - "ReservedNodeOfferingsMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ReservedNodeOfferings":{ - "shape":"ReservedNodeOfferingList", - "documentation":"

A list of ReservedNodeOffering objects.

" - } - }, - "documentation":"

" - }, - "ReservedNodeQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request would exceed the user's compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

", - "error":{ - "code":"ReservedNodeQuotaExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ReservedNodesMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "ReservedNodes":{ - "shape":"ReservedNodeList", - "documentation":"

The list of ReservedNode objects.

" - } - }, - "documentation":"

" - }, - "ResetClusterParameterGroupMessage":{ - "type":"structure", - "required":["ParameterGroupName"], - "members":{ - "ParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the cluster parameter group to be reset.

" - }, - "ResetAllParameters":{ - "shape":"Boolean", - "documentation":"

If true, all parameters in the specified parameter group will be reset to their default values.

Default: true

" - }, - "Parameters":{ - "shape":"ParametersList", - "documentation":"

An array of names of parameters to be reset. If ResetAllParameters option is not used, then at least one parameter name must be supplied.

Constraints: A maximum of 20 parameters can be reset in a single request.

" - } - }, - "documentation":"

" - }, - "ResizeClusterMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "NumberOfNodes" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier for the cluster to resize.

" - }, - "ClusterType":{ - "shape":"String", - "documentation":"

The new cluster type for the specified cluster.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The new node type for the nodes you are adding.

" - }, - "NumberOfNodes":{ - "shape":"Integer", - "documentation":"

The new number of nodes for the cluster.

" - }, - "Classic":{ - "shape":"BooleanOptional", - "documentation":"

A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false the resize type is elastic.

" - } - } - }, - "ResizeClusterResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "ResizeNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A resize operation for the specified cluster is not found.

", - "error":{ - "code":"ResizeNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "ResizeProgressMessage":{ - "type":"structure", - "members":{ - "TargetNodeType":{ - "shape":"String", - "documentation":"

The node type that the cluster will have after the resize operation is complete.

" - }, - "TargetNumberOfNodes":{ - "shape":"IntegerOptional", - "documentation":"

The number of nodes that the cluster will have after the resize operation is complete.

" - }, - "TargetClusterType":{ - "shape":"String", - "documentation":"

The cluster type after the resize operation is complete.

Valid Values: multi-node | single-node

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the resize operation.

Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED

" - }, - "ImportTablesCompleted":{ - "shape":"ImportTablesCompleted", - "documentation":"

The names of tables that have been completely imported .

Valid Values: List of table names.

" - }, - "ImportTablesInProgress":{ - "shape":"ImportTablesInProgress", - "documentation":"

The names of tables that are being currently imported.

Valid Values: List of table names.

" - }, - "ImportTablesNotStarted":{ - "shape":"ImportTablesNotStarted", - "documentation":"

The names of tables that have not been yet imported.

Valid Values: List of table names

" - }, - "AvgResizeRateInMegaBytesPerSecond":{ - "shape":"DoubleOptional", - "documentation":"

The average rate of the resize operation over the last few minutes, measured in megabytes per second. After the resize operation completes, this value shows the average rate of the entire resize operation.

" - }, - "TotalResizeDataInMegaBytes":{ - "shape":"LongOptional", - "documentation":"

The estimated total amount of data, in megabytes, on the cluster before the resize operation began.

" - }, - "ProgressInMegaBytes":{ - "shape":"LongOptional", - "documentation":"

While the resize operation is in progress, this value shows the current amount of data, in megabytes, that has been processed so far. When the resize operation is complete, this value shows the total amount of data, in megabytes, on the cluster, which may be more or less than TotalResizeDataInMegaBytes (the estimated total amount of data before resize).

" - }, - "ElapsedTimeInSeconds":{ - "shape":"LongOptional", - "documentation":"

The amount of seconds that have elapsed since the resize operation began. After the resize operation completes, this value shows the total actual time, in seconds, for the resize operation.

" - }, - "EstimatedTimeToCompletionInSeconds":{ - "shape":"LongOptional", - "documentation":"

The estimated time remaining, in seconds, until the resize operation is complete. This value is calculated based on the average resize rate and the estimated amount of data remaining to be processed. Once the resize operation is complete, this value will be 0.

" - }, - "ResizeType":{ - "shape":"String", - "documentation":"

An enum with possible values of ClassicResize and ElasticResize. These values describe the type of resize operation being performed.

" - }, - "Message":{ - "shape":"String", - "documentation":"

An optional string to provide additional details about the resize action.

" - } - }, - "documentation":"

Describes the result of a cluster resize operation.

" - }, - "ResourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The resource could not be found.

", - "error":{ - "code":"ResourceNotFoundFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "RestorableNodeTypeList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"NodeType" - } - }, - "RestoreFromClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "SnapshotIdentifier" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster that will be created from restoring the snapshot.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • Alphabetic characters must be lowercase.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

  • Must be unique for all clusters within an AWS account.

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The name of the snapshot from which to create the new cluster. This parameter isn't case sensitive.

Example: my-snapshot-id

" - }, - "SnapshotClusterIdentifier":{ - "shape":"String", - "documentation":"

The name of the cluster the source snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

" - }, - "Port":{ - "shape":"IntegerOptional", - "documentation":"

The port number on which the cluster accepts connections.

Default: The same port as the original cluster.

Constraints: Must be between 1115 and 65535.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Amazon EC2 Availability Zone in which to restore the cluster.

Default: A random, system-chosen Availability Zone.

Example: us-east-1a

" - }, - "AllowVersionUpgrade":{ - "shape":"BooleanOptional", - "documentation":"

If true, major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster.

Default: true

" - }, - "ClusterSubnetGroupName":{ - "shape":"String", - "documentation":"

The name of the subnet group where you want to cluster restored.

A snapshot of cluster in VPC can be restored only in VPC. Therefore, you must provide subnet group name where you want the cluster restored.

" - }, - "PubliclyAccessible":{ - "shape":"BooleanOptional", - "documentation":"

If true, the cluster can be accessed from a public network.

" - }, - "OwnerAccount":{ - "shape":"String", - "documentation":"

The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

" - }, - "HsmClientCertificateIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM client certificate the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.

" - }, - "HsmConfigurationIdentifier":{ - "shape":"String", - "documentation":"

Specifies the name of the HSM configuration that contains the information the Amazon Redshift cluster can use to retrieve and store keys in an HSM.

" - }, - "ElasticIp":{ - "shape":"String", - "documentation":"

The elastic IP (EIP) address for the cluster.

" - }, - "ClusterParameterGroupName":{ - "shape":"String", - "documentation":"

The name of the parameter group to be associated with this cluster.

Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

Constraints:

  • Must be 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" - }, - "ClusterSecurityGroups":{ - "shape":"ClusterSecurityGroupNameList", - "documentation":"

A list of security groups to be associated with this cluster.

Default: The default cluster security group for Amazon Redshift.

Cluster security groups only apply to clusters outside of VPCs.

" - }, - "VpcSecurityGroupIds":{ - "shape":"VpcSecurityGroupIdList", - "documentation":"

A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.

Default: The default VPC security group is associated with the cluster.

VPC security groups only apply to clusters in VPCs.

" - }, - "PreferredMaintenanceWindow":{ - "shape":"String", - "documentation":"

The weekly time range (in UTC) during which automated cluster maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi

Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Minimum 30-minute window.

" - }, - "AutomatedSnapshotRetentionPeriod":{ - "shape":"IntegerOptional", - "documentation":"

The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

Default: The value selected for the cluster from which the snapshot was taken.

Constraints: Must be a value from 0 to 35.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster that you restore from a shared snapshot.

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type that the restored cluster will be provisioned with.

Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlareg cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

" - }, - "EnhancedVpcRouting":{ - "shape":"BooleanOptional", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "AdditionalInfo":{ - "shape":"String", - "documentation":"

Reserved.

" - }, - "IamRoles":{ - "shape":"IamRoleArnList", - "documentation":"

A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request.

A cluster can have up to 10 IAM roles associated at any time.

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.

" - } - }, - "documentation":"

" - }, - "RestoreFromClusterSnapshotResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "RestoreStatus":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

The status of the restore action. Returns starting, restoring, completed, or failed.

" - }, - "CurrentRestoreRateInMegaBytesPerSecond":{ - "shape":"Double", - "documentation":"

The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup.

" - }, - "SnapshotSizeInMegaBytes":{ - "shape":"Long", - "documentation":"

The size of the set of snapshot data used to restore the cluster.

" - }, - "ProgressInMegaBytes":{ - "shape":"Long", - "documentation":"

The number of megabytes that have been transferred from snapshot storage.

" - }, - "ElapsedTimeInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish.

" - }, - "EstimatedTimeToCompletionInSeconds":{ - "shape":"Long", - "documentation":"

The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore.

" - } - }, - "documentation":"

Describes the status of a cluster restore action. Returns null if the cluster was not created by restoring a snapshot.

" - }, - "RestoreTableFromClusterSnapshotMessage":{ - "type":"structure", - "required":[ - "ClusterIdentifier", - "SnapshotIdentifier", - "SourceDatabaseName", - "SourceTableName", - "NewTableName" - ], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the Amazon Redshift cluster to restore the table to.

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the snapshot to restore the table from. This snapshot must have been created from the Amazon Redshift cluster specified by the ClusterIdentifier parameter.

" - }, - "SourceDatabaseName":{ - "shape":"String", - "documentation":"

The name of the source database that contains the table to restore from.

" - }, - "SourceSchemaName":{ - "shape":"String", - "documentation":"

The name of the source schema that contains the table to restore from. If you do not specify a SourceSchemaName value, the default is public.

" - }, - "SourceTableName":{ - "shape":"String", - "documentation":"

The name of the source table to restore from.

" - }, - "TargetDatabaseName":{ - "shape":"String", - "documentation":"

The name of the database to restore the table to.

" - }, - "TargetSchemaName":{ - "shape":"String", - "documentation":"

The name of the schema to restore the table to.

" - }, - "NewTableName":{ - "shape":"String", - "documentation":"

The name of the table to create as a result of the current request.

" - } - }, - "documentation":"

" - }, - "RestoreTableFromClusterSnapshotResult":{ - "type":"structure", - "members":{ - "TableRestoreStatus":{"shape":"TableRestoreStatus"} - } - }, - "RevisionTarget":{ - "type":"structure", - "members":{ - "DatabaseRevision":{ - "shape":"String", - "documentation":"

A unique string that identifies the version to update the cluster to. You can use this value in ModifyClusterDbRevision.

" - }, - "Description":{ - "shape":"String", - "documentation":"

A string that describes the changes and features that will be applied to the cluster when it is updated to the corresponding ClusterDbRevision.

" - }, - "DatabaseRevisionReleaseDate":{ - "shape":"TStamp", - "documentation":"

The date on which the database revision was released.

" - } - }, - "documentation":"

Describes a RevisionTarget.

" - }, - "RevisionTargetsList":{ - "type":"list", - "member":{ - "shape":"RevisionTarget", - "locationName":"RevisionTarget" - } - }, - "RevokeClusterSecurityGroupIngressMessage":{ - "type":"structure", - "required":["ClusterSecurityGroupName"], - "members":{ - "ClusterSecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the security Group from which to revoke the ingress rule.

" - }, - "CIDRIP":{ - "shape":"String", - "documentation":"

The IP range for which to revoke access. This range must be a valid Classless Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified, EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided.

" - }, - "EC2SecurityGroupName":{ - "shape":"String", - "documentation":"

The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName is specified, EC2SecurityGroupOwnerId must also be provided and CIDRIP cannot be provided.

" - }, - "EC2SecurityGroupOwnerId":{ - "shape":"String", - "documentation":"

The AWS account number of the owner of the security group specified in the EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must also be provided. and CIDRIP cannot be provided.

Example: 111122223333

" - } - }, - "documentation":"

" - }, - "RevokeClusterSecurityGroupIngressResult":{ - "type":"structure", - "members":{ - "ClusterSecurityGroup":{"shape":"ClusterSecurityGroup"} - } - }, - "RevokeSnapshotAccessMessage":{ - "type":"structure", - "required":[ - "SnapshotIdentifier", - "AccountWithRestoreAccess" - ], - "members":{ - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the snapshot that the account can no longer access.

" - }, - "SnapshotClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster the snapshot was created from. This parameter is required if your IAM user has a policy containing a snapshot resource element that specifies anything other than * for the cluster name.

" - }, - "AccountWithRestoreAccess":{ - "shape":"String", - "documentation":"

The identifier of the AWS customer account that can no longer restore the specified snapshot.

" - } - }, - "documentation":"

" - }, - "RevokeSnapshotAccessResult":{ - "type":"structure", - "members":{ - "Snapshot":{"shape":"Snapshot"} - } - }, - "RotateEncryptionKeyMessage":{ - "type":"structure", - "required":["ClusterIdentifier"], - "members":{ - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The unique identifier of the cluster that you want to rotate the encryption keys for.

Constraints: Must be the name of valid cluster that has encryption enabled.

" - } - }, - "documentation":"

" - }, - "RotateEncryptionKeyResult":{ - "type":"structure", - "members":{ - "Cluster":{"shape":"Cluster"} - } - }, - "SNSInvalidTopicFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Amazon SNS has responded that there is a problem with the specified Amazon SNS topic.

", - "error":{ - "code":"SNSInvalidTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSNoAuthorizationFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

You do not have permission to publish to the specified Amazon SNS topic.

", - "error":{ - "code":"SNSNoAuthorization", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SNSTopicArnNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.

", - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SensitiveString":{ - "type":"string", - "sensitive":true - }, - "Snapshot":{ - "type":"structure", - "members":{ - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The snapshot identifier that is provided in the request.

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the cluster for which the snapshot was taken.

" - }, - "SnapshotCreateTime":{ - "shape":"TStamp", - "documentation":"

The time (UTC) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The snapshot status. The value of the status depends on the API operation used.

" - }, - "Port":{ - "shape":"Integer", - "documentation":"

The port that the cluster is listening on.

" - }, - "AvailabilityZone":{ - "shape":"String", - "documentation":"

The Availability Zone in which the cluster was created.

" - }, - "ClusterCreateTime":{ - "shape":"TStamp", - "documentation":"

The time (UTC) when the cluster was originally created.

" - }, - "MasterUsername":{ - "shape":"String", - "documentation":"

The master user name for the cluster.

" - }, - "ClusterVersion":{ - "shape":"String", - "documentation":"

The version ID of the Amazon Redshift engine that is running on the cluster.

" - }, - "SnapshotType":{ - "shape":"String", - "documentation":"

The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot will be of type \"manual\".

" - }, - "NodeType":{ - "shape":"String", - "documentation":"

The node type of the nodes in the cluster.

" - }, - "NumberOfNodes":{ - "shape":"Integer", - "documentation":"

The number of nodes in the cluster.

" - }, - "DBName":{ - "shape":"String", - "documentation":"

The name of the database that was created when the cluster was created.

" - }, - "VpcId":{ - "shape":"String", - "documentation":"

The VPC identifier of the cluster if the snapshot is from a cluster in a VPC. Otherwise, this field is not in the output.

" - }, - "Encrypted":{ - "shape":"Boolean", - "documentation":"

If true, the data in the snapshot is encrypted at rest.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The AWS Key Management Service (KMS) key ID of the encryption key that was used to encrypt data in the cluster from which the snapshot was taken.

" - }, - "EncryptedWithHSM":{ - "shape":"Boolean", - "documentation":"

A boolean that indicates whether the snapshot data is encrypted using the HSM keys of the source cluster. true indicates that the data is encrypted using HSM keys.

" - }, - "AccountsWithRestoreAccess":{ - "shape":"AccountsWithRestoreAccessList", - "documentation":"

A list of the AWS customer accounts authorized to restore the snapshot. Returns null if no accounts are authorized. Visible only to the snapshot owner.

" - }, - "OwnerAccount":{ - "shape":"String", - "documentation":"

For manual snapshots, the AWS customer account used to create or copy the snapshot. For automatic snapshots, the owner of the cluster. The owner can perform all snapshot actions, such as sharing a manual snapshot.

" - }, - "TotalBackupSizeInMegaBytes":{ - "shape":"Double", - "documentation":"

The size of the complete set of backup data that would be used to restore the cluster.

" - }, - "ActualIncrementalBackupSizeInMegaBytes":{ - "shape":"Double", - "documentation":"

The size of the incremental backup.

" - }, - "BackupProgressInMegaBytes":{ - "shape":"Double", - "documentation":"

The number of megabytes that have been transferred to the snapshot backup.

" - }, - "CurrentBackupRateInMegaBytesPerSecond":{ - "shape":"Double", - "documentation":"

The number of megabytes per second being transferred to the snapshot backup. Returns 0 for a completed backup.

" - }, - "EstimatedSecondsToCompletion":{ - "shape":"Long", - "documentation":"

The estimate of the time remaining before the snapshot backup will complete. Returns 0 for a completed backup.

" - }, - "ElapsedTimeInSeconds":{ - "shape":"Long", - "documentation":"

The amount of time an in-progress snapshot backup has been running, or the amount of time it took a completed backup to finish.

" - }, - "SourceRegion":{ - "shape":"String", - "documentation":"

The source region from which the snapshot was copied.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The list of tags for the cluster snapshot.

" - }, - "RestorableNodeTypes":{ - "shape":"RestorableNodeTypeList", - "documentation":"

The list of node types that this cluster snapshot is able to restore into.

" - }, - "EnhancedVpcRouting":{ - "shape":"Boolean", - "documentation":"

An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

If this option is true, enhanced VPC routing is enabled.

Default: false

" - }, - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the maintenance track for the snapshot.

" - } - }, - "documentation":"

Describes a snapshot.

", - "wrapper":true - }, - "SnapshotCopyAlreadyDisabledFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster already has cross-region snapshot copy disabled.

", - "error":{ - "code":"SnapshotCopyAlreadyDisabledFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotCopyAlreadyEnabledFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The cluster already has cross-region snapshot copy enabled.

", - "error":{ - "code":"SnapshotCopyAlreadyEnabledFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotCopyDisabledFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

Cross-region snapshot copy was temporarily disabled. Try your request again.

", - "error":{ - "code":"SnapshotCopyDisabledFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotCopyGrant":{ - "type":"structure", - "members":{ - "SnapshotCopyGrantName":{ - "shape":"String", - "documentation":"

The name of the snapshot copy grant.

" - }, - "KmsKeyId":{ - "shape":"String", - "documentation":"

The unique identifier of the customer master key (CMK) in AWS KMS to which Amazon Redshift is granted permission.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tag instances.

" - } - }, - "documentation":"

The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified customer master key (CMK) from AWS KMS in the destination region.

For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

", - "wrapper":true - }, - "SnapshotCopyGrantAlreadyExistsFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The snapshot copy grant can't be created because a grant with the same name already exists.

", - "error":{ - "code":"SnapshotCopyGrantAlreadyExistsFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotCopyGrantList":{ - "type":"list", - "member":{ - "shape":"SnapshotCopyGrant", - "locationName":"SnapshotCopyGrant" - } - }, - "SnapshotCopyGrantMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeSnapshotCopyGrant request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

Constraints: You can specify either the SnapshotCopyGrantName parameter or the Marker parameter, but not both.

" - }, - "SnapshotCopyGrants":{ - "shape":"SnapshotCopyGrantList", - "documentation":"

The list of SnapshotCopyGrant objects.

" - } - }, - "documentation":"

" - }, - "SnapshotCopyGrantNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified snapshot copy grant can't be found. Make sure that the name is typed correctly and that the grant exists in the destination region.

", - "error":{ - "code":"SnapshotCopyGrantNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotCopyGrantQuotaExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The AWS account has exceeded the maximum number of snapshot copy grants in this region.

", - "error":{ - "code":"SnapshotCopyGrantQuotaExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SnapshotList":{ - "type":"list", - "member":{ - "shape":"Snapshot", - "locationName":"Snapshot" - } - }, - "SnapshotMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - }, - "Snapshots":{ - "shape":"SnapshotList", - "documentation":"

A list of Snapshot instances.

" - } - }, - "documentation":"

Contains the output from the DescribeClusterSnapshots action.

" - }, - "SourceIdsList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SourceId" - } - }, - "SourceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified Amazon Redshift event source could not be found.

", - "error":{ - "code":"SourceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SourceType":{ - "type":"string", - "enum":[ - "cluster", - "cluster-parameter-group", - "cluster-security-group", - "cluster-snapshot" - ] - }, - "String":{"type":"string"}, - "Subnet":{ - "type":"structure", - "members":{ - "SubnetIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the subnet.

" - }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, - "SubnetStatus":{ - "shape":"String", - "documentation":"

The status of the subnet.

" - } - }, - "documentation":"

Describes a subnet.

" - }, - "SubnetAlreadyInUse":{ - "type":"structure", - "members":{ - }, - "documentation":"

A specified subnet is already in use by another cluster.

", - "error":{ - "code":"SubnetAlreadyInUse", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubnetIdentifierList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } - }, - "SubnetList":{ - "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } - }, - "SubscriptionAlreadyExistFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is already an existing event notification subscription with the specified name.

", - "error":{ - "code":"SubscriptionAlreadyExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "SubscriptionCategoryNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The value specified for the event category was not one of the allowed values, or it specified a category that does not apply to the specified source type. The allowed values are Configuration, Management, Monitoring, and Security.

", - "error":{ - "code":"SubscriptionCategoryNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SubscriptionEventIdNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

An Amazon Redshift event with the specified event ID does not exist.

", - "error":{ - "code":"SubscriptionEventIdNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SubscriptionNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

An Amazon Redshift event notification subscription with the specified name does not exist.

", - "error":{ - "code":"SubscriptionNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SubscriptionSeverityNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The value specified for the event severity was not one of the allowed values, or it specified a severity that does not apply to the specified source type. The allowed values are ERROR and INFO.

", - "error":{ - "code":"SubscriptionSeverityNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "SupportedPlatform":{ - "type":"structure", - "members":{ - "Name":{"shape":"String"} - }, - "documentation":"

A list of supported platforms for orderable clusters.

", - "wrapper":true - }, - "SupportedPlatformsList":{ - "type":"list", - "member":{ - "shape":"SupportedPlatform", - "locationName":"SupportedPlatform" - } - }, - "TStamp":{"type":"timestamp"}, - "TableLimitExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of tables in the cluster exceeds the limit for the requested new cluster node type.

", - "error":{ - "code":"TableLimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TableRestoreNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified TableRestoreRequestId value was not found.

", - "error":{ - "code":"TableRestoreNotFoundFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TableRestoreStatus":{ - "type":"structure", - "members":{ - "TableRestoreRequestId":{ - "shape":"String", - "documentation":"

The unique identifier for the table restore request.

" - }, - "Status":{ - "shape":"TableRestoreStatusType", - "documentation":"

A value that describes the current state of the table restore request.

Valid Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS

" - }, - "Message":{ - "shape":"String", - "documentation":"

A description of the status of the table restore request. Status values include SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.

" - }, - "RequestTime":{ - "shape":"TStamp", - "documentation":"

The time that the table restore request was made, in Universal Coordinated Time (UTC).

" - }, - "ProgressInMegaBytes":{ - "shape":"LongOptional", - "documentation":"

The amount of data restored to the new table so far, in megabytes (MB).

" - }, - "TotalDataInMegaBytes":{ - "shape":"LongOptional", - "documentation":"

The total amount of data to restore to the new table, in megabytes (MB).

" - }, - "ClusterIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the Amazon Redshift cluster that the table is being restored to.

" - }, - "SnapshotIdentifier":{ - "shape":"String", - "documentation":"

The identifier of the snapshot that the table is being restored from.

" - }, - "SourceDatabaseName":{ - "shape":"String", - "documentation":"

The name of the source database that contains the table being restored.

" - }, - "SourceSchemaName":{ - "shape":"String", - "documentation":"

The name of the source schema that contains the table being restored.

" - }, - "SourceTableName":{ - "shape":"String", - "documentation":"

The name of the source table being restored.

" - }, - "TargetDatabaseName":{ - "shape":"String", - "documentation":"

The name of the database to restore the table to.

" - }, - "TargetSchemaName":{ - "shape":"String", - "documentation":"

The name of the schema to restore the table to.

" - }, - "NewTableName":{ - "shape":"String", - "documentation":"

The name of the table to create as a result of the table restore request.

" - } - }, - "documentation":"

Describes the status of a RestoreTableFromClusterSnapshot operation.

", - "wrapper":true - }, - "TableRestoreStatusList":{ - "type":"list", - "member":{ - "shape":"TableRestoreStatus", - "locationName":"TableRestoreStatus" - } - }, - "TableRestoreStatusMessage":{ - "type":"structure", - "members":{ - "TableRestoreStatusDetails":{ - "shape":"TableRestoreStatusList", - "documentation":"

A list of status details for one or more table restore requests.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A pagination token that can be used in a subsequent DescribeTableRestoreStatus request.

" - } - }, - "documentation":"

" - }, - "TableRestoreStatusType":{ - "type":"string", - "enum":[ - "PENDING", - "IN_PROGRESS", - "SUCCEEDED", - "FAILED", - "CANCELED" - ] - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"String", - "documentation":"

The key, or name, for the resource tag.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value for the resource tag.

" - } - }, - "documentation":"

A tag consisting of a name/value pair for a resource.

" - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"TagKey" - } - }, - "TagLimitExceededFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of tables in your source cluster exceeds the limit for the target cluster. Resize to a larger cluster node type.

", - "error":{ - "code":"TagLimitExceededFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "TagValueList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"TagValue" - } - }, - "TaggedResource":{ - "type":"structure", - "members":{ - "Tag":{ - "shape":"Tag", - "documentation":"

The tag for the resource.

" - }, - "ResourceName":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) with which the tag is associated. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

" - }, - "ResourceType":{ - "shape":"String", - "documentation":"

The type of resource with which the tag is associated. Valid resource types are:

  • Cluster

  • CIDR/IP

  • EC2 security group

  • Snapshot

  • Cluster security group

  • Subnet group

  • HSM connection

  • HSM certificate

  • Parameter group

For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

" - } - }, - "documentation":"

A tag and its associated resource.

" - }, - "TaggedResourceList":{ - "type":"list", - "member":{ - "shape":"TaggedResource", - "locationName":"TaggedResource" - } - }, - "TaggedResourceListMessage":{ - "type":"structure", - "members":{ - "TaggedResources":{ - "shape":"TaggedResourceList", - "documentation":"

A list of tags with their associated resources.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

" - } - }, - "documentation":"

" - }, - "TrackList":{ - "type":"list", - "member":{ - "shape":"MaintenanceTrack", - "locationName":"MaintenanceTrack" - } - }, - "TrackListMessage":{ - "type":"structure", - "members":{ - "MaintenanceTracks":{ - "shape":"TrackList", - "documentation":"

A list of maintenance tracks output by the DescribeClusterTracks operation.

" - }, - "Marker":{ - "shape":"String", - "documentation":"

The starting point to return a set of response tracklist records. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

" - } - } - }, - "UnauthorizedOperation":{ - "type":"structure", - "members":{ - }, - "documentation":"

Your account is not authorized to perform the requested operation.

", - "error":{ - "code":"UnauthorizedOperation", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UnknownSnapshotCopyRegionFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified region is incorrect or does not exist.

", - "error":{ - "code":"UnknownSnapshotCopyRegionFault", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "UnsupportedOperationFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested operation isn't supported.

", - "error":{ - "code":"UnsupportedOperation", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UnsupportedOptionFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

A request option was specified that is not supported.

", - "error":{ - "code":"UnsupportedOptionFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UpdateTarget":{ - "type":"structure", - "members":{ - "MaintenanceTrackName":{ - "shape":"String", - "documentation":"

The name of the new maintenance track.

" - }, - "DatabaseVersion":{ - "shape":"String", - "documentation":"

The cluster version for the new maintenance track.

" - } - }, - "documentation":"

A maintenance track that you can switch the current track to.

" - }, - "VpcSecurityGroupIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } - }, - "VpcSecurityGroupMembership":{ - "type":"structure", - "members":{ - "VpcSecurityGroupId":{ - "shape":"String", - "documentation":"

The identifier of the VPC security group.

" - }, - "Status":{ - "shape":"String", - "documentation":"

The status of the VPC security group.

" - } - }, - "documentation":"

Describes the members of a VPC security group.

" - }, - "VpcSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroup" - } - } - }, - "documentation":"Amazon Redshift

Overview

This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces.

Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers.

If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide.

If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/waiters-2.json deleted file mode 100644 index 164e9b0d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/redshift/2012-12-01/waiters-2.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "version": 2, - "waiters": { - "ClusterAvailable": { - "delay": 60, - "operation": "DescribeClusters", - "maxAttempts": 30, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Clusters[].ClusterStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "Clusters[].ClusterStatus" - }, - { - "expected": "ClusterNotFound", - "matcher": "error", - "state": "retry" - } - ] - }, - "ClusterDeleted": { - "delay": 60, - "operation": "DescribeClusters", - "maxAttempts": 30, - "acceptors": [ - { - "expected": "ClusterNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "Clusters[].ClusterStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "Clusters[].ClusterStatus" - } - ] - }, - "ClusterRestored": { - "operation": "DescribeClusters", - "maxAttempts": 30, - "delay": 60, - "acceptors": [ - { - "state": "success", - "matcher": "pathAll", - "argument": "Clusters[].RestoreStatus.Status", - "expected": "completed" - }, - { - "state": "failure", - "matcher": "pathAny", - "argument": "Clusters[].ClusterStatus", - "expected": "deleting" - } - ] - }, - "SnapshotAvailable": { - "delay": 15, - "operation": "DescribeClusterSnapshots", - "maxAttempts": 20, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "Snapshots[].Status" - }, - { - "expected": "failed", - "matcher": "pathAny", - "state": "failure", - "argument": "Snapshots[].Status" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "Snapshots[].Status" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/examples-1.json deleted file mode 100644 index 20b03280..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/examples-1.json +++ /dev/null @@ -1,651 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/paginators-1.json deleted file mode 100644 index ea009a1b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "ListCollections": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": [ - "CollectionIds", - "FaceModelVersions" - ] - }, - "ListFaces": { - "input_token": "NextToken", - "limit_key": "MaxResults", - "output_token": "NextToken", - "result_key": "Faces", - "non_aggregate_keys": [ - "FaceModelVersion" - ] - }, - "ListStreamProcessors": { - "result_key": "StreamProcessors", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/service-2.json deleted file mode 100644 index d516b881..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/rekognition/2016-06-27/service-2.json +++ /dev/null @@ -1,3120 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-06-27", - "endpointPrefix":"rekognition", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Rekognition", - "serviceId":"Rekognition", - "signatureVersion":"v4", - "targetPrefix":"RekognitionService", - "uid":"rekognition-2016-06-27" - }, - "operations":{ - "CompareFaces":{ - "name":"CompareFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CompareFacesRequest"}, - "output":{"shape":"CompareFacesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Compares a face in the source input image with each of the 100 largest faces detected in the target input image.

If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image.

You pass the input and target images either as base64-encoded image bytes or as a references to images in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter.

CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value.

If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation.

If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error.

This is a stateless API operation. That is, data returned by this operation doesn't persist.

For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:CompareFaces action.

" - }, - "CreateCollection":{ - "name":"CreateCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCollectionRequest"}, - "output":{"shape":"CreateCollectionResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceAlreadyExistsException"} - ], - "documentation":"

Creates a collection in an AWS Region. You can add faces to the collection using the 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.

This operation requires permissions to perform the rekognition:CreateCollection action.

" - }, - "CreateStreamProcessor":{ - "name":"CreateStreamProcessor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStreamProcessorRequest"}, - "output":{"shape":"CreateStreamProcessorResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams.

You provide as input a Kinesis video stream (Input) and a Kinesis data stream (Output) stream. You also specify the face recognition criteria in Settings. For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling with the Name field.

After you have finished analyzing a streaming video, use to stop processing. You can delete the stream processor by calling .

" - }, - "DeleteCollection":{ - "name":"DeleteCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCollectionRequest"}, - "output":{"shape":"DeleteCollectionResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes the specified collection. Note that this operation removes all faces in the collection. For an example, see delete-collection-procedure.

This operation requires permissions to perform the rekognition:DeleteCollection action.

" - }, - "DeleteFaces":{ - "name":"DeleteFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFacesRequest"}, - "output":{"shape":"DeleteFacesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes faces from a collection. You specify a collection ID and an array of face IDs to remove from the collection.

This operation requires permissions to perform the rekognition:DeleteFaces action.

" - }, - "DeleteStreamProcessor":{ - "name":"DeleteStreamProcessor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStreamProcessorRequest"}, - "output":{"shape":"DeleteStreamProcessorResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Deletes the stream processor identified by Name. You assign the value for Name when you create the stream processor with . You might not be able to use the same name for a stream processor for a few seconds after calling DeleteStreamProcessor.

" - }, - "DescribeCollection":{ - "name":"DescribeCollection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCollectionRequest"}, - "output":{"shape":"DescribeCollectionResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the specified collection. You can use DescribeCollection to get information, such as the number of faces indexed into a collection and the version of the model used by the collection for face detection.

For more information, see Describing a Collection in the Amazon Rekognition Developer Guide.

" - }, - "DescribeStreamProcessor":{ - "name":"DescribeStreamProcessor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStreamProcessorRequest"}, - "output":{"shape":"DescribeStreamProcessorResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Provides information about a stream processor created by . You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor.

" - }, - "DetectFaces":{ - "name":"DetectFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectFacesRequest"}, - "output":{"shape":"DetectFacesResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Detects faces within an image that is provided as input.

DetectFaces detects the 100 largest faces in the image. For each face detected, the operation returns face details including a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), gender, presence of beard, sunglasses, etc.

The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm may not detect the faces or might detect faces with lower confidence.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectFaces action.

" - }, - "DetectLabels":{ - "name":"DetectLabels", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectLabelsRequest"}, - "output":{"shape":"DetectLabelsResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide.

DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response 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.

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 Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

" - }, - "DetectText":{ - "name":"DetectText", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DetectTextRequest"}, - "output":{"shape":"DetectTextResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see DetectText in the Amazon Rekognition Developer Guide.

" - }, - "GetCelebrityInfo":{ - "name":"GetCelebrityInfo", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCelebrityInfoRequest"}, - "output":{"shape":"GetCelebrityInfoResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets the name and additional information about a celebrity based on his or her Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty.

For more information, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:GetCelebrityInfo action.

" - }, - "GetCelebrityRecognition":{ - "name":"GetCelebrityRecognition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCelebrityRecognitionRequest"}, - "output":{"shape":"GetCelebrityRecognitionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by .

Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of objects. Each CelebrityRecognition contains information about the celebrity in a object and the time, Timestamp, the celebrity was detected.

GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling with the celebrity identifer.

No information is returned for faces not recognized as celebrities.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition.

" - }, - "GetContentModeration":{ - "name":"GetContentModeration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContentModerationRequest"}, - "output":{"shape":"GetContentModerationResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets the content moderation analysis results for a Amazon Rekognition Video analysis started by .

Content moderation analysis of a video is an asynchronous operation. You start analysis by calling . which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide.

GetContentModeration returns detected content moderation labels, and the time they are detected, in an array, ModerationLabels, of objects.

By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter.

Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

" - }, - "GetFaceDetection":{ - "name":"GetFaceDetection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetFaceDetectionRequest"}, - "output":{"shape":"GetFaceDetectionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets face detection results for a Amazon Rekognition Video analysis started by .

Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceDetection.

GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection.

" - }, - "GetFaceSearch":{ - "name":"GetFaceSearch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetFaceSearchRequest"}, - "output":{"shape":"GetFaceSearchResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets the face search results for Amazon Rekognition Video face search started by . The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video.

Face search in a video is an asynchronous operation. You start face search by calling to which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch.

For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

The search results are retured in an array, Persons, of objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video.

GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter.

" - }, - "GetLabelDetection":{ - "name":"GetLabelDetection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLabelDetectionRequest"}, - "output":{"shape":"GetLabelDetectionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets the label detection results of a Amazon Rekognition Video analysis started by .

The label detection operation is started by a call to which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter.

The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

" - }, - "GetPersonTracking":{ - "name":"GetPersonTracking", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPersonTrackingRequest"}, - "output":{"shape":"GetPersonTrackingResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Gets the person tracking results of a Amazon Rekognition Video analysis started by .

The person detection operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the person detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

To get the results of the person tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartPersonTracking.

GetPersonTracking returns an array, Persons, of tracked persons and the time(s) they were tracked in the video.

GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the array is sorted by the time(s) a person is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

" - }, - "IndexFaces":{ - "name":"IndexFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"IndexFacesRequest"}, - "output":{"shape":"IndexFacesResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Detects faces in the input image and adds them to the specified collection.

Amazon Rekognition 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.

To get the number of faces in a collection, call .

If you are using version 1.0 of the face detection model, IndexFaces indexes the 15 largest faces in the input image. Later versions of the face detection model index the 100 largest faces in the input image. To determine which version of the model you are using, call and supply the collection ID. You also get the model version from the value of FaceModelVersion in the response from IndexFaces.

For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the 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 mouth) 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 more information, see Adding Faces to a Collection in the Amazon Rekognition Developer Guide.

The input image is passed either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

This operation requires permissions to perform the rekognition:IndexFaces action.

" - }, - "ListCollections":{ - "name":"ListCollections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCollectionsRequest"}, - "output":{"shape":"ListCollectionsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns list of collection IDs in your account. If the result is truncated, the response also provides a NextToken that you can use in the subsequent request to fetch the next set of collection IDs.

For an example, see Listing Collections in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:ListCollections action.

" - }, - "ListFaces":{ - "name":"ListFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFacesRequest"}, - "output":{"shape":"ListFacesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see Listing Faces in a Collection in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:ListFaces action.

" - }, - "ListStreamProcessors":{ - "name":"ListStreamProcessors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStreamProcessorsRequest"}, - "output":{"shape":"ListStreamProcessorsResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPaginationTokenException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Gets a list of stream processors that you have created with .

" - }, - "RecognizeCelebrities":{ - "name":"RecognizeCelebrities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RecognizeCelebritiesRequest"}, - "output":{"shape":"RecognizeCelebritiesResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidImageFormatException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

RecognizeCelebrities returns the 100 largest faces in the image. It lists recognized celebrities in the CelebrityFaces array and unrecognized faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose faces are not amongst the largest 100 faces in the image.

For each celebrity recognized, the RecognizeCelebrities returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image.

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.

You pass the imput image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

" - }, - "SearchFaces":{ - "name":"SearchFaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchFacesRequest"}, - "output":{"shape":"SearchFacesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

For a given input face ID, searches for matching faces in the collection the face belongs to. You get a face ID when you add a face to the collection using the IndexFaces operation. The operation compares the features of the input face with faces in the specified collection.

You can also search faces without indexing faces by using the SearchFacesByImage operation.

The operation response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match that is found. Along with the metadata, the response also includes a confidence value for each face match, indicating the confidence that the specific face matches the input face.

For an example, see Searching for a Face Using Its Face ID in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:SearchFaces action.

" - }, - "SearchFacesByImage":{ - "name":"SearchFacesByImage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchFacesByImageRequest"}, - "output":{"shape":"SearchFacesByImageResponse"}, - "errors":[ - {"shape":"InvalidS3ObjectException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ImageTooLargeException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidImageFormatException"} - ], - "documentation":"

For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection.

To search for all faces in an input image, you might first call the operation, and then use the face IDs returned in subsequent calls to the operation.

You can also call the DetectFaces operation and use the bounding boxes in the response to make face crops, which then you can pass in to the SearchFacesByImage operation.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the Amazon CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a similarity indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image.

For an example, Searching for a Face Using an Image in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:SearchFacesByImage action.

" - }, - "StartCelebrityRecognition":{ - "name":"StartCelebrityRecognition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartCelebrityRecognitionRequest"}, - "output":{"shape":"StartCelebrityRecognitionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts asynchronous recognition of celebrities in a stored video.

Amazon Rekognition Video can detect celebrities in a video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartCelebrityRecognition returns a job identifier (JobId) which you use to get the results of the analysis. When celebrity recognition analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartCelebrityRecognition.

For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

", - "idempotent":true - }, - "StartContentModeration":{ - "name":"StartContentModeration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartContentModerationRequest"}, - "output":{"shape":"StartContentModerationResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts asynchronous detection of explicit or suggestive adult content in a stored video.

Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When content moderation analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the content moderation analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

", - "idempotent":true - }, - "StartFaceDetection":{ - "name":"StartFaceDetection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartFaceDetectionRequest"}, - "output":{"shape":"StartFaceDetectionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts asynchronous detection of faces in a stored video.

Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceDetection.

For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide.

", - "idempotent":true - }, - "StartFaceSearch":{ - "name":"StartFaceSearch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartFaceSearchRequest"}, - "output":{"shape":"StartFaceSearchResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see procedure-person-search-videos.

", - "idempotent":true - }, - "StartLabelDetection":{ - "name":"StartLabelDetection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartLabelDetectionRequest"}, - "output":{"shape":"StartLabelDetectionResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartLabelDetection.

", - "idempotent":true - }, - "StartPersonTracking":{ - "name":"StartPersonTracking", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartPersonTrackingRequest"}, - "output":{"shape":"StartPersonTrackingResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"IdempotentParameterMismatchException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidS3ObjectException"}, - {"shape":"InternalServerError"}, - {"shape":"VideoTooLargeException"}, - {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"LimitExceededException"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Starts the asynchronous tracking of persons in a stored video.

Amazon Rekognition Video can track persons in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call and pass the job identifier (JobId) from the initial call to StartPersonTracking.

", - "idempotent":true - }, - "StartStreamProcessor":{ - "name":"StartStreamProcessor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartStreamProcessorRequest"}, - "output":{"shape":"StartStreamProcessorResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Starts processing a stream processor. You create a stream processor by calling . To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor.

" - }, - "StopStreamProcessor":{ - "name":"StopStreamProcessor", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopStreamProcessorRequest"}, - "output":{"shape":"StopStreamProcessorResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"InternalServerError"}, - {"shape":"ThrottlingException"}, - {"shape":"InvalidParameterException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ProvisionedThroughputExceededException"} - ], - "documentation":"

Stops a running stream processor that was created by .

" - } - }, - "shapes":{ - "AccessDeniedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

You are not authorized to perform the action.

", - "exception":true - }, - "AgeRange":{ - "type":"structure", - "members":{ - "Low":{ - "shape":"UInteger", - "documentation":"

The lowest estimated age.

" - }, - "High":{ - "shape":"UInteger", - "documentation":"

The highest estimated age.

" - } - }, - "documentation":"

Structure containing the estimated age range, in years, for a face.

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":[ - "DEFAULT", - "ALL" - ] - }, - "Attributes":{ - "type":"list", - "member":{"shape":"Attribute"} - }, - "Beard":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the face has beard or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the face has a beard, and the confidence level in the determination.

" - }, - "Boolean":{"type":"boolean"}, - "BoundingBox":{ - "type":"structure", - "members":{ - "Width":{ - "shape":"Float", - "documentation":"

Width of the bounding box as a ratio of the overall image width.

" - }, - "Height":{ - "shape":"Float", - "documentation":"

Height of the bounding box as a ratio of the overall image height.

" - }, - "Left":{ - "shape":"Float", - "documentation":"

Left coordinate of the bounding box as a ratio of overall image width.

" - }, - "Top":{ - "shape":"Float", - "documentation":"

Top coordinate of the bounding box as a ratio of overall image height.

" - } - }, - "documentation":"

Identifies the bounding box around the face or text. The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

The top and left values returned are ratios of the overall image size. For example, if the input image is 700x200 pixels, and the top-left coordinate of the bounding box is 350x50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

The width and height values represent the dimensions of the bounding box as a ratio of the overall image dimension. For example, if the input image is 700x200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

The bounding box coordinates can have negative values. For example, if Amazon Rekognition is able to detect a face that is at the image edge and is only partially visible, the service can return coordinates that are outside the image bounds and, depending on the image edge, you might get negative values or values greater than 1 for the left or top values.

" - }, - "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.

" - }, - "CelebrityDetail":{ - "type":"structure", - "members":{ - "Urls":{ - "shape":"Urls", - "documentation":"

An array of URLs pointing to additional celebrity information.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the celebrity.

" - }, - "Id":{ - "shape":"RekognitionUniqueId", - "documentation":"

The unique identifier for the celebrity.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

" - }, - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

Bounding box around the body of a celebrity.

" - }, - "Face":{ - "shape":"FaceDetail", - "documentation":"

Face details for the recognized celebrity.

" - } - }, - "documentation":"

Information about a recognized celebrity.

" - }, - "CelebrityList":{ - "type":"list", - "member":{"shape":"Celebrity"} - }, - "CelebrityRecognition":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time, in milliseconds from the start of the video, that the celebrity was recognized.

" - }, - "Celebrity":{ - "shape":"CelebrityDetail", - "documentation":"

Information about a recognized celebrity.

" - } - }, - "documentation":"

Information about a detected celebrity and the time the celebrity was detected in a stored video. For more information, see GetCelebrityRecognition in the Amazon Rekognition Developer Guide.

" - }, - "CelebrityRecognitionSortBy":{ - "type":"string", - "enum":[ - "ID", - "TIMESTAMP" - ] - }, - "CelebrityRecognitions":{ - "type":"list", - "member":{"shape":"CelebrityRecognition"} - }, - "ClientRequestToken":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9-_]+$" - }, - "CollectionId":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[a-zA-Z0-9_.\\-]+" - }, - "CollectionIdList":{ - "type":"list", - "member":{"shape":"CollectionId"} - }, - "CompareFacesMatch":{ - "type":"structure", - "members":{ - "Similarity":{ - "shape":"Percent", - "documentation":"

Level of confidence that the faces match.

" - }, - "Face":{ - "shape":"ComparedFace", - "documentation":"

Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

" - } - }, - "documentation":"

Provides information about a face in a target image that matches the source image face 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", - "member":{"shape":"CompareFacesMatch"} - }, - "CompareFacesRequest":{ - "type":"structure", - "required":[ - "SourceImage", - "TargetImage" - ], - "members":{ - "SourceImage":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "TargetImage":{ - "shape":"Image", - "documentation":"

The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "SimilarityThreshold":{ - "shape":"Percent", - "documentation":"

The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

" - } - } - }, - "CompareFacesResponse":{ - "type":"structure", - "members":{ - "SourceImageFace":{ - "shape":"ComparedSourceImageFace", - "documentation":"

The face in the source image that was used for comparison.

" - }, - "FaceMatches":{ - "shape":"CompareFacesMatchList", - "documentation":"

An array of faces in the target image that match the source image face. Each CompareFacesMatch object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box and the face in the source image.

" - }, - "UnmatchedFaces":{ - "shape":"CompareFacesUnmatchList", - "documentation":"

An array of faces in the target image that did not match the source image face.

" - }, - "SourceImageOrientationCorrection":{ - "shape":"OrientationCorrection", - "documentation":"

The 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", - "documentation":"

Bounding box of the face.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence that what the bounding box contains is a face.

" - }, - "Landmarks":{ - "shape":"Landmarks", - "documentation":"

An array of facial landmarks.

" - }, - "Pose":{ - "shape":"Pose", - "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" - }, - "Quality":{ - "shape":"ImageQuality", - "documentation":"

Identifies face image brightness and sharpness.

" - } - }, - "documentation":"

Provides face metadata for target image faces that are analysed by CompareFaces and RecognizeCelebrities.

" - }, - "ComparedFaceList":{ - "type":"list", - "member":{"shape":"ComparedFace"} - }, - "ComparedSourceImageFace":{ - "type":"structure", - "members":{ - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

Bounding box of the face.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Confidence level that the selected bounding box contains a face.

" - } - }, - "documentation":"

Type that describes the face Amazon Rekognition chose to compare with the faces in the target. This contains a bounding box for the selected face and confidence level that the bounding box contains a face. Note that Amazon Rekognition selects the largest face in the source image for this comparison.

" - }, - "ContentModerationDetection":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time, in milliseconds from the beginning of the video, that the moderation label was detected.

" - }, - "ModerationLabel":{ - "shape":"ModerationLabel", - "documentation":"

The moderation label detected by in the stored video.

" - } - }, - "documentation":"

Information about a moderation label detection in a stored video.

" - }, - "ContentModerationDetections":{ - "type":"list", - "member":{"shape":"ContentModerationDetection"} - }, - "ContentModerationSortBy":{ - "type":"string", - "enum":[ - "NAME", - "TIMESTAMP" - ] - }, - "CreateCollectionRequest":{ - "type":"structure", - "required":["CollectionId"], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID for the collection that you are creating.

" - } - } - }, - "CreateCollectionResponse":{ - "type":"structure", - "members":{ - "StatusCode":{ - "shape":"UInteger", - "documentation":"

HTTP status code indicating the result of the operation.

" - }, - "CollectionArn":{ - "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on your resources.

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

Version number of the face detection model associated with the collection you are creating.

" - } - } - }, - "CreateStreamProcessorRequest":{ - "type":"structure", - "required":[ - "Input", - "Output", - "Name", - "Settings", - "RoleArn" - ], - "members":{ - "Input":{ - "shape":"StreamProcessorInput", - "documentation":"

Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

" - }, - "Output":{ - "shape":"StreamProcessorOutput", - "documentation":"

Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.

" - }, - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling . Name is idempotent.

" - }, - "Settings":{ - "shape":"StreamProcessorSettings", - "documentation":"

Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

ARN of the IAM role that allows access to the stream processor.

" - } - } - }, - "CreateStreamProcessorResponse":{ - "type":"structure", - "members":{ - "StreamProcessorArn":{ - "shape":"StreamProcessorArn", - "documentation":"

ARN for the newly create stream processor.

" - } - } - }, - "DateTime":{"type":"timestamp"}, - "Degree":{ - "type":"float", - "max":180, - "min":-180 - }, - "DeleteCollectionRequest":{ - "type":"structure", - "required":["CollectionId"], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID of the collection to delete.

" - } - } - }, - "DeleteCollectionResponse":{ - "type":"structure", - "members":{ - "StatusCode":{ - "shape":"UInteger", - "documentation":"

HTTP status code that indicates the result of the operation.

" - } - } - }, - "DeleteFacesRequest":{ - "type":"structure", - "required":[ - "CollectionId", - "FaceIds" - ], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

Collection from which to remove the specific faces.

" - }, - "FaceIds":{ - "shape":"FaceIdList", - "documentation":"

An array of face IDs to delete.

" - } - } - }, - "DeleteFacesResponse":{ - "type":"structure", - "members":{ - "DeletedFaces":{ - "shape":"FaceIdList", - "documentation":"

An array of strings (face IDs) of the faces that were deleted.

" - } - } - }, - "DeleteStreamProcessorRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

The name of the stream processor you want to delete.

" - } - } - }, - "DeleteStreamProcessorResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeCollectionRequest":{ - "type":"structure", - "required":["CollectionId"], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

The ID of the collection to describe.

" - } - } - }, - "DescribeCollectionResponse":{ - "type":"structure", - "members":{ - "FaceCount":{ - "shape":"ULong", - "documentation":"

The number of faces that are indexed into the collection. To index faces into a collection, use .

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

The version of the face model that's used by the collection for face detection.

For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

" - }, - "CollectionARN":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the collection.

" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "documentation":"

The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.

" - } - } - }, - "DescribeStreamProcessorRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

Name of the stream processor for which you want information.

" - } - } - }, - "DescribeStreamProcessorResponse":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

Name of the stream processor.

" - }, - "StreamProcessorArn":{ - "shape":"StreamProcessorArn", - "documentation":"

ARN of the stream processor.

" - }, - "Status":{ - "shape":"StreamProcessorStatus", - "documentation":"

Current status of the stream processor.

" - }, - "StatusMessage":{ - "shape":"String", - "documentation":"

Detailed status message about the stream processor.

" - }, - "CreationTimestamp":{ - "shape":"DateTime", - "documentation":"

Date and time the stream processor was created

" - }, - "LastUpdateTimestamp":{ - "shape":"DateTime", - "documentation":"

The time, in Unix format, the stream processor was last updated. For example, when the stream processor moves from a running state to a failed state, or when the user starts or stops the stream processor.

" - }, - "Input":{ - "shape":"StreamProcessorInput", - "documentation":"

Kinesis video stream that provides the source streaming video.

" - }, - "Output":{ - "shape":"StreamProcessorOutput", - "documentation":"

Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

ARN of the IAM role that allows access to the stream processor.

" - }, - "Settings":{ - "shape":"StreamProcessorSettings", - "documentation":"

Face recognition input parameters that are being used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.

" - } - } - }, - "DetectFacesRequest":{ - "type":"structure", - "required":["Image"], - "members":{ - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality and Landmarks. If you provide [\"ALL\"], all facial attributes are returned but the operation 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).

" - } - } - }, - "DetectFacesResponse":{ - "type":"structure", - "members":{ - "FaceDetails":{ - "shape":"FaceDetailList", - "documentation":"

Details of each face found in the image.

" - }, - "OrientationCorrection":{ - "shape":"OrientationCorrection", - "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.

" - } - } - }, - "DetectLabelsRequest":{ - "type":"structure", - "required":["Image"], - "members":{ - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "MaxLabels":{ - "shape":"UInteger", - "documentation":"

Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels.

" - }, - "MinConfidence":{ - "shape":"Percent", - "documentation":"

Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 50 percent.

" - } - } - }, - "DetectLabelsResponse":{ - "type":"structure", - "members":{ - "Labels":{ - "shape":"Labels", - "documentation":"

An array of labels for the real-world objects detected.

" - }, - "OrientationCorrection":{ - "shape":"OrientationCorrection", - "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 base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "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":"

Array of detected Moderation labels and the time, in millseconds from the start of the video, they were detected.

" - } - } - }, - "DetectTextRequest":{ - "type":"structure", - "required":["Image"], - "members":{ - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.

" - } - } - }, - "DetectTextResponse":{ - "type":"structure", - "members":{ - "TextDetections":{ - "shape":"TextDetectionList", - "documentation":"

An array of text that was detected in the input image.

" - } - } - }, - "Emotion":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"EmotionName", - "documentation":"

Type of emotion detected.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

" - }, - "EmotionName":{ - "type":"string", - "enum":[ - "HAPPY", - "SAD", - "ANGRY", - "CONFUSED", - "DISGUSTED", - "SURPRISED", - "CALM", - "UNKNOWN" - ] - }, - "Emotions":{ - "type":"list", - "member":{"shape":"Emotion"} - }, - "ExternalImageId":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[a-zA-Z0-9_.\\-:]+" - }, - "EyeOpen":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the eyes on the face are open.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

" - }, - "Eyeglasses":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the face is wearing eye glasses or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

" - }, - "Face":{ - "type":"structure", - "members":{ - "FaceId":{ - "shape":"FaceId", - "documentation":"

Unique identifier that Amazon Rekognition assigns to the face.

" - }, - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

Bounding box of the face.

" - }, - "ImageId":{ - "shape":"ImageId", - "documentation":"

Unique identifier that Amazon Rekognition assigns to the input image.

" - }, - "ExternalImageId":{ - "shape":"ExternalImageId", - "documentation":"

Identifier that you assign to all the faces in the input image.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Confidence level that the bounding box contains a face (and not a different object such as a tree).

" - } - }, - "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

" - }, - "FaceAttributes":{ - "type":"string", - "enum":[ - "DEFAULT", - "ALL" - ] - }, - "FaceDetail":{ - "type":"structure", - "members":{ - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

Bounding box of the face. Default attribute.

" - }, - "AgeRange":{ - "shape":"AgeRange", - "documentation":"

The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.

" - }, - "Smile":{ - "shape":"Smile", - "documentation":"

Indicates whether or not the face is smiling, and the confidence level in the determination.

" - }, - "Eyeglasses":{ - "shape":"Eyeglasses", - "documentation":"

Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

" - }, - "Sunglasses":{ - "shape":"Sunglasses", - "documentation":"

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

" - }, - "Gender":{ - "shape":"Gender", - "documentation":"

Gender of the face and the confidence level in the determination.

" - }, - "Beard":{ - "shape":"Beard", - "documentation":"

Indicates whether or not the face has a beard, and the confidence level in the determination.

" - }, - "Mustache":{ - "shape":"Mustache", - "documentation":"

Indicates whether or not the face has a mustache, and the confidence level in the determination.

" - }, - "EyesOpen":{ - "shape":"EyeOpen", - "documentation":"

Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

" - }, - "MouthOpen":{ - "shape":"MouthOpen", - "documentation":"

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

" - }, - "Emotions":{ - "shape":"Emotions", - "documentation":"

The emotions detected on the face, and the confidence level in the determination. For example, HAPPY, SAD, and ANGRY.

" - }, - "Landmarks":{ - "shape":"Landmarks", - "documentation":"

Indicates the location of landmarks on the face. Default attribute.

" - }, - "Pose":{ - "shape":"Pose", - "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

" - }, - "Quality":{ - "shape":"ImageQuality", - "documentation":"

Identifies image brightness and sharpness. Default attribute.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Confidence level that the bounding box contains a face (and not a different object such as a tree). Default attribute.

" - } - }, - "documentation":"

Structure containing attributes of the face that the algorithm detected.

A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for . The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter.

  • GetCelebrityRecognition

  • GetPersonTracking

  • GetFaceSearch

The Amazon Rekognition Image and operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

" - }, - "FaceDetailList":{ - "type":"list", - "member":{"shape":"FaceDetail"} - }, - "FaceDetection":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time, in milliseconds from the start of the video, that the face was detected.

" - }, - "Face":{ - "shape":"FaceDetail", - "documentation":"

The face properties for the detected face.

" - } - }, - "documentation":"

Information about a face detected in a video analysis request and the time the face was detected in the video.

" - }, - "FaceDetections":{ - "type":"list", - "member":{"shape":"FaceDetection"} - }, - "FaceId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "FaceIdList":{ - "type":"list", - "member":{"shape":"FaceId"}, - "max":4096, - "min":1 - }, - "FaceList":{ - "type":"list", - "member":{"shape":"Face"} - }, - "FaceMatch":{ - "type":"structure", - "members":{ - "Similarity":{ - "shape":"Percent", - "documentation":"

Confidence in the match of this face with the input face.

" - }, - "Face":{ - "shape":"Face", - "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

" - } - }, - "documentation":"

Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face.

" - }, - "FaceMatchList":{ - "type":"list", - "member":{"shape":"FaceMatch"} - }, - "FaceModelVersionList":{ - "type":"list", - "member":{"shape":"String"} - }, - "FaceRecord":{ - "type":"structure", - "members":{ - "Face":{ - "shape":"Face", - "documentation":"

Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

" - }, - "FaceDetail":{ - "shape":"FaceDetail", - "documentation":"

Structure containing attributes of the face that the algorithm detected.

" - } - }, - "documentation":"

Object containing both the face metadata (stored in the back-end database) and facial attributes that are detected but aren't stored in the database.

" - }, - "FaceRecordList":{ - "type":"list", - "member":{"shape":"FaceRecord"} - }, - "FaceSearchSettings":{ - "type":"structure", - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

The ID of a collection that contains faces that you want to search for.

" - }, - "FaceMatchThreshold":{ - "shape":"Percent", - "documentation":"

Minimum face match confidence score that must be met to return a result for a recognized face. Default is 70. 0 is the lowest confidence. 100 is the highest confidence.

" - } - }, - "documentation":"

Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for .

" - }, - "FaceSearchSortBy":{ - "type":"string", - "enum":[ - "INDEX", - "TIMESTAMP" - ] - }, - "Float":{"type":"float"}, - "Gender":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"GenderType", - "documentation":"

Gender of the face.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Gender of the face and the confidence level in the determination.

" - }, - "GenderType":{ - "type":"string", - "enum":[ - "Male", - "Female" - ] - }, - "Geometry":{ - "type":"structure", - "members":{ - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

An axis-aligned coarse representation of the detected text's location on the image.

" - }, - "Polygon":{ - "shape":"Polygon", - "documentation":"

Within the bounding box, a fine-grained polygon around the detected text.

" - } - }, - "documentation":"

Information about where text detected by is located on an image.

" - }, - "GetCelebrityInfoRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"RekognitionUniqueId", - "documentation":"

The ID for the celebrity. You get the celebrity ID from a call to the operation, which recognizes celebrities in an image.

" - } - } - }, - "GetCelebrityInfoResponse":{ - "type":"structure", - "members":{ - "Urls":{ - "shape":"Urls", - "documentation":"

An array of URLs pointing to additional celebrity information.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the celebrity.

" - } - } - }, - "GetCelebrityRecognitionRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there is more recognized celebrities to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of celebrities.

" - }, - "SortBy":{ - "shape":"CelebrityRecognitionSortBy", - "documentation":"

Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, specify TIMESTAMP to sort by the time the celebrity was recognized.

" - } - } - }, - "GetCelebrityRecognitionResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the celebrity recognition job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities.

" - }, - "Celebrities":{ - "shape":"CelebrityRecognitions", - "documentation":"

Array of celebrities recognized in the video.

" - } - } - }, - "GetContentModerationRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the content moderation job. Use JobId to identify the job in a subsequent call to GetContentModeration.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of content moderation labels.

" - }, - "SortBy":{ - "shape":"ContentModerationSortBy", - "documentation":"

Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP.

" - } - } - }, - "GetContentModerationResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the content moderation job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from GetContentModeration.

" - }, - "ModerationLabels":{ - "shape":"ContentModerationDetections", - "documentation":"

The detected moderation labels and the time(s) they were detected.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of moderation labels.

" - } - } - }, - "GetFaceDetectionRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there are more faces to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces.

" - } - } - }, - "GetFaceDetectionResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the face detection job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

" - }, - "Faces":{ - "shape":"FaceDetections", - "documentation":"

An array of faces detected in the video. Each element contains a detected face's details and the time, in milliseconds from the start of the video, the face was detected.

" - } - } - }, - "GetFaceSearchRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of search results.

" - }, - "SortBy":{ - "shape":"FaceSearchSortBy", - "documentation":"

Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time that they are recognized. Use INDEX to sort by recognized faces.

" - } - } - }, - "GetFaceSearchResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the face search job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

" - }, - "Persons":{ - "shape":"PersonMatches", - "documentation":"

An array of persons, , in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. You specify the input collection in an initial call to StartFaceSearch. Each Persons element includes a time the person was matched, face match details (FaceMatches) for matching faces in the collection, and person information (Person) for the matched person.

" - } - } - }, - "GetLabelDetectionRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of labels.

" - }, - "SortBy":{ - "shape":"LabelDetectionSortBy", - "documentation":"

Sort to use for elements in the Labels array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP.

" - } - } - }, - "GetLabelDetectionResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the label detection job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels.

" - }, - "Labels":{ - "shape":"LabelDetections", - "documentation":"

An array of labels detected in the video. Each element contains the detected label and the time, in milliseconds from the start of the video, that the label was detected.

" - } - } - }, - "GetPersonTrackingRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there are more persons to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of persons.

" - }, - "SortBy":{ - "shape":"PersonTrackingSortBy", - "documentation":"

Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements by the time persons are detected. Use INDEX to sort by the tracked persons. If you sort by INDEX, the array elements for each person are sorted by detection confidence. The default sort is by TIMESTAMP.

" - } - } - }, - "GetPersonTrackingResponse":{ - "type":"structure", - "members":{ - "JobStatus":{ - "shape":"VideoJobStatus", - "documentation":"

The current status of the person tracking job.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

If the job fails, StatusMessage provides a descriptive error message.

" - }, - "VideoMetadata":{ - "shape":"VideoMetadata", - "documentation":"

Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons.

" - }, - "Persons":{ - "shape":"PersonDetections", - "documentation":"

An array of the persons detected in the video and the times they are tracked throughout the video. An array element will exist for each time the person is tracked.

" - } - } - }, - "IdempotentParameterMismatchException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A ClientRequestToken input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

", - "exception":true - }, - "Image":{ - "type":"structure", - "members":{ - "Bytes":{ - "shape":"ImageBlob", - "documentation":"

Blob of image bytes up to 5 MBs.

" - }, - "S3Object":{ - "shape":"S3Object", - "documentation":"

Identifies an S3 object as the image source.

" - } - }, - "documentation":"

Provides the input image either as bytes or an S3 object.

You pass image bytes to 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 Analyzing an Image Loaded from a Local File System in the Amazon Rekognition Developer Guide.

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 Resource Based Policies in the Amazon Rekognition Developer Guide.

" - }, - "ImageBlob":{ - "type":"blob", - "max":5242880, - "min":1 - }, - "ImageId":{ - "type":"string", - "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "ImageQuality":{ - "type":"structure", - "members":{ - "Brightness":{ - "shape":"Float", - "documentation":"

Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

" - }, - "Sharpness":{ - "shape":"Float", - "documentation":"

Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

" - } - }, - "documentation":"

Identifies face image brightness and sharpness.

" - }, - "ImageTooLargeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input image size exceeds the allowed limit. For more information, see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.

", - "exception":true - }, - "IndexFacesRequest":{ - "type":"structure", - "required":[ - "CollectionId", - "Image" - ], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

The ID of an existing collection to which you want to add the faces that are detected in the input images.

" - }, - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "ExternalImageId":{ - "shape":"ExternalImageId", - "documentation":"

ID you want to assign to all the faces detected in the image.

" - }, - "DetectionAttributes":{ - "shape":"Attributes", - "documentation":"

An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality and Landmarks. If you provide [\"ALL\"], all facial attributes are returned but the operation 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).

" - } - } - }, - "IndexFacesResponse":{ - "type":"structure", - "members":{ - "FaceRecords":{ - "shape":"FaceRecordList", - "documentation":"

An array of faces detected and added to the collection. For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

" - }, - "OrientationCorrection":{ - "shape":"OrientationCorrection", - "documentation":"

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.

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

Version number of the face detection model associated with the input collection (CollectionId).

" - } - } - }, - "InternalServerError":{ - "type":"structure", - "members":{ - }, - "documentation":"

Amazon Rekognition experienced a service issue. Try your call again.

", - "exception":true, - "fault":true - }, - "InvalidImageFormatException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The provided image format is not supported.

", - "exception":true - }, - "InvalidPaginationTokenException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Pagination token in the request is not valid.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Input parameter violated a constraint. Validate your parameter before calling the API operation again.

", - "exception":true - }, - "InvalidS3ObjectException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Amazon Rekognition is unable to access the S3 object specified in the request.

", - "exception":true - }, - "JobId":{ - "type":"string", - "max":64, - "min":1, - "pattern":"^[a-zA-Z0-9-_]+$" - }, - "JobTag":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9_.\\-:]+" - }, - "KinesisDataArn":{ - "type":"string", - "pattern":"(^arn:([a-z\\d-]+):kinesis:([a-z\\d-]+):\\d{12}:.+$)" - }, - "KinesisDataStream":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"KinesisDataArn", - "documentation":"

ARN of the output Amazon Kinesis Data Streams stream.

" - } - }, - "documentation":"

The Kinesis data stream Amazon Rekognition to which the analysis results of a Amazon Rekognition stream processor are streamed. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

" - }, - "KinesisVideoArn":{ - "type":"string", - "pattern":"(^arn:([a-z\\d-]+):kinesisvideo:([a-z\\d-]+):\\d{12}:.+$)" - }, - "KinesisVideoStream":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"KinesisVideoArn", - "documentation":"

ARN of the Kinesis video stream stream that streams the source video.

" - } - }, - "documentation":"

Kinesis video stream stream that provides the source streaming video for a Amazon Rekognition Video stream processor. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

" - }, - "Label":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name (label) of the object.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence.

" - } - }, - "documentation":"

Structure containing details about the detected label, including name, and level of confidence.

" - }, - "LabelDetection":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time, in milliseconds from the start of the video, that the label was detected.

" - }, - "Label":{ - "shape":"Label", - "documentation":"

Details about the detected label.

" - } - }, - "documentation":"

Information about a label detected in a video analysis request and the time the label was detected in the video.

" - }, - "LabelDetectionSortBy":{ - "type":"string", - "enum":[ - "NAME", - "TIMESTAMP" - ] - }, - "LabelDetections":{ - "type":"list", - "member":{"shape":"LabelDetection"} - }, - "Labels":{ - "type":"list", - "member":{"shape":"Label"} - }, - "Landmark":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"LandmarkType", - "documentation":"

Type of the landmark.

" - }, - "X":{ - "shape":"Float", - "documentation":"

x-coordinate from the top left of the landmark expressed as the ratio of the width of the image. For example, if the images is 700x200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

" - }, - "Y":{ - "shape":"Float", - "documentation":"

y-coordinate from the top left of the landmark expressed as the ratio of the height of the image. For example, if the images is 700x200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5.

" - } - }, - "documentation":"

Indicates the location of the landmark on the face.

" - }, - "LandmarkType":{ - "type":"string", - "enum":[ - "eyeLeft", - "eyeRight", - "nose", - "mouthLeft", - "mouthRight", - "leftEyeBrowLeft", - "leftEyeBrowRight", - "leftEyeBrowUp", - "rightEyeBrowLeft", - "rightEyeBrowRight", - "rightEyeBrowUp", - "leftEyeLeft", - "leftEyeRight", - "leftEyeUp", - "leftEyeDown", - "rightEyeLeft", - "rightEyeRight", - "rightEyeUp", - "rightEyeDown", - "noseLeft", - "noseRight", - "mouthUp", - "mouthDown", - "leftPupil", - "rightPupil" - ] - }, - "Landmarks":{ - "type":"list", - "member":{"shape":"Landmark"} - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An Amazon Rekognition service limit was exceeded. For example, if you start too many Amazon Rekognition Video jobs concurrently, calls to start operations (StartLabelDetection, for example) will raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Rekognition service limit.

", - "exception":true - }, - "ListCollectionsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Pagination token from the previous response.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

Maximum number of collection IDs to return.

" - } - } - }, - "ListCollectionsResponse":{ - "type":"structure", - "members":{ - "CollectionIds":{ - "shape":"CollectionIdList", - "documentation":"

An array of collection IDs.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the result is truncated, the response provides a NextToken that you can use in the subsequent request to fetch the next set of collection IDs.

" - }, - "FaceModelVersions":{ - "shape":"FaceModelVersionList", - "documentation":"

Version numbers of the face detection models associated with the collections in the array CollectionIds. For example, the value of FaceModelVersions[2] is the version number for the face detection model used by the collection in CollectionId[2].

" - } - } - }, - "ListFacesRequest":{ - "type":"structure", - "required":["CollectionId"], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID of the collection from which to list the faces.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces.

" - }, - "MaxResults":{ - "shape":"PageSize", - "documentation":"

Maximum number of faces to return.

" - } - } - }, - "ListFacesResponse":{ - "type":"structure", - "members":{ - "Faces":{ - "shape":"FaceList", - "documentation":"

An array of Face objects.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

Version number of the face detection model associated with the input collection (CollectionId).

" - } - } - }, - "ListStreamProcessorsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the previous response was incomplete (because there are more stream processors to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000.

" - } - } - }, - "ListStreamProcessorsResponse":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of stream processors.

" - }, - "StreamProcessors":{ - "shape":"StreamProcessorList", - "documentation":"

List of stream processors that you have created.

" - } - } - }, - "MaxFaces":{ - "type":"integer", - "max":4096, - "min":1 - }, - "MaxResults":{ - "type":"integer", - "min":1 - }, - "ModerationLabel":{ - "type":"structure", - "members":{ - "Confidence":{ - "shape":"Percent", - "documentation":"

Specifies the confidence that Amazon Rekognition has that the label has been correctly identified.

If you don't specify the MinConfidence parameter in the call to DetectModerationLabels, the operation returns labels with a confidence value greater than or equal to 50 percent.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The label name for the type of 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 or video. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

" - }, - "ModerationLabels":{ - "type":"list", - "member":{"shape":"ModerationLabel"} - }, - "MouthOpen":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the mouth on the face is open or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

" - }, - "Mustache":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the face has mustache or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the face has a mustache, and the confidence level in the determination.

" - }, - "NotificationChannel":{ - "type":"structure", - "required":[ - "SNSTopicArn", - "RoleArn" - ], - "members":{ - "SNSTopicArn":{ - "shape":"SNSTopicArn", - "documentation":"

The Amazon SNS topic to which Amazon Rekognition to posts the completion status.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.

" - } - }, - "documentation":"

The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see api-video.

" - }, - "OrientationCorrection":{ - "type":"string", - "enum":[ - "ROTATE_0", - "ROTATE_90", - "ROTATE_180", - "ROTATE_270" - ] - }, - "PageSize":{ - "type":"integer", - "max":4096, - "min":0 - }, - "PaginationToken":{ - "type":"string", - "max":255 - }, - "Percent":{ - "type":"float", - "max":100, - "min":0 - }, - "PersonDetail":{ - "type":"structure", - "members":{ - "Index":{ - "shape":"PersonIndex", - "documentation":"

Identifier for the person detected person within a video. Use to keep track of the person throughout the video. The identifier is not stored by Amazon Rekognition.

" - }, - "BoundingBox":{ - "shape":"BoundingBox", - "documentation":"

Bounding box around the detected person.

" - }, - "Face":{ - "shape":"FaceDetail", - "documentation":"

Face details for the detected person.

" - } - }, - "documentation":"

Details about a person detected in a video analysis request.

" - }, - "PersonDetection":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time, in milliseconds from the start of the video, that the person was tracked.

" - }, - "Person":{ - "shape":"PersonDetail", - "documentation":"

Details about a person tracked in a video.

" - } - }, - "documentation":"

Details and tracking information for a single time a person is tracked in a video. Amazon Rekognition operations that track persons return an array of PersonDetection objects with elements for each time a person is tracked in a video.

For more information, see API_GetPersonTracking in the Amazon Rekognition Developer Guide.

" - }, - "PersonDetections":{ - "type":"list", - "member":{"shape":"PersonDetection"} - }, - "PersonIndex":{"type":"long"}, - "PersonMatch":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time, in milliseconds from the beginning of the video, that the person was matched in the video.

" - }, - "Person":{ - "shape":"PersonDetail", - "documentation":"

Information about the matched person.

" - }, - "FaceMatches":{ - "shape":"FaceMatchList", - "documentation":"

Information about the faces in the input collection that match the face of a person in the video.

" - } - }, - "documentation":"

Information about a person whose face matches a face(s) in a Amazon Rekognition collection. Includes information about the faces in the Amazon Rekognition collection (), information about the person (PersonDetail) and the timestamp for when the person was detected in a video. An array of PersonMatch objects is returned by .

" - }, - "PersonMatches":{ - "type":"list", - "member":{"shape":"PersonMatch"} - }, - "PersonTrackingSortBy":{ - "type":"string", - "enum":[ - "INDEX", - "TIMESTAMP" - ] - }, - "Point":{ - "type":"structure", - "members":{ - "X":{ - "shape":"Float", - "documentation":"

The value of the X coordinate for a point on a Polygon.

" - }, - "Y":{ - "shape":"Float", - "documentation":"

The value of the Y coordinate for a point on a Polygon.

" - } - }, - "documentation":"

The X and Y coordinates of a point on an image. The X and Y values returned are ratios of the overall image size. For example, if the input image is 700x200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the image.

An array of Point objects, Polygon, is returned by . Polygon represents a fine-grained polygon around detected text. For more information, see Geometry in the Amazon Rekognition Developer Guide.

" - }, - "Polygon":{ - "type":"list", - "member":{"shape":"Point"} - }, - "Pose":{ - "type":"structure", - "members":{ - "Roll":{ - "shape":"Degree", - "documentation":"

Value representing the face rotation on the roll axis.

" - }, - "Yaw":{ - "shape":"Degree", - "documentation":"

Value representing the face rotation on the yaw axis.

" - }, - "Pitch":{ - "shape":"Degree", - "documentation":"

Value representing the face rotation on the pitch axis.

" - } - }, - "documentation":"

Indicates the pose of the face as determined by its pitch, roll, and yaw.

" - }, - "ProvisionedThroughputExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

", - "exception":true - }, - "RecognizeCelebritiesRequest":{ - "type":"structure", - "required":["Image"], - "members":{ - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - } - } - }, - "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":{ - }, - "documentation":"

A collection with the specified ID already exists.

", - "exception":true - }, - "ResourceInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The collection specified in the request cannot be found.

", - "exception":true - }, - "RoleArn":{ - "type":"string", - "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" - }, - "S3Bucket":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[0-9A-Za-z\\.\\-_]*" - }, - "S3Object":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"S3Bucket", - "documentation":"

Name of the S3 bucket.

" - }, - "Name":{ - "shape":"S3ObjectName", - "documentation":"

S3 object key name.

" - }, - "Version":{ - "shape":"S3ObjectVersion", - "documentation":"

If the bucket is versioning enabled, you can specify the object version.

" - } - }, - "documentation":"

Provides the S3 bucket name and object name.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see Resource Based Policies in the Amazon Rekognition Developer Guide.

" - }, - "S3ObjectName":{ - "type":"string", - "max":1024, - "min":1 - }, - "S3ObjectVersion":{ - "type":"string", - "max":1024, - "min":1 - }, - "SNSTopicArn":{ - "type":"string", - "pattern":"(^arn:aws:sns:.*:\\w{12}:.+$)" - }, - "SearchFacesByImageRequest":{ - "type":"structure", - "required":[ - "CollectionId", - "Image" - ], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID of the collection to search.

" - }, - "Image":{ - "shape":"Image", - "documentation":"

The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

" - }, - "MaxFaces":{ - "shape":"MaxFaces", - "documentation":"

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

" - }, - "FaceMatchThreshold":{ - "shape":"Percent", - "documentation":"

(Optional) Specifies the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%.

" - } - } - }, - "SearchFacesByImageResponse":{ - "type":"structure", - "members":{ - "SearchedFaceBoundingBox":{ - "shape":"BoundingBox", - "documentation":"

The bounding box around the face in the input image that Amazon Rekognition used for the search.

" - }, - "SearchedFaceConfidence":{ - "shape":"Percent", - "documentation":"

The level of confidence that the searchedFaceBoundingBox, contains a face.

" - }, - "FaceMatches":{ - "shape":"FaceMatchList", - "documentation":"

An array of faces that match the input face, along with the confidence in the match.

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

Version number of the face detection model associated with the input collection (CollectionId).

" - } - } - }, - "SearchFacesRequest":{ - "type":"structure", - "required":[ - "CollectionId", - "FaceId" - ], - "members":{ - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID of the collection the face belongs to.

" - }, - "FaceId":{ - "shape":"FaceId", - "documentation":"

ID of a face to find matches for in the collection.

" - }, - "MaxFaces":{ - "shape":"MaxFaces", - "documentation":"

Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

" - }, - "FaceMatchThreshold":{ - "shape":"Percent", - "documentation":"

Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%.

" - } - } - }, - "SearchFacesResponse":{ - "type":"structure", - "members":{ - "SearchedFaceId":{ - "shape":"FaceId", - "documentation":"

ID of the face that was searched for matches in a collection.

" - }, - "FaceMatches":{ - "shape":"FaceMatchList", - "documentation":"

An array of faces that matched the input face, along with the confidence in the match.

" - }, - "FaceModelVersion":{ - "shape":"String", - "documentation":"

Version number of the face detection model associated with the input collection (CollectionId).

" - } - } - }, - "Smile":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the face is smiling or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the face is smiling, and the confidence level in the determination.

" - }, - "StartCelebrityRecognitionRequest":{ - "type":"structure", - "required":["Video"], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartCelebrityRecognition requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the celebrity recognition analysis to.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartCelebrityRecognitionResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the celebrity recognition analysis job. Use JobId to identify the job in a subsequent call to GetCelebrityRecognition.

" - } - } - }, - "StartContentModerationRequest":{ - "type":"structure", - "required":["Video"], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video in which you want to moderate content. The video must be stored in an Amazon S3 bucket.

" - }, - "MinConfidence":{ - "shape":"Percent", - "documentation":"

Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level lower than this specified value.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartContentModeration requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the content moderation analysis to.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartContentModerationResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the content moderation analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration.

" - } - } - }, - "StartFaceDetectionRequest":{ - "type":"structure", - "required":["Video"], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartFaceDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the face detection operation.

" - }, - "FaceAttributes":{ - "shape":"FaceAttributes", - "documentation":"

The face attributes you want returned.

DEFAULT - The following subset of facial attributes are returned: BoundingBox, Confidence, Pose, Quality and Landmarks.

ALL - All facial attributes are returned.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartFaceDetectionResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the face detection job. Use JobId to identify the job in a subsequent call to GetFaceDetection.

" - } - } - }, - "StartFaceSearchRequest":{ - "type":"structure", - "required":[ - "Video", - "CollectionId" - ], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video you want to search. The video must be stored in an Amazon S3 bucket.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartFaceSearch requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "FaceMatchThreshold":{ - "shape":"Percent", - "documentation":"

The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%.

" - }, - "CollectionId":{ - "shape":"CollectionId", - "documentation":"

ID of the collection that contains the faces you want to search for.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartFaceSearchResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the search job. Use JobId to identify the job in a subsequent call to GetFaceSearch.

" - } - } - }, - "StartLabelDetectionRequest":{ - "type":"structure", - "required":["Video"], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartLabelDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "MinConfidence":{ - "shape":"Percent", - "documentation":"

Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected label. Confidence represents how certain Amazon Rekognition is that a label is correctly identified.0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't return any labels with a confidence level lower than this specified value.

If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection operation to.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartLabelDetectionResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the label detection job. Use JobId to identify the job in a subsequent call to GetLabelDetection.

" - } - } - }, - "StartPersonTrackingRequest":{ - "type":"structure", - "required":["Video"], - "members":{ - "Video":{ - "shape":"Video", - "documentation":"

The video in which you want to detect people. The video must be stored in an Amazon S3 bucket.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

Idempotent token used to identify the start request. If you use the same token with multiple StartPersonTracking requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

" - }, - "NotificationChannel":{ - "shape":"NotificationChannel", - "documentation":"

The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to.

" - }, - "JobTag":{ - "shape":"JobTag", - "documentation":"

Unique identifier you specify to identify the job in the completion status published to the Amazon Simple Notification Service topic.

" - } - } - }, - "StartPersonTrackingResponse":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The identifier for the person detection job. Use JobId to identify the job in a subsequent call to GetPersonTracking.

" - } - } - }, - "StartStreamProcessorRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

The name of the stream processor to start processing.

" - } - } - }, - "StartStreamProcessorResponse":{ - "type":"structure", - "members":{ - } - }, - "StatusMessage":{"type":"string"}, - "StopStreamProcessorRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

The name of a stream processor created by .

" - } - } - }, - "StopStreamProcessorResponse":{ - "type":"structure", - "members":{ - } - }, - "StreamProcessor":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"StreamProcessorName", - "documentation":"

Name of the Amazon Rekognition stream processor.

" - }, - "Status":{ - "shape":"StreamProcessorStatus", - "documentation":"

Current status of the Amazon Rekognition stream processor.

" - } - }, - "documentation":"

An object that recognizes faces in a streaming video. An Amazon Rekognition stream processor is created by a call to . The request parameters for CreateStreamProcessor describe the Kinesis video stream source for the streaming video, face recognition parameters, and where to stream the analysis resullts.

" - }, - "StreamProcessorArn":{ - "type":"string", - "pattern":"(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:streamprocessor\\/.+$)" - }, - "StreamProcessorInput":{ - "type":"structure", - "members":{ - "KinesisVideoStream":{ - "shape":"KinesisVideoStream", - "documentation":"

The Kinesis video stream input stream for the source streaming video.

" - } - }, - "documentation":"

Information about the source streaming video.

" - }, - "StreamProcessorList":{ - "type":"list", - "member":{"shape":"StreamProcessor"} - }, - "StreamProcessorName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_.\\-]+" - }, - "StreamProcessorOutput":{ - "type":"structure", - "members":{ - "KinesisDataStream":{ - "shape":"KinesisDataStream", - "documentation":"

The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream processor streams the analysis results.

" - } - }, - "documentation":"

Information about the Amazon Kinesis Data Streams stream to which a Amazon Rekognition Video stream processor streams the results of a video analysis. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

" - }, - "StreamProcessorSettings":{ - "type":"structure", - "members":{ - "FaceSearch":{ - "shape":"FaceSearchSettings", - "documentation":"

Face search settings to use on a streaming video.

" - } - }, - "documentation":"

Input parameters used to recognize faces in a streaming video analyzed by a Amazon Rekognition stream processor.

" - }, - "StreamProcessorStatus":{ - "type":"string", - "enum":[ - "STOPPED", - "STARTING", - "RUNNING", - "FAILED", - "STOPPING" - ] - }, - "String":{"type":"string"}, - "Sunglasses":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Boolean", - "documentation":"

Boolean value that indicates whether the face is wearing sunglasses or not.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

Level of confidence in the determination.

" - } - }, - "documentation":"

Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

" - }, - "TextDetection":{ - "type":"structure", - "members":{ - "DetectedText":{ - "shape":"String", - "documentation":"

The word or line of text recognized by Amazon Rekognition.

" - }, - "Type":{ - "shape":"TextTypes", - "documentation":"

The type of text that was detected.

" - }, - "Id":{ - "shape":"UInteger", - "documentation":"

The identifier for the detected text. The identifier is only unique for a single call to DetectText.

" - }, - "ParentId":{ - "shape":"UInteger", - "documentation":"

The Parent identifier for the detected text identified by the value of ID. If the type of detected text is LINE, the value of ParentId is Null.

" - }, - "Confidence":{ - "shape":"Percent", - "documentation":"

The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of the geometry points around the detected text.

" - }, - "Geometry":{ - "shape":"Geometry", - "documentation":"

The location of the detected text on the image. Includes an axis aligned coarse bounding box surrounding the text and a finer grain polygon for more accurate spatial information.

" - } - }, - "documentation":"

Information about a word or line of text detected by .

The DetectedText field contains the text that Amazon Rekognition detected in the image.

Every word and line has an identifier (Id). Each word belongs to a line and has a parent identifier (ParentId) that identifies the line of text in which the word appears. The word Id is also an index for the word within a line of words.

For more information, see Detecting Text in the Amazon Rekognition Developer Guide.

" - }, - "TextDetectionList":{ - "type":"list", - "member":{"shape":"TextDetection"} - }, - "TextTypes":{ - "type":"string", - "enum":[ - "LINE", - "WORD" - ] - }, - "ThrottlingException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Amazon Rekognition is temporarily unable to process the request. Try your call again.

", - "exception":true, - "fault":true - }, - "Timestamp":{"type":"long"}, - "UInteger":{ - "type":"integer", - "min":0 - }, - "ULong":{ - "type":"long", - "min":0 - }, - "Url":{"type":"string"}, - "Urls":{ - "type":"list", - "member":{"shape":"Url"} - }, - "Video":{ - "type":"structure", - "members":{ - "S3Object":{ - "shape":"S3Object", - "documentation":"

The Amazon S3 bucket name and file name for the video.

" - } - }, - "documentation":"

Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

" - }, - "VideoJobStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "SUCCEEDED", - "FAILED" - ] - }, - "VideoMetadata":{ - "type":"structure", - "members":{ - "Codec":{ - "shape":"String", - "documentation":"

Type of compression used in the analyzed video.

" - }, - "DurationMillis":{ - "shape":"ULong", - "documentation":"

Length of the video in milliseconds.

" - }, - "Format":{ - "shape":"String", - "documentation":"

Format of the analyzed video. Possible values are MP4, MOV and AVI.

" - }, - "FrameRate":{ - "shape":"Float", - "documentation":"

Number of frames per second in the video.

" - }, - "FrameHeight":{ - "shape":"ULong", - "documentation":"

Vertical pixel dimension of the video.

" - }, - "FrameWidth":{ - "shape":"ULong", - "documentation":"

Horizontal pixel dimension of the video.

" - } - }, - "documentation":"

Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

" - }, - "VideoTooLargeException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The file size or duration of the supplied media is too large. The maximum file size is 8GB. The maximum duration is 2 hours.

", - "exception":true - } - }, - "documentation":"

This is the Amazon Rekognition API reference.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/paginators-1.json deleted file mode 100644 index a0ddf9b4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/paginators-1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "pagination": { - "ListGroups": { - "result_key": "Groups", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "SearchResources": { - "result_key": "ResourceIdentifiers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListGroupResources": { - "result_key": "ResourceIdentifiers", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/service-2.json deleted file mode 100644 index 7551439c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resource-groups/2017-11-27/service-2.json +++ /dev/null @@ -1,827 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-11-27", - "endpointPrefix":"resource-groups", - "protocol":"rest-json", - "serviceAbbreviation":"Resource Groups", - "serviceFullName":"AWS Resource Groups", - "serviceId":"Resource Groups", - "signatureVersion":"v4", - "signingName":"resource-groups", - "uid":"resource-groups-2017-11-27" - }, - "operations":{ - "CreateGroup":{ - "name":"CreateGroup", - "http":{ - "method":"POST", - "requestUri":"/groups" - }, - "input":{"shape":"CreateGroupInput"}, - "output":{"shape":"CreateGroupOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Creates a group with a specified name, description, and resource query.

" - }, - "DeleteGroup":{ - "name":"DeleteGroup", - "http":{ - "method":"DELETE", - "requestUri":"/groups/{GroupName}" - }, - "input":{"shape":"DeleteGroupInput"}, - "output":{"shape":"DeleteGroupOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Deletes a specified resource group. Deleting a resource group does not delete resources that are members of the group; it only deletes the group structure.

" - }, - "GetGroup":{ - "name":"GetGroup", - "http":{ - "method":"GET", - "requestUri":"/groups/{GroupName}" - }, - "input":{"shape":"GetGroupInput"}, - "output":{"shape":"GetGroupOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns information about a specified resource group.

" - }, - "GetGroupQuery":{ - "name":"GetGroupQuery", - "http":{ - "method":"GET", - "requestUri":"/groups/{GroupName}/query" - }, - "input":{"shape":"GetGroupQueryInput"}, - "output":{"shape":"GetGroupQueryOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns the resource query associated with the specified resource group.

" - }, - "GetTags":{ - "name":"GetTags", - "http":{ - "method":"GET", - "requestUri":"/resources/{Arn}/tags" - }, - "input":{"shape":"GetTagsInput"}, - "output":{"shape":"GetTagsOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns a list of tags that are associated with a resource, specified by an ARN.

" - }, - "ListGroupResources":{ - "name":"ListGroupResources", - "http":{ - "method":"POST", - "requestUri":"/groups/{GroupName}/resource-identifiers-list" - }, - "input":{"shape":"ListGroupResourcesInput"}, - "output":{"shape":"ListGroupResourcesOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns a list of ARNs of resources that are members of a specified resource group.

" - }, - "ListGroups":{ - "name":"ListGroups", - "http":{ - "method":"POST", - "requestUri":"/groups-list" - }, - "input":{"shape":"ListGroupsInput"}, - "output":{"shape":"ListGroupsOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns a list of existing resource groups in your account.

" - }, - "SearchResources":{ - "name":"SearchResources", - "http":{ - "method":"POST", - "requestUri":"/resources/search" - }, - "input":{"shape":"SearchResourcesInput"}, - "output":{"shape":"SearchResourcesOutput"}, - "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Returns a list of AWS resource identifiers that matches a specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation.

" - }, - "Tag":{ - "name":"Tag", - "http":{ - "method":"PUT", - "requestUri":"/resources/{Arn}/tags" - }, - "input":{"shape":"TagInput"}, - "output":{"shape":"TagOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

" - }, - "Untag":{ - "name":"Untag", - "http":{ - "method":"PATCH", - "requestUri":"/resources/{Arn}/tags" - }, - "input":{"shape":"UntagInput"}, - "output":{"shape":"UntagOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Deletes specified tags from a specified resource.

" - }, - "UpdateGroup":{ - "name":"UpdateGroup", - "http":{ - "method":"PUT", - "requestUri":"/groups/{GroupName}" - }, - "input":{"shape":"UpdateGroupInput"}, - "output":{"shape":"UpdateGroupOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Updates an existing group with a new or changed description. You cannot update the name of a resource group.

" - }, - "UpdateGroupQuery":{ - "name":"UpdateGroupQuery", - "http":{ - "method":"PUT", - "requestUri":"/groups/{GroupName}/query" - }, - "input":{"shape":"UpdateGroupQueryInput"}, - "output":{"shape":"UpdateGroupQueryOutput"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"ForbiddenException"}, - {"shape":"NotFoundException"}, - {"shape":"MethodNotAllowedException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"InternalServerErrorException"} - ], - "documentation":"

Updates the resource query of a group.

" - } - }, - "shapes":{ - "BadRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request does not comply with validation rules that are defined for the request parameters.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CreateGroupInput":{ - "type":"structure", - "required":[ - "Name", - "ResourceQuery" - ], - "members":{ - "Name":{ - "shape":"GroupName", - "documentation":"

The name of the group, which is the identifier of the group in other operations. A resource group name cannot be updated after it is created. A resource group name can have a maximum of 128 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws; these are reserved. A resource group name must be unique within your account.

" - }, - "Description":{ - "shape":"GroupDescription", - "documentation":"

The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces.

" - }, - "ResourceQuery":{ - "shape":"ResourceQuery", - "documentation":"

The resource query that determines which AWS resources are members of this group.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags to add to the group. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" - } - } - }, - "CreateGroupOutput":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

A full description of the resource group after it is created.

" - }, - "ResourceQuery":{ - "shape":"ResourceQuery", - "documentation":"

The resource query associated with the group.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags associated with the group.

" - } - } - }, - "DeleteGroupInput":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group to delete.

", - "location":"uri", - "locationName":"GroupName" - } - } - }, - "DeleteGroupOutput":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

A full description of the deleted resource group.

" - } - } - }, - "ErrorMessage":{ - "type":"string", - "max":1024, - "min":1 - }, - "ForbiddenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The caller is not authorized to make the request.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "GetGroupInput":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group.

", - "location":"uri", - "locationName":"GroupName" - } - } - }, - "GetGroupOutput":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

A full description of the resource group.

" - } - } - }, - "GetGroupQueryInput":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group.

", - "location":"uri", - "locationName":"GroupName" - } - } - }, - "GetGroupQueryOutput":{ - "type":"structure", - "members":{ - "GroupQuery":{ - "shape":"GroupQuery", - "documentation":"

The resource query associated with the specified group.

" - } - } - }, - "GetTagsInput":{ - "type":"structure", - "required":["Arn"], - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the resource for which you want a list of tags. The resource must exist within the account you are using.

", - "location":"uri", - "locationName":"Arn" - } - } - }, - "GetTagsOutput":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the tagged resource.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags associated with the specified resource.

" - } - } - }, - "Group":{ - "type":"structure", - "required":[ - "GroupArn", - "Name" - ], - "members":{ - "GroupArn":{ - "shape":"GroupArn", - "documentation":"

The ARN of a resource group.

" - }, - "Name":{ - "shape":"GroupName", - "documentation":"

The name of a resource group.

" - }, - "Description":{ - "shape":"GroupDescription", - "documentation":"

The description of the resource group.

" - } - }, - "documentation":"

A resource group.

" - }, - "GroupArn":{ - "type":"string", - "pattern":"arn:aws:resource-groups:[a-z]{2}-[a-z]+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,128}" - }, - "GroupDescription":{ - "type":"string", - "max":512, - "pattern":"[\\sa-zA-Z0-9_\\.-]*" - }, - "GroupList":{ - "type":"list", - "member":{"shape":"Group"} - }, - "GroupName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9_\\.-]+" - }, - "GroupQuery":{ - "type":"structure", - "required":[ - "GroupName", - "ResourceQuery" - ], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of a resource group that is associated with a specific resource query.

" - }, - "ResourceQuery":{ - "shape":"ResourceQuery", - "documentation":"

The resource query which determines which AWS resources are members of the associated resource group.

" - } - }, - "documentation":"

The underlying resource query of a resource group. Resources that match query results are part of the group.

" - }, - "InternalServerErrorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An internal error occurred while processing the request.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "ListGroupResourcesInput":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group.

", - "location":"uri", - "locationName":"GroupName" - }, - "Filters":{ - "shape":"ResourceFilterList", - "documentation":"

Filters, formatted as ResourceFilter objects, that you want to apply to a ListGroupResources operation.

  • resource-type - Filter resources by their type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of group member ARNs that are returned in a single call by ListGroupResources, in paginated output. By default, this number is 50.

", - "location":"querystring", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that is returned in a paginated ListGroupResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListGroupResourcesOutput":{ - "type":"structure", - "members":{ - "ResourceIdentifiers":{ - "shape":"ResourceIdentifierList", - "documentation":"

The ARNs and resource types of resources that are members of the group that you specified.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value to include in a subsequent ListGroupResources request, to get more results.

" - } - } - }, - "ListGroupsInput":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of resource group results that are returned by ListGroups in paginated output. By default, this number is 50.

", - "location":"querystring", - "locationName":"maxResults" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that is returned in a paginated ListGroups request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListGroupsOutput":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupList", - "documentation":"

A list of resource groups.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value to include in a subsequent ListGroups request, to get more results.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "MethodNotAllowedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request uses an HTTP method which is not allowed for the specified resource.

", - "error":{"httpStatusCode":405}, - "exception":true - }, - "NextToken":{"type":"string"}, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

One or more resources specified in the request do not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Query":{ - "type":"string", - "max":2048 - }, - "QueryType":{ - "type":"string", - "enum":["TAG_FILTERS_1_0"] - }, - "ResourceArn":{ - "type":"string", - "pattern":"arn:aws:[a-z0-9\\-]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+" - }, - "ResourceFilter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"ResourceFilterName", - "documentation":"

The name of the filter. Filter names are case-sensitive.

" - }, - "Values":{ - "shape":"ResourceFilterValues", - "documentation":"

One or more filter values. Allowed filter values vary by resource filter name, and are case-sensitive.

" - } - }, - "documentation":"

A filter name and value pair that is used to obtain more specific results from a list of resources.

" - }, - "ResourceFilterList":{ - "type":"list", - "member":{"shape":"ResourceFilter"} - }, - "ResourceFilterName":{ - "type":"string", - "enum":["resource-type"] - }, - "ResourceFilterValue":{ - "type":"string", - "max":128, - "min":1, - "pattern":"AWS::[a-zA-Z0-9]+::[a-zA-Z0-9]+" - }, - "ResourceFilterValues":{ - "type":"list", - "member":{"shape":"ResourceFilterValue"}, - "max":5, - "min":1 - }, - "ResourceIdentifier":{ - "type":"structure", - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN of a resource.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type of a resource, such as AWS::EC2::Instance.

" - } - }, - "documentation":"

The ARN of a resource, and its resource type.

" - }, - "ResourceIdentifierList":{ - "type":"list", - "member":{"shape":"ResourceIdentifier"} - }, - "ResourceQuery":{ - "type":"structure", - "required":[ - "Type", - "Query" - ], - "members":{ - "Type":{ - "shape":"QueryType", - "documentation":"

The type of the query. The valid value in this release is TAG_FILTERS_1_0.

TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. When more than one element is present, only resources that match all filters are part of the result. If a filter specifies more than one value for a key, a resource matches the filter if its tag value matches any of the specified values.

" - }, - "Query":{ - "shape":"Query", - "documentation":"

The query that defines a group or a search.

" - } - }, - "documentation":"

The query that is used to define a resource group or a search for resources.

" - }, - "ResourceType":{ - "type":"string", - "pattern":"AWS::[a-zA-Z0-9]+::\\w+" - }, - "SearchResourcesInput":{ - "type":"structure", - "required":["ResourceQuery"], - "members":{ - "ResourceQuery":{ - "shape":"ResourceQuery", - "documentation":"

The search query, using the same formats that are supported for resource group definition.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of group member ARNs returned by SearchResources in paginated output. By default, this number is 50.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value that is returned in a paginated SearchResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

" - } - } - }, - "SearchResourcesOutput":{ - "type":"structure", - "members":{ - "ResourceIdentifiers":{ - "shape":"ResourceIdentifierList", - "documentation":"

The ARNs and resource types of resources that are members of the group that you specified.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The NextToken value to include in a subsequent SearchResources request, to get more results.

" - } - } - }, - "TagInput":{ - "type":"structure", - "required":[ - "Arn", - "Tags" - ], - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the resource to which to add tags.

", - "location":"uri", - "locationName":"Arn" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags to add to the specified resource. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" - } - } - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagOutput":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the tagged resource.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags that have been added to the specified resource.

" - } - } - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"map", - "key":{"shape":"TagKey"}, - "value":{"shape":"TagValue"} - }, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The caller has exceeded throttling limits.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UnauthorizedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request has not been applied because it lacks valid authentication credentials for the target resource.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "UntagInput":{ - "type":"structure", - "required":[ - "Arn", - "Keys" - ], - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the resource from which to remove tags.

", - "location":"uri", - "locationName":"Arn" - }, - "Keys":{ - "shape":"TagKeyList", - "documentation":"

The keys of the tags to be removed.

" - } - } - }, - "UntagOutput":{ - "type":"structure", - "members":{ - "Arn":{ - "shape":"GroupArn", - "documentation":"

The ARN of the resource from which tags have been removed.

" - }, - "Keys":{ - "shape":"TagKeyList", - "documentation":"

The keys of tags that have been removed.

" - } - } - }, - "UpdateGroupInput":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group for which you want to update its description.

", - "location":"uri", - "locationName":"GroupName" - }, - "Description":{ - "shape":"GroupDescription", - "documentation":"

The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces.

" - } - } - }, - "UpdateGroupOutput":{ - "type":"structure", - "members":{ - "Group":{ - "shape":"Group", - "documentation":"

The full description of the resource group after it has been updated.

" - } - } - }, - "UpdateGroupQueryInput":{ - "type":"structure", - "required":[ - "GroupName", - "ResourceQuery" - ], - "members":{ - "GroupName":{ - "shape":"GroupName", - "documentation":"

The name of the resource group for which you want to edit the query.

", - "location":"uri", - "locationName":"GroupName" - }, - "ResourceQuery":{ - "shape":"ResourceQuery", - "documentation":"

The resource query that determines which AWS resources are members of the resource group.

" - } - } - }, - "UpdateGroupQueryOutput":{ - "type":"structure", - "members":{ - "GroupQuery":{ - "shape":"GroupQuery", - "documentation":"

The resource query associated with the resource group after the update.

" - } - } - } - }, - "documentation":"AWS Resource Groups

AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service databases, and Amazon S3 buckets into groups using criteria that you define as tags. A resource group is a collection of resources that match the resource types specified in a query, and share one or more tags or portions of tags. You can create a group of resources based on their roles in your cloud infrastructure, lifecycle stages, regions, application layers, or virtually any criteria. Resource groups enable you to automate management tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in AWS Systems Manager that shows AWS Config compliance and other monitoring data about member resources.

To create a resource group, build a resource query, and specify tags that identify the criteria that members of the group have in common. Tags are key-value pairs.

For more information about Resource Groups, see the AWS Resource Groups User Guide.

AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of operations.

  • Create, Read, Update, and Delete (CRUD) operations on resource groups and resource query entities

  • Applying, editing, and removing tags from resource groups

  • Resolving resource group member ARNs so they can be returned as search results

  • Getting data about resources that are members of a group

  • Searching AWS resources based on a resource query

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json deleted file mode 100644 index 7c8ba892..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json deleted file mode 100644 index 7c0b518a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json +++ /dev/null @@ -1,430 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-01-26", - "endpointPrefix":"tagging", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Resource Groups Tagging API", - "serviceId":"Resource Groups Tagging API", - "signatureVersion":"v4", - "targetPrefix":"ResourceGroupsTaggingAPI_20170126", - "uid":"resourcegroupstaggingapi-2017-01-26" - }, - "operations":{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/paginators-1.json deleted file mode 100644 index d472f47a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/paginators-1.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "pagination": { - "ListHealthChecks": { - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "IsTruncated", - "limit_key": "MaxItems", - "result_key": "HealthChecks" - }, - "ListHostedZones": { - "input_token": "Marker", - "output_token": "NextMarker", - "more_results": "IsTruncated", - "limit_key": "MaxItems", - "result_key": "HostedZones" - }, - "ListResourceRecordSets": { - "more_results": "IsTruncated", - "limit_key": "MaxItems", - "result_key": "ResourceRecordSets", - "input_token": [ - "StartRecordName", - "StartRecordType", - "StartRecordIdentifier" - ], - "output_token": [ - "NextRecordName", - "NextRecordType", - "NextRecordIdentifier" - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/service-2.json deleted file mode 100644 index 030d45dd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/service-2.json +++ /dev/null @@ -1,5064 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-04-01", - "endpointPrefix":"route53", - "globalEndpoint":"route53.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"Route 53", - "serviceFullName":"Amazon Route 53", - "serviceId":"Route 53", - "signatureVersion":"v4", - "uid":"route53-2013-04-01" - }, - "operations":{ - "AssociateVPCWithHostedZone":{ - "name":"AssociateVPCWithHostedZone", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}/associatevpc" - }, - "input":{ - "shape":"AssociateVPCWithHostedZoneRequest", - "locationName":"AssociateVPCWithHostedZoneRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"AssociateVPCWithHostedZoneResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"NotAuthorizedException"}, - {"shape":"InvalidVPCId"}, - {"shape":"InvalidInput"}, - {"shape":"PublicZoneVPCAssociation"}, - {"shape":"ConflictingDomainExists"}, - {"shape":"LimitsExceeded"} - ], - "documentation":"

Associates an Amazon VPC with a private hosted zone.

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", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}/rrset/" - }, - "input":{ - "shape":"ChangeResourceRecordSetsRequest", - "locationName":"ChangeResourceRecordSetsRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"ChangeResourceRecordSetsResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"NoSuchHealthCheck"}, - {"shape":"InvalidChangeBatch"}, - {"shape":"InvalidInput"}, - {"shape":"PriorRequestNotComplete"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/tags/{ResourceType}/{ResourceId}" - }, - "input":{ - "shape":"ChangeTagsForResourceRequest", - "locationName":"ChangeTagsForResourceRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"ChangeTagsForResourceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchHealthCheck"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"PriorRequestNotComplete"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Adds, edits, or deletes tags for a health check or a hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "CreateHealthCheck":{ - "name":"CreateHealthCheck", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/healthcheck", - "responseCode":201 - }, - "input":{ - "shape":"CreateHealthCheckRequest", - "locationName":"CreateHealthCheckRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateHealthCheckResponse"}, - "errors":[ - {"shape":"TooManyHealthChecks"}, - {"shape":"HealthCheckAlreadyExists"}, - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone", - "responseCode":201 - }, - "input":{ - "shape":"CreateHostedZoneRequest", - "locationName":"CreateHostedZoneRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateHostedZoneResponse"}, - "errors":[ - {"shape":"InvalidDomainName"}, - {"shape":"HostedZoneAlreadyExists"}, - {"shape":"TooManyHostedZones"}, - {"shape":"InvalidVPCId"}, - {"shape":"InvalidInput"}, - {"shape":"DelegationSetNotAvailable"}, - {"shape":"ConflictingDomainExists"}, - {"shape":"NoSuchDelegationSet"}, - {"shape":"DelegationSetNotReusable"} - ], - "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.

" - }, - "CreateQueryLoggingConfig":{ - "name":"CreateQueryLoggingConfig", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/queryloggingconfig", - "responseCode":201 - }, - "input":{ - "shape":"CreateQueryLoggingConfigRequest", - "locationName":"CreateQueryLoggingConfigRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateQueryLoggingConfigResponse"}, - "errors":[ - {"shape":"ConcurrentModification"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"NoSuchCloudWatchLogsLogGroup"}, - {"shape":"InvalidInput"}, - {"shape":"QueryLoggingConfigAlreadyExists"}, - {"shape":"InsufficientCloudWatchLogsResourcePolicy"} - ], - "documentation":"

Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

DNS query logs contain information about the queries that Amazon Route 53 receives for a specified public hosted zone, such as the following:

  • Amazon Route 53 edge location that responded to the DNS query

  • Domain or subdomain that was requested

  • DNS record type, such as A or AAAA

  • DNS response code, such as NoError or ServFail

Log Group and Resource Policy

Before you create a query logging configuration, perform the following operations.

If you create a query logging configuration using the Amazon Route 53 console, Amazon Route 53 performs these operations automatically.

  1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

    • You must create the log group in the us-east-1 region.

    • You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.

    • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

      /aws/route53/hosted zone name

      In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Amazon Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

  2. Create a CloudWatch Logs resource policy, and give it the permissions that Amazon Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

    arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

    You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.

Log Streams and Edge Locations

When Amazon Route 53 finishes creating the configuration for DNS query logging, it does the following:

  • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Amazon Route 53 responds to for that edge location.

  • Begins to send query logs to the applicable log stream.

The name of each log stream is in the following format:

hosted zone ID/edge location code

The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Amazon Route 53 Global Network\" on the Amazon Route 53 Product Details page.

Queries That Are Logged

Query logs contain only the queries that DNS resolvers forward to Amazon Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Amazon Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

Log File Format

For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

Pricing

For information about charges for query logs, see Amazon CloudWatch Pricing.

How to Stop Logging

If you want Amazon Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

" - }, - "CreateReusableDelegationSet":{ - "name":"CreateReusableDelegationSet", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/delegationset", - "responseCode":201 - }, - "input":{ - "shape":"CreateReusableDelegationSetRequest", - "locationName":"CreateReusableDelegationSetRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateReusableDelegationSetResponse"}, - "errors":[ - {"shape":"DelegationSetAlreadyCreated"}, - {"shape":"LimitsExceeded"}, - {"shape":"HostedZoneNotFound"}, - {"shape":"InvalidArgument"}, - {"shape":"InvalidInput"}, - {"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.

You can't associate a reusable delegation set with a private hosted zone.

For information about using a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers.

The process for migrating existing hosted zones to use a reusable delegation set is comparable to the process for configuring white label name servers. You need to perform the following steps:

  1. Create a reusable delegation set.

  2. Recreate hosted zones, and reduce the TTL to 60 seconds or less.

  3. Recreate resource record sets in the new hosted zones.

  4. Change the registrar's name servers to use the name servers for the new hosted zones.

  5. Monitor traffic for the website or application.

  6. Change TTLs back to their original values.

If you want to migrate existing hosted zones to use a reusable delegation set, the existing hosted zones can't use any of the name servers that are assigned to the reusable delegation set. If one or more hosted zones do use one or more name servers that are assigned to the reusable delegation set, you can do one of the following:

  • For small numbers of hosted zones—up to a few hundred—it's relatively easy to create reusable delegation sets until you get one that has four name servers that don't overlap with any of the name servers in your hosted zones.

  • For larger numbers of hosted zones, the easiest solution is to use more than one reusable delegation set.

  • For larger numbers of hosted zones, you can also migrate hosted zones that have overlapping name servers to hosted zones that don't have overlapping name servers, then migrate the hosted zones again to use the reusable delegation set.

" - }, - "CreateTrafficPolicy":{ - "name":"CreateTrafficPolicy", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/trafficpolicy", - "responseCode":201 - }, - "input":{ - "shape":"CreateTrafficPolicyRequest", - "locationName":"CreateTrafficPolicyRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateTrafficPolicyResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"TooManyTrafficPolicies"}, - {"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).

" - }, - "CreateTrafficPolicyInstance":{ - "name":"CreateTrafficPolicyInstance", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/trafficpolicyinstance", - "responseCode":201 - }, - "input":{ - "shape":"CreateTrafficPolicyInstanceRequest", - "locationName":"CreateTrafficPolicyInstanceRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateTrafficPolicyInstanceResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"}, - {"shape":"TooManyTrafficPolicyInstances"}, - {"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.

" - }, - "CreateTrafficPolicyVersion":{ - "name":"CreateTrafficPolicyVersion", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/trafficpolicy/{Id}", - "responseCode":201 - }, - "input":{ - "shape":"CreateTrafficPolicyVersionRequest", - "locationName":"CreateTrafficPolicyVersionRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateTrafficPolicyVersionResponse"}, - "errors":[ - {"shape":"NoSuchTrafficPolicy"}, - {"shape":"InvalidInput"}, - {"shape":"TooManyTrafficPolicyVersionsForCurrentPolicy"}, - {"shape":"ConcurrentModification"}, - {"shape":"InvalidTrafficPolicyDocument"} - ], - "documentation":"

Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic policy.

" - }, - "CreateVPCAssociationAuthorization":{ - "name":"CreateVPCAssociationAuthorization", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}/authorizevpcassociation" - }, - "input":{ - "shape":"CreateVPCAssociationAuthorizationRequest", - "locationName":"CreateVPCAssociationAuthorizationRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"CreateVPCAssociationAuthorizationResponse"}, - "errors":[ - {"shape":"ConcurrentModification"}, - {"shape":"TooManyVPCAssociationAuthorizations"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidVPCId"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC.

" - }, - "DeleteHealthCheck":{ - "name":"DeleteHealthCheck", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/healthcheck/{HealthCheckId}" - }, - "input":{"shape":"DeleteHealthCheckRequest"}, - "output":{"shape":"DeleteHealthCheckResponse"}, - "errors":[ - {"shape":"NoSuchHealthCheck"}, - {"shape":"HealthCheckInUse"}, - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/hostedzone/{Id}" - }, - "input":{"shape":"DeleteHostedZoneRequest"}, - "output":{"shape":"DeleteHostedZoneResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"HostedZoneNotEmpty"}, - {"shape":"PriorRequestNotComplete"}, - {"shape":"InvalidInput"}, - {"shape":"InvalidDomainName"} - ], - "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.

" - }, - "DeleteQueryLoggingConfig":{ - "name":"DeleteQueryLoggingConfig", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/queryloggingconfig/{Id}" - }, - "input":{"shape":"DeleteQueryLoggingConfigRequest"}, - "output":{"shape":"DeleteQueryLoggingConfigResponse"}, - "errors":[ - {"shape":"ConcurrentModification"}, - {"shape":"NoSuchQueryLoggingConfig"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Amazon Route 53 doesn't delete any logs that are already in CloudWatch Logs.

For more information about DNS query logs, see CreateQueryLoggingConfig.

" - }, - "DeleteReusableDelegationSet":{ - "name":"DeleteReusableDelegationSet", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/delegationset/{Id}" - }, - "input":{"shape":"DeleteReusableDelegationSetRequest"}, - "output":{"shape":"DeleteReusableDelegationSetResponse"}, - "errors":[ - {"shape":"NoSuchDelegationSet"}, - {"shape":"DelegationSetInUse"}, - {"shape":"DelegationSetNotReusable"}, - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/trafficpolicy/{Id}/{Version}" - }, - "input":{"shape":"DeleteTrafficPolicyRequest"}, - "output":{"shape":"DeleteTrafficPolicyResponse"}, - "errors":[ - {"shape":"NoSuchTrafficPolicy"}, - {"shape":"InvalidInput"}, - {"shape":"TrafficPolicyInUse"}, - {"shape":"ConcurrentModification"} - ], - "documentation":"

Deletes a traffic policy.

" - }, - "DeleteTrafficPolicyInstance":{ - "name":"DeleteTrafficPolicyInstance", - "http":{ - "method":"DELETE", - "requestUri":"/2013-04-01/trafficpolicyinstance/{Id}" - }, - "input":{"shape":"DeleteTrafficPolicyInstanceRequest"}, - "output":{"shape":"DeleteTrafficPolicyInstanceResponse"}, - "errors":[ - {"shape":"NoSuchTrafficPolicyInstance"}, - {"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.

In the Amazon Route 53 console, traffic policy instances are known as policy records.

" - }, - "DeleteVPCAssociationAuthorization":{ - "name":"DeleteVPCAssociationAuthorization", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation" - }, - "input":{ - "shape":"DeleteVPCAssociationAuthorizationRequest", - "locationName":"DeleteVPCAssociationAuthorizationRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"DeleteVPCAssociationAuthorizationResponse"}, - "errors":[ - {"shape":"ConcurrentModification"}, - {"shape":"VPCAssociationAuthorizationNotFound"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidVPCId"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request.

Sending this request only prevents the AWS account that created the VPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. If you want to delete an existing association, use DisassociateVPCFromHostedZone.

" - }, - "DisassociateVPCFromHostedZone":{ - "name":"DisassociateVPCFromHostedZone", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}/disassociatevpc" - }, - "input":{ - "shape":"DisassociateVPCFromHostedZoneRequest", - "locationName":"DisassociateVPCFromHostedZoneRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"DisassociateVPCFromHostedZoneResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidVPCId"}, - {"shape":"VPCAssociationNotFound"}, - {"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.

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.

" - }, - "GetAccountLimit":{ - "name":"GetAccountLimit", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/accountlimit/{Type}" - }, - "input":{"shape":"GetAccountLimitRequest"}, - "output":{"shape":"GetAccountLimitResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Gets the specified limit for the current account, for example, the maximum number of health checks that you can create using the account.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" - }, - "GetChange":{ - "name":"GetChange", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/change/{Id}" - }, - "input":{"shape":"GetChangeRequest"}, - "output":{"shape":"GetChangeResponse"}, - "errors":[ - {"shape":"NoSuchChange"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Returns the current status of a change batch request. The status is one of the following values:

  • PENDING indicates that the changes in this request have not 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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/checkeripranges" - }, - "input":{"shape":"GetCheckerIpRangesRequest"}, - "output":{"shape":"GetCheckerIpRangesResponse"}, - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/geolocation" - }, - "input":{"shape":"GetGeoLocationRequest"}, - "output":{"shape":"GetGeoLocationResponse"}, - "errors":[ - {"shape":"NoSuchGeoLocation"}, - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/healthcheck/{HealthCheckId}" - }, - "input":{"shape":"GetHealthCheckRequest"}, - "output":{"shape":"GetHealthCheckResponse"}, - "errors":[ - {"shape":"NoSuchHealthCheck"}, - {"shape":"InvalidInput"}, - {"shape":"IncompatibleVersion"} - ], - "documentation":"

Gets information about a specified health check.

" - }, - "GetHealthCheckCount":{ - "name":"GetHealthCheckCount", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/healthcheckcount" - }, - "input":{"shape":"GetHealthCheckCountRequest"}, - "output":{"shape":"GetHealthCheckCountResponse"}, - "documentation":"

Retrieves the number of health checks that are associated with the current AWS account.

" - }, - "GetHealthCheckLastFailureReason":{ - "name":"GetHealthCheckLastFailureReason", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason" - }, - "input":{"shape":"GetHealthCheckLastFailureReasonRequest"}, - "output":{"shape":"GetHealthCheckLastFailureReasonResponse"}, - "errors":[ - {"shape":"NoSuchHealthCheck"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets the reason that a specified health check failed most recently.

" - }, - "GetHealthCheckStatus":{ - "name":"GetHealthCheckStatus", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/healthcheck/{HealthCheckId}/status" - }, - "input":{"shape":"GetHealthCheckStatusRequest"}, - "output":{"shape":"GetHealthCheckStatusResponse"}, - "errors":[ - {"shape":"NoSuchHealthCheck"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets status of a specified health check.

" - }, - "GetHostedZone":{ - "name":"GetHostedZone", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone/{Id}" - }, - "input":{"shape":"GetHostedZoneRequest"}, - "output":{"shape":"GetHostedZoneResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

" - }, - "GetHostedZoneCount":{ - "name":"GetHostedZoneCount", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzonecount" - }, - "input":{"shape":"GetHostedZoneCountRequest"}, - "output":{"shape":"GetHostedZoneCountResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Retrieves the number of hosted zones that are associated with the current AWS account.

" - }, - "GetHostedZoneLimit":{ - "name":"GetHostedZoneLimit", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzonelimit/{Id}/{Type}" - }, - "input":{"shape":"GetHostedZoneLimitRequest"}, - "output":{"shape":"GetHostedZoneLimitResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"}, - {"shape":"HostedZoneNotPrivate"} - ], - "documentation":"

Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" - }, - "GetQueryLoggingConfig":{ - "name":"GetQueryLoggingConfig", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/queryloggingconfig/{Id}" - }, - "input":{"shape":"GetQueryLoggingConfigRequest"}, - "output":{"shape":"GetQueryLoggingConfigResponse"}, - "errors":[ - {"shape":"NoSuchQueryLoggingConfig"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets information about a specified configuration for DNS query logging.

For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.

" - }, - "GetReusableDelegationSet":{ - "name":"GetReusableDelegationSet", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/delegationset/{Id}" - }, - "input":{"shape":"GetReusableDelegationSetRequest"}, - "output":{"shape":"GetReusableDelegationSetResponse"}, - "errors":[ - {"shape":"NoSuchDelegationSet"}, - {"shape":"DelegationSetNotReusable"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Retrieves information about a specified reusable delegation set, including the four name servers that are assigned to the delegation set.

" - }, - "GetReusableDelegationSetLimit":{ - "name":"GetReusableDelegationSetLimit", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}" - }, - "input":{"shape":"GetReusableDelegationSetLimitRequest"}, - "output":{"shape":"GetReusableDelegationSetLimitResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchDelegationSet"} - ], - "documentation":"

Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set.

For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

" - }, - "GetTrafficPolicy":{ - "name":"GetTrafficPolicy", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicy/{Id}/{Version}" - }, - "input":{"shape":"GetTrafficPolicyRequest"}, - "output":{"shape":"GetTrafficPolicyResponse"}, - "errors":[ - {"shape":"NoSuchTrafficPolicy"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets information about a specific traffic policy version.

" - }, - "GetTrafficPolicyInstance":{ - "name":"GetTrafficPolicyInstance", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicyinstance/{Id}" - }, - "input":{"shape":"GetTrafficPolicyInstanceRequest"}, - "output":{"shape":"GetTrafficPolicyInstanceResponse"}, - "errors":[ - {"shape":"NoSuchTrafficPolicyInstance"}, - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicyinstancecount" - }, - "input":{"shape":"GetTrafficPolicyInstanceCountRequest"}, - "output":{"shape":"GetTrafficPolicyInstanceCountResponse"}, - "documentation":"

Gets the number of traffic policy instances that are associated with the current AWS account.

" - }, - "ListGeoLocations":{ - "name":"ListGeoLocations", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/geolocations" - }, - "input":{"shape":"ListGeoLocationsRequest"}, - "output":{"shape":"ListGeoLocationsResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/healthcheck" - }, - "input":{"shape":"ListHealthChecksRequest"}, - "output":{"shape":"ListHealthChecksResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"IncompatibleVersion"} - ], - "documentation":"

Retrieve a list of the health checks that are associated with the current AWS account.

" - }, - "ListHostedZones":{ - "name":"ListHostedZones", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone" - }, - "input":{"shape":"ListHostedZonesRequest"}, - "output":{"shape":"ListHostedZonesResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchDelegationSet"}, - {"shape":"DelegationSetNotReusable"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzonesbyname" - }, - "input":{"shape":"ListHostedZonesByNameRequest"}, - "output":{"shape":"ListHostedZonesByNameResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"InvalidDomainName"} - ], - "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.

" - }, - "ListQueryLoggingConfigs":{ - "name":"ListQueryLoggingConfigs", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/queryloggingconfig" - }, - "input":{"shape":"ListQueryLoggingConfigsRequest"}, - "output":{"shape":"ListQueryLoggingConfigsResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"InvalidPaginationToken"}, - {"shape":"NoSuchHostedZone"} - ], - "documentation":"

Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone.

For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide.

" - }, - "ListResourceRecordSets":{ - "name":"ListResourceRecordSets", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone/{Id}/rrset" - }, - "input":{"shape":"ListResourceRecordSetsRequest"}, - "output":{"shape":"ListResourceRecordSetsResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Lists the resource record sets in a specified hosted zone.

ListResourceRecordSets returns up to 100 resource record sets at a time in ASCII order, beginning at a position specified by the name and type elements. The action sorts results first by DNS name with the labels reversed, for example:

com.example.www.

Note the trailing dot, which can change the sort order in some circumstances.

When multiple records have the same DNS name, the action sorts results by the record type.

You can use the name and type elements to adjust the beginning position of the list of resource record sets returned:

If you do not specify Name or Type

The results begin with the first resource record set that the hosted zone contains.

If you specify Name but not Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name.

If you specify Type but not Name

Amazon Route 53 returns the InvalidInput error.

If you specify both Name and Type

The results begin with the first resource record set in the list whose name is greater than or equal to Name, and whose type is greater than or equal to Type.

This action returns the most current version of the records. This includes records that are PENDING, and that are not yet available on all Amazon Route 53 DNS servers.

To ensure that you get an accurate listing of the resource record sets for a hosted zone at a point in time, do not submit a ChangeResourceRecordSets request while you're paging through the results of a ListResourceRecordSets request. If you do, some pages may display results without the latest changes while other pages display results with the latest changes.

" - }, - "ListReusableDelegationSets":{ - "name":"ListReusableDelegationSets", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/delegationset" - }, - "input":{"shape":"ListReusableDelegationSetsRequest"}, - "output":{"shape":"ListReusableDelegationSetsResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Retrieves a list of the reusable delegation sets that are associated with the current AWS account.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/tags/{ResourceType}/{ResourceId}" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchHealthCheck"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"PriorRequestNotComplete"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Lists tags for one health check or hosted zone.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "ListTagsForResources":{ - "name":"ListTagsForResources", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/tags/{ResourceType}" - }, - "input":{ - "shape":"ListTagsForResourcesRequest", - "locationName":"ListTagsForResourcesRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"ListTagsForResourcesResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchHealthCheck"}, - {"shape":"NoSuchHostedZone"}, - {"shape":"PriorRequestNotComplete"}, - {"shape":"ThrottlingException"} - ], - "documentation":"

Lists tags for up to 10 health checks or hosted zones.

For information about using tags for cost allocation, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "ListTrafficPolicies":{ - "name":"ListTrafficPolicies", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicies" - }, - "input":{"shape":"ListTrafficPoliciesRequest"}, - "output":{"shape":"ListTrafficPoliciesResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicyinstances" - }, - "input":{"shape":"ListTrafficPolicyInstancesRequest"}, - "output":{"shape":"ListTrafficPolicyInstancesResponse"}, - "errors":[ - {"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.

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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicyinstances/hostedzone" - }, - "input":{"shape":"ListTrafficPolicyInstancesByHostedZoneRequest"}, - "output":{"shape":"ListTrafficPolicyInstancesByHostedZoneResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchTrafficPolicyInstance"}, - {"shape":"NoSuchHostedZone"} - ], - "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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicyinstances/trafficpolicy" - }, - "input":{"shape":"ListTrafficPolicyInstancesByPolicyRequest"}, - "output":{"shape":"ListTrafficPolicyInstancesByPolicyResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"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.

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", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/trafficpolicies/{Id}/versions" - }, - "input":{"shape":"ListTrafficPolicyVersionsRequest"}, - "output":{"shape":"ListTrafficPolicyVersionsResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchTrafficPolicy"} - ], - "documentation":"

Gets information about all of the versions for a specified traffic policy.

Traffic policy versions are listed in numerical order by VersionNumber.

" - }, - "ListVPCAssociationAuthorizations":{ - "name":"ListVPCAssociationAuthorizations", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone/{Id}/authorizevpcassociation" - }, - "input":{"shape":"ListVPCAssociationAuthorizationsRequest"}, - "output":{"shape":"ListVPCAssociationAuthorizationsResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"}, - {"shape":"InvalidPaginationToken"} - ], - "documentation":"

Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you've submitted one or more CreateVPCAssociationAuthorization requests.

The response includes a VPCs element with a VPC child element for each VPC that can be associated with the hosted zone.

" - }, - "TestDNSAnswer":{ - "name":"TestDNSAnswer", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/testdnsanswer" - }, - "input":{"shape":"TestDNSAnswerRequest"}, - "output":{"shape":"TestDNSAnswerResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet mask.

" - }, - "UpdateHealthCheck":{ - "name":"UpdateHealthCheck", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/healthcheck/{HealthCheckId}" - }, - "input":{ - "shape":"UpdateHealthCheckRequest", - "locationName":"UpdateHealthCheckRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"UpdateHealthCheckResponse"}, - "errors":[ - {"shape":"NoSuchHealthCheck"}, - {"shape":"InvalidInput"}, - {"shape":"HealthCheckVersionMismatch"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/hostedzone/{Id}" - }, - "input":{ - "shape":"UpdateHostedZoneCommentRequest", - "locationName":"UpdateHostedZoneCommentRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"UpdateHostedZoneCommentResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Updates the comment for a specified hosted zone.

" - }, - "UpdateTrafficPolicyComment":{ - "name":"UpdateTrafficPolicyComment", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/trafficpolicy/{Id}/{Version}" - }, - "input":{ - "shape":"UpdateTrafficPolicyCommentRequest", - "locationName":"UpdateTrafficPolicyCommentRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"UpdateTrafficPolicyCommentResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchTrafficPolicy"}, - {"shape":"ConcurrentModification"} - ], - "documentation":"

Updates the comment for a specified traffic policy version.

" - }, - "UpdateTrafficPolicyInstance":{ - "name":"UpdateTrafficPolicyInstance", - "http":{ - "method":"POST", - "requestUri":"/2013-04-01/trafficpolicyinstance/{Id}" - }, - "input":{ - "shape":"UpdateTrafficPolicyInstanceRequest", - "locationName":"UpdateTrafficPolicyInstanceRequest", - "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} - }, - "output":{"shape":"UpdateTrafficPolicyInstanceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NoSuchTrafficPolicy"}, - {"shape":"NoSuchTrafficPolicyInstance"}, - {"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.

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":{ - "AccountLimit":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"AccountLimitType", - "documentation":"

The limit that you requested. Valid values include the following:

  • MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can create using the current account.

  • MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can create using the current account.

  • MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation sets that you can create using the current account.

  • MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you can create using the current account.

  • MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)

" - }, - "Value":{ - "shape":"LimitValue", - "documentation":"

The current value for the limit that is specified by AccountLimit$Type.

" - } - }, - "documentation":"

A complex type that contains the type of limit that you specified in the request and the current value for that limit.

" - }, - "AccountLimitType":{ - "type":"string", - "enum":[ - "MAX_HEALTH_CHECKS_BY_OWNER", - "MAX_HOSTED_ZONES_BY_OWNER", - "MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER", - "MAX_REUSABLE_DELEGATION_SETS_BY_OWNER", - "MAX_TRAFFIC_POLICIES_BY_OWNER" - ] - }, - "AlarmIdentifier":{ - "type":"structure", - "required":[ - "Region", - "Name" - ], - "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 the AWS Regions and Endpoints chapter of the Amazon Web Services General Reference.

" - }, - "Name":{ - "shape":"AlarmName", - "documentation":"

The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

" - } - }, - "documentation":"

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.

" - }, - "AlarmName":{ - "type":"string", - "max":256, - "min":1 - }, - "AliasHealthEnabled":{"type":"boolean"}, - "AliasTarget":{ - "type":"structure", - "required":[ - "HostedZoneId", - "DNSName", - "EvaluateTargetHealth" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "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 that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.

  • AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

  • Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable value. For more information, see the applicable guide:

  • AWS CLI: Use describe-load-balancers to get the applicable value. For more information, see the applicable guide:

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:

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. For more information, see the applicable guide:

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, 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. 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":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPC" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the private hosted zone that you want to associate an Amazon VPC with.

Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.

", - "location":"uri", - "locationName":"Id" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

A complex type that contains information about the VPC that you want to associate with a private hosted zone.

" - }, - "Comment":{ - "shape":"AssociateVPCComment", - "documentation":"

Optional: A comment about the association request.

" - } - }, - "documentation":"

A complex type that contains information about the request to associate a VPC with a private hosted zone.

" - }, - "AssociateVPCWithHostedZoneResponse":{ - "type":"structure", - "required":["ChangeInfo"], - "members":{ - "ChangeInfo":{ - "shape":"ChangeInfo", - "documentation":"

A complex type that describes the changes made to your hosted zone.

" - } - }, - "documentation":"

A complex type that contains the response information for the AssociateVPCWithHostedZone request.

" - }, - "Change":{ - "type":"structure", - "required":[ - "Action", - "ResourceRecordSet" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

The action to perform:

  • CREATE: Creates a resource record set that has the specified values.

  • DELETE: Deletes a existing resource record set.

    To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance . Amazon Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no longer in use.

  • UPSERT: If a resource record set doesn't already exist, Amazon Route 53 creates it. If a resource record set does exist, Amazon Route 53 updates it with the values in the request.

" - }, - "ResourceRecordSet":{ - "shape":"ResourceRecordSet", - "documentation":"

Information about the resource record set to create, delete, or update.

" - } - }, - "documentation":"

The information for each resource record set that you want to change.

" - }, - "ChangeAction":{ - "type":"string", - "enum":[ - "CREATE", - "DELETE", - "UPSERT" - ] - }, - "ChangeBatch":{ - "type":"structure", - "required":["Changes"], - "members":{ - "Comment":{ - "shape":"ResourceDescription", - "documentation":"

Optional: Any comments you want to include about a change batch request.

" - }, - "Changes":{ - "shape":"Changes", - "documentation":"

Information about the changes to make to the record sets.

" - } - }, - "documentation":"

The information for a change request.

" - }, - "ChangeInfo":{ - "type":"structure", - "required":[ - "Id", - "Status", - "SubmittedAt" - ], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the request.

" - }, - "Status":{ - "shape":"ChangeStatus", - "documentation":"

The current state of the request. PENDING indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

" - }, - "SubmittedAt":{ - "shape":"TimeStamp", - "documentation":"

The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

" - }, - "Comment":{ - "shape":"ResourceDescription", - "documentation":"

A complex type that describes change information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" - } - }, - "documentation":"

A complex type that describes change information about changes made to your hosted zone.

" - }, - "ChangeResourceRecordSetsRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "ChangeBatch" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that contains the resource record sets that you want to change.

", - "location":"uri", - "locationName":"Id" - }, - "ChangeBatch":{ - "shape":"ChangeBatch", - "documentation":"

A complex type that contains an optional comment and the Changes element.

" - } - }, - "documentation":"

A complex type that contains change information for the resource record set.

" - }, - "ChangeResourceRecordSetsResponse":{ - "type":"structure", - "required":["ChangeInfo"], - "members":{ - "ChangeInfo":{ - "shape":"ChangeInfo", - "documentation":"

A complex type that contains information about changes made to your hosted zone.

This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

" - } - }, - "documentation":"

A complex type containing the response for the request.

" - }, - "ChangeStatus":{ - "type":"string", - "enum":[ - "PENDING", - "INSYNC" - ] - }, - "ChangeTagsForResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId" - ], - "members":{ - "ResourceType":{ - "shape":"TagResourceType", - "documentation":"

The type of the resource.

  • The resource type for health checks is healthcheck.

  • The resource type for hosted zones is hostedzone.

", - "location":"uri", - "locationName":"ResourceType" - }, - "ResourceId":{ - "shape":"TagResourceId", - "documentation":"

The ID of the resource for which you want to add, change, or delete tags.

", - "location":"uri", - "locationName":"ResourceId" - }, - "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 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", - "documentation":"

A complex type that contains a list of the tags that you want to delete from the specified health check or hosted zone. You can specify up to 10 keys.

" - } - }, - "documentation":"

A complex type that contains information about the tags that you want to add, edit, or delete.

" - }, - "ChangeTagsForResourceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Empty response for the request.

" - }, - "Changes":{ - "type":"list", - "member":{ - "shape":"Change", - "locationName":"Change" - }, - "min":1 - }, - "CheckerIpRanges":{ - "type":"list", - "member":{"shape":"IPAddressCidr"} - }, - "ChildHealthCheckList":{ - "type":"list", - "member":{ - "shape":"HealthCheckId", - "locationName":"ChildHealthCheck" - }, - "max":256 - }, - "CloudWatchAlarmConfiguration":{ - "type":"structure", - "required":[ - "EvaluationPeriods", - "Threshold", - "ComparisonOperator", - "Period", - "MetricName", - "Namespace", - "Statistic" - ], - "members":{ - "EvaluationPeriods":{ - "shape":"EvaluationPeriods", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the number of periods that the metric is compared to the threshold.

" - }, - "Threshold":{ - "shape":"Threshold", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the value the metric is compared with.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the arithmetic operation that is used for the comparison.

" - }, - "Period":{ - "shape":"Period", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the duration of one evaluation period in seconds.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the CloudWatch metric that the alarm is associated with.

" - }, - "Namespace":{ - "shape":"Namespace", - "documentation":"

The namespace of the metric that the alarm is associated with. For more information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.

" - }, - "Statistic":{ - "shape":"Statistic", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the statistic that is applied to the metric.

" - }, - "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":"

A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

" - }, - "CloudWatchLogsLogGroupArn":{"type":"string"}, - "CloudWatchRegion":{ - "type":"string", - "enum":[ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "ca-central-1", - "eu-central-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "sa-east-1" - ], - "max":64, - "min":1 - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" - ] - }, - "ConcurrentModification":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

Another user submitted a request to create, update, or delete the object at the same time that you did. Retry the request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "ConflictingDomainExists":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "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. For more information, see CreateReusableDelegationSet.

  • 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":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

You tried to update a traffic policy instance by using a traffic policy version that has a different DNS type than the current type for the instance. You specified the type in the JSON document in the CreateTrafficPolicy or CreateTrafficPolicyVersionrequest.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "CreateHealthCheckRequest":{ - "type":"structure", - "required":[ - "CallerReference", - "HealthCheckConfig" - ], - "members":{ - "CallerReference":{ - "shape":"HealthCheckNonce", - "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", - "documentation":"

A complex type that contains the response to a CreateHealthCheck request.

" - } - }, - "documentation":"

A complex type that contains the health check request information.

" - }, - "CreateHealthCheckResponse":{ - "type":"structure", - "required":[ - "HealthCheck", - "Location" - ], - "members":{ - "HealthCheck":{ - "shape":"HealthCheck", - "documentation":"

A complex type that contains identifying information about the health check.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

The unique URL representing the new health check.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

A complex type containing the response information for the new health check.

" - }, - "CreateHostedZoneRequest":{ - "type":"structure", - "required":[ - "Name", - "CallerReference" - ], - "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 DelegationSet.

" - }, - "VPC":{ - "shape":"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 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 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.

" - } - }, - "documentation":"

A complex type that contains information about the request to create a hosted zone.

" - }, - "CreateHostedZoneResponse":{ - "type":"structure", - "required":[ - "HostedZone", - "ChangeInfo", - "DelegationSet", - "Location" - ], - "members":{ - "HostedZone":{ - "shape":"HostedZone", - "documentation":"

A complex type that contains general information about the hosted zone.

" - }, - "ChangeInfo":{ - "shape":"ChangeInfo", - "documentation":"

A complex type that contains information about the CreateHostedZone request.

" - }, - "DelegationSet":{ - "shape":"DelegationSet", - "documentation":"

A complex type that describes the name servers for this hosted zone.

" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

A complex type that contains information about an Amazon VPC that you associated with this hosted zone.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

The unique URL representing the new hosted zone.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

A complex type containing the response information for the hosted zone.

" - }, - "CreateQueryLoggingConfigRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "CloudWatchLogsLogGroupArn" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"CloudWatchLogsLogGroupArn", - "documentation":"

The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN:

arn:aws:logs:region:account-id:log-group:log_group_name

To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs.

" - } - } - }, - "CreateQueryLoggingConfigResponse":{ - "type":"structure", - "required":[ - "QueryLoggingConfig", - "Location" - ], - "members":{ - "QueryLoggingConfig":{ - "shape":"QueryLoggingConfig", - "documentation":"

A complex type that contains the ID for a query logging configuration, the ID of the hosted zone that you want to log queries for, and the ARN for the log group that you want Amazon Route 53 to send query logs to.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

The unique URL representing the new query logging configuration.

", - "location":"header", - "locationName":"Location" - } - } - }, - "CreateReusableDelegationSetRequest":{ - "type":"structure", - "required":["CallerReference"], - "members":{ - "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.

" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

If you want to mark the delegation set for an existing hosted zone as reusable, the ID for that hosted zone.

" - } - } - }, - "CreateReusableDelegationSetResponse":{ - "type":"structure", - "required":[ - "DelegationSet", - "Location" - ], - "members":{ - "DelegationSet":{ - "shape":"DelegationSet", - "documentation":"

A complex type that contains name server information.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

The unique URL representing the new reusable delegation set.

", - "location":"header", - "locationName":"Location" - } - } - }, - "CreateTrafficPolicyInstanceRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "Name", - "TTL", - "TrafficPolicyId", - "TrafficPolicyVersion" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone in which you want Amazon Route 53 to create resource record sets by using the configuration in a traffic policy.

" - }, - "Name":{ - "shape":"DNSName", - "documentation":"

The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using the resource record sets that Amazon Route 53 creates for this traffic policy instance.

" - }, - "TTL":{ - "shape":"TTL", - "documentation":"

(Optional) The TTL that you want Amazon Route 53 to assign to all of the resource record sets that it creates in the specified hosted zone.

" - }, - "TrafficPolicyId":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy that you want to use to create resource record sets in the specified hosted zone.

" - }, - "TrafficPolicyVersion":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version of the traffic policy that you want to use to create resource record sets in the specified hosted zone.

" - } - }, - "documentation":"

A complex type that contains information about the resource record sets that you want to create based on a specified traffic policy.

" - }, - "CreateTrafficPolicyInstanceResponse":{ - "type":"structure", - "required":[ - "TrafficPolicyInstance", - "Location" - ], - "members":{ - "TrafficPolicyInstance":{ - "shape":"TrafficPolicyInstance", - "documentation":"

A complex type that contains settings for the new traffic policy instance.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

A unique URL that represents a new traffic policy instance.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

A complex type that contains the response information for the CreateTrafficPolicyInstance request.

" - }, - "CreateTrafficPolicyRequest":{ - "type":"structure", - "required":[ - "Name", - "Document" - ], - "members":{ - "Name":{ - "shape":"TrafficPolicyName", - "documentation":"

The name of the traffic policy.

" - }, - "Document":{ - "shape":"TrafficPolicyDocument", - "documentation":"

The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format.

" - }, - "Comment":{ - "shape":"TrafficPolicyComment", - "documentation":"

(Optional) Any comments that you want to include about the traffic policy.

" - } - }, - "documentation":"

A complex type that contains information about the traffic policy that you want to create.

" - }, - "CreateTrafficPolicyResponse":{ - "type":"structure", - "required":[ - "TrafficPolicy", - "Location" - ], - "members":{ - "TrafficPolicy":{ - "shape":"TrafficPolicy", - "documentation":"

A complex type that contains settings for the new traffic policy.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

A unique URL that represents a new traffic policy.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

A complex type that contains the response information for the CreateTrafficPolicy request.

" - }, - "CreateTrafficPolicyVersionRequest":{ - "type":"structure", - "required":[ - "Id", - "Document" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy for which you want to create a new version.

", - "location":"uri", - "locationName":"Id" - }, - "Document":{ - "shape":"TrafficPolicyDocument", - "documentation":"

The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy.

" - }, - "Comment":{ - "shape":"TrafficPolicyComment", - "documentation":"

The comment that you specified in the CreateTrafficPolicyVersion request, if any.

" - } - }, - "documentation":"

A complex type that contains information about the traffic policy that you want to create a new version for.

" - }, - "CreateTrafficPolicyVersionResponse":{ - "type":"structure", - "required":[ - "TrafficPolicy", - "Location" - ], - "members":{ - "TrafficPolicy":{ - "shape":"TrafficPolicy", - "documentation":"

A complex type that contains settings for the new version of the traffic policy.

" - }, - "Location":{ - "shape":"ResourceURI", - "documentation":"

A unique URL that represents a new traffic policy version.

", - "location":"header", - "locationName":"Location" - } - }, - "documentation":"

A complex type that contains the response information for the CreateTrafficPolicyVersion request.

" - }, - "CreateVPCAssociationAuthorizationRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPC" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the private hosted zone that you want to authorize associating a VPC with.

", - "location":"uri", - "locationName":"Id" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

A complex type that contains the VPC ID and region for the VPC that you want to authorize associating with your hosted zone.

" - } - }, - "documentation":"

A complex type that contains information about the request to authorize associating a VPC with your private hosted zone. Authorization is only required when a private hosted zone and a VPC were created by using different accounts.

" - }, - "CreateVPCAssociationAuthorizationResponse":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPC" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you authorized associating a VPC with.

" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

The VPC that you authorized associating with a hosted zone.

" - } - }, - "documentation":"

A complex type that contains the response information from a CreateVPCAssociationAuthorization request.

" - }, - "DNSName":{ - "type":"string", - "max":1024 - }, - "DNSRCode":{"type":"string"}, - "DelegationSet":{ - "type":"structure", - "required":["NameServers"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID that Amazon Route 53 assigns to a reusable delegation set.

" - }, - "CallerReference":{ - "shape":"Nonce", - "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 a hosted zone or for a reusable delegation set.

" - } - }, - "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", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

A delegation set with the same owner and caller reference combination has already been created.

", - "exception":true - }, - "DelegationSetAlreadyReusable":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified delegation set has already been marked as reusable.

", - "exception":true - }, - "DelegationSetInUse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified delegation contains associated hosted zones which must be deleted before the reusable delegation set can be deleted.

", - "exception":true - }, - "DelegationSetNameServers":{ - "type":"list", - "member":{ - "shape":"DNSName", - "locationName":"NameServer" - }, - "min":1 - }, - "DelegationSetNotAvailable":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

You can create a hosted zone that has the same name as an existing hosted zone (example.com is common), but there is a limit to the number of hosted zones that have the same name. If you get this error, Amazon Route 53 has reached that limit. If you own the domain name and Amazon Route 53 generates this error, contact Customer Support.

", - "exception":true - }, - "DelegationSetNotReusable":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

A reusable delegation set with the specified ID does not exist.

", - "exception":true - }, - "DelegationSets":{ - "type":"list", - "member":{ - "shape":"DelegationSet", - "locationName":"DelegationSet" - } - }, - "DeleteHealthCheckRequest":{ - "type":"structure", - "required":["HealthCheckId"], - "members":{ - "HealthCheckId":{ - "shape":"HealthCheckId", - "documentation":"

The ID of the health check that you want to delete.

", - "location":"uri", - "locationName":"HealthCheckId" - } - }, - "documentation":"

This action deletes a health check.

" - }, - "DeleteHealthCheckResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element.

" - }, - "DeleteHostedZoneRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone you want to delete.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A request to delete a hosted zone.

" - }, - "DeleteHostedZoneResponse":{ - "type":"structure", - "required":["ChangeInfo"], - "members":{ - "ChangeInfo":{ - "shape":"ChangeInfo", - "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 that contains the response to a DeleteHostedZone request.

" - }, - "DeleteQueryLoggingConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"QueryLoggingConfigId", - "documentation":"

The ID of the configuration that you want to delete.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "DeleteQueryLoggingConfigResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteReusableDelegationSetRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the reusable delegation set that you want to delete.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A request to delete a reusable delegation set.

" - }, - "DeleteReusableDelegationSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element.

" - }, - "DeleteTrafficPolicyInstanceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TrafficPolicyInstanceId", - "documentation":"

The ID of the traffic policy instance that you want to delete.

When you delete a traffic policy instance, Amazon Route 53 also deletes all of the resource record sets that were created when you created the traffic policy instance.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A request to delete a specified traffic policy instance.

" - }, - "DeleteTrafficPolicyInstanceResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element.

" - }, - "DeleteTrafficPolicyRequest":{ - "type":"structure", - "required":[ - "Id", - "Version" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy that you want to delete.

", - "location":"uri", - "locationName":"Id" - }, - "Version":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version number of the traffic policy that you want to delete.

", - "location":"uri", - "locationName":"Version" - } - }, - "documentation":"

A request to delete a specified traffic policy version.

" - }, - "DeleteTrafficPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element.

" - }, - "DeleteVPCAssociationAuthorizationRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPC" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, the ID of the hosted zone.

", - "location":"uri", - "locationName":"Id" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, a complex type that includes the ID and region of the VPC.

" - } - }, - "documentation":"

A complex type that contains information about the request to remove authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account.

" - }, - "DeleteVPCAssociationAuthorizationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

Empty response for the request.

" - }, - "Dimension":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"DimensionField", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the name of one dimension.

" - }, - "Value":{ - "shape":"DimensionField", - "documentation":"

For the metric that the CloudWatch alarm is associated with, the value of one dimension.

" - } - }, - "documentation":"

For the metric that the CloudWatch alarm is associated with, a complex type that contains information about one dimension.

" - }, - "DimensionField":{ - "type":"string", - "max":255, - "min":1 - }, - "DimensionList":{ - "type":"list", - "member":{ - "shape":"Dimension", - "locationName":"Dimension" - }, - "max":10 - }, - "DisassociateVPCComment":{"type":"string"}, - "DisassociateVPCFromHostedZoneRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPC" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the private hosted zone that you want to disassociate a VPC from.

", - "location":"uri", - "locationName":"Id" - }, - "VPC":{ - "shape":"VPC", - "documentation":"

A complex type that contains information about the VPC that you're disassociating from the specified hosted zone.

" - }, - "Comment":{ - "shape":"DisassociateVPCComment", - "documentation":"

Optional: A comment about the disassociation request.

" - } - }, - "documentation":"

A complex type that contains information about the VPC that you want to disassociate from a specified private hosted zone.

" - }, - "DisassociateVPCFromHostedZoneResponse":{ - "type":"structure", - "required":["ChangeInfo"], - "members":{ - "ChangeInfo":{ - "shape":"ChangeInfo", - "documentation":"

A complex type that describes the changes made to the specified private hosted zone.

" - } - }, - "documentation":"

A complex type that contains the response information for the disassociate request.

" - }, - "EnableSNI":{"type":"boolean"}, - "ErrorMessage":{"type":"string"}, - "ErrorMessages":{ - "type":"list", - "member":{ - "shape":"ErrorMessage", - "locationName":"Message" - } - }, - "EvaluationPeriods":{ - "type":"integer", - "min":1 - }, - "FailureThreshold":{ - "type":"integer", - "max":10, - "min":1 - }, - "FullyQualifiedDomainName":{ - "type":"string", - "max":255 - }, - "GeoLocation":{ - "type":"structure", - "members":{ - "ContinentCode":{ - "shape":"GeoLocationContinentCode", - "documentation":"

The two-letter code for the continent.

Valid values: AF | AN | AS | EU | OC | NA | SA

Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode returns an InvalidInput error.

" - }, - "CountryCode":{ - "shape":"GeoLocationCountryCode", - "documentation":"

The two-letter code for the country.

" - }, - "SubdivisionCode":{ - "shape":"GeoLocationSubdivisionCode", - "documentation":"

The code for the subdivision, for example, a state in the United States or a province in Canada.

" - } - }, - "documentation":"

A complex type that contains information about a geo location.

" - }, - "GeoLocationContinentCode":{ - "type":"string", - "max":2, - "min":2 - }, - "GeoLocationContinentName":{ - "type":"string", - "max":32, - "min":1 - }, - "GeoLocationCountryCode":{ - "type":"string", - "max":2, - "min":1 - }, - "GeoLocationCountryName":{ - "type":"string", - "max":64, - "min":1 - }, - "GeoLocationDetails":{ - "type":"structure", - "members":{ - "ContinentCode":{ - "shape":"GeoLocationContinentCode", - "documentation":"

The two-letter code for the continent.

" - }, - "ContinentName":{ - "shape":"GeoLocationContinentName", - "documentation":"

The full name of the continent.

" - }, - "CountryCode":{ - "shape":"GeoLocationCountryCode", - "documentation":"

The two-letter code for the country.

" - }, - "CountryName":{ - "shape":"GeoLocationCountryName", - "documentation":"

The name of the country.

" - }, - "SubdivisionCode":{ - "shape":"GeoLocationSubdivisionCode", - "documentation":"

The code for the subdivision, for example, a state in the United States or a province in Canada.

" - }, - "SubdivisionName":{ - "shape":"GeoLocationSubdivisionName", - "documentation":"

The full name of the subdivision, for example, a state in the United States or a province in Canada.

" - } - }, - "documentation":"

A complex type that contains the codes and full continent, country, and subdivision names for the specified geolocation code.

" - }, - "GeoLocationDetailsList":{ - "type":"list", - "member":{ - "shape":"GeoLocationDetails", - "locationName":"GeoLocationDetails" - } - }, - "GeoLocationSubdivisionCode":{ - "type":"string", - "max":3, - "min":1 - }, - "GeoLocationSubdivisionName":{ - "type":"string", - "max":64, - "min":1 - }, - "GetAccountLimitRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"AccountLimitType", - "documentation":"

The limit that you want to get. Valid values include the following:

  • MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can create using the current account.

  • MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can create using the current account.

  • MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation sets that you can create using the current account.

  • MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you can create using the current account.

  • MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)

", - "location":"uri", - "locationName":"Type" - } - }, - "documentation":"

A complex type that contains information about the request to create a hosted zone.

" - }, - "GetAccountLimitResponse":{ - "type":"structure", - "required":[ - "Limit", - "Count" - ], - "members":{ - "Limit":{ - "shape":"AccountLimit", - "documentation":"

The current setting for the specified limit. For example, if you specified MAX_HEALTH_CHECKS_BY_OWNER for the value of Type in the request, the value of Limit is the maximum number of health checks that you can create using the current account.

" - }, - "Count":{ - "shape":"UsageCount", - "documentation":"

The current number of entities that you have created of the specified type. For example, if you specified MAX_HEALTH_CHECKS_BY_OWNER for the value of Type in the request, the value of Count is the current number of health checks that you have created using the current account.

" - } - }, - "documentation":"

A complex type that contains the requested limit.

" - }, - "GetChangeRequest":{ - "type":"structure", - "required":["Id"], - "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.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

The input for a GetChange request.

" - }, - "GetChangeResponse":{ - "type":"structure", - "required":["ChangeInfo"], - "members":{ - "ChangeInfo":{ - "shape":"ChangeInfo", - "documentation":"

A complex type that contains information about the specified change batch.

" - } - }, - "documentation":"

A complex type that contains the ChangeInfo element.

" - }, - "GetCheckerIpRangesRequest":{ - "type":"structure", - "members":{ - } - }, - "GetCheckerIpRangesResponse":{ - "type":"structure", - "required":["CheckerIpRanges"], - "members":{ - "CheckerIpRanges":{"shape":"CheckerIpRanges"} - } - }, - "GetGeoLocationRequest":{ - "type":"structure", - "members":{ - "ContinentCode":{ - "shape":"GeoLocationContinentCode", - "documentation":"

Amazon Route 53 supports the following continent codes:

  • AF: Africa

  • AN: Antarctica

  • AS: Asia

  • EU: Europe

  • OC: Oceania

  • NA: North America

  • SA: South America

", - "location":"querystring", - "locationName":"continentcode" - }, - "CountryCode":{ - "shape":"GeoLocationCountryCode", - "documentation":"

Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

", - "location":"querystring", - "locationName":"countrycode" - }, - "SubdivisionCode":{ - "shape":"GeoLocationSubdivisionCode", - "documentation":"

Amazon Route 53 uses the one- to three-letter subdivision codes that are specified in ISO standard 3166-1 alpha-2. Amazon Route 53 doesn't support subdivision codes for all countries. If you specify SubdivisionCode, you must also specify CountryCode.

", - "location":"querystring", - "locationName":"subdivisioncode" - } - }, - "documentation":"

A request for information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets.

" - }, - "GetGeoLocationResponse":{ - "type":"structure", - "required":["GeoLocationDetails"], - "members":{ - "GeoLocationDetails":{ - "shape":"GeoLocationDetails", - "documentation":"

A complex type that contains the codes and full continent, country, and subdivision names for the specified geolocation code.

" - } - }, - "documentation":"

A complex type that contains the response information for the specified geolocation code.

" - }, - "GetHealthCheckCountRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

A request for the number of health checks that are associated with the current AWS account.

" - }, - "GetHealthCheckCountResponse":{ - "type":"structure", - "required":["HealthCheckCount"], - "members":{ - "HealthCheckCount":{ - "shape":"HealthCheckCount", - "documentation":"

The number of health checks associated with the current AWS account.

" - } - }, - "documentation":"

A complex type that contains the response to a GetHealthCheckCount request.

" - }, - "GetHealthCheckLastFailureReasonRequest":{ - "type":"structure", - "required":["HealthCheckId"], - "members":{ - "HealthCheckId":{ - "shape":"HealthCheckId", - "documentation":"

The ID for the health check for which you want the last failure reason. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

If you want to get the last failure reason for a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckLastFailureReason for a calculated health check.

", - "location":"uri", - "locationName":"HealthCheckId" - } - }, - "documentation":"

A request for the reason that a health check failed most recently.

" - }, - "GetHealthCheckLastFailureReasonResponse":{ - "type":"structure", - "required":["HealthCheckObservations"], - "members":{ - "HealthCheckObservations":{ - "shape":"HealthCheckObservations", - "documentation":"

A list that contains one Observation element for each Amazon Route 53 health checker that is reporting a last failure reason.

" - } - }, - "documentation":"

A complex type that contains the response to a GetHealthCheckLastFailureReason request.

" - }, - "GetHealthCheckRequest":{ - "type":"structure", - "required":["HealthCheckId"], - "members":{ - "HealthCheckId":{ - "shape":"HealthCheckId", - "documentation":"

The identifier that Amazon Route 53 assigned to the health check when you created it. When you add or update a resource record set, you use this value to specify which health check to use. The value can be up to 64 characters long.

", - "location":"uri", - "locationName":"HealthCheckId" - } - }, - "documentation":"

A request to get information about a specified health check.

" - }, - "GetHealthCheckResponse":{ - "type":"structure", - "required":["HealthCheck"], - "members":{ - "HealthCheck":{ - "shape":"HealthCheck", - "documentation":"

A complex type that contains information about one health check that is associated with the current AWS account.

" - } - }, - "documentation":"

A complex type that contains the response to a GetHealthCheck request.

" - }, - "GetHealthCheckStatusRequest":{ - "type":"structure", - "required":["HealthCheckId"], - "members":{ - "HealthCheckId":{ - "shape":"HealthCheckId", - "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 request to get the status for a health check.

" - }, - "GetHealthCheckStatusResponse":{ - "type":"structure", - "required":["HealthCheckObservations"], - "members":{ - "HealthCheckObservations":{ - "shape":"HealthCheckObservations", - "documentation":"

A list that contains one HealthCheckObservation element for each Amazon Route 53 health checker that is reporting a status about the health check endpoint.

" - } - }, - "documentation":"

A complex type that contains the response to a GetHealthCheck request.

" - }, - "GetHostedZoneCountRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

A request to retrieve a count of all the hosted zones that are associated with the current AWS account.

" - }, - "GetHostedZoneCountResponse":{ - "type":"structure", - "required":["HostedZoneCount"], - "members":{ - "HostedZoneCount":{ - "shape":"HostedZoneCount", - "documentation":"

The total number of public and private hosted zones that are associated with the current AWS account.

" - } - }, - "documentation":"

A complex type that contains the response to a GetHostedZoneCount request.

" - }, - "GetHostedZoneLimitRequest":{ - "type":"structure", - "required":[ - "Type", - "HostedZoneId" - ], - "members":{ - "Type":{ - "shape":"HostedZoneLimitType", - "documentation":"

The limit that you want to get. Valid values include the following:

  • MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the specified hosted zone.

  • MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

", - "location":"uri", - "locationName":"Type" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you want to get a limit for.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A complex type that contains information about the request to create a hosted zone.

" - }, - "GetHostedZoneLimitResponse":{ - "type":"structure", - "required":[ - "Limit", - "Count" - ], - "members":{ - "Limit":{ - "shape":"HostedZoneLimit", - "documentation":"

The current setting for the specified limit. For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Limit is the maximum number of records that you can create in the specified hosted zone.

" - }, - "Count":{ - "shape":"UsageCount", - "documentation":"

The current number of entities that you have created of the specified type. For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Count is the current number of records that you have created in the specified hosted zone.

" - } - }, - "documentation":"

A complex type that contains the requested limit.

" - }, - "GetHostedZoneRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you want to get information about.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A request to get information about a specified hosted zone.

" - }, - "GetHostedZoneResponse":{ - "type":"structure", - "required":["HostedZone"], - "members":{ - "HostedZone":{ - "shape":"HostedZone", - "documentation":"

A complex type that contains general information about the specified hosted zone.

" - }, - "DelegationSet":{ - "shape":"DelegationSet", - "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 the VPCs that are associated with the specified hosted zone.

" - } - }, - "documentation":"

A complex type that contain the response to a GetHostedZone request.

" - }, - "GetQueryLoggingConfigRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"QueryLoggingConfigId", - "documentation":"

The ID of the configuration for DNS query logging that you want to get information about.

", - "location":"uri", - "locationName":"Id" - } - } - }, - "GetQueryLoggingConfigResponse":{ - "type":"structure", - "required":["QueryLoggingConfig"], - "members":{ - "QueryLoggingConfig":{ - "shape":"QueryLoggingConfig", - "documentation":"

A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

" - } - } - }, - "GetReusableDelegationSetLimitRequest":{ - "type":"structure", - "required":[ - "Type", - "DelegationSetId" - ], - "members":{ - "Type":{ - "shape":"ReusableDelegationSetLimitType", - "documentation":"

Specify MAX_ZONES_BY_REUSABLE_DELEGATION_SET to get the maximum number of hosted zones that you can associate with the specified reusable delegation set.

", - "location":"uri", - "locationName":"Type" - }, - "DelegationSetId":{ - "shape":"ResourceId", - "documentation":"

The ID of the delegation set that you want to get the limit for.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A complex type that contains information about the request to create a hosted zone.

" - }, - "GetReusableDelegationSetLimitResponse":{ - "type":"structure", - "required":[ - "Limit", - "Count" - ], - "members":{ - "Limit":{ - "shape":"ReusableDelegationSetLimit", - "documentation":"

The current setting for the limit on hosted zones that you can associate with the specified reusable delegation set.

" - }, - "Count":{ - "shape":"UsageCount", - "documentation":"

The current number of hosted zones that you can associate with the specified reusable delegation set.

" - } - }, - "documentation":"

A complex type that contains the requested limit.

" - }, - "GetReusableDelegationSetRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the reusable delegation set that you want to get a list of name servers for.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

A request to get information about a specified reusable delegation set.

" - }, - "GetReusableDelegationSetResponse":{ - "type":"structure", - "required":["DelegationSet"], - "members":{ - "DelegationSet":{ - "shape":"DelegationSet", - "documentation":"

A complex type that contains information about the reusable delegation set.

" - } - }, - "documentation":"

A complex type that contains the response to the GetReusableDelegationSet request.

" - }, - "GetTrafficPolicyInstanceCountRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Request to get the number of traffic policy instances that are associated with the current AWS account.

" - }, - "GetTrafficPolicyInstanceCountResponse":{ - "type":"structure", - "required":["TrafficPolicyInstanceCount"], - "members":{ - "TrafficPolicyInstanceCount":{ - "shape":"TrafficPolicyInstanceCount", - "documentation":"

The number of traffic policy instances that are associated with the current AWS account.

" - } - }, - "documentation":"

A complex type that contains information about the resource record sets that Amazon Route 53 created based on a specified traffic policy.

" - }, - "GetTrafficPolicyInstanceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TrafficPolicyInstanceId", - "documentation":"

The ID of the traffic policy instance that you want to get information about.

", - "location":"uri", - "locationName":"Id" - } - }, - "documentation":"

Gets information about a specified traffic policy instance.

" - }, - "GetTrafficPolicyInstanceResponse":{ - "type":"structure", - "required":["TrafficPolicyInstance"], - "members":{ - "TrafficPolicyInstance":{ - "shape":"TrafficPolicyInstance", - "documentation":"

A complex type that contains settings for the traffic policy instance.

" - } - }, - "documentation":"

A complex type that contains information about the resource record sets that Amazon Route 53 created based on a specified traffic policy.

" - }, - "GetTrafficPolicyRequest":{ - "type":"structure", - "required":[ - "Id", - "Version" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy that you want to get information about.

", - "location":"uri", - "locationName":"Id" - }, - "Version":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version number of the traffic policy that you want to get information about.

", - "location":"uri", - "locationName":"Version" - } - }, - "documentation":"

Gets information about a specific traffic policy version.

" - }, - "GetTrafficPolicyResponse":{ - "type":"structure", - "required":["TrafficPolicy"], - "members":{ - "TrafficPolicy":{ - "shape":"TrafficPolicy", - "documentation":"

A complex type that contains settings for the specified traffic policy.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "HealthCheck":{ - "type":"structure", - "required":[ - "Id", - "CallerReference", - "HealthCheckConfig", - "HealthCheckVersion" - ], - "members":{ - "Id":{ - "shape":"HealthCheckId", - "documentation":"

The identifier that Amazon Route 53assigned to the health check when you created it. When you add or update a resource record set, you use this value to specify which health check to use. The value can be up to 64 characters long.

" - }, - "CallerReference":{ - "shape":"HealthCheckNonce", - "documentation":"

A unique string that you specified when you created the health check.

" - }, - "LinkedService":{ - "shape":"LinkedService", - "documentation":"

If the health check was created by another service, the service that created the health check. When a health check is created by another service, you can't edit or delete it using Amazon Route 53.

" - }, - "HealthCheckConfig":{ - "shape":"HealthCheckConfig", - "documentation":"

A complex type that contains detailed information about one health check.

" - }, - "HealthCheckVersion":{ - "shape":"HealthCheckVersion", - "documentation":"

The version of the health check. You can optionally pass this value in a call to UpdateHealthCheck to prevent overwriting another change to the health check.

" - }, - "CloudWatchAlarmConfiguration":{ - "shape":"CloudWatchAlarmConfiguration", - "documentation":"

A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

" - } - }, - "documentation":"

A complex type that contains information about one health check that is associated with the current AWS account.

" - }, - "HealthCheckAlreadyExists":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "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 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 - }, - "HealthCheckConfig":{ - "type":"structure", - "required":["Type"], - "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.

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.

" - }, - "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, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

" - }, - "ResourcePath":{ - "shape":"ResourcePath", - "documentation":"

The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html.

" - }, - "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-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", - "documentation":"

If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Amazon Route 53 considers the resource healthy.

Amazon Route 53 considers case when searching for SearchString in the response body.

" - }, - "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.

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.

If you don't specify a value for FailureThreshold, the default value is three health checks.

" - }, - "MeasureLatency":{ - "shape":"MeasureLatency", - "documentation":"

Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Amazon Route 53 console.

You can't change the value of MeasureLatency after you create a health check.

" - }, - "Inverted":{ - "shape":"Inverted", - "documentation":"

Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

" - }, - "HealthThreshold":{ - "shape":"HealthThreshold", - "documentation":"

The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the HealthCheckConfig$ChildHealthChecks and HealthCheckConfig$ChildHealthChecks elements.

Note the following:

  • If you specify a number greater than the number of child health checks, Amazon Route 53 always considers this health check to be unhealthy.

  • If you specify 0, Amazon Route 53 always considers this health check to be healthy.

" - }, - "ChildHealthChecks":{ - "shape":"ChildHealthCheckList", - "documentation":"

(CALCULATED Health Checks Only) A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a CALCULATED health check.

" - }, - "EnableSNI":{ - "shape":"EnableSNI", - "documentation":"

Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate.

Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't enable SNI, the status of the health check will be SSL alert handshake_failure. A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.

The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

" - }, - "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.

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", - "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.

" - }, - "InsufficientDataHealthStatus":{ - "shape":"InsufficientDataHealthStatus", - "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

  • Healthy: Amazon Route 53 considers the health check to be healthy.

  • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

  • LastKnownStatus: Amazon Route 53 uses the status of the health check from the last time 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.

" - }, - "HealthCheckCount":{"type":"long"}, - "HealthCheckId":{ - "type":"string", - "max":64 - }, - "HealthCheckInUse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This error code is not in use.

", - "deprecated":true, - "error":{"httpStatusCode":400}, - "exception":true - }, - "HealthCheckNonce":{ - "type":"string", - "max":64, - "min":1 - }, - "HealthCheckObservation":{ - "type":"structure", - "members":{ - "Region":{ - "shape":"HealthCheckRegion", - "documentation":"

The region of the Amazon Route 53 health checker that provided the status in StatusReport.

" - }, - "IPAddress":{ - "shape":"IPAddress", - "documentation":"

The IP address of the Amazon Route 53 health checker that provided the failure reason in StatusReport.

" - }, - "StatusReport":{ - "shape":"StatusReport", - "documentation":"

A complex type that contains the last failure reason as reported by one Amazon Route 53 health checker and the time of the failed health check.

" - } - }, - "documentation":"

A complex type that contains the last failure reason as reported by one Amazon Route 53 health checker.

" - }, - "HealthCheckObservations":{ - "type":"list", - "member":{ - "shape":"HealthCheckObservation", - "locationName":"HealthCheckObservation" - } - }, - "HealthCheckRegion":{ - "type":"string", - "enum":[ - "us-east-1", - "us-west-1", - "us-west-2", - "eu-west-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1", - "sa-east-1" - ], - "max":64, - "min":1 - }, - "HealthCheckRegionList":{ - "type":"list", - "member":{ - "shape":"HealthCheckRegion", - "locationName":"Region" - }, - "max":64, - "min":3 - }, - "HealthCheckType":{ - "type":"string", - "enum":[ - "HTTP", - "HTTPS", - "HTTP_STR_MATCH", - "HTTPS_STR_MATCH", - "TCP", - "CALCULATED", - "CLOUDWATCH_METRIC" - ] - }, - "HealthCheckVersion":{ - "type":"long", - "min":1 - }, - "HealthCheckVersionMismatch":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The value of HealthCheckVersion in the request doesn't match the value of HealthCheckVersion in the health check.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "HealthChecks":{ - "type":"list", - "member":{ - "shape":"HealthCheck", - "locationName":"HealthCheck" - } - }, - "HealthThreshold":{ - "type":"integer", - "max":256, - "min":0 - }, - "HostedZone":{ - "type":"structure", - "required":[ - "Id", - "Name", - "CallerReference" - ], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID that Amazon Route 53 assigned to the hosted zone when you created it.

" - }, - "Name":{ - "shape":"DNSName", - "documentation":"

The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.

" - }, - "CallerReference":{ - "shape":"Nonce", - "documentation":"

The value that you specified for CallerReference when you created the hosted zone.

" - }, - "Config":{ - "shape":"HostedZoneConfig", - "documentation":"

A complex type that includes the Comment and PrivateZone elements. If you omitted the HostedZoneConfig and Comment elements from the request, the Config and Comment elements don't appear in the response.

" - }, - "ResourceRecordSetCount":{ - "shape":"HostedZoneRRSetCount", - "documentation":"

The number of resource record sets in the hosted zone.

" - }, - "LinkedService":{ - "shape":"LinkedService", - "documentation":"

If the hosted zone was created by another service, the service that created the hosted zone. When a hosted zone is created by another service, you can't edit or delete it using Amazon Route 53.

" - } - }, - "documentation":"

A complex type that contains general information about the hosted zone.

" - }, - "HostedZoneAlreadyExists":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "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 - }, - "HostedZoneConfig":{ - "type":"structure", - "members":{ - "Comment":{ - "shape":"ResourceDescription", - "documentation":"

Any comments that you want to include about the hosted zone.

" - }, - "PrivateZone":{ - "shape":"IsPrivateZone", - "documentation":"

A value that indicates whether this is a private hosted zone.

" - } - }, - "documentation":"

A complex type that contains an optional comment about your hosted zone. If you don't want to specify a comment, omit both the HostedZoneConfig and Comment elements.

" - }, - "HostedZoneCount":{"type":"long"}, - "HostedZoneLimit":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"HostedZoneLimitType", - "documentation":"

The limit that you requested. Valid values include the following:

  • MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the specified hosted zone.

  • MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

" - }, - "Value":{ - "shape":"LimitValue", - "documentation":"

The current value for the limit that is specified by Type.

" - } - }, - "documentation":"

A complex type that contains the type of limit that you specified in the request and the current value for that limit.

" - }, - "HostedZoneLimitType":{ - "type":"string", - "enum":[ - "MAX_RRSETS_BY_ZONE", - "MAX_VPCS_ASSOCIATED_BY_ZONE" - ] - }, - "HostedZoneNotEmpty":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The hosted zone contains resource records that are not SOA or NS records.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "HostedZoneNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified HostedZone can't be found.

", - "exception":true - }, - "HostedZoneNotPrivate":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified hosted zone is a public hosted zone, not a private hosted zone.

", - "exception":true - }, - "HostedZoneRRSetCount":{"type":"long"}, - "HostedZones":{ - "type":"list", - "member":{ - "shape":"HostedZone", - "locationName":"HostedZone" - } - }, - "IPAddress":{ - "type":"string", - "max":45, - "pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$)" - }, - "IPAddressCidr":{"type":"string"}, - "IncompatibleVersion":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The resource you're trying to access is unsupported on this Amazon Route 53 endpoint.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InsufficientCloudWatchLogsResourcePolicy":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Amazon Route 53 doesn't have the permissions required to create log streams and send query logs to log streams. Possible causes include the following:

  • There is no resource policy that specifies the log group ARN in the value for Resource.

  • The resource policy that includes the log group ARN in the value for Resource doesn't have the necessary permissions.

  • The resource policy hasn't finished propagating yet.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InsufficientDataHealthStatus":{ - "type":"string", - "enum":[ - "Healthy", - "Unhealthy", - "LastKnownStatus" - ] - }, - "InvalidArgument":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

Parameter name is invalid.

", - "exception":true - }, - "InvalidChangeBatch":{ - "type":"structure", - "members":{ - "messages":{ - "shape":"ErrorMessages", - "documentation":"

Descriptive message for the error response.

" - }, - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

This exception contains a list of messages that might contain one or more error messages. Each error message indicates one error in the change batch.

", - "exception":true - }, - "InvalidDomainName":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified domain name is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidInput":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The input is not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidPaginationToken":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The value that you specified to get the second or subsequent page of results is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidTrafficPolicyDocument":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The format of the traffic policy document that you specified in the Document element is invalid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidVPCId":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access this VPC.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Inverted":{"type":"boolean"}, - "IsPrivateZone":{"type":"boolean"}, - "LastVPCAssociation":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The VPC that you're trying to disassociate from the private hosted zone is the last VPC that is associated with the hosted zone. Amazon Route 53 doesn't support disassociating the last VPC from a hosted zone.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "LimitValue":{ - "type":"long", - "min":1 - }, - "LimitsExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This operation can't be completed either because the current account has reached the limit on reusable delegation sets that it can create or because you've reached the limit on the number of Amazon VPCs that you can associate with a private hosted zone. To get the current limit on the number of reusable delegation sets, see GetAccountLimit. To get the current limit on the number of Amazon VPCs that you can associate with a private hosted zone, see GetHostedZoneLimit. To request a higher limit, create a case with the AWS Support Center.

", - "exception":true - }, - "LinkedService":{ - "type":"structure", - "members":{ - "ServicePrincipal":{ - "shape":"ServicePrincipal", - "documentation":"

If the health check or hosted zone was created by another service, the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

" - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

If the health check or hosted zone was created by another service, an optional description that can be provided by the other service. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

" - } - }, - "documentation":"

If a health check or hosted zone was created by another service, LinkedService is a complex type that describes the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

" - }, - "ListGeoLocationsRequest":{ - "type":"structure", - "members":{ - "StartContinentCode":{ - "shape":"GeoLocationContinentCode", - "documentation":"

The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous response has a value, enter that value in StartContinentCode to return the next page of results.

Include StartContinentCode only if you want to list continents. Don't include StartContinentCode when you're listing countries or countries with their subdivisions.

", - "location":"querystring", - "locationName":"startcontinentcode" - }, - "StartCountryCode":{ - "shape":"GeoLocationCountryCode", - "documentation":"

The code for the country with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextCountryCode from the previous response has a value, enter that value in StartCountryCode to return the next page of results.

Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

", - "location":"querystring", - "locationName":"startcountrycode" - }, - "StartSubdivisionCode":{ - "shape":"GeoLocationSubdivisionCode", - "documentation":"

The code for the subdivision (for example, state or province) with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextSubdivisionCode from the previous response has a value, enter that value in StartSubdivisionCode to return the next page of results.

To list subdivisions of a country, you must include both StartCountryCode and StartSubdivisionCode.

", - "location":"querystring", - "locationName":"startsubdivisioncode" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

(Optional) The maximum number of geolocations to be included in the response body for this request. If more than MaxItems geolocations remain to be listed, then the value of the IsTruncated element in the response is true.

", - "location":"querystring", - "locationName":"maxitems" - } - }, - "documentation":"

A request to get a list of geographic locations that Amazon Route 53 supports for geolocation resource record sets.

" - }, - "ListGeoLocationsResponse":{ - "type":"structure", - "required":[ - "GeoLocationDetailsList", - "IsTruncated", - "MaxItems" - ], - "members":{ - "GeoLocationDetailsList":{ - "shape":"GeoLocationDetailsList", - "documentation":"

A complex type that contains one GeoLocationDetails element for each location that Amazon Route 53 supports for geolocation.

" - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

A value that indicates whether more locations remain to be listed after the last location in this response. If so, the value of IsTruncated is true. To get more values, submit another request and include the values of NextContinentCode, NextCountryCode, and NextSubdivisionCode in the StartContinentCode, StartCountryCode, and StartSubdivisionCode, as applicable.

" - }, - "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 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 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 ListGeoLocations request.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

The value that you specified for MaxItems in the request.

" - } - }, - "documentation":"

A complex type containing the response information for the request.

" - }, - "ListHealthChecksRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"PageMarker", - "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 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":"

A request to retrieve a list of the health checks that are associated with the current AWS account.

" - }, - "ListHealthChecksResponse":{ - "type":"structure", - "required":[ - "HealthChecks", - "Marker", - "IsTruncated", - "MaxItems" - ], - "members":{ - "HealthChecks":{ - "shape":"HealthChecks", - "documentation":"

A complex type that contains one HealthCheck element for each health check that is associated with the current AWS account.

" - }, - "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.

" - }, - "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 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 that Amazon Route 53 returns if you submit another ListHealthChecks request and specify the value of NextMarker in the marker parameter.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

The value that you specified for the maxitems parameter in the call to ListHealthChecks that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response to a ListHealthChecks request.

" - }, - "ListHostedZonesByNameRequest":{ - "type":"structure", - "members":{ - "DNSName":{ - "shape":"DNSName", - "documentation":"

(Optional) For your first request to ListHostedZonesByName, include the dnsname parameter only if you want to specify the name of the first hosted zone in the response. If you don't include the dnsname parameter, Amazon Route 53 returns all of the hosted zones that were created by the current AWS account, in ASCII order. For subsequent requests, include both dnsname and hostedzoneid parameters. For dnsname, specify the value of NextDNSName from the previous response.

", - "location":"querystring", - "locationName":"dnsname" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

(Optional) For your first request to ListHostedZonesByName, do not include the hostedzoneid parameter.

If you have more hosted zones than the value of maxitems, ListHostedZonesByName returns only the first maxitems hosted zones. To get the next group of maxitems hosted zones, submit another request to ListHostedZonesByName and include both dnsname and hostedzoneid parameters. For the value of hostedzoneid, specify the value of the NextHostedZoneId element from the previous response.

", - "location":"querystring", - "locationName":"hostedzoneid" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, then the value of the IsTruncated element in the response is true, and the values of NextDNSName and NextHostedZoneId specify the first hosted zone in the next group of maxitems hosted zones.

", - "location":"querystring", - "locationName":"maxitems" - } - }, - "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", - "required":[ - "HostedZones", - "IsTruncated", - "MaxItems" - ], - "members":{ - "HostedZones":{ - "shape":"HostedZones", - "documentation":"

A complex type that contains general information about the hosted zone.

" - }, - "DNSName":{ - "shape":"DNSName", - "documentation":"

For the second and subsequent calls to ListHostedZonesByName, DNSName is the value that you specified for the dnsname parameter in the request that produced the current response.

" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID that Amazon Route 53 assigned to the hosted zone when you created it.

" - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

A flag that indicates 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 ListHostedZonesByName again and specifying the values of NextDNSName and NextHostedZoneId elements in the dnsname and hostedzoneid parameters.

" - }, - "NextDNSName":{ - "shape":"DNSName", - "documentation":"

If IsTruncated is true, the value of NextDNSName is the name of the first hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

This element is present only if IsTruncated is true.

" - }, - "NextHostedZoneId":{ - "shape":"ResourceId", - "documentation":"

If IsTruncated is true, the value of NextHostedZoneId identifies the first hosted zone in the next group of maxitems hosted zones. Call ListHostedZonesByName again and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

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 ListHostedZonesByName that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "ListHostedZonesRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"PageMarker", - "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 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" - }, - "DelegationSetId":{ - "shape":"ResourceId", - "documentation":"

If you're using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set.

", - "location":"querystring", - "locationName":"delegationsetid" - } - }, - "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", - "required":[ - "HostedZones", - "Marker", - "IsTruncated", - "MaxItems" - ], - "members":{ - "HostedZones":{ - "shape":"HostedZones", - "documentation":"

A complex type that contains general information about the hosted zone.

" - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

" - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

A flag 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 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", - "documentation":"

The value that you specified for the maxitems parameter in the call to ListHostedZones that produced the current response.

" - } - } - }, - "ListQueryLoggingConfigsRequest":{ - "type":"structure", - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

(Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in HostedZoneId.

If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations that are associated with the current AWS account.

", - "location":"querystring", - "locationName":"hostedzoneid" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

(Optional) If the current AWS account has more than MaxResults query logging configurations, use NextToken to get the second and subsequent pages of results.

For the first ListQueryLoggingConfigs request, omit this value.

For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

", - "location":"querystring", - "locationName":"nexttoken" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

(Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of ListQueryLoggingConfigsResponse$NextToken in the response to get the next page of results.

If you don't specify a value for MaxResults, Amazon Route 53 returns up to 100 configurations.

", - "location":"querystring", - "locationName":"maxresults" - } - } - }, - "ListQueryLoggingConfigsResponse":{ - "type":"structure", - "required":["QueryLoggingConfigs"], - "members":{ - "QueryLoggingConfigs":{ - "shape":"QueryLoggingConfigs", - "documentation":"

An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current AWS account.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If a response includes the last of the query logging configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

" - } - } - }, - "ListResourceRecordSetsRequest":{ - "type":"structure", - "required":["HostedZoneId"], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that contains the resource record sets that you want to list.

", - "location":"uri", - "locationName":"Id" - }, - "StartRecordName":{ - "shape":"DNSName", - "documentation":"

The first name in the lexicographic ordering of resource record sets that you want to list.

", - "location":"querystring", - "locationName":"name" - }, - "StartRecordType":{ - "shape":"RRType", - "documentation":"

The type of resource record set to begin the record listing from.

Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geo, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

Values for alias resource record sets:

  • CloudFront distribution: A or AAAA

  • Elastic Beanstalk environment that has a regionalized subdomain: A

  • ELB load balancer: A | AAAA

  • Amazon S3 bucket: A

  • Another resource record set in this hosted zone: The type of the resource record set that the alias references.

Constraint: Specifying type without specifying name returns an InvalidInput error.

", - "location":"querystring", - "locationName":"type" - }, - "StartRecordIdentifier":{ - "shape":"ResourceRecordSetIdentifier", - "documentation":"

Weighted resource record sets only: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type.

", - "location":"querystring", - "locationName":"identifier" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

(Optional) The maximum number of resource records sets to include in the response body for this request. If the response includes more than maxitems resource record sets, the value of the IsTruncated element in the response is true, and the values of the NextRecordName and NextRecordType elements in the response identify the first resource record set in the next group of maxitems resource record sets.

", - "location":"querystring", - "locationName":"maxitems" - } - }, - "documentation":"

A request for the resource record sets that are associated with a specified hosted zone.

" - }, - "ListResourceRecordSetsResponse":{ - "type":"structure", - "required":[ - "ResourceRecordSets", - "IsTruncated", - "MaxItems" - ], - "members":{ - "ResourceRecordSets":{ - "shape":"ResourceRecordSets", - "documentation":"

Information about multiple resource record sets.

" - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

A flag that indicates whether more resource record sets remain to be listed. If your results were truncated, you can make a follow-up pagination request by using the NextRecordName element.

" - }, - "NextRecordName":{ - "shape":"DNSName", - "documentation":"

If the results were truncated, the name of the next record in the list.

This element is present only if IsTruncated is true.

" - }, - "NextRecordType":{ - "shape":"RRType", - "documentation":"

If the results were truncated, the type of the next record in the list.

This element is present only if IsTruncated is true.

" - }, - "NextRecordIdentifier":{ - "shape":"ResourceRecordSetIdentifier", - "documentation":"

Weighted, latency, geolocation, and failover resource record sets only: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

The maximum number of records you requested.

" - } - }, - "documentation":"

A complex type that contains list information for the resource record set.

" - }, - "ListReusableDelegationSetsRequest":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"PageMarker", - "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 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":"

A request to get a list of the reusable delegation sets that are associated with the current AWS account.

" - }, - "ListReusableDelegationSetsResponse":{ - "type":"structure", - "required":[ - "DelegationSets", - "Marker", - "IsTruncated", - "MaxItems" - ], - "members":{ - "DelegationSets":{ - "shape":"DelegationSets", - "documentation":"

A complex type that contains one DelegationSet element for each reusable delegation set that was created by the current AWS account.

" - }, - "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.

" - }, - "IsTruncated":{ - "shape":"PageTruncated", - "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 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", - "documentation":"

The value that you specified for the maxitems parameter in the call to ListReusableDelegationSets that produced the current response.

" - } - }, - "documentation":"

A complex type that contains information about the reusable delegation sets that are associated with the current AWS account.

" - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId" - ], - "members":{ - "ResourceType":{ - "shape":"TagResourceType", - "documentation":"

The type of the resource.

  • The resource type for health checks is healthcheck.

  • The resource type for hosted zones is hostedzone.

", - "location":"uri", - "locationName":"ResourceType" - }, - "ResourceId":{ - "shape":"TagResourceId", - "documentation":"

The ID of the resource for which you want to retrieve tags.

", - "location":"uri", - "locationName":"ResourceId" - } - }, - "documentation":"

A complex type containing information about a request for a list of the tags that are associated with an individual resource.

" - }, - "ListTagsForResourceResponse":{ - "type":"structure", - "required":["ResourceTagSet"], - "members":{ - "ResourceTagSet":{ - "shape":"ResourceTagSet", - "documentation":"

A ResourceTagSet containing tags associated with the specified resource.

" - } - }, - "documentation":"

A complex type that contains information about the health checks or hosted zones for which you want to list tags.

" - }, - "ListTagsForResourcesRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceIds" - ], - "members":{ - "ResourceType":{ - "shape":"TagResourceType", - "documentation":"

The type of the resources.

  • The resource type for health checks is healthcheck.

  • The resource type for hosted zones is hostedzone.

", - "location":"uri", - "locationName":"ResourceType" - }, - "ResourceIds":{ - "shape":"TagResourceIdList", - "documentation":"

A complex type that contains the ResourceId element for each resource for which you want to get a list of tags.

" - } - }, - "documentation":"

A complex type that contains information about the health checks or hosted zones for which you want to list tags.

" - }, - "ListTagsForResourcesResponse":{ - "type":"structure", - "required":["ResourceTagSets"], - "members":{ - "ResourceTagSets":{ - "shape":"ResourceTagSetList", - "documentation":"

A list of ResourceTagSets containing tags associated with the specified resources.

" - } - }, - "documentation":"

A complex type containing tags for the specified resources.

" - }, - "ListTrafficPoliciesRequest":{ - "type":"structure", - "members":{ - "TrafficPolicyIdMarker":{ - "shape":"TrafficPolicyId", - "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 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" - } - }, - "documentation":"

A complex type that contains the information about the request to list the traffic policies that are associated with the current AWS account.

" - }, - "ListTrafficPoliciesResponse":{ - "type":"structure", - "required":[ - "TrafficPolicySummaries", - "IsTruncated", - "TrafficPolicyIdMarker", - "MaxItems" - ], - "members":{ - "TrafficPolicySummaries":{ - "shape":"TrafficPolicySummaries", - "documentation":"

A list that contains one TrafficPolicySummary element for each traffic policy that was created by the current AWS account.

" - }, - "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 traffic policies by submitting another ListTrafficPolicies request and specifying the value of TrafficPolicyIdMarker in the TrafficPolicyIdMarker request parameter.

" - }, - "TrafficPolicyIdMarker":{ - "shape":"TrafficPolicyId", - "documentation":"

If the value of IsTruncated is true, TrafficPolicyIdMarker is the ID of the first traffic policy in the next group of MaxItems traffic policies.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "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.

" - }, - "ListTrafficPolicyInstancesByHostedZoneRequest":{ - "type":"structure", - "required":["HostedZoneId"], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you want to list traffic policy instances for.

", - "location":"querystring", - "locationName":"id" - }, - "TrafficPolicyInstanceNameMarker":{ - "shape":"DNSName", - "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":"

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 that Amazon Route 53 will return if you submit another request.

", - "location":"querystring", - "locationName":"maxitems" - } - }, - "documentation":"

A request for the traffic policy instances that you created in a specified hosted zone.

" - }, - "ListTrafficPolicyInstancesByHostedZoneResponse":{ - "type":"structure", - "required":[ - "TrafficPolicyInstances", - "IsTruncated", - "MaxItems" - ], - "members":{ - "TrafficPolicyInstances":{ - "shape":"TrafficPolicyInstances", - "documentation":"

A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

" - }, - "TrafficPolicyInstanceNameMarker":{ - "shape":"DNSName", - "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 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 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 ListTrafficPolicyInstancesByHostedZone request that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "ListTrafficPolicyInstancesByPolicyRequest":{ - "type":"structure", - "required":[ - "TrafficPolicyId", - "TrafficPolicyVersion" - ], - "members":{ - "TrafficPolicyId":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy for which you want to list traffic policy instances.

", - "location":"querystring", - "locationName":"id" - }, - "TrafficPolicyVersion":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version of the traffic policy for which you want to list traffic policy instances. The version must be associated with the traffic policy that is specified by TrafficPolicyId.

", - "location":"querystring", - "locationName":"version" - }, - "HostedZoneIdMarker":{ - "shape":"ResourceId", - "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":"

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":"

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 that Amazon Route 53 will return if you submit another request.

", - "location":"querystring", - "locationName":"maxitems" - } - }, - "documentation":"

A complex type that contains the information about the request to list your traffic policy instances.

" - }, - "ListTrafficPolicyInstancesByPolicyResponse":{ - "type":"structure", - "required":[ - "TrafficPolicyInstances", - "IsTruncated", - "MaxItems" - ], - "members":{ - "TrafficPolicyInstances":{ - "shape":"TrafficPolicyInstances", - "documentation":"

A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

" - }, - "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 traffic policy instances.

" - }, - "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.

" - }, - "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.

" - }, - "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 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", - "documentation":"

The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByPolicy that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "ListTrafficPolicyInstancesRequest":{ - "type":"structure", - "members":{ - "HostedZoneIdMarker":{ - "shape":"ResourceId", - "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":"

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":"

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 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 request to get information about the traffic policy instances that you created by using the current AWS account.

" - }, - "ListTrafficPolicyInstancesResponse":{ - "type":"structure", - "required":[ - "TrafficPolicyInstances", - "IsTruncated", - "MaxItems" - ], - "members":{ - "TrafficPolicyInstances":{ - "shape":"TrafficPolicyInstances", - "documentation":"

A list that contains one TrafficPolicyInstance element for each traffic policy instance that matches the elements in the request.

" - }, - "HostedZoneIdMarker":{ - "shape":"ResourceId", - "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 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 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 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", - "documentation":"

The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstances that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "ListTrafficPolicyVersionsRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

Specify the value of Id of the traffic policy for which you want to list all versions.

", - "location":"uri", - "locationName":"Id" - }, - "TrafficPolicyVersionMarker":{ - "shape":"TrafficPolicyVersionMarker", - "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 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" - } - }, - "documentation":"

A complex type that contains the information about the request to list your traffic policies.

" - }, - "ListTrafficPolicyVersionsResponse":{ - "type":"structure", - "required":[ - "TrafficPolicies", - "IsTruncated", - "TrafficPolicyVersionMarker", - "MaxItems" - ], - "members":{ - "TrafficPolicies":{ - "shape":"TrafficPolicies", - "documentation":"

A list that contains one TrafficPolicy element for each traffic policy version that is associated with the specified traffic policy.

" - }, - "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 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 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 ListTrafficPolicyVersions request that produced the current response.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "ListVPCAssociationAuthorizationsRequest":{ - "type":"structure", - "required":["HostedZoneId"], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

", - "location":"uri", - "locationName":"Id" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of NextToken from the response in the nexttoken parameter in another ListVPCAssociationAuthorizations request.

", - "location":"querystring", - "locationName":"nexttoken" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Amazon Route 53 returns up to 50 VPCs per page.

", - "location":"querystring", - "locationName":"maxresults" - } - }, - "documentation":"

A complex type that contains information about that can be associated with your hosted zone.

" - }, - "ListVPCAssociationAuthorizationsResponse":{ - "type":"structure", - "required":[ - "HostedZoneId", - "VPCs" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you can associate the listed VPCs with.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the nexttoken request parameter.

" - }, - "VPCs":{ - "shape":"VPCs", - "documentation":"

The list of VPCs that are authorized to be associated with the specified hosted zone.

" - } - }, - "documentation":"

A complex type that contains the response information for the request.

" - }, - "MaxResults":{"type":"string"}, - "MeasureLatency":{"type":"boolean"}, - "Message":{ - "type":"string", - "max":1024 - }, - "MetricName":{ - "type":"string", - "max":255, - "min":1 - }, - "Nameserver":{ - "type":"string", - "max":255, - "min":0 - }, - "Namespace":{ - "type":"string", - "max":255, - "min":1 - }, - "NoSuchChange":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A change with the specified change ID does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchCloudWatchLogsLogGroup":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

There is no CloudWatch Logs log group with the specified ARN.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchDelegationSet":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

A reusable delegation set with the specified ID does not exist.

", - "exception":true - }, - "NoSuchGeoLocation":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

Amazon Route 53 doesn't support the specified geolocation.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchHealthCheck":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

No health check exists with the ID that you specified in the DeleteHealthCheck request.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchHostedZone":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

No hosted zone exists with the ID that you specified.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchQueryLoggingConfig":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

There is no DNS query logging configuration with the specified ID.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchTrafficPolicy":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

No traffic policy exists with the specified ID.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "NoSuchTrafficPolicyInstance":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

No traffic policy instance exists with the specified ID.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "Nonce":{ - "type":"string", - "max":128, - "min":1 - }, - "NotAuthorizedException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

Associating the specified VPC with the specified hosted zone has not been authorized.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "PageMarker":{ - "type":"string", - "max":64 - }, - "PageMaxItems":{"type":"string"}, - "PageTruncated":{"type":"boolean"}, - "PaginationToken":{ - "type":"string", - "max":256 - }, - "Period":{ - "type":"integer", - "min":60 - }, - "Port":{ - "type":"integer", - "max":65535, - "min":1 - }, - "PriorRequestNotComplete":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent requests for the same hosted zone and return an HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals of increasing duration, before you try the request again.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "PublicZoneVPCAssociation":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

You're trying to associate a VPC with a public hosted zone. Amazon Route 53 doesn't support associating a VPC with a public hosted zone.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "QueryLoggingConfig":{ - "type":"structure", - "required":[ - "Id", - "HostedZoneId", - "CloudWatchLogsLogGroupArn" - ], - "members":{ - "Id":{ - "shape":"QueryLoggingConfigId", - "documentation":"

The ID for a configuration for DNS query logging.

" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that CloudWatch Logs is logging queries for.

" - }, - "CloudWatchLogsLogGroupArn":{ - "shape":"CloudWatchLogsLogGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

" - } - }, - "documentation":"

A complex type that contains information about a configuration for DNS query logging.

" - }, - "QueryLoggingConfigAlreadyExists":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

You can create only one query logging configuration for a hosted zone, and a query logging configuration already exists for this hosted zone.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "QueryLoggingConfigId":{ - "type":"string", - "max":36, - "min":1 - }, - "QueryLoggingConfigs":{ - "type":"list", - "member":{ - "shape":"QueryLoggingConfig", - "locationName":"QueryLoggingConfig" - } - }, - "RData":{ - "type":"string", - "max":4000 - }, - "RRType":{ - "type":"string", - "enum":[ - "SOA", - "A", - "TXT", - "NS", - "CNAME", - "MX", - "NAPTR", - "PTR", - "SRV", - "SPF", - "AAAA", - "CAA" - ] - }, - "RecordData":{ - "type":"list", - "member":{ - "shape":"RecordDataEntry", - "locationName":"RecordDataEntry" - } - }, - "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.

", - "max":512, - "min":0 - }, - "RequestInterval":{ - "type":"integer", - "max":30, - "min":10 - }, - "ResettableElementName":{ - "type":"string", - "enum":[ - "FullyQualifiedDomainName", - "Regions", - "ResourcePath", - "ChildHealthChecks" - ], - "max":64, - "min":1 - }, - "ResettableElementNameList":{ - "type":"list", - "member":{ - "shape":"ResettableElementName", - "locationName":"ResettableElementName" - }, - "max":64 - }, - "ResourceDescription":{ - "type":"string", - "max":256 - }, - "ResourceId":{ - "type":"string", - "max":32 - }, - "ResourcePath":{ - "type":"string", - "max":255 - }, - "ResourceRecord":{ - "type":"structure", - "required":["Value"], - "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're creating an alias resource record set, omit Value.

" - } - }, - "documentation":"

Information specific to the resource record.

If you're creating an alias resource record set, omit ResourceRecord.

" - }, - "ResourceRecordSet":{ - "type":"structure", - "required":[ - "Name", - "Type" - ], - "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.

" - }, - "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 | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

Values for alias resource record sets:

  • 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", - "documentation":"

Weighted, Latency, Geo, and Failover resource record sets only: An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type. The value of SetIdentifier must be unique for each resource record set that has the same combination of DNS name and type. Omit SetIdentifier for any other types of record sets.

" - }, - "Weight":{ - "shape":"ResourceRecordSetWeight", - "documentation":"

Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:

  • You must specify a value for the Weight element for every weighted resource record set.

  • You can only specify one ResourceRecord per weighted resource record set.

  • You can't create latency, failover, or geolocation resource record sets that have the same values for the Name and Type elements as weighted resource record sets.

  • You can create a maximum of 100 weighted resource record sets that have the same values for the Name and Type elements.

  • For weighted (but not weighted alias) resource record sets, if you set Weight to 0 for a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource record set. However, if you set Weight to 0 for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.

    The effect of setting Weight to 0 is different when you associate health checks with weighted resource record sets. For more information, see Options for Configuring Amazon Route 53 Active-Active and Active-Passive Failover in the Amazon Route 53 Developer Guide.

" - }, - "Region":{ - "shape":"ResourceRecordSetRegion", - "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", - "documentation":"

Geo location resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of AF.

Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported.

If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.

You can't create two geolocation resource record sets that specify the same geographic location.

The value * in the CountryCode element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the Name and Type elements.

Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of CountryCode is *, which handles both queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a * resource record set, Amazon Route 53 returns a \"no answer\" response for queries from those locations.

You can't create non-geolocation resource record sets that have the same values for the Name and Type elements as geolocation resource record sets.

" - }, - "Failover":{ - "shape":"ResourceRecordSetFailover", - "documentation":"

Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both resource record sets:

  • When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.

  • When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the secondary resource record set.

  • When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.

  • If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.

You 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 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'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'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 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", - "documentation":"

When you create a traffic policy instance, Amazon Route 53 automatically creates a resource record set. TrafficPolicyInstanceId is the ID of the traffic policy instance that Amazon Route 53 created this resource record set for.

To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance. Amazon Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, Amazon Route 53 doesn't automatically delete the traffic policy instance, and you'll continue to be charged for it even though it's no longer in use.

" - } - }, - "documentation":"

Information about the resource record set to create or delete.

" - }, - "ResourceRecordSetFailover":{ - "type":"string", - "enum":[ - "PRIMARY", - "SECONDARY" - ] - }, - "ResourceRecordSetIdentifier":{ - "type":"string", - "max":128, - "min":1 - }, - "ResourceRecordSetMultiValueAnswer":{"type":"boolean"}, - "ResourceRecordSetRegion":{ - "type":"string", - "enum":[ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "ca-central-1", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "eu-central-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "sa-east-1", - "cn-north-1", - "cn-northwest-1", - "ap-south-1" - ], - "max":64, - "min":1 - }, - "ResourceRecordSetWeight":{ - "type":"long", - "max":255, - "min":0 - }, - "ResourceRecordSets":{ - "type":"list", - "member":{ - "shape":"ResourceRecordSet", - "locationName":"ResourceRecordSet" - } - }, - "ResourceRecords":{ - "type":"list", - "member":{ - "shape":"ResourceRecord", - "locationName":"ResourceRecord" - }, - "min":1 - }, - "ResourceTagSet":{ - "type":"structure", - "members":{ - "ResourceType":{ - "shape":"TagResourceType", - "documentation":"

The type of the resource.

  • The resource type for health checks is healthcheck.

  • The resource type for hosted zones is hostedzone.

" - }, - "ResourceId":{ - "shape":"TagResourceId", - "documentation":"

The ID for the specified resource.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags associated with the specified resource.

" - } - }, - "documentation":"

A complex type containing a resource and its associated tags.

" - }, - "ResourceTagSetList":{ - "type":"list", - "member":{ - "shape":"ResourceTagSet", - "locationName":"ResourceTagSet" - } - }, - "ResourceURI":{ - "type":"string", - "max":1024 - }, - "ReusableDelegationSetLimit":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"ReusableDelegationSetLimitType", - "documentation":"

The limit that you requested: MAX_ZONES_BY_REUSABLE_DELEGATION_SET, the maximum number of hosted zones that you can associate with the specified reusable delegation set.

" - }, - "Value":{ - "shape":"LimitValue", - "documentation":"

The current value for the MAX_ZONES_BY_REUSABLE_DELEGATION_SET limit.

" - } - }, - "documentation":"

A complex type that contains the type of limit that you specified in the request and the current value for that limit.

" - }, - "ReusableDelegationSetLimitType":{ - "type":"string", - "enum":["MAX_ZONES_BY_REUSABLE_DELEGATION_SET"] - }, - "SearchString":{ - "type":"string", - "max":255 - }, - "ServicePrincipal":{ - "type":"string", - "max":128 - }, - "Statistic":{ - "type":"string", - "enum":[ - "Average", - "Sum", - "SampleCount", - "Maximum", - "Minimum" - ] - }, - "Status":{"type":"string"}, - "StatusReport":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"Status", - "documentation":"

A description of the status of the health check endpoint as reported by one of the Amazon Route 53 health checkers.

" - }, - "CheckedTime":{ - "shape":"TimeStamp", - "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":3, - "min":0 - }, - "TTL":{ - "type":"long", - "max":2147483647, - "min":0 - }, - "Tag":{ - "type":"structure", - "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 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", - "documentation":"

The value of Value depends on the operation that you want to perform:

  • Add a tag to a health check or hosted zone: Value is the value that you want to give the new tag.

  • Edit a tag: Value is the new value that you want to assign the tag.

" - } - }, - "documentation":"

A complex type that contains information about a tag that you want to add or edit for the specified health check or hosted zone.

" - }, - "TagKey":{ - "type":"string", - "max":128 - }, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"Key" - }, - "max":10, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - }, - "max":10, - "min":1 - }, - "TagResourceId":{ - "type":"string", - "max":64 - }, - "TagResourceIdList":{ - "type":"list", - "member":{ - "shape":"TagResourceId", - "locationName":"ResourceId" - }, - "max":10, - "min":1 - }, - "TagResourceType":{ - "type":"string", - "enum":[ - "healthcheck", - "hostedzone" - ] - }, - "TagValue":{ - "type":"string", - "max":256 - }, - "TestDNSAnswerRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "RecordName", - "RecordType" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

", - "location":"querystring", - "locationName":"hostedzoneid" - }, - "RecordName":{ - "shape":"DNSName", - "documentation":"

The name of the resource record set that you want Amazon Route 53 to simulate a query for.

", - "location":"querystring", - "locationName":"recordname" - }, - "RecordType":{ - "shape":"RRType", - "documentation":"

The type of the resource record set.

", - "location":"querystring", - "locationName":"recordtype" - }, - "ResolverIP":{ - "shape":"IPAddress", - "documentation":"

If you want to simulate a request from a specific DNS resolver, specify the IP address for that resolver. If you omit this value, TestDnsAnswer uses the IP address of a DNS resolver in the AWS US East (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 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 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.

" - }, - "TestDNSAnswerResponse":{ - "type":"structure", - "required":[ - "Nameserver", - "RecordName", - "RecordType", - "RecordData", - "ResponseCode", - "Protocol" - ], - "members":{ - "Nameserver":{ - "shape":"Nameserver", - "documentation":"

The Amazon Route 53 name server used to respond to the request.

" - }, - "RecordName":{ - "shape":"DNSName", - "documentation":"

The name of the resource record set that you submitted a request for.

" - }, - "RecordType":{ - "shape":"RRType", - "documentation":"

The type of the resource record set that you submitted a request for.

" - }, - "RecordData":{ - "shape":"RecordData", - "documentation":"

A list that contains values that Amazon Route 53 returned for this resource record set.

" - }, - "ResponseCode":{ - "shape":"DNSRCode", - "documentation":"

A code that indicates whether the request is valid or not. The most common response code is NOERROR, meaning that the request is valid. If the response is not valid, Amazon Route 53 returns a response code that describes the error. For a list of possible response codes, see DNS RCODES on the IANA website.

" - }, - "Protocol":{ - "shape":"TransportProtocol", - "documentation":"

The protocol that Amazon Route 53 used to respond to the request, either UDP or TCP.

" - } - }, - "documentation":"

A complex type that contains the response to a TestDNSAnswer request.

" - }, - "Threshold":{"type":"double"}, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The limit on the number of requests per second was exceeded.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TimeStamp":{"type":"timestamp"}, - "TooManyHealthChecks":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

This health check can't be created because the current account has reached the limit on the number of active health checks.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the AWS Support Center.

You have reached the maximum number of active health checks for an AWS account. To request a higher limit, create a case with the AWS Support Center.

", - "exception":true - }, - "TooManyHostedZones":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This operation can't be completed either because the current account has reached the limit on the number of hosted zones or because you've reached the limit on the number of hosted zones that can be associated with a reusable delegation set.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

To get the current limit on hosted zones that can be associated with a reusable delegation set, see GetReusableDelegationSetLimit.

To request a higher limit, create a case with the AWS Support Center.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrafficPolicies":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This traffic policy can't be created because the current account has reached the limit on the number of traffic policies.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

To get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrafficPolicyInstances":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This traffic policy instance can't be created because the current account has reached the limit on the number of traffic policy instances.

For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

For information about how to get the current limit for an account, see GetAccountLimit.

To request a higher limit, create a case with the AWS Support Center.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyTrafficPolicyVersionsForCurrentPolicy":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

This traffic policy version can't be created because you've reached the limit of 1000 on the number of versions that you can create for the current traffic policy.

To create more traffic policy versions, you can use GetTrafficPolicy to get the traffic policy document for a specified traffic policy version, and then use CreateTrafficPolicy to create a new traffic policy using the traffic policy document.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TooManyVPCAssociationAuthorizations":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

You've created the maximum number of authorizations that can be created for the specified hosted zone. To authorize another VPC to be associated with the hosted zone, submit a DeleteVPCAssociationAuthorization request to remove an existing authorization. To get a list of existing authorizations, submit a ListVPCAssociationAuthorizations request.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrafficPolicies":{ - "type":"list", - "member":{ - "shape":"TrafficPolicy", - "locationName":"TrafficPolicy" - } - }, - "TrafficPolicy":{ - "type":"structure", - "required":[ - "Id", - "Version", - "Name", - "Type", - "Document" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID that Amazon Route 53 assigned to a traffic policy when you created it.

" - }, - "Version":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version number that Amazon Route 53 assigns to a traffic policy. For a new traffic policy, the value of Version is always 1.

" - }, - "Name":{ - "shape":"TrafficPolicyName", - "documentation":"

The name that you specified when you created the traffic policy.

" - }, - "Type":{ - "shape":"RRType", - "documentation":"

The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.

" - }, - "Document":{ - "shape":"TrafficPolicyDocument", - "documentation":"

The definition of a traffic policy in JSON format. You specify the JSON document to use for a new traffic policy in the CreateTrafficPolicy request. For more information about the JSON format, see Traffic Policy Document Format.

" - }, - "Comment":{ - "shape":"TrafficPolicyComment", - "documentation":"

The comment that you specify in the CreateTrafficPolicy request, if any.

" - } - }, - "documentation":"

A complex type that contains settings for a traffic policy.

" - }, - "TrafficPolicyAlreadyExists":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

A traffic policy that has the same value for Name already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "TrafficPolicyComment":{ - "type":"string", - "max":1024 - }, - "TrafficPolicyDocument":{ - "type":"string", - "max":102400 - }, - "TrafficPolicyId":{ - "type":"string", - "max":36, - "min":1 - }, - "TrafficPolicyInUse":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

One or more traffic policy instances were created by using the specified traffic policy.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "TrafficPolicyInstance":{ - "type":"structure", - "required":[ - "Id", - "HostedZoneId", - "Name", - "TTL", - "State", - "Message", - "TrafficPolicyId", - "TrafficPolicyVersion", - "TrafficPolicyType" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyInstanceId", - "documentation":"

The ID that Amazon Route 53 assigned to the new traffic policy instance.

" - }, - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID of the hosted zone that Amazon Route 53 created resource record sets in.

" - }, - "Name":{ - "shape":"DNSName", - "documentation":"

The DNS name, such as www.example.com, for which Amazon Route 53 responds to queries by using the resource record sets that are associated with this traffic policy instance.

" - }, - "TTL":{ - "shape":"TTL", - "documentation":"

The TTL that Amazon Route 53 assigned to all of the resource record sets that it created in the specified hosted zone.

" - }, - "State":{ - "shape":"TrafficPolicyInstanceState", - "documentation":"

The value of State is one of the following values:

Applied

Amazon Route 53 has finished creating resource record sets, and changes have propagated to all Amazon Route 53 edge locations.

Creating

Amazon Route 53 is creating the resource record sets. Use GetTrafficPolicyInstance to confirm that the CreateTrafficPolicyInstance request completed successfully.

Failed

Amazon Route 53 wasn't able to create or update the resource record sets. When the value of State is Failed, see Message for an explanation of what caused the request to fail.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

If State is Failed, an explanation of the reason for the failure. If State is another value, Message is empty.

" - }, - "TrafficPolicyId":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

" - }, - "TrafficPolicyVersion":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version of the traffic policy that Amazon Route 53 used to create resource record sets in the specified hosted zone.

" - }, - "TrafficPolicyType":{ - "shape":"RRType", - "documentation":"

The DNS type that Amazon Route 53 assigned to all of the resource record sets that it created for this traffic policy instance.

" - } - }, - "documentation":"

A complex type that contains settings for the new traffic policy instance.

" - }, - "TrafficPolicyInstanceAlreadyExists":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

There is already a traffic policy instance with the specified ID.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "TrafficPolicyInstanceCount":{"type":"integer"}, - "TrafficPolicyInstanceId":{ - "type":"string", - "max":36, - "min":1 - }, - "TrafficPolicyInstanceState":{"type":"string"}, - "TrafficPolicyInstances":{ - "type":"list", - "member":{ - "shape":"TrafficPolicyInstance", - "locationName":"TrafficPolicyInstance" - } - }, - "TrafficPolicyName":{ - "type":"string", - "max":512 - }, - "TrafficPolicySummaries":{ - "type":"list", - "member":{ - "shape":"TrafficPolicySummary", - "locationName":"TrafficPolicySummary" - } - }, - "TrafficPolicySummary":{ - "type":"structure", - "required":[ - "Id", - "Name", - "Type", - "LatestVersion", - "TrafficPolicyCount" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID that Amazon Route 53 assigned to the traffic policy when you created it.

" - }, - "Name":{ - "shape":"TrafficPolicyName", - "documentation":"

The name that you specified for the traffic policy when you created it.

" - }, - "Type":{ - "shape":"RRType", - "documentation":"

The DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.

" - }, - "LatestVersion":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version number of the latest version of the traffic policy.

" - }, - "TrafficPolicyCount":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The number of traffic policies that are associated with the current AWS account.

" - } - }, - "documentation":"

A complex type that contains information about the latest version of one traffic policy that is associated with the current AWS account.

" - }, - "TrafficPolicyVersion":{ - "type":"integer", - "max":1000, - "min":1 - }, - "TrafficPolicyVersionMarker":{ - "type":"string", - "max":4 - }, - "TransportProtocol":{"type":"string"}, - "UpdateHealthCheckRequest":{ - "type":"structure", - "required":["HealthCheckId"], - "members":{ - "HealthCheckId":{ - "shape":"HealthCheckId", - "documentation":"

The ID for the health check for which you want detailed information. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

", - "location":"uri", - "locationName":"HealthCheckId" - }, - "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:

  • 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.

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", - "documentation":"

The port on the endpoint on which you want Amazon Route 53 to perform health checks.

" - }, - "ResourcePath":{ - "shape":"ResourcePath", - "documentation":"

The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html.

Specify this value only if you want to change it.

" - }, - "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-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", - "documentation":"

If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Amazon Route 53 considers the resource healthy. (You can't change the value of Type when you update a health check.)

" - }, - "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.

If you don't specify a value for FailureThreshold, the default value is three health checks.

" - }, - "Inverted":{ - "shape":"Inverted", - "documentation":"

Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

" - }, - "HealthThreshold":{ - "shape":"HealthThreshold", - "documentation":"

The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks and ChildHealthCheck elements.

Note the following:

  • If you specify a number greater than the number of child health checks, Amazon Route 53 always considers this health check to be unhealthy.

  • If you specify 0, Amazon Route 53 always considers this health check to be healthy.

" - }, - "ChildHealthChecks":{ - "shape":"ChildHealthCheckList", - "documentation":"

A complex type that contains one ChildHealthCheck element for each health check that you want to associate with a CALCULATED health check.

" - }, - "EnableSNI":{ - "shape":"EnableSNI", - "documentation":"

Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate.

Some endpoints require that HTTPS requests include the host name in the client_hello message. If you don't enable SNI, the status of the health check will be SSL alert handshake_failure. A health check can also have that status for other reasons. If SNI is enabled and you're still getting the error, check the SSL/TLS configuration on your endpoint and confirm that your certificate is valid.

The SSL/TLS certificate on your endpoint includes a domain name in the Common Name field and possibly several more in the Subject Alternative Names field. One of the domain names in the certificate should match the value that you specify for FullyQualifiedDomainName. If the endpoint responds to the client_hello message with a certificate that does not include the domain name that you specified in FullyQualifiedDomainName, a health checker will retry the handshake. In the second attempt, the health checker will omit FullyQualifiedDomainName from the client_hello message.

" - }, - "Regions":{ - "shape":"HealthCheckRegionList", - "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":{ - "shape":"InsufficientDataHealthStatus", - "documentation":"

When CloudWatch has insufficient data about the metric to determine the alarm state, the status that you want Amazon Route 53 to assign to the health check:

  • Healthy: Amazon Route 53 considers the health check to be healthy.

  • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

  • LastKnownStatus: Amazon Route 53 uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

" - }, - "ResetElements":{ - "shape":"ResettableElementNameList", - "documentation":"

A complex type that contains one ResettableElementName element for each element that you want to reset to the default value. Valid values for ResettableElementName include the following:

" - } - }, - "documentation":"

A complex type that contains information about a request to update a health check.

" - }, - "UpdateHealthCheckResponse":{ - "type":"structure", - "required":["HealthCheck"], - "members":{ - "HealthCheck":{"shape":"HealthCheck"} - } - }, - "UpdateHostedZoneCommentRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID for the hosted zone that you want to update the comment for.

", - "location":"uri", - "locationName":"Id" - }, - "Comment":{ - "shape":"ResourceDescription", - "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 request to update the comment for a hosted zone.

" - }, - "UpdateHostedZoneCommentResponse":{ - "type":"structure", - "required":["HostedZone"], - "members":{ - "HostedZone":{"shape":"HostedZone"} - }, - "documentation":"

A complex type that contains the response to the UpdateHostedZoneComment request.

" - }, - "UpdateTrafficPolicyCommentRequest":{ - "type":"structure", - "required":[ - "Id", - "Version", - "Comment" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyId", - "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 that you want to update the comment for.

", - "location":"uri", - "locationName":"Version" - }, - "Comment":{ - "shape":"TrafficPolicyComment", - "documentation":"

The new comment for the specified traffic policy and version.

" - } - }, - "documentation":"

A complex type that contains information about the traffic policy that you want to update the comment for.

" - }, - "UpdateTrafficPolicyCommentResponse":{ - "type":"structure", - "required":["TrafficPolicy"], - "members":{ - "TrafficPolicy":{ - "shape":"TrafficPolicy", - "documentation":"

A complex type that contains settings for the specified traffic policy.

" - } - }, - "documentation":"

A complex type that contains the response information for the traffic policy.

" - }, - "UpdateTrafficPolicyInstanceRequest":{ - "type":"structure", - "required":[ - "Id", - "TTL", - "TrafficPolicyId", - "TrafficPolicyVersion" - ], - "members":{ - "Id":{ - "shape":"TrafficPolicyInstanceId", - "documentation":"

The ID of the traffic policy instance that you want to update.

", - "location":"uri", - "locationName":"Id" - }, - "TTL":{ - "shape":"TTL", - "documentation":"

The TTL that you want Amazon Route 53 to assign to all of the updated resource record sets.

" - }, - "TrafficPolicyId":{ - "shape":"TrafficPolicyId", - "documentation":"

The ID of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.

" - }, - "TrafficPolicyVersion":{ - "shape":"TrafficPolicyVersion", - "documentation":"

The version of the traffic policy that you want Amazon Route 53 to use to update resource record sets for the specified traffic policy instance.

" - } - }, - "documentation":"

A complex type that contains information about the resource record sets that you want to update based on a specified traffic policy instance.

" - }, - "UpdateTrafficPolicyInstanceResponse":{ - "type":"structure", - "required":["TrafficPolicyInstance"], - "members":{ - "TrafficPolicyInstance":{ - "shape":"TrafficPolicyInstance", - "documentation":"

A complex type that contains settings for the updated traffic policy instance.

" - } - }, - "documentation":"

A complex type that contains information about the resource record sets that Amazon Route 53 created based on a specified traffic policy.

" - }, - "UsageCount":{ - "type":"long", - "min":0 - }, - "VPC":{ - "type":"structure", - "members":{ - "VPCRegion":{ - "shape":"VPCRegion", - "documentation":"

(Private hosted zones only) The region in which you created an Amazon VPC.

" - }, - "VPCId":{"shape":"VPCId"} - }, - "documentation":"

(Private hosted zones only) A complex type that contains information about an Amazon VPC.

" - }, - "VPCAssociationAuthorizationNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The VPC that you specified is not authorized to be associated with the hosted zone.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "VPCAssociationNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Descriptive message for the error response.

" - } - }, - "documentation":"

The specified VPC and hosted zone are not currently associated.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "VPCId":{ - "type":"string", - "documentation":"

(Private hosted zones only) The ID of an Amazon VPC.

", - "max":1024 - }, - "VPCRegion":{ - "type":"string", - "enum":[ - "us-east-1", - "us-east-2", - "us-west-1", - "us-west-2", - "eu-west-1", - "eu-west-2", - "eu-west-3", - "eu-central-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-south-1", - "ap-northeast-1", - "ap-northeast-2", - "ap-northeast-3", - "sa-east-1", - "ca-central-1", - "cn-north-1" - ], - "max":64, - "min":1 - }, - "VPCs":{ - "type":"list", - "member":{ - "shape":"VPC", - "locationName":"VPC" - }, - "documentation":"

(Private hosted zones only) A list of VPC elements.

", - "min":1 - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/waiters-2.json deleted file mode 100644 index 94aad399..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53/2013-04-01/waiters-2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 2, - "waiters": { - "ResourceRecordSetsChanged": { - "delay": 30, - "maxAttempts": 60, - "operation": "GetChange", - "acceptors": [ - { - "matcher": "path", - "expected": "INSYNC", - "argument": "ChangeInfo.Status", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/paginators-1.json deleted file mode 100644 index 8d1a73ab..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/paginators-1.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "version": "1.0", - "pagination": { - "ListDomains": { - "limit_key": "MaxItems", - "input_token": "Marker", - "output_token": "NextPageMarker", - "result_key": "Domains" - }, - "ListOperations": { - "limit_key": "MaxItems", - "input_token": "Marker", - "output_token": "NextPageMarker", - "result_key": "Operations" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/service-2.json deleted file mode 100644 index 4a7dfc94..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/route53domains/2014-05-15/service-2.json +++ /dev/null @@ -1,1931 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-05-15", - "endpointPrefix":"route53domains", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Route 53 Domains", - "serviceId":"Route 53 Domains", - "signatureVersion":"v4", - "targetPrefix":"Route53Domains_v20140515", - "uid":"route53domains-2014-05-15" - }, - "operations":{ - "CheckDomainAvailability":{ - "name":"CheckDomainAvailability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CheckDomainAvailabilityRequest"}, - "output":{"shape":"CheckDomainAvailabilityResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name.

" - }, - "CheckDomainTransferability":{ - "name":"CheckDomainTransferability", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CheckDomainTransferabilityRequest"}, - "output":{"shape":"CheckDomainTransferabilityResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

Checks whether a domain name can be transferred to Amazon Route 53.

" - }, - "DeleteTagsForDomain":{ - "name":"DeleteTagsForDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsForDomainRequest"}, - "output":{"shape":"DeleteTagsForDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation deletes the specified tags for a domain.

All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

" - }, - "DisableDomainAutoRenew":{ - "name":"DisableDomainAutoRenew", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableDomainAutoRenewRequest"}, - "output":{"shape":"DisableDomainAutoRenewResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation disables automatic renewal of domain registration for the specified domain.

" - }, - "DisableDomainTransferLock":{ - "name":"DisableDomainTransferLock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableDomainTransferLockRequest"}, - "output":{"shape":"DisableDomainTransferLockResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation removes the transfer lock on the domain (specifically the clientTransferProhibited status) to allow domain transfers. We recommend you refrain from performing this action unless you intend to transfer the domain to a different registrar. Successful submission 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.

" - }, - "EnableDomainAutoRenew":{ - "name":"EnableDomainAutoRenew", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableDomainAutoRenewRequest"}, - "output":{"shape":"EnableDomainAutoRenewResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"}, - {"shape":"TLDRulesViolation"} - ], - "documentation":"

This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account.

The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see \"Renewal, restoration, and deletion times\" on the website for our registrar associate, Gandi. Amazon Route 53 requires that you renew before the end of the renewal period that is listed on the Gandi website so we can complete processing before the deadline.

" - }, - "EnableDomainTransferLock":{ - "name":"EnableDomainTransferLock", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"EnableDomainTransferLockRequest"}, - "output":{"shape":"EnableDomainTransferLockResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation sets the transfer lock on the domain (specifically the clientTransferProhibited status) to prevent domain transfers. Successful submission 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.

" - }, - "GetContactReachabilityStatus":{ - "name":"GetContactReachabilityStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetContactReachabilityStatusRequest"}, - "output":{"shape":"GetContactReachabilityStatusResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"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 returns information about whether the registrant contact has responded.

If you want us to resend the email, use the ResendContactReachabilityEmail operation.

" - }, - "GetDomainDetail":{ - "name":"GetDomainDetail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDomainDetailRequest"}, - "output":{"shape":"GetDomainDetailResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDomainSuggestionsRequest"}, - "output":{"shape":"GetDomainSuggestionsResponse"}, - "errors":[ - {"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).

" - }, - "GetOperationDetail":{ - "name":"GetOperationDetail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOperationDetailRequest"}, - "output":{"shape":"GetOperationDetailResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

This operation returns the current status of an operation that is not completed.

" - }, - "ListDomains":{ - "name":"ListDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDomainsRequest"}, - "output":{"shape":"ListDomainsResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

This operation returns all the domain names registered with Amazon Route 53 for the current AWS account.

" - }, - "ListOperations":{ - "name":"ListOperations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOperationsRequest"}, - "output":{"shape":"ListOperationsResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

This operation returns the operation IDs of operations that are not yet complete.

" - }, - "ListTagsForDomain":{ - "name":"ListTagsForDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForDomainRequest"}, - "output":{"shape":"ListTagsForDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation returns all of the tags that are associated with the specified domain.

All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

" - }, - "RegisterDomain":{ - "name":"RegisterDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterDomainRequest"}, - "output":{"shape":"RegisterDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"shape":"DomainLimitExceeded"}, - {"shape":"OperationLimitExceeded"} - ], - "documentation":"

This operation registers a domain. Domains are registered either by Amazon Registrar (for .com, .net, and .org domains) or by our registrar associate, Gandi (for all other domains). For some top-level domains (TLDs), this operation requires extra parameters.

When you register a domain, Amazon Route 53 does the following:

  • Creates a 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 either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you don't enable privacy protection, WHOIS queries return the information that you entered for the registrant, admin, and tech contacts.

  • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.

  • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.

" - }, - "RenewDomain":{ - "name":"RenewDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RenewDomainRequest"}, - "output":{"shape":"RenewDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"}, - {"shape":"DuplicateRequest"}, - {"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 Developer Guide.

" - }, - "ResendContactReachabilityEmail":{ - "name":"ResendContactReachabilityEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResendContactReachabilityEmailRequest"}, - "output":{"shape":"ResendContactReachabilityEmailResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"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.

" - }, - "RetrieveDomainAuthCode":{ - "name":"RetrieveDomainAuthCode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetrieveDomainAuthCodeRequest"}, - "output":{"shape":"RetrieveDomainAuthCodeResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation returns the AuthCode for the domain. To transfer a domain to another registrar, you provide this value to the new registrar.

" - }, - "TransferDomain":{ - "name":"TransferDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TransferDomainRequest"}, - "output":{"shape":"TransferDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"UnsupportedTLD"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"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 either with Amazon Registrar (for .com, .net, and .org domains) or with our registrar associate, Gandi (for all other TLDs).

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDomainContactRequest"}, - "output":{"shape":"UpdateDomainContactResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation updates the contact information for a particular domain. You must specify information for at least one contact: registrant, administrator, or technical.

If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

" - }, - "UpdateDomainContactPrivacy":{ - "name":"UpdateDomainContactPrivacy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDomainContactPrivacyRequest"}, - "output":{"shape":"UpdateDomainContactPrivacyResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, contact information such as email address is replaced either with contact information for Amazon Registrar (for .com, .net, and .org domains) or with contact information for our registrar associate, Gandi.

This operation affects only the contact information for the specified contact type (registrant, administrator, or tech). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request doesn't complete successfully, the domain registrant will be notified by email.

" - }, - "UpdateDomainNameservers":{ - "name":"UpdateDomainNameservers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDomainNameserversRequest"}, - "output":{"shape":"UpdateDomainNameserversResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"DuplicateRequest"}, - {"shape":"TLDRulesViolation"}, - {"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.

" - }, - "UpdateTagsForDomain":{ - "name":"UpdateTagsForDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTagsForDomainRequest"}, - "output":{"shape":"UpdateTagsForDomainResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"OperationLimitExceeded"}, - {"shape":"UnsupportedTLD"} - ], - "documentation":"

This operation adds or updates tags for a specified domain.

All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

" - }, - "ViewBilling":{ - "name":"ViewBilling", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ViewBillingRequest"}, - "output":{"shape":"ViewBillingResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Returns all the domain-related billing records for the current AWS account for a specified period

" - } - }, - "shapes":{ - "AddressLine":{ - "type":"string", - "max":255 - }, - "BillingRecord":{ - "type":"structure", - "members":{ - "DomainName":{ - "shape":"DomainName", - "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.

" - }, - "InvoiceId":{ - "shape":"InvoiceId", - "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.

" - }, - "Price":{ - "shape":"Price", - "documentation":"

The price that you were charged for the operation, in US dollars.

Example value: 12.0

" - } - }, - "documentation":"

Information for one billing record.

" - }, - "BillingRecords":{ - "type":"list", - "member":{"shape":"BillingRecord"} - }, - "Boolean":{"type":"boolean"}, - "CheckDomainAvailabilityRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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", - "documentation":"

Reserved for future use.

" - } - }, - "documentation":"

The CheckDomainAvailability request contains the following elements.

" - }, - "CheckDomainAvailabilityResponse":{ - "type":"structure", - "required":["Availability"], - "members":{ - "Availability":{ - "shape":"DomainAvailability", - "documentation":"

Whether the domain name is available for registering.

You can register only domains designated as AVAILABLE.

Valid values:

AVAILABLE

The domain name is available.

AVAILABLE_RESERVED

The domain name is reserved under specific conditions.

AVAILABLE_PREORDER

The domain name is available and can be preordered.

DONT_KNOW

The TLD registry didn't reply with a definitive answer about whether the domain name is available. 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.

" - }, - "CheckDomainTransferabilityRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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.

" - }, - "AuthCode":{ - "shape":"DomainAuthCode", - "documentation":"

If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, the code that you got from the current registrar for the domain.

" - } - }, - "documentation":"

The CheckDomainTransferability request contains the following elements.

" - }, - "CheckDomainTransferabilityResponse":{ - "type":"structure", - "required":["Transferability"], - "members":{ - "Transferability":{ - "shape":"DomainTransferability", - "documentation":"

A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53.

" - } - }, - "documentation":"

The CheckDomainTransferability response includes the following elements.

" - }, - "City":{ - "type":"string", - "max":255 - }, - "ContactDetail":{ - "type":"structure", - "members":{ - "FirstName":{ - "shape":"ContactName", - "documentation":"

First name of contact.

" - }, - "LastName":{ - "shape":"ContactName", - "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.

" - }, - "OrganizationName":{ - "shape":"ContactName", - "documentation":"

Name of the organization for contact types other than PERSON.

" - }, - "AddressLine1":{ - "shape":"AddressLine", - "documentation":"

First line of the contact's address.

" - }, - "AddressLine2":{ - "shape":"AddressLine", - "documentation":"

Second line of contact's address, if any.

" - }, - "City":{ - "shape":"City", - "documentation":"

The city of the contact's address.

" - }, - "State":{ - "shape":"State", - "documentation":"

The state or province of the contact's city.

" - }, - "CountryCode":{ - "shape":"CountryCode", - "documentation":"

Code for the country of the contact's address.

" - }, - "ZipCode":{ - "shape":"ZipCode", - "documentation":"

The zip or postal code of the contact's address.

" - }, - "PhoneNumber":{ - "shape":"ContactNumber", - "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.

" - }, - "Fax":{ - "shape":"ContactNumber", - "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.

" - } - }, - "documentation":"

ContactDetail includes the following elements.

", - "sensitive":true - }, - "ContactName":{ - "type":"string", - "max":255 - }, - "ContactNumber":{ - "type":"string", - "max":30 - }, - "ContactType":{ - "type":"string", - "enum":[ - "PERSON", - "COMPANY", - "ASSOCIATION", - "PUBLIC_BODY", - "RESELLER" - ] - }, - "CountryCode":{ - "type":"string", - "enum":[ - "AD", - "AE", - "AF", - "AG", - "AI", - "AL", - "AM", - "AN", - "AO", - "AQ", - "AR", - "AS", - "AT", - "AU", - "AW", - "AZ", - "BA", - "BB", - "BD", - "BE", - "BF", - "BG", - "BH", - "BI", - "BJ", - "BL", - "BM", - "BN", - "BO", - "BR", - "BS", - "BT", - "BW", - "BY", - "BZ", - "CA", - "CC", - "CD", - "CF", - "CG", - "CH", - "CI", - "CK", - "CL", - "CM", - "CN", - "CO", - "CR", - "CU", - "CV", - "CX", - "CY", - "CZ", - "DE", - "DJ", - "DK", - "DM", - "DO", - "DZ", - "EC", - "EE", - "EG", - "ER", - "ES", - "ET", - "FI", - "FJ", - "FK", - "FM", - "FO", - "FR", - "GA", - "GB", - "GD", - "GE", - "GH", - "GI", - "GL", - "GM", - "GN", - "GQ", - "GR", - "GT", - "GU", - "GW", - "GY", - "HK", - "HN", - "HR", - "HT", - "HU", - "ID", - "IE", - "IL", - "IM", - "IN", - "IQ", - "IR", - "IS", - "IT", - "JM", - "JO", - "JP", - "KE", - "KG", - "KH", - "KI", - "KM", - "KN", - "KP", - "KR", - "KW", - "KY", - "KZ", - "LA", - "LB", - "LC", - "LI", - "LK", - "LR", - "LS", - "LT", - "LU", - "LV", - "LY", - "MA", - "MC", - "MD", - "ME", - "MF", - "MG", - "MH", - "MK", - "ML", - "MM", - "MN", - "MO", - "MP", - "MR", - "MS", - "MT", - "MU", - "MV", - "MW", - "MX", - "MY", - "MZ", - "NA", - "NC", - "NE", - "NG", - "NI", - "NL", - "NO", - "NP", - "NR", - "NU", - "NZ", - "OM", - "PA", - "PE", - "PF", - "PG", - "PH", - "PK", - "PL", - "PM", - "PN", - "PR", - "PT", - "PW", - "PY", - "QA", - "RO", - "RS", - "RU", - "RW", - "SA", - "SB", - "SC", - "SD", - "SE", - "SG", - "SH", - "SI", - "SK", - "SL", - "SM", - "SN", - "SO", - "SR", - "ST", - "SV", - "SY", - "SZ", - "TC", - "TD", - "TG", - "TH", - "TJ", - "TK", - "TL", - "TM", - "TN", - "TO", - "TR", - "TT", - "TV", - "TW", - "TZ", - "UA", - "UG", - "US", - "UY", - "UZ", - "VA", - "VC", - "VE", - "VG", - "VI", - "VN", - "VU", - "WF", - "WS", - "YE", - "YT", - "ZA", - "ZM", - "ZW" - ] - }, - "CurrentExpiryYear":{"type":"integer"}, - "DNSSec":{"type":"string"}, - "DeleteTagsForDomainRequest":{ - "type":"structure", - "required":[ - "DomainName", - "TagsToDelete" - ], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The domain for which you want to delete one or more tags.

" - }, - "TagsToDelete":{ - "shape":"TagKeyList", - "documentation":"

A list of tag keys to delete.

" - } - }, - "documentation":"

The DeleteTagsForDomainRequest includes the following elements.

" - }, - "DeleteTagsForDomainResponse":{ - "type":"structure", - "members":{ - } - }, - "DisableDomainAutoRenewRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to disable automatic renewal for.

" - } - } - }, - "DisableDomainAutoRenewResponse":{ - "type":"structure", - "members":{ - } - }, - "DisableDomainTransferLockRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to remove the transfer lock for.

" - } - }, - "documentation":"

The DisableDomainTransferLock request includes the following element.

" - }, - "DisableDomainTransferLockResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "DomainAuthCode":{ - "type":"string", - "max":1024, - "sensitive":true - }, - "DomainAvailability":{ - "type":"string", - "enum":[ - "AVAILABLE", - "AVAILABLE_RESERVED", - "AVAILABLE_PREORDER", - "UNAVAILABLE", - "UNAVAILABLE_PREMIUM", - "UNAVAILABLE_RESTRICTED", - "RESERVED", - "DONT_KNOW" - ] - }, - "DomainLimitExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The number of domains has exceeded the allowed threshold for the account.

" - } - }, - "documentation":"

The number of domains has exceeded the allowed threshold for the account.

", - "exception":true - }, - "DomainName":{ - "type":"string", - "max":255 - }, - "DomainStatus":{"type":"string"}, - "DomainStatusList":{ - "type":"list", - "member":{"shape":"DomainStatus"} - }, - "DomainSuggestion":{ - "type":"structure", - "members":{ - "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", - "member":{"shape":"DomainSuggestion"} - }, - "DomainSummary":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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.

" - }, - "TransferLock":{ - "shape":"Boolean", - "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).

" - } - }, - "documentation":"

Summary information about one domain.

" - }, - "DomainSummaryList":{ - "type":"list", - "member":{"shape":"DomainSummary"} - }, - "DomainTransferability":{ - "type":"structure", - "members":{ - "Transferable":{"shape":"Transferable"} - }, - "documentation":"

A complex type that contains information about whether the specified domain can be transferred to Amazon Route 53.

" - }, - "DuplicateRequest":{ - "type":"structure", - "members":{ - "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 - }, - "DurationInYears":{ - "type":"integer", - "max":10, - "min":1 - }, - "Email":{ - "type":"string", - "max":254 - }, - "EnableDomainAutoRenewRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to enable automatic renewal for.

" - } - } - }, - "EnableDomainAutoRenewResponse":{ - "type":"structure", - "members":{ - } - }, - "EnableDomainTransferLockRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to set the transfer lock for.

" - } - }, - "documentation":"

A request to set the transfer lock for the specified domain.

" - }, - "EnableDomainTransferLockResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "ErrorMessage":{"type":"string"}, - "ExtraParam":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"ExtraParamName", - "documentation":"

Name of the additional parameter required by the top-level domain. Here are the top-level domains that require additional parameters and which parameters they require:

  • .com.au and .net.au: AU_ID_NUMBER and AU_ID_TYPE

  • .ca: BRAND_NUMBER, CA_LEGAL_TYPE, and CA_BUSINESS_ENTITY_TYPE

  • .es: ES_IDENTIFICATION, ES_IDENTIFICATION_TYPE, and ES_LEGAL_FORM

  • .fi: BIRTH_DATE_IN_YYYY_MM_DD, FI_BUSINESS_NUMBER, FI_ID_NUMBER, FI_NATIONALITY, and FI_ORGANIZATION_TYPE

  • .fr: BRAND_NUMBER, BIRTH_DEPARTMENT, BIRTH_DATE_IN_YYYY_MM_DD, BIRTH_COUNTRY, and BIRTH_CITY

  • .it: BIRTH_COUNTRY, IT_PIN, and IT_REGISTRANT_ENTITY_TYPE

  • .ru: BIRTH_DATE_IN_YYYY_MM_DD and RU_PASSPORT_DATA

  • .se: BIRTH_COUNTRY and SE_ID_NUMBER

  • .sg: SG_ID_NUMBER

  • .co.uk, .me.uk, and .org.uk: UK_CONTACT_TYPE and UK_COMPANY_NUMBER

In addition, many TLDs require VAT_NUMBER.

" - }, - "Value":{ - "shape":"ExtraParamValue", - "documentation":"

Values corresponding to the additional parameter names required by some top-level domains.

" - } - }, - "documentation":"

ExtraParam includes the following elements.

" - }, - "ExtraParamList":{ - "type":"list", - "member":{"shape":"ExtraParam"} - }, - "ExtraParamName":{ - "type":"string", - "enum":[ - "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", - "FI_NATIONALITY", - "FI_ORGANIZATION_TYPE", - "IT_PIN", - "IT_REGISTRANT_ENTITY_TYPE", - "RU_PASSPORT_DATA", - "SE_ID_NUMBER", - "SG_ID_NUMBER", - "VAT_NUMBER", - "UK_CONTACT_TYPE", - "UK_COMPANY_NUMBER" - ] - }, - "ExtraParamValue":{ - "type":"string", - "max":2048 - }, - "FIAuthKey":{"type":"string"}, - "GetContactReachabilityStatusRequest":{ - "type":"structure", - "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.

" - } - } - }, - "GetContactReachabilityStatusResponse":{ - "type":"structure", - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name for which you requested the reachability status.

" - }, - "status":{ - "shape":"ReachabilityStatus", - "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.

" - } - } - }, - "GetDomainDetailRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to get detailed information about.

" - } - }, - "documentation":"

The GetDomainDetail request includes the following element.

" - }, - "GetDomainDetailResponse":{ - "type":"structure", - "required":[ - "DomainName", - "Nameservers", - "AdminContact", - "RegistrantContact", - "TechContact" - ], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of a domain.

" - }, - "Nameservers":{ - "shape":"NameserverList", - "documentation":"

The name of the domain.

" - }, - "AutoRenew":{ - "shape":"Boolean", - "documentation":"

Specifies whether the domain registration is set to renew automatically.

" - }, - "AdminContact":{ - "shape":"ContactDetail", - "documentation":"

Provides details about the domain administrative contact.

" - }, - "RegistrantContact":{ - "shape":"ContactDetail", - "documentation":"

Provides details about the domain registrant.

" - }, - "TechContact":{ - "shape":"ContactDetail", - "documentation":"

Provides details about the domain technical contact.

" - }, - "AdminPrivacy":{ - "shape":"Boolean", - "documentation":"

Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the admin contact.

" - }, - "RegistrantPrivacy":{ - "shape":"Boolean", - "documentation":"

Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

" - }, - "TechPrivacy":{ - "shape":"Boolean", - "documentation":"

Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the technical contact.

" - }, - "RegistrarName":{ - "shape":"RegistrarName", - "documentation":"

Name of the registrar of the domain as identified in the registry. Domains with a .com, .net, or .org TLD are registered by Amazon Registrar. All other domains are registered by our registrar associate, Gandi. The value for domains that are registered by Gandi is \"GANDI SAS\".

" - }, - "WhoIsServer":{ - "shape":"RegistrarWhoIsServer", - "documentation":"

The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

" - }, - "RegistrarUrl":{ - "shape":"RegistrarUrl", - "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.

" - }, - "AbuseContactPhone":{ - "shape":"ContactNumber", - "documentation":"

Phone number for reporting abuse.

" - }, - "RegistryDomainId":{ - "shape":"RegistryDomainId", - "documentation":"

Reserved for future use.

" - }, - "CreationDate":{ - "shape":"Timestamp", - "documentation":"

The date when the domain was created as found in the response to a WHOIS query. The date and time is in Coordinated Universal time (UTC).

" - }, - "UpdatedDate":{ - "shape":"Timestamp", - "documentation":"

The last updated date of the domain as found in the response to a WHOIS query. The date and time is in Coordinated Universal time (UTC).

" - }, - "ExpirationDate":{ - "shape":"Timestamp", - "documentation":"

The date when the registration for the domain is set to expire. The date and time is in Coordinated Universal time (UTC).

" - }, - "Reseller":{ - "shape":"Reseller", - "documentation":"

Reseller of the domain. Domains registered or transferred using Amazon Route 53 domains will have \"Amazon\" as the reseller.

" - }, - "DnsSec":{ - "shape":"DNSSec", - "documentation":"

Reserved for future use.

" - }, - "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.)

" - } - }, - "documentation":"

The GetDomainDetail response includes the following elements.

" - }, - "GetDomainSuggestionsRequest":{ - "type":"structure", - "required":[ - "DomainName", - "SuggestionCount", - "OnlyAvailable" - ], - "members":{ - "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", - "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":{ - "type":"structure", - "required":["OperationId"], - "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.

" - } - }, - "documentation":"

The GetOperationDetail request includes the following element.

" - }, - "GetOperationDetailResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

The identifier for the operation.

" - }, - "Status":{ - "shape":"OperationStatus", - "documentation":"

The current status of the requested operation in the system.

" - }, - "Message":{ - "shape":"ErrorMessage", - "documentation":"

Detailed information on the status including possible errors.

" - }, - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of a domain.

" - }, - "Type":{ - "shape":"OperationType", - "documentation":"

The type of operation that was requested.

" - }, - "SubmittedDate":{ - "shape":"Timestamp", - "documentation":"

The date when the request was submitted.

" - } - }, - "documentation":"

The GetOperationDetail response includes the following elements.

" - }, - "GlueIp":{ - "type":"string", - "max":45 - }, - "GlueIpList":{ - "type":"list", - "member":{"shape":"GlueIp"} - }, - "HostName":{ - "type":"string", - "max":255, - "pattern":"[a-zA-Z0-9_\\-.]*" - }, - "Integer":{"type":"integer"}, - "InvalidInput":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The requested item is not acceptable. For example, for an OperationId it might refer to the ID of an operation that is already completed. For a domain name, it might not be a valid domain name or belong to the requester account.

" - } - }, - "documentation":"

The requested item is not acceptable. For example, for an OperationId it might refer to the ID of an operation that is already completed. For a domain name, it might not be a valid domain name or belong to the requester account.

", - "exception":true - }, - "InvoiceId":{"type":"string"}, - "LangCode":{ - "type":"string", - "max":3 - }, - "ListDomainsRequest":{ - "type":"structure", - "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.

Constraints: The marker must match the value specified in the previous request.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

Number of domains to be returned.

Default: 20

" - } - }, - "documentation":"

The ListDomains request includes the following elements.

" - }, - "ListDomainsResponse":{ - "type":"structure", - "required":["Domains"], - "members":{ - "Domains":{ - "shape":"DomainSummaryList", - "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.

" - } - }, - "documentation":"

The ListDomains response includes the following elements.

" - }, - "ListOperationsRequest":{ - "type":"structure", - "members":{ - "SubmittedSince":{ - "shape":"Timestamp", - "documentation":"

An optional parameter that lets you get information about all the operations that you submitted after a specified date and time. Specify the date and time in Coordinated Universal time (UTC).

" - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

Number of domains to be returned.

Default: 20

" - } - }, - "documentation":"

The ListOperations request includes the following elements.

" - }, - "ListOperationsResponse":{ - "type":"structure", - "required":["Operations"], - "members":{ - "Operations":{ - "shape":"OperationSummaryList", - "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.

" - } - }, - "documentation":"

The ListOperations response includes the following elements.

" - }, - "ListTagsForDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The domain for which you want to get a list of tags.

" - } - }, - "documentation":"

The ListTagsForDomainRequest includes the following elements.

" - }, - "ListTagsForDomainResponse":{ - "type":"structure", - "required":["TagList"], - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

A list of the tags that are associated with the specified domain.

" - } - }, - "documentation":"

The ListTagsForDomain response includes the following elements.

" - }, - "Nameserver":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"HostName", - "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.

Constraints: The list can contain only one IPv4 and one IPv6 address.

" - } - }, - "documentation":"

Nameserver includes the following elements.

" - }, - "NameserverList":{ - "type":"list", - "member":{"shape":"Nameserver"} - }, - "OperationId":{ - "type":"string", - "max":255 - }, - "OperationLimitExceeded":{ - "type":"structure", - "members":{ - "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 - }, - "OperationStatus":{ - "type":"string", - "enum":[ - "SUBMITTED", - "IN_PROGRESS", - "ERROR", - "SUCCESSFUL", - "FAILED" - ] - }, - "OperationSummary":{ - "type":"structure", - "required":[ - "OperationId", - "Status", - "Type", - "SubmittedDate" - ], - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

Identifier returned to track the requested action.

" - }, - "Status":{ - "shape":"OperationStatus", - "documentation":"

The current status of the requested operation in the system.

" - }, - "Type":{ - "shape":"OperationType", - "documentation":"

Type of the action requested.

" - }, - "SubmittedDate":{ - "shape":"Timestamp", - "documentation":"

The date when the request was submitted.

" - } - }, - "documentation":"

OperationSummary includes the following elements.

" - }, - "OperationSummaryList":{ - "type":"list", - "member":{"shape":"OperationSummary"} - }, - "OperationType":{ - "type":"string", - "enum":[ - "REGISTER_DOMAIN", - "DELETE_DOMAIN", - "TRANSFER_IN_DOMAIN", - "UPDATE_DOMAIN_CONTACT", - "UPDATE_NAMESERVER", - "CHANGE_PRIVACY_PROTECTION", - "DOMAIN_LOCK", - "ENABLE_AUTORENEW", - "DISABLE_AUTORENEW", - "ADD_DNSSEC", - "REMOVE_DNSSEC", - "EXPIRE_DOMAIN", - "TRANSFER_OUT_DOMAIN", - "CHANGE_DOMAIN_OWNER", - "RENEW_DOMAIN", - "PUSH_DOMAIN" - ] - }, - "PageMarker":{ - "type":"string", - "max":4096 - }, - "PageMaxItems":{ - "type":"integer", - "max":100 - }, - "Price":{"type":"double"}, - "ReachabilityStatus":{ - "type":"string", - "enum":[ - "PENDING", - "DONE", - "EXPIRED" - ] - }, - "RegisterDomainRequest":{ - "type":"structure", - "required":[ - "DomainName", - "DurationInYears", - "AdminContact", - "RegistrantContact", - "TechContact" - ], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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", - "documentation":"

Reserved for future use.

" - }, - "DurationInYears":{ - "shape":"DurationInYears", - "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.

Default: true

" - }, - "AdminContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "RegistrantContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "TechContact":{ - "shape":"ContactDetail", - "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 return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

Default: true

" - }, - "PrivacyProtectRegistrantContact":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (the domain owner).

Default: true

" - }, - "PrivacyProtectTechContact":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

Default: true

" - } - }, - "documentation":"

The RegisterDomain request includes the following elements.

" - }, - "RegisterDomainResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "RegistrarName":{"type":"string"}, - "RegistrarUrl":{"type":"string"}, - "RegistrarWhoIsServer":{"type":"string"}, - "RegistryDomainId":{"type":"string"}, - "RenewDomainRequest":{ - "type":"structure", - "required":[ - "DomainName", - "CurrentExpiryYear" - ], - "members":{ - "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 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.

" - } - }, - "documentation":"

A RenewDomain request includes the number of years that you want to renew for and the current expiration year.

" - }, - "RenewDomainResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "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"}, - "ResendContactReachabilityEmailRequest":{ - "type":"structure", - "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.

" - } - } - }, - "ResendContactReachabilityEmailResponse":{ - "type":"structure", - "members":{ - "domainName":{ - "shape":"DomainName", - "documentation":"

The domain name for which you requested a confirmation email.

" - }, - "emailAddress":{ - "shape":"Email", - "documentation":"

The email address for the registrant contact at the time that we sent the verification email.

" - }, - "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.

" - } - } - }, - "RetrieveDomainAuthCodeRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to get an authorization code for.

" - } - }, - "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", - "required":["AuthCode"], - "members":{ - "AuthCode":{ - "shape":"DomainAuthCode", - "documentation":"

The authorization code for the domain.

" - } - }, - "documentation":"

The RetrieveDomainAuthCode response includes the following element.

" - }, - "State":{ - "type":"string", - "max":255 - }, - "String":{"type":"string"}, - "TLDRulesViolation":{ - "type":"structure", - "members":{ - "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 - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKey", - "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.

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.

" - }, - "TagKey":{"type":"string"}, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{"type":"string"}, - "Timestamp":{"type":"timestamp"}, - "TransferDomainRequest":{ - "type":"structure", - "required":[ - "DomainName", - "DurationInYears", - "AdminContact", - "RegistrantContact", - "TechContact" - ], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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", - "documentation":"

Reserved for future use.

" - }, - "DurationInYears":{ - "shape":"DurationInYears", - "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.

" - }, - "AuthCode":{ - "shape":"DomainAuthCode", - "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.

Default: true

" - }, - "AdminContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "RegistrantContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "TechContact":{ - "shape":"ContactDetail", - "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 return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

Default: true

" - }, - "PrivacyProtectRegistrantContact":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

Default: true

" - }, - "PrivacyProtectTechContact":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

Default: true

" - } - }, - "documentation":"

The TransferDomain request includes the following elements.

" - }, - "TransferDomainResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "Transferable":{ - "type":"string", - "documentation":"

Whether the domain name can be transferred to Amazon Route 53.

You can transfer only domains that have a value of TRANSFERABLE for Transferable.

Valid values:

TRANSFERABLE

The domain name can be transferred to Amazon Route 53.

UNTRANSFERRABLE

The domain name can't be transferred to Amazon Route 53.

DONT_KNOW

Reserved for future use.

", - "enum":[ - "TRANSFERABLE", - "UNTRANSFERABLE", - "DONT_KNOW" - ] - }, - "UnsupportedTLD":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

Amazon Route 53 does not support this top-level domain (TLD).

" - } - }, - "documentation":"

Amazon Route 53 does not support this top-level domain (TLD).

", - "exception":true - }, - "UpdateDomainContactPrivacyRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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 return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

" - }, - "RegistrantPrivacy":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

" - }, - "TechPrivacy":{ - "shape":"Boolean", - "documentation":"

Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

" - } - }, - "documentation":"

The UpdateDomainContactPrivacy request includes the following elements.

" - }, - "UpdateDomainContactPrivacyResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "UpdateDomainContactRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to update contact information for.

" - }, - "AdminContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "RegistrantContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - }, - "TechContact":{ - "shape":"ContactDetail", - "documentation":"

Provides detailed contact information.

" - } - }, - "documentation":"

The UpdateDomainContact request includes the following elements.

" - }, - "UpdateDomainContactResponse":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "UpdateDomainNameserversRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Nameservers" - ], - "members":{ - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want to change name servers for.

" - }, - "FIAuthKey":{ - "shape":"FIAuthKey", - "documentation":"

The authorization key for .fi domains

", - "deprecated":true - }, - "Nameservers":{ - "shape":"NameserverList", - "documentation":"

A list of new name servers for the domain.

" - } - }, - "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", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"OperationId", - "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.

" - }, - "UpdateTagsForDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"DomainName", - "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.

" - } - }, - "documentation":"

The UpdateTagsForDomainRequest includes the following elements.

" - }, - "UpdateTagsForDomainResponse":{ - "type":"structure", - "members":{ - } - }, - "ViewBillingRequest":{ - "type":"structure", - "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 and time in Coordinated Universal time (UTC).

" - }, - "End":{ - "shape":"Timestamp", - "documentation":"

The end date and time for the time period for which you want a list of billing records. Specify the date and time in Coordinated Universal time (UTC).

" - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

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.

Default: 20

" - } - }, - "documentation":"

The ViewBilling request includes the following elements.

" - }, - "ViewBillingResponse":{ - "type":"structure", - "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.

" - }, - "BillingRecords":{ - "shape":"BillingRecords", - "documentation":"

A summary of billing records.

" - } - }, - "documentation":"

The ViewBilling response includes the following elements.

" - }, - "ZipCode":{ - "type":"string", - "max":255 - } - }, - "documentation":"

Amazon Route 53 API actions let you register domain names and perform related operations.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/paginators-1.json deleted file mode 100644 index d6c97ba4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/paginators-1.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "pagination": { - "ListMultipartUploads": { - "limit_key": "MaxUploads", - "more_results": "IsTruncated", - "output_token": [ - "NextKeyMarker", - "NextUploadIdMarker" - ], - "input_token": [ - "KeyMarker", - "UploadIdMarker" - ], - "result_key": [ - "Uploads", - "CommonPrefixes" - ] - }, - "ListObjectVersions": { - "more_results": "IsTruncated", - "limit_key": "MaxKeys", - "output_token": [ - "NextKeyMarker", - "NextVersionIdMarker" - ], - "input_token": [ - "KeyMarker", - "VersionIdMarker" - ], - "result_key": [ - "Versions", - "DeleteMarkers", - "CommonPrefixes" - ] - }, - "ListObjects": { - "more_results": "IsTruncated", - "limit_key": "MaxKeys", - "output_token": "NextMarker || Contents[-1].Key", - "input_token": "Marker", - "result_key": [ - "Contents", - "CommonPrefixes" - ] - }, - "ListObjectsV2": { - "more_results": "IsTruncated", - "limit_key": "MaxKeys", - "output_token": "NextContinuationToken", - "input_token": "ContinuationToken", - "result_key": [ - "Contents", - "CommonPrefixes" - ] - }, - "ListParts": { - "more_results": "IsTruncated", - "limit_key": "MaxParts", - "output_token": "NextPartNumberMarker", - "input_token": "PartNumberMarker", - "result_key": "Parts", - "non_aggregate_keys": [ - "Initiator", - "Owner", - "StorageClass" - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/service-2.json deleted file mode 100644 index 6af8d80a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/service-2.json +++ /dev/null @@ -1,7099 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2006-03-01", - "checksumFormat":"md5", - "endpointPrefix":"s3", - "globalEndpoint":"s3.amazonaws.com", - "protocol":"rest-xml", - "serviceAbbreviation":"Amazon S3", - "serviceFullName":"Amazon Simple Storage Service", - "serviceId":"S3", - "signatureVersion":"s3", - "timestampFormat":"rfc822", - "uid":"s3-2006-03-01" - }, - "operations":{ - "AbortMultipartUpload":{ - "name":"AbortMultipartUpload", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"AbortMultipartUploadRequest"}, - "output":{"shape":"AbortMultipartUploadOutput"}, - "errors":[ - {"shape":"NoSuchUpload"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html", - "documentation":"

Aborts a multipart upload.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.

" - }, - "CompleteMultipartUpload":{ - "name":"CompleteMultipartUpload", - "http":{ - "method":"POST", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"CompleteMultipartUploadRequest"}, - "output":{"shape":"CompleteMultipartUploadOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html", - "documentation":"

Completes a multipart upload by assembling previously uploaded parts.

" - }, - "CopyObject":{ - "name":"CopyObject", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"CopyObjectRequest"}, - "output":{"shape":"CopyObjectOutput"}, - "errors":[ - {"shape":"ObjectNotInActiveTierError"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html", - "documentation":"

Creates a copy of an object that is already stored in Amazon S3.

", - "alias":"PutObjectCopy" - }, - "CreateBucket":{ - "name":"CreateBucket", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}" - }, - "input":{"shape":"CreateBucketRequest"}, - "output":{"shape":"CreateBucketOutput"}, - "errors":[ - {"shape":"BucketAlreadyExists"}, - {"shape":"BucketAlreadyOwnedByYou"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html", - "documentation":"

Creates a new bucket.

", - "alias":"PutBucket" - }, - "CreateMultipartUpload":{ - "name":"CreateMultipartUpload", - "http":{ - "method":"POST", - "requestUri":"/{Bucket}/{Key+}?uploads" - }, - "input":{"shape":"CreateMultipartUploadRequest"}, - "output":{"shape":"CreateMultipartUploadOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html", - "documentation":"

Initiates a multipart upload and returns an upload ID.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

", - "alias":"InitiateMultipartUpload" - }, - "DeleteBucket":{ - "name":"DeleteBucket", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}" - }, - "input":{"shape":"DeleteBucketRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html", - "documentation":"

Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted.

" - }, - "DeleteBucketAnalyticsConfiguration":{ - "name":"DeleteBucketAnalyticsConfiguration", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?analytics" - }, - "input":{"shape":"DeleteBucketAnalyticsConfigurationRequest"}, - "documentation":"

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

" - }, - "DeleteBucketCors":{ - "name":"DeleteBucketCors", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?cors" - }, - "input":{"shape":"DeleteBucketCorsRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html", - "documentation":"

Deletes the cors configuration information set for the bucket.

" - }, - "DeleteBucketEncryption":{ - "name":"DeleteBucketEncryption", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?encryption" - }, - "input":{"shape":"DeleteBucketEncryptionRequest"}, - "documentation":"

Deletes the server-side encryption configuration from the bucket.

" - }, - "DeleteBucketInventoryConfiguration":{ - "name":"DeleteBucketInventoryConfiguration", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?inventory" - }, - "input":{"shape":"DeleteBucketInventoryConfigurationRequest"}, - "documentation":"

Deletes an inventory configuration (identified by the inventory ID) from the bucket.

" - }, - "DeleteBucketLifecycle":{ - "name":"DeleteBucketLifecycle", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?lifecycle" - }, - "input":{"shape":"DeleteBucketLifecycleRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html", - "documentation":"

Deletes the lifecycle configuration from the bucket.

" - }, - "DeleteBucketMetricsConfiguration":{ - "name":"DeleteBucketMetricsConfiguration", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?metrics" - }, - "input":{"shape":"DeleteBucketMetricsConfigurationRequest"}, - "documentation":"

Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.

" - }, - "DeleteBucketPolicy":{ - "name":"DeleteBucketPolicy", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?policy" - }, - "input":{"shape":"DeleteBucketPolicyRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html", - "documentation":"

Deletes the policy from the bucket.

" - }, - "DeleteBucketReplication":{ - "name":"DeleteBucketReplication", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?replication" - }, - "input":{"shape":"DeleteBucketReplicationRequest"}, - "documentation":"

Deletes the replication configuration from the bucket.

" - }, - "DeleteBucketTagging":{ - "name":"DeleteBucketTagging", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?tagging" - }, - "input":{"shape":"DeleteBucketTaggingRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html", - "documentation":"

Deletes the tags from the bucket.

" - }, - "DeleteBucketWebsite":{ - "name":"DeleteBucketWebsite", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}?website" - }, - "input":{"shape":"DeleteBucketWebsiteRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html", - "documentation":"

This operation removes the website configuration from the bucket.

" - }, - "DeleteObject":{ - "name":"DeleteObject", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"DeleteObjectRequest"}, - "output":{"shape":"DeleteObjectOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html", - "documentation":"

Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects.

" - }, - "DeleteObjectTagging":{ - "name":"DeleteObjectTagging", - "http":{ - "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}?tagging" - }, - "input":{"shape":"DeleteObjectTaggingRequest"}, - "output":{"shape":"DeleteObjectTaggingOutput"}, - "documentation":"

Removes the tag-set from an existing object.

" - }, - "DeleteObjects":{ - "name":"DeleteObjects", - "http":{ - "method":"POST", - "requestUri":"/{Bucket}?delete" - }, - "input":{"shape":"DeleteObjectsRequest"}, - "output":{"shape":"DeleteObjectsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html", - "documentation":"

This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.

", - "alias":"DeleteMultipleObjects" - }, - "GetBucketAccelerateConfiguration":{ - "name":"GetBucketAccelerateConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?accelerate" - }, - "input":{"shape":"GetBucketAccelerateConfigurationRequest"}, - "output":{"shape":"GetBucketAccelerateConfigurationOutput"}, - "documentation":"

Returns the accelerate configuration of a bucket.

" - }, - "GetBucketAcl":{ - "name":"GetBucketAcl", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?acl" - }, - "input":{"shape":"GetBucketAclRequest"}, - "output":{"shape":"GetBucketAclOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html", - "documentation":"

Gets the access control policy for the bucket.

" - }, - "GetBucketAnalyticsConfiguration":{ - "name":"GetBucketAnalyticsConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?analytics" - }, - "input":{"shape":"GetBucketAnalyticsConfigurationRequest"}, - "output":{"shape":"GetBucketAnalyticsConfigurationOutput"}, - "documentation":"

Gets an analytics configuration for the bucket (specified by the analytics configuration ID).

" - }, - "GetBucketCors":{ - "name":"GetBucketCors", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?cors" - }, - "input":{"shape":"GetBucketCorsRequest"}, - "output":{"shape":"GetBucketCorsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html", - "documentation":"

Returns the cors configuration for the bucket.

" - }, - "GetBucketEncryption":{ - "name":"GetBucketEncryption", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?encryption" - }, - "input":{"shape":"GetBucketEncryptionRequest"}, - "output":{"shape":"GetBucketEncryptionOutput"}, - "documentation":"

Returns the server-side encryption configuration of a bucket.

" - }, - "GetBucketInventoryConfiguration":{ - "name":"GetBucketInventoryConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?inventory" - }, - "input":{"shape":"GetBucketInventoryConfigurationRequest"}, - "output":{"shape":"GetBucketInventoryConfigurationOutput"}, - "documentation":"

Returns an inventory configuration (identified by the inventory ID) from the bucket.

" - }, - "GetBucketLifecycle":{ - "name":"GetBucketLifecycle", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?lifecycle" - }, - "input":{"shape":"GetBucketLifecycleRequest"}, - "output":{"shape":"GetBucketLifecycleOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html", - "documentation":"

Deprecated, see the GetBucketLifecycleConfiguration operation.

", - "deprecated":true - }, - "GetBucketLifecycleConfiguration":{ - "name":"GetBucketLifecycleConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?lifecycle" - }, - "input":{"shape":"GetBucketLifecycleConfigurationRequest"}, - "output":{"shape":"GetBucketLifecycleConfigurationOutput"}, - "documentation":"

Returns the lifecycle configuration information set on the bucket.

" - }, - "GetBucketLocation":{ - "name":"GetBucketLocation", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?location" - }, - "input":{"shape":"GetBucketLocationRequest"}, - "output":{"shape":"GetBucketLocationOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html", - "documentation":"

Returns the region the bucket resides in.

" - }, - "GetBucketLogging":{ - "name":"GetBucketLogging", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?logging" - }, - "input":{"shape":"GetBucketLoggingRequest"}, - "output":{"shape":"GetBucketLoggingOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html", - "documentation":"

Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner.

" - }, - "GetBucketMetricsConfiguration":{ - "name":"GetBucketMetricsConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?metrics" - }, - "input":{"shape":"GetBucketMetricsConfigurationRequest"}, - "output":{"shape":"GetBucketMetricsConfigurationOutput"}, - "documentation":"

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.

" - }, - "GetBucketNotification":{ - "name":"GetBucketNotification", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?notification" - }, - "input":{"shape":"GetBucketNotificationConfigurationRequest"}, - "output":{"shape":"NotificationConfigurationDeprecated"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html", - "documentation":"

Deprecated, see the GetBucketNotificationConfiguration operation.

", - "deprecated":true - }, - "GetBucketNotificationConfiguration":{ - "name":"GetBucketNotificationConfiguration", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?notification" - }, - "input":{"shape":"GetBucketNotificationConfigurationRequest"}, - "output":{"shape":"NotificationConfiguration"}, - "documentation":"

Returns the notification configuration of a bucket.

" - }, - "GetBucketPolicy":{ - "name":"GetBucketPolicy", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?policy" - }, - "input":{"shape":"GetBucketPolicyRequest"}, - "output":{"shape":"GetBucketPolicyOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html", - "documentation":"

Returns the policy of a specified bucket.

" - }, - "GetBucketReplication":{ - "name":"GetBucketReplication", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?replication" - }, - "input":{"shape":"GetBucketReplicationRequest"}, - "output":{"shape":"GetBucketReplicationOutput"}, - "documentation":"

Returns the replication configuration of a bucket.

" - }, - "GetBucketRequestPayment":{ - "name":"GetBucketRequestPayment", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?requestPayment" - }, - "input":{"shape":"GetBucketRequestPaymentRequest"}, - "output":{"shape":"GetBucketRequestPaymentOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html", - "documentation":"

Returns the request payment configuration of a bucket.

" - }, - "GetBucketTagging":{ - "name":"GetBucketTagging", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?tagging" - }, - "input":{"shape":"GetBucketTaggingRequest"}, - "output":{"shape":"GetBucketTaggingOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETtagging.html", - "documentation":"

Returns the tag set associated with the bucket.

" - }, - "GetBucketVersioning":{ - "name":"GetBucketVersioning", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?versioning" - }, - "input":{"shape":"GetBucketVersioningRequest"}, - "output":{"shape":"GetBucketVersioningOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html", - "documentation":"

Returns the versioning state of a bucket.

" - }, - "GetBucketWebsite":{ - "name":"GetBucketWebsite", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?website" - }, - "input":{"shape":"GetBucketWebsiteRequest"}, - "output":{"shape":"GetBucketWebsiteOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html", - "documentation":"

Returns the website configuration for a bucket.

" - }, - "GetObject":{ - "name":"GetObject", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"GetObjectRequest"}, - "output":{"shape":"GetObjectOutput"}, - "errors":[ - {"shape":"NoSuchKey"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html", - "documentation":"

Retrieves objects from Amazon S3.

" - }, - "GetObjectAcl":{ - "name":"GetObjectAcl", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}/{Key+}?acl" - }, - "input":{"shape":"GetObjectAclRequest"}, - "output":{"shape":"GetObjectAclOutput"}, - "errors":[ - {"shape":"NoSuchKey"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html", - "documentation":"

Returns the access control list (ACL) of an object.

" - }, - "GetObjectTagging":{ - "name":"GetObjectTagging", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}/{Key+}?tagging" - }, - "input":{"shape":"GetObjectTaggingRequest"}, - "output":{"shape":"GetObjectTaggingOutput"}, - "documentation":"

Returns the tag-set of an object.

" - }, - "GetObjectTorrent":{ - "name":"GetObjectTorrent", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}/{Key+}?torrent" - }, - "input":{"shape":"GetObjectTorrentRequest"}, - "output":{"shape":"GetObjectTorrentOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html", - "documentation":"

Return torrent files from a bucket.

" - }, - "HeadBucket":{ - "name":"HeadBucket", - "http":{ - "method":"HEAD", - "requestUri":"/{Bucket}" - }, - "input":{"shape":"HeadBucketRequest"}, - "errors":[ - {"shape":"NoSuchBucket"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html", - "documentation":"

This operation is useful to determine if a bucket exists and you have permission to access it.

" - }, - "HeadObject":{ - "name":"HeadObject", - "http":{ - "method":"HEAD", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"HeadObjectRequest"}, - "output":{"shape":"HeadObjectOutput"}, - "errors":[ - {"shape":"NoSuchKey"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html", - "documentation":"

The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

" - }, - "ListBucketAnalyticsConfigurations":{ - "name":"ListBucketAnalyticsConfigurations", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?analytics" - }, - "input":{"shape":"ListBucketAnalyticsConfigurationsRequest"}, - "output":{"shape":"ListBucketAnalyticsConfigurationsOutput"}, - "documentation":"

Lists the analytics configurations for the bucket.

" - }, - "ListBucketInventoryConfigurations":{ - "name":"ListBucketInventoryConfigurations", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?inventory" - }, - "input":{"shape":"ListBucketInventoryConfigurationsRequest"}, - "output":{"shape":"ListBucketInventoryConfigurationsOutput"}, - "documentation":"

Returns a list of inventory configurations for the bucket.

" - }, - "ListBucketMetricsConfigurations":{ - "name":"ListBucketMetricsConfigurations", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?metrics" - }, - "input":{"shape":"ListBucketMetricsConfigurationsRequest"}, - "output":{"shape":"ListBucketMetricsConfigurationsOutput"}, - "documentation":"

Lists the metrics configurations for the bucket.

" - }, - "ListBuckets":{ - "name":"ListBuckets", - "http":{ - "method":"GET", - "requestUri":"/" - }, - "output":{"shape":"ListBucketsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html", - "documentation":"

Returns a list of all buckets owned by the authenticated sender of the request.

", - "alias":"GetService" - }, - "ListMultipartUploads":{ - "name":"ListMultipartUploads", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?uploads" - }, - "input":{"shape":"ListMultipartUploadsRequest"}, - "output":{"shape":"ListMultipartUploadsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html", - "documentation":"

This operation lists in-progress multipart uploads.

" - }, - "ListObjectVersions":{ - "name":"ListObjectVersions", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?versions" - }, - "input":{"shape":"ListObjectVersionsRequest"}, - "output":{"shape":"ListObjectVersionsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html", - "documentation":"

Returns metadata about all of the versions of objects in a bucket.

", - "alias":"GetBucketObjectVersions" - }, - "ListObjects":{ - "name":"ListObjects", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}" - }, - "input":{"shape":"ListObjectsRequest"}, - "output":{"shape":"ListObjectsOutput"}, - "errors":[ - {"shape":"NoSuchBucket"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html", - "documentation":"

Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket.

", - "alias":"GetBucket" - }, - "ListObjectsV2":{ - "name":"ListObjectsV2", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}?list-type=2" - }, - "input":{"shape":"ListObjectsV2Request"}, - "output":{"shape":"ListObjectsV2Output"}, - "errors":[ - {"shape":"NoSuchBucket"} - ], - "documentation":"

Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development.

" - }, - "ListParts":{ - "name":"ListParts", - "http":{ - "method":"GET", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"ListPartsRequest"}, - "output":{"shape":"ListPartsOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html", - "documentation":"

Lists the parts that have been uploaded for a specific multipart upload.

" - }, - "PutBucketAccelerateConfiguration":{ - "name":"PutBucketAccelerateConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?accelerate" - }, - "input":{"shape":"PutBucketAccelerateConfigurationRequest"}, - "documentation":"

Sets the accelerate configuration of an existing bucket.

" - }, - "PutBucketAcl":{ - "name":"PutBucketAcl", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?acl" - }, - "input":{"shape":"PutBucketAclRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html", - "documentation":"

Sets the permissions on a bucket using access control lists (ACL).

" - }, - "PutBucketAnalyticsConfiguration":{ - "name":"PutBucketAnalyticsConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?analytics" - }, - "input":{"shape":"PutBucketAnalyticsConfigurationRequest"}, - "documentation":"

Sets an analytics configuration for the bucket (specified by the analytics configuration ID).

" - }, - "PutBucketCors":{ - "name":"PutBucketCors", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?cors" - }, - "input":{"shape":"PutBucketCorsRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html", - "documentation":"

Sets the cors configuration for a bucket.

" - }, - "PutBucketEncryption":{ - "name":"PutBucketEncryption", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?encryption" - }, - "input":{"shape":"PutBucketEncryptionRequest"}, - "documentation":"

Creates a new server-side encryption configuration (or replaces an existing one, if present).

" - }, - "PutBucketInventoryConfiguration":{ - "name":"PutBucketInventoryConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?inventory" - }, - "input":{"shape":"PutBucketInventoryConfigurationRequest"}, - "documentation":"

Adds an inventory configuration (identified by the inventory ID) from the bucket.

" - }, - "PutBucketLifecycle":{ - "name":"PutBucketLifecycle", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?lifecycle" - }, - "input":{"shape":"PutBucketLifecycleRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html", - "documentation":"

Deprecated, see the PutBucketLifecycleConfiguration operation.

", - "deprecated":true - }, - "PutBucketLifecycleConfiguration":{ - "name":"PutBucketLifecycleConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?lifecycle" - }, - "input":{"shape":"PutBucketLifecycleConfigurationRequest"}, - "documentation":"

Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.

" - }, - "PutBucketLogging":{ - "name":"PutBucketLogging", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?logging" - }, - "input":{"shape":"PutBucketLoggingRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html", - "documentation":"

Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner.

" - }, - "PutBucketMetricsConfiguration":{ - "name":"PutBucketMetricsConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?metrics" - }, - "input":{"shape":"PutBucketMetricsConfigurationRequest"}, - "documentation":"

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.

" - }, - "PutBucketNotification":{ - "name":"PutBucketNotification", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?notification" - }, - "input":{"shape":"PutBucketNotificationRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html", - "documentation":"

Deprecated, see the PutBucketNotificationConfiguraiton operation.

", - "deprecated":true - }, - "PutBucketNotificationConfiguration":{ - "name":"PutBucketNotificationConfiguration", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?notification" - }, - "input":{"shape":"PutBucketNotificationConfigurationRequest"}, - "documentation":"

Enables notifications of specified events for a bucket.

" - }, - "PutBucketPolicy":{ - "name":"PutBucketPolicy", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?policy" - }, - "input":{"shape":"PutBucketPolicyRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html", - "documentation":"

Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.

" - }, - "PutBucketReplication":{ - "name":"PutBucketReplication", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?replication" - }, - "input":{"shape":"PutBucketReplicationRequest"}, - "documentation":"

Creates a new replication configuration (or replaces an existing one, if present).

" - }, - "PutBucketRequestPayment":{ - "name":"PutBucketRequestPayment", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?requestPayment" - }, - "input":{"shape":"PutBucketRequestPaymentRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html", - "documentation":"

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html

" - }, - "PutBucketTagging":{ - "name":"PutBucketTagging", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?tagging" - }, - "input":{"shape":"PutBucketTaggingRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTtagging.html", - "documentation":"

Sets the tags for a bucket.

" - }, - "PutBucketVersioning":{ - "name":"PutBucketVersioning", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?versioning" - }, - "input":{"shape":"PutBucketVersioningRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html", - "documentation":"

Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

" - }, - "PutBucketWebsite":{ - "name":"PutBucketWebsite", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}?website" - }, - "input":{"shape":"PutBucketWebsiteRequest"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html", - "documentation":"

Set the website configuration for a bucket.

" - }, - "PutObject":{ - "name":"PutObject", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"PutObjectRequest"}, - "output":{"shape":"PutObjectOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html", - "documentation":"

Adds an object to a bucket.

" - }, - "PutObjectAcl":{ - "name":"PutObjectAcl", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}?acl" - }, - "input":{"shape":"PutObjectAclRequest"}, - "output":{"shape":"PutObjectAclOutput"}, - "errors":[ - {"shape":"NoSuchKey"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html", - "documentation":"

uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket

" - }, - "PutObjectTagging":{ - "name":"PutObjectTagging", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}?tagging" - }, - "input":{"shape":"PutObjectTaggingRequest"}, - "output":{"shape":"PutObjectTaggingOutput"}, - "documentation":"

Sets the supplied tag-set to an object that already exists in a bucket

" - }, - "RestoreObject":{ - "name":"RestoreObject", - "http":{ - "method":"POST", - "requestUri":"/{Bucket}/{Key+}?restore" - }, - "input":{"shape":"RestoreObjectRequest"}, - "output":{"shape":"RestoreObjectOutput"}, - "errors":[ - {"shape":"ObjectAlreadyInActiveTierError"} - ], - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html", - "documentation":"

Restores an archived copy of an object back into Amazon S3

", - "alias":"PostObjectRestore" - }, - "SelectObjectContent":{ - "name":"SelectObjectContent", - "http":{ - "method":"POST", - "requestUri":"/{Bucket}/{Key+}?select&select-type=2" - }, - "input":{ - "shape":"SelectObjectContentRequest", - "locationName":"SelectObjectContentRequest", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "output":{"shape":"SelectObjectContentOutput"}, - "documentation":"

This operation filters the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

" - }, - "UploadPart":{ - "name":"UploadPart", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"UploadPartRequest"}, - "output":{"shape":"UploadPartOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html", - "documentation":"

Uploads a part in a multipart upload.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

" - }, - "UploadPartCopy":{ - "name":"UploadPartCopy", - "http":{ - "method":"PUT", - "requestUri":"/{Bucket}/{Key+}" - }, - "input":{"shape":"UploadPartCopyRequest"}, - "output":{"shape":"UploadPartCopyOutput"}, - "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html", - "documentation":"

Uploads a part by copying data from an existing object as data source.

" - } - }, - "shapes":{ - "AbortDate":{"type":"timestamp"}, - "AbortIncompleteMultipartUpload":{ - "type":"structure", - "members":{ - "DaysAfterInitiation":{ - "shape":"DaysAfterInitiation", - "documentation":"

Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.

" - } - }, - "documentation":"

Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.

" - }, - "AbortMultipartUploadOutput":{ - "type":"structure", - "members":{ - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "AbortMultipartUploadRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "UploadId" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "location":"querystring", - "locationName":"uploadId" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "AbortRuleId":{"type":"string"}, - "AccelerateConfiguration":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"BucketAccelerateStatus", - "documentation":"

The accelerate configuration of the bucket.

" - } - } - }, - "AcceptRanges":{"type":"string"}, - "AccessControlPolicy":{ - "type":"structure", - "members":{ - "Grants":{ - "shape":"Grants", - "documentation":"

A list of grants.

", - "locationName":"AccessControlList" - }, - "Owner":{"shape":"Owner"} - } - }, - "AccessControlTranslation":{ - "type":"structure", - "required":["Owner"], - "members":{ - "Owner":{ - "shape":"OwnerOverride", - "documentation":"

The override value for the owner of the replica object.

" - } - }, - "documentation":"

Container for information regarding the access control for replicas.

" - }, - "AccountId":{"type":"string"}, - "AllowQuotedRecordDelimiter":{"type":"boolean"}, - "AllowedHeader":{"type":"string"}, - "AllowedHeaders":{ - "type":"list", - "member":{"shape":"AllowedHeader"}, - "flattened":true - }, - "AllowedMethod":{"type":"string"}, - "AllowedMethods":{ - "type":"list", - "member":{"shape":"AllowedMethod"}, - "flattened":true - }, - "AllowedOrigin":{"type":"string"}, - "AllowedOrigins":{ - "type":"list", - "member":{"shape":"AllowedOrigin"}, - "flattened":true - }, - "AnalyticsAndOperator":{ - "type":"structure", - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix to use when evaluating an AND predicate.

" - }, - "Tags":{ - "shape":"TagSet", - "documentation":"

The list of tags to use when evaluating an AND predicate.

", - "flattened":true, - "locationName":"Tag" - } - } - }, - "AnalyticsConfiguration":{ - "type":"structure", - "required":[ - "Id", - "StorageClassAnalysis" - ], - "members":{ - "Id":{ - "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

" - }, - "Filter":{ - "shape":"AnalyticsFilter", - "documentation":"

The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

" - }, - "StorageClassAnalysis":{ - "shape":"StorageClassAnalysis", - "documentation":"

If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.

" - } - } - }, - "AnalyticsConfigurationList":{ - "type":"list", - "member":{"shape":"AnalyticsConfiguration"}, - "flattened":true - }, - "AnalyticsExportDestination":{ - "type":"structure", - "required":["S3BucketDestination"], - "members":{ - "S3BucketDestination":{ - "shape":"AnalyticsS3BucketDestination", - "documentation":"

A destination signifying output to an S3 bucket.

" - } - } - }, - "AnalyticsFilter":{ - "type":"structure", - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix to use when evaluating an analytics filter.

" - }, - "Tag":{ - "shape":"Tag", - "documentation":"

The tag to use when evaluating an analytics filter.

" - }, - "And":{ - "shape":"AnalyticsAndOperator", - "documentation":"

A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

" - } - } - }, - "AnalyticsId":{"type":"string"}, - "AnalyticsS3BucketDestination":{ - "type":"structure", - "required":[ - "Format", - "Bucket" - ], - "members":{ - "Format":{ - "shape":"AnalyticsS3ExportFileFormat", - "documentation":"

The file format used when exporting data to Amazon S3.

" - }, - "BucketAccountId":{ - "shape":"AccountId", - "documentation":"

The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.

" - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

The Amazon resource name (ARN) of the bucket to which data is exported.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix to use when exporting data. The exported data begins with this prefix.

" - } - } - }, - "AnalyticsS3ExportFileFormat":{ - "type":"string", - "enum":["CSV"] - }, - "Body":{"type":"blob"}, - "Bucket":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"BucketName", - "documentation":"

The name of the bucket.

" - }, - "CreationDate":{ - "shape":"CreationDate", - "documentation":"

Date the bucket was created.

" - } - } - }, - "BucketAccelerateStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Suspended" - ] - }, - "BucketAlreadyExists":{ - "type":"structure", - "members":{ - }, - "documentation":"

The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

", - "exception":true - }, - "BucketAlreadyOwnedByYou":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "BucketCannedACL":{ - "type":"string", - "enum":[ - "private", - "public-read", - "public-read-write", - "authenticated-read" - ] - }, - "BucketLifecycleConfiguration":{ - "type":"structure", - "required":["Rules"], - "members":{ - "Rules":{ - "shape":"LifecycleRules", - "locationName":"Rule" - } - } - }, - "BucketLocationConstraint":{ - "type":"string", - "enum":[ - "EU", - "eu-west-1", - "us-west-1", - "us-west-2", - "ap-south-1", - "ap-southeast-1", - "ap-southeast-2", - "ap-northeast-1", - "sa-east-1", - "cn-north-1", - "eu-central-1" - ] - }, - "BucketLoggingStatus":{ - "type":"structure", - "members":{ - "LoggingEnabled":{"shape":"LoggingEnabled"} - } - }, - "BucketLogsPermission":{ - "type":"string", - "enum":[ - "FULL_CONTROL", - "READ", - "WRITE" - ] - }, - "BucketName":{"type":"string"}, - "BucketVersioningStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Suspended" - ] - }, - "Buckets":{ - "type":"list", - "member":{ - "shape":"Bucket", - "locationName":"Bucket" - } - }, - "BytesProcessed":{"type":"long"}, - "BytesReturned":{"type":"long"}, - "BytesScanned":{"type":"long"}, - "CORSConfiguration":{ - "type":"structure", - "required":["CORSRules"], - "members":{ - "CORSRules":{ - "shape":"CORSRules", - "locationName":"CORSRule" - } - } - }, - "CORSRule":{ - "type":"structure", - "required":[ - "AllowedMethods", - "AllowedOrigins" - ], - "members":{ - "AllowedHeaders":{ - "shape":"AllowedHeaders", - "documentation":"

Specifies which headers are allowed in a pre-flight OPTIONS request.

", - "locationName":"AllowedHeader" - }, - "AllowedMethods":{ - "shape":"AllowedMethods", - "documentation":"

Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.

", - "locationName":"AllowedMethod" - }, - "AllowedOrigins":{ - "shape":"AllowedOrigins", - "documentation":"

One or more origins you want customers to be able to access the bucket from.

", - "locationName":"AllowedOrigin" - }, - "ExposeHeaders":{ - "shape":"ExposeHeaders", - "documentation":"

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

", - "locationName":"ExposeHeader" - }, - "MaxAgeSeconds":{ - "shape":"MaxAgeSeconds", - "documentation":"

The time in seconds that your browser is to cache the preflight response for the specified resource.

" - } - } - }, - "CORSRules":{ - "type":"list", - "member":{"shape":"CORSRule"}, - "flattened":true - }, - "CSVInput":{ - "type":"structure", - "members":{ - "FileHeaderInfo":{ - "shape":"FileHeaderInfo", - "documentation":"

Describes the first line of input. Valid values: None, Ignore, Use.

" - }, - "Comments":{ - "shape":"Comments", - "documentation":"

Single character used to indicate a row should be ignored when present at the start of a row.

" - }, - "QuoteEscapeCharacter":{ - "shape":"QuoteEscapeCharacter", - "documentation":"

Single character used for escaping the quote character inside an already escaped value.

" - }, - "RecordDelimiter":{ - "shape":"RecordDelimiter", - "documentation":"

Value used to separate individual records.

" - }, - "FieldDelimiter":{ - "shape":"FieldDelimiter", - "documentation":"

Value used to separate individual fields in a record.

" - }, - "QuoteCharacter":{ - "shape":"QuoteCharacter", - "documentation":"

Value used for escaping where the field delimiter is part of the value.

" - }, - "AllowQuotedRecordDelimiter":{ - "shape":"AllowQuotedRecordDelimiter", - "documentation":"

Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.

" - } - }, - "documentation":"

Describes how a CSV-formatted input object is formatted.

" - }, - "CSVOutput":{ - "type":"structure", - "members":{ - "QuoteFields":{ - "shape":"QuoteFields", - "documentation":"

Indicates whether or not all output fields should be quoted.

" - }, - "QuoteEscapeCharacter":{ - "shape":"QuoteEscapeCharacter", - "documentation":"

Single character used for escaping the quote character inside an already escaped value.

" - }, - "RecordDelimiter":{ - "shape":"RecordDelimiter", - "documentation":"

Value used to separate individual records.

" - }, - "FieldDelimiter":{ - "shape":"FieldDelimiter", - "documentation":"

Value used to separate individual fields in a record.

" - }, - "QuoteCharacter":{ - "shape":"QuoteCharacter", - "documentation":"

Value used for escaping where the field delimiter is part of the value.

" - } - }, - "documentation":"

Describes how CSV-formatted results are formatted.

" - }, - "CacheControl":{"type":"string"}, - "CloudFunction":{"type":"string"}, - "CloudFunctionConfiguration":{ - "type":"structure", - "members":{ - "Id":{"shape":"NotificationId"}, - "Event":{ - "shape":"Event", - "deprecated":true - }, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "CloudFunction":{"shape":"CloudFunction"}, - "InvocationRole":{"shape":"CloudFunctionInvocationRole"} - } - }, - "CloudFunctionInvocationRole":{"type":"string"}, - "Code":{"type":"string"}, - "Comments":{"type":"string"}, - "CommonPrefix":{ - "type":"structure", - "members":{ - "Prefix":{"shape":"Prefix"} - } - }, - "CommonPrefixList":{ - "type":"list", - "member":{"shape":"CommonPrefix"}, - "flattened":true - }, - "CompleteMultipartUploadOutput":{ - "type":"structure", - "members":{ - "Location":{"shape":"Location"}, - "Bucket":{"shape":"BucketName"}, - "Key":{"shape":"ObjectKey"}, - "Expiration":{ - "shape":"Expiration", - "documentation":"

If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

", - "location":"header", - "locationName":"x-amz-expiration" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag of the object.

" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version of the object.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "CompleteMultipartUploadRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "UploadId" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "MultipartUpload":{ - "shape":"CompletedMultipartUpload", - "locationName":"CompleteMultipartUpload", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "UploadId":{ - "shape":"MultipartUploadId", - "location":"querystring", - "locationName":"uploadId" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - }, - "payload":"MultipartUpload" - }, - "CompletedMultipartUpload":{ - "type":"structure", - "members":{ - "Parts":{ - "shape":"CompletedPartList", - "locationName":"Part" - } - } - }, - "CompletedPart":{ - "type":"structure", - "members":{ - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag returned when the part was uploaded.

" - }, - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number that identifies the part. This is a positive integer between 1 and 10,000.

" - } - } - }, - "CompletedPartList":{ - "type":"list", - "member":{"shape":"CompletedPart"}, - "flattened":true - }, - "CompressionType":{ - "type":"string", - "enum":[ - "NONE", - "GZIP", - "BZIP2" - ] - }, - "Condition":{ - "type":"structure", - "members":{ - "HttpErrorCodeReturnedEquals":{ - "shape":"HttpErrorCodeReturnedEquals", - "documentation":"

The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

" - }, - "KeyPrefixEquals":{ - "shape":"KeyPrefixEquals", - "documentation":"

The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

" - } - } - }, - "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, - "ContentDisposition":{"type":"string"}, - "ContentEncoding":{"type":"string"}, - "ContentLanguage":{"type":"string"}, - "ContentLength":{"type":"long"}, - "ContentMD5":{"type":"string"}, - "ContentRange":{"type":"string"}, - "ContentType":{"type":"string"}, - "ContinuationEvent":{ - "type":"structure", - "members":{ - }, - "event":true - }, - "CopyObjectOutput":{ - "type":"structure", - "members":{ - "CopyObjectResult":{"shape":"CopyObjectResult"}, - "Expiration":{ - "shape":"Expiration", - "documentation":"

If the object expiration is configured, the response includes this header.

", - "location":"header", - "locationName":"x-amz-expiration" - }, - "CopySourceVersionId":{ - "shape":"CopySourceVersionId", - "location":"header", - "locationName":"x-amz-copy-source-version-id" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version ID of the newly created copy.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - }, - "payload":"CopyObjectResult" - }, - "CopyObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "CopySource", - "Key" - ], - "members":{ - "ACL":{ - "shape":"ObjectCannedACL", - "documentation":"

The canned ACL to apply to the object.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "CacheControl":{ - "shape":"CacheControl", - "documentation":"

Specifies caching behavior along the request/reply chain.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentDisposition":{ - "shape":"ContentDisposition", - "documentation":"

Specifies presentational information for the object.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "ContentEncoding":{ - "shape":"ContentEncoding", - "documentation":"

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

", - "location":"header", - "locationName":"Content-Encoding" - }, - "ContentLanguage":{ - "shape":"ContentLanguage", - "documentation":"

The language the content is in.

", - "location":"header", - "locationName":"Content-Language" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

A standard MIME type describing the format of the object data.

", - "location":"header", - "locationName":"Content-Type" - }, - "CopySource":{ - "shape":"CopySource", - "documentation":"

The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

", - "location":"header", - "locationName":"x-amz-copy-source" - }, - "CopySourceIfMatch":{ - "shape":"CopySourceIfMatch", - "documentation":"

Copies the object if its entity tag (ETag) matches the specified tag.

", - "location":"header", - "locationName":"x-amz-copy-source-if-match" - }, - "CopySourceIfModifiedSince":{ - "shape":"CopySourceIfModifiedSince", - "documentation":"

Copies the object if it has been modified since the specified time.

", - "location":"header", - "locationName":"x-amz-copy-source-if-modified-since" - }, - "CopySourceIfNoneMatch":{ - "shape":"CopySourceIfNoneMatch", - "documentation":"

Copies the object if its entity tag (ETag) is different than the specified ETag.

", - "location":"header", - "locationName":"x-amz-copy-source-if-none-match" - }, - "CopySourceIfUnmodifiedSince":{ - "shape":"CopySourceIfUnmodifiedSince", - "documentation":"

Copies the object if it hasn't been modified since the specified time.

", - "location":"header", - "locationName":"x-amz-copy-source-if-unmodified-since" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The date and time at which the object is no longer cacheable.

", - "location":"header", - "locationName":"Expires" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to read the object data and its metadata.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the object ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable object.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

A map of metadata to store with the object in S3.

", - "location":"headers", - "locationName":"x-amz-meta-" - }, - "MetadataDirective":{ - "shape":"MetadataDirective", - "documentation":"

Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

", - "location":"header", - "locationName":"x-amz-metadata-directive" - }, - "TaggingDirective":{ - "shape":"TaggingDirective", - "documentation":"

Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

", - "location":"header", - "locationName":"x-amz-tagging-directive" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The type of storage to use for the object. Defaults to 'STANDARD'.

", - "location":"header", - "locationName":"x-amz-storage-class" - }, - "WebsiteRedirectLocation":{ - "shape":"WebsiteRedirectLocation", - "documentation":"

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", - "location":"header", - "locationName":"x-amz-website-redirect-location" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "CopySourceSSECustomerAlgorithm":{ - "shape":"CopySourceSSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use when decrypting the source object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-algorithm" - }, - "CopySourceSSECustomerKey":{ - "shape":"CopySourceSSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-key" - }, - "CopySourceSSECustomerKeyMD5":{ - "shape":"CopySourceSSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-key-MD5" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "Tagging":{ - "shape":"TaggingHeader", - "documentation":"

The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters

", - "location":"header", - "locationName":"x-amz-tagging" - } - } - }, - "CopyObjectResult":{ - "type":"structure", - "members":{ - "ETag":{"shape":"ETag"}, - "LastModified":{"shape":"LastModified"} - } - }, - "CopyPartResult":{ - "type":"structure", - "members":{ - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag of the object.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Date and time at which the object was uploaded.

" - } - } - }, - "CopySource":{ - "type":"string", - "pattern":"\\/.+\\/.+" - }, - "CopySourceIfMatch":{"type":"string"}, - "CopySourceIfModifiedSince":{"type":"timestamp"}, - "CopySourceIfNoneMatch":{"type":"string"}, - "CopySourceIfUnmodifiedSince":{"type":"timestamp"}, - "CopySourceRange":{"type":"string"}, - "CopySourceSSECustomerAlgorithm":{"type":"string"}, - "CopySourceSSECustomerKey":{ - "type":"string", - "sensitive":true - }, - "CopySourceSSECustomerKeyMD5":{"type":"string"}, - "CopySourceVersionId":{"type":"string"}, - "CreateBucketConfiguration":{ - "type":"structure", - "members":{ - "LocationConstraint":{ - "shape":"BucketLocationConstraint", - "documentation":"

Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.

" - } - } - }, - "CreateBucketOutput":{ - "type":"structure", - "members":{ - "Location":{ - "shape":"Location", - "location":"header", - "locationName":"Location" - } - } - }, - "CreateBucketRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "ACL":{ - "shape":"BucketCannedACL", - "documentation":"

The canned ACL to apply to the bucket.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "CreateBucketConfiguration":{ - "shape":"CreateBucketConfiguration", - "locationName":"CreateBucketConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to list the objects in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the bucket ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWrite":{ - "shape":"GrantWrite", - "documentation":"

Allows grantee to create, overwrite, and delete any object in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-write" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable bucket.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - } - }, - "payload":"CreateBucketConfiguration" - }, - "CreateMultipartUploadOutput":{ - "type":"structure", - "members":{ - "AbortDate":{ - "shape":"AbortDate", - "documentation":"

Date when multipart upload will become eligible for abort operation by lifecycle.

", - "location":"header", - "locationName":"x-amz-abort-date" - }, - "AbortRuleId":{ - "shape":"AbortRuleId", - "documentation":"

Id of the lifecycle rule that makes a multipart upload eligible for abort operation.

", - "location":"header", - "locationName":"x-amz-abort-rule-id" - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to which the multipart upload was initiated.

", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

Object key for which the multipart upload was initiated.

" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

ID for the initiated multipart upload.

" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "CreateMultipartUploadRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "ACL":{ - "shape":"ObjectCannedACL", - "documentation":"

The canned ACL to apply to the object.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "CacheControl":{ - "shape":"CacheControl", - "documentation":"

Specifies caching behavior along the request/reply chain.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentDisposition":{ - "shape":"ContentDisposition", - "documentation":"

Specifies presentational information for the object.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "ContentEncoding":{ - "shape":"ContentEncoding", - "documentation":"

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

", - "location":"header", - "locationName":"Content-Encoding" - }, - "ContentLanguage":{ - "shape":"ContentLanguage", - "documentation":"

The language the content is in.

", - "location":"header", - "locationName":"Content-Language" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

A standard MIME type describing the format of the object data.

", - "location":"header", - "locationName":"Content-Type" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The date and time at which the object is no longer cacheable.

", - "location":"header", - "locationName":"Expires" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to read the object data and its metadata.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the object ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable object.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

A map of metadata to store with the object in S3.

", - "location":"headers", - "locationName":"x-amz-meta-" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The type of storage to use for the object. Defaults to 'STANDARD'.

", - "location":"header", - "locationName":"x-amz-storage-class" - }, - "WebsiteRedirectLocation":{ - "shape":"WebsiteRedirectLocation", - "documentation":"

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", - "location":"header", - "locationName":"x-amz-website-redirect-location" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "Tagging":{ - "shape":"TaggingHeader", - "documentation":"

The tag-set for the object. The tag-set must be encoded as URL Query parameters

", - "location":"header", - "locationName":"x-amz-tagging" - } - } - }, - "CreationDate":{"type":"timestamp"}, - "Date":{ - "type":"timestamp", - "timestampFormat":"iso8601" - }, - "Days":{"type":"integer"}, - "DaysAfterInitiation":{"type":"integer"}, - "Delete":{ - "type":"structure", - "required":["Objects"], - "members":{ - "Objects":{ - "shape":"ObjectIdentifierList", - "locationName":"Object" - }, - "Quiet":{ - "shape":"Quiet", - "documentation":"

Element to enable quiet mode for the request. When you add this element, you must set its value to true.

" - } - } - }, - "DeleteBucketAnalyticsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket from which an analytics configuration is deleted.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "DeleteBucketCorsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketEncryptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the server-side encryption configuration to delete.

", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketInventoryConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the inventory configuration to delete.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"InventoryId", - "documentation":"

The ID used to identify the inventory configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "DeleteBucketLifecycleRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketMetricsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the metrics configuration to delete.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"MetricsId", - "documentation":"

The ID used to identify the metrics configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "DeleteBucketPolicyRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketReplicationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketTaggingRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteBucketWebsiteRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "DeleteMarker":{"type":"boolean"}, - "DeleteMarkerEntry":{ - "type":"structure", - "members":{ - "Owner":{"shape":"Owner"}, - "Key":{ - "shape":"ObjectKey", - "documentation":"

The object key.

" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version ID of an object.

" - }, - "IsLatest":{ - "shape":"IsLatest", - "documentation":"

Specifies whether the object is (true) or is not (false) the latest version of an object.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Date and time the object was last modified.

" - } - } - }, - "DeleteMarkerVersionId":{"type":"string"}, - "DeleteMarkers":{ - "type":"list", - "member":{"shape":"DeleteMarkerEntry"}, - "flattened":true - }, - "DeleteObjectOutput":{ - "type":"structure", - "members":{ - "DeleteMarker":{ - "shape":"DeleteMarker", - "documentation":"

Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

", - "location":"header", - "locationName":"x-amz-delete-marker" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Returns the version ID of the delete marker created as a result of the DELETE operation.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "DeleteObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "MFA":{ - "shape":"MFA", - "documentation":"

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

", - "location":"header", - "locationName":"x-amz-mfa" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId used to reference a specific version of the object.

", - "location":"querystring", - "locationName":"versionId" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "DeleteObjectTaggingOutput":{ - "type":"structure", - "members":{ - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

The versionId of the object the tag-set was removed from.

", - "location":"header", - "locationName":"x-amz-version-id" - } - } - }, - "DeleteObjectTaggingRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

The versionId of the object that the tag-set will be removed from.

", - "location":"querystring", - "locationName":"versionId" - } - } - }, - "DeleteObjectsOutput":{ - "type":"structure", - "members":{ - "Deleted":{"shape":"DeletedObjects"}, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - }, - "Errors":{ - "shape":"Errors", - "locationName":"Error" - } - } - }, - "DeleteObjectsRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Delete" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Delete":{ - "shape":"Delete", - "locationName":"Delete", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "MFA":{ - "shape":"MFA", - "documentation":"

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

", - "location":"header", - "locationName":"x-amz-mfa" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - }, - "payload":"Delete" - }, - "DeletedObject":{ - "type":"structure", - "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "DeleteMarker":{"shape":"DeleteMarker"}, - "DeleteMarkerVersionId":{"shape":"DeleteMarkerVersionId"} - } - }, - "DeletedObjects":{ - "type":"list", - "member":{"shape":"DeletedObject"}, - "flattened":true - }, - "Delimiter":{"type":"string"}, - "Description":{"type":"string"}, - "Destination":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.

" - }, - "Account":{ - "shape":"AccountId", - "documentation":"

Account ID of the destination bucket. Currently this is only being verified if Access Control Translation is enabled

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The class of storage used to store the object.

" - }, - "AccessControlTranslation":{ - "shape":"AccessControlTranslation", - "documentation":"

Container for information regarding the access control for replicas.

" - }, - "EncryptionConfiguration":{ - "shape":"EncryptionConfiguration", - "documentation":"

Container for information regarding encryption based configuration for replicas.

" - } - }, - "documentation":"

Container for replication destination information.

" - }, - "DisplayName":{"type":"string"}, - "ETag":{"type":"string"}, - "EmailAddress":{"type":"string"}, - "EnableRequestProgress":{"type":"boolean"}, - "EncodingType":{ - "type":"string", - "documentation":"

Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

", - "enum":["url"] - }, - "Encryption":{ - "type":"structure", - "required":["EncryptionType"], - "members":{ - "EncryptionType":{ - "shape":"ServerSideEncryption", - "documentation":"

The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).

" - }, - "KMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.

" - }, - "KMSContext":{ - "shape":"KMSContext", - "documentation":"

If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.

" - } - }, - "documentation":"

Describes the server-side encryption that will be applied to the restore results.

" - }, - "EncryptionConfiguration":{ - "type":"structure", - "members":{ - "ReplicaKmsKeyID":{ - "shape":"ReplicaKmsKeyID", - "documentation":"

The id of the KMS key used to encrypt the replica object.

" - } - }, - "documentation":"

Container for information regarding encryption based configuration for replicas.

" - }, - "EndEvent":{ - "type":"structure", - "members":{ - }, - "event":true - }, - "Error":{ - "type":"structure", - "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "Code":{"shape":"Code"}, - "Message":{"shape":"Message"} - } - }, - "ErrorDocument":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"ObjectKey", - "documentation":"

The object key name to use when a 4XX class error occurs.

" - } - } - }, - "Errors":{ - "type":"list", - "member":{"shape":"Error"}, - "flattened":true - }, - "Event":{ - "type":"string", - "documentation":"

Bucket event for which to send notifications.

", - "enum":[ - "s3:ReducedRedundancyLostObject", - "s3:ObjectCreated:*", - "s3:ObjectCreated:Put", - "s3:ObjectCreated:Post", - "s3:ObjectCreated:Copy", - "s3:ObjectCreated:CompleteMultipartUpload", - "s3:ObjectRemoved:*", - "s3:ObjectRemoved:Delete", - "s3:ObjectRemoved:DeleteMarkerCreated" - ] - }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"}, - "flattened":true - }, - "Expiration":{"type":"string"}, - "ExpirationStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "ExpiredObjectDeleteMarker":{"type":"boolean"}, - "Expires":{"type":"timestamp"}, - "ExposeHeader":{"type":"string"}, - "ExposeHeaders":{ - "type":"list", - "member":{"shape":"ExposeHeader"}, - "flattened":true - }, - "Expression":{"type":"string"}, - "ExpressionType":{ - "type":"string", - "enum":["SQL"] - }, - "FetchOwner":{"type":"boolean"}, - "FieldDelimiter":{"type":"string"}, - "FileHeaderInfo":{ - "type":"string", - "enum":[ - "USE", - "IGNORE", - "NONE" - ] - }, - "FilterRule":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"FilterRuleName", - "documentation":"

Object key name prefix or suffix identifying one or more objects to which the filtering rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" - }, - "Value":{"shape":"FilterRuleValue"} - }, - "documentation":"

Container for key value pair that defines the criteria for the filter rule.

" - }, - "FilterRuleList":{ - "type":"list", - "member":{"shape":"FilterRule"}, - "documentation":"

A list of containers for key value pair that defines the criteria for the filter rule.

", - "flattened":true - }, - "FilterRuleName":{ - "type":"string", - "enum":[ - "prefix", - "suffix" - ] - }, - "FilterRuleValue":{"type":"string"}, - "GetBucketAccelerateConfigurationOutput":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"BucketAccelerateStatus", - "documentation":"

The accelerate configuration of the bucket.

" - } - } - }, - "GetBucketAccelerateConfigurationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket for which the accelerate configuration is retrieved.

", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketAclOutput":{ - "type":"structure", - "members":{ - "Owner":{"shape":"Owner"}, - "Grants":{ - "shape":"Grants", - "documentation":"

A list of grants.

", - "locationName":"AccessControlList" - } - } - }, - "GetBucketAclRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketAnalyticsConfigurationOutput":{ - "type":"structure", - "members":{ - "AnalyticsConfiguration":{ - "shape":"AnalyticsConfiguration", - "documentation":"

The configuration and any analyses for the analytics filter.

" - } - }, - "payload":"AnalyticsConfiguration" - }, - "GetBucketAnalyticsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket from which an analytics configuration is retrieved.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "GetBucketCorsOutput":{ - "type":"structure", - "members":{ - "CORSRules":{ - "shape":"CORSRules", - "locationName":"CORSRule" - } - } - }, - "GetBucketCorsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketEncryptionOutput":{ - "type":"structure", - "members":{ - "ServerSideEncryptionConfiguration":{"shape":"ServerSideEncryptionConfiguration"} - }, - "payload":"ServerSideEncryptionConfiguration" - }, - "GetBucketEncryptionRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket from which the server-side encryption configuration is retrieved.

", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketInventoryConfigurationOutput":{ - "type":"structure", - "members":{ - "InventoryConfiguration":{ - "shape":"InventoryConfiguration", - "documentation":"

Specifies the inventory configuration.

" - } - }, - "payload":"InventoryConfiguration" - }, - "GetBucketInventoryConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the inventory configuration to retrieve.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"InventoryId", - "documentation":"

The ID used to identify the inventory configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "GetBucketLifecycleConfigurationOutput":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"LifecycleRules", - "locationName":"Rule" - } - } - }, - "GetBucketLifecycleConfigurationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketLifecycleOutput":{ - "type":"structure", - "members":{ - "Rules":{ - "shape":"Rules", - "locationName":"Rule" - } - } - }, - "GetBucketLifecycleRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketLocationOutput":{ - "type":"structure", - "members":{ - "LocationConstraint":{"shape":"BucketLocationConstraint"} - } - }, - "GetBucketLocationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketLoggingOutput":{ - "type":"structure", - "members":{ - "LoggingEnabled":{"shape":"LoggingEnabled"} - } - }, - "GetBucketLoggingRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketMetricsConfigurationOutput":{ - "type":"structure", - "members":{ - "MetricsConfiguration":{ - "shape":"MetricsConfiguration", - "documentation":"

Specifies the metrics configuration.

" - } - }, - "payload":"MetricsConfiguration" - }, - "GetBucketMetricsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the metrics configuration to retrieve.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"MetricsId", - "documentation":"

The ID used to identify the metrics configuration.

", - "location":"querystring", - "locationName":"id" - } - } - }, - "GetBucketNotificationConfigurationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to get the notification configuration for.

", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketPolicyOutput":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

The bucket policy as a JSON document.

" - } - }, - "payload":"Policy" - }, - "GetBucketPolicyRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketReplicationOutput":{ - "type":"structure", - "members":{ - "ReplicationConfiguration":{"shape":"ReplicationConfiguration"} - }, - "payload":"ReplicationConfiguration" - }, - "GetBucketReplicationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketRequestPaymentOutput":{ - "type":"structure", - "members":{ - "Payer":{ - "shape":"Payer", - "documentation":"

Specifies who pays for the download and request fees.

" - } - } - }, - "GetBucketRequestPaymentRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketTaggingOutput":{ - "type":"structure", - "required":["TagSet"], - "members":{ - "TagSet":{"shape":"TagSet"} - } - }, - "GetBucketTaggingRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketVersioningOutput":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"BucketVersioningStatus", - "documentation":"

The versioning state of the bucket.

" - }, - "MFADelete":{ - "shape":"MFADeleteStatus", - "documentation":"

Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

", - "locationName":"MfaDelete" - } - } - }, - "GetBucketVersioningRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetBucketWebsiteOutput":{ - "type":"structure", - "members":{ - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "IndexDocument":{"shape":"IndexDocument"}, - "ErrorDocument":{"shape":"ErrorDocument"}, - "RoutingRules":{"shape":"RoutingRules"} - } - }, - "GetBucketWebsiteRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "GetObjectAclOutput":{ - "type":"structure", - "members":{ - "Owner":{"shape":"Owner"}, - "Grants":{ - "shape":"Grants", - "documentation":"

A list of grants.

", - "locationName":"AccessControlList" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "GetObjectAclRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId used to reference a specific version of the object.

", - "location":"querystring", - "locationName":"versionId" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "GetObjectOutput":{ - "type":"structure", - "members":{ - "Body":{ - "shape":"Body", - "documentation":"

Object data.

", - "streaming":true - }, - "DeleteMarker":{ - "shape":"DeleteMarker", - "documentation":"

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

", - "location":"header", - "locationName":"x-amz-delete-marker" - }, - "AcceptRanges":{ - "shape":"AcceptRanges", - "location":"header", - "locationName":"accept-ranges" - }, - "Expiration":{ - "shape":"Expiration", - "documentation":"

If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

", - "location":"header", - "locationName":"x-amz-expiration" - }, - "Restore":{ - "shape":"Restore", - "documentation":"

Provides information about object restoration operation and expiration time of the restored object copy.

", - "location":"header", - "locationName":"x-amz-restore" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Last modified date of the object

", - "location":"header", - "locationName":"Last-Modified" - }, - "ContentLength":{ - "shape":"ContentLength", - "documentation":"

Size of the body in bytes.

", - "location":"header", - "locationName":"Content-Length" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL

", - "location":"header", - "locationName":"ETag" - }, - "MissingMeta":{ - "shape":"MissingMeta", - "documentation":"

This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

", - "location":"header", - "locationName":"x-amz-missing-meta" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version of the object.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "CacheControl":{ - "shape":"CacheControl", - "documentation":"

Specifies caching behavior along the request/reply chain.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentDisposition":{ - "shape":"ContentDisposition", - "documentation":"

Specifies presentational information for the object.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "ContentEncoding":{ - "shape":"ContentEncoding", - "documentation":"

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

", - "location":"header", - "locationName":"Content-Encoding" - }, - "ContentLanguage":{ - "shape":"ContentLanguage", - "documentation":"

The language the content is in.

", - "location":"header", - "locationName":"Content-Language" - }, - "ContentRange":{ - "shape":"ContentRange", - "documentation":"

The portion of the object returned in the response.

", - "location":"header", - "locationName":"Content-Range" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

A standard MIME type describing the format of the object data.

", - "location":"header", - "locationName":"Content-Type" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The date and time at which the object is no longer cacheable.

", - "location":"header", - "locationName":"Expires" - }, - "WebsiteRedirectLocation":{ - "shape":"WebsiteRedirectLocation", - "documentation":"

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", - "location":"header", - "locationName":"x-amz-website-redirect-location" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

A map of metadata to store with the object in S3.

", - "location":"headers", - "locationName":"x-amz-meta-" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "StorageClass":{ - "shape":"StorageClass", - "location":"header", - "locationName":"x-amz-storage-class" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - }, - "ReplicationStatus":{ - "shape":"ReplicationStatus", - "location":"header", - "locationName":"x-amz-replication-status" - }, - "PartsCount":{ - "shape":"PartsCount", - "documentation":"

The count of parts this object has.

", - "location":"header", - "locationName":"x-amz-mp-parts-count" - }, - "TagCount":{ - "shape":"TagCount", - "documentation":"

The number of tags, if any, on the object.

", - "location":"header", - "locationName":"x-amz-tagging-count" - } - }, - "payload":"Body" - }, - "GetObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "IfMatch":{ - "shape":"IfMatch", - "documentation":"

Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

", - "location":"header", - "locationName":"If-Match" - }, - "IfModifiedSince":{ - "shape":"IfModifiedSince", - "documentation":"

Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

", - "location":"header", - "locationName":"If-Modified-Since" - }, - "IfNoneMatch":{ - "shape":"IfNoneMatch", - "documentation":"

Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

", - "location":"header", - "locationName":"If-None-Match" - }, - "IfUnmodifiedSince":{ - "shape":"IfUnmodifiedSince", - "documentation":"

Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

", - "location":"header", - "locationName":"If-Unmodified-Since" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "Range":{ - "shape":"Range", - "documentation":"

Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

", - "location":"header", - "locationName":"Range" - }, - "ResponseCacheControl":{ - "shape":"ResponseCacheControl", - "documentation":"

Sets the Cache-Control header of the response.

", - "location":"querystring", - "locationName":"response-cache-control" - }, - "ResponseContentDisposition":{ - "shape":"ResponseContentDisposition", - "documentation":"

Sets the Content-Disposition header of the response

", - "location":"querystring", - "locationName":"response-content-disposition" - }, - "ResponseContentEncoding":{ - "shape":"ResponseContentEncoding", - "documentation":"

Sets the Content-Encoding header of the response.

", - "location":"querystring", - "locationName":"response-content-encoding" - }, - "ResponseContentLanguage":{ - "shape":"ResponseContentLanguage", - "documentation":"

Sets the Content-Language header of the response.

", - "location":"querystring", - "locationName":"response-content-language" - }, - "ResponseContentType":{ - "shape":"ResponseContentType", - "documentation":"

Sets the Content-Type header of the response.

", - "location":"querystring", - "locationName":"response-content-type" - }, - "ResponseExpires":{ - "shape":"ResponseExpires", - "documentation":"

Sets the Expires header of the response.

", - "location":"querystring", - "locationName":"response-expires" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId used to reference a specific version of the object.

", - "location":"querystring", - "locationName":"versionId" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.

", - "location":"querystring", - "locationName":"partNumber" - } - } - }, - "GetObjectTaggingOutput":{ - "type":"structure", - "required":["TagSet"], - "members":{ - "VersionId":{ - "shape":"ObjectVersionId", - "location":"header", - "locationName":"x-amz-version-id" - }, - "TagSet":{"shape":"TagSet"} - } - }, - "GetObjectTaggingRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "location":"querystring", - "locationName":"versionId" - } - } - }, - "GetObjectTorrentOutput":{ - "type":"structure", - "members":{ - "Body":{ - "shape":"Body", - "streaming":true - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - }, - "payload":"Body" - }, - "GetObjectTorrentRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "GlacierJobParameters":{ - "type":"structure", - "required":["Tier"], - "members":{ - "Tier":{ - "shape":"Tier", - "documentation":"

Glacier retrieval tier at which the restore will be processed.

" - } - } - }, - "Grant":{ - "type":"structure", - "members":{ - "Grantee":{"shape":"Grantee"}, - "Permission":{ - "shape":"Permission", - "documentation":"

Specifies the permission given to the grantee.

" - } - } - }, - "GrantFullControl":{"type":"string"}, - "GrantRead":{"type":"string"}, - "GrantReadACP":{"type":"string"}, - "GrantWrite":{"type":"string"}, - "GrantWriteACP":{"type":"string"}, - "Grantee":{ - "type":"structure", - "required":["Type"], - "members":{ - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

Screen name of the grantee.

" - }, - "EmailAddress":{ - "shape":"EmailAddress", - "documentation":"

Email address of the grantee.

" - }, - "ID":{ - "shape":"ID", - "documentation":"

The canonical user ID of the grantee.

" - }, - "Type":{ - "shape":"Type", - "documentation":"

Type of grantee

", - "locationName":"xsi:type", - "xmlAttribute":true - }, - "URI":{ - "shape":"URI", - "documentation":"

URI of the grantee group.

" - } - }, - "xmlNamespace":{ - "prefix":"xsi", - "uri":"http://www.w3.org/2001/XMLSchema-instance" - } - }, - "Grants":{ - "type":"list", - "member":{ - "shape":"Grant", - "locationName":"Grant" - } - }, - "HeadBucketRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - } - } - }, - "HeadObjectOutput":{ - "type":"structure", - "members":{ - "DeleteMarker":{ - "shape":"DeleteMarker", - "documentation":"

Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

", - "location":"header", - "locationName":"x-amz-delete-marker" - }, - "AcceptRanges":{ - "shape":"AcceptRanges", - "location":"header", - "locationName":"accept-ranges" - }, - "Expiration":{ - "shape":"Expiration", - "documentation":"

If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.

", - "location":"header", - "locationName":"x-amz-expiration" - }, - "Restore":{ - "shape":"Restore", - "documentation":"

Provides information about object restoration operation and expiration time of the restored object copy.

", - "location":"header", - "locationName":"x-amz-restore" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Last modified date of the object

", - "location":"header", - "locationName":"Last-Modified" - }, - "ContentLength":{ - "shape":"ContentLength", - "documentation":"

Size of the body in bytes.

", - "location":"header", - "locationName":"Content-Length" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL

", - "location":"header", - "locationName":"ETag" - }, - "MissingMeta":{ - "shape":"MissingMeta", - "documentation":"

This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

", - "location":"header", - "locationName":"x-amz-missing-meta" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version of the object.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "CacheControl":{ - "shape":"CacheControl", - "documentation":"

Specifies caching behavior along the request/reply chain.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentDisposition":{ - "shape":"ContentDisposition", - "documentation":"

Specifies presentational information for the object.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "ContentEncoding":{ - "shape":"ContentEncoding", - "documentation":"

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

", - "location":"header", - "locationName":"Content-Encoding" - }, - "ContentLanguage":{ - "shape":"ContentLanguage", - "documentation":"

The language the content is in.

", - "location":"header", - "locationName":"Content-Language" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

A standard MIME type describing the format of the object data.

", - "location":"header", - "locationName":"Content-Type" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The date and time at which the object is no longer cacheable.

", - "location":"header", - "locationName":"Expires" - }, - "WebsiteRedirectLocation":{ - "shape":"WebsiteRedirectLocation", - "documentation":"

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", - "location":"header", - "locationName":"x-amz-website-redirect-location" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

A map of metadata to store with the object in S3.

", - "location":"headers", - "locationName":"x-amz-meta-" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "StorageClass":{ - "shape":"StorageClass", - "location":"header", - "locationName":"x-amz-storage-class" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - }, - "ReplicationStatus":{ - "shape":"ReplicationStatus", - "location":"header", - "locationName":"x-amz-replication-status" - }, - "PartsCount":{ - "shape":"PartsCount", - "documentation":"

The count of parts this object has.

", - "location":"header", - "locationName":"x-amz-mp-parts-count" - } - } - }, - "HeadObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "IfMatch":{ - "shape":"IfMatch", - "documentation":"

Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

", - "location":"header", - "locationName":"If-Match" - }, - "IfModifiedSince":{ - "shape":"IfModifiedSince", - "documentation":"

Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

", - "location":"header", - "locationName":"If-Modified-Since" - }, - "IfNoneMatch":{ - "shape":"IfNoneMatch", - "documentation":"

Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

", - "location":"header", - "locationName":"If-None-Match" - }, - "IfUnmodifiedSince":{ - "shape":"IfUnmodifiedSince", - "documentation":"

Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

", - "location":"header", - "locationName":"If-Unmodified-Since" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "Range":{ - "shape":"Range", - "documentation":"

Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

", - "location":"header", - "locationName":"Range" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId used to reference a specific version of the object.

", - "location":"querystring", - "locationName":"versionId" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.

", - "location":"querystring", - "locationName":"partNumber" - } - } - }, - "HostName":{"type":"string"}, - "HttpErrorCodeReturnedEquals":{"type":"string"}, - "HttpRedirectCode":{"type":"string"}, - "ID":{"type":"string"}, - "IfMatch":{"type":"string"}, - "IfModifiedSince":{"type":"timestamp"}, - "IfNoneMatch":{"type":"string"}, - "IfUnmodifiedSince":{"type":"timestamp"}, - "IndexDocument":{ - "type":"structure", - "required":["Suffix"], - "members":{ - "Suffix":{ - "shape":"Suffix", - "documentation":"

A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character.

" - } - } - }, - "Initiated":{"type":"timestamp"}, - "Initiator":{ - "type":"structure", - "members":{ - "ID":{ - "shape":"ID", - "documentation":"

If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.

" - }, - "DisplayName":{ - "shape":"DisplayName", - "documentation":"

Name of the Principal.

" - } - } - }, - "InputSerialization":{ - "type":"structure", - "members":{ - "CSV":{ - "shape":"CSVInput", - "documentation":"

Describes the serialization of a CSV-encoded object.

" - }, - "CompressionType":{ - "shape":"CompressionType", - "documentation":"

Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.

" - }, - "JSON":{ - "shape":"JSONInput", - "documentation":"

Specifies JSON as object's input serialization format.

" - }, - "Parquet":{ - "shape":"ParquetInput", - "documentation":"

Specifies Parquet as object's input serialization format.

" - } - }, - "documentation":"

Describes the serialization format of the object.

" - }, - "InventoryConfiguration":{ - "type":"structure", - "required":[ - "Destination", - "IsEnabled", - "Id", - "IncludedObjectVersions", - "Schedule" - ], - "members":{ - "Destination":{ - "shape":"InventoryDestination", - "documentation":"

Contains information about where to publish the inventory results.

" - }, - "IsEnabled":{ - "shape":"IsEnabled", - "documentation":"

Specifies whether the inventory is enabled or disabled.

" - }, - "Filter":{ - "shape":"InventoryFilter", - "documentation":"

Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

" - }, - "Id":{ - "shape":"InventoryId", - "documentation":"

The ID used to identify the inventory configuration.

" - }, - "IncludedObjectVersions":{ - "shape":"InventoryIncludedObjectVersions", - "documentation":"

Specifies which object version(s) to included in the inventory results.

" - }, - "OptionalFields":{ - "shape":"InventoryOptionalFields", - "documentation":"

Contains the optional fields that are included in the inventory results.

" - }, - "Schedule":{ - "shape":"InventorySchedule", - "documentation":"

Specifies the schedule for generating inventory results.

" - } - } - }, - "InventoryConfigurationList":{ - "type":"list", - "member":{"shape":"InventoryConfiguration"}, - "flattened":true - }, - "InventoryDestination":{ - "type":"structure", - "required":["S3BucketDestination"], - "members":{ - "S3BucketDestination":{ - "shape":"InventoryS3BucketDestination", - "documentation":"

Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

" - } - } - }, - "InventoryEncryption":{ - "type":"structure", - "members":{ - "SSES3":{ - "shape":"SSES3", - "documentation":"

Specifies the use of SSE-S3 to encrypt delievered Inventory reports.

", - "locationName":"SSE-S3" - }, - "SSEKMS":{ - "shape":"SSEKMS", - "documentation":"

Specifies the use of SSE-KMS to encrypt delievered Inventory reports.

", - "locationName":"SSE-KMS" - } - }, - "documentation":"

Contains the type of server-side encryption used to encrypt the inventory results.

" - }, - "InventoryFilter":{ - "type":"structure", - "required":["Prefix"], - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix that an object must have to be included in the inventory results.

" - } - } - }, - "InventoryFormat":{ - "type":"string", - "enum":[ - "CSV", - "ORC" - ] - }, - "InventoryFrequency":{ - "type":"string", - "enum":[ - "Daily", - "Weekly" - ] - }, - "InventoryId":{"type":"string"}, - "InventoryIncludedObjectVersions":{ - "type":"string", - "enum":[ - "All", - "Current" - ] - }, - "InventoryOptionalField":{ - "type":"string", - "enum":[ - "Size", - "LastModifiedDate", - "StorageClass", - "ETag", - "IsMultipartUploaded", - "ReplicationStatus", - "EncryptionStatus" - ] - }, - "InventoryOptionalFields":{ - "type":"list", - "member":{ - "shape":"InventoryOptionalField", - "locationName":"Field" - } - }, - "InventoryS3BucketDestination":{ - "type":"structure", - "required":[ - "Bucket", - "Format" - ], - "members":{ - "AccountId":{ - "shape":"AccountId", - "documentation":"

The ID of the account that owns the destination bucket.

" - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

The Amazon resource name (ARN) of the bucket where inventory results will be published.

" - }, - "Format":{ - "shape":"InventoryFormat", - "documentation":"

Specifies the output format of the inventory results.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix that is prepended to all inventory results.

" - }, - "Encryption":{ - "shape":"InventoryEncryption", - "documentation":"

Contains the type of server-side encryption used to encrypt the inventory results.

" - } - } - }, - "InventorySchedule":{ - "type":"structure", - "required":["Frequency"], - "members":{ - "Frequency":{ - "shape":"InventoryFrequency", - "documentation":"

Specifies how frequently inventory results are produced.

" - } - } - }, - "IsEnabled":{"type":"boolean"}, - "IsLatest":{"type":"boolean"}, - "IsTruncated":{"type":"boolean"}, - "JSONInput":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"JSONType", - "documentation":"

The type of JSON. Valid values: Document, Lines.

" - } - } - }, - "JSONOutput":{ - "type":"structure", - "members":{ - "RecordDelimiter":{ - "shape":"RecordDelimiter", - "documentation":"

The value used to separate individual records in the output.

" - } - } - }, - "JSONType":{ - "type":"string", - "enum":[ - "DOCUMENT", - "LINES" - ] - }, - "KMSContext":{"type":"string"}, - "KeyCount":{"type":"integer"}, - "KeyMarker":{"type":"string"}, - "KeyPrefixEquals":{"type":"string"}, - "LambdaFunctionArn":{"type":"string"}, - "LambdaFunctionConfiguration":{ - "type":"structure", - "required":[ - "LambdaFunctionArn", - "Events" - ], - "members":{ - "Id":{"shape":"NotificationId"}, - "LambdaFunctionArn":{ - "shape":"LambdaFunctionArn", - "documentation":"

Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.

", - "locationName":"CloudFunction" - }, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "Filter":{"shape":"NotificationConfigurationFilter"} - }, - "documentation":"

Container for specifying the AWS Lambda notification configuration.

" - }, - "LambdaFunctionConfigurationList":{ - "type":"list", - "member":{"shape":"LambdaFunctionConfiguration"}, - "flattened":true - }, - "LastModified":{"type":"timestamp"}, - "LifecycleConfiguration":{ - "type":"structure", - "required":["Rules"], - "members":{ - "Rules":{ - "shape":"Rules", - "locationName":"Rule" - } - } - }, - "LifecycleExpiration":{ - "type":"structure", - "members":{ - "Date":{ - "shape":"Date", - "documentation":"

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

" - }, - "Days":{ - "shape":"Days", - "documentation":"

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

" - }, - "ExpiredObjectDeleteMarker":{ - "shape":"ExpiredObjectDeleteMarker", - "documentation":"

Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

" - } - } - }, - "LifecycleRule":{ - "type":"structure", - "required":["Status"], - "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, - "ID":{ - "shape":"ID", - "documentation":"

Unique identifier for the rule. The value cannot be longer than 255 characters.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.

", - "deprecated":true - }, - "Filter":{"shape":"LifecycleRuleFilter"}, - "Status":{ - "shape":"ExpirationStatus", - "documentation":"

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

" - }, - "Transitions":{ - "shape":"TransitionList", - "locationName":"Transition" - }, - "NoncurrentVersionTransitions":{ - "shape":"NoncurrentVersionTransitionList", - "locationName":"NoncurrentVersionTransition" - }, - "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, - "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } - }, - "LifecycleRuleAndOperator":{ - "type":"structure", - "members":{ - "Prefix":{"shape":"Prefix"}, - "Tags":{ - "shape":"TagSet", - "documentation":"

All of these tags must exist in the object's tag set in order for the rule to apply.

", - "flattened":true, - "locationName":"Tag" - } - }, - "documentation":"

This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

" - }, - "LifecycleRuleFilter":{ - "type":"structure", - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

Prefix identifying one or more objects to which the rule applies.

" - }, - "Tag":{ - "shape":"Tag", - "documentation":"

This tag must exist in the object's tag set in order for the rule to apply.

" - }, - "And":{"shape":"LifecycleRuleAndOperator"} - }, - "documentation":"

The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

" - }, - "LifecycleRules":{ - "type":"list", - "member":{"shape":"LifecycleRule"}, - "flattened":true - }, - "ListBucketAnalyticsConfigurationsOutput":{ - "type":"structure", - "members":{ - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

The ContinuationToken that represents where this request began.

" - }, - "NextContinuationToken":{ - "shape":"NextToken", - "documentation":"

NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.

" - }, - "AnalyticsConfigurationList":{ - "shape":"AnalyticsConfigurationList", - "documentation":"

The list of analytics configurations for a bucket.

", - "locationName":"AnalyticsConfiguration" - } - } - }, - "ListBucketAnalyticsConfigurationsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket from which analytics configurations are retrieved.

", - "location":"uri", - "locationName":"Bucket" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

The ContinuationToken that represents a placeholder from where this request should begin.

", - "location":"querystring", - "locationName":"continuation-token" - } - } - }, - "ListBucketInventoryConfigurationsOutput":{ - "type":"structure", - "members":{ - "ContinuationToken":{ - "shape":"Token", - "documentation":"

If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

" - }, - "InventoryConfigurationList":{ - "shape":"InventoryConfigurationList", - "documentation":"

The list of inventory configurations for a bucket.

", - "locationName":"InventoryConfiguration" - }, - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.

" - }, - "NextContinuationToken":{ - "shape":"NextToken", - "documentation":"

The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.

" - } - } - }, - "ListBucketInventoryConfigurationsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the inventory configurations to retrieve.

", - "location":"uri", - "locationName":"Bucket" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

", - "location":"querystring", - "locationName":"continuation-token" - } - } - }, - "ListBucketMetricsConfigurationsOutput":{ - "type":"structure", - "members":{ - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.

" - }, - "NextContinuationToken":{ - "shape":"NextToken", - "documentation":"

The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

" - }, - "MetricsConfigurationList":{ - "shape":"MetricsConfigurationList", - "documentation":"

The list of metrics configurations for a bucket.

", - "locationName":"MetricsConfiguration" - } - } - }, - "ListBucketMetricsConfigurationsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket containing the metrics configurations to retrieve.

", - "location":"uri", - "locationName":"Bucket" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

", - "location":"querystring", - "locationName":"continuation-token" - } - } - }, - "ListBucketsOutput":{ - "type":"structure", - "members":{ - "Buckets":{"shape":"Buckets"}, - "Owner":{"shape":"Owner"} - } - }, - "ListMultipartUploadsOutput":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to which the multipart upload was initiated.

" - }, - "KeyMarker":{ - "shape":"KeyMarker", - "documentation":"

The key at or after which the listing began.

" - }, - "UploadIdMarker":{ - "shape":"UploadIdMarker", - "documentation":"

Upload ID after which listing began.

" - }, - "NextKeyMarker":{ - "shape":"NextKeyMarker", - "documentation":"

When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

" - }, - "Delimiter":{"shape":"Delimiter"}, - "NextUploadIdMarker":{ - "shape":"NextUploadIdMarker", - "documentation":"

When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.

" - }, - "MaxUploads":{ - "shape":"MaxUploads", - "documentation":"

Maximum number of multipart uploads that could have been included in the response.

" - }, - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.

" - }, - "Uploads":{ - "shape":"MultipartUploadList", - "locationName":"Upload" - }, - "CommonPrefixes":{"shape":"CommonPrefixList"}, - "EncodingType":{ - "shape":"EncodingType", - "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" - } - } - }, - "ListMultipartUploadsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Delimiter":{ - "shape":"Delimiter", - "documentation":"

Character you use to group keys.

", - "location":"querystring", - "locationName":"delimiter" - }, - "EncodingType":{ - "shape":"EncodingType", - "location":"querystring", - "locationName":"encoding-type" - }, - "KeyMarker":{ - "shape":"KeyMarker", - "documentation":"

Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.

", - "location":"querystring", - "locationName":"key-marker" - }, - "MaxUploads":{ - "shape":"MaxUploads", - "documentation":"

Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.

", - "location":"querystring", - "locationName":"max-uploads" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Lists in-progress uploads only for those keys that begin with the specified prefix.

", - "location":"querystring", - "locationName":"prefix" - }, - "UploadIdMarker":{ - "shape":"UploadIdMarker", - "documentation":"

Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored.

", - "location":"querystring", - "locationName":"upload-id-marker" - } - } - }, - "ListObjectVersionsOutput":{ - "type":"structure", - "members":{ - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results.

" - }, - "KeyMarker":{ - "shape":"KeyMarker", - "documentation":"

Marks the last Key returned in a truncated response.

" - }, - "VersionIdMarker":{"shape":"VersionIdMarker"}, - "NextKeyMarker":{ - "shape":"NextKeyMarker", - "documentation":"

Use this value for the key marker request parameter in a subsequent request.

" - }, - "NextVersionIdMarker":{ - "shape":"NextVersionIdMarker", - "documentation":"

Use this value for the next version id marker parameter in a subsequent request.

" - }, - "Versions":{ - "shape":"ObjectVersionList", - "locationName":"Version" - }, - "DeleteMarkers":{ - "shape":"DeleteMarkers", - "locationName":"DeleteMarker" - }, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, - "EncodingType":{ - "shape":"EncodingType", - "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" - } - } - }, - "ListObjectVersionsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Delimiter":{ - "shape":"Delimiter", - "documentation":"

A delimiter is a character you use to group keys.

", - "location":"querystring", - "locationName":"delimiter" - }, - "EncodingType":{ - "shape":"EncodingType", - "location":"querystring", - "locationName":"encoding-type" - }, - "KeyMarker":{ - "shape":"KeyMarker", - "documentation":"

Specifies the key to start with when listing objects in a bucket.

", - "location":"querystring", - "locationName":"key-marker" - }, - "MaxKeys":{ - "shape":"MaxKeys", - "documentation":"

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", - "location":"querystring", - "locationName":"max-keys" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Limits the response to keys that begin with the specified prefix.

", - "location":"querystring", - "locationName":"prefix" - }, - "VersionIdMarker":{ - "shape":"VersionIdMarker", - "documentation":"

Specifies the object version you want to start listing from.

", - "location":"querystring", - "locationName":"version-id-marker" - } - } - }, - "ListObjectsOutput":{ - "type":"structure", - "members":{ - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.

" - }, - "Marker":{"shape":"Marker"}, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.

" - }, - "Contents":{"shape":"ObjectList"}, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, - "EncodingType":{ - "shape":"EncodingType", - "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" - } - } - }, - "ListObjectsRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Delimiter":{ - "shape":"Delimiter", - "documentation":"

A delimiter is a character you use to group keys.

", - "location":"querystring", - "locationName":"delimiter" - }, - "EncodingType":{ - "shape":"EncodingType", - "location":"querystring", - "locationName":"encoding-type" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

Specifies the key to start with when listing objects in a bucket.

", - "location":"querystring", - "locationName":"marker" - }, - "MaxKeys":{ - "shape":"MaxKeys", - "documentation":"

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", - "location":"querystring", - "locationName":"max-keys" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Limits the response to keys that begin with the specified prefix.

", - "location":"querystring", - "locationName":"prefix" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "documentation":"

Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.

", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "ListObjectsV2Output":{ - "type":"structure", - "members":{ - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.

" - }, - "Contents":{ - "shape":"ObjectList", - "documentation":"

Metadata about each object returned.

" - }, - "Name":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to list.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Limits the response to keys that begin with the specified prefix.

" - }, - "Delimiter":{ - "shape":"Delimiter", - "documentation":"

A delimiter is a character you use to group keys.

" - }, - "MaxKeys":{ - "shape":"MaxKeys", - "documentation":"

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

" - }, - "CommonPrefixes":{ - "shape":"CommonPrefixList", - "documentation":"

CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter

" - }, - "EncodingType":{ - "shape":"EncodingType", - "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

" - }, - "KeyCount":{ - "shape":"KeyCount", - "documentation":"

KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys

" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key

" - }, - "NextContinuationToken":{ - "shape":"NextToken", - "documentation":"

NextContinuationToken is sent when isTruncated is true which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key

" - }, - "StartAfter":{ - "shape":"StartAfter", - "documentation":"

StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket

" - } - } - }, - "ListObjectsV2Request":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to list.

", - "location":"uri", - "locationName":"Bucket" - }, - "Delimiter":{ - "shape":"Delimiter", - "documentation":"

A delimiter is a character you use to group keys.

", - "location":"querystring", - "locationName":"delimiter" - }, - "EncodingType":{ - "shape":"EncodingType", - "documentation":"

Encoding type used by Amazon S3 to encode object keys in the response.

", - "location":"querystring", - "locationName":"encoding-type" - }, - "MaxKeys":{ - "shape":"MaxKeys", - "documentation":"

Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.

", - "location":"querystring", - "locationName":"max-keys" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Limits the response to keys that begin with the specified prefix.

", - "location":"querystring", - "locationName":"prefix" - }, - "ContinuationToken":{ - "shape":"Token", - "documentation":"

ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key

", - "location":"querystring", - "locationName":"continuation-token" - }, - "FetchOwner":{ - "shape":"FetchOwner", - "documentation":"

The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true

", - "location":"querystring", - "locationName":"fetch-owner" - }, - "StartAfter":{ - "shape":"StartAfter", - "documentation":"

StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket

", - "location":"querystring", - "locationName":"start-after" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "documentation":"

Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.

", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "ListPartsOutput":{ - "type":"structure", - "members":{ - "AbortDate":{ - "shape":"AbortDate", - "documentation":"

Date when multipart upload will become eligible for abort operation by lifecycle.

", - "location":"header", - "locationName":"x-amz-abort-date" - }, - "AbortRuleId":{ - "shape":"AbortRuleId", - "documentation":"

Id of the lifecycle rule that makes a multipart upload eligible for abort operation.

", - "location":"header", - "locationName":"x-amz-abort-rule-id" - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to which the multipart upload was initiated.

" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

Object key for which the multipart upload was initiated.

" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

Upload ID identifying the multipart upload whose parts are being listed.

" - }, - "PartNumberMarker":{ - "shape":"PartNumberMarker", - "documentation":"

Part number after which listing begins.

" - }, - "NextPartNumberMarker":{ - "shape":"NextPartNumberMarker", - "documentation":"

When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

" - }, - "MaxParts":{ - "shape":"MaxParts", - "documentation":"

Maximum number of parts that were allowed in the response.

" - }, - "IsTruncated":{ - "shape":"IsTruncated", - "documentation":"

Indicates whether the returned list of parts is truncated.

" - }, - "Parts":{ - "shape":"Parts", - "locationName":"Part" - }, - "Initiator":{ - "shape":"Initiator", - "documentation":"

Identifies who initiated the multipart upload.

" - }, - "Owner":{"shape":"Owner"}, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The class of storage used to store the object.

" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "ListPartsRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "UploadId" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "MaxParts":{ - "shape":"MaxParts", - "documentation":"

Sets the maximum number of parts to return.

", - "location":"querystring", - "locationName":"max-parts" - }, - "PartNumberMarker":{ - "shape":"PartNumberMarker", - "documentation":"

Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

", - "location":"querystring", - "locationName":"part-number-marker" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

Upload ID identifying the multipart upload whose parts are being listed.

", - "location":"querystring", - "locationName":"uploadId" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "Location":{"type":"string"}, - "LocationPrefix":{"type":"string"}, - "LoggingEnabled":{ - "type":"structure", - "required":[ - "TargetBucket", - "TargetPrefix" - ], - "members":{ - "TargetBucket":{ - "shape":"TargetBucket", - "documentation":"

Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.

" - }, - "TargetGrants":{"shape":"TargetGrants"}, - "TargetPrefix":{ - "shape":"TargetPrefix", - "documentation":"

This element lets you specify a prefix for the keys that the log files will be stored under.

" - } - }, - "documentation":"

Container for logging information. Presence of this element indicates that logging is enabled. Parameters TargetBucket and TargetPrefix are required in this case.

" - }, - "MFA":{"type":"string"}, - "MFADelete":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "MFADeleteStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "Marker":{"type":"string"}, - "MaxAgeSeconds":{"type":"integer"}, - "MaxKeys":{"type":"integer"}, - "MaxParts":{"type":"integer"}, - "MaxUploads":{"type":"integer"}, - "Message":{"type":"string"}, - "Metadata":{ - "type":"map", - "key":{"shape":"MetadataKey"}, - "value":{"shape":"MetadataValue"} - }, - "MetadataDirective":{ - "type":"string", - "enum":[ - "COPY", - "REPLACE" - ] - }, - "MetadataEntry":{ - "type":"structure", - "members":{ - "Name":{"shape":"MetadataKey"}, - "Value":{"shape":"MetadataValue"} - }, - "documentation":"

A metadata key-value pair to store with an object.

" - }, - "MetadataKey":{"type":"string"}, - "MetadataValue":{"type":"string"}, - "MetricsAndOperator":{ - "type":"structure", - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix used when evaluating an AND predicate.

" - }, - "Tags":{ - "shape":"TagSet", - "documentation":"

The list of tags used when evaluating an AND predicate.

", - "flattened":true, - "locationName":"Tag" - } - } - }, - "MetricsConfiguration":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"MetricsId", - "documentation":"

The ID used to identify the metrics configuration.

" - }, - "Filter":{ - "shape":"MetricsFilter", - "documentation":"

Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

" - } - } - }, - "MetricsConfigurationList":{ - "type":"list", - "member":{"shape":"MetricsConfiguration"}, - "flattened":true - }, - "MetricsFilter":{ - "type":"structure", - "members":{ - "Prefix":{ - "shape":"Prefix", - "documentation":"

The prefix used when evaluating a metrics filter.

" - }, - "Tag":{ - "shape":"Tag", - "documentation":"

The tag used when evaluating a metrics filter.

" - }, - "And":{ - "shape":"MetricsAndOperator", - "documentation":"

A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

" - } - } - }, - "MetricsId":{"type":"string"}, - "MissingMeta":{"type":"integer"}, - "MultipartUpload":{ - "type":"structure", - "members":{ - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

Upload ID that identifies the multipart upload.

" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

Key of the object for which the multipart upload was initiated.

" - }, - "Initiated":{ - "shape":"Initiated", - "documentation":"

Date and time at which the multipart upload was initiated.

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The class of storage used to store the object.

" - }, - "Owner":{"shape":"Owner"}, - "Initiator":{ - "shape":"Initiator", - "documentation":"

Identifies who initiated the multipart upload.

" - } - } - }, - "MultipartUploadId":{"type":"string"}, - "MultipartUploadList":{ - "type":"list", - "member":{"shape":"MultipartUpload"}, - "flattened":true - }, - "NextKeyMarker":{"type":"string"}, - "NextMarker":{"type":"string"}, - "NextPartNumberMarker":{"type":"integer"}, - "NextToken":{"type":"string"}, - "NextUploadIdMarker":{"type":"string"}, - "NextVersionIdMarker":{"type":"string"}, - "NoSuchBucket":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified bucket does not exist.

", - "exception":true - }, - "NoSuchKey":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified key does not exist.

", - "exception":true - }, - "NoSuchUpload":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified multipart upload does not exist.

", - "exception":true - }, - "NoncurrentVersionExpiration":{ - "type":"structure", - "members":{ - "NoncurrentDays":{ - "shape":"Days", - "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" - } - }, - "documentation":"

Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

" - }, - "NoncurrentVersionTransition":{ - "type":"structure", - "members":{ - "NoncurrentDays":{ - "shape":"Days", - "documentation":"

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

" - }, - "StorageClass":{ - "shape":"TransitionStorageClass", - "documentation":"

The class of storage used to store the object.

" - } - }, - "documentation":"

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period in the object's lifetime.

" - }, - "NoncurrentVersionTransitionList":{ - "type":"list", - "member":{"shape":"NoncurrentVersionTransition"}, - "flattened":true - }, - "NotificationConfiguration":{ - "type":"structure", - "members":{ - "TopicConfigurations":{ - "shape":"TopicConfigurationList", - "locationName":"TopicConfiguration" - }, - "QueueConfigurations":{ - "shape":"QueueConfigurationList", - "locationName":"QueueConfiguration" - }, - "LambdaFunctionConfigurations":{ - "shape":"LambdaFunctionConfigurationList", - "locationName":"CloudFunctionConfiguration" - } - }, - "documentation":"

Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket.

" - }, - "NotificationConfigurationDeprecated":{ - "type":"structure", - "members":{ - "TopicConfiguration":{"shape":"TopicConfigurationDeprecated"}, - "QueueConfiguration":{"shape":"QueueConfigurationDeprecated"}, - "CloudFunctionConfiguration":{"shape":"CloudFunctionConfiguration"} - } - }, - "NotificationConfigurationFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"S3KeyFilter", - "locationName":"S3Key" - } - }, - "documentation":"

Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

" - }, - "NotificationId":{ - "type":"string", - "documentation":"

Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID.

" - }, - "Object":{ - "type":"structure", - "members":{ - "Key":{"shape":"ObjectKey"}, - "LastModified":{"shape":"LastModified"}, - "ETag":{"shape":"ETag"}, - "Size":{"shape":"Size"}, - "StorageClass":{ - "shape":"ObjectStorageClass", - "documentation":"

The class of storage used to store the object.

" - }, - "Owner":{"shape":"Owner"} - } - }, - "ObjectAlreadyInActiveTierError":{ - "type":"structure", - "members":{ - }, - "documentation":"

This operation is not allowed against this storage tier

", - "exception":true - }, - "ObjectCannedACL":{ - "type":"string", - "enum":[ - "private", - "public-read", - "public-read-write", - "authenticated-read", - "aws-exec-read", - "bucket-owner-read", - "bucket-owner-full-control" - ] - }, - "ObjectIdentifier":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"ObjectKey", - "documentation":"

Key name of the object to delete.

" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId for the specific version of the object to delete.

" - } - } - }, - "ObjectIdentifierList":{ - "type":"list", - "member":{"shape":"ObjectIdentifier"}, - "flattened":true - }, - "ObjectKey":{ - "type":"string", - "min":1 - }, - "ObjectList":{ - "type":"list", - "member":{"shape":"Object"}, - "flattened":true - }, - "ObjectNotInActiveTierError":{ - "type":"structure", - "members":{ - }, - "documentation":"

The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.

", - "exception":true - }, - "ObjectStorageClass":{ - "type":"string", - "enum":[ - "STANDARD", - "REDUCED_REDUNDANCY", - "GLACIER", - "STANDARD_IA", - "ONEZONE_IA" - ] - }, - "ObjectVersion":{ - "type":"structure", - "members":{ - "ETag":{"shape":"ETag"}, - "Size":{ - "shape":"Size", - "documentation":"

Size in bytes of the object.

" - }, - "StorageClass":{ - "shape":"ObjectVersionStorageClass", - "documentation":"

The class of storage used to store the object.

" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

The object key.

" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version ID of an object.

" - }, - "IsLatest":{ - "shape":"IsLatest", - "documentation":"

Specifies whether the object is (true) or is not (false) the latest version of an object.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Date and time the object was last modified.

" - }, - "Owner":{"shape":"Owner"} - } - }, - "ObjectVersionId":{"type":"string"}, - "ObjectVersionList":{ - "type":"list", - "member":{"shape":"ObjectVersion"}, - "flattened":true - }, - "ObjectVersionStorageClass":{ - "type":"string", - "enum":["STANDARD"] - }, - "OutputLocation":{ - "type":"structure", - "members":{ - "S3":{ - "shape":"S3Location", - "documentation":"

Describes an S3 location that will receive the results of the restore request.

" - } - }, - "documentation":"

Describes the location where the restore job's output is stored.

" - }, - "OutputSerialization":{ - "type":"structure", - "members":{ - "CSV":{ - "shape":"CSVOutput", - "documentation":"

Describes the serialization of CSV-encoded Select results.

" - }, - "JSON":{ - "shape":"JSONOutput", - "documentation":"

Specifies JSON as request's output serialization format.

" - } - }, - "documentation":"

Describes how results of the Select job are serialized.

" - }, - "Owner":{ - "type":"structure", - "members":{ - "DisplayName":{"shape":"DisplayName"}, - "ID":{"shape":"ID"} - } - }, - "OwnerOverride":{ - "type":"string", - "enum":["Destination"] - }, - "ParquetInput":{ - "type":"structure", - "members":{ - } - }, - "Part":{ - "type":"structure", - "members":{ - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number identifying the part. This is a positive integer between 1 and 10,000.

" - }, - "LastModified":{ - "shape":"LastModified", - "documentation":"

Date and time at which the part was uploaded.

" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag returned when the part was uploaded.

" - }, - "Size":{ - "shape":"Size", - "documentation":"

Size of the uploaded part data.

" - } - } - }, - "PartNumber":{"type":"integer"}, - "PartNumberMarker":{"type":"integer"}, - "Parts":{ - "type":"list", - "member":{"shape":"Part"}, - "flattened":true - }, - "PartsCount":{"type":"integer"}, - "Payer":{ - "type":"string", - "enum":[ - "Requester", - "BucketOwner" - ] - }, - "Permission":{ - "type":"string", - "enum":[ - "FULL_CONTROL", - "WRITE", - "WRITE_ACP", - "READ", - "READ_ACP" - ] - }, - "Policy":{"type":"string"}, - "Prefix":{"type":"string"}, - "Progress":{ - "type":"structure", - "members":{ - "BytesScanned":{ - "shape":"BytesScanned", - "documentation":"

Current number of object bytes scanned.

" - }, - "BytesProcessed":{ - "shape":"BytesProcessed", - "documentation":"

Current number of uncompressed object bytes processed.

" - }, - "BytesReturned":{ - "shape":"BytesReturned", - "documentation":"

Current number of bytes of records payload data returned.

" - } - } - }, - "ProgressEvent":{ - "type":"structure", - "members":{ - "Details":{ - "shape":"Progress", - "documentation":"

The Progress event details.

", - "eventpayload":true - } - }, - "event":true - }, - "Protocol":{ - "type":"string", - "enum":[ - "http", - "https" - ] - }, - "PutBucketAccelerateConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "AccelerateConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket for which the accelerate configuration is set.

", - "location":"uri", - "locationName":"Bucket" - }, - "AccelerateConfiguration":{ - "shape":"AccelerateConfiguration", - "documentation":"

Specifies the Accelerate Configuration you want to set for the bucket.

", - "locationName":"AccelerateConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"AccelerateConfiguration" - }, - "PutBucketAclRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "ACL":{ - "shape":"BucketCannedACL", - "documentation":"

The canned ACL to apply to the bucket.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "AccessControlPolicy":{ - "shape":"AccessControlPolicy", - "locationName":"AccessControlPolicy", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to list the objects in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the bucket ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWrite":{ - "shape":"GrantWrite", - "documentation":"

Allows grantee to create, overwrite, and delete any object in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-write" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable bucket.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - } - }, - "payload":"AccessControlPolicy" - }, - "PutBucketAnalyticsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id", - "AnalyticsConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket to which an analytics configuration is stored.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"AnalyticsId", - "documentation":"

The identifier used to represent an analytics configuration.

", - "location":"querystring", - "locationName":"id" - }, - "AnalyticsConfiguration":{ - "shape":"AnalyticsConfiguration", - "documentation":"

The configuration and any analyses for the analytics filter.

", - "locationName":"AnalyticsConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"AnalyticsConfiguration" - }, - "PutBucketCorsRequest":{ - "type":"structure", - "required":[ - "Bucket", - "CORSConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "CORSConfiguration":{ - "shape":"CORSConfiguration", - "locationName":"CORSConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - } - }, - "payload":"CORSConfiguration" - }, - "PutBucketEncryptionRequest":{ - "type":"structure", - "required":[ - "Bucket", - "ServerSideEncryptionConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket for which the server-side encryption configuration is set.

", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.

", - "location":"header", - "locationName":"Content-MD5" - }, - "ServerSideEncryptionConfiguration":{ - "shape":"ServerSideEncryptionConfiguration", - "locationName":"ServerSideEncryptionConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"ServerSideEncryptionConfiguration" - }, - "PutBucketInventoryConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id", - "InventoryConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket where the inventory configuration will be stored.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"InventoryId", - "documentation":"

The ID used to identify the inventory configuration.

", - "location":"querystring", - "locationName":"id" - }, - "InventoryConfiguration":{ - "shape":"InventoryConfiguration", - "documentation":"

Specifies the inventory configuration.

", - "locationName":"InventoryConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"InventoryConfiguration" - }, - "PutBucketLifecycleConfigurationRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "LifecycleConfiguration":{ - "shape":"BucketLifecycleConfiguration", - "locationName":"LifecycleConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"LifecycleConfiguration" - }, - "PutBucketLifecycleRequest":{ - "type":"structure", - "required":["Bucket"], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "LifecycleConfiguration":{ - "shape":"LifecycleConfiguration", - "locationName":"LifecycleConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"LifecycleConfiguration" - }, - "PutBucketLoggingRequest":{ - "type":"structure", - "required":[ - "Bucket", - "BucketLoggingStatus" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "BucketLoggingStatus":{ - "shape":"BucketLoggingStatus", - "locationName":"BucketLoggingStatus", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - } - }, - "payload":"BucketLoggingStatus" - }, - "PutBucketMetricsConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Id", - "MetricsConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The name of the bucket for which the metrics configuration is set.

", - "location":"uri", - "locationName":"Bucket" - }, - "Id":{ - "shape":"MetricsId", - "documentation":"

The ID used to identify the metrics configuration.

", - "location":"querystring", - "locationName":"id" - }, - "MetricsConfiguration":{ - "shape":"MetricsConfiguration", - "documentation":"

Specifies the metrics configuration.

", - "locationName":"MetricsConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"MetricsConfiguration" - }, - "PutBucketNotificationConfigurationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "NotificationConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "NotificationConfiguration":{ - "shape":"NotificationConfiguration", - "locationName":"NotificationConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"NotificationConfiguration" - }, - "PutBucketNotificationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "NotificationConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "NotificationConfiguration":{ - "shape":"NotificationConfigurationDeprecated", - "locationName":"NotificationConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"NotificationConfiguration" - }, - "PutBucketPolicyRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Policy" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "ConfirmRemoveSelfBucketAccess":{ - "shape":"ConfirmRemoveSelfBucketAccess", - "documentation":"

Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

", - "location":"header", - "locationName":"x-amz-confirm-remove-self-bucket-access" - }, - "Policy":{ - "shape":"Policy", - "documentation":"

The bucket policy as a JSON document.

" - } - }, - "payload":"Policy" - }, - "PutBucketReplicationRequest":{ - "type":"structure", - "required":[ - "Bucket", - "ReplicationConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "ReplicationConfiguration":{ - "shape":"ReplicationConfiguration", - "locationName":"ReplicationConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"ReplicationConfiguration" - }, - "PutBucketRequestPaymentRequest":{ - "type":"structure", - "required":[ - "Bucket", - "RequestPaymentConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "RequestPaymentConfiguration":{ - "shape":"RequestPaymentConfiguration", - "locationName":"RequestPaymentConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"RequestPaymentConfiguration" - }, - "PutBucketTaggingRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Tagging" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "Tagging":{ - "shape":"Tagging", - "locationName":"Tagging", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"Tagging" - }, - "PutBucketVersioningRequest":{ - "type":"structure", - "required":[ - "Bucket", - "VersioningConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "MFA":{ - "shape":"MFA", - "documentation":"

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

", - "location":"header", - "locationName":"x-amz-mfa" - }, - "VersioningConfiguration":{ - "shape":"VersioningConfiguration", - "locationName":"VersioningConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"VersioningConfiguration" - }, - "PutBucketWebsiteRequest":{ - "type":"structure", - "required":[ - "Bucket", - "WebsiteConfiguration" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "WebsiteConfiguration":{ - "shape":"WebsiteConfiguration", - "locationName":"WebsiteConfiguration", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"WebsiteConfiguration" - }, - "PutObjectAclOutput":{ - "type":"structure", - "members":{ - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "PutObjectAclRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "ACL":{ - "shape":"ObjectCannedACL", - "documentation":"

The canned ACL to apply to the object.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "AccessControlPolicy":{ - "shape":"AccessControlPolicy", - "locationName":"AccessControlPolicy", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to list the objects in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the bucket ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWrite":{ - "shape":"GrantWrite", - "documentation":"

Allows grantee to create, overwrite, and delete any object in the bucket.

", - "location":"header", - "locationName":"x-amz-grant-write" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable bucket.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

VersionId used to reference a specific version of the object.

", - "location":"querystring", - "locationName":"versionId" - } - }, - "payload":"AccessControlPolicy" - }, - "PutObjectOutput":{ - "type":"structure", - "members":{ - "Expiration":{ - "shape":"Expiration", - "documentation":"

If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

", - "location":"header", - "locationName":"x-amz-expiration" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag for the uploaded object.

", - "location":"header", - "locationName":"ETag" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"

Version of the object.

", - "location":"header", - "locationName":"x-amz-version-id" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "PutObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "ACL":{ - "shape":"ObjectCannedACL", - "documentation":"

The canned ACL to apply to the object.

", - "location":"header", - "locationName":"x-amz-acl" - }, - "Body":{ - "shape":"Body", - "documentation":"

Object data.

", - "streaming":true - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to which the PUT operation was initiated.

", - "location":"uri", - "locationName":"Bucket" - }, - "CacheControl":{ - "shape":"CacheControl", - "documentation":"

Specifies caching behavior along the request/reply chain.

", - "location":"header", - "locationName":"Cache-Control" - }, - "ContentDisposition":{ - "shape":"ContentDisposition", - "documentation":"

Specifies presentational information for the object.

", - "location":"header", - "locationName":"Content-Disposition" - }, - "ContentEncoding":{ - "shape":"ContentEncoding", - "documentation":"

Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

", - "location":"header", - "locationName":"Content-Encoding" - }, - "ContentLanguage":{ - "shape":"ContentLanguage", - "documentation":"

The language the content is in.

", - "location":"header", - "locationName":"Content-Language" - }, - "ContentLength":{ - "shape":"ContentLength", - "documentation":"

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

", - "location":"header", - "locationName":"Content-Length" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the part data.

", - "location":"header", - "locationName":"Content-MD5" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

A standard MIME type describing the format of the object data.

", - "location":"header", - "locationName":"Content-Type" - }, - "Expires":{ - "shape":"Expires", - "documentation":"

The date and time at which the object is no longer cacheable.

", - "location":"header", - "locationName":"Expires" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"

Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"

Allows grantee to read the object data and its metadata.

", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"

Allows grantee to read the object ACL.

", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"

Allows grantee to write the ACL for the applicable object.

", - "location":"header", - "locationName":"x-amz-grant-write-acp" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

Object key for which the PUT operation was initiated.

", - "location":"uri", - "locationName":"Key" - }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

A map of metadata to store with the object in S3.

", - "location":"headers", - "locationName":"x-amz-meta-" - }, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The type of storage to use for the object. Defaults to 'STANDARD'.

", - "location":"header", - "locationName":"x-amz-storage-class" - }, - "WebsiteRedirectLocation":{ - "shape":"WebsiteRedirectLocation", - "documentation":"

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

", - "location":"header", - "locationName":"x-amz-website-redirect-location" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - }, - "Tagging":{ - "shape":"TaggingHeader", - "documentation":"

The tag-set for the object. The tag-set must be encoded as URL Query parameters

", - "location":"header", - "locationName":"x-amz-tagging" - } - }, - "payload":"Body" - }, - "PutObjectTaggingOutput":{ - "type":"structure", - "members":{ - "VersionId":{ - "shape":"ObjectVersionId", - "location":"header", - "locationName":"x-amz-version-id" - } - } - }, - "PutObjectTaggingRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "Tagging" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "location":"querystring", - "locationName":"versionId" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "Tagging":{ - "shape":"Tagging", - "locationName":"Tagging", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - } - }, - "payload":"Tagging" - }, - "QueueArn":{"type":"string"}, - "QueueConfiguration":{ - "type":"structure", - "required":[ - "QueueArn", - "Events" - ], - "members":{ - "Id":{"shape":"NotificationId"}, - "QueueArn":{ - "shape":"QueueArn", - "documentation":"

Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.

", - "locationName":"Queue" - }, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "Filter":{"shape":"NotificationConfigurationFilter"} - }, - "documentation":"

Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue.

" - }, - "QueueConfigurationDeprecated":{ - "type":"structure", - "members":{ - "Id":{"shape":"NotificationId"}, - "Event":{ - "shape":"Event", - "deprecated":true - }, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "Queue":{"shape":"QueueArn"} - } - }, - "QueueConfigurationList":{ - "type":"list", - "member":{"shape":"QueueConfiguration"}, - "flattened":true - }, - "Quiet":{"type":"boolean"}, - "QuoteCharacter":{"type":"string"}, - "QuoteEscapeCharacter":{"type":"string"}, - "QuoteFields":{ - "type":"string", - "enum":[ - "ALWAYS", - "ASNEEDED" - ] - }, - "Range":{"type":"string"}, - "RecordDelimiter":{"type":"string"}, - "RecordsEvent":{ - "type":"structure", - "members":{ - "Payload":{ - "shape":"Body", - "documentation":"

The byte array of partial, one or more result records.

", - "eventpayload":true - } - }, - "event":true - }, - "Redirect":{ - "type":"structure", - "members":{ - "HostName":{ - "shape":"HostName", - "documentation":"

The host name to use in the redirect request.

" - }, - "HttpRedirectCode":{ - "shape":"HttpRedirectCode", - "documentation":"

The HTTP redirect code to use on the response. Not required if one of the siblings is present.

" - }, - "Protocol":{ - "shape":"Protocol", - "documentation":"

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

" - }, - "ReplaceKeyPrefixWith":{ - "shape":"ReplaceKeyPrefixWith", - "documentation":"

The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

" - }, - "ReplaceKeyWith":{ - "shape":"ReplaceKeyWith", - "documentation":"

The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided.

" - } - } - }, - "RedirectAllRequestsTo":{ - "type":"structure", - "required":["HostName"], - "members":{ - "HostName":{ - "shape":"HostName", - "documentation":"

Name of the host where requests will be redirected.

" - }, - "Protocol":{ - "shape":"Protocol", - "documentation":"

Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.

" - } - } - }, - "ReplaceKeyPrefixWith":{"type":"string"}, - "ReplaceKeyWith":{"type":"string"}, - "ReplicaKmsKeyID":{"type":"string"}, - "ReplicationConfiguration":{ - "type":"structure", - "required":[ - "Role", - "Rules" - ], - "members":{ - "Role":{ - "shape":"Role", - "documentation":"

Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects.

" - }, - "Rules":{ - "shape":"ReplicationRules", - "documentation":"

Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules.

", - "locationName":"Rule" - } - }, - "documentation":"

Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB.

" - }, - "ReplicationRule":{ - "type":"structure", - "required":[ - "Prefix", - "Status", - "Destination" - ], - "members":{ - "ID":{ - "shape":"ID", - "documentation":"

Unique identifier for the rule. The value cannot be longer than 255 characters.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Object keyname prefix identifying one or more objects to which the rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes are not supported.

" - }, - "Status":{ - "shape":"ReplicationRuleStatus", - "documentation":"

The rule is ignored if status is not Enabled.

" - }, - "SourceSelectionCriteria":{ - "shape":"SourceSelectionCriteria", - "documentation":"

Container for filters that define which source objects should be replicated.

" - }, - "Destination":{ - "shape":"Destination", - "documentation":"

Container for replication destination information.

" - } - }, - "documentation":"

Container for information about a particular replication rule.

" - }, - "ReplicationRuleStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "ReplicationRules":{ - "type":"list", - "member":{"shape":"ReplicationRule"}, - "flattened":true - }, - "ReplicationStatus":{ - "type":"string", - "enum":[ - "COMPLETE", - "PENDING", - "FAILED", - "REPLICA" - ] - }, - "RequestCharged":{ - "type":"string", - "documentation":"

If present, indicates that the requester was successfully charged for the request.

", - "enum":["requester"] - }, - "RequestPayer":{ - "type":"string", - "documentation":"

Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html

", - "enum":["requester"] - }, - "RequestPaymentConfiguration":{ - "type":"structure", - "required":["Payer"], - "members":{ - "Payer":{ - "shape":"Payer", - "documentation":"

Specifies who pays for the download and request fees.

" - } - } - }, - "RequestProgress":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"EnableRequestProgress", - "documentation":"

Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.

" - } - } - }, - "ResponseCacheControl":{"type":"string"}, - "ResponseContentDisposition":{"type":"string"}, - "ResponseContentEncoding":{"type":"string"}, - "ResponseContentLanguage":{"type":"string"}, - "ResponseContentType":{"type":"string"}, - "ResponseExpires":{"type":"timestamp"}, - "Restore":{"type":"string"}, - "RestoreObjectOutput":{ - "type":"structure", - "members":{ - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - }, - "RestoreOutputPath":{ - "shape":"RestoreOutputPath", - "documentation":"

Indicates the path in the provided S3 output location where Select results will be restored to.

", - "location":"header", - "locationName":"x-amz-restore-output-path" - } - } - }, - "RestoreObjectRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "VersionId":{ - "shape":"ObjectVersionId", - "location":"querystring", - "locationName":"versionId" - }, - "RestoreRequest":{ - "shape":"RestoreRequest", - "locationName":"RestoreRequest", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - }, - "payload":"RestoreRequest" - }, - "RestoreOutputPath":{"type":"string"}, - "RestoreRequest":{ - "type":"structure", - "members":{ - "Days":{ - "shape":"Days", - "documentation":"

Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.

" - }, - "GlacierJobParameters":{ - "shape":"GlacierJobParameters", - "documentation":"

Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.

" - }, - "Type":{ - "shape":"RestoreRequestType", - "documentation":"

Type of restore request.

" - }, - "Tier":{ - "shape":"Tier", - "documentation":"

Glacier retrieval tier at which the restore will be processed.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The optional description for the job.

" - }, - "SelectParameters":{ - "shape":"SelectParameters", - "documentation":"

Describes the parameters for Select job types.

" - }, - "OutputLocation":{ - "shape":"OutputLocation", - "documentation":"

Describes the location where the restore job's output is stored.

" - } - }, - "documentation":"

Container for restore job parameters.

" - }, - "RestoreRequestType":{ - "type":"string", - "enum":["SELECT"] - }, - "Role":{"type":"string"}, - "RoutingRule":{ - "type":"structure", - "required":["Redirect"], - "members":{ - "Condition":{ - "shape":"Condition", - "documentation":"

A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

" - }, - "Redirect":{ - "shape":"Redirect", - "documentation":"

Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can can specify a different error code to return.

" - } - } - }, - "RoutingRules":{ - "type":"list", - "member":{ - "shape":"RoutingRule", - "locationName":"RoutingRule" - } - }, - "Rule":{ - "type":"structure", - "required":[ - "Prefix", - "Status" - ], - "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, - "ID":{ - "shape":"ID", - "documentation":"

Unique identifier for the rule. The value cannot be longer than 255 characters.

" - }, - "Prefix":{ - "shape":"Prefix", - "documentation":"

Prefix identifying one or more objects to which the rule applies.

" - }, - "Status":{ - "shape":"ExpirationStatus", - "documentation":"

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

" - }, - "Transition":{"shape":"Transition"}, - "NoncurrentVersionTransition":{"shape":"NoncurrentVersionTransition"}, - "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, - "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } - }, - "Rules":{ - "type":"list", - "member":{"shape":"Rule"}, - "flattened":true - }, - "S3KeyFilter":{ - "type":"structure", - "members":{ - "FilterRules":{ - "shape":"FilterRuleList", - "locationName":"FilterRule" - } - }, - "documentation":"

Container for object key name prefix and suffix filtering rules.

" - }, - "S3Location":{ - "type":"structure", - "required":[ - "BucketName", - "Prefix" - ], - "members":{ - "BucketName":{ - "shape":"BucketName", - "documentation":"

The name of the bucket where the restore results will be placed.

" - }, - "Prefix":{ - "shape":"LocationPrefix", - "documentation":"

The prefix that is prepended to the restore results for this request.

" - }, - "Encryption":{"shape":"Encryption"}, - "CannedACL":{ - "shape":"ObjectCannedACL", - "documentation":"

The canned ACL to apply to the restore results.

" - }, - "AccessControlList":{ - "shape":"Grants", - "documentation":"

A list of grants that control access to the staged results.

" - }, - "Tagging":{ - "shape":"Tagging", - "documentation":"

The tag-set that is applied to the restore results.

" - }, - "UserMetadata":{ - "shape":"UserMetadata", - "documentation":"

A list of metadata to store with the restore results in S3.

" - }, - "StorageClass":{ - "shape":"StorageClass", - "documentation":"

The class of storage used to store the restore results.

" - } - }, - "documentation":"

Describes an S3 location that will receive the results of the restore request.

" - }, - "SSECustomerAlgorithm":{"type":"string"}, - "SSECustomerKey":{ - "type":"string", - "sensitive":true - }, - "SSECustomerKeyMD5":{"type":"string"}, - "SSEKMS":{ - "type":"structure", - "required":["KeyId"], - "members":{ - "KeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.

" - } - }, - "documentation":"

Specifies the use of SSE-KMS to encrypt delievered Inventory reports.

", - "locationName":"SSE-KMS" - }, - "SSEKMSKeyId":{ - "type":"string", - "sensitive":true - }, - "SSES3":{ - "type":"structure", - "members":{ - }, - "documentation":"

Specifies the use of SSE-S3 to encrypt delievered Inventory reports.

", - "locationName":"SSE-S3" - }, - "SelectObjectContentEventStream":{ - "type":"structure", - "members":{ - "Records":{ - "shape":"RecordsEvent", - "documentation":"

The Records Event.

" - }, - "Stats":{ - "shape":"StatsEvent", - "documentation":"

The Stats Event.

" - }, - "Progress":{ - "shape":"ProgressEvent", - "documentation":"

The Progress Event.

" - }, - "Cont":{ - "shape":"ContinuationEvent", - "documentation":"

The Continuation Event.

" - }, - "End":{ - "shape":"EndEvent", - "documentation":"

The End Event.

" - } - }, - "eventstream":true - }, - "SelectObjectContentOutput":{ - "type":"structure", - "members":{ - "Payload":{"shape":"SelectObjectContentEventStream"} - }, - "payload":"Payload" - }, - "SelectObjectContentRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "Expression", - "ExpressionType", - "InputSerialization", - "OutputSerialization" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "documentation":"

The S3 Bucket.

", - "location":"uri", - "locationName":"Bucket" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

The Object Key.

", - "location":"uri", - "locationName":"Key" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

The SSE Algorithm used to encrypt the object. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

The SSE Customer Key. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

The SSE Customer Key MD5. For more information, go to Server-Side Encryption (Using Customer-Provided Encryption Keys.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "Expression":{ - "shape":"Expression", - "documentation":"

The expression that is used to query the object.

" - }, - "ExpressionType":{ - "shape":"ExpressionType", - "documentation":"

The type of the provided expression (e.g., SQL).

" - }, - "RequestProgress":{ - "shape":"RequestProgress", - "documentation":"

Specifies if periodic request progress information should be enabled.

" - }, - "InputSerialization":{ - "shape":"InputSerialization", - "documentation":"

Describes the format of the data in the object that is being queried.

" - }, - "OutputSerialization":{ - "shape":"OutputSerialization", - "documentation":"

Describes the format of the data that you want Amazon S3 to return in response.

" - } - }, - "documentation":"

Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, go to S3Select API Documentation.

" - }, - "SelectParameters":{ - "type":"structure", - "required":[ - "InputSerialization", - "ExpressionType", - "Expression", - "OutputSerialization" - ], - "members":{ - "InputSerialization":{ - "shape":"InputSerialization", - "documentation":"

Describes the serialization format of the object.

" - }, - "ExpressionType":{ - "shape":"ExpressionType", - "documentation":"

The type of the provided expression (e.g., SQL).

" - }, - "Expression":{ - "shape":"Expression", - "documentation":"

The expression that is used to query the object.

" - }, - "OutputSerialization":{ - "shape":"OutputSerialization", - "documentation":"

Describes how the results of the Select job are serialized.

" - } - }, - "documentation":"

Describes the parameters for Select job types.

" - }, - "ServerSideEncryption":{ - "type":"string", - "enum":[ - "AES256", - "aws:kms" - ] - }, - "ServerSideEncryptionByDefault":{ - "type":"structure", - "required":["SSEAlgorithm"], - "members":{ - "SSEAlgorithm":{ - "shape":"ServerSideEncryption", - "documentation":"

Server-side encryption algorithm to use for the default encryption.

" - }, - "KMSMasterKeyID":{ - "shape":"SSEKMSKeyId", - "documentation":"

KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.

" - } - }, - "documentation":"

Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.

" - }, - "ServerSideEncryptionConfiguration":{ - "type":"structure", - "required":["Rules"], - "members":{ - "Rules":{ - "shape":"ServerSideEncryptionRules", - "documentation":"

Container for information about a particular server-side encryption configuration rule.

", - "locationName":"Rule" - } - }, - "documentation":"

Container for server-side encryption configuration rules. Currently S3 supports one rule only.

" - }, - "ServerSideEncryptionRule":{ - "type":"structure", - "members":{ - "ApplyServerSideEncryptionByDefault":{ - "shape":"ServerSideEncryptionByDefault", - "documentation":"

Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.

" - } - }, - "documentation":"

Container for information about a particular server-side encryption configuration rule.

" - }, - "ServerSideEncryptionRules":{ - "type":"list", - "member":{"shape":"ServerSideEncryptionRule"}, - "flattened":true - }, - "Size":{"type":"integer"}, - "SourceSelectionCriteria":{ - "type":"structure", - "members":{ - "SseKmsEncryptedObjects":{ - "shape":"SseKmsEncryptedObjects", - "documentation":"

Container for filter information of selection of KMS Encrypted S3 objects.

" - } - }, - "documentation":"

Container for filters that define which source objects should be replicated.

" - }, - "SseKmsEncryptedObjects":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"SseKmsEncryptedObjectsStatus", - "documentation":"

The replication for KMS encrypted S3 objects is disabled if status is not Enabled.

" - } - }, - "documentation":"

Container for filter information of selection of KMS Encrypted S3 objects.

" - }, - "SseKmsEncryptedObjectsStatus":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "StartAfter":{"type":"string"}, - "Stats":{ - "type":"structure", - "members":{ - "BytesScanned":{ - "shape":"BytesScanned", - "documentation":"

Total number of object bytes scanned.

" - }, - "BytesProcessed":{ - "shape":"BytesProcessed", - "documentation":"

Total number of uncompressed object bytes processed.

" - }, - "BytesReturned":{ - "shape":"BytesReturned", - "documentation":"

Total number of bytes of records payload data returned.

" - } - } - }, - "StatsEvent":{ - "type":"structure", - "members":{ - "Details":{ - "shape":"Stats", - "documentation":"

The Stats event details.

", - "eventpayload":true - } - }, - "event":true - }, - "StorageClass":{ - "type":"string", - "enum":[ - "STANDARD", - "REDUCED_REDUNDANCY", - "STANDARD_IA", - "ONEZONE_IA" - ] - }, - "StorageClassAnalysis":{ - "type":"structure", - "members":{ - "DataExport":{ - "shape":"StorageClassAnalysisDataExport", - "documentation":"

A container used to describe how data related to the storage class analysis should be exported.

" - } - } - }, - "StorageClassAnalysisDataExport":{ - "type":"structure", - "required":[ - "OutputSchemaVersion", - "Destination" - ], - "members":{ - "OutputSchemaVersion":{ - "shape":"StorageClassAnalysisSchemaVersion", - "documentation":"

The version of the output schema to use when exporting data. Must be V_1.

" - }, - "Destination":{ - "shape":"AnalyticsExportDestination", - "documentation":"

The place to store the data for an analysis.

" - } - } - }, - "StorageClassAnalysisSchemaVersion":{ - "type":"string", - "enum":["V_1"] - }, - "Suffix":{"type":"string"}, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"ObjectKey", - "documentation":"

Name of the tag.

" - }, - "Value":{ - "shape":"Value", - "documentation":"

Value of the tag.

" - } - } - }, - "TagCount":{"type":"integer"}, - "TagSet":{ - "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } - }, - "Tagging":{ - "type":"structure", - "required":["TagSet"], - "members":{ - "TagSet":{"shape":"TagSet"} - } - }, - "TaggingDirective":{ - "type":"string", - "enum":[ - "COPY", - "REPLACE" - ] - }, - "TaggingHeader":{"type":"string"}, - "TargetBucket":{"type":"string"}, - "TargetGrant":{ - "type":"structure", - "members":{ - "Grantee":{"shape":"Grantee"}, - "Permission":{ - "shape":"BucketLogsPermission", - "documentation":"

Logging permissions assigned to the Grantee for the bucket.

" - } - } - }, - "TargetGrants":{ - "type":"list", - "member":{ - "shape":"TargetGrant", - "locationName":"Grant" - } - }, - "TargetPrefix":{"type":"string"}, - "Tier":{ - "type":"string", - "enum":[ - "Standard", - "Bulk", - "Expedited" - ] - }, - "Token":{"type":"string"}, - "TopicArn":{"type":"string"}, - "TopicConfiguration":{ - "type":"structure", - "required":[ - "TopicArn", - "Events" - ], - "members":{ - "Id":{"shape":"NotificationId"}, - "TopicArn":{ - "shape":"TopicArn", - "documentation":"

Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.

", - "locationName":"Topic" - }, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "Filter":{"shape":"NotificationConfigurationFilter"} - }, - "documentation":"

Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic.

" - }, - "TopicConfigurationDeprecated":{ - "type":"structure", - "members":{ - "Id":{"shape":"NotificationId"}, - "Events":{ - "shape":"EventList", - "locationName":"Event" - }, - "Event":{ - "shape":"Event", - "documentation":"

Bucket event for which to send notifications.

", - "deprecated":true - }, - "Topic":{ - "shape":"TopicArn", - "documentation":"

Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket.

" - } - } - }, - "TopicConfigurationList":{ - "type":"list", - "member":{"shape":"TopicConfiguration"}, - "flattened":true - }, - "Transition":{ - "type":"structure", - "members":{ - "Date":{ - "shape":"Date", - "documentation":"

Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

" - }, - "Days":{ - "shape":"Days", - "documentation":"

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

" - }, - "StorageClass":{ - "shape":"TransitionStorageClass", - "documentation":"

The class of storage used to store the object.

" - } - } - }, - "TransitionList":{ - "type":"list", - "member":{"shape":"Transition"}, - "flattened":true - }, - "TransitionStorageClass":{ - "type":"string", - "enum":[ - "GLACIER", - "STANDARD_IA", - "ONEZONE_IA" - ] - }, - "Type":{ - "type":"string", - "enum":[ - "CanonicalUser", - "AmazonCustomerByEmail", - "Group" - ] - }, - "URI":{"type":"string"}, - "UploadIdMarker":{"type":"string"}, - "UploadPartCopyOutput":{ - "type":"structure", - "members":{ - "CopySourceVersionId":{ - "shape":"CopySourceVersionId", - "documentation":"

The version of the source object that was copied, if you have enabled versioning on the source bucket.

", - "location":"header", - "locationName":"x-amz-copy-source-version-id" - }, - "CopyPartResult":{"shape":"CopyPartResult"}, - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - }, - "payload":"CopyPartResult" - }, - "UploadPartCopyRequest":{ - "type":"structure", - "required":[ - "Bucket", - "CopySource", - "Key", - "PartNumber", - "UploadId" - ], - "members":{ - "Bucket":{ - "shape":"BucketName", - "location":"uri", - "locationName":"Bucket" - }, - "CopySource":{ - "shape":"CopySource", - "documentation":"

The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

", - "location":"header", - "locationName":"x-amz-copy-source" - }, - "CopySourceIfMatch":{ - "shape":"CopySourceIfMatch", - "documentation":"

Copies the object if its entity tag (ETag) matches the specified tag.

", - "location":"header", - "locationName":"x-amz-copy-source-if-match" - }, - "CopySourceIfModifiedSince":{ - "shape":"CopySourceIfModifiedSince", - "documentation":"

Copies the object if it has been modified since the specified time.

", - "location":"header", - "locationName":"x-amz-copy-source-if-modified-since" - }, - "CopySourceIfNoneMatch":{ - "shape":"CopySourceIfNoneMatch", - "documentation":"

Copies the object if its entity tag (ETag) is different than the specified ETag.

", - "location":"header", - "locationName":"x-amz-copy-source-if-none-match" - }, - "CopySourceIfUnmodifiedSince":{ - "shape":"CopySourceIfUnmodifiedSince", - "documentation":"

Copies the object if it hasn't been modified since the specified time.

", - "location":"header", - "locationName":"x-amz-copy-source-if-unmodified-since" - }, - "CopySourceRange":{ - "shape":"CopySourceRange", - "documentation":"

The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB.

", - "location":"header", - "locationName":"x-amz-copy-source-range" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" - }, - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number of part being copied. This is a positive integer between 1 and 10,000.

", - "location":"querystring", - "locationName":"partNumber" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

Upload ID identifying the multipart upload whose part is being copied.

", - "location":"querystring", - "locationName":"uploadId" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "CopySourceSSECustomerAlgorithm":{ - "shape":"CopySourceSSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use when decrypting the source object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-algorithm" - }, - "CopySourceSSECustomerKey":{ - "shape":"CopySourceSSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-key" - }, - "CopySourceSSECustomerKeyMD5":{ - "shape":"CopySourceSSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-copy-source-server-side-encryption-customer-key-MD5" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - } - }, - "UploadPartOutput":{ - "type":"structure", - "members":{ - "ServerSideEncryption":{ - "shape":"ServerSideEncryption", - "documentation":"

The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).

", - "location":"header", - "locationName":"x-amz-server-side-encryption" - }, - "ETag":{ - "shape":"ETag", - "documentation":"

Entity tag for the uploaded object.

", - "location":"header", - "locationName":"ETag" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "SSEKMSKeyId":{ - "shape":"SSEKMSKeyId", - "documentation":"

If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-aws-kms-key-id" - }, - "RequestCharged":{ - "shape":"RequestCharged", - "location":"header", - "locationName":"x-amz-request-charged" - } - } - }, - "UploadPartRequest":{ - "type":"structure", - "required":[ - "Bucket", - "Key", - "PartNumber", - "UploadId" - ], - "members":{ - "Body":{ - "shape":"Body", - "documentation":"

Object data.

", - "streaming":true - }, - "Bucket":{ - "shape":"BucketName", - "documentation":"

Name of the bucket to which the multipart upload was initiated.

", - "location":"uri", - "locationName":"Bucket" - }, - "ContentLength":{ - "shape":"ContentLength", - "documentation":"

Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

", - "location":"header", - "locationName":"Content-Length" - }, - "ContentMD5":{ - "shape":"ContentMD5", - "documentation":"

The base64-encoded 128-bit MD5 digest of the part data.

", - "location":"header", - "locationName":"Content-MD5" - }, - "Key":{ - "shape":"ObjectKey", - "documentation":"

Object key for which the multipart upload was initiated.

", - "location":"uri", - "locationName":"Key" - }, - "PartNumber":{ - "shape":"PartNumber", - "documentation":"

Part number of part being uploaded. This is a positive integer between 1 and 10,000.

", - "location":"querystring", - "locationName":"partNumber" - }, - "UploadId":{ - "shape":"MultipartUploadId", - "documentation":"

Upload ID identifying the multipart upload whose part is being uploaded.

", - "location":"querystring", - "locationName":"uploadId" - }, - "SSECustomerAlgorithm":{ - "shape":"SSECustomerAlgorithm", - "documentation":"

Specifies the algorithm to use to when encrypting the object (e.g., AES256).

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-algorithm" - }, - "SSECustomerKey":{ - "shape":"SSECustomerKey", - "documentation":"

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key" - }, - "SSECustomerKeyMD5":{ - "shape":"SSECustomerKeyMD5", - "documentation":"

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.

", - "location":"header", - "locationName":"x-amz-server-side-encryption-customer-key-MD5" - }, - "RequestPayer":{ - "shape":"RequestPayer", - "location":"header", - "locationName":"x-amz-request-payer" - } - }, - "payload":"Body" - }, - "UserMetadata":{ - "type":"list", - "member":{ - "shape":"MetadataEntry", - "locationName":"MetadataEntry" - } - }, - "Value":{"type":"string"}, - "VersionIdMarker":{"type":"string"}, - "VersioningConfiguration":{ - "type":"structure", - "members":{ - "MFADelete":{ - "shape":"MFADelete", - "documentation":"

Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

", - "locationName":"MfaDelete" - }, - "Status":{ - "shape":"BucketVersioningStatus", - "documentation":"

The versioning state of the bucket.

" - } - } - }, - "WebsiteConfiguration":{ - "type":"structure", - "members":{ - "ErrorDocument":{"shape":"ErrorDocument"}, - "IndexDocument":{"shape":"IndexDocument"}, - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "RoutingRules":{"shape":"RoutingRules"} - } - }, - "WebsiteRedirectLocation":{"type":"string"} - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/waiters-2.json deleted file mode 100644 index b508a8f5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/s3/2006-03-01/waiters-2.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "version": 2, - "waiters": { - "BucketExists": { - "delay": 5, - "operation": "HeadBucket", - "maxAttempts": 20, - "acceptors": [ - { - "expected": 200, - "matcher": "status", - "state": "success" - }, - { - "expected": 301, - "matcher": "status", - "state": "success" - }, - { - "expected": 403, - "matcher": "status", - "state": "success" - }, - { - "expected": 404, - "matcher": "status", - "state": "retry" - } - ] - }, - "BucketNotExists": { - "delay": 5, - "operation": "HeadBucket", - "maxAttempts": 20, - "acceptors": [ - { - "expected": 404, - "matcher": "status", - "state": "success" - } - ] - }, - "ObjectExists": { - "delay": 5, - "operation": "HeadObject", - "maxAttempts": 20, - "acceptors": [ - { - "expected": 200, - "matcher": "status", - "state": "success" - }, - { - "expected": 404, - "matcher": "status", - "state": "retry" - } - ] - }, - "ObjectNotExists": { - "delay": 5, - "operation": "HeadObject", - "maxAttempts": 20, - "acceptors": [ - { - "expected": 404, - "matcher": "status", - "state": "success" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/service-2.json deleted file mode 100644 index 6de0f98b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker-runtime/2017-05-13/service-2.json +++ /dev/null @@ -1,180 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-05-13", - "endpointPrefix":"runtime.sagemaker", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"Amazon SageMaker Runtime", - "serviceId":"SageMaker Runtime", - "signatureVersion":"v4", - "signingName":"sagemaker", - "uid":"runtime.sagemaker-2017-05-13" - }, - "operations":{ - "InvokeEndpoint":{ - "name":"InvokeEndpoint", - "http":{ - "method":"POST", - "requestUri":"/endpoints/{EndpointName}/invocations" - }, - "input":{"shape":"InvokeEndpointInput"}, - "output":{"shape":"InvokeEndpointOutput"}, - "errors":[ - {"shape":"InternalFailure"}, - {"shape":"ServiceUnavailable"}, - {"shape":"ValidationError"}, - {"shape":"ModelError"} - ], - "documentation":"

After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint.

For an overview of Amazon SageMaker, see How It Works.

Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

Cals to InvokeEndpoint are authenticated by using AWS Signature Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API Reference.

Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller.

" - } - }, - "shapes":{ - "BodyBlob":{ - "type":"blob", - "max":5242880, - "sensitive":true - }, - "CustomAttributesHeader":{ - "type":"string", - "max":1024, - "sensitive":true - }, - "EndpointName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "Header":{ - "type":"string", - "max":1024 - }, - "InternalFailure":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

An internal failure occurred.

", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "synthetic":true - }, - "InvokeEndpointInput":{ - "type":"structure", - "required":[ - "EndpointName", - "Body" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint that you specified when you created the endpoint using the CreateEndpoint API.

", - "location":"uri", - "locationName":"EndpointName" - }, - "Body":{ - "shape":"BodyBlob", - "documentation":"

Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model.

For information about the format of the request body, see Common Data Formats—Inference.

" - }, - "ContentType":{ - "shape":"Header", - "documentation":"

The MIME type of the input data in the request body.

", - "location":"header", - "locationName":"Content-Type" - }, - "Accept":{ - "shape":"Header", - "documentation":"

The desired MIME type of the inference in the response.

", - "location":"header", - "locationName":"Accept" - }, - "CustomAttributes":{ - "shape":"CustomAttributesHeader", - "documentation":"

", - "location":"header", - "locationName":"X-Amzn-SageMaker-Custom-Attributes" - } - }, - "payload":"Body" - }, - "InvokeEndpointOutput":{ - "type":"structure", - "required":["Body"], - "members":{ - "Body":{ - "shape":"BodyBlob", - "documentation":"

Includes the inference provided by the model.

For information about the format of the response body, see Common Data Formats—Inference.

" - }, - "ContentType":{ - "shape":"Header", - "documentation":"

The MIME type of the inference returned in the response body.

", - "location":"header", - "locationName":"Content-Type" - }, - "InvokedProductionVariant":{ - "shape":"Header", - "documentation":"

Identifies the production variant that was invoked.

", - "location":"header", - "locationName":"x-Amzn-Invoked-Production-Variant" - }, - "CustomAttributes":{ - "shape":"CustomAttributesHeader", - "documentation":"

", - "location":"header", - "locationName":"X-Amzn-SageMaker-Custom-Attributes" - } - }, - "payload":"Body" - }, - "LogStreamArn":{"type":"string"}, - "Message":{ - "type":"string", - "max":2048 - }, - "ModelError":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"}, - "OriginalStatusCode":{ - "shape":"StatusCode", - "documentation":"

Original status code.

" - }, - "OriginalMessage":{ - "shape":"Message", - "documentation":"

Original message.

" - }, - "LogStreamArn":{ - "shape":"LogStreamArn", - "documentation":"

The Amazon Resource Name (ARN) of the log stream.

" - } - }, - "documentation":"

Model (owned by the customer in the container) returned an error 500.

", - "error":{"httpStatusCode":424}, - "exception":true - }, - "ServiceUnavailable":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

The service is unavailable. Try your call again.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "synthetic":true - }, - "StatusCode":{"type":"integer"}, - "ValidationError":{ - "type":"structure", - "members":{ - "Message":{"shape":"Message"} - }, - "documentation":"

Inspect your request and try again.

", - "error":{"httpStatusCode":400}, - "exception":true, - "synthetic":true - } - }, - "documentation":"

The Amazon SageMaker runtime API.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/paginators-1.json deleted file mode 100644 index f6d33286..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "pagination": { - "ListTrainingJobs": { - "result_key": "TrainingJobSummaries", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListEndpoints": { - "result_key": "Endpoints", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListEndpointConfigs": { - "result_key": "EndpointConfigs", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListNotebookInstances": { - "result_key": "NotebookInstances", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListTags": { - "result_key": "Tags", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListModels": { - "result_key": "Models", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/service-2.json deleted file mode 100644 index e0c4f80c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/service-2.json +++ /dev/null @@ -1,4086 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-07-24", - "endpointPrefix":"api.sagemaker", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"SageMaker", - "serviceFullName":"Amazon SageMaker Service", - "serviceId":"SageMaker", - "signatureVersion":"v4", - "signingName":"sagemaker", - "targetPrefix":"SageMaker", - "uid":"sagemaker-2017-07-24" - }, - "operations":{ - "AddTags":{ - "name":"AddTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsInput"}, - "output":{"shape":"AddTagsOutput"}, - "documentation":"

Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, models, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "CreateEndpoint":{ - "name":"CreateEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEndpointInput"}, - "output":{"shape":"CreateEndpointOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Creates an endpoint using the endpoint configuration specified in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the CreateEndpointConfig API.

Use this API only for hosting models using Amazon SageMaker hosting services.

The endpoint name must be unique within an AWS Region in your AWS account.

When it receives the request, Amazon SageMaker creates the endpoint, launches the resources (ML compute instances), and deploys the model(s) on them.

When Amazon SageMaker receives the request, it sets the endpoint status to Creating. After it creates the endpoint, it sets the status to InService. Amazon SageMaker can then process incoming requests for inferences. To check the status of an endpoint, use the DescribeEndpoint API.

For an example, see Exercise 1: Using the K-Means Algorithm Provided by Amazon SageMaker.

If any of the models hosted at this endpoint get model data from an Amazon S3 location, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provided. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS i an AWS Region in the AWS Identity and Access Management User Guide.

" - }, - "CreateEndpointConfig":{ - "name":"CreateEndpointConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateEndpointConfigInput"}, - "output":{"shape":"CreateEndpointConfigOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision. Then you call the CreateEndpoint API.

Use this API only if you want to use Amazon SageMaker hosting services to deploy models into production.

In the request, you define one or more ProductionVariants, each of which identifies a model. Each ProductionVariant parameter also describes the resources that you want Amazon SageMaker to provision. This includes the number and type of ML compute instances to deploy.

If you are hosting multiple models, you also assign a VariantWeight to specify how much traffic you want to allocate to each model. For example, suppose that you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to model B.

" - }, - "CreateHyperParameterTuningJob":{ - "name":"CreateHyperParameterTuningJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateHyperParameterTuningJobRequest"}, - "output":{"shape":"CreateHyperParameterTuningJobResponse"}, - "errors":[ - {"shape":"ResourceInUse"}, - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Starts a hyperparameter tuning job.

" - }, - "CreateModel":{ - "name":"CreateModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateModelInput"}, - "output":{"shape":"CreateModelOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Creates a model in Amazon SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the docker image containing inference code, artifacts (from prior training), and custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use Amazon SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. Amazon SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

To run a batch transform using your model, you start a job with the CreateTransformJob API. Amazon SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the CreateModel request, you must define a container with the PrimaryContainer parameter.

In the request, you also provide an IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other AWS resources, you grant necessary permissions via this role.

" - }, - "CreateNotebookInstance":{ - "name":"CreateNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNotebookInstanceInput"}, - "output":{"shape":"CreateNotebookInstanceOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook.

In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. Amazon SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance.

Amazon SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use Amazon SageMaker with a specific algorithm or with a machine learning framework.

After receiving the request, Amazon SageMaker does the following:

  1. Creates a network interface in the Amazon SageMaker VPC.

  2. (Option) If you specified SubnetId, Amazon SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, Amazon SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.

  3. Launches an EC2 instance of the type specified in the request in the Amazon SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.

After creating the notebook instance, Amazon SageMaker returns its Amazon Resource Name (ARN).

After Amazon SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating Amazon SageMaker endpoints, and validate hosted models.

For more information, see How It Works.

" - }, - "CreateNotebookInstanceLifecycleConfig":{ - "name":"CreateNotebookInstanceLifecycleConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNotebookInstanceLifecycleConfigInput"}, - "output":{"shape":"CreateNotebookInstanceLifecycleConfigOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

" - }, - "CreatePresignedNotebookInstanceUrl":{ - "name":"CreatePresignedNotebookInstanceUrl", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePresignedNotebookInstanceUrlInput"}, - "output":{"shape":"CreatePresignedNotebookInstanceUrlOutput"}, - "documentation":"

Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the Amazon SageMaker console, when you choose Open next to a notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

You can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. To restrict access, attach an IAM policy that denies access to this API unless the call comes from an IP address in the specified list to every AWS Identity and Access Management user, group, or role used to access the notebook instance. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see nbi-ip-filter.

" - }, - "CreateTrainingJob":{ - "name":"CreateTrainingJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTrainingJobRequest"}, - "output":{"shape":"CreateTrainingJobResponse"}, - "errors":[ - {"shape":"ResourceInUse"}, - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.

If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a deep learning service other than Amazon SageMaker, provided that you know how to use them for inferences.

In the request body, you provide the following:

  • AlgorithmSpecification - Identifies the training algorithm to use.

  • HyperParameters - Specify these algorithm-specific parameters to influence the quality of the final model. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

  • InputDataConfig - Describes the training dataset and the Amazon S3 location where it is stored.

  • OutputDataConfig - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results of model training.

  • ResourceConfig - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance.

  • RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training.

  • StoppingCondition - Sets a duration for training. Use this parameter to cap model training costs.

For more information about Amazon SageMaker, see How It Works.

" - }, - "CreateTransformJob":{ - "name":"CreateTransformJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTransformJobRequest"}, - "output":{"shape":"CreateTransformJobResponse"}, - "errors":[ - {"shape":"ResourceInUse"}, - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.

To perform batch transformations, you create a transform job and use the data that you have readily available.

In the request body, you provide the following:

  • TransformJobName - Identifies the transform job. The name must be unique within an AWS Region in an AWS account.

  • ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same AWS Region and AWS account. For information on creating a model, see CreateModel.

  • TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored.

  • TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

  • TransformResources - Identifies the ML compute instances for the transform job.

For more information about how batch transformation works Amazon SageMaker, see How It Works.

" - }, - "DeleteEndpoint":{ - "name":"DeleteEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEndpointInput"}, - "documentation":"

Deletes an endpoint. Amazon SageMaker frees up all of the resources that were deployed when the endpoint was created.

Amazon SageMaker retires any custom KMS key grants associated with the endpoint, meaning you don't need to use the RevokeGrant API call.

" - }, - "DeleteEndpointConfig":{ - "name":"DeleteEndpointConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEndpointConfigInput"}, - "documentation":"

Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration.

" - }, - "DeleteModel":{ - "name":"DeleteModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteModelInput"}, - "documentation":"

Deletes a model. The DeleteModel API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

" - }, - "DeleteNotebookInstance":{ - "name":"DeleteNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNotebookInstanceInput"}, - "documentation":"

Deletes an Amazon SageMaker notebook instance. Before you can delete a notebook instance, you must call the StopNotebookInstance API.

When you delete a notebook instance, you lose all of your data. Amazon SageMaker removes the ML compute instance, and deletes the ML storage volume and the network interface associated with the notebook instance.

" - }, - "DeleteNotebookInstanceLifecycleConfig":{ - "name":"DeleteNotebookInstanceLifecycleConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNotebookInstanceLifecycleConfigInput"}, - "documentation":"

Deletes a notebook instance lifecycle configuration.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsInput"}, - "output":{"shape":"DeleteTagsOutput"}, - "documentation":"

Deletes the specified tags from an Amazon SageMaker resource.

To list a resource's tags, use the ListTags API.

" - }, - "DescribeEndpoint":{ - "name":"DescribeEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndpointInput"}, - "output":{"shape":"DescribeEndpointOutput"}, - "documentation":"

Returns the description of an endpoint.

" - }, - "DescribeEndpointConfig":{ - "name":"DescribeEndpointConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEndpointConfigInput"}, - "output":{"shape":"DescribeEndpointConfigOutput"}, - "documentation":"

Returns the description of an endpoint configuration created using the CreateEndpointConfig API.

" - }, - "DescribeHyperParameterTuningJob":{ - "name":"DescribeHyperParameterTuningJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeHyperParameterTuningJobRequest"}, - "output":{"shape":"DescribeHyperParameterTuningJobResponse"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Gets a description of a hyperparameter tuning job.

" - }, - "DescribeModel":{ - "name":"DescribeModel", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeModelInput"}, - "output":{"shape":"DescribeModelOutput"}, - "documentation":"

Describes a model that you created using the CreateModel API.

" - }, - "DescribeNotebookInstance":{ - "name":"DescribeNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNotebookInstanceInput"}, - "output":{"shape":"DescribeNotebookInstanceOutput"}, - "documentation":"

Returns information about a notebook instance.

" - }, - "DescribeNotebookInstanceLifecycleConfig":{ - "name":"DescribeNotebookInstanceLifecycleConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNotebookInstanceLifecycleConfigInput"}, - "output":{"shape":"DescribeNotebookInstanceLifecycleConfigOutput"}, - "documentation":"

Returns a description of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

" - }, - "DescribeTrainingJob":{ - "name":"DescribeTrainingJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrainingJobRequest"}, - "output":{"shape":"DescribeTrainingJobResponse"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Returns information about a training job.

" - }, - "DescribeTransformJob":{ - "name":"DescribeTransformJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTransformJobRequest"}, - "output":{"shape":"DescribeTransformJobResponse"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Returns information about a transform job.

" - }, - "ListEndpointConfigs":{ - "name":"ListEndpointConfigs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEndpointConfigsInput"}, - "output":{"shape":"ListEndpointConfigsOutput"}, - "documentation":"

Lists endpoint configurations.

" - }, - "ListEndpoints":{ - "name":"ListEndpoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEndpointsInput"}, - "output":{"shape":"ListEndpointsOutput"}, - "documentation":"

Lists endpoints.

" - }, - "ListHyperParameterTuningJobs":{ - "name":"ListHyperParameterTuningJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListHyperParameterTuningJobsRequest"}, - "output":{"shape":"ListHyperParameterTuningJobsResponse"}, - "documentation":"

Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account.

" - }, - "ListModels":{ - "name":"ListModels", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListModelsInput"}, - "output":{"shape":"ListModelsOutput"}, - "documentation":"

Lists models created with the CreateModel API.

" - }, - "ListNotebookInstanceLifecycleConfigs":{ - "name":"ListNotebookInstanceLifecycleConfigs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListNotebookInstanceLifecycleConfigsInput"}, - "output":{"shape":"ListNotebookInstanceLifecycleConfigsOutput"}, - "documentation":"

Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig API.

" - }, - "ListNotebookInstances":{ - "name":"ListNotebookInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListNotebookInstancesInput"}, - "output":{"shape":"ListNotebookInstancesOutput"}, - "documentation":"

Returns a list of the Amazon SageMaker notebook instances in the requester's account in an AWS Region.

" - }, - "ListTags":{ - "name":"ListTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsInput"}, - "output":{"shape":"ListTagsOutput"}, - "documentation":"

Returns the tags for the specified Amazon SageMaker resource.

" - }, - "ListTrainingJobs":{ - "name":"ListTrainingJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTrainingJobsRequest"}, - "output":{"shape":"ListTrainingJobsResponse"}, - "documentation":"

Lists training jobs.

" - }, - "ListTrainingJobsForHyperParameterTuningJob":{ - "name":"ListTrainingJobsForHyperParameterTuningJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTrainingJobsForHyperParameterTuningJobRequest"}, - "output":{"shape":"ListTrainingJobsForHyperParameterTuningJobResponse"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Gets a list of TrainingJobSummary objects that describe the training jobs that a hyperparameter tuning job launched.

" - }, - "ListTransformJobs":{ - "name":"ListTransformJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTransformJobsRequest"}, - "output":{"shape":"ListTransformJobsResponse"}, - "documentation":"

Lists transform jobs.

" - }, - "StartNotebookInstance":{ - "name":"StartNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartNotebookInstanceInput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Launches an ML compute instance with the latest version of the libraries and attaches your ML storage volume. After configuring the notebook instance, Amazon SageMaker sets the notebook instance status to InService. A notebook instance's status must be InService before you can connect to your Jupyter notebook.

" - }, - "StopHyperParameterTuningJob":{ - "name":"StopHyperParameterTuningJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopHyperParameterTuningJobRequest"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Stops a running hyperparameter tuning job and all running training jobs that the tuning job launched.

All model artifacts output from the training jobs are stored in Amazon Simple Storage Service (Amazon S3). All data that the training jobs write to Amazon CloudWatch Logs are still available in CloudWatch. After the tuning job moves to the Stopped state, it releases all reserved resources for the tuning job.

" - }, - "StopNotebookInstance":{ - "name":"StopNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopNotebookInstanceInput"}, - "documentation":"

Terminates the ML compute instance. Before terminating the instance, Amazon SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves the ML storage volume.

To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work.

" - }, - "StopTrainingJob":{ - "name":"StopTrainingJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopTrainingJobRequest"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Stops a training job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of the training is not lost.

Training algorithms provided by Amazon SageMaker save the intermediate results of a model training job. This intermediate data is a valid model artifact. You can use the model artifacts that are saved when Amazon SageMaker stops a training job to create a model.

When it receives a StopTrainingJob request, Amazon SageMaker changes the status of the job to Stopping. After Amazon SageMaker stops the job, it sets the status to Stopped.

" - }, - "StopTransformJob":{ - "name":"StopTransformJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopTransformJobRequest"}, - "errors":[ - {"shape":"ResourceNotFound"} - ], - "documentation":"

Stops a transform job.

When Amazon SageMaker receives a StopTransformJob request, the status of the job changes to Stopping. After Amazon SageMaker stops the job, the status is set to Stopped. When you stop a transform job before it is completed, Amazon SageMaker doesn't store the job's output in Amazon S3.

" - }, - "UpdateEndpoint":{ - "name":"UpdateEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEndpointInput"}, - "output":{"shape":"UpdateEndpointOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss).

When Amazon SageMaker receives the request, it sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

You cannot update an endpoint with the current EndpointConfig. To update an endpoint, you must create a new EndpointConfig.

" - }, - "UpdateEndpointWeightsAndCapacities":{ - "name":"UpdateEndpointWeightsAndCapacities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEndpointWeightsAndCapacitiesInput"}, - "output":{"shape":"UpdateEndpointWeightsAndCapacitiesOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Updates variant weight of one or more variants associated with an existing endpoint, or capacity of one variant associated with an existing endpoint. When it receives the request, Amazon SageMaker sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

" - }, - "UpdateNotebookInstance":{ - "name":"UpdateNotebookInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNotebookInstanceInput"}, - "output":{"shape":"UpdateNotebookInstanceOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements. You can also update the VPC security groups.

" - }, - "UpdateNotebookInstanceLifecycleConfig":{ - "name":"UpdateNotebookInstanceLifecycleConfig", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNotebookInstanceLifecycleConfigInput"}, - "output":{"shape":"UpdateNotebookInstanceLifecycleConfigOutput"}, - "errors":[ - {"shape":"ResourceLimitExceeded"} - ], - "documentation":"

Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API.

" - } - }, - "shapes":{ - "Accept":{ - "type":"string", - "max":256 - }, - "AddTagsInput":{ - "type":"structure", - "required":[ - "ResourceArn", - "Tags" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to tag.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of Tag objects. Each tag is a key-value pair. Only the key parameter is required. If you don't specify a value, Amazon SageMaker sets the value to an empty string.

" - } - } - }, - "AddTagsOutput":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags associated with the Amazon SageMaker resource.

" - } - } - }, - "AlgorithmImage":{ - "type":"string", - "max":255 - }, - "AlgorithmSpecification":{ - "type":"structure", - "required":[ - "TrainingImage", - "TrainingInputMode" - ], - "members":{ - "TrainingImage":{ - "shape":"AlgorithmImage", - "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for built-in algorithms, see sagemaker-algo-docker-registry-paths.

" - }, - "TrainingInputMode":{ - "shape":"TrainingInputMode", - "documentation":"

The input mode that the algorithm supports. For the input modes that Amazon SageMaker algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

In File mode, make sure you provision ML storage volume with sufficient capacity to accommodate the data download from S3. In addition to the training data, the ML storage volume also stores the output model. The algorithm container use ML storage volume to also store intermediate information, if any.

For distributed algorithms using File mode, training data is distributed uniformly, and your training duration is predictable if the input data objects size is approximately same. Amazon SageMaker does not split the files any further for model training. If the object sizes are skewed, training won't be optimal as the data distribution is also skewed where one host in a training cluster is overloaded, thus becoming bottleneck in training.

" - } - }, - "documentation":"

Specifies the training algorithm to use in a CreateTrainingJob request.

For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about using your own algorithms, see your-algorithms.

" - }, - "AssemblyType":{ - "type":"string", - "enum":[ - "None", - "Line" - ] - }, - "BatchStrategy":{ - "type":"string", - "enum":[ - "MultiRecord", - "SingleRecord" - ] - }, - "CategoricalParameterRange":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"ParameterKey", - "documentation":"

The name of the categorical hyperparameter to tune.

" - }, - "Values":{ - "shape":"ParameterValues", - "documentation":"

A list of the categories for the hyperparameter.

" - } - }, - "documentation":"

A list of categorical hyperparameters to tune.

" - }, - "CategoricalParameterRanges":{ - "type":"list", - "member":{"shape":"CategoricalParameterRange"}, - "max":20, - "min":0 - }, - "Channel":{ - "type":"structure", - "required":[ - "ChannelName", - "DataSource" - ], - "members":{ - "ChannelName":{ - "shape":"ChannelName", - "documentation":"

The name of the channel.

" - }, - "DataSource":{ - "shape":"DataSource", - "documentation":"

The location of the channel data.

" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The MIME type of the data.

" - }, - "CompressionType":{ - "shape":"CompressionType", - "documentation":"

If training data is compressed, the compression type. The default value is None. CompressionType is used only in Pipe input mode. In File mode, leave this field unset or set it to None.

" - }, - "RecordWrapperType":{ - "shape":"RecordWrapper", - "documentation":"

Specify RecordIO as the value when input data is in raw format but the training algorithm requires the RecordIO format, in which case, Amazon SageMaker wraps each individual S3 object in a RecordIO record. If the input data is already in RecordIO format, you don't need to set this attribute. For more information, see Create a Dataset Using RecordIO.

In FILE mode, leave this field unset or set it to None.

" - } - }, - "documentation":"

A channel is a named input source that training algorithms can consume.

" - }, - "ChannelName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[A-Za-z0-9\\.\\-_]+" - }, - "CompressionType":{ - "type":"string", - "enum":[ - "None", - "Gzip" - ] - }, - "ContainerDefinition":{ - "type":"structure", - "required":["Image"], - "members":{ - "ContainerHostname":{ - "shape":"ContainerHostname", - "documentation":"

The DNS host name for the container after Amazon SageMaker deploys it.

" - }, - "Image":{ - "shape":"Image", - "documentation":"

The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored. If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker

" - }, - "ModelDataUrl":{ - "shape":"Url", - "documentation":"

The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

If you provide a value for this parameter, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS i an AWS Region in the AWS Identity and Access Management User Guide.

" - }, - "Environment":{ - "shape":"EnvironmentMap", - "documentation":"

The environment variables to set in the Docker container. Each key and value in the Environment string to string map can have length of up to 1024. We support up to 16 entries in the map.

" - } - }, - "documentation":"

Describes the container, as part of model definition.

" - }, - "ContainerHostname":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "ContentType":{ - "type":"string", - "max":256 - }, - "ContinuousParameterRange":{ - "type":"structure", - "required":[ - "Name", - "MinValue", - "MaxValue" - ], - "members":{ - "Name":{ - "shape":"ParameterKey", - "documentation":"

The name of the continuous hyperparameter to tune.

" - }, - "MinValue":{ - "shape":"ParameterValue", - "documentation":"

The minimum value for the hyperparameter. The tuning job uses floating-point values between this value and MaxValuefor tuning.

" - }, - "MaxValue":{ - "shape":"ParameterValue", - "documentation":"

The maximum value for the hyperparameter. The tuning job uses floating-point values between MinValue value and this value for tuning.

" - } - }, - "documentation":"

A list of continuous hyperparameters to tune.

" - }, - "ContinuousParameterRanges":{ - "type":"list", - "member":{"shape":"ContinuousParameterRange"}, - "max":20, - "min":0 - }, - "CreateEndpointConfigInput":{ - "type":"structure", - "required":[ - "EndpointConfigName", - "ProductionVariants" - ], - "members":{ - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

" - }, - "ProductionVariants":{ - "shape":"ProductionVariantList", - "documentation":"

An array of ProductionVariant objects, one for each model that you want to host at this endpoint.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.

" - } - } - }, - "CreateEndpointConfigOutput":{ - "type":"structure", - "required":["EndpointConfigArn"], - "members":{ - "EndpointConfigArn":{ - "shape":"EndpointConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint configuration.

" - } - } - }, - "CreateEndpointInput":{ - "type":"structure", - "required":[ - "EndpointName", - "EndpointConfigName" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint. The name must be unique within an AWS Region in your AWS account.

" - }, - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of an endpoint configuration. For more information, see CreateEndpointConfig.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide.

" - } - } - }, - "CreateEndpointOutput":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"EndpointArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint.

" - } - } - }, - "CreateHyperParameterTuningJobRequest":{ - "type":"structure", - "required":[ - "HyperParameterTuningJobName", - "HyperParameterTuningJobConfig", - "TrainingJobDefinition" - ], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job. This name is the prefix for the names of all training jobs that this tuning job launches. The name must be unique within the same AWS account and AWS Region. Names are not case sensitive, and must be between 1-32 characters.

" - }, - "HyperParameterTuningJobConfig":{ - "shape":"HyperParameterTuningJobConfig", - "documentation":"

The HyperParameterTuningJobConfig object that describes the tuning job, including the search strategy, metric used to evaluate training jobs, ranges of parameters to search, and resource limits for the tuning job.

" - }, - "TrainingJobDefinition":{ - "shape":"HyperParameterTrainingJobDefinition", - "documentation":"

The HyperParameterTrainingJobDefinition object that describes the training jobs that this tuning job launches, including static hyperparameters, input data configuration, output data configuration, resource configuration, and stopping condition.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - } - } - }, - "CreateHyperParameterTuningJobResponse":{ - "type":"structure", - "required":["HyperParameterTuningJobArn"], - "members":{ - "HyperParameterTuningJobArn":{ - "shape":"HyperParameterTuningJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the tuning job.

" - } - } - }, - "CreateModelInput":{ - "type":"structure", - "required":[ - "ModelName", - "PrimaryContainer", - "ExecutionRoleArn" - ], - "members":{ - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the new model.

" - }, - "PrimaryContainer":{ - "shape":"ContainerDefinition", - "documentation":"

The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.

" - }, - "ExecutionRoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is currently used in hosting services but not in batch transform. For more information, see host-vpc.

" - } - } - }, - "CreateModelOutput":{ - "type":"structure", - "required":["ModelArn"], - "members":{ - "ModelArn":{ - "shape":"ModelArn", - "documentation":"

The ARN of the model created in Amazon SageMaker.

" - } - } - }, - "CreateNotebookInstanceInput":{ - "type":"structure", - "required":[ - "NotebookInstanceName", - "InstanceType", - "RoleArn" - ], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the new notebook instance.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The type of ML compute instance to launch for the notebook instance.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.

" - }, - "SecurityGroupIds":{ - "shape":"SecurityGroupIds", - "documentation":"

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

When you send any requests to AWS resources from the notebook instance, Amazon SageMaker assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

If you provide a AWS KMS key ID, Amazon SageMaker uses it to encrypt data at rest on the ML storage volume that is attached to your notebook instance.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API.

" - }, - "LifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see notebook-lifecycle-config.

" - }, - "DirectInternetAccess":{ - "shape":"DirectInternetAccess", - "documentation":"

Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this to Disabled this notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC.

For more information, see appendix-notebook-and-internet-access. You can set the value of this parameter to Disabled only if you set a value for the SubnetId parameter.

" - } - } - }, - "CreateNotebookInstanceLifecycleConfigInput":{ - "type":"structure", - "required":["NotebookInstanceLifecycleConfigName"], - "members":{ - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration.

" - }, - "OnCreate":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

A shell script that runs only once, when you create a notebook instance.

" - }, - "OnStart":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

A shell script that runs every time you start a notebook instance, including when you create the notebook instance.

" - } - } - }, - "CreateNotebookInstanceLifecycleConfigOutput":{ - "type":"structure", - "members":{ - "NotebookInstanceLifecycleConfigArn":{ - "shape":"NotebookInstanceLifecycleConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the lifecycle configuration.

" - } - } - }, - "CreateNotebookInstanceOutput":{ - "type":"structure", - "members":{ - "NotebookInstanceArn":{ - "shape":"NotebookInstanceArn", - "documentation":"

The Amazon Resource Name (ARN) of the notebook instance.

" - } - } - }, - "CreatePresignedNotebookInstanceUrlInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance.

" - }, - "SessionExpirationDurationInSeconds":{ - "shape":"SessionExpirationDurationInSeconds", - "documentation":"

The duration of the session, in seconds. The default is 12 hours.

" - } - } - }, - "CreatePresignedNotebookInstanceUrlOutput":{ - "type":"structure", - "members":{ - "AuthorizedUrl":{ - "shape":"NotebookInstanceUrl", - "documentation":"

A JSON object that contains the URL string.

" - } - } - }, - "CreateTrainingJobRequest":{ - "type":"structure", - "required":[ - "TrainingJobName", - "AlgorithmSpecification", - "RoleArn", - "InputDataConfig", - "OutputDataConfig", - "ResourceConfig", - "StoppingCondition" - ], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

The name of the training job. The name must be unique within an AWS Region in an AWS account.

" - }, - "HyperParameters":{ - "shape":"HyperParameters", - "documentation":"

Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is limited to 256 characters, as specified by the Length Constraint.

" - }, - "AlgorithmSpecification":{ - "shape":"AlgorithmSpecification", - "documentation":"

The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing your own algorithms, see your-algorithms.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

An array of Channel objects. Each channel is a named input source. InputDataConfig describes the input data and its location.

Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of input data, training_data and validation_data. The configuration for each channel provides the S3 location where the input data is stored. It also provides information about the stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format.

Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an S3 bucket to a local directory in the Docker container, or makes it available as input streams.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies the path to the S3 bucket where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts.

" - }, - "ResourceConfig":{ - "shape":"ResourceConfig", - "documentation":"

The resources, including the ML compute instances and ML storage volumes, to use for model training.

ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see train-vpc

" - }, - "StoppingCondition":{ - "shape":"StoppingCondition", - "documentation":"

Sets a duration for training. Use this parameter to cap model training costs. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts.

When Amazon SageMaker terminates a job because the stopping condition has been met, training algorithms provided by Amazon SageMaker save the intermediate results of the job. This intermediate data is a valid model artifact. You can use it to create a model using the CreateModel API.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - } - } - }, - "CreateTrainingJobResponse":{ - "type":"structure", - "required":["TrainingJobArn"], - "members":{ - "TrainingJobArn":{ - "shape":"TrainingJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the training job.

" - } - } - }, - "CreateTransformJobRequest":{ - "type":"structure", - "required":[ - "TransformJobName", - "ModelName", - "TransformInput", - "TransformOutput", - "TransformResources" - ], - "members":{ - "TransformJobName":{ - "shape":"TransformJobName", - "documentation":"

The name of the transform job. The name must be unique within an AWS Region in an AWS account.

" - }, - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model that you want to use for the transform job. ModelName must be the name of an existing Amazon SageMaker model within an AWS Region in an AWS account.

" - }, - "MaxConcurrentTransforms":{ - "shape":"MaxConcurrentTransforms", - "documentation":"

The maximum number of parallel requests that can be sent to each instance in a transform job. This is good for algorithms that implement multiple workers on larger instances . The default value is 1. To allow Amazon SageMaker to determine the appropriate number for MaxConcurrentTransforms, set the value to 0.

" - }, - "MaxPayloadInMB":{ - "shape":"MaxPayloadInMB", - "documentation":"

The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater or equal to the size of a single record. You can approximate the size of a record by dividing the size of your dataset by the number of records. Then multiply this value by the number of records you want in a mini-batch. It is recommended to enter a value slightly larger than this to ensure the records fit within the maximum payload size. The default value is 6 MB. For an unlimited payload size, set the value to 0.

" - }, - "BatchStrategy":{ - "shape":"BatchStrategy", - "documentation":"

Determines the number of records included in a single mini-batch. SingleRecord means only one record is used per mini-batch. MultiRecord means a mini-batch is set to contain as many records that can fit within the MaxPayloadInMB limit.

Batch transform will automatically split your input data into whatever payload size is specified if you set SplitType to Line and BatchStrategy to MultiRecord. There's no need to split the dataset into smaller files or to use larger payload sizes unless the records in your dataset are very large.

" - }, - "Environment":{ - "shape":"TransformEnvironmentMap", - "documentation":"

The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

" - }, - "TransformInput":{ - "shape":"TransformInput", - "documentation":"

Describes the input source and the way the transform job consumes it.

" - }, - "TransformOutput":{ - "shape":"TransformOutput", - "documentation":"

Describes the results of the transform job.

" - }, - "TransformResources":{ - "shape":"TransformResources", - "documentation":"

Describes the resources, including ML instance types and ML instance count, to use for the transform job.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

An array of key-value pairs. Adding tags is optional. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" - } - } - }, - "CreateTransformJobResponse":{ - "type":"structure", - "required":["TransformJobArn"], - "members":{ - "TransformJobArn":{ - "shape":"TransformJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the transform job.

" - } - } - }, - "CreationTime":{"type":"timestamp"}, - "DataSource":{ - "type":"structure", - "required":["S3DataSource"], - "members":{ - "S3DataSource":{ - "shape":"S3DataSource", - "documentation":"

The S3 location of the data source that is associated with a channel.

" - } - }, - "documentation":"

Describes the location of the channel data.

" - }, - "DeleteEndpointConfigInput":{ - "type":"structure", - "required":["EndpointConfigName"], - "members":{ - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration that you want to delete.

" - } - } - }, - "DeleteEndpointInput":{ - "type":"structure", - "required":["EndpointName"], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint that you want to delete.

" - } - } - }, - "DeleteModelInput":{ - "type":"structure", - "required":["ModelName"], - "members":{ - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model to delete.

" - } - } - }, - "DeleteNotebookInstanceInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the Amazon SageMaker notebook instance to delete.

" - } - } - }, - "DeleteNotebookInstanceLifecycleConfigInput":{ - "type":"structure", - "required":["NotebookInstanceLifecycleConfigName"], - "members":{ - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration to delete.

" - } - } - }, - "DeleteTagsInput":{ - "type":"structure", - "required":[ - "ResourceArn", - "TagKeys" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags you want to delete.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

An array or one or more tag keys to delete.

" - } - } - }, - "DeleteTagsOutput":{ - "type":"structure", - "members":{ - } - }, - "DeployedImage":{ - "type":"structure", - "members":{ - "SpecifiedImage":{ - "shape":"Image", - "documentation":"

The image path you specified when you created the model.

" - }, - "ResolvedImage":{ - "shape":"Image", - "documentation":"

The specific digest path of the image hosted in this ProductionVariant.

" - }, - "ResolutionTime":{ - "shape":"Timestamp", - "documentation":"

The date and time when the image path for the model resolved to the ResolvedImage

" - } - }, - "documentation":"

Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this ProductionVariant.

If you used the registry/repository[:tag] form to to specify the image path of the primary container when you created the model hosted in this ProductionVariant, the path resolves to a path of the form registry/repository[@digest]. A digest is a hash value that identifies a specific version of an image. For information about Amazon ECR paths, see Pulling an Image in the Amazon ECR User Guide.

" - }, - "DeployedImages":{ - "type":"list", - "member":{"shape":"DeployedImage"} - }, - "DescribeEndpointConfigInput":{ - "type":"structure", - "required":["EndpointConfigName"], - "members":{ - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration.

" - } - } - }, - "DescribeEndpointConfigOutput":{ - "type":"structure", - "required":[ - "EndpointConfigName", - "EndpointConfigArn", - "ProductionVariants", - "CreationTime" - ], - "members":{ - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

Name of the Amazon SageMaker endpoint configuration.

" - }, - "EndpointConfigArn":{ - "shape":"EndpointConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint configuration.

" - }, - "ProductionVariants":{ - "shape":"ProductionVariantList", - "documentation":"

An array of ProductionVariant objects, one for each model that you want to host at this endpoint.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint configuration was created.

" - } - } - }, - "DescribeEndpointInput":{ - "type":"structure", - "required":["EndpointName"], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint.

" - } - } - }, - "DescribeEndpointOutput":{ - "type":"structure", - "required":[ - "EndpointName", - "EndpointArn", - "EndpointConfigName", - "EndpointStatus", - "CreationTime", - "LastModifiedTime" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

Name of the endpoint.

" - }, - "EndpointArn":{ - "shape":"EndpointArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint.

" - }, - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration associated with this endpoint.

" - }, - "ProductionVariants":{ - "shape":"ProductionVariantSummaryList", - "documentation":"

An array of ProductionVariantSummary objects, one for each model hosted behind this endpoint.

" - }, - "EndpointStatus":{ - "shape":"EndpointStatus", - "documentation":"

The status of the endpoint.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the status of the endpoint is Failed, the reason why it failed.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint was created.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint was last modified.

" - } - } - }, - "DescribeHyperParameterTuningJobRequest":{ - "type":"structure", - "required":["HyperParameterTuningJobName"], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job to describe.

" - } - } - }, - "DescribeHyperParameterTuningJobResponse":{ - "type":"structure", - "required":[ - "HyperParameterTuningJobName", - "HyperParameterTuningJobArn", - "HyperParameterTuningJobConfig", - "TrainingJobDefinition", - "HyperParameterTuningJobStatus", - "CreationTime", - "TrainingJobStatusCounters", - "ObjectiveStatusCounters" - ], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job.

" - }, - "HyperParameterTuningJobArn":{ - "shape":"HyperParameterTuningJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the tuning job.

" - }, - "HyperParameterTuningJobConfig":{ - "shape":"HyperParameterTuningJobConfig", - "documentation":"

The HyperParameterTuningJobConfig object that specifies the configuration of the tuning job.

" - }, - "TrainingJobDefinition":{ - "shape":"HyperParameterTrainingJobDefinition", - "documentation":"

The HyperParameterTrainingJobDefinition object that specifies the definition of the training jobs that this tuning job launches.

" - }, - "HyperParameterTuningJobStatus":{ - "shape":"HyperParameterTuningJobStatus", - "documentation":"

The status of the tuning job: InProgress, Completed, Failed, Stopping, or Stopped.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the tuning job started.

" - }, - "HyperParameterTuningEndTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the tuning job ended.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the status of the tuning job was modified.

" - }, - "TrainingJobStatusCounters":{ - "shape":"TrainingJobStatusCounters", - "documentation":"

The TrainingJobStatusCounters object that specifies the number of training jobs, categorized by status, that this tuning job launched.

" - }, - "ObjectiveStatusCounters":{ - "shape":"ObjectiveStatusCounters", - "documentation":"

The ObjectiveStatusCounters object that specifies the number of training jobs, categorized by the status of their final objective metric, that this tuning job launched.

" - }, - "BestTrainingJob":{ - "shape":"HyperParameterTrainingJobSummary", - "documentation":"

A TrainingJobSummary object that describes the training job that completed with the best current HyperParameterTuningJobObjective.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the tuning job failed, the reason it failed.

" - } - } - }, - "DescribeModelInput":{ - "type":"structure", - "required":["ModelName"], - "members":{ - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model.

" - } - } - }, - "DescribeModelOutput":{ - "type":"structure", - "required":[ - "ModelName", - "PrimaryContainer", - "ExecutionRoleArn", - "CreationTime", - "ModelArn" - ], - "members":{ - "ModelName":{ - "shape":"ModelName", - "documentation":"

Name of the Amazon SageMaker model.

" - }, - "PrimaryContainer":{ - "shape":"ContainerDefinition", - "documentation":"

The location of the primary inference code, associated artifacts, and custom environment map that the inference code uses when it is deployed in production.

" - }, - "ExecutionRoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that you specified for the model.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that this model has access to. For more information, see host-vpc

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the model was created.

" - }, - "ModelArn":{ - "shape":"ModelArn", - "documentation":"

The Amazon Resource Name (ARN) of the model.

" - } - } - }, - "DescribeNotebookInstanceInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance that you want information about.

" - } - } - }, - "DescribeNotebookInstanceLifecycleConfigInput":{ - "type":"structure", - "required":["NotebookInstanceLifecycleConfigName"], - "members":{ - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration to describe.

" - } - } - }, - "DescribeNotebookInstanceLifecycleConfigOutput":{ - "type":"structure", - "members":{ - "NotebookInstanceLifecycleConfigArn":{ - "shape":"NotebookInstanceLifecycleConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the lifecycle configuration.

" - }, - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration.

" - }, - "OnCreate":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

The shell script that runs only once, when you create a notebook instance.

" - }, - "OnStart":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

The shell script that runs every time you start a notebook instance, including when you create the notebook instance.

" - }, - "LastModifiedTime":{ - "shape":"LastModifiedTime", - "documentation":"

A timestamp that tells when the lifecycle configuration was last modified.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

A timestamp that tells when the lifecycle configuration was created.

" - } - } - }, - "DescribeNotebookInstanceOutput":{ - "type":"structure", - "members":{ - "NotebookInstanceArn":{ - "shape":"NotebookInstanceArn", - "documentation":"

The Amazon Resource Name (ARN) of the notebook instance.

" - }, - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

Name of the Amazon SageMaker notebook instance.

" - }, - "NotebookInstanceStatus":{ - "shape":"NotebookInstanceStatus", - "documentation":"

The status of the notebook instance.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If status is failed, the reason it failed.

" - }, - "Url":{ - "shape":"NotebookInstanceUrl", - "documentation":"

The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The type of ML compute instance running on the notebook instance.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The ID of the VPC subnet.

" - }, - "SecurityGroups":{ - "shape":"SecurityGroupIds", - "documentation":"

The IDs of the VPC security groups.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

Amazon Resource Name (ARN) of the IAM role associated with the instance.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

Network interface IDs that Amazon SageMaker created at the time of creating the instance.

" - }, - "LastModifiedTime":{ - "shape":"LastModifiedTime", - "documentation":"

A timestamp. Use this parameter to retrieve the time when the notebook instance was last modified.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

A timestamp. Use this parameter to return the time when the notebook instance was created

" - }, - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

Returns the name of a notebook instance lifecycle configuration.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

" - }, - "DirectInternetAccess":{ - "shape":"DirectInternetAccess", - "documentation":"

Describes whether Amazon SageMaker provides internet access to the notebook instance. If this value is set to Disabled, he notebook instance does not have internet access, and cannot connect to Amazon SageMaker training and endpoint services.

For more information, see appendix-notebook-and-internet-access.

" - } - } - }, - "DescribeTrainingJobRequest":{ - "type":"structure", - "required":["TrainingJobName"], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

The name of the training job.

" - } - } - }, - "DescribeTrainingJobResponse":{ - "type":"structure", - "required":[ - "TrainingJobName", - "TrainingJobArn", - "ModelArtifacts", - "TrainingJobStatus", - "SecondaryStatus", - "AlgorithmSpecification", - "InputDataConfig", - "ResourceConfig", - "StoppingCondition", - "CreationTime" - ], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

Name of the model training job.

" - }, - "TrainingJobArn":{ - "shape":"TrainingJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the training job.

" - }, - "TuningJobArn":{ - "shape":"HyperParameterTuningJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the training job was launched by a hyperparameter tuning job.

" - }, - "ModelArtifacts":{ - "shape":"ModelArtifacts", - "documentation":"

Information about the Amazon S3 location that is configured for storing model artifacts.

" - }, - "TrainingJobStatus":{ - "shape":"TrainingJobStatus", - "documentation":"

The status of the training job.

For the InProgress status, Amazon SageMaker can return these secondary statuses:

  • Starting - Preparing for training.

  • Downloading - Optional stage for algorithms that support File training input mode. It indicates data is being downloaded to ML storage volumes.

  • Training - Training is in progress.

  • Uploading - Training is complete and model upload is in progress.

For the Stopped training status, Amazon SageMaker can return these secondary statuses:

  • MaxRuntimeExceeded - Job stopped as a result of maximum allowed runtime exceeded.

" - }, - "SecondaryStatus":{ - "shape":"SecondaryStatus", - "documentation":"

Provides granular information about the system state. For more information, see TrainingJobStatus.

  • Starting - starting the training job.

  • Downloading - downloading the input data.

  • Training - model training is in progress.

  • Uploading - uploading the trained model.

  • Stopping - stopping the training job.

  • Stopped - the training job has stopped.

  • MaxRuntimeExceeded - the training job exceeded the specified max run time and has been stopped.

  • Completed - the training job has completed.

  • Failed - the training job has failed. The failure reason is stored in the FailureReason field of DescribeTrainingJobResponse.

The valid values for SecondaryStatus are subject to change. They primarily provide information on the progress of the training job.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the training job failed, the reason it failed.

" - }, - "HyperParameters":{ - "shape":"HyperParameters", - "documentation":"

Algorithm-specific parameters.

" - }, - "AlgorithmSpecification":{ - "shape":"AlgorithmSpecification", - "documentation":"

Information about the algorithm used for training, and algorithm metadata.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The AWS Identity and Access Management (IAM) role configured for the training job.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

An array of Channel objects that describes each data input channel.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts.

" - }, - "ResourceConfig":{ - "shape":"ResourceConfig", - "documentation":"

Resources, including ML compute instances and ML storage volumes, that are configured for model training.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see train-vpc.

" - }, - "StoppingCondition":{ - "shape":"StoppingCondition", - "documentation":"

The condition under which to stop the training job.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that indicates when the training job was created.

" - }, - "TrainingStartTime":{ - "shape":"Timestamp", - "documentation":"

Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

" - }, - "TrainingEndTime":{ - "shape":"Timestamp", - "documentation":"

Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that indicates when the status of the training job was last modified.

" - }, - "SecondaryStatusTransitions":{ - "shape":"SecondaryStatusTransitions", - "documentation":"

To give an overview of the training job lifecycle, SecondaryStatusTransitions is a log of time-ordered secondary statuses that a training job has transitioned.

" - } - } - }, - "DescribeTransformJobRequest":{ - "type":"structure", - "required":["TransformJobName"], - "members":{ - "TransformJobName":{ - "shape":"TransformJobName", - "documentation":"

The name of the transform job that you want to view details of.

" - } - } - }, - "DescribeTransformJobResponse":{ - "type":"structure", - "required":[ - "TransformJobName", - "TransformJobArn", - "TransformJobStatus", - "ModelName", - "TransformInput", - "TransformResources", - "CreationTime" - ], - "members":{ - "TransformJobName":{ - "shape":"TransformJobName", - "documentation":"

The name of the transform job.

" - }, - "TransformJobArn":{ - "shape":"TransformJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the transform job.

" - }, - "TransformJobStatus":{ - "shape":"TransformJobStatus", - "documentation":"

The status of the transform job. If the transform job failed, the reason is returned in the FailureReason field.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the transform job failed, the reason that it failed.

" - }, - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model used in the transform job.

" - }, - "MaxConcurrentTransforms":{ - "shape":"MaxConcurrentTransforms", - "documentation":"

The maximum number of parallel requests on each instance node that can be launched in a transform job. The default value is 1.

" - }, - "MaxPayloadInMB":{ - "shape":"MaxPayloadInMB", - "documentation":"

The maximum payload size , in MB used in the transform job.

" - }, - "BatchStrategy":{ - "shape":"BatchStrategy", - "documentation":"

SingleRecord means only one record was used per a batch. MultiRecord means batches contained as many records that could possibly fit within the MaxPayloadInMB limit.

" - }, - "Environment":{ - "shape":"TransformEnvironmentMap", - "documentation":"

" - }, - "TransformInput":{ - "shape":"TransformInput", - "documentation":"

Describes the dataset to be transformed and the Amazon S3 location where it is stored.

" - }, - "TransformOutput":{ - "shape":"TransformOutput", - "documentation":"

Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

" - }, - "TransformResources":{ - "shape":"TransformResources", - "documentation":"

Describes the resources, including ML instance types and ML instance count, to use for the transform job.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the transform Job was created.

" - }, - "TransformStartTime":{ - "shape":"Timestamp", - "documentation":"

Indicates when the transform job starts on ML instances. You are billed for the time interval between this time and the value of TransformEndTime.

" - }, - "TransformEndTime":{ - "shape":"Timestamp", - "documentation":"

Indicates when the transform job is Completed, Stopped, or Failed. You are billed for the time interval between this time and the value of TransformStartTime.

" - } - } - }, - "DesiredWeightAndCapacity":{ - "type":"structure", - "required":["VariantName"], - "members":{ - "VariantName":{ - "shape":"VariantName", - "documentation":"

The name of the variant to update.

" - }, - "DesiredWeight":{ - "shape":"VariantWeight", - "documentation":"

The variant's weight.

" - }, - "DesiredInstanceCount":{ - "shape":"TaskCount", - "documentation":"

The variant's capacity.

" - } - }, - "documentation":"

Specifies weight and capacity values for a production variant.

" - }, - "DesiredWeightAndCapacityList":{ - "type":"list", - "member":{"shape":"DesiredWeightAndCapacity"}, - "min":1 - }, - "DirectInternetAccess":{ - "type":"string", - "enum":[ - "Enabled", - "Disabled" - ] - }, - "DisassociateNotebookInstanceLifecycleConfig":{"type":"boolean"}, - "EndpointArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "EndpointConfigArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "EndpointConfigName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "EndpointConfigNameContains":{ - "type":"string", - "pattern":"[a-zA-Z0-9-]+" - }, - "EndpointConfigSortKey":{ - "type":"string", - "enum":[ - "Name", - "CreationTime" - ] - }, - "EndpointConfigSummary":{ - "type":"structure", - "required":[ - "EndpointConfigName", - "EndpointConfigArn", - "CreationTime" - ], - "members":{ - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the endpoint configuration.

" - }, - "EndpointConfigArn":{ - "shape":"EndpointConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint configuration.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint configuration was created.

" - } - }, - "documentation":"

Provides summary information for an endpoint configuration.

" - }, - "EndpointConfigSummaryList":{ - "type":"list", - "member":{"shape":"EndpointConfigSummary"} - }, - "EndpointName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "EndpointNameContains":{ - "type":"string", - "pattern":"[a-zA-Z0-9-]+" - }, - "EndpointSortKey":{ - "type":"string", - "enum":[ - "Name", - "CreationTime", - "Status" - ] - }, - "EndpointStatus":{ - "type":"string", - "enum":[ - "OutOfService", - "Creating", - "Updating", - "SystemUpdating", - "RollingBack", - "InService", - "Deleting", - "Failed" - ] - }, - "EndpointSummary":{ - "type":"structure", - "required":[ - "EndpointName", - "EndpointArn", - "CreationTime", - "LastModifiedTime", - "EndpointStatus" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint.

" - }, - "EndpointArn":{ - "shape":"EndpointArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint was created.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the endpoint was last modified.

" - }, - "EndpointStatus":{ - "shape":"EndpointStatus", - "documentation":"

The status of the endpoint.

" - } - }, - "documentation":"

Provides summary information for an endpoint.

" - }, - "EndpointSummaryList":{ - "type":"list", - "member":{"shape":"EndpointSummary"} - }, - "EnvironmentKey":{ - "type":"string", - "max":1024, - "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" - }, - "EnvironmentMap":{ - "type":"map", - "key":{"shape":"EnvironmentKey"}, - "value":{"shape":"EnvironmentValue"}, - "max":16 - }, - "EnvironmentValue":{ - "type":"string", - "max":1024 - }, - "FailureReason":{ - "type":"string", - "max":1024 - }, - "FinalHyperParameterTuningJobObjectiveMetric":{ - "type":"structure", - "required":[ - "MetricName", - "Value" - ], - "members":{ - "Type":{ - "shape":"HyperParameterTuningJobObjectiveType", - "documentation":"

Whether to minimize or maximize the objective metric. Valid values are Minimize and Maximize.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the objective metric.

" - }, - "Value":{ - "shape":"MetricValue", - "documentation":"

The value of the objective metric.

" - } - }, - "documentation":"

Shows the final value for the objective metric for a training job that was launched by a hyperparameter tuning job. You define the objective metric in the HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig.

" - }, - "HyperParameterAlgorithmSpecification":{ - "type":"structure", - "required":[ - "TrainingImage", - "TrainingInputMode" - ], - "members":{ - "TrainingImage":{ - "shape":"AlgorithmImage", - "documentation":"

The registry path of the Docker image that contains the training algorithm. For information about Docker registry paths for built-in algorithms, see sagemaker-algo-docker-registry-paths.

" - }, - "TrainingInputMode":{ - "shape":"TrainingInputMode", - "documentation":"

The input mode that the algorithm supports: File or Pipe. In File input mode, Amazon SageMaker downloads the training data from Amazon S3 to the storage volume that is attached to the training instance and mounts the directory to the Docker volume for the training container. In Pipe input mode, Amazon SageMaker streams data directly from Amazon S3 to the container.

If you specify File mode, make sure that you provision the storage volume that is attached to the training instance with enough capacity to accommodate the training data downloaded from Amazon S3, the model artifacts, and intermediate information.

For more information about input modes, see Algorithms.

" - }, - "MetricDefinitions":{ - "shape":"MetricDefinitionList", - "documentation":"

An array of MetricDefinition objects that specify the metrics that the algorithm emits.

" - } - }, - "documentation":"

Specifies which training algorithm to use for training jobs that a hyperparameter tuning job launches and the metrics to monitor.

" - }, - "HyperParameterTrainingJobDefinition":{ - "type":"structure", - "required":[ - "AlgorithmSpecification", - "RoleArn", - "InputDataConfig", - "OutputDataConfig", - "ResourceConfig", - "StoppingCondition" - ], - "members":{ - "StaticHyperParameters":{ - "shape":"HyperParameters", - "documentation":"

Specifies the values of hyperparameters that do not change for the tuning job.

" - }, - "AlgorithmSpecification":{ - "shape":"HyperParameterAlgorithmSpecification", - "documentation":"

The HyperParameterAlgorithmSpecification object that specifies the algorithm to use for the training jobs that the tuning job launches.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the training jobs that the tuning job launches.

" - }, - "InputDataConfig":{ - "shape":"InputDataConfig", - "documentation":"

An array of Channel objects that specify the input for the training jobs that the tuning job launches.

" - }, - "VpcConfig":{ - "shape":"VpcConfig", - "documentation":"

The VpcConfig object that specifies the VPC that you want the training jobs that this hyperparameter tuning job launches to connect to. Control access to and from your training container by configuring the VPC. For more information, see train-vpc.

" - }, - "OutputDataConfig":{ - "shape":"OutputDataConfig", - "documentation":"

Specifies the path to the Amazon S3 bucket where you store model artifacts from the training jobs that the tuning job launches.

" - }, - "ResourceConfig":{ - "shape":"ResourceConfig", - "documentation":"

The resources, including the compute instances and storage volumes, to use for the training jobs that the tuning job launches.

Storage volumes store model artifacts and incremental states. Training algorithms might also use storage volumes for scratch space. If you want Amazon SageMaker to use the storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

" - }, - "StoppingCondition":{ - "shape":"StoppingCondition", - "documentation":"

Sets a maximum duration for the training jobs that the tuning job launches. Use this parameter to limit model training costs.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts.

When Amazon SageMaker terminates a job because the stopping condition has been met, training algorithms provided by Amazon SageMaker save the intermediate results of the job.

" - } - }, - "documentation":"

Defines the training jobs launched by a hyperparameter tuning job.

" - }, - "HyperParameterTrainingJobSummaries":{ - "type":"list", - "member":{"shape":"HyperParameterTrainingJobSummary"} - }, - "HyperParameterTrainingJobSummary":{ - "type":"structure", - "required":[ - "TrainingJobName", - "TrainingJobArn", - "CreationTime", - "TrainingJobStatus", - "TunedHyperParameters" - ], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

The name of the training job.

" - }, - "TrainingJobArn":{ - "shape":"TrainingJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the training job.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the training job was created.

" - }, - "TrainingStartTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the training job started.

" - }, - "TrainingEndTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the training job ended.

" - }, - "TrainingJobStatus":{ - "shape":"TrainingJobStatus", - "documentation":"

The status of the training job.

" - }, - "TunedHyperParameters":{ - "shape":"HyperParameters", - "documentation":"

A list of the hyperparameters for which you specified ranges to search.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

The reason that the training job failed.

" - }, - "FinalHyperParameterTuningJobObjectiveMetric":{ - "shape":"FinalHyperParameterTuningJobObjectiveMetric", - "documentation":"

The FinalHyperParameterTuningJobObjectiveMetric object that specifies the value of the objective metric of the tuning job that launched this training job.

" - }, - "ObjectiveStatus":{ - "shape":"ObjectiveStatus", - "documentation":"

The status of the objective metric for the training job:

  • Succeeded: The final objective metric for the training job was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process.

  • Pending: The training job is in progress and evaluation of its final objective metric is pending.

  • Failed: The final objective metric for the training job was not evaluated, and was not used in the hyperparameter tuning process. This typically occurs when the training job failed or did not emit an objective metric.

" - } - }, - "documentation":"

Specifies summary information about a training job.

" - }, - "HyperParameterTuningJobArn":{ - "type":"string", - "max":256, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:hyper-parameter-tuning-job/.*" - }, - "HyperParameterTuningJobConfig":{ - "type":"structure", - "required":[ - "Strategy", - "HyperParameterTuningJobObjective", - "ResourceLimits", - "ParameterRanges" - ], - "members":{ - "Strategy":{ - "shape":"HyperParameterTuningJobStrategyType", - "documentation":"

Specifies the search strategy for hyperparameters. Currently, the only valid value is Bayesian.

" - }, - "HyperParameterTuningJobObjective":{ - "shape":"HyperParameterTuningJobObjective", - "documentation":"

The HyperParameterTuningJobObjective object that specifies the objective metric for this tuning job.

" - }, - "ResourceLimits":{ - "shape":"ResourceLimits", - "documentation":"

The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs for this tuning job.

" - }, - "ParameterRanges":{ - "shape":"ParameterRanges", - "documentation":"

The ParameterRanges object that specifies the ranges of hyperparameters that this tuning job searches.

" - } - }, - "documentation":"

Configures a hyperparameter tuning job.

" - }, - "HyperParameterTuningJobName":{ - "type":"string", - "max":32, - "min":1, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "HyperParameterTuningJobObjective":{ - "type":"structure", - "required":[ - "Type", - "MetricName" - ], - "members":{ - "Type":{ - "shape":"HyperParameterTuningJobObjectiveType", - "documentation":"

Whether to minimize or maximize the objective metric.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

The name of the metric to use for the objective metric.

" - } - }, - "documentation":"

Defines the objective metric for a hyperparameter tuning job. Hyperparameter tuning uses the value of this metric to evaluate the training jobs it launches, and returns the training job that results in either the highest or lowest value for this metric, depending on the value you specify for the Type parameter.

" - }, - "HyperParameterTuningJobObjectiveType":{ - "type":"string", - "enum":[ - "Maximize", - "Minimize" - ] - }, - "HyperParameterTuningJobSortByOptions":{ - "type":"string", - "enum":[ - "Name", - "Status", - "CreationTime" - ] - }, - "HyperParameterTuningJobStatus":{ - "type":"string", - "enum":[ - "Completed", - "InProgress", - "Failed", - "Stopped", - "Stopping" - ] - }, - "HyperParameterTuningJobStrategyType":{ - "type":"string", - "documentation":"

The strategy hyperparameter tuning uses to find the best combination of hyperparameters for your model. Currently, the only supported value is Bayesian.

", - "enum":["Bayesian"] - }, - "HyperParameterTuningJobSummaries":{ - "type":"list", - "member":{"shape":"HyperParameterTuningJobSummary"} - }, - "HyperParameterTuningJobSummary":{ - "type":"structure", - "required":[ - "HyperParameterTuningJobName", - "HyperParameterTuningJobArn", - "HyperParameterTuningJobStatus", - "Strategy", - "CreationTime", - "TrainingJobStatusCounters", - "ObjectiveStatusCounters" - ], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job.

" - }, - "HyperParameterTuningJobArn":{ - "shape":"HyperParameterTuningJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the tuning job.

" - }, - "HyperParameterTuningJobStatus":{ - "shape":"HyperParameterTuningJobStatus", - "documentation":"

The status of the tuning job.

" - }, - "Strategy":{ - "shape":"HyperParameterTuningJobStrategyType", - "documentation":"

Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to use for each iteration. Currently, the only valid value is Bayesian.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the tuning job was created.

" - }, - "HyperParameterTuningEndTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the tuning job ended.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

The date and time that the tuning job was modified.

" - }, - "TrainingJobStatusCounters":{ - "shape":"TrainingJobStatusCounters", - "documentation":"

The TrainingJobStatusCounters object that specifies the numbers of training jobs, categorized by status, that this tuning job launched.

" - }, - "ObjectiveStatusCounters":{ - "shape":"ObjectiveStatusCounters", - "documentation":"

The ObjectiveStatusCounters object that specifies the numbers of training jobs, categorized by objective metric status, that this tuning job launched.

" - }, - "ResourceLimits":{ - "shape":"ResourceLimits", - "documentation":"

The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs allowed for this tuning job.

" - } - }, - "documentation":"

Provides summary information about a hyperparameter tuning job.

" - }, - "HyperParameters":{ - "type":"map", - "key":{"shape":"ParameterKey"}, - "value":{"shape":"ParameterValue"}, - "max":100, - "min":0 - }, - "Image":{ - "type":"string", - "max":255, - "pattern":"[\\S]+" - }, - "InputDataConfig":{ - "type":"list", - "member":{"shape":"Channel"}, - "max":8, - "min":1 - }, - "InstanceType":{ - "type":"string", - "enum":[ - "ml.t2.medium", - "ml.t2.large", - "ml.t2.xlarge", - "ml.t2.2xlarge", - "ml.m4.xlarge", - "ml.m4.2xlarge", - "ml.m4.4xlarge", - "ml.m4.10xlarge", - "ml.m4.16xlarge", - "ml.p2.xlarge", - "ml.p2.8xlarge", - "ml.p2.16xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge" - ] - }, - "IntegerParameterRange":{ - "type":"structure", - "required":[ - "Name", - "MinValue", - "MaxValue" - ], - "members":{ - "Name":{ - "shape":"ParameterKey", - "documentation":"

The name of the hyperparameter to search.

" - }, - "MinValue":{ - "shape":"ParameterValue", - "documentation":"

The minimum value of the hyperparameter to search.

" - }, - "MaxValue":{ - "shape":"ParameterValue", - "documentation":"

The maximum value of the hyperparameter to search.

" - } - }, - "documentation":"

For a hyperparameter of the integer type, specifies the range that a hyperparameter tuning job searches.

" - }, - "IntegerParameterRanges":{ - "type":"list", - "member":{"shape":"IntegerParameterRange"}, - "max":20, - "min":0 - }, - "KmsKeyId":{ - "type":"string", - "max":2048 - }, - "LastModifiedTime":{"type":"timestamp"}, - "ListEndpointConfigsInput":{ - "type":"structure", - "members":{ - "SortBy":{ - "shape":"EndpointConfigSortKey", - "documentation":"

The field to sort results by. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the result of the previous ListEndpointConfig request was truncated, the response includes a NextToken. To retrieve the next set of endpoint configurations, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of training jobs to return in the response.

" - }, - "NameContains":{ - "shape":"EndpointConfigNameContains", - "documentation":"

A string in the endpoint configuration name. This filter returns only endpoint configurations whose name contains the specified string.

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoint configurations created before the specified time (timestamp).

" - }, - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoint configurations created after the specified time (timestamp).

" - } - } - }, - "ListEndpointConfigsOutput":{ - "type":"structure", - "required":["EndpointConfigs"], - "members":{ - "EndpointConfigs":{ - "shape":"EndpointConfigSummaryList", - "documentation":"

An array of endpoint configurations.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of endpoint configurations, use it in the subsequent request

" - } - } - }, - "ListEndpointsInput":{ - "type":"structure", - "members":{ - "SortBy":{ - "shape":"EndpointSortKey", - "documentation":"

Sorts the list of results. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the result of a ListEndpoints request was truncated, the response includes a NextToken. To retrieve the next set of endpoints, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of endpoints to return in the response.

" - }, - "NameContains":{ - "shape":"EndpointNameContains", - "documentation":"

A string in endpoint names. This filter returns only endpoints whose name contains the specified string.

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoints that were created before the specified time (timestamp).

" - }, - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoints that were created after the specified time (timestamp).

" - }, - "LastModifiedTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoints that were modified before the specified timestamp.

" - }, - "LastModifiedTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only endpoints that were modified after the specified timestamp.

" - }, - "StatusEquals":{ - "shape":"EndpointStatus", - "documentation":"

A filter that returns only endpoints with the specified status.

" - } - } - }, - "ListEndpointsOutput":{ - "type":"structure", - "required":["Endpoints"], - "members":{ - "Endpoints":{ - "shape":"EndpointSummaryList", - "documentation":"

An array or endpoint objects.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

" - } - } - }, - "ListHyperParameterTuningJobsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous ListHyperParameterTuningJobs request was truncated, the response includes a NextToken. To retrieve the next set of tuning jobs, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of tuning jobs to return. The default value is 10.

", - "box":true - }, - "SortBy":{ - "shape":"HyperParameterTuningJobSortByOptions", - "documentation":"

The field to sort results by. The default is Name.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order for results. The default is Ascending.

" - }, - "NameContains":{ - "shape":"NameContains", - "documentation":"

A string in the tuning job name. This filter returns only tuning jobs whose name contains the specified string.

" - }, - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only tuning jobs that were created after the specified time.

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only tuning jobs that were created before the specified time.

" - }, - "LastModifiedTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only tuning jobs that were modified after the specified time.

" - }, - "LastModifiedTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only tuning jobs that were modified before the specified time.

" - }, - "StatusEquals":{ - "shape":"HyperParameterTuningJobStatus", - "documentation":"

A filter that returns only tuning jobs with the specified status.

" - } - } - }, - "ListHyperParameterTuningJobsResponse":{ - "type":"structure", - "required":["HyperParameterTuningJobSummaries"], - "members":{ - "HyperParameterTuningJobSummaries":{ - "shape":"HyperParameterTuningJobSummaries", - "documentation":"

A list of HyperParameterTuningJobSummary objects that describe the tuning jobs that the ListHyperParameterTuningJobs request returned.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of this ListHyperParameterTuningJobs request was truncated, the response includes a NextToken. To retrieve the next set of tuning jobs, use the token in the next request.

" - } - } - }, - "ListModelsInput":{ - "type":"structure", - "members":{ - "SortBy":{ - "shape":"ModelSortKey", - "documentation":"

Sorts the list of results. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"OrderKey", - "documentation":"

The sort order for results. The default is Ascending.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response to a previous ListModels request was truncated, the response includes a NextToken. To retrieve the next set of models, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of models to return in the response.

" - }, - "NameContains":{ - "shape":"ModelNameContains", - "documentation":"

A string in the training job name. This filter returns only models in the training job whose name contains the specified string.

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only models created before the specified time (timestamp).

" - }, - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only models created after the specified time (timestamp).

" - } - } - }, - "ListModelsOutput":{ - "type":"structure", - "required":["Models"], - "members":{ - "Models":{ - "shape":"ModelSummaryList", - "documentation":"

An array of ModelSummary objects, each of which lists a model.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of models, use it in the subsequent request.

" - } - } - }, - "ListNotebookInstanceLifecycleConfigsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of a ListNotebookInstanceLifecycleConfigs request was truncated, the response includes a NextToken. To get the next set of lifecycle configurations, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of lifecycle configurations to return in the response.

" - }, - "SortBy":{ - "shape":"NotebookInstanceLifecycleConfigSortKey", - "documentation":"

Sorts the list of results. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"NotebookInstanceLifecycleConfigSortOrder", - "documentation":"

The sort order for results.

" - }, - "NameContains":{ - "shape":"NotebookInstanceLifecycleConfigNameContains", - "documentation":"

A string in the lifecycle configuration name. This filter returns only lifecycle configurations whose name contains the specified string.

" - }, - "CreationTimeBefore":{ - "shape":"CreationTime", - "documentation":"

A filter that returns only lifecycle configurations that were created before the specified time (timestamp).

" - }, - "CreationTimeAfter":{ - "shape":"CreationTime", - "documentation":"

A filter that returns only lifecycle configurations that were created after the specified time (timestamp).

" - }, - "LastModifiedTimeBefore":{ - "shape":"LastModifiedTime", - "documentation":"

A filter that returns only lifecycle configurations that were modified before the specified time (timestamp).

" - }, - "LastModifiedTimeAfter":{ - "shape":"LastModifiedTime", - "documentation":"

A filter that returns only lifecycle configurations that were modified after the specified time (timestamp).

" - } - } - }, - "ListNotebookInstanceLifecycleConfigsOutput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To get the next set of lifecycle configurations, use it in the next request.

" - }, - "NotebookInstanceLifecycleConfigs":{ - "shape":"NotebookInstanceLifecycleConfigSummaryList", - "documentation":"

An array of NotebookInstanceLifecycleConfiguration objects, each listing a lifecycle configuration.

" - } - } - }, - "ListNotebookInstancesInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the previous call to the ListNotebookInstances is truncated, the response includes a NextToken. You can use this token in your subsequent ListNotebookInstances request to fetch the next set of notebook instances.

You might specify a filter or a sort order in your request. When response is truncated, you must use the same values for the filer and sort order in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of notebook instances to return.

" - }, - "SortBy":{ - "shape":"NotebookInstanceSortKey", - "documentation":"

The field to sort results by. The default is Name.

" - }, - "SortOrder":{ - "shape":"NotebookInstanceSortOrder", - "documentation":"

The sort order for results.

" - }, - "NameContains":{ - "shape":"NotebookInstanceNameContains", - "documentation":"

A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string.

" - }, - "CreationTimeBefore":{ - "shape":"CreationTime", - "documentation":"

A filter that returns only notebook instances that were created before the specified time (timestamp).

" - }, - "CreationTimeAfter":{ - "shape":"CreationTime", - "documentation":"

A filter that returns only notebook instances that were created after the specified time (timestamp).

" - }, - "LastModifiedTimeBefore":{ - "shape":"LastModifiedTime", - "documentation":"

A filter that returns only notebook instances that were modified before the specified time (timestamp).

" - }, - "LastModifiedTimeAfter":{ - "shape":"LastModifiedTime", - "documentation":"

A filter that returns only notebook instances that were modified after the specified time (timestamp).

" - }, - "StatusEquals":{ - "shape":"NotebookInstanceStatus", - "documentation":"

A filter that returns only notebook instances with the specified status.

" - }, - "NotebookInstanceLifecycleConfigNameContains":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

A string in the name of a notebook instances lifecycle configuration associated with this notebook instance. This filter returns only notebook instances associated with a lifecycle configuration with a name that contains the specified string.

" - } - } - }, - "ListNotebookInstancesOutput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response to the previous ListNotebookInstances request was truncated, Amazon SageMaker returns this token. To retrieve the next set of notebook instances, use the token in the next request.

" - }, - "NotebookInstances":{ - "shape":"NotebookInstanceSummaryList", - "documentation":"

An array of NotebookInstanceSummary objects, one for each notebook instance.

" - } - } - }, - "ListTagsInput":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response to the previous ListTags request is truncated, Amazon SageMaker returns this token. To retrieve the next set of tags, use it in the subsequent request.

" - }, - "MaxResults":{ - "shape":"ListTagsMaxResults", - "documentation":"

Maximum number of tags to return.

" - } - } - }, - "ListTagsMaxResults":{ - "type":"integer", - "min":50 - }, - "ListTagsOutput":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

An array of Tag objects, each with a tag key and a value.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If response is truncated, Amazon SageMaker includes a token in the response. You can use this token in your subsequent request to fetch next set of tokens.

" - } - } - }, - "ListTrainingJobsForHyperParameterTuningJobRequest":{ - "type":"structure", - "required":["HyperParameterTuningJobName"], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job whose training jobs you want to list.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous ListTrainingJobsForHyperParameterTuningJob request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of training jobs to return. The default value is 10.

" - }, - "StatusEquals":{ - "shape":"TrainingJobStatus", - "documentation":"

A filter that returns only training jobs with the specified status.

" - }, - "SortBy":{ - "shape":"TrainingJobSortByOptions", - "documentation":"

The field to sort results by. The default is Name.

If the value of this field is FinalObjectiveMetricValue, any training jobs that did not return an objective metric are not listed.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order for results. The default is Ascending.

" - } - } - }, - "ListTrainingJobsForHyperParameterTuningJobResponse":{ - "type":"structure", - "required":["TrainingJobSummaries"], - "members":{ - "TrainingJobSummaries":{ - "shape":"HyperParameterTrainingJobSummaries", - "documentation":"

A list of TrainingJobSummary objects that describe the training jobs that the ListTrainingJobsForHyperParameterTuningJob request returned.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of this ListTrainingJobsForHyperParameterTuningJob request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

" - } - } - }, - "ListTrainingJobsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous ListTrainingJobs request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of training jobs to return in the response.

", - "box":true - }, - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only training jobs created after the specified time (timestamp).

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only training jobs created before the specified time (timestamp).

" - }, - "LastModifiedTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only training jobs modified after the specified time (timestamp).

" - }, - "LastModifiedTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only training jobs modified before the specified time (timestamp).

" - }, - "NameContains":{ - "shape":"NameContains", - "documentation":"

A string in the training job name. This filter returns only training jobs whose name contains the specified string.

" - }, - "StatusEquals":{ - "shape":"TrainingJobStatus", - "documentation":"

A filter that retrieves only training jobs with a specific status.

" - }, - "SortBy":{ - "shape":"SortBy", - "documentation":"

The field to sort results by. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order for results. The default is Ascending.

" - } - } - }, - "ListTrainingJobsResponse":{ - "type":"structure", - "required":["TrainingJobSummaries"], - "members":{ - "TrainingJobSummaries":{ - "shape":"TrainingJobSummaries", - "documentation":"

An array of TrainingJobSummary objects, each listing a training job.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

" - } - } - }, - "ListTransformJobsRequest":{ - "type":"structure", - "members":{ - "CreationTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only transform jobs created after the specified time.

" - }, - "CreationTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only transform jobs created before the specified time.

" - }, - "LastModifiedTimeAfter":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only transform jobs modified after the specified time.

" - }, - "LastModifiedTimeBefore":{ - "shape":"Timestamp", - "documentation":"

A filter that returns only transform jobs modified before the specified time.

" - }, - "NameContains":{ - "shape":"NameContains", - "documentation":"

A string in the transform job name. This filter returns only transform jobs whose name contains the specified string.

" - }, - "StatusEquals":{ - "shape":"TransformJobStatus", - "documentation":"

A filter that retrieves only transform jobs with a specific status.

" - }, - "SortBy":{ - "shape":"SortBy", - "documentation":"

The field to sort results by. The default is CreationTime.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order for results. The default is Descending.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous ListTransformJobs request was truncated, the response includes a NextToken. To retrieve the next set of transform jobs, use the token in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of transform jobs to return in the response. The default value is 10.

", - "box":true - } - } - }, - "ListTransformJobsResponse":{ - "type":"structure", - "required":["TransformJobSummaries"], - "members":{ - "TransformJobSummaries":{ - "shape":"TransformJobSummaries", - "documentation":"

An array of TransformJobSummary objects.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of transform jobs, use it in the next request.

" - } - } - }, - "MaxConcurrentTransforms":{ - "type":"integer", - "min":0 - }, - "MaxNumberOfTrainingJobs":{ - "type":"integer", - "min":1 - }, - "MaxParallelTrainingJobs":{ - "type":"integer", - "min":1 - }, - "MaxPayloadInMB":{ - "type":"integer", - "min":0 - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "MaxRuntimeInSeconds":{ - "type":"integer", - "min":1 - }, - "MetricDefinition":{ - "type":"structure", - "required":[ - "Name", - "Regex" - ], - "members":{ - "Name":{ - "shape":"MetricName", - "documentation":"

The name of the metric.

" - }, - "Regex":{ - "shape":"MetricRegex", - "documentation":"

A regular expression that searches the output of a training job and gets the value of the metric. For more information about using regular expressions to define metrics, see automatic-model-tuning-define-metrics.

" - } - }, - "documentation":"

Specifies a metric that the training algorithm writes to stderr or stdout. Amazon SageMakerHyperparamter tuning captures all defined metrics. You specify one metric that a hyperparameter tuning job uses as its objective metric to choose the best training job.

" - }, - "MetricDefinitionList":{ - "type":"list", - "member":{"shape":"MetricDefinition"}, - "max":20, - "min":0 - }, - "MetricName":{ - "type":"string", - "max":255, - "min":1 - }, - "MetricRegex":{ - "type":"string", - "max":500, - "min":1 - }, - "MetricValue":{"type":"float"}, - "ModelArn":{ - "type":"string", - "max":2048, - "min":20 - }, - "ModelArtifacts":{ - "type":"structure", - "required":["S3ModelArtifacts"], - "members":{ - "S3ModelArtifacts":{ - "shape":"S3Uri", - "documentation":"

The path of the S3 object that contains the model artifacts. For example, s3://bucket-name/keynameprefix/model.tar.gz.

" - } - }, - "documentation":"

Provides information about the location that is configured for storing model artifacts.

" - }, - "ModelName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "ModelNameContains":{ - "type":"string", - "pattern":"[a-zA-Z0-9-]+" - }, - "ModelSortKey":{ - "type":"string", - "enum":[ - "Name", - "CreationTime" - ] - }, - "ModelSummary":{ - "type":"structure", - "required":[ - "ModelName", - "ModelArn", - "CreationTime" - ], - "members":{ - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model that you want a summary for.

" - }, - "ModelArn":{ - "shape":"ModelArn", - "documentation":"

The Amazon Resource Name (ARN) of the model.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that indicates when the model was created.

" - } - }, - "documentation":"

Provides summary information about a model.

" - }, - "ModelSummaryList":{ - "type":"list", - "member":{"shape":"ModelSummary"} - }, - "NameContains":{ - "type":"string", - "max":63, - "pattern":"[a-zA-Z0-9\\-]+" - }, - "NetworkInterfaceId":{"type":"string"}, - "NextToken":{ - "type":"string", - "max":8192 - }, - "NotebookInstanceArn":{ - "type":"string", - "max":256 - }, - "NotebookInstanceLifecycleConfigArn":{ - "type":"string", - "max":256 - }, - "NotebookInstanceLifecycleConfigContent":{ - "type":"string", - "max":16384, - "min":1 - }, - "NotebookInstanceLifecycleConfigList":{ - "type":"list", - "member":{"shape":"NotebookInstanceLifecycleHook"}, - "max":1 - }, - "NotebookInstanceLifecycleConfigName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "NotebookInstanceLifecycleConfigNameContains":{ - "type":"string", - "pattern":"[a-zA-Z0-9-]+" - }, - "NotebookInstanceLifecycleConfigSortKey":{ - "type":"string", - "enum":[ - "Name", - "CreationTime", - "LastModifiedTime" - ] - }, - "NotebookInstanceLifecycleConfigSortOrder":{ - "type":"string", - "enum":[ - "Ascending", - "Descending" - ] - }, - "NotebookInstanceLifecycleConfigSummary":{ - "type":"structure", - "required":[ - "NotebookInstanceLifecycleConfigName", - "NotebookInstanceLifecycleConfigArn" - ], - "members":{ - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration.

" - }, - "NotebookInstanceLifecycleConfigArn":{ - "shape":"NotebookInstanceLifecycleConfigArn", - "documentation":"

The Amazon Resource Name (ARN) of the lifecycle configuration.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

A timestamp that tells when the lifecycle configuration was created.

" - }, - "LastModifiedTime":{ - "shape":"LastModifiedTime", - "documentation":"

A timestamp that tells when the lifecycle configuration was last modified.

" - } - }, - "documentation":"

Provides a summary of a notebook instance lifecycle configuration.

" - }, - "NotebookInstanceLifecycleConfigSummaryList":{ - "type":"list", - "member":{"shape":"NotebookInstanceLifecycleConfigSummary"} - }, - "NotebookInstanceLifecycleHook":{ - "type":"structure", - "members":{ - "Content":{ - "shape":"NotebookInstanceLifecycleConfigContent", - "documentation":"

A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.

" - } - }, - "documentation":"

Contains the notebook instance lifecycle configuration script.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

" - }, - "NotebookInstanceName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "NotebookInstanceNameContains":{ - "type":"string", - "pattern":"[a-zA-Z0-9-]+" - }, - "NotebookInstanceSortKey":{ - "type":"string", - "enum":[ - "Name", - "CreationTime", - "Status" - ] - }, - "NotebookInstanceSortOrder":{ - "type":"string", - "enum":[ - "Ascending", - "Descending" - ] - }, - "NotebookInstanceStatus":{ - "type":"string", - "enum":[ - "Pending", - "InService", - "Stopping", - "Stopped", - "Failed", - "Deleting", - "Updating" - ] - }, - "NotebookInstanceSummary":{ - "type":"structure", - "required":[ - "NotebookInstanceName", - "NotebookInstanceArn" - ], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance that you want a summary for.

" - }, - "NotebookInstanceArn":{ - "shape":"NotebookInstanceArn", - "documentation":"

The Amazon Resource Name (ARN) of the notebook instance.

" - }, - "NotebookInstanceStatus":{ - "shape":"NotebookInstanceStatus", - "documentation":"

The status of the notebook instance.

" - }, - "Url":{ - "shape":"NotebookInstanceUrl", - "documentation":"

The URL that you use to connect to the Jupyter instance running in your notebook instance.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The type of ML compute instance that the notebook instance is running on.

" - }, - "CreationTime":{ - "shape":"CreationTime", - "documentation":"

A timestamp that shows when the notebook instance was created.

" - }, - "LastModifiedTime":{ - "shape":"LastModifiedTime", - "documentation":"

A timestamp that shows when the notebook instance was last modified.

" - }, - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a notebook instance lifecycle configuration associated with this notebook instance.

For information about notebook instance lifestyle configurations, see notebook-lifecycle-config.

" - } - }, - "documentation":"

Provides summary information for an Amazon SageMaker notebook instance.

" - }, - "NotebookInstanceSummaryList":{ - "type":"list", - "member":{"shape":"NotebookInstanceSummary"} - }, - "NotebookInstanceUrl":{"type":"string"}, - "ObjectiveStatus":{ - "type":"string", - "enum":[ - "Succeeded", - "Pending", - "Failed" - ] - }, - "ObjectiveStatusCounter":{ - "type":"integer", - "min":0 - }, - "ObjectiveStatusCounters":{ - "type":"structure", - "members":{ - "Succeeded":{ - "shape":"ObjectiveStatusCounter", - "documentation":"

The number of training jobs whose final objective metric was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process.

" - }, - "Pending":{ - "shape":"ObjectiveStatusCounter", - "documentation":"

The number of training jobs that are in progress and pending evaluation of their final objective metric.

" - }, - "Failed":{ - "shape":"ObjectiveStatusCounter", - "documentation":"

The number of training jobs whose final objective metric was not evaluated and used in the hyperparameter tuning process. This typically occurs when the training job failed or did not emit an objective metric.

" - } - }, - "documentation":"

Specifies the number of training jobs that this hyperparameter tuning job launched, categorized by the status of their objective metric. The objective metric status shows whether the final objective metric for the training job has been evaluated by the tuning job and used in the hyperparameter tuning process.

" - }, - "OrderKey":{ - "type":"string", - "enum":[ - "Ascending", - "Descending" - ] - }, - "OutputDataConfig":{ - "type":"structure", - "required":["S3OutputPath"], - "members":{ - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.

If you don't provide the KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in Amazon Simple Storage Service developer guide.

The KMS key policy must grant permission to the IAM role you specify in your CreateTrainingJob request. Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" - }, - "S3OutputPath":{ - "shape":"S3Uri", - "documentation":"

Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix.

" - } - }, - "documentation":"

Provides information about how to store model training results (model artifacts).

" - }, - "PaginationToken":{ - "type":"string", - "max":8192 - }, - "ParameterKey":{ - "type":"string", - "max":256 - }, - "ParameterRanges":{ - "type":"structure", - "members":{ - "IntegerParameterRanges":{ - "shape":"IntegerParameterRanges", - "documentation":"

The array of IntegerParameterRange objects that specify ranges of integer hyperparameters that a hyperparameter tuning job searches.

" - }, - "ContinuousParameterRanges":{ - "shape":"ContinuousParameterRanges", - "documentation":"

The array of ContinuousParameterRange objects that specify ranges of continuous hyperparameters that a hyperparameter tuning job searches.

" - }, - "CategoricalParameterRanges":{ - "shape":"CategoricalParameterRanges", - "documentation":"

The array of CategoricalParameterRange objects that specify ranges of categorical hyperparameters that a hyperparameter tuning job searches.

" - } - }, - "documentation":"

Specifies ranges of integer, continuous, and categorical hyperparameters that a hyperparameter tuning job searches.

" - }, - "ParameterValue":{ - "type":"string", - "max":256 - }, - "ParameterValues":{ - "type":"list", - "member":{"shape":"ParameterValue"}, - "max":20, - "min":1 - }, - "ProductionVariant":{ - "type":"structure", - "required":[ - "VariantName", - "ModelName", - "InitialInstanceCount", - "InstanceType" - ], - "members":{ - "VariantName":{ - "shape":"VariantName", - "documentation":"

The name of the production variant.

" - }, - "ModelName":{ - "shape":"ModelName", - "documentation":"

The name of the model that you want to host. This is the name that you specified when creating the model.

" - }, - "InitialInstanceCount":{ - "shape":"TaskCount", - "documentation":"

Number of instances to launch initially.

" - }, - "InstanceType":{ - "shape":"ProductionVariantInstanceType", - "documentation":"

The ML compute instance type.

" - }, - "InitialVariantWeight":{ - "shape":"VariantWeight", - "documentation":"

Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the VariantWeight to the sum of all VariantWeight values across all ProductionVariants. If unspecified, it defaults to 1.0.

" - } - }, - "documentation":"

Identifies a model that you want to host and the resources to deploy for hosting it. If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic among the models by specifying variant weights.

" - }, - "ProductionVariantInstanceType":{ - "type":"string", - "enum":[ - "ml.t2.medium", - "ml.t2.large", - "ml.t2.xlarge", - "ml.t2.2xlarge", - "ml.m4.xlarge", - "ml.m4.2xlarge", - "ml.m4.4xlarge", - "ml.m4.10xlarge", - "ml.m4.16xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.12xlarge", - "ml.m5.24xlarge", - "ml.c4.large", - "ml.c4.xlarge", - "ml.c4.2xlarge", - "ml.c4.4xlarge", - "ml.c4.8xlarge", - "ml.p2.xlarge", - "ml.p2.8xlarge", - "ml.p2.16xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.c5.large", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.18xlarge" - ] - }, - "ProductionVariantList":{ - "type":"list", - "member":{"shape":"ProductionVariant"}, - "min":1 - }, - "ProductionVariantSummary":{ - "type":"structure", - "required":["VariantName"], - "members":{ - "VariantName":{ - "shape":"VariantName", - "documentation":"

The name of the variant.

" - }, - "DeployedImages":{ - "shape":"DeployedImages", - "documentation":"

An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant.

" - }, - "CurrentWeight":{ - "shape":"VariantWeight", - "documentation":"

The weight associated with the variant.

" - }, - "DesiredWeight":{ - "shape":"VariantWeight", - "documentation":"

The requested weight, as specified in the UpdateEndpointWeightsAndCapacities request.

" - }, - "CurrentInstanceCount":{ - "shape":"TaskCount", - "documentation":"

The number of instances associated with the variant.

" - }, - "DesiredInstanceCount":{ - "shape":"TaskCount", - "documentation":"

The number of instances requested in the UpdateEndpointWeightsAndCapacities request.

" - } - }, - "documentation":"

Describes weight and capacities for a production variant associated with an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities API and the endpoint status is Updating, you get different desired and current values.

" - }, - "ProductionVariantSummaryList":{ - "type":"list", - "member":{"shape":"ProductionVariantSummary"}, - "min":1 - }, - "RecordWrapper":{ - "type":"string", - "enum":[ - "None", - "RecordIO" - ] - }, - "ResourceArn":{ - "type":"string", - "max":256 - }, - "ResourceConfig":{ - "type":"structure", - "required":[ - "InstanceType", - "InstanceCount", - "VolumeSizeInGB" - ], - "members":{ - "InstanceType":{ - "shape":"TrainingInstanceType", - "documentation":"

The ML compute instance type.

" - }, - "InstanceCount":{ - "shape":"TrainingInstanceCount", - "documentation":"

The number of ML compute instances to use. For distributed training, provide a value greater than 1.

" - }, - "VolumeSizeInGB":{ - "shape":"VolumeSizeInGB", - "documentation":"

The size of the ML storage volume that you want to provision.

ML storage volumes store model artifacts and incremental states. Training algorithms might also use the ML storage volume for scratch space. If you want to store the training data in the ML storage volume, choose File as the TrainingInputMode in the algorithm specification.

You must specify sufficient ML storage for your scenario.

Amazon SageMaker supports only the General Purpose SSD (gp2) ML storage volume type.

" - }, - "VolumeKmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training job.

" - } - }, - "documentation":"

Describes the resources, including ML compute instances and ML storage volumes, to use for model training.

" - }, - "ResourceInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"FailureReason"} - }, - "documentation":"

Resource being accessed is in use.

", - "exception":true - }, - "ResourceLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"FailureReason"} - }, - "documentation":"

You have exceeded an Amazon SageMaker resource limit. For example, you might have too many training jobs created.

", - "exception":true - }, - "ResourceLimits":{ - "type":"structure", - "required":[ - "MaxNumberOfTrainingJobs", - "MaxParallelTrainingJobs" - ], - "members":{ - "MaxNumberOfTrainingJobs":{ - "shape":"MaxNumberOfTrainingJobs", - "documentation":"

The maximum number of training jobs that a hyperparameter tuning job can launch.

" - }, - "MaxParallelTrainingJobs":{ - "shape":"MaxParallelTrainingJobs", - "documentation":"

The maximum number of concurrent training jobs that a hyperparameter tuning job can launch.

" - } - }, - "documentation":"

Specifies the maximum number of training jobs and parallel training jobs that a hyperparameter tuning job can launch.

" - }, - "ResourceNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"FailureReason"} - }, - "documentation":"

Resource being access is not found.

", - "exception":true - }, - "RoleArn":{ - "type":"string", - "max":2048, - "min":20, - "pattern":"^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" - }, - "S3DataDistribution":{ - "type":"string", - "enum":[ - "FullyReplicated", - "ShardedByS3Key" - ] - }, - "S3DataSource":{ - "type":"structure", - "required":[ - "S3DataType", - "S3Uri" - ], - "members":{ - "S3DataType":{ - "shape":"S3DataType", - "documentation":"

If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for model training.

If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for model training.

" - }, - "S3Uri":{ - "shape":"S3Uri", - "documentation":"

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

  • A key name prefix might look like this: s3://bucketname/exampleprefix.

  • A manifest might look like this: s3://bucketname/example.manifest

    The manifest is an S3 object which is a JSON file with the following format:

    [

    {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

    \"relative/path/to/custdata-1\",

    \"relative/path/custdata-2\",

    ...

    ]

    The preceding JSON matches the following s3Uris:

    s3://customer_bucket/some/prefix/relative/path/to/custdata-1

    s3://customer_bucket/some/prefix/relative/path/custdata-1

    ...

    The complete set of s3uris in this manifest constitutes the input data for the channel for this datasource. The object that each s3uris points to must readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

" - }, - "S3DataDistributionType":{ - "shape":"S3DataDistribution", - "documentation":"

If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that is launched for model training, specify FullyReplicated.

If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is launched for model training, specify ShardedByS3Key. If there are n ML compute instances launched for a training job, each instance gets approximately 1/n of the number of S3 objects. In this case, model training on each machine uses only the subset of training data.

Don't choose more ML compute instances for training than available S3 objects. If you do, some nodes won't get any data and you will pay for nodes that aren't getting any training data. This applies in both FILE and PIPE modes. Keep this in mind when developing algorithms.

In distributed training, where you use multiple ML compute EC2 instances, you might choose ShardedByS3Key. If the algorithm requires copying training data to the ML storage volume (when TrainingInputMode is set to File), this copies 1/n of the number of objects.

" - } - }, - "documentation":"

Describes the S3 data source.

" - }, - "S3DataType":{ - "type":"string", - "enum":[ - "ManifestFile", - "S3Prefix" - ] - }, - "S3Uri":{ - "type":"string", - "max":1024, - "pattern":"^(https|s3)://([^/]+)/?(.*)$" - }, - "SecondaryStatus":{ - "type":"string", - "enum":[ - "Starting", - "LaunchingMLInstances", - "PreparingTrainingStack", - "Downloading", - "DownloadingTrainingImage", - "Training", - "Uploading", - "Stopping", - "Stopped", - "MaxRuntimeExceeded", - "Completed", - "Failed" - ] - }, - "SecondaryStatusTransition":{ - "type":"structure", - "required":[ - "Status", - "StartTime" - ], - "members":{ - "Status":{ - "shape":"SecondaryStatus", - "documentation":"

Provides granular information about the system state. For more information, see SecondaryStatus under the DescribeTrainingJob response elements.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the training job has entered this secondary status.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the secondary status has ended and the job has transitioned into another secondary status. The EndTime timestamp is also set after the training job has ended.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

Shows a brief description and other information about the secondary status. For example, the LaunchingMLInstances secondary status could show a status message of \"Insufficent capacity error while launching instances\".

" - } - }, - "documentation":"

Specifies a secondary status the job has transitioned into. It includes a start timestamp and later an end timestamp. The end timestamp is added either after the job transitions to a different secondary status or after the job has ended.

" - }, - "SecondaryStatusTransitions":{ - "type":"list", - "member":{"shape":"SecondaryStatusTransition"} - }, - "SecurityGroupId":{ - "type":"string", - "max":32 - }, - "SecurityGroupIds":{ - "type":"list", - "member":{"shape":"SecurityGroupId"}, - "max":5 - }, - "SessionExpirationDurationInSeconds":{ - "type":"integer", - "max":43200, - "min":1800 - }, - "SortBy":{ - "type":"string", - "enum":[ - "Name", - "CreationTime", - "Status" - ] - }, - "SortOrder":{ - "type":"string", - "enum":[ - "Ascending", - "Descending" - ] - }, - "SplitType":{ - "type":"string", - "enum":[ - "None", - "Line", - "RecordIO" - ] - }, - "StartNotebookInstanceInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance to start.

" - } - } - }, - "StatusMessage":{"type":"string"}, - "StopHyperParameterTuningJobRequest":{ - "type":"structure", - "required":["HyperParameterTuningJobName"], - "members":{ - "HyperParameterTuningJobName":{ - "shape":"HyperParameterTuningJobName", - "documentation":"

The name of the tuning job to stop.

" - } - } - }, - "StopNotebookInstanceInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance to terminate.

" - } - } - }, - "StopTrainingJobRequest":{ - "type":"structure", - "required":["TrainingJobName"], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

The name of the training job to stop.

" - } - } - }, - "StopTransformJobRequest":{ - "type":"structure", - "required":["TransformJobName"], - "members":{ - "TransformJobName":{ - "shape":"TransformJobName", - "documentation":"

The name of the transform job to stop.

" - } - } - }, - "StoppingCondition":{ - "type":"structure", - "members":{ - "MaxRuntimeInSeconds":{ - "shape":"MaxRuntimeInSeconds", - "documentation":"

The maximum length of time, in seconds, that the training job can run. If model training does not complete during this time, Amazon SageMaker ends the job. If value is not specified, default value is 1 day. Maximum value is 5 days.

" - } - }, - "documentation":"

Specifies how long model training can run. When model training reaches the limit, Amazon SageMaker ends the training job. Use this API to cap model training cost.

To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of training is not lost.

Training algorithms provided by Amazon SageMaker automatically saves the intermediate results of a model training job (it is best effort case, as model might not be ready to save as some stages, for example training just started). This intermediate data is a valid model artifact. You can use it to create a model (CreateModel).

" - }, - "SubnetId":{ - "type":"string", - "max":32 - }, - "Subnets":{ - "type":"list", - "member":{"shape":"SubnetId"}, - "max":16, - "min":1 - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The tag value.

" - } - }, - "documentation":"

Describes a tag.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^((?!aws:)[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"TagKey"}, - "max":50, - "min":1 - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50, - "min":0 - }, - "TagValue":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TaskCount":{ - "type":"integer", - "min":1 - }, - "Timestamp":{"type":"timestamp"}, - "TrainingInputMode":{ - "type":"string", - "enum":[ - "Pipe", - "File" - ] - }, - "TrainingInstanceCount":{ - "type":"integer", - "min":1 - }, - "TrainingInstanceType":{ - "type":"string", - "enum":[ - "ml.m4.xlarge", - "ml.m4.2xlarge", - "ml.m4.4xlarge", - "ml.m4.10xlarge", - "ml.m4.16xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.12xlarge", - "ml.m5.24xlarge", - "ml.c4.xlarge", - "ml.c4.2xlarge", - "ml.c4.4xlarge", - "ml.c4.8xlarge", - "ml.p2.xlarge", - "ml.p2.8xlarge", - "ml.p2.16xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.18xlarge" - ] - }, - "TrainingJobArn":{ - "type":"string", - "max":256, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-job/.*" - }, - "TrainingJobName":{ - "type":"string", - "max":63, - "min":1, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "TrainingJobSortByOptions":{ - "type":"string", - "enum":[ - "Name", - "CreationTime", - "Status", - "FinalObjectiveMetricValue" - ] - }, - "TrainingJobStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Completed", - "Failed", - "Stopping", - "Stopped" - ] - }, - "TrainingJobStatusCounter":{ - "type":"integer", - "min":0 - }, - "TrainingJobStatusCounters":{ - "type":"structure", - "members":{ - "Completed":{ - "shape":"TrainingJobStatusCounter", - "documentation":"

The number of completed training jobs launched by a hyperparameter tuning job.

" - }, - "InProgress":{ - "shape":"TrainingJobStatusCounter", - "documentation":"

The number of in-progress training jobs launched by a hyperparameter tuning job.

" - }, - "RetryableError":{ - "shape":"TrainingJobStatusCounter", - "documentation":"

The number of training jobs that failed, but can be retried. A failed training job can be retried only if it failed because an internal service error occurred.

" - }, - "NonRetryableError":{ - "shape":"TrainingJobStatusCounter", - "documentation":"

The number of training jobs that failed and can't be retried. A failed training job can't be retried if it failed because a client error occurred.

" - }, - "Stopped":{ - "shape":"TrainingJobStatusCounter", - "documentation":"

The number of training jobs launched by a hyperparameter tuning job that were manually stopped.

" - } - }, - "documentation":"

The numbers of training jobs launched by a hyperparameter tuning job, categorized by status.

" - }, - "TrainingJobSummaries":{ - "type":"list", - "member":{"shape":"TrainingJobSummary"} - }, - "TrainingJobSummary":{ - "type":"structure", - "required":[ - "TrainingJobName", - "TrainingJobArn", - "CreationTime", - "TrainingJobStatus" - ], - "members":{ - "TrainingJobName":{ - "shape":"TrainingJobName", - "documentation":"

The name of the training job that you want a summary for.

" - }, - "TrainingJobArn":{ - "shape":"TrainingJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the training job.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the training job was created.

" - }, - "TrainingEndTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the training job ended. This field is set only if the training job has one of the terminal statuses (Completed, Failed, or Stopped).

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

Timestamp when the training job was last modified.

" - }, - "TrainingJobStatus":{ - "shape":"TrainingJobStatus", - "documentation":"

The status of the training job.

" - } - }, - "documentation":"

Provides summary information about a training job.

" - }, - "TransformDataSource":{ - "type":"structure", - "required":["S3DataSource"], - "members":{ - "S3DataSource":{ - "shape":"TransformS3DataSource", - "documentation":"

The S3 location of the data source that is associated with a channel.

" - } - }, - "documentation":"

Describes the location of the channel data.

" - }, - "TransformEnvironmentKey":{ - "type":"string", - "max":1024, - "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" - }, - "TransformEnvironmentMap":{ - "type":"map", - "key":{"shape":"TransformEnvironmentKey"}, - "value":{"shape":"TransformEnvironmentValue"}, - "max":16 - }, - "TransformEnvironmentValue":{ - "type":"string", - "max":10240 - }, - "TransformInput":{ - "type":"structure", - "required":["DataSource"], - "members":{ - "DataSource":{ - "shape":"TransformDataSource", - "documentation":"

Describes the location of the channel data, meaning the S3 location of the input data that the model can consume.

" - }, - "ContentType":{ - "shape":"ContentType", - "documentation":"

The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.

" - }, - "CompressionType":{ - "shape":"CompressionType", - "documentation":"

Compressing data helps save on storage space. If your transform data is compressed, specify the compression type.and Amazon SageMaker will automatically decompress the data for the transform job accordingly. The default value is None.

" - }, - "SplitType":{ - "shape":"SplitType", - "documentation":"

The method to use to split the transform job's data into smaller batches. The default value is None. If you don't want to split the data, specify None. If you want to split records on a newline character boundary, specify Line. To split records according to the RecordIO format, specify RecordIO.

Amazon SageMaker will send maximum number of records per batch in each request up to the MaxPayloadInMB limit. For more information, see RecordIO data format.

For information about the RecordIO format, see Data Format.

" - } - }, - "documentation":"

Describes the input source of a transform job and the way the transform job consumes it.

" - }, - "TransformInstanceCount":{ - "type":"integer", - "min":1 - }, - "TransformInstanceType":{ - "type":"string", - "enum":[ - "ml.m4.xlarge", - "ml.m4.2xlarge", - "ml.m4.4xlarge", - "ml.m4.10xlarge", - "ml.m4.16xlarge", - "ml.c4.xlarge", - "ml.c4.2xlarge", - "ml.c4.4xlarge", - "ml.c4.8xlarge", - "ml.p2.xlarge", - "ml.p2.8xlarge", - "ml.p2.16xlarge", - "ml.p3.2xlarge", - "ml.p3.8xlarge", - "ml.p3.16xlarge", - "ml.c5.xlarge", - "ml.c5.2xlarge", - "ml.c5.4xlarge", - "ml.c5.9xlarge", - "ml.c5.18xlarge", - "ml.m5.large", - "ml.m5.xlarge", - "ml.m5.2xlarge", - "ml.m5.4xlarge", - "ml.m5.12xlarge", - "ml.m5.24xlarge" - ] - }, - "TransformJobArn":{ - "type":"string", - "max":256, - "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:transform-job/.*" - }, - "TransformJobName":{ - "type":"string", - "max":63, - "min":1, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "TransformJobStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Completed", - "Failed", - "Stopping", - "Stopped" - ] - }, - "TransformJobSummaries":{ - "type":"list", - "member":{"shape":"TransformJobSummary"} - }, - "TransformJobSummary":{ - "type":"structure", - "required":[ - "TransformJobName", - "TransformJobArn", - "CreationTime", - "TransformJobStatus" - ], - "members":{ - "TransformJobName":{ - "shape":"TransformJobName", - "documentation":"

The name of the transform job.

" - }, - "TransformJobArn":{ - "shape":"TransformJobArn", - "documentation":"

The Amazon Resource Name (ARN) of the transform job.

" - }, - "CreationTime":{ - "shape":"Timestamp", - "documentation":"

A timestamp that shows when the transform Job was created.

" - }, - "TransformEndTime":{ - "shape":"Timestamp", - "documentation":"

Indicates when the transform job ends on compute instances. For successful jobs and stopped jobs, this is the exact time recorded after the results are uploaded. For failed jobs, this is when Amazon SageMaker detected that the job failed.

" - }, - "LastModifiedTime":{ - "shape":"Timestamp", - "documentation":"

Indicates when the transform job was last modified.

" - }, - "TransformJobStatus":{ - "shape":"TransformJobStatus", - "documentation":"

The status of the transform job.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the transform job failed, the reason it failed.

" - } - }, - "documentation":"

Provides a summary information for a transform job. Multiple TransformJobSummary objects are returned as a list after calling ListTransformJobs.

" - }, - "TransformOutput":{ - "type":"structure", - "required":["S3OutputPath"], - "members":{ - "S3OutputPath":{ - "shape":"S3Uri", - "documentation":"

The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

For every S3 object used as input for the transform job, the transformed data is stored in a corresponding subfolder in the location under the output prefix. For example, the input data s3://bucket-name/input-name-prefix/dataset01/data.csv will have the transformed data stored at s3://bucket-name/key-name-prefix/dataset01/, based on the original name, as a series of .part files (.part0001, part0002, etc).

" - }, - "Accept":{ - "shape":"Accept", - "documentation":"

The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.

" - }, - "AssembleWith":{ - "shape":"AssemblyType", - "documentation":"

Defines how to assemble the results of the transform job as a single S3 object. You should select a format that is most convenient to you. To concatenate the results in binary format, specify None. To add a newline character at the end of every transformed record, specify Line. To assemble the output in RecordIO format, specify RecordIO. The default value is None.

For information about the RecordIO format, see Data Format.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The AWS Key Management Service (AWS KMS) key for Amazon S3 server-side encryption that Amazon SageMaker uses to encrypt the transformed data.

If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

The KMS key policy must grant permission to the IAM role that you specify in your CreateTramsformJob request. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

" - } - }, - "documentation":"

Describes the results of a transform job output.

" - }, - "TransformResources":{ - "type":"structure", - "required":[ - "InstanceType", - "InstanceCount" - ], - "members":{ - "InstanceType":{ - "shape":"TransformInstanceType", - "documentation":"

The ML compute instance type for the transform job. For using built-in algorithms to transform moderately sized datasets, ml.m4.xlarge or ml.m5.large should suffice. There is no default value for InstanceType.

" - }, - "InstanceCount":{ - "shape":"TransformInstanceCount", - "documentation":"

The number of ML compute instances to use in the transform job. For distributed transform, provide a value greater than 1. The default value is 1.

" - }, - "VolumeKmsKeyId":{ - "shape":"KmsKeyId", - "documentation":"

The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the batch transform job.

" - } - }, - "documentation":"

Describes the resources, including ML instance types and ML instance count, to use for transform job.

" - }, - "TransformS3DataSource":{ - "type":"structure", - "required":[ - "S3DataType", - "S3Uri" - ], - "members":{ - "S3DataType":{ - "shape":"S3DataType", - "documentation":"

If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch transform.

" - }, - "S3Uri":{ - "shape":"S3Uri", - "documentation":"

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

  • A key name prefix might look like this: s3://bucketname/exampleprefix.

  • A manifest might look like this: s3://bucketname/example.manifest

    The manifest is an S3 object which is a JSON file with the following format:

    [

    {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

    \"relative/path/to/custdata-1\",

    \"relative/path/custdata-2\",

    ...

    ]

    The preceding JSON matches the following S3Uris:

    s3://customer_bucket/some/prefix/relative/path/to/custdata-1

    s3://customer_bucket/some/prefix/relative/path/custdata-1

    ...

    The complete set of S3Uris in this manifest constitutes the input data for the channel for this datasource. The object that each S3Uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

" - } - }, - "documentation":"

Describes the S3 data source.

" - }, - "UpdateEndpointInput":{ - "type":"structure", - "required":[ - "EndpointName", - "EndpointConfigName" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of the endpoint whose configuration you want to update.

" - }, - "EndpointConfigName":{ - "shape":"EndpointConfigName", - "documentation":"

The name of the new endpoint configuration.

" - } - } - }, - "UpdateEndpointOutput":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"EndpointArn", - "documentation":"

The Amazon Resource Name (ARN) of the endpoint.

" - } - } - }, - "UpdateEndpointWeightsAndCapacitiesInput":{ - "type":"structure", - "required":[ - "EndpointName", - "DesiredWeightsAndCapacities" - ], - "members":{ - "EndpointName":{ - "shape":"EndpointName", - "documentation":"

The name of an existing Amazon SageMaker endpoint.

" - }, - "DesiredWeightsAndCapacities":{ - "shape":"DesiredWeightAndCapacityList", - "documentation":"

An object that provides new capacity and weight values for a variant.

" - } - } - }, - "UpdateEndpointWeightsAndCapacitiesOutput":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"EndpointArn", - "documentation":"

The Amazon Resource Name (ARN) of the updated endpoint.

" - } - } - }, - "UpdateNotebookInstanceInput":{ - "type":"structure", - "required":["NotebookInstanceName"], - "members":{ - "NotebookInstanceName":{ - "shape":"NotebookInstanceName", - "documentation":"

The name of the notebook instance to update.

" - }, - "InstanceType":{ - "shape":"InstanceType", - "documentation":"

The Amazon ML compute instance type.

" - }, - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the notebook instance. For more information, see Amazon SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

" - }, - "LifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see notebook-lifecycle-config.

" - }, - "DisassociateLifecycleConfig":{ - "shape":"DisassociateNotebookInstanceLifecycleConfig", - "documentation":"

Set to true to remove the notebook instance lifecycle configuration currently associated with the notebook instance.

" - } - } - }, - "UpdateNotebookInstanceLifecycleConfigInput":{ - "type":"structure", - "required":["NotebookInstanceLifecycleConfigName"], - "members":{ - "NotebookInstanceLifecycleConfigName":{ - "shape":"NotebookInstanceLifecycleConfigName", - "documentation":"

The name of the lifecycle configuration.

" - }, - "OnCreate":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

The shell script that runs only once, when you create a notebook instance

" - }, - "OnStart":{ - "shape":"NotebookInstanceLifecycleConfigList", - "documentation":"

The shell script that runs every time you start a notebook instance, including when you create the notebook instance.

" - } - } - }, - "UpdateNotebookInstanceLifecycleConfigOutput":{ - "type":"structure", - "members":{ - } - }, - "UpdateNotebookInstanceOutput":{ - "type":"structure", - "members":{ - } - }, - "Url":{ - "type":"string", - "max":1024, - "pattern":"^(https|s3)://([^/]+)/?(.*)$" - }, - "VariantName":{ - "type":"string", - "max":63, - "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" - }, - "VariantWeight":{ - "type":"float", - "min":0 - }, - "VolumeSizeInGB":{ - "type":"integer", - "min":1 - }, - "VpcConfig":{ - "type":"structure", - "required":[ - "SecurityGroupIds", - "Subnets" - ], - "members":{ - "SecurityGroupIds":{ - "shape":"VpcSecurityGroupIds", - "documentation":"

The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

" - }, - "Subnets":{ - "shape":"Subnets", - "documentation":"

The ID of the subnets in the VPC to which you want to connect your training job or model.

" - } - }, - "documentation":"

Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see host-vpc and train-vpc.

" - }, - "VpcSecurityGroupIds":{ - "type":"list", - "member":{"shape":"SecurityGroupId"}, - "max":5, - "min":1 - } - }, - "documentation":"Definition of the public APIs exposed by SageMaker" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/waiters-2.json deleted file mode 100644 index 0fbb61eb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sagemaker/2017-07-24/waiters-2.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "version": 2, - "waiters": { - "NotebookInstanceInService": { - "delay": 30, - "maxAttempts": 60, - "operation": "DescribeNotebookInstance", - "acceptors": [ - { - "expected": "InService", - "matcher": "path", - "state": "success", - "argument": "NotebookInstanceStatus" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "NotebookInstanceStatus" - } - ] - }, - "NotebookInstanceStopped": { - "delay": 30, - "operation": "DescribeNotebookInstance", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "Stopped", - "matcher": "path", - "state": "success", - "argument": "NotebookInstanceStatus" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "NotebookInstanceStatus" - } - ] - }, - "NotebookInstanceDeleted": { - "delay": 30, - "maxAttempts": 60, - "operation": "DescribeNotebookInstance", - "acceptors": [ - { - "expected": "ValidationException", - "matcher": "error", - "state": "success" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "NotebookInstanceStatus" - } - ] - }, - "TrainingJobCompletedOrStopped": { - "delay": 120, - "maxAttempts": 180, - "operation": "DescribeTrainingJob", - "acceptors": [ - { - "expected": "Completed", - "matcher": "path", - "state": "success", - "argument": "TrainingJobStatus" - }, - { - "expected": "Stopped", - "matcher": "path", - "state": "success", - "argument": "TrainingJobStatus" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "TrainingJobStatus" - }, - { - "expected": "ValidationException", - "matcher": "error", - "state": "failure" - } - ] - }, - "EndpointInService": { - "delay": 30, - "maxAttempts": 120, - "operation": "DescribeEndpoint", - "acceptors": [ - { - "expected": "InService", - "matcher": "path", - "state": "success", - "argument": "EndpointStatus" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "EndpointStatus" - }, - { - "expected": "ValidationException", - "matcher": "error", - "state": "failure" - } - ] - }, - "EndpointDeleted": { - "delay": 30, - "maxAttempts": 60, - "operation": "DescribeEndpoint", - "acceptors": [ - { - "expected": "ValidationException", - "matcher": "error", - "state": "success" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "EndpointStatus" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/paginators-1.json deleted file mode 100644 index 23620988..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/paginators-1.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "pagination": { - "ListDomains": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxNumberOfDomains", - "result_key": "DomainNames" - }, - "Select": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Items" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/service-2.json deleted file mode 100644 index 1f243edc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sdb/2009-04-15/service-2.json +++ /dev/null @@ -1,1180 +0,0 @@ -{ - "metadata":{ - "uid":"sdb-2009-04-15", - "apiVersion":"2009-04-15", - "endpointPrefix":"sdb", - "serviceFullName":"Amazon SimpleDB", - "serviceId":"SimpleDB", - "signatureVersion":"v2", - "xmlNamespace":"http://sdb.amazonaws.com/doc/2009-04-15/", - "protocol":"query" - }, - "documentation":"Amazon SimpleDB is a web service providing the core database functions of data indexing and querying in the cloud. By offloading the time and effort associated with building and operating a web-scale database, SimpleDB provides developers the freedom to focus on application development.

A traditional, clustered relational database requires a sizable upfront capital outlay, is complex to design, and often requires extensive and repetitive database administration. Amazon SimpleDB is dramatically simpler, requiring no schema, automatically indexing your data and providing a simple API for storage and access. This approach eliminates the administrative burden of data modeling, index maintenance, and performance tuning. Developers gain access to this functionality within Amazon's proven computing environment, are able to scale instantly, and pay only for what they use.

Visit http://aws.amazon.com/simpledb/ for more information.

", - "operations":{ - "BatchDeleteAttributes":{ - "name":"BatchDeleteAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchDeleteAttributesRequest"}, - "documentation":"

Performs multiple DeleteAttributes operations in a single call, which reduces round trips and latencies. This enables Amazon SimpleDB to optimize requests, which generally yields better throughput.

The following limitations are enforced for this operation:

  • 1 MB request size
  • 25 item limit per BatchDeleteAttributes operation

" - }, - "BatchPutAttributes":{ - "name":"BatchPutAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"BatchPutAttributesRequest"}, - "errors":[ - { - "shape":"DuplicateItemName", - "error":{ - "code":"DuplicateItemName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The item name was specified more than once.

" - }, - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - }, - { - "shape":"NumberItemAttributesExceeded", - "error":{ - "code":"NumberItemAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this item.

" - }, - { - "shape":"NumberDomainAttributesExceeded", - "error":{ - "code":"NumberDomainAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this domain.

" - }, - { - "shape":"NumberDomainBytesExceeded", - "error":{ - "code":"NumberDomainBytesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many bytes in this domain.

" - }, - { - "shape":"NumberSubmittedItemsExceeded", - "error":{ - "code":"NumberSubmittedItemsExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many items exist in a single call.

" - }, - { - "shape":"NumberSubmittedAttributesExceeded", - "error":{ - "code":"NumberSubmittedAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes exist in a single call.

" - } - ], - "documentation":"

The BatchPutAttributes operation creates or replaces attributes within one or more items. By using this operation, the client can perform multiple PutAttribute operation with a single call. This helps yield savings in round trips and latencies, enabling Amazon SimpleDB to optimize requests and generally produce better throughput.

The client may specify the item name with the Item.X.ItemName parameter. The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value parameters. The client may specify the first attribute for the first item using the parameters Item.0.Attribute.0.Name and Item.0.Attribute.0.Value, and for the second attribute for the first item by the parameters Item.0.Attribute.1.Name and Item.0.Attribute.1.Value, and so on.

Attributes are uniquely identified within an item by their name/value combination. For example, a single item can have the attributes { \"first_name\", \"first_value\" } and { \"first_name\", \"second_value\" }. However, it cannot have two attribute instances where both the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value are the same.

Optionally, the requester can supply the Replace parameter for each individual value. Setting this value to true will cause the new attribute values to replace the existing attribute values. For example, if an item I has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requester does a BatchPutAttributes of {'I', 'b', '4' } with the Replace parameter set to true, the final attributes of the item will be { 'a', '1' } and { 'b', '4' }, replacing the previous values of the 'b' attribute with the new value.

This operation is vulnerable to exceeding the maximum URL size when making a REST request using the HTTP GET method. This operation does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists.

You can execute multiple BatchPutAttributes operations and other operations in parallel. However, large numbers of concurrent BatchPutAttributes calls can result in Service Unavailable (503) responses.

The following limitations are enforced for this operation:

  • 256 attribute name-value pairs per item
  • 1 MB request size
  • 1 billion attributes per domain
  • 10 GB of total user data storage per domain
  • 25 item limit per BatchPutAttributes operation

" - }, - "CreateDomain":{ - "name":"CreateDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDomainRequest"}, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NumberDomainsExceeded", - "error":{ - "code":"NumberDomainsExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many domains exist per this account.

" - } - ], - "documentation":"

The CreateDomain operation creates a new domain. The domain name should be unique among the domains associated with the Access Key ID provided in the request. The CreateDomain operation may take 10 or more seconds to complete.

The client can create up to 100 domains per account.

If the client requires additional domains, go to http://aws.amazon.com/contact-us/simpledb-limit-request/.

" - }, - "DeleteAttributes":{ - "name":"DeleteAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAttributesRequest"}, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - }, - { - "shape":"AttributeDoesNotExist", - "error":{ - "code":"AttributeDoesNotExist", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified attribute does not exist.

" - } - ], - "documentation":"

Deletes one or more attributes associated with an item. If all attributes of the item are deleted, the item is deleted.

DeleteAttributes is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

Because Amazon SimpleDB makes multiple copies of item data and uses an eventual consistency update model, performing a GetAttributes or Select operation (read) immediately after a DeleteAttributes or PutAttributes operation (write) might not return updated item data.

" - }, - "DeleteDomain":{ - "name":"DeleteDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDomainRequest"}, - "errors":[ - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - } - ], - "documentation":"

The DeleteDomain operation deletes a domain. Any items (and their attributes) in the domain are deleted as well. The DeleteDomain operation might take 10 or more seconds to complete.

" - }, - "DomainMetadata":{ - "name":"DomainMetadata", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DomainMetadataRequest"}, - "output":{ - "shape":"DomainMetadataResult", - "resultWrapper":"DomainMetadataResult" - }, - "errors":[ - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - } - ], - "documentation":"

Returns information about the domain, including when the domain was created, the number of items and attributes in the domain, and the size of the attribute names and values.

" - }, - "GetAttributes":{ - "name":"GetAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAttributesRequest"}, - "output":{ - "shape":"GetAttributesResult", - "resultWrapper":"GetAttributesResult" - }, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - } - ], - "documentation":"

Returns all of the attributes associated with the specified item. Optionally, the attributes returned can be limited to one or more attributes by specifying an attribute name parameter.

If the item does not exist on the replica that was accessed for this operation, an empty set is returned. The system does not return an error as it cannot guarantee the item does not exist on other replicas.

" - }, - "ListDomains":{ - "name":"ListDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDomainsRequest"}, - "output":{ - "shape":"ListDomainsResult", - "resultWrapper":"ListDomainsResult" - }, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidNextToken", - "error":{ - "code":"InvalidNextToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified NextToken is not valid.

" - } - ], - "documentation":"

The ListDomains operation lists all domains associated with the Access Key ID. It returns domain names up to the limit set by MaxNumberOfDomains. A NextToken is returned if there are more than MaxNumberOfDomains domains. Calling ListDomains successive times with the NextToken provided by the operation returns up to MaxNumberOfDomains more domain names with each successive operation call.

" - }, - "PutAttributes":{ - "name":"PutAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutAttributesRequest"}, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - }, - { - "shape":"NumberDomainAttributesExceeded", - "error":{ - "code":"NumberDomainAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this domain.

" - }, - { - "shape":"NumberDomainBytesExceeded", - "error":{ - "code":"NumberDomainBytesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many bytes in this domain.

" - }, - { - "shape":"NumberItemAttributesExceeded", - "error":{ - "code":"NumberItemAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this item.

" - }, - { - "shape":"AttributeDoesNotExist", - "error":{ - "code":"AttributeDoesNotExist", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified attribute does not exist.

" - } - ], - "documentation":"

The PutAttributes operation creates or replaces attributes in an item. The client may specify new attributes using a combination of the Attribute.X.Name and Attribute.X.Value parameters. The client specifies the first attribute by the parameters Attribute.0.Name and Attribute.0.Value, the second attribute by the parameters Attribute.1.Name and Attribute.1.Value, and so on.

Attributes are uniquely identified in an item by their name/value combination. For example, a single item can have the attributes { \"first_name\", \"first_value\" } and { \"first_name\", second_value\" }. However, it cannot have two attribute instances where both the Attribute.X.Name and Attribute.X.Value are the same.

Optionally, the requestor can supply the Replace parameter for each individual attribute. Setting this value to true causes the new attribute value to replace the existing attribute value(s). For example, if an item has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requestor calls PutAttributes using the attributes { 'b', '4' } with the Replace parameter set to true, the final attributes of the item are changed to { 'a', '1' } and { 'b', '4' }, which replaces the previous values of the 'b' attribute with the new value.

You cannot specify an empty string as an attribute name.

Because Amazon SimpleDB makes multiple copies of client data and uses an eventual consistency update model, an immediate GetAttributes or Select operation (read) immediately after a PutAttributes or DeleteAttributes operation (write) might not return the updated data.

The following limitations are enforced for this operation:

  • 256 total attribute name-value pairs per item
  • One billion attributes per domain
  • 10 GB of total user data storage per domain

" - }, - "Select":{ - "name":"Select", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SelectRequest"}, - "output":{ - "shape":"SelectResult", - "resultWrapper":"SelectResult" - }, - "errors":[ - { - "shape":"InvalidParameterValue", - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - { - "shape":"InvalidNextToken", - "error":{ - "code":"InvalidNextToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified NextToken is not valid.

" - }, - { - "shape":"InvalidNumberPredicates", - "error":{ - "code":"InvalidNumberPredicates", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many predicates exist in the query expression.

" - }, - { - "shape":"InvalidNumberValueTests", - "error":{ - "code":"InvalidNumberValueTests", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many predicates exist in the query expression.

" - }, - { - "shape":"InvalidQueryExpression", - "error":{ - "code":"InvalidQueryExpression", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified query expression syntax is not valid.

" - }, - { - "shape":"MissingParameter", - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - { - "shape":"NoSuchDomain", - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - }, - { - "shape":"RequestTimeout", - "error":{ - "code":"RequestTimeout", - "httpStatusCode":408, - "senderFault":true - }, - "exception":true, - "documentation":"

A timeout occurred when attempting to query the specified domain with specified query expression.

" - }, - { - "shape":"TooManyRequestedAttributes", - "error":{ - "code":"TooManyRequestedAttributes", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes requested.

" - } - ], - "documentation":"

The Select operation returns a set of attributes for ItemNames that match the select expression. Select is similar to the standard SQL SELECT statement.

The total size of the response cannot exceed 1 MB in total size. Amazon SimpleDB automatically adjusts the number of items returned per page to enforce this limit. For example, if the client asks to retrieve 2500 items, but each individual item is 10 kB in size, the system returns 100 items and an appropriate NextToken so the client can access the next page of results.

For information on how to construct select expressions, see Using Select to Create Amazon SimpleDB Queries in the Developer Guide.

" - } - }, - "shapes":{ - "Attribute":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"The name of the attribute." - }, - "AlternateNameEncoding":{ - "shape":"String", - "documentation":"

" - }, - "Value":{ - "shape":"String", - "documentation":"The value of the attribute." - }, - "AlternateValueEncoding":{ - "shape":"String", - "documentation":"

" - } - }, - "documentation":"

" - }, - "AttributeDoesNotExist":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"AttributeDoesNotExist", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified attribute does not exist.

" - }, - "AttributeList":{ - "type":"list", - "member":{ - "shape":"Attribute", - "locationName":"Attribute" - }, - "flattened":true - }, - "AttributeNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AttributeName" - }, - "flattened":true - }, - "BatchDeleteAttributesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Items" - ], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain in which the attributes are being deleted." - }, - "Items":{ - "shape":"DeletableItemList", - "documentation":"A list of items on which to perform the operation." - } - } - }, - "BatchPutAttributesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "Items" - ], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain in which the attributes are being stored." - }, - "Items":{ - "shape":"ReplaceableItemList", - "documentation":"A list of items on which to perform the operation." - } - } - }, - "Boolean":{"type":"boolean"}, - "CreateDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'." - } - } - }, - "DeletableItem":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"String", - "locationName":"ItemName" - }, - "Attributes":{"shape":"AttributeList"} - } - }, - "DeletableItemList":{ - "type":"list", - "member":{ - "shape":"DeletableItem", - "locationName":"Item" - }, - "flattened":true - }, - "DeleteAttributesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "ItemName" - ], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain in which to perform the operation." - }, - "ItemName":{ - "shape":"String", - "documentation":"The name of the item. Similar to rows on a spreadsheet, items represent individual objects that contain one or more value-attribute pairs." - }, - "Attributes":{ - "shape":"AttributeList", - "documentation":"A list of Attributes. Similar to columns on a spreadsheet, attributes represent categories of data that can be assigned to items." - }, - "Expected":{ - "shape":"UpdateCondition", - "documentation":"The update condition which, if specified, determines whether the specified attributes will be deleted or not. The update condition must be satisfied in order for this request to be processed and the attributes to be deleted." - } - } - }, - "DeleteDomainRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain to delete." - } - } - }, - "DomainMetadataRequest":{ - "type":"structure", - "required":["DomainName"], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain for which to display the metadata of." - } - } - }, - "DomainMetadataResult":{ - "type":"structure", - "members":{ - "ItemCount":{ - "shape":"Integer", - "documentation":"The number of all items in the domain." - }, - "ItemNamesSizeBytes":{ - "shape":"Long", - "documentation":"The total size of all item names in the domain, in bytes." - }, - "AttributeNameCount":{ - "shape":"Integer", - "documentation":"The number of unique attribute names in the domain." - }, - "AttributeNamesSizeBytes":{ - "shape":"Long", - "documentation":"The total size of all unique attribute names in the domain, in bytes." - }, - "AttributeValueCount":{ - "shape":"Integer", - "documentation":"The number of all attribute name/value pairs in the domain." - }, - "AttributeValuesSizeBytes":{ - "shape":"Long", - "documentation":"The total size of all attribute values in the domain, in bytes." - }, - "Timestamp":{ - "shape":"Integer", - "documentation":"The data and time when metadata was calculated, in Epoch (UNIX) seconds." - } - } - }, - "DomainNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"DomainName" - }, - "flattened":true - }, - "DuplicateItemName":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"DuplicateItemName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The item name was specified more than once.

" - }, - "Float":{"type":"float"}, - "GetAttributesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "ItemName" - ], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain in which to perform the operation." - }, - "ItemName":{ - "shape":"String", - "documentation":"The name of the item." - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"The names of the attributes." - }, - "ConsistentRead":{ - "shape":"Boolean", - "documentation":"Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If true, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read." - } - } - }, - "GetAttributesResult":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"AttributeList", - "documentation":"The list of attributes returned by the operation." - } - } - }, - "Integer":{"type":"integer"}, - "InvalidNextToken":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"InvalidNextToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified NextToken is not valid.

" - }, - "InvalidNumberPredicates":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"InvalidNumberPredicates", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many predicates exist in the query expression.

" - }, - "InvalidNumberValueTests":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"InvalidNumberValueTests", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many predicates exist in the query expression.

" - }, - "InvalidParameterValue":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"InvalidParameterValue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The value for a parameter is invalid.

" - }, - "InvalidQueryExpression":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"InvalidQueryExpression", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified query expression syntax is not valid.

" - }, - "Item":{ - "type":"structure", - "required":[ - "Name", - "Attributes" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"The name of the item." - }, - "AlternateNameEncoding":{ - "shape":"String", - "documentation":"

" - }, - "Attributes":{ - "shape":"AttributeList", - "documentation":"A list of attributes." - } - }, - "documentation":"

" - }, - "ItemList":{ - "type":"list", - "member":{ - "shape":"Item", - "locationName":"Item" - }, - "flattened":true - }, - "ListDomainsRequest":{ - "type":"structure", - "members":{ - "MaxNumberOfDomains":{ - "shape":"Integer", - "documentation":"The maximum number of domain names you want returned. The range is 1 to 100. The default setting is 100." - }, - "NextToken":{ - "shape":"String", - "documentation":"A string informing Amazon SimpleDB where to start the next list of domain names." - } - } - }, - "ListDomainsResult":{ - "type":"structure", - "members":{ - "DomainNames":{ - "shape":"DomainNameList", - "documentation":"A list of domain names that match the expression." - }, - "NextToken":{ - "shape":"String", - "documentation":"An opaque token indicating that there are more domains than the specified MaxNumberOfDomains still available." - } - } - }, - "Long":{"type":"long"}, - "MissingParameter":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"MissingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The request must contain the specified missing parameter.

" - }, - "NoSuchDomain":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NoSuchDomain", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

The specified domain does not exist.

" - }, - "NumberDomainAttributesExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberDomainAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this domain.

" - }, - "NumberDomainBytesExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberDomainBytesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many bytes in this domain.

" - }, - "NumberDomainsExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberDomainsExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many domains exist per this account.

" - }, - "NumberItemAttributesExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberItemAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes in this item.

" - }, - "NumberSubmittedAttributesExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberSubmittedAttributesExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes exist in a single call.

" - }, - "NumberSubmittedItemsExceeded":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"NumberSubmittedItemsExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many items exist in a single call.

" - }, - "PutAttributesRequest":{ - "type":"structure", - "required":[ - "DomainName", - "ItemName", - "Attributes" - ], - "members":{ - "DomainName":{ - "shape":"String", - "documentation":"The name of the domain in which to perform the operation." - }, - "ItemName":{ - "shape":"String", - "documentation":"The name of the item." - }, - "Attributes":{ - "shape":"ReplaceableAttributeList", - "documentation":"The list of attributes." - }, - "Expected":{ - "shape":"UpdateCondition", - "documentation":"The update condition which, if specified, determines whether the specified attributes will be updated or not. The update condition must be satisfied in order for this request to be processed and the attributes to be updated." - } - } - }, - "ReplaceableAttribute":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"The name of the replaceable attribute." - }, - "Value":{ - "shape":"String", - "documentation":"The value of the replaceable attribute." - }, - "Replace":{ - "shape":"Boolean", - "documentation":"A flag specifying whether or not to replace the attribute/value pair or to add a new attribute/value pair. The default setting is false." - } - }, - "documentation":"

" - }, - "ReplaceableAttributeList":{ - "type":"list", - "member":{ - "shape":"ReplaceableAttribute", - "locationName":"Attribute" - }, - "flattened":true - }, - "ReplaceableItem":{ - "type":"structure", - "required":[ - "Name", - "Attributes" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"The name of the replaceable item.", - "locationName":"ItemName" - }, - "Attributes":{ - "shape":"ReplaceableAttributeList", - "documentation":"The list of attributes for a replaceable item." - } - }, - "documentation":"

" - }, - "ReplaceableItemList":{ - "type":"list", - "member":{ - "shape":"ReplaceableItem", - "locationName":"Item" - }, - "flattened":true - }, - "RequestTimeout":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"RequestTimeout", - "httpStatusCode":408, - "senderFault":true - }, - "exception":true, - "documentation":"

A timeout occurred when attempting to query the specified domain with specified query expression.

" - }, - "SelectRequest":{ - "type":"structure", - "required":["SelectExpression"], - "members":{ - "SelectExpression":{ - "shape":"String", - "documentation":"The expression used to query the domain." - }, - "NextToken":{ - "shape":"String", - "documentation":"A string informing Amazon SimpleDB where to start the next list of ItemNames." - }, - "ConsistentRead":{ - "shape":"Boolean", - "documentation":"Determines whether or not strong consistency should be enforced when data is read from SimpleDB. If true, any data previously written to SimpleDB will be returned. Otherwise, results will be consistent eventually, and the client may not see data that was written immediately before your read." - } - } - }, - "SelectResult":{ - "type":"structure", - "members":{ - "Items":{ - "shape":"ItemList", - "documentation":"A list of items that match the select expression." - }, - "NextToken":{ - "shape":"String", - "documentation":"An opaque token indicating that more items than MaxNumberOfItems were matched, the response size exceeded 1 megabyte, or the execution time exceeded 5 seconds." - } - } - }, - "String":{"type":"string"}, - "TooManyRequestedAttributes":{ - "type":"structure", - "members":{ - "BoxUsage":{"shape":"Float"} - }, - "error":{ - "code":"TooManyRequestedAttributes", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true, - "documentation":"

Too many attributes requested.

" - }, - "UpdateCondition":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the attribute involved in the condition.

" - }, - "Value":{ - "shape":"String", - "documentation":"

The value of an attribute. This value can only be specified when the Exists parameter is equal to true.

" - }, - "Exists":{ - "shape":"Boolean", - "documentation":"

A value specifying whether or not the specified attribute must exist with the specified value in order for the update condition to be satisfied. Specify true if the attribute must exist for the update condition to be satisfied. Specify false if the attribute should not exist in order for the update condition to be satisfied.

" - } - }, - "documentation":"

Specifies the conditions under which data should be updated. If an update condition is specified for a request, the data will only be updated if the condition is satisfied. For example, if an attribute with a specific name and value exists, or if a specific attribute doesn't exist.

" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/service-2.json deleted file mode 100644 index 811dc915..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/secretsmanager/2017-10-17/service-2.json +++ /dev/null @@ -1,1344 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-17", - "endpointPrefix":"secretsmanager", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Secrets Manager", - "serviceId":"Secrets Manager", - "signatureVersion":"v4", - "signingName":"secretsmanager", - "targetPrefix":"secretsmanager", - "uid":"secretsmanager-2017-10-17" - }, - "operations":{ - "CancelRotateSecret":{ - "name":"CancelRotateSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelRotateSecretRequest"}, - "output":{"shape":"CancelRotateSecretResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress.

To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays set to a value greater than 0. This will immediately rotate your secret and then enable the automatic schedule.

If you cancel a rotation that is in progress, it can leave the VersionStage labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING from the partially created version, specified by the VersionId response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage field.

To successfully start a rotation, the staging label AWSPENDING must be in one of the following states:

  • Not be attached to any version at all

  • Attached to the same version as the staging label AWSCURRENT

If the staging label AWSPENDING is attached to a different version than the version with AWSCURRENT then the attempt to rotate fails.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:CancelRotateSecret

Related operations

  • To configure rotation for a secret or to manually trigger a rotation, use RotateSecret.

  • To get the rotation configuration details for a secret, use DescribeSecret.

  • To list all of the currently available secrets, use ListSecrets.

  • To list all of the versions currently associated with a secret, use ListSecretVersionIds.

" - }, - "CreateSecret":{ - "name":"CreateSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSecretRequest"}, - "output":{"shape":"CreateSecretResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"EncryptionFailure"}, - {"shape":"ResourceExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"InternalServiceError"}, - {"shape":"PreconditionNotMetException"} - ], - "documentation":"

Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.

Secrets Manager stores the encrypted secret data in one of a collection of \"versions\" associated with the secret. Each version contains a copy of the encrypted secret data. Each version is associated with one or more \"staging labels\" that identify where the version is in the rotation cycle. The SecretVersionsToStages field of the secret contains the mapping of staging labels to the active versions of the secret. Versions without a staging label are considered deprecated and are not included in the list.

You provide the secret data to be encrypted by putting text in either the SecretString parameter or binary data in the SecretBinary parameter, but not both. If you include SecretString or SecretBinary then Secrets Manager also creates an initial secret version and automatically attaches the staging label AWSCURRENT to the new version.

  • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

  • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:CreateSecret

  • kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

  • kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

Related operations

  • To delete a secret, use DeleteSecret.

  • To modify an existing secret, use UpdateSecret.

  • To create a new version of a secret, use PutSecretValue.

  • To retrieve the encrypted secure string and secure binary values, use GetSecretValue.

  • To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure string and secure binary values.

  • To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine the SecretVersionsToStages response value.

" - }, - "DeleteResourcePolicy":{ - "name":"DeleteResourcePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteResourcePolicyRequest"}, - "output":{"shape":"DeleteResourcePolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Deletes the resource-based permission policy that's attached to the secret.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:DeleteResourcePolicy

Related operations

  • To attach a resource policy to a secret, use PutResourcePolicy.

  • To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy.

  • To list all of the currently available secrets, use ListSecrets.

" - }, - "DeleteSecret":{ - "name":"DeleteSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSecretRequest"}, - "output":{"shape":"DeleteSecretResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you can restore the secret. If you don't specify a recovery window value, the operation defaults to 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.

At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate and cancel the deletion of the secret.

You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to access that information, you must cancel the deletion with RestoreSecret and then retrieve the information.

  • There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the VersionStage field of a version. That marks the version as deprecated and allows Secrets Manager to delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds unless you specify IncludeDeprecated.

  • The permanent secret deletion at the end of the waiting period is performed as a background task with low priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to occur.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:DeleteSecret

Related operations

  • To create a secret, use CreateSecret.

  • To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret.

" - }, - "DescribeSecret":{ - "name":"DescribeSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSecretRequest"}, - "output":{"shape":"DescribeSecretResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated with a value are returned in the response.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:DescribeSecret

Related operations

" - }, - "GetRandomPassword":{ - "name":"GetRandomPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRandomPasswordRequest"}, - "output":{"shape":"GetRandomPasswordResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Generates a random password of the specified complexity. This operation is intended for use in the Lambda rotation function. Per best practice, we recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:GetRandomPassword

" - }, - "GetResourcePolicy":{ - "name":"GetResourcePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetResourcePolicyRequest"}, - "output":{"shape":"GetResourcePolicyResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON request string input and response output are shown formatted with white space and line breaks for better readability. Submit your input as a single line JSON string.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:GetResourcePolicy

Related operations

" - }, - "GetSecretValue":{ - "name":"GetSecretValue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSecretValueRequest"}, - "output":{"shape":"GetSecretValueResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"DecryptionFailure"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:GetSecretValue

  • kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

Related operations

  • To create a new version of the secret with different encrypted information, use PutSecretValue.

  • To retrieve the non-encrypted details for the secret, use DescribeSecret.

" - }, - "ListSecretVersionIds":{ - "name":"ListSecretVersionIds", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSecretVersionIdsRequest"}, - "output":{"shape":"ListSecretVersionIdsResponse"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Lists all of the versions attached to the specified secret. The output does not include the SecretString or SecretBinary fields. By default, the list includes only versions that have at least one staging label in VersionStage attached.

Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:ListSecretVersionIds

Related operations

" - }, - "ListSecrets":{ - "name":"ListSecrets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSecretsRequest"}, - "output":{"shape":"ListSecretsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString and SecretBinary are not included in the output. To get that information, call the GetSecretValue operation.

Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:ListSecrets

Related operations

" - }, - "PutResourcePolicy":{ - "name":"PutResourcePolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutResourcePolicyRequest"}, - "output":{"shape":"PutResourcePolicyResponse"}, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:PutResourcePolicy

Related operations

  • To retrieve the resource policy that's attached to a secret, use GetResourcePolicy.

  • To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy.

  • To list all of the currently available secrets, use ListSecrets.

" - }, - "PutSecretValue":{ - "name":"PutSecretValue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutSecretValueRequest"}, - "output":{"shape":"PutSecretValueResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"EncryptionFailure"}, - {"shape":"ResourceExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and attaches it to the secret. The version can contain a new SecretString value or a new SecretBinary value. You can also specify the staging labels that are initially attached to the new version.

The Secrets Manager console uses only the SecretString field. To add binary data to a secret with the SecretBinary field you must use the AWS CLI or one of the AWS SDKs.

  • If this operation creates the first version for the secret then Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

  • If another version of this secret already exists, then this operation does not automatically move any staging labels other than those that you explicitly specify in the VersionStages parameter.

  • If this operation moves the staging label AWSCURRENT from another version to this version (because you included it in the StagingLabels parameter) then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from.

  • This operation is idempotent. If a version with a VersionId with the same value as the ClientRequestToken parameter already exists and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you cannot modify an existing version; you can only create new ones.

  • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

  • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:PutSecretValue

  • kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

Related operations

" - }, - "RestoreSecret":{ - "name":"RestoreSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RestoreSecretRequest"}, - "output":{"shape":"RestoreSecretResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. This makes the secret accessible to query once again.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:RestoreSecret

Related operations

" - }, - "RotateSecret":{ - "name":"RotateSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RotateSecretRequest"}, - "output":{"shape":"RotateSecretResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalServiceError"}, - {"shape":"InvalidRequestException"} - ], - "documentation":"

Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.

This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.

Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

The rotation function must end with the versions of the secret in one of two states:

  • The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the secret, or

  • The AWSPENDING staging label is not attached to any version of the secret.

If instead the AWSPENDING staging label is present but is not attached to the same version as AWSCURRENT then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:RotateSecret

  • lambda:InvokeFunction (on the function specified in the secret's metadata)

Related operations

" - }, - "TagResource":{ - "name":"TagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagResourceRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of the secret's overall metadata, and are not associated with any specific version of the secret. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

The following basic restrictions apply to tags:

  • Maximum number of tags per secret—50

  • Maximum key length—127 Unicode characters in UTF-8

  • Maximum value length—255 Unicode characters in UTF-8

  • Tag keys and values are case sensitive.

  • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

  • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:TagResource

Related operations

  • To remove one or more tags from the collection attached to a secret, use UntagResource.

  • To view the list of tags attached to a secret, use DescribeSecret.

" - }, - "UntagResource":{ - "name":"UntagResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagResourceRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Removes one or more tags from the specified secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:UntagResource

Related operations

  • To add one or more tags to the collection attached to a secret, use TagResource.

  • To view the list of tags attached to a secret, use DescribeSecret.

" - }, - "UpdateSecret":{ - "name":"UpdateSecret", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSecretRequest"}, - "output":{"shape":"UpdateSecretResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"EncryptionFailure"}, - {"shape":"ResourceExistsException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"InternalServiceError"}, - {"shape":"PreconditionNotMetException"} - ], - "documentation":"

Modifies many of the details of the specified secret. If you include a ClientRequestToken and either SecretString or SecretBinary then it also creates a new version attached to the secret.

To modify the rotation configuration of a secret, use RotateSecret instead.

The Secrets Manager console uses only the SecretString parameter and therefore limits you to encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, you must use either the AWS CLI or one of the AWS SDKs.

  • If a version with a VersionId with the same value as the ClientRequestToken parameter already exists, the operation results in an error. You cannot modify an existing version, you can only create a new version.

  • If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

  • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

  • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:UpdateSecret

  • kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.

  • kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.

Related operations

" - }, - "UpdateSecretVersionStage":{ - "name":"UpdateSecretVersionStage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSecretVersionStageRequest"}, - "output":{"shape":"UpdateSecretVersionStageResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalServiceError"} - ], - "documentation":"

Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels--they don't replace it.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Minimum permissions

To run this command, you must have the following permissions:

  • secretsmanager:UpdateSecretVersionStage

Related operations

  • To get the list of staging labels that are currently associated with a version of a secret, use DescribeSecret and examine the SecretVersionsToStages response value.

" - } - }, - "shapes":{ - "AutomaticallyRotateAfterDaysType":{ - "type":"long", - "max":1000, - "min":1 - }, - "BooleanType":{"type":"boolean"}, - "CancelRotateSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret for which you want to cancel a rotation request. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - } - } - }, - "CancelRotateSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret for which rotation was canceled.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret for which rotation was canceled.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The unique identifier of the version of the secret that was created during the rotation. This version might not be complete, and should be evaluated for possible deletion. At the very least, you should remove the VersionStage value AWSPENDING to enable this version to be deleted. Failing to clean up a cancelled rotation can block you from successfully starting future rotations.

" - } - } - }, - "ClientRequestTokenType":{ - "type":"string", - "max":64, - "min":32 - }, - "CreateSecretRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NameType", - "documentation":"

Specifies the friendly name of the new secret.

The secret name must be ASCII letters, digits, or the following characters : /_+=.@-

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenType", - "documentation":"

(Optional) If you include SecretString or SecretBinary, then an initial version is created as part of the secret, and this parameter specifies a unique identifier for the new version.

If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for the new version and include that value in the request.

This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret.

  • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

  • If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request, then the request is ignored (the operation is idempotent).

  • If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing version. Instead, use PutSecretValue to create a new version.

This value becomes the VersionId of the new version.

", - "idempotencyToken":true - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

(Optional) Specifies a user-provided description of the secret.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyIdType", - "documentation":"

(Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to be used to encrypt the SecretString or SecretBinary values in the versions stored in this secret.

You can specify any of the supported ways to identify a AWS KMS key ID. If you need to reference a CMK in a different account, you can use only the key ARN or the alias ARN.

If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't yet exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's SecretString or SecretBinary fields.

You can use the account's default CMK to encrypt and decrypt only if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and specify the ARN in this field.

" - }, - "SecretBinary":{ - "shape":"SecretBinaryType", - "documentation":"

(Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter.

Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

This parameter is not available using the Secrets Manager console. It can be accessed only by using the AWS CLI or one of the AWS SDKs.

" - }, - "SecretString":{ - "shape":"SecretStringType", - "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret.

Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" - }, - "Tags":{ - "shape":"TagListType", - "documentation":"

(Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

  • Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".

  • If you check tags in IAM policy Condition elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied error.

This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

The following basic restrictions apply to tags:

  • Maximum number of tags per secret—50

  • Maximum key length—127 Unicode characters in UTF-8

  • Maximum value length—255 Unicode characters in UTF-8

  • Tag keys and values are case sensitive.

  • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

  • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

" - } - } - }, - "CreateSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The Amazon Resource Name (ARN) of the secret that you just created.

Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret that you just created.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The unique identifier that's associated with the version of the secret you just created.

" - } - } - }, - "CreatedDateType":{"type":"timestamp"}, - "DecryptionFailure":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Secrets Manager can't decrypt the protected secret text using the provided KMS key.

", - "exception":true - }, - "DeleteResourcePolicyRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to delete the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - } - } - }, - "DeleteResourcePolicyResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that the resource-based policy was deleted for.

" - }, - "Name":{ - "shape":"NameType", - "documentation":"

The friendly name of the secret that the resource-based policy was deleted for.

" - } - } - }, - "DeleteSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "RecoveryWindowInDays":{ - "shape":"RecoveryWindowInDaysType", - "documentation":"

(Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in the same API call.

This value can range from 7 to 30 days. The default value is 30.

", - "box":true - }, - "ForceDeleteWithoutRecovery":{ - "shape":"BooleanType", - "documentation":"

(Optional) Specifies that the secret is to be deleted without any recovery window. You can't use both this parameter and the RecoveryWindowInDays parameter in the same API call.

An asynchronous background process performs the actual deletion, so there can be a short delay before the operation completes. If you write code to delete and then immediately recreate a secret with the same name, ensure that your code includes appropriate back off and retry logic.

Use this parameter with caution. This parameter causes the operation to skip the normal waiting period before the permanent deletion that AWS would normally impose with the RecoveryWindowInDays parameter. If you delete a secret with the ForceDeleteWithouRecovery parameter, then you have no opportunity to recover the secret. It is permanently lost.

", - "box":true - } - } - }, - "DeleteSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that is now scheduled for deletion.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret that is now scheduled for deletion.

" - }, - "DeletionDate":{ - "shape":"DeletionDateType", - "documentation":"

The date and time after which this secret can be deleted by Secrets Manager and can no longer be restored. This value is the date and time of the delete request plus the number of days specified in RecoveryWindowInDays.

", - "box":true - } - } - }, - "DeletedDateType":{"type":"timestamp"}, - "DeletionDateType":{"type":"timestamp"}, - "DescribeSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

The identifier of the secret whose details you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - } - } - }, - "DescribeSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The user-provided friendly name of the secret.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

The user-provided description of the secret.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyIdType", - "documentation":"

The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString or SecretBinary fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default AWS KMS CMK (the one named awssecretsmanager) for this account.

" - }, - "RotationEnabled":{ - "shape":"RotationEnabledType", - "documentation":"

Specifies whether automatic rotation is enabled for this secret.

To enable rotation, use RotateSecret with AutomaticallyRotateAfterDays set to a value greater than 0. To disable rotation, use CancelRotateSecret.

", - "box":true - }, - "RotationLambdaARN":{ - "shape":"RotationLambdaARNType", - "documentation":"

The ARN of a Lambda function that's invoked by Secrets Manager to rotate the secret either automatically per the schedule or manually by a call to RotateSecret.

" - }, - "RotationRules":{ - "shape":"RotationRulesType", - "documentation":"

A structure that contains the rotation configuration for this secret.

" - }, - "LastRotatedDate":{ - "shape":"LastRotatedDateType", - "documentation":"

The most recent date and time that the Secrets Manager rotation process was successfully completed. This value is null if the secret has never rotated.

", - "box":true - }, - "LastChangedDate":{ - "shape":"LastChangedDateType", - "documentation":"

The last date and time that this secret was modified in any way.

", - "box":true - }, - "LastAccessedDate":{ - "shape":"LastAccessedDateType", - "documentation":"

The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.

", - "box":true - }, - "DeletedDate":{ - "shape":"DeletedDateType", - "documentation":"

This value exists if the secret is scheduled for deletion. Some time after the specified date and time, Secrets Manager deletes the secret and all of its versions.

If a secret is scheduled for deletion, then its details, including the encrypted secret information, is not accessible. To cancel a scheduled deletion and restore access, use RestoreSecret.

", - "box":true - }, - "Tags":{ - "shape":"TagListType", - "documentation":"

The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.

" - }, - "VersionIdsToStages":{ - "shape":"SecretVersionsToStagesMapType", - "documentation":"

A list of all of the currently assigned VersionStage staging labels and the VersionId that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.

A version that does not have any staging labels attached is considered deprecated and subject to deletion. Such versions are not included in this list.

" - } - } - }, - "DescriptionType":{ - "type":"string", - "max":2048 - }, - "EncryptionFailure":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the customer master key (CMK) is available, enabled, and not in an invalid state. For more information, see How Key State Affects Use of a Customer Master Key.

", - "exception":true - }, - "ErrorMessage":{"type":"string"}, - "ExcludeCharactersType":{ - "type":"string", - "max":4096, - "min":0 - }, - "ExcludeLowercaseType":{"type":"boolean"}, - "ExcludeNumbersType":{"type":"boolean"}, - "ExcludePunctuationType":{"type":"boolean"}, - "ExcludeUppercaseType":{"type":"boolean"}, - "GetRandomPasswordRequest":{ - "type":"structure", - "members":{ - "PasswordLength":{ - "shape":"PasswordLengthType", - "documentation":"

The desired length of the generated password. The default value if you do not include this parameter is 32 characters.

", - "box":true - }, - "ExcludeCharacters":{ - "shape":"ExcludeCharactersType", - "documentation":"

A string that includes characters that should not be included in the generated password. The default is that all characters from the included sets can be used.

" - }, - "ExcludeNumbers":{ - "shape":"ExcludeNumbersType", - "documentation":"

Specifies that the generated password should not include digits. The default if you do not include this switch parameter is that digits can be included.

", - "box":true - }, - "ExcludePunctuation":{ - "shape":"ExcludePunctuationType", - "documentation":"

Specifies that the generated password should not include punctuation characters. The default if you do not include this switch parameter is that punctuation characters can be included.

The following are the punctuation characters that can be included in the generated password if you don't explicitly exclude them with ExcludeCharacters or ExcludePunctuation:

! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~

", - "box":true - }, - "ExcludeUppercase":{ - "shape":"ExcludeUppercaseType", - "documentation":"

Specifies that the generated password should not include uppercase letters. The default if you do not include this switch parameter is that uppercase letters can be included.

", - "box":true - }, - "ExcludeLowercase":{ - "shape":"ExcludeLowercaseType", - "documentation":"

Specifies that the generated password should not include lowercase letters. The default if you do not include this switch parameter is that lowercase letters can be included.

", - "box":true - }, - "IncludeSpace":{ - "shape":"IncludeSpaceType", - "documentation":"

Specifies that the generated password can include the space character. The default if you do not include this switch parameter is that the space character is not included.

", - "box":true - }, - "RequireEachIncludedType":{ - "shape":"RequireEachIncludedTypeType", - "documentation":"

A boolean value that specifies whether the generated password must include at least one of every allowed character type. The default value is True and the operation requires at least one of every character type.

", - "box":true - } - } - }, - "GetRandomPasswordResponse":{ - "type":"structure", - "members":{ - "RandomPassword":{ - "shape":"RandomPasswordType", - "documentation":"

A string with the generated password.

" - } - } - }, - "GetResourcePolicyRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to retrieve the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - } - } - }, - "GetResourcePolicyResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that the resource-based policy was retrieved for.

" - }, - "Name":{ - "shape":"NameType", - "documentation":"

The friendly name of the secret that the resource-based policy was retrieved for.

" - }, - "ResourcePolicy":{ - "shape":"NonEmptyResourcePolicyType", - "documentation":"

A JSON-formatted string that describes the permissions that are associated with the attached secret. These permissions are combined with any permissions that are associated with the user or role that attempts to access this secret. The combined permissions specify who can access the secret and what actions they can perform. For more information, see Authentication and Access Control for AWS Secrets Manager in the AWS Secrets Manager User Guide.

" - } - } - }, - "GetSecretValueRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret containing the version that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

Specifies the unique identifier of the version of the secret that you want to retrieve. If you specify this parameter then don't specify VersionStage. If you don't specify either a VersionStage or VersionId then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT.

This value is typically a UUID-type value with 32 hexadecimal digits.

" - }, - "VersionStage":{ - "shape":"SecretVersionStageType", - "documentation":"

Specifies the secret version that you want to retrieve by the staging label attached to the version.

Staging labels are used to keep track of different versions during the rotation process. If you use this parameter then don't specify VersionId. If you don't specify either a VersionStage or VersionId, then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT.

" - } - } - }, - "GetSecretValueResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The unique identifier of this version of the secret.

" - }, - "SecretBinary":{ - "shape":"SecretBinaryType", - "documentation":"

The decrypted part of the protected secret information that was originally provided as binary data in the form of a byte array. The response parameter represents the binary data as a base64-encoded string.

This parameter is not used if the secret is created by the Secrets Manager console.

If you store custom information in this field of the secret, then you must code your Lambda rotation function to parse and interpret whatever you store in the SecretString or SecretBinary fields.

" - }, - "SecretString":{ - "shape":"SecretStringType", - "documentation":"

The decrypted part of the protected secret information that was originally provided as a string.

If you create this secret by using the Secrets Manager console then only the SecretString parameter contains data. Secrets Manager stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

If you store custom information in the secret by using the CreateSecret, UpdateSecret, or PutSecretValue API operations instead of the Secrets Manager console, or by using the Other secret type in the console, then you must code your Lambda rotation function to parse and interpret those values.

" - }, - "VersionStages":{ - "shape":"SecretVersionStagesType", - "documentation":"

A list of all of the staging labels currently attached to this version of the secret.

" - }, - "CreatedDate":{ - "shape":"CreatedDateType", - "documentation":"

The date and time that this version of the secret was created.

", - "box":true - } - } - }, - "IncludeSpaceType":{"type":"boolean"}, - "InternalServiceError":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

An error occurred on the server side.

", - "exception":true, - "fault":true - }, - "InvalidNextTokenException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You provided an invalid NextToken value.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You provided an invalid value for a parameter.

", - "exception":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You provided a parameter value that is not valid for the current state of the resource.

Possible causes:

  • You tried to perform the operation on a secret that's currently marked deleted.

  • You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and you didn't include such an ARN as a parameter in this call.

", - "exception":true - }, - "KmsKeyIdType":{ - "type":"string", - "max":2048, - "min":0 - }, - "LastAccessedDateType":{"type":"timestamp"}, - "LastChangedDateType":{"type":"timestamp"}, - "LastRotatedDateType":{"type":"timestamp"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request failed because it would exceed one of the Secrets Manager internal limits.

", - "exception":true - }, - "ListSecretVersionIdsRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

The identifier for the secret containing the versions you want to list. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "MaxResults":{ - "shape":"MaxResultsType", - "documentation":"

(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

", - "box":true - }, - "NextToken":{ - "shape":"NextTokenType", - "documentation":"

(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" - }, - "IncludeDeprecated":{ - "shape":"BooleanType", - "documentation":"

(Optional) Specifies that you want the results to include versions that do not have any staging labels attached to them. Such versions are considered deprecated and are subject to deletion by Secrets Manager as needed.

", - "box":true - } - } - }, - "ListSecretVersionIdsResponse":{ - "type":"structure", - "members":{ - "Versions":{ - "shape":"SecretVersionsListType", - "documentation":"

The list of the currently available versions of the specified secret.

" - }, - "NextToken":{ - "shape":"NextTokenType", - "documentation":"

If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

" - }, - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The Amazon Resource Name (ARN) for the secret.

Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret.

" - } - } - }, - "ListSecretsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"MaxResultsType", - "documentation":"

(Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

", - "box":true - }, - "NextToken":{ - "shape":"NextTokenType", - "documentation":"

(Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" - } - } - }, - "ListSecretsResponse":{ - "type":"structure", - "members":{ - "SecretList":{ - "shape":"SecretListType", - "documentation":"

A list of the secrets in the account.

" - }, - "NextToken":{ - "shape":"NextTokenType", - "documentation":"

If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

" - } - } - }, - "MalformedPolicyDocumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The policy document that you provided isn't valid.

", - "exception":true - }, - "MaxResultsType":{ - "type":"integer", - "max":100, - "min":1 - }, - "NameType":{ - "type":"string", - "max":512, - "min":1 - }, - "NextTokenType":{ - "type":"string", - "max":4096, - "min":1 - }, - "NonEmptyResourcePolicyType":{ - "type":"string", - "max":4096, - "min":1 - }, - "PasswordLengthType":{ - "type":"long", - "max":4096, - "min":1 - }, - "PreconditionNotMetException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request failed because you did not complete all the prerequisite steps.

", - "exception":true - }, - "PutResourcePolicyRequest":{ - "type":"structure", - "required":[ - "SecretId", - "ResourcePolicy" - ], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to attach the resource-based policy to. You can specify either the ARN or the friendly name of the secret.

" - }, - "ResourcePolicy":{ - "shape":"NonEmptyResourcePolicyType", - "documentation":"

A JSON-formatted string that's constructed according to the grammar and syntax for an AWS resource-based policy. The policy in the string identifies who can access or manage this secret and its versions. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" - } - } - }, - "PutResourcePolicyResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that the resource-based policy was retrieved for.

" - }, - "Name":{ - "shape":"NameType", - "documentation":"

The friendly name of the secret that the resource-based policy was retrieved for.

" - } - } - }, - "PutSecretValueRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenType", - "documentation":"

(Optional) Specifies a unique identifier for the new version of the secret.

If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

  • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

  • If a version with this value already exists and that version's SecretString or SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent).

  • If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing secret version. You can only create new versions to store new secret values.

This value becomes the VersionId of the new version.

", - "idempotencyToken":true - }, - "SecretBinary":{ - "shape":"SecretBinaryType", - "documentation":"

(Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

This parameter is not accessible if the secret using the Secrets Manager console.

" - }, - "SecretString":{ - "shape":"SecretStringType", - "documentation":"

(Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

" - }, - "VersionStages":{ - "shape":"SecretVersionStagesType", - "documentation":"

(Optional) Specifies a list of staging labels that are attached to this version of the secret. These staging labels are used to track the versions through the rotation process by the Lambda rotation function.

A staging label must be unique to a single version of the secret. If you specify a staging label that's already associated with a different version of the same secret then that staging label is automatically removed from the other version and attached to this version.

If you do not specify a value for VersionStages then Secrets Manager automatically moves the staging label AWSCURRENT to this new version.

" - } - } - }, - "PutSecretValueResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The Amazon Resource Name (ARN) for the secret for which you just created a version.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret for which you just created or updated a version.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The unique identifier of the version of the secret you just created or updated.

" - }, - "VersionStages":{ - "shape":"SecretVersionStagesType", - "documentation":"

The list of staging labels that are currently attached to this version of the secret. Staging labels are used to track a version as it progresses through the secret rotation process.

" - } - } - }, - "RandomPasswordType":{ - "type":"string", - "max":4096, - "min":0 - }, - "RecoveryWindowInDaysType":{"type":"long"}, - "RequireEachIncludedTypeType":{"type":"boolean"}, - "ResourceExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

A resource with the ID you requested already exists.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

We can't find the resource that you asked for.

", - "exception":true - }, - "RestoreSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to restore from a previously scheduled deletion. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - } - } - }, - "RestoreSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that was restored.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret that was restored.

" - } - } - }, - "RotateSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenType", - "documentation":"

(Optional) Specifies a unique identifier for the new version of the secret that helps ensure idempotency.

If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request for this parameter. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

You only need to specify your own value if you are implementing your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the function's processing. This value becomes the VersionId of the new version.

", - "idempotencyToken":true - }, - "RotationLambdaARN":{ - "shape":"RotationLambdaARNType", - "documentation":"

(Optional) Specifies the ARN of the Lambda function that can rotate the secret.

" - }, - "RotationRules":{ - "shape":"RotationRulesType", - "documentation":"

A structure that defines the rotation configuration for this secret.

" - } - } - }, - "RotateSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The ID of the new version of the secret created by the rotation started by this request.

", - "box":true - } - } - }, - "RotationEnabledType":{"type":"boolean"}, - "RotationLambdaARNType":{ - "type":"string", - "max":2048, - "min":0 - }, - "RotationRulesType":{ - "type":"structure", - "members":{ - "AutomaticallyAfterDays":{ - "shape":"AutomaticallyRotateAfterDaysType", - "documentation":"

Specifies the number of days between automatic scheduled rotations of the secret.

Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

", - "box":true - } - }, - "documentation":"

A structure that defines the rotation configuration for the secret.

" - }, - "SecretARNType":{ - "type":"string", - "max":2048, - "min":20 - }, - "SecretBinaryType":{ - "type":"blob", - "max":4096, - "min":0, - "sensitive":true - }, - "SecretIdType":{ - "type":"string", - "max":2048, - "min":1 - }, - "SecretListEntry":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The Amazon Resource Name (ARN) of the secret.

For more information about ARNs in Secrets Manager, see Policy Resources in the AWS Secrets Manager User Guide.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy. For example, /prod/databases/dbserver1 could represent the secret for a server named dbserver1 in the folder databases in the folder prod.

" - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

The user-provided description of the secret.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyIdType", - "documentation":"

The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString and SecretBinary fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default KMS CMK (the one named awssecretsmanager) for this account.

" - }, - "RotationEnabled":{ - "shape":"RotationEnabledType", - "documentation":"

Indicated whether automatic, scheduled rotation is enabled for this secret.

", - "box":true - }, - "RotationLambdaARN":{ - "shape":"RotationLambdaARNType", - "documentation":"

The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate and expire the secret either automatically per the schedule or manually by a call to RotateSecret.

" - }, - "RotationRules":{ - "shape":"RotationRulesType", - "documentation":"

A structure that defines the rotation configuration for the secret.

" - }, - "LastRotatedDate":{ - "shape":"LastRotatedDateType", - "documentation":"

The last date and time that the rotation process for this secret was invoked.

", - "box":true - }, - "LastChangedDate":{ - "shape":"LastChangedDateType", - "documentation":"

The last date and time that this secret was modified in any way.

", - "box":true - }, - "LastAccessedDate":{ - "shape":"LastAccessedDateType", - "documentation":"

The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.

", - "box":true - }, - "DeletedDate":{ - "shape":"DeletedDateType", - "documentation":"

The date and time on which this secret was deleted. Not present on active secrets. The secret can be recovered until the number of days in the recovery window has passed, as specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

" - }, - "Tags":{ - "shape":"TagListType", - "documentation":"

The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.

" - }, - "SecretVersionsToStages":{ - "shape":"SecretVersionsToStagesMapType", - "documentation":"

A list of all of the currently assigned SecretVersionStage staging labels and the SecretVersionId that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.

A version that does not have any SecretVersionStage is considered deprecated and subject to deletion. Such versions are not included in this list.

" - } - }, - "documentation":"

A structure that contains the details about a secret. It does not include the encrypted SecretString and SecretBinary values. To get those values, use the GetSecretValue operation.

" - }, - "SecretListType":{ - "type":"list", - "member":{"shape":"SecretListEntry"} - }, - "SecretNameType":{ - "type":"string", - "max":256, - "min":1 - }, - "SecretStringType":{ - "type":"string", - "max":4096, - "min":0, - "sensitive":true - }, - "SecretVersionIdType":{ - "type":"string", - "max":64, - "min":32 - }, - "SecretVersionStageType":{ - "type":"string", - "max":256, - "min":1 - }, - "SecretVersionStagesType":{ - "type":"list", - "member":{"shape":"SecretVersionStageType"}, - "max":20, - "min":1 - }, - "SecretVersionsListEntry":{ - "type":"structure", - "members":{ - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

The unique version identifier of this version of the secret.

" - }, - "VersionStages":{ - "shape":"SecretVersionStagesType", - "documentation":"

An array of staging labels that are currently associated with this version of the secret.

" - }, - "LastAccessedDate":{ - "shape":"LastAccessedDateType", - "documentation":"

The date that this version of the secret was last accessed. Note that the resolution of this field is at the date level and does not include the time.

", - "box":true - }, - "CreatedDate":{ - "shape":"CreatedDateType", - "documentation":"

The date and time this version of the secret was created.

", - "box":true - } - }, - "documentation":"

A structure that contains information about one version of a secret.

" - }, - "SecretVersionsListType":{ - "type":"list", - "member":{"shape":"SecretVersionsListEntry"} - }, - "SecretVersionsToStagesMapType":{ - "type":"map", - "key":{"shape":"SecretVersionIdType"}, - "value":{"shape":"SecretVersionStagesType"} - }, - "Tag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagKeyType", - "documentation":"

The key identifier, or name, of the tag.

" - }, - "Value":{ - "shape":"TagValueType", - "documentation":"

The string value that's associated with the key of the tag.

" - } - }, - "documentation":"

A structure that contains information about a tag.

" - }, - "TagKeyListType":{ - "type":"list", - "member":{"shape":"TagKeyType"} - }, - "TagKeyType":{ - "type":"string", - "max":128, - "min":1 - }, - "TagListType":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagResourceRequest":{ - "type":"structure", - "required":[ - "SecretId", - "Tags" - ], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

The identifier for the secret that you want to attach tags to. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "Tags":{ - "shape":"TagListType", - "documentation":"

The tags to attach to the secret. Each element in the list consists of a Key and a Value.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…]

" - } - } - }, - "TagValueType":{ - "type":"string", - "max":256, - "min":0 - }, - "UntagResourceRequest":{ - "type":"structure", - "required":[ - "SecretId", - "TagKeys" - ], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

The identifier for the secret that you want to remove tags from. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "TagKeys":{ - "shape":"TagKeyListType", - "documentation":"

A list of tag key names to remove from the secret. You don't specify the value. Both the key and its associated value are removed.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" - } - } - }, - "UpdateSecretRequest":{ - "type":"structure", - "required":["SecretId"], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret that you want to modify or to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "ClientRequestToken":{ - "shape":"ClientRequestTokenType", - "documentation":"

(Optional) If you want to add a new version to the secret, this parameter specifies a unique identifier for the new version that helps ensure idempotency.

If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

You typically only need to interact with this value if you implement your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing.

  • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

  • If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent).

  • If a version with this value already exists and that version's SecretString and SecretBinary values are different from the request then an error occurs because you cannot modify an existing secret value.

This value becomes the VersionId of the new version.

", - "idempotencyToken":true - }, - "Description":{ - "shape":"DescriptionType", - "documentation":"

(Optional) Specifies an updated user-provided description of the secret.

" - }, - "KmsKeyId":{ - "shape":"KmsKeyIdType", - "documentation":"

(Optional) Specifies an updated ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in new versions of this secret.

You can only use the account's default CMK to encrypt and decrypt if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and provide the ARN of that CMK in this field. The user making the call must have permissions to both the secret and the CMK in their respective accounts.

" - }, - "SecretBinary":{ - "shape":"SecretBinaryType", - "documentation":"

(Optional) Specifies updated binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

This parameter is not accessible using the Secrets Manager console.

" - }, - "SecretString":{ - "shape":"SecretStringType", - "documentation":"

(Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

[{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped:

\"[{\\\"username\\\":\\\"bob\\\"},{\\\"password\\\":\\\"abc123xyz456\\\"}]\"

" - } - } - }, - "UpdateSecretResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret that was updated.

Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret that was updated.

" - }, - "VersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

If a new version of the secret was created by this operation, then VersionId contains the unique identifier of the new version.

" - } - } - }, - "UpdateSecretVersionStageRequest":{ - "type":"structure", - "required":[ - "SecretId", - "VersionStage" - ], - "members":{ - "SecretId":{ - "shape":"SecretIdType", - "documentation":"

Specifies the secret with the version whose list of staging labels you want to modify. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

" - }, - "VersionStage":{ - "shape":"SecretVersionStageType", - "documentation":"

The list of staging labels to add to this version.

" - }, - "RemoveFromVersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

(Optional) Specifies the secret version ID of the version that the staging labels are to be removed from.

If you want to move a label to a new version, you do not have to explicitly remove it with this parameter. Adding a label using the MoveToVersionId parameter automatically removes it from the old version. However, if you do include both the \"MoveTo\" and \"RemoveFrom\" parameters, then the move is successful only if the staging labels are actually present on the \"RemoveFrom\" version. If a staging label was on a different version than \"RemoveFrom\", then the request fails.

", - "box":true - }, - "MoveToVersionId":{ - "shape":"SecretVersionIdType", - "documentation":"

(Optional) The secret version ID that you want to add the staging labels to.

If any of the staging labels are already attached to a different version of the secret, then they are automatically removed from that version before adding them to this version.

", - "box":true - } - } - }, - "UpdateSecretVersionStageResponse":{ - "type":"structure", - "members":{ - "ARN":{ - "shape":"SecretARNType", - "documentation":"

The ARN of the secret with the staging labels that were modified.

" - }, - "Name":{ - "shape":"SecretNameType", - "documentation":"

The friendly name of the secret with the staging labels that were modified.

" - } - } - } - }, - "documentation":"AWS Secrets Manager API Reference

AWS Secrets Manager is a web service that enables you to store, manage, and retrieve, secrets.

This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.

API Version

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.

Secrets Manager supports GET and POST requests for all actions. That is, the API doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Support and Feedback for AWS Secrets Manager

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.

How examples are presented

The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the examples is formatted with both line breaks and white space to improve readability. When example input parameters would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

Logging API Requests

AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine which requests were successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and its support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/service-2.json deleted file mode 100644 index a53ae81e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/serverlessrepo/2017-09-08/service-2.json +++ /dev/null @@ -1,1591 +0,0 @@ -{ - "metadata" : { - "apiVersion" : "2017-09-08", - "endpointPrefix" : "serverlessrepo", - "signingName" : "serverlessrepo", - "serviceFullName" : "AWSServerlessApplicationRepository", - "serviceId" : "ServerlessApplicationRepository", - "protocol" : "rest-json", - "jsonVersion" : "1.1", - "uid" : "serverlessrepo-2017-09-08", - "signatureVersion" : "v4" - }, - "operations" : { - "CreateApplication" : { - "name" : "CreateApplication", - "http" : { - "method" : "POST", - "requestUri" : "/applications", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateApplicationRequest" - }, - "output" : { - "shape" : "CreateApplicationResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ConflictException", - "documentation" : "

The resource already exists.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Creates an application, optionally including an AWS SAM file to create the first application version in the same call.

" - }, - "CreateApplicationVersion" : { - "name" : "CreateApplicationVersion", - "http" : { - "method" : "PUT", - "requestUri" : "/applications/{applicationId}/versions/{semanticVersion}", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateApplicationVersionRequest" - }, - "output" : { - "shape" : "CreateApplicationVersionResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ConflictException", - "documentation" : "

The resource already exists.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Creates an application version.

" - }, - "CreateCloudFormationChangeSet" : { - "name" : "CreateCloudFormationChangeSet", - "http" : { - "method" : "POST", - "requestUri" : "/applications/{applicationId}/changesets", - "responseCode" : 201 - }, - "input" : { - "shape" : "CreateCloudFormationChangeSetRequest" - }, - "output" : { - "shape" : "CreateCloudFormationChangeSetResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Creates an AWS CloudFormation change set for the given application.

" - }, - "DeleteApplication" : { - "name" : "DeleteApplication", - "http" : { - "method" : "DELETE", - "requestUri" : "/applications/{applicationId}", - "responseCode" : 204 - }, - "input" : { - "shape" : "DeleteApplicationRequest" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - }, { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "ConflictException", - "documentation" : "

The resource already exists.

" - } ], - "documentation" : "

Deletes the specified application.

" - }, - "GetApplication" : { - "name" : "GetApplication", - "http" : { - "method" : "GET", - "requestUri" : "/applications/{applicationId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApplicationRequest" - }, - "output" : { - "shape" : "GetApplicationResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Gets the specified application.

" - }, - "GetApplicationPolicy" : { - "name" : "GetApplicationPolicy", - "http" : { - "method" : "GET", - "requestUri" : "/applications/{applicationId}/policy", - "responseCode" : 200 - }, - "input" : { - "shape" : "GetApplicationPolicyRequest" - }, - "output" : { - "shape" : "GetApplicationPolicyResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Retrieves the policy for the application.

" - }, - "ListApplicationVersions" : { - "name" : "ListApplicationVersions", - "http" : { - "method" : "GET", - "requestUri" : "/applications/{applicationId}/versions", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListApplicationVersionsRequest" - }, - "output" : { - "shape" : "ListApplicationVersionsResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Lists versions for the specified application.

" - }, - "ListApplications" : { - "name" : "ListApplications", - "http" : { - "method" : "GET", - "requestUri" : "/applications", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListApplicationsRequest" - }, - "output" : { - "shape" : "ListApplicationsResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Lists applications owned by the requester.

" - }, - "PutApplicationPolicy" : { - "name" : "PutApplicationPolicy", - "http" : { - "method" : "PUT", - "requestUri" : "/applications/{applicationId}/policy", - "responseCode" : 200 - }, - "input" : { - "shape" : "PutApplicationPolicyRequest" - }, - "output" : { - "shape" : "PutApplicationPolicyResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - } ], - "documentation" : "

Sets the permission policy for an application. See\n Application Permissions\n for the list of supported actions that can be used with this operation.

" - }, - "UpdateApplication" : { - "name" : "UpdateApplication", - "http" : { - "method" : "PATCH", - "requestUri" : "/applications/{applicationId}", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateApplicationRequest" - }, - "output" : { - "shape" : "UpdateApplicationResponse", - "documentation" : "

Success

" - }, - "errors" : [ { - "shape" : "BadRequestException", - "documentation" : "

One of the parameters in the request is invalid.

" - }, { - "shape" : "InternalServerErrorException", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - }, { - "shape" : "ForbiddenException", - "documentation" : "

The client is not authenticated.

" - }, { - "shape" : "NotFoundException", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - }, { - "shape" : "TooManyRequestsException", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - }, { - "shape" : "ConflictException", - "documentation" : "

The resource already exists.

" - } ], - "documentation" : "

Updates the specified application.

" - } - }, - "shapes" : { - "Application" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to a license file of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "Version" : { - "shape" : "Version", - "locationName" : "version", - "documentation" : "

Version information about the application.

" - } - }, - "documentation" : "

Details about the application.

", - "required" : [ "Description", "Author", "ApplicationId", "Name" ] - }, - "ApplicationPage" : { - "type" : "structure", - "members" : { - "Applications" : { - "shape" : "__listOfApplicationSummary", - "locationName" : "applications", - "documentation" : "

An array of application summaries.

" - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to request the next page of results.

" - } - }, - "documentation" : "

A list of application details.

", - "required" : [ "Applications" ] - }, - "ApplicationPolicy" : { - "type" : "structure", - "members" : { - "Statements" : { - "shape" : "__listOfApplicationPolicyStatement", - "locationName" : "statements", - "documentation" : "

An array of policy statements applied to the application.

" - } - }, - "documentation" : "

Policy statements applied to the application.

", - "required" : [ "Statements" ] - }, - "ApplicationPolicyStatement" : { - "type" : "structure", - "members" : { - "Actions" : { - "shape" : "__listOf__string", - "locationName" : "actions", - "documentation" : "

See Application Permissions for the list of supported actions.

" - }, - "Principals" : { - "shape" : "__listOf__string", - "locationName" : "principals", - "documentation" : "

An AWS account ID, or * to make the application public.

" - }, - "StatementId" : { - "shape" : "__string", - "locationName" : "statementId", - "documentation" : "

A unique ID for the statement.

" - } - }, - "documentation" : "

Policy statement applied to the application.

", - "required" : [ "Principals", "Actions" ] - }, - "ApplicationSummary" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - } - }, - "documentation" : "

Summary of details about the application.

", - "required" : [ "Description", "Author", "ApplicationId", "Name" ] - }, - "ApplicationVersionPage" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to request the next page of results.

" - }, - "Versions" : { - "shape" : "__listOfVersionSummary", - "locationName" : "versions", - "documentation" : "

An array of version summaries for the application.

" - } - }, - "documentation" : "

A list of version summaries for the application.

", - "required" : [ "Versions" ] - }, - "BadRequestException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

400

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

One of the parameters in the request is invalid.

" - } - }, - "documentation" : "

One of the parameters in the request is invalid.

", - "exception" : true, - "error" : { - "httpStatusCode" : 400 - } - }, - "ChangeSetDetails" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "ChangeSetId" : { - "shape" : "__string", - "locationName" : "changeSetId", - "documentation" : "

The Amazon Resource Name (ARN) of the change set.

Length constraints: Minimum length of 1.

Pattern: ARN:[-a-zA-Z0-9:/]*

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "StackId" : { - "shape" : "__string", - "locationName" : "stackId", - "documentation" : "

The unique ID of the stack.

" - } - }, - "documentation" : "

Details of the change set.

", - "required" : [ "ChangeSetId", "ApplicationId", "StackId", "SemanticVersion" ] - }, - "ConflictException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

409

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The resource already exists.

" - } - }, - "documentation" : "

The resource already exists.

", - "exception" : true, - "error" : { - "httpStatusCode" : 409 - } - }, - "CreateApplicationInput" : { - "type" : "structure", - "members" : { - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseBody" : { - "shape" : "__string", - "locationName" : "licenseBody", - "documentation" : "

A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file is of the format file://<path>/<filename>.

Maximum size 5 MB

Note: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result.

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

Note: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result.

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application that you want to publish.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeBody" : { - "shape" : "__string", - "locationName" : "readmeBody", - "documentation" : "

A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file is of the format file://<path>/<filename>.

Maximum size 5 MB

Note: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result.

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

Note: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "TemplateBody" : { - "shape" : "__string", - "locationName" : "templateBody", - "documentation" : "

The local raw packaged AWS SAM template file of your application.\n The file is of the format file://<path>/<filename>.

Note: Only one of templateBody and templateUrl can be specified, otherwise an error will result.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the S3 object cotaining the packaged AWS SAM template of your application.

Note: Only one of templateBody and templateUrl can be specified, otherwise an error will result.

" - } - }, - "documentation" : "

Create an application request.

", - "required" : [ "Description", "Name", "Author" ] - }, - "CreateApplicationRequest" : { - "type" : "structure", - "members" : { - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseBody" : { - "shape" : "__string", - "locationName" : "licenseBody", - "documentation" : "

A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file is of the format file://<path>/<filename>.

Maximum size 5 MB

Note: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result.

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

Note: Only one of licenseBody and licenseUrl can be specified, otherwise an error will result.

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application that you want to publish.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeBody" : { - "shape" : "__string", - "locationName" : "readmeBody", - "documentation" : "

A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file is of the format file://<path>/<filename>.

Maximum size 5 MB

Note: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result.

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

Note: Only one of readmeBody and readmeUrl can be specified, otherwise an error will result.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "TemplateBody" : { - "shape" : "__string", - "locationName" : "templateBody", - "documentation" : "

The local raw packaged AWS SAM template file of your application.\n The file is of the format file://<path>/<filename>.

Note: Only one of templateBody and templateUrl can be specified, otherwise an error will result.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the S3 object cotaining the packaged AWS SAM template of your application.

Note: Only one of templateBody and templateUrl can be specified, otherwise an error will result.

" - } - }, - "required" : [ "Description", "Name", "Author" ] - }, - "CreateApplicationResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to a license file of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "Version" : { - "shape" : "Version", - "locationName" : "version", - "documentation" : "

Version information about the application.

" - } - } - }, - "CreateApplicationVersionInput" : { - "type" : "structure", - "members" : { - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "TemplateBody" : { - "shape" : "__string", - "locationName" : "templateBody", - "documentation" : "

The raw packaged AWS SAM template of your application.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the packaged AWS SAM template of your application.

" - } - }, - "documentation" : "

Create a version request.

" - }, - "CreateApplicationVersionRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the new version.

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "TemplateBody" : { - "shape" : "__string", - "locationName" : "templateBody", - "documentation" : "

The raw packaged AWS SAM template of your application.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the packaged AWS SAM template of your application.

" - } - }, - "required" : [ "ApplicationId", "SemanticVersion" ] - }, - "CreateApplicationVersionResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "ParameterDefinitions" : { - "shape" : "__listOfParameterDefinition", - "locationName" : "parameterDefinitions", - "documentation" : "

An array of parameter types supported by the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the packaged AWS SAM template of your application.

" - } - } - }, - "CreateCloudFormationChangeSetInput" : { - "type" : "structure", - "members" : { - "ParameterOverrides" : { - "shape" : "__listOfParameterValue", - "locationName" : "parameterOverrides", - "documentation" : "

A list of parameter values for the parameters of the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "StackName" : { - "shape" : "__string", - "locationName" : "stackName", - "documentation" : "

The name or the unique ID of the stack for which you are creating a change set. AWS CloudFormation generates\n the change set by comparing this stack's information with the information that you submit, such as a modified\n template or different parameter input values.

Constraints: Minimum length of 1.

Pattern: ([a-zA-Z][-a-zA-Z0-9]*)|(arn:\\b(aws|aws-us-gov|aws-cn)\\b:[-a-zA-Z0-9:/._+]*)

" - } - }, - "documentation" : "

Create an application change set request.

", - "required" : [ "StackName" ] - }, - "CreateCloudFormationChangeSetRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "ParameterOverrides" : { - "shape" : "__listOfParameterValue", - "locationName" : "parameterOverrides", - "documentation" : "

A list of parameter values for the parameters of the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "StackName" : { - "shape" : "__string", - "locationName" : "stackName", - "documentation" : "

The name or the unique ID of the stack for which you are creating a change set. AWS CloudFormation generates\n the change set by comparing this stack's information with the information that you submit, such as a modified\n template or different parameter input values.

Constraints: Minimum length of 1.

Pattern: ([a-zA-Z][-a-zA-Z0-9]*)|(arn:\\b(aws|aws-us-gov|aws-cn)\\b:[-a-zA-Z0-9:/._+]*)

" - } - }, - "required" : [ "ApplicationId", "StackName" ] - }, - "CreateCloudFormationChangeSetResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "ChangeSetId" : { - "shape" : "__string", - "locationName" : "changeSetId", - "documentation" : "

The Amazon Resource Name (ARN) of the change set.

Length constraints: Minimum length of 1.

Pattern: ARN:[-a-zA-Z0-9:/]*

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "StackId" : { - "shape" : "__string", - "locationName" : "stackId", - "documentation" : "

The unique ID of the stack.

" - } - } - }, - "DeleteApplicationRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - } - }, - "required" : [ "ApplicationId" ] - }, - "ForbiddenException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

403

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The client is not authenticated.

" - } - }, - "documentation" : "

The client is not authenticated.

", - "exception" : true, - "error" : { - "httpStatusCode" : 403 - } - }, - "GetApplicationPolicyRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApplicationPolicyResponse" : { - "type" : "structure", - "members" : { - "Statements" : { - "shape" : "__listOfApplicationPolicyStatement", - "locationName" : "statements", - "documentation" : "

An array of policy statements applied to the application.

" - } - } - }, - "GetApplicationRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application to get.

" - } - }, - "required" : [ "ApplicationId" ] - }, - "GetApplicationResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to a license file of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "Version" : { - "shape" : "Version", - "locationName" : "version", - "documentation" : "

Version information about the application.

" - } - } - }, - "InternalServerErrorException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

500

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

" - } - }, - "documentation" : "

The AWS Serverless Application Repository service encountered an internal error.

", - "exception" : true, - "error" : { - "httpStatusCode" : 500 - } - }, - "ListApplicationVersionsRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "MaxItems" : { - "shape" : "MaxItems", - "location" : "querystring", - "locationName" : "maxItems", - "documentation" : "

The total number of items to return.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "

A token to specify where to start paginating.

" - } - }, - "required" : [ "ApplicationId" ] - }, - "ListApplicationVersionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to request the next page of results.

" - }, - "Versions" : { - "shape" : "__listOfVersionSummary", - "locationName" : "versions", - "documentation" : "

An array of version summaries for the application.

" - } - } - }, - "ListApplicationsRequest" : { - "type" : "structure", - "members" : { - "MaxItems" : { - "shape" : "MaxItems", - "location" : "querystring", - "locationName" : "maxItems", - "documentation" : "

The total number of items to return.

" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken", - "documentation" : "

A token to specify where to start paginating.

" - } - } - }, - "ListApplicationsResponse" : { - "type" : "structure", - "members" : { - "Applications" : { - "shape" : "__listOfApplicationSummary", - "locationName" : "applications", - "documentation" : "

An array of application summaries.

" - }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken", - "documentation" : "

The token to request the next page of results.

" - } - } - }, - "MaxItems" : { - "type" : "integer", - "min" : 1, - "max" : 100 - }, - "NotFoundException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

404

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

" - } - }, - "documentation" : "

The resource (for example, an access policy statement) specified in the request doesn't exist.

", - "exception" : true, - "error" : { - "httpStatusCode" : 404 - } - }, - "ParameterDefinition" : { - "type" : "structure", - "members" : { - "AllowedPattern" : { - "shape" : "__string", - "locationName" : "allowedPattern", - "documentation" : "

A regular expression that represents the patterns to allow for String types.

" - }, - "AllowedValues" : { - "shape" : "__listOf__string", - "locationName" : "allowedValues", - "documentation" : "

An array containing the list of values allowed for the parameter.

" - }, - "ConstraintDescription" : { - "shape" : "__string", - "locationName" : "constraintDescription", - "documentation" : "

A string that explains a constraint when the constraint is violated. For example, without a constraint description,\n a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user\n specifies an invalid value:

\n Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+\n

By adding a constraint description, such as \"must contain only uppercase and lowercase letters and numbers,\" you can display\n the following customized error message:

\n Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers.\n

" - }, - "DefaultValue" : { - "shape" : "__string", - "locationName" : "defaultValue", - "documentation" : "

A value of the appropriate type for the template to use if no value is specified when a stack is created.\n If you define constraints for the parameter, you must specify a value that adheres to those constraints.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

A string of up to 4,000 characters that describes the parameter.

" - }, - "MaxLength" : { - "shape" : "__integer", - "locationName" : "maxLength", - "documentation" : "

An integer value that determines the largest number of characters that you want to allow for String types.

" - }, - "MaxValue" : { - "shape" : "__integer", - "locationName" : "maxValue", - "documentation" : "

A numeric value that determines the largest numeric value that you want to allow for Number types.

" - }, - "MinLength" : { - "shape" : "__integer", - "locationName" : "minLength", - "documentation" : "

An integer value that determines the smallest number of characters that you want to allow for String types.

" - }, - "MinValue" : { - "shape" : "__integer", - "locationName" : "minValue", - "documentation" : "

A numeric value that determines the smallest numeric value that you want to allow for Number types.

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the parameter.

" - }, - "NoEcho" : { - "shape" : "__boolean", - "locationName" : "noEcho", - "documentation" : "

Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the\n value to true, the parameter value is masked with asterisks (*****).

" - }, - "ReferencedByResources" : { - "shape" : "__listOf__string", - "locationName" : "referencedByResources", - "documentation" : "

A list of AWS SAM resources that use this parameter.

" - }, - "Type" : { - "shape" : "__string", - "locationName" : "type", - "documentation" : "

The type of the parameter.

Valid values: String | Number | List<Number> | CommaDelimitedList\n

\n String: A literal string.

For example, users can specify \"MyUserName\".

\n Number: An integer or float. AWS CloudFormation validates the parameter value as a number. However, when you use the\n parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a string.

For example, users might specify \"8888\".

\n List<Number>: An array of integers or floats that are separated by commas. AWS CloudFormation validates the parameter value as numbers. However, when\n you use the parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a list of strings.

For example, users might specify \"80,20\", and then Ref results in [\"80\",\"20\"].

\n CommaDelimitedList: An array of literal strings that are separated by commas. The total number of strings should be one more than the total number of commas.\n Also, each member string is space-trimmed.

For example, users might specify \"test,dev,prod\", and then Ref results in [\"test\",\"dev\",\"prod\"].

" - } - }, - "documentation" : "

Parameters supported by the application.

", - "required" : [ "ReferencedByResources", "Name" ] - }, - "ParameterValue" : { - "type" : "structure", - "members" : { - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation\n uses the default value that is specified in your template.

" - }, - "Value" : { - "shape" : "__string", - "locationName" : "value", - "documentation" : "

The input value associated with the parameter.

" - } - }, - "documentation" : "

Parameter value of the application.

", - "required" : [ "Value", "Name" ] - }, - "PutApplicationPolicyRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "Statements" : { - "shape" : "__listOfApplicationPolicyStatement", - "locationName" : "statements", - "documentation" : "

An array of policy statements applied to the application.

" - } - }, - "required" : [ "ApplicationId", "Statements" ] - }, - "PutApplicationPolicyResponse" : { - "type" : "structure", - "members" : { - "Statements" : { - "shape" : "__listOfApplicationPolicyStatement", - "locationName" : "statements", - "documentation" : "

An array of policy statements applied to the application.

" - } - } - }, - "TooManyRequestsException" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode", - "documentation" : "

429

" - }, - "Message" : { - "shape" : "__string", - "locationName" : "message", - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

" - } - }, - "documentation" : "

The client is sending more than the allowed number of requests per unit of time.

", - "exception" : true, - "error" : { - "httpStatusCode" : 429 - } - }, - "UpdateApplicationInput" : { - "type" : "structure", - "members" : { - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "ReadmeBody" : { - "shape" : "__string", - "locationName" : "readmeBody", - "documentation" : "

A text readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - } - }, - "documentation" : "

Update the application request.

" - }, - "UpdateApplicationRequest" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "applicationId", - "documentation" : "

The Amazon Resource Name (ARN) of the application.

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "ReadmeBody" : { - "shape" : "__string", - "locationName" : "readmeBody", - "documentation" : "

A text readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - } - }, - "required" : [ "ApplicationId" ] - }, - "UpdateApplicationResponse" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "Author" : { - "shape" : "__string", - "locationName" : "author", - "documentation" : "

The name of the author publishing the app.

Minimum length=1. Maximum length=127.

Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "Description" : { - "shape" : "__string", - "locationName" : "description", - "documentation" : "

The description of the application.

Minimum length=1. Maximum length=256

" - }, - "HomePageUrl" : { - "shape" : "__string", - "locationName" : "homePageUrl", - "documentation" : "

A URL with more information about the application, for example\n the location of your GitHub repository for the application.

" - }, - "Labels" : { - "shape" : "__listOf__string", - "locationName" : "labels", - "documentation" : "

Labels to improve discovery of apps in search results.

Minimum length=1. Maximum length=127. Maximum number of labels: 10

Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

" - }, - "LicenseUrl" : { - "shape" : "__string", - "locationName" : "licenseUrl", - "documentation" : "

A link to a license file of the app that matches the spdxLicenseID value of your application.

Maximum size 5 MB

" - }, - "Name" : { - "shape" : "__string", - "locationName" : "name", - "documentation" : "

The name of the application.

Minimum length=1. Maximum length=140

Pattern: \"[a-zA-Z0-9\\\\-]+\";

" - }, - "ReadmeUrl" : { - "shape" : "__string", - "locationName" : "readmeUrl", - "documentation" : "

A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

Maximum size 5 MB

" - }, - "SpdxLicenseId" : { - "shape" : "__string", - "locationName" : "spdxLicenseId", - "documentation" : "

A valid identifier from https://spdx.org/licenses/.

" - }, - "Version" : { - "shape" : "Version", - "locationName" : "version", - "documentation" : "

Version information about the application.

" - } - } - }, - "Version" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "ParameterDefinitions" : { - "shape" : "__listOfParameterDefinition", - "locationName" : "parameterDefinitions", - "documentation" : "

An array of parameter types supported by the application.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - }, - "TemplateUrl" : { - "shape" : "__string", - "locationName" : "templateUrl", - "documentation" : "

A link to the packaged AWS SAM template of your application.

" - } - }, - "documentation" : "

Application version details.

", - "required" : [ "TemplateUrl", "ParameterDefinitions", "CreationTime", "ApplicationId", "SemanticVersion" ] - }, - "VersionSummary" : { - "type" : "structure", - "members" : { - "ApplicationId" : { - "shape" : "__string", - "locationName" : "applicationId", - "documentation" : "

The application Amazon Resource Name (ARN).

" - }, - "CreationTime" : { - "shape" : "__string", - "locationName" : "creationTime", - "documentation" : "

The date and time this resource was created.

" - }, - "SemanticVersion" : { - "shape" : "__string", - "locationName" : "semanticVersion", - "documentation" : "

The semantic version of the application:

\n https://semver.org/\n

" - }, - "SourceCodeUrl" : { - "shape" : "__string", - "locationName" : "sourceCodeUrl", - "documentation" : "

A link to a public repository for the source code of your application.

" - } - }, - "documentation" : "

An application version summary.

", - "required" : [ "CreationTime", "ApplicationId", "SemanticVersion" ] - }, - "__boolean" : { - "type" : "boolean" - }, - "__double" : { - "type" : "double" - }, - "__integer" : { - "type" : "integer" - }, - "__listOfApplicationPolicyStatement" : { - "type" : "list", - "member" : { - "shape" : "ApplicationPolicyStatement" - } - }, - "__listOfApplicationSummary" : { - "type" : "list", - "member" : { - "shape" : "ApplicationSummary" - } - }, - "__listOfParameterDefinition" : { - "type" : "list", - "member" : { - "shape" : "ParameterDefinition" - } - }, - "__listOfParameterValue" : { - "type" : "list", - "member" : { - "shape" : "ParameterValue" - } - }, - "__listOfVersionSummary" : { - "type" : "list", - "member" : { - "shape" : "VersionSummary" - } - }, - "__listOf__string" : { - "type" : "list", - "member" : { - "shape" : "__string" - } - }, - "__long" : { - "type" : "long" - }, - "__string" : { - "type" : "string" - } - }, - "documentation" : "

The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find\n and deploy serverless applications in the AWS Cloud. For more information about serverless applications,\n see Serverless Computing and Applications on the AWS website.

The AWS Serverless Application Repository is deeply integrated with the AWS Lambda console, so that developers of \n all levels can get started with serverless computing without needing to learn anything new. You can use category \n keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. \n You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, \n configure any required fields, and deploy it with a few clicks.

You can also easily publish applications, sharing them publicly with the community at large, or privately\n within your team or across your organization. To publish a serverless application (or app), you can use the\n AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the\n code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template.\n For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs\n GitHub repository.

The AWS Serverless Application Repository Developer Guide contains more information about the two developer\n experiences available:

    \n
  • \n

    Consuming Applications – Browse for applications and view information about them, including\n source code and readme files. Also install, configure, and deploy applications of your choosing.

    \n

    Publishing Applications – Configure and upload applications to make them available to other\n developers, and publish new versions of applications.

    \n
  • \n
" -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/paginators-1.json deleted file mode 100644 index bb399615..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/paginators-1.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "pagination": { - "SearchProductsAsAdmin": { - "result_key": "ProductViewDetails", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListAcceptedPortfolioShares": { - "result_key": "PortfolioDetails", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListPortfolios": { - "result_key": "PortfolioDetails", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListConstraintsForPortfolio": { - "result_key": "ConstraintDetails", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListLaunchPaths": { - "result_key": "LaunchPathSummaries", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListTagOptions": { - "result_key": "TagOptionDetails", - "output_token": "PageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListPortfoliosForProduct": { - "result_key": "PortfolioDetails", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListPrincipalsForPortfolio": { - "result_key": "Principals", - "output_token": "NextPageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - }, - "ListResourcesForTagOption": { - "result_key": "ResourceDetails", - "output_token": "PageToken", - "input_token": "PageToken", - "limit_key": "PageSize" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/service-2.json deleted file mode 100644 index 2278c957..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicecatalog/2015-12-10/service-2.json +++ /dev/null @@ -1,4523 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-12-10", - "endpointPrefix":"servicecatalog", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Service Catalog", - "serviceId":"Service Catalog", - "signatureVersion":"v4", - "targetPrefix":"AWS242ServiceCatalogService", - "uid":"servicecatalog-2015-12-10" - }, - "operations":{ - "AcceptPortfolioShare":{ - "name":"AcceptPortfolioShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AcceptPortfolioShareInput"}, - "output":{"shape":"AcceptPortfolioShareOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Accepts an offer to share the specified portfolio.

" - }, - "AssociatePrincipalWithPortfolio":{ - "name":"AssociatePrincipalWithPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociatePrincipalWithPortfolioInput"}, - "output":{"shape":"AssociatePrincipalWithPortfolioOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Associates the specified principal ARN with the specified portfolio.

" - }, - "AssociateProductWithPortfolio":{ - "name":"AssociateProductWithPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateProductWithPortfolioInput"}, - "output":{"shape":"AssociateProductWithPortfolioOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Associates the specified product with the specified portfolio.

" - }, - "AssociateTagOptionWithResource":{ - "name":"AssociateTagOptionWithResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateTagOptionWithResourceInput"}, - "output":{"shape":"AssociateTagOptionWithResourceOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"}, - {"shape":"LimitExceededException"}, - {"shape":"DuplicateResourceException"}, - {"shape":"InvalidStateException"} - ], - "documentation":"

Associate the specified TagOption with the specified portfolio or product.

" - }, - "CopyProduct":{ - "name":"CopyProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CopyProductInput"}, - "output":{"shape":"CopyProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Copies the specified source product to the specified target product or a new product.

You can copy a product to the same account or another account. You can copy a product to the same region or another region.

This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus.

" - }, - "CreateConstraint":{ - "name":"CreateConstraint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConstraintInput"}, - "output":{"shape":"CreateConstraintOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"}, - {"shape":"LimitExceededException"}, - {"shape":"DuplicateResourceException"} - ], - "documentation":"

Creates a constraint.

" - }, - "CreatePortfolio":{ - "name":"CreatePortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePortfolioInput"}, - "output":{"shape":"CreatePortfolioOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"LimitExceededException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Creates a portfolio.

" - }, - "CreatePortfolioShare":{ - "name":"CreatePortfolioShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePortfolioShareInput"}, - "output":{"shape":"CreatePortfolioShareOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Shares the specified portfolio with the specified account.

" - }, - "CreateProduct":{ - "name":"CreateProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProductInput"}, - "output":{"shape":"CreateProductOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"LimitExceededException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Creates a product.

" - }, - "CreateProvisionedProductPlan":{ - "name":"CreateProvisionedProductPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProvisionedProductPlanInput"}, - "output":{"shape":"CreateProvisionedProductPlanOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidStateException"} - ], - "documentation":"

Creates a plan. A plan includes the list of resources to be created (when provisioning a new product) or modified (when updating a provisioned product) when the plan is executed.

You can create one plan per provisioned product. To create a plan for an existing provisioned product, the product status must be AVAILBLE or TAINTED.

To view the resource changes in the change set, use DescribeProvisionedProductPlan. To create or modify the provisioned product, use ExecuteProvisionedProductPlan.

" - }, - "CreateProvisioningArtifact":{ - "name":"CreateProvisioningArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProvisioningArtifactInput"}, - "output":{"shape":"CreateProvisioningArtifactOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a provisioning artifact (also known as a version) for the specified product.

You cannot create a provisioning artifact for a product that was shared with you.

" - }, - "CreateTagOption":{ - "name":"CreateTagOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagOptionInput"}, - "output":{"shape":"CreateTagOptionOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"DuplicateResourceException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a TagOption.

" - }, - "DeleteConstraint":{ - "name":"DeleteConstraint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConstraintInput"}, - "output":{"shape":"DeleteConstraintOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Deletes the specified constraint.

" - }, - "DeletePortfolio":{ - "name":"DeletePortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePortfolioInput"}, - "output":{"shape":"DeletePortfolioOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"}, - {"shape":"ResourceInUseException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Deletes the specified portfolio.

You cannot delete a portfolio if it was shared with you or if it has associated products, users, constraints, or shared accounts.

" - }, - "DeletePortfolioShare":{ - "name":"DeletePortfolioShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePortfolioShareInput"}, - "output":{"shape":"DeletePortfolioShareOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Stops sharing the specified portfolio with the specified account.

" - }, - "DeleteProduct":{ - "name":"DeleteProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProductInput"}, - "output":{"shape":"DeleteProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidParametersException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Deletes the specified product.

You cannot delete a product if it was shared with you or is associated with a portfolio.

" - }, - "DeleteProvisionedProductPlan":{ - "name":"DeleteProvisionedProductPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProvisionedProductPlanInput"}, - "output":{"shape":"DeleteProvisionedProductPlanOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes the specified plan.

" - }, - "DeleteProvisioningArtifact":{ - "name":"DeleteProvisioningArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProvisioningArtifactInput"}, - "output":{"shape":"DeleteProvisioningArtifactOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Deletes the specified provisioning artifact (also known as a version) for the specified product.

You cannot delete a provisioning artifact associated with a product that was shared with you. You cannot delete the last provisioning artifact for a product, because a product must have at least one provisioning artifact.

" - }, - "DeleteTagOption":{ - "name":"DeleteTagOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagOptionInput"}, - "output":{"shape":"DeleteTagOptionOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceInUseException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Deletes the specified TagOption.

You cannot delete a TagOption if it is associated with a product or portfolio.

" - }, - "DescribeConstraint":{ - "name":"DescribeConstraint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConstraintInput"}, - "output":{"shape":"DescribeConstraintOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified constraint.

" - }, - "DescribeCopyProductStatus":{ - "name":"DescribeCopyProductStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCopyProductStatusInput"}, - "output":{"shape":"DescribeCopyProductStatusOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets the status of the specified copy product operation.

" - }, - "DescribePortfolio":{ - "name":"DescribePortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePortfolioInput"}, - "output":{"shape":"DescribePortfolioOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified portfolio.

" - }, - "DescribeProduct":{ - "name":"DescribeProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProductInput"}, - "output":{"shape":"DescribeProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the specified product.

" - }, - "DescribeProductAsAdmin":{ - "name":"DescribeProductAsAdmin", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProductAsAdminInput"}, - "output":{"shape":"DescribeProductAsAdminOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified product. This operation is run with administrator access.

" - }, - "DescribeProductView":{ - "name":"DescribeProductView", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProductViewInput"}, - "output":{"shape":"DescribeProductViewOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the specified product.

" - }, - "DescribeProvisionedProduct":{ - "name":"DescribeProvisionedProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProvisionedProductInput"}, - "output":{"shape":"DescribeProvisionedProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified provisioned product.

" - }, - "DescribeProvisionedProductPlan":{ - "name":"DescribeProvisionedProductPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProvisionedProductPlanInput"}, - "output":{"shape":"DescribeProvisionedProductPlanOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the resource changes for the specified plan.

" - }, - "DescribeProvisioningArtifact":{ - "name":"DescribeProvisioningArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProvisioningArtifactInput"}, - "output":{"shape":"DescribeProvisioningArtifactOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified provisioning artifact (also known as a version) for the specified product.

" - }, - "DescribeProvisioningParameters":{ - "name":"DescribeProvisioningParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProvisioningParametersInput"}, - "output":{"shape":"DescribeProvisioningParametersOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the configuration required to provision the specified product using the specified provisioning artifact.

If the output contains a TagOption key with an empty list of values, there is a TagOption conflict for that key. The end user cannot take action to fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct, do not include conflicted TagOption keys as tags, or this causes the error \"Parameter validation failed: Missing required parameter in Tags[N]:Value\". Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.

" - }, - "DescribeRecord":{ - "name":"DescribeRecord", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeRecordInput"}, - "output":{"shape":"DescribeRecordOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified request operation.

Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

" - }, - "DescribeTagOption":{ - "name":"DescribeTagOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagOptionInput"}, - "output":{"shape":"DescribeTagOptionOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Gets information about the specified TagOption.

" - }, - "DisassociatePrincipalFromPortfolio":{ - "name":"DisassociatePrincipalFromPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociatePrincipalFromPortfolioInput"}, - "output":{"shape":"DisassociatePrincipalFromPortfolioOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociates a previously associated principal ARN from a specified portfolio.

" - }, - "DisassociateProductFromPortfolio":{ - "name":"DisassociateProductFromPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateProductFromPortfolioInput"}, - "output":{"shape":"DisassociateProductFromPortfolioOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Disassociates the specified product from the specified portfolio.

" - }, - "DisassociateTagOptionFromResource":{ - "name":"DisassociateTagOptionFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateTagOptionFromResourceInput"}, - "output":{"shape":"DisassociateTagOptionFromResourceOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Disassociates the specified TagOption from the specified resource.

" - }, - "ExecuteProvisionedProductPlan":{ - "name":"ExecuteProvisionedProductPlan", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ExecuteProvisionedProductPlanInput"}, - "output":{"shape":"ExecuteProvisionedProductPlanOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidStateException"} - ], - "documentation":"

Provisions or modifies a product based on the resource changes for the specified plan.

" - }, - "ListAcceptedPortfolioShares":{ - "name":"ListAcceptedPortfolioShares", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAcceptedPortfolioSharesInput"}, - "output":{"shape":"ListAcceptedPortfolioSharesOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists all portfolios for which sharing was accepted by this account.

" - }, - "ListConstraintsForPortfolio":{ - "name":"ListConstraintsForPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListConstraintsForPortfolioInput"}, - "output":{"shape":"ListConstraintsForPortfolioOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the constraints for the specified portfolio and product.

" - }, - "ListLaunchPaths":{ - "name":"ListLaunchPaths", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListLaunchPathsInput"}, - "output":{"shape":"ListLaunchPathsOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.

" - }, - "ListPortfolioAccess":{ - "name":"ListPortfolioAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPortfolioAccessInput"}, - "output":{"shape":"ListPortfolioAccessOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the account IDs that have access to the specified portfolio.

" - }, - "ListPortfolios":{ - "name":"ListPortfolios", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPortfoliosInput"}, - "output":{"shape":"ListPortfoliosOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists all portfolios in the catalog.

" - }, - "ListPortfoliosForProduct":{ - "name":"ListPortfoliosForProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPortfoliosForProductInput"}, - "output":{"shape":"ListPortfoliosForProductOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists all portfolios that the specified product is associated with.

" - }, - "ListPrincipalsForPortfolio":{ - "name":"ListPrincipalsForPortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPrincipalsForPortfolioInput"}, - "output":{"shape":"ListPrincipalsForPortfolioOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists all principal ARNs associated with the specified portfolio.

" - }, - "ListProvisionedProductPlans":{ - "name":"ListProvisionedProductPlans", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProvisionedProductPlansInput"}, - "output":{"shape":"ListProvisionedProductPlansOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the plans for the specified provisioned product or all plans to which the user has access.

" - }, - "ListProvisioningArtifacts":{ - "name":"ListProvisioningArtifacts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProvisioningArtifactsInput"}, - "output":{"shape":"ListProvisioningArtifactsOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists all provisioning artifacts (also known as versions) for the specified product.

" - }, - "ListRecordHistory":{ - "name":"ListRecordHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRecordHistoryInput"}, - "output":{"shape":"ListRecordHistoryOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the specified requests or all performed requests.

" - }, - "ListResourcesForTagOption":{ - "name":"ListResourcesForTagOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourcesForTagOptionInput"}, - "output":{"shape":"ListResourcesForTagOptionOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the resources associated with the specified TagOption.

" - }, - "ListTagOptions":{ - "name":"ListTagOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagOptionsInput"}, - "output":{"shape":"ListTagOptionsOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the specified TagOptions or all TagOptions.

" - }, - "ProvisionProduct":{ - "name":"ProvisionProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ProvisionProductInput"}, - "output":{"shape":"ProvisionProductOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DuplicateResourceException"} - ], - "documentation":"

Provisions the specified product.

A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord.

If the request contains a tag key with an empty list of values, there is a tag conflict for that key. Do not include conflicted keys as tags, or this causes the error \"Parameter validation failed: Missing required parameter in Tags[N]:Value\".

" - }, - "RejectPortfolioShare":{ - "name":"RejectPortfolioShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RejectPortfolioShareInput"}, - "output":{"shape":"RejectPortfolioShareOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Rejects an offer to share the specified portfolio.

" - }, - "ScanProvisionedProducts":{ - "name":"ScanProvisionedProducts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ScanProvisionedProductsInput"}, - "output":{"shape":"ScanProvisionedProductsOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Lists the provisioned products that are available (not terminated).

To use additional filtering, see SearchProvisionedProducts.

" - }, - "SearchProducts":{ - "name":"SearchProducts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchProductsInput"}, - "output":{"shape":"SearchProductsOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the products to which the caller has access.

" - }, - "SearchProductsAsAdmin":{ - "name":"SearchProductsAsAdmin", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchProductsAsAdminInput"}, - "output":{"shape":"SearchProductsAsAdminOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the products for the specified portfolio or all products.

" - }, - "SearchProvisionedProducts":{ - "name":"SearchProvisionedProducts", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SearchProvisionedProductsInput"}, - "output":{"shape":"SearchProvisionedProductsOutput"}, - "errors":[ - {"shape":"InvalidParametersException"} - ], - "documentation":"

Gets information about the provisioned products that meet the specified criteria.

" - }, - "TerminateProvisionedProduct":{ - "name":"TerminateProvisionedProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateProvisionedProductInput"}, - "output":{"shape":"TerminateProvisionedProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Terminates the specified provisioned product.

This operation does not delete any records associated with the provisioned product.

You can check the status of this request using DescribeRecord.

" - }, - "UpdateConstraint":{ - "name":"UpdateConstraint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConstraintInput"}, - "output":{"shape":"UpdateConstraintOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Updates the specified constraint.

" - }, - "UpdatePortfolio":{ - "name":"UpdatePortfolio", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePortfolioInput"}, - "output":{"shape":"UpdatePortfolioOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Updates the specified portfolio.

You cannot update a product that was shared with you.

" - }, - "UpdateProduct":{ - "name":"UpdateProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProductInput"}, - "output":{"shape":"UpdateProductOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"}, - {"shape":"TagOptionNotMigratedException"} - ], - "documentation":"

Updates the specified product.

" - }, - "UpdateProvisionedProduct":{ - "name":"UpdateProvisionedProduct", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProvisionedProductInput"}, - "output":{"shape":"UpdateProvisionedProductOutput"}, - "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Requests updates to the configuration of the specified provisioned product.

If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

You can check the status of this request using DescribeRecord.

" - }, - "UpdateProvisioningArtifact":{ - "name":"UpdateProvisioningArtifact", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateProvisioningArtifactInput"}, - "output":{"shape":"UpdateProvisioningArtifactOutput"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Updates the specified provisioning artifact (also known as a version) for the specified product.

You cannot update a provisioning artifact for a product that was shared with you.

" - }, - "UpdateTagOption":{ - "name":"UpdateTagOption", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTagOptionInput"}, - "output":{"shape":"UpdateTagOptionOutput"}, - "errors":[ - {"shape":"TagOptionNotMigratedException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DuplicateResourceException"}, - {"shape":"InvalidParametersException"} - ], - "documentation":"

Updates the specified TagOption.

" - } - }, - "shapes":{ - "AcceptLanguage":{"type":"string"}, - "AcceptPortfolioShareInput":{ - "type":"structure", - "required":["PortfolioId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "AcceptPortfolioShareOutput":{ - "type":"structure", - "members":{ - } - }, - "AccessLevelFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"AccessLevelFilterKey", - "documentation":"

The access level.

  • Account - Filter results based on the account.

  • Role - Filter results based on the federated role of the specified user.

  • User - Filter results based on the specified user.

" - }, - "Value":{ - "shape":"AccessLevelFilterValue", - "documentation":"

The user to which the access level applies. The only supported value is Self.

" - } - }, - "documentation":"

The access level to use to filter results.

" - }, - "AccessLevelFilterKey":{ - "type":"string", - "enum":[ - "Account", - "Role", - "User" - ] - }, - "AccessLevelFilterValue":{"type":"string"}, - "AccountId":{ - "type":"string", - "pattern":"^[0-9]{12}$" - }, - "AccountIds":{ - "type":"list", - "member":{"shape":"AccountId"} - }, - "AddTags":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":20 - }, - "AllowedValue":{"type":"string"}, - "AllowedValues":{ - "type":"list", - "member":{"shape":"AllowedValue"} - }, - "ApproximateCount":{"type":"integer"}, - "AssociatePrincipalWithPortfolioInput":{ - "type":"structure", - "required":[ - "PortfolioId", - "PrincipalARN", - "PrincipalType" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "PrincipalARN":{ - "shape":"PrincipalARN", - "documentation":"

The ARN of the principal (IAM user, role, or group).

" - }, - "PrincipalType":{ - "shape":"PrincipalType", - "documentation":"

The principal type. The supported value is IAM.

" - } - } - }, - "AssociatePrincipalWithPortfolioOutput":{ - "type":"structure", - "members":{ - } - }, - "AssociateProductWithPortfolioInput":{ - "type":"structure", - "required":[ - "ProductId", - "PortfolioId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "SourcePortfolioId":{ - "shape":"Id", - "documentation":"

The identifier of the source portfolio.

" - } - } - }, - "AssociateProductWithPortfolioOutput":{ - "type":"structure", - "members":{ - } - }, - "AssociateTagOptionWithResourceInput":{ - "type":"structure", - "required":[ - "ResourceId", - "TagOptionId" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource identifier.

" - }, - "TagOptionId":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - } - } - }, - "AssociateTagOptionWithResourceOutput":{ - "type":"structure", - "members":{ - } - }, - "AttributeValue":{"type":"string"}, - "CausingEntity":{"type":"string"}, - "ChangeAction":{ - "type":"string", - "enum":[ - "ADD", - "MODIFY", - "REMOVE" - ] - }, - "CloudWatchDashboard":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"CloudWatchDashboardName", - "documentation":"

The name of the CloudWatch dashboard.

" - } - }, - "documentation":"

Information about a CloudWatch dashboard.

" - }, - "CloudWatchDashboardName":{"type":"string"}, - "CloudWatchDashboards":{ - "type":"list", - "member":{"shape":"CloudWatchDashboard"} - }, - "ConstraintDescription":{ - "type":"string", - "max":2000 - }, - "ConstraintDetail":{ - "type":"structure", - "members":{ - "ConstraintId":{ - "shape":"Id", - "documentation":"

The identifier of the constraint.

" - }, - "Type":{ - "shape":"ConstraintType", - "documentation":"

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

" - }, - "Description":{ - "shape":"ConstraintDescription", - "documentation":"

The description of the constraint.

" - }, - "Owner":{ - "shape":"AccountId", - "documentation":"

The owner of the constraint.

" - } - }, - "documentation":"

Information about a constraint.

" - }, - "ConstraintDetails":{ - "type":"list", - "member":{"shape":"ConstraintDetail"} - }, - "ConstraintParameters":{"type":"string"}, - "ConstraintSummaries":{ - "type":"list", - "member":{"shape":"ConstraintSummary"} - }, - "ConstraintSummary":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"ConstraintType", - "documentation":"

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

" - }, - "Description":{ - "shape":"ConstraintDescription", - "documentation":"

The description of the constraint.

" - } - }, - "documentation":"

Summary information about a constraint.

" - }, - "ConstraintType":{ - "type":"string", - "max":1024, - "min":1 - }, - "CopyOption":{ - "type":"string", - "enum":["CopyTags"] - }, - "CopyOptions":{ - "type":"list", - "member":{"shape":"CopyOption"} - }, - "CopyProductInput":{ - "type":"structure", - "required":[ - "SourceProductArn", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "SourceProductArn":{ - "shape":"ProductArn", - "documentation":"

The Amazon Resource Name (ARN) of the source product.

" - }, - "TargetProductId":{ - "shape":"Id", - "documentation":"

The identifier of the target product. By default, a new product is created.

" - }, - "TargetProductName":{ - "shape":"ProductViewName", - "documentation":"

A name for the target product. The default is the name of the source product.

" - }, - "SourceProvisioningArtifactIdentifiers":{ - "shape":"SourceProvisioningArtifactProperties", - "documentation":"

The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied.

" - }, - "CopyOptions":{ - "shape":"CopyOptions", - "documentation":"

The copy options. If the value is CopyTags, the tags from the source product are copied to the target product.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "CopyProductOutput":{ - "type":"structure", - "members":{ - "CopyProductToken":{ - "shape":"Id", - "documentation":"

The token to use to track the progress of the operation.

" - } - } - }, - "CopyProductStatus":{ - "type":"string", - "enum":[ - "SUCCEEDED", - "IN_PROGRESS", - "FAILED" - ] - }, - "CreateConstraintInput":{ - "type":"structure", - "required":[ - "PortfolioId", - "ProductId", - "Parameters", - "Type", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "Parameters":{ - "shape":"ConstraintParameters", - "documentation":"

The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

LAUNCH

Specify the RoleArn property as follows:

\\\"RoleArn\\\" : \\\"arn:aws:iam::123456789012:role/LaunchRole\\\"

NOTIFICATION

Specify the NotificationArns property as follows:

\\\"NotificationArns\\\" : [\\\"arn:aws:sns:us-east-1:123456789012:Topic\\\"]

TEMPLATE

Specify the Rules property. For more information, see Template Constraint Rules.

" - }, - "Type":{ - "shape":"ConstraintType", - "documentation":"

The type of constraint.

  • LAUNCH

  • NOTIFICATION

  • TEMPLATE

" - }, - "Description":{ - "shape":"ConstraintDescription", - "documentation":"

The description of the constraint.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "CreateConstraintOutput":{ - "type":"structure", - "members":{ - "ConstraintDetail":{ - "shape":"ConstraintDetail", - "documentation":"

Information about the constraint.

" - }, - "ConstraintParameters":{ - "shape":"ConstraintParameters", - "documentation":"

The constraint parameters.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "CreatePortfolioInput":{ - "type":"structure", - "required":[ - "DisplayName", - "ProviderName", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "DisplayName":{ - "shape":"PortfolioDisplayName", - "documentation":"

The name to use for display purposes.

" - }, - "Description":{ - "shape":"PortfolioDescription", - "documentation":"

The description of the portfolio.

" - }, - "ProviderName":{ - "shape":"ProviderName", - "documentation":"

The name of the portfolio provider.

" - }, - "Tags":{ - "shape":"AddTags", - "documentation":"

One or more tags.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "CreatePortfolioOutput":{ - "type":"structure", - "members":{ - "PortfolioDetail":{ - "shape":"PortfolioDetail", - "documentation":"

Information about the portfolio.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the portfolio.

" - } - } - }, - "CreatePortfolioShareInput":{ - "type":"structure", - "required":[ - "PortfolioId", - "AccountId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The AWS account ID.

" - } - } - }, - "CreatePortfolioShareOutput":{ - "type":"structure", - "members":{ - } - }, - "CreateProductInput":{ - "type":"structure", - "required":[ - "Name", - "Owner", - "ProductType", - "ProvisioningArtifactParameters", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Name":{ - "shape":"ProductViewName", - "documentation":"

The name of the product.

" - }, - "Owner":{ - "shape":"ProductViewOwner", - "documentation":"

The owner of the product.

" - }, - "Description":{ - "shape":"ProductViewShortDescription", - "documentation":"

The description of the product.

" - }, - "Distributor":{ - "shape":"ProductViewOwner", - "documentation":"

The distributor of the product.

" - }, - "SupportDescription":{ - "shape":"SupportDescription", - "documentation":"

The support information about the product.

" - }, - "SupportEmail":{ - "shape":"SupportEmail", - "documentation":"

The contact email for product support.

" - }, - "SupportUrl":{ - "shape":"SupportUrl", - "documentation":"

The contact URL for product support.

" - }, - "ProductType":{ - "shape":"ProductType", - "documentation":"

The type of product.

" - }, - "Tags":{ - "shape":"AddTags", - "documentation":"

One or more tags.

" - }, - "ProvisioningArtifactParameters":{ - "shape":"ProvisioningArtifactProperties", - "documentation":"

The configuration of the provisioning artifact.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "CreateProductOutput":{ - "type":"structure", - "members":{ - "ProductViewDetail":{ - "shape":"ProductViewDetail", - "documentation":"

Information about the product view.

" - }, - "ProvisioningArtifactDetail":{ - "shape":"ProvisioningArtifactDetail", - "documentation":"

Information about the provisioning artifact.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the product.

" - } - } - }, - "CreateProvisionedProductPlanInput":{ - "type":"structure", - "required":[ - "PlanName", - "PlanType", - "ProductId", - "ProvisionedProductName", - "ProvisioningArtifactId", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PlanName":{ - "shape":"ProvisionedProductPlanName", - "documentation":"

The name of the plan.

" - }, - "PlanType":{ - "shape":"ProvisionedProductPlanType", - "documentation":"

The plan type.

" - }, - "NotificationArns":{ - "shape":"NotificationArns", - "documentation":"

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "ProvisioningParameters":{ - "shape":"UpdateProvisioningParameters", - "documentation":"

Parameters specified by the administrator that are required for provisioning the product.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - }, - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - } - } - }, - "CreateProvisionedProductPlanOutput":{ - "type":"structure", - "members":{ - "PlanName":{ - "shape":"ProvisionedProductPlanName", - "documentation":"

The name of the plan.

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "ProvisionProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - } - } - }, - "CreateProvisioningArtifactInput":{ - "type":"structure", - "required":[ - "ProductId", - "Parameters", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "Parameters":{ - "shape":"ProvisioningArtifactProperties", - "documentation":"

The configuration for the provisioning artifact.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "CreateProvisioningArtifactOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactDetail":{ - "shape":"ProvisioningArtifactDetail", - "documentation":"

Information about the provisioning artifact.

" - }, - "Info":{ - "shape":"ProvisioningArtifactInfo", - "documentation":"

The URL of the CloudFormation template in Amazon S3, in JSON format.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "CreateTagOptionInput":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagOptionKey", - "documentation":"

The TagOption key.

" - }, - "Value":{ - "shape":"TagOptionValue", - "documentation":"

The TagOption value.

" - } - } - }, - "CreateTagOptionOutput":{ - "type":"structure", - "members":{ - "TagOptionDetail":{ - "shape":"TagOptionDetail", - "documentation":"

Information about the TagOption.

" - } - } - }, - "CreatedTime":{"type":"timestamp"}, - "CreationTime":{"type":"timestamp"}, - "DefaultValue":{"type":"string"}, - "DeleteConstraintInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the constraint.

" - } - } - }, - "DeleteConstraintOutput":{ - "type":"structure", - "members":{ - } - }, - "DeletePortfolioInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "DeletePortfolioOutput":{ - "type":"structure", - "members":{ - } - }, - "DeletePortfolioShareInput":{ - "type":"structure", - "required":[ - "PortfolioId", - "AccountId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "AccountId":{ - "shape":"AccountId", - "documentation":"

The AWS account ID.

" - } - } - }, - "DeletePortfolioShareOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteProductInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The product identifier.

" - } - } - }, - "DeleteProductOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteProvisionedProductPlanInput":{ - "type":"structure", - "required":["PlanId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "IgnoreErrors":{ - "shape":"IgnoreErrors", - "documentation":"

If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

" - } - } - }, - "DeleteProvisionedProductPlanOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteProvisioningArtifactInput":{ - "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - } - } - }, - "DeleteProvisioningArtifactOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteTagOptionInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - } - } - }, - "DeleteTagOptionOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeConstraintInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the constraint.

" - } - } - }, - "DescribeConstraintOutput":{ - "type":"structure", - "members":{ - "ConstraintDetail":{ - "shape":"ConstraintDetail", - "documentation":"

Information about the constraint.

" - }, - "ConstraintParameters":{ - "shape":"ConstraintParameters", - "documentation":"

The constraint parameters.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "DescribeCopyProductStatusInput":{ - "type":"structure", - "required":["CopyProductToken"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "CopyProductToken":{ - "shape":"Id", - "documentation":"

The token for the copy product operation. This token is returned by CopyProduct.

" - } - } - }, - "DescribeCopyProductStatusOutput":{ - "type":"structure", - "members":{ - "CopyProductStatus":{ - "shape":"CopyProductStatus", - "documentation":"

The status of the copy product operation.

" - }, - "TargetProductId":{ - "shape":"Id", - "documentation":"

The identifier of the copied product.

" - }, - "StatusDetail":{ - "shape":"StatusDetail", - "documentation":"

The status message.

" - } - } - }, - "DescribePortfolioInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "DescribePortfolioOutput":{ - "type":"structure", - "members":{ - "PortfolioDetail":{ - "shape":"PortfolioDetail", - "documentation":"

Information about the portfolio.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the portfolio.

" - }, - "TagOptions":{ - "shape":"TagOptionDetails", - "documentation":"

Information about the TagOptions associated with the portfolio.

" - } - } - }, - "DescribeProductAsAdminInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The product identifier.

" - } - } - }, - "DescribeProductAsAdminOutput":{ - "type":"structure", - "members":{ - "ProductViewDetail":{ - "shape":"ProductViewDetail", - "documentation":"

Information about the product view.

" - }, - "ProvisioningArtifactSummaries":{ - "shape":"ProvisioningArtifactSummaries", - "documentation":"

Information about the provisioning artifacts (also known as versions) for the specified product.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the product.

" - }, - "TagOptions":{ - "shape":"TagOptionDetails", - "documentation":"

Information about the TagOptions associated with the product.

" - } - } - }, - "DescribeProductInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The product identifier.

" - } - } - }, - "DescribeProductOutput":{ - "type":"structure", - "members":{ - "ProductViewSummary":{ - "shape":"ProductViewSummary", - "documentation":"

Summary information about the product view.

" - }, - "ProvisioningArtifacts":{ - "shape":"ProvisioningArtifacts", - "documentation":"

Information about the provisioning artifacts for the specified product.

" - } - } - }, - "DescribeProductViewInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The product view identifier.

" - } - } - }, - "DescribeProductViewOutput":{ - "type":"structure", - "members":{ - "ProductViewSummary":{ - "shape":"ProductViewSummary", - "documentation":"

Summary information about the product.

" - }, - "ProvisioningArtifacts":{ - "shape":"ProvisioningArtifacts", - "documentation":"

Information about the provisioning artifacts for the product.

" - } - } - }, - "DescribeProvisionedProductInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The provisioned product identifier.

" - } - } - }, - "DescribeProvisionedProductOutput":{ - "type":"structure", - "members":{ - "ProvisionedProductDetail":{ - "shape":"ProvisionedProductDetail", - "documentation":"

Information about the provisioned product.

" - }, - "CloudWatchDashboards":{ - "shape":"CloudWatchDashboards", - "documentation":"

Any CloudWatch dashboards that were created when provisioning the product.

" - } - } - }, - "DescribeProvisionedProductPlanInput":{ - "type":"structure", - "required":["PlanId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "DescribeProvisionedProductPlanOutput":{ - "type":"structure", - "members":{ - "ProvisionedProductPlanDetails":{ - "shape":"ProvisionedProductPlanDetails", - "documentation":"

Information about the plan.

" - }, - "ResourceChanges":{ - "shape":"ResourceChanges", - "documentation":"

Information about the resource changes that will occur when the plan is executed.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "DescribeProvisioningArtifactInput":{ - "type":"structure", - "required":[ - "ProvisioningArtifactId", - "ProductId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "Verbose":{ - "shape":"Verbose", - "documentation":"

Indicates whether a verbose level of detail is enabled.

" - } - } - }, - "DescribeProvisioningArtifactOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactDetail":{ - "shape":"ProvisioningArtifactDetail", - "documentation":"

Information about the provisioning artifact.

" - }, - "Info":{ - "shape":"ProvisioningArtifactInfo", - "documentation":"

The URL of the CloudFormation template in Amazon S3.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "DescribeProvisioningParametersInput":{ - "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

" - } - } - }, - "DescribeProvisioningParametersOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactParameters":{ - "shape":"ProvisioningArtifactParameters", - "documentation":"

Information about the parameters used to provision the product.

" - }, - "ConstraintSummaries":{ - "shape":"ConstraintSummaries", - "documentation":"

Information about the constraints used to provision the product.

" - }, - "UsageInstructions":{ - "shape":"UsageInstructions", - "documentation":"

Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template.

" - }, - "TagOptions":{ - "shape":"TagOptionSummaries", - "documentation":"

Information about the TagOptions associated with the resource.

" - } - } - }, - "DescribeRecordInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The record identifier of the provisioned product. This identifier is returned by the request operation.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - } - } - }, - "DescribeRecordOutput":{ - "type":"structure", - "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

Information about the product.

" - }, - "RecordOutputs":{ - "shape":"RecordOutputs", - "documentation":"

Information about the product created as the result of a request. For example, the output for a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "DescribeTagOptionInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - } - } - }, - "DescribeTagOptionOutput":{ - "type":"structure", - "members":{ - "TagOptionDetail":{ - "shape":"TagOptionDetail", - "documentation":"

Information about the TagOption.

" - } - } - }, - "Description":{"type":"string"}, - "DisassociatePrincipalFromPortfolioInput":{ - "type":"structure", - "required":[ - "PortfolioId", - "PrincipalARN" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "PrincipalARN":{ - "shape":"PrincipalARN", - "documentation":"

The ARN of the principal (IAM user, role, or group).

" - } - } - }, - "DisassociatePrincipalFromPortfolioOutput":{ - "type":"structure", - "members":{ - } - }, - "DisassociateProductFromPortfolioInput":{ - "type":"structure", - "required":[ - "ProductId", - "PortfolioId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "DisassociateProductFromPortfolioOutput":{ - "type":"structure", - "members":{ - } - }, - "DisassociateTagOptionFromResourceInput":{ - "type":"structure", - "required":[ - "ResourceId", - "TagOptionId" - ], - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource identifier.

" - }, - "TagOptionId":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - } - } - }, - "DisassociateTagOptionFromResourceOutput":{ - "type":"structure", - "members":{ - } - }, - "DuplicateResourceException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource is a duplicate.

", - "exception":true - }, - "ErrorCode":{"type":"string"}, - "ErrorDescription":{"type":"string"}, - "EvaluationType":{ - "type":"string", - "enum":[ - "STATIC", - "DYNAMIC" - ] - }, - "ExecuteProvisionedProductPlanInput":{ - "type":"structure", - "required":[ - "PlanId", - "IdempotencyToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

", - "idempotencyToken":true - } - } - }, - "ExecuteProvisionedProductPlanOutput":{ - "type":"structure", - "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

Information about the result of provisioning the product.

" - } - } - }, - "HasDefaultPath":{"type":"boolean"}, - "Id":{ - "type":"string", - "max":100, - "min":1 - }, - "IdempotencyToken":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" - }, - "IgnoreErrors":{"type":"boolean"}, - "InstructionType":{"type":"string"}, - "InstructionValue":{"type":"string"}, - "InvalidParametersException":{ - "type":"structure", - "members":{ - }, - "documentation":"

One or more parameters provided to the operation are not valid.

", - "exception":true - }, - "InvalidStateException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An attempt was made to modify a resource that is in a state that is not valid. Check your resources to ensure that they are in valid states before retrying the operation.

", - "exception":true - }, - "LastRequestId":{"type":"string"}, - "LaunchPathSummaries":{ - "type":"list", - "member":{"shape":"LaunchPathSummary"} - }, - "LaunchPathSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the product path.

" - }, - "ConstraintSummaries":{ - "shape":"ConstraintSummaries", - "documentation":"

The constraints on the portfolio-product relationship.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The tags associated with this product path.

" - }, - "Name":{ - "shape":"PortfolioName", - "documentation":"

The name of the portfolio to which the user was assigned.

" - } - }, - "documentation":"

Summary information about a product path for a user.

" - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The current limits of the service would have been exceeded by this operation. Decrease your resource use or increase your service limits and retry the operation.

", - "exception":true - }, - "ListAcceptedPortfolioSharesInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PortfolioShareType":{ - "shape":"PortfolioShareType", - "documentation":"

The type of shared portfolios to list. The default is to list imported portfolios.

  • AWS_SERVICECATALOG - List default portfolios

  • IMPORTED - List imported portfolios

" - } - } - }, - "ListAcceptedPortfolioSharesOutput":{ - "type":"structure", - "members":{ - "PortfolioDetails":{ - "shape":"PortfolioDetails", - "documentation":"

Information about the portfolios.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListConstraintsForPortfolioInput":{ - "type":"structure", - "required":["PortfolioId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListConstraintsForPortfolioOutput":{ - "type":"structure", - "members":{ - "ConstraintDetails":{ - "shape":"ConstraintDetails", - "documentation":"

Information about the constraints.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListLaunchPathsInput":{ - "type":"structure", - "required":["ProductId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListLaunchPathsOutput":{ - "type":"structure", - "members":{ - "LaunchPathSummaries":{ - "shape":"LaunchPathSummaries", - "documentation":"

Information about the launch path.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListPortfolioAccessInput":{ - "type":"structure", - "required":["PortfolioId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "ListPortfolioAccessOutput":{ - "type":"structure", - "members":{ - "AccountIds":{ - "shape":"AccountIds", - "documentation":"

Information about the AWS accounts with access to the portfolio.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListPortfoliosForProductInput":{ - "type":"structure", - "required":["ProductId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - } - } - }, - "ListPortfoliosForProductOutput":{ - "type":"structure", - "members":{ - "PortfolioDetails":{ - "shape":"PortfolioDetails", - "documentation":"

Information about the portfolios.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListPortfoliosInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - } - } - }, - "ListPortfoliosOutput":{ - "type":"structure", - "members":{ - "PortfolioDetails":{ - "shape":"PortfolioDetails", - "documentation":"

Information about the portfolios.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListPrincipalsForPortfolioInput":{ - "type":"structure", - "required":["PortfolioId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListPrincipalsForPortfolioOutput":{ - "type":"structure", - "members":{ - "Principals":{ - "shape":"Principals", - "documentation":"

The IAM principals (users or roles) associated with the portfolio.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListProvisionedProductPlansInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProvisionProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

The access level to use to obtain results. The default is User.

" - } - } - }, - "ListProvisionedProductPlansOutput":{ - "type":"structure", - "members":{ - "ProvisionedProductPlans":{ - "shape":"ProvisionedProductPlans", - "documentation":"

Information about the plans.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListProvisioningArtifactsInput":{ - "type":"structure", - "required":["ProductId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - } - } - }, - "ListProvisioningArtifactsOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactDetails":{ - "shape":"ProvisioningArtifactDetails", - "documentation":"

Information about the provisioning artifacts.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListRecordHistoryInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

The access level to use to obtain results. The default is User.

" - }, - "SearchFilter":{ - "shape":"ListRecordHistorySearchFilter", - "documentation":"

The search filter to scope the results.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListRecordHistoryOutput":{ - "type":"structure", - "members":{ - "RecordDetails":{ - "shape":"RecordDetails", - "documentation":"

The records, in reverse chronological order.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "ListRecordHistorySearchFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"SearchFilterKey", - "documentation":"

The filter key.

  • product - Filter results based on the specified product identifier.

  • provisionedproduct - Filter results based on the provisioned product identifier.

" - }, - "Value":{ - "shape":"SearchFilterValue", - "documentation":"

The filter value.

" - } - }, - "documentation":"

The search filter to use when listing history records.

" - }, - "ListResourcesForTagOptionInput":{ - "type":"structure", - "required":["TagOptionId"], - "members":{ - "TagOptionId":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

  • Portfolio

  • Product

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListResourcesForTagOptionOutput":{ - "type":"structure", - "members":{ - "ResourceDetails":{ - "shape":"ResourceDetails", - "documentation":"

Information about the resources.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListTagOptionsFilters":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagOptionKey", - "documentation":"

The TagOption key.

" - }, - "Value":{ - "shape":"TagOptionValue", - "documentation":"

The TagOption value.

" - }, - "Active":{ - "shape":"TagOptionActive", - "documentation":"

The active state.

" - } - }, - "documentation":"

Filters to use when listing TagOptions.

" - }, - "ListTagOptionsInput":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"ListTagOptionsFilters", - "documentation":"

The search filters. If no search filters are specified, the output includes all TagOptions.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ListTagOptionsOutput":{ - "type":"structure", - "members":{ - "TagOptionDetails":{ - "shape":"TagOptionDetails", - "documentation":"

Information about the TagOptions.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "LogicalResourceId":{"type":"string"}, - "NoEcho":{"type":"boolean"}, - "NotificationArn":{ - "type":"string", - "max":1224, - "min":1, - "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" - }, - "NotificationArns":{ - "type":"list", - "member":{"shape":"NotificationArn"}, - "max":5 - }, - "OutputKey":{"type":"string"}, - "OutputValue":{"type":"string"}, - "PageSize":{ - "type":"integer", - "max":20, - "min":0 - }, - "PageToken":{ - "type":"string", - "pattern":"[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*" - }, - "ParameterConstraints":{ - "type":"structure", - "members":{ - "AllowedValues":{ - "shape":"AllowedValues", - "documentation":"

The values that the administrator has allowed for the parameter.

" - } - }, - "documentation":"

The constraints that the administrator has put on the parameter.

" - }, - "ParameterKey":{ - "type":"string", - "max":1000, - "min":1 - }, - "ParameterType":{"type":"string"}, - "ParameterValue":{ - "type":"string", - "max":4096 - }, - "PhysicalId":{"type":"string"}, - "PhysicalResourceId":{"type":"string"}, - "PlanResourceType":{ - "type":"string", - "max":256, - "min":1 - }, - "PortfolioDescription":{ - "type":"string", - "max":2000 - }, - "PortfolioDetail":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "ARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN assigned to the portfolio.

" - }, - "DisplayName":{ - "shape":"PortfolioDisplayName", - "documentation":"

The name to use for display purposes.

" - }, - "Description":{ - "shape":"PortfolioDescription", - "documentation":"

The description of the portfolio.

" - }, - "CreatedTime":{ - "shape":"CreationTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "ProviderName":{ - "shape":"ProviderName", - "documentation":"

The name of the portfolio provider.

" - } - }, - "documentation":"

Information about a portfolio.

" - }, - "PortfolioDetails":{ - "type":"list", - "member":{"shape":"PortfolioDetail"} - }, - "PortfolioDisplayName":{ - "type":"string", - "max":100, - "min":1 - }, - "PortfolioName":{"type":"string"}, - "PortfolioShareType":{ - "type":"string", - "enum":[ - "IMPORTED", - "AWS_SERVICECATALOG" - ] - }, - "Principal":{ - "type":"structure", - "members":{ - "PrincipalARN":{ - "shape":"PrincipalARN", - "documentation":"

The ARN of the principal (IAM user, role, or group).

" - }, - "PrincipalType":{ - "shape":"PrincipalType", - "documentation":"

The principal type. The supported value is IAM.

" - } - }, - "documentation":"

Information about a principal.

" - }, - "PrincipalARN":{ - "type":"string", - "max":1000, - "min":1 - }, - "PrincipalType":{ - "type":"string", - "enum":["IAM"] - }, - "Principals":{ - "type":"list", - "member":{"shape":"Principal"} - }, - "ProductArn":{ - "type":"string", - "max":1224, - "min":1, - "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" - }, - "ProductSource":{ - "type":"string", - "enum":["ACCOUNT"] - }, - "ProductType":{ - "type":"string", - "enum":[ - "CLOUD_FORMATION_TEMPLATE", - "MARKETPLACE" - ], - "max":8191 - }, - "ProductViewAggregationType":{"type":"string"}, - "ProductViewAggregationValue":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"AttributeValue", - "documentation":"

The value of the product view aggregation.

" - }, - "ApproximateCount":{ - "shape":"ApproximateCount", - "documentation":"

An approximate count of the products that match the value.

" - } - }, - "documentation":"

A single product view aggregation value/count pair, containing metadata about each product to which the calling user has access.

" - }, - "ProductViewAggregationValues":{ - "type":"list", - "member":{"shape":"ProductViewAggregationValue"} - }, - "ProductViewAggregations":{ - "type":"map", - "key":{"shape":"ProductViewAggregationType"}, - "value":{"shape":"ProductViewAggregationValues"} - }, - "ProductViewDetail":{ - "type":"structure", - "members":{ - "ProductViewSummary":{ - "shape":"ProductViewSummary", - "documentation":"

Summary information about the product view.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the product.

  • AVAILABLE - The product is ready for use.

  • CREATING - Product creation has started; the product is not ready for use.

  • FAILED - An action failed.

" - }, - "ProductARN":{ - "shape":"ResourceARN", - "documentation":"

The ARN of the product.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - } - }, - "documentation":"

Information about a product view.

" - }, - "ProductViewDetails":{ - "type":"list", - "member":{"shape":"ProductViewDetail"} - }, - "ProductViewDistributor":{"type":"string"}, - "ProductViewFilterBy":{ - "type":"string", - "enum":[ - "FullTextSearch", - "Owner", - "ProductType", - "SourceProductId" - ] - }, - "ProductViewFilterValue":{"type":"string"}, - "ProductViewFilterValues":{ - "type":"list", - "member":{"shape":"ProductViewFilterValue"} - }, - "ProductViewFilters":{ - "type":"map", - "key":{"shape":"ProductViewFilterBy"}, - "value":{"shape":"ProductViewFilterValues"} - }, - "ProductViewName":{ - "type":"string", - "max":8191 - }, - "ProductViewOwner":{ - "type":"string", - "max":8191 - }, - "ProductViewShortDescription":{ - "type":"string", - "max":8191 - }, - "ProductViewSortBy":{ - "type":"string", - "enum":[ - "Title", - "VersionCount", - "CreationDate" - ] - }, - "ProductViewSummaries":{ - "type":"list", - "member":{"shape":"ProductViewSummary"} - }, - "ProductViewSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The product view identifier.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "Name":{ - "shape":"ProductViewName", - "documentation":"

The name of the product.

" - }, - "Owner":{ - "shape":"ProductViewOwner", - "documentation":"

The owner of the product. Contact the product administrator for the significance of this value.

" - }, - "ShortDescription":{ - "shape":"ProductViewShortDescription", - "documentation":"

Short description of the product.

" - }, - "Type":{ - "shape":"ProductType", - "documentation":"

The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE, the product was created by AWS Marketplace.

" - }, - "Distributor":{ - "shape":"ProductViewDistributor", - "documentation":"

The distributor of the product. Contact the product administrator for the significance of this value.

" - }, - "HasDefaultPath":{ - "shape":"HasDefaultPath", - "documentation":"

Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

" - }, - "SupportEmail":{ - "shape":"SupportEmail", - "documentation":"

The email contact information to obtain support for this Product.

" - }, - "SupportDescription":{ - "shape":"SupportDescription", - "documentation":"

The description of the support for this Product.

" - }, - "SupportUrl":{ - "shape":"SupportUrl", - "documentation":"

The URL information to obtain support for this Product.

" - } - }, - "documentation":"

Summary information about a product view.

" - }, - "PropertyName":{"type":"string"}, - "ProviderName":{ - "type":"string", - "max":50, - "min":1 - }, - "ProvisionProductInput":{ - "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId", - "ProvisionedProductName", - "ProvisionToken" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

" - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

" - }, - "ProvisioningParameters":{ - "shape":"ProvisioningParameters", - "documentation":"

Parameters specified by the administrator that are required for provisioning the product.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - }, - "NotificationArns":{ - "shape":"NotificationArns", - "documentation":"

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

" - }, - "ProvisionToken":{ - "shape":"IdempotencyToken", - "documentation":"

An idempotency token that uniquely identifies the provisioning request.

", - "idempotencyToken":true - } - } - }, - "ProvisionProductOutput":{ - "type":"structure", - "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

Information about the result of provisioning the product.

" - } - } - }, - "ProvisionedProductAttribute":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "Arn":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The ARN of the provisioned product.

" - }, - "Type":{ - "shape":"ProvisionedProductType", - "documentation":"

The type of provisioned product. The supported value is CFN_STACK.

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the provisioned product.

" - }, - "Status":{ - "shape":"ProvisionedProductStatus", - "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state, operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred, the provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

" - }, - "StatusMessage":{ - "shape":"ProvisionedProductStatusMessage", - "documentation":"

The current status message of the provisioned product.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

" - }, - "LastRecordId":{ - "shape":"Id", - "documentation":"

The record identifier of the last request performed on this provisioned product.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - }, - "PhysicalId":{ - "shape":"PhysicalId", - "documentation":"

The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "UserArn":{ - "shape":"UserArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM user.

" - }, - "UserArnSession":{ - "shape":"UserArnSession", - "documentation":"

The ARN of the IAM user in the session. This ARN might contain a session ID.

" - } - }, - "documentation":"

Information about a provisioned product.

" - }, - "ProvisionedProductAttributes":{ - "type":"list", - "member":{"shape":"ProvisionedProductAttribute"} - }, - "ProvisionedProductDetail":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "Arn":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The ARN of the provisioned product.

" - }, - "Type":{ - "shape":"ProvisionedProductType", - "documentation":"

The type of provisioned product. The supported value is CFN_STACK.

" - }, - "Id":{ - "shape":"ProvisionedProductId", - "documentation":"

The identifier of the provisioned product.

" - }, - "Status":{ - "shape":"ProvisionedProductStatus", - "documentation":"

The current status of the provisioned product.

  • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

  • UNDER_CHANGE - Transitive state, operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

  • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

  • ERROR - An unexpected error occurred, the provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

" - }, - "StatusMessage":{ - "shape":"ProvisionedProductStatusMessage", - "documentation":"

The current status message of the provisioned product.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

" - }, - "LastRecordId":{ - "shape":"LastRequestId", - "documentation":"

The record identifier of the last request performed on this provisioned product.

" - } - }, - "documentation":"

Information about a provisioned product.

" - }, - "ProvisionedProductDetails":{ - "type":"list", - "member":{"shape":"ProvisionedProductDetail"} - }, - "ProvisionedProductFilters":{ - "type":"map", - "key":{"shape":"ProvisionedProductViewFilterBy"}, - "value":{"shape":"ProvisionedProductViewFilterValues"} - }, - "ProvisionedProductId":{"type":"string"}, - "ProvisionedProductName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]*" - }, - "ProvisionedProductNameOrArn":{ - "type":"string", - "max":1224, - "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" - }, - "ProvisionedProductPlanDetails":{ - "type":"structure", - "members":{ - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "PlanName":{ - "shape":"ProvisionedProductPlanName", - "documentation":"

The name of the plan.

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "ProvisionProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisionProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "PlanType":{ - "shape":"ProvisionedProductPlanType", - "documentation":"

The plan type.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "Status":{ - "shape":"ProvisionedProductPlanStatus", - "documentation":"

The status.

" - }, - "UpdatedTime":{ - "shape":"UpdatedTime", - "documentation":"

The time when the plan was last updated.

" - }, - "NotificationArns":{ - "shape":"NotificationArns", - "documentation":"

Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

" - }, - "ProvisioningParameters":{ - "shape":"UpdateProvisioningParameters", - "documentation":"

Parameters specified by the administrator that are required for provisioning the product.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

One or more tags.

" - }, - "StatusMessage":{ - "shape":"StatusMessage", - "documentation":"

The status message.

" - } - }, - "documentation":"

Information about a plan.

" - }, - "ProvisionedProductPlanName":{"type":"string"}, - "ProvisionedProductPlanStatus":{ - "type":"string", - "enum":[ - "CREATE_IN_PROGRESS", - "CREATE_SUCCESS", - "CREATE_FAILED", - "EXECUTE_IN_PROGRESS", - "EXECUTE_SUCCESS", - "EXECUTE_FAILED" - ] - }, - "ProvisionedProductPlanSummary":{ - "type":"structure", - "members":{ - "PlanName":{ - "shape":"ProvisionedProductPlanName", - "documentation":"

The name of the plan.

" - }, - "PlanId":{ - "shape":"Id", - "documentation":"

The plan identifier.

" - }, - "ProvisionProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisionProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "PlanType":{ - "shape":"ProvisionedProductPlanType", - "documentation":"

The plan type.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - } - }, - "documentation":"

Summary information about a plan.

" - }, - "ProvisionedProductPlanType":{ - "type":"string", - "enum":["CLOUDFORMATION"] - }, - "ProvisionedProductPlans":{ - "type":"list", - "member":{"shape":"ProvisionedProductPlanSummary"} - }, - "ProvisionedProductStatus":{ - "type":"string", - "enum":[ - "AVAILABLE", - "UNDER_CHANGE", - "TAINTED", - "ERROR", - "PLAN_IN_PROGRESS" - ] - }, - "ProvisionedProductStatusMessage":{"type":"string"}, - "ProvisionedProductType":{"type":"string"}, - "ProvisionedProductViewFilterBy":{ - "type":"string", - "enum":["SearchQuery"] - }, - "ProvisionedProductViewFilterValue":{"type":"string"}, - "ProvisionedProductViewFilterValues":{ - "type":"list", - "member":{"shape":"ProvisionedProductViewFilterValue"} - }, - "ProvisioningArtifact":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The name of the provisioning artifact.

" - }, - "Description":{ - "shape":"ProvisioningArtifactDescription", - "documentation":"

The description of the provisioning artifact.

" - }, - "CreatedTime":{ - "shape":"ProvisioningArtifactCreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - } - }, - "documentation":"

Information about a provisioning artifact. A provisioning artifact is also known as a product version.

" - }, - "ProvisioningArtifactActive":{"type":"boolean"}, - "ProvisioningArtifactCreatedTime":{"type":"timestamp"}, - "ProvisioningArtifactDescription":{"type":"string"}, - "ProvisioningArtifactDetail":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The name of the provisioning artifact.

" - }, - "Description":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The description of the provisioning artifact.

" - }, - "Type":{ - "shape":"ProvisioningArtifactType", - "documentation":"

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

" - }, - "CreatedTime":{ - "shape":"CreationTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "Active":{ - "shape":"ProvisioningArtifactActive", - "documentation":"

Indicates whether the product version is active.

" - } - }, - "documentation":"

Information about a provisioning artifact (also known as a version) for a product.

" - }, - "ProvisioningArtifactDetails":{ - "type":"list", - "member":{"shape":"ProvisioningArtifactDetail"} - }, - "ProvisioningArtifactInfo":{ - "type":"map", - "key":{"shape":"ProvisioningArtifactInfoKey"}, - "value":{"shape":"ProvisioningArtifactInfoValue"}, - "max":100, - "min":1 - }, - "ProvisioningArtifactInfoKey":{"type":"string"}, - "ProvisioningArtifactInfoValue":{"type":"string"}, - "ProvisioningArtifactName":{"type":"string"}, - "ProvisioningArtifactParameter":{ - "type":"structure", - "members":{ - "ParameterKey":{ - "shape":"ParameterKey", - "documentation":"

The parameter key.

" - }, - "DefaultValue":{ - "shape":"DefaultValue", - "documentation":"

The default value.

" - }, - "ParameterType":{ - "shape":"ParameterType", - "documentation":"

The parameter type.

" - }, - "IsNoEcho":{ - "shape":"NoEcho", - "documentation":"

If this value is true, the value for this parameter is obfuscated from view when the parameter is retrieved. This parameter is used to hide sensitive information.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description of the parameter.

" - }, - "ParameterConstraints":{ - "shape":"ParameterConstraints", - "documentation":"

Constraints that the administrator has put on a parameter.

" - } - }, - "documentation":"

Information about a parameter used to provision a product.

" - }, - "ProvisioningArtifactParameters":{ - "type":"list", - "member":{"shape":"ProvisioningArtifactParameter"} - }, - "ProvisioningArtifactProperties":{ - "type":"structure", - "required":["Info"], - "members":{ - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

" - }, - "Description":{ - "shape":"ProvisioningArtifactDescription", - "documentation":"

The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

" - }, - "Info":{ - "shape":"ProvisioningArtifactInfo", - "documentation":"

The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON format as follows:

\"LoadTemplateFromURL\": \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/...\"

" - }, - "Type":{ - "shape":"ProvisioningArtifactType", - "documentation":"

The type of provisioning artifact.

  • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

  • MARKETPLACE_AMI - AWS Marketplace AMI

  • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

" - } - }, - "documentation":"

Information about a provisioning artifact (also known as a version) for a product.

" - }, - "ProvisioningArtifactPropertyName":{ - "type":"string", - "enum":["Id"] - }, - "ProvisioningArtifactPropertyValue":{"type":"string"}, - "ProvisioningArtifactSummaries":{ - "type":"list", - "member":{"shape":"ProvisioningArtifactSummary"} - }, - "ProvisioningArtifactSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The name of the provisioning artifact.

" - }, - "Description":{ - "shape":"ProvisioningArtifactDescription", - "documentation":"

The description of the provisioning artifact.

" - }, - "CreatedTime":{ - "shape":"ProvisioningArtifactCreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "ProvisioningArtifactMetadata":{ - "shape":"ProvisioningArtifactInfo", - "documentation":"

The metadata for the provisioning artifact. This is used with AWS Marketplace products.

" - } - }, - "documentation":"

Summary information about a provisioning artifact (also known as a version) for a product.

" - }, - "ProvisioningArtifactType":{ - "type":"string", - "enum":[ - "CLOUD_FORMATION_TEMPLATE", - "MARKETPLACE_AMI", - "MARKETPLACE_CAR" - ] - }, - "ProvisioningArtifacts":{ - "type":"list", - "member":{"shape":"ProvisioningArtifact"} - }, - "ProvisioningParameter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"ParameterKey", - "documentation":"

The parameter key.

" - }, - "Value":{ - "shape":"ParameterValue", - "documentation":"

The parameter value.

" - } - }, - "documentation":"

Information about a parameter used to provision a product.

" - }, - "ProvisioningParameters":{ - "type":"list", - "member":{"shape":"ProvisioningParameter"} - }, - "RecordDetail":{ - "type":"structure", - "members":{ - "RecordId":{ - "shape":"Id", - "documentation":"

The identifier of the record.

" - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

The user-friendly name of the provisioned product.

" - }, - "Status":{ - "shape":"RecordStatus", - "documentation":"

The status of the provisioned product.

  • CREATED - The request was created but the operation has not started.

  • IN_PROGRESS - The requested operation is in progress.

  • IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.

  • SUCCEEDED - The requested operation has successfully completed.

  • FAILED - The requested operation has unsuccessfully completed. Investigate using the error messages returned.

" - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

The UTC time stamp of the creation time.

" - }, - "UpdatedTime":{ - "shape":"UpdatedTime", - "documentation":"

The time when the record was last updated.

" - }, - "ProvisionedProductType":{ - "shape":"ProvisionedProductType", - "documentation":"

The type of provisioned product. The supported value is CFN_STACK.

" - }, - "RecordType":{ - "shape":"RecordType", - "documentation":"

The record type.

  • PROVISION_PRODUCT

  • UPDATE_PROVISIONED_PRODUCT

  • TERMINATE_PROVISIONED_PRODUCT

" - }, - "ProvisionedProductId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioned product.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The path identifier.

" - }, - "RecordErrors":{ - "shape":"RecordErrors", - "documentation":"

The errors that occurred.

" - }, - "RecordTags":{ - "shape":"RecordTags", - "documentation":"

One or more tags.

" - } - }, - "documentation":"

Information about a request operation.

" - }, - "RecordDetails":{ - "type":"list", - "member":{"shape":"RecordDetail"} - }, - "RecordError":{ - "type":"structure", - "members":{ - "Code":{ - "shape":"ErrorCode", - "documentation":"

The numeric value of the error.

" - }, - "Description":{ - "shape":"ErrorDescription", - "documentation":"

The description of the error.

" - } - }, - "documentation":"

The error code and description resulting from an operation.

" - }, - "RecordErrors":{ - "type":"list", - "member":{"shape":"RecordError"} - }, - "RecordOutput":{ - "type":"structure", - "members":{ - "OutputKey":{ - "shape":"OutputKey", - "documentation":"

The output key.

" - }, - "OutputValue":{ - "shape":"OutputValue", - "documentation":"

The output value.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

The description of the output.

" - } - }, - "documentation":"

The output for the product created as the result of a request. For example, the output for a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL.

" - }, - "RecordOutputs":{ - "type":"list", - "member":{"shape":"RecordOutput"} - }, - "RecordStatus":{ - "type":"string", - "enum":[ - "CREATED", - "IN_PROGRESS", - "IN_PROGRESS_IN_ERROR", - "SUCCEEDED", - "FAILED" - ] - }, - "RecordTag":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"RecordTagKey", - "documentation":"

The key for this tag.

" - }, - "Value":{ - "shape":"RecordTagValue", - "documentation":"

The value for this tag.

" - } - }, - "documentation":"

Information about a tag, which is a key-value pair.

" - }, - "RecordTagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" - }, - "RecordTagValue":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" - }, - "RecordTags":{ - "type":"list", - "member":{"shape":"RecordTag"}, - "max":50 - }, - "RecordType":{"type":"string"}, - "RejectPortfolioShareInput":{ - "type":"structure", - "required":["PortfolioId"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - } - } - }, - "RejectPortfolioShareOutput":{ - "type":"structure", - "members":{ - } - }, - "Replacement":{ - "type":"string", - "enum":[ - "TRUE", - "FALSE", - "CONDITIONAL" - ] - }, - "RequiresRecreation":{ - "type":"string", - "enum":[ - "NEVER", - "CONDITIONALLY", - "ALWAYS" - ] - }, - "ResourceARN":{ - "type":"string", - "max":150, - "min":1 - }, - "ResourceAttribute":{ - "type":"string", - "enum":[ - "PROPERTIES", - "METADATA", - "CREATIONPOLICY", - "UPDATEPOLICY", - "DELETIONPOLICY", - "TAGS" - ] - }, - "ResourceChange":{ - "type":"structure", - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

The change action.

" - }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The ID of the resource, as defined in the CloudFormation template.

" - }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The ID of the resource, if it was already created.

" - }, - "ResourceType":{ - "shape":"PlanResourceType", - "documentation":"

The type of resource.

" - }, - "Replacement":{ - "shape":"Replacement", - "documentation":"

If the change type is Modify, indicates whether the existing resource is deleted and replaced with a new one.

" - }, - "Scope":{ - "shape":"Scope", - "documentation":"

The change scope.

" - }, - "Details":{ - "shape":"ResourceChangeDetails", - "documentation":"

Information about the resource changes.

" - } - }, - "documentation":"

Information about a resource change that will occur when a plan is executed.

" - }, - "ResourceChangeDetail":{ - "type":"structure", - "members":{ - "Target":{ - "shape":"ResourceTargetDefinition", - "documentation":"

Information about the resource attribute to be modified.

" - }, - "Evaluation":{ - "shape":"EvaluationType", - "documentation":"

For static evaluations, the value of the resource attribute will change and the new value is known. For dynamic evaluations, the value might change, and any new value will be determined when the plan is updated.

" - }, - "CausingEntity":{ - "shape":"CausingEntity", - "documentation":"

The ID of the entity that caused the change.

" - } - }, - "documentation":"

Information about a change to a resource attribute.

" - }, - "ResourceChangeDetails":{ - "type":"list", - "member":{"shape":"ResourceChangeDetail"} - }, - "ResourceChanges":{ - "type":"list", - "member":{"shape":"ResourceChange"} - }, - "ResourceDetail":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceDetailId", - "documentation":"

The identifier of the resource.

" - }, - "ARN":{ - "shape":"ResourceDetailARN", - "documentation":"

The ARN of the resource.

" - }, - "Name":{ - "shape":"ResourceDetailName", - "documentation":"

The name of the resource.

" - }, - "Description":{ - "shape":"ResourceDetailDescription", - "documentation":"

The description of the resource.

" - }, - "CreatedTime":{ - "shape":"ResourceDetailCreatedTime", - "documentation":"

The creation time of the resource.

" - } - }, - "documentation":"

Information about a resource.

" - }, - "ResourceDetailARN":{"type":"string"}, - "ResourceDetailCreatedTime":{"type":"timestamp"}, - "ResourceDetailDescription":{"type":"string"}, - "ResourceDetailId":{"type":"string"}, - "ResourceDetailName":{"type":"string"}, - "ResourceDetails":{ - "type":"list", - "member":{"shape":"ResourceDetail"} - }, - "ResourceId":{"type":"string"}, - "ResourceInUseException":{ - "type":"structure", - "members":{ - }, - "documentation":"

A resource that is currently in use. Ensure that the resource is not in use and retry the operation.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified resource was not found.

", - "exception":true - }, - "ResourceTargetDefinition":{ - "type":"structure", - "members":{ - "Attribute":{ - "shape":"ResourceAttribute", - "documentation":"

The attribute to be changed.

" - }, - "Name":{ - "shape":"PropertyName", - "documentation":"

If the attribute is Properties, the value is the name of the property. Otherwise, the value is null.

" - }, - "RequiresRecreation":{ - "shape":"RequiresRecreation", - "documentation":"

If the attribute is Properties, indicates whether a change to this property causes the resource to be re-created.

" - } - }, - "documentation":"

Information about a change to a resource attribute.

" - }, - "ResourceType":{"type":"string"}, - "ScanProvisionedProductsInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

The access level to use to obtain results. The default is User.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "ScanProvisionedProductsOutput":{ - "type":"structure", - "members":{ - "ProvisionedProducts":{ - "shape":"ProvisionedProductDetails", - "documentation":"

Information about the provisioned products.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "Scope":{ - "type":"list", - "member":{"shape":"ResourceAttribute"} - }, - "SearchFilterKey":{"type":"string"}, - "SearchFilterValue":{"type":"string"}, - "SearchProductsAsAdminInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "PortfolioId":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "Filters":{ - "shape":"ProductViewFilters", - "documentation":"

The search filters. If no search filters are specified, the output includes all products to which the administrator has access.

" - }, - "SortBy":{ - "shape":"ProductViewSortBy", - "documentation":"

The sort field. If no value is specified, the results are not sorted.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order. If no value is specified, the results are not sorted.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "ProductSource":{ - "shape":"ProductSource", - "documentation":"

Access level of the source of the product.

" - } - } - }, - "SearchProductsAsAdminOutput":{ - "type":"structure", - "members":{ - "ProductViewDetails":{ - "shape":"ProductViewDetails", - "documentation":"

Information about the product views.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "SearchProductsInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Filters":{ - "shape":"ProductViewFilters", - "documentation":"

The search filters. If no search filters are specified, the output includes all products to which the caller has access.

" - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "SortBy":{ - "shape":"ProductViewSortBy", - "documentation":"

The sort field. If no value is specified, the results are not sorted.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order. If no value is specified, the results are not sorted.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "SearchProductsOutput":{ - "type":"structure", - "members":{ - "ProductViewSummaries":{ - "shape":"ProductViewSummaries", - "documentation":"

Information about the product views.

" - }, - "ProductViewAggregations":{ - "shape":"ProductViewAggregations", - "documentation":"

The product view aggregations.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "SearchProvisionedProductsInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

The access level to use to obtain results. The default is User.

" - }, - "Filters":{ - "shape":"ProvisionedProductFilters", - "documentation":"

The search filters.

When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, and userArnSession.

Example: \"SearchQuery\":[\"status:AVAILABLE\"]

" - }, - "SortBy":{ - "shape":"SortField", - "documentation":"

The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, and lastRecordId.

" - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

The sort order. If no value is specified, the results are not sorted.

" - }, - "PageSize":{ - "shape":"SearchProvisionedProductsPageSize", - "documentation":"

The maximum number of items to return with this call.

" - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

The page token for the next set of results. To retrieve the first set of results, use null.

" - } - } - }, - "SearchProvisionedProductsOutput":{ - "type":"structure", - "members":{ - "ProvisionedProducts":{ - "shape":"ProvisionedProductAttributes", - "documentation":"

Information about the provisioned products.

" - }, - "TotalResultsCount":{ - "shape":"TotalResultsCount", - "documentation":"

The number of provisioned products found.

" - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

" - } - } - }, - "SearchProvisionedProductsPageSize":{ - "type":"integer", - "max":100, - "min":0 - }, - "SortField":{"type":"string"}, - "SortOrder":{ - "type":"string", - "enum":[ - "ASCENDING", - "DESCENDING" - ] - }, - "SourceProvisioningArtifactProperties":{ - "type":"list", - "member":{"shape":"SourceProvisioningArtifactPropertiesMap"} - }, - "SourceProvisioningArtifactPropertiesMap":{ - "type":"map", - "key":{"shape":"ProvisioningArtifactPropertyName"}, - "value":{"shape":"ProvisioningArtifactPropertyValue"} - }, - "Status":{ - "type":"string", - "enum":[ - "AVAILABLE", - "CREATING", - "FAILED" - ] - }, - "StatusDetail":{"type":"string"}, - "StatusMessage":{ - "type":"string", - "pattern":"[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*" - }, - "SupportDescription":{ - "type":"string", - "max":8191 - }, - "SupportEmail":{ - "type":"string", - "max":254 - }, - "SupportUrl":{ - "type":"string", - "max":2083 - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The tag key.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value for this key.

" - } - }, - "documentation":"

Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagOptionActive":{"type":"boolean"}, - "TagOptionDetail":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagOptionKey", - "documentation":"

The TagOption key.

" - }, - "Value":{ - "shape":"TagOptionValue", - "documentation":"

The TagOption value.

" - }, - "Active":{ - "shape":"TagOptionActive", - "documentation":"

The TagOption active state.

" - }, - "Id":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - } - }, - "documentation":"

Information about a TagOption.

" - }, - "TagOptionDetails":{ - "type":"list", - "member":{"shape":"TagOptionDetail"} - }, - "TagOptionId":{ - "type":"string", - "max":100, - "min":1 - }, - "TagOptionKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagOptionNotMigratedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

An operation requiring TagOptions failed because the TagOptions migration process has not been performed for this account. Please use the AWS console to perform the migration process before retrying the operation.

", - "exception":true - }, - "TagOptionSummaries":{ - "type":"list", - "member":{"shape":"TagOptionSummary"} - }, - "TagOptionSummary":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"TagOptionKey", - "documentation":"

The TagOption key.

" - }, - "Values":{ - "shape":"TagOptionValues", - "documentation":"

The TagOption value.

" - } - }, - "documentation":"

Summary information about a TagOption.

" - }, - "TagOptionValue":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagOptionValues":{ - "type":"list", - "member":{"shape":"TagOptionValue"} - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":50 - }, - "TerminateProvisionedProductInput":{ - "type":"structure", - "required":["TerminateToken"], - "members":{ - "ProvisionedProductName":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" - }, - "ProvisionedProductId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" - }, - "TerminateToken":{ - "shape":"IdempotencyToken", - "documentation":"

An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the provisioned product is terminated, subsequent requests to terminate the same provisioned product always return ResourceNotFound.

", - "idempotencyToken":true - }, - "IgnoreErrors":{ - "shape":"IgnoreErrors", - "documentation":"

If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

" - }, - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - } - } - }, - "TerminateProvisionedProductOutput":{ - "type":"structure", - "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

Information about the result of this request.

" - } - } - }, - "TotalResultsCount":{"type":"integer"}, - "UpdateConstraintInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The identifier of the constraint.

" - }, - "Description":{ - "shape":"ConstraintDescription", - "documentation":"

The updated description of the constraint.

" - } - } - }, - "UpdateConstraintOutput":{ - "type":"structure", - "members":{ - "ConstraintDetail":{ - "shape":"ConstraintDetail", - "documentation":"

Information about the constraint.

" - }, - "ConstraintParameters":{ - "shape":"ConstraintParameters", - "documentation":"

The constraint parameters.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "UpdatePortfolioInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The portfolio identifier.

" - }, - "DisplayName":{ - "shape":"PortfolioDisplayName", - "documentation":"

The name to use for display purposes.

" - }, - "Description":{ - "shape":"PortfolioDescription", - "documentation":"

The updated description of the portfolio.

" - }, - "ProviderName":{ - "shape":"ProviderName", - "documentation":"

The updated name of the portfolio provider.

" - }, - "AddTags":{ - "shape":"AddTags", - "documentation":"

The tags to add.

" - }, - "RemoveTags":{ - "shape":"TagKeys", - "documentation":"

The tags to remove.

" - } - } - }, - "UpdatePortfolioOutput":{ - "type":"structure", - "members":{ - "PortfolioDetail":{ - "shape":"PortfolioDetail", - "documentation":"

Information about the portfolio.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the portfolio.

" - } - } - }, - "UpdateProductInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "Id":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "Name":{ - "shape":"ProductViewName", - "documentation":"

The updated product name.

" - }, - "Owner":{ - "shape":"ProductViewOwner", - "documentation":"

The updated owner of the product.

" - }, - "Description":{ - "shape":"ProductViewShortDescription", - "documentation":"

The updated description of the product.

" - }, - "Distributor":{ - "shape":"ProductViewOwner", - "documentation":"

The updated distributor of the product.

" - }, - "SupportDescription":{ - "shape":"SupportDescription", - "documentation":"

The updated support description for the product.

" - }, - "SupportEmail":{ - "shape":"SupportEmail", - "documentation":"

The updated support email for the product.

" - }, - "SupportUrl":{ - "shape":"SupportUrl", - "documentation":"

The updated support URL for the product.

" - }, - "AddTags":{ - "shape":"AddTags", - "documentation":"

The tags to add to the product.

" - }, - "RemoveTags":{ - "shape":"TagKeys", - "documentation":"

The tags to remove from the product.

" - } - } - }, - "UpdateProductOutput":{ - "type":"structure", - "members":{ - "ProductViewDetail":{ - "shape":"ProductViewDetail", - "documentation":"

Information about the product view.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

Information about the tags associated with the product.

" - } - } - }, - "UpdateProvisionedProductInput":{ - "type":"structure", - "required":["UpdateToken"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

The updated name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" - }, - "ProvisionedProductId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioned product.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "PathId":{ - "shape":"Id", - "documentation":"

The new path identifier. This value is optional if the product has a default path, and required if the product has more than one path.

" - }, - "ProvisioningParameters":{ - "shape":"UpdateProvisioningParameters", - "documentation":"

The new parameters.

" - }, - "UpdateToken":{ - "shape":"IdempotencyToken", - "documentation":"

The idempotency token that uniquely identifies the provisioning update request.

", - "idempotencyToken":true - } - } - }, - "UpdateProvisionedProductOutput":{ - "type":"structure", - "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

Information about the result of the request.

" - } - } - }, - "UpdateProvisioningArtifactInput":{ - "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId" - ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

The language code.

  • en - English (default)

  • jp - Japanese

  • zh - Chinese

" - }, - "ProductId":{ - "shape":"Id", - "documentation":"

The product identifier.

" - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

The identifier of the provisioning artifact.

" - }, - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

The updated name of the provisioning artifact.

" - }, - "Description":{ - "shape":"ProvisioningArtifactDescription", - "documentation":"

The updated description of the provisioning artifact.

" - }, - "Active":{ - "shape":"ProvisioningArtifactActive", - "documentation":"

Indicates whether the product version is active.

" - } - } - }, - "UpdateProvisioningArtifactOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactDetail":{ - "shape":"ProvisioningArtifactDetail", - "documentation":"

Information about the provisioning artifact.

" - }, - "Info":{ - "shape":"ProvisioningArtifactInfo", - "documentation":"

The URL of the CloudFormation template in Amazon S3.

" - }, - "Status":{ - "shape":"Status", - "documentation":"

The status of the current request.

" - } - } - }, - "UpdateProvisioningParameter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"ParameterKey", - "documentation":"

The parameter key.

" - }, - "Value":{ - "shape":"ParameterValue", - "documentation":"

The parameter value.

" - }, - "UsePreviousValue":{ - "shape":"UsePreviousValue", - "documentation":"

If set to true, Value is ignored and the previous parameter value is kept.

" - } - }, - "documentation":"

The parameter key-value pair used to update a provisioned product.

" - }, - "UpdateProvisioningParameters":{ - "type":"list", - "member":{"shape":"UpdateProvisioningParameter"} - }, - "UpdateTagOptionInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"TagOptionId", - "documentation":"

The TagOption identifier.

" - }, - "Value":{ - "shape":"TagOptionValue", - "documentation":"

The updated value.

" - }, - "Active":{ - "shape":"TagOptionActive", - "documentation":"

The updated active state.

" - } - } - }, - "UpdateTagOptionOutput":{ - "type":"structure", - "members":{ - "TagOptionDetail":{ - "shape":"TagOptionDetail", - "documentation":"

Information about the TagOption.

" - } - } - }, - "UpdatedTime":{"type":"timestamp"}, - "UsageInstruction":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"InstructionType", - "documentation":"

The usage instruction type for the value.

" - }, - "Value":{ - "shape":"InstructionValue", - "documentation":"

The usage instruction value for this type.

" - } - }, - "documentation":"

Additional information provided by the administrator.

" - }, - "UsageInstructions":{ - "type":"list", - "member":{"shape":"UsageInstruction"} - }, - "UsePreviousValue":{"type":"boolean"}, - "UserArn":{"type":"string"}, - "UserArnSession":{"type":"string"}, - "Verbose":{"type":"boolean"} - }, - "documentation":"AWS Service Catalog

AWS Service Catalog enables organizations to create and manage catalogs of IT services that are approved for use on AWS. To get the most out of this documentation, you should be familiar with the terminology discussed in AWS Service Catalog Concepts.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/paginators-1.json deleted file mode 100644 index f58df70e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "pagination": { - "ListServices": { - "result_key": "Services", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListInstances": { - "result_key": "Instances", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListNamespaces": { - "result_key": "Namespaces", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListOperations": { - "result_key": "Operations", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/service-2.json deleted file mode 100644 index e6c0f80a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/servicediscovery/2017-03-14/service-2.json +++ /dev/null @@ -1,1481 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-03-14", - "endpointPrefix":"servicediscovery", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"ServiceDiscovery", - "serviceFullName":"Amazon Route 53 Auto Naming", - "serviceId":"ServiceDiscovery", - "signatureVersion":"v4", - "targetPrefix":"Route53AutoNaming_v20170314", - "uid":"servicediscovery-2017-03-14" - }, - "operations":{ - "CreatePrivateDnsNamespace":{ - "name":"CreatePrivateDnsNamespace", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePrivateDnsNamespaceRequest"}, - "output":{"shape":"CreatePrivateDnsNamespaceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NamespaceAlreadyExists"}, - {"shape":"ResourceLimitExceeded"}, - {"shape":"DuplicateRequest"} - ], - "documentation":"

Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see Limits on Auto Naming in the Route 53 Developer Guide.

" - }, - "CreatePublicDnsNamespace":{ - "name":"CreatePublicDnsNamespace", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePublicDnsNamespaceRequest"}, - "output":{"shape":"CreatePublicDnsNamespaceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NamespaceAlreadyExists"}, - {"shape":"ResourceLimitExceeded"}, - {"shape":"DuplicateRequest"} - ], - "documentation":"

Creates a public namespace based on DNS, which will be visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see Limits on Auto Naming in the Route 53 Developer Guide.

" - }, - "CreateService":{ - "name":"CreateService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateServiceRequest"}, - "output":{"shape":"CreateServiceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"ResourceLimitExceeded"}, - {"shape":"NamespaceNotFound"}, - {"shape":"ServiceAlreadyExists"} - ], - "documentation":"

Creates a service, which defines the configuration for the following entities:

  • Up to three records (A, AAAA, and SRV) or one CNAME record

  • Optionally, a health check

After you create the service, you can submit a RegisterInstance request, and Amazon Route 53 uses the values in the configuration to create the specified entities.

For the current limit on the number of instances that you can register using the same namespace and using the same service, see Limits on Auto Naming in the Route 53 Developer Guide.

" - }, - "DeleteNamespace":{ - "name":"DeleteNamespace", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteNamespaceRequest"}, - "output":{"shape":"DeleteNamespaceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NamespaceNotFound"}, - {"shape":"ResourceInUse"}, - {"shape":"DuplicateRequest"} - ], - "documentation":"

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

" - }, - "DeleteService":{ - "name":"DeleteService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServiceRequest"}, - "output":{"shape":"DeleteServiceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"ServiceNotFound"}, - {"shape":"ResourceInUse"} - ], - "documentation":"

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

" - }, - "DeregisterInstance":{ - "name":"DeregisterInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterInstanceRequest"}, - "output":{"shape":"DeregisterInstanceResponse"}, - "errors":[ - {"shape":"DuplicateRequest"}, - {"shape":"InvalidInput"}, - {"shape":"InstanceNotFound"}, - {"shape":"ResourceInUse"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Deletes the records and the health check, if any, that Amazon Route 53 created for the specified instance.

" - }, - "GetInstance":{ - "name":"GetInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstanceRequest"}, - "output":{"shape":"GetInstanceResponse"}, - "errors":[ - {"shape":"InstanceNotFound"}, - {"shape":"InvalidInput"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Gets information about a specified instance.

" - }, - "GetInstancesHealthStatus":{ - "name":"GetInstancesHealthStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInstancesHealthStatusRequest"}, - "output":{"shape":"GetInstancesHealthStatusResponse"}, - "errors":[ - {"shape":"InstanceNotFound"}, - {"shape":"InvalidInput"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service.

There is a brief delay between when you register an instance and when the health status for the instance is available.

" - }, - "GetNamespace":{ - "name":"GetNamespace", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetNamespaceRequest"}, - "output":{"shape":"GetNamespaceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"NamespaceNotFound"} - ], - "documentation":"

Gets information about a namespace.

" - }, - "GetOperation":{ - "name":"GetOperation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetOperationRequest"}, - "output":{"shape":"GetOperationResponse"}, - "errors":[ - {"shape":"OperationNotFound"} - ], - "documentation":"

Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

To get a list of operations that match specified criteria, see ListOperations.

" - }, - "GetService":{ - "name":"GetService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetServiceRequest"}, - "output":{"shape":"GetServiceResponse"}, - "errors":[ - {"shape":"InvalidInput"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Gets the settings for a specified service.

" - }, - "ListInstances":{ - "name":"ListInstances", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInstancesRequest"}, - "output":{"shape":"ListInstancesResponse"}, - "errors":[ - {"shape":"ServiceNotFound"}, - {"shape":"InvalidInput"} - ], - "documentation":"

Lists summary information about the instances that you registered by using a specified service.

" - }, - "ListNamespaces":{ - "name":"ListNamespaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListNamespacesRequest"}, - "output":{"shape":"ListNamespacesResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Lists summary information about the namespaces that were created by the current AWS account.

" - }, - "ListOperations":{ - "name":"ListOperations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOperationsRequest"}, - "output":{"shape":"ListOperationsResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Lists operations that match the criteria that you specify.

" - }, - "ListServices":{ - "name":"ListServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListServicesRequest"}, - "output":{"shape":"ListServicesResponse"}, - "errors":[ - {"shape":"InvalidInput"} - ], - "documentation":"

Lists summary information for all the services that are associated with one or more specified namespaces.

" - }, - "RegisterInstance":{ - "name":"RegisterInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterInstanceRequest"}, - "output":{"shape":"RegisterInstanceResponse"}, - "errors":[ - {"shape":"DuplicateRequest"}, - {"shape":"InvalidInput"}, - {"shape":"ResourceInUse"}, - {"shape":"ResourceLimitExceeded"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Creates or updates one or more records and optionally a health check based on the settings in a specified service. When you submit a RegisterInstance request, Amazon Route 53 does the following:

  • For each DNS record that you define in the service specified by ServiceId, creates or updates a record in the hosted zone that is associated with the corresponding namespace

  • If the service includes HealthCheckConfig, creates or updates a health check based on the settings in the health check configuration

  • Associates the health check, if any, with each of the records

One RegisterInstance request must complete before you can submit another request and specify the same service ID and instance ID.

For more information, see CreateService.

When Route 53 receives a DNS query for the specified DNS name, it returns the applicable value:

  • If the health check is healthy: returns all the records

  • If the health check is unhealthy: returns the applicable value for the last healthy instance

  • If you didn't specify a health check configuration: returns all the records

For the current limit on the number of instances that you can register using the same namespace and using the same service, see Limits on Auto Naming in the Route 53 Developer Guide.

" - }, - "UpdateInstanceCustomHealthStatus":{ - "name":"UpdateInstanceCustomHealthStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateInstanceCustomHealthStatusRequest"}, - "errors":[ - {"shape":"InstanceNotFound"}, - {"shape":"ServiceNotFound"}, - {"shape":"CustomHealthNotFound"}, - {"shape":"InvalidInput"} - ] - }, - "UpdateService":{ - "name":"UpdateService", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateServiceRequest"}, - "output":{"shape":"UpdateServiceResponse"}, - "errors":[ - {"shape":"DuplicateRequest"}, - {"shape":"InvalidInput"}, - {"shape":"ServiceNotFound"} - ], - "documentation":"

Submits a request to perform the following operations:

  • Add or delete DnsRecords configurations

  • Update the TTL setting for existing DnsRecords configurations

  • Add, update, or delete HealthCheckConfig for a specified service

You must specify all DnsRecords configurations (and, optionally, HealthCheckConfig) that you want to appear in the updated service. Any current configurations that don't appear in an UpdateService request are deleted.

When you update the TTL setting for a service, Amazon Route 53 also updates the corresponding settings in all the records and health checks that were created by using the specified service.

" - } - }, - "shapes":{ - "Arn":{ - "type":"string", - "max":255 - }, - "AttrKey":{ - "type":"string", - "max":255 - }, - "AttrValue":{ - "type":"string", - "max":255 - }, - "Attributes":{ - "type":"map", - "key":{"shape":"AttrKey"}, - "value":{"shape":"AttrValue"} - }, - "Code":{"type":"string"}, - "CreatePrivateDnsNamespaceRequest":{ - "type":"structure", - "required":[ - "Name", - "Vpc" - ], - "members":{ - "Name":{ - "shape":"NamespaceName", - "documentation":"

The name that you want to assign to this namespace. When you create a namespace, Amazon Route 53 automatically creates a hosted zone that has the same name as the namespace.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", - "idempotencyToken":true - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

A description for the namespace.

" - }, - "Vpc":{ - "shape":"ResourceId", - "documentation":"

The ID of the Amazon VPC that you want to associate the namespace with.

" - } - } - }, - "CreatePrivateDnsNamespaceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" - } - } - }, - "CreatePublicDnsNamespaceRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"NamespaceName", - "documentation":"

The name that you want to assign to this namespace.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed CreatePublicDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", - "idempotencyToken":true - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

A description for the namespace.

" - } - } - }, - "CreatePublicDnsNamespaceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" - } - } - }, - "CreateServiceRequest":{ - "type":"structure", - "required":[ - "Name", - "DnsConfig" - ], - "members":{ - "Name":{ - "shape":"ServiceName", - "documentation":"

The name that you want to assign to the service.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed CreateService requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", - "idempotencyToken":true - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

A description for the service.

" - }, - "DnsConfig":{ - "shape":"DnsConfig", - "documentation":"

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" - }, - "HealthCheckConfig":{ - "shape":"HealthCheckConfig", - "documentation":"

Public DNS namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, Route 53 associates the health check with all the records that you specify in DnsConfig.

For information about the charges for health checks, see Route 53 Pricing.

" - }, - "HealthCheckCustomConfig":{"shape":"HealthCheckCustomConfig"} - } - }, - "CreateServiceResponse":{ - "type":"structure", - "members":{ - "Service":{ - "shape":"Service", - "documentation":"

A complex type that contains information about the new service.

" - } - } - }, - "CustomHealthNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "CustomHealthStatus":{ - "type":"string", - "enum":[ - "HEALTHY", - "UNHEALTHY" - ] - }, - "DeleteNamespaceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the namespace that you want to delete.

" - } - } - }, - "DeleteNamespaceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" - } - } - }, - "DeleteServiceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that you want to delete.

" - } - } - }, - "DeleteServiceResponse":{ - "type":"structure", - "members":{ - } - }, - "DeregisterInstanceRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "InstanceId" - ], - "members":{ - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that the instance is associated with.

" - }, - "InstanceId":{ - "shape":"ResourceId", - "documentation":"

The value that you specified for Id in the RegisterInstance request.

" - } - } - }, - "DeregisterInstanceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. For more information, see GetOperation.

" - } - } - }, - "DnsConfig":{ - "type":"structure", - "required":[ - "NamespaceId", - "DnsRecords" - ], - "members":{ - "NamespaceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the namespace to use for DNS configuration.

" - }, - "RoutingPolicy":{ - "shape":"RoutingPolicy", - "documentation":"

The routing policy that you want to apply to all records that Route 53 creates when you register an instance and specify this service.

If you want to use this service to register instances that create alias records, specify WEIGHTED for the routing policy.

You can specify the following values:

MULTIVALUE

If you define a health check for the service and the health check is healthy, Route 53 returns the applicable value for up to eight instances.

For example, suppose the service includes configurations for one A record and a health check, and you use the service to register 10 instances. Route 53 responds to DNS queries with IP addresses for up to eight healthy instances. If fewer than eight instances are healthy, Route 53 responds to every DNS query with the IP addresses for all of the healthy instances.

If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the values for up to eight instances.

For more information about the multivalue routing policy, see Multivalue Answer Routing in the Route 53 Developer Guide.

WEIGHTED

Route 53 returns the applicable value from one randomly selected instance from among the instances that you registered using the same service. Currently, all records have the same weight, so you can't route more or less traffic to any instances.

For example, suppose the service includes configurations for one A record and a health check, and you use the service to register 10 instances. Route 53 responds to DNS queries with the IP address for one randomly selected instance from among the healthy instances. If no instances are healthy, Route 53 responds to DNS queries as if all of the instances were healthy.

If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the applicable value for one randomly selected instance.

For more information about the weighted routing policy, see Weighted Routing in the Route 53 Developer Guide.

" - }, - "DnsRecords":{ - "shape":"DnsRecordList", - "documentation":"

An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance.

" - } - }, - "documentation":"

A complex type that contains information about the records that you want Amazon Route 53 to create when you register an instance.

" - }, - "DnsConfigChange":{ - "type":"structure", - "required":["DnsRecords"], - "members":{ - "DnsRecords":{ - "shape":"DnsRecordList", - "documentation":"

An array that contains one DnsRecord object for each record that you want Route 53 to create when you register an instance.

" - } - }, - "documentation":"

A complex type that contains information about changes to the records that Route 53 creates when you register an instance.

" - }, - "DnsProperties":{ - "type":"structure", - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

The ID for the hosted zone that Route 53 creates when you create a namespace.

" - } - }, - "documentation":"

A complex type that contains the ID for the hosted zone that Route 53 creates when you create a namespace.

" - }, - "DnsRecord":{ - "type":"structure", - "required":[ - "Type", - "TTL" - ], - "members":{ - "Type":{ - "shape":"RecordType", - "documentation":"

The type of the resource, which indicates the type of value that Route 53 returns in response to DNS queries.

Note the following:

  • A, AAAA, and SRV records: You can specify settings for a maximum of one A, one AAAA, and one SRV record. You can specify them in any combination.

  • CNAME records: If you specify CNAME for Type, you can't define any other records. This is a limitation of DNS—you can't create a CNAME record and any other type of record that has the same name as a CNAME record.

  • Alias records: If you want Route 53 to create an alias record when you register an instance, specify A or AAAA for Type.

  • All records: You specify settings other than TTL and Type when you register an instance.

The following values are supported:

A

Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44.

AAAA

Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.

CNAME

Route 53 returns the domain name of the resource, such as www.example.com. Note the following:

  • You specify the domain name that you want to route traffic to when you register an instance. For more information, see RegisterInstanceRequest$Attributes.

  • You must specify WEIGHTED for the value of RoutingPolicy.

  • You can't specify both CNAME for Type and settings for HealthCheckConfig. If you do, the request will fail with an InvalidInput error.

SRV

Route 53 returns the value for an SRV record. The value for an SRV record uses the following values:

priority weight port service-hostname

Note the following about the values:

  • The values of priority and weight are both set to 1 and can't be changed.

  • The value of port comes from the value that you specify for the AWS_INSTANCE_PORT attribute when you submit a RegisterInstance request.

  • The value of service-hostname is a concatenation of the following values:

    • The value that you specify for InstanceId when you register an instance.

    • The name of the service.

    • The name of the namespace.

    For example, if the value of InstanceId is test, the name of the service is backend, and the name of the namespace is example.com, the value of service-hostname is:

    test.backend.example.com

If you specify settings for an SRV record and if you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both in the RegisterInstance request, Route 53 automatically creates A and/or AAAA records that have the same name as the value of service-hostname in the SRV record. You can ignore these records.

" - }, - "TTL":{ - "shape":"RecordTTL", - "documentation":"

The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record.

Alias records don't include a TTL because Route 53 uses the TTL for the AWS resource that an alias record routes traffic to. If you include the AWS_ALIAS_DNS_NAME attribute when you submit a RegisterInstance request, the TTL value is ignored. Always specify a TTL for the service; you can use a service to register instances that create either alias or non-alias records.

" - } - }, - "documentation":"

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" - }, - "DnsRecordList":{ - "type":"list", - "member":{"shape":"DnsRecord"} - }, - "DuplicateRequest":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The operation is already in progress.

", - "exception":true - }, - "ErrorMessage":{"type":"string"}, - "FailureThreshold":{ - "type":"integer", - "max":10, - "min":1 - }, - "FilterCondition":{ - "type":"string", - "enum":[ - "EQ", - "IN", - "BETWEEN" - ] - }, - "FilterValue":{ - "type":"string", - "max":255, - "min":1 - }, - "FilterValues":{ - "type":"list", - "member":{"shape":"FilterValue"} - }, - "GetInstanceRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "InstanceId" - ], - "members":{ - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that the instance is associated with.

" - }, - "InstanceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the instance that you want to get information about.

" - } - } - }, - "GetInstanceResponse":{ - "type":"structure", - "members":{ - "Instance":{ - "shape":"Instance", - "documentation":"

A complex type that contains information about a specified instance.

" - } - } - }, - "GetInstancesHealthStatusRequest":{ - "type":"structure", - "required":["ServiceId"], - "members":{ - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that the instance is associated with.

" - }, - "Instances":{ - "shape":"InstanceIdList", - "documentation":"

An array that contains the IDs of all the instances that you want to get the health status for.

If you omit Instances, Amazon Route 53 returns the health status for all the instances that are associated with the specified service.

To get the IDs for the instances that you've registered by using a specified service, submit a ListInstances request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of instances that you want Route 53 to return in the response to a GetInstancesHealthStatus request. If you don't specify a value for MaxResults, Route 53 returns up to 100 instances.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

For the first GetInstancesHealthStatus request, omit this value.

If more than MaxResults instances match the specified criteria, you can submit another GetInstancesHealthStatus request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

" - } - } - }, - "GetInstancesHealthStatusResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"InstanceHealthStatusMap", - "documentation":"

A complex type that contains the IDs and the health status of the instances that you specified in the GetInstancesHealthStatus request.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If more than MaxResults instances match the specified criteria, you can submit another GetInstancesHealthStatus request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

" - } - } - }, - "GetNamespaceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the namespace that you want to get information about.

" - } - } - }, - "GetNamespaceResponse":{ - "type":"structure", - "members":{ - "Namespace":{ - "shape":"Namespace", - "documentation":"

A complex type that contains information about the specified namespace.

" - } - } - }, - "GetOperationRequest":{ - "type":"structure", - "required":["OperationId"], - "members":{ - "OperationId":{ - "shape":"ResourceId", - "documentation":"

The ID of the operation that you want to get more information about.

" - } - } - }, - "GetOperationResponse":{ - "type":"structure", - "members":{ - "Operation":{ - "shape":"Operation", - "documentation":"

A complex type that contains information about the operation.

" - } - } - }, - "GetServiceRequest":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that you want to get settings for.

" - } - } - }, - "GetServiceResponse":{ - "type":"structure", - "members":{ - "Service":{ - "shape":"Service", - "documentation":"

A complex type that contains information about the service.

" - } - } - }, - "HealthCheckConfig":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"HealthCheckType", - "documentation":"

The type of health check that you want to create, which indicates how Route 53 determines whether an endpoint is healthy.

You can't change the value of Type after you create a health check.

You can create the following types of health checks:

  • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

  • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

    If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

  • TCP: Route 53 tries to establish a TCP connection.

For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer Guide.

" - }, - "ResourcePath":{ - "shape":"ResourcePath", - "documentation":"

The path that you want Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, such as the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character.

" - }, - "FailureThreshold":{ - "shape":"FailureThreshold", - "documentation":"

The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer Guide.

" - } - }, - "documentation":"

Public DNS namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, Amazon Route 53 associates the health check with all the records that you specify in DnsConfig.

A and AAAA records

If DnsConfig includes configurations for both A and AAAA records, Route 53 creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

CNAME records

You can't specify settings for HealthCheckConfig when the DNSConfig includes CNAME for the value of Type. If you do, the CreateService request will fail with an InvalidInput error.

Request interval

The health check uses 30 seconds as the request interval. This is the number of seconds between the time that each Route 53 health checker gets a response from your endpoint and the time that it sends the next health check request. A health checker in each data center around the world sends your endpoint a health check request every 30 seconds. On average, your endpoint receives a health check request about every two seconds. Health checkers in different data centers don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with no health checks at all.

Health checking regions

Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see Regions.

Alias records

When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, Route 53 creates an alias record. Note the following:

  • Route 53 automatically sets EvaluateTargetHealth to true for alias records. When EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see EvaluateTargetHealth.

  • If you include HealthCheckConfig and then use the service to register an instance that creates an alias record, Route 53 doesn't create the health check.

For information about the charges for health checks, see Route 53 Pricing.

" - }, - "HealthCheckCustomConfig":{ - "type":"structure", - "members":{ - "FailureThreshold":{"shape":"FailureThreshold"} - } - }, - "HealthCheckType":{ - "type":"string", - "enum":[ - "HTTP", - "HTTPS", - "TCP" - ] - }, - "HealthStatus":{ - "type":"string", - "enum":[ - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ] - }, - "Instance":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

An identifier that you want to associate with the instance. Note the following:

  • If the service that is specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord$Type.

  • You can use this value to update an existing instance.

  • To register a new instance, you must specify a value that is unique among instances that you register by using the same service.

  • If you specify an existing InstanceId and ServiceId, Route 53 updates the existing records. If there's also an existing health check, Route 53 deletes the old health check and creates a new one.

    The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you're registering additional instances for the same namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

A string map that contains the following information for the service that you specify in ServiceId:

  • The attributes that apply to the records that are defined in the service.

  • For each attribute, the applicable value.

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

If you want Route 53 to create an alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget.

Note the following:

  • The configuration for the service that is specified by ServiceId must include settings for an A record, an AAAA record, or both.

  • In the service that is specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

  • If the service that is specified by ServiceId includes HealthCheckConfig settings, Route 53 will create the health check, but it won't associate the health check with the alias record.

  • Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.

  • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

AWS_INSTANCE_CNAME

If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com.

This value is required if the service specified by ServiceId includes settings for an CNAME record.

AWS_INSTANCE_IPV4

If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44.

This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_IPV6

If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_PORT

If the service includes an SRV record, the value that you want Route 53 to return for the port.

If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

This value is required if you specified settings for an SRV record when you created the service.

" - } - }, - "documentation":"

A complex type that contains information about an instance that Amazon Route 53 creates when you submit a RegisterInstance request.

" - }, - "InstanceHealthStatusMap":{ - "type":"map", - "key":{"shape":"ResourceId"}, - "value":{"shape":"HealthStatus"} - }, - "InstanceIdList":{ - "type":"list", - "member":{"shape":"ResourceId"}, - "min":1 - }, - "InstanceNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

No instance exists with the specified ID, or the instance was recently registered, and information about the instance hasn't propagated yet.

", - "exception":true - }, - "InstanceSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID for an instance that you created by using a specified service.

" - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

A string map that contains the following information:

  • The attributes that are associate with the instance.

  • For each attribute, the applicable value.

Supported attribute keys include the following:

  • AWS_ALIAS_DNS_NAME: For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that is associated with the load balancer.

  • AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 returns in response to DNS queries, for example, example.com.

  • AWS_INSTANCE_IPV4: For an A record, the IPv4 address that Route 53 returns in response to DNS queries, for example, 192.0.2.44.

  • AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 address that Route 53 returns in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

  • AWS_INSTANCE_PORT: For an SRV record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig, the port on the endpoint that Route 53 sends requests to.

" - } - }, - "documentation":"

A complex type that contains information about the instances that you registered by using a specified service.

" - }, - "InstanceSummaryList":{ - "type":"list", - "member":{"shape":"InstanceSummary"} - }, - "InvalidInput":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

One or more specified values aren't valid. For example, when you're creating a namespace, the value of Name might not be a valid DNS name.

", - "exception":true - }, - "ListInstancesRequest":{ - "type":"structure", - "required":["ServiceId"], - "members":{ - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that you want to list instances for.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

For the first ListInstances request, omit this value.

If more than MaxResults instances match the specified criteria, you can submit another ListInstances request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of instances that you want Amazon Route 53 to return in the response to a ListInstances request. If you don't specify a value for MaxResults, Route 53 returns up to 100 instances.

" - } - } - }, - "ListInstancesResponse":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"InstanceSummaryList", - "documentation":"

Summary information about the instances that are associated with the specified service.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If more than MaxResults instances match the specified criteria, you can submit another ListInstances request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

" - } - } - }, - "ListNamespacesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

For the first ListNamespaces request, omit this value.

If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults namespaces and then filters them based on the specified criteria. It's possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of namespaces that you want Amazon Route 53 to return in the response to a ListNamespaces request. If you don't specify a value for MaxResults, Route 53 returns up to 100 namespaces.

" - }, - "Filters":{ - "shape":"NamespaceFilters", - "documentation":"

A complex type that contains specifications for the namespaces that you want to list.

If you specify more than one filter, a namespace must match all filters to be returned by ListNamespaces.

" - } - } - }, - "ListNamespacesResponse":{ - "type":"structure", - "members":{ - "Namespaces":{ - "shape":"NamespaceSummariesList", - "documentation":"

An array that contains one NamespaceSummary object for each namespace that matches the specified filter criteria.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults namespaces and then filters them based on the specified criteria. It's possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

" - } - } - }, - "ListOperationsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

For the first ListOperations request, omit this value.

If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults operations and then filters them based on the specified criteria. It's possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items that you want Amazon Route 53 to return in the response to a ListOperations request. If you don't specify a value for MaxResults, Route 53 returns up to 100 operations.

" - }, - "Filters":{ - "shape":"OperationFilters", - "documentation":"

A complex type that contains specifications for the operations that you want to list, for example, operations that you started between a specified start date and end date.

If you specify more than one filter, an operation must match all filters to be returned by ListOperations.

" - } - } - }, - "ListOperationsResponse":{ - "type":"structure", - "members":{ - "Operations":{ - "shape":"OperationSummaryList", - "documentation":"

Summary information about the operations that match the specified criteria.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults operations and then filters them based on the specified criteria. It's possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

" - } - } - }, - "ListServicesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

For the first ListServices request, omit this value.

If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults services and then filters them based on the specified criteria. It's possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of services that you want Amazon Route 53 to return in the response to a ListServices request. If you don't specify a value for MaxResults, Route 53 returns up to 100 services.

" - }, - "Filters":{ - "shape":"ServiceFilters", - "documentation":"

A complex type that contains specifications for the namespaces that you want to list services for.

If you specify more than one filter, an operation must match all filters to be returned by ListServices.

" - } - } - }, - "ListServicesResponse":{ - "type":"structure", - "members":{ - "Services":{ - "shape":"ServiceSummariesList", - "documentation":"

An array that contains one ServiceSummary object for each service that matches the specified filter criteria.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

Route 53 gets MaxResults services and then filters them based on the specified criteria. It's possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "Message":{"type":"string"}, - "Namespace":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of a namespace.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it.

" - }, - "Name":{ - "shape":"NamespaceName", - "documentation":"

The name of the namespace, such as example.com.

" - }, - "Type":{ - "shape":"NamespaceType", - "documentation":"

The type of the namespace. Valid values are DNS_PUBLIC and DNS_PRIVATE.

" - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

The description that you specify for the namespace when you create it.

" - }, - "ServiceCount":{ - "shape":"ResourceCount", - "documentation":"

The number of services that are associated with the namespace.

" - }, - "Properties":{ - "shape":"NamespaceProperties", - "documentation":"

A complex type that contains information that's specific to the type of the namespace.

" - }, - "CreateDate":{ - "shape":"Timestamp", - "documentation":"

The date that the namespace was created, in Unix date/time format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing an operation twice.

" - } - }, - "documentation":"

A complex type that contains information about a specified namespace.

" - }, - "NamespaceAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

The CreatorRequestId that was used to create the namespace.

" - }, - "NamespaceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the existing namespace.

" - } - }, - "documentation":"

The namespace that you're trying to create already exists.

", - "exception":true - }, - "NamespaceFilter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"NamespaceFilterName", - "documentation":"

Specify TYPE.

" - }, - "Values":{ - "shape":"FilterValues", - "documentation":"

If you specify EQ for Condition, specify either DNS_PUBLIC or DNS_PRIVATE.

If you specify IN for Condition, you can specify DNS_PUBLIC, DNS_PRIVATE, or both.

" - }, - "Condition":{ - "shape":"FilterCondition", - "documentation":"

The operator that you want to use to determine whether ListNamespaces returns a namespace. Valid values for condition include:

  • EQ: When you specify EQ for the condition, you can choose to list only public namespaces or private namespaces, but not both. EQ is the default condition and can be omitted.

  • IN: When you specify IN for the condition, you can choose to list public namespaces, private namespaces, or both.

  • BETWEEN: Not applicable

" - } - }, - "documentation":"

A complex type that identifies the namespaces that you want to list. You can choose to list public or private namespaces.

" - }, - "NamespaceFilterName":{ - "type":"string", - "enum":["TYPE"] - }, - "NamespaceFilters":{ - "type":"list", - "member":{"shape":"NamespaceFilter"} - }, - "NamespaceName":{ - "type":"string", - "max":1024 - }, - "NamespaceNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

No namespace exists with the specified ID.

", - "exception":true - }, - "NamespaceProperties":{ - "type":"structure", - "members":{ - "DnsProperties":{ - "shape":"DnsProperties", - "documentation":"

A complex type that contains the ID for the hosted zone that Route 53 creates when you create a namespace.

" - } - }, - "documentation":"

A complex type that contains information that is specific to the namespace type.

" - }, - "NamespaceSummariesList":{ - "type":"list", - "member":{"shape":"NamespaceSummary"} - }, - "NamespaceSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the namespace.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that Route 53 assigns to the namespace when you create it.

" - }, - "Name":{ - "shape":"NamespaceName", - "documentation":"

The name of the namespace. When you create a namespace, Route 53 automatically creates a hosted zone that has the same name as the namespace.

" - }, - "Type":{ - "shape":"NamespaceType", - "documentation":"

The type of the namespace, either public or private.

" - } - }, - "documentation":"

A complex type that contains information about a namespace.

" - }, - "NamespaceType":{ - "type":"string", - "enum":[ - "DNS_PUBLIC", - "DNS_PRIVATE" - ] - }, - "NextToken":{ - "type":"string", - "max":4096 - }, - "Operation":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"OperationId", - "documentation":"

The ID of the operation that you want to get information about.

" - }, - "Type":{ - "shape":"OperationType", - "documentation":"

The name of the operation that is associated with the specified ID.

" - }, - "Status":{ - "shape":"OperationStatus", - "documentation":"

The status of the operation. Values include the following:

  • SUBMITTED: This is the initial state immediately after you submit a request.

  • PENDING: Route 53 is performing the operation.

  • SUCCESS: The operation succeeded.

  • FAIL: The operation failed. For the failure reason, see ErrorMessage.

" - }, - "ErrorMessage":{ - "shape":"Message", - "documentation":"

If the value of Status is FAIL, the reason that the operation failed.

" - }, - "ErrorCode":{ - "shape":"Code", - "documentation":"

The code associated with ErrorMessage. Values for ErrorCode include the following:

  • ACCESS_DENIED

  • CANNOT_CREATE_HOSTED_ZONE

  • EXPIRED_TOKEN

  • HOSTED_ZONE_NOT_FOUND

  • INTERNAL_FAILURE

  • INVALID_CHANGE_BATCH

  • THROTTLED_REQUEST

" - }, - "CreateDate":{ - "shape":"Timestamp", - "documentation":"

The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" - }, - "UpdateDate":{ - "shape":"Timestamp", - "documentation":"

The date and time that the value of Status changed to the current value, in Unix date/time format and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" - }, - "Targets":{ - "shape":"OperationTargetsMap", - "documentation":"

The name of the target entity that is associated with the operation:

  • NAMESPACE: The namespace ID is returned in the ResourceId property.

  • SERVICE: The service ID is returned in the ResourceId property.

  • INSTANCE: The instance ID is returned in the ResourceId property.

" - } - }, - "documentation":"

A complex type that contains information about a specified operation.

" - }, - "OperationFilter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"OperationFilterName", - "documentation":"

Specify the operations that you want to get:

  • NAMESPACE_ID: Gets operations related to specified namespaces.

  • SERVICE_ID: Gets operations related to specified services.

  • STATUS: Gets operations based on the status of the operations: SUBMITTED, PENDING, SUCCEED, or FAIL.

  • TYPE: Gets specified types of operation.

  • UPDATE_DATE: Gets operations that changed status during a specified date/time range.

" - }, - "Values":{ - "shape":"FilterValues", - "documentation":"

Specify values that are applicable to the value that you specify for Name:

  • NAMESPACE_ID: Specify one namespace ID.

  • SERVICE_ID: Specify one service ID.

  • STATUS: Specify one or more statuses: SUBMITTED, PENDING, SUCCEED, or FAIL.

  • TYPE: Specify one or more of the following types: CREATE_NAMESPACE, DELETE_NAMESPACE, UPDATE_SERVICE, REGISTER_INSTANCE, or DEREGISTER_INSTANCE.

  • UPDATE_DATE: Specify a start date and an end date in Unix date/time format and Coordinated Universal Time (UTC). The start date must be the first value.

" - }, - "Condition":{ - "shape":"FilterCondition", - "documentation":"

The operator that you want to use to determine whether an operation matches the specified value. Valid values for condition include:

  • EQ: When you specify EQ for the condition, you can specify only one value. EQ is supported for NAMESPACE_ID, SERVICE_ID, STATUS, and TYPE. EQ is the default condition and can be omitted.

  • IN: When you specify IN for the condition, you can specify a list of one or more values. IN is supported for STATUS and TYPE. An operation must match one of the specified values to be returned in the response.

  • BETWEEN: Specify a start date and an end date in Unix date/time format and Coordinated Universal Time (UTC). The start date must be the first value. BETWEEN is supported for UPDATE_DATE.

" - } - }, - "documentation":"

A complex type that lets you select the operations that you want to list.

" - }, - "OperationFilterName":{ - "type":"string", - "enum":[ - "NAMESPACE_ID", - "SERVICE_ID", - "STATUS", - "TYPE", - "UPDATE_DATE" - ] - }, - "OperationFilters":{ - "type":"list", - "member":{"shape":"OperationFilter"} - }, - "OperationId":{ - "type":"string", - "max":255 - }, - "OperationNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

No operation exists with the specified ID.

", - "exception":true - }, - "OperationStatus":{ - "type":"string", - "enum":[ - "SUBMITTED", - "PENDING", - "SUCCESS", - "FAIL" - ] - }, - "OperationSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"OperationId", - "documentation":"

The ID for an operation.

" - }, - "Status":{ - "shape":"OperationStatus", - "documentation":"

The status of the operation. Values include the following:

  • SUBMITTED: This is the initial state immediately after you submit a request.

  • PENDING: Route 53 is performing the operation.

  • SUCCESS: The operation succeeded.

  • FAIL: The operation failed. For the failure reason, see ErrorMessage.

" - } - }, - "documentation":"

A complex type that contains information about an operation that matches the criteria that you specified in a ListOperations request.

" - }, - "OperationSummaryList":{ - "type":"list", - "member":{"shape":"OperationSummary"} - }, - "OperationTargetType":{ - "type":"string", - "enum":[ - "NAMESPACE", - "SERVICE", - "INSTANCE" - ] - }, - "OperationTargetsMap":{ - "type":"map", - "key":{"shape":"OperationTargetType"}, - "value":{"shape":"ResourceId"} - }, - "OperationType":{ - "type":"string", - "enum":[ - "CREATE_NAMESPACE", - "DELETE_NAMESPACE", - "UPDATE_SERVICE", - "REGISTER_INSTANCE", - "DEREGISTER_INSTANCE" - ] - }, - "RecordTTL":{ - "type":"long", - "max":2147483647, - "min":0 - }, - "RecordType":{ - "type":"string", - "enum":[ - "SRV", - "A", - "AAAA", - "CNAME" - ] - }, - "RegisterInstanceRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "InstanceId", - "Attributes" - ], - "members":{ - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that you want to use for settings for the records and health check that Route 53 will create.

" - }, - "InstanceId":{ - "shape":"ResourceId", - "documentation":"

An identifier that you want to associate with the instance. Note the following:

  • If the service that is specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord$Type.

  • You can use this value to update an existing instance.

  • To register a new instance, you must specify a value that is unique among instances that you register by using the same service.

  • If you specify an existing InstanceId and ServiceId, Route 53 updates the existing records. If there's also an existing health check, Route 53 deletes the old health check and creates a new one.

    The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you're registering additional instances for the same namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

", - "idempotencyToken":true - }, - "Attributes":{ - "shape":"Attributes", - "documentation":"

A string map that contains the following information for the service that you specify in ServiceId:

  • The attributes that apply to the records that are defined in the service.

  • For each attribute, the applicable value.

Supported attribute keys include the following:

AWS_ALIAS_DNS_NAME

If you want Route 53 to create an alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget.

Note the following:

  • The configuration for the service that is specified by ServiceId must include settings for an A record, an AAAA record, or both.

  • In the service that is specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

  • If the service that is specified by ServiceId includes HealthCheckConfig settings, Route 53 will create the health check, but it won't associate the health check with the alias record.

  • Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.

  • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

AWS_INSTANCE_CNAME

If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com.

This value is required if the service specified by ServiceId includes settings for an CNAME record.

AWS_INSTANCE_IPV4

If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44.

This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_IPV6

If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

AWS_INSTANCE_PORT

If the service includes an SRV record, the value that you want Route 53 to return for the port.

If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

This value is required if you specified settings for an SRV record when you created the service.

" - } - } - }, - "RegisterInstanceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" - } - } - }, - "ResourceCount":{"type":"integer"}, - "ResourceDescription":{ - "type":"string", - "max":1024 - }, - "ResourceId":{ - "type":"string", - "max":64 - }, - "ResourceInUse":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified resource can't be deleted because it contains other resources. For example, you can't delete a service that contains any instances.

", - "exception":true - }, - "ResourceLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The resource can't be created because you've reached the limit on the number of resources.

", - "exception":true - }, - "ResourcePath":{ - "type":"string", - "max":255 - }, - "RoutingPolicy":{ - "type":"string", - "enum":[ - "MULTIVALUE", - "WEIGHTED" - ] - }, - "Service":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID that Route 53 assigned to the service when you created it.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it.

" - }, - "Name":{ - "shape":"ServiceName", - "documentation":"

The name of the service.

" - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

The description of the service.

" - }, - "InstanceCount":{ - "shape":"ResourceCount", - "documentation":"

The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count.

" - }, - "DnsConfig":{ - "shape":"DnsConfig", - "documentation":"

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" - }, - "HealthCheckConfig":{ - "shape":"HealthCheckConfig", - "documentation":"

Public DNS namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, Route 53 associates the health check with all the records that you specify in DnsConfig.

For information about the charges for health checks, see Route 53 Pricing.

" - }, - "HealthCheckCustomConfig":{"shape":"HealthCheckCustomConfig"}, - "CreateDate":{ - "shape":"Timestamp", - "documentation":"

The date and time that the service was created, in Unix format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" - }, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

" - } - }, - "documentation":"

A complex type that contains information about the specified service.

" - }, - "ServiceAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"}, - "CreatorRequestId":{ - "shape":"ResourceId", - "documentation":"

The CreatorRequestId that was used to create the service.

" - }, - "ServiceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the existing service.

" - } - }, - "documentation":"

The service can't be created because a service with the same name already exists.

", - "exception":true - }, - "ServiceChange":{ - "type":"structure", - "required":["DnsConfig"], - "members":{ - "Description":{ - "shape":"ResourceDescription", - "documentation":"

A description for the service.

" - }, - "DnsConfig":{ - "shape":"DnsConfigChange", - "documentation":"

A complex type that contains information about the records that you want Route 53 to create when you register an instance.

" - }, - "HealthCheckConfig":{"shape":"HealthCheckConfig"} - }, - "documentation":"

A complex type that contains changes to an existing service.

" - }, - "ServiceFilter":{ - "type":"structure", - "required":[ - "Name", - "Values" - ], - "members":{ - "Name":{ - "shape":"ServiceFilterName", - "documentation":"

Specify NAMESPACE_ID.

" - }, - "Values":{ - "shape":"FilterValues", - "documentation":"

The values that are applicable to the value that you specify for Condition to filter the list of services.

" - }, - "Condition":{ - "shape":"FilterCondition", - "documentation":"

The operator that you want to use to determine whether a service is returned by ListServices. Valid values for Condition include the following:

  • EQ: When you specify EQ, specify one namespace ID for Values. EQ is the default condition and can be omitted.

  • IN: When you specify IN, specify a list of the IDs for the namespaces that you want ListServices to return a list of services for.

  • BETWEEN: Not applicable.

" - } - }, - "documentation":"

A complex type that lets you specify the namespaces that you want to list services for.

" - }, - "ServiceFilterName":{ - "type":"string", - "enum":["NAMESPACE_ID"] - }, - "ServiceFilters":{ - "type":"list", - "member":{"shape":"ServiceFilter"} - }, - "ServiceName":{ - "type":"string", - "pattern":"((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(\\.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^\\.$)" - }, - "ServiceNotFound":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

No service exists with the specified ID.

", - "exception":true - }, - "ServiceSummariesList":{ - "type":"list", - "member":{"shape":"ServiceSummary"} - }, - "ServiceSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID that Route 53 assigned to the service when you created it.

" - }, - "Arn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that Route 53 assigns to the service when you create it.

" - }, - "Name":{ - "shape":"ServiceName", - "documentation":"

The name of the service.

" - }, - "Description":{ - "shape":"ResourceDescription", - "documentation":"

The description that you specify when you create the service.

" - }, - "InstanceCount":{ - "shape":"ResourceCount", - "documentation":"

The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count.

" - } - }, - "documentation":"

A complex type that contains information about a specified service.

" - }, - "Timestamp":{"type":"timestamp"}, - "UpdateInstanceCustomHealthStatusRequest":{ - "type":"structure", - "required":[ - "ServiceId", - "InstanceId", - "Status" - ], - "members":{ - "ServiceId":{"shape":"ResourceId"}, - "InstanceId":{"shape":"ResourceId"}, - "Status":{"shape":"CustomHealthStatus"} - } - }, - "UpdateServiceRequest":{ - "type":"structure", - "required":[ - "Id", - "Service" - ], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

The ID of the service that you want to update.

" - }, - "Service":{ - "shape":"ServiceChange", - "documentation":"

A complex type that contains the new settings for the service.

" - } - } - }, - "UpdateServiceResponse":{ - "type":"structure", - "members":{ - "OperationId":{ - "shape":"OperationId", - "documentation":"

A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

" - } - } - } - }, - "documentation":"

Amazon Route 53 auto naming lets you configure public or private namespaces that your microservice applications run in. When instances of the service become available, you can call the auto naming API to register the instance, and Route 53 automatically creates up to five DNS records and an optional health check. Clients that submit DNS queries for the service receive an answer that contains up to eight healthy records.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/examples-1.json deleted file mode 100644 index 88555294..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/examples-1.json +++ /dev/null @@ -1,953 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/paginators-1.json deleted file mode 100644 index 1d61869e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "ListIdentities": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxItems", - "result_key": "Identities" - }, - "ListCustomVerificationEmailTemplates": { - "result_key": "CustomVerificationEmailTemplates", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/service-2.json deleted file mode 100644 index ed07be63..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/service-2.json +++ /dev/null @@ -1,4417 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-12-01", - "endpointPrefix":"email", - "protocol":"query", - "serviceAbbreviation":"Amazon SES", - "serviceFullName":"Amazon Simple Email Service", - "serviceId":"SES", - "signatureVersion":"v4", - "signingName":"ses", - "uid":"email-2010-12-01", - "xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/" - }, - "operations":{ - "CloneReceiptRuleSet":{ - "name":"CloneReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CloneReceiptRuleSetRequest"}, - "output":{ - "shape":"CloneReceiptRuleSetResponse", - "resultWrapper":"CloneReceiptRuleSetResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

For information about setting up rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateConfigurationSet":{ - "name":"CreateConfigurationSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConfigurationSetRequest"}, - "output":{ - "shape":"CreateConfigurationSetResponse", - "resultWrapper":"CreateConfigurationSetResult" - }, - "errors":[ - {"shape":"ConfigurationSetAlreadyExistsException"}, - {"shape":"InvalidConfigurationSetException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a configuration set.

Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateConfigurationSetEventDestination":{ - "name":"CreateConfigurationSetEventDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConfigurationSetEventDestinationRequest"}, - "output":{ - "shape":"CreateConfigurationSetEventDestinationResponse", - "resultWrapper":"CreateConfigurationSetEventDestinationResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"EventDestinationAlreadyExistsException"}, - {"shape":"InvalidCloudWatchDestinationException"}, - {"shape":"InvalidFirehoseDestinationException"}, - {"shape":"InvalidSNSDestinationException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a configuration set event destination.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateConfigurationSetTrackingOptions":{ - "name":"CreateConfigurationSetTrackingOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateConfigurationSetTrackingOptionsRequest"}, - "output":{ - "shape":"CreateConfigurationSetTrackingOptionsResponse", - "resultWrapper":"CreateConfigurationSetTrackingOptionsResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"TrackingOptionsAlreadyExistsException"}, - {"shape":"InvalidTrackingOptionsException"} - ], - "documentation":"

Creates an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" - }, - "CreateCustomVerificationEmailTemplate":{ - "name":"CreateCustomVerificationEmailTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCustomVerificationEmailTemplateRequest"}, - "errors":[ - {"shape":"CustomVerificationEmailTemplateAlreadyExistsException"}, - {"shape":"FromEmailAddressNotVerifiedException"}, - {"shape":"CustomVerificationEmailInvalidContentException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a new custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateReceiptFilter":{ - "name":"CreateReceiptFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReceiptFilterRequest"}, - "output":{ - "shape":"CreateReceiptFilterResponse", - "resultWrapper":"CreateReceiptFilterResult" - }, - "errors":[ - {"shape":"LimitExceededException"}, - {"shape":"AlreadyExistsException"} - ], - "documentation":"

Creates a new IP address filter.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateReceiptRule":{ - "name":"CreateReceiptRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReceiptRuleRequest"}, - "output":{ - "shape":"CreateReceiptRuleResponse", - "resultWrapper":"CreateReceiptRuleResult" - }, - "errors":[ - {"shape":"InvalidSnsTopicException"}, - {"shape":"InvalidS3ConfigurationException"}, - {"shape":"InvalidLambdaFunctionException"}, - {"shape":"AlreadyExistsException"}, - {"shape":"RuleDoesNotExistException"}, - {"shape":"RuleSetDoesNotExistException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates a receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateReceiptRuleSet":{ - "name":"CreateReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReceiptRuleSetRequest"}, - "output":{ - "shape":"CreateReceiptRuleSetResponse", - "resultWrapper":"CreateReceiptRuleSetResult" - }, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an empty receipt rule set.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "CreateTemplate":{ - "name":"CreateTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTemplateRequest"}, - "output":{ - "shape":"CreateTemplateResponse", - "resultWrapper":"CreateTemplateResult" - }, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"InvalidTemplateException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteConfigurationSet":{ - "name":"DeleteConfigurationSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationSetRequest"}, - "output":{ - "shape":"DeleteConfigurationSetResponse", - "resultWrapper":"DeleteConfigurationSetResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"} - ], - "documentation":"

Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteConfigurationSetEventDestination":{ - "name":"DeleteConfigurationSetEventDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationSetEventDestinationRequest"}, - "output":{ - "shape":"DeleteConfigurationSetEventDestinationResponse", - "resultWrapper":"DeleteConfigurationSetEventDestinationResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"EventDestinationDoesNotExistException"} - ], - "documentation":"

Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteConfigurationSetTrackingOptions":{ - "name":"DeleteConfigurationSetTrackingOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteConfigurationSetTrackingOptionsRequest"}, - "output":{ - "shape":"DeleteConfigurationSetTrackingOptionsResponse", - "resultWrapper":"DeleteConfigurationSetTrackingOptionsResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"TrackingOptionsDoesNotExistException"} - ], - "documentation":"

Deletes an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains.

" - }, - "DeleteCustomVerificationEmailTemplate":{ - "name":"DeleteCustomVerificationEmailTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteCustomVerificationEmailTemplateRequest"}, - "documentation":"

Deletes an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteIdentity":{ - "name":"DeleteIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIdentityRequest"}, - "output":{ - "shape":"DeleteIdentityResponse", - "resultWrapper":"DeleteIdentityResult" - }, - "documentation":"

Deletes the specified identity (an email address or a domain) from the list of verified identities.

You can execute this operation no more than once per second.

" - }, - "DeleteIdentityPolicy":{ - "name":"DeleteIdentityPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIdentityPolicyRequest"}, - "output":{ - "shape":"DeleteIdentityPolicyResponse", - "resultWrapper":"DeleteIdentityPolicyResult" - }, - "documentation":"

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteReceiptFilter":{ - "name":"DeleteReceiptFilter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReceiptFilterRequest"}, - "output":{ - "shape":"DeleteReceiptFilterResponse", - "resultWrapper":"DeleteReceiptFilterResult" - }, - "documentation":"

Deletes the specified IP address filter.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteReceiptRule":{ - "name":"DeleteReceiptRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReceiptRuleRequest"}, - "output":{ - "shape":"DeleteReceiptRuleResponse", - "resultWrapper":"DeleteReceiptRuleResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"} - ], - "documentation":"

Deletes the specified receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteReceiptRuleSet":{ - "name":"DeleteReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReceiptRuleSetRequest"}, - "output":{ - "shape":"DeleteReceiptRuleSetResponse", - "resultWrapper":"DeleteReceiptRuleSetResult" - }, - "errors":[ - {"shape":"CannotDeleteException"} - ], - "documentation":"

Deletes the specified receipt rule set and all of the receipt rules it contains.

The currently active rule set cannot be deleted.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DeleteTemplate":{ - "name":"DeleteTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTemplateRequest"}, - "output":{ - "shape":"DeleteTemplateResponse", - "resultWrapper":"DeleteTemplateResult" - }, - "documentation":"

Deletes an email template.

You can execute this operation no more than once per second.

" - }, - "DeleteVerifiedEmailAddress":{ - "name":"DeleteVerifiedEmailAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVerifiedEmailAddressRequest"}, - "documentation":"

Deprecated. Use the DeleteIdentity operation to delete email addresses and domains.

" - }, - "DescribeActiveReceiptRuleSet":{ - "name":"DescribeActiveReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeActiveReceiptRuleSetRequest"}, - "output":{ - "shape":"DescribeActiveReceiptRuleSetResponse", - "resultWrapper":"DescribeActiveReceiptRuleSetResult" - }, - "documentation":"

Returns the metadata and receipt rules for the receipt rule set that is currently active.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DescribeConfigurationSet":{ - "name":"DescribeConfigurationSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeConfigurationSetRequest"}, - "output":{ - "shape":"DescribeConfigurationSetResponse", - "resultWrapper":"DescribeConfigurationSetResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"} - ], - "documentation":"

Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DescribeReceiptRule":{ - "name":"DescribeReceiptRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReceiptRuleRequest"}, - "output":{ - "shape":"DescribeReceiptRuleResponse", - "resultWrapper":"DescribeReceiptRuleResult" - }, - "errors":[ - {"shape":"RuleDoesNotExistException"}, - {"shape":"RuleSetDoesNotExistException"} - ], - "documentation":"

Returns the details of the specified receipt rule.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "DescribeReceiptRuleSet":{ - "name":"DescribeReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeReceiptRuleSetRequest"}, - "output":{ - "shape":"DescribeReceiptRuleSetResponse", - "resultWrapper":"DescribeReceiptRuleSetResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"} - ], - "documentation":"

Returns the details of the specified receipt rule set.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "GetAccountSendingEnabled":{ - "name":"GetAccountSendingEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetAccountSendingEnabledResponse", - "resultWrapper":"GetAccountSendingEnabledResult" - }, - "documentation":"

Returns the email sending status of the Amazon SES account for the current region.

You can execute this operation no more than once per second.

" - }, - "GetCustomVerificationEmailTemplate":{ - "name":"GetCustomVerificationEmailTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCustomVerificationEmailTemplateRequest"}, - "output":{ - "shape":"GetCustomVerificationEmailTemplateResponse", - "resultWrapper":"GetCustomVerificationEmailTemplateResult" - }, - "errors":[ - {"shape":"CustomVerificationEmailTemplateDoesNotExistException"} - ], - "documentation":"

Returns the custom email verification template for the template name you specify.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "GetIdentityDkimAttributes":{ - "name":"GetIdentityDkimAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityDkimAttributesRequest"}, - "output":{ - "shape":"GetIdentityDkimAttributesResponse", - "resultWrapper":"GetIdentityDkimAttributesResult" - }, - "documentation":"

Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

This operation takes a list of identities as input and returns the following information for each:

  • Whether Easy DKIM signing is enabled or disabled.

  • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

  • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" - }, - "GetIdentityMailFromDomainAttributes":{ - "name":"GetIdentityMailFromDomainAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityMailFromDomainAttributesRequest"}, - "output":{ - "shape":"GetIdentityMailFromDomainAttributesResponse", - "resultWrapper":"GetIdentityMailFromDomainAttributesResult" - }, - "documentation":"

Returns the custom MAIL FROM attributes for a list of identities (email addresses : domains).

This operation is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time.

" - }, - "GetIdentityNotificationAttributes":{ - "name":"GetIdentityNotificationAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityNotificationAttributesRequest"}, - "output":{ - "shape":"GetIdentityNotificationAttributesResponse", - "resultWrapper":"GetIdentityNotificationAttributesResult" - }, - "documentation":"

Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" - }, - "GetIdentityPolicies":{ - "name":"GetIdentityPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityPoliciesRequest"}, - "output":{ - "shape":"GetIdentityPoliciesResponse", - "resultWrapper":"GetIdentityPoliciesResult" - }, - "documentation":"

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "GetIdentityVerificationAttributes":{ - "name":"GetIdentityVerificationAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIdentityVerificationAttributesRequest"}, - "output":{ - "shape":"GetIdentityVerificationAttributesResponse", - "resultWrapper":"GetIdentityVerificationAttributesResult" - }, - "documentation":"

Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.

The verification status of an email address is \"Pending\" until the email address owner clicks the link within the verification email that Amazon SES sent to that address. If the email address owner clicks the link within 24 hours, the verification status of the email address changes to \"Success\". If the link is not clicked within 24 hours, the verification status changes to \"Failed.\" In that case, if you still want to verify the email address, you must restart the verification process from the beginning.

For domain identities, the domain's verification status is \"Pending\" as Amazon SES searches for the required TXT record in the DNS settings of the domain. When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

This operation is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.

" - }, - "GetSendQuota":{ - "name":"GetSendQuota", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetSendQuotaResponse", - "resultWrapper":"GetSendQuotaResult" - }, - "documentation":"

Provides the sending limits for the Amazon SES account.

You can execute this operation no more than once per second.

" - }, - "GetSendStatistics":{ - "name":"GetSendStatistics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"GetSendStatisticsResponse", - "resultWrapper":"GetSendStatisticsResult" - }, - "documentation":"

Provides sending statistics for the current AWS Region. The result is a list of data points, representing the last two weeks of sending activity. Each data point in the list contains statistics for a 15-minute period of time.

You can execute this operation no more than once per second.

" - }, - "GetTemplate":{ - "name":"GetTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTemplateRequest"}, - "output":{ - "shape":"GetTemplateResponse", - "resultWrapper":"GetTemplateResult" - }, - "errors":[ - {"shape":"TemplateDoesNotExistException"} - ], - "documentation":"

Displays the template object (which includes the Subject line, HTML part and text part) for the template you specify.

You can execute this operation no more than once per second.

" - }, - "ListConfigurationSets":{ - "name":"ListConfigurationSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListConfigurationSetsRequest"}, - "output":{ - "shape":"ListConfigurationSetsResponse", - "resultWrapper":"ListConfigurationSetsResult" - }, - "documentation":"

Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

You can execute this operation no more than once per second. This operation will return up to 1,000 configuration sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results.

" - }, - "ListCustomVerificationEmailTemplates":{ - "name":"ListCustomVerificationEmailTemplates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCustomVerificationEmailTemplatesRequest"}, - "output":{ - "shape":"ListCustomVerificationEmailTemplatesResponse", - "resultWrapper":"ListCustomVerificationEmailTemplatesResult" - }, - "documentation":"

Lists the existing custom verification email templates for your account in the current AWS Region.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "ListIdentities":{ - "name":"ListIdentities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIdentitiesRequest"}, - "output":{ - "shape":"ListIdentitiesResponse", - "resultWrapper":"ListIdentitiesResult" - }, - "documentation":"

Returns a list containing all of the identities (email addresses and domains) for your AWS account in the current AWS Region, regardless of verification status.

You can execute this operation no more than once per second.

" - }, - "ListIdentityPolicies":{ - "name":"ListIdentityPolicies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIdentityPoliciesRequest"}, - "output":{ - "shape":"ListIdentityPoliciesResponse", - "resultWrapper":"ListIdentityPoliciesResult" - }, - "documentation":"

Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "ListReceiptFilters":{ - "name":"ListReceiptFilters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListReceiptFiltersRequest"}, - "output":{ - "shape":"ListReceiptFiltersResponse", - "resultWrapper":"ListReceiptFiltersResult" - }, - "documentation":"

Lists the IP address filters associated with your AWS account in the current AWS Region.

For information about managing IP address filters, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "ListReceiptRuleSets":{ - "name":"ListReceiptRuleSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListReceiptRuleSetsRequest"}, - "output":{ - "shape":"ListReceiptRuleSetsResponse", - "resultWrapper":"ListReceiptRuleSetsResult" - }, - "documentation":"

Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "ListTemplates":{ - "name":"ListTemplates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTemplatesRequest"}, - "output":{ - "shape":"ListTemplatesResponse", - "resultWrapper":"ListTemplatesResult" - }, - "documentation":"

Lists the email templates present in your Amazon SES account in the current AWS Region.

You can execute this operation no more than once per second.

" - }, - "ListVerifiedEmailAddresses":{ - "name":"ListVerifiedEmailAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "output":{ - "shape":"ListVerifiedEmailAddressesResponse", - "resultWrapper":"ListVerifiedEmailAddressesResult" - }, - "documentation":"

Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account.

" - }, - "PutIdentityPolicy":{ - "name":"PutIdentityPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutIdentityPolicyRequest"}, - "output":{ - "shape":"PutIdentityPolicyResponse", - "resultWrapper":"PutIdentityPolicyResult" - }, - "errors":[ - {"shape":"InvalidPolicyException"} - ], - "documentation":"

Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "ReorderReceiptRuleSet":{ - "name":"ReorderReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReorderReceiptRuleSetRequest"}, - "output":{ - "shape":"ReorderReceiptRuleSetResponse", - "resultWrapper":"ReorderReceiptRuleSetResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"}, - {"shape":"RuleDoesNotExistException"} - ], - "documentation":"

Reorders the receipt rules within a receipt rule set.

All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "SendBounce":{ - "name":"SendBounce", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendBounceRequest"}, - "output":{ - "shape":"SendBounceResponse", - "resultWrapper":"SendBounceResult" - }, - "errors":[ - {"shape":"MessageRejected"} - ], - "documentation":"

Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "SendBulkTemplatedEmail":{ - "name":"SendBulkTemplatedEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendBulkTemplatedEmailRequest"}, - "output":{ - "shape":"SendBulkTemplatedEmailResponse", - "resultWrapper":"SendBulkTemplatedEmailResult" - }, - "errors":[ - {"shape":"MessageRejected"}, - {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"TemplateDoesNotExistException"}, - {"shape":"ConfigurationSetSendingPausedException"}, - {"shape":"AccountSendingPausedException"} - ], - "documentation":"

Composes an email message to multiple destinations. The message body is created using an email template.

In order to send email using the SendBulkTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be less than 10 MB.

  • Each Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

" - }, - "SendCustomVerificationEmail":{ - "name":"SendCustomVerificationEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendCustomVerificationEmailRequest"}, - "output":{ - "shape":"SendCustomVerificationEmailResponse", - "resultWrapper":"SendCustomVerificationEmailResult" - }, - "errors":[ - {"shape":"MessageRejected"}, - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"CustomVerificationEmailTemplateDoesNotExistException"}, - {"shape":"FromEmailAddressNotVerifiedException"}, - {"shape":"ProductionAccessNotGrantedException"} - ], - "documentation":"

Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address.

To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "SendEmail":{ - "name":"SendEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendEmailRequest"}, - "output":{ - "shape":"SendEmailResponse", - "resultWrapper":"SendEmailResult" - }, - "errors":[ - {"shape":"MessageRejected"}, - {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"ConfigurationSetSendingPausedException"}, - {"shape":"AccountSendingPausedException"} - ], - "documentation":"

Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be smaller than 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

" - }, - "SendRawEmail":{ - "name":"SendRawEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendRawEmailRequest"}, - "output":{ - "shape":"SendRawEmailResponse", - "resultWrapper":"SendRawEmailResult" - }, - "errors":[ - {"shape":"MessageRejected"}, - {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"ConfigurationSetSendingPausedException"}, - {"shape":"AccountSendingPausedException"} - ], - "documentation":"

Composes an email message and immediately queues it for sending. When calling this operation, you may specify the message headers as well as the content. The SendRawEmail operation is particularly useful for sending multipart MIME emails (such as those that contain both a plain-text and an HTML version).

In order to send email using the SendRawEmail operation, your message must meet the following requirements:

  • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be smaller than 10 MB.

  • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

  • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendRawEmail operation several times to send the message to each group.

For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

Additionally, keep the following considerations in mind when using the SendRawEmail operation:

  • Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides.

  • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

    • X-SES-SOURCE-ARN

    • X-SES-FROM-ARN

    • X-SES-RETURN-PATH-ARN

    Do not include these X-headers in the DKIM signature; Amazon SES will remove them before sending the email.

    For most common sending authorization scenarios, we recommend that you specify the SourceIdentityArn parameter and not the FromIdentityArn or ReturnPathIdentityArn parameters. If you only specify the SourceIdentityArn parameter, Amazon SES will set the From and Return Path addresses to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide.

" - }, - "SendTemplatedEmail":{ - "name":"SendTemplatedEmail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendTemplatedEmailRequest"}, - "output":{ - "shape":"SendTemplatedEmailResponse", - "resultWrapper":"SendTemplatedEmailResult" - }, - "errors":[ - {"shape":"MessageRejected"}, - {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"TemplateDoesNotExistException"}, - {"shape":"ConfigurationSetSendingPausedException"}, - {"shape":"AccountSendingPausedException"} - ], - "documentation":"

Composes an email message using an email template and immediately queues it for sending.

In order to send email using the SendTemplatedEmail operation, your call to the API must meet the following requirements:

  • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

  • The message must be sent from a verified email address or domain.

  • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

  • The total size of the message, including attachments, must be less than 10 MB.

  • Calls to the SendTemplatedEmail operation may only include one Destination parameter. A destination is a set of recipients who will receive the same version of the email. The Destination parameter can include up to 50 recipients, across the To:, CC: and BCC: fields.

  • The Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

If your call to the SendTemplatedEmail operation includes all of the required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't return a message stating that it was unable to send the email.

For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering Failure events occur. For more information, see Sending Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide.

" - }, - "SetActiveReceiptRuleSet":{ - "name":"SetActiveReceiptRuleSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetActiveReceiptRuleSetRequest"}, - "output":{ - "shape":"SetActiveReceiptRuleSetResponse", - "resultWrapper":"SetActiveReceiptRuleSetResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"} - ], - "documentation":"

Sets the specified receipt rule set as the active receipt rule set.

To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

For information about managing receipt rule sets, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "SetIdentityDkimEnabled":{ - "name":"SetIdentityDkimEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityDkimEnabledRequest"}, - "output":{ - "shape":"SetIdentityDkimEnabledResponse", - "resultWrapper":"SetIdentityDkimEnabledResult" - }, - "documentation":"

Enables or disables Easy DKIM signing of email sent from an identity:

  • If Easy DKIM signing is enabled for a domain name identity (such as example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (for example, user@example.com).

  • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

For email addresses (for example, user@example.com), you can only enable Easy DKIM signing if the corresponding domain (in this case, example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim operation.

You can execute this operation no more than once per second.

For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

" - }, - "SetIdentityFeedbackForwardingEnabled":{ - "name":"SetIdentityFeedbackForwardingEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityFeedbackForwardingEnabledRequest"}, - "output":{ - "shape":"SetIdentityFeedbackForwardingEnabledResponse", - "resultWrapper":"SetIdentityFeedbackForwardingEnabledResult" - }, - "documentation":"

Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" - }, - "SetIdentityHeadersInNotificationsEnabled":{ - "name":"SetIdentityHeadersInNotificationsEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityHeadersInNotificationsEnabledRequest"}, - "output":{ - "shape":"SetIdentityHeadersInNotificationsEnabledResponse", - "resultWrapper":"SetIdentityHeadersInNotificationsEnabledResult" - }, - "documentation":"

Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

You can execute this operation no more than once per second.

For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

" - }, - "SetIdentityMailFromDomain":{ - "name":"SetIdentityMailFromDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityMailFromDomainRequest"}, - "output":{ - "shape":"SetIdentityMailFromDomainResponse", - "resultWrapper":"SetIdentityMailFromDomainResult" - }, - "documentation":"

Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "SetIdentityNotificationTopic":{ - "name":"SetIdentityNotificationTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetIdentityNotificationTopicRequest"}, - "output":{ - "shape":"SetIdentityNotificationTopicResponse", - "resultWrapper":"SetIdentityNotificationTopicResult" - }, - "documentation":"

Given an identity (an email address or a domain), sets the Amazon Simple Notification Service (Amazon SNS) topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with that identity as the Source.

Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled.

You can execute this operation no more than once per second.

For more information about feedback notification, see the Amazon SES Developer Guide.

" - }, - "SetReceiptRulePosition":{ - "name":"SetReceiptRulePosition", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetReceiptRulePositionRequest"}, - "output":{ - "shape":"SetReceiptRulePositionResponse", - "resultWrapper":"SetReceiptRulePositionResult" - }, - "errors":[ - {"shape":"RuleSetDoesNotExistException"}, - {"shape":"RuleDoesNotExistException"} - ], - "documentation":"

Sets the position of the specified receipt rule in the receipt rule set.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "TestRenderTemplate":{ - "name":"TestRenderTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TestRenderTemplateRequest"}, - "output":{ - "shape":"TestRenderTemplateResponse", - "resultWrapper":"TestRenderTemplateResult" - }, - "errors":[ - {"shape":"TemplateDoesNotExistException"}, - {"shape":"InvalidRenderingParameterException"}, - {"shape":"MissingRenderingAttributeException"} - ], - "documentation":"

Creates a preview of the MIME content of an email when provided with a template and a set of replacement data.

You can execute this operation no more than once per second.

" - }, - "UpdateAccountSendingEnabled":{ - "name":"UpdateAccountSendingEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAccountSendingEnabledRequest"}, - "documentation":"

Enables or disables email sending across your entire Amazon SES account in the current AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon SES account in a given AWS Region when reputation metrics (such as your bounce or complaint rates) reach certain thresholds.

You can execute this operation no more than once per second.

" - }, - "UpdateConfigurationSetEventDestination":{ - "name":"UpdateConfigurationSetEventDestination", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConfigurationSetEventDestinationRequest"}, - "output":{ - "shape":"UpdateConfigurationSetEventDestinationResponse", - "resultWrapper":"UpdateConfigurationSetEventDestinationResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"EventDestinationDoesNotExistException"}, - {"shape":"InvalidCloudWatchDestinationException"}, - {"shape":"InvalidFirehoseDestinationException"}, - {"shape":"InvalidSNSDestinationException"} - ], - "documentation":"

Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

You can execute this operation no more than once per second.

" - }, - "UpdateConfigurationSetReputationMetricsEnabled":{ - "name":"UpdateConfigurationSetReputationMetricsEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConfigurationSetReputationMetricsEnabledRequest"}, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"} - ], - "documentation":"

Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set in a given AWS Region. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint rates exceed certain thresholds.

You can execute this operation no more than once per second.

" - }, - "UpdateConfigurationSetSendingEnabled":{ - "name":"UpdateConfigurationSetSendingEnabled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConfigurationSetSendingEnabledRequest"}, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"} - ], - "documentation":"

Enables or disables email sending for messages sent using a specific configuration set in a given AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending for a configuration set when the reputation metrics for that configuration set (such as your bounce on complaint rate) exceed certain thresholds.

You can execute this operation no more than once per second.

" - }, - "UpdateConfigurationSetTrackingOptions":{ - "name":"UpdateConfigurationSetTrackingOptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateConfigurationSetTrackingOptionsRequest"}, - "output":{ - "shape":"UpdateConfigurationSetTrackingOptionsResponse", - "resultWrapper":"UpdateConfigurationSetTrackingOptionsResult" - }, - "errors":[ - {"shape":"ConfigurationSetDoesNotExistException"}, - {"shape":"TrackingOptionsDoesNotExistException"}, - {"shape":"InvalidTrackingOptionsException"} - ], - "documentation":"

Modifies an association between a configuration set and a custom domain for open and click event tracking.

By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

" - }, - "UpdateCustomVerificationEmailTemplate":{ - "name":"UpdateCustomVerificationEmailTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateCustomVerificationEmailTemplateRequest"}, - "errors":[ - {"shape":"CustomVerificationEmailTemplateDoesNotExistException"}, - {"shape":"FromEmailAddressNotVerifiedException"}, - {"shape":"CustomVerificationEmailInvalidContentException"} - ], - "documentation":"

Updates an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "UpdateReceiptRule":{ - "name":"UpdateReceiptRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateReceiptRuleRequest"}, - "output":{ - "shape":"UpdateReceiptRuleResponse", - "resultWrapper":"UpdateReceiptRuleResult" - }, - "errors":[ - {"shape":"InvalidSnsTopicException"}, - {"shape":"InvalidS3ConfigurationException"}, - {"shape":"InvalidLambdaFunctionException"}, - {"shape":"RuleSetDoesNotExistException"}, - {"shape":"RuleDoesNotExistException"}, - {"shape":"LimitExceededException"} - ], - "documentation":"

Updates a receipt rule.

For information about managing receipt rules, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "UpdateTemplate":{ - "name":"UpdateTemplate", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateTemplateRequest"}, - "output":{ - "shape":"UpdateTemplateResponse", - "resultWrapper":"UpdateTemplateResult" - }, - "errors":[ - {"shape":"TemplateDoesNotExistException"}, - {"shape":"InvalidTemplateException"} - ], - "documentation":"

Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "VerifyDomainDkim":{ - "name":"VerifyDomainDkim", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyDomainDkimRequest"}, - "output":{ - "shape":"VerifyDomainDkimResponse", - "resultWrapper":"VerifyDomainDkimResult" - }, - "documentation":"

Returns a set of DKIM tokens for a domain. DKIM tokens are character strings that represent your domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain.

You can execute this operation no more than once per second.

To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled operation.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" - }, - "VerifyDomainIdentity":{ - "name":"VerifyDomainIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyDomainIdentityRequest"}, - "output":{ - "shape":"VerifyDomainIdentityResponse", - "resultWrapper":"VerifyDomainIdentityResult" - }, - "documentation":"

Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" - }, - "VerifyEmailAddress":{ - "name":"VerifyEmailAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyEmailAddressRequest"}, - "documentation":"

Deprecated. Use the VerifyEmailIdentity operation to verify a new email address.

" - }, - "VerifyEmailIdentity":{ - "name":"VerifyEmailIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"VerifyEmailIdentityRequest"}, - "output":{ - "shape":"VerifyEmailIdentityResponse", - "resultWrapper":"VerifyEmailIdentityResult" - }, - "documentation":"

Adds an email address to the list of identities for your Amazon SES account in the current AWS region and attempts to verify it. As a result of executing this operation, a verification email is sent to the specified address.

You can execute this operation no more than once per second.

" - } - }, - "shapes":{ - "AccountSendingPausedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that email sending is disabled for your entire Amazon SES account.

You can enable or disable email sending for your Amazon SES account using UpdateAccountSendingEnabled.

", - "error":{ - "code":"AccountSendingPausedException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AddHeaderAction":{ - "type":"structure", - "required":[ - "HeaderName", - "HeaderValue" - ], - "members":{ - "HeaderName":{ - "shape":"HeaderName", - "documentation":"

The name of the header to add. Must be between 1 and 50 characters, inclusive, and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.

" - }, - "HeaderValue":{ - "shape":"HeaderValue", - "documentation":"

Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

" - } - }, - "documentation":"

When included in a receipt rule, this action adds a header to the received email.

For information about adding a header using a receipt rule, see the Amazon SES Developer Guide.

" - }, - "Address":{"type":"string"}, - "AddressList":{ - "type":"list", - "member":{"shape":"Address"} - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleOrRuleSetName", - "documentation":"

Indicates that a resource could not be created because the resource name already exists.

" - } - }, - "documentation":"

Indicates that a resource could not be created because of a naming conflict.

", - "error":{ - "code":"AlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "AmazonResourceName":{"type":"string"}, - "ArrivalDate":{"type":"timestamp"}, - "BehaviorOnMXFailure":{ - "type":"string", - "enum":[ - "UseDefaultValue", - "RejectMessage" - ] - }, - "Body":{ - "type":"structure", - "members":{ - "Text":{ - "shape":"Content", - "documentation":"

The content of the message, in text format. Use this for text-based email clients, or clients on high-latency networks (such as mobile devices).

" - }, - "Html":{ - "shape":"Content", - "documentation":"

The content of the message, in HTML format. Use this for email clients that can process HTML. You can include clickable links, formatted text, and much more in an HTML message.

" - } - }, - "documentation":"

Represents the body of the message. You can specify text, HTML, or both. If you use both, then the message should display correctly in the widest variety of email clients.

" - }, - "BounceAction":{ - "type":"structure", - "required":[ - "SmtpReplyCode", - "Message", - "Sender" - ], - "members":{ - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - }, - "SmtpReplyCode":{ - "shape":"BounceSmtpReplyCode", - "documentation":"

The SMTP reply code, as defined by RFC 5321.

" - }, - "StatusCode":{ - "shape":"BounceStatusCode", - "documentation":"

The SMTP enhanced status code, as defined by RFC 3463.

" - }, - "Message":{ - "shape":"BounceMessage", - "documentation":"

Human-readable text to include in the bounce message.

" - }, - "Sender":{ - "shape":"Address", - "documentation":"

The email address of the sender of the bounced email. This is the address from which the bounce message will be sent.

" - } - }, - "documentation":"

When included in a receipt rule, this action rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about sending a bounce message in response to a received email, see the Amazon SES Developer Guide.

" - }, - "BounceMessage":{"type":"string"}, - "BounceSmtpReplyCode":{"type":"string"}, - "BounceStatusCode":{"type":"string"}, - "BounceType":{ - "type":"string", - "enum":[ - "DoesNotExist", - "MessageTooLarge", - "ExceededQuota", - "ContentRejected", - "Undefined", - "TemporaryFailure" - ] - }, - "BouncedRecipientInfo":{ - "type":"structure", - "required":["Recipient"], - "members":{ - "Recipient":{ - "shape":"Address", - "documentation":"

The email address of the recipient of the bounced email.

" - }, - "RecipientArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "BounceType":{ - "shape":"BounceType", - "documentation":"

The reason for the bounce. You must provide either this parameter or RecipientDsnFields.

" - }, - "RecipientDsnFields":{ - "shape":"RecipientDsnFields", - "documentation":"

Recipient-related DSN fields, most of which would normally be filled in automatically when provided with a BounceType. You must provide either this parameter or BounceType.

" - } - }, - "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" - }, - "BouncedRecipientInfoList":{ - "type":"list", - "member":{"shape":"BouncedRecipientInfo"} - }, - "BulkEmailDestination":{ - "type":"structure", - "required":["Destination"], - "members":{ - "Destination":{"shape":"Destination"}, - "ReplacementTags":{ - "shape":"MessageTagList", - "documentation":"

A list of tags, in the form of name/value pairs, to apply to an email that you send using SendBulkTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

" - }, - "ReplacementTemplateData":{ - "shape":"TemplateData", - "documentation":"

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" - } - }, - "documentation":"

An array that contains one or more Destinations, as well as the tags and replacement data associated with each of those Destinations.

" - }, - "BulkEmailDestinationList":{ - "type":"list", - "member":{"shape":"BulkEmailDestination"} - }, - "BulkEmailDestinationStatus":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"BulkEmailStatus", - "documentation":"

The status of a message sent using the SendBulkTemplatedEmail operation.

Possible values for this parameter include:

  • Success: Amazon SES accepted the message, and will attempt to deliver it to the recipients.

  • MessageRejected: The message was rejected because it contained a virus.

  • MailFromDomainNotVerified: The sender's email address or domain was not verified.

  • ConfigurationSetDoesNotExist: The configuration set you specified does not exist.

  • TemplateDoesNotExist: The template you specified does not exist.

  • AccountSuspended: Your account has been shut down because of issues related to your email sending practices.

  • AccountThrottled: The number of emails you can send has been reduced because your account has exceeded its allocated sending limit.

  • AccountDailyQuotaExceeded: You have reached or exceeded the maximum number of emails you can send from your account in a 24-hour period.

  • InvalidSendingPoolName: The configuration set you specified refers to an IP pool that does not exist.

  • AccountSendingPaused: Email sending for the Amazon SES account was disabled using the UpdateAccountSendingEnabled operation.

  • ConfigurationSetSendingPaused: Email sending for this configuration set was disabled using the UpdateConfigurationSetSendingEnabled operation.

  • InvalidParameterValue: One or more of the parameters you specified when calling this operation was invalid. See the error message for additional information.

  • TransientFailure: Amazon SES was unable to process your request because of a temporary issue.

  • Failed: Amazon SES was unable to process your request. See the error message for additional information.

" - }, - "Error":{ - "shape":"Error", - "documentation":"

A description of an error that prevented a message being sent using the SendBulkTemplatedEmail operation.

" - }, - "MessageId":{ - "shape":"MessageId", - "documentation":"

The unique message identifier returned from the SendBulkTemplatedEmail operation.

" - } - }, - "documentation":"

An object that contains the response from the SendBulkTemplatedEmail operation.

" - }, - "BulkEmailDestinationStatusList":{ - "type":"list", - "member":{"shape":"BulkEmailDestinationStatus"} - }, - "BulkEmailStatus":{ - "type":"string", - "enum":[ - "Success", - "MessageRejected", - "MailFromDomainNotVerified", - "ConfigurationSetDoesNotExist", - "TemplateDoesNotExist", - "AccountSuspended", - "AccountThrottled", - "AccountDailyQuotaExceeded", - "InvalidSendingPoolName", - "AccountSendingPaused", - "ConfigurationSetSendingPaused", - "InvalidParameterValue", - "TransientFailure", - "Failed" - ] - }, - "CannotDeleteException":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleOrRuleSetName", - "documentation":"

Indicates that a resource could not be deleted because no resource with the specified name exists.

" - } - }, - "documentation":"

Indicates that the delete operation could not be completed.

", - "error":{ - "code":"CannotDelete", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Charset":{"type":"string"}, - "Cidr":{"type":"string"}, - "CloneReceiptRuleSetRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "OriginalRuleSetName" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the rule set to create. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" - }, - "OriginalRuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the rule set to clone.

" - } - }, - "documentation":"

Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "CloneReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CloudWatchDestination":{ - "type":"structure", - "required":["DimensionConfigurations"], - "members":{ - "DimensionConfigurations":{ - "shape":"CloudWatchDimensionConfigurations", - "documentation":"

A list of dimensions upon which to categorize your emails when you publish email sending events to Amazon CloudWatch.

" - } - }, - "documentation":"

Contains information associated with an Amazon CloudWatch event destination to which email sending events are published.

Event destinations, such as Amazon CloudWatch, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "CloudWatchDimensionConfiguration":{ - "type":"structure", - "required":[ - "DimensionName", - "DimensionValueSource", - "DefaultDimensionValue" - ], - "members":{ - "DimensionName":{ - "shape":"DimensionName", - "documentation":"

The name of an Amazon CloudWatch dimension associated with an email sending metric. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" - }, - "DimensionValueSource":{ - "shape":"DimensionValueSource", - "documentation":"

The place where Amazon SES finds the value of a dimension to publish to Amazon CloudWatch. If you want Amazon SES to use the message tags that you specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail API, choose messageTag. If you want Amazon SES to use your own email headers, choose emailHeader.

" - }, - "DefaultDimensionValue":{ - "shape":"DefaultDimensionValue", - "documentation":"

The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" - } - }, - "documentation":"

Contains the dimension configuration to use when you publish email sending events to Amazon CloudWatch.

For information about publishing email sending events to Amazon CloudWatch, see the Amazon SES Developer Guide.

" - }, - "CloudWatchDimensionConfigurations":{ - "type":"list", - "member":{"shape":"CloudWatchDimensionConfiguration"} - }, - "ConfigurationSet":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set. The name must meet the following requirements:

  • Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain 64 characters or fewer.

" - } - }, - "documentation":"

The name of the configuration set.

Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. For more information about using configuration sets, see Using Amazon SES Configuration Sets in the Amazon SES Developer Guide.

" - }, - "ConfigurationSetAlreadyExistsException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - } - }, - "documentation":"

Indicates that the configuration set could not be created because of a naming conflict.

", - "error":{ - "code":"ConfigurationSetAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ConfigurationSetAttribute":{ - "type":"string", - "enum":[ - "eventDestinations", - "trackingOptions", - "reputationOptions" - ] - }, - "ConfigurationSetAttributeList":{ - "type":"list", - "member":{"shape":"ConfigurationSetAttribute"} - }, - "ConfigurationSetDoesNotExistException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - } - }, - "documentation":"

Indicates that the configuration set does not exist.

", - "error":{ - "code":"ConfigurationSetDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ConfigurationSetName":{"type":"string"}, - "ConfigurationSetSendingPausedException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set for which email sending is disabled.

" - } - }, - "documentation":"

Indicates that email sending is disabled for the configuration set.

You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.

", - "error":{ - "code":"ConfigurationSetSendingPausedException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ConfigurationSets":{ - "type":"list", - "member":{"shape":"ConfigurationSet"} - }, - "Content":{ - "type":"structure", - "required":["Data"], - "members":{ - "Data":{ - "shape":"MessageData", - "documentation":"

The textual data of the content.

" - }, - "Charset":{ - "shape":"Charset", - "documentation":"

The character set of the content.

" - } - }, - "documentation":"

Represents textual data, plus an optional character set specification.

By default, the text must be 7-bit ASCII, due to the constraints of the SMTP protocol. If the text must contain any other characters, then you must also specify a character set. Examples include UTF-8, ISO-8859-1, and Shift_JIS.

" - }, - "Counter":{"type":"long"}, - "CreateConfigurationSetEventDestinationRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "EventDestination" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set that the event destination should be associated with.

" - }, - "EventDestination":{ - "shape":"EventDestination", - "documentation":"

An object that describes the AWS service that email sending event information will be published to.

" - } - }, - "documentation":"

Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "CreateConfigurationSetEventDestinationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateConfigurationSetRequest":{ - "type":"structure", - "required":["ConfigurationSet"], - "members":{ - "ConfigurationSet":{ - "shape":"ConfigurationSet", - "documentation":"

A data structure that contains the name of the configuration set.

" - } - }, - "documentation":"

Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "CreateConfigurationSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateConfigurationSetTrackingOptionsRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "TrackingOptions" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set that the tracking options should be associated with.

" - }, - "TrackingOptions":{"shape":"TrackingOptions"} - }, - "documentation":"

Represents a request to create an open and click tracking option object in a configuration set.

" - }, - "CreateConfigurationSetTrackingOptionsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateCustomVerificationEmailTemplateRequest":{ - "type":"structure", - "required":[ - "TemplateName", - "FromEmailAddress", - "TemplateSubject", - "TemplateContent", - "SuccessRedirectionURL", - "FailureRedirectionURL" - ], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template.

" - }, - "FromEmailAddress":{ - "shape":"FromAddress", - "documentation":"

The email address that the custom verification email is sent from.

" - }, - "TemplateSubject":{ - "shape":"Subject", - "documentation":"

The subject line of the custom verification email.

" - }, - "TemplateContent":{ - "shape":"TemplateContent", - "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" - }, - "SuccessRedirectionURL":{ - "shape":"SuccessRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" - }, - "FailureRedirectionURL":{ - "shape":"FailureRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" - } - }, - "documentation":"

Represents a request to create a custom verification email template.

" - }, - "CreateReceiptFilterRequest":{ - "type":"structure", - "required":["Filter"], - "members":{ - "Filter":{ - "shape":"ReceiptFilter", - "documentation":"

A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.

" - } - }, - "documentation":"

Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "CreateReceiptFilterResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateReceiptRuleRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "Rule" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the rule set that the receipt rule will be added to.

" - }, - "After":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of an existing rule after which the new rule will be placed. If this parameter is null, the new rule will be inserted at the beginning of the rule list.

" - }, - "Rule":{ - "shape":"ReceiptRule", - "documentation":"

A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.

" - } - }, - "documentation":"

Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "CreateReceiptRuleResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateReceiptRuleSetRequest":{ - "type":"structure", - "required":["RuleSetName"], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the rule set to create. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" - } - }, - "documentation":"

Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "CreateReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "CreateTemplateRequest":{ - "type":"structure", - "required":["Template"], - "members":{ - "Template":{ - "shape":"Template", - "documentation":"

The content of the email, composed of a subject line, an HTML part, and a text-only part.

" - } - }, - "documentation":"

Represents a request to create an email template. For more information, see the Amazon SES Developer Guide.

" - }, - "CreateTemplateResponse":{ - "type":"structure", - "members":{ - } - }, - "CustomMailFromStatus":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failed", - "TemporaryFailure" - ] - }, - "CustomRedirectDomain":{"type":"string"}, - "CustomVerificationEmailInvalidContentException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that custom verification email template provided content is invalid.

", - "error":{ - "code":"CustomVerificationEmailInvalidContent", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CustomVerificationEmailTemplate":{ - "type":"structure", - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template.

" - }, - "FromEmailAddress":{ - "shape":"FromAddress", - "documentation":"

The email address that the custom verification email is sent from.

" - }, - "TemplateSubject":{ - "shape":"Subject", - "documentation":"

The subject line of the custom verification email.

" - }, - "SuccessRedirectionURL":{ - "shape":"SuccessRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" - }, - "FailureRedirectionURL":{ - "shape":"FailureRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" - } - }, - "documentation":"

Contains information about a custom verification email template.

" - }, - "CustomVerificationEmailTemplateAlreadyExistsException":{ - "type":"structure", - "members":{ - "CustomVerificationEmailTemplateName":{ - "shape":"TemplateName", - "documentation":"

Indicates that the provided custom verification email template with the specified template name already exists.

" - } - }, - "documentation":"

Indicates that a custom verification email template with the name you specified already exists.

", - "error":{ - "code":"CustomVerificationEmailTemplateAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CustomVerificationEmailTemplateDoesNotExistException":{ - "type":"structure", - "members":{ - "CustomVerificationEmailTemplateName":{ - "shape":"TemplateName", - "documentation":"

Indicates that the provided custom verification email template does not exist.

" - } - }, - "documentation":"

Indicates that a custom verification email template with the name you specified does not exist.

", - "error":{ - "code":"CustomVerificationEmailTemplateDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "CustomVerificationEmailTemplates":{ - "type":"list", - "member":{"shape":"CustomVerificationEmailTemplate"} - }, - "DefaultDimensionValue":{"type":"string"}, - "DeleteConfigurationSetEventDestinationRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "EventDestinationName" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set from which to delete the event destination.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

The name of the event destination to delete.

" - } - }, - "documentation":"

Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "DeleteConfigurationSetEventDestinationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteConfigurationSetRequest":{ - "type":"structure", - "required":["ConfigurationSetName"], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to delete.

" - } - }, - "documentation":"

Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "DeleteConfigurationSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteConfigurationSetTrackingOptionsRequest":{ - "type":"structure", - "required":["ConfigurationSetName"], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set from which you want to delete the tracking options.

" - } - }, - "documentation":"

Represents a request to delete open and click tracking options in a configuration set.

" - }, - "DeleteConfigurationSetTrackingOptionsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteCustomVerificationEmailTemplateRequest":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template that you want to delete.

" - } - }, - "documentation":"

Represents a request to delete an existing custom verification email template.

" - }, - "DeleteIdentityPolicyRequest":{ - "type":"structure", - "required":[ - "Identity", - "PolicyName" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity that is associated with the policy that you want to delete. You can specify the identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy to be deleted.

" - } - }, - "documentation":"

Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" - }, - "DeleteIdentityPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteIdentityRequest":{ - "type":"structure", - "required":["Identity"], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity to be removed from the list of identities for the AWS Account.

" - } - }, - "documentation":"

Represents a request to delete one of your Amazon SES identities (an email address or domain).

" - }, - "DeleteIdentityResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteReceiptFilterRequest":{ - "type":"structure", - "required":["FilterName"], - "members":{ - "FilterName":{ - "shape":"ReceiptFilterName", - "documentation":"

The name of the IP address filter to delete.

" - } - }, - "documentation":"

Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DeleteReceiptFilterResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteReceiptRuleRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "RuleName" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set that contains the receipt rule to delete.

" - }, - "RuleName":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of the receipt rule to delete.

" - } - }, - "documentation":"

Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DeleteReceiptRuleResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteReceiptRuleSetRequest":{ - "type":"structure", - "required":["RuleSetName"], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set to delete.

" - } - }, - "documentation":"

Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DeleteReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "DeleteTemplateRequest":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the template to be deleted.

" - } - }, - "documentation":"

Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide.

" - }, - "DeleteTemplateResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteVerifiedEmailAddressRequest":{ - "type":"structure", - "required":["EmailAddress"], - "members":{ - "EmailAddress":{ - "shape":"Address", - "documentation":"

An email address to be removed from the list of verified addresses.

" - } - }, - "documentation":"

Represents a request to delete an email address from the list of email addresses you have attempted to verify under your AWS account.

" - }, - "DescribeActiveReceiptRuleSetRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents a request to return the metadata and receipt rules for the receipt rule set that is currently active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DescribeActiveReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - "Metadata":{ - "shape":"ReceiptRuleSetMetadata", - "documentation":"

The metadata for the currently active receipt rule set. The metadata consists of the rule set name and a timestamp of when the rule set was created.

" - }, - "Rules":{ - "shape":"ReceiptRulesList", - "documentation":"

The receipt rules that belong to the active rule set.

" - } - }, - "documentation":"

Represents the metadata and receipt rules for the receipt rule set that is currently active.

" - }, - "DescribeConfigurationSetRequest":{ - "type":"structure", - "required":["ConfigurationSetName"], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to describe.

" - }, - "ConfigurationSetAttributeNames":{ - "shape":"ConfigurationSetAttributeList", - "documentation":"

A list of configuration set attributes to return.

" - } - }, - "documentation":"

Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "DescribeConfigurationSetResponse":{ - "type":"structure", - "members":{ - "ConfigurationSet":{ - "shape":"ConfigurationSet", - "documentation":"

The configuration set object associated with the specified configuration set.

" - }, - "EventDestinations":{ - "shape":"EventDestinations", - "documentation":"

A list of event destinations associated with the configuration set.

" - }, - "TrackingOptions":{ - "shape":"TrackingOptions", - "documentation":"

The name of the custom open and click tracking domain associated with the configuration set.

" - }, - "ReputationOptions":{ - "shape":"ReputationOptions", - "documentation":"

An object that represents the reputation settings for the configuration set.

" - } - }, - "documentation":"

Represents the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "DescribeReceiptRuleRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "RuleName" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set that the receipt rule belongs to.

" - }, - "RuleName":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of the receipt rule.

" - } - }, - "documentation":"

Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DescribeReceiptRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"ReceiptRule", - "documentation":"

A data structure that contains the specified receipt rule's name, actions, recipients, domains, enabled status, scan status, and Transport Layer Security (TLS) policy.

" - } - }, - "documentation":"

Represents the details of a receipt rule.

" - }, - "DescribeReceiptRuleSetRequest":{ - "type":"structure", - "required":["RuleSetName"], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set to describe.

" - } - }, - "documentation":"

Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "DescribeReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - "Metadata":{ - "shape":"ReceiptRuleSetMetadata", - "documentation":"

The metadata for the receipt rule set, which consists of the rule set name and the timestamp of when the rule set was created.

" - }, - "Rules":{ - "shape":"ReceiptRulesList", - "documentation":"

A list of the receipt rules that belong to the specified receipt rule set.

" - } - }, - "documentation":"

Represents the details of the specified receipt rule set.

" - }, - "Destination":{ - "type":"structure", - "members":{ - "ToAddresses":{ - "shape":"AddressList", - "documentation":"

The To: field(s) of the message.

" - }, - "CcAddresses":{ - "shape":"AddressList", - "documentation":"

The CC: field(s) of the message.

" - }, - "BccAddresses":{ - "shape":"AddressList", - "documentation":"

The BCC: field(s) of the message.

" - } - }, - "documentation":"

Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a destination email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492.

" - }, - "DiagnosticCode":{"type":"string"}, - "DimensionName":{"type":"string"}, - "DimensionValueSource":{ - "type":"string", - "enum":[ - "messageTag", - "emailHeader", - "linkTag" - ] - }, - "DkimAttributes":{ - "type":"map", - "key":{"shape":"Identity"}, - "value":{"shape":"IdentityDkimAttributes"} - }, - "Domain":{"type":"string"}, - "DsnAction":{ - "type":"string", - "enum":[ - "failed", - "delayed", - "delivered", - "relayed", - "expanded" - ] - }, - "DsnStatus":{"type":"string"}, - "Enabled":{"type":"boolean"}, - "Error":{"type":"string"}, - "EventDestination":{ - "type":"structure", - "required":[ - "Name", - "MatchingEventTypes" - ], - "members":{ - "Name":{ - "shape":"EventDestinationName", - "documentation":"

The name of the event destination. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 64 characters.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

Sets whether Amazon SES publishes events to this destination when you send an email with the associated configuration set. Set to true to enable publishing to this destination; set to false to prevent publishing to this destination. The default value is false.

" - }, - "MatchingEventTypes":{ - "shape":"EventTypes", - "documentation":"

The type of email sending events to publish to the event destination.

" - }, - "KinesisFirehoseDestination":{ - "shape":"KinesisFirehoseDestination", - "documentation":"

An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

" - }, - "CloudWatchDestination":{ - "shape":"CloudWatchDestination", - "documentation":"

An object that contains the names, default values, and sources of the dimensions associated with an Amazon CloudWatch event destination.

" - }, - "SNSDestination":{ - "shape":"SNSDestination", - "documentation":"

An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

" - } - }, - "documentation":"

Contains information about the event destination that the specified email sending events will be published to.

When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification Service (Amazon SNS).

Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "EventDestinationAlreadyExistsException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

Indicates that the event destination does not exist.

" - } - }, - "documentation":"

Indicates that the event destination could not be created because of a naming conflict.

", - "error":{ - "code":"EventDestinationAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EventDestinationDoesNotExistException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

Indicates that the event destination does not exist.

" - } - }, - "documentation":"

Indicates that the event destination does not exist.

", - "error":{ - "code":"EventDestinationDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "EventDestinationName":{"type":"string"}, - "EventDestinations":{ - "type":"list", - "member":{"shape":"EventDestination"} - }, - "EventType":{ - "type":"string", - "enum":[ - "send", - "reject", - "bounce", - "complaint", - "delivery", - "open", - "click", - "renderingFailure" - ] - }, - "EventTypes":{ - "type":"list", - "member":{"shape":"EventType"} - }, - "Explanation":{"type":"string"}, - "ExtensionField":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"ExtensionFieldName", - "documentation":"

The name of the header to add. Must be between 1 and 50 characters, inclusive, and consist of alphanumeric (a-z, A-Z, 0-9) characters and dashes only.

" - }, - "Value":{ - "shape":"ExtensionFieldValue", - "documentation":"

The value of the header to add. Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

" - } - }, - "documentation":"

Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" - }, - "ExtensionFieldList":{ - "type":"list", - "member":{"shape":"ExtensionField"} - }, - "ExtensionFieldName":{"type":"string"}, - "ExtensionFieldValue":{"type":"string"}, - "FailureRedirectionURL":{"type":"string"}, - "FromAddress":{"type":"string"}, - "FromEmailAddressNotVerifiedException":{ - "type":"structure", - "members":{ - "FromEmailAddress":{ - "shape":"FromAddress", - "documentation":"

Indicates that the from email address associated with the custom verification email template is not verified.

" - } - }, - "documentation":"

Indicates that the sender address specified for a custom verification email is not verified, and is therefore not eligible to send the custom verification email.

", - "error":{ - "code":"FromEmailAddressNotVerified", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "GetAccountSendingEnabledResponse":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Enabled", - "documentation":"

Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

" - } - }, - "documentation":"

Represents a request to return the email sending status for your Amazon SES account in the current AWS Region.

" - }, - "GetCustomVerificationEmailTemplateRequest":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template that you want to retrieve.

" - } - }, - "documentation":"

Represents a request to retrieve an existing custom verification email template.

" - }, - "GetCustomVerificationEmailTemplateResponse":{ - "type":"structure", - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template.

" - }, - "FromEmailAddress":{ - "shape":"FromAddress", - "documentation":"

The email address that the custom verification email is sent from.

" - }, - "TemplateSubject":{ - "shape":"Subject", - "documentation":"

The subject line of the custom verification email.

" - }, - "TemplateContent":{ - "shape":"TemplateContent", - "documentation":"

The content of the custom verification email.

" - }, - "SuccessRedirectionURL":{ - "shape":"SuccessRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" - }, - "FailureRedirectionURL":{ - "shape":"FailureRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" - } - }, - "documentation":"

The content of the custom verification email template.

" - }, - "GetIdentityDkimAttributesRequest":{ - "type":"structure", - "required":["Identities"], - "members":{ - "Identities":{ - "shape":"IdentityList", - "documentation":"

A list of one or more verified identities - email addresses, domains, or both.

" - } - }, - "documentation":"

Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, see the Amazon SES Developer Guide.

" - }, - "GetIdentityDkimAttributesResponse":{ - "type":"structure", - "required":["DkimAttributes"], - "members":{ - "DkimAttributes":{ - "shape":"DkimAttributes", - "documentation":"

The DKIM attributes for an email address or a domain.

" - } - }, - "documentation":"

Represents the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this response also contains the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published.

" - }, - "GetIdentityMailFromDomainAttributesRequest":{ - "type":"structure", - "required":["Identities"], - "members":{ - "Identities":{ - "shape":"IdentityList", - "documentation":"

A list of one or more identities.

" - } - }, - "documentation":"

Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" - }, - "GetIdentityMailFromDomainAttributesResponse":{ - "type":"structure", - "required":["MailFromDomainAttributes"], - "members":{ - "MailFromDomainAttributes":{ - "shape":"MailFromDomainAttributes", - "documentation":"

A map of identities to custom MAIL FROM attributes.

" - } - }, - "documentation":"

Represents the custom MAIL FROM attributes for a list of identities.

" - }, - "GetIdentityNotificationAttributesRequest":{ - "type":"structure", - "required":["Identities"], - "members":{ - "Identities":{ - "shape":"IdentityList", - "documentation":"

A list of one or more identities. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

" - } - }, - "documentation":"

Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" - }, - "GetIdentityNotificationAttributesResponse":{ - "type":"structure", - "required":["NotificationAttributes"], - "members":{ - "NotificationAttributes":{ - "shape":"NotificationAttributes", - "documentation":"

A map of Identity to IdentityNotificationAttributes.

" - } - }, - "documentation":"

Represents the notification attributes for a list of identities.

" - }, - "GetIdentityPoliciesRequest":{ - "type":"structure", - "required":[ - "Identity", - "PolicyNames" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity for which the policies will be retrieved. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

" - }, - "PolicyNames":{ - "shape":"PolicyNameList", - "documentation":"

A list of the names of policies to be retrieved. You can retrieve a maximum of 20 policies at a time. If you do not know the names of the policies that are attached to the identity, you can use ListIdentityPolicies.

" - } - }, - "documentation":"

Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" - }, - "GetIdentityPoliciesResponse":{ - "type":"structure", - "required":["Policies"], - "members":{ - "Policies":{ - "shape":"PolicyMap", - "documentation":"

A map of policy names to policies.

" - } - }, - "documentation":"

Represents the requested sending authorization policies.

" - }, - "GetIdentityVerificationAttributesRequest":{ - "type":"structure", - "required":["Identities"], - "members":{ - "Identities":{ - "shape":"IdentityList", - "documentation":"

A list of identities.

" - } - }, - "documentation":"

Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying identities with Amazon SES, see the Amazon SES Developer Guide.

" - }, - "GetIdentityVerificationAttributesResponse":{ - "type":"structure", - "required":["VerificationAttributes"], - "members":{ - "VerificationAttributes":{ - "shape":"VerificationAttributes", - "documentation":"

A map of Identities to IdentityVerificationAttributes objects.

" - } - }, - "documentation":"

The Amazon SES verification status of a list of identities. For domain identities, this response also contains the verification token.

" - }, - "GetSendQuotaResponse":{ - "type":"structure", - "members":{ - "Max24HourSend":{ - "shape":"Max24HourSend", - "documentation":"

The maximum number of emails the user is allowed to send in a 24-hour interval. A value of -1 signifies an unlimited quota.

" - }, - "MaxSendRate":{ - "shape":"MaxSendRate", - "documentation":"

The maximum number of emails that Amazon SES can accept from the user's account per second.

The rate at which Amazon SES accepts the user's messages might be less than the maximum send rate.

" - }, - "SentLast24Hours":{ - "shape":"SentLast24Hours", - "documentation":"

The number of emails sent during the previous 24 hours.

" - } - }, - "documentation":"

Represents your Amazon SES daily sending quota, maximum send rate, and the number of emails you have sent in the last 24 hours.

" - }, - "GetSendStatisticsResponse":{ - "type":"structure", - "members":{ - "SendDataPoints":{ - "shape":"SendDataPointList", - "documentation":"

A list of data points, each of which represents 15 minutes of activity.

" - } - }, - "documentation":"

Represents a list of data points. This list contains aggregated data from the previous two weeks of your sending activity with Amazon SES.

" - }, - "GetTemplateRequest":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the template you want to retrieve.

" - } - } - }, - "GetTemplateResponse":{ - "type":"structure", - "members":{ - "Template":{"shape":"Template"} - } - }, - "HeaderName":{"type":"string"}, - "HeaderValue":{"type":"string"}, - "HtmlPart":{"type":"string"}, - "Identity":{"type":"string"}, - "IdentityDkimAttributes":{ - "type":"structure", - "required":[ - "DkimEnabled", - "DkimVerificationStatus" - ], - "members":{ - "DkimEnabled":{ - "shape":"Enabled", - "documentation":"

True if DKIM signing is enabled for email sent from the identity; false otherwise. The default value is true.

" - }, - "DkimVerificationStatus":{ - "shape":"VerificationStatus", - "documentation":"

Describes whether Amazon SES has successfully verified the DKIM DNS records (tokens) published in the domain name's DNS. (This only applies to domain identities, not email address identities.)

" - }, - "DkimTokens":{ - "shape":"VerificationTokenList", - "documentation":"

A set of character strings that represent the domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" - } - }, - "documentation":"

Represents the DKIM attributes of a verified email address or a domain.

" - }, - "IdentityList":{ - "type":"list", - "member":{"shape":"Identity"} - }, - "IdentityMailFromDomainAttributes":{ - "type":"structure", - "required":[ - "MailFromDomain", - "MailFromDomainStatus", - "BehaviorOnMXFailure" - ], - "members":{ - "MailFromDomain":{ - "shape":"MailFromDomainName", - "documentation":"

The custom MAIL FROM domain that the identity is configured to use.

" - }, - "MailFromDomainStatus":{ - "shape":"CustomMailFromStatus", - "documentation":"

The state that indicates whether Amazon SES has successfully read the MX record required for custom MAIL FROM domain setup. If the state is Success, Amazon SES uses the specified custom MAIL FROM domain when the verified identity sends an email. All other states indicate that Amazon SES takes the action described by BehaviorOnMXFailure.

" - }, - "BehaviorOnMXFailure":{ - "shape":"BehaviorOnMXFailure", - "documentation":"

The action that Amazon SES takes if it cannot successfully read the required MX record when you send an email. A value of UseDefaultValue indicates that if Amazon SES cannot read the required MX record, it uses amazonses.com (or a subdomain of that) as the MAIL FROM domain. A value of RejectMessage indicates that if Amazon SES cannot read the required MX record, Amazon SES returns a MailFromDomainNotVerified error and does not send the email.

The custom MAIL FROM setup states that result in this behavior are Pending, Failed, and TemporaryFailure.

" - } - }, - "documentation":"

Represents the custom MAIL FROM domain attributes of a verified identity (email address or domain).

" - }, - "IdentityNotificationAttributes":{ - "type":"structure", - "required":[ - "BounceTopic", - "ComplaintTopic", - "DeliveryTopic", - "ForwardingEnabled" - ], - "members":{ - "BounceTopic":{ - "shape":"NotificationTopic", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish bounce notifications.

" - }, - "ComplaintTopic":{ - "shape":"NotificationTopic", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish complaint notifications.

" - }, - "DeliveryTopic":{ - "shape":"NotificationTopic", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic where Amazon SES will publish delivery notifications.

" - }, - "ForwardingEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether Amazon SES will forward bounce and complaint notifications as email. true indicates that Amazon SES will forward bounce and complaint notifications as email, while false indicates that bounce and complaint notifications will be published only to the specified bounce and complaint Amazon SNS topics.

" - }, - "HeadersInBounceNotificationsEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of type Bounce. A value of true specifies that Amazon SES will include headers in bounce notifications, and a value of false specifies that Amazon SES will not include headers in bounce notifications.

" - }, - "HeadersInComplaintNotificationsEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of type Complaint. A value of true specifies that Amazon SES will include headers in complaint notifications, and a value of false specifies that Amazon SES will not include headers in complaint notifications.

" - }, - "HeadersInDeliveryNotificationsEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether Amazon SES includes the original email headers in Amazon SNS notifications of type Delivery. A value of true specifies that Amazon SES will include headers in delivery notifications, and a value of false specifies that Amazon SES will not include headers in delivery notifications.

" - } - }, - "documentation":"

Represents the notification attributes of an identity, including whether an identity has Amazon Simple Notification Service (Amazon SNS) topics set for bounce, complaint, and/or delivery notifications, and whether feedback forwarding is enabled for bounce and complaint notifications.

" - }, - "IdentityType":{ - "type":"string", - "enum":[ - "EmailAddress", - "Domain" - ] - }, - "IdentityVerificationAttributes":{ - "type":"structure", - "required":["VerificationStatus"], - "members":{ - "VerificationStatus":{ - "shape":"VerificationStatus", - "documentation":"

The verification status of the identity: \"Pending\", \"Success\", \"Failed\", or \"TemporaryFailure\".

" - }, - "VerificationToken":{ - "shape":"VerificationToken", - "documentation":"

The verification token for a domain identity. Null for email address identities.

" - } - }, - "documentation":"

Represents the verification attributes of a single identity.

" - }, - "InvalidCloudWatchDestinationException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

Indicates that the event destination does not exist.

" - } - }, - "documentation":"

Indicates that the Amazon CloudWatch destination is invalid. See the error message for details.

", - "error":{ - "code":"InvalidCloudWatchDestination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidConfigurationSetException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the configuration set is invalid. See the error message for details.

", - "error":{ - "code":"InvalidConfigurationSet", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidFirehoseDestinationException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

Indicates that the event destination does not exist.

" - } - }, - "documentation":"

Indicates that the Amazon Kinesis Firehose destination is invalid. See the error message for details.

", - "error":{ - "code":"InvalidFirehoseDestination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidLambdaFunctionException":{ - "type":"structure", - "members":{ - "FunctionArn":{ - "shape":"AmazonResourceName", - "documentation":"

Indicates that the ARN of the function was not found.

" - } - }, - "documentation":"

Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the provided function, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", - "error":{ - "code":"InvalidLambdaFunction", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidPolicyException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the provided policy is invalid. Check the error stack for more information about what caused the error.

", - "error":{ - "code":"InvalidPolicy", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidRenderingParameterException":{ - "type":"structure", - "members":{ - "TemplateName":{"shape":"TemplateName"} - }, - "documentation":"

Indicates that one or more of the replacement values you provided is invalid. This error may occur when the TemplateData object contains invalid JSON.

", - "error":{ - "code":"InvalidRenderingParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidS3ConfigurationException":{ - "type":"structure", - "members":{ - "Bucket":{ - "shape":"S3BucketName", - "documentation":"

Indicated that the S3 Bucket was not found.

" - } - }, - "documentation":"

Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES could not publish to the bucket, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", - "error":{ - "code":"InvalidS3Configuration", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSNSDestinationException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that the configuration set does not exist.

" - }, - "EventDestinationName":{ - "shape":"EventDestinationName", - "documentation":"

Indicates that the event destination does not exist.

" - } - }, - "documentation":"

Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error message for details.

", - "error":{ - "code":"InvalidSNSDestination", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidSnsTopicException":{ - "type":"structure", - "members":{ - "Topic":{ - "shape":"AmazonResourceName", - "documentation":"

Indicates that the topic does not exist.

" - } - }, - "documentation":"

Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

", - "error":{ - "code":"InvalidSnsTopic", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidTemplateException":{ - "type":"structure", - "members":{ - "TemplateName":{"shape":"TemplateName"} - }, - "documentation":"

Indicates that the template that you specified could not be rendered. This issue may occur when a template refers to a partial that does not exist.

", - "error":{ - "code":"InvalidTemplate", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidTrackingOptionsException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the custom domain to be used for open and click tracking redirects is invalid. This error appears most often in the following situations:

  • When the tracking domain you specified is not verified in Amazon SES.

  • When the tracking domain you specified is not a valid domain or subdomain.

", - "error":{ - "code":"InvalidTrackingOptions", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvocationType":{ - "type":"string", - "enum":[ - "Event", - "RequestResponse" - ] - }, - "KinesisFirehoseDestination":{ - "type":"structure", - "required":[ - "IAMRoleARN", - "DeliveryStreamARN" - ], - "members":{ - "IAMRoleARN":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the IAM role under which Amazon SES publishes email sending events to the Amazon Kinesis Firehose stream.

" - }, - "DeliveryStreamARN":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.

" - } - }, - "documentation":"

Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "LambdaAction":{ - "type":"structure", - "required":["FunctionArn"], - "members":{ - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - }, - "FunctionArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

" - }, - "InvocationType":{ - "shape":"InvocationType", - "documentation":"

The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

" - } - }, - "documentation":"

When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

" - }, - "LastAttemptDate":{"type":"timestamp"}, - "LastFreshStart":{"type":"timestamp"}, - "LimitExceededException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that a resource could not be created because of service limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.

", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ListConfigurationSetsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListConfigurationSets to indicate the position of the configuration set in the configuration set list.

" - }, - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

The number of configuration sets to return.

" - } - }, - "documentation":"

Represents a request to list the configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "ListConfigurationSetsResponse":{ - "type":"structure", - "members":{ - "ConfigurationSets":{ - "shape":"ConfigurationSets", - "documentation":"

A list of configuration sets.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token indicating that there are additional configuration sets available to be listed. Pass this token to successive calls of ListConfigurationSets.

" - } - }, - "documentation":"

A list of configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "ListCustomVerificationEmailTemplatesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

An array the contains the name and creation time stamp for each template in your Amazon SES account.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of custom verification email templates to return. This value must be at least 1 and less than or equal to 50. If you do not specify a value, or if you specify a value less than 1 or greater than 50, the operation will return up to 50 results.

" - } - }, - "documentation":"

Represents a request to list the existing custom verification email templates for your account.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

" - }, - "ListCustomVerificationEmailTemplatesResponse":{ - "type":"structure", - "members":{ - "CustomVerificationEmailTemplates":{ - "shape":"CustomVerificationEmailTemplates", - "documentation":"

A list of the custom verification email templates that exist in your account.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token indicating that there are additional custom verification email templates available to be listed. Pass this token to a subsequent call to ListTemplates to retrieve the next 50 custom verification email templates.

" - } - }, - "documentation":"

A paginated list of custom verification email templates.

" - }, - "ListIdentitiesRequest":{ - "type":"structure", - "members":{ - "IdentityType":{ - "shape":"IdentityType", - "documentation":"

The type of the identities to list. Possible values are \"EmailAddress\" and \"Domain\". If this parameter is omitted, then all identities will be listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use for pagination.

" - }, - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

The maximum number of identities per page. Possible values are 1-1000 inclusive.

" - } - }, - "documentation":"

Represents a request to return a list of all identities (email addresses and domains) that you have attempted to verify under your AWS account, regardless of verification status.

" - }, - "ListIdentitiesResponse":{ - "type":"structure", - "required":["Identities"], - "members":{ - "Identities":{ - "shape":"IdentityList", - "documentation":"

A list of identities.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token used for pagination.

" - } - }, - "documentation":"

A list of all identities that you have attempted to verify under your AWS account, regardless of verification status.

" - }, - "ListIdentityPoliciesRequest":{ - "type":"structure", - "required":["Identity"], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity that is associated with the policy for which the policies will be listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

" - } - }, - "documentation":"

Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" - }, - "ListIdentityPoliciesResponse":{ - "type":"structure", - "required":["PolicyNames"], - "members":{ - "PolicyNames":{ - "shape":"PolicyNameList", - "documentation":"

A list of names of policies that apply to the specified identity.

" - } - }, - "documentation":"

A list of names of sending authorization policies that apply to an identity.

" - }, - "ListReceiptFiltersRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

Represents a request to list the IP address filters that exist under your AWS account. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "ListReceiptFiltersResponse":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"ReceiptFilterList", - "documentation":"

A list of IP address filter data structures, which each consist of a name, an IP address range, and whether to allow or block mail from it.

" - } - }, - "documentation":"

A list of IP address filters that exist under your AWS account.

" - }, - "ListReceiptRuleSetsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list.

" - } - }, - "documentation":"

Represents a request to list the receipt rule sets that exist under your AWS account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "ListReceiptRuleSetsResponse":{ - "type":"structure", - "members":{ - "RuleSets":{ - "shape":"ReceiptRuleSetsLists", - "documentation":"

The metadata for the currently active receipt rule set. The metadata consists of the rule set name and the timestamp of when the rule set was created.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token indicating that there are additional receipt rule sets available to be listed. Pass this token to successive calls of ListReceiptRuleSets to retrieve up to 100 receipt rule sets at a time.

" - } - }, - "documentation":"

A list of receipt rule sets that exist under your AWS account.

" - }, - "ListTemplatesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token returned from a previous call to ListTemplates to indicate the position in the list of email templates.

" - }, - "MaxItems":{ - "shape":"MaxItems", - "documentation":"

The maximum number of templates to return. This value must be at least 1 and less than or equal to 10. If you do not specify a value, or if you specify a value less than 1 or greater than 10, the operation will return up to 10 results.

" - } - } - }, - "ListTemplatesResponse":{ - "type":"structure", - "members":{ - "TemplatesMetadata":{ - "shape":"TemplateMetadataList", - "documentation":"

An array the contains the name and creation time stamp for each template in your Amazon SES account.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token indicating that there are additional email templates available to be listed. Pass this token to a subsequent call to ListTemplates to retrieve the next 50 email templates.

" - } - } - }, - "ListVerifiedEmailAddressesResponse":{ - "type":"structure", - "members":{ - "VerifiedEmailAddresses":{ - "shape":"AddressList", - "documentation":"

A list of email addresses that have been verified.

" - } - }, - "documentation":"

A list of email addresses that you have verified with Amazon SES under your AWS account.

" - }, - "MailFromDomainAttributes":{ - "type":"map", - "key":{"shape":"Identity"}, - "value":{"shape":"IdentityMailFromDomainAttributes"} - }, - "MailFromDomainName":{"type":"string"}, - "MailFromDomainNotVerifiedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the message could not be sent because Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings for an identity, see the Amazon SES Developer Guide.

", - "error":{ - "code":"MailFromDomainNotVerifiedException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Max24HourSend":{"type":"double"}, - "MaxItems":{"type":"integer"}, - "MaxResults":{ - "type":"integer", - "box":true, - "max":50, - "min":1 - }, - "MaxSendRate":{"type":"double"}, - "Message":{ - "type":"structure", - "required":[ - "Subject", - "Body" - ], - "members":{ - "Subject":{ - "shape":"Content", - "documentation":"

The subject of the message: A short summary of the content, which will appear in the recipient's inbox.

" - }, - "Body":{ - "shape":"Body", - "documentation":"

The message body.

" - } - }, - "documentation":"

Represents the message to be sent, composed of a subject and a body.

" - }, - "MessageData":{"type":"string"}, - "MessageDsn":{ - "type":"structure", - "required":["ReportingMta"], - "members":{ - "ReportingMta":{ - "shape":"ReportingMta", - "documentation":"

The reporting MTA that attempted to deliver the message, formatted as specified in RFC 3464 (mta-name-type; mta-name). The default value is dns; inbound-smtp.[region].amazonaws.com.

" - }, - "ArrivalDate":{ - "shape":"ArrivalDate", - "documentation":"

When the message was received by the reporting mail transfer agent (MTA), in RFC 822 date-time format.

" - }, - "ExtensionFields":{ - "shape":"ExtensionFieldList", - "documentation":"

Additional X-headers to include in the DSN.

" - } - }, - "documentation":"

Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" - }, - "MessageId":{"type":"string"}, - "MessageRejected":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the action failed, and the message could not be sent. Check the error stack for more information about what caused the error.

", - "error":{ - "code":"MessageRejected", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "MessageTag":{ - "type":"structure", - "required":[ - "Name", - "Value" - ], - "members":{ - "Name":{ - "shape":"MessageTagName", - "documentation":"

The name of the tag. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" - }, - "Value":{ - "shape":"MessageTagValue", - "documentation":"

The value of the tag. The value must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Contain less than 256 characters.

" - } - }, - "documentation":"

Contains the name and value of a tag that you can provide to SendEmail or SendRawEmail to apply to an email.

Message tags, which you use with configuration sets, enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "MessageTagList":{ - "type":"list", - "member":{"shape":"MessageTag"} - }, - "MessageTagName":{"type":"string"}, - "MessageTagValue":{"type":"string"}, - "MissingRenderingAttributeException":{ - "type":"structure", - "members":{ - "TemplateName":{"shape":"TemplateName"} - }, - "documentation":"

Indicates that one or more of the replacement values for the specified template was not specified. Ensure that the TemplateData object contains references to all of the replacement tags in the specified template.

", - "error":{ - "code":"MissingRenderingAttribute", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NextToken":{"type":"string"}, - "NotificationAttributes":{ - "type":"map", - "key":{"shape":"Identity"}, - "value":{"shape":"IdentityNotificationAttributes"} - }, - "NotificationTopic":{"type":"string"}, - "NotificationType":{ - "type":"string", - "enum":[ - "Bounce", - "Complaint", - "Delivery" - ] - }, - "Policy":{ - "type":"string", - "min":1 - }, - "PolicyMap":{ - "type":"map", - "key":{"shape":"PolicyName"}, - "value":{"shape":"Policy"} - }, - "PolicyName":{ - "type":"string", - "max":64, - "min":1 - }, - "PolicyNameList":{ - "type":"list", - "member":{"shape":"PolicyName"} - }, - "ProductionAccessNotGrantedException":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the account has not been granted production access.

", - "error":{ - "code":"ProductionAccessNotGranted", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PutIdentityPolicyRequest":{ - "type":"structure", - "required":[ - "Identity", - "PolicyName", - "Policy" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity that the policy will apply to. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

To successfully call this API, you must own the identity.

" - }, - "PolicyName":{ - "shape":"PolicyName", - "documentation":"

The name of the policy.

The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

" - }, - "Policy":{ - "shape":"Policy", - "documentation":"

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

" - } - }, - "documentation":"

Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

" - }, - "PutIdentityPolicyResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "RawMessage":{ - "type":"structure", - "required":["Data"], - "members":{ - "Data":{ - "shape":"RawMessageData", - "documentation":"

The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you. In all cases, the client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, and MIME encoding.

The To:, CC:, and BCC: headers in the raw message can contain a group list.

If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

For more information, go to the Amazon SES Developer Guide.

" - } - }, - "documentation":"

Represents the raw data of the message.

" - }, - "RawMessageData":{"type":"blob"}, - "ReceiptAction":{ - "type":"structure", - "members":{ - "S3Action":{ - "shape":"S3Action", - "documentation":"

Saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon SNS.

" - }, - "BounceAction":{ - "shape":"BounceAction", - "documentation":"

Rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

" - }, - "WorkmailAction":{ - "shape":"WorkmailAction", - "documentation":"

Calls Amazon WorkMail and, optionally, publishes a notification to Amazon Amazon SNS.

" - }, - "LambdaAction":{ - "shape":"LambdaAction", - "documentation":"

Calls an AWS Lambda function, and optionally, publishes a notification to Amazon SNS.

" - }, - "StopAction":{ - "shape":"StopAction", - "documentation":"

Terminates the evaluation of the receipt rule set and optionally publishes a notification to Amazon SNS.

" - }, - "AddHeaderAction":{ - "shape":"AddHeaderAction", - "documentation":"

Adds a header to the received email.

" - }, - "SNSAction":{ - "shape":"SNSAction", - "documentation":"

Publishes the email content within a notification to Amazon SNS.

" - } - }, - "documentation":"

An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own. An instance of this data type can represent only one action.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" - }, - "ReceiptActionsList":{ - "type":"list", - "member":{"shape":"ReceiptAction"} - }, - "ReceiptFilter":{ - "type":"structure", - "required":[ - "Name", - "IpFilter" - ], - "members":{ - "Name":{ - "shape":"ReceiptFilterName", - "documentation":"

The name of the IP address filter. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" - }, - "IpFilter":{ - "shape":"ReceiptIpFilter", - "documentation":"

A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.

" - } - }, - "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" - }, - "ReceiptFilterList":{ - "type":"list", - "member":{"shape":"ReceiptFilter"} - }, - "ReceiptFilterName":{"type":"string"}, - "ReceiptFilterPolicy":{ - "type":"string", - "enum":[ - "Block", - "Allow" - ] - }, - "ReceiptIpFilter":{ - "type":"structure", - "required":[ - "Policy", - "Cidr" - ], - "members":{ - "Policy":{ - "shape":"ReceiptFilterPolicy", - "documentation":"

Indicates whether to block or allow incoming mail from the specified IP addresses.

" - }, - "Cidr":{ - "shape":"Cidr", - "documentation":"

A single IP address or a range of IP addresses that you want to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317.

" - } - }, - "documentation":"

A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

For information about setting up IP address filters, see the Amazon SES Developer Guide.

" - }, - "ReceiptRule":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of the receipt rule. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

If true, the receipt rule is active. The default value is false.

" - }, - "TlsPolicy":{ - "shape":"TlsPolicy", - "documentation":"

Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES will bounce emails that are not received over TLS. The default is Optional.

" - }, - "Recipients":{ - "shape":"RecipientsList", - "documentation":"

The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule will match all recipients under all verified domains.

" - }, - "Actions":{ - "shape":"ReceiptActionsList", - "documentation":"

An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule.

" - }, - "ScanEnabled":{ - "shape":"Enabled", - "documentation":"

If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.

" - } - }, - "documentation":"

Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

For information about setting up receipt rules, see the Amazon SES Developer Guide.

" - }, - "ReceiptRuleName":{"type":"string"}, - "ReceiptRuleNamesList":{ - "type":"list", - "member":{"shape":"ReceiptRuleName"} - }, - "ReceiptRuleSetMetadata":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set. The name must:

  • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

  • Start and end with a letter or number.

  • Contain less than 64 characters.

" - }, - "CreatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time the receipt rule set was created.

" - } - }, - "documentation":"

Information about a receipt rule set.

A receipt rule set is a collection of rules that specify what Amazon SES should do with mail it receives on behalf of your account's verified domains.

For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

" - }, - "ReceiptRuleSetName":{"type":"string"}, - "ReceiptRuleSetsLists":{ - "type":"list", - "member":{"shape":"ReceiptRuleSetMetadata"} - }, - "ReceiptRulesList":{ - "type":"list", - "member":{"shape":"ReceiptRule"} - }, - "Recipient":{"type":"string"}, - "RecipientDsnFields":{ - "type":"structure", - "required":[ - "Action", - "Status" - ], - "members":{ - "FinalRecipient":{ - "shape":"Address", - "documentation":"

The email address that the message was ultimately delivered to. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

Do not prepend the FinalRecipient email address with rfc 822;, as described in RFC 3798.

" - }, - "Action":{ - "shape":"DsnAction", - "documentation":"

The action performed by the reporting mail transfer agent (MTA) as a result of its attempt to deliver the message to the recipient address. This is required by RFC 3464.

" - }, - "RemoteMta":{ - "shape":"RemoteMta", - "documentation":"

The MTA to which the remote MTA attempted to deliver the message, formatted as specified in RFC 3464 (mta-name-type; mta-name). This parameter typically applies only to propagating synchronous bounces.

" - }, - "Status":{ - "shape":"DsnStatus", - "documentation":"

The status code that indicates what went wrong. This is required by RFC 3464.

" - }, - "DiagnosticCode":{ - "shape":"DiagnosticCode", - "documentation":"

An extended explanation of what went wrong; this is usually an SMTP response. See RFC 3463 for the correct formatting of this parameter.

" - }, - "LastAttemptDate":{ - "shape":"LastAttemptDate", - "documentation":"

The time the final delivery attempt was made, in RFC 822 date-time format.

" - }, - "ExtensionFields":{ - "shape":"ExtensionFieldList", - "documentation":"

Additional X-headers to include in the DSN.

" - } - }, - "documentation":"

Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

" - }, - "RecipientsList":{ - "type":"list", - "member":{"shape":"Recipient"} - }, - "RemoteMta":{"type":"string"}, - "RenderedTemplate":{"type":"string"}, - "ReorderReceiptRuleSetRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "RuleNames" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set to reorder.

" - }, - "RuleNames":{ - "shape":"ReceiptRuleNamesList", - "documentation":"

A list of the specified receipt rule set's receipt rules in the order that you want to put them.

" - } - }, - "documentation":"

Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "ReorderReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "ReportingMta":{"type":"string"}, - "ReputationOptions":{ - "type":"structure", - "members":{ - "SendingEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether email sending is enabled or disabled for the configuration set. If the value is true, then Amazon SES will send emails that use the configuration set. If the value is false, Amazon SES will not send emails that use the configuration set. The default value is true. You can change this setting using UpdateConfigurationSetSendingEnabled.

" - }, - "ReputationMetricsEnabled":{ - "shape":"Enabled", - "documentation":"

Describes whether or not Amazon SES publishes reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

If the value is true, reputation metrics are published. If the value is false, reputation metrics are not published. The default value is false.

" - }, - "LastFreshStart":{ - "shape":"LastFreshStart", - "documentation":"

The date and time at which the reputation metrics for the configuration set were last reset. Resetting these metrics is known as a fresh start.

When you disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled and later re-enable it, the reputation metrics for the configuration set (but not for the entire Amazon SES account) are reset.

If email sending for the configuration set has never been disabled and later re-enabled, the value of this attribute is null.

" - } - }, - "documentation":"

Contains information about the reputation settings for a configuration set.

" - }, - "RuleDoesNotExistException":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleOrRuleSetName", - "documentation":"

Indicates that the named receipt rule does not exist.

" - } - }, - "documentation":"

Indicates that the provided receipt rule does not exist.

", - "error":{ - "code":"RuleDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "RuleOrRuleSetName":{"type":"string"}, - "RuleSetDoesNotExistException":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"RuleOrRuleSetName", - "documentation":"

Indicates that the named receipt rule set does not exist.

" - } - }, - "documentation":"

Indicates that the provided receipt rule set does not exist.

", - "error":{ - "code":"RuleSetDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "S3Action":{ - "type":"structure", - "required":["BucketName"], - "members":{ - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - }, - "BucketName":{ - "shape":"S3BucketName", - "documentation":"

The name of the Amazon S3 bucket that incoming email will be saved to.

" - }, - "ObjectKeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

The key prefix of the Amazon S3 bucket. The key prefix is similar to a directory name that enables you to store similar data under the same directory in a bucket.

" - }, - "KmsKeyArn":{ - "shape":"AmazonResourceName", - "documentation":"

The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

  • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

  • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS SDK for Java and AWS SDK for Ruby only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

" - } - }, - "documentation":"

When included in a receipt rule, this action saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

When you save your emails to an Amazon S3 bucket, the maximum email size (including headers) is 30 MB. Emails larger than that will bounce.

For information about specifying Amazon S3 actions in receipt rules, see the Amazon SES Developer Guide.

" - }, - "S3BucketName":{"type":"string"}, - "S3KeyPrefix":{"type":"string"}, - "SNSAction":{ - "type":"structure", - "required":["TopicArn"], - "members":{ - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - }, - "Encoding":{ - "shape":"SNSActionEncoding", - "documentation":"

The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

" - } - }, - "documentation":"

When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

" - }, - "SNSActionEncoding":{ - "type":"string", - "enum":[ - "UTF-8", - "Base64" - ] - }, - "SNSDestination":{ - "type":"structure", - "required":["TopicARN"], - "members":{ - "TopicARN":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon SNS topic that email sending events will be published to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - } - }, - "documentation":"

Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "SendBounceRequest":{ - "type":"structure", - "required":[ - "OriginalMessageId", - "BounceSender", - "BouncedRecipientInfoList" - ], - "members":{ - "OriginalMessageId":{ - "shape":"MessageId", - "documentation":"

The message ID of the message to be bounced.

" - }, - "BounceSender":{ - "shape":"Address", - "documentation":"

The address to use in the \"From\" header of the bounce message. This must be an identity that you have verified with Amazon SES.

" - }, - "Explanation":{ - "shape":"Explanation", - "documentation":"

Human-readable text for the bounce message to explain the failure. If not specified, the text will be auto-generated based on the bounced recipient information.

" - }, - "MessageDsn":{ - "shape":"MessageDsn", - "documentation":"

Message-related DSN fields. If not specified, Amazon SES will choose the values.

" - }, - "BouncedRecipientInfoList":{ - "shape":"BouncedRecipientInfoList", - "documentation":"

A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one BouncedRecipientInfo in the list.

" - }, - "BounceSenderArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

" - } - }, - "documentation":"

Represents a request to send a bounce message to the sender of an email you received through Amazon SES.

" - }, - "SendBounceResponse":{ - "type":"structure", - "members":{ - "MessageId":{ - "shape":"MessageId", - "documentation":"

The message ID of the bounce message.

" - } - }, - "documentation":"

Represents a unique message ID.

" - }, - "SendBulkTemplatedEmailRequest":{ - "type":"structure", - "required":[ - "Source", - "Template", - "Destinations" - ], - "members":{ - "Source":{ - "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" - }, - "SourceArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "ReplyToAddresses":{ - "shape":"AddressList", - "documentation":"

The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.

" - }, - "ReturnPath":{ - "shape":"Address", - "documentation":"

The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

" - }, - "ReturnPathArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.

" - }, - "DefaultTags":{ - "shape":"MessageTagList", - "documentation":"

A list of tags, in the form of name/value pairs, to apply to an email that you send to a destination using SendBulkTemplatedEmail.

" - }, - "Template":{ - "shape":"TemplateName", - "documentation":"

The template to use when sending this email.

" - }, - "TemplateArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the template to use when sending this email.

" - }, - "DefaultTemplateData":{ - "shape":"TemplateData", - "documentation":"

A list of replacement values to apply to the template when replacement data is not specified in a Destination object. These values act as a default or fallback option when no other data is available.

The template data is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" - }, - "Destinations":{ - "shape":"BulkEmailDestinationList", - "documentation":"

One or more Destination objects. All of the recipients in a Destination will receive the same version of the email. You can specify up to 50 Destination objects within a Destinations array.

" - } - }, - "documentation":"

Represents a request to send a templated email to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SendBulkTemplatedEmailResponse":{ - "type":"structure", - "required":["Status"], - "members":{ - "Status":{ - "shape":"BulkEmailDestinationStatusList", - "documentation":"

The unique message identifier returned from the SendBulkTemplatedEmail action.

" - } - } - }, - "SendCustomVerificationEmailRequest":{ - "type":"structure", - "required":[ - "EmailAddress", - "TemplateName" - ], - "members":{ - "EmailAddress":{ - "shape":"Address", - "documentation":"

The email address to verify.

" - }, - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template to use when sending the verification email.

" - }, - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Name of a configuration set to use when sending the verification email.

" - } - }, - "documentation":"

Represents a request to send a custom verification email to a specified recipient.

" - }, - "SendCustomVerificationEmailResponse":{ - "type":"structure", - "members":{ - "MessageId":{ - "shape":"MessageId", - "documentation":"

The unique message identifier returned from the SendCustomVerificationEmail operation.

" - } - }, - "documentation":"

The response received when attempting to send the custom verification email.

" - }, - "SendDataPoint":{ - "type":"structure", - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

Time of the data point.

" - }, - "DeliveryAttempts":{ - "shape":"Counter", - "documentation":"

Number of emails that have been sent.

" - }, - "Bounces":{ - "shape":"Counter", - "documentation":"

Number of emails that have bounced.

" - }, - "Complaints":{ - "shape":"Counter", - "documentation":"

Number of unwanted emails that were rejected by recipients.

" - }, - "Rejects":{ - "shape":"Counter", - "documentation":"

Number of emails rejected by Amazon SES.

" - } - }, - "documentation":"

Represents sending statistics data. Each SendDataPoint contains statistics for a 15-minute period of sending activity.

" - }, - "SendDataPointList":{ - "type":"list", - "member":{"shape":"SendDataPoint"} - }, - "SendEmailRequest":{ - "type":"structure", - "required":[ - "Source", - "Destination", - "Message" - ], - "members":{ - "Source":{ - "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" - }, - "Destination":{ - "shape":"Destination", - "documentation":"

The destination for this email, composed of To:, CC:, and BCC: fields.

" - }, - "Message":{ - "shape":"Message", - "documentation":"

The message to be sent.

" - }, - "ReplyToAddresses":{ - "shape":"AddressList", - "documentation":"

The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.

" - }, - "ReturnPath":{ - "shape":"Address", - "documentation":"

The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

" - }, - "SourceArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "ReturnPathArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "Tags":{ - "shape":"MessageTagList", - "documentation":"

A list of tags, in the form of name/value pairs, to apply to an email that you send using SendEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

" - }, - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to use when you send an email using SendEmail.

" - } - }, - "documentation":"

Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SendEmailResponse":{ - "type":"structure", - "required":["MessageId"], - "members":{ - "MessageId":{ - "shape":"MessageId", - "documentation":"

The unique message identifier returned from the SendEmail action.

" - } - }, - "documentation":"

Represents a unique message ID.

" - }, - "SendRawEmailRequest":{ - "type":"structure", - "required":["RawMessage"], - "members":{ - "Source":{ - "shape":"Address", - "documentation":"

The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

" - }, - "Destinations":{ - "shape":"AddressList", - "documentation":"

A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.

" - }, - "RawMessage":{ - "shape":"RawMessage", - "documentation":"

The raw text of the message. The client is responsible for ensuring the following:

  • Message must contain a header and a body, separated by a blank line.

  • All required header fields must be present.

  • Each part of a multipart MIME message must be formatted properly.

  • MIME content types must be among those supported by Amazon SES. For more information, go to the Amazon SES Developer Guide.

  • Must be base64-encoded.

  • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.

" - }, - "FromArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email.

Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" - }, - "SourceArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" - }, - "ReturnPathArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter.

For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

" - }, - "Tags":{ - "shape":"MessageTagList", - "documentation":"

A list of tags, in the form of name/value pairs, to apply to an email that you send using SendRawEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

" - }, - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to use when you send an email using SendRawEmail.

" - } - }, - "documentation":"

Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SendRawEmailResponse":{ - "type":"structure", - "required":["MessageId"], - "members":{ - "MessageId":{ - "shape":"MessageId", - "documentation":"

The unique message identifier returned from the SendRawEmail action.

" - } - }, - "documentation":"

Represents a unique message ID.

" - }, - "SendTemplatedEmailRequest":{ - "type":"structure", - "required":[ - "Source", - "Destination", - "Template", - "TemplateData" - ], - "members":{ - "Source":{ - "shape":"Address", - "documentation":"

The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described inRFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

" - }, - "Destination":{ - "shape":"Destination", - "documentation":"

The destination for this email, composed of To:, CC:, and BCC: fields. A Destination can include up to 50 recipients across these three fields.

" - }, - "ReplyToAddresses":{ - "shape":"AddressList", - "documentation":"

The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.

" - }, - "ReturnPath":{ - "shape":"Address", - "documentation":"

The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

" - }, - "SourceArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "ReturnPathArn":{ - "shape":"AmazonResourceName", - "documentation":"

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

" - }, - "Tags":{ - "shape":"MessageTagList", - "documentation":"

A list of tags, in the form of name/value pairs, to apply to an email that you send using SendTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

" - }, - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set to use when you send an email using SendTemplatedEmail.

" - }, - "Template":{ - "shape":"TemplateName", - "documentation":"

The template to use when sending this email.

" - }, - "TemplateArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the template to use when sending this email.

" - }, - "TemplateData":{ - "shape":"TemplateData", - "documentation":"

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" - } - }, - "documentation":"

Represents a request to send a templated email using Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SendTemplatedEmailResponse":{ - "type":"structure", - "required":["MessageId"], - "members":{ - "MessageId":{ - "shape":"MessageId", - "documentation":"

The unique message identifier returned from the SendTemplatedEmail action.

" - } - } - }, - "SentLast24Hours":{"type":"double"}, - "SetActiveReceiptRuleSetRequest":{ - "type":"structure", - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set to make active. Setting this value to null disables all email receiving.

" - } - }, - "documentation":"

Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SetActiveReceiptRuleSetResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetIdentityDkimEnabledRequest":{ - "type":"structure", - "required":[ - "Identity", - "DkimEnabled" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity for which DKIM signing should be enabled or disabled.

" - }, - "DkimEnabled":{ - "shape":"Enabled", - "documentation":"

Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it.

" - } - }, - "documentation":"

Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" - }, - "SetIdentityDkimEnabledResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetIdentityFeedbackForwardingEnabledRequest":{ - "type":"structure", - "required":[ - "Identity", - "ForwardingEnabled" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity for which to set bounce and complaint notification forwarding. Examples: user@example.com, example.com.

" - }, - "ForwardingEnabled":{ - "shape":"Enabled", - "documentation":"

Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish bounce and complaint notifications only through Amazon SNS. This value can only be set to false when Amazon SNS topics are set for both Bounce and Complaint notification types.

" - } - }, - "documentation":"

Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Developer Guide.

" - }, - "SetIdentityFeedbackForwardingEnabledResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetIdentityHeadersInNotificationsEnabledRequest":{ - "type":"structure", - "required":[ - "Identity", - "NotificationType", - "Enabled" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity for which to enable or disable headers in notifications. Examples: user@example.com, example.com.

" - }, - "NotificationType":{ - "shape":"NotificationType", - "documentation":"

The notification type for which to enable or disable headers in notifications.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES will include headers in notifications, and a value of false specifies that Amazon SES will not include headers in notifications.

This value can only be set when NotificationType is already set to use a particular Amazon SNS topic.

" - } - }, - "documentation":"

Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Developer Guide.

" - }, - "SetIdentityHeadersInNotificationsEnabledResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetIdentityMailFromDomainRequest":{ - "type":"structure", - "required":["Identity"], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The verified identity for which you want to enable or disable the specified custom MAIL FROM domain.

" - }, - "MailFromDomain":{ - "shape":"MailFromDomainName", - "documentation":"

The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity.

" - }, - "BehaviorOnMXFailure":{ - "shape":"BehaviorOnMXFailure", - "documentation":"

The action that you want Amazon SES to take if it cannot successfully read the required MX record when you send an email. If you choose UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified error and not send the email.

The action specified in BehaviorOnMXFailure is taken when the custom MAIL FROM domain setup is in the Pending, Failed, and TemporaryFailure states.

" - } - }, - "documentation":"

Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

" - }, - "SetIdentityMailFromDomainResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetIdentityNotificationTopicRequest":{ - "type":"structure", - "required":[ - "Identity", - "NotificationType" - ], - "members":{ - "Identity":{ - "shape":"Identity", - "documentation":"

The identity for which the Amazon SNS topic will be set. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

" - }, - "NotificationType":{ - "shape":"NotificationType", - "documentation":"

The type of notifications that will be published to the specified Amazon SNS topic.

" - }, - "SnsTopic":{ - "shape":"NotificationTopic", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled.

" - } - }, - "documentation":"

Represents a request to specify the Amazon SNS topic to which Amazon SES will publish bounce, complaint, or delivery notifications for emails sent with that identity as the Source. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

" - }, - "SetIdentityNotificationTopicResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "SetReceiptRulePositionRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "RuleName" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set that contains the receipt rule to reposition.

" - }, - "RuleName":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of the receipt rule to reposition.

" - }, - "After":{ - "shape":"ReceiptRuleName", - "documentation":"

The name of the receipt rule after which to place the specified receipt rule.

" - } - }, - "documentation":"

Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "SetReceiptRulePositionResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "StopAction":{ - "type":"structure", - "required":["Scope"], - "members":{ - "Scope":{ - "shape":"StopScope", - "documentation":"

The name of the RuleSet that is being stopped.

" - }, - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - } - }, - "documentation":"

When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

" - }, - "StopScope":{ - "type":"string", - "enum":["RuleSet"] - }, - "Subject":{"type":"string"}, - "SubjectPart":{"type":"string"}, - "SuccessRedirectionURL":{"type":"string"}, - "Template":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the template. You will refer to this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations.

" - }, - "SubjectPart":{ - "shape":"SubjectPart", - "documentation":"

The subject line of the email.

" - }, - "TextPart":{ - "shape":"TextPart", - "documentation":"

The email body that will be visible to recipients whose email clients do not display HTML.

" - }, - "HtmlPart":{ - "shape":"HtmlPart", - "documentation":"

The HTML body of the email.

" - } - }, - "documentation":"

The content of the email, composed of a subject line, an HTML part, and a text-only part.

" - }, - "TemplateContent":{"type":"string"}, - "TemplateData":{ - "type":"string", - "max":262144 - }, - "TemplateDoesNotExistException":{ - "type":"structure", - "members":{ - "TemplateName":{"shape":"TemplateName"} - }, - "documentation":"

Indicates that the Template object you specified does not exist in your Amazon SES account.

", - "error":{ - "code":"TemplateDoesNotExist", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TemplateMetadata":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"TemplateName", - "documentation":"

The name of the template.

" - }, - "CreatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time and date the template was created.

" - } - }, - "documentation":"

Contains information about an email template.

" - }, - "TemplateMetadataList":{ - "type":"list", - "member":{"shape":"TemplateMetadata"} - }, - "TemplateName":{"type":"string"}, - "TestRenderTemplateRequest":{ - "type":"structure", - "required":[ - "TemplateName", - "TemplateData" - ], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the template that you want to render.

" - }, - "TemplateData":{ - "shape":"TemplateData", - "documentation":"

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" - } - } - }, - "TestRenderTemplateResponse":{ - "type":"structure", - "members":{ - "RenderedTemplate":{ - "shape":"RenderedTemplate", - "documentation":"

The complete MIME message rendered by applying the data in the TemplateData parameter to the template specified in the TemplateName parameter.

" - } - } - }, - "TextPart":{"type":"string"}, - "Timestamp":{"type":"timestamp"}, - "TlsPolicy":{ - "type":"string", - "enum":[ - "Require", - "Optional" - ] - }, - "TrackingOptions":{ - "type":"structure", - "members":{ - "CustomRedirectDomain":{ - "shape":"CustomRedirectDomain", - "documentation":"

The custom subdomain that will be used to redirect email recipients to the Amazon SES event tracking domain.

" - } - }, - "documentation":"

A domain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails.

For more information, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

" - }, - "TrackingOptionsAlreadyExistsException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that a TrackingOptions object already exists in the specified configuration set.

" - } - }, - "documentation":"

Indicates that the configuration set you specified already contains a TrackingOptions object.

", - "error":{ - "code":"TrackingOptionsAlreadyExistsException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "TrackingOptionsDoesNotExistException":{ - "type":"structure", - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

Indicates that a TrackingOptions object does not exist in the specified configuration set.

" - } - }, - "documentation":"

Indicates that the TrackingOptions object you specified does not exist.

", - "error":{ - "code":"TrackingOptionsDoesNotExistException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UpdateAccountSendingEnabledRequest":{ - "type":"structure", - "members":{ - "Enabled":{ - "shape":"Enabled", - "documentation":"

Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

" - } - }, - "documentation":"

Represents a request to enable or disable the email sending capabilities for your entire Amazon SES account.

" - }, - "UpdateConfigurationSetEventDestinationRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "EventDestination" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set that contains the event destination that you want to update.

" - }, - "EventDestination":{ - "shape":"EventDestination", - "documentation":"

The event destination object that you want to apply to the specified configuration set.

" - } - }, - "documentation":"

Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

" - }, - "UpdateConfigurationSetEventDestinationResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "UpdateConfigurationSetReputationMetricsEnabledRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "Enabled" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set that you want to update.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

Describes whether or not Amazon SES will publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

" - } - }, - "documentation":"

Represents a request to modify the reputation metric publishing settings for a configuration set.

" - }, - "UpdateConfigurationSetSendingEnabledRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "Enabled" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set that you want to update.

" - }, - "Enabled":{ - "shape":"Enabled", - "documentation":"

Describes whether email sending is enabled or disabled for the configuration set.

" - } - }, - "documentation":"

Represents a request to enable or disable the email sending capabilities for a specific configuration set.

" - }, - "UpdateConfigurationSetTrackingOptionsRequest":{ - "type":"structure", - "required":[ - "ConfigurationSetName", - "TrackingOptions" - ], - "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", - "documentation":"

The name of the configuration set for which you want to update the custom tracking domain.

" - }, - "TrackingOptions":{"shape":"TrackingOptions"} - }, - "documentation":"

Represents a request to update the tracking options for a configuration set.

" - }, - "UpdateConfigurationSetTrackingOptionsResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "UpdateCustomVerificationEmailTemplateRequest":{ - "type":"structure", - "required":["TemplateName"], - "members":{ - "TemplateName":{ - "shape":"TemplateName", - "documentation":"

The name of the custom verification email template that you want to update.

" - }, - "FromEmailAddress":{ - "shape":"FromAddress", - "documentation":"

The email address that the custom verification email is sent from.

" - }, - "TemplateSubject":{ - "shape":"Subject", - "documentation":"

The subject line of the custom verification email.

" - }, - "TemplateContent":{ - "shape":"TemplateContent", - "documentation":"

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" - }, - "SuccessRedirectionURL":{ - "shape":"SuccessRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" - }, - "FailureRedirectionURL":{ - "shape":"FailureRedirectionURL", - "documentation":"

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" - } - }, - "documentation":"

Represents a request to update an existing custom verification email template.

" - }, - "UpdateReceiptRuleRequest":{ - "type":"structure", - "required":[ - "RuleSetName", - "Rule" - ], - "members":{ - "RuleSetName":{ - "shape":"ReceiptRuleSetName", - "documentation":"

The name of the receipt rule set that the receipt rule belongs to.

" - }, - "Rule":{ - "shape":"ReceiptRule", - "documentation":"

A data structure that contains the updated receipt rule information.

" - } - }, - "documentation":"

Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

" - }, - "UpdateReceiptRuleResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "UpdateTemplateRequest":{ - "type":"structure", - "required":["Template"], - "members":{ - "Template":{"shape":"Template"} - } - }, - "UpdateTemplateResponse":{ - "type":"structure", - "members":{ - } - }, - "VerificationAttributes":{ - "type":"map", - "key":{"shape":"Identity"}, - "value":{"shape":"IdentityVerificationAttributes"} - }, - "VerificationStatus":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failed", - "TemporaryFailure", - "NotStarted" - ] - }, - "VerificationToken":{"type":"string"}, - "VerificationTokenList":{ - "type":"list", - "member":{"shape":"VerificationToken"} - }, - "VerifyDomainDkimRequest":{ - "type":"structure", - "required":["Domain"], - "members":{ - "Domain":{ - "shape":"Domain", - "documentation":"

The name of the domain to be verified for Easy DKIM signing.

" - } - }, - "documentation":"

Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

" - }, - "VerifyDomainDkimResponse":{ - "type":"structure", - "required":["DkimTokens"], - "members":{ - "DkimTokens":{ - "shape":"VerificationTokenList", - "documentation":"

A set of character strings that represent the domain's identity. If the identity is an email address, the tokens represent the domain of that address.

Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign emails originating from that domain.

For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

" - } - }, - "documentation":"

Returns CNAME records that you must publish to the DNS server of your domain to set up Easy DKIM with Amazon SES.

" - }, - "VerifyDomainIdentityRequest":{ - "type":"structure", - "required":["Domain"], - "members":{ - "Domain":{ - "shape":"Domain", - "documentation":"

The domain to be verified.

" - } - }, - "documentation":"

Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about domain verification, see the Amazon SES Developer Guide.

" - }, - "VerifyDomainIdentityResponse":{ - "type":"structure", - "required":["VerificationToken"], - "members":{ - "VerificationToken":{ - "shape":"VerificationToken", - "documentation":"

A TXT record that you must place in the DNS settings of the domain to complete domain verification with Amazon SES.

As Amazon SES searches for the TXT record, the domain's verification status is \"Pending\". When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

" - } - }, - "documentation":"

Returns a TXT record that you must publish to the DNS server of your domain to complete domain verification with Amazon SES.

" - }, - "VerifyEmailAddressRequest":{ - "type":"structure", - "required":["EmailAddress"], - "members":{ - "EmailAddress":{ - "shape":"Address", - "documentation":"

The email address to be verified.

" - } - }, - "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" - }, - "VerifyEmailIdentityRequest":{ - "type":"structure", - "required":["EmailAddress"], - "members":{ - "EmailAddress":{ - "shape":"Address", - "documentation":"

The email address to be verified.

" - } - }, - "documentation":"

Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

" - }, - "VerifyEmailIdentityResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

An empty element returned on a successful request.

" - }, - "WorkmailAction":{ - "type":"structure", - "required":["OrganizationArn"], - "members":{ - "TopicArn":{ - "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

" - }, - "OrganizationArn":{ - "shape":"AmazonResourceName", - "documentation":"

The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. For information about Amazon WorkMail organizations, see the Amazon WorkMail Administrator Guide.

" - } - }, - "documentation":"

When included in a receipt rule, this action calls Amazon WorkMail and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS). You will typically not use this action directly because Amazon WorkMail adds the rule automatically during its setup procedure.

For information using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide.

" - } - }, - "documentation":"Amazon Simple Email Service

This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide.

For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/waiters-2.json deleted file mode 100644 index b585d309..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ses/2010-12-01/waiters-2.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": 2, - "waiters": { - "IdentityExists": { - "delay": 3, - "operation": "GetIdentityVerificationAttributes", - "maxAttempts": 20, - "acceptors": [ - { - "expected": "Success", - "matcher": "pathAll", - "state": "success", - "argument": "VerificationAttributes.*.VerificationStatus" - } - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/paginators-1.json deleted file mode 100644 index 022e0dca..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/paginators-1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "pagination": { - "ListProtections": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Protections" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/service-2.json deleted file mode 100644 index 4d732920..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/shield/2016-06-02/service-2.json +++ /dev/null @@ -1,1149 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-06-02", - "endpointPrefix":"shield", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"AWS Shield", - "serviceFullName":"AWS Shield", - "serviceId":"Shield", - "signatureVersion":"v4", - "targetPrefix":"AWSShield_20160616", - "uid":"shield-2016-06-02" - }, - "operations":{ - "AssociateDRTLogBucket":{ - "name":"AssociateDRTLogBucket", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDRTLogBucketRequest"}, - "output":{"shape":"AssociateDRTLogBucketResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidOperationException"}, - {"shape":"NoAssociatedRoleException"}, - {"shape":"LimitsExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedForDependencyException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 bucket containing your flow logs. You can associate up to 10 Amazon S3 buckets with your subscription.

To use the services of the DRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

" - }, - "AssociateDRTRole":{ - "name":"AssociateDRTRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDRTRoleRequest"}, - "output":{"shape":"AssociateDRTRoleResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidOperationException"}, - {"shape":"InvalidParameterException"}, - {"shape":"AccessDeniedForDependencyException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Authorizes the DDoS Response team (DRT), using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. This enables the DRT to inspect your AWS WAF configuration and create or update AWS WAF rules and web ACLs.

You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal.

The DRT will have access only to your AWS WAF and Shield resources. By submitting this request, you authorize the DRT to inspect your AWS WAF and Shield configuration and create and update AWS WAF rules and web ACLs on your behalf. The DRT takes these actions only if explicitly authorized by you.

You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an AWS Service.

To use the services of the DRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

" - }, - "CreateProtection":{ - "name":"CreateProtection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateProtectionRequest"}, - "output":{"shape":"CreateProtectionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidResourceException"}, - {"shape":"InvalidOperationException"}, - {"shape":"LimitsExceededException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, Elastic IP Address, or an Amazon Route 53 hosted zone.

You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources.

" - }, - "CreateSubscription":{ - "name":"CreateSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSubscriptionRequest"}, - "output":{"shape":"CreateSubscriptionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceAlreadyExistsException"} - ], - "documentation":"

Activates AWS Shield Advanced for an account.

As part of this request you can specify EmergencySettings that automaticaly grant the DDoS response team (DRT) needed permissions to assist you during a suspected DDoS attack. For more information see Authorize the DDoS Response Team to Create Rules and Web ACLs on Your Behalf.

When you initally create a subscription, your subscription is set to be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request.

" - }, - "DeleteProtection":{ - "name":"DeleteProtection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteProtectionRequest"}, - "output":{"shape":"DeleteProtectionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"OptimisticLockException"} - ], - "documentation":"

Deletes an AWS Shield Advanced Protection.

" - }, - "DeleteSubscription":{ - "name":"DeleteSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSubscriptionRequest"}, - "output":{"shape":"DeleteSubscriptionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"LockedSubscriptionException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Removes AWS Shield Advanced from an account. AWS Shield Advanced requires a 1-year subscription commitment. You cannot delete a subscription prior to the completion of that commitment.

", - "deprecated":true - }, - "DescribeAttack":{ - "name":"DescribeAttack", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAttackRequest"}, - "output":{"shape":"DescribeAttackResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Describes the details of a DDoS attack.

" - }, - "DescribeDRTAccess":{ - "name":"DescribeDRTAccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDRTAccessRequest"}, - "output":{"shape":"DescribeDRTAccessResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Returns the current role and list of Amazon S3 log buckets used by the DDoS Response team (DRT) to access your AWS account while assisting with attack mitigation.

" - }, - "DescribeEmergencyContactSettings":{ - "name":"DescribeEmergencyContactSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEmergencyContactSettingsRequest"}, - "output":{"shape":"DescribeEmergencyContactSettingsResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the email addresses that the DRT can use to contact you during a suspected attack.

" - }, - "DescribeProtection":{ - "name":"DescribeProtection", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeProtectionRequest"}, - "output":{"shape":"DescribeProtectionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Lists the details of a Protection object.

" - }, - "DescribeSubscription":{ - "name":"DescribeSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSubscriptionRequest"}, - "output":{"shape":"DescribeSubscriptionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Provides details about the AWS Shield Advanced subscription for an account.

" - }, - "DisassociateDRTLogBucket":{ - "name":"DisassociateDRTLogBucket", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateDRTLogBucketRequest"}, - "output":{"shape":"DisassociateDRTLogBucketResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidOperationException"}, - {"shape":"NoAssociatedRoleException"}, - {"shape":"AccessDeniedForDependencyException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Removes the DDoS Response team's (DRT) access to the specified Amazon S3 bucket containing your flow logs.

To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

" - }, - "DisassociateDRTRole":{ - "name":"DisassociateDRTRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateDRTRoleRequest"}, - "output":{"shape":"DisassociateDRTRoleResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidOperationException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Removes the DDoS Response team's (DRT) access to your AWS account.

To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

" - }, - "GetSubscriptionState":{ - "name":"GetSubscriptionState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSubscriptionStateRequest"}, - "output":{"shape":"GetSubscriptionStateResponse"}, - "errors":[ - {"shape":"InternalErrorException"} - ], - "documentation":"

Returns the SubscriptionState, either Active or Inactive.

" - }, - "ListAttacks":{ - "name":"ListAttacks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAttacksRequest"}, - "output":{"shape":"ListAttacksResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidOperationException"} - ], - "documentation":"

Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.

" - }, - "ListProtections":{ - "name":"ListProtections", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListProtectionsRequest"}, - "output":{"shape":"ListProtectionsResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidPaginationTokenException"} - ], - "documentation":"

Lists all Protection objects for the account.

" - }, - "UpdateEmergencyContactSettings":{ - "name":"UpdateEmergencyContactSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateEmergencyContactSettingsRequest"}, - "output":{"shape":"UpdateEmergencyContactSettingsResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OptimisticLockException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack.

" - }, - "UpdateSubscription":{ - "name":"UpdateSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSubscriptionRequest"}, - "output":{"shape":"UpdateSubscriptionResponse"}, - "errors":[ - {"shape":"InternalErrorException"}, - {"shape":"LockedSubscriptionException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OptimisticLockException"} - ], - "documentation":"

Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated.

" - } - }, - "shapes":{ - "AccessDeniedForDependencyException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

In order to grant the necessary access to the DDoS Response Team, the user submitting AssociateDRTRole must have the iam:PassRole permission. This error indicates the user did not have the appropriate permissions. For more information, see Granting a User Permissions to Pass a Role to an AWS Service.

", - "exception":true - }, - "AssociateDRTLogBucketRequest":{ - "type":"structure", - "required":["LogBucket"], - "members":{ - "LogBucket":{ - "shape":"LogBucket", - "documentation":"

The Amazon S3 bucket that contains your flow logs.

" - } - } - }, - "AssociateDRTLogBucketResponse":{ - "type":"structure", - "members":{ - } - }, - "AssociateDRTRoleRequest":{ - "type":"structure", - "required":["RoleArn"], - "members":{ - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the role the DRT will use to access your AWS account.

Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to this role. For more information see Attaching and Detaching IAM Policies.

" - } - } - }, - "AssociateDRTRoleResponse":{ - "type":"structure", - "members":{ - } - }, - "AttackDetail":{ - "type":"structure", - "members":{ - "AttackId":{ - "shape":"AttackId", - "documentation":"

The unique identifier (ID) of the attack.

" - }, - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource that was attacked.

" - }, - "SubResources":{ - "shape":"SubResourceSummaryList", - "documentation":"

If applicable, additional detail about the resource being attacked, for example, IP address or URL.

" - }, - "StartTime":{ - "shape":"AttackTimestamp", - "documentation":"

The time the attack started, in Unix time in seconds. For more information see timestamp.

" - }, - "EndTime":{ - "shape":"AttackTimestamp", - "documentation":"

The time the attack ended, in Unix time in seconds. For more information see timestamp.

" - }, - "AttackCounters":{ - "shape":"SummarizedCounterList", - "documentation":"

List of counters that describe the attack for the specified time period.

" - }, - "AttackProperties":{ - "shape":"AttackProperties", - "documentation":"

The array of AttackProperty objects.

" - }, - "Mitigations":{ - "shape":"MitigationList", - "documentation":"

List of mitigation actions taken for the attack.

" - } - }, - "documentation":"

The details of a DDoS attack.

" - }, - "AttackId":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9\\\\-]*" - }, - "AttackLayer":{ - "type":"string", - "enum":[ - "NETWORK", - "APPLICATION" - ] - }, - "AttackProperties":{ - "type":"list", - "member":{"shape":"AttackProperty"} - }, - "AttackProperty":{ - "type":"structure", - "members":{ - "AttackLayer":{ - "shape":"AttackLayer", - "documentation":"

The type of DDoS event that was observed. NETWORK indicates layer 3 and layer 4 events and APPLICATION indicates layer 7 events.

" - }, - "AttackPropertyIdentifier":{ - "shape":"AttackPropertyIdentifier", - "documentation":"

Defines the DDoS attack property information that is provided.

" - }, - "TopContributors":{ - "shape":"TopContributors", - "documentation":"

The array of Contributor objects that includes the top five contributors to an attack.

" - }, - "Unit":{ - "shape":"Unit", - "documentation":"

The unit of the Value of the contributions.

" - }, - "Total":{ - "shape":"Long", - "documentation":"

The total contributions made to this attack by all contributors, not just the five listed in the TopContributors list.

" - } - }, - "documentation":"

Details of the described attack.

" - }, - "AttackPropertyIdentifier":{ - "type":"string", - "enum":[ - "DESTINATION_URL", - "REFERRER", - "SOURCE_ASN", - "SOURCE_COUNTRY", - "SOURCE_IP_ADDRESS", - "SOURCE_USER_AGENT" - ] - }, - "AttackSummaries":{ - "type":"list", - "member":{"shape":"AttackSummary"} - }, - "AttackSummary":{ - "type":"structure", - "members":{ - "AttackId":{ - "shape":"String", - "documentation":"

The unique identifier (ID) of the attack.

" - }, - "ResourceArn":{ - "shape":"String", - "documentation":"

The ARN (Amazon Resource Name) of the resource that was attacked.

" - }, - "StartTime":{ - "shape":"AttackTimestamp", - "documentation":"

The start time of the attack, in Unix time in seconds. For more information see timestamp.

" - }, - "EndTime":{ - "shape":"AttackTimestamp", - "documentation":"

The end time of the attack, in Unix time in seconds. For more information see timestamp.

" - }, - "AttackVectors":{ - "shape":"AttackVectorDescriptionList", - "documentation":"

The list of attacks for a specified time period.

" - } - }, - "documentation":"

Summarizes all DDoS attacks for a specified time period.

" - }, - "AttackTimestamp":{"type":"timestamp"}, - "AttackVectorDescription":{ - "type":"structure", - "required":["VectorType"], - "members":{ - "VectorType":{ - "shape":"String", - "documentation":"

The attack type. Valid values:

  • UDP_TRAFFIC

  • UDP_FRAGMENT

  • GENERIC_UDP_REFLECTION

  • DNS_REFLECTION

  • NTP_REFLECTION

  • CHARGEN_REFLECTION

  • SSDP_REFLECTION

  • PORT_MAPPER

  • RIP_REFLECTION

  • SNMP_REFLECTION

  • MSSQL_REFLECTION

  • NET_BIOS_REFLECTION

  • SYN_FLOOD

  • ACK_FLOOD

  • REQUEST_FLOOD

" - } - }, - "documentation":"

Describes the attack.

" - }, - "AttackVectorDescriptionList":{ - "type":"list", - "member":{"shape":"AttackVectorDescription"} - }, - "AutoRenew":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED" - ] - }, - "Contributor":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The name of the contributor. This is dependent on the AttackPropertyIdentifier. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

" - }, - "Value":{ - "shape":"Long", - "documentation":"

The contribution of this contributor expressed in Protection units. For example 10,000.

" - } - }, - "documentation":"

A contributor to the attack and their contribution.

" - }, - "CreateProtectionRequest":{ - "type":"structure", - "required":[ - "Name", - "ResourceArn" - ], - "members":{ - "Name":{ - "shape":"ProtectionName", - "documentation":"

Friendly name for the Protection you are creating.

" - }, - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected.

The ARN should be in one of the following formats:

  • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

  • For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name

  • For AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id

  • For Amazon Route 53: arn:aws:route53::account-id:hostedzone/hosted-zone-id

  • For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id

" - } - } - }, - "CreateProtectionResponse":{ - "type":"structure", - "members":{ - "ProtectionId":{ - "shape":"ProtectionId", - "documentation":"

The unique identifier (ID) for the Protection object that is created.

" - } - } - }, - "CreateSubscriptionRequest":{ - "type":"structure", - "members":{ - } - }, - "CreateSubscriptionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteProtectionRequest":{ - "type":"structure", - "required":["ProtectionId"], - "members":{ - "ProtectionId":{ - "shape":"ProtectionId", - "documentation":"

The unique identifier (ID) for the Protection object to be deleted.

" - } - } - }, - "DeleteProtectionResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteSubscriptionRequest":{ - "type":"structure", - "members":{ - }, - "deprecated":true - }, - "DeleteSubscriptionResponse":{ - "type":"structure", - "members":{ - }, - "deprecated":true - }, - "DescribeAttackRequest":{ - "type":"structure", - "required":["AttackId"], - "members":{ - "AttackId":{ - "shape":"AttackId", - "documentation":"

The unique identifier (ID) for the attack that to be described.

" - } - } - }, - "DescribeAttackResponse":{ - "type":"structure", - "members":{ - "Attack":{ - "shape":"AttackDetail", - "documentation":"

The attack that is described.

" - } - } - }, - "DescribeDRTAccessRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeDRTAccessResponse":{ - "type":"structure", - "members":{ - "RoleArn":{ - "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the role the DRT used to access your AWS account.

" - }, - "LogBucketList":{ - "shape":"LogBucketList", - "documentation":"

The list of Amazon S3 buckets accessed by the DRT.

" - } - } - }, - "DescribeEmergencyContactSettingsRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeEmergencyContactSettingsResponse":{ - "type":"structure", - "members":{ - "EmergencyContactList":{ - "shape":"EmergencyContactList", - "documentation":"

A list of email addresses that the DRT can use to contact you during a suspected attack.

" - } - } - }, - "DescribeProtectionRequest":{ - "type":"structure", - "required":["ProtectionId"], - "members":{ - "ProtectionId":{ - "shape":"ProtectionId", - "documentation":"

The unique identifier (ID) for the Protection object that is described.

" - } - } - }, - "DescribeProtectionResponse":{ - "type":"structure", - "members":{ - "Protection":{ - "shape":"Protection", - "documentation":"

The Protection object that is described.

" - } - } - }, - "DescribeSubscriptionRequest":{ - "type":"structure", - "members":{ - } - }, - "DescribeSubscriptionResponse":{ - "type":"structure", - "members":{ - "Subscription":{ - "shape":"Subscription", - "documentation":"

The AWS Shield Advanced subscription details for an account.

" - } - } - }, - "DisassociateDRTLogBucketRequest":{ - "type":"structure", - "required":["LogBucket"], - "members":{ - "LogBucket":{ - "shape":"LogBucket", - "documentation":"

The Amazon S3 bucket that contains your flow logs.

" - } - } - }, - "DisassociateDRTLogBucketResponse":{ - "type":"structure", - "members":{ - } - }, - "DisassociateDRTRoleRequest":{ - "type":"structure", - "members":{ - } - }, - "DisassociateDRTRoleResponse":{ - "type":"structure", - "members":{ - } - }, - "Double":{"type":"double"}, - "DurationInSeconds":{ - "type":"long", - "min":0 - }, - "EmailAddress":{ - "type":"string", - "pattern":"^\\S+@\\S+\\.\\S+$" - }, - "EmergencyContact":{ - "type":"structure", - "required":["EmailAddress"], - "members":{ - "EmailAddress":{ - "shape":"EmailAddress", - "documentation":"

An email address that the DRT can use to contact you during a suspected attack.

" - } - }, - "documentation":"

Contact information that the DRT can use to contact you during a suspected attack.

" - }, - "EmergencyContactList":{ - "type":"list", - "member":{"shape":"EmergencyContact"}, - "max":10, - "min":0 - }, - "GetSubscriptionStateRequest":{ - "type":"structure", - "members":{ - } - }, - "GetSubscriptionStateResponse":{ - "type":"structure", - "required":["SubscriptionState"], - "members":{ - "SubscriptionState":{ - "shape":"SubscriptionState", - "documentation":"

The status of the subscription.

" - } - } - }, - "Integer":{"type":"integer"}, - "InternalErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

", - "exception":true, - "fault":true - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that the operation would not cause any change to occur.

", - "exception":true - }, - "InvalidPaginationTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the response.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that the parameters passed to the API are invalid.

", - "exception":true - }, - "InvalidResourceException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.

", - "exception":true - }, - "Limit":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"String", - "documentation":"

The type of protection.

" - }, - "Max":{ - "shape":"Long", - "documentation":"

The maximum number of protections that can be created for the specified Type.

" - } - }, - "documentation":"

Specifies how many protections of a given type you can create.

" - }, - "LimitNumber":{"type":"long"}, - "LimitType":{"type":"string"}, - "Limits":{ - "type":"list", - "member":{"shape":"Limit"} - }, - "LimitsExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"}, - "Type":{"shape":"LimitType"}, - "Limit":{"shape":"LimitNumber"} - }, - "documentation":"

Exception that indicates that the operation would exceed a limit.

Type is the type of limit that would be exceeded.

Limit is the threshold that would be exceeded.

", - "exception":true - }, - "ListAttacksRequest":{ - "type":"structure", - "members":{ - "ResourceArns":{ - "shape":"ResourceArnFilterList", - "documentation":"

The ARN (Amazon Resource Name) of the resource that was attacked. If this is left blank, all applicable resources for this account will be included.

" - }, - "StartTime":{ - "shape":"TimeRange", - "documentation":"

The start of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

" - }, - "EndTime":{ - "shape":"TimeRange", - "documentation":"

The end of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of AttackSummary objects to be returned. If this is left blank, the first 20 results will be returned.

" - } - } - }, - "ListAttacksResponse":{ - "type":"structure", - "members":{ - "AttackSummaries":{ - "shape":"AttackSummaries", - "documentation":"

The attack information for the specified time range.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

The token returned by a previous call to indicate that there is more data available. If not null, more results are available. Pass this value for the NextMarker parameter in a subsequent call to ListAttacks to retrieve the next set of items.

" - } - } - }, - "ListProtectionsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"Token", - "documentation":"

The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of Protection objects to be returned. If this is left blank the first 20 results will be returned.

" - } - } - }, - "ListProtectionsResponse":{ - "type":"structure", - "members":{ - "Protections":{ - "shape":"Protections", - "documentation":"

The array of enabled Protection objects.

" - }, - "NextToken":{ - "shape":"Token", - "documentation":"

If you specify a value for MaxResults and you have more Protections than the value of MaxResults, AWS Shield Advanced returns a NextToken value in the response that allows you to list another group of Protections. For the second and subsequent ListProtections requests, specify the value of NextToken from the previous response to get information about another batch of Protections.

" - } - } - }, - "LockedSubscriptionException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

You are trying to update a subscription that has not yet completed the 1-year commitment. You can change the AutoRenew parameter during the last 30 days of your subscription. This exception indicates that you are attempting to change AutoRenew prior to that period.

", - "exception":true - }, - "LogBucket":{ - "type":"string", - "max":63, - "min":3, - "pattern":"^([a-z]|(\\d(?!\\d{0,2}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})))([a-z\\d]|(\\.(?!(\\.|-)))|(-(?!\\.))){1,61}[a-z\\d]$" - }, - "LogBucketList":{ - "type":"list", - "member":{"shape":"LogBucket"}, - "max":10, - "min":0 - }, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "box":true, - "max":10000, - "min":0 - }, - "Mitigation":{ - "type":"structure", - "members":{ - "MitigationName":{ - "shape":"String", - "documentation":"

The name of the mitigation taken for this attack.

" - } - }, - "documentation":"

The mitigation applied to a DDoS attack.

" - }, - "MitigationList":{ - "type":"list", - "member":{"shape":"Mitigation"} - }, - "NoAssociatedRoleException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The ARN of the role that you specifed does not exist.

", - "exception":true - }, - "OptimisticLockException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception that indicates that the protection state has been modified by another client. You can retry the request.

", - "exception":true - }, - "Protection":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ProtectionId", - "documentation":"

The unique identifier (ID) of the protection.

" - }, - "Name":{ - "shape":"ProtectionName", - "documentation":"

The friendly name of the protection. For example, My CloudFront distributions.

" - }, - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the AWS resource that is protected.

" - } - }, - "documentation":"

An object that represents a resource that is under DDoS protection.

" - }, - "ProtectionId":{ - "type":"string", - "max":36, - "min":1, - "pattern":"[a-zA-Z0-9\\\\-]*" - }, - "ProtectionName":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[ a-zA-Z0-9_\\\\.\\\\-]*" - }, - "Protections":{ - "type":"list", - "member":{"shape":"Protection"} - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception indicating the specified resource already exists.

", - "exception":true - }, - "ResourceArn":{ - "type":"string", - "min":1 - }, - "ResourceArnFilterList":{ - "type":"list", - "member":{"shape":"ResourceArn"} - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

Exception indicating the specified resource does not exist.

", - "exception":true - }, - "RoleArn":{ - "type":"string", - "max":96, - "pattern":"^arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" - }, - "String":{"type":"string"}, - "SubResourceSummary":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"SubResourceType", - "documentation":"

The SubResource type.

" - }, - "Id":{ - "shape":"String", - "documentation":"

The unique identifier (ID) of the SubResource.

" - }, - "AttackVectors":{ - "shape":"SummarizedAttackVectorList", - "documentation":"

The list of attack types and associated counters.

" - }, - "Counters":{ - "shape":"SummarizedCounterList", - "documentation":"

The counters that describe the details of the attack.

" - } - }, - "documentation":"

The attack information for the specified SubResource.

" - }, - "SubResourceSummaryList":{ - "type":"list", - "member":{"shape":"SubResourceSummary"} - }, - "SubResourceType":{ - "type":"string", - "enum":[ - "IP", - "URL" - ] - }, - "Subscription":{ - "type":"structure", - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start time of the subscription, in Unix time in seconds. For more information see timestamp.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The date and time your subscription will end.

" - }, - "TimeCommitmentInSeconds":{ - "shape":"DurationInSeconds", - "documentation":"

The length, in seconds, of the AWS Shield Advanced subscription for the account.

" - }, - "AutoRenew":{ - "shape":"AutoRenew", - "documentation":"

If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period.

When you initally create a subscription, AutoRenew is set to ENABLED. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged.

" - }, - "Limits":{ - "shape":"Limits", - "documentation":"

Specifies how many protections of a given type you can create.

" - } - }, - "documentation":"

Information about the AWS Shield Advanced subscription for an account.

" - }, - "SubscriptionState":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE" - ] - }, - "SummarizedAttackVector":{ - "type":"structure", - "required":["VectorType"], - "members":{ - "VectorType":{ - "shape":"String", - "documentation":"

The attack type, for example, SNMP reflection or SYN flood.

" - }, - "VectorCounters":{ - "shape":"SummarizedCounterList", - "documentation":"

The list of counters that describe the details of the attack.

" - } - }, - "documentation":"

A summary of information about the attack.

" - }, - "SummarizedAttackVectorList":{ - "type":"list", - "member":{"shape":"SummarizedAttackVector"} - }, - "SummarizedCounter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The counter name.

" - }, - "Max":{ - "shape":"Double", - "documentation":"

The maximum value of the counter for a specified time period.

" - }, - "Average":{ - "shape":"Double", - "documentation":"

The average value of the counter for a specified time period.

" - }, - "Sum":{ - "shape":"Double", - "documentation":"

The total of counter values for a specified time period.

" - }, - "N":{ - "shape":"Integer", - "documentation":"

The number of counters for a specified time period.

" - }, - "Unit":{ - "shape":"String", - "documentation":"

The unit of the counters.

" - } - }, - "documentation":"

The counter that describes a DDoS attack.

" - }, - "SummarizedCounterList":{ - "type":"list", - "member":{"shape":"SummarizedCounter"} - }, - "TimeRange":{ - "type":"structure", - "members":{ - "FromInclusive":{ - "shape":"AttackTimestamp", - "documentation":"

The start time, in Unix time in seconds. For more information see timestamp.

" - }, - "ToExclusive":{ - "shape":"AttackTimestamp", - "documentation":"

The end time, in Unix time in seconds. For more information see timestamp.

" - } - }, - "documentation":"

The time range.

" - }, - "Timestamp":{"type":"timestamp"}, - "Token":{ - "type":"string", - "min":1 - }, - "TopContributors":{ - "type":"list", - "member":{"shape":"Contributor"} - }, - "Unit":{ - "type":"string", - "enum":[ - "BITS", - "BYTES", - "PACKETS", - "REQUESTS" - ] - }, - "UpdateEmergencyContactSettingsRequest":{ - "type":"structure", - "members":{ - "EmergencyContactList":{ - "shape":"EmergencyContactList", - "documentation":"

A list of email addresses that the DRT can use to contact you during a suspected attack.

" - } - } - }, - "UpdateEmergencyContactSettingsResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateSubscriptionRequest":{ - "type":"structure", - "members":{ - "AutoRenew":{ - "shape":"AutoRenew", - "documentation":"

When you initally create a subscription, AutoRenew is set to ENABLED. If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged.

" - } - } - }, - "UpdateSubscriptionResponse":{ - "type":"structure", - "members":{ - } - }, - "errorMessage":{"type":"string"} - }, - "documentation":"AWS Shield Advanced

This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/service-2.json deleted file mode 100644 index c9df5c96..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/service-2.json +++ /dev/null @@ -1,966 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-08-25", - "endpointPrefix":"signer", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceAbbreviation":"signer", - "serviceFullName":"AWS Signer", - "serviceId":"signer", - "signatureVersion":"v4", - "signingName":"signer", - "uid":"signer-2017-08-25" - }, - "operations":{ - "CancelSigningProfile":{ - "name":"CancelSigningProfile", - "http":{ - "method":"DELETE", - "requestUri":"/signing-profiles/{profileName}" - }, - "input":{"shape":"CancelSigningProfileRequest"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Changes the state of an ACTIVE signing profile to CANCELED. A canceled profile is still viewable with the ListSigningProfiles operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.

" - }, - "DescribeSigningJob":{ - "name":"DescribeSigningJob", - "http":{ - "method":"GET", - "requestUri":"/signing-jobs/{jobId}" - }, - "input":{"shape":"DescribeSigningJobRequest"}, - "output":{"shape":"DescribeSigningJobResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Returns information about a specific code signing job. You specify the job by using the jobId value that is returned by the StartSigningJob operation.

" - }, - "GetSigningPlatform":{ - "name":"GetSigningPlatform", - "http":{ - "method":"GET", - "requestUri":"/signing-platforms/{platformId}" - }, - "input":{"shape":"GetSigningPlatformRequest"}, - "output":{"shape":"GetSigningPlatformResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Returns information on a specific signing platform.

" - }, - "GetSigningProfile":{ - "name":"GetSigningProfile", - "http":{ - "method":"GET", - "requestUri":"/signing-profiles/{profileName}" - }, - "input":{"shape":"GetSigningProfileRequest"}, - "output":{"shape":"GetSigningProfileResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Returns information on a specific signing profile.

" - }, - "ListSigningJobs":{ - "name":"ListSigningJobs", - "http":{ - "method":"GET", - "requestUri":"/signing-jobs" - }, - "input":{"shape":"ListSigningJobsRequest"}, - "output":{"shape":"ListSigningJobsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Lists all your signing jobs. You can use the maxResults parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, AWS Signer returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that AWS Signer returns in the nextToken parameter until all of your signing jobs have been returned.

" - }, - "ListSigningPlatforms":{ - "name":"ListSigningPlatforms", - "http":{ - "method":"GET", - "requestUri":"/signing-platforms" - }, - "input":{"shape":"ListSigningPlatformsRequest"}, - "output":{"shape":"ListSigningPlatformsResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Lists all signing platforms available in AWS Signer that match the request parameters. If additional jobs remain to be listed, AWS Signer returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that AWS Signer returns in the nextToken parameter until all of your signing jobs have been returned.

" - }, - "ListSigningProfiles":{ - "name":"ListSigningProfiles", - "http":{ - "method":"GET", - "requestUri":"/signing-profiles" - }, - "input":{"shape":"ListSigningProfilesRequest"}, - "output":{"shape":"ListSigningProfilesResponse"}, - "errors":[ - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Lists all available signing profiles in your AWS account. Returns only profiles with an ACTIVE status unless the includeCanceled request field is set to true. If additional jobs remain to be listed, AWS Signer returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that AWS Signer returns in the nextToken parameter until all of your signing jobs have been returned.

" - }, - "PutSigningProfile":{ - "name":"PutSigningProfile", - "http":{ - "method":"PUT", - "requestUri":"/signing-profiles/{profileName}" - }, - "input":{"shape":"PutSigningProfileRequest"}, - "output":{"shape":"PutSigningProfileResponse"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ValidationException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Creates a signing profile. A signing profile is an AWS Signer template that can be used to carry out a pre-defined signing job. For more information, see http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html

" - }, - "StartSigningJob":{ - "name":"StartSigningJob", - "http":{ - "method":"POST", - "requestUri":"/signing-jobs" - }, - "input":{"shape":"StartSigningJobRequest"}, - "output":{"shape":"StartSigningJobResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, - {"shape":"InternalServiceErrorException"} - ], - "documentation":"

Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements:

  • You must create an Amazon S3 source bucket. For more information, see Create a Bucket in the Amazon S3 Getting Started Guide.

  • Your S3 source bucket must be version enabled.

  • You must create an S3 destination bucket. AWS Signer uses your S3 destination bucket to write your signed code.

  • You specify the name of the source and destination buckets when calling the StartSigningJob operation.

  • You must also specify a request token that identifies your request to AWS Signer.

You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/

" - } - }, - "shapes":{ - "key":{"type":"string"}, - "AccessDeniedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

You do not have sufficient access to perform this action.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "BucketName":{"type":"string"}, - "CancelSigningProfileRequest":{ - "type":"structure", - "required":["profileName"], - "members":{ - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the signing profile to be canceled.

", - "location":"uri", - "locationName":"profileName" - } - } - }, - "Category":{ - "type":"string", - "enum":["AWSIoT"] - }, - "CertificateArn":{"type":"string"}, - "ClientRequestToken":{"type":"string"}, - "CompletedAt":{"type":"timestamp"}, - "CreatedAt":{"type":"timestamp"}, - "DescribeSigningJobRequest":{ - "type":"structure", - "required":["jobId"], - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the signing job on input.

", - "location":"uri", - "locationName":"jobId" - } - } - }, - "DescribeSigningJobResponse":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the signing job on output.

" - }, - "source":{ - "shape":"Source", - "documentation":"

The object that contains the name of your S3 bucket or your raw code.

" - }, - "signingMaterial":{ - "shape":"SigningMaterial", - "documentation":"

Amazon Resource Name (ARN) of your code signing certificate.

" - }, - "platformId":{ - "shape":"PlatformId", - "documentation":"

The microcontroller platform to which your signed code image will be distributed.

" - }, - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the profile that initiated the signing operation.

" - }, - "overrides":{ - "shape":"SigningPlatformOverrides", - "documentation":"

A list of any overrides that were applied to the signing operation.

" - }, - "signingParameters":{ - "shape":"SigningParameters", - "documentation":"

Map of user-assigned key-value pairs used during signing. These values contain any information that you specified for use in your signing job.

" - }, - "createdAt":{ - "shape":"CreatedAt", - "documentation":"

Date and time that the signing job was created.

" - }, - "completedAt":{ - "shape":"CompletedAt", - "documentation":"

Date and time that the signing job was completed.

" - }, - "requestedBy":{ - "shape":"RequestedBy", - "documentation":"

The IAM principal that requested the signing job.

" - }, - "status":{ - "shape":"SigningStatus", - "documentation":"

Status of the signing job.

" - }, - "statusReason":{ - "shape":"StatusReason", - "documentation":"

String value that contains the status reason.

" - }, - "signedObject":{ - "shape":"SignedObject", - "documentation":"

Name of the S3 bucket where the signed code image is saved by AWS Signer.

" - } - } - }, - "Destination":{ - "type":"structure", - "members":{ - "s3":{ - "shape":"S3Destination", - "documentation":"

The S3Destination object.

" - } - }, - "documentation":"

Points to an S3Destination object that contains information about your S3 bucket.

" - }, - "DisplayName":{"type":"string"}, - "EncryptionAlgorithm":{ - "type":"string", - "enum":[ - "RSA", - "ECDSA" - ] - }, - "EncryptionAlgorithmOptions":{ - "type":"structure", - "required":[ - "allowedValues", - "defaultValue" - ], - "members":{ - "allowedValues":{ - "shape":"EncryptionAlgorithms", - "documentation":"

The set of accepted encryption algorithms that are allowed in an AWS Signer job.

" - }, - "defaultValue":{ - "shape":"EncryptionAlgorithm", - "documentation":"

The default encryption algorithm that is used by an AWS Signer job.

" - } - }, - "documentation":"

The encryption algorithm options that are available to an AWS Signer job.

" - }, - "EncryptionAlgorithms":{ - "type":"list", - "member":{"shape":"EncryptionAlgorithm"} - }, - "ErrorMessage":{"type":"string"}, - "GetSigningPlatformRequest":{ - "type":"structure", - "required":["platformId"], - "members":{ - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of the target signing platform.

", - "location":"uri", - "locationName":"platformId" - } - } - }, - "GetSigningPlatformResponse":{ - "type":"structure", - "members":{ - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of the target signing platform.

" - }, - "displayName":{ - "shape":"DisplayName", - "documentation":"

The display name of the target signing platform.

" - }, - "partner":{ - "shape":"String", - "documentation":"

A list of partner entities that use the target signing platform.

" - }, - "target":{ - "shape":"String", - "documentation":"

The validation template that is used by the target signing platform.

" - }, - "category":{ - "shape":"Category", - "documentation":"

The category type of the target signing platform.

" - }, - "signingConfiguration":{ - "shape":"SigningConfiguration", - "documentation":"

A list of configurations applied to the target platform at signing.

" - }, - "signingImageFormat":{ - "shape":"SigningImageFormat", - "documentation":"

The format of the target platform's signing image.

" - }, - "maxSizeInMB":{ - "shape":"MaxSizeInMB", - "documentation":"

The maximum size (in MB) of the payload that can be signed by the target platform.

" - } - } - }, - "GetSigningProfileRequest":{ - "type":"structure", - "required":["profileName"], - "members":{ - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the target signing profile.

", - "location":"uri", - "locationName":"profileName" - } - } - }, - "GetSigningProfileResponse":{ - "type":"structure", - "members":{ - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the target signing profile.

" - }, - "signingMaterial":{ - "shape":"SigningMaterial", - "documentation":"

The ARN of the certificate that the target profile uses for signing operations.

" - }, - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of the platform that is used by the target signing profile.

" - }, - "overrides":{ - "shape":"SigningPlatformOverrides", - "documentation":"

A list of overrides applied by the target signing profile for signing operations.

" - }, - "signingParameters":{ - "shape":"SigningParameters", - "documentation":"

A map of key-value pairs for signing operations that is attached to the target signing profile.

" - }, - "status":{ - "shape":"SigningProfileStatus", - "documentation":"

The status of the target signing profile.

" - } - } - }, - "HashAlgorithm":{ - "type":"string", - "enum":[ - "SHA1", - "SHA256" - ] - }, - "HashAlgorithmOptions":{ - "type":"structure", - "required":[ - "allowedValues", - "defaultValue" - ], - "members":{ - "allowedValues":{ - "shape":"HashAlgorithms", - "documentation":"

The set of accepted hash algorithms allowed in an AWS Signer job.

" - }, - "defaultValue":{ - "shape":"HashAlgorithm", - "documentation":"

The default hash algorithm that is used in an AWS Signer job.

" - } - }, - "documentation":"

The hash algorithms that are available to an AWS Signer job.

" - }, - "HashAlgorithms":{ - "type":"list", - "member":{"shape":"HashAlgorithm"} - }, - "ImageFormat":{ - "type":"string", - "enum":["JSON"] - }, - "ImageFormats":{ - "type":"list", - "member":{"shape":"ImageFormat"} - }, - "InternalServiceErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

An internal error occurred.

", - "error":{"httpStatusCode":500}, - "exception":true - }, - "JobId":{"type":"string"}, - "Key":{"type":"string"}, - "ListSigningJobsRequest":{ - "type":"structure", - "members":{ - "status":{ - "shape":"SigningStatus", - "documentation":"

A status value with which to filter your results.

", - "location":"querystring", - "locationName":"status" - }, - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of microcontroller platform that you specified for the distribution of your code image.

", - "location":"querystring", - "locationName":"platformId" - }, - "requestedBy":{ - "shape":"RequestedBy", - "documentation":"

The IAM principal that requested the signing job.

", - "location":"querystring", - "locationName":"requestedBy" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

Specifies the maximum number of items to return in the response. Use this parameter when paginating results. If additional items exist beyond the number you specify, the nextToken element is set in the response. Use the nextToken value in a subsequent request to retrieve additional items.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListSigningJobsResponse":{ - "type":"structure", - "members":{ - "jobs":{ - "shape":"SigningJobs", - "documentation":"

A list of your signing jobs.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

String for specifying the next set of paginated results.

" - } - } - }, - "ListSigningPlatformsRequest":{ - "type":"structure", - "members":{ - "category":{ - "shape":"String", - "documentation":"

The category type of a signing platform.

", - "location":"querystring", - "locationName":"category" - }, - "partner":{ - "shape":"String", - "documentation":"

Any partner entities connected to a signing platform.

", - "location":"querystring", - "locationName":"partner" - }, - "target":{ - "shape":"String", - "documentation":"

The validation template that is used by the target signing platform.

", - "location":"querystring", - "locationName":"target" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to be returned by this operation.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"String", - "documentation":"

Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListSigningPlatformsResponse":{ - "type":"structure", - "members":{ - "platforms":{ - "shape":"SigningPlatforms", - "documentation":"

A list of all platforms that match the request parameters.

" - }, - "nextToken":{ - "shape":"String", - "documentation":"

Value for specifying the next set of paginated results to return.

" - } - } - }, - "ListSigningProfilesRequest":{ - "type":"structure", - "members":{ - "includeCanceled":{ - "shape":"bool", - "documentation":"

Designates whether to include profiles with the status of CANCELED.

", - "location":"querystring", - "locationName":"includeCanceled" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of profiles to be returned.

", - "location":"querystring", - "locationName":"maxResults" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

", - "location":"querystring", - "locationName":"nextToken" - } - } - }, - "ListSigningProfilesResponse":{ - "type":"structure", - "members":{ - "profiles":{ - "shape":"SigningProfiles", - "documentation":"

A list of profiles that are available in the AWS account. This includes profiles with the status of CANCELED if the includeCanceled parameter is set to true.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

Value for specifying the next set of paginated results to return.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":25, - "min":1 - }, - "MaxSizeInMB":{"type":"integer"}, - "NextToken":{"type":"string"}, - "PlatformId":{"type":"string"}, - "Prefix":{"type":"string"}, - "ProfileName":{ - "type":"string", - "max":20, - "min":2, - "pattern":"^[a-zA-Z0-9_]{2,}" - }, - "PutSigningProfileRequest":{ - "type":"structure", - "required":[ - "profileName", - "signingMaterial", - "platformId" - ], - "members":{ - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the signing profile to be created.

", - "location":"uri", - "locationName":"profileName" - }, - "signingMaterial":{ - "shape":"SigningMaterial", - "documentation":"

The AWS Certificate Manager certificate that will be used to sign code with the new signing profile.

" - }, - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of the signing profile to be created.

" - }, - "overrides":{ - "shape":"SigningPlatformOverrides", - "documentation":"

A subfield of platform. This specifies any different configuration options that you want to apply to the chosen platform (such as a different hash-algorithm or signing-algorithm).

" - }, - "signingParameters":{ - "shape":"SigningParameters", - "documentation":"

Map of key-value pairs for signing. These can include any information that you want to use during signing.

" - } - } - }, - "PutSigningProfileResponse":{ - "type":"structure", - "members":{ - "arn":{ - "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the signing profile created.

" - } - } - }, - "RequestedBy":{"type":"string"}, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A specified resource could not be found.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "S3Destination":{ - "type":"structure", - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

Name of the S3 bucket.

" - }, - "prefix":{ - "shape":"Prefix", - "documentation":"

An Amazon S3 prefix that you can use to limit responses to those that begin with the specified prefix.

" - } - }, - "documentation":"

The name and prefix of the S3 bucket where AWS Signer saves your signed objects.

" - }, - "S3SignedObject":{ - "type":"structure", - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

Name of the S3 bucket.

" - }, - "key":{ - "shape":"key", - "documentation":"

Key name that uniquely identifies a signed code image in your bucket.

" - } - }, - "documentation":"

The S3 bucket name and key where AWS Signer saved your signed code image.

" - }, - "S3Source":{ - "type":"structure", - "required":[ - "bucketName", - "key", - "version" - ], - "members":{ - "bucketName":{ - "shape":"BucketName", - "documentation":"

Name of the S3 bucket.

" - }, - "key":{ - "shape":"Key", - "documentation":"

Key name of the bucket object that contains your unsigned code.

" - }, - "version":{ - "shape":"Version", - "documentation":"

Version of your source image in your version enabled S3 bucket.

" - } - }, - "documentation":"

Information about the S3 bucket where you saved your unsigned code.

" - }, - "SignedObject":{ - "type":"structure", - "members":{ - "s3":{ - "shape":"S3SignedObject", - "documentation":"

The S3SignedObject.

" - } - }, - "documentation":"

Points to an S3SignedObject object that contains information about your signed code image.

" - }, - "SigningConfiguration":{ - "type":"structure", - "required":[ - "encryptionAlgorithmOptions", - "hashAlgorithmOptions" - ], - "members":{ - "encryptionAlgorithmOptions":{ - "shape":"EncryptionAlgorithmOptions", - "documentation":"

The encryption algorithm options that are available for an AWS Signer job.

" - }, - "hashAlgorithmOptions":{ - "shape":"HashAlgorithmOptions", - "documentation":"

The hash algorithm options that are available for an AWS Signer job.

" - } - }, - "documentation":"

The configuration of an AWS Signer operation.

" - }, - "SigningConfigurationOverrides":{ - "type":"structure", - "members":{ - "encryptionAlgorithm":{ - "shape":"EncryptionAlgorithm", - "documentation":"

A specified override of the default encryption algorithm that is used in an AWS Signer job.

" - }, - "hashAlgorithm":{ - "shape":"HashAlgorithm", - "documentation":"

A specified override of the default hash algorithm that is used in an AWS Signer job.

" - } - }, - "documentation":"

A signing configuration that overrides the default encryption or hash algorithm of a signing job.

" - }, - "SigningImageFormat":{ - "type":"structure", - "required":[ - "supportedFormats", - "defaultFormat" - ], - "members":{ - "supportedFormats":{ - "shape":"ImageFormats", - "documentation":"

The supported formats of an AWS Signer signing image.

" - }, - "defaultFormat":{ - "shape":"ImageFormat", - "documentation":"

The default format of an AWS Signer signing image.

" - } - }, - "documentation":"

The image format of an AWS Signer platform or profile.

" - }, - "SigningJob":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of the signing job.

" - }, - "source":{ - "shape":"Source", - "documentation":"

A Source that contains information about a signing job's code image source.

" - }, - "signedObject":{ - "shape":"SignedObject", - "documentation":"

A SignedObject structure that contains information about a signing job's signed code image.

" - }, - "signingMaterial":{ - "shape":"SigningMaterial", - "documentation":"

A SigningMaterial object that contains the Amazon Resource Name (ARN) of the certificate used for the signing job.

" - }, - "createdAt":{ - "shape":"CreatedAt", - "documentation":"

The date and time that the signing job was created.

" - }, - "status":{ - "shape":"SigningStatus", - "documentation":"

The status of the signing job.

" - } - }, - "documentation":"

Contains information about a signing job.

" - }, - "SigningJobs":{ - "type":"list", - "member":{"shape":"SigningJob"} - }, - "SigningMaterial":{ - "type":"structure", - "required":["certificateArn"], - "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The Amazon Resource Name (ARN) of the certificates that is used to sign your code.

" - } - }, - "documentation":"

The ACM certificate that is used to sign your code.

" - }, - "SigningParameterKey":{"type":"string"}, - "SigningParameterValue":{"type":"string"}, - "SigningParameters":{ - "type":"map", - "key":{"shape":"SigningParameterKey"}, - "value":{"shape":"SigningParameterValue"} - }, - "SigningPlatform":{ - "type":"structure", - "members":{ - "platformId":{ - "shape":"String", - "documentation":"

The ID of an AWS Signer platform.

" - }, - "displayName":{ - "shape":"String", - "documentation":"

The display name of an AWS Signer platform.

" - }, - "partner":{ - "shape":"String", - "documentation":"

Any partner entities linked to an AWS Signer platform.

" - }, - "target":{ - "shape":"String", - "documentation":"

The types of targets that can be signed by an AWS Signer platform.

" - }, - "category":{ - "shape":"Category", - "documentation":"

The category of an AWS Signer platform.

" - }, - "signingConfiguration":{ - "shape":"SigningConfiguration", - "documentation":"

The configuration of an AWS Signer platform. This includes the designated hash algorithm and encryption algorithm of a signing platform.

" - }, - "signingImageFormat":{ - "shape":"SigningImageFormat", - "documentation":"

The signing image format that is used by an AWS Signer platform.

" - }, - "maxSizeInMB":{ - "shape":"MaxSizeInMB", - "documentation":"

The maximum size (in MB) of code that can be signed by a AWS Signer platform.

" - } - }, - "documentation":"

Contains information about the signing configurations and parameters that is used to perform an AWS Signer job.

" - }, - "SigningPlatformOverrides":{ - "type":"structure", - "members":{ - "signingConfiguration":{"shape":"SigningConfigurationOverrides"} - }, - "documentation":"

Any overrides that are applied to the signing configuration of an AWS Signer platform.

" - }, - "SigningPlatforms":{ - "type":"list", - "member":{"shape":"SigningPlatform"} - }, - "SigningProfile":{ - "type":"structure", - "members":{ - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the AWS Signer profile.

" - }, - "signingMaterial":{ - "shape":"SigningMaterial", - "documentation":"

The ACM certificate that is available for use by a signing profile.

" - }, - "platformId":{ - "shape":"PlatformId", - "documentation":"

The ID of a platform that is available for use by a signing profile.

" - }, - "signingParameters":{ - "shape":"SigningParameters", - "documentation":"

The parameters that are available for use by an AWS Signer user.

" - }, - "status":{ - "shape":"SigningProfileStatus", - "documentation":"

The status of an AWS Signer profile.

" - } - }, - "documentation":"

Contains information about the ACM certificates and AWS Signer configuration parameters that can be used by a given AWS Signer user.

" - }, - "SigningProfileStatus":{ - "type":"string", - "enum":[ - "Active", - "Canceled" - ] - }, - "SigningProfiles":{ - "type":"list", - "member":{"shape":"SigningProfile"} - }, - "SigningStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Failed", - "Succeeded" - ] - }, - "Source":{ - "type":"structure", - "members":{ - "s3":{ - "shape":"S3Source", - "documentation":"

The S3Source object.

" - } - }, - "documentation":"

An S3Source object that contains information about the S3 bucket where you saved your unsigned code.

" - }, - "StartSigningJobRequest":{ - "type":"structure", - "required":[ - "source", - "destination", - "clientRequestToken" - ], - "members":{ - "source":{ - "shape":"Source", - "documentation":"

The S3 bucket that contains the object to sign or a BLOB that contains your raw code.

" - }, - "destination":{ - "shape":"Destination", - "documentation":"

The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.

" - }, - "profileName":{ - "shape":"ProfileName", - "documentation":"

The name of the signing profile.

" - }, - "clientRequestToken":{ - "shape":"ClientRequestToken", - "documentation":"

String that identifies the signing request. All calls after the first that use this token return the same response as the first call.

", - "idempotencyToken":true - } - } - }, - "StartSigningJobResponse":{ - "type":"structure", - "members":{ - "jobId":{ - "shape":"JobId", - "documentation":"

The ID of your signing job.

" - } - } - }, - "StatusReason":{"type":"string"}, - "String":{"type":"string"}, - "ThrottlingException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The signing job has been throttled.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "ValidationException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

You signing certificate could not be validated.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Version":{"type":"string"}, - "bool":{"type":"boolean"}, - "string":{"type":"string"} - }, - "documentation":"

You can use Code Signing for Amazon FreeRTOS (AWS Signer) to sign code that you created for any of the IoT devices that Amazon Web Services supports. AWS Signer is integrated with Amazon FreeRTOS, AWS Certificate Manager, and AWS CloudTrail. Amazon FreeRTOS customers can use AWS Signer to sign code images before making them available for microcontrollers. You can use ACM to import third-party certificates to be used by AWS Signer. For general information about using AWS Signer, see the Code Signing for Amazon FreeRTOS Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/waiters-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/waiters-2.json deleted file mode 100644 index a0890ade..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/signer/2017-08-25/waiters-2.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": 2, - "waiters": { - "SuccessfulSigningJob": { - "delay": 20, - "operation": "DescribeSigningJob", - "maxAttempts": 25, - "acceptors": [ - { - "expected": "Succeeded", - "matcher": "path", - "state": "success", - "argument": "status" - }, - { - "expected": "Failed", - "matcher": "path", - "state": "failure", - "argument": "status" - }, - { - "expected": "ResourceNotFoundException", - "matcher": "error", - "state": "failure" - } - ] - } - } -} \ No newline at end of file diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/paginators-1.json deleted file mode 100644 index 6e184415..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/service-2.json deleted file mode 100644 index 5de6fb15..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sms/2016-10-24/service-2.json +++ /dev/null @@ -1,724 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"sms-2016-10-24", - "apiVersion":"2016-10-24", - "endpointPrefix":"sms", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"SMS", - "serviceFullName":"AWS Server Migration Service", - "serviceId":"SMS", - "signatureVersion":"v4", - "targetPrefix":"AWSServerMigrationService_V2016_10_24" - }, - "operations":{ - "CreateReplicationJob":{ - "name":"CreateReplicationJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateReplicationJobRequest"}, - "output":{"shape":"CreateReplicationJobResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ServerCannotBeReplicatedException"}, - {"shape":"ReplicationJobAlreadyExistsException"}, - {"shape":"NoConnectorsAvailableException"}, - {"shape":"InternalError"} - ], - "documentation":"The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS. Call this API to first create a ReplicationJob, which will then schedule periodic ReplicationRuns to replicate your server to AWS. Each ReplicationRun will result in the creation of an AWS AMI." - }, - "DeleteReplicationJob":{ - "name":"DeleteReplicationJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteReplicationJobRequest"}, - "output":{"shape":"DeleteReplicationJobResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ReplicationJobNotFoundException"} - ], - "documentation":"The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns. This will delete the contents of the S3 bucket used to store SMS artifacts, but will not delete any AMIs created by the SMS service." - }, - "DeleteServerCatalog":{ - "name":"DeleteServerCatalog", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteServerCatalogRequest"}, - "output":{"shape":"DeleteServerCatalogResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"} - ], - "documentation":"The DeleteServerCatalog API clears all servers from your server catalog. This means that these servers will no longer be accessible to the Server Migration Service." - }, - "DisassociateConnector":{ - "name":"DisassociateConnector", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateConnectorRequest"}, - "output":{"shape":"DisassociateConnectorResponse"}, - "errors":[ - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs." - }, - "GetConnectors":{ - "name":"GetConnectors", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetConnectorsRequest"}, - "output":{"shape":"GetConnectorsResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"} - ], - "documentation":"The GetConnectors API returns a list of connectors that are registered with the Server Migration Service." - }, - "GetReplicationJobs":{ - "name":"GetReplicationJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReplicationJobsRequest"}, - "output":{"shape":"GetReplicationJobsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"} - ], - "documentation":"The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs." - }, - "GetReplicationRuns":{ - "name":"GetReplicationRuns", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetReplicationRunsRequest"}, - "output":{"shape":"GetReplicationRunsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"} - ], - "documentation":"The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationRuns for a ReplicationJob." - }, - "GetServers":{ - "name":"GetServers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetServersRequest"}, - "output":{"shape":"GetServersResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"} - ], - "documentation":"The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must previously have called ImportServerCatalog." - }, - "ImportServerCatalog":{ - "name":"ImportServerCatalog", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ImportServerCatalogRequest"}, - "output":{"shape":"ImportServerCatalogResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"NoConnectorsAvailableException"} - ], - "documentation":"The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises. This API call requires connectors to be installed and monitoring all servers you would like imported. This API call returns immediately, but may take some time to retrieve all of the servers." - }, - "StartOnDemandReplicationRun":{ - "name":"StartOnDemandReplicationRun", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartOnDemandReplicationRunRequest"}, - "output":{"shape":"StartOnDemandReplicationRunResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"ReplicationRunLimitExceededException"} - ], - "documentation":"The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are scheduled based on your frequency). This ReplicationRun will start immediately. StartOnDemandReplicationRun is subject to limits on how many on demand ReplicationRuns you may call per 24-hour period." - }, - "UpdateReplicationJob":{ - "name":"UpdateReplicationJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateReplicationJobRequest"}, - "output":{"shape":"UpdateReplicationJobResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"MissingRequiredParameterException"}, - {"shape":"OperationNotPermittedException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"ServerCannotBeReplicatedException"}, - {"shape":"ReplicationJobNotFoundException"}, - {"shape":"InternalError"} - ], - "documentation":"The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using CreateReplicationJob. Calling this API will affect the next scheduled ReplicationRun." - } - }, - "shapes":{ - "AmiId":{ - "type":"string", - "documentation":"The AMI id for the image resulting from a Replication Run." - }, - "Connector":{ - "type":"structure", - "members":{ - "connectorId":{"shape":"ConnectorId"}, - "version":{"shape":"ConnectorVersion"}, - "status":{"shape":"ConnectorStatus"}, - "capabilityList":{"shape":"ConnectorCapabilityList"}, - "vmManagerName":{"shape":"VmManagerName"}, - "vmManagerType":{"shape":"VmManagerType"}, - "vmManagerId":{"shape":"VmManagerId"}, - "ipAddress":{"shape":"IpAddress"}, - "macAddress":{"shape":"MacAddress"}, - "associatedOn":{"shape":"Timestamp"} - }, - "documentation":"Object representing a Connector" - }, - "ConnectorCapability":{ - "type":"string", - "documentation":"Capabilities for a Connector", - "enum":["VSPHERE"] - }, - "ConnectorCapabilityList":{ - "type":"list", - "member":{ - "shape":"ConnectorCapability", - "locationName":"item" - }, - "documentation":"List of Connector Capabilities" - }, - "ConnectorId":{ - "type":"string", - "documentation":"Unique Identifier for Connector" - }, - "ConnectorList":{ - "type":"list", - "member":{ - "shape":"Connector", - "locationName":"item" - }, - "documentation":"List of connectors" - }, - "ConnectorStatus":{ - "type":"string", - "documentation":"Status of on-premise Connector", - "enum":[ - "HEALTHY", - "UNHEALTHY" - ] - }, - "ConnectorVersion":{ - "type":"string", - "documentation":"Connector version string" - }, - "CreateReplicationJobRequest":{ - "type":"structure", - "required":[ - "serverId", - "seedReplicationTime", - "frequency" - ], - "members":{ - "serverId":{"shape":"ServerId"}, - "seedReplicationTime":{"shape":"Timestamp"}, - "frequency":{"shape":"Frequency"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "description":{"shape":"Description"} - } - }, - "CreateReplicationJobResponse":{ - "type":"structure", - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"} - } - }, - "DeleteReplicationJobRequest":{ - "type":"structure", - "required":["replicationJobId"], - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"} - } - }, - "DeleteReplicationJobResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteServerCatalogRequest":{ - "type":"structure", - "members":{ - } - }, - "DeleteServerCatalogResponse":{ - "type":"structure", - "members":{ - } - }, - "Description":{ - "type":"string", - "documentation":"The description for a Replication Job/Run." - }, - "DisassociateConnectorRequest":{ - "type":"structure", - "required":["connectorId"], - "members":{ - "connectorId":{"shape":"ConnectorId"} - } - }, - "DisassociateConnectorResponse":{ - "type":"structure", - "members":{ - } - }, - "ErrorMessage":{ - "type":"string", - "documentation":"Error Message string" - }, - "Frequency":{ - "type":"integer", - "documentation":"Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs." - }, - "GetConnectorsRequest":{ - "type":"structure", - "members":{ - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} - } - }, - "GetConnectorsResponse":{ - "type":"structure", - "members":{ - "connectorList":{"shape":"ConnectorList"}, - "nextToken":{"shape":"NextToken"} - } - }, - "GetReplicationJobsRequest":{ - "type":"structure", - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} - } - }, - "GetReplicationJobsResponse":{ - "type":"structure", - "members":{ - "replicationJobList":{"shape":"ReplicationJobList"}, - "nextToken":{"shape":"NextToken"} - } - }, - "GetReplicationRunsRequest":{ - "type":"structure", - "required":["replicationJobId"], - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} - } - }, - "GetReplicationRunsResponse":{ - "type":"structure", - "members":{ - "replicationJob":{"shape":"ReplicationJob"}, - "replicationRunList":{"shape":"ReplicationRunList"}, - "nextToken":{"shape":"NextToken"} - } - }, - "GetServersRequest":{ - "type":"structure", - "members":{ - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} - } - }, - "GetServersResponse":{ - "type":"structure", - "members":{ - "lastModifiedOn":{"shape":"Timestamp"}, - "serverCatalogStatus":{"shape":"ServerCatalogStatus"}, - "serverList":{"shape":"ServerList"}, - "nextToken":{"shape":"NextToken"} - } - }, - "ImportServerCatalogRequest":{ - "type":"structure", - "members":{ - } - }, - "ImportServerCatalogResponse":{ - "type":"structure", - "members":{ - } - }, - "InternalError":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"An internal error has occured.", - "exception":true, - "fault":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"A parameter specified in the request is not valid, is unsupported, or cannot be used.", - "exception":true - }, - "IpAddress":{ - "type":"string", - "documentation":"Internet Protocol (IP) Address" - }, - "LicenseType":{ - "type":"string", - "documentation":"The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.", - "enum":[ - "AWS", - "BYOL" - ] - }, - "MacAddress":{ - "type":"string", - "documentation":"Hardware (MAC) address" - }, - "MaxResults":{ - "type":"integer", - "documentation":"The maximum number of results to return in one API call. If left empty, this will default to 50." - }, - "MissingRequiredParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request.", - "exception":true - }, - "NextToken":{ - "type":"string", - "documentation":"Pagination token to pass as input to API call" - }, - "NoConnectorsAvailableException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"No connectors are available to handle this request. Please associate connector(s) and verify any existing connectors are healthy and can respond to requests.", - "exception":true - }, - "OperationNotPermittedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"The specified operation is not allowed. This error can occur for a number of reasons; for example, you might be trying to start a Replication Run before seed Replication Run.", - "exception":true - }, - "ReplicationJob":{ - "type":"structure", - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "serverId":{"shape":"ServerId"}, - "serverType":{"shape":"ServerType"}, - "vmServer":{"shape":"VmServer"}, - "seedReplicationTime":{"shape":"Timestamp"}, - "frequency":{"shape":"Frequency"}, - "nextReplicationRunStartTime":{"shape":"Timestamp"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "latestAmiId":{"shape":"AmiId"}, - "state":{"shape":"ReplicationJobState"}, - "statusMessage":{"shape":"ReplicationJobStatusMessage"}, - "description":{"shape":"Description"}, - "replicationRunList":{"shape":"ReplicationRunList"} - }, - "documentation":"Object representing a Replication Job" - }, - "ReplicationJobAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"An active Replication Job already exists for the specified server.", - "exception":true - }, - "ReplicationJobId":{ - "type":"string", - "documentation":"The unique identifier for a Replication Job." - }, - "ReplicationJobList":{ - "type":"list", - "member":{ - "shape":"ReplicationJob", - "locationName":"item" - }, - "documentation":"List of Replication Jobs" - }, - "ReplicationJobNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"The specified Replication Job cannot be found.", - "exception":true - }, - "ReplicationJobState":{ - "type":"string", - "documentation":"Current state of Replication Job", - "enum":[ - "PENDING", - "ACTIVE", - "FAILED", - "DELETING", - "DELETED" - ] - }, - "ReplicationJobStatusMessage":{ - "type":"string", - "documentation":"String describing current status of Replication Job" - }, - "ReplicationJobTerminated":{ - "type":"boolean", - "documentation":"An indicator of the Replication Job being deleted or failed." - }, - "ReplicationRun":{ - "type":"structure", - "members":{ - "replicationRunId":{"shape":"ReplicationRunId"}, - "state":{"shape":"ReplicationRunState"}, - "type":{"shape":"ReplicationRunType"}, - "statusMessage":{"shape":"ReplicationRunStatusMessage"}, - "amiId":{"shape":"AmiId"}, - "scheduledStartTime":{"shape":"Timestamp"}, - "completedTime":{"shape":"Timestamp"}, - "description":{"shape":"Description"} - }, - "documentation":"Object representing a Replication Run" - }, - "ReplicationRunId":{ - "type":"string", - "documentation":"The unique identifier for a Replication Run." - }, - "ReplicationRunLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"This user has exceeded the maximum allowed Replication Run limit.", - "exception":true - }, - "ReplicationRunList":{ - "type":"list", - "member":{ - "shape":"ReplicationRun", - "locationName":"item" - }, - "documentation":"List of Replication Runs" - }, - "ReplicationRunState":{ - "type":"string", - "documentation":"Current state of Replication Run", - "enum":[ - "PENDING", - "MISSED", - "ACTIVE", - "FAILED", - "COMPLETED", - "DELETING", - "DELETED" - ] - }, - "ReplicationRunStatusMessage":{ - "type":"string", - "documentation":"String describing current status of Replication Run" - }, - "ReplicationRunType":{ - "type":"string", - "documentation":"Type of Replication Run", - "enum":[ - "ON_DEMAND", - "AUTOMATIC" - ] - }, - "RoleName":{ - "type":"string", - "documentation":"Name of service role in customer's account to be used by SMS service." - }, - "Server":{ - "type":"structure", - "members":{ - "serverId":{"shape":"ServerId"}, - "serverType":{"shape":"ServerType"}, - "vmServer":{"shape":"VmServer"}, - "replicationJobId":{"shape":"ReplicationJobId"}, - "replicationJobTerminated":{"shape":"ReplicationJobTerminated"} - }, - "documentation":"Object representing a server" - }, - "ServerCannotBeReplicatedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"The provided server cannot be replicated.", - "exception":true - }, - "ServerCatalogStatus":{ - "type":"string", - "documentation":"Status of Server catalog", - "enum":[ - "NOT_IMPORTED", - "IMPORTING", - "AVAILABLE", - "DELETED", - "EXPIRED" - ] - }, - "ServerId":{ - "type":"string", - "documentation":"Unique Identifier for a server" - }, - "ServerList":{ - "type":"list", - "member":{ - "shape":"Server", - "locationName":"item" - }, - "documentation":"List of servers from catalog" - }, - "ServerType":{ - "type":"string", - "documentation":"Type of server.", - "enum":["VIRTUAL_MACHINE"] - }, - "StartOnDemandReplicationRunRequest":{ - "type":"structure", - "required":["replicationJobId"], - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "description":{"shape":"Description"} - } - }, - "StartOnDemandReplicationRunResponse":{ - "type":"structure", - "members":{ - "replicationRunId":{"shape":"ReplicationRunId"} - } - }, - "Timestamp":{ - "type":"timestamp", - "documentation":"Timestamp of an operation" - }, - "UnauthorizedOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"This user does not have permissions to perform this operation.", - "exception":true - }, - "UpdateReplicationJobRequest":{ - "type":"structure", - "required":["replicationJobId"], - "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "frequency":{"shape":"Frequency"}, - "nextReplicationRunStartTime":{"shape":"Timestamp"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "description":{"shape":"Description"} - } - }, - "UpdateReplicationJobResponse":{ - "type":"structure", - "members":{ - } - }, - "VmId":{ - "type":"string", - "documentation":"Unique Identifier for a VM" - }, - "VmManagerId":{ - "type":"string", - "documentation":"Unique Identifier for VM Manager" - }, - "VmManagerName":{ - "type":"string", - "documentation":"VM Manager Name" - }, - "VmManagerType":{ - "type":"string", - "documentation":"VM Management Product", - "enum":["VSPHERE"] - }, - "VmName":{ - "type":"string", - "documentation":"Name of Virtual Machine" - }, - "VmPath":{ - "type":"string", - "documentation":"Path to VM" - }, - "VmServer":{ - "type":"structure", - "members":{ - "vmServerAddress":{"shape":"VmServerAddress"}, - "vmName":{"shape":"VmName"}, - "vmManagerName":{"shape":"VmManagerName"}, - "vmManagerType":{"shape":"VmManagerType"}, - "vmPath":{"shape":"VmPath"} - }, - "documentation":"Object representing a VM server" - }, - "VmServerAddress":{ - "type":"structure", - "members":{ - "vmManagerId":{"shape":"VmManagerId"}, - "vmId":{"shape":"VmId"} - }, - "documentation":"Object representing a server's location" - } - }, - "documentation":"Amazon Server Migration Service automates the process of migrating servers to EC2." -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/examples-1.json deleted file mode 100644 index 9d699718..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/examples-1.json +++ /dev/null @@ -1,442 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/paginators-1.json deleted file mode 100644 index 79596df9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/service-2.json deleted file mode 100644 index 30a87ed5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/snowball/2016-06-30/service-2.json +++ /dev/null @@ -1,1463 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-06-30", - "endpointPrefix":"snowball", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon Snowball", - "serviceFullName":"Amazon Import/Export Snowball", - "serviceId":"Snowball", - "signatureVersion":"v4", - "targetPrefix":"AWSIESnowballJobManagementService", - "uid":"snowball-2016-06-30" - }, - "operations":{ - "CancelCluster":{ - "name":"CancelCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelClusterRequest"}, - "output":{"shape":"CancelClusterResult"}, - "errors":[ - {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"InvalidResourceException"} - ], - "documentation":"

Cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status. You'll have at least an hour after creating a cluster job to cancel it.

" - }, - "CancelJob":{ - "name":"CancelJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelJobRequest"}, - "output":{"shape":"CancelJobResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"KMSRequestFailedException"} - ], - "documentation":"

Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned.

" - }, - "CreateAddress":{ - "name":"CreateAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAddressRequest"}, - "output":{"shape":"CreateAddressResult"}, - "errors":[ - {"shape":"InvalidAddressException"}, - {"shape":"UnsupportedAddressException"} - ], - "documentation":"

Creates an address for a Snowball to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

" - }, - "CreateCluster":{ - "name":"CreateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateClusterRequest"}, - "output":{"shape":"CreateClusterResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"}, - {"shape":"Ec2RequestFailedException"} - ], - "documentation":"

Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.

" - }, - "CreateJob":{ - "name":"CreateJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateJobRequest"}, - "output":{"shape":"CreateJobResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"}, - {"shape":"ClusterLimitExceededException"}, - {"shape":"Ec2RequestFailedException"} - ], - "documentation":"

Creates a job to import or export data between Amazon S3 and your on-premises data center. 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressRequest"}, - "output":{"shape":"DescribeAddressResult"}, - "errors":[ - {"shape":"InvalidResourceException"} - ], - "documentation":"

Takes an AddressId and returns specific details about that address in the form of an Address object.

" - }, - "DescribeAddresses":{ - "name":"DescribeAddresses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAddressesRequest"}, - "output":{"shape":"DescribeAddressesResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.

" - }, - "DescribeCluster":{ - "name":"DescribeCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeClusterRequest"}, - "output":{"shape":"DescribeClusterResult"}, - "errors":[ - {"shape":"InvalidResourceException"} - ], - "documentation":"

Returns information about a specific cluster including shipping information, cluster status, and other important metadata.

" - }, - "DescribeJob":{ - "name":"DescribeJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeJobRequest"}, - "output":{"shape":"DescribeJobResult"}, - "errors":[ - {"shape":"InvalidResourceException"} - ], - "documentation":"

Returns information about a specific job including shipping information, job status, and other important metadata.

" - }, - "GetJobManifest":{ - "name":"GetJobManifest", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobManifestRequest"}, - "output":{"shape":"GetJobManifestResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidJobStateException"} - ], - "documentation":"

Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.

The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time.

As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.

The credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.

" - }, - "GetJobUnlockCode":{ - "name":"GetJobUnlockCode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetJobUnlockCodeRequest"}, - "output":{"shape":"GetJobUnlockCodeResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidJobStateException"} - ], - "documentation":"

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.

The 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.

As 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.

" - }, - "GetSnowballUsage":{ - "name":"GetSnowballUsage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSnowballUsageRequest"}, - "output":{"shape":"GetSnowballUsageResult"}, - "documentation":"

Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use.

The default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.

" - }, - "ListClusterJobs":{ - "name":"ListClusterJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListClusterJobsRequest"}, - "output":{"shape":"ListClusterJobsResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.

" - }, - "ListClusters":{ - "name":"ListClusters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListClustersRequest"}, - "output":{"shape":"ListClustersResult"}, - "errors":[ - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

" - }, - "ListCompatibleImages":{ - "name":"ListCompatibleImages", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCompatibleImagesRequest"}, - "output":{"shape":"ListCompatibleImagesResult"}, - "errors":[ - {"shape":"InvalidNextTokenException"}, - {"shape":"Ec2RequestFailedException"} - ], - "documentation":"

This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your AWS account that would be supported for use on a Snowball Edge device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace.

" - }, - "ListJobs":{ - "name":"ListJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListJobsRequest"}, - "output":{"shape":"ListJobsResult"}, - "errors":[ - {"shape":"InvalidNextTokenException"} - ], - "documentation":"

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

" - }, - "UpdateCluster":{ - "name":"UpdateCluster", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateClusterRequest"}, - "output":{"shape":"UpdateClusterResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"}, - {"shape":"Ec2RequestFailedException"} - ], - "documentation":"

While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.

" - }, - "UpdateJob":{ - "name":"UpdateJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateJobRequest"}, - "output":{"shape":"UpdateJobResult"}, - "errors":[ - {"shape":"InvalidResourceException"}, - {"shape":"InvalidJobStateException"}, - {"shape":"KMSRequestFailedException"}, - {"shape":"InvalidInputCombinationException"}, - {"shape":"ClusterLimitExceededException"}, - {"shape":"Ec2RequestFailedException"} - ], - "documentation":"

While a job's JobState value is New, you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.

" - } - }, - "shapes":{ - "Address":{ - "type":"structure", - "members":{ - "AddressId":{ - "shape":"AddressId", - "documentation":"

The unique ID for an address.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of a person to receive a Snowball at an address.

" - }, - "Company":{ - "shape":"String", - "documentation":"

The name of the company to receive a Snowball at an address.

" - }, - "Street1":{ - "shape":"String", - "documentation":"

The first line in a street address that a Snowball is to be delivered to.

" - }, - "Street2":{ - "shape":"String", - "documentation":"

The second line in a street address that a Snowball is to be delivered to.

" - }, - "Street3":{ - "shape":"String", - "documentation":"

The third line in a street address that a Snowball is to be delivered to.

" - }, - "City":{ - "shape":"String", - "documentation":"

The city in an address that a Snowball is to be delivered to.

" - }, - "StateOrProvince":{ - "shape":"String", - "documentation":"

The state or province in an address that a Snowball is to be delivered to.

" - }, - "PrefectureOrDistrict":{ - "shape":"String", - "documentation":"

This field is no longer used and the value is ignored.

" - }, - "Landmark":{ - "shape":"String", - "documentation":"

This field is no longer used and the value is ignored.

" - }, - "Country":{ - "shape":"String", - "documentation":"

The country in an address that a Snowball is to be delivered to.

" - }, - "PostalCode":{ - "shape":"String", - "documentation":"

The postal code in an address that a Snowball is to be delivered to.

" - }, - "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.

" - }, - "AddressId":{ - "type":"string", - "max":40, - "min":40, - "pattern":"ADID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "AddressList":{ - "type":"list", - "member":{"shape":"Address"} - }, - "AmiId":{ - "type":"string", - "max":21, - "min":12, - "pattern":"(ami-[0-9a-f]{8})|(ami-[0-9a-f]{17})" - }, - "Boolean":{"type":"boolean"}, - "CancelClusterRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The 39-character ID for the cluster that you want to cancel, for example CID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "CancelClusterResult":{ - "type":"structure", - "members":{ - } - }, - "CancelJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The 39-character job ID for the job that you want to cancel, for example JID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "CancelJobResult":{ - "type":"structure", - "members":{ - } - }, - "ClusterId":{ - "type":"string", - "max":39, - "min":39, - "pattern":"CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "ClusterLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Job creation failed. Currently, clusters support five nodes. If you have less than five nodes for your cluster and you have more nodes to create for this cluster, try again and create jobs until your cluster has exactly five notes.

", - "exception":true - }, - "ClusterListEntry":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"String", - "documentation":"

The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.

" - }, - "ClusterState":{ - "shape":"ClusterState", - "documentation":"

The current state of this cluster. For information about the state of a specific node, see JobListEntry$JobState.

" - }, - "CreationDate":{ - "shape":"Timestamp", - "documentation":"

The creation date for this cluster.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Defines an optional description of the cluster, for example Environmental Data Cluster-01.

" - } - }, - "documentation":"

Contains a cluster's state, a cluster's ID, and other important information.

" - }, - "ClusterListEntryList":{ - "type":"list", - "member":{"shape":"ClusterListEntry"} - }, - "ClusterMetadata":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"String", - "documentation":"

The automatically generated ID for a cluster.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The optional description of the cluster.

" - }, - "KmsKeyARN":{ - "shape":"KmsKeyARN", - "documentation":"

The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the CreateKey API action in AWS Key Management Service (AWS KMS).

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The role ARN associated with this cluster. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

" - }, - "ClusterState":{ - "shape":"ClusterState", - "documentation":"

The current status of the cluster.

" - }, - "JobType":{ - "shape":"JobType", - "documentation":"

The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE.

" - }, - "SnowballType":{ - "shape":"SnowballType", - "documentation":"

The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

" - }, - "CreationDate":{ - "shape":"Timestamp", - "documentation":"

The creation date for this cluster.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The automatically generated ID for a specific address.

" - }, - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day.

  • In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

  • In India, Snowball Edges are delivered in one to seven days.

  • In the US, you have access to one-day shipping and two-day shipping.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

" - }, - "ForwardingAddressId":{ - "shape":"AddressId", - "documentation":"

The ID of the address that you want a cluster shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

" - } - }, - "documentation":"

Contains metadata about a specific cluster.

" - }, - "ClusterState":{ - "type":"string", - "enum":[ - "AwaitingQuorum", - "Pending", - "InUse", - "Complete", - "Cancelled" - ] - }, - "CompatibleImage":{ - "type":"structure", - "members":{ - "AmiId":{ - "shape":"String", - "documentation":"

The unique identifier for an individual Snowball Edge AMI.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The optional name of a compatible image.

" - } - }, - "documentation":"

A JSON-formatted object that describes a compatible Amazon Machine Image (AMI), including the ID and name for a Snowball Edge AMI. This AMI is compatible with the device's physical hardware requirements, and it should be able to be run in an SBE1 instance on the device.

" - }, - "CompatibleImageList":{ - "type":"list", - "member":{"shape":"CompatibleImage"} - }, - "CreateAddressRequest":{ - "type":"structure", - "required":["Address"], - "members":{ - "Address":{ - "shape":"Address", - "documentation":"

The address that you want the Snowball shipped to.

" - } - } - }, - "CreateAddressResult":{ - "type":"structure", - "members":{ - "AddressId":{ - "shape":"String", - "documentation":"

The automatically generated ID for a specific address. You'll use this ID when you create a job to specify which address you want the Snowball for that job shipped to.

" - } - } - }, - "CreateClusterRequest":{ - "type":"structure", - "required":[ - "JobType", - "Resources", - "AddressId", - "RoleARN", - "ShippingOption" - ], - "members":{ - "JobType":{ - "shape":"JobType", - "documentation":"

The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.

" - }, - "Description":{ - "shape":"String", - "documentation":"

An optional description of this specific cluster, for example Environmental Data Cluster-01.

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The ID for the address that you want the cluster shipped to.

" - }, - "KmsKeyARN":{ - "shape":"KmsKeyARN", - "documentation":"

The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in AWS Key Management Service (AWS KMS).

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in AWS Identity and Access Management (IAM).

" - }, - "SnowballType":{ - "shape":"SnowballType", - "documentation":"

The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

" - }, - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day.

  • In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

  • In India, Snowball Edges are delivered in one to seven days.

  • In the US, you have access to one-day shipping and two-day shipping.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

" - }, - "ForwardingAddressId":{ - "shape":"AddressId", - "documentation":"

The forwarding address ID for a cluster. This field is not supported in most regions.

" - } - } - }, - "CreateClusterResult":{ - "type":"structure", - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The automatically generated ID for a cluster.

" - } - } - }, - "CreateJobRequest":{ - "type":"structure", - "members":{ - "JobType":{ - "shape":"JobType", - "documentation":"

Defines the type of job that you're creating.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

Defines the Amazon S3 buckets associated with this job.

With IMPORT jobs, you specify the bucket or buckets that your transferred data will be imported into.

With EXPORT jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a KeyRange value. If you choose to export a range, you define the length of the range by providing either an inclusive BeginMarker value, an inclusive EndMarker value, or both. Ranges are UTF-8 binary sorted.

" - }, - "Description":{ - "shape":"String", - "documentation":"

Defines an optional description of this specific job, for example Important Photos 2016-08-11.

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The ID for the address that you want the Snowball shipped to.

" - }, - "KmsKeyARN":{ - "shape":"KmsKeyARN", - "documentation":"

The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.

" - }, - "SnowballCapacityPreference":{ - "shape":"SnowballCapacity", - "documentation":"

If your job is being created in one of the US regions, you have the option of specifying what size Snowball you'd like for this job. In all other regions, Snowballs come with 80 TB in storage capacity.

" - }, - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

  • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

  • In India, Snowballs are delivered in one to seven days.

  • In the US, you have access to one-day shipping and two-day shipping.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.

" - }, - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this clusterId value. The other job attributes are inherited from the cluster.

" - }, - "SnowballType":{ - "shape":"SnowballType", - "documentation":"

The type of AWS Snowball device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.

" - }, - "ForwardingAddressId":{ - "shape":"AddressId", - "documentation":"

The forwarding address ID for a job. This field is not supported in most regions.

" - } - } - }, - "CreateJobResult":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "DataTransfer":{ - "type":"structure", - "members":{ - "BytesTransferred":{ - "shape":"Long", - "documentation":"

The number of bytes transferred between a Snowball and Amazon S3.

" - }, - "ObjectsTransferred":{ - "shape":"Long", - "documentation":"

The number of objects transferred between a Snowball and Amazon S3.

" - }, - "TotalBytes":{ - "shape":"Long", - "documentation":"

The total bytes of data for a transfer between a Snowball and Amazon S3. This value is set to 0 (zero) until all the keys that will be transferred have been listed.

" - }, - "TotalObjects":{ - "shape":"Long", - "documentation":"

The total number of objects for a transfer between a Snowball and Amazon S3. This value is set to 0 (zero) until all the keys that will be transferred have been listed.

" - } - }, - "documentation":"

Defines the real-time status of a Snowball's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" - }, - "DescribeAddressRequest":{ - "type":"structure", - "required":["AddressId"], - "members":{ - "AddressId":{ - "shape":"AddressId", - "documentation":"

The automatically generated ID for a specific address.

" - } - } - }, - "DescribeAddressResult":{ - "type":"structure", - "members":{ - "Address":{ - "shape":"Address", - "documentation":"

The address that you want the Snowball or Snowballs associated with a specific job to be shipped to.

" - } - } - }, - "DescribeAddressesRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The number of ADDRESS objects to return.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. To identify what object comes \"next\" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returned addresses.

" - } - } - }, - "DescribeAddressesResult":{ - "type":"structure", - "members":{ - "Addresses":{ - "shape":"AddressList", - "documentation":"

The Snowball shipping addresses that were created for this account.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. If you use the automatically generated NextToken value in your next DescribeAddresses call, your list of returned addresses will start from this point in the array.

" - } - } - }, - "DescribeClusterRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The automatically generated ID for a cluster.

" - } - } - }, - "DescribeClusterResult":{ - "type":"structure", - "members":{ - "ClusterMetadata":{ - "shape":"ClusterMetadata", - "documentation":"

Information about a specific cluster, including shipping information, cluster status, and other important metadata.

" - } - } - }, - "DescribeJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "DescribeJobResult":{ - "type":"structure", - "members":{ - "JobMetadata":{ - "shape":"JobMetadata", - "documentation":"

Information about a specific job, including shipping information, job status, and other important metadata.

" - }, - "SubJobMetadata":{ - "shape":"JobMetadataList", - "documentation":"

Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata.

" - } - } - }, - "Ec2AmiResource":{ - "type":"structure", - "required":["AmiId"], - "members":{ - "AmiId":{ - "shape":"AmiId", - "documentation":"

The ID of the AMI in Amazon EC2.

" - }, - "SnowballAmiId":{ - "shape":"String", - "documentation":"

The ID of the AMI on the Snowball Edge device.

" - } - }, - "documentation":"

A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), including the Amazon EC2 AMI ID and the Snowball Edge AMI ID. Each AMI has these two IDs to simplify identifying the AMI in both the AWS Cloud and on the device.

" - }, - "Ec2AmiResourceList":{ - "type":"list", - "member":{"shape":"Ec2AmiResource"} - }, - "Ec2RequestFailedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted action.

", - "exception":true - }, - "EventTriggerDefinition":{ - "type":"structure", - "members":{ - "EventResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job.

" - } - }, - "documentation":"

The container for the EventTriggerDefinition$EventResourceARN.

" - }, - "EventTriggerDefinitionList":{ - "type":"list", - "member":{"shape":"EventTriggerDefinition"} - }, - "GetJobManifestRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The ID for a job that you want to get the manifest file for, for example JID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "GetJobManifestResult":{ - "type":"structure", - "members":{ - "ManifestURI":{ - "shape":"String", - "documentation":"

The Amazon S3 presigned URL for the manifest file associated with the specified JobId value.

" - } - } - }, - "GetJobUnlockCodeRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The ID for the job that you want to get the UnlockCode value for, for example JID123e4567-e89b-12d3-a456-426655440000.

" - } - } - }, - "GetJobUnlockCodeResult":{ - "type":"structure", - "members":{ - "UnlockCode":{ - "shape":"String", - "documentation":"

The UnlockCode value for the specified job. The UnlockCode value can be accessed for up to 90 days after the job has been created.

" - } - } - }, - "GetSnowballUsageRequest":{ - "type":"structure", - "members":{ - } - }, - "GetSnowballUsageResult":{ - "type":"structure", - "members":{ - "SnowballLimit":{ - "shape":"Integer", - "documentation":"

The service limit for number of Snowballs this account can have at once. The default service limit is 1 (one).

" - }, - "SnowballsInUse":{ - "shape":"Integer", - "documentation":"

The number of Snowballs that this account is currently using.

" - } - } - }, - "Integer":{"type":"integer"}, - "InvalidAddressException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The address provided was invalid. Check the address with your region's carrier, and try again.

", - "exception":true - }, - "InvalidInputCombinationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Job or cluster creation failed. One ore more inputs were invalid. Confirm that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, and try again.

", - "exception":true - }, - "InvalidJobStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "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":{ - "Message":{"shape":"String"}, - "ResourceType":{ - "shape":"String", - "documentation":"

The provided resource value is invalid.

" - } - }, - "documentation":"

The specified resource can't be found. Check the information you provided in your last request, and try again.

", - "exception":true - }, - "JobId":{ - "type":"string", - "max":39, - "min":39, - "pattern":"(M|J)ID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" - }, - "JobListEntry":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"String", - "documentation":"

The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.

" - }, - "JobState":{ - "shape":"JobState", - "documentation":"

The current state of this job.

" - }, - "IsMaster":{ - "shape":"Boolean", - "documentation":"

A value that indicates that this job is a master job. A master job represents a successful request to create an export job. Master jobs aren't associated with any Snowballs. Instead, each master job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular master job are listed, because they are created after the master job is created.

" - }, - "JobType":{ - "shape":"JobType", - "documentation":"

The type of job.

" - }, - "SnowballType":{ - "shape":"SnowballType", - "documentation":"

The type of device used with this job.

" - }, - "CreationDate":{ - "shape":"Timestamp", - "documentation":"

The creation date for this job.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The optional description of this specific job, for example Important Photos 2016-08-11.

" - } - }, - "documentation":"

Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of an export job.

" - }, - "JobListEntryList":{ - "type":"list", - "member":{"shape":"JobListEntry"} - }, - "JobLogs":{ - "type":"structure", - "members":{ - "JobCompletionReportURI":{ - "shape":"String", - "documentation":"

A link to an Amazon S3 presigned URL where the job completion report is located.

" - }, - "JobSuccessLogURI":{ - "shape":"String", - "documentation":"

A link to an Amazon S3 presigned URL where the job success log is located.

" - }, - "JobFailureLogURI":{ - "shape":"String", - "documentation":"

A link to an Amazon S3 presigned URL where the job failure log is located.

" - } - }, - "documentation":"

Contains job logs. Whenever Snowball is used to import data into or export data out of Amazon S3, you'll have the option of downloading a PDF job report. Job logs are returned as a part of the response syntax of the DescribeJob action in the JobMetadata data type. The job logs can be accessed for up to 60 minutes after this request has been made. To access any of the job logs after 60 minutes have passed, you'll have to make another call to the DescribeJob action.

For import jobs, the PDF job report becomes available at the end of the import process. For export jobs, your job report typically becomes available while the Snowball for your job part is being delivered to you.

The job report provides you insight into the state of your Amazon S3 data transfer. The report includes details about your job or job part for your records.

For deeper visibility into the status of your transferred objects, you can look at the two associated logs: a success log and a failure log. The logs are saved in comma-separated value (CSV) format, and the name of each log includes the ID of the job or job part that the log describes.

" - }, - "JobMetadata":{ - "type":"structure", - "members":{ - "JobId":{ - "shape":"String", - "documentation":"

The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.

" - }, - "JobState":{ - "shape":"JobState", - "documentation":"

The current status of the jobs.

" - }, - "JobType":{ - "shape":"JobType", - "documentation":"

The type of job.

" - }, - "SnowballType":{ - "shape":"SnowballType", - "documentation":"

The type of device used with this job.

" - }, - "CreationDate":{ - "shape":"Timestamp", - "documentation":"

The creation date for this job.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

An array of S3Resource objects. Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The description of the job, provided at job creation.

" - }, - "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.

" - }, - "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).

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The ID for the address that you want the Snowball shipped to.

" - }, - "ShippingDetails":{ - "shape":"ShippingDetails", - "documentation":"

A job's shipping information, including inbound and outbound tracking numbers and shipping speed options.

" - }, - "SnowballCapacityPreference":{ - "shape":"SnowballCapacity", - "documentation":"

The Snowball capacity preference for this job, specified at job creation. In US regions, you can choose between 50 TB and 80 TB Snowballs. All other regions use 80 TB capacity Snowballs.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The Notification object is returned as a part of the response syntax of the DescribeJob action in the JobMetadata data type.

" - }, - "DataTransferProgress":{ - "shape":"DataTransfer", - "documentation":"

A value that defines the real-time status of a Snowball's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" - }, - "JobLogInfo":{ - "shape":"JobLogs", - "documentation":"

Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the PDF job report becomes available at the end of the import process. For export jobs, your job report typically becomes available while the Snowball for your job part is being delivered to you.

" - }, - "ClusterId":{ - "shape":"String", - "documentation":"

The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000.

" - }, - "ForwardingAddressId":{ - "shape":"AddressId", - "documentation":"

The ID of the address that you want a job shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

" - } - }, - "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.

" - }, - "JobMetadataList":{ - "type":"list", - "member":{"shape":"JobMetadata"} - }, - "JobResource":{ - "type":"structure", - "members":{ - "S3Resources":{ - "shape":"S3ResourceList", - "documentation":"

An array of S3Resource objects.

" - }, - "LambdaResources":{ - "shape":"LambdaResourceList", - "documentation":"

The Python-language Lambda functions for this job.

" - }, - "Ec2AmiResources":{ - "shape":"Ec2AmiResourceList", - "documentation":"

The Amazon Machine Images (AMIs) associated with this job.

" - } - }, - "documentation":"

Contains an array of AWS resource objects. Each object represents an Amazon S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based on Amazon EC2 that is associated with a particular job.

" - }, - "JobState":{ - "type":"string", - "enum":[ - "New", - "PreparingAppliance", - "PreparingShipment", - "InTransitToCustomer", - "WithCustomer", - "InTransitToAWS", - "WithAWSSortingFacility", - "WithAWS", - "InProgress", - "Complete", - "Cancelled", - "Listing", - "Pending" - ] - }, - "JobStateList":{ - "type":"list", - "member":{"shape":"JobState"} - }, - "JobType":{ - "type":"string", - "enum":[ - "IMPORT", - "EXPORT", - "LOCAL_USE" - ] - }, - "KMSRequestFailedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob or UpdateJob action.

", - "exception":true - }, - "KeyRange":{ - "type":"structure", - "members":{ - "BeginMarker":{ - "shape":"String", - "documentation":"

The key that starts an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted.

" - }, - "EndMarker":{ - "shape":"String", - "documentation":"

The key that ends an optional key range for an export job. Ranges are inclusive and UTF-8 binary sorted.

" - } - }, - "documentation":"

Contains a key range. For export jobs, a S3Resource object can have an optional KeyRange value. The length of the range is defined at job creation, and has either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8 binary sorted.

" - }, - "KmsKeyARN":{ - "type":"string", - "max":255, - "pattern":"arn:aws.*:kms:.*:[0-9]{12}:key/.*" - }, - "LambdaResource":{ - "type":"structure", - "members":{ - "LambdaArn":{ - "shape":"ResourceARN", - "documentation":"

An Amazon Resource Name (ARN) that represents an AWS Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.

" - }, - "EventTriggers":{ - "shape":"EventTriggerDefinitionList", - "documentation":"

The array of ARNs for S3Resource objects to trigger the LambdaResource objects associated with this job.

" - } - }, - "documentation":"

Identifies

" - }, - "LambdaResourceList":{ - "type":"list", - "member":{"shape":"LambdaResource"} - }, - "ListClusterJobsRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.

" - }, - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The number of JobListEntry objects to return.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. To identify what object comes \"next\" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list.

" - } - } - }, - "ListClusterJobsResult":{ - "type":"structure", - "members":{ - "JobListEntries":{ - "shape":"JobListEntryList", - "documentation":"

Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. If you use the automatically generated NextToken value in your next ListClusterJobsResult call, your list of returned jobs will start from this point in the array.

" - } - } - }, - "ListClustersRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The number of ClusterListEntry objects to return.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. To identify what object comes \"next\" in the list of ClusterListEntry objects, you have the option of specifying NextToken as the starting point for your returned list.

" - } - } - }, - "ListClustersResult":{ - "type":"structure", - "members":{ - "ClusterListEntries":{ - "shape":"ClusterListEntryList", - "documentation":"

Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. If you use the automatically generated NextToken value in your next ClusterListEntry call, your list of returned clusters will start from this point in the array.

" - } - } - }, - "ListCompatibleImagesRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. To identify what object comes \"next\" in the list of compatible images, you can specify a value for NextToken as the starting point for your list of returned images.

" - } - } - }, - "ListCompatibleImagesResult":{ - "type":"structure", - "members":{ - "CompatibleImages":{ - "shape":"CompatibleImageList", - "documentation":"

A JSON-formatted object that describes a compatible AMI, including the ID and name for a Snowball Edge AMI.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Because HTTP requests are stateless, this is the starting point for your next list of returned images.

" - } - } - }, - "ListJobsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"ListLimit", - "documentation":"

The number of JobListEntry objects to return.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. To identify what object comes \"next\" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list.

" - } - } - }, - "ListJobsResult":{ - "type":"structure", - "members":{ - "JobListEntries":{ - "shape":"JobListEntryList", - "documentation":"

Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

HTTP requests are stateless. If you use this automatically generated NextToken value in your next ListJobs call, your returned JobListEntry objects will start from this point in the array.

" - } - } - }, - "ListLimit":{ - "type":"integer", - "max":100, - "min":0 - }, - "Long":{"type":"long"}, - "Notification":{ - "type":"structure", - "members":{ - "SnsTopicARN":{ - "shape":"SnsTopicARN", - "documentation":"

The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action.

You can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the Subscribe AWS Simple Notification Service (SNS) API action.

" - }, - "JobStatesToNotify":{ - "shape":"JobStateList", - "documentation":"

The list of job states that will trigger a notification for this job.

" - }, - "NotifyAll":{ - "shape":"Boolean", - "documentation":"

Any change in job state will trigger a notification for this job.

" - } - }, - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) notification settings associated with a specific job. The Notification object is returned as a part of the response syntax of the DescribeJob action in the JobMetadata data type.

When the notification settings are defined during job creation, you can choose to notify based on a specific set of job states using the JobStatesToNotify array of strings, or you can specify that you want to have Amazon SNS notifications sent out for all job states with NotifyAll set to true.

" - }, - "ResourceARN":{ - "type":"string", - "max":255 - }, - "RoleARN":{ - "type":"string", - "max":255, - "pattern":"arn:aws.*:iam::[0-9]{12}:role/.*" - }, - "S3Resource":{ - "type":"structure", - "members":{ - "BucketArn":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of an Amazon S3 bucket.

" - }, - "KeyRange":{ - "shape":"KeyRange", - "documentation":"

For export jobs, you can provide an optional KeyRange within a specific Amazon S3 bucket. The length of the range is defined at job creation, and has either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8 binary sorted.

" - } - }, - "documentation":"

Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into. For export jobs, this object can have an optional KeyRange value. The length of the range is defined at job creation, and has either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8 binary sorted.

" - }, - "S3ResourceList":{ - "type":"list", - "member":{"shape":"S3Resource"} - }, - "Shipment":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"String", - "documentation":"

Status information for a shipment.

" - }, - "TrackingNumber":{ - "shape":"String", - "documentation":"

The tracking number for this job. Using this tracking number with your region's carrier's website, you can track a Snowball as the carrier transports it.

For India, the carrier is Amazon Logistics. For all other regions, UPS is the carrier.

" - } - }, - "documentation":"

The Status and TrackingNumber information for an inbound or outbound shipment.

" - }, - "ShippingDetails":{ - "type":"structure", - "members":{ - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The shipping speed for a particular job. This speed doesn't dictate how soon you'll get the Snowball from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

  • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

  • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

  • In India, Snowballs are delivered in one to seven days.

  • In the United States of America (US), you have access to one-day shipping and two-day shipping.

" - }, - "InboundShipment":{ - "shape":"Shipment", - "documentation":"

The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job.

" - }, - "OutboundShipment":{ - "shape":"Shipment", - "documentation":"

The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job.

" - } - }, - "documentation":"

A job's shipping information, including inbound and outbound tracking numbers and shipping speed options.

" - }, - "ShippingOption":{ - "type":"string", - "enum":[ - "SECOND_DAY", - "NEXT_DAY", - "EXPRESS", - "STANDARD" - ] - }, - "SnowballCapacity":{ - "type":"string", - "enum":[ - "T50", - "T80", - "T100", - "NoPreference" - ] - }, - "SnowballType":{ - "type":"string", - "enum":[ - "STANDARD", - "EDGE" - ] - }, - "SnsTopicARN":{ - "type":"string", - "max":255, - "pattern":"arn:aws.*:sns:.*:[0-9]{12}:.*" - }, - "String":{ - "type":"string", - "min":1 - }, - "Timestamp":{"type":"timestamp"}, - "UnsupportedAddressException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact AWS Support.

", - "exception":true - }, - "UpdateClusterRequest":{ - "type":"structure", - "required":["ClusterId"], - "members":{ - "ClusterId":{ - "shape":"ClusterId", - "documentation":"

The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000.

" - }, - "RoleARN":{ - "shape":"RoleARN", - "documentation":"

The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in AWS Identity and Access Management (IAM).

" - }, - "Description":{ - "shape":"String", - "documentation":"

The updated description of this cluster.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The ID of the updated Address object.

" - }, - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The updated shipping option value of this cluster's ShippingDetails object.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The new or updated Notification object.

" - }, - "ForwardingAddressId":{ - "shape":"AddressId", - "documentation":"

The updated ID for the forwarding address for a cluster. This field is not supported in most regions.

" - } - } - }, - "UpdateClusterResult":{ - "type":"structure", - "members":{ - } - }, - "UpdateJobRequest":{ - "type":"structure", - "required":["JobId"], - "members":{ - "JobId":{ - "shape":"JobId", - "documentation":"

The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000.

" - }, - "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 CreateRoleAWS Identity and Access Management (IAM) API action.

" - }, - "Notification":{ - "shape":"Notification", - "documentation":"

The new or updated Notification object.

" - }, - "Resources":{ - "shape":"JobResource", - "documentation":"

The updated JobResource object, or the updated JobResource object.

" - }, - "AddressId":{ - "shape":"AddressId", - "documentation":"

The ID of the updated Address object.

" - }, - "ShippingOption":{ - "shape":"ShippingOption", - "documentation":"

The updated shipping option value of this job's ShippingDetails object.

" - }, - "Description":{ - "shape":"String", - "documentation":"

The updated description of this job's JobMetadata object.

" - }, - "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.

" - } - } - }, - "UpdateJobResult":{ - "type":"structure", - "members":{ - } - } - }, - "documentation":"

AWS Snowball is a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball device, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/paginators-1.json deleted file mode 100644 index 455e4708..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/paginators-1.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "pagination": { - "ListEndpointsByPlatformApplication": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Endpoints" - }, - "ListPlatformApplications": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "PlatformApplications" - }, - "ListSubscriptions": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Subscriptions" - }, - "ListSubscriptionsByTopic": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Subscriptions" - }, - "ListTopics": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Topics" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/service-2.json deleted file mode 100644 index 5fb59881..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sns/2010-03-31/service-2.json +++ /dev/null @@ -1,1556 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2010-03-31", - "endpointPrefix":"sns", - "protocol":"query", - "serviceAbbreviation":"Amazon SNS", - "serviceFullName":"Amazon Simple Notification Service", - "serviceId":"SNS", - "signatureVersion":"v4", - "uid":"sns-2010-03-31", - "xmlNamespace":"http://sns.amazonaws.com/doc/2010-03-31/" - }, - "operations":{ - "AddPermission":{ - "name":"AddPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddPermissionInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.

" - }, - "CheckIfPhoneNumberIsOptedOut":{ - "name":"CheckIfPhoneNumberIsOptedOut", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CheckIfPhoneNumberIsOptedOutInput"}, - "output":{ - "shape":"CheckIfPhoneNumberIsOptedOutResponse", - "resultWrapper":"CheckIfPhoneNumberIsOptedOutResult" - }, - "errors":[ - {"shape":"ThrottledException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Accepts a phone number and indicates whether the phone holder has opted out of receiving SMS messages from your account. You cannot send SMS messages to a number that is opted out.

To resume sending messages, you can opt in the number by using the OptInPhoneNumber action.

" - }, - "ConfirmSubscription":{ - "name":"ConfirmSubscription", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ConfirmSubscriptionInput"}, - "output":{ - "shape":"ConfirmSubscriptionResponse", - "resultWrapper":"ConfirmSubscriptionResult" - }, - "errors":[ - {"shape":"SubscriptionLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to \"true\".

" - }, - "CreatePlatformApplication":{ - "name":"CreatePlatformApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlatformApplicationInput"}, - "output":{ - "shape":"CreatePlatformApplicationResponse", - "resultWrapper":"CreatePlatformApplicationResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Creates a platform application object for one of the supported push notification services, such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".

For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action. For more information, see Using Amazon SNS Mobile Push Notifications. For more information about obtaining the PlatformPrincipal and PlatformCredential for each of the supported push notification services, see Getting Started with Apple Push Notification Service, Getting Started with Amazon Device Messaging, Getting Started with Baidu Cloud Push, Getting Started with Google Cloud Messaging for Android, Getting Started with MPNS, or Getting Started with WNS.

" - }, - "CreatePlatformEndpoint":{ - "name":"CreatePlatformEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePlatformEndpointInput"}, - "output":{ - "shape":"CreateEndpointResponse", - "resultWrapper":"CreatePlatformEndpointResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.

" - }, - "CreateTopic":{ - "name":"CreateTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTopicInput"}, - "output":{ - "shape":"CreateTopicResponse", - "resultWrapper":"CreateTopicResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"TopicLimitExceededException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see http://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

" - }, - "DeleteEndpoint":{ - "name":"DeleteEndpoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteEndpointInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

" - }, - "DeletePlatformApplication":{ - "name":"DeletePlatformApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePlatformApplicationInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Deletes a platform application object for one of the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" - }, - "DeleteTopic":{ - "name":"DeleteTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTopicInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.

" - }, - "GetEndpointAttributes":{ - "name":"GetEndpointAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetEndpointAttributesInput"}, - "output":{ - "shape":"GetEndpointAttributesResponse", - "resultWrapper":"GetEndpointAttributesResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" - }, - "GetPlatformApplicationAttributes":{ - "name":"GetPlatformApplicationAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPlatformApplicationAttributesInput"}, - "output":{ - "shape":"GetPlatformApplicationAttributesResponse", - "resultWrapper":"GetPlatformApplicationAttributesResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

" - }, - "GetSMSAttributes":{ - "name":"GetSMSAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSMSAttributesInput"}, - "output":{ - "shape":"GetSMSAttributesResponse", - "resultWrapper":"GetSMSAttributesResult" - }, - "errors":[ - {"shape":"ThrottledException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns the settings for sending SMS messages from your account.

These settings are set with the SetSMSAttributes action.

" - }, - "GetSubscriptionAttributes":{ - "name":"GetSubscriptionAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSubscriptionAttributesInput"}, - "output":{ - "shape":"GetSubscriptionAttributesResponse", - "resultWrapper":"GetSubscriptionAttributesResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Returns all of the properties of a subscription.

" - }, - "GetTopicAttributes":{ - "name":"GetTopicAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTopicAttributesInput"}, - "output":{ - "shape":"GetTopicAttributesResponse", - "resultWrapper":"GetTopicAttributesResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

" - }, - "ListEndpointsByPlatformApplication":{ - "name":"ListEndpointsByPlatformApplication", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListEndpointsByPlatformApplicationInput"}, - "output":{ - "shape":"ListEndpointsByPlatformApplicationResponse", - "resultWrapper":"ListEndpointsByPlatformApplicationResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 30 transactions per second (TPS).

" - }, - "ListPhoneNumbersOptedOut":{ - "name":"ListPhoneNumbersOptedOut", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPhoneNumbersOptedOutInput"}, - "output":{ - "shape":"ListPhoneNumbersOptedOutResponse", - "resultWrapper":"ListPhoneNumbersOptedOutResult" - }, - "errors":[ - {"shape":"ThrottledException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them.

The results for ListPhoneNumbersOptedOut are paginated, and each page returns up to 100 phone numbers. If additional phone numbers are available after the first page of results, then a NextToken string will be returned. To receive the next page, you call ListPhoneNumbersOptedOut again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null.

" - }, - "ListPlatformApplications":{ - "name":"ListPlatformApplications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListPlatformApplicationsInput"}, - "output":{ - "shape":"ListPlatformApplicationsResponse", - "resultWrapper":"ListPlatformApplicationsResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Lists the platform application objects for the supported push notification services, such as APNS and GCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

This action is throttled at 15 transactions per second (TPS).

" - }, - "ListSubscriptions":{ - "name":"ListSubscriptions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSubscriptionsInput"}, - "output":{ - "shape":"ListSubscriptionsResponse", - "resultWrapper":"ListSubscriptionsResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results.

This action is throttled at 30 transactions per second (TPS).

" - }, - "ListSubscriptionsByTopic":{ - "name":"ListSubscriptionsByTopic", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSubscriptionsByTopicInput"}, - "output":{ - "shape":"ListSubscriptionsByTopicResponse", - "resultWrapper":"ListSubscriptionsByTopicResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.

This action is throttled at 30 transactions per second (TPS).

" - }, - "ListTopics":{ - "name":"ListTopics", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTopicsInput"}, - "output":{ - "shape":"ListTopicsResponse", - "resultWrapper":"ListTopicsResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.

This action is throttled at 30 transactions per second (TPS).

" - }, - "OptInPhoneNumber":{ - "name":"OptInPhoneNumber", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"OptInPhoneNumberInput"}, - "output":{ - "shape":"OptInPhoneNumberResponse", - "resultWrapper":"OptInPhoneNumberResult" - }, - "errors":[ - {"shape":"ThrottledException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"InvalidParameterException"} - ], - "documentation":"

Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number.

You can opt in a phone number only once every 30 days.

" - }, - "Publish":{ - "name":"Publish", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PublishInput"}, - "output":{ - "shape":"PublishResponse", - "resultWrapper":"PublishResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InvalidParameterValueException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"EndpointDisabledException"}, - {"shape":"PlatformApplicationDisabledException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number.

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

" - }, - "RemovePermission":{ - "name":"RemovePermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemovePermissionInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Removes a statement from a topic's access control policy.

" - }, - "SetEndpointAttributes":{ - "name":"SetEndpointAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetEndpointAttributesInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

" - }, - "SetPlatformApplicationAttributes":{ - "name":"SetPlatformApplicationAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetPlatformApplicationAttributesInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

" - }, - "SetSMSAttributes":{ - "name":"SetSMSAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetSMSAttributesInput"}, - "output":{ - "shape":"SetSMSAttributesResponse", - "resultWrapper":"SetSMSAttributesResult" - }, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"ThrottledException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.

" - }, - "SetSubscriptionAttributes":{ - "name":"SetSubscriptionAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetSubscriptionAttributesInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"FilterPolicyLimitExceededException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Allows a subscription owner to set an attribute of the subscription to a new value.

" - }, - "SetTopicAttributes":{ - "name":"SetTopicAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetTopicAttributesInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Allows a topic owner to set an attribute of the topic to a new value.

" - }, - "Subscribe":{ - "name":"Subscribe", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SubscribeInput"}, - "output":{ - "shape":"SubscribeResponse", - "resultWrapper":"SubscribeResult" - }, - "errors":[ - {"shape":"SubscriptionLimitExceededException"}, - {"shape":"FilterPolicyLimitExceededException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} - ], - "documentation":"

Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

This action is throttled at 100 transactions per second (TPS).

" - }, - "Unsubscribe":{ - "name":"Unsubscribe", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UnsubscribeInput"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.

This action is throttled at 100 transactions per second (TPS).

" - } - }, - "shapes":{ - "ActionsList":{ - "type":"list", - "member":{"shape":"action"} - }, - "AddPermissionInput":{ - "type":"structure", - "required":[ - "TopicArn", - "Label", - "AWSAccountId", - "ActionName" - ], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic whose access control policy you wish to modify.

" - }, - "Label":{ - "shape":"label", - "documentation":"

A unique identifier for the new policy statement.

" - }, - "AWSAccountId":{ - "shape":"DelegatesList", - "documentation":"

The AWS account IDs of the users (principals) who will be given access to the specified actions. The users must have AWS accounts, but do not need to be signed up for this service.

" - }, - "ActionName":{ - "shape":"ActionsList", - "documentation":"

The action you want to allow for the specified principal(s).

Valid values: any Amazon SNS action name.

" - } - } - }, - "AuthorizationErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that the user has been denied access to the requested resource.

", - "error":{ - "code":"AuthorizationError", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "Binary":{"type":"blob"}, - "CheckIfPhoneNumberIsOptedOutInput":{ - "type":"structure", - "required":["phoneNumber"], - "members":{ - "phoneNumber":{ - "shape":"PhoneNumber", - "documentation":"

The phone number for which you want to check the opt out status.

" - } - }, - "documentation":"

The input for the CheckIfPhoneNumberIsOptedOut action.

" - }, - "CheckIfPhoneNumberIsOptedOutResponse":{ - "type":"structure", - "members":{ - "isOptedOut":{ - "shape":"boolean", - "documentation":"

Indicates whether the phone number is opted out:

  • true – The phone number is opted out, meaning you cannot publish SMS messages to it.

  • false – The phone number is opted in, meaning you can publish SMS messages to it.

" - } - }, - "documentation":"

The response from the CheckIfPhoneNumberIsOptedOut action.

" - }, - "ConfirmSubscriptionInput":{ - "type":"structure", - "required":[ - "TopicArn", - "Token" - ], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic for which you wish to confirm a subscription.

" - }, - "Token":{ - "shape":"token", - "documentation":"

Short-lived token sent to an endpoint during the Subscribe action.

" - }, - "AuthenticateOnUnsubscribe":{ - "shape":"authenticateOnUnsubscribe", - "documentation":"

Disallows unauthenticated unsubscribes of the subscription. If the value of this parameter is true and the request has an AWS signature, then only the topic owner and the subscription owner can unsubscribe the endpoint. The unsubscribe action requires AWS authentication.

" - } - }, - "documentation":"

Input for ConfirmSubscription action.

" - }, - "ConfirmSubscriptionResponse":{ - "type":"structure", - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The ARN of the created subscription.

" - } - }, - "documentation":"

Response for ConfirmSubscriptions action.

" - }, - "CreateEndpointResponse":{ - "type":"structure", - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

EndpointArn returned from CreateEndpoint action.

" - } - }, - "documentation":"

Response from CreateEndpoint action.

" - }, - "CreatePlatformApplicationInput":{ - "type":"structure", - "required":[ - "Name", - "Platform", - "Attributes" - ], - "members":{ - "Name":{ - "shape":"String", - "documentation":"

Application names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, hyphens, and periods, and must be between 1 and 256 characters long.

" - }, - "Platform":{ - "shape":"String", - "documentation":"

The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging).

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

For a list of attributes, see SetPlatformApplicationAttributes

" - } - }, - "documentation":"

Input for CreatePlatformApplication action.

" - }, - "CreatePlatformApplicationResponse":{ - "type":"structure", - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn is returned.

" - } - }, - "documentation":"

Response from CreatePlatformApplication action.

" - }, - "CreatePlatformEndpointInput":{ - "type":"structure", - "required":[ - "PlatformApplicationArn", - "Token" - ], - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn returned from CreatePlatformApplication is used to create a an endpoint.

" - }, - "Token":{ - "shape":"String", - "documentation":"

Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using GCM or ADM, the device token equivalent is called the registration ID.

" - }, - "CustomUserData":{ - "shape":"String", - "documentation":"

Arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

For a list of attributes, see SetEndpointAttributes.

" - } - }, - "documentation":"

Input for CreatePlatformEndpoint action.

" - }, - "CreateTopicInput":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"topicName", - "documentation":"

The name of the topic you want to create.

Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.

" - } - }, - "documentation":"

Input for CreateTopic action.

" - }, - "CreateTopicResponse":{ - "type":"structure", - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The Amazon Resource Name (ARN) assigned to the created topic.

" - } - }, - "documentation":"

Response from CreateTopic action.

" - }, - "DelegatesList":{ - "type":"list", - "member":{"shape":"delegate"} - }, - "DeleteEndpointInput":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

EndpointArn of endpoint to delete.

" - } - }, - "documentation":"

Input for DeleteEndpoint action.

" - }, - "DeletePlatformApplicationInput":{ - "type":"structure", - "required":["PlatformApplicationArn"], - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn of platform application object to delete.

" - } - }, - "documentation":"

Input for DeletePlatformApplication action.

" - }, - "DeleteTopicInput":{ - "type":"structure", - "required":["TopicArn"], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic you want to delete.

" - } - } - }, - "Endpoint":{ - "type":"structure", - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

EndpointArn for mobile app and device.

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

Attributes for endpoint.

" - } - }, - "documentation":"

Endpoint for mobile app and device.

" - }, - "EndpointDisabledException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

Message for endpoint disabled.

" - } - }, - "documentation":"

Exception error indicating endpoint disabled.

", - "error":{ - "code":"EndpointDisabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "FilterPolicyLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

", - "error":{ - "code":"FilterPolicyLimitExceeded", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "GetEndpointAttributesInput":{ - "type":"structure", - "required":["EndpointArn"], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

EndpointArn for GetEndpointAttributes input.

" - } - }, - "documentation":"

Input for GetEndpointAttributes action.

" - }, - "GetEndpointAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

Attributes include the following:

  • CustomUserData -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

  • Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

  • Token -- device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

" - } - }, - "documentation":"

Response from GetEndpointAttributes of the EndpointArn.

" - }, - "GetPlatformApplicationAttributesInput":{ - "type":"structure", - "required":["PlatformApplicationArn"], - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn for GetPlatformApplicationAttributesInput.

" - } - }, - "documentation":"

Input for GetPlatformApplicationAttributes action.

" - }, - "GetPlatformApplicationAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

Attributes include the following:

  • EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications should be sent.

  • EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications should be sent.

  • EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications should be sent.

  • EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

" - } - }, - "documentation":"

Response for GetPlatformApplicationAttributes action.

" - }, - "GetSMSAttributesInput":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"ListString", - "documentation":"

A list of the individual attribute names, such as MonthlySpendLimit, for which you want values.

For all attribute names, see SetSMSAttributes.

If you don't use this parameter, Amazon SNS returns all SMS attributes.

" - } - }, - "documentation":"

The input for the GetSMSAttributes request.

" - }, - "GetSMSAttributesResponse":{ - "type":"structure", - "members":{ - "attributes":{ - "shape":"MapStringToString", - "documentation":"

The SMS attribute names and their values.

" - } - }, - "documentation":"

The response from the GetSMSAttributes request.

" - }, - "GetSubscriptionAttributesInput":{ - "type":"structure", - "required":["SubscriptionArn"], - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The ARN of the subscription whose properties you want to get.

" - } - }, - "documentation":"

Input for GetSubscriptionAttributes.

" - }, - "GetSubscriptionAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"SubscriptionAttributesMap", - "documentation":"

A map of the subscription's attributes. Attributes in this map include the following:

  • ConfirmationWasAuthenticated -- true if the subscription confirmation request was authenticated.

  • DeliveryPolicy -- The JSON serialization of the subscription's delivery policy.

  • EffectiveDeliveryPolicy -- The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

  • FilterPolicy -- The filter policy JSON that is assigned to the subscription.

  • Owner -- The AWS account ID of the subscription's owner.

  • PendingConfirmation -- true if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

  • RawMessageDelivery -- true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

  • SubscriptionArn -- The subscription's ARN.

  • TopicArn -- The topic ARN that the subscription is associated with.

" - } - }, - "documentation":"

Response for GetSubscriptionAttributes action.

" - }, - "GetTopicAttributesInput":{ - "type":"structure", - "required":["TopicArn"], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic whose properties you want to get.

" - } - }, - "documentation":"

Input for GetTopicAttributes action.

" - }, - "GetTopicAttributesResponse":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"TopicAttributesMap", - "documentation":"

A map of the topic's attributes. Attributes in this map include the following:

  • TopicArn -- the topic's ARN

  • Owner -- the AWS account ID of the topic's owner

  • Policy -- the JSON serialization of the topic's access control policy

  • DisplayName -- the human-readable name used in the \"From\" field for notifications to email and email-json endpoints

  • SubscriptionsPending -- the number of subscriptions pending confirmation on this topic

  • SubscriptionsConfirmed -- the number of confirmed subscriptions on this topic

  • SubscriptionsDeleted -- the number of deleted subscriptions on this topic

  • DeliveryPolicy -- the JSON serialization of the topic's delivery policy

  • EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery policy that takes into account system defaults

" - } - }, - "documentation":"

Response for GetTopicAttributes action.

" - }, - "InternalErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates an internal service error.

", - "error":{ - "code":"InternalError", - "httpStatusCode":500 - }, - "exception":true, - "fault":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that a request parameter does not comply with the associated constraints.

", - "error":{ - "code":"InvalidParameter", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidParameterValueException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

The parameter value is invalid.

" - } - }, - "documentation":"

Indicates that a request parameter does not comply with the associated constraints.

", - "error":{ - "code":"ParameterValueInvalid", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "ListEndpointsByPlatformApplicationInput":{ - "type":"structure", - "required":["PlatformApplicationArn"], - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken string is used when calling ListEndpointsByPlatformApplication action to retrieve additional records that are available after the first page results.

" - } - }, - "documentation":"

Input for ListEndpointsByPlatformApplication action.

" - }, - "ListEndpointsByPlatformApplicationResponse":{ - "type":"structure", - "members":{ - "Endpoints":{ - "shape":"ListOfEndpoints", - "documentation":"

Endpoints returned for ListEndpointsByPlatformApplication action.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken string is returned when calling ListEndpointsByPlatformApplication action if additional records are available after the first page results.

" - } - }, - "documentation":"

Response for ListEndpointsByPlatformApplication action.

" - }, - "ListOfEndpoints":{ - "type":"list", - "member":{"shape":"Endpoint"} - }, - "ListOfPlatformApplications":{ - "type":"list", - "member":{"shape":"PlatformApplication"} - }, - "ListPhoneNumbersOptedOutInput":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"string", - "documentation":"

A NextToken string is used when you call the ListPhoneNumbersOptedOut action to retrieve additional records that are available after the first page of results.

" - } - }, - "documentation":"

The input for the ListPhoneNumbersOptedOut action.

" - }, - "ListPhoneNumbersOptedOutResponse":{ - "type":"structure", - "members":{ - "phoneNumbers":{ - "shape":"PhoneNumberList", - "documentation":"

A list of phone numbers that are opted out of receiving SMS messages. The list is paginated, and each page can contain up to 100 phone numbers.

" - }, - "nextToken":{ - "shape":"string", - "documentation":"

A NextToken string is returned when you call the ListPhoneNumbersOptedOut action if additional records are available after the first page of results.

" - } - }, - "documentation":"

The response from the ListPhoneNumbersOptedOut action.

" - }, - "ListPlatformApplicationsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

NextToken string is used when calling ListPlatformApplications action to retrieve additional records that are available after the first page results.

" - } - }, - "documentation":"

Input for ListPlatformApplications action.

" - }, - "ListPlatformApplicationsResponse":{ - "type":"structure", - "members":{ - "PlatformApplications":{ - "shape":"ListOfPlatformApplications", - "documentation":"

Platform applications returned when calling ListPlatformApplications action.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

NextToken string is returned when calling ListPlatformApplications action if additional records are available after the first page results.

" - } - }, - "documentation":"

Response for ListPlatformApplications action.

" - }, - "ListString":{ - "type":"list", - "member":{"shape":"String"} - }, - "ListSubscriptionsByTopicInput":{ - "type":"structure", - "required":["TopicArn"], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic for which you wish to find subscriptions.

" - }, - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token returned by the previous ListSubscriptionsByTopic request.

" - } - }, - "documentation":"

Input for ListSubscriptionsByTopic action.

" - }, - "ListSubscriptionsByTopicResponse":{ - "type":"structure", - "members":{ - "Subscriptions":{ - "shape":"SubscriptionsList", - "documentation":"

A list of subscriptions.

" - }, - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token to pass along to the next ListSubscriptionsByTopic request. This element is returned if there are more subscriptions to retrieve.

" - } - }, - "documentation":"

Response for ListSubscriptionsByTopic action.

" - }, - "ListSubscriptionsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token returned by the previous ListSubscriptions request.

" - } - }, - "documentation":"

Input for ListSubscriptions action.

" - }, - "ListSubscriptionsResponse":{ - "type":"structure", - "members":{ - "Subscriptions":{ - "shape":"SubscriptionsList", - "documentation":"

A list of subscriptions.

" - }, - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token to pass along to the next ListSubscriptions request. This element is returned if there are more subscriptions to retrieve.

" - } - }, - "documentation":"

Response for ListSubscriptions action

" - }, - "ListTopicsInput":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token returned by the previous ListTopics request.

" - } - } - }, - "ListTopicsResponse":{ - "type":"structure", - "members":{ - "Topics":{ - "shape":"TopicsList", - "documentation":"

A list of topic ARNs.

" - }, - "NextToken":{ - "shape":"nextToken", - "documentation":"

Token to pass along to the next ListTopics request. This element is returned if there are additional topics to retrieve.

" - } - }, - "documentation":"

Response for ListTopics action.

" - }, - "MapStringToString":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "MessageAttributeMap":{ - "type":"map", - "key":{ - "shape":"String", - "locationName":"Name" - }, - "value":{ - "shape":"MessageAttributeValue", - "locationName":"Value" - } - }, - "MessageAttributeValue":{ - "type":"structure", - "required":["DataType"], - "members":{ - "DataType":{ - "shape":"String", - "documentation":"

Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.

" - }, - "StringValue":{ - "shape":"String", - "documentation":"

Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

" - }, - "BinaryValue":{ - "shape":"Binary", - "documentation":"

Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.

" - } - }, - "documentation":"

The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

" - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that the requested resource does not exist.

", - "error":{ - "code":"NotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "OptInPhoneNumberInput":{ - "type":"structure", - "required":["phoneNumber"], - "members":{ - "phoneNumber":{ - "shape":"PhoneNumber", - "documentation":"

The phone number to opt in.

" - } - }, - "documentation":"

Input for the OptInPhoneNumber action.

" - }, - "OptInPhoneNumberResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response for the OptInPhoneNumber action.

" - }, - "PhoneNumber":{"type":"string"}, - "PhoneNumberList":{ - "type":"list", - "member":{"shape":"PhoneNumber"} - }, - "PlatformApplication":{ - "type":"structure", - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn for platform application object.

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

Attributes for platform application object.

" - } - }, - "documentation":"

Platform application object.

" - }, - "PlatformApplicationDisabledException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

Message for platform application disabled.

" - } - }, - "documentation":"

Exception error indicating platform application disabled.

", - "error":{ - "code":"PlatformApplicationDisabled", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "PublishInput":{ - "type":"structure", - "required":["Message"], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The topic you want to publish to.

If you don't specify a value for the TopicArn parameter, you must specify a value for the PhoneNumber or TargetArn parameters.

" - }, - "TargetArn":{ - "shape":"String", - "documentation":"

Either TopicArn or EndpointArn, but not both.

If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

" - }, - "PhoneNumber":{ - "shape":"String", - "documentation":"

The phone number to which you want to deliver an SMS message. Use E.164 format.

If you don't specify a value for the PhoneNumber parameter, you must specify a value for the TargetArn or TopicArn parameters.

" - }, - "Message":{ - "shape":"message", - "documentation":"

The message you want to send.

If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

Constraints:

  • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262144 bytes, not 262144 characters).

  • For SMS, each message can contain up to 140 bytes, and the character limit depends on the encoding scheme. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters. If you publish a message that exceeds the size limit, Amazon SNS sends it as multiple messages, each fitting within the size limit. Messages are not cut off in the middle of a word but on whole-word boundaries. The total size limit for a single SMS publish action is 1600 bytes.

JSON-specific constraints:

  • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.

  • The values will be parsed (unescaped) before they are used in outgoing messages.

  • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).

  • Values have a minimum length of 0 (the empty string, \"\", is allowed).

  • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).

  • Non-string values will cause the key to be ignored.

  • Keys that do not correspond to supported transport protocols are ignored.

  • Duplicate keys are not allowed.

  • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).

" - }, - "Subject":{ - "shape":"subject", - "documentation":"

Optional parameter to be used as the \"Subject\" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.

" - }, - "MessageStructure":{ - "shape":"messageStructure", - "documentation":"

Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

  • be a syntactically valid JSON object; and

  • contain at least a top-level JSON key of \"default\" with a value that is a string.

You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

For information about sending different messages for each protocol using the AWS Management Console, go to Create Different Messages for Each Protocol in the Amazon Simple Notification Service Getting Started Guide.

Valid value: json

" - }, - "MessageAttributes":{ - "shape":"MessageAttributeMap", - "documentation":"

Message attributes for Publish action.

" - } - }, - "documentation":"

Input for Publish action.

" - }, - "PublishResponse":{ - "type":"structure", - "members":{ - "MessageId":{ - "shape":"messageId", - "documentation":"

Unique identifier assigned to the published message.

Length Constraint: Maximum 100 characters

" - } - }, - "documentation":"

Response for Publish action.

" - }, - "RemovePermissionInput":{ - "type":"structure", - "required":[ - "TopicArn", - "Label" - ], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic whose access control policy you wish to modify.

" - }, - "Label":{ - "shape":"label", - "documentation":"

The unique label of the statement you want to remove.

" - } - }, - "documentation":"

Input for RemovePermission action.

" - }, - "SetEndpointAttributesInput":{ - "type":"structure", - "required":[ - "EndpointArn", - "Attributes" - ], - "members":{ - "EndpointArn":{ - "shape":"String", - "documentation":"

EndpointArn used for SetEndpointAttributes action.

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

A map of the endpoint attributes. Attributes in this map include the following:

  • CustomUserData -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

  • Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

  • Token -- device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

" - } - }, - "documentation":"

Input for SetEndpointAttributes action.

" - }, - "SetPlatformApplicationAttributesInput":{ - "type":"structure", - "required":[ - "PlatformApplicationArn", - "Attributes" - ], - "members":{ - "PlatformApplicationArn":{ - "shape":"String", - "documentation":"

PlatformApplicationArn for SetPlatformApplicationAttributes action.

" - }, - "Attributes":{ - "shape":"MapStringToString", - "documentation":"

A map of the platform application attributes. Attributes in this map include the following:

  • PlatformCredential -- The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\".

  • PlatformPrincipal -- The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\".

  • EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications should be sent.

  • EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications should be sent.

  • EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications should be sent.

  • EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

  • SuccessFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

  • FailureFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

  • SuccessFeedbackSampleRate -- Sample rate percentage (0-100) of successfully delivered messages.

" - } - }, - "documentation":"

Input for SetPlatformApplicationAttributes action.

" - }, - "SetSMSAttributesInput":{ - "type":"structure", - "required":["attributes"], - "members":{ - "attributes":{ - "shape":"MapStringToString", - "documentation":"

The default settings for sending SMS messages from your account. You can set values for the following attribute names:

MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.

DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

  • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

  • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

  • Time that the message was published (in UTC)

  • Message ID

  • Destination phone number

  • Message type

  • Delivery status

  • Message price (in USD)

  • Part number (a message is split into multiple parts if it is too long for a single message)

  • Total number of parts

To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

" - } - }, - "documentation":"

The input for the SetSMSAttributes action.

" - }, - "SetSMSAttributesResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The response for the SetSMSAttributes action.

" - }, - "SetSubscriptionAttributesInput":{ - "type":"structure", - "required":[ - "SubscriptionArn", - "AttributeName" - ], - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The ARN of the subscription to modify.

" - }, - "AttributeName":{ - "shape":"attributeName", - "documentation":"

The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.

Valid values: DeliveryPolicy | FilterPolicy | RawMessageDelivery

" - }, - "AttributeValue":{ - "shape":"attributeValue", - "documentation":"

The new value for the attribute in JSON format.

" - } - }, - "documentation":"

Input for SetSubscriptionAttributes action.

" - }, - "SetTopicAttributesInput":{ - "type":"structure", - "required":[ - "TopicArn", - "AttributeName" - ], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic to modify.

" - }, - "AttributeName":{ - "shape":"attributeName", - "documentation":"

The name of the attribute you want to set. Only a subset of the topic's attributes are mutable.

Valid values: Policy | DisplayName | DeliveryPolicy

" - }, - "AttributeValue":{ - "shape":"attributeValue", - "documentation":"

The new value for the attribute.

" - } - }, - "documentation":"

Input for SetTopicAttributes action.

" - }, - "String":{"type":"string"}, - "SubscribeInput":{ - "type":"structure", - "required":[ - "TopicArn", - "Protocol" - ], - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the topic you want to subscribe to.

" - }, - "Protocol":{ - "shape":"protocol", - "documentation":"

The protocol you want to use. Supported protocols include:

  • http -- delivery of JSON-encoded message via HTTP POST

  • https -- delivery of JSON-encoded message via HTTPS POST

  • email -- delivery of message via SMTP

  • email-json -- delivery of JSON-encoded message via SMTP

  • sms -- delivery of message via SMS

  • sqs -- delivery of JSON-encoded message to an Amazon SQS queue

  • application -- delivery of JSON-encoded message to an EndpointArn for a mobile app and device.

  • lambda -- delivery of JSON-encoded message to an AWS Lambda function.

" - }, - "Endpoint":{ - "shape":"endpoint", - "documentation":"

The endpoint that you want to receive notifications. Endpoints vary by protocol:

  • For the http protocol, the endpoint is an URL beginning with \"http://\"

  • For the https protocol, the endpoint is a URL beginning with \"https://\"

  • For the email protocol, the endpoint is an email address

  • For the email-json protocol, the endpoint is an email address

  • For the sms protocol, the endpoint is a phone number of an SMS-enabled device

  • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue

  • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.

  • For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.

" - }, - "Attributes":{ - "shape":"SubscriptionAttributesMap", - "documentation":"

Assigns attributes to the subscription as a map of key-value pairs. You can assign any attribute that is supported by the SetSubscriptionAttributes action.

" - }, - "ReturnSubscriptionArn":{ - "shape":"boolean", - "documentation":"

Sets whether the response from the Subscribe request includes the subscription ARN, even if the subscription is not yet confirmed.

If you set this parameter to false, the response includes the ARN for confirmed subscriptions, but it includes an ARN value of \"pending subscription\" for subscriptions that are not yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a confirmation token.

If you set this parameter to true, the response includes the ARN in all cases, even if the subscription is not yet confirmed.

The default value is false.

" - } - }, - "documentation":"

Input for Subscribe action.

" - }, - "SubscribeResponse":{ - "type":"structure", - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The ARN of the subscription if it is confirmed, or the string \"pending confirmation\" if the subscription requires confirmation. However, if the API request parameter ReturnSubscriptionArn is true, then the value is always the subscription ARN, even if the subscription requires confirmation.

" - } - }, - "documentation":"

Response for Subscribe action.

" - }, - "Subscription":{ - "type":"structure", - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The subscription's ARN.

" - }, - "Owner":{ - "shape":"account", - "documentation":"

The subscription's owner.

" - }, - "Protocol":{ - "shape":"protocol", - "documentation":"

The subscription's protocol.

" - }, - "Endpoint":{ - "shape":"endpoint", - "documentation":"

The subscription's endpoint (format depends on the protocol).

" - }, - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The ARN of the subscription's topic.

" - } - }, - "documentation":"

A wrapper type for the attributes of an Amazon SNS subscription.

" - }, - "SubscriptionAttributesMap":{ - "type":"map", - "key":{"shape":"attributeName"}, - "value":{"shape":"attributeValue"} - }, - "SubscriptionLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that the customer already owns the maximum allowed number of subscriptions.

", - "error":{ - "code":"SubscriptionLimitExceeded", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "SubscriptionsList":{ - "type":"list", - "member":{"shape":"Subscription"} - }, - "ThrottledException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

Throttled request.

" - } - }, - "documentation":"

Indicates that the rate at which requests have been submitted for this action exceeds the limit for your account.

", - "error":{ - "code":"Throttled", - "httpStatusCode":429, - "senderFault":true - }, - "exception":true - }, - "Topic":{ - "type":"structure", - "members":{ - "TopicArn":{ - "shape":"topicARN", - "documentation":"

The topic's ARN.

" - } - }, - "documentation":"

A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a topic's attributes, use GetTopicAttributes.

" - }, - "TopicAttributesMap":{ - "type":"map", - "key":{"shape":"attributeName"}, - "value":{"shape":"attributeValue"} - }, - "TopicLimitExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"string"} - }, - "documentation":"

Indicates that the customer already owns the maximum allowed number of topics.

", - "error":{ - "code":"TopicLimitExceeded", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "TopicsList":{ - "type":"list", - "member":{"shape":"Topic"} - }, - "UnsubscribeInput":{ - "type":"structure", - "required":["SubscriptionArn"], - "members":{ - "SubscriptionArn":{ - "shape":"subscriptionARN", - "documentation":"

The ARN of the subscription to be deleted.

" - } - }, - "documentation":"

Input for Unsubscribe action.

" - }, - "account":{"type":"string"}, - "action":{"type":"string"}, - "attributeName":{"type":"string"}, - "attributeValue":{"type":"string"}, - "authenticateOnUnsubscribe":{"type":"string"}, - "boolean":{"type":"boolean"}, - "delegate":{"type":"string"}, - "endpoint":{"type":"string"}, - "label":{"type":"string"}, - "message":{"type":"string"}, - "messageId":{"type":"string"}, - "messageStructure":{"type":"string"}, - "nextToken":{"type":"string"}, - "protocol":{"type":"string"}, - "string":{"type":"string"}, - "subject":{"type":"string"}, - "subscriptionARN":{"type":"string"}, - "token":{"type":"string"}, - "topicARN":{"type":"string"}, - "topicName":{"type":"string"} - }, - "documentation":"Amazon Simple Notification Service

Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see http://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/examples-1.json deleted file mode 100644 index 9dc8ac74..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/examples-1.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "version": "1.0", - "examples": { - "CreateQueue": [ - { - "input": { - "QueueName": "MyQueue" - }, - "output": { - "QueueUrl": "https://queue.amazonaws.com/012345678910/MyQueue" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates an SQS queue named MyQueue.", - "id": "create-an-sqs-queue-1445915686197", - "title": "Create an SQS queue" - } - ], - "GetQueueUrl": [ - { - "input": { - "QueueName": "MyQueue", - "QueueOwnerAWSAccountId": "12345678910" - }, - "output": { - "QueueUrl": "https://queue.amazonaws.com/123456789101112/MyQueue" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following example retrieves the queue ARN.", - "id": "retrieve-queue-attributes-from-an-sqs-queue-1445915930574", - "title": "Retrieve queue attributes from an SQS queue" - } - ] - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/service-2.json deleted file mode 100644 index 2301a77a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sqs/2012-11-05/service-2.json +++ /dev/null @@ -1,1424 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-11-05", - "endpointPrefix":"sqs", - "protocol":"query", - "serviceAbbreviation":"Amazon SQS", - "serviceFullName":"Amazon Simple Queue Service", - "serviceId":"SQS", - "signatureVersion":"v4", - "uid":"sqs-2012-11-05", - "xmlNamespace":"http://queue.amazonaws.com/doc/2012-11-05/" - }, - "operations":{ - "AddPermission":{ - "name":"AddPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddPermissionRequest"}, - "errors":[ - {"shape":"OverLimit"} - ], - "documentation":"

Adds a permission to a queue for a specific principal. This allows sharing access to the queue.

When you create a queue, you have full control access rights for the queue. Only you, the owner of the queue, can grant or deny permissions to the queue. For more information about these permissions, see Shared Queues in the Amazon Simple Queue Service Developer Guide.

AddPermission writes an Amazon-SQS-generated policy. If you want to write your own policy, use SetQueueAttributes to upload your policy. For more information about writing your own policy, see Using The Access Policy Language in the Amazon Simple Queue Service Developer Guide.

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

" - }, - "ChangeMessageVisibility":{ - "name":"ChangeMessageVisibility", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ChangeMessageVisibilityRequest"}, - "errors":[ - {"shape":"MessageNotInflight"}, - {"shape":"ReceiptHandleIsInvalid"} - ], - "documentation":"

Changes the visibility timeout of a specified message in a queue to a new value. The maximum allowed timeout value is 12 hours. Thus, you can't extend the timeout of a message in an existing queue to more than a total visibility timeout of 12 hours. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

For example, you have a message with a visibility timeout of 5 minutes. After 3 minutes, you call ChangeMessageVisiblity with a timeout of 10 minutes. At that time, the timeout for the message is extended by 10 minutes beyond the time of the ChangeMessageVisibility action. This results in a total visibility timeout of 13 minutes. You can continue to call the ChangeMessageVisibility to extend the visibility timeout to a maximum of 12 hours. If you try to extend the visibility timeout beyond 12 hours, your request is rejected.

A message is considered to be in flight after it's received from a queue by a consumer, but not yet deleted from the queue.

For standard queues, there can be a maximum of 120,000 inflight messages per queue. If you reach this limit, Amazon SQS returns the OverLimit error message. To avoid reaching the limit, you should delete messages from the queue after they're processed. You can also increase the number of queues you use to process your messages.

For FIFO queues, there can be a maximum of 20,000 inflight messages per queue. If you reach this limit, Amazon SQS returns no error messages.

If you attempt to set the VisibilityTimeout to a value greater than the maximum time left, Amazon SQS returns an error. Amazon SQS doesn't automatically recalculate and increase the timeout to the maximum remaining time.

Unlike with a queue, when you change the visibility timeout for a specific message the timeout value is applied immediately but isn't saved in memory for that message. If you don't delete a message after it is received, the visibility timeout for the message reverts to the original timeout value (not to the value you set using the ChangeMessageVisibility action) the next time the message is received.

" - }, - "ChangeMessageVisibilityBatch":{ - "name":"ChangeMessageVisibilityBatch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ChangeMessageVisibilityBatchRequest"}, - "output":{ - "shape":"ChangeMessageVisibilityBatchResult", - "resultWrapper":"ChangeMessageVisibilityBatchResult" - }, - "errors":[ - {"shape":"TooManyEntriesInBatchRequest"}, - {"shape":"EmptyBatchRequest"}, - {"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

" - }, - "CreateQueue":{ - "name":"CreateQueue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateQueueRequest"}, - "output":{ - "shape":"CreateQueueResult", - "resultWrapper":"CreateQueueResult" - }, - "errors":[ - {"shape":"QueueDeletedRecently"}, - {"shape":"QueueNameExists"} - ], - "documentation":"

Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following caveats in mind:

  • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

    You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon Simple Queue Service Developer Guide.

  • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

  • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names:

  • If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.

  • If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&Attribute.1=this

&Attribute.2=that

" - }, - "DeleteMessage":{ - "name":"DeleteMessage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMessageRequest"}, - "errors":[ - {"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 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMessageBatchRequest"}, - "output":{ - "shape":"DeleteMessageBatchResult", - "resultWrapper":"DeleteMessageBatchResult" - }, - "errors":[ - {"shape":"TooManyEntriesInBatchRequest"}, - {"shape":"EmptyBatchRequest"}, - {"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

" - }, - "DeleteQueue":{ - "name":"DeleteQueue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteQueueRequest"}, - "documentation":"

Deletes the queue specified by the QueueUrl, regardless of the queue's contents. If the specified queue doesn't exist, Amazon SQS returns a successful response.

Be careful with the DeleteQueue action: When you delete a queue, any messages in the queue are no longer available.

When you delete a queue, the deletion process takes up to 60 seconds. Requests you send involving that queue during the 60 seconds might succeed. For example, a SendMessage request might succeed, but after 60 seconds the queue and the message you sent no longer exist.

When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

" - }, - "GetQueueAttributes":{ - "name":"GetQueueAttributes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetQueueAttributesRequest"}, - "output":{ - "shape":"GetQueueAttributesResult", - "resultWrapper":"GetQueueAttributesResult" - }, - "errors":[ - {"shape":"InvalidAttributeName"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetQueueUrlRequest"}, - "output":{ - "shape":"GetQueueUrlResult", - "resultWrapper":"GetQueueUrlResult" - }, - "errors":[ - {"shape":"QueueDoesNotExist"} - ], - "documentation":"

Returns the URL of an existing queue. This action provides a simple way to retrieve the URL of an Amazon SQS queue.

To access a queue that belongs to another AWS account, use the QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner. The queue's owner must grant you permission to access the queue. For more information about shared queue access, see AddPermission or see Shared Queues in the Amazon Simple Queue Service Developer Guide.

" - }, - "ListDeadLetterSourceQueues":{ - "name":"ListDeadLetterSourceQueues", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDeadLetterSourceQueuesRequest"}, - "output":{ - "shape":"ListDeadLetterSourceQueuesResult", - "resultWrapper":"ListDeadLetterSourceQueuesResult" - }, - "errors":[ - {"shape":"QueueDoesNotExist"} - ], - "documentation":"

Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue.

For more information about using dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

" - }, - "ListQueueTags":{ - "name":"ListQueueTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListQueueTagsRequest"}, - "output":{ - "shape":"ListQueueTagsResult", - "resultWrapper":"ListQueueTagsResult" - }, - "documentation":"

List all cost allocation tags added to the specified Amazon SQS queue. For an overview, see Tagging Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

When you use queue tags, keep the following guidelines in mind:

  • Adding more than 50 tags to a queue isn't recommended.

  • Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

  • Tags are case-sensitive.

  • A new tag with a key identical to that of an existing tag overwrites the existing tag.

  • Tagging API actions are limited to 5 TPS per AWS account. If your application requires a higher throughput, file a technical support request.

For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

" - }, - "ListQueues":{ - "name":"ListQueues", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListQueuesRequest"}, - "output":{ - "shape":"ListQueuesResult", - "resultWrapper":"ListQueuesResult" - }, - "documentation":"

Returns a list of your queues. The maximum number of queues that can be returned is 1,000. If you specify a value for the optional QueueNamePrefix parameter, only queues with a name that begins with the specified value are returned.

" - }, - "PurgeQueue":{ - "name":"PurgeQueue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PurgeQueueRequest"}, - "errors":[ - {"shape":"QueueDoesNotExist"}, - {"shape":"PurgeQueueInProgress"} - ], - "documentation":"

Deletes the messages in a queue specified by the QueueURL parameter.

When you use the PurgeQueue action, you can't retrieve a message deleted from a queue.

When you purge a queue, the message deletion process takes up to 60 seconds. All messages sent to the queue before calling the PurgeQueue action are deleted. Messages sent to the queue while it is being purged might be deleted. While the queue is being purged, messages sent to the queue before PurgeQueue is called might be received, but are deleted within the next minute.

" - }, - "ReceiveMessage":{ - "name":"ReceiveMessage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ReceiveMessageRequest"}, - "output":{ - "shape":"ReceiveMessageResult", - "resultWrapper":"ReceiveMessageResult" - }, - "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 Simple Queue Service Developer Guide.

Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request.

For each message returned, the response includes the following:

  • The message body.

  • An MD5 digest of the message body. For information about MD5, see RFC1321.

  • The MessageId you received when you sent the message to the queue.

  • The receipt handle.

  • The message attributes.

  • An MD5 digest of the message attributes.

The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon Simple Queue Service Developer Guide.

You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead-letter queue.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

" - }, - "RemovePermission":{ - "name":"RemovePermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemovePermissionRequest"}, - "documentation":"

Revokes any permissions in the queue policy that matches the specified Label parameter. Only the owner of the queue can remove permissions.

" - }, - "SendMessage":{ - "name":"SendMessage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendMessageRequest"}, - "output":{ - "shape":"SendMessageResult", - "resultWrapper":"SendMessageResult" - }, - "errors":[ - {"shape":"InvalidMessageContents"}, - {"shape":"UnsupportedOperation"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendMessageBatchRequest"}, - "output":{ - "shape":"SendMessageBatchResult", - "resultWrapper":"SendMessageBatchResult" - }, - "errors":[ - {"shape":"TooManyEntriesInBatchRequest"}, - {"shape":"EmptyBatchRequest"}, - {"shape":"BatchEntryIdsNotDistinct"}, - {"shape":"BatchRequestTooLong"}, - {"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).

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetQueueAttributesRequest"}, - "errors":[ - {"shape":"InvalidAttributeName"} - ], - "documentation":"

Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the Amazon SQS system. Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes.

In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

" - }, - "TagQueue":{ - "name":"TagQueue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TagQueueRequest"}, - "documentation":"

Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

When you use queue tags, keep the following guidelines in mind:

  • Adding more than 50 tags to a queue isn't recommended.

  • Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

  • Tags are case-sensitive.

  • A new tag with a key identical to that of an existing tag overwrites the existing tag.

  • Tagging API actions are limited to 5 TPS per AWS account. If your application requires a higher throughput, file a technical support request.

For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

" - }, - "UntagQueue":{ - "name":"UntagQueue", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UntagQueueRequest"}, - "documentation":"

Remove cost allocation tags from the specified Amazon SQS queue. For an overview, see Tagging Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

When you use queue tags, keep the following guidelines in mind:

  • Adding more than 50 tags to a queue isn't recommended.

  • Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

  • Tags are case-sensitive.

  • A new tag with a key identical to that of an existing tag overwrites the existing tag.

  • Tagging API actions are limited to 5 TPS per AWS account. If your application requires a higher throughput, file a technical support request.

For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

" - } - }, - "shapes":{ - "AWSAccountIdList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"AWSAccountId" - }, - "flattened":true - }, - "ActionNameList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"ActionName" - }, - "flattened":true - }, - "AddPermissionRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Label", - "AWSAccountIds", - "Actions" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue to which permissions are added.

Queue URLs are case-sensitive.

" - }, - "Label":{ - "shape":"String", - "documentation":"

The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

" - }, - "AWSAccountIds":{ - "shape":"AWSAccountIdList", - "documentation":"

The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

" - }, - "Actions":{ - "shape":"ActionNameList", - "documentation":"

The action the client wants to allow for the specified principal. The following values are valid:

  • *

  • ChangeMessageVisibility

  • DeleteMessage

  • GetQueueAttributes

  • GetQueueUrl

  • ReceiveMessage

  • SendMessage

For more information about these actions, see Understanding Permissions in the Amazon Simple Queue Service Developer Guide.

Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch.

" - } - }, - "documentation":"

" - }, - "AttributeNameList":{ - "type":"list", - "member":{ - "shape":"QueueAttributeName", - "locationName":"AttributeName" - }, - "flattened":true - }, - "BatchEntryIdsNotDistinct":{ - "type":"structure", - "members":{ - }, - "documentation":"

Two or more batch entries in the request have the same Id.

", - "error":{ - "code":"AWS.SimpleQueueService.BatchEntryIdsNotDistinct", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "BatchRequestTooLong":{ - "type":"structure", - "members":{ - }, - "documentation":"

The length of all the messages put together is more than the limit.

", - "error":{ - "code":"AWS.SimpleQueueService.BatchRequestTooLong", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "BatchResultErrorEntry":{ - "type":"structure", - "required":[ - "Id", - "SenderFault", - "Code" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The Id of an entry in a batch request.

" - }, - "SenderFault":{ - "shape":"Boolean", - "documentation":"

Specifies whether the error happened due to the sender's fault.

" - }, - "Code":{ - "shape":"String", - "documentation":"

An error code representing why the action failed on this entry.

" - }, - "Message":{ - "shape":"String", - "documentation":"

A message explaining why the action failed on this entry.

" - } - }, - "documentation":"

This is used in the responses of batch API to give a detailed description of the result of an action on each entry in the request.

" - }, - "BatchResultErrorEntryList":{ - "type":"list", - "member":{ - "shape":"BatchResultErrorEntry", - "locationName":"BatchResultErrorEntry" - }, - "flattened":true - }, - "Binary":{"type":"blob"}, - "BinaryList":{ - "type":"list", - "member":{ - "shape":"Binary", - "locationName":"BinaryListValue" - } - }, - "Boolean":{"type":"boolean"}, - "ChangeMessageVisibilityBatchRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Entries" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue whose messages' visibility is changed.

Queue URLs are case-sensitive.

" - }, - "Entries":{ - "shape":"ChangeMessageVisibilityBatchRequestEntryList", - "documentation":"

A list of receipt handles of the messages for which the visibility timeout must be changed.

" - } - }, - "documentation":"

" - }, - "ChangeMessageVisibilityBatchRequestEntry":{ - "type":"structure", - "required":[ - "Id", - "ReceiptHandle" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

An identifier for this particular receipt handle used to communicate the result.

The Ids of a batch request need to be unique within a request

" - }, - "ReceiptHandle":{ - "shape":"String", - "documentation":"

A receipt handle.

" - }, - "VisibilityTimeout":{ - "shape":"Integer", - "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

" - }, - "ChangeMessageVisibilityBatchRequestEntryList":{ - "type":"list", - "member":{ - "shape":"ChangeMessageVisibilityBatchRequestEntry", - "locationName":"ChangeMessageVisibilityBatchRequestEntry" - }, - "flattened":true - }, - "ChangeMessageVisibilityBatchResult":{ - "type":"structure", - "required":[ - "Successful", - "Failed" - ], - "members":{ - "Successful":{ - "shape":"ChangeMessageVisibilityBatchResultEntryList", - "documentation":"

A list of ChangeMessageVisibilityBatchResultEntry items.

" - }, - "Failed":{ - "shape":"BatchResultErrorEntryList", - "documentation":"

A list of BatchResultErrorEntry items.

" - } - }, - "documentation":"

For each message in the batch, the response contains a ChangeMessageVisibilityBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

" - }, - "ChangeMessageVisibilityBatchResultEntry":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

Represents a message whose visibility timeout has been changed successfully.

" - } - }, - "documentation":"

Encloses the Id of an entry in ChangeMessageVisibilityBatch.

" - }, - "ChangeMessageVisibilityBatchResultEntryList":{ - "type":"list", - "member":{ - "shape":"ChangeMessageVisibilityBatchResultEntry", - "locationName":"ChangeMessageVisibilityBatchResultEntry" - }, - "flattened":true - }, - "ChangeMessageVisibilityRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "ReceiptHandle", - "VisibilityTimeout" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue whose message's visibility is changed.

Queue URLs are case-sensitive.

" - }, - "ReceiptHandle":{ - "shape":"String", - "documentation":"

The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the ReceiveMessage action.

" - }, - "VisibilityTimeout":{ - "shape":"Integer", - "documentation":"

The new value for the message's visibility timeout (in seconds). Values values: 0 to 43200. Maximum: 12 hours.

" - } - } - }, - "CreateQueueRequest":{ - "type":"structure", - "required":["QueueName"], - "members":{ - "QueueName":{ - "shape":"String", - "documentation":"

The name of the new queue. The following limits apply to this name:

  • A queue name can have up to 80 characters.

  • Valid values: alphanumeric characters, hyphens (-), and underscores (_).

  • A FIFO queue name must end with the .fifo suffix.

Queue names are case-sensitive.

" - }, - "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 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 string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

    • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

    • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue.

    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 Simple Queue Service Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference.

  • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Designates a queue as FIFO. Valid values: true, false. You can provide this attribute only during queue creation. You can't change it for an existing queue. When you set this attribute, you must also provide the MessageGroupId for your messages explicitly.

    For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide.

  • ContentBasedDeduplication - Enables content-based deduplication. Valid values: true, false. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", - "locationName":"Attribute" - } - }, - "documentation":"

" - }, - "CreateQueueResult":{ - "type":"structure", - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the created Amazon SQS queue.

" - } - }, - "documentation":"

Returns the QueueUrl attribute of the created queue.

" - }, - "DeleteMessageBatchRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Entries" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue from which messages are deleted.

Queue URLs are case-sensitive.

" - }, - "Entries":{ - "shape":"DeleteMessageBatchRequestEntryList", - "documentation":"

A list of receipt handles for the messages to be deleted.

" - } - }, - "documentation":"

" - }, - "DeleteMessageBatchRequestEntry":{ - "type":"structure", - "required":[ - "Id", - "ReceiptHandle" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

An identifier for this particular receipt handle. This is used to communicate the result.

The Ids of a batch request need to be unique within a request

" - }, - "ReceiptHandle":{ - "shape":"String", - "documentation":"

A receipt handle.

" - } - }, - "documentation":"

Encloses a receipt handle and an identifier for it.

" - }, - "DeleteMessageBatchRequestEntryList":{ - "type":"list", - "member":{ - "shape":"DeleteMessageBatchRequestEntry", - "locationName":"DeleteMessageBatchRequestEntry" - }, - "flattened":true - }, - "DeleteMessageBatchResult":{ - "type":"structure", - "required":[ - "Successful", - "Failed" - ], - "members":{ - "Successful":{ - "shape":"DeleteMessageBatchResultEntryList", - "documentation":"

A list of DeleteMessageBatchResultEntry items.

" - }, - "Failed":{ - "shape":"BatchResultErrorEntryList", - "documentation":"

A list of BatchResultErrorEntry items.

" - } - }, - "documentation":"

For each message in the batch, the response contains a DeleteMessageBatchResultEntry tag if the message is deleted or a BatchResultErrorEntry tag if the message can't be deleted.

" - }, - "DeleteMessageBatchResultEntry":{ - "type":"structure", - "required":["Id"], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

Represents a successfully deleted message.

" - } - }, - "documentation":"

Encloses the Id of an entry in DeleteMessageBatch.

" - }, - "DeleteMessageBatchResultEntryList":{ - "type":"list", - "member":{ - "shape":"DeleteMessageBatchResultEntry", - "locationName":"DeleteMessageBatchResultEntry" - }, - "flattened":true - }, - "DeleteMessageRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "ReceiptHandle" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue from which messages are deleted.

Queue URLs are case-sensitive.

" - }, - "ReceiptHandle":{ - "shape":"String", - "documentation":"

The receipt handle associated with the message to delete.

" - } - }, - "documentation":"

" - }, - "DeleteQueueRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue to delete.

Queue URLs are case-sensitive.

" - } - }, - "documentation":"

" - }, - "EmptyBatchRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The batch request doesn't contain any entries.

", - "error":{ - "code":"AWS.SimpleQueueService.EmptyBatchRequest", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "GetQueueAttributesRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue whose attribute information is retrieved.

Queue URLs are case-sensitive.

" - }, - "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 Simple Queue Service 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 Simple Queue Service 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 string that includes the parameters for dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

    • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

    • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue.

  • VisibilityTimeout - Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms.

  • KmsDataKeyReusePeriodSeconds - Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. For more information, see How Does the Data Key Reuse Period Work?.

The following attributes apply only to FIFO (first-in-first-out) queues:

  • FifoQueue - Returns whether the queue is FIFO. For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide.

    To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

  • ContentBasedDeduplication - Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

" - } - }, - "documentation":"

" - }, - "GetQueueAttributesResult":{ - "type":"structure", - "members":{ - "Attributes":{ - "shape":"QueueAttributeMap", - "documentation":"

A map of attributes to their respective values.

", - "locationName":"Attribute" - } - }, - "documentation":"

A list of returned queue attributes.

" - }, - "GetQueueUrlRequest":{ - "type":"structure", - "required":["QueueName"], - "members":{ - "QueueName":{ - "shape":"String", - "documentation":"

The name of the queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_).

Queue names are case-sensitive.

" - }, - "QueueOwnerAWSAccountId":{ - "shape":"String", - "documentation":"

The AWS account ID of the account that created the queue.

" - } - }, - "documentation":"

" - }, - "GetQueueUrlResult":{ - "type":"structure", - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the queue.

" - } - }, - "documentation":"

For more information, see Responses in the Amazon Simple Queue Service Developer Guide.

" - }, - "Integer":{"type":"integer"}, - "InvalidAttributeName":{ - "type":"structure", - "members":{ - }, - "documentation":"

The attribute referred to doesn't exist.

", - "exception":true - }, - "InvalidBatchEntryId":{ - "type":"structure", - "members":{ - }, - "documentation":"

The Id of a batch entry in a batch request doesn't abide by the specification.

", - "error":{ - "code":"AWS.SimpleQueueService.InvalidBatchEntryId", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidIdFormat":{ - "type":"structure", - "members":{ - }, - "documentation":"

The receipt handle isn't valid for the current version.

", - "exception":true - }, - "InvalidMessageContents":{ - "type":"structure", - "members":{ - }, - "documentation":"

The message contains characters outside the allowed set.

", - "exception":true - }, - "ListDeadLetterSourceQueuesRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of a dead-letter queue.

Queue URLs are case-sensitive.

" - } - }, - "documentation":"

" - }, - "ListDeadLetterSourceQueuesResult":{ - "type":"structure", - "required":["queueUrls"], - "members":{ - "queueUrls":{ - "shape":"QueueUrlList", - "documentation":"

A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead-letter queue.

" - } - }, - "documentation":"

A list of your dead letter source queues.

" - }, - "ListQueueTagsRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the queue.

" - } - } - }, - "ListQueueTagsResult":{ - "type":"structure", - "members":{ - "Tags":{ - "shape":"TagMap", - "documentation":"

The list of all tags added to the specified queue.

", - "locationName":"Tag" - } - } - }, - "ListQueuesRequest":{ - "type":"structure", - "members":{ - "QueueNamePrefix":{ - "shape":"String", - "documentation":"

A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

Queue names are case-sensitive.

" - } - }, - "documentation":"

" - }, - "ListQueuesResult":{ - "type":"structure", - "members":{ - "QueueUrls":{ - "shape":"QueueUrlList", - "documentation":"

A list of queue URLs, up to 1,000 entries.

" - } - }, - "documentation":"

A list of your queues.

" - }, - "Message":{ - "type":"structure", - "members":{ - "MessageId":{ - "shape":"String", - "documentation":"

A unique identifier for the message. A MessageIdis considered unique across all AWS accounts for an extended period of time.

" - }, - "ReceiptHandle":{ - "shape":"String", - "documentation":"

An identifier associated with the act of receiving the message. A new receipt handle is returned every time you receive a message. When deleting a message, you provide the last received receipt handle to delete the message.

" - }, - "MD5OfBody":{ - "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message body string.

" - }, - "Body":{ - "shape":"String", - "documentation":"

The message's contents (not URL-encoded).

" - }, - "Attributes":{ - "shape":"MessageSystemAttributeMap", - "documentation":"

SenderId, SentTimestamp, ApproximateReceiveCount, and/or ApproximateFirstReceiveTimestamp. SentTimestamp and ApproximateFirstReceiveTimestamp are each returned as an integer representing the epoch time in milliseconds.

", - "locationName":"Attribute" - }, - "MD5OfMessageAttributes":{ - "shape":"String", - "documentation":"

An MD5 digest of the non-URL-encoded message attribute string. 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", - "documentation":"

Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items and Validation in the Amazon Simple Queue Service Developer Guide.

", - "locationName":"MessageAttribute" - } - }, - "documentation":"

An Amazon SQS message.

" - }, - "MessageAttributeName":{"type":"string"}, - "MessageAttributeNameList":{ - "type":"list", - "member":{ - "shape":"MessageAttributeName", - "locationName":"MessageAttributeName" - }, - "flattened":true - }, - "MessageAttributeValue":{ - "type":"structure", - "required":["DataType"], - "members":{ - "StringValue":{ - "shape":"String", - "documentation":"

Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

" - }, - "BinaryValue":{ - "shape":"Binary", - "documentation":"

Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

" - }, - "StringListValues":{ - "shape":"StringList", - "documentation":"

Not implemented. Reserved for future use.

", - "flattened":true, - "locationName":"StringListValue" - }, - "BinaryListValues":{ - "shape":"BinaryList", - "documentation":"

Not implemented. Reserved for future use.

", - "flattened":true, - "locationName":"BinaryListValue" - }, - "DataType":{ - "shape":"String", - "documentation":"

Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

You can also append custom labels. For more information, see Message Attribute Data Types and Validation in the Amazon Simple Queue Service Developer Guide.

" - } - }, - "documentation":"

The user-specified message attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see SendMessage.

Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

" - }, - "MessageBodyAttributeMap":{ - "type":"map", - "key":{ - "shape":"String", - "locationName":"Name" - }, - "value":{ - "shape":"MessageAttributeValue", - "locationName":"Value" - }, - "flattened":true - }, - "MessageList":{ - "type":"list", - "member":{ - "shape":"Message", - "locationName":"Message" - }, - "flattened":true - }, - "MessageNotInflight":{ - "type":"structure", - "members":{ - }, - "documentation":"

The message referred to isn't in flight.

", - "error":{ - "code":"AWS.SimpleQueueService.MessageNotInflight", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "MessageSystemAttributeMap":{ - "type":"map", - "key":{ - "shape":"MessageSystemAttributeName", - "locationName":"Name" - }, - "value":{ - "shape":"String", - "locationName":"Value" - }, - "flattened":true, - "locationName":"Attribute" - }, - "MessageSystemAttributeName":{ - "type":"string", - "enum":[ - "SenderId", - "SentTimestamp", - "ApproximateReceiveCount", - "ApproximateFirstReceiveTimestamp", - "SequenceNumber", - "MessageDeduplicationId", - "MessageGroupId" - ] - }, - "OverLimit":{ - "type":"structure", - "members":{ - }, - "documentation":"

The action that you requested would violate a limit. For example, ReceiveMessage returns this error if the maximum number of inflight messages is reached. AddPermission returns this error if the maximum number of permissions for the queue is reached.

", - "error":{ - "code":"OverLimit", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "PurgeQueueInProgress":{ - "type":"structure", - "members":{ - }, - "documentation":"

Indicates that the specified queue previously received a PurgeQueue request within the last 60 seconds (the time it can take to delete the messages in the queue).

", - "error":{ - "code":"AWS.SimpleQueueService.PurgeQueueInProgress", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "PurgeQueueRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the queue from which the PurgeQueue action deletes messages.

Queue URLs are case-sensitive.

" - } - }, - "documentation":"

" - }, - "QueueAttributeMap":{ - "type":"map", - "key":{ - "shape":"QueueAttributeName", - "locationName":"Name" - }, - "value":{ - "shape":"String", - "locationName":"Value" - }, - "flattened":true, - "locationName":"Attribute" - }, - "QueueAttributeName":{ - "type":"string", - "enum":[ - "All", - "Policy", - "VisibilityTimeout", - "MaximumMessageSize", - "MessageRetentionPeriod", - "ApproximateNumberOfMessages", - "ApproximateNumberOfMessagesNotVisible", - "CreatedTimestamp", - "LastModifiedTimestamp", - "QueueArn", - "ApproximateNumberOfMessagesDelayed", - "DelaySeconds", - "ReceiveMessageWaitTimeSeconds", - "RedrivePolicy", - "FifoQueue", - "ContentBasedDeduplication", - "KmsMasterKeyId", - "KmsDataKeyReusePeriodSeconds" - ] - }, - "QueueDeletedRecently":{ - "type":"structure", - "members":{ - }, - "documentation":"

You must wait 60 seconds after deleting a queue before you can create another one with the same name.

", - "error":{ - "code":"AWS.SimpleQueueService.QueueDeletedRecently", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "QueueDoesNotExist":{ - "type":"structure", - "members":{ - }, - "documentation":"

The queue referred to doesn't exist.

", - "error":{ - "code":"AWS.SimpleQueueService.NonExistentQueue", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "QueueNameExists":{ - "type":"structure", - "members":{ - }, - "documentation":"

A queue already exists with this name. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.

", - "error":{ - "code":"QueueAlreadyExists", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "QueueUrlList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"QueueUrl" - }, - "flattened":true - }, - "ReceiptHandleIsInvalid":{ - "type":"structure", - "members":{ - }, - "documentation":"

The receipt handle provided isn't valid.

", - "exception":true - }, - "ReceiveMessageRequest":{ - "type":"structure", - "required":["QueueUrl"], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue from which messages are received.

Queue URLs are case-sensitive.

" - }, - "AttributeNames":{ - "shape":"AttributeNameList", - "documentation":"

A list of attributes that need to be returned along with each message. These attributes include:

  • All - Returns all values.

  • ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue (epoch time in milliseconds).

  • ApproximateReceiveCount - Returns the number of times a message has been received from the queue but not deleted.

  • SenderId

    • For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R.

    • For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456.

  • SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds).

  • MessageDeduplicationId - Returns the value provided by the sender that calls the SendMessage action.

  • MessageGroupId - Returns the value provided by the sender that calls the SendMessage action. Messages with the same MessageGroupId are returned in sequence.

  • SequenceNumber - Returns the value provided by Amazon SQS.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • ContentBasedDeduplication

  • DelaySeconds

  • FifoQueue

  • LastModifiedTimestamp

  • MaximumMessageSize

  • MessageRetentionPeriod

  • Policy

  • QueueArn,

  • ReceiveMessageWaitTimeSeconds

  • RedrivePolicy

  • VisibilityTimeout

" - }, - "MessageAttributeNames":{ - "shape":"MessageAttributeNameList", - "documentation":"

The name of the message attribute, where N is the index.

  • The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

  • The name is case-sensitive and must be unique among all attribute names for the message.

  • The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

  • The name must not start or end with a period (.), and it should not have periods in succession (..).

  • The name can be up to 256 characters long.

When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. You can also use all message attributes starting with a prefix, for example bar.*.

" - }, - "MaxNumberOfMessages":{ - "shape":"Integer", - "documentation":"

The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values are 1 to 10. Default is 1.

" - }, - "VisibilityTimeout":{ - "shape":"Integer", - "documentation":"

The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request.

" - }, - "WaitTimeSeconds":{ - "shape":"Integer", - "documentation":"

The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.

" - }, - "ReceiveRequestAttemptId":{ - "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, you can retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

  • You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

  • When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

  • If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

  • You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

  • During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    If a caller of the ReceiveMessage action is still processing messages when the visibility timeout expires and messages become visible, another worker reading from the same queue can receive the same messages and therefore process duplicates. Also, if a reader whose message processing time is longer than the visibility timeout tries to delete the processed messages, the action fails with an error.

    To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

  • While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive messages with another MessageGroupId as long as it is also visible.

  • If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but the messages in the queue remain in a strict order.

The length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer Guide.

" - } - }, - "documentation":"

" - }, - "ReceiveMessageResult":{ - "type":"structure", - "members":{ - "Messages":{ - "shape":"MessageList", - "documentation":"

A list of messages.

" - } - }, - "documentation":"

A list of received messages.

" - }, - "RemovePermissionRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Label" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue from which permissions are removed.

Queue URLs are case-sensitive.

" - }, - "Label":{ - "shape":"String", - "documentation":"

The identification of the permission to remove. This is the label added using the AddPermission action.

" - } - }, - "documentation":"

" - }, - "SendMessageBatchRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Entries" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue to which batched messages are sent.

Queue URLs are case-sensitive.

" - }, - "Entries":{ - "shape":"SendMessageBatchRequestEntryList", - "documentation":"

A list of SendMessageBatchRequestEntry items.

" - } - }, - "documentation":"

" - }, - "SendMessageBatchRequestEntry":{ - "type":"structure", - "required":[ - "Id", - "MessageBody" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

An identifier for a message in this batch used to communicate the result.

The Ids of a batch request need to be unique within a request

" - }, - "MessageBody":{ - "shape":"String", - "documentation":"

The body of the message.

" - }, - "DelaySeconds":{ - "shape":"Integer", - "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", - "documentation":"

Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items and Validation in the Amazon Simple Queue Service Developer Guide.

", - "locationName":"MessageAttribute" - }, - "MessageDeduplicationId":{ - "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the 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.

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.

" - }, - "SendMessageBatchRequestEntryList":{ - "type":"list", - "member":{ - "shape":"SendMessageBatchRequestEntry", - "locationName":"SendMessageBatchRequestEntry" - }, - "flattened":true - }, - "SendMessageBatchResult":{ - "type":"structure", - "required":[ - "Successful", - "Failed" - ], - "members":{ - "Successful":{ - "shape":"SendMessageBatchResultEntryList", - "documentation":"

A list of SendMessageBatchResultEntry items.

" - }, - "Failed":{ - "shape":"BatchResultErrorEntryList", - "documentation":"

A list of BatchResultErrorEntry items with error details about each message that can't be enqueued.

" - } - }, - "documentation":"

For each message in the batch, the response contains a SendMessageBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

" - }, - "SendMessageBatchResultEntry":{ - "type":"structure", - "required":[ - "Id", - "MessageId", - "MD5OfMessageBody" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

An identifier for the message in this batch.

" - }, - "MessageId":{ - "shape":"String", - "documentation":"

An identifier for the message.

" - }, - "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 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 about MD5, see RFC1321.

" - }, - "SequenceNumber":{ - "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

" - } - }, - "documentation":"

Encloses a MessageId for a successfully-enqueued message in a SendMessageBatch.

" - }, - "SendMessageBatchResultEntryList":{ - "type":"list", - "member":{ - "shape":"SendMessageBatchResultEntry", - "locationName":"SendMessageBatchResultEntry" - }, - "flattened":true - }, - "SendMessageRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "MessageBody" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue to which a message is sent.

Queue URLs are case-sensitive.

" - }, - "MessageBody":{ - "shape":"String", - "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 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", - "documentation":"

Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items and Validation in the Amazon Simple Queue Service Developer Guide.

", - "locationName":"MessageAttribute" - }, - "MessageDeduplicationId":{ - "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

  • Every message must have a unique MessageDeduplicationId,

    • You may provide a MessageDeduplicationId explicitly.

    • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

    • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

    • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

  • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

  • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

The MessageDeduplicationId is available to the 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.

MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

" - } - }, - "documentation":"

" - }, - "SendMessageResult":{ - "type":"structure", - "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 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 about MD5, see RFC1321.

" - }, - "MessageId":{ - "shape":"String", - "documentation":"

An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers in the Amazon Simple Queue Service Developer Guide.

" - }, - "SequenceNumber":{ - "shape":"String", - "documentation":"

This parameter applies only to FIFO (first-in-first-out) queues.

The large, non-consecutive number that Amazon SQS assigns to each message.

The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

" - } - }, - "documentation":"

The MD5OfMessageBody and MessageId elements.

" - }, - "SetQueueAttributesRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Attributes" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the Amazon SQS queue whose attributes are set.

Queue URLs are case-sensitive.

" - }, - "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 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 string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

    • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

    • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue.

    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 Simple Queue Service Developer Guide.

The following attributes apply only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference.

  • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

The following attribute applies only to FIFO (first-in-first-out) queues:

  • ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

Any other valid special request parameters (such as the following) are ignored:

  • ApproximateNumberOfMessages

  • ApproximateNumberOfMessagesDelayed

  • ApproximateNumberOfMessagesNotVisible

  • CreatedTimestamp

  • LastModifiedTimestamp

  • QueueArn

", - "locationName":"Attribute" - } - }, - "documentation":"

" - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{ - "shape":"String", - "locationName":"StringListValue" - } - }, - "TagKey":{"type":"string"}, - "TagKeyList":{ - "type":"list", - "member":{ - "shape":"TagKey", - "locationName":"TagKey" - }, - "flattened":true - }, - "TagMap":{ - "type":"map", - "key":{ - "shape":"TagKey", - "locationName":"Key" - }, - "value":{ - "shape":"TagValue", - "locationName":"Value" - }, - "flattened":true, - "locationName":"Tag" - }, - "TagQueueRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "Tags" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the queue.

" - }, - "Tags":{ - "shape":"TagMap", - "documentation":"

The list of tags to be added to the specified queue.

" - } - } - }, - "TagValue":{"type":"string"}, - "TooManyEntriesInBatchRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The batch request contains more entries than permissible.

", - "error":{ - "code":"AWS.SimpleQueueService.TooManyEntriesInBatchRequest", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UnsupportedOperation":{ - "type":"structure", - "members":{ - }, - "documentation":"

Error code 400. Unsupported operation.

", - "error":{ - "code":"AWS.SimpleQueueService.UnsupportedOperation", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "UntagQueueRequest":{ - "type":"structure", - "required":[ - "QueueUrl", - "TagKeys" - ], - "members":{ - "QueueUrl":{ - "shape":"String", - "documentation":"

The URL of the queue.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The list of tags to be removed from the specified queue.

" - } - } - } - }, - "documentation":"

Welcome to the Amazon Simple Queue Service API Reference.

Amazon Simple Queue Service (Amazon SQS) is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.

Standard queues are available in all regions. FIFO queues are available in the US East (N. Virginia), US East (Ohio), US West (Oregon), and EU (Ireland) regions.

You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

  • Cryptographically sign your service requests

  • Retry requests

  • Handle error responses

Additional Information

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/paginators-1.json deleted file mode 100644 index 94790e81..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/paginators-1.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "pagination": { - "ListAssociations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Associations" - }, - "ListCommandInvocations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "CommandInvocations" - }, - "ListCommands": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Commands" - }, - "ListDocuments": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "DocumentIdentifiers" - }, - "DescribeInstanceInformation": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "InstanceInformationList" - }, - "DescribeActivations": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "ActivationList" - }, - "DescribeParameters": { - "input_token": "NextToken", - "output_token": "NextToken", - "limit_key": "MaxResults", - "result_key": "Parameters" - }, - "GetParametersByPath": { - "result_key": "Parameters", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "GetParameterHistory": { - "result_key": "Parameters", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/service-2.json deleted file mode 100644 index 105c22ab..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/ssm/2014-11-06/service-2.json +++ /dev/null @@ -1,11351 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2014-11-06", - "endpointPrefix":"ssm", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"Amazon SSM", - "serviceFullName":"Amazon Simple Systems Manager (SSM)", - "serviceId":"SSM", - "signatureVersion":"v4", - "targetPrefix":"AmazonSSM", - "uid":"ssm-2014-11-06" - }, - "operations":{ - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceRequest"}, - "output":{"shape":"AddTagsToResourceResult"}, - "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"}, - {"shape":"TooManyTagsError"}, - {"shape":"TooManyUpdates"} - ], - "documentation":"

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 50 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelCommandRequest"}, - "output":{"shape":"CancelCommandResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, - {"shape":"InvalidInstanceId"}, - {"shape":"DuplicateInstanceId"} - ], - "documentation":"

Attempts to cancel the command specified by the Command ID. There is no guarantee that the command will be terminated and the underlying process stopped.

" - }, - "CreateActivation":{ - "name":"CreateActivation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateActivationRequest"}, - "output":{"shape":"CreateActivationResult"}, - "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 Systems Manager in Hybrid Environments.

" - }, - "CreateAssociation":{ - "name":"CreateAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssociationRequest"}, - "output":{"shape":"CreateAssociationResult"}, - "errors":[ - {"shape":"AssociationAlreadyExists"}, - {"shape":"AssociationLimitExceeded"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"InvalidInstanceId"}, - {"shape":"UnsupportedPlatformType"}, - {"shape":"InvalidOutputLocation"}, - {"shape":"InvalidParameters"}, - {"shape":"InvalidTarget"}, - {"shape":"InvalidSchedule"} - ], - "documentation":"

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" - }, - "CreateAssociationBatch":{ - "name":"CreateAssociationBatch", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAssociationBatchRequest"}, - "output":{"shape":"CreateAssociationBatchResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidParameters"}, - {"shape":"DuplicateInstanceId"}, - {"shape":"AssociationLimitExceeded"}, - {"shape":"UnsupportedPlatformType"}, - {"shape":"InvalidOutputLocation"}, - {"shape":"InvalidTarget"}, - {"shape":"InvalidSchedule"} - ], - "documentation":"

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

" - }, - "CreateDocument":{ - "name":"CreateDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateDocumentRequest"}, - "output":{"shape":"CreateDocumentResult"}, - "errors":[ - {"shape":"DocumentAlreadyExists"}, - {"shape":"MaxDocumentSizeExceeded"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidDocumentContent"}, - {"shape":"DocumentLimitExceeded"}, - {"shape":"InvalidDocumentSchemaVersion"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateMaintenanceWindowRequest"}, - "output":{"shape":"CreateMaintenanceWindowResult"}, - "errors":[ - {"shape":"IdempotentParameterMismatch"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a new Maintenance Window.

" - }, - "CreatePatchBaseline":{ - "name":"CreatePatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreatePatchBaselineRequest"}, - "output":{"shape":"CreatePatchBaselineResult"}, - "errors":[ - {"shape":"IdempotentParameterMismatch"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a patch baseline.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

" - }, - "CreateResourceDataSync":{ - "name":"CreateResourceDataSync", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceDataSyncRequest"}, - "output":{"shape":"CreateResourceDataSyncResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"ResourceDataSyncCountExceededException"}, - {"shape":"ResourceDataSyncAlreadyExistsException"}, - {"shape":"ResourceDataSyncInvalidConfigurationException"} - ], - "documentation":"

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the sync, use the ListResourceDataSync.

By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. To view an example of a restrictive Amazon S3 bucket policy for Resource Data Sync, see Create a Resource Data Sync for Inventory in the AWS Systems Manager User Guide.

" - }, - "DeleteActivation":{ - "name":"DeleteActivation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteActivationRequest"}, - "output":{"shape":"DeleteActivationResult"}, - "errors":[ - {"shape":"InvalidActivationId"}, - {"shape":"InvalidActivation"}, - {"shape":"InternalServerError"}, - {"shape":"TooManyUpdates"} - ], - "documentation":"

Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.

" - }, - "DeleteAssociation":{ - "name":"DeleteAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAssociationRequest"}, - "output":{"shape":"DeleteAssociationResult"}, - "errors":[ - {"shape":"AssociationDoesNotExist"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidInstanceId"}, - {"shape":"TooManyUpdates"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteDocumentRequest"}, - "output":{"shape":"DeleteDocumentResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentOperation"}, - {"shape":"AssociatedInstances"} - ], - "documentation":"

Deletes the Systems Manager document and all instance associations to the document.

Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

" - }, - "DeleteInventory":{ - "name":"DeleteInventory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteInventoryRequest"}, - "output":{"shape":"DeleteInventoryResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidTypeNameException"}, - {"shape":"InvalidOptionException"}, - {"shape":"InvalidDeleteInventoryParametersException"}, - {"shape":"InvalidInventoryRequestException"} - ], - "documentation":"

Delete a custom inventory type, or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.

" - }, - "DeleteMaintenanceWindow":{ - "name":"DeleteMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMaintenanceWindowRequest"}, - "output":{"shape":"DeleteMaintenanceWindowResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a Maintenance Window.

" - }, - "DeleteParameter":{ - "name":"DeleteParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteParameterRequest"}, - "output":{"shape":"DeleteParameterResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"ParameterNotFound"} - ], - "documentation":"

Delete a parameter from the system.

" - }, - "DeleteParameters":{ - "name":"DeleteParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteParametersRequest"}, - "output":{"shape":"DeleteParametersResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Delete a list of parameters. This API is used to delete parameters by using the Amazon EC2 console.

" - }, - "DeletePatchBaseline":{ - "name":"DeletePatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePatchBaselineRequest"}, - "output":{"shape":"DeletePatchBaselineResult"}, - "errors":[ - {"shape":"ResourceInUseException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a patch baseline.

" - }, - "DeleteResourceDataSync":{ - "name":"DeleteResourceDataSync", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteResourceDataSyncRequest"}, - "output":{"shape":"DeleteResourceDataSyncResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"ResourceDataSyncNotFoundException"} - ], - "documentation":"

Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to inventory data on managed instances are no longer synced with the target Amazon S3 bucket. Deleting a sync configuration does not delete data in the target Amazon S3 bucket.

" - }, - "DeregisterManagedInstance":{ - "name":"DeregisterManagedInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterManagedInstanceRequest"}, - "output":{"shape":"DeregisterManagedInstanceResult"}, - "errors":[ - {"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 SSM Agent first.

" - }, - "DeregisterPatchBaselineForPatchGroup":{ - "name":"DeregisterPatchBaselineForPatchGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterPatchBaselineForPatchGroupRequest"}, - "output":{"shape":"DeregisterPatchBaselineForPatchGroupResult"}, - "errors":[ - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Removes a patch group from a patch baseline.

" - }, - "DeregisterTargetFromMaintenanceWindow":{ - "name":"DeregisterTargetFromMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterTargetFromMaintenanceWindowRequest"}, - "output":{"shape":"DeregisterTargetFromMaintenanceWindowResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"}, - {"shape":"TargetInUseException"} - ], - "documentation":"

Removes a target from a Maintenance Window.

" - }, - "DeregisterTaskFromMaintenanceWindow":{ - "name":"DeregisterTaskFromMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterTaskFromMaintenanceWindowRequest"}, - "output":{"shape":"DeregisterTaskFromMaintenanceWindowResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Removes a task from a Maintenance Window.

" - }, - "DescribeActivations":{ - "name":"DescribeActivations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeActivationsRequest"}, - "output":{"shape":"DescribeActivationsResult"}, - "errors":[ - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Details about the activation, including: the date and time the activation was created, the expiration date, the IAM role assigned to the instances in the activation, and the number of instances activated by this registration.

" - }, - "DescribeAssociation":{ - "name":"DescribeAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssociationRequest"}, - "output":{"shape":"DescribeAssociationResult"}, - "errors":[ - {"shape":"AssociationDoesNotExist"}, - {"shape":"InvalidAssociationVersion"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidInstanceId"} - ], - "documentation":"

Describes the association for the specified target or instance. If you created the association by using the Targets parameter, then you must retrieve the association by using the association ID. If you created the association by specifying an instance ID and a Systems Manager document, then you retrieve the association by specifying the document name and the instance ID.

" - }, - "DescribeAssociationExecutionTargets":{ - "name":"DescribeAssociationExecutionTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssociationExecutionTargetsRequest"}, - "output":{"shape":"DescribeAssociationExecutionTargetsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"AssociationDoesNotExist"}, - {"shape":"InvalidNextToken"}, - {"shape":"AssociationExecutionDoesNotExist"} - ], - "documentation":"

Use this API action to view information about a specific execution of a specific association.

" - }, - "DescribeAssociationExecutions":{ - "name":"DescribeAssociationExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAssociationExecutionsRequest"}, - "output":{"shape":"DescribeAssociationExecutionsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"AssociationDoesNotExist"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Use this API action to view all executions for a specific association ID.

" - }, - "DescribeAutomationExecutions":{ - "name":"DescribeAutomationExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAutomationExecutionsRequest"}, - "output":{"shape":"DescribeAutomationExecutionsResult"}, - "errors":[ - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidFilterValue"}, - {"shape":"InvalidNextToken"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Provides details about all active and terminated Automation executions.

" - }, - "DescribeAutomationStepExecutions":{ - "name":"DescribeAutomationStepExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAutomationStepExecutionsRequest"}, - "output":{"shape":"DescribeAutomationStepExecutionsResult"}, - "errors":[ - {"shape":"AutomationExecutionNotFoundException"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidFilterValue"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Information about all active and terminated step executions in an Automation workflow.

" - }, - "DescribeAvailablePatches":{ - "name":"DescribeAvailablePatches", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAvailablePatchesRequest"}, - "output":{"shape":"DescribeAvailablePatchesResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists all patches that could possibly be included in a patch baseline.

" - }, - "DescribeDocument":{ - "name":"DescribeDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDocumentRequest"}, - "output":{"shape":"DescribeDocumentResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"} - ], - "documentation":"

Describes the specified Systems Manager document.

" - }, - "DescribeDocumentPermission":{ - "name":"DescribeDocumentPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDocumentPermissionRequest"}, - "output":{"shape":"DescribeDocumentPermissionResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidPermissionType"} - ], - "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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEffectiveInstanceAssociationsRequest"}, - "output":{"shape":"DescribeEffectiveInstanceAssociationsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

All associations for the instance(s).

" - }, - "DescribeEffectivePatchesForPatchBaseline":{ - "name":"DescribeEffectivePatchesForPatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeEffectivePatchesForPatchBaselineRequest"}, - "output":{"shape":"DescribeEffectivePatchesForPatchBaselineResult"}, - "errors":[ - {"shape":"InvalidResourceId"}, - {"shape":"DoesNotExistException"}, - {"shape":"UnsupportedOperatingSystem"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Note that this API applies only to Windows patch baselines.

" - }, - "DescribeInstanceAssociationsStatus":{ - "name":"DescribeInstanceAssociationsStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceAssociationsStatusRequest"}, - "output":{"shape":"DescribeInstanceAssociationsStatusResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

The status of the associations for the instance(s).

" - }, - "DescribeInstanceInformation":{ - "name":"DescribeInstanceInformation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstanceInformationRequest"}, - "output":{"shape":"DescribeInstanceInformationResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidNextToken"}, - {"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.

The IamRole field for this API action is the Amazon Identity and Access Management (IAM) role assigned to on-premises instances. This call does not return the IAM role for Amazon EC2 instances.

" - }, - "DescribeInstancePatchStates":{ - "name":"DescribeInstancePatchStates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancePatchStatesRequest"}, - "output":{"shape":"DescribeInstancePatchStatesResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieves the high-level patch state of one or more instances.

" - }, - "DescribeInstancePatchStatesForPatchGroup":{ - "name":"DescribeInstancePatchStatesForPatchGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancePatchStatesForPatchGroupRequest"}, - "output":{"shape":"DescribeInstancePatchStatesForPatchGroupResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieves the high-level patch state for the instances in the specified patch group.

" - }, - "DescribeInstancePatches":{ - "name":"DescribeInstancePatches", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInstancePatchesRequest"}, - "output":{"shape":"DescribeInstancePatchesResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

" - }, - "DescribeInventoryDeletions":{ - "name":"DescribeInventoryDeletions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeInventoryDeletionsRequest"}, - "output":{"shape":"DescribeInventoryDeletionsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDeletionIdException"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Describes a specific delete inventory operation.

" - }, - "DescribeMaintenanceWindowExecutionTaskInvocations":{ - "name":"DescribeMaintenanceWindowExecutionTaskInvocations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsRequest"}, - "output":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the individual task executions (one per target) for a particular task executed as part of a Maintenance Window execution.

" - }, - "DescribeMaintenanceWindowExecutionTasks":{ - "name":"DescribeMaintenanceWindowExecutionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowExecutionTasksRequest"}, - "output":{"shape":"DescribeMaintenanceWindowExecutionTasksResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

For a given Maintenance Window execution, lists the tasks that were executed.

" - }, - "DescribeMaintenanceWindowExecutions":{ - "name":"DescribeMaintenanceWindowExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowExecutionsRequest"}, - "output":{"shape":"DescribeMaintenanceWindowExecutionsResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the executions of a Maintenance Window. This includes information about when the Maintenance Window was scheduled to be active, and information about tasks registered and run with the Maintenance Window.

" - }, - "DescribeMaintenanceWindowTargets":{ - "name":"DescribeMaintenanceWindowTargets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowTargetsRequest"}, - "output":{"shape":"DescribeMaintenanceWindowTargetsResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the targets registered with the Maintenance Window.

" - }, - "DescribeMaintenanceWindowTasks":{ - "name":"DescribeMaintenanceWindowTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowTasksRequest"}, - "output":{"shape":"DescribeMaintenanceWindowTasksResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the tasks in a Maintenance Window.

" - }, - "DescribeMaintenanceWindows":{ - "name":"DescribeMaintenanceWindows", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceWindowsRequest"}, - "output":{"shape":"DescribeMaintenanceWindowsResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the Maintenance Windows in an AWS account.

" - }, - "DescribeParameters":{ - "name":"DescribeParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeParametersRequest"}, - "output":{"shape":"DescribeParametersResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidFilterOption"}, - {"shape":"InvalidFilterValue"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Get information about a parameter.

Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

" - }, - "DescribePatchBaselines":{ - "name":"DescribePatchBaselines", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePatchBaselinesRequest"}, - "output":{"shape":"DescribePatchBaselinesResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the patch baselines in your AWS account.

" - }, - "DescribePatchGroupState":{ - "name":"DescribePatchGroupState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePatchGroupStateRequest"}, - "output":{"shape":"DescribePatchGroupStateResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Returns high-level aggregated patch compliance state for a patch group.

" - }, - "DescribePatchGroups":{ - "name":"DescribePatchGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribePatchGroupsRequest"}, - "output":{"shape":"DescribePatchGroupsResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Lists all patch groups that have been registered with patch baselines.

" - }, - "GetAutomationExecution":{ - "name":"GetAutomationExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetAutomationExecutionRequest"}, - "output":{"shape":"GetAutomationExecutionResult"}, - "errors":[ - {"shape":"AutomationExecutionNotFoundException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Get detailed information about a particular Automation execution.

" - }, - "GetCommandInvocation":{ - "name":"GetCommandInvocation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCommandInvocationRequest"}, - "output":{"shape":"GetCommandInvocationResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidPluginName"}, - {"shape":"InvocationDoesNotExist"} - ], - "documentation":"

Returns detailed information about command execution for an invocation or plugin.

" - }, - "GetDefaultPatchBaseline":{ - "name":"GetDefaultPatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDefaultPatchBaselineRequest"}, - "output":{"shape":"GetDefaultPatchBaselineResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the default patch baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

If you do not specify an operating system value, the default patch baseline for Windows is returned.

" - }, - "GetDeployablePatchSnapshotForInstance":{ - "name":"GetDeployablePatchSnapshotForInstance", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDeployablePatchSnapshotForInstanceRequest"}, - "output":{"shape":"GetDeployablePatchSnapshotForInstanceResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"UnsupportedOperatingSystem"} - ], - "documentation":"

Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

" - }, - "GetDocument":{ - "name":"GetDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetDocumentRequest"}, - "output":{"shape":"GetDocumentResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"} - ], - "documentation":"

Gets the contents of the specified Systems Manager document.

" - }, - "GetInventory":{ - "name":"GetInventory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInventoryRequest"}, - "output":{"shape":"GetInventoryResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidFilter"}, - {"shape":"InvalidInventoryGroupException"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidTypeNameException"}, - {"shape":"InvalidAggregatorException"}, - {"shape":"InvalidResultAttributeException"} - ], - "documentation":"

Query inventory information.

" - }, - "GetInventorySchema":{ - "name":"GetInventorySchema", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetInventorySchemaRequest"}, - "output":{"shape":"GetInventorySchemaResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidTypeNameException"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type.

" - }, - "GetMaintenanceWindow":{ - "name":"GetMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMaintenanceWindowRequest"}, - "output":{"shape":"GetMaintenanceWindowResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves a Maintenance Window.

" - }, - "GetMaintenanceWindowExecution":{ - "name":"GetMaintenanceWindowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMaintenanceWindowExecutionRequest"}, - "output":{"shape":"GetMaintenanceWindowExecutionResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves details about a specific task executed as part of a Maintenance Window execution.

" - }, - "GetMaintenanceWindowExecutionTask":{ - "name":"GetMaintenanceWindowExecutionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMaintenanceWindowExecutionTaskRequest"}, - "output":{"shape":"GetMaintenanceWindowExecutionTaskResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the details about a specific task executed as part of a Maintenance Window execution.

" - }, - "GetMaintenanceWindowExecutionTaskInvocation":{ - "name":"GetMaintenanceWindowExecutionTaskInvocation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMaintenanceWindowExecutionTaskInvocationRequest"}, - "output":{"shape":"GetMaintenanceWindowExecutionTaskInvocationResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations.

" - }, - "GetMaintenanceWindowTask":{ - "name":"GetMaintenanceWindowTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetMaintenanceWindowTaskRequest"}, - "output":{"shape":"GetMaintenanceWindowTaskResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the tasks in a Maintenance Window.

" - }, - "GetParameter":{ - "name":"GetParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetParameterRequest"}, - "output":{"shape":"GetParameterResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidKeyId"}, - {"shape":"ParameterNotFound"}, - {"shape":"ParameterVersionNotFound"} - ], - "documentation":"

Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action.

" - }, - "GetParameterHistory":{ - "name":"GetParameterHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetParameterHistoryRequest"}, - "output":{"shape":"GetParameterHistoryResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"ParameterNotFound"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidKeyId"} - ], - "documentation":"

Query a list of all parameters used by the AWS account.

" - }, - "GetParameters":{ - "name":"GetParameters", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetParametersRequest"}, - "output":{"shape":"GetParametersResult"}, - "errors":[ - {"shape":"InvalidKeyId"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Get details of a parameter. Don't confuse this API action with the GetParameter API action.

" - }, - "GetParametersByPath":{ - "name":"GetParametersByPath", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetParametersByPathRequest"}, - "output":{"shape":"GetParametersByPathResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidFilterOption"}, - {"shape":"InvalidFilterValue"}, - {"shape":"InvalidKeyId"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters in the AWS Systems Manager User Guide.

Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

This API action doesn't support filtering by tags.

" - }, - "GetPatchBaseline":{ - "name":"GetPatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPatchBaselineRequest"}, - "output":{"shape":"GetPatchBaselineResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves information about a patch baseline.

" - }, - "GetPatchBaselineForPatchGroup":{ - "name":"GetPatchBaselineForPatchGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPatchBaselineForPatchGroupRequest"}, - "output":{"shape":"GetPatchBaselineForPatchGroupResult"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the patch baseline that should be used for the specified patch group.

" - }, - "LabelParameterVersion":{ - "name":"LabelParameterVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"LabelParameterVersionRequest"}, - "output":{"shape":"LabelParameterVersionResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"TooManyUpdates"}, - {"shape":"ParameterNotFound"}, - {"shape":"ParameterVersionNotFound"}, - {"shape":"ParameterVersionLabelLimitExceeded"} - ], - "documentation":"

A parameter label is a user-defined alias to help you manage different versions of a parameter. When you modify a parameter, Systems Manager automatically saves a new version and increments the version number by one. A label can help you remember the purpose of a parameter when there are multiple versions.

Parameter labels have the following requirements and restrictions.

  • A version of a parameter can have a maximum of 10 labels.

  • You can't attach the same label to different versions of the same parameter. For example, if version 1 has the label Production, then you can't attach Production to version 2.

  • You can move a label from one version of a parameter to another.

  • You can't create a label when you create a new parameter. You must attach a label to a specific version of a parameter.

  • You can't delete a parameter label. If you no longer want to use a parameter label, then you must move it to a different version of a parameter.

  • A label can have a maximum of 100 characters.

  • Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_).

  • Labels can't begin with a number, \"aws,\" or \"ssm\" (not case sensitive). If a label fails to meet these requirements, then the label is not associated with a parameter and the system displays it in the list of InvalidLabels.

" - }, - "ListAssociationVersions":{ - "name":"ListAssociationVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssociationVersionsRequest"}, - "output":{"shape":"ListAssociationVersionsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"}, - {"shape":"AssociationDoesNotExist"} - ], - "documentation":"

Retrieves all versions of an association for a specific association ID.

" - }, - "ListAssociations":{ - "name":"ListAssociations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAssociationsRequest"}, - "output":{"shape":"ListAssociationsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Lists the associations for the specified Systems Manager document or instance.

" - }, - "ListCommandInvocations":{ - "name":"ListCommandInvocations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCommandInvocationsRequest"}, - "output":{"shape":"ListCommandInvocationsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

" - }, - "ListCommands":{ - "name":"ListCommands", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListCommandsRequest"}, - "output":{"shape":"ListCommandsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Lists the commands requested by users of the AWS account.

" - }, - "ListComplianceItems":{ - "name":"ListComplianceItems", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListComplianceItemsRequest"}, - "output":{"shape":"ListComplianceItemsResult"}, - "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

" - }, - "ListComplianceSummaries":{ - "name":"ListComplianceSummaries", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListComplianceSummariesRequest"}, - "output":{"shape":"ListComplianceSummariesResult"}, - "errors":[ - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

" - }, - "ListDocumentVersions":{ - "name":"ListDocumentVersions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDocumentVersionsRequest"}, - "output":{"shape":"ListDocumentVersionsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidDocument"} - ], - "documentation":"

List all versions for a document.

" - }, - "ListDocuments":{ - "name":"ListDocuments", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDocumentsRequest"}, - "output":{"shape":"ListDocumentsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidFilterKey"} - ], - "documentation":"

Describes one or more of your Systems Manager documents.

" - }, - "ListInventoryEntries":{ - "name":"ListInventoryEntries", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListInventoryEntriesRequest"}, - "output":{"shape":"ListInventoryEntriesResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidTypeNameException"}, - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

A list of inventory items returned by the request.

" - }, - "ListResourceComplianceSummaries":{ - "name":"ListResourceComplianceSummaries", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourceComplianceSummariesRequest"}, - "output":{"shape":"ListResourceComplianceSummariesResult"}, - "errors":[ - {"shape":"InvalidFilter"}, - {"shape":"InvalidNextToken"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

" - }, - "ListResourceDataSync":{ - "name":"ListResourceDataSync", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourceDataSyncRequest"}, - "output":{"shape":"ListResourceDataSyncResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"} - ], - "documentation":"

Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed.

The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call.

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, - "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a list of the tags assigned to the specified resource.

" - }, - "ModifyDocumentPermission":{ - "name":"ModifyDocumentPermission", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyDocumentPermissionRequest"}, - "output":{"shape":"ModifyDocumentPermissionResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidPermissionType"}, - {"shape":"DocumentPermissionLimit"}, - {"shape":"DocumentLimitExceeded"} - ], - "documentation":"

Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

" - }, - "PutComplianceItems":{ - "name":"PutComplianceItems", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutComplianceItemsRequest"}, - "output":{"shape":"PutComplianceItemsResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidItemContentException"}, - {"shape":"TotalSizeLimitExceededException"}, - {"shape":"ItemSizeLimitExceededException"}, - {"shape":"ComplianceTypeCountLimitExceededException"}, - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"} - ], - "documentation":"

Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request.

ComplianceType can be one of the following:

  • ExecutionId: The execution ID when the patch, association, or custom compliance item was applied.

  • ExecutionType: Specify patch, association, or Custom:string.

  • ExecutionTime. The time the patch, association, or custom compliance item was applied to the instance.

  • Id: The patch, association, or custom compliance ID.

  • Title: A title.

  • Status: The status of the compliance item. For example, approved for patches, or Failed for associations.

  • Severity: A patch severity. For example, critical.

  • DocumentName: A SSM document name. For example, AWS-RunPatchBaseline.

  • DocumentVersion: An SSM document version number. For example, 4.

  • Classification: A patch classification. For example, security updates.

  • PatchBaselineId: A patch baseline ID.

  • PatchSeverity: A patch severity. For example, Critical.

  • PatchState: A patch state. For example, InstancesWithFailedPatches.

  • PatchGroup: The name of a patch group.

  • InstalledTime: The time the association, patch, or custom compliance item was applied to the resource. Specify the time by using the following format: yyyy-MM-dd'T'HH:mm:ss'Z'

" - }, - "PutInventory":{ - "name":"PutInventory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutInventoryRequest"}, - "output":{"shape":"PutInventoryResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidTypeNameException"}, - {"shape":"InvalidItemContentException"}, - {"shape":"TotalSizeLimitExceededException"}, - {"shape":"ItemSizeLimitExceededException"}, - {"shape":"ItemContentMismatchException"}, - {"shape":"CustomSchemaCountLimitExceededException"}, - {"shape":"UnsupportedInventorySchemaVersionException"}, - {"shape":"UnsupportedInventoryItemContextException"}, - {"shape":"InvalidInventoryItemContextException"}, - {"shape":"SubTypeCountLimitExceededException"} - ], - "documentation":"

Bulk update custom inventory items on one more instance. The request adds an inventory item, if it doesn't already exist, or updates an inventory item, if it does exist.

" - }, - "PutParameter":{ - "name":"PutParameter", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutParameterRequest"}, - "output":{"shape":"PutParameterResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidKeyId"}, - {"shape":"ParameterLimitExceeded"}, - {"shape":"TooManyUpdates"}, - {"shape":"ParameterAlreadyExists"}, - {"shape":"HierarchyLevelLimitExceededException"}, - {"shape":"HierarchyTypeMismatchException"}, - {"shape":"InvalidAllowedPatternException"}, - {"shape":"ParameterMaxVersionLimitExceeded"}, - {"shape":"ParameterPatternMismatchException"}, - {"shape":"UnsupportedParameterType"} - ], - "documentation":"

Add a parameter to the system.

" - }, - "RegisterDefaultPatchBaseline":{ - "name":"RegisterDefaultPatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterDefaultPatchBaselineRequest"}, - "output":{"shape":"RegisterDefaultPatchBaselineResult"}, - "errors":[ - {"shape":"InvalidResourceId"}, - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Defines the default patch baseline.

" - }, - "RegisterPatchBaselineForPatchGroup":{ - "name":"RegisterPatchBaselineForPatchGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterPatchBaselineForPatchGroupRequest"}, - "output":{"shape":"RegisterPatchBaselineForPatchGroupResult"}, - "errors":[ - {"shape":"AlreadyExistsException"}, - {"shape":"DoesNotExistException"}, - {"shape":"InvalidResourceId"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Registers a patch baseline for a patch group.

" - }, - "RegisterTargetWithMaintenanceWindow":{ - "name":"RegisterTargetWithMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterTargetWithMaintenanceWindowRequest"}, - "output":{"shape":"RegisterTargetWithMaintenanceWindowResult"}, - "errors":[ - {"shape":"IdempotentParameterMismatch"}, - {"shape":"DoesNotExistException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Registers a target with a Maintenance Window.

" - }, - "RegisterTaskWithMaintenanceWindow":{ - "name":"RegisterTaskWithMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterTaskWithMaintenanceWindowRequest"}, - "output":{"shape":"RegisterTaskWithMaintenanceWindowResult"}, - "errors":[ - {"shape":"IdempotentParameterMismatch"}, - {"shape":"DoesNotExistException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"FeatureNotAvailableException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Adds a new task to a Maintenance Window.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceRequest"}, - "output":{"shape":"RemoveTagsFromResourceResult"}, - "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"}, - {"shape":"TooManyUpdates"} - ], - "documentation":"

Removes all tags from the specified resource.

" - }, - "SendAutomationSignal":{ - "name":"SendAutomationSignal", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendAutomationSignalRequest"}, - "output":{"shape":"SendAutomationSignalResult"}, - "errors":[ - {"shape":"AutomationExecutionNotFoundException"}, - {"shape":"AutomationStepNotFoundException"}, - {"shape":"InvalidAutomationSignalException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Sends a signal to an Automation execution to change the current behavior or status of the execution.

" - }, - "SendCommand":{ - "name":"SendCommand", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendCommandRequest"}, - "output":{"shape":"SendCommandResult"}, - "errors":[ - {"shape":"DuplicateInstanceId"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"InvalidOutputFolder"}, - {"shape":"InvalidParameters"}, - {"shape":"UnsupportedPlatformType"}, - {"shape":"MaxDocumentSizeExceeded"}, - {"shape":"InvalidRole"}, - {"shape":"InvalidNotificationConfig"} - ], - "documentation":"

Executes commands on one or more managed instances.

" - }, - "StartAssociationsOnce":{ - "name":"StartAssociationsOnce", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartAssociationsOnceRequest"}, - "output":{"shape":"StartAssociationsOnceResult"}, - "errors":[ - {"shape":"InvalidAssociation"}, - {"shape":"AssociationDoesNotExist"} - ], - "documentation":"

Use this API action to execute an association immediately and only one time. This action can be helpful when troubleshooting associations.

" - }, - "StartAutomationExecution":{ - "name":"StartAutomationExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartAutomationExecutionRequest"}, - "output":{"shape":"StartAutomationExecutionResult"}, - "errors":[ - {"shape":"AutomationDefinitionNotFoundException"}, - {"shape":"InvalidAutomationExecutionParametersException"}, - {"shape":"AutomationExecutionLimitExceededException"}, - {"shape":"AutomationDefinitionVersionNotFoundException"}, - {"shape":"IdempotentParameterMismatch"}, - {"shape":"InvalidTarget"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Initiates execution of an Automation document.

" - }, - "StopAutomationExecution":{ - "name":"StopAutomationExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopAutomationExecutionRequest"}, - "output":{"shape":"StopAutomationExecutionResult"}, - "errors":[ - {"shape":"AutomationExecutionNotFoundException"}, - {"shape":"InvalidAutomationStatusUpdateException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Stop an Automation that is currently executing.

" - }, - "UpdateAssociation":{ - "name":"UpdateAssociation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssociationRequest"}, - "output":{"shape":"UpdateAssociationResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidSchedule"}, - {"shape":"InvalidParameters"}, - {"shape":"InvalidOutputLocation"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"AssociationDoesNotExist"}, - {"shape":"InvalidUpdate"}, - {"shape":"TooManyUpdates"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidTarget"}, - {"shape":"InvalidAssociationVersion"}, - {"shape":"AssociationVersionLimitExceeded"} - ], - "documentation":"

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

" - }, - "UpdateAssociationStatus":{ - "name":"UpdateAssociationStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateAssociationStatusRequest"}, - "output":{"shape":"UpdateAssociationStatusResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidDocument"}, - {"shape":"AssociationDoesNotExist"}, - {"shape":"StatusUnchanged"}, - {"shape":"TooManyUpdates"} - ], - "documentation":"

Updates the status of the Systems Manager document associated with the specified instance.

" - }, - "UpdateDocument":{ - "name":"UpdateDocument", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDocumentRequest"}, - "output":{"shape":"UpdateDocumentResult"}, - "errors":[ - {"shape":"MaxDocumentSizeExceeded"}, - {"shape":"DocumentVersionLimitExceeded"}, - {"shape":"InternalServerError"}, - {"shape":"DuplicateDocumentContent"}, - {"shape":"InvalidDocumentContent"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"InvalidDocumentSchemaVersion"}, - {"shape":"InvalidDocument"} - ], - "documentation":"

The document you want to update.

" - }, - "UpdateDocumentDefaultVersion":{ - "name":"UpdateDocumentDefaultVersion", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateDocumentDefaultVersionRequest"}, - "output":{"shape":"UpdateDocumentDefaultVersionResult"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidDocumentVersion"}, - {"shape":"InvalidDocumentSchemaVersion"} - ], - "documentation":"

Set the default version of a document.

" - }, - "UpdateMaintenanceWindow":{ - "name":"UpdateMaintenanceWindow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMaintenanceWindowRequest"}, - "output":{"shape":"UpdateMaintenanceWindowResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates an existing Maintenance Window. Only specified parameters are modified.

" - }, - "UpdateMaintenanceWindowTarget":{ - "name":"UpdateMaintenanceWindowTarget", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMaintenanceWindowTargetRequest"}, - "output":{"shape":"UpdateMaintenanceWindowTargetResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Modifies the target of an existing Maintenance Window. You can't change the target type, but you can change the following:

The target from being an ID target to a Tag target, or a Tag target to an ID target.

IDs for an ID target.

Tags for a Tag target.

Owner.

Name.

Description.

If a parameter is null, then the corresponding field is not modified.

" - }, - "UpdateMaintenanceWindowTask":{ - "name":"UpdateMaintenanceWindowTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMaintenanceWindowTaskRequest"}, - "output":{"shape":"UpdateMaintenanceWindowTaskResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:

  • TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

  • ServiceRoleArn

  • TaskInvocationParameters

  • Priority

  • MaxConcurrency

  • MaxErrors

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

" - }, - "UpdateManagedInstanceRole":{ - "name":"UpdateManagedInstanceRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateManagedInstanceRoleRequest"}, - "output":{"shape":"UpdateManagedInstanceRoleResult"}, - "errors":[ - {"shape":"InvalidInstanceId"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

" - }, - "UpdatePatchBaseline":{ - "name":"UpdatePatchBaseline", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePatchBaselineRequest"}, - "output":{"shape":"UpdatePatchBaselineResult"}, - "errors":[ - {"shape":"DoesNotExistException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

" - } - }, - "shapes":{ - "AccountId":{ - "type":"string", - "pattern":"(?i)all|[0-9]{12}" - }, - "AccountIdList":{ - "type":"list", - "member":{"shape":"AccountId"}, - "max":20 - }, - "Activation":{ - "type":"structure", - "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

The ID created by Systems Manager when you submitted the activation.

" - }, - "Description":{ - "shape":"ActivationDescription", - "documentation":"

A user defined description of the activation.

" - }, - "DefaultInstanceName":{ - "shape":"DefaultInstanceName", - "documentation":"

A name for the managed instance when it is created.

" - }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

The Amazon Identity and Access Management (IAM) role to assign to the managed instance.

" - }, - "RegistrationLimit":{ - "shape":"RegistrationLimit", - "documentation":"

The maximum number of managed instances that can be registered using this activation.

" - }, - "RegistrationsCount":{ - "shape":"RegistrationsCount", - "documentation":"

The number of managed instances already registered with this activation.

" - }, - "ExpirationDate":{ - "shape":"ExpirationDate", - "documentation":"

The date when this activation can no longer be used to register managed instances.

" - }, - "Expired":{ - "shape":"Boolean", - "documentation":"

Whether or not the activation is expired.

" - }, - "CreatedDate":{ - "shape":"CreatedDate", - "documentation":"

The date the activation was created.

" - } - }, - "documentation":"

An activation registers one or more on-premises servers or virtual machines (VMs) with AWS so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with AWS is called a managed instance.

" - }, - "ActivationCode":{ - "type":"string", - "max":250, - "min":20 - }, - "ActivationDescription":{ - "type":"string", - "max":256, - "min":0 - }, - "ActivationId":{ - "type":"string", - "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" - }, - "ActivationList":{ - "type":"list", - "member":{"shape":"Activation"} - }, - "AddTagsToResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId", - "Tags" - ], - "members":{ - "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

Specifies the type of resource you are tagging.

The ManagedInstance type for this API action is for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource ID you want to tag.

Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

Do not enter personally identifiable information in this field.

" - } - } - }, - "AddTagsToResourceResult":{ - "type":"structure", - "members":{ - } - }, - "AgentErrorCode":{ - "type":"string", - "max":10 - }, - "AggregatorSchemaOnly":{"type":"boolean"}, - "AllowedPattern":{ - "type":"string", - "max":1024, - "min":0 - }, - "AlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Error returned if an attempt is made to register a patch group with a patch baseline that is already registered with a different patch baseline.

", - "exception":true - }, - "ApproveAfterDays":{ - "type":"integer", - "max":100, - "min":0 - }, - "AssociatedInstances":{ - "type":"structure", - "members":{ - }, - "documentation":"

You must disassociate a document from all instances before you can delete it.

", - "exception":true - }, - "Association":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The ID created by the system when you create an association. An association is a binding between a document and a set of targets with a schedule.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The association version.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of the document used in the association.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The instances targeted by the request to create an association.

" - }, - "LastExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date on which the association was last run.

" - }, - "Overview":{ - "shape":"AssociationOverview", - "documentation":"

Information about the association.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

A cron expression that specifies a schedule when the association runs.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

The association name.

" - } - }, - "documentation":"

Describes an association of a Systems Manager document and an instance.

" - }, - "AssociationAlreadyExists":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified association already exists.

", - "exception":true - }, - "AssociationDescription":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The association version.

" - }, - "Date":{ - "shape":"DateTime", - "documentation":"

The date when the association was made.

" - }, - "LastUpdateAssociationDate":{ - "shape":"DateTime", - "documentation":"

The date when the association was last updated.

" - }, - "Status":{ - "shape":"AssociationStatus", - "documentation":"

The association status.

" - }, - "Overview":{ - "shape":"AssociationOverview", - "documentation":"

Information about the association.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A description of the parameters for a document.

" - }, - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The instances targeted by the request.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

A cron expression that specifies a schedule when the association runs.

" - }, - "OutputLocation":{ - "shape":"InstanceAssociationOutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the output details of the request.

" - }, - "LastExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date on which the association was last run.

" - }, - "LastSuccessfulExecutionDate":{ - "shape":"DateTime", - "documentation":"

The last date on which the association was successfully run.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

The association name.

" - } - }, - "documentation":"

Describes the parameters for a document.

" - }, - "AssociationDescriptionList":{ - "type":"list", - "member":{"shape":"AssociationDescription"} - }, - "AssociationDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified association does not exist.

", - "exception":true - }, - "AssociationExecution":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The association version.

" - }, - "ExecutionId":{ - "shape":"AssociationExecutionId", - "documentation":"

The execution ID for the association. If the association does not run at intervals or according to a schedule, then the ExecutionID is the same as the AssociationID.

" - }, - "Status":{ - "shape":"StatusName", - "documentation":"

The status of the association execution.

" - }, - "DetailedStatus":{ - "shape":"StatusName", - "documentation":"

Detailed status information about the execution.

" - }, - "CreatedTime":{ - "shape":"DateTime", - "documentation":"

The time the execution started.

" - }, - "LastExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date of the last execution.

" - }, - "ResourceCountByStatus":{ - "shape":"ResourceCountByStatus", - "documentation":"

An aggregate status of the resources in the execution based on the status type.

" - } - }, - "documentation":"

Includes information about the specified association.

" - }, - "AssociationExecutionDoesNotExist":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified execution ID does not exist. Verify the ID number and try again.

", - "exception":true - }, - "AssociationExecutionFilter":{ - "type":"structure", - "required":[ - "Key", - "Value", - "Type" - ], - "members":{ - "Key":{ - "shape":"AssociationExecutionFilterKey", - "documentation":"

The key value used in the request.

" - }, - "Value":{ - "shape":"AssociationExecutionFilterValue", - "documentation":"

The value specified for the key.

" - }, - "Type":{ - "shape":"AssociationFilterOperatorType", - "documentation":"

The filter type specified in the request.

" - } - }, - "documentation":"

Filters used in the request.

" - }, - "AssociationExecutionFilterKey":{ - "type":"string", - "enum":[ - "ExecutionId", - "Status", - "CreatedTime" - ] - }, - "AssociationExecutionFilterList":{ - "type":"list", - "member":{"shape":"AssociationExecutionFilter"}, - "min":1 - }, - "AssociationExecutionFilterValue":{ - "type":"string", - "min":1 - }, - "AssociationExecutionId":{ - "type":"string", - "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - }, - "AssociationExecutionTarget":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The association version.

" - }, - "ExecutionId":{ - "shape":"AssociationExecutionId", - "documentation":"

The execution ID. If the association does not run at intervals or according to a schedule, then the ExecutionID is the same as the AssociationID.

" - }, - "ResourceId":{ - "shape":"AssociationResourceId", - "documentation":"

The resource ID, for example, the instance ID where the association ran.

" - }, - "ResourceType":{ - "shape":"AssociationResourceType", - "documentation":"

The resource type, for example, instance.

" - }, - "Status":{ - "shape":"StatusName", - "documentation":"

The association execution status.

" - }, - "DetailedStatus":{ - "shape":"StatusName", - "documentation":"

Detailed information about the execution status.

" - }, - "LastExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date of the last execution.

" - }, - "OutputSource":{ - "shape":"OutputSource", - "documentation":"

The location where the association details are saved.

" - } - }, - "documentation":"

Includes information about the specified association execution.

" - }, - "AssociationExecutionTargetsFilter":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"AssociationExecutionTargetsFilterKey", - "documentation":"

The key value used in the request.

" - }, - "Value":{ - "shape":"AssociationExecutionTargetsFilterValue", - "documentation":"

The value specified for the key.

" - } - }, - "documentation":"

Filters for the association execution.

" - }, - "AssociationExecutionTargetsFilterKey":{ - "type":"string", - "enum":[ - "Status", - "ResourceId", - "ResourceType" - ] - }, - "AssociationExecutionTargetsFilterList":{ - "type":"list", - "member":{"shape":"AssociationExecutionTargetsFilter"}, - "min":1 - }, - "AssociationExecutionTargetsFilterValue":{ - "type":"string", - "min":1 - }, - "AssociationExecutionTargetsList":{ - "type":"list", - "member":{"shape":"AssociationExecutionTarget"} - }, - "AssociationExecutionsList":{ - "type":"list", - "member":{"shape":"AssociationExecution"} - }, - "AssociationFilter":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"AssociationFilterKey", - "documentation":"

The name of the filter.

" - }, - "value":{ - "shape":"AssociationFilterValue", - "documentation":"

The filter value.

" - } - }, - "documentation":"

Describes a filter.

" - }, - "AssociationFilterKey":{ - "type":"string", - "enum":[ - "InstanceId", - "Name", - "AssociationId", - "AssociationStatusName", - "LastExecutedBefore", - "LastExecutedAfter", - "AssociationName" - ] - }, - "AssociationFilterList":{ - "type":"list", - "member":{"shape":"AssociationFilter"}, - "min":1 - }, - "AssociationFilterOperatorType":{ - "type":"string", - "enum":[ - "EQUAL", - "LESS_THAN", - "GREATER_THAN" - ] - }, - "AssociationFilterValue":{ - "type":"string", - "min":1 - }, - "AssociationId":{ - "type":"string", - "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" - }, - "AssociationIdList":{ - "type":"list", - "member":{"shape":"AssociationId"}, - "max":10, - "min":1 - }, - "AssociationLimitExceeded":{ - "type":"structure", - "members":{ - }, - "documentation":"

You can have at most 2,000 active associations.

", - "exception":true - }, - "AssociationList":{ - "type":"list", - "member":{"shape":"Association"} - }, - "AssociationName":{ - "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" - }, - "AssociationOverview":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"StatusName", - "documentation":"

The status of the association. Status can be: Pending, Success, or Failed.

" - }, - "DetailedStatus":{ - "shape":"StatusName", - "documentation":"

A detailed status of the association.

" - }, - "AssociationStatusAggregatedCount":{ - "shape":"AssociationStatusAggregatedCount", - "documentation":"

Returns the number of targets for the association status. For example, if you created an association with two instances, and one of them was successful, this would return the count of instances by status.

" - } - }, - "documentation":"

Information about the association.

" - }, - "AssociationResourceId":{ - "type":"string", - "max":100, - "min":1 - }, - "AssociationResourceType":{ - "type":"string", - "max":50, - "min":1 - }, - "AssociationStatus":{ - "type":"structure", - "required":[ - "Date", - "Name", - "Message" - ], - "members":{ - "Date":{ - "shape":"DateTime", - "documentation":"

The date when the status changed.

" - }, - "Name":{ - "shape":"AssociationStatusName", - "documentation":"

The status.

" - }, - "Message":{ - "shape":"StatusMessage", - "documentation":"

The reason for the status.

" - }, - "AdditionalInfo":{ - "shape":"StatusAdditionalInfo", - "documentation":"

A user-defined string.

" - } - }, - "documentation":"

Describes an association status.

" - }, - "AssociationStatusAggregatedCount":{ - "type":"map", - "key":{"shape":"StatusName"}, - "value":{"shape":"InstanceCount"} - }, - "AssociationStatusName":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failed" - ] - }, - "AssociationVersion":{ - "type":"string", - "pattern":"([$]LATEST)|([1-9][0-9]*)" - }, - "AssociationVersionInfo":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The ID created by the system when the association was created.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The association version.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date the association version was created.

" - }, - "Name":{ - "shape":"DocumentName", - "documentation":"

The name specified when the association was created.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of a Systems Manager document used when the association version was created.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

Parameters specified when the association version was created.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets specified for the association when the association version was created.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The cron or rate schedule specified for the association when the association version was created.

" - }, - "OutputLocation":{ - "shape":"InstanceAssociationOutputLocation", - "documentation":"

The location in Amazon S3 specified for the association when the association version was created.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

The name specified for the association version when the association version was created.

" - } - }, - "documentation":"

Information about the association version.

" - }, - "AssociationVersionLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You have reached the maximum number versions allowed for an association. Each association has a limit of 1,000 versions.

", - "exception":true - }, - "AssociationVersionList":{ - "type":"list", - "member":{"shape":"AssociationVersionInfo"}, - "min":1 - }, - "AttributeName":{ - "type":"string", - "max":64, - "min":1 - }, - "AttributeValue":{ - "type":"string", - "max":4096, - "min":0 - }, - "AutomationActionName":{ - "type":"string", - "pattern":"^aws:[a-zA-Z]{3,25}$" - }, - "AutomationDefinitionNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An Automation document with the specified name could not be found.

", - "exception":true - }, - "AutomationDefinitionVersionNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An Automation document with the specified name and version could not be found.

", - "exception":true - }, - "AutomationExecution":{ - "type":"structure", - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The execution ID.

" - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

The name of the Automation document used during the execution.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of the document to use during execution.

" - }, - "ExecutionStartTime":{ - "shape":"DateTime", - "documentation":"

The time the execution started.

" - }, - "ExecutionEndTime":{ - "shape":"DateTime", - "documentation":"

The time the execution finished.

" - }, - "AutomationExecutionStatus":{ - "shape":"AutomationExecutionStatus", - "documentation":"

The execution status of the Automation.

" - }, - "StepExecutions":{ - "shape":"StepExecutionList", - "documentation":"

A list of details about the current state of all steps that comprise an execution. An Automation document contains a list of steps that are executed in order.

" - }, - "StepExecutionsTruncated":{ - "shape":"Boolean", - "documentation":"

A boolean value that indicates if the response contains the full list of the Automation step executions. If true, use the DescribeAutomationStepExecutions API action to get the full list of step executions.

" - }, - "Parameters":{ - "shape":"AutomationParameterMap", - "documentation":"

The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.

" - }, - "Outputs":{ - "shape":"AutomationParameterMap", - "documentation":"

The list of execution outputs as defined in the automation document.

" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

A message describing why an execution has failed, if the status is set to Failed.

" - }, - "Mode":{ - "shape":"ExecutionMode", - "documentation":"

The automation execution mode.

" - }, - "ParentAutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The AutomationExecutionId of the parent automation.

" - }, - "ExecutedBy":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the user who executed the automation.

" - }, - "CurrentStepName":{ - "shape":"String", - "documentation":"

The name of the currently executing step.

" - }, - "CurrentAction":{ - "shape":"String", - "documentation":"

The action of the currently executing step.

" - }, - "TargetParameterName":{ - "shape":"AutomationParameterKey", - "documentation":"

The parameter name.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The specified targets.

" - }, - "TargetMaps":{ - "shape":"TargetMaps", - "documentation":"

The specified key-value mapping of document parameters to target resources.

" - }, - "ResolvedTargets":{ - "shape":"ResolvedTargets", - "documentation":"

A list of resolved targets in the rate control execution.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The MaxConcurrency value specified by the user when the execution started.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The MaxErrors value specified by the user when the execution started.

" - }, - "Target":{ - "shape":"String", - "documentation":"

The target of the execution.

" - } - }, - "documentation":"

Detailed information about the current state of an individual Automation execution.

" - }, - "AutomationExecutionFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"AutomationExecutionFilterKey", - "documentation":"

One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.

" - }, - "Values":{ - "shape":"AutomationExecutionFilterValueList", - "documentation":"

The values used to limit the execution information associated with the filter's key.

" - } - }, - "documentation":"

A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.

" - }, - "AutomationExecutionFilterKey":{ - "type":"string", - "enum":[ - "DocumentNamePrefix", - "ExecutionStatus", - "ExecutionId", - "ParentExecutionId", - "CurrentAction", - "StartTimeBefore", - "StartTimeAfter" - ] - }, - "AutomationExecutionFilterList":{ - "type":"list", - "member":{"shape":"AutomationExecutionFilter"}, - "max":10, - "min":1 - }, - "AutomationExecutionFilterValue":{ - "type":"string", - "max":150, - "min":1 - }, - "AutomationExecutionFilterValueList":{ - "type":"list", - "member":{"shape":"AutomationExecutionFilterValue"}, - "max":10, - "min":1 - }, - "AutomationExecutionId":{ - "type":"string", - "max":36, - "min":36 - }, - "AutomationExecutionLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The number of simultaneously running Automation executions exceeded the allowable limit.

", - "exception":true - }, - "AutomationExecutionMetadata":{ - "type":"structure", - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The execution ID.

" - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

The name of the Automation document used during execution.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version used during the execution.

" - }, - "AutomationExecutionStatus":{ - "shape":"AutomationExecutionStatus", - "documentation":"

The status of the execution. Valid values include: Running, Succeeded, Failed, Timed out, or Cancelled.

" - }, - "ExecutionStartTime":{ - "shape":"DateTime", - "documentation":"

The time the execution started.>

" - }, - "ExecutionEndTime":{ - "shape":"DateTime", - "documentation":"

The time the execution finished. This is not populated if the execution is still in progress.

" - }, - "ExecutedBy":{ - "shape":"String", - "documentation":"

The IAM role ARN of the user who executed the Automation.

" - }, - "LogFile":{ - "shape":"String", - "documentation":"

An Amazon S3 bucket where execution information is stored.

" - }, - "Outputs":{ - "shape":"AutomationParameterMap", - "documentation":"

The list of execution outputs as defined in the Automation document.

" - }, - "Mode":{ - "shape":"ExecutionMode", - "documentation":"

The Automation execution mode.

" - }, - "ParentAutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The ExecutionId of the parent Automation.

" - }, - "CurrentStepName":{ - "shape":"String", - "documentation":"

The name of the currently executing step.

" - }, - "CurrentAction":{ - "shape":"String", - "documentation":"

The action of the currently executing step.

" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

The list of execution outputs as defined in the Automation document.

" - }, - "TargetParameterName":{ - "shape":"AutomationParameterKey", - "documentation":"

The list of execution outputs as defined in the Automation document.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets defined by the user when starting the Automation.

" - }, - "TargetMaps":{ - "shape":"TargetMaps", - "documentation":"

The specified key-value mapping of document parameters to target resources.

" - }, - "ResolvedTargets":{ - "shape":"ResolvedTargets", - "documentation":"

A list of targets that resolved during the execution.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The MaxConcurrency value specified by the user when starting the Automation.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The MaxErrors value specified by the user when starting the Automation.

" - }, - "Target":{ - "shape":"String", - "documentation":"

The list of execution outputs as defined in the Automation document.

" - } - }, - "documentation":"

Details about a specific Automation execution.

" - }, - "AutomationExecutionMetadataList":{ - "type":"list", - "member":{"shape":"AutomationExecutionMetadata"} - }, - "AutomationExecutionNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

There is no automation execution information for the requested automation execution ID.

", - "exception":true - }, - "AutomationExecutionStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Waiting", - "Success", - "TimedOut", - "Cancelling", - "Cancelled", - "Failed" - ] - }, - "AutomationParameterKey":{ - "type":"string", - "max":30, - "min":1 - }, - "AutomationParameterMap":{ - "type":"map", - "key":{"shape":"AutomationParameterKey"}, - "value":{"shape":"AutomationParameterValueList"}, - "max":200, - "min":1 - }, - "AutomationParameterValue":{ - "type":"string", - "max":512, - "min":1 - }, - "AutomationParameterValueList":{ - "type":"list", - "member":{"shape":"AutomationParameterValue"}, - "max":10, - "min":0 - }, - "AutomationStepNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified step name and execution ID don't exist. Verify the information and try again.

", - "exception":true - }, - "BaselineDescription":{ - "type":"string", - "max":1024, - "min":1 - }, - "BaselineId":{ - "type":"string", - "max":128, - "min":20, - "pattern":"^[a-zA-Z0-9_\\-:/]{20,128}$" - }, - "BaselineName":{ - "type":"string", - "max":128, - "min":3, - "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" - }, - "BatchErrorMessage":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "CancelCommandRequest":{ - "type":"structure", - "required":["CommandId"], - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

The ID of the command you want to cancel.

" - }, - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

(Optional) A list of instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance on which it was requested.

" - } - }, - "documentation":"

" - }, - "CancelCommandResult":{ - "type":"structure", - "members":{ - }, - "documentation":"

Whether or not the command was successfully canceled. There is no guarantee that a request can be canceled.

" - }, - "ClientToken":{ - "type":"string", - "max":64, - "min":1 - }, - "CloudWatchLogGroupName":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[\\.\\-_/#A-Za-z0-9]+" - }, - "CloudWatchOutputConfig":{ - "type":"structure", - "members":{ - "CloudWatchLogGroupName":{ - "shape":"CloudWatchLogGroupName", - "documentation":"

The name of the CloudWatch log group where you want to send command output. If you don't specify a group name, Systems Manager automatically creates a log group for you. The log group uses the following naming format: aws/ssm/SystemsManagerDocumentName.

" - }, - "CloudWatchOutputEnabled":{ - "shape":"CloudWatchOutputEnabled", - "documentation":"

Enables Systems Manager to send command output to CloudWatch Logs.

" - } - }, - "documentation":"

Configuration options for sending command output to CloudWatch Logs.

" - }, - "CloudWatchOutputEnabled":{"type":"boolean"}, - "Command":{ - "type":"structure", - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

A unique identifier for this command.

" - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

The name of the document requested for execution.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The SSM document version.

" - }, - "Comment":{ - "shape":"Comment", - "documentation":"

User-specified information about the command, such as a brief description of what the command should do.

" - }, - "ExpiresAfter":{ - "shape":"DateTime", - "documentation":"

If this time is reached and the command has not already started executing, it will not run. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The parameter values to be inserted in the document when executing the command.

" - }, - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

The instance IDs against which this command was requested.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

" - }, - "RequestedDateTime":{ - "shape":"DateTime", - "documentation":"

The date and time the command was requested.

" - }, - "Status":{ - "shape":"CommandStatus", - "documentation":"

The status of the command.

" - }, - "StatusDetails":{ - "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to any instances.

  • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

  • Success: The command successfully 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":"

(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.

" - }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The maximum number of instances that are allowed to 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 Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 0. For more information about how to use MaxErrors, see Executing Commands Using Systems Manager Run Command in the AWS Systems Manager User Guide.

" - }, - "TargetCount":{ - "shape":"TargetCount", - "documentation":"

The number of targets for the command.

" - }, - "CompletedCount":{ - "shape":"CompletedCount", - "documentation":"

The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

" - }, - "ErrorCount":{ - "shape":"ErrorCount", - "documentation":"

The number of targets for which the status is Failed or Execution Timed Out.

" - }, - "DeliveryTimedOutCount":{ - "shape":"DeliveryTimedOutCount", - "documentation":"

The number of targets for which the status is Delivery Timed Out.

" - }, - "ServiceRole":{ - "shape":"ServiceRole", - "documentation":"

The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes.

" - }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

Configurations for sending notifications about command status changes.

" - }, - "CloudWatchOutputConfig":{ - "shape":"CloudWatchOutputConfig", - "documentation":"

CloudWatch Logs information where you want Systems Manager to send the command output.

" - } - }, - "documentation":"

Describes a command request.

" - }, - "CommandFilter":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"CommandFilterKey", - "documentation":"

The name of the filter.

" - }, - "value":{ - "shape":"CommandFilterValue", - "documentation":"

The filter value.

" - } - }, - "documentation":"

Describes a command filter.

" - }, - "CommandFilterKey":{ - "type":"string", - "enum":[ - "InvokedAfter", - "InvokedBefore", - "Status", - "ExecutionStage", - "DocumentName" - ] - }, - "CommandFilterList":{ - "type":"list", - "member":{"shape":"CommandFilter"}, - "max":5, - "min":1 - }, - "CommandFilterValue":{ - "type":"string", - "max":128, - "min":1 - }, - "CommandId":{ - "type":"string", - "max":36, - "min":36 - }, - "CommandInvocation":{ - "type":"structure", - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

The command against which this invocation was requested.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID in which this invocation was requested.

" - }, - "InstanceName":{ - "shape":"InstanceTagName", - "documentation":"

The name of the invocation target. For 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", - "documentation":"

User-specified information about the command, such as a brief description of what the command should do.

" - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

The document name that was requested for execution.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The SSM document version.

" - }, - "RequestedDateTime":{ - "shape":"DateTime", - "documentation":"

The time and date the request was sent to this instance.

" - }, - "Status":{ - "shape":"CommandInvocationStatus", - "documentation":"

Whether or not the invocation succeeded, failed, or is pending.

" - }, - "StatusDetails":{ - "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" - }, - "TraceOutput":{ - "shape":"InvocationTraceOutput", - "documentation":"

Gets the trace output sent by the agent.

" - }, - "StandardOutputUrl":{ - "shape":"Url", - "documentation":"

The URL to the plugin's StdOut file in Amazon S3, if the 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.

" - }, - "CommandPlugins":{"shape":"CommandPluginList"}, - "ServiceRole":{ - "shape":"ServiceRole", - "documentation":"

The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes on a per instance basis.

" - }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

Configurations for sending notifications about command status changes on a per instance basis.

" - }, - "CloudWatchOutputConfig":{ - "shape":"CloudWatchOutputConfig", - "documentation":"

CloudWatch Logs information where you want Systems Manager to send the command output.

" - } - }, - "documentation":"

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you executed.

" - }, - "CommandInvocationList":{ - "type":"list", - "member":{"shape":"CommandInvocation"} - }, - "CommandInvocationStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Delayed", - "Success", - "Cancelled", - "TimedOut", - "Failed", - "Cancelling" - ] - }, - "CommandList":{ - "type":"list", - "member":{"shape":"Command"} - }, - "CommandMaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "CommandPlugin":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"CommandPluginName", - "documentation":"

The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent.

" - }, - "Status":{ - "shape":"CommandPluginStatus", - "documentation":"

The status of this plugin. You can execute a document with multiple plugins.

" - }, - "StatusDetails":{ - "shape":"StatusDetails", - "documentation":"

A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

  • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

  • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

  • Canceled: The command was terminated before it was completed. This is a terminal state.

  • Undeliverable: The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

  • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

" - }, - "ResponseCode":{ - "shape":"ResponseCode", - "documentation":"

A numeric response code generated after executing the plugin.

" - }, - "ResponseStartDateTime":{ - "shape":"DateTime", - "documentation":"

The time the plugin started executing.

" - }, - "ResponseFinishDateTime":{ - "shape":"DateTime", - "documentation":"

The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.

" - }, - "Output":{ - "shape":"CommandPluginOutput", - "documentation":"

Output of the plugin execution.

" - }, - "StandardOutputUrl":{ - "shape":"Url", - "documentation":"

The URL for the complete text written by the plugin to stdout in Amazon S3. If the Amazon S3 bucket for the command was not specified, then this string is empty.

" - }, - "StandardErrorUrl":{ - "shape":"Url", - "documentation":"

The URL for the complete text written by the plugin to stderr. If execution is not yet complete, then this string is empty.

" - }, - "OutputS3Region":{ - "shape":"S3Region", - "documentation":"

(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the 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.

" - }, - "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":"

Describes plugin details.

" - }, - "CommandPluginList":{ - "type":"list", - "member":{"shape":"CommandPlugin"} - }, - "CommandPluginName":{ - "type":"string", - "min":4 - }, - "CommandPluginOutput":{ - "type":"string", - "max":2500 - }, - "CommandPluginStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] - }, - "CommandStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Success", - "Cancelled", - "Failed", - "TimedOut", - "Cancelling" - ] - }, - "Comment":{ - "type":"string", - "max":100 - }, - "CompletedCount":{"type":"integer"}, - "ComplianceExecutionId":{ - "type":"string", - "max":100 - }, - "ComplianceExecutionSummary":{ - "type":"structure", - "required":["ExecutionTime"], - "members":{ - "ExecutionTime":{ - "shape":"DateTime", - "documentation":"

The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

" - }, - "ExecutionId":{ - "shape":"ComplianceExecutionId", - "documentation":"

An ID created by the system when PutComplianceItems was called. For example, CommandID is a valid execution ID. You can use this ID in subsequent calls.

" - }, - "ExecutionType":{ - "shape":"ComplianceExecutionType", - "documentation":"

The type of execution. For example, Command is a valid execution type.

" - } - }, - "documentation":"

A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

" - }, - "ComplianceExecutionType":{ - "type":"string", - "max":50 - }, - "ComplianceFilterValue":{"type":"string"}, - "ComplianceItem":{ - "type":"structure", - "members":{ - "ComplianceType":{ - "shape":"ComplianceTypeName", - "documentation":"

The compliance type. For example, Association (for a State Manager association), Patch, or Custom:string are all valid compliance types.

" - }, - "ResourceType":{ - "shape":"ComplianceResourceType", - "documentation":"

The type of resource. ManagedInstance is currently the only supported resource type.

" - }, - "ResourceId":{ - "shape":"ComplianceResourceId", - "documentation":"

An ID for the resource. For a managed instance, this is the instance ID.

" - }, - "Id":{ - "shape":"ComplianceItemId", - "documentation":"

An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article; for example: KB4010320.

" - }, - "Title":{ - "shape":"ComplianceItemTitle", - "documentation":"

A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services.

" - }, - "Status":{ - "shape":"ComplianceStatus", - "documentation":"

The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

" - }, - "Severity":{ - "shape":"ComplianceSeverity", - "documentation":"

The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

" - }, - "ExecutionSummary":{ - "shape":"ComplianceExecutionSummary", - "documentation":"

A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.

" - }, - "Details":{ - "shape":"ComplianceItemDetails", - "documentation":"

A \"Key\": \"Value\" tag combination for the compliance item.

" - } - }, - "documentation":"

Information about the compliance as defined by the resource type. For example, for a patch resource type, Items includes information about the PatchSeverity, Classification, etc.

" - }, - "ComplianceItemContentHash":{ - "type":"string", - "max":256 - }, - "ComplianceItemDetails":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} - }, - "ComplianceItemEntry":{ - "type":"structure", - "required":[ - "Severity", - "Status" - ], - "members":{ - "Id":{ - "shape":"ComplianceItemId", - "documentation":"

The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.

" - }, - "Title":{ - "shape":"ComplianceItemTitle", - "documentation":"

The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services.

" - }, - "Severity":{ - "shape":"ComplianceSeverity", - "documentation":"

The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

" - }, - "Status":{ - "shape":"ComplianceStatus", - "documentation":"

The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

" - }, - "Details":{ - "shape":"ComplianceItemDetails", - "documentation":"

A \"Key\": \"Value\" tag combination for the compliance item.

" - } - }, - "documentation":"

Information about a compliance item.

" - }, - "ComplianceItemEntryList":{ - "type":"list", - "member":{"shape":"ComplianceItemEntry"}, - "max":10000, - "min":0 - }, - "ComplianceItemId":{ - "type":"string", - "max":100, - "min":1 - }, - "ComplianceItemList":{ - "type":"list", - "member":{"shape":"ComplianceItem"} - }, - "ComplianceItemTitle":{ - "type":"string", - "max":500 - }, - "ComplianceQueryOperatorType":{ - "type":"string", - "enum":[ - "EQUAL", - "NOT_EQUAL", - "BEGIN_WITH", - "LESS_THAN", - "GREATER_THAN" - ] - }, - "ComplianceResourceId":{ - "type":"string", - "max":100, - "min":1 - }, - "ComplianceResourceIdList":{ - "type":"list", - "member":{"shape":"ComplianceResourceId"}, - "min":1 - }, - "ComplianceResourceType":{ - "type":"string", - "max":50, - "min":1 - }, - "ComplianceResourceTypeList":{ - "type":"list", - "member":{"shape":"ComplianceResourceType"}, - "min":1 - }, - "ComplianceSeverity":{ - "type":"string", - "enum":[ - "CRITICAL", - "HIGH", - "MEDIUM", - "LOW", - "INFORMATIONAL", - "UNSPECIFIED" - ] - }, - "ComplianceStatus":{ - "type":"string", - "enum":[ - "COMPLIANT", - "NON_COMPLIANT" - ] - }, - "ComplianceStringFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"ComplianceStringFilterKey", - "documentation":"

The name of the filter.

" - }, - "Values":{ - "shape":"ComplianceStringFilterValueList", - "documentation":"

The value for which to search.

" - }, - "Type":{ - "shape":"ComplianceQueryOperatorType", - "documentation":"

The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.

" - } - }, - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "ComplianceStringFilterKey":{ - "type":"string", - "max":200, - "min":1 - }, - "ComplianceStringFilterList":{ - "type":"list", - "member":{"shape":"ComplianceStringFilter"} - }, - "ComplianceStringFilterValueList":{ - "type":"list", - "member":{"shape":"ComplianceFilterValue"}, - "max":20, - "min":1 - }, - "ComplianceSummaryCount":{"type":"integer"}, - "ComplianceSummaryItem":{ - "type":"structure", - "members":{ - "ComplianceType":{ - "shape":"ComplianceTypeName", - "documentation":"

The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.

" - }, - "CompliantSummary":{ - "shape":"CompliantSummary", - "documentation":"

A list of COMPLIANT items for the specified compliance type.

" - }, - "NonCompliantSummary":{ - "shape":"NonCompliantSummary", - "documentation":"

A list of NON_COMPLIANT items for the specified compliance type.

" - } - }, - "documentation":"

A summary of compliance information by compliance type.

" - }, - "ComplianceSummaryItemList":{ - "type":"list", - "member":{"shape":"ComplianceSummaryItem"} - }, - "ComplianceTypeCountLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You specified too many custom compliance types. You can specify a maximum of 10 different types.

", - "exception":true - }, - "ComplianceTypeName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+" - }, - "CompliantSummary":{ - "type":"structure", - "members":{ - "CompliantCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources that are compliant.

" - }, - "SeveritySummary":{ - "shape":"SeveritySummary", - "documentation":"

A summary of the compliance severity by compliance type.

" - } - }, - "documentation":"

A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.

" - }, - "ComputerName":{ - "type":"string", - "max":255, - "min":1 - }, - "CreateActivationRequest":{ - "type":"structure", - "required":["IamRole"], - "members":{ - "Description":{ - "shape":"ActivationDescription", - "documentation":"

A user-defined description of the resource that you want to register with Amazon EC2.

Do not enter personally identifiable information in this field.

" - }, - "DefaultInstanceName":{ - "shape":"DefaultInstanceName", - "documentation":"

The name of the registered, managed instance as it will appear in the Amazon EC2 console or when you use the AWS command line tools to list EC2 resources.

Do not enter personally identifiable information in this field.

" - }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance.

" - }, - "RegistrationLimit":{ - "shape":"RegistrationLimit", - "documentation":"

Specify the maximum number of managed instances you want to register. The default value is 1 instance.

", - "box":true - }, - "ExpirationDate":{ - "shape":"ExpirationDate", - "documentation":"

The date by which this activation request should expire. The default value is 24 hours.

" - } - } - }, - "CreateActivationResult":{ - "type":"structure", - "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

The ID number generated by the system when it processed the activation. The activation ID functions like a user name.

" - }, - "ActivationCode":{ - "shape":"ActivationCode", - "documentation":"

The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID.

" - } - } - }, - "CreateAssociationBatchRequest":{ - "type":"structure", - "required":["Entries"], - "members":{ - "Entries":{ - "shape":"CreateAssociationBatchRequestEntries", - "documentation":"

One or more associations.

" - } - } - }, - "CreateAssociationBatchRequestEntries":{ - "type":"list", - "member":{"shape":"CreateAssociationBatchRequestEntry"}, - "min":1 - }, - "CreateAssociationBatchRequestEntry":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the configuration document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

A description of the parameters for a document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The instances targeted by the request.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

A cron expression that specifies a schedule when the association runs.

" - }, - "OutputLocation":{ - "shape":"InstanceAssociationOutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

Specify a descriptive name for the association.

" - } - }, - "documentation":"

Describes the association of a Systems Manager document and an instance.

" - }, - "CreateAssociationBatchResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"AssociationDescriptionList", - "documentation":"

Information about the associations that succeeded.

" - }, - "Failed":{ - "shape":"FailedCreateAssociationList", - "documentation":"

Information about the associations that failed.

" - } - } - }, - "CreateAssociationRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version you want to associate with the target(s). Can be a specific version or the default version.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The parameters for the documents runtime configuration.

" - }, - "Targets":{ - "shape":"Targets", - "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).

" - }, - "OutputLocation":{ - "shape":"InstanceAssociationOutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the output details of the request.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

Specify a descriptive name for the association.

" - } - } - }, - "CreateAssociationResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

Information about the association.

" - } - } - }, - "CreateDocumentRequest":{ - "type":"structure", - "required":[ - "Content", - "Name" - ], - "members":{ - "Content":{ - "shape":"DocumentContent", - "documentation":"

A valid JSON or YAML string.

" - }, - "Name":{ - "shape":"DocumentName", - "documentation":"

A name for the Systems Manager document.

Do not use the following to begin the names of documents you create. They are reserved by AWS for use as document prefixes:

  • aws

  • amazon

  • amzn

" - }, - "DocumentType":{ - "shape":"DocumentType", - "documentation":"

The type of document to create. Valid document types include: Policy, Automation, and Command.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format.

" - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide.

" - } - } - }, - "CreateDocumentResult":{ - "type":"structure", - "members":{ - "DocumentDescription":{ - "shape":"DocumentDescription", - "documentation":"

Information about the Systems Manager document.

" - } - } - }, - "CreateMaintenanceWindowRequest":{ - "type":"structure", - "required":[ - "Name", - "Schedule", - "Duration", - "Cutoff", - "AllowUnassociatedTargets" - ], - "members":{ - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the Maintenance Window. We recommend specifying a description to help you organize your Maintenance Windows.

" - }, - "Schedule":{ - "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" - }, - "Duration":{ - "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" - }, - "Cutoff":{ - "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" - }, - "AllowUnassociatedTargets":{ - "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Enables a Maintenance Window task to execute on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the Maintenance Window

If you don't enable this option, then you must specify previously-registered targets when you register a task with the Maintenance Window.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

User-provided idempotency token.

", - "idempotencyToken":true - } - } - }, - "CreateMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" - } - } - }, - "CreatePatchBaselineRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Defines the operating system the patch baseline applies to. The Default value is WINDOWS.

" - }, - "Name":{ - "shape":"BaselineName", - "documentation":"

The name of the patch baseline.

" - }, - "GlobalFilters":{ - "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" - }, - "ApprovalRules":{ - "shape":"PatchRuleGroup", - "documentation":"

A set of rules used to include patches in the baseline.

" - }, - "ApprovedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" - }, - "ApprovedPatchesComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

Defines the compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. The default value is UNSPECIFIED.

" - }, - "ApprovedPatchesEnableNonSecurity":{ - "shape":"Boolean", - "documentation":"

Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

", - "box":true - }, - "RejectedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" - }, - "Description":{ - "shape":"BaselineDescription", - "documentation":"

A description of the patch baseline.

" - }, - "Sources":{ - "shape":"PatchSourceList", - "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

User-provided idempotency token.

", - "idempotencyToken":true - } - } - }, - "CreatePatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the created patch baseline.

" - } - } - }, - "CreateResourceDataSyncRequest":{ - "type":"structure", - "required":[ - "SyncName", - "S3Destination" - ], - "members":{ - "SyncName":{ - "shape":"ResourceDataSyncName", - "documentation":"

A name for the configuration.

" - }, - "S3Destination":{ - "shape":"ResourceDataSyncS3Destination", - "documentation":"

Amazon S3 configuration details for the sync.

" - } - } - }, - "CreateResourceDataSyncResult":{ - "type":"structure", - "members":{ - } - }, - "CreatedDate":{"type":"timestamp"}, - "CustomSchemaCountLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You have exceeded the limit for custom schemas. Delete one or more custom schemas and try again.

", - "exception":true - }, - "DateTime":{"type":"timestamp"}, - "DefaultBaseline":{"type":"boolean"}, - "DefaultInstanceName":{ - "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "DeleteActivationRequest":{ - "type":"structure", - "required":["ActivationId"], - "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

The ID of the activation that you want to delete.

" - } - } - }, - "DeleteActivationResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteAssociationRequest":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID that you want to delete.

" - } - } - }, - "DeleteAssociationResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteDocumentRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document.

" - } - } - }, - "DeleteDocumentResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteInventoryRequest":{ - "type":"structure", - "required":["TypeName"], - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself.

" - }, - "SchemaDeleteOption":{ - "shape":"InventorySchemaDeleteOption", - "documentation":"

Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:

DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disbled version.

DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.

" - }, - "DryRun":{ - "shape":"DryRun", - "documentation":"

Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the DryRun option.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

User-provided idempotency token.

", - "idempotencyToken":true - } - } - }, - "DeleteInventoryResult":{ - "type":"structure", - "members":{ - "DeletionId":{ - "shape":"InventoryDeletionId", - "documentation":"

Every DeleteInventory action is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other actions.

" - }, - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory data type specified in the request.

" - }, - "DeletionSummary":{ - "shape":"InventoryDeletionSummary", - "documentation":"

A summary of the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide.

" - } - } - }, - "DeleteMaintenanceWindowRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to delete.

" - } - } - }, - "DeleteMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the deleted Maintenance Window.

" - } - } - }, - "DeleteParameterRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The name of the parameter to delete.

" - } - } - }, - "DeleteParameterResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteParametersRequest":{ - "type":"structure", - "required":["Names"], - "members":{ - "Names":{ - "shape":"ParameterNameList", - "documentation":"

The names of the parameters to delete.

" - } - } - }, - "DeleteParametersResult":{ - "type":"structure", - "members":{ - "DeletedParameters":{ - "shape":"ParameterNameList", - "documentation":"

The names of the deleted parameters.

" - }, - "InvalidParameters":{ - "shape":"ParameterNameList", - "documentation":"

The names of parameters that weren't deleted because the parameters are not valid.

" - } - } - }, - "DeletePatchBaselineRequest":{ - "type":"structure", - "required":["BaselineId"], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to delete.

" - } - } - }, - "DeletePatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the deleted patch baseline.

" - } - } - }, - "DeleteResourceDataSyncRequest":{ - "type":"structure", - "required":["SyncName"], - "members":{ - "SyncName":{ - "shape":"ResourceDataSyncName", - "documentation":"

The name of the configuration to delete.

" - } - } - }, - "DeleteResourceDataSyncResult":{ - "type":"structure", - "members":{ - } - }, - "DeliveryTimedOutCount":{"type":"integer"}, - "DeregisterManagedInstanceRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"ManagedInstanceId", - "documentation":"

The ID assigned to the managed instance when you registered it using the activation process.

" - } - } - }, - "DeregisterManagedInstanceResult":{ - "type":"structure", - "members":{ - } - }, - "DeregisterPatchBaselineForPatchGroupRequest":{ - "type":"structure", - "required":[ - "BaselineId", - "PatchGroup" - ], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to deregister the patch group from.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group that should be deregistered from the patch baseline.

" - } - } - }, - "DeregisterPatchBaselineForPatchGroupResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline the patch group was deregistered from.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group deregistered from the patch baseline.

" - } - } - }, - "DeregisterTargetFromMaintenanceWindowRequest":{ - "type":"structure", - "required":[ - "WindowId", - "WindowTargetId" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target should be removed from.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The ID of the target definition to remove.

" - }, - "Safe":{ - "shape":"Boolean", - "documentation":"

The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the Maintenance Window.

", - "box":true - } - } - }, - "DeregisterTargetFromMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target was removed from.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The ID of the removed target definition.

" - } - } - }, - "DeregisterTaskFromMaintenanceWindowRequest":{ - "type":"structure", - "required":[ - "WindowId", - "WindowTaskId" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task should be removed from.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The ID of the task to remove from the Maintenance Window.

" - } - } - }, - "DeregisterTaskFromMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task was removed from.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The ID of the task removed from the Maintenance Window.

" - } - } - }, - "DescribeActivationsFilter":{ - "type":"structure", - "members":{ - "FilterKey":{ - "shape":"DescribeActivationsFilterKeys", - "documentation":"

The name of the filter.

" - }, - "FilterValues":{ - "shape":"StringList", - "documentation":"

The filter values.

" - } - }, - "documentation":"

Filter for the DescribeActivation API.

" - }, - "DescribeActivationsFilterKeys":{ - "type":"string", - "enum":[ - "ActivationIds", - "DefaultInstanceName", - "IamRole" - ] - }, - "DescribeActivationsFilterList":{ - "type":"list", - "member":{"shape":"DescribeActivationsFilter"} - }, - "DescribeActivationsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"DescribeActivationsFilterList", - "documentation":"

A filter to view information about your activations.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "DescribeActivationsResult":{ - "type":"structure", - "members":{ - "ActivationList":{ - "shape":"ActivationList", - "documentation":"

A list of activations for your AWS account.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "DescribeAssociationExecutionTargetsRequest":{ - "type":"structure", - "required":[ - "AssociationId", - "ExecutionId" - ], - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID that includes the execution for which you want to view details.

" - }, - "ExecutionId":{ - "shape":"AssociationExecutionId", - "documentation":"

The execution ID for which you want to view details.

" - }, - "Filters":{ - "shape":"AssociationExecutionTargetsFilterList", - "documentation":"

Filters for the request. You can specify the following filters and values.

Status (EQUAL)

ResourceId (EQUAL)

ResourceType (EQUAL)

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "DescribeAssociationExecutionTargetsResult":{ - "type":"structure", - "members":{ - "AssociationExecutionTargets":{ - "shape":"AssociationExecutionTargetsList", - "documentation":"

Information about the execution.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "DescribeAssociationExecutionsRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID for which you want to view execution history details.

" - }, - "Filters":{ - "shape":"AssociationExecutionFilterList", - "documentation":"

Filters for the request. You can specify the following filters and values.

ExecutionId (EQUAL)

Status (EQUAL)

CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "DescribeAssociationExecutionsResult":{ - "type":"structure", - "members":{ - "AssociationExecutions":{ - "shape":"AssociationExecutionsList", - "documentation":"

A list of the executions for the specified association ID.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "DescribeAssociationRequest":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - }, - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID for which you want information.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListInstanceAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

" - } - } - }, - "DescribeAssociationResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

Information about the association.

" - } - } - }, - "DescribeAutomationExecutionsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"AutomationExecutionFilterList", - "documentation":"

Filters used to limit the scope of executions that are requested.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeAutomationExecutionsResult":{ - "type":"structure", - "members":{ - "AutomationExecutionMetadataList":{ - "shape":"AutomationExecutionMetadataList", - "documentation":"

The list of details about each automation execution which has occurred which matches the filter specification, if any.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeAutomationStepExecutionsRequest":{ - "type":"structure", - "required":["AutomationExecutionId"], - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The Automation execution ID for which you want step execution descriptions.

" - }, - "Filters":{ - "shape":"StepExecutionFilterList", - "documentation":"

One or more filters to limit the number of step executions returned by the request.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "ReverseOrder":{ - "shape":"Boolean", - "documentation":"

A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.

", - "box":true - } - } - }, - "DescribeAutomationStepExecutionsResult":{ - "type":"structure", - "members":{ - "StepExecutions":{ - "shape":"StepExecutionList", - "documentation":"

A list of details about the current state of all steps that make up an execution.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeAvailablePatchesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"PatchOrchestratorFilterList", - "documentation":"

Filters used to scope down the returned patches.

" - }, - "MaxResults":{ - "shape":"PatchBaselineMaxResults", - "documentation":"

The maximum number of patches to return (per page).

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeAvailablePatchesResult":{ - "type":"structure", - "members":{ - "Patches":{ - "shape":"PatchList", - "documentation":"

An array of patches. Each entry in the array is a patch structure.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeDocumentPermissionRequest":{ - "type":"structure", - "required":[ - "Name", - "PermissionType" - ], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document for which you are the owner.

" - }, - "PermissionType":{ - "shape":"DocumentPermissionType", - "documentation":"

The permission type for the document. The permission type can be Share.

" - } - } - }, - "DescribeDocumentPermissionResponse":{ - "type":"structure", - "members":{ - "AccountIds":{ - "shape":"AccountIdList", - "documentation":"

The account IDs that have permission to use this document. The ID can be either an AWS account or All.

" - } - } - }, - "DescribeDocumentRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

The name of the Systems Manager document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version for which you want information. Can be a specific version or the default version.

" - } - } - }, - "DescribeDocumentResult":{ - "type":"structure", - "members":{ - "Document":{ - "shape":"DocumentDescription", - "documentation":"

Information about the Systems Manager document.

" - } - } - }, - "DescribeEffectiveInstanceAssociationsRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID for which you want to view all associations.

" - }, - "MaxResults":{ - "shape":"EffectiveInstanceAssociationMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeEffectiveInstanceAssociationsResult":{ - "type":"structure", - "members":{ - "Associations":{ - "shape":"InstanceAssociationList", - "documentation":"

The associations for the requested instance.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeEffectivePatchesForPatchBaselineRequest":{ - "type":"structure", - "required":["BaselineId"], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to retrieve the effective patches for.

" - }, - "MaxResults":{ - "shape":"PatchBaselineMaxResults", - "documentation":"

The maximum number of patches to return (per page).

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeEffectivePatchesForPatchBaselineResult":{ - "type":"structure", - "members":{ - "EffectivePatches":{ - "shape":"EffectivePatchList", - "documentation":"

An array of patches and patch status.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInstanceAssociationsStatusRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance IDs for which you want association status information.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeInstanceAssociationsStatusResult":{ - "type":"structure", - "members":{ - "InstanceAssociationStatusInfos":{ - "shape":"InstanceAssociationStatusInfos", - "documentation":"

Status information about the association.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInstanceInformationRequest":{ - "type":"structure", - "members":{ - "InstanceInformationFilterList":{ - "shape":"InstanceInformationFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of instances.

" - }, - "Filters":{ - "shape":"InstanceInformationStringFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of instances.

" - }, - "MaxResults":{ - "shape":"MaxResultsEC2Compatible", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeInstanceInformationResult":{ - "type":"structure", - "members":{ - "InstanceInformationList":{ - "shape":"InstanceInformationList", - "documentation":"

The instance information list.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInstancePatchStatesForPatchGroupRequest":{ - "type":"structure", - "required":["PatchGroup"], - "members":{ - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group for which the patch state information should be retrieved.

" - }, - "Filters":{ - "shape":"InstancePatchStateFilterList", - "documentation":"

Each entry in the array is a structure containing:

Key (string between 1 and 200 characters)

Values (array containing a single string)

Type (string \"Equal\", \"NotEqual\", \"LessThan\", \"GreaterThan\")

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"PatchComplianceMaxResults", - "documentation":"

The maximum number of patches to return (per page).

", - "box":true - } - } - }, - "DescribeInstancePatchStatesForPatchGroupResult":{ - "type":"structure", - "members":{ - "InstancePatchStates":{ - "shape":"InstancePatchStatesList", - "documentation":"

The high-level patch state for the requested instances.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInstancePatchStatesRequest":{ - "type":"structure", - "required":["InstanceIds"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

The ID of the instance whose patch state information should be retrieved.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"PatchComplianceMaxResults", - "documentation":"

The maximum number of instances to return (per page).

", - "box":true - } - } - }, - "DescribeInstancePatchStatesResult":{ - "type":"structure", - "members":{ - "InstancePatchStates":{ - "shape":"InstancePatchStateList", - "documentation":"

The high-level patch state for the requested instances.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInstancePatchesRequest":{ - "type":"structure", - "required":["InstanceId"], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance whose patch state information should be retrieved.

" - }, - "Filters":{ - "shape":"PatchOrchestratorFilterList", - "documentation":"

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", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"PatchComplianceMaxResults", - "documentation":"

The maximum number of patches to return (per page).

", - "box":true - } - } - }, - "DescribeInstancePatchesResult":{ - "type":"structure", - "members":{ - "Patches":{ - "shape":"PatchComplianceDataList", - "documentation":"

Each entry in the array is a structure containing:

Title (string)

KBId (string)

Classification (string)

Severity (string)

State (string: \"INSTALLED\", \"INSTALLED OTHER\", \"MISSING\", \"NOT APPLICABLE\", \"FAILED\")

InstalledTime (DateTime)

InstalledBy (string)

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeInventoryDeletionsRequest":{ - "type":"structure", - "members":{ - "DeletionId":{ - "shape":"InventoryDeletionId", - "documentation":"

Specify the delete inventory ID for which you want information. This ID was returned by the DeleteInventory action.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "DescribeInventoryDeletionsResult":{ - "type":"structure", - "members":{ - "InventoryDeletions":{ - "shape":"InventoryDeletionsList", - "documentation":"

A list of status items for deleted inventory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "DescribeMaintenanceWindowExecutionTaskInvocationsRequest":{ - "type":"structure", - "required":[ - "WindowExecutionId", - "TaskId" - ], - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution the task is part of.

" - }, - "TaskId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task in the Maintenance Window task that should be retrieved.

" - }, - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to scope down the returned task invocations. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowExecutionTaskInvocationsResult":{ - "type":"structure", - "members":{ - "WindowExecutionTaskInvocationIdentities":{ - "shape":"MaintenanceWindowExecutionTaskInvocationIdentityList", - "documentation":"

Information about the task invocation results per invocation.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMaintenanceWindowExecutionTasksRequest":{ - "type":"structure", - "required":["WindowExecutionId"], - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution whose task executions should be retrieved.

" - }, - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to scope down the returned tasks. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowExecutionTasksResult":{ - "type":"structure", - "members":{ - "WindowExecutionTaskIdentities":{ - "shape":"MaintenanceWindowExecutionTaskIdentityList", - "documentation":"

Information about the task executions.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMaintenanceWindowExecutionsRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose executions should be retrieved.

" - }, - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Each entry in the array is a structure containing:

Key (string, between 1 and 128 characters)

Values (array of strings, each string is between 1 and 256 characters)

The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowExecutionsResult":{ - "type":"structure", - "members":{ - "WindowExecutions":{ - "shape":"MaintenanceWindowExecutionList", - "documentation":"

Information about the Maintenance Windows execution.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMaintenanceWindowTargetsRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose targets should be retrieved.

" - }, - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowTargetsResult":{ - "type":"structure", - "members":{ - "Targets":{ - "shape":"MaintenanceWindowTargetList", - "documentation":"

Information about the targets in the Maintenance Window.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMaintenanceWindowTasksRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window whose tasks should be retrieved.

" - }, - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowTasksResult":{ - "type":"structure", - "members":{ - "Tasks":{ - "shape":"MaintenanceWindowTaskList", - "documentation":"

Information about the tasks in the Maintenance Window.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeMaintenanceWindowsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"MaintenanceWindowFilterList", - "documentation":"

Optional filters used to narrow down the scope of the returned Maintenance Windows. Supported filter keys are Name and Enabled.

" - }, - "MaxResults":{ - "shape":"MaintenanceWindowMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeMaintenanceWindowsResult":{ - "type":"structure", - "members":{ - "WindowIdentities":{ - "shape":"MaintenanceWindowIdentityList", - "documentation":"

Information about the Maintenance Windows.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribeParametersRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "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.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribeParametersResult":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParameterMetadataList", - "documentation":"

Parameters returned by the request.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribePatchBaselinesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"PatchOrchestratorFilterList", - "documentation":"

Each element in the array is a structure containing:

Key: (string, \"NAME_PREFIX\" or \"OWNER\")

Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

" - }, - "MaxResults":{ - "shape":"PatchBaselineMaxResults", - "documentation":"

The maximum number of patch baselines to return (per page).

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribePatchBaselinesResult":{ - "type":"structure", - "members":{ - "BaselineIdentities":{ - "shape":"PatchBaselineIdentityList", - "documentation":"

An array of PatchBaselineIdentity elements.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescribePatchGroupStateRequest":{ - "type":"structure", - "required":["PatchGroup"], - "members":{ - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group whose patch snapshot should be retrieved.

" - } - } - }, - "DescribePatchGroupStateResult":{ - "type":"structure", - "members":{ - "Instances":{ - "shape":"Integer", - "documentation":"

The number of instances in the patch group.

" - }, - "InstancesWithInstalledPatches":{ - "shape":"Integer", - "documentation":"

The number of instances with installed patches.

" - }, - "InstancesWithInstalledOtherPatches":{ - "shape":"Integer", - "documentation":"

The number of instances with patches installed that aren't defined in the patch baseline.

" - }, - "InstancesWithMissingPatches":{ - "shape":"Integer", - "documentation":"

The number of instances with missing patches from the patch baseline.

" - }, - "InstancesWithFailedPatches":{ - "shape":"Integer", - "documentation":"

The number of instances with patches from the patch baseline that failed to install.

" - }, - "InstancesWithNotApplicablePatches":{ - "shape":"Integer", - "documentation":"

The number of instances with patches that aren't applicable.

" - } - } - }, - "DescribePatchGroupsRequest":{ - "type":"structure", - "members":{ - "MaxResults":{ - "shape":"PatchBaselineMaxResults", - "documentation":"

The maximum number of patch groups to return (per page).

", - "box":true - }, - "Filters":{ - "shape":"PatchOrchestratorFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "DescribePatchGroupsResult":{ - "type":"structure", - "members":{ - "Mappings":{ - "shape":"PatchGroupPatchBaselineMappingList", - "documentation":"

Each entry in the array contains:

PatchGroup: string (between 1 and 256 characters, Regex: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)

PatchBaselineIdentity: A PatchBaselineIdentity element.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "DescriptionInDocument":{"type":"string"}, - "DocumentARN":{ - "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$" - }, - "DocumentAlreadyExists":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified document already exists.

", - "exception":true - }, - "DocumentContent":{ - "type":"string", - "min":1 - }, - "DocumentDefaultVersionDescription":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document.

" - }, - "DefaultVersion":{ - "shape":"DocumentVersion", - "documentation":"

The default version of the document.

" - } - }, - "documentation":"

A default version of a document.

" - }, - "DocumentDescription":{ - "type":"structure", - "members":{ - "Sha1":{ - "shape":"DocumentSha1", - "documentation":"

The SHA1 hash of the document, which you can use for verification.

" - }, - "Hash":{ - "shape":"DocumentHash", - "documentation":"

The Sha256 or Sha1 hash created by the system when the document was created.

Sha1 hashes have been deprecated.

" - }, - "HashType":{ - "shape":"DocumentHashType", - "documentation":"

Sha256 or Sha1.

Sha1 hashes have been deprecated.

" - }, - "Name":{ - "shape":"DocumentARN", - "documentation":"

The name of the Systems Manager document.

" - }, - "Owner":{ - "shape":"DocumentOwner", - "documentation":"

The AWS user account that created the document.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date when the document was created.

" - }, - "Status":{ - "shape":"DocumentStatus", - "documentation":"

The status of the Systems Manager document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "Description":{ - "shape":"DescriptionInDocument", - "documentation":"

A description of the document.

" - }, - "Parameters":{ - "shape":"DocumentParameterList", - "documentation":"

A description of the parameters for a document.

" - }, - "PlatformTypes":{ - "shape":"PlatformTypeList", - "documentation":"

The list of OS platforms compatible with this Systems Manager document.

" - }, - "DocumentType":{ - "shape":"DocumentType", - "documentation":"

The type of document.

" - }, - "SchemaVersion":{ - "shape":"DocumentSchemaVersion", - "documentation":"

The schema version.

" - }, - "LatestVersion":{ - "shape":"DocumentVersion", - "documentation":"

The latest version of the document.

" - }, - "DefaultVersion":{ - "shape":"DocumentVersion", - "documentation":"

The default version.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

The document format, either JSON or YAML.

" - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags, or metadata, that have been applied to the document.

" - } - }, - "documentation":"

Describes a Systems Manager document.

" - }, - "DocumentFilter":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"DocumentFilterKey", - "documentation":"

The name of the filter.

" - }, - "value":{ - "shape":"DocumentFilterValue", - "documentation":"

The value of the filter.

" - } - }, - "documentation":"

Describes a filter.

" - }, - "DocumentFilterKey":{ - "type":"string", - "enum":[ - "Name", - "Owner", - "PlatformTypes", - "DocumentType" - ] - }, - "DocumentFilterList":{ - "type":"list", - "member":{"shape":"DocumentFilter"}, - "min":1 - }, - "DocumentFilterValue":{ - "type":"string", - "min":1 - }, - "DocumentFormat":{ - "type":"string", - "enum":[ - "YAML", - "JSON" - ] - }, - "DocumentHash":{ - "type":"string", - "max":256 - }, - "DocumentHashType":{ - "type":"string", - "enum":[ - "Sha256", - "Sha1" - ] - }, - "DocumentIdentifier":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

The name of the Systems Manager document.

" - }, - "Owner":{ - "shape":"DocumentOwner", - "documentation":"

The AWS user account that created the document.

" - }, - "PlatformTypes":{ - "shape":"PlatformTypeList", - "documentation":"

The operating system platform.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "DocumentType":{ - "shape":"DocumentType", - "documentation":"

The document type.

" - }, - "SchemaVersion":{ - "shape":"DocumentSchemaVersion", - "documentation":"

The schema version.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

The document format, either JSON or YAML.

" - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference in the AWS CloudFormation User Guide.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags, or metadata, that have been applied to the document.

" - } - }, - "documentation":"

Describes the name of a Systems Manager document.

" - }, - "DocumentIdentifierList":{ - "type":"list", - "member":{"shape":"DocumentIdentifier"} - }, - "DocumentKeyValuesFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"DocumentKeyValuesFilterKey", - "documentation":"

The name of the filter key.

" - }, - "Values":{ - "shape":"DocumentKeyValuesFilterValues", - "documentation":"

The value for the filter key.

" - } - }, - "documentation":"

One or more filters. Use a filter to return a more specific list of documents.

For keys, you can specify one or more tags that have been applied to a document.

Other valid values include Owner, Name, PlatformTypes, and DocumentType.

Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.

If you use Name as a key, you can use a name prefix to return a list of documents. For example, in the AWS CLI, to return a list of all documents that begin with Te, run the following command:

aws ssm list-documents --filters Key=Name,Values=Te

If you specify more than two keys, only documents that are identified by all the tags are returned in the results. If you specify more than two values for a key, documents that are identified by any of the values are returned in the results.

To specify a custom key and value pair, use the format Key=tag:[tagName],Values=[valueName].

For example, if you created a Key called region and are using the AWS CLI to call the list-documents command:

aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self

" - }, - "DocumentKeyValuesFilterKey":{ - "type":"string", - "max":128, - "min":1 - }, - "DocumentKeyValuesFilterList":{ - "type":"list", - "member":{"shape":"DocumentKeyValuesFilter"}, - "max":6, - "min":0 - }, - "DocumentKeyValuesFilterValue":{ - "type":"string", - "max":256, - "min":1 - }, - "DocumentKeyValuesFilterValues":{ - "type":"list", - "member":{"shape":"DocumentKeyValuesFilterValue"} - }, - "DocumentLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You can have at most 200 active Systems Manager documents.

", - "exception":true - }, - "DocumentName":{ - "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" - }, - "DocumentOwner":{"type":"string"}, - "DocumentParameter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentParameterName", - "documentation":"

The name of the parameter.

" - }, - "Type":{ - "shape":"DocumentParameterType", - "documentation":"

The type of parameter. The type can be either String or StringList.

" - }, - "Description":{ - "shape":"DocumentParameterDescrption", - "documentation":"

A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.

" - }, - "DefaultValue":{ - "shape":"DocumentParameterDefaultValue", - "documentation":"

If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.

" - } - }, - "documentation":"

Parameters specified in a System Manager document that execute on the server when the command is run.

" - }, - "DocumentParameterDefaultValue":{"type":"string"}, - "DocumentParameterDescrption":{"type":"string"}, - "DocumentParameterList":{ - "type":"list", - "member":{"shape":"DocumentParameter"} - }, - "DocumentParameterName":{"type":"string"}, - "DocumentParameterType":{ - "type":"string", - "enum":[ - "String", - "StringList" - ] - }, - "DocumentPermissionLimit":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The document cannot be shared with more AWS user accounts. You can share a document with a maximum of 20 accounts. You can publicly share up to five documents. If you need to increase this limit, contact AWS Support.

", - "exception":true - }, - "DocumentPermissionType":{ - "type":"string", - "enum":["Share"] - }, - "DocumentSchemaVersion":{ - "type":"string", - "pattern":"([0-9]+)\\.([0-9]+)" - }, - "DocumentSha1":{"type":"string"}, - "DocumentStatus":{ - "type":"string", - "enum":[ - "Creating", - "Active", - "Updating", - "Deleting" - ] - }, - "DocumentType":{ - "type":"string", - "enum":[ - "Command", - "Policy", - "Automation" - ] - }, - "DocumentVersion":{ - "type":"string", - "pattern":"([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)" - }, - "DocumentVersionInfo":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The document name.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date the document was created.

" - }, - "IsDefaultVersion":{ - "shape":"Boolean", - "documentation":"

An identifier for the default version of the document.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

The document format, either JSON or YAML.

" - } - }, - "documentation":"

Version information about the document.

" - }, - "DocumentVersionLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The document has too many versions. Delete one or more document versions and try again.

", - "exception":true - }, - "DocumentVersionList":{ - "type":"list", - "member":{"shape":"DocumentVersionInfo"}, - "min":1 - }, - "DocumentVersionNumber":{ - "type":"string", - "pattern":"(^[1-9][0-9]*$)" - }, - "DoesNotExistException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Error returned when the ID specified for a resource, such as a Maintenance Window or Patch baseline, doesn't exist.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", - "exception":true - }, - "DryRun":{"type":"boolean"}, - "DuplicateDocumentContent":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The content of the association document matches another document. Change the content of the document and try again.

", - "exception":true - }, - "DuplicateInstanceId":{ - "type":"structure", - "members":{ - }, - "documentation":"

You cannot specify an instance ID in more than one association.

", - "exception":true - }, - "EffectiveInstanceAssociationMaxResults":{ - "type":"integer", - "max":5, - "min":1 - }, - "EffectivePatch":{ - "type":"structure", - "members":{ - "Patch":{ - "shape":"Patch", - "documentation":"

Provides metadata for a patch, including information such as the KB ID, severity, classification and a URL for where more information can be obtained about the patch.

" - }, - "PatchStatus":{ - "shape":"PatchStatus", - "documentation":"

The status of the patch in a patch baseline. This includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.

" - } - }, - "documentation":"

The EffectivePatch structure defines metadata about a patch along with the approval state of the patch in a particular patch baseline. The approval state includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.

" - }, - "EffectivePatchList":{ - "type":"list", - "member":{"shape":"EffectivePatch"} - }, - "ErrorCount":{"type":"integer"}, - "ExecutionMode":{ - "type":"string", - "enum":[ - "Auto", - "Interactive" - ] - }, - "ExpirationDate":{"type":"timestamp"}, - "FailedCreateAssociation":{ - "type":"structure", - "members":{ - "Entry":{ - "shape":"CreateAssociationBatchRequestEntry", - "documentation":"

The association.

" - }, - "Message":{ - "shape":"BatchErrorMessage", - "documentation":"

A description of the failure.

" - }, - "Fault":{ - "shape":"Fault", - "documentation":"

The source of the failure.

" - } - }, - "documentation":"

Describes a failed association.

" - }, - "FailedCreateAssociationList":{ - "type":"list", - "member":{"shape":"FailedCreateAssociation"} - }, - "FailureDetails":{ - "type":"structure", - "members":{ - "FailureStage":{ - "shape":"String", - "documentation":"

The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

" - }, - "FailureType":{ - "shape":"String", - "documentation":"

The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

" - }, - "Details":{ - "shape":"AutomationParameterMap", - "documentation":"

Detailed information about the Automation step failure.

" - } - }, - "documentation":"

Information about an Automation failure.

" - }, - "Fault":{ - "type":"string", - "enum":[ - "Client", - "Server", - "Unknown" - ] - }, - "FeatureNotAvailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You attempted to register a LAMBDA or STEP_FUNCTION task in a region where the corresponding service is not available.

", - "exception":true - }, - "GetAutomationExecutionRequest":{ - "type":"structure", - "required":["AutomationExecutionId"], - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

" - } - } - }, - "GetAutomationExecutionResult":{ - "type":"structure", - "members":{ - "AutomationExecution":{ - "shape":"AutomationExecution", - "documentation":"

Detailed information about the current state of an automation execution.

" - } - } - }, - "GetCommandInvocationRequest":{ - "type":"structure", - "required":[ - "CommandId", - "InstanceId" - ], - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

(Required) The parent command ID of the invocation plugin.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

(Required) The ID of the managed instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.

" - }, - "PluginName":{ - "shape":"CommandPluginName", - "documentation":"

(Optional) The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned.

" - } - } - }, - "GetCommandInvocationResult":{ - "type":"structure", - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

The parent command ID of the invocation plugin.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the managed instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.

" - }, - "Comment":{ - "shape":"Comment", - "documentation":"

The comment text for the command.

" - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

The name of the document that was executed. For example, AWS-RunShellScript.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The SSM document version used in the request.

" - }, - "PluginName":{ - "shape":"CommandPluginName", - "documentation":"

The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin.

" - }, - "ResponseCode":{ - "shape":"ResponseCode", - "documentation":"

The error level response code for the plugin script. If the response code is -1, then the command has not started 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, 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.

" - }, - "ExecutionEndDateTime":{ - "shape":"StringDateTime", - "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 this invocation plugin. This status can be different than StatusDetails.

" - }, - "StatusDetails":{ - "shape":"StatusDetails", - "documentation":"

A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding Command Statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

  • Pending: The command has not been sent to the instance.

  • In Progress: The command has been sent to the instance but has not reached a terminal state.

  • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, 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.

" - }, - "StandardOutputUrl":{ - "shape":"Url", - "documentation":"

The URL for the complete text written by the plugin to stdout in Amazon S3. If an Amazon S3 bucket was not specified, then this string is empty.

" - }, - "StandardErrorContent":{ - "shape":"StandardErrorContent", - "documentation":"

The first 8,000 characters written by the plugin to stderr. If the command has not finished executing, then this string is empty.

" - }, - "StandardErrorUrl":{ - "shape":"Url", - "documentation":"

The URL for the complete text written by the plugin to stderr. If the command has not finished executing, then this string is empty.

" - }, - "CloudWatchOutputConfig":{ - "shape":"CloudWatchOutputConfig", - "documentation":"

CloudWatch Logs information where Systems Manager sent the command output.

" - } - } - }, - "GetDefaultPatchBaselineRequest":{ - "type":"structure", - "members":{ - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Returns the default patch baseline for the specified operating system.

" - } - } - }, - "GetDefaultPatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the default patch baseline.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

The operating system for the returned patch baseline.

" - } - } - }, - "GetDeployablePatchSnapshotForInstanceRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "SnapshotId" - ], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance for which the appropriate patch snapshot should be retrieved.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The user-defined snapshot ID.

" - } - } - }, - "GetDeployablePatchSnapshotForInstanceResult":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The user-defined snapshot ID.

" - }, - "SnapshotDownloadUrl":{ - "shape":"SnapshotDownloadUrl", - "documentation":"

A pre-signed Amazon S3 URL that can be used to download the patch snapshot.

" - }, - "Product":{ - "shape":"Product", - "documentation":"

Returns the specific operating system (for example Windows Server 2012 or Amazon Linux 2015.09) on the instance for the specified patch snapshot.

" - } - } - }, - "GetDocumentRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

The name of the Systems Manager document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version for which you want information.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.

" - } - } - }, - "GetDocumentResult":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

The name of the Systems Manager document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version.

" - }, - "Content":{ - "shape":"DocumentContent", - "documentation":"

The contents of the Systems Manager document.

" - }, - "DocumentType":{ - "shape":"DocumentType", - "documentation":"

The document type.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

The document format, either JSON or YAML.

" - } - } - }, - "GetInventoryRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"InventoryFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "Aggregators":{ - "shape":"InventoryAggregatorList", - "documentation":"

Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType type, you can see a count of how many Windows and Linux instances exist in your inventoried fleet.

" - }, - "ResultAttributes":{ - "shape":"ResultAttributeList", - "documentation":"

The list of inventory item types to return.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "GetInventoryResult":{ - "type":"structure", - "members":{ - "Entities":{ - "shape":"InventoryResultEntityList", - "documentation":"

Collection of inventory entities such as a collection of instance inventory.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "GetInventorySchemaMaxResults":{ - "type":"integer", - "max":200, - "min":50 - }, - "GetInventorySchemaRequest":{ - "type":"structure", - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeNameFilter", - "documentation":"

The type of inventory item to return.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"GetInventorySchemaMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "Aggregator":{ - "shape":"AggregatorSchemaOnly", - "documentation":"

Returns inventory schemas that support aggregation. For example, this call returns the AWS:InstanceInformation type, because it supports aggregation based on the PlatformName, PlatformType, and PlatformVersion attributes.

" - }, - "SubType":{ - "shape":"IsSubTypeSchema", - "documentation":"

Returns the sub-type schema for a specified inventory type.

", - "box":true - } - } - }, - "GetInventorySchemaResult":{ - "type":"structure", - "members":{ - "Schemas":{ - "shape":"InventoryItemSchemaResultList", - "documentation":"

Inventory schemas returned by the request.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "GetMaintenanceWindowExecutionRequest":{ - "type":"structure", - "required":["WindowExecutionId"], - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" - } - } - }, - "GetMaintenanceWindowExecutionResult":{ - "type":"structure", - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution.

" - }, - "TaskIds":{ - "shape":"MaintenanceWindowExecutionTaskIdList", - "documentation":"

The ID of the task executions from the Maintenance Window execution.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the Maintenance Window execution.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the Status. Only available for certain status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time the Maintenance Window started executing.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time the Maintenance Window finished executing.

" - } - } - }, - "GetMaintenanceWindowExecutionTaskInvocationRequest":{ - "type":"structure", - "required":[ - "WindowExecutionId", - "TaskId", - "InvocationId" - ], - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution for which the task is a part.

" - }, - "TaskId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task in the Maintenance Window task that should be retrieved.

" - }, - "InvocationId":{ - "shape":"MaintenanceWindowExecutionTaskInvocationId", - "documentation":"

The invocation ID to retrieve.

" - } - } - }, - "GetMaintenanceWindowExecutionTaskInvocationResult":{ - "type":"structure", - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The Maintenance Window execution ID.

" - }, - "TaskExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The task execution ID.

" - }, - "InvocationId":{ - "shape":"MaintenanceWindowExecutionTaskInvocationId", - "documentation":"

The invocation ID.

" - }, - "ExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskExecutionId", - "documentation":"

The execution ID.

" - }, - "TaskType":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

Retrieves the task type for a Maintenance Window. Task types include the following: LAMBDA, STEP_FUNCTION, AUTOMATION, RUN_COMMAND.

" - }, - "Parameters":{ - "shape":"MaintenanceWindowExecutionTaskInvocationParameters", - "documentation":"

The parameters used at the time that the task executed.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The task status for an invocation.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the status. Details are only available for certain status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time that the task started executing on the target.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time that the task finished executing on the target.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTaskTargetId", - "documentation":"

The Maintenance Window target ID.

" - } - } - }, - "GetMaintenanceWindowExecutionTaskRequest":{ - "type":"structure", - "required":[ - "WindowExecutionId", - "TaskId" - ], - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" - }, - "TaskId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window task that should be retrieved.

" - } - } - }, - "GetMaintenanceWindowExecutionTaskResult":{ - "type":"structure", - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that includes the task.

" - }, - "TaskExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window task that was retrieved.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the executed task.

" - }, - "ServiceRole":{ - "shape":"ServiceRole", - "documentation":"

The role that was assumed when executing the task.

" - }, - "Type":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task executed.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParametersList", - "documentation":"

The parameters passed to the task when it was executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The defined maximum number of task executions that could be run in parallel.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the task.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the Status. Only available for certain status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time the task execution started.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time the task execution completed.

" - } - } - }, - "GetMaintenanceWindowRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the desired Maintenance Window.

" - } - } - }, - "GetMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

The description of the Maintenance Window.

" - }, - "Schedule":{ - "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" - }, - "Duration":{ - "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" - }, - "Cutoff":{ - "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" - }, - "AllowUnassociatedTargets":{ - "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

" - }, - "Enabled":{ - "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Windows is enabled.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date the Maintenance Window was created.

" - }, - "ModifiedDate":{ - "shape":"DateTime", - "documentation":"

The date the Maintenance Window was last modified.

" - } - } - }, - "GetMaintenanceWindowTaskRequest":{ - "type":"structure", - "required":[ - "WindowId", - "WindowTaskId" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID that includes the task to retrieve.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The Maintenance Window task ID to retrieve.

" - } - } - }, - "GetMaintenanceWindowTaskResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The retrieved Maintenance Window ID.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The retrieved Maintenance Window task ID.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets where the task should execute.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. For STEP_FUNCTION tasks, the value is the state machine ARN.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The IAM service role to assume during task execution.

" - }, - "TaskType":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task to execute.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters to pass to the task when it executes.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "TaskInvocationParameters":{ - "shape":"MaintenanceWindowTaskInvocationParameters", - "documentation":"

The parameters to pass to the task when it executes.

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task when it executes. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run this task in parallel.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed before the task stops being scheduled.

" - }, - "LoggingInfo":{ - "shape":"LoggingInfo", - "documentation":"

The location in Amazon S3 where the task results are logged.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The retrieved task name.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

The retrieved task description.

" - } - } - }, - "GetParameterHistoryRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The name of a parameter you want to query.

" - }, - "WithDecryption":{ - "shape":"Boolean", - "documentation":"

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", - "box":true - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "GetParameterHistoryResult":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParameterHistoryList", - "documentation":"

A list of parameters returned by the request.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "GetParameterRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The name of the parameter you want to query.

" - }, - "WithDecryption":{ - "shape":"Boolean", - "documentation":"

Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", - "box":true - } - } - }, - "GetParameterResult":{ - "type":"structure", - "members":{ - "Parameter":{ - "shape":"Parameter", - "documentation":"

Information about a parameter.

" - } - } - }, - "GetParametersByPathMaxResults":{ - "type":"integer", - "max":10, - "min":1 - }, - "GetParametersByPathRequest":{ - "type":"structure", - "required":["Path"], - "members":{ - "Path":{ - "shape":"PSParameterName", - "documentation":"

The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33

" - }, - "Recursive":{ - "shape":"Boolean", - "documentation":"

Retrieve all parameters within a hierarchy.

If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a, they can still call the GetParametersByPath API action recursively and view /a/b.

", - "box":true - }, - "ParameterFilters":{ - "shape":"ParameterStringFilterList", - "documentation":"

Filters to limit the request results.

You can't filter using the parameter name.

" - }, - "WithDecryption":{ - "shape":"Boolean", - "documentation":"

Retrieve all parameters in a hierarchy with their value decrypted.

", - "box":true - }, - "MaxResults":{ - "shape":"GetParametersByPathMaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "GetParametersByPathResult":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParameterList", - "documentation":"

A list of parameters found in the specified hierarchy.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "GetParametersRequest":{ - "type":"structure", - "required":["Names"], - "members":{ - "Names":{ - "shape":"ParameterNameList", - "documentation":"

Names of the parameters for which you want to query information.

" - }, - "WithDecryption":{ - "shape":"Boolean", - "documentation":"

Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

", - "box":true - } - } - }, - "GetParametersResult":{ - "type":"structure", - "members":{ - "Parameters":{ - "shape":"ParameterList", - "documentation":"

A list of details for a parameter.

" - }, - "InvalidParameters":{ - "shape":"ParameterNameList", - "documentation":"

A list of parameters that are not formatted correctly or do not run when executed.

" - } - } - }, - "GetPatchBaselineForPatchGroupRequest":{ - "type":"structure", - "required":["PatchGroup"], - "members":{ - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group whose patch baseline should be retrieved.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Returns he operating system rule specified for patch groups using the patch baseline.

" - } - } - }, - "GetPatchBaselineForPatchGroupResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline that should be used for the patch group.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

The operating system rule specified for patch groups using the patch baseline.

" - } - } - }, - "GetPatchBaselineRequest":{ - "type":"structure", - "required":["BaselineId"], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to retrieve.

" - } - } - }, - "GetPatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the retrieved patch baseline.

" - }, - "Name":{ - "shape":"BaselineName", - "documentation":"

The name of the patch baseline.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Returns the operating system specified for the patch baseline.

" - }, - "GlobalFilters":{ - "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" - }, - "ApprovalRules":{ - "shape":"PatchRuleGroup", - "documentation":"

A set of rules used to include patches in the baseline.

" - }, - "ApprovedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

" - }, - "ApprovedPatchesComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

Returns the specified compliance severity level for approved patches in the patch baseline.

" - }, - "ApprovedPatchesEnableNonSecurity":{ - "shape":"Boolean", - "documentation":"

Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

", - "box":true - }, - "RejectedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

" - }, - "PatchGroups":{ - "shape":"PatchGroupList", - "documentation":"

Patch groups included in the patch baseline.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date the patch baseline was created.

" - }, - "ModifiedDate":{ - "shape":"DateTime", - "documentation":"

The date the patch baseline was last modified.

" - }, - "Description":{ - "shape":"BaselineDescription", - "documentation":"

A description of the patch baseline.

" - }, - "Sources":{ - "shape":"PatchSourceList", - "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

" - } - } - }, - "HierarchyLevelLimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

A hierarchy can have a maximum of 15 levels. For more information, see Requirements and Constraints for Parameter Names in the AWS Systems Manager User Guide.

" - } - }, - "documentation":"

A hierarchy can have a maximum of 15 levels. For more information, see Requirements and Constraints for Parameter Names in the AWS Systems Manager User Guide.

", - "exception":true - }, - "HierarchyTypeMismatchException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

" - } - }, - "documentation":"

Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

", - "exception":true - }, - "IPAddress":{ - "type":"string", - "max":46, - "min":1 - }, - "IamRole":{ - "type":"string", - "max":64 - }, - "IdempotencyToken":{ - "type":"string", - "max":36, - "min":36, - "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" - }, - "IdempotentParameterMismatch":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token.

", - "exception":true - }, - "InstanceAggregatedAssociationOverview":{ - "type":"structure", - "members":{ - "DetailedStatus":{ - "shape":"StatusName", - "documentation":"

Detailed status information about the aggregated associations.

" - }, - "InstanceAssociationStatusAggregatedCount":{ - "shape":"InstanceAssociationStatusAggregatedCount", - "documentation":"

The number of associations for the instance(s).

" - } - }, - "documentation":"

Status information about the aggregated associations.

" - }, - "InstanceAssociation":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - }, - "Content":{ - "shape":"DocumentContent", - "documentation":"

The content of the association document for the instance(s).

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

Version information for the association on the instance.

" - } - }, - "documentation":"

One or more association documents on the instance.

" - }, - "InstanceAssociationExecutionSummary":{ - "type":"string", - "max":512, - "min":1 - }, - "InstanceAssociationList":{ - "type":"list", - "member":{"shape":"InstanceAssociation"} - }, - "InstanceAssociationOutputLocation":{ - "type":"structure", - "members":{ - "S3Location":{ - "shape":"S3OutputLocation", - "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" - } - }, - "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" - }, - "InstanceAssociationOutputUrl":{ - "type":"structure", - "members":{ - "S3OutputUrl":{ - "shape":"S3OutputUrl", - "documentation":"

The URL of Amazon S3 bucket where you want to store the results of this request.

" - } - }, - "documentation":"

The URL of Amazon S3 bucket where you want to store the results of this request.

" - }, - "InstanceAssociationStatusAggregatedCount":{ - "type":"map", - "key":{"shape":"StatusName"}, - "value":{"shape":"InstanceCount"} - }, - "InstanceAssociationStatusInfo":{ - "type":"structure", - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID.

" - }, - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the association.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The association document verions.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

The version of the association applied to the instance.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID where the association was created.

" - }, - "ExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date the instance association executed.

" - }, - "Status":{ - "shape":"StatusName", - "documentation":"

Status information about the instance association.

" - }, - "DetailedStatus":{ - "shape":"StatusName", - "documentation":"

Detailed status information about the instance association.

" - }, - "ExecutionSummary":{ - "shape":"InstanceAssociationExecutionSummary", - "documentation":"

Summary information about association execution.

" - }, - "ErrorCode":{ - "shape":"AgentErrorCode", - "documentation":"

An error code returned by the request to create the association.

" - }, - "OutputUrl":{ - "shape":"InstanceAssociationOutputUrl", - "documentation":"

A URL for an Amazon S3 bucket where you want to store the results of this request.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

The name of the association applied to the instance.

" - } - }, - "documentation":"

Status information about the instance association.

" - }, - "InstanceAssociationStatusInfos":{ - "type":"list", - "member":{"shape":"InstanceAssociationStatusInfo"} - }, - "InstanceCount":{"type":"integer"}, - "InstanceId":{ - "type":"string", - "pattern":"(^i-(\\w{8}|\\w{17})$)|(^mi-\\w{17}$)" - }, - "InstanceIdList":{ - "type":"list", - "member":{"shape":"InstanceId"}, - "max":50, - "min":0 - }, - "InstanceInformation":{ - "type":"structure", - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID.

" - }, - "PingStatus":{ - "shape":"PingStatus", - "documentation":"

Connection status of SSM Agent.

" - }, - "LastPingDateTime":{ - "shape":"DateTime", - "documentation":"

The date and time when agent last pinged Systems Manager service.

", - "box":true - }, - "AgentVersion":{ - "shape":"Version", - "documentation":"

The version of SSM Agent running on your Linux instance.

" - }, - "IsLatestVersion":{ - "shape":"Boolean", - "documentation":"

Indicates whether latest version of SSM Agent is running on your instance. Some older versions of Windows Server use the EC2Config service to process SSM requests. For this reason, this field does not indicate whether or not the latest version is installed on Windows managed instances.

", - "box":true - }, - "PlatformType":{ - "shape":"PlatformType", - "documentation":"

The operating system platform type.

" - }, - "PlatformName":{ - "shape":"String", - "documentation":"

The name of the operating system platform running on your instance.

" - }, - "PlatformVersion":{ - "shape":"String", - "documentation":"

The version of the OS platform running on your instance.

" - }, - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

The activation ID created by Systems Manager when the server or VM was registered.

" - }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

The Amazon Identity and Access Management (IAM) role assigned to the on-premises Systems Manager managed instances. This call does not return the IAM role for Amazon EC2 instances.

" - }, - "RegistrationDate":{ - "shape":"DateTime", - "documentation":"

The date the server or VM was registered with AWS as a managed instance.

", - "box":true - }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

The type of instance. Instances are either EC2 instances or managed instances.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the managed instance.

" - }, - "IPAddress":{ - "shape":"IPAddress", - "documentation":"

The IP address of the managed instance.

" - }, - "ComputerName":{ - "shape":"ComputerName", - "documentation":"

The fully qualified host name of the managed instance.

" - }, - "AssociationStatus":{ - "shape":"StatusName", - "documentation":"

The status of the association.

" - }, - "LastAssociationExecutionDate":{ - "shape":"DateTime", - "documentation":"

The date the association was last executed.

" - }, - "LastSuccessfulAssociationExecutionDate":{ - "shape":"DateTime", - "documentation":"

The last date the association was successfully run.

" - }, - "AssociationOverview":{ - "shape":"InstanceAggregatedAssociationOverview", - "documentation":"

Information about the association.

" - } - }, - "documentation":"

Describes a filter for a specific list of instances.

" - }, - "InstanceInformationFilter":{ - "type":"structure", - "required":[ - "key", - "valueSet" - ], - "members":{ - "key":{ - "shape":"InstanceInformationFilterKey", - "documentation":"

The name of the filter.

" - }, - "valueSet":{ - "shape":"InstanceInformationFilterValueSet", - "documentation":"

The filter values.

" - } - }, - "documentation":"

Describes a filter for a specific list of instances.

" - }, - "InstanceInformationFilterKey":{ - "type":"string", - "enum":[ - "InstanceIds", - "AgentVersion", - "PingStatus", - "PlatformTypes", - "ActivationIds", - "IamRole", - "ResourceType", - "AssociationStatus" - ] - }, - "InstanceInformationFilterList":{ - "type":"list", - "member":{"shape":"InstanceInformationFilter"}, - "min":0 - }, - "InstanceInformationFilterValue":{ - "type":"string", - "min":1 - }, - "InstanceInformationFilterValueSet":{ - "type":"list", - "member":{"shape":"InstanceInformationFilterValue"}, - "max":100, - "min":1 - }, - "InstanceInformationList":{ - "type":"list", - "member":{"shape":"InstanceInformation"} - }, - "InstanceInformationStringFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"InstanceInformationStringFilterKey", - "documentation":"

The filter key name to describe your instances. For example:

\"InstanceIds\"|\"AgentVersion\"|\"PingStatus\"|\"PlatformTypes\"|\"ActivationIds\"|\"IamRole\"|\"ResourceType\"|\"AssociationStatus\"|\"Tag Key\"

" - }, - "Values":{ - "shape":"InstanceInformationFilterValueSet", - "documentation":"

The filter values.

" - } - }, - "documentation":"

The filters to describe or get information about your managed instances.

" - }, - "InstanceInformationStringFilterKey":{ - "type":"string", - "min":1 - }, - "InstanceInformationStringFilterList":{ - "type":"list", - "member":{"shape":"InstanceInformationStringFilter"}, - "min":0 - }, - "InstancePatchState":{ - "type":"structure", - "required":[ - "InstanceId", - "PatchGroup", - "BaselineId", - "OperationStartTime", - "OperationEndTime", - "Operation" - ], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the managed instance the high-level patch compliance information was collected for.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group the managed instance belongs to.

" - }, - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline used to patch the instance.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

Placeholder information. This field will always be empty in the current release of the service.

" - }, - "InstalledCount":{ - "shape":"PatchInstalledCount", - "documentation":"

The number of patches from the patch baseline that are installed on the instance.

" - }, - "InstalledOtherCount":{ - "shape":"PatchInstalledOtherCount", - "documentation":"

The number of patches not specified in the patch baseline that are installed on the instance.

" - }, - "MissingCount":{ - "shape":"PatchMissingCount", - "documentation":"

The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.

" - }, - "FailedCount":{ - "shape":"PatchFailedCount", - "documentation":"

The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.

" - }, - "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.

" - }, - "OperationStartTime":{ - "shape":"DateTime", - "documentation":"

The time the most recent patching operation was started on the instance.

" - }, - "OperationEndTime":{ - "shape":"DateTime", - "documentation":"

The time the most recent patching operation completed on the instance.

" - }, - "Operation":{ - "shape":"PatchOperationType", - "documentation":"

The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).

" - } - }, - "documentation":"

Defines the high-level patch compliance state for a managed instance, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the instance.

" - }, - "InstancePatchStateFilter":{ - "type":"structure", - "required":[ - "Key", - "Values", - "Type" - ], - "members":{ - "Key":{ - "shape":"InstancePatchStateFilterKey", - "documentation":"

The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.

" - }, - "Values":{ - "shape":"InstancePatchStateFilterValues", - "documentation":"

The value for the filter, must be an integer greater than or equal to 0.

" - }, - "Type":{ - "shape":"InstancePatchStateOperatorType", - "documentation":"

The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.

" - } - }, - "documentation":"

Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.

" - }, - "InstancePatchStateFilterKey":{ - "type":"string", - "max":200, - "min":1 - }, - "InstancePatchStateFilterList":{ - "type":"list", - "member":{"shape":"InstancePatchStateFilter"}, - "max":4, - "min":0 - }, - "InstancePatchStateFilterValue":{"type":"string"}, - "InstancePatchStateFilterValues":{ - "type":"list", - "member":{"shape":"InstancePatchStateFilterValue"}, - "max":1, - "min":1 - }, - "InstancePatchStateList":{ - "type":"list", - "member":{"shape":"InstancePatchState"} - }, - "InstancePatchStateOperatorType":{ - "type":"string", - "enum":[ - "Equal", - "NotEqual", - "LessThan", - "GreaterThan" - ] - }, - "InstancePatchStatesList":{ - "type":"list", - "member":{"shape":"InstancePatchState"}, - "max":5, - "min":1 - }, - "InstanceTagName":{ - "type":"string", - "max":255 - }, - "Integer":{"type":"integer"}, - "InternalServerError":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An error occurred on the server side.

", - "exception":true, - "fault":true - }, - "InvalidActivation":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The activation is not valid. The activation might have been deleted, or the ActivationId and the ActivationCode do not match.

", - "exception":true - }, - "InvalidActivationId":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try again.

", - "exception":true - }, - "InvalidAggregatorException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified aggregator is not valid for inventory groups. Verify that the aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.

", - "exception":true - }, - "InvalidAllowedPatternException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The request does not meet the regular expression requirement.

" - } - }, - "documentation":"

The request does not meet the regular expression requirement.

", - "exception":true - }, - "InvalidAssociation":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The association is not valid or does not exist.

", - "exception":true - }, - "InvalidAssociationVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The version you specified is not valid. Use ListAssociationVersions to view all versions of an association according to the association ID. Or, use the $LATEST parameter to view the latest version of the association.

", - "exception":true - }, - "InvalidAutomationExecutionParametersException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The supplied parameters for invoking the specified Automation document are incorrect. For example, they may not match the set of parameters permitted for the specified Automation document.

", - "exception":true - }, - "InvalidAutomationSignalException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The signal is not valid for the current Automation execution.

", - "exception":true - }, - "InvalidAutomationStatusUpdateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified update status operation is not valid.

", - "exception":true - }, - "InvalidCommandId":{ - "type":"structure", - "members":{ - }, - "exception":true - }, - "InvalidDeleteInventoryParametersException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

One or more of the parameters specified for the delete operation is not valid. Verify all parameters and try again.

", - "exception":true - }, - "InvalidDeletionIdException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The ID specified for the delete operation does not exist or is not valide. Verify the ID and try again.

", - "exception":true - }, - "InvalidDocument":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

The document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

" - } - }, - "documentation":"

The specified document does not exist.

", - "exception":true - }, - "InvalidDocumentContent":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"String", - "documentation":"

A description of the validation error.

" - } - }, - "documentation":"

The content for the document is not valid.

", - "exception":true - }, - "InvalidDocumentOperation":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You attempted to delete a document while it is still shared. You must stop sharing the document before you can delete it.

", - "exception":true - }, - "InvalidDocumentSchemaVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The version of the document schema is not supported.

", - "exception":true - }, - "InvalidDocumentVersion":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The document version is not valid or does not exist.

", - "exception":true - }, - "InvalidFilter":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The filter name is not valid. Verify the you entered the correct name and try again.

", - "exception":true - }, - "InvalidFilterKey":{ - "type":"structure", - "members":{ - }, - "documentation":"

The specified key is not valid.

", - "exception":true - }, - "InvalidFilterOption":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

" - } - }, - "documentation":"

The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

", - "exception":true - }, - "InvalidFilterValue":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The filter value is not valid. Verify the value and try again.

", - "exception":true - }, - "InvalidInstanceId":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The following problems can cause this exception:

You do not have permission to access the instance.

SSM Agent is not running. On managed instances and Linux instances, verify that the SSM Agent is running. On EC2 Windows instances, verify that the EC2Config service is running.

SSM Agent or EC2Config service is not registered to the SSM endpoint. Try reinstalling 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":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The specified filter value is not valid.

", - "exception":true - }, - "InvalidInventoryGroupException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified inventory group is not valid.

", - "exception":true - }, - "InvalidInventoryItemContextException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You specified invalid keys or values in the Context attribute for InventoryItem. Verify the keys and values, and try again.

", - "exception":true - }, - "InvalidInventoryRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The request is not valid.

", - "exception":true - }, - "InvalidItemContentException":{ - "type":"structure", - "members":{ - "TypeName":{"shape":"InventoryItemTypeName"}, - "Message":{"shape":"String"} - }, - "documentation":"

One or more content items is not valid.

", - "exception":true - }, - "InvalidKeyId":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The query key ID is not valid.

", - "exception":true - }, - "InvalidNextToken":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified token is not valid.

", - "exception":true - }, - "InvalidNotificationConfig":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

One or more configuration items is not valid. Verify that a valid Amazon Resource Name (ARN) was provided for an Amazon SNS topic.

", - "exception":true - }, - "InvalidOptionException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The delete inventory option specified is not valid. Verify the option and try again.

", - "exception":true - }, - "InvalidOutputFolder":{ - "type":"structure", - "members":{ - }, - "documentation":"

The S3 bucket does not exist.

", - "exception":true - }, - "InvalidOutputLocation":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output location is not valid or does not exist.

", - "exception":true - }, - "InvalidParameters":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You must specify values for all required parameters in the Systems Manager document. You can only supply values to parameters defined in the Systems Manager document.

", - "exception":true - }, - "InvalidPermissionType":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The permission type is not supported. Share is the only supported permission type.

", - "exception":true - }, - "InvalidPluginName":{ - "type":"structure", - "members":{ - }, - "documentation":"

The plugin name is not valid.

", - "exception":true - }, - "InvalidResourceId":{ - "type":"structure", - "members":{ - }, - "documentation":"

The resource ID is not valid. Verify that you entered the correct ID and try again.

", - "exception":true - }, - "InvalidResourceType":{ - "type":"structure", - "members":{ - }, - "documentation":"

The resource type is not valid. For example, if you are attempting to tag an instance, the instance must be a registered, managed instance.

", - "exception":true - }, - "InvalidResultAttributeException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified inventory item result attribute is not valid.

", - "exception":true - }, - "InvalidRole":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for Run Command notifications, see Configuring Amazon SNS Notifications for Run Command in the AWS Systems Manager User Guide.

", - "exception":true - }, - "InvalidSchedule":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The schedule is invalid. Verify your cron or rate expression and try again.

", - "exception":true - }, - "InvalidTarget":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The target is not valid or does not exist. It might not be configured for EC2 Systems Manager or you might not have permission to perform the operation.

", - "exception":true - }, - "InvalidTypeNameException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The parameter type name is not valid.

", - "exception":true - }, - "InvalidUpdate":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The update is not valid.

", - "exception":true - }, - "InventoryAggregator":{ - "type":"structure", - "members":{ - "Expression":{ - "shape":"InventoryAggregatorExpression", - "documentation":"

The inventory type and attribute name for aggregation.

" - }, - "Aggregators":{ - "shape":"InventoryAggregatorList", - "documentation":"

Nested aggregators to further refine aggregation for an inventory type.

" - }, - "Groups":{ - "shape":"InventoryGroupList", - "documentation":"

A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.

" - } - }, - "documentation":"

Specifies the inventory type and attribute for the aggregation execution.

" - }, - "InventoryAggregatorExpression":{ - "type":"string", - "max":1000, - "min":1 - }, - "InventoryAggregatorList":{ - "type":"list", - "member":{"shape":"InventoryAggregator"}, - "max":10, - "min":1 - }, - "InventoryAttributeDataType":{ - "type":"string", - "enum":[ - "string", - "number" - ] - }, - "InventoryDeletionId":{"type":"string"}, - "InventoryDeletionLastStatusMessage":{"type":"string"}, - "InventoryDeletionLastStatusUpdateTime":{"type":"timestamp"}, - "InventoryDeletionStartTime":{"type":"timestamp"}, - "InventoryDeletionStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Complete" - ] - }, - "InventoryDeletionStatusItem":{ - "type":"structure", - "members":{ - "DeletionId":{ - "shape":"InventoryDeletionId", - "documentation":"

The deletion ID returned by the DeleteInventory action.

" - }, - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory data type.

" - }, - "DeletionStartTime":{ - "shape":"InventoryDeletionStartTime", - "documentation":"

The UTC timestamp when the delete operation started.

" - }, - "LastStatus":{ - "shape":"InventoryDeletionStatus", - "documentation":"

The status of the operation. Possible values are InProgress and Complete.

" - }, - "LastStatusMessage":{ - "shape":"InventoryDeletionLastStatusMessage", - "documentation":"

Information about the status.

" - }, - "DeletionSummary":{ - "shape":"InventoryDeletionSummary", - "documentation":"

Information about the delete operation. For more information about this summary, see Understanding the Delete Inventory Summary in the AWS Systems Manager User Guide.

" - }, - "LastStatusUpdateTime":{ - "shape":"InventoryDeletionLastStatusUpdateTime", - "documentation":"

The UTC timestamp of when the last status report.

" - } - }, - "documentation":"

Status information returned by the DeleteInventory action.

" - }, - "InventoryDeletionSummary":{ - "type":"structure", - "members":{ - "TotalCount":{ - "shape":"TotalCount", - "documentation":"

The total number of items to delete. This count does not change during the delete operation.

" - }, - "RemainingCount":{ - "shape":"RemainingCount", - "documentation":"

Remaining number of items to delete.

" - }, - "SummaryItems":{ - "shape":"InventoryDeletionSummaryItems", - "documentation":"

A list of counts and versions for deleted items.

" - } - }, - "documentation":"

Information about the delete operation.

" - }, - "InventoryDeletionSummaryItem":{ - "type":"structure", - "members":{ - "Version":{ - "shape":"InventoryItemSchemaVersion", - "documentation":"

The inventory type version.

" - }, - "Count":{ - "shape":"ResourceCount", - "documentation":"

A count of the number of deleted items.

" - }, - "RemainingCount":{ - "shape":"RemainingCount", - "documentation":"

The remaining number of items to delete.

" - } - }, - "documentation":"

Either a count, remaining count, or a version number in a delete inventory summary.

" - }, - "InventoryDeletionSummaryItems":{ - "type":"list", - "member":{"shape":"InventoryDeletionSummaryItem"} - }, - "InventoryDeletionsList":{ - "type":"list", - "member":{"shape":"InventoryDeletionStatusItem"} - }, - "InventoryFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"InventoryFilterKey", - "documentation":"

The name of the filter key.

" - }, - "Values":{ - "shape":"InventoryFilterValueList", - "documentation":"

Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal

" - }, - "Type":{ - "shape":"InventoryQueryOperatorType", - "documentation":"

The type of filter. Valid values include the following: \"Equal\"|\"NotEqual\"|\"BeginWith\"|\"LessThan\"|\"GreaterThan\"

" - } - }, - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "InventoryFilterKey":{ - "type":"string", - "max":200, - "min":1 - }, - "InventoryFilterList":{ - "type":"list", - "member":{"shape":"InventoryFilter"}, - "max":5, - "min":1 - }, - "InventoryFilterValue":{"type":"string"}, - "InventoryFilterValueList":{ - "type":"list", - "member":{"shape":"InventoryFilterValue"}, - "max":40, - "min":1 - }, - "InventoryGroup":{ - "type":"structure", - "required":[ - "Name", - "Filters" - ], - "members":{ - "Name":{ - "shape":"InventoryGroupName", - "documentation":"

The name of the group.

" - }, - "Filters":{ - "shape":"InventoryFilterList", - "documentation":"

Filters define the criteria for the group. The matchingCount field displays the number of resources that match the criteria. The notMatchingCount field displays the number of resources that don't match the criteria.

" - } - }, - "documentation":"

A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.

" - }, - "InventoryGroupList":{ - "type":"list", - "member":{"shape":"InventoryGroup"}, - "max":10, - "min":1 - }, - "InventoryGroupName":{ - "type":"string", - "max":200, - "min":1 - }, - "InventoryItem":{ - "type":"structure", - "required":[ - "TypeName", - "SchemaVersion", - "CaptureTime" - ], - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" - }, - "SchemaVersion":{ - "shape":"InventoryItemSchemaVersion", - "documentation":"

The schema version for the inventory item.

" - }, - "CaptureTime":{ - "shape":"InventoryItemCaptureTime", - "documentation":"

The time the inventory information was collected.

" - }, - "ContentHash":{ - "shape":"InventoryItemContentHash", - "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" - }, - "Content":{ - "shape":"InventoryItemEntryList", - "documentation":"

The inventory data of the inventory type.

" - }, - "Context":{ - "shape":"InventoryItemContentContext", - "documentation":"

A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType properties of the AWS:ComplianceItem type.

" - } - }, - "documentation":"

Information collected from managed instances based on your inventory policy document

" - }, - "InventoryItemAttribute":{ - "type":"structure", - "required":[ - "Name", - "DataType" - ], - "members":{ - "Name":{ - "shape":"InventoryItemAttributeName", - "documentation":"

Name of the inventory item attribute.

" - }, - "DataType":{ - "shape":"InventoryAttributeDataType", - "documentation":"

The data type of the inventory item attribute.

" - } - }, - "documentation":"

Attributes are the entries within the inventory item content. It contains name and value.

" - }, - "InventoryItemAttributeList":{ - "type":"list", - "member":{"shape":"InventoryItemAttribute"}, - "max":50, - "min":1 - }, - "InventoryItemAttributeName":{"type":"string"}, - "InventoryItemCaptureTime":{ - "type":"string", - "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$" - }, - "InventoryItemContentContext":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"}, - "max":50, - "min":0 - }, - "InventoryItemContentHash":{ - "type":"string", - "max":256 - }, - "InventoryItemEntry":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"}, - "max":50, - "min":0 - }, - "InventoryItemEntryList":{ - "type":"list", - "member":{"shape":"InventoryItemEntry"}, - "max":10000, - "min":0 - }, - "InventoryItemList":{ - "type":"list", - "member":{"shape":"InventoryItem"}, - "max":30, - "min":1 - }, - "InventoryItemSchema":{ - "type":"structure", - "required":[ - "TypeName", - "Attributes" - ], - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

" - }, - "Version":{ - "shape":"InventoryItemSchemaVersion", - "documentation":"

The schema version for the inventory item.

" - }, - "Attributes":{ - "shape":"InventoryItemAttributeList", - "documentation":"

The schema attributes for inventory. This contains data type and attribute name.

" - }, - "DisplayName":{ - "shape":"InventoryTypeDisplayName", - "documentation":"

The alias name of the inventory type. The alias name is used for display purposes.

" - } - }, - "documentation":"

The inventory item schema definition. Users can use this to compose inventory query filters.

" - }, - "InventoryItemSchemaResultList":{ - "type":"list", - "member":{"shape":"InventoryItemSchema"} - }, - "InventoryItemSchemaVersion":{ - "type":"string", - "pattern":"^([0-9]{1,6})(\\.[0-9]{1,6})$" - }, - "InventoryItemTypeName":{ - "type":"string", - "max":100, - "min":1, - "pattern":"^(AWS|Custom):.*$" - }, - "InventoryItemTypeNameFilter":{ - "type":"string", - "max":100, - "min":0 - }, - "InventoryQueryOperatorType":{ - "type":"string", - "enum":[ - "Equal", - "NotEqual", - "BeginWith", - "LessThan", - "GreaterThan", - "Exists" - ] - }, - "InventoryResultEntity":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"InventoryResultEntityId", - "documentation":"

ID of the inventory result entity. For example, for managed instance inventory the result will be the managed instance ID. For EC2 instance inventory, the result will be the instance ID.

" - }, - "Data":{ - "shape":"InventoryResultItemMap", - "documentation":"

The data section in the inventory result entity JSON.

" - } - }, - "documentation":"

Inventory query results.

" - }, - "InventoryResultEntityId":{"type":"string"}, - "InventoryResultEntityList":{ - "type":"list", - "member":{"shape":"InventoryResultEntity"} - }, - "InventoryResultItem":{ - "type":"structure", - "required":[ - "TypeName", - "SchemaVersion", - "Content" - ], - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The name of the inventory result item type.

" - }, - "SchemaVersion":{ - "shape":"InventoryItemSchemaVersion", - "documentation":"

The schema version for the inventory result item/

" - }, - "CaptureTime":{ - "shape":"InventoryItemCaptureTime", - "documentation":"

The time inventory item data was captured.

" - }, - "ContentHash":{ - "shape":"InventoryItemContentHash", - "documentation":"

MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

" - }, - "Content":{ - "shape":"InventoryItemEntryList", - "documentation":"

Contains all the inventory data of the item type. Results include attribute names and values.

" - } - }, - "documentation":"

The inventory result item.

" - }, - "InventoryResultItemKey":{"type":"string"}, - "InventoryResultItemMap":{ - "type":"map", - "key":{"shape":"InventoryResultItemKey"}, - "value":{"shape":"InventoryResultItem"} - }, - "InventorySchemaDeleteOption":{ - "type":"string", - "enum":[ - "DisableSchema", - "DeleteSchema" - ] - }, - "InventoryTypeDisplayName":{"type":"string"}, - "InvocationDoesNotExist":{ - "type":"structure", - "members":{ - }, - "documentation":"

The command ID and instance ID you specified did not match any invocations. Verify the command ID adn the instance ID and try again.

", - "exception":true - }, - "InvocationTraceOutput":{ - "type":"string", - "max":2500 - }, - "IsSubTypeSchema":{"type":"boolean"}, - "ItemContentMismatchException":{ - "type":"structure", - "members":{ - "TypeName":{"shape":"InventoryItemTypeName"}, - "Message":{"shape":"String"} - }, - "documentation":"

The inventory item has invalid content.

", - "exception":true - }, - "ItemSizeLimitExceededException":{ - "type":"structure", - "members":{ - "TypeName":{"shape":"InventoryItemTypeName"}, - "Message":{"shape":"String"} - }, - "documentation":"

The inventory item size has exceeded the size limit.

", - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "LabelParameterVersionRequest":{ - "type":"structure", - "required":[ - "Name", - "Labels" - ], - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The parameter name on which you want to attach one or more labels.

" - }, - "ParameterVersion":{ - "shape":"PSParameterVersion", - "documentation":"

The specific version of the parameter on which you want to attach one or more labels. If no version is specified, the system attaches the label to the latest version.)

", - "box":true - }, - "Labels":{ - "shape":"ParameterLabelList", - "documentation":"

One or more labels to attach to the specified parameter version.

" - } - } - }, - "LabelParameterVersionResult":{ - "type":"structure", - "members":{ - "InvalidLabels":{ - "shape":"ParameterLabelList", - "documentation":"

The label does not meet the requirements. For information about parameter label requirements, see Labeling Parameters in the AWS Systems Manager User Guide.

" - } - } - }, - "LastResourceDataSyncMessage":{"type":"string"}, - "LastResourceDataSyncStatus":{ - "type":"string", - "enum":[ - "Successful", - "Failed", - "InProgress" - ] - }, - "LastResourceDataSyncTime":{"type":"timestamp"}, - "LastSuccessfulResourceDataSyncTime":{"type":"timestamp"}, - "ListAssociationVersionsRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The association ID for which you want to view all versions.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - } - } - }, - "ListAssociationVersionsResult":{ - "type":"structure", - "members":{ - "AssociationVersions":{ - "shape":"AssociationVersionList", - "documentation":"

Information about all versions of the association for the specified association ID.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "ListAssociationsRequest":{ - "type":"structure", - "members":{ - "AssociationFilterList":{ - "shape":"AssociationFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "ListAssociationsResult":{ - "type":"structure", - "members":{ - "Associations":{ - "shape":"AssociationList", - "documentation":"

The associations.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "ListCommandInvocationsRequest":{ - "type":"structure", - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

(Optional) The invocations for a specific command ID.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

(Optional) The command execution details for a specific instance ID.

" - }, - "MaxResults":{ - "shape":"CommandMaxResults", - "documentation":"

(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "Filters":{ - "shape":"CommandFilterList", - "documentation":"

(Optional) One or more filters. Use a filter to return a more specific list of results.

" - }, - "Details":{ - "shape":"Boolean", - "documentation":"

(Optional) If set this returns the response of the command executions and any command output. By default this is set to False.

" - } - } - }, - "ListCommandInvocationsResult":{ - "type":"structure", - "members":{ - "CommandInvocations":{ - "shape":"CommandInvocationList", - "documentation":"

(Optional) A list of all invocations.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "ListCommandsRequest":{ - "type":"structure", - "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

(Optional) If provided, lists only the specified command.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

(Optional) Lists commands issued against this instance ID.

" - }, - "MaxResults":{ - "shape":"CommandMaxResults", - "documentation":"

(Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "Filters":{ - "shape":"CommandFilterList", - "documentation":"

(Optional) One or more filters. Use a filter to return a more specific list of results.

" - } - } - }, - "ListCommandsResult":{ - "type":"structure", - "members":{ - "Commands":{ - "shape":"CommandList", - "documentation":"

(Optional) The list of commands requested by the user.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

(Optional) The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "ListComplianceItemsRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"ComplianceStringFilterList", - "documentation":"

One or more compliance filters. Use a filter to return a more specific list of results.

" - }, - "ResourceIds":{ - "shape":"ComplianceResourceIdList", - "documentation":"

The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.

" - }, - "ResourceTypes":{ - "shape":"ComplianceResourceTypeList", - "documentation":"

The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "ListComplianceItemsResult":{ - "type":"structure", - "members":{ - "ComplianceItems":{ - "shape":"ComplianceItemList", - "documentation":"

A list of compliance information for the specified resource ID.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "ListComplianceSummariesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"ComplianceStringFilterList", - "documentation":"

One or more compliance or inventory filters. Use a filter to return a more specific list of results.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "ListComplianceSummariesResult":{ - "type":"structure", - "members":{ - "ComplianceSummaryItems":{ - "shape":"ComplianceSummaryItemList", - "documentation":"

A list of compliant and non-compliant summary counts based on compliance types. For example, this call returns State Manager associations, patches, or custom compliance types according to the filter criteria that you specified.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "ListDocumentVersionsRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document about which you want version information.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "ListDocumentVersionsResult":{ - "type":"structure", - "members":{ - "DocumentVersions":{ - "shape":"DocumentVersionList", - "documentation":"

The document versions.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "ListDocumentsRequest":{ - "type":"structure", - "members":{ - "DocumentFilterList":{ - "shape":"DocumentFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "Filters":{ - "shape":"DocumentKeyValuesFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - } - } - }, - "ListDocumentsResult":{ - "type":"structure", - "members":{ - "DocumentIdentifiers":{ - "shape":"DocumentIdentifierList", - "documentation":"

The names of the Systems Manager documents.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "ListInventoryEntriesRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "TypeName" - ], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID for which you want inventory information.

" - }, - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The type of inventory item for which you want information.

" - }, - "Filters":{ - "shape":"InventoryFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "ListInventoryEntriesResult":{ - "type":"structure", - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

The type of inventory item returned by the request.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The instance ID targeted by the request to query inventory information.

" - }, - "SchemaVersion":{ - "shape":"InventoryItemSchemaVersion", - "documentation":"

The inventory schema version used by the instance(s).

" - }, - "CaptureTime":{ - "shape":"InventoryItemCaptureTime", - "documentation":"

The time that inventory information was collected for the instance(s).

" - }, - "Entries":{ - "shape":"InventoryItemEntryList", - "documentation":"

A list of inventory items on the instance(s).

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" - } - } - }, - "ListResourceComplianceSummariesRequest":{ - "type":"structure", - "members":{ - "Filters":{ - "shape":"ComplianceStringFilterList", - "documentation":"

One or more filters. Use a filter to return a more specific list of results.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "ListResourceComplianceSummariesResult":{ - "type":"structure", - "members":{ - "ResourceComplianceSummaryItems":{ - "shape":"ResourceComplianceSummaryItemList", - "documentation":"

A summary count for specified or targeted managed instances. Summary count includes information about compliant and non-compliant State Manager associations, patch status, or custom items according to the filter criteria that you specify.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "ListResourceDataSyncRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", - "box":true - } - } - }, - "ListResourceDataSyncResult":{ - "type":"structure", - "members":{ - "ResourceDataSyncItems":{ - "shape":"ResourceDataSyncItemList", - "documentation":"

A list of your current Resource Data Sync configurations and their statuses.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" - } - } - }, - "ListTagsForResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId" - ], - "members":{ - "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

Returns a list of tags for a specific resource type.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource ID for which you want to see a list of tags.

" - } - } - }, - "ListTagsForResourceResult":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

A list of tags.

" - } - } - }, - "LoggingInfo":{ - "type":"structure", - "required":[ - "S3BucketName", - "S3Region" - ], - "members":{ - "S3BucketName":{ - "shape":"S3BucketName", - "documentation":"

The name of an Amazon S3 bucket where execution logs are stored .

" - }, - "S3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

(Optional) The Amazon S3 bucket subfolder.

" - }, - "S3Region":{ - "shape":"S3Region", - "documentation":"

The region where the Amazon S3 bucket is located.

" - } - }, - "documentation":"

Information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Long":{"type":"long"}, - "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"}, - "MaintenanceWindowAutomationParameters":{ - "type":"structure", - "members":{ - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of an Automation document to use during task execution.

" - }, - "Parameters":{ - "shape":"AutomationParameterMap", - "documentation":"

The parameters for the AUTOMATION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

" - } - }, - "documentation":"

The parameters for an AUTOMATION task type.

" - }, - "MaintenanceWindowCutoff":{ - "type":"integer", - "max":23, - "min":0 - }, - "MaintenanceWindowDescription":{ - "type":"string", - "max":128, - "min":1, - "sensitive":true - }, - "MaintenanceWindowDurationHours":{ - "type":"integer", - "max":24, - "min":1 - }, - "MaintenanceWindowEnabled":{"type":"boolean"}, - "MaintenanceWindowExecution":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window.

" - }, - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the execution.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the Status. Only available for certain status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time the execution started.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time the execution finished.

" - } - }, - "documentation":"

Describes the information about an execution of a Maintenance Window.

" - }, - "MaintenanceWindowExecutionId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" - }, - "MaintenanceWindowExecutionList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowExecution"} - }, - "MaintenanceWindowExecutionStatus":{ - "type":"string", - "enum":[ - "PENDING", - "IN_PROGRESS", - "SUCCESS", - "FAILED", - "TIMED_OUT", - "CANCELLING", - "CANCELLED", - "SKIPPED_OVERLAPPING" - ] - }, - "MaintenanceWindowExecutionStatusDetails":{ - "type":"string", - "max":250, - "min":0 - }, - "MaintenanceWindowExecutionTaskExecutionId":{"type":"string"}, - "MaintenanceWindowExecutionTaskId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" - }, - "MaintenanceWindowExecutionTaskIdList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowExecutionTaskId"} - }, - "MaintenanceWindowExecutionTaskIdentity":{ - "type":"structure", - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that ran the task.

" - }, - "TaskExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window execution.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the task execution.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the status of the task execution. Only available for certain status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time the task execution started.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time the task execution finished.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the executed task.

" - }, - "TaskType":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of executed task.

" - } - }, - "documentation":"

Information about a task execution performed as part of a Maintenance Window execution.

" - }, - "MaintenanceWindowExecutionTaskIdentityList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowExecutionTaskIdentity"} - }, - "MaintenanceWindowExecutionTaskInvocationId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" - }, - "MaintenanceWindowExecutionTaskInvocationIdentity":{ - "type":"structure", - "members":{ - "WindowExecutionId":{ - "shape":"MaintenanceWindowExecutionId", - "documentation":"

The ID of the Maintenance Window execution that ran the task.

" - }, - "TaskExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskId", - "documentation":"

The ID of the specific task execution in the Maintenance Window execution.

" - }, - "InvocationId":{ - "shape":"MaintenanceWindowExecutionTaskInvocationId", - "documentation":"

The ID of the task invocation.

" - }, - "ExecutionId":{ - "shape":"MaintenanceWindowExecutionTaskExecutionId", - "documentation":"

The ID of the action performed in the service that actually handled the task invocation. If the task type is RUN_COMMAND, this value is the command ID.

" - }, - "TaskType":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The task type.

" - }, - "Parameters":{ - "shape":"MaintenanceWindowExecutionTaskInvocationParameters", - "documentation":"

The parameters that were provided for the invocation when it was executed.

" - }, - "Status":{ - "shape":"MaintenanceWindowExecutionStatus", - "documentation":"

The status of the task invocation.

" - }, - "StatusDetails":{ - "shape":"MaintenanceWindowExecutionStatusDetails", - "documentation":"

The details explaining the status of the task invocation. Only available for certain Status values.

" - }, - "StartTime":{ - "shape":"DateTime", - "documentation":"

The time the invocation started.

" - }, - "EndTime":{ - "shape":"DateTime", - "documentation":"

The time the invocation finished.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

User-provided value that was specified when the target was registered with the Maintenance Window. This was also included in any CloudWatch events raised during the task invocation.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTaskTargetId", - "documentation":"

The ID of the target definition in this Maintenance Window the invocation was performed for.

" - } - }, - "documentation":"

Describes the information about a task invocation for a particular target as part of a task execution performed as part of a Maintenance Window execution.

" - }, - "MaintenanceWindowExecutionTaskInvocationIdentityList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowExecutionTaskInvocationIdentity"} - }, - "MaintenanceWindowExecutionTaskInvocationParameters":{ - "type":"string", - "sensitive":true - }, - "MaintenanceWindowFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"MaintenanceWindowFilterKey", - "documentation":"

The name of the filter.

" - }, - "Values":{ - "shape":"MaintenanceWindowFilterValues", - "documentation":"

The filter values.

" - } - }, - "documentation":"

Filter used in the request.

" - }, - "MaintenanceWindowFilterKey":{ - "type":"string", - "max":128, - "min":1 - }, - "MaintenanceWindowFilterList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowFilter"}, - "max":5, - "min":0 - }, - "MaintenanceWindowFilterValue":{ - "type":"string", - "max":256, - "min":1 - }, - "MaintenanceWindowFilterValues":{ - "type":"list", - "member":{"shape":"MaintenanceWindowFilterValue"} - }, - "MaintenanceWindowId":{ - "type":"string", - "max":20, - "min":20, - "pattern":"^mw-[0-9a-f]{17}$" - }, - "MaintenanceWindowIdentity":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

A description of the Maintenance Window.

" - }, - "Enabled":{ - "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

" - }, - "Duration":{ - "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" - }, - "Cutoff":{ - "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" - } - }, - "documentation":"

Information about the Maintenance Window.

" - }, - "MaintenanceWindowIdentityList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowIdentity"} - }, - "MaintenanceWindowLambdaClientContext":{ - "type":"string", - "max":8000, - "min":1 - }, - "MaintenanceWindowLambdaParameters":{ - "type":"structure", - "members":{ - "ClientContext":{ - "shape":"MaintenanceWindowLambdaClientContext", - "documentation":"

Pass client-specific information to the Lambda function that you are invoking. You can then process the client information in your Lambda function as you choose through the context variable.

" - }, - "Qualifier":{ - "shape":"MaintenanceWindowLambdaQualifier", - "documentation":"

(Optional) Specify a Lambda function version or alias name. If you specify a function version, the action uses the qualified function ARN to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version to which the alias points.

" - }, - "Payload":{ - "shape":"MaintenanceWindowLambdaPayload", - "documentation":"

JSON to provide to your Lambda function as input.

" - } - }, - "documentation":"

The parameters for a LAMBDA task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" - }, - "MaintenanceWindowLambdaPayload":{ - "type":"blob", - "max":4096, - "sensitive":true - }, - "MaintenanceWindowLambdaQualifier":{ - "type":"string", - "max":128, - "min":1 - }, - "MaintenanceWindowMaxResults":{ - "type":"integer", - "max":100, - "min":10 - }, - "MaintenanceWindowName":{ - "type":"string", - "max":128, - "min":3, - "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" - }, - "MaintenanceWindowResourceType":{ - "type":"string", - "enum":["INSTANCE"] - }, - "MaintenanceWindowRunCommandParameters":{ - "type":"structure", - "members":{ - "Comment":{ - "shape":"Comment", - "documentation":"

Information about the command(s) to execute.

" - }, - "DocumentHash":{ - "shape":"DocumentHash", - "documentation":"

The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.

" - }, - "DocumentHashType":{ - "shape":"DocumentHashType", - "documentation":"

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

" - }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

Configurations for sending notifications about command status changes on a per-instance basis.

" - }, - "OutputS3BucketName":{ - "shape":"S3BucketName", - "documentation":"

The name of the Amazon S3 bucket.

" - }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

The Amazon S3 bucket subfolder.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The parameters for the RUN_COMMAND task execution.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The IAM service role to assume during task execution.

" - }, - "TimeoutSeconds":{ - "shape":"TimeoutSeconds", - "documentation":"

If this time is reached and the command has not already started executing, it doesn not execute.

", - "box":true - } - }, - "documentation":"

The parameters for a RUN_COMMAND task type.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Run Command tasks, Systems Manager uses specified values for TaskParameters and LoggingInfo only if no values are specified for TaskInvocationParameters.

" - }, - "MaintenanceWindowSchedule":{ - "type":"string", - "max":256, - "min":1 - }, - "MaintenanceWindowStepFunctionsInput":{ - "type":"string", - "max":4096, - "sensitive":true - }, - "MaintenanceWindowStepFunctionsName":{ - "type":"string", - "max":80, - "min":1 - }, - "MaintenanceWindowStepFunctionsParameters":{ - "type":"structure", - "members":{ - "Input":{ - "shape":"MaintenanceWindowStepFunctionsInput", - "documentation":"

The inputs for the STEP_FUNCTION task.

" - }, - "Name":{ - "shape":"MaintenanceWindowStepFunctionsName", - "documentation":"

The name of the STEP_FUNCTION task.

" - } - }, - "documentation":"

The parameters for a STEP_FUNCTION task.

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

For Step Functions tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

" - }, - "MaintenanceWindowTarget":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID where the target is registered.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The ID of the target.

" - }, - "ResourceType":{ - "shape":"MaintenanceWindowResourceType", - "documentation":"

The type of target.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The target name.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

A description of the target.

" - } - }, - "documentation":"

The target registered with the Maintenance Window.

" - }, - "MaintenanceWindowTargetId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" - }, - "MaintenanceWindowTargetList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowTarget"} - }, - "MaintenanceWindowTask":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID where the task is registered.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The task ID.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA tasks, it's the function name or ARN. For STEP_FUNCTION tasks, it's the state machine ARN.

" - }, - "Type":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTION.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters that should be passed to the task when it is executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task in the Maintenance Window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

" - }, - "LoggingInfo":{ - "shape":"LoggingInfo", - "documentation":"

Information about an Amazon S3 bucket to write task-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The role that should be assumed when executing the task

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets this task can be run for in parallel.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed before this task stops being scheduled.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The task name.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

A description of the task.

" - } - }, - "documentation":"

Information about a task defined for a Maintenance Window.

" - }, - "MaintenanceWindowTaskArn":{ - "type":"string", - "max":1600, - "min":1 - }, - "MaintenanceWindowTaskId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" - }, - "MaintenanceWindowTaskInvocationParameters":{ - "type":"structure", - "members":{ - "RunCommand":{ - "shape":"MaintenanceWindowRunCommandParameters", - "documentation":"

The parameters for a RUN_COMMAND task type.

" - }, - "Automation":{ - "shape":"MaintenanceWindowAutomationParameters", - "documentation":"

The parameters for an AUTOMATION task type.

" - }, - "StepFunctions":{ - "shape":"MaintenanceWindowStepFunctionsParameters", - "documentation":"

The parameters for a STEP_FUNCTION task type.

" - }, - "Lambda":{ - "shape":"MaintenanceWindowLambdaParameters", - "documentation":"

The parameters for a LAMBDA task type.

" - } - }, - "documentation":"

The parameters for task execution.

" - }, - "MaintenanceWindowTaskList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowTask"} - }, - "MaintenanceWindowTaskParameterName":{ - "type":"string", - "max":255, - "min":1 - }, - "MaintenanceWindowTaskParameterValue":{ - "type":"string", - "max":255, - "min":1, - "sensitive":true - }, - "MaintenanceWindowTaskParameterValueExpression":{ - "type":"structure", - "members":{ - "Values":{ - "shape":"MaintenanceWindowTaskParameterValueList", - "documentation":"

This field contains an array of 0 or more strings, each 1 to 255 characters in length.

" - } - }, - "documentation":"

Defines the values for a task parameter.

", - "sensitive":true - }, - "MaintenanceWindowTaskParameterValueList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowTaskParameterValue"}, - "sensitive":true - }, - "MaintenanceWindowTaskParameters":{ - "type":"map", - "key":{"shape":"MaintenanceWindowTaskParameterName"}, - "value":{"shape":"MaintenanceWindowTaskParameterValueExpression"}, - "sensitive":true - }, - "MaintenanceWindowTaskParametersList":{ - "type":"list", - "member":{"shape":"MaintenanceWindowTaskParameters"}, - "sensitive":true - }, - "MaintenanceWindowTaskPriority":{ - "type":"integer", - "min":0 - }, - "MaintenanceWindowTaskTargetId":{ - "type":"string", - "max":36 - }, - "MaintenanceWindowTaskType":{ - "type":"string", - "enum":[ - "RUN_COMMAND", - "AUTOMATION", - "STEP_FUNCTIONS", - "LAMBDA" - ] - }, - "ManagedInstanceId":{ - "type":"string", - "pattern":"^mi-[0-9a-f]{17}$" - }, - "MaxConcurrency":{ - "type":"string", - "max":7, - "min":1, - "pattern":"^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$" - }, - "MaxDocumentSizeExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The size limit of a document is 64 KB.

", - "exception":true - }, - "MaxErrors":{ - "type":"string", - "max":7, - "min":1, - "pattern":"^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$" - }, - "MaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "MaxResultsEC2Compatible":{ - "type":"integer", - "max":50, - "min":5 - }, - "ModifyDocumentPermissionRequest":{ - "type":"structure", - "required":[ - "Name", - "PermissionType" - ], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document that you want to share.

" - }, - "PermissionType":{ - "shape":"DocumentPermissionType", - "documentation":"

The permission type for the document. The permission type can be Share.

" - }, - "AccountIdsToAdd":{ - "shape":"AccountIdList", - "documentation":"

The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.

" - }, - "AccountIdsToRemove":{ - "shape":"AccountIdList", - "documentation":"

The AWS user accounts that should no longer have access to the document. The AWS user account can either be a group of account IDs or All. This action has a higher priority than AccountIdsToAdd. If you specify an account ID to add and the same ID to remove, the system removes access to the document.

" - } - } - }, - "ModifyDocumentPermissionResponse":{ - "type":"structure", - "members":{ - } - }, - "NextToken":{"type":"string"}, - "NonCompliantSummary":{ - "type":"structure", - "members":{ - "NonCompliantCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of compliance items that are not compliant.

" - }, - "SeveritySummary":{ - "shape":"SeveritySummary", - "documentation":"

A summary of the non-compliance severity by compliance type

" - } - }, - "documentation":"

A summary of resources that are not compliant. The summary is organized according to resource type.

" - }, - "NormalStringMap":{ - "type":"map", - "key":{"shape":"String"}, - "value":{"shape":"String"} - }, - "NotificationArn":{"type":"string"}, - "NotificationConfig":{ - "type":"structure", - "members":{ - "NotificationArn":{ - "shape":"NotificationArn", - "documentation":"

An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. Run Command pushes notifications about command status changes to this topic.

" - }, - "NotificationEvents":{ - "shape":"NotificationEventList", - "documentation":"

The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Configuring Amazon SNS Notifications for Run Command in the AWS Systems Manager User Guide.

" - }, - "NotificationType":{ - "shape":"NotificationType", - "documentation":"

Command: Receive notification when the status of a command changes. Invocation: For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.

" - } - }, - "documentation":"

Configurations for sending notifications.

" - }, - "NotificationEvent":{ - "type":"string", - "enum":[ - "All", - "InProgress", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] - }, - "NotificationEventList":{ - "type":"list", - "member":{"shape":"NotificationEvent"} - }, - "NotificationType":{ - "type":"string", - "enum":[ - "Command", - "Invocation" - ] - }, - "OperatingSystem":{ - "type":"string", - "enum":[ - "WINDOWS", - "AMAZON_LINUX", - "AMAZON_LINUX_2", - "UBUNTU", - "REDHAT_ENTERPRISE_LINUX", - "SUSE", - "CENTOS" - ] - }, - "OutputSource":{ - "type":"structure", - "members":{ - "OutputSourceId":{ - "shape":"OutputSourceId", - "documentation":"

The ID of the output source, for example the URL of an Amazon S3 bucket.

" - }, - "OutputSourceType":{ - "shape":"OutputSourceType", - "documentation":"

The type of source where the association execution details are stored, for example, Amazon S3.

" - } - }, - "documentation":"

Information about the source where the association execution details are stored.

" - }, - "OutputSourceId":{ - "type":"string", - "max":36, - "min":36 - }, - "OutputSourceType":{"type":"string"}, - "OwnerInformation":{ - "type":"string", - "max":128, - "min":1, - "sensitive":true - }, - "PSParameterName":{ - "type":"string", - "max":2048, - "min":1 - }, - "PSParameterSelector":{ - "type":"string", - "max":128, - "min":0 - }, - "PSParameterValue":{ - "type":"string", - "max":4096, - "min":1 - }, - "PSParameterVersion":{"type":"long"}, - "Parameter":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The name of the parameter.

" - }, - "Type":{ - "shape":"ParameterType", - "documentation":"

The type of parameter. Valid values include the following: String, String list, Secure string.

" - }, - "Value":{ - "shape":"PSParameterValue", - "documentation":"

The parameter value.

" - }, - "Version":{ - "shape":"PSParameterVersion", - "documentation":"

The parameter version.

" - }, - "Selector":{ - "shape":"PSParameterSelector", - "documentation":"

Either the version number or the label used to retrieve the parameter value. Specify selectors by using one of the following formats:

parameter_name:version

parameter_name:label

" - }, - "SourceResult":{ - "shape":"String", - "documentation":"

Applies to parameters that reference information in other AWS services. SourceResult is the raw result or response from the source.

" - }, - "LastModifiedDate":{ - "shape":"DateTime", - "documentation":"

Date the parameter was last changed or updated and the parameter version was created.

" - }, - "ARN":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the parameter.

" - } - }, - "documentation":"

An Amazon EC2 Systems Manager parameter in Parameter Store.

" - }, - "ParameterAlreadyExists":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The parameter already exists. You can't create duplicate parameters.

", - "exception":true - }, - "ParameterDescription":{ - "type":"string", - "max":1024, - "min":0 - }, - "ParameterHistory":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The name of the parameter.

" - }, - "Type":{ - "shape":"ParameterType", - "documentation":"

The type of parameter used.

" - }, - "KeyId":{ - "shape":"ParameterKeyId", - "documentation":"

The ID of the query key used for this parameter.

" - }, - "LastModifiedDate":{ - "shape":"DateTime", - "documentation":"

Date the parameter was last changed or updated.

" - }, - "LastModifiedUser":{ - "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

" - }, - "Description":{ - "shape":"ParameterDescription", - "documentation":"

Information about the parameter.

" - }, - "Value":{ - "shape":"PSParameterValue", - "documentation":"

The parameter value.

" - }, - "AllowedPattern":{ - "shape":"AllowedPattern", - "documentation":"

Parameter names can include the following letters and symbols.

a-zA-Z0-9_.-

" - }, - "Version":{ - "shape":"PSParameterVersion", - "documentation":"

The parameter version.

" - }, - "Labels":{ - "shape":"ParameterLabelList", - "documentation":"

Labels assigned to the parameter version.

" - } - }, - "documentation":"

Information about parameter usage.

" - }, - "ParameterHistoryList":{ - "type":"list", - "member":{"shape":"ParameterHistory"} - }, - "ParameterKeyId":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([a-zA-Z0-9:/_-]+)$" - }, - "ParameterLabel":{ - "type":"string", - "max":100, - "min":1 - }, - "ParameterLabelList":{ - "type":"list", - "member":{"shape":"ParameterLabel"}, - "max":10, - "min":1 - }, - "ParameterLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

You have exceeded the number of parameters for this AWS account. Delete one or more parameters and try again.

", - "exception":true - }, - "ParameterList":{ - "type":"list", - "member":{"shape":"Parameter"} - }, - "ParameterMaxVersionLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The parameter exceeded the maximum number of allowed versions.

", - "exception":true - }, - "ParameterMetadata":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The parameter name.

" - }, - "Type":{ - "shape":"ParameterType", - "documentation":"

The type of parameter. Valid parameter types include the following: String, String list, Secure string.

" - }, - "KeyId":{ - "shape":"ParameterKeyId", - "documentation":"

The ID of the query key used for this parameter.

" - }, - "LastModifiedDate":{ - "shape":"DateTime", - "documentation":"

Date the parameter was last changed or updated.

" - }, - "LastModifiedUser":{ - "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

" - }, - "Description":{ - "shape":"ParameterDescription", - "documentation":"

Description of the parameter actions.

" - }, - "AllowedPattern":{ - "shape":"AllowedPattern", - "documentation":"

A parameter name can include only the following letters and symbols.

a-zA-Z0-9_.-

" - }, - "Version":{ - "shape":"PSParameterVersion", - "documentation":"

The parameter version.

" - } - }, - "documentation":"

Metada includes information like the ARN of the last user and the date/time the parameter was last used.

" - }, - "ParameterMetadataList":{ - "type":"list", - "member":{"shape":"ParameterMetadata"} - }, - "ParameterName":{"type":"string"}, - "ParameterNameList":{ - "type":"list", - "member":{"shape":"PSParameterName"}, - "max":10, - "min":1 - }, - "ParameterNotFound":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The parameter could not be found. Verify the name and try again.

", - "exception":true - }, - "ParameterPatternMismatchException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"String", - "documentation":"

The parameter name is not valid.

" - } - }, - "documentation":"

The parameter name is not valid.

", - "exception":true - }, - "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.

The Name field can't be used with the GetParametersByPath API action.

" - }, - "ParameterStringFilterKey":{ - "type":"string", - "max":132, - "min":1, - "pattern":"tag:.+|Name|Type|KeyId|Path|Label" - }, - "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":[ - "String", - "StringList", - "SecureString" - ] - }, - "ParameterValue":{"type":"string"}, - "ParameterValueList":{ - "type":"list", - "member":{"shape":"ParameterValue"} - }, - "ParameterVersionLabelLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

A parameter version can have a maximum of ten labels.

", - "exception":true - }, - "ParameterVersionNotFound":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The specified parameter version was not found. Verify the parameter name and version, and try again.

", - "exception":true - }, - "Parameters":{ - "type":"map", - "key":{"shape":"ParameterName"}, - "value":{"shape":"ParameterValueList"} - }, - "ParametersFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"ParametersFilterKey", - "documentation":"

The name of the filter.

" - }, - "Values":{ - "shape":"ParametersFilterValueList", - "documentation":"

The filter values.

" - } - }, - "documentation":"

This data type is deprecated. Instead, use ParameterStringFilter.

" - }, - "ParametersFilterKey":{ - "type":"string", - "enum":[ - "Name", - "Type", - "KeyId" - ] - }, - "ParametersFilterList":{ - "type":"list", - "member":{"shape":"ParametersFilter"} - }, - "ParametersFilterValue":{ - "type":"string", - "max":1024, - "min":1 - }, - "ParametersFilterValueList":{ - "type":"list", - "member":{"shape":"ParametersFilterValue"}, - "max":50, - "min":1 - }, - "Patch":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"PatchId", - "documentation":"

The ID of the patch (this is different than the Microsoft Knowledge Base ID).

" - }, - "ReleaseDate":{ - "shape":"DateTime", - "documentation":"

The date the patch was released.

" - }, - "Title":{ - "shape":"PatchTitle", - "documentation":"

The title of the patch.

" - }, - "Description":{ - "shape":"PatchDescription", - "documentation":"

The description of the patch.

" - }, - "ContentUrl":{ - "shape":"PatchContentUrl", - "documentation":"

The URL where more information can be obtained about the patch.

" - }, - "Vendor":{ - "shape":"PatchVendor", - "documentation":"

The name of the vendor providing the patch.

" - }, - "ProductFamily":{ - "shape":"PatchProductFamily", - "documentation":"

The product family the patch is applicable for (for example, Windows).

" - }, - "Product":{ - "shape":"PatchProduct", - "documentation":"

The specific product the patch is applicable for (for example, WindowsServer2016).

" - }, - "Classification":{ - "shape":"PatchClassification", - "documentation":"

The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

" - }, - "MsrcSeverity":{ - "shape":"PatchMsrcSeverity", - "documentation":"

The severity of the patch (for example Critical, Important, Moderate).

" - }, - "KbNumber":{ - "shape":"PatchKbNumber", - "documentation":"

The Microsoft Knowledge Base ID of the patch.

" - }, - "MsrcNumber":{ - "shape":"PatchMsrcNumber", - "documentation":"

The ID of the MSRC bulletin the patch is related to.

" - }, - "Language":{ - "shape":"PatchLanguage", - "documentation":"

The language of the patch if it's language-specific.

" - } - }, - "documentation":"

Represents metadata about a patch.

" - }, - "PatchBaselineIdentity":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline.

" - }, - "BaselineName":{ - "shape":"BaselineName", - "documentation":"

The name of the patch baseline.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Defines the operating system the patch baseline applies to. The Default value is WINDOWS.

" - }, - "BaselineDescription":{ - "shape":"BaselineDescription", - "documentation":"

The description of the patch baseline.

" - }, - "DefaultBaseline":{ - "shape":"DefaultBaseline", - "documentation":"

Whether this is the default baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

" - } - }, - "documentation":"

Defines the basic information about a patch baseline.

" - }, - "PatchBaselineIdentityList":{ - "type":"list", - "member":{"shape":"PatchBaselineIdentity"} - }, - "PatchBaselineMaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "PatchClassification":{"type":"string"}, - "PatchComplianceData":{ - "type":"structure", - "required":[ - "Title", - "KBId", - "Classification", - "Severity", - "State", - "InstalledTime" - ], - "members":{ - "Title":{ - "shape":"PatchTitle", - "documentation":"

The title of the patch.

" - }, - "KBId":{ - "shape":"PatchKbNumber", - "documentation":"

The operating system-specific ID of the patch.

" - }, - "Classification":{ - "shape":"PatchClassification", - "documentation":"

The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

" - }, - "Severity":{ - "shape":"PatchSeverity", - "documentation":"

The severity of the patch (for example, Critical, Important, Moderate).

" - }, - "State":{ - "shape":"PatchComplianceDataState", - "documentation":"

The state of the patch on the instance (INSTALLED, INSTALLED_OTHER, MISSING, NOT_APPLICABLE or FAILED).

" - }, - "InstalledTime":{ - "shape":"DateTime", - "documentation":"

The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information.

" - } - }, - "documentation":"

Information about the state of a patch on a particular instance as it relates to the patch baseline used to patch the instance.

" - }, - "PatchComplianceDataList":{ - "type":"list", - "member":{"shape":"PatchComplianceData"} - }, - "PatchComplianceDataState":{ - "type":"string", - "enum":[ - "INSTALLED", - "INSTALLED_OTHER", - "MISSING", - "NOT_APPLICABLE", - "FAILED" - ] - }, - "PatchComplianceLevel":{ - "type":"string", - "enum":[ - "CRITICAL", - "HIGH", - "MEDIUM", - "LOW", - "INFORMATIONAL", - "UNSPECIFIED" - ] - }, - "PatchComplianceMaxResults":{ - "type":"integer", - "max":100, - "min":10 - }, - "PatchContentUrl":{"type":"string"}, - "PatchDeploymentStatus":{ - "type":"string", - "enum":[ - "APPROVED", - "PENDING_APPROVAL", - "EXPLICIT_APPROVED", - "EXPLICIT_REJECTED" - ] - }, - "PatchDescription":{"type":"string"}, - "PatchFailedCount":{"type":"integer"}, - "PatchFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"PatchFilterKey", - "documentation":"

The key for the filter.

See PatchFilter for lists of valid keys for each operating system type.

" - }, - "Values":{ - "shape":"PatchFilterValueList", - "documentation":"

The value for the filter key.

See PatchFilter for lists of valid values for each key based on operating system type.

" - } - }, - "documentation":"

Defines a patch filter.

A patch filter consists of key/value pairs, but not all keys are valid for all operating system types. For example, the key PRODUCT is valid for all supported operating system types. The key MSRC_SEVERITY, however, is valid only for Windows operating systems, and the key SECTION is valid only for Ubuntu operating systems.

Refer to the following sections for information about which keys may be used with each major operating system, and which values are valid for each key.

Windows Operating Systems

The supported keys for Windows operating systems are PRODUCT, CLASSIFICATION, and MSRC_SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Windows7

  • Windows8

  • Windows8.1

  • Windows8Embedded

  • Windows10

  • Windows10LTSB

  • WindowsServer2008

  • WindowsServer2008R2

  • WindowsServer2012

  • WindowsServer2012R2

  • WindowsServer2016

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • CriticalUpdates

  • DefinitionUpdates

  • Drivers

  • FeaturePacks

  • SecurityUpdates

  • ServicePacks

  • Tools

  • UpdateRollups

  • Updates

  • Upgrades

Supported key: MSRC_SEVERITY

Supported values:

  • Critical

  • Important

  • Moderate

  • Low

  • Unspecified

Ubuntu Operating Systems

The supported keys for Ubuntu operating systems are PRODUCT, PRIORITY, and SECTION. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Ubuntu14.04

  • Ubuntu16.04

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: PRIORITY

Supported values:

  • Required

  • Important

  • Standard

  • Optional

  • Extra

Supported key: SECTION

Only the length of the key value is validated. Minimum length is 1. Maximum length is 64.

Amazon Linux Operating Systems

The supported keys for Amazon Linux operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • AmazonLinux2012.03

  • AmazonLinux2012.09

  • AmazonLinux2013.03

  • AmazonLinux2013.09

  • AmazonLinux2014.03

  • AmazonLinux2014.09

  • AmazonLinux2015.03

  • AmazonLinux2015.09

  • AmazonLinux2016.03

  • AmazonLinux2016.09

  • AmazonLinux2017.03

  • AmazonLinux2017.09

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

Amazon Linux 2 Operating Systems

The supported keys for Amazon Linux 2 operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • AmazonLinux2

  • AmazonLinux2.0

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

RedHat Enterprise Linux (RHEL) Operating Systems

The supported keys for RedHat Enterprise Linux operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • RedhatEnterpriseLinux6.5

  • RedhatEnterpriseLinux6.6

  • RedhatEnterpriseLinux6.7

  • RedhatEnterpriseLinux6.8

  • RedhatEnterpriseLinux6.9

  • RedhatEnterpriseLinux7.0

  • RedhatEnterpriseLinux7.1

  • RedhatEnterpriseLinux7.2

  • RedhatEnterpriseLinux7.3

  • RedhatEnterpriseLinux7.4

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

SUSE Linux Enterprise Server (SLES) Operating Systems

The supported keys for SLES operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • Suse12.0

  • Suse12.1

  • Suse12.2

  • Suse12.3

  • Suse12.4

  • Suse12.5

  • Suse12.6

  • Suse12.7

  • Suse12.8

  • Suse12.9

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Recommended

  • Optional

  • Feature

  • Document

  • Yast

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Moderate

  • Low

CentOS Operating Systems

The supported keys for CentOS operating systems are PRODUCT, CLASSIFICATION, and SEVERITY. See the following lists for valid values for each of these keys.

Supported key: PRODUCT

Supported values:

  • CentOS6.5

  • CentOS6.6

  • CentOS6.7

  • CentOS6.8

  • CentOS6.9

  • CentOS7.0

  • CentOS7.1

  • CentOS7.2

  • CentOS7.3

  • CentOS7.4

  • *

    Use a wildcard character (*) to target all supported operating system versions.

Supported key: CLASSIFICATION

Supported values:

  • Security

  • Bugfix

  • Enhancement

  • Recommended

  • Newpackage

Supported key: SEVERITY

Supported values:

  • Critical

  • Important

  • Medium

  • Low

" - }, - "PatchFilterGroup":{ - "type":"structure", - "required":["PatchFilters"], - "members":{ - "PatchFilters":{ - "shape":"PatchFilterList", - "documentation":"

The set of patch filters that make up the group.

" - } - }, - "documentation":"

A set of patch filters, typically used for approval rules.

" - }, - "PatchFilterKey":{ - "type":"string", - "enum":[ - "PRODUCT", - "CLASSIFICATION", - "MSRC_SEVERITY", - "PATCH_ID", - "SECTION", - "PRIORITY", - "SEVERITY" - ] - }, - "PatchFilterList":{ - "type":"list", - "member":{"shape":"PatchFilter"}, - "max":4, - "min":0 - }, - "PatchFilterValue":{ - "type":"string", - "max":64, - "min":1 - }, - "PatchFilterValueList":{ - "type":"list", - "member":{"shape":"PatchFilterValue"}, - "max":20, - "min":1 - }, - "PatchGroup":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "PatchGroupList":{ - "type":"list", - "member":{"shape":"PatchGroup"} - }, - "PatchGroupPatchBaselineMapping":{ - "type":"structure", - "members":{ - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group registered with the patch baseline.

" - }, - "BaselineIdentity":{ - "shape":"PatchBaselineIdentity", - "documentation":"

The patch baseline the patch group is registered with.

" - } - }, - "documentation":"

The mapping between a patch group and the patch baseline the patch group is registered with.

" - }, - "PatchGroupPatchBaselineMappingList":{ - "type":"list", - "member":{"shape":"PatchGroupPatchBaselineMapping"} - }, - "PatchId":{ - "type":"string", - "max":100, - "min":1 - }, - "PatchIdList":{ - "type":"list", - "member":{"shape":"PatchId"}, - "max":50, - "min":0 - }, - "PatchInstalledCount":{"type":"integer"}, - "PatchInstalledOtherCount":{"type":"integer"}, - "PatchKbNumber":{"type":"string"}, - "PatchLanguage":{"type":"string"}, - "PatchList":{ - "type":"list", - "member":{"shape":"Patch"} - }, - "PatchMissingCount":{"type":"integer"}, - "PatchMsrcNumber":{"type":"string"}, - "PatchMsrcSeverity":{"type":"string"}, - "PatchNotApplicableCount":{"type":"integer"}, - "PatchOperationType":{ - "type":"string", - "enum":[ - "Scan", - "Install" - ] - }, - "PatchOrchestratorFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"PatchOrchestratorFilterKey", - "documentation":"

The key for the filter.

" - }, - "Values":{ - "shape":"PatchOrchestratorFilterValues", - "documentation":"

The value for the filter.

" - } - }, - "documentation":"

Defines a filter used in Patch Manager APIs.

" - }, - "PatchOrchestratorFilterKey":{ - "type":"string", - "max":128, - "min":1 - }, - "PatchOrchestratorFilterList":{ - "type":"list", - "member":{"shape":"PatchOrchestratorFilter"}, - "max":5, - "min":0 - }, - "PatchOrchestratorFilterValue":{ - "type":"string", - "max":256, - "min":1 - }, - "PatchOrchestratorFilterValues":{ - "type":"list", - "member":{"shape":"PatchOrchestratorFilterValue"} - }, - "PatchProduct":{"type":"string"}, - "PatchProductFamily":{"type":"string"}, - "PatchRule":{ - "type":"structure", - "required":[ - "PatchFilterGroup", - "ApproveAfterDays" - ], - "members":{ - "PatchFilterGroup":{ - "shape":"PatchFilterGroup", - "documentation":"

The patch filter group that defines the criteria for the rule.

" - }, - "ComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

A compliance severity level for all approved patches in a patch baseline. Valid compliance severity levels include the following: Unspecified, Critical, High, Medium, Low, and Informational.

" - }, - "ApproveAfterDays":{ - "shape":"ApproveAfterDays", - "documentation":"

The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of 7 means that patches are approved seven days after they are released.

", - "box":true - }, - "EnableNonSecurity":{ - "shape":"Boolean", - "documentation":"

For instances identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is 'false'. Applies to Linux instances only.

", - "box":true - } - }, - "documentation":"

Defines an approval rule for a patch baseline.

" - }, - "PatchRuleGroup":{ - "type":"structure", - "required":["PatchRules"], - "members":{ - "PatchRules":{ - "shape":"PatchRuleList", - "documentation":"

The rules that make up the rule group.

" - } - }, - "documentation":"

A set of rules defining the approval rules for a patch baseline.

" - }, - "PatchRuleList":{ - "type":"list", - "member":{"shape":"PatchRule"}, - "max":10, - "min":0 - }, - "PatchSeverity":{"type":"string"}, - "PatchSource":{ - "type":"structure", - "required":[ - "Name", - "Products", - "Configuration" - ], - "members":{ - "Name":{ - "shape":"PatchSourceName", - "documentation":"

The name specified to identify the patch source.

" - }, - "Products":{ - "shape":"PatchSourceProductList", - "documentation":"

The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"AmazonLinux2016.09\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see PatchFilter.

" - }, - "Configuration":{ - "shape":"PatchSourceConfiguration", - "documentation":"

The value of the yum repo configuration. For example:

cachedir=/var/cache/yum/$basesearch

$releasever

keepcache=0

debuglevel=2

" - } - }, - "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repository. Applies to Linux instances only.

" - }, - "PatchSourceConfiguration":{ - "type":"string", - "max":512, - "min":1, - "sensitive":true - }, - "PatchSourceList":{ - "type":"list", - "member":{"shape":"PatchSource"}, - "max":20, - "min":0 - }, - "PatchSourceName":{ - "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.]{3,50}$" - }, - "PatchSourceProduct":{ - "type":"string", - "max":128, - "min":1 - }, - "PatchSourceProductList":{ - "type":"list", - "member":{"shape":"PatchSourceProduct"}, - "max":20, - "min":1 - }, - "PatchStatus":{ - "type":"structure", - "members":{ - "DeploymentStatus":{ - "shape":"PatchDeploymentStatus", - "documentation":"

The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).

" - }, - "ComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

The compliance severity level for a patch.

" - }, - "ApprovalDate":{ - "shape":"DateTime", - "documentation":"

The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).

" - } - }, - "documentation":"

Information about the approval status of a patch.

" - }, - "PatchTitle":{"type":"string"}, - "PatchVendor":{"type":"string"}, - "PingStatus":{ - "type":"string", - "enum":[ - "Online", - "ConnectionLost", - "Inactive" - ] - }, - "PlatformType":{ - "type":"string", - "enum":[ - "Windows", - "Linux" - ] - }, - "PlatformTypeList":{ - "type":"list", - "member":{"shape":"PlatformType"} - }, - "Product":{"type":"string"}, - "PutComplianceItemsRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "ResourceType", - "ComplianceType", - "ExecutionSummary", - "Items" - ], - "members":{ - "ResourceId":{ - "shape":"ComplianceResourceId", - "documentation":"

Specify an ID for this resource. For a managed instance, this is the instance ID.

" - }, - "ResourceType":{ - "shape":"ComplianceResourceType", - "documentation":"

Specify the type of resource. ManagedInstance is currently the only supported resource type.

" - }, - "ComplianceType":{ - "shape":"ComplianceTypeName", - "documentation":"

Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string.

" - }, - "ExecutionSummary":{ - "shape":"ComplianceExecutionSummary", - "documentation":"

A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

" - }, - "Items":{ - "shape":"ComplianceItemEntryList", - "documentation":"

Information about the compliance as defined by the resource type. For example, for a patch compliance type, Items includes information about the PatchSeverity, Classification, etc.

" - }, - "ItemContentHash":{ - "shape":"ComplianceItemContentHash", - "documentation":"

MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored.

" - } - } - }, - "PutComplianceItemsResult":{ - "type":"structure", - "members":{ - } - }, - "PutInventoryMessage":{"type":"string"}, - "PutInventoryRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "Items" - ], - "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

One or more instance IDs where you want to add or update inventory items.

" - }, - "Items":{ - "shape":"InventoryItemList", - "documentation":"

The inventory items that you want to add or update on instances.

" - } - } - }, - "PutInventoryResult":{ - "type":"structure", - "members":{ - "Message":{ - "shape":"PutInventoryMessage", - "documentation":"

Information about the request.

" - } - } - }, - "PutParameterRequest":{ - "type":"structure", - "required":[ - "Name", - "Value", - "Type" - ], - "members":{ - "Name":{ - "shape":"PSParameterName", - "documentation":"

The fully qualified name of the parameter that you want to add to the system. The fully qualified name includes the complete hierarchy of the parameter path and name. For example: /Dev/DBServer/MySQL/db-string13

Naming Constraints:

  • Parameter names are case sensitive.

  • A parameter name must be unique within an AWS Region

  • A parameter name can't be prefixed with \"aws\" or \"ssm\" (case-insensitive).

  • Parameter names can include only the following symbols and letters: a-zA-Z0-9_.-/

  • A parameter name can't include spaces.

  • Parameter hierarchies are limited to a maximum depth of fifteen levels.

For additional information about valid values for parameter names, see Requirements and Constraints for Parameter Names in the AWS Systems Manager User Guide.

The maximum length constraint listed below includes capacity for additional system attributes that are not part of the name. The maximum length for the fully qualified parameter name is 1011 characters.

" - }, - "Description":{ - "shape":"ParameterDescription", - "documentation":"

Information about the parameter that you want to add to the system. Optional but recommended.

Do not enter personally identifiable information in this field.

" - }, - "Value":{ - "shape":"PSParameterValue", - "documentation":"

The parameter value that you want to add to the system.

" - }, - "Type":{ - "shape":"ParameterType", - "documentation":"

The type of parameter that you want to add to the system.

Items in a StringList must be separated by a comma (,). You can't use other punctuation or special character to escape items in the list. If you have a parameter value that requires a comma, then use the String data type.

SecureString is not currently supported for AWS CloudFormation templates or in the China Regions.

" - }, - "KeyId":{ - "shape":"ParameterKeyId", - "documentation":"

The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. Required for parameters that use the SecureString data type.

If you don't specify a key ID, the system uses the default key associated with your AWS account.

  • To use your default AWS KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates Key ID with your default KMS key.

  • To use a custom KMS key, choose the SecureString data type with the Key ID parameter.

" - }, - "Overwrite":{ - "shape":"Boolean", - "documentation":"

Overwrite an existing parameter. If not specified, will default to \"false\".

", - "box":true - }, - "AllowedPattern":{ - "shape":"AllowedPattern", - "documentation":"

A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\\d+$

" - } - } - }, - "PutParameterResult":{ - "type":"structure", - "members":{ - "Version":{ - "shape":"PSParameterVersion", - "documentation":"

The new version number of a parameter. If you edit a parameter value, Parameter Store automatically creates a new version and assigns this new version a unique ID. You can reference a parameter version ID in API actions or in Systems Manager documents (SSM documents). By default, if you don't specify a specific version, the system returns the latest parameter value when a parameter is called.

" - } - } - }, - "RegisterDefaultPatchBaselineRequest":{ - "type":"structure", - "required":["BaselineId"], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline that should be the default patch baseline.

" - } - } - }, - "RegisterDefaultPatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the default patch baseline.

" - } - } - }, - "RegisterPatchBaselineForPatchGroupRequest":{ - "type":"structure", - "required":[ - "BaselineId", - "PatchGroup" - ], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to register the patch group with.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group that should be registered with the patch baseline.

" - } - } - }, - "RegisterPatchBaselineForPatchGroupResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline the patch group was registered with.

" - }, - "PatchGroup":{ - "shape":"PatchGroup", - "documentation":"

The name of the patch group registered with the patch baseline.

" - } - } - }, - "RegisterTargetWithMaintenanceWindowRequest":{ - "type":"structure", - "required":[ - "WindowId", - "ResourceType", - "Targets" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the target should be registered with.

" - }, - "ResourceType":{ - "shape":"MaintenanceWindowResourceType", - "documentation":"

The type of target being registered with the Maintenance Window.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets (either instances or tags).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify tags using either of the following formats:

Key=tag:<tag-key>,Values=<tag-value-1>,<tag-value-2>

Key=tag-key,Values=<tag-key-1>,<tag-key-2>

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

An optional name for the target.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the target.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

User-provided idempotency token.

", - "idempotencyToken":true - } - } - }, - "RegisterTargetWithMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The ID of the target definition in this Maintenance Window.

" - } - } - }, - "RegisterTaskWithMaintenanceWindowRequest":{ - "type":"structure", - "required":[ - "WindowId", - "Targets", - "TaskArn", - "TaskType", - "MaxConcurrency", - "MaxErrors" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window the task should be added to.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets (either instances or Maintenance Window targets).

Specify instances using the following format:

Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

Specify Maintenance Window targets using the following format:

Key=<WindowTargetIds>,Values=<window-target-id-1>,<window-target-id-2>

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The ARN of the task to execute

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The role to assume when running the Maintenance Window task.

If you do not specify a service role ARN, Systems Manager will use your account's service-linked role for Systems Manager by default. If no service-linked role for Systems Manager exists in your account, it will be created when you run RegisterTaskWithMaintenanceWindow without specifying a service role ARN.

For more information, see Service-Linked Role Permissions for Systems Manager and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? in the AWS Systems Manager User Guide.

" - }, - "TaskType":{ - "shape":"MaintenanceWindowTaskType", - "documentation":"

The type of task being registered.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters that should be passed to the task when it is executed.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "TaskInvocationParameters":{ - "shape":"MaintenanceWindowTaskInvocationParameters", - "documentation":"

The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

", - "box":true - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets this task can be run for in parallel.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed before this task stops being scheduled.

" - }, - "LoggingInfo":{ - "shape":"LoggingInfo", - "documentation":"

A structure containing information about an Amazon S3 bucket to write instance-level logs to.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

An optional name for the task.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the task.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

User-provided idempotency token.

", - "idempotencyToken":true - } - } - }, - "RegisterTaskWithMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The id of the task in the Maintenance Window.

" - } - } - }, - "RegistrationLimit":{ - "type":"integer", - "max":1000, - "min":1 - }, - "RegistrationsCount":{ - "type":"integer", - "max":1000, - "min":1 - }, - "RemainingCount":{"type":"integer"}, - "RemoveTagsFromResourceRequest":{ - "type":"structure", - "required":[ - "ResourceType", - "ResourceId", - "TagKeys" - ], - "members":{ - "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

The type of resource of which you want to remove a tag.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource ID for which you want to remove tags. Use the ID of the resource. Here are some examples:

ManagedInstance: mi-012345abcde

MaintenanceWindow: mw-012345abcde

PatchBaseline: pb-012345abcde

For the Document and Parameter values, use the name of the resource.

The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

" - }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

Tag keys that you want to remove from the specified resource.

" - } - } - }, - "RemoveTagsFromResourceResult":{ - "type":"structure", - "members":{ - } - }, - "ResolvedTargets":{ - "type":"structure", - "members":{ - "ParameterValues":{ - "shape":"TargetParameterList", - "documentation":"

A list of parameter values sent to targets that resolved during the Automation execution.

" - }, - "Truncated":{ - "shape":"Boolean", - "documentation":"

A boolean value indicating whether the resolved target list is truncated.

" - } - }, - "documentation":"

Information about targets that resolved during the Automation execution.

" - }, - "ResourceComplianceSummaryItem":{ - "type":"structure", - "members":{ - "ComplianceType":{ - "shape":"ComplianceTypeName", - "documentation":"

The compliance type.

" - }, - "ResourceType":{ - "shape":"ComplianceResourceType", - "documentation":"

The resource type.

" - }, - "ResourceId":{ - "shape":"ComplianceResourceId", - "documentation":"

The resource ID.

" - }, - "Status":{ - "shape":"ComplianceStatus", - "documentation":"

The compliance status for the resource.

" - }, - "OverallSeverity":{ - "shape":"ComplianceSeverity", - "documentation":"

The highest severity item found for the resource. The resource is compliant for this item.

" - }, - "ExecutionSummary":{ - "shape":"ComplianceExecutionSummary", - "documentation":"

Information about the execution.

" - }, - "CompliantSummary":{ - "shape":"CompliantSummary", - "documentation":"

A list of items that are compliant for the resource.

" - }, - "NonCompliantSummary":{ - "shape":"NonCompliantSummary", - "documentation":"

A list of items that aren't compliant for the resource.

" - } - }, - "documentation":"

Compliance summary information for a specific resource.

" - }, - "ResourceComplianceSummaryItemList":{ - "type":"list", - "member":{"shape":"ResourceComplianceSummaryItem"} - }, - "ResourceCount":{"type":"integer"}, - "ResourceCountByStatus":{"type":"string"}, - "ResourceDataSyncAWSKMSKeyARN":{ - "type":"string", - "max":512, - "min":1, - "pattern":"arn:.*" - }, - "ResourceDataSyncAlreadyExistsException":{ - "type":"structure", - "members":{ - "SyncName":{"shape":"ResourceDataSyncName"} - }, - "documentation":"

A sync configuration with the same name already exists.

", - "exception":true - }, - "ResourceDataSyncCountExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You have exceeded the allowed maximum sync configurations.

", - "exception":true - }, - "ResourceDataSyncCreatedTime":{"type":"timestamp"}, - "ResourceDataSyncInvalidConfigurationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The specified sync configuration is invalid.

", - "exception":true - }, - "ResourceDataSyncItem":{ - "type":"structure", - "members":{ - "SyncName":{ - "shape":"ResourceDataSyncName", - "documentation":"

The name of the Resource Data Sync.

" - }, - "S3Destination":{ - "shape":"ResourceDataSyncS3Destination", - "documentation":"

Configuration information for the target Amazon S3 bucket.

" - }, - "LastSyncTime":{ - "shape":"LastResourceDataSyncTime", - "documentation":"

The last time the configuration attempted to sync (UTC).

" - }, - "LastSuccessfulSyncTime":{ - "shape":"LastSuccessfulResourceDataSyncTime", - "documentation":"

The last time the sync operations returned a status of SUCCESSFUL (UTC).

" - }, - "LastStatus":{ - "shape":"LastResourceDataSyncStatus", - "documentation":"

The status reported by the last sync.

" - }, - "SyncCreatedTime":{ - "shape":"ResourceDataSyncCreatedTime", - "documentation":"

The date and time the configuration was created (UTC).

" - }, - "LastSyncStatusMessage":{ - "shape":"LastResourceDataSyncMessage", - "documentation":"

The status message details reported by the last sync.

" - } - }, - "documentation":"

Information about a Resource Data Sync configuration, including its current status and last successful sync.

" - }, - "ResourceDataSyncItemList":{ - "type":"list", - "member":{"shape":"ResourceDataSyncItem"} - }, - "ResourceDataSyncName":{ - "type":"string", - "max":64, - "min":1 - }, - "ResourceDataSyncNotFoundException":{ - "type":"structure", - "members":{ - "SyncName":{"shape":"ResourceDataSyncName"} - }, - "documentation":"

The specified sync name was not found.

", - "exception":true - }, - "ResourceDataSyncS3BucketName":{ - "type":"string", - "max":2048, - "min":1 - }, - "ResourceDataSyncS3Destination":{ - "type":"structure", - "required":[ - "BucketName", - "SyncFormat", - "Region" - ], - "members":{ - "BucketName":{ - "shape":"ResourceDataSyncS3BucketName", - "documentation":"

The name of the Amazon S3 bucket where the aggregated data is stored.

" - }, - "Prefix":{ - "shape":"ResourceDataSyncS3Prefix", - "documentation":"

An Amazon S3 prefix for the bucket.

" - }, - "SyncFormat":{ - "shape":"ResourceDataSyncS3Format", - "documentation":"

A supported sync format. The following format is currently supported: JsonSerDe

" - }, - "Region":{ - "shape":"ResourceDataSyncS3Region", - "documentation":"

The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.

" - }, - "AWSKMSKeyARN":{ - "shape":"ResourceDataSyncAWSKMSKeyARN", - "documentation":"

The ARN of an encryption key for a destination in Amazon S3. Must belong to the same region as the destination Amazon S3 bucket.

" - } - }, - "documentation":"

Information about the target Amazon S3 bucket for the Resource Data Sync.

" - }, - "ResourceDataSyncS3Format":{ - "type":"string", - "enum":["JsonSerDe"] - }, - "ResourceDataSyncS3Prefix":{ - "type":"string", - "max":256, - "min":1 - }, - "ResourceDataSyncS3Region":{ - "type":"string", - "max":64, - "min":1 - }, - "ResourceId":{"type":"string"}, - "ResourceInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Error returned if an attempt is made to delete a patch baseline that is registered for a patch group.

", - "exception":true - }, - "ResourceLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Error returned when the caller has exceeded the default resource limits. For example, too many Maintenance Windows or Patch baselines have been created.

For information about resource limits in Systems Manager, see AWS Systems Manager Limits.

", - "exception":true - }, - "ResourceType":{ - "type":"string", - "enum":[ - "ManagedInstance", - "Document", - "EC2Instance" - ] - }, - "ResourceTypeForTagging":{ - "type":"string", - "enum":[ - "Document", - "ManagedInstance", - "MaintenanceWindow", - "Parameter", - "PatchBaseline" - ] - }, - "ResponseCode":{"type":"integer"}, - "ResultAttribute":{ - "type":"structure", - "required":["TypeName"], - "members":{ - "TypeName":{ - "shape":"InventoryItemTypeName", - "documentation":"

Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.

" - } - }, - "documentation":"

The inventory item result attribute.

" - }, - "ResultAttributeList":{ - "type":"list", - "member":{"shape":"ResultAttribute"}, - "max":1, - "min":1 - }, - "S3BucketName":{ - "type":"string", - "max":63, - "min":3 - }, - "S3KeyPrefix":{ - "type":"string", - "max":500 - }, - "S3OutputLocation":{ - "type":"structure", - "members":{ - "OutputS3Region":{ - "shape":"S3Region", - "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 name of the Amazon S3 bucket.

" - }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

The Amazon S3 bucket subfolder.

" - } - }, - "documentation":"

An Amazon S3 bucket where you want to store the results of this request.

" - }, - "S3OutputUrl":{ - "type":"structure", - "members":{ - "OutputUrl":{ - "shape":"Url", - "documentation":"

A URL for an Amazon S3 bucket where you want to store the results of this request.

" - } - }, - "documentation":"

A URL for the Amazon S3 bucket where you want to store the results of this request.

" - }, - "S3Region":{ - "type":"string", - "max":20, - "min":3 - }, - "ScheduleExpression":{ - "type":"string", - "max":256, - "min":1 - }, - "SendAutomationSignalRequest":{ - "type":"structure", - "required":[ - "AutomationExecutionId", - "SignalType" - ], - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The unique identifier for an existing Automation execution that you want to send the signal to.

" - }, - "SignalType":{ - "shape":"SignalType", - "documentation":"

The type of signal. Valid signal types include the following: Approve and Reject

" - }, - "Payload":{ - "shape":"AutomationParameterMap", - "documentation":"

The data sent with the signal. The data schema depends on the type of signal used in the request.

" - } - } - }, - "SendAutomationSignalResult":{ - "type":"structure", - "members":{ - } - }, - "SendCommandRequest":{ - "type":"structure", - "required":["DocumentName"], - "members":{ - "InstanceIds":{ - "shape":"InstanceIdList", - "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 in the AWS Systems Manager User Guide.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

(Optional) An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use Targets, see Sending Commands to a Fleet in the AWS Systems Manager User Guide.

" - }, - "DocumentName":{ - "shape":"DocumentARN", - "documentation":"

Required. The name of the Systems Manager document to execute. This can be a public document or a custom document.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you execute commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

--document-version \"\\$DEFAULT\"

--document-version \"\\$LATEST\"

--document-version \"3\"

" - }, - "DocumentHash":{ - "shape":"DocumentHash", - "documentation":"

The Sha256 or Sha1 hash created by the system when the document was created.

Sha1 hashes have been deprecated.

" - }, - "DocumentHashType":{ - "shape":"DocumentHashType", - "documentation":"

Sha256 or Sha1.

Sha1 hashes have been deprecated.

" - }, - "TimeoutSeconds":{ - "shape":"TimeoutSeconds", - "documentation":"

If this time is reached and the command has not already started executing, it will not run.

", - "box":true - }, - "Comment":{ - "shape":"Comment", - "documentation":"

User-specified information about the command, such as a brief description of what the command should do.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The required and optional parameters specified in the document being executed.

" - }, - "OutputS3Region":{ - "shape":"S3Region", - "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 name of the S3 bucket where command execution responses should be stored.

" - }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

The directory structure within the S3 bucket where the responses should be stored.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

(Optional) The maximum number of instances that are allowed to 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 in the AWS Systems Manager User Guide.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For more information about how to use MaxErrors, see Using Error Controls in the AWS Systems Manager User Guide.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The IAM role that Systems Manager uses to send notifications.

" - }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

Configurations for sending notifications.

" - }, - "CloudWatchOutputConfig":{ - "shape":"CloudWatchOutputConfig", - "documentation":"

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

" - } - } - }, - "SendCommandResult":{ - "type":"structure", - "members":{ - "Command":{ - "shape":"Command", - "documentation":"

The request as it was received by Systems Manager. Also provides the command ID which can be used future references to this request.

" - } - } - }, - "ServiceRole":{"type":"string"}, - "SeveritySummary":{ - "type":"structure", - "members":{ - "CriticalCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of critical. Critical severity is determined by the organization that published the compliance items.

" - }, - "HighCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of high. High severity is determined by the organization that published the compliance items.

" - }, - "MediumCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of medium. Medium severity is determined by the organization that published the compliance items.

" - }, - "LowCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of low. Low severity is determined by the organization that published the compliance items.

" - }, - "InformationalCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of informational. Informational severity is determined by the organization that published the compliance items.

" - }, - "UnspecifiedCount":{ - "shape":"ComplianceSummaryCount", - "documentation":"

The total number of resources or compliance items that have a severity level of unspecified. Unspecified severity is determined by the organization that published the compliance items.

" - } - }, - "documentation":"

The number of managed instances found for each patch severity level defined in the request filter.

" - }, - "SignalType":{ - "type":"string", - "enum":[ - "Approve", - "Reject", - "StartStep", - "StopStep", - "Resume" - ] - }, - "SnapshotDownloadUrl":{"type":"string"}, - "SnapshotId":{ - "type":"string", - "max":36, - "min":36, - "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - }, - "StandardErrorContent":{ - "type":"string", - "max":8000 - }, - "StandardOutputContent":{ - "type":"string", - "max":24000 - }, - "StartAssociationsOnceRequest":{ - "type":"structure", - "required":["AssociationIds"], - "members":{ - "AssociationIds":{ - "shape":"AssociationIdList", - "documentation":"

The association IDs that you want to execute immediately and only one time.

" - } - } - }, - "StartAssociationsOnceResult":{ - "type":"structure", - "members":{ - } - }, - "StartAutomationExecutionRequest":{ - "type":"structure", - "required":["DocumentName"], - "members":{ - "DocumentName":{ - "shape":"DocumentARN", - "documentation":"

The name of the Automation document to use for this execution.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of the Automation document to use for this execution.

", - "box":true - }, - "Parameters":{ - "shape":"AutomationParameterMap", - "documentation":"

A key-value map of execution parameters, which match the declared parameters in the Automation document.

" - }, - "ClientToken":{ - "shape":"IdempotencyToken", - "documentation":"

User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

" - }, - "Mode":{ - "shape":"ExecutionMode", - "documentation":"

The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.

" - }, - "TargetParameterName":{ - "shape":"AutomationParameterKey", - "documentation":"

The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify Targets.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

A key-value mapping to target resources. Required if you specify TargetParameterName.

" - }, - "TargetMaps":{ - "shape":"TargetMaps", - "documentation":"

A key-value mapping of document parameters to target resources. Both Targets and TargetMaps cannot be specified together.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is 10.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.

Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.

" - } - } - }, - "StartAutomationExecutionResult":{ - "type":"structure", - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The unique ID of a newly scheduled automation execution.

" - } - } - }, - "StatusAdditionalInfo":{ - "type":"string", - "max":1024 - }, - "StatusDetails":{ - "type":"string", - "max":100, - "min":0 - }, - "StatusMessage":{ - "type":"string", - "max":1024, - "min":1 - }, - "StatusName":{"type":"string"}, - "StatusUnchanged":{ - "type":"structure", - "members":{ - }, - "documentation":"

The updated status is the same as the current status.

", - "exception":true - }, - "StepExecution":{ - "type":"structure", - "members":{ - "StepName":{ - "shape":"String", - "documentation":"

The name of this execution step.

" - }, - "Action":{ - "shape":"AutomationActionName", - "documentation":"

The action this step performs. The action determines the behavior of the step.

" - }, - "TimeoutSeconds":{ - "shape":"Long", - "documentation":"

The timeout seconds of the step.

", - "box":true - }, - "OnFailure":{ - "shape":"String", - "documentation":"

The action to take if the step fails. The default value is Abort.

" - }, - "MaxAttempts":{ - "shape":"Integer", - "documentation":"

The maximum number of tries to run the action of the step. The default value is 1.

", - "box":true - }, - "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.

" - }, - "ExecutionEndTime":{ - "shape":"DateTime", - "documentation":"

If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.

" - }, - "StepStatus":{ - "shape":"AutomationExecutionStatus", - "documentation":"

The execution status for this step. Valid values include: Pending, InProgress, Success, Cancelled, Failed, and TimedOut.

" - }, - "ResponseCode":{ - "shape":"String", - "documentation":"

The response code returned by the execution of the step.

" - }, - "Inputs":{ - "shape":"NormalStringMap", - "documentation":"

Fully-resolved values passed into the step before execution.

" - }, - "Outputs":{ - "shape":"AutomationParameterMap", - "documentation":"

Returned values from the execution of the step.

" - }, - "Response":{ - "shape":"String", - "documentation":"

A message associated with the response code for an execution.

" - }, - "FailureMessage":{ - "shape":"String", - "documentation":"

If a step failed, this message explains why the execution failed.

" - }, - "FailureDetails":{ - "shape":"FailureDetails", - "documentation":"

Information about the Automation failure.

" - }, - "StepExecutionId":{ - "shape":"String", - "documentation":"

The unique ID of a step execution.

" - }, - "OverriddenParameters":{ - "shape":"AutomationParameterMap", - "documentation":"

A user-specified list of parameters to override when executing a step.

" - }, - "IsEnd":{ - "shape":"Boolean", - "documentation":"

The flag which can be used to end automation no matter whether the step succeeds or fails.

", - "box":true - }, - "NextStep":{ - "shape":"String", - "documentation":"

The next step after the step succeeds.

", - "box":true - }, - "IsCritical":{ - "shape":"Boolean", - "documentation":"

The flag which can be used to help decide whether the failure of current step leads to the Automation failure.

", - "box":true - }, - "ValidNextSteps":{ - "shape":"ValidNextStepList", - "documentation":"

Strategies used when step fails, we support Continue and Abort. Abort will fail the automation when the step fails. Continue will ignore the failure of current step and allow automation to execute the next step. With conditional branching, we add step:stepName to support the automation to go to another specific step.

" - } - }, - "documentation":"

Detailed information about an the execution state of an Automation step.

" - }, - "StepExecutionFilter":{ - "type":"structure", - "required":[ - "Key", - "Values" - ], - "members":{ - "Key":{ - "shape":"StepExecutionFilterKey", - "documentation":"

One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.

" - }, - "Values":{ - "shape":"StepExecutionFilterValueList", - "documentation":"

The values of the filter key.

" - } - }, - "documentation":"

A filter to limit the amount of step execution information returned by the call.

" - }, - "StepExecutionFilterKey":{ - "type":"string", - "enum":[ - "StartTimeBefore", - "StartTimeAfter", - "StepExecutionStatus", - "StepExecutionId", - "StepName", - "Action" - ] - }, - "StepExecutionFilterList":{ - "type":"list", - "member":{"shape":"StepExecutionFilter"}, - "max":6, - "min":1 - }, - "StepExecutionFilterValue":{ - "type":"string", - "max":150, - "min":1 - }, - "StepExecutionFilterValueList":{ - "type":"list", - "member":{"shape":"StepExecutionFilterValue"}, - "max":10, - "min":1 - }, - "StepExecutionList":{ - "type":"list", - "member":{"shape":"StepExecution"} - }, - "StopAutomationExecutionRequest":{ - "type":"structure", - "required":["AutomationExecutionId"], - "members":{ - "AutomationExecutionId":{ - "shape":"AutomationExecutionId", - "documentation":"

The execution ID of the Automation to stop.

" - }, - "Type":{ - "shape":"StopType", - "documentation":"

The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.

" - } - } - }, - "StopAutomationExecutionResult":{ - "type":"structure", - "members":{ - } - }, - "StopType":{ - "type":"string", - "enum":[ - "Complete", - "Cancel" - ] - }, - "String":{"type":"string"}, - "StringDateTime":{ - "type":"string", - "pattern":"^([\\-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d(?!:))?)?(\\17[0-5]\\d([\\.,]\\d)?)?([zZ]|([\\-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" - }, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "SubTypeCountLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The sub-type count exceeded the limit for the inventory type.

", - "exception":true - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The name of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines.

" - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "Target":{ - "type":"structure", - "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 InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Targeting Multiple Instances in the AWS Systems Manager User Guide.

" - }, - "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 Sending Commands to a Fleet in the AWS Systems Manager User Guide.

" - } - }, - "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"}, - "TargetInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You specified the Safe option for the DeregisterTargetFromMaintenanceWindow operation, but the target is still referenced in a task.

", - "exception":true - }, - "TargetKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=\\-@]*$" - }, - "TargetMap":{ - "type":"map", - "key":{"shape":"TargetMapKey"}, - "value":{"shape":"TargetMapValueList"}, - "max":20, - "min":1 - }, - "TargetMapKey":{ - "type":"string", - "max":50, - "min":1 - }, - "TargetMapValue":{ - "type":"string", - "max":50, - "min":1 - }, - "TargetMapValueList":{ - "type":"list", - "member":{"shape":"TargetMapValue"}, - "max":25, - "min":0 - }, - "TargetMaps":{ - "type":"list", - "member":{"shape":"TargetMap"}, - "max":300, - "min":0 - }, - "TargetParameterList":{ - "type":"list", - "member":{"shape":"ParameterValue"} - }, - "TargetType":{ - "type":"string", - "max":200, - "pattern":"^\\/[\\w\\.\\-\\:\\/]*$" - }, - "TargetValue":{"type":"string"}, - "TargetValues":{ - "type":"list", - "member":{"shape":"TargetValue"}, - "max":50, - "min":0 - }, - "Targets":{ - "type":"list", - "member":{"shape":"Target"}, - "max":5, - "min":0 - }, - "TimeoutSeconds":{ - "type":"integer", - "max":2592000, - "min":30 - }, - "TooManyTagsError":{ - "type":"structure", - "members":{ - }, - "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 - }, - "TotalCount":{"type":"integer"}, - "TotalSizeLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The size of inventory data has exceeded the total size limit for the resource.

", - "exception":true - }, - "UnsupportedInventoryItemContextException":{ - "type":"structure", - "members":{ - "TypeName":{"shape":"InventoryItemTypeName"}, - "Message":{"shape":"String"} - }, - "documentation":"

The Context attribute that you specified for the InventoryItem is not allowed for this inventory type. You can only use the Context attribute with inventory types like AWS:ComplianceItem.

", - "exception":true - }, - "UnsupportedInventorySchemaVersionException":{ - "type":"structure", - "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.

", - "exception":true - }, - "UnsupportedOperatingSystem":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The operating systems you specified is not supported, or the operation is not supported for the operating system. Valid operating systems include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.

", - "exception":true - }, - "UnsupportedParameterType":{ - "type":"structure", - "members":{ - "message":{"shape":"String"} - }, - "documentation":"

The parameter type is not supported.

", - "exception":true - }, - "UnsupportedPlatformType":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The document does not support the platform type of the given instance ID(s). For example, you sent an document for a Windows instance to a Linux instance.

", - "exception":true - }, - "UpdateAssociationRequest":{ - "type":"structure", - "required":["AssociationId"], - "members":{ - "AssociationId":{ - "shape":"AssociationId", - "documentation":"

The ID of the association you want to update.

" - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

The parameters you want to update for the association. If you create a parameter using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The document version you want update for the association.

" - }, - "ScheduleExpression":{ - "shape":"ScheduleExpression", - "documentation":"

The cron expression used to schedule the association that you want to update.

" - }, - "OutputLocation":{ - "shape":"InstanceAssociationOutputLocation", - "documentation":"

An 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.

" - }, - "AssociationName":{ - "shape":"AssociationName", - "documentation":"

The name of the association that you want to update.

" - }, - "AssociationVersion":{ - "shape":"AssociationVersion", - "documentation":"

This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify $LATEST, or omit this parameter.

" - } - } - }, - "UpdateAssociationResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

The description of the association that was updated.

" - } - } - }, - "UpdateAssociationStatusRequest":{ - "type":"structure", - "required":[ - "Name", - "InstanceId", - "AssociationStatus" - ], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the Systems Manager document.

" - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

The ID of the instance.

" - }, - "AssociationStatus":{ - "shape":"AssociationStatus", - "documentation":"

The association status.

" - } - } - }, - "UpdateAssociationStatusResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

Information about the association.

" - } - } - }, - "UpdateDocumentDefaultVersionRequest":{ - "type":"structure", - "required":[ - "Name", - "DocumentVersion" - ], - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of a custom document that you want to set as the default version.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersionNumber", - "documentation":"

The version of a custom document that you want to set as the default version.

" - } - } - }, - "UpdateDocumentDefaultVersionResult":{ - "type":"structure", - "members":{ - "Description":{ - "shape":"DocumentDefaultVersionDescription", - "documentation":"

The description of a custom document that you want to set as the default version.

" - } - } - }, - "UpdateDocumentRequest":{ - "type":"structure", - "required":[ - "Content", - "Name" - ], - "members":{ - "Content":{ - "shape":"DocumentContent", - "documentation":"

The content in a document that you want to update.

" - }, - "Name":{ - "shape":"DocumentName", - "documentation":"

The name of the document that you want to update.

" - }, - "DocumentVersion":{ - "shape":"DocumentVersion", - "documentation":"

The version of the document that you want to update.

" - }, - "DocumentFormat":{ - "shape":"DocumentFormat", - "documentation":"

Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.

" - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

Specify a new target type for the document.

" - } - } - }, - "UpdateDocumentResult":{ - "type":"structure", - "members":{ - "DocumentDescription":{ - "shape":"DocumentDescription", - "documentation":"

A description of the document that was updated.

" - } - } - }, - "UpdateMaintenanceWindowRequest":{ - "type":"structure", - "required":["WindowId"], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window to update.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the update request.

" - }, - "Schedule":{ - "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" - }, - "Duration":{ - "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

", - "box":true - }, - "Cutoff":{ - "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

", - "box":true - }, - "AllowUnassociatedTargets":{ - "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

", - "box":true - }, - "Enabled":{ - "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

", - "box":true - }, - "Replace":{ - "shape":"Boolean", - "documentation":"

If True, then all fields that are required by the CreateMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

", - "box":true - } - } - }, - "UpdateMaintenanceWindowResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the created Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The name of the Maintenance Window.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description of the update.

" - }, - "Schedule":{ - "shape":"MaintenanceWindowSchedule", - "documentation":"

The schedule of the Maintenance Window in the form of a cron or rate expression.

" - }, - "Duration":{ - "shape":"MaintenanceWindowDurationHours", - "documentation":"

The duration of the Maintenance Window in hours.

" - }, - "Cutoff":{ - "shape":"MaintenanceWindowCutoff", - "documentation":"

The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.

" - }, - "AllowUnassociatedTargets":{ - "shape":"MaintenanceWindowAllowUnassociatedTargets", - "documentation":"

Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

" - }, - "Enabled":{ - "shape":"MaintenanceWindowEnabled", - "documentation":"

Whether the Maintenance Window is enabled.

" - } - } - }, - "UpdateMaintenanceWindowTargetRequest":{ - "type":"structure", - "required":[ - "WindowId", - "WindowTargetId" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID with which to modify the target.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The target ID to modify.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets to add or replace.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

A name for the update.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

An optional description for the update.

" - }, - "Replace":{ - "shape":"Boolean", - "documentation":"

If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

", - "box":true - } - } - }, - "UpdateMaintenanceWindowTargetResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID specified in the update request.

" - }, - "WindowTargetId":{ - "shape":"MaintenanceWindowTargetId", - "documentation":"

The target ID specified in the update request.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The updated targets.

" - }, - "OwnerInformation":{ - "shape":"OwnerInformation", - "documentation":"

The updated owner.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The updated name.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

The updated description.

" - } - } - }, - "UpdateMaintenanceWindowTaskRequest":{ - "type":"structure", - "required":[ - "WindowId", - "WindowTaskId" - ], - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The Maintenance Window ID that contains the task to modify.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The task ID to modify.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The targets (either instances or tags) to modify. Instances are specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using Key=tag_name,Values=tag_value.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The task ARN to modify.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The IAM service role ARN to modify. The system assumes this role during task execution.

If you do not specify a service role ARN, Systems Manager will use your account's service-linked role for Systems Manager by default. If no service-linked role for Systems Manager exists in your account, it will be created when you run RegisterTaskWithMaintenanceWindow without specifying a service role ARN.

For more information, see Service-Linked Role Permissions for Systems Manager and Should I Use a Service-Linked Role or a Custom Service Role to Run Maintenance Window Tasks? in the AWS Systems Manager User Guide.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The parameters to modify.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

The map has the following format:

Key: string, between 1 and 255 characters

Value: an array of strings, each string is between 1 and 255 characters

" - }, - "TaskInvocationParameters":{ - "shape":"MaintenanceWindowTaskInvocationParameters", - "documentation":"

The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

", - "box":true - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

" - }, - "LoggingInfo":{ - "shape":"LoggingInfo", - "documentation":"

The new logging location in Amazon S3 to specify.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The new task name to specify.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

The new task description to specify.

" - }, - "Replace":{ - "shape":"Boolean", - "documentation":"

If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action are also required for this API request. Optional fields that are not specified are set to null.

", - "box":true - } - } - }, - "UpdateMaintenanceWindowTaskResult":{ - "type":"structure", - "members":{ - "WindowId":{ - "shape":"MaintenanceWindowId", - "documentation":"

The ID of the Maintenance Window that was updated.

" - }, - "WindowTaskId":{ - "shape":"MaintenanceWindowTaskId", - "documentation":"

The task ID of the Maintenance Window that was updated.

" - }, - "Targets":{ - "shape":"Targets", - "documentation":"

The updated target values.

" - }, - "TaskArn":{ - "shape":"MaintenanceWindowTaskArn", - "documentation":"

The updated task ARN value.

" - }, - "ServiceRoleArn":{ - "shape":"ServiceRole", - "documentation":"

The updated service role ARN value.

" - }, - "TaskParameters":{ - "shape":"MaintenanceWindowTaskParameters", - "documentation":"

The updated parameter values.

TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "TaskInvocationParameters":{ - "shape":"MaintenanceWindowTaskInvocationParameters", - "documentation":"

The updated parameter values.

" - }, - "Priority":{ - "shape":"MaintenanceWindowTaskPriority", - "documentation":"

The updated priority value.

" - }, - "MaxConcurrency":{ - "shape":"MaxConcurrency", - "documentation":"

The updated MaxConcurrency value.

" - }, - "MaxErrors":{ - "shape":"MaxErrors", - "documentation":"

The updated MaxErrors value.

" - }, - "LoggingInfo":{ - "shape":"LoggingInfo", - "documentation":"

The updated logging information in Amazon S3.

LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported Maintenance Window task types, see MaintenanceWindowTaskInvocationParameters.

" - }, - "Name":{ - "shape":"MaintenanceWindowName", - "documentation":"

The updated task name.

" - }, - "Description":{ - "shape":"MaintenanceWindowDescription", - "documentation":"

The updated task description.

" - } - } - }, - "UpdateManagedInstanceRoleRequest":{ - "type":"structure", - "required":[ - "InstanceId", - "IamRole" - ], - "members":{ - "InstanceId":{ - "shape":"ManagedInstanceId", - "documentation":"

The ID of the managed instance where you want to update the role.

" - }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

The IAM role you want to assign or change.

" - } - } - }, - "UpdateManagedInstanceRoleResult":{ - "type":"structure", - "members":{ - } - }, - "UpdatePatchBaselineRequest":{ - "type":"structure", - "required":["BaselineId"], - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the patch baseline to update.

" - }, - "Name":{ - "shape":"BaselineName", - "documentation":"

The name of the patch baseline.

" - }, - "GlobalFilters":{ - "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" - }, - "ApprovalRules":{ - "shape":"PatchRuleGroup", - "documentation":"

A set of rules used to include patches in the baseline.

" - }, - "ApprovedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" - }, - "ApprovedPatchesComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

Assigns a new compliance severity level to an existing patch baseline.

" - }, - "ApprovedPatchesEnableNonSecurity":{ - "shape":"Boolean", - "documentation":"

Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

", - "box":true - }, - "RejectedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

For information about accepted formats for lists of approved patches and rejected patches, see Package Name Formats for Approved and Rejected Patch Lists in the AWS Systems Manager User Guide.

" - }, - "Description":{ - "shape":"BaselineDescription", - "documentation":"

A description of the patch baseline.

" - }, - "Sources":{ - "shape":"PatchSourceList", - "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

" - }, - "Replace":{ - "shape":"Boolean", - "documentation":"

If True, then all fields that are required by the CreatePatchBaseline action are also required for this API request. Optional fields that are not specified are set to null.

", - "box":true - } - } - }, - "UpdatePatchBaselineResult":{ - "type":"structure", - "members":{ - "BaselineId":{ - "shape":"BaselineId", - "documentation":"

The ID of the deleted patch baseline.

" - }, - "Name":{ - "shape":"BaselineName", - "documentation":"

The name of the patch baseline.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

The operating system rule used by the updated patch baseline.

" - }, - "GlobalFilters":{ - "shape":"PatchFilterGroup", - "documentation":"

A set of global filters used to exclude patches from the baseline.

" - }, - "ApprovalRules":{ - "shape":"PatchRuleGroup", - "documentation":"

A set of rules used to include patches in the baseline.

" - }, - "ApprovedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly approved patches for the baseline.

" - }, - "ApprovedPatchesComplianceLevel":{ - "shape":"PatchComplianceLevel", - "documentation":"

The compliance severity level assigned to the patch baseline after the update completed.

" - }, - "ApprovedPatchesEnableNonSecurity":{ - "shape":"Boolean", - "documentation":"

Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

", - "box":true - }, - "RejectedPatches":{ - "shape":"PatchIdList", - "documentation":"

A list of explicitly rejected patches for the baseline.

" - }, - "CreatedDate":{ - "shape":"DateTime", - "documentation":"

The date when the patch baseline was created.

" - }, - "ModifiedDate":{ - "shape":"DateTime", - "documentation":"

The date when the patch baseline was last modified.

" - }, - "Description":{ - "shape":"BaselineDescription", - "documentation":"

A description of the Patch Baseline.

" - }, - "Sources":{ - "shape":"PatchSourceList", - "documentation":"

Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

" - } - } - }, - "Url":{"type":"string"}, - "ValidNextStep":{ - "type":"string", - "max":65535, - "min":1 - }, - "ValidNextStepList":{ - "type":"list", - "member":{"shape":"ValidNextStep"} - }, - "Version":{ - "type":"string", - "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" - } - }, - "documentation":"AWS Systems Manager

AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon 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 AWS Systems Manager User Guide.

To get started, verify prerequisites and configure managed instances. For more information, see Systems Manager Prerequisites in the AWS Systems Manager User Guide.

For information about other API actions you can perform on Amazon EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API Requests.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/paginators-1.json deleted file mode 100644 index 9feccba6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/paginators-1.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/service-2.json deleted file mode 100644 index 59933d79..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/stepfunctions/2016-11-23/service-2.json +++ /dev/null @@ -1,1562 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-23", - "endpointPrefix":"states", - "jsonVersion":"1.0", - "protocol":"json", - "serviceAbbreviation":"AWS SFN", - "serviceFullName":"AWS Step Functions", - "serviceId":"SFN", - "signatureVersion":"v4", - "targetPrefix":"AWSStepFunctions", - "uid":"states-2016-11-23" - }, - "operations":{ - "CreateActivity":{ - "name":"CreateActivity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateActivityInput"}, - "output":{"shape":"CreateActivityOutput"}, - "errors":[ - {"shape":"ActivityLimitExceeded"}, - {"shape":"InvalidName"} - ], - "documentation":"

Creates an activity. An activity is a task which you write in any programming language and host on any machine which has access to AWS Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.

", - "idempotent":true - }, - "CreateStateMachine":{ - "name":"CreateStateMachine", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStateMachineInput"}, - "output":{"shape":"CreateStateMachineOutput"}, - "errors":[ - {"shape":"InvalidArn"}, - {"shape":"InvalidDefinition"}, - {"shape":"InvalidName"}, - {"shape":"StateMachineAlreadyExists"}, - {"shape":"StateMachineDeleting"}, - {"shape":"StateMachineLimitExceeded"} - ], - "documentation":"

Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language.

", - "idempotent":true - }, - "DeleteActivity":{ - "name":"DeleteActivity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteActivityInput"}, - "output":{"shape":"DeleteActivityOutput"}, - "errors":[ - {"shape":"InvalidArn"} - ], - "documentation":"

Deletes an activity.

" - }, - "DeleteStateMachine":{ - "name":"DeleteStateMachine", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteStateMachineInput"}, - "output":{"shape":"DeleteStateMachineOutput"}, - "errors":[ - {"shape":"InvalidArn"} - ], - "documentation":"

Deletes a state machine. This is an asynchronous operation: It sets the state machine's status to DELETING and begins the deletion process. Each state machine execution is deleted the next time it makes a state transition.

The state machine itself is deleted after all executions are completed or deleted.

" - }, - "DescribeActivity":{ - "name":"DescribeActivity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeActivityInput"}, - "output":{"shape":"DescribeActivityOutput"}, - "errors":[ - {"shape":"ActivityDoesNotExist"}, - {"shape":"InvalidArn"} - ], - "documentation":"

Describes an activity.

" - }, - "DescribeExecution":{ - "name":"DescribeExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeExecutionInput"}, - "output":{"shape":"DescribeExecutionOutput"}, - "errors":[ - {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"} - ], - "documentation":"

Describes an execution.

" - }, - "DescribeStateMachine":{ - "name":"DescribeStateMachine", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStateMachineInput"}, - "output":{"shape":"DescribeStateMachineOutput"}, - "errors":[ - {"shape":"InvalidArn"}, - {"shape":"StateMachineDoesNotExist"} - ], - "documentation":"

Describes a state machine.

" - }, - "DescribeStateMachineForExecution":{ - "name":"DescribeStateMachineForExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStateMachineForExecutionInput"}, - "output":{"shape":"DescribeStateMachineForExecutionOutput"}, - "errors":[ - {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"} - ], - "documentation":"

Describes the state machine associated with a specific execution.

" - }, - "GetActivityTask":{ - "name":"GetActivityTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetActivityTaskInput"}, - "output":{"shape":"GetActivityTaskOutput"}, - "errors":[ - {"shape":"ActivityDoesNotExist"}, - {"shape":"ActivityWorkerLimitExceeded"}, - {"shape":"InvalidArn"} - ], - "documentation":"

Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string.

Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

" - }, - "GetExecutionHistory":{ - "name":"GetExecutionHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetExecutionHistoryInput"}, - "output":{"shape":"GetExecutionHistoryOutput"}, - "errors":[ - {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"}, - {"shape":"InvalidToken"} - ], - "documentation":"

Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

" - }, - "ListActivities":{ - "name":"ListActivities", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListActivitiesInput"}, - "output":{"shape":"ListActivitiesOutput"}, - "errors":[ - {"shape":"InvalidToken"} - ], - "documentation":"

Lists the existing activities.

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

" - }, - "ListExecutions":{ - "name":"ListExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListExecutionsInput"}, - "output":{"shape":"ListExecutionsOutput"}, - "errors":[ - {"shape":"InvalidArn"}, - {"shape":"InvalidToken"}, - {"shape":"StateMachineDoesNotExist"} - ], - "documentation":"

Lists the executions of a state machine that meet the filtering criteria.

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

" - }, - "ListStateMachines":{ - "name":"ListStateMachines", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListStateMachinesInput"}, - "output":{"shape":"ListStateMachinesOutput"}, - "errors":[ - {"shape":"InvalidToken"} - ], - "documentation":"

Lists the existing state machines.

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

" - }, - "SendTaskFailure":{ - "name":"SendTaskFailure", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendTaskFailureInput"}, - "output":{"shape":"SendTaskFailureOutput"}, - "errors":[ - {"shape":"TaskDoesNotExist"}, - {"shape":"InvalidToken"}, - {"shape":"TaskTimedOut"} - ], - "documentation":"

Used by workers to report that the task identified by the taskToken failed.

" - }, - "SendTaskHeartbeat":{ - "name":"SendTaskHeartbeat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendTaskHeartbeatInput"}, - "output":{"shape":"SendTaskHeartbeatOutput"}, - "errors":[ - {"shape":"TaskDoesNotExist"}, - {"shape":"InvalidToken"}, - {"shape":"TaskTimedOut"} - ], - "documentation":"

Used by workers to report to the service that the task represented by the specified taskToken is still making progress. This action resets the Heartbeat clock. The Heartbeat threshold is specified in the state machine's Amazon States Language definition. This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut event.

The Timeout of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of SendTaskHeartbeat requests received.

This operation is only useful for long-lived tasks to report the liveliness of the task.

" - }, - "SendTaskSuccess":{ - "name":"SendTaskSuccess", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SendTaskSuccessInput"}, - "output":{"shape":"SendTaskSuccessOutput"}, - "errors":[ - {"shape":"TaskDoesNotExist"}, - {"shape":"InvalidOutput"}, - {"shape":"InvalidToken"}, - {"shape":"TaskTimedOut"} - ], - "documentation":"

Used by workers to report that the task identified by the taskToken completed successfully.

" - }, - "StartExecution":{ - "name":"StartExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartExecutionInput"}, - "output":{"shape":"StartExecutionOutput"}, - "errors":[ - {"shape":"ExecutionLimitExceeded"}, - {"shape":"ExecutionAlreadyExists"}, - {"shape":"InvalidArn"}, - {"shape":"InvalidExecutionInput"}, - {"shape":"InvalidName"}, - {"shape":"StateMachineDoesNotExist"}, - {"shape":"StateMachineDeleting"} - ], - "documentation":"

Starts a state machine execution.

", - "idempotent":true - }, - "StopExecution":{ - "name":"StopExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopExecutionInput"}, - "output":{"shape":"StopExecutionOutput"}, - "errors":[ - {"shape":"ExecutionDoesNotExist"}, - {"shape":"InvalidArn"} - ], - "documentation":"

Stops an execution.

" - }, - "UpdateStateMachine":{ - "name":"UpdateStateMachine", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateStateMachineInput"}, - "output":{"shape":"UpdateStateMachineOutput"}, - "errors":[ - {"shape":"InvalidArn"}, - {"shape":"InvalidDefinition"}, - {"shape":"MissingRequiredParameter"}, - {"shape":"StateMachineDeleting"}, - {"shape":"StateMachineDoesNotExist"} - ], - "documentation":"

Updates an existing state machine by modifying its definition and/or roleArn. Running executions will continue to use the previous definition and roleArn.

All StartExecution calls within a few seconds will use the updated definition and roleArn. Executions started immediately after calling UpdateStateMachine may use the previous state machine definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

", - "idempotent":true - } - }, - "shapes":{ - "ActivityDoesNotExist":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified activity does not exist.

", - "exception":true - }, - "ActivityFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about an activity which failed during an execution.

" - }, - "ActivityLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum number of activities has been reached. Existing activities must be deleted before a new activity can be created.

", - "exception":true - }, - "ActivityList":{ - "type":"list", - "member":{"shape":"ActivityListItem"} - }, - "ActivityListItem":{ - "type":"structure", - "required":[ - "activityArn", - "name", - "creationDate" - ], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the activity.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the activity.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the activity is created.

" - } - }, - "documentation":"

Contains details about an activity.

" - }, - "ActivityScheduleFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about an activity schedule failure which occurred during an execution.

" - }, - "ActivityScheduledEventDetails":{ - "type":"structure", - "required":["resource"], - "members":{ - "resource":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the scheduled activity.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The JSON data input to the activity task.

" - }, - "timeoutInSeconds":{ - "shape":"TimeoutInSeconds", - "documentation":"

The maximum allowed duration of the activity task.

", - "box":true - }, - "heartbeatInSeconds":{ - "shape":"TimeoutInSeconds", - "documentation":"

The maximum allowed duration between two heartbeats for the activity task.

", - "box":true - } - }, - "documentation":"

Contains details about an activity scheduled during an execution.

" - }, - "ActivityStartedEventDetails":{ - "type":"structure", - "members":{ - "workerName":{ - "shape":"Identity", - "documentation":"

The name of the worker that the task is assigned to. These names are provided by the workers when calling GetActivityTask.

" - } - }, - "documentation":"

Contains details about the start of an activity during an execution.

" - }, - "ActivitySucceededEventDetails":{ - "type":"structure", - "members":{ - "output":{ - "shape":"Data", - "documentation":"

The JSON data output by the activity task.

" - } - }, - "documentation":"

Contains details about an activity which successfully terminated during an execution.

" - }, - "ActivityTimedOutEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the timeout.

" - } - }, - "documentation":"

Contains details about an activity timeout which occurred during an execution.

" - }, - "ActivityWorkerLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum number of workers concurrently polling for activity tasks has been reached.

", - "exception":true - }, - "Arn":{ - "type":"string", - "max":256, - "min":1 - }, - "Cause":{ - "type":"string", - "max":32768, - "min":0 - }, - "CreateActivityInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - } - } - }, - "CreateActivityOutput":{ - "type":"structure", - "required":[ - "activityArn", - "creationDate" - ], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the created activity.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the activity is created.

" - } - } - }, - "CreateStateMachineInput":{ - "type":"structure", - "required":[ - "name", - "definition", - "roleArn" - ], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the state machine. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "definition":{ - "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine.

" - }, - "roleArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

" - } - } - }, - "CreateStateMachineOutput":{ - "type":"structure", - "required":[ - "stateMachineArn", - "creationDate" - ], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the created state machine.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the state machine is created.

" - } - } - }, - "Data":{ - "type":"string", - "max":32768 - }, - "Definition":{ - "type":"string", - "max":1048576, - "min":1 - }, - "DeleteActivityInput":{ - "type":"structure", - "required":["activityArn"], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the activity to delete.

" - } - } - }, - "DeleteActivityOutput":{ - "type":"structure", - "members":{ - } - }, - "DeleteStateMachineInput":{ - "type":"structure", - "required":["stateMachineArn"], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine to delete.

" - } - } - }, - "DeleteStateMachineOutput":{ - "type":"structure", - "members":{ - } - }, - "DescribeActivityInput":{ - "type":"structure", - "required":["activityArn"], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the activity to describe.

" - } - } - }, - "DescribeActivityOutput":{ - "type":"structure", - "required":[ - "activityArn", - "name", - "creationDate" - ], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the activity.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the activity.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the activity is created.

" - } - } - }, - "DescribeExecutionInput":{ - "type":"structure", - "required":["executionArn"], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the execution to describe.

" - } - } - }, - "DescribeExecutionOutput":{ - "type":"structure", - "required":[ - "executionArn", - "stateMachineArn", - "status", - "startDate", - "input" - ], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the execution.

" - }, - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the executed stated machine.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the execution.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The current status of the execution.

" - }, - "startDate":{ - "shape":"Timestamp", - "documentation":"

The date the execution is started.

" - }, - "stopDate":{ - "shape":"Timestamp", - "documentation":"

If the execution has already ended, the date the execution stopped.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The string that contains the JSON input data of the execution.

" - }, - "output":{ - "shape":"Data", - "documentation":"

The JSON output data of the execution.

This field is set only if the execution succeeds. If the execution fails, this field is null.

" - } - } - }, - "DescribeStateMachineForExecutionInput":{ - "type":"structure", - "required":["executionArn"], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the execution you want state machine information for.

" - } - } - }, - "DescribeStateMachineForExecutionOutput":{ - "type":"structure", - "required":[ - "stateMachineArn", - "name", - "definition", - "roleArn", - "updateDate" - ], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine associated with the execution.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the state machine associated with the execution.

" - }, - "definition":{ - "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine.

" - }, - "roleArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

" - }, - "updateDate":{ - "shape":"Timestamp", - "documentation":"

The date and time the state machine associated with an execution was updated. For a newly created state machine, this is the creation date.

" - } - } - }, - "DescribeStateMachineInput":{ - "type":"structure", - "required":["stateMachineArn"], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine to describe.

" - } - } - }, - "DescribeStateMachineOutput":{ - "type":"structure", - "required":[ - "stateMachineArn", - "name", - "definition", - "roleArn", - "creationDate" - ], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the state machine.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the state machine.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "status":{ - "shape":"StateMachineStatus", - "documentation":"

The current status of the state machine.

" - }, - "definition":{ - "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine.

" - }, - "roleArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role maintains security by granting Step Functions access to AWS resources.)

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the state machine is created.

" - } - } - }, - "Error":{ - "type":"string", - "max":256, - "min":0 - }, - "ErrorMessage":{"type":"string"}, - "EventId":{"type":"long"}, - "ExecutionAbortedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about an abort of an execution.

" - }, - "ExecutionAlreadyExists":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The execution has the same name as another execution (but a different input).

Executions with the same name and input are considered idempotent.

", - "exception":true - }, - "ExecutionDoesNotExist":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified execution does not exist.

", - "exception":true - }, - "ExecutionFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about an execution failure event.

" - }, - "ExecutionLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum number of running executions has been reached. Running executions must end or be stopped before a new execution can be started.

", - "exception":true - }, - "ExecutionList":{ - "type":"list", - "member":{"shape":"ExecutionListItem"} - }, - "ExecutionListItem":{ - "type":"structure", - "required":[ - "executionArn", - "stateMachineArn", - "name", - "status", - "startDate" - ], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the execution.

" - }, - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the executed state machine.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the execution.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The current status of the execution.

" - }, - "startDate":{ - "shape":"Timestamp", - "documentation":"

The date the execution started.

" - }, - "stopDate":{ - "shape":"Timestamp", - "documentation":"

If the execution already ended, the date the execution stopped.

" - } - }, - "documentation":"

Contains details about an execution.

" - }, - "ExecutionStartedEventDetails":{ - "type":"structure", - "members":{ - "input":{ - "shape":"Data", - "documentation":"

The JSON data input to the execution.

" - }, - "roleArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

" - } - }, - "documentation":"

Contains details about the start of the execution.

" - }, - "ExecutionStatus":{ - "type":"string", - "enum":[ - "RUNNING", - "SUCCEEDED", - "FAILED", - "TIMED_OUT", - "ABORTED" - ] - }, - "ExecutionSucceededEventDetails":{ - "type":"structure", - "members":{ - "output":{ - "shape":"Data", - "documentation":"

The JSON data output by the execution.

" - } - }, - "documentation":"

Contains details about the successful termination of the execution.

" - }, - "ExecutionTimedOutEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the timeout.

" - } - }, - "documentation":"

Contains details about the execution timeout which occurred during the execution.

" - }, - "GetActivityTaskInput":{ - "type":"structure", - "required":["activityArn"], - "members":{ - "activityArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using CreateActivity.)

" - }, - "workerName":{ - "shape":"Name", - "documentation":"

You can provide an arbitrary name in order to identify the worker that the task is assigned to. This name is used when it is logged in the execution history.

" - } - } - }, - "GetActivityTaskOutput":{ - "type":"structure", - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

A token that identifies the scheduled task. This token must be copied and included in subsequent calls to SendTaskHeartbeat, SendTaskSuccess or SendTaskFailure in order to report the progress or completion of the task.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The string that contains the JSON input data for the task.

" - } - } - }, - "GetExecutionHistoryInput":{ - "type":"structure", - "required":["executionArn"], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the execution.

" - }, - "maxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 uses the default.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

Lists events in descending order of their timeStamp.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "GetExecutionHistoryOutput":{ - "type":"structure", - "required":["events"], - "members":{ - "events":{ - "shape":"HistoryEventList", - "documentation":"

The list of events that occurred in the execution.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "HistoryEvent":{ - "type":"structure", - "required":[ - "timestamp", - "type", - "id" - ], - "members":{ - "timestamp":{ - "shape":"Timestamp", - "documentation":"

The date the event occurred.

" - }, - "type":{ - "shape":"HistoryEventType", - "documentation":"

The type of the event.

" - }, - "id":{ - "shape":"EventId", - "documentation":"

The id of the event. Events are numbered sequentially, starting at one.

" - }, - "previousEventId":{ - "shape":"EventId", - "documentation":"

The id of the previous event.

" - }, - "activityFailedEventDetails":{"shape":"ActivityFailedEventDetails"}, - "activityScheduleFailedEventDetails":{ - "shape":"ActivityScheduleFailedEventDetails", - "documentation":"

Contains details about an activity schedule event which failed during an execution.

" - }, - "activityScheduledEventDetails":{"shape":"ActivityScheduledEventDetails"}, - "activityStartedEventDetails":{"shape":"ActivityStartedEventDetails"}, - "activitySucceededEventDetails":{"shape":"ActivitySucceededEventDetails"}, - "activityTimedOutEventDetails":{"shape":"ActivityTimedOutEventDetails"}, - "executionFailedEventDetails":{"shape":"ExecutionFailedEventDetails"}, - "executionStartedEventDetails":{"shape":"ExecutionStartedEventDetails"}, - "executionSucceededEventDetails":{"shape":"ExecutionSucceededEventDetails"}, - "executionAbortedEventDetails":{"shape":"ExecutionAbortedEventDetails"}, - "executionTimedOutEventDetails":{"shape":"ExecutionTimedOutEventDetails"}, - "lambdaFunctionFailedEventDetails":{"shape":"LambdaFunctionFailedEventDetails"}, - "lambdaFunctionScheduleFailedEventDetails":{"shape":"LambdaFunctionScheduleFailedEventDetails"}, - "lambdaFunctionScheduledEventDetails":{"shape":"LambdaFunctionScheduledEventDetails"}, - "lambdaFunctionStartFailedEventDetails":{ - "shape":"LambdaFunctionStartFailedEventDetails", - "documentation":"

Contains details about a lambda function which failed to start during an execution.

" - }, - "lambdaFunctionSucceededEventDetails":{ - "shape":"LambdaFunctionSucceededEventDetails", - "documentation":"

Contains details about a lambda function which terminated successfully during an execution.

" - }, - "lambdaFunctionTimedOutEventDetails":{"shape":"LambdaFunctionTimedOutEventDetails"}, - "stateEnteredEventDetails":{"shape":"StateEnteredEventDetails"}, - "stateExitedEventDetails":{"shape":"StateExitedEventDetails"} - }, - "documentation":"

Contains details about the events of an execution.

" - }, - "HistoryEventList":{ - "type":"list", - "member":{"shape":"HistoryEvent"}, - "documentation":"

Contains details about the events which occurred during an execution.

" - }, - "HistoryEventType":{ - "type":"string", - "enum":[ - "ActivityFailed", - "ActivityScheduleFailed", - "ActivityScheduled", - "ActivityStarted", - "ActivitySucceeded", - "ActivityTimedOut", - "ChoiceStateEntered", - "ChoiceStateExited", - "ExecutionFailed", - "ExecutionStarted", - "ExecutionSucceeded", - "ExecutionAborted", - "ExecutionTimedOut", - "FailStateEntered", - "LambdaFunctionFailed", - "LambdaFunctionScheduleFailed", - "LambdaFunctionScheduled", - "LambdaFunctionStartFailed", - "LambdaFunctionStarted", - "LambdaFunctionSucceeded", - "LambdaFunctionTimedOut", - "SucceedStateEntered", - "SucceedStateExited", - "TaskStateAborted", - "TaskStateEntered", - "TaskStateExited", - "PassStateEntered", - "PassStateExited", - "ParallelStateAborted", - "ParallelStateEntered", - "ParallelStateExited", - "ParallelStateFailed", - "ParallelStateStarted", - "ParallelStateSucceeded", - "WaitStateAborted", - "WaitStateEntered", - "WaitStateExited" - ] - }, - "Identity":{ - "type":"string", - "max":256 - }, - "InvalidArn":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided Amazon Resource Name (ARN) is invalid.

", - "exception":true - }, - "InvalidDefinition":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided Amazon States Language definition is invalid.

", - "exception":true - }, - "InvalidExecutionInput":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided JSON input data is invalid.

", - "exception":true - }, - "InvalidName":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided name is invalid.

", - "exception":true - }, - "InvalidOutput":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided JSON output data is invalid.

", - "exception":true - }, - "InvalidToken":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The provided token is invalid.

", - "exception":true - }, - "LambdaFunctionFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about a lambda function which failed during an execution.

" - }, - "LambdaFunctionScheduleFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about a failed lambda function schedule event which occurred during an execution.

" - }, - "LambdaFunctionScheduledEventDetails":{ - "type":"structure", - "required":["resource"], - "members":{ - "resource":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the scheduled lambda function.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The JSON data input to the lambda function.

" - }, - "timeoutInSeconds":{ - "shape":"TimeoutInSeconds", - "documentation":"

The maximum allowed duration of the lambda function.

", - "box":true - } - }, - "documentation":"

Contains details about a lambda function scheduled during an execution.

" - }, - "LambdaFunctionStartFailedEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - }, - "documentation":"

Contains details about a lambda function which failed to start during an execution.

" - }, - "LambdaFunctionSucceededEventDetails":{ - "type":"structure", - "members":{ - "output":{ - "shape":"Data", - "documentation":"

The JSON data output by the lambda function.

" - } - }, - "documentation":"

Contains details about a lambda function which successfully terminated during an execution.

" - }, - "LambdaFunctionTimedOutEventDetails":{ - "type":"structure", - "members":{ - "error":{ - "shape":"Error", - "documentation":"

The error code of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the timeout.

" - } - }, - "documentation":"

Contains details about a lambda function timeout which occurred during an execution.

" - }, - "ListActivitiesInput":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 uses the default.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "ListActivitiesOutput":{ - "type":"structure", - "required":["activities"], - "members":{ - "activities":{ - "shape":"ActivityList", - "documentation":"

The list of activities.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "ListExecutionsInput":{ - "type":"structure", - "required":["stateMachineArn"], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine whose executions is listed.

" - }, - "statusFilter":{ - "shape":"ExecutionStatus", - "documentation":"

If specified, only list the executions whose current execution status matches the given filter.

" - }, - "maxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 uses the default.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "ListExecutionsOutput":{ - "type":"structure", - "required":["executions"], - "members":{ - "executions":{ - "shape":"ExecutionList", - "documentation":"

The list of matching executions.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "ListStateMachinesInput":{ - "type":"structure", - "members":{ - "maxResults":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 100. A value of 0 uses the default.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" - }, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "ListStateMachinesOutput":{ - "type":"structure", - "required":["stateMachines"], - "members":{ - "stateMachines":{"shape":"StateMachineList"}, - "nextToken":{ - "shape":"PageToken", - "documentation":"

If a nextToken is returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextToken. Keep all other arguments unchanged.

The configured maxResults determines how many results can be returned in a single call.

" - } - } - }, - "MissingRequiredParameter":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

Request is missing a required parameter. This error occurs if both definition and roleArn are not specified.

", - "exception":true - }, - "Name":{ - "type":"string", - "max":80, - "min":1 - }, - "PageSize":{ - "type":"integer", - "max":1000, - "min":0 - }, - "PageToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "ReverseOrder":{"type":"boolean"}, - "SendTaskFailureInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTask::taskToken).

" - }, - "error":{ - "shape":"Error", - "documentation":"

An arbitrary error code that identifies the cause of the failure.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the failure.

" - } - } - }, - "SendTaskFailureOutput":{ - "type":"structure", - "members":{ - } - }, - "SendTaskHeartbeatInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTaskOutput$taskToken).

" - } - } - }, - "SendTaskHeartbeatOutput":{ - "type":"structure", - "members":{ - } - }, - "SendTaskSuccessInput":{ - "type":"structure", - "required":[ - "taskToken", - "output" - ], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The token that represents this task. Task tokens are generated by the service when the tasks are assigned to a worker (see GetActivityTaskOutput$taskToken).

" - }, - "output":{ - "shape":"Data", - "documentation":"

The JSON output of the task.

" - } - } - }, - "SendTaskSuccessOutput":{ - "type":"structure", - "members":{ - } - }, - "StartExecutionInput":{ - "type":"structure", - "required":["stateMachineArn"], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine to execute.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the execution. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

An execution can't use the name of another execution for 90 days.

When you make multiple StartExecution calls with the same name, the new execution doesn't run and the following rules apply:

  • When the original execution is open and the execution input from the new call is different, the ExecutionAlreadyExists message is returned.

  • When the original execution is open and the execution input from the new call is identical, the Success message is returned.

  • When the original execution is closed, the ExecutionAlreadyExists message is returned regardless of input.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "input":{ - "shape":"Data", - "documentation":"

The string that contains the JSON input data for the execution, for example:

\"input\": \"{\\\"first_name\\\" : \\\"test\\\"}\"

If you don't include any JSON input data, you still must include the two braces, for example: \"input\": \"{}\"

" - } - } - }, - "StartExecutionOutput":{ - "type":"structure", - "required":[ - "executionArn", - "startDate" - ], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the execution.

" - }, - "startDate":{ - "shape":"Timestamp", - "documentation":"

The date the execution is started.

" - } - } - }, - "StateEnteredEventDetails":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the state.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The string that contains the JSON input data for the state.

" - } - }, - "documentation":"

Contains details about a state entered during an execution.

" - }, - "StateExitedEventDetails":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the state.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "output":{ - "shape":"Data", - "documentation":"

The JSON output data of the state.

" - } - }, - "documentation":"

Contains details about an exit from a state during an execution.

" - }, - "StateMachineAlreadyExists":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

A state machine with the same name but a different definition or role ARN already exists.

", - "exception":true - }, - "StateMachineDeleting":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified state machine is being deleted.

", - "exception":true - }, - "StateMachineDoesNotExist":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The specified state machine does not exist.

", - "exception":true - }, - "StateMachineLimitExceeded":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The maximum number of state machines has been reached. Existing state machines must be deleted before a new state machine can be created.

", - "exception":true - }, - "StateMachineList":{ - "type":"list", - "member":{"shape":"StateMachineListItem"} - }, - "StateMachineListItem":{ - "type":"structure", - "required":[ - "stateMachineArn", - "name", - "creationDate" - ], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the state machine.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the state machine.

A name must not contain:

  • whitespace

  • brackets < > { } [ ]

  • wildcard characters ? *

  • special characters \" # % \\ ^ | ~ ` $ & , ; : /

  • control characters (U+0000-001F, U+007F-009F)

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date the state machine is created.

" - } - }, - "documentation":"

Contains details about the state machine.

" - }, - "StateMachineStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "DELETING" - ] - }, - "StopExecutionInput":{ - "type":"structure", - "required":["executionArn"], - "members":{ - "executionArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the execution to stop.

" - }, - "error":{ - "shape":"Error", - "documentation":"

An arbitrary error code that identifies the cause of the termination.

" - }, - "cause":{ - "shape":"Cause", - "documentation":"

A more detailed explanation of the cause of the termination.

" - } - } - }, - "StopExecutionOutput":{ - "type":"structure", - "required":["stopDate"], - "members":{ - "stopDate":{ - "shape":"Timestamp", - "documentation":"

The date the execution is stopped.

" - } - } - }, - "TaskDoesNotExist":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "TaskTimedOut":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "exception":true - }, - "TaskToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "TimeoutInSeconds":{"type":"long"}, - "Timestamp":{"type":"timestamp"}, - "UpdateStateMachineInput":{ - "type":"structure", - "required":["stateMachineArn"], - "members":{ - "stateMachineArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the state machine.

" - }, - "definition":{ - "shape":"Definition", - "documentation":"

The Amazon States Language definition of the state machine.

" - }, - "roleArn":{ - "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role of the state machine.

" - } - } - }, - "UpdateStateMachineOutput":{ - "type":"structure", - "required":["updateDate"], - "members":{ - "updateDate":{ - "shape":"Timestamp", - "documentation":"

The date and time the state machine was updated.

" - } - } - } - }, - "documentation":"AWS Step Functions

AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide .

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/examples-1.json deleted file mode 100644 index 7cc0d7d4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/examples-1.json +++ /dev/null @@ -1,1381 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/paginators-1.json deleted file mode 100644 index b5e10c05..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "pagination": { - "DescribeTapeArchives": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "TapeArchives" - }, - "DescribeTapeRecoveryPoints": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "TapeRecoveryPointInfos" - }, - "DescribeTapes": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "Tapes" - }, - "DescribeVTLDevices": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "VTLDevices" - }, - "ListGateways": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "Gateways" - }, - "ListVolumes": { - "input_token": "Marker", - "limit_key": "Limit", - "output_token": "Marker", - "result_key": "VolumeInfos" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/service-2.json deleted file mode 100644 index 54aab405..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/storagegateway/2013-06-30/service-2.json +++ /dev/null @@ -1,4109 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2013-06-30", - "endpointPrefix":"storagegateway", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Storage Gateway", - "serviceId":"Storage Gateway", - "signatureVersion":"v4", - "targetPrefix":"StorageGateway_20130630", - "uid":"storagegateway-2013-06-30" - }, - "operations":{ - "ActivateGateway":{ - "name":"ActivateGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ActivateGatewayInput"}, - "output":{"shape":"ActivateGatewayOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Activates the gateway you previously deployed on your host. 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddCacheInput"}, - "output":{"shape":"AddCacheOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway type (see Storage Gateway Concepts).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

" - }, - "AddTagsToResource":{ - "name":"AddTagsToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddTagsToResourceInput"}, - "output":{"shape":"AddTagsToResourceOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources:

  • Storage gateways of all types

  • Storage Volumes

  • Virtual Tapes

You can create a maximum of 10 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags.

" - }, - "AddUploadBuffer":{ - "name":"AddUploadBuffer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddUploadBufferInput"}, - "output":{"shape":"AddUploadBufferOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for the stored volume, cached volume and tape gateway types.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer.

" - }, - "AddWorkingStorage":{ - "name":"AddWorkingStorage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddWorkingStorageInput"}, - "output":{"shape":"AddWorkingStorageOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in the stored volume gateway type. This operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored volume gateway.

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

" - }, - "CancelArchival":{ - "name":"CancelArchival", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelArchivalInput"}, - "output":{"shape":"CancelArchivalOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated. This operation is only supported in the tape gateway type.

" - }, - "CancelRetrieval":{ - "name":"CancelRetrieval", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CancelRetrievalInput"}, - "output":{"shape":"CancelRetrievalOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated. The virtual tape is returned to the VTS. This operation is only supported in the tape gateway type.

" - }, - "CreateCachediSCSIVolume":{ - "name":"CreateCachediSCSIVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCachediSCSIVolumeInput"}, - "output":{"shape":"CreateCachediSCSIVolumeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached volume gateway type.

Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes.

" - }, - "CreateNFSFileShare":{ - "name":"CreateNFSFileShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateNFSFileShareInput"}, - "output":{"shape":"CreateNFSFileShareOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a Network File System (NFS) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using a NFS interface. This operation is only supported for file gateways.

File gateway requires AWS Security Token Service (AWS STS) to be activated to enable you 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.

" - }, - "CreateSMBFileShare":{ - "name":"CreateSMBFileShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSMBFileShareInput"}, - "output":{"shape":"CreateSMBFileShareOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using a SMB interface. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" - }, - "CreateSnapshot":{ - "name":"CreateSnapshot", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotInput"}, - "output":{"shape":"CreateSnapshotOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"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 Editing a Snapshot Schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

" - }, - "CreateSnapshotFromVolumeRecoveryPoint":{ - "name":"CreateSnapshotFromVolumeRecoveryPoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSnapshotFromVolumeRecoveryPointInput"}, - "output":{"shape":"CreateSnapshotFromVolumeRecoveryPointOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"}, - {"shape":"ServiceUnavailableError"} - ], - "documentation":"

Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway type.

A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.

In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

" - }, - "CreateStorediSCSIVolume":{ - "name":"CreateStorediSCSIVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateStorediSCSIVolumeInput"}, - "output":{"shape":"CreateStorediSCSIVolumeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

" - }, - "CreateTapeWithBarcode":{ - "name":"CreateTapeWithBarcode", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTapeWithBarcodeInput"}, - "output":{"shape":"CreateTapeWithBarcodeOutput"}, - "errors":[ - {"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. A barcode is unique and can not be reused if it has already been used on a tape . This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

" - }, - "CreateTapes":{ - "name":"CreateTapes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTapesInput"}, - "output":{"shape":"CreateTapesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway type.

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

" - }, - "DeleteBandwidthRateLimit":{ - "name":"DeleteBandwidthRateLimit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteBandwidthRateLimitInput"}, - "output":{"shape":"DeleteBandwidthRateLimitOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request.

" - }, - "DeleteChapCredentials":{ - "name":"DeleteChapCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteChapCredentialsInput"}, - "output":{"shape":"DeleteChapCredentialsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

" - }, - "DeleteFileShare":{ - "name":"DeleteFileShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteFileShareInput"}, - "output":{"shape":"DeleteFileShareOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a file share from a file gateway. This operation is only supported for file gateways.

" - }, - "DeleteGateway":{ - "name":"DeleteGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGatewayInput"}, - "output":{"shape":"DeleteGatewayOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a gateway. To specify which gateway to delete, use the Amazon Resource Name (ARN) of the gateway in your request. The operation deletes the gateway; however, it does not delete the gateway virtual machine (VM) from your host computer.

After you delete a gateway, you cannot reactivate it. Completed snapshots of the gateway volumes are not deleted upon deleting the gateway, however, pending snapshots will not complete. After you delete a gateway, your next step is to remove it from your environment.

You no longer pay software charges after the gateway is deleted; however, your existing Amazon EBS snapshots persist and you will continue to be billed for these snapshots. You can choose to remove all remaining Amazon EBS snapshots by canceling your Amazon EC2 subscription.  If you prefer not to cancel your Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2 console. For more information, see the AWS Storage Gateway Detail Page.

" - }, - "DeleteSnapshotSchedule":{ - "name":"DeleteSnapshotSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSnapshotScheduleInput"}, - "output":{"shape":"DeleteSnapshotScheduleOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes a snapshot of a volume.

You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon Elastic Compute Cloud API Reference.

" - }, - "DeleteTape":{ - "name":"DeleteTape", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTapeInput"}, - "output":{"shape":"DeleteTapeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the specified virtual tape. This operation is only supported in the tape gateway type.

" - }, - "DeleteTapeArchive":{ - "name":"DeleteTapeArchive", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTapeArchiveInput"}, - "output":{"shape":"DeleteTapeArchiveOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

" - }, - "DeleteVolume":{ - "name":"DeleteVolume", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVolumeInput"}, - "output":{"shape":"DeleteVolumeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

" - }, - "DescribeBandwidthRateLimit":{ - "name":"DescribeBandwidthRateLimit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeBandwidthRateLimitInput"}, - "output":{"shape":"DescribeBandwidthRateLimitOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect.

This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

" - }, - "DescribeCache":{ - "name":"DescribeCache", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCacheInput"}, - "output":{"shape":"DescribeCacheOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns information about the cache of a gateway. This operation is only supported in the cached volume, tape and file gateway types.

The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

" - }, - "DescribeCachediSCSIVolumes":{ - "name":"DescribeCachediSCSIVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCachediSCSIVolumesInput"}, - "output":{"shape":"DescribeCachediSCSIVolumesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a description of the gateway volumes specified in the request. This operation is only supported in the cached volume gateway types.

The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

" - }, - "DescribeChapCredentials":{ - "name":"DescribeChapCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeChapCredentialsInput"}, - "output":{"shape":"DescribeChapCredentialsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair.

" - }, - "DescribeGatewayInformation":{ - "name":"DescribeGatewayInformation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGatewayInformationInput"}, - "output":{"shape":"DescribeGatewayInformationOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not). To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

" - }, - "DescribeMaintenanceStartTime":{ - "name":"DescribeMaintenanceStartTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeMaintenanceStartTimeInput"}, - "output":{"shape":"DescribeMaintenanceStartTimeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns your gateway's weekly maintenance start time including the day and time of the week. Note that values are in terms of the gateway's time zone.

" - }, - "DescribeNFSFileShares":{ - "name":"DescribeNFSFileShares", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeNFSFileSharesInput"}, - "output":{"shape":"DescribeNFSFileSharesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gets a description for one or more Network File System (NFS) file shares from a file gateway. This operation is only supported for file gateways.

" - }, - "DescribeSMBFileShares":{ - "name":"DescribeSMBFileShares", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSMBFileSharesInput"}, - "output":{"shape":"DescribeSMBFileSharesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gets a description for one or more Server Message Block (SMB) file shares from a file gateway. This operation is only supported for file gateways.

" - }, - "DescribeSMBSettings":{ - "name":"DescribeSMBSettings", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSMBSettingsInput"}, - "output":{"shape":"DescribeSMBSettingsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gets a description of a Server Message Block (SMB) file share settings from a file gateway. This operation is only supported for file gateways.

" - }, - "DescribeSnapshotSchedule":{ - "name":"DescribeSnapshotSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSnapshotScheduleInput"}, - "output":{"shape":"DescribeSnapshotScheduleOutput"}, - "errors":[ - {"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. This operation is only supported in the cached volume and stored volume types.

" - }, - "DescribeStorediSCSIVolumes":{ - "name":"DescribeStorediSCSIVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeStorediSCSIVolumesInput"}, - "output":{"shape":"DescribeStorediSCSIVolumesOutput"}, - "errors":[ - {"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. This operation is only supported in stored volume gateway type.

" - }, - "DescribeTapeArchives":{ - "name":"DescribeTapeArchives", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTapeArchivesInput"}, - "output":{"shape":"DescribeTapeArchivesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

" - }, - "DescribeTapeRecoveryPoints":{ - "name":"DescribeTapeRecoveryPoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTapeRecoveryPointsInput"}, - "output":{"shape":"DescribeTapeRecoveryPointsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a list of virtual tape recovery points that are available for the specified tape gateway.

A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. This operation is only supported in the tape gateway type.

" - }, - "DescribeTapes":{ - "name":"DescribeTapes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTapesInput"}, - "output":{"shape":"DescribeTapesOutput"}, - "errors":[ - {"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. This operation is only supported in the tape gateway type.

" - }, - "DescribeUploadBuffer":{ - "name":"DescribeUploadBuffer", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUploadBufferInput"}, - "output":{"shape":"DescribeUploadBufferOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns information about the upload buffer of a gateway. This operation is supported for the stored volume, cached volume and tape gateway types.

The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used.

" - }, - "DescribeVTLDevices":{ - "name":"DescribeVTLDevices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeVTLDevicesInput"}, - "output":{"shape":"DescribeVTLDevicesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns a description of virtual tape library (VTL) devices for the specified tape gateway. In the response, AWS Storage Gateway returns VTL device information.

This operation is only supported in the tape gateway type.

" - }, - "DescribeWorkingStorage":{ - "name":"DescribeWorkingStorage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkingStorageInput"}, - "output":{"shape":"DescribeWorkingStorageOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Returns information about the working storage of a gateway. This operation is only supported in the stored volumes gateway type. This operation is deprecated in cached volumes API version (20120630). Use DescribeUploadBuffer instead.

Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored volume gateway.

The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

" - }, - "DisableGateway":{ - "name":"DisableGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisableGatewayInput"}, - "output":{"shape":"DisableGatewayOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Disables a tape gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes.

Use this operation for a tape gateway that is not reachable or not functioning. This operation is only supported in the tape gateway type.

Once a gateway is disabled it cannot be enabled.

" - }, - "JoinDomain":{ - "name":"JoinDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"JoinDomainInput"}, - "output":{"shape":"JoinDomainOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol.

" - }, - "ListFileShares":{ - "name":"ListFileShares", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListFileSharesInput"}, - "output":{"shape":"ListFileSharesOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported for file gateways.

" - }, - "ListGateways":{ - "name":"ListGateways", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGatewaysInput"}, - "output":{"shape":"ListGatewaysOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Lists gateways owned by an AWS account in a region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN).

By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response.

If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways.

" - }, - "ListLocalDisks":{ - "name":"ListLocalDisks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListLocalDisksInput"}, - "output":{"shape":"ListLocalDisksOutput"}, - "errors":[ - {"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).

" - }, - "ListTagsForResource":{ - "name":"ListTagsForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTagsForResourceInput"}, - "output":{"shape":"ListTagsForResourceOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "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 type.

" - }, - "ListTapes":{ - "name":"ListTapes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTapesInput"}, - "output":{"shape":"ListTapesOutput"}, - "errors":[ - {"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. This operation is only supported in the tape gateway type.

" - }, - "ListVolumeInitiators":{ - "name":"ListVolumeInitiators", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVolumeInitiatorsInput"}, - "output":{"shape":"ListVolumeInitiatorsOutput"}, - "errors":[ - {"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. This operation is only supported in the cached volume and stored volume gateway types.

" - }, - "ListVolumeRecoveryPoints":{ - "name":"ListVolumeRecoveryPoints", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVolumeRecoveryPointsInput"}, - "output":{"shape":"ListVolumeRecoveryPointsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway type.

Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

" - }, - "ListVolumes":{ - "name":"ListVolumes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVolumesInput"}, - "output":{"shape":"ListVolumesOutput"}, - "errors":[ - {"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. This operation is only supported in the cached volume and stored volume gateway types.

" - }, - "NotifyWhenUploaded":{ - "name":"NotifyWhenUploaded", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"NotifyWhenUploadedInput"}, - "output":{"shape":"NotifyWhenUploadedOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Sends you notification through CloudWatch Events when all files written to your NFS file share have been uploaded to Amazon S3.

AWS Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file share up to that point in time have been uploaded to Amazon S3. These files include files written to the NFS file share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification through event targets such as Amazon SNS or AWS Lambda function. This operation is only supported for file gateways.

For more information, see Getting File Upload Notification in the Storage Gateway User Guide (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification).

" - }, - "RefreshCache":{ - "name":"RefreshCache", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RefreshCacheInput"}, - "output":{"shape":"RefreshCacheOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results. This operation is only supported in the file gateway type.

" - }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RemoveTagsFromResourceInput"}, - "output":{"shape":"RemoveTagsFromResourceOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Removes one or more tags from the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway types.

" - }, - "ResetCache":{ - "name":"ResetCache", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetCacheInput"}, - "output":{"shape":"ResetCacheOutput"}, - "errors":[ - {"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. This operation is only supported in the cached volume and tape types.

If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

" - }, - "RetrieveTapeArchive":{ - "name":"RetrieveTapeArchive", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetrieveTapeArchiveInput"}, - "output":{"shape":"RetrieveTapeArchiveOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway type.

Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway. This operation is only supported in the tape gateway type.

" - }, - "RetrieveTapeRecoveryPoint":{ - "name":"RetrieveTapeRecoveryPoint", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RetrieveTapeRecoveryPointInput"}, - "output":{"shape":"RetrieveTapeRecoveryPointOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Retrieves the recovery point for the specified virtual tape. This operation is only supported in the tape gateway type.

A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a tape gateway. There is no charge for retrieving recovery points.

" - }, - "SetLocalConsolePassword":{ - "name":"SetLocalConsolePassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetLocalConsolePasswordInput"}, - "output":{"shape":"SetLocalConsolePasswordOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Sets the password for your VM local console. When you log in to the local console for the first time, you log in to the VM with the default credentials. We recommend that you set a new password. You don't need to know the default password to set a new password.

" - }, - "SetSMBGuestPassword":{ - "name":"SetSMBGuestPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SetSMBGuestPasswordInput"}, - "output":{"shape":"SetSMBGuestPasswordOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Sets the password for the guest user smbguest. The smbguest user is the user when the authentication method for the file share is set to GuestAccess.

" - }, - "ShutdownGateway":{ - "name":"ShutdownGateway", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ShutdownGatewayInput"}, - "output":{"shape":"ShutdownGatewayOutput"}, - "errors":[ - {"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 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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartGatewayInput"}, - "output":{"shape":"StartGatewayOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Starts a gateway that you previously shut down (see ShutdownGateway). After the gateway starts, you can then make other API calls, your applications can read from or write to the gateway's storage volumes and you will be able to take snapshot backups.

When you make a request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to be ready. You should call DescribeGatewayInformation and check the status before making any additional API calls. For more information, see ActivateGateway.

To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your request.

" - }, - "UpdateBandwidthRateLimit":{ - "name":"UpdateBandwidthRateLimit", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateBandwidthRateLimitInput"}, - "output":{"shape":"UpdateBandwidthRateLimitOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains.

By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth.

To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

" - }, - "UpdateChapCredentials":{ - "name":"UpdateChapCredentials", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateChapCredentialsInput"}, - "output":{"shape":"UpdateChapCredentialsOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added security, you might use it.

When you update CHAP credentials, all existing connections on the target are closed and initiators must reconnect with the new credentials.

" - }, - "UpdateGatewayInformation":{ - "name":"UpdateGatewayInformation", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGatewayInformationInput"}, - "output":{"shape":"UpdateGatewayInformationOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

For Gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN.

" - }, - "UpdateGatewaySoftwareNow":{ - "name":"UpdateGatewaySoftwareNow", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGatewaySoftwareNowInput"}, - "output":{"shape":"UpdateGatewaySoftwareNowOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively.

" - }, - "UpdateMaintenanceStartTime":{ - "name":"UpdateMaintenanceStartTime", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateMaintenanceStartTimeInput"}, - "output":{"shape":"UpdateMaintenanceStartTimeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone.

" - }, - "UpdateNFSFileShare":{ - "name":"UpdateNFSFileShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateNFSFileShareInput"}, - "output":{"shape":"UpdateNFSFileShareOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates a Network File System (NFS) file share. This operation is only supported in the file gateway type.

To leave a file share field unchanged, set the corresponding input field to null.

Updates the following file share setting:

  • Default storage class for your S3 bucket

  • Metadata defaults for your S3 bucket

  • Allowed NFS clients for your file share

  • Squash settings

  • Write status of your file share

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways.

" - }, - "UpdateSMBFileShare":{ - "name":"UpdateSMBFileShare", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSMBFileShareInput"}, - "output":{"shape":"UpdateSMBFileShareOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates a Server Message Block (SMB) file share.

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

" - }, - "UpdateSnapshotSchedule":{ - "name":"UpdateSnapshotSchedule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSnapshotScheduleInput"}, - "output":{"shape":"UpdateSnapshotScheduleOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates a snapshot schedule configured for a gateway volume. This operation is only supported in the cached volume and stored volume gateway types.

The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume.

In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

" - }, - "UpdateVTLDeviceType":{ - "name":"UpdateVTLDeviceType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateVTLDeviceTypeInput"}, - "output":{"shape":"UpdateVTLDeviceTypeOutput"}, - "errors":[ - {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} - ], - "documentation":"

Updates the type of medium changer in a tape gateway. When you activate a tape gateway, you select a medium changer type for the tape gateway. This operation enables you to select a different type of medium changer after a tape gateway is activated. This operation is only supported in the tape gateway type.

" - } - }, - "shapes":{ - "ActivateGatewayInput":{ - "type":"structure", - "required":[ - "ActivationKey", - "GatewayName", - "GatewayTimezone", - "GatewayRegion" - ], - "members":{ - "ActivationKey":{ - "shape":"ActivationKey", - "documentation":"

Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway.

For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html in the Storage Gateway User Guide.

" - }, - "GatewayName":{ - "shape":"GatewayName", - "documentation":"

The name you configured for your gateway.

" - }, - "GatewayTimezone":{ - "shape":"GatewayTimezone", - "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 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\", \"eu-west-3\", \"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.

Valid Values: \"STORED\", \"CACHED\", \"VTL\", \"FILE_S3\"

" - }, - "TapeDriveType":{ - "shape":"TapeDriveType", - "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 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:

" - }, - "ActivateGatewayOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

AWS Storage Gateway returns the Amazon Resource Name (ARN) of the activated gateway. It is a string made of information such as your account, gateway name, and region. This ARN is used to reference the gateway in other API operations as well as resource-based authorization.

For gateways activated prior to September 02, 2015, the gateway ARN contains the gateway name rather than the gateway ID. Changing the name of the gateway has no effect on the gateway ARN.

" - }, - "ActivationKey":{ - "type":"string", - "max":50, - "min":1 - }, - "AddCacheInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "DiskIds" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} - } - }, - "AddCacheOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "AddTagsToResourceInput":{ - "type":"structure", - "required":[ - "ResourceARN", - "Tags" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource you want to add tags to.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

" - } - }, - "documentation":"

AddTagsToResourceInput

" - }, - "AddTagsToResourceOutput":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource you want to add tags to.

" - } - }, - "documentation":"

AddTagsToResourceOutput

" - }, - "AddUploadBufferInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "DiskIds" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} - } - }, - "AddUploadBufferOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "AddWorkingStorageInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "DiskIds" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{ - "shape":"DiskIds", - "documentation":"

An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "AddWorkingStorageOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway for which working storage was configured.

" - }, - "Authentication":{ - "type":"string", - "documentation":"

The authentication method of the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

", - "max":15, - "min":5 - }, - "BandwidthDownloadRateLimit":{ - "type":"long", - "min":102400 - }, - "BandwidthType":{ - "type":"string", - "max":25, - "min":3 - }, - "BandwidthUploadRateLimit":{ - "type":"long", - "min":51200 - }, - "Boolean":{"type":"boolean"}, - "CachediSCSIVolume":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the storage volume.

" - }, - "VolumeId":{ - "shape":"VolumeId", - "documentation":"

The unique identifier of the volume, e.g. vol-AE4B946D.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

One of the VolumeType enumeration values that describes the type of the volume.

" - }, - "VolumeStatus":{ - "shape":"VolumeStatus", - "documentation":"

One of the VolumeStatus values that indicates the state of the storage volume.

" - }, - "VolumeSizeInBytes":{ - "shape":"long", - "documentation":"

The size, in bytes, of the volume capacity.

" - }, - "VolumeProgress":{ - "shape":"DoubleObject", - "documentation":"

Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the cached volume is not restoring or bootstrapping.

" - }, - "SourceSnapshotId":{ - "shape":"SnapshotId", - "documentation":"

If the cached volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.

" - }, - "VolumeiSCSIAttributes":{ - "shape":"VolumeiSCSIAttributes", - "documentation":"

An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

" - }, - "CreatedDate":{ - "shape":"CreatedDate", - "documentation":"

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

" - }, - "VolumeUsedInBytes":{ - "shape":"VolumeUsedInBytes", - "documentation":"

The size of the data stored on the volume in bytes.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" - }, - "KMSKey":{"shape":"KMSKey"} - }, - "documentation":"

Describes an iSCSI cached volume.

" - }, - "CachediSCSIVolumes":{ - "type":"list", - "member":{"shape":"CachediSCSIVolume"} - }, - "CancelArchivalInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "TapeARN" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving for.

" - } - }, - "documentation":"

CancelArchivalInput

" - }, - "CancelArchivalOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape for which archiving was canceled.

" - } - }, - "documentation":"

CancelArchivalOutput

" - }, - "CancelRetrievalInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "TapeARN" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval for.

" - } - }, - "documentation":"

CancelRetrievalInput

" - }, - "CancelRetrievalOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape for which retrieval was canceled.

" - } - }, - "documentation":"

CancelRetrievalOutput

" - }, - "ChapCredentials":{ - "type":"list", - "member":{"shape":"ChapInfo"} - }, - "ChapInfo":{ - "type":"structure", - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" - }, - "SecretToAuthenticateInitiator":{ - "shape":"ChapSecret", - "documentation":"

The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

" - }, - "InitiatorName":{ - "shape":"IqnName", - "documentation":"

The iSCSI initiator that connects to the target.

" - }, - "SecretToAuthenticateTarget":{ - "shape":"ChapSecret", - "documentation":"

The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

" - } - }, - "documentation":"

Describes Challenge-Handshake Authentication Protocol (CHAP) information that supports authentication between your gateway and iSCSI initiators.

" - }, - "ChapSecret":{ - "type":"string", - "max":100, - "min":1 - }, - "ClientToken":{ - "type":"string", - "max":100, - "min":5 - }, - "CreateCachediSCSIVolumeInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "VolumeSizeInBytes", - "TargetName", - "NetworkInterfaceId", - "ClientToken" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "VolumeSizeInBytes":{ - "shape":"long", - "documentation":"

The size of the volume in bytes.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" - }, - "TargetName":{ - "shape":"TargetName", - "documentation":"

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" - }, - "SourceVolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The VolumeSizeInBytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

Valid Values: A valid IP address.

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - } - } - }, - "CreateCachediSCSIVolumeOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the configured volume.

" - }, - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

" - } - } - }, - "CreateNFSFileShareInput":{ - "type":"structure", - "required":[ - "ClientToken", - "GatewayARN", - "Role", - "LocationARN" - ], - "members":{ - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

" - }, - "NFSFileShareDefaults":{ - "shape":"NFSFileShareDefaults", - "documentation":"

File share default values. Optional.

" - }, - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

" - }, - "LocationARN":{ - "shape":"LocationARN", - "documentation":"

The ARN of the backed storage used for storing file data.

" - }, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{ - "shape":"ObjectACL", - "documentation":"

A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

" - }, - "ClientList":{ - "shape":"FileShareClientList", - "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

" - }, - "Squash":{ - "shape":"Squash", - "documentation":"

Maps a user to anonymous user. Valid options are the following:

  • RootSquash - Only root is mapped to anonymous user.

  • NoSquash - No one is mapped to anonymous user

  • AllSquash - Everyone is mapped to anonymous user.

" - }, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - } - }, - "documentation":"

CreateNFSFileShareInput

" - }, - "CreateNFSFileShareOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the newly created file share.

" - } - }, - "documentation":"

CreateNFSFileShareOutput

" - }, - "CreateSMBFileShareInput":{ - "type":"structure", - "required":[ - "ClientToken", - "GatewayARN", - "Role", - "LocationARN" - ], - "members":{ - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

" - }, - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - }, - "Role":{ - "shape":"Role", - "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

" - }, - "LocationARN":{ - "shape":"LocationARN", - "documentation":"

The ARN of the backed storage used for storing file data.

" - }, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{ - "shape":"ObjectACL", - "documentation":"

A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

" - }, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - }, - "ValidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - }, - "InvalidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - }, - "Authentication":{ - "shape":"Authentication", - "documentation":"

The authentication method that users use to access the file share.

Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

" - } - }, - "documentation":"

CreateSMBFileShareInput

" - }, - "CreateSMBFileShareOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the newly created file share.

" - } - }, - "documentation":"

CreateSMBFileShareOutput

" - }, - "CreateSnapshotFromVolumeRecoveryPointInput":{ - "type":"structure", - "required":[ - "VolumeARN", - "SnapshotDescription" - ], - "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "SnapshotDescription":{"shape":"SnapshotDescription"} - } - }, - "CreateSnapshotFromVolumeRecoveryPointOutput":{ - "type":"structure", - "members":{ - "SnapshotId":{"shape":"SnapshotId"}, - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeRecoveryPointTime":{"shape":"string"} - } - }, - "CreateSnapshotInput":{ - "type":"structure", - "required":[ - "VolumeARN", - "SnapshotDescription" - ], - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

" - }, - "SnapshotDescription":{ - "shape":"SnapshotDescription", - "documentation":"

Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "CreateSnapshotOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume of which the snapshot was taken.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The snapshot ID that is used to refer to the snapshot in future operations such as describing snapshots (Amazon Elastic Compute Cloud API DescribeSnapshots) or creating a volume from a snapshot (CreateStorediSCSIVolume).

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "CreateStorediSCSIVolumeInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "DiskId", - "PreserveExistingData", - "TargetName", - "NetworkInterfaceId" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskId":{ - "shape":"DiskId", - "documentation":"

The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

" - }, - "SnapshotId":{ - "shape":"SnapshotId", - "documentation":"

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

" - }, - "PreserveExistingData":{ - "shape":"boolean", - "documentation":"

Specify this field as true if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.

Valid Values: true, false

" - }, - "TargetName":{ - "shape":"TargetName", - "documentation":"

The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

Valid Values: A valid IP address.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "CreateStorediSCSIVolumeOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the configured volume.

" - }, - "VolumeSizeInBytes":{ - "shape":"long", - "documentation":"

The size of the volume in bytes.

" - }, - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "CreateTapeWithBarcodeInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "TapeSizeInBytes", - "TapeBarcode" - ], - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and region.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of the virtual tape that you want to create.

The size must be aligned by gigabyte (1024*1024*1024 byte).

" - }, - "TapeBarcode":{ - "shape":"TapeBarcode", - "documentation":"

The barcode that you want to assign to the tape.

Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - } - }, - "documentation":"

CreateTapeWithBarcodeInput

" - }, - "CreateTapeWithBarcodeOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

A unique Amazon Resource Name (ARN) that represents the virtual tape that was created.

" - } - }, - "documentation":"

CreateTapeOutput

" - }, - "CreateTapesInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "TapeSizeInBytes", - "ClientToken", - "NumTapesToCreate", - "TapeBarcodePrefix" - ], - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and region.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of the virtual tapes that you want to create.

The size must be aligned by gigabyte (1024*1024*1024 byte).

" - }, - "ClientToken":{ - "shape":"ClientToken", - "documentation":"

A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

Using the same ClientToken prevents creating the tape multiple times.

" - }, - "NumTapesToCreate":{ - "shape":"NumTapesToCreate", - "documentation":"

The number of virtual tapes that you want to create.

" - }, - "TapeBarcodePrefix":{ - "shape":"TapeBarcodePrefix", - "documentation":"

A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique.

The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - } - }, - "documentation":"

CreateTapesInput

" - }, - "CreateTapesOutput":{ - "type":"structure", - "members":{ - "TapeARNs":{ - "shape":"TapeARNs", - "documentation":"

A list of unique Amazon Resource Names (ARNs) that represents the virtual tapes that were created.

" - } - }, - "documentation":"

CreateTapeOutput

" - }, - "CreatedDate":{"type":"timestamp"}, - "DayOfWeek":{ - "type":"integer", - "max":6, - "min":0 - }, - "DeleteBandwidthRateLimitInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "BandwidthType" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "BandwidthType":{ - "shape":"BandwidthType", - "documentation":"

One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete.

Valid Values: Upload, Download, All.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DeleteBandwidthRateLimitOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway whose bandwidth rate information was deleted.

" - }, - "DeleteChapCredentialsInput":{ - "type":"structure", - "required":[ - "TargetARN", - "InitiatorName" - ], - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

" - }, - "InitiatorName":{ - "shape":"IqnName", - "documentation":"

The iSCSI initiator that connects to the target.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "DeleteChapCredentialsOutput":{ - "type":"structure", - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the target.

" - }, - "InitiatorName":{ - "shape":"IqnName", - "documentation":"

The iSCSI initiator that connects to the target.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DeleteFileShareInput":{ - "type":"structure", - "required":["FileShareARN"], - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the file share to be deleted.

" - }, - "ForceDelete":{ - "shape":"boolean", - "documentation":"

If this value is set to true, the operation deletes a file share immediately and aborts all data uploads to AWS. Otherwise, the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process, and the file share enters the FORCE_DELETING status.

" - } - }, - "documentation":"

DeleteFileShareInput

" - }, - "DeleteFileShareOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the deleted file share.

" - } - }, - "documentation":"

DeleteFileShareOutput

" - }, - "DeleteGatewayInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the ID of the gateway to delete.

" - }, - "DeleteGatewayOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the ID of the deleted gateway.

" - }, - "DeleteSnapshotScheduleInput":{ - "type":"structure", - "required":["VolumeARN"], - "members":{ - "VolumeARN":{"shape":"VolumeARN"} - } - }, - "DeleteSnapshotScheduleOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{"shape":"VolumeARN"} - } - }, - "DeleteTapeArchiveInput":{ - "type":"structure", - "required":["TapeARN"], - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual tape shelf (VTS).

" - } - }, - "documentation":"

DeleteTapeArchiveInput

" - }, - "DeleteTapeArchiveOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape that was deleted from the virtual tape shelf (VTS).

" - } - }, - "documentation":"

DeleteTapeArchiveOutput

" - }, - "DeleteTapeInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "TapeARN" - ], - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) of the gateway that the virtual tape to delete is associated with. Use the ListGateways operation to return a list of gateways for your account and region.

" - }, - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape to delete.

" - } - }, - "documentation":"

DeleteTapeInput

" - }, - "DeleteTapeOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the deleted virtual tape.

" - } - }, - "documentation":"

DeleteTapeOutput

" - }, - "DeleteVolumeInput":{ - "type":"structure", - "required":["VolumeARN"], - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

" - } - }, - "documentation":"

A JSON object containing the DeleteVolumeInput$VolumeARN to delete.

" - }, - "DeleteVolumeOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the storage volume that was deleted. It is the same ARN you provided in the request.

" - } - }, - "documentation":"

A JSON object containing the of the storage volume that was deleted

" - }, - "DescribeBandwidthRateLimitInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway.

" - }, - "DescribeBandwidthRateLimitOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "AverageUploadRateLimitInBitsPerSec":{ - "shape":"BandwidthUploadRateLimit", - "documentation":"

The average upload bandwidth rate limit in bits per second. This field does not appear in the response if the upload rate limit is not set.

" - }, - "AverageDownloadRateLimitInBitsPerSec":{ - "shape":"BandwidthDownloadRateLimit", - "documentation":"

The average download bandwidth rate limit in bits per second. This field does not appear in the response if the download rate limit is not set.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DescribeCacheInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "DescribeCacheOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "CacheAllocatedInBytes":{"shape":"long"}, - "CacheUsedPercentage":{"shape":"double"}, - "CacheDirtyPercentage":{"shape":"double"}, - "CacheHitPercentage":{"shape":"double"}, - "CacheMissPercentage":{"shape":"double"} - } - }, - "DescribeCachediSCSIVolumesInput":{ - "type":"structure", - "required":["VolumeARNs"], - "members":{ - "VolumeARNs":{"shape":"VolumeARNs"} - } - }, - "DescribeCachediSCSIVolumesOutput":{ - "type":"structure", - "members":{ - "CachediSCSIVolumes":{ - "shape":"CachediSCSIVolumes", - "documentation":"

An array of objects where each object contains metadata about one cached volume.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DescribeChapCredentialsInput":{ - "type":"structure", - "required":["TargetARN"], - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

" - } - }, - "documentation":"

A JSON object containing the Amazon Resource Name (ARN) of the iSCSI volume target.

" - }, - "DescribeChapCredentialsOutput":{ - "type":"structure", - "members":{ - "ChapCredentials":{ - "shape":"ChapCredentials", - "documentation":"

An array of ChapInfo objects that represent CHAP credentials. Each object in the array contains CHAP credential information for one target-initiator pair. If no CHAP credentials are set, an empty array is returned. CHAP credential information is provided in a JSON object with the following fields:

  • InitiatorName: The iSCSI initiator that connects to the target.

  • SecretToAuthenticateInitiator: The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

  • SecretToAuthenticateTarget: The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

  • TargetARN: The Amazon Resource Name (ARN) of the storage volume.

" - } - }, - "documentation":"

A JSON object containing a .

" - }, - "DescribeGatewayInformationInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the ID of the gateway.

" - }, - "DescribeGatewayInformationOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "GatewayId":{ - "shape":"GatewayId", - "documentation":"

The unique identifier assigned to your gateway during activation. This ID becomes part of the gateway Amazon Resource Name (ARN), which you use as input for other operations.

" - }, - "GatewayName":{ - "shape":"string", - "documentation":"

The name you configured for your gateway.

" - }, - "GatewayTimezone":{ - "shape":"GatewayTimezone", - "documentation":"

A value that indicates the time zone configured for the gateway.

" - }, - "GatewayState":{ - "shape":"GatewayState", - "documentation":"

A value that indicates the operating state of the gateway.

" - }, - "GatewayNetworkInterfaces":{ - "shape":"GatewayNetworkInterfaces", - "documentation":"

A NetworkInterface array that contains descriptions of the gateway network interfaces.

" - }, - "GatewayType":{ - "shape":"GatewayType", - "documentation":"

The type of the gateway.

" - }, - "NextUpdateAvailabilityDate":{ - "shape":"NextUpdateAvailabilityDate", - "documentation":"

The date on which an update to the gateway is available. This date is in the time zone of the gateway. If the gateway is not available for an update this field is not returned in the response.

" - }, - "LastSoftwareUpdate":{ - "shape":"LastSoftwareUpdate", - "documentation":"

The date on which the last software update was applied to the gateway. If the gateway has never been updated, this field does not return a value in the response.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DescribeMaintenanceStartTimeInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway.

" - }, - "DescribeMaintenanceStartTimeOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "HourOfDay":{ - "shape":"HourOfDay", - "documentation":"

The hour component of the maintenance start time represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

" - }, - "MinuteOfHour":{ - "shape":"MinuteOfHour", - "documentation":"

The minute component of the maintenance start time represented as mm, where mm is the minute (0 to 59). The minute of the hour is in the time zone of the gateway.

" - }, - "DayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

An ordinal number between 0 and 6 that represents the day of the week, where 0 represents Sunday and 6 represents Saturday. The day of week is in the time zone of the gateway.

" - }, - "Timezone":{"shape":"GatewayTimezone"} - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "DescribeNFSFileSharesInput":{ - "type":"structure", - "required":["FileShareARNList"], - "members":{ - "FileShareARNList":{ - "shape":"FileShareARNList", - "documentation":"

An array containing the Amazon Resource Name (ARN) of each file share to be described.

" - } - }, - "documentation":"

DescribeNFSFileSharesInput

" - }, - "DescribeNFSFileSharesOutput":{ - "type":"structure", - "members":{ - "NFSFileShareInfoList":{ - "shape":"NFSFileShareInfoList", - "documentation":"

An array containing a description for each requested file share.

" - } - }, - "documentation":"

DescribeNFSFileSharesOutput

" - }, - "DescribeSMBFileSharesInput":{ - "type":"structure", - "required":["FileShareARNList"], - "members":{ - "FileShareARNList":{ - "shape":"FileShareARNList", - "documentation":"

An array containing the Amazon Resource Name (ARN) of each file share to be described.

" - } - }, - "documentation":"

DescribeSMBFileSharesInput

" - }, - "DescribeSMBFileSharesOutput":{ - "type":"structure", - "members":{ - "SMBFileShareInfoList":{ - "shape":"SMBFileShareInfoList", - "documentation":"

An array containing a description for each requested file share.

" - } - }, - "documentation":"

DescribeSMBFileSharesOutput

" - }, - "DescribeSMBSettingsInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "DescribeSMBSettingsOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that the gateway is joined to.

" - }, - "SMBGuestPasswordSet":{ - "shape":"Boolean", - "documentation":"

This value is true if a password for the guest user “smbguest” is set, and otherwise false.

" - } - } - }, - "DescribeSnapshotScheduleInput":{ - "type":"structure", - "required":["VolumeARN"], - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

" - } - }, - "documentation":"

A JSON object containing the DescribeSnapshotScheduleInput$VolumeARN of the volume.

" - }, - "DescribeSnapshotScheduleOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "StartAt":{"shape":"HourOfDay"}, - "RecurrenceInHours":{"shape":"RecurrenceInHours"}, - "Description":{"shape":"Description"}, - "Timezone":{"shape":"GatewayTimezone"} - } - }, - "DescribeStorediSCSIVolumesInput":{ - "type":"structure", - "required":["VolumeARNs"], - "members":{ - "VolumeARNs":{ - "shape":"VolumeARNs", - "documentation":"

An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

" - } - }, - "documentation":"

A JSON object containing a list of DescribeStorediSCSIVolumesInput$VolumeARNs.

" - }, - "DescribeStorediSCSIVolumesOutput":{ - "type":"structure", - "members":{ - "StorediSCSIVolumes":{"shape":"StorediSCSIVolumes"} - } - }, - "DescribeTapeArchivesInput":{ - "type":"structure", - "members":{ - "TapeARNs":{ - "shape":"TapeARNs", - "documentation":"

Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to begin describing virtual tapes.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the number of virtual tapes descried be limited to the specified number.

" - } - }, - "documentation":"

DescribeTapeArchivesInput

" - }, - "DescribeTapeArchivesOutput":{ - "type":"structure", - "members":{ - "TapeArchives":{ - "shape":"TapeArchives", - "documentation":"

An array of virtual tape objects in the virtual tape shelf (VTS). The description includes of the Amazon Resource Name (ARN) of the virtual tapes. The information returned includes the Amazon Resource Names (ARNs) of the tapes, size of the tapes, status of the tapes, progress of the description and tape barcode.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which the virtual tapes that were fetched for description ended. Use this marker in your next request to fetch the next set of virtual tapes in the virtual tape shelf (VTS). If there are no more virtual tapes to describe, this field does not appear in the response.

" - } - }, - "documentation":"

DescribeTapeArchivesOutput

" - }, - "DescribeTapeRecoveryPointsInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to begin describing the virtual tape recovery points.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the number of virtual tape recovery points that are described be limited to the specified number.

" - } - }, - "documentation":"

DescribeTapeRecoveryPointsInput

" - }, - "DescribeTapeRecoveryPointsOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "TapeRecoveryPointInfos":{ - "shape":"TapeRecoveryPointInfos", - "documentation":"

An array of TapeRecoveryPointInfos that are available for the specified gateway.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which the virtual tape recovery points that were listed for description ended.

Use this marker in your next request to list the next set of virtual tape recovery points in the list. If there are no more recovery points to describe, this field does not appear in the response.

" - } - }, - "documentation":"

DescribeTapeRecoveryPointsOutput

" - }, - "DescribeTapesInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "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, Tape gateway returns a description of all virtual tapes associated with the specified gateway.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

A marker value, obtained in a previous call to DescribeTapes. This marker indicates which page of results to retrieve.

If not specified, the first page of results is retrieved.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the number of virtual tapes described be limited to the specified number.

Amazon Web Services may impose its own limit, if this field is not set.

" - } - }, - "documentation":"

DescribeTapesInput

" - }, - "DescribeTapesOutput":{ - "type":"structure", - "members":{ - "Tapes":{ - "shape":"Tapes", - "documentation":"

An array of virtual tape descriptions.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string which can be used as part of a subsequent DescribeTapes call to retrieve the next page of results.

If a response does not contain a marker, then there are no more results to be retrieved.

" - } - }, - "documentation":"

DescribeTapesOutput

" - }, - "DescribeUploadBufferInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "DescribeUploadBufferOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "UploadBufferUsedInBytes":{"shape":"long"}, - "UploadBufferAllocatedInBytes":{"shape":"long"} - } - }, - "DescribeVTLDevicesInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "VTLDeviceARNs":{ - "shape":"VTLDeviceARNs", - "documentation":"

An array of strings, where each string represents the Amazon Resource Name (ARN) of a VTL device.

All of the specified VTL devices must be from the same gateway. If no VTL devices are specified, the result will contain all devices on the specified gateway.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to begin describing the VTL devices.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the number of VTL devices described be limited to the specified number.

" - } - }, - "documentation":"

DescribeVTLDevicesInput

" - }, - "DescribeVTLDevicesOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "VTLDevices":{ - "shape":"VTLDevices", - "documentation":"

An array of VTL device objects composed of the Amazon Resource Name(ARN) of the VTL devices.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which the VTL devices that were fetched for description ended. Use the marker in your next request to fetch the next set of VTL devices in the list. If there are no more VTL devices to describe, this field does not appear in the response.

" - } - }, - "documentation":"

DescribeVTLDevicesOutput

" - }, - "DescribeWorkingStorageInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway.

" - }, - "DescribeWorkingStorageOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{ - "shape":"DiskIds", - "documentation":"

An array of the gateway's local disk IDs that are configured as working storage. Each local disk ID is specified as a string (minimum length of 1 and maximum length of 300). If no local disks are configured as working storage, then the DiskIds array is empty.

" - }, - "WorkingStorageUsedInBytes":{ - "shape":"long", - "documentation":"

The total working storage in bytes in use by the gateway. If no working storage is configured for the gateway, this field returns 0.

" - }, - "WorkingStorageAllocatedInBytes":{ - "shape":"long", - "documentation":"

The total working storage in bytes allocated for the gateway. If no working storage is configured for the gateway, this field returns 0.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "Description":{ - "type":"string", - "max":255, - "min":1 - }, - "DeviceType":{ - "type":"string", - "max":50, - "min":2 - }, - "DeviceiSCSIAttributes":{ - "type":"structure", - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

The network interface identifier of the VTL device.

" - }, - "NetworkInterfacePort":{ - "shape":"integer", - "documentation":"

The port used to communicate with iSCSI VTL device targets.

" - }, - "ChapEnabled":{ - "shape":"boolean", - "documentation":"

Indicates whether mutual CHAP is enabled for the iSCSI target.

" - } - }, - "documentation":"

Lists iSCSI information about a VTL device.

" - }, - "DisableGatewayInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

DisableGatewayInput

" - }, - "DisableGatewayOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) of the disabled gateway.

" - } - }, - "documentation":"

DisableGatewayOutput

" - }, - "Disk":{ - "type":"structure", - "members":{ - "DiskId":{"shape":"DiskId"}, - "DiskPath":{"shape":"string"}, - "DiskNode":{"shape":"string"}, - "DiskStatus":{"shape":"string"}, - "DiskSizeInBytes":{"shape":"long"}, - "DiskAllocationType":{"shape":"DiskAllocationType"}, - "DiskAllocationResource":{"shape":"string"} - } - }, - "DiskAllocationType":{ - "type":"string", - "max":100, - "min":3 - }, - "DiskId":{ - "type":"string", - "max":300, - "min":1 - }, - "DiskIds":{ - "type":"list", - "member":{"shape":"DiskId"} - }, - "Disks":{ - "type":"list", - "member":{"shape":"Disk"} - }, - "DomainName":{ - "type":"string", - "pattern":"^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$" - }, - "DomainUserName":{ - "type":"string", - "pattern":"^\\w[\\w\\.\\- ]*$" - }, - "DomainUserPassword":{ - "type":"string", - "pattern":"^[ -~]+$", - "sensitive":true - }, - "DoubleObject":{"type":"double"}, - "ErrorCode":{ - "type":"string", - "enum":[ - "ActivationKeyExpired", - "ActivationKeyInvalid", - "ActivationKeyNotFound", - "GatewayInternalError", - "GatewayNotConnected", - "GatewayNotFound", - "GatewayProxyNetworkConnectionBusy", - "AuthenticationFailure", - "BandwidthThrottleScheduleNotFound", - "Blocked", - "CannotExportSnapshot", - "ChapCredentialNotFound", - "DiskAlreadyAllocated", - "DiskDoesNotExist", - "DiskSizeGreaterThanVolumeMaxSize", - "DiskSizeLessThanVolumeSize", - "DiskSizeNotGigAligned", - "DuplicateCertificateInfo", - "DuplicateSchedule", - "EndpointNotFound", - "IAMNotSupported", - "InitiatorInvalid", - "InitiatorNotFound", - "InternalError", - "InvalidGateway", - "InvalidEndpoint", - "InvalidParameters", - "InvalidSchedule", - "LocalStorageLimitExceeded", - "LunAlreadyAllocated ", - "LunInvalid", - "MaximumContentLengthExceeded", - "MaximumTapeCartridgeCountExceeded", - "MaximumVolumeCountExceeded", - "NetworkConfigurationChanged", - "NoDisksAvailable", - "NotImplemented", - "NotSupported", - "OperationAborted", - "OutdatedGateway", - "ParametersNotImplemented", - "RegionInvalid", - "RequestTimeout", - "ServiceUnavailable", - "SnapshotDeleted", - "SnapshotIdInvalid", - "SnapshotInProgress", - "SnapshotNotFound", - "SnapshotScheduleNotFound", - "StagingAreaFull", - "StorageFailure", - "TapeCartridgeNotFound", - "TargetAlreadyExists", - "TargetInvalid", - "TargetNotFound", - "UnauthorizedOperation", - "VolumeAlreadyExists", - "VolumeIdInvalid", - "VolumeInUse", - "VolumeNotFound", - "VolumeNotReady" - ] - }, - "FileShareARN":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN) of the file share.

", - "max":500, - "min":50 - }, - "FileShareARNList":{ - "type":"list", - "member":{"shape":"FileShareARN"}, - "max":10, - "min":1 - }, - "FileShareClientList":{ - "type":"list", - "member":{"shape":"IPV4AddressCIDR"}, - "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

", - "max":100, - "min":1 - }, - "FileShareId":{ - "type":"string", - "documentation":"

The ID of the file share.

", - "max":30, - "min":12 - }, - "FileShareInfo":{ - "type":"structure", - "members":{ - "FileShareType":{"shape":"FileShareType"}, - "FileShareARN":{"shape":"FileShareARN"}, - "FileShareId":{"shape":"FileShareId"}, - "FileShareStatus":{"shape":"FileShareStatus"}, - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

Describes a file share.

" - }, - "FileShareInfoList":{ - "type":"list", - "member":{"shape":"FileShareInfo"} - }, - "FileShareStatus":{ - "type":"string", - "documentation":"

The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE and DELETING.

", - "max":50, - "min":3 - }, - "FileShareType":{ - "type":"string", - "documentation":"

The type of the file share.

", - "enum":[ - "NFS", - "SMB" - ] - }, - "FileShareUser":{ - "type":"string", - "max":64, - "min":1 - }, - "FileShareUserList":{ - "type":"list", - "member":{"shape":"FileShareUser"}, - "max":100, - "min":0 - }, - "GatewayARN":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

", - "max":500, - "min":50 - }, - "GatewayId":{ - "type":"string", - "max":30, - "min":12 - }, - "GatewayInfo":{ - "type":"structure", - "members":{ - "GatewayId":{ - "shape":"GatewayId", - "documentation":"

The unique identifier assigned to your gateway during activation. This ID becomes part of the gateway Amazon Resource Name (ARN), which you use as input for other operations.

" - }, - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

" - }, - "GatewayType":{ - "shape":"GatewayType", - "documentation":"

The type of the gateway.

" - }, - "GatewayOperationalState":{ - "shape":"GatewayOperationalState", - "documentation":"

The state of the gateway.

Valid Values: DISABLED or ACTIVE

" - }, - "GatewayName":{ - "shape":"string", - "documentation":"

The name of the gateway.

" - } - }, - "documentation":"

Describes a gateway object.

" - }, - "GatewayName":{ - "type":"string", - "documentation":"

The name you configured for your gateway.

", - "max":255, - "min":2, - "pattern":"^[ -\\.0-\\[\\]-~]*[!-\\.0-\\[\\]-~][ -\\.0-\\[\\]-~]*$" - }, - "GatewayNetworkInterfaces":{ - "type":"list", - "member":{"shape":"NetworkInterface"} - }, - "GatewayOperationalState":{ - "type":"string", - "max":25, - "min":2 - }, - "GatewayState":{ - "type":"string", - "max":25, - "min":2 - }, - "GatewayTimezone":{ - "type":"string", - "max":10, - "min":3 - }, - "GatewayType":{ - "type":"string", - "max":20, - "min":2 - }, - "Gateways":{ - "type":"list", - "member":{"shape":"GatewayInfo"} - }, - "HourOfDay":{ - "type":"integer", - "max":23, - "min":0 - }, - "IPV4AddressCIDR":{ - "type":"string", - "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" - }, - "Initiator":{ - "type":"string", - "max":50, - "min":1 - }, - "Initiators":{ - "type":"list", - "member":{"shape":"Initiator"} - }, - "InternalServerError":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

A human-readable message describing the error that occurred.

" - }, - "error":{ - "shape":"StorageGatewayError", - "documentation":"

A StorageGatewayError that provides more information about the cause of the error.

" - } - }, - "documentation":"

An internal server error has occurred during the request. For more information, see the error and message fields.

", - "exception":true - }, - "InvalidGatewayRequestException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

A human-readable message describing the error that occurred.

" - }, - "error":{ - "shape":"StorageGatewayError", - "documentation":"

A StorageGatewayError that provides more detail about the cause of the error.

" - } - }, - "documentation":"

An exception occurred because an invalid gateway request was issued to the service. For more information, see the error and message fields.

", - "exception":true - }, - "IqnName":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[0-9a-z:.-]+" - }, - "JoinDomainInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "DomainName", - "UserName", - "Password" - ], - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) of the file gateway you want to add to the Active Directory domain.

" - }, - "DomainName":{ - "shape":"DomainName", - "documentation":"

The name of the domain that you want the gateway to join.

" - }, - "UserName":{ - "shape":"DomainUserName", - "documentation":"

Sets the user name of user who has permission to add the gateway to the Active Directory domain.

" - }, - "Password":{ - "shape":"DomainUserPassword", - "documentation":"

Sets the password of the user who has permission to add the gateway to the Active Directory domain.

" - } - }, - "documentation":"

JoinDomainInput

" - }, - "JoinDomainOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The unique Amazon Resource Name (ARN) of the gateway that joined the domain.

" - } - }, - "documentation":"

JoinDomainOutput

" - }, - "KMSKey":{ - "type":"string", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

", - "max":2048, - "min":20 - }, - "LastSoftwareUpdate":{ - "type":"string", - "max":25, - "min":1 - }, - "ListFileSharesInput":{ - "type":"structure", - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon resource Name (ARN) of the gateway whose file shares you want to list. If this field is not present, all file shares under your account are listed.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

The maximum number of file shares to return in the response. The value must be an integer with a value greater than zero. Optional.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

Opaque pagination token returned from a previous ListFileShares operation. If present, Marker specifies where to continue the list from after a previous call to ListFileShares. Optional.

" - } - }, - "documentation":"

ListFileShareInput

" - }, - "ListFileSharesOutput":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

If the request includes Marker, the response returns that value in this field.

" - }, - "NextMarker":{ - "shape":"Marker", - "documentation":"

If a value is present, there are more file shares to return. In a subsequent request, use NextMarker as the value for Marker to retrieve the next set of file shares.

" - }, - "FileShareInfoList":{ - "shape":"FileShareInfoList", - "documentation":"

An array of information about the file gateway's file shares.

" - } - }, - "documentation":"

ListFileShareOutput

" - }, - "ListGatewaysInput":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to begin the returned list of gateways.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the list of gateways returned be limited to the specified number of items.

" - } - }, - "documentation":"

A JSON object containing zero or more of the following fields:

" - }, - "ListGatewaysOutput":{ - "type":"structure", - "members":{ - "Gateways":{"shape":"Gateways"}, - "Marker":{"shape":"Marker"} - } - }, - "ListLocalDisksInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway.

" - }, - "ListLocalDisksOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "Disks":{"shape":"Disks"} - } - }, - "ListTagsForResourceInput":{ - "type":"structure", - "required":["ResourceARN"], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want to list tags.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to begin returning the list of tags.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the list of tags returned be limited to the specified number of items.

" - } - }, - "documentation":"

ListTagsForResourceInput

" - }, - "ListTagsForResourceOutput":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

he Amazon Resource Name (ARN) of the resource for which you want to list tags.

" - }, - "Marker":{ - "shape":"Marker", - "documentation":"

An opaque string that indicates the position at which to stop returning the list of tags.

" - }, - "Tags":{ - "shape":"Tags", - "documentation":"

An array that contains the tags for the specified resource.

" - } - }, - "documentation":"

ListTagsForResourceOutput

" - }, - "ListTapesInput":{ - "type":"structure", - "members":{ - "TapeARNs":{"shape":"TapeARNs"}, - "Marker":{ - "shape":"Marker", - "documentation":"

A string that indicates the position at which to begin the returned list of tapes.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

An optional number limit for the tapes in the list returned by this call.

" - } - }, - "documentation":"

A JSON object that contains one or more of the following fields:

" - }, - "ListTapesOutput":{ - "type":"structure", - "members":{ - "TapeInfos":{"shape":"TapeInfos"}, - "Marker":{ - "shape":"Marker", - "documentation":"

A string that indicates the position at which to begin returning the next list of tapes. Use the marker in your next request to continue pagination of tapes. If there are no more tapes to list, this element does not appear in the response body.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "ListVolumeInitiatorsInput":{ - "type":"structure", - "required":["VolumeARN"], - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes for the gateway.

" - } - }, - "documentation":"

ListVolumeInitiatorsInput

" - }, - "ListVolumeInitiatorsOutput":{ - "type":"structure", - "members":{ - "Initiators":{ - "shape":"Initiators", - "documentation":"

The host names and port numbers of all iSCSI initiators that are connected to the gateway.

" - } - }, - "documentation":"

ListVolumeInitiatorsOutput

" - }, - "ListVolumeRecoveryPointsInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "ListVolumeRecoveryPointsOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "VolumeRecoveryPointInfos":{"shape":"VolumeRecoveryPointInfos"} - } - }, - "ListVolumesInput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "Marker":{ - "shape":"Marker", - "documentation":"

A string that indicates the position at which to begin the returned list of volumes. Obtain the marker from the response of a previous List iSCSI Volumes request.

" - }, - "Limit":{ - "shape":"PositiveIntObject", - "documentation":"

Specifies that the list of volumes returned be limited to the specified number of items.

" - } - }, - "documentation":"

A JSON object that contains one or more of the following fields:

" - }, - "ListVolumesOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "Marker":{"shape":"Marker"}, - "VolumeInfos":{"shape":"VolumeInfos"} - } - }, - "LocalConsolePassword":{ - "type":"string", - "max":512, - "min":6, - "pattern":"^[ -~]+$", - "sensitive":true - }, - "LocationARN":{ - "type":"string", - "documentation":"

The ARN of the backend storage used for storing file data.

", - "max":310, - "min":16 - }, - "Marker":{ - "type":"string", - "max":1000, - "min":1 - }, - "MediumChangerType":{ - "type":"string", - "max":50, - "min":2 - }, - "MinuteOfHour":{ - "type":"integer", - "max":59, - "min":0 - }, - "NFSFileShareDefaults":{ - "type":"structure", - "members":{ - "FileMode":{ - "shape":"PermissionMode", - "documentation":"

The Unix file mode in the form \"nnnn\". For example, \"0666\" represents the default file mode inside the file share. The default value is 0666.

" - }, - "DirectoryMode":{ - "shape":"PermissionMode", - "documentation":"

The Unix directory mode in the form \"nnnn\". For example, \"0666\" represents the default access mode for all directories inside the file share. The default value is 0777.

" - }, - "GroupId":{ - "shape":"PermissionId", - "documentation":"

The default group ID for the file share (unless the files have another group ID specified). The default value is nfsnobody.

" - }, - "OwnerId":{ - "shape":"PermissionId", - "documentation":"

The default owner ID for files in the file share (unless the files have another owner ID specified). The default value is nfsnobody.

" - } - }, - "documentation":"

Describes Network File System (NFS) file share default values. Files and folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, the S3 objects that represent files and folders are assigned these default Unix permissions. This operation is only supported for file gateways.

" - }, - "NFSFileShareInfo":{ - "type":"structure", - "members":{ - "NFSFileShareDefaults":{"shape":"NFSFileShareDefaults"}, - "FileShareARN":{"shape":"FileShareARN"}, - "FileShareId":{"shape":"FileShareId"}, - "FileShareStatus":{"shape":"FileShareStatus"}, - "GatewayARN":{"shape":"GatewayARN"}, - "KMSEncrypted":{ - "shape":"boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{"shape":"KMSKey"}, - "Path":{"shape":"Path"}, - "Role":{"shape":"Role"}, - "LocationARN":{"shape":"LocationARN"}, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{"shape":"ObjectACL"}, - "ClientList":{"shape":"FileShareClientList"}, - "Squash":{"shape":"Squash"}, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - } - }, - "documentation":"

The Unix file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported in file gateways.

" - }, - "NFSFileShareInfoList":{ - "type":"list", - "member":{"shape":"NFSFileShareInfo"} - }, - "NetworkInterface":{ - "type":"structure", - "members":{ - "Ipv4Address":{ - "shape":"string", - "documentation":"

The Internet Protocol version 4 (IPv4) address of the interface.

" - }, - "MacAddress":{ - "shape":"string", - "documentation":"

The Media Access Control (MAC) address of the interface.

This is currently unsupported and will not be returned in output.

" - }, - "Ipv6Address":{ - "shape":"string", - "documentation":"

The Internet Protocol version 6 (IPv6) address of the interface. Currently not supported.

" - } - }, - "documentation":"

Describes a gateway's network interface.

" - }, - "NetworkInterfaceId":{ - "type":"string", - "pattern":"\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z" - }, - "NextUpdateAvailabilityDate":{ - "type":"string", - "max":25, - "min":1 - }, - "NotificationId":{ - "type":"string", - "documentation":"

The randomly generated ID of the notification that was sent. This ID is in UUID format.

", - "max":2048, - "min":1 - }, - "NotifyWhenUploadedInput":{ - "type":"structure", - "required":["FileShareARN"], - "members":{ - "FileShareARN":{"shape":"FileShareARN"} - } - }, - "NotifyWhenUploadedOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{"shape":"FileShareARN"}, - "NotificationId":{"shape":"NotificationId"} - } - }, - "NumTapesToCreate":{ - "type":"integer", - "max":10, - "min":1 - }, - "ObjectACL":{ - "type":"string", - "documentation":"

A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

", - "enum":[ - "private", - "public-read", - "public-read-write", - "authenticated-read", - "bucket-owner-read", - "bucket-owner-full-control", - "aws-exec-read" - ] - }, - "Path":{ - "type":"string", - "documentation":"

The file share path used by the NFS client to identify the mount point.

" - }, - "PermissionId":{ - "type":"long", - "max":4294967294, - "min":0 - }, - "PermissionMode":{ - "type":"string", - "max":4, - "min":1, - "pattern":"^[0-7]{4}$" - }, - "PositiveIntObject":{ - "type":"integer", - "min":1 - }, - "RecurrenceInHours":{ - "type":"integer", - "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, - "min":1 - }, - "RemoveTagsFromResourceInput":{ - "type":"structure", - "required":[ - "ResourceARN", - "TagKeys" - ], - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource you want to remove the tags from.

" - }, - "TagKeys":{ - "shape":"TagKeys", - "documentation":"

The keys of the tags you want to remove from the specified resource. A tag is composed of a key/value pair.

" - } - }, - "documentation":"

RemoveTagsFromResourceInput

" - }, - "RemoveTagsFromResourceOutput":{ - "type":"structure", - "members":{ - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource that the tags were removed from.

" - } - }, - "documentation":"

RemoveTagsFromResourceOutput

" - }, - "ResetCacheInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "ResetCacheOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "ResourceARN":{ - "type":"string", - "max":500, - "min":50 - }, - "RetrieveTapeArchiveInput":{ - "type":"structure", - "required":[ - "TapeARN", - "GatewayARN" - ], - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape you want to retrieve from the virtual tape shelf (VTS).

" - }, - "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 tape gateway.

" - } - }, - "documentation":"

RetrieveTapeArchiveInput

" - }, - "RetrieveTapeArchiveOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the retrieved virtual tape.

" - } - }, - "documentation":"

RetrieveTapeArchiveOutput

" - }, - "RetrieveTapeRecoveryPointInput":{ - "type":"structure", - "required":[ - "TapeARN", - "GatewayARN" - ], - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape for which you want to retrieve the recovery point.

" - }, - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

RetrieveTapeRecoveryPointInput

" - }, - "RetrieveTapeRecoveryPointOutput":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape for which the recovery point was retrieved.

" - } - }, - "documentation":"

RetrieveTapeRecoveryPointOutput

" - }, - "Role":{ - "type":"string", - "documentation":"

The ARN of the IAM role that file gateway assumes when it accesses the underlying storage.

", - "max":2048, - "min":20 - }, - "SMBFileShareInfo":{ - "type":"structure", - "members":{ - "FileShareARN":{"shape":"FileShareARN"}, - "FileShareId":{"shape":"FileShareId"}, - "FileShareStatus":{"shape":"FileShareStatus"}, - "GatewayARN":{"shape":"GatewayARN"}, - "KMSEncrypted":{ - "shape":"boolean", - "documentation":"

True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{"shape":"KMSKey"}, - "Path":{ - "shape":"Path", - "documentation":"

The file share path used by the SMB client to identify the mount point.

" - }, - "Role":{"shape":"Role"}, - "LocationARN":{"shape":"LocationARN"}, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{"shape":"ObjectACL"}, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - }, - "ValidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - }, - "InvalidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - }, - "Authentication":{"shape":"Authentication"} - }, - "documentation":"

The Windows file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported for file gateways.

" - }, - "SMBFileShareInfoList":{ - "type":"list", - "member":{"shape":"SMBFileShareInfo"} - }, - "SMBGuestPassword":{ - "type":"string", - "max":512, - "min":6, - "pattern":"^[ -~]+$", - "sensitive":true - }, - "ServiceUnavailableError":{ - "type":"structure", - "members":{ - "message":{ - "shape":"string", - "documentation":"

A human-readable message describing the error that occurred.

" - }, - "error":{ - "shape":"StorageGatewayError", - "documentation":"

A StorageGatewayError that provides more information about the cause of the error.

" - } - }, - "documentation":"

An internal server error has occurred because the service is unavailable. For more information, see the error and message fields.

", - "exception":true - }, - "SetLocalConsolePasswordInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "LocalConsolePassword" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "LocalConsolePassword":{ - "shape":"LocalConsolePassword", - "documentation":"

The password you want to set for your VM local console.

" - } - }, - "documentation":"

SetLocalConsolePasswordInput

" - }, - "SetLocalConsolePasswordOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "SetSMBGuestPasswordInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "Password" - ], - "members":{ - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated with.

" - }, - "Password":{ - "shape":"SMBGuestPassword", - "documentation":"

The password that you want to set for your SMB Server.

" - } - }, - "documentation":"

SetSMBGuestPasswordInput

" - }, - "SetSMBGuestPasswordOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - } - }, - "ShutdownGatewayInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway to shut down.

" - }, - "ShutdownGatewayOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway that was shut down.

" - }, - "SnapshotDescription":{ - "type":"string", - "max":255, - "min":1 - }, - "SnapshotId":{ - "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"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway to start.

" - }, - "StartGatewayOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway that was restarted.

" - }, - "StorageClass":{ - "type":"string", - "documentation":"

", - "max":20, - "min":5 - }, - "StorageGatewayError":{ - "type":"structure", - "members":{ - "errorCode":{ - "shape":"ErrorCode", - "documentation":"

Additional information about the error.

" - }, - "errorDetails":{ - "shape":"errorDetails", - "documentation":"

Human-readable text that provides detail about the error that occurred.

" - } - }, - "documentation":"

Provides additional information about an error that was returned by the service as an or. See the errorCode and errorDetails members for more information about the error.

" - }, - "StorediSCSIVolume":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the storage volume.

" - }, - "VolumeId":{ - "shape":"VolumeId", - "documentation":"

The unique identifier of the volume, e.g. vol-AE4B946D.

" - }, - "VolumeType":{ - "shape":"VolumeType", - "documentation":"

One of the VolumeType enumeration values describing the type of the volume.

" - }, - "VolumeStatus":{ - "shape":"VolumeStatus", - "documentation":"

One of the VolumeStatus values that indicates the state of the storage volume.

" - }, - "VolumeSizeInBytes":{ - "shape":"long", - "documentation":"

The size of the volume in bytes.

" - }, - "VolumeProgress":{ - "shape":"DoubleObject", - "documentation":"

Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the stored volume is not restoring or bootstrapping.

" - }, - "VolumeDiskId":{ - "shape":"DiskId", - "documentation":"

The ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

" - }, - "SourceSnapshotId":{ - "shape":"SnapshotId", - "documentation":"

If the stored volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.

" - }, - "PreservedExistingData":{ - "shape":"boolean", - "documentation":"

Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

Valid Values: true, false

" - }, - "VolumeiSCSIAttributes":{ - "shape":"VolumeiSCSIAttributes", - "documentation":"

An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

" - }, - "CreatedDate":{ - "shape":"CreatedDate", - "documentation":"

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

" - }, - "VolumeUsedInBytes":{ - "shape":"VolumeUsedInBytes", - "documentation":"

The size of the data stored on the volume in bytes.

This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

" - }, - "KMSKey":{"shape":"KMSKey"} - }, - "documentation":"

Describes an iSCSI stored volume.

" - }, - "StorediSCSIVolumes":{ - "type":"list", - "member":{"shape":"StorediSCSIVolume"} - }, - "Tag":{ - "type":"structure", - "required":[ - "Key", - "Value" - ], - "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - }, - "TagKeys":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "TagValue":{ - "type":"string", - "max":256 - }, - "Tags":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "Tape":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape.

" - }, - "TapeBarcode":{ - "shape":"TapeBarcode", - "documentation":"

The barcode that identifies a specific virtual tape.

" - }, - "TapeCreatedDate":{ - "shape":"Time", - "documentation":"

The date the virtual tape was created.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of the virtual tape capacity.

" - }, - "TapeStatus":{ - "shape":"TapeStatus", - "documentation":"

The current state of the virtual tape.

" - }, - "VTLDevice":{ - "shape":"VTLDeviceARN", - "documentation":"

The virtual tape library (VTL) device that the virtual tape is associated with.

" - }, - "Progress":{ - "shape":"DoubleObject", - "documentation":"

For archiving virtual tapes, indicates how much data remains to be uploaded before archiving is complete.

Range: 0 (not started) to 100 (complete).

" - }, - "TapeUsedInBytes":{ - "shape":"TapeUsage", - "documentation":"

The size, in bytes, of data stored on the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

" - }, - "KMSKey":{"shape":"KMSKey"} - }, - "documentation":"

Describes a virtual tape object.

" - }, - "TapeARN":{ - "type":"string", - "max":500, - "min":50, - "pattern":"^arn:(aws|aws-cn|aws-us-gov):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{7,16}$" - }, - "TapeARNs":{ - "type":"list", - "member":{"shape":"TapeARN"}, - "documentation":"

The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.

" - }, - "TapeArchive":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of an archived virtual tape.

" - }, - "TapeBarcode":{ - "shape":"TapeBarcode", - "documentation":"

The barcode that identifies the archived virtual tape.

" - }, - "TapeCreatedDate":{ - "shape":"Time", - "documentation":"

The date the virtual tape was created.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of the archived virtual tape.

" - }, - "CompletionTime":{ - "shape":"Time", - "documentation":"

The time that the archiving of the virtual tape was completed.

The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

" - }, - "RetrievedTo":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being retrieved to.

The virtual tape is retrieved from the virtual tape shelf (VTS).

" - }, - "TapeStatus":{ - "shape":"TapeArchiveStatus", - "documentation":"

The current state of the archived virtual tape.

" - }, - "TapeUsedInBytes":{ - "shape":"TapeUsage", - "documentation":"

The size, in bytes, of data stored on the virtual tape.

This value is not available for tapes created prior to May 13, 2015.

" - }, - "KMSKey":{"shape":"KMSKey"} - }, - "documentation":"

Represents a virtual tape that is archived in the virtual tape shelf (VTS).

" - }, - "TapeArchiveStatus":{"type":"string"}, - "TapeArchives":{ - "type":"list", - "member":{"shape":"TapeArchive"} - }, - "TapeBarcode":{ - "type":"string", - "max":16, - "min":7, - "pattern":"^[A-Z0-9]*$" - }, - "TapeBarcodePrefix":{ - "type":"string", - "max":4, - "min":1, - "pattern":"^[A-Z]*$" - }, - "TapeDriveType":{ - "type":"string", - "max":50, - "min":2 - }, - "TapeInfo":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of a virtual tape.

" - }, - "TapeBarcode":{ - "shape":"TapeBarcode", - "documentation":"

The barcode that identifies a specific virtual tape.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of a virtual tape.

" - }, - "TapeStatus":{ - "shape":"TapeStatus", - "documentation":"

The status of the tape.

" - }, - "GatewayARN":{ - "shape":"GatewayARN", - "documentation":"

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

" - } - }, - "documentation":"

Describes a virtual tape.

" - }, - "TapeInfos":{ - "type":"list", - "member":{"shape":"TapeInfo"}, - "documentation":"

An array of TapeInfo objects, where each object describes an a single tape. If there not tapes in the tape library or VTS, then the TapeInfos is an empty array.

" - }, - "TapeRecoveryPointInfo":{ - "type":"structure", - "members":{ - "TapeARN":{ - "shape":"TapeARN", - "documentation":"

The Amazon Resource Name (ARN) of the virtual tape.

" - }, - "TapeRecoveryPointTime":{ - "shape":"Time", - "documentation":"

The time when the point-in-time view of the virtual tape was replicated for later recovery.

The default time stamp format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

" - }, - "TapeSizeInBytes":{ - "shape":"TapeSize", - "documentation":"

The size, in bytes, of the virtual tapes to recover.

" - }, - "TapeStatus":{"shape":"TapeRecoveryPointStatus"} - }, - "documentation":"

Describes a recovery point.

" - }, - "TapeRecoveryPointInfos":{ - "type":"list", - "member":{"shape":"TapeRecoveryPointInfo"} - }, - "TapeRecoveryPointStatus":{"type":"string"}, - "TapeSize":{"type":"long"}, - "TapeStatus":{"type":"string"}, - "TapeUsage":{"type":"long"}, - "Tapes":{ - "type":"list", - "member":{"shape":"Tape"} - }, - "TargetARN":{ - "type":"string", - "max":800, - "min":50 - }, - "TargetName":{ - "type":"string", - "max":200, - "min":1, - "pattern":"^[-\\.;a-z0-9]+$" - }, - "Time":{"type":"timestamp"}, - "UpdateBandwidthRateLimitInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "AverageUploadRateLimitInBitsPerSec":{ - "shape":"BandwidthUploadRateLimit", - "documentation":"

The average upload bandwidth rate limit in bits per second.

" - }, - "AverageDownloadRateLimitInBitsPerSec":{ - "shape":"BandwidthDownloadRateLimit", - "documentation":"

The average download bandwidth rate limit in bits per second.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "UpdateBandwidthRateLimitOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway whose throttle information was updated.

" - }, - "UpdateChapCredentialsInput":{ - "type":"structure", - "required":[ - "TargetARN", - "SecretToAuthenticateInitiator", - "InitiatorName" - ], - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified VolumeARN.

" - }, - "SecretToAuthenticateInitiator":{ - "shape":"ChapSecret", - "documentation":"

The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

The secret key must be between 12 and 16 bytes when encoded in UTF-8.

" - }, - "InitiatorName":{ - "shape":"IqnName", - "documentation":"

The iSCSI initiator that connects to the target.

" - }, - "SecretToAuthenticateTarget":{ - "shape":"ChapSecret", - "documentation":"

The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

Byte constraints: Minimum bytes of 12. Maximum bytes of 16.

The secret key must be between 12 and 16 bytes when encoded in UTF-8.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "UpdateChapCredentialsOutput":{ - "type":"structure", - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the target. This is the same target specified in the request.

" - }, - "InitiatorName":{ - "shape":"IqnName", - "documentation":"

The iSCSI initiator that connects to the target. This is the same initiator name specified in the request.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "UpdateGatewayInformationInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "GatewayName":{"shape":"GatewayName"}, - "GatewayTimezone":{"shape":"GatewayTimezone"} - } - }, - "UpdateGatewayInformationOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "GatewayName":{"shape":"string"} - }, - "documentation":"

A JSON object containing the ARN of the gateway that was updated.

" - }, - "UpdateGatewaySoftwareNowInput":{ - "type":"structure", - "required":["GatewayARN"], - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway to update.

" - }, - "UpdateGatewaySoftwareNowOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway that was updated.

" - }, - "UpdateMaintenanceStartTimeInput":{ - "type":"structure", - "required":[ - "GatewayARN", - "HourOfDay", - "MinuteOfHour", - "DayOfWeek" - ], - "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "HourOfDay":{ - "shape":"HourOfDay", - "documentation":"

The hour component of the maintenance start time represented as hh, where hh is the hour (00 to 23). The hour of the day is in the time zone of the gateway.

" - }, - "MinuteOfHour":{ - "shape":"MinuteOfHour", - "documentation":"

The minute component of the maintenance start time represented as mm, where mm is the minute (00 to 59). The minute of the hour is in the time zone of the gateway.

" - }, - "DayOfWeek":{ - "shape":"DayOfWeek", - "documentation":"

The maintenance start time day of the week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

" - } - }, - "documentation":"

A JSON object containing the following fields:

" - }, - "UpdateMaintenanceStartTimeOutput":{ - "type":"structure", - "members":{ - "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

A JSON object containing the of the gateway whose maintenance start time is updated.

" - }, - "UpdateNFSFileShareInput":{ - "type":"structure", - "required":["FileShareARN"], - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the file share to be updated.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - }, - "NFSFileShareDefaults":{ - "shape":"NFSFileShareDefaults", - "documentation":"

The default values for the file share. Optional.

" - }, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{ - "shape":"ObjectACL", - "documentation":"

A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

" - }, - "ClientList":{ - "shape":"FileShareClientList", - "documentation":"

The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

" - }, - "Squash":{ - "shape":"Squash", - "documentation":"

The user mapped to anonymous user. Valid options are the following:

  • RootSquash - Only root is mapped to anonymous user.

  • NoSquash - No one is mapped to anonymous user

  • AllSquash - Everyone is mapped to anonymous user.

" - }, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - } - }, - "documentation":"

UpdateNFSFileShareInput

" - }, - "UpdateNFSFileShareOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the updated file share.

" - } - }, - "documentation":"

UpdateNFSFileShareOutput

" - }, - "UpdateSMBFileShareInput":{ - "type":"structure", - "required":["FileShareARN"], - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the SMB file share that you want to update.

" - }, - "KMSEncrypted":{ - "shape":"Boolean", - "documentation":"

True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

" - }, - "KMSKey":{ - "shape":"KMSKey", - "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server side encryption. This value can only be set when KMSEncrypted is true. Optional.

" - }, - "DefaultStorageClass":{ - "shape":"StorageClass", - "documentation":"

The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

" - }, - "ObjectACL":{ - "shape":"ObjectACL", - "documentation":"

A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

" - }, - "ReadOnly":{ - "shape":"Boolean", - "documentation":"

A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

" - }, - "GuessMIMETypeEnabled":{ - "shape":"Boolean", - "documentation":"

A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

" - }, - "RequesterPays":{ - "shape":"Boolean", - "documentation":"

A value that sets the access control list permission for objects in the Amazon S3 bucket that a file gateway puts objects into. The default value is private.

" - }, - "ValidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - }, - "InvalidUserList":{ - "shape":"FileShareUserList", - "documentation":"

A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

" - } - }, - "documentation":"

UpdateSMBFileShareInput

" - }, - "UpdateSMBFileShareOutput":{ - "type":"structure", - "members":{ - "FileShareARN":{ - "shape":"FileShareARN", - "documentation":"

The Amazon Resource Name (ARN) of the updated SMB file share.

" - } - }, - "documentation":"

UpdateSMBFileShareOutput

" - }, - "UpdateSnapshotScheduleInput":{ - "type":"structure", - "required":[ - "VolumeARN", - "StartAt", - "RecurrenceInHours" - ], - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

" - }, - "StartAt":{ - "shape":"HourOfDay", - "documentation":"

The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

" - }, - "RecurrenceInHours":{ - "shape":"RecurrenceInHours", - "documentation":"

Frequency of snapshots. Specify the number of hours between snapshots.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

Optional description of the snapshot that overwrites the existing description.

" - } - }, - "documentation":"

A JSON object containing one or more of the following fields:

" - }, - "UpdateSnapshotScheduleOutput":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

" - } - }, - "documentation":"

A JSON object containing the of the updated storage volume.

" - }, - "UpdateVTLDeviceTypeInput":{ - "type":"structure", - "required":[ - "VTLDeviceARN", - "DeviceType" - ], - "members":{ - "VTLDeviceARN":{ - "shape":"VTLDeviceARN", - "documentation":"

The Amazon Resource Name (ARN) of the medium changer you want to select.

" - }, - "DeviceType":{ - "shape":"DeviceType", - "documentation":"

The type of medium changer you want to select.

Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

" - } - } - }, - "UpdateVTLDeviceTypeOutput":{ - "type":"structure", - "members":{ - "VTLDeviceARN":{ - "shape":"VTLDeviceARN", - "documentation":"

The Amazon Resource Name (ARN) of the medium changer you have selected.

" - } - }, - "documentation":"

UpdateVTLDeviceTypeOutput

" - }, - "VTLDevice":{ - "type":"structure", - "members":{ - "VTLDeviceARN":{ - "shape":"VTLDeviceARN", - "documentation":"

Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or media changer).

" - }, - "VTLDeviceType":{"shape":"VTLDeviceType"}, - "VTLDeviceVendor":{"shape":"VTLDeviceVendor"}, - "VTLDeviceProductIdentifier":{"shape":"VTLDeviceProductIdentifier"}, - "DeviceiSCSIAttributes":{ - "shape":"DeviceiSCSIAttributes", - "documentation":"

A list of iSCSI information about a VTL device.

" - } - }, - "documentation":"

Represents a device object associated with a tape gateway.

" - }, - "VTLDeviceARN":{ - "type":"string", - "max":500, - "min":50 - }, - "VTLDeviceARNs":{ - "type":"list", - "member":{"shape":"VTLDeviceARN"} - }, - "VTLDeviceProductIdentifier":{"type":"string"}, - "VTLDeviceType":{"type":"string"}, - "VTLDeviceVendor":{"type":"string"}, - "VTLDevices":{ - "type":"list", - "member":{"shape":"VTLDevice"} - }, - "VolumeARN":{ - "type":"string", - "max":500, - "min":50 - }, - "VolumeARNs":{ - "type":"list", - "member":{"shape":"VolumeARN"} - }, - "VolumeId":{ - "type":"string", - "max":30, - "min":12 - }, - "VolumeInfo":{ - "type":"structure", - "members":{ - "VolumeARN":{ - "shape":"VolumeARN", - "documentation":"

The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:

arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" - }, - "VolumeId":{ - "shape":"VolumeId", - "documentation":"

The unique identifier assigned to the volume. This ID becomes part of the volume Amazon Resource Name (ARN), which you use as input for other operations.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" - }, - "GatewayARN":{"shape":"GatewayARN"}, - "GatewayId":{ - "shape":"GatewayId", - "documentation":"

The unique identifier assigned to your gateway during activation. This ID becomes part of the gateway Amazon Resource Name (ARN), which you use as input for other operations.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" - }, - "VolumeType":{"shape":"VolumeType"}, - "VolumeSizeInBytes":{ - "shape":"long", - "documentation":"

The size of the volume in bytes.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" - } - }, - "documentation":"

Describes a storage volume object.

" - }, - "VolumeInfos":{ - "type":"list", - "member":{"shape":"VolumeInfo"} - }, - "VolumeRecoveryPointInfo":{ - "type":"structure", - "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeSizeInBytes":{"shape":"long"}, - "VolumeUsageInBytes":{"shape":"long"}, - "VolumeRecoveryPointTime":{"shape":"string"} - } - }, - "VolumeRecoveryPointInfos":{ - "type":"list", - "member":{"shape":"VolumeRecoveryPointInfo"} - }, - "VolumeStatus":{ - "type":"string", - "max":50, - "min":3 - }, - "VolumeType":{ - "type":"string", - "max":100, - "min":3 - }, - "VolumeUsedInBytes":{"type":"long"}, - "VolumeiSCSIAttributes":{ - "type":"structure", - "members":{ - "TargetARN":{ - "shape":"TargetARN", - "documentation":"

The Amazon Resource Name (ARN) of the volume target.

" - }, - "NetworkInterfaceId":{ - "shape":"NetworkInterfaceId", - "documentation":"

The network interface identifier.

" - }, - "NetworkInterfacePort":{ - "shape":"integer", - "documentation":"

The port used to communicate with iSCSI targets.

" - }, - "LunNumber":{ - "shape":"PositiveIntObject", - "documentation":"

The logical disk number.

" - }, - "ChapEnabled":{ - "shape":"boolean", - "documentation":"

Indicates whether mutual CHAP is enabled for the iSCSI target.

" - } - }, - "documentation":"

Lists iSCSI information about a volume.

" - }, - "boolean":{"type":"boolean"}, - "double":{"type":"double"}, - "errorDetails":{ - "type":"map", - "key":{"shape":"string"}, - "value":{"shape":"string"} - }, - "integer":{"type":"integer"}, - "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-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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/examples-1.json deleted file mode 100644 index 84442a10..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/examples-1.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/service-2.json deleted file mode 100644 index 4be790cf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/sts/2011-06-15/service-2.json +++ /dev/null @@ -1,723 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2011-06-15", - "endpointPrefix":"sts", - "globalEndpoint":"sts.amazonaws.com", - "protocol":"query", - "serviceAbbreviation":"AWS STS", - "serviceFullName":"AWS Security Token Service", - "serviceId":"STS", - "signatureVersion":"v4", - "uid":"sts-2011-06-15", - "xmlNamespace":"https://sts.amazonaws.com/doc/2011-06-15/" - }, - "operations":{ - "AssumeRole":{ - "name":"AssumeRole", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssumeRoleRequest"}, - "output":{ - "shape":"AssumeRoleResponse", - "resultWrapper":"AssumeRoleResult" - }, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"PackedPolicyTooLargeException"}, - {"shape":"RegionDisabledException"} - ], - "documentation":"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy. In this case, the trust policy acts as the only resource-based policy in IAM, and users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

Using MFA with AssumeRole

You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

\"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

" - }, - "AssumeRoleWithSAML":{ - "name":"AssumeRoleWithSAML", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssumeRoleWithSAMLRequest"}, - "output":{ - "shape":"AssumeRoleWithSAMLResponse", - "resultWrapper":"AssumeRoleWithSAMLResult" - }, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"PackedPolicyTooLargeException"}, - {"shape":"IDPRejectedClaimException"}, - {"shape":"InvalidIdentityTokenException"}, - {"shape":"ExpiredTokenException"}, - {"shape":"RegionDisabledException"} - ], - "documentation":"

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

" - }, - "AssumeRoleWithWebIdentity":{ - "name":"AssumeRoleWithWebIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssumeRoleWithWebIdentityRequest"}, - "output":{ - "shape":"AssumeRoleWithWebIdentityResponse", - "resultWrapper":"AssumeRoleWithWebIdentityResult" - }, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"PackedPolicyTooLargeException"}, - {"shape":"IDPRejectedClaimException"}, - {"shape":"IDPCommunicationErrorException"}, - {"shape":"InvalidIdentityTokenException"}, - {"shape":"ExpiredTokenException"}, - {"shape":"RegionDisabledException"} - ], - "documentation":"

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

" - }, - "DecodeAuthorizationMessage":{ - "name":"DecodeAuthorizationMessage", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DecodeAuthorizationMessageRequest"}, - "output":{ - "shape":"DecodeAuthorizationMessageResponse", - "resultWrapper":"DecodeAuthorizationMessageResult" - }, - "errors":[ - {"shape":"InvalidAuthorizationMessageException"} - ], - "documentation":"

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an action that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS actions additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS actions return an encoded authorization message. The documentation for an individual action indicates whether that action returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the action should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

" - }, - "GetCallerIdentity":{ - "name":"GetCallerIdentity", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetCallerIdentityRequest"}, - "output":{ - "shape":"GetCallerIdentityResponse", - "resultWrapper":"GetCallerIdentityResult" - }, - "documentation":"

Returns details about the IAM identity whose credentials are used to call the API.

" - }, - "GetFederationToken":{ - "name":"GetFederationToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetFederationTokenRequest"}, - "output":{ - "shape":"GetFederationTokenResponse", - "resultWrapper":"GetFederationTokenResult" - }, - "errors":[ - {"shape":"MalformedPolicyDocumentException"}, - {"shape":"PackedPolicyTooLargeException"}, - {"shape":"RegionDisabledException"} - ], - "documentation":"

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. Because you must call the GetFederationToken action using the long-term security credentials of an IAM user, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

If you are creating a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

The GetFederationToken action must be called by using the long-term AWS security credentials of an IAM user. You can also call GetFederationToken using the security credentials of an AWS root account, but we do not recommended it. Instead, we recommend that you create an IAM user for the purpose of the proxy application and then attach a policy to the IAM user that limits federated users to only the actions and resources that they need access to. For more information, see IAM Best Practices in the IAM User Guide.

The temporary security credentials that are obtained by using the long-term credentials of an IAM user are valid for the specified duration, from 900 seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default is 43200 seconds (12 hours). Temporary credentials that are obtained by using AWS root account credentials have a maximum duration of 3600 seconds (1 hour).

The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot use these credentials to call any IAM APIs.

  • You cannot call any STS APIs except GetCallerIdentity.

Permissions

The permissions for the temporary security credentials returned by GetFederationToken are determined by a combination of the following:

  • The policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken.

  • The policy that is passed as a parameter in the call.

The passed policy is attached to the temporary security credentials that result from the GetFederationToken API call--that is, to the federated user. When the federated user makes an AWS request, AWS evaluates the policy attached to the federated user in combination with the policy or policies attached to the IAM user whose credentials were used to call GetFederationToken. AWS allows the federated user's request only when both the federated user and the IAM user are explicitly allowed to perform the requested action. The passed policy cannot grant more permissions than those that are defined in the IAM user policy.

A typical use case is that the permissions of the IAM user whose credentials are used to call GetFederationToken are designed to allow access to all the actions and resources that any federated user will need. Then, for individual users, you pass a policy to the operation that scopes down the permissions to a level that's appropriate to that individual user, using a policy that allows only a subset of permissions that are granted to the IAM user.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

For more information about how permissions work, see Permissions for GetFederationToken. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

" - }, - "GetSessionToken":{ - "name":"GetSessionToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSessionTokenRequest"}, - "output":{ - "shape":"GetSessionTokenResponse", - "resultWrapper":"GetSessionTokenResult" - }, - "errors":[ - {"shape":"RegionDisabledException"} - ], - "documentation":"

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to APIs that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The GetSessionToken action must be called by using the long-term AWS security credentials of the AWS account or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify, from 900 seconds (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default of 43200 seconds (12 hours); credentials that are created by using account credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 seconds (1 hour), with a default of 1 hour.

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM APIs unless MFA authentication information is included in the request.

  • You cannot call any STS API except AssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with root account credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The permissions associated with the temporary security credentials returned by GetSessionToken are based on the permissions associated with account or IAM user whose credentials are used to call the action. If GetSessionToken is called using root account credentials, the temporary credentials have root account permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

" - } - }, - "shapes":{ - "AssumeRoleRequest":{ - "type":"structure", - "required":[ - "RoleArn", - "RoleSessionName" - ], - "members":{ - "RoleArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the role to assume.

" - }, - "RoleSessionName":{ - "shape":"roleSessionNameType", - "documentation":"

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests using the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" - }, - "Policy":{ - "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

This parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both (the intersection of) the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" - }, - "DurationSeconds":{ - "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" - }, - "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: =,.@:/-

" - }, - "SerialNumber":{ - "shape":"serialNumberType", - "documentation":"

The identification number of the MFA device that is associated with the user who is making the AssumeRole call. Specify this value if the trust policy of the role being assumed includes a condition that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" - }, - "TokenCode":{ - "shape":"tokenCodeType", - "documentation":"

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA (that is, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an \"access denied\" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

" - } - } - }, - "AssumeRoleResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" - }, - "AssumedRoleUser":{ - "shape":"AssumedRoleUser", - "documentation":"

The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the resulting temporary security credentials. For example, you can reference these credentials as a principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName that you specified when you called AssumeRole.

" - }, - "PackedPolicySize":{ - "shape":"nonNegativeIntegerType", - "documentation":"

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

" - } - }, - "documentation":"

Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.

" - }, - "AssumeRoleWithSAMLRequest":{ - "type":"structure", - "required":[ - "RoleArn", - "PrincipalArn", - "SAMLAssertion" - ], - "members":{ - "RoleArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the role that the caller is assuming.

" - }, - "PrincipalArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

" - }, - "SAMLAssertion":{ - "shape":"SAMLAssertionType", - "documentation":"

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the Using IAM guide.

" - }, - "Policy":{ - "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" - }, - "DurationSeconds":{ - "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" - } - } - }, - "AssumeRoleWithSAMLResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" - }, - "AssumedRoleUser":{ - "shape":"AssumedRoleUser", - "documentation":"

The identifiers for the temporary security credentials that the operation returns.

" - }, - "PackedPolicySize":{ - "shape":"nonNegativeIntegerType", - "documentation":"

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

" - }, - "Subject":{ - "shape":"Subject", - "documentation":"

The value of the NameID element in the Subject element of the SAML assertion.

" - }, - "SubjectType":{ - "shape":"SubjectType", - "documentation":"

The format of the name ID, as defined by the Format attribute in the NameID element of the SAML assertion. Typical examples of the format are transient or persistent.

If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format, that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient is returned as transient. If the format includes any other prefix, the format is returned with no modifications.

" - }, - "Issuer":{ - "shape":"Issuer", - "documentation":"

The value of the Issuer element of the SAML assertion.

" - }, - "Audience":{ - "shape":"Audience", - "documentation":"

The value of the Recipient attribute of the SubjectConfirmationData element of the SAML assertion.

" - }, - "NameQualifier":{ - "shape":"NameQualifier", - "documentation":"

A hash value based on the concatenation of the Issuer response value, the AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider in IAM. The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( \"https://example.com/saml\" + \"123456789012\" + \"/MySAMLIdP\" ) )

" - } - }, - "documentation":"

Contains the response to a successful AssumeRoleWithSAML request, including temporary AWS credentials that can be used to make AWS requests.

" - }, - "AssumeRoleWithWebIdentityRequest":{ - "type":"structure", - "required":[ - "RoleArn", - "RoleSessionName", - "WebIdentityToken" - ], - "members":{ - "RoleArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the role that the caller is assuming.

" - }, - "RoleSessionName":{ - "shape":"roleSessionNameType", - "documentation":"

An identifier for the assumed role session. Typically, you pass the name or identifier that is associated with the user who is using your application. That way, the temporary security credentials that your application will use are associated with that user. This session name is included as part of the ARN and assumed role ID in the AssumedRoleUser response element.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" - }, - "WebIdentityToken":{ - "shape":"clientTokenType", - "documentation":"

The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity provider. Your application must get this token by authenticating the user who is using your application with a web identity provider before the application makes an AssumeRoleWithWebIdentity call.

" - }, - "ProviderId":{ - "shape":"urlType", - "documentation":"

The fully qualified host component of the domain name of the identity provider.

Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com and graph.facebook.com are the only supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port numbers.

Do not specify this value for OpenID Connect ID tokens.

" - }, - "Policy":{ - "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

" - }, - "DurationSeconds":{ - "shape":"roleDurationSecondsType", - "documentation":"

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

By default, the value is set to 3600 seconds.

The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

" - } - } - }, - "AssumeRoleWithWebIdentityResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" - }, - "SubjectFromWebIdentityToken":{ - "shape":"webIdentitySubjectType", - "documentation":"

The unique user identifier that is returned by the identity provider. This identifier is associated with the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The identifier is typically unique to the user and the application that acquired the WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity provider as the token's sub (Subject) claim.

" - }, - "AssumedRoleUser":{ - "shape":"AssumedRoleUser", - "documentation":"

The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the resulting temporary security credentials. For example, you can reference these credentials as a principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName that you specified when you called AssumeRole.

" - }, - "PackedPolicySize":{ - "shape":"nonNegativeIntegerType", - "documentation":"

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

" - }, - "Provider":{ - "shape":"Issuer", - "documentation":"

The issuing authority of the web identity token presented. For OpenID Connect ID Tokens this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

" - }, - "Audience":{ - "shape":"Audience", - "documentation":"

The intended audience (also known as client ID) of the web identity token. This is traditionally the client identifier issued to the application that requested the web identity token.

" - } - }, - "documentation":"

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary AWS credentials that can be used to make AWS requests.

" - }, - "AssumedRoleUser":{ - "type":"structure", - "required":[ - "AssumedRoleId", - "Arn" - ], - "members":{ - "AssumedRoleId":{ - "shape":"assumedRoleIdType", - "documentation":"

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by AWS when the role is created.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" - } - }, - "documentation":"

The identifiers for the temporary security credentials that the operation returns.

" - }, - "Audience":{"type":"string"}, - "Credentials":{ - "type":"structure", - "required":[ - "AccessKeyId", - "SecretAccessKey", - "SessionToken", - "Expiration" - ], - "members":{ - "AccessKeyId":{ - "shape":"accessKeyIdType", - "documentation":"

The access key ID that identifies the temporary security credentials.

" - }, - "SecretAccessKey":{ - "shape":"accessKeySecretType", - "documentation":"

The secret access key that can be used to sign requests.

" - }, - "SessionToken":{ - "shape":"tokenType", - "documentation":"

The token that users must pass to the service API to use the temporary credentials.

" - }, - "Expiration":{ - "shape":"dateType", - "documentation":"

The date on which the current credentials expire.

" - } - }, - "documentation":"

AWS credentials for API authentication.

" - }, - "DecodeAuthorizationMessageRequest":{ - "type":"structure", - "required":["EncodedMessage"], - "members":{ - "EncodedMessage":{ - "shape":"encodedMessageType", - "documentation":"

The encoded message that was returned with the response.

" - } - } - }, - "DecodeAuthorizationMessageResponse":{ - "type":"structure", - "members":{ - "DecodedMessage":{ - "shape":"decodedMessageType", - "documentation":"

An XML document that contains the decoded message.

" - } - }, - "documentation":"

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an AWS request.

" - }, - "ExpiredTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"expiredIdentityTokenMessage"} - }, - "documentation":"

The web identity token that was passed is expired or is not valid. Get a new identity token from the identity provider and then retry the request.

", - "error":{ - "code":"ExpiredTokenException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "FederatedUser":{ - "type":"structure", - "required":[ - "FederatedUserId", - "Arn" - ], - "members":{ - "FederatedUserId":{ - "shape":"federatedIdType", - "documentation":"

The string that identifies the federated user associated with the credentials, similar to the unique ID of an IAM user.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

" - } - }, - "documentation":"

Identifiers for the federated user that is associated with the credentials.

" - }, - "GetCallerIdentityRequest":{ - "type":"structure", - "members":{ - } - }, - "GetCallerIdentityResponse":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"userIdType", - "documentation":"

The unique identifier of the calling entity. The exact value depends on the type of entity making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

" - }, - "Account":{ - "shape":"accountType", - "documentation":"

The AWS account ID number of the account that owns or contains the calling entity.

" - }, - "Arn":{ - "shape":"arnType", - "documentation":"

The AWS ARN associated with the calling entity.

" - } - }, - "documentation":"

Contains the response to a successful GetCallerIdentity request, including information about the entity making the request.

" - }, - "GetFederationTokenRequest":{ - "type":"structure", - "required":["Name"], - "members":{ - "Name":{ - "shape":"userNameType", - "documentation":"

The name of the federated user. The name is used as an identifier for the temporary security credentials (such as Bob). For example, you can reference the federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

" - }, - "Policy":{ - "shape":"sessionPolicyDocumentType", - "documentation":"

An IAM policy in JSON format that is passed with the GetFederationToken call and evaluated along with the policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken. The passed policy is used to scope down the permissions that are available to the IAM user, by allowing only a subset of the permissions that are granted to the IAM user. The passed policy cannot grant more permissions than those granted to the IAM user. The final permissions for the federated user are the most restrictive set based on the intersection of the passed policy and the IAM user policy.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

For more information about how permissions work, see Permissions for GetFederationToken.

" - }, - "DurationSeconds":{ - "shape":"durationSecondsType", - "documentation":"

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained using AWS account (root) credentials are restricted to a maximum of 3600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using AWS account (root) credentials defaults to one hour.

" - } - } - }, - "GetFederationTokenResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" - }, - "FederatedUser":{ - "shape":"FederatedUser", - "documentation":"

Identifiers for the federated user associated with the credentials (such as arn:aws:sts::123456789012:federated-user/Bob or 123456789012:Bob). You can use the federated user's ARN in your resource-based policies, such as an Amazon S3 bucket policy.

" - }, - "PackedPolicySize":{ - "shape":"nonNegativeIntegerType", - "documentation":"

A percentage value indicating the size of the policy in packed form. The service rejects policies for which the packed size is greater than 100 percent of the allowed value.

" - } - }, - "documentation":"

Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.

" - }, - "GetSessionTokenRequest":{ - "type":"structure", - "members":{ - "DurationSeconds":{ - "shape":"durationSecondsType", - "documentation":"

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

" - }, - "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 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", - "documentation":"

The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, and the user does not provide a code when requesting a set of temporary security credentials, the user will receive an \"access denied\" response when requesting resources that require MFA authentication.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

" - } - } - }, - "GetSessionTokenResponse":{ - "type":"structure", - "members":{ - "Credentials":{ - "shape":"Credentials", - "documentation":"

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

" - } - }, - "documentation":"

Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

" - }, - "IDPCommunicationErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"idpCommunicationErrorMessage"} - }, - "documentation":"

The request could not be fulfilled because the non-AWS identity provider (IDP) that was asked to verify the incoming identity token could not be reached. This is often a transient error caused by network conditions. Retry the request a limited number of times so that you don't exceed the request rate. If the error persists, the non-AWS identity provider might be down or not responding.

", - "error":{ - "code":"IDPCommunicationError", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "IDPRejectedClaimException":{ - "type":"structure", - "members":{ - "message":{"shape":"idpRejectedClaimMessage"} - }, - "documentation":"

The identity provider (IdP) reported that authentication failed. This might be because the claim is invalid.

If this error is returned for the AssumeRoleWithWebIdentity operation, it can also mean that the claim has expired or has been explicitly revoked.

", - "error":{ - "code":"IDPRejectedClaim", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "InvalidAuthorizationMessageException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidAuthorizationMessage"} - }, - "documentation":"

The error returned if the message passed to DecodeAuthorizationMessage was invalid. This can happen if the token contains invalid characters, such as linebreaks.

", - "error":{ - "code":"InvalidAuthorizationMessageException", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "InvalidIdentityTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"invalidIdentityTokenMessage"} - }, - "documentation":"

The web identity token that was passed could not be validated by AWS. Get a new identity token from the identity provider and then retry the request.

", - "error":{ - "code":"InvalidIdentityToken", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "Issuer":{"type":"string"}, - "MalformedPolicyDocumentException":{ - "type":"structure", - "members":{ - "message":{"shape":"malformedPolicyDocumentMessage"} - }, - "documentation":"

The request was rejected because the policy document was malformed. The error message describes the specific error.

", - "error":{ - "code":"MalformedPolicyDocument", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "NameQualifier":{"type":"string"}, - "PackedPolicyTooLargeException":{ - "type":"structure", - "members":{ - "message":{"shape":"packedPolicyTooLargeMessage"} - }, - "documentation":"

The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.

", - "error":{ - "code":"PackedPolicyTooLarge", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "RegionDisabledException":{ - "type":"structure", - "members":{ - "message":{"shape":"regionDisabledMessage"} - }, - "documentation":"

STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

", - "error":{ - "code":"RegionDisabledException", - "httpStatusCode":403, - "senderFault":true - }, - "exception":true - }, - "SAMLAssertionType":{ - "type":"string", - "max":100000, - "min":4 - }, - "Subject":{"type":"string"}, - "SubjectType":{"type":"string"}, - "accessKeyIdType":{ - "type":"string", - "max":128, - "min":16, - "pattern":"[\\w]*" - }, - "accessKeySecretType":{"type":"string"}, - "accountType":{"type":"string"}, - "arnType":{ - "type":"string", - "max":2048, - "min":20, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]+" - }, - "assumedRoleIdType":{ - "type":"string", - "max":193, - "min":2, - "pattern":"[\\w+=,.@:-]*" - }, - "clientTokenType":{ - "type":"string", - "max":2048, - "min":4 - }, - "dateType":{"type":"timestamp"}, - "decodedMessageType":{"type":"string"}, - "durationSecondsType":{ - "type":"integer", - "max":129600, - "min":900 - }, - "encodedMessageType":{ - "type":"string", - "max":10240, - "min":1 - }, - "expiredIdentityTokenMessage":{"type":"string"}, - "externalIdType":{ - "type":"string", - "max":1224, - "min":2, - "pattern":"[\\w+=,.@:\\/-]*" - }, - "federatedIdType":{ - "type":"string", - "max":193, - "min":2, - "pattern":"[\\w+=,.@\\:-]*" - }, - "idpCommunicationErrorMessage":{"type":"string"}, - "idpRejectedClaimMessage":{"type":"string"}, - "invalidAuthorizationMessage":{"type":"string"}, - "invalidIdentityTokenMessage":{"type":"string"}, - "malformedPolicyDocumentMessage":{"type":"string"}, - "nonNegativeIntegerType":{ - "type":"integer", - "min":0 - }, - "packedPolicyTooLargeMessage":{"type":"string"}, - "regionDisabledMessage":{"type":"string"}, - "roleDurationSecondsType":{ - "type":"integer", - "max":43200, - "min":900 - }, - "roleSessionNameType":{ - "type":"string", - "max":64, - "min":2, - "pattern":"[\\w+=,.@-]*" - }, - "serialNumberType":{ - "type":"string", - "max":256, - "min":9, - "pattern":"[\\w+=/:,.@-]*" - }, - "sessionPolicyDocumentType":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" - }, - "tokenCodeType":{ - "type":"string", - "max":6, - "min":6, - "pattern":"[\\d]*" - }, - "tokenType":{"type":"string"}, - "urlType":{ - "type":"string", - "max":2048, - "min":4 - }, - "userIdType":{"type":"string"}, - "userNameType":{ - "type":"string", - "max":32, - "min":2, - "pattern":"[\\w+=,.@-]*" - }, - "webIdentitySubjectType":{ - "type":"string", - "max":255, - "min":6 - } - }, - "documentation":"AWS Security Token Service

The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to STS. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

Endpoints

The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com that maps to the US East (N. Virginia) region. Additional regions are available and are activated by default. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

For information about STS endpoints, see Regions and Endpoints in the AWS General Reference.

Recording API requests

STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/paginators-1.json deleted file mode 100644 index 11bdb62c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/paginators-1.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "pagination": { - "DescribeCases": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "cases" - }, - "DescribeCommunications": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "communications" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/service-2.json deleted file mode 100644 index e86bf787..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/support/2013-04-15/service-2.json +++ /dev/null @@ -1,1221 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "uid":"support-2013-04-15", - "apiVersion":"2013-04-15", - "endpointPrefix":"support", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"AWS Support", - "serviceId":"Support", - "signatureVersion":"v4", - "targetPrefix":"AWSSupport_20130415" - }, - "operations":{ - "AddAttachmentsToSet":{ - "name":"AddAttachmentsToSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddAttachmentsToSetRequest"}, - "output":{"shape":"AddAttachmentsToSetResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"AttachmentSetIdNotFound"}, - {"shape":"AttachmentSetExpired"}, - {"shape":"AttachmentSetSizeLimitExceeded"}, - {"shape":"AttachmentLimitExceeded"} - ], - "documentation":"

Adds one or more attachments to an attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists.

An attachment set is a temporary container for attachments that are to be added to a case or case communication. The set is available for one hour after it is created; the expiryTime returned in the response indicates when the set expires. The maximum number of attachments in a set is 3, and the maximum size of any attachment in the set is 5 MB.

" - }, - "AddCommunicationToCase":{ - "name":"AddCommunicationToCase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AddCommunicationToCaseRequest"}, - "output":{"shape":"AddCommunicationToCaseResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"CaseIdNotFound"}, - {"shape":"AttachmentSetIdNotFound"}, - {"shape":"AttachmentSetExpired"} - ], - "documentation":"

Adds additional customer communication to an AWS Support case. You use the caseId value to identify the case to add communication to. You can list a set of email addresses to copy on the communication using the ccEmailAddresses value. The communicationBody value contains the text of the communication.

The response indicates the success or failure of the request.

This operation implements a subset of the features of the AWS Support Center.

" - }, - "CreateCase":{ - "name":"CreateCase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateCaseRequest"}, - "output":{"shape":"CreateCaseResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"CaseCreationLimitExceeded"}, - {"shape":"AttachmentSetIdNotFound"}, - {"shape":"AttachmentSetExpired"} - ], - "documentation":"

Creates a new case in the AWS Support Center. This operation is modeled on the behavior of the AWS Support Center Create Case page. Its parameters require you to specify the following information:

  • issueType. The type of issue for the case. You can specify either \"customer-service\" or \"technical.\" If you do not indicate a value, the default is \"technical.\"

  • serviceCode. The code for an AWS service. You obtain the serviceCode by calling DescribeServices.

  • categoryCode. The category for the service defined for the serviceCode value. You also obtain the category code for a service by calling DescribeServices. Each AWS service defines its own set of category codes.

  • severityCode. A value that indicates the urgency of the case, which in turn determines the response time according to your service level agreement with AWS Support. You obtain the SeverityCode by calling DescribeSeverityLevels.

  • subject. The Subject field on the AWS Support Center Create Case page.

  • communicationBody. The Description field on the AWS Support Center Create Case page.

  • attachmentSetId. The ID of a set of attachments that has been created by using AddAttachmentsToSet.

  • language. The human language in which AWS Support handles the case. English and Japanese are currently supported.

  • ccEmailAddresses. The AWS Support Center CC field on the Create Case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK.

To add additional communication or attachments to an existing case, use AddCommunicationToCase.

A successful CreateCase request returns an AWS Support case number. Case numbers are used by the DescribeCases operation to retrieve existing AWS Support cases.

" - }, - "DescribeAttachment":{ - "name":"DescribeAttachment", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeAttachmentRequest"}, - "output":{"shape":"DescribeAttachmentResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"DescribeAttachmentLimitExceeded"}, - {"shape":"AttachmentIdNotFound"} - ], - "documentation":"

Returns the attachment that has the specified ID. Attachment IDs are generated by the case management system when you add an attachment to a case or case communication. Attachment IDs are returned in the AttachmentDetails objects that are returned by the DescribeCommunications operation.

" - }, - "DescribeCases":{ - "name":"DescribeCases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCasesRequest"}, - "output":{"shape":"DescribeCasesResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"CaseIdNotFound"} - ], - "documentation":"

Returns a list of cases that you specify by passing one or more case IDs. In addition, you can filter the cases by date by setting values for the afterTime and beforeTime request parameters. You can set values for the includeResolvedCases and includeCommunications request parameters to control how much information is returned.

Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.

The response returns the following in JSON format:

  • One or more CaseDetails data types.

  • One or more nextToken values, which specify where to paginate the returned records represented by the CaseDetails objects.

" - }, - "DescribeCommunications":{ - "name":"DescribeCommunications", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeCommunicationsRequest"}, - "output":{"shape":"DescribeCommunicationsResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"CaseIdNotFound"} - ], - "documentation":"

Returns communications (and attachments) for one or more support cases. You can use the afterTime and beforeTime parameters to filter by date. You can use the caseId parameter to restrict the results to a particular case.

Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.

You can use the maxResults and nextToken parameters to control the pagination of the result set. Set maxResults to the number of cases you want displayed on each page, and use nextToken to specify the resumption of pagination.

" - }, - "DescribeServices":{ - "name":"DescribeServices", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeServicesRequest"}, - "output":{"shape":"DescribeServicesResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the current list of AWS services and a list of service categories that applies to each one. You then use service names and categories in your CreateCase requests. Each AWS service has its own set of categories.

The service codes and category codes correspond to the values that are displayed in the Service and Category drop-down lists on the AWS Support Center Create Case page. The values in those fields, however, do not necessarily match the service codes and categories returned by the DescribeServices request. Always use the service codes and categories obtained programmatically. This practice ensures that you always have the most recent set of service and category codes.

" - }, - "DescribeSeverityLevels":{ - "name":"DescribeSeverityLevels", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeSeverityLevelsRequest"}, - "output":{"shape":"DescribeSeverityLevelsResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the list of severity levels that you can assign to an AWS Support case. The severity level for a case is also a field in the CaseDetails data type included in any CreateCase request.

" - }, - "DescribeTrustedAdvisorCheckRefreshStatuses":{ - "name":"DescribeTrustedAdvisorCheckRefreshStatuses", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrustedAdvisorCheckRefreshStatusesRequest"}, - "output":{"shape":"DescribeTrustedAdvisorCheckRefreshStatusesResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the refresh status of the Trusted Advisor checks that have the specified check IDs. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

Some checks are refreshed automatically, and their refresh statuses cannot be retrieved by using this operation. Use of the DescribeTrustedAdvisorCheckRefreshStatuses operation for these checks causes an InvalidParameterValue error.

" - }, - "DescribeTrustedAdvisorCheckResult":{ - "name":"DescribeTrustedAdvisorCheckResult", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrustedAdvisorCheckResultRequest"}, - "output":{"shape":"DescribeTrustedAdvisorCheckResultResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the results of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

The response contains a TrustedAdvisorCheckResult object, which contains these three objects:

In addition, the response contains these fields:

  • status. The alert status of the check: \"ok\" (green), \"warning\" (yellow), \"error\" (red), or \"not_available\".

  • timestamp. The time of the last refresh of the check.

  • checkId. The unique identifier for the check.

" - }, - "DescribeTrustedAdvisorCheckSummaries":{ - "name":"DescribeTrustedAdvisorCheckSummaries", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrustedAdvisorCheckSummariesRequest"}, - "output":{"shape":"DescribeTrustedAdvisorCheckSummariesResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns the summaries of the results of the Trusted Advisor checks that have the specified check IDs. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

The response contains an array of TrustedAdvisorCheckSummary objects.

" - }, - "DescribeTrustedAdvisorChecks":{ - "name":"DescribeTrustedAdvisorChecks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTrustedAdvisorChecksRequest"}, - "output":{"shape":"DescribeTrustedAdvisorChecksResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata. You must specify a language code; English (\"en\") and Japanese (\"ja\") are currently supported. The response contains a TrustedAdvisorCheckDescription for each check.

" - }, - "RefreshTrustedAdvisorCheck":{ - "name":"RefreshTrustedAdvisorCheck", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RefreshTrustedAdvisorCheckRequest"}, - "output":{"shape":"RefreshTrustedAdvisorCheckResponse"}, - "errors":[ - {"shape":"InternalServerError"} - ], - "documentation":"

Requests a refresh of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

Some checks are refreshed automatically, and they cannot be refreshed by using this operation. Use of the RefreshTrustedAdvisorCheck operation for these checks causes an InvalidParameterValue error.

The response contains a TrustedAdvisorCheckRefreshStatus object, which contains these fields:

  • status. The refresh status of the check: \"none\", \"enqueued\", \"processing\", \"success\", or \"abandoned\".

  • millisUntilNextRefreshable. The amount of time, in milliseconds, until the check is eligible for refresh.

  • checkId. The unique identifier for the check.

" - }, - "ResolveCase":{ - "name":"ResolveCase", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResolveCaseRequest"}, - "output":{"shape":"ResolveCaseResponse"}, - "errors":[ - {"shape":"InternalServerError"}, - {"shape":"CaseIdNotFound"} - ], - "documentation":"

Takes a caseId and returns the initial state of the case along with the state of the case after the call to ResolveCase completed.

" - } - }, - "shapes":{ - "AddAttachmentsToSetRequest":{ - "type":"structure", - "required":["attachments"], - "members":{ - "attachmentSetId":{ - "shape":"AttachmentSetId", - "documentation":"

The ID of the attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists.

" - }, - "attachments":{ - "shape":"Attachments", - "documentation":"

One or more attachments to add to the set. The limit is 3 attachments per set, and the size limit is 5 MB per attachment.

" - } - }, - "documentation":"

" - }, - "AddAttachmentsToSetResponse":{ - "type":"structure", - "members":{ - "attachmentSetId":{ - "shape":"AttachmentSetId", - "documentation":"

The ID of the attachment set. If an attachmentSetId was not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId was specified, the attachments are added to the specified set, if it exists.

" - }, - "expiryTime":{ - "shape":"ExpiryTime", - "documentation":"

The time and date when the attachment set expires.

" - } - }, - "documentation":"

The ID and expiry time of the attachment set returned by the AddAttachmentsToSet operation.

" - }, - "AddCommunicationToCaseRequest":{ - "type":"structure", - "required":["communicationBody"], - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - }, - "communicationBody":{ - "shape":"CommunicationBody", - "documentation":"

The body of an email communication to add to the support case.

" - }, - "ccEmailAddresses":{ - "shape":"CcEmailAddressList", - "documentation":"

The email addresses in the CC line of an email to be added to the support case.

" - }, - "attachmentSetId":{ - "shape":"AttachmentSetId", - "documentation":"

The ID of a set of one or more attachments for the communication to add to the case. Create the set by calling AddAttachmentsToSet

" - } - }, - "documentation":"

To be written.

" - }, - "AddCommunicationToCaseResponse":{ - "type":"structure", - "members":{ - "result":{ - "shape":"Result", - "documentation":"

True if AddCommunicationToCase succeeds. Otherwise, returns an error.

" - } - }, - "documentation":"

The result of the AddCommunicationToCase operation.

" - }, - "AfterTime":{"type":"string"}, - "Attachment":{ - "type":"structure", - "members":{ - "fileName":{ - "shape":"FileName", - "documentation":"

The name of the attachment file.

" - }, - "data":{ - "shape":"Data", - "documentation":"

The content of the attachment file.

" - } - }, - "documentation":"

An attachment to a case communication. The attachment consists of the file name and the content of the file.

" - }, - "AttachmentDetails":{ - "type":"structure", - "members":{ - "attachmentId":{ - "shape":"AttachmentId", - "documentation":"

The ID of the attachment.

" - }, - "fileName":{ - "shape":"FileName", - "documentation":"

The file name of the attachment.

" - } - }, - "documentation":"

The file name and ID of an attachment to a case communication. You can use the ID to retrieve the attachment with the DescribeAttachment operation.

" - }, - "AttachmentId":{"type":"string"}, - "AttachmentIdNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

An attachment with the specified ID could not be found.

" - } - }, - "documentation":"

An attachment with the specified ID could not be found.

", - "exception":true - }, - "AttachmentLimitExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The limit for the number of attachment sets created in a short period of time has been exceeded.

" - } - }, - "documentation":"

The limit for the number of attachment sets created in a short period of time has been exceeded.

", - "exception":true - }, - "AttachmentSet":{ - "type":"list", - "member":{"shape":"AttachmentDetails"} - }, - "AttachmentSetExpired":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The expiration time of the attachment set has passed. The set expires 1 hour after it is created.

" - } - }, - "documentation":"

The expiration time of the attachment set has passed. The set expires 1 hour after it is created.

", - "exception":true - }, - "AttachmentSetId":{"type":"string"}, - "AttachmentSetIdNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

An attachment set with the specified ID could not be found.

" - } - }, - "documentation":"

An attachment set with the specified ID could not be found.

", - "exception":true - }, - "AttachmentSetSizeLimitExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A limit for the size of an attachment set has been exceeded. The limits are 3 attachments and 5 MB per attachment.

" - } - }, - "documentation":"

A limit for the size of an attachment set has been exceeded. The limits are 3 attachments and 5 MB per attachment.

", - "exception":true - }, - "Attachments":{ - "type":"list", - "member":{"shape":"Attachment"} - }, - "BeforeTime":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "CaseCreationLimitExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

An error message that indicates that you have exceeded the number of cases you can have open.

" - } - }, - "documentation":"

The case creation limit for the account has been exceeded.

", - "exception":true - }, - "CaseDetails":{ - "type":"structure", - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - }, - "displayId":{ - "shape":"DisplayId", - "documentation":"

The ID displayed for the case in the AWS Support Center. This is a numeric string.

" - }, - "subject":{ - "shape":"Subject", - "documentation":"

The subject line for the case in the AWS Support Center.

" - }, - "status":{ - "shape":"Status", - "documentation":"

The status of the case.

" - }, - "serviceCode":{ - "shape":"ServiceCode", - "documentation":"

The code for the AWS service returned by the call to DescribeServices.

" - }, - "categoryCode":{ - "shape":"CategoryCode", - "documentation":"

The category of problem for the AWS Support case.

" - }, - "severityCode":{ - "shape":"SeverityCode", - "documentation":"

The code for the severity level returned by the call to DescribeSeverityLevels.

" - }, - "submittedBy":{ - "shape":"SubmittedBy", - "documentation":"

The email address of the account that submitted the case.

" - }, - "timeCreated":{ - "shape":"TimeCreated", - "documentation":"

The time that the case was case created in the AWS Support Center.

" - }, - "recentCommunications":{ - "shape":"RecentCaseCommunications", - "documentation":"

The five most recent communications between you and AWS Support Center, including the IDs of any attachments to the communications. Also includes a nextToken that you can use to retrieve earlier communications.

" - }, - "ccEmailAddresses":{ - "shape":"CcEmailAddressList", - "documentation":"

The email addresses that receive copies of communication about the case.

" - }, - "language":{ - "shape":"Language", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - } - }, - "documentation":"

A JSON-formatted object that contains the metadata for a support case. It is contained the response from a DescribeCases request. CaseDetails contains the following fields:

  • caseId. The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47.

  • categoryCode. The category of problem for the AWS Support case. Corresponds to the CategoryCode values returned by a call to DescribeServices.

  • displayId. The identifier for the case on pages in the AWS Support Center.

  • language. The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

  • recentCommunications. One or more Communication objects. Fields of these objects are attachments, body, caseId, submittedBy, and timeCreated.

  • nextToken. A resumption point for pagination.

  • serviceCode. The identifier for the AWS service that corresponds to the service code defined in the call to DescribeServices.

  • severityCode. The severity code assigned to the case. Contains one of the values returned by the call to DescribeSeverityLevels.

  • status. The status of the case in the AWS Support Center.

  • subject. The subject line of the case.

  • submittedBy. The email address of the account that submitted the case.

  • timeCreated. The time the case was created, in ISO-8601 format.

" - }, - "CaseId":{"type":"string"}, - "CaseIdList":{ - "type":"list", - "member":{"shape":"CaseId"}, - "max":100, - "min":0 - }, - "CaseIdNotFound":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The requested CaseId could not be located.

" - } - }, - "documentation":"

The requested caseId could not be located.

", - "exception":true - }, - "CaseList":{ - "type":"list", - "member":{"shape":"CaseDetails"} - }, - "CaseStatus":{"type":"string"}, - "Category":{ - "type":"structure", - "members":{ - "code":{ - "shape":"CategoryCode", - "documentation":"

The category code for the support case.

" - }, - "name":{ - "shape":"CategoryName", - "documentation":"

The category name for the support case.

" - } - }, - "documentation":"

A JSON-formatted name/value pair that represents the category name and category code of the problem, selected from the DescribeServices response for each AWS service.

" - }, - "CategoryCode":{"type":"string"}, - "CategoryList":{ - "type":"list", - "member":{"shape":"Category"} - }, - "CategoryName":{"type":"string"}, - "CcEmailAddress":{"type":"string"}, - "CcEmailAddressList":{ - "type":"list", - "member":{"shape":"CcEmailAddress"}, - "max":10, - "min":0 - }, - "Communication":{ - "type":"structure", - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - }, - "body":{ - "shape":"CommunicationBody", - "documentation":"

The text of the communication between the customer and AWS Support.

" - }, - "submittedBy":{ - "shape":"SubmittedBy", - "documentation":"

The email address of the account that submitted the AWS Support case.

" - }, - "timeCreated":{ - "shape":"TimeCreated", - "documentation":"

The time the communication was created.

" - }, - "attachmentSet":{ - "shape":"AttachmentSet", - "documentation":"

Information about the attachments to the case communication.

" - } - }, - "documentation":"

A communication associated with an AWS Support case. The communication consists of the case ID, the message body, attachment information, the account email address, and the date and time of the communication.

" - }, - "CommunicationBody":{ - "type":"string", - "max":8000, - "min":1 - }, - "CommunicationList":{ - "type":"list", - "member":{"shape":"Communication"} - }, - "CreateCaseRequest":{ - "type":"structure", - "required":[ - "subject", - "communicationBody" - ], - "members":{ - "subject":{ - "shape":"Subject", - "documentation":"

The title of the AWS Support case.

" - }, - "serviceCode":{ - "shape":"ServiceCode", - "documentation":"

The code for the AWS service returned by the call to DescribeServices.

" - }, - "severityCode":{ - "shape":"SeverityCode", - "documentation":"

The code for the severity level returned by the call to DescribeSeverityLevels.

The availability of severity levels depends on each customer's support subscription. In other words, your subscription may not necessarily require the urgent level of response time.

" - }, - "categoryCode":{ - "shape":"CategoryCode", - "documentation":"

The category of problem for the AWS Support case.

" - }, - "communicationBody":{ - "shape":"CommunicationBody", - "documentation":"

The communication body text when you create an AWS Support case by calling CreateCase.

" - }, - "ccEmailAddresses":{ - "shape":"CcEmailAddressList", - "documentation":"

A list of email addresses that AWS Support copies on case correspondence.

" - }, - "language":{ - "shape":"Language", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - }, - "issueType":{ - "shape":"IssueType", - "documentation":"

The type of issue for the case. You can specify either \"customer-service\" or \"technical.\" If you do not indicate a value, the default is \"technical.\"

" - }, - "attachmentSetId":{ - "shape":"AttachmentSetId", - "documentation":"

The ID of a set of one or more attachments for the case. Create the set by using AddAttachmentsToSet.

" - } - }, - "documentation":"

" - }, - "CreateCaseResponse":{ - "type":"structure", - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - } - }, - "documentation":"

The AWS Support case ID returned by a successful completion of the CreateCase operation.

" - }, - "Data":{"type":"blob"}, - "DescribeAttachmentLimitExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The limit for the number of DescribeAttachment requests in a short period of time has been exceeded.

" - } - }, - "documentation":"

The limit for the number of DescribeAttachment requests in a short period of time has been exceeded.

", - "exception":true - }, - "DescribeAttachmentRequest":{ - "type":"structure", - "required":["attachmentId"], - "members":{ - "attachmentId":{ - "shape":"AttachmentId", - "documentation":"

The ID of the attachment to return. Attachment IDs are returned by the DescribeCommunications operation.

" - } - } - }, - "DescribeAttachmentResponse":{ - "type":"structure", - "members":{ - "attachment":{ - "shape":"Attachment", - "documentation":"

The attachment content and file name.

" - } - }, - "documentation":"

The content and file name of the attachment returned by the DescribeAttachment operation.

" - }, - "DescribeCasesRequest":{ - "type":"structure", - "members":{ - "caseIdList":{ - "shape":"CaseIdList", - "documentation":"

A list of ID numbers of the support cases you want returned. The maximum number of cases is 100.

" - }, - "displayId":{ - "shape":"DisplayId", - "documentation":"

The ID displayed for a case in the AWS Support Center user interface.

" - }, - "afterTime":{ - "shape":"AfterTime", - "documentation":"

The start date for a filtered date search on support case communications. Case communications are available for 12 months after creation.

" - }, - "beforeTime":{ - "shape":"BeforeTime", - "documentation":"

The end date for a filtered date search on support case communications. Case communications are available for 12 months after creation.

" - }, - "includeResolvedCases":{ - "shape":"IncludeResolvedCases", - "documentation":"

Specifies whether resolved support cases should be included in the DescribeCases results. The default is false.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A resumption point for pagination.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return before paginating.

" - }, - "language":{ - "shape":"Language", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - }, - "includeCommunications":{ - "shape":"IncludeCommunications", - "documentation":"

Specifies whether communications should be included in the DescribeCases results. The default is true.

" - } - }, - "documentation":"

" - }, - "DescribeCasesResponse":{ - "type":"structure", - "members":{ - "cases":{ - "shape":"CaseList", - "documentation":"

The details for the cases that match the request.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A resumption point for pagination.

" - } - }, - "documentation":"

Returns an array of CaseDetails objects and a nextToken that defines a point for pagination in the result set.

" - }, - "DescribeCommunicationsRequest":{ - "type":"structure", - "required":["caseId"], - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - }, - "beforeTime":{ - "shape":"BeforeTime", - "documentation":"

The end date for a filtered date search on support case communications. Case communications are available for 12 months after creation.

" - }, - "afterTime":{ - "shape":"AfterTime", - "documentation":"

The start date for a filtered date search on support case communications. Case communications are available for 12 months after creation.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A resumption point for pagination.

" - }, - "maxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return before paginating.

" - } - }, - "documentation":"

" - }, - "DescribeCommunicationsResponse":{ - "type":"structure", - "members":{ - "communications":{ - "shape":"CommunicationList", - "documentation":"

The communications for the case.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A resumption point for pagination.

" - } - }, - "documentation":"

The communications returned by the DescribeCommunications operation.

" - }, - "DescribeServicesRequest":{ - "type":"structure", - "members":{ - "serviceCodeList":{ - "shape":"ServiceCodeList", - "documentation":"

A JSON-formatted list of service codes available for AWS services.

" - }, - "language":{ - "shape":"Language", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - } - }, - "documentation":"

" - }, - "DescribeServicesResponse":{ - "type":"structure", - "members":{ - "services":{ - "shape":"ServiceList", - "documentation":"

A JSON-formatted list of AWS services.

" - } - }, - "documentation":"

The list of AWS services returned by the DescribeServices operation.

" - }, - "DescribeSeverityLevelsRequest":{ - "type":"structure", - "members":{ - "language":{ - "shape":"Language", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - } - }, - "documentation":"

" - }, - "DescribeSeverityLevelsResponse":{ - "type":"structure", - "members":{ - "severityLevels":{ - "shape":"SeverityLevelsList", - "documentation":"

The available severity levels for the support case. Available severity levels are defined by your service level agreement with AWS.

" - } - }, - "documentation":"

The list of severity levels returned by the DescribeSeverityLevels operation.

" - }, - "DescribeTrustedAdvisorCheckRefreshStatusesRequest":{ - "type":"structure", - "required":["checkIds"], - "members":{ - "checkIds":{ - "shape":"StringList", - "documentation":"

The IDs of the Trusted Advisor checks to get the status of. Note: Specifying the check ID of a check that is automatically refreshed causes an InvalidParameterValue error.

" - } - }, - "documentation":"

" - }, - "DescribeTrustedAdvisorCheckRefreshStatusesResponse":{ - "type":"structure", - "required":["statuses"], - "members":{ - "statuses":{ - "shape":"TrustedAdvisorCheckRefreshStatusList", - "documentation":"

The refresh status of the specified Trusted Advisor checks.

" - } - }, - "documentation":"

The statuses of the Trusted Advisor checks returned by the DescribeTrustedAdvisorCheckRefreshStatuses operation.

" - }, - "DescribeTrustedAdvisorCheckResultRequest":{ - "type":"structure", - "required":["checkId"], - "members":{ - "checkId":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check.

" - }, - "language":{ - "shape":"String", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - } - }, - "documentation":"

" - }, - "DescribeTrustedAdvisorCheckResultResponse":{ - "type":"structure", - "members":{ - "result":{ - "shape":"TrustedAdvisorCheckResult", - "documentation":"

The detailed results of the Trusted Advisor check.

" - } - }, - "documentation":"

The result of the Trusted Advisor check returned by the DescribeTrustedAdvisorCheckResult operation.

" - }, - "DescribeTrustedAdvisorCheckSummariesRequest":{ - "type":"structure", - "required":["checkIds"], - "members":{ - "checkIds":{ - "shape":"StringList", - "documentation":"

The IDs of the Trusted Advisor checks.

" - } - }, - "documentation":"

" - }, - "DescribeTrustedAdvisorCheckSummariesResponse":{ - "type":"structure", - "required":["summaries"], - "members":{ - "summaries":{ - "shape":"TrustedAdvisorCheckSummaryList", - "documentation":"

The summary information for the requested Trusted Advisor checks.

" - } - }, - "documentation":"

The summaries of the Trusted Advisor checks returned by the DescribeTrustedAdvisorCheckSummaries operation.

" - }, - "DescribeTrustedAdvisorChecksRequest":{ - "type":"structure", - "required":["language"], - "members":{ - "language":{ - "shape":"String", - "documentation":"

The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

" - } - }, - "documentation":"

" - }, - "DescribeTrustedAdvisorChecksResponse":{ - "type":"structure", - "required":["checks"], - "members":{ - "checks":{ - "shape":"TrustedAdvisorCheckList", - "documentation":"

Information about all available Trusted Advisor checks.

" - } - }, - "documentation":"

Information about the Trusted Advisor checks returned by the DescribeTrustedAdvisorChecks operation.

" - }, - "DisplayId":{"type":"string"}, - "Double":{"type":"double"}, - "ErrorMessage":{"type":"string"}, - "ExpiryTime":{"type":"string"}, - "FileName":{"type":"string"}, - "IncludeCommunications":{"type":"boolean"}, - "IncludeResolvedCases":{"type":"boolean"}, - "InternalServerError":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

An internal server error occurred.

" - } - }, - "documentation":"

An internal server error occurred.

", - "exception":true, - "fault":true - }, - "IssueType":{"type":"string"}, - "Language":{"type":"string"}, - "Long":{"type":"long"}, - "MaxResults":{ - "type":"integer", - "max":100, - "min":10 - }, - "NextToken":{"type":"string"}, - "RecentCaseCommunications":{ - "type":"structure", - "members":{ - "communications":{ - "shape":"CommunicationList", - "documentation":"

The five most recent communications associated with the case.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A resumption point for pagination.

" - } - }, - "documentation":"

The five most recent communications associated with the case.

" - }, - "RefreshTrustedAdvisorCheckRequest":{ - "type":"structure", - "required":["checkId"], - "members":{ - "checkId":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check to refresh. Note: Specifying the check ID of a check that is automatically refreshed causes an InvalidParameterValue error.

" - } - }, - "documentation":"

" - }, - "RefreshTrustedAdvisorCheckResponse":{ - "type":"structure", - "required":["status"], - "members":{ - "status":{ - "shape":"TrustedAdvisorCheckRefreshStatus", - "documentation":"

The current refresh status for a check, including the amount of time until the check is eligible for refresh.

" - } - }, - "documentation":"

The current refresh status of a Trusted Advisor check.

" - }, - "ResolveCaseRequest":{ - "type":"structure", - "members":{ - "caseId":{ - "shape":"CaseId", - "documentation":"

The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

" - } - }, - "documentation":"

" - }, - "ResolveCaseResponse":{ - "type":"structure", - "members":{ - "initialCaseStatus":{ - "shape":"CaseStatus", - "documentation":"

The status of the case when the ResolveCase request was sent.

" - }, - "finalCaseStatus":{ - "shape":"CaseStatus", - "documentation":"

The status of the case after the ResolveCase request was processed.

" - } - }, - "documentation":"

The status of the case returned by the ResolveCase operation.

" - }, - "Result":{"type":"boolean"}, - "Service":{ - "type":"structure", - "members":{ - "code":{ - "shape":"ServiceCode", - "documentation":"

The code for an AWS service returned by the DescribeServices response. The name element contains the corresponding friendly name.

" - }, - "name":{ - "shape":"ServiceName", - "documentation":"

The friendly name for an AWS service. The code element contains the corresponding code.

" - }, - "categories":{ - "shape":"CategoryList", - "documentation":"

A list of categories that describe the type of support issue a case describes. Categories consist of a category name and a category code. Category names and codes are passed to AWS Support when you call CreateCase.

" - } - }, - "documentation":"

Information about an AWS service returned by the DescribeServices operation.

" - }, - "ServiceCode":{"type":"string"}, - "ServiceCodeList":{ - "type":"list", - "member":{"shape":"ServiceCode"}, - "max":100, - "min":0 - }, - "ServiceList":{ - "type":"list", - "member":{"shape":"Service"} - }, - "ServiceName":{"type":"string"}, - "SeverityCode":{"type":"string"}, - "SeverityLevel":{ - "type":"structure", - "members":{ - "code":{ - "shape":"SeverityLevelCode", - "documentation":"

One of four values: \"low,\" \"medium,\" \"high,\" and \"urgent\". These values correspond to response times returned to the caller in severityLevel.name.

" - }, - "name":{ - "shape":"SeverityLevelName", - "documentation":"

The name of the severity level that corresponds to the severity level code.

" - } - }, - "documentation":"

A code and name pair that represent a severity level that can be applied to a support case.

" - }, - "SeverityLevelCode":{"type":"string"}, - "SeverityLevelName":{"type":"string"}, - "SeverityLevelsList":{ - "type":"list", - "member":{"shape":"SeverityLevel"} - }, - "Status":{"type":"string"}, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} - }, - "Subject":{"type":"string"}, - "SubmittedBy":{"type":"string"}, - "TimeCreated":{"type":"string"}, - "TrustedAdvisorCategorySpecificSummary":{ - "type":"structure", - "members":{ - "costOptimizing":{ - "shape":"TrustedAdvisorCostOptimizingSummary", - "documentation":"

The summary information about cost savings for a Trusted Advisor check that is in the Cost Optimizing category.

" - } - }, - "documentation":"

The container for summary information that relates to the category of the Trusted Advisor check.

" - }, - "TrustedAdvisorCheckDescription":{ - "type":"structure", - "required":[ - "id", - "name", - "description", - "category", - "metadata" - ], - "members":{ - "id":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check.

" - }, - "name":{ - "shape":"String", - "documentation":"

The display name for the Trusted Advisor check.

" - }, - "description":{ - "shape":"String", - "documentation":"

The description of the Trusted Advisor check, which includes the alert criteria and recommended actions (contains HTML markup).

" - }, - "category":{ - "shape":"String", - "documentation":"

The category of the Trusted Advisor check.

" - }, - "metadata":{ - "shape":"StringList", - "documentation":"

The column headings for the data returned by the Trusted Advisor check. The order of the headings corresponds to the order of the data in the Metadata element of the TrustedAdvisorResourceDetail for the check. Metadata contains all the data that is shown in the Excel download, even in those cases where the UI shows just summary data.

" - } - }, - "documentation":"

The description and metadata for a Trusted Advisor check.

" - }, - "TrustedAdvisorCheckList":{ - "type":"list", - "member":{"shape":"TrustedAdvisorCheckDescription"} - }, - "TrustedAdvisorCheckRefreshStatus":{ - "type":"structure", - "required":[ - "checkId", - "status", - "millisUntilNextRefreshable" - ], - "members":{ - "checkId":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check.

" - }, - "status":{ - "shape":"String", - "documentation":"

The status of the Trusted Advisor check for which a refresh has been requested: \"none\", \"enqueued\", \"processing\", \"success\", or \"abandoned\".

" - }, - "millisUntilNextRefreshable":{ - "shape":"Long", - "documentation":"

The amount of time, in milliseconds, until the Trusted Advisor check is eligible for refresh.

" - } - }, - "documentation":"

The refresh status of a Trusted Advisor check.

" - }, - "TrustedAdvisorCheckRefreshStatusList":{ - "type":"list", - "member":{"shape":"TrustedAdvisorCheckRefreshStatus"} - }, - "TrustedAdvisorCheckResult":{ - "type":"structure", - "required":[ - "checkId", - "timestamp", - "status", - "resourcesSummary", - "categorySpecificSummary", - "flaggedResources" - ], - "members":{ - "checkId":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check.

" - }, - "timestamp":{ - "shape":"String", - "documentation":"

The time of the last refresh of the check.

" - }, - "status":{ - "shape":"String", - "documentation":"

The alert status of the check: \"ok\" (green), \"warning\" (yellow), \"error\" (red), or \"not_available\".

" - }, - "resourcesSummary":{"shape":"TrustedAdvisorResourcesSummary"}, - "categorySpecificSummary":{ - "shape":"TrustedAdvisorCategorySpecificSummary", - "documentation":"

Summary information that relates to the category of the check. Cost Optimizing is the only category that is currently supported.

" - }, - "flaggedResources":{ - "shape":"TrustedAdvisorResourceDetailList", - "documentation":"

The details about each resource listed in the check result.

" - } - }, - "documentation":"

The results of a Trusted Advisor check returned by DescribeTrustedAdvisorCheckResult.

" - }, - "TrustedAdvisorCheckSummary":{ - "type":"structure", - "required":[ - "checkId", - "timestamp", - "status", - "resourcesSummary", - "categorySpecificSummary" - ], - "members":{ - "checkId":{ - "shape":"String", - "documentation":"

The unique identifier for the Trusted Advisor check.

" - }, - "timestamp":{ - "shape":"String", - "documentation":"

The time of the last refresh of the check.

" - }, - "status":{ - "shape":"String", - "documentation":"

The alert status of the check: \"ok\" (green), \"warning\" (yellow), \"error\" (red), or \"not_available\".

" - }, - "hasFlaggedResources":{ - "shape":"Boolean", - "documentation":"

Specifies whether the Trusted Advisor check has flagged resources.

" - }, - "resourcesSummary":{"shape":"TrustedAdvisorResourcesSummary"}, - "categorySpecificSummary":{ - "shape":"TrustedAdvisorCategorySpecificSummary", - "documentation":"

Summary information that relates to the category of the check. Cost Optimizing is the only category that is currently supported.

" - } - }, - "documentation":"

A summary of a Trusted Advisor check result, including the alert status, last refresh, and number of resources examined.

" - }, - "TrustedAdvisorCheckSummaryList":{ - "type":"list", - "member":{"shape":"TrustedAdvisorCheckSummary"} - }, - "TrustedAdvisorCostOptimizingSummary":{ - "type":"structure", - "required":[ - "estimatedMonthlySavings", - "estimatedPercentMonthlySavings" - ], - "members":{ - "estimatedMonthlySavings":{ - "shape":"Double", - "documentation":"

The estimated monthly savings that might be realized if the recommended actions are taken.

" - }, - "estimatedPercentMonthlySavings":{ - "shape":"Double", - "documentation":"

The estimated percentage of savings that might be realized if the recommended actions are taken.

" - } - }, - "documentation":"

The estimated cost savings that might be realized if the recommended actions are taken.

" - }, - "TrustedAdvisorResourceDetail":{ - "type":"structure", - "required":[ - "status", - "resourceId", - "metadata" - ], - "members":{ - "status":{ - "shape":"String", - "documentation":"

The status code for the resource identified in the Trusted Advisor check.

" - }, - "region":{ - "shape":"String", - "documentation":"

The AWS region in which the identified resource is located.

" - }, - "resourceId":{ - "shape":"String", - "documentation":"

The unique identifier for the identified resource.

" - }, - "isSuppressed":{ - "shape":"Boolean", - "documentation":"

Specifies whether the AWS resource was ignored by Trusted Advisor because it was marked as suppressed by the user.

" - }, - "metadata":{ - "shape":"StringList", - "documentation":"

Additional information about the identified resource. The exact metadata and its order can be obtained by inspecting the TrustedAdvisorCheckDescription object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains all the data that is shown in the Excel download, even in those cases where the UI shows just summary data.

" - } - }, - "documentation":"

Contains information about a resource identified by a Trusted Advisor check.

" - }, - "TrustedAdvisorResourceDetailList":{ - "type":"list", - "member":{"shape":"TrustedAdvisorResourceDetail"} - }, - "TrustedAdvisorResourcesSummary":{ - "type":"structure", - "required":[ - "resourcesProcessed", - "resourcesFlagged", - "resourcesIgnored", - "resourcesSuppressed" - ], - "members":{ - "resourcesProcessed":{ - "shape":"Long", - "documentation":"

The number of AWS resources that were analyzed by the Trusted Advisor check.

" - }, - "resourcesFlagged":{ - "shape":"Long", - "documentation":"

The number of AWS resources that were flagged (listed) by the Trusted Advisor check.

" - }, - "resourcesIgnored":{ - "shape":"Long", - "documentation":"

The number of AWS resources ignored by Trusted Advisor because information was unavailable.

" - }, - "resourcesSuppressed":{ - "shape":"Long", - "documentation":"

The number of AWS resources ignored by Trusted Advisor because they were marked as suppressed by the user.

" - } - }, - "documentation":"

Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

" - } - }, - "documentation":"AWS Support

The AWS Support API reference is intended for programmers who need detailed information about the AWS Support operations and data types. This service enables you to manage your AWS Support cases programmatically. It uses HTTP methods that return results in JSON format.

The AWS Support service also exposes a set of Trusted Advisor features. You can retrieve a list of checks and their descriptions, get check results, specify checks to refresh, and get the refresh status of checks.

The following list describes the AWS Support case management operations:

The following list describes the operations available from the AWS Support service for Trusted Advisor:

For authentication of requests, AWS Support uses Signature Version 4 Signing Process.

See About the AWS Support API in the AWS Support User Guide for information about how to use this service to create and manage your support cases, and how to call Trusted Advisor for results of checks on your resources.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/paginators-1.json deleted file mode 100644 index e92bfebe..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/paginators-1.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "pagination": { - "GetWorkflowExecutionHistory": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "events" - }, - "ListActivityTypes": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "typeInfos" - }, - "ListClosedWorkflowExecutions": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "executionInfos" - }, - "ListDomains": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "domainInfos" - }, - "ListOpenWorkflowExecutions": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "executionInfos" - }, - "ListWorkflowTypes": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "typeInfos" - }, - "PollForDecisionTask": { - "limit_key": "maximumPageSize", - "input_token": "nextPageToken", - "output_token": "nextPageToken", - "result_key": "events", - "non_aggregate_keys": [ - "taskToken", - "startedEventId", - "workflowExecution", - "workflowType", - "previousStartedEventId" - ] - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/service-2.json deleted file mode 100644 index c7238593..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/swf/2012-01-25/service-2.json +++ /dev/null @@ -1,4513 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2012-01-25", - "endpointPrefix":"swf", - "jsonVersion":"1.0", - "protocol":"json", - "serviceAbbreviation":"Amazon SWF", - "serviceFullName":"Amazon Simple Workflow Service", - "serviceId":"SWF", - "signatureVersion":"v4", - "targetPrefix":"SimpleWorkflowService", - "timestampFormat":"unixTimestamp", - "uid":"swf-2012-01-25" - }, - "operations":{ - "CountClosedWorkflowExecutions":{ - "name":"CountClosedWorkflowExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CountClosedWorkflowExecutionsInput"}, - "output":{"shape":"WorkflowExecutionCount"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

    • typeFilter.name: String constraint. The key is swf:typeFilter.name.

    • typeFilter.version: String constraint. The key is swf:typeFilter.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CountOpenWorkflowExecutions":{ - "name":"CountOpenWorkflowExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CountOpenWorkflowExecutionsInput"}, - "output":{"shape":"WorkflowExecutionCount"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the number of open workflow executions within the given domain that meet the specified filtering criteria.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

    • typeFilter.name: String constraint. The key is swf:typeFilter.name.

    • typeFilter.version: String constraint. The key is swf:typeFilter.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CountPendingActivityTasks":{ - "name":"CountPendingActivityTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CountPendingActivityTasksInput"}, - "output":{"shape":"PendingTaskCount"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0 is returned.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CountPendingDecisionTasks":{ - "name":"CountPendingDecisionTasks", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CountPendingDecisionTasksInput"}, - "output":{"shape":"PendingTaskCount"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0 is returned.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DeprecateActivityType":{ - "name":"DeprecateActivityType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeprecateActivityTypeInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"TypeDeprecatedFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated continue to run.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • activityType.name: String constraint. The key is swf:activityType.name.

    • activityType.version: String constraint. The key is swf:activityType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DeprecateDomain":{ - "name":"DeprecateDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeprecateDomainInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"DomainDeprecatedFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated continues to run.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DeprecateWorkflowType":{ - "name":"DeprecateWorkflowType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeprecateWorkflowTypeInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"TypeDeprecatedFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated continues to run. A deprecated workflow type may still be used when calling visibility actions.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • workflowType.name: String constraint. The key is swf:workflowType.name.

    • workflowType.version: String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DescribeActivityType":{ - "name":"DescribeActivityType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeActivityTypeInput"}, - "output":{"shape":"ActivityTypeDetail"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • activityType.name: String constraint. The key is swf:activityType.name.

    • activityType.version: String constraint. The key is swf:activityType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DescribeDomain":{ - "name":"DescribeDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeDomainInput"}, - "output":{"shape":"DomainDetail"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns information about the specified domain, including description and status.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DescribeWorkflowExecution":{ - "name":"DescribeWorkflowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkflowExecutionInput"}, - "output":{"shape":"WorkflowExecutionDetail"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns information about the specified workflow execution including its type and some statistics.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "DescribeWorkflowType":{ - "name":"DescribeWorkflowType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkflowTypeInput"}, - "output":{"shape":"WorkflowTypeDetail"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns information about the specified workflow type. This includes configuration settings specified when the type was registered and other information such as creation date, current status, etc.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • workflowType.name: String constraint. The key is swf:workflowType.name.

    • workflowType.version: String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "GetWorkflowExecutionHistory":{ - "name":"GetWorkflowExecutionHistory", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetWorkflowExecutionHistoryInput"}, - "output":{"shape":"History"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ListActivityTypes":{ - "name":"ListActivityTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListActivityTypesInput"}, - "output":{"shape":"ActivityTypeInfos"}, - "errors":[ - {"shape":"OperationNotPermittedFault"}, - {"shape":"UnknownResourceFault"} - ], - "documentation":"

Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ListClosedWorkflowExecutions":{ - "name":"ListClosedWorkflowExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListClosedWorkflowExecutionsInput"}, - "output":{"shape":"WorkflowExecutionInfos"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

    • typeFilter.name: String constraint. The key is swf:typeFilter.name.

    • typeFilter.version: String constraint. The key is swf:typeFilter.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ListDomains":{ - "name":"ListDomains", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListDomainsInput"}, - "output":{"shape":"DomainInfos"}, - "errors":[ - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains. The element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID, with no dashes.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ListOpenWorkflowExecutions":{ - "name":"ListOpenWorkflowExecutions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOpenWorkflowExecutionsInput"}, - "output":{"shape":"WorkflowExecutionInfos"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

    • typeFilter.name: String constraint. The key is swf:typeFilter.name.

    • typeFilter.version: String constraint. The key is swf:typeFilter.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ListWorkflowTypes":{ - "name":"ListWorkflowTypes", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWorkflowTypesInput"}, - "output":{"shape":"WorkflowTypeInfos"}, - "errors":[ - {"shape":"OperationNotPermittedFault"}, - {"shape":"UnknownResourceFault"} - ], - "documentation":"

Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "PollForActivityTask":{ - "name":"PollForActivityTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PollForActivityTaskInput"}, - "output":{"shape":"ActivityTask"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"}, - {"shape":"LimitExceededFault"} - ], - "documentation":"

Used by workers to get an ActivityTask from the specified activity taskList. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly.

Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request).

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "PollForDecisionTask":{ - "name":"PollForDecisionTask", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PollForDecisionTaskInput"}, - "output":{"shape":"DecisionTask"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"}, - {"shape":"LimitExceededFault"} - ], - "documentation":"

Used by deciders to get a DecisionTask from the specified decision taskList. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task.

This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string.

Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the timeout).

Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. Instead, call PollForDecisionTask again.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RecordActivityTaskHeartbeat":{ - "name":"RecordActivityTaskHeartbeat", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RecordActivityTaskHeartbeatInput"}, - "output":{"shape":"ActivityTaskStatus"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Used by activity workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress. The worker can also specify details of the progress, for example percent complete, using the details parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean cancelRequested flag returned by the service is set to true.

This action resets the taskHeartbeatTimeout clock. The taskHeartbeatTimeout is specified in RegisterActivityType.

This action doesn't in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history contains a ActivityTaskTimedOut event that contains the information from the last heartbeat generated by the activity worker.

The taskStartToCloseTimeout of an activity type is the maximum duration of an activity task, regardless of the number of RecordActivityTaskHeartbeat requests received. The taskStartToCloseTimeout is also specified in RegisterActivityType.

This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted.

If the cancelRequested flag returns true, a cancellation is being attempted. If the worker can cancel the activity, it should respond with RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RegisterActivityType":{ - "name":"RegisterActivityType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterActivityTypeInput"}, - "errors":[ - {"shape":"TypeAlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Registers a new activity type along with its configuration settings in the specified domain.

A TypeAlreadyExists fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.

    • name: String constraint. The key is swf:name.

    • version: String constraint. The key is swf:version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RegisterDomain":{ - "name":"RegisterDomain", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterDomainInput"}, - "errors":[ - {"shape":"DomainAlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Registers a new domain.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RegisterWorkflowType":{ - "name":"RegisterWorkflowType", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterWorkflowTypeInput"}, - "errors":[ - {"shape":"TypeAlreadyExistsFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Registers a new workflow type and its configuration settings in the specified domain.

The retention period for the workflow history is set by the RegisterDomain action.

If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.

    • name: String constraint. The key is swf:name.

    • version: String constraint. The key is swf:version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RequestCancelWorkflowExecution":{ - "name":"RequestCancelWorkflowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RequestCancelWorkflowExecutionInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Records a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event.

If the runId isn't specified, the WorkflowExecutionCancelRequested event is recorded in the history of the current open workflow execution with the specified workflowId in the domain.

Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of TerminateWorkflowExecution when possible.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RespondActivityTaskCanceled":{ - "name":"RespondActivityTaskCanceled", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RespondActivityTaskCanceledInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Used by workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled. Additional details can be provided using the details argument.

These details (if provided) appear in the ActivityTaskCanceled event added to the workflow history.

Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat request returns true and if the activity can be safely undone or abandoned.

A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RespondActivityTaskCompleted":{ - "name":"RespondActivityTaskCompleted", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RespondActivityTaskCompletedInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Used by workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided). The result appears in the ActivityTaskCompleted event in the workflow history.

If the requested task doesn't complete successfully, use RespondActivityTaskFailed instead. If the worker finds that the task is canceled through the canceled flag returned by RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call RespondActivityTaskCanceled.

A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RespondActivityTaskFailed":{ - "name":"RespondActivityTaskFailed", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RespondActivityTaskFailedInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Used by workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified). The reason and details appear in the ActivityTaskFailed event added to the workflow history.

A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RespondDecisionTaskCompleted":{ - "name":"RespondDecisionTaskCompleted", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RespondDecisionTaskCompletedInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Used by deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed. The decisions argument specifies the list of decisions made while processing the task.

A DecisionTaskCompleted event is added to the workflow history. The executionContext specified is attached to the event in the workflow execution history.

Access Control

If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions for the list of decisions in the decisions parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "SignalWorkflowExecution":{ - "name":"SignalWorkflowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"SignalWorkflowExecutionInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided).

If a runId isn't specified, then the WorkflowExecutionSignaled event is recorded in the history of the current open workflow with the matching workflowId in the domain.

If the specified workflow execution isn't open, this method fails with UnknownResource.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "StartWorkflowExecution":{ - "name":"StartWorkflowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartWorkflowExecutionInput"}, - "output":{"shape":"Run"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"TypeDeprecatedFault"}, - {"shape":"WorkflowExecutionAlreadyStartedFault"}, - {"shape":"LimitExceededFault"}, - {"shape":"OperationNotPermittedFault"}, - {"shape":"DefaultUndefinedFault"} - ], - "documentation":"

Starts an execution of the workflow type in the specified domain using the provided workflowId and input data.

This action returns the newly started workflow execution.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagList.member.0: The key is swf:tagList.member.0.

    • tagList.member.1: The key is swf:tagList.member.1.

    • tagList.member.2: The key is swf:tagList.member.2.

    • tagList.member.3: The key is swf:tagList.member.3.

    • tagList.member.4: The key is swf:tagList.member.4.

    • taskList: String constraint. The key is swf:taskList.name.

    • workflowType.name: String constraint. The key is swf:workflowType.name.

    • workflowType.version: String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "TerminateWorkflowExecution":{ - "name":"TerminateWorkflowExecution", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateWorkflowExecutionInput"}, - "errors":[ - {"shape":"UnknownResourceFault"}, - {"shape":"OperationNotPermittedFault"} - ], - "documentation":"

Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution.

If the identified workflow execution was in progress, it is terminated immediately.

If a runId isn't specified, then the WorkflowExecutionTerminated event is recorded in the history of the current open workflow with the matching workflowId in the domain.

You should consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully close while TerminateWorkflowExecution doesn't.

Access Control

You can use IAM policies to control this action's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - } - }, - "shapes":{ - "ActivityId":{ - "type":"string", - "max":256, - "min":1 - }, - "ActivityTask":{ - "type":"structure", - "required":[ - "taskToken", - "activityId", - "startedEventId", - "workflowExecution", - "activityType" - ], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.

" - }, - "activityId":{ - "shape":"ActivityId", - "documentation":"

The unique ID of the task.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event recorded in the history.

" - }, - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The workflow execution that started this activity task.

" - }, - "activityType":{ - "shape":"ActivityType", - "documentation":"

The type of this activity task.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The inputs provided when the activity task was scheduled. The form of the input is user defined and should be meaningful to the activity implementation.

" - } - }, - "documentation":"

Unit of work sent to an activity worker.

" - }, - "ActivityTaskCancelRequestedEventAttributes":{ - "type":"structure", - "required":[ - "decisionTaskCompletedEventId", - "activityId" - ], - "members":{ - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelActivityTask decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "activityId":{ - "shape":"ActivityId", - "documentation":"

The unique ID of the task.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskCancelRequested event.

" - }, - "ActivityTaskCanceledEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "details":{ - "shape":"Data", - "documentation":"

Details of the cancellation.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "latestCancelRequestedEventId":{ - "shape":"EventId", - "documentation":"

If set, contains the ID of the last ActivityTaskCancelRequested event recorded for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskCanceled event.

" - }, - "ActivityTaskCompletedEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "result":{ - "shape":"Data", - "documentation":"

The results of the activity task.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskCompleted event.

" - }, - "ActivityTaskFailedEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "reason":{ - "shape":"FailureReason", - "documentation":"

The reason provided for the failure.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the failure.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskFailed event.

" - }, - "ActivityTaskScheduledEventAttributes":{ - "type":"structure", - "required":[ - "activityType", - "activityId", - "taskList", - "decisionTaskCompletedEventId" - ], - "members":{ - "activityType":{ - "shape":"ActivityType", - "documentation":"

The type of the activity task.

" - }, - "activityId":{ - "shape":"ActivityId", - "documentation":"

The unique ID of the activity task.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input provided to the activity task.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

" - }, - "scheduleToStartTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum amount of time the activity task can wait to be assigned to a worker.

" - }, - "scheduleToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum amount of time for this activity task.

" - }, - "startToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum amount of time a worker may take to process the activity task.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The task list in which the activity task has been scheduled.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The priority to assign to the scheduled activity task. If set, this overrides any default priority value that was assigned when the activity type was registered.

Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "heartbeatTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum time before which the worker processing this task must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or return a result, it is ignored.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskScheduled event.

" - }, - "ActivityTaskStartedEventAttributes":{ - "type":"structure", - "required":["scheduledEventId"], - "members":{ - "identity":{ - "shape":"Identity", - "documentation":"

Identity of the worker that was assigned this task. This aids diagnostics when problems arise. The form of this identity is user defined.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskStarted event.

" - }, - "ActivityTaskStatus":{ - "type":"structure", - "required":["cancelRequested"], - "members":{ - "cancelRequested":{ - "shape":"Canceled", - "documentation":"

Set to true if cancellation of the task is requested.

" - } - }, - "documentation":"

Status information about an activity task.

" - }, - "ActivityTaskTimedOutEventAttributes":{ - "type":"structure", - "required":[ - "timeoutType", - "scheduledEventId", - "startedEventId" - ], - "members":{ - "timeoutType":{ - "shape":"ActivityTaskTimeoutType", - "documentation":"

The type of the timeout that caused this event.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "details":{ - "shape":"LimitedData", - "documentation":"

Contains the content of the details parameter for the last call made by the activity to RecordActivityTaskHeartbeat.

" - } - }, - "documentation":"

Provides the details of the ActivityTaskTimedOut event.

" - }, - "ActivityTaskTimeoutType":{ - "type":"string", - "enum":[ - "START_TO_CLOSE", - "SCHEDULE_TO_START", - "SCHEDULE_TO_CLOSE", - "HEARTBEAT" - ] - }, - "ActivityType":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of this activity.

The combination of activity type name and version must be unique within a domain.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of this activity.

The combination of activity type name and version must be unique with in a domain.

" - } - }, - "documentation":"

Represents an activity type.

" - }, - "ActivityTypeConfiguration":{ - "type":"structure", - "members":{ - "defaultTaskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum duration for tasks of an activity type specified when registering the activity type. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskHeartbeatTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum time, in seconds, before which a worker processing a task must report progress by calling RecordActivityTaskHeartbeat.

You can specify this value only when registering an activity type. The registered default value can be overridden when you schedule a task through the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskList":{ - "shape":"TaskList", - "documentation":"

The default task list specified for this activity type at registration. This default is used if a task list isn't provided when a task is scheduled through the ScheduleActivityTask Decision. You can override the default registered task list when scheduling a task through the ScheduleActivityTask Decision.

" - }, - "defaultTaskPriority":{ - "shape":"TaskPriority", - "documentation":"

The default task priority for tasks of this activity type, specified at registration. If not set, then 0 is used as the default priority. This default can be overridden when scheduling an activity task.

Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "defaultTaskScheduleToStartTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum duration, specified when registering the activity type, that a task of an activity type can wait before being assigned to a worker. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskScheduleToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum duration, specified when registering the activity type, for tasks of this activity type. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - } - }, - "documentation":"

Configuration settings registered with the activity type.

" - }, - "ActivityTypeDetail":{ - "type":"structure", - "required":[ - "typeInfo", - "configuration" - ], - "members":{ - "typeInfo":{ - "shape":"ActivityTypeInfo", - "documentation":"

General information about the activity type.

The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.

  • REGISTERED – The type is registered and available. Workers supporting this type should be running.

  • DEPRECATED – The type was deprecated using DeprecateActivityType, but is still in use. You should keep workers supporting this type running. You cannot create new tasks of this type.

" - }, - "configuration":{ - "shape":"ActivityTypeConfiguration", - "documentation":"

The configuration settings registered with the activity type.

" - } - }, - "documentation":"

Detailed information about an activity type.

" - }, - "ActivityTypeInfo":{ - "type":"structure", - "required":[ - "activityType", - "status", - "creationDate" - ], - "members":{ - "activityType":{ - "shape":"ActivityType", - "documentation":"

The ActivityType type structure representing the activity type.

" - }, - "status":{ - "shape":"RegistrationStatus", - "documentation":"

The current status of the activity type.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the activity type provided in RegisterActivityType.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date and time this activity type was created through RegisterActivityType.

" - }, - "deprecationDate":{ - "shape":"Timestamp", - "documentation":"

If DEPRECATED, the date and time DeprecateActivityType was called.

" - } - }, - "documentation":"

Detailed information about an activity type.

" - }, - "ActivityTypeInfoList":{ - "type":"list", - "member":{"shape":"ActivityTypeInfo"} - }, - "ActivityTypeInfos":{ - "type":"structure", - "required":["typeInfos"], - "members":{ - "typeInfos":{ - "shape":"ActivityTypeInfoList", - "documentation":"

List of activity type information.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - } - }, - "documentation":"

Contains a paginated list of activity type information structures.

" - }, - "Arn":{ - "type":"string", - "max":1600, - "min":1 - }, - "CancelTimerDecisionAttributes":{ - "type":"structure", - "required":["timerId"], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The unique ID of the timer to cancel.

" - } - }, - "documentation":"

Provides the details of the CancelTimer decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CancelTimerFailedCause":{ - "type":"string", - "enum":[ - "TIMER_ID_UNKNOWN", - "OPERATION_NOT_PERMITTED" - ] - }, - "CancelTimerFailedEventAttributes":{ - "type":"structure", - "required":[ - "timerId", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The timerId provided in the CancelTimer decision that failed.

" - }, - "cause":{ - "shape":"CancelTimerFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelTimer decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the CancelTimerFailed event.

" - }, - "CancelWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "members":{ - "details":{ - "shape":"Data", - "documentation":"

Details of the cancellation.

" - } - }, - "documentation":"

Provides the details of the CancelWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CancelWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNHANDLED_DECISION", - "OPERATION_NOT_PERMITTED" - ] - }, - "CancelWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "cause":{ - "shape":"CancelWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the CancelWorkflowExecutionFailed event.

" - }, - "Canceled":{"type":"boolean"}, - "CauseMessage":{ - "type":"string", - "max":1728 - }, - "ChildPolicy":{ - "type":"string", - "enum":[ - "TERMINATE", - "REQUEST_CANCEL", - "ABANDON" - ] - }, - "ChildWorkflowExecutionCanceledEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "initiatedEventId", - "startedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that was canceled.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "details":{ - "shape":"Data", - "documentation":"

Details of the cancellation (if provided).

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provide details of the ChildWorkflowExecutionCanceled event.

" - }, - "ChildWorkflowExecutionCompletedEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "initiatedEventId", - "startedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that was completed.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "result":{ - "shape":"Data", - "documentation":"

The result of the child workflow execution.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ChildWorkflowExecutionCompleted event.

" - }, - "ChildWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "initiatedEventId", - "startedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that failed.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "reason":{ - "shape":"FailureReason", - "documentation":"

The reason for the failure (if provided).

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the failure (if provided).

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ChildWorkflowExecutionFailed event.

" - }, - "ChildWorkflowExecutionStartedEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "initiatedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that was started.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ChildWorkflowExecutionStarted event.

" - }, - "ChildWorkflowExecutionTerminatedEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "initiatedEventId", - "startedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that was terminated.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ChildWorkflowExecutionTerminated event.

" - }, - "ChildWorkflowExecutionTimedOutEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "workflowType", - "timeoutType", - "initiatedEventId", - "startedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The child workflow execution that timed out.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "timeoutType":{ - "shape":"WorkflowExecutionTimeoutType", - "documentation":"

The type of the timeout that caused the child workflow execution to time out.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ChildWorkflowExecutionTimedOut event.

" - }, - "CloseStatus":{ - "type":"string", - "enum":[ - "COMPLETED", - "FAILED", - "CANCELED", - "TERMINATED", - "CONTINUED_AS_NEW", - "TIMED_OUT" - ] - }, - "CloseStatusFilter":{ - "type":"structure", - "required":["status"], - "members":{ - "status":{ - "shape":"CloseStatus", - "documentation":"

The close status that must match the close status of an execution for it to meet the criteria of this filter.

" - } - }, - "documentation":"

Used to filter the closed workflow executions in visibility APIs by their close status.

" - }, - "CompleteWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "members":{ - "result":{ - "shape":"Data", - "documentation":"

The result of the workflow execution. The form of the result is implementation defined.

" - } - }, - "documentation":"

Provides the details of the CompleteWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "CompleteWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNHANDLED_DECISION", - "OPERATION_NOT_PERMITTED" - ] - }, - "CompleteWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "cause":{ - "shape":"CompleteWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CompleteWorkflowExecution decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the CompleteWorkflowExecutionFailed event.

" - }, - "ContinueAsNewWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "members":{ - "input":{ - "shape":"Data", - "documentation":"

The input provided to the new workflow execution.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The task list to use for the decisions of the new (continued) workflow execution.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.

" - }, - "workflowTypeVersion":{ - "shape":"Version", - "documentation":"

The version of the workflow to start.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role to attach to the new (continued) execution.

" - } - }, - "documentation":"

Provides the details of the ContinueAsNewWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tag – A tag used to identify the workflow execution

    • taskList – String constraint. The key is swf:taskList.name.

    • workflowType.version – String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ContinueAsNewWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNHANDLED_DECISION", - "WORKFLOW_TYPE_DEPRECATED", - "WORKFLOW_TYPE_DOES_NOT_EXIST", - "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_TASK_LIST_UNDEFINED", - "DEFAULT_CHILD_POLICY_UNDEFINED", - "CONTINUE_AS_NEW_WORKFLOW_EXECUTION_RATE_EXCEEDED", - "OPERATION_NOT_PERMITTED" - ] - }, - "ContinueAsNewWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "cause":{ - "shape":"ContinueAsNewWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the ContinueAsNewWorkflowExecution decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ContinueAsNewWorkflowExecutionFailed event.

" - }, - "Count":{ - "type":"integer", - "min":0 - }, - "CountClosedWorkflowExecutionsInput":{ - "type":"structure", - "required":["domain"], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow executions to count.

" - }, - "startTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

If specified, only workflow executions that meet the start time criteria of the filter are counted.

startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

" - }, - "closeTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

If specified, only workflow executions that meet the close time criteria of the filter are counted.

startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

" - }, - "executionFilter":{ - "shape":"WorkflowExecutionFilter", - "documentation":"

If specified, only workflow executions matching the WorkflowId in the filter are counted.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "typeFilter":{ - "shape":"WorkflowTypeFilter", - "documentation":"

If specified, indicates the type of the workflow executions to be counted.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "tagFilter":{ - "shape":"TagFilter", - "documentation":"

If specified, only executions that have a tag that matches the filter are counted.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "closeStatusFilter":{ - "shape":"CloseStatusFilter", - "documentation":"

If specified, only workflow executions that match this close status are counted. This filter has an affect only if executionStatus is specified as CLOSED.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - } - } - }, - "CountOpenWorkflowExecutionsInput":{ - "type":"structure", - "required":[ - "domain", - "startTimeFilter" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow executions to count.

" - }, - "startTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

Specifies the start time criteria that workflow executions must meet in order to be counted.

" - }, - "typeFilter":{ - "shape":"WorkflowTypeFilter", - "documentation":"

Specifies the type of the workflow executions to be counted.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "tagFilter":{ - "shape":"TagFilter", - "documentation":"

If specified, only executions that have a tag that matches the filter are counted.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "executionFilter":{ - "shape":"WorkflowExecutionFilter", - "documentation":"

If specified, only workflow executions matching the WorkflowId in the filter are counted.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - } - } - }, - "CountPendingActivityTasksInput":{ - "type":"structure", - "required":[ - "domain", - "taskList" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain that contains the task list.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list.

" - } - } - }, - "CountPendingDecisionTasksInput":{ - "type":"structure", - "required":[ - "domain", - "taskList" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain that contains the task list.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list.

" - } - } - }, - "Data":{ - "type":"string", - "max":32768 - }, - "Decision":{ - "type":"structure", - "required":["decisionType"], - "members":{ - "decisionType":{ - "shape":"DecisionType", - "documentation":"

Specifies the type of the decision.

" - }, - "scheduleActivityTaskDecisionAttributes":{ - "shape":"ScheduleActivityTaskDecisionAttributes", - "documentation":"

Provides the details of the ScheduleActivityTask decision. It isn't set for other decision types.

" - }, - "requestCancelActivityTaskDecisionAttributes":{ - "shape":"RequestCancelActivityTaskDecisionAttributes", - "documentation":"

Provides the details of the RequestCancelActivityTask decision. It isn't set for other decision types.

" - }, - "completeWorkflowExecutionDecisionAttributes":{ - "shape":"CompleteWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the CompleteWorkflowExecution decision. It isn't set for other decision types.

" - }, - "failWorkflowExecutionDecisionAttributes":{ - "shape":"FailWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the FailWorkflowExecution decision. It isn't set for other decision types.

" - }, - "cancelWorkflowExecutionDecisionAttributes":{ - "shape":"CancelWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the CancelWorkflowExecution decision. It isn't set for other decision types.

" - }, - "continueAsNewWorkflowExecutionDecisionAttributes":{ - "shape":"ContinueAsNewWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't set for other decision types.

" - }, - "recordMarkerDecisionAttributes":{ - "shape":"RecordMarkerDecisionAttributes", - "documentation":"

Provides the details of the RecordMarker decision. It isn't set for other decision types.

" - }, - "startTimerDecisionAttributes":{ - "shape":"StartTimerDecisionAttributes", - "documentation":"

Provides the details of the StartTimer decision. It isn't set for other decision types.

" - }, - "cancelTimerDecisionAttributes":{ - "shape":"CancelTimerDecisionAttributes", - "documentation":"

Provides the details of the CancelTimer decision. It isn't set for other decision types.

" - }, - "signalExternalWorkflowExecutionDecisionAttributes":{ - "shape":"SignalExternalWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the SignalExternalWorkflowExecution decision. It isn't set for other decision types.

" - }, - "requestCancelExternalWorkflowExecutionDecisionAttributes":{ - "shape":"RequestCancelExternalWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the RequestCancelExternalWorkflowExecution decision. It isn't set for other decision types.

" - }, - "startChildWorkflowExecutionDecisionAttributes":{ - "shape":"StartChildWorkflowExecutionDecisionAttributes", - "documentation":"

Provides the details of the StartChildWorkflowExecution decision. It isn't set for other decision types.

" - }, - "scheduleLambdaFunctionDecisionAttributes":{ - "shape":"ScheduleLambdaFunctionDecisionAttributes", - "documentation":"

Provides the details of the ScheduleLambdaFunction decision. It isn't set for other decision types.

" - } - }, - "documentation":"

Specifies a decision made by the decider. A decision can be one of these types:

  • CancelTimer – Cancels a previously started timer and records a TimerCanceled event in the history.

  • CancelWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionCanceled event in the history.

  • CompleteWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionCompleted event in the history .

  • ContinueAsNewWorkflowExecution – Closes the workflow execution and starts a new workflow execution of the same type using the same workflow ID and a unique run Id. A WorkflowExecutionContinuedAsNew event is recorded in the history.

  • FailWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionFailed event in the history.

  • RecordMarker – Records a MarkerRecorded event in the history. Markers can be used for adding custom information in the history for instance to let deciders know that they don't need to look at the history beyond the marker event.

  • RequestCancelActivityTask – Attempts to cancel a previously scheduled activity task. If the activity task was scheduled but has not been assigned to a worker, then it is canceled. If the activity task was already assigned to a worker, then the worker is informed that cancellation has been requested in the response to RecordActivityTaskHeartbeat.

  • RequestCancelExternalWorkflowExecution – Requests that a request be made to cancel the specified external workflow execution and records a RequestCancelExternalWorkflowExecutionInitiated event in the history.

  • ScheduleActivityTask – Schedules an activity task.

  • SignalExternalWorkflowExecution – Requests a signal to be delivered to the specified external workflow execution and records a SignalExternalWorkflowExecutionInitiated event in the history.

  • StartChildWorkflowExecution – Requests that a child workflow execution be started and records a StartChildWorkflowExecutionInitiated event in the history. The child workflow execution is a separate workflow execution with its own history.

  • StartTimer – Starts a timer for this workflow execution and records a TimerStarted event in the history. This timer fires after the specified delay and record a TimerFired event.

Access Control

If you grant permission to use RespondDecisionTaskCompleted, you can use IAM policies to express permissions for the list of decisions returned by this action as if they were members of the API. Treating decisions as a pseudo API maintains a uniform conceptual model and helps keep policies readable. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

Decision Failure

Decisions can fail for several reasons

  • The ordering of decisions should follow a logical flow. Some decisions might not make sense in the current context of the workflow execution and therefore fails.

  • A limit on your account was reached.

  • The decision lacks sufficient permissions.

One of the following events might be added to the history to indicate an error. The event attribute's cause parameter indicates the cause. If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

  • ScheduleActivityTaskFailed – A ScheduleActivityTask decision failed. This could happen if the activity type specified in the decision isn't registered, is in a deprecated state, or the decision isn't properly configured.

  • RequestCancelActivityTaskFailed – A RequestCancelActivityTask decision failed. This could happen if there is no open activity task with the specified activityId.

  • StartTimerFailed – A StartTimer decision failed. This could happen if there is another open timer with the same timerId.

  • CancelTimerFailed – A CancelTimer decision failed. This could happen if there is no open timer with the specified timerId.

  • StartChildWorkflowExecutionFailed – A StartChildWorkflowExecution decision failed. This could happen if the workflow type specified isn't registered, is deprecated, or the decision isn't properly configured.

  • SignalExternalWorkflowExecutionFailed – A SignalExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.

  • RequestCancelExternalWorkflowExecutionFailed – A RequestCancelExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.

  • CancelWorkflowExecutionFailed – A CancelWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

  • CompleteWorkflowExecutionFailed – A CompleteWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

  • ContinueAsNewWorkflowExecutionFailed – A ContinueAsNewWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution or the ContinueAsNewWorkflowExecution decision was not configured correctly.

  • FailWorkflowExecutionFailed – A FailWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

The preceding error events might occur due to an error in the decider logic, which might put the workflow execution in an unstable state The cause field in the event structure for the error event indicates the cause of the error.

A workflow execution may be closed by the decider by returning one of the following decisions when completing a decision task: CompleteWorkflowExecution, FailWorkflowExecution, CancelWorkflowExecution and ContinueAsNewWorkflowExecution. An UnhandledDecision fault is returned if a workflow closing decision is specified and a signal or activity event had been added to the history while the decision task was being performed by the decider. Unlike the above situations which are logic issues, this fault is always possible because of race conditions in a distributed system. The right action here is to call RespondDecisionTaskCompleted without any decisions. This would result in another decision task with these new events included in the history. The decider should handle the new events and may decide to close the workflow execution.

How to Code a Decision

You code a decision by first setting the decision type field to one of the above decision values, and then set the corresponding attributes field shown below:

" - }, - "DecisionList":{ - "type":"list", - "member":{"shape":"Decision"} - }, - "DecisionTask":{ - "type":"structure", - "required":[ - "taskToken", - "startedEventId", - "workflowExecution", - "workflowType", - "events" - ], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskStarted event recorded in the history.

" - }, - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The workflow execution for which this decision task was created.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the workflow execution for which this decision task was created.

" - }, - "events":{ - "shape":"HistoryEventList", - "documentation":"

A paginated list of history events of the workflow execution. The decider uses this during the processing of the decision task.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "previousStartedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskStarted event of the previous decision task of this workflow execution that was processed by the decider. This can be used to determine the events in the history new since the last decision task received by the decider.

" - } - }, - "documentation":"

A structure that represents a decision task. Decision tasks are sent to deciders in order for them to make decisions.

" - }, - "DecisionTaskCompletedEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "executionContext":{ - "shape":"Data", - "documentation":"

User defined context for the workflow execution.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskStarted event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the DecisionTaskCompleted event.

" - }, - "DecisionTaskScheduledEventAttributes":{ - "type":"structure", - "required":["taskList"], - "members":{ - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list in which the decision task was scheduled.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

A task priority that, if set, specifies the priority for this decision task. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "startToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration for this decision task. The task is considered timed out if it doesn't completed within this duration.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - } - }, - "documentation":"

Provides details about the DecisionTaskScheduled event.

" - }, - "DecisionTaskStartedEventAttributes":{ - "type":"structure", - "required":["scheduledEventId"], - "members":{ - "identity":{ - "shape":"Identity", - "documentation":"

Identity of the decider making the request. This enables diagnostic tracing when problems arise. The form of this identity is user defined.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the DecisionTaskStarted event.

" - }, - "DecisionTaskTimedOutEventAttributes":{ - "type":"structure", - "required":[ - "timeoutType", - "scheduledEventId", - "startedEventId" - ], - "members":{ - "timeoutType":{ - "shape":"DecisionTaskTimeoutType", - "documentation":"

The type of timeout that expired before the decision task could be completed.

" - }, - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskStarted event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the DecisionTaskTimedOut event.

" - }, - "DecisionTaskTimeoutType":{ - "type":"string", - "enum":["START_TO_CLOSE"] - }, - "DecisionType":{ - "type":"string", - "enum":[ - "ScheduleActivityTask", - "RequestCancelActivityTask", - "CompleteWorkflowExecution", - "FailWorkflowExecution", - "CancelWorkflowExecution", - "ContinueAsNewWorkflowExecution", - "RecordMarker", - "StartTimer", - "CancelTimer", - "SignalExternalWorkflowExecution", - "RequestCancelExternalWorkflowExecution", - "StartChildWorkflowExecution", - "ScheduleLambdaFunction" - ] - }, - "DefaultUndefinedFault":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessage"} - }, - "documentation":"

The StartWorkflowExecution API action was called without the required parameters set.

Some workflow execution parameters, such as the decision taskList, must be set to start the execution. However, these parameters might have been set as defaults when the workflow type was registered. In this case, you can omit these parameters from the StartWorkflowExecution call and Amazon SWF uses the values defined in the workflow type.

If these parameters aren't set and no default parameters were defined in the workflow type, this error is displayed.

", - "exception":true - }, - "DeprecateActivityTypeInput":{ - "type":"structure", - "required":[ - "domain", - "activityType" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the activity type is registered.

" - }, - "activityType":{ - "shape":"ActivityType", - "documentation":"

The activity type to deprecate.

" - } - } - }, - "DeprecateDomainInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"DomainName", - "documentation":"

The name of the domain to deprecate.

" - } - } - }, - "DeprecateWorkflowTypeInput":{ - "type":"structure", - "required":[ - "domain", - "workflowType" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the workflow type is registered.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type to deprecate.

" - } - } - }, - "DescribeActivityTypeInput":{ - "type":"structure", - "required":[ - "domain", - "activityType" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the activity type is registered.

" - }, - "activityType":{ - "shape":"ActivityType", - "documentation":"

The activity type to get information about. Activity types are identified by the name and version that were supplied when the activity was registered.

" - } - } - }, - "DescribeDomainInput":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"DomainName", - "documentation":"

The name of the domain to describe.

" - } - } - }, - "DescribeWorkflowExecutionInput":{ - "type":"structure", - "required":[ - "domain", - "execution" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow execution.

" - }, - "execution":{ - "shape":"WorkflowExecution", - "documentation":"

The workflow execution to describe.

" - } - } - }, - "DescribeWorkflowTypeInput":{ - "type":"structure", - "required":[ - "domain", - "workflowType" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which this workflow type is registered.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type to describe.

" - } - } - }, - "Description":{ - "type":"string", - "max":1024 - }, - "DomainAlreadyExistsFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned if the specified domain already exists. You get this fault even if the existing domain is in deprecated status.

", - "exception":true - }, - "DomainConfiguration":{ - "type":"structure", - "required":["workflowExecutionRetentionPeriodInDays"], - "members":{ - "workflowExecutionRetentionPeriodInDays":{ - "shape":"DurationInDays", - "documentation":"

The retention period for workflow executions in this domain.

" - } - }, - "documentation":"

Contains the configuration settings of a domain.

" - }, - "DomainDeprecatedFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned when the specified domain has been deprecated.

", - "exception":true - }, - "DomainDetail":{ - "type":"structure", - "required":[ - "domainInfo", - "configuration" - ], - "members":{ - "domainInfo":{ - "shape":"DomainInfo", - "documentation":"

The basic information about a domain, such as its name, status, and description.

" - }, - "configuration":{ - "shape":"DomainConfiguration", - "documentation":"

The domain configuration. Currently, this includes only the domain's retention period.

" - } - }, - "documentation":"

Contains details of a domain.

" - }, - "DomainInfo":{ - "type":"structure", - "required":[ - "name", - "status" - ], - "members":{ - "name":{ - "shape":"DomainName", - "documentation":"

The name of the domain. This name is unique within the account.

" - }, - "status":{ - "shape":"RegistrationStatus", - "documentation":"

The status of the domain:

  • REGISTERED – The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions.

  • DEPRECATED – The domain was deprecated using DeprecateDomain, but is still in use. You should not create new workflow executions in this domain.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the domain provided through RegisterDomain.

" - } - }, - "documentation":"

Contains general information about a domain.

" - }, - "DomainInfoList":{ - "type":"list", - "member":{"shape":"DomainInfo"} - }, - "DomainInfos":{ - "type":"structure", - "required":["domainInfos"], - "members":{ - "domainInfos":{ - "shape":"DomainInfoList", - "documentation":"

A list of DomainInfo structures.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - } - }, - "documentation":"

Contains a paginated collection of DomainInfo structures.

" - }, - "DomainName":{ - "type":"string", - "max":256, - "min":1 - }, - "DurationInDays":{ - "type":"string", - "max":8, - "min":1 - }, - "DurationInSeconds":{ - "type":"string", - "max":8, - "min":1 - }, - "DurationInSecondsOptional":{ - "type":"string", - "max":8 - }, - "ErrorMessage":{"type":"string"}, - "EventId":{"type":"long"}, - "EventType":{ - "type":"string", - "enum":[ - "WorkflowExecutionStarted", - "WorkflowExecutionCancelRequested", - "WorkflowExecutionCompleted", - "CompleteWorkflowExecutionFailed", - "WorkflowExecutionFailed", - "FailWorkflowExecutionFailed", - "WorkflowExecutionTimedOut", - "WorkflowExecutionCanceled", - "CancelWorkflowExecutionFailed", - "WorkflowExecutionContinuedAsNew", - "ContinueAsNewWorkflowExecutionFailed", - "WorkflowExecutionTerminated", - "DecisionTaskScheduled", - "DecisionTaskStarted", - "DecisionTaskCompleted", - "DecisionTaskTimedOut", - "ActivityTaskScheduled", - "ScheduleActivityTaskFailed", - "ActivityTaskStarted", - "ActivityTaskCompleted", - "ActivityTaskFailed", - "ActivityTaskTimedOut", - "ActivityTaskCanceled", - "ActivityTaskCancelRequested", - "RequestCancelActivityTaskFailed", - "WorkflowExecutionSignaled", - "MarkerRecorded", - "RecordMarkerFailed", - "TimerStarted", - "StartTimerFailed", - "TimerFired", - "TimerCanceled", - "CancelTimerFailed", - "StartChildWorkflowExecutionInitiated", - "StartChildWorkflowExecutionFailed", - "ChildWorkflowExecutionStarted", - "ChildWorkflowExecutionCompleted", - "ChildWorkflowExecutionFailed", - "ChildWorkflowExecutionTimedOut", - "ChildWorkflowExecutionCanceled", - "ChildWorkflowExecutionTerminated", - "SignalExternalWorkflowExecutionInitiated", - "SignalExternalWorkflowExecutionFailed", - "ExternalWorkflowExecutionSignaled", - "RequestCancelExternalWorkflowExecutionInitiated", - "RequestCancelExternalWorkflowExecutionFailed", - "ExternalWorkflowExecutionCancelRequested", - "LambdaFunctionScheduled", - "LambdaFunctionStarted", - "LambdaFunctionCompleted", - "LambdaFunctionFailed", - "LambdaFunctionTimedOut", - "ScheduleLambdaFunctionFailed", - "StartLambdaFunctionFailed" - ] - }, - "ExecutionStatus":{ - "type":"string", - "enum":[ - "OPEN", - "CLOSED" - ] - }, - "ExecutionTimeFilter":{ - "type":"structure", - "required":["oldestDate"], - "members":{ - "oldestDate":{ - "shape":"Timestamp", - "documentation":"

Specifies the oldest start or close date and time to return.

" - }, - "latestDate":{ - "shape":"Timestamp", - "documentation":"

Specifies the latest start or close date and time to return.

" - } - }, - "documentation":"

Used to filter the workflow executions in visibility APIs by various time-based rules. Each parameter, if specified, defines a rule that must be satisfied by each returned query result. The parameter values are in the Unix Time format. For example: \"oldestDate\": 1325376070.

" - }, - "ExternalWorkflowExecutionCancelRequestedEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "initiatedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The external workflow execution to which the cancellation request was delivered.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding to the RequestCancelExternalWorkflowExecution decision to cancel this external workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ExternalWorkflowExecutionCancelRequested event.

" - }, - "ExternalWorkflowExecutionSignaledEventAttributes":{ - "type":"structure", - "required":[ - "workflowExecution", - "initiatedEventId" - ], - "members":{ - "workflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The external workflow execution that the signal was delivered to.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ExternalWorkflowExecutionSignaled event.

" - }, - "FailWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "members":{ - "reason":{ - "shape":"FailureReason", - "documentation":"

A descriptive reason for the failure that may help in diagnostics.

" - }, - "details":{ - "shape":"Data", - "documentation":"

Details of the failure.

" - } - }, - "documentation":"

Provides the details of the FailWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "FailWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNHANDLED_DECISION", - "OPERATION_NOT_PERMITTED" - ] - }, - "FailWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "cause":{ - "shape":"FailWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the FailWorkflowExecution decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the FailWorkflowExecutionFailed event.

" - }, - "FailureReason":{ - "type":"string", - "max":256 - }, - "FunctionId":{ - "type":"string", - "max":256, - "min":1 - }, - "FunctionInput":{ - "type":"string", - "max":32768, - "min":0 - }, - "FunctionName":{ - "type":"string", - "max":64, - "min":1 - }, - "GetWorkflowExecutionHistoryInput":{ - "type":"structure", - "required":[ - "domain", - "execution" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow execution.

" - }, - "execution":{ - "shape":"WorkflowExecution", - "documentation":"

Specifies the workflow execution for which to return the history.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimeStamp of the events.

" - } - } - }, - "History":{ - "type":"structure", - "required":["events"], - "members":{ - "events":{ - "shape":"HistoryEventList", - "documentation":"

The list of history events.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - } - }, - "documentation":"

Paginated representation of a workflow history for a workflow execution. This is the up to date, complete and authoritative record of the events related to all tasks and events in the life of the workflow execution.

" - }, - "HistoryEvent":{ - "type":"structure", - "required":[ - "eventTimestamp", - "eventType", - "eventId" - ], - "members":{ - "eventTimestamp":{ - "shape":"Timestamp", - "documentation":"

The date and time when the event occurred.

" - }, - "eventType":{ - "shape":"EventType", - "documentation":"

The type of the history event.

" - }, - "eventId":{ - "shape":"EventId", - "documentation":"

The system generated ID of the event. This ID uniquely identifies the event with in the workflow execution history.

" - }, - "workflowExecutionStartedEventAttributes":{ - "shape":"WorkflowExecutionStartedEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionCompletedEventAttributes":{ - "shape":"WorkflowExecutionCompletedEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "completeWorkflowExecutionFailedEventAttributes":{ - "shape":"CompleteWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type CompleteWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionFailedEventAttributes":{ - "shape":"WorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "failWorkflowExecutionFailedEventAttributes":{ - "shape":"FailWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type FailWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionTimedOutEventAttributes":{ - "shape":"WorkflowExecutionTimedOutEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionCanceledEventAttributes":{ - "shape":"WorkflowExecutionCanceledEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "cancelWorkflowExecutionFailedEventAttributes":{ - "shape":"CancelWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type CancelWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionContinuedAsNewEventAttributes":{ - "shape":"WorkflowExecutionContinuedAsNewEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionContinuedAsNew then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "continueAsNewWorkflowExecutionFailedEventAttributes":{ - "shape":"ContinueAsNewWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionTerminatedEventAttributes":{ - "shape":"WorkflowExecutionTerminatedEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionTerminated then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionCancelRequestedEventAttributes":{ - "shape":"WorkflowExecutionCancelRequestedEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "decisionTaskScheduledEventAttributes":{ - "shape":"DecisionTaskScheduledEventAttributes", - "documentation":"

If the event is of type DecisionTaskScheduled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "decisionTaskStartedEventAttributes":{ - "shape":"DecisionTaskStartedEventAttributes", - "documentation":"

If the event is of type DecisionTaskStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "decisionTaskCompletedEventAttributes":{ - "shape":"DecisionTaskCompletedEventAttributes", - "documentation":"

If the event is of type DecisionTaskCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "decisionTaskTimedOutEventAttributes":{ - "shape":"DecisionTaskTimedOutEventAttributes", - "documentation":"

If the event is of type DecisionTaskTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskScheduledEventAttributes":{ - "shape":"ActivityTaskScheduledEventAttributes", - "documentation":"

If the event is of type ActivityTaskScheduled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskStartedEventAttributes":{ - "shape":"ActivityTaskStartedEventAttributes", - "documentation":"

If the event is of type ActivityTaskStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskCompletedEventAttributes":{ - "shape":"ActivityTaskCompletedEventAttributes", - "documentation":"

If the event is of type ActivityTaskCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskFailedEventAttributes":{ - "shape":"ActivityTaskFailedEventAttributes", - "documentation":"

If the event is of type ActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskTimedOutEventAttributes":{ - "shape":"ActivityTaskTimedOutEventAttributes", - "documentation":"

If the event is of type ActivityTaskTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskCanceledEventAttributes":{ - "shape":"ActivityTaskCanceledEventAttributes", - "documentation":"

If the event is of type ActivityTaskCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "activityTaskCancelRequestedEventAttributes":{ - "shape":"ActivityTaskCancelRequestedEventAttributes", - "documentation":"

If the event is of type ActivityTaskcancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "workflowExecutionSignaledEventAttributes":{ - "shape":"WorkflowExecutionSignaledEventAttributes", - "documentation":"

If the event is of type WorkflowExecutionSignaled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "markerRecordedEventAttributes":{ - "shape":"MarkerRecordedEventAttributes", - "documentation":"

If the event is of type MarkerRecorded then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "recordMarkerFailedEventAttributes":{ - "shape":"RecordMarkerFailedEventAttributes", - "documentation":"

If the event is of type DecisionTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "timerStartedEventAttributes":{ - "shape":"TimerStartedEventAttributes", - "documentation":"

If the event is of type TimerStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "timerFiredEventAttributes":{ - "shape":"TimerFiredEventAttributes", - "documentation":"

If the event is of type TimerFired then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "timerCanceledEventAttributes":{ - "shape":"TimerCanceledEventAttributes", - "documentation":"

If the event is of type TimerCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "startChildWorkflowExecutionInitiatedEventAttributes":{ - "shape":"StartChildWorkflowExecutionInitiatedEventAttributes", - "documentation":"

If the event is of type StartChildWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionStartedEventAttributes":{ - "shape":"ChildWorkflowExecutionStartedEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionCompletedEventAttributes":{ - "shape":"ChildWorkflowExecutionCompletedEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionFailedEventAttributes":{ - "shape":"ChildWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionTimedOutEventAttributes":{ - "shape":"ChildWorkflowExecutionTimedOutEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionCanceledEventAttributes":{ - "shape":"ChildWorkflowExecutionCanceledEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "childWorkflowExecutionTerminatedEventAttributes":{ - "shape":"ChildWorkflowExecutionTerminatedEventAttributes", - "documentation":"

If the event is of type ChildWorkflowExecutionTerminated then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "signalExternalWorkflowExecutionInitiatedEventAttributes":{ - "shape":"SignalExternalWorkflowExecutionInitiatedEventAttributes", - "documentation":"

If the event is of type SignalExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "externalWorkflowExecutionSignaledEventAttributes":{ - "shape":"ExternalWorkflowExecutionSignaledEventAttributes", - "documentation":"

If the event is of type ExternalWorkflowExecutionSignaled then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "signalExternalWorkflowExecutionFailedEventAttributes":{ - "shape":"SignalExternalWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type SignalExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "externalWorkflowExecutionCancelRequestedEventAttributes":{ - "shape":"ExternalWorkflowExecutionCancelRequestedEventAttributes", - "documentation":"

If the event is of type ExternalWorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "requestCancelExternalWorkflowExecutionInitiatedEventAttributes":{ - "shape":"RequestCancelExternalWorkflowExecutionInitiatedEventAttributes", - "documentation":"

If the event is of type RequestCancelExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "requestCancelExternalWorkflowExecutionFailedEventAttributes":{ - "shape":"RequestCancelExternalWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type RequestCancelExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "scheduleActivityTaskFailedEventAttributes":{ - "shape":"ScheduleActivityTaskFailedEventAttributes", - "documentation":"

If the event is of type ScheduleActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "requestCancelActivityTaskFailedEventAttributes":{ - "shape":"RequestCancelActivityTaskFailedEventAttributes", - "documentation":"

If the event is of type RequestCancelActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "startTimerFailedEventAttributes":{ - "shape":"StartTimerFailedEventAttributes", - "documentation":"

If the event is of type StartTimerFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "cancelTimerFailedEventAttributes":{ - "shape":"CancelTimerFailedEventAttributes", - "documentation":"

If the event is of type CancelTimerFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "startChildWorkflowExecutionFailedEventAttributes":{ - "shape":"StartChildWorkflowExecutionFailedEventAttributes", - "documentation":"

If the event is of type StartChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

" - }, - "lambdaFunctionScheduledEventAttributes":{ - "shape":"LambdaFunctionScheduledEventAttributes", - "documentation":"

Provides the details of the LambdaFunctionScheduled event. It isn't set for other event types.

" - }, - "lambdaFunctionStartedEventAttributes":{ - "shape":"LambdaFunctionStartedEventAttributes", - "documentation":"

Provides the details of the LambdaFunctionStarted event. It isn't set for other event types.

" - }, - "lambdaFunctionCompletedEventAttributes":{ - "shape":"LambdaFunctionCompletedEventAttributes", - "documentation":"

Provides the details of the LambdaFunctionCompleted event. It isn't set for other event types.

" - }, - "lambdaFunctionFailedEventAttributes":{ - "shape":"LambdaFunctionFailedEventAttributes", - "documentation":"

Provides the details of the LambdaFunctionFailed event. It isn't set for other event types.

" - }, - "lambdaFunctionTimedOutEventAttributes":{ - "shape":"LambdaFunctionTimedOutEventAttributes", - "documentation":"

Provides the details of the LambdaFunctionTimedOut event. It isn't set for other event types.

" - }, - "scheduleLambdaFunctionFailedEventAttributes":{ - "shape":"ScheduleLambdaFunctionFailedEventAttributes", - "documentation":"

Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for other event types.

" - }, - "startLambdaFunctionFailedEventAttributes":{ - "shape":"StartLambdaFunctionFailedEventAttributes", - "documentation":"

Provides the details of the StartLambdaFunctionFailed event. It isn't set for other event types.

" - } - }, - "documentation":"

Event within a workflow execution. A history event can be one of these types:

  • ActivityTaskCancelRequested – A RequestCancelActivityTask decision was received by the system.

  • ActivityTaskCanceled – The activity task was successfully canceled.

  • ActivityTaskCompleted – An activity worker successfully completed an activity task by calling RespondActivityTaskCompleted.

  • ActivityTaskFailed – An activity worker failed an activity task by calling RespondActivityTaskFailed.

  • ActivityTaskScheduled – An activity task was scheduled for execution.

  • ActivityTaskStarted – The scheduled activity task was dispatched to a worker.

  • ActivityTaskTimedOut – The activity task timed out.

  • CancelTimerFailed – Failed to process CancelTimer decision. This happens when the decision isn't configured properly, for example no timer exists with the specified timer Id.

  • CancelWorkflowExecutionFailed – A request to cancel a workflow execution failed.

  • ChildWorkflowExecutionCanceled – A child workflow execution, started by this workflow execution, was canceled and closed.

  • ChildWorkflowExecutionCompleted – A child workflow execution, started by this workflow execution, completed successfully and was closed.

  • ChildWorkflowExecutionFailed – A child workflow execution, started by this workflow execution, failed to complete successfully and was closed.

  • ChildWorkflowExecutionStarted – A child workflow execution was successfully started.

  • ChildWorkflowExecutionTerminated – A child workflow execution, started by this workflow execution, was terminated.

  • ChildWorkflowExecutionTimedOut – A child workflow execution, started by this workflow execution, timed out and was closed.

  • CompleteWorkflowExecutionFailed – The workflow execution failed to complete.

  • ContinueAsNewWorkflowExecutionFailed – The workflow execution failed to complete after being continued as a new workflow execution.

  • DecisionTaskCompleted – The decider successfully completed a decision task by calling RespondDecisionTaskCompleted.

  • DecisionTaskScheduled – A decision task was scheduled for the workflow execution.

  • DecisionTaskStarted – The decision task was dispatched to a decider.

  • DecisionTaskTimedOut – The decision task timed out.

  • ExternalWorkflowExecutionCancelRequested – Request to cancel an external workflow execution was successfully delivered to the target execution.

  • ExternalWorkflowExecutionSignaled – A signal, requested by this workflow execution, was successfully delivered to the target external workflow execution.

  • FailWorkflowExecutionFailed – A request to mark a workflow execution as failed, itself failed.

  • MarkerRecorded – A marker was recorded in the workflow history as the result of a RecordMarker decision.

  • RecordMarkerFailed – A RecordMarker decision was returned as failed.

  • RequestCancelActivityTaskFailed – Failed to process RequestCancelActivityTask decision. This happens when the decision isn't configured properly.

  • RequestCancelExternalWorkflowExecutionFailed – Request to cancel an external workflow execution failed.

  • RequestCancelExternalWorkflowExecutionInitiated – A request was made to request the cancellation of an external workflow execution.

  • ScheduleActivityTaskFailed – Failed to process ScheduleActivityTask decision. This happens when the decision isn't configured properly, for example the activity type specified isn't registered.

  • SignalExternalWorkflowExecutionFailed – The request to signal an external workflow execution failed.

  • SignalExternalWorkflowExecutionInitiated – A request to signal an external workflow was made.

  • StartActivityTaskFailed – A scheduled activity task failed to start.

  • StartChildWorkflowExecutionFailed – Failed to process StartChildWorkflowExecution decision. This happens when the decision isn't configured properly, for example the workflow type specified isn't registered.

  • StartChildWorkflowExecutionInitiated – A request was made to start a child workflow execution.

  • StartTimerFailed – Failed to process StartTimer decision. This happens when the decision isn't configured properly, for example a timer already exists with the specified timer Id.

  • TimerCanceled – A timer, previously started for this workflow execution, was successfully canceled.

  • TimerFired – A timer, previously started for this workflow execution, fired.

  • TimerStarted – A timer was started for the workflow execution due to a StartTimer decision.

  • WorkflowExecutionCancelRequested – A request to cancel this workflow execution was made.

  • WorkflowExecutionCanceled – The workflow execution was successfully canceled and closed.

  • WorkflowExecutionCompleted – The workflow execution was closed due to successful completion.

  • WorkflowExecutionContinuedAsNew – The workflow execution was closed and a new execution of the same type was created with the same workflowId.

  • WorkflowExecutionFailed – The workflow execution closed due to a failure.

  • WorkflowExecutionSignaled – An external signal was received for the workflow execution.

  • WorkflowExecutionStarted – The workflow execution was started.

  • WorkflowExecutionTerminated – The workflow execution was terminated.

  • WorkflowExecutionTimedOut – The workflow execution was closed because a time out was exceeded.

" - }, - "HistoryEventList":{ - "type":"list", - "member":{"shape":"HistoryEvent"} - }, - "Identity":{ - "type":"string", - "max":256 - }, - "LambdaFunctionCompletedEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionScheduled event that was recorded when this Lambda task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionStarted event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "result":{ - "shape":"Data", - "documentation":"

The results of the Lambda task.

" - } - }, - "documentation":"

Provides the details of the LambdaFunctionCompleted event. It isn't set for other event types.

" - }, - "LambdaFunctionFailedEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionStarted event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "reason":{ - "shape":"FailureReason", - "documentation":"

The reason provided for the failure.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the failure.

" - } - }, - "documentation":"

Provides the details of the LambdaFunctionFailed event. It isn't set for other event types.

" - }, - "LambdaFunctionScheduledEventAttributes":{ - "type":"structure", - "required":[ - "id", - "name", - "decisionTaskCompletedEventId" - ], - "members":{ - "id":{ - "shape":"FunctionId", - "documentation":"

The unique ID of the Lambda task.

" - }, - "name":{ - "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.

" - }, - "input":{ - "shape":"FunctionInput", - "documentation":"

The input provided to the Lambda task.

" - }, - "startToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum amount of time a worker can take to process the Lambda task.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionCompleted event corresponding to the decision that resulted in scheduling this activity task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the LambdaFunctionScheduled event. It isn't set for other event types.

" - }, - "LambdaFunctionStartedEventAttributes":{ - "type":"structure", - "required":["scheduledEventId"], - "members":{ - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the LambdaFunctionStarted event. It isn't set for other event types.

" - }, - "LambdaFunctionTimedOutEventAttributes":{ - "type":"structure", - "required":[ - "scheduledEventId", - "startedEventId" - ], - "members":{ - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskStarted event that was recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "timeoutType":{ - "shape":"LambdaFunctionTimeoutType", - "documentation":"

The type of the timeout that caused this event.

" - } - }, - "documentation":"

Provides details of the LambdaFunctionTimedOut event.

" - }, - "LambdaFunctionTimeoutType":{ - "type":"string", - "enum":["START_TO_CLOSE"] - }, - "LimitExceededFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

", - "exception":true - }, - "LimitedData":{ - "type":"string", - "max":2048 - }, - "ListActivityTypesInput":{ - "type":"structure", - "required":[ - "domain", - "registrationStatus" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the activity types have been registered.

" - }, - "name":{ - "shape":"Name", - "documentation":"

If specified, only lists the activity types that have this name.

" - }, - "registrationStatus":{ - "shape":"RegistrationStatus", - "documentation":"

Specifies the registration status of the activity types to list.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by name of the activity types.

" - } - } - }, - "ListClosedWorkflowExecutionsInput":{ - "type":"structure", - "required":["domain"], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain that contains the workflow executions to list.

" - }, - "startTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times.

startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

" - }, - "closeTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times.

startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

" - }, - "executionFilter":{ - "shape":"WorkflowExecutionFilter", - "documentation":"

If specified, only workflow executions matching the workflow ID specified in the filter are returned.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "closeStatusFilter":{ - "shape":"CloseStatusFilter", - "documentation":"

If specified, only workflow executions that match this close status are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "typeFilter":{ - "shape":"WorkflowTypeFilter", - "documentation":"

If specified, only executions of the type specified in the filter are returned.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "tagFilter":{ - "shape":"TagFilter", - "documentation":"

If specified, only executions that have the matching tag are listed.

closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the results in reverse order. By default the results are returned in descending order of the start or the close time of the executions.

" - } - } - }, - "ListDomainsInput":{ - "type":"structure", - "required":["registrationStatus"], - "members":{ - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "registrationStatus":{ - "shape":"RegistrationStatus", - "documentation":"

Specifies the registration status of the domains to list.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by name of the domains.

" - } - } - }, - "ListOpenWorkflowExecutionsInput":{ - "type":"structure", - "required":[ - "domain", - "startTimeFilter" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain that contains the workflow executions to list.

" - }, - "startTimeFilter":{ - "shape":"ExecutionTimeFilter", - "documentation":"

Workflow executions are included in the returned results based on whether their start times are within the range specified by this filter.

" - }, - "typeFilter":{ - "shape":"WorkflowTypeFilter", - "documentation":"

If specified, only executions of the type specified in the filter are returned.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "tagFilter":{ - "shape":"TagFilter", - "documentation":"

If specified, only executions that have the matching tag are listed.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the results in reverse order. By default the results are returned in descending order of the start time of the executions.

" - }, - "executionFilter":{ - "shape":"WorkflowExecutionFilter", - "documentation":"

If specified, only workflow executions matching the workflow ID specified in the filter are returned.

executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

" - } - } - }, - "ListWorkflowTypesInput":{ - "type":"structure", - "required":[ - "domain", - "registrationStatus" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the workflow types have been registered.

" - }, - "name":{ - "shape":"Name", - "documentation":"

If specified, lists the workflow type with this name.

" - }, - "registrationStatus":{ - "shape":"RegistrationStatus", - "documentation":"

Specifies the registration status of the workflow types to list.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the name of the workflow types.

" - } - } - }, - "MarkerName":{ - "type":"string", - "max":256, - "min":1 - }, - "MarkerRecordedEventAttributes":{ - "type":"structure", - "required":[ - "markerName", - "decisionTaskCompletedEventId" - ], - "members":{ - "markerName":{ - "shape":"MarkerName", - "documentation":"

The name of the marker.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the marker.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RecordMarker decision that requested this marker. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the MarkerRecorded event.

" - }, - "Name":{ - "type":"string", - "max":256, - "min":1 - }, - "OpenDecisionTasksCount":{ - "type":"integer", - "max":1, - "min":0 - }, - "OperationNotPermittedFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned when the caller doesn't have sufficient permissions to invoke the action.

", - "exception":true - }, - "PageSize":{ - "type":"integer", - "max":1000, - "min":0 - }, - "PageToken":{ - "type":"string", - "max":2048 - }, - "PendingTaskCount":{ - "type":"structure", - "required":["count"], - "members":{ - "count":{ - "shape":"Count", - "documentation":"

The number of tasks in the task list.

" - }, - "truncated":{ - "shape":"Truncated", - "documentation":"

If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

" - } - }, - "documentation":"

Contains the count of tasks in a task list.

" - }, - "PollForActivityTaskInput":{ - "type":"structure", - "required":[ - "domain", - "taskList" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain that contains the task lists being polled.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

Specifies the task list to poll for activity tasks.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "identity":{ - "shape":"Identity", - "documentation":"

Identity of the worker making the request, recorded in the ActivityTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.

" - } - } - }, - "PollForDecisionTaskInput":{ - "type":"structure", - "required":[ - "domain", - "taskList" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the task lists to poll.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

Specifies the task list to poll for decision tasks.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "identity":{ - "shape":"Identity", - "documentation":"

Identity of the decider making the request, which is recorded in the DecisionTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory to get the next page. You must call PollForDecisionTask again (with the nextPageToken) to retrieve the next page of history records. Calling PollForDecisionTask with a nextPageToken doesn't return a new decision task.

" - }, - "maximumPageSize":{ - "shape":"PageSize", - "documentation":"

The maximum number of results that are returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

" - }, - "reverseOrder":{ - "shape":"ReverseOrder", - "documentation":"

When set to true, returns the events in reverse order. By default the results are returned in ascending order of the eventTimestamp of the events.

" - } - } - }, - "RecordActivityTaskHeartbeatInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The taskToken of the ActivityTask.

taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

" - }, - "details":{ - "shape":"LimitedData", - "documentation":"

If specified, contains details about the progress of the task.

" - } - } - }, - "RecordMarkerDecisionAttributes":{ - "type":"structure", - "required":["markerName"], - "members":{ - "markerName":{ - "shape":"MarkerName", - "documentation":"

The name of the marker.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the marker.

" - } - }, - "documentation":"

Provides the details of the RecordMarker decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RecordMarkerFailedCause":{ - "type":"string", - "enum":["OPERATION_NOT_PERMITTED"] - }, - "RecordMarkerFailedEventAttributes":{ - "type":"structure", - "required":[ - "markerName", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "markerName":{ - "shape":"MarkerName", - "documentation":"

The marker's name.

" - }, - "cause":{ - "shape":"RecordMarkerFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RecordMarkerFailed decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the RecordMarkerFailed event.

" - }, - "RegisterActivityTypeInput":{ - "type":"structure", - "required":[ - "domain", - "name", - "version" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which this activity is to be registered.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the activity type within the domain.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the activity type.

The activity type consists of the name and version, the combination of which must be unique within the domain.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A textual description of the activity type.

" - }, - "defaultTaskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskHeartbeatTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskList":{ - "shape":"TaskList", - "documentation":"

If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list isn't provided when a task is scheduled through the ScheduleActivityTask Decision.

" - }, - "defaultTaskPriority":{ - "shape":"TaskPriority", - "documentation":"

The default task priority to assign to the activity type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the in the Amazon SWF Developer Guide..

" - }, - "defaultTaskScheduleToStartTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskScheduleToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - } - } - }, - "RegisterDomainInput":{ - "type":"structure", - "required":[ - "name", - "workflowExecutionRetentionPeriodInDays" - ], - "members":{ - "name":{ - "shape":"DomainName", - "documentation":"

Name of the domain to register. The name must be unique in the region that the domain is registered in.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "description":{ - "shape":"Description", - "documentation":"

A text description of the domain.

" - }, - "workflowExecutionRetentionPeriodInDays":{ - "shape":"DurationInDays", - "documentation":"

The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution isn't available in the results of visibility calls.

If you pass the value NONE or 0 (zero), then the workflow execution history isn't retained. As soon as the workflow execution completes, the execution record and its history are deleted.

The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: Amazon SWF Service Limits in the Amazon SWF Developer Guide.

" - } - } - }, - "RegisterWorkflowTypeInput":{ - "type":"structure", - "required":[ - "domain", - "name", - "version" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which to register the workflow type.

" - }, - "name":{ - "shape":"Name", - "documentation":"

The name of the workflow type.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the workflow type.

The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the ListWorkflowTypes action.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "description":{ - "shape":"Description", - "documentation":"

Textual description of the workflow type.

" - }, - "defaultTaskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultExecutionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.

The duration is specified in seconds; an integer greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit always causes the workflow execution to time out.

" - }, - "defaultTaskList":{ - "shape":"TaskList", - "documentation":"

If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list isn't provided when starting the execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.

" - }, - "defaultTaskPriority":{ - "shape":"TaskPriority", - "documentation":"

The default task priority to assign to the workflow type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "defaultChildPolicy":{ - "shape":"ChildPolicy", - "documentation":"

If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "defaultLambdaRole":{ - "shape":"Arn", - "documentation":"

The default IAM role attached to this workflow type.

Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when you start this workflow type, the default Lambda role is attached to the execution. For more information, see http://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

" - } - } - }, - "RegistrationStatus":{ - "type":"string", - "enum":[ - "REGISTERED", - "DEPRECATED" - ] - }, - "RequestCancelActivityTaskDecisionAttributes":{ - "type":"structure", - "required":["activityId"], - "members":{ - "activityId":{ - "shape":"ActivityId", - "documentation":"

The activityId of the activity task to be canceled.

" - } - }, - "documentation":"

Provides the details of the RequestCancelActivityTask decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RequestCancelActivityTaskFailedCause":{ - "type":"string", - "enum":[ - "ACTIVITY_ID_UNKNOWN", - "OPERATION_NOT_PERMITTED" - ] - }, - "RequestCancelActivityTaskFailedEventAttributes":{ - "type":"structure", - "required":[ - "activityId", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "activityId":{ - "shape":"ActivityId", - "documentation":"

The activityId provided in the RequestCancelActivityTask decision that failed.

" - }, - "cause":{ - "shape":"RequestCancelActivityTaskFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelActivityTask decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the RequestCancelActivityTaskFailed event.

" - }, - "RequestCancelExternalWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "required":["workflowId"], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the external workflow execution to cancel.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the external workflow execution to cancel.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that can be used by the decider in subsequent workflow tasks.

" - } - }, - "documentation":"

Provides the details of the RequestCancelExternalWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "RequestCancelExternalWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION", - "REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED", - "OPERATION_NOT_PERMITTED" - ] - }, - "RequestCancelExternalWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "cause", - "initiatedEventId", - "decisionTaskCompletedEventId" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the external workflow to which the cancel request was to be delivered.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the external workflow execution.

" - }, - "cause":{ - "shape":"RequestCancelExternalWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding to the RequestCancelExternalWorkflowExecution decision to cancel this external workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelExternalWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.

" - } - }, - "documentation":"

Provides the details of the RequestCancelExternalWorkflowExecutionFailed event.

" - }, - "RequestCancelExternalWorkflowExecutionInitiatedEventAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "decisionTaskCompletedEventId" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the external workflow execution to be canceled.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the external workflow execution to be canceled.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelExternalWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent workflow tasks.

" - } - }, - "documentation":"

Provides the details of the RequestCancelExternalWorkflowExecutionInitiated event.

" - }, - "RequestCancelWorkflowExecutionInput":{ - "type":"structure", - "required":[ - "domain", - "workflowId" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow execution to cancel.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the workflow execution to cancel.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the workflow execution to cancel.

" - } - } - }, - "RespondActivityTaskCanceledInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The taskToken of the ActivityTask.

taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

" - }, - "details":{ - "shape":"Data", - "documentation":"

Information about the cancellation.

" - } - } - }, - "RespondActivityTaskCompletedInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The taskToken of the ActivityTask.

taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

" - }, - "result":{ - "shape":"Data", - "documentation":"

The result of the activity task. It is a free form string that is implementation specific.

" - } - } - }, - "RespondActivityTaskFailedInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The taskToken of the ActivityTask.

taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

" - }, - "reason":{ - "shape":"FailureReason", - "documentation":"

Description of the error that may assist in diagnostics.

" - }, - "details":{ - "shape":"Data", - "documentation":"

Detailed information about the failure.

" - } - } - }, - "RespondDecisionTaskCompletedInput":{ - "type":"structure", - "required":["taskToken"], - "members":{ - "taskToken":{ - "shape":"TaskToken", - "documentation":"

The taskToken from the DecisionTask.

taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

" - }, - "decisions":{ - "shape":"DecisionList", - "documentation":"

The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the Decision structure for details.

" - }, - "executionContext":{ - "shape":"Data", - "documentation":"

User defined context to add to workflow execution.

" - } - }, - "documentation":"

Input data for a TaskCompleted response to a decision task.

" - }, - "ReverseOrder":{"type":"boolean"}, - "Run":{ - "type":"structure", - "members":{ - "runId":{ - "shape":"WorkflowRunId", - "documentation":"

The runId of a workflow execution. This ID is generated by the service and can be used to uniquely identify the workflow execution within a domain.

" - } - }, - "documentation":"

Specifies the runId of a workflow execution.

" - }, - "ScheduleActivityTaskDecisionAttributes":{ - "type":"structure", - "required":[ - "activityType", - "activityId" - ], - "members":{ - "activityType":{ - "shape":"ActivityType", - "documentation":"

The type of the activity task to schedule.

" - }, - "activityId":{ - "shape":"ActivityId", - "documentation":"

The activityId of the activity task.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input provided to the activity task.

" - }, - "scheduleToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration for this activity task.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A schedule-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-close timeout was specified at registration time then a fault is returned.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

If set, specifies the name of the task list in which to schedule the activity task. If not specified, the defaultTaskList registered with the activity type is used.

A task list for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default task list was specified at registration time then a fault is returned.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

If set, specifies the priority with which the activity task is to be assigned to a worker. This overrides the defaultTaskPriority specified when registering the activity type using RegisterActivityType. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "scheduleToStartTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the maximum duration the activity task can wait to be assigned to a worker. This overrides the default schedule-to-start timeout specified when registering the activity type using RegisterActivityType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault is returned.

" - }, - "startToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the maximum duration a worker may take to process this activity task. This overrides the default start-to-close timeout specified when registering the activity type using RegisterActivityType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A start-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "heartbeatTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

If set, specifies the maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or returns a result, it is ignored. This overrides the default heartbeat timeout specified when registering the activity type using RegisterActivityType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - } - }, - "documentation":"

Provides the details of the ScheduleActivityTask decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • activityType.name – String constraint. The key is swf:activityType.name.

    • activityType.version – String constraint. The key is swf:activityType.version.

    • taskList – String constraint. The key is swf:taskList.name.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "ScheduleActivityTaskFailedCause":{ - "type":"string", - "enum":[ - "ACTIVITY_TYPE_DEPRECATED", - "ACTIVITY_TYPE_DOES_NOT_EXIST", - "ACTIVITY_ID_ALREADY_IN_USE", - "OPEN_ACTIVITIES_LIMIT_EXCEEDED", - "ACTIVITY_CREATION_RATE_EXCEEDED", - "DEFAULT_SCHEDULE_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_TASK_LIST_UNDEFINED", - "DEFAULT_SCHEDULE_TO_START_TIMEOUT_UNDEFINED", - "DEFAULT_START_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_HEARTBEAT_TIMEOUT_UNDEFINED", - "OPERATION_NOT_PERMITTED" - ] - }, - "ScheduleActivityTaskFailedEventAttributes":{ - "type":"structure", - "required":[ - "activityType", - "activityId", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "activityType":{ - "shape":"ActivityType", - "documentation":"

The activity type provided in the ScheduleActivityTask decision that failed.

" - }, - "activityId":{ - "shape":"ActivityId", - "documentation":"

The activityId provided in the ScheduleActivityTask decision that failed.

" - }, - "cause":{ - "shape":"ScheduleActivityTaskFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ScheduleActivityTaskFailed event.

" - }, - "ScheduleLambdaFunctionDecisionAttributes":{ - "type":"structure", - "required":[ - "id", - "name" - ], - "members":{ - "id":{ - "shape":"FunctionId", - "documentation":"

A string that identifies the Lambda function execution in the event history.

" - }, - "name":{ - "shape":"FunctionName", - "documentation":"

The name, or ARN, of the Lambda function to schedule.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.

" - }, - "input":{ - "shape":"FunctionInput", - "documentation":"

The optional input data to be supplied to the Lambda function.

" - }, - "startToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The timeout value, in seconds, after which the Lambda function is considered to be failed once it has started. This can be any integer from 1-300 (1s-5m). If no value is supplied, than a default value of 300s is assumed.

" - } - }, - "documentation":"

Decision attributes specified in scheduleLambdaFunctionDecisionAttributes within the list of decisions decisions passed to RespondDecisionTaskCompleted.

" - }, - "ScheduleLambdaFunctionFailedCause":{ - "type":"string", - "enum":[ - "ID_ALREADY_IN_USE", - "OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED", - "LAMBDA_FUNCTION_CREATION_RATE_EXCEEDED", - "LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION" - ] - }, - "ScheduleLambdaFunctionFailedEventAttributes":{ - "type":"structure", - "required":[ - "id", - "name", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "id":{ - "shape":"FunctionId", - "documentation":"

The ID provided in the ScheduleLambdaFunction decision that failed.

" - }, - "name":{ - "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

" - }, - "cause":{ - "shape":"ScheduleLambdaFunctionFailedCause", - "documentation":"

The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the LambdaFunctionCompleted event corresponding to the decision that resulted in scheduling this Lambda task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for other event types.

" - }, - "SignalExternalWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "signalName" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the workflow execution to be signaled.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the workflow execution to be signaled.

" - }, - "signalName":{ - "shape":"SignalName", - "documentation":"

The name of the signal.The target workflow execution uses the signal name and input to process the signal.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input data to be provided with the signal. The target workflow execution uses the signal name and input data to process the signal.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that can be used by the decider in subsequent decision tasks.

" - } - }, - "documentation":"

Provides the details of the SignalExternalWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "SignalExternalWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION", - "SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED", - "OPERATION_NOT_PERMITTED" - ] - }, - "SignalExternalWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "cause", - "initiatedEventId", - "decisionTaskCompletedEventId" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the external workflow execution that the signal was being delivered to.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the external workflow execution that the signal was being delivered to.

" - }, - "cause":{ - "shape":"SignalExternalWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.

" - } - }, - "documentation":"

Provides the details of the SignalExternalWorkflowExecutionFailed event.

" - }, - "SignalExternalWorkflowExecutionInitiatedEventAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "signalName", - "decisionTaskCompletedEventId" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the external workflow execution.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the external workflow execution to send the signal to.

" - }, - "signalName":{ - "shape":"SignalName", - "documentation":"

The name of the signal.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input provided to the signal.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent decision tasks.

" - } - }, - "documentation":"

Provides the details of the SignalExternalWorkflowExecutionInitiated event.

" - }, - "SignalName":{ - "type":"string", - "max":256, - "min":1 - }, - "SignalWorkflowExecutionInput":{ - "type":"structure", - "required":[ - "domain", - "workflowId", - "signalName" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain containing the workflow execution to signal.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the workflow execution to signal.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the workflow execution to signal.

" - }, - "signalName":{ - "shape":"SignalName", - "documentation":"

The name of the signal. This name must be meaningful to the target workflow.

" - }, - "input":{ - "shape":"Data", - "documentation":"

Data to attach to the WorkflowExecutionSignaled event in the target workflow execution's history.

" - } - } - }, - "StartChildWorkflowExecutionDecisionAttributes":{ - "type":"structure", - "required":[ - "workflowType", - "workflowId" - ], - "members":{ - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the workflow execution to be started.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the workflow execution.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input to be provided to the workflow execution.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list to be used for decision tasks of the child workflow execution.

A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

A task priority that, if set, specifies the priority for a decision task of this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags to associate with the child workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role attached to the child workflow execution.

" - } - }, - "documentation":"

Provides the details of the StartChildWorkflowExecution decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • Constrain the following parameters by using a Condition element with the appropriate keys.

    • tagList.member.N – The key is \"swf:tagList.N\" where N is the tag number from 0 to 4, inclusive.

    • taskList – String constraint. The key is swf:taskList.name.

    • workflowType.name – String constraint. The key is swf:workflowType.name.

    • workflowType.version – String constraint. The key is swf:workflowType.version.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "StartChildWorkflowExecutionFailedCause":{ - "type":"string", - "enum":[ - "WORKFLOW_TYPE_DOES_NOT_EXIST", - "WORKFLOW_TYPE_DEPRECATED", - "OPEN_CHILDREN_LIMIT_EXCEEDED", - "OPEN_WORKFLOWS_LIMIT_EXCEEDED", - "CHILD_CREATION_RATE_EXCEEDED", - "WORKFLOW_ALREADY_RUNNING", - "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_TASK_LIST_UNDEFINED", - "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED", - "DEFAULT_CHILD_POLICY_UNDEFINED", - "OPERATION_NOT_PERMITTED" - ] - }, - "StartChildWorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":[ - "workflowType", - "cause", - "workflowId", - "initiatedEventId", - "decisionTaskCompletedEventId" - ], - "members":{ - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type provided in the StartChildWorkflowExecution Decision that failed.

" - }, - "cause":{ - "shape":"StartChildWorkflowExecutionFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

When cause is set to OPERATION_NOT_PERMITTED, the decision fails because it lacks sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the child workflow execution.

" - }, - "initiatedEventId":{ - "shape":"EventId", - "documentation":"

When the cause is WORKFLOW_ALREADY_RUNNING, initiatedEventId is the ID of the StartChildWorkflowExecutionInitiated event that corresponds to the StartChildWorkflowExecution Decision to start the workflow execution. You can use this information to diagnose problems by tracing back the chain of events leading up to this event.

When the cause isn't WORKFLOW_ALREADY_RUNNING, initiatedEventId is set to 0 because the StartChildWorkflowExecutionInitiated event doesn't exist.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the child workflow execution.

" - } - }, - "documentation":"

Provides the details of the StartChildWorkflowExecutionFailed event.

" - }, - "StartChildWorkflowExecutionInitiatedEventAttributes":{ - "type":"structure", - "required":[ - "workflowId", - "workflowType", - "taskList", - "decisionTaskCompletedEventId", - "childPolicy" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the child workflow execution.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the child workflow execution.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent decision tasks. This data isn't sent to the activity.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The inputs provided to the child workflow execution.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration for the child workflow execution. If the workflow execution isn't closed within this duration, it is timed out and force-terminated.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list used for the decision tasks of the child workflow execution.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The priority assigned for the decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the cause of events.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the TerminateWorkflowExecution action or due to an expired timeout.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration allowed for the decision tasks for this workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags to associated with the child workflow execution.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role to attach to the child workflow execution.

" - } - }, - "documentation":"

Provides the details of the StartChildWorkflowExecutionInitiated event.

" - }, - "StartLambdaFunctionFailedCause":{ - "type":"string", - "enum":["ASSUME_ROLE_FAILED"] - }, - "StartLambdaFunctionFailedEventAttributes":{ - "type":"structure", - "members":{ - "scheduledEventId":{ - "shape":"EventId", - "documentation":"

The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

" - }, - "cause":{ - "shape":"StartLambdaFunctionFailedCause", - "documentation":"

The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because the IAM role attached to the execution lacked sufficient permissions. For details and example IAM policies, see Lambda Tasks in the Amazon SWF Developer Guide.

" - }, - "message":{ - "shape":"CauseMessage", - "documentation":"

A description that can help diagnose the cause of the fault.

" - } - }, - "documentation":"

Provides the details of the StartLambdaFunctionFailed event. It isn't set for other event types.

" - }, - "StartTimerDecisionAttributes":{ - "type":"structure", - "required":[ - "timerId", - "startToFireTimeout" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The unique ID of the timer.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "control":{ - "shape":"Data", - "documentation":"

The data attached to the event that can be used by the decider in subsequent workflow tasks.

" - }, - "startToFireTimeout":{ - "shape":"DurationInSeconds", - "documentation":"

The duration to wait before firing the timer.

The duration is specified in seconds, an integer greater than or equal to 0.

" - } - }, - "documentation":"

Provides the details of the StartTimer decision.

Access Control

You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

  • Use a Resource element with the domain name to limit the action to only specified domains.

  • Use an Action element to allow or deny permission to call this action.

  • You cannot use an IAM policy to constrain this action's parameters.

If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "StartTimerFailedCause":{ - "type":"string", - "enum":[ - "TIMER_ID_ALREADY_IN_USE", - "OPEN_TIMERS_LIMIT_EXCEEDED", - "TIMER_CREATION_RATE_EXCEEDED", - "OPERATION_NOT_PERMITTED" - ] - }, - "StartTimerFailedEventAttributes":{ - "type":"structure", - "required":[ - "timerId", - "cause", - "decisionTaskCompletedEventId" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The timerId provided in the StartTimer decision that failed.

" - }, - "cause":{ - "shape":"StartTimerFailedCause", - "documentation":"

The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartTimer decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the StartTimerFailed event.

" - }, - "StartWorkflowExecutionInput":{ - "type":"structure", - "required":[ - "domain", - "workflowId", - "workflowType" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The name of the domain in which the workflow execution is created.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a restart of a previous execution. You cannot have two open workflow executions with the same workflowId at the same time.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the workflow to start.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The task list to use for the decision tasks generated for this workflow execution. This overrides the defaultTaskList specified when registering the workflow type.

A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.

The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The task priority to use for this workflow execution. This overrides any default priority that was assigned when the workflow type was registered. If not set, then the default task priority for the workflow type is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The input for the workflow execution. This is a free form string which should be meaningful to the workflow you are starting. This input is made available to the new workflow execution in the WorkflowExecutionStarted history event.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

The duration is specified in seconds; an integer greater than or equal to 0. Exceeding this limit causes the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for this timeout; there is a one-year max limit on the time that a workflow execution can run.

An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags to associate with the workflow execution. You can specify a maximum of 5 tags. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role to attach to this workflow execution.

Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't attach an IAM role, any attempt to schedule a Lambda task fails. This results in a ScheduleLambdaFunctionFailed history event. For more information, see http://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

" - } - } - }, - "Tag":{ - "type":"string", - "max":256, - "min":0 - }, - "TagFilter":{ - "type":"structure", - "required":["tag"], - "members":{ - "tag":{ - "shape":"Tag", - "documentation":"

Specifies the tag that must be associated with the execution for it to meet the filter criteria.

" - } - }, - "documentation":"

Used to filter the workflow executions in visibility APIs based on a tag.

" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"}, - "max":5 - }, - "TaskList":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the task list.

" - } - }, - "documentation":"

Represents a task list.

" - }, - "TaskPriority":{"type":"string"}, - "TaskToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "TerminateReason":{ - "type":"string", - "max":256 - }, - "TerminateWorkflowExecutionInput":{ - "type":"structure", - "required":[ - "domain", - "workflowId" - ], - "members":{ - "domain":{ - "shape":"DomainName", - "documentation":"

The domain of the workflow execution to terminate.

" - }, - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId of the workflow execution to terminate.

" - }, - "runId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

The runId of the workflow execution to terminate.

" - }, - "reason":{ - "shape":"TerminateReason", - "documentation":"

A descriptive reason for terminating the workflow execution.

" - }, - "details":{ - "shape":"Data", - "documentation":"

Details for terminating the workflow execution.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

" - } - } - }, - "TimerCanceledEventAttributes":{ - "type":"structure", - "required":[ - "timerId", - "startedEventId", - "decisionTaskCompletedEventId" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The unique ID of the timer that was canceled.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the TimerStarted event that was recorded when this timer was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelTimer decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the TimerCanceled event.

" - }, - "TimerFiredEventAttributes":{ - "type":"structure", - "required":[ - "timerId", - "startedEventId" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The unique ID of the timer that fired.

" - }, - "startedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the TimerStarted event that was recorded when this timer was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the TimerFired event.

" - }, - "TimerId":{ - "type":"string", - "max":256, - "min":1 - }, - "TimerStartedEventAttributes":{ - "type":"structure", - "required":[ - "timerId", - "startToFireTimeout", - "decisionTaskCompletedEventId" - ], - "members":{ - "timerId":{ - "shape":"TimerId", - "documentation":"

The unique ID of the timer that was started.

" - }, - "control":{ - "shape":"Data", - "documentation":"

Data attached to the event that can be used by the decider in subsequent workflow tasks.

" - }, - "startToFireTimeout":{ - "shape":"DurationInSeconds", - "documentation":"

The duration of time after which the timer fires.

The duration is specified in seconds, an integer greater than or equal to 0.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartTimer decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the TimerStarted event.

" - }, - "Timestamp":{"type":"timestamp"}, - "Truncated":{"type":"boolean"}, - "TypeAlreadyExistsFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned if the type already exists in the specified domain. You get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.

", - "exception":true - }, - "TypeDeprecatedFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned when the specified activity or workflow type was already deprecated.

", - "exception":true - }, - "UnknownResourceFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

", - "exception":true - }, - "Version":{ - "type":"string", - "max":64, - "min":1 - }, - "VersionOptional":{ - "type":"string", - "max":64 - }, - "WorkflowExecution":{ - "type":"structure", - "required":[ - "workflowId", - "runId" - ], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The user defined identifier associated with the workflow execution.

" - }, - "runId":{ - "shape":"WorkflowRunId", - "documentation":"

A system-generated unique identifier for the workflow execution.

" - } - }, - "documentation":"

Represents a workflow execution.

" - }, - "WorkflowExecutionAlreadyStartedFault":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A description that may help with diagnosing the cause of the fault.

" - } - }, - "documentation":"

Returned by StartWorkflowExecution when an open execution with the same workflowId is already running in the specified domain.

", - "exception":true - }, - "WorkflowExecutionCancelRequestedCause":{ - "type":"string", - "enum":["CHILD_POLICY_APPLIED"] - }, - "WorkflowExecutionCancelRequestedEventAttributes":{ - "type":"structure", - "members":{ - "externalWorkflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The external workflow execution for which the cancellation was requested.

" - }, - "externalInitiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding to the RequestCancelExternalWorkflowExecution decision to cancel this workflow execution.The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "cause":{ - "shape":"WorkflowExecutionCancelRequestedCause", - "documentation":"

If set, indicates that the request to cancel the workflow execution was automatically generated, and specifies the cause. This happens if the parent workflow execution times out or is terminated, and the child policy is set to cancel child executions.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionCancelRequested event.

" - }, - "WorkflowExecutionCanceledEventAttributes":{ - "type":"structure", - "required":["decisionTaskCompletedEventId"], - "members":{ - "details":{ - "shape":"Data", - "documentation":"

The details of the cancellation.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionCanceled event.

" - }, - "WorkflowExecutionCompletedEventAttributes":{ - "type":"structure", - "required":["decisionTaskCompletedEventId"], - "members":{ - "result":{ - "shape":"Data", - "documentation":"

The result produced by the workflow execution upon successful completion.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CompleteWorkflowExecution decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionCompleted event.

" - }, - "WorkflowExecutionConfiguration":{ - "type":"structure", - "required":[ - "taskStartToCloseTimeout", - "executionStartToCloseTimeout", - "taskList", - "childPolicy" - ], - "members":{ - "taskStartToCloseTimeout":{ - "shape":"DurationInSeconds", - "documentation":"

The maximum duration allowed for decision tasks for this workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSeconds", - "documentation":"

The total duration for this workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The task list used for the decision tasks generated for this workflow execution.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role attached to the child workflow execution.

" - } - }, - "documentation":"

The configuration settings for a workflow execution including timeout values, tasklist etc. These configuration settings are determined from the defaults specified when registering the workflow type and those specified when starting the workflow execution.

" - }, - "WorkflowExecutionContinuedAsNewEventAttributes":{ - "type":"structure", - "required":[ - "decisionTaskCompletedEventId", - "newExecutionRunId", - "taskList", - "childPolicy", - "workflowType" - ], - "members":{ - "input":{ - "shape":"Data", - "documentation":"

The input provided to the new workflow execution.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the ContinueAsNewWorkflowExecution decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "newExecutionRunId":{ - "shape":"WorkflowRunId", - "documentation":"

The runId of the new workflow execution.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The total duration allowed for the new workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The task list to use for the decisions of the new (continued) workflow execution.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The priority of the task to use for the decisions of the new (continued) workflow execution.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration of decision tasks for the new workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags associated with the new workflow execution.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type of this execution.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role to attach to the new (continued) workflow execution.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionContinuedAsNew event.

" - }, - "WorkflowExecutionCount":{ - "type":"structure", - "required":["count"], - "members":{ - "count":{ - "shape":"Count", - "documentation":"

The number of workflow executions.

" - }, - "truncated":{ - "shape":"Truncated", - "documentation":"

If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

" - } - }, - "documentation":"

Contains the count of workflow executions returned from CountOpenWorkflowExecutions or CountClosedWorkflowExecutions

" - }, - "WorkflowExecutionDetail":{ - "type":"structure", - "required":[ - "executionInfo", - "executionConfiguration", - "openCounts" - ], - "members":{ - "executionInfo":{ - "shape":"WorkflowExecutionInfo", - "documentation":"

Information about the workflow execution.

" - }, - "executionConfiguration":{ - "shape":"WorkflowExecutionConfiguration", - "documentation":"

The configuration settings for this workflow execution including timeout values, tasklist etc.

" - }, - "openCounts":{ - "shape":"WorkflowExecutionOpenCounts", - "documentation":"

The number of tasks for this workflow execution. This includes open and closed tasks of all types.

" - }, - "latestActivityTaskTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time when the last activity task was scheduled for this workflow execution. You can use this information to determine if the workflow has not made progress for an unusually long period of time and might require a corrective action.

" - }, - "latestExecutionContext":{ - "shape":"Data", - "documentation":"

The latest executionContext provided by the decider for this workflow execution. A decider can provide an executionContext (a free-form string) when closing a decision task using RespondDecisionTaskCompleted.

" - } - }, - "documentation":"

Contains details about a workflow execution.

" - }, - "WorkflowExecutionFailedEventAttributes":{ - "type":"structure", - "required":["decisionTaskCompletedEventId"], - "members":{ - "reason":{ - "shape":"FailureReason", - "documentation":"

The descriptive reason provided for the failure.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details of the failure.

" - }, - "decisionTaskCompletedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the FailWorkflowExecution decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionFailed event.

" - }, - "WorkflowExecutionFilter":{ - "type":"structure", - "required":["workflowId"], - "members":{ - "workflowId":{ - "shape":"WorkflowId", - "documentation":"

The workflowId to pass of match the criteria of this filter.

" - } - }, - "documentation":"

Used to filter the workflow executions in visibility APIs by their workflowId.

" - }, - "WorkflowExecutionInfo":{ - "type":"structure", - "required":[ - "execution", - "workflowType", - "startTimestamp", - "executionStatus" - ], - "members":{ - "execution":{ - "shape":"WorkflowExecution", - "documentation":"

The workflow execution this information is about.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The type of the workflow execution.

" - }, - "startTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time when the execution was started.

" - }, - "closeTimestamp":{ - "shape":"Timestamp", - "documentation":"

The time when the workflow execution was closed. Set only if the execution status is CLOSED.

" - }, - "executionStatus":{ - "shape":"ExecutionStatus", - "documentation":"

The current status of the execution.

" - }, - "closeStatus":{ - "shape":"CloseStatus", - "documentation":"

If the execution status is closed then this specifies how the execution was closed:

  • COMPLETED – the execution was successfully completed.

  • CANCELED – the execution was canceled.Cancellation allows the implementation to gracefully clean up before the execution is closed.

  • TERMINATED – the execution was force terminated.

  • FAILED – the execution failed to complete.

  • TIMED_OUT – the execution did not complete in the alloted time and was automatically timed out.

  • CONTINUED_AS_NEW – the execution is logically continued. This means the current execution was completed and a new execution was started to carry on the workflow.

" - }, - "parent":{ - "shape":"WorkflowExecution", - "documentation":"

If this workflow execution is a child of another execution then contains the workflow execution that started this execution.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags associated with the workflow execution. Tags can be used to identify and list workflow executions of interest through the visibility APIs. A workflow execution can have a maximum of 5 tags.

" - }, - "cancelRequested":{ - "shape":"Canceled", - "documentation":"

Set to true if a cancellation is requested for this workflow execution.

" - } - }, - "documentation":"

Contains information about a workflow execution.

" - }, - "WorkflowExecutionInfoList":{ - "type":"list", - "member":{"shape":"WorkflowExecutionInfo"} - }, - "WorkflowExecutionInfos":{ - "type":"structure", - "required":["executionInfos"], - "members":{ - "executionInfos":{ - "shape":"WorkflowExecutionInfoList", - "documentation":"

The list of workflow information structures.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - } - }, - "documentation":"

Contains a paginated list of information about workflow executions.

" - }, - "WorkflowExecutionOpenCounts":{ - "type":"structure", - "required":[ - "openActivityTasks", - "openDecisionTasks", - "openTimers", - "openChildWorkflowExecutions" - ], - "members":{ - "openActivityTasks":{ - "shape":"Count", - "documentation":"

The count of activity tasks whose status is OPEN.

" - }, - "openDecisionTasks":{ - "shape":"OpenDecisionTasksCount", - "documentation":"

The count of decision tasks whose status is OPEN. A workflow execution can have at most one open decision task.

" - }, - "openTimers":{ - "shape":"Count", - "documentation":"

The count of timers started by this workflow execution that have not fired yet.

" - }, - "openChildWorkflowExecutions":{ - "shape":"Count", - "documentation":"

The count of child workflow executions whose status is OPEN.

" - }, - "openLambdaFunctions":{ - "shape":"Count", - "documentation":"

The count of Lambda tasks whose status is OPEN.

" - } - }, - "documentation":"

Contains the counts of open tasks, child workflow executions and timers for a workflow execution.

" - }, - "WorkflowExecutionSignaledEventAttributes":{ - "type":"structure", - "required":["signalName"], - "members":{ - "signalName":{ - "shape":"SignalName", - "documentation":"

The name of the signal received. The decider can use the signal name and inputs to determine how to the process the signal.

" - }, - "input":{ - "shape":"Data", - "documentation":"

The inputs provided with the signal. The decider can use the signal name and inputs to determine how to process the signal.

" - }, - "externalWorkflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The workflow execution that sent the signal. This is set only of the signal was sent by another workflow execution.

" - }, - "externalInitiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the SignalExternalWorkflow decision to signal this workflow execution.The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event. This field is set only if the signal was initiated by another workflow execution.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionSignaled event.

" - }, - "WorkflowExecutionStartedEventAttributes":{ - "type":"structure", - "required":[ - "childPolicy", - "taskList", - "workflowType" - ], - "members":{ - "input":{ - "shape":"Data", - "documentation":"

The input provided to the workflow execution.

" - }, - "executionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration for this workflow execution.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "taskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The maximum duration of decision tasks for this workflow type.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "taskList":{ - "shape":"TaskList", - "documentation":"

The name of the task list for scheduling the decision tasks for this workflow execution.

" - }, - "taskPriority":{ - "shape":"TaskPriority", - "documentation":"

The priority of the decision tasks in the workflow execution.

" - }, - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type of this execution.

" - }, - "tagList":{ - "shape":"TagList", - "documentation":"

The list of tags associated with this workflow execution. An execution can have up to 5 tags.

" - }, - "continuedExecutionRunId":{ - "shape":"WorkflowRunIdOptional", - "documentation":"

If this workflow execution was started due to a ContinueAsNewWorkflowExecution decision, then it contains the runId of the previous workflow execution that was closed and continued as this execution.

" - }, - "parentWorkflowExecution":{ - "shape":"WorkflowExecution", - "documentation":"

The source workflow execution that started this workflow execution. The member isn't set if the workflow execution was not started by a workflow.

" - }, - "parentInitiatedEventId":{ - "shape":"EventId", - "documentation":"

The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this workflow execution. The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

" - }, - "lambdaRole":{ - "shape":"Arn", - "documentation":"

The IAM role attached to the workflow execution.

" - } - }, - "documentation":"

Provides details of WorkflowExecutionStarted event.

" - }, - "WorkflowExecutionTerminatedCause":{ - "type":"string", - "enum":[ - "CHILD_POLICY_APPLIED", - "EVENT_LIMIT_EXCEEDED", - "OPERATOR_INITIATED" - ] - }, - "WorkflowExecutionTerminatedEventAttributes":{ - "type":"structure", - "required":["childPolicy"], - "members":{ - "reason":{ - "shape":"TerminateReason", - "documentation":"

The reason provided for the termination.

" - }, - "details":{ - "shape":"Data", - "documentation":"

The details provided for the termination.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy used for the child workflow executions of this workflow execution.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "cause":{ - "shape":"WorkflowExecutionTerminatedCause", - "documentation":"

If set, indicates that the workflow execution was automatically terminated, and specifies the cause. This happens if the parent workflow execution times out or is terminated and the child policy is set to terminate child executions.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionTerminated event.

" - }, - "WorkflowExecutionTimedOutEventAttributes":{ - "type":"structure", - "required":[ - "timeoutType", - "childPolicy" - ], - "members":{ - "timeoutType":{ - "shape":"WorkflowExecutionTimeoutType", - "documentation":"

The type of timeout that caused this event.

" - }, - "childPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The policy used for the child workflow executions of this workflow execution.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - } - }, - "documentation":"

Provides the details of the WorkflowExecutionTimedOut event.

" - }, - "WorkflowExecutionTimeoutType":{ - "type":"string", - "enum":["START_TO_CLOSE"] - }, - "WorkflowId":{ - "type":"string", - "max":256, - "min":1 - }, - "WorkflowRunId":{ - "type":"string", - "max":64, - "min":1 - }, - "WorkflowRunIdOptional":{ - "type":"string", - "max":64 - }, - "WorkflowType":{ - "type":"structure", - "required":[ - "name", - "version" - ], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

The name of the workflow type.

The combination of workflow type name and version must be unique with in a domain.

" - }, - "version":{ - "shape":"Version", - "documentation":"

The version of the workflow type.

The combination of workflow type name and version must be unique with in a domain.

" - } - }, - "documentation":"

Represents a workflow type.

" - }, - "WorkflowTypeConfiguration":{ - "type":"structure", - "members":{ - "defaultTaskStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum duration, specified when registering the workflow type, that a decision task for executions of this workflow type might take before returning completion or failure. If the task doesn'tdo close in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultExecutionStartToCloseTimeout":{ - "shape":"DurationInSecondsOptional", - "documentation":"

The default maximum duration, specified when registering the workflow type, for executions of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

" - }, - "defaultTaskList":{ - "shape":"TaskList", - "documentation":"

The default task list, specified when registering the workflow type, for decisions tasks scheduled for workflow executions of this type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

" - }, - "defaultTaskPriority":{ - "shape":"TaskPriority", - "documentation":"

The default task priority, specified when registering the workflow type, for all decision tasks of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

" - }, - "defaultChildPolicy":{ - "shape":"ChildPolicy", - "documentation":"

The default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

The supported child policies are:

  • TERMINATE – The child executions are terminated.

  • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

  • ABANDON – No action is taken. The child executions continue to run.

" - }, - "defaultLambdaRole":{ - "shape":"Arn", - "documentation":"

The default IAM role attached to this workflow type.

Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when starting this workflow type, the default Lambda role is attached to the execution. For more information, see http://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

" - } - }, - "documentation":"

The configuration settings of a workflow type.

" - }, - "WorkflowTypeDetail":{ - "type":"structure", - "required":[ - "typeInfo", - "configuration" - ], - "members":{ - "typeInfo":{ - "shape":"WorkflowTypeInfo", - "documentation":"

General information about the workflow type.

The status of the workflow type (returned in the WorkflowTypeInfo structure) can be one of the following.

  • REGISTERED – The type is registered and available. Workers supporting this type should be running.

  • DEPRECATED – The type was deprecated using DeprecateWorkflowType, but is still in use. You should keep workers supporting this type running. You cannot create new workflow executions of this type.

" - }, - "configuration":{ - "shape":"WorkflowTypeConfiguration", - "documentation":"

Configuration settings of the workflow type registered through RegisterWorkflowType

" - } - }, - "documentation":"

Contains details about a workflow type.

" - }, - "WorkflowTypeFilter":{ - "type":"structure", - "required":["name"], - "members":{ - "name":{ - "shape":"Name", - "documentation":"

Name of the workflow type.

" - }, - "version":{ - "shape":"VersionOptional", - "documentation":"

Version of the workflow type.

" - } - }, - "documentation":"

Used to filter workflow execution query results by type. Each parameter, if specified, defines a rule that must be satisfied by each returned result.

" - }, - "WorkflowTypeInfo":{ - "type":"structure", - "required":[ - "workflowType", - "status", - "creationDate" - ], - "members":{ - "workflowType":{ - "shape":"WorkflowType", - "documentation":"

The workflow type this information is about.

" - }, - "status":{ - "shape":"RegistrationStatus", - "documentation":"

The current status of the workflow type.

" - }, - "description":{ - "shape":"Description", - "documentation":"

The description of the type registered through RegisterWorkflowType.

" - }, - "creationDate":{ - "shape":"Timestamp", - "documentation":"

The date when this type was registered.

" - }, - "deprecationDate":{ - "shape":"Timestamp", - "documentation":"

If the type is in deprecated state, then it is set to the date when the type was deprecated.

" - } - }, - "documentation":"

Contains information about a workflow type.

" - }, - "WorkflowTypeInfoList":{ - "type":"list", - "member":{"shape":"WorkflowTypeInfo"} - }, - "WorkflowTypeInfos":{ - "type":"structure", - "required":["typeInfos"], - "members":{ - "typeInfos":{ - "shape":"WorkflowTypeInfoList", - "documentation":"

The list of workflow type information.

" - }, - "nextPageToken":{ - "shape":"PageToken", - "documentation":"

If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

The configured maximumPageSize determines how many results can be returned in a single call.

" - } - }, - "documentation":"

Contains a paginated list of information structures about workflow types.

" - } - }, - "documentation":"Amazon Simple Workflow Service

The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application.

Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state.

This documentation serves as reference only. For a broader overview of the Amazon SWF programming model, see the Amazon SWF Developer Guide .

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/service-2.json deleted file mode 100644 index 7d7e5cc0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/transcribe/2017-10-26/service-2.json +++ /dev/null @@ -1,717 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-26", - "endpointPrefix":"transcribe", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Transcribe Service", - "serviceId":"Transcribe", - "signatureVersion":"v4", - "signingName":"transcribe", - "targetPrefix":"Transcribe", - "uid":"transcribe-2017-10-26" - }, - "operations":{ - "CreateVocabulary":{ - "name":"CreateVocabulary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateVocabularyRequest"}, - "output":{"shape":"CreateVocabularyResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file.

" - }, - "DeleteVocabulary":{ - "name":"DeleteVocabulary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteVocabularyRequest"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"BadRequestException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Deletes a vocabulary from Amazon Transcribe.

" - }, - "GetTranscriptionJob":{ - "name":"GetTranscriptionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetTranscriptionJobRequest"}, - "output":{"shape":"GetTranscriptionJobResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"NotFoundException"} - ], - "documentation":"

Returns information about a transcription job. To see the status of the job, check the TranscriptionJobStatus field. If the status is COMPLETED, the job is finished and you can find the results at the location specified in the TranscriptionFileUri field.

" - }, - "GetVocabulary":{ - "name":"GetVocabulary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetVocabularyRequest"}, - "output":{"shape":"GetVocabularyResponse"}, - "errors":[ - {"shape":"NotFoundException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"BadRequestException"} - ], - "documentation":"

Gets information about a vocabulary.

" - }, - "ListTranscriptionJobs":{ - "name":"ListTranscriptionJobs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListTranscriptionJobsRequest"}, - "output":{"shape":"ListTranscriptionJobsResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Lists transcription jobs with the specified status.

" - }, - "ListVocabularies":{ - "name":"ListVocabularies", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListVocabulariesRequest"}, - "output":{"shape":"ListVocabulariesResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"} - ], - "documentation":"

Returns a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies.

" - }, - "StartTranscriptionJob":{ - "name":"StartTranscriptionJob", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartTranscriptionJobRequest"}, - "output":{"shape":"StartTranscriptionJobResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Starts an asynchronous job to transcribe speech to text.

" - }, - "UpdateVocabulary":{ - "name":"UpdateVocabulary", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateVocabularyRequest"}, - "output":{"shape":"UpdateVocabularyResponse"}, - "errors":[ - {"shape":"BadRequestException"}, - {"shape":"LimitExceededException"}, - {"shape":"InternalFailureException"}, - {"shape":"NotFoundException"}, - {"shape":"ConflictException"} - ], - "documentation":"

Updates an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request.

" - } - }, - "shapes":{ - "BadRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"FailureReason"} - }, - "documentation":"

Your request didn't pass one or more validation tests. For example, a name already exists when creating a resource or a name may not exist when getting a transcription job or custom vocabulary. See the exception Message field for more information.

", - "exception":true - }, - "Boolean":{"type":"boolean"}, - "ConflictException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

When you are using the StartTranscriptionJob operation, the JobName field is a duplicate of a previously entered job name. Resend your request with a different name.

When you are using the UpdateVocabulary operation, there are two jobs running at the same time. Resend the second request later.

", - "exception":true - }, - "CreateVocabularyRequest":{ - "type":"structure", - "required":[ - "VocabularyName", - "LanguageCode", - "Phrases" - ], - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary. The name must be unique within an AWS account. The name is case-sensitive.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "Phrases":{ - "shape":"Phrases", - "documentation":"

An array of strings that contains the vocabulary entries.

" - } - } - }, - "CreateVocabularyResponse":{ - "type":"structure", - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "VocabularyState":{ - "shape":"VocabularyState", - "documentation":"

The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

" - }, - "LastModifiedTime":{ - "shape":"DateTime", - "documentation":"

The date and time that the vocabulary was created.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the VocabularyState field is FAILED, this field contains information about why the job failed.

" - } - } - }, - "DateTime":{"type":"timestamp"}, - "DeleteVocabularyRequest":{ - "type":"structure", - "required":["VocabularyName"], - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary to delete.

" - } - } - }, - "FailureReason":{"type":"string"}, - "GetTranscriptionJobRequest":{ - "type":"structure", - "required":["TranscriptionJobName"], - "members":{ - "TranscriptionJobName":{ - "shape":"TranscriptionJobName", - "documentation":"

The name of the job.

" - } - } - }, - "GetTranscriptionJobResponse":{ - "type":"structure", - "members":{ - "TranscriptionJob":{ - "shape":"TranscriptionJob", - "documentation":"

An object that contains the results of the transcription job.

" - } - } - }, - "GetVocabularyRequest":{ - "type":"structure", - "required":["VocabularyName"], - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary to return information about. The name is case-sensitive.

" - } - } - }, - "GetVocabularyResponse":{ - "type":"structure", - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary to return.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "VocabularyState":{ - "shape":"VocabularyState", - "documentation":"

The processing state of the vocabulary.

" - }, - "LastModifiedTime":{ - "shape":"DateTime", - "documentation":"

The date and time that the vocabulary was last modified.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the VocabularyState field is FAILED, this field contains information about why the job failed.

" - }, - "DownloadUri":{ - "shape":"Uri", - "documentation":"

The S3 location where the vocabulary is stored. Use this URI to get the contents of the vocabulary. The URI is available for a limited time.

" - } - } - }, - "InternalFailureException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

There was an internal error. Check the error message and try your request again.

", - "exception":true, - "fault":true - }, - "LanguageCode":{ - "type":"string", - "enum":[ - "en-US", - "es-US" - ] - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Either you have sent too many requests or your input file is too long. Wait before you resend your request, or use a smaller file and resend the request.

", - "exception":true - }, - "ListTranscriptionJobsRequest":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"TranscriptionJobStatus", - "documentation":"

When specified, returns only transcription jobs with the specified status.

" - }, - "JobNameContains":{ - "shape":"TranscriptionJobName", - "documentation":"

When specified, the jobs returned in the list are limited to jobs whose name contains the specified string.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous request to ListTranscriptionJobs was truncated, include the NextToken to fetch the next set of jobs.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.

" - } - } - }, - "ListTranscriptionJobsResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"TranscriptionJobStatus", - "documentation":"

The requested status of the jobs returned.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The ListTranscriptionJobs operation returns a page of jobs at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the token in the next request to the ListTranscriptionJobs operation to return in the next page of jobs.

" - }, - "TranscriptionJobSummaries":{ - "shape":"TranscriptionJobSummaries", - "documentation":"

A list of objects containing summary information for a transcription job.

" - } - } - }, - "ListVocabulariesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

If the result of the previous request to ListVocabularies was truncated, include the NextToken to fetch the next set of jobs.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of vocabularies to return in the response. If there are fewer results in the list, this response contains only the actual results.

" - }, - "StateEquals":{ - "shape":"VocabularyState", - "documentation":"

When specified, only returns vocabularies with the VocabularyState field equal to the specified state.

" - }, - "NameContains":{ - "shape":"VocabularyName", - "documentation":"

When specified, the vocabularies returned in the list are limited to vocabularies whose name contains the specified string. The search is case-insensitive, ListVocabularies will return both \"vocabularyname\" and \"VocabularyName\" in the response list.

" - } - } - }, - "ListVocabulariesResponse":{ - "type":"structure", - "members":{ - "Status":{ - "shape":"TranscriptionJobStatus", - "documentation":"

The requested vocabulary state.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The ListVocabularies operation returns a page of vocabularies at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the token in the next request to the ListVocabularies operation to return in the next page of jobs.

" - }, - "Vocabularies":{ - "shape":"Vocabularies", - "documentation":"

A list of objects that describe the vocabularies that match the search criteria in the request.

" - } - } - }, - "MaxResults":{ - "type":"integer", - "max":100, - "min":1 - }, - "MaxSpeakers":{ - "type":"integer", - "max":10, - "min":2 - }, - "Media":{ - "type":"structure", - "members":{ - "MediaFileUri":{ - "shape":"Uri", - "documentation":"

The S3 location of the input media file. The URI must be in the same region as the API endpoint that you are calling. The general form is:

https://<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

For example:

https://s3-us-east-1.amazonaws.com/examplebucket/example.mp4

https://s3-us-east-1.amazonaws.com/examplebucket/mediadocs/example.mp4

For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

" - } - }, - "documentation":"

Describes the input media file in a transcription request.

" - }, - "MediaFormat":{ - "type":"string", - "enum":[ - "mp3", - "mp4", - "wav", - "flac" - ] - }, - "MediaSampleRateHertz":{ - "type":"integer", - "max":48000, - "min":8000 - }, - "NextToken":{ - "type":"string", - "max":8192 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

We can't find the requested resource. Check the name and try your request again.

", - "exception":true - }, - "OutputBucketName":{ - "type":"string", - "pattern":"[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]" - }, - "OutputLocationType":{ - "type":"string", - "enum":[ - "CUSTOMER_BUCKET", - "SERVICE_BUCKET" - ] - }, - "Phrase":{ - "type":"string", - "max":256, - "min":0 - }, - "Phrases":{ - "type":"list", - "member":{"shape":"Phrase"} - }, - "Settings":{ - "type":"structure", - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of a vocabulary to use when processing the transcription job.

" - }, - "ShowSpeakerLabels":{ - "shape":"Boolean", - "documentation":"

Determines whether the transcription job uses speaker recognition to identify different speakers in the input audio. Speaker recognition labels individual speakers in the audio file. If you set the ShowSpeakerLabels field to true, you must also set the maximum number of speaker labels MaxSpeakerLabels field.

You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

" - }, - "MaxSpeakerLabels":{ - "shape":"MaxSpeakers", - "documentation":"

The maximum number of speakers to identify in the input audio. If there are more speakers in the audio than this number, multiple speakers will be identified as a single speaker. If you specify the MaxSpeakerLabels field, you must set the ShowSpeakerLabels field to true.

" - }, - "ChannelIdentification":{ - "shape":"Boolean", - "documentation":"

Instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

Amazon Transcribe also produces a transcription of each item detected on an audio channel, including the start time and end time of the item and alternative transcriptions of the item including the confidence that Amazon Transcribe has in the transcription.

You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

" - } - }, - "documentation":"

Provides optional settings for the StartTranscriptionJob operation.

" - }, - "StartTranscriptionJobRequest":{ - "type":"structure", - "required":[ - "TranscriptionJobName", - "LanguageCode", - "MediaFormat", - "Media" - ], - "members":{ - "TranscriptionJobName":{ - "shape":"TranscriptionJobName", - "documentation":"

The name of the job. You can't use the strings \".\" or \"..\" in the job name. The name must be unique within an AWS account.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code for the language used in the input media file.

" - }, - "MediaSampleRateHertz":{ - "shape":"MediaSampleRateHertz", - "documentation":"

The sample rate, in Hertz, of the audio track in the input media file.

" - }, - "MediaFormat":{ - "shape":"MediaFormat", - "documentation":"

The format of the input media file.

" - }, - "Media":{ - "shape":"Media", - "documentation":"

An object that describes the input media for a transcription job.

" - }, - "OutputBucketName":{ - "shape":"OutputBucketName", - "documentation":"

The location where the transcription is stored.

If you set the OutputBucketName, Amazon Transcribe puts the transcription in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.

" - }, - "Settings":{ - "shape":"Settings", - "documentation":"

A Settings object that provides optional settings for a transcription job.

" - } - } - }, - "StartTranscriptionJobResponse":{ - "type":"structure", - "members":{ - "TranscriptionJob":{ - "shape":"TranscriptionJob", - "documentation":"

An object containing details of the asynchronous transcription job.

" - } - } - }, - "String":{"type":"string"}, - "Transcript":{ - "type":"structure", - "members":{ - "TranscriptFileUri":{ - "shape":"Uri", - "documentation":"

The location where the transcription is stored.

Use this URI to access the transcription. If you specified an S3 bucket in the OutputBucketName field when you created the job, this is the URI of that bucket. If you chose to store the transcription in Amazon Transcribe, this is a shareable URL that provides secure access to that location.

" - } - }, - "documentation":"

Identifies the location of a transcription.

" - }, - "TranscriptionJob":{ - "type":"structure", - "members":{ - "TranscriptionJobName":{ - "shape":"TranscriptionJobName", - "documentation":"

The name of the transcription job.

" - }, - "TranscriptionJobStatus":{ - "shape":"TranscriptionJobStatus", - "documentation":"

The status of the transcription job.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code for the input speech.

" - }, - "MediaSampleRateHertz":{ - "shape":"MediaSampleRateHertz", - "documentation":"

The sample rate, in Hertz, of the audio track in the input media file.

" - }, - "MediaFormat":{ - "shape":"MediaFormat", - "documentation":"

The format of the input media file.

" - }, - "Media":{ - "shape":"Media", - "documentation":"

An object that describes the input media for the transcription job.

" - }, - "Transcript":{ - "shape":"Transcript", - "documentation":"

An object that describes the output of the transcription job.

" - }, - "CreationTime":{ - "shape":"DateTime", - "documentation":"

A timestamp that shows when the job was created.

" - }, - "CompletionTime":{ - "shape":"DateTime", - "documentation":"

A timestamp that shows when the job was completed.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

" - }, - "Settings":{ - "shape":"Settings", - "documentation":"

Optional settings for the transcription job. Use these settings to turn on speaker recognition, to set the maximum number of speakers that should be identified and to specify a custom vocabulary to use when processing the transcription job.

" - } - }, - "documentation":"

Describes an asynchronous transcription job that was created with the StartTranscriptionJob operation.

" - }, - "TranscriptionJobName":{ - "type":"string", - "max":200, - "min":1, - "pattern":"^[0-9a-zA-Z._-]+" - }, - "TranscriptionJobStatus":{ - "type":"string", - "enum":[ - "IN_PROGRESS", - "FAILED", - "COMPLETED" - ] - }, - "TranscriptionJobSummaries":{ - "type":"list", - "member":{"shape":"TranscriptionJobSummary"} - }, - "TranscriptionJobSummary":{ - "type":"structure", - "members":{ - "TranscriptionJobName":{ - "shape":"TranscriptionJobName", - "documentation":"

The name of the transcription job.

" - }, - "CreationTime":{ - "shape":"DateTime", - "documentation":"

A timestamp that shows when the job was created.

" - }, - "CompletionTime":{ - "shape":"DateTime", - "documentation":"

A timestamp that shows when the job was completed.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code for the input speech.

" - }, - "TranscriptionJobStatus":{ - "shape":"TranscriptionJobStatus", - "documentation":"

The status of the transcription job. When the status is COMPLETED, use the GetTranscriptionJob operation to get the results of the transcription.

" - }, - "FailureReason":{ - "shape":"FailureReason", - "documentation":"

If the TranscriptionJobStatus field is FAILED, a description of the error.

" - }, - "OutputLocationType":{ - "shape":"OutputLocationType", - "documentation":"

Indicates the location of the output of the transcription job.

If the value is CUSTOMER_BUCKET then the location is the S3 bucket specified in the outputBucketName field when the transcription job was started with the StartTranscriptionJob operation.

If the value is SERVICE_BUCKET then the output is stored by Amazon Transcribe and can be retrieved using the URI in the GetTranscriptionJob response's TranscriptFileUri field.

" - } - }, - "documentation":"

Provides a summary of information about a transcription job.

" - }, - "UpdateVocabularyRequest":{ - "type":"structure", - "required":[ - "VocabularyName", - "LanguageCode", - "Phrases" - ], - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary to update. The name is case-sensitive.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "Phrases":{ - "shape":"Phrases", - "documentation":"

An array of strings containing the vocabulary entries.

" - } - } - }, - "UpdateVocabularyResponse":{ - "type":"structure", - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary that was updated.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "LastModifiedTime":{ - "shape":"DateTime", - "documentation":"

The date and time that the vocabulary was updated.

" - }, - "VocabularyState":{ - "shape":"VocabularyState", - "documentation":"

The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

" - } - } - }, - "Uri":{ - "type":"string", - "max":2000, - "min":1 - }, - "Vocabularies":{ - "type":"list", - "member":{"shape":"VocabularyInfo"} - }, - "VocabularyInfo":{ - "type":"structure", - "members":{ - "VocabularyName":{ - "shape":"VocabularyName", - "documentation":"

The name of the vocabulary.

" - }, - "LanguageCode":{ - "shape":"LanguageCode", - "documentation":"

The language code of the vocabulary entries.

" - }, - "LastModifiedTime":{ - "shape":"DateTime", - "documentation":"

The date and time that the vocabulary was last modified.

" - }, - "VocabularyState":{ - "shape":"VocabularyState", - "documentation":"

The processing state of the vocabulary. If the state is READY you can use the vocabulary in a StartTranscriptionJob request.

" - } - }, - "documentation":"

Provides information about a custom vocabulary.

" - }, - "VocabularyName":{ - "type":"string", - "max":200, - "min":1, - "pattern":"^[0-9a-zA-Z._-]+" - }, - "VocabularyState":{ - "type":"string", - "enum":[ - "PENDING", - "READY", - "FAILED" - ] - } - }, - "documentation":"

Operations and objects for transcribing speech to text.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/service-2.json deleted file mode 100644 index 95de9aaf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/translate/2017-07-01/service-2.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-07-01", - "endpointPrefix":"translate", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon Translate", - "serviceId":"Translate", - "signatureVersion":"v4", - "signingName":"translate", - "targetPrefix":"AWSShineFrontendService_20170701", - "uid":"translate-2017-07-01" - }, - "operations":{ - "TranslateText":{ - "name":"TranslateText", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TranslateTextRequest"}, - "output":{"shape":"TranslateTextResponse"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"TextSizeLimitExceededException"}, - {"shape":"TooManyRequestsException"}, - {"shape":"UnsupportedLanguagePairException"}, - {"shape":"DetectedLanguageLowConfidenceException"}, - {"shape":"InternalServerException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Translates input text from the source language to the target language. You can translate between English (en) and one of the following languages, or between one of the following languages and English.

  • Arabic (ar)

  • Chinese (Simplified) (zh)

  • French (fr)

  • German (de)

  • Portuguese (pt)

  • Spanish (es)

To have Amazon Translate determine the source language of your text, you can specify auto in the SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to determine the source language.

" - } - }, - "shapes":{ - "BoundedLengthString":{ - "type":"string", - "max":5000, - "min":1 - }, - "DetectedLanguageLowConfidenceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"}, - "DetectedLanguageCode":{ - "shape":"LanguageCodeString", - "documentation":"

Auto detected language code from Comprehend.

" - } - }, - "documentation":"

The confidence that Amazon Comprehend accurately detected the source language is low. If a low confidence level is acceptable for your application, you can use the language in the exception to call Amazon Translate again. For more information, see the DetectDominantLanguage operation in the Amazon Comprehend Developer Guide.

", - "exception":true - }, - "InternalServerException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An internal server error occurred. Retry your request.

", - "exception":true, - "fault":true - }, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The request is invalid.

", - "exception":true - }, - "LanguageCodeString":{ - "type":"string", - "max":5, - "min":2 - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Amazon Translate is unavailable. Retry your request later.

", - "exception":true - }, - "String":{ - "type":"string", - "min":1 - }, - "TextSizeLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The size of the input text exceeds the length constraint for the Text field. Try again with a shorter text.

", - "exception":true - }, - "TooManyRequestsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The number of requests exceeds the limit. Resubmit your request later.

", - "exception":true - }, - "TranslateTextRequest":{ - "type":"structure", - "required":[ - "Text", - "SourceLanguageCode", - "TargetLanguageCode" - ], - "members":{ - "Text":{ - "shape":"BoundedLengthString", - "documentation":"

The text to translate.

" - }, - "SourceLanguageCode":{ - "shape":"LanguageCodeString", - "documentation":"

One of the supported language codes for the source text. If the TargetLanguageCode is not \"en\", the SourceLanguageCode must be \"en\".

To have Amazon Translate determine the source language of your text, you can specify auto in the SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to determine the source language.

" - }, - "TargetLanguageCode":{ - "shape":"LanguageCodeString", - "documentation":"

One of the supported language codes for the target text. If the SourceLanguageCode is not \"en\", the TargetLanguageCode must be \"en\".

" - } - } - }, - "TranslateTextResponse":{ - "type":"structure", - "required":[ - "TranslatedText", - "SourceLanguageCode", - "TargetLanguageCode" - ], - "members":{ - "TranslatedText":{ - "shape":"String", - "documentation":"

The text translated into the target language.

" - }, - "SourceLanguageCode":{ - "shape":"LanguageCodeString", - "documentation":"

The language code for the language of the input text.

" - }, - "TargetLanguageCode":{ - "shape":"LanguageCodeString", - "documentation":"

The language code for the language of the translated text.

" - } - } - }, - "UnsupportedLanguagePairException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

Amazon Translate cannot translate input text in the source language into this target language. For more information, see how-to-error-msg.

", - "exception":true - } - }, - "documentation":"

Provides translation between English and one of six languages, or between one of the six languages and English.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/examples-1.json deleted file mode 100644 index eee5b6f4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/examples-1.json +++ /dev/null @@ -1,1017 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/paginators-1.json deleted file mode 100644 index ea142457..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/paginators-1.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "pagination": {} -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/service-2.json deleted file mode 100644 index 7e2c98a7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf-regional/2016-11-28/service-2.json +++ /dev/null @@ -1,5127 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-11-28", - "endpointPrefix":"waf-regional", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"WAF Regional", - "serviceFullName":"AWS WAF Regional", - "serviceId":"WAF Regional", - "signatureVersion":"v4", - "targetPrefix":"AWSWAF_Regional_20161128", - "uid":"waf-regional-2016-11-28" - }, - "operations":{ - "AssociateWebACL":{ - "name":"AssociateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateWebACLRequest"}, - "output":{"shape":"AssociateWebACLResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFUnavailableEntityException"} - ], - "documentation":"

Associates a web ACL with a resource.

" - }, - "CreateByteMatchSet":{ - "name":"CreateByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateByteMatchSetRequest"}, - "output":{"shape":"CreateByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateGeoMatchSet":{ - "name":"CreateGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGeoMatchSetRequest"}, - "output":{"shape":"CreateGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateIPSet":{ - "name":"CreateIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIPSetRequest"}, - "output":{"shape":"CreateIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

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.

" - }, - "CreateRegexMatchSet":{ - "name":"CreateRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRegexMatchSetRequest"}, - "output":{"shape":"CreateRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRegexPatternSet":{ - "name":"CreateRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRegexPatternSetRequest"}, - "output":{"shape":"CreateRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRule":{ - "name":"CreateRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRuleRequest"}, - "output":{"shape":"CreateRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRuleGroup":{ - "name":"CreateRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRuleGroupRequest"}, - "output":{"shape":"CreateRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateSizeConstraintSet":{ - "name":"CreateSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSizeConstraintSetRequest"}, - "output":{"shape":"CreateSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateSqlInjectionMatchSet":{ - "name":"CreateSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSqlInjectionMatchSetRequest"}, - "output":{"shape":"CreateSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateWebACL":{ - "name":"CreateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateWebACLRequest"}, - "output":{"shape":"CreateWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" - }, - "CreateXssMatchSet":{ - "name":"CreateXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateXssMatchSetRequest"}, - "output":{"shape":"CreateXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "DeleteByteMatchSet":{ - "name":"DeleteByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteByteMatchSetRequest"}, - "output":{"shape":"DeleteByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

To permanently delete a ByteMatchSet, perform the following steps:

  1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

  3. Submit a DeleteByteMatchSet request.

" - }, - "DeleteGeoMatchSet":{ - "name":"DeleteGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGeoMatchSetRequest"}, - "output":{"shape":"DeleteGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries.

If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.

To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:

  1. Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request.

  3. Submit a DeleteGeoMatchSet request.

" - }, - "DeleteIPSet":{ - "name":"DeleteIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIPSetRequest"}, - "output":{"shape":"DeleteIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

  3. Submit a DeleteIPSet request.

" - }, - "DeleteLoggingConfiguration":{ - "name":"DeleteLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoggingConfigurationRequest"}, - "output":{"shape":"DeleteLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"} - ], - "documentation":"

Permanently deletes the LoggingConfiguration from the specified web ACL.

" - }, - "DeletePermissionPolicy":{ - "name":"DeletePermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePermissionPolicyRequest"}, - "output":{"shape":"DeletePermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Permanently deletes an IAM policy from the specified RuleGroup.

The user making the request must be the owner of the RuleGroup.

" - }, - "DeleteRateBasedRule":{ - "name":"DeleteRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRateBasedRuleRequest"}, - "output":{"shape":"DeleteRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "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.

" - }, - "DeleteRegexMatchSet":{ - "name":"DeleteRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRegexMatchSetRequest"}, - "output":{"shape":"DeleteRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters).

If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.

To permanently delete a RegexMatchSet, perform the following steps:

  1. Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request.

  3. Submit a DeleteRegexMatchSet request.

" - }, - "DeleteRegexPatternSet":{ - "name":"DeleteRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRegexPatternSetRequest"}, - "output":{"shape":"DeleteRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty.

" - }, - "DeleteRule":{ - "name":"DeleteRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleRequest"}, - "output":{"shape":"DeleteRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a Rule from a WebACL, use UpdateWebACL.

To permanently delete a Rule from AWS WAF, perform the following steps:

  1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

  3. Submit a DeleteRule request.

" - }, - "DeleteRuleGroup":{ - "name":"DeleteRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleGroupRequest"}, - "output":{"shape":"DeleteRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"}, - {"shape":"WAFInvalidOperationException"} - ], - "documentation":"

Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules.

If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.

To permanently delete a RuleGroup from AWS WAF, perform the following steps:

  1. Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request.

  3. Submit a DeleteRuleGroup request.

" - }, - "DeleteSizeConstraintSet":{ - "name":"DeleteSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSizeConstraintSetRequest"}, - "output":{"shape":"DeleteSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

To permanently delete a SizeConstraintSet, perform the following steps:

  1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

  3. Submit a DeleteSizeConstraintSet request.

" - }, - "DeleteSqlInjectionMatchSet":{ - "name":"DeleteSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSqlInjectionMatchSetRequest"}, - "output":{"shape":"DeleteSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

  1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

  3. Submit a DeleteSqlInjectionMatchSet request.

" - }, - "DeleteWebACL":{ - "name":"DeleteWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteWebACLRequest"}, - "output":{"shape":"DeleteWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

To delete a WebACL, perform the following steps:

  1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

  3. Submit a DeleteWebACL request.

" - }, - "DeleteXssMatchSet":{ - "name":"DeleteXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteXssMatchSetRequest"}, - "output":{"shape":"DeleteXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

  1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

  3. Submit a DeleteXssMatchSet request.

" - }, - "DisassociateWebACL":{ - "name":"DisassociateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateWebACLRequest"}, - "output":{"shape":"DisassociateWebACLResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Removes a web ACL from the specified resource.

" - }, - "GetByteMatchSet":{ - "name":"GetByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetByteMatchSetRequest"}, - "output":{"shape":"GetByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the ByteMatchSet specified by ByteMatchSetId.

" - }, - "GetChangeToken":{ - "name":"GetChangeToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetChangeTokenRequest"}, - "output":{"shape":"GetChangeTokenResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

" - }, - "GetChangeTokenStatus":{ - "name":"GetChangeTokenStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetChangeTokenStatusRequest"}, - "output":{"shape":"GetChangeTokenStatusResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • IN_SYNC: Propagation is complete.

" - }, - "GetGeoMatchSet":{ - "name":"GetGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGeoMatchSetRequest"}, - "output":{"shape":"GetGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the GeoMatchSet that is specified by GeoMatchSetId.

" - }, - "GetIPSet":{ - "name":"GetIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIPSetRequest"}, - "output":{"shape":"GetIPSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the IPSet that is specified by IPSetId.

" - }, - "GetLoggingConfiguration":{ - "name":"GetLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoggingConfigurationRequest"}, - "output":{"shape":"GetLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the LoggingConfiguration for the specified web ACL.

" - }, - "GetPermissionPolicy":{ - "name":"GetPermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPermissionPolicyRequest"}, - "output":{"shape":"GetPermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the IAM policy attached to the RuleGroup.

" - }, - "GetRateBasedRule":{ - "name":"GetRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRateBasedRuleRequest"}, - "output":{"shape":"GetRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

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.

" - }, - "GetRegexMatchSet":{ - "name":"GetRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRegexMatchSetRequest"}, - "output":{"shape":"GetRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RegexMatchSet specified by RegexMatchSetId.

" - }, - "GetRegexPatternSet":{ - "name":"GetRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRegexPatternSetRequest"}, - "output":{"shape":"GetRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RegexPatternSet specified by RegexPatternSetId.

" - }, - "GetRule":{ - "name":"GetRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRuleRequest"}, - "output":{"shape":"GetRuleResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the Rule that is specified by the RuleId that you included in the GetRule request.

" - }, - "GetRuleGroup":{ - "name":"GetRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRuleGroupRequest"}, - "output":{"shape":"GetRuleGroupResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request.

To view the rules in a rule group, use ListActivatedRulesInRuleGroup.

" - }, - "GetSampledRequests":{ - "name":"GetSampledRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSampledRequestsRequest"}, - "output":{"shape":"GetSampledRequestsResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" - }, - "GetSizeConstraintSet":{ - "name":"GetSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSizeConstraintSetRequest"}, - "output":{"shape":"GetSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the SizeConstraintSet specified by SizeConstraintSetId.

" - }, - "GetSqlInjectionMatchSet":{ - "name":"GetSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSqlInjectionMatchSetRequest"}, - "output":{"shape":"GetSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

" - }, - "GetWebACL":{ - "name":"GetWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetWebACLRequest"}, - "output":{"shape":"GetWebACLResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the WebACL that is specified by WebACLId.

" - }, - "GetWebACLForResource":{ - "name":"GetWebACLForResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetWebACLForResourceRequest"}, - "output":{"shape":"GetWebACLForResourceResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFUnavailableEntityException"} - ], - "documentation":"

Returns the web ACL for the specified resource.

" - }, - "GetXssMatchSet":{ - "name":"GetXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetXssMatchSetRequest"}, - "output":{"shape":"GetXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the XssMatchSet that is specified by XssMatchSetId.

" - }, - "ListActivatedRulesInRuleGroup":{ - "name":"ListActivatedRulesInRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListActivatedRulesInRuleGroupRequest"}, - "output":{"shape":"ListActivatedRulesInRuleGroupResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Returns an array of ActivatedRule objects.

" - }, - "ListByteMatchSets":{ - "name":"ListByteMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListByteMatchSetsRequest"}, - "output":{"shape":"ListByteMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of ByteMatchSetSummary objects.

" - }, - "ListGeoMatchSets":{ - "name":"ListGeoMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGeoMatchSetsRequest"}, - "output":{"shape":"ListGeoMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of GeoMatchSetSummary objects in the response.

" - }, - "ListIPSets":{ - "name":"ListIPSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIPSetsRequest"}, - "output":{"shape":"ListIPSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of IPSetSummary objects in the response.

" - }, - "ListLoggingConfigurations":{ - "name":"ListLoggingConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListLoggingConfigurationsRequest"}, - "output":{"shape":"ListLoggingConfigurationsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Returns an array of LoggingConfiguration objects.

" - }, - "ListRateBasedRules":{ - "name":"ListRateBasedRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRateBasedRulesRequest"}, - "output":{"shape":"ListRateBasedRulesResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RuleSummary objects.

" - }, - "ListRegexMatchSets":{ - "name":"ListRegexMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRegexMatchSetsRequest"}, - "output":{"shape":"ListRegexMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RegexMatchSetSummary objects.

" - }, - "ListRegexPatternSets":{ - "name":"ListRegexPatternSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRegexPatternSetsRequest"}, - "output":{"shape":"ListRegexPatternSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RegexPatternSetSummary objects.

" - }, - "ListResourcesForWebACL":{ - "name":"ListResourcesForWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourcesForWebACLRequest"}, - "output":{"shape":"ListResourcesForWebACLResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns an array of resources associated with the specified web ACL.

" - }, - "ListRuleGroups":{ - "name":"ListRuleGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRuleGroupsRequest"}, - "output":{"shape":"ListRuleGroupsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns an array of RuleGroup objects.

" - }, - "ListRules":{ - "name":"ListRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesRequest"}, - "output":{"shape":"ListRulesResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RuleSummary objects.

" - }, - "ListSizeConstraintSets":{ - "name":"ListSizeConstraintSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSizeConstraintSetsRequest"}, - "output":{"shape":"ListSizeConstraintSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of SizeConstraintSetSummary objects.

" - }, - "ListSqlInjectionMatchSets":{ - "name":"ListSqlInjectionMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSqlInjectionMatchSetsRequest"}, - "output":{"shape":"ListSqlInjectionMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of SqlInjectionMatchSet objects.

" - }, - "ListSubscribedRuleGroups":{ - "name":"ListSubscribedRuleGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSubscribedRuleGroupsRequest"}, - "output":{"shape":"ListSubscribedRuleGroupsResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns an array of RuleGroup objects that you are subscribed to.

" - }, - "ListWebACLs":{ - "name":"ListWebACLs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWebACLsRequest"}, - "output":{"shape":"ListWebACLsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of WebACLSummary objects in the response.

" - }, - "ListXssMatchSets":{ - "name":"ListXssMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListXssMatchSetsRequest"}, - "output":{"shape":"ListXssMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of XssMatchSet objects.

" - }, - "PutLoggingConfiguration":{ - "name":"PutLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLoggingConfigurationRequest"}, - "output":{"shape":"PutLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"} - ], - "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose delivery stream. For more information, see Creating an Amazon Kinesis Data Firehose Delivery Stream.

  2. Associate that delivery stream to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose delivery stream. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" - }, - "PutPermissionPolicy":{ - "name":"PutPermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutPermissionPolicyRequest"}, - "output":{"shape":"PutPermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidPermissionPolicyException"} - ], - "documentation":"

Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.

The PutPermissionPolicy is subject to the following restrictions:

  • You can attach only one policy with each PutPermissionPolicy request.

  • The policy must include an Effect, Action and Principal.

  • Effect must specify Allow.

  • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

  • The policy cannot include a Resource parameter.

  • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

  • The user making the request must be the owner of the RuleGroup.

  • Your policy must be composed using IAM Policy version 2012-10-17.

For more information, see IAM Policies.

An example of a valid policy parameter is shown in the Examples section below.

" - }, - "UpdateByteMatchSet":{ - "name":"UpdateByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateByteMatchSetRequest"}, - "output":{"shape":"UpdateByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateGeoMatchSet":{ - "name":"UpdateGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGeoMatchSetRequest"}, - "output":{"shape":"UpdateGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateIPSet":{ - "name":"UpdateIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateIPSetRequest"}, - "output":{"shape":"UpdateIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRateBasedRule":{ - "name":"UpdateRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRateBasedRuleRequest"}, - "output":{"shape":"UpdateRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

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.

" - }, - "UpdateRegexMatchSet":{ - "name":"UpdateRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRegexMatchSetRequest"}, - "output":{"shape":"UpdateRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRegexPatternSet":{ - "name":"UpdateRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRegexPatternSetRequest"}, - "output":{"shape":"UpdateRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidRegexPatternException"} - ], - "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRule":{ - "name":"UpdateRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRuleRequest"}, - "output":{"shape":"UpdateRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRuleGroup":{ - "name":"UpdateRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRuleGroupRequest"}, - "output":{"shape":"UpdateRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateSizeConstraintSet":{ - "name":"UpdateSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSizeConstraintSetRequest"}, - "output":{"shape":"UpdateSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateSqlInjectionMatchSet":{ - "name":"UpdateSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSqlInjectionMatchSetRequest"}, - "output":{"shape":"UpdateSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateWebACL":{ - "name":"UpdateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateWebACLRequest"}, - "output":{"shape":"UpdateWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFSubscriptionNotFoundException"} - ], - "documentation":"

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateXssMatchSetRequest"}, - "output":{"shape":"UpdateXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - } - }, - "shapes":{ - "Action":{"type":"string"}, - "ActivatedRule":{ - "type":"structure", - "required":[ - "Priority", - "RuleId" - ], - "members":{ - "Priority":{ - "shape":"RulePriority", - "documentation":"

Specifies the order in which the Rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before Rules with a higher value. The value must be a unique integer. If you add multiple Rules to a WebACL, the values don't need to be consecutive.

" - }, - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Action":{ - "shape":"WafAction", - "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "OverrideAction":{ - "shape":"WafOverrideAction", - "documentation":"

Use the OverrideAction to test your RuleGroup.

Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup will block a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using GetSampledRequests.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "Type":{ - "shape":"WafRuleType", - "documentation":"

The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" - } - }, - "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.

" - }, - "ActivatedRules":{ - "type":"list", - "member":{"shape":"ActivatedRule"} - }, - "AssociateWebACLRequest":{ - "type":"structure", - "required":[ - "WebACLId", - "ResourceArn" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier (ID) for the web ACL.

" - }, - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource to be protected.

" - } - } - }, - "AssociateWebACLResponse":{ - "type":"structure", - "members":{ - } - }, - "ByteMatchSet":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ByteMatchTuples" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet).

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - }, - "ByteMatchTuples":{ - "shape":"ByteMatchTuples", - "documentation":"

Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

" - } - }, - "documentation":"

In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

" - }, - "ByteMatchSetSummaries":{ - "type":"list", - "member":{"shape":"ByteMatchSetSummary"} - }, - "ByteMatchSetSummary":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "Name" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - } - }, - "documentation":"

Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet.

" - }, - "ByteMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "ByteMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a ByteMatchTuple.

" - }, - "ByteMatchTuple":{ - "shape":"ByteMatchTuple", - "documentation":"

Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action, the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

" - } - }, - "documentation":"

In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple.

" - }, - "ByteMatchSetUpdates":{ - "type":"list", - "member":{"shape":"ByteMatchSetUpdate"}, - "min":1 - }, - "ByteMatchTargetString":{"type":"blob"}, - "ByteMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TargetString", - "TextTransformation", - "PositionalConstraint" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.

" - }, - "TargetString":{ - "shape":"ByteMatchTargetString", - "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - }, - "PositionalConstraint":{ - "shape":"PositionalConstraint", - "documentation":"

Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of TargetString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

  • TargetString exactly matches the value of the specified part of the web request, such as the value of a header.

  • TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot;.

  • TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot.

  • TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

EXACTLY

The value of the specified part of the web request must exactly match the value of TargetString.

STARTS_WITH

The value of TargetString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of TargetString must appear at the end of the specified part of the web request.

" - } - }, - "documentation":"

The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

" - }, - "ByteMatchTuples":{ - "type":"list", - "member":{"shape":"ByteMatchTuple"} - }, - "ChangeAction":{ - "type":"string", - "enum":[ - "INSERT", - "DELETE" - ] - }, - "ChangeToken":{ - "type":"string", - "min":1 - }, - "ChangeTokenStatus":{ - "type":"string", - "enum":[ - "PROVISIONED", - "PENDING", - "INSYNC" - ] - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "EQ", - "NE", - "LE", - "LT", - "GE", - "GT" - ] - }, - "Country":{"type":"string"}, - "CreateByteMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ByteMatchSet":{ - "shape":"ByteMatchSet", - "documentation":"

A ByteMatchSet that contains no ByteMatchTuple objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "GeoMatchSet":{ - "shape":"GeoMatchSet", - "documentation":"

The GeoMatchSet returned in the CreateGeoMatchSet response. The GeoMatchSet contains no GeoMatchConstraints.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateIPSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change Name after you create the IPSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateIPSetResponse":{ - "type":"structure", - "members":{ - "IPSet":{ - "shape":"IPSet", - "documentation":"

The IPSet returned in the CreateIPSet response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "RateKey", - "RateLimit", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); 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.

" - } - } - }, - "CreateRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "RegexMatchSet":{ - "shape":"RegexMatchSet", - "documentation":"

A RegexMatchSet that contains no RegexMatchTuple objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "RegexPatternSet":{ - "shape":"RegexPatternSet", - "documentation":"

A RegexPatternSet that contains no objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRuleGroupRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRuleGroupResponse":{ - "type":"structure", - "members":{ - "RuleGroup":{ - "shape":"RuleGroup", - "documentation":"

An empty RuleGroup.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRuleRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"Rule", - "documentation":"

The Rule returned in the CreateRule response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

A SizeConstraintSet that contains no SizeConstraint objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to create a SqlInjectionMatchSet.

" - }, - "CreateSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

A SqlInjectionMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a CreateSqlInjectionMatchSet request.

" - }, - "CreateWebACLRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "DefaultAction", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change Name after you create the WebACL.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateWebACLResponse":{ - "type":"structure", - "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

The WebACL returned in the CreateWebACL response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateXssMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to create an XssMatchSet.

" - }, - "CreateXssMatchSetResponse":{ - "type":"structure", - "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

An XssMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a CreateXssMatchSet request.

" - }, - "DeleteByteMatchSetRequest":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ChangeToken" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "ChangeToken" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteIPSetRequest":{ - "type":"structure", - "required":[ - "IPSetId", - "ChangeToken" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteIPSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteLoggingConfigurationRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration.

" - } - } - }, - "DeleteLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "DeletePermissionPolicyRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy.

The user making the request must be the owner of the RuleGroup.

" - } - } - }, - "DeletePermissionPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "ChangeToken" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "ChangeToken" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRuleGroupRequest":{ - "type":"structure", - "required":[ - "RuleGroupId", - "ChangeToken" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRuleGroupResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "ChangeToken" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "ChangeToken" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to delete a SqlInjectionMatchSet from AWS WAF.

" - }, - "DeleteSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a request to delete a SqlInjectionMatchSet from AWS WAF.

" - }, - "DeleteWebACLRequest":{ - "type":"structure", - "required":[ - "WebACLId", - "ChangeToken" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteWebACLResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteXssMatchSetRequest":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "ChangeToken" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to delete an XssMatchSet from AWS WAF.

" - }, - "DeleteXssMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a request to delete an XssMatchSet from AWS WAF.

" - }, - "DisassociateWebACLRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed.

" - } - } - }, - "DisassociateWebACLResponse":{ - "type":"structure", - "members":{ - } - }, - "FieldToMatch":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"MatchFieldType", - "documentation":"

The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

  • HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data.

  • METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: A query string, which is the part of a URL that appears after a ? character, if any.

  • URI: The part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but rather than inspecting a single parameter, AWS WAF will inspect all parameters within the query for the value or regex pattern that you specify in TargetString.

" - }, - "Data":{ - "shape":"MatchFieldData", - "documentation":"

When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. The name of the header is not case sensitive.

When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion. The parameter name is not case sensitive.

If the value of Type is any other value, omit Data.

" - } - }, - "documentation":"

Specifies where in a web request to look for TargetString.

" - }, - "GeoMatchConstraint":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"GeoMatchConstraintType", - "documentation":"

The type of geographical area you want AWS WAF to search for. Currently Country is the only valid value.

" - }, - "Value":{ - "shape":"GeoMatchConstraintValue", - "documentation":"

The country that you want AWS WAF to search for.

" - } - }, - "documentation":"

The country from which web requests originate that you want AWS WAF to search for.

" - }, - "GeoMatchConstraintType":{ - "type":"string", - "enum":["Country"] - }, - "GeoMatchConstraintValue":{ - "type":"string", - "enum":[ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "KH", - "CM", - "CA", - "CV", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CG", - "CD", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MK", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SZ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] - }, - "GeoMatchConstraints":{ - "type":"list", - "member":{"shape":"GeoMatchConstraint"} - }, - "GeoMatchSet":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "GeoMatchConstraints" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet).

GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

" - }, - "GeoMatchConstraints":{ - "shape":"GeoMatchConstraints", - "documentation":"

An array of GeoMatchConstraint objects, which contain the country that you want AWS WAF to search for.

" - } - }, - "documentation":"

Contains one or more countries that AWS WAF will search for.

" - }, - "GeoMatchSetSummaries":{ - "type":"list", - "member":{"shape":"GeoMatchSetSummary"} - }, - "GeoMatchSetSummary":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "Name" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet request to get detailed information about an GeoMatchSet.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name of the GeoMatchSet.

" - }, - "GeoMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "GeoMatchConstraint" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a country with UpdateGeoMatchSet.

" - }, - "GeoMatchConstraint":{ - "shape":"GeoMatchConstraint", - "documentation":"

The country from which web requests originate that you want AWS WAF to search for.

" - } - }, - "documentation":"

Specifies the type of update to perform to an GeoMatchSet with UpdateGeoMatchSet.

" - }, - "GeoMatchSetUpdates":{ - "type":"list", - "member":{"shape":"GeoMatchSetUpdate"}, - "min":1 - }, - "GetByteMatchSetRequest":{ - "type":"structure", - "required":["ByteMatchSetId"], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - } - } - }, - "GetByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ByteMatchSet":{ - "shape":"ByteMatchSet", - "documentation":"

Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

  • ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name

  • ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation

  • FieldToMatch: Contains Data and Type

" - } - } - }, - "GetChangeTokenRequest":{ - "type":"structure", - "members":{ - } - }, - "GetChangeTokenResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus request to get the current status of the request.

" - } - } - }, - "GetChangeTokenStatusRequest":{ - "type":"structure", - "required":["ChangeToken"], - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response.

" - } - } - }, - "GetChangeTokenStatusResponse":{ - "type":"structure", - "members":{ - "ChangeTokenStatus":{ - "shape":"ChangeTokenStatus", - "documentation":"

The status of the change token.

" - } - } - }, - "GetGeoMatchSetRequest":{ - "type":"structure", - "required":["GeoMatchSetId"], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - } - } - }, - "GetGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "GeoMatchSet":{ - "shape":"GeoMatchSet", - "documentation":"

Information about the GeoMatchSet that you specified in the GetGeoMatchSet request. This includes the Type, which for a GeoMatchContraint is always Country, as well as the Value, which is the identifier for a specific country.

" - } - } - }, - "GetIPSetRequest":{ - "type":"structure", - "required":["IPSetId"], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

" - } - } - }, - "GetIPSetResponse":{ - "type":"structure", - "members":{ - "IPSet":{ - "shape":"IPSet", - "documentation":"

Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

  • IPSet: Contains IPSetDescriptors, IPSetId, and Name

  • IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each IPSetDescriptor object contains Type and Value

" - } - } - }, - "GetLoggingConfigurationRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration.

" - } - } - }, - "GetLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The LoggingConfiguration for the specified web ACL.

" - } - } - }, - "GetPermissionPolicyRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

" - } - } - }, - "GetPermissionPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"PolicyString", - "documentation":"

The IAM policy attached to the specified RuleGroup.

" - } - } - }, - "GetRateBasedRuleManagedKeysRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

A null value and not currently used. Do not include this in your request.

" - } - } - }, - "GetRateBasedRuleManagedKeysResponse":{ - "type":"structure", - "members":{ - "ManagedKeys":{ - "shape":"ManagedKeys", - "documentation":"

An array of IP addresses that currently are blocked by the specified RateBasedRule.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

A null value and not currently used.

" - } - } - }, - "GetRateBasedRuleRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - } - } - }, - "GetRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"RateBasedRule", - "documentation":"

Information about the RateBasedRule that you specified in the GetRateBasedRule request.

" - } - } - }, - "GetRegexMatchSetRequest":{ - "type":"structure", - "required":["RegexMatchSetId"], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - } - } - }, - "GetRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "RegexMatchSet":{ - "shape":"RegexMatchSet", - "documentation":"

Information about the RegexMatchSet that you specified in the GetRegexMatchSet request. For more information, see RegexMatchTuple.

" - } - } - }, - "GetRegexPatternSetRequest":{ - "type":"structure", - "required":["RegexPatternSetId"], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - } - } - }, - "GetRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "RegexPatternSet":{ - "shape":"RegexPatternSet", - "documentation":"

Information about the RegexPatternSet that you specified in the GetRegexPatternSet request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.

" - } - } - }, - "GetRuleGroupRequest":{ - "type":"structure", - "required":["RuleGroupId"], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - } - } - }, - "GetRuleGroupResponse":{ - "type":"structure", - "members":{ - "RuleGroup":{ - "shape":"RuleGroup", - "documentation":"

Information about the RuleGroup that you specified in the GetRuleGroup request.

" - } - } - }, - "GetRuleRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

" - } - } - }, - "GetRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"Rule", - "documentation":"

Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

  • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

  • Predicate: Each Predicate object contains DataId, Negated, and Type

" - } - } - }, - "GetSampledRequestsMaxItems":{ - "type":"long", - "max":500, - "min":1 - }, - "GetSampledRequestsRequest":{ - "type":"structure", - "required":[ - "WebAclId", - "RuleId", - "TimeWindow", - "MaxItems" - ], - "members":{ - "WebAclId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

" - }, - "RuleId":{ - "shape":"ResourceId", - "documentation":"

RuleId is one of three values:

  • The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests.

  • Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL.

" - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. 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":"GetSampledRequestsMaxItems", - "documentation":"

The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

" - } - } - }, - "GetSampledRequestsResponse":{ - "type":"structure", - "members":{ - "SampledRequests":{ - "shape":"SampledHTTPRequests", - "documentation":"

A complex type that contains detailed information about each of the requests in the sample.

" - }, - "PopulationSize":{ - "shape":"PopulationSize", - "documentation":"

The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

" - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests.

" - } - } - }, - "GetSizeConstraintSetRequest":{ - "type":"structure", - "required":["SizeConstraintSetId"], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - } - } - }, - "GetSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

" - } - } - }, - "GetSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":["SqlInjectionMatchSetId"], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - } - }, - "documentation":"

A request to get a SqlInjectionMatchSet.

" - }, - "GetSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

" - } - }, - "documentation":"

The response to a GetSqlInjectionMatchSet request.

" - }, - "GetWebACLForResourceRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The ARN (Amazon Resource Name) of the resource for which to get the web ACL.

" - } - } - }, - "GetWebACLForResourceResponse":{ - "type":"structure", - "members":{ - "WebACLSummary":{ - "shape":"WebACLSummary", - "documentation":"

Information about the web ACL that you specified in the GetWebACLForResource request. If there is no associated resource, a null WebACLSummary is returned.

" - } - } - }, - "GetWebACLRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - } - } - }, - "GetWebACLResponse":{ - "type":"structure", - "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

  • WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, and WebACLId

  • DefaultAction (Data type is WafAction): Contains Type

  • Rules: Contains an array of ActivatedRule objects, which contain Action, Priority, and RuleId

  • Action: Contains Type

" - } - } - }, - "GetXssMatchSetRequest":{ - "type":"structure", - "required":["XssMatchSetId"], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - } - }, - "documentation":"

A request to get an XssMatchSet.

" - }, - "GetXssMatchSetResponse":{ - "type":"structure", - "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

  • XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple objects

  • XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation

  • FieldToMatch: Contains Data and Type

" - } - }, - "documentation":"

The response to a GetXssMatchSet request.

" - }, - "HTTPHeader":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"HeaderName", - "documentation":"

The name of one of the headers in the sampled web request.

" - }, - "Value":{ - "shape":"HeaderValue", - "documentation":"

The value of one of the headers in the sampled web request.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests.

" - }, - "HTTPHeaders":{ - "type":"list", - "member":{"shape":"HTTPHeader"} - }, - "HTTPMethod":{"type":"string"}, - "HTTPRequest":{ - "type":"structure", - "members":{ - "ClientIP":{ - "shape":"IPString", - "documentation":"

The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

  • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

  • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

" - }, - "Country":{ - "shape":"Country", - "documentation":"

The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

" - }, - "URI":{ - "shape":"URIString", - "documentation":"

The part of a web request that identifies the resource, for example, /images/daily-ad.jpg.

" - }, - "Method":{ - "shape":"HTTPMethod", - "documentation":"

The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

" - }, - "HTTPVersion":{ - "shape":"HTTPVersion", - "documentation":"

The HTTP version specified in the sampled web request, for example, HTTP/1.1.

" - }, - "Headers":{ - "shape":"HTTPHeaders", - "documentation":"

A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests.

" - }, - "HTTPVersion":{"type":"string"}, - "HeaderName":{"type":"string"}, - "HeaderValue":{"type":"string"}, - "IPSet":{ - "type":"structure", - "required":[ - "IPSetId", - "IPSetDescriptors" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

" - }, - "IPSetDescriptors":{ - "shape":"IPSetDescriptors", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" - } - }, - "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /16, /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" - }, - "IPSetDescriptor":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"IPSetDescriptorType", - "documentation":"

Specify IPV4 or IPV6.

" - }, - "Value":{ - "shape":"IPSetDescriptorValue", - "documentation":"

Specify an IPv4 address by using CIDR notation. For example:

  • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

  • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

Specify an IPv6 address by using CIDR notation. For example:

  • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

  • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

" - } - }, - "documentation":"

Specifies the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) that web requests originate from.

" - }, - "IPSetDescriptorType":{ - "type":"string", - "enum":[ - "IPV4", - "IPV6" - ] - }, - "IPSetDescriptorValue":{"type":"string"}, - "IPSetDescriptors":{ - "type":"list", - "member":{"shape":"IPSetDescriptor"} - }, - "IPSetSummaries":{ - "type":"list", - "member":{"shape":"IPSetSummary"} - }, - "IPSetSummary":{ - "type":"structure", - "required":[ - "IPSetId", - "Name" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name of the IPSet.

" - }, - "IPSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "IPSetDescriptor" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete an IP address with UpdateIPSet.

" - }, - "IPSetDescriptor":{ - "shape":"IPSetDescriptor", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from.

" - } - }, - "documentation":"

Specifies the type of update to perform to an IPSet with UpdateIPSet.

" - }, - "IPSetUpdates":{ - "type":"list", - "member":{"shape":"IPSetUpdate"}, - "min":1 - }, - "IPString":{"type":"string"}, - "ListActivatedRulesInRuleGroupRequest":{ - "type":"structure", - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules.

" - } - } - }, - "ListActivatedRulesInRuleGroupResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more ActivatedRules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ActivatedRules, submit another ListActivatedRulesInRuleGroup request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "ActivatedRules":{ - "shape":"ActivatedRules", - "documentation":"

An array of ActivatedRules objects.

" - } - } - }, - "ListByteMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.

" - } - } - }, - "ListByteMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more ByteMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ByteMatchSet objects, submit another ListByteMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "ByteMatchSets":{ - "shape":"ByteMatchSetSummaries", - "documentation":"

An array of ByteMatchSetSummary objects.

" - } - } - }, - "ListGeoMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects.

" - } - } - }, - "ListGeoMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more GeoMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more GeoMatchSet objects, submit another ListGeoMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "GeoMatchSets":{ - "shape":"GeoMatchSetSummaries", - "documentation":"

An array of GeoMatchSetSummary objects.

" - } - } - }, - "ListIPSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more IPSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects.

" - } - } - }, - "ListIPSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more IPSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more IPSet objects, submit another ListIPSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "IPSets":{ - "shape":"IPSetSummaries", - "documentation":"

An array of IPSetSummary objects.

" - } - } - }, - "ListLoggingConfigurationsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations.

" - } - } - }, - "ListLoggingConfigurationsResponse":{ - "type":"structure", - "members":{ - "LoggingConfigurations":{ - "shape":"LoggingConfigurations", - "documentation":"

An array of LoggingConfiguration objects.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - } - } - }, - "ListRateBasedRulesRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - } - }, - "ListRateBasedRulesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "Rules":{ - "shape":"RuleSummaries", - "documentation":"

An array of RuleSummary objects.

" - } - } - }, - "ListRegexMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects.

" - } - } - }, - "ListRegexMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RegexMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexMatchSet objects, submit another ListRegexMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RegexMatchSets":{ - "shape":"RegexMatchSetSummaries", - "documentation":"

An array of RegexMatchSetSummary objects.

" - } - } - }, - "ListRegexPatternSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects.

" - } - } - }, - "ListRegexPatternSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RegexPatternSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexPatternSet objects, submit another ListRegexPatternSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RegexPatternSets":{ - "shape":"RegexPatternSetSummaries", - "documentation":"

An array of RegexPatternSetSummary objects.

" - } - } - }, - "ListResourcesForWebACLRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The unique identifier (ID) of the web ACL for which to list the associated resources.

" - } - } - }, - "ListResourcesForWebACLResponse":{ - "type":"structure", - "members":{ - "ResourceArns":{ - "shape":"ResourceArns", - "documentation":"

An array of ARNs (Amazon Resource Names) of the resources associated with the specified web ACL. An array with zero elements is returned if there are no resources associated with the web ACL.

" - } - } - }, - "ListRuleGroupsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

" - } - } - }, - "ListRuleGroupsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RuleGroups than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RuleGroups, submit another ListRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RuleGroups":{ - "shape":"RuleGroupSummaries", - "documentation":"

An array of RuleGroup objects.

" - } - } - }, - "ListRulesRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - } - }, - "ListRulesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "Rules":{ - "shape":"RuleSummaries", - "documentation":"

An array of RuleSummary objects.

" - } - } - }, - "ListSizeConstraintSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects.

" - } - } - }, - "ListSizeConstraintSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more SizeConstraintSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SizeConstraintSet objects, submit another ListSizeConstraintSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "SizeConstraintSets":{ - "shape":"SizeConstraintSetSummaries", - "documentation":"

An array of SizeConstraintSetSummary objects.

" - } - } - }, - "ListSqlInjectionMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - }, - "documentation":"

A request to list the SqlInjectionMatchSet objects created by the current AWS account.

" - }, - "ListSqlInjectionMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "SqlInjectionMatchSets":{ - "shape":"SqlInjectionMatchSetSummaries", - "documentation":"

An array of SqlInjectionMatchSetSummary objects.

" - } - }, - "documentation":"

The response to a ListSqlInjectionMatchSets request.

" - }, - "ListSubscribedRuleGroupsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects.

" - } - } - }, - "ListSubscribedRuleGroupsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more objects, submit another ListSubscribedRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RuleGroups":{ - "shape":"SubscribedRuleGroupSummaries", - "documentation":"

An array of RuleGroup objects.

" - } - } - }, - "ListWebACLsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects.

" - } - } - }, - "ListWebACLsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more WebACL objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more WebACL objects, submit another ListWebACLs request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "WebACLs":{ - "shape":"WebACLSummaries", - "documentation":"

An array of WebACLSummary objects.

" - } - } - }, - "ListXssMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - }, - "documentation":"

A request to list the XssMatchSet objects created by the current AWS account.

" - }, - "ListXssMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more XssMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more XssMatchSet objects, submit another ListXssMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "XssMatchSets":{ - "shape":"XssMatchSetSummaries", - "documentation":"

An array of XssMatchSetSummary objects.

" - } - }, - "documentation":"

The response to a ListXssMatchSets request.

" - }, - "LogDestinationConfigs":{ - "type":"list", - "member":{"shape":"ResourceArn"}, - "max":1, - "min":1 - }, - "LoggingConfiguration":{ - "type":"structure", - "required":[ - "ResourceArn", - "LogDestinationConfigs" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

" - }, - "LogDestinationConfigs":{ - "shape":"LogDestinationConfigs", - "documentation":"

An array of Amazon Kinesis Data Firehose delivery stream ARNs.

" - }, - "RedactedFields":{ - "shape":"RedactedFields", - "documentation":"

The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the delivery stream will be xxx.

" - } - }, - "documentation":"

The Amazon Kinesis Data Firehose delivery streams, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

" - }, - "LoggingConfigurations":{ - "type":"list", - "member":{"shape":"LoggingConfiguration"} - }, - "ManagedKey":{"type":"string"}, - "ManagedKeys":{ - "type":"list", - "member":{"shape":"ManagedKey"} - }, - "MatchFieldData":{"type":"string"}, - "MatchFieldType":{ - "type":"string", - "enum":[ - "URI", - "QUERY_STRING", - "HEADER", - "METHOD", - "BODY", - "SINGLE_QUERY_ARG", - "ALL_QUERY_ARGS" - ] - }, - "MetricName":{"type":"string"}, - "Negated":{"type":"boolean"}, - "NextMarker":{ - "type":"string", - "min":1 - }, - "PaginationLimit":{ - "type":"integer", - "max":100, - "min":0 - }, - "ParameterExceptionField":{ - "type":"string", - "enum":[ - "CHANGE_ACTION", - "WAF_ACTION", - "WAF_OVERRIDE_ACTION", - "PREDICATE_TYPE", - "IPSET_TYPE", - "BYTE_MATCH_FIELD_TYPE", - "SQL_INJECTION_MATCH_FIELD_TYPE", - "BYTE_MATCH_TEXT_TRANSFORMATION", - "BYTE_MATCH_POSITIONAL_CONSTRAINT", - "SIZE_CONSTRAINT_COMPARISON_OPERATOR", - "GEO_MATCH_LOCATION_TYPE", - "GEO_MATCH_LOCATION_VALUE", - "RATE_KEY", - "RULE_TYPE", - "NEXT_MARKER" - ] - }, - "ParameterExceptionParameter":{ - "type":"string", - "min":1 - }, - "ParameterExceptionReason":{ - "type":"string", - "enum":[ - "INVALID_OPTION", - "ILLEGAL_COMBINATION" - ] - }, - "PolicyString":{ - "type":"string", - "min":1 - }, - "PopulationSize":{"type":"long"}, - "PositionalConstraint":{ - "type":"string", - "enum":[ - "EXACTLY", - "STARTS_WITH", - "ENDS_WITH", - "CONTAINS", - "CONTAINS_WORD" - ] - }, - "Predicate":{ - "type":"structure", - "required":[ - "Negated", - "Type", - "DataId" - ], - "members":{ - "Negated":{ - "shape":"Negated", - "documentation":"

Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

" - }, - "Type":{ - "shape":"PredicateType", - "documentation":"

The type of predicate in a Rule, such as ByteMatch or IPSet.

" - }, - "DataId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

" - } - }, - "documentation":"

Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

" - }, - "PredicateType":{ - "type":"string", - "enum":[ - "IPMatch", - "ByteMatch", - "SqlInjectionMatch", - "GeoMatch", - "SizeConstraint", - "XssMatch", - "RegexMatch" - ] - }, - "Predicates":{ - "type":"list", - "member":{"shape":"Predicate"} - }, - "PutLoggingConfigurationRequest":{ - "type":"structure", - "required":["LoggingConfiguration"], - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The Amazon Kinesis Data Firehose delivery streams that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

" - } - } - }, - "PutLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The LoggingConfiguration that you submitted in the request.

" - } - } - }, - "PutPermissionPolicyRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "Policy" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

" - }, - "Policy":{ - "shape":"PolicyString", - "documentation":"

The policy to attach to the specified RuleGroup.

" - } - } - }, - "PutPermissionPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "RateBasedRule":{ - "type":"structure", - "required":[ - "RuleId", - "MatchPredicates", - "RateKey", - "RateLimit" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); 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", - "max":2000000000, - "min":2000 - }, - "RedactedFields":{ - "type":"list", - "member":{"shape":"FieldToMatch"} - }, - "RegexMatchSet":{ - "type":"structure", - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), insert a RegexMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a RegexMatchSet from AWS WAF (see DeleteRegexMatchSet).

RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - }, - "RegexMatchTuples":{ - "shape":"RegexMatchTuples", - "documentation":"

Contains an array of RegexMatchTuple objects. Each RegexMatchTuple object contains:

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

" - } - }, - "documentation":"

In a GetRegexMatchSet request, RegexMatchSet is a complex type that contains the RegexMatchSetId and Name of a RegexMatchSet, and the values that you specified when you updated the RegexMatchSet.

The values are contained in a RegexMatchTuple object, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a RegexMatchSet contains more than one RegexMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

" - }, - "RegexMatchSetSummaries":{ - "type":"list", - "member":{"shape":"RegexMatchSetSummary"} - }, - "RegexMatchSetSummary":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "Name" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet, update a RegexMatchSet, remove a RegexMatchSet from a Rule, and delete a RegexMatchSet from AWS WAF.

RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - } - }, - "documentation":"

Returned by ListRegexMatchSets. Each RegexMatchSetSummary object includes the Name and RegexMatchSetId for one RegexMatchSet.

" - }, - "RegexMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "RegexMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a RegexMatchTuple.

" - }, - "RegexMatchTuple":{ - "shape":"RegexMatchTuple", - "documentation":"

Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify DELETE for the value of Action, the RegexMatchTuple values must exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

" - } - }, - "documentation":"

In an UpdateRegexMatchSet request, RegexMatchSetUpdate specifies whether to insert or delete a RegexMatchTuple and includes the settings for the RegexMatchTuple.

" - }, - "RegexMatchSetUpdates":{ - "type":"list", - "member":{"shape":"RegexMatchSetUpdate"}, - "min":1 - }, - "RegexMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation", - "RegexPatternSetId" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for the RegexPatternSet.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on RegexPatternSet before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - }, - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), insert a RegexPatternSet into a RegexMatchSet or delete one from a RegexMatchSet (see UpdateRegexMatchSet), and delete an RegexPatternSet from AWS WAF (see DeleteRegexPatternSet).

RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - } - }, - "documentation":"

The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings. Each RegexMatchTuple object contains:

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

" - }, - "RegexMatchTuples":{ - "type":"list", - "member":{"shape":"RegexMatchTuple"} - }, - "RegexPatternSet":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "RegexPatternStrings" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - }, - "RegexPatternStrings":{ - "shape":"RegexPatternStrings", - "documentation":"

Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

" - } - }, - "documentation":"

The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

" - }, - "RegexPatternSetSummaries":{ - "type":"list", - "member":{"shape":"RegexPatternSetSummary"} - }, - "RegexPatternSetSummary":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "Name" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - } - }, - "documentation":"

Returned by ListRegexPatternSets. Each RegexPatternSetSummary object includes the Name and RegexPatternSetId for one RegexPatternSet.

" - }, - "RegexPatternSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "RegexPatternString" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a RegexPatternString.

" - }, - "RegexPatternString":{ - "shape":"RegexPatternString", - "documentation":"

Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t.

" - } - }, - "documentation":"

In an UpdateRegexPatternSet request, RegexPatternSetUpdate specifies whether to insert or delete a RegexPatternString and includes the settings for the RegexPatternString.

" - }, - "RegexPatternSetUpdates":{ - "type":"list", - "member":{"shape":"RegexPatternSetUpdate"}, - "min":1 - }, - "RegexPatternString":{ - "type":"string", - "min":1 - }, - "RegexPatternStrings":{ - "type":"list", - "member":{"shape":"RegexPatternString"}, - "max":10 - }, - "ResourceArn":{ - "type":"string", - "max":1224, - "min":1 - }, - "ResourceArns":{ - "type":"list", - "member":{"shape":"ResourceArn"} - }, - "ResourceId":{ - "type":"string", - "max":128, - "min":1 - }, - "ResourceName":{ - "type":"string", - "max":128, - "min":1 - }, - "Rule":{ - "type":"structure", - "required":[ - "RuleId", - "Predicates" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The friendly name or description for the Rule. You can't change the name of a Rule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the Rule.

" - }, - "Predicates":{ - "shape":"Predicates", - "documentation":"

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

" - } - }, - "documentation":"

A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

  • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44

  • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot.

To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

" - }, - "RuleGroup":{ - "type":"structure", - "required":["RuleGroupId"], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The friendly name or description for the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - } - }, - "documentation":"

A collection of predefined rules that you can add to a web ACL.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

" - }, - "RuleGroupSummaries":{ - "type":"list", - "member":{"shape":"RuleGroupSummary"} - }, - "RuleGroupSummary":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Name" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - } - }, - "documentation":"

Contains the identifier and the friendly name or description of the RuleGroup.

" - }, - "RuleGroupUpdate":{ - "type":"structure", - "required":[ - "Action", - "ActivatedRule" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove an ActivatedRule from a RuleGroup.

" - }, - "ActivatedRule":{ - "shape":"ActivatedRule", - "documentation":"

The ActivatedRule object specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

" - } - }, - "documentation":"

Specifies an ActivatedRule and indicates whether you want to add it to a RuleGroup or delete it from a RuleGroup.

" - }, - "RuleGroupUpdates":{ - "type":"list", - "member":{"shape":"RuleGroupUpdate"}, - "min":1 - }, - "RulePriority":{"type":"integer"}, - "RuleSummaries":{ - "type":"list", - "member":{"shape":"RuleSummary"} - }, - "RuleSummary":{ - "type":"structure", - "required":[ - "RuleId", - "Name" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

" - } - }, - "documentation":"

Contains the identifier and the friendly name or description of the Rule.

" - }, - "RuleUpdate":{ - "type":"structure", - "required":[ - "Action", - "Predicate" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate from a Rule.

" - }, - "Predicate":{ - "shape":"Predicate", - "documentation":"

The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

" - } - }, - "documentation":"

Specifies a Predicate (such as an IPSet) and indicates whether you want to add it to a Rule or delete it from a Rule.

" - }, - "RuleUpdates":{ - "type":"list", - "member":{"shape":"RuleUpdate"} - }, - "SampleWeight":{ - "type":"long", - "min":0 - }, - "SampledHTTPRequest":{ - "type":"structure", - "required":[ - "Request", - "Weight" - ], - "members":{ - "Request":{ - "shape":"HTTPRequest", - "documentation":"

A complex type that contains detailed information about the request.

" - }, - "Weight":{ - "shape":"SampleWeight", - "documentation":"

A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of 2 represents roughly twice as many CloudFront web requests as a result that has a weight of 1.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

" - }, - "Action":{ - "shape":"Action", - "documentation":"

The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

" - }, - "RuleWithinRuleGroup":{ - "shape":"ResourceId", - "documentation":"

This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

" - }, - "SampledHTTPRequests":{ - "type":"list", - "member":{"shape":"SampledHTTPRequest"} - }, - "Size":{ - "type":"long", - "max":21474836480, - "min":0 - }, - "SizeConstraint":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation", - "ComparisonOperator", - "Size" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for the size constraint.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

NONE

Specify NONE if you don't want to perform any text transformations.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

EQ: Used to test if the Size is equal to the size of the FieldToMatch

NE: Used to test if the Size is not equal to the size of the FieldToMatch

LE: Used to test if the Size is less than or equal to the size of the FieldToMatch

LT: Used to test if the Size is strictly less than the size of the FieldToMatch

GE: Used to test if the Size is greater than or equal to the size of the FieldToMatch

GT: Used to test if the Size is strictly greater than the size of the FieldToMatch

" - }, - "Size":{ - "shape":"Size", - "documentation":"

The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

" - } - }, - "documentation":"

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

" - }, - "SizeConstraintSet":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "SizeConstraints" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the SizeConstraintSet.

" - }, - "SizeConstraints":{ - "shape":"SizeConstraints", - "documentation":"

Specifies the parts of web requests that you want to inspect the size of.

" - } - }, - "documentation":"

A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

" - }, - "SizeConstraintSetSummaries":{ - "type":"list", - "member":{"shape":"SizeConstraintSetSummary"} - }, - "SizeConstraintSetSummary":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "Name" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the SizeConstraintSet, if any.

" - } - }, - "documentation":"

The Id and Name of a SizeConstraintSet.

" - }, - "SizeConstraintSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "SizeConstraint" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet.

" - }, - "SizeConstraint":{ - "shape":"SizeConstraint", - "documentation":"

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet.

" - }, - "SizeConstraintSetUpdates":{ - "type":"list", - "member":{"shape":"SizeConstraintSetUpdate"}, - "min":1 - }, - "SizeConstraints":{ - "type":"list", - "member":{"shape":"SizeConstraint"} - }, - "SqlInjectionMatchSet":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "SqlInjectionMatchTuples" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchTuples":{ - "shape":"SqlInjectionMatchTuples", - "documentation":"

Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

" - } - }, - "documentation":"

A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

" - }, - "SqlInjectionMatchSetSummaries":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchSetSummary"} - }, - "SqlInjectionMatchSetSummary":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "Name" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the SqlInjectionMatchSet, if any, specified by Id.

" - } - }, - "documentation":"

The Id and Name of a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "SqlInjectionMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchTuple":{ - "shape":"SqlInjectionMatchTuple", - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchSetUpdates":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchSetUpdate"}, - "min":1 - }, - "SqlInjectionMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for snippets of malicious SQL code.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - } - }, - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

" - }, - "SqlInjectionMatchTuples":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchTuple"} - }, - "SubscribedRuleGroupSummaries":{ - "type":"list", - "member":{"shape":"SubscribedRuleGroupSummary"} - }, - "SubscribedRuleGroupSummary":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Name", - "MetricName" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - } - }, - "documentation":"

A summary of the rule groups you are subscribed to.

" - }, - "TextTransformation":{ - "type":"string", - "enum":[ - "NONE", - "COMPRESS_WHITE_SPACE", - "HTML_ENTITY_DECODE", - "LOWERCASE", - "CMD_LINE", - "URL_DECODE" - ] - }, - "TimeWindow":{ - "type":"structure", - "required":[ - "StartTime", - "EndTime" - ], - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" - } - }, - "documentation":"

In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

" - }, - "Timestamp":{"type":"timestamp"}, - "URIString":{"type":"string"}, - "UpdateByteMatchSetRequest":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"ByteMatchSetUpdates", - "documentation":"

An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types:

" - } - } - }, - "UpdateByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"GeoMatchSetUpdates", - "documentation":"

An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types:

  • GeoMatchSetUpdate: Contains Action and GeoMatchConstraint

  • GeoMatchConstraint: Contains Type and Value

    You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request.

" - } - } - }, - "UpdateGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateIPSetRequest":{ - "type":"structure", - "required":[ - "IPSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"IPSetUpdates", - "documentation":"

An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

You can insert a maximum of 1000 addresses in a single request.

" - } - } - }, - "UpdateIPSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken", - "Updates", - "RateLimit" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"RuleUpdates", - "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

" - }, - "RateLimit":{ - "shape":"RateLimit", - "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" - } - } - }, - "UpdateRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "Updates", - "ChangeToken" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Updates":{ - "shape":"RegexMatchSetUpdates", - "documentation":"

An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "Updates", - "ChangeToken" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Updates":{ - "shape":"RegexPatternSetUpdates", - "documentation":"

An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRuleGroupRequest":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Updates", - "ChangeToken" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Updates":{ - "shape":"RuleGroupUpdates", - "documentation":"

An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup.

You can only insert REGULAR rules into a rule group.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRuleGroupResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken", - "Updates" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"RuleUpdates", - "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types:

" - } - } - }, - "UpdateRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"SizeConstraintSetUpdates", - "documentation":"

An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types:

" - } - } - }, - "UpdateSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"SqlInjectionMatchSetUpdates", - "documentation":"

An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types:

" - } - }, - "documentation":"

A request to update a SqlInjectionMatchSet.

" - }, - "UpdateSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to an UpdateSqlInjectionMatchSets request.

" - }, - "UpdateWebACLRequest":{ - "type":"structure", - "required":[ - "WebACLId", - "ChangeToken" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.

" - } - } - }, - "UpdateWebACLResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateXssMatchSetRequest":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"XssMatchSetUpdates", - "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" - } - }, - "documentation":"

A request to update an XssMatchSet.

" - }, - "UpdateXssMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to an UpdateXssMatchSets request.

" - }, - "WAFDisallowedNameException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The name specified is invalid.

", - "exception":true - }, - "WAFInternalErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because of a system problem, even though the request was valid. Retry your request.

", - "exception":true, - "fault":true - }, - "WAFInvalidAccountException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

", - "exception":true - }, - "WAFInvalidOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because there was nothing to do. For example:

  • You tried to remove a Rule from a WebACL, but the Rule isn't in the specified WebACL.

  • You tried to remove an IP address from an IPSet, but the IP address isn't in the specified IPSet.

  • You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple isn't in the specified WebACL.

  • You tried to add a Rule to a WebACL, but the Rule already exists in the specified WebACL.

  • You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple already exists in the specified WebACL.

", - "exception":true - }, - "WAFInvalidParameterException":{ - "type":"structure", - "members":{ - "field":{"shape":"ParameterExceptionField"}, - "parameter":{"shape":"ParameterExceptionParameter"}, - "reason":{"shape":"ParameterExceptionReason"} - }, - "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to create a RateBasedRule with a RateKey value other than IP.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, METHOD, QUERY_STRING, URI, or BODY.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", - "exception":true - }, - "WAFInvalidPermissionPolicyException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because the specified policy is not in the proper format.

The policy is subject to the following restrictions:

  • You can attach only one policy with each PutPermissionPolicy request.

  • The policy must include an Effect, Action and Principal.

  • Effect must specify Allow.

  • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

  • The policy cannot include a Resource parameter.

  • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

  • The user making the request must be the owner of the RuleGroup.

  • Your policy must be composed using IAM Policy version 2012-10-17.

", - "exception":true - }, - "WAFInvalidRegexPatternException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The regular expression (regex) you specified in RegexPatternString is invalid.

", - "exception":true - }, - "WAFLimitsExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", - "exception":true - }, - "WAFNonEmptyEntityException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to delete an object that isn't empty. For example:

  • You tried to delete a WebACL that still contains one or more Rule objects.

  • You tried to delete a Rule that still contains one or more ByteMatchSet objects or other predicates.

  • You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple objects.

  • You tried to delete an IPSet that references one or more IP addresses.

", - "exception":true - }, - "WAFNonexistentContainerException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

  • You tried to add a Rule to or delete a Rule from a WebACL that doesn't exist.

  • You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule that doesn't exist.

  • You tried to add an IP address to or delete an IP address from an IPSet that doesn't exist.

  • You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a ByteMatchSet that doesn't exist.

", - "exception":true - }, - "WAFNonexistentItemException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because the referenced object doesn't exist.

", - "exception":true - }, - "WAFReferencedItemException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to delete an object that is still in use. For example:

  • You tried to delete a ByteMatchSet that is still referenced by a Rule.

  • You tried to delete a Rule that is still referenced by a WebACL.

", - "exception":true - }, - "WAFStaleDataException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

", - "exception":true - }, - "WAFSubscriptionNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The specified subscription does not exist.

", - "exception":true - }, - "WAFUnavailableEntityException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because the entity referenced is temporarily unavailable. Retry your request.

", - "exception":true - }, - "WafAction":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"WafActionType", - "documentation":"

Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

  • ALLOW: AWS WAF allows requests

  • BLOCK: AWS WAF blocks requests

  • COUNT: AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.

" - } - }, - "documentation":"

For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

" - }, - "WafActionType":{ - "type":"string", - "enum":[ - "BLOCK", - "ALLOW", - "COUNT" - ] - }, - "WafOverrideAction":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"WafOverrideActionType", - "documentation":"

COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action will take place.

" - } - }, - "documentation":"

The action to take if any rule within the RuleGroup matches a request.

" - }, - "WafOverrideActionType":{ - "type":"string", - "enum":[ - "NONE", - "COUNT" - ] - }, - "WafRuleType":{ - "type":"string", - "enum":[ - "REGULAR", - "RATE_BASED", - "GROUP" - ] - }, - "WebACL":{ - "type":"structure", - "required":[ - "WebACLId", - "DefaultAction", - "Rules" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

" - }, - "Rules":{ - "shape":"ActivatedRules", - "documentation":"

An array that contains the action for each Rule in a WebACL, the priority of the Rule, and the ID of the Rule.

" - } - }, - "documentation":"

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

" - }, - "WebACLSummaries":{ - "type":"list", - "member":{"shape":"WebACLSummary"} - }, - "WebACLSummary":{ - "type":"structure", - "required":[ - "WebACLId", - "Name" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name or description of the WebACL.

" - }, - "WebACLUpdate":{ - "type":"structure", - "required":[ - "Action", - "ActivatedRule" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert a Rule into or delete a Rule from a WebACL.

" - }, - "ActivatedRule":{ - "shape":"ActivatedRule", - "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

" - } - }, - "documentation":"

Specifies whether to insert a Rule into or delete a Rule from a WebACL.

" - }, - "WebACLUpdates":{ - "type":"list", - "member":{"shape":"WebACLUpdate"} - }, - "XssMatchSet":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "XssMatchTuples" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the XssMatchSet.

" - }, - "XssMatchTuples":{ - "shape":"XssMatchTuples", - "documentation":"

Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

" - } - }, - "documentation":"

A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

" - }, - "XssMatchSetSummaries":{ - "type":"list", - "member":{"shape":"XssMatchSetSummary"} - }, - "XssMatchSetSummary":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "Name" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the XssMatchSet, if any, specified by Id.

" - } - }, - "documentation":"

The Id and Name of an XssMatchSet.

" - }, - "XssMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "XssMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet.

" - }, - "XssMatchTuple":{ - "shape":"XssMatchTuple", - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet.

" - }, - "XssMatchSetUpdates":{ - "type":"list", - "member":{"shape":"XssMatchSetUpdate"}, - "min":1 - }, - "XssMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for cross-site scripting attacks.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - } - }, - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

" - }, - "XssMatchTuples":{ - "type":"list", - "member":{"shape":"XssMatchTuple"} - }, - "errorMessage":{"type":"string"} - }, - "documentation":"

This is the AWS WAF Regional API Reference for using AWS WAF with Elastic Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and data types listed in the reference are available for protecting Application Load Balancers. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/examples-1.json deleted file mode 100644 index eee5b6f4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/examples-1.json +++ /dev/null @@ -1,1017 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/paginators-1.json deleted file mode 100644 index ae6668d9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/paginators-1.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "pagination": { - "ListByteMatchSets": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "ByteMatchSets" - }, - "ListIPSets": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "IPSets" - }, - "ListRules": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "Rules" - }, - "ListSizeConstraintSets": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "SizeConstraintSets" - }, - "ListSqlInjectionMatchSets": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "SqlInjectionMatchSets" - }, - "ListWebACLs": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "WebACLs" - }, - "ListXssMatchSets": { - "input_token": "NextMarker", - "output_token": "NextMarker", - "limit_key": "Limit", - "result_key": "XssMatchSets" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/service-2.json deleted file mode 100644 index 2f1bd094..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/waf/2015-08-24/service-2.json +++ /dev/null @@ -1,4975 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-08-24", - "endpointPrefix":"waf", - "jsonVersion":"1.1", - "protocol":"json", - "serviceAbbreviation":"WAF", - "serviceFullName":"AWS WAF", - "serviceId":"WAF", - "signatureVersion":"v4", - "targetPrefix":"AWSWAF_20150824", - "uid":"waf-2015-08-24" - }, - "operations":{ - "CreateByteMatchSet":{ - "name":"CreateByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateByteMatchSetRequest"}, - "output":{"shape":"CreateByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateGeoMatchSet":{ - "name":"CreateGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGeoMatchSetRequest"}, - "output":{"shape":"CreateGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

To create and configure a GeoMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

  2. Submit a CreateGeoMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateIPSet":{ - "name":"CreateIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIPSetRequest"}, - "output":{"shape":"CreateIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

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.

" - }, - "CreateRegexMatchSet":{ - "name":"CreateRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRegexMatchSetRequest"}, - "output":{"shape":"CreateRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

  2. Submit a CreateRegexMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRegexPatternSet":{ - "name":"CreateRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRegexPatternSetRequest"}, - "output":{"shape":"CreateRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexPatternSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

  2. Submit a CreateRegexPatternSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRule":{ - "name":"CreateRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRuleRequest"}, - "output":{"shape":"CreateRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

  • An IPSet that matches the IP address 192.0.2.44/32

  • A ByteMatchSet that matches BadBot in the User-Agent header

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateRuleGroup":{ - "name":"CreateRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateRuleGroupRequest"}, - "output":{"shape":"CreateRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateSizeConstraintSet":{ - "name":"CreateSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSizeConstraintSetRequest"}, - "output":{"shape":"CreateSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateSqlInjectionMatchSet":{ - "name":"CreateSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateSqlInjectionMatchSetRequest"}, - "output":{"shape":"CreateSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "CreateWebACL":{ - "name":"CreateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateWebACLRequest"}, - "output":{"shape":"CreateWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

" - }, - "CreateXssMatchSet":{ - "name":"CreateXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateXssMatchSetRequest"}, - "output":{"shape":"CreateXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "DeleteByteMatchSet":{ - "name":"DeleteByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteByteMatchSetRequest"}, - "output":{"shape":"DeleteByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

To permanently delete a ByteMatchSet, perform the following steps:

  1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

  3. Submit a DeleteByteMatchSet request.

" - }, - "DeleteGeoMatchSet":{ - "name":"DeleteGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGeoMatchSetRequest"}, - "output":{"shape":"DeleteGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries.

If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.

To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:

  1. Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request.

  3. Submit a DeleteGeoMatchSet request.

" - }, - "DeleteIPSet":{ - "name":"DeleteIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIPSetRequest"}, - "output":{"shape":"DeleteIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

  3. Submit a DeleteIPSet request.

" - }, - "DeleteLoggingConfiguration":{ - "name":"DeleteLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteLoggingConfigurationRequest"}, - "output":{"shape":"DeleteLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"} - ], - "documentation":"

Permanently deletes the LoggingConfiguration from the specified web ACL.

" - }, - "DeletePermissionPolicy":{ - "name":"DeletePermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeletePermissionPolicyRequest"}, - "output":{"shape":"DeletePermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Permanently deletes an IAM policy from the specified RuleGroup.

The user making the request must be the owner of the RuleGroup.

" - }, - "DeleteRateBasedRule":{ - "name":"DeleteRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRateBasedRuleRequest"}, - "output":{"shape":"DeleteRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "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.

" - }, - "DeleteRegexMatchSet":{ - "name":"DeleteRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRegexMatchSetRequest"}, - "output":{"shape":"DeleteRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters).

If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.

To permanently delete a RegexMatchSet, perform the following steps:

  1. Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request.

  3. Submit a DeleteRegexMatchSet request.

" - }, - "DeleteRegexPatternSet":{ - "name":"DeleteRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRegexPatternSetRequest"}, - "output":{"shape":"DeleteRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty.

" - }, - "DeleteRule":{ - "name":"DeleteRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleRequest"}, - "output":{"shape":"DeleteRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a Rule from a WebACL, use UpdateWebACL.

To permanently delete a Rule from AWS WAF, perform the following steps:

  1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

  3. Submit a DeleteRule request.

" - }, - "DeleteRuleGroup":{ - "name":"DeleteRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteRuleGroupRequest"}, - "output":{"shape":"DeleteRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"}, - {"shape":"WAFInvalidOperationException"} - ], - "documentation":"

Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules.

If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.

To permanently delete a RuleGroup from AWS WAF, perform the following steps:

  1. Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request.

  3. Submit a DeleteRuleGroup request.

" - }, - "DeleteSizeConstraintSet":{ - "name":"DeleteSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSizeConstraintSetRequest"}, - "output":{"shape":"DeleteSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

To permanently delete a SizeConstraintSet, perform the following steps:

  1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

  3. Submit a DeleteSizeConstraintSet request.

" - }, - "DeleteSqlInjectionMatchSet":{ - "name":"DeleteSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteSqlInjectionMatchSetRequest"}, - "output":{"shape":"DeleteSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

  1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

  3. Submit a DeleteSqlInjectionMatchSet request.

" - }, - "DeleteWebACL":{ - "name":"DeleteWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteWebACLRequest"}, - "output":{"shape":"DeleteWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

To delete a WebACL, perform the following steps:

  1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

  3. Submit a DeleteWebACL request.

" - }, - "DeleteXssMatchSet":{ - "name":"DeleteXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteXssMatchSetRequest"}, - "output":{"shape":"DeleteXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonEmptyEntityException"} - ], - "documentation":"

Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

  1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

  3. Submit a DeleteXssMatchSet request.

" - }, - "GetByteMatchSet":{ - "name":"GetByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetByteMatchSetRequest"}, - "output":{"shape":"GetByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the ByteMatchSet specified by ByteMatchSetId.

" - }, - "GetChangeToken":{ - "name":"GetChangeToken", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetChangeTokenRequest"}, - "output":{"shape":"GetChangeTokenResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

" - }, - "GetChangeTokenStatus":{ - "name":"GetChangeTokenStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetChangeTokenStatusRequest"}, - "output":{"shape":"GetChangeTokenStatusResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

  • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

  • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

  • IN_SYNC: Propagation is complete.

" - }, - "GetGeoMatchSet":{ - "name":"GetGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetGeoMatchSetRequest"}, - "output":{"shape":"GetGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the GeoMatchSet that is specified by GeoMatchSetId.

" - }, - "GetIPSet":{ - "name":"GetIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetIPSetRequest"}, - "output":{"shape":"GetIPSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the IPSet that is specified by IPSetId.

" - }, - "GetLoggingConfiguration":{ - "name":"GetLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetLoggingConfigurationRequest"}, - "output":{"shape":"GetLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the LoggingConfiguration for the specified web ACL.

" - }, - "GetPermissionPolicy":{ - "name":"GetPermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetPermissionPolicyRequest"}, - "output":{"shape":"GetPermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the IAM policy attached to the RuleGroup.

" - }, - "GetRateBasedRule":{ - "name":"GetRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRateBasedRuleRequest"}, - "output":{"shape":"GetRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

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.

" - }, - "GetRegexMatchSet":{ - "name":"GetRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRegexMatchSetRequest"}, - "output":{"shape":"GetRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RegexMatchSet specified by RegexMatchSetId.

" - }, - "GetRegexPatternSet":{ - "name":"GetRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRegexPatternSetRequest"}, - "output":{"shape":"GetRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RegexPatternSet specified by RegexPatternSetId.

" - }, - "GetRule":{ - "name":"GetRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRuleRequest"}, - "output":{"shape":"GetRuleResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the Rule that is specified by the RuleId that you included in the GetRule request.

" - }, - "GetRuleGroup":{ - "name":"GetRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetRuleGroupRequest"}, - "output":{"shape":"GetRuleGroupResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request.

To view the rules in a rule group, use ListActivatedRulesInRuleGroup.

" - }, - "GetSampledRequests":{ - "name":"GetSampledRequests", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSampledRequestsRequest"}, - "output":{"shape":"GetSampledRequestsResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

" - }, - "GetSizeConstraintSet":{ - "name":"GetSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSizeConstraintSetRequest"}, - "output":{"shape":"GetSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the SizeConstraintSet specified by SizeConstraintSetId.

" - }, - "GetSqlInjectionMatchSet":{ - "name":"GetSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetSqlInjectionMatchSetRequest"}, - "output":{"shape":"GetSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

" - }, - "GetWebACL":{ - "name":"GetWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetWebACLRequest"}, - "output":{"shape":"GetWebACLResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the WebACL that is specified by WebACLId.

" - }, - "GetXssMatchSet":{ - "name":"GetXssMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"GetXssMatchSetRequest"}, - "output":{"shape":"GetXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFNonexistentItemException"} - ], - "documentation":"

Returns the XssMatchSet that is specified by XssMatchSetId.

" - }, - "ListActivatedRulesInRuleGroup":{ - "name":"ListActivatedRulesInRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListActivatedRulesInRuleGroupRequest"}, - "output":{"shape":"ListActivatedRulesInRuleGroupResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Returns an array of ActivatedRule objects.

" - }, - "ListByteMatchSets":{ - "name":"ListByteMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListByteMatchSetsRequest"}, - "output":{"shape":"ListByteMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of ByteMatchSetSummary objects.

" - }, - "ListGeoMatchSets":{ - "name":"ListGeoMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGeoMatchSetsRequest"}, - "output":{"shape":"ListGeoMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of GeoMatchSetSummary objects in the response.

" - }, - "ListIPSets":{ - "name":"ListIPSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListIPSetsRequest"}, - "output":{"shape":"ListIPSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of IPSetSummary objects in the response.

" - }, - "ListLoggingConfigurations":{ - "name":"ListLoggingConfigurations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListLoggingConfigurationsRequest"}, - "output":{"shape":"ListLoggingConfigurationsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Returns an array of LoggingConfiguration objects.

" - }, - "ListRateBasedRules":{ - "name":"ListRateBasedRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRateBasedRulesRequest"}, - "output":{"shape":"ListRateBasedRulesResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RuleSummary objects.

" - }, - "ListRegexMatchSets":{ - "name":"ListRegexMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRegexMatchSetsRequest"}, - "output":{"shape":"ListRegexMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RegexMatchSetSummary objects.

" - }, - "ListRegexPatternSets":{ - "name":"ListRegexPatternSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRegexPatternSetsRequest"}, - "output":{"shape":"ListRegexPatternSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RegexPatternSetSummary objects.

" - }, - "ListRuleGroups":{ - "name":"ListRuleGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRuleGroupsRequest"}, - "output":{"shape":"ListRuleGroupsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns an array of RuleGroup objects.

" - }, - "ListRules":{ - "name":"ListRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListRulesRequest"}, - "output":{"shape":"ListRulesResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of RuleSummary objects.

" - }, - "ListSizeConstraintSets":{ - "name":"ListSizeConstraintSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSizeConstraintSetsRequest"}, - "output":{"shape":"ListSizeConstraintSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of SizeConstraintSetSummary objects.

" - }, - "ListSqlInjectionMatchSets":{ - "name":"ListSqlInjectionMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSqlInjectionMatchSetsRequest"}, - "output":{"shape":"ListSqlInjectionMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of SqlInjectionMatchSet objects.

" - }, - "ListSubscribedRuleGroups":{ - "name":"ListSubscribedRuleGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListSubscribedRuleGroupsRequest"}, - "output":{"shape":"ListSubscribedRuleGroupsResponse"}, - "errors":[ - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInternalErrorException"} - ], - "documentation":"

Returns an array of RuleGroup objects that you are subscribed to.

" - }, - "ListWebACLs":{ - "name":"ListWebACLs", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListWebACLsRequest"}, - "output":{"shape":"ListWebACLsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of WebACLSummary objects in the response.

" - }, - "ListXssMatchSets":{ - "name":"ListXssMatchSets", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListXssMatchSetsRequest"}, - "output":{"shape":"ListXssMatchSetsResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Returns an array of XssMatchSet objects.

" - }, - "PutLoggingConfiguration":{ - "name":"PutLoggingConfiguration", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutLoggingConfigurationRequest"}, - "output":{"shape":"PutLoggingConfigurationResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"} - ], - "documentation":"

Associates a LoggingConfiguration with a specified web ACL.

You can access information about all traffic that AWS WAF inspects using the following steps:

  1. Create an Amazon Kinesis Data Firehose delivery stream. For more information, see Creating an Amazon Kinesis Data Firehose Delivery Stream.

  2. Associate that delivery stream to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose delivery stream. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

" - }, - "PutPermissionPolicy":{ - "name":"PutPermissionPolicy", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutPermissionPolicyRequest"}, - "output":{"shape":"PutPermissionPolicyResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidPermissionPolicyException"} - ], - "documentation":"

Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.

The PutPermissionPolicy is subject to the following restrictions:

  • You can attach only one policy with each PutPermissionPolicy request.

  • The policy must include an Effect, Action and Principal.

  • Effect must specify Allow.

  • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

  • The policy cannot include a Resource parameter.

  • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

  • The user making the request must be the owner of the RuleGroup.

  • Your policy must be composed using IAM Policy version 2012-10-17.

For more information, see IAM Policies.

An example of a valid policy parameter is shown in the Examples section below.

" - }, - "UpdateByteMatchSet":{ - "name":"UpdateByteMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateByteMatchSetRequest"}, - "output":{"shape":"UpdateByteMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

  • Where to look, such as at the beginning or the end of a query string.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateGeoMatchSet":{ - "name":"UpdateGeoMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateGeoMatchSetRequest"}, - "output":{"shape":"UpdateGeoMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

  • The Type. The only valid value for Type is Country.

  • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

To create and configure an GeoMatchSet, perform the following steps:

  1. Submit a CreateGeoMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

  3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateIPSet":{ - "name":"UpdateIPSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateIPSetRequest"}, - "output":{"shape":"UpdateIPSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

  • The IP address version, IPv4 or IPv6.

  • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

  • 1111:0000:0000:0000:0000:0000:0000:0111/128

  • 1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • 1111::111/128

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

You can insert a maximum of 1000 addresses in a single request.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRateBasedRule":{ - "name":"UpdateRateBasedRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRateBasedRuleRequest"}, - "output":{"shape":"UpdateRateBasedRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

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.

" - }, - "UpdateRegexMatchSet":{ - "name":"UpdateRegexMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRegexMatchSetRequest"}, - "output":{"shape":"UpdateRegexMatchSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFDisallowedNameException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidAccountException"} - ], - "documentation":"

Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

To create and configure a RegexMatchSet, perform the following steps:

  1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

  3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRegexPatternSet":{ - "name":"UpdateRegexPatternSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRegexPatternSetRequest"}, - "output":{"shape":"UpdateRegexPatternSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidRegexPatternException"} - ], - "documentation":"

Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

  • Whether to insert or delete the RegexPatternString.

  • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

  • BadBot

  • BadB0t

  • B@dBot

  • B@dB0t

To create and configure a RegexPatternSet, perform the following steps:

  1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

  3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRule":{ - "name":"UpdateRule", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRuleRequest"}, - "output":{"shape":"UpdateRuleResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

  • A ByteMatchSet that matches the value BadBot in the User-Agent header

  • An IPSet that matches the IP address 192.0.2.44

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateRuleGroup":{ - "name":"UpdateRuleGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRuleGroupRequest"}, - "output":{"shape":"UpdateRuleGroupResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFInvalidParameterException"} - ], - "documentation":"

Inserts or deletes ActivatedRule objects in a RuleGroup.

You can only insert REGULAR rules into a rule group.

You can have a maximum of ten rules per rule group.

To create and configure a RuleGroup, perform the following steps:

  1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

  3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

  4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

If you want to replace one Rule with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateSizeConstraintSet":{ - "name":"UpdateSizeConstraintSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSizeConstraintSetRequest"}, - "output":{"shape":"UpdateSizeConstraintSetResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

  • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

  • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

  • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    You can only specify a single type of TextTransformation.

  • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

  • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateSqlInjectionMatchSet":{ - "name":"UpdateSqlInjectionMatchSet", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateSqlInjectionMatchSetRequest"}, - "output":{"shape":"UpdateSqlInjectionMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You can only specify a single type of TextTransformation.

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - }, - "UpdateWebACL":{ - "name":"UpdateWebACL", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateWebACLRequest"}, - "output":{"shape":"UpdateWebACLResponse"}, - "errors":[ - {"shape":"WAFStaleDataException"}, - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"}, - {"shape":"WAFSubscriptionNotFoundException"} - ], - "documentation":"

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", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateXssMatchSetRequest"}, - "output":{"shape":"UpdateXssMatchSetResponse"}, - "errors":[ - {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"}, - {"shape":"WAFInvalidOperationException"}, - {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFNonexistentContainerException"}, - {"shape":"WAFNonexistentItemException"}, - {"shape":"WAFStaleDataException"}, - {"shape":"WAFLimitsExceededException"} - ], - "documentation":"

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

  • Action: Whether to insert the object into or delete the object from the array. To change a XssMatchTuple, you delete the existing object and add a new one.

  • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

  • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You can only specify a single type of TextTransformation.

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" - } - }, - "shapes":{ - "Action":{"type":"string"}, - "ActivatedRule":{ - "type":"structure", - "required":[ - "Priority", - "RuleId" - ], - "members":{ - "Priority":{ - "shape":"RulePriority", - "documentation":"

Specifies the order in which the Rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before Rules with a higher value. The value must be a unique integer. If you add multiple Rules to a WebACL, the values don't need to be consecutive.

" - }, - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Action":{ - "shape":"WafAction", - "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

  • ALLOW: CloudFront responds with the requested object.

  • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

  • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "OverrideAction":{ - "shape":"WafOverrideAction", - "documentation":"

Use the OverrideAction to test your RuleGroup.

Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup will block a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using GetSampledRequests.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "Type":{ - "shape":"WafRuleType", - "documentation":"

The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

" - } - }, - "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.

" - }, - "ActivatedRules":{ - "type":"list", - "member":{"shape":"ActivatedRule"} - }, - "ByteMatchSet":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ByteMatchTuples" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet).

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - }, - "ByteMatchTuples":{ - "shape":"ByteMatchTuples", - "documentation":"

Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

" - } - }, - "documentation":"

In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

" - }, - "ByteMatchSetSummaries":{ - "type":"list", - "member":{"shape":"ByteMatchSetSummary"} - }, - "ByteMatchSetSummary":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "Name" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - } - }, - "documentation":"

Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet.

" - }, - "ByteMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "ByteMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a ByteMatchTuple.

" - }, - "ByteMatchTuple":{ - "shape":"ByteMatchTuple", - "documentation":"

Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action, the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

" - } - }, - "documentation":"

In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple.

" - }, - "ByteMatchSetUpdates":{ - "type":"list", - "member":{"shape":"ByteMatchSetUpdate"}, - "min":1 - }, - "ByteMatchTargetString":{"type":"blob"}, - "ByteMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TargetString", - "TextTransformation", - "PositionalConstraint" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.

" - }, - "TargetString":{ - "shape":"ByteMatchTargetString", - "documentation":"

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

  • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

  • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

  • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - }, - "PositionalConstraint":{ - "shape":"PositionalConstraint", - "documentation":"

Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of TargetString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

  • TargetString exactly matches the value of the specified part of the web request, such as the value of a header.

  • TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot;.

  • TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot.

  • TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

EXACTLY

The value of the specified part of the web request must exactly match the value of TargetString.

STARTS_WITH

The value of TargetString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of TargetString must appear at the end of the specified part of the web request.

" - } - }, - "documentation":"

The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

" - }, - "ByteMatchTuples":{ - "type":"list", - "member":{"shape":"ByteMatchTuple"} - }, - "ChangeAction":{ - "type":"string", - "enum":[ - "INSERT", - "DELETE" - ] - }, - "ChangeToken":{ - "type":"string", - "min":1 - }, - "ChangeTokenStatus":{ - "type":"string", - "enum":[ - "PROVISIONED", - "PENDING", - "INSYNC" - ] - }, - "ComparisonOperator":{ - "type":"string", - "enum":[ - "EQ", - "NE", - "LE", - "LT", - "GE", - "GT" - ] - }, - "Country":{"type":"string"}, - "CreateByteMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ByteMatchSet":{ - "shape":"ByteMatchSet", - "documentation":"

A ByteMatchSet that contains no ByteMatchTuple objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "GeoMatchSet":{ - "shape":"GeoMatchSet", - "documentation":"

The GeoMatchSet returned in the CreateGeoMatchSet response. The GeoMatchSet contains no GeoMatchConstraints.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateIPSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change Name after you create the IPSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateIPSetResponse":{ - "type":"structure", - "members":{ - "IPSet":{ - "shape":"IPSet", - "documentation":"

The IPSet returned in the CreateIPSet response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "RateKey", - "RateLimit", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); 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.

" - } - } - }, - "CreateRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "RegexMatchSet":{ - "shape":"RegexMatchSet", - "documentation":"

A RegexMatchSet that contains no RegexMatchTuple objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "RegexPatternSet":{ - "shape":"RegexPatternSet", - "documentation":"

A RegexPatternSet that contains no objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRuleGroupRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRuleGroupResponse":{ - "type":"structure", - "members":{ - "RuleGroup":{ - "shape":"RuleGroup", - "documentation":"

An empty RuleGroup.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateRuleRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"Rule", - "documentation":"

The Rule returned in the CreateRule response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

A SizeConstraintSet that contains no SizeConstraint objects.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to create a SqlInjectionMatchSet.

" - }, - "CreateSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

A SqlInjectionMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a CreateSqlInjectionMatchSet request.

" - }, - "CreateWebACLRequest":{ - "type":"structure", - "required":[ - "Name", - "MetricName", - "DefaultAction", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change Name after you create the WebACL.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "CreateWebACLResponse":{ - "type":"structure", - "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

The WebACL returned in the CreateWebACL response.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "CreateXssMatchSetRequest":{ - "type":"structure", - "required":[ - "Name", - "ChangeToken" - ], - "members":{ - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to create an XssMatchSet.

" - }, - "CreateXssMatchSetResponse":{ - "type":"structure", - "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

An XssMatchSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the CreateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a CreateXssMatchSet request.

" - }, - "DeleteByteMatchSetRequest":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ChangeToken" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "ChangeToken" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteIPSetRequest":{ - "type":"structure", - "required":[ - "IPSetId", - "ChangeToken" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteIPSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteLoggingConfigurationRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration.

" - } - } - }, - "DeleteLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - } - }, - "DeletePermissionPolicyRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy.

The user making the request must be the owner of the RuleGroup.

" - } - } - }, - "DeletePermissionPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "ChangeToken" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "ChangeToken" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRuleGroupRequest":{ - "type":"structure", - "required":[ - "RuleGroupId", - "ChangeToken" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRuleGroupResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "ChangeToken" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "ChangeToken" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to delete a SqlInjectionMatchSet from AWS WAF.

" - }, - "DeleteSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a request to delete a SqlInjectionMatchSet from AWS WAF.

" - }, - "DeleteWebACLRequest":{ - "type":"structure", - "required":[ - "WebACLId", - "ChangeToken" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "DeleteWebACLResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "DeleteXssMatchSetRequest":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "ChangeToken" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - }, - "documentation":"

A request to delete an XssMatchSet from AWS WAF.

" - }, - "DeleteXssMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the DeleteXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to a request to delete an XssMatchSet from AWS WAF.

" - }, - "FieldToMatch":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"MatchFieldType", - "documentation":"

The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

  • HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data.

  • METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

  • QUERY_STRING: A query string, which is the part of a URL that appears after a ? character, if any.

  • URI: The part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

  • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

  • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

  • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but rather than inspecting a single parameter, AWS WAF will inspect all parameters within the query for the value or regex pattern that you specify in TargetString.

" - }, - "Data":{ - "shape":"MatchFieldData", - "documentation":"

When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. The name of the header is not case sensitive.

When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion. The parameter name is not case sensitive.

If the value of Type is any other value, omit Data.

" - } - }, - "documentation":"

Specifies where in a web request to look for TargetString.

" - }, - "GeoMatchConstraint":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"GeoMatchConstraintType", - "documentation":"

The type of geographical area you want AWS WAF to search for. Currently Country is the only valid value.

" - }, - "Value":{ - "shape":"GeoMatchConstraintValue", - "documentation":"

The country that you want AWS WAF to search for.

" - } - }, - "documentation":"

The country from which web requests originate that you want AWS WAF to search for.

" - }, - "GeoMatchConstraintType":{ - "type":"string", - "enum":["Country"] - }, - "GeoMatchConstraintValue":{ - "type":"string", - "enum":[ - "AF", - "AX", - "AL", - "DZ", - "AS", - "AD", - "AO", - "AI", - "AQ", - "AG", - "AR", - "AM", - "AW", - "AU", - "AT", - "AZ", - "BS", - "BH", - "BD", - "BB", - "BY", - "BE", - "BZ", - "BJ", - "BM", - "BT", - "BO", - "BQ", - "BA", - "BW", - "BV", - "BR", - "IO", - "BN", - "BG", - "BF", - "BI", - "KH", - "CM", - "CA", - "CV", - "KY", - "CF", - "TD", - "CL", - "CN", - "CX", - "CC", - "CO", - "KM", - "CG", - "CD", - "CK", - "CR", - "CI", - "HR", - "CU", - "CW", - "CY", - "CZ", - "DK", - "DJ", - "DM", - "DO", - "EC", - "EG", - "SV", - "GQ", - "ER", - "EE", - "ET", - "FK", - "FO", - "FJ", - "FI", - "FR", - "GF", - "PF", - "TF", - "GA", - "GM", - "GE", - "DE", - "GH", - "GI", - "GR", - "GL", - "GD", - "GP", - "GU", - "GT", - "GG", - "GN", - "GW", - "GY", - "HT", - "HM", - "VA", - "HN", - "HK", - "HU", - "IS", - "IN", - "ID", - "IR", - "IQ", - "IE", - "IM", - "IL", - "IT", - "JM", - "JP", - "JE", - "JO", - "KZ", - "KE", - "KI", - "KP", - "KR", - "KW", - "KG", - "LA", - "LV", - "LB", - "LS", - "LR", - "LY", - "LI", - "LT", - "LU", - "MO", - "MK", - "MG", - "MW", - "MY", - "MV", - "ML", - "MT", - "MH", - "MQ", - "MR", - "MU", - "YT", - "MX", - "FM", - "MD", - "MC", - "MN", - "ME", - "MS", - "MA", - "MZ", - "MM", - "NA", - "NR", - "NP", - "NL", - "NC", - "NZ", - "NI", - "NE", - "NG", - "NU", - "NF", - "MP", - "NO", - "OM", - "PK", - "PW", - "PS", - "PA", - "PG", - "PY", - "PE", - "PH", - "PN", - "PL", - "PT", - "PR", - "QA", - "RE", - "RO", - "RU", - "RW", - "BL", - "SH", - "KN", - "LC", - "MF", - "PM", - "VC", - "WS", - "SM", - "ST", - "SA", - "SN", - "RS", - "SC", - "SL", - "SG", - "SX", - "SK", - "SI", - "SB", - "SO", - "ZA", - "GS", - "SS", - "ES", - "LK", - "SD", - "SR", - "SJ", - "SZ", - "SE", - "CH", - "SY", - "TW", - "TJ", - "TZ", - "TH", - "TL", - "TG", - "TK", - "TO", - "TT", - "TN", - "TR", - "TM", - "TC", - "TV", - "UG", - "UA", - "AE", - "GB", - "US", - "UM", - "UY", - "UZ", - "VU", - "VE", - "VN", - "VG", - "VI", - "WF", - "EH", - "YE", - "ZM", - "ZW" - ] - }, - "GeoMatchConstraints":{ - "type":"list", - "member":{"shape":"GeoMatchConstraint"} - }, - "GeoMatchSet":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "GeoMatchConstraints" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet).

GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

" - }, - "GeoMatchConstraints":{ - "shape":"GeoMatchConstraints", - "documentation":"

An array of GeoMatchConstraint objects, which contain the country that you want AWS WAF to search for.

" - } - }, - "documentation":"

Contains one or more countries that AWS WAF will search for.

" - }, - "GeoMatchSetSummaries":{ - "type":"list", - "member":{"shape":"GeoMatchSetSummary"} - }, - "GeoMatchSetSummary":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "Name" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet request to get detailed information about an GeoMatchSet.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name of the GeoMatchSet.

" - }, - "GeoMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "GeoMatchConstraint" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a country with UpdateGeoMatchSet.

" - }, - "GeoMatchConstraint":{ - "shape":"GeoMatchConstraint", - "documentation":"

The country from which web requests originate that you want AWS WAF to search for.

" - } - }, - "documentation":"

Specifies the type of update to perform to an GeoMatchSet with UpdateGeoMatchSet.

" - }, - "GeoMatchSetUpdates":{ - "type":"list", - "member":{"shape":"GeoMatchSetUpdate"}, - "min":1 - }, - "GetByteMatchSetRequest":{ - "type":"structure", - "required":["ByteMatchSetId"], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - } - } - }, - "GetByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ByteMatchSet":{ - "shape":"ByteMatchSet", - "documentation":"

Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

  • ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name

  • ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation

  • FieldToMatch: Contains Data and Type

" - } - } - }, - "GetChangeTokenRequest":{ - "type":"structure", - "members":{ - } - }, - "GetChangeTokenResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus request to get the current status of the request.

" - } - } - }, - "GetChangeTokenStatusRequest":{ - "type":"structure", - "required":["ChangeToken"], - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response.

" - } - } - }, - "GetChangeTokenStatusResponse":{ - "type":"structure", - "members":{ - "ChangeTokenStatus":{ - "shape":"ChangeTokenStatus", - "documentation":"

The status of the change token.

" - } - } - }, - "GetGeoMatchSetRequest":{ - "type":"structure", - "required":["GeoMatchSetId"], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - } - } - }, - "GetGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "GeoMatchSet":{ - "shape":"GeoMatchSet", - "documentation":"

Information about the GeoMatchSet that you specified in the GetGeoMatchSet request. This includes the Type, which for a GeoMatchContraint is always Country, as well as the Value, which is the identifier for a specific country.

" - } - } - }, - "GetIPSetRequest":{ - "type":"structure", - "required":["IPSetId"], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

" - } - } - }, - "GetIPSetResponse":{ - "type":"structure", - "members":{ - "IPSet":{ - "shape":"IPSet", - "documentation":"

Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

  • IPSet: Contains IPSetDescriptors, IPSetId, and Name

  • IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each IPSetDescriptor object contains Type and Value

" - } - } - }, - "GetLoggingConfigurationRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration.

" - } - } - }, - "GetLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The LoggingConfiguration for the specified web ACL.

" - } - } - }, - "GetPermissionPolicyRequest":{ - "type":"structure", - "required":["ResourceArn"], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

" - } - } - }, - "GetPermissionPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"PolicyString", - "documentation":"

The IAM policy attached to the specified RuleGroup.

" - } - } - }, - "GetRateBasedRuleManagedKeysRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

A null value and not currently used. Do not include this in your request.

" - } - } - }, - "GetRateBasedRuleManagedKeysResponse":{ - "type":"structure", - "members":{ - "ManagedKeys":{ - "shape":"ManagedKeys", - "documentation":"

An array of IP addresses that currently are blocked by the specified RateBasedRule.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

A null value and not currently used.

" - } - } - }, - "GetRateBasedRuleRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - } - } - }, - "GetRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"RateBasedRule", - "documentation":"

Information about the RateBasedRule that you specified in the GetRateBasedRule request.

" - } - } - }, - "GetRegexMatchSetRequest":{ - "type":"structure", - "required":["RegexMatchSetId"], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - } - } - }, - "GetRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "RegexMatchSet":{ - "shape":"RegexMatchSet", - "documentation":"

Information about the RegexMatchSet that you specified in the GetRegexMatchSet request. For more information, see RegexMatchTuple.

" - } - } - }, - "GetRegexPatternSetRequest":{ - "type":"structure", - "required":["RegexPatternSetId"], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - } - } - }, - "GetRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "RegexPatternSet":{ - "shape":"RegexPatternSet", - "documentation":"

Information about the RegexPatternSet that you specified in the GetRegexPatternSet request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.

" - } - } - }, - "GetRuleGroupRequest":{ - "type":"structure", - "required":["RuleGroupId"], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - } - } - }, - "GetRuleGroupResponse":{ - "type":"structure", - "members":{ - "RuleGroup":{ - "shape":"RuleGroup", - "documentation":"

Information about the RuleGroup that you specified in the GetRuleGroup request.

" - } - } - }, - "GetRuleRequest":{ - "type":"structure", - "required":["RuleId"], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

" - } - } - }, - "GetRuleResponse":{ - "type":"structure", - "members":{ - "Rule":{ - "shape":"Rule", - "documentation":"

Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

  • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

  • Predicate: Each Predicate object contains DataId, Negated, and Type

" - } - } - }, - "GetSampledRequestsMaxItems":{ - "type":"long", - "max":500, - "min":1 - }, - "GetSampledRequestsRequest":{ - "type":"structure", - "required":[ - "WebAclId", - "RuleId", - "TimeWindow", - "MaxItems" - ], - "members":{ - "WebAclId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

" - }, - "RuleId":{ - "shape":"ResourceId", - "documentation":"

RuleId is one of three values:

  • The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests.

  • Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL.

" - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. 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":"GetSampledRequestsMaxItems", - "documentation":"

The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

" - } - } - }, - "GetSampledRequestsResponse":{ - "type":"structure", - "members":{ - "SampledRequests":{ - "shape":"SampledHTTPRequests", - "documentation":"

A complex type that contains detailed information about each of the requests in the sample.

" - }, - "PopulationSize":{ - "shape":"PopulationSize", - "documentation":"

The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

" - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests.

" - } - } - }, - "GetSizeConstraintSetRequest":{ - "type":"structure", - "required":["SizeConstraintSetId"], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - } - } - }, - "GetSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

" - } - } - }, - "GetSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":["SqlInjectionMatchSetId"], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - } - }, - "documentation":"

A request to get a SqlInjectionMatchSet.

" - }, - "GetSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

" - } - }, - "documentation":"

The response to a GetSqlInjectionMatchSet request.

" - }, - "GetWebACLRequest":{ - "type":"structure", - "required":["WebACLId"], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - } - } - }, - "GetWebACLResponse":{ - "type":"structure", - "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

  • WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, and WebACLId

  • DefaultAction (Data type is WafAction): Contains Type

  • Rules: Contains an array of ActivatedRule objects, which contain Action, Priority, and RuleId

  • Action: Contains Type

" - } - } - }, - "GetXssMatchSetRequest":{ - "type":"structure", - "required":["XssMatchSetId"], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - } - }, - "documentation":"

A request to get an XssMatchSet.

" - }, - "GetXssMatchSetResponse":{ - "type":"structure", - "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

  • XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple objects

  • XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation

  • FieldToMatch: Contains Data and Type

" - } - }, - "documentation":"

The response to a GetXssMatchSet request.

" - }, - "HTTPHeader":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"HeaderName", - "documentation":"

The name of one of the headers in the sampled web request.

" - }, - "Value":{ - "shape":"HeaderValue", - "documentation":"

The value of one of the headers in the sampled web request.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests.

" - }, - "HTTPHeaders":{ - "type":"list", - "member":{"shape":"HTTPHeader"} - }, - "HTTPMethod":{"type":"string"}, - "HTTPRequest":{ - "type":"structure", - "members":{ - "ClientIP":{ - "shape":"IPString", - "documentation":"

The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

  • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

  • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

" - }, - "Country":{ - "shape":"Country", - "documentation":"

The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

" - }, - "URI":{ - "shape":"URIString", - "documentation":"

The part of a web request that identifies the resource, for example, /images/daily-ad.jpg.

" - }, - "Method":{ - "shape":"HTTPMethod", - "documentation":"

The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

" - }, - "HTTPVersion":{ - "shape":"HTTPVersion", - "documentation":"

The HTTP version specified in the sampled web request, for example, HTTP/1.1.

" - }, - "Headers":{ - "shape":"HTTPHeaders", - "documentation":"

A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests.

" - }, - "HTTPVersion":{"type":"string"}, - "HeaderName":{"type":"string"}, - "HeaderValue":{"type":"string"}, - "IPSet":{ - "type":"structure", - "required":[ - "IPSetId", - "IPSetDescriptors" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

" - }, - "IPSetDescriptors":{ - "shape":"IPSetDescriptors", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

" - } - }, - "documentation":"

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /16, /24, /32, /48, /56, /64, and /128.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /16, /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" - }, - "IPSetDescriptor":{ - "type":"structure", - "required":[ - "Type", - "Value" - ], - "members":{ - "Type":{ - "shape":"IPSetDescriptorType", - "documentation":"

Specify IPV4 or IPV6.

" - }, - "Value":{ - "shape":"IPSetDescriptorValue", - "documentation":"

Specify an IPv4 address by using CIDR notation. For example:

  • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

  • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

Specify an IPv6 address by using CIDR notation. For example:

  • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

  • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

" - } - }, - "documentation":"

Specifies the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) that web requests originate from.

" - }, - "IPSetDescriptorType":{ - "type":"string", - "enum":[ - "IPV4", - "IPV6" - ] - }, - "IPSetDescriptorValue":{"type":"string"}, - "IPSetDescriptors":{ - "type":"list", - "member":{"shape":"IPSetDescriptor"} - }, - "IPSetSummaries":{ - "type":"list", - "member":{"shape":"IPSetSummary"} - }, - "IPSetSummary":{ - "type":"structure", - "required":[ - "IPSetId", - "Name" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name of the IPSet.

" - }, - "IPSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "IPSetDescriptor" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete an IP address with UpdateIPSet.

" - }, - "IPSetDescriptor":{ - "shape":"IPSetDescriptor", - "documentation":"

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from.

" - } - }, - "documentation":"

Specifies the type of update to perform to an IPSet with UpdateIPSet.

" - }, - "IPSetUpdates":{ - "type":"list", - "member":{"shape":"IPSetUpdate"}, - "min":1 - }, - "IPString":{"type":"string"}, - "ListActivatedRulesInRuleGroupRequest":{ - "type":"structure", - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules.

" - } - } - }, - "ListActivatedRulesInRuleGroupResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more ActivatedRules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ActivatedRules, submit another ListActivatedRulesInRuleGroup request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "ActivatedRules":{ - "shape":"ActivatedRules", - "documentation":"

An array of ActivatedRules objects.

" - } - } - }, - "ListByteMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.

" - } - } - }, - "ListByteMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more ByteMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ByteMatchSet objects, submit another ListByteMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "ByteMatchSets":{ - "shape":"ByteMatchSetSummaries", - "documentation":"

An array of ByteMatchSetSummary objects.

" - } - } - }, - "ListGeoMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects.

" - } - } - }, - "ListGeoMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more GeoMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more GeoMatchSet objects, submit another ListGeoMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "GeoMatchSets":{ - "shape":"GeoMatchSetSummaries", - "documentation":"

An array of GeoMatchSetSummary objects.

" - } - } - }, - "ListIPSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more IPSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects.

" - } - } - }, - "ListIPSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more IPSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more IPSet objects, submit another ListIPSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "IPSets":{ - "shape":"IPSetSummaries", - "documentation":"

An array of IPSetSummary objects.

" - } - } - }, - "ListLoggingConfigurationsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations.

" - } - } - }, - "ListLoggingConfigurationsResponse":{ - "type":"structure", - "members":{ - "LoggingConfigurations":{ - "shape":"LoggingConfigurations", - "documentation":"

An array of LoggingConfiguration objects.

" - }, - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - } - } - }, - "ListRateBasedRulesRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - } - }, - "ListRateBasedRulesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "Rules":{ - "shape":"RuleSummaries", - "documentation":"

An array of RuleSummary objects.

" - } - } - }, - "ListRegexMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects.

" - } - } - }, - "ListRegexMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RegexMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexMatchSet objects, submit another ListRegexMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RegexMatchSets":{ - "shape":"RegexMatchSetSummaries", - "documentation":"

An array of RegexMatchSetSummary objects.

" - } - } - }, - "ListRegexPatternSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects.

" - } - } - }, - "ListRegexPatternSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RegexPatternSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexPatternSet objects, submit another ListRegexPatternSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RegexPatternSets":{ - "shape":"RegexPatternSetSummaries", - "documentation":"

An array of RegexPatternSetSummary objects.

" - } - } - }, - "ListRuleGroupsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

" - } - } - }, - "ListRuleGroupsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more RuleGroups than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RuleGroups, submit another ListRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RuleGroups":{ - "shape":"RuleGroupSummaries", - "documentation":"

An array of RuleGroup objects.

" - } - } - }, - "ListRulesRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - } - }, - "ListRulesResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "Rules":{ - "shape":"RuleSummaries", - "documentation":"

An array of RuleSummary objects.

" - } - } - }, - "ListSizeConstraintSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects.

" - } - } - }, - "ListSizeConstraintSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more SizeConstraintSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SizeConstraintSet objects, submit another ListSizeConstraintSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "SizeConstraintSets":{ - "shape":"SizeConstraintSetSummaries", - "documentation":"

An array of SizeConstraintSetSummary objects.

" - } - } - }, - "ListSqlInjectionMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - }, - "documentation":"

A request to list the SqlInjectionMatchSet objects created by the current AWS account.

" - }, - "ListSqlInjectionMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "SqlInjectionMatchSets":{ - "shape":"SqlInjectionMatchSetSummaries", - "documentation":"

An array of SqlInjectionMatchSetSummary objects.

" - } - }, - "documentation":"

The response to a ListSqlInjectionMatchSets request.

" - }, - "ListSubscribedRuleGroupsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects.

" - } - } - }, - "ListSubscribedRuleGroupsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more objects, submit another ListSubscribedRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "RuleGroups":{ - "shape":"SubscribedRuleGroupSummaries", - "documentation":"

An array of RuleGroup objects.

" - } - } - }, - "ListWebACLsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects.

" - } - } - }, - "ListWebACLsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more WebACL objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more WebACL objects, submit another ListWebACLs request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "WebACLs":{ - "shape":"WebACLSummaries", - "documentation":"

An array of WebACLSummary objects.

" - } - } - }, - "ListXssMatchSetsRequest":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.

" - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

" - } - }, - "documentation":"

A request to list the XssMatchSet objects created by the current AWS account.

" - }, - "ListXssMatchSetsResponse":{ - "type":"structure", - "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

If you have more XssMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more XssMatchSet objects, submit another ListXssMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

" - }, - "XssMatchSets":{ - "shape":"XssMatchSetSummaries", - "documentation":"

An array of XssMatchSetSummary objects.

" - } - }, - "documentation":"

The response to a ListXssMatchSets request.

" - }, - "LogDestinationConfigs":{ - "type":"list", - "member":{"shape":"ResourceArn"}, - "max":1, - "min":1 - }, - "LoggingConfiguration":{ - "type":"structure", - "required":[ - "ResourceArn", - "LogDestinationConfigs" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

" - }, - "LogDestinationConfigs":{ - "shape":"LogDestinationConfigs", - "documentation":"

An array of Amazon Kinesis Data Firehose delivery stream ARNs.

" - }, - "RedactedFields":{ - "shape":"RedactedFields", - "documentation":"

The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the delivery stream will be xxx.

" - } - }, - "documentation":"

The Amazon Kinesis Data Firehose delivery streams, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

" - }, - "LoggingConfigurations":{ - "type":"list", - "member":{"shape":"LoggingConfiguration"} - }, - "ManagedKey":{"type":"string"}, - "ManagedKeys":{ - "type":"list", - "member":{"shape":"ManagedKey"} - }, - "MatchFieldData":{"type":"string"}, - "MatchFieldType":{ - "type":"string", - "enum":[ - "URI", - "QUERY_STRING", - "HEADER", - "METHOD", - "BODY", - "SINGLE_QUERY_ARG", - "ALL_QUERY_ARGS" - ] - }, - "MetricName":{"type":"string"}, - "Negated":{"type":"boolean"}, - "NextMarker":{ - "type":"string", - "min":1 - }, - "PaginationLimit":{ - "type":"integer", - "max":100, - "min":0 - }, - "ParameterExceptionField":{ - "type":"string", - "enum":[ - "CHANGE_ACTION", - "WAF_ACTION", - "WAF_OVERRIDE_ACTION", - "PREDICATE_TYPE", - "IPSET_TYPE", - "BYTE_MATCH_FIELD_TYPE", - "SQL_INJECTION_MATCH_FIELD_TYPE", - "BYTE_MATCH_TEXT_TRANSFORMATION", - "BYTE_MATCH_POSITIONAL_CONSTRAINT", - "SIZE_CONSTRAINT_COMPARISON_OPERATOR", - "GEO_MATCH_LOCATION_TYPE", - "GEO_MATCH_LOCATION_VALUE", - "RATE_KEY", - "RULE_TYPE", - "NEXT_MARKER" - ] - }, - "ParameterExceptionParameter":{ - "type":"string", - "min":1 - }, - "ParameterExceptionReason":{ - "type":"string", - "enum":[ - "INVALID_OPTION", - "ILLEGAL_COMBINATION" - ] - }, - "PolicyString":{ - "type":"string", - "min":1 - }, - "PopulationSize":{"type":"long"}, - "PositionalConstraint":{ - "type":"string", - "enum":[ - "EXACTLY", - "STARTS_WITH", - "ENDS_WITH", - "CONTAINS", - "CONTAINS_WORD" - ] - }, - "Predicate":{ - "type":"structure", - "required":[ - "Negated", - "Type", - "DataId" - ], - "members":{ - "Negated":{ - "shape":"Negated", - "documentation":"

Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

" - }, - "Type":{ - "shape":"PredicateType", - "documentation":"

The type of predicate in a Rule, such as ByteMatch or IPSet.

" - }, - "DataId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

" - } - }, - "documentation":"

Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

" - }, - "PredicateType":{ - "type":"string", - "enum":[ - "IPMatch", - "ByteMatch", - "SqlInjectionMatch", - "GeoMatch", - "SizeConstraint", - "XssMatch", - "RegexMatch" - ] - }, - "Predicates":{ - "type":"list", - "member":{"shape":"Predicate"} - }, - "PutLoggingConfigurationRequest":{ - "type":"structure", - "required":["LoggingConfiguration"], - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The Amazon Kinesis Data Firehose delivery streams that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

" - } - } - }, - "PutLoggingConfigurationResponse":{ - "type":"structure", - "members":{ - "LoggingConfiguration":{ - "shape":"LoggingConfiguration", - "documentation":"

The LoggingConfiguration that you submitted in the request.

" - } - } - }, - "PutPermissionPolicyRequest":{ - "type":"structure", - "required":[ - "ResourceArn", - "Policy" - ], - "members":{ - "ResourceArn":{ - "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

" - }, - "Policy":{ - "shape":"PolicyString", - "documentation":"

The policy to attach to the specified RuleGroup.

" - } - } - }, - "PutPermissionPolicyResponse":{ - "type":"structure", - "members":{ - } - }, - "RateBasedRule":{ - "type":"structure", - "required":[ - "RuleId", - "MatchPredicates", - "RateKey", - "RateLimit" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); 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", - "max":2000000000, - "min":2000 - }, - "RedactedFields":{ - "type":"list", - "member":{"shape":"FieldToMatch"} - }, - "RegexMatchSet":{ - "type":"structure", - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), insert a RegexMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a RegexMatchSet from AWS WAF (see DeleteRegexMatchSet).

RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - }, - "RegexMatchTuples":{ - "shape":"RegexMatchTuples", - "documentation":"

Contains an array of RegexMatchTuple objects. Each RegexMatchTuple object contains:

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

" - } - }, - "documentation":"

In a GetRegexMatchSet request, RegexMatchSet is a complex type that contains the RegexMatchSetId and Name of a RegexMatchSet, and the values that you specified when you updated the RegexMatchSet.

The values are contained in a RegexMatchTuple object, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a RegexMatchSet contains more than one RegexMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

" - }, - "RegexMatchSetSummaries":{ - "type":"list", - "member":{"shape":"RegexMatchSetSummary"} - }, - "RegexMatchSetSummary":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "Name" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet, update a RegexMatchSet, remove a RegexMatchSet from a Rule, and delete a RegexMatchSet from AWS WAF.

RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

" - } - }, - "documentation":"

Returned by ListRegexMatchSets. Each RegexMatchSetSummary object includes the Name and RegexMatchSetId for one RegexMatchSet.

" - }, - "RegexMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "RegexMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a RegexMatchTuple.

" - }, - "RegexMatchTuple":{ - "shape":"RegexMatchTuple", - "documentation":"

Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify DELETE for the value of Action, the RegexMatchTuple values must exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

" - } - }, - "documentation":"

In an UpdateRegexMatchSet request, RegexMatchSetUpdate specifies whether to insert or delete a RegexMatchTuple and includes the settings for the RegexMatchTuple.

" - }, - "RegexMatchSetUpdates":{ - "type":"list", - "member":{"shape":"RegexMatchSetUpdate"}, - "min":1 - }, - "RegexMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation", - "RegexPatternSetId" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for the RegexPatternSet.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on RegexPatternSet before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - }, - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), insert a RegexPatternSet into a RegexMatchSet or delete one from a RegexMatchSet (see UpdateRegexMatchSet), and delete an RegexPatternSet from AWS WAF (see DeleteRegexPatternSet).

RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - } - }, - "documentation":"

The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings. Each RegexMatchTuple object contains:

  • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

  • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

  • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

" - }, - "RegexMatchTuples":{ - "type":"list", - "member":{"shape":"RegexMatchTuple"} - }, - "RegexPatternSet":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "RegexPatternStrings" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - }, - "RegexPatternStrings":{ - "shape":"RegexPatternStrings", - "documentation":"

Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

" - } - }, - "documentation":"

The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

" - }, - "RegexPatternSetSummaries":{ - "type":"list", - "member":{"shape":"RegexPatternSetSummary"} - }, - "RegexPatternSetSummary":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "Name" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

" - } - }, - "documentation":"

Returned by ListRegexPatternSets. Each RegexPatternSetSummary object includes the Name and RegexPatternSetId for one RegexPatternSet.

" - }, - "RegexPatternSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "RegexPatternString" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert or delete a RegexPatternString.

" - }, - "RegexPatternString":{ - "shape":"RegexPatternString", - "documentation":"

Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t.

" - } - }, - "documentation":"

In an UpdateRegexPatternSet request, RegexPatternSetUpdate specifies whether to insert or delete a RegexPatternString and includes the settings for the RegexPatternString.

" - }, - "RegexPatternSetUpdates":{ - "type":"list", - "member":{"shape":"RegexPatternSetUpdate"}, - "min":1 - }, - "RegexPatternString":{ - "type":"string", - "min":1 - }, - "RegexPatternStrings":{ - "type":"list", - "member":{"shape":"RegexPatternString"}, - "max":10 - }, - "ResourceArn":{ - "type":"string", - "max":1224, - "min":1 - }, - "ResourceId":{ - "type":"string", - "max":128, - "min":1 - }, - "ResourceName":{ - "type":"string", - "max":128, - "min":1 - }, - "Rule":{ - "type":"structure", - "required":[ - "RuleId", - "Predicates" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The friendly name or description for the Rule. You can't change the name of a Rule after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the Rule.

" - }, - "Predicates":{ - "shape":"Predicates", - "documentation":"

The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

" - } - }, - "documentation":"

A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

  • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44

  • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot.

To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

" - }, - "RuleGroup":{ - "type":"structure", - "required":["RuleGroupId"], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The friendly name or description for the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - } - }, - "documentation":"

A collection of predefined rules that you can add to a web ACL.

Rule groups are subject to the following limits:

  • Three rule groups per account. You can request an increase to this limit by contacting customer support.

  • One rule group per web ACL.

  • Ten rules per rule group.

" - }, - "RuleGroupSummaries":{ - "type":"list", - "member":{"shape":"RuleGroupSummary"} - }, - "RuleGroupSummary":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Name" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - } - }, - "documentation":"

Contains the identifier and the friendly name or description of the RuleGroup.

" - }, - "RuleGroupUpdate":{ - "type":"structure", - "required":[ - "Action", - "ActivatedRule" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove an ActivatedRule from a RuleGroup.

" - }, - "ActivatedRule":{ - "shape":"ActivatedRule", - "documentation":"

The ActivatedRule object specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

" - } - }, - "documentation":"

Specifies an ActivatedRule and indicates whether you want to add it to a RuleGroup or delete it from a RuleGroup.

" - }, - "RuleGroupUpdates":{ - "type":"list", - "member":{"shape":"RuleGroupUpdate"}, - "min":1 - }, - "RulePriority":{"type":"integer"}, - "RuleSummaries":{ - "type":"list", - "member":{"shape":"RuleSummary"} - }, - "RuleSummary":{ - "type":"structure", - "required":[ - "RuleId", - "Name" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

" - } - }, - "documentation":"

Contains the identifier and the friendly name or description of the Rule.

" - }, - "RuleUpdate":{ - "type":"structure", - "required":[ - "Action", - "Predicate" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate from a Rule.

" - }, - "Predicate":{ - "shape":"Predicate", - "documentation":"

The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

" - } - }, - "documentation":"

Specifies a Predicate (such as an IPSet) and indicates whether you want to add it to a Rule or delete it from a Rule.

" - }, - "RuleUpdates":{ - "type":"list", - "member":{"shape":"RuleUpdate"} - }, - "SampleWeight":{ - "type":"long", - "min":0 - }, - "SampledHTTPRequest":{ - "type":"structure", - "required":[ - "Request", - "Weight" - ], - "members":{ - "Request":{ - "shape":"HTTPRequest", - "documentation":"

A complex type that contains detailed information about the request.

" - }, - "Weight":{ - "shape":"SampleWeight", - "documentation":"

A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of 2 represents roughly twice as many CloudFront web requests as a result that has a weight of 1.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

" - }, - "Action":{ - "shape":"Action", - "documentation":"

The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

" - }, - "RuleWithinRuleGroup":{ - "shape":"ResourceId", - "documentation":"

This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

" - } - }, - "documentation":"

The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

" - }, - "SampledHTTPRequests":{ - "type":"list", - "member":{"shape":"SampledHTTPRequest"} - }, - "Size":{ - "type":"long", - "max":21474836480, - "min":0 - }, - "SizeConstraint":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation", - "ComparisonOperator", - "Size" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for the size constraint.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

NONE

Specify NONE if you don't want to perform any text transformations.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperator", - "documentation":"

The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

EQ: Used to test if the Size is equal to the size of the FieldToMatch

NE: Used to test if the Size is not equal to the size of the FieldToMatch

LE: Used to test if the Size is less than or equal to the size of the FieldToMatch

LT: Used to test if the Size is strictly less than the size of the FieldToMatch

GE: Used to test if the Size is greater than or equal to the size of the FieldToMatch

GT: Used to test if the Size is strictly greater than the size of the FieldToMatch

" - }, - "Size":{ - "shape":"Size", - "documentation":"

The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

" - } - }, - "documentation":"

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

" - }, - "SizeConstraintSet":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "SizeConstraints" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the SizeConstraintSet.

" - }, - "SizeConstraints":{ - "shape":"SizeConstraints", - "documentation":"

Specifies the parts of web requests that you want to inspect the size of.

" - } - }, - "documentation":"

A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

" - }, - "SizeConstraintSetSummaries":{ - "type":"list", - "member":{"shape":"SizeConstraintSetSummary"} - }, - "SizeConstraintSetSummary":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "Name" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the SizeConstraintSet, if any.

" - } - }, - "documentation":"

The Id and Name of a SizeConstraintSet.

" - }, - "SizeConstraintSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "SizeConstraint" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet.

" - }, - "SizeConstraint":{ - "shape":"SizeConstraint", - "documentation":"

Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet.

" - }, - "SizeConstraintSetUpdates":{ - "type":"list", - "member":{"shape":"SizeConstraintSetUpdate"}, - "min":1 - }, - "SizeConstraints":{ - "type":"list", - "member":{"shape":"SizeConstraint"} - }, - "SqlInjectionMatchSet":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "SqlInjectionMatchTuples" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchTuples":{ - "shape":"SqlInjectionMatchTuples", - "documentation":"

Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

" - } - }, - "documentation":"

A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

" - }, - "SqlInjectionMatchSetSummaries":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchSetSummary"} - }, - "SqlInjectionMatchSetSummary":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "Name" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the SqlInjectionMatchSet, if any, specified by Id.

" - } - }, - "documentation":"

The Id and Name of a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "SqlInjectionMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchTuple":{ - "shape":"SqlInjectionMatchTuple", - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

" - }, - "SqlInjectionMatchSetUpdates":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchSetUpdate"}, - "min":1 - }, - "SqlInjectionMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for snippets of malicious SQL code.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - } - }, - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

" - }, - "SqlInjectionMatchTuples":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchTuple"} - }, - "SubscribedRuleGroupSummaries":{ - "type":"list", - "member":{"shape":"SubscribedRuleGroupSummary"} - }, - "SubscribedRuleGroupSummary":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Name", - "MetricName" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a RuleGroup.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the RuleGroup.

" - } - }, - "documentation":"

A summary of the rule groups you are subscribed to.

" - }, - "TextTransformation":{ - "type":"string", - "enum":[ - "NONE", - "COMPRESS_WHITE_SPACE", - "HTML_ENTITY_DECODE", - "LOWERCASE", - "CMD_LINE", - "URL_DECODE" - ] - }, - "TimeWindow":{ - "type":"structure", - "required":[ - "StartTime", - "EndTime" - ], - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

" - } - }, - "documentation":"

In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

" - }, - "Timestamp":{"type":"timestamp"}, - "URIString":{"type":"string"}, - "UpdateByteMatchSetRequest":{ - "type":"structure", - "required":[ - "ByteMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"ByteMatchSetUpdates", - "documentation":"

An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types:

" - } - } - }, - "UpdateByteMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateGeoMatchSetRequest":{ - "type":"structure", - "required":[ - "GeoMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "GeoMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"GeoMatchSetUpdates", - "documentation":"

An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types:

  • GeoMatchSetUpdate: Contains Action and GeoMatchConstraint

  • GeoMatchConstraint: Contains Type and Value

    You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request.

" - } - } - }, - "UpdateGeoMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateIPSetRequest":{ - "type":"structure", - "required":[ - "IPSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"IPSetUpdates", - "documentation":"

An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

You can insert a maximum of 1000 addresses in a single request.

" - } - } - }, - "UpdateIPSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRateBasedRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken", - "Updates", - "RateLimit" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"RuleUpdates", - "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

" - }, - "RateLimit":{ - "shape":"RateLimit", - "documentation":"

The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

" - } - } - }, - "UpdateRateBasedRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRegexMatchSetRequest":{ - "type":"structure", - "required":[ - "RegexMatchSetId", - "Updates", - "ChangeToken" - ], - "members":{ - "RegexMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

" - }, - "Updates":{ - "shape":"RegexMatchSetUpdates", - "documentation":"

An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRegexMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRegexPatternSetRequest":{ - "type":"structure", - "required":[ - "RegexPatternSetId", - "Updates", - "ChangeToken" - ], - "members":{ - "RegexPatternSetId":{ - "shape":"ResourceId", - "documentation":"

The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

" - }, - "Updates":{ - "shape":"RegexPatternSetUpdates", - "documentation":"

An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRegexPatternSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRuleGroupRequest":{ - "type":"structure", - "required":[ - "RuleGroupId", - "Updates", - "ChangeToken" - ], - "members":{ - "RuleGroupId":{ - "shape":"ResourceId", - "documentation":"

The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

" - }, - "Updates":{ - "shape":"RuleGroupUpdates", - "documentation":"

An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup.

You can only insert REGULAR rules into a rule group.

ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - } - } - }, - "UpdateRuleGroupResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateRuleRequest":{ - "type":"structure", - "required":[ - "RuleId", - "ChangeToken", - "Updates" - ], - "members":{ - "RuleId":{ - "shape":"ResourceId", - "documentation":"

The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"RuleUpdates", - "documentation":"

An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types:

" - } - } - }, - "UpdateRuleResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateSizeConstraintSetRequest":{ - "type":"structure", - "required":[ - "SizeConstraintSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"SizeConstraintSetUpdates", - "documentation":"

An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types:

" - } - } - }, - "UpdateSizeConstraintSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateSqlInjectionMatchSetRequest":{ - "type":"structure", - "required":[ - "SqlInjectionMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"SqlInjectionMatchSetUpdates", - "documentation":"

An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types:

" - } - }, - "documentation":"

A request to update a SqlInjectionMatchSet.

" - }, - "UpdateSqlInjectionMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to an UpdateSqlInjectionMatchSets request.

" - }, - "UpdateWebACLRequest":{ - "type":"structure", - "required":[ - "WebACLId", - "ChangeToken" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"WebACLUpdates", - "documentation":"

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

  • WebACLUpdate: Contains Action and ActivatedRule

  • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

  • WafAction: Contains Type

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.

" - } - } - }, - "UpdateWebACLResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - } - }, - "UpdateXssMatchSetRequest":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "ChangeToken", - "Updates" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The value returned by the most recent call to GetChangeToken.

" - }, - "Updates":{ - "shape":"XssMatchSetUpdates", - "documentation":"

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" - } - }, - "documentation":"

A request to update an XssMatchSet.

" - }, - "UpdateXssMatchSetResponse":{ - "type":"structure", - "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

The ChangeToken that you used to submit the UpdateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

" - } - }, - "documentation":"

The response to an UpdateXssMatchSets request.

" - }, - "WAFDisallowedNameException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The name specified is invalid.

", - "exception":true - }, - "WAFInternalErrorException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because of a system problem, even though the request was valid. Retry your request.

", - "exception":true, - "fault":true - }, - "WAFInvalidAccountException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

", - "exception":true - }, - "WAFInvalidOperationException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because there was nothing to do. For example:

  • You tried to remove a Rule from a WebACL, but the Rule isn't in the specified WebACL.

  • You tried to remove an IP address from an IPSet, but the IP address isn't in the specified IPSet.

  • You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple isn't in the specified WebACL.

  • You tried to add a Rule to a WebACL, but the Rule already exists in the specified WebACL.

  • You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple already exists in the specified WebACL.

", - "exception":true - }, - "WAFInvalidParameterException":{ - "type":"structure", - "members":{ - "field":{"shape":"ParameterExceptionField"}, - "parameter":{"shape":"ParameterExceptionParameter"}, - "reason":{"shape":"ParameterExceptionReason"} - }, - "documentation":"

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

  • You specified an invalid parameter name.

  • You specified an invalid value.

  • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

  • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to create a RateBasedRule with a RateKey value other than IP.

  • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

  • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, METHOD, QUERY_STRING, URI, or BODY.

  • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

  • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

", - "exception":true - }, - "WAFInvalidPermissionPolicyException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because the specified policy is not in the proper format.

The policy is subject to the following restrictions:

  • You can attach only one policy with each PutPermissionPolicy request.

  • The policy must include an Effect, Action and Principal.

  • Effect must specify Allow.

  • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

  • The policy cannot include a Resource parameter.

  • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

  • The user making the request must be the owner of the RuleGroup.

  • Your policy must be composed using IAM Policy version 2012-10-17.

", - "exception":true - }, - "WAFInvalidRegexPatternException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The regular expression (regex) you specified in RegexPatternString is invalid.

", - "exception":true - }, - "WAFLimitsExceededException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

", - "exception":true - }, - "WAFNonEmptyEntityException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to delete an object that isn't empty. For example:

  • You tried to delete a WebACL that still contains one or more Rule objects.

  • You tried to delete a Rule that still contains one or more ByteMatchSet objects or other predicates.

  • You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple objects.

  • You tried to delete an IPSet that references one or more IP addresses.

", - "exception":true - }, - "WAFNonexistentContainerException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

  • You tried to add a Rule to or delete a Rule from a WebACL that doesn't exist.

  • You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule that doesn't exist.

  • You tried to add an IP address to or delete an IP address from an IPSet that doesn't exist.

  • You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a ByteMatchSet that doesn't exist.

", - "exception":true - }, - "WAFNonexistentItemException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because the referenced object doesn't exist.

", - "exception":true - }, - "WAFReferencedItemException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to delete an object that is still in use. For example:

  • You tried to delete a ByteMatchSet that is still referenced by a Rule.

  • You tried to delete a Rule that is still referenced by a WebACL.

", - "exception":true - }, - "WAFStaleDataException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

", - "exception":true - }, - "WAFSubscriptionNotFoundException":{ - "type":"structure", - "members":{ - "message":{"shape":"errorMessage"} - }, - "documentation":"

The specified subscription does not exist.

", - "exception":true - }, - "WafAction":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"WafActionType", - "documentation":"

Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

  • ALLOW: AWS WAF allows requests

  • BLOCK: AWS WAF blocks requests

  • COUNT: AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.

" - } - }, - "documentation":"

For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

" - }, - "WafActionType":{ - "type":"string", - "enum":[ - "BLOCK", - "ALLOW", - "COUNT" - ] - }, - "WafOverrideAction":{ - "type":"structure", - "required":["Type"], - "members":{ - "Type":{ - "shape":"WafOverrideActionType", - "documentation":"

COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action will take place.

" - } - }, - "documentation":"

The action to take if any rule within the RuleGroup matches a request.

" - }, - "WafOverrideActionType":{ - "type":"string", - "enum":[ - "NONE", - "COUNT" - ] - }, - "WafRuleType":{ - "type":"string", - "enum":[ - "REGULAR", - "RATE_BASED", - "GROUP" - ] - }, - "WebACL":{ - "type":"structure", - "required":[ - "WebACLId", - "DefaultAction", - "Rules" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

" - }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

" - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

" - }, - "Rules":{ - "shape":"ActivatedRules", - "documentation":"

An array that contains the action for each Rule in a WebACL, the priority of the Rule, and the ID of the Rule.

" - } - }, - "documentation":"

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

" - }, - "WebACLSummaries":{ - "type":"list", - "member":{"shape":"WebACLSummary"} - }, - "WebACLSummary":{ - "type":"structure", - "required":[ - "WebACLId", - "Name" - ], - "members":{ - "WebACLId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

" - } - }, - "documentation":"

Contains the identifier and the name or description of the WebACL.

" - }, - "WebACLUpdate":{ - "type":"structure", - "required":[ - "Action", - "ActivatedRule" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specifies whether to insert a Rule into or delete a Rule from a WebACL.

" - }, - "ActivatedRule":{ - "shape":"ActivatedRule", - "documentation":"

The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

" - } - }, - "documentation":"

Specifies whether to insert a Rule into or delete a Rule from a WebACL.

" - }, - "WebACLUpdates":{ - "type":"list", - "member":{"shape":"WebACLUpdate"} - }, - "XssMatchSet":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "XssMatchTuples" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name, if any, of the XssMatchSet.

" - }, - "XssMatchTuples":{ - "shape":"XssMatchTuples", - "documentation":"

Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

" - } - }, - "documentation":"

A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

" - }, - "XssMatchSetSummaries":{ - "type":"list", - "member":{"shape":"XssMatchSetSummary"} - }, - "XssMatchSetSummary":{ - "type":"structure", - "required":[ - "XssMatchSetId", - "Name" - ], - "members":{ - "XssMatchSetId":{ - "shape":"ResourceId", - "documentation":"

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the XssMatchSet, if any, specified by Id.

" - } - }, - "documentation":"

The Id and Name of an XssMatchSet.

" - }, - "XssMatchSetUpdate":{ - "type":"structure", - "required":[ - "Action", - "XssMatchTuple" - ], - "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet.

" - }, - "XssMatchTuple":{ - "shape":"XssMatchTuple", - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

" - } - }, - "documentation":"

Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet.

" - }, - "XssMatchSetUpdates":{ - "type":"list", - "member":{"shape":"XssMatchSetUpdate"}, - "min":1 - }, - "XssMatchTuple":{ - "type":"structure", - "required":[ - "FieldToMatch", - "TextTransformation" - ], - "members":{ - "FieldToMatch":{ - "shape":"FieldToMatch", - "documentation":"

Specifies where in a web request to look for cross-site scripting attacks.

" - }, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

You can only specify a single type of TextTransformation.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

  • Delete the following characters: \\ \" ' ^

  • Delete spaces before the following characters: / (

  • Replace the following characters with a space: , ;

  • Replace multiple spaces with one space

  • Convert uppercase letters (A-Z) to lowercase (a-z)

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

  • \\f, formfeed, decimal 12

  • \\t, tab, decimal 9

  • \\n, newline, decimal 10

  • \\r, carriage return, decimal 13

  • \\v, vertical tab, decimal 11

  • non-breaking space, decimal 160

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

  • Replaces (ampersand)quot; with \"

  • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

  • Replaces (ampersand)lt; with a \"less than\" symbol

  • Replaces (ampersand)gt; with >

  • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

  • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" - } - }, - "documentation":"

Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

" - }, - "XssMatchTuples":{ - "type":"list", - "member":{"shape":"XssMatchTuple"} - }, - "errorMessage":{"type":"string"} - }, - "documentation":"

This is the AWS WAF API Reference for using AWS WAF with Amazon CloudFront. The AWS WAF actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/paginators-1.json deleted file mode 100644 index 3dc6d7e8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/paginators-1.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/service-2.json deleted file mode 100644 index be8ff5d1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workdocs/2016-05-01/service-2.json +++ /dev/null @@ -1,3576 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-05-01", - "endpointPrefix":"workdocs", - "jsonVersion":"1.1", - "protocol":"rest-json", - "serviceFullName":"Amazon WorkDocs", - "serviceId":"WorkDocs", - "signatureVersion":"v4", - "uid":"workdocs-2016-05-01" - }, - "operations":{ - "AbortDocumentVersionUpload":{ - "name":"AbortDocumentVersionUpload", - "http":{ - "method":"DELETE", - "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", - "responseCode":204 - }, - "input":{"shape":"AbortDocumentVersionUploadRequest"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"ProhibitedStateException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Aborts the upload of the specified document version that was previously initiated by InitiateDocumentVersionUpload. The client should make this call only when it no longer intends to upload the document version, or fails to do so.

" - }, - "ActivateUser":{ - "name":"ActivateUser", - "http":{ - "method":"POST", - "requestUri":"/api/v1/users/{UserId}/activation", - "responseCode":200 - }, - "input":{"shape":"ActivateUserRequest"}, - "output":{"shape":"ActivateUserResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Activates the specified user. Only active users can access Amazon WorkDocs.

" - }, - "AddResourcePermissions":{ - "name":"AddResourcePermissions", - "http":{ - "method":"POST", - "requestUri":"/api/v1/resources/{ResourceId}/permissions", - "responseCode":201 - }, - "input":{"shape":"AddResourcePermissionsRequest"}, - "output":{"shape":"AddResourcePermissionsResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Creates a set of permissions for the specified folder or document. The resource permissions are overwritten if the principals already have different permissions.

" - }, - "CreateComment":{ - "name":"CreateComment", - "http":{ - "method":"POST", - "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comment", - "responseCode":201 - }, - "input":{"shape":"CreateCommentRequest"}, - "output":{"shape":"CreateCommentResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"ProhibitedStateException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"DocumentLockedForCommentsException"} - ], - "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.

" - }, - "DescribeGroups":{ - "name":"DescribeGroups", - "http":{ - "method":"GET", - "requestUri":"/api/v1/groups", - "responseCode":200 - }, - "input":{"shape":"DescribeGroupsRequest"}, - "output":{"shape":"DescribeGroupsResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Describes the groups specified by query.

" - }, - "DescribeNotificationSubscriptions":{ - "name":"DescribeNotificationSubscriptions", - "http":{ - "method":"GET", - "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions", - "responseCode":200 - }, - "input":{"shape":"DescribeNotificationSubscriptionsRequest"}, - "output":{"shape":"DescribeNotificationSubscriptionsResponse"}, - "errors":[ - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"EntityNotExistsException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Lists the specified notification subscriptions.

" - }, - "DescribeResourcePermissions":{ - "name":"DescribeResourcePermissions", - "http":{ - "method":"GET", - "requestUri":"/api/v1/resources/{ResourceId}/permissions", - "responseCode":200 - }, - "input":{"shape":"DescribeResourcePermissionsRequest"}, - "output":{"shape":"DescribeResourcePermissionsResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Describes the permissions of a specified resource.

" - }, - "DescribeRootFolders":{ - "name":"DescribeRootFolders", - "http":{ - "method":"GET", - "requestUri":"/api/v1/me/root", - "responseCode":200 - }, - "input":{"shape":"DescribeRootFoldersRequest"}, - "output":{"shape":"DescribeRootFoldersResponse"}, - "errors":[ - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

" - }, - "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"}, - {"shape":"InvalidPasswordException"} - ], - "documentation":"

Retrieves details of a document.

" - }, - "GetDocumentPath":{ - "name":"GetDocumentPath", - "http":{ - "method":"GET", - "requestUri":"/api/v1/documents/{DocumentId}/path", - "responseCode":200 - }, - "input":{"shape":"GetDocumentPathRequest"}, - "output":{"shape":"GetDocumentPathResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Retrieves the path information (the hierarchy from the root folder) for the requested document.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the names of the parent folders.

" - }, - "GetDocumentVersion":{ - "name":"GetDocumentVersion", - "http":{ - "method":"GET", - "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", - "responseCode":200 - }, - "input":{"shape":"GetDocumentVersionRequest"}, - "output":{"shape":"GetDocumentVersionResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ProhibitedStateException"}, - {"shape":"InvalidPasswordException"} - ], - "documentation":"

Retrieves version metadata for the specified document.

" - }, - "GetFolder":{ - "name":"GetFolder", - "http":{ - "method":"GET", - "requestUri":"/api/v1/folders/{FolderId}", - "responseCode":200 - }, - "input":{"shape":"GetFolderRequest"}, - "output":{"shape":"GetFolderResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"InvalidArgumentException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"}, - {"shape":"ProhibitedStateException"} - ], - "documentation":"

Retrieves the metadata of the specified folder.

" - }, - "GetFolderPath":{ - "name":"GetFolderPath", - "http":{ - "method":"GET", - "requestUri":"/api/v1/folders/{FolderId}/path", - "responseCode":200 - }, - "input":{"shape":"GetFolderPathRequest"}, - "output":{"shape":"GetFolderPathResponse"}, - "errors":[ - {"shape":"EntityNotExistsException"}, - {"shape":"UnauthorizedOperationException"}, - {"shape":"UnauthorizedResourceAccessException"}, - {"shape":"FailedDependencyException"}, - {"shape":"ServiceUnavailableException"} - ], - "documentation":"

Retrieves the path information (the hierarchy from the root folder) for the specified folder.

By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the parent folder names.

" - }, - "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"}, - {"shape":"InvalidArgumentException"} - ], - "documentation":"

Updates the specified attributes of the specified user, and grants or revokes administrative privileges to the Amazon WorkDocs site.

" - } - }, - "shapes":{ - "AbortDocumentVersionUploadRequest":{ - "type":"structure", - "required":[ - "DocumentId", - "VersionId" - ], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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. Do not set this field 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. Do not set this field 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.

" - }, - "NotificationOptions":{ - "shape":"NotificationOptions", - "documentation":"

The notification options.

" - } - } - }, - "AddResourcePermissionsResponse":{ - "type":"structure", - "members":{ - "ShareResults":{ - "shape":"ShareResultsList", - "documentation":"

The share results.

" - } - } - }, - "AuthenticationHeaderType":{ - "type":"string", - "max":8199, - "min":1, - "sensitive":true - }, - "BooleanEnumType":{ - "type":"string", - "enum":[ - "TRUE", - "FALSE" - ] - }, - "BooleanType":{"type":"boolean"}, - "Comment":{ - "type":"structure", - "required":["CommentId"], - "members":{ - "CommentId":{ - "shape":"CommentIdType", - "documentation":"

The ID of the comment.

" - }, - "ParentId":{ - "shape":"CommentIdType", - "documentation":"

The ID of the parent comment.

" - }, - "ThreadId":{ - "shape":"CommentIdType", - "documentation":"

The ID of the root comment in the thread.

" - }, - "Text":{ - "shape":"CommentTextType", - "documentation":"

The text of the comment.

" - }, - "Contributor":{ - "shape":"User", - "documentation":"

The details of the user who made the comment.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time that the comment was created.

" - }, - "Status":{ - "shape":"CommentStatusType", - "documentation":"

The status of the comment.

" - }, - "Visibility":{ - "shape":"CommentVisibilityType", - "documentation":"

The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.

" - }, - "RecipientId":{ - "shape":"IdType", - "documentation":"

If the comment is a reply to another user's comment, this field contains the user ID of the user being replied to.

" - } - }, - "documentation":"

Describes a comment.

" - }, - "CommentIdType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+-.@]+" - }, - "CommentList":{ - "type":"list", - "member":{"shape":"Comment"} - }, - "CommentMetadata":{ - "type":"structure", - "members":{ - "CommentId":{ - "shape":"CommentIdType", - "documentation":"

The ID of the comment.

" - }, - "Contributor":{ - "shape":"User", - "documentation":"

The user who made the comment.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp that the comment was created.

" - }, - "CommentStatus":{ - "shape":"CommentStatusType", - "documentation":"

The status of the comment.

" - }, - "RecipientId":{ - "shape":"IdType", - "documentation":"

The ID of the user being replied to.

" - } - }, - "documentation":"

Describes the metadata of a comment.

" - }, - "CommentStatusType":{ - "type":"string", - "enum":[ - "DRAFT", - "PUBLISHED", - "DELETED" - ] - }, - "CommentTextType":{ - "type":"string", - "max":2048, - "min":1, - "sensitive":true - }, - "CommentVisibilityType":{ - "type":"string", - "enum":[ - "PUBLIC", - "PRIVATE" - ] - }, - "ConcurrentModificationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The resource hierarchy is changing.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "CreateCommentRequest":{ - "type":"structure", - "required":[ - "DocumentId", - "VersionId", - "Text" - ], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "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. Do not set this field 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. Do not set this field 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":"SharedLabels", - "documentation":"

List of labels to add to the resource.

" - }, - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - } - } - }, - "CreateLabelsResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateNotificationSubscriptionRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "Endpoint", - "Protocol", - "SubscriptionType" - ], - "members":{ - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

", - "location":"uri", - "locationName":"OrganizationId" - }, - "Endpoint":{ - "shape":"SubscriptionEndPointType", - "documentation":"

The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with \"https://\".

" - }, - "Protocol":{ - "shape":"SubscriptionProtocolType", - "documentation":"

The protocol to use. The supported value is https, which delivers JSON-encoded messages using HTTPS POST.

" - }, - "SubscriptionType":{ - "shape":"SubscriptionType", - "documentation":"

The notification type.

" - } - } - }, - "CreateNotificationSubscriptionResponse":{ - "type":"structure", - "members":{ - "Subscription":{ - "shape":"Subscription", - "documentation":"

The subscription.

" - } - } - }, - "CreateUserRequest":{ - "type":"structure", - "required":[ - "Username", - "GivenName", - "Surname", - "Password" - ], - "members":{ - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The login name of the user.

" - }, - "EmailAddress":{ - "shape":"EmailAddressType", - "documentation":"

The email address of the user.

" - }, - "GivenName":{ - "shape":"UserAttributeValueType", - "documentation":"

The given name of the user.

" - }, - "Surname":{ - "shape":"UserAttributeValueType", - "documentation":"

The surname of the user.

" - }, - "Password":{ - "shape":"PasswordType", - "documentation":"

The password of the user.

" - }, - "TimeZoneId":{ - "shape":"TimeZoneIdType", - "documentation":"

The time zone ID of the user.

" - }, - "StorageRule":{ - "shape":"StorageRuleType", - "documentation":"

The amount of storage for the user.

" - }, - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "Labels":{ - "shape":"SharedLabels", - "documentation":"

List of labels to delete from the resource.

", - "location":"querystring", - "locationName":"labels" - }, - "DeleteAll":{ - "shape":"BooleanType", - "documentation":"

Flag to request removal of all labels from the specified resource.

", - "location":"querystring", - "locationName":"deleteAll" - } - } - }, - "DeleteLabelsResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteNotificationSubscriptionRequest":{ - "type":"structure", - "required":[ - "SubscriptionId", - "OrganizationId" - ], - "members":{ - "SubscriptionId":{ - "shape":"IdType", - "documentation":"

The ID of the subscription.

", - "location":"uri", - "locationName":"SubscriptionId" - }, - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

", - "location":"uri", - "locationName":"OrganizationId" - } - } - }, - "DeleteUserRequest":{ - "type":"structure", - "required":["UserId"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "UserId":{ - "shape":"IdType", - "documentation":"

The ID of the user.

", - "location":"uri", - "locationName":"UserId" - } - } - }, - "DescribeActivitiesRequest":{ - "type":"structure", - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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.

", - "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. Do not set this field 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. Do not set this field 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. Do not set this field 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.

" - } - } - }, - "DescribeGroupsRequest":{ - "type":"structure", - "required":["SearchQuery"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "SearchQuery":{ - "shape":"SearchQueryType", - "documentation":"

A query to describe groups by group name.

", - "location":"querystring", - "locationName":"searchQuery" - }, - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

", - "location":"querystring", - "locationName":"organizationId" - }, - "Marker":{ - "shape":"MarkerType", - "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", - "location":"querystring", - "locationName":"marker" - }, - "Limit":{ - "shape":"PositiveIntegerType", - "documentation":"

The maximum number of items to return with this call.

", - "location":"querystring", - "locationName":"limit" - } - } - }, - "DescribeGroupsResponse":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"GroupMetadataList", - "documentation":"

The list of groups.

" - }, - "Marker":{ - "shape":"MarkerType", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - } - }, - "DescribeNotificationSubscriptionsRequest":{ - "type":"structure", - "required":["OrganizationId"], - "members":{ - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

", - "location":"uri", - "locationName":"OrganizationId" - }, - "Marker":{ - "shape":"PageMarkerType", - "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

", - "location":"querystring", - "locationName":"marker" - }, - "Limit":{ - "shape":"LimitType", - "documentation":"

The maximum number of items to return with this call.

", - "location":"querystring", - "locationName":"limit" - } - } - }, - "DescribeNotificationSubscriptionsResponse":{ - "type":"structure", - "members":{ - "Subscriptions":{ - "shape":"SubscriptionList", - "documentation":"

The subscriptions.

" - }, - "Marker":{ - "shape":"PageMarkerType", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - } - }, - "DescribeResourcePermissionsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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 ID of the principal to filter permissions by.

", - "location":"querystring", - "locationName":"principalId" - }, - "Limit":{ - "shape":"LimitType", - "documentation":"

The maximum number of items to return with this call.

", - "location":"querystring", - "locationName":"limit" - }, - "Marker":{ - "shape":"PageMarkerType", - "documentation":"

The marker for the next set of results. (You received this marker from a previous call)

", - "location":"querystring", - "locationName":"marker" - } - } - }, - "DescribeResourcePermissionsResponse":{ - "type":"structure", - "members":{ - "Principals":{ - "shape":"PrincipalList", - "documentation":"

The principals.

" - }, - "Marker":{ - "shape":"PageMarkerType", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - } - }, - "DescribeRootFoldersRequest":{ - "type":"structure", - "required":["AuthenticationToken"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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. Do not set this field 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.

", - "deprecated":true - }, - "Marker":{ - "shape":"PageMarkerType", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" - } - } - }, - "DocumentContentType":{ - "type":"string", - "max":128, - "min":1 - }, - "DocumentLockedForCommentsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

This exception is thrown when the document is locked for comments and user tries to create or delete a comment on that document.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "DocumentMetadata":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the document.

" - }, - "CreatorId":{ - "shape":"IdType", - "documentation":"

The ID of the creator.

" - }, - "ParentFolderId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the parent folder.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the document was created.

" - }, - "ModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the document was updated.

" - }, - "LatestVersionMetadata":{ - "shape":"DocumentVersionMetadata", - "documentation":"

The latest version of the document.

" - }, - "ResourceState":{ - "shape":"ResourceStateType", - "documentation":"

The resource state.

" - }, - "Labels":{ - "shape":"SharedLabels", - "documentation":"

List of labels on the document.

" - } - }, - "documentation":"

Describes the document.

" - }, - "DocumentMetadataList":{ - "type":"list", - "member":{"shape":"DocumentMetadata"} - }, - "DocumentSourceType":{ - "type":"string", - "enum":[ - "ORIGINAL", - "WITH_COMMENTS" - ] - }, - "DocumentSourceUrlMap":{ - "type":"map", - "key":{"shape":"DocumentSourceType"}, - "value":{"shape":"UrlType"} - }, - "DocumentStatusType":{ - "type":"string", - "enum":[ - "INITIALIZED", - "ACTIVE" - ] - }, - "DocumentThumbnailType":{ - "type":"string", - "enum":[ - "SMALL", - "SMALL_HQ", - "LARGE" - ] - }, - "DocumentThumbnailUrlMap":{ - "type":"map", - "key":{"shape":"DocumentThumbnailType"}, - "value":{"shape":"UrlType"} - }, - "DocumentVersionIdType":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[\\w+-.@]+" - }, - "DocumentVersionMetadata":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"DocumentVersionIdType", - "documentation":"

The ID of the version.

" - }, - "Name":{ - "shape":"ResourceNameType", - "documentation":"

The name of the version.

" - }, - "ContentType":{ - "shape":"DocumentContentType", - "documentation":"

The content type of the document.

" - }, - "Size":{ - "shape":"SizeType", - "documentation":"

The size of the document, in bytes.

" - }, - "Signature":{ - "shape":"HashType", - "documentation":"

The signature of the document.

" - }, - "Status":{ - "shape":"DocumentStatusType", - "documentation":"

The status of the document.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp when the document was first uploaded.

" - }, - "ModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp when the document was last uploaded.

" - }, - "ContentCreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp when the content of the document was originally created.

" - }, - "ContentModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp when the content of the document was modified.

" - }, - "CreatorId":{ - "shape":"IdType", - "documentation":"

The ID of the creator.

" - }, - "Thumbnail":{ - "shape":"DocumentThumbnailUrlMap", - "documentation":"

The thumbnail of the document.

" - }, - "Source":{ - "shape":"DocumentSourceUrlMap", - "documentation":"

The source of the document.

" - } - }, - "documentation":"

Describes a version of a document.

" - }, - "DocumentVersionMetadataList":{ - "type":"list", - "member":{"shape":"DocumentVersionMetadata"} - }, - "DocumentVersionStatus":{ - "type":"string", - "enum":["ACTIVE"] - }, - "DraftUploadOutOfSyncException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

This exception is thrown when a valid checkout ID is not presented on document version upload calls for a document that has been checked out from Web client.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "EmailAddressType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" - }, - "EntityAlreadyExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The resource already exists.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "EntityIdList":{ - "type":"list", - "member":{"shape":"IdType"} - }, - "EntityNotExistsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"}, - "EntityIds":{"shape":"EntityIdList"} - }, - "documentation":"

The resource does not exist.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "ErrorMessageType":{"type":"string"}, - "FailedDependencyException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the organization is failing, such as a connected Active Directory.

", - "error":{"httpStatusCode":424}, - "exception":true - }, - "FieldNamesType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\w,]+" - }, - "FolderContentType":{ - "type":"string", - "enum":[ - "ALL", - "DOCUMENT", - "FOLDER" - ] - }, - "FolderMetadata":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the folder.

" - }, - "Name":{ - "shape":"ResourceNameType", - "documentation":"

The name of the folder.

" - }, - "CreatorId":{ - "shape":"IdType", - "documentation":"

The ID of the creator.

" - }, - "ParentFolderId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the parent folder.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the folder was created.

" - }, - "ModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the folder was updated.

" - }, - "ResourceState":{ - "shape":"ResourceStateType", - "documentation":"

The resource state of the folder.

" - }, - "Signature":{ - "shape":"HashType", - "documentation":"

The unique identifier created from the subfolders and documents of the folder.

" - }, - "Labels":{ - "shape":"SharedLabels", - "documentation":"

List of labels on the folder.

" - }, - "Size":{ - "shape":"SizeType", - "documentation":"

The size of the folder metadata.

" - }, - "LatestVersionSize":{ - "shape":"SizeType", - "documentation":"

The size of the latest version of the folder metadata.

" - } - }, - "documentation":"

Describes a folder.

" - }, - "FolderMetadataList":{ - "type":"list", - "member":{"shape":"FolderMetadata"} - }, - "GetCurrentUserRequest":{ - "type":"structure", - "required":["AuthenticationToken"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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. Do not set this field 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 timestamp when the content of the document was originally created.

" - }, - "ContentModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The timestamp when the content of the document was modified.

" - }, - "ContentType":{ - "shape":"DocumentContentType", - "documentation":"

The content type of the document.

" - }, - "DocumentSizeInBytes":{ - "shape":"SizeType", - "documentation":"

The size of the document, in bytes.

" - }, - "ParentFolderId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the parent folder.

" - } - } - }, - "InitiateDocumentVersionUploadResponse":{ - "type":"structure", - "members":{ - "Metadata":{ - "shape":"DocumentMetadata", - "documentation":"

The document metadata.

" - }, - "UploadMetadata":{ - "shape":"UploadMetadata", - "documentation":"

The upload metadata.

" - } - } - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The pagination marker or limit fields are not valid.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "InvalidOperationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The operation is invalid.

", - "error":{"httpStatusCode":405}, - "exception":true - }, - "InvalidPasswordException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The password is invalid.

", - "error":{"httpStatusCode":401}, - "exception":true - }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The maximum of 100,000 folders under the parent folder has been exceeded.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "LimitType":{ - "type":"integer", - "max":999, - "min":1 - }, - "LocaleType":{ - "type":"string", - "enum":[ - "en", - "fr", - "ko", - "de", - "es", - "ja", - "ru", - "zh_CN", - "zh_TW", - "pt_BR", - "default" - ] - }, - "MarkerType":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"[\\u0000-\\u00FF]+" - }, - "MessageType":{ - "type":"string", - "max":2048, - "min":0, - "sensitive":true - }, - "NotificationOptions":{ - "type":"structure", - "members":{ - "SendEmail":{ - "shape":"BooleanType", - "documentation":"

Boolean value to indicate an email notification should be sent to the receipients.

" - }, - "EmailMessage":{ - "shape":"MessageType", - "documentation":"

Text value to be included in the email body.

" - } - }, - "documentation":"

Set of options which defines notification preferences of given action.

" - }, - "OrderType":{ - "type":"string", - "enum":[ - "ASCENDING", - "DESCENDING" - ] - }, - "OrganizationUserList":{ - "type":"list", - "member":{"shape":"User"} - }, - "PageMarkerType":{ - "type":"string", - "max":2048, - "min":1 - }, - "Participants":{ - "type":"structure", - "members":{ - "Users":{ - "shape":"UserMetadataList", - "documentation":"

The list of users.

" - }, - "Groups":{ - "shape":"GroupMetadataList", - "documentation":"

The list of user groups.

" - } - }, - "documentation":"

Describes the users or user groups.

" - }, - "PasswordType":{ - "type":"string", - "max":32, - "min":4, - "pattern":"[\\u0020-\\u00FF]+", - "sensitive":true - }, - "PermissionInfo":{ - "type":"structure", - "members":{ - "Role":{ - "shape":"RoleType", - "documentation":"

The role of the user.

" - }, - "Type":{ - "shape":"RolePermissionType", - "documentation":"

The type of permissions.

" - } - }, - "documentation":"

Describes the permissions.

" - }, - "PermissionInfoList":{ - "type":"list", - "member":{"shape":"PermissionInfo"} - }, - "PositiveIntegerType":{ - "type":"integer", - "min":1 - }, - "PositiveSizeType":{ - "type":"long", - "min":0 - }, - "Principal":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"IdType", - "documentation":"

The ID of the resource.

" - }, - "Type":{ - "shape":"PrincipalType", - "documentation":"

The type of resource.

" - }, - "Roles":{ - "shape":"PermissionInfoList", - "documentation":"

The permission information for the resource.

" - } - }, - "documentation":"

Describes a resource.

" - }, - "PrincipalList":{ - "type":"list", - "member":{"shape":"Principal"} - }, - "PrincipalType":{ - "type":"string", - "enum":[ - "USER", - "GROUP", - "INVITE", - "ANONYMOUS", - "ORGANIZATION" - ] - }, - "ProhibitedStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The specified document version is not in the INITIALIZED state.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "RemoveAllResourcePermissionsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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. Do not set this field 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 before a rename operation.

" - }, - "Id":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the resource.

" - }, - "VersionId":{ - "shape":"DocumentVersionIdType", - "documentation":"

The version ID of the resource. This is an optional field and is filled for action on document version.

" - }, - "Owner":{ - "shape":"UserMetadata", - "documentation":"

The owner of the resource.

" - }, - "ParentId":{ - "shape":"ResourceIdType", - "documentation":"

The parent ID of the resource before a rename operation.

" - } - }, - "documentation":"

Describes the metadata of a resource.

" - }, - "ResourceNameType":{ - "type":"string", - "max":255, - "min":1, - "pattern":"[\\u0020-\\u202D\\u202F-\\uFFFF]+" - }, - "ResourcePath":{ - "type":"structure", - "members":{ - "Components":{ - "shape":"ResourcePathComponentList", - "documentation":"

The components of the resource path.

" - } - }, - "documentation":"

Describes the path information of a resource.

" - }, - "ResourcePathComponent":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"IdType", - "documentation":"

The ID of the resource path.

" - }, - "Name":{ - "shape":"ResourceNameType", - "documentation":"

The name of the resource path.

" - } - }, - "documentation":"

Describes the resource path.

" - }, - "ResourcePathComponentList":{ - "type":"list", - "member":{"shape":"ResourcePathComponent"} - }, - "ResourceSortType":{ - "type":"string", - "enum":[ - "DATE", - "NAME" - ] - }, - "ResourceStateType":{ - "type":"string", - "enum":[ - "ACTIVE", - "RESTORING", - "RECYCLING", - "RECYCLED" - ] - }, - "ResourceType":{ - "type":"string", - "enum":[ - "FOLDER", - "DOCUMENT" - ] - }, - "RolePermissionType":{ - "type":"string", - "enum":[ - "DIRECT", - "INHERITED" - ] - }, - "RoleType":{ - "type":"string", - "enum":[ - "VIEWER", - "CONTRIBUTOR", - "OWNER", - "COOWNER" - ] - }, - "SearchQueryType":{ - "type":"string", - "max":512, - "min":1, - "pattern":"[\\u0020-\\uFFFF]+", - "sensitive":true - }, - "ServiceUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

One or more of the dependencies is unavailable.

", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true - }, - "SharePrincipal":{ - "type":"structure", - "required":[ - "Id", - "Type", - "Role" - ], - "members":{ - "Id":{ - "shape":"IdType", - "documentation":"

The ID of the recipient.

" - }, - "Type":{ - "shape":"PrincipalType", - "documentation":"

The type of the recipient.

" - }, - "Role":{ - "shape":"RoleType", - "documentation":"

The role of the recipient.

" - } - }, - "documentation":"

Describes the recipient type and ID, if available.

" - }, - "SharePrincipalList":{ - "type":"list", - "member":{"shape":"SharePrincipal"} - }, - "ShareResult":{ - "type":"structure", - "members":{ - "PrincipalId":{ - "shape":"IdType", - "documentation":"

The ID of the principal.

" - }, - "Role":{ - "shape":"RoleType", - "documentation":"

The role.

" - }, - "Status":{ - "shape":"ShareStatusType", - "documentation":"

The status.

" - }, - "ShareId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the resource that was shared.

" - }, - "StatusMessage":{ - "shape":"MessageType", - "documentation":"

The status message.

" - } - }, - "documentation":"

Describes the share results of a resource.

" - }, - "ShareResultsList":{ - "type":"list", - "member":{"shape":"ShareResult"} - }, - "ShareStatusType":{ - "type":"string", - "enum":[ - "SUCCESS", - "FAILURE" - ] - }, - "SharedLabel":{ - "type":"string", - "max":32, - "min":1, - "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" - }, - "SharedLabels":{ - "type":"list", - "member":{"shape":"SharedLabel"}, - "max":20 - }, - "SignedHeaderMap":{ - "type":"map", - "key":{"shape":"HeaderNameType"}, - "value":{"shape":"HeaderValueType"} - }, - "SizeType":{"type":"long"}, - "StorageLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The storage limit has been exceeded.

", - "error":{"httpStatusCode":409}, - "exception":true - }, - "StorageLimitWillExceedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The storage limit will be exceeded.

", - "error":{"httpStatusCode":413}, - "exception":true - }, - "StorageRuleType":{ - "type":"structure", - "members":{ - "StorageAllocatedInBytes":{ - "shape":"PositiveSizeType", - "documentation":"

The amount of storage allocated, in bytes.

" - }, - "StorageType":{ - "shape":"StorageType", - "documentation":"

The type of storage.

" - } - }, - "documentation":"

Describes the storage for a user.

" - }, - "StorageType":{ - "type":"string", - "enum":[ - "UNLIMITED", - "QUOTA" - ] - }, - "Subscription":{ - "type":"structure", - "members":{ - "SubscriptionId":{ - "shape":"IdType", - "documentation":"

The ID of the subscription.

" - }, - "EndPoint":{ - "shape":"SubscriptionEndPointType", - "documentation":"

The endpoint of the subscription.

" - }, - "Protocol":{ - "shape":"SubscriptionProtocolType", - "documentation":"

The protocol of the subscription.

" - } - }, - "documentation":"

Describes a subscription.

" - }, - "SubscriptionEndPointType":{ - "type":"string", - "max":256, - "min":1 - }, - "SubscriptionList":{ - "type":"list", - "member":{"shape":"Subscription"}, - "max":256 - }, - "SubscriptionProtocolType":{ - "type":"string", - "enum":["HTTPS"] - }, - "SubscriptionType":{ - "type":"string", - "enum":["ALL"] - }, - "TimeZoneIdType":{ - "type":"string", - "max":256, - "min":1 - }, - "TimestampType":{"type":"timestamp"}, - "TooManyLabelsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The limit has been reached on the number of labels for the specified resource.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "TooManySubscriptionsException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

You've reached the limit on the number of subscriptions for the WorkDocs instance.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "UnauthorizedOperationException":{ - "type":"structure", - "members":{ - }, - "documentation":"

The operation is not permitted.

", - "error":{"httpStatusCode":403}, - "exception":true - }, - "UnauthorizedResourceAccessException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The caller does not have access to perform the action on the resource.

", - "error":{"httpStatusCode":404}, - "exception":true - }, - "UpdateDocumentRequest":{ - "type":"structure", - "required":["DocumentId"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field 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. Only ACTIVE and RECYCLED are supported.

" - } - } - }, - "UpdateDocumentVersionRequest":{ - "type":"structure", - "required":[ - "DocumentId", - "VersionId" - ], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "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. Do not set this field 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. Only ACTIVE and RECYCLED are accepted values from the API.

" - } - } - }, - "UpdateUserRequest":{ - "type":"structure", - "required":["UserId"], - "members":{ - "AuthenticationToken":{ - "shape":"AuthenticationHeaderType", - "documentation":"

Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

", - "location":"header", - "locationName":"Authentication" - }, - "UserId":{ - "shape":"IdType", - "documentation":"

The ID of the user.

", - "location":"uri", - "locationName":"UserId" - }, - "GivenName":{ - "shape":"UserAttributeValueType", - "documentation":"

The given name of the user.

" - }, - "Surname":{ - "shape":"UserAttributeValueType", - "documentation":"

The surname of the user.

" - }, - "Type":{ - "shape":"UserType", - "documentation":"

The type of the user.

" - }, - "StorageRule":{ - "shape":"StorageRuleType", - "documentation":"

The amount of storage for the user.

" - }, - "TimeZoneId":{ - "shape":"TimeZoneIdType", - "documentation":"

The time zone ID of the user.

" - }, - "Locale":{ - "shape":"LocaleType", - "documentation":"

The locale of the user.

" - }, - "GrantPoweruserPrivileges":{ - "shape":"BooleanEnumType", - "documentation":"

Boolean value to determine whether the user is granted Poweruser privileges.

" - } - } - }, - "UpdateUserResponse":{ - "type":"structure", - "members":{ - "User":{ - "shape":"User", - "documentation":"

The user information.

" - } - } - }, - "UploadMetadata":{ - "type":"structure", - "members":{ - "UploadUrl":{ - "shape":"UrlType", - "documentation":"

The URL of the upload.

" - }, - "SignedHeaders":{ - "shape":"SignedHeaderMap", - "documentation":"

The signed headers.

" - } - }, - "documentation":"

Describes the upload.

" - }, - "UrlType":{ - "type":"string", - "max":1024, - "min":1, - "sensitive":true - }, - "User":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"IdType", - "documentation":"

The ID of the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The login name of the user.

" - }, - "EmailAddress":{ - "shape":"EmailAddressType", - "documentation":"

The email address of the user.

" - }, - "GivenName":{ - "shape":"UserAttributeValueType", - "documentation":"

The given name of the user.

" - }, - "Surname":{ - "shape":"UserAttributeValueType", - "documentation":"

The surname of the user.

" - }, - "OrganizationId":{ - "shape":"IdType", - "documentation":"

The ID of the organization.

" - }, - "RootFolderId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the root folder.

" - }, - "RecycleBinFolderId":{ - "shape":"ResourceIdType", - "documentation":"

The ID of the recycle bin folder.

" - }, - "Status":{ - "shape":"UserStatusType", - "documentation":"

The status of the user.

" - }, - "Type":{ - "shape":"UserType", - "documentation":"

The type of user.

" - }, - "CreatedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the user was created.

" - }, - "ModifiedTimestamp":{ - "shape":"TimestampType", - "documentation":"

The time when the user was modified.

" - }, - "TimeZoneId":{ - "shape":"TimeZoneIdType", - "documentation":"

The time zone ID of the user.

" - }, - "Locale":{ - "shape":"LocaleType", - "documentation":"

The locale of the user.

" - }, - "Storage":{ - "shape":"UserStorageMetadata", - "documentation":"

The storage for the user.

" - } - }, - "documentation":"

Describes a user.

" - }, - "UserActivities":{ - "type":"list", - "member":{"shape":"Activity"} - }, - "UserAttributeValueType":{ - "type":"string", - "max":64, - "min":1 - }, - "UserFilterType":{ - "type":"string", - "enum":[ - "ALL", - "ACTIVE_PENDING" - ] - }, - "UserIdsType":{ - "type":"string", - "max":2000, - "min":1, - "pattern":"[&\\w+-.@, ]+" - }, - "UserMetadata":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"IdType", - "documentation":"

The ID of the user.

" - }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The name of the user.

" - }, - "GivenName":{ - "shape":"UserAttributeValueType", - "documentation":"

The given name of the user before a rename operation.

" - }, - "Surname":{ - "shape":"UserAttributeValueType", - "documentation":"

The surname of the user.

" - }, - "EmailAddress":{ - "shape":"EmailAddressType", - "documentation":"

The email address of the user.

" - } - }, - "documentation":"

Describes the metadata of the user.

" - }, - "UserMetadataList":{ - "type":"list", - "member":{"shape":"UserMetadata"} - }, - "UserSortType":{ - "type":"string", - "enum":[ - "USER_NAME", - "FULL_NAME", - "STORAGE_LIMIT", - "USER_STATUS", - "STORAGE_USED" - ] - }, - "UserStatusType":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE", - "PENDING" - ] - }, - "UserStorageMetadata":{ - "type":"structure", - "members":{ - "StorageUtilizedInBytes":{ - "shape":"SizeType", - "documentation":"

The amount of storage used, in bytes.

" - }, - "StorageRule":{ - "shape":"StorageRuleType", - "documentation":"

The storage for a user.

" - } - }, - "documentation":"

Describes the storage for a user.

" - }, - "UserType":{ - "type":"string", - "enum":[ - "USER", - "ADMIN", - "POWERUSER", - "MINIMALUSER", - "WORKSPACESUSER" - ] - }, - "UsernameType":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\w\\-+.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]+)?" - } - }, - "documentation":"

The WorkDocs API is designed for the following use cases:

  • File Migration: File migration applications are supported for users who want to migrate their files from an on-premises or off-premises file system or service. Users can insert files into a user directory structure, as well as allow for basic metadata changes, such as modifications to the permissions of files.

  • Security: Support security applications are supported for users who have additional security needs, such as antivirus or data loss prevention. The API actions, along with AWS CloudTrail, allow these applications to detect when changes occur in Amazon WorkDocs. Then, the application can take the necessary actions and replace the target file. If the target file violates the policy, the application can also choose to email the user.

  • eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These applications can choose to mimic or record the actions in an Amazon WorkDocs site, along with AWS CloudTrail, to replicate data for eDiscovery, backup, or analytical applications.

All Amazon WorkDocs API actions are Amazon authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM user gains full administrative visibility into the entire Amazon WorkDocs site (or as set in the IAM policy). This includes, but is not limited to, the ability to modify file permissions and upload any file to any user. This allows developers to perform the three use cases above, as well as give users the ability to grant access on a selective basis using the IAM model.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/paginators-1.json deleted file mode 100644 index d5de8253..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/paginators-1.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "pagination": { - "ListUsers": { - "result_key": "Users", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListGroupMembers": { - "result_key": "Members", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListOrganizations": { - "result_key": "OrganizationSummaries", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListGroups": { - "result_key": "Groups", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListResources": { - "result_key": "Resources", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - }, - "ListAliases": { - "result_key": "Aliases", - "output_token": "NextToken", - "input_token": "NextToken", - "limit_key": "MaxResults" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/service-2.json deleted file mode 100644 index d0ca5c1e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workmail/2017-10-01/service-2.json +++ /dev/null @@ -1,2070 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2017-10-01", - "endpointPrefix":"workmail", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon WorkMail", - "serviceId":"WorkMail", - "signatureVersion":"v4", - "targetPrefix":"WorkMailService", - "uid":"workmail-2017-10-01" - }, - "operations":{ - "AssociateDelegateToResource":{ - "name":"AssociateDelegateToResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateDelegateToResourceRequest"}, - "output":{"shape":"AssociateDelegateToResourceResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Adds a member to the resource's set of delegates.

", - "idempotent":true - }, - "AssociateMemberToGroup":{ - "name":"AssociateMemberToGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateMemberToGroupRequest"}, - "output":{"shape":"AssociateMemberToGroupResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Adds a member to the group's set.

", - "idempotent":true - }, - "CreateAlias":{ - "name":"CreateAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateAliasRequest"}, - "output":{"shape":"CreateAliasResponse"}, - "errors":[ - {"shape":"EmailAddressInUseException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"MailDomainNotFoundException"}, - {"shape":"MailDomainStateException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Adds an alias to the set of a given member of Amazon WorkMail.

", - "idempotent":true - }, - "CreateGroup":{ - "name":"CreateGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateGroupRequest"}, - "output":{"shape":"CreateGroupResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NameAvailabilityException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"ReservedNameException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", - "idempotent":true - }, - "CreateResource":{ - "name":"CreateResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateResourceRequest"}, - "output":{"shape":"CreateResourceResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"NameAvailabilityException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"ReservedNameException"} - ], - "documentation":"

Creates a new Amazon WorkMail resource. The available types are equipment and room.

", - "idempotent":true - }, - "CreateUser":{ - "name":"CreateUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateUserRequest"}, - "output":{"shape":"CreateUserResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"NameAvailabilityException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"ReservedNameException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

", - "idempotent":true - }, - "DeleteAlias":{ - "name":"DeleteAlias", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteAliasRequest"}, - "output":{"shape":"DeleteAliasResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Remove the alias from a set of aliases for a given user.

", - "idempotent":true - }, - "DeleteGroup":{ - "name":"DeleteGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteGroupRequest"}, - "output":{"shape":"DeleteGroupResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Deletes a group from Amazon WorkMail.

", - "idempotent":true - }, - "DeleteMailboxPermissions":{ - "name":"DeleteMailboxPermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteMailboxPermissionsRequest"}, - "output":{"shape":"DeleteMailboxPermissionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Deletes permissions granted to a user or group.

", - "idempotent":true - }, - "DeleteResource":{ - "name":"DeleteResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteResourceRequest"}, - "output":{"shape":"DeleteResourceResponse"}, - "errors":[ - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Deletes the specified resource.

", - "idempotent":true - }, - "DeleteUser":{ - "name":"DeleteUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteUserRequest"}, - "output":{"shape":"DeleteUserResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Deletes a user from Amazon WorkMail and all subsequent systems. The action can't be undone. The mailbox is kept as-is for a minimum of 30 days, without any means to restore it.

", - "idempotent":true - }, - "DeregisterFromWorkMail":{ - "name":"DeregisterFromWorkMail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeregisterFromWorkMailRequest"}, - "output":{"shape":"DeregisterFromWorkMailResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. Amazon WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.

", - "idempotent":true - }, - "DescribeGroup":{ - "name":"DescribeGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeGroupRequest"}, - "output":{"shape":"DescribeGroupResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns the data available for the group.

", - "idempotent":true - }, - "DescribeOrganization":{ - "name":"DescribeOrganization", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeOrganizationRequest"}, - "output":{"shape":"DescribeOrganizationResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"} - ], - "documentation":"

Provides more information regarding a given organization based on its identifier.

", - "idempotent":true - }, - "DescribeResource":{ - "name":"DescribeResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeResourceRequest"}, - "output":{"shape":"DescribeResourceResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns the data available for the resource.

", - "idempotent":true - }, - "DescribeUser":{ - "name":"DescribeUser", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeUserRequest"}, - "output":{"shape":"DescribeUserResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Provides information regarding the user.

", - "idempotent":true - }, - "DisassociateDelegateFromResource":{ - "name":"DisassociateDelegateFromResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateDelegateFromResourceRequest"}, - "output":{"shape":"DisassociateDelegateFromResourceResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Removes a member from the resource's set of delegates.

", - "idempotent":true - }, - "DisassociateMemberFromGroup":{ - "name":"DisassociateMemberFromGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateMemberFromGroupRequest"}, - "output":{"shape":"DisassociateMemberFromGroupResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Removes a member from a group.

", - "idempotent":true - }, - "ListAliases":{ - "name":"ListAliases", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListAliasesRequest"}, - "output":{"shape":"ListAliasesResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Creates a paginated call to list the aliases associated with a given entity.

", - "idempotent":true - }, - "ListGroupMembers":{ - "name":"ListGroupMembers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupMembersRequest"}, - "output":{"shape":"ListGroupMembersResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns an overview of the members of a group.

", - "idempotent":true - }, - "ListGroups":{ - "name":"ListGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListGroupsRequest"}, - "output":{"shape":"ListGroupsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns summaries of the organization's groups.

", - "idempotent":true - }, - "ListMailboxPermissions":{ - "name":"ListMailboxPermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListMailboxPermissionsRequest"}, - "output":{"shape":"ListMailboxPermissionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Lists the mailbox permissions associated with a mailbox.

", - "idempotent":true - }, - "ListOrganizations":{ - "name":"ListOrganizations", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListOrganizationsRequest"}, - "output":{"shape":"ListOrganizationsResponse"}, - "errors":[ - {"shape":"InvalidParameterException"} - ], - "documentation":"

Returns summaries of the customer's non-deleted organizations.

", - "idempotent":true - }, - "ListResourceDelegates":{ - "name":"ListResourceDelegates", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourceDelegatesRequest"}, - "output":{"shape":"ListResourceDelegatesResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

", - "idempotent":true - }, - "ListResources":{ - "name":"ListResources", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListResourcesRequest"}, - "output":{"shape":"ListResourcesResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns summaries of the organization's resources.

", - "idempotent":true - }, - "ListUsers":{ - "name":"ListUsers", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ListUsersRequest"}, - "output":{"shape":"ListUsersResponse"}, - "errors":[ - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Returns summaries of the organization's users.

", - "idempotent":true - }, - "PutMailboxPermissions":{ - "name":"PutMailboxPermissions", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"PutMailboxPermissionsRequest"}, - "output":{"shape":"PutMailboxPermissionsResponse"}, - "errors":[ - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Sets permissions for a user or group. This replaces any pre-existing permissions set for the entity.

", - "idempotent":true - }, - "RegisterToWorkMail":{ - "name":"RegisterToWorkMail", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RegisterToWorkMailRequest"}, - "output":{"shape":"RegisterToWorkMailResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EmailAddressInUseException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"EntityAlreadyRegisteredException"}, - {"shape":"InvalidParameterException"}, - {"shape":"MailDomainNotFoundException"}, - {"shape":"MailDomainStateException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Registers an existing and disabled user, group, or resource/entity for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the entity is enabled and fails if the entity is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable. Users can either be created by calling the CreateUser API or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

", - "idempotent":true - }, - "ResetPassword":{ - "name":"ResetPassword", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ResetPasswordRequest"}, - "output":{"shape":"ResetPasswordResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"InvalidPasswordException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Allows the administrator to reset the password for a user.

", - "idempotent":true - }, - "UpdatePrimaryEmailAddress":{ - "name":"UpdatePrimaryEmailAddress", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdatePrimaryEmailAddressRequest"}, - "output":{"shape":"UpdatePrimaryEmailAddressResponse"}, - "errors":[ - {"shape":"DirectoryServiceAuthenticationFailedException"}, - {"shape":"DirectoryUnavailableException"}, - {"shape":"EmailAddressInUseException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"MailDomainNotFoundException"}, - {"shape":"MailDomainStateException"}, - {"shape":"InvalidParameterException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"}, - {"shape":"UnsupportedOperationException"} - ], - "documentation":"

Updates the primary email for an entity. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email) and the email provided in the input is promoted as the primary.

", - "idempotent":true - }, - "UpdateResource":{ - "name":"UpdateResource", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateResourceRequest"}, - "output":{"shape":"UpdateResourceResponse"}, - "errors":[ - {"shape":"DirectoryUnavailableException"}, - {"shape":"EntityNotFoundException"}, - {"shape":"EntityStateException"}, - {"shape":"InvalidConfigurationException"}, - {"shape":"EmailAddressInUseException"}, - {"shape":"MailDomainNotFoundException"}, - {"shape":"MailDomainStateException"}, - {"shape":"NameAvailabilityException"}, - {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} - ], - "documentation":"

Updates data for the resource. It must be preceded by a describe call in order to have the latest information. The dataset in the request should be the one expected when performing another describe call.

", - "idempotent":true - } - }, - "shapes":{ - "Aliases":{ - "type":"list", - "member":{"shape":"EmailAddress"} - }, - "AssociateDelegateToResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId", - "EntityId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization under which the resource exists.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The resource for which members are associated.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The member (user or group) to associate to the resource.

" - } - } - }, - "AssociateDelegateToResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "AssociateMemberToGroupRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "GroupId", - "MemberId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization under which the group exists.

" - }, - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The group for which the member is associated.

" - }, - "MemberId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The member to associate to the group.

" - } - } - }, - "AssociateMemberToGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "BookingOptions":{ - "type":"structure", - "members":{ - "AutoAcceptRequests":{ - "shape":"Boolean", - "documentation":"

The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.

" - }, - "AutoDeclineRecurringRequests":{ - "shape":"Boolean", - "documentation":"

The resource's ability to automatically decline any recurring requests.

" - }, - "AutoDeclineConflictingRequests":{ - "shape":"Boolean", - "documentation":"

The resource's ability to automatically decline any conflicting requests.

" - } - }, - "documentation":"

At least one delegate must be associated to the resource to disable automatic replies from the resource.

" - }, - "Boolean":{"type":"boolean"}, - "CreateAliasRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "Alias" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization under which the member exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The alias is added to this Amazon WorkMail entity.

" - }, - "Alias":{ - "shape":"EmailAddress", - "documentation":"

The alias to add to the user.

" - } - } - }, - "CreateAliasResponse":{ - "type":"structure", - "members":{ - } - }, - "CreateGroupRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "Name" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization under which the group is to be created.

" - }, - "Name":{ - "shape":"GroupName", - "documentation":"

The name of the group.

" - } - } - }, - "CreateGroupResponse":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The ID of the group.

" - } - } - }, - "CreateResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "Name", - "Type" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization for which the resource is created.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the created resource.

" - }, - "Type":{ - "shape":"ResourceType", - "documentation":"

The type of the created resource.

" - } - } - }, - "CreateResourceResponse":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the created resource.

" - } - } - }, - "CreateUserRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "Name", - "DisplayName", - "Password" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of the organization for which the user is created.

" - }, - "Name":{ - "shape":"UserName", - "documentation":"

The name for the user to be created.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The display name for the user to be created.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The password for the user to be created.

" - } - } - }, - "CreateUserResponse":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The information regarding the newly created user.

" - } - } - }, - "Delegate":{ - "type":"structure", - "required":[ - "Id", - "Type" - ], - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The identifier for the user or group is associated as the resource's delegate.

" - }, - "Type":{ - "shape":"MemberType", - "documentation":"

The type of the delegate: user or group.

" - } - }, - "documentation":"

The name of the attribute, which is one of the values defined in the UserAttribute enumeration.

" - }, - "DeleteAliasRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "Alias" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the user exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the Amazon WorkMail entity to have the aliases removed.

" - }, - "Alias":{ - "shape":"EmailAddress", - "documentation":"

The aliases to be removed from the user's set of aliases. Duplicate entries in the list are collapsed into single entries (the list is transformed into a set).

" - } - } - }, - "DeleteAliasResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteGroupRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "GroupId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization that contains the group.

" - }, - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the group to be deleted.

" - } - } - }, - "DeleteGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteMailboxPermissionsRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "GranteeId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to delete mailbox permissions.

" - }, - "GranteeId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to delete granted permissions.

" - } - } - }, - "DeleteMailboxPermissionsResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization for which the resource is deleted.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the resource to be deleted.

" - } - } - }, - "DeleteResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "DeleteUserRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "UserId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization that contains the user.

" - }, - "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the user to be deleted.

" - } - } - }, - "DeleteUserResponse":{ - "type":"structure", - "members":{ - } - }, - "DeregisterFromWorkMailRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the Amazon WorkMail entity exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the entity to be updated.

" - } - } - }, - "DeregisterFromWorkMailResponse":{ - "type":"structure", - "members":{ - } - }, - "DescribeGroupRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "GroupId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the group exists.

" - }, - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the group to be described.

" - } - } - }, - "DescribeGroupResponse":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the described group.

" - }, - "Name":{ - "shape":"GroupName", - "documentation":"

The name of the described group.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the described group.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time when a user was registered to Amazon WorkMail, in UNIX epoch time format.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time when a user was deregistered from Amazon WorkMail, in UNIX epoch time format.

" - } - } - }, - "DescribeOrganizationRequest":{ - "type":"structure", - "required":["OrganizationId"], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization to be described.

" - } - } - }, - "DescribeOrganizationResponse":{ - "type":"structure", - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of an organization.

" - }, - "Alias":{ - "shape":"OrganizationName", - "documentation":"

The alias for an organization.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state of an organization.

" - }, - "DirectoryId":{ - "shape":"String", - "documentation":"

The identifier for the directory associated with an Amazon WorkMail organization.

" - }, - "DirectoryType":{ - "shape":"String", - "documentation":"

The type of directory associated with the Amazon WorkMail organization.

" - }, - "DefaultMailDomain":{ - "shape":"String", - "documentation":"

The default mail domain associated with the organization.

" - }, - "CompletedDate":{ - "shape":"Timestamp", - "documentation":"

The date at which the organization became usable in the Amazon WorkMail context, in UNIX epoch time format.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

The (optional) error message indicating if unexpected behavior was encountered with regards to the organization.

" - } - } - }, - "DescribeResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization for which the resource is described.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the resource to be described.

" - } - } - }, - "DescribeResourceResponse":{ - "type":"structure", - "members":{ - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the described resource.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the described resource.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the described resource.

" - }, - "Type":{ - "shape":"ResourceType", - "documentation":"

The type of the described resource.

" - }, - "BookingOptions":{ - "shape":"BookingOptions", - "documentation":"

The booking options for the described resource.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the resource: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time when a resource was registered to Amazon WorkMail, in UNIX epoch time format.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time when a resource was registered from Amazon WorkMail, in UNIX epoch time format.

" - } - } - }, - "DescribeUserRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "UserId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the user exists.

" - }, - "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the user to be described.

" - } - } - }, - "DescribeUserResponse":{ - "type":"structure", - "members":{ - "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the described user.

" - }, - "Name":{ - "shape":"UserName", - "documentation":"

The name for the user.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the user.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The display name of the user.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to Amazon WorkMail).

" - }, - "UserRole":{ - "shape":"UserRole", - "documentation":"

In certain cases other entities are modeled as users. If interoperability is enabled, resources are imported into Amazon WorkMail as users. Because different Amazon WorkMail organizations rely on different directory types, administrators can distinguish between a user that is not registered to Amazon WorkMail (is disabled and has a user role) and the administrative users of the directory. The values are USER, RESOURCE, and SYSTEM_USER.

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format.

" - } - } - }, - "DirectoryServiceAuthenticationFailedException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The Directory Service doesn't recognize the credentials supplied by the Amazon WorkMail service.

", - "exception":true - }, - "DirectoryUnavailableException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The directory that you are trying to perform operations on isn't available.

", - "exception":true - }, - "DisassociateDelegateFromResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId", - "EntityId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the resource exists.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the resource from which delegates' set members are removed.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the member (user, group) to be removed from the resource's delegates.

" - } - } - }, - "DisassociateDelegateFromResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "DisassociateMemberFromGroupRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "GroupId", - "MemberId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the group exists.

" - }, - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the group from which members are removed.

" - }, - "MemberId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the member to be removed to the group.

" - } - } - }, - "DisassociateMemberFromGroupResponse":{ - "type":"structure", - "members":{ - } - }, - "EmailAddress":{ - "type":"string", - "max":254, - "min":1, - "pattern":"[a-zA-Z0-9._%+-]{1,64}@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" - }, - "EmailAddressInUseException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The email address that you're trying to assign is already created for a different user, group, or resource.

", - "exception":true - }, - "EntityAlreadyRegisteredException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The user, group, or resource that you're trying to register is already registered.

", - "exception":true - }, - "EntityNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The identifier supplied for the entity is valid, but it does not exist in your organization.

", - "exception":true - }, - "EntityState":{ - "type":"string", - "enum":[ - "ENABLED", - "DISABLED", - "DELETED" - ] - }, - "EntityStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You are performing an operation on an entity that isn't in the expected state, such as trying to update a deleted user.

", - "exception":true - }, - "Group":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the group.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the group.

" - }, - "Name":{ - "shape":"GroupName", - "documentation":"

The name of the group.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the group, which can be ENABLED, DISABLED, or DELETED.

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the group was enabled for Amazon WorkMail use.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the group was disabled from Amazon WorkMail use.

" - } - }, - "documentation":"

The representation of an Amazon WorkMail group.

" - }, - "GroupName":{ - "type":"string", - "max":256, - "min":1, - "pattern":"[\\u0020-\\u00FF]+" - }, - "Groups":{ - "type":"list", - "member":{"shape":"Group"} - }, - "InvalidConfigurationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests or have at least one delegate associated that can do it on its behalf.

", - "exception":true - }, - "InvalidParameterException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

One or more of the input parameters don't match the service's restrictions.

", - "exception":true - }, - "InvalidPasswordException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The supplied password doesn't match the minimum security constraints, such as length or use of special characters.

", - "exception":true - }, - "ListAliasesRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the entity exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the entity for which to list the aliases.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListAliasesResponse":{ - "type":"structure", - "members":{ - "Aliases":{ - "shape":"Aliases", - "documentation":"

The entity's paginated aliases.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

" - } - } - }, - "ListGroupMembersRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "GroupId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the group exists.

" - }, - "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the group to which the members are associated.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListGroupMembersResponse":{ - "type":"structure", - "members":{ - "Members":{ - "shape":"Members", - "documentation":"

The members associated to the group.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - } - } - }, - "ListGroupsRequest":{ - "type":"structure", - "required":["OrganizationId"], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the groups exist.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListGroupsResponse":{ - "type":"structure", - "members":{ - "Groups":{ - "shape":"Groups", - "documentation":"

The overview of groups for an organization.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

" - } - } - }, - "ListMailboxPermissionsRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to list mailbox permissions.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListMailboxPermissionsResponse":{ - "type":"structure", - "members":{ - "Permissions":{ - "shape":"Permissions", - "documentation":"

One page of the entity's mailbox permissions.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

" - } - } - }, - "ListOrganizationsRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListOrganizationsResponse":{ - "type":"structure", - "members":{ - "OrganizationSummaries":{ - "shape":"OrganizationSummaries", - "documentation":"

The overview of owned organizations presented as a list of organization summaries.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

" - } - } - }, - "ListResourceDelegatesRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization that contains the resource for which delegates are listed.

" - }, - "ResourceId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the resource whose delegates are listed.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token used to paginate through the delegates associated with a resource.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The number of maximum results in a page.

" - } - } - }, - "ListResourceDelegatesResponse":{ - "type":"structure", - "members":{ - "Delegates":{ - "shape":"ResourceDelegates", - "documentation":"

One page of the resource's delegates.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token used to paginate through the delegates associated with a resource. While results are still available, it has an associated value. When the last page is reached, the token is empty.

" - } - } - }, - "ListResourcesRequest":{ - "type":"structure", - "required":["OrganizationId"], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the resources exist.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. The first call does not contain any tokens.

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListResourcesResponse":{ - "type":"structure", - "members":{ - "Resources":{ - "shape":"Resources", - "documentation":"

One page of the organization's resource representation.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token used to paginate through all the organization's resources. While results are still available, it has an associated value. When the last page is reached, the token is empty.

" - } - } - }, - "ListUsersRequest":{ - "type":"structure", - "required":["OrganizationId"], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the users exist.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

TBD

" - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

The maximum number of results to return in a single call.

" - } - } - }, - "ListUsersResponse":{ - "type":"structure", - "members":{ - "Users":{ - "shape":"Users", - "documentation":"

The overview of users for an organization.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The token to use to retrieve the next page of results. This value is `null` when there are no more results to return.

" - } - } - }, - "MailDomainNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the organization.

", - "exception":true - }, - "MailDomainStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

After a domain has been added to the organization, it must be verified. The domain is not yet verified.

", - "exception":true - }, - "MaxResults":{ - "type":"integer", - "box":true, - "max":100, - "min":1 - }, - "Member":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The identifier of the member.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The name of the member.

" - }, - "Type":{ - "shape":"MemberType", - "documentation":"

A member can be a user or group.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the member, which can be ENABLED, DISABLED, or DELETED.

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the member was enabled for Amazon WorkMail use.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the member was disabled from Amazon WorkMail use.

" - } - }, - "documentation":"

The representation of a group member (user or group).

" - }, - "MemberType":{ - "type":"string", - "enum":[ - "GROUP", - "USER" - ] - }, - "Members":{ - "type":"list", - "member":{"shape":"Member"} - }, - "NameAvailabilityException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The entity (user, group, or user) name isn't unique in Amazon WorkMail.

", - "exception":true - }, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "OrganizationId":{ - "type":"string", - "pattern":"^m-[0-9a-f]{32}$" - }, - "OrganizationName":{ - "type":"string", - "max":62, - "min":1, - "pattern":"^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*" - }, - "OrganizationNotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

An operation received a valid organization identifier that either doesn't belong or exist in the system.

", - "exception":true - }, - "OrganizationStateException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its entities.

", - "exception":true - }, - "OrganizationSummaries":{ - "type":"list", - "member":{"shape":"OrganizationSummary"} - }, - "OrganizationSummary":{ - "type":"structure", - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization.

" - }, - "Alias":{ - "shape":"OrganizationName", - "documentation":"

The alias associated with the organization.

" - }, - "ErrorMessage":{ - "shape":"String", - "documentation":"

The error message associated with the organization. It is only present if unexpected behavior has occurred with regards to the organization. It provides insight or solutions regarding unexpected behavior.

" - }, - "State":{ - "shape":"String", - "documentation":"

The state associated with the organization.

" - } - }, - "documentation":"

The brief overview associated with an organization.

" - }, - "Password":{ - "type":"string", - "max":256, - "pattern":"[\\u0020-\\u00FF]+", - "sensitive":true - }, - "Permission":{ - "type":"structure", - "required":[ - "GranteeId", - "GranteeType", - "PermissionValues" - ], - "members":{ - "GranteeId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) to which the permissions are granted.

" - }, - "GranteeType":{ - "shape":"MemberType", - "documentation":"

The type of entity (user, group) of the entity referred to in GranteeId.

" - }, - "PermissionValues":{ - "shape":"PermissionValues", - "documentation":"

The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

" - } - }, - "documentation":"

Permission granted to an entity (user, group) to access a certain aspect of another entity's mailbox.

" - }, - "PermissionType":{ - "type":"string", - "enum":[ - "FULL_ACCESS", - "SEND_AS", - "SEND_ON_BEHALF" - ] - }, - "PermissionValues":{ - "type":"list", - "member":{"shape":"PermissionType"} - }, - "Permissions":{ - "type":"list", - "member":{"shape":"Permission"} - }, - "PutMailboxPermissionsRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "GranteeId", - "PermissionValues" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of the organization under which the entity (user or group) exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) for which to update mailbox permissions.

" - }, - "GranteeId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the entity (user or group) to which to grant the permissions.

" - }, - "PermissionValues":{ - "shape":"PermissionValues", - "documentation":"

The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

" - } - } - }, - "PutMailboxPermissionsResponse":{ - "type":"structure", - "members":{ - } - }, - "RegisterToWorkMailRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "Email" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier for the organization under which the Amazon WorkMail entity exists.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier for the entity to be updated.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email for the entity to be updated.

" - } - } - }, - "RegisterToWorkMailResponse":{ - "type":"structure", - "members":{ - } - }, - "ReservedNameException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

This entity name is not allowed in Amazon WorkMail.

", - "exception":true - }, - "ResetPasswordRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "UserId", - "Password" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier of the organization that contains the user for which the password is reset.

" - }, - "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the user for whom the password is reset.

" - }, - "Password":{ - "shape":"Password", - "documentation":"

The new password for the user.

" - } - } - }, - "ResetPasswordResponse":{ - "type":"structure", - "members":{ - } - }, - "Resource":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the resource.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the resource.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the resource.

" - }, - "Type":{ - "shape":"ResourceType", - "documentation":"

The type of the resource: equipment or room.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the resource, which can be ENABLED, DISABLED, or DELETED.

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the resource was enabled for Amazon WorkMail use.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the resource was disabled from Amazon WorkMail use.

" - } - }, - "documentation":"

The overview for a resource containing relevant data regarding it.

" - }, - "ResourceDelegates":{ - "type":"list", - "member":{"shape":"Delegate"} - }, - "ResourceId":{ - "type":"string", - "pattern":"^r-[0-9a-f]{32}$" - }, - "ResourceName":{ - "type":"string", - "max":20, - "min":1, - "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" - }, - "ResourceType":{ - "type":"string", - "enum":[ - "ROOM", - "EQUIPMENT" - ] - }, - "Resources":{ - "type":"list", - "member":{"shape":"Resource"} - }, - "String":{ - "type":"string", - "max":256 - }, - "Timestamp":{"type":"timestamp"}, - "UnsupportedOperationException":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

You can't perform a write operation against a read-only directory.

", - "exception":true - }, - "UpdatePrimaryEmailAddressRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "EntityId", - "Email" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The organization that contains the entity to update.

" - }, - "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

The entity to update (user, group, or resource).

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The value of the email to be updated as primary.

" - } - } - }, - "UpdatePrimaryEmailAddressResponse":{ - "type":"structure", - "members":{ - } - }, - "UpdateResourceRequest":{ - "type":"structure", - "required":[ - "OrganizationId", - "ResourceId" - ], - "members":{ - "OrganizationId":{ - "shape":"OrganizationId", - "documentation":"

The identifier associated with the organization for which the resource is updated.

" - }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

The identifier of the resource to be updated.

" - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

The name of the resource to be updated.

" - }, - "BookingOptions":{ - "shape":"BookingOptions", - "documentation":"

The resource's booking options to be updated.

" - } - } - }, - "UpdateResourceResponse":{ - "type":"structure", - "members":{ - } - }, - "User":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"WorkMailIdentifier", - "documentation":"

The identifier of the user.

" - }, - "Email":{ - "shape":"EmailAddress", - "documentation":"

The email of the user.

" - }, - "Name":{ - "shape":"UserName", - "documentation":"

The name of the user.

" - }, - "DisplayName":{ - "shape":"String", - "documentation":"

The display name of the user.

" - }, - "State":{ - "shape":"EntityState", - "documentation":"

The state of the user, which can be ENABLED, DISABLED, or DELETED.

" - }, - "UserRole":{ - "shape":"UserRole", - "documentation":"

The role of the user.

" - }, - "EnabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the user was enabled for Amazon WorkMail use.

" - }, - "DisabledDate":{ - "shape":"Timestamp", - "documentation":"

The date indicating when the user was disabled from Amazon WorkMail use.

" - } - }, - "documentation":"

The representation of an Amazon WorkMail user.

" - }, - "UserName":{ - "type":"string", - "max":64, - "min":1, - "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" - }, - "UserRole":{ - "type":"string", - "enum":[ - "USER", - "RESOURCE", - "SYSTEM_USER" - ] - }, - "Users":{ - "type":"list", - "member":{"shape":"User"} - }, - "WorkMailIdentifier":{ - "type":"string", - "max":256, - "min":12 - } - }, - "documentation":"

Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or their native iOS and Android email applications. You can integrate Amazon WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

The Amazon WorkMail API is designed for the following scenarios:

  • Listing and describing organizations

  • Managing users

  • Managing groups

  • Managing resources

All Amazon WorkMail API actions are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkMail site, the IAM user gains full administrative visibility into the entire Amazon WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/paginators-1.json deleted file mode 100644 index efa8cbad..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/paginators-1.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "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/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/service-2.json deleted file mode 100644 index 24c0d6a3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/workspaces/2015-04-08/service-2.json +++ /dev/null @@ -1,1745 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2015-04-08", - "endpointPrefix":"workspaces", - "jsonVersion":"1.1", - "protocol":"json", - "serviceFullName":"Amazon WorkSpaces", - "serviceId":"WorkSpaces", - "signatureVersion":"v4", - "targetPrefix":"WorkspacesService", - "uid":"workspaces-2015-04-08" - }, - "operations":{ - "AssociateIpGroups":{ - "name":"AssociateIpGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AssociateIpGroupsRequest"}, - "output":{"shape":"AssociateIpGroupsResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"AccessDeniedException"}, - {"shape":"OperationNotSupportedException"} - ], - "documentation":"

Associates the specified IP access control group with the specified directory.

" - }, - "AuthorizeIpRules":{ - "name":"AuthorizeIpRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"AuthorizeIpRulesRequest"}, - "output":{"shape":"AuthorizeIpRulesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Adds one or more rules to the specified IP access control group.

This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules.

" - }, - "CreateIpGroup":{ - "name":"CreateIpGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateIpGroupRequest"}, - "output":{"shape":"CreateIpGroupResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"ResourceAlreadyExistsException"}, - {"shape":"ResourceCreationFailedException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Creates an IP access control group.

An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.

There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.

" - }, - "CreateTags":{ - "name":"CreateTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateTagsRequest"}, - "output":{"shape":"CreateTagsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceLimitExceededException"} - ], - "documentation":"

Creates the specified tags for the specified WorkSpace.

" - }, - "CreateWorkspaces":{ - "name":"CreateWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"CreateWorkspacesRequest"}, - "output":{"shape":"CreateWorkspacesResult"}, - "errors":[ - {"shape":"ResourceLimitExceededException"}, - {"shape":"InvalidParameterValuesException"} - ], - "documentation":"

Creates one or more WorkSpaces.

This operation is asynchronous and returns before the WorkSpaces are created.

" - }, - "DeleteIpGroup":{ - "name":"DeleteIpGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteIpGroupRequest"}, - "output":{"shape":"DeleteIpGroupResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceAssociatedException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Deletes the specified IP access control group.

You cannot delete an IP access control group that is associated with a directory.

" - }, - "DeleteTags":{ - "name":"DeleteTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DeleteTagsRequest"}, - "output":{"shape":"DeleteTagsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterValuesException"} - ], - "documentation":"

Deletes the specified tags from the specified WorkSpace.

" - }, - "DescribeIpGroups":{ - "name":"DescribeIpGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeIpGroupsRequest"}, - "output":{"shape":"DescribeIpGroupsResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Describes one or more of your IP access control groups.

" - }, - "DescribeTags":{ - "name":"DescribeTags", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeTagsRequest"}, - "output":{"shape":"DescribeTagsResult"}, - "errors":[ - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Describes the specified tags for the specified WorkSpace.

" - }, - "DescribeWorkspaceBundles":{ - "name":"DescribeWorkspaceBundles", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkspaceBundlesRequest"}, - "output":{"shape":"DescribeWorkspaceBundlesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"} - ], - "documentation":"

Describes the available WorkSpace bundles.

You can filter the results using either bundle ID or owner, but not both.

" - }, - "DescribeWorkspaceDirectories":{ - "name":"DescribeWorkspaceDirectories", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkspaceDirectoriesRequest"}, - "output":{"shape":"DescribeWorkspaceDirectoriesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"} - ], - "documentation":"

Describes the available AWS Directory Service directories that are registered with Amazon WorkSpaces.

" - }, - "DescribeWorkspaces":{ - "name":"DescribeWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkspacesRequest"}, - "output":{"shape":"DescribeWorkspacesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceUnavailableException"} - ], - "documentation":"

Describes the specified WorkSpaces.

You can filter the results using bundle ID, directory ID, or owner, but you can specify only one filter at a time.

" - }, - "DescribeWorkspacesConnectionStatus":{ - "name":"DescribeWorkspacesConnectionStatus", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DescribeWorkspacesConnectionStatusRequest"}, - "output":{"shape":"DescribeWorkspacesConnectionStatusResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"} - ], - "documentation":"

Describes the connection status of the specified WorkSpaces.

" - }, - "DisassociateIpGroups":{ - "name":"DisassociateIpGroups", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"DisassociateIpGroupsRequest"}, - "output":{"shape":"DisassociateIpGroupsResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Disassociates the specified IP access control group from the specified directory.

" - }, - "ModifyWorkspaceProperties":{ - "name":"ModifyWorkspaceProperties", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyWorkspacePropertiesRequest"}, - "output":{"shape":"ModifyWorkspacePropertiesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"OperationInProgressException"}, - {"shape":"UnsupportedWorkspaceConfigurationException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"AccessDeniedException"}, - {"shape":"ResourceUnavailableException"} - ], - "documentation":"

Modifies the specified WorkSpace properties.

" - }, - "ModifyWorkspaceState":{ - "name":"ModifyWorkspaceState", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"ModifyWorkspaceStateRequest"}, - "output":{"shape":"ModifyWorkspaceStateResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"ResourceNotFoundException"} - ], - "documentation":"

Sets the state of the specified WorkSpace.

To maintain a WorkSpace without being interrupted, set the WorkSpace state to ADMIN_MAINTENANCE. WorkSpaces in this state do not respond to requests to reboot, stop, start, or rebuild. An AutoStop WorkSpace in this state is not stopped. Users can log into a WorkSpace in the ADMIN_MAINTENANCE state.

" - }, - "RebootWorkspaces":{ - "name":"RebootWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebootWorkspacesRequest"}, - "output":{"shape":"RebootWorkspacesResult"}, - "documentation":"

Reboots the specified WorkSpaces.

You cannot reboot a WorkSpace unless its state is AVAILABLE or UNHEALTHY.

This operation is asynchronous and returns before the WorkSpaces have rebooted.

" - }, - "RebuildWorkspaces":{ - "name":"RebuildWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RebuildWorkspacesRequest"}, - "output":{"shape":"RebuildWorkspacesResult"}, - "documentation":"

Rebuilds the specified WorkSpace.

You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, or UNHEALTHY.

Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace.

This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

" - }, - "RevokeIpRules":{ - "name":"RevokeIpRules", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"RevokeIpRulesRequest"}, - "output":{"shape":"RevokeIpRulesResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Removes one or more rules from the specified IP access control group.

" - }, - "StartWorkspaces":{ - "name":"StartWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StartWorkspacesRequest"}, - "output":{"shape":"StartWorkspacesResult"}, - "documentation":"

Starts the specified WorkSpaces.

You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED.

" - }, - "StopWorkspaces":{ - "name":"StopWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"StopWorkspacesRequest"}, - "output":{"shape":"StopWorkspacesResult"}, - "documentation":"

Stops the specified WorkSpaces.

You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

" - }, - "TerminateWorkspaces":{ - "name":"TerminateWorkspaces", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"TerminateWorkspacesRequest"}, - "output":{"shape":"TerminateWorkspacesResult"}, - "documentation":"

Terminates the specified WorkSpaces.

Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

You can terminate a WorkSpace that is in any state except SUSPENDED.

This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

" - }, - "UpdateRulesOfIpGroup":{ - "name":"UpdateRulesOfIpGroup", - "http":{ - "method":"POST", - "requestUri":"/" - }, - "input":{"shape":"UpdateRulesOfIpGroupRequest"}, - "output":{"shape":"UpdateRulesOfIpGroupResult"}, - "errors":[ - {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceLimitExceededException"}, - {"shape":"InvalidResourceStateException"}, - {"shape":"AccessDeniedException"} - ], - "documentation":"

Replaces the current rules of the specified IP access control group with the specified rules.

" - } - }, - "shapes":{ - "ARN":{ - "type":"string", - "pattern":"^arn:aws:[A-Za-z0-9][A-za-z0-9_/.-]{0,62}:[A-za-z0-9_/.-]{0,63}:[A-za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-za-z0-9_/.-]{0,127}$" - }, - "AccessDeniedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The user is not authorized to access a resource.

", - "exception":true - }, - "Alias":{"type":"string"}, - "AssociateIpGroupsRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "GroupIds" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The ID of the directory.

" - }, - "GroupIds":{ - "shape":"IpGroupIdList", - "documentation":"

The IDs of one or more IP access control groups.

" - } - } - }, - "AssociateIpGroupsResult":{ - "type":"structure", - "members":{ - } - }, - "AuthorizeIpRulesRequest":{ - "type":"structure", - "required":[ - "GroupId", - "UserRules" - ], - "members":{ - "GroupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the group.

" - }, - "UserRules":{ - "shape":"IpRuleList", - "documentation":"

The rules to add to the group.

" - } - } - }, - "AuthorizeIpRulesResult":{ - "type":"structure", - "members":{ - } - }, - "BooleanObject":{"type":"boolean"}, - "BundleId":{ - "type":"string", - "pattern":"^wsb-[0-9a-z]{8,63}$" - }, - "BundleIdList":{ - "type":"list", - "member":{"shape":"BundleId"}, - "max":25, - "min":1 - }, - "BundleList":{ - "type":"list", - "member":{"shape":"WorkspaceBundle"} - }, - "BundleOwner":{"type":"string"}, - "Compute":{ - "type":"string", - "enum":[ - "VALUE", - "STANDARD", - "PERFORMANCE", - "POWER", - "GRAPHICS" - ] - }, - "ComputeType":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"Compute", - "documentation":"

The compute type.

" - } - }, - "documentation":"

Information about the compute type.

" - }, - "ComputerName":{"type":"string"}, - "ConnectionState":{ - "type":"string", - "enum":[ - "CONNECTED", - "DISCONNECTED", - "UNKNOWN" - ] - }, - "CreateIpGroupRequest":{ - "type":"structure", - "required":["GroupName"], - "members":{ - "GroupName":{ - "shape":"IpGroupName", - "documentation":"

The name of the group.

" - }, - "GroupDesc":{ - "shape":"IpGroupDesc", - "documentation":"

The description of the group.

" - }, - "UserRules":{ - "shape":"IpRuleList", - "documentation":"

The rules to add to the group.

" - } - } - }, - "CreateIpGroupResult":{ - "type":"structure", - "members":{ - "GroupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the group.

" - } - } - }, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "Tags" - ], - "members":{ - "ResourceId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags. Each WorkSpace can have a maximum of 50 tags.

" - } - } - }, - "CreateTagsResult":{ - "type":"structure", - "members":{ - } - }, - "CreateWorkspacesRequest":{ - "type":"structure", - "required":["Workspaces"], - "members":{ - "Workspaces":{ - "shape":"WorkspaceRequestList", - "documentation":"

The WorkSpaces to create. You can specify up to 25 WorkSpaces.

" - } - } - }, - "CreateWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedCreateWorkspaceRequests", - "documentation":"

Information about the WorkSpaces that could not be created.

" - }, - "PendingRequests":{ - "shape":"WorkspaceList", - "documentation":"

Information about the WorkSpaces that were created.

Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call DescribeWorkspaces before the WorkSpace is created, the information returned can be incomplete.

" - } - } - }, - "DefaultOu":{"type":"string"}, - "DefaultWorkspaceCreationProperties":{ - "type":"structure", - "members":{ - "EnableWorkDocs":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the directory is enabled for Amazon WorkDocs.

" - }, - "EnableInternetAccess":{ - "shape":"BooleanObject", - "documentation":"

The public IP address to attach to all WorkSpaces that are created or rebuilt.

" - }, - "DefaultOu":{ - "shape":"DefaultOu", - "documentation":"

The organizational unit (OU) in the directory for the WorkSpace machine accounts.

" - }, - "CustomSecurityGroupId":{ - "shape":"SecurityGroupId", - "documentation":"

The identifier of any security groups to apply to WorkSpaces when they are created.

" - }, - "UserEnabledAsLocalAdministrator":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the WorkSpace user is an administrator on the WorkSpace.

" - } - }, - "documentation":"

Information about defaults used to create a WorkSpace.

" - }, - "DeleteIpGroupRequest":{ - "type":"structure", - "required":["GroupId"], - "members":{ - "GroupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the IP access control group.

" - } - } - }, - "DeleteIpGroupResult":{ - "type":"structure", - "members":{ - } - }, - "DeleteTagsRequest":{ - "type":"structure", - "required":[ - "ResourceId", - "TagKeys" - ], - "members":{ - "ResourceId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

" - }, - "TagKeys":{ - "shape":"TagKeyList", - "documentation":"

The tag keys.

" - } - } - }, - "DeleteTagsResult":{ - "type":"structure", - "members":{ - } - }, - "DescribeIpGroupsRequest":{ - "type":"structure", - "members":{ - "GroupIds":{ - "shape":"IpGroupIdList", - "documentation":"

The IDs of one or more IP access control groups.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" - }, - "MaxResults":{ - "shape":"Limit", - "documentation":"

The maximum number of items to return.

" - } - } - }, - "DescribeIpGroupsResult":{ - "type":"structure", - "members":{ - "Result":{ - "shape":"WorkspacesIpGroupsList", - "documentation":"

Information about the IP access control groups.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token to use to retrieve the next set of results, or null if there are no more results available. This token is valid for one day and must be used within that time frame.

" - } - } - }, - "DescribeTagsRequest":{ - "type":"structure", - "required":["ResourceId"], - "members":{ - "ResourceId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the WorkSpace. To find this ID, use DescribeWorkspaces.

" - } - } - }, - "DescribeTagsResult":{ - "type":"structure", - "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

The tags.

" - } - } - }, - "DescribeWorkspaceBundlesRequest":{ - "type":"structure", - "members":{ - "BundleIds":{ - "shape":"BundleIdList", - "documentation":"

The IDs of the bundles. This parameter cannot be combined with any other filter.

" - }, - "Owner":{ - "shape":"BundleOwner", - "documentation":"

The owner of the bundles. This parameter cannot be combined with any other filter.

Specify AMAZON to describe the bundles provided by AWS or null to describe the bundles that belong to your account.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" - } - } - }, - "DescribeWorkspaceBundlesResult":{ - "type":"structure", - "members":{ - "Bundles":{ - "shape":"BundleList", - "documentation":"

Information about the bundles.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token to use to retrieve the next set of results, or null if there are no more results available. This token is valid for one day and must be used within that time frame.

" - } - } - }, - "DescribeWorkspaceDirectoriesRequest":{ - "type":"structure", - "members":{ - "DirectoryIds":{ - "shape":"DirectoryIdList", - "documentation":"

The identifiers of the directories. If the value is null, all directories are retrieved.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" - } - } - }, - "DescribeWorkspaceDirectoriesResult":{ - "type":"structure", - "members":{ - "Directories":{ - "shape":"DirectoryList", - "documentation":"

Information about the directories.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token to use to retrieve the next set of results, or null if there are no more results available. This token is valid for one day and must be used within that time frame.

" - } - } - }, - "DescribeWorkspacesConnectionStatusRequest":{ - "type":"structure", - "members":{ - "WorkspaceIds":{ - "shape":"WorkspaceIdList", - "documentation":"

The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" - } - } - }, - "DescribeWorkspacesConnectionStatusResult":{ - "type":"structure", - "members":{ - "WorkspacesConnectionStatus":{ - "shape":"WorkspaceConnectionStatusList", - "documentation":"

Information about the connection status of the WorkSpace.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token to use to retrieve the next set of results, or null if there are no more results available.

" - } - } - }, - "DescribeWorkspacesRequest":{ - "type":"structure", - "members":{ - "WorkspaceIds":{ - "shape":"WorkspaceIdList", - "documentation":"

The IDs of the WorkSpaces. This parameter cannot be combined with any other filter.

Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

" - }, - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The ID of the directory. In addition, you can optionally specify a specific directory user (see UserName). This parameter cannot be combined with any other filter.

" - }, - "UserName":{ - "shape":"UserName", - "documentation":"

The name of the directory user. You must specify this parameter with DirectoryId.

" - }, - "BundleId":{ - "shape":"BundleId", - "documentation":"

The ID of the bundle. All WorkSpaces that are created from this bundle are retrieved. This parameter cannot be combined with any other filter.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of items to return.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token for the next set of results. (You received this token from a previous call.)

" - } - } - }, - "DescribeWorkspacesResult":{ - "type":"structure", - "members":{ - "Workspaces":{ - "shape":"WorkspaceList", - "documentation":"

Information about the WorkSpaces.

Because CreateWorkspaces is an asynchronous operation, some of the returned information could be incomplete.

" - }, - "NextToken":{ - "shape":"PaginationToken", - "documentation":"

The token to use to retrieve the next set of results, or null if there are no more results available. This token is valid for one day and must be used within that time frame.

" - } - } - }, - "Description":{"type":"string"}, - "DirectoryId":{ - "type":"string", - "pattern":"^d-[0-9a-f]{8,63}$" - }, - "DirectoryIdList":{ - "type":"list", - "member":{"shape":"DirectoryId"}, - "max":25, - "min":1 - }, - "DirectoryList":{ - "type":"list", - "member":{"shape":"WorkspaceDirectory"} - }, - "DirectoryName":{"type":"string"}, - "DisassociateIpGroupsRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "GroupIds" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The ID of the directory.

" - }, - "GroupIds":{ - "shape":"IpGroupIdList", - "documentation":"

The IDs of one or more IP access control groups.

" - } - } - }, - "DisassociateIpGroupsResult":{ - "type":"structure", - "members":{ - } - }, - "DnsIpAddresses":{ - "type":"list", - "member":{"shape":"IpAddress"} - }, - "ErrorType":{"type":"string"}, - "ExceptionMessage":{"type":"string"}, - "FailedCreateWorkspaceRequest":{ - "type":"structure", - "members":{ - "WorkspaceRequest":{ - "shape":"WorkspaceRequest", - "documentation":"

Information about the WorkSpace.

" - }, - "ErrorCode":{ - "shape":"ErrorType", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"Description", - "documentation":"

The textual error message.

" - } - }, - "documentation":"

Information about a WorkSpace that could not be created.

" - }, - "FailedCreateWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedCreateWorkspaceRequest"} - }, - "FailedRebootWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedWorkspaceChangeRequest"} - }, - "FailedRebuildWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedWorkspaceChangeRequest"} - }, - "FailedStartWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedWorkspaceChangeRequest"} - }, - "FailedStopWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedWorkspaceChangeRequest"} - }, - "FailedTerminateWorkspaceRequests":{ - "type":"list", - "member":{"shape":"FailedWorkspaceChangeRequest"} - }, - "FailedWorkspaceChangeRequest":{ - "type":"structure", - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The identifier of the WorkSpace.

" - }, - "ErrorCode":{ - "shape":"ErrorType", - "documentation":"

The error code.

" - }, - "ErrorMessage":{ - "shape":"Description", - "documentation":"

The textual error message.

" - } - }, - "documentation":"

Information about a WorkSpace that could not be rebooted (RebootWorkspaces), rebuilt (RebuildWorkspaces), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

" - }, - "InvalidParameterValuesException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The exception error message.

" - } - }, - "documentation":"

One or more parameter values are not valid.

", - "exception":true - }, - "InvalidResourceStateException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The state of the resource is not valid for this operation.

", - "exception":true - }, - "IpAddress":{"type":"string"}, - "IpGroupDesc":{"type":"string"}, - "IpGroupId":{ - "type":"string", - "pattern":"wsipg-[0-9a-z]{8,63}$" - }, - "IpGroupIdList":{ - "type":"list", - "member":{"shape":"IpGroupId"} - }, - "IpGroupName":{"type":"string"}, - "IpRevokedRuleList":{ - "type":"list", - "member":{"shape":"IpRule"} - }, - "IpRule":{"type":"string"}, - "IpRuleDesc":{"type":"string"}, - "IpRuleItem":{ - "type":"structure", - "members":{ - "ipRule":{ - "shape":"IpRule", - "documentation":"

The IP address range, in CIDR notation.

" - }, - "ruleDesc":{ - "shape":"IpRuleDesc", - "documentation":"

The description.

" - } - }, - "documentation":"

Information about a rule for an IP access control group.

" - }, - "IpRuleList":{ - "type":"list", - "member":{"shape":"IpRuleItem"} - }, - "Limit":{ - "type":"integer", - "max":25, - "min":1 - }, - "ModificationResourceEnum":{ - "type":"string", - "enum":[ - "ROOT_VOLUME", - "USER_VOLUME", - "COMPUTE_TYPE" - ] - }, - "ModificationState":{ - "type":"structure", - "members":{ - "Resource":{ - "shape":"ModificationResourceEnum", - "documentation":"

The resource.

" - }, - "State":{ - "shape":"ModificationStateEnum", - "documentation":"

The modification state.

" - } - }, - "documentation":"

Information about a WorkSpace modification.

" - }, - "ModificationStateEnum":{ - "type":"string", - "enum":[ - "UPDATE_INITIATED", - "UPDATE_IN_PROGRESS" - ] - }, - "ModificationStateList":{ - "type":"list", - "member":{"shape":"ModificationState"} - }, - "ModifyWorkspacePropertiesRequest":{ - "type":"structure", - "required":[ - "WorkspaceId", - "WorkspaceProperties" - ], - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - }, - "WorkspaceProperties":{ - "shape":"WorkspaceProperties", - "documentation":"

The properties of the WorkSpace.

" - } - } - }, - "ModifyWorkspacePropertiesResult":{ - "type":"structure", - "members":{ - } - }, - "ModifyWorkspaceStateRequest":{ - "type":"structure", - "required":[ - "WorkspaceId", - "WorkspaceState" - ], - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - }, - "WorkspaceState":{ - "shape":"TargetWorkspaceState", - "documentation":"

The WorkSpace state.

" - } - } - }, - "ModifyWorkspaceStateResult":{ - "type":"structure", - "members":{ - } - }, - "NonEmptyString":{ - "type":"string", - "min":1 - }, - "OperationInProgressException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The properties of this WorkSpace are currently being modified. Try again in a moment.

", - "exception":true - }, - "OperationNotSupportedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

This operation is not supported.

", - "exception":true - }, - "PaginationToken":{ - "type":"string", - "max":63, - "min":1 - }, - "RebootRequest":{ - "type":"structure", - "required":["WorkspaceId"], - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - } - }, - "documentation":"

Information used to reboot a WorkSpace.

" - }, - "RebootWorkspaceRequests":{ - "type":"list", - "member":{"shape":"RebootRequest"}, - "max":25, - "min":1 - }, - "RebootWorkspacesRequest":{ - "type":"structure", - "required":["RebootWorkspaceRequests"], - "members":{ - "RebootWorkspaceRequests":{ - "shape":"RebootWorkspaceRequests", - "documentation":"

The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.

" - } - } - }, - "RebootWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedRebootWorkspaceRequests", - "documentation":"

Information about the WorkSpaces that could not be rebooted.

" - } - } - }, - "RebuildRequest":{ - "type":"structure", - "required":["WorkspaceId"], - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - } - }, - "documentation":"

Information used to rebuild a WorkSpace.

" - }, - "RebuildWorkspaceRequests":{ - "type":"list", - "member":{"shape":"RebuildRequest"}, - "max":1, - "min":1 - }, - "RebuildWorkspacesRequest":{ - "type":"structure", - "required":["RebuildWorkspaceRequests"], - "members":{ - "RebuildWorkspaceRequests":{ - "shape":"RebuildWorkspaceRequests", - "documentation":"

The WorkSpace to rebuild. You can specify a single WorkSpace.

" - } - } - }, - "RebuildWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedRebuildWorkspaceRequests", - "documentation":"

Information about the WorkSpace if it could not be rebuilt.

" - } - } - }, - "RegistrationCode":{ - "type":"string", - "max":20, - "min":1 - }, - "ResourceAlreadyExistsException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The specified resource already exists.

", - "exception":true - }, - "ResourceAssociatedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The resource is associated with a directory.

", - "exception":true - }, - "ResourceCreationFailedException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The resource could not be created.

", - "exception":true - }, - "ResourceLimitExceededException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The exception error message.

" - } - }, - "documentation":"

Your resource limits have been exceeded.

", - "exception":true - }, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The resource could not be found.

" - }, - "ResourceId":{ - "shape":"NonEmptyString", - "documentation":"

The ID of the resource that could not be found.

" - } - }, - "documentation":"

The resource could not be found.

", - "exception":true - }, - "ResourceUnavailableException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The exception error message.

" - }, - "ResourceId":{ - "shape":"NonEmptyString", - "documentation":"

The identifier of the resource that is not available.

" - } - }, - "documentation":"

The specified resource is not available.

", - "exception":true - }, - "RevokeIpRulesRequest":{ - "type":"structure", - "required":[ - "GroupId", - "UserRules" - ], - "members":{ - "GroupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the group.

" - }, - "UserRules":{ - "shape":"IpRevokedRuleList", - "documentation":"

The rules to remove from the group.

" - } - } - }, - "RevokeIpRulesResult":{ - "type":"structure", - "members":{ - } - }, - "RootStorage":{ - "type":"structure", - "members":{ - "Capacity":{ - "shape":"NonEmptyString", - "documentation":"

The size of the root volume.

" - } - }, - "documentation":"

Information about the root volume for a WorkSpace bundle.

" - }, - "RootVolumeSizeGib":{"type":"integer"}, - "RunningMode":{ - "type":"string", - "enum":[ - "AUTO_STOP", - "ALWAYS_ON" - ] - }, - "RunningModeAutoStopTimeoutInMinutes":{"type":"integer"}, - "SecurityGroupId":{ - "type":"string", - "pattern":"^(sg-[0-9a-f]{8})$" - }, - "StartRequest":{ - "type":"structure", - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - } - }, - "documentation":"

Information used to start a WorkSpace.

" - }, - "StartWorkspaceRequests":{ - "type":"list", - "member":{"shape":"StartRequest"}, - "max":25, - "min":1 - }, - "StartWorkspacesRequest":{ - "type":"structure", - "required":["StartWorkspaceRequests"], - "members":{ - "StartWorkspaceRequests":{ - "shape":"StartWorkspaceRequests", - "documentation":"

The WorkSpaces to start. You can specify up to 25 WorkSpaces.

" - } - } - }, - "StartWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedStartWorkspaceRequests", - "documentation":"

Information about the WorkSpaces that could not be started.

" - } - } - }, - "StopRequest":{ - "type":"structure", - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - } - }, - "documentation":"

Information used to stop a WorkSpace.

" - }, - "StopWorkspaceRequests":{ - "type":"list", - "member":{"shape":"StopRequest"}, - "max":25, - "min":1 - }, - "StopWorkspacesRequest":{ - "type":"structure", - "required":["StopWorkspaceRequests"], - "members":{ - "StopWorkspaceRequests":{ - "shape":"StopWorkspaceRequests", - "documentation":"

The WorkSpaces to stop. You can specify up to 25 WorkSpaces.

" - } - } - }, - "StopWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedStopWorkspaceRequests", - "documentation":"

Information about the WorkSpaces that could not be stopped.

" - } - } - }, - "SubnetId":{ - "type":"string", - "pattern":"^(subnet-[0-9a-f]{8})$" - }, - "SubnetIds":{ - "type":"list", - "member":{"shape":"SubnetId"} - }, - "Tag":{ - "type":"structure", - "required":["Key"], - "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

The key of the tag.

" - }, - "Value":{ - "shape":"TagValue", - "documentation":"

The value of the tag.

" - } - }, - "documentation":"

Information about a tag.

" - }, - "TagKey":{ - "type":"string", - "max":127, - "min":1 - }, - "TagKeyList":{ - "type":"list", - "member":{"shape":"NonEmptyString"} - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{ - "type":"string", - "max":255 - }, - "TargetWorkspaceState":{ - "type":"string", - "enum":[ - "AVAILABLE", - "ADMIN_MAINTENANCE" - ] - }, - "TerminateRequest":{ - "type":"structure", - "required":["WorkspaceId"], - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - } - }, - "documentation":"

Information used to terminate a WorkSpace.

" - }, - "TerminateWorkspaceRequests":{ - "type":"list", - "member":{"shape":"TerminateRequest"}, - "max":25, - "min":1 - }, - "TerminateWorkspacesRequest":{ - "type":"structure", - "required":["TerminateWorkspaceRequests"], - "members":{ - "TerminateWorkspaceRequests":{ - "shape":"TerminateWorkspaceRequests", - "documentation":"

The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.

" - } - } - }, - "TerminateWorkspacesResult":{ - "type":"structure", - "members":{ - "FailedRequests":{ - "shape":"FailedTerminateWorkspaceRequests", - "documentation":"

Information about the WorkSpaces that could not be terminated.

" - } - } - }, - "Timestamp":{"type":"timestamp"}, - "UnsupportedWorkspaceConfigurationException":{ - "type":"structure", - "members":{ - "message":{"shape":"ExceptionMessage"} - }, - "documentation":"

The configuration of this WorkSpace is not supported for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

", - "exception":true - }, - "UpdateRulesOfIpGroupRequest":{ - "type":"structure", - "required":[ - "GroupId", - "UserRules" - ], - "members":{ - "GroupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the group.

" - }, - "UserRules":{ - "shape":"IpRuleList", - "documentation":"

One or more rules.

" - } - } - }, - "UpdateRulesOfIpGroupResult":{ - "type":"structure", - "members":{ - } - }, - "UserName":{ - "type":"string", - "max":63, - "min":1 - }, - "UserStorage":{ - "type":"structure", - "members":{ - "Capacity":{ - "shape":"NonEmptyString", - "documentation":"

The size of the user storage.

" - } - }, - "documentation":"

Information about the user storage for a WorkSpace bundle.

" - }, - "UserVolumeSizeGib":{"type":"integer"}, - "VolumeEncryptionKey":{"type":"string"}, - "Workspace":{ - "type":"structure", - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The identifier of the WorkSpace.

" - }, - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the AWS Directory Service directory for the WorkSpace.

" - }, - "UserName":{ - "shape":"UserName", - "documentation":"

The user for the WorkSpace.

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

The IP address of the WorkSpace.

" - }, - "State":{ - "shape":"WorkspaceState", - "documentation":"

The operational state of the WorkSpace.

" - }, - "BundleId":{ - "shape":"BundleId", - "documentation":"

The identifier of the bundle used to create the WorkSpace.

" - }, - "SubnetId":{ - "shape":"SubnetId", - "documentation":"

The identifier of the subnet for the WorkSpace.

" - }, - "ErrorMessage":{ - "shape":"Description", - "documentation":"

If the WorkSpace could not be created, contains a textual error message that describes the failure.

" - }, - "ErrorCode":{ - "shape":"WorkspaceErrorCode", - "documentation":"

If the WorkSpace could not be created, contains the error code.

" - }, - "ComputerName":{ - "shape":"ComputerName", - "documentation":"

The name of the WorkSpace, as seen by the operating system.

" - }, - "VolumeEncryptionKey":{ - "shape":"VolumeEncryptionKey", - "documentation":"

The KMS key used to encrypt data stored on your WorkSpace.

" - }, - "UserVolumeEncryptionEnabled":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the data stored on the user volume is encrypted.

" - }, - "RootVolumeEncryptionEnabled":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the data stored on the root volume is encrypted.

" - }, - "WorkspaceProperties":{ - "shape":"WorkspaceProperties", - "documentation":"

The properties of the WorkSpace.

" - }, - "ModificationStates":{ - "shape":"ModificationStateList", - "documentation":"

The modification states of the WorkSpace.

" - } - }, - "documentation":"

Information about a WorkSpace.

" - }, - "WorkspaceBundle":{ - "type":"structure", - "members":{ - "BundleId":{ - "shape":"BundleId", - "documentation":"

The bundle identifier.

" - }, - "Name":{ - "shape":"NonEmptyString", - "documentation":"

The name of the bundle.

" - }, - "Owner":{ - "shape":"BundleOwner", - "documentation":"

The owner of the bundle. This is the account identifier of the owner, or AMAZON if the bundle is provided by AWS.

" - }, - "Description":{ - "shape":"Description", - "documentation":"

A description.

" - }, - "RootStorage":{ - "shape":"RootStorage", - "documentation":"

The size of the root volume.

" - }, - "UserStorage":{ - "shape":"UserStorage", - "documentation":"

The size of the user storage.

" - }, - "ComputeType":{ - "shape":"ComputeType", - "documentation":"

The compute type. For more information, see Amazon WorkSpaces Bundles.

" - } - }, - "documentation":"

Information about a WorkSpace bundle.

" - }, - "WorkspaceConnectionStatus":{ - "type":"structure", - "members":{ - "WorkspaceId":{ - "shape":"WorkspaceId", - "documentation":"

The ID of the WorkSpace.

" - }, - "ConnectionState":{ - "shape":"ConnectionState", - "documentation":"

The connection state of the WorkSpace. The connection state is unknown if the WorkSpace is stopped.

" - }, - "ConnectionStateCheckTimestamp":{ - "shape":"Timestamp", - "documentation":"

The timestamp of the connection state check.

" - }, - "LastKnownUserConnectionTimestamp":{ - "shape":"Timestamp", - "documentation":"

The timestamp of the last known user connection.

" - } - }, - "documentation":"

Describes the connection status of a WorkSpace.

" - }, - "WorkspaceConnectionStatusList":{ - "type":"list", - "member":{"shape":"WorkspaceConnectionStatus"} - }, - "WorkspaceDirectory":{ - "type":"structure", - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The directory identifier.

" - }, - "Alias":{ - "shape":"Alias", - "documentation":"

The directory alias.

" - }, - "DirectoryName":{ - "shape":"DirectoryName", - "documentation":"

The name of the directory.

" - }, - "RegistrationCode":{ - "shape":"RegistrationCode", - "documentation":"

The registration code for the directory. This is the code that users enter in their Amazon WorkSpaces client application to connect to the directory.

" - }, - "SubnetIds":{ - "shape":"SubnetIds", - "documentation":"

The identifiers of the subnets used with the directory.

" - }, - "DnsIpAddresses":{ - "shape":"DnsIpAddresses", - "documentation":"

The IP addresses of the DNS servers for the directory.

" - }, - "CustomerUserName":{ - "shape":"UserName", - "documentation":"

The user name for the service account.

" - }, - "IamRoleId":{ - "shape":"ARN", - "documentation":"

The identifier of the IAM role. This is the role that allows Amazon WorkSpaces to make calls to other services, such as Amazon EC2, on your behalf.

" - }, - "DirectoryType":{ - "shape":"WorkspaceDirectoryType", - "documentation":"

The directory type.

" - }, - "WorkspaceSecurityGroupId":{ - "shape":"SecurityGroupId", - "documentation":"

The identifier of the security group that is assigned to new WorkSpaces.

" - }, - "State":{ - "shape":"WorkspaceDirectoryState", - "documentation":"

The state of the directory's registration with Amazon WorkSpaces

" - }, - "WorkspaceCreationProperties":{ - "shape":"DefaultWorkspaceCreationProperties", - "documentation":"

The default creation properties for all WorkSpaces in the directory.

" - }, - "ipGroupIds":{ - "shape":"IpGroupIdList", - "documentation":"

The identifiers of the IP access control groups associated with the directory.

" - } - }, - "documentation":"

Information about an AWS Directory Service directory for use with Amazon WorkSpaces.

" - }, - "WorkspaceDirectoryState":{ - "type":"string", - "enum":[ - "REGISTERING", - "REGISTERED", - "DEREGISTERING", - "DEREGISTERED", - "ERROR" - ] - }, - "WorkspaceDirectoryType":{ - "type":"string", - "enum":[ - "SIMPLE_AD", - "AD_CONNECTOR" - ] - }, - "WorkspaceErrorCode":{"type":"string"}, - "WorkspaceId":{ - "type":"string", - "pattern":"^ws-[0-9a-z]{8,63}$" - }, - "WorkspaceIdList":{ - "type":"list", - "member":{"shape":"WorkspaceId"}, - "max":25, - "min":1 - }, - "WorkspaceList":{ - "type":"list", - "member":{"shape":"Workspace"} - }, - "WorkspaceProperties":{ - "type":"structure", - "members":{ - "RunningMode":{ - "shape":"RunningMode", - "documentation":"

The running mode. For more information, see Manage the WorkSpace Running Mode.

" - }, - "RunningModeAutoStopTimeoutInMinutes":{ - "shape":"RunningModeAutoStopTimeoutInMinutes", - "documentation":"

The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

" - }, - "RootVolumeSizeGib":{ - "shape":"RootVolumeSizeGib", - "documentation":"

The size of the root volume.

" - }, - "UserVolumeSizeGib":{ - "shape":"UserVolumeSizeGib", - "documentation":"

The size of the user storage.

" - }, - "ComputeTypeName":{ - "shape":"Compute", - "documentation":"

The compute type. For more information, see Amazon WorkSpaces Bundles.

" - } - }, - "documentation":"

Information about a WorkSpace.

" - }, - "WorkspaceRequest":{ - "type":"structure", - "required":[ - "DirectoryId", - "UserName", - "BundleId" - ], - "members":{ - "DirectoryId":{ - "shape":"DirectoryId", - "documentation":"

The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

" - }, - "UserName":{ - "shape":"UserName", - "documentation":"

The username of the user for the WorkSpace. This username must exist in the AWS Directory Service directory for the WorkSpace.

" - }, - "BundleId":{ - "shape":"BundleId", - "documentation":"

The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

" - }, - "VolumeEncryptionKey":{ - "shape":"VolumeEncryptionKey", - "documentation":"

The KMS key used to encrypt data stored on your WorkSpace.

" - }, - "UserVolumeEncryptionEnabled":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the data stored on the user volume is encrypted.

" - }, - "RootVolumeEncryptionEnabled":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether the data stored on the root volume is encrypted.

" - }, - "WorkspaceProperties":{ - "shape":"WorkspaceProperties", - "documentation":"

The WorkSpace properties.

" - }, - "Tags":{ - "shape":"TagList", - "documentation":"

The tags for the WorkSpace.

" - } - }, - "documentation":"

Information used to create a WorkSpace.

" - }, - "WorkspaceRequestList":{ - "type":"list", - "member":{"shape":"WorkspaceRequest"}, - "max":25, - "min":1 - }, - "WorkspaceState":{ - "type":"string", - "enum":[ - "PENDING", - "AVAILABLE", - "IMPAIRED", - "UNHEALTHY", - "REBOOTING", - "STARTING", - "REBUILDING", - "MAINTENANCE", - "ADMIN_MAINTENANCE", - "TERMINATING", - "TERMINATED", - "SUSPENDED", - "UPDATING", - "STOPPING", - "STOPPED", - "ERROR" - ] - }, - "WorkspacesIpGroup":{ - "type":"structure", - "members":{ - "groupId":{ - "shape":"IpGroupId", - "documentation":"

The ID of the group.

" - }, - "groupName":{ - "shape":"IpGroupName", - "documentation":"

The name of the group.

" - }, - "groupDesc":{ - "shape":"IpGroupDesc", - "documentation":"

The description of the group.

" - }, - "userRules":{ - "shape":"IpRuleList", - "documentation":"

The rules.

" - } - }, - "documentation":"

Information about an IP access control group.

" - }, - "WorkspacesIpGroupsList":{ - "type":"list", - "member":{"shape":"WorkspacesIpGroup"} - } - }, - "documentation":"Amazon WorkSpaces Service

Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows desktops for your users.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/examples-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/examples-1.json deleted file mode 100644 index 0ea7e3b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/examples-1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "1.0", - "examples": { - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/paginators-1.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/paginators-1.json deleted file mode 100644 index 00d9811c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/paginators-1.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "pagination": { - "BatchGetTraces": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Traces" - }, - "GetServiceGraph": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Services" - }, - "GetTraceGraph": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "Services" - }, - "GetTraceSummaries": { - "input_token": "NextToken", - "output_token": "NextToken", - "result_key": "TraceSummaries" - } - } -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/service-2.json b/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/service-2.json deleted file mode 100644 index 9ac5bc9a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/data/xray/2016-04-12/service-2.json +++ /dev/null @@ -1,1556 +0,0 @@ -{ - "version":"2.0", - "metadata":{ - "apiVersion":"2016-04-12", - "endpointPrefix":"xray", - "protocol":"rest-json", - "serviceFullName":"AWS X-Ray", - "serviceId":"XRay", - "signatureVersion":"v4", - "uid":"xray-2016-04-12" - }, - "operations":{ - "BatchGetTraces":{ - "name":"BatchGetTraces", - "http":{ - "method":"POST", - "requestUri":"/Traces" - }, - "input":{"shape":"BatchGetTracesRequest"}, - "output":{"shape":"BatchGetTracesResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs.

" - }, - "CreateSamplingRule":{ - "name":"CreateSamplingRule", - "http":{ - "method":"POST", - "requestUri":"/CreateSamplingRule" - }, - "input":{"shape":"CreateSamplingRuleRequest"}, - "output":{"shape":"CreateSamplingRuleResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"}, - {"shape":"RuleLimitExceededException"} - ], - "documentation":"

Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.

" - }, - "DeleteSamplingRule":{ - "name":"DeleteSamplingRule", - "http":{ - "method":"POST", - "requestUri":"/DeleteSamplingRule" - }, - "input":{"shape":"DeleteSamplingRuleRequest"}, - "output":{"shape":"DeleteSamplingRuleResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Deletes a sampling rule.

" - }, - "GetEncryptionConfig":{ - "name":"GetEncryptionConfig", - "http":{ - "method":"POST", - "requestUri":"/EncryptionConfig" - }, - "input":{"shape":"GetEncryptionConfigRequest"}, - "output":{"shape":"GetEncryptionConfigResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves the current encryption configuration for X-Ray data.

" - }, - "GetSamplingRules":{ - "name":"GetSamplingRules", - "http":{ - "method":"POST", - "requestUri":"/GetSamplingRules" - }, - "input":{"shape":"GetSamplingRulesRequest"}, - "output":{"shape":"GetSamplingRulesResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves all sampling rules.

" - }, - "GetSamplingStatisticSummaries":{ - "name":"GetSamplingStatisticSummaries", - "http":{ - "method":"POST", - "requestUri":"/SamplingStatisticSummaries" - }, - "input":{"shape":"GetSamplingStatisticSummariesRequest"}, - "output":{"shape":"GetSamplingStatisticSummariesResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves information about recent sampling results for all sampling rules.

" - }, - "GetSamplingTargets":{ - "name":"GetSamplingTargets", - "http":{ - "method":"POST", - "requestUri":"/SamplingTargets" - }, - "input":{"shape":"GetSamplingTargetsRequest"}, - "output":{"shape":"GetSamplingTargetsResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Requests a sampling quota for rules that the service is using to sample requests.

" - }, - "GetServiceGraph":{ - "name":"GetServiceGraph", - "http":{ - "method":"POST", - "requestUri":"/ServiceGraph" - }, - "input":{"shape":"GetServiceGraphRequest"}, - "output":{"shape":"GetServiceGraphResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.

" - }, - "GetTraceGraph":{ - "name":"GetTraceGraph", - "http":{ - "method":"POST", - "requestUri":"/TraceGraph" - }, - "input":{"shape":"GetTraceGraphRequest"}, - "output":{"shape":"GetTraceGraphResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves a service graph for one or more specific trace IDs.

" - }, - "GetTraceSummaries":{ - "name":"GetTraceSummaries", - "http":{ - "method":"POST", - "requestUri":"/TraceSummaries" - }, - "input":{"shape":"GetTraceSummariesRequest"}, - "output":{"shape":"GetTraceSummariesResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Retrieves IDs and 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.

" - }, - "PutEncryptionConfig":{ - "name":"PutEncryptionConfig", - "http":{ - "method":"POST", - "requestUri":"/PutEncryptionConfig" - }, - "input":{"shape":"PutEncryptionConfigRequest"}, - "output":{"shape":"PutEncryptionConfigResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Updates the encryption configuration for X-Ray data.

" - }, - "PutTelemetryRecords":{ - "name":"PutTelemetryRecords", - "http":{ - "method":"POST", - "requestUri":"/TelemetryRecords" - }, - "input":{"shape":"PutTelemetryRecordsRequest"}, - "output":{"shape":"PutTelemetryRecordsResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Used by the AWS X-Ray daemon to upload telemetry.

" - }, - "PutTraceSegments":{ - "name":"PutTraceSegments", - "http":{ - "method":"POST", - "requestUri":"/TraceSegments" - }, - "input":{"shape":"PutTraceSegmentsRequest"}, - "output":{"shape":"PutTraceSegmentsResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

Required Segment Document Fields

  • name - The name of the service that handled the request.

  • id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits.

  • trace_id - A unique identifier that connects all segments and subsegments originating from a single client request.

  • start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9.

  • end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress.

  • in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment.

A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

Trace ID Format

  • The version number, i.e. 1.

  • The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal.

  • A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.

" - }, - "UpdateSamplingRule":{ - "name":"UpdateSamplingRule", - "http":{ - "method":"POST", - "requestUri":"/UpdateSamplingRule" - }, - "input":{"shape":"UpdateSamplingRuleRequest"}, - "output":{"shape":"UpdateSamplingRuleResult"}, - "errors":[ - {"shape":"InvalidRequestException"}, - {"shape":"ThrottledException"} - ], - "documentation":"

Modifies a sampling rule's configuration.

" - } - }, - "shapes":{ - "Alias":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

The canonical name of the alias.

" - }, - "Names":{ - "shape":"AliasNames", - "documentation":"

A list of names for the alias, including the canonical name.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of the alias.

" - } - }, - "documentation":"

An alias for an edge.

" - }, - "AliasList":{ - "type":"list", - "member":{"shape":"Alias"} - }, - "AliasNames":{ - "type":"list", - "member":{"shape":"String"} - }, - "AnnotationKey":{"type":"string"}, - "AnnotationValue":{ - "type":"structure", - "members":{ - "NumberValue":{ - "shape":"NullableDouble", - "documentation":"

Value for a Number annotation.

" - }, - "BooleanValue":{ - "shape":"NullableBoolean", - "documentation":"

Value for a Boolean annotation.

" - }, - "StringValue":{ - "shape":"String", - "documentation":"

Value for a String annotation.

" - } - }, - "documentation":"

Value of a segment annotation. Has one of three value types: Number, Boolean or String.

" - }, - "Annotations":{ - "type":"map", - "key":{"shape":"AnnotationKey"}, - "value":{"shape":"ValuesWithServiceIds"} - }, - "AttributeKey":{ - "type":"string", - "max":32, - "min":1 - }, - "AttributeMap":{ - "type":"map", - "key":{"shape":"AttributeKey"}, - "value":{"shape":"AttributeValue"}, - "max":5 - }, - "AttributeValue":{ - "type":"string", - "max":32, - "min":1 - }, - "BackendConnectionErrors":{ - "type":"structure", - "members":{ - "TimeoutCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "ConnectionRefusedCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "HTTPCode4XXCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "HTTPCode5XXCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "UnknownHostCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "OtherCount":{ - "shape":"NullableInteger", - "documentation":"

" - } - }, - "documentation":"

" - }, - "BatchGetTracesRequest":{ - "type":"structure", - "required":["TraceIds"], - "members":{ - "TraceIds":{ - "shape":"TraceIdList", - "documentation":"

Specify the trace IDs of requests for which to retrieve segments.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "BatchGetTracesResult":{ - "type":"structure", - "members":{ - "Traces":{ - "shape":"TraceList", - "documentation":"

Full traces for the specified requests.

" - }, - "UnprocessedTraceIds":{ - "shape":"UnprocessedTraceIdList", - "documentation":"

Trace IDs of requests that haven't been processed.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "BorrowCount":{ - "type":"integer", - "min":0 - }, - "ClientID":{ - "type":"string", - "max":24, - "min":24 - }, - "CreateSamplingRuleRequest":{ - "type":"structure", - "required":["SamplingRule"], - "members":{ - "SamplingRule":{ - "shape":"SamplingRule", - "documentation":"

The rule definition.

" - } - } - }, - "CreateSamplingRuleResult":{ - "type":"structure", - "members":{ - "SamplingRuleRecord":{ - "shape":"SamplingRuleRecord", - "documentation":"

The saved rule definition and metadata.

" - } - } - }, - "DeleteSamplingRuleRequest":{ - "type":"structure", - "members":{ - "RuleName":{ - "shape":"String", - "documentation":"

The name of the sampling rule. Specify a rule by either name or ARN, but not both.

" - }, - "RuleARN":{ - "shape":"String", - "documentation":"

The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

" - } - } - }, - "DeleteSamplingRuleResult":{ - "type":"structure", - "members":{ - "SamplingRuleRecord":{ - "shape":"SamplingRuleRecord", - "documentation":"

The deleted rule definition and metadata.

" - } - } - }, - "Double":{"type":"double"}, - "EC2InstanceId":{ - "type":"string", - "max":20 - }, - "Edge":{ - "type":"structure", - "members":{ - "ReferenceId":{ - "shape":"NullableInteger", - "documentation":"

Identifier of the edge. Unique within a service map.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start time of the first segment on the edge.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end time of the last segment on the edge.

" - }, - "SummaryStatistics":{ - "shape":"EdgeStatistics", - "documentation":"

Response statistics for segments on the edge.

" - }, - "ResponseTimeHistogram":{ - "shape":"Histogram", - "documentation":"

A histogram that maps the spread of client response times on an edge.

" - }, - "Aliases":{ - "shape":"AliasList", - "documentation":"

Aliases for the edge.

" - } - }, - "documentation":"

Information about a connection between two services.

" - }, - "EdgeList":{ - "type":"list", - "member":{"shape":"Edge"} - }, - "EdgeStatistics":{ - "type":"structure", - "members":{ - "OkCount":{ - "shape":"NullableLong", - "documentation":"

The number of requests that completed with a 2xx Success status code.

" - }, - "ErrorStatistics":{ - "shape":"ErrorStatistics", - "documentation":"

Information about requests that failed with a 4xx Client Error status code.

" - }, - "FaultStatistics":{ - "shape":"FaultStatistics", - "documentation":"

Information about requests that failed with a 5xx Server Error status code.

" - }, - "TotalCount":{ - "shape":"NullableLong", - "documentation":"

The total number of completed requests.

" - }, - "TotalResponseTime":{ - "shape":"NullableDouble", - "documentation":"

The aggregate response time of completed requests.

" - } - }, - "documentation":"

Response statistics for an edge.

" - }, - "EncryptionConfig":{ - "type":"structure", - "members":{ - "KeyId":{ - "shape":"String", - "documentation":"

The ID of the customer master key (CMK) used for encryption, if applicable.

" - }, - "Status":{ - "shape":"EncryptionStatus", - "documentation":"

The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.

" - }, - "Type":{ - "shape":"EncryptionType", - "documentation":"

The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption.

" - } - }, - "documentation":"

A configuration document that specifies encryption configuration settings.

" - }, - "EncryptionKeyId":{ - "type":"string", - "max":3000, - "min":1 - }, - "EncryptionStatus":{ - "type":"string", - "enum":[ - "UPDATING", - "ACTIVE" - ] - }, - "EncryptionType":{ - "type":"string", - "enum":[ - "NONE", - "KMS" - ] - }, - "ErrorMessage":{"type":"string"}, - "ErrorStatistics":{ - "type":"structure", - "members":{ - "ThrottleCount":{ - "shape":"NullableLong", - "documentation":"

The number of requests that failed with a 419 throttling status code.

" - }, - "OtherCount":{ - "shape":"NullableLong", - "documentation":"

The number of requests that failed with untracked 4xx Client Error status codes.

" - }, - "TotalCount":{ - "shape":"NullableLong", - "documentation":"

The total number of requests that failed with a 4xx Client Error status code.

" - } - }, - "documentation":"

Information about requests that failed with a 4xx Client Error status code.

" - }, - "FaultStatistics":{ - "type":"structure", - "members":{ - "OtherCount":{ - "shape":"NullableLong", - "documentation":"

The number of requests that failed with untracked 5xx Server Error status codes.

" - }, - "TotalCount":{ - "shape":"NullableLong", - "documentation":"

The total number of requests that failed with a 5xx Server Error status code.

" - } - }, - "documentation":"

Information about requests that failed with a 5xx Server Error status code.

" - }, - "FilterExpression":{ - "type":"string", - "max":2000, - "min":1 - }, - "FixedRate":{ - "type":"double", - "max":1, - "min":0 - }, - "GetEncryptionConfigRequest":{ - "type":"structure", - "members":{ - } - }, - "GetEncryptionConfigResult":{ - "type":"structure", - "members":{ - "EncryptionConfig":{ - "shape":"EncryptionConfig", - "documentation":"

The encryption configuration document.

" - } - } - }, - "GetSamplingRulesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetSamplingRulesResult":{ - "type":"structure", - "members":{ - "SamplingRuleRecords":{ - "shape":"SamplingRuleRecordList", - "documentation":"

Rule definitions and metadata.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetSamplingStatisticSummariesRequest":{ - "type":"structure", - "members":{ - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetSamplingStatisticSummariesResult":{ - "type":"structure", - "members":{ - "SamplingStatisticSummaries":{ - "shape":"SamplingStatisticSummaryList", - "documentation":"

Information about the number of requests instrumented for each sampling rule.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetSamplingTargetsRequest":{ - "type":"structure", - "required":["SamplingStatisticsDocuments"], - "members":{ - "SamplingStatisticsDocuments":{ - "shape":"SamplingStatisticsDocumentList", - "documentation":"

Information about rules that the service is using to sample requests.

" - } - } - }, - "GetSamplingTargetsResult":{ - "type":"structure", - "members":{ - "SamplingTargetDocuments":{ - "shape":"SamplingTargetDocumentList", - "documentation":"

Updated rules that the service should use to sample requests.

" - }, - "LastRuleModification":{ - "shape":"Timestamp", - "documentation":"

The last time a user changed the sampling rule configuration. If the sampling rule configuration changed since the service last retrieved it, the service should call GetSamplingRules to get the latest version.

" - }, - "UnprocessedStatistics":{ - "shape":"UnprocessedStatisticsList", - "documentation":"

Information about SamplingStatisticsDocument that X-Ray could not process.

" - } - } - }, - "GetServiceGraphRequest":{ - "type":"structure", - "required":[ - "StartTime", - "EndTime" - ], - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start of the time frame for which to generate a graph.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time frame for which to generate a graph.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetServiceGraphResult":{ - "type":"structure", - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start of the time frame for which the graph was generated.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time frame for which the graph was generated.

" - }, - "Services":{ - "shape":"ServiceList", - "documentation":"

The services that have processed a traced request during the specified time frame.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetTraceGraphRequest":{ - "type":"structure", - "required":["TraceIds"], - "members":{ - "TraceIds":{ - "shape":"TraceIdList", - "documentation":"

Trace IDs of requests for which to generate a service graph.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetTraceGraphResult":{ - "type":"structure", - "members":{ - "Services":{ - "shape":"ServiceList", - "documentation":"

The services that have processed one of the specified requests.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Pagination token. Not used.

" - } - } - }, - "GetTraceSummariesRequest":{ - "type":"structure", - "required":[ - "StartTime", - "EndTime" - ], - "members":{ - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start of the time frame for which to retrieve traces.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end of the time frame for which to retrieve traces.

" - }, - "Sampling":{ - "shape":"NullableBoolean", - "documentation":"

Set to true to get summaries for only a subset of available traces.

" - }, - "FilterExpression":{ - "shape":"FilterExpression", - "documentation":"

Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

Specify the pagination token returned by a previous request to retrieve the next page of results.

" - } - } - }, - "GetTraceSummariesResult":{ - "type":"structure", - "members":{ - "TraceSummaries":{ - "shape":"TraceSummaryList", - "documentation":"

Trace IDs and metadata for traces that were found in the specified time frame.

" - }, - "ApproximateTime":{ - "shape":"Timestamp", - "documentation":"

The start time of this page of results.

" - }, - "TracesProcessedCount":{ - "shape":"NullableLong", - "documentation":"

The total number of traces processed, including traces that did not match the specified filter expression.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most most recent results, closest to the end of the time frame.

" - } - } - }, - "HTTPMethod":{ - "type":"string", - "max":10 - }, - "Histogram":{ - "type":"list", - "member":{"shape":"HistogramEntry"} - }, - "HistogramEntry":{ - "type":"structure", - "members":{ - "Value":{ - "shape":"Double", - "documentation":"

The value of the entry.

" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The prevalence of the entry.

" - } - }, - "documentation":"

An entry in a histogram for a statistic. A histogram maps the range of observed values on the X axis, and the prevalence of each value on the Y axis.

" - }, - "Host":{ - "type":"string", - "max":64 - }, - "Hostname":{ - "type":"string", - "max":255 - }, - "Http":{ - "type":"structure", - "members":{ - "HttpURL":{ - "shape":"String", - "documentation":"

The request URL.

" - }, - "HttpStatus":{ - "shape":"NullableInteger", - "documentation":"

The response status.

" - }, - "HttpMethod":{ - "shape":"String", - "documentation":"

The request method.

" - }, - "UserAgent":{ - "shape":"String", - "documentation":"

The request's user agent string.

" - }, - "ClientIp":{ - "shape":"String", - "documentation":"

The IP address of the requestor.

" - } - }, - "documentation":"

Information about an HTTP request.

" - }, - "Integer":{"type":"integer"}, - "InvalidRequestException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request is missing required parameters or has invalid parameters.

", - "exception":true - }, - "NullableBoolean":{"type":"boolean"}, - "NullableDouble":{"type":"double"}, - "NullableInteger":{"type":"integer"}, - "NullableLong":{"type":"long"}, - "Priority":{ - "type":"integer", - "max":9999, - "min":1 - }, - "PutEncryptionConfigRequest":{ - "type":"structure", - "required":["Type"], - "members":{ - "KeyId":{ - "shape":"EncryptionKeyId", - "documentation":"

An AWS KMS customer master key (CMK) in one of the following formats:

  • Alias - The name of the key. For example, alias/MyKey.

  • Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456.

  • ARN - The full Amazon Resource Name of the key ID or alias. For example, arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Use this format to specify a key in a different account.

Omit this key if you set Type to NONE.

" - }, - "Type":{ - "shape":"EncryptionType", - "documentation":"

The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption.

" - } - } - }, - "PutEncryptionConfigResult":{ - "type":"structure", - "members":{ - "EncryptionConfig":{ - "shape":"EncryptionConfig", - "documentation":"

The new encryption configuration.

" - } - } - }, - "PutTelemetryRecordsRequest":{ - "type":"structure", - "required":["TelemetryRecords"], - "members":{ - "TelemetryRecords":{ - "shape":"TelemetryRecordList", - "documentation":"

" - }, - "EC2InstanceId":{ - "shape":"EC2InstanceId", - "documentation":"

" - }, - "Hostname":{ - "shape":"Hostname", - "documentation":"

" - }, - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

" - } - } - }, - "PutTelemetryRecordsResult":{ - "type":"structure", - "members":{ - } - }, - "PutTraceSegmentsRequest":{ - "type":"structure", - "required":["TraceSegmentDocuments"], - "members":{ - "TraceSegmentDocuments":{ - "shape":"TraceSegmentDocumentList", - "documentation":"

A string containing a JSON document defining one or more segments or subsegments.

" - } - } - }, - "PutTraceSegmentsResult":{ - "type":"structure", - "members":{ - "UnprocessedTraceSegments":{ - "shape":"UnprocessedTraceSegmentList", - "documentation":"

Segments that failed processing.

" - } - } - }, - "RequestCount":{ - "type":"integer", - "min":0 - }, - "ReservoirSize":{ - "type":"integer", - "min":0 - }, - "ResourceARN":{ - "type":"string", - "max":500 - }, - "RuleLimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

You have reached the maximum number of sampling rules.

", - "exception":true - }, - "RuleName":{ - "type":"string", - "max":32, - "min":1 - }, - "SampledCount":{ - "type":"integer", - "min":0 - }, - "SamplingRule":{ - "type":"structure", - "required":[ - "ResourceARN", - "Priority", - "FixedRate", - "ReservoirSize", - "ServiceName", - "ServiceType", - "Host", - "HTTPMethod", - "URLPath", - "Version" - ], - "members":{ - "RuleName":{ - "shape":"RuleName", - "documentation":"

The name of the sampling rule. Specify a rule by either name or ARN, but not both.

" - }, - "RuleARN":{ - "shape":"String", - "documentation":"

The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

" - }, - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Matches the ARN of the AWS resource on which the service runs.

" - }, - "Priority":{ - "shape":"Priority", - "documentation":"

The priority of the sampling rule.

" - }, - "FixedRate":{ - "shape":"FixedRate", - "documentation":"

The percentage of matching requests to instrument, after the reservoir is exhausted.

" - }, - "ReservoirSize":{ - "shape":"ReservoirSize", - "documentation":"

A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

" - }, - "ServiceName":{ - "shape":"ServiceName", - "documentation":"

Matches the name that the service uses to identify itself in segments.

" - }, - "ServiceType":{ - "shape":"ServiceType", - "documentation":"

Matches the origin that the service uses to identify its type in segments.

" - }, - "Host":{ - "shape":"Host", - "documentation":"

Matches the hostname from a request URL.

" - }, - "HTTPMethod":{ - "shape":"HTTPMethod", - "documentation":"

Matches the HTTP method of a request.

" - }, - "URLPath":{ - "shape":"URLPath", - "documentation":"

Matches the path from a request URL.

" - }, - "Version":{ - "shape":"Version", - "documentation":"

The version of the sampling rule format (1).

" - }, - "Attributes":{ - "shape":"AttributeMap", - "documentation":"

Matches attributes derived from the request.

" - } - }, - "documentation":"

A sampling rule that services use to decide whether to instrument a request. Rule fields can match properties of the service, or properties of a request. The service can ignore rules that don't match its properties.

" - }, - "SamplingRuleRecord":{ - "type":"structure", - "members":{ - "SamplingRule":{ - "shape":"SamplingRule", - "documentation":"

The sampling rule.

" - }, - "CreatedAt":{ - "shape":"Timestamp", - "documentation":"

When the rule was created.

" - }, - "ModifiedAt":{ - "shape":"Timestamp", - "documentation":"

When the rule was last modified.

" - } - }, - "documentation":"

A SamplingRule and its metadata.

" - }, - "SamplingRuleRecordList":{ - "type":"list", - "member":{"shape":"SamplingRuleRecord"} - }, - "SamplingRuleUpdate":{ - "type":"structure", - "members":{ - "RuleName":{ - "shape":"RuleName", - "documentation":"

The name of the sampling rule. Specify a rule by either name or ARN, but not both.

" - }, - "RuleARN":{ - "shape":"String", - "documentation":"

The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

" - }, - "ResourceARN":{ - "shape":"ResourceARN", - "documentation":"

Matches the ARN of the AWS resource on which the service runs.

" - }, - "Priority":{ - "shape":"NullableInteger", - "documentation":"

The priority of the sampling rule.

" - }, - "FixedRate":{ - "shape":"NullableDouble", - "documentation":"

The percentage of matching requests to instrument, after the reservoir is exhausted.

" - }, - "ReservoirSize":{ - "shape":"NullableInteger", - "documentation":"

A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

" - }, - "Host":{ - "shape":"Host", - "documentation":"

Matches the hostname from a request URL.

" - }, - "ServiceName":{ - "shape":"ServiceName", - "documentation":"

Matches the name that the service uses to identify itself in segments.

" - }, - "ServiceType":{ - "shape":"ServiceType", - "documentation":"

Matches the origin that the service uses to identify its type in segments.

" - }, - "HTTPMethod":{ - "shape":"HTTPMethod", - "documentation":"

Matches the HTTP method of a request.

" - }, - "URLPath":{ - "shape":"URLPath", - "documentation":"

Matches the path from a request URL.

" - }, - "Attributes":{ - "shape":"AttributeMap", - "documentation":"

Matches attributes derived from the request.

" - } - }, - "documentation":"

A document specifying changes to a sampling rule's configuration.

" - }, - "SamplingStatisticSummary":{ - "type":"structure", - "members":{ - "RuleName":{ - "shape":"String", - "documentation":"

The name of the sampling rule.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The start time of the reporting window.

" - }, - "RequestCount":{ - "shape":"Integer", - "documentation":"

The number of requests that matched the rule.

" - }, - "BorrowCount":{ - "shape":"Integer", - "documentation":"

The number of requests recorded with borrowed reservoir quota.

" - }, - "SampledCount":{ - "shape":"Integer", - "documentation":"

The number of requests recorded.

" - } - }, - "documentation":"

Aggregated request sampling data for a sampling rule across all services for a 10 second window.

" - }, - "SamplingStatisticSummaryList":{ - "type":"list", - "member":{"shape":"SamplingStatisticSummary"} - }, - "SamplingStatisticsDocument":{ - "type":"structure", - "required":[ - "RuleName", - "ClientID", - "Timestamp", - "RequestCount", - "SampledCount" - ], - "members":{ - "RuleName":{ - "shape":"RuleName", - "documentation":"

The name of the sampling rule.

" - }, - "ClientID":{ - "shape":"ClientID", - "documentation":"

A unique identifier for the service in hexadecimal.

" - }, - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

The current time.

" - }, - "RequestCount":{ - "shape":"RequestCount", - "documentation":"

The number of requests that matched the rule.

" - }, - "SampledCount":{ - "shape":"SampledCount", - "documentation":"

The number of requests recorded.

" - }, - "BorrowCount":{ - "shape":"BorrowCount", - "documentation":"

The number of requests recorded with borrowed reservoir quota.

" - } - }, - "documentation":"

Request sampling results for a single rule from a service. Results are for the last 10 seconds unless the service has been assigned a longer reporting interval after a previous call to GetSamplingTargets.

" - }, - "SamplingStatisticsDocumentList":{ - "type":"list", - "member":{"shape":"SamplingStatisticsDocument"}, - "max":25 - }, - "SamplingTargetDocument":{ - "type":"structure", - "members":{ - "RuleName":{ - "shape":"String", - "documentation":"

The name of the sampling rule.

" - }, - "FixedRate":{ - "shape":"Double", - "documentation":"

The percentage of matching requests to instrument, after the reservoir is exhausted.

" - }, - "ReservoirQuota":{ - "shape":"NullableInteger", - "documentation":"

The number of requests per second that X-Ray allocated this service.

" - }, - "ReservoirQuotaTTL":{ - "shape":"Timestamp", - "documentation":"

When the reservoir quota expires.

" - }, - "Interval":{ - "shape":"NullableInteger", - "documentation":"

The number of seconds for the service to wait before getting sampling targets again.

" - } - }, - "documentation":"

Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray calculates a new reservoir for each service based on the recent sampling results of all services that called GetSamplingTargets.

" - }, - "SamplingTargetDocumentList":{ - "type":"list", - "member":{"shape":"SamplingTargetDocument"} - }, - "Segment":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"SegmentId", - "documentation":"

The segment's ID.

" - }, - "Document":{ - "shape":"SegmentDocument", - "documentation":"

The segment document.

" - } - }, - "documentation":"

A segment from a trace that has been ingested by the X-Ray service. The segment can be compiled from documents uploaded with PutTraceSegments, or an inferred segment for a downstream service, generated from a subsegment sent by the service that called it.

For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

" - }, - "SegmentDocument":{ - "type":"string", - "min":1 - }, - "SegmentId":{"type":"string"}, - "SegmentList":{ - "type":"list", - "member":{"shape":"Segment"} - }, - "Service":{ - "type":"structure", - "members":{ - "ReferenceId":{ - "shape":"NullableInteger", - "documentation":"

Identifier for the service. Unique within the service map.

" - }, - "Name":{ - "shape":"String", - "documentation":"

The canonical name of the service.

" - }, - "Names":{ - "shape":"ServiceNames", - "documentation":"

A list of names for the service, including the canonical name.

" - }, - "Root":{ - "shape":"NullableBoolean", - "documentation":"

Indicates that the service was the first service to process a request.

" - }, - "AccountId":{ - "shape":"String", - "documentation":"

Identifier of the AWS account in which the service runs.

" - }, - "Type":{ - "shape":"String", - "documentation":"

The type of service.

  • AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for a application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used.

  • AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a specific table.

  • client - Represents the clients that sent requests to a root service.

  • remote - A downstream service of indeterminate type.

" - }, - "State":{ - "shape":"String", - "documentation":"

The service's state.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

The start time of the first segment that the service generated.

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

The end time of the last segment that the service generated.

" - }, - "Edges":{ - "shape":"EdgeList", - "documentation":"

Connections to downstream services.

" - }, - "SummaryStatistics":{ - "shape":"ServiceStatistics", - "documentation":"

Aggregated statistics for the service.

" - }, - "DurationHistogram":{ - "shape":"Histogram", - "documentation":"

A histogram that maps the spread of service durations.

" - }, - "ResponseTimeHistogram":{ - "shape":"Histogram", - "documentation":"

A histogram that maps the spread of service response times.

" - } - }, - "documentation":"

Information about an application that processed requests, users that made requests, or downstream services, resources and applications that an application used.

" - }, - "ServiceId":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"String", - "documentation":"

" - }, - "Names":{ - "shape":"ServiceNames", - "documentation":"

" - }, - "AccountId":{ - "shape":"String", - "documentation":"

" - }, - "Type":{ - "shape":"String", - "documentation":"

" - } - }, - "documentation":"

" - }, - "ServiceIds":{ - "type":"list", - "member":{"shape":"ServiceId"} - }, - "ServiceList":{ - "type":"list", - "member":{"shape":"Service"} - }, - "ServiceName":{ - "type":"string", - "max":64 - }, - "ServiceNames":{ - "type":"list", - "member":{"shape":"String"} - }, - "ServiceStatistics":{ - "type":"structure", - "members":{ - "OkCount":{ - "shape":"NullableLong", - "documentation":"

The number of requests that completed with a 2xx Success status code.

" - }, - "ErrorStatistics":{ - "shape":"ErrorStatistics", - "documentation":"

Information about requests that failed with a 4xx Client Error status code.

" - }, - "FaultStatistics":{ - "shape":"FaultStatistics", - "documentation":"

Information about requests that failed with a 5xx Server Error status code.

" - }, - "TotalCount":{ - "shape":"NullableLong", - "documentation":"

The total number of completed requests.

" - }, - "TotalResponseTime":{ - "shape":"NullableDouble", - "documentation":"

The aggregate response time of completed requests.

" - } - }, - "documentation":"

Response statistics for a service.

" - }, - "ServiceType":{ - "type":"string", - "max":64 - }, - "String":{"type":"string"}, - "TelemetryRecord":{ - "type":"structure", - "required":["Timestamp"], - "members":{ - "Timestamp":{ - "shape":"Timestamp", - "documentation":"

" - }, - "SegmentsReceivedCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "SegmentsSentCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "SegmentsSpilloverCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "SegmentsRejectedCount":{ - "shape":"NullableInteger", - "documentation":"

" - }, - "BackendConnectionErrors":{ - "shape":"BackendConnectionErrors", - "documentation":"

" - } - }, - "documentation":"

" - }, - "TelemetryRecordList":{ - "type":"list", - "member":{"shape":"TelemetryRecord"} - }, - "ThrottledException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ErrorMessage"} - }, - "documentation":"

The request exceeds the maximum number of requests per second.

", - "error":{"httpStatusCode":429}, - "exception":true - }, - "Timestamp":{"type":"timestamp"}, - "Trace":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"TraceId", - "documentation":"

The unique identifier for the request that generated the trace's segments and subsegments.

" - }, - "Duration":{ - "shape":"NullableDouble", - "documentation":"

The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.

" - }, - "Segments":{ - "shape":"SegmentList", - "documentation":"

Segment documents for the segments and subsegments that comprise the trace.

" - } - }, - "documentation":"

A collection of segment documents with matching trace IDs.

" - }, - "TraceId":{ - "type":"string", - "max":35, - "min":1 - }, - "TraceIdList":{ - "type":"list", - "member":{"shape":"TraceId"} - }, - "TraceList":{ - "type":"list", - "member":{"shape":"Trace"} - }, - "TraceSegmentDocument":{"type":"string"}, - "TraceSegmentDocumentList":{ - "type":"list", - "member":{"shape":"TraceSegmentDocument"} - }, - "TraceSummary":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"TraceId", - "documentation":"

The unique identifier for the request that generated the trace's segments and subsegments.

" - }, - "Duration":{ - "shape":"NullableDouble", - "documentation":"

The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.

" - }, - "ResponseTime":{ - "shape":"NullableDouble", - "documentation":"

The length of time in seconds between the start and end times of the root segment. If the service performs work asynchronously, the response time measures the time before the response is sent to the user, while the duration measures the amount of time before the last traced activity completes.

" - }, - "HasFault":{ - "shape":"NullableBoolean", - "documentation":"

One or more of the segment documents has a 500 series error.

" - }, - "HasError":{ - "shape":"NullableBoolean", - "documentation":"

One or more of the segment documents has a 400 series error.

" - }, - "HasThrottle":{ - "shape":"NullableBoolean", - "documentation":"

One or more of the segment documents has a 429 throttling error.

" - }, - "IsPartial":{ - "shape":"NullableBoolean", - "documentation":"

One or more of the segment documents is in progress.

" - }, - "Http":{ - "shape":"Http", - "documentation":"

Information about the HTTP request served by the trace.

" - }, - "Annotations":{ - "shape":"Annotations", - "documentation":"

Annotations from the trace's segment documents.

" - }, - "Users":{ - "shape":"TraceUsers", - "documentation":"

Users from the trace's segment documents.

" - }, - "ServiceIds":{ - "shape":"ServiceIds", - "documentation":"

Service IDs from the trace's segment documents.

" - } - }, - "documentation":"

Metadata generated from the segment documents in a trace.

" - }, - "TraceSummaryList":{ - "type":"list", - "member":{"shape":"TraceSummary"} - }, - "TraceUser":{ - "type":"structure", - "members":{ - "UserName":{ - "shape":"String", - "documentation":"

The user's name.

" - }, - "ServiceIds":{ - "shape":"ServiceIds", - "documentation":"

Services that the user's request hit.

" - } - }, - "documentation":"

Information about a user recorded in segment documents.

" - }, - "TraceUsers":{ - "type":"list", - "member":{"shape":"TraceUser"} - }, - "URLPath":{ - "type":"string", - "max":128 - }, - "UnprocessedStatistics":{ - "type":"structure", - "members":{ - "RuleName":{ - "shape":"String", - "documentation":"

The name of the sampling rule.

" - }, - "ErrorCode":{ - "shape":"String", - "documentation":"

The error code.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

" - } - }, - "documentation":"

Sampling statistics from a call to GetSamplingTargets that X-Ray could not process.

" - }, - "UnprocessedStatisticsList":{ - "type":"list", - "member":{"shape":"UnprocessedStatistics"} - }, - "UnprocessedTraceIdList":{ - "type":"list", - "member":{"shape":"TraceId"} - }, - "UnprocessedTraceSegment":{ - "type":"structure", - "members":{ - "Id":{ - "shape":"String", - "documentation":"

The segment's ID.

" - }, - "ErrorCode":{ - "shape":"String", - "documentation":"

The error that caused processing to fail.

" - }, - "Message":{ - "shape":"String", - "documentation":"

The error message.

" - } - }, - "documentation":"

Information about a segment that failed processing.

" - }, - "UnprocessedTraceSegmentList":{ - "type":"list", - "member":{"shape":"UnprocessedTraceSegment"} - }, - "UpdateSamplingRuleRequest":{ - "type":"structure", - "required":["SamplingRuleUpdate"], - "members":{ - "SamplingRuleUpdate":{ - "shape":"SamplingRuleUpdate", - "documentation":"

The rule and fields to change.

" - } - } - }, - "UpdateSamplingRuleResult":{ - "type":"structure", - "members":{ - "SamplingRuleRecord":{ - "shape":"SamplingRuleRecord", - "documentation":"

The updated rule definition and metadata.

" - } - } - }, - "ValueWithServiceIds":{ - "type":"structure", - "members":{ - "AnnotationValue":{ - "shape":"AnnotationValue", - "documentation":"

Values of the annotation.

" - }, - "ServiceIds":{ - "shape":"ServiceIds", - "documentation":"

Services to which the annotation applies.

" - } - }, - "documentation":"

Information about a segment annotation.

" - }, - "ValuesWithServiceIds":{ - "type":"list", - "member":{"shape":"ValueWithServiceIds"} - }, - "Version":{ - "type":"integer", - "min":1 - } - }, - "documentation":"

AWS X-Ray provides APIs for managing debug traces and retrieving service maps and other data created by processing those traces.

" -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/__init__.py deleted file mode 100644 index b76f7990..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import os - -from botocore.docs.service import ServiceDocumenter - - -def generate_docs(root_dir, session): - """Generates the reference documentation for botocore - - This will go through every available AWS service and output ReSTructured - text files documenting each service. - - :param root_dir: The directory to write the reference files to. Each - service's reference documentation is loacated at - root_dir/reference/services/service-name.rst - """ - services_doc_path = os.path.join(root_dir, 'reference', 'services') - if not os.path.exists(services_doc_path): - os.makedirs(services_doc_path) - - # Generate reference docs and write them out. - for service_name in session.get_available_services(): - docs = ServiceDocumenter(service_name, session).document_service() - service_doc_path = os.path.join( - services_doc_path, service_name + '.rst') - with open(service_doc_path, 'wb') as f: - f.write(docs) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/__init__.py deleted file mode 100644 index b687f69d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2013 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. -__version__ = '0.16.0' diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docevents.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docevents.py deleted file mode 100644 index f5c6c849..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docevents.py +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright 2012-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - - -DOC_EVENTS = { - 'doc-breadcrumbs': '.%s', - 'doc-title': '.%s', - 'doc-description': '.%s', - 'doc-synopsis-start': '.%s', - 'doc-synopsis-option': '.%s.%s', - 'doc-synopsis-end': '.%s', - 'doc-options-start': '.%s', - 'doc-option': '.%s.%s', - 'doc-option-example': '.%s.%s', - 'doc-options-end': '.%s', - 'doc-examples': '.%s', - 'doc-output': '.%s', - 'doc-subitems-start': '.%s', - 'doc-subitem': '.%s.%s', - 'doc-subitems-end': '.%s', - 'doc-relateditems-start': '.%s', - 'doc-relateditem': '.%s.%s', - 'doc-relateditems-end': '.%s' - } - - -def generate_events(session, help_command): - # Now generate the documentation events - session.emit('doc-breadcrumbs.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-title.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-description.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-synopsis-start.%s' % help_command.event_class, - help_command=help_command) - if help_command.arg_table: - for arg_name in help_command.arg_table: - # An argument can set an '_UNDOCUMENTED' attribute - # to True to indicate a parameter that exists - # but shouldn't be documented. This can be used - # for backwards compatibility of deprecated arguments. - if getattr(help_command.arg_table[arg_name], - '_UNDOCUMENTED', False): - continue - session.emit( - 'doc-synopsis-option.%s.%s' % (help_command.event_class, - arg_name), - arg_name=arg_name, help_command=help_command) - session.emit('doc-synopsis-end.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-options-start.%s' % help_command.event_class, - help_command=help_command) - if help_command.arg_table: - for arg_name in help_command.arg_table: - if getattr(help_command.arg_table[arg_name], - '_UNDOCUMENTED', False): - continue - session.emit('doc-option.%s.%s' % (help_command.event_class, - arg_name), - arg_name=arg_name, help_command=help_command) - session.emit('doc-option-example.%s.%s' % - (help_command.event_class, arg_name), - arg_name=arg_name, help_command=help_command) - session.emit('doc-options-end.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-subitems-start.%s' % help_command.event_class, - help_command=help_command) - if help_command.command_table: - for command_name in sorted(help_command.command_table.keys()): - if hasattr(help_command.command_table[command_name], - '_UNDOCUMENTED'): - continue - session.emit('doc-subitem.%s.%s' - % (help_command.event_class, command_name), - command_name=command_name, - help_command=help_command) - session.emit('doc-subitems-end.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-examples.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-output.%s' % help_command.event_class, - help_command=help_command) - session.emit('doc-relateditems-start.%s' % help_command.event_class, - help_command=help_command) - if help_command.related_items: - for related_item in sorted(help_command.related_items): - session.emit('doc-relateditem.%s.%s' - % (help_command.event_class, related_item), - help_command=help_command, - related_item=related_item) - session.emit('doc-relateditems-end.%s' % help_command.event_class, - help_command=help_command) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docstringparser.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docstringparser.py deleted file mode 100644 index 868bd5d8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/docstringparser.py +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 2012-2013 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.compat import six - - -class DocStringParser(six.moves.html_parser.HTMLParser): - """ - A simple HTML parser. Focused on converting the subset of HTML - that appears in the documentation strings of the JSON models into - simple ReST format. - """ - - def __init__(self, doc): - self.tree = None - self.doc = doc - six.moves.html_parser.HTMLParser.__init__(self) - - def reset(self): - six.moves.html_parser.HTMLParser.reset(self) - self.tree = HTMLTree(self.doc) - - def feed(self, data): - # HTMLParser is an old style class, so the super() method will not work. - six.moves.html_parser.HTMLParser.feed(self, data) - self.tree.write() - self.tree = HTMLTree(self.doc) - - def close(self): - six.moves.html_parser.HTMLParser.close(self) - # Write if there is anything remaining. - self.tree.write() - self.tree = HTMLTree(self.doc) - - def handle_starttag(self, tag, attrs): - self.tree.add_tag(tag, attrs=attrs) - - def handle_endtag(self, tag): - self.tree.add_tag(tag, is_start=False) - - def handle_data(self, data): - self.tree.add_data(data) - - -class HTMLTree(object): - """ - A tree which handles HTML nodes. Designed to work with a python HTML parser, - meaning that the current_node will be the most recently opened tag. When - a tag is closed, the current_node moves up to the parent node. - """ - def __init__(self, doc): - self.doc = doc - self.head = StemNode() - self.current_node = self.head - self.unhandled_tags = [] - - def add_tag(self, tag, attrs=None, is_start=True): - if not self._doc_has_handler(tag, is_start): - self.unhandled_tags.append(tag) - return - - if is_start: - if tag == 'li': - node = LineItemNode(attrs) - else: - node = TagNode(tag, attrs) - self.current_node.add_child(node) - self.current_node = node - else: - self.current_node = self.current_node.parent - - def _doc_has_handler(self, tag, is_start): - if is_start: - handler_name = 'start_%s' % tag - else: - handler_name = 'end_%s' % tag - - return hasattr(self.doc.style, handler_name) - - def add_data(self, data): - self.current_node.add_child(DataNode(data)) - - def write(self): - self.head.write(self.doc) - - -class Node(object): - def __init__(self, parent=None): - self.parent = parent - - def write(self, doc): - raise NotImplementedError - - -class StemNode(Node): - def __init__(self, parent=None): - super(StemNode, self).__init__(parent) - self.children = [] - - def add_child(self, child): - child.parent = self - self.children.append(child) - - def write(self, doc): - self._write_children(doc) - - def _write_children(self, doc): - for child in self.children: - child.write(doc) - - -class TagNode(StemNode): - """ - A generic Tag node. It will verify that handlers exist before writing. - """ - def __init__(self, tag, attrs=None, parent=None): - super(TagNode, self).__init__(parent) - self.attrs = attrs - self.tag = tag - - def write(self, doc): - self._write_start(doc) - self._write_children(doc) - self._write_end(doc) - - def _write_start(self, doc): - handler_name = 'start_%s' % self.tag - if hasattr(doc.style, handler_name): - getattr(doc.style, handler_name)(self.attrs) - - def _write_end(self, doc): - handler_name = 'end_%s' % self.tag - if hasattr(doc.style, handler_name): - getattr(doc.style, handler_name)() - - -class LineItemNode(TagNode): - def __init__(self, attrs=None, parent=None): - super(LineItemNode, self).__init__('li', attrs, parent) - - def write(self, doc): - self._lstrip(self) - super(LineItemNode, self).write(doc) - - def _lstrip(self, node): - """ - Traverses the tree, stripping out whitespace until text data is found - :param node: The node to strip - :return: True if non-whitespace data was found, False otherwise - """ - for child in node.children: - if isinstance(child, DataNode): - child.lstrip() - if child.data: - return True - else: - found = self._lstrip(child) - if found: - return True - - return False - - -class DataNode(Node): - """ - A Node that contains only string data. - """ - def __init__(self, data, parent=None): - super(DataNode, self).__init__(parent) - if not isinstance(data, six.string_types): - raise ValueError("Expecting string type, %s given." % type(data)) - self.data = data - - def lstrip(self): - self.data = self.data.lstrip() - - def write(self, doc): - if not self.data: - return - - if self.data.isspace(): - str_data = ' ' - else: - end_space = self.data[-1].isspace() - words = self.data.split() - words = doc.translate_words(words) - str_data = ' '.join(words) - if end_space: - str_data += ' ' - - doc.handle_data(str_data) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/restdoc.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/restdoc.py deleted file mode 100644 index 9f91e1c3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/restdoc.py +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 2012-2013 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 logging - -from botocore.compat import OrderedDict -from botocore.docs.bcdoc.docstringparser import DocStringParser -from botocore.docs.bcdoc.style import ReSTStyle - -LOG = logging.getLogger('bcdocs') - - -class ReSTDocument(object): - - def __init__(self, target='man'): - self.style = ReSTStyle(self) - self.target = target - self.parser = DocStringParser(self) - self.keep_data = True - self.do_translation = False - self.translation_map = {} - self.hrefs = {} - self._writes = [] - self._last_doc_string = None - - def _write(self, s): - if self.keep_data and s is not None: - self._writes.append(s) - - def write(self, content): - """ - Write content into the document. - """ - self._write(content) - - def writeln(self, content): - """ - Write content on a newline. - """ - self._write('%s%s\n' % (self.style.spaces(), content)) - - def peek_write(self): - """ - Returns the last content written to the document without - removing it from the stack. - """ - return self._writes[-1] - - def pop_write(self): - """ - Removes and returns the last content written to the stack. - """ - return self._writes.pop() - - def push_write(self, s): - """ - Places new content on the stack. - """ - self._writes.append(s) - - def getvalue(self): - """ - Returns the current content of the document as a string. - """ - if self.hrefs: - self.style.new_paragraph() - for refname, link in self.hrefs.items(): - self.style.link_target_definition(refname, link) - return ''.join(self._writes).encode('utf-8') - - def translate_words(self, words): - return [self.translation_map.get(w, w) for w in words] - - def handle_data(self, data): - if data and self.keep_data: - self._write(data) - - def include_doc_string(self, doc_string): - if doc_string: - try: - start = len(self._writes) - self.parser.feed(doc_string) - self.parser.close() - end = len(self._writes) - self._last_doc_string = (start, end) - except Exception: - LOG.debug('Error parsing doc string', exc_info=True) - LOG.debug(doc_string) - - def remove_last_doc_string(self): - # Removes all writes inserted by last doc string - if self._last_doc_string is not None: - start, end = self._last_doc_string - del self._writes[start:end] - - -class DocumentStructure(ReSTDocument): - def __init__(self, name, section_names=None, target='man', context=None): - """Provides a Hierarichial structure to a ReSTDocument - - You can write to it similiar to as you can to a ReSTDocument but - has an innate structure for more orginaztion and abstraction. - - :param name: The name of the document - :param section_names: A list of sections to be included - in the document. - :param target: The target documentation of the Document structure - :param context: A dictionary of data to store with the strucuture. These - are only stored per section not the entire structure. - """ - super(DocumentStructure, self).__init__(target=target) - self._name = name - self._structure = OrderedDict() - self._path = [self._name] - self._context = {} - if context is not None: - self._context = context - if section_names is not None: - self._generate_structure(section_names) - - @property - def name(self): - """The name of the document structure""" - return self._name - - @property - def path(self): - """ - A list of where to find a particular document structure in the - overlying document structure. - """ - return self._path - - @path.setter - def path(self, value): - self._path = value - - @property - def available_sections(self): - return list(self._structure) - - @property - def context(self): - return self._context - - def _generate_structure(self, section_names): - for section_name in section_names: - self.add_new_section(section_name) - - def add_new_section(self, name, context=None): - """Adds a new section to the current document structure - - This document structure will be considered a section to the - current document structure but will in itself be an entirely - new document structure that can be written to and have sections - as well - - :param name: The name of the section. - :param context: A dictionary of data to store with the strucuture. These - are only stored per section not the entire structure. - :rtype: DocumentStructure - :returns: A new document structure to add to but lives as a section - to the document structure it was instantiated from. - """ - # Add a new section - section = self.__class__(name=name, target=self.target, - context=context) - section.path = self.path + [name] - # Indent the section apporpriately as well - section.style.indentation = self.style.indentation - section.translation_map = self.translation_map - section.hrefs = self.hrefs - self._structure[name] = section - return section - - def get_section(self, name): - """Retrieve a section""" - return self._structure[name] - - def delete_section(self, name): - """Delete a section""" - del self._structure[name] - - def flush_structure(self): - """Flushes a doc structure to a ReSTructed string - - The document is flushed out in a DFS style where sections and their - subsections' values are added to the string as they are visited. - """ - # We are at the root flush the links at the beginning of the - # document - if len(self.path) == 1: - if self.hrefs: - self.style.new_paragraph() - for refname, link in self.hrefs.items(): - self.style.link_target_definition(refname, link) - value = self.getvalue() - for name, section in self._structure.items(): - value += section.flush_structure() - return value - - def getvalue(self): - return ''.join(self._writes).encode('utf-8') - - def remove_all_sections(self): - self._structure = OrderedDict() - - def clear_text(self): - self._writes = [] diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/style.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/style.py deleted file mode 100644 index 4470d65d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/style.py +++ /dev/null @@ -1,418 +0,0 @@ -# Copyright 2012-2013 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 logging - -logger = logging.getLogger('bcdocs') - - -class BaseStyle(object): - - def __init__(self, doc, indent_width=2): - self.doc = doc - self.indent_width = indent_width - self._indent = 0 - self.keep_data = True - - @property - def indentation(self): - return self._indent - - @indentation.setter - def indentation(self, value): - self._indent = value - - def new_paragraph(self): - return '\n%s' % self.spaces() - - def indent(self): - self._indent += 1 - - def dedent(self): - if self._indent > 0: - self._indent -= 1 - - def spaces(self): - return ' ' * (self._indent * self.indent_width) - - def bold(self, s): - return s - - def ref(self, link, title=None): - return link - - def h2(self, s): - return s - - def h3(self, s): - return s - - def underline(self, s): - return s - - def italics(self, s): - return s - - -class ReSTStyle(BaseStyle): - - def __init__(self, doc, indent_width=2): - BaseStyle.__init__(self, doc, indent_width) - self.do_p = True - self.a_href = None - self.list_depth = 0 - - def new_paragraph(self): - self.doc.write('\n\n%s' % self.spaces()) - - def new_line(self): - self.doc.write('\n%s' % self.spaces()) - - def _start_inline(self, markup): - self.doc.write(markup) - - def _end_inline(self, markup): - # Sometimes the HTML markup has whitespace between the end - # of the text inside the inline markup and the closing element - # (e.g. foobar ). This trailing space will cause - # problems in the ReST inline markup so we remove it here - # by popping the last item written off the stack, striping - # the whitespace and then pushing it back on the stack. - last_write = self.doc.pop_write().rstrip(' ') - - # Sometimes, for whatever reason, a tag like is present. This - # is problematic because if we simply translate that directly then - # we end up with something like ****, which rst will assume is a - # heading instead of an empty bold. - if last_write == markup: - return - - self.doc.push_write(last_write) - self.doc.write(markup + ' ') - - def start_bold(self, attrs=None): - self._start_inline('**') - - def end_bold(self): - self._end_inline('**') - - def start_b(self, attrs=None): - self.doc.do_translation = True - self.start_bold(attrs) - - def end_b(self): - self.doc.do_translation = False - self.end_bold() - - def bold(self, s): - if s: - self.start_bold() - self.doc.write(s) - self.end_bold() - - def ref(self, title, link=None): - if link is None: - link = title - self.doc.write(':doc:`%s <%s>`' % (title, link)) - - def _heading(self, s, border_char): - border = border_char * len(s) - self.new_paragraph() - self.doc.write('%s\n%s\n%s' % (border, s, border)) - self.new_paragraph() - - def h1(self, s): - self._heading(s, '*') - - def h2(self, s): - self._heading(s, '=') - - def h3(self, s): - self._heading(s, '-') - - def start_italics(self, attrs=None): - self._start_inline('*') - - def end_italics(self): - self._end_inline('*') - - def italics(self, s): - if s: - self.start_italics() - self.doc.write(s) - self.end_italics() - - def start_p(self, attrs=None): - if self.do_p: - self.doc.write('\n\n%s' % self.spaces()) - - def end_p(self): - if self.do_p: - self.doc.write('\n\n%s' % self.spaces()) - - def start_code(self, attrs=None): - self.doc.do_translation = True - self._start_inline('``') - - def end_code(self): - self.doc.do_translation = False - self._end_inline('``') - - def code(self, s): - if s: - self.start_code() - self.doc.write(s) - self.end_code() - - def start_note(self, attrs=None): - self.new_paragraph() - self.doc.write('.. note::') - self.indent() - self.new_paragraph() - - def end_note(self): - self.dedent() - self.new_paragraph() - - def start_important(self, attrs=None): - self.new_paragraph() - self.doc.write('.. warning::') - self.indent() - self.new_paragraph() - - def end_important(self): - self.dedent() - self.new_paragraph() - - def start_danger(self, attrs=None): - self.new_paragraph() - self.doc.write('.. danger::') - self.indent() - self.new_paragraph() - - def end_danger(self): - self.dedent() - self.new_paragraph() - - def start_a(self, attrs=None): - if attrs: - for attr_key, attr_value in attrs: - if attr_key == 'href': - self.a_href = attr_value - self.doc.write('`') - else: - # There are some model documentation that - # looks like this: DescribeInstances. - # In this case we just write out an empty - # string. - self.doc.write(' ') - self.doc.do_translation = True - - def link_target_definition(self, refname, link): - self.doc.writeln('.. _%s: %s' % (refname, link)) - - def sphinx_reference_label(self, label, text=None): - if text is None: - text = label - if self.doc.target == 'html': - self.doc.write(':ref:`%s <%s>`' % (text, label)) - else: - self.doc.write(text) - - def end_a(self): - self.doc.do_translation = False - if self.a_href: - last_write = self.doc.pop_write() - last_write = last_write.rstrip(' ') - if last_write and last_write != '`': - if ':' in last_write: - last_write = last_write.replace(':', r'\:') - self.doc.push_write(last_write) - self.doc.push_write(' <%s>`__' % self.a_href) - elif last_write == '`': - # Look at start_a(). It will do a self.doc.write('`') - # which is the start of the link title. If that is the - # case then there was no link text. We should just - # use an inline link. The syntax of this is - # ``_ - self.doc.push_write('`<%s>`__' % self.a_href) - else: - self.doc.push_write(self.a_href) - self.doc.hrefs[self.a_href] = self.a_href - self.doc.write('`__') - self.a_href = None - self.doc.write(' ') - - def start_i(self, attrs=None): - self.doc.do_translation = True - self.start_italics() - - def end_i(self): - self.doc.do_translation = False - self.end_italics() - - def start_li(self, attrs=None): - self.new_line() - self.do_p = False - self.doc.write('* ') - - def end_li(self): - self.do_p = True - self.new_line() - - def li(self, s): - if s: - self.start_li() - self.doc.writeln(s) - self.end_li() - - def start_ul(self, attrs=None): - if self.list_depth != 0: - self.indent() - self.list_depth += 1 - self.new_paragraph() - - def end_ul(self): - self.list_depth -= 1 - if self.list_depth != 0: - self.dedent() - self.new_paragraph() - - def start_ol(self, attrs=None): - # TODO: Need to control the bullets used for LI items - if self.list_depth != 0: - self.indent() - self.list_depth += 1 - self.new_paragraph() - - def end_ol(self): - self.list_depth -= 1 - if self.list_depth != 0: - self.dedent() - self.new_paragraph() - - def start_examples(self, attrs=None): - self.doc.keep_data = False - - def end_examples(self): - self.doc.keep_data = True - - def start_fullname(self, attrs=None): - self.doc.keep_data = False - - def end_fullname(self): - self.doc.keep_data = True - - def start_codeblock(self, attrs=None): - self.doc.write('::') - self.indent() - self.new_paragraph() - - def end_codeblock(self): - self.dedent() - self.new_paragraph() - - def codeblock(self, code): - """ - Literal code blocks are introduced by ending a paragraph with - the special marker ::. The literal block must be indented - (and, like all paragraphs, separated from the surrounding - ones by blank lines). - """ - self.start_codeblock() - self.doc.writeln(code) - self.end_codeblock() - - def toctree(self): - if self.doc.target == 'html': - self.doc.write('\n.. toctree::\n') - self.doc.write(' :maxdepth: 1\n') - self.doc.write(' :titlesonly:\n\n') - else: - self.start_ul() - - def tocitem(self, item, file_name=None): - if self.doc.target == 'man': - self.li(item) - else: - if file_name: - self.doc.writeln(' %s' % file_name) - else: - self.doc.writeln(' %s' % item) - - def hidden_toctree(self): - if self.doc.target == 'html': - self.doc.write('\n.. toctree::\n') - self.doc.write(' :maxdepth: 1\n') - self.doc.write(' :hidden:\n\n') - - def hidden_tocitem(self, item): - if self.doc.target == 'html': - self.tocitem(item) - - def table_of_contents(self, title=None, depth=None): - self.doc.write('.. contents:: ') - if title is not None: - self.doc.writeln(title) - if depth is not None: - self.doc.writeln(' :depth: %s' % depth) - - def start_sphinx_py_class(self, class_name): - self.new_paragraph() - self.doc.write('.. py:class:: %s' % class_name) - self.indent() - self.new_paragraph() - - def end_sphinx_py_class(self): - self.dedent() - self.new_paragraph() - - def start_sphinx_py_method(self, method_name, parameters=None): - self.new_paragraph() - content = '.. py:method:: %s' % method_name - if parameters is not None: - content += '(%s)' % parameters - self.doc.write(content) - self.indent() - self.new_paragraph() - - def end_sphinx_py_method(self): - self.dedent() - self.new_paragraph() - - def start_sphinx_py_attr(self, attr_name): - self.new_paragraph() - self.doc.write('.. py:attribute:: %s' % attr_name) - self.indent() - self.new_paragraph() - - def end_sphinx_py_attr(self): - self.dedent() - self.new_paragraph() - - def write_py_doc_string(self, docstring): - docstring_lines = docstring.splitlines() - for docstring_line in docstring_lines: - self.doc.writeln(docstring_line) - - def external_link(self, title, link): - if self.doc.target == 'html': - self.doc.write('`%s <%s>`_' % (title, link)) - else: - self.doc.write(title) - - def internal_link(self, title, page): - if self.doc.target == 'html': - self.doc.write(':doc:`%s <%s>`' % (title, page)) - else: - self.doc.write(title) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/textwriter.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/textwriter.py deleted file mode 100644 index 6fc171b9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/bcdoc/textwriter.py +++ /dev/null @@ -1,799 +0,0 @@ -# -*- coding: utf-8 -*- -""" - - Custom docutils writer for plain text. - Based heavily on the Sphinx text writer. See copyright below. - - :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. - :license: BSD, see LICENSE for details. - -""" -import os -import re -import textwrap - -from docutils import nodes, writers - - -class TextWrapper(textwrap.TextWrapper): - """Custom subclass that uses a different word separator regex.""" - - wordsep_re = re.compile( - r'(\s+|' # any whitespace - r'(?<=\s)(?::[a-z-]+:)?`\S+|' # interpreted text start - r'[^\s\w]*\w+[a-zA-Z]-(?=\w+[a-zA-Z])|' # hyphenated words - r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash - - -MAXWIDTH = 70 -STDINDENT = 3 - - -def my_wrap(text, width=MAXWIDTH, **kwargs): - w = TextWrapper(width=width, **kwargs) - return w.wrap(text) - - -class TextWriter(writers.Writer): - supported = ('text',) - settings_spec = ('No options here.', '', ()) - settings_defaults = {} - - output = None - - def __init__(self): - writers.Writer.__init__(self) - - def translate(self): - visitor = TextTranslator(self.document) - self.document.walkabout(visitor) - self.output = visitor.body - - -class TextTranslator(nodes.NodeVisitor): - sectionchars = '*=-~"+`' - - def __init__(self, document): - nodes.NodeVisitor.__init__(self, document) - - self.nl = os.linesep - self.states = [[]] - self.stateindent = [0] - self.list_counter = [] - self.sectionlevel = 0 - self.table = None - - def add_text(self, text): - self.states[-1].append((-1, text)) - - def new_state(self, indent=STDINDENT): - self.states.append([]) - self.stateindent.append(indent) - - def end_state(self, wrap=True, end=[''], first=None): - content = self.states.pop() - maxindent = sum(self.stateindent) - indent = self.stateindent.pop() - result = [] - toformat = [] - - def do_format(): - if not toformat: - return - if wrap: - res = my_wrap(''.join(toformat), width=MAXWIDTH-maxindent) - else: - res = ''.join(toformat).splitlines() - if end: - res += end - result.append((indent, res)) - for itemindent, item in content: - if itemindent == -1: - toformat.append(item) - else: - do_format() - result.append((indent + itemindent, item)) - toformat = [] - do_format() - if first is not None and result: - itemindent, item = result[0] - if item: - result.insert(0, (itemindent - indent, [first + item[0]])) - result[1] = (itemindent, item[1:]) - self.states[-1].extend(result) - - def visit_document(self, node): - self.new_state(0) - - def depart_document(self, node): - self.end_state() - self.body = self.nl.join(line and (' '*indent + line) - for indent, lines in self.states[0] - for line in lines) - # XXX header/footer? - - def visit_highlightlang(self, node): - raise nodes.SkipNode - - def visit_section(self, node): - self._title_char = self.sectionchars[self.sectionlevel] - self.sectionlevel += 1 - - def depart_section(self, node): - self.sectionlevel -= 1 - - def visit_topic(self, node): - self.new_state(0) - - def depart_topic(self, node): - self.end_state() - - visit_sidebar = visit_topic - depart_sidebar = depart_topic - - def visit_rubric(self, node): - self.new_state(0) - self.add_text('-[ ') - - def depart_rubric(self, node): - self.add_text(' ]-') - self.end_state() - - def visit_compound(self, node): - pass - - def depart_compound(self, node): - pass - - def visit_glossary(self, node): - pass - - def depart_glossary(self, node): - pass - - def visit_title(self, node): - if isinstance(node.parent, nodes.Admonition): - self.add_text(node.astext()+': ') - raise nodes.SkipNode - self.new_state(0) - - def depart_title(self, node): - if isinstance(node.parent, nodes.section): - char = self._title_char - else: - char = '^' - text = ''.join(x[1] for x in self.states.pop() if x[0] == -1) - self.stateindent.pop() - self.states[-1].append((0, ['', text, '%s' % (char * len(text)), ''])) - - def visit_subtitle(self, node): - pass - - def depart_subtitle(self, node): - pass - - def visit_attribution(self, node): - self.add_text('-- ') - - def depart_attribution(self, node): - pass - - def visit_desc(self, node): - pass - - def depart_desc(self, node): - pass - - def visit_desc_signature(self, node): - self.new_state(0) - if node.parent['objtype'] in ('class', 'exception'): - self.add_text('%s ' % node.parent['objtype']) - - def depart_desc_signature(self, node): - # XXX: wrap signatures in a way that makes sense - self.end_state(wrap=False, end=None) - - def visit_desc_name(self, node): - pass - - def depart_desc_name(self, node): - pass - - def visit_desc_addname(self, node): - pass - - def depart_desc_addname(self, node): - pass - - def visit_desc_type(self, node): - pass - - def depart_desc_type(self, node): - pass - - def visit_desc_returns(self, node): - self.add_text(' -> ') - - def depart_desc_returns(self, node): - pass - - def visit_desc_parameterlist(self, node): - self.add_text('(') - self.first_param = 1 - - def depart_desc_parameterlist(self, node): - self.add_text(')') - - def visit_desc_parameter(self, node): - if not self.first_param: - self.add_text(', ') - else: - self.first_param = 0 - self.add_text(node.astext()) - raise nodes.SkipNode - - def visit_desc_optional(self, node): - self.add_text('[') - - def depart_desc_optional(self, node): - self.add_text(']') - - def visit_desc_annotation(self, node): - pass - - def depart_desc_annotation(self, node): - pass - - def visit_refcount(self, node): - pass - - def depart_refcount(self, node): - pass - - def visit_desc_content(self, node): - self.new_state() - self.add_text(self.nl) - - def depart_desc_content(self, node): - self.end_state() - - def visit_figure(self, node): - self.new_state() - - def depart_figure(self, node): - self.end_state() - - def visit_caption(self, node): - pass - - def depart_caption(self, node): - pass - - def visit_productionlist(self, node): - self.new_state() - names = [] - for production in node: - names.append(production['tokenname']) - maxlen = max(len(name) for name in names) - for production in node: - if production['tokenname']: - self.add_text(production['tokenname'].ljust(maxlen) + ' ::=') - lastname = production['tokenname'] - else: - self.add_text('%s ' % (' '*len(lastname))) - self.add_text(production.astext() + self.nl) - self.end_state(wrap=False) - raise nodes.SkipNode - - def visit_seealso(self, node): - self.new_state() - - def depart_seealso(self, node): - self.end_state(first='') - - def visit_footnote(self, node): - self._footnote = node.children[0].astext().strip() - self.new_state(len(self._footnote) + 3) - - def depart_footnote(self, node): - self.end_state(first='[%s] ' % self._footnote) - - def visit_citation(self, node): - if len(node) and isinstance(node[0], nodes.label): - self._citlabel = node[0].astext() - else: - self._citlabel = '' - self.new_state(len(self._citlabel) + 3) - - def depart_citation(self, node): - self.end_state(first='[%s] ' % self._citlabel) - - def visit_label(self, node): - raise nodes.SkipNode - - # XXX: option list could use some better styling - - def visit_option_list(self, node): - pass - - def depart_option_list(self, node): - pass - - def visit_option_list_item(self, node): - self.new_state(0) - - def depart_option_list_item(self, node): - self.end_state() - - def visit_option_group(self, node): - self._firstoption = True - - def depart_option_group(self, node): - self.add_text(' ') - - def visit_option(self, node): - if self._firstoption: - self._firstoption = False - else: - self.add_text(', ') - - def depart_option(self, node): - pass - - def visit_option_string(self, node): - pass - - def depart_option_string(self, node): - pass - - def visit_option_argument(self, node): - self.add_text(node['delimiter']) - - def depart_option_argument(self, node): - pass - - def visit_description(self, node): - pass - - def depart_description(self, node): - pass - - def visit_tabular_col_spec(self, node): - raise nodes.SkipNode - - def visit_colspec(self, node): - self.table[0].append(node['colwidth']) - raise nodes.SkipNode - - def visit_tgroup(self, node): - pass - - def depart_tgroup(self, node): - pass - - def visit_thead(self, node): - pass - - def depart_thead(self, node): - pass - - def visit_tbody(self, node): - self.table.append('sep') - - def depart_tbody(self, node): - pass - - def visit_row(self, node): - self.table.append([]) - - def depart_row(self, node): - pass - - def visit_entry(self, node): - if 'morerows' in node or 'morecols' in node: - raise NotImplementedError('Column or row spanning cells are ' - 'not implemented.') - self.new_state(0) - - def depart_entry(self, node): - text = self.nl.join(self.nl.join(x[1]) for x in self.states.pop()) - self.stateindent.pop() - self.table[-1].append(text) - - def visit_table(self, node): - if self.table: - raise NotImplementedError('Nested tables are not supported.') - self.new_state(0) - self.table = [[]] - - def depart_table(self, node): - lines = self.table[1:] - fmted_rows = [] - colwidths = self.table[0] - realwidths = colwidths[:] - separator = 0 - # don't allow paragraphs in table cells for now - for line in lines: - if line == 'sep': - separator = len(fmted_rows) - else: - cells = [] - for i, cell in enumerate(line): - par = my_wrap(cell, width=colwidths[i]) - if par: - maxwidth = max(map(len, par)) - else: - maxwidth = 0 - realwidths[i] = max(realwidths[i], maxwidth) - cells.append(par) - fmted_rows.append(cells) - - def writesep(char='-'): - out = ['+'] - for width in realwidths: - out.append(char * (width+2)) - out.append('+') - self.add_text(''.join(out) + self.nl) - - def writerow(row): - lines = zip(*row) - for line in lines: - out = ['|'] - for i, cell in enumerate(line): - if cell: - out.append(' ' + cell.ljust(realwidths[i]+1)) - else: - out.append(' ' * (realwidths[i] + 2)) - out.append('|') - self.add_text(''.join(out) + self.nl) - - for i, row in enumerate(fmted_rows): - if separator and i == separator: - writesep('=') - else: - writesep('-') - writerow(row) - writesep('-') - self.table = None - self.end_state(wrap=False) - - def visit_acks(self, node): - self.new_state(0) - self.add_text( - ', '.join(n.astext() for n in node.children[0].children) + '.') - self.end_state() - raise nodes.SkipNode - - def visit_image(self, node): - if 'alt' in node.attributes: - self.add_text(_('[image: %s]') % node['alt']) - self.add_text(_('[image]')) - raise nodes.SkipNode - - def visit_transition(self, node): - indent = sum(self.stateindent) - self.new_state(0) - self.add_text('=' * (MAXWIDTH - indent)) - self.end_state() - raise nodes.SkipNode - - def visit_bullet_list(self, node): - self.list_counter.append(-1) - - def depart_bullet_list(self, node): - self.list_counter.pop() - - def visit_enumerated_list(self, node): - self.list_counter.append(0) - - def depart_enumerated_list(self, node): - self.list_counter.pop() - - def visit_definition_list(self, node): - self.list_counter.append(-2) - - def depart_definition_list(self, node): - self.list_counter.pop() - - def visit_list_item(self, node): - if self.list_counter[-1] == -1: - # bullet list - self.new_state(2) - elif self.list_counter[-1] == -2: - # definition list - pass - else: - # enumerated list - self.list_counter[-1] += 1 - self.new_state(len(str(self.list_counter[-1])) + 2) - - def depart_list_item(self, node): - if self.list_counter[-1] == -1: - self.end_state(first='* ', end=None) - elif self.list_counter[-1] == -2: - pass - else: - self.end_state(first='%s. ' % self.list_counter[-1], end=None) - - def visit_definition_list_item(self, node): - self._li_has_classifier = len(node) >= 2 and \ - isinstance(node[1], nodes.classifier) - - def depart_definition_list_item(self, node): - pass - - def visit_term(self, node): - self.new_state(0) - - def depart_term(self, node): - if not self._li_has_classifier: - self.end_state(end=None) - - def visit_termsep(self, node): - self.add_text(', ') - raise nodes.SkipNode - - def visit_classifier(self, node): - self.add_text(' : ') - - def depart_classifier(self, node): - self.end_state(end=None) - - def visit_definition(self, node): - self.new_state() - - def depart_definition(self, node): - self.end_state() - - def visit_field_list(self, node): - pass - - def depart_field_list(self, node): - pass - - def visit_field(self, node): - pass - - def depart_field(self, node): - pass - - def visit_field_name(self, node): - self.new_state(0) - - def depart_field_name(self, node): - self.add_text(':') - self.end_state(end=None) - - def visit_field_body(self, node): - self.new_state() - - def depart_field_body(self, node): - self.end_state() - - def visit_centered(self, node): - pass - - def depart_centered(self, node): - pass - - def visit_hlist(self, node): - pass - - def depart_hlist(self, node): - pass - - def visit_hlistcol(self, node): - pass - - def depart_hlistcol(self, node): - pass - - def visit_admonition(self, node): - self.new_state(0) - - def depart_admonition(self, node): - self.end_state() - - def visit_versionmodified(self, node): - self.new_state(0) - - def depart_versionmodified(self, node): - self.end_state() - - def visit_literal_block(self, node): - self.new_state() - - def depart_literal_block(self, node): - self.end_state(wrap=False) - - def visit_doctest_block(self, node): - self.new_state(0) - - def depart_doctest_block(self, node): - self.end_state(wrap=False) - - def visit_line_block(self, node): - self.new_state(0) - - def depart_line_block(self, node): - self.end_state(wrap=False) - - def visit_line(self, node): - pass - - def depart_line(self, node): - pass - - def visit_block_quote(self, node): - self.new_state() - - def depart_block_quote(self, node): - self.end_state() - - def visit_compact_paragraph(self, node): - pass - - def depart_compact_paragraph(self, node): - pass - - def visit_paragraph(self, node): - self.new_state(0) - - def depart_paragraph(self, node): - self.end_state() - - def visit_target(self, node): - raise nodes.SkipNode - - def visit_index(self, node): - raise nodes.SkipNode - - def visit_substitution_definition(self, node): - raise nodes.SkipNode - - def visit_pending_xref(self, node): - pass - - def depart_pending_xref(self, node): - pass - - def visit_reference(self, node): - pass - - def depart_reference(self, node): - pass - - def visit_download_reference(self, node): - pass - - def depart_download_reference(self, node): - pass - - def visit_emphasis(self, node): - self.add_text('*') - - def depart_emphasis(self, node): - self.add_text('*') - - def visit_literal_emphasis(self, node): - self.add_text('*') - - def depart_literal_emphasis(self, node): - self.add_text('*') - - def visit_strong(self, node): - self.add_text('**') - - def depart_strong(self, node): - self.add_text('**') - - def visit_abbreviation(self, node): - self.add_text('') - - def depart_abbreviation(self, node): - if node.hasattr('explanation'): - self.add_text(' (%s)' % node['explanation']) - - def visit_title_reference(self, node): - self.add_text('*') - - def depart_title_reference(self, node): - self.add_text('*') - - def visit_literal(self, node): - self.add_text('"') - - def depart_literal(self, node): - self.add_text('"') - - def visit_subscript(self, node): - self.add_text('_') - - def depart_subscript(self, node): - pass - - def visit_superscript(self, node): - self.add_text('^') - - def depart_superscript(self, node): - pass - - def visit_footnote_reference(self, node): - self.add_text('[%s]' % node.astext()) - raise nodes.SkipNode - - def visit_citation_reference(self, node): - self.add_text('[%s]' % node.astext()) - raise nodes.SkipNode - - def visit_Text(self, node): - self.add_text(node.astext()) - - def depart_Text(self, node): - pass - - def visit_generated(self, node): - pass - - def depart_generated(self, node): - pass - - def visit_inline(self, node): - pass - - def depart_inline(self, node): - pass - - def visit_problematic(self, node): - self.add_text('>>') - - def depart_problematic(self, node): - self.add_text('<<') - - def visit_system_message(self, node): - self.new_state(0) - self.add_text('' % node.astext()) - self.end_state() - raise nodes.SkipNode - - def visit_comment(self, node): - raise nodes.SkipNode - - def visit_meta(self, node): - # only valid for HTML - raise nodes.SkipNode - - def visit_raw(self, node): - if 'text' in node.get('format', '').split(): - self.body.append(node.astext()) - raise nodes.SkipNode - - def _visit_admonition(self, node): - self.new_state(2) - - def _make_depart_admonition(name): - def depart_admonition(self, node): - self.end_state(first=name.capitalize() + ': ') - return depart_admonition - - visit_attention = _visit_admonition - depart_attention = _make_depart_admonition('attention') - visit_caution = _visit_admonition - depart_caution = _make_depart_admonition('caution') - visit_danger = _visit_admonition - depart_danger = _make_depart_admonition('danger') - visit_error = _visit_admonition - depart_error = _make_depart_admonition('error') - visit_hint = _visit_admonition - depart_hint = _make_depart_admonition('hint') - visit_important = _visit_admonition - depart_important = _make_depart_admonition('important') - visit_note = _visit_admonition - depart_note = _make_depart_admonition('note') - visit_tip = _visit_admonition - depart_tip = _make_depart_admonition('tip') - visit_warning = _visit_admonition - depart_warning = _make_depart_admonition('warning') - - def unknown_visit(self, node): - raise NotImplementedError('Unknown node: ' + node.__class__.__name__) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/client.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/client.py deleted file mode 100644 index f69bf1f4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/client.py +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import inspect - -from botocore.docs.utils import get_official_service_name -from botocore.docs.method import document_custom_method -from botocore.docs.method import document_model_driven_method -from botocore.docs.method import get_instance_public_methods -from botocore.docs.sharedexample import document_shared_examples - - -class ClientDocumenter(object): - def __init__(self, client, shared_examples=None): - self._client = client - self._shared_examples = shared_examples - if self._shared_examples is None: - self._shared_examples = {} - self._service_name = self._client.meta.service_model.service_name - - def document_client(self, section): - """Documents a client and its methods - - :param section: The section to write to. - """ - self._add_title(section) - self._add_class_signature(section) - client_methods = get_instance_public_methods(self._client) - self._add_client_intro(section, client_methods) - self._add_client_methods(section, client_methods) - - def _add_title(self, section): - section.style.h2('Client') - - def _add_client_intro(self, section, client_methods): - section = section.add_new_section('intro') - # Write out the top level description for the client. - official_service_name = get_official_service_name( - self._client.meta.service_model) - section.write( - 'A low-level client representing %s' % official_service_name) - - # Write out the client example instantiation. - self._add_client_creation_example(section) - - # List out all of the possible client methods. - 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.Client.%s`' % ( - class_name, method_name)) - - def _add_class_signature(self, section): - section.style.start_sphinx_py_class( - class_name='%s.Client' % self._client.__class__.__name__) - - def _add_client_creation_example(self, section): - section.style.start_codeblock() - section.style.new_line() - section.write( - 'client = session.create_client(\'{service}\')'.format( - service=self._service_name) - ) - section.style.end_codeblock() - - def _add_client_methods(self, section, client_methods): - section = section.add_new_section('methods') - for method_name in sorted(client_methods): - self._add_client_method( - section, method_name, client_methods[method_name]) - - def _add_client_method(self, section, method_name, method): - section = section.add_new_section(method_name) - if self._is_custom_method(method_name): - self._add_custom_method(section, method_name, method) - else: - self._add_model_driven_method(section, method_name) - - def _is_custom_method(self, method_name): - return method_name not in self._client.meta.method_to_api_mapping - - def _add_custom_method(self, section, method_name, method): - document_custom_method(section, method_name, method) - - def _add_model_driven_method(self, section, method_name): - service_model = self._client.meta.service_model - operation_name = self._client.meta.method_to_api_mapping[method_name] - operation_model = service_model.operation_model(operation_name) - - example_prefix = 'response = client.%s' % method_name - document_model_driven_method( - section, method_name, operation_model, - event_emitter=self._client.meta.events, - method_description=operation_model.documentation, - example_prefix=example_prefix, - ) - - # Add the shared examples - shared_examples = self._shared_examples.get(operation_name) - if shared_examples: - document_shared_examples( - section, operation_model, example_prefix, shared_examples) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/docstring.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/docstring.py deleted file mode 100644 index 33c68932..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/docstring.py +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.method import document_model_driven_method -from botocore.docs.waiter import document_wait_method -from botocore.docs.paginator import document_paginate_method -from botocore.docs.bcdoc.restdoc import DocumentStructure - - -class LazyLoadedDocstring(str): - """Used for lazily loading docstrings - - You can instantiate this class and assign it to a __doc__ value. - The docstring will not be generated till accessed via __doc__ or - help(). Note that all docstring classes **must** subclass from - this class. It cannot be used directly as a docstring. - """ - def __init__(self, *args, **kwargs): - """ - The args and kwargs are the same as the underlying document - generation function. These just get proxied to the underlying - function. - """ - super(LazyLoadedDocstring, self).__init__() - self._gen_args = args - self._gen_kwargs = kwargs - self._docstring = None - - def __new__(cls, *args, **kwargs): - # Needed in order to sub class from str with args and kwargs - return super(LazyLoadedDocstring, cls).__new__(cls) - - def _write_docstring(self, *args, **kwargs): - raise NotImplementedError( - '_write_docstring is not implemented. Please subclass from ' - 'this class and provide your own _write_docstring method' - ) - - def expandtabs(self, tabsize=8): - """Expands tabs to spaces - - So this is a big hack in order to get lazy loaded docstring work - for the ``help()``. In the ``help()`` function, ``pydoc`` and - ``inspect`` are used. At some point the ``inspect.cleandoc`` - method is called. To clean the docs ``expandtabs`` is called - and that is where we override the method to generate and return the - docstrings. - """ - if self._docstring is None: - self._generate() - return self._docstring.expandtabs(tabsize) - - def __str__(self): - return self._generate() - - # __doc__ of target will use either __repr__ or __str__ of this class. - __repr__ = __str__ - - def _generate(self): - # Generate the docstring if it is not already cached. - if self._docstring is None: - self._docstring = self._create_docstring() - return self._docstring - - def _create_docstring(self): - docstring_structure = DocumentStructure('docstring', target='html') - # Call the document method function with the args and kwargs - # passed to the class. - self._write_docstring( - docstring_structure, *self._gen_args, - **self._gen_kwargs) - return docstring_structure.flush_structure().decode('utf-8') - - -class ClientMethodDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_model_driven_method(*args, **kwargs) - - -class WaiterDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_wait_method(*args, **kwargs) - - -class PaginatorDocstring(LazyLoadedDocstring): - def _write_docstring(self, *args, **kwargs): - document_paginate_method(*args, **kwargs) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/example.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/example.py deleted file mode 100644 index c0f6bbb6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/example.py +++ /dev/null @@ -1,208 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.shape import ShapeDocumenter -from botocore.docs.utils import py_default - - -class BaseExampleDocumenter(ShapeDocumenter): - def document_example(self, section, shape, prefix=None, include=None, - exclude=None): - """Generates an example based on a shape - - :param section: The section to write the documentation to. - - :param shape: The shape of the operation. - - :param prefix: Anything to be included before the example - - :type include: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include: The parameter shapes to include in the documentation. - - :type exclude: List of the names of the parameters to exclude. - :param exclude: The names of the parameters to exclude from - documentation. - """ - history = [] - section.style.new_line() - section.style.start_codeblock() - if prefix is not None: - section.write(prefix) - self.traverse_and_document_shape( - section=section, shape=shape, history=history, - include=include, exclude=exclude) - - def document_recursive_shape(self, section, shape, **kwargs): - section.write('{\'... recursive ...\'}') - - def document_shape_default(self, section, shape, history, include=None, - exclude=None, **kwargs): - py_type = self._get_special_py_default(shape) - if py_type is None: - py_type = py_default(shape.type_name) - - if self._context.get('streaming_shape') == shape: - py_type = 'StreamingBody()' - section.write(py_type) - - def document_shape_type_string(self, section, shape, history, - include=None, exclude=None, **kwargs): - if 'enum' in shape.metadata: - for i, enum in enumerate(shape.metadata['enum']): - section.write('\'%s\'' % enum) - if i < len(shape.metadata['enum']) - 1: - section.write('|') - else: - self.document_shape_default(section, shape, history) - - def document_shape_type_list(self, section, shape, history, include=None, - exclude=None, **kwargs): - param_shape = shape.member - list_section = section.add_new_section('list-value') - self._start_nested_param(list_section, '[') - param_section = list_section.add_new_section( - 'member', context={'shape': param_shape.name}) - self.traverse_and_document_shape( - section=param_section, shape=param_shape, history=history) - ending_comma_section = list_section.add_new_section('ending-comma') - ending_comma_section.write(',') - ending_bracket_section = list_section.add_new_section( - 'ending-bracket') - self._end_nested_param(ending_bracket_section, ']') - - def document_shape_type_structure(self, section, shape, history, - include=None, exclude=None, **kwargs): - if not shape.members: - section.write('{}') - return - - section = section.add_new_section('structure-value') - self._start_nested_param(section, '{') - - input_members = self._add_members_to_shape(shape.members, include) - - for i, param in enumerate(input_members): - if exclude and param in exclude: - continue - param_section = section.add_new_section(param) - param_section.write('\'%s\': ' % param) - param_shape = input_members[param] - param_value_section = param_section.add_new_section( - 'member-value', context={'shape': param_shape.name}) - self.traverse_and_document_shape( - section=param_value_section, shape=param_shape, - history=history, name=param) - if i < len(input_members) - 1: - ending_comma_section = param_section.add_new_section( - 'ending-comma') - ending_comma_section.write(',') - ending_comma_section.style.new_line() - self._end_structure(section, '{', '}') - - def document_shape_type_map(self, section, shape, history, - include=None, exclude=None, **kwargs): - map_section = section.add_new_section('map-value') - self._start_nested_param(map_section, '{') - value_shape = shape.value - key_section = map_section.add_new_section( - 'key', context={'shape': shape.key.name}) - key_section.write('\'string\': ') - value_section = map_section.add_new_section( - 'value', context={'shape': value_shape.name}) - self.traverse_and_document_shape( - section=value_section, shape=value_shape, history=history) - end_bracket_section = map_section.add_new_section('ending-bracket') - self._end_nested_param(end_bracket_section, '}') - - def _add_members_to_shape(self, members, include): - if include: - members = members.copy() - for param in include: - members[param.name] = param - return members - - def _start_nested_param(self, section, start=None): - if start is not None: - section.write(start) - section.style.indent() - section.style.indent() - section.style.new_line() - - def _end_nested_param(self, section, end=None): - section.style.dedent() - section.style.dedent() - section.style.new_line() - if end is not None: - section.write(end) - - def _end_structure(self, section, start, end): - # If there are no members in the strucuture, then make sure the - # start and the end bracket are on the same line, by removing all - # previous text and writing the start and end. - if not section.available_sections: - section.clear_text() - section.write(start + end) - self._end_nested_param(section) - else: - end_bracket_section = section.add_new_section('ending-bracket') - self._end_nested_param(end_bracket_section, end) - - -class ResponseExampleDocumenter(BaseExampleDocumenter): - EVENT_NAME = 'response-example' - - def document_shape_type_event_stream(self, section, shape, history, - **kwargs): - section.write('EventStream(') - self.document_shape_type_structure(section, shape, history, **kwargs) - end_section = section.add_new_section('event-stream-end') - end_section.write(')') - - -class RequestExampleDocumenter(BaseExampleDocumenter): - EVENT_NAME = 'request-example' - - def document_shape_type_structure(self, section, shape, history, - include=None, exclude=None, **kwargs): - param_format = '\'%s\'' - operator = ': ' - start = '{' - end = '}' - - if len(history) <= 1: - operator = '=' - start = '(' - end = ')' - param_format = '%s' - section = section.add_new_section('structure-value') - self._start_nested_param(section, start) - input_members = self._add_members_to_shape(shape.members, include) - - for i, param in enumerate(input_members): - if exclude and param in exclude: - continue - param_section = section.add_new_section(param) - param_section.write(param_format % param) - param_section.write(operator) - param_shape = input_members[param] - param_value_section = param_section.add_new_section( - 'member-value', context={'shape': param_shape.name}) - self.traverse_and_document_shape( - section=param_value_section, shape=param_shape, - history=history, name=param) - if i < len(input_members) - 1: - ending_comma_section = param_section.add_new_section( - 'ending-comma') - ending_comma_section.write(',') - ending_comma_section.style.new_line() - self._end_structure(section, start, end) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/method.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/method.py deleted file mode 100644 index 856a7a21..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/method.py +++ /dev/null @@ -1,282 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import inspect - -from botocore.docs.params import RequestParamsDocumenter -from botocore.docs.params import ResponseParamsDocumenter -from botocore.docs.example import ResponseExampleDocumenter -from botocore.docs.example import RequestExampleDocumenter - - -AWS_DOC_BASE = 'https://docs.aws.amazon.com/goto/WebAPI' - - -def get_instance_public_methods(instance): - """Retrieves an objects public methods - - :param instance: The instance of the class to inspect - :rtype: dict - :returns: A dictionary that represents an instance's methods where - the keys are the name of the methods and the - values are the handler to the method. - """ - instance_members = inspect.getmembers(instance) - instance_methods = {} - for name, member in instance_members: - if not name.startswith('_'): - if inspect.ismethod(member): - instance_methods[name] = member - return instance_methods - - -def document_model_driven_signature(section, name, operation_model, - include=None, exclude=None): - """Documents the signature of a model-driven method - - :param section: The section to write the documentation to. - - :param name: The name of the method - - :param operation_model: The operation model for the method - - :type include: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include: The parameter shapes to include in the documentation. - - :type exclude: List of the names of the parameters to exclude. - :param exclude: The names of the parameters to exclude from - documentation. - """ - params = {} - if operation_model.input_shape: - params = operation_model.input_shape.members - - parameter_names = list(params.keys()) - - if include is not None: - for member in include: - parameter_names.append(member.name) - - if exclude is not None: - for member in exclude: - if member in parameter_names: - parameter_names.remove(member) - - signature_params = '' - if parameter_names: - signature_params = '**kwargs' - section.style.start_sphinx_py_method(name, signature_params) - - -def document_custom_signature(section, name, method, - include=None, exclude=None): - """Documents the signature of a custom method - - :param section: The section to write the documentation to. - - :param name: The name of the method - - :param method: The handle to the method being documented - - :type include: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include: The parameter shapes to include in the documentation. - - :type exclude: List of the names of the parameters to exclude. - :param exclude: The names of the parameters to exclude from - documentation. - """ - args, varargs, keywords, defaults = inspect.getargspec(method) - args = args[1:] - signature_params = inspect.formatargspec( - args, varargs, keywords, defaults) - signature_params = signature_params.lstrip('(') - signature_params = signature_params.rstrip(')') - section.style.start_sphinx_py_method(name, signature_params) - - -def document_custom_method(section, method_name, method): - """Documents a non-data driven method - - :param section: The section to write the documentation to. - - :param method_name: The name of the method - - :param method: The handle to the method being documented - """ - document_custom_signature( - section, method_name, method) - method_intro_section = section.add_new_section('method-intro') - method_intro_section.writeln('') - doc_string = inspect.getdoc(method) - if doc_string is not None: - method_intro_section.style.write_py_doc_string(doc_string) - - -def document_model_driven_method(section, method_name, operation_model, - event_emitter, method_description=None, - example_prefix=None, include_input=None, - include_output=None, exclude_input=None, - exclude_output=None, document_output=True, - include_signature=True): - """Documents an individual method - - :param section: The section to write to - - :param method_name: The name of the method - - :param operation_model: The model of the operation - - :param event_emitter: The event emitter to use to emit events - - :param example_prefix: The prefix to use in the method example. - - :type include_input: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include_input: The parameter shapes to include in the - input documentation. - - :type include_output: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include_input: The parameter shapes to include in the - output documentation. - - :type exclude_input: List of the names of the parameters to exclude. - :param exclude_input: The names of the parameters to exclude from - input documentation. - - :type exclude_output: List of the names of the parameters to exclude. - :param exclude_input: The names of the parameters to exclude from - output documentation. - - :param document_output: A boolean flag to indicate whether to - document the output. - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - # Add the signature if specified. - if include_signature: - document_model_driven_signature( - section, method_name, operation_model, include=include_input, - exclude=exclude_input) - - # Add the description for the method. - method_intro_section = section.add_new_section('method-intro') - method_intro_section.include_doc_string(method_description) - if operation_model.deprecated: - method_intro_section.style.start_danger() - method_intro_section.writeln( - 'This operation is deprecated and may not function as ' - 'expected. This operation should not be used going forward ' - 'and is only kept for the purpose of backwards compatiblity.') - method_intro_section.style.end_danger() - service_uid = operation_model.service_model.metadata.get('uid') - if service_uid is not None: - method_intro_section.style.new_paragraph() - method_intro_section.write("See also: ") - link = '%s/%s/%s' % (AWS_DOC_BASE, service_uid, - operation_model.name) - method_intro_section.style.external_link(title="AWS API Documentation", - link=link) - method_intro_section.writeln('') - - # Add the example section. - example_section = section.add_new_section('example') - example_section.style.new_paragraph() - example_section.style.bold('Request Syntax') - - context = { - 'special_shape_types': { - 'streaming_input_shape': operation_model.get_streaming_input(), - 'streaming_output_shape': operation_model.get_streaming_output(), - 'eventstream_output_shape': operation_model.get_event_stream_output(), - }, - } - - if operation_model.input_shape: - RequestExampleDocumenter( - service_name=operation_model.service_model.service_name, - operation_name=operation_model.name, - event_emitter=event_emitter, context=context).document_example( - example_section, operation_model.input_shape, - prefix=example_prefix, include=include_input, - exclude=exclude_input) - else: - example_section.style.new_paragraph() - example_section.style.start_codeblock() - example_section.write(example_prefix + '()') - - # Add the request parameter documentation. - request_params_section = section.add_new_section('request-params') - if operation_model.input_shape: - RequestParamsDocumenter( - service_name=operation_model.service_model.service_name, - operation_name=operation_model.name, - event_emitter=event_emitter, context=context).document_params( - request_params_section, operation_model.input_shape, - include=include_input, exclude=exclude_input) - - # Add the return value documentation - return_section = section.add_new_section('return') - return_section.style.new_line() - if operation_model.output_shape is not None and document_output: - return_section.write(':rtype: dict') - return_section.style.new_line() - return_section.write(':returns: ') - return_section.style.indent() - return_section.style.new_line() - - # If the operation is an event stream, describe the tagged union - event_stream_output = operation_model.get_event_stream_output() - if event_stream_output: - event_section = return_section.add_new_section('event-stream') - event_section.style.new_paragraph() - event_section.write( - 'The response of this operation contains an ' - ':class:`.EventStream` member. When iterated the ' - ':class:`.EventStream` will yield events based on the ' - 'structure below, where only one of the top level keys ' - 'will be present for any given event.' - ) - event_section.style.new_line() - - # Add an example return value - return_example_section = return_section.add_new_section('example') - return_example_section.style.new_line() - return_example_section.style.bold('Response Syntax') - return_example_section.style.new_paragraph() - ResponseExampleDocumenter( - service_name=operation_model.service_model.service_name, - operation_name=operation_model.name, - event_emitter=event_emitter, - context=context).document_example( - return_example_section, operation_model.output_shape, - include=include_output, exclude=exclude_output) - - # Add a description for the return value - return_description_section = return_section.add_new_section( - 'description') - return_description_section.style.new_line() - return_description_section.style.bold('Response Structure') - return_description_section.style.new_paragraph() - ResponseParamsDocumenter( - service_name=operation_model.service_model.service_name, - operation_name=operation_model.name, - event_emitter=event_emitter, - context=context).document_params( - return_description_section, operation_model.output_shape, - include=include_output, exclude=exclude_output) - else: - return_section.write(':returns: None') - diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/paginator.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/paginator.py deleted file mode 100644 index 13e0bb22..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/paginator.py +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.compat import OrderedDict -from botocore.docs.utils import DocumentedShape -from botocore.utils import get_service_module_name -from botocore.docs.method import document_model_driven_method - - -class PaginatorDocumenter(object): - def __init__(self, client, service_paginator_model): - self._client = client - self._service_name = self._client.meta.service_model.service_name - self._service_paginator_model = service_paginator_model - - def document_paginators(self, section): - """Documents the various paginators for a service - - param section: The section to write to. - """ - section.style.h2('Paginators') - section.style.new_line() - section.writeln('The available paginators are:') - - paginator_names = sorted( - self._service_paginator_model._paginator_config) - - # List the available paginators and then document each paginator. - for paginator_name in paginator_names: - section.style.li( - ':py:class:`%s.Paginator.%s`' % ( - self._client.__class__.__name__, paginator_name)) - self._add_paginator(section, paginator_name) - - def _add_paginator(self, section, paginator_name): - section = section.add_new_section(paginator_name) - - # Docment the paginator class - section.style.start_sphinx_py_class( - class_name='%s.Paginator.%s' % ( - self._client.__class__.__name__, paginator_name)) - section.style.start_codeblock() - section.style.new_line() - - # Document how to instantiate the paginator. - section.write( - 'paginator = client.get_paginator(\'%s\')' % xform_name( - paginator_name) - ) - section.style.end_codeblock() - section.style.new_line() - # Get the pagination model for the particular paginator. - paginator_config = self._service_paginator_model.get_paginator( - paginator_name) - document_paginate_method( - section=section, - paginator_name=paginator_name, - event_emitter=self._client.meta.events, - service_model=self._client.meta.service_model, - paginator_config=paginator_config - ) - - -def document_paginate_method(section, paginator_name, event_emitter, - service_model, paginator_config, - include_signature=True): - """Documents the paginate method of a paginator - - :param section: The section to write to - - :param paginator_name: The name of the paginator. It is snake cased. - - :param event_emitter: The event emitter to use to emit events - - :param service_model: The service model - - :param paginator_config: The paginator config associated to a particular - paginator. - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - # Retrieve the operation model of the underlying operation. - operation_model = service_model.operation_model( - paginator_name) - - # Add representations of the request and response parameters - # we want to include in the description of the paginate method. - # These are parameters we expose via the botocore interface. - pagination_config_members = OrderedDict() - - pagination_config_members['MaxItems'] = DocumentedShape( - name='MaxItems', type_name='integer', - documentation=( - '

The total number of items to return. If the total ' - 'number of items available is more than the value ' - 'specified in max-items then a NextToken ' - 'will be provided in the output that you can use to ' - 'resume pagination.

')) - - pagination_config_members['PageSize'] = DocumentedShape( - name='PageSize', type_name='integer', - documentation='

The size of each page.

') - - pagination_config_members['StartingToken'] = DocumentedShape( - name='StartingToken', type_name='string', - documentation=( - '

A token to specify where to start paginating. ' - 'This is the NextToken from a previous ' - 'response.

')) - - botocore_pagination_params = [ - DocumentedShape( - name='PaginationConfig', type_name='structure', - documentation=( - '

A dictionary that provides parameters to control ' - 'pagination.

'), - members=pagination_config_members) - ] - - botocore_pagination_response_params = [ - DocumentedShape( - name='NextToken', type_name='string', - documentation=( - '

A token to resume pagination.

')) - ] - - service_pagination_params = [] - - # Add the normal input token of the method to a list - # of input paramters that we wish to hide since we expose our own. - if isinstance(paginator_config['input_token'], list): - service_pagination_params += paginator_config['input_token'] - else: - service_pagination_params.append(paginator_config['input_token']) - - # Hide the limit key in the documentation. - if paginator_config.get('limit_key', None): - service_pagination_params.append(paginator_config['limit_key']) - - # Hide the output tokens in the documentation. - service_pagination_response_params = [] - if isinstance(paginator_config['output_token'], list): - service_pagination_response_params += paginator_config[ - 'output_token'] - else: - service_pagination_response_params.append(paginator_config[ - 'output_token']) - - paginate_description = ( - 'Creates an iterator that will paginate through responses ' - 'from :py:meth:`{0}.Client.{1}`.'.format( - get_service_module_name(service_model), xform_name(paginator_name)) - ) - - document_model_driven_method( - section, 'paginate', operation_model, - event_emitter=event_emitter, - method_description=paginate_description, - example_prefix='response_iterator = paginator.paginate', - include_input=botocore_pagination_params, - include_output=botocore_pagination_response_params, - exclude_input=service_pagination_params, - exclude_output=service_pagination_response_params, - include_signature=include_signature - ) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/params.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/params.py deleted file mode 100644 index 1ce4ddff..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/params.py +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.docs.shape import ShapeDocumenter -from botocore.docs.utils import py_type_name - - -class BaseParamsDocumenter(ShapeDocumenter): - def document_params(self, section, shape, include=None, exclude=None): - """Fills out the documentation for a section given a model shape. - - :param section: The section to write the documentation to. - - :param shape: The shape of the operation. - - :type include: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include: The parameter shapes to include in the documentation. - - :type exclude: List of the names of the parameters to exclude. - :param exclude: The names of the parameters to exclude from - documentation. - """ - history = [] - self.traverse_and_document_shape( - section=section, shape=shape, history=history, - name=None, include=include, exclude=exclude) - - def document_recursive_shape(self, section, shape, **kwargs): - self._add_member_documentation(section, shape, **kwargs) - - def document_shape_default(self, section, shape, history, include=None, - exclude=None, **kwargs): - self._add_member_documentation(section, shape, **kwargs) - - def document_shape_type_list(self, section, shape, history, include=None, - exclude=None, **kwargs): - self._add_member_documentation(section, shape, **kwargs) - param_shape = shape.member - param_section = section.add_new_section( - param_shape.name, context={'shape': shape.member.name}) - self._start_nested_param(param_section) - self.traverse_and_document_shape( - section=param_section, shape=param_shape, - history=history, name=None) - section = section.add_new_section('end-list') - self._end_nested_param(section) - - def document_shape_type_map(self, section, shape, history, include=None, - exclude=None, **kwargs): - self._add_member_documentation(section, shape, **kwargs) - - key_section = section.add_new_section( - 'key', context={'shape': shape.key.name}) - self._start_nested_param(key_section) - self._add_member_documentation(key_section, shape.key) - - param_section = section.add_new_section( - shape.value.name, context={'shape': shape.value.name}) - param_section.style.indent() - self._start_nested_param(param_section) - self.traverse_and_document_shape( - section=param_section, shape=shape.value, - history=history, name=None) - - end_section = section.add_new_section('end-map') - self._end_nested_param(end_section) - self._end_nested_param(end_section) - - def document_shape_type_structure(self, section, shape, history, - include=None, exclude=None, - name=None, **kwargs): - members = self._add_members_to_shape(shape.members, include) - self._add_member_documentation(section, shape, name=name) - for param in members: - if exclude and param in exclude: - continue - param_shape = members[param] - param_section = section.add_new_section( - param, context={'shape': param_shape.name}) - self._start_nested_param(param_section) - self.traverse_and_document_shape( - section=param_section, shape=param_shape, - history=history, name=param) - section = section.add_new_section('end-structure') - self._end_nested_param(section) - - def _add_member_documentation(self, section, shape, **kwargs): - pass - - def _add_members_to_shape(self, members, include): - if include: - members = members.copy() - for param in include: - members[param.name] = param - return members - - def _document_non_top_level_param_type(self, type_section, shape): - special_py_type = self._get_special_py_type_name(shape) - py_type = py_type_name(shape.type_name) - - type_format = '(%s) -- ' - if special_py_type is not None: - # Special type can reference a linked class. - # Italicizing it blows away the link. - type_section.write(type_format % special_py_type) - else: - type_section.style.italics(type_format % py_type) - - def _start_nested_param(self, section): - section.style.indent() - section.style.new_line() - - def _end_nested_param(self, section): - section.style.dedent() - section.style.new_line() - - -class ResponseParamsDocumenter(BaseParamsDocumenter): - """Generates the description for the response parameters""" - - EVENT_NAME = 'response-params' - - def _add_member_documentation(self, section, shape, name=None, **kwargs): - name_section = section.add_new_section('param-name') - name_section.write('- ') - if name is not None: - name_section.style.bold('%s ' % name) - type_section = section.add_new_section('param-type') - self._document_non_top_level_param_type(type_section, shape) - - documentation_section = section.add_new_section('param-documentation') - if shape.documentation: - documentation_section.style.indent() - documentation_section.include_doc_string(shape.documentation) - section.style.new_paragraph() - - def document_shape_type_event_stream(self, section, shape, history, - **kwargs): - self.document_shape_type_structure(section, shape, history, **kwargs) - - -class RequestParamsDocumenter(BaseParamsDocumenter): - """Generates the description for the request parameters""" - - EVENT_NAME = 'request-params' - - def document_shape_type_structure(self, section, shape, history, - include=None, exclude=None, **kwargs): - if len(history) > 1: - self._add_member_documentation(section, shape, **kwargs) - section.style.indent() - members = self._add_members_to_shape(shape.members, include) - for i, param in enumerate(members): - if exclude and param in exclude: - continue - param_shape = members[param] - param_section = section.add_new_section( - param, context={'shape': param_shape.name}) - param_section.style.new_line() - is_required = param in shape.required_members - self.traverse_and_document_shape( - section=param_section, shape=param_shape, - history=history, name=param, is_required=is_required) - section = section.add_new_section('end-structure') - if len(history) > 1: - section.style.dedent() - section.style.new_line() - - def _add_member_documentation(self, section, shape, name=None, - is_top_level_param=False, is_required=False, - **kwargs): - py_type = self._get_special_py_type_name(shape) - if py_type is None: - py_type = py_type_name(shape.type_name) - if is_top_level_param: - type_section = section.add_new_section('param-type') - type_section.write(':type %s: %s' % (name, py_type)) - end_type_section = type_section.add_new_section('end-param-type') - end_type_section.style.new_line() - name_section = section.add_new_section('param-name') - name_section.write(':param %s: ' % name) - - else: - name_section = section.add_new_section('param-name') - name_section.write('- ') - if name is not None: - name_section.style.bold('%s ' % name) - type_section = section.add_new_section('param-type') - self._document_non_top_level_param_type(type_section, shape) - - if is_required: - is_required_section = section.add_new_section('is-required') - is_required_section.style.indent() - is_required_section.style.bold('[REQUIRED] ') - if shape.documentation: - documentation_section = section.add_new_section( - 'param-documentation') - documentation_section.style.indent() - documentation_section.include_doc_string(shape.documentation) - self._add_special_trait_documentation(documentation_section, shape) - end_param_section = section.add_new_section('end-param') - end_param_section.style.new_paragraph() - - def _add_special_trait_documentation(self, section, shape): - if 'idempotencyToken' in shape.metadata: - self._append_idempotency_documentation(section) - - def _append_idempotency_documentation(self, section): - docstring = 'This field is autopopulated if not provided.' - section.write(docstring) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/service.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/service.py deleted file mode 100644 index c9b5d7b3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/service.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.exceptions import DataNotFoundError -from botocore.docs.utils import get_official_service_name -from botocore.docs.client import ClientDocumenter -from botocore.docs.waiter import WaiterDocumenter -from botocore.docs.paginator import PaginatorDocumenter -from botocore.docs.bcdoc.restdoc import DocumentStructure - - -class ServiceDocumenter(object): - def __init__(self, service_name, session): - self._session = session - self._service_name = service_name - - self._client = self._session.create_client( - service_name, region_name='us-east-1', aws_access_key_id='foo', - aws_secret_access_key='bar') - - self.sections = [ - 'title', - 'table-of-contents', - 'client-api', - 'paginator-api', - 'waiter-api' - ] - - def document_service(self): - """Documents an entire service. - - :returns: The reStructured text of the documented service. - """ - doc_structure = DocumentStructure( - self._service_name, section_names=self.sections, - target='html') - self.title(doc_structure.get_section('title')) - self.table_of_contents(doc_structure.get_section('table-of-contents')) - self.client_api(doc_structure.get_section('client-api')) - self.paginator_api(doc_structure.get_section('paginator-api')) - self.waiter_api(doc_structure.get_section('waiter-api')) - return doc_structure.flush_structure() - - def title(self, section): - section.style.h1(self._client.__class__.__name__) - - def table_of_contents(self, section): - section.style.table_of_contents(title='Table of Contents', depth=2) - - def client_api(self, section): - examples = None - try: - examples = self.get_examples(self._service_name) - except DataNotFoundError: - pass - - ClientDocumenter(self._client, examples).document_client(section) - - def paginator_api(self, section): - try: - service_paginator_model = self._session.get_paginator_model( - self._service_name) - except DataNotFoundError: - return - paginator_documenter = PaginatorDocumenter( - self._client, service_paginator_model) - paginator_documenter.document_paginators(section) - - def waiter_api(self, section): - if self._client.waiter_names: - service_waiter_model = self._session.get_waiter_model( - self._service_name) - waiter_documenter = WaiterDocumenter( - self._client, service_waiter_model) - waiter_documenter.document_waiters(section) - - def get_examples(self, service_name, api_version=None): - loader = self._session.get_component('data_loader') - examples = loader.load_service_model( - service_name, 'examples-1', api_version) - return examples['examples'] diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/shape.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/shape.py deleted file mode 100644 index c1886166..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/shape.py +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - - -# NOTE: This class should not be instantiated and its -# ``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 = '' - - def __init__(self, service_name, operation_name, event_emitter, - context=None): - self._service_name = service_name - self._operation_name = operation_name - self._event_emitter = event_emitter - self._context = context - if context is None: - self._context = { - 'special_shape_types': {} - } - - def traverse_and_document_shape(self, section, shape, history, - include=None, exclude=None, name=None, - is_required=False): - """Traverses and documents a shape - - Will take a self class and call its appropriate methods as a shape - is traversed. - - :param section: The section to document. - - :param history: A list of the names of the shapes that have been - traversed. - - :type include: Dictionary where keys are parameter names and - values are the shapes of the parameter names. - :param include: The parameter shapes to include in the documentation. - - :type exclude: List of the names of the parameters to exclude. - :param exclude: The names of the parameters to exclude from - documentation. - - :param name: The name of the shape. - - :param is_required: If the shape is a required member. - """ - param_type = shape.type_name - if getattr(shape, 'serialization', {}).get('eventstream'): - param_type = 'event_stream' - if shape.name in history: - self.document_recursive_shape(section, shape, name=name) - else: - history.append(shape.name) - is_top_level_param = (len(history) == 2) - getattr(self, 'document_shape_type_%s' % param_type, - self.document_shape_default)( - section, shape, history=history, name=name, - include=include, exclude=exclude, - is_top_level_param=is_top_level_param, - is_required=is_required) - if is_top_level_param: - self._event_emitter.emit( - 'docs.%s.%s.%s.%s' % (self.EVENT_NAME, - self._service_name, - self._operation_name, - name), - section=section) - at_overlying_method_section = (len(history) == 1) - if at_overlying_method_section: - self._event_emitter.emit( - 'docs.%s.%s.%s.complete-section' % (self.EVENT_NAME, - self._service_name, - self._operation_name), - section=section) - history.pop() - - 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()', - 'eventstream_output_shape': 'EventStream()', - } - return self._get_value_for_special_type(shape, special_defaults) - - def _get_special_py_type_name(self, shape): - special_type_names = { - 'jsonvalue_header': 'JSON serializable', - 'streaming_input_shape': 'bytes or seekable file-like object', - 'streaming_output_shape': ':class:`.StreamingBody`', - 'eventstream_output_shape': ':class:`.EventStream`', - } - return self._get_value_for_special_type(shape, special_type_names) - - def _get_value_for_special_type(self, shape, special_type_map): - if is_json_value_header(shape): - return special_type_map['jsonvalue_header'] - for special_type, marked_shape in self._context[ - 'special_shape_types'].items(): - if special_type in special_type_map: - if shape == marked_shape: - return special_type_map[special_type] - return None diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/sharedexample.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/sharedexample.py deleted file mode 100644 index 1a31b6e4..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/sharedexample.py +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import re -import numbers -from botocore.utils import parse_timestamp -from botocore.docs.utils import escape_controls -from botocore.compat import six - - -class SharedExampleDocumenter(object): - def document_shared_example(self, example, prefix, section, - operation_model): - """Documents a single shared example based on its definition. - - :param example: The model of the example - - :param prefix: The prefix to use in the method example. - - :param section: The section to write to. - - :param operation_model: The model of the operation used in the example - """ - section.style.new_paragraph() - section.write(example.get('description')) - section.style.new_line() - self.document_input(section, example, prefix, - operation_model.input_shape) - self.document_output(section, example, operation_model.output_shape) - - def document_input(self, section, example, prefix, shape): - input_section = section.add_new_section('input') - input_section.style.start_codeblock() - if prefix is not None: - input_section.write(prefix) - params = example.get('input', {}) - comments = example.get('comments') - if comments: - comments = comments.get('input') - param_section = input_section.add_new_section('parameters') - self._document_params(param_section, params, comments, [], shape) - closing_section = input_section.add_new_section('input-close') - closing_section.style.new_line() - closing_section.style.new_line() - closing_section.write('print(response)') - closing_section.style.end_codeblock() - - def document_output(self, section, example, shape): - output_section = section.add_new_section('output') - output_section.style.new_line() - output_section.write('Expected Output:') - output_section.style.new_line() - output_section.style.start_codeblock() - params = example.get('output', {}) - - # There might not be an output, but we will return metadata anyway - params['ResponseMetadata'] = {"...": "..."} - comments = example.get('comments') - if comments: - comments = comments.get('output') - self._document_dict(output_section, params, comments, [], shape, True) - closing_section = output_section.add_new_section('output-close') - closing_section.style.end_codeblock() - - def _document(self, section, value, comments, path, shape): - """ - :param section: The section to add the docs to. - - :param value: The input / output values representing the parameters that - are included in the example. - - :param comments: The dictionary containing all the comments to be - applied to the example. - - :param path: A list describing where the documenter is in traversing the - parameters. This is used to find the equivalent location - in the comments dictionary. - """ - if isinstance(value, dict): - self._document_dict(section, value, comments, path, shape) - elif isinstance(value, list): - self._document_list(section, value, comments, path, shape) - elif isinstance(value, numbers.Number): - self._document_number(section, value, path) - elif shape and shape.type_name == 'timestamp': - self._document_datetime(section, value, path) - else: - self._document_str(section, value, path) - - def _document_dict(self, section, value, comments, path, shape, - top_level=False): - dict_section = section.add_new_section('dict-value') - self._start_nested_value(dict_section, '{') - for key, val in value.items(): - path.append('.%s' % key) - item_section = dict_section.add_new_section(key) - item_section.style.new_line() - item_comment = self._get_comment(path, comments) - if item_comment: - item_section.write(item_comment) - item_section.style.new_line() - item_section.write("'%s': " % key) - - # Shape could be none if there is no output besides ResponseMetadata - item_shape = None - if shape: - if shape.type_name == 'structure': - item_shape = shape.members.get(key) - elif shape.type_name == 'map': - item_shape = shape.value - self._document(item_section, val, comments, path, item_shape) - path.pop() - dict_section_end = dict_section.add_new_section('ending-brace') - self._end_nested_value(dict_section_end, '}') - if not top_level: - dict_section_end.write(',') - - def _document_params(self, section, value, comments, path, shape): - param_section = section.add_new_section('param-values') - self._start_nested_value(param_section, '(') - for key, val in value.items(): - path.append('.%s' % key) - item_section = param_section.add_new_section(key) - item_section.style.new_line() - item_comment = self._get_comment(path, comments) - if item_comment: - item_section.write(item_comment) - item_section.style.new_line() - item_section.write(key + '=') - - # Shape could be none if there are no input parameters - item_shape = None - if shape: - item_shape = shape.members.get(key) - self._document(item_section, val, comments, path, item_shape) - path.pop() - param_section_end = param_section.add_new_section('ending-parenthesis') - self._end_nested_value(param_section_end, ')') - - def _document_list(self, section, value, comments, path, shape): - list_section = section.add_new_section('list-section') - self._start_nested_value(list_section, '[') - item_shape = shape.member - for index, val in enumerate(value): - item_section = list_section.add_new_section(index) - item_section.style.new_line() - path.append('[%s]' % index) - item_comment = self._get_comment(path, comments) - if item_comment: - item_section.write(item_comment) - item_section.style.new_line() - self._document(item_section, val, comments, path, item_shape) - path.pop() - list_section_end = list_section.add_new_section('ending-bracket') - self._end_nested_value(list_section_end, '],') - - def _document_str(self, section, value, path): - # We do the string conversion because this might accept a type that - # we don't specifically address. - safe_value = escape_controls(value) - section.write(u"'%s'," % six.text_type(safe_value)) - - def _document_number(self, section, value, path): - section.write("%s," % str(value)) - - def _document_datetime(self, section, value, path): - datetime_tuple = parse_timestamp(value).timetuple() - datetime_str = str(datetime_tuple[0]) - for i in range(1, len(datetime_tuple)): - datetime_str += ", " + str(datetime_tuple[i]) - section.write("datetime(%s)," % datetime_str) - - def _get_comment(self, path, comments): - key = re.sub(r'^\.', '', ''.join(path)) - if comments and key in comments: - return '# ' + comments[key] - else: - return '' - - def _start_nested_value(self, section, start): - section.write(start) - section.style.indent() - section.style.indent() - - def _end_nested_value(self, section, end): - section.style.dedent() - section.style.dedent() - section.style.new_line() - section.write(end) - - -def document_shared_examples(section, operation_model, example_prefix, - shared_examples): - """Documents the shared examples - - :param section: The section to write to. - - :param operation_model: The model of the operation. - - :param example_prefix: The prefix to use in the method example. - - :param shared_examples: The shared JSON examples from the model. - """ - container_section = section.add_new_section('shared-examples') - container_section.style.new_paragraph() - container_section.style.bold('Examples') - documenter = SharedExampleDocumenter() - for example in shared_examples: - documenter.document_shared_example( - example=example, - section=container_section.add_new_section(example['id']), - prefix=example_prefix, - operation_model=operation_model - ) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/utils.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/utils.py deleted file mode 100644 index a0d2d662..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/utils.py +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import re -from collections import namedtuple - - -def py_type_name(type_name): - """Get the Python type name for a given model type. - - >>> py_type_name('list') - 'list' - >>> py_type_name('structure') - 'dict' - - :rtype: string - """ - return { - 'blob': 'bytes', - 'character': 'string', - 'double': 'float', - 'long': 'integer', - 'map': 'dict', - 'structure': 'dict', - 'timestamp': 'datetime', - }.get(type_name, type_name) - - -def py_default(type_name): - """Get the Python default value for a given model type. - - >>> py_default('string') - '\'string\'' - >>> py_default('list') - '[...]' - >>> py_default('unknown') - '...' - - :rtype: string - """ - return { - 'double': '123.0', - 'long': '123', - 'integer': '123', - 'string': "'string'", - 'blob': "b'bytes'", - 'boolean': 'True|False', - 'list': '[...]', - 'map': '{...}', - 'structure': '{...}', - 'timestamp': 'datetime(2015, 1, 1)', - }.get(type_name, '...') - - -def get_official_service_name(service_model): - """Generate the official name of an AWS Service - - :param service_model: The service model representing the service - """ - official_name = service_model.metadata.get('serviceFullName') - short_name = service_model.metadata.get('serviceAbbreviation', '') - if short_name.startswith('Amazon'): - short_name = short_name[7:] - if short_name.startswith('AWS'): - short_name = short_name[4:] - if short_name and short_name.lower() not in official_name.lower(): - official_name += ' ({0})'.format(short_name) - return official_name - - -_DocumentedShape = namedtuple( - 'DocumentedShape', ['name', 'type_name', 'documentation', 'metadata', - 'members', 'required_members']) - - -class DocumentedShape (_DocumentedShape): - """Use this class to inject new shapes into a model for documentation""" - def __new__(cls, name, type_name, documentation, metadata=None, - members=None, required_members=None): - if metadata is None: - metadata = [] - if members is None: - members = [] - if required_members is None: - required_members = [] - return super(DocumentedShape, cls).__new__( - cls, name, type_name, documentation, metadata, members, - required_members) - - -class AutoPopulatedParam(object): - def __init__(self, name, param_description=None): - self.name = name - self.param_description = param_description - if param_description is None: - self.param_description = ( - 'Please note that this parameter is automatically populated ' - 'if it is not provided. Including this parameter is not ' - 'required\n') - - def document_auto_populated_param(self, event_name, section, **kwargs): - """Documents auto populated parameters - - It will remove any required marks for the parameter, remove the - parameter from the example, and add a snippet about the parameter - being autopopulated in the description. - """ - if event_name.startswith('docs.request-params'): - if self.name in section.available_sections: - section = section.get_section(self.name) - if 'is-required' in section.available_sections: - section.delete_section('is-required') - description_section = section.get_section( - 'param-documentation') - description_section.writeln(self.param_description) - elif event_name.startswith('docs.request-example'): - section = section.get_section('structure-value') - if self.name in section.available_sections: - section.delete_section(self.name) - - -class HideParamFromOperations(object): - """Hides a single parameter from multiple operations. - - This method will remove a parameter from documentation and from - examples. This method is typically used for things that are - automatically populated because a user would be unable to provide - a value (e.g., a checksum of a serialized XML request body).""" - def __init__(self, service_name, parameter_name, operation_names): - """ - :type service_name: str - :param service_name: Name of the service to modify. - - :type parameter_name: str - :param parameter_name: Name of the parameter to modify. - - :type operation_names: list - :param operation_names: Operation names to modify. - """ - self._parameter_name = parameter_name - self._params_events = set() - self._example_events = set() - # Build up the sets of relevant event names. - param_template = 'docs.request-params.%s.%s.complete-section' - example_template = 'docs.request-example.%s.%s.complete-section' - for name in operation_names: - self._params_events.add(param_template % (service_name, name)) - self._example_events.add(example_template % (service_name, name)) - - def hide_param(self, event_name, section, **kwargs): - if event_name in self._example_events: - # Modify the structure value for example events. - section = section.get_section('structure-value') - elif event_name not in self._params_events: - return - if self._parameter_name in section.available_sections: - section.delete_section(self._parameter_name) - - -class AppendParamDocumentation(object): - """Appends documentation to a specific parameter""" - def __init__(self, parameter_name, doc_string): - self._parameter_name = parameter_name - self._doc_string = doc_string - - def append_documentation(self, event_name, section, **kwargs): - if self._parameter_name in section.available_sections: - section = section.get_section(self._parameter_name) - description_section = section.get_section( - 'param-documentation') - description_section.writeln(self._doc_string) - - -_CONTROLS = { - '\n': '\\n', - '\r': '\\r', - '\t': '\\t', - '\b': '\\b', - '\f': '\\f', -} -# Combines all CONTROLS keys into a big or regular expression -_ESCAPE_CONTROLS_RE = re.compile('|'.join(map(re.escape, _CONTROLS))) -# Based on the match get the appropriate replacement from CONTROLS -_CONTROLS_MATCH_HANDLER = lambda match: _CONTROLS[match.group(0)] - - -def escape_controls(value): - return _ESCAPE_CONTROLS_RE.sub(_CONTROLS_MATCH_HANDLER, value) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/waiter.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/waiter.py deleted file mode 100644 index a38049c2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/docs/waiter.py +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore import xform_name -from botocore.compat import OrderedDict -from botocore.docs.utils import DocumentedShape -from botocore.utils import get_service_module_name -from botocore.docs.method import document_model_driven_method - - -class WaiterDocumenter(object): - def __init__(self, client, service_waiter_model): - self._client = client - self._service_name = self._client.meta.service_model.service_name - self._service_waiter_model = service_waiter_model - - def document_waiters(self, section): - """Documents the various waiters for a service. - - :param section: The section to write to. - """ - section.style.h2('Waiters') - section.style.new_line() - section.writeln('The available waiters are:') - for waiter_name in self._service_waiter_model.waiter_names: - section.style.li( - ':py:class:`%s.Waiter.%s`' % ( - self._client.__class__.__name__, waiter_name)) - self._add_single_waiter(section, waiter_name) - - def _add_single_waiter(self, section, waiter_name): - section = section.add_new_section(waiter_name) - section.style.start_sphinx_py_class( - class_name='%s.Waiter.%s' % ( - self._client.__class__.__name__, waiter_name)) - - # Add example on how to instantiate waiter. - section.style.start_codeblock() - section.style.new_line() - section.write( - 'waiter = client.get_waiter(\'%s\')' % xform_name(waiter_name) - ) - section.style.end_codeblock() - - # Add information on the wait() method - section.style.new_line() - document_wait_method( - section=section, - waiter_name=waiter_name, - event_emitter=self._client.meta.events, - service_model=self._client.meta.service_model, - service_waiter_model=self._service_waiter_model - ) - - -def document_wait_method(section, waiter_name, event_emitter, - service_model, service_waiter_model, - include_signature=True): - """Documents a the wait method of a waiter - - :param section: The section to write to - - :param waiter_name: The name of the waiter - - :param event_emitter: The event emitter to use to emit events - - :param service_model: The service model - - :param service_waiter_model: The waiter model associated to the service - - :param include_signature: Whether or not to include the signature. - It is useful for generating docstrings. - """ - waiter_model = service_waiter_model.get_waiter(waiter_name) - operation_model = service_model.operation_model( - waiter_model.operation) - - waiter_config_members = OrderedDict() - - waiter_config_members['Delay'] = DocumentedShape( - name='Delay', type_name='integer', - documentation=( - '

The amount of time in seconds to wait between ' - 'attempts. Default: {0}

'.format(waiter_model.delay))) - - waiter_config_members['MaxAttempts'] = DocumentedShape( - name='MaxAttempts', type_name='integer', - documentation=( - '

The maximum number of attempts to be made. ' - 'Default: {0}

'.format(waiter_model.max_attempts))) - - botocore_waiter_params = [ - DocumentedShape( - name='WaiterConfig', type_name='structure', - documentation=( - '

A dictionary that provides parameters to control ' - 'waiting behavior.

'), - members=waiter_config_members) - ] - - wait_description = ( - 'Polls :py:meth:`{0}.Client.{1}` every {2} ' - 'seconds until a successful state is reached. An error is ' - 'returned after {3} failed checks.'.format( - get_service_module_name(service_model), - xform_name(waiter_model.operation), - waiter_model.delay, waiter_model.max_attempts) - ) - - document_model_driven_method( - section, 'wait', operation_model, - event_emitter=event_emitter, - method_description=wait_description, - example_prefix='waiter.wait', - include_input=botocore_waiter_params, - document_output=False, - include_signature=include_signature - ) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/endpoint.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/endpoint.py deleted file mode 100644 index 21e601de..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/endpoint.py +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import os -import logging -import time -import threading - -from botocore.vendored import six - -from botocore.awsrequest import create_request_object -from botocore.exceptions import HTTPClientError -from botocore.httpsession import URLLib3Session -from botocore.utils import is_valid_endpoint_url, get_environ_proxies -from botocore.hooks import first_non_none_response -from botocore.history import get_global_history_recorder -from botocore.response import StreamingBody -from botocore import parsers - - -logger = logging.getLogger(__name__) -history_recorder = get_global_history_recorder() -DEFAULT_TIMEOUT = 60 -MAX_POOL_CONNECTIONS = 10 - - -def convert_to_response_dict(http_response, operation_model): - """Convert an HTTP response object to a request dict. - - This converts the requests library's HTTP response object to - a dictionary. - - :type http_response: botocore.vendored.requests.model.Response - :param http_response: The HTTP response from an AWS service request. - - :rtype: dict - :return: A response dictionary which will contain the following keys: - * headers (dict) - * status_code (int) - * body (string or file-like object) - - """ - response_dict = { - 'headers': http_response.headers, - 'status_code': http_response.status_code, - 'context': { - 'operation_name': operation_model.name, - } - } - if response_dict['status_code'] >= 300: - response_dict['body'] = http_response.content - elif operation_model.has_event_stream_output: - response_dict['body'] = http_response.raw - elif operation_model.has_streaming_output: - length = response_dict['headers'].get('content-length') - response_dict['body'] = StreamingBody(http_response.raw, length) - else: - response_dict['body'] = http_response.content - return response_dict - - -class Endpoint(object): - """ - Represents an endpoint for a particular service in a specific - region. Only an endpoint can make requests. - - :ivar service: The Service object that describes this endpoints - service. - :ivar host: The fully qualified endpoint hostname. - :ivar session: The session object. - """ - def __init__(self, host, endpoint_prefix, event_emitter, - response_parser_factory=None, http_session=None): - self._endpoint_prefix = endpoint_prefix - self._event_emitter = event_emitter - self.host = host - self._lock = threading.Lock() - if response_parser_factory is None: - response_parser_factory = parsers.ResponseParserFactory() - self._response_parser_factory = response_parser_factory - self.http_session = http_session - if self.http_session is None: - self.http_session = URLLib3Session() - - def __repr__(self): - return '%s(%s)' % (self._endpoint_prefix, self.host) - - def make_request(self, operation_model, request_dict): - logger.debug("Making request for %s with params: %s", - operation_model, request_dict) - return self._send_request(request_dict, operation_model) - - def create_request(self, params, operation_model=None): - request = create_request_object(params) - if operation_model: - request.stream_output = any([ - operation_model.has_streaming_output, - operation_model.has_event_stream_output - ]) - event_name = 'request-created.{endpoint_prefix}.{op_name}'.format( - endpoint_prefix=self._endpoint_prefix, - op_name=operation_model.name) - self._event_emitter.emit(event_name, request=request, - operation_name=operation_model.name) - prepared_request = self.prepare_request(request) - return prepared_request - - def _encode_headers(self, headers): - # In place encoding of headers to utf-8 if they are unicode. - for key, value in headers.items(): - if isinstance(value, six.text_type): - headers[key] = value.encode('utf-8') - - def prepare_request(self, request): - self._encode_headers(request.headers) - return request.prepare() - - def _send_request(self, request_dict, operation_model): - attempts = 1 - request = self.create_request(request_dict, operation_model) - success_response, exception = self._get_response( - request, operation_model, attempts) - while self._needs_retry(attempts, operation_model, request_dict, - success_response, exception): - attempts += 1 - # If there is a stream associated with the request, we need - # to reset it before attempting to send the request again. - # This will ensure that we resend the entire contents of the - # body. - request.reset_stream() - # Create a new request when retried (including a new signature). - request = self.create_request( - request_dict, operation_model) - success_response, exception = self._get_response( - request, operation_model, attempts) - if success_response is not None and \ - 'ResponseMetadata' in success_response[1]: - # We want to share num retries, not num attempts. - total_retries = attempts - 1 - success_response[1]['ResponseMetadata']['RetryAttempts'] = \ - total_retries - if exception is not None: - raise exception - else: - return success_response - - def _get_response(self, request, operation_model, attempts): - # This will return a tuple of (success_response, exception) - # and success_response is itself a tuple of - # (http_response, parsed_dict). - # If an exception occurs then the success_response is None. - # If no exception occurs then exception is None. - try: - logger.debug("Sending http request: %s", request) - history_recorder.record('HTTP_REQUEST', { - 'method': request.method, - 'headers': request.headers, - 'streaming': operation_model.has_streaming_input, - 'url': request.url, - 'body': request.body - }) - http_response = self._send(request) - except HTTPClientError as e: - return (None, e) - except Exception as e: - logger.debug("Exception received when sending HTTP request.", - exc_info=True) - return (None, e) - # This returns the http_response and the parsed_data. - response_dict = convert_to_response_dict(http_response, operation_model) - - http_response_record_dict = response_dict.copy() - http_response_record_dict['streaming'] = \ - operation_model.has_streaming_output - history_recorder.record('HTTP_RESPONSE', http_response_record_dict) - - protocol = operation_model.metadata['protocol'] - parser = self._response_parser_factory.create_parser(protocol) - parsed_response = parser.parse( - response_dict, operation_model.output_shape) - history_recorder.record('PARSED_RESPONSE', parsed_response) - return (http_response, parsed_response), None - - def _needs_retry(self, attempts, operation_model, request_dict, - response=None, caught_exception=None): - event_name = 'needs-retry.%s.%s' % (self._endpoint_prefix, - operation_model.name) - responses = self._event_emitter.emit( - event_name, response=response, endpoint=self, - operation=operation_model, attempts=attempts, - caught_exception=caught_exception, request_dict=request_dict) - handler_response = first_non_none_response(responses) - if handler_response is None: - return False - else: - # Request needs to be retried, and we need to sleep - # for the specified number of times. - logger.debug("Response received to retry, sleeping for " - "%s seconds", handler_response) - time.sleep(handler_response) - return True - - def _send(self, request): - return self.http_session.send(request) - - -class EndpointCreator(object): - def __init__(self, event_emitter): - self._event_emitter = event_emitter - - def create_endpoint(self, service_model, region_name, endpoint_url, - verify=None, response_parser_factory=None, - timeout=DEFAULT_TIMEOUT, - max_pool_connections=MAX_POOL_CONNECTIONS, - http_session_cls=URLLib3Session, - proxies=None): - if not is_valid_endpoint_url(endpoint_url): - - raise ValueError("Invalid endpoint: %s" % endpoint_url) - if proxies is None: - proxies = self._get_proxies(endpoint_url) - endpoint_prefix = service_model.endpoint_prefix - - logger.debug('Setting %s timeout as %s', endpoint_prefix, timeout) - http_session = http_session_cls( - timeout=timeout, - proxies=proxies, - verify=self._get_verify_value(verify), - max_pool_connections=max_pool_connections, - ) - - return Endpoint( - endpoint_url, - endpoint_prefix=endpoint_prefix, - event_emitter=self._event_emitter, - response_parser_factory=response_parser_factory, - http_session=http_session - ) - - def _get_proxies(self, url): - # We could also support getting proxies from a config file, - # but for now proxy support is taken from the environment. - return get_environ_proxies(url) - - def _get_verify_value(self, verify): - # This is to account for: - # https://github.com/kennethreitz/requests/issues/1436 - # where we need to honor REQUESTS_CA_BUNDLE because we're creating our - # own request objects. - # First, if verify is not None, then the user explicitly specified - # a value so this automatically wins. - if verify is not None: - return verify - # Otherwise use the value from REQUESTS_CA_BUNDLE, or default to - # True if the env var does not exist. - return os.environ.get('REQUESTS_CA_BUNDLE', True) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/errorfactory.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/errorfactory.py deleted file mode 100644 index 05ac5c1e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/errorfactory.py +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from botocore.exceptions import ClientError -from botocore.utils import get_service_module_name - - -class BaseClientExceptions(object): - ClientError = ClientError - - def __init__(self, code_to_exception): - """Base class for exceptions object on a client - - :type code_to_exception: dict - :param code_to_exception: Mapping of error codes (strings) to exception - class that should be raised when encountering a particular - error code. - """ - self._code_to_exception = code_to_exception - - def from_code(self, error_code): - """Retrieves the error class based on the error code - - This is helpful for identifying the exception class needing to be - caught based on the ClientError.parsed_reponse['Error']['Code'] value - - :type error_code: string - :param error_code: The error code associated to a ClientError exception - - :rtype: ClientError or a subclass of ClientError - :returns: The appropriate modeled exception class for that error - code. If the error code does not match any of the known - modeled exceptions then return a generic ClientError. - """ - return self._code_to_exception.get(error_code, self.ClientError) - - def __getattr__(self, name): - exception_cls_names = [ - exception_cls.__name__ for exception_cls - in self._code_to_exception.values() - ] - raise AttributeError( - '%r object has no attribute %r. Valid exceptions are: %s' % ( - self, name, ', '.join(exception_cls_names))) - - -class ClientExceptionsFactory(object): - def __init__(self): - self._client_exceptions_cache = {} - - def create_client_exceptions(self, service_model): - """Creates a ClientExceptions object for the particular service client - - :type service_model: botocore.model.ServiceModel - :param service_model: The service model for the client - - :rtype: object that subclasses from BaseClientExceptions - :returns: The exceptions object of a client that can be used - to grab the various different modeled exceptions. - """ - service_name = service_model.service_name - if service_name not in self._client_exceptions_cache: - client_exceptions = self._create_client_exceptions(service_model) - self._client_exceptions_cache[service_name] = client_exceptions - return self._client_exceptions_cache[service_name] - - def _create_client_exceptions(self, service_model): - cls_props = {} - code_to_exception = {} - for shape_name in service_model.shape_names: - shape = service_model.shape_for(shape_name) - if shape.metadata.get('exception', False): - exception_name = str(shape.name) - exception_cls = type(exception_name, (ClientError,), {}) - code = shape.metadata.get("error", {}).get("code") - cls_props[exception_name] = exception_cls - if code: - code_to_exception[code] = exception_cls - else: - # Use the exception name if there is no explicit code - # modeled - code_to_exception[exception_name] = exception_cls - cls_name = str(get_service_module_name(service_model) + 'Exceptions') - client_exceptions_cls = type( - cls_name, (BaseClientExceptions,), cls_props) - return client_exceptions_cls(code_to_exception) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/eventstream.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/eventstream.py deleted file mode 100644 index ea8a076d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/eventstream.py +++ /dev/null @@ -1,575 +0,0 @@ -# Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Binary Event Stream Decoding """ - -from binascii import crc32 -from struct import unpack -from botocore.exceptions import EventStreamError - -# byte length of the prelude (total_length + header_length + prelude_crc) -_PRELUDE_LENGTH = 12 -_MAX_HEADERS_LENGTH = 128 * 1024 # 128 Kb -_MAX_PAYLOAD_LENGTH = 16 * 1024 ** 2 # 16 Mb - - -class ParserError(Exception): - """Base binary flow encoding parsing exception. """ - pass - - -class DuplicateHeader(ParserError): - """Duplicate header found in the event. """ - def __init__(self, header): - message = 'Duplicate header present: "%s"' % header - super(DuplicateHeader, self).__init__(message) - - -class InvalidHeadersLength(ParserError): - """Headers length is longer than the maximum. """ - def __init__(self, length): - message = 'Header length of %s exceeded the maximum of %s' % ( - length, _MAX_HEADERS_LENGTH - ) - super(InvalidHeadersLength, self).__init__(message) - - -class InvalidPayloadLength(ParserError): - """Payload length is longer than the maximum. """ - def __init__(self, length): - message = 'Payload length of %s exceeded the maximum of %s' % ( - length, _MAX_PAYLOAD_LENGTH - ) - super(InvalidPayloadLength, self).__init__(message) - - -class ChecksumMismatch(ParserError): - """Calculated checksum did not match the expected checksum. """ - def __init__(self, expected, calculated): - message = 'Checksum mismatch: expected 0x%08x, calculated 0x%08x' % ( - expected, calculated - ) - super(ChecksumMismatch, self).__init__(message) - - -class DecodeUtils(object): - """Unpacking utility functions used in the decoder. - - All methods on this class take raw bytes and return a tuple containing - the value parsed from the bytes and the number of bytes consumed to parse - that value. - """ - - UINT8_BYTE_FORMAT = '!B' - UINT16_BYTE_FORMAT = '!H' - UINT32_BYTE_FORMAT = '!I' - INT16_BYTE_FORMAT = '!h' - INT32_BYTE_FORMAT = '!i' - INT64_BYTE_FORMAT = '!q' - PRELUDE_BYTE_FORMAT = '!III' - - # uint byte size to unpack format - UINT_BYTE_FORMAT = { - 1: UINT8_BYTE_FORMAT, - 2: UINT16_BYTE_FORMAT, - 4: UINT32_BYTE_FORMAT, - } - - @staticmethod - def unpack_true(data): - """This method consumes none of the provided bytes and returns True. - - :type data: bytes - :param data: The bytes to parse from. This is ignored in this method. - - :rtype: tuple - :rtype: (bool, int) - :returns: The tuple (True, 0) - """ - return True, 0 - - @staticmethod - def unpack_false(data): - """This method consumes none of the provided bytes and returns False. - - :type data: bytes - :param data: The bytes to parse from. This is ignored in this method. - - :rtype: tuple - :rtype: (bool, int) - :returns: The tuple (False, 0) - """ - return False, 0 - - @staticmethod - def unpack_uint8(data): - """Parse an unsigned 8-bit integer from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: (int, int) - :returns: A tuple containing the (parsed integer value, bytes consumed) - """ - value = unpack(DecodeUtils.UINT8_BYTE_FORMAT, data[:1])[0] - return value, 1 - - @staticmethod - def unpack_uint32(data): - """Parse an unsigned 32-bit integer from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: (int, int) - :returns: A tuple containing the (parsed integer value, bytes consumed) - """ - value = unpack(DecodeUtils.UINT32_BYTE_FORMAT, data[:4])[0] - return value, 4 - - @staticmethod - def unpack_int16(data): - """Parse a signed 16-bit integer from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: tuple - :rtype: (int, int) - :returns: A tuple containing the (parsed integer value, bytes consumed) - """ - value = unpack(DecodeUtils.INT16_BYTE_FORMAT, data[:2])[0] - return value, 2 - - @staticmethod - def unpack_int32(data): - """Parse a signed 32-bit integer from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: tuple - :rtype: (int, int) - :returns: A tuple containing the (parsed integer value, bytes consumed) - """ - value = unpack(DecodeUtils.INT32_BYTE_FORMAT, data[:4])[0] - return value, 4 - - @staticmethod - def unpack_int64(data): - """Parse a signed 64-bit integer from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: tuple - :rtype: (int, int) - :returns: A tuple containing the (parsed integer value, bytes consumed) - """ - value = unpack(DecodeUtils.INT64_BYTE_FORMAT, data[:8])[0] - return value, 8 - - @staticmethod - def unpack_byte_array(data, length_byte_size=2): - """Parse a variable length byte array from the bytes. - - The bytes are expected to be in the following format: - [ length ][0 ... length bytes] - where length is an unsigned integer represented in the smallest number - of bytes to hold the maximum length of the array. - - :type data: bytes - :param data: The bytes to parse from. - - :type length_byte_size: int - :param length_byte_size: The byte size of the preceeding integer that - represents the length of the array. Supported values are 1, 2, and 4. - - :rtype: (bytes, int) - :returns: A tuple containing the (parsed byte array, bytes consumed). - """ - uint_byte_format = DecodeUtils.UINT_BYTE_FORMAT[length_byte_size] - length = unpack(uint_byte_format, data[:length_byte_size])[0] - bytes_end = length + length_byte_size - array_bytes = data[length_byte_size:bytes_end] - return array_bytes, bytes_end - - @staticmethod - def unpack_utf8_string(data, length_byte_size=2): - """Parse a variable length utf-8 string from the bytes. - - The bytes are expected to be in the following format: - [ length ][0 ... length bytes] - where length is an unsigned integer represented in the smallest number - of bytes to hold the maximum length of the array and the following - bytes are a valid utf-8 string. - - :type data: bytes - :param bytes: The bytes to parse from. - - :type length_byte_size: int - :param length_byte_size: The byte size of the preceeding integer that - represents the length of the array. Supported values are 1, 2, and 4. - - :rtype: (str, int) - :returns: A tuple containing the (utf-8 string, bytes consumed). - """ - array_bytes, consumed = DecodeUtils.unpack_byte_array( - data, length_byte_size) - return array_bytes.decode('utf-8'), consumed - - @staticmethod - def unpack_uuid(data): - """Parse a 16-byte uuid from the bytes. - - :type data: bytes - :param data: The bytes to parse from. - - :rtype: (bytes, int) - :returns: A tuple containing the (uuid bytes, bytes consumed). - """ - return data[:16], 16 - - @staticmethod - def unpack_prelude(data): - """Parse the prelude for an event stream message from the bytes. - - The prelude for an event stream message has the following format: - [total_length][header_length][prelude_crc] - where each field is an unsigned 32-bit integer. - - :rtype: ((int, int, int), int) - :returns: A tuple of ((total_length, headers_length, prelude_crc), - consumed) - """ - return (unpack(DecodeUtils.PRELUDE_BYTE_FORMAT, data), _PRELUDE_LENGTH) - - -def _validate_checksum(data, checksum, crc=0): - # To generate the same numeric value across all Python versions and - # platforms use crc32(data) & 0xffffffff. - computed_checksum = crc32(data, crc) & 0xFFFFFFFF - if checksum != computed_checksum: - raise ChecksumMismatch(checksum, computed_checksum) - - -class MessagePrelude(object): - """Represents the prelude of an event stream message. """ - def __init__(self, total_length, headers_length, crc): - self.total_length = total_length - self.headers_length = headers_length - self.crc = crc - - @property - def payload_length(self): - """Calculates the total payload length. - - The extra minus 4 bytes is for the message CRC. - - :rtype: int - :returns: The total payload length. - """ - return self.total_length - self.headers_length - _PRELUDE_LENGTH - 4 - - @property - def payload_end(self): - """Calculates the byte offset for the end of the message payload. - - The extra minus 4 bytes is for the message CRC. - - :rtype: int - :returns: The byte offset from the beginning of the event stream - message to the end of the payload. - """ - return self.total_length - 4 - - @property - def headers_end(self): - """Calculates the byte offset for the end of the message headers. - - :rtype: int - :returns: The byte offset from the beginning of the event stream - message to the end of the headers. - """ - return _PRELUDE_LENGTH + self.headers_length - - -class EventStreamMessage(object): - """Represents an event stream message. """ - def __init__(self, prelude, headers, payload, crc): - self.prelude = prelude - self.headers = headers - self.payload = payload - self.crc = crc - - def to_response_dict(self, status_code=200): - if self.headers.get(':message-type') == 'error': - status_code = 400 - return { - 'status_code': status_code, - 'headers': self.headers, - 'body': self.payload - } - - -class EventStreamHeaderParser(object): - """ Parses the event headers from an event stream message. - - Expects all of the header data upfront and creates a dictionary of headers - to return. This object can be reused multiple times to parse the headers - from multiple event stream messages. - """ - - # Maps header type to appropriate unpacking function - # These unpacking functions return the value and the amount unpacked - _HEADER_TYPE_MAP = { - # boolean_true - 0: DecodeUtils.unpack_true, - # boolean_false - 1: DecodeUtils.unpack_false, - # byte - 2: DecodeUtils.unpack_uint8, - # short - 3: DecodeUtils.unpack_int16, - # integer - 4: DecodeUtils.unpack_int32, - # long - 5: DecodeUtils.unpack_int64, - # byte_array - 6: DecodeUtils.unpack_byte_array, - # string - 7: DecodeUtils.unpack_utf8_string, - # timestamp - 8: DecodeUtils.unpack_int64, - # uuid - 9: DecodeUtils.unpack_uuid, - } - - def __init__(self): - self._data = None - - def parse(self, data): - """Parses the event stream headers from an event stream message. - - :type data: bytes - :param data: The bytes that correspond to the headers section of an - event stream message. - - :rtype: dict - :returns: A dicionary of header key, value pairs. - """ - self._data = data - return self._parse_headers() - - def _parse_headers(self): - headers = {} - while self._data: - name, value = self._parse_header() - if name in headers: - raise DuplicateHeader(name) - headers[name] = value - return headers - - def _parse_header(self): - name = self._parse_name() - value = self._parse_value() - return name, value - - def _parse_name(self): - name, consumed = DecodeUtils.unpack_utf8_string(self._data, 1) - self._advance_data(consumed) - return name - - def _parse_type(self): - type, consumed = DecodeUtils.unpack_uint8(self._data) - self._advance_data(consumed) - return type - - def _parse_value(self): - header_type = self._parse_type() - value_unpacker = self._HEADER_TYPE_MAP[header_type] - value, consumed = value_unpacker(self._data) - self._advance_data(consumed) - return value - - def _advance_data(self, consumed): - self._data = self._data[consumed:] - - -class EventStreamBuffer(object): - """Streaming based event stream buffer - - A buffer class that wraps bytes from an event stream providing parsed - messages as they become available via an iterable interface. - """ - - def __init__(self): - self._data = b'' - self._prelude = None - self._header_parser = EventStreamHeaderParser() - - def add_data(self, data): - """Add data to the buffer. - - :type data: bytes - :param data: The bytes to add to the buffer to be used when parsing - """ - self._data += data - - def _validate_prelude(self, prelude): - if prelude.headers_length > _MAX_HEADERS_LENGTH: - raise InvalidHeadersLength(prelude.headers_length) - - if prelude.payload_length > _MAX_PAYLOAD_LENGTH: - raise InvalidPayloadLength(prelude.payload_length) - - def _parse_prelude(self): - prelude_bytes = self._data[:_PRELUDE_LENGTH] - raw_prelude, _ = DecodeUtils.unpack_prelude(prelude_bytes) - prelude = MessagePrelude(*raw_prelude) - self._validate_prelude(prelude) - # The minus 4 removes the prelude crc from the bytes to be checked - _validate_checksum(prelude_bytes[:_PRELUDE_LENGTH-4], prelude.crc) - return prelude - - def _parse_headers(self): - header_bytes = self._data[_PRELUDE_LENGTH:self._prelude.headers_end] - return self._header_parser.parse(header_bytes) - - def _parse_payload(self): - prelude = self._prelude - payload_bytes = self._data[prelude.headers_end:prelude.payload_end] - return payload_bytes - - def _parse_message_crc(self): - prelude = self._prelude - crc_bytes = self._data[prelude.payload_end:prelude.total_length] - message_crc, _ = DecodeUtils.unpack_uint32(crc_bytes) - return message_crc - - def _parse_message_bytes(self): - # The minus 4 includes the prelude crc to the bytes to be checked - message_bytes = self._data[_PRELUDE_LENGTH-4:self._prelude.payload_end] - return message_bytes - - def _validate_message_crc(self): - message_crc = self._parse_message_crc() - message_bytes = self._parse_message_bytes() - _validate_checksum(message_bytes, message_crc, crc=self._prelude.crc) - return message_crc - - def _parse_message(self): - crc = self._validate_message_crc() - headers = self._parse_headers() - payload = self._parse_payload() - message = EventStreamMessage(self._prelude, headers, payload, crc) - self._prepare_for_next_message() - return message - - def _prepare_for_next_message(self): - # Advance the data and reset the current prelude - self._data = self._data[self._prelude.total_length:] - self._prelude = None - - def next(self): - """Provides the next available message parsed from the stream - - :rtype: EventStreamMessage - :returns: The next event stream message - """ - if len(self._data) < _PRELUDE_LENGTH: - raise StopIteration() - - if self._prelude is None: - self._prelude = self._parse_prelude() - - if len(self._data) < self._prelude.total_length: - raise StopIteration() - - return self._parse_message() - - def __next__(self): - return self.next() - - def __iter__(self): - return self - - -class EventStream(object): - """Wrapper class for an event stream body. - - This wraps the underlying streaming body, parsing it for individual events - and yielding them as they come available through the iterator interface. - - The following example uses the S3 select API to get structured data out of - an object stored in S3 using an event stream. - - **Example:** - :: - from botocore.session import Session - - s3 = Session().create_client('s3') - response = s3.select_object_content( - Bucket='bucketname', - Key='keyname', - ExpressionType='SQL', - RequestProgress={'Enabled': True}, - Expression="SELECT * FROM S3Object s", - InputSerialization={'CSV': {}}, - OutputSerialization={'CSV': {}}, - ) - # This is the event stream in the response - event_stream = response['Payload'] - end_event_received = False - with open('output', 'wb') as f: - # Iterate over events in the event stream as they come - for event in event_stream: - # If we received a records event, write the data to a file - if 'Records' in event: - data = event['Records']['Payload'] - f.write(data) - # If we received a progress event, print the details - elif 'Progress' in event: - print(event['Progress']['Details']) - # End event indicates that the request finished successfully - elif 'End' in event: - print('Result is complete') - end_event_received = True - if not end_event_received: - raise Exception("End event not received, request incomplete.") - """ - def __init__(self, raw_stream, output_shape, parser, operation_name): - self._raw_stream = raw_stream - self._output_shape = output_shape - self._operation_name = operation_name - self._parser = parser - self._buffer = EventStreamBuffer() - - def __iter__(self): - for data in self._raw_stream.stream(): - self._buffer.add_data(data) - for event in self._buffer: - parsed_event = self._parse_event(event) - if parsed_event: - yield parsed_event - - def _parse_event(self, event): - response_dict = event.to_response_dict() - parsed_response = self._parser.parse(response_dict, self._output_shape) - if response_dict['status_code'] == 200: - return parsed_response - else: - raise EventStreamError(parsed_response, self._operation_name) - - def close(self): - """Closes the underlying streaming body. """ - self._raw_stream.close() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/exceptions.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/exceptions.py deleted file mode 100644 index 36f5867a..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/exceptions.py +++ /dev/null @@ -1,477 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -from __future__ import unicode_literals -from botocore.vendored import requests -from botocore.vendored.requests.packages import urllib3 - - -class BotoCoreError(Exception): - """ - The base exception class for BotoCore exceptions. - - :ivar msg: The descriptive message associated with the error. - """ - fmt = 'An unspecified error occurred' - - def __init__(self, **kwargs): - msg = self.fmt.format(**kwargs) - Exception.__init__(self, msg) - self.kwargs = kwargs - - -class DataNotFoundError(BotoCoreError): - """ - The data associated with a particular path could not be loaded. - - :ivar path: The data path that the user attempted to load. - """ - fmt = 'Unable to load data for: {data_path}' - - -class UnknownServiceError(DataNotFoundError): - """Raised when trying to load data for an unknown service. - - :ivar service_name: The name of the unknown service. - - """ - fmt = ( - "Unknown service: '{service_name}'. Valid service names are: " - "{known_service_names}") - - -class ApiVersionNotFoundError(BotoCoreError): - """ - The data associated with either that API version or a compatible one - could not be loaded. - - :ivar path: The data path that the user attempted to load. - :ivar path: The API version that the user attempted to load. - """ - fmt = 'Unable to load data {data_path} for: {api_version}' - - -class HTTPClientError(BotoCoreError): - fmt = 'An HTTP Client raised and unhandled exception: {error}' - def __init__(self, request=None, response=None, **kwargs): - self.request = request - self.response = response - super(HTTPClientError, self).__init__(**kwargs) - - -class ConnectionError(BotoCoreError): - fmt = 'An HTTP Client failed to establish a connection: {error}' - - -class EndpointConnectionError(ConnectionError): - fmt = 'Could not connect to the endpoint URL: "{endpoint_url}"' - - -class SSLError(ConnectionError, requests.exceptions.SSLError): - fmt = 'SSL validation failed for {endpoint_url} {error}' - - -class ConnectionClosedError(HTTPClientError): - fmt = ( - 'Connection was closed before we received a valid response ' - 'from endpoint URL: "{endpoint_url}".') - - -class ReadTimeoutError(HTTPClientError, requests.exceptions.ReadTimeout, - urllib3.exceptions.ReadTimeoutError): - fmt = 'Read timeout on endpoint URL: "{endpoint_url}"' - - -class ConnectTimeoutError(ConnectionError, requests.exceptions.ConnectTimeout): - fmt = 'Connect timeout on endpoint URL: "{endpoint_url}"' - - -class ProxyConnectionError(ConnectionError, requests.exceptions.ProxyError): - fmt = 'Failed to connect to proxy URL: "{proxy_url}"' - - -class NoCredentialsError(BotoCoreError): - """ - No credentials could be found - """ - fmt = 'Unable to locate credentials' - - -class PartialCredentialsError(BotoCoreError): - """ - Only partial credentials were found. - - :ivar cred_var: The missing credential variable name. - - """ - fmt = 'Partial credentials found in {provider}, missing: {cred_var}' - - -class CredentialRetrievalError(BotoCoreError): - """ - Error attempting to retrieve credentials from a remote source. - - :ivar provider: The name of the credential provider. - :ivar error_msg: The msg explaning why credentials could not be - retrieved. - - """ - fmt = 'Error when retrieving credentials from {provider}: {error_msg}' - - -class UnknownSignatureVersionError(BotoCoreError): - """ - Requested Signature Version is not known. - - :ivar signature_version: The name of the requested signature version. - """ - fmt = 'Unknown Signature Version: {signature_version}.' - - -class ServiceNotInRegionError(BotoCoreError): - """ - The service is not available in requested region. - - :ivar service_name: The name of the service. - :ivar region_name: The name of the region. - """ - fmt = 'Service {service_name} not available in region {region_name}' - - -class BaseEndpointResolverError(BotoCoreError): - """Base error for endpoint resolving errors. - - Should never be raised directly, but clients can catch - this exception if they want to generically handle any errors - during the endpoint resolution process. - - """ - - -class NoRegionError(BaseEndpointResolverError): - """No region was specified.""" - fmt = 'You must specify a region.' - - -class UnknownEndpointError(BaseEndpointResolverError, ValueError): - """ - Could not construct an endpoint. - - :ivar service_name: The name of the service. - :ivar region_name: The name of the region. - """ - fmt = ( - 'Unable to construct an endpoint for ' - '{service_name} in region {region_name}') - - -class ProfileNotFound(BotoCoreError): - """ - The specified configuration profile was not found in the - configuration file. - - :ivar profile: The name of the profile the user attempted to load. - """ - fmt = 'The config profile ({profile}) could not be found' - - -class ConfigParseError(BotoCoreError): - """ - The configuration file could not be parsed. - - :ivar path: The path to the configuration file. - """ - fmt = 'Unable to parse config file: {path}' - - -class ConfigNotFound(BotoCoreError): - """ - The specified configuration file could not be found. - - :ivar path: The path to the configuration file. - """ - fmt = 'The specified config file ({path}) could not be found.' - - -class MissingParametersError(BotoCoreError): - """ - One or more required parameters were not supplied. - - :ivar object: The object that has missing parameters. - This can be an operation or a parameter (in the - case of inner params). The str() of this object - will be used so it doesn't need to implement anything - other than str(). - :ivar missing: The names of the missing parameters. - """ - fmt = ('The following required parameters are missing for ' - '{object_name}: {missing}') - - -class ValidationError(BotoCoreError): - """ - An exception occurred validating parameters. - - Subclasses must accept a ``value`` and ``param`` - argument in their ``__init__``. - - :ivar value: The value that was being validated. - :ivar param: The parameter that failed validation. - :ivar type_name: The name of the underlying type. - """ - fmt = ("Invalid value ('{value}') for param {param} " - "of type {type_name} ") - - -class ParamValidationError(BotoCoreError): - fmt = 'Parameter validation failed:\n{report}' - - -# These exceptions subclass from ValidationError so that code -# can just 'except ValidationError' to catch any possibly validation -# error. -class UnknownKeyError(ValidationError): - """ - Unknown key in a struct paramster. - - :ivar value: The value that was being checked. - :ivar param: The name of the parameter. - :ivar choices: The valid choices the value can be. - """ - fmt = ("Unknown key '{value}' for param '{param}'. Must be one " - "of: {choices}") - - -class RangeError(ValidationError): - """ - A parameter value was out of the valid range. - - :ivar value: The value that was being checked. - :ivar param: The parameter that failed validation. - :ivar min_value: The specified minimum value. - :ivar max_value: The specified maximum value. - """ - fmt = ('Value out of range for param {param}: ' - '{min_value} <= {value} <= {max_value}') - - -class UnknownParameterError(ValidationError): - """ - Unknown top level parameter. - - :ivar name: The name of the unknown parameter. - :ivar operation: The name of the operation. - :ivar choices: The valid choices the parameter name can be. - """ - fmt = ( - "Unknown parameter '{name}' for operation {operation}. Must be one " - "of: {choices}" - ) - - -class AliasConflictParameterError(ValidationError): - """ - Error when an alias is provided for a parameter as well as the original. - - :ivar original: The name of the original parameter. - :ivar alias: The name of the alias - :ivar operation: The name of the operation. - """ - fmt = ( - "Parameter '{original}' and its alias '{alias}' were provided " - "for operation {operation}. Only one of them may be used." - ) - - -class UnknownServiceStyle(BotoCoreError): - """ - Unknown style of service invocation. - - :ivar service_style: The style requested. - """ - fmt = 'The service style ({service_style}) is not understood.' - - -class PaginationError(BotoCoreError): - fmt = 'Error during pagination: {message}' - - -class OperationNotPageableError(BotoCoreError): - fmt = 'Operation cannot be paginated: {operation_name}' - - -class ChecksumError(BotoCoreError): - """The expected checksum did not match the calculated checksum. - - """ - fmt = ('Checksum {checksum_type} failed, expected checksum ' - '{expected_checksum} did not match calculated checksum ' - '{actual_checksum}.') - - -class UnseekableStreamError(BotoCoreError): - """Need to seek a stream, but stream does not support seeking. - - """ - fmt = ('Need to rewind the stream {stream_object}, but stream ' - 'is not seekable.') - - -class WaiterError(BotoCoreError): - """Waiter failed to reach desired state.""" - fmt = 'Waiter {name} failed: {reason}' - - def __init__(self, name, reason, last_response): - super(WaiterError, self).__init__(name=name, reason=reason) - self.last_response = last_response - - -class IncompleteReadError(BotoCoreError): - """HTTP response did not return expected number of bytes.""" - fmt = ('{actual_bytes} read, but total bytes ' - 'expected is {expected_bytes}.') - - -class InvalidExpressionError(BotoCoreError): - """Expression is either invalid or too complex.""" - fmt = 'Invalid expression {expression}: Only dotted lookups are supported.' - - -class UnknownCredentialError(BotoCoreError): - """Tried to insert before/after an unregistered credential type.""" - fmt = 'Credential named {name} not found.' - - -class WaiterConfigError(BotoCoreError): - """Error when processing waiter configuration.""" - fmt = 'Error processing waiter config: {error_msg}' - - -class UnknownClientMethodError(BotoCoreError): - """Error when trying to access a method on a client that does not exist.""" - fmt = 'Client does not have method: {method_name}' - - -class UnsupportedSignatureVersionError(BotoCoreError): - """Error when trying to access a method on a client that does not exist.""" - fmt = 'Signature version is not supported: {signature_version}' - - -class ClientError(Exception): - MSG_TEMPLATE = ( - 'An error occurred ({error_code}) when calling the {operation_name} ' - 'operation{retry_info}: {error_message}') - - def __init__(self, error_response, operation_name): - retry_info = self._get_retry_info(error_response) - error = error_response.get('Error', {}) - msg = self.MSG_TEMPLATE.format( - error_code=error.get('Code', 'Unknown'), - error_message=error.get('Message', 'Unknown'), - operation_name=operation_name, - retry_info=retry_info, - ) - super(ClientError, self).__init__(msg) - self.response = error_response - self.operation_name = operation_name - - def _get_retry_info(self, response): - retry_info = '' - if 'ResponseMetadata' in response: - metadata = response['ResponseMetadata'] - if metadata.get('MaxAttemptsReached', False): - if 'RetryAttempts' in metadata: - retry_info = (' (reached max retries: %s)' % - metadata['RetryAttempts']) - return retry_info - - -class EventStreamError(ClientError): - pass - - -class UnsupportedTLSVersionWarning(Warning): - """Warn when an openssl version that uses TLS 1.2 is required""" - pass - - -class ImminentRemovalWarning(Warning): - pass - - -class InvalidDNSNameError(BotoCoreError): - """Error when virtual host path is forced on a non-DNS compatible bucket""" - fmt = ( - 'Bucket named {bucket_name} is not DNS compatible. Virtual ' - 'hosted-style addressing cannot be used. The addressing style ' - 'can be configured by removing the addressing_style value ' - 'or setting that value to \'path\' or \'auto\' in the AWS Config ' - 'file or in the botocore.client.Config object.' - ) - - -class InvalidS3AddressingStyleError(BotoCoreError): - """Error when an invalid path style is specified""" - fmt = ( - 'S3 addressing style {s3_addressing_style} is invaild. Valid options ' - 'are: \'auto\', \'virtual\', and \'path\'' - ) - - -class InvalidRetryConfigurationError(BotoCoreError): - """Error when invalid retry configuration is specified""" - fmt = ( - 'Cannot provide retry configuration for "{retry_config_option}". ' - 'Valid retry configuration options are: \'max_attempts\'' - ) - - -class InvalidMaxRetryAttemptsError(InvalidRetryConfigurationError): - """Error when invalid retry configuration is specified""" - fmt = ( - 'Value provided to "max_attempts": {provided_max_attempts} must ' - 'be an integer greater than or equal to zero.' - ) - -class StubResponseError(BotoCoreError): - fmt = 'Error getting response stub for operation {operation_name}: {reason}' - - -class StubAssertionError(StubResponseError, AssertionError): - pass - -class UnStubbedResponseError(StubResponseError): - pass - -class InvalidConfigError(BotoCoreError): - fmt = '{error_msg}' - - -class InfiniteLoopConfigError(InvalidConfigError): - fmt = ( - 'Infinite loop in credential configuration detected. Attempting to ' - 'load from profile {source_profile} which has already been visited. ' - 'Visited profiles: {visited_profiles}' - ) - - -class RefreshWithMFAUnsupportedError(BotoCoreError): - fmt = 'Cannot refresh credentials: MFA token required.' - - -class MD5UnavailableError(BotoCoreError): - fmt = "This system does not support MD5 generation." - - -class MetadataRetrievalError(BotoCoreError): - fmt = "Error retrieving metadata: {error_msg}" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/handlers.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/handlers.py deleted file mode 100644 index 02604aaf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/handlers.py +++ /dev/null @@ -1,1013 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -"""Builtin event handlers. - -This module contains builtin handlers for events emitted by botocore. -""" - -import base64 -import logging -import xml.etree.cElementTree -import copy -import re -import warnings -import uuid - -from botocore.compat import unquote, json, six, unquote_str, \ - ensure_bytes, get_md5, MD5_AVAILABLE, OrderedDict -from botocore.docs.utils import AutoPopulatedParam -from botocore.docs.utils import HideParamFromOperations -from botocore.docs.utils import AppendParamDocumentation -from botocore.signers import add_generate_presigned_url -from botocore.signers import add_generate_presigned_post -from botocore.signers import add_generate_db_auth_token -from botocore.exceptions import ParamValidationError -from botocore.exceptions import AliasConflictParameterError -from botocore.exceptions import UnsupportedTLSVersionWarning -from botocore.utils import percent_encode, SAFE_CHARS -from botocore.utils import switch_host_with_param - -from botocore import retryhandler -from botocore import utils -from botocore import translate -import botocore -import botocore.auth - - -logger = logging.getLogger(__name__) - -REGISTER_FIRST = object() -REGISTER_LAST = object() -# From the S3 docs: -# The rules for bucket names in the US Standard region allow bucket names -# to be as long as 255 characters, and bucket names can contain any -# combination of uppercase letters, lowercase letters, numbers, periods -# (.), hyphens (-), and underscores (_). -VALID_BUCKET = re.compile(r'^[a-zA-Z0-9.\-_]{1,255}$') -VERSION_ID_SUFFIX = re.compile(r'\?versionId=[^\s]+$') - -SERVICE_NAME_ALIASES = { - 'runtime.sagemaker': 'sagemaker-runtime' -} - - -def handle_service_name_alias(service_name, **kwargs): - return SERVICE_NAME_ALIASES.get(service_name, service_name) - - -def check_for_200_error(response, **kwargs): - # From: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html - # There are two opportunities for a copy request to return an error. One - # can occur when Amazon S3 receives the copy request and the other can - # occur while Amazon S3 is copying the files. If the error occurs before - # the copy operation starts, you receive a standard Amazon S3 error. If the - # error occurs during the copy operation, the error response is embedded in - # the 200 OK response. This means that a 200 OK response can contain either - # a success or an error. Make sure to design your application to parse the - # contents of the response and handle it appropriately. - # - # So this handler checks for this case. Even though the server sends a - # 200 response, conceptually this should be handled exactly like a - # 500 response (with respect to raising exceptions, retries, etc.) - # We're connected *before* all the other retry logic handlers, so as long - # as we switch the error code to 500, we'll retry the error as expected. - if response is None: - # A None response can happen if an exception is raised while - # trying to retrieve the response. See Endpoint._get_response(). - return - http_response, parsed = response - if _looks_like_special_case_error(http_response): - logger.debug("Error found for response with 200 status code, " - "errors: %s, changing status code to " - "500.", parsed) - http_response.status_code = 500 - - -def _looks_like_special_case_error(http_response): - if http_response.status_code == 200: - parser = xml.etree.cElementTree.XMLParser( - target=xml.etree.cElementTree.TreeBuilder(), - encoding='utf-8') - parser.feed(http_response.content) - root = parser.close() - if root.tag == 'Error': - return True - return False - - -def set_operation_specific_signer(context, signing_name, **kwargs): - """ Choose the operation-specific signer. - - Individual operations may have a different auth type than the service as a - whole. This will most often manifest as operations that should not be - authenticated at all, but can include other auth modes such as sigv4 - without body signing. - """ - auth_type = context.get('auth_type') - - # Auth type will be None if the operation doesn't have a configured auth - # type. - if not auth_type: - return - - # Auth type will be the string value 'none' if the operation should not - # be signed at all. - if auth_type == 'none': - return botocore.UNSIGNED - - if auth_type.startswith('v4'): - signature_version = 'v4' - if signing_name == 's3': - signature_version = 's3v4' - - # If the operation needs an unsigned body, we set additional context - # allowing the signer to be aware of this. - if auth_type == 'v4-unsigned-body': - context['payload_signing_enabled'] = False - - return signature_version - - -def decode_console_output(parsed, **kwargs): - if 'Output' in parsed: - try: - # We're using 'replace' for errors because it is - # possible that console output contains non string - # chars we can't utf-8 decode. - value = base64.b64decode(six.b(parsed['Output'])).decode( - 'utf-8', 'replace') - parsed['Output'] = value - except (ValueError, TypeError, AttributeError): - logger.debug('Error decoding base64', exc_info=True) - - -def generate_idempotent_uuid(params, model, **kwargs): - for name in model.idempotent_members: - if name not in params: - params[name] = str(uuid.uuid4()) - logger.debug("injecting idempotency token (%s) into param '%s'." % - (params[name], name)) - - -def decode_quoted_jsondoc(value): - try: - value = json.loads(unquote(value)) - except (ValueError, TypeError): - logger.debug('Error loading quoted JSON', exc_info=True) - return value - - -def json_decode_template_body(parsed, **kwargs): - if 'TemplateBody' in parsed: - try: - value = json.loads( - parsed['TemplateBody'], object_pairs_hook=OrderedDict) - parsed['TemplateBody'] = value - except (ValueError, TypeError): - logger.debug('error loading JSON', exc_info=True) - - -def calculate_md5(params, **kwargs): - request_dict = params - if request_dict['body'] and 'Content-MD5' not in params['headers']: - body = request_dict['body'] - if isinstance(body, (bytes, bytearray)): - binary_md5 = _calculate_md5_from_bytes(body) - else: - binary_md5 = _calculate_md5_from_file(body) - base64_md5 = base64.b64encode(binary_md5).decode('ascii') - params['headers']['Content-MD5'] = base64_md5 - - -def _calculate_md5_from_bytes(body_bytes): - md5 = get_md5(body_bytes) - return md5.digest() - - -def _calculate_md5_from_file(fileobj): - start_position = fileobj.tell() - md5 = get_md5() - for chunk in iter(lambda: fileobj.read(1024 * 1024), b''): - md5.update(chunk) - fileobj.seek(start_position) - return md5.digest() - - -def conditionally_calculate_md5(params, context, request_signer, **kwargs): - """Only add a Content-MD5 if the system supports it.""" - if MD5_AVAILABLE: - calculate_md5(params, **kwargs) - - -def validate_bucket_name(params, **kwargs): - if 'Bucket' not in params: - return - bucket = params['Bucket'] - if VALID_BUCKET.search(bucket) is None: - error_msg = ( - 'Invalid bucket name "%s": Bucket name must match ' - 'the regex "%s"' % (bucket, VALID_BUCKET.pattern)) - raise ParamValidationError(report=error_msg) - - -def sse_md5(params, **kwargs): - """ - S3 server-side encryption requires the encryption key to be sent to the - server base64 encoded, as well as a base64-encoded MD5 hash of the - encryption key. This handler does both if the MD5 has not been set by - the caller. - """ - _sse_md5(params, 'SSECustomer') - - -def copy_source_sse_md5(params, **kwargs): - """ - S3 server-side encryption requires the encryption key to be sent to the - server base64 encoded, as well as a base64-encoded MD5 hash of the - encryption key. This handler does both if the MD5 has not been set by - the caller specifically if the parameter is for the copy-source sse-c key. - """ - _sse_md5(params, 'CopySourceSSECustomer') - - -def _sse_md5(params, sse_member_prefix='SSECustomer'): - if not _needs_s3_sse_customization(params, sse_member_prefix): - return - - sse_key_member = sse_member_prefix + 'Key' - sse_md5_member = sse_member_prefix + 'KeyMD5' - key_as_bytes = params[sse_key_member] - if isinstance(key_as_bytes, six.text_type): - key_as_bytes = key_as_bytes.encode('utf-8') - key_md5_str = base64.b64encode( - get_md5(key_as_bytes).digest()).decode('utf-8') - key_b64_encoded = base64.b64encode(key_as_bytes).decode('utf-8') - params[sse_key_member] = key_b64_encoded - params[sse_md5_member] = key_md5_str - - -def _needs_s3_sse_customization(params, sse_member_prefix): - return (params.get(sse_member_prefix + 'Key') is not None and - sse_member_prefix + 'KeyMD5' not in params) - - -# NOTE: Retries get registered in two separate places in the botocore -# code: once when creating the client and once when you load the service -# model from the session. While at first this handler seems unneeded, it -# would be a breaking change for the AWS CLI to have it removed. This is -# because it relies on the service model from the session to create commands -# and this handler respects operation granular retry logic while the client -# one does not. If this is ever to be removed the handler, the client -# will have to respect per-operation level retry configuration. -def register_retries_for_service(service_data, session, - service_name, **kwargs): - loader = session.get_component('data_loader') - endpoint_prefix = service_data.get('metadata', {}).get('endpointPrefix') - if endpoint_prefix is None: - logger.debug("Not registering retry handlers, could not endpoint " - "prefix from model for service %s", service_name) - return - config = _load_retry_config(loader, endpoint_prefix) - if not config: - return - logger.debug("Registering retry handlers for service: %s", service_name) - handler = retryhandler.create_retry_handler( - config, endpoint_prefix) - unique_id = 'retry-config-%s' % endpoint_prefix - session.register('needs-retry.%s' % endpoint_prefix, - handler, unique_id=unique_id) - _register_for_operations(config, session, - service_name=endpoint_prefix) - - -def _load_retry_config(loader, endpoint_prefix): - original_config = loader.load_data('_retry') - retry_config = translate.build_retry_config( - endpoint_prefix, original_config['retry'], - original_config.get('definitions', {})) - return retry_config - - -def _register_for_operations(config, session, service_name): - # There's certainly a tradeoff for registering the retry config - # for the operations when the service is created. In practice, - # there aren't a whole lot of per operation retry configs so - # this is ok for now. - for key in config: - if key == '__default__': - continue - handler = retryhandler.create_retry_handler(config, key) - unique_id = 'retry-config-%s-%s' % (service_name, key) - session.register('needs-retry.%s.%s' % (service_name, key), - handler, unique_id=unique_id) - - -def disable_signing(**kwargs): - """ - This handler disables request signing by setting the signer - name to a special sentinel value. - """ - return botocore.UNSIGNED - - -def add_expect_header(model, params, **kwargs): - if model.http.get('method', '') not in ['PUT', 'POST']: - return - if 'body' in params: - body = params['body'] - if hasattr(body, 'read'): - # Any file like object will use an expect 100-continue - # header regardless of size. - logger.debug("Adding expect 100 continue header to request.") - params['headers']['Expect'] = '100-continue' - - -def document_copy_source_form(section, event_name, **kwargs): - if 'request-example' in event_name: - parent = section.get_section('structure-value') - param_line = parent.get_section('CopySource') - value_portion = param_line.get_section('member-value') - value_portion.clear_text() - value_portion.write("'string' or {'Bucket': 'string', " - "'Key': 'string', 'VersionId': 'string'}") - elif 'request-params' in event_name: - param_section = section.get_section('CopySource') - type_section = param_section.get_section('param-type') - type_section.clear_text() - type_section.write(':type CopySource: str or dict') - doc_section = param_section.get_section('param-documentation') - doc_section.clear_text() - doc_section.write( - "The name of the source bucket, key name of the source object, " - "and optional version ID of the source object. You can either " - "provide this value as a string or a dictionary. The " - "string form is {bucket}/{key} or " - "{bucket}/{key}?versionId={versionId} if you want to copy a " - "specific version. You can also provide this value as a " - "dictionary. The dictionary format is recommended over " - "the string format because it is more explicit. The dictionary " - "format is: {'Bucket': 'bucket', 'Key': 'key', 'VersionId': 'id'}." - " Note that the VersionId key is optional and may be omitted." - ) - - -def handle_copy_source_param(params, **kwargs): - """Convert CopySource param for CopyObject/UploadPartCopy. - - This handler will deal with two cases: - - * CopySource provided as a string. We'll make a best effort - to URL encode the key name as required. This will require - parsing the bucket and version id from the CopySource value - and only encoding the key. - * CopySource provided as a dict. In this case we're - explicitly given the Bucket, Key, and VersionId so we're - able to encode the key and ensure this value is serialized - and correctly sent to S3. - - """ - source = params.get('CopySource') - if source is None: - # The call will eventually fail but we'll let the - # param validator take care of this. It will - # give a better error message. - return - if isinstance(source, six.string_types): - params['CopySource'] = _quote_source_header(source) - elif isinstance(source, dict): - params['CopySource'] = _quote_source_header_from_dict(source) - - -def _quote_source_header_from_dict(source_dict): - try: - bucket = source_dict['Bucket'] - key = percent_encode(source_dict['Key'], safe=SAFE_CHARS + '/') - version_id = source_dict.get('VersionId') - except KeyError as e: - raise ParamValidationError( - report='Missing required parameter: %s' % str(e)) - final = '%s/%s' % (bucket, key) - if version_id is not None: - final += '?versionId=%s' % version_id - return final - - -def _quote_source_header(value): - result = VERSION_ID_SUFFIX.search(value) - if result is None: - return percent_encode(value, safe=SAFE_CHARS + '/') - else: - first, version_id = value[:result.start()], value[result.start():] - return percent_encode(first, safe=SAFE_CHARS + '/') + version_id - - -def _get_cross_region_presigned_url(request_signer, request_dict, model, - source_region, destination_region): - # The better way to do this is to actually get the - # endpoint_resolver and get the endpoint_url given the - # source region. In this specific case, we know that - # we can safely replace the dest region with the source - # region because of the supported EC2 regions, but in - # general this is not a safe assumption to make. - # I think eventually we should try to plumb through something - # that allows us to resolve endpoints from regions. - request_dict_copy = copy.deepcopy(request_dict) - request_dict_copy['body']['DestinationRegion'] = destination_region - request_dict_copy['url'] = request_dict['url'].replace( - destination_region, source_region) - request_dict_copy['method'] = 'GET' - request_dict_copy['headers'] = {} - return request_signer.generate_presigned_url( - request_dict_copy, region_name=source_region, - operation_name=model.name) - - -def _get_presigned_url_source_and_destination_regions(request_signer, params): - # Gets the source and destination regions to be used - destination_region = request_signer._region_name - source_region = params.get('SourceRegion') - return source_region, destination_region - - -def inject_presigned_url_ec2(params, request_signer, model, **kwargs): - # The customer can still provide this, so we should pass if they do. - if 'PresignedUrl' in params['body']: - return - src, dest = _get_presigned_url_source_and_destination_regions( - request_signer, params['body']) - url = _get_cross_region_presigned_url( - request_signer, params, model, src, dest) - params['body']['PresignedUrl'] = url - # EC2 Requires that the destination region be sent over the wire in - # addition to the source region. - params['body']['DestinationRegion'] = dest - - -def inject_presigned_url_rds(params, request_signer, model, **kwargs): - # SourceRegion is not required for RDS operations, so it's possible that - # it isn't set. In that case it's probably a local copy so we don't need - # to do anything else. - if 'SourceRegion' not in params['body']: - return - - src, dest = _get_presigned_url_source_and_destination_regions( - request_signer, params['body']) - - # Since SourceRegion isn't actually modeled for RDS, it needs to be - # removed from the request params before we send the actual request. - del params['body']['SourceRegion'] - - if 'PreSignedUrl' in params['body']: - return - - url = _get_cross_region_presigned_url( - request_signer, params, model, src, dest) - params['body']['PreSignedUrl'] = url - - -def json_decode_policies(parsed, model, **kwargs): - # Any time an IAM operation returns a policy document - # it is a string that is json that has been urlencoded, - # i.e urlencode(json.dumps(policy_document)). - # To give users something more useful, we will urldecode - # this value and json.loads() the result so that they have - # the policy document as a dictionary. - output_shape = model.output_shape - if output_shape is not None: - _decode_policy_types(parsed, model.output_shape) - - -def _decode_policy_types(parsed, shape): - # IAM consistently uses the policyDocumentType shape to indicate - # strings that have policy documents. - shape_name = 'policyDocumentType' - if shape.type_name == 'structure': - for member_name, member_shape in shape.members.items(): - if member_shape.type_name == 'string' and \ - member_shape.name == shape_name and \ - member_name in parsed: - parsed[member_name] = decode_quoted_jsondoc( - parsed[member_name]) - elif member_name in parsed: - _decode_policy_types(parsed[member_name], member_shape) - if shape.type_name == 'list': - shape_member = shape.member - for item in parsed: - _decode_policy_types(item, shape_member) - - -def parse_get_bucket_location(parsed, http_response, **kwargs): - # s3.GetBucketLocation cannot be modeled properly. To - # account for this we just manually parse the XML document. - # The "parsed" passed in only has the ResponseMetadata - # filled out. This handler will fill in the LocationConstraint - # value. - if 'LocationConstraint' in parsed: - # Response already set - a stub? - return - response_body = http_response.content - parser = xml.etree.cElementTree.XMLParser( - target=xml.etree.cElementTree.TreeBuilder(), - encoding='utf-8') - parser.feed(response_body) - root = parser.close() - region = root.text - parsed['LocationConstraint'] = region - - -def base64_encode_user_data(params, **kwargs): - if 'UserData' in params: - if isinstance(params['UserData'], six.text_type): - # Encode it to bytes if it is text. - params['UserData'] = params['UserData'].encode('utf-8') - params['UserData'] = base64.b64encode( - params['UserData']).decode('utf-8') - - -def document_base64_encoding(param): - description = ('**This value will be base64 encoded automatically. Do ' - 'not base64 encode this value prior to performing the ' - 'operation.**') - append = AppendParamDocumentation(param, description) - return append.append_documentation - - -def validate_ascii_metadata(params, **kwargs): - """Verify S3 Metadata only contains ascii characters. - - From: http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html - - "Amazon S3 stores user-defined metadata in lowercase. Each name, value pair - must conform to US-ASCII when using REST and UTF-8 when using SOAP or - browser-based uploads via POST." - - """ - metadata = params.get('Metadata') - if not metadata or not isinstance(metadata, dict): - # We have to at least type check the metadata as a dict type - # because this handler is called before param validation. - # We'll go ahead and return because the param validator will - # give a descriptive error message for us. - # We might need a post-param validation event. - return - for key, value in metadata.items(): - try: - key.encode('ascii') - value.encode('ascii') - except UnicodeEncodeError as e: - error_msg = ( - 'Non ascii characters found in S3 metadata ' - 'for key "%s", value: "%s". \nS3 metadata can only ' - 'contain ASCII characters. ' % (key, value) - ) - raise ParamValidationError( - report=error_msg) - - -def fix_route53_ids(params, model, **kwargs): - """ - Check for and split apart Route53 resource IDs, setting - only the last piece. This allows the output of one operation - (e.g. ``'foo/1234'``) to be used as input in another - operation (e.g. it expects just ``'1234'``). - """ - input_shape = model.input_shape - if not input_shape or not hasattr(input_shape, 'members'): - return - - members = [name for (name, shape) in input_shape.members.items() - if shape.name in ['ResourceId', 'DelegationSetId']] - - for name in members: - if name in params: - orig_value = params[name] - params[name] = orig_value.split('/')[-1] - logger.debug('%s %s -> %s', name, orig_value, params[name]) - - -def inject_account_id(params, **kwargs): - if params.get('accountId') is None: - # Glacier requires accountId, but allows you - # to specify '-' for the current owners account. - # We add this default value if the user does not - # provide the accountId as a convenience. - params['accountId'] = '-' - - -def add_glacier_version(model, params, **kwargs): - request_dict = params - request_dict['headers']['x-amz-glacier-version'] = model.metadata[ - 'apiVersion'] - - -def add_accept_header(model, params, **kwargs): - if params['headers'].get('Accept', None) is None: - request_dict = params - request_dict['headers']['Accept'] = 'application/json' - - -def add_glacier_checksums(params, **kwargs): - """Add glacier checksums to the http request. - - This will add two headers to the http request: - - * x-amz-content-sha256 - * x-amz-sha256-tree-hash - - These values will only be added if they are not present - in the HTTP request. - - """ - request_dict = params - headers = request_dict['headers'] - body = request_dict['body'] - if isinstance(body, six.binary_type): - # If the user provided a bytes type instead of a file - # like object, we're temporarily create a BytesIO object - # so we can use the util functions to calculate the - # checksums which assume file like objects. Note that - # we're not actually changing the body in the request_dict. - body = six.BytesIO(body) - starting_position = body.tell() - if 'x-amz-content-sha256' not in headers: - headers['x-amz-content-sha256'] = utils.calculate_sha256( - body, as_hex=True) - body.seek(starting_position) - if 'x-amz-sha256-tree-hash' not in headers: - headers['x-amz-sha256-tree-hash'] = utils.calculate_tree_hash(body) - body.seek(starting_position) - - -def document_glacier_tree_hash_checksum(): - doc = ''' - This is a required field. - - Ideally you will want to compute this value with checksums from - previous uploaded parts, using the algorithm described in - `Glacier documentation `_. - - 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')) - - ''' - return AppendParamDocumentation('checksum', doc).append_documentation - - -def document_cloudformation_get_template_return_type(section, event_name, **kwargs): - if 'response-params' in event_name: - template_body_section = section.get_section('TemplateBody') - type_section = template_body_section.get_section('param-type') - type_section.clear_text() - type_section.write('(*dict*) --') - elif 'response-example' in event_name: - parent = section.get_section('structure-value') - param_line = parent.get_section('TemplateBody') - value_portion = param_line.get_section('member-value') - value_portion.clear_text() - value_portion.write('{}') - - -def switch_host_machinelearning(request, **kwargs): - switch_host_with_param(request, 'PredictEndpoint') - - -def check_openssl_supports_tls_version_1_2(**kwargs): - import ssl - try: - openssl_version_tuple = ssl.OPENSSL_VERSION_INFO - if openssl_version_tuple < (1, 0, 1): - warnings.warn( - 'Currently installed openssl version: %s does not ' - 'support TLS 1.2, which is required for use of iot-data. ' - 'Please use python installed with openssl version 1.0.1 or ' - 'higher.' % (ssl.OPENSSL_VERSION), - UnsupportedTLSVersionWarning - ) - # We cannot check the openssl version on python2.6, so we should just - # pass on this conveniency check. - except AttributeError: - pass - - -def change_get_to_post(request, **kwargs): - # This is useful when we need to change a potentially large GET request - # into a POST with x-www-form-urlencoded encoding. - if request.method == 'GET' and '?' in request.url: - request.headers['Content-Type'] = 'application/x-www-form-urlencoded' - request.method = 'POST' - request.url, request.data = request.url.split('?', 1) - - -def set_list_objects_encoding_type_url(params, context, **kwargs): - if 'EncodingType' not in params: - # We set this context so that we know it wasn't the customer that - # requested the encoding. - context['encoding_type_auto_set'] = True - params['EncodingType'] = 'url' - - -def decode_list_object(parsed, context, **kwargs): - # This is needed because we are passing url as the encoding type. Since the - # paginator is based on the key, we need to handle it before it can be - # round tripped. - # - # From the documentation: If you specify encoding-type request parameter, - # Amazon S3 includes this element in the response, and returns encoded key - # name values in the following response elements: - # Delimiter, Marker, Prefix, NextMarker, Key. - if parsed.get('EncodingType') == 'url' and \ - context.get('encoding_type_auto_set'): - # URL decode top-level keys in the response if present. - top_level_keys = ['Delimiter', 'Marker', 'NextMarker'] - for key in top_level_keys: - if key in parsed: - parsed[key] = unquote_str(parsed[key]) - # URL decode nested keys from the response if present. - nested_keys = [('Contents', 'Key'), ('CommonPrefixes', 'Prefix')] - for (top_key, child_key) in nested_keys: - if top_key in parsed: - for member in parsed[top_key]: - member[child_key] = unquote_str(member[child_key]) - - -def convert_body_to_file_like_object(params, **kwargs): - if 'Body' in params: - if isinstance(params['Body'], six.string_types): - params['Body'] = six.BytesIO(ensure_bytes(params['Body'])) - elif isinstance(params['Body'], six.binary_type): - params['Body'] = six.BytesIO(params['Body']) - - -def _add_parameter_aliases(handler_list): - # Mapping of original parameter to parameter alias. - # The key is ..parameter - # The first part of the key is used for event registration. - # The last part is the original parameter name and the value is the - # alias to expose in documentation. - aliases = { - 'ec2.*.Filter': 'Filters', - 'logs.CreateExportTask.from': 'fromTime', - 'cloudsearchdomain.Search.return': 'returnFields' - } - - for original, new_name in aliases.items(): - event_portion, original_name = original.rsplit('.', 1) - parameter_alias = ParameterAlias(original_name, new_name) - - # Add the handlers to the list of handlers. - # One handler is to handle when users provide the alias. - # The other handler is to update the documentation to show only - # the alias. - parameter_build_event_handler_tuple = ( - 'before-parameter-build.' + event_portion, - parameter_alias.alias_parameter_in_call, - REGISTER_FIRST - ) - docs_event_handler_tuple = ( - 'docs.*.' + event_portion + '.complete-section', - parameter_alias.alias_parameter_in_documentation) - handler_list.append(parameter_build_event_handler_tuple) - handler_list.append(docs_event_handler_tuple) - - -class ParameterAlias(object): - def __init__(self, original_name, alias_name): - self._original_name = original_name - self._alias_name = alias_name - - def alias_parameter_in_call(self, params, model, **kwargs): - if model.input_shape: - # Only consider accepting the alias if it is modeled in the - # input shape. - if self._original_name in model.input_shape.members: - if self._alias_name in params: - if self._original_name in params: - raise AliasConflictParameterError( - original=self._original_name, - alias=self._alias_name, - operation=model.name - ) - # Remove the alias parameter value and use the old name - # instead. - params[self._original_name] = params.pop(self._alias_name) - - def alias_parameter_in_documentation(self, event_name, section, **kwargs): - if event_name.startswith('docs.request-params'): - if self._original_name not in section.available_sections: - return - # Replace the name for parameter type - param_section = section.get_section(self._original_name) - param_type_section = param_section.get_section('param-type') - self._replace_content(param_type_section) - - # Replace the name for the parameter description - param_name_section = param_section.get_section('param-name') - self._replace_content(param_name_section) - elif event_name.startswith('docs.request-example'): - section = section.get_section('structure-value') - if self._original_name not in section.available_sections: - return - # Replace the name for the example - param_section = section.get_section(self._original_name) - self._replace_content(param_section) - - def _replace_content(self, section): - content = section.getvalue().decode('utf-8') - updated_content = content.replace( - self._original_name, self._alias_name) - section.clear_text() - 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) - - -def remove_subscribe_to_shard(class_attributes, **kwargs): - if 'subscribe_to_shard' in class_attributes: - # subscribe_to_shard requires HTTP 2 support - del class_attributes['subscribe_to_shard'] - -# 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 = [ - ('choose-service-name', handle_service_name_alias), - ('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.kinesis', remove_subscribe_to_shard), - ('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), - - ('after-call.ec2.GetConsoleOutput', decode_console_output), - ('after-call.cloudformation.GetTemplate', json_decode_template_body), - ('after-call.s3.GetBucketLocation', parse_get_bucket_location), - - ('before-parameter-build', generate_idempotent_uuid), - - ('before-parameter-build.s3', validate_bucket_name), - - ('before-parameter-build.s3.ListObjects', - set_list_objects_encoding_type_url), - ('before-call.s3.PutBucketTagging', calculate_md5), - ('before-call.s3.PutBucketLifecycle', calculate_md5), - ('before-call.s3.PutBucketLifecycleConfiguration', calculate_md5), - ('before-call.s3.PutBucketCors', calculate_md5), - ('before-call.s3.DeleteObjects', calculate_md5), - ('before-call.s3.PutBucketReplication', calculate_md5), - ('before-call.s3.PutObject', conditionally_calculate_md5), - ('before-call.s3.UploadPart', conditionally_calculate_md5), - ('before-call.s3.PutBucketAcl', conditionally_calculate_md5), - ('before-call.s3.PutBucketLogging', conditionally_calculate_md5), - ('before-call.s3.PutBucketNotification', conditionally_calculate_md5), - ('before-call.s3.PutBucketPolicy', conditionally_calculate_md5), - ('before-call.s3.PutBucketRequestPayment', conditionally_calculate_md5), - ('before-call.s3.PutBucketVersioning', conditionally_calculate_md5), - ('before-call.s3.PutBucketWebsite', conditionally_calculate_md5), - ('before-call.s3.PutObjectAcl', conditionally_calculate_md5), - - ('before-parameter-build.s3.CopyObject', - handle_copy_source_param), - ('before-parameter-build.s3.UploadPartCopy', - handle_copy_source_param), - ('before-parameter-build.s3.CopyObject', validate_ascii_metadata), - ('before-parameter-build.s3.PutObject', validate_ascii_metadata), - ('before-parameter-build.s3.CreateMultipartUpload', - validate_ascii_metadata), - ('docs.*.s3.CopyObject.complete-section', document_copy_source_form), - ('docs.*.s3.UploadPartCopy.complete-section', document_copy_source_form), - - ('before-call.s3', add_expect_header), - ('before-call.glacier', add_glacier_version), - ('before-call.apigateway', add_accept_header), - ('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', - inject_presigned_url_rds), - ('request-created.machinelearning.Predict', switch_host_machinelearning), - ('needs-retry.s3.UploadPartCopy', check_for_200_error, REGISTER_FIRST), - ('needs-retry.s3.CopyObject', check_for_200_error, REGISTER_FIRST), - ('needs-retry.s3.CompleteMultipartUpload', check_for_200_error, - REGISTER_FIRST), - ('service-data-loaded', register_retries_for_service), - ('choose-signer.cognito-identity.GetId', disable_signing), - ('choose-signer.cognito-identity.GetOpenIdToken', disable_signing), - ('choose-signer.cognito-identity.UnlinkIdentity', disable_signing), - ('choose-signer.cognito-identity.GetCredentialsForIdentity', - disable_signing), - ('choose-signer.sts.AssumeRoleWithSAML', disable_signing), - ('choose-signer.sts.AssumeRoleWithWebIdentity', 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), - ('before-parameter-build.s3.CopyObject', sse_md5), - ('before-parameter-build.s3.CopyObject', copy_source_sse_md5), - ('before-parameter-build.s3.CreateMultipartUpload', sse_md5), - ('before-parameter-build.s3.UploadPart', sse_md5), - ('before-parameter-build.s3.UploadPartCopy', sse_md5), - ('before-parameter-build.s3.UploadPartCopy', copy_source_sse_md5), - ('before-parameter-build.ec2.RunInstances', base64_encode_user_data), - ('before-parameter-build.autoscaling.CreateLaunchConfiguration', - base64_encode_user_data), - ('before-parameter-build.route53', fix_route53_ids), - ('before-parameter-build.glacier', inject_account_id), - ('after-call.s3.ListObjects', decode_list_object), - - # Cloudsearchdomain search operation will be sent by HTTP POST - ('request-created.cloudsearchdomain.Search', - change_get_to_post), - # Glacier documentation customizations - ('docs.*.glacier.*.complete-section', - AutoPopulatedParam('accountId', 'Note: this parameter is set to "-" by' - 'default if no value is not specified.') - .document_auto_populated_param), - ('docs.*.glacier.UploadArchive.complete-section', - AutoPopulatedParam('checksum').document_auto_populated_param), - ('docs.*.glacier.UploadMultipartPart.complete-section', - AutoPopulatedParam('checksum').document_auto_populated_param), - ('docs.request-params.glacier.CompleteMultipartUpload.complete-section', - document_glacier_tree_hash_checksum()), - # Cloudformation documentation customizations - ('docs.*.cloudformation.GetTemplate.complete-section', - document_cloudformation_get_template_return_type), - - # UserData base64 encoding documentation customizations - ('docs.*.ec2.RunInstances.complete-section', - 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), - ('docs.*.ec2.CopySnapshot.complete-section', - AutoPopulatedParam('DestinationRegion').document_auto_populated_param), - # S3 SSE documentation modifications - ('docs.*.s3.*.complete-section', - AutoPopulatedParam('SSECustomerKeyMD5').document_auto_populated_param), - # S3 SSE Copy Source documentation modifications - ('docs.*.s3.*.complete-section', - AutoPopulatedParam( - 'CopySourceSSECustomerKeyMD5').document_auto_populated_param), - # Add base64 information to Lambda - ('docs.*.lambda.UpdateFunctionCode.complete-section', - document_base64_encoding('ZipFile')), - # The following S3 operations cannot actually accept a ContentMD5 - ('docs.*.s3.*.complete-section', - HideParamFromOperations( - 's3', 'ContentMD5', - ['DeleteObjects', 'PutBucketAcl', 'PutBucketCors', - 'PutBucketLifecycle', 'PutBucketLogging', 'PutBucketNotification', - 'PutBucketPolicy', 'PutBucketReplication', 'PutBucketRequestPayment', - 'PutBucketTagging', 'PutBucketVersioning', 'PutBucketWebsite', - 'PutObjectAcl']).hide_param) -] -_add_parameter_aliases(BUILTIN_HANDLERS) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/history.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/history.py deleted file mode 100644 index f4c72dbe..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/history.py +++ /dev/null @@ -1,55 +0,0 @@ -# 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 logging - - -HISTORY_RECORDER = None -logger = logging.getLogger(__name__) - - -class BaseHistoryHandler(object): - def emit(self, event_type, payload, source): - raise NotImplementedError('emit()') - - -class HistoryRecorder(object): - def __init__(self): - self._enabled = False - self._handlers = [] - - def enable(self): - self._enabled = True - - def disable(self): - self._enabled = False - - def add_handler(self, handler): - self._handlers.append(handler) - - def record(self, event_type, payload, source='BOTOCORE'): - if self._enabled and self._handlers: - for handler in self._handlers: - try: - handler.emit(event_type, payload, source) - except Exception: - # Never let the process die because we had a failure in - # a record collection handler. - logger.debug("Exception raised in %s.", handler, - exc_info=True) - - -def get_global_history_recorder(): - global HISTORY_RECORDER - if HISTORY_RECORDER is None: - HISTORY_RECORDER = HistoryRecorder() - return HISTORY_RECORDER diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/hooks.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/hooks.py deleted file mode 100644 index cd817a47..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/hooks.py +++ /dev/null @@ -1,542 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import copy -import logging -from collections import defaultdict, deque, namedtuple -from botocore.compat import accepts_kwargs, six - -logger = logging.getLogger(__name__) - - -_NodeList = namedtuple('NodeList', ['first', 'middle', 'last']) -_FIRST = 0 -_MIDDLE = 1 -_LAST = 2 - - -class NodeList(_NodeList): - - def __copy__(self): - first_copy = copy.copy(self.first) - middle_copy = copy.copy(self.middle) - last_copy = copy.copy(self.last) - copied = NodeList(first_copy, middle_copy, last_copy) - return copied - - -def first_non_none_response(responses, default=None): - """Find first non None response in a list of tuples. - - This function can be used to find the first non None response from - handlers connected to an event. This is useful if you are interested - in the returned responses from event handlers. Example usage:: - - print(first_non_none_response([(func1, None), (func2, 'foo'), - (func3, 'bar')])) - # This will print 'foo' - - :type responses: list of tuples - :param responses: The responses from the ``EventHooks.emit`` method. - This is a list of tuples, and each tuple is - (handler, handler_response). - - :param default: If no non-None responses are found, then this default - value will be returned. - - :return: The first non-None response in the list of tuples. - - """ - for response in responses: - if response[1] is not None: - return response[1] - return default - - -class BaseEventHooks(object): - def emit(self, event_name, **kwargs): - """Call all handlers subscribed to an event. - - :type event_name: str - :param event_name: The name of the event to emit. - - :type **kwargs: dict - :param **kwargs: Arbitrary kwargs to pass through to the - subscribed handlers. The ``event_name`` will be injected - into the kwargs so it's not necesary to add this to **kwargs. - - :rtype: list of tuples - :return: A list of ``(handler_func, handler_func_return_value)`` - - """ - return [] - - def register(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - """Register an event handler for a given event. - - If a ``unique_id`` is given, the handler will not be registered - if a handler with the ``unique_id`` has already been registered. - - Handlers are called in the order they have been registered. - Note handlers can also be registered with ``register_first()`` - and ``register_last()``. All handlers registered with - ``register_first()`` are called before handlers registered - with ``register()`` which are called before handlers registered - with ``register_last()``. - - """ - self._verify_and_register(event_name, handler, unique_id, - register_method=self._register, - unique_id_uses_count=unique_id_uses_count) - - def register_first(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - """Register an event handler to be called first for an event. - - All event handlers registered with ``register_first()`` will - be called before handlers registered with ``register()`` and - ``register_last()``. - - """ - self._verify_and_register(event_name, handler, unique_id, - register_method=self._register_first, - unique_id_uses_count=unique_id_uses_count) - - def register_last(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - """Register an event handler to be called last for an event. - - All event handlers registered with ``register_last()`` will be called - after handlers registered with ``register_first()`` and ``register()``. - - """ - self._verify_and_register(event_name, handler, unique_id, - register_method=self._register_last, - unique_id_uses_count=unique_id_uses_count) - - def _verify_and_register(self, event_name, handler, unique_id, - register_method, unique_id_uses_count): - self._verify_is_callable(handler) - self._verify_accept_kwargs(handler) - register_method(event_name, handler, unique_id, unique_id_uses_count) - - def unregister(self, event_name, handler=None, unique_id=None, - unique_id_uses_count=False): - """Unregister an event handler for a given event. - - If no ``unique_id`` was given during registration, then the - first instance of the event handler is removed (if the event - handler has been registered multiple times). - - """ - pass - - def _verify_is_callable(self, func): - if not six.callable(func): - raise ValueError("Event handler %s must be callable." % func) - - def _verify_accept_kwargs(self, func): - """Verifies a callable accepts kwargs - - :type func: callable - :param func: A callable object. - - :returns: True, if ``func`` accepts kwargs, otherwise False. - - """ - try: - if not accepts_kwargs(func): - raise ValueError("Event handler %s must accept keyword " - "arguments (**kwargs)" % func) - except TypeError: - return False - - -class HierarchicalEmitter(BaseEventHooks): - def __init__(self): - # We keep a reference to the handlers for quick - # read only access (we never modify self._handlers). - # A cache of event name to handler list. - self._lookup_cache = {} - self._handlers = _PrefixTrie() - # This is used to ensure that unique_id's are only - # registered once. - self._unique_id_handlers = {} - - def _emit(self, event_name, kwargs, stop_on_response=False): - """ - Emit an event with optional keyword arguments. - - :type event_name: string - :param event_name: Name of the event - :type kwargs: dict - :param kwargs: Arguments to be passed to the handler functions. - :type stop_on_response: boolean - :param stop_on_response: Whether to stop on the first non-None - response. If False, then all handlers - will be called. This is especially useful - to handlers which mutate data and then - want to stop propagation of the event. - :rtype: list - :return: List of (handler, response) tuples from all processed - handlers. - """ - responses = [] - # Invoke the event handlers from most specific - # to least specific, each time stripping off a dot. - handlers_to_call = self._lookup_cache.get(event_name) - if handlers_to_call is None: - handlers_to_call = self._handlers.prefix_search(event_name) - self._lookup_cache[event_name] = handlers_to_call - elif not handlers_to_call: - # Short circuit and return an empty response is we have - # no handlers to call. This is the common case where - # for the majority of signals, nothing is listening. - return [] - kwargs['event_name'] = event_name - responses = [] - for handler in handlers_to_call: - logger.debug('Event %s: calling handler %s', event_name, handler) - response = handler(**kwargs) - responses.append((handler, response)) - if stop_on_response and response is not None: - return responses - return responses - - def emit(self, event_name, **kwargs): - """ - Emit an event by name with arguments passed as keyword args. - - >>> responses = emitter.emit( - ... 'my-event.service.operation', arg1='one', arg2='two') - - :rtype: list - :return: List of (handler, response) tuples from all processed - handlers. - """ - return self._emit(event_name, kwargs) - - def emit_until_response(self, event_name, **kwargs): - """ - Emit an event by name with arguments passed as keyword args, - until the first non-``None`` response is received. This - method prevents subsequent handlers from being invoked. - - >>> handler, response = emitter.emit_until_response( - 'my-event.service.operation', arg1='one', arg2='two') - - :rtype: tuple - :return: The first (handler, response) tuple where the response - is not ``None``, otherwise (``None``, ``None``). - """ - responses = self._emit(event_name, kwargs, stop_on_response=True) - if responses: - return responses[-1] - else: - return (None, None) - - def _register(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - self._register_section(event_name, handler, unique_id, - unique_id_uses_count, section=_MIDDLE) - - def _register_first(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - self._register_section(event_name, handler, unique_id, - unique_id_uses_count, section=_FIRST) - - def _register_last(self, event_name, handler, unique_id, - unique_id_uses_count=False): - self._register_section(event_name, handler, unique_id, - unique_id_uses_count, section=_LAST) - - def _register_section(self, event_name, handler, unique_id, - unique_id_uses_count, section): - if unique_id is not None: - if unique_id in self._unique_id_handlers: - # We've already registered a handler using this unique_id - # so we don't need to register it again. - count = self._unique_id_handlers[unique_id].get('count', None) - if unique_id_uses_count: - if not count: - raise ValueError( - "Initial registration of unique id %s was " - "specified to use a counter. Subsequent register " - "calls to unique id must specify use of a counter " - "as well." % unique_id) - else: - self._unique_id_handlers[unique_id]['count'] += 1 - else: - if count: - raise ValueError( - "Initial registration of unique id %s was " - "specified to not use a counter. Subsequent " - "register calls to unique id must specify not to " - "use a counter as well." % unique_id) - return - else: - # Note that the trie knows nothing about the unique - # id. We track uniqueness in this class via the - # _unique_id_handlers. - self._handlers.append_item(event_name, handler, - section=section) - unique_id_handler_item = {'handler': handler} - if unique_id_uses_count: - unique_id_handler_item['count'] = 1 - self._unique_id_handlers[unique_id] = unique_id_handler_item - else: - self._handlers.append_item(event_name, handler, section=section) - # Super simple caching strategy for now, if we change the registrations - # clear the cache. This has the opportunity for smarter invalidations. - self._lookup_cache = {} - - def unregister(self, event_name, handler=None, unique_id=None, - unique_id_uses_count=False): - if unique_id is not None: - try: - count = self._unique_id_handlers[unique_id].get('count', None) - except KeyError: - # There's no handler matching that unique_id so we have - # nothing to unregister. - return - if unique_id_uses_count: - if count is None: - raise ValueError( - "Initial registration of unique id %s was specified to " - "use a counter. Subsequent unregister calls to unique " - "id must specify use of a counter as well." % unique_id) - elif count == 1: - handler = self._unique_id_handlers.pop(unique_id)['handler'] - else: - self._unique_id_handlers[unique_id]['count'] -= 1 - return - else: - if count: - raise ValueError( - "Initial registration of unique id %s was specified " - "to not use a counter. Subsequent unregister calls " - "to unique id must specify not to use a counter as " - "well." % unique_id) - handler = self._unique_id_handlers.pop(unique_id)['handler'] - try: - self._handlers.remove_item(event_name, handler) - self._lookup_cache = {} - except ValueError: - pass - - def __copy__(self): - new_instance = self.__class__() - new_state = self.__dict__.copy() - new_state['_handlers'] = copy.copy(self._handlers) - new_state['_unique_id_handlers'] = copy.copy(self._unique_id_handlers) - new_instance.__dict__ = new_state - return new_instance - - -class AliasedEventEmitter(HierarchicalEmitter): - EVENT_ALIASES = { - 'api.sagemaker': 'sagemaker' - } - - def __init__(self, event_aliases=None): - super(AliasedEventEmitter, self).__init__() - self._event_aliases = event_aliases - if event_aliases is None: - self._event_aliases = self.EVENT_ALIASES - - def _emit(self, event_name, kwargs, stop_on_response=False): - aliased_event_name = self._alias_event_name(event_name) - return super(AliasedEventEmitter, self)._emit( - aliased_event_name, kwargs, stop_on_response - ) - - def _verify_and_register(self, event_name, handler, unique_id, - register_method, unique_id_uses_count): - aliased_event_name = self._alias_event_name(event_name) - super(AliasedEventEmitter, self)._verify_and_register( - aliased_event_name, handler, unique_id, register_method, - unique_id_uses_count - ) - - def unregister(self, event_name, handler=None, unique_id=None, - unique_id_uses_count=False): - aliased_event_name = self._alias_event_name(event_name) - super(AliasedEventEmitter, self).unregister( - aliased_event_name, handler, unique_id, unique_id_uses_count - ) - - def _alias_event_name(self, event_name): - for old_part, new_part in self._event_aliases.items(): - if old_part in event_name: - new_name = event_name.replace(old_part, new_part) - logger.debug("Changing event name from %s to %s" % ( - event_name, new_name - )) - return new_name - return event_name - - -class _PrefixTrie(object): - """Specialized prefix trie that handles wildcards. - - The prefixes in this case are based on dot separated - names so 'foo.bar.baz' is:: - - foo -> bar -> baz - - Wildcard support just means that having a key such as 'foo.bar.*.baz' will - be matched with a call to ``get_items(key='foo.bar.ANYTHING.baz')``. - - You can think of this prefix trie as the equivalent as defaultdict(list), - except that it can do prefix searches: - - foo.bar.baz -> A - foo.bar -> B - foo -> C - - Calling ``get_items('foo.bar.baz')`` will return [A + B + C], from - most specific to least specific. - - """ - def __init__(self): - # Each dictionary can be though of as a node, where a node - # has values associated with the node, and children is a link - # to more nodes. So 'foo.bar' would have a 'foo' node with - # a 'bar' node as a child of foo. - # {'foo': {'children': {'bar': {...}}}}. - self._root = {'chunk': None, 'children': {}, 'values': None} - - def append_item(self, key, value, section=_MIDDLE): - """Add an item to a key. - - If a value is already associated with that key, the new - value is appended to the list for the key. - """ - key_parts = key.split('.') - current = self._root - for part in key_parts: - if part not in current['children']: - new_child = {'chunk': part, 'values': None, 'children': {}} - current['children'][part] = new_child - current = new_child - else: - current = current['children'][part] - if current['values'] is None: - current['values'] = NodeList([], [], []) - current['values'][section].append(value) - - def prefix_search(self, key): - """Collect all items that are prefixes of key. - - Prefix in this case are delineated by '.' characters so - 'foo.bar.baz' is a 3 chunk sequence of 3 "prefixes" ( - "foo", "bar", and "baz"). - - """ - collected = deque() - key_parts = key.split('.') - current = self._root - self._get_items(current, key_parts, collected, 0) - return collected - - def _get_items(self, starting_node, key_parts, collected, starting_index): - stack = [(starting_node, starting_index)] - key_parts_len = len(key_parts) - # Traverse down the nodes, where at each level we add the - # next part from key_parts as well as the wildcard element '*'. - # This means for each node we see we potentially add two more - # elements to our stack. - while stack: - current_node, index = stack.pop() - if current_node['values']: - # We're using extendleft because we want - # the values associated with the node furthest - # from the root to come before nodes closer - # to the root. extendleft() also adds its items - # in right-left order so .extendleft([1, 2, 3]) - # will result in final_list = [3, 2, 1], which is - # why we reverse the lists. - node_list = current_node['values'] - complete_order = (node_list.first + node_list.middle + - node_list.last) - collected.extendleft(reversed(complete_order)) - if not index == key_parts_len: - children = current_node['children'] - directs = children.get(key_parts[index]) - wildcard = children.get('*') - next_index = index + 1 - if wildcard is not None: - stack.append((wildcard, next_index)) - if directs is not None: - stack.append((directs, next_index)) - - def remove_item(self, key, value): - """Remove an item associated with a key. - - If the value is not associated with the key a ``ValueError`` - will be raised. If the key does not exist in the trie, a - ``ValueError`` will be raised. - - """ - key_parts = key.split('.') - current = self._root - self._remove_item(current, key_parts, value, index=0) - - def _remove_item(self, current_node, key_parts, value, index): - if current_node is None: - return - elif index < len(key_parts): - next_node = current_node['children'].get(key_parts[index]) - if next_node is not None: - self._remove_item(next_node, key_parts, value, index + 1) - if index == len(key_parts) - 1: - node_list = next_node['values'] - if value in node_list.first: - node_list.first.remove(value) - elif value in node_list.middle: - node_list.middle.remove(value) - elif value in node_list.last: - node_list.last.remove(value) - if not next_node['children'] and not next_node['values']: - # Then this is a leaf node with no values so - # we can just delete this link from the parent node. - # This makes subsequent search faster in the case - # where a key does not exist. - del current_node['children'][key_parts[index]] - else: - raise ValueError( - "key is not in trie: %s" % '.'.join(key_parts)) - - def __copy__(self): - # The fact that we're using a nested dict under the covers - # is an implementation detail, and the user shouldn't have - # to know that they'd normally need a deepcopy so we expose - # __copy__ instead of __deepcopy__. - new_copy = self.__class__() - copied_attrs = self._recursive_copy(self.__dict__) - new_copy.__dict__ = copied_attrs - return new_copy - - def _recursive_copy(self, node): - # We can't use copy.deepcopy because we actually only want to copy - # the structure of the trie, not the handlers themselves. - # Each node has a chunk, children, and values. - copied_node = {} - for key, value in node.items(): - if isinstance(value, NodeList): - copied_node[key] = copy.copy(value) - elif isinstance(value, dict): - copied_node[key] = self._recursive_copy(value) - else: - copied_node[key] = value - return copied_node diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/httpsession.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/httpsession.py deleted file mode 100644 index 28ad8667..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/httpsession.py +++ /dev/null @@ -1,278 +0,0 @@ -import os.path -import logging -import socket -from base64 import b64encode - -from urllib3 import PoolManager, ProxyManager, proxy_from_url, Timeout -from urllib3.util.ssl_ import ( - ssl, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, DEFAULT_CIPHERS, -) -from urllib3.exceptions import SSLError as URLLib3SSLError -from urllib3.exceptions import ReadTimeoutError as URLLib3ReadTimeoutError -from urllib3.exceptions import ConnectTimeoutError as URLLib3ConnectTimeoutError -from urllib3.exceptions import NewConnectionError, ProtocolError, ProxyError -try: - # Always import the original SSLContext, even if it has been patched - from urllib3.contrib.pyopenssl import orig_util_SSLContext as SSLContext -except ImportError: - from urllib3.util.ssl_ import SSLContext - -import botocore.awsrequest -from botocore.vendored import six -from botocore.vendored.six.moves.urllib_parse import unquote -from botocore.compat import filter_ssl_warnings, urlparse -from botocore.exceptions import ( - ConnectionClosedError, EndpointConnectionError, HTTPClientError, - ReadTimeoutError, ProxyConnectionError, ConnectTimeoutError, SSLError -) - -filter_ssl_warnings() -logger = logging.getLogger(__name__) -DEFAULT_TIMEOUT = 60 -MAX_POOL_CONNECTIONS = 10 -DEFAULT_CA_BUNDLE = os.path.join(os.path.dirname(__file__), 'cacert.pem') - -try: - from certifi import where -except ImportError: - def where(): - return DEFAULT_CA_BUNDLE - - -def get_cert_path(verify): - if verify is not True: - return verify - - return where() - - -def create_urllib3_context(ssl_version=None, cert_reqs=None, - options=None, ciphers=None): - """ This function is a vendored version of the same function in urllib3 - - We vendor this function to ensure that the SSL contexts we construct - always use the std lib SSLContext instead of pyopenssl. - """ - context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) - - # Setting the default here, as we may have no ssl module on import - cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs - - if options is None: - options = 0 - # SSLv2 is easily broken and is considered harmful and dangerous - options |= OP_NO_SSLv2 - # SSLv3 has several problems and is now dangerous - options |= OP_NO_SSLv3 - # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ - # (issue urllib3#309) - options |= OP_NO_COMPRESSION - - context.options |= options - - if getattr(context, 'supports_set_ciphers', True): - # Platform-specific: Python 2.6 - context.set_ciphers(ciphers or DEFAULT_CIPHERS) - - context.verify_mode = cert_reqs - if getattr(context, 'check_hostname', None) is not None: - # Platform-specific: Python 3.2 - # We do our own verification, including fingerprints and alternative - # hostnames. So disable it here - context.check_hostname = False - return context - - -class ProxyConfiguration(object): - """Represents a proxy configuration dictionary. - - This class represents a proxy configuration dictionary and provides utility - functions to retreive well structured proxy urls and proxy headers from the - proxy configuration dictionary. - """ - def __init__(self, proxies=None): - if proxies is None: - proxies = {} - self._proxies = proxies - - def proxy_url_for(self, url): - """Retrirves the corresponding proxy url for a given url. """ - parsed_url = urlparse(url) - proxy = self._proxies.get(parsed_url.scheme) - if proxy: - proxy = self._fix_proxy_url(proxy) - return proxy - - def proxy_headers_for(self, proxy_url): - """Retrirves the corresponding proxy headers for a given proxy url. """ - headers = {} - username, password = self._get_auth_from_url(proxy_url) - if username and password: - basic_auth = self._construct_basic_auth(username, password) - headers['Proxy-Authorization'] = basic_auth - return headers - - def _fix_proxy_url(self, proxy_url): - if proxy_url.startswith('http:') or proxy_url.startswith('https:'): - return proxy_url - elif proxy_url.startswith('//'): - return 'http:' + proxy_url - else: - return 'http://' + proxy_url - - def _construct_basic_auth(self, username, password): - auth_str = '{0}:{1}'.format(username, password) - encoded_str = b64encode(auth_str.encode('ascii')).strip().decode() - return 'Basic {0}'.format(encoded_str) - - def _get_auth_from_url(self, url): - parsed_url = urlparse(url) - try: - return unquote(parsed_url.username), unquote(parsed_url.password) - except (AttributeError, TypeError): - return None, None - - -class URLLib3Session(object): - """A basic HTTP client that supports connection pooling and proxies. - - This class is inspired by requests.adapters.HTTPAdapter, but has been - boiled down to meet the use cases needed by botocore. For the most part - this classes matches the functionality of HTTPAdapter in requests v2.7.0 - (the same as our vendored version). The only major difference of note is - that we currently do not support sending chunked requests. While requests - v2.7.0 implemented this themselves, later version urllib3 support this - directly via a flag to urlopen so enabling it if needed should be trivial. - """ - def __init__(self, - verify=True, - proxies=None, - timeout=None, - max_pool_connections=MAX_POOL_CONNECTIONS, - ): - self._verify = verify - self._proxy_config = ProxyConfiguration(proxies=proxies) - self._pool_classes_by_scheme = { - 'http': botocore.awsrequest.AWSHTTPConnectionPool, - 'https': botocore.awsrequest.AWSHTTPSConnectionPool, - } - if timeout is None: - timeout = DEFAULT_TIMEOUT - if not isinstance(timeout, (int, float)): - timeout = Timeout(connect=timeout[0], read=timeout[1]) - self._timeout = timeout - self._max_pool_connections = max_pool_connections - self._proxy_managers = {} - self._manager = PoolManager( - strict=True, - timeout=self._timeout, - maxsize=self._max_pool_connections, - ssl_context=self._get_ssl_context(), - ) - self._manager.pool_classes_by_scheme = self._pool_classes_by_scheme - - def _get_ssl_context(self): - return create_urllib3_context() - - def _get_proxy_manager(self, proxy_url): - if proxy_url not in self._proxy_managers: - proxy_headers = self._proxy_config.proxy_headers_for(proxy_url) - proxy_manager = proxy_from_url( - proxy_url, - strict=True, - timeout=self._timeout, - proxy_headers=proxy_headers, - maxsize=self._max_pool_connections, - ssl_context=self._get_ssl_context(), - ) - proxy_manager.pool_classes_by_scheme = self._pool_classes_by_scheme - self._proxy_managers[proxy_url] = proxy_manager - - return self._proxy_managers[proxy_url] - - def _path_url(self, url): - parsed_url = urlparse(url) - path = parsed_url.path - if not path: - path = '/' - if parsed_url.query: - path = path + '?' + parsed_url.query - return path - - def _setup_ssl_cert(self, conn, url, verify): - if url.lower().startswith('https') and verify: - conn.cert_reqs = 'CERT_REQUIRED' - conn.ca_certs = get_cert_path(verify) - else: - conn.cert_reqs = 'CERT_NONE' - conn.ca_certs = None - - def _get_connection_manager(self, url, proxy_url=None): - if proxy_url: - manager = self._get_proxy_manager(proxy_url) - else: - manager = self._manager - return manager - - def _get_request_target(self, url, proxy_url): - if proxy_url and url.startswith('http:'): - # HTTP proxies expect the request_target to be the absolute url to - # know which host to establish a connection to - return url - else: - # otherwise just set the request target to the url path - return self._path_url(url) - - def send(self, request): - try: - proxy_url = self._proxy_config.proxy_url_for(request.url) - manager = self._get_connection_manager(request.url, proxy_url) - conn = manager.connection_from_url(request.url) - self._setup_ssl_cert(conn, request.url, self._verify) - - request_target = self._get_request_target(request.url, proxy_url) - urllib_response = conn.urlopen( - method=request.method, - url=request_target, - body=request.body, - headers=request.headers, - retries=False, - assert_same_host=False, - preload_content=False, - decode_content=False, - ) - - http_response = botocore.awsrequest.AWSResponse( - request.url, - urllib_response.status, - urllib_response.headers, - urllib_response, - ) - - if not request.stream_output: - # Cause the raw stream to be exhausted immediately. We do it - # this way instead of using preload_content because - # preload_content will never buffer chunked responses - http_response.content - - return http_response - except URLLib3SSLError as e: - raise SSLError(endpoint_url=request.url, error=e) - except (NewConnectionError, socket.gaierror) as e: - raise EndpointConnectionError(endpoint_url=request.url, error=e) - except ProxyError as e: - raise ProxyConnectionError(proxy_url=proxy_url, error=e) - except URLLib3ConnectTimeoutError as e: - raise ConnectTimeoutError(endpoint_url=request.url, error=e) - except URLLib3ReadTimeoutError as e: - raise ReadTimeoutError(endpoint_url=request.url, error=e) - except ProtocolError as e: - raise ConnectionClosedError( - error=e, - request=request, - endpoint_url=request.url - ) - except Exception as e: - message = 'Exception received when sending urllib3 HTTP request' - logger.debug(message, exc_info=True) - raise HTTPClientError(error=e) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/loaders.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/loaders.py deleted file mode 100644 index 24f47a63..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/loaders.py +++ /dev/null @@ -1,461 +0,0 @@ -# Copyright 2012-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Module for loading various model files. - -This module provides the classes that are used to load models used -by botocore. This can include: - - * Service models (e.g. the model for EC2, S3, DynamoDB, etc.) - * Service model extras which customize the service models - * Other models associated with a service (pagination, waiters) - * Non service-specific config (Endpoint data, retry config) - -Loading a module is broken down into several steps: - - * Determining the path to load - * Search the data_path for files to load - * The mechanics of loading the file - * Searching for extras and applying them to the loaded file - -The last item is used so that other faster loading mechanism -besides the default JSON loader can be used. - -The Search Path -=============== - -Similar to how the PATH environment variable is to finding executables -and the PYTHONPATH environment variable is to finding python modules -to import, the botocore loaders have the concept of a data path exposed -through AWS_DATA_PATH. - -This enables end users to provide additional search paths where we -will attempt to load models outside of the models we ship with -botocore. When you create a ``Loader``, there are two paths -automatically added to the model search path: - - * /data/ - * ~/.aws/models - -The first value is the path where all the model files shipped with -botocore are located. - -The second path is so that users can just drop new model files in -``~/.aws/models`` without having to mess around with the AWS_DATA_PATH. - -The AWS_DATA_PATH using the platform specific path separator to -separate entries (typically ``:`` on linux and ``;`` on windows). - - -Directory Layout -================ - -The Loader expects a particular directory layout. In order for any -directory specified in AWS_DATA_PATH to be considered, it must have -this structure for service models:: - - - | - |-- servicename1 - | |-- 2012-10-25 - | |-- service-2.json - |-- ec2 - | |-- 2014-01-01 - | | |-- paginators-1.json - | | |-- service-2.json - | | |-- waiters-2.json - | |-- 2015-03-01 - | |-- paginators-1.json - | |-- service-2.json - | |-- waiters-2.json - | |-- service-2.sdk-extras.json - - -That is: - - * The root directory contains sub directories that are the name - of the services. - * Within each service directory, there's a sub directory for each - available API version. - * Within each API version, there are model specific files, including - (but not limited to): service-2.json, waiters-2.json, paginators-1.json - -The ``-1`` and ``-2`` suffix at the end of the model files denote which version -schema is used within the model. Even though this information is available in -the ``version`` key within the model, this version is also part of the filename -so that code does not need to load the JSON model in order to determine which -version to use. - -The ``sdk-extras`` and similar files represent extra data that needs to be -applied to the model after it is loaded. Data in these files might represent -information that doesn't quite fit in the original models, but is still needed -for the sdk. For instance, additional operation parameters might be added here -which don't represent the actual service api. -""" -import os -import logging - -from botocore import BOTOCORE_ROOT -from botocore.compat import json -from botocore.compat import OrderedDict -from botocore.exceptions import DataNotFoundError, UnknownServiceError -from botocore.utils import deep_merge - - -logger = logging.getLogger(__name__) - - -def instance_cache(func): - """Cache the result of a method on a per instance basis. - - This is not a general purpose caching decorator. In order - for this to be used, it must be used on methods on an - instance, and that instance *must* provide a - ``self._cache`` dictionary. - - """ - def _wrapper(self, *args, **kwargs): - key = (func.__name__,) + args - for pair in sorted(kwargs.items()): - key += pair - if key in self._cache: - return self._cache[key] - data = func(self, *args, **kwargs) - self._cache[key] = data - return data - return _wrapper - - -class JSONFileLoader(object): - """Loader JSON files. - - This class can load the default format of models, which is a JSON file. - - """ - def exists(self, file_path): - """Checks if the file exists. - - :type file_path: str - :param file_path: The full path to the file to load without - the '.json' extension. - - :return: True if file path exists, False otherwise. - - """ - return os.path.isfile(file_path + '.json') - - def load_file(self, file_path): - """Attempt to load the file path. - - :type file_path: str - :param file_path: The full path to the file to load without - the '.json' extension. - - :return: The loaded data if it exists, otherwise None. - - """ - full_path = file_path + '.json' - if not os.path.isfile(full_path): - return - - # By default the file will be opened with locale encoding on Python 3. - # We specify "utf8" here to ensure the correct behavior. - with open(full_path, 'rb') as fp: - payload = fp.read().decode('utf-8') - logger.debug("Loading JSON file: %s", full_path) - return json.loads(payload, object_pairs_hook=OrderedDict) - - -def create_loader(search_path_string=None): - """Create a Loader class. - - This factory function creates a loader given a search string path. - - :type search_string_path: str - :param search_string_path: The AWS_DATA_PATH value. A string - of data path values separated by the ``os.path.pathsep`` value, - which is typically ``:`` on POSIX platforms and ``;`` on - windows. - - :return: A ``Loader`` instance. - - """ - if search_path_string is None: - return Loader() - paths = [] - extra_paths = search_path_string.split(os.pathsep) - for path in extra_paths: - path = os.path.expanduser(os.path.expandvars(path)) - paths.append(path) - return Loader(extra_search_paths=paths) - - -class Loader(object): - """Find and load data models. - - This class will handle searching for and loading data models. - - The main method used here is ``load_service_model``, which is a - convenience method over ``load_data`` and ``determine_latest_version``. - - """ - FILE_LOADER_CLASS = JSONFileLoader - # The included models in botocore/data/ that we ship with botocore. - BUILTIN_DATA_PATH = os.path.join(BOTOCORE_ROOT, 'data') - # For convenience we automatically add ~/.aws/models to the data path. - CUSTOMER_DATA_PATH = os.path.join(os.path.expanduser('~'), - '.aws', 'models') - BUILTIN_EXTRAS_TYPES = ['sdk'] - - def __init__(self, extra_search_paths=None, file_loader=None, - cache=None, include_default_search_paths=True, - include_default_extras=True): - self._cache = {} - if file_loader is None: - file_loader = self.FILE_LOADER_CLASS() - self.file_loader = file_loader - if extra_search_paths is not None: - self._search_paths = extra_search_paths - else: - self._search_paths = [] - if include_default_search_paths: - self._search_paths.extend([self.CUSTOMER_DATA_PATH, - self.BUILTIN_DATA_PATH]) - - self._extras_types = [] - if include_default_extras: - self._extras_types.extend(self.BUILTIN_EXTRAS_TYPES) - - self._extras_processor = ExtrasProcessor() - - @property - def search_paths(self): - return self._search_paths - - @property - def extras_types(self): - return self._extras_types - - @instance_cache - def list_available_services(self, type_name): - """List all known services. - - This will traverse the search path and look for all known - services. - - :type type_name: str - :param type_name: The type of the service (service-2, - paginators-1, waiters-2, etc). This is needed because - the list of available services depends on the service - type. For example, the latest API version available for - a resource-1.json file may not be the latest API version - available for a services-2.json file. - - :return: A list of all services. The list of services will - be sorted. - - """ - services = set() - for possible_path in self._potential_locations(): - # Any directory in the search path is potentially a service. - # We'll collect any initial list of potential services, - # but we'll then need to further process these directories - # by searching for the corresponding type_name in each - # potential directory. - possible_services = [ - d for d in os.listdir(possible_path) - if os.path.isdir(os.path.join(possible_path, d))] - for service_name in possible_services: - full_dirname = os.path.join(possible_path, service_name) - api_versions = os.listdir(full_dirname) - for api_version in api_versions: - full_load_path = os.path.join(full_dirname, - api_version, - type_name) - if self.file_loader.exists(full_load_path): - services.add(service_name) - break - return sorted(services) - - @instance_cache - def determine_latest_version(self, service_name, type_name): - """Find the latest API version available for a service. - - :type service_name: str - :param service_name: The name of the service. - - :type type_name: str - :param type_name: The type of the service (service-2, - paginators-1, waiters-2, etc). This is needed because - the latest API version available can depend on the service - type. For example, the latest API version available for - a resource-1.json file may not be the latest API version - available for a services-2.json file. - - :rtype: str - :return: The latest API version. If the service does not exist - or does not have any available API data, then a - ``DataNotFoundError`` exception will be raised. - - """ - return max(self.list_api_versions(service_name, type_name)) - - @instance_cache - def list_api_versions(self, service_name, type_name): - """List all API versions available for a particular service type - - :type service_name: str - :param service_name: The name of the service - - :type type_name: str - :param type_name: The type name for the service (i.e service-2, - paginators-1, etc.) - - :rtype: list - :return: A list of API version strings in sorted order. - - """ - known_api_versions = set() - for possible_path in self._potential_locations(service_name, - must_exist=True, - is_dir=True): - for dirname in os.listdir(possible_path): - full_path = os.path.join(possible_path, dirname, type_name) - # Only add to the known_api_versions if the directory - # contains a service-2, paginators-1, etc. file corresponding - # to the type_name passed in. - if self.file_loader.exists(full_path): - known_api_versions.add(dirname) - if not known_api_versions: - raise DataNotFoundError(data_path=service_name) - return sorted(known_api_versions) - - @instance_cache - def load_service_model(self, service_name, type_name, api_version=None): - """Load a botocore service model - - This is the main method for loading botocore models (e.g. a service - model, pagination configs, waiter configs, etc.). - - :type service_name: str - :param service_name: The name of the service (e.g ``ec2``, ``s3``). - - :type type_name: str - :param type_name: The model type. Valid types include, but are not - limited to: ``service-2``, ``paginators-1``, ``waiters-2``. - - :type api_version: str - :param api_version: The API version to load. If this is not - provided, then the latest API version will be used. - - :type load_extras: bool - :param load_extras: Whether or not to load the tool extras which - contain additional data to be added to the model. - - :raises: UnknownServiceError if there is no known service with - the provided service_name. - - :raises: DataNotFoundError if no data could be found for the - service_name/type_name/api_version. - - :return: The loaded data, as a python type (e.g. dict, list, etc). - """ - # Wrapper around the load_data. This will calculate the path - # to call load_data with. - known_services = self.list_available_services(type_name) - if service_name not in known_services: - raise UnknownServiceError( - service_name=service_name, - known_service_names=', '.join(sorted(known_services))) - if api_version is None: - api_version = self.determine_latest_version( - service_name, type_name) - full_path = os.path.join(service_name, api_version, type_name) - model = self.load_data(full_path) - - # Load in all the extras - extras_data = self._find_extras(service_name, type_name, api_version) - self._extras_processor.process(model, extras_data) - - return model - - def _find_extras(self, service_name, type_name, api_version): - """Creates an iterator over all the extras data.""" - for extras_type in self.extras_types: - extras_name = '%s.%s-extras' % (type_name, extras_type) - full_path = os.path.join(service_name, api_version, extras_name) - - try: - yield self.load_data(full_path) - except DataNotFoundError: - pass - - @instance_cache - def load_data(self, name): - """Load data given a data path. - - This is a low level method that will search through the various - search paths until it's able to load a value. This is typically - only needed to load *non* model files (such as _endpoints and - _retry). If you need to load model files, you should prefer - ``load_service_model``. - - :type name: str - :param name: The data path, i.e ``ec2/2015-03-01/service-2``. - - :return: The loaded data. If no data could be found then - a DataNotFoundError is raised. - - """ - for possible_path in self._potential_locations(name): - found = self.file_loader.load_file(possible_path) - if found is not None: - return found - # We didn't find anything that matched on any path. - raise DataNotFoundError(data_path=name) - - def _potential_locations(self, name=None, must_exist=False, - is_dir=False): - # Will give an iterator over the full path of potential locations - # according to the search path. - for path in self.search_paths: - if os.path.isdir(path): - full_path = path - if name is not None: - full_path = os.path.join(path, name) - if not must_exist: - yield full_path - else: - if is_dir and os.path.isdir(full_path): - yield full_path - elif os.path.exists(full_path): - yield full_path - - -class ExtrasProcessor(object): - """Processes data from extras files into service models.""" - def process(self, original_model, extra_models): - """Processes data from a list of loaded extras files into a model - - :type original_model: dict - :param original_model: The service model to load all the extras into. - - :type extra_models: iterable of dict - :param extra_models: A list of loaded extras models. - """ - for extras in extra_models: - self._process(original_model, extras) - - def _process(self, model, extra_model): - """Process a single extras model into a service model.""" - if 'merge' in extra_model: - deep_merge(model, extra_model['merge']) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/model.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/model.py deleted file mode 100644 index 295dd47c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/model.py +++ /dev/null @@ -1,735 +0,0 @@ -# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Abstractions to interact with service models.""" -from collections import defaultdict - -from botocore.utils import CachedProperty, instance_cache -from botocore.compat import OrderedDict - - -NOT_SET = object() - - -class NoShapeFoundError(Exception): - pass - - -class InvalidShapeError(Exception): - pass - - -class OperationNotFoundError(Exception): - pass - - -class InvalidShapeReferenceError(Exception): - pass - - -class UndefinedModelAttributeError(Exception): - pass - - -class Shape(object): - """Object representing a shape from the service model.""" - # To simplify serialization logic, all shape params that are - # related to serialization are moved from the top level hash into - # a 'serialization' hash. This list below contains the names of all - # the attributes that should be moved. - SERIALIZED_ATTRS = ['locationName', 'queryName', 'flattened', 'location', - 'payload', 'streaming', 'timestampFormat', - 'xmlNamespace', 'resultWrapper', 'xmlAttribute', - 'eventstream', 'event', 'eventheader', 'eventpayload', - 'jsonvalue', 'timestampFormat'] - METADATA_ATTRS = ['required', 'min', 'max', 'sensitive', 'enum', - 'idempotencyToken', 'error', 'exception'] - MAP_TYPE = OrderedDict - - def __init__(self, shape_name, shape_model, shape_resolver=None): - """ - - :type shape_name: string - :param shape_name: The name of the shape. - - :type shape_model: dict - :param shape_model: The shape model. This would be the value - associated with the key in the "shapes" dict of the - service model (i.e ``model['shapes'][shape_name]``) - - :type shape_resolver: botocore.model.ShapeResolver - :param shape_resolver: A shape resolver object. This is used to - resolve references to other shapes. For scalar shape types - (string, integer, boolean, etc.), this argument is not - required. If a shape_resolver is not provided for a complex - type, then a ``ValueError`` will be raised when an attempt - to resolve a shape is made. - - """ - self.name = shape_name - self.type_name = shape_model['type'] - self.documentation = shape_model.get('documentation', '') - self._shape_model = shape_model - if shape_resolver is None: - # If a shape_resolver is not provided, we create an object - # that will throw errors if you attempt to resolve - # a shape. This is actually ok for scalar shapes - # because they don't need to resolve shapes and shouldn't - # be required to provide an object they won't use. - shape_resolver = UnresolvableShapeMap() - self._shape_resolver = shape_resolver - self._cache = {} - - @CachedProperty - def serialization(self): - """Serialization information about the shape. - - This contains information that may be needed for input serialization - or response parsing. This can include: - - * name - * queryName - * flattened - * location - * payload - * streaming - * xmlNamespace - * resultWrapper - * xmlAttribute - * jsonvalue - * timestampFormat - - :rtype: dict - :return: Serialization information about the shape. - - """ - model = self._shape_model - serialization = {} - for attr in self.SERIALIZED_ATTRS: - if attr in self._shape_model: - serialization[attr] = model[attr] - # For consistency, locationName is renamed to just 'name'. - if 'locationName' in serialization: - serialization['name'] = serialization.pop('locationName') - return serialization - - @CachedProperty - def metadata(self): - """Metadata about the shape. - - This requires optional information about the shape, including: - - * min - * max - * enum - * sensitive - * required - * idempotencyToken - - :rtype: dict - :return: Metadata about the shape. - - """ - model = self._shape_model - metadata = {} - for attr in self.METADATA_ATTRS: - if attr in self._shape_model: - metadata[attr] = model[attr] - return metadata - - @CachedProperty - def required_members(self): - """A list of members that are required. - - A structure shape can define members that are required. - This value will return a list of required members. If there - are no required members an empty list is returned. - - """ - return self.metadata.get('required', []) - - def _resolve_shape_ref(self, shape_ref): - return self._shape_resolver.resolve_shape_ref(shape_ref) - - def __repr__(self): - return "<%s(%s)>" % (self.__class__.__name__, - self.name) - - -class StructureShape(Shape): - @CachedProperty - def members(self): - members = self._shape_model['members'] - # The members dict looks like: - # 'members': { - # 'MemberName': {'shape': 'shapeName'}, - # 'MemberName2': {'shape': 'shapeName'}, - # } - # We return a dict of member name to Shape object. - shape_members = self.MAP_TYPE() - for name, shape_ref in members.items(): - shape_members[name] = self._resolve_shape_ref(shape_ref) - return shape_members - - -class ListShape(Shape): - @CachedProperty - def member(self): - return self._resolve_shape_ref(self._shape_model['member']) - - -class MapShape(Shape): - @CachedProperty - def key(self): - return self._resolve_shape_ref(self._shape_model['key']) - - @CachedProperty - def value(self): - return self._resolve_shape_ref(self._shape_model['value']) - - -class StringShape(Shape): - @CachedProperty - def enum(self): - return self.metadata.get('enum', []) - - -class ServiceModel(object): - """ - - :ivar service_description: The parsed service description dictionary. - - """ - - def __init__(self, service_description, service_name=None): - """ - - :type service_description: dict - :param service_description: The service description model. This value - is obtained from a botocore.loader.Loader, or from directly loading - the file yourself:: - - service_description = json.load( - open('/path/to/service-description-model.json')) - model = ServiceModel(service_description) - - :type service_name: str - :param service_name: The name of the service. Normally this is - the endpoint prefix defined in the service_description. However, - you can override this value to provide a more convenient name. - This is done in a few places in botocore (ses instead of email, - emr instead of elasticmapreduce). If this value is not provided, - it will default to the endpointPrefix defined in the model. - - """ - self._service_description = service_description - # We want clients to be able to access metadata directly. - self.metadata = service_description.get('metadata', {}) - self._shape_resolver = ShapeResolver( - service_description.get('shapes', {})) - self._signature_version = NOT_SET - self._service_name = service_name - self._instance_cache = {} - - def shape_for(self, shape_name, member_traits=None): - return self._shape_resolver.get_shape_by_name( - shape_name, member_traits) - - def resolve_shape_ref(self, shape_ref): - return self._shape_resolver.resolve_shape_ref(shape_ref) - - @CachedProperty - def shape_names(self): - return list(self._service_description.get('shapes', {})) - - @instance_cache - def operation_model(self, operation_name): - try: - model = self._service_description['operations'][operation_name] - except KeyError: - raise OperationNotFoundError(operation_name) - return OperationModel(model, self, operation_name) - - @CachedProperty - def documentation(self): - return self._service_description.get('documentation', '') - - @CachedProperty - def operation_names(self): - return list(self._service_description.get('operations', [])) - - @CachedProperty - def service_name(self): - """The name of the service. - - This defaults to the endpointPrefix defined in the service model. - However, this value can be overriden when a ``ServiceModel`` is - created. If a service_name was not provided when the ``ServiceModel`` - was created and if there is no endpointPrefix defined in the - service model, then an ``UndefinedModelAttributeError`` exception - will be raised. - - """ - if self._service_name is not None: - return self._service_name - else: - return self.endpoint_prefix - - @CachedProperty - def service_id(self): - return self._get_metadata_property('serviceId') - - @CachedProperty - def signing_name(self): - """The name to use when computing signatures. - - If the model does not define a signing name, this - value will be the endpoint prefix defined in the model. - """ - signing_name = self.metadata.get('signingName') - if signing_name is None: - signing_name = self.endpoint_prefix - return signing_name - - @CachedProperty - def api_version(self): - return self._get_metadata_property('apiVersion') - - @CachedProperty - def protocol(self): - return self._get_metadata_property('protocol') - - @CachedProperty - def endpoint_prefix(self): - return self._get_metadata_property('endpointPrefix') - - def _get_metadata_property(self, name): - try: - return self.metadata[name] - except KeyError: - raise UndefinedModelAttributeError( - '"%s" not defined in the metadata of the model: %s' % - (name, self)) - - # Signature version is one of the rare properties - # than can be modified so a CachedProperty is not used here. - - @property - def signature_version(self): - if self._signature_version is NOT_SET: - signature_version = self.metadata.get('signatureVersion') - self._signature_version = signature_version - return self._signature_version - - @signature_version.setter - def signature_version(self, value): - self._signature_version = value - - -class OperationModel(object): - def __init__(self, operation_model, service_model, name=None): - """ - - :type operation_model: dict - :param operation_model: The operation model. This comes from the - service model, and is the value associated with the operation - name in the service model (i.e ``model['operations'][op_name]``). - - :type service_model: botocore.model.ServiceModel - :param service_model: The service model associated with the operation. - - :type name: string - :param name: The operation name. This is the operation name exposed to - the users of this model. This can potentially be different from - the "wire_name", which is the operation name that *must* by - provided over the wire. For example, given:: - - "CreateCloudFrontOriginAccessIdentity":{ - "name":"CreateCloudFrontOriginAccessIdentity2014_11_06", - ... - } - - The ``name`` would be ``CreateCloudFrontOriginAccessIdentity``, - but the ``self.wire_name`` would be - ``CreateCloudFrontOriginAccessIdentity2014_11_06``, which is the - value we must send in the corresponding HTTP request. - - """ - self._operation_model = operation_model - self._service_model = service_model - self._api_name = name - # Clients can access '.name' to get the operation name - # and '.metadata' to get the top level metdata of the service. - self._wire_name = operation_model.get('name') - self.metadata = service_model.metadata - self.http = operation_model.get('http', {}) - - @CachedProperty - def name(self): - if self._api_name is not None: - return self._api_name - else: - return self.wire_name - - @property - def wire_name(self): - """The wire name of the operation. - - In many situations this is the same value as the - ``name``, value, but in some services, the operation name - exposed to the user is different from the operaiton name - we send across the wire (e.g cloudfront). - - Any serialization code should use ``wire_name``. - - """ - return self._operation_model.get('name') - - @property - def service_model(self): - return self._service_model - - @CachedProperty - def documentation(self): - return self._operation_model.get('documentation', '') - - @CachedProperty - def deprecated(self): - return self._operation_model.get('deprecated', False) - - @CachedProperty - def input_shape(self): - if 'input' not in self._operation_model: - # Some operations do not accept any input and do not define an - # input shape. - return None - return self._service_model.resolve_shape_ref( - self._operation_model['input']) - - @CachedProperty - def output_shape(self): - if 'output' not in self._operation_model: - # Some operations do not define an output shape, - # in which case we return None to indicate the - # operation has no expected output. - return None - return self._service_model.resolve_shape_ref( - self._operation_model['output']) - - @CachedProperty - def idempotent_members(self): - input_shape = self.input_shape - if not input_shape: - return [] - - return [name for (name, shape) in input_shape.members.items() - if 'idempotencyToken' in shape.metadata and - shape.metadata['idempotencyToken']] - - @CachedProperty - def auth_type(self): - return self._operation_model.get('authtype') - - @CachedProperty - def error_shapes(self): - shapes = self._operation_model.get("errors", []) - return list(self._service_model.resolve_shape_ref(s) for s in shapes) - - @CachedProperty - def has_event_stream_input(self): - return self.get_event_stream_input() is not None - - @CachedProperty - def has_event_stream_output(self): - return self.get_event_stream_output() is not None - - def get_event_stream_input(self): - return self._get_event_stream(self.input_shape) - - def get_event_stream_output(self): - return self._get_event_stream(self.output_shape) - - def _get_event_stream(self, shape): - """Returns the event stream member's shape if any or None otherwise.""" - if shape is None: - return None - for member in shape.members.values(): - if member.serialization.get('eventstream'): - return member - return None - - @CachedProperty - def has_streaming_input(self): - return self.get_streaming_input() is not None - - @CachedProperty - def has_streaming_output(self): - return self.get_streaming_output() is not None - - def get_streaming_input(self): - return self._get_streaming_body(self.input_shape) - - def get_streaming_output(self): - return self._get_streaming_body(self.output_shape) - - def _get_streaming_body(self, shape): - """Returns the streaming member's shape if any; or None otherwise.""" - if shape is None: - return None - payload = shape.serialization.get('payload') - if payload is not None: - payload_shape = shape.members[payload] - if payload_shape.type_name == 'blob': - return payload_shape - return None - - def __repr__(self): - return '%s(name=%s)' % (self.__class__.__name__, self.name) - - -class ShapeResolver(object): - """Resolves shape references.""" - - # Any type not in this mapping will default to the Shape class. - SHAPE_CLASSES = { - 'structure': StructureShape, - 'list': ListShape, - 'map': MapShape, - 'string': StringShape - } - - def __init__(self, shape_map): - self._shape_map = shape_map - self._shape_cache = {} - - def get_shape_by_name(self, shape_name, member_traits=None): - try: - shape_model = self._shape_map[shape_name] - except KeyError: - raise NoShapeFoundError(shape_name) - try: - shape_cls = self.SHAPE_CLASSES.get(shape_model['type'], Shape) - except KeyError: - raise InvalidShapeError("Shape is missing required key 'type': %s" - % shape_model) - if member_traits: - shape_model = shape_model.copy() - shape_model.update(member_traits) - result = shape_cls(shape_name, shape_model, self) - return result - - def resolve_shape_ref(self, shape_ref): - # A shape_ref is a dict that has a 'shape' key that - # refers to a shape name as well as any additional - # member traits that are then merged over the shape - # definition. For example: - # {"shape": "StringType", "locationName": "Foobar"} - if len(shape_ref) == 1 and 'shape' in shape_ref: - # It's just a shape ref with no member traits, we can avoid - # a .copy(). This is the common case so it's specifically - # called out here. - return self.get_shape_by_name(shape_ref['shape']) - else: - member_traits = shape_ref.copy() - try: - shape_name = member_traits.pop('shape') - except KeyError: - raise InvalidShapeReferenceError( - "Invalid model, missing shape reference: %s" % shape_ref) - return self.get_shape_by_name(shape_name, member_traits) - - -class UnresolvableShapeMap(object): - """A ShapeResolver that will throw ValueErrors when shapes are resolved. - """ - def get_shape_by_name(self, shape_name, member_traits=None): - raise ValueError("Attempted to lookup shape '%s', but no shape " - "map was provided.") - - def resolve_shape_ref(self, shape_ref): - raise ValueError("Attempted to resolve shape '%s', but no shape " - "map was provided.") - - -class DenormalizedStructureBuilder(object): - """Build a StructureShape from a denormalized model. - - This is a convenience builder class that makes it easy to construct - ``StructureShape``s based on a denormalized model. - - It will handle the details of creating unique shape names and creating - the appropriate shape map needed by the ``StructureShape`` class. - - Example usage:: - - builder = DenormalizedStructureBuilder() - shape = builder.with_members({ - 'A': { - 'type': 'structure', - 'members': { - 'B': { - 'type': 'structure', - 'members': { - 'C': { - 'type': 'string', - } - } - } - } - } - }).build_model() - # ``shape`` is now an instance of botocore.model.StructureShape - - :type dict_type: class - :param dict_type: The dictionary type to use, allowing you to opt-in - to using OrderedDict or another dict type. This can - be particularly useful for testing when order - matters, such as for documentation. - - """ - def __init__(self, name=None): - self.members = OrderedDict() - self._name_generator = ShapeNameGenerator() - if name is None: - self.name = self._name_generator.new_shape_name('structure') - - def with_members(self, members): - """ - - :type members: dict - :param members: The denormalized members. - - :return: self - - """ - self._members = members - return self - - def build_model(self): - """Build the model based on the provided members. - - :rtype: botocore.model.StructureShape - :return: The built StructureShape object. - - """ - shapes = OrderedDict() - denormalized = { - 'type': 'structure', - 'members': self._members, - } - self._build_model(denormalized, shapes, self.name) - resolver = ShapeResolver(shape_map=shapes) - return StructureShape(shape_name=self.name, - shape_model=shapes[self.name], - shape_resolver=resolver) - - def _build_model(self, model, shapes, shape_name): - if model['type'] == 'structure': - shapes[shape_name] = self._build_structure(model, shapes) - elif model['type'] == 'list': - shapes[shape_name] = self._build_list(model, shapes) - elif model['type'] == 'map': - shapes[shape_name] = self._build_map(model, shapes) - elif model['type'] in ['string', 'integer', 'boolean', 'blob', 'float', - 'timestamp', 'long', 'double', 'char']: - shapes[shape_name] = self._build_scalar(model) - else: - raise InvalidShapeError("Unknown shape type: %s" % model['type']) - - def _build_structure(self, model, shapes): - members = OrderedDict() - shape = self._build_initial_shape(model) - shape['members'] = members - - for name, member_model in model['members'].items(): - member_shape_name = self._get_shape_name(member_model) - members[name] = {'shape': member_shape_name} - self._build_model(member_model, shapes, member_shape_name) - return shape - - def _build_list(self, model, shapes): - member_shape_name = self._get_shape_name(model) - shape = self._build_initial_shape(model) - shape['member'] = {'shape': member_shape_name} - self._build_model(model['member'], shapes, member_shape_name) - return shape - - def _build_map(self, model, shapes): - key_shape_name = self._get_shape_name(model['key']) - value_shape_name = self._get_shape_name(model['value']) - shape = self._build_initial_shape(model) - shape['key'] = {'shape': key_shape_name} - shape['value'] = {'shape': value_shape_name} - self._build_model(model['key'], shapes, key_shape_name) - self._build_model(model['value'], shapes, value_shape_name) - return shape - - def _build_initial_shape(self, model): - shape = { - 'type': model['type'], - } - if 'documentation' in model: - shape['documentation'] = model['documentation'] - if 'enum' in model: - shape['enum'] = model['enum'] - return shape - - def _build_scalar(self, model): - return self._build_initial_shape(model) - - def _get_shape_name(self, model): - if 'shape_name' in model: - return model['shape_name'] - else: - return self._name_generator.new_shape_name(model['type']) - - -class ShapeNameGenerator(object): - """Generate unique shape names for a type. - - This class can be used in conjunction with the DenormalizedStructureBuilder - to generate unique shape names for a given type. - - """ - def __init__(self): - self._name_cache = defaultdict(int) - - def new_shape_name(self, type_name): - """Generate a unique shape name. - - This method will guarantee a unique shape name each time it is - called with the same type. - - :: - - >>> s = ShapeNameGenerator() - >>> s.new_shape_name('structure') - 'StructureType1' - >>> s.new_shape_name('structure') - 'StructureType2' - >>> s.new_shape_name('list') - 'ListType1' - >>> s.new_shape_name('list') - 'ListType2' - - - :type type_name: string - :param type_name: The type name (structure, list, map, string, etc.) - - :rtype: string - :return: A unique shape name for the given type - - """ - self._name_cache[type_name] += 1 - current_index = self._name_cache[type_name] - return '%sType%s' % (type_name.capitalize(), - current_index) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/paginate.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/paginate.py deleted file mode 100644 index 7ca13ae2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/paginate.py +++ /dev/null @@ -1,675 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -from itertools import tee - -from botocore.compat import six - -import jmespath -import json -import base64 -import logging -from botocore.exceptions import PaginationError -from botocore.compat import zip -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'] - - def get_paginator(self, operation_name): - try: - single_paginator_config = self._paginator_config[operation_name] - except KeyError: - raise ValueError("Paginator for operation does not exist: %s" - % operation_name) - return single_paginator_config - - -class PageIterator(object): - def __init__(self, method, input_token, output_token, more_results, - result_keys, non_aggregate_keys, limit_key, max_items, - starting_token, page_size, op_kwargs): - self._method = method - self._input_token = input_token - self._output_token = output_token - self._more_results = more_results - self._result_keys = result_keys - self._max_items = max_items - self._limit_key = limit_key - self._starting_token = starting_token - self._page_size = page_size - self._op_kwargs = op_kwargs - 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): - return self._result_keys - - @property - def resume_token(self): - """Token to specify to resume pagination.""" - return self._resume_token - - @resume_token.setter - def resume_token(self, value): - if not isinstance(value, dict): - raise ValueError("Bad starting token: %s" % value) - - if 'boto_truncate_amount' in value: - token_keys = sorted(self._input_token + ['boto_truncate_amount']) - else: - token_keys = sorted(self._input_token) - dict_keys = sorted(value.keys()) - - if token_keys == dict_keys: - self._resume_token = self._token_encoder.encode(value) - else: - raise ValueError("Bad starting token: %s" % value) - - @property - def non_aggregate_part(self): - return self._non_aggregate_part - - def __iter__(self): - current_kwargs = self._op_kwargs - previous_next_token = None - next_token = dict((key, None) for key in self._input_token) - if self._starting_token is not None: - # If the starting token exists, populate the next_token with the - # values inside it. This ensures that we have the service's - # pagination token on hand if we need to truncate after the - # first response. - next_token = self._parse_starting_token()[0] - # The number of items from result_key we've seen so far. - total_items = 0 - first_request = True - primary_result_key = self.result_keys[0] - starting_truncation = 0 - self._inject_starting_params(current_kwargs) - while True: - response = self._make_request(current_kwargs) - parsed = self._extract_parsed_response(response) - if first_request: - # The first request is handled differently. We could - # possibly have a resume/starting token that tells us where - # to index into the retrieved page. - if self._starting_token is not None: - starting_truncation = self._handle_first_request( - parsed, primary_result_key, starting_truncation) - first_request = False - self._record_non_aggregate_key_values(parsed) - else: - # If this isn't the first request, we have already sliced into - # the first request and had to make additional requests after. - # We no longer need to add this to truncation. - starting_truncation = 0 - current_response = primary_result_key.search(parsed) - if current_response is None: - current_response = [] - num_current_response = len(current_response) - truncate_amount = 0 - if self._max_items is not None: - truncate_amount = (total_items + num_current_response) \ - - self._max_items - if truncate_amount > 0: - self._truncate_response(parsed, primary_result_key, - truncate_amount, starting_truncation, - next_token) - yield response - break - else: - yield response - total_items += num_current_response - next_token = self._get_next_token(parsed) - if all(t is None for t in next_token.values()): - break - if self._max_items is not None and \ - total_items == self._max_items: - # We're on a page boundary so we can set the current - # next token to be the resume token. - self.resume_token = next_token - break - if previous_next_token is not None and \ - previous_next_token == next_token: - message = ("The same next token was received " - "twice: %s" % next_token) - raise PaginationError(message=message) - self._inject_token_into_kwargs(current_kwargs, next_token) - previous_next_token = next_token - - def search(self, expression): - """Applies a JMESPath expression to a paginator - - Each page of results is searched using the provided JMESPath - expression. If the result is not a list, it is yielded - directly. If the result is a list, each element in the result - is yielded individually (essentially implementing a flatmap in - which the JMESPath search is the mapping function). - - :type expression: str - :param expression: JMESPath expression to apply to each page. - - :return: Returns an iterator that yields the individual - elements of applying a JMESPath expression to each page of - results. - """ - compiled = jmespath.compile(expression) - for page in self: - results = compiled.search(page) - if isinstance(results, list): - for element in results: - yield element - else: - # Yield result directly if it is not a list. - yield results - - def _make_request(self, current_kwargs): - return self._method(**current_kwargs) - - def _extract_parsed_response(self, response): - return response - - def _record_non_aggregate_key_values(self, response): - non_aggregate_keys = {} - for expression in self._non_aggregate_key_exprs: - result = expression.search(response) - set_value_from_jmespath(non_aggregate_keys, - expression.expression, - result) - self._non_aggregate_part = non_aggregate_keys - - def _inject_starting_params(self, op_kwargs): - # If the user has specified a starting token we need to - # inject that into the operation's kwargs. - if self._starting_token is not None: - # Don't need to do anything special if there is no starting - # token specified. - next_token = self._parse_starting_token()[0] - self._inject_token_into_kwargs(op_kwargs, next_token) - if self._page_size is not None: - # Pass the page size as the parameter name for limiting - # page size, also known as the limit_key. - op_kwargs[self._limit_key] = self._page_size - - def _inject_token_into_kwargs(self, op_kwargs, next_token): - for name, token in next_token.items(): - if (token is not None) and (token != 'None'): - op_kwargs[name] = token - elif name in op_kwargs: - del op_kwargs[name] - - def _handle_first_request(self, parsed, primary_result_key, - starting_truncation): - # If the payload is an array or string, we need to slice into it - # 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, six.string_types)): - data = all_data[starting_truncation:] - else: - data = None - set_value_from_jmespath( - parsed, - primary_result_key.expression, - data - ) - # We also need to truncate any secondary result keys - # because they were not truncated in the previous last - # response. - for token in self.result_keys: - if token == primary_result_key: - continue - sample = token.search(parsed) - if isinstance(sample, list): - empty_value = [] - elif isinstance(sample, six.string_types): - empty_value = '' - elif isinstance(sample, (int, float)): - empty_value = 0 - else: - empty_value = None - set_value_from_jmespath(parsed, token.expression, empty_value) - return starting_truncation - - def _truncate_response(self, parsed, primary_result_key, truncate_amount, - starting_truncation, next_token): - original = primary_result_key.search(parsed) - if original is None: - original = [] - amount_to_keep = len(original) - truncate_amount - truncated = original[:amount_to_keep] - set_value_from_jmespath( - parsed, - primary_result_key.expression, - truncated - ) - # The issue here is that even though we know how much we've truncated - # we need to account for this globally including any starting - # left truncation. For example: - # Raw response: [0,1,2,3] - # Starting index: 1 - # Max items: 1 - # Starting left truncation: [1, 2, 3] - # End right truncation for max items: [1] - # However, even though we only kept 1, this is post - # left truncation so the next starting index should be 2, not 1 - # (left_truncation + amount_to_keep). - next_token['boto_truncate_amount'] = \ - amount_to_keep + starting_truncation - self.resume_token = next_token - - def _get_next_token(self, parsed): - if self._more_results is not None: - if not self._more_results.search(parsed): - return {} - next_tokens = {} - for output_token, input_key in \ - zip(self._output_token, self._input_token): - next_token = output_token.search(parsed) - # We do not want to include any empty strings as actual tokens. - # Treat them as None. - if next_token: - next_tokens[input_key] = next_token - else: - next_tokens[input_key] = None - return next_tokens - - def result_key_iters(self): - teed_results = tee(self, len(self.result_keys)) - return [ResultKeyIterator(i, result_key) for i, result_key - in zip(teed_results, self.result_keys)] - - def build_full_result(self): - complete_result = {} - for response in self: - page = response - # We want to try to catch operation object pagination - # and format correctly for those. They come in the form - # of a tuple of two elements: (http_response, parsed_responsed). - # We want the parsed_response as that is what the page iterator - # uses. We can remove it though once operation objects are removed. - if isinstance(response, tuple) and len(response) == 2: - page = response[1] - # We're incrementally building the full response page - # by page. For each page in the response we need to - # inject the necessary components from the page - # into the complete_result. - for result_expression in self.result_keys: - # In order to incrementally update a result key - # we need to search the existing value from complete_result, - # then we need to search the _current_ page for the - # current result key value. Then we append the current - # value onto the existing value, and re-set that value - # as the new value. - result_value = result_expression.search(page) - if result_value is None: - continue - existing_value = result_expression.search(complete_result) - if existing_value is None: - # Set the initial result - set_value_from_jmespath( - complete_result, result_expression.expression, - result_value) - continue - # 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, six.string_types)): - # Modify the existing result with the sum or concatenation - set_value_from_jmespath( - complete_result, result_expression.expression, - existing_value + result_value) - merge_dicts(complete_result, self.non_aggregate_part) - if self.resume_token is not None: - complete_result['NextToken'] = self.resume_token - return complete_result - - def _parse_starting_token(self): - if self._starting_token is None: - return None - - # The starting token is a dict passed as a base64 encoded string. - next_token = self._starting_token - try: - next_token = self._token_decoder.decode(next_token) - index = 0 - if 'boto_truncate_amount' in next_token: - index = next_token.get('boto_truncate_amount') - del next_token['boto_truncate_amount'] - except (ValueError, TypeError): - next_token, index = self._parse_starting_token_deprecated() - return next_token, index - - def _parse_starting_token_deprecated(self): - """ - This handles parsing of old style starting tokens, and attempts to - coerce them into the new style. - """ - log.debug("Attempting to fall back to old starting token parser. For " - "token: %s" % self._starting_token) - if self._starting_token is None: - return None - - parts = self._starting_token.split('___') - next_token = [] - index = 0 - if len(parts) == len(self._input_token) + 1: - try: - index = int(parts.pop()) - except ValueError: - raise ValueError("Bad starting token: %s" % - self._starting_token) - for part in parts: - if part == 'None': - next_token.append(None) - else: - next_token.append(part) - return self._convert_deprecated_starting_token(next_token), index - - def _convert_deprecated_starting_token(self, deprecated_token): - """ - This attempts to convert a deprecated starting token into the new - style. - """ - len_deprecated_token = len(deprecated_token) - len_input_token = len(self._input_token) - if len_deprecated_token > len_input_token: - raise ValueError("Bad starting token: %s" % self._starting_token) - elif len_deprecated_token < len_input_token: - log.debug("Old format starting token does not contain all input " - "tokens. Setting the rest, in order, as None.") - for i in range(len_input_token - len_deprecated_token): - deprecated_token.append(None) - return dict(zip(self._input_token, deprecated_token)) - - -class Paginator(object): - PAGE_ITERATOR_CLS = PageIterator - - def __init__(self, method, pagination_config, model): - self._model = model - self._method = method - self._pagination_cfg = pagination_config - self._output_token = self._get_output_tokens(self._pagination_cfg) - self._input_token = self._get_input_tokens(self._pagination_cfg) - self._more_results = self._get_more_results_token(self._pagination_cfg) - self._non_aggregate_keys = self._get_non_aggregate_keys( - self._pagination_cfg) - self._result_keys = self._get_result_keys(self._pagination_cfg) - self._limit_key = self._get_limit_key(self._pagination_cfg) - - @property - def result_keys(self): - return self._result_keys - - def _get_non_aggregate_keys(self, config): - keys = [] - for key in config.get('non_aggregate_keys', []): - keys.append(jmespath.compile(key)) - return keys - - def _get_output_tokens(self, config): - output = [] - output_token = config['output_token'] - if not isinstance(output_token, list): - output_token = [output_token] - for config in output_token: - output.append(jmespath.compile(config)) - return output - - def _get_input_tokens(self, config): - input_token = self._pagination_cfg['input_token'] - if not isinstance(input_token, list): - input_token = [input_token] - return input_token - - def _get_more_results_token(self, config): - more_results = config.get('more_results') - if more_results is not None: - return jmespath.compile(more_results) - - def _get_result_keys(self, config): - result_key = config.get('result_key') - if result_key is not None: - if not isinstance(result_key, list): - result_key = [result_key] - result_key = [jmespath.compile(rk) for rk in result_key] - return result_key - - def _get_limit_key(self, config): - return config.get('limit_key') - - def paginate(self, **kwargs): - """Create paginator object for an operation. - - This returns an iterable object. Iterating over - this object will yield a single page of a response - at a time. - - """ - page_params = self._extract_paging_params(kwargs) - return self.PAGE_ITERATOR_CLS( - self._method, self._input_token, - self._output_token, self._more_results, - self._result_keys, self._non_aggregate_keys, - self._limit_key, - page_params['MaxItems'], - page_params['StartingToken'], - page_params['PageSize'], - kwargs) - - def _extract_paging_params(self, kwargs): - pagination_config = kwargs.pop('PaginationConfig', {}) - max_items = pagination_config.get('MaxItems', None) - if max_items is not None: - max_items = int(max_items) - page_size = pagination_config.get('PageSize', None) - if page_size is not None: - if self._limit_key is None: - raise PaginationError( - message="PageSize parameter is not supported for the " - "pagination interface for this operation.") - input_members = self._model.input_shape.members - limit_key_shape = input_members.get(self._limit_key) - if limit_key_shape.type_name == 'string': - if not isinstance(page_size, six.string_types): - page_size = str(page_size) - else: - page_size = int(page_size) - return { - 'MaxItems': max_items, - 'StartingToken': pagination_config.get('StartingToken', None), - 'PageSize': page_size, - } - - -class ResultKeyIterator(object): - """Iterates over the results of paginated responses. - - Each iterator is associated with a single result key. - Iterating over this object will give you each element in - the result key list. - - :param pages_iterator: An iterator that will give you - pages of results (a ``PageIterator`` class). - :param result_key: The JMESPath expression representing - the result key. - - """ - - def __init__(self, pages_iterator, result_key): - self._pages_iterator = pages_iterator - self.result_key = result_key - - def __iter__(self): - for page in self._pages_iterator: - results = self.result_key.search(page) - if results is None: - results = [] - for result in results: - yield result diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/parsers.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/parsers.py deleted file mode 100644 index 9c1a44da..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/parsers.py +++ /dev/null @@ -1,933 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Response parsers for the various protocol types. - -The module contains classes that can take an HTTP response, and given -an output shape, parse the response into a dict according to the -rules in the output shape. - -There are many similarities amongst the different protocols with regard -to response parsing, and the code is structured in a way to avoid -code duplication when possible. The diagram below is a diagram -showing the inheritance hierarchy of the response classes. - -:: - - - - +--------------+ - |ResponseParser| - +--------------+ - ^ ^ ^ - +--------------------+ | +-------------------+ - | | | - +----------+----------+ +------+-------+ +-------+------+ - |BaseXMLResponseParser| |BaseRestParser| |BaseJSONParser| - +---------------------+ +--------------+ +--------------+ - ^ ^ ^ ^ ^ ^ - | | | | | | - | | | | | | - | ++----------+-+ +-+-----------++ | - | |RestXMLParser| |RestJSONParser| | - +-----+-----+ +-------------+ +--------------+ +----+-----+ - |QueryParser| |JSONParser| - +-----------+ +----------+ - - -The diagram above shows that there is a base class, ``ResponseParser`` that -contains logic that is similar amongst all the different protocols (``query``, -``json``, ``rest-json``, ``rest-xml``). Amongst the various services there -is shared logic that can be grouped several ways: - -* The ``query`` and ``rest-xml`` both have XML bodies that are parsed in the - same way. -* The ``json`` and ``rest-json`` protocols both have JSON bodies that are - parsed in the same way. -* The ``rest-json`` and ``rest-xml`` protocols have additional attributes - besides body parameters that are parsed the same (headers, query string, - status code). - -This is reflected in the class diagram above. The ``BaseXMLResponseParser`` -and the BaseJSONParser contain logic for parsing the XML/JSON body, -and the BaseRestParser contains logic for parsing out attributes that -come from other parts of the HTTP response. Classes like the -``RestXMLParser`` inherit from the ``BaseXMLResponseParser`` to get the -XML body parsing logic and the ``BaseRestParser`` to get the HTTP -header/status code/query string parsing. - -Additionally, there are event stream parsers that are used by the other parsers -to wrap streaming bodies that represent a stream of events. The -BaseEventStreamParser extends from ResponseParser and defines the logic for -parsing values from the headers and payload of a message from the underlying -binary encoding protocol. Currently, event streams support parsing bodies -encoded as JSON and XML through the following hierarchy. - - - +--------------+ - |ResponseParser| - +--------------+ - ^ ^ ^ - +--------------------+ | +------------------+ - | | | - +----------+----------+ +----------+----------+ +-------+------+ - |BaseXMLResponseParser| |BaseEventStreamParser| |BaseJSONParser| - +---------------------+ +---------------------+ +--------------+ - ^ ^ ^ ^ - | | | | - | | | | - +-+----------------+-+ +-+-----------------+-+ - |EventStreamXMLParser| |EventStreamJSONParser| - +--------------------+ +---------------------+ - -Return Values -============= - -Each call to ``parse()`` returns a dict has this form:: - - Standard Response - - { - "ResponseMetadata": {"RequestId": } - - } - - Error response - - { - "ResponseMetadata": {"RequestId": } - "Error": { - "Code": , - "Message": , - "Type": , - - } - } - -""" -import re -import base64 -import json -import xml.etree.cElementTree -import logging - -from botocore.compat import six, XMLParseError -from botocore.eventstream import EventStream - -from botocore.utils import parse_timestamp, merge_dicts, \ - is_json_value_header, lowercase_dict - -LOG = logging.getLogger(__name__) - -DEFAULT_TIMESTAMP_PARSER = parse_timestamp - - -class ResponseParserFactory(object): - def __init__(self): - self._defaults = {} - - def set_parser_defaults(self, **kwargs): - """Set default arguments when a parser instance is created. - - You can specify any kwargs that are allowed by a ResponseParser - class. There are currently two arguments: - - * timestamp_parser - A callable that can parse a timetsamp string - * blob_parser - A callable that can parse a blob type - - """ - self._defaults.update(kwargs) - - def create_parser(self, protocol_name): - parser_cls = PROTOCOL_PARSERS[protocol_name] - return parser_cls(**self._defaults) - - -def create_parser(protocol): - return ResponseParserFactory().create_parser(protocol) - - -def _text_content(func): - # This decorator hides the difference between - # an XML node with text or a plain string. It's used - # to ensure that scalar processing operates only on text - # strings, which allows the same scalar handlers to be used - # for XML nodes from the body and HTTP headers. - def _get_text_content(self, shape, node_or_string): - if hasattr(node_or_string, 'text'): - text = node_or_string.text - if text is None: - # If an XML node is empty , - # we want to parse that as an empty string, - # not as a null/None value. - text = '' - else: - text = node_or_string - return func(self, shape, text) - return _get_text_content - - -class ResponseParserError(Exception): - pass - - -class ResponseParser(object): - """Base class for response parsing. - - This class represents the interface that all ResponseParsers for the - various protocols must implement. - - This class will take an HTTP response and a model shape and parse the - HTTP response into a dictionary. - - There is a single public method exposed: ``parse``. See the ``parse`` - docstring for more info. - - """ - DEFAULT_ENCODING = 'utf-8' - EVENT_STREAM_PARSER_CLS = None - - def __init__(self, timestamp_parser=None, blob_parser=None): - if timestamp_parser is None: - timestamp_parser = DEFAULT_TIMESTAMP_PARSER - self._timestamp_parser = timestamp_parser - if blob_parser is None: - blob_parser = self._default_blob_parser - self._blob_parser = blob_parser - self._event_stream_parser = None - if self.EVENT_STREAM_PARSER_CLS is not None: - self._event_stream_parser = self.EVENT_STREAM_PARSER_CLS( - timestamp_parser, blob_parser) - - def _default_blob_parser(self, value): - # Blobs are always returned as bytes type (this matters on python3). - # We don't decode this to a str because it's entirely possible that the - # blob contains binary data that actually can't be decoded. - return base64.b64decode(value) - - def parse(self, response, shape): - """Parse the HTTP response given a shape. - - :param response: The HTTP response dictionary. This is a dictionary - that represents the HTTP request. The dictionary must have the - following keys, ``body``, ``headers``, and ``status_code``. - - :param shape: The model shape describing the expected output. - :return: Returns a dictionary representing the parsed response - described by the model. In addition to the shape described from - the model, each response will also have a ``ResponseMetadata`` - which contains metadata about the response, which contains at least - two keys containing ``RequestId`` and ``HTTPStatusCode``. Some - responses may populate additional keys, but ``RequestId`` will - always be present. - - """ - LOG.debug('Response headers: %s', response['headers']) - LOG.debug('Response body:\n%s', response['body']) - if response['status_code'] >= 301: - if self._is_generic_error_response(response): - parsed = self._do_generic_error_parse(response) - else: - parsed = self._do_error_parse(response, shape) - else: - parsed = self._do_parse(response, shape) - - # We don't want to decorate event stream responses with metadata - if shape and shape.serialization.get('eventstream'): - return parsed - - # Add ResponseMetadata if it doesn't exist and inject the HTTP - # status code and headers from the response. - if isinstance(parsed, dict): - response_metadata = parsed.get('ResponseMetadata', {}) - response_metadata['HTTPStatusCode'] = response['status_code'] - # Ensure that the http header keys are all lower cased. Older - # versions of urllib3 (< 1.11) would unintentionally do this for us - # (see urllib3#633). We need to do this conversion manually now. - headers = response['headers'] - response_metadata['HTTPHeaders'] = lowercase_dict(headers) - parsed['ResponseMetadata'] = response_metadata - return parsed - - def _is_generic_error_response(self, response): - # There are times when a service will respond with a generic - # error response such as: - # 'Http/1.1 Service Unavailable' - # - # This can also happen if you're going through a proxy. - # In this case the protocol specific _do_error_parse will either - # fail to parse the response (in the best case) or silently succeed - # and treat the HTML above as an XML response and return - # non sensical parsed data. - # To prevent this case from happening we first need to check - # whether or not this response looks like the generic response. - if response['status_code'] >= 500: - body = response['body'].strip() - return body.startswith(b'') or not body - - def _do_generic_error_parse(self, response): - # There's not really much we can do when we get a generic - # html response. - LOG.debug("Received a non protocol specific error response from the " - "service, unable to populate error code and message.") - return { - 'Error': {'Code': str(response['status_code']), - 'Message': six.moves.http_client.responses.get( - response['status_code'], '')}, - 'ResponseMetadata': {}, - } - - def _do_parse(self, response, shape): - raise NotImplementedError("%s._do_parse" % self.__class__.__name__) - - def _do_error_parse(self, response, shape): - raise NotImplementedError( - "%s._do_error_parse" % self.__class__.__name__) - - def _parse_shape(self, shape, node): - handler = getattr(self, '_handle_%s' % shape.type_name, - self._default_handle) - return handler(shape, node) - - def _handle_list(self, shape, node): - # Enough implementations share list serialization that it's moved - # up here in the base class. - parsed = [] - member_shape = shape.member - for item in node: - parsed.append(self._parse_shape(member_shape, item)) - return parsed - - def _default_handle(self, shape, value): - return value - - -class BaseXMLResponseParser(ResponseParser): - def __init__(self, timestamp_parser=None, blob_parser=None): - super(BaseXMLResponseParser, self).__init__(timestamp_parser, - blob_parser) - self._namespace_re = re.compile('{.*}') - - def _handle_map(self, shape, node): - parsed = {} - key_shape = shape.key - value_shape = shape.value - key_location_name = key_shape.serialization.get('name') or 'key' - value_location_name = value_shape.serialization.get('name') or 'value' - if shape.serialization.get('flattened') and not isinstance(node, list): - node = [node] - for keyval_node in node: - for single_pair in keyval_node: - # Within each there's a and a - tag_name = self._node_tag(single_pair) - if tag_name == key_location_name: - key_name = self._parse_shape(key_shape, single_pair) - elif tag_name == value_location_name: - val_name = self._parse_shape(value_shape, single_pair) - else: - raise ResponseParserError("Unknown tag: %s" % tag_name) - parsed[key_name] = val_name - return parsed - - def _node_tag(self, node): - return self._namespace_re.sub('', node.tag) - - def _handle_list(self, shape, node): - # When we use _build_name_to_xml_node, repeated elements are aggregated - # into a list. However, we can't tell the difference between a scalar - # value and a single element flattened list. So before calling the - # real _handle_list, we know that "node" should actually be a list if - # it's flattened, and if it's not, then we make it a one element list. - if shape.serialization.get('flattened') and not isinstance(node, list): - node = [node] - return super(BaseXMLResponseParser, self)._handle_list(shape, node) - - def _handle_structure(self, shape, node): - parsed = {} - members = shape.members - xml_dict = self._build_name_to_xml_node(node) - for member_name in members: - member_shape = members[member_name] - if 'location' in member_shape.serialization or \ - member_shape.serialization.get('eventheader'): - # All members with locations have already been handled, - # so we don't need to parse these members. - continue - xml_name = self._member_key_name(member_shape, member_name) - member_node = xml_dict.get(xml_name) - if member_node is not None: - parsed[member_name] = self._parse_shape( - member_shape, member_node) - elif member_shape.serialization.get('xmlAttribute'): - attribs = {} - location_name = member_shape.serialization['name'] - for key, value in node.attrib.items(): - new_key = self._namespace_re.sub( - location_name.split(':')[0] + ':', key) - attribs[new_key] = value - if location_name in attribs: - parsed[member_name] = attribs[location_name] - return parsed - - def _member_key_name(self, shape, member_name): - # This method is needed because we have to special case flattened list - # with a serialization name. If this is the case we use the - # locationName from the list's member shape as the key name for the - # surrounding structure. - if shape.type_name == 'list' and shape.serialization.get('flattened'): - list_member_serialized_name = shape.member.serialization.get( - 'name') - if list_member_serialized_name is not None: - return list_member_serialized_name - serialized_name = shape.serialization.get('name') - if serialized_name is not None: - return serialized_name - return member_name - - def _build_name_to_xml_node(self, parent_node): - # If the parent node is actually a list. We should not be trying - # to serialize it to a dictionary. Instead, return the first element - # in the list. - if isinstance(parent_node, list): - return self._build_name_to_xml_node(parent_node[0]) - xml_dict = {} - for item in parent_node: - key = self._node_tag(item) - if key in xml_dict: - # If the key already exists, the most natural - # way to handle this is to aggregate repeated - # keys into a single list. - # 12 -> {'foo': [Node(1), Node(2)]} - if isinstance(xml_dict[key], list): - xml_dict[key].append(item) - else: - # Convert from a scalar to a list. - xml_dict[key] = [xml_dict[key], item] - else: - xml_dict[key] = item - return xml_dict - - def _parse_xml_string_to_dom(self, xml_string): - try: - parser = xml.etree.cElementTree.XMLParser( - target=xml.etree.cElementTree.TreeBuilder(), - encoding=self.DEFAULT_ENCODING) - parser.feed(xml_string) - root = parser.close() - except XMLParseError as e: - raise ResponseParserError( - "Unable to parse response (%s), " - "invalid XML received:\n%s" % (e, xml_string)) - return root - - def _replace_nodes(self, parsed): - for key, value in parsed.items(): - if value.getchildren(): - sub_dict = self._build_name_to_xml_node(value) - parsed[key] = self._replace_nodes(sub_dict) - else: - parsed[key] = value.text - return parsed - - @_text_content - def _handle_boolean(self, shape, text): - if text == 'true': - return True - else: - return False - - @_text_content - def _handle_float(self, shape, text): - return float(text) - - @_text_content - def _handle_timestamp(self, shape, text): - return self._timestamp_parser(text) - - @_text_content - def _handle_integer(self, shape, text): - return int(text) - - @_text_content - def _handle_string(self, shape, text): - return text - - @_text_content - def _handle_blob(self, shape, text): - return self._blob_parser(text) - - _handle_character = _handle_string - _handle_double = _handle_float - _handle_long = _handle_integer - - -class QueryParser(BaseXMLResponseParser): - - def _do_error_parse(self, response, shape): - xml_contents = response['body'] - root = self._parse_xml_string_to_dom(xml_contents) - parsed = self._build_name_to_xml_node(root) - self._replace_nodes(parsed) - # Once we've converted xml->dict, we need to make one or two - # more adjustments to extract nested errors and to be consistent - # with ResponseMetadata for non-error responses: - # 1. {"Errors": {"Error": {...}}} -> {"Error": {...}} - # 2. {"RequestId": "id"} -> {"ResponseMetadata": {"RequestId": "id"}} - if 'Errors' in parsed: - parsed.update(parsed.pop('Errors')) - if 'RequestId' in parsed: - parsed['ResponseMetadata'] = {'RequestId': parsed.pop('RequestId')} - return parsed - - def _do_parse(self, response, shape): - xml_contents = response['body'] - root = self._parse_xml_string_to_dom(xml_contents) - parsed = {} - if shape is not None: - start = root - if 'resultWrapper' in shape.serialization: - start = self._find_result_wrapped_shape( - shape.serialization['resultWrapper'], - root) - parsed = self._parse_shape(shape, start) - self._inject_response_metadata(root, parsed) - return parsed - - def _find_result_wrapped_shape(self, element_name, xml_root_node): - mapping = self._build_name_to_xml_node(xml_root_node) - return mapping[element_name] - - def _inject_response_metadata(self, node, inject_into): - mapping = self._build_name_to_xml_node(node) - child_node = mapping.get('ResponseMetadata') - if child_node is not None: - sub_mapping = self._build_name_to_xml_node(child_node) - for key, value in sub_mapping.items(): - sub_mapping[key] = value.text - inject_into['ResponseMetadata'] = sub_mapping - - -class EC2QueryParser(QueryParser): - - def _inject_response_metadata(self, node, inject_into): - mapping = self._build_name_to_xml_node(node) - child_node = mapping.get('requestId') - if child_node is not None: - inject_into['ResponseMetadata'] = {'RequestId': child_node.text} - - def _do_error_parse(self, response, shape): - # EC2 errors look like: - # - # - # - # InvalidInstanceID.Malformed - # Invalid id: "1343124" - # - # - # 12345 - # - # This is different from QueryParser in that it's RequestID, - # not RequestId - original = super(EC2QueryParser, self)._do_error_parse(response, shape) - original['ResponseMetadata'] = { - 'RequestId': original.pop('RequestID') - } - return original - - -class BaseJSONParser(ResponseParser): - - def _handle_structure(self, shape, value): - member_shapes = shape.members - if value is None: - # If the comes across the wire as "null" (None in python), - # we should be returning this unchanged, instead of as an - # empty dict. - return None - final_parsed = {} - for member_name in member_shapes: - member_shape = member_shapes[member_name] - json_name = member_shape.serialization.get('name', member_name) - raw_value = value.get(json_name) - if raw_value is not None: - final_parsed[member_name] = self._parse_shape( - member_shapes[member_name], - raw_value) - return final_parsed - - def _handle_map(self, shape, value): - parsed = {} - key_shape = shape.key - value_shape = shape.value - for key, value in value.items(): - actual_key = self._parse_shape(key_shape, key) - actual_value = self._parse_shape(value_shape, value) - parsed[actual_key] = actual_value - return parsed - - def _handle_blob(self, shape, value): - return self._blob_parser(value) - - def _handle_timestamp(self, shape, value): - return self._timestamp_parser(value) - - def _do_error_parse(self, response, shape): - body = self._parse_body_as_json(response['body']) - error = {"Error": {"Message": '', "Code": ''}, "ResponseMetadata": {}} - # Error responses can have slightly different structures for json. - # The basic structure is: - # - # {"__type":"ConnectClientException", - # "message":"The error message."} - - # The error message can either come in the 'message' or 'Message' key - # so we need to check for both. - error['Error']['Message'] = body.get('message', - body.get('Message', '')) - # if the message did not contain an error code - # include the response status code - response_code = response.get('status_code') - code = body.get('__type', response_code and str(response_code)) - if code is not None: - # code has a couple forms as well: - # * "com.aws.dynamodb.vAPI#ProvisionedThroughputExceededException" - # * "ResourceNotFoundException" - if '#' in code: - code = code.rsplit('#', 1)[1] - error['Error']['Code'] = code - self._inject_response_metadata(error, response['headers']) - return error - - def _inject_response_metadata(self, parsed, headers): - if 'x-amzn-requestid' in headers: - parsed.setdefault('ResponseMetadata', {})['RequestId'] = ( - headers['x-amzn-requestid']) - - def _parse_body_as_json(self, body_contents): - if not body_contents: - return {} - body = body_contents.decode(self.DEFAULT_ENCODING) - try: - original_parsed = json.loads(body) - return original_parsed - except ValueError: - # if the body cannot be parsed, include - # the literal string as the message - return { 'message': body } - - -class JSONParser(BaseJSONParser): - """Response parse for the "json" protocol.""" - def _do_parse(self, response, shape): - # The json.loads() gives us the primitive JSON types, - # but we need to traverse the parsed JSON data to convert - # to richer types (blobs, timestamps, etc. - parsed = {} - if shape is not None: - original_parsed = self._parse_body_as_json(response['body']) - parsed = self._parse_shape(shape, original_parsed) - self._inject_response_metadata(parsed, response['headers']) - return parsed - - -class BaseEventStreamParser(ResponseParser): - - def _do_parse(self, response, shape): - final_parsed = {} - if shape.serialization.get('eventstream'): - event_type = response['headers'].get(':event-type') - event_shape = shape.members.get(event_type) - if event_shape: - final_parsed[event_type] = self._do_parse(response, event_shape) - else: - self._parse_non_payload_attrs(response, shape, - shape.members, final_parsed) - self._parse_payload(response, shape, shape.members, final_parsed) - return final_parsed - - def _do_error_parse(self, response, shape): - error = { - 'Error': { - 'Code': response['headers'].get(':error-code', ''), - 'Message': response['headers'].get(':error-message', ''), - } - } - return error - - def _parse_payload(self, response, shape, member_shapes, final_parsed): - if shape.serialization.get('event'): - for name in member_shapes: - member_shape = member_shapes[name] - if member_shape.serialization.get('eventpayload'): - body = response['body'] - if member_shape.type_name == 'blob': - parsed_body = body - elif member_shape.type_name == 'string': - parsed_body = body.decode(self.DEFAULT_ENCODING) - else: - raw_parse = self._initial_body_parse(body) - parsed_body = self._parse_shape(member_shape, raw_parse) - final_parsed[name] = parsed_body - return - # If we didn't find an explicit payload, use the current shape - original_parsed = self._initial_body_parse(response['body']) - body_parsed = self._parse_shape(shape, original_parsed) - final_parsed.update(body_parsed) - - def _parse_non_payload_attrs(self, response, shape, - member_shapes, final_parsed): - headers = response['headers'] - for name in member_shapes: - member_shape = member_shapes[name] - if member_shape.serialization.get('eventheader'): - if name in headers: - value = headers[name] - if member_shape.type_name == 'timestamp': - # Event stream timestamps are an in milleseconds so we - # divide by 1000 to convert to seconds. - value = self._timestamp_parser(value / 1000.0) - final_parsed[name] = value - - def _initial_body_parse(self, body_contents): - # This method should do the initial xml/json parsing of the - # body. We we still need to walk the parsed body in order - # to convert types, but this method will do the first round - # of parsing. - raise NotImplementedError("_initial_body_parse") - - -class EventStreamJSONParser(BaseEventStreamParser, BaseJSONParser): - - def _initial_body_parse(self, body_contents): - return self._parse_body_as_json(body_contents) - - -class EventStreamXMLParser(BaseEventStreamParser, BaseXMLResponseParser): - - def _initial_body_parse(self, xml_string): - if not xml_string: - return xml.etree.cElementTree.Element('') - return self._parse_xml_string_to_dom(xml_string) - - -class BaseRestParser(ResponseParser): - - def _do_parse(self, response, shape): - final_parsed = {} - final_parsed['ResponseMetadata'] = self._populate_response_metadata( - response) - if shape is None: - return final_parsed - member_shapes = shape.members - self._parse_non_payload_attrs(response, shape, - member_shapes, final_parsed) - self._parse_payload(response, shape, member_shapes, final_parsed) - return final_parsed - - def _populate_response_metadata(self, response): - metadata = {} - headers = response['headers'] - if 'x-amzn-requestid' in headers: - metadata['RequestId'] = headers['x-amzn-requestid'] - elif 'x-amz-request-id' in headers: - metadata['RequestId'] = headers['x-amz-request-id'] - # HostId is what it's called whenver this value is returned - # in an XML response body, so to be consistent, we'll always - # call is HostId. - metadata['HostId'] = headers.get('x-amz-id-2', '') - return metadata - - def _parse_payload(self, response, shape, member_shapes, final_parsed): - if 'payload' in shape.serialization: - # If a payload is specified in the output shape, then only that - # shape is used for the body payload. - payload_member_name = shape.serialization['payload'] - body_shape = member_shapes[payload_member_name] - if body_shape.serialization.get('eventstream'): - parser = self._event_stream_parser - name = response['context'].get('operation_name') - body = EventStream(response['body'], body_shape, parser, name) - final_parsed[payload_member_name] = body - elif body_shape.type_name in ['string', 'blob']: - # This is a stream - body = response['body'] - if isinstance(body, bytes): - body = body.decode(self.DEFAULT_ENCODING) - final_parsed[payload_member_name] = body - else: - original_parsed = self._initial_body_parse(response['body']) - final_parsed[payload_member_name] = self._parse_shape( - body_shape, original_parsed) - else: - original_parsed = self._initial_body_parse(response['body']) - body_parsed = self._parse_shape(shape, original_parsed) - final_parsed.update(body_parsed) - - def _parse_non_payload_attrs(self, response, shape, - member_shapes, final_parsed): - headers = response['headers'] - for name in member_shapes: - member_shape = member_shapes[name] - location = member_shape.serialization.get('location') - if location is None: - continue - elif location == 'statusCode': - final_parsed[name] = self._parse_shape( - member_shape, response['status_code']) - elif location == 'headers': - final_parsed[name] = self._parse_header_map(member_shape, - headers) - elif location == 'header': - header_name = member_shape.serialization.get('name', name) - if header_name in headers: - final_parsed[name] = self._parse_shape( - member_shape, headers[header_name]) - - def _parse_header_map(self, shape, headers): - # Note that headers are case insensitive, so we .lower() - # all header names and header prefixes. - parsed = {} - prefix = shape.serialization.get('name', '').lower() - for header_name in headers: - if header_name.lower().startswith(prefix): - # The key name inserted into the parsed hash - # strips off the prefix. - name = header_name[len(prefix):] - parsed[name] = headers[header_name] - return parsed - - def _initial_body_parse(self, body_contents): - # This method should do the initial xml/json parsing of the - # body. We we still need to walk the parsed body in order - # to convert types, but this method will do the first round - # of parsing. - raise NotImplementedError("_initial_body_parse") - - def _handle_string(self, shape, value): - parsed = value - if is_json_value_header(shape): - decoded = base64.b64decode(value).decode(self.DEFAULT_ENCODING) - parsed = json.loads(decoded) - return parsed - - -class RestJSONParser(BaseRestParser, BaseJSONParser): - - EVENT_STREAM_PARSER_CLS = EventStreamJSONParser - - def _initial_body_parse(self, body_contents): - return self._parse_body_as_json(body_contents) - - def _do_error_parse(self, response, shape): - error = super(RestJSONParser, self)._do_error_parse(response, shape) - self._inject_error_code(error, response) - return error - - def _inject_error_code(self, error, response): - # The "Code" value can come from either a response - # header or a value in the JSON body. - body = self._initial_body_parse(response['body']) - if 'x-amzn-errortype' in response['headers']: - code = response['headers']['x-amzn-errortype'] - # Could be: - # x-amzn-errortype: ValidationException: - code = code.split(':')[0] - error['Error']['Code'] = code - elif 'code' in body or 'Code' in body: - error['Error']['Code'] = body.get( - 'code', body.get('Code', '')) - - -class RestXMLParser(BaseRestParser, BaseXMLResponseParser): - - EVENT_STREAM_PARSER_CLS = EventStreamXMLParser - - def _initial_body_parse(self, xml_string): - if not xml_string: - return xml.etree.cElementTree.Element('') - return self._parse_xml_string_to_dom(xml_string) - - def _do_error_parse(self, response, shape): - # We're trying to be service agnostic here, but S3 does have a slightly - # different response structure for its errors compared to other - # rest-xml serivces (route53/cloudfront). We handle this by just - # trying to parse both forms. - # First: - # - # - # Sender - # InvalidInput - # Invalid resource type: foo - # - # request-id - # - if response['body']: - # If the body ends up being invalid xml, the xml parser should not - # blow up. It should at least try to pull information about the - # the error response from other sources like the HTTP status code. - try: - return self._parse_error_from_body(response) - except ResponseParserError as e: - LOG.debug( - 'Exception caught when parsing error response body:', - exc_info=True) - return self._parse_error_from_http_status(response) - - def _parse_error_from_http_status(self, response): - return { - 'Error': { - 'Code': str(response['status_code']), - 'Message': six.moves.http_client.responses.get( - response['status_code'], ''), - }, - 'ResponseMetadata': { - 'RequestId': response['headers'].get('x-amz-request-id', ''), - 'HostId': response['headers'].get('x-amz-id-2', ''), - } - } - - def _parse_error_from_body(self, response): - xml_contents = response['body'] - root = self._parse_xml_string_to_dom(xml_contents) - parsed = self._build_name_to_xml_node(root) - self._replace_nodes(parsed) - if root.tag == 'Error': - # This is an S3 error response. First we'll populate the - # response metadata. - metadata = self._populate_response_metadata(response) - # The RequestId and the HostId are already in the - # ResponseMetadata, but are also duplicated in the XML - # body. We don't need these values in both places, - # we'll just remove them from the parsed XML body. - parsed.pop('RequestId', '') - parsed.pop('HostId', '') - return {'Error': parsed, 'ResponseMetadata': metadata} - elif 'RequestId' in parsed: - # Other rest-xml serivces: - parsed['ResponseMetadata'] = {'RequestId': parsed.pop('RequestId')} - default = {'Error': {'Message': '', 'Code': ''}} - 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, - 'query': QueryParser, - 'json': JSONParser, - 'rest-json': RestJSONParser, - 'rest-xml': RestXMLParser, -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/regions.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/regions.py deleted file mode 100644 index d0099ba8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/regions.py +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Resolves regions and endpoints. - -This module implements endpoint resolution, including resolving endpoints for a -given service and region and resolving the available endpoints for a service -in a specific AWS partition. -""" -import logging -import re - -from botocore.exceptions import NoRegionError - -LOG = logging.getLogger(__name__) -DEFAULT_URI_TEMPLATE = '{service}.{region}.{dnsSuffix}' -DEFAULT_SERVICE_DATA = {'endpoints': {}} - - -class BaseEndpointResolver(object): - """Resolves regions and endpoints. Must be subclassed.""" - def construct_endpoint(self, service_name, region_name=None): - """Resolves an endpoint for a service and region combination. - - :type service_name: string - :param service_name: Name of the service to resolve an endpoint for - (e.g., s3) - - :type region_name: string - :param region_name: Region/endpoint name to resolve (e.g., us-east-1) - if no region is provided, the first found partition-wide endpoint - will be used if available. - - :rtype: dict - :return: Returns a dict containing the following keys: - - partition: (string, required) Resolved partition name - - endpointName: (string, required) Resolved endpoint name - - hostname: (string, required) Hostname to use for this endpoint - - sslCommonName: (string) sslCommonName to use for this endpoint. - - credentialScope: (dict) Signature version 4 credential scope - - region: (string) region name override when signing. - - service: (string) service name override when signing. - - signatureVersions: (list) A list of possible signature - versions, including s3, v4, v2, and s3v4 - - protocols: (list) A list of supported protocols - (e.g., http, https) - - ...: Other keys may be included as well based on the metadata - """ - raise NotImplementedError - - def get_available_partitions(self): - """Lists the partitions available to the endpoint resolver. - - :return: Returns a list of partition names (e.g., ["aws", "aws-cn"]). - """ - raise NotImplementedError - - def get_available_endpoints(self, service_name, partition_name='aws', - allow_non_regional=False): - """Lists the endpoint names of a particular partition. - - :type service_name: string - :param service_name: Name of a service to list endpoint for (e.g., s3) - - :type partition_name: string - :param partition_name: Name of the partition to limit endpoints to. - (e.g., aws for the public AWS endpoints, aws-cn for AWS China - endpoints, aws-us-gov for AWS GovCloud (US) Endpoints, etc. - - :type allow_non_regional: bool - :param allow_non_regional: Set to True to include endpoints that are - not regional endpoints (e.g., s3-external-1, - fips-us-gov-west-1, etc). - :return: Returns a list of endpoint names (e.g., ["us-east-1"]). - """ - raise NotImplementedError - - -class EndpointResolver(BaseEndpointResolver): - """Resolves endpoints based on partition endpoint metadata""" - def __init__(self, endpoint_data): - """ - :param endpoint_data: A dict of partition data. - """ - if 'partitions' not in endpoint_data: - raise ValueError('Missing "partitions" in endpoint data') - self._endpoint_data = endpoint_data - - def get_available_partitions(self): - result = [] - for partition in self._endpoint_data['partitions']: - result.append(partition['partition']) - return result - - def get_available_endpoints(self, service_name, partition_name='aws', - allow_non_regional=False): - result = [] - for partition in self._endpoint_data['partitions']: - if partition['partition'] != partition_name: - continue - services = partition['services'] - if service_name not in services: - continue - for endpoint_name in services[service_name]['endpoints']: - if allow_non_regional or endpoint_name in partition['regions']: - result.append(endpoint_name) - return result - - def construct_endpoint(self, service_name, region_name=None): - # Iterate over each partition until a match is found. - for partition in self._endpoint_data['partitions']: - result = self._endpoint_for_partition( - partition, service_name, region_name) - if result: - return result - - def _endpoint_for_partition(self, partition, service_name, region_name): - # Get the service from the partition, or an empty template. - service_data = partition['services'].get( - service_name, DEFAULT_SERVICE_DATA) - # Use the partition endpoint if no region is supplied. - if region_name is None: - if 'partitionEndpoint' in service_data: - region_name = service_data['partitionEndpoint'] - else: - raise NoRegionError() - # Attempt to resolve the exact region for this partition. - if region_name in service_data['endpoints']: - return self._resolve( - partition, service_name, service_data, region_name) - # Check to see if the endpoint provided is valid for the partition. - if self._region_match(partition, region_name): - # Use the partition endpoint if set and not regionalized. - partition_endpoint = service_data.get('partitionEndpoint') - is_regionalized = service_data.get('isRegionalized', True) - if partition_endpoint and not is_regionalized: - LOG.debug('Using partition endpoint for %s, %s: %s', - service_name, region_name, partition_endpoint) - return self._resolve( - partition, service_name, service_data, partition_endpoint) - LOG.debug('Creating a regex based endpoint for %s, %s', - service_name, region_name) - return self._resolve( - partition, service_name, service_data, region_name) - - def _region_match(self, partition, region_name): - if region_name in partition['regions']: - return True - if 'regionRegex' in partition: - return re.compile(partition['regionRegex']).match(region_name) - return False - - def _resolve(self, partition, service_name, service_data, endpoint_name): - result = service_data['endpoints'].get(endpoint_name, {}) - result['partition'] = partition['partition'] - result['endpointName'] = endpoint_name - # Merge in the service defaults then the partition defaults. - self._merge_keys(service_data.get('defaults', {}), result) - self._merge_keys(partition.get('defaults', {}), result) - hostname = result.get('hostname', DEFAULT_URI_TEMPLATE) - result['hostname'] = self._expand_template( - partition, result['hostname'], service_name, endpoint_name) - if 'sslCommonName' in result: - result['sslCommonName'] = self._expand_template( - partition, result['sslCommonName'], service_name, - endpoint_name) - result['dnsSuffix'] = partition['dnsSuffix'] - return result - - def _merge_keys(self, from_data, result): - for key in from_data: - if key not in result: - result[key] = from_data[key] - - def _expand_template(self, partition, template, service_name, - endpoint_name): - return template.format( - service=service_name, region=endpoint_name, - dnsSuffix=partition['dnsSuffix']) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/response.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/response.py deleted file mode 100644 index f3c5bbaa..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/response.py +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import sys -import xml.etree.cElementTree -import logging - -from botocore import ScalarTypes -from botocore.hooks import first_non_none_response -from botocore.compat import json, set_socket_timeout, XMLParseError -from botocore.exceptions import IncompleteReadError, ReadTimeoutError -from urllib3.exceptions import ReadTimeoutError as URLLib3ReadTimeoutError -from botocore import parsers - - -logger = logging.getLogger(__name__) - - -class StreamingBody(object): - """Wrapper class for an http response body. - - This provides a few additional conveniences that do not exist - in the urllib3 model: - - * Set the timeout on the socket (i.e read() timeouts) - * Auto validation of content length, if the amount of bytes - we read does not match the content length, an exception - is raised. - - """ - _DEFAULT_CHUNK_SIZE = 1024 - - def __init__(self, raw_stream, content_length): - self._raw_stream = raw_stream - self._content_length = content_length - self._amount_read = 0 - - def set_socket_timeout(self, timeout): - """Set the timeout seconds on the socket.""" - # The problem we're trying to solve is to prevent .read() calls from - # hanging. This can happen in rare cases. What we'd like to ideally - # do is set a timeout on the .read() call so that callers can retry - # the request. - # Unfortunately, this isn't currently possible in requests. - # See: https://github.com/kennethreitz/requests/issues/1803 - # So what we're going to do is reach into the guts of the stream and - # grab the socket object, which we can set the timeout on. We're - # putting in a check here so in case this interface goes away, we'll - # know. - try: - # To further complicate things, the way to grab the - # underlying socket object from an HTTPResponse is different - # in py2 and py3. So this code has been pushed to botocore.compat. - set_socket_timeout(self._raw_stream, timeout) - except AttributeError: - logger.error("Cannot access the socket object of " - "a streaming response. It's possible " - "the interface has changed.", exc_info=True) - raise - - def read(self, amt=None): - """Read at most amt bytes from the stream. - - If the amt argument is omitted, read all data. - """ - try: - chunk = self._raw_stream.read(amt) - except URLLib3ReadTimeoutError as e: - # TODO: the url will be None as urllib3 isn't setting it yet - raise ReadTimeoutError(endpoint_url=e.url, error=e) - self._amount_read += len(chunk) - if amt is None or (not chunk and amt > 0): - # If the server sends empty contents or - # we ask to read all of the contents, then we know - # we need to verify the content length. - self._verify_content_length() - return chunk - - def __iter__(self): - """Return an iterator to yield 1k chunks from the raw stream. - """ - return self.iter_chunks(self._DEFAULT_CHUNK_SIZE) - - def iter_lines(self, chunk_size=1024): - """Return an iterator to yield lines from the raw stream. - - This is achieved by reading chunk of bytes (of size chunk_size) at a - time from the raw stream, and then yielding lines from there. - """ - pending = None - for chunk in self.iter_chunks(chunk_size): - if pending is not None: - chunk = pending + chunk - - lines = chunk.splitlines() - - if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: - # We might be in the 'middle' of a line. Hence we keep the - # last line as pending. - pending = lines.pop() - else: - pending = None - - for line in lines: - yield line - - if pending is not None: - yield pending - - def iter_chunks(self, chunk_size=_DEFAULT_CHUNK_SIZE): - """Return an iterator to yield chunks of chunk_size bytes from the raw - stream. - """ - while True: - current_chunk = self.read(chunk_size) - if current_chunk == b"": - break - yield current_chunk - - def _verify_content_length(self): - # See: https://github.com/kennethreitz/requests/issues/1855 - # Basically, our http library doesn't do this for us, so we have - # to do this ourself. - if self._content_length is not None and \ - self._amount_read != int(self._content_length): - raise IncompleteReadError( - actual_bytes=self._amount_read, - expected_bytes=int(self._content_length)) - - def close(self): - """Close the underlying http response stream.""" - self._raw_stream.close() - - -def get_response(operation_model, http_response): - protocol = operation_model.metadata['protocol'] - response_dict = { - 'headers': http_response.headers, - 'status_code': http_response.status_code, - } - # TODO: Unfortunately, we have to have error logic here. - # If it looks like an error, in the streaming response case we - # need to actually grab the contents. - if response_dict['status_code'] >= 300: - response_dict['body'] = http_response.content - elif operation_model.has_streaming_output: - response_dict['body'] = StreamingBody( - http_response.raw, response_dict['headers'].get('content-length')) - else: - response_dict['body'] = http_response.content - - parser = parsers.create_parser(protocol) - return http_response, parser.parse(response_dict, - operation_model.output_shape) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/retryhandler.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/retryhandler.py deleted file mode 100644 index d7385b20..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/retryhandler.py +++ /dev/null @@ -1,359 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. - -import random -import functools -import logging -from binascii import crc32 - -from botocore.exceptions import ( - ChecksumError, EndpointConnectionError, ReadTimeoutError, - ConnectionError, ConnectionClosedError, -) - - -logger = logging.getLogger(__name__) -# The only supported error for now is GENERAL_CONNECTION_ERROR -# which maps to requests generic ConnectionError. If we're able -# to get more specific exceptions from requests we can update -# this mapping with more specific exceptions. -EXCEPTION_MAP = { - 'GENERAL_CONNECTION_ERROR': [ - ConnectionError, ConnectionClosedError, ReadTimeoutError, - EndpointConnectionError - ], -} - - -def delay_exponential(base, growth_factor, attempts): - """Calculate time to sleep based on exponential function. - - The format is:: - - base * growth_factor ^ (attempts - 1) - - If ``base`` is set to 'rand' then a random number between - 0 and 1 will be used as the base. - Base must be greater than 0, otherwise a ValueError will be - raised. - - """ - if base == 'rand': - base = random.random() - elif base <= 0: - raise ValueError("The 'base' param must be greater than 0, " - "got: %s" % base) - time_to_sleep = base * (growth_factor ** (attempts - 1)) - return time_to_sleep - - -def create_exponential_delay_function(base, growth_factor): - """Create an exponential delay function based on the attempts. - - This is used so that you only have to pass it the attempts - parameter to calculate the delay. - - """ - return functools.partial( - delay_exponential, base=base, growth_factor=growth_factor) - - -def create_retry_handler(config, operation_name=None): - checker = create_checker_from_retry_config( - config, operation_name=operation_name) - action = create_retry_action_from_config( - config, operation_name=operation_name) - return RetryHandler(checker=checker, action=action) - - -def create_retry_action_from_config(config, operation_name=None): - # The spec has the possibility of supporting per policy - # actions, but right now, we assume this comes from the - # default section, which means that delay functions apply - # for every policy in the retry config (per service). - delay_config = config['__default__']['delay'] - if delay_config['type'] == 'exponential': - return create_exponential_delay_function( - base=delay_config['base'], - growth_factor=delay_config['growth_factor']) - - -def create_checker_from_retry_config(config, operation_name=None): - checkers = [] - max_attempts = None - retryable_exceptions = [] - if '__default__' in config: - policies = config['__default__'].get('policies', []) - max_attempts = config['__default__']['max_attempts'] - for key in policies: - current_config = policies[key] - checkers.append(_create_single_checker(current_config)) - retry_exception = _extract_retryable_exception(current_config) - if retry_exception is not None: - retryable_exceptions.extend(retry_exception) - if operation_name is not None and config.get(operation_name) is not None: - operation_policies = config[operation_name]['policies'] - for key in operation_policies: - checkers.append(_create_single_checker(operation_policies[key])) - retry_exception = _extract_retryable_exception( - operation_policies[key]) - if retry_exception is not None: - retryable_exceptions.extend(retry_exception) - if len(checkers) == 1: - # Don't need to use a MultiChecker - return MaxAttemptsDecorator(checkers[0], max_attempts=max_attempts) - else: - multi_checker = MultiChecker(checkers) - return MaxAttemptsDecorator( - multi_checker, max_attempts=max_attempts, - retryable_exceptions=tuple(retryable_exceptions)) - - -def _create_single_checker(config): - if 'response' in config['applies_when']: - return _create_single_response_checker( - config['applies_when']['response']) - elif 'socket_errors' in config['applies_when']: - return ExceptionRaiser() - - -def _create_single_response_checker(response): - if 'service_error_code' in response: - checker = ServiceErrorCodeChecker( - status_code=response['http_status_code'], - error_code=response['service_error_code']) - elif 'http_status_code' in response: - checker = HTTPStatusCodeChecker( - status_code=response['http_status_code']) - elif 'crc32body' in response: - checker = CRC32Checker(header=response['crc32body']) - else: - # TODO: send a signal. - raise ValueError("Unknown retry policy: %s" % config) - return checker - - -def _extract_retryable_exception(config): - applies_when = config['applies_when'] - if 'crc32body' in applies_when.get('response', {}): - return [ChecksumError] - elif 'socket_errors' in applies_when: - exceptions = [] - for name in applies_when['socket_errors']: - exceptions.extend(EXCEPTION_MAP[name]) - return exceptions - - -class RetryHandler(object): - """Retry handler. - - The retry handler takes two params, ``checker`` object - and an ``action`` object. - - The ``checker`` object must be a callable object and based on a response - and an attempt number, determines whether or not sufficient criteria for - a retry has been met. If this is the case then the ``action`` object - (which also is a callable) determines what needs to happen in the event - of a retry. - - """ - - def __init__(self, checker, action): - self._checker = checker - self._action = action - - def __call__(self, attempts, response, caught_exception, **kwargs): - """Handler for a retry. - - Intended to be hooked up to an event handler (hence the **kwargs), - this will process retries appropriately. - - """ - if self._checker(attempts, response, caught_exception): - result = self._action(attempts=attempts) - logger.debug("Retry needed, action of: %s", result) - return result - logger.debug("No retry needed.") - - -class BaseChecker(object): - """Base class for retry checkers. - - Each class is responsible for checking a single criteria that determines - whether or not a retry should not happen. - - """ - def __call__(self, attempt_number, response, caught_exception): - """Determine if retry criteria matches. - - Note that either ``response`` is not None and ``caught_exception`` is - None or ``response`` is None and ``caught_exception`` is not None. - - :type attempt_number: int - :param attempt_number: The total number of times we've attempted - to send the request. - - :param response: The HTTP response (if one was received). - - :type caught_exception: Exception - :param caught_exception: Any exception that was caught while trying to - send the HTTP response. - - :return: True, if the retry criteria matches (and therefore a retry - should occur. False if the criteria does not match. - - """ - # The default implementation allows subclasses to not have to check - # whether or not response is None or not. - if response is not None: - return self._check_response(attempt_number, response) - elif caught_exception is not None: - return self._check_caught_exception( - attempt_number, caught_exception) - else: - raise ValueError("Both response and caught_exception are None.") - - def _check_response(self, attempt_number, response): - pass - - def _check_caught_exception(self, attempt_number, caught_exception): - pass - - -class MaxAttemptsDecorator(BaseChecker): - """Allow retries up to a maximum number of attempts. - - This will pass through calls to the decorated retry checker, provided - that the number of attempts does not exceed max_attempts. It will - also catch any retryable_exceptions passed in. Once max_attempts has - been exceeded, then False will be returned or the retryable_exceptions - that was previously being caught will be raised. - - """ - def __init__(self, checker, max_attempts, retryable_exceptions=None): - self._checker = checker - self._max_attempts = max_attempts - self._retryable_exceptions = retryable_exceptions - - def __call__(self, attempt_number, response, caught_exception): - should_retry = self._should_retry(attempt_number, response, - caught_exception) - if should_retry: - if attempt_number >= self._max_attempts: - # explicitly set MaxAttemptsReached - if response is not None and 'ResponseMetadata' in response[1]: - response[1]['ResponseMetadata']['MaxAttemptsReached'] = True - logger.debug("Reached the maximum number of retry " - "attempts: %s", attempt_number) - return False - else: - return should_retry - else: - return False - - def _should_retry(self, attempt_number, response, caught_exception): - if self._retryable_exceptions and \ - attempt_number < self._max_attempts: - try: - return self._checker(attempt_number, response, caught_exception) - except self._retryable_exceptions as e: - logger.debug("retry needed, retryable exception caught: %s", - e, exc_info=True) - return True - else: - # If we've exceeded the max attempts we just let the exception - # propogate if one has occurred. - return self._checker(attempt_number, response, caught_exception) - - -class HTTPStatusCodeChecker(BaseChecker): - def __init__(self, status_code): - self._status_code = status_code - - def _check_response(self, attempt_number, response): - if response[0].status_code == self._status_code: - logger.debug( - "retry needed: retryable HTTP status code received: %s", - self._status_code) - return True - else: - return False - - -class ServiceErrorCodeChecker(BaseChecker): - def __init__(self, status_code, error_code): - self._status_code = status_code - self._error_code = error_code - - def _check_response(self, attempt_number, response): - if response[0].status_code == self._status_code: - actual_error_code = response[1].get('Error', {}).get('Code') - if actual_error_code == self._error_code: - logger.debug( - "retry needed: matching HTTP status and error code seen: " - "%s, %s", self._status_code, self._error_code) - return True - return False - - -class MultiChecker(BaseChecker): - def __init__(self, checkers): - self._checkers = checkers - - def __call__(self, attempt_number, response, caught_exception): - for checker in self._checkers: - checker_response = checker(attempt_number, response, - caught_exception) - if checker_response: - return checker_response - return False - - -class CRC32Checker(BaseChecker): - def __init__(self, header): - # The header where the expected crc32 is located. - self._header_name = header - - def _check_response(self, attempt_number, response): - http_response = response[0] - expected_crc = http_response.headers.get(self._header_name) - if expected_crc is None: - logger.debug("crc32 check skipped, the %s header is not " - "in the http response.", self._header_name) - else: - actual_crc32 = crc32(response[0].content) & 0xffffffff - if not actual_crc32 == int(expected_crc): - logger.debug( - "retry needed: crc32 check failed, expected != actual: " - "%s != %s", int(expected_crc), actual_crc32) - raise ChecksumError(checksum_type='crc32', - expected_checksum=int(expected_crc), - actual_checksum=actual_crc32) - - -class ExceptionRaiser(BaseChecker): - """Raise any caught exceptions. - - This class will raise any non None ``caught_exception``. - - """ - def _check_caught_exception(self, attempt_number, caught_exception): - # This is implementation specific, but this class is useful by - # coordinating with the MaxAttemptsDecorator. - # The MaxAttemptsDecorator has a list of exceptions it should catch - # and retry, but something needs to come along and actually raise the - # caught_exception. That's what this class is being used for. If - # the MaxAttemptsDecorator is not interested in retrying the exception - # then this exception just propogates out past the retry code. - raise caught_exception diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/serialize.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/serialize.py deleted file mode 100644 index 9975ef12..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/serialize.py +++ /dev/null @@ -1,659 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -"""Protocol input serializes. - -This module contains classes that implement input serialization -for the various AWS protocol types. - -These classes essentially take user input, a model object that -represents what the expected input should look like, and it returns -a dictionary that contains the various parts of a request. A few -high level design decisions: - - -* Each protocol type maps to a separate class, all inherit from - ``Serializer``. -* The return value for ``serialize_to_request`` (the main entry - point) returns a dictionary that represents a request. This - will have keys like ``url_path``, ``query_string``, etc. This - is done so that it's a) easy to test and b) not tied to a - particular HTTP library. See the ``serialize_to_request`` docstring - for more details. - -Unicode -------- - -The input to the serializers should be text (str/unicode), not bytes, -with the exception of blob types. Those are assumed to be binary, -and if a str/unicode type is passed in, it will be encoded as utf-8. -""" -import re -import base64 -import calendar -import datetime -from xml.etree import ElementTree - -from botocore.compat import six - -from botocore.compat import json, formatdate -from botocore.utils import parse_to_aware_datetime -from botocore.utils import percent_encode -from botocore.utils import is_json_value_header -from botocore import validate - - -# From the spec, the default timestamp format if not specified is iso8601. -DEFAULT_TIMESTAMP_FORMAT = 'iso8601' -ISO8601 = '%Y-%m-%dT%H:%M:%SZ' -# Same as ISO8601, but with microsecond precision. -ISO8601_MICRO = '%Y-%m-%dT%H:%M:%S.%fZ' - - -def create_serializer(protocol_name, include_validation=True): - # TODO: Unknown protocols. - serializer = SERIALIZERS[protocol_name]() - if include_validation: - validator = validate.ParamValidator() - serializer = validate.ParamValidationDecorator(validator, serializer) - return serializer - - -class Serializer(object): - DEFAULT_METHOD = 'POST' - # Clients can change this to a different MutableMapping - # (i.e OrderedDict) if they want. This is used in the - # compliance test to match the hash ordering used in the - # tests. - MAP_TYPE = dict - DEFAULT_ENCODING = 'utf-8' - - def serialize_to_request(self, parameters, operation_model): - """Serialize parameters into an HTTP request. - - This method takes user provided parameters and a shape - model and serializes the parameters to an HTTP request. - More specifically, this method returns information about - parts of the HTTP request, it does not enforce a particular - interface or standard for an HTTP request. It instead returns - a dictionary of: - - * 'url_path' - * 'query_string' - * 'headers' - * 'body' - * 'method' - - It is then up to consumers to decide how to map this to a Request - object of their HTTP library of choice. Below is an example - return value:: - - {'body': {'Action': 'OperationName', - 'Bar': 'val2', - 'Foo': 'val1', - 'Version': '2014-01-01'}, - 'headers': {}, - 'method': 'POST', - 'query_string': '', - 'url_path': '/'} - - :param parameters: The dictionary input parameters for the - operation (i.e the user input). - :param operation_model: The OperationModel object that describes - the operation. - """ - raise NotImplementedError("serialize_to_request") - - def _create_default_request(self): - # Creates a boilerplate default request dict that subclasses - # can use as a starting point. - serialized = { - 'url_path': '/', - 'query_string': '', - 'method': self.DEFAULT_METHOD, - 'headers': {}, - # An empty body is represented as an empty byte string. - 'body': b'' - } - return serialized - - # Some extra utility methods subclasses can use. - - def _timestamp_iso8601(self, value): - if value.microsecond > 0: - timestamp_format = ISO8601_MICRO - else: - timestamp_format = ISO8601 - return value.strftime(timestamp_format) - - def _timestamp_unixtimestamp(self, value): - return int(calendar.timegm(value.timetuple())) - - def _timestamp_rfc822(self, value): - if isinstance(value, datetime.datetime): - value = self._timestamp_unixtimestamp(value) - return formatdate(value, usegmt=True) - - def _convert_timestamp_to_str(self, value, timestamp_format=None): - if timestamp_format is None: - timestamp_format = self.TIMESTAMP_FORMAT - timestamp_format = timestamp_format.lower() - datetime_obj = parse_to_aware_datetime(value) - converter = getattr( - self, '_timestamp_%s' % timestamp_format) - final_value = converter(datetime_obj) - return final_value - - def _get_serialized_name(self, shape, default_name): - # Returns the serialized name for the shape if it exists. - # Otherwise it will return the passed in default_name. - return shape.serialization.get('name', default_name) - - def _get_base64(self, value): - # Returns the base64-encoded version of value, handling - # both strings and bytes. The returned value is a string - # via the default encoding. - if isinstance(value, six.text_type): - value = value.encode(self.DEFAULT_ENCODING) - return base64.b64encode(value).strip().decode( - self.DEFAULT_ENCODING) - - -class QuerySerializer(Serializer): - - TIMESTAMP_FORMAT = 'iso8601' - - def serialize_to_request(self, parameters, operation_model): - shape = operation_model.input_shape - serialized = self._create_default_request() - serialized['method'] = operation_model.http.get('method', - self.DEFAULT_METHOD) - serialized['headers'] = { - 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' - } - # The query serializer only deals with body params so - # that's what we hand off the _serialize_* methods. - body_params = self.MAP_TYPE() - body_params['Action'] = operation_model.name - body_params['Version'] = operation_model.metadata['apiVersion'] - if shape is not None: - self._serialize(body_params, parameters, shape) - serialized['body'] = body_params - return serialized - - def _serialize(self, serialized, value, shape, prefix=''): - # serialized: The dict that is incrementally added to with the - # final serialized parameters. - # value: The current user input value. - # shape: The shape object that describes the structure of the - # input. - # prefix: The incrementally built up prefix for the serialized - # key (i.e Foo.bar.members.1). - method = getattr(self, '_serialize_type_%s' % shape.type_name, - self._default_serialize) - method(serialized, value, shape, prefix=prefix) - - def _serialize_type_structure(self, serialized, value, shape, prefix=''): - members = shape.members - for key, value in value.items(): - member_shape = members[key] - member_prefix = self._get_serialized_name(member_shape, key) - if prefix: - member_prefix = '%s.%s' % (prefix, member_prefix) - self._serialize(serialized, value, member_shape, member_prefix) - - def _serialize_type_list(self, serialized, value, shape, prefix=''): - if not value: - # The query protocol serializes empty lists. - serialized[prefix] = '' - return - if self._is_shape_flattened(shape): - list_prefix = prefix - if shape.member.serialization.get('name'): - name = self._get_serialized_name(shape.member, default_name='') - # Replace '.Original' with '.{name}'. - list_prefix = '.'.join(prefix.split('.')[:-1] + [name]) - else: - list_name = shape.member.serialization.get('name', 'member') - list_prefix = '%s.%s' % (prefix, list_name) - for i, element in enumerate(value, 1): - element_prefix = '%s.%s' % (list_prefix, i) - element_shape = shape.member - self._serialize(serialized, element, element_shape, element_prefix) - - def _serialize_type_map(self, serialized, value, shape, prefix=''): - if self._is_shape_flattened(shape): - full_prefix = prefix - else: - full_prefix = '%s.entry' % prefix - template = full_prefix + '.{i}.{suffix}' - key_shape = shape.key - value_shape = shape.value - key_suffix = self._get_serialized_name(key_shape, default_name='key') - value_suffix = self._get_serialized_name(value_shape, 'value') - for i, key in enumerate(value, 1): - key_prefix = template.format(i=i, suffix=key_suffix) - value_prefix = template.format(i=i, suffix=value_suffix) - self._serialize(serialized, key, key_shape, key_prefix) - self._serialize(serialized, value[key], value_shape, value_prefix) - - def _serialize_type_blob(self, serialized, value, shape, prefix=''): - # Blob args must be base64 encoded. - serialized[prefix] = self._get_base64(value) - - def _serialize_type_timestamp(self, serialized, value, shape, prefix=''): - serialized[prefix] = self._convert_timestamp_to_str( - value, shape.serialization.get('timestampFormat')) - - def _serialize_type_boolean(self, serialized, value, shape, prefix=''): - if value: - serialized[prefix] = 'true' - else: - serialized[prefix] = 'false' - - def _default_serialize(self, serialized, value, shape, prefix=''): - serialized[prefix] = value - - def _is_shape_flattened(self, shape): - return shape.serialization.get('flattened') - - -class EC2Serializer(QuerySerializer): - """EC2 specific customizations to the query protocol serializers. - - The EC2 model is almost, but not exactly, similar to the query protocol - serializer. This class encapsulates those differences. The model - will have be marked with a ``protocol`` of ``ec2``, so you don't need - to worry about wiring this class up correctly. - - """ - - def _get_serialized_name(self, shape, default_name): - # Returns the serialized name for the shape if it exists. - # Otherwise it will return the passed in default_name. - if 'queryName' in shape.serialization: - return shape.serialization['queryName'] - elif 'name' in shape.serialization: - # A locationName is always capitalized - # on input for the ec2 protocol. - name = shape.serialization['name'] - return name[0].upper() + name[1:] - else: - return default_name - - def _serialize_type_list(self, serialized, value, shape, prefix=''): - for i, element in enumerate(value, 1): - element_prefix = '%s.%s' % (prefix, i) - element_shape = shape.member - self._serialize(serialized, element, element_shape, element_prefix) - - -class JSONSerializer(Serializer): - TIMESTAMP_FORMAT = 'unixtimestamp' - - def serialize_to_request(self, parameters, operation_model): - target = '%s.%s' % (operation_model.metadata['targetPrefix'], - operation_model.name) - json_version = operation_model.metadata['jsonVersion'] - serialized = self._create_default_request() - serialized['method'] = operation_model.http.get('method', - self.DEFAULT_METHOD) - serialized['headers'] = { - 'X-Amz-Target': target, - 'Content-Type': 'application/x-amz-json-%s' % json_version, - } - body = self.MAP_TYPE() - input_shape = operation_model.input_shape - if input_shape is not None: - self._serialize(body, parameters, input_shape) - serialized['body'] = json.dumps(body).encode(self.DEFAULT_ENCODING) - return serialized - - def _serialize(self, serialized, value, shape, key=None): - method = getattr(self, '_serialize_type_%s' % shape.type_name, - self._default_serialize) - method(serialized, value, shape, key) - - def _serialize_type_structure(self, serialized, value, shape, key): - if key is not None: - # If a key is provided, this is a result of a recursive - # call so we need to add a new child dict as the value - # of the passed in serialized dict. We'll then add - # all the structure members as key/vals in the new serialized - # dictionary we just created. - new_serialized = self.MAP_TYPE() - serialized[key] = new_serialized - serialized = new_serialized - members = shape.members - for member_key, member_value in value.items(): - member_shape = members[member_key] - if 'name' in member_shape.serialization: - member_key = member_shape.serialization['name'] - self._serialize(serialized, member_value, member_shape, member_key) - - def _serialize_type_map(self, serialized, value, shape, key): - map_obj = self.MAP_TYPE() - serialized[key] = map_obj - for sub_key, sub_value in value.items(): - self._serialize(map_obj, sub_value, shape.value, sub_key) - - def _serialize_type_list(self, serialized, value, shape, key): - list_obj = [] - serialized[key] = list_obj - for list_item in value: - wrapper = {} - # The JSON list serialization is the only case where we aren't - # setting a key on a dict. We handle this by using - # a __current__ key on a wrapper dict to serialize each - # list item before appending it to the serialized list. - self._serialize(wrapper, list_item, shape.member, "__current__") - list_obj.append(wrapper["__current__"]) - - def _default_serialize(self, serialized, value, shape, key): - serialized[key] = value - - def _serialize_type_timestamp(self, serialized, value, shape, key): - serialized[key] = self._convert_timestamp_to_str( - value, shape.serialization.get('timestampFormat')) - - def _serialize_type_blob(self, serialized, value, shape, key): - serialized[key] = self._get_base64(value) - - -class BaseRestSerializer(Serializer): - """Base class for rest protocols. - - The only variance between the various rest protocols is the - way that the body is serialized. All other aspects (headers, uri, etc.) - are the same and logic for serializing those aspects lives here. - - Subclasses must implement the ``_serialize_body_params`` method. - - """ - QUERY_STRING_TIMESTAMP_FORMAT = 'iso8601' - HEADER_TIMESTAMP_FORMAT = 'rfc822' - # This is a list of known values for the "location" key in the - # serialization dict. The location key tells us where on the request - # to put the serialized value. - KNOWN_LOCATIONS = ['uri', 'querystring', 'header', 'headers'] - - def serialize_to_request(self, parameters, operation_model): - serialized = self._create_default_request() - serialized['method'] = operation_model.http.get('method', - self.DEFAULT_METHOD) - shape = operation_model.input_shape - if shape is None: - serialized['url_path'] = operation_model.http['requestUri'] - return serialized - shape_members = shape.members - # While the ``serialized`` key holds the final serialized request - # data, we need interim dicts for the various locations of the - # request. We need this for the uri_path_kwargs and the - # query_string_kwargs because they are templated, so we need - # to gather all the needed data for the string template, - # then we render the template. The body_kwargs is needed - # because once we've collected them all, we run them through - # _serialize_body_params, which for rest-json, creates JSON, - # and for rest-xml, will create XML. This is what the - # ``partitioned`` dict below is for. - partitioned = { - 'uri_path_kwargs': self.MAP_TYPE(), - 'query_string_kwargs': self.MAP_TYPE(), - 'body_kwargs': self.MAP_TYPE(), - 'headers': self.MAP_TYPE(), - } - for param_name, param_value in parameters.items(): - if param_value is None: - # Don't serialize any parameter with a None value. - continue - self._partition_parameters(partitioned, param_name, param_value, - shape_members) - serialized['url_path'] = self._render_uri_template( - operation_model.http['requestUri'], - partitioned['uri_path_kwargs']) - # Note that we lean on the http implementation to handle the case - # where the requestUri path already has query parameters. - # The bundled http client, requests, already supports this. - serialized['query_string'] = partitioned['query_string_kwargs'] - if partitioned['headers']: - serialized['headers'] = partitioned['headers'] - self._serialize_payload(partitioned, parameters, - serialized, shape, shape_members) - return serialized - - def _render_uri_template(self, uri_template, params): - # We need to handle two cases:: - # - # /{Bucket}/foo - # /{Key+}/bar - # A label ending with '+' is greedy. There can only - # be one greedy key. - encoded_params = {} - for template_param in re.findall(r'{(.*?)}', uri_template): - if template_param.endswith('+'): - encoded_params[template_param] = percent_encode( - params[template_param[:-1]], safe='/~') - else: - encoded_params[template_param] = percent_encode( - params[template_param]) - return uri_template.format(**encoded_params) - - def _serialize_payload(self, partitioned, parameters, - serialized, shape, shape_members): - # partitioned - The user input params partitioned by location. - # parameters - The user input params. - # serialized - The final serialized request dict. - # shape - Describes the expected input shape - # shape_members - The members of the input struct shape - payload_member = shape.serialization.get('payload') - if payload_member is not None and \ - shape_members[payload_member].type_name in ['blob', 'string']: - # If it's streaming, then the body is just the - # value of the payload. - body_payload = parameters.get(payload_member, b'') - body_payload = self._encode_payload(body_payload) - serialized['body'] = body_payload - elif payload_member is not None: - # If there's a payload member, we serialized that - # member to they body. - body_params = parameters.get(payload_member) - if body_params is not None: - serialized['body'] = self._serialize_body_params( - body_params, - shape_members[payload_member]) - elif partitioned['body_kwargs']: - serialized['body'] = self._serialize_body_params( - partitioned['body_kwargs'], shape) - - def _encode_payload(self, body): - if isinstance(body, six.text_type): - return body.encode(self.DEFAULT_ENCODING) - return body - - def _partition_parameters(self, partitioned, param_name, - param_value, shape_members): - # This takes the user provided input parameter (``param``) - # and figures out where they go in the request dict. - # Some params are HTTP headers, some are used in the URI, some - # are in the request body. This method deals with this. - member = shape_members[param_name] - location = member.serialization.get('location') - key_name = member.serialization.get('name', param_name) - if location == 'uri': - partitioned['uri_path_kwargs'][key_name] = param_value - elif location == 'querystring': - if isinstance(param_value, dict): - partitioned['query_string_kwargs'].update(param_value) - elif isinstance(param_value, bool): - partitioned['query_string_kwargs'][ - key_name] = str(param_value).lower() - elif member.type_name == 'timestamp': - timestamp_format = member.serialization.get( - 'timestampFormat', self.QUERY_STRING_TIMESTAMP_FORMAT) - partitioned['query_string_kwargs'][ - key_name] = self._convert_timestamp_to_str( - param_value, timestamp_format - ) - else: - partitioned['query_string_kwargs'][key_name] = param_value - elif location == 'header': - shape = shape_members[param_name] - value = self._convert_header_value(shape, param_value) - partitioned['headers'][key_name] = str(value) - elif location == 'headers': - # 'headers' is a bit of an oddball. The ``key_name`` - # is actually really a prefix for the header names: - header_prefix = key_name - # The value provided by the user is a dict so we'll be - # creating multiple header key/val pairs. The key - # name to use for each header is the header_prefix (``key_name``) - # plus the key provided by the user. - self._do_serialize_header_map(header_prefix, - partitioned['headers'], - param_value) - else: - partitioned['body_kwargs'][param_name] = param_value - - def _do_serialize_header_map(self, header_prefix, headers, user_input): - for key, val in user_input.items(): - full_key = header_prefix + key - headers[full_key] = val - - def _serialize_body_params(self, params, shape): - raise NotImplementedError('_serialize_body_params') - - def _convert_header_value(self, shape, value): - if shape.type_name == 'timestamp': - datetime_obj = parse_to_aware_datetime(value) - timestamp = calendar.timegm(datetime_obj.utctimetuple()) - timestamp_format = shape.serialization.get( - 'timestampFormat', self.HEADER_TIMESTAMP_FORMAT) - return self._convert_timestamp_to_str(timestamp, timestamp_format) - elif is_json_value_header(shape): - # Serialize with no spaces after separators to save space in - # the header. - return self._get_base64(json.dumps(value, separators=(',', ':'))) - else: - return value - - -class RestJSONSerializer(BaseRestSerializer, JSONSerializer): - - def _serialize_body_params(self, params, shape): - serialized_body = self.MAP_TYPE() - self._serialize(serialized_body, params, shape) - return json.dumps(serialized_body).encode(self.DEFAULT_ENCODING) - - -class RestXMLSerializer(BaseRestSerializer): - TIMESTAMP_FORMAT = 'iso8601' - - def _serialize_body_params(self, params, shape): - root_name = shape.serialization['name'] - pseudo_root = ElementTree.Element('') - self._serialize(shape, params, pseudo_root, root_name) - real_root = list(pseudo_root)[0] - return ElementTree.tostring(real_root, encoding=self.DEFAULT_ENCODING) - - def _serialize(self, shape, params, xmlnode, name): - method = getattr(self, '_serialize_type_%s' % shape.type_name, - self._default_serialize) - method(xmlnode, params, shape, name) - - def _serialize_type_structure(self, xmlnode, params, shape, name): - structure_node = ElementTree.SubElement(xmlnode, name) - - if 'xmlNamespace' in shape.serialization: - namespace_metadata = shape.serialization['xmlNamespace'] - attribute_name = 'xmlns' - if namespace_metadata.get('prefix'): - attribute_name += ':%s' % namespace_metadata['prefix'] - structure_node.attrib[attribute_name] = namespace_metadata['uri'] - for key, value in params.items(): - member_shape = shape.members[key] - member_name = member_shape.serialization.get('name', key) - # We need to special case member shapes that are marked as an - # xmlAttribute. Rather than serializing into an XML child node, - # we instead serialize the shape to an XML attribute of the - # *current* node. - if value is None: - # Don't serialize any param whose value is None. - return - if member_shape.serialization.get('xmlAttribute'): - # xmlAttributes must have a serialization name. - xml_attribute_name = member_shape.serialization['name'] - structure_node.attrib[xml_attribute_name] = value - continue - self._serialize(member_shape, value, structure_node, member_name) - - def _serialize_type_list(self, xmlnode, params, shape, name): - member_shape = shape.member - if shape.serialization.get('flattened'): - element_name = name - list_node = xmlnode - else: - element_name = member_shape.serialization.get('name', 'member') - list_node = ElementTree.SubElement(xmlnode, name) - for item in params: - self._serialize(member_shape, item, list_node, element_name) - - def _serialize_type_map(self, xmlnode, params, shape, name): - # Given the ``name`` of MyMap, and input of {"key1": "val1"} - # we serialize this as: - # - # - # key1 - # val1 - # - # - node = ElementTree.SubElement(xmlnode, name) - # TODO: handle flattened maps. - for key, value in params.items(): - entry_node = ElementTree.SubElement(node, 'entry') - key_name = self._get_serialized_name(shape.key, default_name='key') - val_name = self._get_serialized_name(shape.value, - default_name='value') - self._serialize(shape.key, key, entry_node, key_name) - self._serialize(shape.value, value, entry_node, val_name) - - def _serialize_type_boolean(self, xmlnode, params, shape, name): - # For scalar types, the 'params' attr is actually just a scalar - # value representing the data we need to serialize as a boolean. - # It will either be 'true' or 'false' - node = ElementTree.SubElement(xmlnode, name) - if params: - str_value = 'true' - else: - str_value = 'false' - node.text = str_value - - def _serialize_type_blob(self, xmlnode, params, shape, name): - node = ElementTree.SubElement(xmlnode, name) - node.text = self._get_base64(params) - - def _serialize_type_timestamp(self, xmlnode, params, shape, name): - node = ElementTree.SubElement(xmlnode, name) - node.text = self._convert_timestamp_to_str( - params, shape.serialization.get('timestampFormat')) - - def _default_serialize(self, xmlnode, params, shape, name): - node = ElementTree.SubElement(xmlnode, name) - node.text = six.text_type(params) - - -SERIALIZERS = { - 'ec2': EC2Serializer, - 'query': QuerySerializer, - 'json': JSONSerializer, - 'rest-json': RestJSONSerializer, - 'rest-xml': RestXMLSerializer, -} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/session.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/session.py deleted file mode 100644 index facb16d1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/session.py +++ /dev/null @@ -1,975 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -""" -This module contains the main interface to the botocore package, the -Session object. -""" - -import copy -import logging -import os -import platform -import warnings - -from botocore import __version__ -import botocore.configloader -import botocore.credentials -import botocore.client -from botocore.exceptions import ConfigNotFound, ProfileNotFound -from botocore.exceptions import UnknownServiceError, PartialCredentialsError -from botocore.errorfactory import ClientExceptionsFactory -from botocore import handlers -from botocore.hooks import AliasedEventEmitter, first_non_none_response -from botocore.loaders import create_loader -from botocore.parsers import ResponseParserFactory -from botocore.regions import EndpointResolver -from botocore.model import ServiceModel -from botocore import paginate -from botocore import waiter -from botocore import retryhandler, translate - - -logger = logging.getLogger(__name__) - - -class Session(object): - """ - The Session object collects together useful functionality - from `botocore` as well as important data such as configuration - information and credentials into a single, easy-to-use object. - - :ivar available_profiles: A list of profiles defined in the config - file associated with this session. - :ivar profile: The current profile. - """ - - #: A default dictionary that maps the logical names for session variables - #: to the specific environment variables and configuration file names - #: that contain the values for these variables. - #: When creating a new Session object, you can pass in your own dictionary - #: to remap the logical names or to add new logical names. You can then - #: get the current value for these variables by using the - #: ``get_config_variable`` method of the :class:`botocore.session.Session` - #: class. - #: These form the keys of the dictionary. The values in the dictionary - #: are tuples of (, , , - #: ). - #: The conversion func is a function that takes the configuration value - #: as an argument and returns the converted value. If this value is - #: None, then the configuration value is returned unmodified. This - #: conversion function can be used to type convert config values to - #: values other than the default values of strings. - #: The ``profile`` and ``config_file`` variables should always have a - #: None value for the first entry in the tuple because it doesn't make - #: sense to look inside the config file for the location of the config - #: file or for the default profile to use. - #: The ``config_name`` is the name to look for in the configuration file, - #: the ``env var`` is the OS environment variable (``os.environ``) to - #: use, and ``default_value`` is the value to use if no value is otherwise - #: found. - SESSION_VARIABLES = { - # logical: config_file, env_var, default_value, conversion_func - 'profile': (None, ['AWS_DEFAULT_PROFILE', 'AWS_PROFILE'], None, None), - 'region': ('region', 'AWS_DEFAULT_REGION', None, None), - 'data_path': ('data_path', 'AWS_DATA_PATH', None, None), - 'config_file': (None, 'AWS_CONFIG_FILE', '~/.aws/config', None), - 'ca_bundle': ('ca_bundle', 'AWS_CA_BUNDLE', None, None), - 'api_versions': ('api_versions', None, {}, None), - - # This is the shared credentials file amongst sdks. - 'credentials_file': (None, 'AWS_SHARED_CREDENTIALS_FILE', - '~/.aws/credentials', None), - - # These variables only exist in the config file. - - # This is the number of seconds until we time out a request to - # the instance metadata service. - 'metadata_service_timeout': ( - 'metadata_service_timeout', - 'AWS_METADATA_SERVICE_TIMEOUT', 1, int), - # This is the number of request attempts we make until we give - # up trying to retrieve data from the instance metadata service. - 'metadata_service_num_attempts': ( - 'metadata_service_num_attempts', - 'AWS_METADATA_SERVICE_NUM_ATTEMPTS', 1, int), - 'parameter_validation': ('parameter_validation', None, True, None), - } - - #: The default format string to use when configuring the botocore logger. - LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' - - def __init__(self, session_vars=None, event_hooks=None, - include_builtin_handlers=True, profile=None): - """ - Create a new Session object. - - :type session_vars: dict - :param session_vars: A dictionary that is used to override some or all - of the environment variables associated with this session. The - key/value pairs defined in this dictionary will override the - corresponding variables defined in ``SESSION_VARIABLES``. - - :type event_hooks: BaseEventHooks - :param event_hooks: The event hooks object to use. If one is not - provided, an event hooks object will be automatically created - for you. - - :type include_builtin_handlers: bool - :param include_builtin_handlers: Indicates whether or not to - automatically register builtin handlers. - - :type profile: str - :param profile: The name of the profile to use for this - session. Note that the profile can only be set when - the session is created. - - """ - self.session_var_map = copy.copy(self.SESSION_VARIABLES) - if session_vars: - self.session_var_map.update(session_vars) - if event_hooks is None: - self._events = AliasedEventEmitter() - else: - self._events = event_hooks - if include_builtin_handlers: - self._register_builtin_handlers(self._events) - self.user_agent_name = 'Botocore' - self.user_agent_version = __version__ - self.user_agent_extra = '' - # The _profile attribute is just used to cache the value - # of the current profile to avoid going through the normal - # config lookup process each access time. - self._profile = None - self._config = None - self._credentials = None - self._profile_map = None - # This is a dict that stores per session specific config variable - # overrides via set_config_variable(). - self._session_instance_vars = {} - if profile is not None: - self._session_instance_vars['profile'] = profile - self._client_config = None - self._components = ComponentLocator() - self._internal_components = ComponentLocator() - self._register_components() - - def _register_components(self): - self._register_credential_provider() - self._register_data_loader() - self._register_endpoint_resolver() - self._register_event_emitter() - self._register_response_parser_factory() - self._register_exceptions_factory() - - def _register_event_emitter(self): - self._components.register_component('event_emitter', self._events) - - def _register_credential_provider(self): - self._components.lazy_register_component( - 'credential_provider', - lambda: botocore.credentials.create_credential_resolver(self)) - - def _register_data_loader(self): - self._components.lazy_register_component( - 'data_loader', - lambda: create_loader(self.get_config_variable('data_path'))) - - def _register_endpoint_resolver(self): - def create_default_resolver(): - loader = self.get_component('data_loader') - endpoints = loader.load_data('endpoints') - return EndpointResolver(endpoints) - self._internal_components.lazy_register_component( - 'endpoint_resolver', create_default_resolver) - - def _register_response_parser_factory(self): - self._components.register_component('response_parser_factory', - ResponseParserFactory()) - - def _register_exceptions_factory(self): - self._internal_components.register_component( - 'exceptions_factory', ClientExceptionsFactory()) - - def _register_builtin_handlers(self, events): - for spec in handlers.BUILTIN_HANDLERS: - if len(spec) == 2: - event_name, handler = spec - self.register(event_name, handler) - else: - event_name, handler, register_type = spec - if register_type is handlers.REGISTER_FIRST: - self._events.register_first(event_name, handler) - elif register_type is handlers.REGISTER_LAST: - self._events.register_last(event_name, handler) - - @property - def available_profiles(self): - return list(self._build_profile_map().keys()) - - def _build_profile_map(self): - # This will build the profile map if it has not been created, - # otherwise it will return the cached value. The profile map - # is a list of profile names, to the config values for the profile. - if self._profile_map is None: - self._profile_map = self.full_config['profiles'] - return self._profile_map - - @property - def profile(self): - if self._profile is None: - profile = self.get_config_variable('profile') - self._profile = profile - return self._profile - - def get_config_variable(self, logical_name, - methods=('instance', 'env', 'config')): - """ - Retrieve the value associated with the specified logical_name - from the environment or the config file. Values found in the - environment variable take precedence of values found in the - config file. If no value can be found, a None will be returned. - - :type logical_name: str - :param logical_name: The logical name of the session variable - you want to retrieve. This name will be mapped to the - appropriate environment variable name for this session as - well as the appropriate config file entry. - - :type method: tuple - :param method: Defines which methods will be used to find - the variable value. By default, all available methods - are tried but you can limit which methods are used - by supplying a different value to this parameter. - Valid choices are: instance|env|config - - :returns: value of variable or None if not defined. - - """ - # Handle all the short circuit special cases first. - if logical_name not in self.session_var_map: - return - # Do the actual lookups. We need to handle - # 'instance', 'env', and 'config' locations, in that order. - value = None - var_config = self.session_var_map[logical_name] - if self._found_in_instance_vars(methods, logical_name): - value = self._session_instance_vars[logical_name] - logger.debug( - "Loading variable %s from instance vars with value %r.", - logical_name, - value, - ) - return value - elif self._found_in_env(methods, var_config): - value = self._retrieve_from_env(var_config[1], os.environ) - logger.debug( - "Loading variable %s from environment with value %r.", - logical_name, - value, - ) - elif self._found_in_config_file(methods, var_config): - value = self.get_scoped_config()[var_config[0]] - logger.debug( - "Loading variable %s from config file with value %r.", - logical_name, - value, - ) - if value is None: - logger.debug("Loading variable %s from defaults.", logical_name) - value = var_config[2] - if var_config[3] is not None: - value = var_config[3](value) - return value - - def _found_in_instance_vars(self, methods, logical_name): - if 'instance' in methods: - return logical_name in self._session_instance_vars - return False - - def _found_in_env(self, methods, var_config): - return ( - 'env' in methods and - var_config[1] is not None and - self._retrieve_from_env(var_config[1], os.environ) is not None) - - def _found_in_config_file(self, methods, var_config): - if 'config' in methods and var_config[0] is not None: - return var_config[0] in self.get_scoped_config() - return False - - def _retrieve_from_env(self, names, environ): - # We need to handle the case where names is either - # a single value or a list of variables. - if not isinstance(names, list): - names = [names] - for name in names: - if name in environ: - return environ[name] - return None - - def set_config_variable(self, logical_name, value): - """Set a configuration variable to a specific value. - - By using this method, you can override the normal lookup - process used in ``get_config_variable`` by explicitly setting - a value. Subsequent calls to ``get_config_variable`` will - use the ``value``. This gives you per-session specific - configuration values. - - :: - >>> # Assume logical name 'foo' maps to env var 'FOO' - >>> os.environ['FOO'] = 'myvalue' - >>> s.get_config_variable('foo') - 'myvalue' - >>> s.set_config_variable('foo', 'othervalue') - >>> s.get_config_variable('foo') - 'othervalue' - - :type logical_name: str - :param logical_name: The logical name of the session variable - you want to set. These are the keys in ``SESSION_VARIABLES``. - :param value: The value to associate with the config variable. - - """ - logger.debug( - "Setting config variable for %s to %r", - logical_name, - value, - ) - self._session_instance_vars[logical_name] = value - - def get_scoped_config(self): - """ - Returns the config values from the config file scoped to the current - profile. - - The configuration data is loaded **only** from the config file. - It does not resolve variables based on different locations - (e.g. first from the session instance, then from environment - variables, then from the config file). If you want this lookup - behavior, use the ``get_config_variable`` method instead. - - Note that this configuration is specific to a single profile (the - ``profile`` session variable). - - If the ``profile`` session variable is set and the profile does - not exist in the config file, a ``ProfileNotFound`` exception - will be raised. - - :raises: ConfigNotFound, ConfigParseError, ProfileNotFound - :rtype: dict - - """ - profile_name = self.get_config_variable('profile') - profile_map = self._build_profile_map() - # If a profile is not explicitly set return the default - # profile config or an empty config dict if we don't have - # a default profile. - if profile_name is None: - return profile_map.get('default', {}) - elif profile_name not in profile_map: - # Otherwise if they specified a profile, it has to - # exist (even if it's the default profile) otherwise - # we complain. - raise ProfileNotFound(profile=profile_name) - else: - return profile_map[profile_name] - - @property - def full_config(self): - """Return the parsed config file. - - The ``get_config`` method returns the config associated with the - specified profile. This property returns the contents of the - **entire** config file. - - :rtype: dict - """ - if self._config is None: - try: - config_file = self.get_config_variable('config_file') - self._config = botocore.configloader.load_config(config_file) - except ConfigNotFound: - self._config = {'profiles': {}} - try: - # Now we need to inject the profiles from the - # credentials file. We don't actually need the values - # in the creds file, only the profile names so that we - # can validate the user is not referring to a nonexistent - # profile. - cred_file = self.get_config_variable('credentials_file') - cred_profiles = botocore.configloader.raw_config_parse( - cred_file) - for profile in cred_profiles: - cred_vars = cred_profiles[profile] - if profile not in self._config['profiles']: - self._config['profiles'][profile] = cred_vars - else: - self._config['profiles'][profile].update(cred_vars) - except ConfigNotFound: - pass - return self._config - - def get_default_client_config(self): - """Retrieves the default config for creating clients - - :rtype: botocore.client.Config - :returns: The default client config object when creating clients. If - the value is ``None`` then there is no default config object - attached to the session. - """ - return self._client_config - - def set_default_client_config(self, client_config): - """Sets the default config for creating clients - - :type client_config: botocore.client.Config - :param client_config: The default client config object when creating - clients. If the value is ``None`` then there is no default config - object attached to the session. - """ - self._client_config = client_config - - def set_credentials(self, access_key, secret_key, token=None): - """ - Manually create credentials for this session. If you would - prefer to use botocore without a config file, environment variables, - or IAM roles, you can pass explicit credentials into this - method to establish credentials for this session. - - :type access_key: str - :param access_key: The access key part of the credentials. - - :type secret_key: str - :param secret_key: The secret key part of the credentials. - - :type token: str - :param token: An option session token used by STS session - credentials. - """ - self._credentials = botocore.credentials.Credentials(access_key, - secret_key, - token) - - def get_credentials(self): - """ - Return the :class:`botocore.credential.Credential` object - associated with this session. If the credentials have not - yet been loaded, this will attempt to load them. If they - have already been loaded, this will return the cached - credentials. - - """ - if self._credentials is None: - self._credentials = self._components.get_component( - 'credential_provider').load_credentials() - return self._credentials - - def user_agent(self): - """ - Return a string suitable for use as a User-Agent header. - The string will be of the form: - - / Python/ / - - Where: - - - agent_name is the value of the `user_agent_name` attribute - of the session object (`Boto` by default). - - agent_version is the value of the `user_agent_version` - attribute of the session object (the botocore version by default). - by default. - - py_ver is the version of the Python interpreter beng used. - - plat_name is the name of the platform (e.g. Darwin) - - plat_ver is the version of the platform - - exec_env is exec-env/$AWS_EXECUTION_ENV - - If ``user_agent_extra`` is not empty, then this value will be - appended to the end of the user agent string. - - """ - base = '%s/%s Python/%s %s/%s' % (self.user_agent_name, - self.user_agent_version, - platform.python_version(), - platform.system(), - platform.release()) - if os.environ.get('AWS_EXECUTION_ENV') is not None: - base += ' exec-env/%s' % os.environ.get('AWS_EXECUTION_ENV') - if self.user_agent_extra: - base += ' %s' % self.user_agent_extra - - return base - - def get_data(self, data_path): - """ - Retrieve the data associated with `data_path`. - - :type data_path: str - :param data_path: The path to the data you wish to retrieve. - """ - return self.get_component('data_loader').load_data(data_path) - - def get_service_model(self, service_name, api_version=None): - """Get the service model object. - - :type service_name: string - :param service_name: The service name - - :type api_version: string - :param api_version: The API version of the service. If none is - provided, then the latest API version will be used. - - :rtype: L{botocore.model.ServiceModel} - :return: The botocore service model for the service. - - """ - service_description = self.get_service_data(service_name, api_version) - return ServiceModel(service_description, service_name=service_name) - - def get_waiter_model(self, service_name, api_version=None): - loader = self.get_component('data_loader') - waiter_config = loader.load_service_model( - service_name, 'waiters-2', api_version) - return waiter.WaiterModel(waiter_config) - - def get_paginator_model(self, service_name, api_version=None): - loader = self.get_component('data_loader') - paginator_config = loader.load_service_model( - service_name, 'paginators-1', api_version) - return paginate.PaginatorModel(paginator_config) - - def get_service_data(self, service_name, api_version=None): - """ - Retrieve the fully merged data associated with a service. - """ - data_path = service_name - service_data = self.get_component('data_loader').load_service_model( - data_path, - type_name='service-2', - api_version=api_version - ) - self._events.emit('service-data-loaded.%s' % service_name, - service_data=service_data, - service_name=service_name, session=self) - return service_data - - def get_available_services(self): - """ - Return a list of names of available services. - """ - return self.get_component('data_loader')\ - .list_available_services(type_name='service-2') - - def set_debug_logger(self, logger_name='botocore'): - """ - Convenience function to quickly configure full debug output - to go to the console. - """ - self.set_stream_logger(logger_name, logging.DEBUG) - - def set_stream_logger(self, logger_name, log_level, stream=None, - format_string=None): - """ - Convenience method to configure a stream logger. - - :type logger_name: str - :param logger_name: The name of the logger to configure - - :type log_level: str - :param log_level: The log level to set for the logger. This - is any param supported by the ``.setLevel()`` method of - a ``Log`` object. - - :type stream: file - :param stream: A file like object to log to. If none is provided - then sys.stderr will be used. - - :type format_string: str - :param format_string: The format string to use for the log - formatter. If none is provided this will default to - ``self.LOG_FORMAT``. - - """ - log = logging.getLogger(logger_name) - log.setLevel(logging.DEBUG) - - ch = logging.StreamHandler(stream) - ch.setLevel(log_level) - - # create formatter - if format_string is None: - format_string = self.LOG_FORMAT - formatter = logging.Formatter(format_string) - - # add formatter to ch - ch.setFormatter(formatter) - - # add ch to logger - log.addHandler(ch) - - def set_file_logger(self, log_level, path, logger_name='botocore'): - """ - Convenience function to quickly configure any level of logging - to a file. - - :type log_level: int - :param log_level: A log level as specified in the `logging` module - - :type path: string - :param path: Path to the log file. The file will be created - if it doesn't already exist. - """ - log = logging.getLogger(logger_name) - log.setLevel(logging.DEBUG) - - # create console handler and set level to debug - ch = logging.FileHandler(path) - ch.setLevel(log_level) - - # create formatter - formatter = logging.Formatter(self.LOG_FORMAT) - - # add formatter to ch - ch.setFormatter(formatter) - - # add ch to logger - log.addHandler(ch) - - def register(self, event_name, handler, unique_id=None, - unique_id_uses_count=False): - """Register a handler with an event. - - :type event_name: str - :param event_name: The name of the event. - - :type handler: callable - :param handler: The callback to invoke when the event - is emitted. This object must be callable, and must - accept ``**kwargs``. If either of these preconditions are - not met, a ``ValueError`` will be raised. - - :type unique_id: str - :param unique_id: An optional identifier to associate with the - registration. A unique_id can only be used once for - the entire session registration (unless it is unregistered). - This can be used to prevent an event handler from being - registered twice. - - :param unique_id_uses_count: boolean - :param unique_id_uses_count: Specifies if the event should maintain - a count when a ``unique_id`` is registered and unregisted. The - event can only be completely unregistered once every register call - using the unique id has been matched by an ``unregister`` call. - If ``unique_id`` is specified, subsequent ``register`` - calls must use the same value for ``unique_id_uses_count`` - as the ``register`` call that first registered the event. - - :raises ValueError: If the call to ``register`` uses ``unique_id`` - but the value for ``unique_id_uses_count`` differs from the - ``unique_id_uses_count`` value declared by the very first - ``register`` call for that ``unique_id``. - """ - self._events.register(event_name, handler, unique_id, - unique_id_uses_count=unique_id_uses_count) - - def unregister(self, event_name, handler=None, unique_id=None, - unique_id_uses_count=False): - """Unregister a handler with an event. - - :type event_name: str - :param event_name: The name of the event. - - :type handler: callable - :param handler: The callback to unregister. - - :type unique_id: str - :param unique_id: A unique identifier identifying the callback - to unregister. You can provide either the handler or the - unique_id, you do not have to provide both. - - :param unique_id_uses_count: boolean - :param unique_id_uses_count: Specifies if the event should maintain - a count when a ``unique_id`` is registered and unregisted. The - event can only be completely unregistered once every ``register`` - call using the ``unique_id`` has been matched by an ``unregister`` - call. If the ``unique_id`` is specified, subsequent - ``unregister`` calls must use the same value for - ``unique_id_uses_count`` as the ``register`` call that first - registered the event. - - :raises ValueError: If the call to ``unregister`` uses ``unique_id`` - but the value for ``unique_id_uses_count`` differs from the - ``unique_id_uses_count`` value declared by the very first - ``register`` call for that ``unique_id``. - """ - self._events.unregister(event_name, handler=handler, - unique_id=unique_id, - unique_id_uses_count=unique_id_uses_count) - - def emit(self, event_name, **kwargs): - return self._events.emit(event_name, **kwargs) - - def emit_first_non_none_response(self, event_name, **kwargs): - responses = self._events.emit(event_name, **kwargs) - return first_non_none_response(responses) - - def get_component(self, name): - try: - return self._components.get_component(name) - except ValueError: - if name in ['endpoint_resolver', 'exceptions_factory']: - warnings.warn( - 'Fetching the %s component with the get_component() ' - 'method is deprecated as the component has always been ' - 'considered an internal interface of botocore' % name, - DeprecationWarning) - return self._internal_components.get_component(name) - raise - - def _get_internal_component(self, name): - # While this method may be called by botocore classes outside of the - # Session, this method should **never** be used by a class that lives - # outside of botocore. - return self._internal_components.get_component(name) - - def _register_internal_component(self, name, component): - # While this method may be called by botocore classes outside of the - # Session, this method should **never** be used by a class that lives - # outside of botocore. - return self._internal_components.register_component(name, component) - - def register_component(self, name, component): - self._components.register_component(name, component) - - def lazy_register_component(self, name, component): - self._components.lazy_register_component(name, component) - - def create_client(self, service_name, region_name=None, api_version=None, - use_ssl=True, verify=None, endpoint_url=None, - aws_access_key_id=None, aws_secret_access_key=None, - aws_session_token=None, config=None): - """Create a botocore client. - - :type service_name: string - :param service_name: The name of the service for which a client will - be created. You can use the ``Sesssion.get_available_services()`` - method to get a list of all available service names. - - :type region_name: string - :param region_name: The name of the region associated with the client. - A client is associated with a single region. - - :type api_version: string - :param api_version: The API version to use. By default, botocore will - use the latest API version when creating a client. You only need - to specify this parameter if you want to use a previous API version - of the client. - - :type use_ssl: boolean - :param use_ssl: Whether or not to use SSL. By default, SSL is used. - Note that not all services support non-ssl connections. - - :type verify: boolean/string - :param verify: Whether or not to verify SSL certificates. - By default SSL certificates are verified. You can provide the - following values: - - * False - do not validate SSL certificates. SSL will still be - used (unless use_ssl is False), but SSL certificates - will not be verified. - * path/to/cert/bundle.pem - A filename of the CA cert bundle to - uses. You can specify this argument if you want to use a - different CA cert bundle than the one used by botocore. - - :type endpoint_url: string - :param endpoint_url: The complete URL to use for the constructed - client. Normally, botocore will automatically construct the - appropriate URL to use when communicating with a service. You can - specify a complete URL (including the "http/https" scheme) to - override this behavior. If this value is provided, then - ``use_ssl`` is ignored. - - :type aws_access_key_id: string - :param aws_access_key_id: The access key to use when creating - the client. This is entirely optional, and if not provided, - the credentials configured for the session will automatically - be used. You only need to provide this argument if you want - to override the credentials used for this specific client. - - :type aws_secret_access_key: string - :param aws_secret_access_key: The secret key to use when creating - the client. Same semantics as aws_access_key_id above. - - :type aws_session_token: string - :param aws_session_token: The session token to use when creating - the client. Same semantics as aws_access_key_id above. - - :type config: botocore.client.Config - :param config: Advanced client configuration options. If a value - is specified in the client config, its value will take precedence - over environment variables and configuration values, but not over - a value passed explicitly to the method. If a default config - object is set on the session, the config object used when creating - the client will be the result of calling ``merge()`` on the - default config with the config provided to this call. - - :rtype: botocore.client.BaseClient - :return: A botocore client instance - - """ - default_client_config = self.get_default_client_config() - # If a config is provided and a default config is set, then - # use the config resulting from merging the two. - if config is not None and default_client_config is not None: - config = default_client_config.merge(config) - # If a config was not provided then use the default - # client config from the session - elif default_client_config is not None: - config = default_client_config - - # Figure out the user-provided region based on the various - # configuration options. - if region_name is None: - if config and config.region_name is not None: - region_name = config.region_name - else: - region_name = self.get_config_variable('region') - - # Figure out the verify value base on the various - # configuration options. - if verify is None: - verify = self.get_config_variable('ca_bundle') - - if api_version is None: - api_version = self.get_config_variable('api_versions').get( - service_name, None) - - loader = self.get_component('data_loader') - event_emitter = self.get_component('event_emitter') - response_parser_factory = self.get_component( - 'response_parser_factory') - if aws_access_key_id is not None and aws_secret_access_key is not None: - credentials = botocore.credentials.Credentials( - access_key=aws_access_key_id, - secret_key=aws_secret_access_key, - token=aws_session_token) - elif self._missing_cred_vars(aws_access_key_id, - aws_secret_access_key): - raise PartialCredentialsError( - provider='explicit', - cred_var=self._missing_cred_vars(aws_access_key_id, - aws_secret_access_key)) - else: - credentials = self.get_credentials() - endpoint_resolver = self._get_internal_component('endpoint_resolver') - exceptions_factory = self._get_internal_component('exceptions_factory') - client_creator = botocore.client.ClientCreator( - loader, endpoint_resolver, self.user_agent(), event_emitter, - retryhandler, translate, response_parser_factory, - exceptions_factory) - client = client_creator.create_client( - service_name=service_name, region_name=region_name, - is_secure=use_ssl, endpoint_url=endpoint_url, verify=verify, - credentials=credentials, scoped_config=self.get_scoped_config(), - client_config=config, api_version=api_version) - return client - - def _missing_cred_vars(self, access_key, secret_key): - if access_key is not None and secret_key is None: - return 'aws_secret_access_key' - if secret_key is not None and access_key is None: - return 'aws_access_key_id' - return None - - def get_available_partitions(self): - """Lists the available partitions found on disk - - :rtype: list - :return: Returns a list of partition names (e.g., ["aws", "aws-cn"]) - """ - resolver = self._get_internal_component('endpoint_resolver') - return resolver.get_available_partitions() - - def get_available_regions(self, service_name, partition_name='aws', - allow_non_regional=False): - """Lists the region and endpoint names of a particular partition. - - :type service_name: string - :param service_name: Name of a service to list endpoint for (e.g., s3). - This parameter accepts a service name (e.g., "elb") or endpoint - prefix (e.g., "elasticloadbalancing"). - - :type partition_name: string - :param partition_name: Name of the partition to limit endpoints to. - (e.g., aws for the public AWS endpoints, aws-cn for AWS China - endpoints, aws-us-gov for AWS GovCloud (US) Endpoints, etc. - - :type allow_non_regional: bool - :param allow_non_regional: Set to True to include endpoints that are - not regional endpoints (e.g., s3-external-1, - fips-us-gov-west-1, etc). - :return: Returns a list of endpoint names (e.g., ["us-east-1"]). - """ - resolver = self._get_internal_component('endpoint_resolver') - results = [] - try: - service_data = self.get_service_data(service_name) - endpoint_prefix = service_data['metadata'].get( - 'endpointPrefix', service_name) - results = resolver.get_available_endpoints( - endpoint_prefix, partition_name, allow_non_regional) - except UnknownServiceError: - pass - return results - - -class ComponentLocator(object): - """Service locator for session components.""" - def __init__(self): - self._components = {} - self._deferred = {} - - def get_component(self, name): - if name in self._deferred: - factory = self._deferred[name] - self._components[name] = factory() - # Only delete the component from the deferred dict after - # successfully creating the object from the factory as well as - # injecting the instantiated value into the _components dict. - del self._deferred[name] - try: - return self._components[name] - except KeyError: - raise ValueError("Unknown component: %s" % name) - - def register_component(self, name, component): - self._components[name] = component - try: - del self._deferred[name] - except KeyError: - pass - - def lazy_register_component(self, name, no_arg_factory): - self._deferred[name] = no_arg_factory - try: - del self._components[name] - except KeyError: - pass - - -def get_session(env_vars=None): - """ - Return a new session object. - """ - return Session(env_vars) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/signers.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/signers.py deleted file mode 100644 index be755849..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/signers.py +++ /dev/null @@ -1,721 +0,0 @@ -# Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import datetime -import weakref -import json -import base64 - -import botocore -import botocore.auth -from botocore.compat import six, OrderedDict -from botocore.awsrequest import create_request_object, prepare_request_dict -from botocore.exceptions import UnknownSignatureVersionError -from botocore.exceptions import UnknownClientMethodError -from botocore.exceptions import UnsupportedSignatureVersionError -from botocore.utils import fix_s3_host, datetime2timestamp - - -class RequestSigner(object): - """ - An object to sign requests before they go out over the wire using - one of the authentication mechanisms defined in ``auth.py``. This - class fires two events scoped to a service and operation name: - - * choose-signer: Allows overriding the auth signer name. - * before-sign: Allows mutating the request before signing. - - Together these events allow for customization of the request - signing pipeline, including overrides, request path manipulation, - and disabling signing per operation. - - :type service_name: string - :param service_name: Name of the service, e.g. ``S3`` - - :type region_name: string - :param region_name: Name of the service region, e.g. ``us-east-1`` - - :type signing_name: string - :param signing_name: Service signing name. This is usually the - same as the service name, but can differ. E.g. - ``emr`` vs. ``elasticmapreduce``. - - :type signature_version: string - :param signature_version: Signature name like ``v4``. - - :type credentials: :py:class:`~botocore.credentials.Credentials` - :param credentials: User credentials with which to sign requests. - - :type event_emitter: :py:class:`~botocore.hooks.BaseEventHooks` - :param event_emitter: Extension mechanism to fire events. - - """ - def __init__(self, service_name, region_name, signing_name, - signature_version, credentials, event_emitter): - self._service_name = service_name - self._region_name = region_name - self._signing_name = signing_name - self._signature_version = signature_version - self._credentials = credentials - - # We need weakref to prevent leaking memory in Python 2.6 on Linux 2.6 - self._event_emitter = weakref.proxy(event_emitter) - - @property - def region_name(self): - return self._region_name - - @property - def signature_version(self): - return self._signature_version - - @property - def signing_name(self): - return self._signing_name - - def handler(self, operation_name=None, request=None, **kwargs): - # This is typically hooked up to the "request-created" event - # from a client's event emitter. When a new request is created - # this method is invoked to sign the request. - # Don't call this method directly. - return self.sign(operation_name, request) - - def sign(self, operation_name, request, region_name=None, - signing_type='standard', expires_in=None, signing_name=None): - """Sign a request before it goes out over the wire. - - :type operation_name: string - :param operation_name: The name of the current operation, e.g. - ``ListBuckets``. - :type request: AWSRequest - :param request: The request object to be sent over the wire. - - :type region_name: str - :param region_name: The region to sign the request for. - - :type signing_type: str - :param signing_type: The type of signing to perform. This can be one of - three possible values: - - * 'standard' - This should be used for most requests. - * 'presign-url' - This should be used when pre-signing a request. - * 'presign-post' - This should be used when pre-signing an S3 post. - - :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 - - 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=signing_name, - region_name=self._region_name, - signature_version=signature_version, request_signer=self, - operation_name=operation_name - ) - - if signature_version != botocore.UNSIGNED: - kwargs = { - 'signing_name': signing_name, - 'region_name': region_name, - 'signature_version': signature_version - } - if expires_in is not None: - kwargs['expires'] = expires_in - - try: - auth = self.get_auth_instance(**kwargs) - except UnknownSignatureVersionError as e: - if signing_type != 'standard': - raise UnsupportedSignatureVersionError( - signature_version=signature_version) - else: - raise e - - auth.add_auth(request) - - 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. - - :param operation_name: The operation to sign. - :param signing_type: The type of signing that the signer is to be used - for. - :return: The signature version to sign with. - """ - signing_type_suffix_map = { - 'presign-post': '-presign-post', - 'presign-url': '-query' - } - suffix = signing_type_suffix_map.get(signing_type, '') - - signature_version = self._signature_version - if signature_version is not botocore.UNSIGNED and not \ - signature_version.endswith(suffix): - signature_version += suffix - - 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, context=context) - - if response is not None: - signature_version = response - # The suffix needs to be checked again in case we get an improper - # signature version from choose-signer. - if signature_version is not botocore.UNSIGNED and not \ - signature_version.endswith(suffix): - signature_version += suffix - - return signature_version - - def get_auth_instance(self, signing_name, region_name, - signature_version=None, **kwargs): - """ - Get an auth instance which can be used to sign a request - using the given signature version. - - :type signing_name: string - :param signing_name: Service signing name. This is usually the - same as the service name, but can differ. E.g. - ``emr`` vs. ``elasticmapreduce``. - - :type region_name: string - :param region_name: Name of the service region, e.g. ``us-east-1`` - - :type signature_version: string - :param signature_version: Signature name like ``v4``. - - :rtype: :py:class:`~botocore.auth.BaseSigner` - :return: Auth instance to sign a request. - """ - if signature_version is None: - signature_version = self._signature_version - - cls = botocore.auth.AUTH_TYPE_MAPS.get(signature_version) - if cls is None: - raise UnknownSignatureVersionError( - signature_version=signature_version) - # If there's no credentials provided (i.e credentials is None), - # then we'll pass a value of "None" over to the auth classes, - # which already handle the cases where no credentials have - # been provided. - frozen_credentials = None - if self._credentials is not None: - frozen_credentials = self._credentials.get_frozen_credentials() - kwargs['credentials'] = frozen_credentials - if cls.REQUIRES_REGION: - if self._region_name is None: - raise botocore.exceptions.NoRegionError() - kwargs['region_name'] = region_name - kwargs['service_name'] = signing_name - auth = cls(**kwargs) - return auth - - # Alias get_auth for backwards compatibility. - get_auth = get_auth_instance - - def generate_presigned_url(self, request_dict, operation_name, - expires_in=3600, region_name=None, - signing_name=None): - """Generates a presigned url - - :type request_dict: dict - :param request_dict: The prepared request dictionary returned by - ``botocore.awsrequest.prepare_request_dict()`` - - :type operation_name: str - :param operation_name: The operation being signed. - - :type expires_in: int - :param expires_in: The number of seconds the presigned url is valid - for. By default it expires in an hour (3600 seconds) - - :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, signing_name) - - request.prepare() - return request.url - - -class CloudFrontSigner(object): - '''A signer to create a signed CloudFront URL. - - First you create a cloudfront signer based on a normalized RSA signer:: - - import rsa - def rsa_signer(message): - private_key = open('private_key.pem', 'r').read() - return rsa.sign( - message, - rsa.PrivateKey.load_pkcs1(private_key.encode('utf8')), - 'SHA-1') # CloudFront requires SHA-1 hash - cf_signer = CloudFrontSigner(key_id, rsa_signer) - - To sign with a canned policy:: - - signed_url = cf_signer.generate_signed_url( - url, date_less_than=datetime(2015, 12, 1)) - - To sign with a custom policy:: - - signed_url = cf_signer.generate_signed_url(url, policy=my_policy) - ''' - - def __init__(self, key_id, rsa_signer): - """Create a CloudFrontSigner. - - :type key_id: str - :param key_id: The CloudFront Key Pair ID - - :type rsa_signer: callable - :param rsa_signer: An RSA signer. - Its only input parameter will be the message to be signed, - and its output will be the signed content as a binary string. - The hash algorithm needed by CloudFront is SHA-1. - """ - self.key_id = key_id - self.rsa_signer = rsa_signer - - def generate_presigned_url(self, url, date_less_than=None, policy=None): - """Creates a signed CloudFront URL based on given parameters. - - :type url: str - :param url: The URL of the protected object - - :type date_less_than: datetime - :param date_less_than: The URL will expire after that date and time - - :type policy: str - :param policy: The custom policy, possibly built by self.build_policy() - - :rtype: str - :return: The signed URL. - """ - if (date_less_than is not None and policy is not None or - date_less_than is None and policy is None): - e = 'Need to provide either date_less_than or policy, but not both' - raise ValueError(e) - if date_less_than is not None: - # We still need to build a canned policy for signing purpose - policy = self.build_policy(url, date_less_than) - if isinstance(policy, six.text_type): - policy = policy.encode('utf8') - if date_less_than is not None: - params = ['Expires=%s' % int(datetime2timestamp(date_less_than))] - else: - params = ['Policy=%s' % self._url_b64encode(policy).decode('utf8')] - signature = self.rsa_signer(policy) - params.extend([ - 'Signature=%s' % self._url_b64encode(signature).decode('utf8'), - 'Key-Pair-Id=%s' % self.key_id, - ]) - return self._build_url(url, params) - - def _build_url(self, base_url, extra_params): - separator = '&' if '?' in base_url else '?' - return base_url + separator + '&'.join(extra_params) - - def build_policy(self, resource, date_less_than, - date_greater_than=None, ip_address=None): - """A helper to build policy. - - :type resource: str - :param resource: The URL or the stream filename of the protected object - - :type date_less_than: datetime - :param date_less_than: The URL will expire after the time has passed - - :type date_greater_than: datetime - :param date_greater_than: The URL will not be valid until this time - - :type ip_address: str - :param ip_address: Use 'x.x.x.x' for an IP, or 'x.x.x.x/x' for a subnet - - :rtype: str - :return: The policy in a compact string. - """ - # Note: - # 1. Order in canned policy is significant. Special care has been taken - # to ensure the output will match the order defined by the document. - # There is also a test case to ensure that order. - # SEE: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-canned-policy.html#private-content-canned-policy-creating-policy-statement - # 2. Albeit the order in custom policy is not required by CloudFront, - # we still use OrderedDict internally to ensure the result is stable - # and also matches canned policy requirement. - # SEE: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html - moment = int(datetime2timestamp(date_less_than)) - condition = OrderedDict({"DateLessThan": {"AWS:EpochTime": moment}}) - if ip_address: - if '/' not in ip_address: - ip_address += '/32' - condition["IpAddress"] = {"AWS:SourceIp": ip_address} - if date_greater_than: - moment = int(datetime2timestamp(date_greater_than)) - condition["DateGreaterThan"] = {"AWS:EpochTime": moment} - ordered_payload = [('Resource', resource), ('Condition', condition)] - custom_policy = {"Statement": [OrderedDict(ordered_payload)]} - return json.dumps(custom_policy, separators=(',', ':')) - - def _url_b64encode(self, data): - # Required by CloudFront. See also: - # http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-linux-openssl.html - return base64.b64encode( - 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 - - def generate_presigned_post(self, request_dict, fields=None, - conditions=None, expires_in=3600, - region_name=None): - """Generates the url and the form fields used for a presigned s3 post - - :type request_dict: dict - :param request_dict: The prepared request dictionary returned by - ``botocore.awsrequest.prepare_request_dict()`` - - :type fields: dict - :param fields: A dictionary of prefilled form fields to build on top - of. - - :type conditions: list - :param conditions: A list of conditions to include in the policy. Each - element can be either a list or a structure. For example: - [ - {"acl": "public-read"}, - {"bucket": "mybucket"}, - ["starts-with", "$key", "mykey"] - ] - - :type expires_in: int - :param expires_in: The number of seconds the presigned post is valid - for. - - :type region_name: string - :param region_name: The region name to sign the presigned post to. - - :rtype: dict - :returns: A dictionary with two elements: ``url`` and ``fields``. - Url is the url to post to. Fields is a dictionary filled with - the form fields and respective values to use when submitting the - post. For example: - - {'url': 'https://mybucket.s3.amazonaws.com - 'fields': {'acl': 'public-read', - 'key': 'mykey', - 'signature': 'mysignature', - 'policy': 'mybase64 encoded policy'} - } - """ - if fields is None: - fields = {} - - if conditions is None: - conditions = [] - - # Create the policy for the post. - policy = {} - - # Create an expiration date for the policy - datetime_now = datetime.datetime.utcnow() - expire_date = datetime_now + datetime.timedelta(seconds=expires_in) - policy['expiration'] = expire_date.strftime(botocore.auth.ISO8601) - - # Append all of the conditions that the user supplied. - policy['conditions'] = [] - for condition in conditions: - policy['conditions'].append(condition) - - # Store the policy and the fields in the request for signing - request = create_request_object(request_dict) - request.context['s3-presign-post-fields'] = fields - request.context['s3-presign-post-policy'] = policy - - self._request_signer.sign( - 'PutObject', request, region_name, 'presign-post') - # Return the url and the fields for th form to post. - return {'url': request.url, 'fields': fields} - - -def add_generate_presigned_url(class_attributes, **kwargs): - class_attributes['generate_presigned_url'] = generate_presigned_url - - -def generate_presigned_url(self, ClientMethod, Params=None, ExpiresIn=3600, - HttpMethod=None): - """Generate a presigned url given a client, its method, and arguments - - :type ClientMethod: string - :param ClientMethod: The client method to presign for - - :type Params: dict - :param Params: The parameters normally passed to - ``ClientMethod``. - - :type ExpiresIn: int - :param ExpiresIn: The number of seconds the presigned url is valid - for. By default it expires in an hour (3600 seconds) - - :type HttpMethod: string - :param HttpMethod: The http method to use on the generated url. By - default, the http method is whatever is used in the method's model. - - :returns: The presigned url - """ - client_method = ClientMethod - params = Params - if params is None: - params = {} - expires_in = ExpiresIn - http_method = HttpMethod - context = { - 'is_presign_request': True, - 'use_global_endpoint': _should_use_global_endpoint(self), - } - - request_signer = self._request_signer - serializer = self._serializer - - try: - operation_name = self._PY_TO_OP_NAME[client_method] - except KeyError: - raise UnknownClientMethodError(method_name=client_method) - - operation_model = self.meta.service_model.operation_model( - operation_name) - - params = self._emit_api_params(params, operation_model, context) - - # Create a request dict based on the params to serialize. - request_dict = serializer.serialize_to_request( - params, operation_model) - - # Switch out the http method if user specified it. - if http_method is not None: - request_dict['method'] = http_method - - # Prepare the request dict by including the client's endpoint url. - prepare_request_dict( - request_dict, endpoint_url=self.meta.endpoint_url, context=context) - - # Generate the presigned url. - return request_signer.generate_presigned_url( - request_dict=request_dict, expires_in=expires_in, - operation_name=operation_name) - - -def add_generate_presigned_post(class_attributes, **kwargs): - class_attributes['generate_presigned_post'] = generate_presigned_post - - -def generate_presigned_post(self, Bucket, Key, Fields=None, Conditions=None, - ExpiresIn=3600): - """Builds the url and the form fields used for a presigned s3 post - - :type Bucket: string - :param Bucket: The name of the bucket to presign the post to. Note that - bucket related conditions should not be included in the - ``conditions`` parameter. - - :type Key: string - :param Key: Key name, optionally add ${filename} to the end to - attach the submitted filename. Note that key related conditions and - fields are filled out for you and should not be included in the - ``Fields`` or ``Conditions`` parameter. - - :type Fields: dict - :param Fields: A dictionary of prefilled form fields to build on top - of. Elements that may be included are acl, Cache-Control, - Content-Type, Content-Disposition, Content-Encoding, Expires, - success_action_redirect, redirect, success_action_status, - and x-amz-meta-. - - Note that if a particular element is included in the fields - dictionary it will not be automatically added to the conditions - list. You must specify a condition for the element as well. - - :type Conditions: list - :param Conditions: A list of conditions to include in the policy. Each - element can be either a list or a structure. For example: - - [ - {"acl": "public-read"}, - ["content-length-range", 2, 5], - ["starts-with", "$success_action_redirect", ""] - ] - - Conditions that are included may pertain to acl, - content-length-range, Cache-Control, Content-Type, - Content-Disposition, Content-Encoding, Expires, - success_action_redirect, redirect, success_action_status, - and/or x-amz-meta-. - - Note that if you include a condition, you must specify - the a valid value in the fields dictionary as well. A value will - not be added automatically to the fields dictionary based on the - conditions. - - :type ExpiresIn: int - :param ExpiresIn: The number of seconds the presigned post - is valid for. - - :rtype: dict - :returns: A dictionary with two elements: ``url`` and ``fields``. - Url is the url to post to. Fields is a dictionary filled with - the form fields and respective values to use when submitting the - post. For example: - - {'url': 'https://mybucket.s3.amazonaws.com - 'fields': {'acl': 'public-read', - 'key': 'mykey', - 'signature': 'mysignature', - 'policy': 'mybase64 encoded policy'} - } - """ - bucket = Bucket - key = Key - fields = Fields - conditions = Conditions - expires_in = ExpiresIn - - if fields is None: - fields = {} - - if conditions is None: - conditions = [] - - post_presigner = S3PostPresigner(self._request_signer) - serializer = self._serializer - - # We choose the CreateBucket operation model because its url gets - # serialized to what a presign post requires. - operation_model = self.meta.service_model.operation_model( - 'CreateBucket') - - # Create a request dict based on the params to serialize. - request_dict = serializer.serialize_to_request( - {'Bucket': bucket}, operation_model) - - # Prepare the request dict by including the client's endpoint url. - prepare_request_dict( - request_dict, endpoint_url=self.meta.endpoint_url, - context={ - 'is_presign_request': True, - 'use_global_endpoint': _should_use_global_endpoint(self), - }, - ) - - # Append that the bucket name to the list of conditions. - conditions.append({'bucket': bucket}) - - # If the key ends with filename, the only constraint that can be - # imposed is if it starts with the specified prefix. - if key.endswith('${filename}'): - conditions.append(["starts-with", '$key', key[:-len('${filename}')]]) - else: - conditions.append({'key': key}) - - # Add the key to the fields. - fields['key'] = key - - return post_presigner.generate_presigned_post( - request_dict=request_dict, fields=fields, conditions=conditions, - expires_in=expires_in) - - -def _should_use_global_endpoint(client): - use_dualstack_endpoint = False - if client.meta.config.s3 is not None: - use_dualstack_endpoint = client.meta.config.s3.get( - 'use_dualstack_endpoint', False) - return (client.meta.partition == 'aws' and - not use_dualstack_endpoint) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/stub.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/stub.py deleted file mode 100644 index 5c421b09..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/stub.py +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import copy -from collections import deque -from pprint import pformat - -from botocore.validate import validate_parameters -from botocore.exceptions import ParamValidationError, \ - StubResponseError, StubAssertionError, UnStubbedResponseError -from botocore.awsrequest import AWSResponse - - -class _ANY(object): - """ - A helper object that compares equal to everything. Copied from - unittest.mock - """ - - def __eq__(self, other): - return True - - def __ne__(self, other): - return False - - def __repr__(self): - return '' - -ANY = _ANY() - - -class Stubber(object): - """ - This class will allow you to stub out requests so you don't have to hit - an endpoint to write tests. Responses are returned first in, first out. - If operations are called out of order, or are called with no remaining - queued responses, an error will be raised. - - **Example:** - :: - import datetime - import botocore.session - from botocore.stub import Stubber - - - s3 = botocore.session.get_session().create_client('s3') - stubber = Stubber(s3) - - response = { - 'IsTruncated': False, - 'Name': 'test-bucket', - 'MaxKeys': 1000, 'Prefix': '', - 'Contents': [{ - 'Key': 'test.txt', - 'ETag': '"abc123"', - 'StorageClass': 'STANDARD', - 'LastModified': datetime.datetime(2016, 1, 20, 22, 9), - 'Owner': {'ID': 'abc123', 'DisplayName': 'myname'}, - 'Size': 14814 - }], - 'EncodingType': 'url', - 'ResponseMetadata': { - 'RequestId': 'abc123', - 'HTTPStatusCode': 200, - 'HostId': 'abc123' - }, - 'Marker': '' - } - - expected_params = {'Bucket': 'test-bucket'} - - stubber.add_response('list_objects', response, expected_params) - stubber.activate() - - service_response = s3.list_objects(Bucket='test-bucket') - assert service_response == response - - - This class can also be called as a context manager, which will handle - activation / deactivation for you. - - **Example:** - :: - import datetime - import botocore.session - from botocore.stub import Stubber - - - s3 = botocore.session.get_session().create_client('s3') - - response = { - "Owner": { - "ID": "foo", - "DisplayName": "bar" - }, - "Buckets": [{ - "CreationDate": datetime.datetime(2016, 1, 20, 22, 9), - "Name": "baz" - }] - } - - - with Stubber(s3) as stubber: - stubber.add_response('list_buckets', response, {}) - service_response = s3.list_buckets() - - assert service_response == response - - - If you have an input parameter that is a randomly generated value, or you - otherwise don't care about its value, you can use ``stub.ANY`` to ignore - it in validation. - - **Example:** - :: - import datetime - import botocore.session - from botocore.stub import Stubber, ANY - - - s3 = botocore.session.get_session().create_client('s3') - stubber = Stubber(s3) - - response = { - 'IsTruncated': False, - 'Name': 'test-bucket', - 'MaxKeys': 1000, 'Prefix': '', - 'Contents': [{ - 'Key': 'test.txt', - 'ETag': '"abc123"', - 'StorageClass': 'STANDARD', - 'LastModified': datetime.datetime(2016, 1, 20, 22, 9), - 'Owner': {'ID': 'abc123', 'DisplayName': 'myname'}, - 'Size': 14814 - }], - 'EncodingType': 'url', - 'ResponseMetadata': { - 'RequestId': 'abc123', - 'HTTPStatusCode': 200, - 'HostId': 'abc123' - }, - 'Marker': '' - } - - expected_params = {'Bucket': ANY} - stubber.add_response('list_objects', response, expected_params) - - with stubber: - service_response = s3.list_objects(Bucket='test-bucket') - - assert service_response == response - """ - def __init__(self, client): - """ - :param client: The client to add your stubs to. - """ - self.client = client - self._event_id = 'boto_stubber' - self._expected_params_event_id = 'boto_stubber_expected_params' - self._queue = deque() - - def __enter__(self): - self.activate() - return self - - def __exit__(self, exception_type, exception_value, traceback): - self.deactivate() - - def activate(self): - """ - Activates the stubber on the client - """ - self.client.meta.events.register_first( - 'before-parameter-build.*.*', - self._assert_expected_params, - unique_id=self._expected_params_event_id) - self.client.meta.events.register( - 'before-call.*.*', - self._get_response_handler, - unique_id=self._event_id) - - def deactivate(self): - """ - Deactivates the stubber on the client - """ - self.client.meta.events.unregister( - 'before-parameter-build.*.*', - self._assert_expected_params, - unique_id=self._expected_params_event_id) - self.client.meta.events.unregister( - 'before-call.*.*', - self._get_response_handler, - unique_id=self._event_id) - - def add_response(self, method, service_response, expected_params=None): - """ - Adds a service response to the response queue. This will be validated - against the service model to ensure correctness. It should be noted, - however, that while missing attributes are often considered correct, - your code may not function properly if you leave them out. Therefore - you should always fill in every value you see in a typical response for - your particular request. - - :param method: The name of the client method to stub. - :type method: str - - :param service_response: A dict response stub. Provided parameters will - be validated against the service model. - :type service_response: dict - - :param expected_params: A dictionary of the expected parameters to - be called for the provided service response. The parameters match - the names of keyword arguments passed to that client call. If - any of the parameters differ a ``StubResponseError`` is thrown. - You can use stub.ANY to indicate a particular parameter to ignore - in validation. stub.ANY is only valid for top level params. - """ - self._add_response(method, service_response, expected_params) - - def _add_response(self, method, service_response, expected_params): - if not hasattr(self.client, method): - raise ValueError( - "Client %s does not have method: %s" - % (self.client.meta.service_model.service_name, method)) - - # Create a successful http response - http_response = AWSResponse(None, 200, {}, None) - - operation_name = self.client.meta.method_to_api_mapping.get(method) - self._validate_response(operation_name, service_response) - - # Add the service_response to the queue for returning responses - response = { - 'operation_name': operation_name, - 'response': (http_response, service_response), - 'expected_params': expected_params - } - self._queue.append(response) - - def add_client_error(self, method, service_error_code='', - service_message='', http_status_code=400, - service_error_meta=None, expected_params=None, - response_meta=None): - """ - Adds a ``ClientError`` to the response queue. - - :param method: The name of the service method to return the error on. - :type method: str - - :param service_error_code: The service error code to return, - e.g. ``NoSuchBucket`` - :type service_error_code: str - - :param service_message: The service message to return, e.g. - 'The specified bucket does not exist.' - :type service_message: str - - :param http_status_code: The HTTP status code to return, e.g. 404, etc - :type http_status_code: int - - :param service_error_meta: Additional keys to be added to the - service Error - :type service_error_meta: dict - - :param expected_params: A dictionary of the expected parameters to - be called for the provided service response. The parameters match - the names of keyword arguments passed to that client call. If - any of the parameters differ a ``StubResponseError`` is thrown. - You can use stub.ANY to indicate a particular parameter to ignore - in validation. - - :param response_meta: Additional keys to be added to the - response's ResponseMetadata - :type response_meta: dict - - """ - http_response = AWSResponse(None, http_status_code, {}, None) - - # We don't look to the model to build this because the caller would - # need to know the details of what the HTTP body would need to - # look like. - parsed_response = { - 'ResponseMetadata': {'HTTPStatusCode': http_status_code}, - 'Error': { - 'Message': service_message, - 'Code': service_error_code - } - } - - if service_error_meta is not None: - parsed_response['Error'].update(service_error_meta) - - if response_meta is not None: - parsed_response['ResponseMetadata'].update(response_meta) - - operation_name = self.client.meta.method_to_api_mapping.get(method) - # Note that we do not allow for expected_params while - # adding errors into the queue yet. - response = { - 'operation_name': operation_name, - 'response': (http_response, parsed_response), - 'expected_params': expected_params, - } - self._queue.append(response) - - def assert_no_pending_responses(self): - """ - Asserts that all expected calls were made. - """ - remaining = len(self._queue) - if remaining != 0: - raise AssertionError( - "%d responses remaining in queue." % remaining) - - def _assert_expected_call_order(self, model, params): - if not self._queue: - raise UnStubbedResponseError( - operation_name=model.name, - reason=( - 'Unexpected API Call: A call was made but no additional calls expected.' - 'Either the API Call was not stubbed or it was called multiple times.' - ) - ) - - name = self._queue[0]['operation_name'] - if name != model.name: - raise StubResponseError( - operation_name=model.name, - reason='Operation mismatch: found response for %s.' % name) - - def _get_response_handler(self, model, params, context, **kwargs): - self._assert_expected_call_order(model, params) - # Pop off the entire response once everything has been validated - return self._queue.popleft()['response'] - - def _assert_expected_params(self, model, params, context, **kwargs): - if self._should_not_stub(context): - return - self._assert_expected_call_order(model, params) - expected_params = self._queue[0]['expected_params'] - if expected_params is None: - return - - # Validate the parameters are equal - for param, value in expected_params.items(): - if param not in params or expected_params[param] != params[param]: - raise StubAssertionError( - operation_name=model.name, - reason='Expected parameters:\n%s,\nbut received:\n%s' % ( - pformat(expected_params), pformat(params))) - - # Ensure there are no extra params hanging around - if sorted(expected_params.keys()) != sorted(params.keys()): - raise StubAssertionError( - operation_name=model.name, - reason='Expected parameters:\n%s,\nbut received:\n%s' % ( - pformat(expected_params), pformat(params))) - - def _should_not_stub(self, context): - # Do not include presign requests when processing stubbed client calls - # as a presign request will never have an HTTP request sent over the - # wire for it and therefore not receive a response back. - if context and context.get('is_presign_request'): - return True - - def _validate_response(self, operation_name, service_response): - service_model = self.client.meta.service_model - operation_model = service_model.operation_model(operation_name) - output_shape = operation_model.output_shape - - # Remove ResponseMetadata so that the validator doesn't attempt to - # perform validation on it. - response = service_response - if 'ResponseMetadata' in response: - response = copy.copy(service_response) - del response['ResponseMetadata'] - - if output_shape is not None: - validate_parameters(response, output_shape) - elif response: - # If the output shape is None, that means the response should be - # empty apart from ResponseMetadata - raise ParamValidationError( - report=( - "Service response should only contain ResponseMetadata.")) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/translate.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/translate.py deleted file mode 100644 index 5a661ab0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/translate.py +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ -# Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import copy - -from botocore.utils import merge_dicts - - -def build_retry_config(endpoint_prefix, retry_model, definitions, - client_retry_config=None): - service_config = retry_model.get(endpoint_prefix, {}) - resolve_references(service_config, definitions) - # We want to merge the global defaults with the service specific - # defaults, with the service specific defaults taking precedence. - # So we use the global defaults as the base. - # - # A deepcopy is done on the retry defaults because it ensures the - # retry model has no chance of getting mutated when the service specific - # configuration or client retry config is merged in. - final_retry_config = { - '__default__': copy.deepcopy(retry_model.get('__default__', {})) - } - resolve_references(final_retry_config, definitions) - # The merge the service specific config on top. - merge_dicts(final_retry_config, service_config) - if client_retry_config is not None: - _merge_client_retry_config(final_retry_config, client_retry_config) - return final_retry_config - - -def _merge_client_retry_config(retry_config, client_retry_config): - max_retry_attempts_override = client_retry_config.get('max_attempts') - if max_retry_attempts_override is not None: - # In the retry config, the max_attempts refers to the maximum number - # of requests in general will be made. However, for the client's - # retry config it refers to how many retry attempts will be made at - # most. So to translate this number from the client config, one is - # added to convert it to the maximum number request that will be made - # by including the initial request. - # - # It is also important to note that if we ever support per operation - # configuration in the retry model via the client, we will need to - # revisit this logic to make sure max_attempts gets applied - # per operation. - retry_config['__default__'][ - 'max_attempts'] = max_retry_attempts_override + 1 - - -def resolve_references(config, definitions): - """Recursively replace $ref keys. - - To cut down on duplication, common definitions can be declared - (and passed in via the ``definitions`` attribute) and then - references as {"$ref": "name"}, when this happens the reference - dict is placed with the value from the ``definition`` dict. - - This is recursively done. - - """ - for key, value in config.items(): - if isinstance(value, dict): - if len(value) == 1 and list(value.keys())[0] == '$ref': - # Then we need to resolve this reference. - config[key] = definitions[list(value.values())[0]] - else: - resolve_references(value, definitions) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/utils.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/utils.py deleted file mode 100644 index 049a19b6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/utils.py +++ /dev/null @@ -1,1191 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import re -import time -import logging -import datetime -import hashlib -import binascii -import functools -import weakref -import random -import os -import socket -import cgi - -import dateutil.parser -from dateutil.tz import tzlocal, tzutc - -import botocore -import botocore.awsrequest -import botocore.httpsession -from botocore.compat import json, quote, zip_longest, urlsplit, urlunsplit -from botocore.compat import OrderedDict, six, urlparse -from botocore.vendored.six.moves.urllib.request import getproxies, proxy_bypass -from botocore.exceptions import ( - InvalidExpressionError, ConfigNotFound, InvalidDNSNameError, ClientError, - MetadataRetrievalError, EndpointConnectionError, ReadTimeoutError, - ConnectionClosedError, ConnectTimeoutError, -) - - -logger = logging.getLogger(__name__) -DEFAULT_METADATA_SERVICE_TIMEOUT = 1 -METADATA_SECURITY_CREDENTIALS_URL = ( - 'http://169.254.169.254/latest/meta-data/iam/security-credentials/' -) -# These are chars that do not need to be urlencoded. -# Based on rfc2986, section 2.3 -SAFE_CHARS = '-._~' -LABEL_RE = re.compile(r'[a-z0-9][a-z0-9\-]*[a-z0-9]') -RETRYABLE_HTTP_ERRORS = ( - ReadTimeoutError, EndpointConnectionError, ConnectionClosedError, - ConnectTimeoutError, -) -S3_ACCELERATE_WHITELIST = ['dualstack'] - - -class _RetriesExceededError(Exception): - """Internal exception used when the number of retries are exceeded.""" - 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 - - This is the value used in both the documentation and client class name - """ - name = service_model.metadata.get( - 'serviceAbbreviation', - service_model.metadata.get( - 'serviceFullName', service_model.service_name)) - name = name.replace('Amazon', '') - name = name.replace('AWS', '') - name = re.sub(r'\W+', '', name) - return name - - -def normalize_url_path(path): - if not path: - return '/' - return remove_dot_segments(path) - - -def remove_dot_segments(url): - # RFC 3986, section 5.2.4 "Remove Dot Segments" - # Also, AWS services require consecutive slashes to be removed, - # so that's done here as well - if not url: - return '' - input_url = url.split('/') - output_list = [] - for x in input_url: - if x and x != '.': - if x == '..': - if output_list: - output_list.pop() - else: - output_list.append(x) - - if url[0] == '/': - first = '/' - else: - first = '' - if url[-1] == '/' and output_list: - last = '/' - else: - last = '' - return first + '/'.join(output_list) + last - - -def validate_jmespath_for_set(expression): - # Validates a limited jmespath expression to determine if we can set a - # value based on it. Only works with dotted paths. - if not expression or expression == '.': - raise InvalidExpressionError(expression=expression) - - for invalid in ['[', ']', '*']: - if invalid in expression: - raise InvalidExpressionError(expression=expression) - - -def set_value_from_jmespath(source, expression, value, is_first=True): - # This takes a (limited) jmespath-like expression & can set a value based - # on it. - # Limitations: - # * Only handles dotted lookups - # * No offsets/wildcards/slices/etc. - if is_first: - validate_jmespath_for_set(expression) - - bits = expression.split('.', 1) - current_key, remainder = bits[0], bits[1] if len(bits) > 1 else '' - - if not current_key: - raise InvalidExpressionError(expression=expression) - - if remainder: - if current_key not in source: - # We've got something in the expression that's not present in the - # source (new key). If there's any more bits, we'll set the key - # with an empty dictionary. - source[current_key] = {} - - return set_value_from_jmespath( - source[current_key], - remainder, - value, - is_first=False - ) - - # If we're down to a single key, set it. - source[current_key] = value - - -class InstanceMetadataFetcher(object): - def __init__(self, timeout=DEFAULT_METADATA_SERVICE_TIMEOUT, - num_attempts=1, url=METADATA_SECURITY_CREDENTIALS_URL, - env=None, user_agent=None): - self._timeout = timeout - self._num_attempts = num_attempts - self._url = url - if env is None: - env = os.environ.copy() - self._disabled = env.get('AWS_EC2_METADATA_DISABLED', 'false').lower() - self._disabled = self._disabled == 'true' - self._user_agent = user_agent - self._session = botocore.httpsession.URLLib3Session( - timeout=self._timeout, - proxies=get_environ_proxies(self._url), - ) - - def _get_request(self, url, timeout, num_attempts=1): - if self._disabled: - logger.debug("Access to EC2 metadata has been disabled.") - raise _RetriesExceededError() - - headers = {} - if self._user_agent is not None: - headers['User-Agent'] = self._user_agent - - for i in range(num_attempts): - try: - AWSRequest = botocore.awsrequest.AWSRequest - request = AWSRequest(method='GET', url=url, headers=headers) - response = self._session.send(request.prepare()) - except RETRYABLE_HTTP_ERRORS as e: - logger.debug("Caught exception while trying to retrieve " - "credentials: %s", e, exc_info=True) - else: - if response.status_code == 200: - return response - raise _RetriesExceededError() - - def retrieve_iam_role_credentials(self): - data = {} - url = self._url - timeout = self._timeout - num_attempts = self._num_attempts - try: - r = self._get_request(url, timeout, num_attempts) - if r.content: - fields = r.content.decode('utf-8').split('\n') - for field in fields: - if field.endswith('/'): - data[field[0:-1]] = self.retrieve_iam_role_credentials( - url + field, timeout, num_attempts) - else: - val = self._get_request( - url + field, - timeout=timeout, - num_attempts=num_attempts, - ).content.decode('utf-8') - if val[0] == '{': - val = json.loads(val) - data[field] = val - else: - logger.debug("Metadata service returned non 200 status code " - "of %s for url: %s, content body: %s", - r.status_code, url, r.content) - except _RetriesExceededError: - logger.debug("Max number of attempts exceeded (%s) when " - "attempting to retrieve data from metadata service.", - num_attempts) - # We sort for stable ordering. In practice, this should only consist - # of one role, but may need revisiting if this expands in the future. - final_data = {} - for role_name in sorted(data): - final_data = { - 'role_name': role_name, - 'access_key': data[role_name]['AccessKeyId'], - 'secret_key': data[role_name]['SecretAccessKey'], - 'token': data[role_name]['Token'], - 'expiry_time': data[role_name]['Expiration'], - } - return final_data - - -def merge_dicts(dict1, dict2, append_lists=False): - """Given two dict, merge the second dict into the first. - - The dicts can have arbitrary nesting. - - :param append_lists: If true, instead of clobbering a list with the new - value, append all of the new values onto the original list. - """ - for key in dict2: - if isinstance(dict2[key], dict): - if key in dict1 and key in dict2: - merge_dicts(dict1[key], dict2[key]) - else: - dict1[key] = dict2[key] - # If the value is a list and the ``append_lists`` flag is set, - # append the new values onto the original list - elif isinstance(dict2[key], list) and append_lists: - # The value in dict1 must be a list in order to append new - # values onto it. - if key in dict1 and isinstance(dict1[key], list): - dict1[key].extend(dict2[key]) - else: - dict1[key] = dict2[key] - else: - # At scalar types, we iterate and merge the - # current dict that we're on. - dict1[key] = dict2[key] - - -def lowercase_dict(original): - """Copies the given dictionary ensuring all keys are lowercase strings. """ - copy = {} - for key in original: - copy[key.lower()] = original[key] - return copy - - -def parse_key_val_file(filename, _open=open): - try: - with _open(filename) as f: - contents = f.read() - return parse_key_val_file_contents(contents) - except OSError: - raise ConfigNotFound(path=filename) - - -def parse_key_val_file_contents(contents): - # This was originally extracted from the EC2 credential provider, which was - # fairly lenient in its parsing. We only try to parse key/val pairs if - # there's a '=' in the line. - final = {} - for line in contents.splitlines(): - if '=' not in line: - continue - key, val = line.split('=', 1) - key = key.strip() - val = val.strip() - final[key] = val - return final - - -def percent_encode_sequence(mapping, safe=SAFE_CHARS): - """Urlencode a dict or list into a string. - - This is similar to urllib.urlencode except that: - - * It uses quote, and not quote_plus - * It has a default list of safe chars that don't need - to be encoded, which matches what AWS services expect. - - If any value in the input ``mapping`` is a list type, - then each list element wil be serialized. This is the equivalent - to ``urlencode``'s ``doseq=True`` argument. - - This function should be preferred over the stdlib - ``urlencode()`` function. - - :param mapping: Either a dict to urlencode or a list of - ``(key, value)`` pairs. - - """ - encoded_pairs = [] - if hasattr(mapping, 'items'): - pairs = mapping.items() - else: - pairs = mapping - for key, value in pairs: - if isinstance(value, list): - for element in value: - encoded_pairs.append('%s=%s' % (percent_encode(key), - percent_encode(element))) - else: - encoded_pairs.append('%s=%s' % (percent_encode(key), - percent_encode(value))) - return '&'.join(encoded_pairs) - - -def percent_encode(input_str, safe=SAFE_CHARS): - """Urlencodes a string. - - Whereas percent_encode_sequence handles taking a dict/sequence and - producing a percent encoded string, this function deals only with - taking a string (not a dict/sequence) and percent encoding it. - - If given the binary type, will simply URL encode it. If given the - text type, will produce the binary type by UTF-8 encoding the - text. If given something else, will convert it to the text type - first. - """ - # If 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): - """Parse a timestamp into a datetime object. - - Supported formats: - - * iso8601 - * rfc822 - * epoch (value is an integer) - - This will return a ``datetime.datetime`` object. - - """ - if isinstance(value, (int, float)): - # Possibly an epoch time. - return datetime.datetime.fromtimestamp(value, tzlocal()) - else: - try: - return datetime.datetime.fromtimestamp(float(value), tzlocal()) - except (TypeError, ValueError): - pass - try: - # In certain cases, a timestamp marked with GMT can be parsed into a - # different time zone, so here we provide a context which will - # enforce that GMT == UTC. - return dateutil.parser.parse(value, tzinfos={'GMT': tzutc()}) - except (TypeError, ValueError) as e: - raise ValueError('Invalid timestamp "%s": %s' % (value, e)) - - -def parse_to_aware_datetime(value): - """Converted the passed in value to a datetime object with tzinfo. - - This function can be used to normalize all timestamp inputs. This - function accepts a number of different types of inputs, but - will always return a datetime.datetime object with time zone - information. - - The input param ``value`` can be one of several types: - - * A datetime object (both naive and aware) - * An integer representing the epoch time (can also be a string - of the integer, i.e '0', instead of 0). The epoch time is - considered to be UTC. - * An iso8601 formatted timestamp. This does not need to be - a complete timestamp, it can contain just the date portion - without the time component. - - The returned value will be a datetime object that will have tzinfo. - If no timezone info was provided in the input value, then UTC is - assumed, not local time. - - """ - # This is a general purpose method that handles several cases of - # converting the provided value to a string timestamp suitable to be - # serialized to an http request. It can handle: - # 1) A datetime.datetime object. - if isinstance(value, datetime.datetime): - datetime_obj = value - else: - # 2) A string object that's formatted as a timestamp. - # We document this as being an iso8601 timestamp, although - # parse_timestamp is a bit more flexible. - datetime_obj = parse_timestamp(value) - if datetime_obj.tzinfo is None: - # I think a case would be made that if no time zone is provided, - # we should use the local time. However, to restore backwards - # compat, the previous behavior was to assume UTC, which is - # what we're going to do here. - datetime_obj = datetime_obj.replace(tzinfo=tzutc()) - else: - datetime_obj = datetime_obj.astimezone(tzutc()) - return datetime_obj - - -def datetime2timestamp(dt, default_timezone=None): - """Calculate the timestamp based on the given datetime instance. - - :type dt: datetime - :param dt: A datetime object to be converted into timestamp - :type default_timezone: tzinfo - :param default_timezone: If it is provided as None, we treat it as tzutc(). - But it is only used when dt is a naive datetime. - :returns: The timestamp - """ - epoch = datetime.datetime(1970, 1, 1) - if dt.tzinfo is None: - if default_timezone is None: - default_timezone = tzutc() - dt = dt.replace(tzinfo=default_timezone) - d = dt.replace(tzinfo=None) - dt.utcoffset() - epoch - if hasattr(d, "total_seconds"): - return d.total_seconds() # Works in Python 2.7+ - return (d.microseconds + (d.seconds + d.days * 24 * 3600) * 10**6) / 10**6 - - -def calculate_sha256(body, as_hex=False): - """Calculate a sha256 checksum. - - This method will calculate the sha256 checksum of a file like - object. Note that this method will iterate through the entire - file contents. The caller is responsible for ensuring the proper - starting position of the file and ``seek()``'ing the file back - to its starting location if other consumers need to read from - the file like object. - - :param body: Any file like object. The file must be opened - in binary mode such that a ``.read()`` call returns bytes. - :param as_hex: If True, then the hex digest is returned. - If False, then the digest (as binary bytes) is returned. - - :returns: The sha256 checksum - - """ - checksum = hashlib.sha256() - for chunk in iter(lambda: body.read(1024 * 1024), b''): - checksum.update(chunk) - if as_hex: - return checksum.hexdigest() - else: - return checksum.digest() - - -def calculate_tree_hash(body): - """Calculate a tree hash checksum. - - For more information see: - - http://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html - - :param body: Any file like object. This has the same constraints as - the ``body`` param in calculate_sha256 - - :rtype: str - :returns: The hex version of the calculated tree hash - - """ - chunks = [] - required_chunk_size = 1024 * 1024 - sha256 = hashlib.sha256 - for chunk in iter(lambda: body.read(required_chunk_size), b''): - chunks.append(sha256(chunk).digest()) - if not chunks: - return sha256(b'').hexdigest() - while len(chunks) > 1: - new_chunks = [] - for first, second in _in_pairs(chunks): - if second is not None: - new_chunks.append(sha256(first + second).digest()) - else: - # We're at the end of the list and there's no pair left. - new_chunks.append(first) - chunks = new_chunks - return binascii.hexlify(chunks[0]).decode('ascii') - - -def _in_pairs(iterable): - # Creates iterator that iterates over the list in pairs: - # for a, b in _in_pairs([0, 1, 2, 3, 4]): - # print(a, b) - # - # will print: - # 0, 1 - # 2, 3 - # 4, None - shared_iter = iter(iterable) - # Note that zip_longest is a compat import that uses - # the itertools izip_longest. This creates an iterator, - # this call below does _not_ immediately create the list - # of pairs. - return zip_longest(shared_iter, shared_iter) - - -class CachedProperty(object): - """A read only property that caches the initially computed value. - - This descriptor will only call the provided ``fget`` function once. - Subsequent access to this property will return the cached value. - - """ - - def __init__(self, fget): - self._fget = fget - - def __get__(self, obj, cls): - if obj is None: - return self - else: - computed_value = self._fget(obj) - obj.__dict__[self._fget.__name__] = computed_value - return computed_value - - -class ArgumentGenerator(object): - """Generate sample input based on a shape model. - - This class contains a ``generate_skeleton`` method that will take - an input/output shape (created from ``botocore.model``) and generate - a sample dictionary corresponding to the input/output shape. - - The specific values used are place holder values. For strings either an - empty string or the member name can be used, for numbers 0 or 0.0 is used. - The intended usage of this class is to generate the *shape* of the input - structure. - - This can be useful for operations that have complex input shapes. - This allows a user to just fill in the necessary data instead of - worrying about the specific structure of the input arguments. - - Example usage:: - - s = botocore.session.get_session() - ddb = s.get_service_model('dynamodb') - arg_gen = ArgumentGenerator() - sample_input = arg_gen.generate_skeleton( - ddb.operation_model('CreateTable').input_shape) - print("Sample input for dynamodb.CreateTable: %s" % sample_input) - - """ - def __init__(self, use_member_names=False): - self._use_member_names = use_member_names - - def generate_skeleton(self, shape): - """Generate a sample input. - - :type shape: ``botocore.model.Shape`` - :param shape: The input shape. - - :return: The generated skeleton input corresponding to the - provided input shape. - - """ - stack = [] - return self._generate_skeleton(shape, stack) - - def _generate_skeleton(self, shape, stack, name=''): - stack.append(shape.name) - try: - if shape.type_name == 'structure': - return self._generate_type_structure(shape, stack) - elif shape.type_name == 'list': - return self._generate_type_list(shape, stack) - elif shape.type_name == 'map': - return self._generate_type_map(shape, stack) - elif shape.type_name == 'string': - if self._use_member_names: - return name - if shape.enum: - return random.choice(shape.enum) - return '' - elif shape.type_name in ['integer', 'long']: - return 0 - elif shape.type_name == 'float': - return 0.0 - elif shape.type_name == 'boolean': - return True - elif shape.type_name == 'timestamp': - return datetime.datetime(1970, 1, 1, 0, 0, 0) - finally: - stack.pop() - - def _generate_type_structure(self, shape, stack): - if stack.count(shape.name) > 1: - return {} - skeleton = OrderedDict() - for member_name, member_shape in shape.members.items(): - skeleton[member_name] = self._generate_skeleton( - member_shape, stack, name=member_name) - return skeleton - - def _generate_type_list(self, shape, stack): - # For list elements we've arbitrarily decided to - # return two elements for the skeleton list. - name = '' - if self._use_member_names: - name = shape.member.name - return [ - self._generate_skeleton(shape.member, stack, name), - ] - - def _generate_type_map(self, shape, stack): - key_shape = shape.key - value_shape = shape.value - assert key_shape.type_name == 'string' - return OrderedDict([ - ('KeyName', self._generate_skeleton(value_shape, stack)), - ]) - - -def is_valid_endpoint_url(endpoint_url): - """Verify the endpoint_url is valid. - - :type endpoint_url: string - :param endpoint_url: An endpoint_url. Must have at least a scheme - and a hostname. - - :return: True if the endpoint url is valid. False otherwise. - - """ - parts = urlsplit(endpoint_url) - hostname = parts.hostname - if hostname is None: - return False - if len(hostname) > 255: - return False - if hostname[-1] == ".": - hostname = hostname[:-1] - allowed = re.compile( - r"^((?!-)[A-Z\d-]{1,63}(? 63: - # Wrong length - return False - if n == 1: - if not bucket_name.isalnum(): - return False - match = LABEL_RE.match(bucket_name) - if match is None or match.end() != len(bucket_name): - return False - return True - - -def fix_s3_host(request, signature_version, region_name, - default_endpoint_url=None, **kwargs): - """ - This handler looks at S3 requests just before they are signed. - If there is a bucket name on the path (true for everything except - ListAllBuckets) it checks to see if that bucket name conforms to - the DNS naming conventions. If it does, it alters the request to - use ``virtual hosting`` style addressing rather than ``path-style`` - addressing. - - """ - if request.context.get('use_global_endpoint', False): - default_endpoint_url = 's3.amazonaws.com' - try: - switch_to_virtual_host_style( - request, signature_version, default_endpoint_url) - except InvalidDNSNameError as e: - bucket_name = e.kwargs['bucket_name'] - logger.debug('Not changing URI, bucket is not DNS compatible: %s', - bucket_name) - - -def switch_to_virtual_host_style(request, signature_version, - default_endpoint_url=None, **kwargs): - """ - This is a handler to force virtual host style s3 addressing no matter - the signature version (which is taken in consideration for the default - case). If the bucket is not DNS compatible an InvalidDNSName is thrown. - - :param request: A AWSRequest object that is about to be sent. - :param signature_version: The signature version to sign with - :param default_endpoint_url: The endpoint to use when switching to a - virtual style. If None is supplied, the virtual host will be - constructed from the url of the request. - """ - if request.auth_path is not None: - # The auth_path has already been applied (this may be a - # retried request). We don't need to perform this - # customization again. - return - elif _is_get_bucket_location_request(request): - # For the GetBucketLocation response, we should not be using - # the virtual host style addressing so we can avoid any sigv4 - # issues. - logger.debug("Request is GetBucketLocation operation, not checking " - "for DNS compatibility.") - return - parts = urlsplit(request.url) - request.auth_path = parts.path - path_parts = parts.path.split('/') - - # Retrieve what the endpoint we will be prepending the bucket name to. - if default_endpoint_url is None: - default_endpoint_url = parts.netloc - - if len(path_parts) > 1: - bucket_name = path_parts[1] - if not bucket_name: - # If the bucket name is empty we should not be checking for - # dns compatibility. - return - logger.debug('Checking for DNS compatible bucket for: %s', - request.url) - if check_dns_name(bucket_name): - # If the operation is on a bucket, the auth_path must be - # terminated with a '/' character. - if len(path_parts) == 2: - if request.auth_path[-1] != '/': - request.auth_path += '/' - path_parts.remove(bucket_name) - # At the very least the path must be a '/', such as with the - # CreateBucket operation when DNS style is being used. If this - # is not used you will get an empty path which is incorrect. - path = '/'.join(path_parts) or '/' - global_endpoint = default_endpoint_url - host = bucket_name + '.' + global_endpoint - new_tuple = (parts.scheme, host, path, - parts.query, '') - new_uri = urlunsplit(new_tuple) - request.url = new_uri - logger.debug('URI updated to: %s', new_uri) - else: - raise InvalidDNSNameError(bucket_name=bucket_name) - - -def _is_get_bucket_location_request(request): - return request.url.endswith('?location') - - -def instance_cache(func): - """Method decorator for caching method calls to a single instance. - - **This is not a general purpose caching decorator.** - - In order to use this, you *must* provide an ``_instance_cache`` - attribute on the instance. - - This decorator is used to cache method calls. The cache is only - scoped to a single instance though such that multiple instances - will maintain their own cache. In order to keep things simple, - this decorator requires that you provide an ``_instance_cache`` - attribute on your instance. - - """ - func_name = func.__name__ - - @functools.wraps(func) - def _cache_guard(self, *args, **kwargs): - cache_key = (func_name, args) - if kwargs: - kwarg_items = tuple(sorted(kwargs.items())) - cache_key = (func_name, args, kwarg_items) - result = self._instance_cache.get(cache_key) - if result is not None: - return result - result = func(self, *args, **kwargs) - self._instance_cache[cache_key] = result - return result - return _cache_guard - - -def switch_host_s3_accelerate(request, operation_name, **kwargs): - """Switches the current s3 endpoint with an S3 Accelerate endpoint""" - - # Note that when registered the switching of the s3 host happens - # before it gets changed to virtual. So we are not concerned with ensuring - # that the bucket name is translated to the virtual style here and we - # can hard code the Accelerate endpoint. - parts = urlsplit(request.url).netloc.split('.') - parts = [p for p in parts if p in S3_ACCELERATE_WHITELIST] - endpoint = 'https://s3-accelerate.' - if len(parts) > 0: - endpoint += '.'.join(parts) + '.' - endpoint += 'amazonaws.com' - - if operation_name in ['ListBuckets', 'CreateBucket', 'DeleteBucket']: - return - _switch_hosts(request, endpoint, use_new_scheme=False) - - -def switch_host_with_param(request, param_name): - """Switches the host using a parameter value from a JSON request body""" - request_json = json.loads(request.data.decode('utf-8')) - if request_json.get(param_name): - new_endpoint = request_json[param_name] - _switch_hosts(request, new_endpoint) - - -def _switch_hosts(request, new_endpoint, use_new_scheme=True): - final_endpoint = _get_new_endpoint( - request.url, new_endpoint, use_new_scheme) - request.url = final_endpoint - - -def _get_new_endpoint(original_endpoint, new_endpoint, use_new_scheme=True): - new_endpoint_components = urlsplit(new_endpoint) - original_endpoint_components = urlsplit(original_endpoint) - scheme = original_endpoint_components.scheme - if use_new_scheme: - scheme = new_endpoint_components.scheme - final_endpoint_components = ( - scheme, - new_endpoint_components.netloc, - original_endpoint_components.path, - original_endpoint_components.query, - '' - ) - final_endpoint = urlunsplit(final_endpoint_components) - logger.debug('Updating URI from %s to %s' % ( - original_endpoint, final_endpoint)) - return final_endpoint - - -def deep_merge(base, extra): - """Deeply two dictionaries, overriding existing keys in the base. - - :param base: The base dictionary which will be merged into. - :param extra: The dictionary to merge into the base. Keys from this - dictionary will take precedence. - """ - for key in extra: - # If the key represents a dict on both given dicts, merge the sub-dicts - if key in base and isinstance(base[key], dict)\ - and isinstance(extra[key], dict): - deep_merge(base[key], extra[key]) - continue - - # Otherwise, set the key on the base to be the value of the extra. - base[key] = extra[key] - - -class S3RegionRedirector(object): - def __init__(self, endpoint_bridge, client, cache=None): - self._endpoint_resolver = endpoint_bridge - self._cache = cache - if self._cache is None: - self._cache = {} - - # This needs to be a weak ref in order to prevent memory leaks on - # python 2.6 - self._client = weakref.proxy(client) - - def register(self, event_emitter=None): - emitter = event_emitter or self._client.meta.events - emitter.register('needs-retry.s3', self.redirect_from_error) - emitter.register('before-call.s3', self.set_request_url) - emitter.register('before-parameter-build.s3', - self.redirect_from_cache) - - def redirect_from_error(self, request_dict, response, operation, **kwargs): - """ - An S3 request sent to the wrong region will return an error that - contains the endpoint the request should be sent to. This handler - will add the redirect information to the signing context and then - redirect the request. - """ - if response is None: - # This could be none if there was a ConnectionError or other - # transport error. - return - - if request_dict.get('context', {}).get('s3_redirected'): - logger.debug( - 'S3 request was previously redirected, not redirecting.') - return - - error = response[1].get('Error', {}) - error_code = error.get('Code') - response_metadata = response[1].get('ResponseMetadata', {}) - - # We have to account for 400 responses because - # if we sign a Head* request with the wrong region, - # we'll get a 400 Bad Request but we won't get a - # body saying it's an "AuthorizationHeaderMalformed". - is_special_head_object = ( - error_code in ['301', '400'] and - operation.name == 'HeadObject' - ) - is_special_head_bucket = ( - error_code in ['301', '400'] and - operation.name == 'HeadBucket' and - 'x-amz-bucket-region' in response_metadata.get('HTTPHeaders', {}) - ) - is_wrong_signing_region = ( - error_code == 'AuthorizationHeaderMalformed' and - 'Region' in error - ) - is_redirect_status = response[0] is not None and \ - response[0].status_code in [301, 302, 307] - is_permanent_redirect = error_code == 'PermanentRedirect' - if not any([is_special_head_object, is_wrong_signing_region, - is_permanent_redirect, is_special_head_bucket, - is_redirect_status]): - return - - bucket = request_dict['context']['signing']['bucket'] - client_region = request_dict['context'].get('client_region') - new_region = self.get_bucket_region(bucket, response) - - if new_region is None: - logger.debug( - "S3 client configured for region %s but the bucket %s is not " - "in that region and the proper region could not be " - "automatically determined." % (client_region, bucket)) - return - - logger.debug( - "S3 client configured for region %s but the bucket %s is in region" - " %s; Please configure the proper region to avoid multiple " - "unnecessary redirects and signing attempts." % ( - client_region, bucket, new_region)) - endpoint = self._endpoint_resolver.resolve('s3', new_region) - endpoint = endpoint['endpoint_url'] - - signing_context = { - 'region': new_region, - 'bucket': bucket, - 'endpoint': endpoint - } - request_dict['context']['signing'] = signing_context - - self._cache[bucket] = signing_context - self.set_request_url(request_dict, request_dict['context']) - - request_dict['context']['s3_redirected'] = True - - # Return 0 so it doesn't wait to retry - return 0 - - def get_bucket_region(self, bucket, response): - """ - There are multiple potential sources for the new region to redirect to, - but they aren't all universally available for use. This will try to - find region from response elements, but will fall back to calling - HEAD on the bucket if all else fails. - - :param bucket: The bucket to find the region for. This is necessary if - the region is not available in the error response. - :param response: A response representing a service request that failed - due to incorrect region configuration. - """ - # First try to source the region from the headers. - service_response = response[1] - response_headers = service_response['ResponseMetadata']['HTTPHeaders'] - if 'x-amz-bucket-region' in response_headers: - return response_headers['x-amz-bucket-region'] - - # Next, check the error body - region = service_response.get('Error', {}).get('Region', None) - if region is not None: - return region - - # Finally, HEAD the bucket. No other choice sadly. - try: - response = self._client.head_bucket(Bucket=bucket) - headers = response['ResponseMetadata']['HTTPHeaders'] - except ClientError as e: - headers = e.response['ResponseMetadata']['HTTPHeaders'] - - region = headers.get('x-amz-bucket-region', None) - return region - - def set_request_url(self, params, context, **kwargs): - endpoint = context.get('signing', {}).get('endpoint', None) - if endpoint is not None: - params['url'] = _get_new_endpoint(params['url'], endpoint, False) - - def redirect_from_cache(self, params, context, **kwargs): - """ - This handler retrieves a given bucket's signing context from the cache - and adds it into the request context. - """ - bucket = params.get('Bucket') - signing_context = self._cache.get(bucket) - if signing_context is not None: - context['signing'] = signing_context - else: - context['signing'] = {'bucket': bucket} - - -class ContainerMetadataFetcher(object): - - TIMEOUT_SECONDS = 2 - RETRY_ATTEMPTS = 3 - SLEEP_TIME = 1 - IP_ADDRESS = '169.254.170.2' - _ALLOWED_HOSTS = [IP_ADDRESS, 'localhost', '127.0.0.1'] - - def __init__(self, session=None, sleep=time.sleep): - if session is None: - session = botocore.httpsession.URLLib3Session( - timeout=self.TIMEOUT_SECONDS - ) - self._session = session - self._sleep = sleep - - def retrieve_full_uri(self, full_url, headers=None): - """Retrieve JSON metadata from container metadata. - - :type full_url: str - :param full_url: The full URL of the metadata service. - This should include the scheme as well, e.g - "http://localhost:123/foo" - - """ - self._validate_allowed_url(full_url) - return self._retrieve_credentials(full_url, headers) - - def _validate_allowed_url(self, full_url): - parsed = botocore.compat.urlparse(full_url) - is_whitelisted_host = self._check_if_whitelisted_host( - parsed.hostname) - if not is_whitelisted_host: - raise ValueError( - "Unsupported host '%s'. Can only " - "retrieve metadata from these hosts: %s" % - (parsed.hostname, ', '.join(self._ALLOWED_HOSTS))) - - def _check_if_whitelisted_host(self, host): - if host in self._ALLOWED_HOSTS: - return True - return False - - def retrieve_uri(self, relative_uri): - """Retrieve JSON metadata from ECS metadata. - - :type relative_uri: str - :param relative_uri: A relative URI, e.g "/foo/bar?id=123" - - :return: The parsed JSON response. - - """ - 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 " - "container metadata: %s", e, exc_info=True) - self._sleep(self.SLEEP_TIME) - attempts += 1 - if attempts >= self.RETRY_ATTEMPTS: - raise - - def _get_response(self, full_url, headers, timeout): - try: - AWSRequest = botocore.awsrequest.AWSRequest - request = AWSRequest(method='GET', url=full_url, headers=headers) - response = self._session.send(request.prepare()) - response_text = response.content.decode('utf-8') - if response.status_code != 200: - raise MetadataRetrievalError( - error_msg="Received non 200 response (%s) from ECS metadata: %s" - % (response.status_code, response_text)) - try: - return json.loads(response_text) - except ValueError: - raise MetadataRetrievalError( - error_msg=("Unable to parse JSON returned from " - "ECS metadata: %s" % response_text)) - except RETRYABLE_HTTP_ERRORS as e: - error_msg = ("Received error when attempting to retrieve " - "ECS metadata: %s" % e) - raise MetadataRetrievalError(error_msg=error_msg) - - def full_url(self, relative_uri): - return 'http://%s%s' % (self.IP_ADDRESS, relative_uri) - - -def get_environ_proxies(url): - if should_bypass_proxies(url): - return {} - else: - return getproxies() - - -def should_bypass_proxies(url): - """ - Returns whether we should bypass proxies or not. - """ - # NOTE: requests allowed for ip/cidr entries in no_proxy env that we don't - # support current as urllib only checks DNS suffix - # If the system proxy settings indicate that this URL should be bypassed, - # don't proxy. - # The proxy_bypass function is incredibly buggy on OS X in early versions - # of Python 2.6, so allow this call to fail. Only catch the specific - # exceptions we've seen, though: this call failing in other ways can reveal - # legitimate problems. - try: - if proxy_bypass(urlparse(url).netloc): - return True - except (TypeError, socket.gaierror): - pass - - return False - - -def get_encoding_from_headers(headers, default='ISO-8859-1'): - """Returns encodings from given HTTP Header Dict. - - :param headers: dictionary to extract encoding from. - :param default: default encoding if the content-type is text - """ - - content_type = headers.get('content-type') - - if not content_type: - return None - - content_type, params = cgi.parse_header(content_type) - - if 'charset' in params: - return params['charset'].strip("'\"") - - if 'text' in content_type: - return default diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/validate.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/validate.py deleted file mode 100644 index c52881fa..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/validate.py +++ /dev/null @@ -1,293 +0,0 @@ -"""User input parameter validation. - -This module handles user input parameter validation -against a provided input model. - -Note that the objects in this module do *not* mutate any -arguments. No type version happens here. It is up to another -layer to properly convert arguments to any required types. - -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 - - -def validate_parameters(params, shape): - """Validates input parameters against a schema. - - This is a convenience function that validates parameters against a schema. - You can also instantiate and use the ParamValidator class directly if you - want more control. - - If there are any validation errors then a ParamValidationError - will be raised. If there are no validation errors than no exception - is raised and a value of None is returned. - - :param params: The user provided input parameters. - - :type shape: botocore.model.Shape - :param shape: The schema which the input parameters should - adhere to. - - :raise: ParamValidationError - - """ - validator = ParamValidator() - report = validator.validate(params, shape) - if report.has_errors(): - raise ParamValidationError(report=report.generate_report()) - - -def type_check(valid_types): - def _create_type_check_guard(func): - def _on_passes_type_check(self, param, shape, errors, name): - if _type_check(param, errors, name): - return func(self, param, shape, errors, name) - - def _type_check(param, errors, name): - if not isinstance(param, valid_types): - valid_type_names = [six.text_type(t) for t in valid_types] - errors.report(name, 'invalid type', param=param, - valid_types=valid_type_names) - return False - return True - - return _on_passes_type_check - return _create_type_check_guard - - -def range_check(name, value, shape, error_type, errors): - failed = False - min_allowed = float('-inf') - max_allowed = float('inf') - if 'min' in shape.metadata: - min_allowed = shape.metadata['min'] - if value < min_allowed: - failed = True - if failed: - errors.report(name, error_type, param=value, - valid_range=[min_allowed, max_allowed]) - - -class ValidationErrors(object): - def __init__(self): - self._errors = [] - - def has_errors(self): - if self._errors: - return True - return False - - def generate_report(self): - error_messages = [] - for error in self._errors: - error_messages.append(self._format_error(error)) - return '\n'.join(error_messages) - - def _format_error(self, error): - error_type, name, additional = error - name = self._get_name(name) - if error_type == 'missing required field': - return 'Missing required parameter in %s: "%s"' % ( - name, additional['required_name']) - elif error_type == 'unknown field': - return 'Unknown parameter in %s: "%s", must be one of: %s' % ( - name, additional['unknown_param'], - ', '.join(additional['valid_names'])) - elif error_type == 'invalid type': - return 'Invalid type for parameter %s, value: %s, type: %s, ' \ - 'valid types: %s' % (name, additional['param'], - str(type(additional['param'])), - ', '.join(additional['valid_types'])) - elif error_type == 'invalid range': - min_allowed = additional['valid_range'][0] - max_allowed = additional['valid_range'][1] - return ('Invalid range for parameter %s, value: %s, valid range: ' - '%s-%s' % (name, additional['param'], - min_allowed, max_allowed)) - elif error_type == 'invalid length': - min_allowed = additional['valid_range'][0] - max_allowed = additional['valid_range'][1] - 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: - return 'input' - elif name.startswith('.'): - return name[1:] - else: - return name - - def report(self, name, reason, **kwargs): - self._errors.append((reason, name, kwargs)) - - -class ParamValidator(object): - """Validates parameters against a shape model.""" - - def validate(self, params, shape): - """Validate parameters against a shape model. - - This method will validate the parameters against a provided shape model. - All errors will be collected before returning to the caller. This means - that this method will not stop at the first error, it will return all - possible errors. - - :param params: User provided dict of parameters - :param shape: A shape model describing the expected input. - - :return: A list of errors. - - """ - errors = ValidationErrors() - 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): - 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): - # Validate required fields. - for required_member in shape.metadata.get('required', []): - if required_member not in params: - errors.report(name, 'missing required field', - required_name=required_member, user_params=params) - members = shape.members - known_params = [] - # Validate known params. - for param in params: - if param not in members: - errors.report(name, 'unknown field', unknown_param=param, - valid_names=list(members)) - else: - known_params.append(param) - # Validate structure members. - for param in known_params: - self._validate(params[param], shape.members[param], - errors, '%s.%s' % (name, param)) - - @type_check(valid_types=six.string_types) - def _validate_string(self, param, shape, errors, name): - # Validate range. For a string, the min/max contraints - # are of the string length. - # Looks like: - # "WorkflowId":{ - # "type":"string", - # "min":1, - # "max":256 - # } - range_check(name, len(param), shape, 'invalid length', errors) - - @type_check(valid_types=(list, tuple)) - def _validate_list(self, param, shape, errors, name): - member_shape = shape.member - range_check(name, len(param), shape, 'invalid length', errors) - for i, item in enumerate(param): - self._validate(item, member_shape, errors, '%s[%s]' % (name, i)) - - @type_check(valid_types=(dict,)) - def _validate_map(self, param, shape, errors, name): - key_shape = shape.key - value_shape = shape.value - for key, value in param.items(): - self._validate(key, key_shape, errors, "%s (key: %s)" - % (name, key)) - self._validate(value, value_shape, errors, '%s.%s' % (name, key)) - - @type_check(valid_types=six.integer_types) - def _validate_integer(self, param, shape, errors, name): - range_check(name, param, shape, 'invalid range', errors) - - def _validate_blob(self, param, shape, errors, name): - if isinstance(param, (bytes, bytearray, six.text_type)): - return - elif hasattr(param, 'read'): - # File like objects are also allowed for blob types. - return - else: - errors.report(name, 'invalid type', param=param, - valid_types=[str(bytes), str(bytearray), - 'file-like object']) - - @type_check(valid_types=(bool,)) - def _validate_boolean(self, param, shape, errors, name): - pass - - @type_check(valid_types=(float, decimal.Decimal) + six.integer_types) - def _validate_double(self, param, shape, errors, name): - range_check(name, param, shape, 'invalid range', errors) - - _validate_float = _validate_double - - @type_check(valid_types=six.integer_types) - def _validate_long(self, param, shape, errors, name): - range_check(name, param, shape, 'invalid range', errors) - - def _validate_timestamp(self, param, shape, errors, name): - # We don't use @type_check because datetimes are a bit - # more flexible. You can either provide a datetime - # object, or a string that parses to a datetime. - is_valid_type = self._type_check_datetime(param) - if not is_valid_type: - valid_type_names = [six.text_type(datetime), 'timestamp-string'] - errors.report(name, 'invalid type', param=param, - valid_types=valid_type_names) - - def _type_check_datetime(self, value): - try: - parse_to_aware_datetime(value) - return True - except (TypeError, ValueError, AttributeError): - # Yes, dateutil can sometimes raise an AttributeError - # when parsing timestamps. - return False - - -class ParamValidationDecorator(object): - def __init__(self, param_validator, serializer): - self._param_validator = param_validator - self._serializer = serializer - - def serialize_to_request(self, parameters, operation_model): - input_shape = operation_model.input_shape - if input_shape is not None: - report = self._param_validator.validate(parameters, - operation_model.input_shape) - if report.has_errors(): - raise ParamValidationError(report=report.generate_report()) - return self._serializer.serialize_to_request(parameters, - operation_model) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/__init__.py deleted file mode 100644 index 4bca66e7..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/__init__.py +++ /dev/null @@ -1,77 +0,0 @@ -# -*- coding: utf-8 -*- - -# __ -# /__) _ _ _ _ _/ _ -# / ( (- (/ (/ (- _) / _) -# / - -""" -requests HTTP library -~~~~~~~~~~~~~~~~~~~~~ - -Requests is an HTTP library, written in Python, for human beings. Basic GET -usage: - - >>> import requests - >>> r = requests.get('https://www.python.org') - >>> r.status_code - 200 - >>> 'Python is a programming language' in r.content - True - -... or POST: - - >>> payload = dict(key1='value1', key2='value2') - >>> r = requests.post('http://httpbin.org/post', data=payload) - >>> print(r.text) - { - ... - "form": { - "key2": "value2", - "key1": "value1" - }, - ... - } - -The other HTTP methods are supported - see `requests.api`. Full documentation -is at . - -:copyright: (c) 2015 by Kenneth Reitz. -:license: Apache 2.0, see LICENSE for more details. - -""" - -__title__ = 'requests' -__version__ = '2.7.0' -__build__ = 0x020700 -__author__ = 'Kenneth Reitz' -__license__ = 'Apache 2.0' -__copyright__ = 'Copyright 2015 Kenneth Reitz' - -# Attempt to enable urllib3's SNI support, if possible -try: - from .packages.urllib3.contrib import pyopenssl - pyopenssl.inject_into_urllib3() -except ImportError: - pass - -from . import utils -from .models import Request, Response, PreparedRequest -from .api import request, get, head, post, patch, put, delete, options -from .sessions import session, Session -from .status_codes import codes -from .exceptions import ( - RequestException, Timeout, URLRequired, - TooManyRedirects, HTTPError, ConnectionError -) - -# Set default logging handler to avoid "No handler found" warnings. -import logging -try: # Python 2.7+ - from logging import NullHandler -except ImportError: - class NullHandler(logging.Handler): - def emit(self, record): - pass - -logging.getLogger(__name__).addHandler(NullHandler()) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/adapters.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/adapters.py deleted file mode 100644 index 02e0dd1f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/adapters.py +++ /dev/null @@ -1,437 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.adapters -~~~~~~~~~~~~~~~~~ - -This module contains the transport adapters that Requests uses to define -and maintain connections. -""" - -import socket - -from .models import Response -from .packages.urllib3.poolmanager import PoolManager, proxy_from_url -from .packages.urllib3.response import HTTPResponse -from .packages.urllib3.util import Timeout as TimeoutSauce -from .packages.urllib3.util.retry import Retry -from .compat import urlparse, basestring -from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers, - prepend_scheme_if_needed, get_auth_from_url, urldefragauth) -from .structures import CaseInsensitiveDict -from .packages.urllib3.exceptions import ConnectTimeoutError -from .packages.urllib3.exceptions import HTTPError as _HTTPError -from .packages.urllib3.exceptions import MaxRetryError -from .packages.urllib3.exceptions import ProxyError as _ProxyError -from .packages.urllib3.exceptions import ProtocolError -from .packages.urllib3.exceptions import ReadTimeoutError -from .packages.urllib3.exceptions import SSLError as _SSLError -from .packages.urllib3.exceptions import ResponseError -from .cookies import extract_cookies_to_jar -from .exceptions import (ConnectionError, ConnectTimeout, ReadTimeout, SSLError, - ProxyError, RetryError) -from .auth import _basic_auth_str - -DEFAULT_POOLBLOCK = False -DEFAULT_POOLSIZE = 10 -DEFAULT_RETRIES = 0 - - -class BaseAdapter(object): - """The Base Transport Adapter""" - - def __init__(self): - super(BaseAdapter, self).__init__() - - def send(self): - raise NotImplementedError - - def close(self): - raise NotImplementedError - - -class HTTPAdapter(BaseAdapter): - """The built-in HTTP Adapter for urllib3. - - Provides a general-case interface for Requests sessions to contact HTTP and - HTTPS urls by implementing the Transport Adapter interface. This class will - usually be created by the :class:`Session ` class under the - covers. - - :param pool_connections: The number of urllib3 connection pools to cache. - :param pool_maxsize: The maximum number of connections to save in the pool. - :param int max_retries: The maximum number of retries each connection - should attempt. Note, this applies only to failed DNS lookups, socket - connections and connection timeouts, never to requests where data has - made it to the server. By default, Requests does not retry failed - connections. If you need granular control over the conditions under - which we retry a request, import urllib3's ``Retry`` class and pass - that instead. - :param pool_block: Whether the connection pool should block for connections. - - Usage:: - - >>> import requests - >>> s = requests.Session() - >>> a = requests.adapters.HTTPAdapter(max_retries=3) - >>> s.mount('http://', a) - """ - __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize', - '_pool_block'] - - def __init__(self, pool_connections=DEFAULT_POOLSIZE, - pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES, - pool_block=DEFAULT_POOLBLOCK): - if max_retries == DEFAULT_RETRIES: - self.max_retries = Retry(0, read=False) - else: - self.max_retries = Retry.from_int(max_retries) - self.config = {} - self.proxy_manager = {} - - super(HTTPAdapter, self).__init__() - - self._pool_connections = pool_connections - self._pool_maxsize = pool_maxsize - self._pool_block = pool_block - - self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block) - - def __getstate__(self): - return dict((attr, getattr(self, attr, None)) for attr in - self.__attrs__) - - def __setstate__(self, state): - # Can't handle by adding 'proxy_manager' to self.__attrs__ because - # because self.poolmanager uses a lambda function, which isn't pickleable. - self.proxy_manager = {} - self.config = {} - - for attr, value in state.items(): - setattr(self, attr, value) - - self.init_poolmanager(self._pool_connections, self._pool_maxsize, - block=self._pool_block) - - def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): - """Initializes a urllib3 PoolManager. - - This method should not be called from user code, and is only - exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param connections: The number of urllib3 connection pools to cache. - :param maxsize: The maximum number of connections to save in the pool. - :param block: Block when no free connections are available. - :param pool_kwargs: Extra keyword arguments used to initialize the Pool Manager. - """ - # save these values for pickling - self._pool_connections = connections - self._pool_maxsize = maxsize - self._pool_block = block - - self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize, - block=block, strict=True, **pool_kwargs) - - def proxy_manager_for(self, proxy, **proxy_kwargs): - """Return urllib3 ProxyManager for the given proxy. - - This method should not be called from user code, and is only - exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param proxy: The proxy to return a urllib3 ProxyManager for. - :param proxy_kwargs: Extra keyword arguments used to configure the Proxy Manager. - :returns: ProxyManager - """ - if not proxy in self.proxy_manager: - proxy_headers = self.proxy_headers(proxy) - self.proxy_manager[proxy] = proxy_from_url( - proxy, - proxy_headers=proxy_headers, - num_pools=self._pool_connections, - maxsize=self._pool_maxsize, - block=self._pool_block, - **proxy_kwargs) - - return self.proxy_manager[proxy] - - def cert_verify(self, conn, url, verify, cert): - """Verify a SSL certificate. This method should not be called from user - code, and is only exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param conn: The urllib3 connection object associated with the cert. - :param url: The requested URL. - :param verify: Whether we should actually verify the certificate. - :param cert: The SSL certificate to verify. - """ - if url.lower().startswith('https') and verify: - - cert_loc = None - - # Allow self-specified cert location. - if verify is not True: - cert_loc = verify - - if not cert_loc: - cert_loc = DEFAULT_CA_BUNDLE_PATH - - if not cert_loc: - raise Exception("Could not find a suitable SSL CA certificate bundle.") - - conn.cert_reqs = 'CERT_REQUIRED' - conn.ca_certs = cert_loc - else: - conn.cert_reqs = 'CERT_NONE' - conn.ca_certs = None - - if cert: - if not isinstance(cert, basestring): - conn.cert_file = cert[0] - conn.key_file = cert[1] - else: - conn.cert_file = cert - - def build_response(self, req, resp): - """Builds a :class:`Response ` object from a urllib3 - response. This should not be called from user code, and is only exposed - for use when subclassing the - :class:`HTTPAdapter ` - - :param req: The :class:`PreparedRequest ` used to generate the response. - :param resp: The urllib3 response object. - """ - response = Response() - - # Fallback to None if there's no status_code, for whatever reason. - response.status_code = getattr(resp, 'status', None) - - # Make headers case-insensitive. - response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {})) - - # Set encoding. - response.encoding = get_encoding_from_headers(response.headers) - response.raw = resp - response.reason = response.raw.reason - - if isinstance(req.url, bytes): - response.url = req.url.decode('utf-8') - else: - response.url = req.url - - # Add new cookies from the server. - extract_cookies_to_jar(response.cookies, req, resp) - - # Give the Response some context. - response.request = req - response.connection = self - - return response - - def get_connection(self, url, proxies=None): - """Returns a urllib3 connection for the given URL. This should not be - called from user code, and is only exposed for use when subclassing the - :class:`HTTPAdapter `. - - :param url: The URL to connect to. - :param proxies: (optional) A Requests-style dictionary of proxies used on this request. - """ - proxies = proxies or {} - proxy = proxies.get(urlparse(url.lower()).scheme) - - if proxy: - proxy = prepend_scheme_if_needed(proxy, 'http') - proxy_manager = self.proxy_manager_for(proxy) - conn = proxy_manager.connection_from_url(url) - else: - # Only scheme should be lower case - parsed = urlparse(url) - url = parsed.geturl() - conn = self.poolmanager.connection_from_url(url) - - return conn - - def close(self): - """Disposes of any internal state. - - Currently, this just closes the PoolManager, which closes pooled - connections. - """ - self.poolmanager.clear() - - def request_url(self, request, proxies): - """Obtain the url to use when making the final request. - - If the message is being sent through a HTTP proxy, the full URL has to - be used. Otherwise, we should only use the path portion of the URL. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param request: The :class:`PreparedRequest ` being sent. - :param proxies: A dictionary of schemes to proxy URLs. - """ - proxies = proxies or {} - scheme = urlparse(request.url).scheme - proxy = proxies.get(scheme) - - if proxy and scheme != 'https': - url = urldefragauth(request.url) - else: - url = request.path_url - - return url - - def add_headers(self, request, **kwargs): - """Add any headers needed by the connection. As of v2.0 this does - nothing by default, but is left for overriding by users that subclass - the :class:`HTTPAdapter `. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param request: The :class:`PreparedRequest ` to add headers to. - :param kwargs: The keyword arguments from the call to send(). - """ - pass - - def proxy_headers(self, proxy): - """Returns a dictionary of the headers to add to any request sent - through a proxy. This works with urllib3 magic to ensure that they are - correctly sent to the proxy, rather than in a tunnelled request if - CONNECT is being used. - - This should not be called from user code, and is only exposed for use - when subclassing the - :class:`HTTPAdapter `. - - :param proxies: The url of the proxy being used for this request. - :param kwargs: Optional additional keyword arguments. - """ - headers = {} - username, password = get_auth_from_url(proxy) - - if username and password: - headers['Proxy-Authorization'] = _basic_auth_str(username, - password) - - return headers - - def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None): - """Sends PreparedRequest object. Returns Response object. - - :param request: The :class:`PreparedRequest ` being sent. - :param stream: (optional) Whether to stream the request content. - :param timeout: (optional) How long to wait for the server to send - data before giving up, as a float, or a (`connect timeout, read - timeout `_) tuple. - :type timeout: float or tuple - :param verify: (optional) Whether to verify SSL certificates. - :param cert: (optional) Any user-provided SSL certificate to be trusted. - :param proxies: (optional) The proxies dictionary to apply to the request. - """ - - conn = self.get_connection(request.url, proxies) - - self.cert_verify(conn, request.url, verify, cert) - url = self.request_url(request, proxies) - self.add_headers(request) - - chunked = not (request.body is None or 'Content-Length' in request.headers) - - if isinstance(timeout, tuple): - try: - connect, read = timeout - timeout = TimeoutSauce(connect=connect, read=read) - except ValueError as e: - # this may raise a string formatting error. - err = ("Invalid timeout {0}. Pass a (connect, read) " - "timeout tuple, or a single float to set " - "both timeouts to the same value".format(timeout)) - raise ValueError(err) - else: - timeout = TimeoutSauce(connect=timeout, read=timeout) - - try: - if not chunked: - resp = conn.urlopen( - method=request.method, - url=url, - body=request.body, - headers=request.headers, - redirect=False, - assert_same_host=False, - preload_content=False, - decode_content=False, - retries=self.max_retries, - timeout=timeout - ) - - # Send the request. - else: - if hasattr(conn, 'proxy_pool'): - conn = conn.proxy_pool - - low_conn = conn._get_conn(timeout=timeout) - - try: - low_conn.putrequest(request.method, - url, - skip_accept_encoding=True) - - for header, value in request.headers.items(): - low_conn.putheader(header, value) - - low_conn.endheaders() - - for i in request.body: - low_conn.send(hex(len(i))[2:].encode('utf-8')) - low_conn.send(b'\r\n') - low_conn.send(i) - low_conn.send(b'\r\n') - low_conn.send(b'0\r\n\r\n') - - r = low_conn.getresponse() - resp = HTTPResponse.from_httplib( - r, - pool=conn, - connection=low_conn, - preload_content=False, - decode_content=False - ) - except: - # If we hit any problems here, clean up the connection. - # Then, reraise so that we can handle the actual exception. - low_conn.close() - raise - else: - # All is well, return the connection to the pool. - conn._put_conn(low_conn) - - except (ProtocolError, socket.error) as err: - raise ConnectionError(err, request=request) - - except MaxRetryError as e: - if isinstance(e.reason, ConnectTimeoutError): - raise ConnectTimeout(e, request=request) - - if isinstance(e.reason, ResponseError): - raise RetryError(e, request=request) - - raise ConnectionError(e, request=request) - - except _ProxyError as e: - raise ProxyError(e) - - except (_SSLError, _HTTPError) as e: - if isinstance(e, _SSLError): - raise SSLError(e, request=request) - elif isinstance(e, ReadTimeoutError): - raise ReadTimeout(e, request=request) - else: - raise - - return self.build_response(request, resp) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/api.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/api.py deleted file mode 100644 index d40fa380..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/api.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.api -~~~~~~~~~~~~ - -This module implements the Requests API. - -:copyright: (c) 2012 by Kenneth Reitz. -:license: Apache2, see LICENSE for more details. - -""" - -from . import sessions - - -def request(method, url, **kwargs): - """Constructs and sends a :class:`Request `. - - :param method: method for the new :class:`Request` object. - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json data to send in the body of the :class:`Request`. - :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`. - :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`. - :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': ('filename', fileobj)}``) for multipart encoding upload. - :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth. - :param timeout: (optional) How long to wait for the server to send data - before giving up, as a float, or a (`connect timeout, read timeout - `_) tuple. - :type timeout: float or tuple - :param allow_redirects: (optional) Boolean. Set to True if POST/PUT/DELETE redirect following is allowed. - :type allow_redirects: bool - :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy. - :param verify: (optional) if ``True``, the SSL cert will be verified. A CA_BUNDLE path can also be provided. - :param stream: (optional) if ``False``, the response content will be immediately downloaded. - :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair. - :return: :class:`Response ` object - :rtype: requests.Response - - Usage:: - - >>> import requests - >>> req = requests.request('GET', 'http://httpbin.org/get') - - """ - - session = sessions.Session() - response = session.request(method=method, url=url, **kwargs) - # By explicitly closing the session, we avoid leaving sockets open which - # can trigger a ResourceWarning in some cases, and look like a memory leak - # in others. - session.close() - return response - - -def get(url, params=None, **kwargs): - """Sends a GET request. - - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return request('get', url, params=params, **kwargs) - - -def options(url, **kwargs): - """Sends a OPTIONS request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', True) - return request('options', url, **kwargs) - - -def head(url, **kwargs): - """Sends a HEAD request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - kwargs.setdefault('allow_redirects', False) - return request('head', url, **kwargs) - - -def post(url, data=None, json=None, **kwargs): - """Sends a POST request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json data to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('post', url, data=data, json=json, **kwargs) - - -def put(url, data=None, **kwargs): - """Sends a PUT request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('put', url, data=data, **kwargs) - - -def patch(url, data=None, **kwargs): - """Sends a PATCH request. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('patch', url, data=data, **kwargs) - - -def delete(url, **kwargs): - """Sends a DELETE request. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - :return: :class:`Response ` object - :rtype: requests.Response - """ - - return request('delete', url, **kwargs) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/auth.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/auth.py deleted file mode 100644 index 0ff9c298..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/auth.py +++ /dev/null @@ -1,212 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.auth -~~~~~~~~~~~~~ - -This module contains the authentication handlers for Requests. -""" - -import os -import re -import time -import hashlib - -from base64 import b64encode - -from .compat import urlparse, str -from .cookies import extract_cookies_to_jar -from .utils import parse_dict_header, to_native_string -from .status_codes import codes - -CONTENT_TYPE_FORM_URLENCODED = 'application/x-www-form-urlencoded' -CONTENT_TYPE_MULTI_PART = 'multipart/form-data' - - -def _basic_auth_str(username, password): - """Returns a Basic Auth string.""" - - authstr = 'Basic ' + to_native_string( - b64encode(('%s:%s' % (username, password)).encode('latin1')).strip() - ) - - return authstr - - -class AuthBase(object): - """Base class that all auth implementations derive from""" - - def __call__(self, r): - raise NotImplementedError('Auth hooks must be callable.') - - -class HTTPBasicAuth(AuthBase): - """Attaches HTTP Basic Authentication to the given Request object.""" - def __init__(self, username, password): - self.username = username - self.password = password - - def __call__(self, r): - r.headers['Authorization'] = _basic_auth_str(self.username, self.password) - return r - - -class HTTPProxyAuth(HTTPBasicAuth): - """Attaches HTTP Proxy Authentication to a given Request object.""" - def __call__(self, r): - r.headers['Proxy-Authorization'] = _basic_auth_str(self.username, self.password) - return r - - -class HTTPDigestAuth(AuthBase): - """Attaches HTTP Digest Authentication to the given Request object.""" - def __init__(self, username, password): - self.username = username - self.password = password - self.last_nonce = '' - self.nonce_count = 0 - self.chal = {} - self.pos = None - self.num_401_calls = 1 - - def build_digest_header(self, method, url): - - realm = self.chal['realm'] - nonce = self.chal['nonce'] - qop = self.chal.get('qop') - algorithm = self.chal.get('algorithm') - opaque = self.chal.get('opaque') - - if algorithm is None: - _algorithm = 'MD5' - else: - _algorithm = algorithm.upper() - # lambdas assume digest modules are imported at the top level - if _algorithm == 'MD5' or _algorithm == 'MD5-SESS': - def md5_utf8(x): - if isinstance(x, str): - x = x.encode('utf-8') - return hashlib.md5(x).hexdigest() - hash_utf8 = md5_utf8 - elif _algorithm == 'SHA': - def sha_utf8(x): - if isinstance(x, str): - x = x.encode('utf-8') - return hashlib.sha1(x).hexdigest() - hash_utf8 = sha_utf8 - - KD = lambda s, d: hash_utf8("%s:%s" % (s, d)) - - if hash_utf8 is None: - return None - - # XXX not implemented yet - entdig = None - p_parsed = urlparse(url) - #: path is request-uri defined in RFC 2616 which should not be empty - path = p_parsed.path or "/" - if p_parsed.query: - path += '?' + p_parsed.query - - A1 = '%s:%s:%s' % (self.username, realm, self.password) - A2 = '%s:%s' % (method, path) - - HA1 = hash_utf8(A1) - HA2 = hash_utf8(A2) - - if nonce == self.last_nonce: - self.nonce_count += 1 - else: - self.nonce_count = 1 - ncvalue = '%08x' % self.nonce_count - s = str(self.nonce_count).encode('utf-8') - s += nonce.encode('utf-8') - s += time.ctime().encode('utf-8') - s += os.urandom(8) - - cnonce = (hashlib.sha1(s).hexdigest()[:16]) - if _algorithm == 'MD5-SESS': - HA1 = hash_utf8('%s:%s:%s' % (HA1, nonce, cnonce)) - - if qop is None: - respdig = KD(HA1, "%s:%s" % (nonce, HA2)) - elif qop == 'auth' or 'auth' in qop.split(','): - noncebit = "%s:%s:%s:%s:%s" % ( - nonce, ncvalue, cnonce, 'auth', HA2 - ) - respdig = KD(HA1, noncebit) - else: - # XXX handle auth-int. - return None - - self.last_nonce = nonce - - # XXX should the partial digests be encoded too? - base = 'username="%s", realm="%s", nonce="%s", uri="%s", ' \ - 'response="%s"' % (self.username, realm, nonce, path, respdig) - if opaque: - base += ', opaque="%s"' % opaque - if algorithm: - base += ', algorithm="%s"' % algorithm - if entdig: - base += ', digest="%s"' % entdig - if qop: - base += ', qop="auth", nc=%s, cnonce="%s"' % (ncvalue, cnonce) - - return 'Digest %s' % (base) - - def handle_redirect(self, r, **kwargs): - """Reset num_401_calls counter on redirects.""" - if r.is_redirect: - self.num_401_calls = 1 - - def handle_401(self, r, **kwargs): - """Takes the given response and tries digest-auth, if needed.""" - - if self.pos is not None: - # Rewind the file position indicator of the body to where - # it was to resend the request. - r.request.body.seek(self.pos) - num_401_calls = getattr(self, 'num_401_calls', 1) - s_auth = r.headers.get('www-authenticate', '') - - if 'digest' in s_auth.lower() and num_401_calls < 2: - - self.num_401_calls += 1 - pat = re.compile(r'digest ', flags=re.IGNORECASE) - self.chal = parse_dict_header(pat.sub('', s_auth, count=1)) - - # Consume content and release the original connection - # to allow our new request to reuse the same one. - r.content - r.raw.release_conn() - prep = r.request.copy() - extract_cookies_to_jar(prep._cookies, r.request, r.raw) - prep.prepare_cookies(prep._cookies) - - prep.headers['Authorization'] = self.build_digest_header( - prep.method, prep.url) - _r = r.connection.send(prep, **kwargs) - _r.history.append(r) - _r.request = prep - - return _r - - self.num_401_calls = 1 - return r - - def __call__(self, r): - # If we have a saved nonce, skip the 401 - if self.last_nonce: - r.headers['Authorization'] = self.build_digest_header(r.method, r.url) - try: - self.pos = r.body.tell() - except AttributeError: - # In the case of HTTPDigestAuth being reused and the body of - # the previous request was a file-like object, pos has the - # file position of the previous body. Ensure it's set to - # None. - self.pos = None - r.register_hook('response', self.handle_401) - r.register_hook('response', self.handle_redirect) - return r diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cacert.pem b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cacert.pem deleted file mode 100644 index 101ac98f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cacert.pem +++ /dev/null @@ -1,4433 +0,0 @@ - -# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA -# Label: "GlobalSign Root CA" -# Serial: 4835703278459707669005204 -# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a -# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c -# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG -A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv -b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw -MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i -YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT -aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ -jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp -xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp -1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG -snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ -U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 -9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E -BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B -AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz -yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE -38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP -AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad -DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME -HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 -# Label: "GlobalSign Root CA - R2" -# Serial: 4835703278459682885658125 -# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 -# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe -# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 -MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL -v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 -eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq -tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd -C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa -zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB -mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH -V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n -bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG -3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs -J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO -291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS -ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd -AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only -# Label: "Verisign Class 3 Public Primary Certification Authority - G3" -# Serial: 206684696279472310254277870180966723415 -# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 -# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 -# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl -cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu -LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT -aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD -VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT -aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ -bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu -IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b -N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t -KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu -kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm -CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ -Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu -imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te -2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe -DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p -F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt -TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited -# Label: "Entrust.net Premium 2048 Secure Server CA" -# Serial: 946069240 -# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 -# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 -# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML -RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp -bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 -IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 -MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 -LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp -YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG -A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq -K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe -sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX -MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT -XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ -HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH -4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub -j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo -U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b -u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ -bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er -fF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust -# Label: "Baltimore CyberTrust Root" -# Serial: 33554617 -# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 -# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 -# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ -RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD -VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX -DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y -ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy -VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr -mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr -IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK -mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu -XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy -dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye -jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 -BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 -DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 -9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx -jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 -Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz -ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS -R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network -# Label: "AddTrust External Root" -# Serial: 1 -# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f -# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 -# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 -MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h -bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v -dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt -H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 -uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX -mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX -a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN -E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 -WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD -VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 -Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU -cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx -IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN -AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH -YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC -Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX -c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a -mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. -# Label: "Entrust Root Certification Authority" -# Serial: 1164660820 -# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 -# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 -# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 -Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW -KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw -NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw -NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy -ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV -BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo -Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 -4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 -KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI -rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi -94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB -sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi -gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo -kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE -vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t -O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua -AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP -9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ -eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m -0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. -# Label: "GeoTrust Global CA" -# Serial: 144470 -# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 -# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 -# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT -MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i -YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg -R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 -9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq -fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv -iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU -1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ -bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW -MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA -ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l -uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn -Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS -tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF -PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un -hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV -5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. -# Label: "GeoTrust Universal CA" -# Serial: 1 -# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 -# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 -# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy -c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 -IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV -VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 -cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT -QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh -F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v -c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w -mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd -VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX -teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ -f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe -Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ -nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB -/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY -MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG -9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX -IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn -ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z -uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN -Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja -QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW -koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 -ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt -DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm -bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. -# Label: "GeoTrust Universal CA 2" -# Serial: 1 -# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 -# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 -# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW -MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy -c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD -VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 -c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 -WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG -FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq -XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL -se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb -KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd -IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 -y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt -hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc -QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 -Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV -HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ -KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ -L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr -Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo -ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY -T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz -GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m -1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV -OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH -6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX -QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association -# Label: "Visa eCommerce Root" -# Serial: 25952180776285836048024890241505565794 -# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02 -# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62 -# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22 ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr -MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl -cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw -CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h -dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l -cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h -2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E -lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV -ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq -299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t -vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL -dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF -AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR -zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 -LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd -7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw -++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - -# Issuer: CN=AAA Certificate Services O=Comodo CA Limited -# Subject: CN=AAA Certificate Services O=Comodo CA Limited -# Label: "Comodo AAA Services root" -# Serial: 1 -# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 -# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 -# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb -MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow -GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj -YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM -GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua -BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe -3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 -YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR -rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm -ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU -oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v -QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t -b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF -AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q -GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 -G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi -l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 -smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority -# Label: "QuoVadis Root CA" -# Serial: 985026699 -# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 -# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 -# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 -aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz -MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw -IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR -dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp -li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D -rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ -WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug -F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU -xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC -Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv -dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw -ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl -IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh -c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy -ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI -KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T -KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq -y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p -dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD -VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL -MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk -fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 -7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R -cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y -mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW -xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK -SnQ2+Q== ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2" -# Serial: 1289 -# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b -# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 -# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa -GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg -Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J -WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB -rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp -+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 -ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i -Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz -PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og -/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH -oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI -yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud -EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 -A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL -MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f -BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn -g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl -fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K -WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha -B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc -hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR -TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD -mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z -ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y -4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza -8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3" -# Serial: 1478 -# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf -# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 -# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x -GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv -b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV -BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W -YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM -V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB -4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr -H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd -8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv -vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT -mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe -btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc -T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt -WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ -c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A -4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD -VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG -CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 -aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu -dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw -czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G -A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC -TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg -Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 -7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem -d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd -+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B -4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN -t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x -DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 -k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s -zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j -Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT -mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK -4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 -# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 -# Label: "Security Communication Root CA" -# Serial: 0 -# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a -# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 -# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY -MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t -dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 -WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD -VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 -9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ -DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 -Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N -QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ -xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G -A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T -AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG -kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr -Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 -Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU -JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot -RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== ------END CERTIFICATE----- - -# Issuer: CN=Sonera Class2 CA O=Sonera -# Subject: CN=Sonera Class2 CA O=Sonera -# Label: "Sonera Class 2 Root CA" -# Serial: 29 -# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb -# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 -# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP -MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx -MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV -BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o -Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt -5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s -3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej -vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu -8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw -DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG -MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil -zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ -3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD -FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 -Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 -ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M ------END CERTIFICATE----- - -# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com -# Label: "XRamp Global CA Root" -# Serial: 107108908803651509692980124233745014957 -# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 -# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 -# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB -gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk -MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY -UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx -NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 -dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy -dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 -38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP -KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q -DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 -qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa -JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi -PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P -BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs -jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 -eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR -vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa -IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy -i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ -O+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority -# Label: "Go Daddy Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 -# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 -# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- - -# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority -# Label: "Starfield Class 2 CA" -# Serial: 0 -# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 -# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a -# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl -MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp -U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw -NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE -ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp -ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 -DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf -8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN -+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 -X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa -K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA -1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G -A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR -zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 -YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD -bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w -DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 -L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D -eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp -VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY -WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -# Issuer: O=Government Root Certification Authority -# Subject: O=Government Root Certification Authority -# Label: "Taiwan GRCA" -# Serial: 42023070807708724159991140556527066870 -# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e -# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 -# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ -MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow -PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR -IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q -gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy -yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts -F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 -jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx -ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC -VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK -YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH -EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN -Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud -DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE -MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK -UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf -qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK -ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE -JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 -hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 -EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm -nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX -udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz -ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe -LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl -pYYsfPQS ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root CA" -# Serial: 17154717934120587862167794914071425081 -# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 -# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 -# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c -JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP -mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ -wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 -VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ -AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB -AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW -BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun -pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC -dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf -fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm -NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx -H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root CA" -# Serial: 10944719598952040374951832963794454346 -# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e -# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 -# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD -QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB -CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 -nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt -43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P -T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 -gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR -TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw -DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr -hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg -06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF -PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls -YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert High Assurance EV Root CA" -# Serial: 3553400076410547919724730734378100087 -# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a -# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 -# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j -ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 -LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug -RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm -+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW -PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM -xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB -Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 -hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg -EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA -FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec -nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z -eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF -hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 -Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep -+OkuE6N36B9K ------END CERTIFICATE----- - -# Issuer: CN=Class 2 Primary CA O=Certplus -# Subject: CN=Class 2 Primary CA O=Certplus -# Label: "Certplus Class 2 Primary CA" -# Serial: 177770208045934040241468760488327595043 -# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b -# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb -# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw -PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz -cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 -MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz -IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ -ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR -VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL -kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd -EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas -H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 -HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud -DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 -QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu -Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ -AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 -yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR -FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA -ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB -kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. -# Label: "DST Root CA X3" -# Serial: 91299735575339953335919266965803778155 -# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 -# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 -# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow -PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD -Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O -rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq -OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b -xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw -7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD -aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG -SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 -ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr -AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz -R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 -JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo -Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG -# Label: "SwissSign Gold CA - G2" -# Serial: 13492815561806991280 -# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 -# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 -# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG -# Label: "SwissSign Silver CA - G2" -# Serial: 5700383053117599563 -# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 -# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb -# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. -# Label: "GeoTrust Primary Certification Authority" -# Serial: 32798226551256963324313806436981982369 -# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf -# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 -# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY -MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo -R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx -MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 -AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA -ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 -7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W -kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI -mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ -KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 -6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl -4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K -oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj -UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU -AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA" -# Serial: 69529181992039203566298953787712940909 -# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 -# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 -# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB -qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV -BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw -NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j -LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG -A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs -W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta -3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk -6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 -Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J -NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP -r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU -DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz -YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 -/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ -LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 -jVaMaA== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" -# Serial: 33037644167568058970164719475676101450 -# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c -# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 -# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW -ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 -nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex -t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz -SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG -BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ -rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ -NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E -BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH -BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv -MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE -p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y -5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK -WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ -4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N -hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -# Issuer: CN=SecureTrust CA O=SecureTrust Corporation -# Subject: CN=SecureTrust CA O=SecureTrust Corporation -# Label: "SecureTrust CA" -# Serial: 17199774589125277788362757014266862032 -# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 -# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 -# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz -MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv -cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz -Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO -0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao -wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj -7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS -8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT -BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg -JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC -NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 -6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ -3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm -D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS -CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -# Issuer: CN=Secure Global CA O=SecureTrust Corporation -# Subject: CN=Secure Global CA O=SecureTrust Corporation -# Label: "Secure Global CA" -# Serial: 9751836167731051554232119481456978597 -# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de -# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b -# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK -MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x -GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx -MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg -Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ -iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa -/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ -jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI -HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 -sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w -gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw -KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG -AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L -URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO -H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm -I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY -iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO Certification Authority O=COMODO CA Limited -# Label: "COMODO Certification Authority" -# Serial: 104350513648249232941998508985834464573 -# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 -# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b -# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB -gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV -BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw -MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl -YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P -RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 -UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI -2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 -Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp -+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ -DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O -nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW -/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g -PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u -QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY -SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv -IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 -zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd -BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB -ZQ== ------END CERTIFICATE----- - -# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. -# Label: "Network Solutions Certificate Authority" -# Serial: 116697915152937497490437556386812487904 -# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e -# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce -# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi -MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV -UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO -ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz -c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP -OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl -mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF -BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 -qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw -gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu -bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp -dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 -6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ -h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH -/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN -pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited -# Label: "COMODO ECC Certification Authority" -# Serial: 41578283867086692638256921589707938090 -# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 -# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 -# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL -MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE -BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT -IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw -MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy -ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N -T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR -FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J -cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW -BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm -fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv -GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GA CA" -# Serial: 86718877871133159090080555911823548314 -# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 -# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 -# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB -ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly -aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w -NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G -A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX -SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR -VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 -w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF -mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg -4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 -4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw -EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx -SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 -ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 -vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi -Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ -/L7fCg0= ------END CERTIFICATE----- - -# Issuer: CN=Certigna O=Dhimyotis -# Subject: CN=Certigna O=Dhimyotis -# Label: "Certigna" -# Serial: 18364802974209362175 -# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff -# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 -# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV -BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X -DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ -BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 -QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny -gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw -zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q -130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 -JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw -DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw -ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT -AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj -AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG -9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h -bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc -fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu -HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w -t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center -# Label: "Deutsche Telekom Root CA 2" -# Serial: 38 -# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 -# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf -# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc -MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj -IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB -IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE -RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl -U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 -IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU -ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC -QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr -rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S -NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc -QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH -txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP -BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp -tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa -IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl -6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ -xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc -# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc -# Label: "Cybertrust Global Root" -# Serial: 4835703278459682877484360 -# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 -# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 -# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG -A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh -bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE -ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS -b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 -7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS -J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y -HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP -t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz -FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY -XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ -MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw -hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js -MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA -A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj -Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx -XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o -omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc -A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority -# Label: "ePKI Root Certification Authority" -# Serial: 28956088682735189655030529057352760477 -# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 -# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 -# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe -MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 -ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw -IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL -SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH -SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh -ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X -DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 -TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ -fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA -sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU -WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS -nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH -dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip -NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC -AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF -MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB -uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl -PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP -JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ -gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 -j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 -5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB -o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS -/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z -Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE -W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D -hNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -# Issuer: O=certSIGN OU=certSIGN ROOT CA -# Subject: O=certSIGN OU=certSIGN ROOT CA -# Label: "certSIGN ROOT CA" -# Serial: 35210227249154 -# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 -# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b -# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT -AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD -QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP -MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do -0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ -UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d -RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ -OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv -JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C -AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O -BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ -LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY -MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ -44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I -Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw -i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN -9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G3" -# Serial: 28809105769928564313984085209975885599 -# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 -# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd -# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB -mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT -MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ -BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 -BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg -LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz -+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm -hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn -5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W -JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL -DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC -huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB -AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB -zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN -kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH -SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G -spki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G2" -# Serial: 71758320672825410020661621085256472406 -# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f -# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 -# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL -MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp -IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi -BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw -MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig -YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v -dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ -BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 -papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K -DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 -KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox -XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only -# Label: "thawte Primary Root CA - G3" -# Serial: 127614157056681299805556476275995414779 -# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 -# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 -# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB -rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf -Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw -MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV -BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa -Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl -LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u -MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm -gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 -YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf -b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 -9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S -zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk -OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA -2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW -oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c -KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM -m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu -MdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only -# Label: "GeoTrust Primary Certification Authority - G2" -# Serial: 80682863203381065782177908751794619243 -# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a -# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 -# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL -MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj -KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 -MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw -NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV -BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH -MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL -So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal -tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG -CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT -qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz -rD6ogRLQy7rQkgu2npaqBA+K ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Universal Root Certification Authority" -# Serial: 85209574734084581917763752644031726877 -# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 -# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 -# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB -vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL -ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp -U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W -ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe -Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX -MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 -IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y -IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh -bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF -9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH -H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H -LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN -/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT -rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw -WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs -exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 -sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ -seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz -4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ -BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR -lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 -7M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only -# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" -# Serial: 63143484348153506665311985501458640051 -# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 -# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a -# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW -ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp -U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y -aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG -A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp -U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg -SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln -biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm -GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve -fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ -aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj -aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW -kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC -4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga -FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) -# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" -# Serial: 80544274841616 -# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 -# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 -# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG -EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 -MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl -cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR -dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB -pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM -b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm -aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz -IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT -lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz -AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 -VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG -ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 -BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG -AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M -U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh -bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C -+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F -uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 -XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G2" -# Serial: 10000012 -# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a -# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 -# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX -DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 -qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp -uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU -Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE -pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp -5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M -UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN -GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy -5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv -6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK -eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 -B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ -BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov -L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG -SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS -CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen -5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 -IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK -gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL -+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL -vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm -bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk -N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC -Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z -ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== ------END CERTIFICATE----- - -# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post -# Label: "Hongkong Post Root CA 1" -# Serial: 1000 -# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca -# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 -# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx -FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg -Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG -A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr -b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ -jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn -PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh -ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 -nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h -q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED -MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC -mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 -7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB -oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs -EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO -fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi -AmvZWg== ------END CERTIFICATE----- - -# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. -# Label: "SecureSign RootCA11" -# Serial: 1 -# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 -# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 -# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr -MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG -A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 -MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp -Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD -QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz -i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 -h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV -MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 -UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni -8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC -h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD -VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB -AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm -KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ -X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr -QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 -pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN -QSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. -# Label: "Microsec e-Szigno Root CA 2009" -# Serial: 14014712776195784473 -# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 -# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e -# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD -VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 -ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G -CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y -OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx -FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp -Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP -kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc -cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U -fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 -N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC -xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 -+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM -Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG -SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h -mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk -ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c -2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t -HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 -# Label: "GlobalSign Root CA - R3" -# Serial: 4835703278459759426209954 -# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 -# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad -# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G -A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp -Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 -MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG -A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 -RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT -gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm -KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd -QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ -XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o -LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU -RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp -jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK -6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX -mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs -Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH -WD9f ------END CERTIFICATE----- - -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 -# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Serial: 6047274297262753887 -# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 -# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa -# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE -BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h -cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy -MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg -Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 -thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM -cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG -L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i -NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h -X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b -m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy -Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja -EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T -KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF -6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh -OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD -VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv -ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl -AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF -661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 -am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 -ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 -PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS -3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k -SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF -3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM -ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g -StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz -Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB -jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -# Issuer: CN=Izenpe.com O=IZENPE S.A. -# Subject: CN=Izenpe.com O=IZENPE S.A. -# Label: "Izenpe.com" -# Serial: 917563065490389241595536686991402621 -# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 -# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 -# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. -# Label: "Chambers of Commerce Root - 2008" -# Serial: 11806822484801597146 -# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 -# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c -# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz -IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz -MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj -dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw -EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp -MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 -28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq -VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q -DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR -5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL -ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a -Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl -UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s -+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 -Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx -hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV -HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 -+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN -YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t -L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy -ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt -IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV -HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w -DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW -PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF -5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 -glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH -FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 -pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD -xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG -tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq -jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De -fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ -d0jQ ------END CERTIFICATE----- - -# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. -# Label: "Global Chambersign Root - 2008" -# Serial: 14541511773111788494 -# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 -# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c -# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD -VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 -IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 -MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx -MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy -cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG -A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl -BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed -KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 -G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 -zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 -ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG -HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 -Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V -yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e -beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r -6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog -zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW -BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr -ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp -ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk -cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt -YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC -CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow -KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI -hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ -UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz -X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x -fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz -a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd -Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd -SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O -AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso -M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge -v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. -# Label: "Go Daddy Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 -# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b -# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz -NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE -AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD -E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH -/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy -DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh -GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR -tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA -AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX -WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu -9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr -gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo -2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI -4uJEvlz36hz1 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 -# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e -# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs -ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw -MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj -aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp -Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg -nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 -HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N -Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN -dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 -HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO -BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G -CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU -sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 -4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg -8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 -mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. -# Label: "Starfield Services Root Certificate Authority - G2" -# Serial: 0 -# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 -# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f -# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT -HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs -ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD -VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy -ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy -dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p -OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 -8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K -Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe -hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk -6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q -AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI -bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB -ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z -qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn -0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN -sSi6 ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Commercial O=AffirmTrust -# Subject: CN=AffirmTrust Commercial O=AffirmTrust -# Label: "AffirmTrust Commercial" -# Serial: 8608355977964138876 -# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 -# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 -# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP -Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr -ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL -MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 -yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr -VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ -nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG -XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj -vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt -Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g -N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC -nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Networking O=AffirmTrust -# Subject: CN=AffirmTrust Networking O=AffirmTrust -# Label: "AffirmTrust Networking" -# Serial: 8957382827206547757 -# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f -# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f -# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz -dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL -MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp -cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y -YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua -kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL -QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp -6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG -yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i -QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ -KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO -tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu -QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ -Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u -olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 -x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium O=AffirmTrust -# Subject: CN=AffirmTrust Premium O=AffirmTrust -# Label: "AffirmTrust Premium" -# Serial: 7893706540734352110 -# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 -# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 -# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE -BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz -dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG -A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U -cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf -qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ -JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ -+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS -s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 -HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 -70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG -V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S -qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S -5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia -C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX -OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE -FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 -KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B -8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ -MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc -0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ -u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF -u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH -YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 -GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO -RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e -KeC2uAloGRwYQw== ------END CERTIFICATE----- - -# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust -# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust -# Label: "AffirmTrust Premium ECC" -# Serial: 8401224907861490260 -# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d -# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb -# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC -VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ -cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ -BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt -VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D -0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 -ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G -A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G -A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs -aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I -flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA" -# Serial: 279744 -# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 -# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e -# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM -MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D -ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU -cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 -WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg -Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw -IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH -UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM -TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU -BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM -kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x -AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV -HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y -sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL -I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 -J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY -VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA -# Label: "TWCA Root Certification Authority" -# Serial: 1 -# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 -# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 -# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES -MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU -V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz -WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO -LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE -AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH -K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX -RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z -rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx -3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq -hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC -MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls -XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D -lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn -aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ -YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 -# Label: "Security Communication RootCA2" -# Serial: 0 -# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 -# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 -# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl -MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe -U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX -DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy -dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj -YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV -OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr -zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM -VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ -hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO -ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw -awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs -OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 -DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF -coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc -okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 -t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy -1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ -SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2011" -# Serial: 0 -# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 -# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d -# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix -RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p -YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw -NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK -EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl -cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz -dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ -fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns -bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD -75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP -FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV -HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp -5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu -b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA -A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p -6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 -dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys -Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI -l7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 -# Label: "Actalis Authentication Root CA" -# Serial: 6271844772424770508 -# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 -# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac -# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE -BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w -MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC -SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 -ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv -UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX -4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 -KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ -gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb -rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ -51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F -be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe -KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F -v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn -fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 -jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz -ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL -e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 -jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz -WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V -SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j -pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX -X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok -fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R -K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU -ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU -LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT -LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -# Issuer: O=Trustis Limited OU=Trustis FPS Root CA -# Subject: O=Trustis Limited OU=Trustis FPS Root CA -# Label: "Trustis FPS Root CA" -# Serial: 36053640375399034304724988975563710553 -# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d -# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 -# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF -MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL -ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx -MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc -MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ -AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH -iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj -vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA -0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB -OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ -BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E -FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 -GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW -zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 -1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE -f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F -jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN -ZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 2 Root CA" -# Serial: 2 -# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 -# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 -# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr -6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV -L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 -1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx -MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ -QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB -arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr -Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi -FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS -P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN -9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz -uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h -9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t -OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo -+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 -KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 -DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us -H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ -I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 -5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h -3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz -Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= ------END CERTIFICATE----- - -# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 -# Label: "Buypass Class 3 Root CA" -# Serial: 2 -# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec -# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 -# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd -MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg -Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow -TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw -HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB -BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y -ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E -N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 -tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX -0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c -/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X -KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY -zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS -O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D -34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP -K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 -AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv -Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj -QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS -IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 -HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa -O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv -033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u -dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE -kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 -3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD -u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq -4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 3" -# Serial: 1 -# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef -# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 -# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN -8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ -RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 -hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 -ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM -EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 -A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy -WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ -1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 -6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT -91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p -TpPDpFQUWw== ------END CERTIFICATE----- - -# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus -# Label: "EE Certification Centre Root CA" -# Serial: 112324828676200291871926431888494945866 -# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f -# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 -# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 -MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 -czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG -CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy -MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl -ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS -b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy -euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO -bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw -WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d -MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE -1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ -zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB -BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF -BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV -v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG -E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW -iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v -GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 2009" -# Serial: 623603 -# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f -# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 -# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha -ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM -HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 -UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 -tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R -ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM -lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp -/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G -A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G -A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj -dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy -MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl -cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js -L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL -BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni -acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K -zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 -PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y -Johw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH -# Label: "D-TRUST Root Class 3 CA 2 EV 2009" -# Serial: 623604 -# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 -# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 -# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF -MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD -bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw -NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV -BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn -ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 -3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z -qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR -p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 -HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw -ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea -HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw -Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh -c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E -RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt -dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku -Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp -3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF -CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na -xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX -KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -# Issuer: CN=CA Disig Root R2 O=Disig a.s. -# Subject: CN=CA Disig Root R2 O=Disig a.s. -# Label: "CA Disig Root R2" -# Serial: 10572350602393338211 -# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 -# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 -# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV -BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu -MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy -MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx -EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw -ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe -NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH -PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I -x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe -QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR -yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO -QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 -H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ -QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD -i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs -nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 -rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI -hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf -GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb -lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka -+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal -TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i -nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 -gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr -G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os -zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x -L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV -# Label: "ACCVRAIZ1" -# Serial: 6828503384748696800 -# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 -# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 -# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE -AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw -CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ -BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND -VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb -qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY -HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo -G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA -lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr -IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ -0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH -k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 -4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO -m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa -cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl -uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI -KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls -ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG -AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT -VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG -CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA -cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA -QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA -7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA -cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA -QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA -czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu -aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt -aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud -DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF -BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp -D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU -JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m -AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD -vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms -tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH -7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA -h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF -d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H -pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA -# Label: "TWCA Global Root CA" -# Serial: 3262 -# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 -# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 -# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx -EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT -VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 -NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT -B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF -10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz -0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh -MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH -zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc -46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 -yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi -laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP -oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA -BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE -qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm -4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL -1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF -H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo -RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ -nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh -15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW -6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW -nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j -wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz -aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy -KwbQBM0= ------END CERTIFICATE----- - -# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera -# Label: "TeliaSonera Root CA v1" -# Serial: 199041966741090107964904287217786801558 -# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c -# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 -# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw -NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv -b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD -VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F -VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 -7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X -Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ -/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs -81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm -dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe -Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu -sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 -pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs -slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ -arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD -VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG -9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl -dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj -TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed -Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 -Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI -OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 -vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW -t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn -HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx -SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi -# Label: "E-Tugra Certification Authority" -# Serial: 7667447206703254355 -# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 -# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 -# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV -BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC -aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV -BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 -Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz -MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ -BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp -em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY -B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH -D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF -Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo -q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D -k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH -fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut -dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM -ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 -zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX -U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 -Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 -XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF -Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR -HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY -GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c -77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 -+GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK -vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 -FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl -yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P -AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD -y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d -NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center -# Label: "T-TeleSec GlobalRoot Class 2" -# Serial: 1 -# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a -# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 -# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- - -# Issuer: CN=Atos TrustedRoot 2011 O=Atos -# Subject: CN=Atos TrustedRoot 2011 O=Atos -# Label: "Atos TrustedRoot 2011" -# Serial: 6643877497813316402 -# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 -# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 -# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE -AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG -EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM -FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC -REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp -Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM -VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ -SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ -4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L -cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi -eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG -A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 -DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j -vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP -DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc -maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D -lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv -KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 1 G3" -# Serial: 687049649626669250736271037606554624078720034195 -# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab -# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 -# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 -MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV -wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe -rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 -68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh -4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp -UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o -abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc -3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G -KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt -hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO -Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt -zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD -ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 -cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN -qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 -YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv -b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 -8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k -NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj -ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp -q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt -nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 2 G3" -# Serial: 390156079458959257446133169266079962026824725800 -# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 -# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 -# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 -MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf -qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW -n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym -c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ -O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 -o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j -IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq -IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz -8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh -vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l -7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG -cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD -ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC -roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga -W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n -lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE -+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV -csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd -dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg -KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM -HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 -WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited -# Label: "QuoVadis Root CA 3 G3" -# Serial: 268090761170461462463995952157327242137089239581 -# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 -# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d -# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL -BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc -BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 -MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR -/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu -FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR -U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c -ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR -FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k -A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw -eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl -sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp -VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q -A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ -ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD -ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI -FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv -oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg -u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP -0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf -3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl -8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ -DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN -PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ -ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G2" -# Serial: 15385348160840213938643033620894905419 -# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d -# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f -# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv -b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl -cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA -n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc -biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp -EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA -bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu -YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW -BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI -QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I -0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni -lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 -B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv -ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Assured ID Root G3" -# Serial: 15459312981008553731928384953135426796 -# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb -# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 -# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg -RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf -Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q -RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD -AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY -JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv -6pZjamVFkpUBtA== ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G2" -# Serial: 4293743540046975378534879503202253541 -# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 -# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 -# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH -MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT -MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j -b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI -2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx -1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ -q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz -tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ -vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV -5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY -1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 -NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG -Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 -8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe -pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Global Root G3" -# Serial: 7089244469030293291760083333884364146 -# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca -# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e -# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw -CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu -ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe -Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw -EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x -IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF -K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG -fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO -Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd -BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx -AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ -oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 -sycX ------END CERTIFICATE----- - -# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com -# Label: "DigiCert Trusted Root G4" -# Serial: 7451500558977370777930084869016614236 -# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 -# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 -# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi -MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg -RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu -Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y -ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If -xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV -ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO -DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ -jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ -CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi -EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM -fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY -uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK -chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t -9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB -hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 -SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd -+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc -fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa -sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N -cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N -0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie -4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI -r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 -/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm -gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ ------END CERTIFICATE----- - -# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited -# Label: "COMODO RSA Certification Authority" -# Serial: 101909084537582093308941363524873193117 -# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 -# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 -# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB -hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G -A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV -BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT -EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR -6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X -pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC -9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV -/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf -Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z -+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w -qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah -SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC -u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf -Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq -crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB -/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl -wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM -4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV -2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna -FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ -CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK -boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke -jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL -S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb -QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl -0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB -NVOFBkpdn627G190 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network -# Label: "USERTrust RSA Certification Authority" -# Serial: 2645093764781058787591871645665788717 -# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 -# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e -# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB -iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl -cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV -BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw -MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B -3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY -tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ -Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 -VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT -79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 -c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT -Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l -c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee -UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE -Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF -Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO -VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 -ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs -8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR -iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze -Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ -XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ -qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB -VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB -L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG -jjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network -# Label: "USERTrust ECC Certification Authority" -# Serial: 123013823720199481456569720443997572134 -# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 -# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 -# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl -eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT -JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx -MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg -VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm -aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo -I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng -o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G -A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB -zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW -RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 -# Label: "GlobalSign ECC Root CA - R4" -# Serial: 14367148294922964480859022125800977897474 -# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e -# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb -# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c ------BEGIN CERTIFICATE----- -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ -FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F -uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX -kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs -ewv4n4Q= ------END CERTIFICATE----- - -# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 -# Label: "GlobalSign ECC Root CA - R5" -# Serial: 32785792099990507226680698011560947931244 -# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 -# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa -# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk -MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH -bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX -DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD -QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu -MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc -8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke -hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI -KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg -515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO -xwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden -# Label: "Staat der Nederlanden Root CA - G3" -# Serial: 10003001 -# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 -# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc -# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX -DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl -ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv -b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP -cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW -IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX -xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy -KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR -9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az -5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 -6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 -Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP -bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt -BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt -XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF -MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd -INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp -LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 -Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp -gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh -/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw -0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A -fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq -4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR -1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ -QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM -94B7IWcnMFk= ------END CERTIFICATE----- - -# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden -# Label: "Staat der Nederlanden EV Root CA" -# Serial: 10000013 -# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba -# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb -# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO -TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh -dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y -MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg -TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS -b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS -M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC -UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d -Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p -rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l -pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb -j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC -KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS -/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X -cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH -1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP -px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 -MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u -2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS -v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC -wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy -CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e -vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 -Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa -Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL -eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 -FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc -7uzXLg== ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust -# Label: "IdenTrust Commercial Root CA 1" -# Serial: 13298821034946342390520003877796839426 -# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 -# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 -# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu -VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw -MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw -JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT -3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU -+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp -S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 -bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi -T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL -vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK -Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK -dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT -c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv -l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N -iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD -ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt -LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 -nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 -+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK -W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT -AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq -l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG -4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ -mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A -7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust -# Label: "IdenTrust Public Sector Root CA 1" -# Serial: 13298821034946342390521976156843933698 -# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba -# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd -# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN -MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu -VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN -MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 -MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 -ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy -RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS -bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF -/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R -3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw -EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy -9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V -GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ -2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV -WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD -W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN -AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV -DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 -TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G -lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW -mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df -WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 -+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ -tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA -GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv -8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - G2" -# Serial: 1246989352 -# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 -# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 -# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 -cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs -IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz -dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy -NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu -dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt -dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 -aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T -RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN -cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW -wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 -U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 -jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN -BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ -jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v -1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R -nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH -VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== ------END CERTIFICATE----- - -# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only -# Label: "Entrust Root Certification Authority - EC1" -# Serial: 51543124481930649114116133369 -# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc -# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 -# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG -A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 -d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu -dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq -RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy -MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD -VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 -L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g -Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi -A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt -ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH -Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC -R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX -hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority -# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority -# Label: "CFCA EV ROOT" -# Serial: 407555286 -# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 -# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 -# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD -TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y -aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx -MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j -aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP -T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 -sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL -TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 -/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp -7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz -EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt -hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP -a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot -aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg -TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV -PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv -cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL -tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd -BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT -ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL -jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS -ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy -P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 -xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d -Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN -5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe -/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z -AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ -5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -# Issuer: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. -# Subject: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. -# Label: "T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5" -# Serial: 156233699172481 -# MD5 Fingerprint: da:70:8e:f0:22:df:93:26:f6:5f:9f:d3:15:06:52:4e -# SHA1 Fingerprint: c4:18:f6:4d:46:d1:df:00:3d:27:30:13:72:43:a9:12:11:c6:75:fb -# SHA256 Fingerprint: 49:35:1b:90:34:44:c1:85:cc:dc:5c:69:3d:24:d8:55:5c:b2:08:d6:a8:14:13:07:69:9f:4a:f0:63:19:9d:78 ------BEGIN CERTIFICATE----- -MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UE -BhMCVFIxDzANBgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxn -aSDEsGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkg -QS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1QgRWxla3Ryb25payBTZXJ0aWZpa2Eg -SGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAwODA3MDFaFw0yMzA0 -MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0wSwYD -VQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8 -dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCUZ4WWe60ghUEoI5RHwWrom -/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537jVJp45wnEFPzpALFp/kR -Gml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1mep5Fimh3 -4khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z -5UNP9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0 -hO8EuPbJbKoCPrZV4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QID -AQABo0IwQDAdBgNVHQ4EFgQUVpkHHtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/ -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJ5FdnsX -SDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPoBP5yCccLqh0l -VX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq -URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nf -peYVhDfwwvJllpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CF -Yv4HAqGEVka+lgqaE9chTLd8B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW -+qtB4Uu2NQvAmxU= ------END CERTIFICATE----- - -# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 -# Label: "Certinomis - Root CA" -# Serial: 1 -# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f -# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 -# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 ------BEGIN CERTIFICATE----- -MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET -MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb -BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz -MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx -FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g -Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 -fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl -LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV -WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF -TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb -5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc -CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri -wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ -wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG -m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 -F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng -WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 -2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF -AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ -0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw -F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS -g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj -qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN -h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ -ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V -btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj -Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ -8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW -gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= ------END CERTIFICATE----- - -# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed -# Label: "OISTE WISeKey Global Root GB CA" -# Serial: 157768595616588414422159278966750757568 -# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d -# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed -# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt -MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg -Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i -YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x -CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG -b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 -HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx -WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX -1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk -u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P -99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r -M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB -BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh -cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 -gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO -ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf -aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. -# Label: "SZAFIR ROOT CA2" -# Serial: 357043034767186914217277344587386743377558296292 -# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 -# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de -# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL -BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 -ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw -NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L -cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg -Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN -QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT -3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw -3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 -3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 -BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN -XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD -AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF -AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw -8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG -nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP -oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy -d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg -LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority -# Label: "Certum Trusted Network CA 2" -# Serial: 44979900017204383099463764357512596969 -# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 -# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 -# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB -gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu -QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG -A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz -OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ -VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 -b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA -DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn -0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB -OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE -fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E -Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m -o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i -sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW -OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez -Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS -adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n -3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ -F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf -CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 -XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm -djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ -WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb -AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq -P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko -b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj -XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P -5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi -DrW5viSP ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce -# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 -# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix -DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k -IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT -N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v -dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG -A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh -ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx -QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 -dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA -4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 -AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 -4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C -ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV -9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD -gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 -Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq -NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko -LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd -ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I -XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI -M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot -9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V -Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea -j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh -X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ -l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf -bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 -pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK -e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 -vm9qp/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority -# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" -# Serial: 0 -# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef -# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 -# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN -BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl -c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl -bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv -b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ -BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj -YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 -MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 -dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg -QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa -jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi -C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep -lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof -TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -# Issuer: CN=Certplus Root CA G1 O=Certplus -# Subject: CN=Certplus Root CA G1 O=Certplus -# Label: "Certplus Root CA G1" -# Serial: 1491911565779898356709731176965615564637713 -# MD5 Fingerprint: 7f:09:9c:f7:d9:b9:5c:69:69:56:d5:37:3e:14:0d:42 -# SHA1 Fingerprint: 22:fd:d0:b7:fd:a2:4e:0d:ac:49:2c:a0:ac:a6:7b:6a:1f:e3:f7:66 -# SHA256 Fingerprint: 15:2a:40:2b:fc:df:2c:d5:48:05:4d:22:75:b3:9c:7f:ca:3e:c0:97:80:78:b0:f0:ea:76:e5:61:a6:c7:43:3e ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUA -MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy -dHBsdXMgUm9vdCBDQSBHMTAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBa -MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy -dHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHNr49a -iZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt -6kuJPKNxQv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP -0FG7Yn2ksYyy/yARujVjBYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f -6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTvLRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDE -EW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2z4QTd28n6v+WZxcIbekN -1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc4nBvCGrc -h2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCT -mehd4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV -4EJQeIQEQWGw9CEjjy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPO -WftwenMGE9nTdDckQQoRb5fc5+R+ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1Ud -DwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSowcCbkahDFXxd -Bie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHYlwuBsTANBgkq -hkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh -66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7 -/SMNkPX0XtPGYX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BS -S7CTKtQ+FjPlnsZlFT5kOwQ/2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j -2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F6ALEUz65noe8zDUa3qHpimOHZR4R -Kttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilXCNQ314cnrUlZp5Gr -RHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWetUNy -6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEV -V/xuZDDCVRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5 -g4VCXA9DO2pJNdWY9BW/+mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl -++O/QmueD6i9a5jc2NvLi6Td11n0bt3+qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo= ------END CERTIFICATE----- - -# Issuer: CN=Certplus Root CA G2 O=Certplus -# Subject: CN=Certplus Root CA G2 O=Certplus -# Label: "Certplus Root CA G2" -# Serial: 1492087096131536844209563509228951875861589 -# MD5 Fingerprint: a7:ee:c4:78:2d:1b:ee:2d:b9:29:ce:d6:a7:96:32:31 -# SHA1 Fingerprint: 4f:65:8e:1f:e9:06:d8:28:02:e9:54:47:41:c9:54:25:5d:69:cc:1a -# SHA256 Fingerprint: 6c:c0:50:41:e6:44:5e:74:69:6c:4c:fb:c9:f8:0f:54:3b:7e:ab:bb:44:b4:ce:6f:78:7c:6a:99:71:c4:2f:17 ------BEGIN CERTIFICATE----- -MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4x -CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs -dXMgUm9vdCBDQSBHMjAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4x -CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs -dXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABM0PW1aC3/BFGtat -93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uNAm8x -Ik0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0P -AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwj -FNiPwyCrKGBZMB8GA1UdIwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqG -SM49BAMDA2gAMGUCMHD+sAvZ94OX7PNVHdTcswYO/jOYnYs5kGuUIe22113WTNch -p+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjlvPl5adytRSv3tjFzzAal -U5ORGpOucGpnutee5WEaXw== ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G1 O=OpenTrust -# Subject: CN=OpenTrust Root CA G1 O=OpenTrust -# Label: "OpenTrust Root CA G1" -# Serial: 1492036577811947013770400127034825178844775 -# MD5 Fingerprint: 76:00:cc:81:29:cd:55:5e:88:6a:7a:2e:f7:4d:39:da -# SHA1 Fingerprint: 79:91:e8:34:f7:e2:ee:dd:08:95:01:52:e9:55:2d:14:e9:58:d5:7e -# SHA256 Fingerprint: 56:c7:71:28:d9:8c:18:d9:1b:4c:fd:ff:bc:25:ee:91:03:d4:75:8e:a2:ab:ad:82:6a:90:f3:45:7d:46:0e:b4 ------BEGIN CERTIFICATE----- -MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUA -MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w -ZW5UcnVzdCBSb290IENBIEcxMB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAw -MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU -T3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7faYp6b -wiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX -/uMftk87ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR0 -77F9jAHiOH3BX2pfJLKOYheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGP -uY4zbGneWK2gDqdkVBFpRGZPTBKnjix9xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLx -p2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO9z0M+Yo0FMT7MzUj8czx -Kselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq3ywgsNw2 -TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+W -G+Oin6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPw -vFEVVJSmdz7QdFG9URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYY -EQRVzXR7z2FwefR7LFxckvzluFqrTJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUl0YhVyE1 -2jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/PxN3DlCPaTKbYw -DQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E -PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kf -gLMtMrpkZ2CvuVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbS -FXJfLkur1J1juONI5f6ELlgKn0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0 -V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLhX4SPgPL0DTatdrOjteFkdjpY3H1P -XlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80nR14SohWZ25g/4/I -i+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcmGS3t -TAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L91 -09S5zvE/bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/Ky -Pu1svf0OnWZzsD2097+o4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJ -AwSQiumPv+i2tCqjI40cHLI5kqiPAlxAOXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj -1oxx ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G2 O=OpenTrust -# Subject: CN=OpenTrust Root CA G2 O=OpenTrust -# Label: "OpenTrust Root CA G2" -# Serial: 1492012448042702096986875987676935573415441 -# MD5 Fingerprint: 57:24:b6:59:24:6b:ae:c8:fe:1c:0c:20:f2:c0:4e:eb -# SHA1 Fingerprint: 79:5f:88:60:c5:ab:7c:3d:92:e6:cb:f4:8d:e1:45:cd:11:ef:60:0b -# SHA256 Fingerprint: 27:99:58:29:fe:6a:75:15:c1:bf:e8:48:f9:c4:76:1d:b1:6c:22:59:29:25:7b:f4:0d:08:94:f2:9e:a8:ba:f2 ------BEGIN CERTIFICATE----- -MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUA -MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w -ZW5UcnVzdCBSb290IENBIEcyMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAw -MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU -T3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+Ntmh -/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78e -CbY2albz4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/6 -1UWY0jUJ9gNDlP7ZvyCVeYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fE -FY8ElggGQgT4hNYdvJGmQr5J1WqIP7wtUdGejeBSzFfdNTVY27SPJIjki9/ca1TS -gSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz3GIZ38i1MH/1PCZ1Eb3X -G7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj3CzMpSZy -YhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaH -vGOz9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4 -t/bQWVyJ98LVtZR00dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/ -gh7PU3+06yzbXfZqfUAkBXKJOAGTy3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAO -BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUajn6QiL3 -5okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59M4PLuG53hq8w -DQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz -Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0 -nXGEL8pZ0keImUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qT -RmTFAHneIWv2V6CG1wZy7HBGS4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpT -wm+bREx50B1ws9efAvSyB7DH5fitIw6mVskpEndI2S9G/Tvw/HRwkqWOOAgfZDC2 -t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ6e18CL13zSdkzJTa -TkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97krgCf2 -o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU -3jg9CcCoSmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eA -iN1nE28daCSLT7d0geX0YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14f -WKGVyasvc0rQLW6aWQ9VGHgtPFGml4vmu7JwqkwR3v98KzfUetF3NI/n+UL3PIEM -S1IK ------END CERTIFICATE----- - -# Issuer: CN=OpenTrust Root CA G3 O=OpenTrust -# Subject: CN=OpenTrust Root CA G3 O=OpenTrust -# Label: "OpenTrust Root CA G3" -# Serial: 1492104908271485653071219941864171170455615 -# MD5 Fingerprint: 21:37:b4:17:16:92:7b:67:46:70:a9:96:d7:a8:13:24 -# SHA1 Fingerprint: 6e:26:64:f3:56:bf:34:55:bf:d1:93:3f:7c:01:de:d8:13:da:8a:a6 -# SHA256 Fingerprint: b7:c3:62:31:70:6e:81:07:8c:36:7c:b8:96:19:8f:1e:32:08:dd:92:69:49:dd:8f:57:09:a4:10:f7:5b:62:92 ------BEGIN CERTIFICATE----- -MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAx -CzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5U -cnVzdCBSb290IENBIEczMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFow -QDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwUT3Bl -blRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARK7liuTcpm -3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5Bta1d -oYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4G -A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5 -DMlv4VBN0BBY3JWIbTAfBgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAK -BggqhkjOPQQDAwNpADBmAjEAj6jcnboMBBf6Fek9LykBl7+BFjNAk2z8+e2AcG+q -j9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta3U1fJAuwACEl74+nBCZx -4nxp5V2a+EEfOzmTk51V6s2N8fvB ------END CERTIFICATE----- - -# Issuer: CN=ISRG Root X1 O=Internet Security Research Group -# Subject: CN=ISRG Root X1 O=Internet Security Research Group -# Label: "ISRG Root X1" -# Serial: 172886928669790476064670243504169061120 -# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e -# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 -# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw -TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh -cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 -WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu -ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY -MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc -h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ -0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U -A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW -T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH -B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC -B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv -KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn -OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn -jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw -qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI -rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq -hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ -3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK -NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 -ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur -TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC -jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc -oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq -4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA -mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d -emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM -# Label: "AC RAIZ FNMT-RCM" -# Serial: 485876308206448804701554682760554759 -# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d -# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 -# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx -CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ -WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ -BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG -Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ -yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf -BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz -WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF -tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z -374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC -IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL -mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 -wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS -MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 -ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet -UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H -YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 -LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 -RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM -LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf -77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N -JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm -fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp -6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp -1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B -9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok -RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv -uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 1 O=Amazon -# Subject: CN=Amazon Root CA 1 O=Amazon -# Label: "Amazon Root CA 1" -# Serial: 143266978916655856878034712317230054538369994 -# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 -# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 -# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj -ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM -9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw -IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 -VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L -93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm -jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA -A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI -U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs -N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv -o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU -5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy -rqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 2 O=Amazon -# Subject: CN=Amazon Root CA 2 O=Amazon -# Label: "Amazon Root CA 2" -# Serial: 143266982885963551818349160658925006970653239 -# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 -# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a -# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF -ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 -b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL -MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv -b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK -gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ -W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg -1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K -8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r -2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me -z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR -8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj -mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz -7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 -+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI -0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB -Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm -UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 -LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS -k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl -7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm -btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl -urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ -fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 -n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE -76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H -9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT -4PsJYGw= ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 3 O=Amazon -# Subject: CN=Amazon Root CA 3 O=Amazon -# Label: "Amazon Root CA 3" -# Serial: 143266986699090766294700635381230934788665930 -# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 -# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e -# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl -ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr -ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr -BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM -YyRIHN8wfdVoOw== ------END CERTIFICATE----- - -# Issuer: CN=Amazon Root CA 4 O=Amazon -# Subject: CN=Amazon Root CA 4 O=Amazon -# Label: "Amazon Root CA 4" -# Serial: 143266989758080763974105200630763877849284878 -# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd -# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be -# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 -MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g -Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG -A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg -Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi -9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk -M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB -MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw -CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW -1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. -# Label: "LuxTrust Global Root 2" -# Serial: 59914338225734147123941058376788110305822489521 -# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c -# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f -# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 ------BEGIN CERTIFICATE----- -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 ------END CERTIFICATE----- - -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM -# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# Serial: 1 -# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 -# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca -# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx -GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp -bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w -KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 -BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy -dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG -EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll -IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU -QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT -TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg -LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 -a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr -LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr -N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X -YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ -iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f -AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH -V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL -BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf -IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 -lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c -8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf -lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. -# Label: "GDCA TrustAUTH R5 ROOT" -# Serial: 9009899650740120186 -# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 -# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 -# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE -BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 -MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV -BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w -HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj -Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj -TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u -KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj -qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm -MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 -ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP -zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk -L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC -jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA -HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC -AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm -DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 -COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry -L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf -JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg -IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io -2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV -09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ -XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq -T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe -MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-1" -# Serial: 15752444095811006489 -# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 -# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a -# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y -IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB -pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h -IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG -A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU -cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid -RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V -seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme -9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV -EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW -hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ -DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw -DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD -ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I -/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ -yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts -L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN -zl/HHk484IkzlQsPpTLWPFp5LBk= ------END CERTIFICATE----- - -# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor RootCert CA-2" -# Serial: 2711694510199101698 -# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 -# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 -# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 ------BEGIN CERTIFICATE----- -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig -Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk -MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg -Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD -VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy -dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ -QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq -1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp -2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK -DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape -az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF -3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 -oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM -g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 -mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd -BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U -nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw -DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX -dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ -MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL -/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX -CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa -ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW -2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 -N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 -Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB -As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp -5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu -1uwJ ------END CERTIFICATE----- - -# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority -# Label: "TrustCor ECA-1" -# Serial: 9548242946988625984 -# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c -# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd -# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD -VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk -MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y -IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV -BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw -IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy -dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig -RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb -3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA -BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 -3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou -owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ -wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF -ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf -BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv -civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 -AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 -soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI -WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi -tJ/X5g== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation -# Label: "SSL.com Root Certification Authority RSA" -# Serial: 8875640296558310041 -# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 -# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb -# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE -BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK -DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz -OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R -xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX -qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC -C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 -6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh -/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF -YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E -JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc -US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 -ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm -+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi -M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G -A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV -cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc -Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs -PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ -q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 -cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr -a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I -H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y -K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu -nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf -oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY -Ic2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com Root Certification Authority ECC" -# Serial: 8495723813297216424 -# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e -# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a -# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 -aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz -WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 -b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS -b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI -7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg -CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud -EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD -VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T -kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ -gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority RSA R2" -# Serial: 6248227494352943350 -# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 -# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a -# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV -BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE -CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy -dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy -MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G -A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD -DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq -M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf -OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa -4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 -HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR -aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA -b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ -Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV -PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO -pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu -UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY -MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 -9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW -s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 -Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg -cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM -79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz -/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt -ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm -Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK -QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ -w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi -S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 -mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation -# Label: "SSL.com EV Root Certification Authority ECC" -# Serial: 3182246526754555285 -# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 -# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d -# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC -VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T -U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx -NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv -dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv -bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 -AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA -VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku -WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP -MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX -5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ -ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg -h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/certs.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/certs.py deleted file mode 100644 index 07e64750..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/certs.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" -certs.py -~~~~~~~~ - -This module returns the preferred default CA certificate bundle. - -If you are packaging Requests, e.g., for a Linux distribution or a managed -environment, you can change the definition of where() to return a separately -packaged CA bundle. -""" -import os.path - -try: - from certifi import where -except ImportError: - def where(): - """Return the preferred certificate bundle.""" - # vendored bundle inside Requests - return os.path.join(os.path.dirname(__file__), 'cacert.pem') - -if __name__ == '__main__': - print(where()) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/compat.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/compat.py deleted file mode 100644 index 70edff78..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/compat.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -pythoncompat -""" - -from .packages import chardet - -import sys - -# ------- -# Pythons -# ------- - -# Syntax sugar. -_ver = sys.version_info - -#: Python 2.x? -is_py2 = (_ver[0] == 2) - -#: Python 3.x? -is_py3 = (_ver[0] == 3) - -try: - import simplejson as json -except (ImportError, SyntaxError): - # simplejson does not support Python 3.2, it throws a SyntaxError - # because of u'...' Unicode literals. - import json - -# --------- -# Specifics -# --------- - -if is_py2: - from urllib import quote, unquote, quote_plus, unquote_plus, urlencode, getproxies, proxy_bypass - from urlparse import urlparse, urlunparse, urljoin, urlsplit, urldefrag - from urllib2 import parse_http_list - import cookielib - from Cookie import Morsel - from StringIO import StringIO - from .packages.urllib3.packages.ordered_dict import OrderedDict - - builtin_str = str - bytes = str - str = unicode - basestring = basestring - numeric_types = (int, long, float) - -elif is_py3: - from urllib.parse import urlparse, urlunparse, urljoin, urlsplit, urlencode, quote, unquote, quote_plus, unquote_plus, urldefrag - from urllib.request import parse_http_list, getproxies, proxy_bypass - from http import cookiejar as cookielib - from http.cookies import Morsel - from io import StringIO - from collections import OrderedDict - - builtin_str = str - str = str - bytes = bytes - basestring = (str, bytes) - numeric_types = (int, float) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cookies.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cookies.py deleted file mode 100644 index 1fbc934c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/cookies.py +++ /dev/null @@ -1,479 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -Compatibility code to be able to use `cookielib.CookieJar` with requests. - -requests.utils imports from here, so be careful with imports. -""" - -import copy -import time -import collections -from .compat import cookielib, urlparse, urlunparse, Morsel - -try: - import threading - # grr, pyflakes: this fixes "redefinition of unused 'threading'" - threading -except ImportError: - import dummy_threading as threading - - -class MockRequest(object): - """Wraps a `requests.Request` to mimic a `urllib2.Request`. - - The code in `cookielib.CookieJar` expects this interface in order to correctly - manage cookie policies, i.e., determine whether a cookie can be set, given the - domains of the request and the cookie. - - The original request object is read-only. The client is responsible for collecting - the new headers via `get_new_headers()` and interpreting them appropriately. You - probably want `get_cookie_header`, defined below. - """ - - def __init__(self, request): - self._r = request - self._new_headers = {} - self.type = urlparse(self._r.url).scheme - - def get_type(self): - return self.type - - def get_host(self): - return urlparse(self._r.url).netloc - - def get_origin_req_host(self): - return self.get_host() - - def get_full_url(self): - # Only return the response's URL if the user hadn't set the Host - # header - if not self._r.headers.get('Host'): - return self._r.url - # If they did set it, retrieve it and reconstruct the expected domain - host = self._r.headers['Host'] - parsed = urlparse(self._r.url) - # Reconstruct the URL as we expect it - return urlunparse([ - parsed.scheme, host, parsed.path, parsed.params, parsed.query, - parsed.fragment - ]) - - def is_unverifiable(self): - return True - - def has_header(self, name): - return name in self._r.headers or name in self._new_headers - - def get_header(self, name, default=None): - return self._r.headers.get(name, self._new_headers.get(name, default)) - - def add_header(self, key, val): - """cookielib has no legitimate use for this method; add it back if you find one.""" - raise NotImplementedError("Cookie headers should be added with add_unredirected_header()") - - def add_unredirected_header(self, name, value): - self._new_headers[name] = value - - def get_new_headers(self): - return self._new_headers - - @property - def unverifiable(self): - return self.is_unverifiable() - - @property - def origin_req_host(self): - return self.get_origin_req_host() - - @property - def host(self): - return self.get_host() - - -class MockResponse(object): - """Wraps a `httplib.HTTPMessage` to mimic a `urllib.addinfourl`. - - ...what? Basically, expose the parsed HTTP headers from the server response - the way `cookielib` expects to see them. - """ - - def __init__(self, headers): - """Make a MockResponse for `cookielib` to read. - - :param headers: a httplib.HTTPMessage or analogous carrying the headers - """ - self._headers = headers - - def info(self): - return self._headers - - def getheaders(self, name): - self._headers.getheaders(name) - - -def extract_cookies_to_jar(jar, request, response): - """Extract the cookies from the response into a CookieJar. - - :param jar: cookielib.CookieJar (not necessarily a RequestsCookieJar) - :param request: our own requests.Request object - :param response: urllib3.HTTPResponse object - """ - if not (hasattr(response, '_original_response') and - response._original_response): - return - # the _original_response field is the wrapped httplib.HTTPResponse object, - req = MockRequest(request) - # pull out the HTTPMessage with the headers and put it in the mock: - res = MockResponse(response._original_response.msg) - jar.extract_cookies(res, req) - - -def get_cookie_header(jar, request): - """Produce an appropriate Cookie header string to be sent with `request`, or None.""" - r = MockRequest(request) - jar.add_cookie_header(r) - return r.get_new_headers().get('Cookie') - - -def remove_cookie_by_name(cookiejar, name, domain=None, path=None): - """Unsets a cookie by name, by default over all domains and paths. - - Wraps CookieJar.clear(), is O(n). - """ - clearables = [] - for cookie in cookiejar: - if cookie.name == name: - if domain is None or domain == cookie.domain: - if path is None or path == cookie.path: - clearables.append((cookie.domain, cookie.path, cookie.name)) - - for domain, path, name in clearables: - cookiejar.clear(domain, path, name) - - -class CookieConflictError(RuntimeError): - """There are two cookies that meet the criteria specified in the cookie jar. - Use .get and .set and include domain and path args in order to be more specific.""" - - -class RequestsCookieJar(cookielib.CookieJar, collections.MutableMapping): - """Compatibility class; is a cookielib.CookieJar, but exposes a dict - interface. - - This is the CookieJar we create by default for requests and sessions that - don't specify one, since some clients may expect response.cookies and - session.cookies to support dict operations. - - Requests does not use the dict interface internally; it's just for - compatibility with external client code. All requests code should work - out of the box with externally provided instances of ``CookieJar``, e.g. - ``LWPCookieJar`` and ``FileCookieJar``. - - Unlike a regular CookieJar, this class is pickleable. - - .. warning:: dictionary operations that are normally O(1) may be O(n). - """ - def get(self, name, default=None, domain=None, path=None): - """Dict-like get() that also supports optional domain and path args in - order to resolve naming collisions from using one cookie jar over - multiple domains. - - .. warning:: operation is O(n), not O(1).""" - try: - return self._find_no_duplicates(name, domain, path) - except KeyError: - return default - - def set(self, name, value, **kwargs): - """Dict-like set() that also supports optional domain and path args in - order to resolve naming collisions from using one cookie jar over - multiple domains.""" - # support client code that unsets cookies by assignment of a None value: - if value is None: - remove_cookie_by_name(self, name, domain=kwargs.get('domain'), path=kwargs.get('path')) - return - - if isinstance(value, Morsel): - c = morsel_to_cookie(value) - else: - c = create_cookie(name, value, **kwargs) - self.set_cookie(c) - return c - - def iterkeys(self): - """Dict-like iterkeys() that returns an iterator of names of cookies - from the jar. See itervalues() and iteritems().""" - for cookie in iter(self): - yield cookie.name - - def keys(self): - """Dict-like keys() that returns a list of names of cookies from the - jar. See values() and items().""" - return list(self.iterkeys()) - - def itervalues(self): - """Dict-like itervalues() that returns an iterator of values of cookies - from the jar. See iterkeys() and iteritems().""" - for cookie in iter(self): - yield cookie.value - - def values(self): - """Dict-like values() that returns a list of values of cookies from the - jar. See keys() and items().""" - return list(self.itervalues()) - - def iteritems(self): - """Dict-like iteritems() that returns an iterator of name-value tuples - from the jar. See iterkeys() and itervalues().""" - for cookie in iter(self): - yield cookie.name, cookie.value - - def items(self): - """Dict-like items() that returns a list of name-value tuples from the - jar. See keys() and values(). Allows client-code to call - ``dict(RequestsCookieJar)`` and get a vanilla python dict of key value - pairs.""" - return list(self.iteritems()) - - def list_domains(self): - """Utility method to list all the domains in the jar.""" - domains = [] - for cookie in iter(self): - if cookie.domain not in domains: - domains.append(cookie.domain) - return domains - - def list_paths(self): - """Utility method to list all the paths in the jar.""" - paths = [] - for cookie in iter(self): - if cookie.path not in paths: - paths.append(cookie.path) - return paths - - def multiple_domains(self): - """Returns True if there are multiple domains in the jar. - Returns False otherwise.""" - domains = [] - for cookie in iter(self): - if cookie.domain is not None and cookie.domain in domains: - return True - domains.append(cookie.domain) - return False # there is only one domain in jar - - def get_dict(self, domain=None, path=None): - """Takes as an argument an optional domain and path and returns a plain - old Python dict of name-value pairs of cookies that meet the - requirements.""" - dictionary = {} - for cookie in iter(self): - if (domain is None or cookie.domain == domain) and (path is None - or cookie.path == path): - dictionary[cookie.name] = cookie.value - return dictionary - - def __getitem__(self, name): - """Dict-like __getitem__() for compatibility with client code. Throws - exception if there are more than one cookie with name. In that case, - use the more explicit get() method instead. - - .. warning:: operation is O(n), not O(1).""" - - return self._find_no_duplicates(name) - - def __setitem__(self, name, value): - """Dict-like __setitem__ for compatibility with client code. Throws - exception if there is already a cookie of that name in the jar. In that - case, use the more explicit set() method instead.""" - - self.set(name, value) - - def __delitem__(self, name): - """Deletes a cookie given a name. Wraps ``cookielib.CookieJar``'s - ``remove_cookie_by_name()``.""" - remove_cookie_by_name(self, name) - - def set_cookie(self, cookie, *args, **kwargs): - if hasattr(cookie.value, 'startswith') and cookie.value.startswith('"') and cookie.value.endswith('"'): - cookie.value = cookie.value.replace('\\"', '') - return super(RequestsCookieJar, self).set_cookie(cookie, *args, **kwargs) - - def update(self, other): - """Updates this jar with cookies from another CookieJar or dict-like""" - if isinstance(other, cookielib.CookieJar): - for cookie in other: - self.set_cookie(copy.copy(cookie)) - else: - super(RequestsCookieJar, self).update(other) - - def _find(self, name, domain=None, path=None): - """Requests uses this method internally to get cookie values. Takes as - args name and optional domain and path. Returns a cookie.value. If - there are conflicting cookies, _find arbitrarily chooses one. See - _find_no_duplicates if you want an exception thrown if there are - conflicting cookies.""" - for cookie in iter(self): - if cookie.name == name: - if domain is None or cookie.domain == domain: - if path is None or cookie.path == path: - return cookie.value - - raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) - - def _find_no_duplicates(self, name, domain=None, path=None): - """Both ``__get_item__`` and ``get`` call this function: it's never - used elsewhere in Requests. Takes as args name and optional domain and - path. Returns a cookie.value. Throws KeyError if cookie is not found - and CookieConflictError if there are multiple cookies that match name - and optionally domain and path.""" - toReturn = None - for cookie in iter(self): - if cookie.name == name: - if domain is None or cookie.domain == domain: - if path is None or cookie.path == path: - if toReturn is not None: # if there are multiple cookies that meet passed in criteria - raise CookieConflictError('There are multiple cookies with name, %r' % (name)) - toReturn = cookie.value # we will eventually return this as long as no cookie conflict - - if toReturn: - return toReturn - raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path)) - - def __getstate__(self): - """Unlike a normal CookieJar, this class is pickleable.""" - state = self.__dict__.copy() - # remove the unpickleable RLock object - state.pop('_cookies_lock') - return state - - def __setstate__(self, state): - """Unlike a normal CookieJar, this class is pickleable.""" - self.__dict__.update(state) - if '_cookies_lock' not in self.__dict__: - self._cookies_lock = threading.RLock() - - def copy(self): - """Return a copy of this RequestsCookieJar.""" - new_cj = RequestsCookieJar() - new_cj.update(self) - return new_cj - - -def _copy_cookie_jar(jar): - if jar is None: - return None - - if hasattr(jar, 'copy'): - # We're dealing with an instane of RequestsCookieJar - return jar.copy() - # We're dealing with a generic CookieJar instance - new_jar = copy.copy(jar) - new_jar.clear() - for cookie in jar: - new_jar.set_cookie(copy.copy(cookie)) - return new_jar - - -def create_cookie(name, value, **kwargs): - """Make a cookie from underspecified parameters. - - By default, the pair of `name` and `value` will be set for the domain '' - and sent on every request (this is sometimes called a "supercookie"). - """ - result = dict( - version=0, - name=name, - value=value, - port=None, - domain='', - path='/', - secure=False, - expires=None, - discard=True, - comment=None, - comment_url=None, - rest={'HttpOnly': None}, - rfc2109=False,) - - badargs = set(kwargs) - set(result) - if badargs: - err = 'create_cookie() got unexpected keyword arguments: %s' - raise TypeError(err % list(badargs)) - - result.update(kwargs) - result['port_specified'] = bool(result['port']) - result['domain_specified'] = bool(result['domain']) - result['domain_initial_dot'] = result['domain'].startswith('.') - result['path_specified'] = bool(result['path']) - - return cookielib.Cookie(**result) - - -def morsel_to_cookie(morsel): - """Convert a Morsel object into a Cookie containing the one k/v pair.""" - - expires = None - if morsel['max-age']: - expires = time.time() + morsel['max-age'] - elif morsel['expires']: - time_template = '%a, %d-%b-%Y %H:%M:%S GMT' - expires = time.mktime( - time.strptime(morsel['expires'], time_template)) - time.timezone - return create_cookie( - comment=morsel['comment'], - comment_url=bool(morsel['comment']), - discard=False, - domain=morsel['domain'], - expires=expires, - name=morsel.key, - path=morsel['path'], - port=None, - rest={'HttpOnly': morsel['httponly']}, - rfc2109=False, - secure=bool(morsel['secure']), - value=morsel.value, - version=morsel['version'] or 0, - ) - - -def cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True): - """Returns a CookieJar from a key/value dictionary. - - :param cookie_dict: Dict of key/values to insert into CookieJar. - :param cookiejar: (optional) A cookiejar to add the cookies to. - :param overwrite: (optional) If False, will not replace cookies - already in the jar with new ones. - """ - if cookiejar is None: - cookiejar = RequestsCookieJar() - - if cookie_dict is not None: - names_from_jar = [cookie.name for cookie in cookiejar] - for name in cookie_dict: - if overwrite or (name not in names_from_jar): - cookiejar.set_cookie(create_cookie(name, cookie_dict[name])) - - return cookiejar - - -def merge_cookies(cookiejar, cookies): - """Add cookies to cookiejar and returns a merged CookieJar. - - :param cookiejar: CookieJar object to add the cookies to. - :param cookies: Dictionary or CookieJar object to be added. - """ - if not isinstance(cookiejar, cookielib.CookieJar): - raise ValueError('You can only merge into CookieJar') - - if isinstance(cookies, dict): - cookiejar = cookiejar_from_dict( - cookies, cookiejar=cookiejar, overwrite=False) - elif isinstance(cookies, cookielib.CookieJar): - try: - cookiejar.update(cookies) - except AttributeError: - for cookie_in_jar in cookies: - cookiejar.set_cookie(cookie_in_jar) - - return cookiejar diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/exceptions.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/exceptions.py deleted file mode 100644 index 89135a80..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/exceptions.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.exceptions -~~~~~~~~~~~~~~~~~~~ - -This module contains the set of Requests' exceptions. - -""" -from .packages.urllib3.exceptions import HTTPError as BaseHTTPError - - -class RequestException(IOError): - """There was an ambiguous exception that occurred while handling your - request.""" - - def __init__(self, *args, **kwargs): - """ - Initialize RequestException with `request` and `response` objects. - """ - response = kwargs.pop('response', None) - self.response = response - self.request = kwargs.pop('request', None) - if (response is not None and not self.request and - hasattr(response, 'request')): - self.request = self.response.request - super(RequestException, self).__init__(*args, **kwargs) - - -class HTTPError(RequestException): - """An HTTP error occurred.""" - - -class ConnectionError(RequestException): - """A Connection error occurred.""" - - -class ProxyError(ConnectionError): - """A proxy error occurred.""" - - -class SSLError(ConnectionError): - """An SSL error occurred.""" - - -class Timeout(RequestException): - """The request timed out. - - Catching this error will catch both - :exc:`~requests.exceptions.ConnectTimeout` and - :exc:`~requests.exceptions.ReadTimeout` errors. - """ - - -class ConnectTimeout(ConnectionError, Timeout): - """The request timed out while trying to connect to the remote server. - - Requests that produced this error are safe to retry. - """ - - -class ReadTimeout(Timeout): - """The server did not send any data in the allotted amount of time.""" - - -class URLRequired(RequestException): - """A valid URL is required to make a request.""" - - -class TooManyRedirects(RequestException): - """Too many redirects.""" - - -class MissingSchema(RequestException, ValueError): - """The URL schema (e.g. http or https) is missing.""" - - -class InvalidSchema(RequestException, ValueError): - """See defaults.py for valid schemas.""" - - -class InvalidURL(RequestException, ValueError): - """ The URL provided was somehow invalid. """ - - -class ChunkedEncodingError(RequestException): - """The server declared chunked encoding but sent an invalid chunk.""" - - -class ContentDecodingError(RequestException, BaseHTTPError): - """Failed to decode response content""" - - -class StreamConsumedError(RequestException, TypeError): - """The content for this response was already consumed""" - - -class RetryError(RequestException): - """Custom retries logic failed""" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/hooks.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/hooks.py deleted file mode 100644 index 5dfaf6b6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/hooks.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.hooks -~~~~~~~~~~~~~~ - -This module provides the capabilities for the Requests hooks system. - -Available hooks: - -``response``: - The response generated from a Request. - -""" - - -HOOKS = ['response'] - - -def default_hooks(): - hooks = {} - for event in HOOKS: - hooks[event] = [] - return hooks - -# TODO: response is the only one - - -def dispatch_hook(key, hooks, hook_data, **kwargs): - """Dispatches a hook dictionary on a given piece of data.""" - - hooks = hooks or dict() - - if key in hooks: - hooks = hooks.get(key) - - if hasattr(hooks, '__call__'): - hooks = [hooks] - - for hook in hooks: - _hook_data = hook(hook_data, **kwargs) - if _hook_data is not None: - hook_data = _hook_data - - return hook_data diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/models.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/models.py deleted file mode 100644 index 45b3ea96..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/models.py +++ /dev/null @@ -1,859 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.models -~~~~~~~~~~~~~~~ - -This module contains the primary objects that power Requests. -""" - -import collections -import datetime - -from io import BytesIO, UnsupportedOperation -from .hooks import default_hooks -from .structures import CaseInsensitiveDict - -from .auth import HTTPBasicAuth -from .cookies import cookiejar_from_dict, get_cookie_header, _copy_cookie_jar -from .packages.urllib3.fields import RequestField -from .packages.urllib3.filepost import encode_multipart_formdata -from .packages.urllib3.util import parse_url -from .packages.urllib3.exceptions import ( - DecodeError, ReadTimeoutError, ProtocolError, LocationParseError) -from .exceptions import ( - HTTPError, MissingSchema, InvalidURL, ChunkedEncodingError, - ContentDecodingError, ConnectionError, StreamConsumedError) -from .utils import ( - guess_filename, get_auth_from_url, requote_uri, - stream_decode_response_unicode, to_key_val_list, parse_header_links, - iter_slices, guess_json_utf, super_len, to_native_string) -from .compat import ( - cookielib, urlunparse, urlsplit, urlencode, str, bytes, StringIO, - is_py2, chardet, json, builtin_str, basestring) -from .status_codes import codes - -#: The set of HTTP status codes that indicate an automatically -#: processable redirect. -REDIRECT_STATI = ( - codes.moved, # 301 - codes.found, # 302 - codes.other, # 303 - codes.temporary_redirect, # 307 - codes.permanent_redirect, # 308 -) -DEFAULT_REDIRECT_LIMIT = 30 -CONTENT_CHUNK_SIZE = 10 * 1024 -ITER_CHUNK_SIZE = 512 - -json_dumps = json.dumps - - -class RequestEncodingMixin(object): - @property - def path_url(self): - """Build the path URL to use.""" - - url = [] - - p = urlsplit(self.url) - - path = p.path - if not path: - path = '/' - - url.append(path) - - query = p.query - if query: - url.append('?') - url.append(query) - - return ''.join(url) - - @staticmethod - def _encode_params(data): - """Encode parameters in a piece of data. - - Will successfully encode parameters when passed as a dict or a list of - 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary - if parameters are supplied as a dict. - """ - - if isinstance(data, (str, bytes)): - return data - elif hasattr(data, 'read'): - return data - elif hasattr(data, '__iter__'): - result = [] - for k, vs in to_key_val_list(data): - if isinstance(vs, basestring) or not hasattr(vs, '__iter__'): - vs = [vs] - for v in vs: - if v is not None: - result.append( - (k.encode('utf-8') if isinstance(k, str) else k, - v.encode('utf-8') if isinstance(v, str) else v)) - return urlencode(result, doseq=True) - else: - return data - - @staticmethod - def _encode_files(files, data): - """Build the body for a multipart/form-data request. - - Will successfully encode files when passed as a dict or a list of - 2-tuples. Order is retained if data is a list of 2-tuples but arbitrary - if parameters are supplied as a dict. - - """ - if (not files): - raise ValueError("Files must be provided.") - elif isinstance(data, basestring): - raise ValueError("Data must not be a string.") - - new_fields = [] - fields = to_key_val_list(data or {}) - files = to_key_val_list(files or {}) - - for field, val in fields: - if isinstance(val, basestring) or not hasattr(val, '__iter__'): - val = [val] - for v in val: - if v is not None: - # Don't call str() on bytestrings: in Py3 it all goes wrong. - if not isinstance(v, bytes): - v = str(v) - - new_fields.append( - (field.decode('utf-8') if isinstance(field, bytes) else field, - v.encode('utf-8') if isinstance(v, str) else v)) - - for (k, v) in files: - # support for explicit filename - ft = None - fh = None - if isinstance(v, (tuple, list)): - if len(v) == 2: - fn, fp = v - elif len(v) == 3: - fn, fp, ft = v - else: - fn, fp, ft, fh = v - else: - fn = guess_filename(v) or k - fp = v - - if isinstance(fp, (str, bytes, bytearray)): - fdata = fp - else: - fdata = fp.read() - - rf = RequestField(name=k, data=fdata, - filename=fn, headers=fh) - rf.make_multipart(content_type=ft) - new_fields.append(rf) - - body, content_type = encode_multipart_formdata(new_fields) - - return body, content_type - - -class RequestHooksMixin(object): - def register_hook(self, event, hook): - """Properly register a hook.""" - - if event not in self.hooks: - raise ValueError('Unsupported event specified, with event name "%s"' % (event)) - - if isinstance(hook, collections.Callable): - self.hooks[event].append(hook) - elif hasattr(hook, '__iter__'): - self.hooks[event].extend(h for h in hook if isinstance(h, collections.Callable)) - - def deregister_hook(self, event, hook): - """Deregister a previously registered hook. - Returns True if the hook existed, False if not. - """ - - try: - self.hooks[event].remove(hook) - return True - except ValueError: - return False - - -class Request(RequestHooksMixin): - """A user-created :class:`Request ` object. - - Used to prepare a :class:`PreparedRequest `, which is sent to the server. - - :param method: HTTP method to use. - :param url: URL to send. - :param headers: dictionary of headers to send. - :param files: dictionary of {filename: fileobject} files to multipart upload. - :param data: the body to attach to the request. If a dictionary is provided, form-encoding will take place. - :param json: json for the body to attach to the request (if data is not specified). - :param params: dictionary of URL parameters to append to the URL. - :param auth: Auth handler or (user, pass) tuple. - :param cookies: dictionary or CookieJar of cookies to attach to this request. - :param hooks: dictionary of callback hooks, for internal usage. - - Usage:: - - >>> import requests - >>> req = requests.Request('GET', 'http://httpbin.org/get') - >>> req.prepare() - - - """ - def __init__(self, - method=None, - url=None, - headers=None, - files=None, - data=None, - params=None, - auth=None, - cookies=None, - hooks=None, - json=None): - - # Default empty dicts for dict params. - data = [] if data is None else data - files = [] if files is None else files - headers = {} if headers is None else headers - params = {} if params is None else params - hooks = {} if hooks is None else hooks - - self.hooks = default_hooks() - for (k, v) in list(hooks.items()): - self.register_hook(event=k, hook=v) - - self.method = method - self.url = url - self.headers = headers - self.files = files - self.data = data - self.json = json - self.params = params - self.auth = auth - self.cookies = cookies - - def __repr__(self): - return '' % (self.method) - - def prepare(self): - """Constructs a :class:`PreparedRequest ` for transmission and returns it.""" - p = PreparedRequest() - p.prepare( - method=self.method, - url=self.url, - headers=self.headers, - files=self.files, - data=self.data, - json=self.json, - params=self.params, - auth=self.auth, - cookies=self.cookies, - hooks=self.hooks, - ) - return p - - -class PreparedRequest(RequestEncodingMixin, RequestHooksMixin): - """The fully mutable :class:`PreparedRequest ` object, - containing the exact bytes that will be sent to the server. - - Generated from either a :class:`Request ` object or manually. - - Usage:: - - >>> import requests - >>> req = requests.Request('GET', 'http://httpbin.org/get') - >>> r = req.prepare() - - - >>> s = requests.Session() - >>> s.send(r) - - - """ - - def __init__(self): - #: HTTP verb to send to the server. - self.method = None - #: HTTP URL to send the request to. - self.url = None - #: dictionary of HTTP headers. - self.headers = None - # The `CookieJar` used to create the Cookie header will be stored here - # after prepare_cookies is called - self._cookies = None - #: request body to send to the server. - self.body = None - #: dictionary of callback hooks, for internal usage. - self.hooks = default_hooks() - - def prepare(self, method=None, url=None, headers=None, files=None, - data=None, params=None, auth=None, cookies=None, hooks=None, - json=None): - """Prepares the entire request with the given parameters.""" - - self.prepare_method(method) - self.prepare_url(url, params) - self.prepare_headers(headers) - self.prepare_cookies(cookies) - self.prepare_body(data, files, json) - self.prepare_auth(auth, url) - # Note that prepare_auth must be last to enable authentication schemes - # such as OAuth to work on a fully prepared request. - - # This MUST go after prepare_auth. Authenticators could add a hook - self.prepare_hooks(hooks) - - def __repr__(self): - return '' % (self.method) - - def copy(self): - p = PreparedRequest() - p.method = self.method - p.url = self.url - p.headers = self.headers.copy() if self.headers is not None else None - p._cookies = _copy_cookie_jar(self._cookies) - p.body = self.body - p.hooks = self.hooks - return p - - def prepare_method(self, method): - """Prepares the given HTTP method.""" - self.method = method - if self.method is not None: - self.method = self.method.upper() - - def prepare_url(self, url, params): - """Prepares the given HTTP URL.""" - #: Accept objects that have string representations. - #: We're unable to blindy call unicode/str functions - #: as this will include the bytestring indicator (b'') - #: on python 3.x. - #: https://github.com/kennethreitz/requests/pull/2238 - if isinstance(url, bytes): - url = url.decode('utf8') - else: - url = unicode(url) if is_py2 else str(url) - - # Don't do any URL preparation for non-HTTP schemes like `mailto`, - # `data` etc to work around exceptions from `url_parse`, which - # handles RFC 3986 only. - if ':' in url and not url.lower().startswith('http'): - self.url = url - return - - # Support for unicode domain names and paths. - try: - scheme, auth, host, port, path, query, fragment = parse_url(url) - except LocationParseError as e: - raise InvalidURL(*e.args) - - if not scheme: - raise MissingSchema("Invalid URL {0!r}: No schema supplied. " - "Perhaps you meant http://{0}?".format( - to_native_string(url, 'utf8'))) - - if not host: - raise InvalidURL("Invalid URL %r: No host supplied" % url) - - # Only want to apply IDNA to the hostname - try: - host = host.encode('idna').decode('utf-8') - except UnicodeError: - raise InvalidURL('URL has an invalid label.') - - # Carefully reconstruct the network location - netloc = auth or '' - if netloc: - netloc += '@' - netloc += host - if port: - netloc += ':' + str(port) - - # Bare domains aren't valid URLs. - if not path: - path = '/' - - if is_py2: - if isinstance(scheme, str): - scheme = scheme.encode('utf-8') - if isinstance(netloc, str): - netloc = netloc.encode('utf-8') - if isinstance(path, str): - path = path.encode('utf-8') - if isinstance(query, str): - query = query.encode('utf-8') - if isinstance(fragment, str): - fragment = fragment.encode('utf-8') - - enc_params = self._encode_params(params) - if enc_params: - if query: - query = '%s&%s' % (query, enc_params) - else: - query = enc_params - - url = requote_uri(urlunparse([scheme, netloc, path, None, query, fragment])) - self.url = url - - def prepare_headers(self, headers): - """Prepares the given HTTP headers.""" - - if headers: - self.headers = CaseInsensitiveDict((to_native_string(name), value) for name, value in headers.items()) - else: - self.headers = CaseInsensitiveDict() - - def prepare_body(self, data, files, json=None): - """Prepares the given HTTP body data.""" - - # Check if file, fo, generator, iterator. - # If not, run through normal process. - - # Nottin' on you. - body = None - content_type = None - length = None - - if json is not None: - content_type = 'application/json' - body = json_dumps(json) - - is_stream = all([ - hasattr(data, '__iter__'), - not isinstance(data, (basestring, list, tuple, dict)) - ]) - - try: - length = super_len(data) - except (TypeError, AttributeError, UnsupportedOperation): - length = None - - if is_stream: - body = data - - if files: - raise NotImplementedError('Streamed bodies and files are mutually exclusive.') - - if length is not None: - self.headers['Content-Length'] = builtin_str(length) - else: - self.headers['Transfer-Encoding'] = 'chunked' - else: - # Multi-part file uploads. - if files: - (body, content_type) = self._encode_files(files, data) - else: - if data and json is None: - body = self._encode_params(data) - if isinstance(data, basestring) or hasattr(data, 'read'): - content_type = None - else: - content_type = 'application/x-www-form-urlencoded' - - self.prepare_content_length(body) - - # Add content-type if it wasn't explicitly provided. - if content_type and ('content-type' not in self.headers): - self.headers['Content-Type'] = content_type - - self.body = body - - def prepare_content_length(self, body): - if hasattr(body, 'seek') and hasattr(body, 'tell'): - body.seek(0, 2) - self.headers['Content-Length'] = builtin_str(body.tell()) - body.seek(0, 0) - elif body is not None: - l = super_len(body) - if l: - self.headers['Content-Length'] = builtin_str(l) - elif (self.method not in ('GET', 'HEAD')) and (self.headers.get('Content-Length') is None): - self.headers['Content-Length'] = '0' - - def prepare_auth(self, auth, url=''): - """Prepares the given HTTP auth data.""" - - # If no Auth is explicitly provided, extract it from the URL first. - if auth is None: - url_auth = get_auth_from_url(self.url) - auth = url_auth if any(url_auth) else None - - if auth: - if isinstance(auth, tuple) and len(auth) == 2: - # special-case basic HTTP auth - auth = HTTPBasicAuth(*auth) - - # Allow auth to make its changes. - r = auth(self) - - # Update self to reflect the auth changes. - self.__dict__.update(r.__dict__) - - # Recompute Content-Length - self.prepare_content_length(self.body) - - def prepare_cookies(self, cookies): - """Prepares the given HTTP cookie data. - - This function eventually generates a ``Cookie`` header from the - given cookies using cookielib. Due to cookielib's design, the header - will not be regenerated if it already exists, meaning this function - can only be called once for the life of the - :class:`PreparedRequest ` object. Any subsequent calls - to ``prepare_cookies`` will have no actual effect, unless the "Cookie" - header is removed beforehand.""" - - if isinstance(cookies, cookielib.CookieJar): - self._cookies = cookies - else: - self._cookies = cookiejar_from_dict(cookies) - - cookie_header = get_cookie_header(self._cookies, self) - if cookie_header is not None: - self.headers['Cookie'] = cookie_header - - def prepare_hooks(self, hooks): - """Prepares the given hooks.""" - # hooks can be passed as None to the prepare method and to this - # method. To prevent iterating over None, simply use an empty list - # if hooks is False-y - hooks = hooks or [] - for event in hooks: - self.register_hook(event, hooks[event]) - - -class Response(object): - """The :class:`Response ` object, which contains a - server's response to an HTTP request. - """ - - __attrs__ = [ - '_content', - 'status_code', - 'headers', - 'url', - 'history', - 'encoding', - 'reason', - 'cookies', - 'elapsed', - 'request', - ] - - def __init__(self): - super(Response, self).__init__() - - self._content = False - self._content_consumed = False - - #: Integer Code of responded HTTP Status, e.g. 404 or 200. - self.status_code = None - - #: Case-insensitive Dictionary of Response Headers. - #: For example, ``headers['content-encoding']`` will return the - #: value of a ``'Content-Encoding'`` response header. - self.headers = CaseInsensitiveDict() - - #: File-like object representation of response (for advanced usage). - #: Use of ``raw`` requires that ``stream=True`` be set on the request. - # This requirement does not apply for use internally to Requests. - self.raw = None - - #: Final URL location of Response. - self.url = None - - #: Encoding to decode with when accessing r.text. - self.encoding = None - - #: A list of :class:`Response ` objects from - #: the history of the Request. Any redirect responses will end - #: up here. The list is sorted from the oldest to the most recent request. - self.history = [] - - #: Textual reason of responded HTTP Status, e.g. "Not Found" or "OK". - self.reason = None - - #: A CookieJar of Cookies the server sent back. - self.cookies = cookiejar_from_dict({}) - - #: The amount of time elapsed between sending the request - #: and the arrival of the response (as a timedelta). - #: This property specifically measures the time taken between sending - #: the first byte of the request and finishing parsing the headers. It - #: is therefore unaffected by consuming the response content or the - #: value of the ``stream`` keyword argument. - self.elapsed = datetime.timedelta(0) - - #: The :class:`PreparedRequest ` object to which this - #: is a response. - self.request = None - - def __getstate__(self): - # Consume everything; accessing the content attribute makes - # sure the content has been fully read. - if not self._content_consumed: - self.content - - return dict( - (attr, getattr(self, attr, None)) - for attr in self.__attrs__ - ) - - def __setstate__(self, state): - for name, value in state.items(): - setattr(self, name, value) - - # pickled objects do not have .raw - setattr(self, '_content_consumed', True) - setattr(self, 'raw', None) - - def __repr__(self): - return '' % (self.status_code) - - def __bool__(self): - """Returns true if :attr:`status_code` is 'OK'.""" - return self.ok - - def __nonzero__(self): - """Returns true if :attr:`status_code` is 'OK'.""" - return self.ok - - def __iter__(self): - """Allows you to use a response as an iterator.""" - return self.iter_content(128) - - @property - def ok(self): - try: - self.raise_for_status() - except HTTPError: - return False - return True - - @property - def is_redirect(self): - """True if this Response is a well-formed HTTP redirect that could have - been processed automatically (by :meth:`Session.resolve_redirects`). - """ - return ('location' in self.headers and self.status_code in REDIRECT_STATI) - - @property - def is_permanent_redirect(self): - """True if this Response one of the permanant versions of redirect""" - return ('location' in self.headers and self.status_code in (codes.moved_permanently, codes.permanent_redirect)) - - @property - def apparent_encoding(self): - """The apparent encoding, provided by the chardet library""" - return chardet.detect(self.content)['encoding'] - - def iter_content(self, chunk_size=1, decode_unicode=False): - """Iterates over the response data. When stream=True is set on the - request, this avoids reading the content at once into memory for - large responses. The chunk size is the number of bytes it should - read into memory. This is not necessarily the length of each item - returned as decoding can take place. - - If decode_unicode is True, content will be decoded using the best - available encoding based on the response. - """ - def generate(): - try: - # Special case for urllib3. - try: - for chunk in self.raw.stream(chunk_size, decode_content=True): - yield chunk - except ProtocolError as e: - raise ChunkedEncodingError(e) - except DecodeError as e: - raise ContentDecodingError(e) - except ReadTimeoutError as e: - raise ConnectionError(e) - except AttributeError: - # Standard file-like object. - while True: - chunk = self.raw.read(chunk_size) - if not chunk: - break - yield chunk - - self._content_consumed = True - - if self._content_consumed and isinstance(self._content, bool): - raise StreamConsumedError() - # simulate reading small chunks of the content - reused_chunks = iter_slices(self._content, chunk_size) - - stream_chunks = generate() - - chunks = reused_chunks if self._content_consumed else stream_chunks - - if decode_unicode: - chunks = stream_decode_response_unicode(chunks, self) - - return chunks - - def iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None, delimiter=None): - """Iterates over the response data, one line at a time. When - stream=True is set on the request, this avoids reading the - content at once into memory for large responses. - - .. note:: This method is not reentrant safe. - """ - - pending = None - - for chunk in self.iter_content(chunk_size=chunk_size, decode_unicode=decode_unicode): - - if pending is not None: - chunk = pending + chunk - - if delimiter: - lines = chunk.split(delimiter) - else: - lines = chunk.splitlines() - - if lines and lines[-1] and chunk and lines[-1][-1] == chunk[-1]: - pending = lines.pop() - else: - pending = None - - for line in lines: - yield line - - if pending is not None: - yield pending - - @property - def content(self): - """Content of the response, in bytes.""" - - if self._content is False: - # Read the contents. - try: - if self._content_consumed: - raise RuntimeError( - 'The content for this response was already consumed') - - if self.status_code == 0: - self._content = None - else: - self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes() - - except AttributeError: - self._content = None - - self._content_consumed = True - # don't need to release the connection; that's been handled by urllib3 - # since we exhausted the data. - return self._content - - @property - def text(self): - """Content of the response, in unicode. - - If Response.encoding is None, encoding will be guessed using - ``chardet``. - - The encoding of the response content is determined based solely on HTTP - headers, following RFC 2616 to the letter. If you can take advantage of - non-HTTP knowledge to make a better guess at the encoding, you should - set ``r.encoding`` appropriately before accessing this property. - """ - - # Try charset from content-type - content = None - encoding = self.encoding - - if not self.content: - return str('') - - # Fallback to auto-detected encoding. - if self.encoding is None: - encoding = self.apparent_encoding - - # Decode unicode from given encoding. - try: - content = str(self.content, encoding, errors='replace') - except (LookupError, TypeError): - # A LookupError is raised if the encoding was not found which could - # indicate a misspelling or similar mistake. - # - # A TypeError can be raised if encoding is None - # - # So we try blindly encoding. - content = str(self.content, errors='replace') - - return content - - def json(self, **kwargs): - """Returns the json-encoded content of a response, if any. - - :param \*\*kwargs: Optional arguments that ``json.loads`` takes. - """ - - if not self.encoding and len(self.content) > 3: - # No encoding set. JSON RFC 4627 section 3 states we should expect - # UTF-8, -16 or -32. Detect which one to use; If the detection or - # decoding fails, fall back to `self.text` (using chardet to make - # a best guess). - encoding = guess_json_utf(self.content) - if encoding is not None: - try: - return json.loads(self.content.decode(encoding), **kwargs) - except UnicodeDecodeError: - # Wrong UTF codec detected; usually because it's not UTF-8 - # but some other 8-bit codec. This is an RFC violation, - # and the server didn't bother to tell us what codec *was* - # used. - pass - return json.loads(self.text, **kwargs) - - @property - def links(self): - """Returns the parsed header links of the response, if any.""" - - header = self.headers.get('link') - - # l = MultiDict() - l = {} - - if header: - links = parse_header_links(header) - - for link in links: - key = link.get('rel') or link.get('url') - l[key] = link - - return l - - def raise_for_status(self): - """Raises stored :class:`HTTPError`, if one occurred.""" - - http_error_msg = '' - - if 400 <= self.status_code < 500: - http_error_msg = '%s Client Error: %s' % (self.status_code, self.reason) - - elif 500 <= self.status_code < 600: - http_error_msg = '%s Server Error: %s' % (self.status_code, self.reason) - - if http_error_msg: - raise HTTPError(http_error_msg, response=self) - - def close(self): - """Releases the connection back to the pool. Once this method has been - called the underlying ``raw`` object must not be accessed again. - - *Note: Should not normally need to be called explicitly.* - """ - return self.raw.release_conn() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/__init__.py deleted file mode 100644 index d62c4b71..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from __future__ import absolute_import - -from . import urllib3 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/__init__.py deleted file mode 100644 index 82c2a48d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -__version__ = "2.3.0" -from sys import version_info - - -def detect(aBuf): - if ((version_info < (3, 0) and isinstance(aBuf, unicode)) or - (version_info >= (3, 0) and not isinstance(aBuf, bytes))): - raise ValueError('Expected a bytes object, not a unicode object') - - from . import universaldetector - u = universaldetector.UniversalDetector() - u.reset() - u.feed(aBuf) - u.close() - return u.result diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5freq.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5freq.py deleted file mode 100644 index 65bffc04..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5freq.py +++ /dev/null @@ -1,925 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Big5 frequency table -# by Taiwan's Mandarin Promotion Council -# -# -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -#Char to FreqOrder table -BIG5_TABLE_SIZE = 5376 - -Big5CharToFreqOrder = ( - 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, # 16 -3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, # 32 -1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, # 48 - 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, # 64 -3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, # 80 -4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, # 96 -5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, # 112 - 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, # 128 - 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, # 144 - 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, # 160 -2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, # 176 -1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, # 192 -3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, # 208 - 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, # 224 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, # 240 -3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, # 256 -2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, # 272 - 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, # 288 -3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, # 304 -1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, # 320 -5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, # 336 - 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, # 352 -5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, # 368 -1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, # 384 - 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, # 400 - 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, # 416 -3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, # 432 -3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, # 448 - 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, # 464 -2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, # 480 -2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, # 496 - 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, # 512 - 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, # 528 -3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, # 544 -1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, # 560 -1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, # 576 -1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, # 592 -2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, # 608 - 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, # 624 -4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, # 640 -1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, # 656 -5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, # 672 -2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, # 688 - 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, # 704 - 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, # 720 - 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, # 736 - 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, # 752 -5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, # 768 - 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, # 784 -1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, # 800 - 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, # 816 - 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, # 832 -5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, # 848 -1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, # 864 - 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, # 880 -3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, # 896 -4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, # 912 -3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, # 928 - 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, # 944 - 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, # 960 -1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, # 976 -4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, # 992 -3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, # 1008 -3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, # 1024 -2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, # 1040 -5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, # 1056 -3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, # 1072 -5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, # 1088 -1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, # 1104 -2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, # 1120 -1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, # 1136 - 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, # 1152 -1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, # 1168 -4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, # 1184 -3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, # 1200 - 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, # 1216 - 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, # 1232 - 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, # 1248 -2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, # 1264 -5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, # 1280 -1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, # 1296 -2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, # 1312 -1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, # 1328 -1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, # 1344 -5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, # 1360 -5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, # 1376 -5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, # 1392 -3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, # 1408 -4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, # 1424 -4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, # 1440 -2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, # 1456 -5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, # 1472 -3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, # 1488 - 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, # 1504 -5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, # 1520 -5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, # 1536 -1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, # 1552 -2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, # 1568 -3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, # 1584 -4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, # 1600 -5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, # 1616 -3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, # 1632 -4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, # 1648 -1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, # 1664 -1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, # 1680 -4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, # 1696 -1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, # 1712 - 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, # 1728 -1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, # 1744 -1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, # 1760 -3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, # 1776 - 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, # 1792 -5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, # 1808 -2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, # 1824 -1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, # 1840 -1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, # 1856 -5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, # 1872 - 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, # 1888 -4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, # 1904 - 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, # 1920 -2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, # 1936 - 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, # 1952 -1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, # 1968 -1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, # 1984 - 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, # 2000 -4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, # 2016 -4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, # 2032 -1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, # 2048 -3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, # 2064 -5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, # 2080 -5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, # 2096 -1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, # 2112 -2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, # 2128 -1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, # 2144 -3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, # 2160 -2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, # 2176 -3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, # 2192 -2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, # 2208 -4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, # 2224 -4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, # 2240 -3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, # 2256 - 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, # 2272 -3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, # 2288 - 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, # 2304 -3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, # 2320 -4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, # 2336 -3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, # 2352 -1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, # 2368 -5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, # 2384 - 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, # 2400 -5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, # 2416 -1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, # 2432 - 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, # 2448 -4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, # 2464 -4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, # 2480 - 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, # 2496 -2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, # 2512 -2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, # 2528 -3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, # 2544 -1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, # 2560 -4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, # 2576 -2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, # 2592 -1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, # 2608 -1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, # 2624 -2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, # 2640 -3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, # 2656 -1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, # 2672 -5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, # 2688 -1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, # 2704 -4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, # 2720 -1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, # 2736 - 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, # 2752 -1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, # 2768 -4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, # 2784 -4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, # 2800 -2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, # 2816 -1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, # 2832 -4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, # 2848 - 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, # 2864 -5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, # 2880 -2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, # 2896 -3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, # 2912 -4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, # 2928 - 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, # 2944 -5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, # 2960 -5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, # 2976 -1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, # 2992 -4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, # 3008 -4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, # 3024 -2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, # 3040 -3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, # 3056 -3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, # 3072 -2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, # 3088 -1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, # 3104 -4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, # 3120 -3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, # 3136 -3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, # 3152 -2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, # 3168 -4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, # 3184 -5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, # 3200 -3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, # 3216 -2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, # 3232 -3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, # 3248 -1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, # 3264 -2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, # 3280 -3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, # 3296 -4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, # 3312 -2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, # 3328 -2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, # 3344 -5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, # 3360 -1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, # 3376 -2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, # 3392 -1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, # 3408 -3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, # 3424 -4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, # 3440 -2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, # 3456 -3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, # 3472 -3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, # 3488 -2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, # 3504 -4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, # 3520 -2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, # 3536 -3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, # 3552 -4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, # 3568 -5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, # 3584 -3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, # 3600 - 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, # 3616 -1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, # 3632 -4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, # 3648 -1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, # 3664 -4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, # 3680 -5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, # 3696 - 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, # 3712 -5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, # 3728 -5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, # 3744 -2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, # 3760 -3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, # 3776 -2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, # 3792 -2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, # 3808 - 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, # 3824 -1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, # 3840 -4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, # 3856 -3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, # 3872 -3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, # 3888 - 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, # 3904 -2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, # 3920 - 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, # 3936 -2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, # 3952 -4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, # 3968 -1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, # 3984 -4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, # 4000 -1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, # 4016 -3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, # 4032 - 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, # 4048 -3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, # 4064 -5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, # 4080 -5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, # 4096 -3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, # 4112 -3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, # 4128 -1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, # 4144 -2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, # 4160 -5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, # 4176 -1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, # 4192 -1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, # 4208 -3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, # 4224 - 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, # 4240 -1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, # 4256 -4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, # 4272 -5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, # 4288 -2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, # 4304 -3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, # 4320 - 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, # 4336 -1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, # 4352 -2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, # 4368 -2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, # 4384 -5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, # 4400 -5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, # 4416 -5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, # 4432 -2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, # 4448 -2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, # 4464 -1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, # 4480 -4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, # 4496 -3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, # 4512 -3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, # 4528 -4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, # 4544 -4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, # 4560 -2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, # 4576 -2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, # 4592 -5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, # 4608 -4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, # 4624 -5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, # 4640 -4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, # 4656 - 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, # 4672 - 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, # 4688 -1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, # 4704 -3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, # 4720 -4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, # 4736 -1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, # 4752 -5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, # 4768 -2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, # 4784 -2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, # 4800 -3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, # 4816 -5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, # 4832 -1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, # 4848 -3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, # 4864 -5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, # 4880 -1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, # 4896 -5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, # 4912 -2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, # 4928 -3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, # 4944 -2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, # 4960 -3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, # 4976 -3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, # 4992 -3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, # 5008 -4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, # 5024 - 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, # 5040 -2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, # 5056 -4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, # 5072 -3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, # 5088 -5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, # 5104 -1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, # 5120 -5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, # 5136 - 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, # 5152 -1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, # 5168 - 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, # 5184 -4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, # 5200 -1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, # 5216 -4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, # 5232 -1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, # 5248 - 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, # 5264 -3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, # 5280 -4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, # 5296 -5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, # 5312 - 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, # 5328 -3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, # 5344 - 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, # 5360 -2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, # 5376 #last 512 -#Everything below is of no interest for detection purpose -2522,1613,4812,5799,3345,3945,2523,5800,4162,5801,1637,4163,2471,4813,3946,5802, # 5392 -2500,3034,3800,5803,5804,2195,4814,5805,2163,5806,5807,5808,5809,5810,5811,5812, # 5408 -5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828, # 5424 -5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, # 5440 -5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, # 5456 -5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, # 5472 -5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, # 5488 -5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,5906,5907,5908, # 5504 -5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,5921,5922,5923,5924, # 5520 -5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940, # 5536 -5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956, # 5552 -5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972, # 5568 -5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988, # 5584 -5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004, # 5600 -6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020, # 5616 -6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036, # 5632 -6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052, # 5648 -6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068, # 5664 -6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084, # 5680 -6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100, # 5696 -6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116, # 5712 -6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, # 5728 -6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, # 5744 -6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164, # 5760 -6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,6180, # 5776 -6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196, # 5792 -6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212, # 5808 -6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,3670,6224,6225,6226,6227, # 5824 -6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243, # 5840 -6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259, # 5856 -6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275, # 5872 -6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,4815,6286,6287,6288,6289,6290, # 5888 -6291,6292,4816,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305, # 5904 -6306,6307,6308,6309,6310,6311,4817,4818,6312,6313,6314,6315,6316,6317,6318,4819, # 5920 -6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334, # 5936 -6335,6336,6337,4820,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349, # 5952 -6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365, # 5968 -6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381, # 5984 -6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,6396,6397, # 6000 -6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,3441,6411,6412, # 6016 -6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,4440,6426,6427, # 6032 -6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443, # 6048 -6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,4821,6455,6456,6457,6458, # 6064 -6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474, # 6080 -6475,6476,6477,3947,3948,6478,6479,6480,6481,3272,4441,6482,6483,6484,6485,4442, # 6096 -6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,4822,6497,6498,6499,6500, # 6112 -6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516, # 6128 -6517,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532, # 6144 -6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548, # 6160 -6549,6550,6551,6552,6553,6554,6555,6556,2784,6557,4823,6558,6559,6560,6561,6562, # 6176 -6563,6564,6565,6566,6567,6568,6569,3949,6570,6571,6572,4824,6573,6574,6575,6576, # 6192 -6577,6578,6579,6580,6581,6582,6583,4825,6584,6585,6586,3950,2785,6587,6588,6589, # 6208 -6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605, # 6224 -6606,6607,6608,6609,6610,6611,6612,4826,6613,6614,6615,4827,6616,6617,6618,6619, # 6240 -6620,6621,6622,6623,6624,6625,4164,6626,6627,6628,6629,6630,6631,6632,6633,6634, # 6256 -3547,6635,4828,6636,6637,6638,6639,6640,6641,6642,3951,2984,6643,6644,6645,6646, # 6272 -6647,6648,6649,4165,6650,4829,6651,6652,4830,6653,6654,6655,6656,6657,6658,6659, # 6288 -6660,6661,6662,4831,6663,6664,6665,6666,6667,6668,6669,6670,6671,4166,6672,4832, # 6304 -3952,6673,6674,6675,6676,4833,6677,6678,6679,4167,6680,6681,6682,3198,6683,6684, # 6320 -6685,6686,6687,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,4834,6698,6699, # 6336 -6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715, # 6352 -6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731, # 6368 -6732,6733,6734,4443,6735,6736,6737,6738,6739,6740,6741,6742,6743,6744,6745,4444, # 6384 -6746,6747,6748,6749,6750,6751,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761, # 6400 -6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777, # 6416 -6778,6779,6780,6781,4168,6782,6783,3442,6784,6785,6786,6787,6788,6789,6790,6791, # 6432 -4169,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806, # 6448 -6807,6808,6809,6810,6811,4835,6812,6813,6814,4445,6815,6816,4446,6817,6818,6819, # 6464 -6820,6821,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6834,6835, # 6480 -3548,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6846,4836,6847,6848,6849, # 6496 -6850,6851,6852,6853,6854,3953,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864, # 6512 -6865,6866,6867,6868,6869,6870,6871,6872,6873,6874,6875,6876,6877,3199,6878,6879, # 6528 -6880,6881,6882,4447,6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894, # 6544 -6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,4170,6905,6906,6907,6908,6909, # 6560 -6910,6911,6912,6913,6914,6915,6916,6917,6918,6919,6920,6921,6922,6923,6924,6925, # 6576 -6926,6927,4837,6928,6929,6930,6931,6932,6933,6934,6935,6936,3346,6937,6938,4838, # 6592 -6939,6940,6941,4448,6942,6943,6944,6945,6946,4449,6947,6948,6949,6950,6951,6952, # 6608 -6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968, # 6624 -6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984, # 6640 -6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,3671,6995,6996,6997,6998,4839, # 6656 -6999,7000,7001,7002,3549,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013, # 6672 -7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,7028,7029, # 6688 -7030,4840,7031,7032,7033,7034,7035,7036,7037,7038,4841,7039,7040,7041,7042,7043, # 6704 -7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059, # 6720 -7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,2985,7071,7072,7073,7074, # 6736 -7075,7076,7077,7078,7079,7080,4842,7081,7082,7083,7084,7085,7086,7087,7088,7089, # 6752 -7090,7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105, # 6768 -7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,4450,7119,7120, # 6784 -7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136, # 6800 -7137,7138,7139,7140,7141,7142,7143,4843,7144,7145,7146,7147,7148,7149,7150,7151, # 6816 -7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167, # 6832 -7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183, # 6848 -7184,7185,7186,7187,7188,4171,4172,7189,7190,7191,7192,7193,7194,7195,7196,7197, # 6864 -7198,7199,7200,7201,7202,7203,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213, # 6880 -7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229, # 6896 -7230,7231,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245, # 6912 -7246,7247,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261, # 6928 -7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277, # 6944 -7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293, # 6960 -7294,7295,7296,4844,7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308, # 6976 -7309,7310,7311,7312,7313,7314,7315,7316,4451,7317,7318,7319,7320,7321,7322,7323, # 6992 -7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339, # 7008 -7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,4173,7354, # 7024 -7355,4845,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365,7366,7367,7368,7369, # 7040 -7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381,7382,7383,7384,7385, # 7056 -7386,7387,7388,4846,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400, # 7072 -7401,7402,7403,7404,7405,3672,7406,7407,7408,7409,7410,7411,7412,7413,7414,7415, # 7088 -7416,7417,7418,7419,7420,7421,7422,7423,7424,7425,7426,7427,7428,7429,7430,7431, # 7104 -7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447, # 7120 -7448,7449,7450,7451,7452,7453,4452,7454,3200,7455,7456,7457,7458,7459,7460,7461, # 7136 -7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,4847,7475,7476, # 7152 -7477,3133,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491, # 7168 -7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,3347,7503,7504,7505,7506, # 7184 -7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,4848, # 7200 -7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, # 7216 -7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,3801,4849,7550,7551, # 7232 -7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, # 7248 -7568,7569,3035,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582, # 7264 -7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598, # 7280 -7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614, # 7296 -7615,7616,4850,7617,7618,3802,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628, # 7312 -7629,7630,7631,7632,4851,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643, # 7328 -7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, # 7344 -7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,4453,7671,7672,7673,7674, # 7360 -7675,7676,7677,7678,7679,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690, # 7376 -7691,7692,7693,7694,7695,7696,7697,3443,7698,7699,7700,7701,7702,4454,7703,7704, # 7392 -7705,7706,7707,7708,7709,7710,7711,7712,7713,2472,7714,7715,7716,7717,7718,7719, # 7408 -7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,3954,7732,7733,7734, # 7424 -7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750, # 7440 -3134,7751,7752,4852,7753,7754,7755,4853,7756,7757,7758,7759,7760,4174,7761,7762, # 7456 -7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778, # 7472 -7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, # 7488 -7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,4854,7806,7807,7808,7809, # 7504 -7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825, # 7520 -4855,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, # 7536 -7841,7842,7843,7844,7845,7846,7847,3955,7848,7849,7850,7851,7852,7853,7854,7855, # 7552 -7856,7857,7858,7859,7860,3444,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, # 7568 -7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886, # 7584 -7887,7888,7889,7890,7891,4175,7892,7893,7894,7895,7896,4856,4857,7897,7898,7899, # 7600 -7900,2598,7901,7902,7903,7904,7905,7906,7907,7908,4455,7909,7910,7911,7912,7913, # 7616 -7914,3201,7915,7916,7917,7918,7919,7920,7921,4858,7922,7923,7924,7925,7926,7927, # 7632 -7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943, # 7648 -7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7958,7959, # 7664 -7960,7961,7962,7963,7964,7965,7966,7967,7968,7969,7970,7971,7972,7973,7974,7975, # 7680 -7976,7977,7978,7979,7980,7981,4859,7982,7983,7984,7985,7986,7987,7988,7989,7990, # 7696 -7991,7992,7993,7994,7995,7996,4860,7997,7998,7999,8000,8001,8002,8003,8004,8005, # 7712 -8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,4176,8017,8018,8019,8020, # 7728 -8021,8022,8023,4861,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035, # 7744 -8036,4862,4456,8037,8038,8039,8040,4863,8041,8042,8043,8044,8045,8046,8047,8048, # 7760 -8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,8064, # 7776 -8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080, # 7792 -8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096, # 7808 -8097,8098,8099,4864,4177,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110, # 7824 -8111,8112,8113,8114,8115,8116,8117,8118,8119,8120,4178,8121,8122,8123,8124,8125, # 7840 -8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141, # 7856 -8142,8143,8144,8145,4865,4866,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155, # 7872 -8156,8157,8158,8159,8160,8161,8162,8163,8164,8165,4179,8166,8167,8168,8169,8170, # 7888 -8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181,4457,8182,8183,8184,8185, # 7904 -8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201, # 7920 -8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,8215,8216,8217, # 7936 -8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229,8230,8231,8232,8233, # 7952 -8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245,8246,8247,8248,8249, # 7968 -8250,8251,8252,8253,8254,8255,8256,3445,8257,8258,8259,8260,8261,8262,4458,8263, # 7984 -8264,8265,8266,8267,8268,8269,8270,8271,8272,4459,8273,8274,8275,8276,3550,8277, # 8000 -8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,4460,8290,8291,8292, # 8016 -8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,4867, # 8032 -8308,8309,8310,8311,8312,3551,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, # 8048 -8323,8324,8325,8326,4868,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337, # 8064 -8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353, # 8080 -8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,4869,4461,8364,8365,8366,8367, # 8096 -8368,8369,8370,4870,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382, # 8112 -8383,8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398, # 8128 -8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,4871,8411,8412,8413, # 8144 -8414,8415,8416,8417,8418,8419,8420,8421,8422,4462,8423,8424,8425,8426,8427,8428, # 8160 -8429,8430,8431,8432,8433,2986,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443, # 8176 -8444,8445,8446,8447,8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459, # 8192 -8460,8461,8462,8463,8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475, # 8208 -8476,8477,8478,4180,8479,8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490, # 8224 -8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506, # 8240 -8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522, # 8256 -8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538, # 8272 -8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554, # 8288 -8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,4872,8565,8566,8567,8568,8569, # 8304 -8570,8571,8572,8573,4873,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, # 8320 -8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, # 8336 -8601,8602,8603,8604,8605,3803,8606,8607,8608,8609,8610,8611,8612,8613,4874,3804, # 8352 -8614,8615,8616,8617,8618,8619,8620,8621,3956,8622,8623,8624,8625,8626,8627,8628, # 8368 -8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,2865,8639,8640,8641,8642,8643, # 8384 -8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,4463,8657,8658, # 8400 -8659,4875,4876,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672, # 8416 -8673,8674,8675,8676,8677,8678,8679,8680,8681,4464,8682,8683,8684,8685,8686,8687, # 8432 -8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, # 8448 -8704,8705,8706,8707,8708,8709,2261,8710,8711,8712,8713,8714,8715,8716,8717,8718, # 8464 -8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,4181, # 8480 -8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746,8747,8748,8749, # 8496 -8750,8751,8752,8753,8754,8755,8756,8757,8758,8759,8760,8761,8762,8763,4877,8764, # 8512 -8765,8766,8767,8768,8769,8770,8771,8772,8773,8774,8775,8776,8777,8778,8779,8780, # 8528 -8781,8782,8783,8784,8785,8786,8787,8788,4878,8789,4879,8790,8791,8792,4880,8793, # 8544 -8794,8795,8796,8797,8798,8799,8800,8801,4881,8802,8803,8804,8805,8806,8807,8808, # 8560 -8809,8810,8811,8812,8813,8814,8815,3957,8816,8817,8818,8819,8820,8821,8822,8823, # 8576 -8824,8825,8826,8827,8828,8829,8830,8831,8832,8833,8834,8835,8836,8837,8838,8839, # 8592 -8840,8841,8842,8843,8844,8845,8846,8847,4882,8848,8849,8850,8851,8852,8853,8854, # 8608 -8855,8856,8857,8858,8859,8860,8861,8862,8863,8864,8865,8866,8867,8868,8869,8870, # 8624 -8871,8872,8873,8874,8875,8876,8877,8878,8879,8880,8881,8882,8883,8884,3202,8885, # 8640 -8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901, # 8656 -8902,8903,8904,8905,8906,8907,8908,8909,8910,8911,8912,8913,8914,8915,8916,8917, # 8672 -8918,8919,8920,8921,8922,8923,8924,4465,8925,8926,8927,8928,8929,8930,8931,8932, # 8688 -4883,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942,8943,2214,8944,8945,8946, # 8704 -8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958,8959,8960,8961,8962, # 8720 -8963,8964,8965,4884,8966,8967,8968,8969,8970,8971,8972,8973,8974,8975,8976,8977, # 8736 -8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,4885, # 8752 -8993,8994,8995,8996,8997,8998,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008, # 8768 -9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,4182,9022,9023, # 8784 -9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,9035,9036,9037,9038,9039, # 8800 -9040,9041,9042,9043,9044,9045,9046,9047,9048,9049,9050,9051,9052,9053,9054,9055, # 8816 -9056,9057,9058,9059,9060,9061,9062,9063,4886,9064,9065,9066,9067,9068,9069,4887, # 8832 -9070,9071,9072,9073,9074,9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085, # 8848 -9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101, # 8864 -9102,9103,9104,9105,9106,9107,9108,9109,9110,9111,9112,9113,9114,9115,9116,9117, # 8880 -9118,9119,9120,9121,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133, # 8896 -9134,9135,9136,9137,9138,9139,9140,9141,3958,9142,9143,9144,9145,9146,9147,9148, # 8912 -9149,9150,9151,4888,9152,9153,9154,9155,9156,9157,9158,9159,9160,9161,9162,9163, # 8928 -9164,9165,9166,9167,9168,9169,9170,9171,9172,9173,9174,9175,4889,9176,9177,9178, # 8944 -9179,9180,9181,9182,9183,9184,9185,9186,9187,9188,9189,9190,9191,9192,9193,9194, # 8960 -9195,9196,9197,9198,9199,9200,9201,9202,9203,4890,9204,9205,9206,9207,9208,9209, # 8976 -9210,9211,9212,9213,9214,9215,9216,9217,9218,9219,9220,9221,9222,4466,9223,9224, # 8992 -9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240, # 9008 -9241,9242,9243,9244,9245,4891,9246,9247,9248,9249,9250,9251,9252,9253,9254,9255, # 9024 -9256,9257,4892,9258,9259,9260,9261,4893,4894,9262,9263,9264,9265,9266,9267,9268, # 9040 -9269,9270,9271,9272,9273,4467,9274,9275,9276,9277,9278,9279,9280,9281,9282,9283, # 9056 -9284,9285,3673,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298, # 9072 -9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,9310,9311,9312,9313,9314, # 9088 -9315,9316,9317,9318,9319,9320,9321,9322,4895,9323,9324,9325,9326,9327,9328,9329, # 9104 -9330,9331,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345, # 9120 -9346,9347,4468,9348,9349,9350,9351,9352,9353,9354,9355,9356,9357,9358,9359,9360, # 9136 -9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9372,9373,4896,9374,4469, # 9152 -9375,9376,9377,9378,9379,4897,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389, # 9168 -9390,9391,9392,9393,9394,9395,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405, # 9184 -9406,4470,9407,2751,9408,9409,3674,3552,9410,9411,9412,9413,9414,9415,9416,9417, # 9200 -9418,9419,9420,9421,4898,9422,9423,9424,9425,9426,9427,9428,9429,3959,9430,9431, # 9216 -9432,9433,9434,9435,9436,4471,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446, # 9232 -9447,9448,9449,9450,3348,9451,9452,9453,9454,9455,9456,9457,9458,9459,9460,9461, # 9248 -9462,9463,9464,9465,9466,9467,9468,9469,9470,9471,9472,4899,9473,9474,9475,9476, # 9264 -9477,4900,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,3349,9489,9490, # 9280 -9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506, # 9296 -9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,4901,9521, # 9312 -9522,9523,9524,9525,9526,4902,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536, # 9328 -9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,9548,9549,9550,9551,9552, # 9344 -9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568, # 9360 -9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584, # 9376 -3805,9585,9586,9587,9588,9589,9590,9591,9592,9593,9594,9595,9596,9597,9598,9599, # 9392 -9600,9601,9602,4903,9603,9604,9605,9606,9607,4904,9608,9609,9610,9611,9612,9613, # 9408 -9614,4905,9615,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, # 9424 -9629,9630,9631,9632,4906,9633,9634,9635,9636,9637,9638,9639,9640,9641,9642,9643, # 9440 -4907,9644,9645,9646,9647,9648,9649,9650,9651,9652,9653,9654,9655,9656,9657,9658, # 9456 -9659,9660,9661,9662,9663,9664,9665,9666,9667,9668,9669,9670,9671,9672,4183,9673, # 9472 -9674,9675,9676,9677,4908,9678,9679,9680,9681,4909,9682,9683,9684,9685,9686,9687, # 9488 -9688,9689,9690,4910,9691,9692,9693,3675,9694,9695,9696,2945,9697,9698,9699,9700, # 9504 -9701,9702,9703,9704,9705,4911,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715, # 9520 -9716,9717,9718,9719,9720,9721,9722,9723,9724,9725,9726,9727,9728,9729,9730,9731, # 9536 -9732,9733,9734,9735,4912,9736,9737,9738,9739,9740,4913,9741,9742,9743,9744,9745, # 9552 -9746,9747,9748,9749,9750,9751,9752,9753,9754,9755,9756,9757,9758,4914,9759,9760, # 9568 -9761,9762,9763,9764,9765,9766,9767,9768,9769,9770,9771,9772,9773,9774,9775,9776, # 9584 -9777,9778,9779,9780,9781,9782,4915,9783,9784,9785,9786,9787,9788,9789,9790,9791, # 9600 -9792,9793,4916,9794,9795,9796,9797,9798,9799,9800,9801,9802,9803,9804,9805,9806, # 9616 -9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818,9819,9820,9821,9822, # 9632 -9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834,9835,9836,9837,9838, # 9648 -9839,9840,9841,9842,9843,9844,9845,9846,9847,9848,9849,9850,9851,9852,9853,9854, # 9664 -9855,9856,9857,9858,9859,9860,9861,9862,9863,9864,9865,9866,9867,9868,4917,9869, # 9680 -9870,9871,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, # 9696 -9886,9887,9888,9889,9890,9891,9892,4472,9893,9894,9895,9896,9897,3806,9898,9899, # 9712 -9900,9901,9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,4918, # 9728 -9915,9916,9917,4919,9918,9919,9920,9921,4184,9922,9923,9924,9925,9926,9927,9928, # 9744 -9929,9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9944, # 9760 -9945,9946,4920,9947,9948,9949,9950,9951,9952,9953,9954,9955,4185,9956,9957,9958, # 9776 -9959,9960,9961,9962,9963,9964,9965,4921,9966,9967,9968,4473,9969,9970,9971,9972, # 9792 -9973,9974,9975,9976,9977,4474,9978,9979,9980,9981,9982,9983,9984,9985,9986,9987, # 9808 -9988,9989,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999,10000,10001,10002,10003, # 9824 -10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019, # 9840 -10020,10021,4922,10022,4923,10023,10024,10025,10026,10027,10028,10029,10030,10031,10032,10033, # 9856 -10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,4924, # 9872 -10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064, # 9888 -10065,10066,10067,10068,10069,10070,10071,10072,10073,10074,10075,10076,10077,10078,10079,10080, # 9904 -10081,10082,10083,10084,10085,10086,10087,4475,10088,10089,10090,10091,10092,10093,10094,10095, # 9920 -10096,10097,4476,10098,10099,10100,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110, # 9936 -10111,2174,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125, # 9952 -10126,10127,10128,10129,10130,10131,10132,10133,10134,10135,10136,10137,10138,10139,10140,3807, # 9968 -4186,4925,10141,10142,10143,10144,10145,10146,10147,4477,4187,10148,10149,10150,10151,10152, # 9984 -10153,4188,10154,10155,10156,10157,10158,10159,10160,10161,4926,10162,10163,10164,10165,10166, #10000 -10167,10168,10169,10170,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182, #10016 -10183,10184,10185,10186,10187,10188,10189,10190,10191,10192,3203,10193,10194,10195,10196,10197, #10032 -10198,10199,10200,4478,10201,10202,10203,10204,4479,10205,10206,10207,10208,10209,10210,10211, #10048 -10212,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10225,10226,10227, #10064 -10228,10229,10230,10231,10232,10233,10234,4927,10235,10236,10237,10238,10239,10240,10241,10242, #10080 -10243,10244,10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258, #10096 -10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271,10272,10273,4480, #10112 -4928,4929,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,10287, #10128 -10288,10289,10290,10291,10292,10293,10294,10295,10296,10297,10298,10299,10300,10301,10302,10303, #10144 -10304,10305,10306,10307,10308,10309,10310,10311,10312,10313,10314,10315,10316,10317,10318,10319, #10160 -10320,10321,10322,10323,10324,10325,10326,10327,10328,10329,10330,10331,10332,10333,10334,4930, #10176 -10335,10336,10337,10338,10339,10340,10341,10342,4931,10343,10344,10345,10346,10347,10348,10349, #10192 -10350,10351,10352,10353,10354,10355,3088,10356,2786,10357,10358,10359,10360,4189,10361,10362, #10208 -10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,10374,10375,4932,10376,10377, #10224 -10378,10379,10380,10381,10382,10383,10384,10385,10386,10387,10388,10389,10390,10391,10392,4933, #10240 -10393,10394,10395,4934,10396,10397,10398,10399,10400,10401,10402,10403,10404,10405,10406,10407, #10256 -10408,10409,10410,10411,10412,3446,10413,10414,10415,10416,10417,10418,10419,10420,10421,10422, #10272 -10423,4935,10424,10425,10426,10427,10428,10429,10430,4936,10431,10432,10433,10434,10435,10436, #10288 -10437,10438,10439,10440,10441,10442,10443,4937,10444,10445,10446,10447,4481,10448,10449,10450, #10304 -10451,10452,10453,10454,10455,10456,10457,10458,10459,10460,10461,10462,10463,10464,10465,10466, #10320 -10467,10468,10469,10470,10471,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482, #10336 -10483,10484,10485,10486,10487,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,10498, #10352 -10499,10500,10501,10502,10503,10504,10505,4938,10506,10507,10508,10509,10510,2552,10511,10512, #10368 -10513,10514,10515,10516,3447,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10527, #10384 -10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539,10540,10541,10542,10543, #10400 -4482,10544,4939,10545,10546,10547,10548,10549,10550,10551,10552,10553,10554,10555,10556,10557, #10416 -10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,3676,4483,10568,10569,10570,10571, #10432 -10572,3448,10573,10574,10575,10576,10577,10578,10579,10580,10581,10582,10583,10584,10585,10586, #10448 -10587,10588,10589,10590,10591,10592,10593,10594,10595,10596,10597,10598,10599,10600,10601,10602, #10464 -10603,10604,10605,10606,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618, #10480 -10619,10620,10621,10622,10623,10624,10625,10626,10627,4484,10628,10629,10630,10631,10632,4940, #10496 -10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648, #10512 -10649,10650,10651,10652,10653,10654,10655,10656,4941,10657,10658,10659,2599,10660,10661,10662, #10528 -10663,10664,10665,10666,3089,10667,10668,10669,10670,10671,10672,10673,10674,10675,10676,10677, #10544 -10678,10679,10680,4942,10681,10682,10683,10684,10685,10686,10687,10688,10689,10690,10691,10692, #10560 -10693,10694,10695,10696,10697,4485,10698,10699,10700,10701,10702,10703,10704,4943,10705,3677, #10576 -10706,10707,10708,10709,10710,10711,10712,4944,10713,10714,10715,10716,10717,10718,10719,10720, #10592 -10721,10722,10723,10724,10725,10726,10727,10728,4945,10729,10730,10731,10732,10733,10734,10735, #10608 -10736,10737,10738,10739,10740,10741,10742,10743,10744,10745,10746,10747,10748,10749,10750,10751, #10624 -10752,10753,10754,10755,10756,10757,10758,10759,10760,10761,4946,10762,10763,10764,10765,10766, #10640 -10767,4947,4948,10768,10769,10770,10771,10772,10773,10774,10775,10776,10777,10778,10779,10780, #10656 -10781,10782,10783,10784,10785,10786,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, #10672 -10797,10798,10799,10800,10801,10802,10803,10804,10805,10806,10807,10808,10809,10810,10811,10812, #10688 -10813,10814,10815,10816,10817,10818,10819,10820,10821,10822,10823,10824,10825,10826,10827,10828, #10704 -10829,10830,10831,10832,10833,10834,10835,10836,10837,10838,10839,10840,10841,10842,10843,10844, #10720 -10845,10846,10847,10848,10849,10850,10851,10852,10853,10854,10855,10856,10857,10858,10859,10860, #10736 -10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876, #10752 -10877,10878,4486,10879,10880,10881,10882,10883,10884,10885,4949,10886,10887,10888,10889,10890, #10768 -10891,10892,10893,10894,10895,10896,10897,10898,10899,10900,10901,10902,10903,10904,10905,10906, #10784 -10907,10908,10909,10910,10911,10912,10913,10914,10915,10916,10917,10918,10919,4487,10920,10921, #10800 -10922,10923,10924,10925,10926,10927,10928,10929,10930,10931,10932,4950,10933,10934,10935,10936, #10816 -10937,10938,10939,10940,10941,10942,10943,10944,10945,10946,10947,10948,10949,4488,10950,10951, #10832 -10952,10953,10954,10955,10956,10957,10958,10959,4190,10960,10961,10962,10963,10964,10965,10966, #10848 -10967,10968,10969,10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982, #10864 -10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10995,10996,10997,10998, #10880 -10999,11000,11001,11002,11003,11004,11005,11006,3960,11007,11008,11009,11010,11011,11012,11013, #10896 -11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026,11027,11028,11029, #10912 -11030,11031,11032,4951,11033,11034,11035,11036,11037,11038,11039,11040,11041,11042,11043,11044, #10928 -11045,11046,11047,4489,11048,11049,11050,11051,4952,11052,11053,11054,11055,11056,11057,11058, #10944 -4953,11059,11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,4954,11072, #10960 -11073,11074,11075,11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088, #10976 -11089,11090,11091,11092,11093,11094,11095,11096,11097,11098,11099,11100,11101,11102,11103,11104, #10992 -11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,3808,11116,11117,11118,11119, #11008 -11120,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131,11132,11133,11134,4955, #11024 -11135,11136,11137,11138,11139,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150, #11040 -11151,11152,11153,11154,11155,11156,11157,11158,11159,11160,11161,4956,11162,11163,11164,11165, #11056 -11166,11167,11168,11169,11170,11171,11172,11173,11174,11175,11176,11177,11178,11179,11180,4957, #11072 -11181,11182,11183,11184,11185,11186,4958,11187,11188,11189,11190,11191,11192,11193,11194,11195, #11088 -11196,11197,11198,11199,11200,3678,11201,11202,11203,11204,11205,11206,4191,11207,11208,11209, #11104 -11210,11211,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221,11222,11223,11224,11225, #11120 -11226,11227,11228,11229,11230,11231,11232,11233,11234,11235,11236,11237,11238,11239,11240,11241, #11136 -11242,11243,11244,11245,11246,11247,11248,11249,11250,11251,4959,11252,11253,11254,11255,11256, #11152 -11257,11258,11259,11260,11261,11262,11263,11264,11265,11266,11267,11268,11269,11270,11271,11272, #11168 -11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288, #11184 -11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304, #11200 -11305,11306,11307,11308,11309,11310,11311,11312,11313,11314,3679,11315,11316,11317,11318,4490, #11216 -11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334, #11232 -11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,4960,11348,11349, #11248 -11350,11351,11352,11353,11354,11355,11356,11357,11358,11359,11360,11361,11362,11363,11364,11365, #11264 -11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,3961,4961,11378,11379, #11280 -11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395, #11296 -11396,11397,4192,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410, #11312 -11411,4962,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425, #11328 -11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441, #11344 -11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457, #11360 -11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,4963,11470,11471,4491, #11376 -11472,11473,11474,11475,4964,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486, #11392 -11487,11488,11489,11490,11491,11492,4965,11493,11494,11495,11496,11497,11498,11499,11500,11501, #11408 -11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512,11513,11514,11515,11516,11517, #11424 -11518,11519,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,3962,11530,11531,11532, #11440 -11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548, #11456 -11549,11550,11551,11552,11553,11554,11555,11556,11557,11558,11559,11560,11561,11562,11563,11564, #11472 -4193,4194,11565,11566,11567,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578, #11488 -11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,4966,4195,11592, #11504 -11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,3090,11605,11606,11607, #11520 -11608,11609,11610,4967,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622, #11536 -11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638, #11552 -11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652,11653,11654, #11568 -11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670, #11584 -11671,11672,11673,11674,4968,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684,11685, #11600 -11686,11687,11688,11689,11690,11691,11692,11693,3809,11694,11695,11696,11697,11698,11699,11700, #11616 -11701,11702,11703,11704,11705,11706,11707,11708,11709,11710,11711,11712,11713,11714,11715,11716, #11632 -11717,11718,3553,11719,11720,11721,11722,11723,11724,11725,11726,11727,11728,11729,11730,4969, #11648 -11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,4492,11741,11742,11743,11744,11745, #11664 -11746,11747,11748,11749,11750,11751,11752,4970,11753,11754,11755,11756,11757,11758,11759,11760, #11680 -11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,11776, #11696 -11777,11778,11779,11780,11781,11782,11783,11784,11785,11786,11787,11788,11789,11790,4971,11791, #11712 -11792,11793,11794,11795,11796,11797,4972,11798,11799,11800,11801,11802,11803,11804,11805,11806, #11728 -11807,11808,11809,11810,4973,11811,11812,11813,11814,11815,11816,11817,11818,11819,11820,11821, #11744 -11822,11823,11824,11825,11826,11827,11828,11829,11830,11831,11832,11833,11834,3680,3810,11835, #11760 -11836,4974,11837,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848,11849,11850, #11776 -11851,11852,11853,11854,11855,11856,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866, #11792 -11867,11868,11869,11870,11871,11872,11873,11874,11875,11876,11877,11878,11879,11880,11881,11882, #11808 -11883,11884,4493,11885,11886,11887,11888,11889,11890,11891,11892,11893,11894,11895,11896,11897, #11824 -11898,11899,11900,11901,11902,11903,11904,11905,11906,11907,11908,11909,11910,11911,11912,11913, #11840 -11914,11915,4975,11916,11917,11918,11919,11920,11921,11922,11923,11924,11925,11926,11927,11928, #11856 -11929,11930,11931,11932,11933,11934,11935,11936,11937,11938,11939,11940,11941,11942,11943,11944, #11872 -11945,11946,11947,11948,11949,4976,11950,11951,11952,11953,11954,11955,11956,11957,11958,11959, #11888 -11960,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,11972,11973,11974,11975, #11904 -11976,11977,11978,11979,11980,11981,11982,11983,11984,11985,11986,11987,4196,11988,11989,11990, #11920 -11991,11992,4977,11993,11994,11995,11996,11997,11998,11999,12000,12001,12002,12003,12004,12005, #11936 -12006,12007,12008,12009,12010,12011,12012,12013,12014,12015,12016,12017,12018,12019,12020,12021, #11952 -12022,12023,12024,12025,12026,12027,12028,12029,12030,12031,12032,12033,12034,12035,12036,12037, #11968 -12038,12039,12040,12041,12042,12043,12044,12045,12046,12047,12048,12049,12050,12051,12052,12053, #11984 -12054,12055,12056,12057,12058,12059,12060,12061,4978,12062,12063,12064,12065,12066,12067,12068, #12000 -12069,12070,12071,12072,12073,12074,12075,12076,12077,12078,12079,12080,12081,12082,12083,12084, #12016 -12085,12086,12087,12088,12089,12090,12091,12092,12093,12094,12095,12096,12097,12098,12099,12100, #12032 -12101,12102,12103,12104,12105,12106,12107,12108,12109,12110,12111,12112,12113,12114,12115,12116, #12048 -12117,12118,12119,12120,12121,12122,12123,4979,12124,12125,12126,12127,12128,4197,12129,12130, #12064 -12131,12132,12133,12134,12135,12136,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146, #12080 -12147,12148,12149,12150,12151,12152,12153,12154,4980,12155,12156,12157,12158,12159,12160,4494, #12096 -12161,12162,12163,12164,3811,12165,12166,12167,12168,12169,4495,12170,12171,4496,12172,12173, #12112 -12174,12175,12176,3812,12177,12178,12179,12180,12181,12182,12183,12184,12185,12186,12187,12188, #12128 -12189,12190,12191,12192,12193,12194,12195,12196,12197,12198,12199,12200,12201,12202,12203,12204, #12144 -12205,12206,12207,12208,12209,12210,12211,12212,12213,12214,12215,12216,12217,12218,12219,12220, #12160 -12221,4981,12222,12223,12224,12225,12226,12227,12228,12229,12230,12231,12232,12233,12234,12235, #12176 -4982,12236,12237,12238,12239,12240,12241,12242,12243,12244,12245,4983,12246,12247,12248,12249, #12192 -4984,12250,12251,12252,12253,12254,12255,12256,12257,12258,12259,12260,12261,12262,12263,12264, #12208 -4985,12265,4497,12266,12267,12268,12269,12270,12271,12272,12273,12274,12275,12276,12277,12278, #12224 -12279,12280,12281,12282,12283,12284,12285,12286,12287,4986,12288,12289,12290,12291,12292,12293, #12240 -12294,12295,12296,2473,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12307,12308, #12256 -12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12319,3963,12320,12321,12322,12323, #12272 -12324,12325,12326,12327,12328,12329,12330,12331,12332,4987,12333,12334,12335,12336,12337,12338, #12288 -12339,12340,12341,12342,12343,12344,12345,12346,12347,12348,12349,12350,12351,12352,12353,12354, #12304 -12355,12356,12357,12358,12359,3964,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369, #12320 -12370,3965,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384, #12336 -12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400, #12352 -12401,12402,12403,12404,12405,12406,12407,12408,4988,12409,12410,12411,12412,12413,12414,12415, #12368 -12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431, #12384 -12432,12433,12434,12435,12436,12437,12438,3554,12439,12440,12441,12442,12443,12444,12445,12446, #12400 -12447,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462, #12416 -12463,12464,4989,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477, #12432 -12478,12479,12480,4990,12481,12482,12483,12484,12485,12486,12487,12488,12489,4498,12490,12491, #12448 -12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507, #12464 -12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523, #12480 -12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12539, #12496 -12540,12541,12542,12543,12544,12545,12546,12547,12548,12549,12550,12551,4991,12552,12553,12554, #12512 -12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570, #12528 -12571,12572,12573,12574,12575,12576,12577,12578,3036,12579,12580,12581,12582,12583,3966,12584, #12544 -12585,12586,12587,12588,12589,12590,12591,12592,12593,12594,12595,12596,12597,12598,12599,12600, #12560 -12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616, #12576 -12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632, #12592 -12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,4499,12647, #12608 -12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663, #12624 -12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679, #12640 -12680,12681,12682,12683,12684,12685,12686,12687,12688,12689,12690,12691,12692,12693,12694,12695, #12656 -12696,12697,12698,4992,12699,12700,12701,12702,12703,12704,12705,12706,12707,12708,12709,12710, #12672 -12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726, #12688 -12727,12728,12729,12730,12731,12732,12733,12734,12735,12736,12737,12738,12739,12740,12741,12742, #12704 -12743,12744,12745,12746,12747,12748,12749,12750,12751,12752,12753,12754,12755,12756,12757,12758, #12720 -12759,12760,12761,12762,12763,12764,12765,12766,12767,12768,12769,12770,12771,12772,12773,12774, #12736 -12775,12776,12777,12778,4993,2175,12779,12780,12781,12782,12783,12784,12785,12786,4500,12787, #12752 -12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,12800,12801,12802,12803, #12768 -12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819, #12784 -12820,12821,12822,12823,12824,12825,12826,4198,3967,12827,12828,12829,12830,12831,12832,12833, #12800 -12834,12835,12836,12837,12838,12839,12840,12841,12842,12843,12844,12845,12846,12847,12848,12849, #12816 -12850,12851,12852,12853,12854,12855,12856,12857,12858,12859,12860,12861,4199,12862,12863,12864, #12832 -12865,12866,12867,12868,12869,12870,12871,12872,12873,12874,12875,12876,12877,12878,12879,12880, #12848 -12881,12882,12883,12884,12885,12886,12887,4501,12888,12889,12890,12891,12892,12893,12894,12895, #12864 -12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911, #12880 -12912,4994,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,12924,12925,12926, #12896 -12927,12928,12929,12930,12931,12932,12933,12934,12935,12936,12937,12938,12939,12940,12941,12942, #12912 -12943,12944,12945,12946,12947,12948,12949,12950,12951,12952,12953,12954,12955,12956,1772,12957, #12928 -12958,12959,12960,12961,12962,12963,12964,12965,12966,12967,12968,12969,12970,12971,12972,12973, #12944 -12974,12975,12976,12977,12978,12979,12980,12981,12982,12983,12984,12985,12986,12987,12988,12989, #12960 -12990,12991,12992,12993,12994,12995,12996,12997,4502,12998,4503,12999,13000,13001,13002,13003, #12976 -4504,13004,13005,13006,13007,13008,13009,13010,13011,13012,13013,13014,13015,13016,13017,13018, #12992 -13019,13020,13021,13022,13023,13024,13025,13026,13027,13028,13029,3449,13030,13031,13032,13033, #13008 -13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044,13045,13046,13047,13048,13049, #13024 -13050,13051,13052,13053,13054,13055,13056,13057,13058,13059,13060,13061,13062,13063,13064,13065, #13040 -13066,13067,13068,13069,13070,13071,13072,13073,13074,13075,13076,13077,13078,13079,13080,13081, #13056 -13082,13083,13084,13085,13086,13087,13088,13089,13090,13091,13092,13093,13094,13095,13096,13097, #13072 -13098,13099,13100,13101,13102,13103,13104,13105,13106,13107,13108,13109,13110,13111,13112,13113, #13088 -13114,13115,13116,13117,13118,3968,13119,4995,13120,13121,13122,13123,13124,13125,13126,13127, #13104 -4505,13128,13129,13130,13131,13132,13133,13134,4996,4506,13135,13136,13137,13138,13139,4997, #13120 -13140,13141,13142,13143,13144,13145,13146,13147,13148,13149,13150,13151,13152,13153,13154,13155, #13136 -13156,13157,13158,13159,4998,13160,13161,13162,13163,13164,13165,13166,13167,13168,13169,13170, #13152 -13171,13172,13173,13174,13175,13176,4999,13177,13178,13179,13180,13181,13182,13183,13184,13185, #13168 -13186,13187,13188,13189,13190,13191,13192,13193,13194,13195,13196,13197,13198,13199,13200,13201, #13184 -13202,13203,13204,13205,13206,5000,13207,13208,13209,13210,13211,13212,13213,13214,13215,13216, #13200 -13217,13218,13219,13220,13221,13222,13223,13224,13225,13226,13227,4200,5001,13228,13229,13230, #13216 -13231,13232,13233,13234,13235,13236,13237,13238,13239,13240,3969,13241,13242,13243,13244,3970, #13232 -13245,13246,13247,13248,13249,13250,13251,13252,13253,13254,13255,13256,13257,13258,13259,13260, #13248 -13261,13262,13263,13264,13265,13266,13267,13268,3450,13269,13270,13271,13272,13273,13274,13275, #13264 -13276,5002,13277,13278,13279,13280,13281,13282,13283,13284,13285,13286,13287,13288,13289,13290, #13280 -13291,13292,13293,13294,13295,13296,13297,13298,13299,13300,13301,13302,3813,13303,13304,13305, #13296 -13306,13307,13308,13309,13310,13311,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321, #13312 -13322,13323,13324,13325,13326,13327,13328,4507,13329,13330,13331,13332,13333,13334,13335,13336, #13328 -13337,13338,13339,13340,13341,5003,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351, #13344 -13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367, #13360 -5004,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382, #13376 -13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398, #13392 -13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414, #13408 -13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430, #13424 -13431,13432,4508,13433,13434,13435,4201,13436,13437,13438,13439,13440,13441,13442,13443,13444, #13440 -13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,5005,13458,13459, #13456 -13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,4509,13471,13472,13473,13474, #13472 -13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490, #13488 -13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506, #13504 -13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522, #13520 -13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538, #13536 -13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554, #13552 -13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570, #13568 -13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586, #13584 -13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602, #13600 -13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618, #13616 -13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634, #13632 -13635,13636,13637,13638,13639,13640,13641,13642,5006,13643,13644,13645,13646,13647,13648,13649, #13648 -13650,13651,5007,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664, #13664 -13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680, #13680 -13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696, #13696 -13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712, #13712 -13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728, #13728 -13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744, #13744 -13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760, #13760 -13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,3273,13775, #13776 -13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791, #13792 -13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807, #13808 -13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823, #13824 -13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839, #13840 -13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855, #13856 -13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871, #13872 -13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887, #13888 -13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903, #13904 -13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919, #13920 -13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935, #13936 -13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951, #13952 -13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967, #13968 -13968,13969,13970,13971,13972) #13973 - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5prober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5prober.py deleted file mode 100644 index becce81e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/big5prober.py +++ /dev/null @@ -1,42 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import Big5DistributionAnalysis -from .mbcssm import Big5SMModel - - -class Big5Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(Big5SMModel) - self._mDistributionAnalyzer = Big5DistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "Big5" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardetect.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardetect.py deleted file mode 100644 index ffe892f2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardetect.py +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env python -""" -Script which takes one or more file paths and reports on their detected -encodings - -Example:: - - % chardetect somefile someotherfile - somefile: windows-1252 with confidence 0.5 - someotherfile: ascii with confidence 1.0 - -If no paths are provided, it takes its input from stdin. - -""" - -from __future__ import absolute_import, print_function, unicode_literals - -import argparse -import sys -from io import open - -from chardet import __version__ -from chardet.universaldetector import UniversalDetector - - -def description_of(lines, name='stdin'): - """ - Return a string describing the probable encoding of a file or - list of strings. - - :param lines: The lines to get the encoding of. - :type lines: Iterable of bytes - :param name: Name of file or collection of lines - :type name: str - """ - u = UniversalDetector() - for line in lines: - u.feed(line) - u.close() - result = u.result - if result['encoding']: - return '{0}: {1} with confidence {2}'.format(name, result['encoding'], - result['confidence']) - else: - return '{0}: no result'.format(name) - - -def main(argv=None): - ''' - Handles command line arguments and gets things started. - - :param argv: List of arguments, as if specified on the command-line. - If None, ``sys.argv[1:]`` is used instead. - :type argv: list of str - ''' - # Get command line arguments - parser = argparse.ArgumentParser( - description="Takes one or more file paths and reports their detected \ - encodings", - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - conflict_handler='resolve') - parser.add_argument('input', - help='File whose encoding we would like to determine.', - type=argparse.FileType('rb'), nargs='*', - default=[sys.stdin]) - parser.add_argument('--version', action='version', - version='%(prog)s {0}'.format(__version__)) - args = parser.parse_args(argv) - - for f in args.input: - if f.isatty(): - print("You are running chardetect interactively. Press " + - "CTRL-D twice at the start of a blank line to signal the " + - "end of your input. If you want help, run chardetect " + - "--help\n", file=sys.stderr) - print(description_of(f, f.name)) - - -if __name__ == '__main__': - main() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardistribution.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardistribution.py deleted file mode 100644 index 4e64a00b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/chardistribution.py +++ /dev/null @@ -1,231 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .euctwfreq import (EUCTWCharToFreqOrder, EUCTW_TABLE_SIZE, - EUCTW_TYPICAL_DISTRIBUTION_RATIO) -from .euckrfreq import (EUCKRCharToFreqOrder, EUCKR_TABLE_SIZE, - EUCKR_TYPICAL_DISTRIBUTION_RATIO) -from .gb2312freq import (GB2312CharToFreqOrder, GB2312_TABLE_SIZE, - GB2312_TYPICAL_DISTRIBUTION_RATIO) -from .big5freq import (Big5CharToFreqOrder, BIG5_TABLE_SIZE, - BIG5_TYPICAL_DISTRIBUTION_RATIO) -from .jisfreq import (JISCharToFreqOrder, JIS_TABLE_SIZE, - JIS_TYPICAL_DISTRIBUTION_RATIO) -from .compat import wrap_ord - -ENOUGH_DATA_THRESHOLD = 1024 -SURE_YES = 0.99 -SURE_NO = 0.01 -MINIMUM_DATA_THRESHOLD = 3 - - -class CharDistributionAnalysis: - def __init__(self): - # Mapping table to get frequency order from char order (get from - # GetOrder()) - self._mCharToFreqOrder = None - self._mTableSize = None # Size of above table - # This is a constant value which varies from language to language, - # used in calculating confidence. See - # http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html - # for further detail. - self._mTypicalDistributionRatio = None - self.reset() - - def reset(self): - """reset analyser, clear any state""" - # If this flag is set to True, detection is done and conclusion has - # been made - self._mDone = False - self._mTotalChars = 0 # Total characters encountered - # The number of characters whose frequency order is less than 512 - self._mFreqChars = 0 - - def feed(self, aBuf, aCharLen): - """feed a character with known length""" - if aCharLen == 2: - # we only care about 2-bytes character in our distribution analysis - order = self.get_order(aBuf) - else: - order = -1 - if order >= 0: - self._mTotalChars += 1 - # order is valid - if order < self._mTableSize: - if 512 > self._mCharToFreqOrder[order]: - self._mFreqChars += 1 - - def get_confidence(self): - """return confidence based on existing data""" - # if we didn't receive any character in our consideration range, - # return negative answer - if self._mTotalChars <= 0 or self._mFreqChars <= MINIMUM_DATA_THRESHOLD: - return SURE_NO - - if self._mTotalChars != self._mFreqChars: - r = (self._mFreqChars / ((self._mTotalChars - self._mFreqChars) - * self._mTypicalDistributionRatio)) - if r < SURE_YES: - return r - - # normalize confidence (we don't want to be 100% sure) - return SURE_YES - - def got_enough_data(self): - # It is not necessary to receive all data to draw conclusion. - # For charset detection, certain amount of data is enough - return self._mTotalChars > ENOUGH_DATA_THRESHOLD - - def get_order(self, aBuf): - # We do not handle characters based on the original encoding string, - # but convert this encoding string to a number, here called order. - # This allows multiple encodings of a language to share one frequency - # table. - return -1 - - -class EUCTWDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCTWCharToFreqOrder - self._mTableSize = EUCTW_TABLE_SIZE - self._mTypicalDistributionRatio = EUCTW_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-TW encoding, we are interested - # first byte range: 0xc4 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) - if first_char >= 0xC4: - return 94 * (first_char - 0xC4) + wrap_ord(aBuf[1]) - 0xA1 - else: - return -1 - - -class EUCKRDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = EUCKRCharToFreqOrder - self._mTableSize = EUCKR_TABLE_SIZE - self._mTypicalDistributionRatio = EUCKR_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-KR encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char = wrap_ord(aBuf[0]) - if first_char >= 0xB0: - return 94 * (first_char - 0xB0) + wrap_ord(aBuf[1]) - 0xA1 - else: - return -1 - - -class GB2312DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = GB2312CharToFreqOrder - self._mTableSize = GB2312_TABLE_SIZE - self._mTypicalDistributionRatio = GB2312_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for GB2312 encoding, we are interested - # first byte range: 0xb0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if (first_char >= 0xB0) and (second_char >= 0xA1): - return 94 * (first_char - 0xB0) + second_char - 0xA1 - else: - return -1 - - -class Big5DistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = Big5CharToFreqOrder - self._mTableSize = BIG5_TABLE_SIZE - self._mTypicalDistributionRatio = BIG5_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for big5 encoding, we are interested - # first byte range: 0xa4 -- 0xfe - # second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if first_char >= 0xA4: - if second_char >= 0xA1: - return 157 * (first_char - 0xA4) + second_char - 0xA1 + 63 - else: - return 157 * (first_char - 0xA4) + second_char - 0x40 - else: - return -1 - - -class SJISDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for sjis encoding, we are interested - # first byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe - # second byte range: 0x40 -- 0x7e, 0x81 -- oxfe - # no validation needed here. State machine has done that - first_char, second_char = wrap_ord(aBuf[0]), wrap_ord(aBuf[1]) - if (first_char >= 0x81) and (first_char <= 0x9F): - order = 188 * (first_char - 0x81) - elif (first_char >= 0xE0) and (first_char <= 0xEF): - order = 188 * (first_char - 0xE0 + 31) - else: - return -1 - order = order + second_char - 0x40 - if second_char > 0x7F: - order = -1 - return order - - -class EUCJPDistributionAnalysis(CharDistributionAnalysis): - def __init__(self): - CharDistributionAnalysis.__init__(self) - self._mCharToFreqOrder = JISCharToFreqOrder - self._mTableSize = JIS_TABLE_SIZE - self._mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO - - def get_order(self, aBuf): - # for euc-JP encoding, we are interested - # first byte range: 0xa0 -- 0xfe - # second byte range: 0xa1 -- 0xfe - # no validation needed here. State machine has done that - char = wrap_ord(aBuf[0]) - if char >= 0xA0: - return 94 * (char - 0xA1) + wrap_ord(aBuf[1]) - 0xa1 - else: - return -1 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetgroupprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetgroupprober.py deleted file mode 100644 index 85e7a1c6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetgroupprober.py +++ /dev/null @@ -1,106 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import sys -from .charsetprober import CharSetProber - - -class CharSetGroupProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mActiveNum = 0 - self._mProbers = [] - self._mBestGuessProber = None - - def reset(self): - CharSetProber.reset(self) - self._mActiveNum = 0 - for prober in self._mProbers: - if prober: - prober.reset() - prober.active = True - self._mActiveNum += 1 - self._mBestGuessProber = None - - def get_charset_name(self): - if not self._mBestGuessProber: - self.get_confidence() - if not self._mBestGuessProber: - return None -# self._mBestGuessProber = self._mProbers[0] - return self._mBestGuessProber.get_charset_name() - - def feed(self, aBuf): - for prober in self._mProbers: - if not prober: - continue - if not prober.active: - continue - st = prober.feed(aBuf) - if not st: - continue - if st == constants.eFoundIt: - self._mBestGuessProber = prober - return self.get_state() - elif st == constants.eNotMe: - prober.active = False - self._mActiveNum -= 1 - if self._mActiveNum <= 0: - self._mState = constants.eNotMe - return self.get_state() - return self.get_state() - - def get_confidence(self): - st = self.get_state() - if st == constants.eFoundIt: - return 0.99 - elif st == constants.eNotMe: - return 0.01 - bestConf = 0.0 - self._mBestGuessProber = None - for prober in self._mProbers: - if not prober: - continue - if not prober.active: - if constants._debug: - sys.stderr.write(prober.get_charset_name() - + ' not active\n') - continue - cf = prober.get_confidence() - if constants._debug: - sys.stderr.write('%s confidence = %s\n' % - (prober.get_charset_name(), cf)) - if bestConf < cf: - bestConf = cf - self._mBestGuessProber = prober - if not self._mBestGuessProber: - return 0.0 - return bestConf -# else: -# self._mBestGuessProber = self._mProbers[0] -# return self._mBestGuessProber.get_confidence() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetprober.py deleted file mode 100644 index 97581712..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/charsetprober.py +++ /dev/null @@ -1,62 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import re - - -class CharSetProber: - def __init__(self): - pass - - def reset(self): - self._mState = constants.eDetecting - - def get_charset_name(self): - return None - - def feed(self, aBuf): - pass - - def get_state(self): - return self._mState - - def get_confidence(self): - return 0.0 - - def filter_high_bit_only(self, aBuf): - aBuf = re.sub(b'([\x00-\x7F])+', b' ', aBuf) - return aBuf - - def filter_without_english_letters(self, aBuf): - aBuf = re.sub(b'([A-Za-z])+', b' ', aBuf) - return aBuf - - def filter_with_english_letters(self, aBuf): - # TODO - return aBuf diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/codingstatemachine.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/codingstatemachine.py deleted file mode 100644 index 8dd8c917..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/codingstatemachine.py +++ /dev/null @@ -1,61 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart -from .compat import wrap_ord - - -class CodingStateMachine: - def __init__(self, sm): - self._mModel = sm - self._mCurrentBytePos = 0 - self._mCurrentCharLen = 0 - self.reset() - - def reset(self): - self._mCurrentState = eStart - - def next_state(self, c): - # for each byte we get its class - # if it is first byte, we also get byte length - # PY3K: aBuf is a byte stream, so c is an int, not a byte - byteCls = self._mModel['classTable'][wrap_ord(c)] - if self._mCurrentState == eStart: - self._mCurrentBytePos = 0 - self._mCurrentCharLen = self._mModel['charLenTable'][byteCls] - # from byte's class and stateTable, we get its next state - curr_state = (self._mCurrentState * self._mModel['classFactor'] - + byteCls) - self._mCurrentState = self._mModel['stateTable'][curr_state] - self._mCurrentBytePos += 1 - return self._mCurrentState - - def get_current_charlen(self): - return self._mCurrentCharLen - - def get_coding_state_machine(self): - return self._mModel['name'] diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/compat.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/compat.py deleted file mode 100644 index d9e30add..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/compat.py +++ /dev/null @@ -1,34 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# Contributor(s): -# Ian Cordasco - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys - - -if sys.version_info < (3, 0): - base_str = (str, unicode) -else: - base_str = (bytes, str) - - -def wrap_ord(a): - if sys.version_info < (3, 0) and isinstance(a, base_str): - return ord(a) - else: - return a diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/constants.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/constants.py deleted file mode 100644 index e4d148b3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/constants.py +++ /dev/null @@ -1,39 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -_debug = 0 - -eDetecting = 0 -eFoundIt = 1 -eNotMe = 2 - -eStart = 0 -eError = 1 -eItsMe = 2 - -SHORTCUT_THRESHOLD = 0.95 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/cp949prober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/cp949prober.py deleted file mode 100644 index ff4272f8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/cp949prober.py +++ /dev/null @@ -1,44 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import CP949SMModel - - -class CP949Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(CP949SMModel) - # NOTE: CP949 is a superset of EUC-KR, so the distribution should be - # not different. - self._mDistributionAnalyzer = EUCKRDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "CP949" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escprober.py deleted file mode 100644 index 80a844ff..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escprober.py +++ /dev/null @@ -1,86 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -from .escsm import (HZSMModel, ISO2022CNSMModel, ISO2022JPSMModel, - ISO2022KRSMModel) -from .charsetprober import CharSetProber -from .codingstatemachine import CodingStateMachine -from .compat import wrap_ord - - -class EscCharSetProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mCodingSM = [ - CodingStateMachine(HZSMModel), - CodingStateMachine(ISO2022CNSMModel), - CodingStateMachine(ISO2022JPSMModel), - CodingStateMachine(ISO2022KRSMModel) - ] - self.reset() - - def reset(self): - CharSetProber.reset(self) - for codingSM in self._mCodingSM: - if not codingSM: - continue - codingSM.active = True - codingSM.reset() - self._mActiveSM = len(self._mCodingSM) - self._mDetectedCharset = None - - def get_charset_name(self): - return self._mDetectedCharset - - def get_confidence(self): - if self._mDetectedCharset: - return 0.99 - else: - return 0.00 - - def feed(self, aBuf): - for c in aBuf: - # PY3K: aBuf is a byte array, so c is an int, not a byte - for codingSM in self._mCodingSM: - if not codingSM: - continue - if not codingSM.active: - continue - codingState = codingSM.next_state(wrap_ord(c)) - if codingState == constants.eError: - codingSM.active = False - self._mActiveSM -= 1 - if self._mActiveSM <= 0: - self._mState = constants.eNotMe - return self.get_state() - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - self._mDetectedCharset = codingSM.get_coding_state_machine() # nopep8 - return self.get_state() - - return self.get_state() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escsm.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escsm.py deleted file mode 100644 index bd302b4c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/escsm.py +++ /dev/null @@ -1,242 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart, eError, eItsMe - -HZ_cls = ( -1,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,0,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,4,0,5,2,0, # 78 - 7f -1,1,1,1,1,1,1,1, # 80 - 87 -1,1,1,1,1,1,1,1, # 88 - 8f -1,1,1,1,1,1,1,1, # 90 - 97 -1,1,1,1,1,1,1,1, # 98 - 9f -1,1,1,1,1,1,1,1, # a0 - a7 -1,1,1,1,1,1,1,1, # a8 - af -1,1,1,1,1,1,1,1, # b0 - b7 -1,1,1,1,1,1,1,1, # b8 - bf -1,1,1,1,1,1,1,1, # c0 - c7 -1,1,1,1,1,1,1,1, # c8 - cf -1,1,1,1,1,1,1,1, # d0 - d7 -1,1,1,1,1,1,1,1, # d8 - df -1,1,1,1,1,1,1,1, # e0 - e7 -1,1,1,1,1,1,1,1, # e8 - ef -1,1,1,1,1,1,1,1, # f0 - f7 -1,1,1,1,1,1,1,1, # f8 - ff -) - -HZ_st = ( -eStart,eError, 3,eStart,eStart,eStart,eError,eError,# 00-07 -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 08-0f -eItsMe,eItsMe,eError,eError,eStart,eStart, 4,eError,# 10-17 - 5,eError, 6,eError, 5, 5, 4,eError,# 18-1f - 4,eError, 4, 4, 4,eError, 4,eError,# 20-27 - 4,eItsMe,eStart,eStart,eStart,eStart,eStart,eStart,# 28-2f -) - -HZCharLenTable = (0, 0, 0, 0, 0, 0) - -HZSMModel = {'classTable': HZ_cls, - 'classFactor': 6, - 'stateTable': HZ_st, - 'charLenTable': HZCharLenTable, - 'name': "HZ-GB-2312"} - -ISO2022CN_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,0,0,0,0, # 20 - 27 -0,3,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,4,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022CN_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eError,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eError,eError,eError, 4,eError,# 18-1f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 20-27 - 5, 6,eError,eError,eError,eError,eError,eError,# 28-2f -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 30-37 -eError,eError,eError,eError,eError,eItsMe,eError,eStart,# 38-3f -) - -ISO2022CNCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022CNSMModel = {'classTable': ISO2022CN_cls, - 'classFactor': 9, - 'stateTable': ISO2022CN_st, - 'charLenTable': ISO2022CNCharLenTable, - 'name': "ISO-2022-CN"} - -ISO2022JP_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,2,2, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,7,0,0,0, # 20 - 27 -3,0,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -6,0,4,0,8,0,0,0, # 40 - 47 -0,9,5,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022JP_st = ( -eStart, 3,eError,eStart,eStart,eStart,eStart,eStart,# 00-07 -eStart,eStart,eError,eError,eError,eError,eError,eError,# 08-0f -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 10-17 -eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,# 18-1f -eError, 5,eError,eError,eError, 4,eError,eError,# 20-27 -eError,eError,eError, 6,eItsMe,eError,eItsMe,eError,# 28-2f -eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,# 30-37 -eError,eError,eError,eItsMe,eError,eError,eError,eError,# 38-3f -eError,eError,eError,eError,eItsMe,eError,eStart,eStart,# 40-47 -) - -ISO2022JPCharLenTable = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0) - -ISO2022JPSMModel = {'classTable': ISO2022JP_cls, - 'classFactor': 10, - 'stateTable': ISO2022JP_st, - 'charLenTable': ISO2022JPCharLenTable, - 'name': "ISO-2022-JP"} - -ISO2022KR_cls = ( -2,0,0,0,0,0,0,0, # 00 - 07 -0,0,0,0,0,0,0,0, # 08 - 0f -0,0,0,0,0,0,0,0, # 10 - 17 -0,0,0,1,0,0,0,0, # 18 - 1f -0,0,0,0,3,0,0,0, # 20 - 27 -0,4,0,0,0,0,0,0, # 28 - 2f -0,0,0,0,0,0,0,0, # 30 - 37 -0,0,0,0,0,0,0,0, # 38 - 3f -0,0,0,5,0,0,0,0, # 40 - 47 -0,0,0,0,0,0,0,0, # 48 - 4f -0,0,0,0,0,0,0,0, # 50 - 57 -0,0,0,0,0,0,0,0, # 58 - 5f -0,0,0,0,0,0,0,0, # 60 - 67 -0,0,0,0,0,0,0,0, # 68 - 6f -0,0,0,0,0,0,0,0, # 70 - 77 -0,0,0,0,0,0,0,0, # 78 - 7f -2,2,2,2,2,2,2,2, # 80 - 87 -2,2,2,2,2,2,2,2, # 88 - 8f -2,2,2,2,2,2,2,2, # 90 - 97 -2,2,2,2,2,2,2,2, # 98 - 9f -2,2,2,2,2,2,2,2, # a0 - a7 -2,2,2,2,2,2,2,2, # a8 - af -2,2,2,2,2,2,2,2, # b0 - b7 -2,2,2,2,2,2,2,2, # b8 - bf -2,2,2,2,2,2,2,2, # c0 - c7 -2,2,2,2,2,2,2,2, # c8 - cf -2,2,2,2,2,2,2,2, # d0 - d7 -2,2,2,2,2,2,2,2, # d8 - df -2,2,2,2,2,2,2,2, # e0 - e7 -2,2,2,2,2,2,2,2, # e8 - ef -2,2,2,2,2,2,2,2, # f0 - f7 -2,2,2,2,2,2,2,2, # f8 - ff -) - -ISO2022KR_st = ( -eStart, 3,eError,eStart,eStart,eStart,eError,eError,# 00-07 -eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,# 08-0f -eItsMe,eItsMe,eError,eError,eError, 4,eError,eError,# 10-17 -eError,eError,eError,eError, 5,eError,eError,eError,# 18-1f -eError,eError,eError,eItsMe,eStart,eStart,eStart,eStart,# 20-27 -) - -ISO2022KRCharLenTable = (0, 0, 0, 0, 0, 0) - -ISO2022KRSMModel = {'classTable': ISO2022KR_cls, - 'classFactor': 6, - 'stateTable': ISO2022KR_st, - 'charLenTable': ISO2022KRCharLenTable, - 'name': "ISO-2022-KR"} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/eucjpprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/eucjpprober.py deleted file mode 100644 index 8e64fdcc..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/eucjpprober.py +++ /dev/null @@ -1,90 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCJPDistributionAnalysis -from .jpcntx import EUCJPContextAnalysis -from .mbcssm import EUCJPSMModel - - -class EUCJPProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCJPSMModel) - self._mDistributionAnalyzer = EUCJPDistributionAnalysis() - self._mContextAnalyzer = EUCJPContextAnalysis() - self.reset() - - def reset(self): - MultiByteCharSetProber.reset(self) - self._mContextAnalyzer.reset() - - def get_charset_name(self): - return "EUC-JP" - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - # PY3K: aBuf is a byte array, so aBuf[i] is an int, not a byte - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mContextAnalyzer.feed(self._mLastChar, charLen) - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mContextAnalyzer.feed(aBuf[i - 1:i + 1], charLen) - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mContextAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - contxtCf = self._mContextAnalyzer.get_confidence() - distribCf = self._mDistributionAnalyzer.get_confidence() - return max(contxtCf, distribCf) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrfreq.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrfreq.py deleted file mode 100644 index a179e4c2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrfreq.py +++ /dev/null @@ -1,596 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology - -# 128 --> 0.79 -# 256 --> 0.92 -# 512 --> 0.986 -# 1024 --> 0.99944 -# 2048 --> 0.99999 -# -# Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24 -# Random Distribution Ration = 512 / (2350-512) = 0.279. -# -# Typical Distribution Ratio - -EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0 - -EUCKR_TABLE_SIZE = 2352 - -# Char to FreqOrder table , -EUCKRCharToFreqOrder = ( \ - 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87, -1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398, -1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734, - 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739, - 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622, - 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750, -1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856, - 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205, - 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779, -1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19, -1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567, -1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797, -1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802, -1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899, - 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818, -1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409, -1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697, -1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770, -1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723, - 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416, -1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300, - 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083, - 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857, -1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871, - 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420, -1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885, - 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889, - 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893, -1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317, -1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841, -1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910, -1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610, - 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375, -1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939, - 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870, - 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934, -1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888, -1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950, -1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065, -1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002, -1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965, -1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467, - 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285, - 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7, - 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979, -1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985, - 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994, -1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250, - 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824, - 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003, -2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745, - 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61, - 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023, -2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032, -2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912, -2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224, - 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012, - 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050, -2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681, - 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414, -1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068, -2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075, -1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850, -2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606, -2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449, -1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452, - 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112, -2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121, -2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130, - 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274, - 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139, -2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721, -1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298, -2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463, -2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747, -2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285, -2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187, -2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10, -2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350, -1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201, -2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972, -2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219, -2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233, -2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242, -2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247, -1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178, -1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255, -2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259, -1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262, -2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702, -1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273, - 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541, -2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117, - 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187, -2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800, - 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312, -2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229, -2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315, - 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484, -2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170, -1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335, - 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601, -1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395, -2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354, -1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476, -2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035, - 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498, -2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310, -1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389, -2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504, -1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505, -2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145, -1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624, - 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700, -2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221, -2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377, - 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448, - 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485, -1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705, -1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465, - 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471, -2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997, -2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486, - 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494, - 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771, - 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323, -2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491, - 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510, - 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519, -2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532, -2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199, - 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544, -2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247, -1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441, - 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562, -2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362, -2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583, -2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465, - 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431, - 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151, - 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596, -2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406, -2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611, -2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619, -1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628, -2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042, - 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, # 512, 256 -#Everything below is of no interest for detection purpose -2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658, -2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674, -2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690, -2691,2692,2693,2694,2695,2696,2697,2698,2699,1542, 880,2700,2701,2702,2703,2704, -2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720, -2721,2722,2723,2724,2725,1543,2726,2727,2728,2729,2730,2731,2732,1544,2733,2734, -2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750, -2751,2752,2753,2754,1545,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765, -2766,1546,2767,1547,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779, -2780,2781,2782,2783,2784,2785,2786,1548,2787,2788,2789,1109,2790,2791,2792,2793, -2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809, -2810,2811,2812,1329,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824, -2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840, -2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856, -1549,2857,2858,2859,2860,1550,2861,2862,1551,2863,2864,2865,2866,2867,2868,2869, -2870,2871,2872,2873,2874,1110,1330,2875,2876,2877,2878,2879,2880,2881,2882,2883, -2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899, -2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915, -2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,1331, -2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,1552,2944,2945, -2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961, -2962,2963,2964,1252,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976, -2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992, -2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008, -3009,3010,3011,3012,1553,3013,3014,3015,3016,3017,1554,3018,1332,3019,3020,3021, -3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037, -3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,1555,3051,3052, -3053,1556,1557,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066, -3067,1558,3068,3069,3070,3071,3072,3073,3074,3075,3076,1559,3077,3078,3079,3080, -3081,3082,3083,1253,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095, -3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,1152,3109,3110, -3111,3112,3113,1560,3114,3115,3116,3117,1111,3118,3119,3120,3121,3122,3123,3124, -3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140, -3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156, -3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172, -3173,3174,3175,3176,1333,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187, -3188,3189,1561,3190,3191,1334,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201, -3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217, -3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233, -3234,1562,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248, -3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264, -3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,1563,3278,3279, -3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295, -3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311, -3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327, -3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343, -3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359, -3360,3361,3362,3363,3364,1335,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374, -3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,1336,3388,3389, -3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405, -3406,3407,3408,3409,3410,3411,3412,3413,3414,1337,3415,3416,3417,3418,3419,1338, -3420,3421,3422,1564,1565,3423,3424,3425,3426,3427,3428,3429,3430,3431,1254,3432, -3433,3434,1339,3435,3436,3437,3438,3439,1566,3440,3441,3442,3443,3444,3445,3446, -3447,3448,3449,3450,3451,3452,3453,3454,1255,3455,3456,3457,3458,3459,1567,1191, -3460,1568,1569,3461,3462,3463,1570,3464,3465,3466,3467,3468,1571,3469,3470,3471, -3472,3473,1572,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486, -1340,3487,3488,3489,3490,3491,3492,1021,3493,3494,3495,3496,3497,3498,1573,3499, -1341,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,1342,3512,3513, -3514,3515,3516,1574,1343,3517,3518,3519,1575,3520,1576,3521,3522,3523,3524,3525, -3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541, -3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557, -3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573, -3574,3575,3576,3577,3578,3579,3580,1577,3581,3582,1578,3583,3584,3585,3586,3587, -3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603, -3604,1579,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618, -3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,1580,3630,3631,1581,3632, -3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648, -3649,3650,3651,3652,3653,3654,3655,3656,1582,3657,3658,3659,3660,3661,3662,3663, -3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679, -3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695, -3696,3697,3698,3699,3700,1192,3701,3702,3703,3704,1256,3705,3706,3707,3708,1583, -1257,3709,3710,3711,3712,3713,3714,3715,3716,1584,3717,3718,3719,3720,3721,3722, -3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738, -3739,3740,3741,3742,3743,3744,3745,1344,3746,3747,3748,3749,3750,3751,3752,3753, -3754,3755,3756,1585,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,1586,3767, -3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,1345,3779,3780,3781,3782, -3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,1346,1587,3796, -3797,1588,3798,3799,3800,3801,3802,3803,3804,3805,3806,1347,3807,3808,3809,3810, -3811,1589,3812,3813,3814,3815,3816,3817,3818,3819,3820,3821,1590,3822,3823,1591, -1348,3824,3825,3826,3827,3828,3829,3830,1592,3831,3832,1593,3833,3834,3835,3836, -3837,3838,3839,3840,3841,3842,3843,3844,1349,3845,3846,3847,3848,3849,3850,3851, -3852,3853,3854,3855,3856,3857,3858,1594,3859,3860,3861,3862,3863,3864,3865,3866, -3867,3868,3869,1595,3870,3871,3872,3873,1596,3874,3875,3876,3877,3878,3879,3880, -3881,3882,3883,3884,3885,3886,1597,3887,3888,3889,3890,3891,3892,3893,3894,3895, -1598,3896,3897,3898,1599,1600,3899,1350,3900,1351,3901,3902,1352,3903,3904,3905, -3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3916,3917,3918,3919,3920,3921, -3922,3923,3924,1258,3925,3926,3927,3928,3929,3930,3931,1193,3932,1601,3933,3934, -3935,3936,3937,3938,3939,3940,3941,3942,3943,1602,3944,3945,3946,3947,3948,1603, -3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964, -3965,1604,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,1353,3978, -3979,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,1354,3992,3993, -3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009, -4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,1355,4024, -4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040, -1605,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055, -4056,4057,4058,4059,4060,1606,4061,4062,4063,4064,1607,4065,4066,4067,4068,4069, -4070,4071,4072,4073,4074,4075,4076,1194,4077,4078,1608,4079,4080,4081,4082,4083, -4084,4085,4086,4087,1609,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098, -4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,1259,4109,4110,4111,4112,4113, -4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,1195,4125,4126,4127,1610, -4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,1356,4138,4139,4140,4141,4142, -4143,4144,1611,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157, -4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173, -4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189, -4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205, -4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,1612,4220, -4221,4222,4223,4224,4225,4226,4227,1357,4228,1613,4229,4230,4231,4232,4233,4234, -4235,4236,4237,4238,4239,4240,4241,4242,4243,1614,4244,4245,4246,4247,4248,4249, -4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265, -4266,4267,4268,4269,4270,1196,1358,4271,4272,4273,4274,4275,4276,4277,4278,4279, -4280,4281,4282,4283,4284,4285,4286,4287,1615,4288,4289,4290,4291,4292,4293,4294, -4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310, -4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326, -4327,4328,4329,4330,4331,4332,4333,4334,1616,4335,4336,4337,4338,4339,4340,4341, -4342,4343,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357, -4358,4359,4360,1617,4361,4362,4363,4364,4365,1618,4366,4367,4368,4369,4370,4371, -4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387, -4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403, -4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,1619,4417,4418, -4419,4420,4421,4422,4423,4424,4425,1112,4426,4427,4428,4429,4430,1620,4431,4432, -4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,1260,1261,4443,4444,4445,4446, -4447,4448,4449,4450,4451,4452,4453,4454,4455,1359,4456,4457,4458,4459,4460,4461, -4462,4463,4464,4465,1621,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476, -4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,1055,4490,4491, -4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507, -4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,1622,4519,4520,4521,1623, -4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,1360,4536, -4537,4538,4539,4540,4541,4542,4543, 975,4544,4545,4546,4547,4548,4549,4550,4551, -4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567, -4568,4569,4570,4571,1624,4572,4573,4574,4575,4576,1625,4577,4578,4579,4580,4581, -4582,4583,4584,1626,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,1627, -4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611, -4612,4613,4614,4615,1628,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626, -4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642, -4643,4644,4645,4646,4647,4648,4649,1361,4650,4651,4652,4653,4654,4655,4656,4657, -4658,4659,4660,4661,1362,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672, -4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,1629,4683,4684,4685,4686,4687, -1630,4688,4689,4690,4691,1153,4692,4693,4694,1113,4695,4696,4697,4698,4699,4700, -4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,1197,4712,4713,4714,4715, -4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731, -4732,4733,4734,4735,1631,4736,1632,4737,4738,4739,4740,4741,4742,4743,4744,1633, -4745,4746,4747,4748,4749,1262,4750,4751,4752,4753,4754,1363,4755,4756,4757,4758, -4759,4760,4761,4762,4763,4764,4765,4766,4767,4768,1634,4769,4770,4771,4772,4773, -4774,4775,4776,4777,4778,1635,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788, -4789,1636,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4801,4802,4803, -4804,4805,4806,1637,4807,4808,4809,1638,4810,4811,4812,4813,4814,4815,4816,4817, -4818,1639,4819,4820,4821,4822,4823,4824,4825,4826,4827,4828,4829,4830,4831,4832, -4833,1077,4834,4835,4836,4837,4838,4839,4840,4841,4842,4843,4844,4845,4846,4847, -4848,4849,4850,4851,4852,4853,4854,4855,4856,4857,4858,4859,4860,4861,4862,4863, -4864,4865,4866,4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4879, -4880,4881,4882,4883,1640,4884,4885,1641,4886,4887,4888,4889,4890,4891,4892,4893, -4894,4895,4896,4897,4898,4899,4900,4901,4902,4903,4904,4905,4906,4907,4908,4909, -4910,4911,1642,4912,4913,4914,1364,4915,4916,4917,4918,4919,4920,4921,4922,4923, -4924,4925,4926,4927,4928,4929,4930,4931,1643,4932,4933,4934,4935,4936,4937,4938, -4939,4940,4941,4942,4943,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954, -4955,4956,4957,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,4968,4969,4970, -4971,4972,4973,4974,4975,4976,4977,4978,4979,4980,1644,4981,4982,4983,4984,1645, -4985,4986,1646,4987,4988,4989,4990,4991,4992,4993,4994,4995,4996,4997,4998,4999, -5000,5001,5002,5003,5004,5005,1647,5006,1648,5007,5008,5009,5010,5011,5012,1078, -5013,5014,5015,5016,5017,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028, -1365,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,5039,1649,5040,5041,5042, -5043,5044,5045,1366,5046,5047,5048,5049,5050,5051,5052,5053,5054,5055,1650,5056, -5057,5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072, -5073,5074,5075,5076,5077,1651,5078,5079,5080,5081,5082,5083,5084,5085,5086,5087, -5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102,5103, -5104,5105,5106,5107,5108,5109,5110,1652,5111,5112,5113,5114,5115,5116,5117,5118, -1367,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,1653,5130,5131,5132, -5133,5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148, -5149,1368,5150,1654,5151,1369,5152,5153,5154,5155,5156,5157,5158,5159,5160,5161, -5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,5176,5177, -5178,1370,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190,5191,5192, -5193,5194,5195,5196,5197,5198,1655,5199,5200,5201,5202,1656,5203,5204,5205,5206, -1371,5207,1372,5208,5209,5210,5211,1373,5212,5213,1374,5214,5215,5216,5217,5218, -5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234, -5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,1657,5248,5249, -5250,5251,1658,1263,5252,5253,5254,5255,5256,1375,5257,5258,5259,5260,5261,5262, -5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278, -5279,5280,5281,5282,5283,1659,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293, -5294,5295,5296,5297,5298,5299,5300,1660,5301,5302,5303,5304,5305,5306,5307,5308, -5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321,1376,5322,5323, -5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,1198,5334,5335,5336,5337,5338, -5339,5340,5341,5342,5343,1661,5344,5345,5346,5347,5348,5349,5350,5351,5352,5353, -5354,5355,5356,5357,5358,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369, -5370,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385, -5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,1264,5399,5400, -5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,1662,5413,5414,5415, -5416,1663,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429,5430, -5431,5432,5433,5434,5435,5436,5437,5438,1664,5439,5440,5441,5442,5443,5444,5445, -5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,5461, -5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477, -5478,1154,5479,5480,5481,5482,5483,5484,5485,1665,5486,5487,5488,5489,5490,5491, -5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507, -5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520,5521,5522,5523, -5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539, -5540,5541,5542,5543,5544,5545,5546,5547,5548,1377,5549,5550,5551,5552,5553,5554, -5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568,5569,5570, -1114,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584,5585, -5586,5587,5588,5589,5590,5591,5592,1378,5593,5594,5595,5596,5597,5598,5599,5600, -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,1379,5615, -5616,5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631, -5632,5633,5634,1380,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646, -5647,5648,5649,1381,1056,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660, -1666,5661,5662,5663,5664,5665,5666,5667,5668,1667,5669,1668,5670,5671,5672,5673, -5674,5675,5676,5677,5678,1155,5679,5680,5681,5682,5683,5684,5685,5686,5687,5688, -5689,5690,5691,5692,5693,5694,5695,5696,5697,5698,1669,5699,5700,5701,5702,5703, -5704,5705,1670,5706,5707,5708,5709,5710,1671,5711,5712,5713,5714,1382,5715,5716, -5717,5718,5719,5720,5721,5722,5723,5724,5725,1672,5726,5727,1673,1674,5728,5729, -5730,5731,5732,5733,5734,5735,5736,1675,5737,5738,5739,5740,5741,5742,5743,5744, -1676,5745,5746,5747,5748,5749,5750,5751,1383,5752,5753,5754,5755,5756,5757,5758, -5759,5760,5761,5762,5763,5764,5765,5766,5767,5768,1677,5769,5770,5771,5772,5773, -1678,5774,5775,5776, 998,5777,5778,5779,5780,5781,5782,5783,5784,5785,1384,5786, -5787,5788,5789,5790,5791,5792,5793,5794,5795,5796,5797,5798,5799,5800,1679,5801, -5802,5803,1115,1116,5804,5805,5806,5807,5808,5809,5810,5811,5812,5813,5814,5815, -5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828,5829,5830,5831, -5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844,5845,5846,5847, -5848,5849,5850,5851,5852,5853,5854,5855,1680,5856,5857,5858,5859,5860,5861,5862, -5863,5864,1681,5865,5866,5867,1682,5868,5869,5870,5871,5872,5873,5874,5875,5876, -5877,5878,5879,1683,5880,1684,5881,5882,5883,5884,1685,5885,5886,5887,5888,5889, -5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905, -5906,5907,1686,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,1687, -5936,5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951, -5952,1688,1689,5953,1199,5954,5955,5956,5957,5958,5959,5960,5961,1690,5962,5963, -5964,5965,5966,5967,5968,5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979, -5980,5981,1385,5982,1386,5983,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993, -5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009, -6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025, -6026,6027,1265,6028,6029,1691,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039, -6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055, -6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071, -6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,1692,6085,6086, -6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102, -6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118, -6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,1693,6132,6133, -6134,6135,6136,1694,6137,6138,6139,6140,6141,1695,6142,6143,6144,6145,6146,6147, -6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163, -6164,6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179, -6180,6181,6182,6183,6184,6185,1696,6186,6187,6188,6189,6190,6191,6192,6193,6194, -6195,6196,6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210, -6211,6212,6213,6214,6215,6216,6217,6218,6219,1697,6220,6221,6222,6223,6224,6225, -6226,6227,6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241, -6242,6243,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,1698,6254,6255,6256, -6257,6258,6259,6260,6261,6262,6263,1200,6264,6265,6266,6267,6268,6269,6270,6271, #1024 -6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287, -6288,6289,6290,6291,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,1699, -6303,6304,1700,6305,6306,6307,6308,6309,6310,6311,6312,6313,6314,6315,6316,6317, -6318,6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333, -6334,6335,6336,6337,6338,6339,1701,6340,6341,6342,6343,6344,1387,6345,6346,6347, -6348,6349,6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363, -6364,6365,6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379, -6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395, -6396,6397,6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411, -6412,6413,1702,6414,6415,6416,6417,6418,6419,6420,6421,6422,1703,6423,6424,6425, -6426,6427,6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,1704,6439,6440, -6441,6442,6443,6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,6455,6456, -6457,6458,6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472, -6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488, -6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,1266, -6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516,6517,6518,6519, -6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532,6533,6534,6535, -6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551, -1705,1706,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565, -6566,6567,6568,6569,6570,6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581, -6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597, -6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,6609,6610,6611,6612,6613, -6614,6615,6616,6617,6618,6619,6620,6621,6622,6623,6624,6625,6626,6627,6628,6629, -6630,6631,6632,6633,6634,6635,6636,6637,1388,6638,6639,6640,6641,6642,6643,6644, -1707,6645,6646,6647,6648,6649,6650,6651,6652,6653,6654,6655,6656,6657,6658,6659, -6660,6661,6662,6663,1708,6664,6665,6666,6667,6668,6669,6670,6671,6672,6673,6674, -1201,6675,6676,6677,6678,6679,6680,6681,6682,6683,6684,6685,6686,6687,6688,6689, -6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701,6702,6703,6704,6705, -6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717,6718,6719,6720,6721, -6722,6723,6724,6725,1389,6726,6727,6728,6729,6730,6731,6732,6733,6734,6735,6736, -1390,1709,6737,6738,6739,6740,6741,6742,1710,6743,6744,6745,6746,1391,6747,6748, -6749,6750,6751,6752,6753,6754,6755,6756,6757,1392,6758,6759,6760,6761,6762,6763, -6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777,6778,6779, -6780,1202,6781,6782,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6794, -6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,1711, -6810,6811,6812,6813,6814,6815,6816,6817,6818,6819,6820,6821,6822,6823,6824,6825, -6826,6827,6828,6829,6830,6831,6832,6833,6834,6835,6836,1393,6837,6838,6839,6840, -6841,6842,6843,6844,6845,6846,6847,6848,6849,6850,6851,6852,6853,6854,6855,6856, -6857,6858,6859,6860,6861,6862,6863,6864,6865,6866,6867,6868,6869,6870,6871,6872, -6873,6874,6875,6876,6877,6878,6879,6880,6881,6882,6883,6884,6885,6886,6887,6888, -6889,6890,6891,6892,6893,6894,6895,6896,6897,6898,6899,6900,6901,6902,1712,6903, -6904,6905,6906,6907,6908,6909,6910,1713,6911,6912,6913,6914,6915,6916,6917,6918, -6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931,6932,6933,6934, -6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947,6948,6949,6950, -6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966, -6967,6968,6969,6970,6971,6972,6973,6974,1714,6975,6976,6977,6978,6979,6980,6981, -6982,6983,6984,6985,6986,6987,6988,1394,6989,6990,6991,6992,6993,6994,6995,6996, -6997,6998,6999,7000,1715,7001,7002,7003,7004,7005,7006,7007,7008,7009,7010,7011, -7012,7013,7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027, -7028,1716,7029,7030,7031,7032,7033,7034,7035,7036,7037,7038,7039,7040,7041,7042, -7043,7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058, -7059,7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,7071,7072,7073,7074, -7075,7076,7077,7078,7079,7080,7081,7082,7083,7084,7085,7086,7087,7088,7089,7090, -7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105,7106, -7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7121,7122, -7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138, -7139,7140,7141,7142,7143,7144,7145,7146,7147,7148,7149,7150,7151,7152,7153,7154, -7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167,7168,7169,7170, -7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183,7184,7185,7186, -7187,7188,7189,7190,7191,7192,7193,7194,7195,7196,7197,7198,7199,7200,7201,7202, -7203,7204,7205,7206,7207,1395,7208,7209,7210,7211,7212,7213,1717,7214,7215,7216, -7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229,7230,7231,7232, -7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245,7246,7247,7248, -7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261,7262,7263,7264, -7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280, -7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293,7294,7295,7296, -7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308,7309,7310,7311,7312, -7313,1718,7314,7315,7316,7317,7318,7319,7320,7321,7322,7323,7324,7325,7326,7327, -7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339,7340,7341,7342,7343, -7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,7354,7355,7356,7357,7358,7359, -7360,7361,7362,7363,7364,7365,7366,7367,7368,7369,7370,7371,7372,7373,7374,7375, -7376,7377,7378,7379,7380,7381,7382,7383,7384,7385,7386,7387,7388,7389,7390,7391, -7392,7393,7394,7395,7396,7397,7398,7399,7400,7401,7402,7403,7404,7405,7406,7407, -7408,7409,7410,7411,7412,7413,7414,7415,7416,7417,7418,7419,7420,7421,7422,7423, -7424,7425,7426,7427,7428,7429,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439, -7440,7441,7442,7443,7444,7445,7446,7447,7448,7449,7450,7451,7452,7453,7454,7455, -7456,7457,7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471, -7472,7473,7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487, -7488,7489,7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503, -7504,7505,7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519, -7520,7521,7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535, -7536,7537,7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,7550,7551, -7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, -7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582,7583, -7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598,7599, -7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614,7615, -7616,7617,7618,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631, -7632,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643,7644,7645,7646,7647, -7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663, -7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675,7676,7677,7678,7679, -7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695, -7696,7697,7698,7699,7700,7701,7702,7703,7704,7705,7706,7707,7708,7709,7710,7711, -7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724,7725,7726,7727, -7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740,7741,7742,7743, -7744,7745,7746,7747,7748,7749,7750,7751,7752,7753,7754,7755,7756,7757,7758,7759, -7760,7761,7762,7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775, -7776,7777,7778,7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791, -7792,7793,7794,7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,7806,7807, -7808,7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823, -7824,7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839, -7840,7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855, -7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871, -7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887, -7888,7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903, -7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919, -7920,7921,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, -7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, -7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, -7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, -7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, -8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, -8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, -8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, -8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, -8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, -8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, -8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, -8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, -8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, -8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, -8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, -8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, -8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, -8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, -8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, -8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, -8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271, -8272,8273,8274,8275,8276,8277,8278,8279,8280,8281,8282,8283,8284,8285,8286,8287, -8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303, -8304,8305,8306,8307,8308,8309,8310,8311,8312,8313,8314,8315,8316,8317,8318,8319, -8320,8321,8322,8323,8324,8325,8326,8327,8328,8329,8330,8331,8332,8333,8334,8335, -8336,8337,8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351, -8352,8353,8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,8364,8365,8366,8367, -8368,8369,8370,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382,8383, -8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398,8399, -8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,8411,8412,8413,8414,8415, -8416,8417,8418,8419,8420,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431, -8432,8433,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443,8444,8445,8446,8447, -8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459,8460,8461,8462,8463, -8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475,8476,8477,8478,8479, -8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490,8491,8492,8493,8494,8495, -8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506,8507,8508,8509,8510,8511, -8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522,8523,8524,8525,8526,8527, -8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538,8539,8540,8541,8542,8543, -8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559, -8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8570,8571,8572,8573,8574,8575, -8576,8577,8578,8579,8580,8581,8582,8583,8584,8585,8586,8587,8588,8589,8590,8591, -8592,8593,8594,8595,8596,8597,8598,8599,8600,8601,8602,8603,8604,8605,8606,8607, -8608,8609,8610,8611,8612,8613,8614,8615,8616,8617,8618,8619,8620,8621,8622,8623, -8624,8625,8626,8627,8628,8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,8639, -8640,8641,8642,8643,8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655, -8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671, -8672,8673,8674,8675,8676,8677,8678,8679,8680,8681,8682,8683,8684,8685,8686,8687, -8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, -8704,8705,8706,8707,8708,8709,8710,8711,8712,8713,8714,8715,8716,8717,8718,8719, -8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,8734,8735, -8736,8737,8738,8739,8740,8741) - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrprober.py deleted file mode 100644 index 5982a46b..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euckrprober.py +++ /dev/null @@ -1,42 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCKRDistributionAnalysis -from .mbcssm import EUCKRSMModel - - -class EUCKRProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCKRSMModel) - self._mDistributionAnalyzer = EUCKRDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "EUC-KR" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwfreq.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwfreq.py deleted file mode 100644 index 576e7504..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwfreq.py +++ /dev/null @@ -1,428 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# EUCTW frequency table -# Converted from big5 work -# by Taiwan's Mandarin Promotion Council -# - -# 128 --> 0.42261 -# 256 --> 0.57851 -# 512 --> 0.74851 -# 1024 --> 0.89384 -# 2048 --> 0.97583 -# -# Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98 -# Random Distribution Ration = 512/(5401-512)=0.105 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR - -EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75 - -# Char to FreqOrder table , -EUCTW_TABLE_SIZE = 8102 - -EUCTWCharToFreqOrder = ( - 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, # 2742 -3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, # 2758 -1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, # 2774 - 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, # 2790 -3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, # 2806 -4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, # 2822 -7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, # 2838 - 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, # 2854 - 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, # 2870 - 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, # 2886 -2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, # 2902 -1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, # 2918 -3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, # 2934 - 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, # 2950 -1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, # 2966 -3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, # 2982 -2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, # 2998 - 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, # 3014 -3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, # 3030 -1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, # 3046 -7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, # 3062 - 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, # 3078 -7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, # 3094 -1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, # 3110 - 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, # 3126 - 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, # 3142 -3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, # 3158 -3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, # 3174 - 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, # 3190 -2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, # 3206 -2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, # 3222 - 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, # 3238 - 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, # 3254 -3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, # 3270 -1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, # 3286 -1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, # 3302 -1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, # 3318 -2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, # 3334 - 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, # 3350 -4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, # 3366 -1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, # 3382 -7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, # 3398 -2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, # 3414 - 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, # 3430 - 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, # 3446 - 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, # 3462 - 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, # 3478 -7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, # 3494 - 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, # 3510 -1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, # 3526 - 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, # 3542 - 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, # 3558 -7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, # 3574 -1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, # 3590 - 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, # 3606 -3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, # 3622 -4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, # 3638 -3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, # 3654 - 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, # 3670 - 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, # 3686 -1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, # 3702 -4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, # 3718 -3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, # 3734 -3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, # 3750 -2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, # 3766 -7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, # 3782 -3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, # 3798 -7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, # 3814 -1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, # 3830 -2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, # 3846 -1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, # 3862 - 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, # 3878 -1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, # 3894 -4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, # 3910 -3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, # 3926 - 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, # 3942 - 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, # 3958 - 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, # 3974 -2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, # 3990 -7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, # 4006 -1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, # 4022 -2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, # 4038 -1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, # 4054 -1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, # 4070 -7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, # 4086 -7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, # 4102 -7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, # 4118 -3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, # 4134 -4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, # 4150 -1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, # 4166 -7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, # 4182 -2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, # 4198 -7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, # 4214 -3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, # 4230 -3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, # 4246 -7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, # 4262 -2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, # 4278 -7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, # 4294 - 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, # 4310 -4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, # 4326 -2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, # 4342 -7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, # 4358 -3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, # 4374 -2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, # 4390 -2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, # 4406 - 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, # 4422 -2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, # 4438 -1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, # 4454 -1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, # 4470 -2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, # 4486 -1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, # 4502 -7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, # 4518 -7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, # 4534 -2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, # 4550 -4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, # 4566 -1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, # 4582 -7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, # 4598 - 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, # 4614 -4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, # 4630 - 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, # 4646 -2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, # 4662 - 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, # 4678 -1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, # 4694 -1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, # 4710 - 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, # 4726 -3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, # 4742 -3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, # 4758 -1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, # 4774 -3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, # 4790 -7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, # 4806 -7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, # 4822 -1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, # 4838 -2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, # 4854 -1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, # 4870 -3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, # 4886 -2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, # 4902 -3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, # 4918 -2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, # 4934 -4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, # 4950 -4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, # 4966 -3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, # 4982 - 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, # 4998 -3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, # 5014 - 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, # 5030 -3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, # 5046 -3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, # 5062 -3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, # 5078 -1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, # 5094 -7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, # 5110 - 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, # 5126 -7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, # 5142 -1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, # 5158 - 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, # 5174 -4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, # 5190 -3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, # 5206 - 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, # 5222 -2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, # 5238 -2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, # 5254 -3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, # 5270 -1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, # 5286 -4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, # 5302 -2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, # 5318 -1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, # 5334 -1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, # 5350 -2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, # 5366 -3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, # 5382 -1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, # 5398 -7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, # 5414 -1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, # 5430 -4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, # 5446 -1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, # 5462 - 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, # 5478 -1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, # 5494 -3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, # 5510 -3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, # 5526 -2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, # 5542 -1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, # 5558 -4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, # 5574 - 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, # 5590 -7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, # 5606 -2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, # 5622 -3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, # 5638 -4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, # 5654 - 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, # 5670 -7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, # 5686 -7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, # 5702 -1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, # 5718 -4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, # 5734 -3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, # 5750 -2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, # 5766 -3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, # 5782 -3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, # 5798 -2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, # 5814 -1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, # 5830 -4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, # 5846 -3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, # 5862 -3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, # 5878 -2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, # 5894 -4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, # 5910 -7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, # 5926 -3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, # 5942 -2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, # 5958 -3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, # 5974 -1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, # 5990 -2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, # 6006 -3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, # 6022 -4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, # 6038 -2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, # 6054 -2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, # 6070 -7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, # 6086 -1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, # 6102 -2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, # 6118 -1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, # 6134 -3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, # 6150 -4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, # 6166 -2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, # 6182 -3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, # 6198 -3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, # 6214 -2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, # 6230 -4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, # 6246 -2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, # 6262 -3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, # 6278 -4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, # 6294 -7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, # 6310 -3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, # 6326 - 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, # 6342 -1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, # 6358 -4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, # 6374 -1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, # 6390 -4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, # 6406 -7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, # 6422 - 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, # 6438 -7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, # 6454 -2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, # 6470 -1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, # 6486 -1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, # 6502 -3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, # 6518 - 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, # 6534 - 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, # 6550 - 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, # 6566 -3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, # 6582 -2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, # 6598 - 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, # 6614 -7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, # 6630 -1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, # 6646 -3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, # 6662 -7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, # 6678 -1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, # 6694 -7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, # 6710 -4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, # 6726 -1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, # 6742 -2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, # 6758 -2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, # 6774 -4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, # 6790 - 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, # 6806 - 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, # 6822 -3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, # 6838 -3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, # 6854 -1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, # 6870 -2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, # 6886 -7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, # 6902 -1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, # 6918 -1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, # 6934 -3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, # 6950 - 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, # 6966 -1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, # 6982 -4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, # 6998 -7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, # 7014 -2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, # 7030 -3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, # 7046 - 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, # 7062 -1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, # 7078 -2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, # 7094 -2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, # 7110 -7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, # 7126 -7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, # 7142 -7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, # 7158 -2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, # 7174 -2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, # 7190 -1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, # 7206 -4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, # 7222 -3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, # 7238 -3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, # 7254 -4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, # 7270 -4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, # 7286 -2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, # 7302 -2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, # 7318 -7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, # 7334 -4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, # 7350 -7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, # 7366 -2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, # 7382 -1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, # 7398 -3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, # 7414 -4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, # 7430 -2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, # 7446 - 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, # 7462 -2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, # 7478 -1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, # 7494 -2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, # 7510 -2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, # 7526 -4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, # 7542 -7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, # 7558 -1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, # 7574 -3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, # 7590 -7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, # 7606 -1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, # 7622 -8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, # 7638 -2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, # 7654 -8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, # 7670 -2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, # 7686 -2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, # 7702 -8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, # 7718 -8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, # 7734 -8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, # 7750 - 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, # 7766 -8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, # 7782 -4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, # 7798 -3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, # 7814 -8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, # 7830 -1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, # 7846 -8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, # 7862 - 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, # 7878 -1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, # 7894 - 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, # 7910 -4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, # 7926 -1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, # 7942 -4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, # 7958 -1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, # 7974 - 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, # 7990 -3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, # 8006 -4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, # 8022 -8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, # 8038 - 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, # 8054 -3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, # 8070 - 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, # 8086 -2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, # 8102 -#Everything below is of no interest for detection purpose -2515,1613,4582,8119,3312,3866,2516,8120,4058,8121,1637,4059,2466,4583,3867,8122, # 8118 -2493,3016,3734,8123,8124,2192,8125,8126,2162,8127,8128,8129,8130,8131,8132,8133, # 8134 -8134,8135,8136,8137,8138,8139,8140,8141,8142,8143,8144,8145,8146,8147,8148,8149, # 8150 -8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,8160,8161,8162,8163,8164,8165, # 8166 -8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181, # 8182 -8182,8183,8184,8185,8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197, # 8198 -8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213, # 8214 -8214,8215,8216,8217,8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229, # 8230 -8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245, # 8246 -8246,8247,8248,8249,8250,8251,8252,8253,8254,8255,8256,8257,8258,8259,8260,8261, # 8262 -8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,8272,8273,8274,8275,8276,8277, # 8278 -8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,8290,8291,8292,8293, # 8294 -8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,8308,8309, # 8310 -8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322,8323,8324,8325, # 8326 -8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337,8338,8339,8340,8341, # 8342 -8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353,8354,8355,8356,8357, # 8358 -8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,8368,8369,8370,8371,8372,8373, # 8374 -8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,8384,8385,8386,8387,8388,8389, # 8390 -8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400,8401,8402,8403,8404,8405, # 8406 -8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,8416,8417,8418,8419,8420,8421, # 8422 -8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,8433,8434,8435,8436,8437, # 8438 -8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,8448,8449,8450,8451,8452,8453, # 8454 -8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8468,8469, # 8470 -8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,8480,8481,8482,8483,8484,8485, # 8486 -8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501, # 8502 -8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517, # 8518 -8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533, # 8534 -8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549, # 8550 -8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,8565, # 8566 -8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,8576,8577,8578,8579,8580,8581, # 8582 -8582,8583,8584,8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597, # 8598 -8598,8599,8600,8601,8602,8603,8604,8605,8606,8607,8608,8609,8610,8611,8612,8613, # 8614 -8614,8615,8616,8617,8618,8619,8620,8621,8622,8623,8624,8625,8626,8627,8628,8629, # 8630 -8630,8631,8632,8633,8634,8635,8636,8637,8638,8639,8640,8641,8642,8643,8644,8645, # 8646 -8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,8657,8658,8659,8660,8661, # 8662 -8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672,8673,8674,8675,8676,8677, # 8678 -8678,8679,8680,8681,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, # 8694 -8694,8695,8696,8697,8698,8699,8700,8701,8702,8703,8704,8705,8706,8707,8708,8709, # 8710 -8710,8711,8712,8713,8714,8715,8716,8717,8718,8719,8720,8721,8722,8723,8724,8725, # 8726 -8726,8727,8728,8729,8730,8731,8732,8733,8734,8735,8736,8737,8738,8739,8740,8741) # 8742 - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwprober.py deleted file mode 100644 index fe652fe3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/euctwprober.py +++ /dev/null @@ -1,41 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import EUCTWDistributionAnalysis -from .mbcssm import EUCTWSMModel - -class EUCTWProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(EUCTWSMModel) - self._mDistributionAnalyzer = EUCTWDistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "EUC-TW" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312freq.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312freq.py deleted file mode 100644 index 1238f510..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312freq.py +++ /dev/null @@ -1,472 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# GB2312 most frequently used character table -# -# Char to FreqOrder table , from hz6763 - -# 512 --> 0.79 -- 0.79 -# 1024 --> 0.92 -- 0.13 -# 2048 --> 0.98 -- 0.06 -# 6768 --> 1.00 -- 0.02 -# -# Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79 -# Random Distribution Ration = 512 / (3755 - 512) = 0.157 -# -# Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR - -GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9 - -GB2312_TABLE_SIZE = 3760 - -GB2312CharToFreqOrder = ( -1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205, -2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842, -2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409, - 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670, -1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820, -1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585, - 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566, -1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575, -2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853, -3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061, - 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155, -1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406, - 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816, -2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606, - 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023, -2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414, -1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513, -3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052, - 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570, -1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575, - 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250, -2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506, -1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26, -3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835, -1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686, -2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054, -1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894, - 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105, -3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403, -3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694, - 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873, -3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940, - 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121, -1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648, -3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992, -2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233, -1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157, - 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807, -1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094, -4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258, - 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478, -3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152, -3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909, - 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272, -1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221, -2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252, -1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301, -1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254, - 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070, -3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461, -3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360, -4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124, - 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535, -3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243, -1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713, -1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071, -4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442, - 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946, - 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257, -3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180, -1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427, - 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781, -1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724, -2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937, - 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943, - 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789, - 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552, -3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246, -4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451, -3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310, - 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860, -2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297, -2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780, -2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745, - 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936, -2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032, - 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657, - 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414, - 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976, -3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436, -2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254, -2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536, -1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238, - 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059, -2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741, - 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447, - 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601, -1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269, -1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894, - 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173, - 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994, -1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956, -2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437, -3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154, -2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240, -2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143, -2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634, -3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472, -1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541, -1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143, -2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312, -1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414, -3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754, -1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424, -1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302, -3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739, - 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004, -2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484, -1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739, -4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535, -1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641, -1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307, -3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573, -1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533, - 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965, - 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99, -1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280, - 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505, -1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012, -1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039, - 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982, -3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530, -4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392, -3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656, -2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220, -2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766, -1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535, -3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728, -2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338, -1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627, -1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885, - 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411, -2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671, -2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162, -3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774, -4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524, -3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346, - 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040, -3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188, -2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280, -1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131, - 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947, - 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970, -3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814, -4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557, -2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997, -1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972, -1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369, - 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376, -1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480, -3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610, - 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128, - 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769, -1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207, - 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392, -1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623, - 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782, -2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650, - 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478, -2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773, -2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007, -1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323, -1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598, -2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961, - 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302, -1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409, -1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683, -2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191, -2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616, -3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302, -1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774, -4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147, - 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731, - 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464, -3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377, -1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315, - 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557, -3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903, -1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060, -4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261, -1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092, -2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810, -1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708, - 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658, -1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871, -3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503, - 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229, -2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112, - 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504, -1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389, -1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27, -1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542, -3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861, -2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845, -3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700, -3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469, -3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582, - 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999, -2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274, - 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020, -2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601, - 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628, -1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31, - 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668, - 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778, -1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169, -3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667, -3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881, -1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276, -1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320, -3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751, -2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432, -2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772, -1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843, -3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116, - 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904, -4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652, -1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664, -2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770, -3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283, -3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626, -1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713, - 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333, - 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062, -2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555, - 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014, -1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510, - 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015, -1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459, -1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390, -1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238, -1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232, -1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624, - 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189, - 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, # last 512 -#Everything below is of no interest for detection purpose -5508,6484,3900,3414,3974,4441,4024,3537,4037,5628,5099,3633,6485,3148,6486,3636, -5509,3257,5510,5973,5445,5872,4941,4403,3174,4627,5873,6276,2286,4230,5446,5874, -5122,6102,6103,4162,5447,5123,5323,4849,6277,3980,3851,5066,4246,5774,5067,6278, -3001,2807,5695,3346,5775,5974,5158,5448,6487,5975,5976,5776,3598,6279,5696,4806, -4211,4154,6280,6488,6489,6490,6281,4212,5037,3374,4171,6491,4562,4807,4722,4827, -5977,6104,4532,4079,5159,5324,5160,4404,3858,5359,5875,3975,4288,4610,3486,4512, -5325,3893,5360,6282,6283,5560,2522,4231,5978,5186,5449,2569,3878,6284,5401,3578, -4415,6285,4656,5124,5979,2506,4247,4449,3219,3417,4334,4969,4329,6492,4576,4828, -4172,4416,4829,5402,6286,3927,3852,5361,4369,4830,4477,4867,5876,4173,6493,6105, -4657,6287,6106,5877,5450,6494,4155,4868,5451,3700,5629,4384,6288,6289,5878,3189, -4881,6107,6290,6495,4513,6496,4692,4515,4723,5100,3356,6497,6291,3810,4080,5561, -3570,4430,5980,6498,4355,5697,6499,4724,6108,6109,3764,4050,5038,5879,4093,3226, -6292,5068,5217,4693,3342,5630,3504,4831,4377,4466,4309,5698,4431,5777,6293,5778, -4272,3706,6110,5326,3752,4676,5327,4273,5403,4767,5631,6500,5699,5880,3475,5039, -6294,5562,5125,4348,4301,4482,4068,5126,4593,5700,3380,3462,5981,5563,3824,5404, -4970,5511,3825,4738,6295,6501,5452,4516,6111,5881,5564,6502,6296,5982,6503,4213, -4163,3454,6504,6112,4009,4450,6113,4658,6297,6114,3035,6505,6115,3995,4904,4739, -4563,4942,4110,5040,3661,3928,5362,3674,6506,5292,3612,4791,5565,4149,5983,5328, -5259,5021,4725,4577,4564,4517,4364,6298,5405,4578,5260,4594,4156,4157,5453,3592, -3491,6507,5127,5512,4709,4922,5984,5701,4726,4289,6508,4015,6116,5128,4628,3424, -4241,5779,6299,4905,6509,6510,5454,5702,5780,6300,4365,4923,3971,6511,5161,3270, -3158,5985,4100, 867,5129,5703,6117,5363,3695,3301,5513,4467,6118,6512,5455,4232, -4242,4629,6513,3959,4478,6514,5514,5329,5986,4850,5162,5566,3846,4694,6119,5456, -4869,5781,3779,6301,5704,5987,5515,4710,6302,5882,6120,4392,5364,5705,6515,6121, -6516,6517,3736,5988,5457,5989,4695,2457,5883,4551,5782,6303,6304,6305,5130,4971, -6122,5163,6123,4870,3263,5365,3150,4871,6518,6306,5783,5069,5706,3513,3498,4409, -5330,5632,5366,5458,5459,3991,5990,4502,3324,5991,5784,3696,4518,5633,4119,6519, -4630,5634,4417,5707,4832,5992,3418,6124,5993,5567,4768,5218,6520,4595,3458,5367, -6125,5635,6126,4202,6521,4740,4924,6307,3981,4069,4385,6308,3883,2675,4051,3834, -4302,4483,5568,5994,4972,4101,5368,6309,5164,5884,3922,6127,6522,6523,5261,5460, -5187,4164,5219,3538,5516,4111,3524,5995,6310,6311,5369,3181,3386,2484,5188,3464, -5569,3627,5708,6524,5406,5165,4677,4492,6312,4872,4851,5885,4468,5996,6313,5709, -5710,6128,2470,5886,6314,5293,4882,5785,3325,5461,5101,6129,5711,5786,6525,4906, -6526,6527,4418,5887,5712,4808,2907,3701,5713,5888,6528,3765,5636,5331,6529,6530, -3593,5889,3637,4943,3692,5714,5787,4925,6315,6130,5462,4405,6131,6132,6316,5262, -6531,6532,5715,3859,5716,5070,4696,5102,3929,5788,3987,4792,5997,6533,6534,3920, -4809,5000,5998,6535,2974,5370,6317,5189,5263,5717,3826,6536,3953,5001,4883,3190, -5463,5890,4973,5999,4741,6133,6134,3607,5570,6000,4711,3362,3630,4552,5041,6318, -6001,2950,2953,5637,4646,5371,4944,6002,2044,4120,3429,6319,6537,5103,4833,6538, -6539,4884,4647,3884,6003,6004,4758,3835,5220,5789,4565,5407,6540,6135,5294,4697, -4852,6320,6321,3206,4907,6541,6322,4945,6542,6136,6543,6323,6005,4631,3519,6544, -5891,6545,5464,3784,5221,6546,5571,4659,6547,6324,6137,5190,6548,3853,6549,4016, -4834,3954,6138,5332,3827,4017,3210,3546,4469,5408,5718,3505,4648,5790,5131,5638, -5791,5465,4727,4318,6325,6326,5792,4553,4010,4698,3439,4974,3638,4335,3085,6006, -5104,5042,5166,5892,5572,6327,4356,4519,5222,5573,5333,5793,5043,6550,5639,5071, -4503,6328,6139,6551,6140,3914,3901,5372,6007,5640,4728,4793,3976,3836,4885,6552, -4127,6553,4451,4102,5002,6554,3686,5105,6555,5191,5072,5295,4611,5794,5296,6556, -5893,5264,5894,4975,5466,5265,4699,4976,4370,4056,3492,5044,4886,6557,5795,4432, -4769,4357,5467,3940,4660,4290,6141,4484,4770,4661,3992,6329,4025,4662,5022,4632, -4835,4070,5297,4663,4596,5574,5132,5409,5895,6142,4504,5192,4664,5796,5896,3885, -5575,5797,5023,4810,5798,3732,5223,4712,5298,4084,5334,5468,6143,4052,4053,4336, -4977,4794,6558,5335,4908,5576,5224,4233,5024,4128,5469,5225,4873,6008,5045,4729, -4742,4633,3675,4597,6559,5897,5133,5577,5003,5641,5719,6330,6560,3017,2382,3854, -4406,4811,6331,4393,3964,4946,6561,2420,3722,6562,4926,4378,3247,1736,4442,6332, -5134,6333,5226,3996,2918,5470,4319,4003,4598,4743,4744,4485,3785,3902,5167,5004, -5373,4394,5898,6144,4874,1793,3997,6334,4085,4214,5106,5642,4909,5799,6009,4419, -4189,3330,5899,4165,4420,5299,5720,5227,3347,6145,4081,6335,2876,3930,6146,3293, -3786,3910,3998,5900,5300,5578,2840,6563,5901,5579,6147,3531,5374,6564,6565,5580, -4759,5375,6566,6148,3559,5643,6336,6010,5517,6337,6338,5721,5902,3873,6011,6339, -6567,5518,3868,3649,5722,6568,4771,4947,6569,6149,4812,6570,2853,5471,6340,6341, -5644,4795,6342,6012,5723,6343,5724,6013,4349,6344,3160,6150,5193,4599,4514,4493, -5168,4320,6345,4927,3666,4745,5169,5903,5005,4928,6346,5725,6014,4730,4203,5046, -4948,3395,5170,6015,4150,6016,5726,5519,6347,5047,3550,6151,6348,4197,4310,5904, -6571,5581,2965,6152,4978,3960,4291,5135,6572,5301,5727,4129,4026,5905,4853,5728, -5472,6153,6349,4533,2700,4505,5336,4678,3583,5073,2994,4486,3043,4554,5520,6350, -6017,5800,4487,6351,3931,4103,5376,6352,4011,4321,4311,4190,5136,6018,3988,3233, -4350,5906,5645,4198,6573,5107,3432,4191,3435,5582,6574,4139,5410,6353,5411,3944, -5583,5074,3198,6575,6354,4358,6576,5302,4600,5584,5194,5412,6577,6578,5585,5413, -5303,4248,5414,3879,4433,6579,4479,5025,4854,5415,6355,4760,4772,3683,2978,4700, -3797,4452,3965,3932,3721,4910,5801,6580,5195,3551,5907,3221,3471,3029,6019,3999, -5908,5909,5266,5267,3444,3023,3828,3170,4796,5646,4979,4259,6356,5647,5337,3694, -6357,5648,5338,4520,4322,5802,3031,3759,4071,6020,5586,4836,4386,5048,6581,3571, -4679,4174,4949,6154,4813,3787,3402,3822,3958,3215,3552,5268,4387,3933,4950,4359, -6021,5910,5075,3579,6358,4234,4566,5521,6359,3613,5049,6022,5911,3375,3702,3178, -4911,5339,4521,6582,6583,4395,3087,3811,5377,6023,6360,6155,4027,5171,5649,4421, -4249,2804,6584,2270,6585,4000,4235,3045,6156,5137,5729,4140,4312,3886,6361,4330, -6157,4215,6158,3500,3676,4929,4331,3713,4930,5912,4265,3776,3368,5587,4470,4855, -3038,4980,3631,6159,6160,4132,4680,6161,6362,3923,4379,5588,4255,6586,4121,6587, -6363,4649,6364,3288,4773,4774,6162,6024,6365,3543,6588,4274,3107,3737,5050,5803, -4797,4522,5589,5051,5730,3714,4887,5378,4001,4523,6163,5026,5522,4701,4175,2791, -3760,6589,5473,4224,4133,3847,4814,4815,4775,3259,5416,6590,2738,6164,6025,5304, -3733,5076,5650,4816,5590,6591,6165,6592,3934,5269,6593,3396,5340,6594,5804,3445, -3602,4042,4488,5731,5732,3525,5591,4601,5196,6166,6026,5172,3642,4612,3202,4506, -4798,6366,3818,5108,4303,5138,5139,4776,3332,4304,2915,3415,4434,5077,5109,4856, -2879,5305,4817,6595,5913,3104,3144,3903,4634,5341,3133,5110,5651,5805,6167,4057, -5592,2945,4371,5593,6596,3474,4182,6367,6597,6168,4507,4279,6598,2822,6599,4777, -4713,5594,3829,6169,3887,5417,6170,3653,5474,6368,4216,2971,5228,3790,4579,6369, -5733,6600,6601,4951,4746,4555,6602,5418,5475,6027,3400,4665,5806,6171,4799,6028, -5052,6172,3343,4800,4747,5006,6370,4556,4217,5476,4396,5229,5379,5477,3839,5914, -5652,5807,4714,3068,4635,5808,6173,5342,4192,5078,5419,5523,5734,6174,4557,6175, -4602,6371,6176,6603,5809,6372,5735,4260,3869,5111,5230,6029,5112,6177,3126,4681, -5524,5915,2706,3563,4748,3130,6178,4018,5525,6604,6605,5478,4012,4837,6606,4534, -4193,5810,4857,3615,5479,6030,4082,3697,3539,4086,5270,3662,4508,4931,5916,4912, -5811,5027,3888,6607,4397,3527,3302,3798,2775,2921,2637,3966,4122,4388,4028,4054, -1633,4858,5079,3024,5007,3982,3412,5736,6608,3426,3236,5595,3030,6179,3427,3336, -3279,3110,6373,3874,3039,5080,5917,5140,4489,3119,6374,5812,3405,4494,6031,4666, -4141,6180,4166,6032,5813,4981,6609,5081,4422,4982,4112,3915,5653,3296,3983,6375, -4266,4410,5654,6610,6181,3436,5082,6611,5380,6033,3819,5596,4535,5231,5306,5113, -6612,4952,5918,4275,3113,6613,6376,6182,6183,5814,3073,4731,4838,5008,3831,6614, -4888,3090,3848,4280,5526,5232,3014,5655,5009,5737,5420,5527,6615,5815,5343,5173, -5381,4818,6616,3151,4953,6617,5738,2796,3204,4360,2989,4281,5739,5174,5421,5197, -3132,5141,3849,5142,5528,5083,3799,3904,4839,5480,2880,4495,3448,6377,6184,5271, -5919,3771,3193,6034,6035,5920,5010,6036,5597,6037,6378,6038,3106,5422,6618,5423, -5424,4142,6619,4889,5084,4890,4313,5740,6620,3437,5175,5307,5816,4199,5198,5529, -5817,5199,5656,4913,5028,5344,3850,6185,2955,5272,5011,5818,4567,4580,5029,5921, -3616,5233,6621,6622,6186,4176,6039,6379,6380,3352,5200,5273,2908,5598,5234,3837, -5308,6623,6624,5819,4496,4323,5309,5201,6625,6626,4983,3194,3838,4167,5530,5922, -5274,6381,6382,3860,3861,5599,3333,4292,4509,6383,3553,5481,5820,5531,4778,6187, -3955,3956,4324,4389,4218,3945,4325,3397,2681,5923,4779,5085,4019,5482,4891,5382, -5383,6040,4682,3425,5275,4094,6627,5310,3015,5483,5657,4398,5924,3168,4819,6628, -5925,6629,5532,4932,4613,6041,6630,4636,6384,4780,4204,5658,4423,5821,3989,4683, -5822,6385,4954,6631,5345,6188,5425,5012,5384,3894,6386,4490,4104,6632,5741,5053, -6633,5823,5926,5659,5660,5927,6634,5235,5742,5824,4840,4933,4820,6387,4859,5928, -4955,6388,4143,3584,5825,5346,5013,6635,5661,6389,5014,5484,5743,4337,5176,5662, -6390,2836,6391,3268,6392,6636,6042,5236,6637,4158,6638,5744,5663,4471,5347,3663, -4123,5143,4293,3895,6639,6640,5311,5929,5826,3800,6189,6393,6190,5664,5348,3554, -3594,4749,4603,6641,5385,4801,6043,5827,4183,6642,5312,5426,4761,6394,5665,6191, -4715,2669,6643,6644,5533,3185,5427,5086,5930,5931,5386,6192,6044,6645,4781,4013, -5745,4282,4435,5534,4390,4267,6045,5746,4984,6046,2743,6193,3501,4087,5485,5932, -5428,4184,4095,5747,4061,5054,3058,3862,5933,5600,6646,5144,3618,6395,3131,5055, -5313,6396,4650,4956,3855,6194,3896,5202,4985,4029,4225,6195,6647,5828,5486,5829, -3589,3002,6648,6397,4782,5276,6649,6196,6650,4105,3803,4043,5237,5830,6398,4096, -3643,6399,3528,6651,4453,3315,4637,6652,3984,6197,5535,3182,3339,6653,3096,2660, -6400,6654,3449,5934,4250,4236,6047,6401,5831,6655,5487,3753,4062,5832,6198,6199, -6656,3766,6657,3403,4667,6048,6658,4338,2897,5833,3880,2797,3780,4326,6659,5748, -5015,6660,5387,4351,5601,4411,6661,3654,4424,5935,4339,4072,5277,4568,5536,6402, -6662,5238,6663,5349,5203,6200,5204,6201,5145,4536,5016,5056,4762,5834,4399,4957, -6202,6403,5666,5749,6664,4340,6665,5936,5177,5667,6666,6667,3459,4668,6404,6668, -6669,4543,6203,6670,4276,6405,4480,5537,6671,4614,5205,5668,6672,3348,2193,4763, -6406,6204,5937,5602,4177,5669,3419,6673,4020,6205,4443,4569,5388,3715,3639,6407, -6049,4058,6206,6674,5938,4544,6050,4185,4294,4841,4651,4615,5488,6207,6408,6051, -5178,3241,3509,5835,6208,4958,5836,4341,5489,5278,6209,2823,5538,5350,5206,5429, -6675,4638,4875,4073,3516,4684,4914,4860,5939,5603,5389,6052,5057,3237,5490,3791, -6676,6409,6677,4821,4915,4106,5351,5058,4243,5539,4244,5604,4842,4916,5239,3028, -3716,5837,5114,5605,5390,5940,5430,6210,4332,6678,5540,4732,3667,3840,6053,4305, -3408,5670,5541,6410,2744,5240,5750,6679,3234,5606,6680,5607,5671,3608,4283,4159, -4400,5352,4783,6681,6411,6682,4491,4802,6211,6412,5941,6413,6414,5542,5751,6683, -4669,3734,5942,6684,6415,5943,5059,3328,4670,4144,4268,6685,6686,6687,6688,4372, -3603,6689,5944,5491,4373,3440,6416,5543,4784,4822,5608,3792,4616,5838,5672,3514, -5391,6417,4892,6690,4639,6691,6054,5673,5839,6055,6692,6056,5392,6212,4038,5544, -5674,4497,6057,6693,5840,4284,5675,4021,4545,5609,6418,4454,6419,6213,4113,4472, -5314,3738,5087,5279,4074,5610,4959,4063,3179,4750,6058,6420,6214,3476,4498,4716, -5431,4960,4685,6215,5241,6694,6421,6216,6695,5841,5945,6422,3748,5946,5179,3905, -5752,5545,5947,4374,6217,4455,6423,4412,6218,4803,5353,6696,3832,5280,6219,4327, -4702,6220,6221,6059,4652,5432,6424,3749,4751,6425,5753,4986,5393,4917,5948,5030, -5754,4861,4733,6426,4703,6697,6222,4671,5949,4546,4961,5180,6223,5031,3316,5281, -6698,4862,4295,4934,5207,3644,6427,5842,5950,6428,6429,4570,5843,5282,6430,6224, -5088,3239,6060,6699,5844,5755,6061,6431,2701,5546,6432,5115,5676,4039,3993,3327, -4752,4425,5315,6433,3941,6434,5677,4617,4604,3074,4581,6225,5433,6435,6226,6062, -4823,5756,5116,6227,3717,5678,4717,5845,6436,5679,5846,6063,5847,6064,3977,3354, -6437,3863,5117,6228,5547,5394,4499,4524,6229,4605,6230,4306,4500,6700,5951,6065, -3693,5952,5089,4366,4918,6701,6231,5548,6232,6702,6438,4704,5434,6703,6704,5953, -4168,6705,5680,3420,6706,5242,4407,6066,3812,5757,5090,5954,4672,4525,3481,5681, -4618,5395,5354,5316,5955,6439,4962,6707,4526,6440,3465,4673,6067,6441,5682,6708, -5435,5492,5758,5683,4619,4571,4674,4804,4893,4686,5493,4753,6233,6068,4269,6442, -6234,5032,4705,5146,5243,5208,5848,6235,6443,4963,5033,4640,4226,6236,5849,3387, -6444,6445,4436,4437,5850,4843,5494,4785,4894,6709,4361,6710,5091,5956,3331,6237, -4987,5549,6069,6711,4342,3517,4473,5317,6070,6712,6071,4706,6446,5017,5355,6713, -6714,4988,5436,6447,4734,5759,6715,4735,4547,4456,4754,6448,5851,6449,6450,3547, -5852,5318,6451,6452,5092,4205,6716,6238,4620,4219,5611,6239,6072,4481,5760,5957, -5958,4059,6240,6453,4227,4537,6241,5761,4030,4186,5244,5209,3761,4457,4876,3337, -5495,5181,6242,5959,5319,5612,5684,5853,3493,5854,6073,4169,5613,5147,4895,6074, -5210,6717,5182,6718,3830,6243,2798,3841,6075,6244,5855,5614,3604,4606,5496,5685, -5118,5356,6719,6454,5960,5357,5961,6720,4145,3935,4621,5119,5962,4261,6721,6455, -4786,5963,4375,4582,6245,6246,6247,6076,5437,4877,5856,3376,4380,6248,4160,6722, -5148,6456,5211,6457,6723,4718,6458,6724,6249,5358,4044,3297,6459,6250,5857,5615, -5497,5245,6460,5498,6725,6251,6252,5550,3793,5499,2959,5396,6461,6462,4572,5093, -5500,5964,3806,4146,6463,4426,5762,5858,6077,6253,4755,3967,4220,5965,6254,4989, -5501,6464,4352,6726,6078,4764,2290,5246,3906,5438,5283,3767,4964,2861,5763,5094, -6255,6256,4622,5616,5859,5860,4707,6727,4285,4708,4824,5617,6257,5551,4787,5212, -4965,4935,4687,6465,6728,6466,5686,6079,3494,4413,2995,5247,5966,5618,6729,5967, -5764,5765,5687,5502,6730,6731,6080,5397,6467,4990,6258,6732,4538,5060,5619,6733, -4719,5688,5439,5018,5149,5284,5503,6734,6081,4607,6259,5120,3645,5861,4583,6260, -4584,4675,5620,4098,5440,6261,4863,2379,3306,4585,5552,5689,4586,5285,6735,4864, -6736,5286,6082,6737,4623,3010,4788,4381,4558,5621,4587,4896,3698,3161,5248,4353, -4045,6262,3754,5183,4588,6738,6263,6739,6740,5622,3936,6741,6468,6742,6264,5095, -6469,4991,5968,6743,4992,6744,6083,4897,6745,4256,5766,4307,3108,3968,4444,5287, -3889,4343,6084,4510,6085,4559,6086,4898,5969,6746,5623,5061,4919,5249,5250,5504, -5441,6265,5320,4878,3242,5862,5251,3428,6087,6747,4237,5624,5442,6266,5553,4539, -6748,2585,3533,5398,4262,6088,5150,4736,4438,6089,6267,5505,4966,6749,6268,6750, -6269,5288,5554,3650,6090,6091,4624,6092,5690,6751,5863,4270,5691,4277,5555,5864, -6752,5692,4720,4865,6470,5151,4688,4825,6753,3094,6754,6471,3235,4653,6755,5213, -5399,6756,3201,4589,5865,4967,6472,5866,6473,5019,3016,6757,5321,4756,3957,4573, -6093,4993,5767,4721,6474,6758,5625,6759,4458,6475,6270,6760,5556,4994,5214,5252, -6271,3875,5768,6094,5034,5506,4376,5769,6761,2120,6476,5253,5770,6762,5771,5970, -3990,5971,5557,5558,5772,6477,6095,2787,4641,5972,5121,6096,6097,6272,6763,3703, -5867,5507,6273,4206,6274,4789,6098,6764,3619,3646,3833,3804,2394,3788,4936,3978, -4866,4899,6099,6100,5559,6478,6765,3599,5868,6101,5869,5870,6275,6766,4527,6767) - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312prober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312prober.py deleted file mode 100644 index 0325a2d8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/gb2312prober.py +++ /dev/null @@ -1,41 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import GB2312DistributionAnalysis -from .mbcssm import GB2312SMModel - -class GB2312Prober(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(GB2312SMModel) - self._mDistributionAnalyzer = GB2312DistributionAnalysis() - self.reset() - - def get_charset_name(self): - return "GB2312" diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/hebrewprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/hebrewprober.py deleted file mode 100644 index ba225c5e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/hebrewprober.py +++ /dev/null @@ -1,283 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Shy Shalom -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .constants import eNotMe, eDetecting -from .compat import wrap_ord - -# This prober doesn't actually recognize a language or a charset. -# It is a helper prober for the use of the Hebrew model probers - -### General ideas of the Hebrew charset recognition ### -# -# Four main charsets exist in Hebrew: -# "ISO-8859-8" - Visual Hebrew -# "windows-1255" - Logical Hebrew -# "ISO-8859-8-I" - Logical Hebrew -# "x-mac-hebrew" - ?? Logical Hebrew ?? -# -# Both "ISO" charsets use a completely identical set of code points, whereas -# "windows-1255" and "x-mac-hebrew" are two different proper supersets of -# these code points. windows-1255 defines additional characters in the range -# 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific -# diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6. -# x-mac-hebrew defines similar additional code points but with a different -# mapping. -# -# As far as an average Hebrew text with no diacritics is concerned, all four -# charsets are identical with respect to code points. Meaning that for the -# main Hebrew alphabet, all four map the same values to all 27 Hebrew letters -# (including final letters). -# -# The dominant difference between these charsets is their directionality. -# "Visual" directionality means that the text is ordered as if the renderer is -# not aware of a BIDI rendering algorithm. The renderer sees the text and -# draws it from left to right. The text itself when ordered naturally is read -# backwards. A buffer of Visual Hebrew generally looks like so: -# "[last word of first line spelled backwards] [whole line ordered backwards -# and spelled backwards] [first word of first line spelled backwards] -# [end of line] [last word of second line] ... etc' " -# adding punctuation marks, numbers and English text to visual text is -# naturally also "visual" and from left to right. -# -# "Logical" directionality means the text is ordered "naturally" according to -# the order it is read. It is the responsibility of the renderer to display -# the text from right to left. A BIDI algorithm is used to place general -# punctuation marks, numbers and English text in the text. -# -# Texts in x-mac-hebrew are almost impossible to find on the Internet. From -# what little evidence I could find, it seems that its general directionality -# is Logical. -# -# To sum up all of the above, the Hebrew probing mechanism knows about two -# charsets: -# Visual Hebrew - "ISO-8859-8" - backwards text - Words and sentences are -# backwards while line order is natural. For charset recognition purposes -# the line order is unimportant (In fact, for this implementation, even -# word order is unimportant). -# Logical Hebrew - "windows-1255" - normal, naturally ordered text. -# -# "ISO-8859-8-I" is a subset of windows-1255 and doesn't need to be -# specifically identified. -# "x-mac-hebrew" is also identified as windows-1255. A text in x-mac-hebrew -# that contain special punctuation marks or diacritics is displayed with -# some unconverted characters showing as question marks. This problem might -# be corrected using another model prober for x-mac-hebrew. Due to the fact -# that x-mac-hebrew texts are so rare, writing another model prober isn't -# worth the effort and performance hit. -# -#### The Prober #### -# -# The prober is divided between two SBCharSetProbers and a HebrewProber, -# all of which are managed, created, fed data, inquired and deleted by the -# SBCSGroupProber. The two SBCharSetProbers identify that the text is in -# fact some kind of Hebrew, Logical or Visual. The final decision about which -# one is it is made by the HebrewProber by combining final-letter scores -# with the scores of the two SBCharSetProbers to produce a final answer. -# -# The SBCSGroupProber is responsible for stripping the original text of HTML -# tags, English characters, numbers, low-ASCII punctuation characters, spaces -# and new lines. It reduces any sequence of such characters to a single space. -# The buffer fed to each prober in the SBCS group prober is pure text in -# high-ASCII. -# The two SBCharSetProbers (model probers) share the same language model: -# Win1255Model. -# The first SBCharSetProber uses the model normally as any other -# SBCharSetProber does, to recognize windows-1255, upon which this model was -# built. The second SBCharSetProber is told to make the pair-of-letter -# lookup in the language model backwards. This in practice exactly simulates -# a visual Hebrew model using the windows-1255 logical Hebrew model. -# -# The HebrewProber is not using any language model. All it does is look for -# final-letter evidence suggesting the text is either logical Hebrew or visual -# Hebrew. Disjointed from the model probers, the results of the HebrewProber -# alone are meaningless. HebrewProber always returns 0.00 as confidence -# since it never identifies a charset by itself. Instead, the pointer to the -# HebrewProber is passed to the model probers as a helper "Name Prober". -# When the Group prober receives a positive identification from any prober, -# it asks for the name of the charset identified. If the prober queried is a -# Hebrew model prober, the model prober forwards the call to the -# HebrewProber to make the final decision. In the HebrewProber, the -# decision is made according to the final-letters scores maintained and Both -# model probers scores. The answer is returned in the form of the name of the -# charset identified, either "windows-1255" or "ISO-8859-8". - -# windows-1255 / ISO-8859-8 code points of interest -FINAL_KAF = 0xea -NORMAL_KAF = 0xeb -FINAL_MEM = 0xed -NORMAL_MEM = 0xee -FINAL_NUN = 0xef -NORMAL_NUN = 0xf0 -FINAL_PE = 0xf3 -NORMAL_PE = 0xf4 -FINAL_TSADI = 0xf5 -NORMAL_TSADI = 0xf6 - -# Minimum Visual vs Logical final letter score difference. -# If the difference is below this, don't rely solely on the final letter score -# distance. -MIN_FINAL_CHAR_DISTANCE = 5 - -# Minimum Visual vs Logical model score difference. -# If the difference is below this, don't rely at all on the model score -# distance. -MIN_MODEL_DISTANCE = 0.01 - -VISUAL_HEBREW_NAME = "ISO-8859-8" -LOGICAL_HEBREW_NAME = "windows-1255" - - -class HebrewProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mLogicalProber = None - self._mVisualProber = None - self.reset() - - def reset(self): - self._mFinalCharLogicalScore = 0 - self._mFinalCharVisualScore = 0 - # The two last characters seen in the previous buffer, - # mPrev and mBeforePrev are initialized to space in order to simulate - # a word delimiter at the beginning of the data - self._mPrev = ' ' - self._mBeforePrev = ' ' - # These probers are owned by the group prober. - - def set_model_probers(self, logicalProber, visualProber): - self._mLogicalProber = logicalProber - self._mVisualProber = visualProber - - def is_final(self, c): - return wrap_ord(c) in [FINAL_KAF, FINAL_MEM, FINAL_NUN, FINAL_PE, - FINAL_TSADI] - - def is_non_final(self, c): - # The normal Tsadi is not a good Non-Final letter due to words like - # 'lechotet' (to chat) containing an apostrophe after the tsadi. This - # apostrophe is converted to a space in FilterWithoutEnglishLetters - # causing the Non-Final tsadi to appear at an end of a word even - # though this is not the case in the original text. - # The letters Pe and Kaf rarely display a related behavior of not being - # a good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' - # for example legally end with a Non-Final Pe or Kaf. However, the - # benefit of these letters as Non-Final letters outweighs the damage - # since these words are quite rare. - return wrap_ord(c) in [NORMAL_KAF, NORMAL_MEM, NORMAL_NUN, NORMAL_PE] - - def feed(self, aBuf): - # Final letter analysis for logical-visual decision. - # Look for evidence that the received buffer is either logical Hebrew - # or visual Hebrew. - # The following cases are checked: - # 1) A word longer than 1 letter, ending with a final letter. This is - # an indication that the text is laid out "naturally" since the - # final letter really appears at the end. +1 for logical score. - # 2) A word longer than 1 letter, ending with a Non-Final letter. In - # normal Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, - # should not end with the Non-Final form of that letter. Exceptions - # to this rule are mentioned above in isNonFinal(). This is an - # indication that the text is laid out backwards. +1 for visual - # score - # 3) A word longer than 1 letter, starting with a final letter. Final - # letters should not appear at the beginning of a word. This is an - # indication that the text is laid out backwards. +1 for visual - # score. - # - # The visual score and logical score are accumulated throughout the - # text and are finally checked against each other in GetCharSetName(). - # No checking for final letters in the middle of words is done since - # that case is not an indication for either Logical or Visual text. - # - # We automatically filter out all 7-bit characters (replace them with - # spaces) so the word boundary detection works properly. [MAP] - - if self.get_state() == eNotMe: - # Both model probers say it's not them. No reason to continue. - return eNotMe - - aBuf = self.filter_high_bit_only(aBuf) - - for cur in aBuf: - if cur == ' ': - # We stand on a space - a word just ended - if self._mBeforePrev != ' ': - # next-to-last char was not a space so self._mPrev is not a - # 1 letter word - if self.is_final(self._mPrev): - # case (1) [-2:not space][-1:final letter][cur:space] - self._mFinalCharLogicalScore += 1 - elif self.is_non_final(self._mPrev): - # case (2) [-2:not space][-1:Non-Final letter][ - # cur:space] - self._mFinalCharVisualScore += 1 - else: - # Not standing on a space - if ((self._mBeforePrev == ' ') and - (self.is_final(self._mPrev)) and (cur != ' ')): - # case (3) [-2:space][-1:final letter][cur:not space] - self._mFinalCharVisualScore += 1 - self._mBeforePrev = self._mPrev - self._mPrev = cur - - # Forever detecting, till the end or until both model probers return - # eNotMe (handled above) - return eDetecting - - def get_charset_name(self): - # Make the decision: is it Logical or Visual? - # If the final letter score distance is dominant enough, rely on it. - finalsub = self._mFinalCharLogicalScore - self._mFinalCharVisualScore - if finalsub >= MIN_FINAL_CHAR_DISTANCE: - return LOGICAL_HEBREW_NAME - if finalsub <= -MIN_FINAL_CHAR_DISTANCE: - return VISUAL_HEBREW_NAME - - # It's not dominant enough, try to rely on the model scores instead. - modelsub = (self._mLogicalProber.get_confidence() - - self._mVisualProber.get_confidence()) - if modelsub > MIN_MODEL_DISTANCE: - return LOGICAL_HEBREW_NAME - if modelsub < -MIN_MODEL_DISTANCE: - return VISUAL_HEBREW_NAME - - # Still no good, back to final letter distance, maybe it'll save the - # day. - if finalsub < 0.0: - return VISUAL_HEBREW_NAME - - # (finalsub > 0 - Logical) or (don't know what to do) default to - # Logical. - return LOGICAL_HEBREW_NAME - - def get_state(self): - # Remain active as long as any of the model probers are active. - if (self._mLogicalProber.get_state() == eNotMe) and \ - (self._mVisualProber.get_state() == eNotMe): - return eNotMe - return eDetecting diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jisfreq.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jisfreq.py deleted file mode 100644 index 064345b0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jisfreq.py +++ /dev/null @@ -1,569 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# Sampling from about 20M text materials include literature and computer technology -# -# Japanese frequency table, applied to both S-JIS and EUC-JP -# They are sorted in order. - -# 128 --> 0.77094 -# 256 --> 0.85710 -# 512 --> 0.92635 -# 1024 --> 0.97130 -# 2048 --> 0.99431 -# -# Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58 -# Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191 -# -# Typical Distribution Ratio, 25% of IDR - -JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0 - -# Char to FreqOrder table , -JIS_TABLE_SIZE = 4368 - -JISCharToFreqOrder = ( - 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16 -3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32 -1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48 -2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64 -2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80 -5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96 -1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112 -5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128 -5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144 -5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160 -5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176 -5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192 -5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208 -1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224 -1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240 -1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256 -2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272 -3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288 -3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304 - 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320 - 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336 -1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352 - 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368 -5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384 - 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400 - 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416 - 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432 - 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448 - 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464 -5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480 -5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496 -5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512 -4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528 -5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544 -5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560 -5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576 -5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592 -5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608 -5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624 -5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640 -5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656 -5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672 -3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688 -5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704 -5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720 -5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736 -5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752 -5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768 -5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784 -5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800 -5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816 -5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832 -5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848 -5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864 -5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880 -5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896 -5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912 -5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928 -5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944 -5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960 -5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976 -5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992 -5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008 -5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024 -5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040 -5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056 -5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072 -5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088 -5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104 -5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120 -5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136 -5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152 -5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168 -5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184 -5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200 -5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216 -5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232 -5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248 -5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264 -5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280 -5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296 -6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312 -6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328 -6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344 -6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360 -6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376 -6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392 -6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408 -6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424 -4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440 - 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456 - 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472 -1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488 -1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504 - 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520 -3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536 -3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552 - 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568 -3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584 -3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600 - 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616 -2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632 - 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648 -3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664 -1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680 - 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696 -1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712 - 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728 -2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744 -2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760 -2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776 -2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792 -1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808 -1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824 -1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840 -1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856 -2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872 -1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888 -2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904 -1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920 -1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936 -1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952 -1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968 -1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984 -1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000 - 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016 - 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032 -1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048 -2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064 -2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080 -2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096 -3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112 -3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128 - 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144 -3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160 -1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176 - 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192 -2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208 -1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224 - 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240 -3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256 -4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272 -2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288 -1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304 -2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320 -1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336 - 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352 - 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368 -1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384 -2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400 -2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416 -2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432 -3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448 -1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464 -2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480 - 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496 - 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512 - 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528 -1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544 -2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560 - 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576 -1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592 -1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608 - 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624 -1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640 -1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656 -1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672 - 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688 -2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704 - 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720 -2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736 -3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752 -2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768 -1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784 -6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800 -1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816 -2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832 -1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848 - 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864 - 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880 -3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896 -3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912 -1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928 -1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944 -1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960 -1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976 - 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992 - 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008 -2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024 - 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040 -3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056 -2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072 - 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088 -1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104 -2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120 - 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136 -1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152 - 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168 -4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184 -2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200 -1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216 - 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232 -1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248 -2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264 - 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280 -6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296 -1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312 -1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328 -2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344 -3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360 - 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376 -3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392 -1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408 - 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424 -1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440 - 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456 -3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472 - 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488 -2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504 - 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520 -4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536 -2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552 -1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568 -1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584 -1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600 - 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616 -1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632 -3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648 -1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664 -3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680 - 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696 - 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712 - 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728 -2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744 -1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760 - 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776 -1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792 - 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808 -1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824 - 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840 - 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856 - 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872 -1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888 -1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904 -2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920 -4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936 - 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952 -1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968 - 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984 -1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000 -3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016 -1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032 -2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048 -2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064 -1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080 -1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096 -2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112 - 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128 -2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144 -1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160 -1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176 -1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192 -1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208 -3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224 -2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240 -2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256 - 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272 -3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288 -3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304 -1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320 -2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336 -1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352 -2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512 -#Everything below is of no interest for detection purpose -2138,2122,3730,2888,1995,1820,1044,6190,6191,6192,6193,6194,6195,6196,6197,6198, # 4384 -6199,6200,6201,6202,6203,6204,6205,4670,6206,6207,6208,6209,6210,6211,6212,6213, # 4400 -6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229, # 4416 -6230,6231,6232,6233,6234,6235,6236,6237,3187,6238,6239,3969,6240,6241,6242,6243, # 4432 -6244,4671,6245,6246,4672,6247,6248,4133,6249,6250,4364,6251,2923,2556,2613,4673, # 4448 -4365,3970,6252,6253,6254,6255,4674,6256,6257,6258,2768,2353,4366,4675,4676,3188, # 4464 -4367,3463,6259,4134,4677,4678,6260,2267,6261,3842,3332,4368,3543,6262,6263,6264, # 4480 -3013,1954,1928,4135,4679,6265,6266,2478,3091,6267,4680,4369,6268,6269,1699,6270, # 4496 -3544,4136,4681,6271,4137,6272,4370,2804,6273,6274,2593,3971,3972,4682,6275,2236, # 4512 -4683,6276,6277,4684,6278,6279,4138,3973,4685,6280,6281,3258,6282,6283,6284,6285, # 4528 -3974,4686,2841,3975,6286,6287,3545,6288,6289,4139,4687,4140,6290,4141,6291,4142, # 4544 -6292,6293,3333,6294,6295,6296,4371,6297,3399,6298,6299,4372,3976,6300,6301,6302, # 4560 -4373,6303,6304,3843,3731,6305,4688,4374,6306,6307,3259,2294,6308,3732,2530,4143, # 4576 -6309,4689,6310,6311,6312,3048,6313,6314,4690,3733,2237,6315,6316,2282,3334,6317, # 4592 -6318,3844,6319,6320,4691,6321,3400,4692,6322,4693,6323,3049,6324,4375,6325,3977, # 4608 -6326,6327,6328,3546,6329,4694,3335,6330,4695,4696,6331,6332,6333,6334,4376,3978, # 4624 -6335,4697,3979,4144,6336,3980,4698,6337,6338,6339,6340,6341,4699,4700,4701,6342, # 4640 -6343,4702,6344,6345,4703,6346,6347,4704,6348,4705,4706,3135,6349,4707,6350,4708, # 4656 -6351,4377,6352,4709,3734,4145,6353,2506,4710,3189,6354,3050,4711,3981,6355,3547, # 4672 -3014,4146,4378,3735,2651,3845,3260,3136,2224,1986,6356,3401,6357,4712,2594,3627, # 4688 -3137,2573,3736,3982,4713,3628,4714,4715,2682,3629,4716,6358,3630,4379,3631,6359, # 4704 -6360,6361,3983,6362,6363,6364,6365,4147,3846,4717,6366,6367,3737,2842,6368,4718, # 4720 -2628,6369,3261,6370,2386,6371,6372,3738,3984,4719,3464,4720,3402,6373,2924,3336, # 4736 -4148,2866,6374,2805,3262,4380,2704,2069,2531,3138,2806,2984,6375,2769,6376,4721, # 4752 -4722,3403,6377,6378,3548,6379,6380,2705,3092,1979,4149,2629,3337,2889,6381,3338, # 4768 -4150,2557,3339,4381,6382,3190,3263,3739,6383,4151,4723,4152,2558,2574,3404,3191, # 4784 -6384,6385,4153,6386,4724,4382,6387,6388,4383,6389,6390,4154,6391,4725,3985,6392, # 4800 -3847,4155,6393,6394,6395,6396,6397,3465,6398,4384,6399,6400,6401,6402,6403,6404, # 4816 -4156,6405,6406,6407,6408,2123,6409,6410,2326,3192,4726,6411,6412,6413,6414,4385, # 4832 -4157,6415,6416,4158,6417,3093,3848,6418,3986,6419,6420,3849,6421,6422,6423,4159, # 4848 -6424,6425,4160,6426,3740,6427,6428,6429,6430,3987,6431,4727,6432,2238,6433,6434, # 4864 -4386,3988,6435,6436,3632,6437,6438,2843,6439,6440,6441,6442,3633,6443,2958,6444, # 4880 -6445,3466,6446,2364,4387,3850,6447,4388,2959,3340,6448,3851,6449,4728,6450,6451, # 4896 -3264,4729,6452,3193,6453,4389,4390,2706,3341,4730,6454,3139,6455,3194,6456,3051, # 4912 -2124,3852,1602,4391,4161,3853,1158,3854,4162,3989,4392,3990,4731,4732,4393,2040, # 4928 -4163,4394,3265,6457,2807,3467,3855,6458,6459,6460,3991,3468,4733,4734,6461,3140, # 4944 -2960,6462,4735,6463,6464,6465,6466,4736,4737,4738,4739,6467,6468,4164,2403,3856, # 4960 -6469,6470,2770,2844,6471,4740,6472,6473,6474,6475,6476,6477,6478,3195,6479,4741, # 4976 -4395,6480,2867,6481,4742,2808,6482,2493,4165,6483,6484,6485,6486,2295,4743,6487, # 4992 -6488,6489,3634,6490,6491,6492,6493,6494,6495,6496,2985,4744,6497,6498,4745,6499, # 5008 -6500,2925,3141,4166,6501,6502,4746,6503,6504,4747,6505,6506,6507,2890,6508,6509, # 5024 -6510,6511,6512,6513,6514,6515,6516,6517,6518,6519,3469,4167,6520,6521,6522,4748, # 5040 -4396,3741,4397,4749,4398,3342,2125,4750,6523,4751,4752,4753,3052,6524,2961,4168, # 5056 -6525,4754,6526,4755,4399,2926,4169,6527,3857,6528,4400,4170,6529,4171,6530,6531, # 5072 -2595,6532,6533,6534,6535,3635,6536,6537,6538,6539,6540,6541,6542,4756,6543,6544, # 5088 -6545,6546,6547,6548,4401,6549,6550,6551,6552,4402,3405,4757,4403,6553,6554,6555, # 5104 -4172,3742,6556,6557,6558,3992,3636,6559,6560,3053,2726,6561,3549,4173,3054,4404, # 5120 -6562,6563,3993,4405,3266,3550,2809,4406,6564,6565,6566,4758,4759,6567,3743,6568, # 5136 -4760,3744,4761,3470,6569,6570,6571,4407,6572,3745,4174,6573,4175,2810,4176,3196, # 5152 -4762,6574,4177,6575,6576,2494,2891,3551,6577,6578,3471,6579,4408,6580,3015,3197, # 5168 -6581,3343,2532,3994,3858,6582,3094,3406,4409,6583,2892,4178,4763,4410,3016,4411, # 5184 -6584,3995,3142,3017,2683,6585,4179,6586,6587,4764,4412,6588,6589,4413,6590,2986, # 5200 -6591,2962,3552,6592,2963,3472,6593,6594,4180,4765,6595,6596,2225,3267,4414,6597, # 5216 -3407,3637,4766,6598,6599,3198,6600,4415,6601,3859,3199,6602,3473,4767,2811,4416, # 5232 -1856,3268,3200,2575,3996,3997,3201,4417,6603,3095,2927,6604,3143,6605,2268,6606, # 5248 -3998,3860,3096,2771,6607,6608,3638,2495,4768,6609,3861,6610,3269,2745,4769,4181, # 5264 -3553,6611,2845,3270,6612,6613,6614,3862,6615,6616,4770,4771,6617,3474,3999,4418, # 5280 -4419,6618,3639,3344,6619,4772,4182,6620,2126,6621,6622,6623,4420,4773,6624,3018, # 5296 -6625,4774,3554,6626,4183,2025,3746,6627,4184,2707,6628,4421,4422,3097,1775,4185, # 5312 -3555,6629,6630,2868,6631,6632,4423,6633,6634,4424,2414,2533,2928,6635,4186,2387, # 5328 -6636,4775,6637,4187,6638,1891,4425,3202,3203,6639,6640,4776,6641,3345,6642,6643, # 5344 -3640,6644,3475,3346,3641,4000,6645,3144,6646,3098,2812,4188,3642,3204,6647,3863, # 5360 -3476,6648,3864,6649,4426,4001,6650,6651,6652,2576,6653,4189,4777,6654,6655,6656, # 5376 -2846,6657,3477,3205,4002,6658,4003,6659,3347,2252,6660,6661,6662,4778,6663,6664, # 5392 -6665,6666,6667,6668,6669,4779,4780,2048,6670,3478,3099,6671,3556,3747,4004,6672, # 5408 -6673,6674,3145,4005,3748,6675,6676,6677,6678,6679,3408,6680,6681,6682,6683,3206, # 5424 -3207,6684,6685,4781,4427,6686,4782,4783,4784,6687,6688,6689,4190,6690,6691,3479, # 5440 -6692,2746,6693,4428,6694,6695,6696,6697,6698,6699,4785,6700,6701,3208,2727,6702, # 5456 -3146,6703,6704,3409,2196,6705,4429,6706,6707,6708,2534,1996,6709,6710,6711,2747, # 5472 -6712,6713,6714,4786,3643,6715,4430,4431,6716,3557,6717,4432,4433,6718,6719,6720, # 5488 -6721,3749,6722,4006,4787,6723,6724,3644,4788,4434,6725,6726,4789,2772,6727,6728, # 5504 -6729,6730,6731,2708,3865,2813,4435,6732,6733,4790,4791,3480,6734,6735,6736,6737, # 5520 -4436,3348,6738,3410,4007,6739,6740,4008,6741,6742,4792,3411,4191,6743,6744,6745, # 5536 -6746,6747,3866,6748,3750,6749,6750,6751,6752,6753,6754,6755,3867,6756,4009,6757, # 5552 -4793,4794,6758,2814,2987,6759,6760,6761,4437,6762,6763,6764,6765,3645,6766,6767, # 5568 -3481,4192,6768,3751,6769,6770,2174,6771,3868,3752,6772,6773,6774,4193,4795,4438, # 5584 -3558,4796,4439,6775,4797,6776,6777,4798,6778,4799,3559,4800,6779,6780,6781,3482, # 5600 -6782,2893,6783,6784,4194,4801,4010,6785,6786,4440,6787,4011,6788,6789,6790,6791, # 5616 -6792,6793,4802,6794,6795,6796,4012,6797,6798,6799,6800,3349,4803,3483,6801,4804, # 5632 -4195,6802,4013,6803,6804,4196,6805,4014,4015,6806,2847,3271,2848,6807,3484,6808, # 5648 -6809,6810,4441,6811,4442,4197,4443,3272,4805,6812,3412,4016,1579,6813,6814,4017, # 5664 -6815,3869,6816,2964,6817,4806,6818,6819,4018,3646,6820,6821,4807,4019,4020,6822, # 5680 -6823,3560,6824,6825,4021,4444,6826,4198,6827,6828,4445,6829,6830,4199,4808,6831, # 5696 -6832,6833,3870,3019,2458,6834,3753,3413,3350,6835,4809,3871,4810,3561,4446,6836, # 5712 -6837,4447,4811,4812,6838,2459,4448,6839,4449,6840,6841,4022,3872,6842,4813,4814, # 5728 -6843,6844,4815,4200,4201,4202,6845,4023,6846,6847,4450,3562,3873,6848,6849,4816, # 5744 -4817,6850,4451,4818,2139,6851,3563,6852,6853,3351,6854,6855,3352,4024,2709,3414, # 5760 -4203,4452,6856,4204,6857,6858,3874,3875,6859,6860,4819,6861,6862,6863,6864,4453, # 5776 -3647,6865,6866,4820,6867,6868,6869,6870,4454,6871,2869,6872,6873,4821,6874,3754, # 5792 -6875,4822,4205,6876,6877,6878,3648,4206,4455,6879,4823,6880,4824,3876,6881,3055, # 5808 -4207,6882,3415,6883,6884,6885,4208,4209,6886,4210,3353,6887,3354,3564,3209,3485, # 5824 -2652,6888,2728,6889,3210,3755,6890,4025,4456,6891,4825,6892,6893,6894,6895,4211, # 5840 -6896,6897,6898,4826,6899,6900,4212,6901,4827,6902,2773,3565,6903,4828,6904,6905, # 5856 -6906,6907,3649,3650,6908,2849,3566,6909,3567,3100,6910,6911,6912,6913,6914,6915, # 5872 -4026,6916,3355,4829,3056,4457,3756,6917,3651,6918,4213,3652,2870,6919,4458,6920, # 5888 -2438,6921,6922,3757,2774,4830,6923,3356,4831,4832,6924,4833,4459,3653,2507,6925, # 5904 -4834,2535,6926,6927,3273,4027,3147,6928,3568,6929,6930,6931,4460,6932,3877,4461, # 5920 -2729,3654,6933,6934,6935,6936,2175,4835,2630,4214,4028,4462,4836,4215,6937,3148, # 5936 -4216,4463,4837,4838,4217,6938,6939,2850,4839,6940,4464,6941,6942,6943,4840,6944, # 5952 -4218,3274,4465,6945,6946,2710,6947,4841,4466,6948,6949,2894,6950,6951,4842,6952, # 5968 -4219,3057,2871,6953,6954,6955,6956,4467,6957,2711,6958,6959,6960,3275,3101,4843, # 5984 -6961,3357,3569,6962,4844,6963,6964,4468,4845,3570,6965,3102,4846,3758,6966,4847, # 6000 -3878,4848,4849,4029,6967,2929,3879,4850,4851,6968,6969,1733,6970,4220,6971,6972, # 6016 -6973,6974,6975,6976,4852,6977,6978,6979,6980,6981,6982,3759,6983,6984,6985,3486, # 6032 -3487,6986,3488,3416,6987,6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,4853, # 6048 -6998,6999,4030,7000,7001,3211,7002,7003,4221,7004,7005,3571,4031,7006,3572,7007, # 6064 -2614,4854,2577,7008,7009,2965,3655,3656,4855,2775,3489,3880,4222,4856,3881,4032, # 6080 -3882,3657,2730,3490,4857,7010,3149,7011,4469,4858,2496,3491,4859,2283,7012,7013, # 6096 -7014,2365,4860,4470,7015,7016,3760,7017,7018,4223,1917,7019,7020,7021,4471,7022, # 6112 -2776,4472,7023,7024,7025,7026,4033,7027,3573,4224,4861,4034,4862,7028,7029,1929, # 6128 -3883,4035,7030,4473,3058,7031,2536,3761,3884,7032,4036,7033,2966,2895,1968,4474, # 6144 -3276,4225,3417,3492,4226,2105,7034,7035,1754,2596,3762,4227,4863,4475,3763,4864, # 6160 -3764,2615,2777,3103,3765,3658,3418,4865,2296,3766,2815,7036,7037,7038,3574,2872, # 6176 -3277,4476,7039,4037,4477,7040,7041,4038,7042,7043,7044,7045,7046,7047,2537,7048, # 6192 -7049,7050,7051,7052,7053,7054,4478,7055,7056,3767,3659,4228,3575,7057,7058,4229, # 6208 -7059,7060,7061,3660,7062,3212,7063,3885,4039,2460,7064,7065,7066,7067,7068,7069, # 6224 -7070,7071,7072,7073,7074,4866,3768,4867,7075,7076,7077,7078,4868,3358,3278,2653, # 6240 -7079,7080,4479,3886,7081,7082,4869,7083,7084,7085,7086,7087,7088,2538,7089,7090, # 6256 -7091,4040,3150,3769,4870,4041,2896,3359,4230,2930,7092,3279,7093,2967,4480,3213, # 6272 -4481,3661,7094,7095,7096,7097,7098,7099,7100,7101,7102,2461,3770,7103,7104,4231, # 6288 -3151,7105,7106,7107,4042,3662,7108,7109,4871,3663,4872,4043,3059,7110,7111,7112, # 6304 -3493,2988,7113,4873,7114,7115,7116,3771,4874,7117,7118,4232,4875,7119,3576,2336, # 6320 -4876,7120,4233,3419,4044,4877,4878,4482,4483,4879,4484,4234,7121,3772,4880,1045, # 6336 -3280,3664,4881,4882,7122,7123,7124,7125,4883,7126,2778,7127,4485,4486,7128,4884, # 6352 -3214,3887,7129,7130,3215,7131,4885,4045,7132,7133,4046,7134,7135,7136,7137,7138, # 6368 -7139,7140,7141,7142,7143,4235,7144,4886,7145,7146,7147,4887,7148,7149,7150,4487, # 6384 -4047,4488,7151,7152,4888,4048,2989,3888,7153,3665,7154,4049,7155,7156,7157,7158, # 6400 -7159,7160,2931,4889,4890,4489,7161,2631,3889,4236,2779,7162,7163,4891,7164,3060, # 6416 -7165,1672,4892,7166,4893,4237,3281,4894,7167,7168,3666,7169,3494,7170,7171,4050, # 6432 -7172,7173,3104,3360,3420,4490,4051,2684,4052,7174,4053,7175,7176,7177,2253,4054, # 6448 -7178,7179,4895,7180,3152,3890,3153,4491,3216,7181,7182,7183,2968,4238,4492,4055, # 6464 -7184,2990,7185,2479,7186,7187,4493,7188,7189,7190,7191,7192,4896,7193,4897,2969, # 6480 -4494,4898,7194,3495,7195,7196,4899,4495,7197,3105,2731,7198,4900,7199,7200,7201, # 6496 -4056,7202,3361,7203,7204,4496,4901,4902,7205,4497,7206,7207,2315,4903,7208,4904, # 6512 -7209,4905,2851,7210,7211,3577,7212,3578,4906,7213,4057,3667,4907,7214,4058,2354, # 6528 -3891,2376,3217,3773,7215,7216,7217,7218,7219,4498,7220,4908,3282,2685,7221,3496, # 6544 -4909,2632,3154,4910,7222,2337,7223,4911,7224,7225,7226,4912,4913,3283,4239,4499, # 6560 -7227,2816,7228,7229,7230,7231,7232,7233,7234,4914,4500,4501,7235,7236,7237,2686, # 6576 -7238,4915,7239,2897,4502,7240,4503,7241,2516,7242,4504,3362,3218,7243,7244,7245, # 6592 -4916,7246,7247,4505,3363,7248,7249,7250,7251,3774,4506,7252,7253,4917,7254,7255, # 6608 -3284,2991,4918,4919,3219,3892,4920,3106,3497,4921,7256,7257,7258,4922,7259,4923, # 6624 -3364,4507,4508,4059,7260,4240,3498,7261,7262,4924,7263,2992,3893,4060,3220,7264, # 6640 -7265,7266,7267,7268,7269,4509,3775,7270,2817,7271,4061,4925,4510,3776,7272,4241, # 6656 -4511,3285,7273,7274,3499,7275,7276,7277,4062,4512,4926,7278,3107,3894,7279,7280, # 6672 -4927,7281,4513,7282,7283,3668,7284,7285,4242,4514,4243,7286,2058,4515,4928,4929, # 6688 -4516,7287,3286,4244,7288,4517,7289,7290,7291,3669,7292,7293,4930,4931,4932,2355, # 6704 -4933,7294,2633,4518,7295,4245,7296,7297,4519,7298,7299,4520,4521,4934,7300,4246, # 6720 -4522,7301,7302,7303,3579,7304,4247,4935,7305,4936,7306,7307,7308,7309,3777,7310, # 6736 -4523,7311,7312,7313,4248,3580,7314,4524,3778,4249,7315,3581,7316,3287,7317,3221, # 6752 -7318,4937,7319,7320,7321,7322,7323,7324,4938,4939,7325,4525,7326,7327,7328,4063, # 6768 -7329,7330,4940,7331,7332,4941,7333,4526,7334,3500,2780,1741,4942,2026,1742,7335, # 6784 -7336,3582,4527,2388,7337,7338,7339,4528,7340,4250,4943,7341,7342,7343,4944,7344, # 6800 -7345,7346,3020,7347,4945,7348,7349,7350,7351,3895,7352,3896,4064,3897,7353,7354, # 6816 -7355,4251,7356,7357,3898,7358,3779,7359,3780,3288,7360,7361,4529,7362,4946,4530, # 6832 -2027,7363,3899,4531,4947,3222,3583,7364,4948,7365,7366,7367,7368,4949,3501,4950, # 6848 -3781,4951,4532,7369,2517,4952,4252,4953,3155,7370,4954,4955,4253,2518,4533,7371, # 6864 -7372,2712,4254,7373,7374,7375,3670,4956,3671,7376,2389,3502,4065,7377,2338,7378, # 6880 -7379,7380,7381,3061,7382,4957,7383,7384,7385,7386,4958,4534,7387,7388,2993,7389, # 6896 -3062,7390,4959,7391,7392,7393,4960,3108,4961,7394,4535,7395,4962,3421,4536,7396, # 6912 -4963,7397,4964,1857,7398,4965,7399,7400,2176,3584,4966,7401,7402,3422,4537,3900, # 6928 -3585,7403,3782,7404,2852,7405,7406,7407,4538,3783,2654,3423,4967,4539,7408,3784, # 6944 -3586,2853,4540,4541,7409,3901,7410,3902,7411,7412,3785,3109,2327,3903,7413,7414, # 6960 -2970,4066,2932,7415,7416,7417,3904,3672,3424,7418,4542,4543,4544,7419,4968,7420, # 6976 -7421,4255,7422,7423,7424,7425,7426,4067,7427,3673,3365,4545,7428,3110,2559,3674, # 6992 -7429,7430,3156,7431,7432,3503,7433,3425,4546,7434,3063,2873,7435,3223,4969,4547, # 7008 -4548,2898,4256,4068,7436,4069,3587,3786,2933,3787,4257,4970,4971,3788,7437,4972, # 7024 -3064,7438,4549,7439,7440,7441,7442,7443,4973,3905,7444,2874,7445,7446,7447,7448, # 7040 -3021,7449,4550,3906,3588,4974,7450,7451,3789,3675,7452,2578,7453,4070,7454,7455, # 7056 -7456,4258,3676,7457,4975,7458,4976,4259,3790,3504,2634,4977,3677,4551,4260,7459, # 7072 -7460,7461,7462,3907,4261,4978,7463,7464,7465,7466,4979,4980,7467,7468,2213,4262, # 7088 -7469,7470,7471,3678,4981,7472,2439,7473,4263,3224,3289,7474,3908,2415,4982,7475, # 7104 -4264,7476,4983,2655,7477,7478,2732,4552,2854,2875,7479,7480,4265,7481,4553,4984, # 7120 -7482,7483,4266,7484,3679,3366,3680,2818,2781,2782,3367,3589,4554,3065,7485,4071, # 7136 -2899,7486,7487,3157,2462,4072,4555,4073,4985,4986,3111,4267,2687,3368,4556,4074, # 7152 -3791,4268,7488,3909,2783,7489,2656,1962,3158,4557,4987,1963,3159,3160,7490,3112, # 7168 -4988,4989,3022,4990,4991,3792,2855,7491,7492,2971,4558,7493,7494,4992,7495,7496, # 7184 -7497,7498,4993,7499,3426,4559,4994,7500,3681,4560,4269,4270,3910,7501,4075,4995, # 7200 -4271,7502,7503,4076,7504,4996,7505,3225,4997,4272,4077,2819,3023,7506,7507,2733, # 7216 -4561,7508,4562,7509,3369,3793,7510,3590,2508,7511,7512,4273,3113,2994,2616,7513, # 7232 -7514,7515,7516,7517,7518,2820,3911,4078,2748,7519,7520,4563,4998,7521,7522,7523, # 7248 -7524,4999,4274,7525,4564,3682,2239,4079,4565,7526,7527,7528,7529,5000,7530,7531, # 7264 -5001,4275,3794,7532,7533,7534,3066,5002,4566,3161,7535,7536,4080,7537,3162,7538, # 7280 -7539,4567,7540,7541,7542,7543,7544,7545,5003,7546,4568,7547,7548,7549,7550,7551, # 7296 -7552,7553,7554,7555,7556,5004,7557,7558,7559,5005,7560,3795,7561,4569,7562,7563, # 7312 -7564,2821,3796,4276,4277,4081,7565,2876,7566,5006,7567,7568,2900,7569,3797,3912, # 7328 -7570,7571,7572,4278,7573,7574,7575,5007,7576,7577,5008,7578,7579,4279,2934,7580, # 7344 -7581,5009,7582,4570,7583,4280,7584,7585,7586,4571,4572,3913,7587,4573,3505,7588, # 7360 -5010,7589,7590,7591,7592,3798,4574,7593,7594,5011,7595,4281,7596,7597,7598,4282, # 7376 -5012,7599,7600,5013,3163,7601,5014,7602,3914,7603,7604,2734,4575,4576,4577,7605, # 7392 -7606,7607,7608,7609,3506,5015,4578,7610,4082,7611,2822,2901,2579,3683,3024,4579, # 7408 -3507,7612,4580,7613,3226,3799,5016,7614,7615,7616,7617,7618,7619,7620,2995,3290, # 7424 -7621,4083,7622,5017,7623,7624,7625,7626,7627,4581,3915,7628,3291,7629,5018,7630, # 7440 -7631,7632,7633,4084,7634,7635,3427,3800,7636,7637,4582,7638,5019,4583,5020,7639, # 7456 -3916,7640,3801,5021,4584,4283,7641,7642,3428,3591,2269,7643,2617,7644,4585,3592, # 7472 -7645,4586,2902,7646,7647,3227,5022,7648,4587,7649,4284,7650,7651,7652,4588,2284, # 7488 -7653,5023,7654,7655,7656,4589,5024,3802,7657,7658,5025,3508,4590,7659,7660,7661, # 7504 -1969,5026,7662,7663,3684,1821,2688,7664,2028,2509,4285,7665,2823,1841,7666,2689, # 7520 -3114,7667,3917,4085,2160,5027,5028,2972,7668,5029,7669,7670,7671,3593,4086,7672, # 7536 -4591,4087,5030,3803,7673,7674,7675,7676,7677,7678,7679,4286,2366,4592,4593,3067, # 7552 -2328,7680,7681,4594,3594,3918,2029,4287,7682,5031,3919,3370,4288,4595,2856,7683, # 7568 -3509,7684,7685,5032,5033,7686,7687,3804,2784,7688,7689,7690,7691,3371,7692,7693, # 7584 -2877,5034,7694,7695,3920,4289,4088,7696,7697,7698,5035,7699,5036,4290,5037,5038, # 7600 -5039,7700,7701,7702,5040,5041,3228,7703,1760,7704,5042,3229,4596,2106,4089,7705, # 7616 -4597,2824,5043,2107,3372,7706,4291,4090,5044,7707,4091,7708,5045,3025,3805,4598, # 7632 -4292,4293,4294,3373,7709,4599,7710,5046,7711,7712,5047,5048,3806,7713,7714,7715, # 7648 -5049,7716,7717,7718,7719,4600,5050,7720,7721,7722,5051,7723,4295,3429,7724,7725, # 7664 -7726,7727,3921,7728,3292,5052,4092,7729,7730,7731,7732,7733,7734,7735,5053,5054, # 7680 -7736,7737,7738,7739,3922,3685,7740,7741,7742,7743,2635,5055,7744,5056,4601,7745, # 7696 -7746,2560,7747,7748,7749,7750,3923,7751,7752,7753,7754,7755,4296,2903,7756,7757, # 7712 -7758,7759,7760,3924,7761,5057,4297,7762,7763,5058,4298,7764,4093,7765,7766,5059, # 7728 -3925,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,3595,7777,4299,5060,4094, # 7744 -7778,3293,5061,7779,7780,4300,7781,7782,4602,7783,3596,7784,7785,3430,2367,7786, # 7760 -3164,5062,5063,4301,7787,7788,4095,5064,5065,7789,3374,3115,7790,7791,7792,7793, # 7776 -7794,7795,7796,3597,4603,7797,7798,3686,3116,3807,5066,7799,7800,5067,7801,7802, # 7792 -4604,4302,5068,4303,4096,7803,7804,3294,7805,7806,5069,4605,2690,7807,3026,7808, # 7808 -7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824, # 7824 -7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, # 7840 -7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856, # 7856 -7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,7872, # 7872 -7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,7888, # 7888 -7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,7904, # 7904 -7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,7920, # 7920 -7921,7922,7923,7924,3926,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, # 7936 -7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, # 7952 -7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, # 7968 -7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, # 7984 -7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, # 8000 -8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, # 8016 -8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, # 8032 -8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, # 8048 -8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, # 8064 -8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, # 8080 -8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, # 8096 -8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, # 8112 -8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, # 8128 -8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, # 8144 -8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, # 8160 -8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, # 8176 -8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, # 8192 -8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, # 8208 -8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, # 8224 -8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, # 8240 -8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, # 8256 -8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271) # 8272 - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jpcntx.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jpcntx.py deleted file mode 100644 index 59aeb6a8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/jpcntx.py +++ /dev/null @@ -1,227 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .compat import wrap_ord - -NUM_OF_CATEGORY = 6 -DONT_KNOW = -1 -ENOUGH_REL_THRESHOLD = 100 -MAX_REL_THRESHOLD = 1000 -MINIMUM_DATA_THRESHOLD = 4 - -# This is hiragana 2-char sequence table, the number in each cell represents its frequency category -jp2CharContext = ( -(0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1), -(2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4), -(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2), -(0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4), -(1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4), -(0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3), -(0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3), -(0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3), -(0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4), -(0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3), -(2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4), -(0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3), -(0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5), -(0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3), -(2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5), -(0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4), -(1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4), -(0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3), -(0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3), -(0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3), -(0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5), -(0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4), -(0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5), -(0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3), -(0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4), -(0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4), -(0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4), -(0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1), -(0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0), -(1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3), -(0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0), -(0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3), -(0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3), -(0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5), -(0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4), -(2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5), -(0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3), -(0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3), -(0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3), -(0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3), -(0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4), -(0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4), -(0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2), -(0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3), -(0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3), -(0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3), -(0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3), -(0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4), -(0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3), -(0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4), -(0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3), -(0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3), -(0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4), -(0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4), -(0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3), -(2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4), -(0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4), -(0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3), -(0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4), -(0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4), -(1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4), -(0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3), -(0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2), -(0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2), -(0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3), -(0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3), -(0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5), -(0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3), -(0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4), -(1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4), -(0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0), -(0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3), -(0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1), -(0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2), -(0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3), -(0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1), -) - -class JapaneseContextAnalysis: - def __init__(self): - self.reset() - - def reset(self): - self._mTotalRel = 0 # total sequence received - # category counters, each interger counts sequence in its category - self._mRelSample = [0] * NUM_OF_CATEGORY - # if last byte in current buffer is not the last byte of a character, - # we need to know how many bytes to skip in next buffer - self._mNeedToSkipCharNum = 0 - self._mLastCharOrder = -1 # The order of previous char - # If this flag is set to True, detection is done and conclusion has - # been made - self._mDone = False - - def feed(self, aBuf, aLen): - if self._mDone: - return - - # The buffer we got is byte oriented, and a character may span in more than one - # buffers. In case the last one or two byte in last buffer is not - # complete, we record how many byte needed to complete that character - # and skip these bytes here. We can choose to record those bytes as - # well and analyse the character once it is complete, but since a - # character will not make much difference, by simply skipping - # this character will simply our logic and improve performance. - i = self._mNeedToSkipCharNum - while i < aLen: - order, charLen = self.get_order(aBuf[i:i + 2]) - i += charLen - if i > aLen: - self._mNeedToSkipCharNum = i - aLen - self._mLastCharOrder = -1 - else: - if (order != -1) and (self._mLastCharOrder != -1): - self._mTotalRel += 1 - if self._mTotalRel > MAX_REL_THRESHOLD: - self._mDone = True - break - self._mRelSample[jp2CharContext[self._mLastCharOrder][order]] += 1 - self._mLastCharOrder = order - - def got_enough_data(self): - return self._mTotalRel > ENOUGH_REL_THRESHOLD - - def get_confidence(self): - # This is just one way to calculate confidence. It works well for me. - if self._mTotalRel > MINIMUM_DATA_THRESHOLD: - return (self._mTotalRel - self._mRelSample[0]) / self._mTotalRel - else: - return DONT_KNOW - - def get_order(self, aBuf): - return -1, 1 - -class SJISContextAnalysis(JapaneseContextAnalysis): - def __init__(self): - self.charset_name = "SHIFT_JIS" - - def get_charset_name(self): - return self.charset_name - - def get_order(self, aBuf): - if not aBuf: - return -1, 1 - # find out current char's byte length - first_char = wrap_ord(aBuf[0]) - if ((0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC)): - charLen = 2 - if (first_char == 0x87) or (0xFA <= first_char <= 0xFC): - self.charset_name = "CP932" - else: - charLen = 1 - - # return its order if it is hiragana - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if (first_char == 202) and (0x9F <= second_char <= 0xF1): - return second_char - 0x9F, charLen - - return -1, charLen - -class EUCJPContextAnalysis(JapaneseContextAnalysis): - def get_order(self, aBuf): - if not aBuf: - return -1, 1 - # find out current char's byte length - first_char = wrap_ord(aBuf[0]) - if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE): - charLen = 2 - elif first_char == 0x8F: - charLen = 3 - else: - charLen = 1 - - # return its order if it is hiragana - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3): - return second_char - 0xA1, charLen - - return -1, charLen - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langbulgarianmodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langbulgarianmodel.py deleted file mode 100644 index e5788fc6..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langbulgarianmodel.py +++ /dev/null @@ -1,229 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -# this table is modified base on win1251BulgarianCharToOrderMap, so -# only number <64 is sure valid - -Latin5_BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, # 80 -210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, # 90 - 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, # a0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # b0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, # c0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # d0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, # e0 - 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253, # f0 -) - -win1251BulgarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, # 40 -110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, # 50 -253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, # 60 -116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, # 70 -206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, # 80 -221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, # 90 - 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, # a0 - 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, # b0 - 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, # c0 - 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, # d0 - 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, # e0 - 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 96.9392% -# first 1024 sequences:3.0618% -# rest sequences: 0.2992% -# negative sequences: 0.0020% -BulgarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2, -3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1, -0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0, -0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0, -0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0, -0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0, -0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3, -2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1, -3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1, -3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2, -1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0, -3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1, -1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0, -2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2, -2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0, -3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2, -1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0, -2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2, -2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2, -1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0, -2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2, -2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0, -2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2, -1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0, -2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2, -1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0, -3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2, -1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0, -3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1, -1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0, -2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1, -1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0, -2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2, -1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0, -2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1, -1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1, -2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2, -1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0, -2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2, -1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1, -0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2, -1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1, -1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0, -1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1, -0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0, -1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1, -1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0, -1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -) - -Latin5BulgarianModel = { - 'charToOrderMap': Latin5_BulgarianCharToOrderMap, - 'precedenceMatrix': BulgarianLangModel, - 'mTypicalPositiveRatio': 0.969392, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-5" -} - -Win1251BulgarianModel = { - 'charToOrderMap': win1251BulgarianCharToOrderMap, - 'precedenceMatrix': BulgarianLangModel, - 'mTypicalPositiveRatio': 0.969392, - 'keepEnglishLetter': False, - 'charsetName': "windows-1251" -} - - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langcyrillicmodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langcyrillicmodel.py deleted file mode 100644 index a86f54bd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langcyrillicmodel.py +++ /dev/null @@ -1,329 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# KOI8-R language model -# Character Mapping Table: -KOI8R_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, # 80 -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, # 90 -223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, # a0 -238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, # b0 - 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, # c0 - 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, # d0 - 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, # e0 - 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70, # f0 -) - -win1251_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -) - -latin5_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -macCyrillic_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, -239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255, -) - -IBM855_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 -191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205, -206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70, - 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219, -220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229, -230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243, - 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248, - 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249, -250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255, -) - -IBM866_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, # 40 -155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, # 50 -253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, # 60 - 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, # 70 - 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35, - 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43, - 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15, -191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, -207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, -223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, - 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16, -239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 97.6601% -# first 1024 sequences: 2.3389% -# rest sequences: 0.1237% -# negative sequences: 0.0009% -RussianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1, -0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0, -0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1, -1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1, -1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0, -2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1, -1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0, -3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1, -1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0, -2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2, -1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1, -1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1, -1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1, -1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0, -3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2, -1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1, -2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1, -1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0, -2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0, -0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1, -1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0, -1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1, -1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0, -3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1, -3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1, -1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1, -1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1, -0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1, -1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0, -1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1, -0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1, -1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0, -2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2, -2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1, -1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0, -1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0, -2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0, -1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1, -0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0, -2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1, -1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1, -1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1, -0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1, -0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0, -1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0, -0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1, -0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1, -2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0, -0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -) - -Koi8rModel = { - 'charToOrderMap': KOI8R_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "KOI8-R" -} - -Win1251CyrillicModel = { - 'charToOrderMap': win1251_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "windows-1251" -} - -Latin5CyrillicModel = { - 'charToOrderMap': latin5_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-5" -} - -MacCyrillicModel = { - 'charToOrderMap': macCyrillic_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "MacCyrillic" -}; - -Ibm866Model = { - 'charToOrderMap': IBM866_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "IBM866" -} - -Ibm855Model = { - 'charToOrderMap': IBM855_CharToOrderMap, - 'precedenceMatrix': RussianLangModel, - 'mTypicalPositiveRatio': 0.976601, - 'keepEnglishLetter': False, - 'charsetName': "IBM855" -} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langgreekmodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langgreekmodel.py deleted file mode 100644 index ddb58376..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langgreekmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin7_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -win1253_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, # 40 - 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, # 50 -253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, # 60 - 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, # 70 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 80 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 90 -253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, # a0 -253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, # b0 -110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, # c0 - 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, # d0 -124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, # e0 - 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253, # f0 -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.2851% -# first 1024 sequences:1.7001% -# rest sequences: 0.0359% -# negative sequences: 0.0148% -GreekLangModel = ( -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0, -2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0, -2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0, -2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0, -0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0, -3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0, -3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0, -2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0, -2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0, -0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0, -0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0, -0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2, -0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0, -0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2, -0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0, -0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2, -0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2, -0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0, -0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0, -0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, -0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0, -0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2, -0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0, -0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2, -0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2, -0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0, -0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1, -0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0, -0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2, -0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2, -0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0, -0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0, -0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1, -0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0, -0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0, -0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -Latin7GreekModel = { - 'charToOrderMap': Latin7_CharToOrderMap, - 'precedenceMatrix': GreekLangModel, - 'mTypicalPositiveRatio': 0.982851, - 'keepEnglishLetter': False, - 'charsetName': "ISO-8859-7" -} - -Win1253GreekModel = { - 'charToOrderMap': win1253_CharToOrderMap, - 'precedenceMatrix': GreekLangModel, - 'mTypicalPositiveRatio': 0.982851, - 'keepEnglishLetter': False, - 'charsetName': "windows-1253" -} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhebrewmodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhebrewmodel.py deleted file mode 100644 index 75f2bc7f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhebrewmodel.py +++ /dev/null @@ -1,201 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Simon Montagu -# Portions created by the Initial Developer are Copyright (C) 2005 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Shoshannah Forbes - original C code (?) -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Windows-1255 language model -# Character Mapping Table: -win1255_CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, # 40 - 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, # 50 -253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, # 60 - 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, # 70 -124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214, -215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221, - 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227, -106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234, - 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237, -238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250, - 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23, - 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 98.4004% -# first 1024 sequences: 1.5981% -# rest sequences: 0.087% -# negative sequences: 0.0015% -HebrewLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0, -3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2, -1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2, -1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3, -1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2, -1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2, -0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2, -1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1, -0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0, -0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2, -0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2, -0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2, -0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2, -0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2, -0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0, -3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2, -0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2, -0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2, -0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0, -1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2, -0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0, -3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3, -0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0, -0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0, -0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1, -0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2, -0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0, -0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1, -1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1, -0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1, -1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1, -2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1, -2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0, -0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1, -1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1, -0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0, -) - -Win1255HebrewModel = { - 'charToOrderMap': win1255_CharToOrderMap, - 'precedenceMatrix': HebrewLangModel, - 'mTypicalPositiveRatio': 0.984004, - 'keepEnglishLetter': False, - 'charsetName': "windows-1255" -} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhungarianmodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhungarianmodel.py deleted file mode 100644 index 49d2f0fe..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langhungarianmodel.py +++ /dev/null @@ -1,225 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# Character Mapping Table: -Latin2_HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174, -175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205, - 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241, - 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85, -245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -win1250HungarianCharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47, - 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253, -253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8, - 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253, -161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176, -177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190, -191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205, - 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220, -221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231, -232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241, - 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87, -245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 94.7368% -# first 1024 sequences:5.2623% -# rest sequences: 0.8894% -# negative sequences: 0.0009% -HungarianLangModel = ( -0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2, -3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, -3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2, -0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0, -3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0, -3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, -3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2, -0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0, -2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1, -0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, -3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0, -1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0, -1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1, -3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1, -2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0, -2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1, -2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1, -2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1, -2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1, -1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1, -1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1, -3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0, -1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1, -1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1, -2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1, -2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0, -2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1, -3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1, -2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1, -1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0, -1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1, -2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0, -1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1, -2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0, -1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0, -1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0, -2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1, -2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1, -2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1, -1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1, -1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0, -0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1, -2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1, -1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1, -2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1, -1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0, -1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0, -2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0, -2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1, -2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0, -1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0, -2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0, -0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0, -2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, -) - -Latin2HungarianModel = { - 'charToOrderMap': Latin2_HungarianCharToOrderMap, - 'precedenceMatrix': HungarianLangModel, - 'mTypicalPositiveRatio': 0.947368, - 'keepEnglishLetter': True, - 'charsetName': "ISO-8859-2" -} - -Win1250HungarianModel = { - 'charToOrderMap': win1250HungarianCharToOrderMap, - 'precedenceMatrix': HungarianLangModel, - 'mTypicalPositiveRatio': 0.947368, - 'keepEnglishLetter': True, - 'charsetName': "windows-1250" -} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langthaimodel.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langthaimodel.py deleted file mode 100644 index 0508b1b1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/langthaimodel.py +++ /dev/null @@ -1,200 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Communicator client code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -# 255: Control characters that usually does not exist in any text -# 254: Carriage/Return -# 253: symbol (punctuation) that does not belong to word -# 252: 0 - 9 - -# The following result for thai was collected from a limited sample (1M). - -# Character Mapping Table: -TIS620CharToOrderMap = ( -255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, # 00 -255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, # 10 -253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, # 20 -252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, # 30 -253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, # 40 -188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, # 50 -253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, # 60 - 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, # 70 -209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222, -223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235, -236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57, - 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54, - 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63, - 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244, - 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247, - 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253, -) - -# Model Table: -# total sequences: 100% -# first 512 sequences: 92.6386% -# first 1024 sequences:7.3177% -# rest sequences: 1.0230% -# negative sequences: 0.0436% -ThaiLangModel = ( -0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3, -0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2, -3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3, -0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2, -3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1, -3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2, -3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1, -3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1, -3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1, -2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1, -3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1, -0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2, -1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0, -3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3, -3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0, -1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2, -0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3, -0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0, -3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1, -2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0, -3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2, -0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2, -3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, -3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0, -2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, -3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1, -2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1, -3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1, -3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0, -3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1, -3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1, -3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1, -1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2, -0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, -3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3, -0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1, -3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0, -3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1, -1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0, -3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1, -3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2, -0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0, -0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0, -1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1, -1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1, -3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1, -0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0, -0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0, -3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0, -0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1, -0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0, -0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1, -0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1, -0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0, -0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1, -0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0, -3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0, -0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0, -0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0, -3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1, -2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1, -0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0, -3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0, -0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0, -1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0, -1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0, -1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -) - -TIS620ThaiModel = { - 'charToOrderMap': TIS620CharToOrderMap, - 'precedenceMatrix': ThaiLangModel, - 'mTypicalPositiveRatio': 0.926386, - 'keepEnglishLetter': False, - 'charsetName': "TIS-620" -} - -# flake8: noqa diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/latin1prober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/latin1prober.py deleted file mode 100644 index eef35735..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/latin1prober.py +++ /dev/null @@ -1,139 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetprober import CharSetProber -from .constants import eNotMe -from .compat import wrap_ord - -FREQ_CAT_NUM = 4 - -UDF = 0 # undefined -OTH = 1 # other -ASC = 2 # ascii capital letter -ASS = 3 # ascii small letter -ACV = 4 # accent capital vowel -ACO = 5 # accent capital other -ASV = 6 # accent small vowel -ASO = 7 # accent small other -CLASS_NUM = 8 # total classes - -Latin1_CharToClass = ( - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 00 - 07 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 08 - 0F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 10 - 17 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 18 - 1F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 20 - 27 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 28 - 2F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 30 - 37 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 38 - 3F - OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 40 - 47 - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 48 - 4F - ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, # 50 - 57 - ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, # 58 - 5F - OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 60 - 67 - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 68 - 6F - ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, # 70 - 77 - ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, # 78 - 7F - OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, # 80 - 87 - OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, # 88 - 8F - UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # 90 - 97 - OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, # 98 - 9F - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A0 - A7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # A8 - AF - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B0 - B7 - OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, # B8 - BF - ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, # C0 - C7 - ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, # C8 - CF - ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, # D0 - D7 - ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, # D8 - DF - ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, # E0 - E7 - ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, # E8 - EF - ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, # F0 - F7 - ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO, # F8 - FF -) - -# 0 : illegal -# 1 : very unlikely -# 2 : normal -# 3 : very likely -Latin1ClassModel = ( - # UDF OTH ASC ASS ACV ACO ASV ASO - 0, 0, 0, 0, 0, 0, 0, 0, # UDF - 0, 3, 3, 3, 3, 3, 3, 3, # OTH - 0, 3, 3, 3, 3, 3, 3, 3, # ASC - 0, 3, 3, 3, 1, 1, 3, 3, # ASS - 0, 3, 3, 3, 1, 2, 1, 2, # ACV - 0, 3, 3, 3, 3, 3, 3, 3, # ACO - 0, 3, 1, 3, 1, 1, 1, 3, # ASV - 0, 3, 1, 3, 1, 1, 3, 3, # ASO -) - - -class Latin1Prober(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self.reset() - - def reset(self): - self._mLastCharClass = OTH - self._mFreqCounter = [0] * FREQ_CAT_NUM - CharSetProber.reset(self) - - def get_charset_name(self): - return "windows-1252" - - def feed(self, aBuf): - aBuf = self.filter_with_english_letters(aBuf) - for c in aBuf: - charClass = Latin1_CharToClass[wrap_ord(c)] - freq = Latin1ClassModel[(self._mLastCharClass * CLASS_NUM) - + charClass] - if freq == 0: - self._mState = eNotMe - break - self._mFreqCounter[freq] += 1 - self._mLastCharClass = charClass - - return self.get_state() - - def get_confidence(self): - if self.get_state() == eNotMe: - return 0.01 - - total = sum(self._mFreqCounter) - if total < 0.01: - confidence = 0.0 - else: - confidence = ((self._mFreqCounter[3] - self._mFreqCounter[1] * 20.0) - / total) - if confidence < 0.0: - confidence = 0.0 - # lower the confidence of latin1 so that other more accurate - # detector can take priority. - confidence = confidence * 0.73 - return confidence diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcharsetprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcharsetprober.py deleted file mode 100644 index bb42f2fb..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcharsetprober.py +++ /dev/null @@ -1,86 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .charsetprober import CharSetProber - - -class MultiByteCharSetProber(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mDistributionAnalyzer = None - self._mCodingSM = None - self._mLastChar = [0, 0] - - def reset(self): - CharSetProber.reset(self) - if self._mCodingSM: - self._mCodingSM.reset() - if self._mDistributionAnalyzer: - self._mDistributionAnalyzer.reset() - self._mLastChar = [0, 0] - - def get_charset_name(self): - pass - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mDistributionAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - return self._mDistributionAnalyzer.get_confidence() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcsgroupprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcsgroupprober.py deleted file mode 100644 index 03c9dcf3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcsgroupprober.py +++ /dev/null @@ -1,54 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# Proofpoint, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .utf8prober import UTF8Prober -from .sjisprober import SJISProber -from .eucjpprober import EUCJPProber -from .gb2312prober import GB2312Prober -from .euckrprober import EUCKRProber -from .cp949prober import CP949Prober -from .big5prober import Big5Prober -from .euctwprober import EUCTWProber - - -class MBCSGroupProber(CharSetGroupProber): - def __init__(self): - CharSetGroupProber.__init__(self) - self._mProbers = [ - UTF8Prober(), - SJISProber(), - EUCJPProber(), - GB2312Prober(), - EUCKRProber(), - CP949Prober(), - Big5Prober(), - EUCTWProber() - ] - self.reset() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcssm.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcssm.py deleted file mode 100644 index efe678ca..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/mbcssm.py +++ /dev/null @@ -1,572 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .constants import eStart, eError, eItsMe - -# BIG5 - -BIG5_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 4,4,4,4,4,4,4,4, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 4,3,3,3,3,3,3,3, # a0 - a7 - 3,3,3,3,3,3,3,3, # a8 - af - 3,3,3,3,3,3,3,3, # b0 - b7 - 3,3,3,3,3,3,3,3, # b8 - bf - 3,3,3,3,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -BIG5_st = ( - eError,eStart,eStart, 3,eError,eError,eError,eError,#00-07 - eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,#08-0f - eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart#10-17 -) - -Big5CharLenTable = (0, 1, 1, 2, 0) - -Big5SMModel = {'classTable': BIG5_cls, - 'classFactor': 5, - 'stateTable': BIG5_st, - 'charLenTable': Big5CharLenTable, - 'name': 'Big5'} - -# CP949 - -CP949_cls = ( - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,0,0, # 00 - 0f - 1,1,1,1,1,1,1,1, 1,1,1,0,1,1,1,1, # 10 - 1f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 20 - 2f - 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, # 30 - 3f - 1,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4, # 40 - 4f - 4,4,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 50 - 5f - 1,5,5,5,5,5,5,5, 5,5,5,5,5,5,5,5, # 60 - 6f - 5,5,5,5,5,5,5,5, 5,5,5,1,1,1,1,1, # 70 - 7f - 0,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 80 - 8f - 6,6,6,6,6,6,6,6, 6,6,6,6,6,6,6,6, # 90 - 9f - 6,7,7,7,7,7,7,7, 7,7,7,7,7,8,8,8, # a0 - af - 7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7, # b0 - bf - 7,7,7,7,7,7,9,2, 2,3,2,2,2,2,2,2, # c0 - cf - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # d0 - df - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, # e0 - ef - 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,0, # f0 - ff -) - -CP949_st = ( -#cls= 0 1 2 3 4 5 6 7 8 9 # previous state = - eError,eStart, 3,eError,eStart,eStart, 4, 5,eError, 6, # eStart - eError,eError,eError,eError,eError,eError,eError,eError,eError,eError, # eError - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe, # eItsMe - eError,eError,eStart,eStart,eError,eError,eError,eStart,eStart,eStart, # 3 - eError,eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart, # 4 - eError,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart,eStart, # 5 - eError,eStart,eStart,eStart,eStart,eError,eError,eStart,eStart,eStart, # 6 -) - -CP949CharLenTable = (0, 1, 2, 0, 1, 1, 2, 2, 0, 2) - -CP949SMModel = {'classTable': CP949_cls, - 'classFactor': 10, - 'stateTable': CP949_st, - 'charLenTable': CP949CharLenTable, - 'name': 'CP949'} - -# EUC-JP - -EUCJP_cls = ( - 4,4,4,4,4,4,4,4, # 00 - 07 - 4,4,4,4,4,4,5,5, # 08 - 0f - 4,4,4,4,4,4,4,4, # 10 - 17 - 4,4,4,5,4,4,4,4, # 18 - 1f - 4,4,4,4,4,4,4,4, # 20 - 27 - 4,4,4,4,4,4,4,4, # 28 - 2f - 4,4,4,4,4,4,4,4, # 30 - 37 - 4,4,4,4,4,4,4,4, # 38 - 3f - 4,4,4,4,4,4,4,4, # 40 - 47 - 4,4,4,4,4,4,4,4, # 48 - 4f - 4,4,4,4,4,4,4,4, # 50 - 57 - 4,4,4,4,4,4,4,4, # 58 - 5f - 4,4,4,4,4,4,4,4, # 60 - 67 - 4,4,4,4,4,4,4,4, # 68 - 6f - 4,4,4,4,4,4,4,4, # 70 - 77 - 4,4,4,4,4,4,4,4, # 78 - 7f - 5,5,5,5,5,5,5,5, # 80 - 87 - 5,5,5,5,5,5,1,3, # 88 - 8f - 5,5,5,5,5,5,5,5, # 90 - 97 - 5,5,5,5,5,5,5,5, # 98 - 9f - 5,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,0,5 # f8 - ff -) - -EUCJP_st = ( - 3, 4, 3, 5,eStart,eError,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eStart,eError,eStart,eError,eError,eError,#10-17 - eError,eError,eStart,eError,eError,eError, 3,eError,#18-1f - 3,eError,eError,eError,eStart,eStart,eStart,eStart#20-27 -) - -EUCJPCharLenTable = (2, 2, 2, 3, 1, 0) - -EUCJPSMModel = {'classTable': EUCJP_cls, - 'classFactor': 6, - 'stateTable': EUCJP_st, - 'charLenTable': EUCJPCharLenTable, - 'name': 'EUC-JP'} - -# EUC-KR - -EUCKR_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,3,3,3, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,3,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 2,2,2,2,2,2,2,2, # e0 - e7 - 2,2,2,2,2,2,2,2, # e8 - ef - 2,2,2,2,2,2,2,2, # f0 - f7 - 2,2,2,2,2,2,2,0 # f8 - ff -) - -EUCKR_st = ( - eError,eStart, 3,eError,eError,eError,eError,eError,#00-07 - eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,eStart #08-0f -) - -EUCKRCharLenTable = (0, 1, 2, 0) - -EUCKRSMModel = {'classTable': EUCKR_cls, - 'classFactor': 4, - 'stateTable': EUCKR_st, - 'charLenTable': EUCKRCharLenTable, - 'name': 'EUC-KR'} - -# EUC-TW - -EUCTW_cls = ( - 2,2,2,2,2,2,2,2, # 00 - 07 - 2,2,2,2,2,2,0,0, # 08 - 0f - 2,2,2,2,2,2,2,2, # 10 - 17 - 2,2,2,0,2,2,2,2, # 18 - 1f - 2,2,2,2,2,2,2,2, # 20 - 27 - 2,2,2,2,2,2,2,2, # 28 - 2f - 2,2,2,2,2,2,2,2, # 30 - 37 - 2,2,2,2,2,2,2,2, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,2, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,6,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,3,4,4,4,4,4,4, # a0 - a7 - 5,5,1,1,1,1,1,1, # a8 - af - 1,1,1,1,1,1,1,1, # b0 - b7 - 1,1,1,1,1,1,1,1, # b8 - bf - 1,1,3,1,3,3,3,3, # c0 - c7 - 3,3,3,3,3,3,3,3, # c8 - cf - 3,3,3,3,3,3,3,3, # d0 - d7 - 3,3,3,3,3,3,3,3, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,3,3,3, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,3,3,0 # f8 - ff -) - -EUCTW_st = ( - eError,eError,eStart, 3, 3, 3, 4,eError,#00-07 - eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eStart,eError,#10-17 - eStart,eStart,eStart,eError,eError,eError,eError,eError,#18-1f - 5,eError,eError,eError,eStart,eError,eStart,eStart,#20-27 - eStart,eError,eStart,eStart,eStart,eStart,eStart,eStart #28-2f -) - -EUCTWCharLenTable = (0, 0, 1, 2, 2, 2, 3) - -EUCTWSMModel = {'classTable': EUCTW_cls, - 'classFactor': 7, - 'stateTable': EUCTW_st, - 'charLenTable': EUCTWCharLenTable, - 'name': 'x-euc-tw'} - -# GB2312 - -GB2312_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 3,3,3,3,3,3,3,3, # 30 - 37 - 3,3,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,4, # 78 - 7f - 5,6,6,6,6,6,6,6, # 80 - 87 - 6,6,6,6,6,6,6,6, # 88 - 8f - 6,6,6,6,6,6,6,6, # 90 - 97 - 6,6,6,6,6,6,6,6, # 98 - 9f - 6,6,6,6,6,6,6,6, # a0 - a7 - 6,6,6,6,6,6,6,6, # a8 - af - 6,6,6,6,6,6,6,6, # b0 - b7 - 6,6,6,6,6,6,6,6, # b8 - bf - 6,6,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 6,6,6,6,6,6,6,6, # e0 - e7 - 6,6,6,6,6,6,6,6, # e8 - ef - 6,6,6,6,6,6,6,6, # f0 - f7 - 6,6,6,6,6,6,6,0 # f8 - ff -) - -GB2312_st = ( - eError,eStart,eStart,eStart,eStart,eStart, 3,eError,#00-07 - eError,eError,eError,eError,eError,eError,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eError,eError,eStart,#10-17 - 4,eError,eStart,eStart,eError,eError,eError,eError,#18-1f - eError,eError, 5,eError,eError,eError,eItsMe,eError,#20-27 - eError,eError,eStart,eStart,eStart,eStart,eStart,eStart #28-2f -) - -# To be accurate, the length of class 6 can be either 2 or 4. -# But it is not necessary to discriminate between the two since -# it is used for frequency analysis only, and we are validing -# each code range there as well. So it is safe to set it to be -# 2 here. -GB2312CharLenTable = (0, 1, 1, 1, 1, 1, 2) - -GB2312SMModel = {'classTable': GB2312_cls, - 'classFactor': 7, - 'stateTable': GB2312_st, - 'charLenTable': GB2312CharLenTable, - 'name': 'GB2312'} - -# Shift_JIS - -SJIS_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 2,2,2,2,2,2,2,2, # 40 - 47 - 2,2,2,2,2,2,2,2, # 48 - 4f - 2,2,2,2,2,2,2,2, # 50 - 57 - 2,2,2,2,2,2,2,2, # 58 - 5f - 2,2,2,2,2,2,2,2, # 60 - 67 - 2,2,2,2,2,2,2,2, # 68 - 6f - 2,2,2,2,2,2,2,2, # 70 - 77 - 2,2,2,2,2,2,2,1, # 78 - 7f - 3,3,3,3,3,2,2,3, # 80 - 87 - 3,3,3,3,3,3,3,3, # 88 - 8f - 3,3,3,3,3,3,3,3, # 90 - 97 - 3,3,3,3,3,3,3,3, # 98 - 9f - #0xa0 is illegal in sjis encoding, but some pages does - #contain such byte. We need to be more error forgiven. - 2,2,2,2,2,2,2,2, # a0 - a7 - 2,2,2,2,2,2,2,2, # a8 - af - 2,2,2,2,2,2,2,2, # b0 - b7 - 2,2,2,2,2,2,2,2, # b8 - bf - 2,2,2,2,2,2,2,2, # c0 - c7 - 2,2,2,2,2,2,2,2, # c8 - cf - 2,2,2,2,2,2,2,2, # d0 - d7 - 2,2,2,2,2,2,2,2, # d8 - df - 3,3,3,3,3,3,3,3, # e0 - e7 - 3,3,3,3,3,4,4,4, # e8 - ef - 3,3,3,3,3,3,3,3, # f0 - f7 - 3,3,3,3,3,0,0,0) # f8 - ff - - -SJIS_st = ( - eError,eStart,eStart, 3,eError,eError,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe,eError,eError,eStart,eStart,eStart,eStart #10-17 -) - -SJISCharLenTable = (0, 1, 1, 2, 0, 0) - -SJISSMModel = {'classTable': SJIS_cls, - 'classFactor': 6, - 'stateTable': SJIS_st, - 'charLenTable': SJISCharLenTable, - 'name': 'Shift_JIS'} - -# UCS2-BE - -UCS2BE_cls = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2BE_st = ( - 5, 7, 7,eError, 4, 3,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe, 6, 6, 6, 6,eError,eError,#10-17 - 6, 6, 6, 6, 6,eItsMe, 6, 6,#18-1f - 6, 6, 6, 6, 5, 7, 7,eError,#20-27 - 5, 8, 6, 6,eError, 6, 6, 6,#28-2f - 6, 6, 6, 6,eError,eError,eStart,eStart #30-37 -) - -UCS2BECharLenTable = (2, 2, 2, 0, 2, 2) - -UCS2BESMModel = {'classTable': UCS2BE_cls, - 'classFactor': 6, - 'stateTable': UCS2BE_st, - 'charLenTable': UCS2BECharLenTable, - 'name': 'UTF-16BE'} - -# UCS2-LE - -UCS2LE_cls = ( - 0,0,0,0,0,0,0,0, # 00 - 07 - 0,0,1,0,0,2,0,0, # 08 - 0f - 0,0,0,0,0,0,0,0, # 10 - 17 - 0,0,0,3,0,0,0,0, # 18 - 1f - 0,0,0,0,0,0,0,0, # 20 - 27 - 0,3,3,3,3,3,0,0, # 28 - 2f - 0,0,0,0,0,0,0,0, # 30 - 37 - 0,0,0,0,0,0,0,0, # 38 - 3f - 0,0,0,0,0,0,0,0, # 40 - 47 - 0,0,0,0,0,0,0,0, # 48 - 4f - 0,0,0,0,0,0,0,0, # 50 - 57 - 0,0,0,0,0,0,0,0, # 58 - 5f - 0,0,0,0,0,0,0,0, # 60 - 67 - 0,0,0,0,0,0,0,0, # 68 - 6f - 0,0,0,0,0,0,0,0, # 70 - 77 - 0,0,0,0,0,0,0,0, # 78 - 7f - 0,0,0,0,0,0,0,0, # 80 - 87 - 0,0,0,0,0,0,0,0, # 88 - 8f - 0,0,0,0,0,0,0,0, # 90 - 97 - 0,0,0,0,0,0,0,0, # 98 - 9f - 0,0,0,0,0,0,0,0, # a0 - a7 - 0,0,0,0,0,0,0,0, # a8 - af - 0,0,0,0,0,0,0,0, # b0 - b7 - 0,0,0,0,0,0,0,0, # b8 - bf - 0,0,0,0,0,0,0,0, # c0 - c7 - 0,0,0,0,0,0,0,0, # c8 - cf - 0,0,0,0,0,0,0,0, # d0 - d7 - 0,0,0,0,0,0,0,0, # d8 - df - 0,0,0,0,0,0,0,0, # e0 - e7 - 0,0,0,0,0,0,0,0, # e8 - ef - 0,0,0,0,0,0,0,0, # f0 - f7 - 0,0,0,0,0,0,4,5 # f8 - ff -) - -UCS2LE_st = ( - 6, 6, 7, 6, 4, 3,eError,eError,#00-07 - eError,eError,eError,eError,eItsMe,eItsMe,eItsMe,eItsMe,#08-0f - eItsMe,eItsMe, 5, 5, 5,eError,eItsMe,eError,#10-17 - 5, 5, 5,eError, 5,eError, 6, 6,#18-1f - 7, 6, 8, 8, 5, 5, 5,eError,#20-27 - 5, 5, 5,eError,eError,eError, 5, 5,#28-2f - 5, 5, 5,eError, 5,eError,eStart,eStart #30-37 -) - -UCS2LECharLenTable = (2, 2, 2, 2, 2, 2) - -UCS2LESMModel = {'classTable': UCS2LE_cls, - 'classFactor': 6, - 'stateTable': UCS2LE_st, - 'charLenTable': UCS2LECharLenTable, - 'name': 'UTF-16LE'} - -# UTF-8 - -UTF8_cls = ( - 1,1,1,1,1,1,1,1, # 00 - 07 #allow 0x00 as a legal value - 1,1,1,1,1,1,0,0, # 08 - 0f - 1,1,1,1,1,1,1,1, # 10 - 17 - 1,1,1,0,1,1,1,1, # 18 - 1f - 1,1,1,1,1,1,1,1, # 20 - 27 - 1,1,1,1,1,1,1,1, # 28 - 2f - 1,1,1,1,1,1,1,1, # 30 - 37 - 1,1,1,1,1,1,1,1, # 38 - 3f - 1,1,1,1,1,1,1,1, # 40 - 47 - 1,1,1,1,1,1,1,1, # 48 - 4f - 1,1,1,1,1,1,1,1, # 50 - 57 - 1,1,1,1,1,1,1,1, # 58 - 5f - 1,1,1,1,1,1,1,1, # 60 - 67 - 1,1,1,1,1,1,1,1, # 68 - 6f - 1,1,1,1,1,1,1,1, # 70 - 77 - 1,1,1,1,1,1,1,1, # 78 - 7f - 2,2,2,2,3,3,3,3, # 80 - 87 - 4,4,4,4,4,4,4,4, # 88 - 8f - 4,4,4,4,4,4,4,4, # 90 - 97 - 4,4,4,4,4,4,4,4, # 98 - 9f - 5,5,5,5,5,5,5,5, # a0 - a7 - 5,5,5,5,5,5,5,5, # a8 - af - 5,5,5,5,5,5,5,5, # b0 - b7 - 5,5,5,5,5,5,5,5, # b8 - bf - 0,0,6,6,6,6,6,6, # c0 - c7 - 6,6,6,6,6,6,6,6, # c8 - cf - 6,6,6,6,6,6,6,6, # d0 - d7 - 6,6,6,6,6,6,6,6, # d8 - df - 7,8,8,8,8,8,8,8, # e0 - e7 - 8,8,8,8,8,9,8,8, # e8 - ef - 10,11,11,11,11,11,11,11, # f0 - f7 - 12,13,13,13,14,15,0,0 # f8 - ff -) - -UTF8_st = ( - eError,eStart,eError,eError,eError,eError, 12, 10,#00-07 - 9, 11, 8, 7, 6, 5, 4, 3,#08-0f - eError,eError,eError,eError,eError,eError,eError,eError,#10-17 - eError,eError,eError,eError,eError,eError,eError,eError,#18-1f - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,#20-27 - eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,eItsMe,#28-2f - eError,eError, 5, 5, 5, 5,eError,eError,#30-37 - eError,eError,eError,eError,eError,eError,eError,eError,#38-3f - eError,eError,eError, 5, 5, 5,eError,eError,#40-47 - eError,eError,eError,eError,eError,eError,eError,eError,#48-4f - eError,eError, 7, 7, 7, 7,eError,eError,#50-57 - eError,eError,eError,eError,eError,eError,eError,eError,#58-5f - eError,eError,eError,eError, 7, 7,eError,eError,#60-67 - eError,eError,eError,eError,eError,eError,eError,eError,#68-6f - eError,eError, 9, 9, 9, 9,eError,eError,#70-77 - eError,eError,eError,eError,eError,eError,eError,eError,#78-7f - eError,eError,eError,eError,eError, 9,eError,eError,#80-87 - eError,eError,eError,eError,eError,eError,eError,eError,#88-8f - eError,eError, 12, 12, 12, 12,eError,eError,#90-97 - eError,eError,eError,eError,eError,eError,eError,eError,#98-9f - eError,eError,eError,eError,eError, 12,eError,eError,#a0-a7 - eError,eError,eError,eError,eError,eError,eError,eError,#a8-af - eError,eError, 12, 12, 12,eError,eError,eError,#b0-b7 - eError,eError,eError,eError,eError,eError,eError,eError,#b8-bf - eError,eError,eStart,eStart,eStart,eStart,eError,eError,#c0-c7 - eError,eError,eError,eError,eError,eError,eError,eError #c8-cf -) - -UTF8CharLenTable = (0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6) - -UTF8SMModel = {'classTable': UTF8_cls, - 'classFactor': 16, - 'stateTable': UTF8_st, - 'charLenTable': UTF8CharLenTable, - 'name': 'UTF-8'} diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcharsetprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcharsetprober.py deleted file mode 100644 index 37291bd2..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcharsetprober.py +++ /dev/null @@ -1,120 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from . import constants -from .charsetprober import CharSetProber -from .compat import wrap_ord - -SAMPLE_SIZE = 64 -SB_ENOUGH_REL_THRESHOLD = 1024 -POSITIVE_SHORTCUT_THRESHOLD = 0.95 -NEGATIVE_SHORTCUT_THRESHOLD = 0.05 -SYMBOL_CAT_ORDER = 250 -NUMBER_OF_SEQ_CAT = 4 -POSITIVE_CAT = NUMBER_OF_SEQ_CAT - 1 -#NEGATIVE_CAT = 0 - - -class SingleByteCharSetProber(CharSetProber): - def __init__(self, model, reversed=False, nameProber=None): - CharSetProber.__init__(self) - self._mModel = model - # TRUE if we need to reverse every pair in the model lookup - self._mReversed = reversed - # Optional auxiliary prober for name decision - self._mNameProber = nameProber - self.reset() - - def reset(self): - CharSetProber.reset(self) - # char order of last character - self._mLastOrder = 255 - self._mSeqCounters = [0] * NUMBER_OF_SEQ_CAT - self._mTotalSeqs = 0 - self._mTotalChar = 0 - # characters that fall in our sampling range - self._mFreqChar = 0 - - def get_charset_name(self): - if self._mNameProber: - return self._mNameProber.get_charset_name() - else: - return self._mModel['charsetName'] - - def feed(self, aBuf): - if not self._mModel['keepEnglishLetter']: - aBuf = self.filter_without_english_letters(aBuf) - aLen = len(aBuf) - if not aLen: - return self.get_state() - for c in aBuf: - order = self._mModel['charToOrderMap'][wrap_ord(c)] - if order < SYMBOL_CAT_ORDER: - self._mTotalChar += 1 - if order < SAMPLE_SIZE: - self._mFreqChar += 1 - if self._mLastOrder < SAMPLE_SIZE: - self._mTotalSeqs += 1 - if not self._mReversed: - i = (self._mLastOrder * SAMPLE_SIZE) + order - model = self._mModel['precedenceMatrix'][i] - else: # reverse the order of the letters in the lookup - i = (order * SAMPLE_SIZE) + self._mLastOrder - model = self._mModel['precedenceMatrix'][i] - self._mSeqCounters[model] += 1 - self._mLastOrder = order - - if self.get_state() == constants.eDetecting: - if self._mTotalSeqs > SB_ENOUGH_REL_THRESHOLD: - cf = self.get_confidence() - if cf > POSITIVE_SHORTCUT_THRESHOLD: - if constants._debug: - sys.stderr.write('%s confidence = %s, we have a' - 'winner\n' % - (self._mModel['charsetName'], cf)) - self._mState = constants.eFoundIt - elif cf < NEGATIVE_SHORTCUT_THRESHOLD: - if constants._debug: - sys.stderr.write('%s confidence = %s, below negative' - 'shortcut threshhold %s\n' % - (self._mModel['charsetName'], cf, - NEGATIVE_SHORTCUT_THRESHOLD)) - self._mState = constants.eNotMe - - return self.get_state() - - def get_confidence(self): - r = 0.01 - if self._mTotalSeqs > 0: - r = ((1.0 * self._mSeqCounters[POSITIVE_CAT]) / self._mTotalSeqs - / self._mModel['mTypicalPositiveRatio']) - r = r * self._mFreqChar / self._mTotalChar - if r >= 1.0: - r = 0.99 - return r diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcsgroupprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcsgroupprober.py deleted file mode 100644 index 1b6196cd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sbcsgroupprober.py +++ /dev/null @@ -1,69 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from .charsetgroupprober import CharSetGroupProber -from .sbcharsetprober import SingleByteCharSetProber -from .langcyrillicmodel import (Win1251CyrillicModel, Koi8rModel, - Latin5CyrillicModel, MacCyrillicModel, - Ibm866Model, Ibm855Model) -from .langgreekmodel import Latin7GreekModel, Win1253GreekModel -from .langbulgarianmodel import Latin5BulgarianModel, Win1251BulgarianModel -from .langhungarianmodel import Latin2HungarianModel, Win1250HungarianModel -from .langthaimodel import TIS620ThaiModel -from .langhebrewmodel import Win1255HebrewModel -from .hebrewprober import HebrewProber - - -class SBCSGroupProber(CharSetGroupProber): - def __init__(self): - CharSetGroupProber.__init__(self) - self._mProbers = [ - SingleByteCharSetProber(Win1251CyrillicModel), - SingleByteCharSetProber(Koi8rModel), - SingleByteCharSetProber(Latin5CyrillicModel), - SingleByteCharSetProber(MacCyrillicModel), - SingleByteCharSetProber(Ibm866Model), - SingleByteCharSetProber(Ibm855Model), - SingleByteCharSetProber(Latin7GreekModel), - SingleByteCharSetProber(Win1253GreekModel), - SingleByteCharSetProber(Latin5BulgarianModel), - SingleByteCharSetProber(Win1251BulgarianModel), - SingleByteCharSetProber(Latin2HungarianModel), - SingleByteCharSetProber(Win1250HungarianModel), - SingleByteCharSetProber(TIS620ThaiModel), - ] - hebrewProber = HebrewProber() - logicalHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, - False, hebrewProber) - visualHebrewProber = SingleByteCharSetProber(Win1255HebrewModel, True, - hebrewProber) - hebrewProber.set_model_probers(logicalHebrewProber, visualHebrewProber) - self._mProbers.extend([hebrewProber, logicalHebrewProber, - visualHebrewProber]) - - self.reset() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sjisprober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sjisprober.py deleted file mode 100644 index cd0e9e70..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/sjisprober.py +++ /dev/null @@ -1,91 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -import sys -from .mbcharsetprober import MultiByteCharSetProber -from .codingstatemachine import CodingStateMachine -from .chardistribution import SJISDistributionAnalysis -from .jpcntx import SJISContextAnalysis -from .mbcssm import SJISSMModel -from . import constants - - -class SJISProber(MultiByteCharSetProber): - def __init__(self): - MultiByteCharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(SJISSMModel) - self._mDistributionAnalyzer = SJISDistributionAnalysis() - self._mContextAnalyzer = SJISContextAnalysis() - self.reset() - - def reset(self): - MultiByteCharSetProber.reset(self) - self._mContextAnalyzer.reset() - - def get_charset_name(self): - return self._mContextAnalyzer.get_charset_name() - - def feed(self, aBuf): - aLen = len(aBuf) - for i in range(0, aLen): - codingState = self._mCodingSM.next_state(aBuf[i]) - if codingState == constants.eError: - if constants._debug: - sys.stderr.write(self.get_charset_name() - + ' prober hit error at byte ' + str(i) - + '\n') - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - charLen = self._mCodingSM.get_current_charlen() - if i == 0: - self._mLastChar[1] = aBuf[0] - self._mContextAnalyzer.feed(self._mLastChar[2 - charLen:], - charLen) - self._mDistributionAnalyzer.feed(self._mLastChar, charLen) - else: - self._mContextAnalyzer.feed(aBuf[i + 1 - charLen:i + 3 - - charLen], charLen) - self._mDistributionAnalyzer.feed(aBuf[i - 1:i + 1], - charLen) - - self._mLastChar[0] = aBuf[aLen - 1] - - if self.get_state() == constants.eDetecting: - if (self._mContextAnalyzer.got_enough_data() and - (self.get_confidence() > constants.SHORTCUT_THRESHOLD)): - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - contxtCf = self._mContextAnalyzer.get_confidence() - distribCf = self._mDistributionAnalyzer.get_confidence() - return max(contxtCf, distribCf) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/universaldetector.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/universaldetector.py deleted file mode 100644 index 476522b9..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/universaldetector.py +++ /dev/null @@ -1,170 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is Mozilla Universal charset detector code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 2001 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# Shy Shalom - original C code -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -import sys -import codecs -from .latin1prober import Latin1Prober # windows-1252 -from .mbcsgroupprober import MBCSGroupProber # multi-byte character sets -from .sbcsgroupprober import SBCSGroupProber # single-byte character sets -from .escprober import EscCharSetProber # ISO-2122, etc. -import re - -MINIMUM_THRESHOLD = 0.20 -ePureAscii = 0 -eEscAscii = 1 -eHighbyte = 2 - - -class UniversalDetector: - def __init__(self): - self._highBitDetector = re.compile(b'[\x80-\xFF]') - self._escDetector = re.compile(b'(\033|~{)') - self._mEscCharSetProber = None - self._mCharSetProbers = [] - self.reset() - - def reset(self): - self.result = {'encoding': None, 'confidence': 0.0} - self.done = False - self._mStart = True - self._mGotData = False - self._mInputState = ePureAscii - self._mLastChar = b'' - if self._mEscCharSetProber: - self._mEscCharSetProber.reset() - for prober in self._mCharSetProbers: - prober.reset() - - def feed(self, aBuf): - if self.done: - return - - aLen = len(aBuf) - if not aLen: - return - - if not self._mGotData: - # If the data starts with BOM, we know it is UTF - if aBuf[:3] == codecs.BOM_UTF8: - # EF BB BF UTF-8 with BOM - self.result = {'encoding': "UTF-8-SIG", 'confidence': 1.0} - elif aBuf[:4] == codecs.BOM_UTF32_LE: - # FF FE 00 00 UTF-32, little-endian BOM - self.result = {'encoding': "UTF-32LE", 'confidence': 1.0} - elif aBuf[:4] == codecs.BOM_UTF32_BE: - # 00 00 FE FF UTF-32, big-endian BOM - self.result = {'encoding': "UTF-32BE", 'confidence': 1.0} - elif aBuf[:4] == b'\xFE\xFF\x00\x00': - # FE FF 00 00 UCS-4, unusual octet order BOM (3412) - self.result = { - 'encoding': "X-ISO-10646-UCS-4-3412", - 'confidence': 1.0 - } - elif aBuf[:4] == b'\x00\x00\xFF\xFE': - # 00 00 FF FE UCS-4, unusual octet order BOM (2143) - self.result = { - 'encoding': "X-ISO-10646-UCS-4-2143", - 'confidence': 1.0 - } - elif aBuf[:2] == codecs.BOM_LE: - # FF FE UTF-16, little endian BOM - self.result = {'encoding': "UTF-16LE", 'confidence': 1.0} - elif aBuf[:2] == codecs.BOM_BE: - # FE FF UTF-16, big endian BOM - self.result = {'encoding': "UTF-16BE", 'confidence': 1.0} - - self._mGotData = True - if self.result['encoding'] and (self.result['confidence'] > 0.0): - self.done = True - return - - if self._mInputState == ePureAscii: - if self._highBitDetector.search(aBuf): - self._mInputState = eHighbyte - elif ((self._mInputState == ePureAscii) and - self._escDetector.search(self._mLastChar + aBuf)): - self._mInputState = eEscAscii - - self._mLastChar = aBuf[-1:] - - if self._mInputState == eEscAscii: - if not self._mEscCharSetProber: - self._mEscCharSetProber = EscCharSetProber() - if self._mEscCharSetProber.feed(aBuf) == constants.eFoundIt: - self.result = {'encoding': self._mEscCharSetProber.get_charset_name(), - 'confidence': self._mEscCharSetProber.get_confidence()} - self.done = True - elif self._mInputState == eHighbyte: - if not self._mCharSetProbers: - self._mCharSetProbers = [MBCSGroupProber(), SBCSGroupProber(), - Latin1Prober()] - for prober in self._mCharSetProbers: - if prober.feed(aBuf) == constants.eFoundIt: - self.result = {'encoding': prober.get_charset_name(), - 'confidence': prober.get_confidence()} - self.done = True - break - - def close(self): - if self.done: - return - if not self._mGotData: - if constants._debug: - sys.stderr.write('no data received!\n') - return - self.done = True - - if self._mInputState == ePureAscii: - self.result = {'encoding': 'ascii', 'confidence': 1.0} - return self.result - - if self._mInputState == eHighbyte: - proberConfidence = None - maxProberConfidence = 0.0 - maxProber = None - for prober in self._mCharSetProbers: - if not prober: - continue - proberConfidence = prober.get_confidence() - if proberConfidence > maxProberConfidence: - maxProberConfidence = proberConfidence - maxProber = prober - if maxProber and (maxProberConfidence > MINIMUM_THRESHOLD): - self.result = {'encoding': maxProber.get_charset_name(), - 'confidence': maxProber.get_confidence()} - return self.result - - if constants._debug: - sys.stderr.write('no probers hit minimum threshhold\n') - for prober in self._mCharSetProbers[0].mProbers: - if not prober: - continue - sys.stderr.write('%s confidence = %s\n' % - (prober.get_charset_name(), - prober.get_confidence())) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/utf8prober.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/utf8prober.py deleted file mode 100644 index 1c0bb5d8..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/chardet/utf8prober.py +++ /dev/null @@ -1,76 +0,0 @@ -######################## BEGIN LICENSE BLOCK ######################## -# The Original Code is mozilla.org code. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1998 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# Mark Pilgrim - port to Python -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA -# 02110-1301 USA -######################### END LICENSE BLOCK ######################### - -from . import constants -from .charsetprober import CharSetProber -from .codingstatemachine import CodingStateMachine -from .mbcssm import UTF8SMModel - -ONE_CHAR_PROB = 0.5 - - -class UTF8Prober(CharSetProber): - def __init__(self): - CharSetProber.__init__(self) - self._mCodingSM = CodingStateMachine(UTF8SMModel) - self.reset() - - def reset(self): - CharSetProber.reset(self) - self._mCodingSM.reset() - self._mNumOfMBChar = 0 - - def get_charset_name(self): - return "utf-8" - - def feed(self, aBuf): - for c in aBuf: - codingState = self._mCodingSM.next_state(c) - if codingState == constants.eError: - self._mState = constants.eNotMe - break - elif codingState == constants.eItsMe: - self._mState = constants.eFoundIt - break - elif codingState == constants.eStart: - if self._mCodingSM.get_current_charlen() >= 2: - self._mNumOfMBChar += 1 - - if self.get_state() == constants.eDetecting: - if self.get_confidence() > constants.SHORTCUT_THRESHOLD: - self._mState = constants.eFoundIt - - return self.get_state() - - def get_confidence(self): - unlike = 0.99 - if self._mNumOfMBChar < 6: - for i in range(0, self._mNumOfMBChar): - unlike = unlike * ONE_CHAR_PROB - return 1.0 - unlike - else: - return unlike diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/__init__.py deleted file mode 100644 index f48ac4af..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/__init__.py +++ /dev/null @@ -1,69 +0,0 @@ -""" -urllib3 - Thread-safe connection pooling and re-using. -""" - -__author__ = 'Andrey Petrov (andrey.petrov@shazow.net)' -__license__ = 'MIT' -__version__ = '1.10.4' - - -from .connectionpool import ( - HTTPConnectionPool, - HTTPSConnectionPool, - connection_from_url -) - -from . import exceptions -from .filepost import encode_multipart_formdata -from .poolmanager import PoolManager, ProxyManager, proxy_from_url -from .response import HTTPResponse -from .util.request import make_headers -from .util.url import get_host -from .util.timeout import Timeout -from .util.retry import Retry - - -# Set default logging handler to avoid "No handler found" warnings. -import logging -try: # Python 2.7+ - from logging import NullHandler -except ImportError: - class NullHandler(logging.Handler): - def emit(self, record): - pass - -logging.getLogger(__name__).addHandler(NullHandler()) - -def add_stderr_logger(level=logging.DEBUG): - """ - Helper for quickly adding a StreamHandler to the logger. Useful for - debugging. - - Returns the handler after adding it. - """ - # This method needs to be in this __init__.py to get the __name__ correct - # even if urllib3 is vendored within another package. - logger = logging.getLogger(__name__) - handler = logging.StreamHandler() - handler.setFormatter(logging.Formatter('%(asctime)s %(levelname)s %(message)s')) - logger.addHandler(handler) - logger.setLevel(level) - logger.debug('Added a stderr logging handler to logger: %s' % __name__) - return handler - -# ... Clean up. -del NullHandler - - -import warnings -# SecurityWarning's always go off by default. -warnings.simplefilter('always', exceptions.SecurityWarning, append=True) -# InsecurePlatformWarning's don't vary between requests, so we keep it default. -warnings.simplefilter('default', exceptions.InsecurePlatformWarning, - append=True) - -def disable_warnings(category=exceptions.HTTPWarning): - """ - Helper for quickly disabling all urllib3 warnings. - """ - warnings.simplefilter('ignore', category) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/_collections.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/_collections.py deleted file mode 100644 index 279416ce..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/_collections.py +++ /dev/null @@ -1,323 +0,0 @@ -from collections import Mapping, MutableMapping -try: - from threading import RLock -except ImportError: # Platform-specific: No threads available - class RLock: - def __enter__(self): - pass - - def __exit__(self, exc_type, exc_value, traceback): - pass - - -try: # Python 2.7+ - from collections import OrderedDict -except ImportError: - from .packages.ordered_dict import OrderedDict -from .packages.six import iterkeys, itervalues, PY3 - - -__all__ = ['RecentlyUsedContainer', 'HTTPHeaderDict'] - - -_Null = object() - - -class RecentlyUsedContainer(MutableMapping): - """ - Provides a thread-safe dict-like container which maintains up to - ``maxsize`` keys while throwing away the least-recently-used keys beyond - ``maxsize``. - - :param maxsize: - Maximum number of recent elements to retain. - - :param dispose_func: - Every time an item is evicted from the container, - ``dispose_func(value)`` is called. Callback which will get called - """ - - ContainerCls = OrderedDict - - def __init__(self, maxsize=10, dispose_func=None): - self._maxsize = maxsize - self.dispose_func = dispose_func - - self._container = self.ContainerCls() - self.lock = RLock() - - def __getitem__(self, key): - # Re-insert the item, moving it to the end of the eviction line. - with self.lock: - item = self._container.pop(key) - self._container[key] = item - return item - - def __setitem__(self, key, value): - evicted_value = _Null - with self.lock: - # Possibly evict the existing value of 'key' - evicted_value = self._container.get(key, _Null) - self._container[key] = value - - # If we didn't evict an existing value, we might have to evict the - # least recently used item from the beginning of the container. - if len(self._container) > self._maxsize: - _key, evicted_value = self._container.popitem(last=False) - - if self.dispose_func and evicted_value is not _Null: - self.dispose_func(evicted_value) - - def __delitem__(self, key): - with self.lock: - value = self._container.pop(key) - - if self.dispose_func: - self.dispose_func(value) - - def __len__(self): - with self.lock: - return len(self._container) - - def __iter__(self): - raise NotImplementedError('Iteration over this class is unlikely to be threadsafe.') - - def clear(self): - with self.lock: - # Copy pointers to all values, then wipe the mapping - values = list(itervalues(self._container)) - self._container.clear() - - if self.dispose_func: - for value in values: - self.dispose_func(value) - - def keys(self): - with self.lock: - return list(iterkeys(self._container)) - - -_dict_setitem = dict.__setitem__ -_dict_getitem = dict.__getitem__ -_dict_delitem = dict.__delitem__ -_dict_contains = dict.__contains__ -_dict_setdefault = dict.setdefault - - -class HTTPHeaderDict(dict): - """ - :param headers: - An iterable of field-value pairs. Must not contain multiple field names - when compared case-insensitively. - - :param kwargs: - Additional field-value pairs to pass in to ``dict.update``. - - A ``dict`` like container for storing HTTP Headers. - - Field names are stored and compared case-insensitively in compliance with - RFC 7230. Iteration provides the first case-sensitive key seen for each - case-insensitive pair. - - Using ``__setitem__`` syntax overwrites fields that compare equal - case-insensitively in order to maintain ``dict``'s api. For fields that - compare equal, instead create a new ``HTTPHeaderDict`` and use ``.add`` - in a loop. - - If multiple fields that are equal case-insensitively are passed to the - constructor or ``.update``, the behavior is undefined and some will be - lost. - - >>> headers = HTTPHeaderDict() - >>> headers.add('Set-Cookie', 'foo=bar') - >>> headers.add('set-cookie', 'baz=quxx') - >>> headers['content-length'] = '7' - >>> headers['SET-cookie'] - 'foo=bar, baz=quxx' - >>> headers['Content-Length'] - '7' - """ - - def __init__(self, headers=None, **kwargs): - dict.__init__(self) - if headers is not None: - if isinstance(headers, HTTPHeaderDict): - self._copy_from(headers) - else: - self.extend(headers) - if kwargs: - self.extend(kwargs) - - def __setitem__(self, key, val): - return _dict_setitem(self, key.lower(), (key, val)) - - def __getitem__(self, key): - val = _dict_getitem(self, key.lower()) - return ', '.join(val[1:]) - - def __delitem__(self, key): - return _dict_delitem(self, key.lower()) - - def __contains__(self, key): - return _dict_contains(self, key.lower()) - - def __eq__(self, other): - if not isinstance(other, Mapping) and not hasattr(other, 'keys'): - return False - if not isinstance(other, type(self)): - other = type(self)(other) - return dict((k1, self[k1]) for k1 in self) == dict((k2, other[k2]) for k2 in other) - - def __ne__(self, other): - return not self.__eq__(other) - - values = MutableMapping.values - get = MutableMapping.get - update = MutableMapping.update - - if not PY3: # Python 2 - iterkeys = MutableMapping.iterkeys - itervalues = MutableMapping.itervalues - - __marker = object() - - def pop(self, key, default=__marker): - '''D.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - ''' - # Using the MutableMapping function directly fails due to the private marker. - # Using ordinary dict.pop would expose the internal structures. - # So let's reinvent the wheel. - try: - value = self[key] - except KeyError: - if default is self.__marker: - raise - return default - else: - del self[key] - return value - - def discard(self, key): - try: - del self[key] - except KeyError: - pass - - def add(self, key, val): - """Adds a (name, value) pair, doesn't overwrite the value if it already - exists. - - >>> headers = HTTPHeaderDict(foo='bar') - >>> headers.add('Foo', 'baz') - >>> headers['foo'] - 'bar, baz' - """ - key_lower = key.lower() - new_vals = key, val - # Keep the common case aka no item present as fast as possible - vals = _dict_setdefault(self, key_lower, new_vals) - if new_vals is not vals: - # new_vals was not inserted, as there was a previous one - if isinstance(vals, list): - # If already several items got inserted, we have a list - vals.append(val) - else: - # vals should be a tuple then, i.e. only one item so far - # Need to convert the tuple to list for further extension - _dict_setitem(self, key_lower, [vals[0], vals[1], val]) - - def extend(self, *args, **kwargs): - """Generic import function for any type of header-like object. - Adapted version of MutableMapping.update in order to insert items - with self.add instead of self.__setitem__ - """ - if len(args) > 1: - raise TypeError("extend() takes at most 1 positional " - "arguments ({} given)".format(len(args))) - other = args[0] if len(args) >= 1 else () - - if isinstance(other, HTTPHeaderDict): - for key, val in other.iteritems(): - self.add(key, val) - elif isinstance(other, Mapping): - for key in other: - self.add(key, other[key]) - elif hasattr(other, "keys"): - for key in other.keys(): - self.add(key, other[key]) - else: - for key, value in other: - self.add(key, value) - - for key, value in kwargs.items(): - self.add(key, value) - - def getlist(self, key): - """Returns a list of all the values for the named field. Returns an - empty list if the key doesn't exist.""" - try: - vals = _dict_getitem(self, key.lower()) - except KeyError: - return [] - else: - if isinstance(vals, tuple): - return [vals[1]] - else: - return vals[1:] - - # Backwards compatibility for httplib - getheaders = getlist - getallmatchingheaders = getlist - iget = getlist - - def __repr__(self): - return "%s(%s)" % (type(self).__name__, dict(self.itermerged())) - - def _copy_from(self, other): - for key in other: - val = _dict_getitem(other, key) - if isinstance(val, list): - # Don't need to convert tuples - val = list(val) - _dict_setitem(self, key, val) - - def copy(self): - clone = type(self)() - clone._copy_from(self) - return clone - - def iteritems(self): - """Iterate over all header lines, including duplicate ones.""" - for key in self: - vals = _dict_getitem(self, key) - for val in vals[1:]: - yield vals[0], val - - def itermerged(self): - """Iterate over all headers, merging duplicate ones together.""" - for key in self: - val = _dict_getitem(self, key) - yield val[0], ', '.join(val[1:]) - - def items(self): - return list(self.iteritems()) - - @classmethod - def from_httplib(cls, message): # Python 2 - """Read headers from a Python 2 httplib message object.""" - # python2.7 does not expose a proper API for exporting multiheaders - # efficiently. This function re-reads raw lines from the message - # object and extracts the multiheaders properly. - headers = [] - - for line in message.headers: - if line.startswith((' ', '\t')): - key, value = headers[-1] - headers[-1] = (key, value + '\r\n' + line.rstrip()) - continue - - key, value = line.split(':', 1) - headers.append((key, value.strip())) - - return cls(headers) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connection.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connection.py deleted file mode 100644 index 2a8c3596..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connection.py +++ /dev/null @@ -1,264 +0,0 @@ -import datetime -import sys -import socket -from socket import timeout as SocketTimeout -import warnings -from .packages import six - -try: # Python 3 - from http.client import HTTPConnection as _HTTPConnection, HTTPException -except ImportError: - from httplib import HTTPConnection as _HTTPConnection, HTTPException - - -class DummyConnection(object): - "Used to detect a failed ConnectionCls import." - pass - - -try: # Compiled with SSL? - HTTPSConnection = DummyConnection - import ssl - BaseSSLError = ssl.SSLError -except (ImportError, AttributeError): # Platform-specific: No SSL. - ssl = None - - class BaseSSLError(BaseException): - pass - - -try: # Python 3: - # Not a no-op, we're adding this to the namespace so it can be imported. - ConnectionError = ConnectionError -except NameError: # Python 2: - class ConnectionError(Exception): - pass - - -from .exceptions import ( - ConnectTimeoutError, - SystemTimeWarning, - SecurityWarning, -) -from .packages.ssl_match_hostname import match_hostname - -from .util.ssl_ import ( - resolve_cert_reqs, - resolve_ssl_version, - ssl_wrap_socket, - assert_fingerprint, -) - - -from .util import connection - -port_by_scheme = { - 'http': 80, - 'https': 443, -} - -RECENT_DATE = datetime.date(2014, 1, 1) - - -class HTTPConnection(_HTTPConnection, object): - """ - Based on httplib.HTTPConnection but provides an extra constructor - backwards-compatibility layer between older and newer Pythons. - - Additional keyword parameters are used to configure attributes of the connection. - Accepted parameters include: - - - ``strict``: See the documentation on :class:`urllib3.connectionpool.HTTPConnectionPool` - - ``source_address``: Set the source address for the current connection. - - .. note:: This is ignored for Python 2.6. It is only applied for 2.7 and 3.x - - - ``socket_options``: Set specific options on the underlying socket. If not specified, then - defaults are loaded from ``HTTPConnection.default_socket_options`` which includes disabling - Nagle's algorithm (sets TCP_NODELAY to 1) unless the connection is behind a proxy. - - For example, if you wish to enable TCP Keep Alive in addition to the defaults, - you might pass:: - - HTTPConnection.default_socket_options + [ - (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1), - ] - - Or you may want to disable the defaults by passing an empty list (e.g., ``[]``). - """ - - default_port = port_by_scheme['http'] - - #: Disable Nagle's algorithm by default. - #: ``[(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)]`` - default_socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] - - #: Whether this connection verifies the host's certificate. - is_verified = False - - def __init__(self, *args, **kw): - if six.PY3: # Python 3 - kw.pop('strict', None) - - # Pre-set source_address in case we have an older Python like 2.6. - self.source_address = kw.get('source_address') - - if sys.version_info < (2, 7): # Python 2.6 - # _HTTPConnection on Python 2.6 will balk at this keyword arg, but - # not newer versions. We can still use it when creating a - # connection though, so we pop it *after* we have saved it as - # self.source_address. - kw.pop('source_address', None) - - #: The socket options provided by the user. If no options are - #: provided, we use the default options. - self.socket_options = kw.pop('socket_options', self.default_socket_options) - - # Superclass also sets self.source_address in Python 2.7+. - _HTTPConnection.__init__(self, *args, **kw) - - def _new_conn(self): - """ Establish a socket connection and set nodelay settings on it. - - :return: New socket connection. - """ - extra_kw = {} - if self.source_address: - extra_kw['source_address'] = self.source_address - - if self.socket_options: - extra_kw['socket_options'] = self.socket_options - - try: - conn = connection.create_connection( - (self.host, self.port), self.timeout, **extra_kw) - - except SocketTimeout: - raise ConnectTimeoutError( - self, "Connection to %s timed out. (connect timeout=%s)" % - (self.host, self.timeout)) - - return conn - - def _prepare_conn(self, conn): - self.sock = conn - # the _tunnel_host attribute was added in python 2.6.3 (via - # http://hg.python.org/cpython/rev/0f57b30a152f) so pythons 2.6(0-2) do - # not have them. - if getattr(self, '_tunnel_host', None): - # TODO: Fix tunnel so it doesn't depend on self.sock state. - self._tunnel() - # Mark this connection as not reusable - self.auto_open = 0 - - def connect(self): - conn = self._new_conn() - self._prepare_conn(conn) - - -class HTTPSConnection(HTTPConnection): - default_port = port_by_scheme['https'] - - def __init__(self, host, port=None, key_file=None, cert_file=None, - strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, **kw): - - HTTPConnection.__init__(self, host, port, strict=strict, - timeout=timeout, **kw) - - self.key_file = key_file - self.cert_file = cert_file - - # Required property for Google AppEngine 1.9.0 which otherwise causes - # HTTPS requests to go out as HTTP. (See Issue #356) - self._protocol = 'https' - - def connect(self): - conn = self._new_conn() - self._prepare_conn(conn) - self.sock = ssl.wrap_socket(conn, self.key_file, self.cert_file) - - -class VerifiedHTTPSConnection(HTTPSConnection): - """ - Based on httplib.HTTPSConnection but wraps the socket with - SSL certification. - """ - cert_reqs = None - ca_certs = None - ssl_version = None - assert_fingerprint = None - - def set_cert(self, key_file=None, cert_file=None, - cert_reqs=None, ca_certs=None, - assert_hostname=None, assert_fingerprint=None): - - self.key_file = key_file - self.cert_file = cert_file - self.cert_reqs = cert_reqs - self.ca_certs = ca_certs - self.assert_hostname = assert_hostname - self.assert_fingerprint = assert_fingerprint - - def connect(self): - # Add certificate verification - conn = self._new_conn() - - resolved_cert_reqs = resolve_cert_reqs(self.cert_reqs) - resolved_ssl_version = resolve_ssl_version(self.ssl_version) - - hostname = self.host - if getattr(self, '_tunnel_host', None): - # _tunnel_host was added in Python 2.6.3 - # (See: http://hg.python.org/cpython/rev/0f57b30a152f) - - self.sock = conn - # Calls self._set_hostport(), so self.host is - # self._tunnel_host below. - self._tunnel() - # Mark this connection as not reusable - self.auto_open = 0 - - # Override the host with the one we're requesting data from. - hostname = self._tunnel_host - - is_time_off = datetime.date.today() < RECENT_DATE - if is_time_off: - warnings.warn(( - 'System time is way off (before {0}). This will probably ' - 'lead to SSL verification errors').format(RECENT_DATE), - SystemTimeWarning - ) - - # Wrap socket using verification with the root certs in - # trusted_root_certs - self.sock = ssl_wrap_socket(conn, self.key_file, self.cert_file, - cert_reqs=resolved_cert_reqs, - ca_certs=self.ca_certs, - server_hostname=hostname, - ssl_version=resolved_ssl_version) - - if self.assert_fingerprint: - assert_fingerprint(self.sock.getpeercert(binary_form=True), - self.assert_fingerprint) - elif resolved_cert_reqs != ssl.CERT_NONE \ - and self.assert_hostname is not False: - cert = self.sock.getpeercert() - if not cert.get('subjectAltName', ()): - warnings.warn(( - 'Certificate has no `subjectAltName`, falling back to check for a `commonName` for now. ' - 'This feature is being removed by major browsers and deprecated by RFC 2818. ' - '(See https://github.com/shazow/urllib3/issues/497 for details.)'), - SecurityWarning - ) - match_hostname(cert, self.assert_hostname or hostname) - - self.is_verified = (resolved_cert_reqs == ssl.CERT_REQUIRED - or self.assert_fingerprint is not None) - - -if ssl: - # Make a copy for testing. - UnverifiedHTTPSConnection = HTTPSConnection - HTTPSConnection = VerifiedHTTPSConnection -else: - HTTPSConnection = DummyConnection diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connectionpool.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connectionpool.py deleted file mode 100644 index 117269ac..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/connectionpool.py +++ /dev/null @@ -1,795 +0,0 @@ -import errno -import logging -import sys -import warnings - -from socket import error as SocketError, timeout as SocketTimeout -import socket - -try: # Python 3 - from queue import LifoQueue, Empty, Full -except ImportError: - from Queue import LifoQueue, Empty, Full - import Queue as _ # Platform-specific: Windows - - -from .exceptions import ( - ClosedPoolError, - ProtocolError, - EmptyPoolError, - HostChangedError, - LocationValueError, - MaxRetryError, - ProxyError, - ReadTimeoutError, - SSLError, - TimeoutError, - InsecureRequestWarning, -) -from .packages.ssl_match_hostname import CertificateError -from .packages import six -from .connection import ( - port_by_scheme, - DummyConnection, - HTTPConnection, HTTPSConnection, VerifiedHTTPSConnection, - HTTPException, BaseSSLError, ConnectionError -) -from .request import RequestMethods -from .response import HTTPResponse - -from .util.connection import is_connection_dropped -from .util.retry import Retry -from .util.timeout import Timeout -from .util.url import get_host - - -xrange = six.moves.xrange - -log = logging.getLogger(__name__) - -_Default = object() - - -## Pool objects -class ConnectionPool(object): - """ - Base class for all connection pools, such as - :class:`.HTTPConnectionPool` and :class:`.HTTPSConnectionPool`. - """ - - scheme = None - QueueCls = LifoQueue - - def __init__(self, host, port=None): - if not host: - raise LocationValueError("No host specified.") - - # httplib doesn't like it when we include brackets in ipv6 addresses - self.host = host.strip('[]') - self.port = port - - def __str__(self): - return '%s(host=%r, port=%r)' % (type(self).__name__, - self.host, self.port) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.close() - # Return False to re-raise any potential exceptions - return False - - def close(): - """ - Close all pooled connections and disable the pool. - """ - pass - - -# This is taken from http://hg.python.org/cpython/file/7aaba721ebc0/Lib/socket.py#l252 -_blocking_errnos = set([errno.EAGAIN, errno.EWOULDBLOCK]) - - -class HTTPConnectionPool(ConnectionPool, RequestMethods): - """ - Thread-safe connection pool for one host. - - :param host: - Host used for this HTTP Connection (e.g. "localhost"), passed into - :class:`httplib.HTTPConnection`. - - :param port: - Port used for this HTTP Connection (None is equivalent to 80), passed - into :class:`httplib.HTTPConnection`. - - :param strict: - Causes BadStatusLine to be raised if the status line can't be parsed - as a valid HTTP/1.0 or 1.1 status line, passed into - :class:`httplib.HTTPConnection`. - - .. note:: - Only works in Python 2. This parameter is ignored in Python 3. - - :param timeout: - Socket timeout in seconds for each individual connection. This can - be a float or integer, which sets the timeout for the HTTP request, - or an instance of :class:`urllib3.util.Timeout` which gives you more - fine-grained control over request timeouts. After the constructor has - been parsed, this is always a `urllib3.util.Timeout` object. - - :param maxsize: - Number of connections to save that can be reused. More than 1 is useful - in multithreaded situations. If ``block`` is set to false, more - connections will be created but they will not be saved once they've - been used. - - :param block: - If set to True, no more than ``maxsize`` connections will be used at - a time. When no free connections are available, the call will block - until a connection has been released. This is a useful side effect for - particular multithreaded situations where one does not want to use more - than maxsize connections per host to prevent flooding. - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - - :param retries: - Retry configuration to use by default with requests in this pool. - - :param _proxy: - Parsed proxy URL, should not be used directly, instead, see - :class:`urllib3.connectionpool.ProxyManager`" - - :param _proxy_headers: - A dictionary with proxy headers, should not be used directly, - instead, see :class:`urllib3.connectionpool.ProxyManager`" - - :param \**conn_kw: - Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`, - :class:`urllib3.connection.HTTPSConnection` instances. - """ - - scheme = 'http' - ConnectionCls = HTTPConnection - - def __init__(self, host, port=None, strict=False, - timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, block=False, - headers=None, retries=None, - _proxy=None, _proxy_headers=None, - **conn_kw): - ConnectionPool.__init__(self, host, port) - RequestMethods.__init__(self, headers) - - self.strict = strict - - if not isinstance(timeout, Timeout): - timeout = Timeout.from_float(timeout) - - if retries is None: - retries = Retry.DEFAULT - - self.timeout = timeout - self.retries = retries - - self.pool = self.QueueCls(maxsize) - self.block = block - - self.proxy = _proxy - self.proxy_headers = _proxy_headers or {} - - # Fill the queue up so that doing get() on it will block properly - for _ in xrange(maxsize): - self.pool.put(None) - - # These are mostly for testing and debugging purposes. - self.num_connections = 0 - self.num_requests = 0 - self.conn_kw = conn_kw - - if self.proxy: - # Enable Nagle's algorithm for proxies, to avoid packet fragmentation. - # We cannot know if the user has added default socket options, so we cannot replace the - # list. - self.conn_kw.setdefault('socket_options', []) - - def _new_conn(self): - """ - Return a fresh :class:`HTTPConnection`. - """ - self.num_connections += 1 - log.info("Starting new HTTP connection (%d): %s" % - (self.num_connections, self.host)) - - conn = self.ConnectionCls(host=self.host, port=self.port, - timeout=self.timeout.connect_timeout, - strict=self.strict, **self.conn_kw) - return conn - - def _get_conn(self, timeout=None): - """ - Get a connection. Will return a pooled connection if one is available. - - If no connections are available and :prop:`.block` is ``False``, then a - fresh connection is returned. - - :param timeout: - Seconds to wait before giving up and raising - :class:`urllib3.exceptions.EmptyPoolError` if the pool is empty and - :prop:`.block` is ``True``. - """ - conn = None - try: - conn = self.pool.get(block=self.block, timeout=timeout) - - except AttributeError: # self.pool is None - raise ClosedPoolError(self, "Pool is closed.") - - except Empty: - if self.block: - raise EmptyPoolError(self, - "Pool reached maximum size and no more " - "connections are allowed.") - pass # Oh well, we'll create a new connection then - - # If this is a persistent connection, check if it got disconnected - if conn and is_connection_dropped(conn): - log.info("Resetting dropped connection: %s" % self.host) - conn.close() - if getattr(conn, 'auto_open', 1) == 0: - # This is a proxied connection that has been mutated by - # httplib._tunnel() and cannot be reused (since it would - # attempt to bypass the proxy) - conn = None - - return conn or self._new_conn() - - def _put_conn(self, conn): - """ - Put a connection back into the pool. - - :param conn: - Connection object for the current host and port as returned by - :meth:`._new_conn` or :meth:`._get_conn`. - - If the pool is already full, the connection is closed and discarded - because we exceeded maxsize. If connections are discarded frequently, - then maxsize should be increased. - - If the pool is closed, then the connection will be closed and discarded. - """ - try: - self.pool.put(conn, block=False) - return # Everything is dandy, done. - except AttributeError: - # self.pool is None. - pass - except Full: - # This should never happen if self.block == True - log.warning( - "Connection pool is full, discarding connection: %s" % - self.host) - - # Connection never got put back into the pool, close it. - if conn: - conn.close() - - def _validate_conn(self, conn): - """ - Called right before a request is made, after the socket is created. - """ - pass - - def _prepare_proxy(self, conn): - # Nothing to do for HTTP connections. - pass - - def _get_timeout(self, timeout): - """ Helper that always returns a :class:`urllib3.util.Timeout` """ - if timeout is _Default: - return self.timeout.clone() - - if isinstance(timeout, Timeout): - return timeout.clone() - else: - # User passed us an int/float. This is for backwards compatibility, - # can be removed later - return Timeout.from_float(timeout) - - def _raise_timeout(self, err, url, timeout_value): - """Is the error actually a timeout? Will raise a ReadTimeout or pass""" - - if isinstance(err, SocketTimeout): - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - # See the above comment about EAGAIN in Python 3. In Python 2 we have - # to specifically catch it and throw the timeout error - if hasattr(err, 'errno') and err.errno in _blocking_errnos: - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - # Catch possible read timeouts thrown as SSL errors. If not the - # case, rethrow the original. We need to do this because of: - # http://bugs.python.org/issue10272 - if 'timed out' in str(err) or 'did not complete (read)' in str(err): # Python 2.6 - raise ReadTimeoutError(self, url, "Read timed out. (read timeout=%s)" % timeout_value) - - def _make_request(self, conn, method, url, timeout=_Default, - **httplib_request_kw): - """ - Perform a request on a given urllib connection object taken from our - pool. - - :param conn: - a connection from one of our connection pools - - :param timeout: - Socket timeout in seconds for the request. This can be a - float or integer, which will set the same timeout value for - the socket connect and the socket read, or an instance of - :class:`urllib3.util.Timeout`, which gives you more fine-grained - control over your timeouts. - """ - self.num_requests += 1 - - timeout_obj = self._get_timeout(timeout) - timeout_obj.start_connect() - conn.timeout = timeout_obj.connect_timeout - - # Trigger any extra validation we need to do. - try: - self._validate_conn(conn) - except (SocketTimeout, BaseSSLError) as e: - # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout. - self._raise_timeout(err=e, url=url, timeout_value=conn.timeout) - raise - - # conn.request() calls httplib.*.request, not the method in - # urllib3.request. It also calls makefile (recv) on the socket. - conn.request(method, url, **httplib_request_kw) - - # Reset the timeout for the recv() on the socket - read_timeout = timeout_obj.read_timeout - - # App Engine doesn't have a sock attr - if getattr(conn, 'sock', None): - # In Python 3 socket.py will catch EAGAIN and return None when you - # try and read into the file pointer created by http.client, which - # instead raises a BadStatusLine exception. Instead of catching - # the exception and assuming all BadStatusLine exceptions are read - # timeouts, check for a zero timeout before making the request. - if read_timeout == 0: - raise ReadTimeoutError( - self, url, "Read timed out. (read timeout=%s)" % read_timeout) - if read_timeout is Timeout.DEFAULT_TIMEOUT: - conn.sock.settimeout(socket.getdefaulttimeout()) - else: # None or a value - conn.sock.settimeout(read_timeout) - - # Receive the response from the server - try: - try: # Python 2.7, use buffering of HTTP responses - httplib_response = conn.getresponse(buffering=True) - except TypeError: # Python 2.6 and older - httplib_response = conn.getresponse() - except (SocketTimeout, BaseSSLError, SocketError) as e: - self._raise_timeout(err=e, url=url, timeout_value=read_timeout) - raise - - # AppEngine doesn't have a version attr. - http_version = getattr(conn, '_http_vsn_str', 'HTTP/?') - log.debug("\"%s %s %s\" %s %s" % (method, url, http_version, - httplib_response.status, - httplib_response.length)) - return httplib_response - - def close(self): - """ - Close all pooled connections and disable the pool. - """ - # Disable access to the pool - old_pool, self.pool = self.pool, None - - try: - while True: - conn = old_pool.get(block=False) - if conn: - conn.close() - - except Empty: - pass # Done. - - def is_same_host(self, url): - """ - Check if the given ``url`` is a member of the same host as this - connection pool. - """ - if url.startswith('/'): - return True - - # TODO: Add optional support for socket.gethostbyname checking. - scheme, host, port = get_host(url) - - # Use explicit default port for comparison when none is given - if self.port and not port: - port = port_by_scheme.get(scheme) - elif not self.port and port == port_by_scheme.get(scheme): - port = None - - return (scheme, host, port) == (self.scheme, self.host, self.port) - - def urlopen(self, method, url, body=None, headers=None, retries=None, - redirect=True, assert_same_host=True, timeout=_Default, - pool_timeout=None, release_conn=None, **response_kw): - """ - Get a connection from the pool and perform an HTTP request. This is the - lowest level call for making a request, so you'll need to specify all - the raw details. - - .. note:: - - More commonly, it's appropriate to use a convenience method provided - by :class:`.RequestMethods`, such as :meth:`request`. - - .. note:: - - `release_conn` will only behave as expected if - `preload_content=False` because we want to make - `preload_content=False` the default behaviour someday soon without - breaking backwards compatibility. - - :param method: - HTTP request method (such as GET, POST, PUT, etc.) - - :param body: - Data to send in the request body (useful for creating - POST requests, see HTTPConnectionPool.post_url for - more convenience). - - :param headers: - Dictionary of custom headers to send, such as User-Agent, - If-None-Match, etc. If None, pool headers are used. If provided, - these headers completely replace any pool-specific headers. - - :param retries: - Configure the number of retries to allow before raising a - :class:`~urllib3.exceptions.MaxRetryError` exception. - - Pass ``None`` to retry until you receive a response. Pass a - :class:`~urllib3.util.retry.Retry` object for fine-grained control - over different types of retries. - Pass an integer number to retry connection errors that many times, - but no other types of errors. Pass zero to never retry. - - If ``False``, then retries are disabled and any exception is raised - immediately. Also, instead of raising a MaxRetryError on redirects, - the redirect response will be returned. - - :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. - - :param redirect: - If True, automatically handle redirects (status codes 301, 302, - 303, 307, 308). Each redirect counts as a retry. Disabling retries - will disable redirect, too. - - :param assert_same_host: - If ``True``, will make sure that the host of the pool requests is - consistent else will raise HostChangedError. When False, you can - use the pool on an HTTP proxy and request foreign hosts. - - :param timeout: - If specified, overrides the default timeout for this one - request. It may be a float (in seconds) or an instance of - :class:`urllib3.util.Timeout`. - - :param pool_timeout: - If set and the pool is set to block=True, then this method will - block for ``pool_timeout`` seconds and raise EmptyPoolError if no - connection is available within the time period. - - :param release_conn: - If False, then the urlopen call will not release the connection - back into the pool once a response is received (but will release if - you read the entire contents of the response such as when - `preload_content=True`). This is useful if you're not preloading - the response's content immediately. You will need to call - ``r.release_conn()`` on the response ``r`` to return the connection - back into the pool. If None, it takes the value of - ``response_kw.get('preload_content', True)``. - - :param \**response_kw: - Additional parameters are passed to - :meth:`urllib3.response.HTTPResponse.from_httplib` - """ - if headers is None: - headers = self.headers - - if not isinstance(retries, Retry): - retries = Retry.from_int(retries, redirect=redirect, default=self.retries) - - if release_conn is None: - release_conn = response_kw.get('preload_content', True) - - # Check host - if assert_same_host and not self.is_same_host(url): - raise HostChangedError(self, url, retries) - - conn = None - - # Merge the proxy headers. Only do this in HTTP. We have to copy the - # headers dict so we can safely change it without those changes being - # reflected in anyone else's copy. - if self.scheme == 'http': - headers = headers.copy() - headers.update(self.proxy_headers) - - # Must keep the exception bound to a separate variable or else Python 3 - # complains about UnboundLocalError. - err = None - - try: - # Request a connection from the queue. - timeout_obj = self._get_timeout(timeout) - conn = self._get_conn(timeout=pool_timeout) - - conn.timeout = timeout_obj.connect_timeout - - is_new_proxy_conn = self.proxy is not None and not getattr(conn, 'sock', None) - if is_new_proxy_conn: - self._prepare_proxy(conn) - - # Make the request on the httplib connection object. - httplib_response = self._make_request(conn, method, url, - timeout=timeout_obj, - body=body, headers=headers) - - # If we're going to release the connection in ``finally:``, then - # the request doesn't need to know about the connection. Otherwise - # it will also try to release it and we'll have a double-release - # mess. - response_conn = not release_conn and conn - - # Import httplib's response into our own wrapper object - response = HTTPResponse.from_httplib(httplib_response, - pool=self, - connection=response_conn, - **response_kw) - - # else: - # The connection will be put back into the pool when - # ``response.release_conn()`` is called (implicitly by - # ``response.read()``) - - except Empty: - # Timed out by queue. - raise EmptyPoolError(self, "No pool connections are available.") - - except (BaseSSLError, CertificateError) as e: - # Close the connection. If a connection is reused on which there - # was a Certificate error, the next request will certainly raise - # another Certificate error. - if conn: - conn.close() - conn = None - raise SSLError(e) - - except SSLError: - # Treat SSLError separately from BaseSSLError to preserve - # traceback. - if conn: - conn.close() - conn = None - raise - - except (TimeoutError, HTTPException, SocketError, ConnectionError) as e: - if conn: - # Discard the connection for these exceptions. It will be - # be replaced during the next _get_conn() call. - conn.close() - conn = None - - if isinstance(e, SocketError) and self.proxy: - e = ProxyError('Cannot connect to proxy.', e) - elif isinstance(e, (SocketError, HTTPException)): - e = ProtocolError('Connection aborted.', e) - - retries = retries.increment(method, url, error=e, _pool=self, - _stacktrace=sys.exc_info()[2]) - retries.sleep() - - # Keep track of the error for the retry warning. - err = e - - finally: - if release_conn: - # Put the connection back to be reused. If the connection is - # expired then it will be None, which will get replaced with a - # fresh connection during _get_conn. - self._put_conn(conn) - - if not conn: - # Try again - log.warning("Retrying (%r) after connection " - "broken by '%r': %s" % (retries, err, url)) - return self.urlopen(method, url, body, headers, retries, - redirect, assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - # Handle redirect? - redirect_location = redirect and response.get_redirect_location() - if redirect_location: - if response.status == 303: - method = 'GET' - - try: - retries = retries.increment(method, url, response=response, _pool=self) - except MaxRetryError: - if retries.raise_on_redirect: - raise - return response - - log.info("Redirecting %s -> %s" % (url, redirect_location)) - return self.urlopen(method, redirect_location, body, headers, - retries=retries, redirect=redirect, - assert_same_host=assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - # Check if we should retry the HTTP response. - if retries.is_forced_retry(method, status_code=response.status): - retries = retries.increment(method, url, response=response, _pool=self) - retries.sleep() - log.info("Forced retry: %s" % url) - return self.urlopen(method, url, body, headers, - retries=retries, redirect=redirect, - assert_same_host=assert_same_host, - timeout=timeout, pool_timeout=pool_timeout, - release_conn=release_conn, **response_kw) - - return response - - -class HTTPSConnectionPool(HTTPConnectionPool): - """ - Same as :class:`.HTTPConnectionPool`, but HTTPS. - - When Python is compiled with the :mod:`ssl` module, then - :class:`.VerifiedHTTPSConnection` is used, which *can* verify certificates, - instead of :class:`.HTTPSConnection`. - - :class:`.VerifiedHTTPSConnection` uses one of ``assert_fingerprint``, - ``assert_hostname`` and ``host`` in this order to verify connections. - If ``assert_hostname`` is False, no verification is done. - - The ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs`` and - ``ssl_version`` are only used if :mod:`ssl` is available and are fed into - :meth:`urllib3.util.ssl_wrap_socket` to upgrade the connection socket - into an SSL socket. - """ - - scheme = 'https' - ConnectionCls = HTTPSConnection - - def __init__(self, host, port=None, - strict=False, timeout=Timeout.DEFAULT_TIMEOUT, maxsize=1, - block=False, headers=None, retries=None, - _proxy=None, _proxy_headers=None, - key_file=None, cert_file=None, cert_reqs=None, - ca_certs=None, ssl_version=None, - assert_hostname=None, assert_fingerprint=None, - **conn_kw): - - HTTPConnectionPool.__init__(self, host, port, strict, timeout, maxsize, - block, headers, retries, _proxy, _proxy_headers, - **conn_kw) - self.key_file = key_file - self.cert_file = cert_file - self.cert_reqs = cert_reqs - self.ca_certs = ca_certs - self.ssl_version = ssl_version - self.assert_hostname = assert_hostname - self.assert_fingerprint = assert_fingerprint - - def _prepare_conn(self, conn): - """ - Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket` - and establish the tunnel if proxy is used. - """ - - if isinstance(conn, VerifiedHTTPSConnection): - conn.set_cert(key_file=self.key_file, - cert_file=self.cert_file, - cert_reqs=self.cert_reqs, - ca_certs=self.ca_certs, - assert_hostname=self.assert_hostname, - assert_fingerprint=self.assert_fingerprint) - conn.ssl_version = self.ssl_version - - return conn - - def _prepare_proxy(self, conn): - """ - Establish tunnel connection early, because otherwise httplib - would improperly set Host: header to proxy's IP:port. - """ - # Python 2.7+ - try: - set_tunnel = conn.set_tunnel - except AttributeError: # Platform-specific: Python 2.6 - set_tunnel = conn._set_tunnel - - if sys.version_info <= (2, 6, 4) and not self.proxy_headers: # Python 2.6.4 and older - set_tunnel(self.host, self.port) - else: - set_tunnel(self.host, self.port, self.proxy_headers) - - conn.connect() - - def _new_conn(self): - """ - Return a fresh :class:`httplib.HTTPSConnection`. - """ - self.num_connections += 1 - log.info("Starting new HTTPS connection (%d): %s" - % (self.num_connections, self.host)) - - if not self.ConnectionCls or self.ConnectionCls is DummyConnection: - raise SSLError("Can't connect to HTTPS URL because the SSL " - "module is not available.") - - actual_host = self.host - actual_port = self.port - if self.proxy is not None: - actual_host = self.proxy.host - actual_port = self.proxy.port - - conn = self.ConnectionCls(host=actual_host, port=actual_port, - timeout=self.timeout.connect_timeout, - strict=self.strict, **self.conn_kw) - - return self._prepare_conn(conn) - - def _validate_conn(self, conn): - """ - Called right before a request is made, after the socket is created. - """ - super(HTTPSConnectionPool, self)._validate_conn(conn) - - # Force connect early to allow us to validate the connection. - if not getattr(conn, 'sock', None): # AppEngine might not have `.sock` - conn.connect() - - if not conn.is_verified: - warnings.warn(( - 'Unverified HTTPS request is being made. ' - 'Adding certificate verification is strongly advised. See: ' - 'https://urllib3.readthedocs.org/en/latest/security.html'), - InsecureRequestWarning) - - -def connection_from_url(url, **kw): - """ - Given a url, return an :class:`.ConnectionPool` instance of its host. - - This is a shortcut for not having to parse out the scheme, host, and port - of the url before creating an :class:`.ConnectionPool` instance. - - :param url: - Absolute URL string that must include the scheme. Port is optional. - - :param \**kw: - Passes additional parameters to the constructor of the appropriate - :class:`.ConnectionPool`. Useful for specifying things like - timeout, maxsize, headers, etc. - - Example:: - - >>> conn = connection_from_url('http://google.com/') - >>> r = conn.request('GET', '/') - """ - scheme, host, port = get_host(url) - if scheme == 'https': - return HTTPSConnectionPool(host, port=port, **kw) - else: - return HTTPConnectionPool(host, port=port, **kw) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py deleted file mode 100644 index c6b266f5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py +++ /dev/null @@ -1,114 +0,0 @@ -""" -NTLM authenticating pool, contributed by erikcederstran - -Issue #10, see: http://code.google.com/p/urllib3/issues/detail?id=10 -""" - -try: - from http.client import HTTPSConnection -except ImportError: - from httplib import HTTPSConnection -from logging import getLogger -from ntlm import ntlm - -from urllib3 import HTTPSConnectionPool - - -log = getLogger(__name__) - - -class NTLMConnectionPool(HTTPSConnectionPool): - """ - Implements an NTLM authentication version of an urllib3 connection pool - """ - - scheme = 'https' - - def __init__(self, user, pw, authurl, *args, **kwargs): - """ - authurl is a random URL on the server that is protected by NTLM. - user is the Windows user, probably in the DOMAIN\\username format. - pw is the password for the user. - """ - super(NTLMConnectionPool, self).__init__(*args, **kwargs) - self.authurl = authurl - self.rawuser = user - user_parts = user.split('\\', 1) - self.domain = user_parts[0].upper() - self.user = user_parts[1] - self.pw = pw - - def _new_conn(self): - # Performs the NTLM handshake that secures the connection. The socket - # must be kept open while requests are performed. - self.num_connections += 1 - log.debug('Starting NTLM HTTPS connection no. %d: https://%s%s' % - (self.num_connections, self.host, self.authurl)) - - headers = {} - headers['Connection'] = 'Keep-Alive' - req_header = 'Authorization' - resp_header = 'www-authenticate' - - conn = HTTPSConnection(host=self.host, port=self.port) - - # Send negotiation message - headers[req_header] = ( - 'NTLM %s' % ntlm.create_NTLM_NEGOTIATE_MESSAGE(self.rawuser)) - log.debug('Request headers: %s' % headers) - conn.request('GET', self.authurl, None, headers) - res = conn.getresponse() - reshdr = dict(res.getheaders()) - log.debug('Response status: %s %s' % (res.status, res.reason)) - log.debug('Response headers: %s' % reshdr) - log.debug('Response data: %s [...]' % res.read(100)) - - # Remove the reference to the socket, so that it can not be closed by - # the response object (we want to keep the socket open) - res.fp = None - - # Server should respond with a challenge message - auth_header_values = reshdr[resp_header].split(', ') - auth_header_value = None - for s in auth_header_values: - if s[:5] == 'NTLM ': - auth_header_value = s[5:] - if auth_header_value is None: - raise Exception('Unexpected %s response header: %s' % - (resp_header, reshdr[resp_header])) - - # Send authentication message - ServerChallenge, NegotiateFlags = \ - ntlm.parse_NTLM_CHALLENGE_MESSAGE(auth_header_value) - auth_msg = ntlm.create_NTLM_AUTHENTICATE_MESSAGE(ServerChallenge, - self.user, - self.domain, - self.pw, - NegotiateFlags) - headers[req_header] = 'NTLM %s' % auth_msg - log.debug('Request headers: %s' % headers) - conn.request('GET', self.authurl, None, headers) - res = conn.getresponse() - log.debug('Response status: %s %s' % (res.status, res.reason)) - log.debug('Response headers: %s' % dict(res.getheaders())) - log.debug('Response data: %s [...]' % res.read()[:100]) - if res.status != 200: - if res.status == 401: - raise Exception('Server rejected request: wrong ' - 'username or password') - raise Exception('Wrong server response: %s %s' % - (res.status, res.reason)) - - res.fp = None - log.debug('Connection established') - return conn - - def urlopen(self, method, url, body=None, headers=None, retries=3, - redirect=True, assert_same_host=True): - if headers is None: - headers = {} - headers['Connection'] = 'Keep-Alive' - return super(NTLMConnectionPool, self).urlopen(method, url, body, - headers, retries, - redirect, - assert_same_host) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py deleted file mode 100644 index b2c34a89..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py +++ /dev/null @@ -1,293 +0,0 @@ -'''SSL with SNI_-support for Python 2. Follow these instructions if you would -like to verify SSL certificates in Python 2. Note, the default libraries do -*not* do certificate checking; you need to do additional work to validate -certificates yourself. - -This needs the following packages installed: - -* pyOpenSSL (tested with 0.13) -* ndg-httpsclient (tested with 0.3.2) -* pyasn1 (tested with 0.1.6) - -You can install them with the following command: - - pip install pyopenssl ndg-httpsclient pyasn1 - -To activate certificate checking, call -:func:`~urllib3.contrib.pyopenssl.inject_into_urllib3` from your Python code -before you begin making HTTP requests. This can be done in a ``sitecustomize`` -module, or at any other time before your application begins using ``urllib3``, -like this:: - - try: - import urllib3.contrib.pyopenssl - urllib3.contrib.pyopenssl.inject_into_urllib3() - except ImportError: - pass - -Now you can use :mod:`urllib3` as you normally would, and it will support SNI -when the required modules are installed. - -Activating this module also has the positive side effect of disabling SSL/TLS -compression in Python 2 (see `CRIME attack`_). - -If you want to configure the default list of supported cipher suites, you can -set the ``urllib3.contrib.pyopenssl.DEFAULT_SSL_CIPHER_LIST`` variable. - -Module Variables ----------------- - -:var DEFAULT_SSL_CIPHER_LIST: The list of supported SSL/TLS cipher suites. - -.. _sni: https://en.wikipedia.org/wiki/Server_Name_Indication -.. _crime attack: https://en.wikipedia.org/wiki/CRIME_(security_exploit) - -''' - -try: - from ndg.httpsclient.ssl_peer_verification import SUBJ_ALT_NAME_SUPPORT - from ndg.httpsclient.subj_alt_name import SubjectAltName as BaseSubjectAltName -except SyntaxError as e: - raise ImportError(e) - -import OpenSSL.SSL -from pyasn1.codec.der import decoder as der_decoder -from pyasn1.type import univ, constraint -from socket import _fileobject, timeout -import ssl -import select - -from .. import connection -from .. import util - -__all__ = ['inject_into_urllib3', 'extract_from_urllib3'] - -# SNI only *really* works if we can read the subjectAltName of certificates. -HAS_SNI = SUBJ_ALT_NAME_SUPPORT - -# Map from urllib3 to PyOpenSSL compatible parameter-values. -_openssl_versions = { - ssl.PROTOCOL_SSLv23: OpenSSL.SSL.SSLv23_METHOD, - ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, -} - -try: - _openssl_versions.update({ssl.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD}) -except AttributeError: - pass - -_openssl_verify = { - ssl.CERT_NONE: OpenSSL.SSL.VERIFY_NONE, - ssl.CERT_OPTIONAL: OpenSSL.SSL.VERIFY_PEER, - ssl.CERT_REQUIRED: OpenSSL.SSL.VERIFY_PEER - + OpenSSL.SSL.VERIFY_FAIL_IF_NO_PEER_CERT, -} - -DEFAULT_SSL_CIPHER_LIST = util.ssl_.DEFAULT_CIPHERS - - -orig_util_HAS_SNI = util.HAS_SNI -orig_connection_ssl_wrap_socket = connection.ssl_wrap_socket - - -def inject_into_urllib3(): - 'Monkey-patch urllib3 with PyOpenSSL-backed SSL-support.' - - connection.ssl_wrap_socket = ssl_wrap_socket - util.HAS_SNI = HAS_SNI - - -def extract_from_urllib3(): - 'Undo monkey-patching by :func:`inject_into_urllib3`.' - - connection.ssl_wrap_socket = orig_connection_ssl_wrap_socket - util.HAS_SNI = orig_util_HAS_SNI - - -### Note: This is a slightly bug-fixed version of same from ndg-httpsclient. -class SubjectAltName(BaseSubjectAltName): - '''ASN.1 implementation for subjectAltNames support''' - - # There is no limit to how many SAN certificates a certificate may have, - # however this needs to have some limit so we'll set an arbitrarily high - # limit. - sizeSpec = univ.SequenceOf.sizeSpec + \ - constraint.ValueSizeConstraint(1, 1024) - - -### Note: This is a slightly bug-fixed version of same from ndg-httpsclient. -def get_subj_alt_name(peer_cert): - # Search through extensions - dns_name = [] - if not SUBJ_ALT_NAME_SUPPORT: - return dns_name - - general_names = SubjectAltName() - for i in range(peer_cert.get_extension_count()): - ext = peer_cert.get_extension(i) - ext_name = ext.get_short_name() - if ext_name != 'subjectAltName': - continue - - # PyOpenSSL returns extension data in ASN.1 encoded form - ext_dat = ext.get_data() - decoded_dat = der_decoder.decode(ext_dat, - asn1Spec=general_names) - - for name in decoded_dat: - if not isinstance(name, SubjectAltName): - continue - for entry in range(len(name)): - component = name.getComponentByPosition(entry) - if component.getName() != 'dNSName': - continue - dns_name.append(str(component.getComponent())) - - return dns_name - - -class WrappedSocket(object): - '''API-compatibility wrapper for Python OpenSSL's Connection-class. - - Note: _makefile_refs, _drop() and _reuse() are needed for the garbage - collector of pypy. - ''' - - def __init__(self, connection, socket, suppress_ragged_eofs=True): - self.connection = connection - self.socket = socket - self.suppress_ragged_eofs = suppress_ragged_eofs - self._makefile_refs = 0 - - def fileno(self): - return self.socket.fileno() - - def makefile(self, mode, bufsize=-1): - self._makefile_refs += 1 - return _fileobject(self, mode, bufsize, close=True) - - def recv(self, *args, **kwargs): - try: - data = self.connection.recv(*args, **kwargs) - except OpenSSL.SSL.SysCallError as e: - if self.suppress_ragged_eofs and e.args == (-1, 'Unexpected EOF'): - return b'' - else: - raise - except OpenSSL.SSL.ZeroReturnError as e: - if self.connection.get_shutdown() == OpenSSL.SSL.RECEIVED_SHUTDOWN: - return b'' - else: - raise - except OpenSSL.SSL.WantReadError: - rd, wd, ed = select.select( - [self.socket], [], [], self.socket.gettimeout()) - if not rd: - raise timeout('The read operation timed out') - else: - return self.recv(*args, **kwargs) - else: - return data - - def settimeout(self, timeout): - return self.socket.settimeout(timeout) - - def _send_until_done(self, data): - while True: - try: - return self.connection.send(data) - except OpenSSL.SSL.WantWriteError: - _, wlist, _ = select.select([], [self.socket], [], - self.socket.gettimeout()) - if not wlist: - raise timeout() - continue - - def sendall(self, data): - while len(data): - sent = self._send_until_done(data) - data = data[sent:] - - def close(self): - if self._makefile_refs < 1: - return self.connection.shutdown() - else: - self._makefile_refs -= 1 - - def getpeercert(self, binary_form=False): - x509 = self.connection.get_peer_certificate() - - if not x509: - return x509 - - if binary_form: - return OpenSSL.crypto.dump_certificate( - OpenSSL.crypto.FILETYPE_ASN1, - x509) - - return { - 'subject': ( - (('commonName', x509.get_subject().CN),), - ), - 'subjectAltName': [ - ('DNS', value) - for value in get_subj_alt_name(x509) - ] - } - - def _reuse(self): - self._makefile_refs += 1 - - def _drop(self): - if self._makefile_refs < 1: - self.close() - else: - self._makefile_refs -= 1 - - -def _verify_callback(cnx, x509, err_no, err_depth, return_code): - return err_no == 0 - - -def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, - ca_certs=None, server_hostname=None, - ssl_version=None): - ctx = OpenSSL.SSL.Context(_openssl_versions[ssl_version]) - if certfile: - keyfile = keyfile or certfile # Match behaviour of the normal python ssl library - ctx.use_certificate_file(certfile) - if keyfile: - ctx.use_privatekey_file(keyfile) - if cert_reqs != ssl.CERT_NONE: - ctx.set_verify(_openssl_verify[cert_reqs], _verify_callback) - if ca_certs: - try: - ctx.load_verify_locations(ca_certs, None) - except OpenSSL.SSL.Error as e: - raise ssl.SSLError('bad ca_certs: %r' % ca_certs, e) - else: - ctx.set_default_verify_paths() - - # Disable TLS compression to migitate CRIME attack (issue #309) - OP_NO_COMPRESSION = 0x20000 - ctx.set_options(OP_NO_COMPRESSION) - - # Set list of supported ciphersuites. - ctx.set_cipher_list(DEFAULT_SSL_CIPHER_LIST) - - cnx = OpenSSL.SSL.Connection(ctx, sock) - cnx.set_tlsext_host_name(server_hostname) - cnx.set_connect_state() - while True: - try: - cnx.do_handshake() - except OpenSSL.SSL.WantReadError: - rd, _, _ = select.select([sock], [], [], sock.gettimeout()) - if not rd: - raise timeout('select timed out') - continue - except OpenSSL.SSL.Error as e: - raise ssl.SSLError('bad handshake', e) - break - - return WrappedSocket(cnx, sock) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/exceptions.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/exceptions.py deleted file mode 100644 index 31bda1c0..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/exceptions.py +++ /dev/null @@ -1,169 +0,0 @@ - -## Base Exceptions - -class HTTPError(Exception): - "Base exception used by this module." - pass - -class HTTPWarning(Warning): - "Base warning used by this module." - pass - - - -class PoolError(HTTPError): - "Base exception for errors caused within a pool." - def __init__(self, pool, message): - self.pool = pool - HTTPError.__init__(self, "%s: %s" % (pool, message)) - - def __reduce__(self): - # For pickling purposes. - return self.__class__, (None, None) - - -class RequestError(PoolError): - "Base exception for PoolErrors that have associated URLs." - def __init__(self, pool, url, message): - self.url = url - PoolError.__init__(self, pool, message) - - def __reduce__(self): - # For pickling purposes. - return self.__class__, (None, self.url, None) - - -class SSLError(HTTPError): - "Raised when SSL certificate fails in an HTTPS connection." - pass - - -class ProxyError(HTTPError): - "Raised when the connection to a proxy fails." - pass - - -class DecodeError(HTTPError): - "Raised when automatic decoding based on Content-Type fails." - pass - - -class ProtocolError(HTTPError): - "Raised when something unexpected happens mid-request/response." - pass - - -#: Renamed to ProtocolError but aliased for backwards compatibility. -ConnectionError = ProtocolError - - -## Leaf Exceptions - -class MaxRetryError(RequestError): - """Raised when the maximum number of retries is exceeded. - - :param pool: The connection pool - :type pool: :class:`~urllib3.connectionpool.HTTPConnectionPool` - :param string url: The requested Url - :param exceptions.Exception reason: The underlying error - - """ - - def __init__(self, pool, url, reason=None): - self.reason = reason - - message = "Max retries exceeded with url: %s (Caused by %r)" % ( - url, reason) - - RequestError.__init__(self, pool, url, message) - - -class HostChangedError(RequestError): - "Raised when an existing pool gets a request for a foreign host." - - def __init__(self, pool, url, retries=3): - message = "Tried to open a foreign host with url: %s" % url - RequestError.__init__(self, pool, url, message) - self.retries = retries - - -class TimeoutStateError(HTTPError): - """ Raised when passing an invalid state to a timeout """ - pass - - -class TimeoutError(HTTPError): - """ Raised when a socket timeout error occurs. - - Catching this error will catch both :exc:`ReadTimeoutErrors - ` and :exc:`ConnectTimeoutErrors `. - """ - pass - - -class ReadTimeoutError(TimeoutError, RequestError): - "Raised when a socket timeout occurs while receiving data from a server" - pass - - -# This timeout error does not have a URL attached and needs to inherit from the -# base HTTPError -class ConnectTimeoutError(TimeoutError): - "Raised when a socket timeout occurs while connecting to a server" - pass - - -class EmptyPoolError(PoolError): - "Raised when a pool runs out of connections and no more are allowed." - pass - - -class ClosedPoolError(PoolError): - "Raised when a request enters a pool after the pool has been closed." - pass - - -class LocationValueError(ValueError, HTTPError): - "Raised when there is something wrong with a given URL input." - pass - - -class LocationParseError(LocationValueError): - "Raised when get_host or similar fails to parse the URL input." - - def __init__(self, location): - message = "Failed to parse: %s" % location - HTTPError.__init__(self, message) - - self.location = location - - -class ResponseError(HTTPError): - "Used as a container for an error reason supplied in a MaxRetryError." - GENERIC_ERROR = 'too many error responses' - SPECIFIC_ERROR = 'too many {status_code} error responses' - - -class SecurityWarning(HTTPWarning): - "Warned when perfoming security reducing actions" - pass - - -class InsecureRequestWarning(SecurityWarning): - "Warned when making an unverified HTTPS request." - pass - - -class SystemTimeWarning(SecurityWarning): - "Warned when system time is suspected to be wrong" - pass - - -class InsecurePlatformWarning(SecurityWarning): - "Warned when certain SSL configuration is not available on a platform." - pass - - -class ResponseNotChunked(ProtocolError, ValueError): - "Response needs to be chunked in order to read it as chunks." - pass diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/fields.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/fields.py deleted file mode 100644 index c853f8d5..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/fields.py +++ /dev/null @@ -1,177 +0,0 @@ -import email.utils -import mimetypes - -from .packages import six - - -def guess_content_type(filename, default='application/octet-stream'): - """ - Guess the "Content-Type" of a file. - - :param filename: - The filename to guess the "Content-Type" of using :mod:`mimetypes`. - :param default: - If no "Content-Type" can be guessed, default to `default`. - """ - if filename: - return mimetypes.guess_type(filename)[0] or default - return default - - -def format_header_param(name, value): - """ - Helper function to format and quote a single header parameter. - - Particularly useful for header parameters which might contain - non-ASCII values, like file names. This follows RFC 2231, as - suggested by RFC 2388 Section 4.4. - - :param name: - The name of the parameter, a string expected to be ASCII only. - :param value: - The value of the parameter, provided as a unicode string. - """ - if not any(ch in value for ch in '"\\\r\n'): - result = '%s="%s"' % (name, value) - try: - result.encode('ascii') - except UnicodeEncodeError: - pass - else: - return result - if not six.PY3: # Python 2: - value = value.encode('utf-8') - value = email.utils.encode_rfc2231(value, 'utf-8') - value = '%s*=%s' % (name, value) - return value - - -class RequestField(object): - """ - A data container for request body parameters. - - :param name: - The name of this request field. - :param data: - The data/value body. - :param filename: - An optional filename of the request field. - :param headers: - An optional dict-like object of headers to initially use for the field. - """ - def __init__(self, name, data, filename=None, headers=None): - self._name = name - self._filename = filename - self.data = data - self.headers = {} - if headers: - self.headers = dict(headers) - - @classmethod - def from_tuples(cls, fieldname, value): - """ - A :class:`~urllib3.fields.RequestField` factory from old-style tuple parameters. - - Supports constructing :class:`~urllib3.fields.RequestField` from - parameter of key/value strings AND key/filetuple. A filetuple is a - (filename, data, MIME type) tuple where the MIME type is optional. - For example:: - - 'foo': 'bar', - 'fakefile': ('foofile.txt', 'contents of foofile'), - 'realfile': ('barfile.txt', open('realfile').read()), - 'typedfile': ('bazfile.bin', open('bazfile').read(), 'image/jpeg'), - 'nonamefile': 'contents of nonamefile field', - - Field names and filenames must be unicode. - """ - if isinstance(value, tuple): - if len(value) == 3: - filename, data, content_type = value - else: - filename, data = value - content_type = guess_content_type(filename) - else: - filename = None - content_type = None - data = value - - request_param = cls(fieldname, data, filename=filename) - request_param.make_multipart(content_type=content_type) - - return request_param - - def _render_part(self, name, value): - """ - Overridable helper function to format a single header parameter. - - :param name: - The name of the parameter, a string expected to be ASCII only. - :param value: - The value of the parameter, provided as a unicode string. - """ - return format_header_param(name, value) - - def _render_parts(self, header_parts): - """ - Helper function to format and quote a single header. - - Useful for single headers that are composed of multiple items. E.g., - 'Content-Disposition' fields. - - :param header_parts: - A sequence of (k, v) typles or a :class:`dict` of (k, v) to format - as `k1="v1"; k2="v2"; ...`. - """ - parts = [] - iterable = header_parts - if isinstance(header_parts, dict): - iterable = header_parts.items() - - for name, value in iterable: - if value: - parts.append(self._render_part(name, value)) - - return '; '.join(parts) - - def render_headers(self): - """ - Renders the headers for this request field. - """ - lines = [] - - sort_keys = ['Content-Disposition', 'Content-Type', 'Content-Location'] - for sort_key in sort_keys: - if self.headers.get(sort_key, False): - lines.append('%s: %s' % (sort_key, self.headers[sort_key])) - - for header_name, header_value in self.headers.items(): - if header_name not in sort_keys: - if header_value: - lines.append('%s: %s' % (header_name, header_value)) - - lines.append('\r\n') - return '\r\n'.join(lines) - - def make_multipart(self, content_disposition=None, content_type=None, - content_location=None): - """ - Makes this request field into a multipart request field. - - This method overrides "Content-Disposition", "Content-Type" and - "Content-Location" headers to the request parameter. - - :param content_type: - The 'Content-Type' of the request body. - :param content_location: - The 'Content-Location' of the request body. - - """ - self.headers['Content-Disposition'] = content_disposition or 'form-data' - self.headers['Content-Disposition'] += '; '.join([ - '', self._render_parts( - (('name', self._name), ('filename', self._filename)) - ) - ]) - self.headers['Content-Type'] = content_type - self.headers['Content-Location'] = content_location diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/filepost.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/filepost.py deleted file mode 100644 index 0fbf488d..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/filepost.py +++ /dev/null @@ -1,93 +0,0 @@ -import codecs - -from uuid import uuid4 -from io import BytesIO - -from .packages import six -from .packages.six import b -from .fields import RequestField - -writer = codecs.lookup('utf-8')[3] - - -def choose_boundary(): - """ - Our embarassingly-simple replacement for mimetools.choose_boundary. - """ - return uuid4().hex - - -def iter_field_objects(fields): - """ - Iterate over fields. - - Supports list of (k, v) tuples and dicts, and lists of - :class:`~urllib3.fields.RequestField`. - - """ - if isinstance(fields, dict): - i = six.iteritems(fields) - else: - i = iter(fields) - - for field in i: - if isinstance(field, RequestField): - yield field - else: - yield RequestField.from_tuples(*field) - - -def iter_fields(fields): - """ - .. deprecated:: 1.6 - - Iterate over fields. - - The addition of :class:`~urllib3.fields.RequestField` makes this function - obsolete. Instead, use :func:`iter_field_objects`, which returns - :class:`~urllib3.fields.RequestField` objects. - - Supports list of (k, v) tuples and dicts. - """ - if isinstance(fields, dict): - return ((k, v) for k, v in six.iteritems(fields)) - - return ((k, v) for k, v in fields) - - -def encode_multipart_formdata(fields, boundary=None): - """ - Encode a dictionary of ``fields`` using the multipart/form-data MIME format. - - :param fields: - Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). - - :param boundary: - If not specified, then a random boundary will be generated using - :func:`mimetools.choose_boundary`. - """ - body = BytesIO() - if boundary is None: - boundary = choose_boundary() - - for field in iter_field_objects(fields): - body.write(b('--%s\r\n' % (boundary))) - - writer(body).write(field.render_headers()) - data = field.data - - if isinstance(data, int): - data = str(data) # Backwards compatibility - - if isinstance(data, six.text_type): - writer(body).write(data) - else: - body.write(data) - - body.write(b'\r\n') - - body.write(b('--%s--\r\n' % (boundary))) - - content_type = str('multipart/form-data; boundary=%s' % boundary) - - return body.getvalue(), content_type diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/__init__.py deleted file mode 100644 index 37e83515..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from __future__ import absolute_import - -from . import ssl_match_hostname - diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py deleted file mode 100644 index 4479363c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py +++ /dev/null @@ -1,259 +0,0 @@ -# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy. -# Passes Python2.7's test suite and incorporates all the latest updates. -# Copyright 2009 Raymond Hettinger, released under the MIT License. -# http://code.activestate.com/recipes/576693/ -try: - from thread import get_ident as _get_ident -except ImportError: - from dummy_thread import get_ident as _get_ident - -try: - from _abcoll import KeysView, ValuesView, ItemsView -except ImportError: - pass - - -class OrderedDict(dict): - 'Dictionary that remembers insertion order' - # An inherited dict maps keys to values. - # The inherited dict provides __getitem__, __len__, __contains__, and get. - # The remaining methods are order-aware. - # Big-O running times for all methods are the same as for regular dictionaries. - - # The internal self.__map dictionary maps keys to links in a doubly linked list. - # The circular doubly linked list starts and ends with a sentinel element. - # The sentinel element never gets deleted (this simplifies the algorithm). - # Each link is stored as a list of length three: [PREV, NEXT, KEY]. - - def __init__(self, *args, **kwds): - '''Initialize an ordered dictionary. Signature is the same as for - regular dictionaries, but keyword arguments are not recommended - because their insertion order is arbitrary. - - ''' - if len(args) > 1: - raise TypeError('expected at most 1 arguments, got %d' % len(args)) - try: - self.__root - except AttributeError: - self.__root = root = [] # sentinel node - root[:] = [root, root, None] - self.__map = {} - self.__update(*args, **kwds) - - def __setitem__(self, key, value, dict_setitem=dict.__setitem__): - 'od.__setitem__(i, y) <==> od[i]=y' - # Setting a new item creates a new link which goes at the end of the linked - # list, and the inherited dictionary is updated with the new key/value pair. - if key not in self: - root = self.__root - last = root[0] - last[1] = root[0] = self.__map[key] = [last, root, key] - dict_setitem(self, key, value) - - def __delitem__(self, key, dict_delitem=dict.__delitem__): - 'od.__delitem__(y) <==> del od[y]' - # Deleting an existing item uses self.__map to find the link which is - # then removed by updating the links in the predecessor and successor nodes. - dict_delitem(self, key) - link_prev, link_next, key = self.__map.pop(key) - link_prev[1] = link_next - link_next[0] = link_prev - - def __iter__(self): - 'od.__iter__() <==> iter(od)' - root = self.__root - curr = root[1] - while curr is not root: - yield curr[2] - curr = curr[1] - - def __reversed__(self): - 'od.__reversed__() <==> reversed(od)' - root = self.__root - curr = root[0] - while curr is not root: - yield curr[2] - curr = curr[0] - - def clear(self): - 'od.clear() -> None. Remove all items from od.' - try: - for node in self.__map.itervalues(): - del node[:] - root = self.__root - root[:] = [root, root, None] - self.__map.clear() - except AttributeError: - pass - dict.clear(self) - - def popitem(self, last=True): - '''od.popitem() -> (k, v), return and remove a (key, value) pair. - Pairs are returned in LIFO order if last is true or FIFO order if false. - - ''' - if not self: - raise KeyError('dictionary is empty') - root = self.__root - if last: - link = root[0] - link_prev = link[0] - link_prev[1] = root - root[0] = link_prev - else: - link = root[1] - link_next = link[1] - root[1] = link_next - link_next[0] = root - key = link[2] - del self.__map[key] - value = dict.pop(self, key) - return key, value - - # -- the following methods do not depend on the internal structure -- - - def keys(self): - 'od.keys() -> list of keys in od' - return list(self) - - def values(self): - 'od.values() -> list of values in od' - return [self[key] for key in self] - - def items(self): - 'od.items() -> list of (key, value) pairs in od' - return [(key, self[key]) for key in self] - - def iterkeys(self): - 'od.iterkeys() -> an iterator over the keys in od' - return iter(self) - - def itervalues(self): - 'od.itervalues -> an iterator over the values in od' - for k in self: - yield self[k] - - def iteritems(self): - 'od.iteritems -> an iterator over the (key, value) items in od' - for k in self: - yield (k, self[k]) - - def update(*args, **kwds): - '''od.update(E, **F) -> None. Update od from dict/iterable E and F. - - If E is a dict instance, does: for k in E: od[k] = E[k] - If E has a .keys() method, does: for k in E.keys(): od[k] = E[k] - Or if E is an iterable of items, does: for k, v in E: od[k] = v - In either case, this is followed by: for k, v in F.items(): od[k] = v - - ''' - if len(args) > 2: - raise TypeError('update() takes at most 2 positional ' - 'arguments (%d given)' % (len(args),)) - elif not args: - raise TypeError('update() takes at least 1 argument (0 given)') - self = args[0] - # Make progressively weaker assumptions about "other" - other = () - if len(args) == 2: - other = args[1] - if isinstance(other, dict): - for key in other: - self[key] = other[key] - elif hasattr(other, 'keys'): - for key in other.keys(): - self[key] = other[key] - else: - for key, value in other: - self[key] = value - for key, value in kwds.items(): - self[key] = value - - __update = update # let subclasses override update without breaking __init__ - - __marker = object() - - def pop(self, key, default=__marker): - '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value. - If key is not found, d is returned if given, otherwise KeyError is raised. - - ''' - if key in self: - result = self[key] - del self[key] - return result - if default is self.__marker: - raise KeyError(key) - return default - - def setdefault(self, key, default=None): - 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od' - if key in self: - return self[key] - self[key] = default - return default - - def __repr__(self, _repr_running={}): - 'od.__repr__() <==> repr(od)' - call_key = id(self), _get_ident() - if call_key in _repr_running: - return '...' - _repr_running[call_key] = 1 - try: - if not self: - return '%s()' % (self.__class__.__name__,) - return '%s(%r)' % (self.__class__.__name__, self.items()) - finally: - del _repr_running[call_key] - - def __reduce__(self): - 'Return state information for pickling' - items = [[k, self[k]] for k in self] - inst_dict = vars(self).copy() - for k in vars(OrderedDict()): - inst_dict.pop(k, None) - if inst_dict: - return (self.__class__, (items,), inst_dict) - return self.__class__, (items,) - - def copy(self): - 'od.copy() -> a shallow copy of od' - return self.__class__(self) - - @classmethod - def fromkeys(cls, iterable, value=None): - '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S - and values equal to v (which defaults to None). - - ''' - d = cls() - for key in iterable: - d[key] = value - return d - - def __eq__(self, other): - '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive - while comparison to a regular mapping is order-insensitive. - - ''' - if isinstance(other, OrderedDict): - return len(self)==len(other) and self.items() == other.items() - return dict.__eq__(self, other) - - def __ne__(self, other): - return not self == other - - # -- the following methods are only used in Python 2.7 -- - - def viewkeys(self): - "od.viewkeys() -> a set-like object providing a view on od's keys" - return KeysView(self) - - def viewvalues(self): - "od.viewvalues() -> an object providing a view on od's values" - return ValuesView(self) - - def viewitems(self): - "od.viewitems() -> a set-like object providing a view on od's items" - return ItemsView(self) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/six.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/six.py deleted file mode 100644 index 27d80112..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/six.py +++ /dev/null @@ -1,385 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -#Copyright (c) 2010-2011 Benjamin Peterson - -#Permission is hereby granted, free of charge, to any person obtaining a copy of -#this software and associated documentation files (the "Software"), to deal in -#the Software without restriction, including without limitation the rights to -#use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -#the Software, and to permit persons to whom the Software is furnished to do so, -#subject to the following conditions: - -#The above copyright notice and this permission notice shall be included in all -#copies or substantial portions of the Software. - -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -#FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -#COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -#IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -#CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -import operator -import sys -import types - -__author__ = "Benjamin Peterson " -__version__ = "1.2.0" # Revision 41c74fef2ded - - -# True if we are running on Python 3. -PY3 = sys.version_info[0] == 3 - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) - # This is a bit ugly, but it avoids running this again. - delattr(tp, self.name) - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - - -class _MovedItems(types.ModuleType): - """Lazy loading of moved objects""" - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("reload_module", "__builtin__", "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("winreg", "_winreg"), -] -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) -del attr - -moves = sys.modules[__name__ + ".moves"] = _MovedItems("moves") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_code = "__code__" - _func_defaults = "__defaults__" - - _iterkeys = "keys" - _itervalues = "values" - _iteritems = "items" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_code = "func_code" - _func_defaults = "func_defaults" - - _iterkeys = "iterkeys" - _itervalues = "itervalues" - _iteritems = "iteritems" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -if PY3: - def get_unbound_function(unbound): - return unbound - - Iterator = object - - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) -else: - def get_unbound_function(unbound): - return unbound.im_func - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) - - -def iterkeys(d): - """Return an iterator over the keys of a dictionary.""" - return iter(getattr(d, _iterkeys)()) - -def itervalues(d): - """Return an iterator over the values of a dictionary.""" - return iter(getattr(d, _itervalues)()) - -def iteritems(d): - """Return an iterator over the (key, value) pairs of a dictionary.""" - return iter(getattr(d, _iteritems)()) - - -if PY3: - def b(s): - return s.encode("latin-1") - def u(s): - return s - if sys.version_info[1] <= 1: - def int2byte(i): - return bytes((i,)) - else: - # This is about 2x faster than the implementation above on 3.2+ - int2byte = operator.methodcaller("to_bytes", 1, "big") - import io - StringIO = io.StringIO - BytesIO = io.BytesIO -else: - def b(s): - return s - def u(s): - return unicode(s, "unicode_escape") - int2byte = chr - import StringIO - StringIO = BytesIO = StringIO.StringIO -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -if PY3: - import builtins - exec_ = getattr(builtins, "exec") - - - def reraise(tp, value, tb=None): - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - - - print_ = getattr(builtins, "print") - del builtins - -else: - def exec_(code, globs=None, locs=None): - """Execute code in a namespace.""" - if globs is None: - frame = sys._getframe(1) - globs = frame.f_globals - if locs is None: - locs = frame.f_locals - del frame - elif locs is None: - locs = globs - exec("""exec code in globs, locs""") - - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - - def print_(*args, **kwargs): - """The new-style print function.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - def write(data): - if not isinstance(data, basestring): - data = str(data) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) - -_add_doc(reraise, """Reraise an exception.""") - - -def with_metaclass(meta, base=object): - """Create a base class with a metaclass.""" - return meta("NewBase", (base,), {}) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py deleted file mode 100644 index dd59a75f..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -try: - # Python 3.2+ - from ssl import CertificateError, match_hostname -except ImportError: - try: - # Backport of the function from a pypi module - from backports.ssl_match_hostname import CertificateError, match_hostname - except ImportError: - # Our vendored copy - from ._implementation import CertificateError, match_hostname - -# Not needed, but documenting what we provide. -__all__ = ('CertificateError', 'match_hostname') diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py deleted file mode 100644 index 52f42873..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py +++ /dev/null @@ -1,105 +0,0 @@ -"""The match_hostname() function from Python 3.3.3, essential when using SSL.""" - -# Note: This file is under the PSF license as the code comes from the python -# stdlib. http://docs.python.org/3/license.html - -import re - -__version__ = '3.4.0.2' - -class CertificateError(ValueError): - pass - - -def _dnsname_match(dn, hostname, max_wildcards=1): - """Matching according to RFC 6125, section 6.4.3 - - http://tools.ietf.org/html/rfc6125#section-6.4.3 - """ - pats = [] - if not dn: - return False - - # Ported from python3-syntax: - # leftmost, *remainder = dn.split(r'.') - parts = dn.split(r'.') - leftmost = parts[0] - remainder = parts[1:] - - wildcards = leftmost.count('*') - if wildcards > max_wildcards: - # Issue #17980: avoid denials of service by refusing more - # than one wildcard per fragment. A survey of established - # policy among SSL implementations showed it to be a - # reasonable choice. - raise CertificateError( - "too many wildcards in certificate DNS name: " + repr(dn)) - - # speed up common case w/o wildcards - if not wildcards: - return dn.lower() == hostname.lower() - - # RFC 6125, section 6.4.3, subitem 1. - # The client SHOULD NOT attempt to match a presented identifier in which - # the wildcard character comprises a label other than the left-most label. - if leftmost == '*': - # When '*' is a fragment by itself, it matches a non-empty dotless - # fragment. - pats.append('[^.]+') - elif leftmost.startswith('xn--') or hostname.startswith('xn--'): - # RFC 6125, section 6.4.3, subitem 3. - # The client SHOULD NOT attempt to match a presented identifier - # where the wildcard character is embedded within an A-label or - # U-label of an internationalized domain name. - pats.append(re.escape(leftmost)) - else: - # Otherwise, '*' matches any dotless string, e.g. www* - pats.append(re.escape(leftmost).replace(r'\*', '[^.]*')) - - # add the remaining fragments, ignore any wildcards - for frag in remainder: - pats.append(re.escape(frag)) - - pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE) - return pat.match(hostname) - - -def match_hostname(cert, hostname): - """Verify that *cert* (in decoded format as returned by - SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125 - rules are followed, but IP addresses are not accepted for *hostname*. - - CertificateError is raised on failure. On success, the function - returns nothing. - """ - if not cert: - raise ValueError("empty or no certificate") - dnsnames = [] - san = cert.get('subjectAltName', ()) - for key, value in san: - if key == 'DNS': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if not dnsnames: - # The subject is only checked when there is no dNSName entry - # in subjectAltName - for sub in cert.get('subject', ()): - for key, value in sub: - # XXX according to RFC 2818, the most specific Common Name - # must be used. - if key == 'commonName': - if _dnsname_match(value, hostname): - return - dnsnames.append(value) - if len(dnsnames) > 1: - raise CertificateError("hostname %r " - "doesn't match either of %s" - % (hostname, ', '.join(map(repr, dnsnames)))) - elif len(dnsnames) == 1: - raise CertificateError("hostname %r " - "doesn't match %r" - % (hostname, dnsnames[0])) - else: - raise CertificateError("no appropriate commonName or " - "subjectAltName fields were found") diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/poolmanager.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/poolmanager.py deleted file mode 100644 index b8d1e745..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/poolmanager.py +++ /dev/null @@ -1,280 +0,0 @@ -import logging - -try: # Python 3 - from urllib.parse import urljoin -except ImportError: - from urlparse import urljoin - -from ._collections import RecentlyUsedContainer -from .connectionpool import HTTPConnectionPool, HTTPSConnectionPool -from .connectionpool import port_by_scheme -from .exceptions import LocationValueError, MaxRetryError -from .request import RequestMethods -from .util.url import parse_url -from .util.retry import Retry - - -__all__ = ['PoolManager', 'ProxyManager', 'proxy_from_url'] - - -pool_classes_by_scheme = { - 'http': HTTPConnectionPool, - 'https': HTTPSConnectionPool, -} - -log = logging.getLogger(__name__) - -SSL_KEYWORDS = ('key_file', 'cert_file', 'cert_reqs', 'ca_certs', - 'ssl_version') - - -class PoolManager(RequestMethods): - """ - Allows for arbitrary requests while transparently keeping track of - necessary connection pools for you. - - :param num_pools: - Number of connection pools to cache before discarding the least - recently used pool. - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - - :param \**connection_pool_kw: - Additional parameters are used to create fresh - :class:`urllib3.connectionpool.ConnectionPool` instances. - - Example:: - - >>> manager = PoolManager(num_pools=2) - >>> r = manager.request('GET', 'http://google.com/') - >>> r = manager.request('GET', 'http://google.com/mail') - >>> r = manager.request('GET', 'http://yahoo.com/') - >>> len(manager.pools) - 2 - - """ - - proxy = None - - def __init__(self, num_pools=10, headers=None, **connection_pool_kw): - RequestMethods.__init__(self, headers) - self.connection_pool_kw = connection_pool_kw - self.pools = RecentlyUsedContainer(num_pools, - dispose_func=lambda p: p.close()) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.clear() - # Return False to re-raise any potential exceptions - return False - - def _new_pool(self, scheme, host, port): - """ - Create a new :class:`ConnectionPool` based on host, port and scheme. - - This method is used to actually create the connection pools handed out - by :meth:`connection_from_url` and companion methods. It is intended - to be overridden for customization. - """ - pool_cls = pool_classes_by_scheme[scheme] - kwargs = self.connection_pool_kw - if scheme == 'http': - kwargs = self.connection_pool_kw.copy() - for kw in SSL_KEYWORDS: - kwargs.pop(kw, None) - - return pool_cls(host, port, **kwargs) - - def clear(self): - """ - Empty our store of pools and direct them all to close. - - This will not affect in-flight connections, but they will not be - re-used after completion. - """ - self.pools.clear() - - def connection_from_host(self, host, port=None, scheme='http'): - """ - Get a :class:`ConnectionPool` based on the host, port, and scheme. - - If ``port`` isn't given, it will be derived from the ``scheme`` using - ``urllib3.connectionpool.port_by_scheme``. - """ - - if not host: - raise LocationValueError("No host specified.") - - scheme = scheme or 'http' - port = port or port_by_scheme.get(scheme, 80) - pool_key = (scheme, host, port) - - with self.pools.lock: - # If the scheme, host, or port doesn't match existing open - # connections, open a new ConnectionPool. - pool = self.pools.get(pool_key) - if pool: - return pool - - # Make a fresh ConnectionPool of the desired type - pool = self._new_pool(scheme, host, port) - self.pools[pool_key] = pool - - return pool - - def connection_from_url(self, url): - """ - Similar to :func:`urllib3.connectionpool.connection_from_url` but - doesn't pass any additional parameters to the - :class:`urllib3.connectionpool.ConnectionPool` constructor. - - Additional parameters are taken from the :class:`.PoolManager` - constructor. - """ - u = parse_url(url) - return self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - def urlopen(self, method, url, redirect=True, **kw): - """ - Same as :meth:`urllib3.connectionpool.HTTPConnectionPool.urlopen` - with custom cross-host redirect logic and only sends the request-uri - portion of the ``url``. - - The given ``url`` parameter must be absolute, such that an appropriate - :class:`urllib3.connectionpool.ConnectionPool` can be chosen for it. - """ - u = parse_url(url) - conn = self.connection_from_host(u.host, port=u.port, scheme=u.scheme) - - kw['assert_same_host'] = False - kw['redirect'] = False - if 'headers' not in kw: - kw['headers'] = self.headers - - if self.proxy is not None and u.scheme == "http": - response = conn.urlopen(method, url, **kw) - else: - response = conn.urlopen(method, u.request_uri, **kw) - - redirect_location = redirect and response.get_redirect_location() - if not redirect_location: - return response - - # Support relative URLs for redirecting. - redirect_location = urljoin(url, redirect_location) - - # RFC 7231, Section 6.4.4 - if response.status == 303: - method = 'GET' - - retries = kw.get('retries') - if not isinstance(retries, Retry): - retries = Retry.from_int(retries, redirect=redirect) - - try: - retries = retries.increment(method, url, response=response, _pool=conn) - except MaxRetryError: - if retries.raise_on_redirect: - raise - return response - - kw['retries'] = retries - kw['redirect'] = redirect - - log.info("Redirecting %s -> %s" % (url, redirect_location)) - return self.urlopen(method, redirect_location, **kw) - - -class ProxyManager(PoolManager): - """ - Behaves just like :class:`PoolManager`, but sends all requests through - the defined proxy, using the CONNECT method for HTTPS URLs. - - :param proxy_url: - The URL of the proxy to be used. - - :param proxy_headers: - A dictionary contaning headers that will be sent to the proxy. In case - of HTTP they are being sent with each request, while in the - HTTPS/CONNECT case they are sent only once. Could be used for proxy - authentication. - - Example: - >>> proxy = urllib3.ProxyManager('http://localhost:3128/') - >>> r1 = proxy.request('GET', 'http://google.com/') - >>> r2 = proxy.request('GET', 'http://httpbin.org/') - >>> len(proxy.pools) - 1 - >>> r3 = proxy.request('GET', 'https://httpbin.org/') - >>> r4 = proxy.request('GET', 'https://twitter.com/') - >>> len(proxy.pools) - 3 - - """ - - def __init__(self, proxy_url, num_pools=10, headers=None, - proxy_headers=None, **connection_pool_kw): - - if isinstance(proxy_url, HTTPConnectionPool): - proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host, - proxy_url.port) - proxy = parse_url(proxy_url) - if not proxy.port: - port = port_by_scheme.get(proxy.scheme, 80) - proxy = proxy._replace(port=port) - - assert proxy.scheme in ("http", "https"), \ - 'Not supported proxy scheme %s' % proxy.scheme - - self.proxy = proxy - self.proxy_headers = proxy_headers or {} - - connection_pool_kw['_proxy'] = self.proxy - connection_pool_kw['_proxy_headers'] = self.proxy_headers - - super(ProxyManager, self).__init__( - num_pools, headers, **connection_pool_kw) - - def connection_from_host(self, host, port=None, scheme='http'): - if scheme == "https": - return super(ProxyManager, self).connection_from_host( - host, port, scheme) - - return super(ProxyManager, self).connection_from_host( - self.proxy.host, self.proxy.port, self.proxy.scheme) - - def _set_proxy_headers(self, url, headers=None): - """ - Sets headers needed by proxies: specifically, the Accept and Host - headers. Only sets headers not provided by the user. - """ - headers_ = {'Accept': '*/*'} - - netloc = parse_url(url).netloc - if netloc: - headers_['Host'] = netloc - - if headers: - headers_.update(headers) - return headers_ - - def urlopen(self, method, url, redirect=True, **kw): - "Same as HTTP(S)ConnectionPool.urlopen, ``url`` must be absolute." - u = parse_url(url) - - if u.scheme == "http": - # For proxied HTTPS requests, httplib sets the necessary headers - # on the CONNECT to the proxy. For HTTP, we'll definitely - # need to set 'Host' at the very least. - headers = kw.get('headers', self.headers) - kw['headers'] = self._set_proxy_headers(url, headers) - - return super(ProxyManager, self).urlopen(method, url, redirect=redirect, **kw) - - -def proxy_from_url(url, **kw): - return ProxyManager(proxy_url=url, **kw) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/request.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/request.py deleted file mode 100644 index b08d6c92..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/request.py +++ /dev/null @@ -1,141 +0,0 @@ -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode - -from .filepost import encode_multipart_formdata - - -__all__ = ['RequestMethods'] - - -class RequestMethods(object): - """ - Convenience mixin for classes who implement a :meth:`urlopen` method, such - as :class:`~urllib3.connectionpool.HTTPConnectionPool` and - :class:`~urllib3.poolmanager.PoolManager`. - - Provides behavior for making common types of HTTP request methods and - decides which type of request field encoding to use. - - Specifically, - - :meth:`.request_encode_url` is for sending requests whose fields are - encoded in the URL (such as GET, HEAD, DELETE). - - :meth:`.request_encode_body` is for sending requests whose fields are - encoded in the *body* of the request using multipart or www-form-urlencoded - (such as for POST, PUT, PATCH). - - :meth:`.request` is for making any kind of request, it will look up the - appropriate encoding format and use one of the above two methods to make - the request. - - Initializer parameters: - - :param headers: - Headers to include with all requests, unless other headers are given - explicitly. - """ - - _encode_url_methods = set(['DELETE', 'GET', 'HEAD', 'OPTIONS']) - - def __init__(self, headers=None): - self.headers = headers or {} - - def urlopen(self, method, url, body=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **kw): # Abstract - raise NotImplemented("Classes extending RequestMethods must implement " - "their own ``urlopen`` method.") - - def request(self, method, url, fields=None, headers=None, **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the appropriate encoding of - ``fields`` based on the ``method`` used. - - This is a convenience method that requires the least amount of manual - effort. It can be used in most situations, while still having the - option to drop down to more specific methods when necessary, such as - :meth:`request_encode_url`, :meth:`request_encode_body`, - or even the lowest level :meth:`urlopen`. - """ - method = method.upper() - - if method in self._encode_url_methods: - return self.request_encode_url(method, url, fields=fields, - headers=headers, - **urlopen_kw) - else: - return self.request_encode_body(method, url, fields=fields, - headers=headers, - **urlopen_kw) - - def request_encode_url(self, method, url, fields=None, **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the url. This is useful for request methods like GET, HEAD, DELETE, etc. - """ - if fields: - url += '?' + urlencode(fields) - return self.urlopen(method, url, **urlopen_kw) - - def request_encode_body(self, method, url, fields=None, headers=None, - encode_multipart=True, multipart_boundary=None, - **urlopen_kw): - """ - Make a request using :meth:`urlopen` with the ``fields`` encoded in - the body. This is useful for request methods like POST, PUT, PATCH, etc. - - When ``encode_multipart=True`` (default), then - :meth:`urllib3.filepost.encode_multipart_formdata` is used to encode - the payload with the appropriate content type. Otherwise - :meth:`urllib.urlencode` is used with the - 'application/x-www-form-urlencoded' content type. - - Multipart encoding must be used when posting files, and it's reasonably - safe to use it in other times too. However, it may break request - signing, such as with OAuth. - - Supports an optional ``fields`` parameter of key/value strings AND - key/filetuple. A filetuple is a (filename, data, MIME type) tuple where - the MIME type is optional. For example:: - - fields = { - 'foo': 'bar', - 'fakefile': ('foofile.txt', 'contents of foofile'), - 'realfile': ('barfile.txt', open('realfile').read()), - 'typedfile': ('bazfile.bin', open('bazfile').read(), - 'image/jpeg'), - 'nonamefile': 'contents of nonamefile field', - } - - When uploading a file, providing a filename (the first parameter of the - tuple) is optional but recommended to best mimick behavior of browsers. - - Note that if ``headers`` are supplied, the 'Content-Type' header will - be overwritten because it depends on the dynamic random boundary string - which is used to compose the body of the request. The random boundary - string can be explicitly set with the ``multipart_boundary`` parameter. - """ - if headers is None: - headers = self.headers - - extra_kw = {'headers': {}} - - if fields: - if 'body' in urlopen_kw: - raise TypeError('request got values for both \'fields\' and \'body\', can only specify one.') - - if encode_multipart: - body, content_type = encode_multipart_formdata(fields, boundary=multipart_boundary) - else: - body, content_type = urlencode(fields), 'application/x-www-form-urlencoded' - - extra_kw['body'] = body - extra_kw['headers'] = {'Content-Type': content_type} - - extra_kw['headers'].update(headers) - extra_kw.update(urlopen_kw) - - return self.urlopen(method, url, **extra_kw) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/response.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/response.py deleted file mode 100644 index 24140c4c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/response.py +++ /dev/null @@ -1,466 +0,0 @@ -try: - import http.client as httplib -except ImportError: - import httplib -import zlib -import io -from socket import timeout as SocketTimeout - -from ._collections import HTTPHeaderDict -from .exceptions import ( - ProtocolError, DecodeError, ReadTimeoutError, ResponseNotChunked -) -from .packages.six import string_types as basestring, binary_type, PY3 -from .connection import HTTPException, BaseSSLError -from .util.response import is_fp_closed - - -class DeflateDecoder(object): - - def __init__(self): - self._first_try = True - self._data = binary_type() - self._obj = zlib.decompressobj() - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - - if not self._first_try: - return self._obj.decompress(data) - - self._data += data - try: - return self._obj.decompress(data) - except zlib.error: - self._first_try = False - self._obj = zlib.decompressobj(-zlib.MAX_WBITS) - try: - return self.decompress(self._data) - finally: - self._data = None - - -class GzipDecoder(object): - - def __init__(self): - self._obj = zlib.decompressobj(16 + zlib.MAX_WBITS) - - def __getattr__(self, name): - return getattr(self._obj, name) - - def decompress(self, data): - if not data: - return data - return self._obj.decompress(data) - - -def _get_decoder(mode): - if mode == 'gzip': - return GzipDecoder() - - return DeflateDecoder() - - -class HTTPResponse(io.IOBase): - """ - HTTP Response container. - - Backwards-compatible to httplib's HTTPResponse but the response ``body`` is - loaded and decoded on-demand when the ``data`` property is accessed. This - class is also compatible with the Python standard library's :mod:`io` - module, and can hence be treated as a readable object in the context of that - framework. - - Extra parameters for behaviour not present in httplib.HTTPResponse: - - :param preload_content: - If True, the response's body will be preloaded during construction. - - :param decode_content: - If True, attempts to decode specific content-encoding's based on headers - (like 'gzip' and 'deflate') will be skipped and raw data will be used - instead. - - :param original_response: - When this HTTPResponse wrapper is generated from an httplib.HTTPResponse - object, it's convenient to include the original for debug purposes. It's - otherwise unused. - """ - - CONTENT_DECODERS = ['gzip', 'deflate'] - REDIRECT_STATUSES = [301, 302, 303, 307, 308] - - def __init__(self, body='', headers=None, status=0, version=0, reason=None, - strict=0, preload_content=True, decode_content=True, - original_response=None, pool=None, connection=None): - - if isinstance(headers, HTTPHeaderDict): - self.headers = headers - else: - self.headers = HTTPHeaderDict(headers) - self.status = status - self.version = version - self.reason = reason - self.strict = strict - self.decode_content = decode_content - - self._decoder = None - self._body = None - self._fp = None - self._original_response = original_response - self._fp_bytes_read = 0 - - if body and isinstance(body, (basestring, binary_type)): - self._body = body - - self._pool = pool - self._connection = connection - - if hasattr(body, 'read'): - self._fp = body - - # Are we using the chunked-style of transfer encoding? - self.chunked = False - self.chunk_left = None - tr_enc = self.headers.get('transfer-encoding', '').lower() - # Don't incur the penalty of creating a list and then discarding it - encodings = (enc.strip() for enc in tr_enc.split(",")) - if "chunked" in encodings: - self.chunked = True - - # We certainly don't want to preload content when the response is chunked. - if not self.chunked and preload_content and not self._body: - self._body = self.read(decode_content=decode_content) - - def get_redirect_location(self): - """ - Should we redirect and where to? - - :returns: Truthy redirect location string if we got a redirect status - code and valid location. ``None`` if redirect status and no - location. ``False`` if not a redirect status code. - """ - if self.status in self.REDIRECT_STATUSES: - return self.headers.get('location') - - return False - - def release_conn(self): - if not self._pool or not self._connection: - return - - self._pool._put_conn(self._connection) - self._connection = None - - @property - def data(self): - # For backwords-compat with earlier urllib3 0.4 and earlier. - if self._body: - return self._body - - if self._fp: - return self.read(cache_content=True) - - def tell(self): - """ - Obtain the number of bytes pulled over the wire so far. May differ from - the amount of content returned by :meth:``HTTPResponse.read`` if bytes - are encoded on the wire (e.g, compressed). - """ - return self._fp_bytes_read - - def _init_decoder(self): - """ - Set-up the _decoder attribute if necessar. - """ - # Note: content-encoding value should be case-insensitive, per RFC 7230 - # Section 3.2 - content_encoding = self.headers.get('content-encoding', '').lower() - if self._decoder is None and content_encoding in self.CONTENT_DECODERS: - self._decoder = _get_decoder(content_encoding) - - def _decode(self, data, decode_content, flush_decoder): - """ - Decode the data passed in and potentially flush the decoder. - """ - try: - if decode_content and self._decoder: - data = self._decoder.decompress(data) - except (IOError, zlib.error) as e: - content_encoding = self.headers.get('content-encoding', '').lower() - raise DecodeError( - "Received response with content-encoding: %s, but " - "failed to decode it." % content_encoding, e) - - if flush_decoder and decode_content and self._decoder: - buf = self._decoder.decompress(binary_type()) - data += buf + self._decoder.flush() - - return data - - def read(self, amt=None, decode_content=None, cache_content=False): - """ - Similar to :meth:`httplib.HTTPResponse.read`, but with two additional - parameters: ``decode_content`` and ``cache_content``. - - :param amt: - How much of the content to read. If specified, caching is skipped - because it doesn't make sense to cache partial content as the full - response. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - - :param cache_content: - If True, will save the returned data such that the same result is - returned despite of the state of the underlying file object. This - is useful if you want the ``.data`` property to continue working - after having ``.read()`` the file object. (Overridden if ``amt`` is - set.) - """ - self._init_decoder() - if decode_content is None: - decode_content = self.decode_content - - if self._fp is None: - return - - flush_decoder = False - - try: - try: - if amt is None: - # cStringIO doesn't like amt=None - data = self._fp.read() - flush_decoder = True - else: - cache_content = False - data = self._fp.read(amt) - if amt != 0 and not data: # Platform-specific: Buggy versions of Python. - # Close the connection when no data is returned - # - # This is redundant to what httplib/http.client _should_ - # already do. However, versions of python released before - # December 15, 2012 (http://bugs.python.org/issue16298) do - # not properly close the connection in all cases. There is - # no harm in redundantly calling close. - self._fp.close() - flush_decoder = True - - except SocketTimeout: - # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but - # there is yet no clean way to get at it from this context. - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except BaseSSLError as e: - # FIXME: Is there a better way to differentiate between SSLErrors? - if 'read operation timed out' not in str(e): # Defensive: - # This shouldn't happen but just in case we're missing an edge - # case, let's avoid swallowing SSL errors. - raise - - raise ReadTimeoutError(self._pool, None, 'Read timed out.') - - except HTTPException as e: - # This includes IncompleteRead. - raise ProtocolError('Connection broken: %r' % e, e) - - self._fp_bytes_read += len(data) - - data = self._decode(data, decode_content, flush_decoder) - - if cache_content: - self._body = data - - return data - - finally: - if self._original_response and self._original_response.isclosed(): - self.release_conn() - - def stream(self, amt=2**16, decode_content=None): - """ - A generator wrapper for the read() method. A call will block until - ``amt`` bytes have been read from the connection or until the - connection is closed. - - :param amt: - How much of the content to read. The generator will return up to - much data per iteration, but may return less. This is particularly - likely when using compressed data. However, the empty string will - never be returned. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - if self.chunked: - for line in self.read_chunked(amt, decode_content=decode_content): - yield line - else: - while not is_fp_closed(self._fp): - data = self.read(amt=amt, decode_content=decode_content) - - if data: - yield data - - @classmethod - def from_httplib(ResponseCls, r, **response_kw): - """ - Given an :class:`httplib.HTTPResponse` instance ``r``, return a - corresponding :class:`urllib3.response.HTTPResponse` object. - - Remaining parameters are passed to the HTTPResponse constructor, along - with ``original_response=r``. - """ - headers = r.msg - if not isinstance(headers, HTTPHeaderDict): - if PY3: # Python 3 - headers = HTTPHeaderDict(headers.items()) - else: # Python 2 - headers = HTTPHeaderDict.from_httplib(headers) - - # HTTPResponse objects in Python 3 don't have a .strict attribute - strict = getattr(r, 'strict', 0) - resp = ResponseCls(body=r, - headers=headers, - status=r.status, - version=r.version, - reason=r.reason, - strict=strict, - original_response=r, - **response_kw) - return resp - - # Backwards-compatibility methods for httplib.HTTPResponse - def getheaders(self): - return self.headers - - def getheader(self, name, default=None): - return self.headers.get(name, default) - - # Overrides from io.IOBase - def close(self): - if not self.closed: - self._fp.close() - - @property - def closed(self): - if self._fp is None: - return True - elif hasattr(self._fp, 'closed'): - return self._fp.closed - elif hasattr(self._fp, 'isclosed'): # Python 2 - return self._fp.isclosed() - else: - return True - - def fileno(self): - if self._fp is None: - raise IOError("HTTPResponse has no file to get a fileno from") - elif hasattr(self._fp, "fileno"): - return self._fp.fileno() - else: - raise IOError("The file-like object this HTTPResponse is wrapped " - "around has no file descriptor") - - def flush(self): - if self._fp is not None and hasattr(self._fp, 'flush'): - return self._fp.flush() - - def readable(self): - # This method is required for `io` module compatibility. - return True - - def readinto(self, b): - # This method is required for `io` module compatibility. - temp = self.read(len(b)) - if len(temp) == 0: - return 0 - else: - b[:len(temp)] = temp - return len(temp) - - def _update_chunk_length(self): - # First, we'll figure out length of a chunk and then - # we'll try to read it from socket. - if self.chunk_left is not None: - return - line = self._fp.fp.readline() - line = line.split(b';', 1)[0] - try: - self.chunk_left = int(line, 16) - except ValueError: - # Invalid chunked protocol response, abort. - self.close() - raise httplib.IncompleteRead(line) - - def _handle_chunk(self, amt): - returned_chunk = None - if amt is None: - chunk = self._fp._safe_read(self.chunk_left) - returned_chunk = chunk - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - elif amt < self.chunk_left: - value = self._fp._safe_read(amt) - self.chunk_left = self.chunk_left - amt - returned_chunk = value - elif amt == self.chunk_left: - value = self._fp._safe_read(amt) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - returned_chunk = value - else: # amt > self.chunk_left - returned_chunk = self._fp._safe_read(self.chunk_left) - self._fp._safe_read(2) # Toss the CRLF at the end of the chunk. - self.chunk_left = None - return returned_chunk - - def read_chunked(self, amt=None, decode_content=None): - """ - Similar to :meth:`HTTPResponse.read`, but with an additional - parameter: ``decode_content``. - - :param decode_content: - If True, will attempt to decode the body based on the - 'content-encoding' header. - """ - self._init_decoder() - # FIXME: Rewrite this method and make it a class with a better structured logic. - if not self.chunked: - raise ResponseNotChunked("Response is not chunked. " - "Header 'transfer-encoding: chunked' is missing.") - - if self._original_response and self._original_response._method.upper() == 'HEAD': - # Don't bother reading the body of a HEAD request. - # FIXME: Can we do this somehow without accessing private httplib _method? - self._original_response.close() - return - - while True: - self._update_chunk_length() - if self.chunk_left == 0: - break - chunk = self._handle_chunk(amt) - yield self._decode(chunk, decode_content=decode_content, - flush_decoder=True) - - # Chunk content ends with \r\n: discard it. - while True: - line = self._fp.fp.readline() - if not line: - # Some sites may not end with '\r\n'. - break - if line == b'\r\n': - break - - # We read everything; close the "file". - if self._original_response: - self._original_response.close() - self.release_conn() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/__init__.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/__init__.py deleted file mode 100644 index 8becc814..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# For backwards compatibility, provide imports that used to be here. -from .connection import is_connection_dropped -from .request import make_headers -from .response import is_fp_closed -from .ssl_ import ( - SSLContext, - HAS_SNI, - assert_fingerprint, - resolve_cert_reqs, - resolve_ssl_version, - ssl_wrap_socket, -) -from .timeout import ( - current_time, - Timeout, -) - -from .retry import Retry -from .url import ( - get_host, - parse_url, - split_first, - Url, -) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/connection.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/connection.py deleted file mode 100644 index 859aec6e..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/connection.py +++ /dev/null @@ -1,98 +0,0 @@ -import socket -try: - from select import poll, POLLIN -except ImportError: # `poll` doesn't exist on OSX and other platforms - poll = False - try: - from select import select - except ImportError: # `select` doesn't exist on AppEngine. - select = False - - -def is_connection_dropped(conn): # Platform-specific - """ - Returns True if the connection is dropped and should be closed. - - :param conn: - :class:`httplib.HTTPConnection` object. - - Note: For platforms like AppEngine, this will always return ``False`` to - let the platform handle connection recycling transparently for us. - """ - sock = getattr(conn, 'sock', False) - if sock is False: # Platform-specific: AppEngine - return False - if sock is None: # Connection already closed (such as by httplib). - return True - - if not poll: - if not select: # Platform-specific: AppEngine - return False - - try: - return select([sock], [], [], 0.0)[0] - except socket.error: - return True - - # This version is better on platforms that support it. - p = poll() - p.register(sock, POLLIN) - for (fno, ev) in p.poll(0.0): - if fno == sock.fileno(): - # Either data is buffered (bad), or the connection is dropped. - return True - - -# This function is copied from socket.py in the Python 2.7 standard -# library test suite. Added to its signature is only `socket_options`. -def create_connection(address, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, - source_address=None, socket_options=None): - """Connect to *address* and return the socket object. - - Convenience function. Connect to *address* (a 2-tuple ``(host, - port)``) and return the socket object. Passing the optional - *timeout* parameter will set the timeout on the socket instance - before attempting to connect. If no *timeout* is supplied, the - global default timeout setting returned by :func:`getdefaulttimeout` - is used. If *source_address* is set it must be a tuple of (host, port) - for the socket to bind as a source address before making the connection. - An host of '' or port 0 tells the OS to use the default. - """ - - host, port = address - err = None - for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): - af, socktype, proto, canonname, sa = res - sock = None - try: - sock = socket.socket(af, socktype, proto) - - # If provided, set socket level options before connecting. - # This is the only addition urllib3 makes to this function. - _set_socket_options(sock, socket_options) - - if timeout is not socket._GLOBAL_DEFAULT_TIMEOUT: - sock.settimeout(timeout) - if source_address: - sock.bind(source_address) - sock.connect(sa) - return sock - - except socket.error as _: - err = _ - if sock is not None: - sock.close() - sock = None - - if err is not None: - raise err - else: - raise socket.error("getaddrinfo returns an empty list") - - -def _set_socket_options(sock, options): - if options is None: - return - - for opt in options: - sock.setsockopt(*opt) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/request.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/request.py deleted file mode 100644 index bc64f6b1..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/request.py +++ /dev/null @@ -1,71 +0,0 @@ -from base64 import b64encode - -from ..packages.six import b - -ACCEPT_ENCODING = 'gzip,deflate' - - -def make_headers(keep_alive=None, accept_encoding=None, user_agent=None, - basic_auth=None, proxy_basic_auth=None, disable_cache=None): - """ - Shortcuts for generating request headers. - - :param keep_alive: - If ``True``, adds 'connection: keep-alive' header. - - :param accept_encoding: - Can be a boolean, list, or string. - ``True`` translates to 'gzip,deflate'. - List will get joined by comma. - String will be used as provided. - - :param user_agent: - String representing the user-agent you want, such as - "python-urllib3/0.6" - - :param basic_auth: - Colon-separated username:password string for 'authorization: basic ...' - auth header. - - :param proxy_basic_auth: - Colon-separated username:password string for 'proxy-authorization: basic ...' - auth header. - - :param disable_cache: - If ``True``, adds 'cache-control: no-cache' header. - - Example:: - - >>> make_headers(keep_alive=True, user_agent="Batman/1.0") - {'connection': 'keep-alive', 'user-agent': 'Batman/1.0'} - >>> make_headers(accept_encoding=True) - {'accept-encoding': 'gzip,deflate'} - """ - headers = {} - if accept_encoding: - if isinstance(accept_encoding, str): - pass - elif isinstance(accept_encoding, list): - accept_encoding = ','.join(accept_encoding) - else: - accept_encoding = ACCEPT_ENCODING - headers['accept-encoding'] = accept_encoding - - if user_agent: - headers['user-agent'] = user_agent - - if keep_alive: - headers['connection'] = 'keep-alive' - - if basic_auth: - headers['authorization'] = 'Basic ' + \ - b64encode(b(basic_auth)).decode('utf-8') - - if proxy_basic_auth: - headers['proxy-authorization'] = 'Basic ' + \ - b64encode(b(proxy_basic_auth)).decode('utf-8') - - if disable_cache: - headers['cache-control'] = 'no-cache' - - return headers diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/response.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/response.py deleted file mode 100644 index 45fff552..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/response.py +++ /dev/null @@ -1,22 +0,0 @@ -def is_fp_closed(obj): - """ - Checks whether a given file-like object is closed. - - :param obj: - The file-like object to check. - """ - - try: - # Check via the official file-like-object way. - return obj.closed - except AttributeError: - pass - - try: - # Check if the object is a container for another file-like object that - # gets released on exhaustion (e.g. HTTPResponse). - return obj.fp is None - except AttributeError: - pass - - raise ValueError("Unable to determine whether fp is closed.") diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/retry.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/retry.py deleted file mode 100644 index 7e0959df..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/retry.py +++ /dev/null @@ -1,285 +0,0 @@ -import time -import logging - -from ..exceptions import ( - ConnectTimeoutError, - MaxRetryError, - ProtocolError, - ReadTimeoutError, - ResponseError, -) -from ..packages import six - - -log = logging.getLogger(__name__) - - -class Retry(object): - """ Retry configuration. - - Each retry attempt will create a new Retry object with updated values, so - they can be safely reused. - - Retries can be defined as a default for a pool:: - - retries = Retry(connect=5, read=2, redirect=5) - http = PoolManager(retries=retries) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', retries=Retry(10)) - - Retries can be disabled by passing ``False``:: - - response = http.request('GET', 'http://example.com/', retries=False) - - Errors will be wrapped in :class:`~urllib3.exceptions.MaxRetryError` unless - retries are disabled, in which case the causing exception will be raised. - - :param int total: - Total number of retries to allow. Takes precedence over other counts. - - Set to ``None`` to remove this constraint and fall back on other - counts. It's a good idea to set this to some sensibly-high value to - account for unexpected edge cases and avoid infinite retry loops. - - Set to ``0`` to fail on the first retry. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param int connect: - How many connection-related errors to retry on. - - These are errors raised before the request is sent to the remote server, - which we assume has not triggered the server to process the request. - - Set to ``0`` to fail on the first retry of this type. - - :param int read: - How many times to retry on read errors. - - These errors are raised after the request was sent to the server, so the - request may have side-effects. - - Set to ``0`` to fail on the first retry of this type. - - :param int redirect: - How many redirects to perform. Limit this to avoid infinite redirect - loops. - - A redirect is a HTTP response with a status code 301, 302, 303, 307 or - 308. - - Set to ``0`` to fail on the first retry of this type. - - Set to ``False`` to disable and imply ``raise_on_redirect=False``. - - :param iterable method_whitelist: - Set of uppercased HTTP method verbs that we should retry on. - - By default, we only retry on methods which are considered to be - indempotent (multiple requests with the same parameters end with the - same state). See :attr:`Retry.DEFAULT_METHOD_WHITELIST`. - - :param iterable status_forcelist: - A set of HTTP status codes that we should force a retry on. - - By default, this is disabled with ``None``. - - :param float backoff_factor: - A backoff factor to apply between attempts. urllib3 will sleep for:: - - {backoff factor} * (2 ^ ({number of total retries} - 1)) - - seconds. If the backoff_factor is 0.1, then :func:`.sleep` will sleep - for [0.1s, 0.2s, 0.4s, ...] between retries. It will never be longer - than :attr:`Retry.MAX_BACKOFF`. - - By default, backoff is disabled (set to 0). - - :param bool raise_on_redirect: Whether, if the number of redirects is - exhausted, to raise a MaxRetryError, or to return a response with a - response code in the 3xx range. - """ - - DEFAULT_METHOD_WHITELIST = frozenset([ - 'HEAD', 'GET', 'PUT', 'DELETE', 'OPTIONS', 'TRACE']) - - #: Maximum backoff time. - BACKOFF_MAX = 120 - - def __init__(self, total=10, connect=None, read=None, redirect=None, - method_whitelist=DEFAULT_METHOD_WHITELIST, status_forcelist=None, - backoff_factor=0, raise_on_redirect=True, _observed_errors=0): - - self.total = total - self.connect = connect - self.read = read - - if redirect is False or total is False: - redirect = 0 - raise_on_redirect = False - - self.redirect = redirect - self.status_forcelist = status_forcelist or set() - self.method_whitelist = method_whitelist - self.backoff_factor = backoff_factor - self.raise_on_redirect = raise_on_redirect - self._observed_errors = _observed_errors # TODO: use .history instead? - - def new(self, **kw): - params = dict( - total=self.total, - connect=self.connect, read=self.read, redirect=self.redirect, - method_whitelist=self.method_whitelist, - status_forcelist=self.status_forcelist, - backoff_factor=self.backoff_factor, - raise_on_redirect=self.raise_on_redirect, - _observed_errors=self._observed_errors, - ) - params.update(kw) - return type(self)(**params) - - @classmethod - def from_int(cls, retries, redirect=True, default=None): - """ Backwards-compatibility for the old retries format.""" - if retries is None: - retries = default if default is not None else cls.DEFAULT - - if isinstance(retries, Retry): - return retries - - redirect = bool(redirect) and None - new_retries = cls(retries, redirect=redirect) - log.debug("Converted retries value: %r -> %r" % (retries, new_retries)) - return new_retries - - def get_backoff_time(self): - """ Formula for computing the current backoff - - :rtype: float - """ - if self._observed_errors <= 1: - return 0 - - backoff_value = self.backoff_factor * (2 ** (self._observed_errors - 1)) - return min(self.BACKOFF_MAX, backoff_value) - - def sleep(self): - """ Sleep between retry attempts using an exponential backoff. - - By default, the backoff factor is 0 and this method will return - immediately. - """ - backoff = self.get_backoff_time() - if backoff <= 0: - return - time.sleep(backoff) - - def _is_connection_error(self, err): - """ Errors when we're fairly sure that the server did not receive the - request, so it should be safe to retry. - """ - return isinstance(err, ConnectTimeoutError) - - def _is_read_error(self, err): - """ Errors that occur after the request has been started, so we should - assume that the server began processing it. - """ - return isinstance(err, (ReadTimeoutError, ProtocolError)) - - def is_forced_retry(self, method, status_code): - """ Is this method/status code retryable? (Based on method/codes whitelists) - """ - if self.method_whitelist and method.upper() not in self.method_whitelist: - return False - - return self.status_forcelist and status_code in self.status_forcelist - - def is_exhausted(self): - """ Are we out of retries? """ - retry_counts = (self.total, self.connect, self.read, self.redirect) - retry_counts = list(filter(None, retry_counts)) - if not retry_counts: - return False - - return min(retry_counts) < 0 - - def increment(self, method=None, url=None, response=None, error=None, _pool=None, _stacktrace=None): - """ Return a new Retry object with incremented retry counters. - - :param response: A response object, or None, if the server did not - return a response. - :type response: :class:`~urllib3.response.HTTPResponse` - :param Exception error: An error encountered during the request, or - None if the response was received successfully. - - :return: A new ``Retry`` object. - """ - if self.total is False and error: - # Disabled, indicate to re-raise the error. - raise six.reraise(type(error), error, _stacktrace) - - total = self.total - if total is not None: - total -= 1 - - _observed_errors = self._observed_errors - connect = self.connect - read = self.read - redirect = self.redirect - cause = 'unknown' - - if error and self._is_connection_error(error): - # Connect retry? - if connect is False: - raise six.reraise(type(error), error, _stacktrace) - elif connect is not None: - connect -= 1 - _observed_errors += 1 - - elif error and self._is_read_error(error): - # Read retry? - if read is False: - raise six.reraise(type(error), error, _stacktrace) - elif read is not None: - read -= 1 - _observed_errors += 1 - - elif response and response.get_redirect_location(): - # Redirect retry? - if redirect is not None: - redirect -= 1 - cause = 'too many redirects' - - else: - # Incrementing because of a server error like a 500 in - # status_forcelist and a the given method is in the whitelist - _observed_errors += 1 - cause = ResponseError.GENERIC_ERROR - if response and response.status: - cause = ResponseError.SPECIFIC_ERROR.format( - status_code=response.status) - - new_retry = self.new( - total=total, - connect=connect, read=read, redirect=redirect, - _observed_errors=_observed_errors) - - if new_retry.is_exhausted(): - raise MaxRetryError(_pool, url, error or ResponseError(cause)) - - log.debug("Incremented Retry for (url='%s'): %r" % (url, new_retry)) - - return new_retry - - - def __repr__(self): - return ('{cls.__name__}(total={self.total}, connect={self.connect}, ' - 'read={self.read}, redirect={self.redirect})').format( - cls=type(self), self=self) - - -# For backwards compatibility (equivalent to pre-v1.9): -Retry.DEFAULT = Retry(3) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/ssl_.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/ssl_.py deleted file mode 100644 index b846d42c..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/ssl_.py +++ /dev/null @@ -1,280 +0,0 @@ -from binascii import hexlify, unhexlify -from hashlib import md5, sha1, sha256 - -from ..exceptions import SSLError, InsecurePlatformWarning - - -SSLContext = None -HAS_SNI = False -create_default_context = None - -import errno -import warnings - -try: # Test for SSL features - import ssl - from ssl import wrap_socket, CERT_NONE, PROTOCOL_SSLv23 - from ssl import HAS_SNI # Has SNI? -except ImportError: - pass - - -try: - from ssl import OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION -except ImportError: - OP_NO_SSLv2, OP_NO_SSLv3 = 0x1000000, 0x2000000 - OP_NO_COMPRESSION = 0x20000 - -# A secure default. -# Sources for more information on TLS ciphers: -# -# - https://wiki.mozilla.org/Security/Server_Side_TLS -# - https://www.ssllabs.com/projects/best-practices/index.html -# - https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ -# -# The general intent is: -# - Prefer cipher suites that offer perfect forward secrecy (DHE/ECDHE), -# - prefer ECDHE over DHE for better performance, -# - prefer any AES-GCM over any AES-CBC for better performance and security, -# - use 3DES as fallback which is secure but slow, -# - disable NULL authentication, MD5 MACs and DSS for security reasons. -DEFAULT_CIPHERS = ( - 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+HIGH:' - 'DH+HIGH:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+HIGH:RSA+3DES:!aNULL:' - '!eNULL:!MD5' -) - -try: - from ssl import SSLContext # Modern SSL? -except ImportError: - import sys - - class SSLContext(object): # Platform-specific: Python 2 & 3.1 - supports_set_ciphers = ((2, 7) <= sys.version_info < (3,) or - (3, 2) <= sys.version_info) - - def __init__(self, protocol_version): - self.protocol = protocol_version - # Use default values from a real SSLContext - self.check_hostname = False - self.verify_mode = ssl.CERT_NONE - self.ca_certs = None - self.options = 0 - self.certfile = None - self.keyfile = None - self.ciphers = None - - def load_cert_chain(self, certfile, keyfile): - self.certfile = certfile - self.keyfile = keyfile - - def load_verify_locations(self, location): - self.ca_certs = location - - def set_ciphers(self, cipher_suite): - if not self.supports_set_ciphers: - raise TypeError( - 'Your version of Python does not support setting ' - 'a custom cipher suite. Please upgrade to Python ' - '2.7, 3.2, or later if you need this functionality.' - ) - self.ciphers = cipher_suite - - def wrap_socket(self, socket, server_hostname=None): - warnings.warn( - 'A true SSLContext object is not available. This prevents ' - 'urllib3 from configuring SSL appropriately and may cause ' - 'certain SSL connections to fail. For more information, see ' - 'https://urllib3.readthedocs.org/en/latest/security.html' - '#insecureplatformwarning.', - InsecurePlatformWarning - ) - kwargs = { - 'keyfile': self.keyfile, - 'certfile': self.certfile, - 'ca_certs': self.ca_certs, - 'cert_reqs': self.verify_mode, - 'ssl_version': self.protocol, - } - if self.supports_set_ciphers: # Platform-specific: Python 2.7+ - return wrap_socket(socket, ciphers=self.ciphers, **kwargs) - else: # Platform-specific: Python 2.6 - return wrap_socket(socket, **kwargs) - - -def assert_fingerprint(cert, fingerprint): - """ - Checks if given fingerprint matches the supplied certificate. - - :param cert: - Certificate as bytes object. - :param fingerprint: - Fingerprint as string of hexdigits, can be interspersed by colons. - """ - - # Maps the length of a digest to a possible hash function producing - # this digest. - hashfunc_map = { - 16: md5, - 20: sha1, - 32: sha256, - } - - fingerprint = fingerprint.replace(':', '').lower() - digest_length, odd = divmod(len(fingerprint), 2) - - if odd or digest_length not in hashfunc_map: - raise SSLError('Fingerprint is of invalid length.') - - # We need encode() here for py32; works on py2 and p33. - fingerprint_bytes = unhexlify(fingerprint.encode()) - - hashfunc = hashfunc_map[digest_length] - - cert_digest = hashfunc(cert).digest() - - if not cert_digest == fingerprint_bytes: - raise SSLError('Fingerprints did not match. Expected "{0}", got "{1}".' - .format(hexlify(fingerprint_bytes), - hexlify(cert_digest))) - - -def resolve_cert_reqs(candidate): - """ - Resolves the argument to a numeric constant, which can be passed to - the wrap_socket function/method from the ssl module. - Defaults to :data:`ssl.CERT_NONE`. - If given a string it is assumed to be the name of the constant in the - :mod:`ssl` module or its abbrevation. - (So you can specify `REQUIRED` instead of `CERT_REQUIRED`. - If it's neither `None` nor a string we assume it is already the numeric - constant which can directly be passed to wrap_socket. - """ - if candidate is None: - return CERT_NONE - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'CERT_' + candidate) - return res - - return candidate - - -def resolve_ssl_version(candidate): - """ - like resolve_cert_reqs - """ - if candidate is None: - return PROTOCOL_SSLv23 - - if isinstance(candidate, str): - res = getattr(ssl, candidate, None) - if res is None: - res = getattr(ssl, 'PROTOCOL_' + candidate) - return res - - return candidate - - -def create_urllib3_context(ssl_version=None, cert_reqs=None, - options=None, ciphers=None): - """All arguments have the same meaning as ``ssl_wrap_socket``. - - By default, this function does a lot of the same work that - ``ssl.create_default_context`` does on Python 3.4+. It: - - - Disables SSLv2, SSLv3, and compression - - Sets a restricted set of server ciphers - - If you wish to enable SSLv3, you can do:: - - from urllib3.util import ssl_ - context = ssl_.create_urllib3_context() - context.options &= ~ssl_.OP_NO_SSLv3 - - You can do the same to enable compression (substituting ``COMPRESSION`` - for ``SSLv3`` in the last line above). - - :param ssl_version: - The desired protocol version to use. This will default to - PROTOCOL_SSLv23 which will negotiate the highest protocol that both - the server and your installation of OpenSSL support. - :param cert_reqs: - Whether to require the certificate verification. This defaults to - ``ssl.CERT_REQUIRED``. - :param options: - Specific OpenSSL options. These default to ``ssl.OP_NO_SSLv2``, - ``ssl.OP_NO_SSLv3``, ``ssl.OP_NO_COMPRESSION``. - :param ciphers: - Which cipher suites to allow the server to select. - :returns: - Constructed SSLContext object with specified options - :rtype: SSLContext - """ - context = SSLContext(ssl_version or ssl.PROTOCOL_SSLv23) - - # Setting the default here, as we may have no ssl module on import - cert_reqs = ssl.CERT_REQUIRED if cert_reqs is None else cert_reqs - - if options is None: - options = 0 - # SSLv2 is easily broken and is considered harmful and dangerous - options |= OP_NO_SSLv2 - # SSLv3 has several problems and is now dangerous - options |= OP_NO_SSLv3 - # Disable compression to prevent CRIME attacks for OpenSSL 1.0+ - # (issue #309) - options |= OP_NO_COMPRESSION - - context.options |= options - - if getattr(context, 'supports_set_ciphers', True): # Platform-specific: Python 2.6 - context.set_ciphers(ciphers or DEFAULT_CIPHERS) - - context.verify_mode = cert_reqs - if getattr(context, 'check_hostname', None) is not None: # Platform-specific: Python 3.2 - # We do our own verification, including fingerprints and alternative - # hostnames. So disable it here - context.check_hostname = False - return context - - -def ssl_wrap_socket(sock, keyfile=None, certfile=None, cert_reqs=None, - ca_certs=None, server_hostname=None, - ssl_version=None, ciphers=None, ssl_context=None): - """ - All arguments except for server_hostname and ssl_context have the same - meaning as they do when using :func:`ssl.wrap_socket`. - - :param server_hostname: - When SNI is supported, the expected hostname of the certificate - :param ssl_context: - A pre-made :class:`SSLContext` object. If none is provided, one will - be created using :func:`create_urllib3_context`. - :param ciphers: - A string of ciphers we wish the client to support. This is not - supported on Python 2.6 as the ssl module does not support it. - """ - context = ssl_context - if context is None: - context = create_urllib3_context(ssl_version, cert_reqs, - ciphers=ciphers) - - if ca_certs: - try: - context.load_verify_locations(ca_certs) - except IOError as e: # Platform-specific: Python 2.6, 2.7, 3.2 - raise SSLError(e) - # Py33 raises FileNotFoundError which subclasses OSError - # These are not equivalent unless we check the errno attribute - except OSError as e: # Platform-specific: Python 3.3 and beyond - if e.errno == errno.ENOENT: - raise SSLError(e) - raise - if certfile: - context.load_cert_chain(certfile, keyfile) - if HAS_SNI: # Platform-specific: OpenSSL with enabled SNI - return context.wrap_socket(sock, server_hostname=server_hostname) - return context.wrap_socket(sock) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/timeout.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/timeout.py deleted file mode 100644 index ea7027f3..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/timeout.py +++ /dev/null @@ -1,240 +0,0 @@ -# The default socket timeout, used by httplib to indicate that no timeout was -# specified by the user -from socket import _GLOBAL_DEFAULT_TIMEOUT -import time - -from ..exceptions import TimeoutStateError - -# A sentinel value to indicate that no timeout was specified by the user in -# urllib3 -_Default = object() - -def current_time(): - """ - Retrieve the current time. This function is mocked out in unit testing. - """ - return time.time() - - -class Timeout(object): - """ Timeout configuration. - - Timeouts can be defined as a default for a pool:: - - timeout = Timeout(connect=2.0, read=7.0) - http = PoolManager(timeout=timeout) - response = http.request('GET', 'http://example.com/') - - Or per-request (which overrides the default for the pool):: - - response = http.request('GET', 'http://example.com/', timeout=Timeout(10)) - - Timeouts can be disabled by setting all the parameters to ``None``:: - - no_timeout = Timeout(connect=None, read=None) - response = http.request('GET', 'http://example.com/, timeout=no_timeout) - - - :param total: - This combines the connect and read timeouts into one; the read timeout - will be set to the time leftover from the connect attempt. In the - event that both a connect timeout and a total are specified, or a read - timeout and a total are specified, the shorter timeout will be applied. - - Defaults to None. - - :type total: integer, float, or None - - :param connect: - The maximum amount of time to wait for a connection attempt to a server - to succeed. Omitting the parameter will default the connect timeout to - the system default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout for connection attempts. - - :type connect: integer, float, or None - - :param read: - The maximum amount of time to wait between consecutive - read operations for a response from the server. Omitting - the parameter will default the read timeout to the system - default, probably `the global default timeout in socket.py - `_. - None will set an infinite timeout. - - :type read: integer, float, or None - - .. note:: - - Many factors can affect the total amount of time for urllib3 to return - an HTTP response. - - For example, Python's DNS resolver does not obey the timeout specified - on the socket. Other factors that can affect total request time include - high CPU load, high swap, the program running at a low priority level, - or other behaviors. - - In addition, the read and total timeouts only measure the time between - read operations on the socket connecting the client and the server, - not the total amount of time for the request to return a complete - response. For most requests, the timeout is raised because the server - has not sent the first byte in the specified time. This is not always - the case; if a server streams one byte every fifteen seconds, a timeout - of 20 seconds will not trigger, even though the request will take - several minutes to complete. - - If your goal is to cut off any request after a set amount of wall clock - time, consider having a second "watcher" thread to cut off a slow - request. - """ - - #: A sentinel object representing the default timeout value - DEFAULT_TIMEOUT = _GLOBAL_DEFAULT_TIMEOUT - - def __init__(self, total=None, connect=_Default, read=_Default): - self._connect = self._validate_timeout(connect, 'connect') - self._read = self._validate_timeout(read, 'read') - self.total = self._validate_timeout(total, 'total') - self._start_connect = None - - def __str__(self): - return '%s(connect=%r, read=%r, total=%r)' % ( - type(self).__name__, self._connect, self._read, self.total) - - @classmethod - def _validate_timeout(cls, value, name): - """ Check that a timeout attribute is valid. - - :param value: The timeout value to validate - :param name: The name of the timeout attribute to validate. This is - used to specify in error messages. - :return: The validated and casted version of the given value. - :raises ValueError: If the type is not an integer or a float, or if it - is a numeric value less than zero. - """ - if value is _Default: - return cls.DEFAULT_TIMEOUT - - if value is None or value is cls.DEFAULT_TIMEOUT: - return value - - try: - float(value) - except (TypeError, ValueError): - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - try: - if value < 0: - raise ValueError("Attempted to set %s timeout to %s, but the " - "timeout cannot be set to a value less " - "than 0." % (name, value)) - except TypeError: # Python 3 - raise ValueError("Timeout value %s was %s, but it must be an " - "int or float." % (name, value)) - - return value - - @classmethod - def from_float(cls, timeout): - """ Create a new Timeout from a legacy timeout value. - - The timeout value used by httplib.py sets the same timeout on the - connect(), and recv() socket requests. This creates a :class:`Timeout` - object that sets the individual timeouts to the ``timeout`` value - passed to this function. - - :param timeout: The legacy timeout value. - :type timeout: integer, float, sentinel default object, or None - :return: Timeout object - :rtype: :class:`Timeout` - """ - return Timeout(read=timeout, connect=timeout) - - def clone(self): - """ Create a copy of the timeout object - - Timeout properties are stored per-pool but each request needs a fresh - Timeout object to ensure each one has its own start/stop configured. - - :return: a copy of the timeout object - :rtype: :class:`Timeout` - """ - # We can't use copy.deepcopy because that will also create a new object - # for _GLOBAL_DEFAULT_TIMEOUT, which socket.py uses as a sentinel to - # detect the user default. - return Timeout(connect=self._connect, read=self._read, - total=self.total) - - def start_connect(self): - """ Start the timeout clock, used during a connect() attempt - - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to start a timer that has been started already. - """ - if self._start_connect is not None: - raise TimeoutStateError("Timeout timer has already been started.") - self._start_connect = current_time() - return self._start_connect - - def get_connect_duration(self): - """ Gets the time elapsed since the call to :meth:`start_connect`. - - :return: Elapsed time. - :rtype: float - :raises urllib3.exceptions.TimeoutStateError: if you attempt - to get duration for a timer that hasn't been started. - """ - if self._start_connect is None: - raise TimeoutStateError("Can't get connect duration for timer " - "that has not started.") - return current_time() - self._start_connect - - @property - def connect_timeout(self): - """ Get the value to use when setting a connection timeout. - - This will be a positive float or integer, the value None - (never timeout), or the default system timeout. - - :return: Connect timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - """ - if self.total is None: - return self._connect - - if self._connect is None or self._connect is self.DEFAULT_TIMEOUT: - return self.total - - return min(self._connect, self.total) - - @property - def read_timeout(self): - """ Get the value for the read timeout. - - This assumes some time has elapsed in the connection timeout and - computes the read timeout appropriately. - - If self.total is set, the read timeout is dependent on the amount of - time taken by the connect timeout. If the connection time has not been - established, a :exc:`~urllib3.exceptions.TimeoutStateError` will be - raised. - - :return: Value to use for the read timeout. - :rtype: int, float, :attr:`Timeout.DEFAULT_TIMEOUT` or None - :raises urllib3.exceptions.TimeoutStateError: If :meth:`start_connect` - has not yet been called on this object. - """ - if (self.total is not None and - self.total is not self.DEFAULT_TIMEOUT and - self._read is not None and - self._read is not self.DEFAULT_TIMEOUT): - # In case the connect timeout has not yet been established. - if self._start_connect is None: - return self._read - return max(0, min(self.total - self.get_connect_duration(), - self._read)) - elif self.total is not None and self.total is not self.DEFAULT_TIMEOUT: - return max(0, self.total - self.get_connect_duration()) - else: - return self._read diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/url.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/url.py deleted file mode 100644 index e58050cd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/packages/urllib3/util/url.py +++ /dev/null @@ -1,214 +0,0 @@ -from collections import namedtuple - -from ..exceptions import LocationParseError - - -url_attrs = ['scheme', 'auth', 'host', 'port', 'path', 'query', 'fragment'] - - -class Url(namedtuple('Url', url_attrs)): - """ - Datastructure for representing an HTTP URL. Used as a return value for - :func:`parse_url`. - """ - slots = () - - def __new__(cls, scheme=None, auth=None, host=None, port=None, path=None, - query=None, fragment=None): - if path and not path.startswith('/'): - path = '/' + path - return super(Url, cls).__new__(cls, scheme, auth, host, port, path, - query, fragment) - - @property - def hostname(self): - """For backwards-compatibility with urlparse. We're nice like that.""" - return self.host - - @property - def request_uri(self): - """Absolute path including the query string.""" - uri = self.path or '/' - - if self.query is not None: - uri += '?' + self.query - - return uri - - @property - def netloc(self): - """Network location including host and port""" - if self.port: - return '%s:%d' % (self.host, self.port) - return self.host - - @property - def url(self): - """ - Convert self into a url - - This function should more or less round-trip with :func:`.parse_url`. The - returned url may not be exactly the same as the url inputted to - :func:`.parse_url`, but it should be equivalent by the RFC (e.g., urls - with a blank port will have : removed). - - Example: :: - - >>> U = parse_url('http://google.com/mail/') - >>> U.url - 'http://google.com/mail/' - >>> Url('http', 'username:password', 'host.com', 80, - ... '/path', 'query', 'fragment').url - 'http://username:password@host.com:80/path?query#fragment' - """ - scheme, auth, host, port, path, query, fragment = self - url = '' - - # We use "is not None" we want things to happen with empty strings (or 0 port) - if scheme is not None: - url += scheme + '://' - if auth is not None: - url += auth + '@' - if host is not None: - url += host - if port is not None: - url += ':' + str(port) - if path is not None: - url += path - if query is not None: - url += '?' + query - if fragment is not None: - url += '#' + fragment - - return url - - def __str__(self): - return self.url - -def split_first(s, delims): - """ - Given a string and an iterable of delimiters, split on the first found - delimiter. Return two split parts and the matched delimiter. - - If not found, then the first part is the full input string. - - Example:: - - >>> split_first('foo/bar?baz', '?/=') - ('foo', 'bar?baz', '/') - >>> split_first('foo/bar?baz', '123') - ('foo/bar?baz', '', None) - - Scales linearly with number of delims. Not ideal for large number of delims. - """ - min_idx = None - min_delim = None - for d in delims: - idx = s.find(d) - if idx < 0: - continue - - if min_idx is None or idx < min_idx: - min_idx = idx - min_delim = d - - if min_idx is None or min_idx < 0: - return s, '', None - - return s[:min_idx], s[min_idx+1:], min_delim - - -def parse_url(url): - """ - Given a url, return a parsed :class:`.Url` namedtuple. Best-effort is - performed to parse incomplete urls. Fields not provided will be None. - - Partly backwards-compatible with :mod:`urlparse`. - - Example:: - - >>> parse_url('http://google.com/mail/') - Url(scheme='http', host='google.com', port=None, path='/mail/', ...) - >>> parse_url('google.com:80') - Url(scheme=None, host='google.com', port=80, path=None, ...) - >>> parse_url('/foo?bar') - Url(scheme=None, host=None, port=None, path='/foo', query='bar', ...) - """ - - # While this code has overlap with stdlib's urlparse, it is much - # simplified for our needs and less annoying. - # Additionally, this implementations does silly things to be optimal - # on CPython. - - if not url: - # Empty - return Url() - - scheme = None - auth = None - host = None - port = None - path = None - fragment = None - query = None - - # Scheme - if '://' in url: - scheme, url = url.split('://', 1) - - # Find the earliest Authority Terminator - # (http://tools.ietf.org/html/rfc3986#section-3.2) - url, path_, delim = split_first(url, ['/', '?', '#']) - - if delim: - # Reassemble the path - path = delim + path_ - - # Auth - if '@' in url: - # Last '@' denotes end of auth part - auth, url = url.rsplit('@', 1) - - # IPv6 - if url and url[0] == '[': - host, url = url.split(']', 1) - host += ']' - - # Port - if ':' in url: - _host, port = url.split(':', 1) - - if not host: - host = _host - - if port: - # If given, ports must be integers. - if not port.isdigit(): - raise LocationParseError(url) - port = int(port) - else: - # Blank ports are cool, too. (rfc3986#section-3.2.3) - port = None - - elif not host and url: - host = url - - if not path: - return Url(scheme, auth, host, port, path, query, fragment) - - # Fragment - if '#' in path: - path, fragment = path.split('#', 1) - - # Query - if '?' in path: - path, query = path.split('?', 1) - - return Url(scheme, auth, host, port, path, query, fragment) - -def get_host(url): - """ - Deprecated. Use :func:`.parse_url` instead. - """ - p = parse_url(url) - return p.scheme or 'http', p.hostname, p.port diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/sessions.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/sessions.py deleted file mode 100644 index 820919ee..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/sessions.py +++ /dev/null @@ -1,677 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.session -~~~~~~~~~~~~~~~~ - -This module provides a Session object to manage and persist settings across -requests (cookies, auth, proxies). - -""" -import os -from collections import Mapping -from datetime import datetime - -from .auth import _basic_auth_str -from .compat import cookielib, OrderedDict, urljoin, urlparse -from .cookies import ( - cookiejar_from_dict, extract_cookies_to_jar, RequestsCookieJar, merge_cookies) -from .models import Request, PreparedRequest, DEFAULT_REDIRECT_LIMIT -from .hooks import default_hooks, dispatch_hook -from .utils import to_key_val_list, default_headers, to_native_string -from .exceptions import ( - TooManyRedirects, InvalidSchema, ChunkedEncodingError, ContentDecodingError) -from .packages.urllib3._collections import RecentlyUsedContainer -from .structures import CaseInsensitiveDict - -from .adapters import HTTPAdapter - -from .utils import ( - requote_uri, get_environ_proxies, get_netrc_auth, should_bypass_proxies, - get_auth_from_url -) - -from .status_codes import codes - -# formerly defined here, reexposed here for backward compatibility -from .models import REDIRECT_STATI - -REDIRECT_CACHE_SIZE = 1000 - - -def merge_setting(request_setting, session_setting, dict_class=OrderedDict): - """ - Determines appropriate setting for a given request, taking into account the - explicit setting on that request, and the setting in the session. If a - setting is a dictionary, they will be merged together using `dict_class` - """ - - if session_setting is None: - return request_setting - - if request_setting is None: - return session_setting - - # Bypass if not a dictionary (e.g. verify) - if not ( - isinstance(session_setting, Mapping) and - isinstance(request_setting, Mapping) - ): - return request_setting - - merged_setting = dict_class(to_key_val_list(session_setting)) - merged_setting.update(to_key_val_list(request_setting)) - - # Remove keys that are set to None. - for (k, v) in request_setting.items(): - if v is None: - del merged_setting[k] - - merged_setting = dict((k, v) for (k, v) in merged_setting.items() if v is not None) - - return merged_setting - - -def merge_hooks(request_hooks, session_hooks, dict_class=OrderedDict): - """ - Properly merges both requests and session hooks. - - This is necessary because when request_hooks == {'response': []}, the - merge breaks Session hooks entirely. - """ - if session_hooks is None or session_hooks.get('response') == []: - return request_hooks - - if request_hooks is None or request_hooks.get('response') == []: - return session_hooks - - return merge_setting(request_hooks, session_hooks, dict_class) - - -class SessionRedirectMixin(object): - def resolve_redirects(self, resp, req, stream=False, timeout=None, - verify=True, cert=None, proxies=None, **adapter_kwargs): - """Receives a Response. Returns a generator of Responses.""" - - i = 0 - hist = [] # keep track of history - - while resp.is_redirect: - prepared_request = req.copy() - - if i > 0: - # Update history and keep track of redirects. - hist.append(resp) - new_hist = list(hist) - resp.history = new_hist - - try: - resp.content # Consume socket so it can be released - except (ChunkedEncodingError, ContentDecodingError, RuntimeError): - resp.raw.read(decode_content=False) - - if i >= self.max_redirects: - raise TooManyRedirects('Exceeded %s redirects.' % self.max_redirects) - - # Release the connection back into the pool. - resp.close() - - url = resp.headers['location'] - method = req.method - - # Handle redirection without scheme (see: RFC 1808 Section 4) - if url.startswith('//'): - parsed_rurl = urlparse(resp.url) - url = '%s:%s' % (parsed_rurl.scheme, url) - - # The scheme should be lower case... - parsed = urlparse(url) - url = parsed.geturl() - - # Facilitate relative 'location' headers, as allowed by RFC 7231. - # (e.g. '/path/to/resource' instead of 'http://domain.tld/path/to/resource') - # Compliant with RFC3986, we percent encode the url. - if not parsed.netloc: - url = urljoin(resp.url, requote_uri(url)) - else: - url = requote_uri(url) - - prepared_request.url = to_native_string(url) - # Cache the url, unless it redirects to itself. - if resp.is_permanent_redirect and req.url != prepared_request.url: - self.redirect_cache[req.url] = prepared_request.url - - # http://tools.ietf.org/html/rfc7231#section-6.4.4 - if (resp.status_code == codes.see_other and - method != 'HEAD'): - method = 'GET' - - # Do what the browsers do, despite standards... - # First, turn 302s into GETs. - if resp.status_code == codes.found and method != 'HEAD': - method = 'GET' - - # Second, if a POST is responded to with a 301, turn it into a GET. - # This bizarre behaviour is explained in Issue 1704. - if resp.status_code == codes.moved and method == 'POST': - method = 'GET' - - prepared_request.method = method - - # https://github.com/kennethreitz/requests/issues/1084 - if resp.status_code not in (codes.temporary_redirect, codes.permanent_redirect): - if 'Content-Length' in prepared_request.headers: - del prepared_request.headers['Content-Length'] - - prepared_request.body = None - - headers = prepared_request.headers - try: - del headers['Cookie'] - except KeyError: - pass - - # Extract any cookies sent on the response to the cookiejar - # in the new request. Because we've mutated our copied prepared - # request, use the old one that we haven't yet touched. - extract_cookies_to_jar(prepared_request._cookies, req, resp.raw) - prepared_request._cookies.update(self.cookies) - prepared_request.prepare_cookies(prepared_request._cookies) - - # Rebuild auth and proxy information. - proxies = self.rebuild_proxies(prepared_request, proxies) - self.rebuild_auth(prepared_request, resp) - - # Override the original request. - req = prepared_request - - resp = self.send( - req, - stream=stream, - timeout=timeout, - verify=verify, - cert=cert, - proxies=proxies, - allow_redirects=False, - **adapter_kwargs - ) - - extract_cookies_to_jar(self.cookies, prepared_request, resp.raw) - - i += 1 - yield resp - - def rebuild_auth(self, prepared_request, response): - """ - When being redirected we may want to strip authentication from the - request to avoid leaking credentials. This method intelligently removes - and reapplies authentication where possible to avoid credential loss. - """ - headers = prepared_request.headers - url = prepared_request.url - - if 'Authorization' in headers: - # If we get redirected to a new host, we should strip out any - # authentication headers. - original_parsed = urlparse(response.request.url) - redirect_parsed = urlparse(url) - - if (original_parsed.hostname != redirect_parsed.hostname): - del headers['Authorization'] - - # .netrc might have more auth for us on our new host. - new_auth = get_netrc_auth(url) if self.trust_env else None - if new_auth is not None: - prepared_request.prepare_auth(new_auth) - - return - - def rebuild_proxies(self, prepared_request, proxies): - """ - This method re-evaluates the proxy configuration by considering the - environment variables. If we are redirected to a URL covered by - NO_PROXY, we strip the proxy configuration. Otherwise, we set missing - proxy keys for this URL (in case they were stripped by a previous - redirect). - - This method also replaces the Proxy-Authorization header where - necessary. - """ - headers = prepared_request.headers - url = prepared_request.url - scheme = urlparse(url).scheme - new_proxies = proxies.copy() if proxies is not None else {} - - if self.trust_env and not should_bypass_proxies(url): - environ_proxies = get_environ_proxies(url) - - proxy = environ_proxies.get(scheme) - - if proxy: - new_proxies.setdefault(scheme, environ_proxies[scheme]) - - if 'Proxy-Authorization' in headers: - del headers['Proxy-Authorization'] - - try: - username, password = get_auth_from_url(new_proxies[scheme]) - except KeyError: - username, password = None, None - - if username and password: - headers['Proxy-Authorization'] = _basic_auth_str(username, password) - - return new_proxies - - -class Session(SessionRedirectMixin): - """A Requests session. - - Provides cookie persistence, connection-pooling, and configuration. - - Basic Usage:: - - >>> import requests - >>> s = requests.Session() - >>> s.get('http://httpbin.org/get') - 200 - """ - - __attrs__ = [ - 'headers', 'cookies', 'auth', 'proxies', 'hooks', 'params', 'verify', - 'cert', 'prefetch', 'adapters', 'stream', 'trust_env', - 'max_redirects', - ] - - def __init__(self): - - #: A case-insensitive dictionary of headers to be sent on each - #: :class:`Request ` sent from this - #: :class:`Session `. - self.headers = default_headers() - - #: Default Authentication tuple or object to attach to - #: :class:`Request `. - self.auth = None - - #: Dictionary mapping protocol to the URL of the proxy (e.g. - #: {'http': 'foo.bar:3128'}) to be used on each - #: :class:`Request `. - self.proxies = {} - - #: Event-handling hooks. - self.hooks = default_hooks() - - #: Dictionary of querystring data to attach to each - #: :class:`Request `. The dictionary values may be lists for - #: representing multivalued query parameters. - self.params = {} - - #: Stream response content default. - self.stream = False - - #: SSL Verification default. - self.verify = True - - #: SSL certificate default. - self.cert = None - - #: Maximum number of redirects allowed. If the request exceeds this - #: limit, a :class:`TooManyRedirects` exception is raised. - self.max_redirects = DEFAULT_REDIRECT_LIMIT - - #: Should we trust the environment? - self.trust_env = True - - #: A CookieJar containing all currently outstanding cookies set on this - #: session. By default it is a - #: :class:`RequestsCookieJar `, but - #: may be any other ``cookielib.CookieJar`` compatible object. - self.cookies = cookiejar_from_dict({}) - - # Default connection adapters. - self.adapters = OrderedDict() - self.mount('https://', HTTPAdapter()) - self.mount('http://', HTTPAdapter()) - - # Only store 1000 redirects to prevent using infinite memory - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - - def __enter__(self): - return self - - def __exit__(self, *args): - self.close() - - def prepare_request(self, request): - """Constructs a :class:`PreparedRequest ` for - transmission and returns it. The :class:`PreparedRequest` has settings - merged from the :class:`Request ` instance and those of the - :class:`Session`. - - :param request: :class:`Request` instance to prepare with this - session's settings. - """ - cookies = request.cookies or {} - - # Bootstrap CookieJar. - if not isinstance(cookies, cookielib.CookieJar): - cookies = cookiejar_from_dict(cookies) - - # Merge with session cookies - merged_cookies = merge_cookies( - merge_cookies(RequestsCookieJar(), self.cookies), cookies) - - - # Set environment's basic authentication if not explicitly set. - auth = request.auth - if self.trust_env and not auth and not self.auth: - auth = get_netrc_auth(request.url) - - p = PreparedRequest() - p.prepare( - method=request.method.upper(), - url=request.url, - files=request.files, - data=request.data, - json=request.json, - headers=merge_setting(request.headers, self.headers, dict_class=CaseInsensitiveDict), - params=merge_setting(request.params, self.params), - auth=merge_setting(auth, self.auth), - cookies=merged_cookies, - hooks=merge_hooks(request.hooks, self.hooks), - ) - return p - - def request(self, method, url, - params=None, - data=None, - headers=None, - cookies=None, - files=None, - auth=None, - timeout=None, - allow_redirects=True, - proxies=None, - hooks=None, - stream=None, - verify=None, - cert=None, - json=None): - """Constructs a :class:`Request `, prepares it and sends it. - Returns :class:`Response ` object. - - :param method: method for the new :class:`Request` object. - :param url: URL for the new :class:`Request` object. - :param params: (optional) Dictionary or bytes to be sent in the query - string for the :class:`Request`. - :param data: (optional) Dictionary or bytes to send in the body of the - :class:`Request`. - :param json: (optional) json to send in the body of the - :class:`Request`. - :param headers: (optional) Dictionary of HTTP Headers to send with the - :class:`Request`. - :param cookies: (optional) Dict or CookieJar object to send with the - :class:`Request`. - :param files: (optional) Dictionary of ``'filename': file-like-objects`` - for multipart encoding upload. - :param auth: (optional) Auth tuple or callable to enable - Basic/Digest/Custom HTTP Auth. - :param timeout: (optional) How long to wait for the server to send - data before giving up, as a float, or a (`connect timeout, read - timeout `_) tuple. - :type timeout: float or tuple - :param allow_redirects: (optional) Set to True by default. - :type allow_redirects: bool - :param proxies: (optional) Dictionary mapping protocol to the URL of - the proxy. - :param stream: (optional) whether to immediately download the response - content. Defaults to ``False``. - :param verify: (optional) if ``True``, the SSL cert will be verified. - A CA_BUNDLE path can also be provided. - :param cert: (optional) if String, path to ssl client cert file (.pem). - If Tuple, ('cert', 'key') pair. - """ - - method = to_native_string(method) - - # Create the Request. - req = Request( - method = method.upper(), - url = url, - headers = headers, - files = files, - data = data or {}, - json = json, - params = params or {}, - auth = auth, - cookies = cookies, - hooks = hooks, - ) - prep = self.prepare_request(req) - - proxies = proxies or {} - - settings = self.merge_environment_settings( - prep.url, proxies, stream, verify, cert - ) - - # Send the request. - send_kwargs = { - 'timeout': timeout, - 'allow_redirects': allow_redirects, - } - send_kwargs.update(settings) - resp = self.send(prep, **send_kwargs) - - return resp - - def get(self, url, **kwargs): - """Sends a GET request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('GET', url, **kwargs) - - def options(self, url, **kwargs): - """Sends a OPTIONS request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', True) - return self.request('OPTIONS', url, **kwargs) - - def head(self, url, **kwargs): - """Sends a HEAD request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - kwargs.setdefault('allow_redirects', False) - return self.request('HEAD', url, **kwargs) - - def post(self, url, data=None, json=None, **kwargs): - """Sends a POST request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param json: (optional) json to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('POST', url, data=data, json=json, **kwargs) - - def put(self, url, data=None, **kwargs): - """Sends a PUT request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('PUT', url, data=data, **kwargs) - - def patch(self, url, data=None, **kwargs): - """Sends a PATCH request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param data: (optional) Dictionary, bytes, or file-like object to send in the body of the :class:`Request`. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('PATCH', url, data=data, **kwargs) - - def delete(self, url, **kwargs): - """Sends a DELETE request. Returns :class:`Response` object. - - :param url: URL for the new :class:`Request` object. - :param \*\*kwargs: Optional arguments that ``request`` takes. - """ - - return self.request('DELETE', url, **kwargs) - - def send(self, request, **kwargs): - """Send a given PreparedRequest.""" - # Set defaults that the hooks can utilize to ensure they always have - # the correct parameters to reproduce the previous request. - kwargs.setdefault('stream', self.stream) - kwargs.setdefault('verify', self.verify) - kwargs.setdefault('cert', self.cert) - kwargs.setdefault('proxies', self.proxies) - - # It's possible that users might accidentally send a Request object. - # Guard against that specific failure case. - if not isinstance(request, PreparedRequest): - raise ValueError('You can only send PreparedRequests.') - - checked_urls = set() - while request.url in self.redirect_cache: - checked_urls.add(request.url) - new_url = self.redirect_cache.get(request.url) - if new_url in checked_urls: - break - request.url = new_url - - # Set up variables needed for resolve_redirects and dispatching of hooks - allow_redirects = kwargs.pop('allow_redirects', True) - stream = kwargs.get('stream') - hooks = request.hooks - - # Get the appropriate adapter to use - adapter = self.get_adapter(url=request.url) - - # Start time (approximately) of the request - start = datetime.utcnow() - - # Send the request - r = adapter.send(request, **kwargs) - - # Total elapsed time of the request (approximately) - r.elapsed = datetime.utcnow() - start - - # Response manipulation hooks - r = dispatch_hook('response', hooks, r, **kwargs) - - # Persist cookies - if r.history: - - # If the hooks create history then we want those cookies too - for resp in r.history: - extract_cookies_to_jar(self.cookies, resp.request, resp.raw) - - extract_cookies_to_jar(self.cookies, request, r.raw) - - # Redirect resolving generator. - gen = self.resolve_redirects(r, request, **kwargs) - - # Resolve redirects if allowed. - history = [resp for resp in gen] if allow_redirects else [] - - # Shuffle things around if there's history. - if history: - # Insert the first (original) request at the start - history.insert(0, r) - # Get the last request made - r = history.pop() - r.history = history - - if not stream: - r.content - - return r - - def merge_environment_settings(self, url, proxies, stream, verify, cert): - """Check the environment and merge it with some settings.""" - # Gather clues from the surrounding environment. - if self.trust_env: - # Set environment's proxies. - env_proxies = get_environ_proxies(url) or {} - for (k, v) in env_proxies.items(): - proxies.setdefault(k, v) - - # Look for requests environment configuration and be compatible - # with cURL. - if verify is True or verify is None: - verify = (os.environ.get('REQUESTS_CA_BUNDLE') or - os.environ.get('CURL_CA_BUNDLE')) - - # Merge all the kwargs. - proxies = merge_setting(proxies, self.proxies) - stream = merge_setting(stream, self.stream) - verify = merge_setting(verify, self.verify) - cert = merge_setting(cert, self.cert) - - return {'verify': verify, 'proxies': proxies, 'stream': stream, - 'cert': cert} - - def get_adapter(self, url): - """Returns the appropriate connnection adapter for the given URL.""" - for (prefix, adapter) in self.adapters.items(): - - if url.lower().startswith(prefix): - return adapter - - # Nothing matches :-/ - raise InvalidSchema("No connection adapters were found for '%s'" % url) - - def close(self): - """Closes all adapters and as such the session""" - for v in self.adapters.values(): - v.close() - - def mount(self, prefix, adapter): - """Registers a connection adapter to a prefix. - - Adapters are sorted in descending order by key length.""" - - self.adapters[prefix] = adapter - keys_to_move = [k for k in self.adapters if len(k) < len(prefix)] - - for key in keys_to_move: - self.adapters[key] = self.adapters.pop(key) - - def __getstate__(self): - state = dict((attr, getattr(self, attr, None)) for attr in self.__attrs__) - state['redirect_cache'] = dict(self.redirect_cache) - return state - - def __setstate__(self, state): - redirect_cache = state.pop('redirect_cache', {}) - for attr, value in state.items(): - setattr(self, attr, value) - - self.redirect_cache = RecentlyUsedContainer(REDIRECT_CACHE_SIZE) - for redirect, to in redirect_cache.items(): - self.redirect_cache[redirect] = to - - -def session(): - """Returns a :class:`Session` for context-management.""" - - return Session() diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/status_codes.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/status_codes.py deleted file mode 100644 index e0887f21..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/status_codes.py +++ /dev/null @@ -1,89 +0,0 @@ -# -*- coding: utf-8 -*- - -from .structures import LookupDict - -_codes = { - - # Informational. - 100: ('continue',), - 101: ('switching_protocols',), - 102: ('processing',), - 103: ('checkpoint',), - 122: ('uri_too_long', 'request_uri_too_long'), - 200: ('ok', 'okay', 'all_ok', 'all_okay', 'all_good', '\\o/', '✓'), - 201: ('created',), - 202: ('accepted',), - 203: ('non_authoritative_info', 'non_authoritative_information'), - 204: ('no_content',), - 205: ('reset_content', 'reset'), - 206: ('partial_content', 'partial'), - 207: ('multi_status', 'multiple_status', 'multi_stati', 'multiple_stati'), - 208: ('already_reported',), - 226: ('im_used',), - - # Redirection. - 300: ('multiple_choices',), - 301: ('moved_permanently', 'moved', '\\o-'), - 302: ('found',), - 303: ('see_other', 'other'), - 304: ('not_modified',), - 305: ('use_proxy',), - 306: ('switch_proxy',), - 307: ('temporary_redirect', 'temporary_moved', 'temporary'), - 308: ('permanent_redirect', - 'resume_incomplete', 'resume',), # These 2 to be removed in 3.0 - - # Client Error. - 400: ('bad_request', 'bad'), - 401: ('unauthorized',), - 402: ('payment_required', 'payment'), - 403: ('forbidden',), - 404: ('not_found', '-o-'), - 405: ('method_not_allowed', 'not_allowed'), - 406: ('not_acceptable',), - 407: ('proxy_authentication_required', 'proxy_auth', 'proxy_authentication'), - 408: ('request_timeout', 'timeout'), - 409: ('conflict',), - 410: ('gone',), - 411: ('length_required',), - 412: ('precondition_failed', 'precondition'), - 413: ('request_entity_too_large',), - 414: ('request_uri_too_large',), - 415: ('unsupported_media_type', 'unsupported_media', 'media_type'), - 416: ('requested_range_not_satisfiable', 'requested_range', 'range_not_satisfiable'), - 417: ('expectation_failed',), - 418: ('im_a_teapot', 'teapot', 'i_am_a_teapot'), - 422: ('unprocessable_entity', 'unprocessable'), - 423: ('locked',), - 424: ('failed_dependency', 'dependency'), - 425: ('unordered_collection', 'unordered'), - 426: ('upgrade_required', 'upgrade'), - 428: ('precondition_required', 'precondition'), - 429: ('too_many_requests', 'too_many'), - 431: ('header_fields_too_large', 'fields_too_large'), - 444: ('no_response', 'none'), - 449: ('retry_with', 'retry'), - 450: ('blocked_by_windows_parental_controls', 'parental_controls'), - 451: ('unavailable_for_legal_reasons', 'legal_reasons'), - 499: ('client_closed_request',), - - # Server Error. - 500: ('internal_server_error', 'server_error', '/o\\', '✗'), - 501: ('not_implemented',), - 502: ('bad_gateway',), - 503: ('service_unavailable', 'unavailable'), - 504: ('gateway_timeout',), - 505: ('http_version_not_supported', 'http_version'), - 506: ('variant_also_negotiates',), - 507: ('insufficient_storage',), - 509: ('bandwidth_limit_exceeded', 'bandwidth'), - 510: ('not_extended',), -} - -codes = LookupDict(name='status_codes') - -for (code, titles) in list(_codes.items()): - for title in titles: - setattr(codes, title, code) - if not title.startswith('\\'): - setattr(codes, title.upper(), code) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/structures.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/structures.py deleted file mode 100644 index 3e5f2faa..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/structures.py +++ /dev/null @@ -1,104 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.structures -~~~~~~~~~~~~~~~~~~~ - -Data structures that power Requests. - -""" - -import collections - - -class CaseInsensitiveDict(collections.MutableMapping): - """ - A case-insensitive ``dict``-like object. - - Implements all methods and operations of - ``collections.MutableMapping`` as well as dict's ``copy``. Also - provides ``lower_items``. - - All keys are expected to be strings. The structure remembers the - case of the last key to be set, and ``iter(instance)``, - ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()`` - will contain case-sensitive keys. However, querying and contains - testing is case insensitive:: - - cid = CaseInsensitiveDict() - cid['Accept'] = 'application/json' - cid['aCCEPT'] == 'application/json' # True - list(cid) == ['Accept'] # True - - For example, ``headers['content-encoding']`` will return the - value of a ``'Content-Encoding'`` response header, regardless - of how the header name was originally stored. - - If the constructor, ``.update``, or equality comparison - operations are given keys that have equal ``.lower()``s, the - behavior is undefined. - - """ - def __init__(self, data=None, **kwargs): - self._store = dict() - if data is None: - data = {} - self.update(data, **kwargs) - - def __setitem__(self, key, value): - # Use the lowercased key for lookups, but store the actual - # key alongside the value. - self._store[key.lower()] = (key, value) - - def __getitem__(self, key): - return self._store[key.lower()][1] - - def __delitem__(self, key): - del self._store[key.lower()] - - def __iter__(self): - return (casedkey for casedkey, mappedvalue in self._store.values()) - - def __len__(self): - return len(self._store) - - def lower_items(self): - """Like iteritems(), but with all lowercase keys.""" - return ( - (lowerkey, keyval[1]) - for (lowerkey, keyval) - in self._store.items() - ) - - def __eq__(self, other): - if isinstance(other, collections.Mapping): - other = CaseInsensitiveDict(other) - else: - return NotImplemented - # Compare insensitively - return dict(self.lower_items()) == dict(other.lower_items()) - - # Copy is required - def copy(self): - return CaseInsensitiveDict(self._store.values()) - - def __repr__(self): - return str(dict(self.items())) - -class LookupDict(dict): - """Dictionary lookup object.""" - - def __init__(self, name=None): - self.name = name - super(LookupDict, self).__init__() - - def __repr__(self): - return '' % (self.name) - - def __getitem__(self, key): - # We allow fall-through here, so values default to None - - return self.__dict__.get(key, None) - - def get(self, key, default=None): - return self.__dict__.get(key, default) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/utils.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/utils.py deleted file mode 100644 index 8fba62dd..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/requests/utils.py +++ /dev/null @@ -1,707 +0,0 @@ -# -*- coding: utf-8 -*- - -""" -requests.utils -~~~~~~~~~~~~~~ - -This module provides utility functions that are used within Requests -that are also useful for external consumption. - -""" - -import cgi -import codecs -import collections -import io -import os -import platform -import re -import sys -import socket -import struct -import warnings - -from . import __version__ -from . import certs -from .compat import parse_http_list as _parse_list_header -from .compat import (quote, urlparse, bytes, str, OrderedDict, unquote, is_py2, - builtin_str, getproxies, proxy_bypass, urlunparse, - basestring) -from .cookies import RequestsCookieJar, cookiejar_from_dict -from .structures import CaseInsensitiveDict -from .exceptions import InvalidURL - -_hush_pyflakes = (RequestsCookieJar,) - -NETRC_FILES = ('.netrc', '_netrc') - -DEFAULT_CA_BUNDLE_PATH = certs.where() - - -def dict_to_sequence(d): - """Returns an internal sequence dictionary update.""" - - if hasattr(d, 'items'): - d = d.items() - - return d - - -def super_len(o): - if hasattr(o, '__len__'): - return len(o) - - if hasattr(o, 'len'): - return o.len - - if hasattr(o, 'fileno'): - try: - fileno = o.fileno() - except io.UnsupportedOperation: - pass - else: - return os.fstat(fileno).st_size - - if hasattr(o, 'getvalue'): - # e.g. BytesIO, cStringIO.StringIO - return len(o.getvalue()) - - -def get_netrc_auth(url): - """Returns the Requests tuple auth for a given url from netrc.""" - - try: - from netrc import netrc, NetrcParseError - - netrc_path = None - - for f in NETRC_FILES: - try: - loc = os.path.expanduser('~/{0}'.format(f)) - except KeyError: - # os.path.expanduser can fail when $HOME is undefined and - # getpwuid fails. See http://bugs.python.org/issue20164 & - # https://github.com/kennethreitz/requests/issues/1846 - return - - if os.path.exists(loc): - netrc_path = loc - break - - # Abort early if there isn't one. - if netrc_path is None: - return - - ri = urlparse(url) - - # Strip port numbers from netloc - host = ri.netloc.split(':')[0] - - try: - _netrc = netrc(netrc_path).authenticators(host) - if _netrc: - # Return with login / password - login_i = (0 if _netrc[0] else 1) - return (_netrc[login_i], _netrc[2]) - except (NetrcParseError, IOError): - # If there was a parsing error or a permissions issue reading the file, - # we'll just skip netrc auth - pass - - # AppEngine hackiness. - except (ImportError, AttributeError): - pass - - -def guess_filename(obj): - """Tries to guess the filename of the given object.""" - name = getattr(obj, 'name', None) - if (name and isinstance(name, basestring) and name[0] != '<' and - name[-1] != '>'): - return os.path.basename(name) - - -def from_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. Unless it can not be represented as such, return an - OrderedDict, e.g., - - :: - - >>> from_key_val_list([('key', 'val')]) - OrderedDict([('key', 'val')]) - >>> from_key_val_list('string') - ValueError: need more than 1 value to unpack - >>> from_key_val_list({'key': 'val'}) - OrderedDict([('key', 'val')]) - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - return OrderedDict(value) - - -def to_key_val_list(value): - """Take an object and test to see if it can be represented as a - dictionary. If it can be, return a list of tuples, e.g., - - :: - - >>> to_key_val_list([('key', 'val')]) - [('key', 'val')] - >>> to_key_val_list({'key': 'val'}) - [('key', 'val')] - >>> to_key_val_list('string') - ValueError: cannot encode objects that are not 2-tuples. - """ - if value is None: - return None - - if isinstance(value, (str, bytes, bool, int)): - raise ValueError('cannot encode objects that are not 2-tuples') - - if isinstance(value, collections.Mapping): - value = value.items() - - return list(value) - - -# From mitsuhiko/werkzeug (used with permission). -def parse_list_header(value): - """Parse lists as described by RFC 2068 Section 2. - - In particular, parse comma-separated lists where the elements of - the list may include quoted-strings. A quoted-string could - contain a comma. A non-quoted string could have quotes in the - middle. Quotes are removed automatically after parsing. - - It basically works like :func:`parse_set_header` just that items - may appear multiple times and case sensitivity is preserved. - - The return value is a standard :class:`list`: - - >>> parse_list_header('token, "quoted value"') - ['token', 'quoted value'] - - To create a header from the :class:`list` again, use the - :func:`dump_header` function. - - :param value: a string with a list header. - :return: :class:`list` - """ - result = [] - for item in _parse_list_header(value): - if item[:1] == item[-1:] == '"': - item = unquote_header_value(item[1:-1]) - result.append(item) - return result - - -# From mitsuhiko/werkzeug (used with permission). -def parse_dict_header(value): - """Parse lists of key, value pairs as described by RFC 2068 Section 2 and - convert them into a python dict: - - >>> d = parse_dict_header('foo="is a fish", bar="as well"') - >>> type(d) is dict - True - >>> sorted(d.items()) - [('bar', 'as well'), ('foo', 'is a fish')] - - If there is no value for a key it will be `None`: - - >>> parse_dict_header('key_without_value') - {'key_without_value': None} - - To create a header from the :class:`dict` again, use the - :func:`dump_header` function. - - :param value: a string with a dict header. - :return: :class:`dict` - """ - result = {} - for item in _parse_list_header(value): - if '=' not in item: - result[item] = None - continue - name, value = item.split('=', 1) - if value[:1] == value[-1:] == '"': - value = unquote_header_value(value[1:-1]) - result[name] = value - return result - - -# From mitsuhiko/werkzeug (used with permission). -def unquote_header_value(value, is_filename=False): - r"""Unquotes a header value. (Reversal of :func:`quote_header_value`). - This does not use the real unquoting but what browsers are actually - using for quoting. - - :param value: the header value to unquote. - """ - if value and value[0] == value[-1] == '"': - # this is not the real unquoting, but fixing this so that the - # RFC is met will result in bugs with internet explorer and - # probably some other browsers as well. IE for example is - # uploading files with "C:\foo\bar.txt" as filename - value = value[1:-1] - - # if this is a filename and the starting characters look like - # a UNC path, then just return the value without quotes. Using the - # replace sequence below on a UNC path has the effect of turning - # the leading double slash into a single slash and then - # _fix_ie_filename() doesn't work correctly. See #458. - if not is_filename or value[:2] != '\\\\': - return value.replace('\\\\', '\\').replace('\\"', '"') - return value - - -def dict_from_cookiejar(cj): - """Returns a key/value dictionary from a CookieJar. - - :param cj: CookieJar object to extract cookies from. - """ - - cookie_dict = {} - - for cookie in cj: - cookie_dict[cookie.name] = cookie.value - - return cookie_dict - - -def add_dict_to_cookiejar(cj, cookie_dict): - """Returns a CookieJar from a key/value dictionary. - - :param cj: CookieJar to insert cookies into. - :param cookie_dict: Dict of key/values to insert into CookieJar. - """ - - cj2 = cookiejar_from_dict(cookie_dict) - cj.update(cj2) - return cj - - -def get_encodings_from_content(content): - """Returns encodings from given content string. - - :param content: bytestring to extract encodings from. - """ - warnings.warn(( - 'In requests 3.0, get_encodings_from_content will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - charset_re = re.compile(r']', flags=re.I) - pragma_re = re.compile(r']', flags=re.I) - xml_re = re.compile(r'^<\?xml.*?encoding=["\']*(.+?)["\'>]') - - return (charset_re.findall(content) + - pragma_re.findall(content) + - xml_re.findall(content)) - - -def get_encoding_from_headers(headers): - """Returns encodings from given HTTP Header Dict. - - :param headers: dictionary to extract encoding from. - """ - - content_type = headers.get('content-type') - - if not content_type: - return None - - content_type, params = cgi.parse_header(content_type) - - if 'charset' in params: - return params['charset'].strip("'\"") - - if 'text' in content_type: - return 'ISO-8859-1' - - -def stream_decode_response_unicode(iterator, r): - """Stream decodes a iterator.""" - - if r.encoding is None: - for item in iterator: - yield item - return - - decoder = codecs.getincrementaldecoder(r.encoding)(errors='replace') - for chunk in iterator: - rv = decoder.decode(chunk) - if rv: - yield rv - rv = decoder.decode(b'', final=True) - if rv: - yield rv - - -def iter_slices(string, slice_length): - """Iterate over slices of a string.""" - pos = 0 - while pos < len(string): - yield string[pos:pos + slice_length] - pos += slice_length - - -def get_unicode_from_response(r): - """Returns the requested content back in unicode. - - :param r: Response object to get unicode content from. - - Tried: - - 1. charset from content-type - 2. fall back and replace all unicode characters - - """ - warnings.warn(( - 'In requests 3.0, get_unicode_from_response will be removed. For ' - 'more information, please see the discussion on issue #2266. (This' - ' warning should only appear once.)'), - DeprecationWarning) - - tried_encodings = [] - - # Try charset from content-type - encoding = get_encoding_from_headers(r.headers) - - if encoding: - try: - return str(r.content, encoding) - except UnicodeError: - tried_encodings.append(encoding) - - # Fall back: - try: - return str(r.content, encoding, errors='replace') - except TypeError: - return r.content - - -# The unreserved URI characters (RFC 3986) -UNRESERVED_SET = frozenset( - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - + "0123456789-._~") - - -def unquote_unreserved(uri): - """Un-escape any percent-escape sequences in a URI that are unreserved - characters. This leaves all reserved, illegal and non-ASCII bytes encoded. - """ - parts = uri.split('%') - for i in range(1, len(parts)): - h = parts[i][0:2] - if len(h) == 2 and h.isalnum(): - try: - c = chr(int(h, 16)) - except ValueError: - raise InvalidURL("Invalid percent-escape sequence: '%s'" % h) - - if c in UNRESERVED_SET: - parts[i] = c + parts[i][2:] - else: - parts[i] = '%' + parts[i] - else: - parts[i] = '%' + parts[i] - return ''.join(parts) - - -def requote_uri(uri): - """Re-quote the given URI. - - This function passes the given URI through an unquote/quote cycle to - ensure that it is fully and consistently quoted. - """ - safe_with_percent = "!#$%&'()*+,/:;=?@[]~" - safe_without_percent = "!#$&'()*+,/:;=?@[]~" - try: - # Unquote only the unreserved characters - # Then quote only illegal characters (do not quote reserved, - # unreserved, or '%') - return quote(unquote_unreserved(uri), safe=safe_with_percent) - except InvalidURL: - # We couldn't unquote the given URI, so let's try quoting it, but - # there may be unquoted '%'s in the URI. We need to make sure they're - # properly quoted so they do not cause issues elsewhere. - return quote(uri, safe=safe_without_percent) - - -def address_in_network(ip, net): - """ - This function allows you to check if on IP belongs to a network subnet - Example: returns True if ip = 192.168.1.1 and net = 192.168.1.0/24 - returns False if ip = 192.168.1.1 and net = 192.168.100.0/24 - """ - ipaddr = struct.unpack('=L', socket.inet_aton(ip))[0] - netaddr, bits = net.split('/') - netmask = struct.unpack('=L', socket.inet_aton(dotted_netmask(int(bits))))[0] - network = struct.unpack('=L', socket.inet_aton(netaddr))[0] & netmask - return (ipaddr & netmask) == (network & netmask) - - -def dotted_netmask(mask): - """ - Converts mask from /xx format to xxx.xxx.xxx.xxx - Example: if mask is 24 function returns 255.255.255.0 - """ - bits = 0xffffffff ^ (1 << 32 - mask) - 1 - return socket.inet_ntoa(struct.pack('>I', bits)) - - -def is_ipv4_address(string_ip): - try: - socket.inet_aton(string_ip) - except socket.error: - return False - return True - - -def is_valid_cidr(string_network): - """Very simple check of the cidr format in no_proxy variable""" - if string_network.count('/') == 1: - try: - mask = int(string_network.split('/')[1]) - except ValueError: - return False - - if mask < 1 or mask > 32: - return False - - try: - socket.inet_aton(string_network.split('/')[0]) - except socket.error: - return False - else: - return False - return True - - -def should_bypass_proxies(url): - """ - Returns whether we should bypass proxies or not. - """ - get_proxy = lambda k: os.environ.get(k) or os.environ.get(k.upper()) - - # First check whether no_proxy is defined. If it is, check that the URL - # we're getting isn't in the no_proxy list. - no_proxy = get_proxy('no_proxy') - netloc = urlparse(url).netloc - - if no_proxy: - # We need to check whether we match here. We need to see if we match - # the end of the netloc, both with and without the port. - no_proxy = no_proxy.replace(' ', '').split(',') - - ip = netloc.split(':')[0] - if is_ipv4_address(ip): - for proxy_ip in no_proxy: - if is_valid_cidr(proxy_ip): - if address_in_network(ip, proxy_ip): - return True - else: - for host in no_proxy: - if netloc.endswith(host) or netloc.split(':')[0].endswith(host): - # The URL does match something in no_proxy, so we don't want - # to apply the proxies on this URL. - return True - - # If the system proxy settings indicate that this URL should be bypassed, - # don't proxy. - # The proxy_bypass function is incredibly buggy on OS X in early versions - # of Python 2.6, so allow this call to fail. Only catch the specific - # exceptions we've seen, though: this call failing in other ways can reveal - # legitimate problems. - try: - bypass = proxy_bypass(netloc) - except (TypeError, socket.gaierror): - bypass = False - - if bypass: - return True - - return False - -def get_environ_proxies(url): - """Return a dict of environment proxies.""" - if should_bypass_proxies(url): - return {} - else: - return getproxies() - - -def default_user_agent(name="python-requests"): - """Return a string representing the default user agent.""" - _implementation = platform.python_implementation() - - if _implementation == 'CPython': - _implementation_version = platform.python_version() - elif _implementation == 'PyPy': - _implementation_version = '%s.%s.%s' % (sys.pypy_version_info.major, - sys.pypy_version_info.minor, - sys.pypy_version_info.micro) - if sys.pypy_version_info.releaselevel != 'final': - _implementation_version = ''.join([_implementation_version, sys.pypy_version_info.releaselevel]) - elif _implementation == 'Jython': - _implementation_version = platform.python_version() # Complete Guess - elif _implementation == 'IronPython': - _implementation_version = platform.python_version() # Complete Guess - else: - _implementation_version = 'Unknown' - - try: - p_system = platform.system() - p_release = platform.release() - except IOError: - p_system = 'Unknown' - p_release = 'Unknown' - - return " ".join(['%s/%s' % (name, __version__), - '%s/%s' % (_implementation, _implementation_version), - '%s/%s' % (p_system, p_release)]) - - -def default_headers(): - return CaseInsensitiveDict({ - 'User-Agent': default_user_agent(), - 'Accept-Encoding': ', '.join(('gzip', 'deflate')), - 'Accept': '*/*', - 'Connection': 'keep-alive', - }) - - -def parse_header_links(value): - """Return a dict of parsed link headers proxies. - - i.e. Link: ; rel=front; type="image/jpeg",; rel=back;type="image/jpeg" - - """ - - links = [] - - replace_chars = " '\"" - - for val in re.split(", *<", value): - try: - url, params = val.split(";", 1) - except ValueError: - url, params = val, '' - - link = {} - - link["url"] = url.strip("<> '\"") - - for param in params.split(";"): - try: - key, value = param.split("=") - except ValueError: - break - - link[key.strip(replace_chars)] = value.strip(replace_chars) - - links.append(link) - - return links - - -# Null bytes; no need to recreate these on each call to guess_json_utf -_null = '\x00'.encode('ascii') # encoding to ASCII for Python 3 -_null2 = _null * 2 -_null3 = _null * 3 - - -def guess_json_utf(data): - # JSON always starts with two ASCII characters, so detection is as - # easy as counting the nulls and from their location and count - # determine the encoding. Also detect a BOM, if present. - sample = data[:4] - if sample in (codecs.BOM_UTF32_LE, codecs.BOM32_BE): - return 'utf-32' # BOM included - if sample[:3] == codecs.BOM_UTF8: - return 'utf-8-sig' # BOM included, MS style (discouraged) - if sample[:2] in (codecs.BOM_UTF16_LE, codecs.BOM_UTF16_BE): - return 'utf-16' # BOM included - nullcount = sample.count(_null) - if nullcount == 0: - return 'utf-8' - if nullcount == 2: - if sample[::2] == _null2: # 1st and 3rd are null - return 'utf-16-be' - if sample[1::2] == _null2: # 2nd and 4th are null - return 'utf-16-le' - # Did not detect 2 valid UTF-16 ascii-range characters - if nullcount == 3: - if sample[:3] == _null3: - return 'utf-32-be' - if sample[1:] == _null3: - return 'utf-32-le' - # Did not detect a valid UTF-32 ascii-range character - return None - - -def prepend_scheme_if_needed(url, new_scheme): - '''Given a URL that may or may not have a scheme, prepend the given scheme. - Does not replace a present scheme with the one provided as an argument.''' - scheme, netloc, path, params, query, fragment = urlparse(url, new_scheme) - - # urlparse is a finicky beast, and sometimes decides that there isn't a - # netloc present. Assume that it's being over-cautious, and switch netloc - # and path if urlparse decided there was no netloc. - if not netloc: - netloc, path = path, netloc - - return urlunparse((scheme, netloc, path, params, query, fragment)) - - -def get_auth_from_url(url): - """Given a url with authentication components, extract them into a tuple of - username,password.""" - parsed = urlparse(url) - - try: - auth = (unquote(parsed.username), unquote(parsed.password)) - except (AttributeError, TypeError): - auth = ('', '') - - return auth - - -def to_native_string(string, encoding='ascii'): - """ - Given a string object, regardless of type, returns a representation of that - string in the native string type, encoding and decoding where necessary. - This assumes ASCII unless told otherwise. - """ - out = None - - if isinstance(string, builtin_str): - out = string - else: - if is_py2: - out = string.encode(encoding) - else: - out = string.decode(encoding) - - return out - - -def urldefragauth(url): - """ - Given a url remove the fragment and the authentication part - """ - scheme, netloc, path, params, query, fragment = urlparse(url) - - # see func:`prepend_scheme_if_needed` - if not netloc: - netloc, path = path, netloc - - netloc = netloc.rsplit('@', 1)[-1] - - return urlunparse((scheme, netloc, path, params, query, '')) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/six.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/six.py deleted file mode 100644 index 190c0239..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/vendored/six.py +++ /dev/null @@ -1,868 +0,0 @@ -"""Utilities for writing code that runs on Python 2 and 3""" - -# Copyright (c) 2010-2015 Benjamin Peterson -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in all -# copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - -from __future__ import absolute_import - -import functools -import itertools -import operator -import sys -import types - -__author__ = "Benjamin Peterson " -__version__ = "1.10.0" - - -# Useful for very coarse version differentiation. -PY2 = sys.version_info[0] == 2 -PY3 = sys.version_info[0] == 3 -PY34 = sys.version_info[0:2] >= (3, 4) - -if PY3: - string_types = str, - integer_types = int, - class_types = type, - text_type = str - binary_type = bytes - - MAXSIZE = sys.maxsize -else: - string_types = basestring, - integer_types = (int, long) - class_types = (type, types.ClassType) - text_type = unicode - binary_type = str - - if sys.platform.startswith("java"): - # Jython always uses 32 bits. - MAXSIZE = int((1 << 31) - 1) - else: - # It's possible to have sizeof(long) != sizeof(Py_ssize_t). - class X(object): - - def __len__(self): - return 1 << 31 - try: - len(X()) - except OverflowError: - # 32-bit - MAXSIZE = int((1 << 31) - 1) - else: - # 64-bit - MAXSIZE = int((1 << 63) - 1) - del X - - -def _add_doc(func, doc): - """Add documentation to a function.""" - func.__doc__ = doc - - -def _import_module(name): - """Import module, returning the module after the last dot.""" - __import__(name) - return sys.modules[name] - - -class _LazyDescr(object): - - def __init__(self, name): - self.name = name - - def __get__(self, obj, tp): - result = self._resolve() - setattr(obj, self.name, result) # Invokes __set__. - try: - # This is a bit ugly, but it avoids running this again by - # removing this descriptor. - delattr(obj.__class__, self.name) - except AttributeError: - pass - return result - - -class MovedModule(_LazyDescr): - - def __init__(self, name, old, new=None): - super(MovedModule, self).__init__(name) - if PY3: - if new is None: - new = name - self.mod = new - else: - self.mod = old - - def _resolve(self): - return _import_module(self.mod) - - def __getattr__(self, attr): - _module = self._resolve() - value = getattr(_module, attr) - setattr(self, attr, value) - return value - - -class _LazyModule(types.ModuleType): - - def __init__(self, name): - super(_LazyModule, self).__init__(name) - self.__doc__ = self.__class__.__doc__ - - def __dir__(self): - attrs = ["__doc__", "__name__"] - attrs += [attr.name for attr in self._moved_attributes] - return attrs - - # Subclasses should override this - _moved_attributes = [] - - -class MovedAttribute(_LazyDescr): - - def __init__(self, name, old_mod, new_mod, old_attr=None, new_attr=None): - super(MovedAttribute, self).__init__(name) - if PY3: - if new_mod is None: - new_mod = name - self.mod = new_mod - if new_attr is None: - if old_attr is None: - new_attr = name - else: - new_attr = old_attr - self.attr = new_attr - else: - self.mod = old_mod - if old_attr is None: - old_attr = name - self.attr = old_attr - - def _resolve(self): - module = _import_module(self.mod) - return getattr(module, self.attr) - - -class _SixMetaPathImporter(object): - - """ - A meta path importer to import six.moves and its submodules. - - This class implements a PEP302 finder and loader. It should be compatible - with Python 2.5 and all existing versions of Python3 - """ - - def __init__(self, six_module_name): - self.name = six_module_name - self.known_modules = {} - - def _add_module(self, mod, *fullnames): - for fullname in fullnames: - self.known_modules[self.name + "." + fullname] = mod - - def _get_module(self, fullname): - return self.known_modules[self.name + "." + fullname] - - def find_module(self, fullname, path=None): - if fullname in self.known_modules: - return self - return None - - def __get_module(self, fullname): - try: - return self.known_modules[fullname] - except KeyError: - raise ImportError("This loader does not know module " + fullname) - - def load_module(self, fullname): - try: - # in case of a reload - return sys.modules[fullname] - except KeyError: - pass - mod = self.__get_module(fullname) - if isinstance(mod, MovedModule): - mod = mod._resolve() - else: - mod.__loader__ = self - sys.modules[fullname] = mod - return mod - - def is_package(self, fullname): - """ - Return true, if the named module is a package. - - We need this method to get correct spec objects with - Python 3.4 (see PEP451) - """ - return hasattr(self.__get_module(fullname), "__path__") - - def get_code(self, fullname): - """Return None - - Required, if is_package is implemented""" - self.__get_module(fullname) # eventually raises ImportError - return None - get_source = get_code # same as get_code - -_importer = _SixMetaPathImporter(__name__) - - -class _MovedItems(_LazyModule): - - """Lazy loading of moved objects""" - __path__ = [] # mark as package - - -_moved_attributes = [ - MovedAttribute("cStringIO", "cStringIO", "io", "StringIO"), - MovedAttribute("filter", "itertools", "builtins", "ifilter", "filter"), - MovedAttribute("filterfalse", "itertools", "itertools", "ifilterfalse", "filterfalse"), - MovedAttribute("input", "__builtin__", "builtins", "raw_input", "input"), - MovedAttribute("intern", "__builtin__", "sys"), - MovedAttribute("map", "itertools", "builtins", "imap", "map"), - MovedAttribute("getcwd", "os", "os", "getcwdu", "getcwd"), - MovedAttribute("getcwdb", "os", "os", "getcwd", "getcwdb"), - MovedAttribute("range", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("reload_module", "__builtin__", "importlib" if PY34 else "imp", "reload"), - MovedAttribute("reduce", "__builtin__", "functools"), - MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), - MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections"), - MovedAttribute("UserList", "UserList", "collections"), - MovedAttribute("UserString", "UserString", "collections"), - MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), - MovedAttribute("zip", "itertools", "builtins", "izip", "zip"), - MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), - MovedModule("builtins", "__builtin__"), - MovedModule("configparser", "ConfigParser"), - MovedModule("copyreg", "copy_reg"), - MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), - MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), - MovedModule("http_cookies", "Cookie", "http.cookies"), - MovedModule("html_entities", "htmlentitydefs", "html.entities"), - MovedModule("html_parser", "HTMLParser", "html.parser"), - MovedModule("http_client", "httplib", "http.client"), - MovedModule("email_mime_multipart", "email.MIMEMultipart", "email.mime.multipart"), - MovedModule("email_mime_nonmultipart", "email.MIMENonMultipart", "email.mime.nonmultipart"), - MovedModule("email_mime_text", "email.MIMEText", "email.mime.text"), - MovedModule("email_mime_base", "email.MIMEBase", "email.mime.base"), - MovedModule("BaseHTTPServer", "BaseHTTPServer", "http.server"), - MovedModule("CGIHTTPServer", "CGIHTTPServer", "http.server"), - MovedModule("SimpleHTTPServer", "SimpleHTTPServer", "http.server"), - MovedModule("cPickle", "cPickle", "pickle"), - MovedModule("queue", "Queue"), - MovedModule("reprlib", "repr"), - MovedModule("socketserver", "SocketServer"), - MovedModule("_thread", "thread", "_thread"), - MovedModule("tkinter", "Tkinter"), - MovedModule("tkinter_dialog", "Dialog", "tkinter.dialog"), - MovedModule("tkinter_filedialog", "FileDialog", "tkinter.filedialog"), - MovedModule("tkinter_scrolledtext", "ScrolledText", "tkinter.scrolledtext"), - MovedModule("tkinter_simpledialog", "SimpleDialog", "tkinter.simpledialog"), - MovedModule("tkinter_tix", "Tix", "tkinter.tix"), - MovedModule("tkinter_ttk", "ttk", "tkinter.ttk"), - MovedModule("tkinter_constants", "Tkconstants", "tkinter.constants"), - MovedModule("tkinter_dnd", "Tkdnd", "tkinter.dnd"), - MovedModule("tkinter_colorchooser", "tkColorChooser", - "tkinter.colorchooser"), - MovedModule("tkinter_commondialog", "tkCommonDialog", - "tkinter.commondialog"), - MovedModule("tkinter_tkfiledialog", "tkFileDialog", "tkinter.filedialog"), - MovedModule("tkinter_font", "tkFont", "tkinter.font"), - MovedModule("tkinter_messagebox", "tkMessageBox", "tkinter.messagebox"), - MovedModule("tkinter_tksimpledialog", "tkSimpleDialog", - "tkinter.simpledialog"), - MovedModule("urllib_parse", __name__ + ".moves.urllib_parse", "urllib.parse"), - MovedModule("urllib_error", __name__ + ".moves.urllib_error", "urllib.error"), - MovedModule("urllib", __name__ + ".moves.urllib", __name__ + ".moves.urllib"), - MovedModule("urllib_robotparser", "robotparser", "urllib.robotparser"), - MovedModule("xmlrpc_client", "xmlrpclib", "xmlrpc.client"), - MovedModule("xmlrpc_server", "SimpleXMLRPCServer", "xmlrpc.server"), -] -# Add windows specific modules. -if sys.platform == "win32": - _moved_attributes += [ - MovedModule("winreg", "_winreg"), - ] - -for attr in _moved_attributes: - setattr(_MovedItems, attr.name, attr) - if isinstance(attr, MovedModule): - _importer._add_module(attr, "moves." + attr.name) -del attr - -_MovedItems._moved_attributes = _moved_attributes - -moves = _MovedItems(__name__ + ".moves") -_importer._add_module(moves, "moves") - - -class Module_six_moves_urllib_parse(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_parse""" - - -_urllib_parse_moved_attributes = [ - MovedAttribute("ParseResult", "urlparse", "urllib.parse"), - MovedAttribute("SplitResult", "urlparse", "urllib.parse"), - MovedAttribute("parse_qs", "urlparse", "urllib.parse"), - MovedAttribute("parse_qsl", "urlparse", "urllib.parse"), - MovedAttribute("urldefrag", "urlparse", "urllib.parse"), - MovedAttribute("urljoin", "urlparse", "urllib.parse"), - MovedAttribute("urlparse", "urlparse", "urllib.parse"), - MovedAttribute("urlsplit", "urlparse", "urllib.parse"), - MovedAttribute("urlunparse", "urlparse", "urllib.parse"), - MovedAttribute("urlunsplit", "urlparse", "urllib.parse"), - MovedAttribute("quote", "urllib", "urllib.parse"), - MovedAttribute("quote_plus", "urllib", "urllib.parse"), - MovedAttribute("unquote", "urllib", "urllib.parse"), - MovedAttribute("unquote_plus", "urllib", "urllib.parse"), - MovedAttribute("urlencode", "urllib", "urllib.parse"), - MovedAttribute("splitquery", "urllib", "urllib.parse"), - MovedAttribute("splittag", "urllib", "urllib.parse"), - MovedAttribute("splituser", "urllib", "urllib.parse"), - MovedAttribute("uses_fragment", "urlparse", "urllib.parse"), - MovedAttribute("uses_netloc", "urlparse", "urllib.parse"), - MovedAttribute("uses_params", "urlparse", "urllib.parse"), - MovedAttribute("uses_query", "urlparse", "urllib.parse"), - MovedAttribute("uses_relative", "urlparse", "urllib.parse"), -] -for attr in _urllib_parse_moved_attributes: - setattr(Module_six_moves_urllib_parse, attr.name, attr) -del attr - -Module_six_moves_urllib_parse._moved_attributes = _urllib_parse_moved_attributes - -_importer._add_module(Module_six_moves_urllib_parse(__name__ + ".moves.urllib_parse"), - "moves.urllib_parse", "moves.urllib.parse") - - -class Module_six_moves_urllib_error(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_error""" - - -_urllib_error_moved_attributes = [ - MovedAttribute("URLError", "urllib2", "urllib.error"), - MovedAttribute("HTTPError", "urllib2", "urllib.error"), - MovedAttribute("ContentTooShortError", "urllib", "urllib.error"), -] -for attr in _urllib_error_moved_attributes: - setattr(Module_six_moves_urllib_error, attr.name, attr) -del attr - -Module_six_moves_urllib_error._moved_attributes = _urllib_error_moved_attributes - -_importer._add_module(Module_six_moves_urllib_error(__name__ + ".moves.urllib.error"), - "moves.urllib_error", "moves.urllib.error") - - -class Module_six_moves_urllib_request(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_request""" - - -_urllib_request_moved_attributes = [ - MovedAttribute("urlopen", "urllib2", "urllib.request"), - MovedAttribute("install_opener", "urllib2", "urllib.request"), - MovedAttribute("build_opener", "urllib2", "urllib.request"), - MovedAttribute("pathname2url", "urllib", "urllib.request"), - MovedAttribute("url2pathname", "urllib", "urllib.request"), - MovedAttribute("getproxies", "urllib", "urllib.request"), - MovedAttribute("Request", "urllib2", "urllib.request"), - MovedAttribute("OpenerDirector", "urllib2", "urllib.request"), - MovedAttribute("HTTPDefaultErrorHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPRedirectHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPCookieProcessor", "urllib2", "urllib.request"), - MovedAttribute("ProxyHandler", "urllib2", "urllib.request"), - MovedAttribute("BaseHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgr", "urllib2", "urllib.request"), - MovedAttribute("HTTPPasswordMgrWithDefaultRealm", "urllib2", "urllib.request"), - MovedAttribute("AbstractBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyBasicAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("AbstractDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("ProxyDigestAuthHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPSHandler", "urllib2", "urllib.request"), - MovedAttribute("FileHandler", "urllib2", "urllib.request"), - MovedAttribute("FTPHandler", "urllib2", "urllib.request"), - MovedAttribute("CacheFTPHandler", "urllib2", "urllib.request"), - MovedAttribute("UnknownHandler", "urllib2", "urllib.request"), - MovedAttribute("HTTPErrorProcessor", "urllib2", "urllib.request"), - MovedAttribute("urlretrieve", "urllib", "urllib.request"), - MovedAttribute("urlcleanup", "urllib", "urllib.request"), - MovedAttribute("URLopener", "urllib", "urllib.request"), - MovedAttribute("FancyURLopener", "urllib", "urllib.request"), - MovedAttribute("proxy_bypass", "urllib", "urllib.request"), -] -for attr in _urllib_request_moved_attributes: - setattr(Module_six_moves_urllib_request, attr.name, attr) -del attr - -Module_six_moves_urllib_request._moved_attributes = _urllib_request_moved_attributes - -_importer._add_module(Module_six_moves_urllib_request(__name__ + ".moves.urllib.request"), - "moves.urllib_request", "moves.urllib.request") - - -class Module_six_moves_urllib_response(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_response""" - - -_urllib_response_moved_attributes = [ - MovedAttribute("addbase", "urllib", "urllib.response"), - MovedAttribute("addclosehook", "urllib", "urllib.response"), - MovedAttribute("addinfo", "urllib", "urllib.response"), - MovedAttribute("addinfourl", "urllib", "urllib.response"), -] -for attr in _urllib_response_moved_attributes: - setattr(Module_six_moves_urllib_response, attr.name, attr) -del attr - -Module_six_moves_urllib_response._moved_attributes = _urllib_response_moved_attributes - -_importer._add_module(Module_six_moves_urllib_response(__name__ + ".moves.urllib.response"), - "moves.urllib_response", "moves.urllib.response") - - -class Module_six_moves_urllib_robotparser(_LazyModule): - - """Lazy loading of moved objects in six.moves.urllib_robotparser""" - - -_urllib_robotparser_moved_attributes = [ - MovedAttribute("RobotFileParser", "robotparser", "urllib.robotparser"), -] -for attr in _urllib_robotparser_moved_attributes: - setattr(Module_six_moves_urllib_robotparser, attr.name, attr) -del attr - -Module_six_moves_urllib_robotparser._moved_attributes = _urllib_robotparser_moved_attributes - -_importer._add_module(Module_six_moves_urllib_robotparser(__name__ + ".moves.urllib.robotparser"), - "moves.urllib_robotparser", "moves.urllib.robotparser") - - -class Module_six_moves_urllib(types.ModuleType): - - """Create a six.moves.urllib namespace that resembles the Python 3 namespace""" - __path__ = [] # mark as package - parse = _importer._get_module("moves.urllib_parse") - error = _importer._get_module("moves.urllib_error") - request = _importer._get_module("moves.urllib_request") - response = _importer._get_module("moves.urllib_response") - robotparser = _importer._get_module("moves.urllib_robotparser") - - def __dir__(self): - return ['parse', 'error', 'request', 'response', 'robotparser'] - -_importer._add_module(Module_six_moves_urllib(__name__ + ".moves.urllib"), - "moves.urllib") - - -def add_move(move): - """Add an item to six.moves.""" - setattr(_MovedItems, move.name, move) - - -def remove_move(name): - """Remove item from six.moves.""" - try: - delattr(_MovedItems, name) - except AttributeError: - try: - del moves.__dict__[name] - except KeyError: - raise AttributeError("no such move, %r" % (name,)) - - -if PY3: - _meth_func = "__func__" - _meth_self = "__self__" - - _func_closure = "__closure__" - _func_code = "__code__" - _func_defaults = "__defaults__" - _func_globals = "__globals__" -else: - _meth_func = "im_func" - _meth_self = "im_self" - - _func_closure = "func_closure" - _func_code = "func_code" - _func_defaults = "func_defaults" - _func_globals = "func_globals" - - -try: - advance_iterator = next -except NameError: - def advance_iterator(it): - return it.next() -next = advance_iterator - - -try: - callable = callable -except NameError: - def callable(obj): - return any("__call__" in klass.__dict__ for klass in type(obj).__mro__) - - -if PY3: - def get_unbound_function(unbound): - return unbound - - create_bound_method = types.MethodType - - def create_unbound_method(func, cls): - return func - - Iterator = object -else: - def get_unbound_function(unbound): - return unbound.im_func - - def create_bound_method(func, obj): - return types.MethodType(func, obj, obj.__class__) - - def create_unbound_method(func, cls): - return types.MethodType(func, None, cls) - - class Iterator(object): - - def next(self): - return type(self).__next__(self) - - callable = callable -_add_doc(get_unbound_function, - """Get the function out of a possibly unbound function""") - - -get_method_function = operator.attrgetter(_meth_func) -get_method_self = operator.attrgetter(_meth_self) -get_function_closure = operator.attrgetter(_func_closure) -get_function_code = operator.attrgetter(_func_code) -get_function_defaults = operator.attrgetter(_func_defaults) -get_function_globals = operator.attrgetter(_func_globals) - - -if PY3: - def iterkeys(d, **kw): - return iter(d.keys(**kw)) - - def itervalues(d, **kw): - return iter(d.values(**kw)) - - def iteritems(d, **kw): - return iter(d.items(**kw)) - - def iterlists(d, **kw): - return iter(d.lists(**kw)) - - viewkeys = operator.methodcaller("keys") - - viewvalues = operator.methodcaller("values") - - viewitems = operator.methodcaller("items") -else: - def iterkeys(d, **kw): - return d.iterkeys(**kw) - - def itervalues(d, **kw): - return d.itervalues(**kw) - - def iteritems(d, **kw): - return d.iteritems(**kw) - - def iterlists(d, **kw): - return d.iterlists(**kw) - - viewkeys = operator.methodcaller("viewkeys") - - viewvalues = operator.methodcaller("viewvalues") - - viewitems = operator.methodcaller("viewitems") - -_add_doc(iterkeys, "Return an iterator over the keys of a dictionary.") -_add_doc(itervalues, "Return an iterator over the values of a dictionary.") -_add_doc(iteritems, - "Return an iterator over the (key, value) pairs of a dictionary.") -_add_doc(iterlists, - "Return an iterator over the (key, [values]) pairs of a dictionary.") - - -if PY3: - def b(s): - return s.encode("latin-1") - - def u(s): - return s - unichr = chr - import struct - int2byte = struct.Struct(">B").pack - del struct - byte2int = operator.itemgetter(0) - indexbytes = operator.getitem - iterbytes = iter - import io - StringIO = io.StringIO - BytesIO = io.BytesIO - _assertCountEqual = "assertCountEqual" - if sys.version_info[1] <= 1: - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" - else: - _assertRaisesRegex = "assertRaisesRegex" - _assertRegex = "assertRegex" -else: - def b(s): - return s - # Workaround for standalone backslash - - def u(s): - return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") - unichr = unichr - int2byte = chr - - def byte2int(bs): - return ord(bs[0]) - - def indexbytes(buf, i): - return ord(buf[i]) - iterbytes = functools.partial(itertools.imap, ord) - import StringIO - StringIO = BytesIO = StringIO.StringIO - _assertCountEqual = "assertItemsEqual" - _assertRaisesRegex = "assertRaisesRegexp" - _assertRegex = "assertRegexpMatches" -_add_doc(b, """Byte literal""") -_add_doc(u, """Text literal""") - - -def assertCountEqual(self, *args, **kwargs): - return getattr(self, _assertCountEqual)(*args, **kwargs) - - -def assertRaisesRegex(self, *args, **kwargs): - return getattr(self, _assertRaisesRegex)(*args, **kwargs) - - -def assertRegex(self, *args, **kwargs): - return getattr(self, _assertRegex)(*args, **kwargs) - - -if PY3: - exec_ = getattr(moves.builtins, "exec") - - def reraise(tp, value, tb=None): - if value is None: - value = tp() - if value.__traceback__ is not tb: - raise value.with_traceback(tb) - raise value - -else: - def exec_(_code_, _globs_=None, _locs_=None): - """Execute code in a namespace.""" - if _globs_ is None: - frame = sys._getframe(1) - _globs_ = frame.f_globals - if _locs_ is None: - _locs_ = frame.f_locals - del frame - elif _locs_ is None: - _locs_ = _globs_ - exec("""exec _code_ in _globs_, _locs_""") - - exec_("""def reraise(tp, value, tb=None): - raise tp, value, tb -""") - - -if sys.version_info[:2] == (3, 2): - exec_("""def raise_from(value, from_value): - if from_value is None: - raise value - raise value from from_value -""") -elif sys.version_info[:2] > (3, 2): - exec_("""def raise_from(value, from_value): - raise value from from_value -""") -else: - def raise_from(value, from_value): - raise value - - -print_ = getattr(moves.builtins, "print", None) -if print_ is None: - def print_(*args, **kwargs): - """The new-style print function for Python 2.4 and 2.5.""" - fp = kwargs.pop("file", sys.stdout) - if fp is None: - return - - def write(data): - if not isinstance(data, basestring): - data = str(data) - # If the file has an encoding, encode unicode with it. - if (isinstance(fp, file) and - isinstance(data, unicode) and - fp.encoding is not None): - errors = getattr(fp, "errors", None) - if errors is None: - errors = "strict" - data = data.encode(fp.encoding, errors) - fp.write(data) - want_unicode = False - sep = kwargs.pop("sep", None) - if sep is not None: - if isinstance(sep, unicode): - want_unicode = True - elif not isinstance(sep, str): - raise TypeError("sep must be None or a string") - end = kwargs.pop("end", None) - if end is not None: - if isinstance(end, unicode): - want_unicode = True - elif not isinstance(end, str): - raise TypeError("end must be None or a string") - if kwargs: - raise TypeError("invalid keyword arguments to print()") - if not want_unicode: - for arg in args: - if isinstance(arg, unicode): - want_unicode = True - break - if want_unicode: - newline = unicode("\n") - space = unicode(" ") - else: - newline = "\n" - space = " " - if sep is None: - sep = space - if end is None: - end = newline - for i, arg in enumerate(args): - if i: - write(sep) - write(arg) - write(end) -if sys.version_info[:2] < (3, 3): - _print = print_ - - def print_(*args, **kwargs): - fp = kwargs.get("file", sys.stdout) - flush = kwargs.pop("flush", False) - _print(*args, **kwargs) - if flush and fp is not None: - fp.flush() - -_add_doc(reraise, """Reraise an exception.""") - -if sys.version_info[0:2] < (3, 4): - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - def wrapper(f): - f = functools.wraps(wrapped, assigned, updated)(f) - f.__wrapped__ = wrapped - return f - return wrapper -else: - wraps = functools.wraps - - -def with_metaclass(meta, *bases): - """Create a base class with a metaclass.""" - # This requires a bit of explanation: the basic idea is to make a dummy - # metaclass for one level of class instantiation that replaces itself with - # the actual metaclass. - class metaclass(meta): - - def __new__(cls, name, this_bases, d): - return meta(name, bases, d) - return type.__new__(metaclass, 'temporary_class', (), {}) - - -def add_metaclass(metaclass): - """Class decorator for creating a class with a metaclass.""" - def wrapper(cls): - orig_vars = cls.__dict__.copy() - slots = orig_vars.get('__slots__') - if slots is not None: - if isinstance(slots, str): - slots = [slots] - for slots_var in slots: - orig_vars.pop(slots_var) - orig_vars.pop('__dict__', None) - orig_vars.pop('__weakref__', None) - return metaclass(cls.__name__, cls.__bases__, orig_vars) - return wrapper - - -def python_2_unicode_compatible(klass): - """ - A decorator that defines __unicode__ and __str__ methods under Python 2. - Under Python 3 it does nothing. - - To support Python 2 and 3 with a single code base, define a __str__ method - returning text and apply this decorator to the class. - """ - if PY2: - if '__str__' not in klass.__dict__: - raise ValueError("@python_2_unicode_compatible cannot be applied " - "to %s because it doesn't define __str__()." % - klass.__name__) - klass.__unicode__ = klass.__str__ - klass.__str__ = lambda self: self.__unicode__().encode('utf-8') - return klass - - -# Complete the moves implementation. -# This code is at the end of this module to speed up module loading. -# Turn this module into a package. -__path__ = [] # required for PEP 302 and PEP 451 -__package__ = __name__ # see PEP 366 @ReservedAssignment -if globals().get("__spec__") is not None: - __spec__.submodule_search_locations = [] # PEP 451 @UndefinedVariable -# Remove other six meta path importers, since they cause problems. This can -# happen if six is removed from sys.modules and then reloaded. (Setuptools does -# this for some reason.) -if sys.meta_path: - for i, importer in enumerate(sys.meta_path): - # Here's some real nastiness: Another "instance" of the six module might - # be floating around. Therefore, we can't use isinstance() to check for - # the six meta path importer, since the other six instance will have - # inserted an importer with different class. - if (type(importer).__name__ == "_SixMetaPathImporter" and - importer.name == __name__): - del sys.meta_path[i] - break - del i, importer -# Finally, add the importer to the meta path import hook. -sys.meta_path.append(_importer) diff --git a/.eggs/botocore-1.11.8-py2.7.egg/botocore/waiter.py b/.eggs/botocore-1.11.8-py2.7.egg/botocore/waiter.py deleted file mode 100644 index bc51facf..00000000 --- a/.eggs/botocore-1.11.8-py2.7.egg/botocore/waiter.py +++ /dev/null @@ -1,331 +0,0 @@ -# Copyright 2012-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"). You -# may not use this file except in compliance with the License. A copy of -# the License is located at -# -# http://aws.amazon.com/apache2.0/ -# -# or in the "license" file accompanying this file. This file is -# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF -# ANY KIND, either express or implied. See the License for the specific -# language governing permissions and limitations under the License. -import jmespath -import logging -import time - -from botocore.utils import get_service_module_name -from botocore.docs.docstring import WaiterDocstring -from .exceptions import WaiterError, ClientError, WaiterConfigError -from . import xform_name - - -logger = logging.getLogger(__name__) - - -def create_waiter_with_client(waiter_name, waiter_model, client): - """ - - :type waiter_name: str - :param waiter_name: The name of the waiter. The name should match - the name (including the casing) of the key name in the waiter - model file (typically this is CamelCasing). - - :type waiter_model: botocore.waiter.WaiterModel - :param waiter_model: The model for the waiter configuration. - - :type client: botocore.client.BaseClient - :param client: The botocore client associated with the service. - - :rtype: botocore.waiter.Waiter - :return: The waiter object. - - """ - single_waiter_config = waiter_model.get_waiter(waiter_name) - operation_name = xform_name(single_waiter_config.operation) - operation_method = NormalizedOperationMethod( - getattr(client, operation_name)) - - # Create a new wait method that will serve as a proxy to the underlying - # Waiter.wait method. This is needed to attach a docstring to the - # method. - def wait(self, **kwargs): - Waiter.wait(self, **kwargs) - - wait.__doc__ = WaiterDocstring( - waiter_name=waiter_name, - event_emitter=client.meta.events, - service_model=client.meta.service_model, - service_waiter_model=waiter_model, - include_signature=False - ) - - # Rename the waiter class based on the type of waiter. - waiter_class_name = str('%s.Waiter.%s' % ( - get_service_module_name(client.meta.service_model), - waiter_name)) - - # Create the new waiter class - documented_waiter_cls = type( - waiter_class_name, (Waiter,), {'wait': wait}) - - # Return an instance of the new waiter class. - return documented_waiter_cls( - waiter_name, single_waiter_config, operation_method - ) - - -class NormalizedOperationMethod(object): - def __init__(self, client_method): - self._client_method = client_method - - def __call__(self, **kwargs): - try: - return self._client_method(**kwargs) - except ClientError as e: - return e.response - - -class WaiterModel(object): - SUPPORTED_VERSION = 2 - - def __init__(self, waiter_config): - """ - - Note that the WaiterModel takes ownership of the waiter_config. - It may or may not mutate the waiter_config. If this is a concern, - it is best to make a copy of the waiter config before passing it to - the WaiterModel. - - :type waiter_config: dict - :param waiter_config: The loaded waiter config - from the *.waiters.json file. This can be - obtained from a botocore Loader object as well. - - """ - self._waiter_config = waiter_config['waiters'] - - # These are part of the public API. Changing these - # will result in having to update the consuming code, - # so don't change unless you really need to. - version = waiter_config.get('version', 'unknown') - self._verify_supported_version(version) - self.version = version - self.waiter_names = list(sorted(waiter_config['waiters'].keys())) - - def _verify_supported_version(self, version): - if version != self.SUPPORTED_VERSION: - raise WaiterConfigError( - error_msg=("Unsupported waiter version, supported version " - "must be: %s, but version of waiter config " - "is: %s" % (self.SUPPORTED_VERSION, - version))) - - def get_waiter(self, waiter_name): - try: - single_waiter_config = self._waiter_config[waiter_name] - except KeyError: - raise ValueError("Waiter does not exist: %s" % waiter_name) - return SingleWaiterConfig(single_waiter_config) - - -class SingleWaiterConfig(object): - """Represents the waiter configuration for a single waiter. - - A single waiter is considered the configuration for a single - value associated with a named waiter (i.e TableExists). - - """ - def __init__(self, single_waiter_config): - self._config = single_waiter_config - - # These attributes are part of the public API. - self.description = single_waiter_config.get('description', '') - # Per the spec, these three fields are required. - self.operation = single_waiter_config['operation'] - self.delay = single_waiter_config['delay'] - self.max_attempts = single_waiter_config['maxAttempts'] - - @property - def acceptors(self): - acceptors = [] - for acceptor_config in self._config['acceptors']: - acceptor = AcceptorConfig(acceptor_config) - acceptors.append(acceptor) - return acceptors - - -class AcceptorConfig(object): - def __init__(self, config): - self.state = config['state'] - self.matcher = config['matcher'] - self.expected = config['expected'] - self.argument = config.get('argument') - self.matcher_func = self._create_matcher_func() - - def _create_matcher_func(self): - # An acceptor function is a callable that takes a single value. The - # parsed AWS response. Note that the parsed error response is also - # provided in the case of errors, so it's entirely possible to - # handle all the available matcher capabilities in the future. - # There's only three supported matchers, so for now, this is all - # contained to a single method. If this grows, we can expand this - # out to separate methods or even objects. - - if self.matcher == 'path': - return self._create_path_matcher() - elif self.matcher == 'pathAll': - return self._create_path_all_matcher() - elif self.matcher == 'pathAny': - return self._create_path_any_matcher() - elif self.matcher == 'status': - return self._create_status_matcher() - elif self.matcher == 'error': - return self._create_error_matcher() - else: - raise WaiterConfigError( - error_msg="Unknown acceptor: %s" % self.matcher) - - def _create_path_matcher(self): - expression = jmespath.compile(self.argument) - expected = self.expected - - def acceptor_matches(response): - if 'Error' in response: - return - return expression.search(response) == expected - return acceptor_matches - - def _create_path_all_matcher(self): - expression = jmespath.compile(self.argument) - expected = self.expected - - def acceptor_matches(response): - if 'Error' in response: - return - result = expression.search(response) - if not isinstance(result, list) or not result: - # pathAll matcher must result in a list. - # Also we require at least one element in the list, - # that is, an empty list should not result in this - # acceptor match. - return False - for element in result: - if element != expected: - return False - return True - return acceptor_matches - - def _create_path_any_matcher(self): - expression = jmespath.compile(self.argument) - expected = self.expected - - def acceptor_matches(response): - if 'Error' in response: - return - result = expression.search(response) - if not isinstance(result, list) or not result: - # pathAny matcher must result in a list. - # Also we require at least one element in the list, - # that is, an empty list should not result in this - # acceptor match. - return False - for element in result: - if element == expected: - return True - return False - return acceptor_matches - - def _create_status_matcher(self): - expected = self.expected - - def acceptor_matches(response): - # We don't have any requirements on the expected incoming data - # other than it is a dict, so we don't assume there's - # a ResponseMetadata.HTTPStatusCode. - status_code = response.get('ResponseMetadata', {}).get( - 'HTTPStatusCode') - return status_code == expected - return acceptor_matches - - def _create_error_matcher(self): - expected = self.expected - - def acceptor_matches(response): - # When the client encounters an error, it will normally raise - # an exception. However, the waiter implementation will catch - # this exception, and instead send us the parsed error - # response. So response is still a dictionary, and in the case - # of an error response will contain the "Error" and - # "ResponseMetadata" key. - return response.get("Error", {}).get("Code", "") == expected - return acceptor_matches - - -class Waiter(object): - def __init__(self, name, config, operation_method): - """ - - :type name: string - :param name: The name of the waiter - - :type config: botocore.waiter.SingleWaiterConfig - :param config: The configuration for the waiter. - - :type operation_method: callable - :param operation_method: A callable that accepts **kwargs - and returns a response. For example, this can be - a method from a botocore client. - - """ - self._operation_method = operation_method - # The two attributes are exposed to allow for introspection - # and documentation. - self.name = name - self.config = config - - def wait(self, **kwargs): - acceptors = list(self.config.acceptors) - current_state = 'waiting' - # pop the invocation specific config - config = kwargs.pop('WaiterConfig', {}) - sleep_amount = config.get('Delay', self.config.delay) - max_attempts = config.get('MaxAttempts', self.config.max_attempts) - num_attempts = 0 - - while True: - response = self._operation_method(**kwargs) - num_attempts += 1 - for acceptor in acceptors: - if acceptor.matcher_func(response): - current_state = acceptor.state - break - else: - # If none of the acceptors matched, we should - # transition to the failure state if an error - # response was received. - if 'Error' in response: - # Transition to a failure state, which we - # can just handle here by raising an exception. - raise WaiterError( - name=self.name, - reason=response['Error'].get('Message', 'Unknown'), - last_response=response - ) - if current_state == 'success': - logger.debug("Waiting complete, waiter matched the " - "success state.") - return - if current_state == 'failure': - raise WaiterError( - name=self.name, - reason='Waiter encountered a terminal failure state', - last_response=response, - ) - if num_attempts >= max_attempts: - raise WaiterError( - name=self.name, - reason='Max attempts exceeded', - last_response=response - ) - time.sleep(sleep_amount) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/PKG-INFO b/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/PKG-INFO deleted file mode 100644 index 3720e332..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/PKG-INFO +++ /dev/null @@ -1,30 +0,0 @@ -Metadata-Version: 1.1 -Name: dicom -Version: 0.9.9.post1 -Summary: Pure python package for DICOM medical file reading and writing -Home-page: https://github.com/darcymason/pydicom -Author: Darcy Mason and contributors -Author-email: darcymason@gmail.com -License: MIT license -Description: - dicom is a historical version of the pydicom package, for versions < 1.0. - New code should target the pydicom package rather than this one. - -Keywords: dicom python medical imaging -Platform: UNKNOWN -Classifier: License :: OSI Approved :: MIT License -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Healthcare Industry -Classifier: Intended Audience :: Science/Research -Classifier: Development Status :: 5 - Production/Stable -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3.0 -Classifier: Programming Language :: Python :: 3.2 -Classifier: Programming Language :: Python :: 3.3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Operating System :: OS Independent -Classifier: Topic :: Scientific/Engineering :: Medical Science Apps. -Classifier: Topic :: Scientific/Engineering :: Physics -Classifier: Topic :: Software Development :: Libraries diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/SOURCES.txt b/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/SOURCES.txt deleted file mode 100644 index 322d6945..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/SOURCES.txt +++ /dev/null @@ -1,117 +0,0 @@ -MANIFEST.in -distribute_setup.py -setup.cfg -setup.py -dicom/UID.py -dicom/_UID_dict.py -dicom/__init__.py -dicom/_dicom_dict.py -dicom/_private_dict.py -dicom/charset.py -dicom/config.py -dicom/datadict.py -dicom/dataelem.py -dicom/dataset.py -dicom/dicomdir.py -dicom/encaps.py -dicom/errors.py -dicom/filebase.py -dicom/filereader.py -dicom/fileutil.py -dicom/filewriter.py -dicom/misc.py -dicom/multival.py -dicom/sequence.py -dicom/tag.py -dicom/tagtools.py -dicom/valuerep.py -dicom/values.py -dicom.egg-info/PKG-INFO -dicom.egg-info/SOURCES.txt -dicom.egg-info/dependency_links.txt -dicom.egg-info/not-zip-safe -dicom.egg-info/top_level.txt -dicom/contrib/__init__.py -dicom/contrib/dcm_qt_tree.py -dicom/contrib/dicom_dao.py -dicom/contrib/imViewer_Simple.py -dicom/contrib/pydicom_PIL.py -dicom/contrib/pydicom_Tkinter.py -dicom/contrib/pydicom_series.py -dicom/doc/index.html -dicom/examples/DicomDiff.py -dicom/examples/DicomInfo.py -dicom/examples/ListBeams.py -dicom/examples/__init__.py -dicom/examples/add_dict_entries.py -dicom/examples/anonymize.py -dicom/examples/dicomtree.py -dicom/examples/myprint.py -dicom/examples/show_charset_name.py -dicom/examples/show_dicomdir.py -dicom/examples/write_new.py -dicom/test/__init__.py -dicom/test/_write_stds.py -dicom/test/all.bat -dicom/test/run_tests.py -dicom/test/shell_all -dicom/test/test_UID.py -dicom/test/test_charset.py -dicom/test/test_dataelem.py -dicom/test/test_dataset.py -dicom/test/test_dictionary.py -dicom/test/test_filereader.py -dicom/test/test_filewriter.py -dicom/test/test_multival.py -dicom/test/test_rawread.py -dicom/test/test_sequence.py -dicom/test/test_tag.py -dicom/test/test_unicode.py -dicom/test/test_valuerep.py -dicom/test/version_dep.py -dicom/test/warncheck.py -dicom/test/performance/__init__.py -dicom/test/performance/raw_convert_test.py -dicom/test/performance/time_test.py -dicom/testcharsetfiles/FileInfo.txt -dicom/testcharsetfiles/charlist.py -dicom/testcharsetfiles/chrArab.dcm -dicom/testcharsetfiles/chrFren.dcm -dicom/testcharsetfiles/chrFrenMulti.dcm -dicom/testcharsetfiles/chrGerm.dcm -dicom/testcharsetfiles/chrGreek.dcm -dicom/testcharsetfiles/chrH31.dcm -dicom/testcharsetfiles/chrH32.dcm -dicom/testcharsetfiles/chrHbrw.dcm -dicom/testcharsetfiles/chrI2.dcm -dicom/testcharsetfiles/chrJapMulti.dcm -dicom/testcharsetfiles/chrKoreanMulti.dcm -dicom/testcharsetfiles/chrRuss.dcm -dicom/testcharsetfiles/chrSQEncoding.dcm -dicom/testcharsetfiles/chrX1.dcm -dicom/testcharsetfiles/chrX2.dcm -dicom/testfiles/CT_small.dcm -dicom/testfiles/ExplVR_BigEnd.dcm -dicom/testfiles/JPEG-LL.dcm -dicom/testfiles/JPEG-lossy.dcm -dicom/testfiles/JPEG2000.dcm -dicom/testfiles/MR_small.dcm -dicom/testfiles/README.txt -dicom/testfiles/image_dfl.dcm -dicom/testfiles/nested_priv_SQ.dcm -dicom/testfiles/no_meta_group_length.dcm -dicom/testfiles/priv_SQ.dcm -dicom/testfiles/reportsi.dcm -dicom/testfiles/rtdose.dcm -dicom/testfiles/rtplan.dcm -dicom/testfiles/rtplan.dump -dicom/testfiles/rtplan_truncated.dcm -dicom/testfiles/rtstruct.dcm -dicom/testfiles/rtstruct.dump -dicom/testfiles/test-SR.dcm -dicom/testfiles/test.py -dicom/testfiles/zipMR.gz -dicom/util/__init__.py -dicom/util/codify.py -dicom/util/dump.py -dicom/util/hexutil.py \ No newline at end of file diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/dependency_links.txt b/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/not-zip-safe b/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/not-zip-safe deleted file mode 100644 index d3f5a12f..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/top_level.txt b/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/top_level.txt deleted file mode 100644 index 948a2e98..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/EGG-INFO/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -dicom diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/UID.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/UID.py deleted file mode 100644 index 7746590c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/UID.py +++ /dev/null @@ -1,192 +0,0 @@ -# UID.py -"""Dicom Unique identifiers""" -# Copyright (c) 2008 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import os -import uuid -import datetime -from math import fabs - -from _UID_dict import UID_dictionary - - -class InvalidUID(Exception): - ''' - Throw when DICOM UID is invalid - - Example of invalid UID:: - - >>> uid = '1.2.123.' - ''' - def __init__(self, value): - self.value = value - - def __str__(self): - return repr(self.value) - - -class UID(str): - """Subclass python string so have human-friendly UIDs - - Use like: - uid = UID('1.2.840.10008.1.2.4.50') - then - uid.name, uid.type, uid.info, and uid.is_retired all return - values from the UID_dictionary - - String representation (__str__) will be the name, - __repr__ will be the full 1.2.840.... - """ - def __new__(cls, val): - """Set up new instance of the class""" - # Don't repeat if already a UID class -- then may get the name - # that str(uid) gives rather than the dotted number - if isinstance(val, UID): - return val - else: - if isinstance(val, basestring): - return super(UID, cls).__new__(cls, val.strip()) - else: - raise TypeError("UID must be a string") - - def __init__(self, val): - """Initialize the UID properties - - Sets name, type, info, is_retired, and is_transfer_syntax. - If UID is a transfer syntax, also sets is_little_endian, - is_implicit_VR, and is_deflated boolean values. - """ - # Note normally use __new__ on subclassing an immutable, but here we - # just want to do some pre-processing against the UID dictionary. - # "My" string can never change (it is a python immutable), so is safe - if self in UID_dictionary: - self.name, self.type, self.info, retired = UID_dictionary[self] - self.is_retired = bool(retired) - else: - self.name = str.__str__(self) - self.type, self.info, self.is_retired = (None, None, None) - - # If the UID represents a transfer syntax, store info about that syntax - self.is_transfer_syntax = (self.type == "Transfer Syntax") - if self.is_transfer_syntax: - # Assume a transfer syntax, correct it as necessary - self.is_implicit_VR = True - self.is_little_endian = True - self.is_deflated = False - - if val == '1.2.840.10008.1.2': # implicit VR little endian - pass - elif val == '1.2.840.10008.1.2.1': # ExplicitVRLittleEndian - self.is_implicit_VR = False - elif val == '1.2.840.10008.1.2.2': # ExplicitVRBigEndian - self.is_implicit_VR = False - self.is_little_endian = False - elif val == '1.2.840.10008.1.2.1.99': # DeflatedExplicitVRLittleEndian: - self.is_deflated = True - self.is_implicit_VR = False - else: - # Any other syntax should be Explicit VR Little Endian, - # e.g. all Encapsulated (JPEG etc) are ExplVR-LE by Standard PS 3.5-2008 A.4 (p63) - self.is_implicit_VR = False - - def __str__(self): - """Return the human-friendly name for this UID""" - return self.name - - def __eq__(self, other): - """Override string equality so either name or UID number match passes""" - if str.__eq__(self, other) is True: # 'is True' needed (issue 96) - return True - if str.__eq__(self.name, other) is True: # 'is True' needed (issue 96) - return True - return False - - def __ne__(self, other): - return not self == other - - def is_valid(self): - ''' - Raise an exception is the UID is invalid - - Usage example:: - - >>> invalid_uid = dicom.UID.UID('1.2.345.') - >>> invalid_uid.is_valid(invalid_uid) - InvalidUID: 'Trailing dot at the end of the UID' - >>> valid_uid = dicom.UID.UID('1.2.123') - - ''' - if self[-1] == '.': - raise InvalidUID('Trailing dot at the end of the UID') - - # For python 3, any override of __cmp__ or __eq__ immutable requires - # explicit redirect of hash function to the parent class - # See http://docs.python.org/dev/3.0/reference/datamodel.html#object.__hash__ - - def __hash__(self): - return super(UID, self).__hash__() - -ExplicitVRLittleEndian = UID('1.2.840.10008.1.2.1') -ImplicitVRLittleEndian = UID('1.2.840.10008.1.2') -DeflatedExplicitVRLittleEndian = UID('1.2.840.10008.1.2.1.99') -ExplicitVRBigEndian = UID('1.2.840.10008.1.2.2') - -NotCompressedPixelTransferSyntaxes = [ExplicitVRLittleEndian, - ImplicitVRLittleEndian, - DeflatedExplicitVRLittleEndian, - ExplicitVRBigEndian] - -# Many thanks to the Medical Connections for offering free valid UIDs (http://www.medicalconnections.co.uk/FreeUID.html) -# Their service was used to obtain the following root UID for pydicom: -pydicom_root_UID = '1.2.826.0.1.3680043.8.498.' -pydicom_UIDs = { - pydicom_root_UID + '1': 'ImplementationClassUID', -} - - -def generate_uid(prefix=pydicom_root_UID, truncate=False): - ''' - Generate a dicom unique identifier based on host id, process id and current - time. The max lenght of the generated UID is 64 caracters. - - If the given prefix is ``None``, the UID is generated following the method - described on `David Clunie website - `_ - - Usage example:: - - >>> dicom.UID.generate_uid() - 1.2.826.0.1.3680043.8.498.2913212949509824014974371514 - >>> dicom.UID.generate_uid(None) - 2.25.31215762025423160614120088028604965760 - - This method is inspired from the work of `DCMTK - `_. - - :param prefix: The site root UID. Default to pydicom root UID. - ''' - max_uid_len = 64 - - if prefix is None: - dicom_uid = '2.25.{0}'.format(uuid.uuid1().int) - else: - uid_info = [uuid.getnode(), - fabs(os.getpid()), - datetime.datetime.today().second, - datetime.datetime.today().microsecond] # nopep8 - - suffix = ''.join([str(long(x)) for x in uid_info]) - dicom_uid = ''.join([prefix, suffix]) - - if truncate: - dicom_uid = dicom_uid[:max_uid_len] - - dicom_uid = UID(dicom_uid) - - # This will raise an exception if the UID is invalid - dicom_uid.is_valid() - - return dicom_uid diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_UID_dict.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_UID_dict.py deleted file mode 100644 index de4c4978..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_UID_dict.py +++ /dev/null @@ -1,356 +0,0 @@ -# _UID_dict.py -""" -Dictionary of UID: (name, type, name_info, is_retired) - -""" -# Auto-generated by docbook_to_uiddict2013.py (in Rickard Holmberg's clone) - -UID_dictionary = { - '1.2.840.10008.1.1': ('Verification SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.1.2': ('Implicit VR Little Endian', 'Transfer Syntax', 'Default Transfer Syntax for DICOM', ''), - '1.2.840.10008.1.2.1': ('Explicit VR Little Endian', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.1.99': ('Deflated Explicit VR Little Endian', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.2': ('Explicit VR Big Endian', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.50': ('JPEG Baseline (Process 1)', 'Transfer Syntax', 'Default Transfer Syntax for Lossy JPEG 8 Bit Image Compression', ''), - '1.2.840.10008.1.2.4.51': ('JPEG Extended (Process 2 and 4)', 'Transfer Syntax', 'Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression (Process 4 only)', ''), - '1.2.840.10008.1.2.4.52': ('JPEG Extended (Process 3 and 5)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.53': ('JPEG Spectral Selection, Non-Hierarchical (Process 6 and 8)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.54': ('JPEG Spectral Selection, Non-Hierarchical (Process 7 and 9)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.55': ('JPEG Full Progression, Non-Hierarchical (Process 10 and 12)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.56': ('JPEG Full Progression, Non-Hierarchical (Process 11 and 13)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.57': ('JPEG Lossless, Non-Hierarchical (Process 14)', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.58': ('JPEG Lossless, Non-Hierarchical (Process 15)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.59': ('JPEG Extended, Hierarchical (Process 16 and 18)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.60': ('JPEG Extended, Hierarchical (Process 17 and 19)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.61': ('JPEG Spectral Selection, Hierarchical (Process 20 and 22)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.62': ('JPEG Spectral Selection, Hierarchical (Process 21 and 23)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.63': ('JPEG Full Progression, Hierarchical (Process 24 and 26)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.64': ('JPEG Full Progression, Hierarchical (Process 25 and 27)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.65': ('JPEG Lossless, Hierarchical (Process 28)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.66': ('JPEG Lossless, Hierarchical (Process 29)', 'Transfer Syntax', '', 'Retired'), - '1.2.840.10008.1.2.4.70': ('JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])', 'Transfer Syntax', 'Default Transfer Syntax for Lossless JPEG Image Compression', ''), - '1.2.840.10008.1.2.4.80': ('JPEG-LS Lossless Image Compression', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.81': ('JPEG-LS Lossy (Near-Lossless) Image Compression', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.90': ('JPEG 2000 Image Compression (Lossless Only)', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.91': ('JPEG 2000 Image Compression', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.92': ('JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only)', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.93': ('JPEG 2000 Part 2 Multi-component Image Compression', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.94': ('JPIP Referenced', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.95': ('JPIP Referenced Deflate', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.100': ('MPEG2 Main Profile @ Main Level', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.101': ('MPEG2 Main Profile @ High Level', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.102': ('MPEG-4 AVC/H.264 High Profile / Level 4.1', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.4.103': ('MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.5': ('RLE Lossless', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.6.1': ('RFC 2557 MIME encapsulation', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.2.6.2': ('XML Encoding', 'Transfer Syntax', '', ''), - '1.2.840.10008.1.3.10': ('Media Storage Directory Storage', 'SOP Class', '', ''), - '1.2.840.10008.1.4.1.1': ('Talairach Brain Atlas Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.2': ('SPM2 T1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.3': ('SPM2 T2 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.4': ('SPM2 PD Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.5': ('SPM2 EPI Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.6': ('SPM2 FIL T1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.7': ('SPM2 PET Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.8': ('SPM2 TRANSM Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.9': ('SPM2 SPECT Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.10': ('SPM2 GRAY Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.11': ('SPM2 WHITE Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.12': ('SPM2 CSF Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.13': ('SPM2 BRAINMASK Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.14': ('SPM2 AVG305T1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.15': ('SPM2 AVG152T1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.16': ('SPM2 AVG152T2 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.17': ('SPM2 AVG152PD Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.1.18': ('SPM2 SINGLESUBJT1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.2.1': ('ICBM 452 T1 Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.4.2.2': ('ICBM Single Subject MRI Frame of Reference', 'Well-known frame of reference', '', ''), - '1.2.840.10008.1.5.1': ('Hot Iron Color Palette SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.5.2': ('PET Color Palette SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.5.3': ('Hot Metal Blue Color Palette SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.5.4': ('PET 20 Step Color Palette SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.9': ('Basic Study Content Notification SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.1.20.1': ('Storage Commitment Push Model SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.1.20.1.1': ('Storage Commitment Push Model SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.20.2': ('Storage Commitment Pull Model SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.1.20.2.1': ('Storage Commitment Pull Model SOP Instance', 'Well-known SOP Instance', '', 'Retired'), - '1.2.840.10008.1.40': ('Procedural Event Logging SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.1.40.1': ('Procedural Event Logging SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.1.42': ('Substance Administration Logging SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.1.42.1': ('Substance Administration Logging SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.2.6.1': ('DICOM UID Registry', 'DICOM UIDs as a Coding Scheme', '', ''), - '1.2.840.10008.2.16.4': ('DICOM Controlled Terminology', 'Coding Scheme', '', ''), - '1.2.840.10008.3.1.1.1': ('DICOM Application Context Name', 'Application Context Name', '', ''), - '1.2.840.10008.3.1.2.1.1': ('Detached Patient Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.1.4': ('Detached Patient Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.2.1': ('Detached Visit Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.3.1': ('Detached Study Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.3.2': ('Study Component Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.3.3': ('Modality Performed Procedure Step SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.3.1.2.3.4': ('Modality Performed Procedure Step Retrieve SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.3.1.2.3.5': ('Modality Performed Procedure Step Notification SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.3.1.2.5.1': ('Detached Results Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.5.4': ('Detached Results Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.5.5': ('Detached Study Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.3.1.2.6.1': ('Detached Interpretation Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.4.2': ('Storage Service Class', 'Service Class', '', ''), - '1.2.840.10008.5.1.1.1': ('Basic Film Session SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.2': ('Basic Film Box SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.4': ('Basic Grayscale Image Box SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.4.1': ('Basic Color Image Box SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.4.2': ('Referenced Image Box SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.9': ('Basic Grayscale Print Management Meta SOP Class', 'Meta SOP Class', '', ''), - '1.2.840.10008.5.1.1.9.1': ('Referenced Grayscale Print Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.14': ('Print Job SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.15': ('Basic Annotation Box SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.16': ('Printer SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.16.376': ('Printer Configuration Retrieval SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.17': ('Printer SOP Instance', 'Well-known Printer SOP Instance', '', ''), - '1.2.840.10008.5.1.1.17.376': ('Printer Configuration Retrieval SOP Instance', 'Well-known Printer SOP Instance', '', ''), - '1.2.840.10008.5.1.1.18': ('Basic Color Print Management Meta SOP Class', 'Meta SOP Class', '', ''), - '1.2.840.10008.5.1.1.18.1': ('Referenced Color Print Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.22': ('VOI LUT Box SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.23': ('Presentation LUT SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.1.24': ('Image Overlay Box SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.24.1': ('Basic Print Image Overlay Box SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.25': ('Print Queue SOP Instance', 'Well-known Print Queue SOP Instance', '', 'Retired'), - '1.2.840.10008.5.1.1.26': ('Print Queue Management SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.27': ('Stored Print Storage SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.29': ('Hardcopy Grayscale Image Storage SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.30': ('Hardcopy Color Image Storage SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.31': ('Pull Print Request SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.32': ('Pull Stored Print Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.1.33': ('Media Creation Management SOP Class UID', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1': ('Computed Radiography Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.1': ('Digital X-Ray Image Storage - For Presentation', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.1.1': ('Digital X-Ray Image Storage - For Processing', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.2': ('Digital Mammography X-Ray Image Storage - For Presentation', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.2.1': ('Digital Mammography X-Ray Image Storage - For Processing', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.3': ('Digital Intra-Oral X-Ray Image Storage - For Presentation', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.1.3.1': ('Digital Intra-Oral X-Ray Image Storage - For Processing', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.2': ('CT Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.2.1': ('Enhanced CT Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.2.2': ('Legacy Converted Enhanced CT Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.3': ('Ultrasound Multi-frame Image Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.3.1': ('Ultrasound Multi-frame Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.4': ('MR Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.4.1': ('Enhanced MR Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.4.2': ('MR Spectroscopy Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.4.3': ('Enhanced MR Color Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.4.4': ('Legacy Converted Enhanced MR Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.5': ('Nuclear Medicine Image Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.6': ('Ultrasound Image Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.6.1': ('Ultrasound Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.6.2': ('Enhanced US Volume Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.7': ('Secondary Capture Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.7.1': ('Multi-frame Single Bit Secondary Capture Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.7.2': ('Multi-frame Grayscale Byte Secondary Capture Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.7.3': ('Multi-frame Grayscale Word Secondary Capture Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.7.4': ('Multi-frame True Color Secondary Capture Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.8': ('Standalone Overlay Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.9': ('Standalone Curve Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.9.1': ('Waveform Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.9.1.1': ('12-lead ECG Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.1.2': ('General ECG Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.1.3': ('Ambulatory ECG Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.2.1': ('Hemodynamic Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.3.1': ('Cardiac Electrophysiology Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.4.1': ('Basic Voice Audio Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.4.2': ('General Audio Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.5.1': ('Arterial Pulse Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.9.6.1': ('Respiratory Waveform Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.10': ('Standalone Modality LUT Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.11': ('Standalone VOI LUT Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.11.1': ('Grayscale Softcopy Presentation State Storage SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.11.2': ('Color Softcopy Presentation State Storage SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.11.3': ('Pseudo-Color Softcopy Presentation State Storage SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.11.4': ('Blending Softcopy Presentation State Storage SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.11.5': ('XA/XRF Grayscale Softcopy Presentation State Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.12.1': ('X-Ray Angiographic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.12.1.1': ('Enhanced XA Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.12.2': ('X-Ray Radiofluoroscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.12.2.1': ('Enhanced XRF Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.12.3': ('X-Ray Angiographic Bi-Plane Image Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.13.1.1': ('X-Ray 3D Angiographic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.13.1.2': ('X-Ray 3D Craniofacial Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.13.1.3': ('Breast Tomosynthesis Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.14.1': ('Intravascular Optical Coherence Tomography Image Storage - For Presentation', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.14.2': ('Intravascular Optical Coherence Tomography Image Storage - For Processing', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.20': ('Nuclear Medicine Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66': ('Raw Data Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66.1': ('Spatial Registration Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66.2': ('Spatial Fiducials Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66.3': ('Deformable Spatial Registration Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66.4': ('Segmentation Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.66.5': ('Surface Segmentation Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.67': ('Real World Value Mapping Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.68.1': ('Surface Scan Mesh Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.68.2': ('Surface Scan Point Cloud Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1': ('VL Image Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.77.2': ('VL Multi-frame Image Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.77.1.1': ('VL Endoscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.1.1': ('Video Endoscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.2': ('VL Microscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.2.1': ('Video Microscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.3': ('VL Slide-Coordinates Microscopic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.4': ('VL Photographic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.4.1': ('Video Photographic Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.5.1': ('Ophthalmic Photography 8 Bit Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.5.2': ('Ophthalmic Photography 16 Bit Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.5.3': ('Stereometric Relationship Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.5.4': ('Ophthalmic Tomography Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.77.1.6': ('VL Whole Slide Microscopy Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.1': ('Lensometry Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.2': ('Autorefraction Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.3': ('Keratometry Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.4': ('Subjective Refraction Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.5': ('Visual Acuity Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.6': ('Spectacle Prescription Report Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.7': ('Ophthalmic Axial Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.78.8': ('Intraocular Lens Calculations Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.79.1': ('Macular Grid Thickness and Volume Report Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.80.1': ('Ophthalmic Visual Field Static Perimetry Measurements Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.81.1': ('Ophthalmic Thickness Map Storage', 'SOP Class', '', ''), - '11.2.840.10008.5.1.4.1.1.82.1': ('Corneal Topography Map Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.1': ('Text SR Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.88.2': ('Audio SR Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.88.3': ('Detail SR Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.88.4': ('Comprehensive SR Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.88.11': ('Basic Text SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.22': ('Enhanced SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.33': ('Comprehensive SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.34': ('Comprehensive 3D SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.40': ('Procedure Log Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.50': ('Mammography CAD SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.59': ('Key Object Selection Document Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.65': ('Chest CAD SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.67': ('X-Ray Radiation Dose SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.69': ('Colon CAD SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.88.70': ('Implantation Plan SR Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.104.1': ('Encapsulated PDF Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.104.2': ('Encapsulated CDA Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.128': ('Positron Emission Tomography Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.128.1': ('Legacy Converted Enhanced PET Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.129': ('Standalone PET Curve Storage', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.1.130': ('Enhanced PET Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.131': ('Basic Structured Display Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.1': ('RT Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.2': ('RT Dose Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.3': ('RT Structure Set Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.4': ('RT Beams Treatment Record Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.5': ('RT Plan Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.6': ('RT Brachy Treatment Record Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.7': ('RT Treatment Summary Record Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.8': ('RT Ion Plan Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.481.9': ('RT Ion Beams Treatment Record Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.1': ('DICOS CT Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.2.1': ('DICOS Digital X-Ray Image Storage - For Presentation', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.2.2': ('DICOS Digital X-Ray Image Storage - For Processing', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.3': ('DICOS Threat Detection Report Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.4': ('DICOS 2D AIT Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.5': ('DICOS 3D AIT Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.501.6': ('DICOS Quadrupole Resonance (QR) Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.601.1': ('Eddy Current Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.1.601.2': ('Eddy Current Multi-frame Image Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.1.1': ('Patient Root Query/Retrieve Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.1.2': ('Patient Root Query/Retrieve Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.1.3': ('Patient Root Query/Retrieve Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.2.1': ('Study Root Query/Retrieve Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.2.2': ('Study Root Query/Retrieve Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.2.3': ('Study Root Query/Retrieve Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.3.1': ('Patient/Study Only Query/Retrieve Information Model - FIND', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.2.3.2': ('Patient/Study Only Query/Retrieve Information Model - MOVE', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.2.3.3': ('Patient/Study Only Query/Retrieve Information Model - GET', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.1.2.4.2': ('Composite Instance Root Retrieve - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.4.3': ('Composite Instance Root Retrieve - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.1.2.5.3': ('Composite Instance Retrieve Without Bulk Data - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.31': ('Modality Worklist Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.32.1': ('General Purpose Worklist Information Model - FIND', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.32.2': ('General Purpose Scheduled Procedure Step SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.32.3': ('General Purpose Performed Procedure Step SOP Class', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.32': ('General Purpose Worklist Management Meta SOP Class', 'Meta SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.33': ('Instance Availability Notification SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.1': ('RT Beams Delivery Instruction Storage - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.2': ('RT Conventional Machine Verification - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.3': ('RT Ion Machine Verification - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.4': ('Unified Worklist and Procedure Step Service Class - Trial', 'Service Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.4.1': ('Unified Procedure Step - Push SOP Class - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.4.2': ('Unified Procedure Step - Watch SOP Class - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.4.3': ('Unified Procedure Step - Pull SOP Class - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.4.4': ('Unified Procedure Step - Event SOP Class - Trial', 'SOP Class', '', 'Retired'), - '1.2.840.10008.5.1.4.34.5': ('Unified Worklist and Procedure Step SOP Instance', 'Well-known SOP Instance', '', ''), - '1.2.840.10008.5.1.4.34.6': ('Unified Worklist and Procedure Step Service Class', 'Service Class', '', ''), - '1.2.840.10008.5.1.4.34.6.1': ('Unified Procedure Step - Push SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.6.2': ('Unified Procedure Step - Watch SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.6.3': ('Unified Procedure Step - Pull SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.6.4': ('Unified Procedure Step - Event SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.7': ('RT Beams Delivery Instruction Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.8': ('RT Conventional Machine Verification', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.34.9': ('RT Ion Machine Verification', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.37.1': ('General Relevant Patient Information Query', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.37.2': ('Breast Imaging Relevant Patient Information Query', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.37.3': ('Cardiac Relevant Patient Information Query', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.38.1': ('Hanging Protocol Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.38.2': ('Hanging Protocol Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.38.3': ('Hanging Protocol Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.38.4': ('Hanging Protocol Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.39.1': ('Color Palette Storage', 'Transfer', '', ''), - '1.2.840.10008.5.1.4.39.2': ('Color Palette Information Model - FIND', 'Query/Retrieve', '', ''), - '1.2.840.10008.5.1.4.39.3': ('Color Palette Information Model - MOVE', 'Query/Retrieve', '', ''), - '1.2.840.10008.5.1.4.39.4': ('Color Palette Information Model - GET', 'Query/Retrieve', '', ''), - '1.2.840.10008.5.1.4.41': ('Product Characteristics Query SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.42': ('Substance Approval Query SOP Class', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.43.1': ('Generic Implant Template Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.43.2': ('Generic Implant Template Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.43.3': ('Generic Implant Template Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.43.4': ('Generic Implant Template Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.44.1': ('Implant Assembly Template Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.44.2': ('Implant Assembly Template Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.44.3': ('Implant Assembly Template Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.44.4': ('Implant Assembly Template Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.45.1': ('Implant Template Group Storage', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.45.2': ('Implant Template Group Information Model - FIND', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.45.3': ('Implant Template Group Information Model - MOVE', 'SOP Class', '', ''), - '1.2.840.10008.5.1.4.45.4': ('Implant Template Group Information Model - GET', 'SOP Class', '', ''), - '1.2.840.10008.7.1.1': ('Native DICOM Model', 'Application Hosting Model', '', ''), - '1.2.840.10008.7.1.2': ('Abstract Multi-Dimensional Image Model', 'Application Hosting Model', '', ''), - '1.2.840.10008.15.0.3.1': ('dicomDeviceName', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.2': ('dicomDescription', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.3': ('dicomManufacturer', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.4': ('dicomManufacturerModelName', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.5': ('dicomSoftwareVersion', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.6': ('dicomVendorData', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.7': ('dicomAETitle', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.8': ('dicomNetworkConnectionReference', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.9': ('dicomApplicationCluster', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.10': ('dicomAssociationInitiator', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.11': ('dicomAssociationAcceptor', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.12': ('dicomHostname', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.13': ('dicomPort', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.14': ('dicomSOPClass', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.15': ('dicomTransferRole', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.16': ('dicomTransferSyntax', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.17': ('dicomPrimaryDeviceType', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.18': ('dicomRelatedDeviceReference', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.19': ('dicomPreferredCalledAETitle', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.20': ('dicomTLSCyphersuite', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.21': ('dicomAuthorizedNodeCertificateReference', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.22': ('dicomThisNodeCertificateReference', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.23': ('dicomInstalled', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.24': ('dicomStationName', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.25': ('dicomDeviceSerialNumber', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.26': ('dicomInstitutionName', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.27': ('dicomInstitutionAddress', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.28': ('dicomInstitutionDepartmentName', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.29': ('dicomIssuerOfPatientID', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.30': ('dicomPreferredCallingAETitle', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.3.31': ('dicomSupportedCharacterSet', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.1': ('dicomConfigurationRoot', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.2': ('dicomDevicesRoot', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.3': ('dicomUniqueAETitlesRegistryRoot', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.4': ('dicomDevice', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.5': ('dicomNetworkAE', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.6': ('dicomNetworkConnection', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.7': ('dicomUniqueAETitle', 'LDAP OID', '', ''), - '1.2.840.10008.15.0.4.8': ('dicomTransferCapability', 'LDAP OID', '', ''), - '1.2.840.10008.15.1.1': ('Universal Coordinated Time', 'Synchronization Frame of Reference', '', '')} diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/__init__.py deleted file mode 100644 index addec906..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/__init__.py +++ /dev/null @@ -1,84 +0,0 @@ -# __init__.py for Dicom package -"""pydicom package -- easily handle DICOM files. See Quick Start below. - -Copyright (c) 2008-2012 Darcy Mason -This file is part of pydicom, released under a modified MIT license. - See the file license.txt included with this distribution, also - available at https://github.com/darcymason/pydicom - ------------ -Quick Start ------------ -1. A simple program to read a dicom file, modify a value, and write to a new file:: - import dicom - dataset = dicom.read_file("file1.dcm") - dataset.PatientName = 'anonymous' - dataset.save_as("file2.dcm") - -2. See the files in the examples directory that came with this package for more -examples, including some interactive sessions. - -3. Learn the methods of the Dataset class; that is the one you will -work with most directly. - -4. Questions/comments etc can be directed to the pydicom google group at -http://groups.google.com/group/pydicom -""" - -import sys -if sys.version_info < (2, 6, 0): - raise ImportError("pydicom > 0.9.7 requires python 2.6 or later") -in_py3 = sys.version_info[0] > 2 - -# Set up logging system for the whole package. -# In each module, set logger=logging.getLogger('pydicom') and the same instance -# will be used by all -# At command line, turn on debugging for all pydicom functions with: -# import dicom -# dicom.debug() -# Turn off debugging with -# dicom.debug(False) -import logging -import warnings - -# Warning specific to pydicom 0.9.9-1, a version released for pypi 'dicom' project, -# to point people to new pydicom 1.0 -msg = """ -This code is using an older version of pydicom, which is no longer -maintained as of Jan 2017. You can access the new pydicom features and API -by installing `pydicom` from PyPI. -See 'Transitioning to pydicom 1.x' section at pydicom.readthedocs.org -for more information. -""" -warnings.warn(msg) - -def debug(debug_on=True): - """Turn debugging of DICOM file reading and writing on or off. - When debugging is on, file location and details about the elements read at - that location are logged to the 'pydicom' logger using python's logging module. - - :param debug_on: True (default) to turn on debugging, False to turn off. - """ - global logger, debugging - if debug_on: - logger.setLevel(logging.DEBUG) - debugging = True - else: - logger.setLevel(logging.WARNING) - debugging = False - -logger = logging.getLogger('pydicom') -handler = logging.StreamHandler() -# formatter = logging.Formatter("%(asctime)s %(levelname)s: %(message)s", "%Y-%m-%d %H:%M") #'%(asctime)s %(levelname)s %(message)s' -formatter = logging.Formatter("%(message)s") -handler.setFormatter(formatter) -logger.addHandler(handler) -debug(False) # force level=WARNING, in case logging default is set differently (issue 102) - -# For convenience, import the read_file and write_file functions (most used) -# into the "dicom" namespace. -from dicom.filereader import read_file, read_dicomdir # noQA -from dicom.filewriter import write_file # noQA - -__version__ = "0.9.9-1" -__version_info__ = (0, 9, 9) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_dicom_dict.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_dicom_dict.py deleted file mode 100644 index 77f2bdec..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_dicom_dict.py +++ /dev/null @@ -1,3806 +0,0 @@ -# _dicom_dict.py -"""DICOM data dictionary auto-generated by docbook_to_dict2013.py (in Rickard Holmberg's clone)""" -from __future__ import absolute_import - -DicomDictionary = { - 0x00000000: ('UL', '1', "Command Group Length", '', 'CommandGroupLength'), - 0x00000001: ('UL', '1', "Command Length to End", 'Retired', 'CommandLengthToEnd'), - 0x00000002: ('UI', '1', "Affected SOP Class UID", '', 'AffectedSOPClassUID'), - 0x00000003: ('UI', '1', "Requested SOP Class UID", '', 'RequestedSOPClassUID'), - 0x00000010: ('SH', '1', "Command Recognition Code", 'Retired', 'CommandRecognitionCode'), - 0x00000100: ('US', '1', "Command Field", '', 'CommandField'), - 0x00000110: ('US', '1', "Message ID", '', 'MessageID'), - 0x00000120: ('US', '1', "Message ID Being Responded To", '', 'MessageIDBeingRespondedTo'), - 0x00000200: ('AE', '1', "Initiator", 'Retired', 'Initiator'), - 0x00000300: ('AE', '1', "Receiver", 'Retired', 'Receiver'), - 0x00000400: ('AE', '1', "Find Location", 'Retired', 'FindLocation'), - 0x00000600: ('AE', '1', "Move Destination", '', 'MoveDestination'), - 0x00000700: ('US', '1', "Priority", '', 'Priority'), - 0x00000800: ('US', '1', "Command Data Set Type", '', 'CommandDataSetType'), - 0x00000850: ('US', '1', "Number of Matches", 'Retired', 'NumberOfMatches'), - 0x00000860: ('US', '1', "Response Sequence Number", 'Retired', 'ResponseSequenceNumber'), - 0x00000900: ('US', '1', "Status", '', 'Status'), - 0x00000901: ('AT', '1-n', "Offending Element", '', 'OffendingElement'), - 0x00000902: ('LO', '1', "Error Comment", '', 'ErrorComment'), - 0x00000903: ('US', '1', "Error ID", '', 'ErrorID'), - 0x00001000: ('UI', '1', "Affected SOP Instance UID", '', 'AffectedSOPInstanceUID'), - 0x00001001: ('UI', '1', "Requested SOP Instance UID", '', 'RequestedSOPInstanceUID'), - 0x00001002: ('US', '1', "Event Type ID", '', 'EventTypeID'), - 0x00001005: ('AT', '1-n', "Attribute Identifier List", '', 'AttributeIdentifierList'), - 0x00001008: ('US', '1', "Action Type ID", '', 'ActionTypeID'), - 0x00001020: ('US', '1', "Number of Remaining Sub-operations", '', 'NumberOfRemainingSuboperations'), - 0x00001021: ('US', '1', "Number of Completed Sub-operations", '', 'NumberOfCompletedSuboperations'), - 0x00001022: ('US', '1', "Number of Failed Sub-operations", '', 'NumberOfFailedSuboperations'), - 0x00001023: ('US', '1', "Number of Warning Sub-operations", '', 'NumberOfWarningSuboperations'), - 0x00001030: ('AE', '1', "Move Originator Application Entity Title", '', 'MoveOriginatorApplicationEntityTitle'), - 0x00001031: ('US', '1', "Move Originator Message ID", '', 'MoveOriginatorMessageID'), - 0x00004000: ('LT', '1', "Dialog Receiver", 'Retired', 'DialogReceiver'), - 0x00004010: ('LT', '1', "Terminal Type", 'Retired', 'TerminalType'), - 0x00005010: ('SH', '1', "Message Set ID", 'Retired', 'MessageSetID'), - 0x00005020: ('SH', '1', "End Message ID", 'Retired', 'EndMessageID'), - 0x00005110: ('LT', '1', "Display Format", 'Retired', 'DisplayFormat'), - 0x00005120: ('LT', '1', "Page Position ID", 'Retired', 'PagePositionID'), - 0x00005130: ('CS', '1', "Text Format ID", 'Retired', 'TextFormatID'), - 0x00005140: ('CS', '1', "Normal/Reverse", 'Retired', 'NormalReverse'), - 0x00005150: ('CS', '1', "Add Gray Scale", 'Retired', 'AddGrayScale'), - 0x00005160: ('CS', '1', "Borders", 'Retired', 'Borders'), - 0x00005170: ('IS', '1', "Copies", 'Retired', 'Copies'), - 0x00005180: ('CS', '1', "Command Magnification Type", 'Retired', 'CommandMagnificationType'), - 0x00005190: ('CS', '1', "Erase", 'Retired', 'Erase'), - 0x000051A0: ('CS', '1', "Print", 'Retired', 'Print'), - 0x000051B0: ('US', '1-n', "Overlays", 'Retired', 'Overlays'), - 0x00020000: ('UL', '1', "File Meta Information Group Length", '', 'FileMetaInformationGroupLength'), - 0x00020001: ('OB', '1', "File Meta Information Version", '', 'FileMetaInformationVersion'), - 0x00020002: ('UI', '1', "Media Storage SOP Class UID", '', 'MediaStorageSOPClassUID'), - 0x00020003: ('UI', '1', "Media Storage SOP Instance UID", '', 'MediaStorageSOPInstanceUID'), - 0x00020010: ('UI', '1', "Transfer Syntax UID", '', 'TransferSyntaxUID'), - 0x00020012: ('UI', '1', "Implementation Class UID", '', 'ImplementationClassUID'), - 0x00020013: ('SH', '1', "Implementation Version Name", '', 'ImplementationVersionName'), - 0x00020016: ('AE', '1', "Source Application Entity Title", '', 'SourceApplicationEntityTitle'), - 0x00020100: ('UI', '1', "Private Information Creator UID", '', 'PrivateInformationCreatorUID'), - 0x00020102: ('OB', '1', "Private Information", '', 'PrivateInformation'), - 0x00041130: ('CS', '1', "File-set ID", '', 'FileSetID'), - 0x00041141: ('CS', '1-8', "File-set Descriptor File ID", '', 'FileSetDescriptorFileID'), - 0x00041142: ('CS', '1', "Specific Character Set of File-set Descriptor File", '', 'SpecificCharacterSetOfFileSetDescriptorFile'), - 0x00041200: ('UL', '1', "Offset of the First Directory Record of the Root Directory Entity", '', 'OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity'), - 0x00041202: ('UL', '1', "Offset of the Last Directory Record of the Root Directory Entity", '', 'OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity'), - 0x00041212: ('US', '1', "File-set Consistency Flag", '', 'FileSetConsistencyFlag'), - 0x00041220: ('SQ', '1', "Directory Record Sequence", '', 'DirectoryRecordSequence'), - 0x00041400: ('UL', '1', "Offset of the Next Directory Record", '', 'OffsetOfTheNextDirectoryRecord'), - 0x00041410: ('US', '1', "Record In-use Flag", '', 'RecordInUseFlag'), - 0x00041420: ('UL', '1', "Offset of Referenced Lower-Level Directory Entity", '', 'OffsetOfReferencedLowerLevelDirectoryEntity'), - 0x00041430: ('CS', '1', "Directory Record Type", '', 'DirectoryRecordType'), - 0x00041432: ('UI', '1', "Private Record UID", '', 'PrivateRecordUID'), - 0x00041500: ('CS', '1-8', "Referenced File ID", '', 'ReferencedFileID'), - 0x00041504: ('UL', '1', "MRDR Directory Record Offset", 'Retired', 'MRDRDirectoryRecordOffset'), - 0x00041510: ('UI', '1', "Referenced SOP Class UID in File", '', 'ReferencedSOPClassUIDInFile'), - 0x00041511: ('UI', '1', "Referenced SOP Instance UID in File", '', 'ReferencedSOPInstanceUIDInFile'), - 0x00041512: ('UI', '1', "Referenced Transfer Syntax UID in File", '', 'ReferencedTransferSyntaxUIDInFile'), - 0x0004151A: ('UI', '1-n', "Referenced Related General SOP Class UID in File", '', 'ReferencedRelatedGeneralSOPClassUIDInFile'), - 0x00041600: ('UL', '1', "Number of References", 'Retired', 'NumberOfReferences'), - 0x00080001: ('UL', '1', "Length to End", 'Retired', 'LengthToEnd'), - 0x00080005: ('CS', '1-n', "Specific Character Set", '', 'SpecificCharacterSet'), - 0x00080006: ('SQ', '1', "Language Code Sequence", '', 'LanguageCodeSequence'), - 0x00080008: ('CS', '2-n', "Image Type", '', 'ImageType'), - 0x00080010: ('SH', '1', "Recognition Code", 'Retired', 'RecognitionCode'), - 0x00080012: ('DA', '1', "Instance Creation Date", '', 'InstanceCreationDate'), - 0x00080013: ('TM', '1', "Instance Creation Time", '', 'InstanceCreationTime'), - 0x00080014: ('UI', '1', "Instance Creator UID", '', 'InstanceCreatorUID'), - 0x00080015: ('DT', '1', "Instance Coercion DateTime", '', 'InstanceCoercionDateTime'), - 0x00080016: ('UI', '1', "SOP Class UID", '', 'SOPClassUID'), - 0x00080018: ('UI', '1', "SOP Instance UID", '', 'SOPInstanceUID'), - 0x0008001A: ('UI', '1-n', "Related General SOP Class UID", '', 'RelatedGeneralSOPClassUID'), - 0x0008001B: ('UI', '1', "Original Specialized SOP Class UID", '', 'OriginalSpecializedSOPClassUID'), - 0x00080020: ('DA', '1', "Study Date", '', 'StudyDate'), - 0x00080021: ('DA', '1', "Series Date", '', 'SeriesDate'), - 0x00080022: ('DA', '1', "Acquisition Date", '', 'AcquisitionDate'), - 0x00080023: ('DA', '1', "Content Date", '', 'ContentDate'), - 0x00080024: ('DA', '1', "Overlay Date", 'Retired', 'OverlayDate'), - 0x00080025: ('DA', '1', "Curve Date", 'Retired', 'CurveDate'), - 0x0008002A: ('DT', '1', "Acquisition DateTime", '', 'AcquisitionDateTime'), - 0x00080030: ('TM', '1', "Study Time", '', 'StudyTime'), - 0x00080031: ('TM', '1', "Series Time", '', 'SeriesTime'), - 0x00080032: ('TM', '1', "Acquisition Time", '', 'AcquisitionTime'), - 0x00080033: ('TM', '1', "Content Time", '', 'ContentTime'), - 0x00080034: ('TM', '1', "Overlay Time", 'Retired', 'OverlayTime'), - 0x00080035: ('TM', '1', "Curve Time", 'Retired', 'CurveTime'), - 0x00080040: ('US', '1', "Data Set Type", 'Retired', 'DataSetType'), - 0x00080041: ('LO', '1', "Data Set Subtype", 'Retired', 'DataSetSubtype'), - 0x00080042: ('CS', '1', "Nuclear Medicine Series Type", 'Retired', 'NuclearMedicineSeriesType'), - 0x00080050: ('SH', '1', "Accession Number", '', 'AccessionNumber'), - 0x00080051: ('SQ', '1', "Issuer of Accession Number Sequence", '', 'IssuerOfAccessionNumberSequence'), - 0x00080052: ('CS', '1', "Query/Retrieve Level", '', 'QueryRetrieveLevel'), - 0x00080053: ('CS', '1', "Query/Retrieve View", '', 'QueryRetrieveView'), - 0x00080054: ('AE', '1-n', "Retrieve AE Title", '', 'RetrieveAETitle'), - 0x00080056: ('CS', '1', "Instance Availability", '', 'InstanceAvailability'), - 0x00080058: ('UI', '1-n', "Failed SOP Instance UID List", '', 'FailedSOPInstanceUIDList'), - 0x00080060: ('CS', '1', "Modality", '', 'Modality'), - 0x00080061: ('CS', '1-n', "Modalities in Study", '', 'ModalitiesInStudy'), - 0x00080062: ('UI', '1-n', "SOP Classes in Study", '', 'SOPClassesInStudy'), - 0x00080064: ('CS', '1', "Conversion Type", '', 'ConversionType'), - 0x00080068: ('CS', '1', "Presentation Intent Type", '', 'PresentationIntentType'), - 0x00080070: ('LO', '1', "Manufacturer", '', 'Manufacturer'), - 0x00080080: ('LO', '1', "Institution Name", '', 'InstitutionName'), - 0x00080081: ('ST', '1', "Institution Address", '', 'InstitutionAddress'), - 0x00080082: ('SQ', '1', "Institution Code Sequence", '', 'InstitutionCodeSequence'), - 0x00080090: ('PN', '1', "Referring Physician's Name", '', 'ReferringPhysicianName'), - 0x00080092: ('ST', '1', "Referring Physician's Address", '', 'ReferringPhysicianAddress'), - 0x00080094: ('SH', '1-n', "Referring Physician's Telephone Numbers", '', 'ReferringPhysicianTelephoneNumbers'), - 0x00080096: ('SQ', '1', "Referring Physician Identification Sequence", '', 'ReferringPhysicianIdentificationSequence'), - 0x00080100: ('SH', '1', "Code Value", '', 'CodeValue'), - 0x00080101: ('LO', '1', "Extended Code Value", '', 'ExtendedCodeValue'), - 0x00080102: ('SH', '1', "Coding Scheme Designator", '', 'CodingSchemeDesignator'), - 0x00080103: ('SH', '1', "Coding Scheme Version", '', 'CodingSchemeVersion'), - 0x00080104: ('LO', '1', "Code Meaning", '', 'CodeMeaning'), - 0x00080105: ('CS', '1', "Mapping Resource", '', 'MappingResource'), - 0x00080106: ('DT', '1', "Context Group Version", '', 'ContextGroupVersion'), - 0x00080107: ('DT', '1', "Context Group Local Version", '', 'ContextGroupLocalVersion'), - 0x00080108: ('LT', '1', "Extended Code Meaning", '', 'ExtendedCodeMeaning'), - 0x0008010B: ('CS', '1', "Context Group Extension Flag", '', 'ContextGroupExtensionFlag'), - 0x0008010C: ('UI', '1', "Coding Scheme UID", '', 'CodingSchemeUID'), - 0x0008010D: ('UI', '1', "Context Group Extension Creator UID", '', 'ContextGroupExtensionCreatorUID'), - 0x0008010F: ('CS', '1', "Context Identifier", '', 'ContextIdentifier'), - 0x00080110: ('SQ', '1', "Coding Scheme Identification Sequence", '', 'CodingSchemeIdentificationSequence'), - 0x00080112: ('LO', '1', "Coding Scheme Registry", '', 'CodingSchemeRegistry'), - 0x00080114: ('ST', '1', "Coding Scheme External ID", '', 'CodingSchemeExternalID'), - 0x00080115: ('ST', '1', "Coding Scheme Name", '', 'CodingSchemeName'), - 0x00080116: ('ST', '1', "Coding Scheme Responsible Organization", '', 'CodingSchemeResponsibleOrganization'), - 0x00080117: ('UI', '1', "Context UID", '', 'ContextUID'), - 0x00080201: ('SH', '1', "Timezone Offset From UTC", '', 'TimezoneOffsetFromUTC'), - 0x00081000: ('AE', '1', "Network ID", 'Retired', 'NetworkID'), - 0x00081010: ('SH', '1', "Station Name", '', 'StationName'), - 0x00081030: ('LO', '1', "Study Description", '', 'StudyDescription'), - 0x00081032: ('SQ', '1', "Procedure Code Sequence", '', 'ProcedureCodeSequence'), - 0x0008103E: ('LO', '1', "Series Description", '', 'SeriesDescription'), - 0x0008103F: ('SQ', '1', "Series Description Code Sequence", '', 'SeriesDescriptionCodeSequence'), - 0x00081040: ('LO', '1', "Institutional Department Name", '', 'InstitutionalDepartmentName'), - 0x00081048: ('PN', '1-n', "Physician(s) of Record", '', 'PhysiciansOfRecord'), - 0x00081049: ('SQ', '1', "Physician(s) of Record Identification Sequence", '', 'PhysiciansOfRecordIdentificationSequence'), - 0x00081050: ('PN', '1-n', "Performing Physician's Name", '', 'PerformingPhysicianName'), - 0x00081052: ('SQ', '1', "Performing Physician Identification Sequence", '', 'PerformingPhysicianIdentificationSequence'), - 0x00081060: ('PN', '1-n', "Name of Physician(s) Reading Study", '', 'NameOfPhysiciansReadingStudy'), - 0x00081062: ('SQ', '1', "Physician(s) Reading Study Identification Sequence", '', 'PhysiciansReadingStudyIdentificationSequence'), - 0x00081070: ('PN', '1-n', "Operators' Name", '', 'OperatorsName'), - 0x00081072: ('SQ', '1', "Operator Identification Sequence", '', 'OperatorIdentificationSequence'), - 0x00081080: ('LO', '1-n', "Admitting Diagnoses Description", '', 'AdmittingDiagnosesDescription'), - 0x00081084: ('SQ', '1', "Admitting Diagnoses Code Sequence", '', 'AdmittingDiagnosesCodeSequence'), - 0x00081090: ('LO', '1', "Manufacturer's Model Name", '', 'ManufacturerModelName'), - 0x00081100: ('SQ', '1', "Referenced Results Sequence", 'Retired', 'ReferencedResultsSequence'), - 0x00081110: ('SQ', '1', "Referenced Study Sequence", '', 'ReferencedStudySequence'), - 0x00081111: ('SQ', '1', "Referenced Performed Procedure Step Sequence", '', 'ReferencedPerformedProcedureStepSequence'), - 0x00081115: ('SQ', '1', "Referenced Series Sequence", '', 'ReferencedSeriesSequence'), - 0x00081120: ('SQ', '1', "Referenced Patient Sequence", '', 'ReferencedPatientSequence'), - 0x00081125: ('SQ', '1', "Referenced Visit Sequence", '', 'ReferencedVisitSequence'), - 0x00081130: ('SQ', '1', "Referenced Overlay Sequence", 'Retired', 'ReferencedOverlaySequence'), - 0x00081134: ('SQ', '1', "Referenced Stereometric Instance Sequence", '', 'ReferencedStereometricInstanceSequence'), - 0x0008113A: ('SQ', '1', "Referenced Waveform Sequence", '', 'ReferencedWaveformSequence'), - 0x00081140: ('SQ', '1', "Referenced Image Sequence", '', 'ReferencedImageSequence'), - 0x00081145: ('SQ', '1', "Referenced Curve Sequence", 'Retired', 'ReferencedCurveSequence'), - 0x0008114A: ('SQ', '1', "Referenced Instance Sequence", '', 'ReferencedInstanceSequence'), - 0x0008114B: ('SQ', '1', "Referenced Real World Value Mapping Instance Sequence", '', 'ReferencedRealWorldValueMappingInstanceSequence'), - 0x00081150: ('UI', '1', "Referenced SOP Class UID", '', 'ReferencedSOPClassUID'), - 0x00081155: ('UI', '1', "Referenced SOP Instance UID", '', 'ReferencedSOPInstanceUID'), - 0x0008115A: ('UI', '1-n', "SOP Classes Supported", '', 'SOPClassesSupported'), - 0x00081160: ('IS', '1-n', "Referenced Frame Number", '', 'ReferencedFrameNumber'), - 0x00081161: ('UL', '1-n', "Simple Frame List", '', 'SimpleFrameList'), - 0x00081162: ('UL', '3-3n', "Calculated Frame List", '', 'CalculatedFrameList'), - 0x00081163: ('FD', '2', "TimeRange", '', 'TimeRange'), - 0x00081164: ('SQ', '1', "Frame Extraction Sequence", '', 'FrameExtractionSequence'), - 0x00081167: ('UI', '1', "Multi-frame Source SOP Instance UID", '', 'MultiFrameSourceSOPInstanceUID'), - 0x00081190: ('UT', '1', "Retrieve URL", '', 'RetrieveURL'), - 0x00081195: ('UI', '1', "Transaction UID", '', 'TransactionUID'), - 0x00081196: ('US', '1', "Warning Reason", '', 'WarningReason'), - 0x00081197: ('US', '1', "Failure Reason", '', 'FailureReason'), - 0x00081198: ('SQ', '1', "Failed SOP Sequence", '', 'FailedSOPSequence'), - 0x00081199: ('SQ', '1', "Referenced SOP Sequence", '', 'ReferencedSOPSequence'), - 0x00081200: ('SQ', '1', "Studies Containing Other Referenced Instances Sequence", '', 'StudiesContainingOtherReferencedInstancesSequence'), - 0x00081250: ('SQ', '1', "Related Series Sequence", '', 'RelatedSeriesSequence'), - 0x00082110: ('CS', '1', "Lossy Image Compression (Retired)", 'Retired', 'LossyImageCompressionRetired'), - 0x00082111: ('ST', '1', "Derivation Description", '', 'DerivationDescription'), - 0x00082112: ('SQ', '1', "Source Image Sequence", '', 'SourceImageSequence'), - 0x00082120: ('SH', '1', "Stage Name", '', 'StageName'), - 0x00082122: ('IS', '1', "Stage Number", '', 'StageNumber'), - 0x00082124: ('IS', '1', "Number of Stages", '', 'NumberOfStages'), - 0x00082127: ('SH', '1', "View Name", '', 'ViewName'), - 0x00082128: ('IS', '1', "View Number", '', 'ViewNumber'), - 0x00082129: ('IS', '1', "Number of Event Timers", '', 'NumberOfEventTimers'), - 0x0008212A: ('IS', '1', "Number of Views in Stage", '', 'NumberOfViewsInStage'), - 0x00082130: ('DS', '1-n', "Event Elapsed Time(s)", '', 'EventElapsedTimes'), - 0x00082132: ('LO', '1-n', "Event Timer Name(s)", '', 'EventTimerNames'), - 0x00082133: ('SQ', '1', "Event Timer Sequence", '', 'EventTimerSequence'), - 0x00082134: ('FD', '1', "Event Time Offset", '', 'EventTimeOffset'), - 0x00082135: ('SQ', '1', "Event Code Sequence", '', 'EventCodeSequence'), - 0x00082142: ('IS', '1', "Start Trim", '', 'StartTrim'), - 0x00082143: ('IS', '1', "Stop Trim", '', 'StopTrim'), - 0x00082144: ('IS', '1', "Recommended Display Frame Rate", '', 'RecommendedDisplayFrameRate'), - 0x00082200: ('CS', '1', "Transducer Position", 'Retired', 'TransducerPosition'), - 0x00082204: ('CS', '1', "Transducer Orientation", 'Retired', 'TransducerOrientation'), - 0x00082208: ('CS', '1', "Anatomic Structure", 'Retired', 'AnatomicStructure'), - 0x00082218: ('SQ', '1', "Anatomic Region Sequence", '', 'AnatomicRegionSequence'), - 0x00082220: ('SQ', '1', "Anatomic Region Modifier Sequence", '', 'AnatomicRegionModifierSequence'), - 0x00082228: ('SQ', '1', "Primary Anatomic Structure Sequence", '', 'PrimaryAnatomicStructureSequence'), - 0x00082229: ('SQ', '1', "Anatomic Structure, Space or Region Sequence", '', 'AnatomicStructureSpaceOrRegionSequence'), - 0x00082230: ('SQ', '1', "Primary Anatomic Structure Modifier Sequence", '', 'PrimaryAnatomicStructureModifierSequence'), - 0x00082240: ('SQ', '1', "Transducer Position Sequence", 'Retired', 'TransducerPositionSequence'), - 0x00082242: ('SQ', '1', "Transducer Position Modifier Sequence", 'Retired', 'TransducerPositionModifierSequence'), - 0x00082244: ('SQ', '1', "Transducer Orientation Sequence", 'Retired', 'TransducerOrientationSequence'), - 0x00082246: ('SQ', '1', "Transducer Orientation Modifier Sequence", 'Retired', 'TransducerOrientationModifierSequence'), - 0x00082251: ('SQ', '1', "Anatomic Structure Space Or Region Code Sequence (Trial)", 'Retired', 'AnatomicStructureSpaceOrRegionCodeSequenceTrial'), - 0x00082253: ('SQ', '1', "Anatomic Portal Of Entrance Code Sequence (Trial)", 'Retired', 'AnatomicPortalOfEntranceCodeSequenceTrial'), - 0x00082255: ('SQ', '1', "Anatomic Approach Direction Code Sequence (Trial)", 'Retired', 'AnatomicApproachDirectionCodeSequenceTrial'), - 0x00082256: ('ST', '1', "Anatomic Perspective Description (Trial)", 'Retired', 'AnatomicPerspectiveDescriptionTrial'), - 0x00082257: ('SQ', '1', "Anatomic Perspective Code Sequence (Trial)", 'Retired', 'AnatomicPerspectiveCodeSequenceTrial'), - 0x00082258: ('ST', '1', "Anatomic Location Of Examining Instrument Description (Trial)", 'Retired', 'AnatomicLocationOfExaminingInstrumentDescriptionTrial'), - 0x00082259: ('SQ', '1', "Anatomic Location Of Examining Instrument Code Sequence (Trial)", 'Retired', 'AnatomicLocationOfExaminingInstrumentCodeSequenceTrial'), - 0x0008225A: ('SQ', '1', "Anatomic Structure Space Or Region Modifier Code Sequence (Trial)", 'Retired', 'AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial'), - 0x0008225C: ('SQ', '1', "OnAxis Background Anatomic Structure Code Sequence (Trial)", 'Retired', 'OnAxisBackgroundAnatomicStructureCodeSequenceTrial'), - 0x00083001: ('SQ', '1', "Alternate Representation Sequence", '', 'AlternateRepresentationSequence'), - 0x00083010: ('UI', '1-n', "Irradiation Event UID", '', 'IrradiationEventUID'), - 0x00084000: ('LT', '1', "Identifying Comments", 'Retired', 'IdentifyingComments'), - 0x00089007: ('CS', '4', "Frame Type", '', 'FrameType'), - 0x00089092: ('SQ', '1', "Referenced Image Evidence Sequence", '', 'ReferencedImageEvidenceSequence'), - 0x00089121: ('SQ', '1', "Referenced Raw Data Sequence", '', 'ReferencedRawDataSequence'), - 0x00089123: ('UI', '1', "Creator-Version UID", '', 'CreatorVersionUID'), - 0x00089124: ('SQ', '1', "Derivation Image Sequence", '', 'DerivationImageSequence'), - 0x00089154: ('SQ', '1', "Source Image Evidence Sequence", '', 'SourceImageEvidenceSequence'), - 0x00089205: ('CS', '1', "Pixel Presentation", '', 'PixelPresentation'), - 0x00089206: ('CS', '1', "Volumetric Properties", '', 'VolumetricProperties'), - 0x00089207: ('CS', '1', "Volume Based Calculation Technique", '', 'VolumeBasedCalculationTechnique'), - 0x00089208: ('CS', '1', "Complex Image Component", '', 'ComplexImageComponent'), - 0x00089209: ('CS', '1', "Acquisition Contrast", '', 'AcquisitionContrast'), - 0x00089215: ('SQ', '1', "Derivation Code Sequence", '', 'DerivationCodeSequence'), - 0x00089237: ('SQ', '1', "Referenced Presentation State Sequence", '', 'ReferencedPresentationStateSequence'), - 0x00089410: ('SQ', '1', "Referenced Other Plane Sequence", '', 'ReferencedOtherPlaneSequence'), - 0x00089458: ('SQ', '1', "Frame Display Sequence", '', 'FrameDisplaySequence'), - 0x00089459: ('FL', '1', "Recommended Display Frame Rate in Float", '', 'RecommendedDisplayFrameRateInFloat'), - 0x00089460: ('CS', '1', "Skip Frame Range Flag", '', 'SkipFrameRangeFlag'), - 0x00100010: ('PN', '1', "Patient's Name", '', 'PatientName'), - 0x00100020: ('LO', '1', "Patient ID", '', 'PatientID'), - 0x00100021: ('LO', '1', "Issuer of Patient ID", '', 'IssuerOfPatientID'), - 0x00100022: ('CS', '1', "Type of Patient ID", '', 'TypeOfPatientID'), - 0x00100024: ('SQ', '1', "Issuer of Patient ID Qualifiers Sequence", '', 'IssuerOfPatientIDQualifiersSequence'), - 0x00100030: ('DA', '1', "Patient's Birth Date", '', 'PatientBirthDate'), - 0x00100032: ('TM', '1', "Patient's Birth Time", '', 'PatientBirthTime'), - 0x00100040: ('CS', '1', "Patient's Sex", '', 'PatientSex'), - 0x00100050: ('SQ', '1', "Patient's Insurance Plan Code Sequence", '', 'PatientInsurancePlanCodeSequence'), - 0x00100101: ('SQ', '1', "Patient's Primary Language Code Sequence", '', 'PatientPrimaryLanguageCodeSequence'), - 0x00100102: ('SQ', '1', "Patient's Primary Language Modifier Code Sequence", '', 'PatientPrimaryLanguageModifierCodeSequence'), - 0x00100200: ('CS', '1', "Quality Control Subject", '', 'QualityControlSubject'), - 0x00100201: ('SQ', '1', "Quality Control Subject Type Code Sequence", '', 'QualityControlSubjectTypeCodeSequence'), - 0x00101000: ('LO', '1-n', "Other Patient IDs", '', 'OtherPatientIDs'), - 0x00101001: ('PN', '1-n', "Other Patient Names", '', 'OtherPatientNames'), - 0x00101002: ('SQ', '1', "Other Patient IDs Sequence", '', 'OtherPatientIDsSequence'), - 0x00101005: ('PN', '1', "Patient's Birth Name", '', 'PatientBirthName'), - 0x00101010: ('AS', '1', "Patient's Age", '', 'PatientAge'), - 0x00101020: ('DS', '1', "Patient's Size", '', 'PatientSize'), - 0x00101021: ('SQ', '1', "Patient's Size Code Sequence", '', 'PatientSizeCodeSequence'), - 0x00101030: ('DS', '1', "Patient's Weight", '', 'PatientWeight'), - 0x00101040: ('LO', '1', "Patient's Address", '', 'PatientAddress'), - 0x00101050: ('LO', '1-n', "Insurance Plan Identification", 'Retired', 'InsurancePlanIdentification'), - 0x00101060: ('PN', '1', "Patient's Mother's Birth Name", '', 'PatientMotherBirthName'), - 0x00101080: ('LO', '1', "Military Rank", '', 'MilitaryRank'), - 0x00101081: ('LO', '1', "Branch of Service", '', 'BranchOfService'), - 0x00101090: ('LO', '1', "Medical Record Locator", '', 'MedicalRecordLocator'), - 0x00102000: ('LO', '1-n', "Medical Alerts", '', 'MedicalAlerts'), - 0x00102110: ('LO', '1-n', "Allergies", '', 'Allergies'), - 0x00102150: ('LO', '1', "Country of Residence", '', 'CountryOfResidence'), - 0x00102152: ('LO', '1', "Region of Residence", '', 'RegionOfResidence'), - 0x00102154: ('SH', '1-n', "Patient's Telephone Numbers", '', 'PatientTelephoneNumbers'), - 0x00102160: ('SH', '1', "Ethnic Group", '', 'EthnicGroup'), - 0x00102180: ('SH', '1', "Occupation", '', 'Occupation'), - 0x001021A0: ('CS', '1', "Smoking Status", '', 'SmokingStatus'), - 0x001021B0: ('LT', '1', "Additional Patient History", '', 'AdditionalPatientHistory'), - 0x001021C0: ('US', '1', "Pregnancy Status", '', 'PregnancyStatus'), - 0x001021D0: ('DA', '1', "Last Menstrual Date", '', 'LastMenstrualDate'), - 0x001021F0: ('LO', '1', "Patient's Religious Preference", '', 'PatientReligiousPreference'), - 0x00102201: ('LO', '1', "Patient Species Description", '', 'PatientSpeciesDescription'), - 0x00102202: ('SQ', '1', "Patient Species Code Sequence", '', 'PatientSpeciesCodeSequence'), - 0x00102203: ('CS', '1', "Patient's Sex Neutered", '', 'PatientSexNeutered'), - 0x00102210: ('CS', '1', "Anatomical Orientation Type", '', 'AnatomicalOrientationType'), - 0x00102292: ('LO', '1', "Patient Breed Description", '', 'PatientBreedDescription'), - 0x00102293: ('SQ', '1', "Patient Breed Code Sequence", '', 'PatientBreedCodeSequence'), - 0x00102294: ('SQ', '1', "Breed Registration Sequence", '', 'BreedRegistrationSequence'), - 0x00102295: ('LO', '1', "Breed Registration Number", '', 'BreedRegistrationNumber'), - 0x00102296: ('SQ', '1', "Breed Registry Code Sequence", '', 'BreedRegistryCodeSequence'), - 0x00102297: ('PN', '1', "Responsible Person", '', 'ResponsiblePerson'), - 0x00102298: ('CS', '1', "Responsible Person Role", '', 'ResponsiblePersonRole'), - 0x00102299: ('LO', '1', "Responsible Organization", '', 'ResponsibleOrganization'), - 0x00104000: ('LT', '1', "Patient Comments", '', 'PatientComments'), - 0x00109431: ('FL', '1', "Examined Body Thickness", '', 'ExaminedBodyThickness'), - 0x00120010: ('LO', '1', "Clinical Trial Sponsor Name", '', 'ClinicalTrialSponsorName'), - 0x00120020: ('LO', '1', "Clinical Trial Protocol ID", '', 'ClinicalTrialProtocolID'), - 0x00120021: ('LO', '1', "Clinical Trial Protocol Name", '', 'ClinicalTrialProtocolName'), - 0x00120030: ('LO', '1', "Clinical Trial Site ID", '', 'ClinicalTrialSiteID'), - 0x00120031: ('LO', '1', "Clinical Trial Site Name", '', 'ClinicalTrialSiteName'), - 0x00120040: ('LO', '1', "Clinical Trial Subject ID", '', 'ClinicalTrialSubjectID'), - 0x00120042: ('LO', '1', "Clinical Trial Subject Reading ID", '', 'ClinicalTrialSubjectReadingID'), - 0x00120050: ('LO', '1', "Clinical Trial Time Point ID", '', 'ClinicalTrialTimePointID'), - 0x00120051: ('ST', '1', "Clinical Trial Time Point Description", '', 'ClinicalTrialTimePointDescription'), - 0x00120060: ('LO', '1', "Clinical Trial Coordinating Center Name", '', 'ClinicalTrialCoordinatingCenterName'), - 0x00120062: ('CS', '1', "Patient Identity Removed", '', 'PatientIdentityRemoved'), - 0x00120063: ('LO', '1-n', "De-identification Method", '', 'DeidentificationMethod'), - 0x00120064: ('SQ', '1', "De-identification Method Code Sequence", '', 'DeidentificationMethodCodeSequence'), - 0x00120071: ('LO', '1', "Clinical Trial Series ID", '', 'ClinicalTrialSeriesID'), - 0x00120072: ('LO', '1', "Clinical Trial Series Description", '', 'ClinicalTrialSeriesDescription'), - 0x00120081: ('LO', '1', "Clinical Trial Protocol Ethics Committee Name", '', 'ClinicalTrialProtocolEthicsCommitteeName'), - 0x00120082: ('LO', '1', "Clinical Trial Protocol Ethics Committee Approval Number", '', 'ClinicalTrialProtocolEthicsCommitteeApprovalNumber'), - 0x00120083: ('SQ', '1', "Consent for Clinical Trial Use Sequence", '', 'ConsentForClinicalTrialUseSequence'), - 0x00120084: ('CS', '1', "Distribution Type", '', 'DistributionType'), - 0x00120085: ('CS', '1', "Consent for Distribution Flag", '', 'ConsentForDistributionFlag'), - 0x00140023: ('ST', '1-n', "CAD File Format", 'Retired', 'CADFileFormat'), - 0x00140024: ('ST', '1-n', "Component Reference System", 'Retired', 'ComponentReferenceSystem'), - 0x00140025: ('ST', '1-n', "Component Manufacturing Procedure", '', 'ComponentManufacturingProcedure'), - 0x00140028: ('ST', '1-n', "Component Manufacturer", '', 'ComponentManufacturer'), - 0x00140030: ('DS', '1-n', "Material Thickness", '', 'MaterialThickness'), - 0x00140032: ('DS', '1-n', "Material Pipe Diameter", '', 'MaterialPipeDiameter'), - 0x00140034: ('DS', '1-n', "Material Isolation Diameter", '', 'MaterialIsolationDiameter'), - 0x00140042: ('ST', '1-n', "Material Grade", '', 'MaterialGrade'), - 0x00140044: ('ST', '1-n', "Material Properties Description", '', 'MaterialPropertiesDescription'), - 0x00140045: ('ST', '1-n', "Material Properties File Format (Retired)", 'Retired', 'MaterialPropertiesFileFormatRetired'), - 0x00140046: ('LT', '1', "Material Notes", '', 'MaterialNotes'), - 0x00140050: ('CS', '1', "Component Shape", '', 'ComponentShape'), - 0x00140052: ('CS', '1', "Curvature Type", '', 'CurvatureType'), - 0x00140054: ('DS', '1', "Outer Diameter", '', 'OuterDiameter'), - 0x00140056: ('DS', '1', "Inner Diameter", '', 'InnerDiameter'), - 0x00141010: ('ST', '1', "Actual Environmental Conditions", '', 'ActualEnvironmentalConditions'), - 0x00141020: ('DA', '1', "Expiry Date", '', 'ExpiryDate'), - 0x00141040: ('ST', '1', "Environmental Conditions", '', 'EnvironmentalConditions'), - 0x00142002: ('SQ', '1', "Evaluator Sequence", '', 'EvaluatorSequence'), - 0x00142004: ('IS', '1', "Evaluator Number", '', 'EvaluatorNumber'), - 0x00142006: ('PN', '1', "Evaluator Name", '', 'EvaluatorName'), - 0x00142008: ('IS', '1', "Evaluation Attempt", '', 'EvaluationAttempt'), - 0x00142012: ('SQ', '1', "Indication Sequence", '', 'IndicationSequence'), - 0x00142014: ('IS', '1', "Indication Number", '', 'IndicationNumber'), - 0x00142016: ('SH', '1', "Indication Label", '', 'IndicationLabel'), - 0x00142018: ('ST', '1', "Indication Description", '', 'IndicationDescription'), - 0x0014201A: ('CS', '1-n', "Indication Type", '', 'IndicationType'), - 0x0014201C: ('CS', '1', "Indication Disposition", '', 'IndicationDisposition'), - 0x0014201E: ('SQ', '1', "Indication ROI Sequence", '', 'IndicationROISequence'), - 0x00142030: ('SQ', '1', "Indication Physical Property Sequence", '', 'IndicationPhysicalPropertySequence'), - 0x00142032: ('SH', '1', "Property Label", '', 'PropertyLabel'), - 0x00142202: ('IS', '1', "Coordinate System Number of Axes", '', 'CoordinateSystemNumberOfAxes'), - 0x00142204: ('SQ', '1', "Coordinate System Axes Sequence", '', 'CoordinateSystemAxesSequence'), - 0x00142206: ('ST', '1', "Coordinate System Axis Description", '', 'CoordinateSystemAxisDescription'), - 0x00142208: ('CS', '1', "Coordinate System Data Set Mapping", '', 'CoordinateSystemDataSetMapping'), - 0x0014220A: ('IS', '1', "Coordinate System Axis Number", '', 'CoordinateSystemAxisNumber'), - 0x0014220C: ('CS', '1', "Coordinate System Axis Type", '', 'CoordinateSystemAxisType'), - 0x0014220E: ('CS', '1', "Coordinate System Axis Units", '', 'CoordinateSystemAxisUnits'), - 0x00142210: ('OB', '1', "Coordinate System Axis Values", '', 'CoordinateSystemAxisValues'), - 0x00142220: ('SQ', '1', "Coordinate System Transform Sequence", '', 'CoordinateSystemTransformSequence'), - 0x00142222: ('ST', '1', "Transform Description", '', 'TransformDescription'), - 0x00142224: ('IS', '1', "Transform Number of Axes", '', 'TransformNumberOfAxes'), - 0x00142226: ('IS', '1-n', "Transform Order of Axes", '', 'TransformOrderOfAxes'), - 0x00142228: ('CS', '1', "Transformed Axis Units", '', 'TransformedAxisUnits'), - 0x0014222A: ('DS', '1-n', "Coordinate System Transform Rotation and Scale Matrix", '', 'CoordinateSystemTransformRotationAndScaleMatrix'), - 0x0014222C: ('DS', '1-n', "Coordinate System Transform Translation Matrix", '', 'CoordinateSystemTransformTranslationMatrix'), - 0x00143011: ('DS', '1', "Internal Detector Frame Time", '', 'InternalDetectorFrameTime'), - 0x00143012: ('DS', '1', "Number of Frames Integrated", '', 'NumberOfFramesIntegrated'), - 0x00143020: ('SQ', '1', "Detector Temperature Sequence", '', 'DetectorTemperatureSequence'), - 0x00143022: ('ST', '1', "Sensor Name", '', 'SensorName'), - 0x00143024: ('DS', '1', "Horizontal Offset of Sensor", '', 'HorizontalOffsetOfSensor'), - 0x00143026: ('DS', '1', "Vertical Offset of Sensor", '', 'VerticalOffsetOfSensor'), - 0x00143028: ('DS', '1', "Sensor Temperature", '', 'SensorTemperature'), - 0x00143040: ('SQ', '1', "Dark Current Sequence", '', 'DarkCurrentSequence'), - 0x00143050: ('OB or OW', '1', "Dark Current Counts", '', 'DarkCurrentCounts'), - 0x00143060: ('SQ', '1', "Gain Correction Reference Sequence", '', 'GainCorrectionReferenceSequence'), - 0x00143070: ('OB or OW', '1', "Air Counts", '', 'AirCounts'), - 0x00143071: ('DS', '1', "KV Used in Gain Calibration", '', 'KVUsedInGainCalibration'), - 0x00143072: ('DS', '1', "MA Used in Gain Calibration", '', 'MAUsedInGainCalibration'), - 0x00143073: ('DS', '1', "Number of Frames Used for Integration", '', 'NumberOfFramesUsedForIntegration'), - 0x00143074: ('LO', '1', "Filter Material Used in Gain Calibration", '', 'FilterMaterialUsedInGainCalibration'), - 0x00143075: ('DS', '1', "Filter Thickness Used in Gain Calibration", '', 'FilterThicknessUsedInGainCalibration'), - 0x00143076: ('DA', '1', "Date of Gain Calibration", '', 'DateOfGainCalibration'), - 0x00143077: ('TM', '1', "Time of Gain Calibration", '', 'TimeOfGainCalibration'), - 0x00143080: ('OB', '1', "Bad Pixel Image", '', 'BadPixelImage'), - 0x00143099: ('LT', '1', "Calibration Notes", '', 'CalibrationNotes'), - 0x00144002: ('SQ', '1', "Pulser Equipment Sequence", '', 'PulserEquipmentSequence'), - 0x00144004: ('CS', '1', "Pulser Type", '', 'PulserType'), - 0x00144006: ('LT', '1', "Pulser Notes", '', 'PulserNotes'), - 0x00144008: ('SQ', '1', "Receiver Equipment Sequence", '', 'ReceiverEquipmentSequence'), - 0x0014400A: ('CS', '1', "Amplifier Type", '', 'AmplifierType'), - 0x0014400C: ('LT', '1', "Receiver Notes", '', 'ReceiverNotes'), - 0x0014400E: ('SQ', '1', "Pre-Amplifier Equipment Sequence", '', 'PreAmplifierEquipmentSequence'), - 0x0014400F: ('LT', '1', "Pre-Amplifier Notes", '', 'PreAmplifierNotes'), - 0x00144010: ('SQ', '1', "Transmit Transducer Sequence", '', 'TransmitTransducerSequence'), - 0x00144011: ('SQ', '1', "Receive Transducer Sequence", '', 'ReceiveTransducerSequence'), - 0x00144012: ('US', '1', "Number of Elements", '', 'NumberOfElements'), - 0x00144013: ('CS', '1', "Element Shape", '', 'ElementShape'), - 0x00144014: ('DS', '1', "Element Dimension A", '', 'ElementDimensionA'), - 0x00144015: ('DS', '1', "Element Dimension B", '', 'ElementDimensionB'), - 0x00144016: ('DS', '1', "Element Pitch A", '', 'ElementPitchA'), - 0x00144017: ('DS', '1', "Measured Beam Dimension A", '', 'MeasuredBeamDimensionA'), - 0x00144018: ('DS', '1', "Measured Beam Dimension B", '', 'MeasuredBeamDimensionB'), - 0x00144019: ('DS', '1', "Location of Measured Beam Diameter", '', 'LocationOfMeasuredBeamDiameter'), - 0x0014401A: ('DS', '1', "Nominal Frequency", '', 'NominalFrequency'), - 0x0014401B: ('DS', '1', "Measured Center Frequency", '', 'MeasuredCenterFrequency'), - 0x0014401C: ('DS', '1', "Measured Bandwidth", '', 'MeasuredBandwidth'), - 0x0014401D: ('DS', '1', "Element Pitch B", '', 'ElementPitchB'), - 0x00144020: ('SQ', '1', "Pulser Settings Sequence", '', 'PulserSettingsSequence'), - 0x00144022: ('DS', '1', "Pulse Width", '', 'PulseWidth'), - 0x00144024: ('DS', '1', "Excitation Frequency", '', 'ExcitationFrequency'), - 0x00144026: ('CS', '1', "Modulation Type", '', 'ModulationType'), - 0x00144028: ('DS', '1', "Damping", '', 'Damping'), - 0x00144030: ('SQ', '1', "Receiver Settings Sequence", '', 'ReceiverSettingsSequence'), - 0x00144031: ('DS', '1', "Acquired Soundpath Length", '', 'AcquiredSoundpathLength'), - 0x00144032: ('CS', '1', "Acquisition Compression Type", '', 'AcquisitionCompressionType'), - 0x00144033: ('IS', '1', "Acquisition Sample Size", '', 'AcquisitionSampleSize'), - 0x00144034: ('DS', '1', "Rectifier Smoothing", '', 'RectifierSmoothing'), - 0x00144035: ('SQ', '1', "DAC Sequence", '', 'DACSequence'), - 0x00144036: ('CS', '1', "DAC Type", '', 'DACType'), - 0x00144038: ('DS', '1-n', "DAC Gain Points", '', 'DACGainPoints'), - 0x0014403A: ('DS', '1-n', "DAC Time Points", '', 'DACTimePoints'), - 0x0014403C: ('DS', '1-n', "DAC Amplitude", '', 'DACAmplitude'), - 0x00144040: ('SQ', '1', "Pre-Amplifier Settings Sequence", '', 'PreAmplifierSettingsSequence'), - 0x00144050: ('SQ', '1', "Transmit Transducer Settings Sequence", '', 'TransmitTransducerSettingsSequence'), - 0x00144051: ('SQ', '1', "Receive Transducer Settings Sequence", '', 'ReceiveTransducerSettingsSequence'), - 0x00144052: ('DS', '1', "Incident Angle", '', 'IncidentAngle'), - 0x00144054: ('ST', '1', "Coupling Technique", '', 'CouplingTechnique'), - 0x00144056: ('ST', '1', "Coupling Medium", '', 'CouplingMedium'), - 0x00144057: ('DS', '1', "Coupling Velocity", '', 'CouplingVelocity'), - 0x00144058: ('DS', '1', "Probe Center Location X", '', 'ProbeCenterLocationX'), - 0x00144059: ('DS', '1', "Probe Center Location Z", '', 'ProbeCenterLocationZ'), - 0x0014405A: ('DS', '1', "Sound Path Length", '', 'SoundPathLength'), - 0x0014405C: ('ST', '1', "Delay Law Identifier", '', 'DelayLawIdentifier'), - 0x00144060: ('SQ', '1', "Gate Settings Sequence", '', 'GateSettingsSequence'), - 0x00144062: ('DS', '1', "Gate Threshold", '', 'GateThreshold'), - 0x00144064: ('DS', '1', "Velocity of Sound", '', 'VelocityOfSound'), - 0x00144070: ('SQ', '1', "Calibration Settings Sequence", '', 'CalibrationSettingsSequence'), - 0x00144072: ('ST', '1', "Calibration Procedure", '', 'CalibrationProcedure'), - 0x00144074: ('SH', '1', "Procedure Version", '', 'ProcedureVersion'), - 0x00144076: ('DA', '1', "Procedure Creation Date", '', 'ProcedureCreationDate'), - 0x00144078: ('DA', '1', "Procedure Expiration Date", '', 'ProcedureExpirationDate'), - 0x0014407A: ('DA', '1', "Procedure Last Modified Date", '', 'ProcedureLastModifiedDate'), - 0x0014407C: ('TM', '1-n', "Calibration Time", '', 'CalibrationTime'), - 0x0014407E: ('DA', '1-n', "Calibration Date", '', 'CalibrationDate'), - 0x00144080: ('SQ', '1', "Probe Drive Equipment Sequence", '', 'ProbeDriveEquipmentSequence'), - 0x00144081: ('CS', '1', "Drive Type", '', 'DriveType'), - 0x00144082: ('LT', '1', "Probe Drive Notes", '', 'ProbeDriveNotes'), - 0x00144083: ('SQ', '1', "Drive Probe Sequence", '', 'DriveProbeSequence'), - 0x00144084: ('DS', '1', "Probe Inductance", '', 'ProbeInductance'), - 0x00144085: ('DS', '1', "Probe Resistance", '', 'ProbeResistance'), - 0x00144086: ('SQ', '1', "Receive Probe Sequence", '', 'ReceiveProbeSequence'), - 0x00144087: ('SQ', '1', "Probe Drive Settings Sequence", '', 'ProbeDriveSettingsSequence'), - 0x00144088: ('DS', '1', "Bridge Resistors", '', 'BridgeResistors'), - 0x00144089: ('DS', '1', "Probe Orientation Angle", '', 'ProbeOrientationAngle'), - 0x0014408B: ('DS', '1', "User Selected Gain Y", '', 'UserSelectedGainY'), - 0x0014408C: ('DS', '1', "User Selected Phase", '', 'UserSelectedPhase'), - 0x0014408D: ('DS', '1', "User Selected Offset X", '', 'UserSelectedOffsetX'), - 0x0014408E: ('DS', '1', "User Selected Offset Y", '', 'UserSelectedOffsetY'), - 0x00144091: ('SQ', '1', "Channel Settings Sequence", '', 'ChannelSettingsSequence'), - 0x00144092: ('DS', '1', "Channel Threshold", '', 'ChannelThreshold'), - 0x0014409A: ('SQ', '1', "Scanner Settings Sequence", '', 'ScannerSettingsSequence'), - 0x0014409B: ('ST', '1', "Scan Procedure", '', 'ScanProcedure'), - 0x0014409C: ('DS', '1', "Translation Rate X", '', 'TranslationRateX'), - 0x0014409D: ('DS', '1', "Translation Rate Y", '', 'TranslationRateY'), - 0x0014409F: ('DS', '1', "Channel Overlap", '', 'ChannelOverlap'), - 0x001440A0: ('LO', '1', "Image Quality Indicator Type", '', 'ImageQualityIndicatorType'), - 0x001440A1: ('LO', '1', "Image Quality Indicator Material", '', 'ImageQualityIndicatorMaterial'), - 0x001440A2: ('LO', '1', "Image Quality Indicator Size", '', 'ImageQualityIndicatorSize'), - 0x00145002: ('IS', '1', "LINAC Energy", '', 'LINACEnergy'), - 0x00145004: ('IS', '1', "LINAC Output", '', 'LINACOutput'), - 0x00180010: ('LO', '1', "Contrast/Bolus Agent", '', 'ContrastBolusAgent'), - 0x00180012: ('SQ', '1', "Contrast/Bolus Agent Sequence", '', 'ContrastBolusAgentSequence'), - 0x00180014: ('SQ', '1', "Contrast/Bolus Administration Route Sequence", '', 'ContrastBolusAdministrationRouteSequence'), - 0x00180015: ('CS', '1', "Body Part Examined", '', 'BodyPartExamined'), - 0x00180020: ('CS', '1-n', "Scanning Sequence", '', 'ScanningSequence'), - 0x00180021: ('CS', '1-n', "Sequence Variant", '', 'SequenceVariant'), - 0x00180022: ('CS', '1-n', "Scan Options", '', 'ScanOptions'), - 0x00180023: ('CS', '1', "MR Acquisition Type", '', 'MRAcquisitionType'), - 0x00180024: ('SH', '1', "Sequence Name", '', 'SequenceName'), - 0x00180025: ('CS', '1', "Angio Flag", '', 'AngioFlag'), - 0x00180026: ('SQ', '1', "Intervention Drug Information Sequence", '', 'InterventionDrugInformationSequence'), - 0x00180027: ('TM', '1', "Intervention Drug Stop Time", '', 'InterventionDrugStopTime'), - 0x00180028: ('DS', '1', "Intervention Drug Dose", '', 'InterventionDrugDose'), - 0x00180029: ('SQ', '1', "Intervention Drug Code Sequence", '', 'InterventionDrugCodeSequence'), - 0x0018002A: ('SQ', '1', "Additional Drug Sequence", '', 'AdditionalDrugSequence'), - 0x00180030: ('LO', '1-n', "Radionuclide", 'Retired', 'Radionuclide'), - 0x00180031: ('LO', '1', "Radiopharmaceutical", '', 'Radiopharmaceutical'), - 0x00180032: ('DS', '1', "Energy Window Centerline", 'Retired', 'EnergyWindowCenterline'), - 0x00180033: ('DS', '1-n', "Energy Window Total Width", 'Retired', 'EnergyWindowTotalWidth'), - 0x00180034: ('LO', '1', "Intervention Drug Name", '', 'InterventionDrugName'), - 0x00180035: ('TM', '1', "Intervention Drug Start Time", '', 'InterventionDrugStartTime'), - 0x00180036: ('SQ', '1', "Intervention Sequence", '', 'InterventionSequence'), - 0x00180037: ('CS', '1', "Therapy Type", 'Retired', 'TherapyType'), - 0x00180038: ('CS', '1', "Intervention Status", '', 'InterventionStatus'), - 0x00180039: ('CS', '1', "Therapy Description", 'Retired', 'TherapyDescription'), - 0x0018003A: ('ST', '1', "Intervention Description", '', 'InterventionDescription'), - 0x00180040: ('IS', '1', "Cine Rate", '', 'CineRate'), - 0x00180042: ('CS', '1', "Initial Cine Run State", '', 'InitialCineRunState'), - 0x00180050: ('DS', '1', "Slice Thickness", '', 'SliceThickness'), - 0x00180060: ('DS', '1', "KVP", '', 'KVP'), - 0x00180070: ('IS', '1', "Counts Accumulated", '', 'CountsAccumulated'), - 0x00180071: ('CS', '1', "Acquisition Termination Condition", '', 'AcquisitionTerminationCondition'), - 0x00180072: ('DS', '1', "Effective Duration", '', 'EffectiveDuration'), - 0x00180073: ('CS', '1', "Acquisition Start Condition", '', 'AcquisitionStartCondition'), - 0x00180074: ('IS', '1', "Acquisition Start Condition Data", '', 'AcquisitionStartConditionData'), - 0x00180075: ('IS', '1', "Acquisition Termination Condition Data", '', 'AcquisitionTerminationConditionData'), - 0x00180080: ('DS', '1', "Repetition Time", '', 'RepetitionTime'), - 0x00180081: ('DS', '1', "Echo Time", '', 'EchoTime'), - 0x00180082: ('DS', '1', "Inversion Time", '', 'InversionTime'), - 0x00180083: ('DS', '1', "Number of Averages", '', 'NumberOfAverages'), - 0x00180084: ('DS', '1', "Imaging Frequency", '', 'ImagingFrequency'), - 0x00180085: ('SH', '1', "Imaged Nucleus", '', 'ImagedNucleus'), - 0x00180086: ('IS', '1-n', "Echo Number(s)", '', 'EchoNumbers'), - 0x00180087: ('DS', '1', "Magnetic Field Strength", '', 'MagneticFieldStrength'), - 0x00180088: ('DS', '1', "Spacing Between Slices", '', 'SpacingBetweenSlices'), - 0x00180089: ('IS', '1', "Number of Phase Encoding Steps", '', 'NumberOfPhaseEncodingSteps'), - 0x00180090: ('DS', '1', "Data Collection Diameter", '', 'DataCollectionDiameter'), - 0x00180091: ('IS', '1', "Echo Train Length", '', 'EchoTrainLength'), - 0x00180093: ('DS', '1', "Percent Sampling", '', 'PercentSampling'), - 0x00180094: ('DS', '1', "Percent Phase Field of View", '', 'PercentPhaseFieldOfView'), - 0x00180095: ('DS', '1', "Pixel Bandwidth", '', 'PixelBandwidth'), - 0x00181000: ('LO', '1', "Device Serial Number", '', 'DeviceSerialNumber'), - 0x00181002: ('UI', '1', "Device UID", '', 'DeviceUID'), - 0x00181003: ('LO', '1', "Device ID", '', 'DeviceID'), - 0x00181004: ('LO', '1', "Plate ID", '', 'PlateID'), - 0x00181005: ('LO', '1', "Generator ID", '', 'GeneratorID'), - 0x00181006: ('LO', '1', "Grid ID", '', 'GridID'), - 0x00181007: ('LO', '1', "Cassette ID", '', 'CassetteID'), - 0x00181008: ('LO', '1', "Gantry ID", '', 'GantryID'), - 0x00181010: ('LO', '1', "Secondary Capture Device ID", '', 'SecondaryCaptureDeviceID'), - 0x00181011: ('LO', '1', "Hardcopy Creation Device ID", 'Retired', 'HardcopyCreationDeviceID'), - 0x00181012: ('DA', '1', "Date of Secondary Capture", '', 'DateOfSecondaryCapture'), - 0x00181014: ('TM', '1', "Time of Secondary Capture", '', 'TimeOfSecondaryCapture'), - 0x00181016: ('LO', '1', "Secondary Capture Device Manufacturer", '', 'SecondaryCaptureDeviceManufacturer'), - 0x00181017: ('LO', '1', "Hardcopy Device Manufacturer", 'Retired', 'HardcopyDeviceManufacturer'), - 0x00181018: ('LO', '1', "Secondary Capture Device Manufacturer's Model Name", '', 'SecondaryCaptureDeviceManufacturerModelName'), - 0x00181019: ('LO', '1-n', "Secondary Capture Device Software Versions", '', 'SecondaryCaptureDeviceSoftwareVersions'), - 0x0018101A: ('LO', '1-n', "Hardcopy Device Software Version", 'Retired', 'HardcopyDeviceSoftwareVersion'), - 0x0018101B: ('LO', '1', "Hardcopy Device Manufacturer's Model Name", 'Retired', 'HardcopyDeviceManufacturerModelName'), - 0x00181020: ('LO', '1-n', "Software Version(s)", '', 'SoftwareVersions'), - 0x00181022: ('SH', '1', "Video Image Format Acquired", '', 'VideoImageFormatAcquired'), - 0x00181023: ('LO', '1', "Digital Image Format Acquired", '', 'DigitalImageFormatAcquired'), - 0x00181030: ('LO', '1', "Protocol Name", '', 'ProtocolName'), - 0x00181040: ('LO', '1', "Contrast/Bolus Route", '', 'ContrastBolusRoute'), - 0x00181041: ('DS', '1', "Contrast/Bolus Volume", '', 'ContrastBolusVolume'), - 0x00181042: ('TM', '1', "Contrast/Bolus Start Time", '', 'ContrastBolusStartTime'), - 0x00181043: ('TM', '1', "Contrast/Bolus Stop Time", '', 'ContrastBolusStopTime'), - 0x00181044: ('DS', '1', "Contrast/Bolus Total Dose", '', 'ContrastBolusTotalDose'), - 0x00181045: ('IS', '1', "Syringe Counts", '', 'SyringeCounts'), - 0x00181046: ('DS', '1-n', "Contrast Flow Rate", '', 'ContrastFlowRate'), - 0x00181047: ('DS', '1-n', "Contrast Flow Duration", '', 'ContrastFlowDuration'), - 0x00181048: ('CS', '1', "Contrast/Bolus Ingredient", '', 'ContrastBolusIngredient'), - 0x00181049: ('DS', '1', "Contrast/Bolus Ingredient Concentration", '', 'ContrastBolusIngredientConcentration'), - 0x00181050: ('DS', '1', "Spatial Resolution", '', 'SpatialResolution'), - 0x00181060: ('DS', '1', "Trigger Time", '', 'TriggerTime'), - 0x00181061: ('LO', '1', "Trigger Source or Type", '', 'TriggerSourceOrType'), - 0x00181062: ('IS', '1', "Nominal Interval", '', 'NominalInterval'), - 0x00181063: ('DS', '1', "Frame Time", '', 'FrameTime'), - 0x00181064: ('LO', '1', "Cardiac Framing Type", '', 'CardiacFramingType'), - 0x00181065: ('DS', '1-n', "Frame Time Vector", '', 'FrameTimeVector'), - 0x00181066: ('DS', '1', "Frame Delay", '', 'FrameDelay'), - 0x00181067: ('DS', '1', "Image Trigger Delay", '', 'ImageTriggerDelay'), - 0x00181068: ('DS', '1', "Multiplex Group Time Offset", '', 'MultiplexGroupTimeOffset'), - 0x00181069: ('DS', '1', "Trigger Time Offset", '', 'TriggerTimeOffset'), - 0x0018106A: ('CS', '1', "Synchronization Trigger", '', 'SynchronizationTrigger'), - 0x0018106C: ('US', '2', "Synchronization Channel", '', 'SynchronizationChannel'), - 0x0018106E: ('UL', '1', "Trigger Sample Position", '', 'TriggerSamplePosition'), - 0x00181070: ('LO', '1', "Radiopharmaceutical Route", '', 'RadiopharmaceuticalRoute'), - 0x00181071: ('DS', '1', "Radiopharmaceutical Volume", '', 'RadiopharmaceuticalVolume'), - 0x00181072: ('TM', '1', "Radiopharmaceutical Start Time", '', 'RadiopharmaceuticalStartTime'), - 0x00181073: ('TM', '1', "Radiopharmaceutical Stop Time", '', 'RadiopharmaceuticalStopTime'), - 0x00181074: ('DS', '1', "Radionuclide Total Dose", '', 'RadionuclideTotalDose'), - 0x00181075: ('DS', '1', "Radionuclide Half Life", '', 'RadionuclideHalfLife'), - 0x00181076: ('DS', '1', "Radionuclide Positron Fraction", '', 'RadionuclidePositronFraction'), - 0x00181077: ('DS', '1', "Radiopharmaceutical Specific Activity", '', 'RadiopharmaceuticalSpecificActivity'), - 0x00181078: ('DT', '1', "Radiopharmaceutical Start DateTime", '', 'RadiopharmaceuticalStartDateTime'), - 0x00181079: ('DT', '1', "Radiopharmaceutical Stop DateTime", '', 'RadiopharmaceuticalStopDateTime'), - 0x00181080: ('CS', '1', "Beat Rejection Flag", '', 'BeatRejectionFlag'), - 0x00181081: ('IS', '1', "Low R-R Value", '', 'LowRRValue'), - 0x00181082: ('IS', '1', "High R-R Value", '', 'HighRRValue'), - 0x00181083: ('IS', '1', "Intervals Acquired", '', 'IntervalsAcquired'), - 0x00181084: ('IS', '1', "Intervals Rejected", '', 'IntervalsRejected'), - 0x00181085: ('LO', '1', "PVC Rejection", '', 'PVCRejection'), - 0x00181086: ('IS', '1', "Skip Beats", '', 'SkipBeats'), - 0x00181088: ('IS', '1', "Heart Rate", '', 'HeartRate'), - 0x00181090: ('IS', '1', "Cardiac Number of Images", '', 'CardiacNumberOfImages'), - 0x00181094: ('IS', '1', "Trigger Window", '', 'TriggerWindow'), - 0x00181100: ('DS', '1', "Reconstruction Diameter", '', 'ReconstructionDiameter'), - 0x00181110: ('DS', '1', "Distance Source to Detector", '', 'DistanceSourceToDetector'), - 0x00181111: ('DS', '1', "Distance Source to Patient", '', 'DistanceSourceToPatient'), - 0x00181114: ('DS', '1', "Estimated Radiographic Magnification Factor", '', 'EstimatedRadiographicMagnificationFactor'), - 0x00181120: ('DS', '1', "Gantry/Detector Tilt", '', 'GantryDetectorTilt'), - 0x00181121: ('DS', '1', "Gantry/Detector Slew", '', 'GantryDetectorSlew'), - 0x00181130: ('DS', '1', "Table Height", '', 'TableHeight'), - 0x00181131: ('DS', '1', "Table Traverse", '', 'TableTraverse'), - 0x00181134: ('CS', '1', "Table Motion", '', 'TableMotion'), - 0x00181135: ('DS', '1-n', "Table Vertical Increment", '', 'TableVerticalIncrement'), - 0x00181136: ('DS', '1-n', "Table Lateral Increment", '', 'TableLateralIncrement'), - 0x00181137: ('DS', '1-n', "Table Longitudinal Increment", '', 'TableLongitudinalIncrement'), - 0x00181138: ('DS', '1', "Table Angle", '', 'TableAngle'), - 0x0018113A: ('CS', '1', "Table Type", '', 'TableType'), - 0x00181140: ('CS', '1', "Rotation Direction", '', 'RotationDirection'), - 0x00181141: ('DS', '1', "Angular Position", 'Retired', 'AngularPosition'), - 0x00181142: ('DS', '1-n', "Radial Position", '', 'RadialPosition'), - 0x00181143: ('DS', '1', "Scan Arc", '', 'ScanArc'), - 0x00181144: ('DS', '1', "Angular Step", '', 'AngularStep'), - 0x00181145: ('DS', '1', "Center of Rotation Offset", '', 'CenterOfRotationOffset'), - 0x00181146: ('DS', '1-n', "Rotation Offset", 'Retired', 'RotationOffset'), - 0x00181147: ('CS', '1', "Field of View Shape", '', 'FieldOfViewShape'), - 0x00181149: ('IS', '1-2', "Field of View Dimension(s)", '', 'FieldOfViewDimensions'), - 0x00181150: ('IS', '1', "Exposure Time", '', 'ExposureTime'), - 0x00181151: ('IS', '1', "X-Ray Tube Current", '', 'XRayTubeCurrent'), - 0x00181152: ('IS', '1', "Exposure", '', 'Exposure'), - 0x00181153: ('IS', '1', "Exposure in uAs", '', 'ExposureInuAs'), - 0x00181154: ('DS', '1', "Average Pulse Width", '', 'AveragePulseWidth'), - 0x00181155: ('CS', '1', "Radiation Setting", '', 'RadiationSetting'), - 0x00181156: ('CS', '1', "Rectification Type", '', 'RectificationType'), - 0x0018115A: ('CS', '1', "Radiation Mode", '', 'RadiationMode'), - 0x0018115E: ('DS', '1', "Image and Fluoroscopy Area Dose Product", '', 'ImageAndFluoroscopyAreaDoseProduct'), - 0x00181160: ('SH', '1', "Filter Type", '', 'FilterType'), - 0x00181161: ('LO', '1-n', "Type of Filters", '', 'TypeOfFilters'), - 0x00181162: ('DS', '1', "Intensifier Size", '', 'IntensifierSize'), - 0x00181164: ('DS', '2', "Imager Pixel Spacing", '', 'ImagerPixelSpacing'), - 0x00181166: ('CS', '1-n', "Grid", '', 'Grid'), - 0x00181170: ('IS', '1', "Generator Power", '', 'GeneratorPower'), - 0x00181180: ('SH', '1', "Collimator/grid Name", '', 'CollimatorGridName'), - 0x00181181: ('CS', '1', "Collimator Type", '', 'CollimatorType'), - 0x00181182: ('IS', '1-2', "Focal Distance", '', 'FocalDistance'), - 0x00181183: ('DS', '1-2', "X Focus Center", '', 'XFocusCenter'), - 0x00181184: ('DS', '1-2', "Y Focus Center", '', 'YFocusCenter'), - 0x00181190: ('DS', '1-n', "Focal Spot(s)", '', 'FocalSpots'), - 0x00181191: ('CS', '1', "Anode Target Material", '', 'AnodeTargetMaterial'), - 0x001811A0: ('DS', '1', "Body Part Thickness", '', 'BodyPartThickness'), - 0x001811A2: ('DS', '1', "Compression Force", '', 'CompressionForce'), - 0x001811A4: ('LO', '1', "Paddle Description", '', 'PaddleDescription'), - 0x00181200: ('DA', '1-n', "Date of Last Calibration", '', 'DateOfLastCalibration'), - 0x00181201: ('TM', '1-n', "Time of Last Calibration", '', 'TimeOfLastCalibration'), - 0x00181210: ('SH', '1-n', "Convolution Kernel", '', 'ConvolutionKernel'), - 0x00181240: ('IS', '1-n', "Upper/Lower Pixel Values", 'Retired', 'UpperLowerPixelValues'), - 0x00181242: ('IS', '1', "Actual Frame Duration", '', 'ActualFrameDuration'), - 0x00181243: ('IS', '1', "Count Rate", '', 'CountRate'), - 0x00181244: ('US', '1', "Preferred Playback Sequencing", '', 'PreferredPlaybackSequencing'), - 0x00181250: ('SH', '1', "Receive Coil Name", '', 'ReceiveCoilName'), - 0x00181251: ('SH', '1', "Transmit Coil Name", '', 'TransmitCoilName'), - 0x00181260: ('SH', '1', "Plate Type", '', 'PlateType'), - 0x00181261: ('LO', '1', "Phosphor Type", '', 'PhosphorType'), - 0x00181300: ('DS', '1', "Scan Velocity", '', 'ScanVelocity'), - 0x00181301: ('CS', '1-n', "Whole Body Technique", '', 'WholeBodyTechnique'), - 0x00181302: ('IS', '1', "Scan Length", '', 'ScanLength'), - 0x00181310: ('US', '4', "Acquisition Matrix", '', 'AcquisitionMatrix'), - 0x00181312: ('CS', '1', "In-plane Phase Encoding Direction", '', 'InPlanePhaseEncodingDirection'), - 0x00181314: ('DS', '1', "Flip Angle", '', 'FlipAngle'), - 0x00181315: ('CS', '1', "Variable Flip Angle Flag", '', 'VariableFlipAngleFlag'), - 0x00181316: ('DS', '1', "SAR", '', 'SAR'), - 0x00181318: ('DS', '1', "dB/dt", '', 'dBdt'), - 0x00181400: ('LO', '1', "Acquisition Device Processing Description", '', 'AcquisitionDeviceProcessingDescription'), - 0x00181401: ('LO', '1', "Acquisition Device Processing Code", '', 'AcquisitionDeviceProcessingCode'), - 0x00181402: ('CS', '1', "Cassette Orientation", '', 'CassetteOrientation'), - 0x00181403: ('CS', '1', "Cassette Size", '', 'CassetteSize'), - 0x00181404: ('US', '1', "Exposures on Plate", '', 'ExposuresOnPlate'), - 0x00181405: ('IS', '1', "Relative X-Ray Exposure", '', 'RelativeXRayExposure'), - 0x00181411: ('DS', '1', "Exposure Index", '', 'ExposureIndex'), - 0x00181412: ('DS', '1', "Target Exposure Index", '', 'TargetExposureIndex'), - 0x00181413: ('DS', '1', "Deviation Index", '', 'DeviationIndex'), - 0x00181450: ('DS', '1', "Column Angulation", '', 'ColumnAngulation'), - 0x00181460: ('DS', '1', "Tomo Layer Height", '', 'TomoLayerHeight'), - 0x00181470: ('DS', '1', "Tomo Angle", '', 'TomoAngle'), - 0x00181480: ('DS', '1', "Tomo Time", '', 'TomoTime'), - 0x00181490: ('CS', '1', "Tomo Type", '', 'TomoType'), - 0x00181491: ('CS', '1', "Tomo Class", '', 'TomoClass'), - 0x00181495: ('IS', '1', "Number of Tomosynthesis Source Images", '', 'NumberOfTomosynthesisSourceImages'), - 0x00181500: ('CS', '1', "Positioner Motion", '', 'PositionerMotion'), - 0x00181508: ('CS', '1', "Positioner Type", '', 'PositionerType'), - 0x00181510: ('DS', '1', "Positioner Primary Angle", '', 'PositionerPrimaryAngle'), - 0x00181511: ('DS', '1', "Positioner Secondary Angle", '', 'PositionerSecondaryAngle'), - 0x00181520: ('DS', '1-n', "Positioner Primary Angle Increment", '', 'PositionerPrimaryAngleIncrement'), - 0x00181521: ('DS', '1-n', "Positioner Secondary Angle Increment", '', 'PositionerSecondaryAngleIncrement'), - 0x00181530: ('DS', '1', "Detector Primary Angle", '', 'DetectorPrimaryAngle'), - 0x00181531: ('DS', '1', "Detector Secondary Angle", '', 'DetectorSecondaryAngle'), - 0x00181600: ('CS', '1-3', "Shutter Shape", '', 'ShutterShape'), - 0x00181602: ('IS', '1', "Shutter Left Vertical Edge", '', 'ShutterLeftVerticalEdge'), - 0x00181604: ('IS', '1', "Shutter Right Vertical Edge", '', 'ShutterRightVerticalEdge'), - 0x00181606: ('IS', '1', "Shutter Upper Horizontal Edge", '', 'ShutterUpperHorizontalEdge'), - 0x00181608: ('IS', '1', "Shutter Lower Horizontal Edge", '', 'ShutterLowerHorizontalEdge'), - 0x00181610: ('IS', '2', "Center of Circular Shutter", '', 'CenterOfCircularShutter'), - 0x00181612: ('IS', '1', "Radius of Circular Shutter", '', 'RadiusOfCircularShutter'), - 0x00181620: ('IS', '2-2n', "Vertices of the Polygonal Shutter", '', 'VerticesOfThePolygonalShutter'), - 0x00181622: ('US', '1', "Shutter Presentation Value", '', 'ShutterPresentationValue'), - 0x00181623: ('US', '1', "Shutter Overlay Group", '', 'ShutterOverlayGroup'), - 0x00181624: ('US', '3', "Shutter Presentation Color CIELab Value", '', 'ShutterPresentationColorCIELabValue'), - 0x00181700: ('CS', '1-3', "Collimator Shape", '', 'CollimatorShape'), - 0x00181702: ('IS', '1', "Collimator Left Vertical Edge", '', 'CollimatorLeftVerticalEdge'), - 0x00181704: ('IS', '1', "Collimator Right Vertical Edge", '', 'CollimatorRightVerticalEdge'), - 0x00181706: ('IS', '1', "Collimator Upper Horizontal Edge", '', 'CollimatorUpperHorizontalEdge'), - 0x00181708: ('IS', '1', "Collimator Lower Horizontal Edge", '', 'CollimatorLowerHorizontalEdge'), - 0x00181710: ('IS', '2', "Center of Circular Collimator", '', 'CenterOfCircularCollimator'), - 0x00181712: ('IS', '1', "Radius of Circular Collimator", '', 'RadiusOfCircularCollimator'), - 0x00181720: ('IS', '2-2n', "Vertices of the Polygonal Collimator", '', 'VerticesOfThePolygonalCollimator'), - 0x00181800: ('CS', '1', "Acquisition Time Synchronized", '', 'AcquisitionTimeSynchronized'), - 0x00181801: ('SH', '1', "Time Source", '', 'TimeSource'), - 0x00181802: ('CS', '1', "Time Distribution Protocol", '', 'TimeDistributionProtocol'), - 0x00181803: ('LO', '1', "NTP Source Address", '', 'NTPSourceAddress'), - 0x00182001: ('IS', '1-n', "Page Number Vector", '', 'PageNumberVector'), - 0x00182002: ('SH', '1-n', "Frame Label Vector", '', 'FrameLabelVector'), - 0x00182003: ('DS', '1-n', "Frame Primary Angle Vector", '', 'FramePrimaryAngleVector'), - 0x00182004: ('DS', '1-n', "Frame Secondary Angle Vector", '', 'FrameSecondaryAngleVector'), - 0x00182005: ('DS', '1-n', "Slice Location Vector", '', 'SliceLocationVector'), - 0x00182006: ('SH', '1-n', "Display Window Label Vector", '', 'DisplayWindowLabelVector'), - 0x00182010: ('DS', '2', "Nominal Scanned Pixel Spacing", '', 'NominalScannedPixelSpacing'), - 0x00182020: ('CS', '1', "Digitizing Device Transport Direction", '', 'DigitizingDeviceTransportDirection'), - 0x00182030: ('DS', '1', "Rotation of Scanned Film", '', 'RotationOfScannedFilm'), - 0x00182041: ('SQ', '1', "Biopsy Target Sequence", '', 'BiopsyTargetSequence'), - 0x00182042: ('UI', '1', "Target UID", '', 'TargetUID'), - 0x00182043: ('FL', '2', "Localizing Cursor Position", '', 'LocalizingCursorPosition'), - 0x00182044: ('FL', '3', "Calculated Target Position", '', 'CalculatedTargetPosition'), - 0x00182045: ('SH', '1', "Target Label", '', 'TargetLabel'), - 0x00182046: ('FL', '1', "Displayed Z Value", '', 'DisplayedZValue'), - 0x00183100: ('CS', '1', "IVUS Acquisition", '', 'IVUSAcquisition'), - 0x00183101: ('DS', '1', "IVUS Pullback Rate", '', 'IVUSPullbackRate'), - 0x00183102: ('DS', '1', "IVUS Gated Rate", '', 'IVUSGatedRate'), - 0x00183103: ('IS', '1', "IVUS Pullback Start Frame Number", '', 'IVUSPullbackStartFrameNumber'), - 0x00183104: ('IS', '1', "IVUS Pullback Stop Frame Number", '', 'IVUSPullbackStopFrameNumber'), - 0x00183105: ('IS', '1-n', "Lesion Number", '', 'LesionNumber'), - 0x00184000: ('LT', '1', "Acquisition Comments", 'Retired', 'AcquisitionComments'), - 0x00185000: ('SH', '1-n', "Output Power", '', 'OutputPower'), - 0x00185010: ('LO', '1-n', "Transducer Data", '', 'TransducerData'), - 0x00185012: ('DS', '1', "Focus Depth", '', 'FocusDepth'), - 0x00185020: ('LO', '1', "Processing Function", '', 'ProcessingFunction'), - 0x00185021: ('LO', '1', "Postprocessing Function", 'Retired', 'PostprocessingFunction'), - 0x00185022: ('DS', '1', "Mechanical Index", '', 'MechanicalIndex'), - 0x00185024: ('DS', '1', "Bone Thermal Index", '', 'BoneThermalIndex'), - 0x00185026: ('DS', '1', "Cranial Thermal Index", '', 'CranialThermalIndex'), - 0x00185027: ('DS', '1', "Soft Tissue Thermal Index", '', 'SoftTissueThermalIndex'), - 0x00185028: ('DS', '1', "Soft Tissue-focus Thermal Index", '', 'SoftTissueFocusThermalIndex'), - 0x00185029: ('DS', '1', "Soft Tissue-surface Thermal Index", '', 'SoftTissueSurfaceThermalIndex'), - 0x00185030: ('DS', '1', "Dynamic Range", 'Retired', 'DynamicRange'), - 0x00185040: ('DS', '1', "Total Gain", 'Retired', 'TotalGain'), - 0x00185050: ('IS', '1', "Depth of Scan Field", '', 'DepthOfScanField'), - 0x00185100: ('CS', '1', "Patient Position", '', 'PatientPosition'), - 0x00185101: ('CS', '1', "View Position", '', 'ViewPosition'), - 0x00185104: ('SQ', '1', "Projection Eponymous Name Code Sequence", '', 'ProjectionEponymousNameCodeSequence'), - 0x00185210: ('DS', '6', "Image Transformation Matrix", 'Retired', 'ImageTransformationMatrix'), - 0x00185212: ('DS', '3', "Image Translation Vector", 'Retired', 'ImageTranslationVector'), - 0x00186000: ('DS', '1', "Sensitivity", '', 'Sensitivity'), - 0x00186011: ('SQ', '1', "Sequence of Ultrasound Regions", '', 'SequenceOfUltrasoundRegions'), - 0x00186012: ('US', '1', "Region Spatial Format", '', 'RegionSpatialFormat'), - 0x00186014: ('US', '1', "Region Data Type", '', 'RegionDataType'), - 0x00186016: ('UL', '1', "Region Flags", '', 'RegionFlags'), - 0x00186018: ('UL', '1', "Region Location Min X0", '', 'RegionLocationMinX0'), - 0x0018601A: ('UL', '1', "Region Location Min Y0", '', 'RegionLocationMinY0'), - 0x0018601C: ('UL', '1', "Region Location Max X1", '', 'RegionLocationMaxX1'), - 0x0018601E: ('UL', '1', "Region Location Max Y1", '', 'RegionLocationMaxY1'), - 0x00186020: ('SL', '1', "Reference Pixel X0", '', 'ReferencePixelX0'), - 0x00186022: ('SL', '1', "Reference Pixel Y0", '', 'ReferencePixelY0'), - 0x00186024: ('US', '1', "Physical Units X Direction", '', 'PhysicalUnitsXDirection'), - 0x00186026: ('US', '1', "Physical Units Y Direction", '', 'PhysicalUnitsYDirection'), - 0x00186028: ('FD', '1', "Reference Pixel Physical Value X", '', 'ReferencePixelPhysicalValueX'), - 0x0018602A: ('FD', '1', "Reference Pixel Physical Value Y", '', 'ReferencePixelPhysicalValueY'), - 0x0018602C: ('FD', '1', "Physical Delta X", '', 'PhysicalDeltaX'), - 0x0018602E: ('FD', '1', "Physical Delta Y", '', 'PhysicalDeltaY'), - 0x00186030: ('UL', '1', "Transducer Frequency", '', 'TransducerFrequency'), - 0x00186031: ('CS', '1', "Transducer Type", '', 'TransducerType'), - 0x00186032: ('UL', '1', "Pulse Repetition Frequency", '', 'PulseRepetitionFrequency'), - 0x00186034: ('FD', '1', "Doppler Correction Angle", '', 'DopplerCorrectionAngle'), - 0x00186036: ('FD', '1', "Steering Angle", '', 'SteeringAngle'), - 0x00186038: ('UL', '1', "Doppler Sample Volume X Position (Retired)", 'Retired', 'DopplerSampleVolumeXPositionRetired'), - 0x00186039: ('SL', '1', "Doppler Sample Volume X Position", '', 'DopplerSampleVolumeXPosition'), - 0x0018603A: ('UL', '1', "Doppler Sample Volume Y Position (Retired)", 'Retired', 'DopplerSampleVolumeYPositionRetired'), - 0x0018603B: ('SL', '1', "Doppler Sample Volume Y Position", '', 'DopplerSampleVolumeYPosition'), - 0x0018603C: ('UL', '1', "TM-Line Position X0 (Retired)", 'Retired', 'TMLinePositionX0Retired'), - 0x0018603D: ('SL', '1', "TM-Line Position X0", '', 'TMLinePositionX0'), - 0x0018603E: ('UL', '1', "TM-Line Position Y0 (Retired)", 'Retired', 'TMLinePositionY0Retired'), - 0x0018603F: ('SL', '1', "TM-Line Position Y0", '', 'TMLinePositionY0'), - 0x00186040: ('UL', '1', "TM-Line Position X1 (Retired)", 'Retired', 'TMLinePositionX1Retired'), - 0x00186041: ('SL', '1', "TM-Line Position X1", '', 'TMLinePositionX1'), - 0x00186042: ('UL', '1', "TM-Line Position Y1 (Retired)", 'Retired', 'TMLinePositionY1Retired'), - 0x00186043: ('SL', '1', "TM-Line Position Y1", '', 'TMLinePositionY1'), - 0x00186044: ('US', '1', "Pixel Component Organization", '', 'PixelComponentOrganization'), - 0x00186046: ('UL', '1', "Pixel Component Mask", '', 'PixelComponentMask'), - 0x00186048: ('UL', '1', "Pixel Component Range Start", '', 'PixelComponentRangeStart'), - 0x0018604A: ('UL', '1', "Pixel Component Range Stop", '', 'PixelComponentRangeStop'), - 0x0018604C: ('US', '1', "Pixel Component Physical Units", '', 'PixelComponentPhysicalUnits'), - 0x0018604E: ('US', '1', "Pixel Component Data Type", '', 'PixelComponentDataType'), - 0x00186050: ('UL', '1', "Number of Table Break Points", '', 'NumberOfTableBreakPoints'), - 0x00186052: ('UL', '1-n', "Table of X Break Points", '', 'TableOfXBreakPoints'), - 0x00186054: ('FD', '1-n', "Table of Y Break Points", '', 'TableOfYBreakPoints'), - 0x00186056: ('UL', '1', "Number of Table Entries", '', 'NumberOfTableEntries'), - 0x00186058: ('UL', '1-n', "Table of Pixel Values", '', 'TableOfPixelValues'), - 0x0018605A: ('FL', '1-n', "Table of Parameter Values", '', 'TableOfParameterValues'), - 0x00186060: ('FL', '1-n', "R Wave Time Vector", '', 'RWaveTimeVector'), - 0x00187000: ('CS', '1', "Detector Conditions Nominal Flag", '', 'DetectorConditionsNominalFlag'), - 0x00187001: ('DS', '1', "Detector Temperature", '', 'DetectorTemperature'), - 0x00187004: ('CS', '1', "Detector Type", '', 'DetectorType'), - 0x00187005: ('CS', '1', "Detector Configuration", '', 'DetectorConfiguration'), - 0x00187006: ('LT', '1', "Detector Description", '', 'DetectorDescription'), - 0x00187008: ('LT', '1', "Detector Mode", '', 'DetectorMode'), - 0x0018700A: ('SH', '1', "Detector ID", '', 'DetectorID'), - 0x0018700C: ('DA', '1', "Date of Last Detector Calibration", '', 'DateOfLastDetectorCalibration'), - 0x0018700E: ('TM', '1', "Time of Last Detector Calibration", '', 'TimeOfLastDetectorCalibration'), - 0x00187010: ('IS', '1', "Exposures on Detector Since Last Calibration", '', 'ExposuresOnDetectorSinceLastCalibration'), - 0x00187011: ('IS', '1', "Exposures on Detector Since Manufactured", '', 'ExposuresOnDetectorSinceManufactured'), - 0x00187012: ('DS', '1', "Detector Time Since Last Exposure", '', 'DetectorTimeSinceLastExposure'), - 0x00187014: ('DS', '1', "Detector Active Time", '', 'DetectorActiveTime'), - 0x00187016: ('DS', '1', "Detector Activation Offset From Exposure", '', 'DetectorActivationOffsetFromExposure'), - 0x0018701A: ('DS', '2', "Detector Binning", '', 'DetectorBinning'), - 0x00187020: ('DS', '2', "Detector Element Physical Size", '', 'DetectorElementPhysicalSize'), - 0x00187022: ('DS', '2', "Detector Element Spacing", '', 'DetectorElementSpacing'), - 0x00187024: ('CS', '1', "Detector Active Shape", '', 'DetectorActiveShape'), - 0x00187026: ('DS', '1-2', "Detector Active Dimension(s)", '', 'DetectorActiveDimensions'), - 0x00187028: ('DS', '2', "Detector Active Origin", '', 'DetectorActiveOrigin'), - 0x0018702A: ('LO', '1', "Detector Manufacturer Name", '', 'DetectorManufacturerName'), - 0x0018702B: ('LO', '1', "Detector Manufacturer's Model Name", '', 'DetectorManufacturerModelName'), - 0x00187030: ('DS', '2', "Field of View Origin", '', 'FieldOfViewOrigin'), - 0x00187032: ('DS', '1', "Field of View Rotation", '', 'FieldOfViewRotation'), - 0x00187034: ('CS', '1', "Field of View Horizontal Flip", '', 'FieldOfViewHorizontalFlip'), - 0x00187036: ('FL', '2', "Pixel Data Area Origin Relative To FOV", '', 'PixelDataAreaOriginRelativeToFOV'), - 0x00187038: ('FL', '1', "Pixel Data Area Rotation Angle Relative To FOV", '', 'PixelDataAreaRotationAngleRelativeToFOV'), - 0x00187040: ('LT', '1', "Grid Absorbing Material", '', 'GridAbsorbingMaterial'), - 0x00187041: ('LT', '1', "Grid Spacing Material", '', 'GridSpacingMaterial'), - 0x00187042: ('DS', '1', "Grid Thickness", '', 'GridThickness'), - 0x00187044: ('DS', '1', "Grid Pitch", '', 'GridPitch'), - 0x00187046: ('IS', '2', "Grid Aspect Ratio", '', 'GridAspectRatio'), - 0x00187048: ('DS', '1', "Grid Period", '', 'GridPeriod'), - 0x0018704C: ('DS', '1', "Grid Focal Distance", '', 'GridFocalDistance'), - 0x00187050: ('CS', '1-n', "Filter Material", '', 'FilterMaterial'), - 0x00187052: ('DS', '1-n', "Filter Thickness Minimum", '', 'FilterThicknessMinimum'), - 0x00187054: ('DS', '1-n', "Filter Thickness Maximum", '', 'FilterThicknessMaximum'), - 0x00187056: ('FL', '1-n', "Filter Beam Path Length Minimum", '', 'FilterBeamPathLengthMinimum'), - 0x00187058: ('FL', '1-n', "Filter Beam Path Length Maximum", '', 'FilterBeamPathLengthMaximum'), - 0x00187060: ('CS', '1', "Exposure Control Mode", '', 'ExposureControlMode'), - 0x00187062: ('LT', '1', "Exposure Control Mode Description", '', 'ExposureControlModeDescription'), - 0x00187064: ('CS', '1', "Exposure Status", '', 'ExposureStatus'), - 0x00187065: ('DS', '1', "Phototimer Setting", '', 'PhototimerSetting'), - 0x00188150: ('DS', '1', "Exposure Time in uS", '', 'ExposureTimeInuS'), - 0x00188151: ('DS', '1', "X-Ray Tube Current in uA", '', 'XRayTubeCurrentInuA'), - 0x00189004: ('CS', '1', "Content Qualification", '', 'ContentQualification'), - 0x00189005: ('SH', '1', "Pulse Sequence Name", '', 'PulseSequenceName'), - 0x00189006: ('SQ', '1', "MR Imaging Modifier Sequence", '', 'MRImagingModifierSequence'), - 0x00189008: ('CS', '1', "Echo Pulse Sequence", '', 'EchoPulseSequence'), - 0x00189009: ('CS', '1', "Inversion Recovery", '', 'InversionRecovery'), - 0x00189010: ('CS', '1', "Flow Compensation", '', 'FlowCompensation'), - 0x00189011: ('CS', '1', "Multiple Spin Echo", '', 'MultipleSpinEcho'), - 0x00189012: ('CS', '1', "Multi-planar Excitation", '', 'MultiPlanarExcitation'), - 0x00189014: ('CS', '1', "Phase Contrast", '', 'PhaseContrast'), - 0x00189015: ('CS', '1', "Time of Flight Contrast", '', 'TimeOfFlightContrast'), - 0x00189016: ('CS', '1', "Spoiling", '', 'Spoiling'), - 0x00189017: ('CS', '1', "Steady State Pulse Sequence", '', 'SteadyStatePulseSequence'), - 0x00189018: ('CS', '1', "Echo Planar Pulse Sequence", '', 'EchoPlanarPulseSequence'), - 0x00189019: ('FD', '1', "Tag Angle First Axis", '', 'TagAngleFirstAxis'), - 0x00189020: ('CS', '1', "Magnetization Transfer", '', 'MagnetizationTransfer'), - 0x00189021: ('CS', '1', "T2 Preparation", '', 'T2Preparation'), - 0x00189022: ('CS', '1', "Blood Signal Nulling", '', 'BloodSignalNulling'), - 0x00189024: ('CS', '1', "Saturation Recovery", '', 'SaturationRecovery'), - 0x00189025: ('CS', '1', "Spectrally Selected Suppression", '', 'SpectrallySelectedSuppression'), - 0x00189026: ('CS', '1', "Spectrally Selected Excitation", '', 'SpectrallySelectedExcitation'), - 0x00189027: ('CS', '1', "Spatial Pre-saturation", '', 'SpatialPresaturation'), - 0x00189028: ('CS', '1', "Tagging", '', 'Tagging'), - 0x00189029: ('CS', '1', "Oversampling Phase", '', 'OversamplingPhase'), - 0x00189030: ('FD', '1', "Tag Spacing First Dimension", '', 'TagSpacingFirstDimension'), - 0x00189032: ('CS', '1', "Geometry of k-Space Traversal", '', 'GeometryOfKSpaceTraversal'), - 0x00189033: ('CS', '1', "Segmented k-Space Traversal", '', 'SegmentedKSpaceTraversal'), - 0x00189034: ('CS', '1', "Rectilinear Phase Encode Reordering", '', 'RectilinearPhaseEncodeReordering'), - 0x00189035: ('FD', '1', "Tag Thickness", '', 'TagThickness'), - 0x00189036: ('CS', '1', "Partial Fourier Direction", '', 'PartialFourierDirection'), - 0x00189037: ('CS', '1', "Cardiac Synchronization Technique", '', 'CardiacSynchronizationTechnique'), - 0x00189041: ('LO', '1', "Receive Coil Manufacturer Name", '', 'ReceiveCoilManufacturerName'), - 0x00189042: ('SQ', '1', "MR Receive Coil Sequence", '', 'MRReceiveCoilSequence'), - 0x00189043: ('CS', '1', "Receive Coil Type", '', 'ReceiveCoilType'), - 0x00189044: ('CS', '1', "Quadrature Receive Coil", '', 'QuadratureReceiveCoil'), - 0x00189045: ('SQ', '1', "Multi-Coil Definition Sequence", '', 'MultiCoilDefinitionSequence'), - 0x00189046: ('LO', '1', "Multi-Coil Configuration", '', 'MultiCoilConfiguration'), - 0x00189047: ('SH', '1', "Multi-Coil Element Name", '', 'MultiCoilElementName'), - 0x00189048: ('CS', '1', "Multi-Coil Element Used", '', 'MultiCoilElementUsed'), - 0x00189049: ('SQ', '1', "MR Transmit Coil Sequence", '', 'MRTransmitCoilSequence'), - 0x00189050: ('LO', '1', "Transmit Coil Manufacturer Name", '', 'TransmitCoilManufacturerName'), - 0x00189051: ('CS', '1', "Transmit Coil Type", '', 'TransmitCoilType'), - 0x00189052: ('FD', '1-2', "Spectral Width", '', 'SpectralWidth'), - 0x00189053: ('FD', '1-2', "Chemical Shift Reference", '', 'ChemicalShiftReference'), - 0x00189054: ('CS', '1', "Volume Localization Technique", '', 'VolumeLocalizationTechnique'), - 0x00189058: ('US', '1', "MR Acquisition Frequency Encoding Steps", '', 'MRAcquisitionFrequencyEncodingSteps'), - 0x00189059: ('CS', '1', "De-coupling", '', 'Decoupling'), - 0x00189060: ('CS', '1-2', "De-coupled Nucleus", '', 'DecoupledNucleus'), - 0x00189061: ('FD', '1-2', "De-coupling Frequency", '', 'DecouplingFrequency'), - 0x00189062: ('CS', '1', "De-coupling Method", '', 'DecouplingMethod'), - 0x00189063: ('FD', '1-2', "De-coupling Chemical Shift Reference", '', 'DecouplingChemicalShiftReference'), - 0x00189064: ('CS', '1', "k-space Filtering", '', 'KSpaceFiltering'), - 0x00189065: ('CS', '1-2', "Time Domain Filtering", '', 'TimeDomainFiltering'), - 0x00189066: ('US', '1-2', "Number of Zero Fills", '', 'NumberOfZeroFills'), - 0x00189067: ('CS', '1', "Baseline Correction", '', 'BaselineCorrection'), - 0x00189069: ('FD', '1', "Parallel Reduction Factor In-plane", '', 'ParallelReductionFactorInPlane'), - 0x00189070: ('FD', '1', "Cardiac R-R Interval Specified", '', 'CardiacRRIntervalSpecified'), - 0x00189073: ('FD', '1', "Acquisition Duration", '', 'AcquisitionDuration'), - 0x00189074: ('DT', '1', "Frame Acquisition DateTime", '', 'FrameAcquisitionDateTime'), - 0x00189075: ('CS', '1', "Diffusion Directionality", '', 'DiffusionDirectionality'), - 0x00189076: ('SQ', '1', "Diffusion Gradient Direction Sequence", '', 'DiffusionGradientDirectionSequence'), - 0x00189077: ('CS', '1', "Parallel Acquisition", '', 'ParallelAcquisition'), - 0x00189078: ('CS', '1', "Parallel Acquisition Technique", '', 'ParallelAcquisitionTechnique'), - 0x00189079: ('FD', '1-n', "Inversion Times", '', 'InversionTimes'), - 0x00189080: ('ST', '1', "Metabolite Map Description", '', 'MetaboliteMapDescription'), - 0x00189081: ('CS', '1', "Partial Fourier", '', 'PartialFourier'), - 0x00189082: ('FD', '1', "Effective Echo Time", '', 'EffectiveEchoTime'), - 0x00189083: ('SQ', '1', "Metabolite Map Code Sequence", '', 'MetaboliteMapCodeSequence'), - 0x00189084: ('SQ', '1', "Chemical Shift Sequence", '', 'ChemicalShiftSequence'), - 0x00189085: ('CS', '1', "Cardiac Signal Source", '', 'CardiacSignalSource'), - 0x00189087: ('FD', '1', "Diffusion b-value", '', 'DiffusionBValue'), - 0x00189089: ('FD', '3', "Diffusion Gradient Orientation", '', 'DiffusionGradientOrientation'), - 0x00189090: ('FD', '3', "Velocity Encoding Direction", '', 'VelocityEncodingDirection'), - 0x00189091: ('FD', '1', "Velocity Encoding Minimum Value", '', 'VelocityEncodingMinimumValue'), - 0x00189092: ('SQ', '1', "Velocity Encoding Acquisition Sequence", '', 'VelocityEncodingAcquisitionSequence'), - 0x00189093: ('US', '1', "Number of k-Space Trajectories", '', 'NumberOfKSpaceTrajectories'), - 0x00189094: ('CS', '1', "Coverage of k-Space", '', 'CoverageOfKSpace'), - 0x00189095: ('UL', '1', "Spectroscopy Acquisition Phase Rows", '', 'SpectroscopyAcquisitionPhaseRows'), - 0x00189096: ('FD', '1', "Parallel Reduction Factor In-plane (Retired)", 'Retired', 'ParallelReductionFactorInPlaneRetired'), - 0x00189098: ('FD', '1-2', "Transmitter Frequency", '', 'TransmitterFrequency'), - 0x00189100: ('CS', '1-2', "Resonant Nucleus", '', 'ResonantNucleus'), - 0x00189101: ('CS', '1', "Frequency Correction", '', 'FrequencyCorrection'), - 0x00189103: ('SQ', '1', "MR Spectroscopy FOV/Geometry Sequence", '', 'MRSpectroscopyFOVGeometrySequence'), - 0x00189104: ('FD', '1', "Slab Thickness", '', 'SlabThickness'), - 0x00189105: ('FD', '3', "Slab Orientation", '', 'SlabOrientation'), - 0x00189106: ('FD', '3', "Mid Slab Position", '', 'MidSlabPosition'), - 0x00189107: ('SQ', '1', "MR Spatial Saturation Sequence", '', 'MRSpatialSaturationSequence'), - 0x00189112: ('SQ', '1', "MR Timing and Related Parameters Sequence", '', 'MRTimingAndRelatedParametersSequence'), - 0x00189114: ('SQ', '1', "MR Echo Sequence", '', 'MREchoSequence'), - 0x00189115: ('SQ', '1', "MR Modifier Sequence", '', 'MRModifierSequence'), - 0x00189117: ('SQ', '1', "MR Diffusion Sequence", '', 'MRDiffusionSequence'), - 0x00189118: ('SQ', '1', "Cardiac Synchronization Sequence", '', 'CardiacSynchronizationSequence'), - 0x00189119: ('SQ', '1', "MR Averages Sequence", '', 'MRAveragesSequence'), - 0x00189125: ('SQ', '1', "MR FOV/Geometry Sequence", '', 'MRFOVGeometrySequence'), - 0x00189126: ('SQ', '1', "Volume Localization Sequence", '', 'VolumeLocalizationSequence'), - 0x00189127: ('UL', '1', "Spectroscopy Acquisition Data Columns", '', 'SpectroscopyAcquisitionDataColumns'), - 0x00189147: ('CS', '1', "Diffusion Anisotropy Type", '', 'DiffusionAnisotropyType'), - 0x00189151: ('DT', '1', "Frame Reference DateTime", '', 'FrameReferenceDateTime'), - 0x00189152: ('SQ', '1', "MR Metabolite Map Sequence", '', 'MRMetaboliteMapSequence'), - 0x00189155: ('FD', '1', "Parallel Reduction Factor out-of-plane", '', 'ParallelReductionFactorOutOfPlane'), - 0x00189159: ('UL', '1', "Spectroscopy Acquisition Out-of-plane Phase Steps", '', 'SpectroscopyAcquisitionOutOfPlanePhaseSteps'), - 0x00189166: ('CS', '1', "Bulk Motion Status", 'Retired', 'BulkMotionStatus'), - 0x00189168: ('FD', '1', "Parallel Reduction Factor Second In-plane", '', 'ParallelReductionFactorSecondInPlane'), - 0x00189169: ('CS', '1', "Cardiac Beat Rejection Technique", '', 'CardiacBeatRejectionTechnique'), - 0x00189170: ('CS', '1', "Respiratory Motion Compensation Technique", '', 'RespiratoryMotionCompensationTechnique'), - 0x00189171: ('CS', '1', "Respiratory Signal Source", '', 'RespiratorySignalSource'), - 0x00189172: ('CS', '1', "Bulk Motion Compensation Technique", '', 'BulkMotionCompensationTechnique'), - 0x00189173: ('CS', '1', "Bulk Motion Signal Source", '', 'BulkMotionSignalSource'), - 0x00189174: ('CS', '1', "Applicable Safety Standard Agency", '', 'ApplicableSafetyStandardAgency'), - 0x00189175: ('LO', '1', "Applicable Safety Standard Description", '', 'ApplicableSafetyStandardDescription'), - 0x00189176: ('SQ', '1', "Operating Mode Sequence", '', 'OperatingModeSequence'), - 0x00189177: ('CS', '1', "Operating Mode Type", '', 'OperatingModeType'), - 0x00189178: ('CS', '1', "Operating Mode", '', 'OperatingMode'), - 0x00189179: ('CS', '1', "Specific Absorption Rate Definition", '', 'SpecificAbsorptionRateDefinition'), - 0x00189180: ('CS', '1', "Gradient Output Type", '', 'GradientOutputType'), - 0x00189181: ('FD', '1', "Specific Absorption Rate Value", '', 'SpecificAbsorptionRateValue'), - 0x00189182: ('FD', '1', "Gradient Output", '', 'GradientOutput'), - 0x00189183: ('CS', '1', "Flow Compensation Direction", '', 'FlowCompensationDirection'), - 0x00189184: ('FD', '1', "Tagging Delay", '', 'TaggingDelay'), - 0x00189185: ('ST', '1', "Respiratory Motion Compensation Technique Description", '', 'RespiratoryMotionCompensationTechniqueDescription'), - 0x00189186: ('SH', '1', "Respiratory Signal Source ID", '', 'RespiratorySignalSourceID'), - 0x00189195: ('FD', '1', "Chemical Shift Minimum Integration Limit in Hz", 'Retired', 'ChemicalShiftMinimumIntegrationLimitInHz'), - 0x00189196: ('FD', '1', "Chemical Shift Maximum Integration Limit in Hz", 'Retired', 'ChemicalShiftMaximumIntegrationLimitInHz'), - 0x00189197: ('SQ', '1', "MR Velocity Encoding Sequence", '', 'MRVelocityEncodingSequence'), - 0x00189198: ('CS', '1', "First Order Phase Correction", '', 'FirstOrderPhaseCorrection'), - 0x00189199: ('CS', '1', "Water Referenced Phase Correction", '', 'WaterReferencedPhaseCorrection'), - 0x00189200: ('CS', '1', "MR Spectroscopy Acquisition Type", '', 'MRSpectroscopyAcquisitionType'), - 0x00189214: ('CS', '1', "Respiratory Cycle Position", '', 'RespiratoryCyclePosition'), - 0x00189217: ('FD', '1', "Velocity Encoding Maximum Value", '', 'VelocityEncodingMaximumValue'), - 0x00189218: ('FD', '1', "Tag Spacing Second Dimension", '', 'TagSpacingSecondDimension'), - 0x00189219: ('SS', '1', "Tag Angle Second Axis", '', 'TagAngleSecondAxis'), - 0x00189220: ('FD', '1', "Frame Acquisition Duration", '', 'FrameAcquisitionDuration'), - 0x00189226: ('SQ', '1', "MR Image Frame Type Sequence", '', 'MRImageFrameTypeSequence'), - 0x00189227: ('SQ', '1', "MR Spectroscopy Frame Type Sequence", '', 'MRSpectroscopyFrameTypeSequence'), - 0x00189231: ('US', '1', "MR Acquisition Phase Encoding Steps in-plane", '', 'MRAcquisitionPhaseEncodingStepsInPlane'), - 0x00189232: ('US', '1', "MR Acquisition Phase Encoding Steps out-of-plane", '', 'MRAcquisitionPhaseEncodingStepsOutOfPlane'), - 0x00189234: ('UL', '1', "Spectroscopy Acquisition Phase Columns", '', 'SpectroscopyAcquisitionPhaseColumns'), - 0x00189236: ('CS', '1', "Cardiac Cycle Position", '', 'CardiacCyclePosition'), - 0x00189239: ('SQ', '1', "Specific Absorption Rate Sequence", '', 'SpecificAbsorptionRateSequence'), - 0x00189240: ('US', '1', "RF Echo Train Length", '', 'RFEchoTrainLength'), - 0x00189241: ('US', '1', "Gradient Echo Train Length", '', 'GradientEchoTrainLength'), - 0x00189250: ('CS', '1', "Arterial Spin Labeling Contrast", '', 'ArterialSpinLabelingContrast'), - 0x00189251: ('SQ', '1', "MR Arterial Spin Labeling Sequence", '', 'MRArterialSpinLabelingSequence'), - 0x00189252: ('LO', '1', "ASL Technique Description", '', 'ASLTechniqueDescription'), - 0x00189253: ('US', '1', "ASL Slab Number", '', 'ASLSlabNumber'), - 0x00189254: ('FD', '1', "ASL Slab Thickness", '', 'ASLSlabThickness'), - 0x00189255: ('FD', '3', "ASL Slab Orientation", '', 'ASLSlabOrientation'), - 0x00189256: ('FD', '3', "ASL Mid Slab Position", '', 'ASLMidSlabPosition'), - 0x00189257: ('CS', '1', "ASL Context", '', 'ASLContext'), - 0x00189258: ('UL', '1', "ASL Pulse Train Duration", '', 'ASLPulseTrainDuration'), - 0x00189259: ('CS', '1', "ASL Crusher Flag", '', 'ASLCrusherFlag'), - 0x0018925A: ('FD', '1', "ASL Crusher Flow Limit", '', 'ASLCrusherFlowLimit'), - 0x0018925B: ('LO', '1', "ASL Crusher Description", '', 'ASLCrusherDescription'), - 0x0018925C: ('CS', '1', "ASL Bolus Cut-off Flag", '', 'ASLBolusCutoffFlag'), - 0x0018925D: ('SQ', '1', "ASL Bolus Cut-off Timing Sequence", '', 'ASLBolusCutoffTimingSequence'), - 0x0018925E: ('LO', '1', "ASL Bolus Cut-off Technique", '', 'ASLBolusCutoffTechnique'), - 0x0018925F: ('UL', '1', "ASL Bolus Cut-off Delay Time", '', 'ASLBolusCutoffDelayTime'), - 0x00189260: ('SQ', '1', "ASL Slab Sequence", '', 'ASLSlabSequence'), - 0x00189295: ('FD', '1', "Chemical Shift Minimum Integration Limit in ppm", '', 'ChemicalShiftMinimumIntegrationLimitInppm'), - 0x00189296: ('FD', '1', "Chemical Shift Maximum Integration Limit in ppm", '', 'ChemicalShiftMaximumIntegrationLimitInppm'), - 0x00189301: ('SQ', '1', "CT Acquisition Type Sequence", '', 'CTAcquisitionTypeSequence'), - 0x00189302: ('CS', '1', "Acquisition Type", '', 'AcquisitionType'), - 0x00189303: ('FD', '1', "Tube Angle", '', 'TubeAngle'), - 0x00189304: ('SQ', '1', "CT Acquisition Details Sequence", '', 'CTAcquisitionDetailsSequence'), - 0x00189305: ('FD', '1', "Revolution Time", '', 'RevolutionTime'), - 0x00189306: ('FD', '1', "Single Collimation Width", '', 'SingleCollimationWidth'), - 0x00189307: ('FD', '1', "Total Collimation Width", '', 'TotalCollimationWidth'), - 0x00189308: ('SQ', '1', "CT Table Dynamics Sequence", '', 'CTTableDynamicsSequence'), - 0x00189309: ('FD', '1', "Table Speed", '', 'TableSpeed'), - 0x00189310: ('FD', '1', "Table Feed per Rotation", '', 'TableFeedPerRotation'), - 0x00189311: ('FD', '1', "Spiral Pitch Factor", '', 'SpiralPitchFactor'), - 0x00189312: ('SQ', '1', "CT Geometry Sequence", '', 'CTGeometrySequence'), - 0x00189313: ('FD', '3', "Data Collection Center (Patient)", '', 'DataCollectionCenterPatient'), - 0x00189314: ('SQ', '1', "CT Reconstruction Sequence", '', 'CTReconstructionSequence'), - 0x00189315: ('CS', '1', "Reconstruction Algorithm", '', 'ReconstructionAlgorithm'), - 0x00189316: ('CS', '1', "Convolution Kernel Group", '', 'ConvolutionKernelGroup'), - 0x00189317: ('FD', '2', "Reconstruction Field of View", '', 'ReconstructionFieldOfView'), - 0x00189318: ('FD', '3', "Reconstruction Target Center (Patient)", '', 'ReconstructionTargetCenterPatient'), - 0x00189319: ('FD', '1', "Reconstruction Angle", '', 'ReconstructionAngle'), - 0x00189320: ('SH', '1', "Image Filter", '', 'ImageFilter'), - 0x00189321: ('SQ', '1', "CT Exposure Sequence", '', 'CTExposureSequence'), - 0x00189322: ('FD', '2', "Reconstruction Pixel Spacing", '', 'ReconstructionPixelSpacing'), - 0x00189323: ('CS', '1', "Exposure Modulation Type", '', 'ExposureModulationType'), - 0x00189324: ('FD', '1', "Estimated Dose Saving", '', 'EstimatedDoseSaving'), - 0x00189325: ('SQ', '1', "CT X-Ray Details Sequence", '', 'CTXRayDetailsSequence'), - 0x00189326: ('SQ', '1', "CT Position Sequence", '', 'CTPositionSequence'), - 0x00189327: ('FD', '1', "Table Position", '', 'TablePosition'), - 0x00189328: ('FD', '1', "Exposure Time in ms", '', 'ExposureTimeInms'), - 0x00189329: ('SQ', '1', "CT Image Frame Type Sequence", '', 'CTImageFrameTypeSequence'), - 0x00189330: ('FD', '1', "X-Ray Tube Current in mA", '', 'XRayTubeCurrentInmA'), - 0x00189332: ('FD', '1', "Exposure in mAs", '', 'ExposureInmAs'), - 0x00189333: ('CS', '1', "Constant Volume Flag", '', 'ConstantVolumeFlag'), - 0x00189334: ('CS', '1', "Fluoroscopy Flag", '', 'FluoroscopyFlag'), - 0x00189335: ('FD', '1', "Distance Source to Data Collection Center", '', 'DistanceSourceToDataCollectionCenter'), - 0x00189337: ('US', '1', "Contrast/Bolus Agent Number", '', 'ContrastBolusAgentNumber'), - 0x00189338: ('SQ', '1', "Contrast/Bolus Ingredient Code Sequence", '', 'ContrastBolusIngredientCodeSequence'), - 0x00189340: ('SQ', '1', "Contrast Administration Profile Sequence", '', 'ContrastAdministrationProfileSequence'), - 0x00189341: ('SQ', '1', "Contrast/Bolus Usage Sequence", '', 'ContrastBolusUsageSequence'), - 0x00189342: ('CS', '1', "Contrast/Bolus Agent Administered", '', 'ContrastBolusAgentAdministered'), - 0x00189343: ('CS', '1', "Contrast/Bolus Agent Detected", '', 'ContrastBolusAgentDetected'), - 0x00189344: ('CS', '1', "Contrast/Bolus Agent Phase", '', 'ContrastBolusAgentPhase'), - 0x00189345: ('FD', '1', "CTDIvol", '', 'CTDIvol'), - 0x00189346: ('SQ', '1', "CTDI Phantom Type Code Sequence", '', 'CTDIPhantomTypeCodeSequence'), - 0x00189351: ('FL', '1', "Calcium Scoring Mass Factor Patient", '', 'CalciumScoringMassFactorPatient'), - 0x00189352: ('FL', '3', "Calcium Scoring Mass Factor Device", '', 'CalciumScoringMassFactorDevice'), - 0x00189353: ('FL', '1', "Energy Weighting Factor", '', 'EnergyWeightingFactor'), - 0x00189360: ('SQ', '1', "CT Additional X-Ray Source Sequence", '', 'CTAdditionalXRaySourceSequence'), - 0x00189401: ('SQ', '1', "Projection Pixel Calibration Sequence", '', 'ProjectionPixelCalibrationSequence'), - 0x00189402: ('FL', '1', "Distance Source to Isocenter", '', 'DistanceSourceToIsocenter'), - 0x00189403: ('FL', '1', "Distance Object to Table Top", '', 'DistanceObjectToTableTop'), - 0x00189404: ('FL', '2', "Object Pixel Spacing in Center of Beam", '', 'ObjectPixelSpacingInCenterOfBeam'), - 0x00189405: ('SQ', '1', "Positioner Position Sequence", '', 'PositionerPositionSequence'), - 0x00189406: ('SQ', '1', "Table Position Sequence", '', 'TablePositionSequence'), - 0x00189407: ('SQ', '1', "Collimator Shape Sequence", '', 'CollimatorShapeSequence'), - 0x00189410: ('CS', '1', "Planes in Acquisition", '', 'PlanesInAcquisition'), - 0x00189412: ('SQ', '1', "XA/XRF Frame Characteristics Sequence", '', 'XAXRFFrameCharacteristicsSequence'), - 0x00189417: ('SQ', '1', "Frame Acquisition Sequence", '', 'FrameAcquisitionSequence'), - 0x00189420: ('CS', '1', "X-Ray Receptor Type", '', 'XRayReceptorType'), - 0x00189423: ('LO', '1', "Acquisition Protocol Name", '', 'AcquisitionProtocolName'), - 0x00189424: ('LT', '1', "Acquisition Protocol Description", '', 'AcquisitionProtocolDescription'), - 0x00189425: ('CS', '1', "Contrast/Bolus Ingredient Opaque", '', 'ContrastBolusIngredientOpaque'), - 0x00189426: ('FL', '1', "Distance Receptor Plane to Detector Housing", '', 'DistanceReceptorPlaneToDetectorHousing'), - 0x00189427: ('CS', '1', "Intensifier Active Shape", '', 'IntensifierActiveShape'), - 0x00189428: ('FL', '1-2', "Intensifier Active Dimension(s)", '', 'IntensifierActiveDimensions'), - 0x00189429: ('FL', '2', "Physical Detector Size", '', 'PhysicalDetectorSize'), - 0x00189430: ('FL', '2', "Position of Isocenter Projection", '', 'PositionOfIsocenterProjection'), - 0x00189432: ('SQ', '1', "Field of View Sequence", '', 'FieldOfViewSequence'), - 0x00189433: ('LO', '1', "Field of View Description", '', 'FieldOfViewDescription'), - 0x00189434: ('SQ', '1', "Exposure Control Sensing Regions Sequence", '', 'ExposureControlSensingRegionsSequence'), - 0x00189435: ('CS', '1', "Exposure Control Sensing Region Shape", '', 'ExposureControlSensingRegionShape'), - 0x00189436: ('SS', '1', "Exposure Control Sensing Region Left Vertical Edge", '', 'ExposureControlSensingRegionLeftVerticalEdge'), - 0x00189437: ('SS', '1', "Exposure Control Sensing Region Right Vertical Edge", '', 'ExposureControlSensingRegionRightVerticalEdge'), - 0x00189438: ('SS', '1', "Exposure Control Sensing Region Upper Horizontal Edge", '', 'ExposureControlSensingRegionUpperHorizontalEdge'), - 0x00189439: ('SS', '1', "Exposure Control Sensing Region Lower Horizontal Edge", '', 'ExposureControlSensingRegionLowerHorizontalEdge'), - 0x00189440: ('SS', '2', "Center of Circular Exposure Control Sensing Region", '', 'CenterOfCircularExposureControlSensingRegion'), - 0x00189441: ('US', '1', "Radius of Circular Exposure Control Sensing Region", '', 'RadiusOfCircularExposureControlSensingRegion'), - 0x00189442: ('SS', '2-n', "Vertices of the Polygonal Exposure Control Sensing Region", '', 'VerticesOfThePolygonalExposureControlSensingRegion'), - 0x00189445: ('OB', '1', "Retired-blank", 'Retired', ''), - 0x00189447: ('FL', '1', "Column Angulation (Patient)", '', 'ColumnAngulationPatient'), - 0x00189449: ('FL', '1', "Beam Angle", '', 'BeamAngle'), - 0x00189451: ('SQ', '1', "Frame Detector Parameters Sequence", '', 'FrameDetectorParametersSequence'), - 0x00189452: ('FL', '1', "Calculated Anatomy Thickness", '', 'CalculatedAnatomyThickness'), - 0x00189455: ('SQ', '1', "Calibration Sequence", '', 'CalibrationSequence'), - 0x00189456: ('SQ', '1', "Object Thickness Sequence", '', 'ObjectThicknessSequence'), - 0x00189457: ('CS', '1', "Plane Identification", '', 'PlaneIdentification'), - 0x00189461: ('FL', '1-2', "Field of View Dimension(s) in Float", '', 'FieldOfViewDimensionsInFloat'), - 0x00189462: ('SQ', '1', "Isocenter Reference System Sequence", '', 'IsocenterReferenceSystemSequence'), - 0x00189463: ('FL', '1', "Positioner Isocenter Primary Angle", '', 'PositionerIsocenterPrimaryAngle'), - 0x00189464: ('FL', '1', "Positioner Isocenter Secondary Angle", '', 'PositionerIsocenterSecondaryAngle'), - 0x00189465: ('FL', '1', "Positioner Isocenter Detector Rotation Angle", '', 'PositionerIsocenterDetectorRotationAngle'), - 0x00189466: ('FL', '1', "Table X Position to Isocenter", '', 'TableXPositionToIsocenter'), - 0x00189467: ('FL', '1', "Table Y Position to Isocenter", '', 'TableYPositionToIsocenter'), - 0x00189468: ('FL', '1', "Table Z Position to Isocenter", '', 'TableZPositionToIsocenter'), - 0x00189469: ('FL', '1', "Table Horizontal Rotation Angle", '', 'TableHorizontalRotationAngle'), - 0x00189470: ('FL', '1', "Table Head Tilt Angle", '', 'TableHeadTiltAngle'), - 0x00189471: ('FL', '1', "Table Cradle Tilt Angle", '', 'TableCradleTiltAngle'), - 0x00189472: ('SQ', '1', "Frame Display Shutter Sequence", '', 'FrameDisplayShutterSequence'), - 0x00189473: ('FL', '1', "Acquired Image Area Dose Product", '', 'AcquiredImageAreaDoseProduct'), - 0x00189474: ('CS', '1', "C-arm Positioner Tabletop Relationship", '', 'CArmPositionerTabletopRelationship'), - 0x00189476: ('SQ', '1', "X-Ray Geometry Sequence", '', 'XRayGeometrySequence'), - 0x00189477: ('SQ', '1', "Irradiation Event Identification Sequence", '', 'IrradiationEventIdentificationSequence'), - 0x00189504: ('SQ', '1', "X-Ray 3D Frame Type Sequence", '', 'XRay3DFrameTypeSequence'), - 0x00189506: ('SQ', '1', "Contributing Sources Sequence", '', 'ContributingSourcesSequence'), - 0x00189507: ('SQ', '1', "X-Ray 3D Acquisition Sequence", '', 'XRay3DAcquisitionSequence'), - 0x00189508: ('FL', '1', "Primary Positioner Scan Arc", '', 'PrimaryPositionerScanArc'), - 0x00189509: ('FL', '1', "Secondary Positioner Scan Arc", '', 'SecondaryPositionerScanArc'), - 0x00189510: ('FL', '1', "Primary Positioner Scan Start Angle", '', 'PrimaryPositionerScanStartAngle'), - 0x00189511: ('FL', '1', "Secondary Positioner Scan Start Angle", '', 'SecondaryPositionerScanStartAngle'), - 0x00189514: ('FL', '1', "Primary Positioner Increment", '', 'PrimaryPositionerIncrement'), - 0x00189515: ('FL', '1', "Secondary Positioner Increment", '', 'SecondaryPositionerIncrement'), - 0x00189516: ('DT', '1', "Start Acquisition DateTime", '', 'StartAcquisitionDateTime'), - 0x00189517: ('DT', '1', "End Acquisition DateTime", '', 'EndAcquisitionDateTime'), - 0x00189524: ('LO', '1', "Application Name", '', 'ApplicationName'), - 0x00189525: ('LO', '1', "Application Version", '', 'ApplicationVersion'), - 0x00189526: ('LO', '1', "Application Manufacturer", '', 'ApplicationManufacturer'), - 0x00189527: ('CS', '1', "Algorithm Type", '', 'AlgorithmType'), - 0x00189528: ('LO', '1', "Algorithm Description", '', 'AlgorithmDescription'), - 0x00189530: ('SQ', '1', "X-Ray 3D Reconstruction Sequence", '', 'XRay3DReconstructionSequence'), - 0x00189531: ('LO', '1', "Reconstruction Description", '', 'ReconstructionDescription'), - 0x00189538: ('SQ', '1', "Per Projection Acquisition Sequence", '', 'PerProjectionAcquisitionSequence'), - 0x00189601: ('SQ', '1', "Diffusion b-matrix Sequence", '', 'DiffusionBMatrixSequence'), - 0x00189602: ('FD', '1', "Diffusion b-value XX", '', 'DiffusionBValueXX'), - 0x00189603: ('FD', '1', "Diffusion b-value XY", '', 'DiffusionBValueXY'), - 0x00189604: ('FD', '1', "Diffusion b-value XZ", '', 'DiffusionBValueXZ'), - 0x00189605: ('FD', '1', "Diffusion b-value YY", '', 'DiffusionBValueYY'), - 0x00189606: ('FD', '1', "Diffusion b-value YZ", '', 'DiffusionBValueYZ'), - 0x00189607: ('FD', '1', "Diffusion b-value ZZ", '', 'DiffusionBValueZZ'), - 0x00189701: ('DT', '1', "Decay Correction DateTime", '', 'DecayCorrectionDateTime'), - 0x00189715: ('FD', '1', "Start Density Threshold", '', 'StartDensityThreshold'), - 0x00189716: ('FD', '1', "Start Relative Density Difference Threshold", '', 'StartRelativeDensityDifferenceThreshold'), - 0x00189717: ('FD', '1', "Start Cardiac Trigger Count Threshold", '', 'StartCardiacTriggerCountThreshold'), - 0x00189718: ('FD', '1', "Start Respiratory Trigger Count Threshold", '', 'StartRespiratoryTriggerCountThreshold'), - 0x00189719: ('FD', '1', "Termination Counts Threshold", '', 'TerminationCountsThreshold'), - 0x00189720: ('FD', '1', "Termination Density Threshold", '', 'TerminationDensityThreshold'), - 0x00189721: ('FD', '1', "Termination Relative Density Threshold", '', 'TerminationRelativeDensityThreshold'), - 0x00189722: ('FD', '1', "Termination Time Threshold", '', 'TerminationTimeThreshold'), - 0x00189723: ('FD', '1', "Termination Cardiac Trigger Count Threshold", '', 'TerminationCardiacTriggerCountThreshold'), - 0x00189724: ('FD', '1', "Termination Respiratory Trigger Count Threshold", '', 'TerminationRespiratoryTriggerCountThreshold'), - 0x00189725: ('CS', '1', "Detector Geometry", '', 'DetectorGeometry'), - 0x00189726: ('FD', '1', "Transverse Detector Separation", '', 'TransverseDetectorSeparation'), - 0x00189727: ('FD', '1', "Axial Detector Dimension", '', 'AxialDetectorDimension'), - 0x00189729: ('US', '1', "Radiopharmaceutical Agent Number", '', 'RadiopharmaceuticalAgentNumber'), - 0x00189732: ('SQ', '1', "PET Frame Acquisition Sequence", '', 'PETFrameAcquisitionSequence'), - 0x00189733: ('SQ', '1', "PET Detector Motion Details Sequence", '', 'PETDetectorMotionDetailsSequence'), - 0x00189734: ('SQ', '1', "PET Table Dynamics Sequence", '', 'PETTableDynamicsSequence'), - 0x00189735: ('SQ', '1', "PET Position Sequence", '', 'PETPositionSequence'), - 0x00189736: ('SQ', '1', "PET Frame Correction Factors Sequence", '', 'PETFrameCorrectionFactorsSequence'), - 0x00189737: ('SQ', '1', "Radiopharmaceutical Usage Sequence", '', 'RadiopharmaceuticalUsageSequence'), - 0x00189738: ('CS', '1', "Attenuation Correction Source", '', 'AttenuationCorrectionSource'), - 0x00189739: ('US', '1', "Number of Iterations", '', 'NumberOfIterations'), - 0x00189740: ('US', '1', "Number of Subsets", '', 'NumberOfSubsets'), - 0x00189749: ('SQ', '1', "PET Reconstruction Sequence", '', 'PETReconstructionSequence'), - 0x00189751: ('SQ', '1', "PET Frame Type Sequence", '', 'PETFrameTypeSequence'), - 0x00189755: ('CS', '1', "Time of Flight Information Used", '', 'TimeOfFlightInformationUsed'), - 0x00189756: ('CS', '1', "Reconstruction Type", '', 'ReconstructionType'), - 0x00189758: ('CS', '1', "Decay Corrected", '', 'DecayCorrected'), - 0x00189759: ('CS', '1', "Attenuation Corrected", '', 'AttenuationCorrected'), - 0x00189760: ('CS', '1', "Scatter Corrected", '', 'ScatterCorrected'), - 0x00189761: ('CS', '1', "Dead Time Corrected", '', 'DeadTimeCorrected'), - 0x00189762: ('CS', '1', "Gantry Motion Corrected", '', 'GantryMotionCorrected'), - 0x00189763: ('CS', '1', "Patient Motion Corrected", '', 'PatientMotionCorrected'), - 0x00189764: ('CS', '1', "Count Loss Normalization Corrected", '', 'CountLossNormalizationCorrected'), - 0x00189765: ('CS', '1', "Randoms Corrected", '', 'RandomsCorrected'), - 0x00189766: ('CS', '1', "Non-uniform Radial Sampling Corrected", '', 'NonUniformRadialSamplingCorrected'), - 0x00189767: ('CS', '1', "Sensitivity Calibrated", '', 'SensitivityCalibrated'), - 0x00189768: ('CS', '1', "Detector Normalization Correction", '', 'DetectorNormalizationCorrection'), - 0x00189769: ('CS', '1', "Iterative Reconstruction Method", '', 'IterativeReconstructionMethod'), - 0x00189770: ('CS', '1', "Attenuation Correction Temporal Relationship", '', 'AttenuationCorrectionTemporalRelationship'), - 0x00189771: ('SQ', '1', "Patient Physiological State Sequence", '', 'PatientPhysiologicalStateSequence'), - 0x00189772: ('SQ', '1', "Patient Physiological State Code Sequence", '', 'PatientPhysiologicalStateCodeSequence'), - 0x00189801: ('FD', '1-n', "Depth(s) of Focus", '', 'DepthsOfFocus'), - 0x00189803: ('SQ', '1', "Excluded Intervals Sequence", '', 'ExcludedIntervalsSequence'), - 0x00189804: ('DT', '1', "Exclusion Start DateTime", '', 'ExclusionStartDateTime'), - 0x00189805: ('FD', '1', "Exclusion Duration", '', 'ExclusionDuration'), - 0x00189806: ('SQ', '1', "US Image Description Sequence", '', 'USImageDescriptionSequence'), - 0x00189807: ('SQ', '1', "Image Data Type Sequence", '', 'ImageDataTypeSequence'), - 0x00189808: ('CS', '1', "Data Type", '', 'DataType'), - 0x00189809: ('SQ', '1', "Transducer Scan Pattern Code Sequence", '', 'TransducerScanPatternCodeSequence'), - 0x0018980B: ('CS', '1', "Aliased Data Type", '', 'AliasedDataType'), - 0x0018980C: ('CS', '1', "Position Measuring Device Used", '', 'PositionMeasuringDeviceUsed'), - 0x0018980D: ('SQ', '1', "Transducer Geometry Code Sequence", '', 'TransducerGeometryCodeSequence'), - 0x0018980E: ('SQ', '1', "Transducer Beam Steering Code Sequence", '', 'TransducerBeamSteeringCodeSequence'), - 0x0018980F: ('SQ', '1', "Transducer Application Code Sequence", '', 'TransducerApplicationCodeSequence'), - 0x00189810: ('US or SS', '1', "Zero Velocity Pixel Value", '', 'ZeroVelocityPixelValue'), - 0x0018A001: ('SQ', '1', "Contributing Equipment Sequence", '', 'ContributingEquipmentSequence'), - 0x0018A002: ('DT', '1', "Contribution DateTime", '', 'ContributionDateTime'), - 0x0018A003: ('ST', '1', "Contribution Description", '', 'ContributionDescription'), - 0x0020000D: ('UI', '1', "Study Instance UID", '', 'StudyInstanceUID'), - 0x0020000E: ('UI', '1', "Series Instance UID", '', 'SeriesInstanceUID'), - 0x00200010: ('SH', '1', "Study ID", '', 'StudyID'), - 0x00200011: ('IS', '1', "Series Number", '', 'SeriesNumber'), - 0x00200012: ('IS', '1', "Acquisition Number", '', 'AcquisitionNumber'), - 0x00200013: ('IS', '1', "Instance Number", '', 'InstanceNumber'), - 0x00200014: ('IS', '1', "Isotope Number", 'Retired', 'IsotopeNumber'), - 0x00200015: ('IS', '1', "Phase Number", 'Retired', 'PhaseNumber'), - 0x00200016: ('IS', '1', "Interval Number", 'Retired', 'IntervalNumber'), - 0x00200017: ('IS', '1', "Time Slot Number", 'Retired', 'TimeSlotNumber'), - 0x00200018: ('IS', '1', "Angle Number", 'Retired', 'AngleNumber'), - 0x00200019: ('IS', '1', "Item Number", '', 'ItemNumber'), - 0x00200020: ('CS', '2', "Patient Orientation", '', 'PatientOrientation'), - 0x00200022: ('IS', '1', "Overlay Number", 'Retired', 'OverlayNumber'), - 0x00200024: ('IS', '1', "Curve Number", 'Retired', 'CurveNumber'), - 0x00200026: ('IS', '1', "LUT Number", 'Retired', 'LUTNumber'), - 0x00200030: ('DS', '3', "Image Position", 'Retired', 'ImagePosition'), - 0x00200032: ('DS', '3', "Image Position (Patient)", '', 'ImagePositionPatient'), - 0x00200035: ('DS', '6', "Image Orientation", 'Retired', 'ImageOrientation'), - 0x00200037: ('DS', '6', "Image Orientation (Patient)", '', 'ImageOrientationPatient'), - 0x00200050: ('DS', '1', "Location", 'Retired', 'Location'), - 0x00200052: ('UI', '1', "Frame of Reference UID", '', 'FrameOfReferenceUID'), - 0x00200060: ('CS', '1', "Laterality", '', 'Laterality'), - 0x00200062: ('CS', '1', "Image Laterality", '', 'ImageLaterality'), - 0x00200070: ('LO', '1', "Image Geometry Type", 'Retired', 'ImageGeometryType'), - 0x00200080: ('CS', '1-n', "Masking Image", 'Retired', 'MaskingImage'), - 0x002000AA: ('IS', '1', "Report Number", 'Retired', 'ReportNumber'), - 0x00200100: ('IS', '1', "Temporal Position Identifier", '', 'TemporalPositionIdentifier'), - 0x00200105: ('IS', '1', "Number of Temporal Positions", '', 'NumberOfTemporalPositions'), - 0x00200110: ('DS', '1', "Temporal Resolution", '', 'TemporalResolution'), - 0x00200200: ('UI', '1', "Synchronization Frame of Reference UID", '', 'SynchronizationFrameOfReferenceUID'), - 0x00200242: ('UI', '1', "SOP Instance UID of Concatenation Source", '', 'SOPInstanceUIDOfConcatenationSource'), - 0x00201000: ('IS', '1', "Series in Study", 'Retired', 'SeriesInStudy'), - 0x00201001: ('IS', '1', "Acquisitions in Series", 'Retired', 'AcquisitionsInSeries'), - 0x00201002: ('IS', '1', "Images in Acquisition", '', 'ImagesInAcquisition'), - 0x00201003: ('IS', '1', "Images in Series", 'Retired', 'ImagesInSeries'), - 0x00201004: ('IS', '1', "Acquisitions in Study", 'Retired', 'AcquisitionsInStudy'), - 0x00201005: ('IS', '1', "Images in Study", 'Retired', 'ImagesInStudy'), - 0x00201020: ('LO', '1-n', "Reference", 'Retired', 'Reference'), - 0x00201040: ('LO', '1', "Position Reference Indicator", '', 'PositionReferenceIndicator'), - 0x00201041: ('DS', '1', "Slice Location", '', 'SliceLocation'), - 0x00201070: ('IS', '1-n', "Other Study Numbers", 'Retired', 'OtherStudyNumbers'), - 0x00201200: ('IS', '1', "Number of Patient Related Studies", '', 'NumberOfPatientRelatedStudies'), - 0x00201202: ('IS', '1', "Number of Patient Related Series", '', 'NumberOfPatientRelatedSeries'), - 0x00201204: ('IS', '1', "Number of Patient Related Instances", '', 'NumberOfPatientRelatedInstances'), - 0x00201206: ('IS', '1', "Number of Study Related Series", '', 'NumberOfStudyRelatedSeries'), - 0x00201208: ('IS', '1', "Number of Study Related Instances", '', 'NumberOfStudyRelatedInstances'), - 0x00201209: ('IS', '1', "Number of Series Related Instances", '', 'NumberOfSeriesRelatedInstances'), - 0x00203401: ('CS', '1', "Modifying Device ID", 'Retired', 'ModifyingDeviceID'), - 0x00203402: ('CS', '1', "Modified Image ID", 'Retired', 'ModifiedImageID'), - 0x00203403: ('DA', '1', "Modified Image Date", 'Retired', 'ModifiedImageDate'), - 0x00203404: ('LO', '1', "Modifying Device Manufacturer", 'Retired', 'ModifyingDeviceManufacturer'), - 0x00203405: ('TM', '1', "Modified Image Time", 'Retired', 'ModifiedImageTime'), - 0x00203406: ('LO', '1', "Modified Image Description", 'Retired', 'ModifiedImageDescription'), - 0x00204000: ('LT', '1', "Image Comments", '', 'ImageComments'), - 0x00205000: ('AT', '1-n', "Original Image Identification", 'Retired', 'OriginalImageIdentification'), - 0x00205002: ('LO', '1-n', "Original Image Identification Nomenclature", 'Retired', 'OriginalImageIdentificationNomenclature'), - 0x00209056: ('SH', '1', "Stack ID", '', 'StackID'), - 0x00209057: ('UL', '1', "In-Stack Position Number", '', 'InStackPositionNumber'), - 0x00209071: ('SQ', '1', "Frame Anatomy Sequence", '', 'FrameAnatomySequence'), - 0x00209072: ('CS', '1', "Frame Laterality", '', 'FrameLaterality'), - 0x00209111: ('SQ', '1', "Frame Content Sequence", '', 'FrameContentSequence'), - 0x00209113: ('SQ', '1', "Plane Position Sequence", '', 'PlanePositionSequence'), - 0x00209116: ('SQ', '1', "Plane Orientation Sequence", '', 'PlaneOrientationSequence'), - 0x00209128: ('UL', '1', "Temporal Position Index", '', 'TemporalPositionIndex'), - 0x00209153: ('FD', '1', "Nominal Cardiac Trigger Delay Time", '', 'NominalCardiacTriggerDelayTime'), - 0x00209154: ('FL', '1', "Nominal Cardiac Trigger Time Prior To R-Peak", '', 'NominalCardiacTriggerTimePriorToRPeak'), - 0x00209155: ('FL', '1', "Actual Cardiac Trigger Time Prior To R-Peak", '', 'ActualCardiacTriggerTimePriorToRPeak'), - 0x00209156: ('US', '1', "Frame Acquisition Number", '', 'FrameAcquisitionNumber'), - 0x00209157: ('UL', '1-n', "Dimension Index Values", '', 'DimensionIndexValues'), - 0x00209158: ('LT', '1', "Frame Comments", '', 'FrameComments'), - 0x00209161: ('UI', '1', "Concatenation UID", '', 'ConcatenationUID'), - 0x00209162: ('US', '1', "In-concatenation Number", '', 'InConcatenationNumber'), - 0x00209163: ('US', '1', "In-concatenation Total Number", '', 'InConcatenationTotalNumber'), - 0x00209164: ('UI', '1', "Dimension Organization UID", '', 'DimensionOrganizationUID'), - 0x00209165: ('AT', '1', "Dimension Index Pointer", '', 'DimensionIndexPointer'), - 0x00209167: ('AT', '1', "Functional Group Pointer", '', 'FunctionalGroupPointer'), - 0x00209170: ('SQ', '1', "Unassigned Shared Converted Attributes Sequence", '', 'UnassignedSharedConvertedAttributesSequence'), - 0x00209171: ('SQ', '1', "Unassigned Per-Frame Converted Attributes Sequence", '', 'UnassignedPerFrameConvertedAttributesSequence'), - 0x00209172: ('SQ', '1', "Conversion Source Attributes Sequence", '', 'ConversionSourceAttributesSequence'), - 0x00209213: ('LO', '1', "Dimension Index Private Creator", '', 'DimensionIndexPrivateCreator'), - 0x00209221: ('SQ', '1', "Dimension Organization Sequence", '', 'DimensionOrganizationSequence'), - 0x00209222: ('SQ', '1', "Dimension Index Sequence", '', 'DimensionIndexSequence'), - 0x00209228: ('UL', '1', "Concatenation Frame Offset Number", '', 'ConcatenationFrameOffsetNumber'), - 0x00209238: ('LO', '1', "Functional Group Private Creator", '', 'FunctionalGroupPrivateCreator'), - 0x00209241: ('FL', '1', "Nominal Percentage of Cardiac Phase", '', 'NominalPercentageOfCardiacPhase'), - 0x00209245: ('FL', '1', "Nominal Percentage of Respiratory Phase", '', 'NominalPercentageOfRespiratoryPhase'), - 0x00209246: ('FL', '1', "Starting Respiratory Amplitude", '', 'StartingRespiratoryAmplitude'), - 0x00209247: ('CS', '1', "Starting Respiratory Phase", '', 'StartingRespiratoryPhase'), - 0x00209248: ('FL', '1', "Ending Respiratory Amplitude", '', 'EndingRespiratoryAmplitude'), - 0x00209249: ('CS', '1', "Ending Respiratory Phase", '', 'EndingRespiratoryPhase'), - 0x00209250: ('CS', '1', "Respiratory Trigger Type", '', 'RespiratoryTriggerType'), - 0x00209251: ('FD', '1', "R-R Interval Time Nominal", '', 'RRIntervalTimeNominal'), - 0x00209252: ('FD', '1', "Actual Cardiac Trigger Delay Time", '', 'ActualCardiacTriggerDelayTime'), - 0x00209253: ('SQ', '1', "Respiratory Synchronization Sequence", '', 'RespiratorySynchronizationSequence'), - 0x00209254: ('FD', '1', "Respiratory Interval Time", '', 'RespiratoryIntervalTime'), - 0x00209255: ('FD', '1', "Nominal Respiratory Trigger Delay Time", '', 'NominalRespiratoryTriggerDelayTime'), - 0x00209256: ('FD', '1', "Respiratory Trigger Delay Threshold", '', 'RespiratoryTriggerDelayThreshold'), - 0x00209257: ('FD', '1', "Actual Respiratory Trigger Delay Time", '', 'ActualRespiratoryTriggerDelayTime'), - 0x00209301: ('FD', '3', "Image Position (Volume)", '', 'ImagePositionVolume'), - 0x00209302: ('FD', '6', "Image Orientation (Volume)", '', 'ImageOrientationVolume'), - 0x00209307: ('CS', '1', "Ultrasound Acquisition Geometry", '', 'UltrasoundAcquisitionGeometry'), - 0x00209308: ('FD', '3', "Apex Position", '', 'ApexPosition'), - 0x00209309: ('FD', '16', "Volume to Transducer Mapping Matrix", '', 'VolumeToTransducerMappingMatrix'), - 0x0020930A: ('FD', '16', "Volume to Table Mapping Matrix", '', 'VolumeToTableMappingMatrix'), - 0x0020930C: ('CS', '1', "Patient Frame of Reference Source", '', 'PatientFrameOfReferenceSource'), - 0x0020930D: ('FD', '1', "Temporal Position Time Offset", '', 'TemporalPositionTimeOffset'), - 0x0020930E: ('SQ', '1', "Plane Position (Volume) Sequence", '', 'PlanePositionVolumeSequence'), - 0x0020930F: ('SQ', '1', "Plane Orientation (Volume) Sequence", '', 'PlaneOrientationVolumeSequence'), - 0x00209310: ('SQ', '1', "Temporal Position Sequence", '', 'TemporalPositionSequence'), - 0x00209311: ('CS', '1', "Dimension Organization Type", '', 'DimensionOrganizationType'), - 0x00209312: ('UI', '1', "Volume Frame of Reference UID", '', 'VolumeFrameOfReferenceUID'), - 0x00209313: ('UI', '1', "Table Frame of Reference UID", '', 'TableFrameOfReferenceUID'), - 0x00209421: ('LO', '1', "Dimension Description Label", '', 'DimensionDescriptionLabel'), - 0x00209450: ('SQ', '1', "Patient Orientation in Frame Sequence", '', 'PatientOrientationInFrameSequence'), - 0x00209453: ('LO', '1', "Frame Label", '', 'FrameLabel'), - 0x00209518: ('US', '1-n', "Acquisition Index", '', 'AcquisitionIndex'), - 0x00209529: ('SQ', '1', "Contributing SOP Instances Reference Sequence", '', 'ContributingSOPInstancesReferenceSequence'), - 0x00209536: ('US', '1', "Reconstruction Index", '', 'ReconstructionIndex'), - 0x00220001: ('US', '1', "Light Path Filter Pass-Through Wavelength", '', 'LightPathFilterPassThroughWavelength'), - 0x00220002: ('US', '2', "Light Path Filter Pass Band", '', 'LightPathFilterPassBand'), - 0x00220003: ('US', '1', "Image Path Filter Pass-Through Wavelength", '', 'ImagePathFilterPassThroughWavelength'), - 0x00220004: ('US', '2', "Image Path Filter Pass Band", '', 'ImagePathFilterPassBand'), - 0x00220005: ('CS', '1', "Patient Eye Movement Commanded", '', 'PatientEyeMovementCommanded'), - 0x00220006: ('SQ', '1', "Patient Eye Movement Command Code Sequence", '', 'PatientEyeMovementCommandCodeSequence'), - 0x00220007: ('FL', '1', "Spherical Lens Power", '', 'SphericalLensPower'), - 0x00220008: ('FL', '1', "Cylinder Lens Power", '', 'CylinderLensPower'), - 0x00220009: ('FL', '1', "Cylinder Axis", '', 'CylinderAxis'), - 0x0022000A: ('FL', '1', "Emmetropic Magnification", '', 'EmmetropicMagnification'), - 0x0022000B: ('FL', '1', "Intra Ocular Pressure", '', 'IntraOcularPressure'), - 0x0022000C: ('FL', '1', "Horizontal Field of View", '', 'HorizontalFieldOfView'), - 0x0022000D: ('CS', '1', "Pupil Dilated", '', 'PupilDilated'), - 0x0022000E: ('FL', '1', "Degree of Dilation", '', 'DegreeOfDilation'), - 0x00220010: ('FL', '1', "Stereo Baseline Angle", '', 'StereoBaselineAngle'), - 0x00220011: ('FL', '1', "Stereo Baseline Displacement", '', 'StereoBaselineDisplacement'), - 0x00220012: ('FL', '1', "Stereo Horizontal Pixel Offset", '', 'StereoHorizontalPixelOffset'), - 0x00220013: ('FL', '1', "Stereo Vertical Pixel Offset", '', 'StereoVerticalPixelOffset'), - 0x00220014: ('FL', '1', "Stereo Rotation", '', 'StereoRotation'), - 0x00220015: ('SQ', '1', "Acquisition Device Type Code Sequence", '', 'AcquisitionDeviceTypeCodeSequence'), - 0x00220016: ('SQ', '1', "Illumination Type Code Sequence", '', 'IlluminationTypeCodeSequence'), - 0x00220017: ('SQ', '1', "Light Path Filter Type Stack Code Sequence", '', 'LightPathFilterTypeStackCodeSequence'), - 0x00220018: ('SQ', '1', "Image Path Filter Type Stack Code Sequence", '', 'ImagePathFilterTypeStackCodeSequence'), - 0x00220019: ('SQ', '1', "Lenses Code Sequence", '', 'LensesCodeSequence'), - 0x0022001A: ('SQ', '1', "Channel Description Code Sequence", '', 'ChannelDescriptionCodeSequence'), - 0x0022001B: ('SQ', '1', "Refractive State Sequence", '', 'RefractiveStateSequence'), - 0x0022001C: ('SQ', '1', "Mydriatic Agent Code Sequence", '', 'MydriaticAgentCodeSequence'), - 0x0022001D: ('SQ', '1', "Relative Image Position Code Sequence", '', 'RelativeImagePositionCodeSequence'), - 0x0022001E: ('FL', '1', "Camera Angle of View", '', 'CameraAngleOfView'), - 0x00220020: ('SQ', '1', "Stereo Pairs Sequence", '', 'StereoPairsSequence'), - 0x00220021: ('SQ', '1', "Left Image Sequence", '', 'LeftImageSequence'), - 0x00220022: ('SQ', '1', "Right Image Sequence", '', 'RightImageSequence'), - 0x00220030: ('FL', '1', "Axial Length of the Eye", '', 'AxialLengthOfTheEye'), - 0x00220031: ('SQ', '1', "Ophthalmic Frame Location Sequence", '', 'OphthalmicFrameLocationSequence'), - 0x00220032: ('FL', '2-2n', "Reference Coordinates", '', 'ReferenceCoordinates'), - 0x00220035: ('FL', '1', "Depth Spatial Resolution", '', 'DepthSpatialResolution'), - 0x00220036: ('FL', '1', "Maximum Depth Distortion", '', 'MaximumDepthDistortion'), - 0x00220037: ('FL', '1', "Along-scan Spatial Resolution", '', 'AlongScanSpatialResolution'), - 0x00220038: ('FL', '1', "Maximum Along-scan Distortion", '', 'MaximumAlongScanDistortion'), - 0x00220039: ('CS', '1', "Ophthalmic Image Orientation", '', 'OphthalmicImageOrientation'), - 0x00220041: ('FL', '1', "Depth of Transverse Image", '', 'DepthOfTransverseImage'), - 0x00220042: ('SQ', '1', "Mydriatic Agent Concentration Units Sequence", '', 'MydriaticAgentConcentrationUnitsSequence'), - 0x00220048: ('FL', '1', "Across-scan Spatial Resolution", '', 'AcrossScanSpatialResolution'), - 0x00220049: ('FL', '1', "Maximum Across-scan Distortion", '', 'MaximumAcrossScanDistortion'), - 0x0022004E: ('DS', '1', "Mydriatic Agent Concentration", '', 'MydriaticAgentConcentration'), - 0x00220055: ('FL', '1', "Illumination Wave Length", '', 'IlluminationWaveLength'), - 0x00220056: ('FL', '1', "Illumination Power", '', 'IlluminationPower'), - 0x00220057: ('FL', '1', "Illumination Bandwidth", '', 'IlluminationBandwidth'), - 0x00220058: ('SQ', '1', "Mydriatic Agent Sequence", '', 'MydriaticAgentSequence'), - 0x00221007: ('SQ', '1', "Ophthalmic Axial Measurements Right Eye Sequence", '', 'OphthalmicAxialMeasurementsRightEyeSequence'), - 0x00221008: ('SQ', '1', "Ophthalmic Axial Measurements Left Eye Sequence", '', 'OphthalmicAxialMeasurementsLeftEyeSequence'), - 0x00221009: ('CS', '1', "Ophthalmic Axial Measurements Device Type", '', 'OphthalmicAxialMeasurementsDeviceType'), - 0x00221010: ('CS', '1', "Ophthalmic Axial Length Measurements Type", '', 'OphthalmicAxialLengthMeasurementsType'), - 0x00221012: ('SQ', '1', "Ophthalmic Axial Length Sequence", '', 'OphthalmicAxialLengthSequence'), - 0x00221019: ('FL', '1', "Ophthalmic Axial Length", '', 'OphthalmicAxialLength'), - 0x00221024: ('SQ', '1', "Lens Status Code Sequence", '', 'LensStatusCodeSequence'), - 0x00221025: ('SQ', '1', "Vitreous Status Code Sequence", '', 'VitreousStatusCodeSequence'), - 0x00221028: ('SQ', '1', "IOL Formula Code Sequence", '', 'IOLFormulaCodeSequence'), - 0x00221029: ('LO', '1', "IOL Formula Detail", '', 'IOLFormulaDetail'), - 0x00221033: ('FL', '1', "Keratometer Index", '', 'KeratometerIndex'), - 0x00221035: ('SQ', '1', "Source of Ophthalmic Axial Length Code Sequence", '', 'SourceOfOphthalmicAxialLengthCodeSequence'), - 0x00221037: ('FL', '1', "Target Refraction", '', 'TargetRefraction'), - 0x00221039: ('CS', '1', "Refractive Procedure Occurred", '', 'RefractiveProcedureOccurred'), - 0x00221040: ('SQ', '1', "Refractive Surgery Type Code Sequence", '', 'RefractiveSurgeryTypeCodeSequence'), - 0x00221044: ('SQ', '1', "Ophthalmic Ultrasound Method Code Sequence", '', 'OphthalmicUltrasoundMethodCodeSequence'), - 0x00221050: ('SQ', '1', "Ophthalmic Axial Length Measurements Sequence", '', 'OphthalmicAxialLengthMeasurementsSequence'), - 0x00221053: ('FL', '1', "IOL Power", '', 'IOLPower'), - 0x00221054: ('FL', '1', "Predicted Refractive Error", '', 'PredictedRefractiveError'), - 0x00221059: ('FL', '1', "Ophthalmic Axial Length Velocity", '', 'OphthalmicAxialLengthVelocity'), - 0x00221065: ('LO', '1', "Lens Status Description", '', 'LensStatusDescription'), - 0x00221066: ('LO', '1', "Vitreous Status Description", '', 'VitreousStatusDescription'), - 0x00221090: ('SQ', '1', "IOL Power Sequence", '', 'IOLPowerSequence'), - 0x00221092: ('SQ', '1', "Lens Constant Sequence", '', 'LensConstantSequence'), - 0x00221093: ('LO', '1', "IOL Manufacturer", '', 'IOLManufacturer'), - 0x00221094: ('LO', '1', "Lens Constant Description", 'Retired', 'LensConstantDescription'), - 0x00221095: ('LO', '1', "Implant Name", '', 'ImplantName'), - 0x00221096: ('SQ', '1', "Keratometry Measurement Type Code Sequence", '', 'KeratometryMeasurementTypeCodeSequence'), - 0x00221097: ('LO', '1', "Implant Part Number", '', 'ImplantPartNumber'), - 0x00221100: ('SQ', '1', "Referenced Ophthalmic Axial Measurements Sequence", '', 'ReferencedOphthalmicAxialMeasurementsSequence'), - 0x00221101: ('SQ', '1', "Ophthalmic Axial Length Measurements Segment Name Code Sequence", '', 'OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence'), - 0x00221103: ('SQ', '1', "Refractive Error Before Refractive Surgery Code Sequence", '', 'RefractiveErrorBeforeRefractiveSurgeryCodeSequence'), - 0x00221121: ('FL', '1', "IOL Power For Exact Emmetropia", '', 'IOLPowerForExactEmmetropia'), - 0x00221122: ('FL', '1', "IOL Power For Exact Target Refraction", '', 'IOLPowerForExactTargetRefraction'), - 0x00221125: ('SQ', '1', "Anterior Chamber Depth Definition Code Sequence", '', 'AnteriorChamberDepthDefinitionCodeSequence'), - 0x00221127: ('SQ', '1', "Lens Thickness Sequence", '', 'LensThicknessSequence'), - 0x00221128: ('SQ', '1', "Anterior Chamber Depth Sequence", '', 'AnteriorChamberDepthSequence'), - 0x00221130: ('FL', '1', "Lens Thickness", '', 'LensThickness'), - 0x00221131: ('FL', '1', "Anterior Chamber Depth", '', 'AnteriorChamberDepth'), - 0x00221132: ('SQ', '1', "Source of Lens Thickness Data Code Sequence", '', 'SourceOfLensThicknessDataCodeSequence'), - 0x00221133: ('SQ', '1', "Source of Anterior Chamber Depth Data Code Sequence", '', 'SourceOfAnteriorChamberDepthDataCodeSequence'), - 0x00221134: ('SQ', '1', "Source of Refractive Measurements Sequence", '', 'SourceOfRefractiveMeasurementsSequence'), - 0x00221135: ('SQ', '1', "Source of Refractive Measurements Code Sequence", '', 'SourceOfRefractiveMeasurementsCodeSequence'), - 0x00221140: ('CS', '1', "Ophthalmic Axial Length Measurement Modified", '', 'OphthalmicAxialLengthMeasurementModified'), - 0x00221150: ('SQ', '1', "Ophthalmic Axial Length Data Source Code Sequence", '', 'OphthalmicAxialLengthDataSourceCodeSequence'), - 0x00221153: ('SQ', '1', "Ophthalmic Axial Length Acquisition Method Code Sequence", 'Retired', 'OphthalmicAxialLengthAcquisitionMethodCodeSequence'), - 0x00221155: ('FL', '1', "Signal to Noise Ratio", '', 'SignalToNoiseRatio'), - 0x00221159: ('LO', '1', "Ophthalmic Axial Length Data Source Description", '', 'OphthalmicAxialLengthDataSourceDescription'), - 0x00221210: ('SQ', '1', "Ophthalmic Axial Length Measurements Total Length Sequence", '', 'OphthalmicAxialLengthMeasurementsTotalLengthSequence'), - 0x00221211: ('SQ', '1', "Ophthalmic Axial Length Measurements Segmental Length Sequence", '', 'OphthalmicAxialLengthMeasurementsSegmentalLengthSequence'), - 0x00221212: ('SQ', '1', "Ophthalmic Axial Length Measurements Length Summation Sequence", '', 'OphthalmicAxialLengthMeasurementsLengthSummationSequence'), - 0x00221220: ('SQ', '1', "Ultrasound Ophthalmic Axial Length Measurements Sequence", '', 'UltrasoundOphthalmicAxialLengthMeasurementsSequence'), - 0x00221225: ('SQ', '1', "Optical Ophthalmic Axial Length Measurements Sequence", '', 'OpticalOphthalmicAxialLengthMeasurementsSequence'), - 0x00221230: ('SQ', '1', "Ultrasound Selected Ophthalmic Axial Length Sequence", '', 'UltrasoundSelectedOphthalmicAxialLengthSequence'), - 0x00221250: ('SQ', '1', "Ophthalmic Axial Length Selection Method Code Sequence", '', 'OphthalmicAxialLengthSelectionMethodCodeSequence'), - 0x00221255: ('SQ', '1', "Optical Selected Ophthalmic Axial Length Sequence", '', 'OpticalSelectedOphthalmicAxialLengthSequence'), - 0x00221257: ('SQ', '1', "Selected Segmental Ophthalmic Axial Length Sequence", '', 'SelectedSegmentalOphthalmicAxialLengthSequence'), - 0x00221260: ('SQ', '1', "Selected Total Ophthalmic Axial Length Sequence", '', 'SelectedTotalOphthalmicAxialLengthSequence'), - 0x00221262: ('SQ', '1', "Ophthalmic Axial Length Quality Metric Sequence", '', 'OphthalmicAxialLengthQualityMetricSequence'), - 0x00221265: ('SQ', '1', "Ophthalmic Axial Length Quality Metric Type Code Sequence", 'Retired', 'OphthalmicAxialLengthQualityMetricTypeCodeSequence'), - 0x00221273: ('LO', '1', "Ophthalmic Axial Length Quality Metric Type Description", 'Retired', 'OphthalmicAxialLengthQualityMetricTypeDescription'), - 0x00221300: ('SQ', '1', "Intraocular Lens Calculations Right Eye Sequence", '', 'IntraocularLensCalculationsRightEyeSequence'), - 0x00221310: ('SQ', '1', "Intraocular Lens Calculations Left Eye Sequence", '', 'IntraocularLensCalculationsLeftEyeSequence'), - 0x00221330: ('SQ', '1', "Referenced Ophthalmic Axial Length Measurement QC Image Sequence", '', 'ReferencedOphthalmicAxialLengthMeasurementQCImageSequence'), - 0x00221415: ('CS', '1', "Ophthalmic Mapping Device Type", '', 'OphthalmicMappingDeviceType'), - 0x00221420: ('SQ', '1', "Acquisition Method Code Sequence", '', 'AcquisitionMethodCodeSequence'), - 0x00221423: ('SQ', '1', "Acquisition Method Algorithm Sequence", '', 'AcquisitionMethodAlgorithmSequence'), - 0x00221436: ('SQ', '1', "Ophthalmic Thickness Map Type Code Sequence", '', 'OphthalmicThicknessMapTypeCodeSequence'), - 0x00221443: ('SQ', '1', "Ophthalmic Thickness Mapping Normals Sequence", '', 'OphthalmicThicknessMappingNormalsSequence'), - 0x00221445: ('SQ', '1', "Retinal Thickness Definition Code Sequence", '', 'RetinalThicknessDefinitionCodeSequence'), - 0x00221450: ('SQ', '1', "Pixel Value Mapping to Coded Concept Sequence", '', 'PixelValueMappingToCodedConceptSequence'), - 0x00221452: ('US or SS', '1', "Mapped Pixel Value", '', 'MappedPixelValue'), - 0x00221454: ('LO', '1', "Pixel Value Mapping Explanation", '', 'PixelValueMappingExplanation'), - 0x00221458: ('SQ', '1', "Ophthalmic Thickness Map Quality Threshold Sequence", '', 'OphthalmicThicknessMapQualityThresholdSequence'), - 0x00221460: ('FL', '1', "Ophthalmic Thickness Map Threshold Quality Rating", '', 'OphthalmicThicknessMapThresholdQualityRating'), - 0x00221463: ('FL', '2', "Anatomic Structure Reference Point", '', 'AnatomicStructureReferencePoint'), - 0x00221465: ('SQ', '1', "Registration to Localizer Sequence", '', 'RegistrationToLocalizerSequence'), - 0x00221466: ('CS', '1', "Registered Localizer Units", '', 'RegisteredLocalizerUnits'), - 0x00221467: ('FL', '2', "Registered Localizer Top Left Hand Corner", '', 'RegisteredLocalizerTopLeftHandCorner'), - 0x00221468: ('FL', '2', "Registered Localizer Bottom Right Hand Corner", '', 'RegisteredLocalizerBottomRightHandCorner'), - 0x00221470: ('SQ', '1', "Ophthalmic Thickness Map Quality Rating Sequence", '', 'OphthalmicThicknessMapQualityRatingSequence'), - 0x00221472: ('SQ', '1', "Relevant OPT Attributes Sequence", '', 'RelevantOPTAttributesSequence'), - 0x00240010: ('FL', '1', "Visual Field Horizontal Extent", '', 'VisualFieldHorizontalExtent'), - 0x00240011: ('FL', '1', "Visual Field Vertical Extent", '', 'VisualFieldVerticalExtent'), - 0x00240012: ('CS', '1', "Visual Field Shape", '', 'VisualFieldShape'), - 0x00240016: ('SQ', '1', "Screening Test Mode Code Sequence", '', 'ScreeningTestModeCodeSequence'), - 0x00240018: ('FL', '1', "Maximum Stimulus Luminance", '', 'MaximumStimulusLuminance'), - 0x00240020: ('FL', '1', "Background Luminance", '', 'BackgroundLuminance'), - 0x00240021: ('SQ', '1', "Stimulus Color Code Sequence", '', 'StimulusColorCodeSequence'), - 0x00240024: ('SQ', '1', "Background Illumination Color Code Sequence", '', 'BackgroundIlluminationColorCodeSequence'), - 0x00240025: ('FL', '1', "Stimulus Area", '', 'StimulusArea'), - 0x00240028: ('FL', '1', "Stimulus Presentation Time", '', 'StimulusPresentationTime'), - 0x00240032: ('SQ', '1', "Fixation Sequence", '', 'FixationSequence'), - 0x00240033: ('SQ', '1', "Fixation Monitoring Code Sequence", '', 'FixationMonitoringCodeSequence'), - 0x00240034: ('SQ', '1', "Visual Field Catch Trial Sequence", '', 'VisualFieldCatchTrialSequence'), - 0x00240035: ('US', '1', "Fixation Checked Quantity", '', 'FixationCheckedQuantity'), - 0x00240036: ('US', '1', "Patient Not Properly Fixated Quantity", '', 'PatientNotProperlyFixatedQuantity'), - 0x00240037: ('CS', '1', "Presented Visual Stimuli Data Flag", '', 'PresentedVisualStimuliDataFlag'), - 0x00240038: ('US', '1', "Number of Visual Stimuli", '', 'NumberOfVisualStimuli'), - 0x00240039: ('CS', '1', "Excessive Fixation Losses Data Flag", '', 'ExcessiveFixationLossesDataFlag'), - 0x00240040: ('CS', '1', "Excessive Fixation Losses", '', 'ExcessiveFixationLosses'), - 0x00240042: ('US', '1', "Stimuli Retesting Quantity", '', 'StimuliRetestingQuantity'), - 0x00240044: ('LT', '1', "Comments on Patient's Performance of Visual Field", '', 'CommentsOnPatientPerformanceOfVisualField'), - 0x00240045: ('CS', '1', "False Negatives Estimate Flag", '', 'FalseNegativesEstimateFlag'), - 0x00240046: ('FL', '1', "False Negatives Estimate", '', 'FalseNegativesEstimate'), - 0x00240048: ('US', '1', "Negative Catch Trials Quantity", '', 'NegativeCatchTrialsQuantity'), - 0x00240050: ('US', '1', "False Negatives Quantity", '', 'FalseNegativesQuantity'), - 0x00240051: ('CS', '1', "Excessive False Negatives Data Flag", '', 'ExcessiveFalseNegativesDataFlag'), - 0x00240052: ('CS', '1', "Excessive False Negatives", '', 'ExcessiveFalseNegatives'), - 0x00240053: ('CS', '1', "False Positives Estimate Flag", '', 'FalsePositivesEstimateFlag'), - 0x00240054: ('FL', '1', "False Positives Estimate", '', 'FalsePositivesEstimate'), - 0x00240055: ('CS', '1', "Catch Trials Data Flag", '', 'CatchTrialsDataFlag'), - 0x00240056: ('US', '1', "Positive Catch Trials Quantity", '', 'PositiveCatchTrialsQuantity'), - 0x00240057: ('CS', '1', "Test Point Normals Data Flag", '', 'TestPointNormalsDataFlag'), - 0x00240058: ('SQ', '1', "Test Point Normals Sequence", '', 'TestPointNormalsSequence'), - 0x00240059: ('CS', '1', "Global Deviation Probability Normals Flag", '', 'GlobalDeviationProbabilityNormalsFlag'), - 0x00240060: ('US', '1', "False Positives Quantity", '', 'FalsePositivesQuantity'), - 0x00240061: ('CS', '1', "Excessive False Positives Data Flag", '', 'ExcessiveFalsePositivesDataFlag'), - 0x00240062: ('CS', '1', "Excessive False Positives", '', 'ExcessiveFalsePositives'), - 0x00240063: ('CS', '1', "Visual Field Test Normals Flag", '', 'VisualFieldTestNormalsFlag'), - 0x00240064: ('SQ', '1', "Results Normals Sequence", '', 'ResultsNormalsSequence'), - 0x00240065: ('SQ', '1', "Age Corrected Sensitivity Deviation Algorithm Sequence", '', 'AgeCorrectedSensitivityDeviationAlgorithmSequence'), - 0x00240066: ('FL', '1', "Global Deviation From Normal", '', 'GlobalDeviationFromNormal'), - 0x00240067: ('SQ', '1', "Generalized Defect Sensitivity Deviation Algorithm Sequence", '', 'GeneralizedDefectSensitivityDeviationAlgorithmSequence'), - 0x00240068: ('FL', '1', "Localized Deviation From Normal", '', 'LocalizedDeviationFromNormal'), - 0x00240069: ('LO', '1', "Patient Reliability Indicator", '', 'PatientReliabilityIndicator'), - 0x00240070: ('FL', '1', "Visual Field Mean Sensitivity", '', 'VisualFieldMeanSensitivity'), - 0x00240071: ('FL', '1', "Global Deviation Probability", '', 'GlobalDeviationProbability'), - 0x00240072: ('CS', '1', "Local Deviation Probability Normals Flag", '', 'LocalDeviationProbabilityNormalsFlag'), - 0x00240073: ('FL', '1', "Localized Deviation Probability", '', 'LocalizedDeviationProbability'), - 0x00240074: ('CS', '1', "Short Term Fluctuation Calculated", '', 'ShortTermFluctuationCalculated'), - 0x00240075: ('FL', '1', "Short Term Fluctuation", '', 'ShortTermFluctuation'), - 0x00240076: ('CS', '1', "Short Term Fluctuation Probability Calculated", '', 'ShortTermFluctuationProbabilityCalculated'), - 0x00240077: ('FL', '1', "Short Term Fluctuation Probability", '', 'ShortTermFluctuationProbability'), - 0x00240078: ('CS', '1', "Corrected Localized Deviation From Normal Calculated", '', 'CorrectedLocalizedDeviationFromNormalCalculated'), - 0x00240079: ('FL', '1', "Corrected Localized Deviation From Normal", '', 'CorrectedLocalizedDeviationFromNormal'), - 0x00240080: ('CS', '1', "Corrected Localized Deviation From Normal Probability Calculated", '', 'CorrectedLocalizedDeviationFromNormalProbabilityCalculated'), - 0x00240081: ('FL', '1', "Corrected Localized Deviation From Normal Probability", '', 'CorrectedLocalizedDeviationFromNormalProbability'), - 0x00240083: ('SQ', '1', "Global Deviation Probability Sequence", '', 'GlobalDeviationProbabilitySequence'), - 0x00240085: ('SQ', '1', "Localized Deviation Probability Sequence", '', 'LocalizedDeviationProbabilitySequence'), - 0x00240086: ('CS', '1', "Foveal Sensitivity Measured", '', 'FovealSensitivityMeasured'), - 0x00240087: ('FL', '1', "Foveal Sensitivity", '', 'FovealSensitivity'), - 0x00240088: ('FL', '1', "Visual Field Test Duration", '', 'VisualFieldTestDuration'), - 0x00240089: ('SQ', '1', "Visual Field Test Point Sequence", '', 'VisualFieldTestPointSequence'), - 0x00240090: ('FL', '1', "Visual Field Test Point X-Coordinate", '', 'VisualFieldTestPointXCoordinate'), - 0x00240091: ('FL', '1', "Visual Field Test Point Y-Coordinate", '', 'VisualFieldTestPointYCoordinate'), - 0x00240092: ('FL', '1', "Age Corrected Sensitivity Deviation Value", '', 'AgeCorrectedSensitivityDeviationValue'), - 0x00240093: ('CS', '1', "Stimulus Results", '', 'StimulusResults'), - 0x00240094: ('FL', '1', "Sensitivity Value", '', 'SensitivityValue'), - 0x00240095: ('CS', '1', "Retest Stimulus Seen", '', 'RetestStimulusSeen'), - 0x00240096: ('FL', '1', "Retest Sensitivity Value", '', 'RetestSensitivityValue'), - 0x00240097: ('SQ', '1', "Visual Field Test Point Normals Sequence", '', 'VisualFieldTestPointNormalsSequence'), - 0x00240098: ('FL', '1', "Quantified Defect", '', 'QuantifiedDefect'), - 0x00240100: ('FL', '1', "Age Corrected Sensitivity Deviation Probability Value", '', 'AgeCorrectedSensitivityDeviationProbabilityValue'), - 0x00240102: ('CS', '1', "Generalized Defect Corrected Sensitivity Deviation Flag", '', 'GeneralizedDefectCorrectedSensitivityDeviationFlag'), - 0x00240103: ('FL', '1', "Generalized Defect Corrected Sensitivity Deviation Value", '', 'GeneralizedDefectCorrectedSensitivityDeviationValue'), - 0x00240104: ('FL', '1', "Generalized Defect Corrected Sensitivity Deviation Probability Value", '', 'GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue'), - 0x00240105: ('FL', '1', "Minimum Sensitivity Value", '', 'MinimumSensitivityValue'), - 0x00240106: ('CS', '1', "Blind Spot Localized", '', 'BlindSpotLocalized'), - 0x00240107: ('FL', '1', "Blind Spot X-Coordinate", '', 'BlindSpotXCoordinate'), - 0x00240108: ('FL', '1', "Blind Spot Y-Coordinate", '', 'BlindSpotYCoordinate'), - 0x00240110: ('SQ', '1', "Visual Acuity Measurement Sequence", '', 'VisualAcuityMeasurementSequence'), - 0x00240112: ('SQ', '1', "Refractive Parameters Used on Patient Sequence", '', 'RefractiveParametersUsedOnPatientSequence'), - 0x00240113: ('CS', '1', "Measurement Laterality", '', 'MeasurementLaterality'), - 0x00240114: ('SQ', '1', "Ophthalmic Patient Clinical Information Left Eye Sequence", '', 'OphthalmicPatientClinicalInformationLeftEyeSequence'), - 0x00240115: ('SQ', '1', "Ophthalmic Patient Clinical Information Right Eye Sequence", '', 'OphthalmicPatientClinicalInformationRightEyeSequence'), - 0x00240117: ('CS', '1', "Foveal Point Normative Data Flag", '', 'FovealPointNormativeDataFlag'), - 0x00240118: ('FL', '1', "Foveal Point Probability Value", '', 'FovealPointProbabilityValue'), - 0x00240120: ('CS', '1', "Screening Baseline Measured", '', 'ScreeningBaselineMeasured'), - 0x00240122: ('SQ', '1', "Screening Baseline Measured Sequence", '', 'ScreeningBaselineMeasuredSequence'), - 0x00240124: ('CS', '1', "Screening Baseline Type", '', 'ScreeningBaselineType'), - 0x00240126: ('FL', '1', "Screening Baseline Value", '', 'ScreeningBaselineValue'), - 0x00240202: ('LO', '1', "Algorithm Source", '', 'AlgorithmSource'), - 0x00240306: ('LO', '1', "Data Set Name", '', 'DataSetName'), - 0x00240307: ('LO', '1', "Data Set Version", '', 'DataSetVersion'), - 0x00240308: ('LO', '1', "Data Set Source", '', 'DataSetSource'), - 0x00240309: ('LO', '1', "Data Set Description", '', 'DataSetDescription'), - 0x00240317: ('SQ', '1', "Visual Field Test Reliability Global Index Sequence", '', 'VisualFieldTestReliabilityGlobalIndexSequence'), - 0x00240320: ('SQ', '1', "Visual Field Global Results Index Sequence", '', 'VisualFieldGlobalResultsIndexSequence'), - 0x00240325: ('SQ', '1', "Data Observation Sequence", '', 'DataObservationSequence'), - 0x00240338: ('CS', '1', "Index Normals Flag", '', 'IndexNormalsFlag'), - 0x00240341: ('FL', '1', "Index Probability", '', 'IndexProbability'), - 0x00240344: ('SQ', '1', "Index Probability Sequence", '', 'IndexProbabilitySequence'), - 0x00280002: ('US', '1', "Samples per Pixel", '', 'SamplesPerPixel'), - 0x00280003: ('US', '1', "Samples per Pixel Used", '', 'SamplesPerPixelUsed'), - 0x00280004: ('CS', '1', "Photometric Interpretation", '', 'PhotometricInterpretation'), - 0x00280005: ('US', '1', "Image Dimensions", 'Retired', 'ImageDimensions'), - 0x00280006: ('US', '1', "Planar Configuration", '', 'PlanarConfiguration'), - 0x00280008: ('IS', '1', "Number of Frames", '', 'NumberOfFrames'), - 0x00280009: ('AT', '1-n', "Frame Increment Pointer", '', 'FrameIncrementPointer'), - 0x0028000A: ('AT', '1-n', "Frame Dimension Pointer", '', 'FrameDimensionPointer'), - 0x00280010: ('US', '1', "Rows", '', 'Rows'), - 0x00280011: ('US', '1', "Columns", '', 'Columns'), - 0x00280012: ('US', '1', "Planes", 'Retired', 'Planes'), - 0x00280014: ('US', '1', "Ultrasound Color Data Present", '', 'UltrasoundColorDataPresent'), - 0x00280020: ('OB', '1', "Retired-blank", 'Retired', ''), - 0x00280030: ('DS', '2', "Pixel Spacing", '', 'PixelSpacing'), - 0x00280031: ('DS', '2', "Zoom Factor", '', 'ZoomFactor'), - 0x00280032: ('DS', '2', "Zoom Center", '', 'ZoomCenter'), - 0x00280034: ('IS', '2', "Pixel Aspect Ratio", '', 'PixelAspectRatio'), - 0x00280040: ('CS', '1', "Image Format", 'Retired', 'ImageFormat'), - 0x00280050: ('LO', '1-n', "Manipulated Image", 'Retired', 'ManipulatedImage'), - 0x00280051: ('CS', '1-n', "Corrected Image", '', 'CorrectedImage'), - 0x0028005F: ('LO', '1', "Compression Recognition Code", 'Retired', 'CompressionRecognitionCode'), - 0x00280060: ('CS', '1', "Compression Code", 'Retired', 'CompressionCode'), - 0x00280061: ('SH', '1', "Compression Originator", 'Retired', 'CompressionOriginator'), - 0x00280062: ('LO', '1', "Compression Label", 'Retired', 'CompressionLabel'), - 0x00280063: ('SH', '1', "Compression Description", 'Retired', 'CompressionDescription'), - 0x00280065: ('CS', '1-n', "Compression Sequence", 'Retired', 'CompressionSequence'), - 0x00280066: ('AT', '1-n', "Compression Step Pointers", 'Retired', 'CompressionStepPointers'), - 0x00280068: ('US', '1', "Repeat Interval", 'Retired', 'RepeatInterval'), - 0x00280069: ('US', '1', "Bits Grouped", 'Retired', 'BitsGrouped'), - 0x00280070: ('US', '1-n', "Perimeter Table", 'Retired', 'PerimeterTable'), - 0x00280071: ('US or SS', '1', "Perimeter Value", 'Retired', 'PerimeterValue'), - 0x00280080: ('US', '1', "Predictor Rows", 'Retired', 'PredictorRows'), - 0x00280081: ('US', '1', "Predictor Columns", 'Retired', 'PredictorColumns'), - 0x00280082: ('US', '1-n', "Predictor Constants", 'Retired', 'PredictorConstants'), - 0x00280090: ('CS', '1', "Blocked Pixels", 'Retired', 'BlockedPixels'), - 0x00280091: ('US', '1', "Block Rows", 'Retired', 'BlockRows'), - 0x00280092: ('US', '1', "Block Columns", 'Retired', 'BlockColumns'), - 0x00280093: ('US', '1', "Row Overlap", 'Retired', 'RowOverlap'), - 0x00280094: ('US', '1', "Column Overlap", 'Retired', 'ColumnOverlap'), - 0x00280100: ('US', '1', "Bits Allocated", '', 'BitsAllocated'), - 0x00280101: ('US', '1', "Bits Stored", '', 'BitsStored'), - 0x00280102: ('US', '1', "High Bit", '', 'HighBit'), - 0x00280103: ('US', '1', "Pixel Representation", '', 'PixelRepresentation'), - 0x00280104: ('US or SS', '1', "Smallest Valid Pixel Value", 'Retired', 'SmallestValidPixelValue'), - 0x00280105: ('US or SS', '1', "Largest Valid Pixel Value", 'Retired', 'LargestValidPixelValue'), - 0x00280106: ('US or SS', '1', "Smallest Image Pixel Value", '', 'SmallestImagePixelValue'), - 0x00280107: ('US or SS', '1', "Largest Image Pixel Value", '', 'LargestImagePixelValue'), - 0x00280108: ('US or SS', '1', "Smallest Pixel Value in Series", '', 'SmallestPixelValueInSeries'), - 0x00280109: ('US or SS', '1', "Largest Pixel Value in Series", '', 'LargestPixelValueInSeries'), - 0x00280110: ('US or SS', '1', "Smallest Image Pixel Value in Plane", 'Retired', 'SmallestImagePixelValueInPlane'), - 0x00280111: ('US or SS', '1', "Largest Image Pixel Value in Plane", 'Retired', 'LargestImagePixelValueInPlane'), - 0x00280120: ('US or SS', '1', "Pixel Padding Value", '', 'PixelPaddingValue'), - 0x00280121: ('US or SS', '1', "Pixel Padding Range Limit", '', 'PixelPaddingRangeLimit'), - 0x00280200: ('US', '1', "Image Location", 'Retired', 'ImageLocation'), - 0x00280300: ('CS', '1', "Quality Control Image", '', 'QualityControlImage'), - 0x00280301: ('CS', '1', "Burned In Annotation", '', 'BurnedInAnnotation'), - 0x00280302: ('CS', '1', "Recognizable Visual Features", '', 'RecognizableVisualFeatures'), - 0x00280303: ('CS', '1', "Longitudinal Temporal Information Modified", '', 'LongitudinalTemporalInformationModified'), - 0x00280304: ('UI', '1', "Referenced Color Palette Instance UID", '', 'ReferencedColorPaletteInstanceUID'), - 0x00280400: ('LO', '1', "Transform Label", 'Retired', 'TransformLabel'), - 0x00280401: ('LO', '1', "Transform Version Number", 'Retired', 'TransformVersionNumber'), - 0x00280402: ('US', '1', "Number of Transform Steps", 'Retired', 'NumberOfTransformSteps'), - 0x00280403: ('LO', '1-n', "Sequence of Compressed Data", 'Retired', 'SequenceOfCompressedData'), - 0x00280404: ('AT', '1-n', "Details of Coefficients", 'Retired', 'DetailsOfCoefficients'), - 0x00280700: ('LO', '1', "DCT Label", 'Retired', 'DCTLabel'), - 0x00280701: ('CS', '1-n', "Data Block Description", 'Retired', 'DataBlockDescription'), - 0x00280702: ('AT', '1-n', "Data Block", 'Retired', 'DataBlock'), - 0x00280710: ('US', '1', "Normalization Factor Format", 'Retired', 'NormalizationFactorFormat'), - 0x00280720: ('US', '1', "Zonal Map Number Format", 'Retired', 'ZonalMapNumberFormat'), - 0x00280721: ('AT', '1-n', "Zonal Map Location", 'Retired', 'ZonalMapLocation'), - 0x00280722: ('US', '1', "Zonal Map Format", 'Retired', 'ZonalMapFormat'), - 0x00280730: ('US', '1', "Adaptive Map Format", 'Retired', 'AdaptiveMapFormat'), - 0x00280740: ('US', '1', "Code Number Format", 'Retired', 'CodeNumberFormat'), - 0x00280A02: ('CS', '1', "Pixel Spacing Calibration Type", '', 'PixelSpacingCalibrationType'), - 0x00280A04: ('LO', '1', "Pixel Spacing Calibration Description", '', 'PixelSpacingCalibrationDescription'), - 0x00281040: ('CS', '1', "Pixel Intensity Relationship", '', 'PixelIntensityRelationship'), - 0x00281041: ('SS', '1', "Pixel Intensity Relationship Sign", '', 'PixelIntensityRelationshipSign'), - 0x00281050: ('DS', '1-n', "Window Center", '', 'WindowCenter'), - 0x00281051: ('DS', '1-n', "Window Width", '', 'WindowWidth'), - 0x00281052: ('DS', '1', "Rescale Intercept", '', 'RescaleIntercept'), - 0x00281053: ('DS', '1', "Rescale Slope", '', 'RescaleSlope'), - 0x00281054: ('LO', '1', "Rescale Type", '', 'RescaleType'), - 0x00281055: ('LO', '1-n', "Window Center & Width Explanation", '', 'WindowCenterWidthExplanation'), - 0x00281056: ('CS', '1', "VOI LUT Function", '', 'VOILUTFunction'), - 0x00281080: ('CS', '1', "Gray Scale", 'Retired', 'GrayScale'), - 0x00281090: ('CS', '1', "Recommended Viewing Mode", '', 'RecommendedViewingMode'), - 0x00281100: ('US or SS', '3', "Gray Lookup Table Descriptor", 'Retired', 'GrayLookupTableDescriptor'), - 0x00281101: ('US or SS', '3', "Red Palette Color Lookup Table Descriptor", '', 'RedPaletteColorLookupTableDescriptor'), - 0x00281102: ('US or SS', '3', "Green Palette Color Lookup Table Descriptor", '', 'GreenPaletteColorLookupTableDescriptor'), - 0x00281103: ('US or SS', '3', "Blue Palette Color Lookup Table Descriptor", '', 'BluePaletteColorLookupTableDescriptor'), - 0x00281104: ('US', '3', "AlphaPalette ColorLookup Table Descriptor", '', 'AlphaPaletteColorLookupTableDescriptor'), - 0x00281111: ('US or SS', '4', "Large Red Palette Color Lookup Table Descriptor", 'Retired', 'LargeRedPaletteColorLookupTableDescriptor'), - 0x00281112: ('US or SS', '4', "Large Green Palette Color Lookup Table Descriptor", 'Retired', 'LargeGreenPaletteColorLookupTableDescriptor'), - 0x00281113: ('US or SS', '4', "Large Blue Palette Color Lookup Table Descriptor", 'Retired', 'LargeBluePaletteColorLookupTableDescriptor'), - 0x00281199: ('UI', '1', "Palette Color Lookup Table UID", '', 'PaletteColorLookupTableUID'), - 0x00281200: ('US or SS or OW', '1-n 1', "Gray Lookup Table Data", 'Retired', 'GrayLookupTableData'), - 0x00281201: ('OW', '1', "Red Palette Color Lookup Table Data", '', 'RedPaletteColorLookupTableData'), - 0x00281202: ('OW', '1', "Green Palette Color Lookup Table Data", '', 'GreenPaletteColorLookupTableData'), - 0x00281203: ('OW', '1', "Blue Palette Color Lookup Table Data", '', 'BluePaletteColorLookupTableData'), - 0x00281204: ('OW', '1', "Alpha Palette Color Lookup Table Data", '', 'AlphaPaletteColorLookupTableData'), - 0x00281211: ('OW', '1', "Large Red Palette Color Lookup Table Data", 'Retired', 'LargeRedPaletteColorLookupTableData'), - 0x00281212: ('OW', '1', "Large Green Palette Color Lookup Table Data", 'Retired', 'LargeGreenPaletteColorLookupTableData'), - 0x00281213: ('OW', '1', "Large Blue Palette Color Lookup Table Data", 'Retired', 'LargeBluePaletteColorLookupTableData'), - 0x00281214: ('UI', '1', "Large Palette Color Lookup Table UID", 'Retired', 'LargePaletteColorLookupTableUID'), - 0x00281221: ('OW', '1', "Segmented Red Palette Color Lookup Table Data", '', 'SegmentedRedPaletteColorLookupTableData'), - 0x00281222: ('OW', '1', "Segmented Green Palette Color Lookup Table Data", '', 'SegmentedGreenPaletteColorLookupTableData'), - 0x00281223: ('OW', '1', "Segmented Blue Palette Color Lookup Table Data", '', 'SegmentedBluePaletteColorLookupTableData'), - 0x00281300: ('CS', '1', "Breast Implant Present", '', 'BreastImplantPresent'), - 0x00281350: ('CS', '1', "Partial View", '', 'PartialView'), - 0x00281351: ('ST', '1', "Partial View Description", '', 'PartialViewDescription'), - 0x00281352: ('SQ', '1', "Partial View Code Sequence", '', 'PartialViewCodeSequence'), - 0x0028135A: ('CS', '1', "Spatial Locations Preserved", '', 'SpatialLocationsPreserved'), - 0x00281401: ('SQ', '1', "Data Frame Assignment Sequence", '', 'DataFrameAssignmentSequence'), - 0x00281402: ('CS', '1', "Data Path Assignment", '', 'DataPathAssignment'), - 0x00281403: ('US', '1', "Bits Mapped to Color Lookup Table", '', 'BitsMappedToColorLookupTable'), - 0x00281404: ('SQ', '1', "Blending LUT 1 Sequence", '', 'BlendingLUT1Sequence'), - 0x00281405: ('CS', '1', "Blending LUT 1 Transfer Function", '', 'BlendingLUT1TransferFunction'), - 0x00281406: ('FD', '1', "Blending Weight Constant", '', 'BlendingWeightConstant'), - 0x00281407: ('US', '3', "Blending Lookup Table Descriptor", '', 'BlendingLookupTableDescriptor'), - 0x00281408: ('OW', '1', "Blending Lookup Table Data", '', 'BlendingLookupTableData'), - 0x0028140B: ('SQ', '1', "Enhanced Palette Color Lookup Table Sequence", '', 'EnhancedPaletteColorLookupTableSequence'), - 0x0028140C: ('SQ', '1', "Blending LUT 2 Sequence", '', 'BlendingLUT2Sequence'), - 0x0028140D: ('CS', '1', "Blending LUT 2 Transfer Function", '', 'BlendingLUT2TransferFunction'), - 0x0028140E: ('CS', '1', "Data Path ID", '', 'DataPathID'), - 0x0028140F: ('CS', '1', "RGB LUT Transfer Function", '', 'RGBLUTTransferFunction'), - 0x00281410: ('CS', '1', "Alpha LUT Transfer Function", '', 'AlphaLUTTransferFunction'), - 0x00282000: ('OB', '1', "ICC Profile", '', 'ICCProfile'), - 0x00282110: ('CS', '1', "Lossy Image Compression", '', 'LossyImageCompression'), - 0x00282112: ('DS', '1-n', "Lossy Image Compression Ratio", '', 'LossyImageCompressionRatio'), - 0x00282114: ('CS', '1-n', "Lossy Image Compression Method", '', 'LossyImageCompressionMethod'), - 0x00283000: ('SQ', '1', "Modality LUT Sequence", '', 'ModalityLUTSequence'), - 0x00283002: ('US or SS', '3', "LUT Descriptor", '', 'LUTDescriptor'), - 0x00283003: ('LO', '1', "LUT Explanation", '', 'LUTExplanation'), - 0x00283004: ('LO', '1', "Modality LUT Type", '', 'ModalityLUTType'), - 0x00283006: ('US or OW', '1-n 1', "LUT Data", '', 'LUTData'), - 0x00283010: ('SQ', '1', "VOI LUT Sequence", '', 'VOILUTSequence'), - 0x00283110: ('SQ', '1', "Softcopy VOI LUT Sequence", '', 'SoftcopyVOILUTSequence'), - 0x00284000: ('LT', '1', "Image Presentation Comments", 'Retired', 'ImagePresentationComments'), - 0x00285000: ('SQ', '1', "Bi-Plane Acquisition Sequence", 'Retired', 'BiPlaneAcquisitionSequence'), - 0x00286010: ('US', '1', "Representative Frame Number", '', 'RepresentativeFrameNumber'), - 0x00286020: ('US', '1-n', "Frame Numbers of Interest (FOI)", '', 'FrameNumbersOfInterest'), - 0x00286022: ('LO', '1-n', "Frame of Interest Description", '', 'FrameOfInterestDescription'), - 0x00286023: ('CS', '1-n', "Frame of Interest Type", '', 'FrameOfInterestType'), - 0x00286030: ('US', '1-n', "Mask Pointer(s)", 'Retired', 'MaskPointers'), - 0x00286040: ('US', '1-n', "R Wave Pointer", '', 'RWavePointer'), - 0x00286100: ('SQ', '1', "Mask Subtraction Sequence", '', 'MaskSubtractionSequence'), - 0x00286101: ('CS', '1', "Mask Operation", '', 'MaskOperation'), - 0x00286102: ('US', '2-2n', "Applicable Frame Range", '', 'ApplicableFrameRange'), - 0x00286110: ('US', '1-n', "Mask Frame Numbers", '', 'MaskFrameNumbers'), - 0x00286112: ('US', '1', "Contrast Frame Averaging", '', 'ContrastFrameAveraging'), - 0x00286114: ('FL', '2', "Mask Sub-pixel Shift", '', 'MaskSubPixelShift'), - 0x00286120: ('SS', '1', "TID Offset", '', 'TIDOffset'), - 0x00286190: ('ST', '1', "Mask Operation Explanation", '', 'MaskOperationExplanation'), - 0x00287FE0: ('UT', '1', "Pixel Data Provider URL", '', 'PixelDataProviderURL'), - 0x00289001: ('UL', '1', "Data Point Rows", '', 'DataPointRows'), - 0x00289002: ('UL', '1', "Data Point Columns", '', 'DataPointColumns'), - 0x00289003: ('CS', '1', "Signal Domain Columns", '', 'SignalDomainColumns'), - 0x00289099: ('US', '1', "Largest Monochrome Pixel Value", 'Retired', 'LargestMonochromePixelValue'), - 0x00289108: ('CS', '1', "Data Representation", '', 'DataRepresentation'), - 0x00289110: ('SQ', '1', "Pixel Measures Sequence", '', 'PixelMeasuresSequence'), - 0x00289132: ('SQ', '1', "Frame VOI LUT Sequence", '', 'FrameVOILUTSequence'), - 0x00289145: ('SQ', '1', "Pixel Value Transformation Sequence", '', 'PixelValueTransformationSequence'), - 0x00289235: ('CS', '1', "Signal Domain Rows", '', 'SignalDomainRows'), - 0x00289411: ('FL', '1', "Display Filter Percentage", '', 'DisplayFilterPercentage'), - 0x00289415: ('SQ', '1', "Frame Pixel Shift Sequence", '', 'FramePixelShiftSequence'), - 0x00289416: ('US', '1', "Subtraction Item ID", '', 'SubtractionItemID'), - 0x00289422: ('SQ', '1', "Pixel Intensity Relationship LUT Sequence", '', 'PixelIntensityRelationshipLUTSequence'), - 0x00289443: ('SQ', '1', "Frame Pixel Data Properties Sequence", '', 'FramePixelDataPropertiesSequence'), - 0x00289444: ('CS', '1', "Geometrical Properties", '', 'GeometricalProperties'), - 0x00289445: ('FL', '1', "Geometric Maximum Distortion", '', 'GeometricMaximumDistortion'), - 0x00289446: ('CS', '1-n', "Image Processing Applied", '', 'ImageProcessingApplied'), - 0x00289454: ('CS', '1', "Mask Selection Mode", '', 'MaskSelectionMode'), - 0x00289474: ('CS', '1', "LUT Function", '', 'LUTFunction'), - 0x00289478: ('FL', '1', "Mask Visibility Percentage", '', 'MaskVisibilityPercentage'), - 0x00289501: ('SQ', '1', "Pixel Shift Sequence", '', 'PixelShiftSequence'), - 0x00289502: ('SQ', '1', "Region Pixel Shift Sequence", '', 'RegionPixelShiftSequence'), - 0x00289503: ('SS', '2-2n', "Vertices of the Region", '', 'VerticesOfTheRegion'), - 0x00289505: ('SQ', '1', "Multi-frame Presentation Sequence", '', 'MultiFramePresentationSequence'), - 0x00289506: ('US', '2-2n', "Pixel Shift Frame Range", '', 'PixelShiftFrameRange'), - 0x00289507: ('US', '2-2n', "LUT Frame Range", '', 'LUTFrameRange'), - 0x00289520: ('DS', '16', "Image to Equipment Mapping Matrix", '', 'ImageToEquipmentMappingMatrix'), - 0x00289537: ('CS', '1', "Equipment Coordinate System Identification", '', 'EquipmentCoordinateSystemIdentification'), - 0x0032000A: ('CS', '1', "Study Status ID", 'Retired', 'StudyStatusID'), - 0x0032000C: ('CS', '1', "Study Priority ID", 'Retired', 'StudyPriorityID'), - 0x00320012: ('LO', '1', "Study ID Issuer", 'Retired', 'StudyIDIssuer'), - 0x00320032: ('DA', '1', "Study Verified Date", 'Retired', 'StudyVerifiedDate'), - 0x00320033: ('TM', '1', "Study Verified Time", 'Retired', 'StudyVerifiedTime'), - 0x00320034: ('DA', '1', "Study Read Date", 'Retired', 'StudyReadDate'), - 0x00320035: ('TM', '1', "Study Read Time", 'Retired', 'StudyReadTime'), - 0x00321000: ('DA', '1', "Scheduled Study Start Date", 'Retired', 'ScheduledStudyStartDate'), - 0x00321001: ('TM', '1', "Scheduled Study Start Time", 'Retired', 'ScheduledStudyStartTime'), - 0x00321010: ('DA', '1', "Scheduled Study Stop Date", 'Retired', 'ScheduledStudyStopDate'), - 0x00321011: ('TM', '1', "Scheduled Study Stop Time", 'Retired', 'ScheduledStudyStopTime'), - 0x00321020: ('LO', '1', "Scheduled Study Location", 'Retired', 'ScheduledStudyLocation'), - 0x00321021: ('AE', '1-n', "Scheduled Study Location AE Title", 'Retired', 'ScheduledStudyLocationAETitle'), - 0x00321030: ('LO', '1', "Reason for Study", 'Retired', 'ReasonForStudy'), - 0x00321031: ('SQ', '1', "Requesting Physician Identification Sequence", '', 'RequestingPhysicianIdentificationSequence'), - 0x00321032: ('PN', '1', "Requesting Physician", '', 'RequestingPhysician'), - 0x00321033: ('LO', '1', "Requesting Service", '', 'RequestingService'), - 0x00321034: ('SQ', '1', "Requesting Service Code Sequence", '', 'RequestingServiceCodeSequence'), - 0x00321040: ('DA', '1', "Study Arrival Date", 'Retired', 'StudyArrivalDate'), - 0x00321041: ('TM', '1', "Study Arrival Time", 'Retired', 'StudyArrivalTime'), - 0x00321050: ('DA', '1', "Study Completion Date", 'Retired', 'StudyCompletionDate'), - 0x00321051: ('TM', '1', "Study Completion Time", 'Retired', 'StudyCompletionTime'), - 0x00321055: ('CS', '1', "Study Component Status ID", 'Retired', 'StudyComponentStatusID'), - 0x00321060: ('LO', '1', "Requested Procedure Description", '', 'RequestedProcedureDescription'), - 0x00321064: ('SQ', '1', "Requested Procedure Code Sequence", '', 'RequestedProcedureCodeSequence'), - 0x00321070: ('LO', '1', "Requested Contrast Agent", '', 'RequestedContrastAgent'), - 0x00324000: ('LT', '1', "Study Comments", 'Retired', 'StudyComments'), - 0x00380004: ('SQ', '1', "Referenced Patient Alias Sequence", '', 'ReferencedPatientAliasSequence'), - 0x00380008: ('CS', '1', "Visit Status ID", '', 'VisitStatusID'), - 0x00380010: ('LO', '1', "Admission ID", '', 'AdmissionID'), - 0x00380011: ('LO', '1', "Issuer of Admission ID", 'Retired', 'IssuerOfAdmissionID'), - 0x00380014: ('SQ', '1', "Issuer of Admission ID Sequence", '', 'IssuerOfAdmissionIDSequence'), - 0x00380016: ('LO', '1', "Route of Admissions", '', 'RouteOfAdmissions'), - 0x0038001A: ('DA', '1', "Scheduled Admission Date", 'Retired', 'ScheduledAdmissionDate'), - 0x0038001B: ('TM', '1', "Scheduled Admission Time", 'Retired', 'ScheduledAdmissionTime'), - 0x0038001C: ('DA', '1', "Scheduled Discharge Date", 'Retired', 'ScheduledDischargeDate'), - 0x0038001D: ('TM', '1', "Scheduled Discharge Time", 'Retired', 'ScheduledDischargeTime'), - 0x0038001E: ('LO', '1', "Scheduled Patient Institution Residence", 'Retired', 'ScheduledPatientInstitutionResidence'), - 0x00380020: ('DA', '1', "Admitting Date", '', 'AdmittingDate'), - 0x00380021: ('TM', '1', "Admitting Time", '', 'AdmittingTime'), - 0x00380030: ('DA', '1', "Discharge Date", 'Retired', 'DischargeDate'), - 0x00380032: ('TM', '1', "Discharge Time", 'Retired', 'DischargeTime'), - 0x00380040: ('LO', '1', "Discharge Diagnosis Description", 'Retired', 'DischargeDiagnosisDescription'), - 0x00380044: ('SQ', '1', "Discharge Diagnosis Code Sequence", 'Retired', 'DischargeDiagnosisCodeSequence'), - 0x00380050: ('LO', '1', "Special Needs", '', 'SpecialNeeds'), - 0x00380060: ('LO', '1', "Service Episode ID", '', 'ServiceEpisodeID'), - 0x00380061: ('LO', '1', "Issuer of Service Episode ID", 'Retired', 'IssuerOfServiceEpisodeID'), - 0x00380062: ('LO', '1', "Service Episode Description", '', 'ServiceEpisodeDescription'), - 0x00380064: ('SQ', '1', "Issuer of Service Episode ID Sequence", '', 'IssuerOfServiceEpisodeIDSequence'), - 0x00380100: ('SQ', '1', "Pertinent Documents Sequence", '', 'PertinentDocumentsSequence'), - 0x00380300: ('LO', '1', "Current Patient Location", '', 'CurrentPatientLocation'), - 0x00380400: ('LO', '1', "Patient's Institution Residence", '', 'PatientInstitutionResidence'), - 0x00380500: ('LO', '1', "Patient State", '', 'PatientState'), - 0x00380502: ('SQ', '1', "Patient Clinical Trial Participation Sequence", '', 'PatientClinicalTrialParticipationSequence'), - 0x00384000: ('LT', '1', "Visit Comments", '', 'VisitComments'), - 0x003A0004: ('CS', '1', "Waveform Originality", '', 'WaveformOriginality'), - 0x003A0005: ('US', '1', "Number of Waveform Channels", '', 'NumberOfWaveformChannels'), - 0x003A0010: ('UL', '1', "Number of Waveform Samples", '', 'NumberOfWaveformSamples'), - 0x003A001A: ('DS', '1', "Sampling Frequency", '', 'SamplingFrequency'), - 0x003A0020: ('SH', '1', "Multiplex Group Label", '', 'MultiplexGroupLabel'), - 0x003A0200: ('SQ', '1', "Channel Definition Sequence", '', 'ChannelDefinitionSequence'), - 0x003A0202: ('IS', '1', "Waveform Channel Number", '', 'WaveformChannelNumber'), - 0x003A0203: ('SH', '1', "Channel Label", '', 'ChannelLabel'), - 0x003A0205: ('CS', '1-n', "Channel Status", '', 'ChannelStatus'), - 0x003A0208: ('SQ', '1', "Channel Source Sequence", '', 'ChannelSourceSequence'), - 0x003A0209: ('SQ', '1', "Channel Source Modifiers Sequence", '', 'ChannelSourceModifiersSequence'), - 0x003A020A: ('SQ', '1', "Source Waveform Sequence", '', 'SourceWaveformSequence'), - 0x003A020C: ('LO', '1', "Channel Derivation Description", '', 'ChannelDerivationDescription'), - 0x003A0210: ('DS', '1', "Channel Sensitivity", '', 'ChannelSensitivity'), - 0x003A0211: ('SQ', '1', "Channel Sensitivity Units Sequence", '', 'ChannelSensitivityUnitsSequence'), - 0x003A0212: ('DS', '1', "Channel Sensitivity Correction Factor", '', 'ChannelSensitivityCorrectionFactor'), - 0x003A0213: ('DS', '1', "Channel Baseline", '', 'ChannelBaseline'), - 0x003A0214: ('DS', '1', "Channel Time Skew", '', 'ChannelTimeSkew'), - 0x003A0215: ('DS', '1', "Channel Sample Skew", '', 'ChannelSampleSkew'), - 0x003A0218: ('DS', '1', "Channel Offset", '', 'ChannelOffset'), - 0x003A021A: ('US', '1', "Waveform Bits Stored", '', 'WaveformBitsStored'), - 0x003A0220: ('DS', '1', "Filter Low Frequency", '', 'FilterLowFrequency'), - 0x003A0221: ('DS', '1', "Filter High Frequency", '', 'FilterHighFrequency'), - 0x003A0222: ('DS', '1', "Notch Filter Frequency", '', 'NotchFilterFrequency'), - 0x003A0223: ('DS', '1', "Notch Filter Bandwidth", '', 'NotchFilterBandwidth'), - 0x003A0230: ('FL', '1', "Waveform Data Display Scale", '', 'WaveformDataDisplayScale'), - 0x003A0231: ('US', '3', "Waveform Display Background CIELab Value", '', 'WaveformDisplayBackgroundCIELabValue'), - 0x003A0240: ('SQ', '1', "Waveform Presentation Group Sequence", '', 'WaveformPresentationGroupSequence'), - 0x003A0241: ('US', '1', "Presentation Group Number", '', 'PresentationGroupNumber'), - 0x003A0242: ('SQ', '1', "Channel Display Sequence", '', 'ChannelDisplaySequence'), - 0x003A0244: ('US', '3', "Channel Recommended Display CIELab Value", '', 'ChannelRecommendedDisplayCIELabValue'), - 0x003A0245: ('FL', '1', "Channel Position", '', 'ChannelPosition'), - 0x003A0246: ('CS', '1', "Display Shading Flag", '', 'DisplayShadingFlag'), - 0x003A0247: ('FL', '1', "Fractional Channel Display Scale", '', 'FractionalChannelDisplayScale'), - 0x003A0248: ('FL', '1', "Absolute Channel Display Scale", '', 'AbsoluteChannelDisplayScale'), - 0x003A0300: ('SQ', '1', "Multiplexed Audio Channels Description Code Sequence", '', 'MultiplexedAudioChannelsDescriptionCodeSequence'), - 0x003A0301: ('IS', '1', "Channel Identification Code", '', 'ChannelIdentificationCode'), - 0x003A0302: ('CS', '1', "Channel Mode", '', 'ChannelMode'), - 0x00400001: ('AE', '1-n', "Scheduled Station AE Title", '', 'ScheduledStationAETitle'), - 0x00400002: ('DA', '1', "Scheduled Procedure Step Start Date", '', 'ScheduledProcedureStepStartDate'), - 0x00400003: ('TM', '1', "Scheduled Procedure Step Start Time", '', 'ScheduledProcedureStepStartTime'), - 0x00400004: ('DA', '1', "Scheduled Procedure Step End Date", '', 'ScheduledProcedureStepEndDate'), - 0x00400005: ('TM', '1', "Scheduled Procedure Step End Time", '', 'ScheduledProcedureStepEndTime'), - 0x00400006: ('PN', '1', "Scheduled Performing Physician's Name", '', 'ScheduledPerformingPhysicianName'), - 0x00400007: ('LO', '1', "Scheduled Procedure Step Description", '', 'ScheduledProcedureStepDescription'), - 0x00400008: ('SQ', '1', "Scheduled Protocol Code Sequence", '', 'ScheduledProtocolCodeSequence'), - 0x00400009: ('SH', '1', "Scheduled Procedure Step ID", '', 'ScheduledProcedureStepID'), - 0x0040000A: ('SQ', '1', "Stage Code Sequence", '', 'StageCodeSequence'), - 0x0040000B: ('SQ', '1', "Scheduled Performing Physician Identification Sequence", '', 'ScheduledPerformingPhysicianIdentificationSequence'), - 0x00400010: ('SH', '1-n', "Scheduled Station Name", '', 'ScheduledStationName'), - 0x00400011: ('SH', '1', "Scheduled Procedure Step Location", '', 'ScheduledProcedureStepLocation'), - 0x00400012: ('LO', '1', "Pre-Medication", '', 'PreMedication'), - 0x00400020: ('CS', '1', "Scheduled Procedure Step Status", '', 'ScheduledProcedureStepStatus'), - 0x00400026: ('SQ', '1', "Order Placer Identifier Sequence", '', 'OrderPlacerIdentifierSequence'), - 0x00400027: ('SQ', '1', "Order Filler Identifier Sequence", '', 'OrderFillerIdentifierSequence'), - 0x00400031: ('UT', '1', "Local Namespace Entity ID", '', 'LocalNamespaceEntityID'), - 0x00400032: ('UT', '1', "Universal Entity ID", '', 'UniversalEntityID'), - 0x00400033: ('CS', '1', "Universal Entity ID Type", '', 'UniversalEntityIDType'), - 0x00400035: ('CS', '1', "Identifier Type Code", '', 'IdentifierTypeCode'), - 0x00400036: ('SQ', '1', "Assigning Facility Sequence", '', 'AssigningFacilitySequence'), - 0x00400039: ('SQ', '1', "Assigning Jurisdiction Code Sequence", '', 'AssigningJurisdictionCodeSequence'), - 0x0040003A: ('SQ', '1', "Assigning Agency or Department Code Sequence", '', 'AssigningAgencyOrDepartmentCodeSequence'), - 0x00400100: ('SQ', '1', "Scheduled Procedure Step Sequence", '', 'ScheduledProcedureStepSequence'), - 0x00400220: ('SQ', '1', "Referenced Non-Image Composite SOP Instance Sequence", '', 'ReferencedNonImageCompositeSOPInstanceSequence'), - 0x00400241: ('AE', '1', "Performed Station AE Title", '', 'PerformedStationAETitle'), - 0x00400242: ('SH', '1', "Performed Station Name", '', 'PerformedStationName'), - 0x00400243: ('SH', '1', "Performed Location", '', 'PerformedLocation'), - 0x00400244: ('DA', '1', "Performed Procedure Step Start Date", '', 'PerformedProcedureStepStartDate'), - 0x00400245: ('TM', '1', "Performed Procedure Step Start Time", '', 'PerformedProcedureStepStartTime'), - 0x00400250: ('DA', '1', "Performed Procedure Step End Date", '', 'PerformedProcedureStepEndDate'), - 0x00400251: ('TM', '1', "Performed Procedure Step End Time", '', 'PerformedProcedureStepEndTime'), - 0x00400252: ('CS', '1', "Performed Procedure Step Status", '', 'PerformedProcedureStepStatus'), - 0x00400253: ('SH', '1', "Performed Procedure Step ID", '', 'PerformedProcedureStepID'), - 0x00400254: ('LO', '1', "Performed Procedure Step Description", '', 'PerformedProcedureStepDescription'), - 0x00400255: ('LO', '1', "Performed Procedure Type Description", '', 'PerformedProcedureTypeDescription'), - 0x00400260: ('SQ', '1', "Performed Protocol Code Sequence", '', 'PerformedProtocolCodeSequence'), - 0x00400261: ('CS', '1', "Performed Protocol Type", '', 'PerformedProtocolType'), - 0x00400270: ('SQ', '1', "Scheduled Step Attributes Sequence", '', 'ScheduledStepAttributesSequence'), - 0x00400275: ('SQ', '1', "Request Attributes Sequence", '', 'RequestAttributesSequence'), - 0x00400280: ('ST', '1', "Comments on the Performed Procedure Step", '', 'CommentsOnThePerformedProcedureStep'), - 0x00400281: ('SQ', '1', "Performed Procedure Step Discontinuation Reason Code Sequence", '', 'PerformedProcedureStepDiscontinuationReasonCodeSequence'), - 0x00400293: ('SQ', '1', "Quantity Sequence", '', 'QuantitySequence'), - 0x00400294: ('DS', '1', "Quantity", '', 'Quantity'), - 0x00400295: ('SQ', '1', "Measuring Units Sequence", '', 'MeasuringUnitsSequence'), - 0x00400296: ('SQ', '1', "Billing Item Sequence", '', 'BillingItemSequence'), - 0x00400300: ('US', '1', "Total Time of Fluoroscopy", '', 'TotalTimeOfFluoroscopy'), - 0x00400301: ('US', '1', "Total Number of Exposures", '', 'TotalNumberOfExposures'), - 0x00400302: ('US', '1', "Entrance Dose", '', 'EntranceDose'), - 0x00400303: ('US', '1-2', "Exposed Area", '', 'ExposedArea'), - 0x00400306: ('DS', '1', "Distance Source to Entrance", '', 'DistanceSourceToEntrance'), - 0x00400307: ('DS', '1', "Distance Source to Support", 'Retired', 'DistanceSourceToSupport'), - 0x0040030E: ('SQ', '1', "Exposure Dose Sequence", '', 'ExposureDoseSequence'), - 0x00400310: ('ST', '1', "Comments on Radiation Dose", '', 'CommentsOnRadiationDose'), - 0x00400312: ('DS', '1', "X-Ray Output", '', 'XRayOutput'), - 0x00400314: ('DS', '1', "Half Value Layer", '', 'HalfValueLayer'), - 0x00400316: ('DS', '1', "Organ Dose", '', 'OrganDose'), - 0x00400318: ('CS', '1', "Organ Exposed", '', 'OrganExposed'), - 0x00400320: ('SQ', '1', "Billing Procedure Step Sequence", '', 'BillingProcedureStepSequence'), - 0x00400321: ('SQ', '1', "Film Consumption Sequence", '', 'FilmConsumptionSequence'), - 0x00400324: ('SQ', '1', "Billing Supplies and Devices Sequence", '', 'BillingSuppliesAndDevicesSequence'), - 0x00400330: ('SQ', '1', "Referenced Procedure Step Sequence", 'Retired', 'ReferencedProcedureStepSequence'), - 0x00400340: ('SQ', '1', "Performed Series Sequence", '', 'PerformedSeriesSequence'), - 0x00400400: ('LT', '1', "Comments on the Scheduled Procedure Step", '', 'CommentsOnTheScheduledProcedureStep'), - 0x00400440: ('SQ', '1', "Protocol Context Sequence", '', 'ProtocolContextSequence'), - 0x00400441: ('SQ', '1', "Content Item Modifier Sequence", '', 'ContentItemModifierSequence'), - 0x00400500: ('SQ', '1', "Scheduled Specimen Sequence", '', 'ScheduledSpecimenSequence'), - 0x0040050A: ('LO', '1', "Specimen Accession Number", 'Retired', 'SpecimenAccessionNumber'), - 0x00400512: ('LO', '1', "Container Identifier", '', 'ContainerIdentifier'), - 0x00400513: ('SQ', '1', "Issuer of the Container Identifier Sequence", '', 'IssuerOfTheContainerIdentifierSequence'), - 0x00400515: ('SQ', '1', "Alternate Container Identifier Sequence", '', 'AlternateContainerIdentifierSequence'), - 0x00400518: ('SQ', '1', "Container Type Code Sequence", '', 'ContainerTypeCodeSequence'), - 0x0040051A: ('LO', '1', "Container Description", '', 'ContainerDescription'), - 0x00400520: ('SQ', '1', "Container Component Sequence", '', 'ContainerComponentSequence'), - 0x00400550: ('SQ', '1', "Specimen Sequence", 'Retired', 'SpecimenSequence'), - 0x00400551: ('LO', '1', "Specimen Identifier", '', 'SpecimenIdentifier'), - 0x00400552: ('SQ', '1', "Specimen Description Sequence (Trial)", 'Retired', 'SpecimenDescriptionSequenceTrial'), - 0x00400553: ('ST', '1', "Specimen Description (Trial)", 'Retired', 'SpecimenDescriptionTrial'), - 0x00400554: ('UI', '1', "Specimen UID", '', 'SpecimenUID'), - 0x00400555: ('SQ', '1', "Acquisition Context Sequence", '', 'AcquisitionContextSequence'), - 0x00400556: ('ST', '1', "Acquisition Context Description", '', 'AcquisitionContextDescription'), - 0x00400560: ('SQ', '1', "Specimen Description Sequence", '', 'SpecimenDescriptionSequence'), - 0x00400562: ('SQ', '1', "Issuer of the Specimen Identifier Sequence", '', 'IssuerOfTheSpecimenIdentifierSequence'), - 0x0040059A: ('SQ', '1', "Specimen Type Code Sequence", '', 'SpecimenTypeCodeSequence'), - 0x00400600: ('LO', '1', "Specimen Short Description", '', 'SpecimenShortDescription'), - 0x00400602: ('UT', '1', "Specimen Detailed Description", '', 'SpecimenDetailedDescription'), - 0x00400610: ('SQ', '1', "Specimen Preparation Sequence", '', 'SpecimenPreparationSequence'), - 0x00400612: ('SQ', '1', "Specimen Preparation Step Content Item Sequence", '', 'SpecimenPreparationStepContentItemSequence'), - 0x00400620: ('SQ', '1', "Specimen Localization Content Item Sequence", '', 'SpecimenLocalizationContentItemSequence'), - 0x004006FA: ('LO', '1', "Slide Identifier", 'Retired', 'SlideIdentifier'), - 0x0040071A: ('SQ', '1', "Image Center Point Coordinates Sequence", '', 'ImageCenterPointCoordinatesSequence'), - 0x0040072A: ('DS', '1', "X Offset in Slide Coordinate System", '', 'XOffsetInSlideCoordinateSystem'), - 0x0040073A: ('DS', '1', "Y Offset in Slide Coordinate System", '', 'YOffsetInSlideCoordinateSystem'), - 0x0040074A: ('DS', '1', "Z Offset in Slide Coordinate System", '', 'ZOffsetInSlideCoordinateSystem'), - 0x004008D8: ('SQ', '1', "Pixel Spacing Sequence", 'Retired', 'PixelSpacingSequence'), - 0x004008DA: ('SQ', '1', "Coordinate System Axis Code Sequence", 'Retired', 'CoordinateSystemAxisCodeSequence'), - 0x004008EA: ('SQ', '1', "Measurement Units Code Sequence", '', 'MeasurementUnitsCodeSequence'), - 0x004009F8: ('SQ', '1', "Vital Stain Code Sequence (Trial)", 'Retired', 'VitalStainCodeSequenceTrial'), - 0x00401001: ('SH', '1', "Requested Procedure ID", '', 'RequestedProcedureID'), - 0x00401002: ('LO', '1', "Reason for the Requested Procedure", '', 'ReasonForTheRequestedProcedure'), - 0x00401003: ('SH', '1', "Requested Procedure Priority", '', 'RequestedProcedurePriority'), - 0x00401004: ('LO', '1', "Patient Transport Arrangements", '', 'PatientTransportArrangements'), - 0x00401005: ('LO', '1', "Requested Procedure Location", '', 'RequestedProcedureLocation'), - 0x00401006: ('SH', '1', "Placer Order Number / Procedure", 'Retired', 'PlacerOrderNumberProcedure'), - 0x00401007: ('SH', '1', "Filler Order Number / Procedure", 'Retired', 'FillerOrderNumberProcedure'), - 0x00401008: ('LO', '1', "Confidentiality Code", '', 'ConfidentialityCode'), - 0x00401009: ('SH', '1', "Reporting Priority", '', 'ReportingPriority'), - 0x0040100A: ('SQ', '1', "Reason for Requested Procedure Code Sequence", '', 'ReasonForRequestedProcedureCodeSequence'), - 0x00401010: ('PN', '1-n', "Names of Intended Recipients of Results", '', 'NamesOfIntendedRecipientsOfResults'), - 0x00401011: ('SQ', '1', "Intended Recipients of Results Identification Sequence", '', 'IntendedRecipientsOfResultsIdentificationSequence'), - 0x00401012: ('SQ', '1', "Reason For Performed Procedure Code Sequence", '', 'ReasonForPerformedProcedureCodeSequence'), - 0x00401060: ('LO', '1', "Requested Procedure Description (Trial)", 'Retired', 'RequestedProcedureDescriptionTrial'), - 0x00401101: ('SQ', '1', "Person Identification Code Sequence", '', 'PersonIdentificationCodeSequence'), - 0x00401102: ('ST', '1', "Person's Address", '', 'PersonAddress'), - 0x00401103: ('LO', '1-n', "Person's Telephone Numbers", '', 'PersonTelephoneNumbers'), - 0x00401400: ('LT', '1', "Requested Procedure Comments", '', 'RequestedProcedureComments'), - 0x00402001: ('LO', '1', "Reason for the Imaging Service Request", 'Retired', 'ReasonForTheImagingServiceRequest'), - 0x00402004: ('DA', '1', "Issue Date of Imaging Service Request", '', 'IssueDateOfImagingServiceRequest'), - 0x00402005: ('TM', '1', "Issue Time of Imaging Service Request", '', 'IssueTimeOfImagingServiceRequest'), - 0x00402006: ('SH', '1', "Placer Order Number / Imaging Service Request (Retired)", 'Retired', 'PlacerOrderNumberImagingServiceRequestRetired'), - 0x00402007: ('SH', '1', "Filler Order Number / Imaging Service Request (Retired)", 'Retired', 'FillerOrderNumberImagingServiceRequestRetired'), - 0x00402008: ('PN', '1', "Order Entered By", '', 'OrderEnteredBy'), - 0x00402009: ('SH', '1', "Order Enterer's Location", '', 'OrderEntererLocation'), - 0x00402010: ('SH', '1', "Order Callback Phone Number", '', 'OrderCallbackPhoneNumber'), - 0x00402016: ('LO', '1', "Placer Order Number / Imaging Service Request", '', 'PlacerOrderNumberImagingServiceRequest'), - 0x00402017: ('LO', '1', "Filler Order Number / Imaging Service Request", '', 'FillerOrderNumberImagingServiceRequest'), - 0x00402400: ('LT', '1', "Imaging Service Request Comments", '', 'ImagingServiceRequestComments'), - 0x00403001: ('LO', '1', "Confidentiality Constraint on Patient Data Description", '', 'ConfidentialityConstraintOnPatientDataDescription'), - 0x00404001: ('CS', '1', "General Purpose Scheduled Procedure Step Status", 'Retired', 'GeneralPurposeScheduledProcedureStepStatus'), - 0x00404002: ('CS', '1', "General Purpose Performed Procedure Step Status", 'Retired', 'GeneralPurposePerformedProcedureStepStatus'), - 0x00404003: ('CS', '1', "General Purpose Scheduled Procedure Step Priority", 'Retired', 'GeneralPurposeScheduledProcedureStepPriority'), - 0x00404004: ('SQ', '1', "Scheduled Processing Applications Code Sequence", 'Retired', 'ScheduledProcessingApplicationsCodeSequence'), - 0x00404005: ('DT', '1', "Scheduled Procedure Step Start DateTime", 'Retired', 'ScheduledProcedureStepStartDateTime'), - 0x00404006: ('CS', '1', "Multiple Copies Flag", 'Retired', 'MultipleCopiesFlag'), - 0x00404007: ('SQ', '1', "Performed Processing Applications Code Sequence", '', 'PerformedProcessingApplicationsCodeSequence'), - 0x00404009: ('SQ', '1', "Human Performer Code Sequence", '', 'HumanPerformerCodeSequence'), - 0x00404010: ('DT', '1', "Scheduled Procedure Step Modification DateTime", '', 'ScheduledProcedureStepModificationDateTime'), - 0x00404011: ('DT', '1', "Expected Completion DateTime", '', 'ExpectedCompletionDateTime'), - 0x00404015: ('SQ', '1', "Resulting General Purpose Performed Procedure Steps Sequence", 'Retired', 'ResultingGeneralPurposePerformedProcedureStepsSequence'), - 0x00404016: ('SQ', '1', "Referenced General Purpose Scheduled Procedure Step Sequence", 'Retired', 'ReferencedGeneralPurposeScheduledProcedureStepSequence'), - 0x00404018: ('SQ', '1', "Scheduled Workitem Code Sequence", '', 'ScheduledWorkitemCodeSequence'), - 0x00404019: ('SQ', '1', "Performed Workitem Code Sequence", '', 'PerformedWorkitemCodeSequence'), - 0x00404020: ('CS', '1', "Input Availability Flag", '', 'InputAvailabilityFlag'), - 0x00404021: ('SQ', '1', "Input Information Sequence", '', 'InputInformationSequence'), - 0x00404022: ('SQ', '1', "Relevant Information Sequence", 'Retired', 'RelevantInformationSequence'), - 0x00404023: ('UI', '1', "Referenced General Purpose Scheduled Procedure Step Transaction UID", 'Retired', 'ReferencedGeneralPurposeScheduledProcedureStepTransactionUID'), - 0x00404025: ('SQ', '1', "Scheduled Station Name Code Sequence", '', 'ScheduledStationNameCodeSequence'), - 0x00404026: ('SQ', '1', "Scheduled Station Class Code Sequence", '', 'ScheduledStationClassCodeSequence'), - 0x00404027: ('SQ', '1', "Scheduled Station Geographic Location Code Sequence", '', 'ScheduledStationGeographicLocationCodeSequence'), - 0x00404028: ('SQ', '1', "Performed Station Name Code Sequence", '', 'PerformedStationNameCodeSequence'), - 0x00404029: ('SQ', '1', "Performed Station Class Code Sequence", '', 'PerformedStationClassCodeSequence'), - 0x00404030: ('SQ', '1', "Performed Station Geographic Location Code Sequence", '', 'PerformedStationGeographicLocationCodeSequence'), - 0x00404031: ('SQ', '1', "Requested Subsequent Workitem Code Sequence", 'Retired', 'RequestedSubsequentWorkitemCodeSequence'), - 0x00404032: ('SQ', '1', "Non-DICOM Output Code Sequence", 'Retired', 'NonDICOMOutputCodeSequence'), - 0x00404033: ('SQ', '1', "Output Information Sequence", '', 'OutputInformationSequence'), - 0x00404034: ('SQ', '1', "Scheduled Human Performers Sequence", '', 'ScheduledHumanPerformersSequence'), - 0x00404035: ('SQ', '1', "Actual Human Performers Sequence", '', 'ActualHumanPerformersSequence'), - 0x00404036: ('LO', '1', "Human Performer's Organization", '', 'HumanPerformerOrganization'), - 0x00404037: ('PN', '1', "Human Performer's Name", '', 'HumanPerformerName'), - 0x00404040: ('CS', '1', "Raw Data Handling", '', 'RawDataHandling'), - 0x00404041: ('CS', '1', "Input Readiness State", '', 'InputReadinessState'), - 0x00404050: ('DT', '1', "Performed Procedure Step Start DateTime", '', 'PerformedProcedureStepStartDateTime'), - 0x00404051: ('DT', '1', "Performed Procedure Step End DateTime", '', 'PerformedProcedureStepEndDateTime'), - 0x00404052: ('DT', '1', "Procedure Step Cancellation DateTime", '', 'ProcedureStepCancellationDateTime'), - 0x00408302: ('DS', '1', "Entrance Dose in mGy", '', 'EntranceDoseInmGy'), - 0x00409094: ('SQ', '1', "Referenced Image Real World Value Mapping Sequence", '', 'ReferencedImageRealWorldValueMappingSequence'), - 0x00409096: ('SQ', '1', "Real World Value Mapping Sequence", '', 'RealWorldValueMappingSequence'), - 0x00409098: ('SQ', '1', "Pixel Value Mapping Code Sequence", '', 'PixelValueMappingCodeSequence'), - 0x00409210: ('SH', '1', "LUT Label", '', 'LUTLabel'), - 0x00409211: ('US or SS', '1', "Real World Value Last Value Mapped", '', 'RealWorldValueLastValueMapped'), - 0x00409212: ('FD', '1-n', "Real World Value LUT Data", '', 'RealWorldValueLUTData'), - 0x00409216: ('US or SS', '1', "Real World Value First Value Mapped", '', 'RealWorldValueFirstValueMapped'), - 0x00409224: ('FD', '1', "Real World Value Intercept", '', 'RealWorldValueIntercept'), - 0x00409225: ('FD', '1', "Real World Value Slope", '', 'RealWorldValueSlope'), - 0x0040A007: ('CS', '1', "Findings Flag (Trial)", 'Retired', 'FindingsFlagTrial'), - 0x0040A010: ('CS', '1', "Relationship Type", '', 'RelationshipType'), - 0x0040A020: ('SQ', '1', "Findings Sequence (Trial)", 'Retired', 'FindingsSequenceTrial'), - 0x0040A021: ('UI', '1', "Findings Group UID (Trial)", 'Retired', 'FindingsGroupUIDTrial'), - 0x0040A022: ('UI', '1', "Referenced Findings Group UID (Trial)", 'Retired', 'ReferencedFindingsGroupUIDTrial'), - 0x0040A023: ('DA', '1', "Findings Group Recording Date (Trial)", 'Retired', 'FindingsGroupRecordingDateTrial'), - 0x0040A024: ('TM', '1', "Findings Group Recording Time (Trial)", 'Retired', 'FindingsGroupRecordingTimeTrial'), - 0x0040A026: ('SQ', '1', "Findings Source Category Code Sequence (Trial)", 'Retired', 'FindingsSourceCategoryCodeSequenceTrial'), - 0x0040A027: ('LO', '1', "Verifying Organization", '', 'VerifyingOrganization'), - 0x0040A028: ('SQ', '1', "Documenting Organization Identifier Code Sequence (Trial)", 'Retired', 'DocumentingOrganizationIdentifierCodeSequenceTrial'), - 0x0040A030: ('DT', '1', "Verification DateTime", '', 'VerificationDateTime'), - 0x0040A032: ('DT', '1', "Observation DateTime", '', 'ObservationDateTime'), - 0x0040A040: ('CS', '1', "Value Type", '', 'ValueType'), - 0x0040A043: ('SQ', '1', "Concept Name Code Sequence", '', 'ConceptNameCodeSequence'), - 0x0040A047: ('LO', '1', "Measurement Precision Description (Trial)", 'Retired', 'MeasurementPrecisionDescriptionTrial'), - 0x0040A050: ('CS', '1', "Continuity Of Content", '', 'ContinuityOfContent'), - 0x0040A057: ('CS', '1-n', "Urgency or Priority Alerts (Trial)", 'Retired', 'UrgencyOrPriorityAlertsTrial'), - 0x0040A060: ('LO', '1', "Sequencing Indicator (Trial)", 'Retired', 'SequencingIndicatorTrial'), - 0x0040A066: ('SQ', '1', "Document Identifier Code Sequence (Trial)", 'Retired', 'DocumentIdentifierCodeSequenceTrial'), - 0x0040A067: ('PN', '1', "Document Author (Trial)", 'Retired', 'DocumentAuthorTrial'), - 0x0040A068: ('SQ', '1', "Document Author Identifier Code Sequence (Trial)", 'Retired', 'DocumentAuthorIdentifierCodeSequenceTrial'), - 0x0040A070: ('SQ', '1', "Identifier Code Sequence (Trial)", 'Retired', 'IdentifierCodeSequenceTrial'), - 0x0040A073: ('SQ', '1', "Verifying Observer Sequence", '', 'VerifyingObserverSequence'), - 0x0040A074: ('OB', '1', "Object Binary Identifier (Trial)", 'Retired', 'ObjectBinaryIdentifierTrial'), - 0x0040A075: ('PN', '1', "Verifying Observer Name", '', 'VerifyingObserverName'), - 0x0040A076: ('SQ', '1', "Documenting Observer Identifier Code Sequence (Trial)", 'Retired', 'DocumentingObserverIdentifierCodeSequenceTrial'), - 0x0040A078: ('SQ', '1', "Author Observer Sequence", '', 'AuthorObserverSequence'), - 0x0040A07A: ('SQ', '1', "Participant Sequence", '', 'ParticipantSequence'), - 0x0040A07C: ('SQ', '1', "Custodial Organization Sequence", '', 'CustodialOrganizationSequence'), - 0x0040A080: ('CS', '1', "Participation Type", '', 'ParticipationType'), - 0x0040A082: ('DT', '1', "Participation DateTime", '', 'ParticipationDateTime'), - 0x0040A084: ('CS', '1', "Observer Type", '', 'ObserverType'), - 0x0040A085: ('SQ', '1', "Procedure Identifier Code Sequence (Trial)", 'Retired', 'ProcedureIdentifierCodeSequenceTrial'), - 0x0040A088: ('SQ', '1', "Verifying Observer Identification Code Sequence", '', 'VerifyingObserverIdentificationCodeSequence'), - 0x0040A089: ('OB', '1', "Object Directory Binary Identifier (Trial)", 'Retired', 'ObjectDirectoryBinaryIdentifierTrial'), - 0x0040A090: ('SQ', '1', "Equivalent CDA Document Sequence", 'Retired', 'EquivalentCDADocumentSequence'), - 0x0040A0B0: ('US', '2-2n', "Referenced Waveform Channels", '', 'ReferencedWaveformChannels'), - 0x0040A110: ('DA', '1', "Date of Document or Verbal Transaction (Trial)", 'Retired', 'DateOfDocumentOrVerbalTransactionTrial'), - 0x0040A112: ('TM', '1', "Time of Document Creation or Verbal Transaction (Trial)", 'Retired', 'TimeOfDocumentCreationOrVerbalTransactionTrial'), - 0x0040A120: ('DT', '1', "DateTime", '', 'DateTime'), - 0x0040A121: ('DA', '1', "Date", '', 'Date'), - 0x0040A122: ('TM', '1', "Time", '', 'Time'), - 0x0040A123: ('PN', '1', "Person Name", '', 'PersonName'), - 0x0040A124: ('UI', '1', "UID", '', 'UID'), - 0x0040A125: ('CS', '2', "Report Status ID (Trial)", 'Retired', 'ReportStatusIDTrial'), - 0x0040A130: ('CS', '1', "Temporal Range Type", '', 'TemporalRangeType'), - 0x0040A132: ('UL', '1-n', "Referenced Sample Positions", '', 'ReferencedSamplePositions'), - 0x0040A136: ('US', '1-n', "Referenced Frame Numbers", '', 'ReferencedFrameNumbers'), - 0x0040A138: ('DS', '1-n', "Referenced Time Offsets", '', 'ReferencedTimeOffsets'), - 0x0040A13A: ('DT', '1-n', "Referenced DateTime", '', 'ReferencedDateTime'), - 0x0040A160: ('UT', '1', "Text Value", '', 'TextValue'), - 0x0040A161: ('FD', '1-n', "Floating Point Value", '', 'FloatingPointValue'), - 0x0040A162: ('SL', '1-n', "Rational Numerator Value", '', 'RationalNumeratorValue'), - 0x0040A163: ('UL', '1-n', "Rational Denominator Value", '', 'RationalDenominatorValue'), - 0x0040A167: ('SQ', '1', "Observation Category Code Sequence (Trial)", 'Retired', 'ObservationCategoryCodeSequenceTrial'), - 0x0040A168: ('SQ', '1', "Concept Code Sequence", '', 'ConceptCodeSequence'), - 0x0040A16A: ('ST', '1', "Bibliographic Citation (Trial)", 'Retired', 'BibliographicCitationTrial'), - 0x0040A170: ('SQ', '1', "Purpose of Reference Code Sequence", '', 'PurposeOfReferenceCodeSequence'), - 0x0040A171: ('UI', '1', "Observation UID", '', 'ObservationUID'), - 0x0040A172: ('UI', '1', "Referenced Observation UID (Trial)", 'Retired', 'ReferencedObservationUIDTrial'), - 0x0040A173: ('CS', '1', "Referenced Observation Class (Trial)", 'Retired', 'ReferencedObservationClassTrial'), - 0x0040A174: ('CS', '1', "Referenced Object Observation Class (Trial)", 'Retired', 'ReferencedObjectObservationClassTrial'), - 0x0040A180: ('US', '1', "Annotation Group Number", '', 'AnnotationGroupNumber'), - 0x0040A192: ('DA', '1', "Observation Date (Trial)", 'Retired', 'ObservationDateTrial'), - 0x0040A193: ('TM', '1', "Observation Time (Trial)", 'Retired', 'ObservationTimeTrial'), - 0x0040A194: ('CS', '1', "Measurement Automation (Trial)", 'Retired', 'MeasurementAutomationTrial'), - 0x0040A195: ('SQ', '1', "Modifier Code Sequence", '', 'ModifierCodeSequence'), - 0x0040A224: ('ST', '1', "Identification Description (Trial)", 'Retired', 'IdentificationDescriptionTrial'), - 0x0040A290: ('CS', '1', "Coordinates Set Geometric Type (Trial)", 'Retired', 'CoordinatesSetGeometricTypeTrial'), - 0x0040A296: ('SQ', '1', "Algorithm Code Sequence (Trial)", 'Retired', 'AlgorithmCodeSequenceTrial'), - 0x0040A297: ('ST', '1', "Algorithm Description (Trial)", 'Retired', 'AlgorithmDescriptionTrial'), - 0x0040A29A: ('SL', '2-2n', "Pixel Coordinates Set (Trial)", 'Retired', 'PixelCoordinatesSetTrial'), - 0x0040A300: ('SQ', '1', "Measured Value Sequence", '', 'MeasuredValueSequence'), - 0x0040A301: ('SQ', '1', "Numeric Value Qualifier Code Sequence", '', 'NumericValueQualifierCodeSequence'), - 0x0040A307: ('PN', '1', "Current Observer (Trial)", 'Retired', 'CurrentObserverTrial'), - 0x0040A30A: ('DS', '1-n', "Numeric Value", '', 'NumericValue'), - 0x0040A313: ('SQ', '1', "Referenced Accession Sequence (Trial)", 'Retired', 'ReferencedAccessionSequenceTrial'), - 0x0040A33A: ('ST', '1', "Report Status Comment (Trial)", 'Retired', 'ReportStatusCommentTrial'), - 0x0040A340: ('SQ', '1', "Procedure Context Sequence (Trial)", 'Retired', 'ProcedureContextSequenceTrial'), - 0x0040A352: ('PN', '1', "Verbal Source (Trial)", 'Retired', 'VerbalSourceTrial'), - 0x0040A353: ('ST', '1', "Address (Trial)", 'Retired', 'AddressTrial'), - 0x0040A354: ('LO', '1', "Telephone Number (Trial)", 'Retired', 'TelephoneNumberTrial'), - 0x0040A358: ('SQ', '1', "Verbal Source Identifier Code Sequence (Trial)", 'Retired', 'VerbalSourceIdentifierCodeSequenceTrial'), - 0x0040A360: ('SQ', '1', "Predecessor Documents Sequence", '', 'PredecessorDocumentsSequence'), - 0x0040A370: ('SQ', '1', "Referenced Request Sequence", '', 'ReferencedRequestSequence'), - 0x0040A372: ('SQ', '1', "Performed Procedure Code Sequence", '', 'PerformedProcedureCodeSequence'), - 0x0040A375: ('SQ', '1', "Current Requested Procedure Evidence Sequence", '', 'CurrentRequestedProcedureEvidenceSequence'), - 0x0040A380: ('SQ', '1', "Report Detail Sequence (Trial)", 'Retired', 'ReportDetailSequenceTrial'), - 0x0040A385: ('SQ', '1', "Pertinent Other Evidence Sequence", '', 'PertinentOtherEvidenceSequence'), - 0x0040A390: ('SQ', '1', "HL7 Structured Document Reference Sequence", '', 'HL7StructuredDocumentReferenceSequence'), - 0x0040A402: ('UI', '1', "Observation Subject UID (Trial)", 'Retired', 'ObservationSubjectUIDTrial'), - 0x0040A403: ('CS', '1', "Observation Subject Class (Trial)", 'Retired', 'ObservationSubjectClassTrial'), - 0x0040A404: ('SQ', '1', "Observation Subject Type Code Sequence (Trial)", 'Retired', 'ObservationSubjectTypeCodeSequenceTrial'), - 0x0040A491: ('CS', '1', "Completion Flag", '', 'CompletionFlag'), - 0x0040A492: ('LO', '1', "Completion Flag Description", '', 'CompletionFlagDescription'), - 0x0040A493: ('CS', '1', "Verification Flag", '', 'VerificationFlag'), - 0x0040A494: ('CS', '1', "Archive Requested", '', 'ArchiveRequested'), - 0x0040A496: ('CS', '1', "Preliminary Flag", '', 'PreliminaryFlag'), - 0x0040A504: ('SQ', '1', "Content Template Sequence", '', 'ContentTemplateSequence'), - 0x0040A525: ('SQ', '1', "Identical Documents Sequence", '', 'IdenticalDocumentsSequence'), - 0x0040A600: ('CS', '1', "Observation Subject Context Flag (Trial)", 'Retired', 'ObservationSubjectContextFlagTrial'), - 0x0040A601: ('CS', '1', "Observer Context Flag (Trial)", 'Retired', 'ObserverContextFlagTrial'), - 0x0040A603: ('CS', '1', "Procedure Context Flag (Trial)", 'Retired', 'ProcedureContextFlagTrial'), - 0x0040A730: ('SQ', '1', "Content Sequence", '', 'ContentSequence'), - 0x0040A731: ('SQ', '1', "Relationship Sequence (Trial)", 'Retired', 'RelationshipSequenceTrial'), - 0x0040A732: ('SQ', '1', "Relationship Type Code Sequence (Trial)", 'Retired', 'RelationshipTypeCodeSequenceTrial'), - 0x0040A744: ('SQ', '1', "Language Code Sequence (Trial)", 'Retired', 'LanguageCodeSequenceTrial'), - 0x0040A992: ('ST', '1', "Uniform Resource Locator (Trial)", 'Retired', 'UniformResourceLocatorTrial'), - 0x0040B020: ('SQ', '1', "Waveform Annotation Sequence", '', 'WaveformAnnotationSequence'), - 0x0040DB00: ('CS', '1', "Template Identifier", '', 'TemplateIdentifier'), - 0x0040DB06: ('DT', '1', "Template Version", 'Retired', 'TemplateVersion'), - 0x0040DB07: ('DT', '1', "Template Local Version", 'Retired', 'TemplateLocalVersion'), - 0x0040DB0B: ('CS', '1', "Template Extension Flag", 'Retired', 'TemplateExtensionFlag'), - 0x0040DB0C: ('UI', '1', "Template Extension Organization UID", 'Retired', 'TemplateExtensionOrganizationUID'), - 0x0040DB0D: ('UI', '1', "Template Extension Creator UID", 'Retired', 'TemplateExtensionCreatorUID'), - 0x0040DB73: ('UL', '1-n', "Referenced Content Item Identifier", '', 'ReferencedContentItemIdentifier'), - 0x0040E001: ('ST', '1', "HL7 Instance Identifier", '', 'HL7InstanceIdentifier'), - 0x0040E004: ('DT', '1', "HL7 Document Effective Time", '', 'HL7DocumentEffectiveTime'), - 0x0040E006: ('SQ', '1', "HL7 Document Type Code Sequence", '', 'HL7DocumentTypeCodeSequence'), - 0x0040E008: ('SQ', '1', "Document Class Code Sequence", '', 'DocumentClassCodeSequence'), - 0x0040E010: ('UT', '1', "Retrieve URI", '', 'RetrieveURI'), - 0x0040E011: ('UI', '1', "Retrieve Location UID", '', 'RetrieveLocationUID'), - 0x0040E020: ('CS', '1', "Type of Instances", '', 'TypeOfInstances'), - 0x0040E021: ('SQ', '1', "DICOM Retrieval Sequence", '', 'DICOMRetrievalSequence'), - 0x0040E022: ('SQ', '1', "DICOM Media Retrieval Sequence", '', 'DICOMMediaRetrievalSequence'), - 0x0040E023: ('SQ', '1', "WADO Retrieval Sequence", '', 'WADORetrievalSequence'), - 0x0040E024: ('SQ', '1', "XDS Retrieval Sequence", '', 'XDSRetrievalSequence'), - 0x0040E030: ('UI', '1', "Repository Unique ID", '', 'RepositoryUniqueID'), - 0x0040E031: ('UI', '1', "Home Community ID", '', 'HomeCommunityID'), - 0x00420010: ('ST', '1', "Document Title", '', 'DocumentTitle'), - 0x00420011: ('OB', '1', "Encapsulated Document", '', 'EncapsulatedDocument'), - 0x00420012: ('LO', '1', "MIME Type of Encapsulated Document", '', 'MIMETypeOfEncapsulatedDocument'), - 0x00420013: ('SQ', '1', "Source Instance Sequence", '', 'SourceInstanceSequence'), - 0x00420014: ('LO', '1-n', "List of MIME Types", '', 'ListOfMIMETypes'), - 0x00440001: ('ST', '1', "Product Package Identifier", '', 'ProductPackageIdentifier'), - 0x00440002: ('CS', '1', "Substance Administration Approval", '', 'SubstanceAdministrationApproval'), - 0x00440003: ('LT', '1', "Approval Status Further Description", '', 'ApprovalStatusFurtherDescription'), - 0x00440004: ('DT', '1', "Approval Status DateTime", '', 'ApprovalStatusDateTime'), - 0x00440007: ('SQ', '1', "Product Type Code Sequence", '', 'ProductTypeCodeSequence'), - 0x00440008: ('LO', '1-n', "Product Name", '', 'ProductName'), - 0x00440009: ('LT', '1', "Product Description", '', 'ProductDescription'), - 0x0044000A: ('LO', '1', "Product Lot Identifier", '', 'ProductLotIdentifier'), - 0x0044000B: ('DT', '1', "Product Expiration DateTime", '', 'ProductExpirationDateTime'), - 0x00440010: ('DT', '1', "Substance Administration DateTime", '', 'SubstanceAdministrationDateTime'), - 0x00440011: ('LO', '1', "Substance Administration Notes", '', 'SubstanceAdministrationNotes'), - 0x00440012: ('LO', '1', "Substance Administration Device ID", '', 'SubstanceAdministrationDeviceID'), - 0x00440013: ('SQ', '1', "Product Parameter Sequence", '', 'ProductParameterSequence'), - 0x00440019: ('SQ', '1', "Substance Administration Parameter Sequence", '', 'SubstanceAdministrationParameterSequence'), - 0x00460012: ('LO', '1', "Lens Description", '', 'LensDescription'), - 0x00460014: ('SQ', '1', "Right Lens Sequence", '', 'RightLensSequence'), - 0x00460015: ('SQ', '1', "Left Lens Sequence", '', 'LeftLensSequence'), - 0x00460016: ('SQ', '1', "Unspecified Laterality Lens Sequence", '', 'UnspecifiedLateralityLensSequence'), - 0x00460018: ('SQ', '1', "Cylinder Sequence", '', 'CylinderSequence'), - 0x00460028: ('SQ', '1', "Prism Sequence", '', 'PrismSequence'), - 0x00460030: ('FD', '1', "Horizontal Prism Power", '', 'HorizontalPrismPower'), - 0x00460032: ('CS', '1', "Horizontal Prism Base", '', 'HorizontalPrismBase'), - 0x00460034: ('FD', '1', "Vertical Prism Power", '', 'VerticalPrismPower'), - 0x00460036: ('CS', '1', "Vertical Prism Base", '', 'VerticalPrismBase'), - 0x00460038: ('CS', '1', "Lens Segment Type", '', 'LensSegmentType'), - 0x00460040: ('FD', '1', "Optical Transmittance", '', 'OpticalTransmittance'), - 0x00460042: ('FD', '1', "Channel Width", '', 'ChannelWidth'), - 0x00460044: ('FD', '1', "Pupil Size", '', 'PupilSize'), - 0x00460046: ('FD', '1', "Corneal Size", '', 'CornealSize'), - 0x00460050: ('SQ', '1', "Autorefraction Right Eye Sequence", '', 'AutorefractionRightEyeSequence'), - 0x00460052: ('SQ', '1', "Autorefraction Left Eye Sequence", '', 'AutorefractionLeftEyeSequence'), - 0x00460060: ('FD', '1', "Distance Pupillary Distance", '', 'DistancePupillaryDistance'), - 0x00460062: ('FD', '1', "Near Pupillary Distance", '', 'NearPupillaryDistance'), - 0x00460063: ('FD', '1', "Intermediate Pupillary Distance", '', 'IntermediatePupillaryDistance'), - 0x00460064: ('FD', '1', "Other Pupillary Distance", '', 'OtherPupillaryDistance'), - 0x00460070: ('SQ', '1', "Keratometry Right Eye Sequence", '', 'KeratometryRightEyeSequence'), - 0x00460071: ('SQ', '1', "Keratometry Left Eye Sequence", '', 'KeratometryLeftEyeSequence'), - 0x00460074: ('SQ', '1', "Steep Keratometric Axis Sequence", '', 'SteepKeratometricAxisSequence'), - 0x00460075: ('FD', '1', "Radius of Curvature", '', 'RadiusOfCurvature'), - 0x00460076: ('FD', '1', "Keratometric Power", '', 'KeratometricPower'), - 0x00460077: ('FD', '1', "Keratometric Axis", '', 'KeratometricAxis'), - 0x00460080: ('SQ', '1', "Flat Keratometric Axis Sequence", '', 'FlatKeratometricAxisSequence'), - 0x00460092: ('CS', '1', "Background Color", '', 'BackgroundColor'), - 0x00460094: ('CS', '1', "Optotype", '', 'Optotype'), - 0x00460095: ('CS', '1', "Optotype Presentation", '', 'OptotypePresentation'), - 0x00460097: ('SQ', '1', "Subjective Refraction Right Eye Sequence", '', 'SubjectiveRefractionRightEyeSequence'), - 0x00460098: ('SQ', '1', "Subjective Refraction Left Eye Sequence", '', 'SubjectiveRefractionLeftEyeSequence'), - 0x00460100: ('SQ', '1', "Add Near Sequence", '', 'AddNearSequence'), - 0x00460101: ('SQ', '1', "Add Intermediate Sequence", '', 'AddIntermediateSequence'), - 0x00460102: ('SQ', '1', "Add Other Sequence", '', 'AddOtherSequence'), - 0x00460104: ('FD', '1', "Add Power", '', 'AddPower'), - 0x00460106: ('FD', '1', "Viewing Distance", '', 'ViewingDistance'), - 0x00460121: ('SQ', '1', "Visual Acuity Type Code Sequence", '', 'VisualAcuityTypeCodeSequence'), - 0x00460122: ('SQ', '1', "Visual Acuity Right Eye Sequence", '', 'VisualAcuityRightEyeSequence'), - 0x00460123: ('SQ', '1', "Visual Acuity Left Eye Sequence", '', 'VisualAcuityLeftEyeSequence'), - 0x00460124: ('SQ', '1', "Visual Acuity Both Eyes Open Sequence", '', 'VisualAcuityBothEyesOpenSequence'), - 0x00460125: ('CS', '1', "Viewing Distance Type", '', 'ViewingDistanceType'), - 0x00460135: ('SS', '2', "Visual Acuity Modifiers", '', 'VisualAcuityModifiers'), - 0x00460137: ('FD', '1', "Decimal Visual Acuity", '', 'DecimalVisualAcuity'), - 0x00460139: ('LO', '1', "Optotype Detailed Definition", '', 'OptotypeDetailedDefinition'), - 0x00460145: ('SQ', '1', "Referenced Refractive Measurements Sequence", '', 'ReferencedRefractiveMeasurementsSequence'), - 0x00460146: ('FD', '1', "Sphere Power", '', 'SpherePower'), - 0x00460147: ('FD', '1', "Cylinder Power", '', 'CylinderPower'), - 0x00460201: ('CS', '1', "Corneal Topography Surface", '', 'CornealTopographySurface'), - 0x00460202: ('FL', '2', "Corneal Vertex Location", '', 'CornealVertexLocation'), - 0x00460203: ('FL', '1', "Pupil Centroid X-Coordinate", '', 'PupilCentroidXCoordinate'), - 0x00460204: ('FL', '1', "Pupil Centroid Y-Coordinate", '', 'PupilCentroidYCoordinate'), - 0x00460205: ('FL', '1', "Equivalent Pupil Radius", '', 'EquivalentPupilRadius'), - 0x00460207: ('SQ', '1', "Corneal Topography Map Type Code Sequence", '', 'CornealTopographyMapTypeCodeSequence'), - 0x00460208: ('IS', '2-2n', "Vertices of the Outline of Pupil", '', 'VerticesOfTheOutlineOfPupil'), - 0x00460210: ('SQ', '1', "Corneal Topography Mapping Normals Sequence", '', 'CornealTopographyMappingNormalsSequence'), - 0x00460211: ('SQ', '1', "Maximum Corneal Curvature Sequence", '', 'MaximumCornealCurvatureSequence'), - 0x00460212: ('FL', '1', "Maximum Corneal Curvature", '', 'MaximumCornealCurvature'), - 0x00460213: ('FL', '2', "Maximum Corneal Curvature Location", '', 'MaximumCornealCurvatureLocation'), - 0x00460215: ('SQ', '1', "Minimum Keratometric Sequence", '', 'MinimumKeratometricSequence'), - 0x00460218: ('SQ', '1', "Simulated Keratometric Cylinder Sequence", '', 'SimulatedKeratometricCylinderSequence'), - 0x00460220: ('FL', '1', "Average Corneal Power", '', 'AverageCornealPower'), - 0x00460224: ('FL', '1', "Corneal I-S Value", '', 'CornealISValue'), - 0x00460227: ('FL', '1', "Analyzed Area", '', 'AnalyzedArea'), - 0x00460230: ('FL', '1', "Surface Regularity Index", '', 'SurfaceRegularityIndex'), - 0x00460232: ('FL', '1', "Surface Asymmetry Index", '', 'SurfaceAsymmetryIndex'), - 0x00460234: ('FL', '1', "Corneal Eccentricity Index", '', 'CornealEccentricityIndex'), - 0x00460236: ('FL', '1', "Keratoconus Prediction Index", '', 'KeratoconusPredictionIndex'), - 0x00460238: ('FL', '1', "Decimal Potential Visual Acuity", '', 'DecimalPotentialVisualAcuity'), - 0x00460242: ('CS', '1', "Corneal Topography Map Quality Evaluation", '', 'CornealTopographyMapQualityEvaluation'), - 0x00460244: ('SQ', '1', "Source Image Corneal Processed Data Sequence", '', 'SourceImageCornealProcessedDataSequence'), - 0x00460247: ('FL', '3', "Corneal Point Location", '', 'CornealPointLocation'), - 0x00460248: ('CS', '1', "Corneal Point Estimated", '', 'CornealPointEstimated'), - 0x00460249: ('FL', '1', "Axial Power", '', 'AxialPower'), - 0x00460250: ('FL', '1', "Tangential Power", '', 'TangentialPower'), - 0x00460251: ('FL', '1', "Refractive Power", '', 'RefractivePower'), - 0x00460252: ('FL', '1', "Relative Elevation", '', 'RelativeElevation'), - 0x00460253: ('FL', '1', "Corneal Wavefront", '', 'CornealWavefront'), - 0x00480001: ('FL', '1', "Imaged Volume Width", '', 'ImagedVolumeWidth'), - 0x00480002: ('FL', '1', "Imaged Volume Height", '', 'ImagedVolumeHeight'), - 0x00480003: ('FL', '1', "Imaged Volume Depth", '', 'ImagedVolumeDepth'), - 0x00480006: ('UL', '1', "Total Pixel Matrix Columns", '', 'TotalPixelMatrixColumns'), - 0x00480007: ('UL', '1', "Total Pixel Matrix Rows", '', 'TotalPixelMatrixRows'), - 0x00480008: ('SQ', '1', "Total Pixel Matrix Origin Sequence", '', 'TotalPixelMatrixOriginSequence'), - 0x00480010: ('CS', '1', "Specimen Label in Image", '', 'SpecimenLabelInImage'), - 0x00480011: ('CS', '1', "Focus Method", '', 'FocusMethod'), - 0x00480012: ('CS', '1', "Extended Depth of Field", '', 'ExtendedDepthOfField'), - 0x00480013: ('US', '1', "Number of Focal Planes", '', 'NumberOfFocalPlanes'), - 0x00480014: ('FL', '1', "Distance Between Focal Planes", '', 'DistanceBetweenFocalPlanes'), - 0x00480015: ('US', '3', "Recommended Absent Pixel CIELab Value", '', 'RecommendedAbsentPixelCIELabValue'), - 0x00480100: ('SQ', '1', "Illuminator Type Code Sequence", '', 'IlluminatorTypeCodeSequence'), - 0x00480102: ('DS', '6', "Image Orientation (Slide)", '', 'ImageOrientationSlide'), - 0x00480105: ('SQ', '1', "Optical Path Sequence", '', 'OpticalPathSequence'), - 0x00480106: ('SH', '1', "Optical Path Identifier", '', 'OpticalPathIdentifier'), - 0x00480107: ('ST', '1', "Optical Path Description", '', 'OpticalPathDescription'), - 0x00480108: ('SQ', '1', "Illumination Color Code Sequence", '', 'IlluminationColorCodeSequence'), - 0x00480110: ('SQ', '1', "Specimen Reference Sequence", '', 'SpecimenReferenceSequence'), - 0x00480111: ('DS', '1', "Condenser Lens Power", '', 'CondenserLensPower'), - 0x00480112: ('DS', '1', "Objective Lens Power", '', 'ObjectiveLensPower'), - 0x00480113: ('DS', '1', "Objective Lens Numerical Aperture", '', 'ObjectiveLensNumericalAperture'), - 0x00480120: ('SQ', '1', "Palette Color Lookup Table Sequence", '', 'PaletteColorLookupTableSequence'), - 0x00480200: ('SQ', '1', "Referenced Image Navigation Sequence", '', 'ReferencedImageNavigationSequence'), - 0x00480201: ('US', '2', "Top Left Hand Corner of Localizer Area", '', 'TopLeftHandCornerOfLocalizerArea'), - 0x00480202: ('US', '2', "Bottom Right Hand Corner of Localizer Area", '', 'BottomRightHandCornerOfLocalizerArea'), - 0x00480207: ('SQ', '1', "Optical Path Identification Sequence", '', 'OpticalPathIdentificationSequence'), - 0x0048021A: ('SQ', '1', "Plane Position (Slide) Sequence", '', 'PlanePositionSlideSequence'), - 0x0048021E: ('SL', '1', "Column Position In Total Image Pixel Matrix", '', 'ColumnPositionInTotalImagePixelMatrix'), - 0x0048021F: ('SL', '1', "Row Position In Total Image Pixel Matrix", '', 'RowPositionInTotalImagePixelMatrix'), - 0x00480301: ('CS', '1', "Pixel Origin Interpretation", '', 'PixelOriginInterpretation'), - 0x00500004: ('CS', '1', "Calibration Image", '', 'CalibrationImage'), - 0x00500010: ('SQ', '1', "Device Sequence", '', 'DeviceSequence'), - 0x00500012: ('SQ', '1', "Container Component Type Code Sequence", '', 'ContainerComponentTypeCodeSequence'), - 0x00500013: ('FD', '1', "Container Component Thickness", '', 'ContainerComponentThickness'), - 0x00500014: ('DS', '1', "Device Length", '', 'DeviceLength'), - 0x00500015: ('FD', '1', "Container Component Width", '', 'ContainerComponentWidth'), - 0x00500016: ('DS', '1', "Device Diameter", '', 'DeviceDiameter'), - 0x00500017: ('CS', '1', "Device Diameter Units", '', 'DeviceDiameterUnits'), - 0x00500018: ('DS', '1', "Device Volume", '', 'DeviceVolume'), - 0x00500019: ('DS', '1', "Inter-Marker Distance", '', 'InterMarkerDistance'), - 0x0050001A: ('CS', '1', "Container Component Material", '', 'ContainerComponentMaterial'), - 0x0050001B: ('LO', '1', "Container Component ID", '', 'ContainerComponentID'), - 0x0050001C: ('FD', '1', "Container Component Length", '', 'ContainerComponentLength'), - 0x0050001D: ('FD', '1', "Container Component Diameter", '', 'ContainerComponentDiameter'), - 0x0050001E: ('LO', '1', "Container Component Description", '', 'ContainerComponentDescription'), - 0x00500020: ('LO', '1', "Device Description", '', 'DeviceDescription'), - 0x00520001: ('FL', '1', "Contrast/Bolus Ingredient Percent by Volume", '', 'ContrastBolusIngredientPercentByVolume'), - 0x00520002: ('FD', '1', "OCT Focal Distance", '', 'OCTFocalDistance'), - 0x00520003: ('FD', '1', "Beam Spot Size", '', 'BeamSpotSize'), - 0x00520004: ('FD', '1', "Effective Refractive Index", '', 'EffectiveRefractiveIndex'), - 0x00520006: ('CS', '1', "OCT Acquisition Domain", '', 'OCTAcquisitionDomain'), - 0x00520007: ('FD', '1', "OCT Optical Center Wavelength", '', 'OCTOpticalCenterWavelength'), - 0x00520008: ('FD', '1', "Axial Resolution", '', 'AxialResolution'), - 0x00520009: ('FD', '1', "Ranging Depth", '', 'RangingDepth'), - 0x00520011: ('FD', '1', "A-line Rate", '', 'ALineRate'), - 0x00520012: ('US', '1', "A-lines Per Frame", '', 'ALinesPerFrame'), - 0x00520013: ('FD', '1', "Catheter Rotational Rate", '', 'CatheterRotationalRate'), - 0x00520014: ('FD', '1', "A-line Pixel Spacing", '', 'ALinePixelSpacing'), - 0x00520016: ('SQ', '1', "Mode of Percutaneous Access Sequence", '', 'ModeOfPercutaneousAccessSequence'), - 0x00520025: ('SQ', '1', "Intravascular OCT Frame Type Sequence", '', 'IntravascularOCTFrameTypeSequence'), - 0x00520026: ('CS', '1', "OCT Z Offset Applied", '', 'OCTZOffsetApplied'), - 0x00520027: ('SQ', '1', "Intravascular Frame Content Sequence", '', 'IntravascularFrameContentSequence'), - 0x00520028: ('FD', '1', "Intravascular Longitudinal Distance", '', 'IntravascularLongitudinalDistance'), - 0x00520029: ('SQ', '1', "Intravascular OCT Frame Content Sequence", '', 'IntravascularOCTFrameContentSequence'), - 0x00520030: ('SS', '1', "OCT Z Offset Correction", '', 'OCTZOffsetCorrection'), - 0x00520031: ('CS', '1', "Catheter Direction of Rotation", '', 'CatheterDirectionOfRotation'), - 0x00520033: ('FD', '1', "Seam Line Location", '', 'SeamLineLocation'), - 0x00520034: ('FD', '1', "First A-line Location", '', 'FirstALineLocation'), - 0x00520036: ('US', '1', "Seam Line Index", '', 'SeamLineIndex'), - 0x00520038: ('US', '1', "Number of Padded A-lines", '', 'NumberOfPaddedALines'), - 0x00520039: ('CS', '1', "Interpolation Type", '', 'InterpolationType'), - 0x0052003A: ('CS', '1', "Refractive Index Applied", '', 'RefractiveIndexApplied'), - 0x00540010: ('US', '1-n', "Energy Window Vector", '', 'EnergyWindowVector'), - 0x00540011: ('US', '1', "Number of Energy Windows", '', 'NumberOfEnergyWindows'), - 0x00540012: ('SQ', '1', "Energy Window Information Sequence", '', 'EnergyWindowInformationSequence'), - 0x00540013: ('SQ', '1', "Energy Window Range Sequence", '', 'EnergyWindowRangeSequence'), - 0x00540014: ('DS', '1', "Energy Window Lower Limit", '', 'EnergyWindowLowerLimit'), - 0x00540015: ('DS', '1', "Energy Window Upper Limit", '', 'EnergyWindowUpperLimit'), - 0x00540016: ('SQ', '1', "Radiopharmaceutical Information Sequence", '', 'RadiopharmaceuticalInformationSequence'), - 0x00540017: ('IS', '1', "Residual Syringe Counts", '', 'ResidualSyringeCounts'), - 0x00540018: ('SH', '1', "Energy Window Name", '', 'EnergyWindowName'), - 0x00540020: ('US', '1-n', "Detector Vector", '', 'DetectorVector'), - 0x00540021: ('US', '1', "Number of Detectors", '', 'NumberOfDetectors'), - 0x00540022: ('SQ', '1', "Detector Information Sequence", '', 'DetectorInformationSequence'), - 0x00540030: ('US', '1-n', "Phase Vector", '', 'PhaseVector'), - 0x00540031: ('US', '1', "Number of Phases", '', 'NumberOfPhases'), - 0x00540032: ('SQ', '1', "Phase Information Sequence", '', 'PhaseInformationSequence'), - 0x00540033: ('US', '1', "Number of Frames in Phase", '', 'NumberOfFramesInPhase'), - 0x00540036: ('IS', '1', "Phase Delay", '', 'PhaseDelay'), - 0x00540038: ('IS', '1', "Pause Between Frames", '', 'PauseBetweenFrames'), - 0x00540039: ('CS', '1', "Phase Description", '', 'PhaseDescription'), - 0x00540050: ('US', '1-n', "Rotation Vector", '', 'RotationVector'), - 0x00540051: ('US', '1', "Number of Rotations", '', 'NumberOfRotations'), - 0x00540052: ('SQ', '1', "Rotation Information Sequence", '', 'RotationInformationSequence'), - 0x00540053: ('US', '1', "Number of Frames in Rotation", '', 'NumberOfFramesInRotation'), - 0x00540060: ('US', '1-n', "R-R Interval Vector", '', 'RRIntervalVector'), - 0x00540061: ('US', '1', "Number of R-R Intervals", '', 'NumberOfRRIntervals'), - 0x00540062: ('SQ', '1', "Gated Information Sequence", '', 'GatedInformationSequence'), - 0x00540063: ('SQ', '1', "Data Information Sequence", '', 'DataInformationSequence'), - 0x00540070: ('US', '1-n', "Time Slot Vector", '', 'TimeSlotVector'), - 0x00540071: ('US', '1', "Number of Time Slots", '', 'NumberOfTimeSlots'), - 0x00540072: ('SQ', '1', "Time Slot Information Sequence", '', 'TimeSlotInformationSequence'), - 0x00540073: ('DS', '1', "Time Slot Time", '', 'TimeSlotTime'), - 0x00540080: ('US', '1-n', "Slice Vector", '', 'SliceVector'), - 0x00540081: ('US', '1', "Number of Slices", '', 'NumberOfSlices'), - 0x00540090: ('US', '1-n', "Angular View Vector", '', 'AngularViewVector'), - 0x00540100: ('US', '1-n', "Time Slice Vector", '', 'TimeSliceVector'), - 0x00540101: ('US', '1', "Number of Time Slices", '', 'NumberOfTimeSlices'), - 0x00540200: ('DS', '1', "Start Angle", '', 'StartAngle'), - 0x00540202: ('CS', '1', "Type of Detector Motion", '', 'TypeOfDetectorMotion'), - 0x00540210: ('IS', '1-n', "Trigger Vector", '', 'TriggerVector'), - 0x00540211: ('US', '1', "Number of Triggers in Phase", '', 'NumberOfTriggersInPhase'), - 0x00540220: ('SQ', '1', "View Code Sequence", '', 'ViewCodeSequence'), - 0x00540222: ('SQ', '1', "View Modifier Code Sequence", '', 'ViewModifierCodeSequence'), - 0x00540300: ('SQ', '1', "Radionuclide Code Sequence", '', 'RadionuclideCodeSequence'), - 0x00540302: ('SQ', '1', "Administration Route Code Sequence", '', 'AdministrationRouteCodeSequence'), - 0x00540304: ('SQ', '1', "Radiopharmaceutical Code Sequence", '', 'RadiopharmaceuticalCodeSequence'), - 0x00540306: ('SQ', '1', "Calibration Data Sequence", '', 'CalibrationDataSequence'), - 0x00540308: ('US', '1', "Energy Window Number", '', 'EnergyWindowNumber'), - 0x00540400: ('SH', '1', "Image ID", '', 'ImageID'), - 0x00540410: ('SQ', '1', "Patient Orientation Code Sequence", '', 'PatientOrientationCodeSequence'), - 0x00540412: ('SQ', '1', "Patient Orientation Modifier Code Sequence", '', 'PatientOrientationModifierCodeSequence'), - 0x00540414: ('SQ', '1', "Patient Gantry Relationship Code Sequence", '', 'PatientGantryRelationshipCodeSequence'), - 0x00540500: ('CS', '1', "Slice Progression Direction", '', 'SliceProgressionDirection'), - 0x00541000: ('CS', '2', "Series Type", '', 'SeriesType'), - 0x00541001: ('CS', '1', "Units", '', 'Units'), - 0x00541002: ('CS', '1', "Counts Source", '', 'CountsSource'), - 0x00541004: ('CS', '1', "Reprojection Method", '', 'ReprojectionMethod'), - 0x00541006: ('CS', '1', "SUV Type", '', 'SUVType'), - 0x00541100: ('CS', '1', "Randoms Correction Method", '', 'RandomsCorrectionMethod'), - 0x00541101: ('LO', '1', "Attenuation Correction Method", '', 'AttenuationCorrectionMethod'), - 0x00541102: ('CS', '1', "Decay Correction", '', 'DecayCorrection'), - 0x00541103: ('LO', '1', "Reconstruction Method", '', 'ReconstructionMethod'), - 0x00541104: ('LO', '1', "Detector Lines of Response Used", '', 'DetectorLinesOfResponseUsed'), - 0x00541105: ('LO', '1', "Scatter Correction Method", '', 'ScatterCorrectionMethod'), - 0x00541200: ('DS', '1', "Axial Acceptance", '', 'AxialAcceptance'), - 0x00541201: ('IS', '2', "Axial Mash", '', 'AxialMash'), - 0x00541202: ('IS', '1', "Transverse Mash", '', 'TransverseMash'), - 0x00541203: ('DS', '2', "Detector Element Size", '', 'DetectorElementSize'), - 0x00541210: ('DS', '1', "Coincidence Window Width", '', 'CoincidenceWindowWidth'), - 0x00541220: ('CS', '1-n', "Secondary Counts Type", '', 'SecondaryCountsType'), - 0x00541300: ('DS', '1', "Frame Reference Time", '', 'FrameReferenceTime'), - 0x00541310: ('IS', '1', "Primary (Prompts) Counts Accumulated", '', 'PrimaryPromptsCountsAccumulated'), - 0x00541311: ('IS', '1-n', "Secondary Counts Accumulated", '', 'SecondaryCountsAccumulated'), - 0x00541320: ('DS', '1', "Slice Sensitivity Factor", '', 'SliceSensitivityFactor'), - 0x00541321: ('DS', '1', "Decay Factor", '', 'DecayFactor'), - 0x00541322: ('DS', '1', "Dose Calibration Factor", '', 'DoseCalibrationFactor'), - 0x00541323: ('DS', '1', "Scatter Fraction Factor", '', 'ScatterFractionFactor'), - 0x00541324: ('DS', '1', "Dead Time Factor", '', 'DeadTimeFactor'), - 0x00541330: ('US', '1', "Image Index", '', 'ImageIndex'), - 0x00541400: ('CS', '1-n', "Counts Included", 'Retired', 'CountsIncluded'), - 0x00541401: ('CS', '1', "Dead Time Correction Flag", 'Retired', 'DeadTimeCorrectionFlag'), - 0x00603000: ('SQ', '1', "Histogram Sequence", '', 'HistogramSequence'), - 0x00603002: ('US', '1', "Histogram Number of Bins", '', 'HistogramNumberOfBins'), - 0x00603004: ('US or SS', '1', "Histogram First Bin Value", '', 'HistogramFirstBinValue'), - 0x00603006: ('US or SS', '1', "Histogram Last Bin Value", '', 'HistogramLastBinValue'), - 0x00603008: ('US', '1', "Histogram Bin Width", '', 'HistogramBinWidth'), - 0x00603010: ('LO', '1', "Histogram Explanation", '', 'HistogramExplanation'), - 0x00603020: ('UL', '1-n', "Histogram Data", '', 'HistogramData'), - 0x00620001: ('CS', '1', "Segmentation Type", '', 'SegmentationType'), - 0x00620002: ('SQ', '1', "Segment Sequence", '', 'SegmentSequence'), - 0x00620003: ('SQ', '1', "Segmented Property Category Code Sequence", '', 'SegmentedPropertyCategoryCodeSequence'), - 0x00620004: ('US', '1', "Segment Number", '', 'SegmentNumber'), - 0x00620005: ('LO', '1', "Segment Label", '', 'SegmentLabel'), - 0x00620006: ('ST', '1', "Segment Description", '', 'SegmentDescription'), - 0x00620008: ('CS', '1', "Segment Algorithm Type", '', 'SegmentAlgorithmType'), - 0x00620009: ('LO', '1', "Segment Algorithm Name", '', 'SegmentAlgorithmName'), - 0x0062000A: ('SQ', '1', "Segment Identification Sequence", '', 'SegmentIdentificationSequence'), - 0x0062000B: ('US', '1-n', "Referenced Segment Number", '', 'ReferencedSegmentNumber'), - 0x0062000C: ('US', '1', "Recommended Display Grayscale Value", '', 'RecommendedDisplayGrayscaleValue'), - 0x0062000D: ('US', '3', "Recommended Display CIELab Value", '', 'RecommendedDisplayCIELabValue'), - 0x0062000E: ('US', '1', "Maximum Fractional Value", '', 'MaximumFractionalValue'), - 0x0062000F: ('SQ', '1', "Segmented Property Type Code Sequence", '', 'SegmentedPropertyTypeCodeSequence'), - 0x00620010: ('CS', '1', "Segmentation Fractional Type", '', 'SegmentationFractionalType'), - 0x00620011: ('SQ', '1', "Segmented Property Type Modifier Code Sequence", '', 'SegmentedPropertyTypeModifierCodeSequence'), - 0x00620012: ('SQ', '1', "Used Segments Sequence", '', 'UsedSegmentsSequence'), - 0x00640002: ('SQ', '1', "Deformable Registration Sequence", '', 'DeformableRegistrationSequence'), - 0x00640003: ('UI', '1', "Source Frame of Reference UID", '', 'SourceFrameOfReferenceUID'), - 0x00640005: ('SQ', '1', "Deformable Registration Grid Sequence", '', 'DeformableRegistrationGridSequence'), - 0x00640007: ('UL', '3', "Grid Dimensions", '', 'GridDimensions'), - 0x00640008: ('FD', '3', "Grid Resolution", '', 'GridResolution'), - 0x00640009: ('OF', '1', "Vector Grid Data", '', 'VectorGridData'), - 0x0064000F: ('SQ', '1', "Pre Deformation Matrix Registration Sequence", '', 'PreDeformationMatrixRegistrationSequence'), - 0x00640010: ('SQ', '1', "Post Deformation Matrix Registration Sequence", '', 'PostDeformationMatrixRegistrationSequence'), - 0x00660001: ('UL', '1', "Number of Surfaces", '', 'NumberOfSurfaces'), - 0x00660002: ('SQ', '1', "Surface Sequence", '', 'SurfaceSequence'), - 0x00660003: ('UL', '1', "Surface Number", '', 'SurfaceNumber'), - 0x00660004: ('LT', '1', "Surface Comments", '', 'SurfaceComments'), - 0x00660009: ('CS', '1', "Surface Processing", '', 'SurfaceProcessing'), - 0x0066000A: ('FL', '1', "Surface Processing Ratio", '', 'SurfaceProcessingRatio'), - 0x0066000B: ('LO', '1', "Surface Processing Description", '', 'SurfaceProcessingDescription'), - 0x0066000C: ('FL', '1', "Recommended Presentation Opacity", '', 'RecommendedPresentationOpacity'), - 0x0066000D: ('CS', '1', "Recommended Presentation Type", '', 'RecommendedPresentationType'), - 0x0066000E: ('CS', '1', "Finite Volume", '', 'FiniteVolume'), - 0x00660010: ('CS', '1', "Manifold", '', 'Manifold'), - 0x00660011: ('SQ', '1', "Surface Points Sequence", '', 'SurfacePointsSequence'), - 0x00660012: ('SQ', '1', "Surface Points Normals Sequence", '', 'SurfacePointsNormalsSequence'), - 0x00660013: ('SQ', '1', "Surface Mesh Primitives Sequence", '', 'SurfaceMeshPrimitivesSequence'), - 0x00660015: ('UL', '1', "Number of Surface Points", '', 'NumberOfSurfacePoints'), - 0x00660016: ('OF', '1', "Point Coordinates Data", '', 'PointCoordinatesData'), - 0x00660017: ('FL', '3', "Point Position Accuracy", '', 'PointPositionAccuracy'), - 0x00660018: ('FL', '1', "Mean Point Distance", '', 'MeanPointDistance'), - 0x00660019: ('FL', '1', "Maximum Point Distance", '', 'MaximumPointDistance'), - 0x0066001A: ('FL', '6', "Points Bounding Box Coordinates", '', 'PointsBoundingBoxCoordinates'), - 0x0066001B: ('FL', '3', "Axis of Rotation", '', 'AxisOfRotation'), - 0x0066001C: ('FL', '3', "Center of Rotation", '', 'CenterOfRotation'), - 0x0066001E: ('UL', '1', "Number of Vectors", '', 'NumberOfVectors'), - 0x0066001F: ('US', '1', "Vector Dimensionality", '', 'VectorDimensionality'), - 0x00660020: ('FL', '1-n', "Vector Accuracy", '', 'VectorAccuracy'), - 0x00660021: ('OF', '1', "Vector Coordinate Data", '', 'VectorCoordinateData'), - 0x00660023: ('OW', '1', "Triangle Point Index List", '', 'TrianglePointIndexList'), - 0x00660024: ('OW', '1', "Edge Point Index List", '', 'EdgePointIndexList'), - 0x00660025: ('OW', '1', "Vertex Point Index List", '', 'VertexPointIndexList'), - 0x00660026: ('SQ', '1', "Triangle Strip Sequence", '', 'TriangleStripSequence'), - 0x00660027: ('SQ', '1', "Triangle Fan Sequence", '', 'TriangleFanSequence'), - 0x00660028: ('SQ', '1', "Line Sequence", '', 'LineSequence'), - 0x00660029: ('OW', '1', "Primitive Point Index List", '', 'PrimitivePointIndexList'), - 0x0066002A: ('UL', '1', "Surface Count", '', 'SurfaceCount'), - 0x0066002B: ('SQ', '1', "Referenced Surface Sequence", '', 'ReferencedSurfaceSequence'), - 0x0066002C: ('UL', '1', "Referenced Surface Number", '', 'ReferencedSurfaceNumber'), - 0x0066002D: ('SQ', '1', "Segment Surface Generation Algorithm Identification Sequence", '', 'SegmentSurfaceGenerationAlgorithmIdentificationSequence'), - 0x0066002E: ('SQ', '1', "Segment Surface Source Instance Sequence", '', 'SegmentSurfaceSourceInstanceSequence'), - 0x0066002F: ('SQ', '1', "Algorithm Family Code Sequence", '', 'AlgorithmFamilyCodeSequence'), - 0x00660030: ('SQ', '1', "Algorithm Name Code Sequence", '', 'AlgorithmNameCodeSequence'), - 0x00660031: ('LO', '1', "Algorithm Version", '', 'AlgorithmVersion'), - 0x00660032: ('LT', '1', "Algorithm Parameters", '', 'AlgorithmParameters'), - 0x00660034: ('SQ', '1', "Facet Sequence", '', 'FacetSequence'), - 0x00660035: ('SQ', '1', "Surface Processing Algorithm Identification Sequence", '', 'SurfaceProcessingAlgorithmIdentificationSequence'), - 0x00660036: ('LO', '1', "Algorithm Name", '', 'AlgorithmName'), - 0x00660037: ('FL', '1', "Recommended Point Radius", '', 'RecommendedPointRadius'), - 0x00660038: ('FL', '1', "Recommended Line Thickness", '', 'RecommendedLineThickness'), - 0x00686210: ('LO', '1', "Implant Size", '', 'ImplantSize'), - 0x00686221: ('LO', '1', "Implant Template Version", '', 'ImplantTemplateVersion'), - 0x00686222: ('SQ', '1', "Replaced Implant Template Sequence", '', 'ReplacedImplantTemplateSequence'), - 0x00686223: ('CS', '1', "Implant Type", '', 'ImplantType'), - 0x00686224: ('SQ', '1', "Derivation Implant Template Sequence", '', 'DerivationImplantTemplateSequence'), - 0x00686225: ('SQ', '1', "Original Implant Template Sequence", '', 'OriginalImplantTemplateSequence'), - 0x00686226: ('DT', '1', "Effective DateTime", '', 'EffectiveDateTime'), - 0x00686230: ('SQ', '1', "Implant Target Anatomy Sequence", '', 'ImplantTargetAnatomySequence'), - 0x00686260: ('SQ', '1', "Information From Manufacturer Sequence", '', 'InformationFromManufacturerSequence'), - 0x00686265: ('SQ', '1', "Notification From Manufacturer Sequence", '', 'NotificationFromManufacturerSequence'), - 0x00686270: ('DT', '1', "Information Issue DateTime", '', 'InformationIssueDateTime'), - 0x00686280: ('ST', '1', "Information Summary", '', 'InformationSummary'), - 0x006862A0: ('SQ', '1', "Implant Regulatory Disapproval Code Sequence", '', 'ImplantRegulatoryDisapprovalCodeSequence'), - 0x006862A5: ('FD', '1', "Overall Template Spatial Tolerance", '', 'OverallTemplateSpatialTolerance'), - 0x006862C0: ('SQ', '1', "HPGL Document Sequence", '', 'HPGLDocumentSequence'), - 0x006862D0: ('US', '1', "HPGL Document ID", '', 'HPGLDocumentID'), - 0x006862D5: ('LO', '1', "HPGL Document Label", '', 'HPGLDocumentLabel'), - 0x006862E0: ('SQ', '1', "View Orientation Code Sequence", '', 'ViewOrientationCodeSequence'), - 0x006862F0: ('FD', '9', "View Orientation Modifier", '', 'ViewOrientationModifier'), - 0x006862F2: ('FD', '1', "HPGL Document Scaling", '', 'HPGLDocumentScaling'), - 0x00686300: ('OB', '1', "HPGL Document", '', 'HPGLDocument'), - 0x00686310: ('US', '1', "HPGL Contour Pen Number", '', 'HPGLContourPenNumber'), - 0x00686320: ('SQ', '1', "HPGL Pen Sequence", '', 'HPGLPenSequence'), - 0x00686330: ('US', '1', "HPGL Pen Number", '', 'HPGLPenNumber'), - 0x00686340: ('LO', '1', "HPGL Pen Label", '', 'HPGLPenLabel'), - 0x00686345: ('ST', '1', "HPGL Pen Description", '', 'HPGLPenDescription'), - 0x00686346: ('FD', '2', "Recommended Rotation Point", '', 'RecommendedRotationPoint'), - 0x00686347: ('FD', '4', "Bounding Rectangle", '', 'BoundingRectangle'), - 0x00686350: ('US', '1-n', "Implant Template 3D Model Surface Number", '', 'ImplantTemplate3DModelSurfaceNumber'), - 0x00686360: ('SQ', '1', "Surface Model Description Sequence", '', 'SurfaceModelDescriptionSequence'), - 0x00686380: ('LO', '1', "Surface Model Label", '', 'SurfaceModelLabel'), - 0x00686390: ('FD', '1', "Surface Model Scaling Factor", '', 'SurfaceModelScalingFactor'), - 0x006863A0: ('SQ', '1', "Materials Code Sequence", '', 'MaterialsCodeSequence'), - 0x006863A4: ('SQ', '1', "Coating Materials Code Sequence", '', 'CoatingMaterialsCodeSequence'), - 0x006863A8: ('SQ', '1', "Implant Type Code Sequence", '', 'ImplantTypeCodeSequence'), - 0x006863AC: ('SQ', '1', "Fixation Method Code Sequence", '', 'FixationMethodCodeSequence'), - 0x006863B0: ('SQ', '1', "Mating Feature Sets Sequence", '', 'MatingFeatureSetsSequence'), - 0x006863C0: ('US', '1', "Mating Feature Set ID", '', 'MatingFeatureSetID'), - 0x006863D0: ('LO', '1', "Mating Feature Set Label", '', 'MatingFeatureSetLabel'), - 0x006863E0: ('SQ', '1', "Mating Feature Sequence", '', 'MatingFeatureSequence'), - 0x006863F0: ('US', '1', "Mating Feature ID", '', 'MatingFeatureID'), - 0x00686400: ('SQ', '1', "Mating Feature Degree of Freedom Sequence", '', 'MatingFeatureDegreeOfFreedomSequence'), - 0x00686410: ('US', '1', "Degree of Freedom ID", '', 'DegreeOfFreedomID'), - 0x00686420: ('CS', '1', "Degree of Freedom Type", '', 'DegreeOfFreedomType'), - 0x00686430: ('SQ', '1', "2D Mating Feature Coordinates Sequence", '', 'TwoDMatingFeatureCoordinatesSequence'), - 0x00686440: ('US', '1', "Referenced HPGL Document ID", '', 'ReferencedHPGLDocumentID'), - 0x00686450: ('FD', '2', "2D Mating Point", '', 'TwoDMatingPoint'), - 0x00686460: ('FD', '4', "2D Mating Axes", '', 'TwoDMatingAxes'), - 0x00686470: ('SQ', '1', "2D Degree of Freedom Sequence", '', 'TwoDDegreeOfFreedomSequence'), - 0x00686490: ('FD', '3', "3D Degree of Freedom Axis", '', 'ThreeDDegreeOfFreedomAxis'), - 0x006864A0: ('FD', '2', "Range of Freedom", '', 'RangeOfFreedom'), - 0x006864C0: ('FD', '3', "3D Mating Point", '', 'ThreeDMatingPoint'), - 0x006864D0: ('FD', '9', "3D Mating Axes", '', 'ThreeDMatingAxes'), - 0x006864F0: ('FD', '3', "2D Degree of Freedom Axis", '', 'TwoDDegreeOfFreedomAxis'), - 0x00686500: ('SQ', '1', "Planning Landmark Point Sequence", '', 'PlanningLandmarkPointSequence'), - 0x00686510: ('SQ', '1', "Planning Landmark Line Sequence", '', 'PlanningLandmarkLineSequence'), - 0x00686520: ('SQ', '1', "Planning Landmark Plane Sequence", '', 'PlanningLandmarkPlaneSequence'), - 0x00686530: ('US', '1', "Planning Landmark ID", '', 'PlanningLandmarkID'), - 0x00686540: ('LO', '1', "Planning Landmark Description", '', 'PlanningLandmarkDescription'), - 0x00686545: ('SQ', '1', "Planning Landmark Identification Code Sequence", '', 'PlanningLandmarkIdentificationCodeSequence'), - 0x00686550: ('SQ', '1', "2D Point Coordinates Sequence", '', 'TwoDPointCoordinatesSequence'), - 0x00686560: ('FD', '2', "2D Point Coordinates", '', 'TwoDPointCoordinates'), - 0x00686590: ('FD', '3', "3D Point Coordinates", '', 'ThreeDPointCoordinates'), - 0x006865A0: ('SQ', '1', "2D Line Coordinates Sequence", '', 'TwoDLineCoordinatesSequence'), - 0x006865B0: ('FD', '4', "2D Line Coordinates", '', 'TwoDLineCoordinates'), - 0x006865D0: ('FD', '6', "3D Line Coordinates", '', 'ThreeDLineCoordinates'), - 0x006865E0: ('SQ', '1', "2D Plane Coordinates Sequence", '', 'TwoDPlaneCoordinatesSequence'), - 0x006865F0: ('FD', '4', "2D Plane Intersection", '', 'TwoDPlaneIntersection'), - 0x00686610: ('FD', '3', "3D Plane Origin", '', 'ThreeDPlaneOrigin'), - 0x00686620: ('FD', '3', "3D Plane Normal", '', 'ThreeDPlaneNormal'), - 0x00700001: ('SQ', '1', "Graphic Annotation Sequence", '', 'GraphicAnnotationSequence'), - 0x00700002: ('CS', '1', "Graphic Layer", '', 'GraphicLayer'), - 0x00700003: ('CS', '1', "Bounding Box Annotation Units", '', 'BoundingBoxAnnotationUnits'), - 0x00700004: ('CS', '1', "Anchor Point Annotation Units", '', 'AnchorPointAnnotationUnits'), - 0x00700005: ('CS', '1', "Graphic Annotation Units", '', 'GraphicAnnotationUnits'), - 0x00700006: ('ST', '1', "Unformatted Text Value", '', 'UnformattedTextValue'), - 0x00700008: ('SQ', '1', "Text Object Sequence", '', 'TextObjectSequence'), - 0x00700009: ('SQ', '1', "Graphic Object Sequence", '', 'GraphicObjectSequence'), - 0x00700010: ('FL', '2', "Bounding Box Top Left Hand Corner", '', 'BoundingBoxTopLeftHandCorner'), - 0x00700011: ('FL', '2', "Bounding Box Bottom Right Hand Corner", '', 'BoundingBoxBottomRightHandCorner'), - 0x00700012: ('CS', '1', "Bounding Box Text Horizontal Justification", '', 'BoundingBoxTextHorizontalJustification'), - 0x00700014: ('FL', '2', "Anchor Point", '', 'AnchorPoint'), - 0x00700015: ('CS', '1', "Anchor Point Visibility", '', 'AnchorPointVisibility'), - 0x00700020: ('US', '1', "Graphic Dimensions", '', 'GraphicDimensions'), - 0x00700021: ('US', '1', "Number of Graphic Points", '', 'NumberOfGraphicPoints'), - 0x00700022: ('FL', '2-n', "Graphic Data", '', 'GraphicData'), - 0x00700023: ('CS', '1', "Graphic Type", '', 'GraphicType'), - 0x00700024: ('CS', '1', "Graphic Filled", '', 'GraphicFilled'), - 0x00700040: ('IS', '1', "Image Rotation (Retired)", 'Retired', 'ImageRotationRetired'), - 0x00700041: ('CS', '1', "Image Horizontal Flip", '', 'ImageHorizontalFlip'), - 0x00700042: ('US', '1', "Image Rotation", '', 'ImageRotation'), - 0x00700050: ('US', '2', "Displayed Area Top Left Hand Corner (Trial)", 'Retired', 'DisplayedAreaTopLeftHandCornerTrial'), - 0x00700051: ('US', '2', "Displayed Area Bottom Right Hand Corner (Trial)", 'Retired', 'DisplayedAreaBottomRightHandCornerTrial'), - 0x00700052: ('SL', '2', "Displayed Area Top Left Hand Corner", '', 'DisplayedAreaTopLeftHandCorner'), - 0x00700053: ('SL', '2', "Displayed Area Bottom Right Hand Corner", '', 'DisplayedAreaBottomRightHandCorner'), - 0x0070005A: ('SQ', '1', "Displayed Area Selection Sequence", '', 'DisplayedAreaSelectionSequence'), - 0x00700060: ('SQ', '1', "Graphic Layer Sequence", '', 'GraphicLayerSequence'), - 0x00700062: ('IS', '1', "Graphic Layer Order", '', 'GraphicLayerOrder'), - 0x00700066: ('US', '1', "Graphic Layer Recommended Display Grayscale Value", '', 'GraphicLayerRecommendedDisplayGrayscaleValue'), - 0x00700067: ('US', '3', "Graphic Layer Recommended Display RGB Value", 'Retired', 'GraphicLayerRecommendedDisplayRGBValue'), - 0x00700068: ('LO', '1', "Graphic Layer Description", '', 'GraphicLayerDescription'), - 0x00700080: ('CS', '1', "Content Label", '', 'ContentLabel'), - 0x00700081: ('LO', '1', "Content Description", '', 'ContentDescription'), - 0x00700082: ('DA', '1', "Presentation Creation Date", '', 'PresentationCreationDate'), - 0x00700083: ('TM', '1', "Presentation Creation Time", '', 'PresentationCreationTime'), - 0x00700084: ('PN', '1', "Content Creator's Name", '', 'ContentCreatorName'), - 0x00700086: ('SQ', '1', "Content Creator's Identification Code Sequence", '', 'ContentCreatorIdentificationCodeSequence'), - 0x00700087: ('SQ', '1', "Alternate Content Description Sequence", '', 'AlternateContentDescriptionSequence'), - 0x00700100: ('CS', '1', "Presentation Size Mode", '', 'PresentationSizeMode'), - 0x00700101: ('DS', '2', "Presentation Pixel Spacing", '', 'PresentationPixelSpacing'), - 0x00700102: ('IS', '2', "Presentation Pixel Aspect Ratio", '', 'PresentationPixelAspectRatio'), - 0x00700103: ('FL', '1', "Presentation Pixel Magnification Ratio", '', 'PresentationPixelMagnificationRatio'), - 0x00700207: ('LO', '1', "Graphic Group Label", '', 'GraphicGroupLabel'), - 0x00700208: ('ST', '1', "Graphic Group Description", '', 'GraphicGroupDescription'), - 0x00700209: ('SQ', '1', "Compound Graphic Sequence", '', 'CompoundGraphicSequence'), - 0x00700226: ('UL', '1', "Compound Graphic Instance ID", '', 'CompoundGraphicInstanceID'), - 0x00700227: ('LO', '1', "Font Name", '', 'FontName'), - 0x00700228: ('CS', '1', "Font Name Type", '', 'FontNameType'), - 0x00700229: ('LO', '1', "CSS Font Name", '', 'CSSFontName'), - 0x00700230: ('FD', '1', "Rotation Angle", '', 'RotationAngle'), - 0x00700231: ('SQ', '1', "Text Style Sequence", '', 'TextStyleSequence'), - 0x00700232: ('SQ', '1', "Line Style Sequence", '', 'LineStyleSequence'), - 0x00700233: ('SQ', '1', "Fill Style Sequence", '', 'FillStyleSequence'), - 0x00700234: ('SQ', '1', "Graphic Group Sequence", '', 'GraphicGroupSequence'), - 0x00700241: ('US', '3', "Text Color CIELab Value", '', 'TextColorCIELabValue'), - 0x00700242: ('CS', '1', "Horizontal Alignment", '', 'HorizontalAlignment'), - 0x00700243: ('CS', '1', "Vertical Alignment", '', 'VerticalAlignment'), - 0x00700244: ('CS', '1', "Shadow Style", '', 'ShadowStyle'), - 0x00700245: ('FL', '1', "Shadow Offset X", '', 'ShadowOffsetX'), - 0x00700246: ('FL', '1', "Shadow Offset Y", '', 'ShadowOffsetY'), - 0x00700247: ('US', '3', "Shadow Color CIELab Value", '', 'ShadowColorCIELabValue'), - 0x00700248: ('CS', '1', "Underlined", '', 'Underlined'), - 0x00700249: ('CS', '1', "Bold", '', 'Bold'), - 0x00700250: ('CS', '1', "Italic", '', 'Italic'), - 0x00700251: ('US', '3', "Pattern On Color CIELab Value", '', 'PatternOnColorCIELabValue'), - 0x00700252: ('US', '3', "Pattern Off Color CIELab Value", '', 'PatternOffColorCIELabValue'), - 0x00700253: ('FL', '1', "Line Thickness", '', 'LineThickness'), - 0x00700254: ('CS', '1', "Line Dashing Style", '', 'LineDashingStyle'), - 0x00700255: ('UL', '1', "Line Pattern", '', 'LinePattern'), - 0x00700256: ('OB', '1', "Fill Pattern", '', 'FillPattern'), - 0x00700257: ('CS', '1', "Fill Mode", '', 'FillMode'), - 0x00700258: ('FL', '1', "Shadow Opacity", '', 'ShadowOpacity'), - 0x00700261: ('FL', '1', "Gap Length", '', 'GapLength'), - 0x00700262: ('FL', '1', "Diameter of Visibility", '', 'DiameterOfVisibility'), - 0x00700273: ('FL', '2', "Rotation Point", '', 'RotationPoint'), - 0x00700274: ('CS', '1', "Tick Alignment", '', 'TickAlignment'), - 0x00700278: ('CS', '1', "Show Tick Label", '', 'ShowTickLabel'), - 0x00700279: ('CS', '1', "Tick Label Alignment", '', 'TickLabelAlignment'), - 0x00700282: ('CS', '1', "Compound Graphic Units", '', 'CompoundGraphicUnits'), - 0x00700284: ('FL', '1', "Pattern On Opacity", '', 'PatternOnOpacity'), - 0x00700285: ('FL', '1', "Pattern Off Opacity", '', 'PatternOffOpacity'), - 0x00700287: ('SQ', '1', "Major Ticks Sequence", '', 'MajorTicksSequence'), - 0x00700288: ('FL', '1', "Tick Position", '', 'TickPosition'), - 0x00700289: ('SH', '1', "Tick Label", '', 'TickLabel'), - 0x00700294: ('CS', '1', "Compound Graphic Type", '', 'CompoundGraphicType'), - 0x00700295: ('UL', '1', "Graphic Group ID", '', 'GraphicGroupID'), - 0x00700306: ('CS', '1', "Shape Type", '', 'ShapeType'), - 0x00700308: ('SQ', '1', "Registration Sequence", '', 'RegistrationSequence'), - 0x00700309: ('SQ', '1', "Matrix Registration Sequence", '', 'MatrixRegistrationSequence'), - 0x0070030A: ('SQ', '1', "Matrix Sequence", '', 'MatrixSequence'), - 0x0070030C: ('CS', '1', "Frame of Reference Transformation Matrix Type", '', 'FrameOfReferenceTransformationMatrixType'), - 0x0070030D: ('SQ', '1', "Registration Type Code Sequence", '', 'RegistrationTypeCodeSequence'), - 0x0070030F: ('ST', '1', "Fiducial Description", '', 'FiducialDescription'), - 0x00700310: ('SH', '1', "Fiducial Identifier", '', 'FiducialIdentifier'), - 0x00700311: ('SQ', '1', "Fiducial Identifier Code Sequence", '', 'FiducialIdentifierCodeSequence'), - 0x00700312: ('FD', '1', "Contour Uncertainty Radius", '', 'ContourUncertaintyRadius'), - 0x00700314: ('SQ', '1', "Used Fiducials Sequence", '', 'UsedFiducialsSequence'), - 0x00700318: ('SQ', '1', "Graphic Coordinates Data Sequence", '', 'GraphicCoordinatesDataSequence'), - 0x0070031A: ('UI', '1', "Fiducial UID", '', 'FiducialUID'), - 0x0070031C: ('SQ', '1', "Fiducial Set Sequence", '', 'FiducialSetSequence'), - 0x0070031E: ('SQ', '1', "Fiducial Sequence", '', 'FiducialSequence'), - 0x00700401: ('US', '3', "Graphic Layer Recommended Display CIELab Value", '', 'GraphicLayerRecommendedDisplayCIELabValue'), - 0x00700402: ('SQ', '1', "Blending Sequence", '', 'BlendingSequence'), - 0x00700403: ('FL', '1', "Relative Opacity", '', 'RelativeOpacity'), - 0x00700404: ('SQ', '1', "Referenced Spatial Registration Sequence", '', 'ReferencedSpatialRegistrationSequence'), - 0x00700405: ('CS', '1', "Blending Position", '', 'BlendingPosition'), - 0x00720002: ('SH', '1', "Hanging Protocol Name", '', 'HangingProtocolName'), - 0x00720004: ('LO', '1', "Hanging Protocol Description", '', 'HangingProtocolDescription'), - 0x00720006: ('CS', '1', "Hanging Protocol Level", '', 'HangingProtocolLevel'), - 0x00720008: ('LO', '1', "Hanging Protocol Creator", '', 'HangingProtocolCreator'), - 0x0072000A: ('DT', '1', "Hanging Protocol Creation DateTime", '', 'HangingProtocolCreationDateTime'), - 0x0072000C: ('SQ', '1', "Hanging Protocol Definition Sequence", '', 'HangingProtocolDefinitionSequence'), - 0x0072000E: ('SQ', '1', "Hanging Protocol User Identification Code Sequence", '', 'HangingProtocolUserIdentificationCodeSequence'), - 0x00720010: ('LO', '1', "Hanging Protocol User Group Name", '', 'HangingProtocolUserGroupName'), - 0x00720012: ('SQ', '1', "Source Hanging Protocol Sequence", '', 'SourceHangingProtocolSequence'), - 0x00720014: ('US', '1', "Number of Priors Referenced", '', 'NumberOfPriorsReferenced'), - 0x00720020: ('SQ', '1', "Image Sets Sequence", '', 'ImageSetsSequence'), - 0x00720022: ('SQ', '1', "Image Set Selector Sequence", '', 'ImageSetSelectorSequence'), - 0x00720024: ('CS', '1', "Image Set Selector Usage Flag", '', 'ImageSetSelectorUsageFlag'), - 0x00720026: ('AT', '1', "Selector Attribute", '', 'SelectorAttribute'), - 0x00720028: ('US', '1', "Selector Value Number", '', 'SelectorValueNumber'), - 0x00720030: ('SQ', '1', "Time Based Image Sets Sequence", '', 'TimeBasedImageSetsSequence'), - 0x00720032: ('US', '1', "Image Set Number", '', 'ImageSetNumber'), - 0x00720034: ('CS', '1', "Image Set Selector Category", '', 'ImageSetSelectorCategory'), - 0x00720038: ('US', '2', "Relative Time", '', 'RelativeTime'), - 0x0072003A: ('CS', '1', "Relative Time Units", '', 'RelativeTimeUnits'), - 0x0072003C: ('SS', '2', "Abstract Prior Value", '', 'AbstractPriorValue'), - 0x0072003E: ('SQ', '1', "Abstract Prior Code Sequence", '', 'AbstractPriorCodeSequence'), - 0x00720040: ('LO', '1', "Image Set Label", '', 'ImageSetLabel'), - 0x00720050: ('CS', '1', "Selector Attribute VR", '', 'SelectorAttributeVR'), - 0x00720052: ('AT', '1-n', "Selector Sequence Pointer", '', 'SelectorSequencePointer'), - 0x00720054: ('LO', '1-n', "Selector Sequence Pointer Private Creator", '', 'SelectorSequencePointerPrivateCreator'), - 0x00720056: ('LO', '1', "Selector Attribute Private Creator", '', 'SelectorAttributePrivateCreator'), - 0x00720060: ('AT', '1-n', "Selector AT Value", '', 'SelectorATValue'), - 0x00720062: ('CS', '1-n', "Selector CS Value", '', 'SelectorCSValue'), - 0x00720064: ('IS', '1-n', "Selector IS Value", '', 'SelectorISValue'), - 0x00720066: ('LO', '1-n', "Selector LO Value", '', 'SelectorLOValue'), - 0x00720068: ('LT', '1', "Selector LT Value", '', 'SelectorLTValue'), - 0x0072006A: ('PN', '1-n', "Selector PN Value", '', 'SelectorPNValue'), - 0x0072006C: ('SH', '1-n', "Selector SH Value", '', 'SelectorSHValue'), - 0x0072006E: ('ST', '1', "Selector ST Value", '', 'SelectorSTValue'), - 0x00720070: ('UT', '1', "Selector UT Value", '', 'SelectorUTValue'), - 0x00720072: ('DS', '1-n', "Selector DS Value", '', 'SelectorDSValue'), - 0x00720074: ('FD', '1-n', "Selector FD Value", '', 'SelectorFDValue'), - 0x00720076: ('FL', '1-n', "Selector FL Value", '', 'SelectorFLValue'), - 0x00720078: ('UL', '1-n', "Selector UL Value", '', 'SelectorULValue'), - 0x0072007A: ('US', '1-n', "Selector US Value", '', 'SelectorUSValue'), - 0x0072007C: ('SL', '1-n', "Selector SL Value", '', 'SelectorSLValue'), - 0x0072007E: ('SS', '1-n', "Selector SS Value", '', 'SelectorSSValue'), - 0x00720080: ('SQ', '1', "Selector Code Sequence Value", '', 'SelectorCodeSequenceValue'), - 0x00720100: ('US', '1', "Number of Screens", '', 'NumberOfScreens'), - 0x00720102: ('SQ', '1', "Nominal Screen Definition Sequence", '', 'NominalScreenDefinitionSequence'), - 0x00720104: ('US', '1', "Number of Vertical Pixels", '', 'NumberOfVerticalPixels'), - 0x00720106: ('US', '1', "Number of Horizontal Pixels", '', 'NumberOfHorizontalPixels'), - 0x00720108: ('FD', '4', "Display Environment Spatial Position", '', 'DisplayEnvironmentSpatialPosition'), - 0x0072010A: ('US', '1', "Screen Minimum Grayscale Bit Depth", '', 'ScreenMinimumGrayscaleBitDepth'), - 0x0072010C: ('US', '1', "Screen Minimum Color Bit Depth", '', 'ScreenMinimumColorBitDepth'), - 0x0072010E: ('US', '1', "Application Maximum Repaint Time", '', 'ApplicationMaximumRepaintTime'), - 0x00720200: ('SQ', '1', "Display Sets Sequence", '', 'DisplaySetsSequence'), - 0x00720202: ('US', '1', "Display Set Number", '', 'DisplaySetNumber'), - 0x00720203: ('LO', '1', "Display Set Label", '', 'DisplaySetLabel'), - 0x00720204: ('US', '1', "Display Set Presentation Group", '', 'DisplaySetPresentationGroup'), - 0x00720206: ('LO', '1', "Display Set Presentation Group Description", '', 'DisplaySetPresentationGroupDescription'), - 0x00720208: ('CS', '1', "Partial Data Display Handling", '', 'PartialDataDisplayHandling'), - 0x00720210: ('SQ', '1', "Synchronized Scrolling Sequence", '', 'SynchronizedScrollingSequence'), - 0x00720212: ('US', '2-n', "Display Set Scrolling Group", '', 'DisplaySetScrollingGroup'), - 0x00720214: ('SQ', '1', "Navigation Indicator Sequence", '', 'NavigationIndicatorSequence'), - 0x00720216: ('US', '1', "Navigation Display Set", '', 'NavigationDisplaySet'), - 0x00720218: ('US', '1-n', "Reference Display Sets", '', 'ReferenceDisplaySets'), - 0x00720300: ('SQ', '1', "Image Boxes Sequence", '', 'ImageBoxesSequence'), - 0x00720302: ('US', '1', "Image Box Number", '', 'ImageBoxNumber'), - 0x00720304: ('CS', '1', "Image Box Layout Type", '', 'ImageBoxLayoutType'), - 0x00720306: ('US', '1', "Image Box Tile Horizontal Dimension", '', 'ImageBoxTileHorizontalDimension'), - 0x00720308: ('US', '1', "Image Box Tile Vertical Dimension", '', 'ImageBoxTileVerticalDimension'), - 0x00720310: ('CS', '1', "Image Box Scroll Direction", '', 'ImageBoxScrollDirection'), - 0x00720312: ('CS', '1', "Image Box Small Scroll Type", '', 'ImageBoxSmallScrollType'), - 0x00720314: ('US', '1', "Image Box Small Scroll Amount", '', 'ImageBoxSmallScrollAmount'), - 0x00720316: ('CS', '1', "Image Box Large Scroll Type", '', 'ImageBoxLargeScrollType'), - 0x00720318: ('US', '1', "Image Box Large Scroll Amount", '', 'ImageBoxLargeScrollAmount'), - 0x00720320: ('US', '1', "Image Box Overlap Priority", '', 'ImageBoxOverlapPriority'), - 0x00720330: ('FD', '1', "Cine Relative to Real-Time", '', 'CineRelativeToRealTime'), - 0x00720400: ('SQ', '1', "Filter Operations Sequence", '', 'FilterOperationsSequence'), - 0x00720402: ('CS', '1', "Filter-by Category", '', 'FilterByCategory'), - 0x00720404: ('CS', '1', "Filter-by Attribute Presence", '', 'FilterByAttributePresence'), - 0x00720406: ('CS', '1', "Filter-by Operator", '', 'FilterByOperator'), - 0x00720420: ('US', '3', "Structured Display Background CIELab Value", '', 'StructuredDisplayBackgroundCIELabValue'), - 0x00720421: ('US', '3', "Empty Image Box CIELab Value", '', 'EmptyImageBoxCIELabValue'), - 0x00720422: ('SQ', '1', "Structured Display Image Box Sequence", '', 'StructuredDisplayImageBoxSequence'), - 0x00720424: ('SQ', '1', "Structured Display Text Box Sequence", '', 'StructuredDisplayTextBoxSequence'), - 0x00720427: ('SQ', '1', "Referenced First Frame Sequence", '', 'ReferencedFirstFrameSequence'), - 0x00720430: ('SQ', '1', "Image Box Synchronization Sequence", '', 'ImageBoxSynchronizationSequence'), - 0x00720432: ('US', '2-n', "Synchronized Image Box List", '', 'SynchronizedImageBoxList'), - 0x00720434: ('CS', '1', "Type of Synchronization", '', 'TypeOfSynchronization'), - 0x00720500: ('CS', '1', "Blending Operation Type", '', 'BlendingOperationType'), - 0x00720510: ('CS', '1', "Reformatting Operation Type", '', 'ReformattingOperationType'), - 0x00720512: ('FD', '1', "Reformatting Thickness", '', 'ReformattingThickness'), - 0x00720514: ('FD', '1', "Reformatting Interval", '', 'ReformattingInterval'), - 0x00720516: ('CS', '1', "Reformatting Operation Initial View Direction", '', 'ReformattingOperationInitialViewDirection'), - 0x00720520: ('CS', '1-n', "3D Rendering Type", '', 'ThreeDRenderingType'), - 0x00720600: ('SQ', '1', "Sorting Operations Sequence", '', 'SortingOperationsSequence'), - 0x00720602: ('CS', '1', "Sort-by Category", '', 'SortByCategory'), - 0x00720604: ('CS', '1', "Sorting Direction", '', 'SortingDirection'), - 0x00720700: ('CS', '2', "Display Set Patient Orientation", '', 'DisplaySetPatientOrientation'), - 0x00720702: ('CS', '1', "VOI Type", '', 'VOIType'), - 0x00720704: ('CS', '1', "Pseudo-Color Type", '', 'PseudoColorType'), - 0x00720705: ('SQ', '1', "Pseudo-Color Palette Instance Reference Sequence", '', 'PseudoColorPaletteInstanceReferenceSequence'), - 0x00720706: ('CS', '1', "Show Grayscale Inverted", '', 'ShowGrayscaleInverted'), - 0x00720710: ('CS', '1', "Show Image True Size Flag", '', 'ShowImageTrueSizeFlag'), - 0x00720712: ('CS', '1', "Show Graphic Annotation Flag", '', 'ShowGraphicAnnotationFlag'), - 0x00720714: ('CS', '1', "Show Patient Demographics Flag", '', 'ShowPatientDemographicsFlag'), - 0x00720716: ('CS', '1', "Show Acquisition Techniques Flag", '', 'ShowAcquisitionTechniquesFlag'), - 0x00720717: ('CS', '1', "Display Set Horizontal Justification", '', 'DisplaySetHorizontalJustification'), - 0x00720718: ('CS', '1', "Display Set Vertical Justification", '', 'DisplaySetVerticalJustification'), - 0x00740120: ('FD', '1', "Continuation Start Meterset", '', 'ContinuationStartMeterset'), - 0x00740121: ('FD', '1', "Continuation End Meterset", '', 'ContinuationEndMeterset'), - 0x00741000: ('CS', '1', "Procedure Step State", '', 'ProcedureStepState'), - 0x00741002: ('SQ', '1', "Procedure Step Progress Information Sequence", '', 'ProcedureStepProgressInformationSequence'), - 0x00741004: ('DS', '1', "Procedure Step Progress", '', 'ProcedureStepProgress'), - 0x00741006: ('ST', '1', "Procedure Step Progress Description", '', 'ProcedureStepProgressDescription'), - 0x00741008: ('SQ', '1', "Procedure Step Communications URI Sequence", '', 'ProcedureStepCommunicationsURISequence'), - 0x0074100a: ('ST', '1', "Contact URI", '', 'ContactURI'), - 0x0074100c: ('LO', '1', "Contact Display Name", '', 'ContactDisplayName'), - 0x0074100e: ('SQ', '1', "Procedure Step Discontinuation Reason Code Sequence", '', 'ProcedureStepDiscontinuationReasonCodeSequence'), - 0x00741020: ('SQ', '1', "Beam Task Sequence", '', 'BeamTaskSequence'), - 0x00741022: ('CS', '1', "Beam Task Type", '', 'BeamTaskType'), - 0x00741024: ('IS', '1', "Beam Order Index (Trial)", 'Retired', 'BeamOrderIndexTrial'), - 0x00741025: ('CS', '1', "Autosequence Flag", '', 'AutosequenceFlag'), - 0x00741026: ('FD', '1', "Table Top Vertical Adjusted Position", '', 'TableTopVerticalAdjustedPosition'), - 0x00741027: ('FD', '1', "Table Top Longitudinal Adjusted Position", '', 'TableTopLongitudinalAdjustedPosition'), - 0x00741028: ('FD', '1', "Table Top Lateral Adjusted Position", '', 'TableTopLateralAdjustedPosition'), - 0x0074102A: ('FD', '1', "Patient Support Adjusted Angle", '', 'PatientSupportAdjustedAngle'), - 0x0074102B: ('FD', '1', "Table Top Eccentric Adjusted Angle", '', 'TableTopEccentricAdjustedAngle'), - 0x0074102C: ('FD', '1', "Table Top Pitch Adjusted Angle", '', 'TableTopPitchAdjustedAngle'), - 0x0074102D: ('FD', '1', "Table Top Roll Adjusted Angle", '', 'TableTopRollAdjustedAngle'), - 0x00741030: ('SQ', '1', "Delivery Verification Image Sequence", '', 'DeliveryVerificationImageSequence'), - 0x00741032: ('CS', '1', "Verification Image Timing", '', 'VerificationImageTiming'), - 0x00741034: ('CS', '1', "Double Exposure Flag", '', 'DoubleExposureFlag'), - 0x00741036: ('CS', '1', "Double Exposure Ordering", '', 'DoubleExposureOrdering'), - 0x00741038: ('DS', '1', "Double Exposure Meterset (Trial)", 'Retired', 'DoubleExposureMetersetTrial'), - 0x0074103A: ('DS', '4', "Double Exposure Field Delta (Trial)", 'Retired', 'DoubleExposureFieldDeltaTrial'), - 0x00741040: ('SQ', '1', "Related Reference RT Image Sequence", '', 'RelatedReferenceRTImageSequence'), - 0x00741042: ('SQ', '1', "General Machine Verification Sequence", '', 'GeneralMachineVerificationSequence'), - 0x00741044: ('SQ', '1', "Conventional Machine Verification Sequence", '', 'ConventionalMachineVerificationSequence'), - 0x00741046: ('SQ', '1', "Ion Machine Verification Sequence", '', 'IonMachineVerificationSequence'), - 0x00741048: ('SQ', '1', "Failed Attributes Sequence", '', 'FailedAttributesSequence'), - 0x0074104A: ('SQ', '1', "Overridden Attributes Sequence", '', 'OverriddenAttributesSequence'), - 0x0074104C: ('SQ', '1', "Conventional Control Point Verification Sequence", '', 'ConventionalControlPointVerificationSequence'), - 0x0074104E: ('SQ', '1', "Ion Control Point Verification Sequence", '', 'IonControlPointVerificationSequence'), - 0x00741050: ('SQ', '1', "Attribute Occurrence Sequence", '', 'AttributeOccurrenceSequence'), - 0x00741052: ('AT', '1', "Attribute Occurrence Pointer", '', 'AttributeOccurrencePointer'), - 0x00741054: ('UL', '1', "Attribute Item Selector", '', 'AttributeItemSelector'), - 0x00741056: ('LO', '1', "Attribute Occurrence Private Creator", '', 'AttributeOccurrencePrivateCreator'), - 0x00741057: ('IS', '1-n', "Selector Sequence Pointer Items", '', 'SelectorSequencePointerItems'), - 0x00741200: ('CS', '1', "Scheduled Procedure Step Priority", '', 'ScheduledProcedureStepPriority'), - 0x00741202: ('LO', '1', "Worklist Label", '', 'WorklistLabel'), - 0x00741204: ('LO', '1', "Procedure Step Label", '', 'ProcedureStepLabel'), - 0x00741210: ('SQ', '1', "Scheduled Processing Parameters Sequence", '', 'ScheduledProcessingParametersSequence'), - 0x00741212: ('SQ', '1', "Performed Processing Parameters Sequence", '', 'PerformedProcessingParametersSequence'), - 0x00741216: ('SQ', '1', "Unified Procedure Step Performed Procedure Sequence", '', 'UnifiedProcedureStepPerformedProcedureSequence'), - 0x00741220: ('SQ', '1', "Related Procedure Step Sequence", 'Retired', 'RelatedProcedureStepSequence'), - 0x00741222: ('LO', '1', "Procedure Step Relationship Type", 'Retired', 'ProcedureStepRelationshipType'), - 0x00741224: ('SQ', '1', "Replaced Procedure Step Sequence", '', 'ReplacedProcedureStepSequence'), - 0x00741230: ('LO', '1', "Deletion Lock", '', 'DeletionLock'), - 0x00741234: ('AE', '1', "Receiving AE", '', 'ReceivingAE'), - 0x00741236: ('AE', '1', "Requesting AE", '', 'RequestingAE'), - 0x00741238: ('LT', '1', "Reason for Cancellation", '', 'ReasonForCancellation'), - 0x00741242: ('CS', '1', "SCP Status", '', 'SCPStatus'), - 0x00741244: ('CS', '1', "Subscription List Status", '', 'SubscriptionListStatus'), - 0x00741246: ('CS', '1', "Unified Procedure StepList Status", '', 'UnifiedProcedureStepListStatus'), - 0x00741324: ('UL', '1', "Beam Order Index", '', 'BeamOrderIndex'), - 0x00741338: ('FD', '1', "Double Exposure Meterset", '', 'DoubleExposureMeterset'), - 0x0074133A: ('FD', '4', "Double Exposure Field Delta", '', 'DoubleExposureFieldDelta'), - 0x00760001: ('LO', '1', "Implant Assembly Template Name", '', 'ImplantAssemblyTemplateName'), - 0x00760003: ('LO', '1', "Implant Assembly Template Issuer", '', 'ImplantAssemblyTemplateIssuer'), - 0x00760006: ('LO', '1', "Implant Assembly Template Version", '', 'ImplantAssemblyTemplateVersion'), - 0x00760008: ('SQ', '1', "Replaced Implant Assembly Template Sequence", '', 'ReplacedImplantAssemblyTemplateSequence'), - 0x0076000A: ('CS', '1', "Implant Assembly Template Type", '', 'ImplantAssemblyTemplateType'), - 0x0076000C: ('SQ', '1', "Original Implant Assembly Template Sequence", '', 'OriginalImplantAssemblyTemplateSequence'), - 0x0076000E: ('SQ', '1', "Derivation Implant Assembly Template Sequence", '', 'DerivationImplantAssemblyTemplateSequence'), - 0x00760010: ('SQ', '1', "Implant Assembly Template Target Anatomy Sequence", '', 'ImplantAssemblyTemplateTargetAnatomySequence'), - 0x00760020: ('SQ', '1', "Procedure Type Code Sequence", '', 'ProcedureTypeCodeSequence'), - 0x00760030: ('LO', '1', "Surgical Technique", '', 'SurgicalTechnique'), - 0x00760032: ('SQ', '1', "Component Types Sequence", '', 'ComponentTypesSequence'), - 0x00760034: ('CS', '1', "Component Type Code Sequence", '', 'ComponentTypeCodeSequence'), - 0x00760036: ('CS', '1', "Exclusive Component Type", '', 'ExclusiveComponentType'), - 0x00760038: ('CS', '1', "Mandatory Component Type", '', 'MandatoryComponentType'), - 0x00760040: ('SQ', '1', "Component Sequence", '', 'ComponentSequence'), - 0x00760055: ('US', '1', "Component ID", '', 'ComponentID'), - 0x00760060: ('SQ', '1', "Component Assembly Sequence", '', 'ComponentAssemblySequence'), - 0x00760070: ('US', '1', "Component 1 Referenced ID", '', 'Component1ReferencedID'), - 0x00760080: ('US', '1', "Component 1 Referenced Mating Feature Set ID", '', 'Component1ReferencedMatingFeatureSetID'), - 0x00760090: ('US', '1', "Component 1 Referenced Mating Feature ID", '', 'Component1ReferencedMatingFeatureID'), - 0x007600A0: ('US', '1', "Component 2 Referenced ID", '', 'Component2ReferencedID'), - 0x007600B0: ('US', '1', "Component 2 Referenced Mating Feature Set ID", '', 'Component2ReferencedMatingFeatureSetID'), - 0x007600C0: ('US', '1', "Component 2 Referenced Mating Feature ID", '', 'Component2ReferencedMatingFeatureID'), - 0x00780001: ('LO', '1', "Implant Template Group Name", '', 'ImplantTemplateGroupName'), - 0x00780010: ('ST', '1', "Implant Template Group Description", '', 'ImplantTemplateGroupDescription'), - 0x00780020: ('LO', '1', "Implant Template Group Issuer", '', 'ImplantTemplateGroupIssuer'), - 0x00780024: ('LO', '1', "Implant Template Group Version", '', 'ImplantTemplateGroupVersion'), - 0x00780026: ('SQ', '1', "Replaced Implant Template Group Sequence", '', 'ReplacedImplantTemplateGroupSequence'), - 0x00780028: ('SQ', '1', "Implant Template Group Target Anatomy Sequence", '', 'ImplantTemplateGroupTargetAnatomySequence'), - 0x0078002A: ('SQ', '1', "Implant Template Group Members Sequence", '', 'ImplantTemplateGroupMembersSequence'), - 0x0078002E: ('US', '1', "Implant Template Group Member ID", '', 'ImplantTemplateGroupMemberID'), - 0x00780050: ('FD', '3', "3D Implant Template Group Member Matching Point", '', 'ThreeDImplantTemplateGroupMemberMatchingPoint'), - 0x00780060: ('FD', '9', "3D Implant Template Group Member Matching Axes", '', 'ThreeDImplantTemplateGroupMemberMatchingAxes'), - 0x00780070: ('SQ', '1', "Implant Template Group Member Matching 2D Coordinates Sequence", '', 'ImplantTemplateGroupMemberMatching2DCoordinatesSequence'), - 0x00780090: ('FD', '2', "2D Implant Template Group Member Matching Point", '', 'TwoDImplantTemplateGroupMemberMatchingPoint'), - 0x007800A0: ('FD', '4', "2D Implant Template Group Member Matching Axes", '', 'TwoDImplantTemplateGroupMemberMatchingAxes'), - 0x007800B0: ('SQ', '1', "Implant Template Group Variation Dimension Sequence", '', 'ImplantTemplateGroupVariationDimensionSequence'), - 0x007800B2: ('LO', '1', "Implant Template Group Variation Dimension Name", '', 'ImplantTemplateGroupVariationDimensionName'), - 0x007800B4: ('SQ', '1', "Implant Template Group Variation Dimension Rank Sequence", '', 'ImplantTemplateGroupVariationDimensionRankSequence'), - 0x007800B6: ('US', '1', "Referenced Implant Template Group Member ID", '', 'ReferencedImplantTemplateGroupMemberID'), - 0x007800B8: ('US', '1', "Implant Template Group Variation Dimension Rank", '', 'ImplantTemplateGroupVariationDimensionRank'), - 0x00800001: ('SQ', '1', "Surface Scan Acquisition Type Code Sequence", '', 'SurfaceScanAcquisitionTypeCodeSequence'), - 0x00800002: ('SQ', '1', "Surface Scan Mode Code Sequence", '', 'SurfaceScanModeCodeSequence'), - 0x00800003: ('SQ', '1', "Registration Method Code Sequence", '', 'RegistrationMethodCodeSequence'), - 0x00800004: ('FD', '1', "Shot Duration Time", '', 'ShotDurationTime'), - 0x00800005: ('FD', '1', "Shot Offset Time", '', 'ShotOffsetTime'), - 0x00800006: ('US', '1-n', "Surface Point Presentation Value Data", '', 'SurfacePointPresentationValueData'), - 0x00800007: ('US', '3-3n', "Surface Point Color CIELab Value Data", '', 'SurfacePointColorCIELabValueData'), - 0x00800008: ('SQ', '1', "UV Mapping Sequence", '', 'UVMappingSequence'), - 0x00800009: ('SH', '1', "Texture Label", '', 'TextureLabel'), - 0x00800010: ('OF', '1-n', "U Value Data", '', 'UValueData'), - 0x00800011: ('OF', '1-n', "V Value Data", '', 'VValueData'), - 0x00800012: ('SQ', '1', "Referenced Texture Sequence", '', 'ReferencedTextureSequence'), - 0x00800013: ('SQ', '1', "Referenced Surface Data Sequence", '', 'ReferencedSurfaceDataSequence'), - 0x00880130: ('SH', '1', "Storage Media File-set ID", '', 'StorageMediaFileSetID'), - 0x00880140: ('UI', '1', "Storage Media File-set UID", '', 'StorageMediaFileSetUID'), - 0x00880200: ('SQ', '1', "Icon Image Sequence", '', 'IconImageSequence'), - 0x00880904: ('LO', '1', "Topic Title", 'Retired', 'TopicTitle'), - 0x00880906: ('ST', '1', "Topic Subject", 'Retired', 'TopicSubject'), - 0x00880910: ('LO', '1', "Topic Author", 'Retired', 'TopicAuthor'), - 0x00880912: ('LO', '1-32', "Topic Keywords", 'Retired', 'TopicKeywords'), - 0x01000410: ('CS', '1', "SOP Instance Status", '', 'SOPInstanceStatus'), - 0x01000420: ('DT', '1', "SOP Authorization DateTime", '', 'SOPAuthorizationDateTime'), - 0x01000424: ('LT', '1', "SOP Authorization Comment", '', 'SOPAuthorizationComment'), - 0x01000426: ('LO', '1', "Authorization Equipment Certification Number", '', 'AuthorizationEquipmentCertificationNumber'), - 0x04000005: ('US', '1', "MAC ID Number", '', 'MACIDNumber'), - 0x04000010: ('UI', '1', "MAC Calculation Transfer Syntax UID", '', 'MACCalculationTransferSyntaxUID'), - 0x04000015: ('CS', '1', "MAC Algorithm", '', 'MACAlgorithm'), - 0x04000020: ('AT', '1-n', "Data Elements Signed", '', 'DataElementsSigned'), - 0x04000100: ('UI', '1', "Digital Signature UID", '', 'DigitalSignatureUID'), - 0x04000105: ('DT', '1', "Digital Signature DateTime", '', 'DigitalSignatureDateTime'), - 0x04000110: ('CS', '1', "Certificate Type", '', 'CertificateType'), - 0x04000115: ('OB', '1', "Certificate of Signer", '', 'CertificateOfSigner'), - 0x04000120: ('OB', '1', "Signature", '', 'Signature'), - 0x04000305: ('CS', '1', "Certified Timestamp Type", '', 'CertifiedTimestampType'), - 0x04000310: ('OB', '1', "Certified Timestamp", '', 'CertifiedTimestamp'), - 0x04000401: ('SQ', '1', "Digital Signature Purpose Code Sequence", '', 'DigitalSignaturePurposeCodeSequence'), - 0x04000402: ('SQ', '1', "Referenced Digital Signature Sequence", '', 'ReferencedDigitalSignatureSequence'), - 0x04000403: ('SQ', '1', "Referenced SOP Instance MAC Sequence", '', 'ReferencedSOPInstanceMACSequence'), - 0x04000404: ('OB', '1', "MAC", '', 'MAC'), - 0x04000500: ('SQ', '1', "Encrypted Attributes Sequence", '', 'EncryptedAttributesSequence'), - 0x04000510: ('UI', '1', "Encrypted Content Transfer Syntax UID", '', 'EncryptedContentTransferSyntaxUID'), - 0x04000520: ('OB', '1', "Encrypted Content", '', 'EncryptedContent'), - 0x04000550: ('SQ', '1', "Modified Attributes Sequence", '', 'ModifiedAttributesSequence'), - 0x04000561: ('SQ', '1', "Original Attributes Sequence", '', 'OriginalAttributesSequence'), - 0x04000562: ('DT', '1', "Attribute Modification DateTime", '', 'AttributeModificationDateTime'), - 0x04000563: ('LO', '1', "Modifying System", '', 'ModifyingSystem'), - 0x04000564: ('LO', '1', "Source of Previous Values", '', 'SourceOfPreviousValues'), - 0x04000565: ('CS', '1', "Reason for the Attribute Modification", '', 'ReasonForTheAttributeModification'), - 0x20000010: ('IS', '1', "Number of Copies", '', 'NumberOfCopies'), - 0x2000001E: ('SQ', '1', "Printer Configuration Sequence", '', 'PrinterConfigurationSequence'), - 0x20000020: ('CS', '1', "Print Priority", '', 'PrintPriority'), - 0x20000030: ('CS', '1', "Medium Type", '', 'MediumType'), - 0x20000040: ('CS', '1', "Film Destination", '', 'FilmDestination'), - 0x20000050: ('LO', '1', "Film Session Label", '', 'FilmSessionLabel'), - 0x20000060: ('IS', '1', "Memory Allocation", '', 'MemoryAllocation'), - 0x20000061: ('IS', '1', "Maximum Memory Allocation", '', 'MaximumMemoryAllocation'), - 0x20000062: ('CS', '1', "Color Image Printing Flag", 'Retired', 'ColorImagePrintingFlag'), - 0x20000063: ('CS', '1', "Collation Flag", 'Retired', 'CollationFlag'), - 0x20000065: ('CS', '1', "Annotation Flag", 'Retired', 'AnnotationFlag'), - 0x20000067: ('CS', '1', "Image Overlay Flag", 'Retired', 'ImageOverlayFlag'), - 0x20000069: ('CS', '1', "Presentation LUT Flag", 'Retired', 'PresentationLUTFlag'), - 0x2000006A: ('CS', '1', "Image Box Presentation LUT Flag", 'Retired', 'ImageBoxPresentationLUTFlag'), - 0x200000A0: ('US', '1', "Memory Bit Depth", '', 'MemoryBitDepth'), - 0x200000A1: ('US', '1', "Printing Bit Depth", '', 'PrintingBitDepth'), - 0x200000A2: ('SQ', '1', "Media Installed Sequence", '', 'MediaInstalledSequence'), - 0x200000A4: ('SQ', '1', "Other Media Available Sequence", '', 'OtherMediaAvailableSequence'), - 0x200000A8: ('SQ', '1', "Supported Image Display Formats Sequence", '', 'SupportedImageDisplayFormatsSequence'), - 0x20000500: ('SQ', '1', "Referenced Film Box Sequence", '', 'ReferencedFilmBoxSequence'), - 0x20000510: ('SQ', '1', "Referenced Stored Print Sequence", 'Retired', 'ReferencedStoredPrintSequence'), - 0x20100010: ('ST', '1', "Image Display Format", '', 'ImageDisplayFormat'), - 0x20100030: ('CS', '1', "Annotation Display Format ID", '', 'AnnotationDisplayFormatID'), - 0x20100040: ('CS', '1', "Film Orientation", '', 'FilmOrientation'), - 0x20100050: ('CS', '1', "Film Size ID", '', 'FilmSizeID'), - 0x20100052: ('CS', '1', "Printer Resolution ID", '', 'PrinterResolutionID'), - 0x20100054: ('CS', '1', "Default Printer Resolution ID", '', 'DefaultPrinterResolutionID'), - 0x20100060: ('CS', '1', "Magnification Type", '', 'MagnificationType'), - 0x20100080: ('CS', '1', "Smoothing Type", '', 'SmoothingType'), - 0x201000A6: ('CS', '1', "Default Magnification Type", '', 'DefaultMagnificationType'), - 0x201000A7: ('CS', '1-n', "Other Magnification Types Available", '', 'OtherMagnificationTypesAvailable'), - 0x201000A8: ('CS', '1', "Default Smoothing Type", '', 'DefaultSmoothingType'), - 0x201000A9: ('CS', '1-n', "Other Smoothing Types Available", '', 'OtherSmoothingTypesAvailable'), - 0x20100100: ('CS', '1', "Border Density", '', 'BorderDensity'), - 0x20100110: ('CS', '1', "Empty Image Density", '', 'EmptyImageDensity'), - 0x20100120: ('US', '1', "Min Density", '', 'MinDensity'), - 0x20100130: ('US', '1', "Max Density", '', 'MaxDensity'), - 0x20100140: ('CS', '1', "Trim", '', 'Trim'), - 0x20100150: ('ST', '1', "Configuration Information", '', 'ConfigurationInformation'), - 0x20100152: ('LT', '1', "Configuration Information Description", '', 'ConfigurationInformationDescription'), - 0x20100154: ('IS', '1', "Maximum Collated Films", '', 'MaximumCollatedFilms'), - 0x2010015E: ('US', '1', "Illumination", '', 'Illumination'), - 0x20100160: ('US', '1', "Reflected Ambient Light", '', 'ReflectedAmbientLight'), - 0x20100376: ('DS', '2', "Printer Pixel Spacing", '', 'PrinterPixelSpacing'), - 0x20100500: ('SQ', '1', "Referenced Film Session Sequence", '', 'ReferencedFilmSessionSequence'), - 0x20100510: ('SQ', '1', "Referenced Image Box Sequence", '', 'ReferencedImageBoxSequence'), - 0x20100520: ('SQ', '1', "Referenced Basic Annotation Box Sequence", '', 'ReferencedBasicAnnotationBoxSequence'), - 0x20200010: ('US', '1', "Image Box Position", '', 'ImageBoxPosition'), - 0x20200020: ('CS', '1', "Polarity", '', 'Polarity'), - 0x20200030: ('DS', '1', "Requested Image Size", '', 'RequestedImageSize'), - 0x20200040: ('CS', '1', "Requested Decimate/Crop Behavior", '', 'RequestedDecimateCropBehavior'), - 0x20200050: ('CS', '1', "Requested Resolution ID", '', 'RequestedResolutionID'), - 0x202000A0: ('CS', '1', "Requested Image Size Flag", '', 'RequestedImageSizeFlag'), - 0x202000A2: ('CS', '1', "Decimate/Crop Result", '', 'DecimateCropResult'), - 0x20200110: ('SQ', '1', "Basic Grayscale Image Sequence", '', 'BasicGrayscaleImageSequence'), - 0x20200111: ('SQ', '1', "Basic Color Image Sequence", '', 'BasicColorImageSequence'), - 0x20200130: ('SQ', '1', "Referenced Image Overlay Box Sequence", 'Retired', 'ReferencedImageOverlayBoxSequence'), - 0x20200140: ('SQ', '1', "Referenced VOI LUT Box Sequence", 'Retired', 'ReferencedVOILUTBoxSequence'), - 0x20300010: ('US', '1', "Annotation Position", '', 'AnnotationPosition'), - 0x20300020: ('LO', '1', "Text String", '', 'TextString'), - 0x20400010: ('SQ', '1', "Referenced Overlay Plane Sequence", 'Retired', 'ReferencedOverlayPlaneSequence'), - 0x20400011: ('US', '1-99', "Referenced Overlay Plane Groups", 'Retired', 'ReferencedOverlayPlaneGroups'), - 0x20400020: ('SQ', '1', "Overlay Pixel Data Sequence", 'Retired', 'OverlayPixelDataSequence'), - 0x20400060: ('CS', '1', "Overlay Magnification Type", 'Retired', 'OverlayMagnificationType'), - 0x20400070: ('CS', '1', "Overlay Smoothing Type", 'Retired', 'OverlaySmoothingType'), - 0x20400072: ('CS', '1', "Overlay or Image Magnification", 'Retired', 'OverlayOrImageMagnification'), - 0x20400074: ('US', '1', "Magnify to Number of Columns", 'Retired', 'MagnifyToNumberOfColumns'), - 0x20400080: ('CS', '1', "Overlay Foreground Density", 'Retired', 'OverlayForegroundDensity'), - 0x20400082: ('CS', '1', "Overlay Background Density", 'Retired', 'OverlayBackgroundDensity'), - 0x20400090: ('CS', '1', "Overlay Mode", 'Retired', 'OverlayMode'), - 0x20400100: ('CS', '1', "Threshold Density", 'Retired', 'ThresholdDensity'), - 0x20400500: ('SQ', '1', "Referenced Image Box Sequence (Retired)", 'Retired', 'ReferencedImageBoxSequenceRetired'), - 0x20500010: ('SQ', '1', "Presentation LUT Sequence", '', 'PresentationLUTSequence'), - 0x20500020: ('CS', '1', "Presentation LUT Shape", '', 'PresentationLUTShape'), - 0x20500500: ('SQ', '1', "Referenced Presentation LUT Sequence", '', 'ReferencedPresentationLUTSequence'), - 0x21000010: ('SH', '1', "Print Job ID", 'Retired', 'PrintJobID'), - 0x21000020: ('CS', '1', "Execution Status", '', 'ExecutionStatus'), - 0x21000030: ('CS', '1', "Execution Status Info", '', 'ExecutionStatusInfo'), - 0x21000040: ('DA', '1', "Creation Date", '', 'CreationDate'), - 0x21000050: ('TM', '1', "Creation Time", '', 'CreationTime'), - 0x21000070: ('AE', '1', "Originator", '', 'Originator'), - 0x21000140: ('AE', '1', "Destination AE", 'Retired', 'DestinationAE'), - 0x21000160: ('SH', '1', "Owner ID", '', 'OwnerID'), - 0x21000170: ('IS', '1', "Number of Films", '', 'NumberOfFilms'), - 0x21000500: ('SQ', '1', "Referenced Print Job Sequence (Pull Stored Print)", 'Retired', 'ReferencedPrintJobSequencePullStoredPrint'), - 0x21100010: ('CS', '1', "Printer Status", '', 'PrinterStatus'), - 0x21100020: ('CS', '1', "Printer Status Info", '', 'PrinterStatusInfo'), - 0x21100030: ('LO', '1', "Printer Name", '', 'PrinterName'), - 0x21100099: ('SH', '1', "Print Queue ID", 'Retired', 'PrintQueueID'), - 0x21200010: ('CS', '1', "Queue Status", 'Retired', 'QueueStatus'), - 0x21200050: ('SQ', '1', "Print Job Description Sequence", 'Retired', 'PrintJobDescriptionSequence'), - 0x21200070: ('SQ', '1', "Referenced Print Job Sequence", 'Retired', 'ReferencedPrintJobSequence'), - 0x21300010: ('SQ', '1', "Print Management Capabilities Sequence", 'Retired', 'PrintManagementCapabilitiesSequence'), - 0x21300015: ('SQ', '1', "Printer Characteristics Sequence", 'Retired', 'PrinterCharacteristicsSequence'), - 0x21300030: ('SQ', '1', "Film Box Content Sequence", 'Retired', 'FilmBoxContentSequence'), - 0x21300040: ('SQ', '1', "Image Box Content Sequence", 'Retired', 'ImageBoxContentSequence'), - 0x21300050: ('SQ', '1', "Annotation Content Sequence", 'Retired', 'AnnotationContentSequence'), - 0x21300060: ('SQ', '1', "Image Overlay Box Content Sequence", 'Retired', 'ImageOverlayBoxContentSequence'), - 0x21300080: ('SQ', '1', "Presentation LUT Content Sequence", 'Retired', 'PresentationLUTContentSequence'), - 0x213000A0: ('SQ', '1', "Proposed Study Sequence", 'Retired', 'ProposedStudySequence'), - 0x213000C0: ('SQ', '1', "Original Image Sequence", 'Retired', 'OriginalImageSequence'), - 0x22000001: ('CS', '1', "Label Using Information Extracted From Instances", '', 'LabelUsingInformationExtractedFromInstances'), - 0x22000002: ('UT', '1', "Label Text", '', 'LabelText'), - 0x22000003: ('CS', '1', "Label Style Selection", '', 'LabelStyleSelection'), - 0x22000004: ('LT', '1', "Media Disposition", '', 'MediaDisposition'), - 0x22000005: ('LT', '1', "Barcode Value", '', 'BarcodeValue'), - 0x22000006: ('CS', '1', "Barcode Symbology", '', 'BarcodeSymbology'), - 0x22000007: ('CS', '1', "Allow Media Splitting", '', 'AllowMediaSplitting'), - 0x22000008: ('CS', '1', "Include Non-DICOM Objects", '', 'IncludeNonDICOMObjects'), - 0x22000009: ('CS', '1', "Include Display Application", '', 'IncludeDisplayApplication'), - 0x2200000A: ('CS', '1', "Preserve Composite Instances After Media Creation", '', 'PreserveCompositeInstancesAfterMediaCreation'), - 0x2200000B: ('US', '1', "Total Number of Pieces of Media Created", '', 'TotalNumberOfPiecesOfMediaCreated'), - 0x2200000C: ('LO', '1', "Requested Media Application Profile", '', 'RequestedMediaApplicationProfile'), - 0x2200000D: ('SQ', '1', "Referenced Storage Media Sequence", '', 'ReferencedStorageMediaSequence'), - 0x2200000E: ('AT', '1-n', "Failure Attributes", '', 'FailureAttributes'), - 0x2200000F: ('CS', '1', "Allow Lossy Compression", '', 'AllowLossyCompression'), - 0x22000020: ('CS', '1', "Request Priority", '', 'RequestPriority'), - 0x30020002: ('SH', '1', "RT Image Label", '', 'RTImageLabel'), - 0x30020003: ('LO', '1', "RT Image Name", '', 'RTImageName'), - 0x30020004: ('ST', '1', "RT Image Description", '', 'RTImageDescription'), - 0x3002000A: ('CS', '1', "Reported Values Origin", '', 'ReportedValuesOrigin'), - 0x3002000C: ('CS', '1', "RT Image Plane", '', 'RTImagePlane'), - 0x3002000D: ('DS', '3', "X-Ray Image Receptor Translation", '', 'XRayImageReceptorTranslation'), - 0x3002000E: ('DS', '1', "X-Ray Image Receptor Angle", '', 'XRayImageReceptorAngle'), - 0x30020010: ('DS', '6', "RT Image Orientation", '', 'RTImageOrientation'), - 0x30020011: ('DS', '2', "Image Plane Pixel Spacing", '', 'ImagePlanePixelSpacing'), - 0x30020012: ('DS', '2', "RT Image Position", '', 'RTImagePosition'), - 0x30020020: ('SH', '1', "Radiation Machine Name", '', 'RadiationMachineName'), - 0x30020022: ('DS', '1', "Radiation Machine SAD", '', 'RadiationMachineSAD'), - 0x30020024: ('DS', '1', "Radiation Machine SSD", '', 'RadiationMachineSSD'), - 0x30020026: ('DS', '1', "RT Image SID", '', 'RTImageSID'), - 0x30020028: ('DS', '1', "Source to Reference Object Distance", '', 'SourceToReferenceObjectDistance'), - 0x30020029: ('IS', '1', "Fraction Number", '', 'FractionNumber'), - 0x30020030: ('SQ', '1', "Exposure Sequence", '', 'ExposureSequence'), - 0x30020032: ('DS', '1', "Meterset Exposure", '', 'MetersetExposure'), - 0x30020034: ('DS', '4', "Diaphragm Position", '', 'DiaphragmPosition'), - 0x30020040: ('SQ', '1', "Fluence Map Sequence", '', 'FluenceMapSequence'), - 0x30020041: ('CS', '1', "Fluence Data Source", '', 'FluenceDataSource'), - 0x30020042: ('DS', '1', "Fluence Data Scale", '', 'FluenceDataScale'), - 0x30020050: ('SQ', '1', "Primary Fluence Mode Sequence", '', 'PrimaryFluenceModeSequence'), - 0x30020051: ('CS', '1', "Fluence Mode", '', 'FluenceMode'), - 0x30020052: ('SH', '1', "Fluence Mode ID", '', 'FluenceModeID'), - 0x30040001: ('CS', '1', "DVH Type", '', 'DVHType'), - 0x30040002: ('CS', '1', "Dose Units", '', 'DoseUnits'), - 0x30040004: ('CS', '1', "Dose Type", '', 'DoseType'), - 0x30040005: ('CS', '1', "Spatial Transform of Dose", '', 'SpatialTransformOfDose'), - 0x30040006: ('LO', '1', "Dose Comment", '', 'DoseComment'), - 0x30040008: ('DS', '3', "Normalization Point", '', 'NormalizationPoint'), - 0x3004000A: ('CS', '1', "Dose Summation Type", '', 'DoseSummationType'), - 0x3004000C: ('DS', '2-n', "Grid Frame Offset Vector", '', 'GridFrameOffsetVector'), - 0x3004000E: ('DS', '1', "Dose Grid Scaling", '', 'DoseGridScaling'), - 0x30040010: ('SQ', '1', "RT Dose ROI Sequence", '', 'RTDoseROISequence'), - 0x30040012: ('DS', '1', "Dose Value", '', 'DoseValue'), - 0x30040014: ('CS', '1-3', "Tissue Heterogeneity Correction", '', 'TissueHeterogeneityCorrection'), - 0x30040040: ('DS', '3', "DVH Normalization Point", '', 'DVHNormalizationPoint'), - 0x30040042: ('DS', '1', "DVH Normalization Dose Value", '', 'DVHNormalizationDoseValue'), - 0x30040050: ('SQ', '1', "DVH Sequence", '', 'DVHSequence'), - 0x30040052: ('DS', '1', "DVH Dose Scaling", '', 'DVHDoseScaling'), - 0x30040054: ('CS', '1', "DVH Volume Units", '', 'DVHVolumeUnits'), - 0x30040056: ('IS', '1', "DVH Number of Bins", '', 'DVHNumberOfBins'), - 0x30040058: ('DS', '2-2n', "DVH Data", '', 'DVHData'), - 0x30040060: ('SQ', '1', "DVH Referenced ROI Sequence", '', 'DVHReferencedROISequence'), - 0x30040062: ('CS', '1', "DVH ROI Contribution Type", '', 'DVHROIContributionType'), - 0x30040070: ('DS', '1', "DVH Minimum Dose", '', 'DVHMinimumDose'), - 0x30040072: ('DS', '1', "DVH Maximum Dose", '', 'DVHMaximumDose'), - 0x30040074: ('DS', '1', "DVH Mean Dose", '', 'DVHMeanDose'), - 0x30060002: ('SH', '1', "Structure Set Label", '', 'StructureSetLabel'), - 0x30060004: ('LO', '1', "Structure Set Name", '', 'StructureSetName'), - 0x30060006: ('ST', '1', "Structure Set Description", '', 'StructureSetDescription'), - 0x30060008: ('DA', '1', "Structure Set Date", '', 'StructureSetDate'), - 0x30060009: ('TM', '1', "Structure Set Time", '', 'StructureSetTime'), - 0x30060010: ('SQ', '1', "Referenced Frame of Reference Sequence", '', 'ReferencedFrameOfReferenceSequence'), - 0x30060012: ('SQ', '1', "RT Referenced Study Sequence", '', 'RTReferencedStudySequence'), - 0x30060014: ('SQ', '1', "RT Referenced Series Sequence", '', 'RTReferencedSeriesSequence'), - 0x30060016: ('SQ', '1', "Contour Image Sequence", '', 'ContourImageSequence'), - 0x30060018: ('SQ', '1', "Predecessor Structure Set Sequence", '', 'PredecessorStructureSetSequence'), - 0x30060020: ('SQ', '1', "Structure Set ROI Sequence", '', 'StructureSetROISequence'), - 0x30060022: ('IS', '1', "ROI Number", '', 'ROINumber'), - 0x30060024: ('UI', '1', "Referenced Frame of Reference UID", '', 'ReferencedFrameOfReferenceUID'), - 0x30060026: ('LO', '1', "ROI Name", '', 'ROIName'), - 0x30060028: ('ST', '1', "ROI Description", '', 'ROIDescription'), - 0x3006002A: ('IS', '3', "ROI Display Color", '', 'ROIDisplayColor'), - 0x3006002C: ('DS', '1', "ROI Volume", '', 'ROIVolume'), - 0x30060030: ('SQ', '1', "RT Related ROI Sequence", '', 'RTRelatedROISequence'), - 0x30060033: ('CS', '1', "RT ROI Relationship", '', 'RTROIRelationship'), - 0x30060036: ('CS', '1', "ROI Generation Algorithm", '', 'ROIGenerationAlgorithm'), - 0x30060038: ('LO', '1', "ROI Generation Description", '', 'ROIGenerationDescription'), - 0x30060039: ('SQ', '1', "ROI Contour Sequence", '', 'ROIContourSequence'), - 0x30060040: ('SQ', '1', "Contour Sequence", '', 'ContourSequence'), - 0x30060042: ('CS', '1', "Contour Geometric Type", '', 'ContourGeometricType'), - 0x30060044: ('DS', '1', "Contour Slab Thickness", '', 'ContourSlabThickness'), - 0x30060045: ('DS', '3', "Contour Offset Vector", '', 'ContourOffsetVector'), - 0x30060046: ('IS', '1', "Number of Contour Points", '', 'NumberOfContourPoints'), - 0x30060048: ('IS', '1', "Contour Number", '', 'ContourNumber'), - 0x30060049: ('IS', '1-n', "Attached Contours", '', 'AttachedContours'), - 0x30060050: ('DS', '3-3n', "Contour Data", '', 'ContourData'), - 0x30060080: ('SQ', '1', "RT ROI Observations Sequence", '', 'RTROIObservationsSequence'), - 0x30060082: ('IS', '1', "Observation Number", '', 'ObservationNumber'), - 0x30060084: ('IS', '1', "Referenced ROI Number", '', 'ReferencedROINumber'), - 0x30060085: ('SH', '1', "ROI Observation Label", '', 'ROIObservationLabel'), - 0x30060086: ('SQ', '1', "RT ROI Identification Code Sequence", '', 'RTROIIdentificationCodeSequence'), - 0x30060088: ('ST', '1', "ROI Observation Description", '', 'ROIObservationDescription'), - 0x300600A0: ('SQ', '1', "Related RT ROI Observations Sequence", '', 'RelatedRTROIObservationsSequence'), - 0x300600A4: ('CS', '1', "RT ROI Interpreted Type", '', 'RTROIInterpretedType'), - 0x300600A6: ('PN', '1', "ROI Interpreter", '', 'ROIInterpreter'), - 0x300600B0: ('SQ', '1', "ROI Physical Properties Sequence", '', 'ROIPhysicalPropertiesSequence'), - 0x300600B2: ('CS', '1', "ROI Physical Property", '', 'ROIPhysicalProperty'), - 0x300600B4: ('DS', '1', "ROI Physical Property Value", '', 'ROIPhysicalPropertyValue'), - 0x300600B6: ('SQ', '1', "ROI Elemental Composition Sequence", '', 'ROIElementalCompositionSequence'), - 0x300600B7: ('US', '1', "ROI Elemental Composition Atomic Number", '', 'ROIElementalCompositionAtomicNumber'), - 0x300600B8: ('FL', '1', "ROI Elemental Composition Atomic Mass Fraction", '', 'ROIElementalCompositionAtomicMassFraction'), - 0x300600C0: ('SQ', '1', "Frame of Reference Relationship Sequence", 'Retired', 'FrameOfReferenceRelationshipSequence'), - 0x300600C2: ('UI', '1', "Related Frame of Reference UID", 'Retired', 'RelatedFrameOfReferenceUID'), - 0x300600C4: ('CS', '1', "Frame of Reference Transformation Type", 'Retired', 'FrameOfReferenceTransformationType'), - 0x300600C6: ('DS', '16', "Frame of Reference Transformation Matrix", '', 'FrameOfReferenceTransformationMatrix'), - 0x300600C8: ('LO', '1', "Frame of Reference Transformation Comment", '', 'FrameOfReferenceTransformationComment'), - 0x30080010: ('SQ', '1', "Measured Dose Reference Sequence", '', 'MeasuredDoseReferenceSequence'), - 0x30080012: ('ST', '1', "Measured Dose Description", '', 'MeasuredDoseDescription'), - 0x30080014: ('CS', '1', "Measured Dose Type", '', 'MeasuredDoseType'), - 0x30080016: ('DS', '1', "Measured Dose Value", '', 'MeasuredDoseValue'), - 0x30080020: ('SQ', '1', "Treatment Session Beam Sequence", '', 'TreatmentSessionBeamSequence'), - 0x30080021: ('SQ', '1', "Treatment Session Ion Beam Sequence", '', 'TreatmentSessionIonBeamSequence'), - 0x30080022: ('IS', '1', "Current Fraction Number", '', 'CurrentFractionNumber'), - 0x30080024: ('DA', '1', "Treatment Control Point Date", '', 'TreatmentControlPointDate'), - 0x30080025: ('TM', '1', "Treatment Control Point Time", '', 'TreatmentControlPointTime'), - 0x3008002A: ('CS', '1', "Treatment Termination Status", '', 'TreatmentTerminationStatus'), - 0x3008002B: ('SH', '1', "Treatment Termination Code", '', 'TreatmentTerminationCode'), - 0x3008002C: ('CS', '1', "Treatment Verification Status", '', 'TreatmentVerificationStatus'), - 0x30080030: ('SQ', '1', "Referenced Treatment Record Sequence", '', 'ReferencedTreatmentRecordSequence'), - 0x30080032: ('DS', '1', "Specified Primary Meterset", '', 'SpecifiedPrimaryMeterset'), - 0x30080033: ('DS', '1', "Specified Secondary Meterset", '', 'SpecifiedSecondaryMeterset'), - 0x30080036: ('DS', '1', "Delivered Primary Meterset", '', 'DeliveredPrimaryMeterset'), - 0x30080037: ('DS', '1', "Delivered Secondary Meterset", '', 'DeliveredSecondaryMeterset'), - 0x3008003A: ('DS', '1', "Specified Treatment Time", '', 'SpecifiedTreatmentTime'), - 0x3008003B: ('DS', '1', "Delivered Treatment Time", '', 'DeliveredTreatmentTime'), - 0x30080040: ('SQ', '1', "Control Point Delivery Sequence", '', 'ControlPointDeliverySequence'), - 0x30080041: ('SQ', '1', "Ion Control Point Delivery Sequence", '', 'IonControlPointDeliverySequence'), - 0x30080042: ('DS', '1', "Specified Meterset", '', 'SpecifiedMeterset'), - 0x30080044: ('DS', '1', "Delivered Meterset", '', 'DeliveredMeterset'), - 0x30080045: ('FL', '1', "Meterset Rate Set", '', 'MetersetRateSet'), - 0x30080046: ('FL', '1', "Meterset Rate Delivered", '', 'MetersetRateDelivered'), - 0x30080047: ('FL', '1-n', "Scan Spot Metersets Delivered", '', 'ScanSpotMetersetsDelivered'), - 0x30080048: ('DS', '1', "Dose Rate Delivered", '', 'DoseRateDelivered'), - 0x30080050: ('SQ', '1', "Treatment Summary Calculated Dose Reference Sequence", '', 'TreatmentSummaryCalculatedDoseReferenceSequence'), - 0x30080052: ('DS', '1', "Cumulative Dose to Dose Reference", '', 'CumulativeDoseToDoseReference'), - 0x30080054: ('DA', '1', "First Treatment Date", '', 'FirstTreatmentDate'), - 0x30080056: ('DA', '1', "Most Recent Treatment Date", '', 'MostRecentTreatmentDate'), - 0x3008005A: ('IS', '1', "Number of Fractions Delivered", '', 'NumberOfFractionsDelivered'), - 0x30080060: ('SQ', '1', "Override Sequence", '', 'OverrideSequence'), - 0x30080061: ('AT', '1', "Parameter Sequence Pointer", '', 'ParameterSequencePointer'), - 0x30080062: ('AT', '1', "Override Parameter Pointer", '', 'OverrideParameterPointer'), - 0x30080063: ('IS', '1', "Parameter Item Index", '', 'ParameterItemIndex'), - 0x30080064: ('IS', '1', "Measured Dose Reference Number", '', 'MeasuredDoseReferenceNumber'), - 0x30080065: ('AT', '1', "Parameter Pointer", '', 'ParameterPointer'), - 0x30080066: ('ST', '1', "Override Reason", '', 'OverrideReason'), - 0x30080068: ('SQ', '1', "Corrected Parameter Sequence", '', 'CorrectedParameterSequence'), - 0x3008006A: ('FL', '1', "Correction Value", '', 'CorrectionValue'), - 0x30080070: ('SQ', '1', "Calculated Dose Reference Sequence", '', 'CalculatedDoseReferenceSequence'), - 0x30080072: ('IS', '1', "Calculated Dose Reference Number", '', 'CalculatedDoseReferenceNumber'), - 0x30080074: ('ST', '1', "Calculated Dose Reference Description", '', 'CalculatedDoseReferenceDescription'), - 0x30080076: ('DS', '1', "Calculated Dose Reference Dose Value", '', 'CalculatedDoseReferenceDoseValue'), - 0x30080078: ('DS', '1', "Start Meterset", '', 'StartMeterset'), - 0x3008007A: ('DS', '1', "End Meterset", '', 'EndMeterset'), - 0x30080080: ('SQ', '1', "Referenced Measured Dose Reference Sequence", '', 'ReferencedMeasuredDoseReferenceSequence'), - 0x30080082: ('IS', '1', "Referenced Measured Dose Reference Number", '', 'ReferencedMeasuredDoseReferenceNumber'), - 0x30080090: ('SQ', '1', "Referenced Calculated Dose Reference Sequence", '', 'ReferencedCalculatedDoseReferenceSequence'), - 0x30080092: ('IS', '1', "Referenced Calculated Dose Reference Number", '', 'ReferencedCalculatedDoseReferenceNumber'), - 0x300800A0: ('SQ', '1', "Beam Limiting Device Leaf Pairs Sequence", '', 'BeamLimitingDeviceLeafPairsSequence'), - 0x300800B0: ('SQ', '1', "Recorded Wedge Sequence", '', 'RecordedWedgeSequence'), - 0x300800C0: ('SQ', '1', "Recorded Compensator Sequence", '', 'RecordedCompensatorSequence'), - 0x300800D0: ('SQ', '1', "Recorded Block Sequence", '', 'RecordedBlockSequence'), - 0x300800E0: ('SQ', '1', "Treatment Summary Measured Dose Reference Sequence", '', 'TreatmentSummaryMeasuredDoseReferenceSequence'), - 0x300800F0: ('SQ', '1', "Recorded Snout Sequence", '', 'RecordedSnoutSequence'), - 0x300800F2: ('SQ', '1', "Recorded Range Shifter Sequence", '', 'RecordedRangeShifterSequence'), - 0x300800F4: ('SQ', '1', "Recorded Lateral Spreading Device Sequence", '', 'RecordedLateralSpreadingDeviceSequence'), - 0x300800F6: ('SQ', '1', "Recorded Range Modulator Sequence", '', 'RecordedRangeModulatorSequence'), - 0x30080100: ('SQ', '1', "Recorded Source Sequence", '', 'RecordedSourceSequence'), - 0x30080105: ('LO', '1', "Source Serial Number", '', 'SourceSerialNumber'), - 0x30080110: ('SQ', '1', "Treatment Session Application Setup Sequence", '', 'TreatmentSessionApplicationSetupSequence'), - 0x30080116: ('CS', '1', "Application Setup Check", '', 'ApplicationSetupCheck'), - 0x30080120: ('SQ', '1', "Recorded Brachy Accessory Device Sequence", '', 'RecordedBrachyAccessoryDeviceSequence'), - 0x30080122: ('IS', '1', "Referenced Brachy Accessory Device Number", '', 'ReferencedBrachyAccessoryDeviceNumber'), - 0x30080130: ('SQ', '1', "Recorded Channel Sequence", '', 'RecordedChannelSequence'), - 0x30080132: ('DS', '1', "Specified Channel Total Time", '', 'SpecifiedChannelTotalTime'), - 0x30080134: ('DS', '1', "Delivered Channel Total Time", '', 'DeliveredChannelTotalTime'), - 0x30080136: ('IS', '1', "Specified Number of Pulses", '', 'SpecifiedNumberOfPulses'), - 0x30080138: ('IS', '1', "Delivered Number of Pulses", '', 'DeliveredNumberOfPulses'), - 0x3008013A: ('DS', '1', "Specified Pulse Repetition Interval", '', 'SpecifiedPulseRepetitionInterval'), - 0x3008013C: ('DS', '1', "Delivered Pulse Repetition Interval", '', 'DeliveredPulseRepetitionInterval'), - 0x30080140: ('SQ', '1', "Recorded Source Applicator Sequence", '', 'RecordedSourceApplicatorSequence'), - 0x30080142: ('IS', '1', "Referenced Source Applicator Number", '', 'ReferencedSourceApplicatorNumber'), - 0x30080150: ('SQ', '1', "Recorded Channel Shield Sequence", '', 'RecordedChannelShieldSequence'), - 0x30080152: ('IS', '1', "Referenced Channel Shield Number", '', 'ReferencedChannelShieldNumber'), - 0x30080160: ('SQ', '1', "Brachy Control Point Delivered Sequence", '', 'BrachyControlPointDeliveredSequence'), - 0x30080162: ('DA', '1', "Safe Position Exit Date", '', 'SafePositionExitDate'), - 0x30080164: ('TM', '1', "Safe Position Exit Time", '', 'SafePositionExitTime'), - 0x30080166: ('DA', '1', "Safe Position Return Date", '', 'SafePositionReturnDate'), - 0x30080168: ('TM', '1', "Safe Position Return Time", '', 'SafePositionReturnTime'), - 0x30080200: ('CS', '1', "Current Treatment Status", '', 'CurrentTreatmentStatus'), - 0x30080202: ('ST', '1', "Treatment Status Comment", '', 'TreatmentStatusComment'), - 0x30080220: ('SQ', '1', "Fraction Group Summary Sequence", '', 'FractionGroupSummarySequence'), - 0x30080223: ('IS', '1', "Referenced Fraction Number", '', 'ReferencedFractionNumber'), - 0x30080224: ('CS', '1', "Fraction Group Type", '', 'FractionGroupType'), - 0x30080230: ('CS', '1', "Beam Stopper Position", '', 'BeamStopperPosition'), - 0x30080240: ('SQ', '1', "Fraction Status Summary Sequence", '', 'FractionStatusSummarySequence'), - 0x30080250: ('DA', '1', "Treatment Date", '', 'TreatmentDate'), - 0x30080251: ('TM', '1', "Treatment Time", '', 'TreatmentTime'), - 0x300A0002: ('SH', '1', "RT Plan Label", '', 'RTPlanLabel'), - 0x300A0003: ('LO', '1', "RT Plan Name", '', 'RTPlanName'), - 0x300A0004: ('ST', '1', "RT Plan Description", '', 'RTPlanDescription'), - 0x300A0006: ('DA', '1', "RT Plan Date", '', 'RTPlanDate'), - 0x300A0007: ('TM', '1', "RT Plan Time", '', 'RTPlanTime'), - 0x300A0009: ('LO', '1-n', "Treatment Protocols", '', 'TreatmentProtocols'), - 0x300A000A: ('CS', '1', "Plan Intent", '', 'PlanIntent'), - 0x300A000B: ('LO', '1-n', "Treatment Sites", '', 'TreatmentSites'), - 0x300A000C: ('CS', '1', "RT Plan Geometry", '', 'RTPlanGeometry'), - 0x300A000E: ('ST', '1', "Prescription Description", '', 'PrescriptionDescription'), - 0x300A0010: ('SQ', '1', "Dose Reference Sequence", '', 'DoseReferenceSequence'), - 0x300A0012: ('IS', '1', "Dose Reference Number", '', 'DoseReferenceNumber'), - 0x300A0013: ('UI', '1', "Dose Reference UID", '', 'DoseReferenceUID'), - 0x300A0014: ('CS', '1', "Dose Reference Structure Type", '', 'DoseReferenceStructureType'), - 0x300A0015: ('CS', '1', "Nominal Beam Energy Unit", '', 'NominalBeamEnergyUnit'), - 0x300A0016: ('LO', '1', "Dose Reference Description", '', 'DoseReferenceDescription'), - 0x300A0018: ('DS', '3', "Dose Reference Point Coordinates", '', 'DoseReferencePointCoordinates'), - 0x300A001A: ('DS', '1', "Nominal Prior Dose", '', 'NominalPriorDose'), - 0x300A0020: ('CS', '1', "Dose Reference Type", '', 'DoseReferenceType'), - 0x300A0021: ('DS', '1', "Constraint Weight", '', 'ConstraintWeight'), - 0x300A0022: ('DS', '1', "Delivery Warning Dose", '', 'DeliveryWarningDose'), - 0x300A0023: ('DS', '1', "Delivery Maximum Dose", '', 'DeliveryMaximumDose'), - 0x300A0025: ('DS', '1', "Target Minimum Dose", '', 'TargetMinimumDose'), - 0x300A0026: ('DS', '1', "Target Prescription Dose", '', 'TargetPrescriptionDose'), - 0x300A0027: ('DS', '1', "Target Maximum Dose", '', 'TargetMaximumDose'), - 0x300A0028: ('DS', '1', "Target Underdose Volume Fraction", '', 'TargetUnderdoseVolumeFraction'), - 0x300A002A: ('DS', '1', "Organ at Risk Full-volume Dose", '', 'OrganAtRiskFullVolumeDose'), - 0x300A002B: ('DS', '1', "Organ at Risk Limit Dose", '', 'OrganAtRiskLimitDose'), - 0x300A002C: ('DS', '1', "Organ at Risk Maximum Dose", '', 'OrganAtRiskMaximumDose'), - 0x300A002D: ('DS', '1', "Organ at Risk Overdose Volume Fraction", '', 'OrganAtRiskOverdoseVolumeFraction'), - 0x300A0040: ('SQ', '1', "Tolerance Table Sequence", '', 'ToleranceTableSequence'), - 0x300A0042: ('IS', '1', "Tolerance Table Number", '', 'ToleranceTableNumber'), - 0x300A0043: ('SH', '1', "Tolerance Table Label", '', 'ToleranceTableLabel'), - 0x300A0044: ('DS', '1', "Gantry Angle Tolerance", '', 'GantryAngleTolerance'), - 0x300A0046: ('DS', '1', "Beam Limiting Device Angle Tolerance", '', 'BeamLimitingDeviceAngleTolerance'), - 0x300A0048: ('SQ', '1', "Beam Limiting Device Tolerance Sequence", '', 'BeamLimitingDeviceToleranceSequence'), - 0x300A004A: ('DS', '1', "Beam Limiting Device Position Tolerance", '', 'BeamLimitingDevicePositionTolerance'), - 0x300A004B: ('FL', '1', "Snout Position Tolerance", '', 'SnoutPositionTolerance'), - 0x300A004C: ('DS', '1', "Patient Support Angle Tolerance", '', 'PatientSupportAngleTolerance'), - 0x300A004E: ('DS', '1', "Table Top Eccentric Angle Tolerance", '', 'TableTopEccentricAngleTolerance'), - 0x300A004F: ('FL', '1', "Table Top Pitch Angle Tolerance", '', 'TableTopPitchAngleTolerance'), - 0x300A0050: ('FL', '1', "Table Top Roll Angle Tolerance", '', 'TableTopRollAngleTolerance'), - 0x300A0051: ('DS', '1', "Table Top Vertical Position Tolerance", '', 'TableTopVerticalPositionTolerance'), - 0x300A0052: ('DS', '1', "Table Top Longitudinal Position Tolerance", '', 'TableTopLongitudinalPositionTolerance'), - 0x300A0053: ('DS', '1', "Table Top Lateral Position Tolerance", '', 'TableTopLateralPositionTolerance'), - 0x300A0055: ('CS', '1', "RT Plan Relationship", '', 'RTPlanRelationship'), - 0x300A0070: ('SQ', '1', "Fraction Group Sequence", '', 'FractionGroupSequence'), - 0x300A0071: ('IS', '1', "Fraction Group Number", '', 'FractionGroupNumber'), - 0x300A0072: ('LO', '1', "Fraction Group Description", '', 'FractionGroupDescription'), - 0x300A0078: ('IS', '1', "Number of Fractions Planned", '', 'NumberOfFractionsPlanned'), - 0x300A0079: ('IS', '1', "Number of Fraction Pattern Digits Per Day", '', 'NumberOfFractionPatternDigitsPerDay'), - 0x300A007A: ('IS', '1', "Repeat Fraction Cycle Length", '', 'RepeatFractionCycleLength'), - 0x300A007B: ('LT', '1', "Fraction Pattern", '', 'FractionPattern'), - 0x300A0080: ('IS', '1', "Number of Beams", '', 'NumberOfBeams'), - 0x300A0082: ('DS', '3', "Beam Dose Specification Point", '', 'BeamDoseSpecificationPoint'), - 0x300A0084: ('DS', '1', "Beam Dose", '', 'BeamDose'), - 0x300A0086: ('DS', '1', "Beam Meterset", '', 'BeamMeterset'), - 0x300A0088: ('FL', '1', "Beam Dose Point Depth", 'Retired', 'BeamDosePointDepth'), - 0x300A0089: ('FL', '1', "Beam Dose Point Equivalent Depth", 'Retired', 'BeamDosePointEquivalentDepth'), - 0x300A008A: ('FL', '1', "Beam Dose Point SSD", 'Retired', 'BeamDosePointSSD'), - 0x300A008B: ('CS', '1', "Beam Dose Meaning", '', 'BeamDoseMeaning'), - 0x300A008C: ('SQ', '1', "Beam Dose Verification Control Point Sequence", '', 'BeamDoseVerificationControlPointSequence'), - 0x300A008D: ('FL', '1', "Average Beam Dose Point Depth", '', 'AverageBeamDosePointDepth'), - 0x300A008E: ('FL', '1', "Average Beam Dose Point Equivalent Depth", '', 'AverageBeamDosePointEquivalentDepth'), - 0x300A008F: ('FL', '1', "Average Beam Dose Point SSD", '', 'AverageBeamDosePointSSD'), - 0x300A00A0: ('IS', '1', "Number of Brachy Application Setups", '', 'NumberOfBrachyApplicationSetups'), - 0x300A00A2: ('DS', '3', "Brachy Application Setup Dose Specification Point", '', 'BrachyApplicationSetupDoseSpecificationPoint'), - 0x300A00A4: ('DS', '1', "Brachy Application Setup Dose", '', 'BrachyApplicationSetupDose'), - 0x300A00B0: ('SQ', '1', "Beam Sequence", '', 'BeamSequence'), - 0x300A00B2: ('SH', '1', "Treatment Machine Name", '', 'TreatmentMachineName'), - 0x300A00B3: ('CS', '1', "Primary Dosimeter Unit", '', 'PrimaryDosimeterUnit'), - 0x300A00B4: ('DS', '1', "Source-Axis Distance", '', 'SourceAxisDistance'), - 0x300A00B6: ('SQ', '1', "Beam Limiting Device Sequence", '', 'BeamLimitingDeviceSequence'), - 0x300A00B8: ('CS', '1', "RT Beam Limiting Device Type", '', 'RTBeamLimitingDeviceType'), - 0x300A00BA: ('DS', '1', "Source to Beam Limiting Device Distance", '', 'SourceToBeamLimitingDeviceDistance'), - 0x300A00BB: ('FL', '1', "Isocenter to Beam Limiting Device Distance", '', 'IsocenterToBeamLimitingDeviceDistance'), - 0x300A00BC: ('IS', '1', "Number of Leaf/Jaw Pairs", '', 'NumberOfLeafJawPairs'), - 0x300A00BE: ('DS', '3-n', "Leaf Position Boundaries", '', 'LeafPositionBoundaries'), - 0x300A00C0: ('IS', '1', "Beam Number", '', 'BeamNumber'), - 0x300A00C2: ('LO', '1', "Beam Name", '', 'BeamName'), - 0x300A00C3: ('ST', '1', "Beam Description", '', 'BeamDescription'), - 0x300A00C4: ('CS', '1', "Beam Type", '', 'BeamType'), - 0x300A00C6: ('CS', '1', "Radiation Type", '', 'RadiationType'), - 0x300A00C7: ('CS', '1', "High-Dose Technique Type", '', 'HighDoseTechniqueType'), - 0x300A00C8: ('IS', '1', "Reference Image Number", '', 'ReferenceImageNumber'), - 0x300A00CA: ('SQ', '1', "Planned Verification Image Sequence", '', 'PlannedVerificationImageSequence'), - 0x300A00CC: ('LO', '1-n', "Imaging Device-Specific Acquisition Parameters", '', 'ImagingDeviceSpecificAcquisitionParameters'), - 0x300A00CE: ('CS', '1', "Treatment Delivery Type", '', 'TreatmentDeliveryType'), - 0x300A00D0: ('IS', '1', "Number of Wedges", '', 'NumberOfWedges'), - 0x300A00D1: ('SQ', '1', "Wedge Sequence", '', 'WedgeSequence'), - 0x300A00D2: ('IS', '1', "Wedge Number", '', 'WedgeNumber'), - 0x300A00D3: ('CS', '1', "Wedge Type", '', 'WedgeType'), - 0x300A00D4: ('SH', '1', "Wedge ID", '', 'WedgeID'), - 0x300A00D5: ('IS', '1', "Wedge Angle", '', 'WedgeAngle'), - 0x300A00D6: ('DS', '1', "Wedge Factor", '', 'WedgeFactor'), - 0x300A00D7: ('FL', '1', "Total Wedge Tray Water-Equivalent Thickness", '', 'TotalWedgeTrayWaterEquivalentThickness'), - 0x300A00D8: ('DS', '1', "Wedge Orientation", '', 'WedgeOrientation'), - 0x300A00D9: ('FL', '1', "Isocenter to Wedge Tray Distance", '', 'IsocenterToWedgeTrayDistance'), - 0x300A00DA: ('DS', '1', "Source to Wedge Tray Distance", '', 'SourceToWedgeTrayDistance'), - 0x300A00DB: ('FL', '1', "Wedge Thin Edge Position", '', 'WedgeThinEdgePosition'), - 0x300A00DC: ('SH', '1', "Bolus ID", '', 'BolusID'), - 0x300A00DD: ('ST', '1', "Bolus Description", '', 'BolusDescription'), - 0x300A00E0: ('IS', '1', "Number of Compensators", '', 'NumberOfCompensators'), - 0x300A00E1: ('SH', '1', "Material ID", '', 'MaterialID'), - 0x300A00E2: ('DS', '1', "Total Compensator Tray Factor", '', 'TotalCompensatorTrayFactor'), - 0x300A00E3: ('SQ', '1', "Compensator Sequence", '', 'CompensatorSequence'), - 0x300A00E4: ('IS', '1', "Compensator Number", '', 'CompensatorNumber'), - 0x300A00E5: ('SH', '1', "Compensator ID", '', 'CompensatorID'), - 0x300A00E6: ('DS', '1', "Source to Compensator Tray Distance", '', 'SourceToCompensatorTrayDistance'), - 0x300A00E7: ('IS', '1', "Compensator Rows", '', 'CompensatorRows'), - 0x300A00E8: ('IS', '1', "Compensator Columns", '', 'CompensatorColumns'), - 0x300A00E9: ('DS', '2', "Compensator Pixel Spacing", '', 'CompensatorPixelSpacing'), - 0x300A00EA: ('DS', '2', "Compensator Position", '', 'CompensatorPosition'), - 0x300A00EB: ('DS', '1-n', "Compensator Transmission Data", '', 'CompensatorTransmissionData'), - 0x300A00EC: ('DS', '1-n', "Compensator Thickness Data", '', 'CompensatorThicknessData'), - 0x300A00ED: ('IS', '1', "Number of Boli", '', 'NumberOfBoli'), - 0x300A00EE: ('CS', '1', "Compensator Type", '', 'CompensatorType'), - 0x300A00EF: ('SH', '1', "Compensator Tray ID", '', 'CompensatorTrayID'), - 0x300A00F0: ('IS', '1', "Number of Blocks", '', 'NumberOfBlocks'), - 0x300A00F2: ('DS', '1', "Total Block Tray Factor", '', 'TotalBlockTrayFactor'), - 0x300A00F3: ('FL', '1', "Total Block Tray Water-Equivalent Thickness", '', 'TotalBlockTrayWaterEquivalentThickness'), - 0x300A00F4: ('SQ', '1', "Block Sequence", '', 'BlockSequence'), - 0x300A00F5: ('SH', '1', "Block Tray ID", '', 'BlockTrayID'), - 0x300A00F6: ('DS', '1', "Source to Block Tray Distance", '', 'SourceToBlockTrayDistance'), - 0x300A00F7: ('FL', '1', "Isocenter to Block Tray Distance", '', 'IsocenterToBlockTrayDistance'), - 0x300A00F8: ('CS', '1', "Block Type", '', 'BlockType'), - 0x300A00F9: ('LO', '1', "Accessory Code", '', 'AccessoryCode'), - 0x300A00FA: ('CS', '1', "Block Divergence", '', 'BlockDivergence'), - 0x300A00FB: ('CS', '1', "Block Mounting Position", '', 'BlockMountingPosition'), - 0x300A00FC: ('IS', '1', "Block Number", '', 'BlockNumber'), - 0x300A00FE: ('LO', '1', "Block Name", '', 'BlockName'), - 0x300A0100: ('DS', '1', "Block Thickness", '', 'BlockThickness'), - 0x300A0102: ('DS', '1', "Block Transmission", '', 'BlockTransmission'), - 0x300A0104: ('IS', '1', "Block Number of Points", '', 'BlockNumberOfPoints'), - 0x300A0106: ('DS', '2-2n', "Block Data", '', 'BlockData'), - 0x300A0107: ('SQ', '1', "Applicator Sequence", '', 'ApplicatorSequence'), - 0x300A0108: ('SH', '1', "Applicator ID", '', 'ApplicatorID'), - 0x300A0109: ('CS', '1', "Applicator Type", '', 'ApplicatorType'), - 0x300A010A: ('LO', '1', "Applicator Description", '', 'ApplicatorDescription'), - 0x300A010C: ('DS', '1', "Cumulative Dose Reference Coefficient", '', 'CumulativeDoseReferenceCoefficient'), - 0x300A010E: ('DS', '1', "Final Cumulative Meterset Weight", '', 'FinalCumulativeMetersetWeight'), - 0x300A0110: ('IS', '1', "Number of Control Points", '', 'NumberOfControlPoints'), - 0x300A0111: ('SQ', '1', "Control Point Sequence", '', 'ControlPointSequence'), - 0x300A0112: ('IS', '1', "Control Point Index", '', 'ControlPointIndex'), - 0x300A0114: ('DS', '1', "Nominal Beam Energy", '', 'NominalBeamEnergy'), - 0x300A0115: ('DS', '1', "Dose Rate Set", '', 'DoseRateSet'), - 0x300A0116: ('SQ', '1', "Wedge Position Sequence", '', 'WedgePositionSequence'), - 0x300A0118: ('CS', '1', "Wedge Position", '', 'WedgePosition'), - 0x300A011A: ('SQ', '1', "Beam Limiting Device Position Sequence", '', 'BeamLimitingDevicePositionSequence'), - 0x300A011C: ('DS', '2-2n', "Leaf/Jaw Positions", '', 'LeafJawPositions'), - 0x300A011E: ('DS', '1', "Gantry Angle", '', 'GantryAngle'), - 0x300A011F: ('CS', '1', "Gantry Rotation Direction", '', 'GantryRotationDirection'), - 0x300A0120: ('DS', '1', "Beam Limiting Device Angle", '', 'BeamLimitingDeviceAngle'), - 0x300A0121: ('CS', '1', "Beam Limiting Device Rotation Direction", '', 'BeamLimitingDeviceRotationDirection'), - 0x300A0122: ('DS', '1', "Patient Support Angle", '', 'PatientSupportAngle'), - 0x300A0123: ('CS', '1', "Patient Support Rotation Direction", '', 'PatientSupportRotationDirection'), - 0x300A0124: ('DS', '1', "Table Top Eccentric Axis Distance", '', 'TableTopEccentricAxisDistance'), - 0x300A0125: ('DS', '1', "Table Top Eccentric Angle", '', 'TableTopEccentricAngle'), - 0x300A0126: ('CS', '1', "Table Top Eccentric Rotation Direction", '', 'TableTopEccentricRotationDirection'), - 0x300A0128: ('DS', '1', "Table Top Vertical Position", '', 'TableTopVerticalPosition'), - 0x300A0129: ('DS', '1', "Table Top Longitudinal Position", '', 'TableTopLongitudinalPosition'), - 0x300A012A: ('DS', '1', "Table Top Lateral Position", '', 'TableTopLateralPosition'), - 0x300A012C: ('DS', '3', "Isocenter Position", '', 'IsocenterPosition'), - 0x300A012E: ('DS', '3', "Surface Entry Point", '', 'SurfaceEntryPoint'), - 0x300A0130: ('DS', '1', "Source to Surface Distance", '', 'SourceToSurfaceDistance'), - 0x300A0134: ('DS', '1', "Cumulative Meterset Weight", '', 'CumulativeMetersetWeight'), - 0x300A0140: ('FL', '1', "Table Top Pitch Angle", '', 'TableTopPitchAngle'), - 0x300A0142: ('CS', '1', "Table Top Pitch Rotation Direction", '', 'TableTopPitchRotationDirection'), - 0x300A0144: ('FL', '1', "Table Top Roll Angle", '', 'TableTopRollAngle'), - 0x300A0146: ('CS', '1', "Table Top Roll Rotation Direction", '', 'TableTopRollRotationDirection'), - 0x300A0148: ('FL', '1', "Head Fixation Angle", '', 'HeadFixationAngle'), - 0x300A014A: ('FL', '1', "Gantry Pitch Angle", '', 'GantryPitchAngle'), - 0x300A014C: ('CS', '1', "Gantry Pitch Rotation Direction", '', 'GantryPitchRotationDirection'), - 0x300A014E: ('FL', '1', "Gantry Pitch Angle Tolerance", '', 'GantryPitchAngleTolerance'), - 0x300A0180: ('SQ', '1', "Patient Setup Sequence", '', 'PatientSetupSequence'), - 0x300A0182: ('IS', '1', "Patient Setup Number", '', 'PatientSetupNumber'), - 0x300A0183: ('LO', '1', "Patient Setup Label", '', 'PatientSetupLabel'), - 0x300A0184: ('LO', '1', "Patient Additional Position", '', 'PatientAdditionalPosition'), - 0x300A0190: ('SQ', '1', "Fixation Device Sequence", '', 'FixationDeviceSequence'), - 0x300A0192: ('CS', '1', "Fixation Device Type", '', 'FixationDeviceType'), - 0x300A0194: ('SH', '1', "Fixation Device Label", '', 'FixationDeviceLabel'), - 0x300A0196: ('ST', '1', "Fixation Device Description", '', 'FixationDeviceDescription'), - 0x300A0198: ('SH', '1', "Fixation Device Position", '', 'FixationDevicePosition'), - 0x300A0199: ('FL', '1', "Fixation Device Pitch Angle", '', 'FixationDevicePitchAngle'), - 0x300A019A: ('FL', '1', "Fixation Device Roll Angle", '', 'FixationDeviceRollAngle'), - 0x300A01A0: ('SQ', '1', "Shielding Device Sequence", '', 'ShieldingDeviceSequence'), - 0x300A01A2: ('CS', '1', "Shielding Device Type", '', 'ShieldingDeviceType'), - 0x300A01A4: ('SH', '1', "Shielding Device Label", '', 'ShieldingDeviceLabel'), - 0x300A01A6: ('ST', '1', "Shielding Device Description", '', 'ShieldingDeviceDescription'), - 0x300A01A8: ('SH', '1', "Shielding Device Position", '', 'ShieldingDevicePosition'), - 0x300A01B0: ('CS', '1', "Setup Technique", '', 'SetupTechnique'), - 0x300A01B2: ('ST', '1', "Setup Technique Description", '', 'SetupTechniqueDescription'), - 0x300A01B4: ('SQ', '1', "Setup Device Sequence", '', 'SetupDeviceSequence'), - 0x300A01B6: ('CS', '1', "Setup Device Type", '', 'SetupDeviceType'), - 0x300A01B8: ('SH', '1', "Setup Device Label", '', 'SetupDeviceLabel'), - 0x300A01BA: ('ST', '1', "Setup Device Description", '', 'SetupDeviceDescription'), - 0x300A01BC: ('DS', '1', "Setup Device Parameter", '', 'SetupDeviceParameter'), - 0x300A01D0: ('ST', '1', "Setup Reference Description", '', 'SetupReferenceDescription'), - 0x300A01D2: ('DS', '1', "Table Top Vertical Setup Displacement", '', 'TableTopVerticalSetupDisplacement'), - 0x300A01D4: ('DS', '1', "Table Top Longitudinal Setup Displacement", '', 'TableTopLongitudinalSetupDisplacement'), - 0x300A01D6: ('DS', '1', "Table Top Lateral Setup Displacement", '', 'TableTopLateralSetupDisplacement'), - 0x300A0200: ('CS', '1', "Brachy Treatment Technique", '', 'BrachyTreatmentTechnique'), - 0x300A0202: ('CS', '1', "Brachy Treatment Type", '', 'BrachyTreatmentType'), - 0x300A0206: ('SQ', '1', "Treatment Machine Sequence", '', 'TreatmentMachineSequence'), - 0x300A0210: ('SQ', '1', "Source Sequence", '', 'SourceSequence'), - 0x300A0212: ('IS', '1', "Source Number", '', 'SourceNumber'), - 0x300A0214: ('CS', '1', "Source Type", '', 'SourceType'), - 0x300A0216: ('LO', '1', "Source Manufacturer", '', 'SourceManufacturer'), - 0x300A0218: ('DS', '1', "Active Source Diameter", '', 'ActiveSourceDiameter'), - 0x300A021A: ('DS', '1', "Active Source Length", '', 'ActiveSourceLength'), - 0x300A021B: ('SH', '1', "Source Model ID", '', 'SourceModelID'), - 0x300A021C: ('LO', '1', "Source Description", '', 'SourceDescription'), - 0x300A0222: ('DS', '1', "Source Encapsulation Nominal Thickness", '', 'SourceEncapsulationNominalThickness'), - 0x300A0224: ('DS', '1', "Source Encapsulation Nominal Transmission", '', 'SourceEncapsulationNominalTransmission'), - 0x300A0226: ('LO', '1', "Source Isotope Name", '', 'SourceIsotopeName'), - 0x300A0228: ('DS', '1', "Source Isotope Half Life", '', 'SourceIsotopeHalfLife'), - 0x300A0229: ('CS', '1', "Source Strength Units", '', 'SourceStrengthUnits'), - 0x300A022A: ('DS', '1', "Reference Air Kerma Rate", '', 'ReferenceAirKermaRate'), - 0x300A022B: ('DS', '1', "Source Strength", '', 'SourceStrength'), - 0x300A022C: ('DA', '1', "Source Strength Reference Date", '', 'SourceStrengthReferenceDate'), - 0x300A022E: ('TM', '1', "Source Strength Reference Time", '', 'SourceStrengthReferenceTime'), - 0x300A0230: ('SQ', '1', "Application Setup Sequence", '', 'ApplicationSetupSequence'), - 0x300A0232: ('CS', '1', "Application Setup Type", '', 'ApplicationSetupType'), - 0x300A0234: ('IS', '1', "Application Setup Number", '', 'ApplicationSetupNumber'), - 0x300A0236: ('LO', '1', "Application Setup Name", '', 'ApplicationSetupName'), - 0x300A0238: ('LO', '1', "Application Setup Manufacturer", '', 'ApplicationSetupManufacturer'), - 0x300A0240: ('IS', '1', "Template Number", '', 'TemplateNumber'), - 0x300A0242: ('SH', '1', "Template Type", '', 'TemplateType'), - 0x300A0244: ('LO', '1', "Template Name", '', 'TemplateName'), - 0x300A0250: ('DS', '1', "Total Reference Air Kerma", '', 'TotalReferenceAirKerma'), - 0x300A0260: ('SQ', '1', "Brachy Accessory Device Sequence", '', 'BrachyAccessoryDeviceSequence'), - 0x300A0262: ('IS', '1', "Brachy Accessory Device Number", '', 'BrachyAccessoryDeviceNumber'), - 0x300A0263: ('SH', '1', "Brachy Accessory Device ID", '', 'BrachyAccessoryDeviceID'), - 0x300A0264: ('CS', '1', "Brachy Accessory Device Type", '', 'BrachyAccessoryDeviceType'), - 0x300A0266: ('LO', '1', "Brachy Accessory Device Name", '', 'BrachyAccessoryDeviceName'), - 0x300A026A: ('DS', '1', "Brachy Accessory Device Nominal Thickness", '', 'BrachyAccessoryDeviceNominalThickness'), - 0x300A026C: ('DS', '1', "Brachy Accessory Device Nominal Transmission", '', 'BrachyAccessoryDeviceNominalTransmission'), - 0x300A0280: ('SQ', '1', "Channel Sequence", '', 'ChannelSequence'), - 0x300A0282: ('IS', '1', "Channel Number", '', 'ChannelNumber'), - 0x300A0284: ('DS', '1', "Channel Length", '', 'ChannelLength'), - 0x300A0286: ('DS', '1', "Channel Total Time", '', 'ChannelTotalTime'), - 0x300A0288: ('CS', '1', "Source Movement Type", '', 'SourceMovementType'), - 0x300A028A: ('IS', '1', "Number of Pulses", '', 'NumberOfPulses'), - 0x300A028C: ('DS', '1', "Pulse Repetition Interval", '', 'PulseRepetitionInterval'), - 0x300A0290: ('IS', '1', "Source Applicator Number", '', 'SourceApplicatorNumber'), - 0x300A0291: ('SH', '1', "Source Applicator ID", '', 'SourceApplicatorID'), - 0x300A0292: ('CS', '1', "Source Applicator Type", '', 'SourceApplicatorType'), - 0x300A0294: ('LO', '1', "Source Applicator Name", '', 'SourceApplicatorName'), - 0x300A0296: ('DS', '1', "Source Applicator Length", '', 'SourceApplicatorLength'), - 0x300A0298: ('LO', '1', "Source Applicator Manufacturer", '', 'SourceApplicatorManufacturer'), - 0x300A029C: ('DS', '1', "Source Applicator Wall Nominal Thickness", '', 'SourceApplicatorWallNominalThickness'), - 0x300A029E: ('DS', '1', "Source Applicator Wall Nominal Transmission", '', 'SourceApplicatorWallNominalTransmission'), - 0x300A02A0: ('DS', '1', "Source Applicator Step Size", '', 'SourceApplicatorStepSize'), - 0x300A02A2: ('IS', '1', "Transfer Tube Number", '', 'TransferTubeNumber'), - 0x300A02A4: ('DS', '1', "Transfer Tube Length", '', 'TransferTubeLength'), - 0x300A02B0: ('SQ', '1', "Channel Shield Sequence", '', 'ChannelShieldSequence'), - 0x300A02B2: ('IS', '1', "Channel Shield Number", '', 'ChannelShieldNumber'), - 0x300A02B3: ('SH', '1', "Channel Shield ID", '', 'ChannelShieldID'), - 0x300A02B4: ('LO', '1', "Channel Shield Name", '', 'ChannelShieldName'), - 0x300A02B8: ('DS', '1', "Channel Shield Nominal Thickness", '', 'ChannelShieldNominalThickness'), - 0x300A02BA: ('DS', '1', "Channel Shield Nominal Transmission", '', 'ChannelShieldNominalTransmission'), - 0x300A02C8: ('DS', '1', "Final Cumulative Time Weight", '', 'FinalCumulativeTimeWeight'), - 0x300A02D0: ('SQ', '1', "Brachy Control Point Sequence", '', 'BrachyControlPointSequence'), - 0x300A02D2: ('DS', '1', "Control Point Relative Position", '', 'ControlPointRelativePosition'), - 0x300A02D4: ('DS', '3', "Control Point 3D Position", '', 'ControlPoint3DPosition'), - 0x300A02D6: ('DS', '1', "Cumulative Time Weight", '', 'CumulativeTimeWeight'), - 0x300A02E0: ('CS', '1', "Compensator Divergence", '', 'CompensatorDivergence'), - 0x300A02E1: ('CS', '1', "Compensator Mounting Position", '', 'CompensatorMountingPosition'), - 0x300A02E2: ('DS', '1-n', "Source to Compensator Distance", '', 'SourceToCompensatorDistance'), - 0x300A02E3: ('FL', '1', "Total Compensator Tray Water-Equivalent Thickness", '', 'TotalCompensatorTrayWaterEquivalentThickness'), - 0x300A02E4: ('FL', '1', "Isocenter to Compensator Tray Distance", '', 'IsocenterToCompensatorTrayDistance'), - 0x300A02E5: ('FL', '1', "Compensator Column Offset", '', 'CompensatorColumnOffset'), - 0x300A02E6: ('FL', '1-n', "Isocenter to Compensator Distances", '', 'IsocenterToCompensatorDistances'), - 0x300A02E7: ('FL', '1', "Compensator Relative Stopping Power Ratio", '', 'CompensatorRelativeStoppingPowerRatio'), - 0x300A02E8: ('FL', '1', "Compensator Milling Tool Diameter", '', 'CompensatorMillingToolDiameter'), - 0x300A02EA: ('SQ', '1', "Ion Range Compensator Sequence", '', 'IonRangeCompensatorSequence'), - 0x300A02EB: ('LT', '1', "Compensator Description", '', 'CompensatorDescription'), - 0x300A0302: ('IS', '1', "Radiation Mass Number", '', 'RadiationMassNumber'), - 0x300A0304: ('IS', '1', "Radiation Atomic Number", '', 'RadiationAtomicNumber'), - 0x300A0306: ('SS', '1', "Radiation Charge State", '', 'RadiationChargeState'), - 0x300A0308: ('CS', '1', "Scan Mode", '', 'ScanMode'), - 0x300A030A: ('FL', '2', "Virtual Source-Axis Distances", '', 'VirtualSourceAxisDistances'), - 0x300A030C: ('SQ', '1', "Snout Sequence", '', 'SnoutSequence'), - 0x300A030D: ('FL', '1', "Snout Position", '', 'SnoutPosition'), - 0x300A030F: ('SH', '1', "Snout ID", '', 'SnoutID'), - 0x300A0312: ('IS', '1', "Number of Range Shifters", '', 'NumberOfRangeShifters'), - 0x300A0314: ('SQ', '1', "Range Shifter Sequence", '', 'RangeShifterSequence'), - 0x300A0316: ('IS', '1', "Range Shifter Number", '', 'RangeShifterNumber'), - 0x300A0318: ('SH', '1', "Range Shifter ID", '', 'RangeShifterID'), - 0x300A0320: ('CS', '1', "Range Shifter Type", '', 'RangeShifterType'), - 0x300A0322: ('LO', '1', "Range Shifter Description", '', 'RangeShifterDescription'), - 0x300A0330: ('IS', '1', "Number of Lateral Spreading Devices", '', 'NumberOfLateralSpreadingDevices'), - 0x300A0332: ('SQ', '1', "Lateral Spreading Device Sequence", '', 'LateralSpreadingDeviceSequence'), - 0x300A0334: ('IS', '1', "Lateral Spreading Device Number", '', 'LateralSpreadingDeviceNumber'), - 0x300A0336: ('SH', '1', "Lateral Spreading Device ID", '', 'LateralSpreadingDeviceID'), - 0x300A0338: ('CS', '1', "Lateral Spreading Device Type", '', 'LateralSpreadingDeviceType'), - 0x300A033A: ('LO', '1', "Lateral Spreading Device Description", '', 'LateralSpreadingDeviceDescription'), - 0x300A033C: ('FL', '1', "Lateral Spreading Device Water Equivalent Thickness", '', 'LateralSpreadingDeviceWaterEquivalentThickness'), - 0x300A0340: ('IS', '1', "Number of Range Modulators", '', 'NumberOfRangeModulators'), - 0x300A0342: ('SQ', '1', "Range Modulator Sequence", '', 'RangeModulatorSequence'), - 0x300A0344: ('IS', '1', "Range Modulator Number", '', 'RangeModulatorNumber'), - 0x300A0346: ('SH', '1', "Range Modulator ID", '', 'RangeModulatorID'), - 0x300A0348: ('CS', '1', "Range Modulator Type", '', 'RangeModulatorType'), - 0x300A034A: ('LO', '1', "Range Modulator Description", '', 'RangeModulatorDescription'), - 0x300A034C: ('SH', '1', "Beam Current Modulation ID", '', 'BeamCurrentModulationID'), - 0x300A0350: ('CS', '1', "Patient Support Type", '', 'PatientSupportType'), - 0x300A0352: ('SH', '1', "Patient Support ID", '', 'PatientSupportID'), - 0x300A0354: ('LO', '1', "Patient Support Accessory Code", '', 'PatientSupportAccessoryCode'), - 0x300A0356: ('FL', '1', "Fixation Light Azimuthal Angle", '', 'FixationLightAzimuthalAngle'), - 0x300A0358: ('FL', '1', "Fixation Light Polar Angle", '', 'FixationLightPolarAngle'), - 0x300A035A: ('FL', '1', "Meterset Rate", '', 'MetersetRate'), - 0x300A0360: ('SQ', '1', "Range Shifter Settings Sequence", '', 'RangeShifterSettingsSequence'), - 0x300A0362: ('LO', '1', "Range Shifter Setting", '', 'RangeShifterSetting'), - 0x300A0364: ('FL', '1', "Isocenter to Range Shifter Distance", '', 'IsocenterToRangeShifterDistance'), - 0x300A0366: ('FL', '1', "Range Shifter Water Equivalent Thickness", '', 'RangeShifterWaterEquivalentThickness'), - 0x300A0370: ('SQ', '1', "Lateral Spreading Device Settings Sequence", '', 'LateralSpreadingDeviceSettingsSequence'), - 0x300A0372: ('LO', '1', "Lateral Spreading Device Setting", '', 'LateralSpreadingDeviceSetting'), - 0x300A0374: ('FL', '1', "Isocenter to Lateral Spreading Device Distance", '', 'IsocenterToLateralSpreadingDeviceDistance'), - 0x300A0380: ('SQ', '1', "Range Modulator Settings Sequence", '', 'RangeModulatorSettingsSequence'), - 0x300A0382: ('FL', '1', "Range Modulator Gating Start Value", '', 'RangeModulatorGatingStartValue'), - 0x300A0384: ('FL', '1', "Range Modulator Gating Stop Value", '', 'RangeModulatorGatingStopValue'), - 0x300A0386: ('FL', '1', "Range Modulator Gating Start Water Equivalent Thickness", '', 'RangeModulatorGatingStartWaterEquivalentThickness'), - 0x300A0388: ('FL', '1', "Range Modulator Gating Stop Water Equivalent Thickness", '', 'RangeModulatorGatingStopWaterEquivalentThickness'), - 0x300A038A: ('FL', '1', "Isocenter to Range Modulator Distance", '', 'IsocenterToRangeModulatorDistance'), - 0x300A0390: ('SH', '1', "Scan Spot Tune ID", '', 'ScanSpotTuneID'), - 0x300A0392: ('IS', '1', "Number of Scan Spot Positions", '', 'NumberOfScanSpotPositions'), - 0x300A0394: ('FL', '1-n', "Scan Spot Position Map", '', 'ScanSpotPositionMap'), - 0x300A0396: ('FL', '1-n', "Scan Spot Meterset Weights", '', 'ScanSpotMetersetWeights'), - 0x300A0398: ('FL', '2', "Scanning Spot Size", '', 'ScanningSpotSize'), - 0x300A039A: ('IS', '1', "Number of Paintings", '', 'NumberOfPaintings'), - 0x300A03A0: ('SQ', '1', "Ion Tolerance Table Sequence", '', 'IonToleranceTableSequence'), - 0x300A03A2: ('SQ', '1', "Ion Beam Sequence", '', 'IonBeamSequence'), - 0x300A03A4: ('SQ', '1', "Ion Beam Limiting Device Sequence", '', 'IonBeamLimitingDeviceSequence'), - 0x300A03A6: ('SQ', '1', "Ion Block Sequence", '', 'IonBlockSequence'), - 0x300A03A8: ('SQ', '1', "Ion Control Point Sequence", '', 'IonControlPointSequence'), - 0x300A03AA: ('SQ', '1', "Ion Wedge Sequence", '', 'IonWedgeSequence'), - 0x300A03AC: ('SQ', '1', "Ion Wedge Position Sequence", '', 'IonWedgePositionSequence'), - 0x300A0401: ('SQ', '1', "Referenced Setup Image Sequence", '', 'ReferencedSetupImageSequence'), - 0x300A0402: ('ST', '1', "Setup Image Comment", '', 'SetupImageComment'), - 0x300A0410: ('SQ', '1', "Motion Synchronization Sequence", '', 'MotionSynchronizationSequence'), - 0x300A0412: ('FL', '3', "Control Point Orientation", '', 'ControlPointOrientation'), - 0x300A0420: ('SQ', '1', "General Accessory Sequence", '', 'GeneralAccessorySequence'), - 0x300A0421: ('SH', '1', "General Accessory ID", '', 'GeneralAccessoryID'), - 0x300A0422: ('ST', '1', "General Accessory Description", '', 'GeneralAccessoryDescription'), - 0x300A0423: ('CS', '1', "General Accessory Type", '', 'GeneralAccessoryType'), - 0x300A0424: ('IS', '1', "General Accessory Number", '', 'GeneralAccessoryNumber'), - 0x300A0425: ('FL', '1', "Source to General Accessory Distance", '', 'SourceToGeneralAccessoryDistance'), - 0x300A0431: ('SQ', '1', "Applicator Geometry Sequence", '', 'ApplicatorGeometrySequence'), - 0x300A0432: ('CS', '1', "Applicator Aperture Shape", '', 'ApplicatorApertureShape'), - 0x300A0433: ('FL', '1', "Applicator Opening", '', 'ApplicatorOpening'), - 0x300A0434: ('FL', '1', "Applicator Opening X", '', 'ApplicatorOpeningX'), - 0x300A0435: ('FL', '1', "Applicator Opening Y", '', 'ApplicatorOpeningY'), - 0x300A0436: ('FL', '1', "Source to Applicator Mounting Position Distance", '', 'SourceToApplicatorMountingPositionDistance'), - 0x300C0002: ('SQ', '1', "Referenced RT Plan Sequence", '', 'ReferencedRTPlanSequence'), - 0x300C0004: ('SQ', '1', "Referenced Beam Sequence", '', 'ReferencedBeamSequence'), - 0x300C0006: ('IS', '1', "Referenced Beam Number", '', 'ReferencedBeamNumber'), - 0x300C0007: ('IS', '1', "Referenced Reference Image Number", '', 'ReferencedReferenceImageNumber'), - 0x300C0008: ('DS', '1', "Start Cumulative Meterset Weight", '', 'StartCumulativeMetersetWeight'), - 0x300C0009: ('DS', '1', "End Cumulative Meterset Weight", '', 'EndCumulativeMetersetWeight'), - 0x300C000A: ('SQ', '1', "Referenced Brachy Application Setup Sequence", '', 'ReferencedBrachyApplicationSetupSequence'), - 0x300C000C: ('IS', '1', "Referenced Brachy Application Setup Number", '', 'ReferencedBrachyApplicationSetupNumber'), - 0x300C000E: ('IS', '1', "Referenced Source Number", '', 'ReferencedSourceNumber'), - 0x300C0020: ('SQ', '1', "Referenced Fraction Group Sequence", '', 'ReferencedFractionGroupSequence'), - 0x300C0022: ('IS', '1', "Referenced Fraction Group Number", '', 'ReferencedFractionGroupNumber'), - 0x300C0040: ('SQ', '1', "Referenced Verification Image Sequence", '', 'ReferencedVerificationImageSequence'), - 0x300C0042: ('SQ', '1', "Referenced Reference Image Sequence", '', 'ReferencedReferenceImageSequence'), - 0x300C0050: ('SQ', '1', "Referenced Dose Reference Sequence", '', 'ReferencedDoseReferenceSequence'), - 0x300C0051: ('IS', '1', "Referenced Dose Reference Number", '', 'ReferencedDoseReferenceNumber'), - 0x300C0055: ('SQ', '1', "Brachy Referenced Dose Reference Sequence", '', 'BrachyReferencedDoseReferenceSequence'), - 0x300C0060: ('SQ', '1', "Referenced Structure Set Sequence", '', 'ReferencedStructureSetSequence'), - 0x300C006A: ('IS', '1', "Referenced Patient Setup Number", '', 'ReferencedPatientSetupNumber'), - 0x300C0080: ('SQ', '1', "Referenced Dose Sequence", '', 'ReferencedDoseSequence'), - 0x300C00A0: ('IS', '1', "Referenced Tolerance Table Number", '', 'ReferencedToleranceTableNumber'), - 0x300C00B0: ('SQ', '1', "Referenced Bolus Sequence", '', 'ReferencedBolusSequence'), - 0x300C00C0: ('IS', '1', "Referenced Wedge Number", '', 'ReferencedWedgeNumber'), - 0x300C00D0: ('IS', '1', "Referenced Compensator Number", '', 'ReferencedCompensatorNumber'), - 0x300C00E0: ('IS', '1', "Referenced Block Number", '', 'ReferencedBlockNumber'), - 0x300C00F0: ('IS', '1', "Referenced Control Point Index", '', 'ReferencedControlPointIndex'), - 0x300C00F2: ('SQ', '1', "Referenced Control Point Sequence", '', 'ReferencedControlPointSequence'), - 0x300C00F4: ('IS', '1', "Referenced Start Control Point Index", '', 'ReferencedStartControlPointIndex'), - 0x300C00F6: ('IS', '1', "Referenced Stop Control Point Index", '', 'ReferencedStopControlPointIndex'), - 0x300C0100: ('IS', '1', "Referenced Range Shifter Number", '', 'ReferencedRangeShifterNumber'), - 0x300C0102: ('IS', '1', "Referenced Lateral Spreading Device Number", '', 'ReferencedLateralSpreadingDeviceNumber'), - 0x300C0104: ('IS', '1', "Referenced Range Modulator Number", '', 'ReferencedRangeModulatorNumber'), - 0x300E0002: ('CS', '1', "Approval Status", '', 'ApprovalStatus'), - 0x300E0004: ('DA', '1', "Review Date", '', 'ReviewDate'), - 0x300E0005: ('TM', '1', "Review Time", '', 'ReviewTime'), - 0x300E0008: ('PN', '1', "Reviewer Name", '', 'ReviewerName'), - 0x40000010: ('LT', '1', "Arbitrary", 'Retired', 'Arbitrary'), - 0x40004000: ('LT', '1', "Text Comments", 'Retired', 'TextComments'), - 0x40080040: ('SH', '1', "Results ID", 'Retired', 'ResultsID'), - 0x40080042: ('LO', '1', "Results ID Issuer", 'Retired', 'ResultsIDIssuer'), - 0x40080050: ('SQ', '1', "Referenced Interpretation Sequence", 'Retired', 'ReferencedInterpretationSequence'), - 0x400800FF: ('CS', '1', "Report Production Status (Trial)", 'Retired', 'ReportProductionStatusTrial'), - 0x40080100: ('DA', '1', "Interpretation Recorded Date", 'Retired', 'InterpretationRecordedDate'), - 0x40080101: ('TM', '1', "Interpretation Recorded Time", 'Retired', 'InterpretationRecordedTime'), - 0x40080102: ('PN', '1', "Interpretation Recorder", 'Retired', 'InterpretationRecorder'), - 0x40080103: ('LO', '1', "Reference to Recorded Sound", 'Retired', 'ReferenceToRecordedSound'), - 0x40080108: ('DA', '1', "Interpretation Transcription Date", 'Retired', 'InterpretationTranscriptionDate'), - 0x40080109: ('TM', '1', "Interpretation Transcription Time", 'Retired', 'InterpretationTranscriptionTime'), - 0x4008010A: ('PN', '1', "Interpretation Transcriber", 'Retired', 'InterpretationTranscriber'), - 0x4008010B: ('ST', '1', "Interpretation Text", 'Retired', 'InterpretationText'), - 0x4008010C: ('PN', '1', "Interpretation Author", 'Retired', 'InterpretationAuthor'), - 0x40080111: ('SQ', '1', "Interpretation Approver Sequence", 'Retired', 'InterpretationApproverSequence'), - 0x40080112: ('DA', '1', "Interpretation Approval Date", 'Retired', 'InterpretationApprovalDate'), - 0x40080113: ('TM', '1', "Interpretation Approval Time", 'Retired', 'InterpretationApprovalTime'), - 0x40080114: ('PN', '1', "Physician Approving Interpretation", 'Retired', 'PhysicianApprovingInterpretation'), - 0x40080115: ('LT', '1', "Interpretation Diagnosis Description", 'Retired', 'InterpretationDiagnosisDescription'), - 0x40080117: ('SQ', '1', "Interpretation Diagnosis Code Sequence", 'Retired', 'InterpretationDiagnosisCodeSequence'), - 0x40080118: ('SQ', '1', "Results Distribution List Sequence", 'Retired', 'ResultsDistributionListSequence'), - 0x40080119: ('PN', '1', "Distribution Name", 'Retired', 'DistributionName'), - 0x4008011A: ('LO', '1', "Distribution Address", 'Retired', 'DistributionAddress'), - 0x40080200: ('SH', '1', "Interpretation ID", 'Retired', 'InterpretationID'), - 0x40080202: ('LO', '1', "Interpretation ID Issuer", 'Retired', 'InterpretationIDIssuer'), - 0x40080210: ('CS', '1', "Interpretation Type ID", 'Retired', 'InterpretationTypeID'), - 0x40080212: ('CS', '1', "Interpretation Status ID", 'Retired', 'InterpretationStatusID'), - 0x40080300: ('ST', '1', "Impressions", 'Retired', 'Impressions'), - 0x40084000: ('ST', '1', "Results Comments", 'Retired', 'ResultsComments'), - 0x40100001: ('CS', '1', "Low Energy Detectors", '', 'LowEnergyDetectors'), - 0x40100002: ('CS', '1', "High Energy Detectors", '', 'HighEnergyDetectors'), - 0x40100004: ('SQ', '1', "Detector Geometry Sequence", '', 'DetectorGeometrySequence'), - 0x40101001: ('SQ', '1', "Threat ROI Voxel Sequence", '', 'ThreatROIVoxelSequence'), - 0x40101004: ('FL', '3', "Threat ROI Base", '', 'ThreatROIBase'), - 0x40101005: ('FL', '3', "Threat ROI Extents", '', 'ThreatROIExtents'), - 0x40101006: ('OB', '1', "Threat ROI Bitmap", '', 'ThreatROIBitmap'), - 0x40101007: ('SH', '1', "Route Segment ID", '', 'RouteSegmentID'), - 0x40101008: ('CS', '1', "Gantry Type", '', 'GantryType'), - 0x40101009: ('CS', '1', "OOI Owner Type", '', 'OOIOwnerType'), - 0x4010100A: ('SQ', '1', "Route Segment Sequence", '', 'RouteSegmentSequence'), - 0x40101010: ('US', '1', "Potential Threat Object ID", '', 'PotentialThreatObjectID'), - 0x40101011: ('SQ', '1', "Threat Sequence", '', 'ThreatSequence'), - 0x40101012: ('CS', '1', "Threat Category", '', 'ThreatCategory'), - 0x40101013: ('LT', '1', "Threat Category Description", '', 'ThreatCategoryDescription'), - 0x40101014: ('CS', '1', "ATD Ability Assessment", '', 'ATDAbilityAssessment'), - 0x40101015: ('CS', '1', "ATD Assessment Flag", '', 'ATDAssessmentFlag'), - 0x40101016: ('FL', '1', "ATD Assessment Probability", '', 'ATDAssessmentProbability'), - 0x40101017: ('FL', '1', "Mass", '', 'Mass'), - 0x40101018: ('FL', '1', "Density", '', 'Density'), - 0x40101019: ('FL', '1', "Z Effective", '', 'ZEffective'), - 0x4010101A: ('SH', '1', "Boarding Pass ID", '', 'BoardingPassID'), - 0x4010101B: ('FL', '3', "Center of Mass", '', 'CenterOfMass'), - 0x4010101C: ('FL', '3', "Center of PTO", '', 'CenterOfPTO'), - 0x4010101D: ('FL', '6-n', "Bounding Polygon", '', 'BoundingPolygon'), - 0x4010101E: ('SH', '1', "Route Segment Start Location ID", '', 'RouteSegmentStartLocationID'), - 0x4010101F: ('SH', '1', "Route Segment End Location ID", '', 'RouteSegmentEndLocationID'), - 0x40101020: ('CS', '1', "Route Segment Location ID Type", '', 'RouteSegmentLocationIDType'), - 0x40101021: ('CS', '1-n', "Abort Reason", '', 'AbortReason'), - 0x40101023: ('FL', '1', "Volume of PTO", '', 'VolumeOfPTO'), - 0x40101024: ('CS', '1', "Abort Flag", '', 'AbortFlag'), - 0x40101025: ('DT', '1', "Route Segment Start Time", '', 'RouteSegmentStartTime'), - 0x40101026: ('DT', '1', "Route Segment End Time", '', 'RouteSegmentEndTime'), - 0x40101027: ('CS', '1', "TDR Type", '', 'TDRType'), - 0x40101028: ('CS', '1', "International Route Segment", '', 'InternationalRouteSegment'), - 0x40101029: ('LO', '1-n', "Threat Detection Algorithm and Version", '', 'ThreatDetectionAlgorithmandVersion'), - 0x4010102A: ('SH', '1', "Assigned Location", '', 'AssignedLocation'), - 0x4010102B: ('DT', '1', "Alarm Decision Time", '', 'AlarmDecisionTime'), - 0x40101031: ('CS', '1', "Alarm Decision", '', 'AlarmDecision'), - 0x40101033: ('US', '1', "Number of Total Objects", '', 'NumberOfTotalObjects'), - 0x40101034: ('US', '1', "Number of Alarm Objects", '', 'NumberOfAlarmObjects'), - 0x40101037: ('SQ', '1', "PTO Representation Sequence", '', 'PTORepresentationSequence'), - 0x40101038: ('SQ', '1', "ATD Assessment Sequence", '', 'ATDAssessmentSequence'), - 0x40101039: ('CS', '1', "TIP Type", '', 'TIPType'), - 0x4010103A: ('CS', '1', "DICOS Version", '', 'DICOSVersion'), - 0x40101041: ('DT', '1', "OOI Owner Creation Time", '', 'OOIOwnerCreationTime'), - 0x40101042: ('CS', '1', "OOI Type", '', 'OOIType'), - 0x40101043: ('FL', '3', "OOI Size", '', 'OOISize'), - 0x40101044: ('CS', '1', "Acquisition Status", '', 'AcquisitionStatus'), - 0x40101045: ('SQ', '1', "Basis Materials Code Sequence", '', 'BasisMaterialsCodeSequence'), - 0x40101046: ('CS', '1', "Phantom Type", '', 'PhantomType'), - 0x40101047: ('SQ', '1', "OOI Owner Sequence", '', 'OOIOwnerSequence'), - 0x40101048: ('CS', '1', "Scan Type", '', 'ScanType'), - 0x40101051: ('LO', '1', "Itinerary ID", '', 'ItineraryID'), - 0x40101052: ('SH', '1', "Itinerary ID Type", '', 'ItineraryIDType'), - 0x40101053: ('LO', '1', "Itinerary ID Assigning Authority", '', 'ItineraryIDAssigningAuthority'), - 0x40101054: ('SH', '1', "Route ID", '', 'RouteID'), - 0x40101055: ('SH', '1', "Route ID Assigning Authority", '', 'RouteIDAssigningAuthority'), - 0x40101056: ('CS', '1', "Inbound Arrival Type", '', 'InboundArrivalType'), - 0x40101058: ('SH', '1', "Carrier ID", '', 'CarrierID'), - 0x40101059: ('CS', '1', "Carrier ID Assigning Authority", '', 'CarrierIDAssigningAuthority'), - 0x40101060: ('FL', '3', "Source Orientation", '', 'SourceOrientation'), - 0x40101061: ('FL', '3', "Source Position", '', 'SourcePosition'), - 0x40101062: ('FL', '1', "Belt Height", '', 'BeltHeight'), - 0x40101064: ('SQ', '1', "Algorithm Routing Code Sequence", '', 'AlgorithmRoutingCodeSequence'), - 0x40101067: ('CS', '1', "Transport Classification", '', 'TransportClassification'), - 0x40101068: ('LT', '1', "OOI Type Descriptor", '', 'OOITypeDescriptor'), - 0x40101069: ('FL', '1', "Total Processing Time", '', 'TotalProcessingTime'), - 0x4010106C: ('OB', '1', "Detector Calibration Data", '', 'DetectorCalibrationData'), - 0x4010106D: ('CS', '1', "Additional Screening Performed", '', 'AdditionalScreeningPerformed'), - 0x4010106E: ('CS', '1', "Additional Inspection Selection Criteria", '', 'AdditionalInspectionSelectionCriteria'), - 0x4010106F: ('SQ', '1', "Additional Inspection Method Sequence", '', 'AdditionalInspectionMethodSequence'), - 0x40101070: ('CS', '1', "AIT Device Type", '', 'AITDeviceType'), - 0x40101071: ('SQ', '1', "QR Measurements Sequence", '', 'QRMeasurementsSequence'), - 0x40101072: ('SQ', '1', "Target Material Sequence", '', 'TargetMaterialSequence'), - 0x40101073: ('FD', '1', "SNR Threshold", '', 'SNRThreshold'), - 0x40101075: ('DS', '1', "Image Scale Representation", '', 'ImageScaleRepresentation'), - 0x40101076: ('SQ', '1', "Referenced PTO Sequence", '', 'ReferencedPTOSequence'), - 0x40101077: ('SQ', '1', "Referenced TDR Instance Sequence", '', 'ReferencedTDRInstanceSequence'), - 0x40101078: ('ST', '1', "PTO Location Description", '', 'PTOLocationDescription'), - 0x40101079: ('SQ', '1', "Anomaly Locator Indicator Sequence", '', 'AnomalyLocatorIndicatorSequence'), - 0x4010107A: ('FL', '3', "Anomaly Locator Indicator", '', 'AnomalyLocatorIndicator'), - 0x4010107B: ('SQ', '1', "PTO Region Sequence", '', 'PTORegionSequence'), - 0x4010107C: ('CS', '1', "Inspection Selection Criteria", '', 'InspectionSelectionCriteria'), - 0x4010107D: ('SQ', '1', "Secondary Inspection Method Sequence", '', 'SecondaryInspectionMethodSequence'), - 0x4010107E: ('DS', '6', "PRCS to RCS Orientation", '', 'PRCSToRCSOrientation'), - 0x4FFE0001: ('SQ', '1', "MAC Parameters Sequence", '', 'MACParametersSequence'), - 0x52009229: ('SQ', '1', "Shared Functional Groups Sequence", '', 'SharedFunctionalGroupsSequence'), - 0x52009230: ('SQ', '1', "Per-frame Functional Groups Sequence", '', 'PerFrameFunctionalGroupsSequence'), - 0x54000100: ('SQ', '1', "Waveform Sequence", '', 'WaveformSequence'), - 0x54000110: ('OB or OW', '1', "Channel Minimum Value", '', 'ChannelMinimumValue'), - 0x54000112: ('OB or OW', '1', "Channel Maximum Value", '', 'ChannelMaximumValue'), - 0x54001004: ('US', '1', "Waveform Bits Allocated", '', 'WaveformBitsAllocated'), - 0x54001006: ('CS', '1', "Waveform Sample Interpretation", '', 'WaveformSampleInterpretation'), - 0x5400100A: ('OB or OW', '1', "Waveform Padding Value", '', 'WaveformPaddingValue'), - 0x54001010: ('OB or OW', '1', "Waveform Data", '', 'WaveformData'), - 0x56000010: ('OF', '1', "First Order Phase Correction Angle", '', 'FirstOrderPhaseCorrectionAngle'), - 0x56000020: ('OF', '1', "Spectroscopy Data", '', 'SpectroscopyData'), - 0x7FE00010: ('OB or OW', '1', "Pixel Data", '', 'PixelData'), - 0x7FE00020: ('OW', '1', "Coefficients SDVN", 'Retired', 'CoefficientsSDVN'), - 0x7FE00030: ('OW', '1', "Coefficients SDHN", 'Retired', 'CoefficientsSDHN'), - 0x7FE00040: ('OW', '1', "Coefficients SDDN", 'Retired', 'CoefficientsSDDN'), - 0xFFFAFFFA: ('SQ', '1', "Digital Signatures Sequence", '', 'DigitalSignaturesSequence'), - 0xFFFCFFFC: ('OB', '1', "Data Set Trailing Padding", '', 'DataSetTrailingPadding'), - 0xFFFEE000: ('NONE', '1', "Item", '', 'Item'), - 0xFFFEE00D: ('NONE', '1', "Item Delimitation Item", '', 'ItemDelimitationItem'), - 0xFFFEE0DD: ('NONE', '1', "Sequence Delimitation Item", '', 'SequenceDelimitationItem') -} - -RepeatersDictionary = { - '002031xx': ('CS', '1-n', "Source Image IDs", 'Retired', 'SourceImageIDs'), - '002804x0': ('US', '1', "Rows For Nth Order Coefficients", 'Retired', 'RowsForNthOrderCoefficients'), - '002804x1': ('US', '1', "Columns For Nth Order Coefficients", 'Retired', 'ColumnsForNthOrderCoefficients'), - '002804x2': ('LO', '1-n', "Coefficient Coding", 'Retired', 'CoefficientCoding'), - '002804x3': ('AT', '1-n', "Coefficient Coding Pointers", 'Retired', 'CoefficientCodingPointers'), - '002808x0': ('CS', '1-n', "Code Label", 'Retired', 'CodeLabel'), - '002808x2': ('US', '1', "Number of Tables", 'Retired', 'NumberOfTables'), - '002808x3': ('AT', '1-n', "Code Table Location", 'Retired', 'CodeTableLocation'), - '002808x4': ('US', '1', "Bits For Code Word", 'Retired', 'BitsForCodeWord'), - '002808x8': ('AT', '1-n', "Image Data Location", 'Retired', 'ImageDataLocation'), - '1000xxx0': ('US', '3', "Escape Triplet", 'Retired', 'EscapeTriplet'), - '1000xxx1': ('US', '3', "Run Length Triplet", 'Retired', 'RunLengthTriplet'), - '1000xxx2': ('US', '1', "Huffman Table Size", 'Retired', 'HuffmanTableSize'), - '1000xxx3': ('US', '3', "Huffman Table Triplet", 'Retired', 'HuffmanTableTriplet'), - '1000xxx4': ('US', '1', "Shift Table Size", 'Retired', 'ShiftTableSize'), - '1000xxx5': ('US', '3', "Shift Table Triplet", 'Retired', 'ShiftTableTriplet'), - '1010xxxx': ('US', '1-n', "Zonal Map", 'Retired', 'ZonalMap'), - '50xx0005': ('US', '1', "Curve Dimensions", 'Retired', 'CurveDimensions'), - '50xx0010': ('US', '1', "Number of Points", 'Retired', 'NumberOfPoints'), - '50xx0020': ('CS', '1', "Type of Data", 'Retired', 'TypeOfData'), - '50xx0022': ('LO', '1', "Curve Description", 'Retired', 'CurveDescription'), - '50xx0030': ('SH', '1-n', "Axis Units", 'Retired', 'AxisUnits'), - '50xx0040': ('SH', '1-n', "Axis Labels", 'Retired', 'AxisLabels'), - '50xx0103': ('US', '1', "Data Value Representation", 'Retired', 'DataValueRepresentation'), - '50xx0104': ('US', '1-n', "Minimum Coordinate Value", 'Retired', 'MinimumCoordinateValue'), - '50xx0105': ('US', '1-n', "Maximum Coordinate Value", 'Retired', 'MaximumCoordinateValue'), - '50xx0106': ('SH', '1-n', "Curve Range", 'Retired', 'CurveRange'), - '50xx0110': ('US', '1-n', "Curve Data Descriptor", 'Retired', 'CurveDataDescriptor'), - '50xx0112': ('US', '1-n', "Coordinate Start Value", 'Retired', 'CoordinateStartValue'), - '50xx0114': ('US', '1-n', "Coordinate Step Value", 'Retired', 'CoordinateStepValue'), - '50xx1001': ('CS', '1', "Curve Activation Layer", 'Retired', 'CurveActivationLayer'), - '50xx2000': ('US', '1', "Audio Type", 'Retired', 'AudioType'), - '50xx2002': ('US', '1', "Audio Sample Format", 'Retired', 'AudioSampleFormat'), - '50xx2004': ('US', '1', "Number of Channels", 'Retired', 'NumberOfChannels'), - '50xx2006': ('UL', '1', "Number of Samples", 'Retired', 'NumberOfSamples'), - '50xx2008': ('UL', '1', "Sample Rate", 'Retired', 'SampleRate'), - '50xx200A': ('UL', '1', "Total Time", 'Retired', 'TotalTime'), - '50xx200C': ('OB or OW', '1', "Audio Sample Data", 'Retired', 'AudioSampleData'), - '50xx200E': ('LT', '1', "Audio Comments", 'Retired', 'AudioComments'), - '50xx2500': ('LO', '1', "Curve Label", 'Retired', 'CurveLabel'), - '50xx2600': ('SQ', '1', "Curve Referenced Overlay Sequence", 'Retired', 'CurveReferencedOverlaySequence'), - '50xx2610': ('US', '1', "Curve Referenced Overlay Group", 'Retired', 'CurveReferencedOverlayGroup'), - '50xx3000': ('OB or OW', '1', "Curve Data", 'Retired', 'CurveData'), - '60xx0010': ('US', '1', "Overlay Rows", '', 'OverlayRows'), - '60xx0011': ('US', '1', "Overlay Columns", '', 'OverlayColumns'), - '60xx0012': ('US', '1', "Overlay Planes", 'Retired', 'OverlayPlanes'), - '60xx0015': ('IS', '1', "Number of Frames in Overlay", '', 'NumberOfFramesInOverlay'), - '60xx0022': ('LO', '1', "Overlay Description", '', 'OverlayDescription'), - '60xx0040': ('CS', '1', "Overlay Type", '', 'OverlayType'), - '60xx0045': ('LO', '1', "Overlay Subtype", '', 'OverlaySubtype'), - '60xx0050': ('SS', '2', "Overlay Origin", '', 'OverlayOrigin'), - '60xx0051': ('US', '1', "Image Frame Origin", '', 'ImageFrameOrigin'), - '60xx0052': ('US', '1', "Overlay Plane Origin", 'Retired', 'OverlayPlaneOrigin'), - '60xx0060': ('CS', '1', "Overlay Compression Code", 'Retired', 'OverlayCompressionCode'), - '60xx0061': ('SH', '1', "Overlay Compression Originator", 'Retired', 'OverlayCompressionOriginator'), - '60xx0062': ('SH', '1', "Overlay Compression Label", 'Retired', 'OverlayCompressionLabel'), - '60xx0063': ('CS', '1', "Overlay Compression Description", 'Retired', 'OverlayCompressionDescription'), - '60xx0066': ('AT', '1-n', "Overlay Compression Step Pointers", 'Retired', 'OverlayCompressionStepPointers'), - '60xx0068': ('US', '1', "Overlay Repeat Interval", 'Retired', 'OverlayRepeatInterval'), - '60xx0069': ('US', '1', "Overlay Bits Grouped", 'Retired', 'OverlayBitsGrouped'), - '60xx0100': ('US', '1', "Overlay Bits Allocated", '', 'OverlayBitsAllocated'), - '60xx0102': ('US', '1', "Overlay Bit Position", '', 'OverlayBitPosition'), - '60xx0110': ('CS', '1', "Overlay Format", 'Retired', 'OverlayFormat'), - '60xx0200': ('US', '1', "Overlay Location", 'Retired', 'OverlayLocation'), - '60xx0800': ('CS', '1-n', "Overlay Code Label", 'Retired', 'OverlayCodeLabel'), - '60xx0802': ('US', '1', "Overlay Number of Tables", 'Retired', 'OverlayNumberOfTables'), - '60xx0803': ('AT', '1-n', "Overlay Code Table Location", 'Retired', 'OverlayCodeTableLocation'), - '60xx0804': ('US', '1', "Overlay Bits For Code Word", 'Retired', 'OverlayBitsForCodeWord'), - '60xx1001': ('CS', '1', "Overlay Activation Layer", '', 'OverlayActivationLayer'), - '60xx1100': ('US', '1', "Overlay Descriptor - Gray", 'Retired', 'OverlayDescriptorGray'), - '60xx1101': ('US', '1', "Overlay Descriptor - Red", 'Retired', 'OverlayDescriptorRed'), - '60xx1102': ('US', '1', "Overlay Descriptor - Green", 'Retired', 'OverlayDescriptorGreen'), - '60xx1103': ('US', '1', "Overlay Descriptor - Blue", 'Retired', 'OverlayDescriptorBlue'), - '60xx1200': ('US', '1-n', "Overlays - Gray", 'Retired', 'OverlaysGray'), - '60xx1201': ('US', '1-n', "Overlays - Red", 'Retired', 'OverlaysRed'), - '60xx1202': ('US', '1-n', "Overlays - Green", 'Retired', 'OverlaysGreen'), - '60xx1203': ('US', '1-n', "Overlays - Blue", 'Retired', 'OverlaysBlue'), - '60xx1301': ('IS', '1', "ROI Area", '', 'ROIArea'), - '60xx1302': ('DS', '1', "ROI Mean", '', 'ROIMean'), - '60xx1303': ('DS', '1', "ROI Standard Deviation", '', 'ROIStandardDeviation'), - '60xx1500': ('LO', '1', "Overlay Label", '', 'OverlayLabel'), - '60xx3000': ('OB or OW', '1', "Overlay Data", '', 'OverlayData'), - '60xx4000': ('LT', '1', "Overlay Comments", 'Retired', 'OverlayComments'), - '7Fxx0010': ('OB or OW', '1', "Variable Pixel Data", 'Retired', 'VariablePixelData'), - '7Fxx0011': ('US', '1', "Variable Next Data Group", 'Retired', 'VariableNextDataGroup'), - '7Fxx0020': ('OW', '1', "Variable Coefficients SDVN", 'Retired', 'VariableCoefficientsSDVN'), - '7Fxx0030': ('OW', '1', "Variable Coefficients SDHN", 'Retired', 'VariableCoefficientsSDHN'), - '7Fxx0040': ('OW', '1', "Variable Coefficients SDDN", 'Retired', 'VariableCoefficientsSDDN') -} diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_private_dict.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_private_dict.py deleted file mode 100644 index 2e9f0321..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/_private_dict.py +++ /dev/null @@ -1,9332 +0,0 @@ -# _private_dict.py -# This file was autogenerated by "make_private_dict.py", -# (then reformatted by reindent_private.py) -# from private elements list maintained by the GDCM project -# See the license.txt file for license information on pydicom, and GDCM. - -# This is a dictionary of DICOM dictionaries. -# The outer dictionary key is the Private Creator name ("owner"), -# the inner dictionary is a map of DICOM tag to -# (VR, VM, name, is_retired) -private_dictionaries = { - '1.2.840.113663.1': { - '0029xx00': ('US', '1', 'Unknown', ''), - '0029xx01': ('US', '1', 'Unknown', ''), - }, - '1.2.840.113681': { - '0019xx10': ('ST', '1', 'CR Image Params Common', ''), - '0019xx11': ('ST', '1', 'CR Image IP Params Single', ''), - '0019xx12': ('ST', '1', 'CR Image IP Params Left', ''), - '0019xx13': ('ST', '1', 'CR Image IP Params Right', ''), - }, - '1.2.840.113708.794.1.1.2.0': { - '0087xx10': ('CS', '1', 'Media Type', ''), - '0087xx20': ('CS', '1', 'Media Location', ''), - '0087xx30': ('ST', '1', 'Storage File ID', ''), - '0087xx40': ('DS', '1', 'Study or Image Size in MB', ''), - '0087xx50': ('IS', '1', 'Estimated Retrieve Time', ''), - }, - '2.16.840.1.114059.1.1.6.1.50.1': { - '0029xx20': ('LT', '1', 'Description', ''), - '0029xx21': ('ST', '1', 'Orientation', ''), - '0029xx22': ('ST', '1', 'Parameter 1', ''), - '0029xx23': ('ST', '1', 'Parameter 2', ''), - '0029xx24': ('LO', '1', 'Teeth', ''), - '0029xx25': ('LO', '1', 'Jaw', ''), - '0029xx26': ('LO', '1', 'Quadrant', ''), - '0029xx27': ('LO', '1', 'CRC', ''), - }, - 'A.L.I. Technologies, Inc.': { - '3711xx01': ('LO', '1', 'Filename', ''), - '3711xx02': ('OB', '1', 'Data Blob of a Visit', ''), - '3711xx03': ('US', '1', 'Revision Number', ''), - '3711xx04': ('UL', '1', 'Unix Timestamp', ''), - '3711xx05': ('IS', '1', 'Bag ID', ''), - '3711xx0c': ('UI', '1', 'Original Study UID', ''), - '3711xx0d': ('US', '1', 'Overlay Grayscale Value', ''), - '3711xx0e': ('CS', '1', 'Anonymization Status', ''), - }, - 'ACUSON': { - '0009xx00': ('IS', '1', 'Unknown', ''), - '0009xx01': ('IS', '1', 'Unknown', ''), - '0009xx02': ('UN', '1', 'Unknown', ''), - '0009xx03': ('UN', '1', 'Unknown', ''), - '0009xx04': ('UN', '1', 'Unknown', ''), - '0009xx05': ('UN', '1', 'Unknown', ''), - '0009xx06': ('UN', '1', 'Unknown', ''), - '0009xx07': ('UN', '1', 'Unknown', ''), - '0009xx08': ('LT', '1', 'Unknown', ''), - '0009xx09': ('LT', '1', 'Unknown', ''), - '0009xx0a': ('IS', '1', 'Unknown', ''), - '0009xx0b': ('IS', '1', 'Unknown', ''), - '0009xx0c': ('IS', '1', 'Unknown', ''), - '0009xx0d': ('IS', '1', 'Unknown', ''), - '0009xx0e': ('IS', '1', 'Unknown', ''), - '0009xx0f': ('UN', '1', 'Unknown', ''), - '0009xx10': ('IS', '1', 'Unknown', ''), - '0009xx11': ('UN', '1', 'Unknown', ''), - '0009xx12': ('IS', '1', 'Unknown', ''), - '0009xx13': ('IS', '1', 'Unknown', ''), - '0009xx14': ('LT', '1', 'Unknown', ''), - '0009xx15': ('UN', '1', 'Unknown', ''), - }, - 'ACUSON: 1.2.840.11386.1.0': { - '7fdfxx00': ('IS', '1', 'Lossy Compression Ratio', ''), - '7fdfxx01': ('US', '1', 'Image Format', ''), - '7fdfxx02': ('US', '1', 'Acuson Region Type', ''), - '7fdfxx0b': ('UL', '1', 'Acuson Image Apex X', ''), - '7fdfxx0c': ('UL', '1', 'Acuson Image Apex Y', ''), - '7fdfxx0d': ('IS', '1', 'B-Color-On Flag', ''), - }, - 'ACUSON:1.2.840.113680.1.0:0921': { - '0009xx20': ('UN', '1', 'View Name', ''), - '0009xx2a': ('UN', '1', 'View List', ''), - }, - 'ACUSON:1.2.840.113680.1.0:7f10': { - '7fdfxx00': ('UN', '1', 'Lossy Compression Ratio', ''), - '7fdfxx01': ('UN', '1', 'Image Format', ''), - '7fdfxx02': ('UN', '1', 'Acuson Region Type', ''), - '7fdfxx0b': ('UN', '1', 'Acuson Image Apex X', ''), - '7fdfxx0c': ('UN', '1', 'Acuson Image Apex Y', ''), - '7fdfxx0d': ('UN', '1', 'B-Color-On Flag', ''), - '7fdfxx0e': ('UN', '1', 'Acuson Mechanical Apex X', ''), - '7fdfxx0f': ('UN', '1', 'Acuson Mechanical Apex Y', ''), - '7fdfxx10': ('UN', '1', 'Acquisition Type:', ''), - '7fdfxx18': ('UN', '1', 'Transformation Matrix Sequence', ''), - '7fdfxx20': ('UN', '1', 'Left angle', ''), - '7fdfxx22': ('UN', '1', 'Right angle', ''), - '7fdfxx24': ('UN', '1', 'Color Map Family', ''), - '7fdfxx25': ('UN', '1', 'Full Colormap.', ''), - '7fdfxx26': ('UN', '1', 'Color Invert', ''), - '7fdfxx27': ('UN', '1', 'Color Baseline', ''), - '7fdfxx28': ('UN', '1', 'CD Color Mix Points X1', ''), - '7fdfxx29': ('UN', '1', 'CD Color Mix Points Y1', ''), - '7fdfxx2a': ('UN', '1', 'CD Color Mix Points X2', ''), - '7fdfxx2b': ('UN', '1', 'CD Color Mix Points Y2', ''), - '7fdfxx2c': ('UN', '1', 'Color Accent', ''), - '7fdfxx30': ('UN', '1', 'Persistence SQ', ''), - '7fdfxx31': ('UN', '1', 'Persistence Mode', ''), - '7fdfxx32': ('UN', '1', 'Persistence Coefficient Mode', ''), - '7fdfxx33': ('UN', '1', 'Alpha coefficient', ''), - '7fdfxx34': ('UN', '1', 'Gamma coefficient', ''), - '7fdfxx35': ('UN', '1', 'Persistence Time Flag', ''), - '7fdfxx36': ('UN', '1', 'Persistence adaptive flag', ''), - '7fdfxx37': ('UN', '1', 'Persistence Frame Rate', ''), - '7fdfxx38': ('UN', '1', 'Persistence ID', ''), - '7fdfxx40': ('UN', '1', 'Observation Date Time SQ', ''), - '7fdfxx50': ('UN', '1', 'Capture Type Name', ''), - '7fdfxx52': ('UN', '1', 'Capture Type Number', ''), - '7fdfxx54': ('UN', '1', 'Number of Capture Types', ''), - '7fdfxx60': ('UN', '1', 'CD Steering Angle', ''), - '7fdfxx61': ('UN', '1', 'CD PRI', ''), - '7fdfxx62': ('UN', '1', 'CD Dynamic Range', ''), - '7fdfxx63': ('UN', '1', 'CD Velocity Scale Min', ''), - '7fdfxx64': ('UN', '1', 'CD Velocity Scale Max', ''), - '7fdfxx65': ('UN', '1', 'CD Color Mode', ''), - '7fdfxx66': ('UN', '1', 'CD Frequency', ''), - '7fdfxx67': ('UN', '1', 'CD Balance', ''), - '7fdfxx68': ('UN', '1', 'CD Delta', ''), - '7fdfxx69': ('UN', '1', 'CD Pan Box Min X0', ''), - '7fdfxx6a': ('UN', '1', 'CD Pan Box Min Y0', ''), - '7fdfxx6b': ('UN', '1', 'CD Pan Box Min X1', ''), - '7fdfxx6c': ('UN', '1', 'CD Pan Box Min Y1', ''), - '7fdfxx6d': ('UN', '1', 'CPS Map Type', ''), - '7fdfxx6e': ('UN', '1', 'CPS Map Data', ''), - '7fdfxx6f': ('UN', '1', 'CPS Balance Setting', ''), - '7fdfxx70': ('UN', '1', '3DCard Step Angle', ''), - '7fdfxx71': ('UN', '1', '3DCard Xdcr Angle', ''), - '7fdfxx72': ('UN', '1', 'B-mode Frequency', ''), - '7fdfxx73': ('UN', '1', 'B-mode Dynamic Range', ''), - '7fdfxx74': ('UN', '1', 'B-mode Frame Rate', ''), - '7fdfxx75': ('UN', '1', 'B-mode Space Time', ''), - '7fdfxx76': ('UN', '1', 'B-mode Persistence', ''), - '7fdfxx77': ('UN', '1', 'B-mode Display Depth Start', ''), - '7fdfxx78': ('UN', '1', 'B-mode Display Depth End', ''), - '7fdfxx79': ('UN', '1', 'B-mode Res Mode', ''), - '7fdfxx7a': ('UN', '1', 'B-mode Preset Application', ''), - '7fdfxx7b': ('UN', '1', 'Image Spec Name', ''), - '7fdfxx7c': ('UN', '1', 'B Preset Image Look', ''), - '7fdfxx7d': ('UN', '1', 'B-mode Post Processing', ''), - '7fdfxx7e': ('UN', '1', 'B Edge', ''), - '7fdfxx7f': ('UN', '1', 'B Delta', ''), - '7fdfxx80': ('UN', '1', 'B-mode 1D Post Processing Curve', ''), - '7fdfxx81': ('UN', '1', 'B-mode Delta (ECRI) Map Diagonal', ''), - '7fdfxx82': ('UN', '1', 'Bytes Per Timestamp', ''), - '7fdfxx83': ('UN', '1', 'Microseconds in unit timestamp', ''), - '7fdfxx84': ('UN', '1', 'Start Stopwatch Timestamp', ''), - '7fdfxx85': ('UN', '1', 'Acoustic Frame Timestamp', ''), - '7fdfxx86': ('UN', '1', 'R-Wave Timestamp', ''), - '7fdfxx87': ('UN', '1', 'Last Destruction Timestamp', ''), - '7fdfxx88': ('UN', '1', 'Pixels Per Second', ''), - '7fdfxx89': ('UN', '1', 'ECG Reference Timestamp', ''), - '7fdfxx8a': ('UN', '1', 'ECG Sampling Interval (milliseconds)', ''), - '7fdfxx8b': ('UN', '1', 'ECG Sample Count', ''), - '7fdfxx8c': ('UN', '1', 'ECG Sample Size', ''), - '7fdfxx8d': ('UN', '1', 'ECG Data Value', ''), - '7fdfxx8e': ('UN', '1', 'Contrast/Active Image Indicator', ''), - '7fdfxx8f': ('UN', '1', 'Live Dual Mode Indicator', ''), - '7fdfxx90': ('UN', '1', '3DCard Clipset ID', ''), - '7fdfxx91': ('UN', '1', '3DCard HRWave Min', ''), - '7fdfxx92': ('UN', '1', '3DCard HRWave Max', ''), - '7fdfxx93': ('UN', '1', 'Perspective Capture Type', ''), - '7fdfxxf1': ('UN', '1', 'Trigger Mask.', ''), - '7fdfxxf2': ('UN', '1', 'Study Directory', ''), - '7fdfxxf3': ('UN', '1', 'Last Modify Date', ''), - '7fdfxxf4': ('UN', '1', 'Last Modify Time', ''), - '7fdfxxf5': ('UN', '1', 'Teaching Study', ''), - '7fdfxxf6': ('UN', '1', 'Series Base UID', ''), - }, - 'ACUSON:1.2.840.113680.1.0:7ffe': { - '7fdfxx00': ('UN', '1', 'Data Padding', ''), - }, - 'ADAC_IMG': { - '0019xx02': ('IS', '1', 'Ver200 ADAC Pegasys File Size', ''), - '0019xx10': ('LO', '2', 'ADAC Header Signature', ''), - '0019xx11': ('US', '1', 'Number of ADAC Headers', ''), - '0019xx12': ('IS', '1-n', 'ADAC Header/Image Sizes', ''), - '0019xx20': ('OB', '1', 'ADAC Pegasys Headers', ''), - '0019xx21': ('US', '1', 'Ver200 Number of ADAC Headers', ''), - '0019xx41': ('IS', '1-n', 'Ver200 ADAC Header/Image Size', ''), - '0019xx61': ('OB', '1', 'Ver200 ADAC Pegasys Headers', ''), - '7043xx00': ('SH', '1', 'Cardiac Stress State', ''), - '7043xx10': ('LO', '1', 'Philips NM Private Group', ''), - }, - 'AEGIS_DICOM_2.00': { - '0003xx00': ('US', '1-n', 'Unknown', ''), - '0005xx00': ('US', '1-n', 'Unknown', ''), - '0009xx00': ('US', '1-n', 'Unknown', ''), - '0019xx00': ('US', '1-n', 'Unknown', ''), - '0029xx00': ('US', '1-n', 'Unknown', ''), - '1369xx00': ('US', '1-n', 'Unknown', ''), - }, - 'AGFA': { - '0009xx10': ('LO', '1', 'Unknown', ''), - '0009xx11': ('LO', '1', 'Unknown', ''), - '0009xx13': ('LO', '1', 'Unknown', ''), - '0009xx14': ('LO', '1', 'Unknown', ''), - '0009xx15': ('LO', '1', 'Unknown', ''), - '0019xx10': ('SH', '1', 'Private Identification Code', ''), - '0019xx11': ('LO', '3', 'Identification Data (Note 2)', ''), - '0019xx13': ('LO', '1', 'Sensitometry Name', ''), - '0019xx14': ('ST', '3', 'Window/Level List (Note 3)', ''), - '0019xx15': ('LO', '1', 'Dose Monitoring List', ''), - '0019xx16': ('LO', '3', 'Other Info (Note 5)', ''), - '0019xx1a': ('LO', '1', 'Clipped Exposure Deviation', ''), - '0019xx1b': ('LO', '1', 'Logarithmic PLT Full Scale', ''), - '0019xx60': ('US', '1', 'Total number of series', ''), - '0019xx61': ('SH', '1', 'Session Number', ''), - '0019xx62': ('SH', '1', 'ID Station name', ''), - '0019xx65': ('US', '1', 'Number of images in study to be transmitted (only sent with autoverify: on)', ''), - '0019xx70': ('US', '1', 'Total number of images', ''), - '0019xx80': ('ST', '1', 'Geometrical Transformations', ''), - '0019xx81': ('ST', '1', 'Roam Origin', ''), - '0019xx82': ('US', '1', 'Zoom factor', ''), - '0019xx93': ('CS', '1', 'Status', ''), - }, - 'AGFA PACS Archive Mirroring 1.0': { - '0031xx00': ('CS', '1', 'Unknown', ''), - '0031xx01': ('UL', '1', 'Unknown', ''), - }, - 'AGFA-AG_HPState': { - '0071xx18': ('SQ', '1', 'Unknown', ''), - '0071xx19': ('SQ', '1', 'Unknown', ''), - '0071xx1a': ('SQ', '1', 'Unknown', ''), - '0071xx1c': ('SQ', '1', 'Unknown', ''), - '0071xx1e': ('SQ', '1', 'Unknown', ''), - '0071xx20': ('FL', '1-n', 'Unknown', ''), - '0071xx21': ('FD', '1-n', 'Unknown', ''), - '0071xx22': ('FD', '1-n', 'Unknown', ''), - '0071xx23': ('FD', '1-n', 'Unknown', ''), - '0071xx24': ('FD', '1', 'Unknown', ''), - '0073xx23': ('SH', '1', 'Unknown', ''), - '0073xx24': ('SQ', '1', 'Unknown', ''), - '0073xx28': ('SQ', '1', 'Unknown', ''), - '0073xx80': ('FL', '1', 'Unknown', ''), - '0075xx10': ('LO', '1', 'Unknown', ''), - '0087xx01': ('LO', '1', 'Unknown', ''), - '0087xx02': ('LO', '1', 'Unknown', ''), - }, - 'AGFA_ADC_Compact': { - '0019xx05': ('ST', '1', 'Data stream from cassette', ''), - '0019xx10': ('LO', '1', 'Private Identification Code', ''), - '0019xx30': ('ST', '1', 'Set of destination types', ''), - '0019xx40': ('ST', '1', 'Set of destination Ids', ''), - '0019xx50': ('ST', '1', 'Set of processing codes', ''), - '0019xx60': ('US', '1', 'Number of series in study', ''), - '0019xx61': ('US', '1', 'Session Number', ''), - '0019xx62': ('SH', '1', 'ID station name', ''), - '0019xx70': ('US', '1', 'Number of images in series', ''), - '0019xx71': ('US', '1', 'Break condition', ''), - '0019xx72': ('US', '1', 'Wait (or Hold) flag', ''), - '0019xx73': ('US', '1', 'ScanRes flag', ''), - '0019xx74': ('SH', '1', 'Operation code', ''), - '0019xx95': ('CS', '1', 'Image quality', ''), - }, - 'ALOKA:1.2.392.200039.103.2': { - '0009xx00': ('SH', '1', 'Unknown', ''), - '0009xx04': ('US', '1-n', 'Unknown', ''), - '0009xx06': ('US', '1-n', 'Unknown', ''), - '0009xx0a': ('SH', '1', 'Unknown', ''), - '0009xx20': ('CS', '1', 'Unknown', ''), - '0009xx22': ('CS', '1', 'Unknown', ''), - '0009xx24': ('CS', '1', 'Unknown', ''), - '0009xx26': ('IS', '1', 'Unknown', ''), - '0009xx28': ('IS', '1', 'Unknown', ''), - '0009xx2a': ('DS', '1', 'Unknown', ''), - '0009xx30': ('FD', '1', 'Unknown', ''), - '0009xx32': ('DS', '1', 'Unknown', ''), - '0009xx34': ('CS', '1', 'Unknown', ''), - '0019xx08': ('FD', '1', 'Unknown', ''), - '0019xx0c': ('CS', '1', 'Unknown', ''), - '0019xx0e': ('DS', '1', 'Unknown', ''), - '0019xx18': ('SL', '1', 'Unknown', ''), - '0019xx1a': ('SL', '1', 'Unknown', ''), - '0019xx40': ('SS', '1', 'Unknown', ''), - '0019xx46': ('US', '1', 'Unknown', ''), - '0019xx50': ('SL', '1', 'Unknown', ''), - '0019xx52': ('DS', '1', 'Unknown', ''), - '0019xx54': ('DS', '1', 'Unknown', ''), - '0019xx56': ('FD', '1', 'Unknown', ''), - }, - 'AMI Annotations_01': { - '3101xx10': ('SQ', '1', 'AMI Annotation Sequence (RET)', ''), - }, - 'AMI Annotations_02': { - '3101xx20': ('SQ', '1', 'AMI Annotation Sequence (RET)', ''), - }, - 'AMI ImageContextExt_01': { - '3107xxa0': ('CS', '1', 'AMI Window Function (RET)', ''), - '3107xxb0': ('DS', '1', 'AMI Window Slope (RET)', ''), - }, - 'AMI ImageContext_01': { - '3109xx10': ('CS', '1', 'AMI Window Invert (RET)', ''), - '3109xx20': ('IS', '1', 'AMI Window Center (RET)', ''), - '3109xx30': ('IS', '1', 'AMI Window Widith (RET)', ''), - '3109xx40': ('CS', '1', 'AMI Pixel Aspect Ratio Swap (RET)', ''), - '3109xx50': ('CS', '1', 'AMI Enable Averaging (RET)', ''), - '3109xx60': ('CS', '1', 'AMI Quality (RET)', ''), - '3109xx70': ('CS', '1', 'AMI Viewport Annotation Level (RET)', ''), - '3109xx80': ('CS', '1', 'AMI Show Image Annotation (RET)', ''), - '3109xx90': ('CS', '1', 'AMI Show Image Overlay (RET)', ''), - }, - 'AMI ImageTransform_01': { - '3107xx10': ('DS', '1', 'AMI Transformation Matrix (RET)', ''), - '3107xx20': ('DS', '1', 'AMI Center Offset (RET)', ''), - '3107xx30': ('DS', '1', 'AMI Magnification (RET)', ''), - '3107xx40': ('CS', '1', 'AMI Magnification Type (RET)', ''), - '3107xx50': ('DS', '1', 'AMI Displayed Area (RET)', ''), - '3107xx60': ('DS', '1', 'AMI Calibration Factor (RET)', ''), - }, - 'AMI Sequence AnnotElements_01': { - '3105xx10': ('DS', '1', 'AMI Annotation Element Position', ''), - '3105xx20': ('LT', '1', 'AMI Annotation Element Text', ''), - }, - 'AMI Sequence Annotations_01': { - '3103xx10': ('CS', '1', 'AMI Annotation Sequence (RET)', ''), - '3103xx20': ('UI', '1', 'AMI Annotation UID (RET)', ''), - '3103xx30': ('US', '1', 'AMI Annotation Color (RET)', ''), - '3103xx40': ('FD', '1', 'FontSize', ''), - '3103xx50': ('CS', '1', 'AMI Annotation Line Style (RET)', ''), - '3103xx60': ('SQ', '1', 'AMI Annotation Elements (RET)', ''), - '3103xx70': ('SH', '1', 'AMI Annotation Label (RET)', ''), - '3103xx80': ('PN', '1', 'AMI Annotation Creator (RET)', ''), - '3103xx90': ('PN', '1', 'AMI Annotation Modifiers (RET)', ''), - '3103xxa0': ('DA', '1', 'AMI Annotation Creation Date (RET)', ''), - '3103xxb0': ('TM', '1', 'AMI Annotation Creation Time (RET)', ''), - '3103xxc0': ('DA', '1', 'AMI Annotation Modification Dates (RET)', ''), - '3103xxd0': ('TM', '1', 'AMI Annotation Mofification Times (RET)', ''), - '3103xxe0': ('US', '1', 'AMI Annotation Frame Number (RET)', ''), - }, - 'AMI Sequence Annotations_02': { - '3103xx10': ('CS', '1', 'AMI Annotation Sequence (RET)', ''), - '3103xx20': ('UI', '1', 'AMI Annotation UID (RET)', ''), - '3103xx30': ('US', '1', 'AMI Annotation Color (RET)', ''), - '3103xx50': ('CS', '1', 'AMI Annotation Line Style (RET)', ''), - '3103xx60': ('SQ', '1', 'AMI Annotation Elements (RET)', ''), - '3103xx70': ('SH', '1', 'AMI Annotation Label (RET)', ''), - '3103xx80': ('PN', '1', 'AMI Annotation Creator (RET)', ''), - '3103xx90': ('PN', '1', 'AMI Annotation Modifiers (RET)', ''), - '3103xxa0': ('DA', '1', 'AMI Annotation Creation Date (RET)', ''), - '3103xxb0': ('TM', '1', 'AMI Annotation Creation Time (RET)', ''), - '3103xxc0': ('DA', '1', 'AMI Annotation Modification Dates (RET)', ''), - '3103xxd0': ('TM', '1', 'AMI Annotation Modification Times (RET)', ''), - '3103xxe0': ('US', '1', 'AMI Annotation Frame Number (RET)', ''), - }, - 'AMI StudyExtensions_01': { - '3111xx01': ('UL', '1', 'AMI Last Released Annot Label (RET)', ''), - }, - 'AMICAS0': { - '0023xx01': ('UI', '1', '', ''), - '0023xx08': ('US', '1', '', ''), - '0023xx10': ('US', '1', '', ''), - '0023xx16': ('SL', '1', '', ''), - }, - 'APEX_PRIVATE': { - '0027xx10': ('LO', '1', 'Private Creator', ''), - '0027xx11': ('DS', '1', 'Bed Position', ''), - }, - 'ATL HDI V1.0': { - '0009xx00': ('UN', '1', 'Private', ''), - '0009xx10': ('UN', '1', 'Private', ''), - '0009xx20': ('UN', '1', 'Private', ''), - '0009xx30': ('UN', '1', 'Private', ''), - '0009xx40': ('UN', '1', 'Private', ''), - '0009xx50': ('UN', '1', 'Private', ''), - '0009xx60': ('UN', '1', 'Private', ''), - '0009xx70': ('UN', '1', 'Private', ''), - '0009xx80': ('UN', '1', 'Private', ''), - '0009xx90': ('UN', '1', 'Private', ''), - '0009xx91': ('UN', '1', 'Private', ''), - '0029xx30': ('UN', '1', 'Loop Mode', ''), - '0029xx31': ('UN', '1', 'Trigger mode', ''), - '0029xx32': ('UN', '1', 'Number of Loops', ''), - '0029xx33': ('UN', '1', 'Loop Indexes', ''), - '0029xx34': ('UN', '1', 'Loop Heart Rates', ''), - '0029xx35': ('UN', '1', 'Medications', ''), - }, - 'ATL PRIVATE TAGS': { - '0029xx30': ('UL', '1', 'Loop Mode', ''), - '0029xx31': ('UL', '1', 'Trigger mode', ''), - '0029xx32': ('UL', '1', 'Number of Loops', ''), - '0029xx33': ('DS', '1-n', 'Loop Indexes', ''), - '0029xx34': ('DS', '1-n', 'Loop Heart Rates', ''), - '0029xx35': ('LO', '1', 'Medications', ''), - }, - 'Acuson X500': { - '0009xx20': ('UN', '1', '(a)View Name', ''), - '0009xx2a': ('UN', '1', 'View List', ''), - '0011xx10': ('UN', '1', 'Siemens Medical', ''), - '0011xx11': ('UN', '1', 'DIMAQ Software', ''), - '0011xx20': ('UN', '1', 'Private Data', ''), - '0011xx21': ('UN', '1', 'Private Data', ''), - '0013xx10': ('UN', '1', 'Siemens Medical', ''), - '0013xx11': ('UN', '1', 'DIMAQ Software', ''), - '0013xx20': ('UN', '1', 'Private Data', ''), - '0015xx10': ('UN', '1', 'Siemens Medical', ''), - '0015xx11': ('UN', '1', 'DIMAQ Software', ''), - '0015xx20': ('UN', '1', 'Private Data', ''), - '0017xx10': ('UN', '1', 'Siemens Medical', ''), - '0017xx11': ('UN', '1', 'DIMAQ Software', ''), - '0017xx20': ('UN', '1', 'Private Data', ''), - '0019xx20': ('UN', '1', 'Import Structured', ''), - }, - 'Agfa ADC NX': { - '0019xx09': ('SQ', '1', 'Unknown', ''), - '0019xxf5': ('CS', '1', 'Cassette Orientation', ''), - '0019xxf6': ('DS', '1', 'Plate Sensitivity', ''), - '0019xxf7': ('DS', '1', 'Plate Erasability', ''), - '0019xxf8': ('IS', '1', 'Unknown', ''), - '0019xxfe': ('CS', '1', 'Unknown', ''), - }, - 'AgilityRuntime': { - '0029xx11': ('CS', '1', 'Unknown', ''), - '0029xx12': ('US', '1', 'Unknown', ''), - '0029xx13': ('US', '1', 'Unknown', ''), - '0029xx14': ('US', '1', 'Unknown', ''), - '0029xx1f': ('US', '1', 'Unknown', ''), - }, - 'Applicare/Centricity Radiology Web/Version 1.0': { - '4109xx01': ('SH', '1', 'Mammography Laterality', ''), - '4109xx02': ('SH', '1', 'Mammography View Name', ''), - '4109xx03': ('SH', '1', 'Mammography View Modifier', ''), - }, - 'Applicare/Centricity Radiology Web/Version 2.0': { - '4111xx01': ('CS', '1', 'Secondary Spine Label', ''), - '4111xx02': ('IS', '1', 'Additional tags for Presentation State', ''), - }, - 'Applicare/Print/Version 5.1': { - '4101xx01': ('UL', '1', ' 1: - del encodings[0] - - # You can't re-decode unicode (string literals in py3) - if data_element.VM == 1: - if isinstance(data_element.value, unicode): - return - data_element.value = clean_escseq( - data_element.value.decode(encodings[0]), encodings) - else: - - output = list() - - for value in data_element.value: - if isinstance(value, unicode): - output.append(value) - else: - output.append(clean_escseq(value.decode(encodings[0]), encodings)) - - data_element.value = output diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/config.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/config.py deleted file mode 100644 index d16c261c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/config.py +++ /dev/null @@ -1,36 +0,0 @@ -# config.py -"""Pydicom configuration options.""" -# Copyright (c) 2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# doc strings following items are picked up by sphinx for documentation - -# Set the type used to hold DS values - -use_DS_decimal = False # default False; was decimal-based in pydicom 0.9.7 - - -def DS_decimal(use_Decimal_boolean=True): - """Set DS class to be derived from Decimal (True) or from float (False) - If this function is never called, the default in pydicom >= 0.9.8 - is for DS to be based on float. - """ - use_DS_decimal = use_Decimal_boolean - import dicom.valuerep - if use_DS_decimal: - dicom.valuerep.DSclass = dicom.valuerep.DSdecimal - else: - dicom.valuerep.DSclass = dicom.valuerep.DSfloat - - -allow_DS_float = False -"""Set allow_float to True to allow DSdecimal instances to be created with floats; -otherwise, they must be explicitly converted to strings, with the user -explicity setting the precision of digits and rounding. Default: False""" - -enforce_valid_values = True -"""Raise errors if any value is not allowed by DICOM standard, e.g. DS strings -that are longer than 16 characters; IS strings outside the allowed range. -""" diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/__init__.py deleted file mode 100644 index 05ef6b86..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# __init__.py -# Mark the folder as a python package diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dcm_qt_tree.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dcm_qt_tree.py deleted file mode 100644 index 68fb798b..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dcm_qt_tree.py +++ /dev/null @@ -1,101 +0,0 @@ -# dcm_qt_tree.py -"""View DICOM files in a tree using Qt and PySide""" -# Copyright (c) 2013 Padraig Looney -# This file is released under the pydicom (http://code.google.com/p/pydicom/) -# license, see the file license.txt available at -# (http://code.google.com/p/pydicom/) - -import dicom -import sys -from PySide import QtGui -import collections - - -class DicomTree: - - def __init__(self, filename): - self.filename = filename - - def show_tree(self): - ds = self.dicom_to_dataset(self.filename) - dic = self.dataset_to_dic(ds) - model = self.dic_to_model(dic) - self.display(model) - - def array_to_model(self, array): - model = QtGui.QStandardItemModel() - parentItem = model.invisibleRootItem() - for ntuple in array: - tag = ntuple[0] - value = ntuple[1] - if isinstance(value, dict): - self.recurse_dic_to_item(value, parentItem) - else: - item = QtGui.QStandardItem(tag + str(value)) - parentItem.appendRow(item) - return parentItem - - def dic_to_model(self, dic): - model = QtGui.QStandardItemModel() - parentItem = model.invisibleRootItem() - self.recurse_dic_to_item(dic, parentItem) - return model - - def dataset_to_array(self, dataset): - array = [] - for data_element in dataset: - array.append(self.data_element_to_dic(data_element)) - return array - - def recurse_dic_to_item(self, dic, parent): - for k in dic: - v = dic[k] - if isinstance(v, dict): - item = QtGui.QStandardItem(k + ':' + str(v)) - parent.appendRow(self.recurse_dic_to_item(v, item)) - else: - item = QtGui.QStandardItem(k + ': ' + str(v)) - parent.appendRow(item) - return parent - - def dicom_to_dataset(self, filename): - dataset = dicom.read_file(filename, force=True) - return dataset - - def data_element_to_dic(self, data_element): - dic = collections.OrderedDict() - if data_element.VR == "SQ": - items = collections.OrderedDict() - dic[data_element.name] = items - i = 0 - for dataset_item in data_element: - items['item ' + str(i)] = self.dataset_to_dic(dataset_item) - i += 1 - elif data_element.name != 'Pixel Data': - dic[data_element.name] = data_element.value - return dic - - def dataset_to_dic(self, dataset): - dic = collections.OrderedDict() - for data_element in dataset: - dic.update(self.data_element_to_dic(data_element)) - return dic - - def display(self, model): - app = QtGui.QApplication.instance() - if not app: # create QApplication if it doesnt exist - app = QtGui.QApplication(sys.argv) - tree = QtGui.QTreeView() - tree.setModel(model) - tree.show() - app.exec_() - return tree - - -def main(): - filename = sys.argv[1] - dicomTree = DicomTree(filename) - dicomTree.show_tree() - -if __name__ == "__main__": - main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dicom_dao.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dicom_dao.py deleted file mode 100644 index d8dd1eff..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/dicom_dao.py +++ /dev/null @@ -1,409 +0,0 @@ -#!/usr/bin/python - -""" dicom_dao - -Data Access Objects for persisting PyDicom DataSet objects. - -Currently we support couchdb through the DicomCouch class. - -Limitations: - - Private tags are discarded - -TODO: - - Unit tests with multiple objects open at a time - - Unit tests with rtstruct objects - - Support for mongodb (mongo has more direct support for binary data) - -Dependencies: - - PyDicom - - python-couchdb - -Tested with: - - PyDicom 0.9.4-1 - - python-couchdb 0.6 - - couchdb 0.10.1 - -""" -# -# Copyright (c) 2010 Michael Wallace -# This file is released under the pydicom license. -# See the file license.txt included with the pydicom distribution, also -# available at https://github.com/darcymason/pydicom -# - -import hashlib -import os -import string -import couchdb -import dicom - - -def uid2str(uid): - """ Convert PyDicom uid to a string """ - return repr(uid).strip("'") - -# When reading files a VR of 'US or SS' is left as binary, because we -# don't know how to interpret the values different numbers. We therefore -# treat it as binary and will continue to until either pydicom works it out -# for us, or we figure out a test. -BINARY_VR_VALUES = ['OW', 'OB', 'OW/OB', 'US or SS'] - - -class DicomCouch(dict): - """ A Data Access Object for persisting PyDicom objects into CouchDB - - We follow the same pattern as the python-couchdb library for getting and - setting documents, for example storing dicom.dataset.Dataset object dcm: - db = DicomCouch('http://localhost:5984/', 'dbname') - db[dcm.SeriesInstanceUID] = dcm - - The only constraints on the key are that it must be json-serializable and - unique within the database instance. In theory it should be possible to - use any DICOM UID. Unfortunately I have written this code under the - assumption that SeriesInstanceUID will always be used. This will be fixed. - - Retrieving object with key 'foo': - dcm = db['foo'] - - Deleting object with key 'foo': - dcm = db['foo'] - db.delete(dcm) - - TODO: - - It is possible to have couchdb assign a uid when adding objects. This - should be supported. - """ - - def __init__(self, server, db): - """ Create connection to couchdb server/db """ - super(DicomCouch, self).__init__() - self._meta = {} - server = couchdb.Server(server) - try: - self._db = server[db] - except couchdb.client.ResourceNotFound: - self._db = server.create(db) - - def __getitem__(self, key): - """ Retrieve DICOM object with specified SeriesInstanceUID """ - doc = self._db[key] - dcm = json2pydicom(doc) - - if dcm.SeriesInstanceUID not in self._meta: - self._meta[dcm.SeriesInstanceUID] = {} - self._meta[dcm.SeriesInstanceUID]['hashes'] = {} - - if '_attachments' in doc: - self.__get_attachments(dcm, doc) - _set_meta_info_dcm(dcm) - # Keep a copy of the couch doc for use in DELETE operations - self._meta[dcm.SeriesInstanceUID]['doc'] = doc - return dcm - - def __setitem__(self, key, dcm): - """ Write the supplied DICOM object to the database """ - try: - dcm.PixelData = dcm.pixel_array.tostring() - except AttributeError: - pass # Silently ignore errors due to pixel_array not existing - except NotImplementedError: - pass # Silently ignore attempts to modify compressed pixel data - except TypeError: - pass # Silently ignore errors due to PixelData not existing - - jsn, binary_elements, file_meta_binary_elements = pydicom2json(dcm) - _strip_elements(jsn, binary_elements) - _strip_elements(jsn['file_meta'], file_meta_binary_elements) - if dcm.SeriesInstanceUID in self._meta: - self.__set_meta_info_jsn(jsn, dcm) - - try: # Actually write to the db - self._db[key] = jsn - except TypeError as type_error: - if str(type_error) == 'string indices must be integers, not str': - pass - - if dcm.SeriesInstanceUID not in self._meta: - self._meta[dcm.SeriesInstanceUID] = {} - self._meta[dcm.SeriesInstanceUID]['hashes'] = {} - - self.__put_attachments(dcm, binary_elements, jsn) - # Get a local copy of the document - # We get this from couch because we get the _id, _rev and _attachments - # keys which will ensure we don't overwrite the attachments we just - # uploaded. - # I don't really like the extra HTTP GET and I think we can generate - # what we need without doing it. Don't have time to work out how yet. - self._meta[dcm.SeriesInstanceUID]['doc'] = \ - self._db[dcm.SeriesInstanceUID] - - def __str__(self): - """ Return the string representation of the couchdb client """ - return str(self._db) - - def __repr__(self): - """ Return the canonical string representation of the couchdb client """ - return repr(self._db) - - def __get_attachments(self, dcm, doc): - """ Set binary tags by retrieving attachments from couchdb. - - Values are hashed so they are only updated if they have changed. - - """ - for id in doc['_attachments'].keys(): - tagstack = id.split(':') - value = self._db.get_attachment(doc['_id'], id) - _add_element(dcm, tagstack, value) - self._meta[dcm.SeriesInstanceUID]['hashes'][id] = hashlib.md5(value) - - def __put_attachments(self, dcm, binary_elements, jsn): - """ Upload all new and modified attachments """ - elements_to_update = \ - [(tagstack, item) - for tagstack, item in binary_elements - if self.__attachment_update_needed(dcm, - _tagstack2id(tagstack + [item.tag]), item) - ] # nopep8 - for tagstack, element in elements_to_update: - id = _tagstack2id(tagstack + [element.tag]) - self._db.put_attachment(jsn, element.value, id) - self._meta[dcm.SeriesInstanceUID]['hashes'][id] = \ - hashlib.md5(element.value) - - def delete(self, dcm): - """ Delete from database and remove meta info from the DAO """ - self._db.delete(self._meta[dcm.SeriesInstanceUID]['doc']) - self._meta.pop(dcm.SeriesInstanceUID) - - def __set_meta_info_jsn(self, jsn, dcm): - """ Set the couch-specific meta data for supplied dict """ - jsn['_rev'] = self._meta[dcm.SeriesInstanceUID]['doc']['_rev'] - if '_attachments' in self._meta[dcm.SeriesInstanceUID]['doc']: - jsn['_attachments'] = \ - self._meta[dcm.SeriesInstanceUID]['doc']['_attachments'] - - def __attachment_update_needed(self, dcm, id, binary_element): - """ Compare hashes for binary element and return true if different """ - try: - hashes = self._meta[dcm.SeriesInstanceUID]['hashes'] - except KeyError: - return True # If no hashes dict then attachments do not exist - - if id not in hashes or hashes[id].digest() != \ - hashlib.md5(binary_element.value).digest(): - return True - else: - return False - - -def _add_element(dcm, tagstack, value): - """ Add element with tag, vr and value to dcm at location tagstack """ - current_node = dcm - for item in tagstack[:-1]: - try: - address = int(item) - except ValueError: - address = dicom.tag.Tag(__str2tag(item)) - current_node = current_node[address] - tag = __str2tag(tagstack[-1]) - vr = dicom.datadict.dictionaryVR(tag) - current_node[tag] = dicom.dataelem.DataElement(tag, vr, value) - - -def _tagstack2id(tagstack): - """ Convert a list of tags to a unique (within document) attachment id """ - return string.join([str(tag) for tag in tagstack], ':') - - -def _strip_elements(jsn, elements): - """ Remove supplied elements from the dict object - - We use this with a list of binary elements so that we don't store - empty tags in couchdb when we are already storing the binary data as - attachments. - - """ - for tagstack, element in elements: - if len(tagstack) == 0: - jsn.pop(element.tag) - else: - current_node = jsn - for tag in tagstack: - current_node = current_node[tag] - current_node.pop(element.tag) - - -def _set_meta_info_dcm(dcm): - """ Set the file metadata DataSet attributes - - This is done by PyDicom when we dicom.read_file(foo) but we need to do it - ourselves when creating a DataSet from scratch, otherwise we cannot use - foo.pixel_array or dicom.write_file(foo). - - This code is lifted from PyDicom. - - """ - TransferSyntax = dcm.file_meta.TransferSyntaxUID - if TransferSyntax == dicom.UID.ExplicitVRLittleEndian: - dcm.is_implicit_vr = False - dcm.is_little_endian = True # This line not in PyDicom - elif TransferSyntax == dicom.UID.ImplicitVRLittleEndian: - dcm.is_implicit_vr = True - dcm.is_little_endian = True - elif TransferSyntax == dicom.UID.ExplicitVRBigEndian: - dcm.is_implicit_vr = False - dcm.is_little_endian = False - elif TransferSyntax == dicom.UID.DeflatedExplicitVRLittleEndian: - dcm.is_implicit_vr = False # Deleted lines above as it relates - dcm.is_little_endian = True # to reading compressed file data. - else: - # Any other syntax should be Explicit VR Little Endian, - # e.g. all Encapsulated (JPEG etc) are ExplVR-LE by - # Standard PS 3.5-2008 A.4 (p63) - dcm.is_implicit_vr = False - dcm.is_little_endian = True - - -def pydicom2json(dcm): - """ Convert the supplied PyDicom object into a json-serializable dict - - Binary elements cannot be represented in json so we return these as - as separate list of the tuple (tagstack, element), where: - - element = dicom.dataelem.DataElement - - tagstack = list of tags/sequence IDs that address the element - - The tagstack variable means we know the absolute address of each binary - element. We then use this as the attachment id in couchdb - when we - retrieve the attachment we can then insert it at the appropriate point in - the tree. - - """ - dcm.remove_private_tags() # No support for now - dcm.decode() # Convert to unicode - binary_elements = [] - tagstack = [] - jsn = dict((key, __jsonify(dcm[key], binary_elements, tagstack)) - for key in dcm.keys()) - file_meta_binary_elements = [] - jsn['file_meta'] = dict((key, __jsonify(dcm.file_meta[key], - file_meta_binary_elements, tagstack)) - for key in dcm.file_meta.keys()) - return jsn, binary_elements, file_meta_binary_elements - - -def __jsonify(element, binary_elements, tagstack): - """ Convert key, value to json-serializable types - - Recursive, so if value is key/value pairs then all children will get - converted - - """ - value = element.value - if element.VR in BINARY_VR_VALUES: - binary_elements.append((tagstack[:], element)) - return '' - elif type(value) == list: - new_list = [__typemap(listvalue) for listvalue in value] - return new_list - elif type(value) == dicom.sequence.Sequence: - tagstack.append(element.tag) - nested_data = [] - for i in range(0, len(value)): - tagstack.append(i) - nested_data.append(dict( - (subkey, __jsonify(value[i][subkey], binary_elements, tagstack)) - for subkey in value[i].keys())) - tagstack.pop() - tagstack.pop() - return nested_data - else: - return __typemap(value) - - -def __typemap(value): - """ Map PyDicom types that won't serialise to JSON types """ - if type(value) == dicom.UID.UID: - return uid2str(value) - elif isinstance(value, dicom.tag.BaseTag): - return long(value) - else: - return value - - -def json2pydicom(jsn): - """ Convert the supplied json dict into a PyDicom object """ - dataset = dicom.dataset.Dataset() - # Don't try to convert couch specific tags - dicom_keys = [key for key in jsn.keys() - if key not in ['_rev', '_id', '_attachments', 'file_meta']] - for key in dicom_keys: - dataset.add(__dicomify(key, jsn[key])) - file_meta = dicom.dataset.Dataset() - for key in jsn['file_meta']: - file_meta.add(__dicomify(key, jsn['file_meta'][key])) - dataset.file_meta = file_meta - return dataset - - -def __dicomify(key, value): - """ Convert a json key, value to a PyDicom DataElement """ - tag = __str2tag(key) - if tag.element == 0: # 0 tag implies group length (filreader.py pydicom) - vr = 'UL' - else: - vr = dicom.datadict.dictionaryVR(tag) - - if vr == 'OW/OB': # Always write pixel data as bytes - vr = 'OB' # rather than words - - if vr == 'US or SS': # US or SS is up to us as the data is already - if value < 0: # decoded. We therefore choose US, unless we - vr = 'SS' # need a signed value. - else: - vr = 'US' - - if vr == 'SQ': # We have a sequence of datasets, so we recurse - seq_list = [__make_dataset([__dicomify(subkey, listvalue[subkey]) - for subkey in listvalue.keys()]) - for listvalue in value - ] - seq = dicom.sequence.Sequence(seq_list) - return dicom.dataelem.DataElement(tag, vr, seq) - else: - return dicom.dataelem.DataElement(tag, vr, value) - - -def __make_dataset(data_elements): - """ Create a Dataset from a list of DataElement objects """ - dataset = dicom.dataset.Dataset() - for element in data_elements: - dataset.add(element) - return dataset - - -def __str2tag(key): - """ Convert string representation of a tag into a Tag """ - return dicom.tag.Tag((int(key[1:5], 16), int(key[7:-1], 16))) - - -if __name__ == '__main__': - TESTDB = 'dicom_test' - SERVER = 'http://127.0.0.1:5984' - # Delete test database if it already exists - couch = couchdb.Server(SERVER) - try: - couch.delete(TESTDB) - except couchdb.client.ResourceNotFound: - pass # Don't worry if it didn't exist - - db = DicomCouch(SERVER, TESTDB) - - testfiles_dir = '../testfiles' - testfiles = os.listdir('../testfiles') - testfiles = filter(lambda x: x.endswith('dcm'), testfiles) - testfiles = map(lambda x: os.path.join('../testfiles', x), testfiles) - - for dcmfile in testfiles: - dcm = dicom.read_file(dcmfile) - db[dcm.SeriesInstanceUID] = dcm diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/imViewer_Simple.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/imViewer_Simple.py deleted file mode 100644 index 07dbb7b3..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/imViewer_Simple.py +++ /dev/null @@ -1,292 +0,0 @@ -# ========================================================================== -# imViewer-Simple.py -# -# An example program that opens uncompressed DICOM images and -# converts them via numPy and PIL to be viewed in wxWidgets GUI -# apps. The conversion is currently: -# -# pydicom->NumPy->PIL->wxPython.Image->wxPython.Bitmap -# -# Gruesome but it mostly works. Surely there is at least one -# of these steps that could be eliminated (probably PIL) but -# haven't tried that yet and I may want some of the PIL manipulation -# functions. -# -# This won't handle RLE, embedded JPEG-Lossy, JPEG-lossless, -# JPEG2000, old ACR/NEMA files, or anything wierd. Also doesn't -# handle some RGB images that I tried. -# -# Have added Adit Panchal's LUT code. It helps a lot, but needs -# to be further generalized. Added test for window and/or level -# as 'list' type - crude, but it worked for a bunch of old MR and -# CT slices I have. -# -# Testing: minimal -# Tried only on WinXP sp2 using numpy 1.3.0 -# and PIL 1.1.7b1, Python 2.6.4, and wxPython 2.8.10.1 -# -# Dave Witten: Nov. 11, 2009 -# ========================================================================== -import dicom -import wx -have_PIL = True -try: - import PIL.Image -except: - have_PIL = False -have_numpy = True -try: - import numpy as np -except: - have_numpy = False - -# ---------------------------------------------------------------- -# Initialize image capabilities. -# ---------------------------------------------------------------- -wx.InitAllImageHandlers() - - -def MsgDlg(window, string, caption='OFAImage', style=wx.YES_NO | wx.CANCEL): - """Common MessageDialog.""" - dlg = wx.MessageDialog(window, string, caption, style) - result = dlg.ShowModal() - dlg.Destroy() - return result - - -class ImFrame(wx.Frame): - """Class for main window.""" - - def __init__(self, parent, title): - """Create the pydicom image example's main frame window.""" - - wx.Frame.__init__(self, parent, id=-1, title="", pos=wx.DefaultPosition, - size=wx.Size(w=1024, h=768), - style=wx.DEFAULT_FRAME_STYLE | wx.SUNKEN_BORDER | wx.CLIP_CHILDREN) - - # -------------------------------------------------------- - # Set up the menubar. - # -------------------------------------------------------- - self.mainmenu = wx.MenuBar() - - # Make the 'File' menu. - menu = wx.Menu() - item = menu.Append(wx.ID_ANY, '&Open', 'Open file for editing') - self.Bind(wx.EVT_MENU, self.OnFileOpen, item) - item = menu.Append(wx.ID_ANY, 'E&xit', 'Exit Program') - self.Bind(wx.EVT_MENU, self.OnFileExit, item) - self.mainmenu.Append(menu, '&File') - - # Attach the menu bar to the window. - self.SetMenuBar(self.mainmenu) - - # -------------------------------------------------------- - # Set up the main splitter window. - # -------------------------------------------------------- - self.mainSplitter = wx.SplitterWindow(self, style=wx.NO_3D | wx.SP_3D) - self.mainSplitter.SetMinimumPaneSize(1) - - # ------------------------------------------------------------- - # Create the folderTreeView on the left. - # ------------------------------------------------------------- - self.dsTreeView = wx.TreeCtrl(self.mainSplitter, style=wx.TR_LINES_AT_ROOT | wx.TR_HAS_BUTTONS) - - # -------------------------------------------------------- - # Create the ImageView on the right pane. - # -------------------------------------------------------- - self.imView = wx.Panel(self.mainSplitter, style=wx.VSCROLL | wx.HSCROLL | wx.CLIP_CHILDREN) - self.imView.Bind(wx.EVT_PAINT, self.OnPaint) - self.imView.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) - self.imView.Bind(wx.EVT_SIZE, self.OnSize) - - # -------------------------------------------------------- - # Install the splitter panes. - # -------------------------------------------------------- - self.mainSplitter.SplitVertically(self.dsTreeView, self.imView) - self.mainSplitter.SetSashPosition(300, True) - - # -------------------------------------------------------- - # Initialize some values - # -------------------------------------------------------- - self.dcmdsRoot = False - self.foldersRoot = False - self.loadCentered = True - self.bitmap = None - self.Show(True) - - def OnFileExit(self, event): - """Exits the program.""" - self.Destroy() - event.Skip() - - def OnSize(self, event): - "Window 'size' event." - self.Refresh() - - def OnEraseBackground(self, event): - "Window 'erase background' event." - pass - - def populateTree(self, ds): - """ Populate the tree in the left window with the [desired] - dataset values""" - if not self.dcmdsRoot: - self.dcmdsRoot = self.dsTreeView.AddRoot(text="DICOM Objects") - else: - self.dsTreeView.DeleteChildren(self.dcmdsRoot) - self.recurse_tree(ds, self.dcmdsRoot) - self.dsTreeView.ExpandAll() - - def recurse_tree(self, ds, parent, hide=False): - """ order the dicom tags """ - for data_element in ds: - if isinstance(data_element.value, unicode): - ip = self.dsTreeView.AppendItem(parent, text=unicode(data_element)) - else: - ip = self.dsTreeView.AppendItem(parent, text=str(data_element)) - - if data_element.VR == "SQ": - for i, ds in enumerate(data_element.value): - sq_item_description = data_element.name.replace(" Sequence", "") - item_text = "%s %d" % (sq_item_description, i + 1) - parentNodeID = self.dsTreeView.AppendItem(ip, text=item_text.rjust(128)) - self.recurse_tree(ds, parentNodeID) - -# --- Most of what is important happens below this line --------------------- - - def OnFileOpen(self, event): - """Opens a selected file.""" - dlg = wx.FileDialog(self, 'Choose a file to add.', '', '', '*.*', wx.OPEN) - if dlg.ShowModal() == wx.ID_OK: - fullPath = dlg.GetPath() - imageFile = dlg.GetFilename() - # checkDICMHeader() - self.show_file(imageFile, fullPath) - - def OnPaint(self, event): - "Window 'paint' event." - dc = wx.PaintDC(self.imView) - dc = wx.BufferedDC(dc) - - # paint a background just so it isn't *so* boring. - dc.SetBackground(wx.Brush("WHITE")) - dc.Clear() - dc.SetBrush(wx.Brush("GREY", wx.CROSSDIAG_HATCH)) - windowsize = self.imView.GetSizeTuple() - dc.DrawRectangle(0, 0, windowsize[0], windowsize[1]) - bmpX0 = 0 - bmpY0 = 0 - if self.bitmap is not None: - if self.loadCentered: - bmpX0 = (windowsize[0] - self.bitmap.Width) / 2 - bmpY0 = (windowsize[1] - self.bitmap.Height) / 2 - dc.DrawBitmap(self.bitmap, bmpX0, bmpY0, False) - - # ------------------------------------------------------------ - # ImFrame.ConvertWXToPIL() - # Expropriated from Andrea Gavana's - # ShapedButton.py in the wxPython dist - # ------------------------------------------------------------ - def ConvertWXToPIL(self, bmp): - """ Convert wx.Image Into PIL Image. """ - width = bmp.GetWidth() - height = bmp.GetHeight() - im = wx.EmptyImage(width, height) - im.fromarray("RGBA", (width, height), bmp.GetData()) - return im - - # ------------------------------------------------------------ - # ImFrame.ConvertPILToWX() - # Expropriated from Andrea Gavana's - # ShapedButton.py in the wxPython dist - # ------------------------------------------------------------ - def ConvertPILToWX(self, pil, alpha=True): - """ Convert PIL Image Into wx.Image. """ - if alpha: - image = apply(wx.EmptyImage, pil.size) - image.SetData(pil.convert("RGB").tostring()) - image.SetAlphaData(pil.convert("RGBA").tostring()[3::4]) - else: - image = wx.EmptyImage(pil.size[0], pil.size[1]) - new_image = pil.convert('RGB') - data = new_image.tostring() - image.SetData(data) - return image - - def get_LUT_value(self, data, window, level): - """Apply the RGB Look-Up Table for the given data and window/level value.""" - if not have_numpy: - raise ImportError("Numpy is not available. See http://numpy.scipy.org/ to download and install") - if isinstance(window, list): - window = window[0] - if isinstance(level, list): - level = level[0] - return np.piecewise(data, - [data <= (level - 0.5 - (window - 1) / 2), - data > (level - 0.5 + (window - 1) / 2)], - [0, 255, lambda data: ((data - (level - 0.5)) / (window - 1) + 0.5) * (255 - 0)] - ) - - # ----------------------------------------------------------- - # ImFrame.loadPIL_LUT(dataset) - # Display an image using the Python Imaging Library (PIL) - # ----------------------------------------------------------- - def loadPIL_LUT(self, dataset): - if not have_PIL: - raise ImportError("Python Imaging Library is not available. See http://www.pythonware.com/products/pil/ to download and install") - if('PixelData' not in dataset): - raise TypeError("Cannot show image -- DICOM dataset does not have pixel data") - if('WindowWidth' not in dataset) or ('WindowCenter' not in dataset): # can only apply LUT if these values exist - bits = dataset.BitsAllocated - samples = dataset.SamplesPerPixel - if bits == 8 and samples == 1: - mode = "L" - elif bits == 8 and samples == 3: - mode = "RGB" - elif bits == 16: # not sure about this -- PIL source says is 'experimental' and no documentation. - mode = "I;16" # Also, should bytes swap depending on endian of file and system?? - else: - raise TypeError("Don't know PIL mode for %d BitsAllocated and %d SamplesPerPixel" % (bits, samples)) - size = (dataset.Columns, dataset.Rows) - im = PIL.Image.frombuffer(mode, size, dataset.PixelData, "raw", mode, 0, 1) # Recommended to specify all details by http://www.pythonware.com/library/pil/handbook/image.htm - else: - image = self.get_LUT_value(dataset.pixel_array, dataset.WindowWidth, dataset.WindowCenter) - im = PIL.Image.fromarray(image).convert('L') # Convert mode to L since LUT has only 256 values: http://www.pythonware.com/library/pil/handbook/image.htm - return im - - def show_file(self, imageFile, fullPath): - """ Load the DICOM file, make sure it contains at least one - image, and set it up for display by OnPaint(). ** be - careful not to pass a unicode string to read_file or it will - give you 'fp object does not have a defer_size attribute, - or some such.""" - ds = dicom.read_file(str(fullPath)) - ds.decode() # change strings to unicode - self.populateTree(ds) - if 'PixelData' in ds: - self.dImage = self.loadPIL_LUT(ds) - if self.dImage is not None: - tmpImage = self.ConvertPILToWX(self.dImage, False) - self.bitmap = wx.BitmapFromImage(tmpImage) - self.Refresh() - -# ------ This is just the initialization of the App ------------------------- - - -# ======================================================= -# The main App Class. -# ======================================================= -class App(wx.App): - """Image Application.""" - - def OnInit(self): - """Create the Image Application.""" - ImFrame(None, 'wxImage Example') - return True - -# --------------------------------------------------------------------- -# If this file is running as main or a standalone test, begin execution here. -# --------------------------------------------------------------------- -if __name__ == '__main__': - app = App(0) - app.MainLoop() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_PIL.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_PIL.py deleted file mode 100644 index c93bd08c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_PIL.py +++ /dev/null @@ -1,75 +0,0 @@ -# pydicom_PIL.py -"""View DICOM images using Python image Library (PIL) - -Usage: ->>> import dicom ->>> from dicom.contrib.pydicom_PIL import show_PIL ->>> ds = dicom.read_file("filename") ->>> show_PIL(ds) - -Requires Numpy: http://numpy.scipy.org/ -and Python Imaging Library: http://www.pythonware.com/products/pil/ - -""" -# Copyright (c) 2009 Darcy Mason, Adit Panchal -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# Based on image.py from pydicom version 0.9.3, -# LUT code added by Adit Panchal -# Tested on Python 2.5.4 (32-bit) on Mac OS X 10.6 -# using numpy 1.3.0 and PIL 1.1.7b1 - -have_PIL = True -try: - import PIL.Image -except: - have_PIL = False - -have_numpy = True -try: - import numpy as np -except: - have_numpy = False - - -def get_LUT_value(data, window, level): - """Apply the RGB Look-Up Table for the given data and window/level value.""" - if not have_numpy: - raise ImportError("Numpy is not available. See http://numpy.scipy.org/ to download and install") - - return np.piecewise(data, - [data <= (level - 0.5 - (window - 1) / 2), - data > (level - 0.5 + (window - 1) / 2)], - [0, 255, lambda data: ((data - (level - 0.5)) / (window - 1) + 0.5) * (255 - 0)]) - - -# Display an image using the Python Imaging Library (PIL) -def show_PIL(dataset): - if not have_PIL: - raise ImportError("Python Imaging Library is not available. See http://www.pythonware.com/products/pil/ to download and install") - if ('PixelData' not in dataset): - raise TypeError("Cannot show image -- DICOM dataset does not have pixel data") - if ('WindowWidth' not in dataset) or ('WindowCenter' not in dataset): # can only apply LUT if these values exist - bits = dataset.BitsAllocated - samples = dataset.SamplesPerPixel - if bits == 8 and samples == 1: - mode = "L" - elif bits == 8 and samples == 3: - mode = "RGB" - elif bits == 16: - mode = "I;16" # not sure about this -- PIL source says is 'experimental' and no documentation. Also, should bytes swap depending on endian of file and system?? - else: - raise TypeError("Don't know PIL mode for %d BitsAllocated and %d SamplesPerPixel" % (bits, samples)) - - # PIL size = (width, height) - size = (dataset.Columns, dataset.Rows) - - im = PIL.Image.frombuffer(mode, size, dataset.PixelData, "raw", mode, 0, 1) # Recommended to specify all details by http://www.pythonware.com/library/pil/handbook/image.htm - - else: - image = get_LUT_value(dataset.pixel_array, dataset.WindowWidth, dataset.WindowCenter) - im = PIL.Image.fromarray(image).convert('L') # Convert mode to L since LUT has only 256 values: http://www.pythonware.com/library/pil/handbook/image.htm - - im.show() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_Tkinter.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_Tkinter.py deleted file mode 100644 index 4b2d4be7..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_Tkinter.py +++ /dev/null @@ -1,212 +0,0 @@ -# pydicom_Tkinter.py -# -# Copyright (c) 2009 Daniel Nanz -# This file is released under the pydicom (http://code.google.com/p/pydicom/) -# license, see the file license.txt available at -# (http://code.google.com/p/pydicom/) -# -# revision history: -# Dec-08-2009: version 0.1 -# -# 0.1: tested with pydicom version 0.9.3, Python version 2.6.2 (32-bit) -# under Windows XP Professional 2002, and Mac OS X 10.5.5, -# using numpy 1.3.0 and a small random selection of MRI and -# CT images. -''' -View DICOM images from pydicom - -requires numpy: http://numpy.scipy.org/ - -Usage: ------- ->>> import dicom # pydicom ->>> import dicom.contrib.pydicom_Tkinter as pydicom_Tkinter # this module - ->>> df = dicom.read_file(filename) ->>> pydicom_Tkinter.show_image(df) -''' - -import Tkinter -import tempfile -import os - -have_numpy = True -try: - import numpy as np -except: - # will not work... - have_numpy = False - - -def get_PGM_bytedata_string(arr): - '''Given a 2D numpy array as input write gray-value image data in the PGM - format into a byte string and return it. - - arr: single-byte unsigned int numpy array - note: Tkinter's PhotoImage object seems to accept only single-byte data - ''' - - if arr.dtype != np.uint8: - raise ValueError - if len(arr.shape) != 2: - raise ValueError - - # array.shape is (#rows, #cols) tuple; PGM input needs this reversed - col_row_string = ' '.join(reversed(map(str, arr.shape))) - - bytedata_string = '\n'.join(('P5', - col_row_string, - str(arr.max()), - arr.tostring())) - return bytedata_string - - -def get_PGM_from_numpy_arr(arr, window_center, window_width, - lut_min=0, lut_max=255): - '''real-valued numpy input -> PGM-image formatted byte string - - arr: real-valued numpy array to display as grayscale image - window_center, window_width: to define max/min values to be mapped to the - lookup-table range. WC/WW scaling is done - according to DICOM-3 specifications. - lut_min, lut_max: min/max values of (PGM-) grayscale table: do not change - ''' - - if np.isreal(arr).sum() != arr.size: - raise ValueError - - # currently only support 8-bit colors - if lut_max != 255: - raise ValueError - - if arr.dtype != np.float64: - arr = arr.astype(np.float64) - - # LUT-specific array scaling - # width >= 1 (DICOM standard) - window_width = max(1, window_width) - - wc, ww = np.float64(window_center), np.float64(window_width) - lut_range = np.float64(lut_max) - lut_min - - minval = wc - 0.5 - (ww - 1.0) / 2.0 - maxval = wc - 0.5 + (ww - 1.0) / 2.0 - - min_mask = (minval >= arr) - to_scale = (arr > minval) & (arr < maxval) - max_mask = (arr >= maxval) - - if min_mask.any(): - arr[min_mask] = lut_min - if to_scale.any(): - arr[to_scale] = ((arr[to_scale] - (wc - 0.5)) / - (ww - 1.0) + 0.5) * lut_range + lut_min - if max_mask.any(): - arr[max_mask] = lut_max - - # round to next integer values and convert to unsigned int - arr = np.rint(arr).astype(np.uint8) - - # return PGM byte-data string - return get_PGM_bytedata_string(arr) - - -def get_tkinter_photoimage_from_pydicom_image(data): - ''' - Wrap data.pixel_array in a Tkinter PhotoImage instance, - after conversion into a PGM grayscale image. - - This will fail if the "numpy" module is not installed in the attempt of - creating the data.pixel_array. - - data: object returned from pydicom.read_file() - side effect: may leave a temporary .pgm file on disk - ''' - - # get numpy array as representation of image data - arr = data.pixel_array.astype(np.float64) - - # pixel_array seems to be the original, non-rescaled array. - # If present, window center and width refer to rescaled array - # -> do rescaling if possible. - if ('RescaleIntercept' in data) and ('RescaleSlope' in data): - intercept = data.RescaleIntercept # single value - slope = data.RescaleSlope - arr = slope * arr + intercept - - # get default window_center and window_width values - wc = (arr.max() + arr.min()) / 2.0 - ww = arr.max() - arr.min() + 1.0 - - # overwrite with specific values from data, if available - if ('WindowCenter' in data) and ('WindowWidth' in data): - wc = data.WindowCenter - ww = data.WindowWidth - try: - wc = wc[0] # can be multiple values - except: - pass - try: - ww = ww[0] - except: - pass - - # scale array to account for center, width and PGM grayscale range, - # and wrap into PGM formatted ((byte-) string - pgm = get_PGM_from_numpy_arr(arr, wc, ww) - - # create a PhotoImage - # for as yet unidentified reasons the following fails for certain - # window center/width values: - # photo_image = Tkinter.PhotoImage(data=pgm, gamma=1.0) - # Error with Python 2.6.2 under Windows XP: - # (self.tk.call(('image', 'create', imgtype, name,) + options) - # _tkinter.TclError: truncated PPM data - # OsX: distorted images - # while all seems perfectly OK for other values of center/width or when - # the PGM is first written to a temporary file and read again - - # write PGM file into temp dir - (os_id, abs_path) = tempfile.mkstemp(suffix='.pgm') - with open(abs_path, 'wb') as fd: - fd.write(pgm) - - photo_image = Tkinter.PhotoImage(file=abs_path, gamma=1.0) - - # close and remove temporary file on disk - # os.close is needed under windows for os.remove not to fail - try: - os.close(os_id) - os.remove(abs_path) - except: - pass # silently leave file on disk in temp-like directory - - return photo_image - - -def show_image(data, block=True, master=None): - ''' - Get minimal Tkinter GUI and display a pydicom data.pixel_array - - data: object returned from pydicom.read_file() - block: if True run Tk mainloop() to show the image - master: use with block==False and an existing Tk widget as parent widget - - side effects: may leave a temporary .pgm file on disk - ''' - frame = Tkinter.Frame(master=master, background='#000') - if 'SeriesDescription' in data and 'InstanceNumber' in data: - title = ', '.join(('Ser: ' + data.SeriesDescription, - 'Img: ' + str(data.InstanceNumber))) - else: - title = 'pydicom image' - frame.master.title(title) - photo_image = get_tkinter_photoimage_from_pydicom_image(data) - label = Tkinter.Label(frame, image=photo_image, background='#000') - # keep a reference to avoid disappearance upon garbage collection - label.photo_reference = photo_image - label.grid() - frame.grid() - - if block: - frame.mainloop() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_series.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_series.py deleted file mode 100644 index 21228406..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/contrib/pydicom_series.py +++ /dev/null @@ -1,675 +0,0 @@ -# dicom_series.py -""" -By calling the function read_files with a directory name or list -of files as an argument, a list of DicomSeries instances can be -obtained. A DicomSeries object has some attributes that give -information about the serie (such as shape, sampling, suid) and -has an info attribute, which is a dicom.DataSet instance containing -information about the first dicom file in the serie. The data can -be obtained using the get_pixel_array() method, which produces a -3D numpy array if there a multiple files in the serie. - -This module can deal with gated data, in which case a DicomSeries -instance is created for each 3D volume. - -""" -# -# Copyright (c) 2010 Almar Klein -# This file is released under the pydicom license. -# See the file license.txt included with the pydicom distribution, also -# available at https://github.com/darcymason/pydicom -# - - -# I (Almar) performed some test to loading a series of data -# in two different ways: loading all data, and deferring loading -# the data. Both ways seem equally fast on my system. I have to -# note that results can differ quite a lot depending on the system, -# but still I think this suggests that deferred reading is in -# general not slower. I think deferred loading of the pixel data -# can be advantageous because maybe not all data of all series -# is needed. Also it simply saves memory, because the data is -# removed from the Dataset instances. -# In the few result below, cold means reading for the first time, -# warm means reading 2nd/3d/etc time. -# - Full loading of data, cold: 9 sec -# - Full loading of data, warm: 3 sec -# - Deferred loading of data, cold: 9 sec -# - Deferred loading of data, warm: 3 sec - - -import os -import time -import gc -import dicom -from dicom.sequence import Sequence - -# Try importing numpy -try: - import numpy as np - have_numpy = True -except Exception: - np = None # NOQA - have_numpy = False - - -# Helper functions and classes -class ProgressBar: - """ To print progress to the screen. - """ - def __init__(self, char='-', length=20): - self.char = char - self.length = length - self.progress = 0.0 - self.nbits = 0 - self.what = '' - - def Start(self, what=''): - """ Start(what='') - Start the progress bar, displaying the given text first. - Make sure not to print anything untill after calling - Finish(). Messages can be printed while displaying - progess by using printMessage(). - """ - self.what = what - self.progress = 0.0 - self.nbits = 0 - sys.stdout.write(what + " [") - - def Stop(self, message=""): - """ Stop the progress bar where it is now. - Optionally print a message behind it.""" - delta = int(self.length - self.nbits) - sys.stdout.write(" " * delta + "] " + message + "\n") - - def Finish(self, message=""): - """ Finish the progress bar, setting it to 100% if it - was not already. Optionally print a message behind the bar. - """ - delta = int(self.length - self.nbits) - sys.stdout.write(self.char * delta + "] " + message + "\n") - - def Update(self, newProgress): - """ Update progress. Progress is given as a number - between 0 and 1. - """ - self.progress = newProgress - required = self.length * (newProgress) - delta = int(required - self.nbits) - if delta > 0: - sys.stdout.write(self.char * delta) - self.nbits += delta - - def PrintMessage(self, message): - """ Print a message (for example a warning). - The message is printed behind the progress bar, - and a new bar is started. - """ - self.Stop(message) - self.Start(self.what) - - -def _dummyProgressCallback(progress): - """ A callback to indicate progress that does nothing. """ - pass - -_progressBar = ProgressBar() - - -def _progressCallback(progress): - """ The default callback for displaying progress. """ - if isinstance(progress, basestring): - _progressBar.Start(progress) - _progressBar._t0 = time.time() - elif progress is None: - dt = time.time() - _progressBar._t0 - _progressBar.Finish('%2.2f seconds' % dt) - else: - _progressBar.Update(progress) - - -def _listFiles(files, path): - """List all files in the directory, recursively. """ - - for item in os.listdir(path): - item = os.path.join(path, item) - if os.path.isdir(item): - _listFiles(files, item) - else: - files.append(item) - - -def _splitSerieIfRequired(serie, series): - """ _splitSerieIfRequired(serie, series) - Split the serie in multiple series if this is required. - The choice is based on examing the image position relative to - the previous image. If it differs too much, it is assumed - that there is a new dataset. This can happen for example in - unspitted gated CT data. - """ - - # Sort the original list and get local name - serie._sort() - L = serie._datasets - - # Init previous slice - ds1 = L[0] - - # Check whether we can do this - if "ImagePositionPatient" not in ds1: - return - - # Initialize a list of new lists - L2 = [[ds1]] - - # Init slice distance estimate - distance = 0 - - for index in range(1, len(L)): - - # Get current slice - ds2 = L[index] - - # Get positions - pos1 = float(ds1.ImagePositionPatient[2]) - pos2 = float(ds2.ImagePositionPatient[2]) - - # Get distances - newDist = abs(pos1 - pos2) - # deltaDist = abs(firstPos-pos2) - - # If the distance deviates more than 2x from what we've seen, - # we can agree it's a new dataset. - if distance and newDist > 2.1 * distance: - L2.append([]) - distance = 0 - else: - # Test missing file - if distance and newDist > 1.5 * distance: - print 'Warning: missing file after "%s"' % ds1.filename - distance = newDist - - # Add to last list - L2[-1].append(ds2) - - # Store previous - ds1 = ds2 - - # Split if we should - if len(L2) > 1: - - # At what position are we now? - i = series.index(serie) - - # Create new series - series2insert = [] - for L in L2: - newSerie = DicomSeries(serie.suid, serie._showProgress) - newSerie._datasets = Sequence(L) - series2insert.append(newSerie) - - # Insert series and remove self - for newSerie in reversed(series2insert): - series.insert(i, newSerie) - series.remove(serie) - - -pixelDataTag = dicom.tag.Tag(0x7fe0, 0x0010) - - -def _getPixelDataFromDataset(ds): - """ Get the pixel data from the given dataset. If the data - was deferred, make it deferred again, so that memory is - preserved. Also applies RescaleSlope and RescaleIntercept - if available. """ - - # Get original element - el = dict.__getitem__(ds, pixelDataTag) - - # Get data - data = ds.pixel_array - - # Remove data (mark as deferred) - dict.__setitem__(ds, pixelDataTag, el) - del ds._pixel_array - - # Obtain slope and offset - slope = 1 - offset = 0 - needFloats = False - needApplySlopeOffset = False - if 'RescaleSlope' in ds: - needApplySlopeOffset = True - slope = ds.RescaleSlope - if 'RescaleIntercept' in ds: - needApplySlopeOffset = True - offset = ds.RescaleIntercept - if int(slope) != slope or int(offset) != offset: - needFloats = True - if not needFloats: - slope, offset = int(slope), int(offset) - - # Apply slope and offset - if needApplySlopeOffset: - - # Maybe we need to change the datatype? - if data.dtype in [np.float32, np.float64]: - pass - elif needFloats: - data = data.astype(np.float32) - else: - # Determine required range - minReq, maxReq = data.min(), data.max() - minReq = min([minReq, minReq * slope + offset, maxReq * slope + offset]) - maxReq = max([maxReq, minReq * slope + offset, maxReq * slope + offset]) - - # Determine required datatype from that - dtype = None - if minReq < 0: - # Signed integer type - maxReq = max([-minReq, maxReq]) - if maxReq < 2 ** 7: - dtype = np.int8 - elif maxReq < 2 ** 15: - dtype = np.int16 - elif maxReq < 2 ** 31: - dtype = np.int32 - else: - dtype = np.float32 - else: - # Unsigned integer type - if maxReq < 2 ** 8: - dtype = np.int8 - elif maxReq < 2 ** 16: - dtype = np.int16 - elif maxReq < 2 ** 32: - dtype = np.int32 - else: - dtype = np.float32 - - # Change datatype - if dtype != data.dtype: - data = data.astype(dtype) - - # Apply slope and offset - data *= slope - data += offset - - # Done - return data - - -# The public functions and classes - -def read_files(path, showProgress=False, readPixelData=False, force=False): - """ read_files(path, showProgress=False, readPixelData=False) - - Reads dicom files and returns a list of DicomSeries objects, which - contain information about the data, and can be used to load the - image or volume data. - - The parameter "path" can also be a list of files or directories. - - If the callable "showProgress" is given, it is called with a single - argument to indicate the progress. The argument is a string when a - progress is started (indicating what is processed). A float indicates - progress updates. The paremeter is None when the progress is finished. - When "showProgress" is True, a default callback is used that writes - to stdout. By default, no progress is shown. - - if readPixelData is True, the pixel data of all series is read. By - default the loading of pixeldata is deferred until it is requested - using the DicomSeries.get_pixel_array() method. In general, both - methods should be equally fast. - """ - - # Init list of files - files = [] - - # Obtain data from the given path - if isinstance(path, basestring): - # Make dir nice - basedir = os.path.abspath(path) - # Check whether it exists - if not os.path.isdir(basedir): - raise ValueError('The given path is not a valid directory.') - # Find files recursively - _listFiles(files, basedir) - - elif isinstance(path, (tuple, list)): - # Iterate over all elements, which can be files or directories - for p in path: - if os.path.isdir(p): - _listFiles(files, os.path.abspath(p)) - elif os.path.isfile(p): - files.append(p) - else: - print "Warning, the path '%s' is not valid." % p - else: - raise ValueError('The path argument must be a string or list.') - - # Set default progress callback? - if showProgress is True: - showProgress = _progressCallback - if not hasattr(showProgress, '__call__'): - showProgress = _dummyProgressCallback - - # Set defer size - deferSize = 16383 # 128**2-1 - if readPixelData: - deferSize = None - - # Gather file data and put in DicomSeries - series = {} - count = 0 - showProgress('Loading series information:') - for filename in files: - - # Skip DICOMDIR files - if filename.count("DICOMDIR"): - continue - - # Try loading dicom ... - try: - dcm = dicom.read_file(filename, deferSize, force=force) - except dicom.filereader.InvalidDicomError: - continue # skip non-dicom file - except Exception as why: - if showProgress is _progressCallback: - _progressBar.PrintMessage(str(why)) - else: - print 'Warning:', why - continue - - # Get SUID and register the file with an existing or new series object - try: - suid = dcm.SeriesInstanceUID - except AttributeError: - continue # some other kind of dicom file - if suid not in series: - series[suid] = DicomSeries(suid, showProgress) - series[suid]._append(dcm) - - # Show progress (note that we always start with a 0.0) - showProgress(float(count) / len(files)) - count += 1 - - # Finish progress - showProgress(None) - - # Make a list and sort, so that the order is deterministic - series = series.values() - series.sort(key=lambda x: x.suid) - - # Split series if necessary - for serie in reversed([serie for serie in series]): - _splitSerieIfRequired(serie, series) - - # Finish all series - showProgress('Analysing series') - series_ = [] - for i in range(len(series)): - try: - series[i]._finish() - series_.append(series[i]) - except Exception: - pass # Skip serie (probably report-like file without pixels) - showProgress(float(i + 1) / len(series)) - showProgress(None) - - return series_ - - -class DicomSeries(object): - """ DicomSeries - This class represents a serie of dicom files that belong together. - If these are multiple files, they represent the slices of a volume - (like for CT or MRI). The actual volume can be obtained using loadData(). - Information about the data can be obtained using the info attribute. - """ - - # To create a DicomSeries object, start by making an instance and - # append files using the "_append" method. When all files are - # added, call "_sort" to sort the files, and then "_finish" to evaluate - # the data, perform some checks, and set the shape and sampling - # attributes of the instance. - - def __init__(self, suid, showProgress): - # Init dataset list and the callback - self._datasets = Sequence() - self._showProgress = showProgress - - # Init props - self._suid = suid - self._info = None - self._shape = None - self._sampling = None - - @property - def suid(self): - """ The Series Instance UID. """ - return self._suid - - @property - def shape(self): - """ The shape of the data (nz, ny, nx). - If None, the serie contains a single dicom file. """ - return self._shape - - @property - def sampling(self): - """ The sampling (voxel distances) of the data (dz, dy, dx). - If None, the serie contains a single dicom file. """ - return self._sampling - - @property - def info(self): - """ A DataSet instance containing the information as present in the - first dicomfile of this serie. """ - return self._info - - @property - def description(self): - """ A description of the dicom series. Used fields are - PatientName, shape of the data, SeriesDescription, - and ImageComments. - """ - - info = self.info - - # If no info available, return simple description - if info is None: - return "DicomSeries containing %i images" % len(self._datasets) - - fields = [] - - # Give patient name - if 'PatientName' in info: - fields.append("" + info.PatientName) - - # Also add dimensions - if self.shape: - tmp = [str(d) for d in self.shape] - fields.append('x'.join(tmp)) - - # Try adding more fields - if 'SeriesDescription' in info: - fields.append("'" + info.SeriesDescription + "'") - if 'ImageComments' in info: - fields.append("'" + info.ImageComments + "'") - - # Combine - return ' '.join(fields) - - def __repr__(self): - adr = hex(id(self)).upper() - return "" % (len(self._datasets), adr) - - def get_pixel_array(self): - """ get_pixel_array() - - Get (load) the data that this DicomSeries represents, and return - it as a numpy array. If this serie contains multiple images, the - resulting array is 3D, otherwise it's 2D. - - If RescaleSlope and RescaleIntercept are present in the dicom info, - the data is rescaled using these parameters. The data type is chosen - depending on the range of the (rescaled) data. - - """ - - # Can we do this? - if not have_numpy: - msg = "The Numpy package is required to use get_pixel_array.\n" - raise ImportError(msg) - - # It's easy if no file or if just a single file - if len(self._datasets) == 0: - raise ValueError('Serie does not contain any files.') - elif len(self._datasets) == 1: - ds = self._datasets[0] - slice = _getPixelDataFromDataset(ds) - return slice - - # Check info - if self.info is None: - raise RuntimeError("Cannot return volume if series not finished.") - - # Set callback to update progress - showProgress = self._showProgress - - # Init data (using what the dicom packaged produces as a reference) - ds = self._datasets[0] - slice = _getPixelDataFromDataset(ds) - # vol = Aarray(self.shape, self.sampling, fill=0, dtype=slice.dtype) - vol = np.zeros(self.shape, dtype=slice.dtype) - vol[0] = slice - - # Fill volume - showProgress('Loading data:') - ll = self.shape[0] - for z in range(1, ll): - ds = self._datasets[z] - vol[z] = _getPixelDataFromDataset(ds) - showProgress(float(z) / ll) - - # Finish - showProgress(None) - - # Done - gc.collect() - return vol - - def _append(self, dcm): - """ _append(dcm) - Append a dicomfile (as a dicom.dataset.FileDataset) to the series. - """ - self._datasets.append(dcm) - - def _sort(self): - """ sort() - Sort the datasets by instance number. - """ - self._datasets.sort(key=lambda k: k.InstanceNumber) - - def _finish(self): - """ _finish() - - Evaluate the series of dicom files. Together they should make up - a volumetric dataset. This means the files should meet certain - conditions. Also some additional information has to be calculated, - such as the distance between the slices. This method sets the - attributes for "shape", "sampling" and "info". - - This method checks: - * that there are no missing files - * that the dimensions of all images match - * that the pixel spacing of all images match - - """ - - # The datasets list should be sorted by instance number - L = self._datasets - if len(L) == 0: - return - elif len(L) < 2: - # Set attributes - ds = self._datasets[0] - self._info = self._datasets[0] - self._shape = [ds.Rows, ds.Columns] - self._sampling = [float(ds.PixelSpacing[0]), float(ds.PixelSpacing[1])] - return - - # Get previous - ds1 = L[0] - - # Init measures to calculate average of - distance_sum = 0.0 - - # Init measures to check (these are in 2D) - dimensions = ds1.Rows, ds1.Columns - sampling = float(ds1.PixelSpacing[0]), float(ds1.PixelSpacing[1]) # row, column - - for index in range(len(L)): - # The first round ds1 and ds2 will be the same, for the - # distance calculation this does not matter - - # Get current - ds2 = L[index] - - # Get positions - pos1 = float(ds1.ImagePositionPatient[2]) - pos2 = float(ds2.ImagePositionPatient[2]) - - # Update distance_sum to calculate distance later - distance_sum += abs(pos1 - pos2) - - # Test measures - dimensions2 = ds2.Rows, ds2.Columns - sampling2 = float(ds2.PixelSpacing[0]), float(ds2.PixelSpacing[1]) - if dimensions != dimensions2: - # We cannot produce a volume if the dimensions match - raise ValueError('Dimensions of slices does not match.') - if sampling != sampling2: - # We can still produce a volume, but we should notify the user - msg = 'Warning: sampling does not match.' - if self._showProgress is _progressCallback: - _progressBar.PrintMessage(msg) - else: - print msg - # Store previous - ds1 = ds2 - - # Create new dataset by making a deep copy of the first - info = dicom.dataset.Dataset() - firstDs = self._datasets[0] - for key in firstDs.keys(): - if key != (0x7fe0, 0x0010): - el = firstDs[key] - info.add_new(el.tag, el.VR, el.value) - - # Finish calculating average distance - # (Note that there are len(L)-1 distances) - distance_mean = distance_sum / (len(L) - 1) - - # Store information that is specific for the serie - self._shape = [len(L), ds2.Rows, ds2.Columns] - self._sampling = [distance_mean, float(ds2.PixelSpacing[0]), - float(ds2.PixelSpacing[1])] - - # Store - self._info = info - - -if __name__ == '__main__': - import sys - - if len(sys.argv) != 2: - print "Expected a single argument: a directory with dicom files in it" - else: - adir = sys.argv[1] - t0 = time.time() - all_series = read_files(adir, None, False) - print "Summary of each series:" - for series in all_series: - print series.description diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/datadict.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/datadict.py deleted file mode 100644 index 86da8025..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/datadict.py +++ /dev/null @@ -1,246 +0,0 @@ -# datadict.py -# -*- coding: utf-8 -*- -"""Access dicom dictionary information""" - -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# - -import logging -logger = logging.getLogger("pydicom") -from dicom.tag import Tag -from dicom._dicom_dict import DicomDictionary # the actual dict of {tag: (VR, VM, name, is_retired, keyword), ...} -from dicom._dicom_dict import RepeatersDictionary # those with tags like "(50xx, 0005)" -from dicom._private_dict import private_dictionaries -import warnings -from dicom import in_py3 - -# Generate mask dict for checking repeating groups etc. -# Map a true bitwise mask to the DICOM mask with "x"'s in it. -masks = {} -for mask_x in RepeatersDictionary: - # mask1 is XOR'd to see that all non-"x" bits are identical (XOR result = 0 if bits same) - # then AND those out with 0 bits at the "x" ("we don't care") location using mask2 - mask1 = long(mask_x.replace("x", "0"), 16) - mask2 = long("".join(["F0"[c == "x"] for c in mask_x]), 16) - masks[mask_x] = (mask1, mask2) - -# For shorter naming of dicom member elements, put an entry here -# (longer naming can also still be used) -# The descriptive name must start with the long version (not replaced if internal) -shortNames = [ - ("BeamLimitingDevice", "BLD"), - ("RTBeamLimitingDevice", "RTBLD"), - ("ControlPoint", "CP"), - ("Referenced", "Refd") -] - - -def mask_match(tag): - for mask_x, (mask1, mask2) in masks.items(): - if (tag ^ mask1) & mask2 == 0: - return mask_x - return None - - -def get_entry(tag): - """Return the tuple (VR, VM, name, is_retired, keyword) from the DICOM dictionary - - If the entry is not in the main dictionary, check the masked ones, - e.g. repeating groups like 50xx, etc. - """ - tag = Tag(tag) - try: - return DicomDictionary[tag] - except KeyError: - mask_x = mask_match(tag) - if mask_x: - return RepeatersDictionary[mask_x] - else: - raise KeyError("Tag {0} not found in DICOM dictionary".format(tag)) - - -def dictionary_description(tag): - """Return the descriptive text for the given dicom tag.""" - return get_entry(tag)[2] - - -def dictionaryVM(tag): - """Return the dicom value multiplicity for the given dicom tag.""" - return get_entry(tag)[1] - - -def dictionaryVR(tag): - """Return the dicom value representation for the given dicom tag.""" - return get_entry(tag)[0] - - -def dictionary_has_tag(tag): - """Return True if the dicom dictionary has an entry for the given tag.""" - return (tag in DicomDictionary) - - -def dictionary_keyword(tag): - """Return the official DICOM standard (since 2011) keyword for the tag""" - return get_entry(tag)[4] - -# Set up a translation table for "cleaning" DICOM descriptions -# for backwards compatibility pydicom < 0.9.7 (before DICOM keywords) -# Translation is different with unicode - see .translate() at -# http://docs.python.org/library/stdtypes.html#string-methods -chars_to_remove = r""" !@#$%^&*(),;:.?\|{}[]+-="'’/""" -if in_py3: # i.e. unicode strings - translate_table = dict((ord(char), None) for char in chars_to_remove) -else: - import string - translate_table = string.maketrans('', '') - - -def keyword_for_tag(tag): - """Return the DICOM keyword for the given tag. Replaces old CleanName() - method using the 2011 DICOM standard keywords instead. - - Will return GroupLength for group length tags, - and returns empty string ("") if the tag doesn't exist in the dictionary. - """ - try: - return dictionary_keyword(tag) - except KeyError: - return "" - - -def CleanName(tag): - """Return the dictionary descriptive text string but without bad characters. - - Used for e.g. *named tags* of Dataset instances (before DICOM keywords were - part of the standard) - - """ - tag = Tag(tag) - if tag not in DicomDictionary: - if tag.element == 0: # 0=implied group length in DICOM versions < 3 - return "GroupLength" - else: - return "" - s = dictionary_description(tag) # Descriptive name in dictionary - # remove blanks and nasty characters - if in_py3: - s = s.translate(translate_table) - else: - s = s.translate(translate_table, chars_to_remove) - - # Take "Sequence" out of name (pydicom < 0.9.7) - # e..g "BeamSequence"->"Beams"; "ReferencedImageBoxSequence"->"ReferencedImageBoxes" - # 'Other Patient ID' exists as single value AND as sequence so check for it and leave 'Sequence' in - if dictionaryVR(tag) == "SQ" and not s.startswith("OtherPatientIDs"): - if s.endswith("Sequence"): - s = s[:-8] + "s" - if s.endswith("ss"): - s = s[:-1] - if s.endswith("xs"): - s = s[:-1] + "es" - if s.endswith("Studys"): - s = s[:-2] + "ies" - return s - -# Provide for the 'reverse' lookup. Given clean name, what is the tag? -logger.debug("Reversing DICOM dictionary so can look up tag from a name...") -NameDict = dict([(CleanName(tag), tag) for tag in DicomDictionary]) -keyword_dict = dict([(dictionary_keyword(tag), tag) for tag in DicomDictionary]) - - -def short_name(name): - """Return a short *named tag* for the corresponding long version. - - Return a blank string if there is no short version of the name. - - """ - for longname, shortname in shortNames: - if name.startswith(longname): - return name.replace(longname, shortname) - return "" - - -def long_name(name): - """Return a long *named tag* for the corresponding short version. - - Return a blank string if there is no long version of the name. - - """ - - for longname, shortname in shortNames: - if name.startswith(shortname): - return name.replace(shortname, longname) - return "" - - -def tag_for_name(name): - """Return the dicom tag corresponding to name, or None if none exist.""" - if name in keyword_dict: # the usual case - return keyword_dict[name] - # If not an official keyword, check the old style pydicom names - if name in NameDict: - tag = NameDict[name] - msg = ("'%s' as tag name has been deprecated; use official DICOM keyword '%s'" - % (name, dictionary_keyword(tag))) - warnings.warn(msg, DeprecationWarning) - return tag - - # check if is short-form of a valid name - longname = long_name(name) - if longname: - return NameDict.get(longname, None) - return None - - -def all_names_for_tag(tag): - """Return a list of all (long and short) names for the tag""" - longname = keyword_for_tag(tag) - shortname = short_name(longname) - names = [longname] - if shortname: - names.append(shortname) - return names - - -# PRIVATE DICTIONARY handling -# functions in analogy with those of main DICOM dict -def get_private_entry(tag, private_creator): - """Return the tuple (VR, VM, name, is_retired) from a private dictionary""" - tag = Tag(tag) - try: - private_dict = private_dictionaries[private_creator] - except KeyError: - raise KeyError("Private creator {0} not in private dictionary".format(private_creator)) - - # private elements are usually agnostic for "block" (see PS3.5-2008 7.8.1 p44) - # Some elements in _private_dict are explicit; most have "xx" for high-byte of element - # Try exact key first, but then try with "xx" in block position - try: - dict_entry = private_dict[tag] - except KeyError: - # so here put in the "xx" in the block position for key to look up - group_str = "%04x" % tag.group - elem_str = "%04x" % tag.elem - key = "%sxx%s" % (group_str, elem_str[-2:]) - if key not in private_dict: - raise KeyError("Tag {0} not in private dictionary for private creator {1}".format(key, private_creator)) - dict_entry = private_dict[key] - return dict_entry - - -def private_dictionary_description(tag, private_creator): - """Return the descriptive text for the given dicom tag.""" - return get_private_entry(tag, private_creator)[2] - - -def private_dictionaryVM(tag, private_creator): - """Return the dicom value multiplicity for the given dicom tag.""" - return get_private_entry(tag, private_creator)[1] - - -def private_dictionaryVR(tag, private_creator): - """Return the dicom value representation for the given dicom tag.""" - return get_private_entry(tag, private_creator)[0] diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataelem.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataelem.py deleted file mode 100644 index 78fb41de..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataelem.py +++ /dev/null @@ -1,324 +0,0 @@ -# dataelem.py -"""Define the DataElement class - elements within a dataset. - -DataElements have a DICOM value representation VR, a value multiplicity VM, -and a value. -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# -from __future__ import absolute_import - -import logging -logger = logging.getLogger('pydicom') - -from dicom.datadict import dictionary_has_tag, dictionary_description -from dicom.datadict import private_dictionary_description, dictionaryVR -from dicom.tag import Tag - -from dicom.UID import UID -import dicom.valuerep # don't import DS directly as can be changed by config -from dicom import in_py3 - -if in_py3: - from dicom.valuerep import PersonName3 as PersonNameUnicode - PersonName = PersonNameUnicode - -from collections import namedtuple - - -# Helper functions: -def isMultiValue(value): - """Helper function: return True if 'value' is 'list-like'.""" - if isString(value) or isinstance(value, bytes): - return False - try: - iter(value) - except TypeError: - return False - return True - - -def isString(val): - """Helper function: return True if val is a string.""" - return isinstance(val, basestring) - - -def isStringOrStringList(val): - """Return true if val consists only of strings. val may be a list/tuple.""" - if isMultiValue(val): - for item in val: - if not isString(item): - return False - return True - else: # single value - test for a string - return isString(val) - -_backslash = "\\" # double '\' because it is used as escape chr in Python - - -class DataElement(object): - """Contain and manipulate a Dicom data element, having a tag, VR, VM and value. - - Most user code will not create data elements using this class directly, - but rather through DICOM keywords in Dataset objects. - See the Dataset class for a description of how Datasets, Sequences, - and DataElements work. - - Class Data - ---------- - For string display (via __str__), the following are used: - - descripWidth -- maximum width of description field (default 35). - maxBytesToDisplay -- longer data will display "array of # bytes" (default 16). - showVR -- True (default) to include the dicom VR just before the value. - """ - descripWidth = 35 - maxBytesToDisplay = 16 - showVR = 1 - - def __init__(self, tag, VR, value, file_value_tell=None, - is_undefined_length=False, already_converted=False): - """Create a data element instance. - - Most user code should instead use DICOM keywords - to create data_elements, for which only the value is supplied, - and the VR and tag are determined from the dicom dictionary. - - tag -- dicom (group, element) tag in any form accepted by Tag(). - VR -- dicom value representation (see DICOM standard part 6) - value -- the value of the data element. One of the following: - - a single string value - - a number - - a list or tuple with all strings or all numbers - - a multi-value string with backslash separator - file_value_tell -- used internally by Dataset, to store the write - position for ReplaceDataElementValue method - is_undefined_length -- used internally to store whether the length - field in this data element was 0xFFFFFFFFL, i.e. "undefined length" - - """ - self.tag = Tag(tag) - self.VR = VR # Note!: you must set VR before setting value - if already_converted: - self._value = value - else: - self.value = value # calls property setter which will convert - self.file_tell = file_value_tell - self.is_undefined_length = is_undefined_length - - @property - def value(self): - """The value (possibly multiple values) of this data_element""" - return self._value - - @value.setter - def value(self, val): - """Set method for 'value' property""" - # Check if is a string with multiple values separated by '\' - # If so, turn them into a list of separate strings - if isString(val) and self.VR not in \ - ['UT', 'ST', 'LT', 'FL', 'FD', 'AT', 'OB', 'OW', 'OF', 'SL', 'SQ', 'SS', - 'UL', 'OB/OW', 'OW/OB', 'OB or OW', 'OW or OB', 'UN'] and 'US' not in self.VR: # latter covers 'US or SS' etc - if _backslash in val: - val = val.split(_backslash) - self._value = self._convert_value(val) - - @property - def VM(self): - """The number of values in the data_element's 'value'""" - if isMultiValue(self.value): - return len(self.value) - else: - return 1 - - def _convert_value(self, val): - """Convert Dicom string values if possible to e.g. numbers. Handle the case - of multiple value data_elements""" - if self.VR == 'SQ': # a sequence - leave it alone - from dicom.sequence import Sequence - if isinstance(val, Sequence): - return val - else: - return Sequence(val) - - # if the value is a list, convert each element - try: - val.append - except AttributeError: # not a list - return self._convert(val) - else: - returnvalue = [] - for subval in val: - returnvalue.append(self._convert(subval)) - return returnvalue - - def _convert(self, val): - """Take the value and convert to number, etc if possible""" - if self.VR == 'IS': - return dicom.valuerep.IS(val) - elif self.VR == 'DS': - return dicom.valuerep.DS(val) - elif self.VR == "UI": - return UID(val) - elif in_py3 and self.VR == "PN": - return PersonName(val) - # Later may need this for PersonName as for UI, - # but needs more thought - # elif self.VR == "PN": - # return PersonName(val) - else: # is either a string or a type 2 optionally blank string - return val # this means a "numeric" value could be empty string "" - # except TypeError: - # print "Could not convert value '%s' to VR '%s' in tag %s" \ - # % (repr(val), self.VR, self.tag) - # except ValueError: - # print "Could not convert value '%s' to VR '%s' in tag %s" \ - # % (repr(val), self.VR, self.tag) - - def __str__(self): - """Return str representation of this data_element""" - repVal = self.repval - if self.showVR: - s = "%s %-*s %s: %s" % (str(self.tag), self.descripWidth, - self.description()[:self.descripWidth], self.VR, repVal) - else: - s = "%s %-*s %s" % (str(self.tag), self.descripWidth, - self.description()[:self.descripWidth], repVal) - return s - - @property - def repval(self): - """Return a str representation of the current value for use in __str__""" - byte_VRs = ['OB', 'OW', 'OW/OB', 'OW or OB', 'OB or OW', 'US or SS or OW', 'US or SS'] - if (self.VR in byte_VRs and len(self.value) > self.maxBytesToDisplay): - repVal = "Array of %d bytes" % len(self.value) - elif hasattr(self, 'original_string'): # for VR of IS or DS - repVal = repr(self.original_string) - elif isinstance(self.value, UID): - repVal = self.value.name - else: - repVal = repr(self.value) # will tolerate unicode too - return repVal - - def __unicode__(self): - """Return unicode representation of this data_element""" - if isinstance(self.value, unicode): - # start with the string rep then replace the value part with the unicode - strVal = str(self) - uniVal = unicode(strVal.replace(self.repval, "")) + self.value - return uniVal - else: - return unicode(str(self)) - - def __getitem__(self, key): - """Returns the item from my value's Sequence, if it is one.""" - try: - return self.value[key] - except TypeError: - raise TypeError("DataElement value is unscriptable (not a Sequence)") - - @property - def name(self): - return self.description() - - def description(self): - """Return the DICOM dictionary description for this dicom tag.""" - if dictionary_has_tag(self.tag): - name = dictionary_description(self.tag) - elif self.tag.is_private: - name = "Private tag data" # default - if hasattr(self, 'private_creator'): - try: - # If have name from private dictionary, use it, but - # but put in square brackets so is differentiated, - # and clear that cannot access it by name - name = "[" + private_dictionary_description(self.tag, self.private_creator) + "]" - except KeyError: - pass - elif self.tag.elem >> 8 == 0: - name = "Private Creator" - elif self.tag.element == 0: # implied Group Length dicom versions < 3 - name = "Group Length" - else: - name = "" - return name - - def __repr__(self): - """Handle repr(data_element)""" - if self.VR == "SQ": - return repr(self.value) - else: - return str(self) - - -class DeferredDataElement(DataElement): - """Subclass of DataElement where value is not read into memory until needed""" - def __init__(self, tag, VR, fp, file_mtime, data_element_tell, length): - """Store basic info for the data element but value will be read later - - fp -- DicomFile object representing the dicom file being read - file_mtime -- last modification time on file, used to make sure - it has not changed since original read - data_element_tell -- file position at start of data element, - (not the start of the value part, but start of whole element) - """ - self.tag = Tag(tag) - self.VR = VR - self._value = None # flag as unread - - # Check current file object and save info needed for read later - self.fp_is_implicit_VR = fp.is_implicit_VR - self.fp_is_little_endian = fp.is_little_endian - self.filepath = fp.name - self.file_mtime = file_mtime - self.data_element_tell = data_element_tell - self.length = length - - @property - def repval(self): - if self._value is None: - return "Deferred read: length %d" % self.length - else: - return DataElement.repval.fget(self) - - @property - def value(self): - """Get method for 'value' property""" - # Must now read the value if haven't already - if self._value is None: - self.read_value() - return DataElement.value.fget(self) - - @value.setter - def value(self, val): - DataElement.value.fset(self, val) - - -RawDataElement = namedtuple('RawDataElement', - 'tag VR length value value_tell is_implicit_VR is_little_endian') - - -def DataElement_from_raw(raw_data_element, encoding=None): - """Return a DataElement from a RawDataElement""" - from dicom.values import convert_value # XXX buried here to avoid circular import filereader->Dataset->convert_value->filereader (for SQ parsing) - raw = raw_data_element - VR = raw.VR - if VR is None: # Can be if was implicit VR - try: - VR = dictionaryVR(raw.tag) - except KeyError: - if raw.tag.is_private: - VR = 'OB' # just read the bytes, no way to know what they mean - elif raw.tag.element == 0: # group length tag implied in versions < 3.0 - VR = 'UL' - else: - raise KeyError("Unknown DICOM tag {0:s} - can't look up VR".format(str(raw.tag))) - try: - value = convert_value(VR, raw, encoding) - except NotImplementedError as e: - raise NotImplementedError("{0:s} in tag {1!r}".format(str(e), raw.tag)) - return DataElement(raw.tag, VR, value, raw.value_tell, - raw.length == 0xFFFFFFFF, already_converted=True) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataset.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataset.py deleted file mode 100644 index a69bee2a..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dataset.py +++ /dev/null @@ -1,641 +0,0 @@ -# dataset.py -"""Module for Dataset class - -Overview of Dicom object model: - -Dataset(derived class of Python's dict class) - contains DataElement instances (DataElement is a class with tag, VR, value) - the value can be a Sequence instance - (Sequence is derived from Python's list), - or just a regular value like a number, string, etc., - or a list of regular values, e.g. a 3d coordinate - Sequence's are a list of Datasets (note recursive nature here) - -""" -# -# Copyright (c) 2008-2013 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# -import sys -from sys import byteorder -sys_is_little_endian = (byteorder == 'little') -import logging -logger = logging.getLogger('pydicom') -import inspect # for __dir__ - -from dicom.charset import default_encoding, convert_encodings -from dicom.datadict import dictionaryVR -from dicom.datadict import tag_for_name, all_names_for_tag -from dicom.tag import Tag, BaseTag -from dicom.dataelem import DataElement, DataElement_from_raw, RawDataElement -from dicom.UID import NotCompressedPixelTransferSyntaxes -from dicom.tagtools import tag_in_exception -import os.path - -import io - -import dicom # for write_file -import dicom.charset - -have_numpy = True -try: - import numpy -except: - have_numpy = False - -stat_available = True -try: - from os import stat -except: - stat_available = False - - -class PropertyError(Exception): - """For AttributeErrors caught in a property, so do not go to __getattr__""" - # http://docs.python.org/release/3.1.3/tutorial/errors.html#tut-userexceptions - pass - - -class Dataset(dict): - """A collection (dictionary) of Dicom `DataElement` instances. - - Example of two ways to retrieve or set values: - - 1. dataset[0x10, 0x10].value --> patient's name - 2. dataset.PatientName --> patient's name - - Example (2) uses DICOM "keywords", defined starting in 2011 standard. - PatientName is not actually a member of the object, but unknown member - requests are checked against the DICOM dictionary. If the name matches a - DicomDictionary descriptive string, the corresponding tag is used - to look up or set the `DataElement` instance's value. - - :attribute indent_chars: for string display, the characters used to indent - nested Data Elements (e.g. sequence items). Default is three spaces. - - """ - indent_chars = " " - - def __init__(self, *args, **kwargs): - self._parent_encoding = kwargs.get('parent_encoding', default_encoding) - dict.__init__(self, *args) - - def add(self, data_element): - """Equivalent to dataset[data_element.tag] = data_element.""" - self[data_element.tag] = data_element - - def add_new(self, tag, VR, value): - """Create a new DataElement instance and add it to this Dataset.""" - data_element = DataElement(tag, VR, value) - # use data_element.tag since DataElement verified it - self[data_element.tag] = data_element - - def data_element(self, name): - """Return the full data_element instance for the given descriptive name - - :param name: a DICOM keyword - :returns: a DataElement instance in this dataset with the given name - If the tag for that name is not found, returns None - """ - tag = tag_for_name(name) - if tag: - return self[tag] - return None - - def __contains__(self, name): - """Extend dict.__contains__() to handle DICOM keywords. - - This is called for code like: ``if 'SliceLocation' in dataset``. - - """ - if isinstance(name, (str, unicode)): - tag = tag_for_name(name) - else: - try: - tag = Tag(name) - except: - return False - if tag: - return dict.__contains__(self, tag) - else: - return dict.__contains__(self, name) # will no doubt raise an exception - - def decode(self): - """Apply character set decoding to all data elements. - - See DICOM PS3.5-2008 6.1.1. - """ - # Find specific character set. 'ISO_IR 6' is default - # May be multi-valued, but let dicom.charset handle all logic on that - dicom_character_set = self._character_set - - # Shortcut to the decode function in dicom.charset - decode_data_element = dicom.charset.decode - - # Callback for walk(), to decode the chr strings if necessary - # This simply calls the dicom.charset.decode function - def decode_callback(ds, data_element): - if data_element.VR == 'SQ': - [dset.decode() for dset in data_element.value] - else: - decode_data_element(data_element, dicom_character_set) - - self.walk(decode_callback, recursive=False) - - def __delattr__(self, name): - """Intercept requests to delete an attribute by name, e.g. del ds.name - - If name is a DICOM keyword, then delete the corresponding tag - and data_element. Else, delete an instance (python) attribute - as any other class would do - - """ - # First check if a valid DICOM keyword and if we have that data element - tag = tag_for_name(name) - if tag and tag in self: - dict.__delitem__(self, tag) # direct to dict as we know we have key - # If not a DICOM name in this dataset, check for regular instance name - # can't do delete directly, that will call __delattr__ again - elif name in self.__dict__: - del self.__dict__[name] - # Not found, raise an error in same style as python does - else: - raise AttributeError(name) - - def __delitem__(self, key): - """Intercept requests to delete an attribute by key, e.g. del ds[tag]""" - # Assume is a standard tag (for speed in common case) - try: - dict.__delitem__(self, key) - # If not a standard tag, than convert to Tag and try again - except KeyError: - tag = Tag(key) - dict.__delitem__(self, tag) - - def __dir__(self): - """Give a list of attributes available in the dataset - - List of attributes is used, for example, in auto-completion in editors - or command-line environments. - """ - # Force zip object into a list in case of python3. Also backwards - # compatible - meths = set(list(zip( - *inspect.getmembers(Dataset, inspect.isroutine)))[0]) - props = set(list(zip( - *inspect.getmembers(Dataset, inspect.isdatadescriptor)))[0]) - dicom_names = set(self.dir()) - alldir = sorted(props | meths | dicom_names) - return alldir - - def dir(self, *filters): - """Return an alphabetical list of data_element keywords in the dataset. - - Intended mainly for use in interactive Python sessions. - :param filters: zero or more string arguments to the function. Used for - case-insensitive match to any part of the DICOM name. - :returns: All data_element names in this dataset matching the filters. - If no filters, return all DICOM keywords in the dataset - """ - allnames = [] - for tag, data_element in self.items(): - allnames.extend(all_names_for_tag(tag)) - # remove blanks - tags without valid names (e.g. private tags) - allnames = [x for x in allnames if x] - # Store found names in a dict, so duplicate names appear only once - matches = {} - for filter_ in filters: - filter_ = filter_.lower() - match = [x for x in allnames if x.lower().find(filter_) != -1] - matches.update(dict([(x, 1) for x in match])) - if filters: - names = sorted(matches.keys()) - return names - else: - return sorted(allnames) - - def get(self, key, default=None): - """Extend dict.get() to handle DICOM keywords""" - if isinstance(key, (str, unicode)): - try: - return getattr(self, key) - except AttributeError: - return default - else: - # is not a string, try to make it into a tag and then hand it - # off to the underlying dict - if not isinstance(key, BaseTag): - try: - key = Tag(key) - except: - raise TypeError("Dataset.get key must be a string or tag") - try: - return_val = self.__getitem__(key) - except KeyError: - return_val = default - return return_val - - def __getattr__(self, name): - """Intercept requests for unknown Dataset python-attribute names. - - If the name matches a Dicom keyword, - return the value for the data_element with the corresponding tag. - - """ - # __getattr__ only called if instance cannot find name in self.__dict__ - # So, if name is not a dicom string, then is an error - tag = tag_for_name(name) - if tag is None: - raise AttributeError("Dataset does not have attribute " - "'{0:s}'.".format(name)) - tag = Tag(tag) - if tag not in self: - raise AttributeError("Dataset does not have attribute " - "'{0:s}'.".format(name)) - else: # do have that dicom data_element - return self[tag].value - - @property - def _character_set(self): - """ - :return: - """ - char_set = self.get('SpecificCharacterSet', None) - - if not char_set: - char_set = self._parent_encoding - else: - char_set = convert_encodings(char_set) - - return char_set - - def __getitem__(self, key): - """Operator for dataset[key] request.""" - tag = Tag(key) - data_elem = dict.__getitem__(self, tag) - - if isinstance(data_elem, DataElement): - return data_elem - elif isinstance(data_elem, tuple): - # If a deferred read, then go get the value now - if data_elem.value is None: - from dicom.filereader import read_deferred_data_element - data_elem = read_deferred_data_element(self.fileobj_type, - self.filename, self.timestamp, data_elem) - - if tag != (0x08, 0x05): - character_set = self._character_set - else: - character_set = default_encoding - # Not converted from raw form read from file yet; do so now - self[tag] = DataElement_from_raw(data_elem, character_set) - return dict.__getitem__(self, tag) - - def get_item(self, key): - """Return the raw data element if possible. - It will be raw if the user has never accessed the value, - or set their own value. - Note if the data element is a deferred-read element, - then it is read and converted before being returned - """ - tag = Tag(key) - data_elem = dict.__getitem__(self, tag) - # If a deferred read, return using __getitem__ to read and convert it - if isinstance(data_elem, tuple) and data_elem.value is None: - return self[key] - return data_elem - - def group_dataset(self, group): - """Return a Dataset containing only data_elements of a certain group. - - :param group: the group part of a dicom (group, element) tag. - :returns: a dataset instance containing data elements of the group - specified - """ - ds = Dataset() - ds.update(dict([(tag, data_element) for tag, data_element in self.items() - if tag.group == group])) - return ds - - def __iter__(self): - """Method to iterate through the dataset, returning data_elements. - e.g.: - for data_element in dataset: - do_something... - The data_elements are returned in DICOM order, - i.e. in increasing order by tag value. - Sequence items are returned as a single data_element; it is up to the - calling code to recurse into the Sequence items if desired - """ - # Note this is different than the underlying dict class, - # which returns the key of the key:value mapping. - # Here the value is returned (but data_element.tag has the key) - taglist = sorted(self.keys()) - for tag in taglist: - yield self[tag] - - def _pixel_data_numpy(self): - """Return a NumPy array of the pixel data. - - NumPy is a numerical package for python. It is used if available. - - :raises TypeError: if no pixel data in this dataset. - :raises ImportError: if cannot import numpy. - - """ - if 'PixelData' not in self: - raise TypeError("No pixel data found in this dataset.") - - if not have_numpy: - msg = "The Numpy package is required to use pixel_array, and numpy could not be imported.\n" - raise ImportError(msg) - - # determine the type used for the array - need_byteswap = (self.is_little_endian != sys_is_little_endian) - - # Make NumPy format code, e.g. "uint16", "int32" etc - # from two pieces of info: - # self.PixelRepresentation -- 0 for unsigned, 1 for signed; - # self.BitsAllocated -- 8, 16, or 32 - format_str = '%sint%d' % (('u', '')[self.PixelRepresentation], - self.BitsAllocated) - try: - numpy_format = numpy.dtype(format_str) - except TypeError: - msg = ("Data type not understood by NumPy: " - "format='%s', PixelRepresentation=%d, BitsAllocated=%d") - raise TypeError(msg % (numpy_format, self.PixelRepresentation, - self.BitsAllocated)) - - # Have correct Numpy format, so create the NumPy array - arr = numpy.fromstring(self.PixelData, numpy_format) - - # XXX byte swap - may later handle this in read_file!!? - if need_byteswap: - arr.byteswap(True) # True means swap in-place, don't make a new copy - # Note the following reshape operations return a new *view* onto arr, but don't copy the data - if 'NumberOfFrames' in self and self.NumberOfFrames > 1: - if self.SamplesPerPixel > 1: - arr = arr.reshape(self.SamplesPerPixel, self.NumberOfFrames, self.Rows, self.Columns) - else: - arr = arr.reshape(self.NumberOfFrames, self.Rows, self.Columns) - else: - if self.SamplesPerPixel > 1: - if self.BitsAllocated == 8: - arr = arr.reshape(self.SamplesPerPixel, self.Rows, self.Columns) - else: - raise NotImplementedError("This code only handles SamplesPerPixel > 1 if Bits Allocated = 8") - else: - arr = arr.reshape(self.Rows, self.Columns) - return arr - - # Use by pixel_array property - def _get_pixel_array(self): - # Check if pixel data is in a form we know how to make into an array - # XXX uses file_meta here, should really only be thus for FileDataset - if self.file_meta.TransferSyntaxUID not in NotCompressedPixelTransferSyntaxes: - raise NotImplementedError("Pixel Data is compressed in a format pydicom does not yet handle. Cannot return array") - - # Check if already have converted to a NumPy array - # Also check if self.PixelData has changed. If so, get new NumPy array - already_have = True - if not hasattr(self, "_pixel_array"): - already_have = False - elif self._pixel_id != id(self.PixelData): - already_have = False - if not already_have: - self._pixel_array = self._pixel_data_numpy() - self._pixel_id = id(self.PixelData) # is this guaranteed to work if memory is re-used?? - return self._pixel_array - - @property - def pixel_array(self): - """Return the pixel data as a NumPy array""" - try: - return self._get_pixel_array() - except AttributeError: - t, e, tb = sys.exc_info() - raise PropertyError("AttributeError in pixel_array property: " + - e.args[0]), None, tb - - # Format strings spec'd according to python string formatting options - # See http://docs.python.org/library/stdtypes.html#string-formatting-operations - default_element_format = "%(tag)s %(name)-35.35s %(VR)s: %(repval)s" - default_sequence_element_format = "%(tag)s %(name)-35.35s %(VR)s: %(repval)s" - - def formatted_lines(self, element_format=default_element_format, - sequence_element_format=default_sequence_element_format, - indent_format=None): - """A generator to give back a formatted string representing each line - one at a time. Example: - for line in dataset.formatted_lines("%(name)s=%(repval)s", "SQ:%(name)s=%(repval)s"): - print(line) - See the source code for default values which illustrate some of the names that can be used in the - format strings - indent_format -- not used in current version. Placeholder for future functionality. - """ - for data_element in self.iterall(): - # Get all the attributes possible for this data element (e.g. - # gets descriptive text name too) - # This is the dictionary of names that can be used in the format string - elem_dict = dict([(x, getattr(data_element, x)() - if callable(getattr(data_element, x)) - else getattr(data_element, x)) - for x in dir(data_element) if not x.startswith("_")]) - if data_element.VR == "SQ": - yield sequence_element_format % elem_dict - else: - yield element_format % elem_dict - - def _pretty_str(self, indent=0, top_level_only=False): - """Return a string of the data_elements in this dataset, with indented levels. - - This private method is called by the __str__() method - for handling print statements or str(dataset), and the __repr__() method. - It is also used by top(), which is the reason for the top_level_only flag. - This function recurses, with increasing indentation levels. - - """ - strings = [] - indent_str = self.indent_chars * indent - nextindent_str = self.indent_chars * (indent + 1) - for data_element in self: - with tag_in_exception(data_element.tag): - if data_element.VR == "SQ": # a sequence - strings.append(indent_str + str(data_element.tag) + " %s %i item(s) ---- " % (data_element.description(), len(data_element.value))) - if not top_level_only: - for dataset in data_element.value: - strings.append(dataset._pretty_str(indent + 1)) - strings.append(nextindent_str + "---------") - else: - strings.append(indent_str + repr(data_element)) - return "\n".join(strings) - - def remove_private_tags(self): - """Remove all Dicom private tags in this dataset and those contained within.""" - def RemoveCallback(dataset, data_element): - """Internal method to use as callback to walk() method.""" - if data_element.tag.is_private: - # can't del self[tag] - won't be right dataset on recursion - del dataset[data_element.tag] - self.walk(RemoveCallback) - - def save_as(self, filename, write_like_original=True): - """Write the dataset to a file. - - :param filename: full path and filename to save the file to - :write_like_original: see dicom.filewriter.write_file for info on this parameter. - """ - dicom.write_file(filename, self, write_like_original) - - def __setattr__(self, name, value): - """Intercept any attempts to set a value for an instance attribute. - - If name is a dicom descriptive string (cleaned with CleanName), - then set the corresponding tag and data_element. - Else, set an instance (python) attribute as any other class would do. - - """ - tag = tag_for_name(name) - if tag is not None: # successfully mapped name to a tag - if tag not in self: # don't have this tag yet->create the data_element instance - VR = dictionaryVR(tag) - data_element = DataElement(tag, VR, value) - else: # already have this data_element, just changing its value - data_element = self[tag] - data_element.value = value - # Now have data_element - store it in this dict - self[tag] = data_element - else: # name not in dicom dictionary - setting a non-dicom instance attribute - # XXX note if user mis-spells a dicom data_element - no error!!! - self.__dict__[name] = value - - def __setitem__(self, key, value): - """Operator for dataset[key]=value. Check consistency, and deal with private tags""" - if not isinstance(value, (DataElement, RawDataElement)): # ok if is subclass, e.g. DeferredDataElement - raise TypeError("Dataset contents must be DataElement instances.\n" - "To set a data_element value use data_element.value=val") - tag = Tag(value.tag) - if key != tag: - raise ValueError("data_element.tag must match the dictionary key") - - data_element = value - if tag.is_private: - # See PS 3.5-2008 section 7.8.1 (p. 44) for how blocks are reserved - logger.debug("Setting private tag %r" % tag) - private_block = tag.elem >> 8 - private_creator_tag = Tag(tag.group, private_block) - if private_creator_tag in self and tag != private_creator_tag: - if isinstance(data_element, RawDataElement): - data_element = DataElement_from_raw(data_element, self._character_set) - data_element.private_creator = self[private_creator_tag].value - dict.__setitem__(self, tag, data_element) - - def __str__(self): - """Handle str(dataset).""" - return self._pretty_str() - - def top(self): - """Show the DICOM tags, but only the top level; do not recurse into Sequences""" - return self._pretty_str(top_level_only=True) - - def trait_names(self): - """Return a list of valid names for auto-completion code - Used in IPython, so that data element names can be found - and offered for autocompletion on the IPython command line - """ - return dir(self) # only valid python >=2.6, else use self.__dir__() - - def update(self, dictionary): - """Extend dict.update() to handle DICOM keywords.""" - for key, value in dictionary.items(): - if isinstance(key, (str, unicode)): - setattr(self, key, value) - else: - self[Tag(key)] = value - - def iterall(self): - """Iterate through the dataset, yielding all data elements. - - Unlike Dataset.__iter__, this *does* recurse into sequences, - and so returns all data elements as if the file were "flattened". - """ - for data_element in self: - yield data_element - if data_element.VR == "SQ": - sequence = data_element.value - for dataset in sequence: - for elem in dataset.iterall(): - yield elem - - def walk(self, callback, recursive=True): - """Call the given function for all dataset data_elements (recurses). - - Visit all data_elements, recurse into sequences and their datasets (if specified), - The callback function is called for each data_element - (including SQ element). - Can be used to perform an operation on certain types of data_elements. - E.g., `remove_private_tags`() finds all private tags and deletes them. - - :param callback: a callable taking two arguments: a dataset, and - a data_element belonging to that dataset. - :param recursive: a boolean indicating whether to recurse into Sequences - - `DataElement`s will come back in DICOM order (by increasing tag number - within their dataset) - - """ - taglist = sorted(self.keys()) - for tag in taglist: - - with tag_in_exception(tag): - data_element = self[tag] - callback(self, data_element) # self = this Dataset - # 'tag in self' below needed in case callback deleted data_element - if recursive and tag in self and data_element.VR == "SQ": - sequence = data_element.value - for dataset in sequence: - dataset.walk(callback) - - __repr__ = __str__ - - -class FileDataset(Dataset): - def __init__(self, filename_or_obj, dataset, preamble=None, file_meta=None, - is_implicit_VR=True, is_little_endian=True): - """Initialize a dataset read from a DICOM file - - :param filename: full path and filename to the file. Use None if is a BytesIO. - :param dataset: some form of dictionary, usually a Dataset from read_dataset() - :param preamble: the 128-byte DICOM preamble - :param file_meta: the file meta info dataset, as returned by _read_file_meta, - or an empty dataset if no file meta information is in the file - :param is_implicit_VR: True if implicit VR transfer syntax used; False if explicit VR. Default is True. - :param is_little_endian: True if little-endian transfer syntax used; False if big-endian. Default is True. - """ - Dataset.__init__(self, dataset) - self.preamble = preamble - self.file_meta = file_meta - self.is_implicit_VR = is_implicit_VR - self.is_little_endian = is_little_endian - if isinstance(filename_or_obj, basestring): - self.filename = filename_or_obj - self.fileobj_type = open - elif isinstance(filename_or_obj, io.BufferedReader): - self.filename = filename_or_obj.name - # This is the appropriate constructor for io.BufferedReader - self.fileobj_type = open - else: - self.fileobj_type = filename_or_obj.__class__ # use __class__ python <2.7?; http://docs.python.org/reference/datamodel.html - if getattr(filename_or_obj, "name", False): - self.filename = filename_or_obj.name - elif getattr(filename_or_obj, "filename", False): # gzip python <2.7? - self.filename = filename_or_obj.filename - else: - self.filename = None # e.g. came from BytesIO or something file-like - self.timestamp = None - if stat_available and self.filename and os.path.exists(self.filename): - statinfo = stat(self.filename) - self.timestamp = statinfo.st_mtime diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dicomdir.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dicomdir.py deleted file mode 100644 index 6ad63aad..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/dicomdir.py +++ /dev/null @@ -1,88 +0,0 @@ -# dicomdir.py -"""Module for DicomDir class""" -# -# Copyright (c) 2013 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# - -from dicom.errors import InvalidDicomError -from dicom.dataset import FileDataset - - -class DicomDir(FileDataset): - """Hold a DICOMDIR dataset read from file. - - Derived from FileDataset, but additional methods are available, - specific to the Directory structure - """ - def __init__(self, filename_or_obj, dataset, preamble=None, file_meta=None, - is_implicit_VR=True, is_little_endian=True): - """Initialize a DICOMDIR dataset read from a DICOM file - Carries forward all the initialization from FileDataset class - - :param filename: full path and filename to the file. Use None if is a BytesIO. - :param dataset: some form of dictionary, usually a Dataset from read_dataset() - :param preamble: the 128-byte DICOM preamble - :param file_meta: the file meta info dataset, as returned by _read_file_meta, - or an empty dataset if no file meta information is in the file - :param is_implicit_VR: True if implicit VR transfer syntax used; False if explicit VR. Default is True. - :param is_little_endian: True if little-endian transfer syntax used; False if big-endian. Default is True. - """ - # Usually this class is created through filereader.read_partial, - # and it checks class SOP, but in case of direct creation, - # check here also - if file_meta: - class_uid = file_meta.MediaStorageSOPClassUID - if not class_uid == "Media Storage Directory Storage": - print class_uid, type(class_uid) - msg = "SOP Class is not Media Storage Directory (DICOMDIR)" - raise InvalidDicomError(msg) - FileDataset.__init__(self, filename_or_obj, dataset, - preamble, file_meta, - is_implicit_VR=True, is_little_endian=True) - self.parse_records() - - def parse_records(self): - """Build the hierarchy of given directory records, and structure - into Patient, Studies, Series, Images hierarchy. - - This is intended for initial read of file only, - it will not reorganize correctly if records are changed. - - :return: None - """ - # Define a helper function for organizing the records - def get_siblings(record, map_offset_to_record): - """Return a list of all siblings of the given directory record, - including itself. - """ - sibling_list = [record] - current_record = record - while current_record.OffsetOfTheNextDirectoryRecord: - offset_of_next = current_record.OffsetoftheNextDirectoryRecord - sibling = map_offset_to_record[offset_of_next] - sibling_list.append(sibling) - current_record = sibling - return sibling_list - - # Build the mapping from file offsets to records - records = self.DirectoryRecordSequence - map_offset_to_record = {} - for record in records: - offset = record.seq_item_tell - map_offset_to_record[offset] = record - # logging.debug("Record offsets: " + map_offset_to_record.keys()) - - # Find the children of each record - for record in records: - child_offset = record.OffsetOfReferencedLowerLevelDirectoryEntity - if child_offset: - child = map_offset_to_record[child_offset] - record.children = get_siblings(child, map_offset_to_record) - else: - record.children = [] - - # Find the top-level records : siblings of the first record - self.patient_records = get_siblings(records[0], map_offset_to_record) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/doc/index.html b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/doc/index.html deleted file mode 100644 index 04764c7a..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/doc/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - -Pydicom - Pure Python package for DICOM files - - -

Pydicom - Pure Python package for DICOM files

-

-Documentation for pydicom is available at the -pydicom googlecode website -

- - \ No newline at end of file diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/encaps.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/encaps.py deleted file mode 100644 index 088a22d1..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/encaps.py +++ /dev/null @@ -1,72 +0,0 @@ -# encaps.py -"""Routines for working with encapsulated (compressed) data - -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# Encapsulated Pixel Data -- 3.5-2008 A.4 -# Encapsulated Pixel data is in a number of Items (start with Item tag (0xFFFE,E000) and ending ultimately with SQ delimiter and Item Length field of 0 (no value), -# just like SQ of undefined length, but here Item must have explicit length. - -# PixelData length is Undefined Length if encapsulated -# First item is an Offset Table. It can have 0 length and no value, or it can have a table of US pointers to first byte of the Item tag starting each *Frame*, -# where 0 of pointer is at first Item tag following the Offset table -# If a single frame, it may be 0 length/no value, or it may have a single pointer (0). -import logging -logger = logging.getLogger('pydicom') - -from dicom.filebase import DicomBytesIO -from dicom.tag import ItemTag, SequenceDelimiterTag - - -def defragment_data(data): - """Read encapsulated data and return one continuous string - - data -- string of encapsulated data, typically dataset.PixelData - Return all fragments concatenated together as a byte string - - If PixelData has multiple frames, then should separate out before calling this routine. - """ - - # Convert data into a memory-mapped file - fp = DicomBytesIO(data) - fp.is_little_endian = True # DICOM standard requires this - BasicOffsetTable = read_item(fp) # NOQA - seq = [] - while True: - item = read_item(fp) - if not item: # None is returned if get to Sequence Delimiter - break - seq.append(item) - - # XXX should - return "".join(seq) - - -# read_item modeled after filereader.ReadSequenceItem -def read_item(fp): - """Read and return a single Item in the fragmented data stream""" - try: - tag = fp.read_tag() - except EOFError: # already read delimiter before passing data here, so should just run out - return None - if tag == SequenceDelimiterTag: # No more items, time for sequence to stop reading - length = fp.read_UL() - logger.debug("%04x: Sequence Delimiter, length 0x%x", fp.tell() - 8, length) - if length != 0: - logger.warning("Expected 0x00000000 after delimiter, found 0x%x, at data position 0x%x", length, fp.tell() - 4) - return None - if tag != ItemTag: - logger.warning("Expected Item with tag %s at data position 0x%x", ItemTag, fp.tell() - 4) - length = fp.read_UL() - else: - length = fp.read_UL() - logger.debug("%04x: Item, length 0x%x", fp.tell() - 8, length) - - if length == 0xFFFFFFFFL: - raise ValueError("Encapsulated data fragment had Undefined Length at data position 0x%x" % fp.tell() - 4) - item_data = fp.read(length) - return item_data diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/errors.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/errors.py deleted file mode 100644 index 62a710a3..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/errors.py +++ /dev/null @@ -1,24 +0,0 @@ -# errors.py -"""Module for pydicom exception classes""" -# -# Copyright (c) 2013 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# - - -class InvalidDicomError(Exception): - """Exception that is raised when the the file does not seem - to be a valid dicom file, usually when the four characters - "DICM" are not present at position 128 in the file. - (According to the dicom specification, each dicom file should - have this.) - - To force reading the file (because maybe it is a dicom file without - a header), use read_file(..., force=True). - """ - def __init__(self, *args): - if not args: - args = ('The specified file is not a valid DICOM file.',) - Exception.__init__(self, *args) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomDiff.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomDiff.py deleted file mode 100644 index 8152b4b0..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomDiff.py +++ /dev/null @@ -1,46 +0,0 @@ -# DicomDiff.py -"""Show the difference between two dicom files. -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function - -usage = """ -Usage: -python DicomDiff.py file1 file2 - -Results printed in python difflib form - indicated by start of each line: -' ' blank means lines the same -'-' means in file1 but "removed" in file2 -'+' means not in file1, but "added" in file2 -('?' lines from difflib removed - no use here) -""" - -import sys -import dicom -import difflib - -# only used as a script -if len(sys.argv) != 3: - print(usage) - sys.exit() - -datasets = (dicom.read_file(sys.argv[1], force=True), - dicom.read_file(sys.argv[2], force=True)) - -# diflib compare functions require a list of lines, each terminated with newline character -# massage the string representation of each dicom dataset into this form: -rep = [] -for dataset in datasets: - lines = str(dataset).split("\n") - lines = [line + "\n" for line in lines] # add the newline to end - rep.append(lines) - - -diff = difflib.Differ() -for line in diff.compare(rep[0], rep[1]): - if line[0] != "?": - print(line) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomInfo.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomInfo.py deleted file mode 100644 index 2b3c12f2..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/DicomInfo.py +++ /dev/null @@ -1,63 +0,0 @@ -# DicomInfo.py -""" -Read a DICOM file and print some or all of its values. - -Usage: python DicomInfo.py imagefile [-v] - --v (optional): Verbose mode, prints all DICOM data elements - -Without the -v option, a few of the most common dicom file -data elements are printed: some info about the patient and about -the image. - -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function - -import sys -import dicom - -# check command line arguments make sense -if not 1 < len(sys.argv) < 4: - print(__doc__) - sys.exit() - -# read the file -filename = sys.argv[1] -dataset = dicom.read_file(filename) - -# Verbose mode: -if len(sys.argv) == 3: - if sys.argv[2] == "-v": # user asked for all info - print(dataset) - else: # unknown command argument - print(__doc__) - sys.exit() - -# Normal mode: -print() -print("Filename.........:", filename) -print("Storage type.....:", dataset.SOPClassUID) -print() - -pat_name = dataset.PatientName -display_name = pat_name.family_name + ", " + pat_name.given_name -print("Patient's name...:", display_name) -print("Patient id.......:", dataset.PatientID) -print("Modality.........:", dataset.Modality) -print("Study Date.......:", dataset.StudyDate) - -if 'PixelData' in dataset: - rows = int(dataset.Rows) - cols = int(dataset.Columns) - print("Image size.......: {rows:d} x {cols:d}, {size:d} bytes".format( - rows=rows, cols=cols, size=len(dataset.PixelData))) - if 'PixelSpacing' in dataset: - print("Pixel spacing....:", dataset.PixelSpacing) - -# use .get() if not sure the item exists, and want a default value if missing -print("Slice location...:", dataset.get('SliceLocation', "(missing)")) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/ListBeams.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/ListBeams.py deleted file mode 100644 index 334f1581..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/ListBeams.py +++ /dev/null @@ -1,34 +0,0 @@ -# ListBeams.py -"""Given an RTPLAN DICOM file, list basic info for the beams in it -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function -import dicom - -usage = """python ListBeams.py rtplan.dcm""" - - -def ListBeams(plan_dataset): - """Return a string summarizing the RTPLAN beam information in the dataset""" - lines = ["{name:^13s} {num:^8s} {gantry:^8s} {ssd:^11s}".format( - name="Beam name", num="Number", gantry="Gantry", ssd="SSD (cm)")] - for beam in plan_dataset.BeamSequence: - cp0 = beam.ControlPointSequence[0] - SSD = float(cp0.SourcetoSurfaceDistance / 10) - lines.append("{b.BeamName:^13s} {b.BeamNumber:8d} " - "{gantry:8.1f} {ssd:8.1f}".format(b=beam, - gantry=cp0.GantryAngle, ssd=SSD)) - return "\n".join(lines) - -if __name__ == "__main__": - import sys - if len(sys.argv) != 2: - print(usage) - sys.exit(-1) - - rtplan = dicom.read_file(sys.argv[1]) - print(ListBeams(rtplan)) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/__init__.py deleted file mode 100644 index 05ef6b86..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# __init__.py -# Mark the folder as a python package diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/add_dict_entries.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/add_dict_entries.py deleted file mode 100644 index 27e29a00..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/add_dict_entries.py +++ /dev/null @@ -1,40 +0,0 @@ -# add_dict_entries.py -"""Example script to add dictionary items to the 'standard' DICOM -dictionary dynamically - -Not a recommended solution in general, but useful as a demonstration -or for in-house programs only, or to get around elements missing -from pydicom's DICOM dictionaries. - -For private items, the proper way would be similar to ones in _private_dict.py, -where a block is reserved etc as specified in the DICOM standards. -""" - -# D. Mason, 2013-01 -from dicom.datadict import DicomDictionary, NameDict, CleanName -from dicom.dataset import Dataset - -# Define items as (VR, VM, description, is_retired flag, keyword) -# Leave is_retired flag blank. -new_dict_items = { - 0x10011001: ('UL', '1', "Test One", '', 'TestOne'), - 0x10011002: ('OB', '1', "Test Two", '', 'TestTwo'), - 0x10011003: ('UI', '1', "Test Three", '', 'TestThree'), -} - -# Update the dictionary itself -DicomDictionary.update(new_dict_items) - -# Update the reverse mapping from name to tag -new_names_dict = dict([(CleanName(tag), tag) for tag in - new_dict_items]) -NameDict.update(new_names_dict) - -# Test that it is working -ds = Dataset() # or could get one from read_file, etc - -ds.TestOne = 42 -ds.TestTwo = '12345' -ds.TestThree = '1.2.3.4.5' - -print ds.top() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/anonymize.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/anonymize.py deleted file mode 100644 index 43961922..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/anonymize.py +++ /dev/null @@ -1,109 +0,0 @@ -# anonymize.py -"""Read a dicom file (or directory of files), partially "anonymize" it (them), -by replacing Person names, patient id, optionally remove curves -and private tags, and write result to a new file (directory) -This is an example only; use only as a starting point. -""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# Use at your own risk!! -# Many more items need to be addressed for proper de-identifying DICOM data. -# In particular, note that pixel data could have confidential data "burned in" -# Annex E of PS3.15-2011 DICOM standard document details what must be done to -# fully de-identify DICOM data - -from __future__ import print_function - -usage = """ -Usage: -python anonymize.py dicomfile.dcm outputfile.dcm -OR -python anonymize.py originals_directory anonymized_directory - -Note: Use at your own risk. Does not fully de-identify the DICOM data as per -the DICOM standard, e.g in Annex E of PS3.15-2011. -""" - -import os -import os.path -import dicom - - -def anonymize(filename, output_filename, new_person_name="anonymous", - new_patient_id="id", remove_curves=True, remove_private_tags=True): - """Replace data element values to partly anonymize a DICOM file. - Note: completely anonymizing a DICOM file is very complicated; there - are many things this example code does not address. USE AT YOUR OWN RISK. - """ - - # Define call-back functions for the dataset.walk() function - def PN_callback(ds, data_element): - """Called from the dataset "walk" recursive function for all data elements.""" - if data_element.VR == "PN": - data_element.value = new_person_name - - def curves_callback(ds, data_element): - """Called from the dataset "walk" recursive function for all data elements.""" - if data_element.tag.group & 0xFF00 == 0x5000: - del ds[data_element.tag] - - # Load the current dicom file to 'anonymize' - dataset = dicom.read_file(filename) - - # Remove patient name and any other person names - dataset.walk(PN_callback) - - # Change ID - dataset.PatientID = new_patient_id - - # Remove data elements (should only do so if DICOM type 3 optional) - # Use general loop so easy to add more later - # Could also have done: del ds.OtherPatientIDs, etc. - for name in ['OtherPatientIDs', 'OtherPatientIDsSequence']: - if name in dataset: - delattr(dataset, name) - - # Same as above but for blanking data elements that are type 2. - for name in ['PatientBirthDate']: - if name in dataset: - dataset.data_element(name).value = '' - - # Remove private tags if function argument says to do so. Same for curves - if remove_private_tags: - dataset.remove_private_tags() - if remove_curves: - dataset.walk(curves_callback) - - # write the 'anonymized' DICOM out under the new filename - dataset.save_as(output_filename) - -# Can run as a script: -if __name__ == "__main__": - import sys - if len(sys.argv) != 3: - print(usage) - sys.exit() - arg1, arg2 = sys.argv[1:] - - if os.path.isdir(arg1): - in_dir = arg1 - out_dir = arg2 - if os.path.exists(out_dir): - if not os.path.isdir(out_dir): - raise IOError("Input is directory; output name exists but is not a directory") - else: # out_dir does not exist; create it. - os.makedirs(out_dir) - - filenames = os.listdir(in_dir) - for filename in filenames: - if not os.path.isdir(os.path.join(in_dir, filename)): - print(filename + "...", end='') - anonymize(os.path.join(in_dir, filename), os.path.join(out_dir, filename)) - print("done\r") - else: # first arg not a directory, assume two files given - in_filename = arg1 - out_filename = arg2 - anonymize(in_filename, out_filename) - print() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/dicomtree.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/dicomtree.py deleted file mode 100644 index c67b744c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/dicomtree.py +++ /dev/null @@ -1,68 +0,0 @@ -# dicomtree.py -"""Show a dicom file using a hierarchical tree in a graphical window""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -usage = "Usage: python dicomtree.py dicom_filename" - -import Tix - - -def RunTree(w, filename): - top = Tix.Frame(w, relief=Tix.RAISED, bd=1) - tree = Tix.Tree(top, options="hlist.columns 2") - tree.pack(expand=1, fill=Tix.BOTH, padx=10, pady=10, side=Tix.LEFT) - # print(tree.hlist.keys()) # use to see the available configure() options - tree.hlist.configure(bg='white', font='Courier 10', indent=30) - tree.hlist.configure(selectbackground='light yellow', gap=150) - - box = Tix.ButtonBox(w, orientation=Tix.HORIZONTAL) - # box.add('ok', text='Ok', underline=0, command=w.destroy, width=6) - box.add('exit', text='Exit', underline=0, command=w.destroy, width=6) - box.pack(side=Tix.BOTTOM, fill=Tix.X) - top.pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) - - show_file(filename, tree) - - -def show_file(filename, tree): - tree.hlist.add("root", text=filename) - ds = dicom.read_file(sys.argv[1]) - ds.decode() # change strings to unicode - recurse_tree(tree, ds, "root", False) - tree.autosetmode() - - -def recurse_tree(tree, dataset, parent, hide=False): - # order the dicom tags - for data_element in dataset: - node_id = parent + "." + hex(id(data_element)) - if isinstance(data_element.value, unicode): - tree.hlist.add(node_id, text=unicode(data_element)) - else: - tree.hlist.add(node_id, text=str(data_element)) - if hide: - tree.hlist.hide_entry(node_id) - if data_element.VR == "SQ": # a sequence - for i, dataset in enumerate(data_element.value): - item_id = node_id + "." + str(i + 1) - sq_item_description = data_element.name.replace(" Sequence", "") # XXX not i18n - item_text = "{0:s} {1:d}".format(sq_item_description, i + 1) - tree.hlist.add(item_id, text=item_text) - tree.hlist.hide_entry(item_id) - recurse_tree(tree, dataset, item_id, hide=True) - -if __name__ == '__main__': - import sys - import dicom - if len(sys.argv) != 2: - print("Please supply a dicom file name:\n") - print(usage) - sys.exit(-1) - root = Tix.Tk() - root.geometry("{0:d}x{1:d}+{2:d}+{3:d}".format(800, 600, 0, 0)) - - RunTree(root, sys.argv[1]) - root.mainloop() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/myprint.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/myprint.py deleted file mode 100644 index bfc94769..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/myprint.py +++ /dev/null @@ -1,46 +0,0 @@ -# myprint.py -"""Example of printing a dataset in your own format""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function - - -def myprint(dataset, indent=0): - """Go through all items in the dataset and print them with custom format - - Modelled after Dataset._pretty_str() - """ - dont_print = ['Pixel Data', 'File Meta Information Version'] - - indent_string = " " * indent - next_indent_string = " " * (indent + 1) - - for data_element in dataset: - if data_element.VR == "SQ": # a sequence - print(indent_string, data_element.name) - for sequence_item in data_element.value: - myprint(sequence_item, indent + 1) - print(next_indent_string + "---------") - else: - if data_element.name in dont_print: - print("""""") - else: - repr_value = repr(data_element.value) - if len(repr_value) > 50: - repr_value = repr_value[:50] + "..." - print("{0:s} {1:s} = {2:s}".format(indent_string, - data_element.name, repr_value)) - -if __name__ == "__main__": - import dicom - import sys - usage = """Usage: myprint filename""" - if len(sys.argv) != 2: - print(usage) - sys.exit() - - ds = dicom.read_file(sys.argv[1]) - myprint(ds) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_charset_name.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_charset_name.py deleted file mode 100644 index 347da609..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_charset_name.py +++ /dev/null @@ -1,33 +0,0 @@ -# show_charset_name.py -"""Very simple app to display unicode person names""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import Tkinter -from dicom.valuerep import PersonNameUnicode - -default_encoding = 'iso8859' - -root = Tkinter.Tk() -# root.geometry("%dx%d%+d%+d" % (800, 600, 0, 0)) - -person_names = [ - PersonNameUnicode( - """Yamada^Tarou=\033$B;3ED\033(B^\033$BB@O:\033(B=\033$B$d$^$@\033(B^\033$B$?$m$&\033(B""", - [default_encoding, 'iso2022_jp']), # DICOM standard 2008-PS3.5 H.3 p 98 - PersonNameUnicode( - """Wang^XiaoDong=\xcd\xf5\x5e\xd0\xa1\xb6\xab=""", - [default_encoding, 'GB18030']), # DICOM standard 2008-PS3.5 J.3 p 105 - PersonNameUnicode( - """Wang^XiaoDong=\xe7\x8e\x8b\x5e\xe5\xb0\x8f\xe6\x9d\xb1=""", - [default_encoding, 'UTF-8']), # DICOM standard 2008-PS3.5 J.1 p 104 - PersonNameUnicode( - """Hong^Gildong=\033$)C\373\363^\033$)C\321\316\324\327=\033$)C\310\253^\033$)C\261\346\265\277""", - [default_encoding, 'euc_kr']), # DICOM standard 2008-PS3.5 I.2 p 101 -] -for person_name in person_names: - label = Tkinter.Label(text=person_name) - label.pack() -root.mainloop() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_dicomdir.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_dicomdir.py deleted file mode 100644 index d075298c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/show_dicomdir.py +++ /dev/null @@ -1,82 +0,0 @@ -# show_dicomdir.py -"""Example file to show use of read_dicomdir() -""" -# Copyright (c) 2013 Darcy Mason -# This file is part of pydicom, relased under an MIT-style license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# - -import sys -import dicom -import os.path -from pprint import pprint -# dicom.debug() - - -if __name__ == "__main__": - print "------------------------------------------------------------" - print "Example program showing DICOMDIR contents, assuming standard" - print "Patient -> Study -> Series -> Images hierarchy" - print "------------------------------------------------------------" - print - if len(sys.argv) > 1: - filepath = sys.argv[1] - if os.path.isdir(filepath): # only gave directory, add standard name - filepath = os.path.join(filepath, "DICOMDIR") - dcmdir = dicom.read_dicomdir(filepath) - base_dir = os.path.dirname(filepath) - else: - # Read standard "DICOMDIR" filename from current directory - dcmdir = dicom.read_dicomdir() - base_dir = "." - - for patrec in dcmdir.patient_records: - print "Patient: {0.PatientID}: {0.PatientsName}".format(patrec) - studies = patrec.children - for study in studies: - print(" Study {0.StudyID}: {0.StudyDate}:" - " {0.StudyDescription}".format(study)) - all_series = study.children - for series in all_series: - image_count = len(series.children) - plural = ('', 's')[image_count > 1] - - # Write basic series info and image count - - # Put N/A in if no Series Description - if 'SeriesDescription' not in series: - series.SeriesDescription = "N/A" - print(" " * 8 + "Series {0.SeriesNumber}: {0.Modality}: {0.SeriesDescription}" - " ({1} image{2})".format(series, image_count, plural)) - - # Open and read something from each image, for demonstration purposes - # For simple quick overview of DICOMDIR, leave the following out - print " " * 12 + "Reading images..." - image_records = series.children - image_filenames = [os.path.join(base_dir, *image_rec.ReferencedFileID) - for image_rec in image_records] - - # slice_locations = [dicom.read_file(image_filename).SliceLocation - # for image_filename in image_filenames] - - datasets = [dicom.read_file(image_filename) - for image_filename in image_filenames] - - patient_names = set(ds.PatientName for ds in datasets) - patient_IDs = set(ds.PatientID for ds in datasets) - - # List the image filenames - print "\n" + " " * 12 + "Image filenames:" - print " " * 12, - pprint(image_filenames, indent=12) - - # Expect all images to have same patient name, id - # Show the set of all names, IDs found (should each have one) - print(" " * 12 + "Patient Names in images..: " - "{0:s}".format(patient_names)) - print(" " * 12 + "Patient IDs in images..:" - "{0:s}".format(patient_IDs)) - - # print (" " * 12 + "Slice Locations from " - # "{0} to {1}".format(min(slice_locations), max(slice_locations))) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/write_new.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/write_new.py deleted file mode 100644 index 786d1878..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/examples/write_new.py +++ /dev/null @@ -1,69 +0,0 @@ -# write_new.py -"""Simple example of writing a DICOM file from scratch using pydicom. - -This example does not produce a DICOM standards compliant file as written, -you will have to change UIDs to valid values and add all required DICOM data -elements -""" -# Copyright (c) 2010-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function - -import sys -import os.path -import dicom -from dicom.dataset import Dataset, FileDataset -import dicom.UID - -if __name__ == "__main__": - print("---------------------------- ") - print("write_new.py example program") - print("----------------------------") - print("Demonstration of writing a DICOM file using pydicom") - print("NOTE: this is only a demo. Writing a DICOM standards compliant file") - print("would require official UIDs, and checking the DICOM standard to ensure") - print("that all required data elements were present.") - print() - - if sys.platform.lower().startswith("win"): - filename = r"c:\temp\test.dcm" - filename2 = r"c:\temp\test-explBig.dcm" - else: - homedir = os.path.expanduser("~") - filename = os.path.join(homedir, "test.dcm") - filename2 = os.path.join(homedir, "test-explBig.dcm") - - print("Setting file meta information...") - # Populate required values for file meta information - file_meta = Dataset() - file_meta.MediaStorageSOPClassUID = '1.2.840.10008.5.1.4.1.1.2' # CT Image Storage - file_meta.MediaStorageSOPInstanceUID = "1.2.3" # !! Need valid UID here for real work - file_meta.ImplementationClassUID = "1.2.3.4" # !!! Need valid UIDs here - - print("Setting dataset values...") - - # Create the FileDataset instance (initially no data elements, but file_meta supplied) - ds = FileDataset(filename, {}, file_meta=file_meta, preamble="\0" * 128) - - # Add the data elements -- not trying to set all required here. Check DICOM standard - ds.PatientName = "Test^Firstname" - ds.PatientID = "123456" - - # Set the transfer syntax - ds.is_little_endian = True - ds.is_implicit_VR = True - - print("Writing test file", filename) - ds.save_as(filename) - print("File saved.") - - # Write as a different transfer syntax - ds.file_meta.TransferSyntaxUID = dicom.UID.ExplicitVRBigEndian # XXX shouldn't need this but pydicom 0.9.5 bug not recognizing transfer syntax - ds.is_little_endian = False - ds.is_implicit_VR = False - - print("Writing test file as Big Endian Explicit VR", filename2) - ds.save_as(filename2) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filebase.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filebase.py deleted file mode 100644 index 2a300ca5..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filebase.py +++ /dev/null @@ -1,166 +0,0 @@ -# filebase.py -"""Hold DicomFile class, which does basic I/O for a dicom file.""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -from __future__ import absolute_import - -from dicom.tag import Tag -from struct import unpack, pack - -from io import BytesIO -import logging -logger = logging.getLogger('pydicom') - - -class DicomIO(object): - """File object which holds transfer syntax info and anything else we need.""" - - max_read_attempts = 3 # number of times to read if don't get requested bytes - defer_size = None # default - - def __init__(self, *args, **kwargs): - self._implicit_VR = True # start with this by default - - def __del__(self): - self.close() - - def read_le_tag(self): - """Read and return two unsigned shorts (little endian) from the file.""" - bytes_read = self.read(4) - if len(bytes_read) < 4: - raise EOFError # needed for reading "next" tag when at end of file - return unpack(b"HH", bytes_read) - - def write_tag(self, tag): - """Write a dicom tag (two unsigned shorts) to the file.""" - tag = Tag(tag) # make sure is an instance of class, not just a tuple or int - self.write_US(tag.group) - self.write_US(tag.element) - - def read_leUS(self): - """Return an unsigned short from the file with little endian byte order""" - return unpack(b"H", self.read(2))[0] - - def read_leUL(self): - """Return an unsigned long read with little endian byte order""" - return unpack(b"H", val)) - - def write_beUL(self, val): - """Write an unsigned long with big endian byte order""" - self.write(pack(b">L", val)) - - write_US = write_leUS # XXX should we default to this? - write_UL = write_leUL # XXX " - - def read_beUL(self): - """Return an unsigned long read with big endian byte order""" - return unpack(b">L", self.read(4))[0] - - # Set up properties is_little_endian and is_implicit_VR - # Big/Little Endian changes functions to read unsigned short or long, e.g. length fields etc - @property - def is_little_endian(self): - return self._little_endian - - @is_little_endian.setter - def is_little_endian(self, value): - self._little_endian = value - if value: # Little Endian - self.read_US = self.read_leUS - self.read_UL = self.read_leUL - self.write_US = self.write_leUS - self.write_UL = self.write_leUL - self.read_tag = self.read_le_tag - else: # Big Endian - self.read_US = self.read_beUS - self.read_UL = self.read_beUL - self.write_US = self.write_beUS - self.write_UL = self.write_beUL - self.read_tag = self.read_be_tag - - @property - def is_implicit_VR(self): - return self._implicit_VR - - @is_implicit_VR.setter - def is_implicit_VR(self, value): - self._implicit_VR = value - - -class DicomFileLike(DicomIO): - - def __init__(self, file_like_obj): - self.parent = file_like_obj - self.parent_read = getattr(file_like_obj, "read", self.no_read) - self.write = getattr(file_like_obj, "write", self.no_write) - self.seek = getattr(file_like_obj, "seek", self.no_seek) - self.tell = file_like_obj.tell - self.close = file_like_obj.close - self.name = getattr(file_like_obj, 'name', '') - - def no_write(self, bytes_read): - """Used for file-like objects where no write is available""" - raise IOError("This DicomFileLike object has no write() method") - - def no_read(self, bytes_read): - """Used for file-like objects where no read is available""" - raise IOError("This DicomFileLike object has no read() method") - - def no_seek(offset, from_what): - """Used for file-like objects where no seek is available""" - raise IOError("This DicomFileLike object has no seek() method") - - -def DicomFile(*args, **kwargs): - return DicomFileLike(open(*args, **kwargs)) - - -def DicomBytesIO(*args, **kwargs): - return DicomFileLike(BytesIO(*args, **kwargs)) \ No newline at end of file diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filereader.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filereader.py deleted file mode 100644 index 8aff915a..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/filereader.py +++ /dev/null @@ -1,692 +0,0 @@ -# filereader.py -"""Read a dicom media file""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -from __future__ import absolute_import -# Need zlib and io.BytesIO for deflate-compressed file -import os.path -import warnings -import zlib -from io import BytesIO -import logging -from dicom.tag import TupleTag -from dicom.dataelem import RawDataElement -from dicom.util.hexutil import bytes2hex -from dicom.valuerep import extra_length_VRs -from dicom.charset import default_encoding, convert_encodings -from dicom import in_py3 - -logger = logging.getLogger('pydicom') - -stat_available = True -try: - from os import stat -except: - stat_available = False - -from dicom.errors import InvalidDicomError -import dicom.UID # for Implicit/Explicit/Little/Big Endian transfer syntax UIDs -from dicom.filebase import DicomFile -from dicom.dataset import Dataset, FileDataset -from dicom.dicomdir import DicomDir -from dicom.datadict import dictionaryVR -from dicom.dataelem import DataElement -from dicom.tag import ItemTag, SequenceDelimiterTag -from dicom.sequence import Sequence -from dicom.fileutil import read_undefined_length_value -from struct import Struct, unpack -from sys import byteorder -sys_is_little_endian = (byteorder == 'little') - - -class DicomIter(object): - """Iterator over DICOM data elements created from a file-like object - """ - def __init__(self, fp, stop_when=None, force=False): - """Read the preamble and meta info, prepare iterator for remainder - - fp -- an open DicomFileLike object, at start of file - - Adds flags to fp: Big/Little-endian and Implicit/Explicit VR - """ - self.fp = fp - self.stop_when = stop_when - self.preamble = preamble = read_preamble(fp, force) - self.has_header = has_header = (preamble is not None) - self.file_meta_info = Dataset() - if has_header: - self.file_meta_info = file_meta_info = _read_file_meta_info(fp) - transfer_syntax = file_meta_info.TransferSyntaxUID - if transfer_syntax == dicom.UID.ExplicitVRLittleEndian: - self._is_implicit_VR = False - self._is_little_endian = True - elif transfer_syntax == dicom.UID.ImplicitVRLittleEndian: - self._is_implicit_VR = True - self._is_little_endian = True - elif transfer_syntax == dicom.UID.ExplicitVRBigEndian: - self._is_implicit_VR = False - self._is_little_endian = False - elif transfer_syntax == dicom.UID.DeflatedExplicitVRLittleEndian: - # See PS3.6-2008 A.5 (p 71) -- when written, the entire dataset - # following the file metadata was prepared the normal way, - # then "deflate" compression applied. - # All that is needed here is to decompress and then - # use as normal in a file-like object - zipped = fp.read() - # -MAX_WBITS part is from comp.lang.python answer: - # groups.google.com/group/comp.lang.python/msg/e95b3b38a71e6799 - unzipped = zlib.decompress(zipped, -zlib.MAX_WBITS) - fp = BytesIO(unzipped) # a file-like object - self.fp = fp # point to new object - self._is_implicit_VR = False - self._is_little_endian = True - else: - # Any other syntax should be Explicit VR Little Endian, - # e.g. all Encapsulated (JPEG etc) are ExplVR-LE - # by Standard PS 3.5-2008 A.4 (p63) - self._is_implicit_VR = False - self._is_little_endian = True - else: # no header -- make assumptions - fp.TransferSyntaxUID = dicom.UID.ImplicitVRLittleEndian - self._is_little_endian = True - self._is_implicit_VR = True - - impl_expl = ("Explicit", "Implicit")[self._is_implicit_VR] - big_little = ("Big", "Little")[self._is_little_endian] - logger.debug("Using {0:s} VR, {1:s} Endian transfer syntax".format( - impl_expl, big_little)) - - def __iter__(self): - tags = sorted(self.file_meta_info.keys()) - for tag in tags: - yield self.file_meta_info[tag] - - for data_element in data_element_generator(self.fp, - self._is_implicit_VR, self._is_little_endian, - stop_when=self.stop_when): - yield data_element - - -def data_element_generator(fp, is_implicit_VR, is_little_endian, - stop_when=None, defer_size=None, encoding=default_encoding): - """Create a generator to efficiently return the raw data elements - Returns (VR, length, raw_bytes, value_tell, is_little_endian), - where: - VR -- None if implicit VR, otherwise the VR read from the file - length -- the length as in the DICOM data element (could be - DICOM "undefined length" 0xffffffffL), - value_bytes -- the raw bytes from the DICOM file - (not parsed into python types) - is_little_endian -- True if transfer syntax is little endian; else False - """ - # Summary of DICOM standard PS3.5-2008 chapter 7: - # If Implicit VR, data element is: - # tag, 4-byte length, value. - # The 4-byte length can be FFFFFFFF (undefined length)* - # If Explicit VR: - # if OB, OW, OF, SQ, UN, or UT: - # tag, VR, 2-bytes reserved (both zero), 4-byte length, value - # For all but UT, the length can be FFFFFFFF (undefined length)* - # else: (any other VR) - # tag, VR, (2 byte length), value - # * for undefined length, a Sequence Delimitation Item marks the end - # of the Value Field. - # Note, except for the special_VRs, both impl and expl VR use 8 bytes; - # the special VRs follow the 8 bytes with a 4-byte length - - # With a generator, state is stored, so we can break down - # into the individual cases, and not have to check them again for each - # data element - - if is_little_endian: - endian_chr = "<" - else: - endian_chr = ">" - if is_implicit_VR: - element_struct = Struct(endian_chr + "HHL") - else: # Explicit VR - # tag, VR, 2-byte length (or 0 if special VRs) - element_struct = Struct(endian_chr + "HH2sH") - extra_length_struct = Struct(endian_chr + "L") # for special VRs - extra_length_unpack = extra_length_struct.unpack # for lookup speed - - # Make local variables so have faster lookup - fp_read = fp.read - fp_tell = fp.tell - logger_debug = logger.debug - debugging = dicom.debugging - element_struct_unpack = element_struct.unpack - - while True: - # Read tag, VR, length, get ready to read value - bytes_read = fp_read(8) - if len(bytes_read) < 8: - raise StopIteration # at end of file - if debugging: - debug_msg = "{0:08x}: {1}".format(fp.tell() - 8, - bytes2hex(bytes_read)) - - if is_implicit_VR: - # must reset VR each time; could have set last iteration (e.g. SQ) - VR = None - group, elem, length = element_struct_unpack(bytes_read) - else: # explicit VR - group, elem, VR, length = element_struct_unpack(bytes_read) - if in_py3: - VR = VR.decode(default_encoding) - if VR in extra_length_VRs: - bytes_read = fp_read(4) - length = extra_length_unpack(bytes_read)[0] - if debugging: - debug_msg += " " + bytes2hex(bytes_read) - if debugging: - debug_msg = "%-47s (%04x, %04x)" % (debug_msg, group, elem) - if not is_implicit_VR: - debug_msg += " %s " % VR - if length != 0xFFFFFFFFL: - debug_msg += "Length: %d" % length - else: - debug_msg += "Length: Undefined length (FFFFFFFF)" - logger_debug(debug_msg) - - # Positioned to read the value, but may not want to -- check stop_when - value_tell = fp_tell() - tag = TupleTag((group, elem)) - if stop_when is not None: - # XXX VR may be None here!! Should stop_when just take tag? - if stop_when(tag, VR, length): - if debugging: - logger_debug("Reading ended by stop_when callback. " - "Rewinding to start of data element.") - rewind_length = 8 - if not is_implicit_VR and VR in extra_length_VRs: - rewind_length += 4 - fp.seek(value_tell - rewind_length) - raise StopIteration - - # Reading the value - # First case (most common): reading a value with a defined length - if length != 0xFFFFFFFFL: - if defer_size is not None and length > defer_size: - # Flag as deferred by setting value to None, and skip bytes - value = None - logger_debug("Defer size exceeded. " - "Skipping forward to next data element.") - fp.seek(fp_tell() + length) - else: - value = fp_read(length) - if debugging: - dotdot = " " - if length > 12: - dotdot = "..." - logger_debug("%08x: %-34s %s %r %s" % (value_tell, - bytes2hex(value[:12]), dotdot, value[:12], dotdot)) - - # If the tag is (0008,0005) Specific Character Set, then store it - if tag == (0x08, 0x05): - from dicom.values import convert_string - encoding = convert_string(value, is_little_endian, encoding=default_encoding) - # Store the encoding value in the generator for use with future elements (SQs) - encoding = convert_encodings(encoding) - - yield RawDataElement(tag, VR, length, value, value_tell, - is_implicit_VR, is_little_endian) - - # Second case: undefined length - must seek to delimiter, - # unless is SQ type, in which case is easier to parse it, because - # undefined length SQs and items of undefined lengths can be nested - # and it would be error-prone to read to the correct outer delimiter - else: - # Try to look up type to see if is a SQ - # if private tag, won't be able to look it up in dictionary, - # in which case just ignore it and read the bytes unless it is - # identified as a Sequence - if VR is None: - try: - VR = dictionaryVR(tag) - except KeyError: - # Look ahead to see if it consists of items and is thus a SQ - next_tag = TupleTag(unpack(endian_chr + "HH", fp_read(4))) - # Rewind the file - fp.seek(fp_tell() - 4) - if next_tag == ItemTag: - VR = 'SQ' - - if VR == 'SQ': - if debugging: - msg = "{0:08x}: Reading/parsing undefined length sequence" - logger_debug(msg.format(fp_tell())) - seq = read_sequence(fp, is_implicit_VR, - is_little_endian, length, encoding) - yield DataElement(tag, VR, seq, value_tell, - is_undefined_length=True) - else: - delimiter = SequenceDelimiterTag - if debugging: - logger_debug("Reading undefined length data element") - value = read_undefined_length_value(fp, is_little_endian, - delimiter, defer_size) - - # If the tag is (0008,0005) Specific Character Set, then store it - if tag == (0x08, 0x05): - from dicom.values import convert_string - encoding = convert_string(value, is_little_endian, encoding=default_encoding) - # Store the encoding value in the generator for use with future elements (SQs) - encoding = convert_encodings(encoding) - - yield RawDataElement(tag, VR, length, value, value_tell, - is_implicit_VR, is_little_endian) - - -def read_dataset(fp, is_implicit_VR, is_little_endian, bytelength=None, - stop_when=None, defer_size=None, parent_encoding=default_encoding): - """Return a Dataset instance containing the next dataset in the file. - :param fp: an opened file object - :param is_implicit_VR: True if file transfer syntax is implicit VR - :param is_little_endian: True if file has little endian transfer syntax - :param bytelength: None to read until end of file or ItemDeliterTag, else - a fixed number of bytes to read - :param stop_when: optional call_back function which can terminate reading. - See help for data_element_generator for details - :param defer_size: optional size to avoid loading large elements in memory. - See help for data_element_generator for details - :param parent_encoding: optional encoding to use as a default in case - a Specific Character Set (0008,0005) isn't specified - :returns: a Dataset instance - """ - raw_data_elements = dict() - fpStart = fp.tell() - de_gen = data_element_generator(fp, is_implicit_VR, is_little_endian, - stop_when, defer_size, parent_encoding) - try: - while (bytelength is None) or (fp.tell() - fpStart < bytelength): - raw_data_element = next(de_gen) - # Read data elements. Stop on some errors, but return what was read - tag = raw_data_element.tag - # Check for ItemDelimiterTag --dataset is an item in a sequence - if tag == (0xFFFE, 0xE00D): - break - raw_data_elements[tag] = raw_data_element - except StopIteration: - pass - except EOFError as details: - # XXX is this error visible enough to user code with just logging? - logger.error(str(details) + " in file " + - getattr(fp, "name", "")) - except NotImplementedError as details: - logger.error(details) - - return Dataset(raw_data_elements) - - -def read_sequence(fp, is_implicit_VR, is_little_endian, bytelength, encoding, - offset=0): - """Read and return a Sequence -- i.e. a list of Datasets""" - - seq = [] # use builtin list to start for speed, convert to Sequence at end - is_undefined_length = False - if bytelength != 0: # SQ of length 0 possible (PS 3.5-2008 7.5.1a (p.40) - if bytelength == 0xffffffffL: - is_undefined_length = True - bytelength = None - fp_tell = fp.tell # for speed in loop - fpStart = fp_tell() - while (not bytelength) or (fp_tell() - fpStart < bytelength): - file_tell = fp.tell() - dataset = read_sequence_item(fp, is_implicit_VR, is_little_endian, - encoding, offset) - if dataset is None: # None is returned if hit Sequence Delimiter - break - dataset.file_tell = file_tell + offset - seq.append(dataset) - seq = Sequence(seq) - seq.is_undefined_length = is_undefined_length - return seq - - -def read_sequence_item(fp, is_implicit_VR, is_little_endian, encoding, offset=0): - """Read and return a single sequence item, i.e. a Dataset""" - seq_item_tell = fp.tell() + offset - if is_little_endian: - tag_length_format = "HH" - bytes_to_find = pack(bytes_format, delimiter_tag.group, delimiter_tag.elem) - - found = False - EOF = False - value_chunks = [] - byte_count = 0 # for defer_size checks - while not found: - chunk_start = fp.tell() - bytes_read = fp.read(read_size) - if len(bytes_read) < read_size: - # try again - if still don't get required amount, this is last block - new_bytes = fp.read(read_size - len(bytes_read)) - bytes_read += new_bytes - if len(bytes_read) < read_size: - EOF = True # but will still check whatever we did get - index = bytes_read.find(bytes_to_find) - if index != -1: - found = True - new_bytes = bytes_read[:index] - byte_count += len(new_bytes) - if defer_size is None or byte_count < defer_size: - value_chunks.append(bytes_read[:index]) - fp.seek(chunk_start + index + 4) # rewind to end of delimiter - length = fp.read(4) - if length != b"\0\0\0\0": - msg = "Expected 4 zero bytes after undefined length delimiter at pos {0:04x}" - logger.error(msg.format(fp.tell() - 4)) - elif EOF: - fp.seek(data_start) - raise EOFError("End of file reached before delimiter {0!r} found".format(delimiter_tag)) - else: - fp.seek(fp.tell() - search_rewind) # rewind a bit in case delimiter crossed read_size boundary - # accumulate the bytes read (not including the rewind) - new_bytes = bytes_read[:-search_rewind] - byte_count += len(new_bytes) - if defer_size is None or byte_count < defer_size: - value_chunks.append(new_bytes) - # if get here then have found the byte string - if defer_size is not None and defer_size >= defer_size: - return None - else: - return b"".join(value_chunks) - - -def find_delimiter(fp, delimiter, is_little_endian, read_size=128, rewind=True): - """Return file position where 4-byte delimiter is located. - - Return None if reach end of file without finding the delimiter. - On return, file position will be where it was before this function, - unless rewind argument is False. - - """ - struct_format = ".is_undefined_length_sequence_item -- for datasets that belong to a - sequence, write the undefined length delimiters if that is - what the original had - Set write_like_original = False to produce a "nicer" DICOM file for other readers, - where all lengths are explicit. - """ - - # Decide whether to write DICOM preamble. Should always do so unless trying to mimic the original file read in - preamble = getattr(dataset, "preamble", None) - if not preamble and not write_like_original: - preamble = b"\0" * 128 - file_meta = dataset.file_meta - if file_meta is None: - file_meta = Dataset() - if 'TransferSyntaxUID' not in file_meta: - if dataset.is_little_endian and dataset.is_implicit_VR: - file_meta.add_new((2, 0x10), 'UI', ImplicitVRLittleEndian) - elif dataset.is_little_endian and not dataset.is_implicit_VR: - file_meta.add_new((2, 0x10), 'UI', ExplicitVRLittleEndian) - elif not dataset.is_little_endian and not dataset.is_implicit_VR: - file_meta.add_new((2, 0x10), 'UI', ExplicitVRBigEndian) - else: - raise NotImplementedError("pydicom has not been verified for Big Endian with Implicit VR") - - caller_owns_file = True - # Open file if not already a file object - if isinstance(filename, basestring): - fp = DicomFile(filename, 'wb') - # caller provided a file name; we own the file handle - caller_owns_file = False - else: - fp = DicomFileLike(filename) - - try: - if preamble: - fp.write(preamble) # blank 128 byte preamble - _write_file_meta_info(fp, file_meta) - - # Set file VR, endian. MUST BE AFTER writing META INFO (which changes to Explicit LittleEndian) - fp.is_implicit_VR = dataset.is_implicit_VR - fp.is_little_endian = dataset.is_little_endian - - write_dataset(fp, dataset) - finally: - if not caller_owns_file: - fp.close() - -# Map each VR to a function which can write it -# for write_numbers, the Writer maps to a tuple (function, struct_format) -# (struct_format is python's struct module format) -writers = {'UL': (write_numbers, 'L'), - 'SL': (write_numbers, 'l'), - 'US': (write_numbers, 'H'), - 'SS': (write_numbers, 'h'), - 'FL': (write_numbers, 'f'), - 'FD': (write_numbers, 'd'), - 'OF': (write_numbers, 'f'), - 'OB': (write_OBvalue, None), - 'UI': (write_UI, None), - 'SH': (write_string, None), - 'DA': (write_string, None), - 'TM': (write_string, None), - 'CS': (write_string, None), - 'PN': (write_PN, None), - 'LO': (write_string, None), - 'IS': (write_number_string, None), - 'DS': (write_number_string, None), - 'AE': (write_string, None), - 'AS': (write_string, None), - 'LT': (write_string, None), - 'SQ': (write_sequence, None), - 'UN': (write_UN, None), - 'AT': (write_ATvalue, None), - 'ST': (write_string, None), - 'OW': (write_OWvalue, None), - 'US or SS': (write_OWvalue, None), - 'US or OW': (write_OWvalue, None), - 'US or SS or OW': (write_OWvalue, None), - 'OW/OB': (write_OBvalue, None), - 'OB/OW': (write_OBvalue, None), - 'OB or OW': (write_OBvalue, None), - 'OW or OB': (write_OBvalue, None), - 'DT': (write_string, None), - 'UT': (write_string, None), - } # note OW/OB depends on other items, which we don't know at write time diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/misc.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/misc.py deleted file mode 100644 index c6717b63..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/misc.py +++ /dev/null @@ -1,22 +0,0 @@ -# misc.py -"""Miscellaneous helper functions""" -# Copyright (c) 2009 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -_size_factors = dict(KB=1024, MB=1024 * 1024, GB=1024 * 1024 * 1024) - - -def size_in_bytes(expr): - """Return the number of bytes for a defer_size argument to read_file() - """ - try: - return int(expr) - except ValueError: - unit = expr[-2:].upper() - if unit in _size_factors.keys(): - val = float(expr[:-2]) * _size_factors[unit] - return val - else: - raise ValueError("Unable to parse length with unit '{0:s}'".format(unit)) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/multival.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/multival.py deleted file mode 100644 index 8b92584a..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/multival.py +++ /dev/null @@ -1,64 +0,0 @@ -# multival.py -"""Code for multi-value data elements values, or any list of items that -must all be the same type. -""" -# Copyright (c) 2009-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT-style license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom -# - - -class MultiValue(list): - """Class to hold any multi-valued DICOM value, or any list of items - that are all of the same type. - - This class enforces that any items added to the list are of the correct type, - by calling the constructor on any items that are added. Therefore, the - constructor must behave nicely if passed an object that is already its type. - The constructor should raise TypeError if the item cannot be converted. - - Note, however, that DS and IS types can be a blank string '' rather - than an instance of their classes. - """ - - def __init__(self, type_constructor, iterable): - """Initialize the list of values - - :param type_constructor: a constructor for the required type for all list - items. Could be the class, or a factory function. - For DICOM mult-value data elements, this will be the - class or type corresponding to the VR. - :param iterable: an iterable (e.g. list, tuple) of items to initialize - the MultiValue list - """ - from dicom.valuerep import DSfloat, DSdecimal, IS - self.type_constructor = type_constructor - if isinstance(type_constructor, (DSfloat, IS, DSdecimal)): - converted_list = [type_constructor(x) if x != '' - else x for x in iterable] - else: - converted_list = [type_constructor(x) for x in iterable] - super(MultiValue, self).__init__(converted_list) - - def append(self, val): - super(MultiValue, self).append(self.type_constructor(val)) - - def extend(self, list_of_vals): - super(MultiValue, self).extend((self.type_constructor(x) for x in list_of_vals)) - - def insert(self, position, val): - super(MultiValue, self).insert(position, self.type_constructor(val)) - - def __setitem__(self, i, val): - """Set an item of the list, making sure it is of the right VR type""" - if isinstance(i, slice): - val = [self.type_constructor(x) for x in val] - else: - val = self.type_constructor(val) - super(MultiValue, self).__setitem__(i, val) - - def __str__(self): - lines = [str(x) for x in self] - return "['" + "', '".join(lines) + "']" - __repr__ = __str__ diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/sequence.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/sequence.py deleted file mode 100644 index 3c5ec7f9..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/sequence.py +++ /dev/null @@ -1,57 +0,0 @@ -# sequence.py -"""Hold the Sequence class, which stores a dicom sequence (list of Datasets)""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from dicom.dataset import Dataset -from dicom.multival import MultiValue - - -def validate_dataset(elem): - """Ensures that the value is a Dataset instance""" - if not isinstance(elem, Dataset): - raise TypeError('Sequence contents must be a Dataset instance') - - return elem - - -class Sequence(MultiValue): - """Class to hold multiple Datasets in a list - - This class is derived from MultiValue and as such enforces that all items - added to the list are Dataset instances. In order to due this, a validator - is substituted for type_constructor when constructing the MultiValue super - class - """ - def __init__(self, iterable=None): - """Initialize a list of Datasets - - :param iterable: an iterable (e.g. list, tuple) of Datasets. If no - value is provided, an empty Sequence is generated - """ - # We add this extra check to throw a relevant error. Without it, the - # error will be simply that a Sequence must contain Datasets (since a - # Dataset IS iterable). This error, however, doesn't inform the user - # that the actual issue is that their Dataset needs to be INSIDE an - # iterable object - if isinstance(iterable, Dataset): - raise TypeError('The Sequence constructor requires an iterable') - - # If no inputs are provided, we create an empty Sequence - if not iterable: - iterable = list() - - # validate_dataset is used as a pseudo type_constructor - super(Sequence, self).__init__(validate_dataset, iterable) - - def __str__(self): - lines = [str(x) for x in self] - return "[" + "".join(lines) + "]" - - def __repr__(self): - """Sequence-specific string representation""" - formatstr = "<%(classname)s, length %(count)d, at %(id)X>" - return formatstr % {'classname': self.__class__.__name__, - 'id': id(self), 'count': len(self)} diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tag.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tag.py deleted file mode 100644 index 60ea5349..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tag.py +++ /dev/null @@ -1,112 +0,0 @@ -# tag.py -"""Define Tag class to hold a dicom (group, element) tag""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# Store the 4 bytes of a dicom tag as an arbitary length integer -# (python "long" in python <3; "int" for python >=3). -# NOTE: This must be not be stored as a tuple internally, as some code logic -# (e.g. in write_AT of filewriter) checks if a value is a multi-value element -# So, represent as a single number and separate to (group, element) when necessary. - - -def Tag(arg, arg2=None): - """General function for creating a Tag in any of the standard forms: - e.g. Tag(0x00100010), Tag(0x10,0x10), Tag((0x10, 0x10)) - """ - if arg2 is not None: - arg = (arg, arg2) # act as if was passed a single tuple - if isinstance(arg, (tuple, list)): - if len(arg) != 2: - raise ValueError("Tag must be an int or a 2-tuple") - if isinstance(arg[0], (str, unicode)): # py2to3: unicode not needed in py3 - if not isinstance(arg[1], (str, unicode)): # py3: ditto - raise ValueError("Both arguments must be hex strings if one is") - arg = (int(arg[0], 16), int(arg[1], 16)) - if arg[0] > 0xFFFF or arg[1] > 0xFFFF: - raise OverflowError("Groups and elements of tags must each be <=2 byte integers") - long_value = (arg[0] << 16) | arg[1] - elif isinstance(arg, (str, unicode)): # py2to3: unicode not needed in pure py3 - raise ValueError("Tags cannot be instantiated from a single string") - else: # given a single number to use as a tag, as if (group, elem) already joined to a long - long_value = arg - if long_value > 0xFFFFFFFFL: - raise OverflowError("Tags are limited to 32-bit length; tag {0!r}".format(arg)) - return BaseTag(long_value) - -# py2to3: for some reason, the BaseTag class derived directly from long below -# was not converted by 2to3, but conversion does work with this next line -BaseTag_base_class = long # converted to "int" by 2to3 - - -class BaseTag(BaseTag_base_class): - """Class for storing the dicom (group, element) tag""" - # Override comparisons so can convert "other" to Tag as necessary - # See Ordering Comparisons at http://docs.python.org/dev/3.0/whatsnew/3.0.html - - def __lt__(self, other): - # Check if comparing with another Tag object; if not, create a temp one - if not isinstance(other, BaseTag): - try: - other = Tag(other) - except: - raise TypeError("Cannot compare Tag with non-Tag item") - return long(self) < long(other) - - def __eq__(self, other): - # Check if comparing with another Tag object; if not, create a temp one - if not isinstance(other, BaseTag): - try: - other = Tag(other) - except: - raise TypeError("Cannot compare Tag with non-Tag item") - return long(self) == long(other) - - def __ne__(self, other): - # Check if comparing with another Tag object; if not, create a temp one - if not isinstance(other, BaseTag): - try: - other = Tag(other) - except: - raise TypeError("Cannot compare Tag with non-Tag item") - return long(self) != long(other) - - # For python 3, any override of __cmp__ or __eq__ immutable requires - # explicit redirect of hash function to the parent class - # See http://docs.python.org/dev/3.0/reference/datamodel.html#object.__hash__ - __hash__ = long.__hash__ - - def __str__(self): - """String of tag value as (gggg, eeee)""" - return "({0:04x}, {1:04x})".format(self.group, self.element) - - __repr__ = __str__ - - @property - def group(self): - return self >> 16 - - @property - def element(self): - """Return the element part of the (group,element) tag""" - return self & 0xffff - elem = element # alternate syntax - - @property - def is_private(self): - """Return a boolean to indicate whether the tag is a private tag (odd group number)""" - return self.group % 2 == 1 - - -def TupleTag(group_elem): - """Fast factory for BaseTag object with known safe (group, element) tuple""" - long_value = group_elem[0] << 16 | group_elem[1] - return BaseTag(long_value) - -# Define some special tags: -# See PS 3.5-2008 section 7.5 (p.40) -ItemTag = TupleTag((0xFFFE, 0xE000)) # start of Sequence Item -ItemDelimiterTag = TupleTag((0xFFFE, 0xE00D)) # end of Sequence Item -SequenceDelimiterTag = TupleTag((0xFFFE, 0xE0DD)) # end of Sequence of undefined length diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tagtools.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tagtools.py deleted file mode 100644 index 1b8640b1..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/tagtools.py +++ /dev/null @@ -1,21 +0,0 @@ -""" Tools to wrap dataset tag operations - -Usage: - - for tag in ds.keys(): - with valid_tag(tag): - # Anything that goes wrong here is annotated - """ - -from contextlib import contextmanager - - -@contextmanager -def tag_in_exception(tag): - """ Perform a protected read on the tag """ - try: - yield - except Exception as e: - err = 'Invalid tag {0}: {1}' - err = err.format(tag, str(e)) - raise type(e)(err) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/__init__.py deleted file mode 100644 index 3b466331..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# __init__.py diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/_write_stds.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/_write_stds.py deleted file mode 100644 index 59148563..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/_write_stds.py +++ /dev/null @@ -1,68 +0,0 @@ -# _write_stds.py -"""Snippets for what a particular dataset (including nested sequences) -should look like after writing in different expl/impl Vr and endian combos, -as well as undefined length sequences and items -""" - -# Implicit VR, little endian, SQ's with defined lengths -impl_LE_deflen_std_hex = ( - "10 00 10 00 " # (0010, 0010) Patient's Name - "0c 00 00 00 " # length 12 - "4e 61 6d 65 5e 50 61 74 69 65 6e 74 " # "Name^Patient" - "06 30 39 00 " # (3006, 0039) ROI Contour Sequence - "5a 00 00 00 " # length 90 - "fe ff 00 e0 " # (fffe, e000) Item Tag - "52 00 00 00 " # length 82 - "06 30 40 00 " # (3006, 0040) Contour Sequence - "4a 00 00 00 " # length 74 - "fe ff 00 e0 " # (fffe, e000) Item Tag - "1a 00 00 00 " # length 26 - "06 30 48 00 " # (3006, 0048) Contour Number - "02 00 00 00 " # length 2 - "31 20 " # "1 " - "06 30 50 00 " # (3006, 0050) Contour Data - "08 00 00 00 " # length 8 - "32 5c 34 5c 38 5c 31 36 " # "2\4\8\16" - "fe ff 00 e0 " # (fffe, e000) Item Tag - "20 00 00 00 " # length 32 - "06 30 48 00 " # (3006, 0048) Contour Number - "02 00 00 00 " # length 2 - "32 20 " # "2 " - "06 30 50 00 " # (3006, 0050) Contour Data - "0e 00 00 00 " # length 14 - "33 32 5c 36 34 5c 31 32 38 5c 31 39 36 20 " - # "32\64\128\196 " -) - -# Implicit VR, big endian, SQ's with defined lengths -# Realized after coding this that there is no Impl VR big endian in DICOM std; -# however, it seems to exist as a GE private transfer syntax. -# Will leave this here for now. -impl_BE_deflen_std_hex = ( - "00 10 00 10 " # (0010, 0010) Patient's Name - "00 00 00 0c " # length 12 - "4e 61 6d 65 5e 50 61 74 69 65 6e 74 " # "Name^Patient" - "30 06 00 39 " # (3006, 0039) ROI Contour Sequence - "00 00 00 5a " # length 90 - "ff fe e0 00 " # (fffe, e000) Item Tag - "00 00 00 52 " # length 82 - "30 06 00 40 " # (3006, 0040) Contour Sequence - "00 00 00 4a " # length 74 - "ff fe e0 00 " # (fffe, e000) Item Tag - "00 00 00 1a " # length 26 - "30 06 00 48 " # (3006, 0048) Contour Number - "00 00 00 02 " # length 2 - "31 20 " # "1 " - "30 06 00 50 " # (3006, 0050) Contour Data - "00 00 00 08 " # length 8 - "32 5c 34 5c 38 5c 31 36 " # "2\4\8\16" - "ff fe e0 00 " # (fffe, e000) Item Tag - "20 00 00 00 " # length 32 - "30 06 00 48 " # (3006, 0048) Contour Number - "00 00 00 02 " # length 2 - "32 20 " # "2 " - "30 06 00 50 " # (3006, 0050) Contour Data - "00 00 00 0e " # length 14 - "33 32 5c 36 34 5c 31 32 38 5c 31 39 36 20 " - # "32\64\128\196 " -) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/all.bat b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/all.bat deleted file mode 100755 index d21e865f..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/all.bat +++ /dev/null @@ -1,16 +0,0 @@ -echo OFF -echo all.bat -echo run pydicom test suite on all supported python versions -echo ------- python 2.6 ------------ -c:\python26\python run_tests.py -echo ------- python 2.7 ------------ -c:\python27\python run_tests.py - -REM Check location for each version -- to make sure are not running old pydicom versions -echo - -echo ----------------- -echo Check locations, make sure not pointing to old pydicom code: -echo Python 2.6 -c:\python26\python -c "import dicom; print dicom.__file__" -echo Python 2.7 -c:\python27\python -c "import dicom; print dicom.__file__" \ No newline at end of file diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/__init__.py deleted file mode 100644 index 05ef6b86..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# __init__.py -# Mark the folder as a python package diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/raw_convert_test.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/raw_convert_test.py deleted file mode 100644 index 5756c8c9..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/raw_convert_test.py +++ /dev/null @@ -1,58 +0,0 @@ -# raw_convert_test.py -"""Try reading a large RTSTRUCT file, profiling how much time it takes""" -# Copyright (c) 2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# EDIT THIS SECTION -------------------------- -# to point to local temp directory - -tempfile = "/tmp/pydicom_stats" -read_filename = r"/Users/darcy/hg/pydicom/source/dicom/testfiles/RStest.dcm" -write_filename = "/tmp/write_test.dcm" - -import dicom -import cProfile -import pstats - - -def test_full_read(filename): - dataset = dicom.read_file(filename) - return dataset - - -def walkval(dataset, dataelem): - dataelem.value - - -def test_convert_from_raw(dataset): - # s = str(dataset) - dataset.walk(walkval) - - -def test_write_file(dataset, write_filename): - dataset.save_as(write_filename) - - -if __name__ == "__main__": - runs = ['ds=test_full_read(read_filename)', - 'test_convert_from_raw(ds)', - 'test_write_file(ds, write_filename)', - ] - for testrun in runs: - cProfile.run(testrun, tempfile) - p = pstats.Stats(tempfile) - print("---------------") - print(testrun) - print("---------------") - p.strip_dirs().sort_stats('time').print_stats(12) - - # Clear disk cache for next run? -# import sys -# if not on_windows: -# prompt= "Run purge command (linux/Mac OS X) to clear disk cache?(N):" -# answer = raw_input(prompt) -# if answer.lower() == "y": -# print "Running 'purge'. Please wait..." -# os.system("purge") diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/time_test.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/time_test.py deleted file mode 100644 index 86c199da..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/performance/time_test.py +++ /dev/null @@ -1,125 +0,0 @@ -# time_test.py -"""Try reading large sets of files, profiling how much time it takes""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import os.path -import os -import sys -on_windows = sys.platform.startswith("win") - -# EDIT THIS SECTION -------------------------- -# to point to local temp directory, and to a set of >400 DICOM files of same size to work on -# I used images freely available from http://pcir.org -if on_windows: - tempfile = "c:/temp/pydicom_stats" - location_base = r"z:/testdicom/" -else: - tempfile = "/tmp/pydicom_stats" - location_base = r"/Users/darcy/testdicom/" - # location_base = r"/Volumes/Disk 1/testdicom/" # Network disk location -locations = [ - "77654033_19950903/77654033/19950903/CT2/", - "98890234_20010101/98890234/20010101/CT5/", - "98890234_20010101/98890234/20010101/CT6/", - "98890234_20010101/98890234/20010101/CT7/", -] -locations = [os.path.join(location_base, location) for location in locations] -# ------------------------------------------------------- -import glob -import dicom -from dicom.filereader import read_partial, _at_pixel_data -from io import BytesIO - -import cProfile -import pstats -import sys -import random - -rp = read_partial -filenames = [] -for location in locations: - loc_list = glob.glob(os.path.join(location, "*")) - filenames.extend((x for x in loc_list if not x.startswith("."))) - -assert len(filenames) >= 400, "Need at least 400 files" # unless change slices below - - -print() -random.shuffle(filenames) # to make sure no bias for any particular file - - -print("Sampling from %d files. Each test gets 100 distinct files" % len(filenames)) -print("Test order is randomized too...") - -# Give each test it's own set of files, to avoid reading something in cache from previous test -filenames1 = filenames[:100] # keep the time to a reasonable amount (~2-25 sec) -filenames2 = filenames[100:200] -filenames3 = filenames[200:300] -filenames4 = filenames[300:400] - - -def test_full_read(): - rf = dicom.read_file - datasets = [rf(fn) for fn in filenames1] - return datasets - - -def test_partial(): - rp = read_partial - [rp(open(fn, 'rb'), stop_when=_at_pixel_data) for fn in filenames2] - - -def test_mem_read_full(): - rf = dicom.read_file - str_io = BytesIO - memory_files = (str_io(open(fn, 'rb').read()) for fn in filenames3) - [rf(memory_file) for memory_file in memory_files] - - -def test_mem_read_small(): - rf = dicom.read_file - str_io = BytesIO # avoid global lookup, make local instead - memory_files = (str_io(open(fn, 'rb').read(4000)) for fn in filenames4) - [rf(memory_file) for memory_file in memory_files] - - -def test_python_read_files(): - [open(fn, 'rb').read() for fn in filenames4] - - -if __name__ == "__main__": - runs = ['datasets=test_full_read()', - # 'test_partial()', - # 'test_mem_read_full()', - # 'test_mem_read_small()', - 'test_python_read_files()', - ] - random.shuffle(runs) - for testrun in runs: - cProfile.run(testrun, tempfile) - p = pstats.Stats(tempfile) - print("---------------") - print(testrun) - print("---------------") - p.strip_dirs().sort_stats('time').print_stats(5) - print("Confirming file read worked -- check for data elements near end") - try: - image_sizes = [len(ds.PixelData) for ds in datasets] # NOQA - except Exception as e: - print("Failed to access dataset data for all files\nError:" + str(e)) - else: - print("Reads checked ok.") - - # Clear disk cache for next run? - if not on_windows: - prompt = "Run purge command (linux/Mac OS X) to clear disk cache?...(N):" - if sys.version_info[0] > 2: - answer = input(prompt) - else: - answer = raw_input(prompt) - if answer.lower() == "y": - print("Running 'purge'. Please wait...") - os.system("purge") diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/run_tests.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/run_tests.py deleted file mode 100644 index fa63dee4..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/run_tests.py +++ /dev/null @@ -1,56 +0,0 @@ -# run_tests.py -"""Call all the unit test files in the test directory starting with 'test'""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import os -import os.path -import sys -import unittest - -# Get the directory test_dir where the test scripts are -from pkg_resources import Requirement, resource_filename -test_dir = resource_filename(Requirement.parse("dicom"), "dicom/test") - - -class MyTestLoader(object): - def loadTestsFromNames(self, *args): - # Simplest to change to directory where test_xxx.py files are - save_dir = os.getcwd() - if test_dir: - os.chdir(test_dir) - filenames = os.listdir(".") - module_names = [f[:-3] for f in filenames - if f.startswith("test") and f.endswith(".py")] - - # Load all the tests - suite = unittest.TestSuite() - for module_name in module_names: - module_dotted_name = "dicom.test." + module_name - test = unittest.defaultTestLoader.loadTestsFromName( - module_dotted_name) - suite.addTest(test) - os.chdir(save_dir) - return suite - -if __name__ == "__main__": - # Get the tests -- in format used by Distribute library - # to run under 'python setup.py test' - suite = MyTestLoader().loadTestsFromNames() - - # Run the tests - verbosity = 1 - args = sys.argv - if len(args) > 1 and (args[1] == "-v" or args[1] == "--verbose"): - verbosity = 2 - runner = unittest.TextTestRunner(verbosity=verbosity) - - # Switch directories to test DICOM files, used by many of the tests - save_dir = os.getcwd() - testfiles_dir = resource_filename(Requirement.parse("dicom"), - "dicom/testfiles") - os.chdir(testfiles_dir) - runner.run(suite) - os.chdir(save_dir) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/shell_all b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/shell_all deleted file mode 100644 index 3ca355a8..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/shell_all +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# all.sh -echo shell_all -echo run pydicom test suite on all supported python versions -echo ------- python 2.6 ------------ -python2.6 run_tests.py -echo ------- python 2.7 ------------ -python2.7 run_tests.py - -# Check location for each version -- to make sure are not running old pydicom versions -echo - -echo ----------------- -echo Check locations, make sure not pointing to old pydicom code: -echo Python 2.6 -python2.6 -c "import dicom;print dicom.__file__" -echo Python 2.7 -python2.7 -c "import dicom;print dicom.__file__" diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_UID.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_UID.py deleted file mode 100644 index d519c6c0..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_UID.py +++ /dev/null @@ -1,90 +0,0 @@ -# test_UID.py -"""Test suite for UID.py""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.UID import UID, generate_uid, pydicom_root_UID, InvalidUID - - -class UIDtests(unittest.TestCase): - def testKnownUID(self): - """UID: Known UID properties accessed.....................""" - - msg = "UID: expected '{1:s}', got '{2:s}' for UID {0:s}" - - uid = UID('1.2.840.10008.1.2') # Implicit VR Little Endian - expected = 'Implicit VR Little Endian' - got = uid.name - self.assertEqual(got, expected, msg.format("name", expected, got)) - - expected = 'Transfer Syntax' - got = uid.type - self.assertEqual(got, expected, msg.format("type", expected, got)) - - expected = 'Default Transfer Syntax for DICOM' - got = uid.info - self.assertEqual(got, expected, msg.format("info", expected, got)) - - expected = False - got = uid.is_retired - self.assertEqual(got, expected, - msg.format("is_retired", str(expected), str(got))) - - def testComparison(self): - """UID: can compare by number or by name..................""" - uid = UID('1.2.840.10008.1.2') - self.assertEqual(uid, 'Implicit VR Little Endian', - "UID equality failed on name") - self.assertEqual(uid, '1.2.840.10008.1.2', - "UID equality failed on number string") - - def testCompareNumber(self): - """UID: comparing against a number give False.............""" - # From issue 96 - uid = UID('1.2.3') - self.assertNotEqual(uid, 3, "Comparison to a number returned True") - - def testCompareNotEqualByName(self): - """UID: comparing not equal by name.......................""" - # from Issue 121 - ct_image_storage = UID('1.2.840.10008.5.1.4.1.1.2') - msg = "UID not equal comparison by name was not correct" - self.assertFalse(ct_image_storage != 'CT Image Storage', msg) - - def testCompareNone(self): - """UID: comparing against None give False.................""" - # From issue 96 - uid = UID('1.2.3') - self.assertNotEqual(uid, None, "Comparison to a number returned True") - - def testTransferSyntaxes(self): - pass - - def testGenerateUID(self): - ''' - Test UID generator - ''' - # Test standard UID generation with pydicom prefix - uid = generate_uid() - self.assertEqual(uid[:26], pydicom_root_UID) - - # Test standard UID generation with no prefix - uid = generate_uid(None) - self.assertEqual(uid[:5], '2.25.') - - # Test invalid UID truncation (trailing dot) - invalid_prefix = \ - '1.2.33333333333333333333333333333333333333333333333333333333333.333.' - self.assertRaises(InvalidUID, - lambda: generate_uid(prefix=invalid_prefix, truncate=True)) - - # Test standard UID with truncate=True - prefix = '1.2.3.444444' - uid = generate_uid(prefix=prefix, truncate=True) - self.assertEqual(uid[:12], prefix) - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_charset.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_charset.py deleted file mode 100644 index 7c259941..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_charset.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: latin_1 -*- -# test_charset.py -"""unittest cases for dicom.charset module""" -# Copyright (c) 2008 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -import dicom -import os.path - -from pkg_resources import Requirement, resource_filename -testcharset_dir = resource_filename(Requirement.parse("dicom"), - "dicom/testcharsetfiles") - -latin1_file = os.path.join(testcharset_dir, "chrFren.dcm") -jp_file = os.path.join(testcharset_dir, "chrH31.dcm") -multiPN_file = os.path.join(testcharset_dir, "chrFrenMulti.dcm") -sq_encoding_file = os.path.join(testcharset_dir, "chrSQEncoding.dcm") - -test_dir = resource_filename(Requirement.parse("dicom"), "dicom/testfiles") -normal_file = os.path.join(test_dir, "CT_small.dcm") - - -class charsetTests(unittest.TestCase): - def testLatin1(self): - """charset: can read and decode latin_1 file........................""" - ds = dicom.read_file(latin1_file) - ds.decode() - # Make sure don't get unicode encode error on converting to string - expected = u'Buc^J\xe9r\xf4me' - got = ds.PatientName - self.assertEqual(expected, got, - "Expected %r, got %r" % (expected, got)) - - def testNestedCharacterSets(self): - """charset: can read and decode SQ with different encodings.........""" - ds = dicom.read_file(sq_encoding_file) - ds.decode() - # These datasets inside of the SQ cannot be decoded with default_encoding - # OR UTF-8 (the parent dataset's encoding). Instead, we make sure that it - # is decoded using the (0008,0005) tag of the dataset - expected = u'\uff94\uff8f\uff80\uff9e^\uff80\uff9b\uff73=\u5c71\u7530^\u592a\u90ce=\u3084\u307e\u3060^\u305f\u308d\u3046' - got = ds[0x32, 0x1064][0].PatientName - self.assertEqual(expected, got, - "Expected %r, got %r" % (expected, got)) - - def testStandardFile(self): - """charset: can read and decode standard file without special char..""" - ds = dicom.read_file(normal_file) - ds.decode() - - def testMultiPN(self): - """charset: can decode file with multi-valued data elements.........""" - ds = dicom.read_file(multiPN_file) - ds.decode() - - -if __name__ == "__main__": - # This is called if run alone, but not if loaded through run_tests.py - # If not run from the directory where the sample images are, - # then need to switch there - import sys - import os - import os.path - dir_name = os.path.dirname(sys.argv[0]) - save_dir = os.getcwd() - if dir_name: - os.chdir(dir_name) - os.chdir("../testfiles") - unittest.main() - os.chdir(save_dir) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataelem.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataelem.py deleted file mode 100644 index d3567d4e..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataelem.py +++ /dev/null @@ -1,68 +0,0 @@ -# test_dataelem.py -"""unittest cases for dicom.dataelem module""" -# Copyright (c) 2008 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# Many tests of DataElement class are implied in test_dataset also - -import unittest -from dicom.dataelem import DataElement -from dicom.dataelem import RawDataElement, DataElement_from_raw -from dicom.tag import Tag -from dicom.dataset import Dataset -from dicom.UID import UID - - -class DataElementTests(unittest.TestCase): - def setUp(self): - self.data_elementSH = DataElement((1, 2), "SH", "hello") - self.data_elementIS = DataElement((1, 2), "IS", "42") - self.data_elementDS = DataElement((1, 2), "DS", "42.00001") - self.data_elementMulti = DataElement((1, 2), "DS", - ['42.1', '42.2', '42.3']) - - def testVM1(self): - """DataElement: return correct value multiplicity for VM > 1........""" - VM = self.data_elementMulti.VM - self.assertEqual(VM, 3, - "Wrong Value Multiplicity, expected 3, got %i" % VM) - - def testVM2(self): - """DataElement: return correct value multiplicity for VM = 1........""" - VM = self.data_elementIS.VM - self.assertEqual(VM, 1, - "Wrong Value Multiplicity, expected 1, got %i" % VM) - - def testBackslash(self): - """DataElement: String with '\\' sets multi-valued data_element.""" - data_element = DataElement((1, 2), "DS", r"42.1\42.2\42.3") - self.assertEqual(data_element.VM, 3, "Did not get a mult-valued value") - - def testUID(self): - """DataElement: setting or changing UID results in UID type.........""" - ds = Dataset() - ds.TransferSyntaxUID = "1.2.3" - self.assertTrue(isinstance(ds.TransferSyntaxUID, UID), - "Assignment to UID did not create UID class") - ds.TransferSyntaxUID += ".4.5.6" - self.assertTrue(isinstance(ds.TransferSyntaxUID, UID), - "+= to UID did not keep as UID class") - - -class RawDataElementTests(unittest.TestCase): - def setUp(self): - # raw data element -> tag VR length value - # value_tell is_implicit_VR is_little_endian' - # Unknown (not in DICOM dict), non-private, non-group 0 for this test - self.raw1 = RawDataElement(Tag(0x88880002), None, 4, 0x1111, - 0, True, True) - - def testKeyError(self): - """RawDataElement: conversion of unknown tag throws KeyError........""" - self.assertRaises(KeyError, DataElement_from_raw, self.raw1) - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataset.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataset.py deleted file mode 100644 index 3135890a..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dataset.py +++ /dev/null @@ -1,318 +0,0 @@ -# test_dataset.py -"""unittest cases for dicom.dataset module""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.dataset import Dataset, PropertyError -from dicom.dataelem import DataElement, RawDataElement -from dicom.tag import Tag -from dicom.sequence import Sequence -from dicom import in_py3 - - -class DatasetTests(unittest.TestCase): - def failUnlessRaises(self, excClass, callableObj, *args, **kwargs): - """Redefine unittest Exception test to return the exception object""" - # from http://stackoverflow.com/questions/88325/ - # how-do-i-unit-test-an-init-method-of-a-python-class-with-assertraises - try: - callableObj(*args, **kwargs) - except excClass as excObj: - return excObj # Actually return the exception object - else: - if hasattr(excClass, '__name__'): - excName = excClass.__name__ - else: - excName = str(excClass) - raise self.failureException("{0:s} not raised".format(excName)) - - def failUnlessExceptionArgs(self, start_args, excClass, callableObj): - """Check the expected args were returned from an exception - start_args -- a string with the start of the expected message - """ - if in_py3: - with self.assertRaises(excClass) as cm: - callableObj() - - excObj = cm.exception - else: - excObj = self.failUnlessRaises(excClass, callableObj) - - msg = "\nExpected Exception message:\n" + start_args - msg += "\nGot:\n" + excObj.args[0] - self.assertTrue(excObj.args[0].startswith(start_args), msg) - - def testAttributeErrorInProperty(self): - """Dataset: AttributeError in property raises actual error message..""" - # This comes from bug fix for issue 42 - # First, fake enough to try the pixel_array property - ds = Dataset() - ds.file_meta = Dataset() - ds.PixelData = 'xyzlmnop' - - def callable_pixel_array(): - ds.pixel_array - - attribute_error_msg = "AttributeError in pixel_array property: " + \ - "Dataset does not have attribute 'TransferSyntaxUID'" - self.failUnlessExceptionArgs(attribute_error_msg, - PropertyError, callable_pixel_array) - - def testTagExceptionPrint(self): - # When printing datasets, a tag number should appear in error - # messages - ds = Dataset() - ds.PatientID = "123456" # Valid value - ds.SmallestImagePixelValue = 0 # Invalid value - - expected_msg = "Invalid tag (0028, 0106): object of type 'int' has no len()" - - self.failUnlessExceptionArgs(expected_msg, TypeError, lambda: str(ds)) - - def testTagExceptionWalk(self): - # When recursing through dataset, a tag number should appear in - # error messages - ds = Dataset() - ds.PatientID = "123456" # Valid value - ds.SmallestImagePixelValue = 0 # Invalid value - - expected_msg = "Invalid tag (0028, 0106): object of type 'int' has no len()" - - callback = lambda dataset, data_element: str(data_element) - func = lambda: ds.walk(callback) - - self.failUnlessExceptionArgs(expected_msg, TypeError, func) - - def dummy_dataset(self): - # This dataset is used by many of the tests - ds = Dataset() - ds.add_new((0x300a, 0x00b2), "SH", "unit001") # TreatmentMachineName - return ds - - def testSetNewDataElementByName(self): - """Dataset: set new data_element by name............................""" - ds = Dataset() - ds.TreatmentMachineName = "unit #1" - data_element = ds[0x300a, 0x00b2] - self.assertEqual(data_element.value, "unit #1", - "Unable to set data_element by name") - self.assertEqual(data_element.VR, "SH", - "data_element not the expected VR") - - def testSetExistingDataElementByName(self): - """Dataset: set existing data_element by name.......................""" - ds = self.dummy_dataset() - ds.TreatmentMachineName = "unit999" # change existing value - self.assertEqual(ds[0x300a, 0x00b2].value, "unit999") - - def testSetNonDicom(self): - """Dataset: can set class instance property (non-dicom).............""" - ds = Dataset() - ds.SomeVariableName = 42 - has_it = hasattr(ds, 'SomeVariableName') - self.assertTrue(has_it, "Variable did not get created") - if has_it: - self.assertEqual(ds.SomeVariableName, 42, "There, but wrong value") - - def testMembership(self): - """Dataset: can test if item present by 'if in dataset'......""" - ds = self.dummy_dataset() - self.assertTrue('TreatmentMachineName' in ds, "membership test failed") - self.assertTrue('Dummyname' not in ds, "non-member tested as member") - - def testContains(self): - """Dataset: can test if item present by 'if in dataset'.......""" - ds = self.dummy_dataset() - self.assertTrue((0x300a, 0xb2) in ds, "membership test failed") - self.assertTrue([0x300a, 0xb2] in ds, - "membership test failed when list used") - self.assertTrue(0x300a00b2 in ds, "membership test failed") - self.assertTrue(not (0x10, 0x5f) in ds, "non-member tested as member") - - def testGetExists1(self): - """Dataset: dataset.get() returns an existing item by name..........""" - ds = self.dummy_dataset() - unit = ds.get('TreatmentMachineName', None) - self.assertEqual(unit, 'unit001', - "dataset.get() did not return existing member by name") - - def testGetExists2(self): - """Dataset: dataset.get() returns an existing item by long tag......""" - ds = self.dummy_dataset() - unit = ds.get(0x300A00B2, None).value - self.assertEqual(unit, 'unit001', - "dataset.get() did not return existing member by long tag") - - def testGetExists3(self): - """Dataset: dataset.get() returns an existing item by tuple tag.....""" - ds = self.dummy_dataset() - unit = ds.get((0x300A, 0x00B2), None).value - self.assertEqual(unit, 'unit001', - "dataset.get() did not return existing member by tuple tag") - - def testGetExists4(self): - """Dataset: dataset.get() returns an existing item by Tag...........""" - ds = self.dummy_dataset() - unit = ds.get(Tag(0x300A00B2), None).value - self.assertEqual(unit, 'unit001', - "dataset.get() did not return existing member by tuple tag") - - def testGetDefault1(self): - """Dataset: dataset.get() returns default for non-existing name ....""" - ds = self.dummy_dataset() - not_there = ds.get('NotAMember', "not-there") - msg = ("dataset.get() did not return default value " - "for non-member by name") - - self.assertEqual(not_there, "not-there", msg) - - def testGetDefault2(self): - """Dataset: dataset.get() returns default for non-existing tuple tag""" - ds = self.dummy_dataset() - not_there = ds.get((0x9999, 0x9999), "not-there") - msg = ("dataset.get() did not return default value" - " for non-member by tuple tag") - self.assertEqual(not_there, "not-there", msg) - - def testGetDefault3(self): - """Dataset: dataset.get() returns default for non-existing long tag.""" - ds = self.dummy_dataset() - not_there = ds.get(0x99999999, "not-there") - msg = ("dataset.get() did not return default value" - " for non-member by long tag") - self.assertEqual(not_there, "not-there", msg) - - def testGetDefault4(self): - """Dataset: dataset.get() returns default for non-existing Tag......""" - ds = self.dummy_dataset() - not_there = ds.get(Tag(0x99999999), "not-there") - msg = ("dataset.get() did not return default value" - " for non-member by Tag") - self.assertEqual(not_there, "not-there", msg) - - def testGetFromRaw(self): - """Dataset: get(tag) returns same object as ds[tag] for raw element.""" - # This came from issue 88, where get(tag#) returned a RawDataElement, - # while get(name) converted to a true DataElement - test_tag = 0x100010 - test_elem = RawDataElement(Tag(test_tag), 'PN', 4, b'test', - 0, True, True) - ds = Dataset({Tag(test_tag): test_elem}) - by_get = ds.get(test_tag) - by_item = ds[test_tag] - - msg = ("Dataset.get() returned different objects for ds.get(tag) " - "and ds[tag]:\nBy get():%r\nBy ds[tag]:%r\n") - self.assertEqual(by_get, by_item, msg % (by_get, by_item)) - - def test__setitem__(self): - """Dataset: if set an item, it must be a DataElement instance.......""" - def callSet(): - # common error - set data_element instead of data_element.value - ds[0x300a, 0xb2] = "unit1" - - ds = Dataset() - self.assertRaises(TypeError, callSet) - - def test_matching_tags(self): - """Dataset: key and data_element.tag mismatch raises ValueError.....""" - def set_wrong_tag(): - ds[0x10, 0x10] = data_element - ds = Dataset() - data_element = DataElement((0x300a, 0x00b2), "SH", "unit001") - self.assertRaises(ValueError, set_wrong_tag) - - def test_NamedMemberUpdated(self): - """Dataset: if set data_element by tag, name also reflects change...""" - ds = self.dummy_dataset() - ds[0x300a, 0xb2].value = "moon_unit" - self.assertEqual(ds.TreatmentMachineName, 'moon_unit', - "Member not updated") - - def testUpdate(self): - """Dataset: update() method works with tag or name..................""" - ds = self.dummy_dataset() - pat_data_element = DataElement((0x10, 0x12), 'PN', 'Johnny') - ds.update({'PatientName': 'John', (0x10, 0x12): pat_data_element}) - self.assertEqual(ds[0x10, 0x10].value, 'John', - "named data_element not set") - self.assertEqual(ds[0x10, 0x12].value, 'Johnny', "set by tag failed") - - def testDir(self): - """Dataset: dir() returns sorted list of named data_elements........""" - ds = self.dummy_dataset() - ds.PatientName = "name" - ds.PatientID = "id" - ds.NonDicomVariable = "junk" - ds.add_new((0x18, 0x1151), "IS", 150) # X-ray Tube Current - ds.add_new((0x1111, 0x123), "DS", "42.0") # private - no name in dir() - expected = ['PatientID', 'PatientName', 'TreatmentMachineName', - 'XRayTubeCurrent'] - self.assertEqual(ds.dir(), expected, - "dir() returned %s, expected %s" % (str(ds.dir()), str(expected))) - - def testDeleteDicomAttr(self): - """Dataset: delete DICOM attribute by name..........................""" - def testAttribute(): - ds.TreatmentMachineName - - ds = self.dummy_dataset() - del ds.TreatmentMachineName - self.assertRaises(AttributeError, testAttribute) - - def testDeleteOtherAttr(self): - """Dataset: delete non-DICOM attribute by name......................""" - ds = self.dummy_dataset() - ds.meaningoflife = 42 - del ds.meaningoflife - - def testDeleteDicomAttrWeDontHave(self): - """Dataset: try delete of missing DICOM attribute...................""" - def try_delete(): - del ds.PatientName - ds = self.dummy_dataset() - self.assertRaises(AttributeError, try_delete) - - def testDeleteItemLong(self): - """Dataset: delete item by tag number (long)...................""" - ds = self.dummy_dataset() - del ds[0x300a00b2] - - def testDeleteItemTuple(self): - """Dataset: delete item by tag number (tuple)..................""" - ds = self.dummy_dataset() - del ds[0x300a, 0x00b2] - - def testDeleteNonExistingItem(self): - """Dataset: raise KeyError for non-existing item delete........""" - ds = self.dummy_dataset() - - def try_delete(): - del ds[0x10, 0x10] - self.assertRaises(KeyError, try_delete) - - -class DatasetElementsTests(unittest.TestCase): - """Test valid assignments of data elements""" - def setUp(self): - self.ds = Dataset() - self.sub_ds1 = Dataset() - self.sub_ds2 = Dataset() - - def testSequenceAssignment(self): - """Assignment to SQ works only if valid Sequence assigned......""" - def try_non_Sequence(): - self.ds.ConceptCodeSequence = [1, 2, 3] - msg = "Assigning non-sequence to SQ data element did not raise error" - self.assertRaises(TypeError, try_non_Sequence, msg=msg) - # check also that assigning proper sequence *does* work - self.ds.ConceptCodeSequence = [self.sub_ds1, self.sub_ds2] - self.assertTrue(isinstance(self.ds.ConceptCodeSequence, Sequence), - "Sequence assignment did not result in Sequence type") - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dictionary.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dictionary.py deleted file mode 100644 index 5bf3cd37..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_dictionary.py +++ /dev/null @@ -1,46 +0,0 @@ -# test_dictionary.py -"""Test suite for dicom_dictionary.py""" -# Copyright (c) 2008 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.tag import Tag -from dicom.datadict import CleanName, all_names_for_tag, dictionary_description - - -class DictTests(unittest.TestCase): - def testCleanName(self): - """dicom_dictionary: CleanName returns correct strings.............""" - self.assertTrue(CleanName(0x00100010) == "PatientsName") - self.assertTrue(CleanName(Tag((0x0010, 0x0010))) == "PatientsName") - - def testTagNotFound(self): - """dicom_dictionary: CleanName returns blank string for unknown tag""" - self.assertTrue(CleanName(0x99991111) == "") - - def testNameFinding(self): - """dicom_dictionary: get long and short names for a data_element name""" - names = all_names_for_tag(Tag(0x300a00b2)) # Treatment Machine Name - expected = ['TreatmentMachineName'] - self.assertEqual(names, expected, "Expected %s, got %s" % (expected, names)) - names = all_names_for_tag(Tag(0x300A0120)) - expected = ['BeamLimitingDeviceAngle', 'BLDAngle'] - self.assertEqual(names, expected, "Expected %s, got %s" % (expected, names)) - - def testRepeaters(self): - """dicom_dictionary: Tags with "x" return correct dict info........""" - self.assertEqual(dictionary_description(0x280400), 'Transform Label') - self.assertEqual(dictionary_description(0x280410), 'Rows For Nth Order Coefficients') - - -class PrivateDictTests(unittest.TestCase): - def testPrivate1(self): - """private dict: """ - self.assertTrue(CleanName(0x00100010) == "PatientsName") - self.assertTrue(CleanName(Tag((0x0010, 0x0010))) == "PatientsName") - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filereader.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filereader.py deleted file mode 100644 index 6d22f834..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filereader.py +++ /dev/null @@ -1,443 +0,0 @@ -# test_filereader.py -"""unittest tests for dicom.filereader module""" -# Copyright (c) 2010-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import sys -import os -import os.path -import unittest -from io import BytesIO - -import shutil -# os.stat is only available on Unix and Windows XXX Mac? -# Not sure if on other platforms the import fails, or the call to it?? -stat_available = True -try: - from os import stat # NOQA -except: - stat_available = False - -have_numpy = True -try: - import numpy # NOQA -except: - have_numpy = False -from dicom.filereader import read_file -from dicom.errors import InvalidDicomError -from dicom.tag import Tag, TupleTag -import dicom.valuerep -import gzip - -from dicom.test.warncheck import assertWarns - -from pkg_resources import Requirement, resource_filename -test_dir = resource_filename(Requirement.parse("dicom"), "dicom/testfiles") - -rtplan_name = os.path.join(test_dir, "rtplan.dcm") -rtdose_name = os.path.join(test_dir, "rtdose.dcm") -ct_name = os.path.join(test_dir, "CT_small.dcm") -mr_name = os.path.join(test_dir, "MR_small.dcm") -jpeg2000_name = os.path.join(test_dir, "JPEG2000.dcm") -jpeg_lossy_name = os.path.join(test_dir, "JPEG-lossy.dcm") -jpeg_lossless_name = os.path.join(test_dir, "JPEG-LL.dcm") -deflate_name = os.path.join(test_dir, "image_dfl.dcm") -rtstruct_name = os.path.join(test_dir, "rtstruct.dcm") -priv_SQ_name = os.path.join(test_dir, "priv_SQ.dcm") -nested_priv_SQ_name = os.path.join(test_dir, "nested_priv_SQ.dcm") -no_meta_group_length = os.path.join(test_dir, "no_meta_group_length.dcm") -gzip_name = os.path.join(test_dir, "zipMR.gz") - -dir_name = os.path.dirname(sys.argv[0]) -save_dir = os.getcwd() - - -def isClose(a, b, epsilon=0.000001): - """Compare within some tolerance, to avoid machine roundoff differences""" - try: - a.append # see if is a list - except: # (is not) - return abs(a - b) < epsilon - else: - if len(a) != len(b): - return False - for ai, bi in zip(a, b): - if abs(ai - bi) > epsilon: - return False - return True - - -class ReaderTests(unittest.TestCase): - def testRTPlan(self): - """Returns correct values for sample data elements in test RT Plan file""" - plan = read_file(rtplan_name) - beam = plan.BeamSequence[0] - cp0, cp1 = beam.ControlPointSequence # if not two controlpoints, then this would raise exception - - self.assertEqual(beam.TreatmentMachineName, "unit001", "Incorrect unit name") - self.assertEqual(beam.TreatmentMachineName, beam[0x300a, 0x00b2].value, - "beam TreatmentMachineName does not match the value accessed by tag number") - - got = cp1.ReferencedDoseReferenceSequence[0].CumulativeDoseReferenceCoefficient - DS = dicom.valuerep.DS - expected = DS('0.9990268') - self.assertTrue(got == expected, - "Cum Dose Ref Coeff not the expected value (CP1, Ref'd Dose Ref") - got = cp0.BeamLimitingDevicePositionSequence[0].LeafJawPositions - self.assertTrue(got[0] == DS('-100') and got[1] == DS('100.0'), - "X jaws not as expected (control point 0)") - - def testRTDose(self): - """Returns correct values for sample data elements in test RT Dose file""" - dose = read_file(rtdose_name) - self.assertEqual(dose.FrameIncrementPointer, Tag((0x3004, 0x000c)), - "Frame Increment Pointer not the expected value") - self.assertEqual(dose.FrameIncrementPointer, dose[0x28, 9].value, - "FrameIncrementPointer does not match the value accessed by tag number") - - # try a value that is nested the deepest (so deep I break it into two steps!) - fract = dose.ReferencedRTPlanSequence[0].ReferencedFractionGroupSequence[0] - beamnum = fract.ReferencedBeamSequence[0].ReferencedBeamNumber - self.assertEqual(beamnum, 1, "Beam number not the expected value") - - def testCT(self): - """Returns correct values for sample data elements in test CT file....""" - ct = read_file(ct_name) - self.assertEqual(ct.file_meta.ImplementationClassUID, '1.3.6.1.4.1.5962.2', - "ImplementationClassUID not the expected value") - self.assertEqual(ct.file_meta.ImplementationClassUID, - ct.file_meta[0x2, 0x12].value, - "ImplementationClassUID does not match the value accessed by tag number") - # (0020, 0032) Image Position (Patient) [-158.13580300000001, -179.035797, -75.699996999999996] - got = ct.ImagePositionPatient - DS = dicom.valuerep.DS - expected = [DS('-158.135803'), DS('-179.035797'), DS('-75.699997')] - self.assertTrue(got == expected, "ImagePosition(Patient) values not as expected." - "got {0}, expected {1}".format(got, expected)) - - self.assertEqual(ct.Rows, 128, "Rows not 128") - self.assertEqual(ct.Columns, 128, "Columns not 128") - self.assertEqual(ct.BitsStored, 16, "Bits Stored not 16") - self.assertEqual(len(ct.PixelData), 128 * 128 * 2, "Pixel data not expected length") - - # Also test private elements name can be resolved: - expected = "[Duration of X-ray on]" - got = ct[(0x0043, 0x104e)].name - msg = "Mismatch in private tag name, expected '%s', got '%s'" - self.assertEqual(expected, got, msg % (expected, got)) - - # Check that can read pixels - get last one in array - if have_numpy: - expected = 909 - got = ct.pixel_array[-1][-1] - msg = "Did not get correct value for last pixel: expected %d, got %r" % (expected, got) - self.assertEqual(expected, got, msg) - else: - print "**Numpy not available -- pixel array test skipped**" - - def testNoForce(self): - """Raises exception if missing DICOM header and force==False...........""" - self.assertRaises(InvalidDicomError, read_file, rtstruct_name) - - def testRTstruct(self): - """Returns correct values for sample elements in test RTSTRUCT file....""" - # RTSTRUCT test file has complex nested sequences -- see rtstruct.dump file - # Also has no DICOM header ... so tests 'force' argument of read_file - - rtss = read_file(rtstruct_name, force=True) - expected = '1.2.840.10008.1.2' # implVR little endian - got = rtss.file_meta.TransferSyntaxUID - msg = "Expected transfer syntax %r, got %r" % (expected, got) - self.assertEqual(expected, got, msg) - frame_of_ref = rtss.ReferencedFrameOfReferenceSequence[0] - study = frame_of_ref.RTReferencedStudySequence[0] - uid = study.RTReferencedSeriesSequence[0].SeriesInstanceUID - expected = "1.2.826.0.1.3680043.8.498.2010020400001.2.1.1" - msg = "Expected Reference Series UID '%s', got '%s'" % (expected, uid) - self.assertEqual(expected, uid, msg) - - got = rtss.ROIContourSequence[0].ContourSequence[2].ContourNumber - expected = 3 - msg = "Expected Contour Number %d, got %r" % (expected, got) - self.assertEqual(expected, got, msg) - - obs_seq0 = rtss.RTROIObservationsSequence[0] - got = obs_seq0.ROIPhysicalPropertiesSequence[0].ROIPhysicalProperty - expected = 'REL_ELEC_DENSITY' - msg = "Expected Physical Property '%s', got %r" % (expected, got) - self.assertEqual(expected, got, msg) - - def testDir(self): - """Returns correct dir attributes for both Dataset and DICOM names (python >= 2.6)..""" - # Only python >= 2.6 calls __dir__ for dir() call - rtss = read_file(rtstruct_name, force=True) - # sample some expected 'dir' values - got_dir = dir(rtss) - expect_in_dir = ['pixel_array', 'add_new', 'ROIContourSequence', - 'StructureSetDate', '__sizeof__'] - expect_not_in_dir = ['RemovePrivateTags', 'AddNew', 'GroupDataset'] # remove in v1.0 - for name in expect_in_dir: - self.assertTrue(name in got_dir, "Expected name '%s' in dir()" % name) - for name in expect_not_in_dir: - self.assertTrue(name not in got_dir, "Unexpected name '%s' in dir()" % name) - # Now check for some items in dir() of a nested item - roi0 = rtss.ROIContourSequence[0] - got_dir = dir(roi0) - expect_in_dir = ['pixel_array', 'add_new', 'ReferencedROINumber', - 'ROIDisplayColor', '__sizeof__'] - for name in expect_in_dir: - self.assertTrue(name in got_dir, "Expected name '%s' in dir()" % name) - - def testMR(self): - """Returns correct values for sample data elements in test MR file.....""" - mr = read_file(mr_name) - # (0010, 0010) Patient's Name 'CompressedSamples^MR1' - mr.decode() - self.assertEqual(mr.PatientName, 'CompressedSamples^MR1', "Wrong patient name") - self.assertEqual(mr.PatientName, mr[0x10, 0x10].value, - "Name does not match value found when accessed by tag number") - got = mr.PixelSpacing - DS = dicom.valuerep.DS - expected = [DS('0.3125'), DS('0.3125')] - self.assertTrue(got == expected, "Wrong pixel spacing") - - def testDeflate(self): - """Returns correct values for sample data elements in test compressed (zlib deflate) file""" - # Everything after group 2 is compressed. If we can read anything else, the decompression must have been ok. - ds = read_file(deflate_name) - got = ds.ConversionType - expected = "WSD" - self.assertEqual(got, expected, "Attempted to read deflated file data element Conversion Type, expected '%s', got '%s'" % (expected, got)) - - def testNoPixelsRead(self): - """Returns all data elements before pixels using stop_before_pixels=False""" - # Just check the tags, and a couple of values - ctpartial = read_file(ct_name, stop_before_pixels=True) - ctpartial_tags = sorted(ctpartial.keys()) - ctfull = read_file(ct_name) - ctfull_tags = sorted(ctfull.keys()) - msg = "Tag list of partial CT read (except pixel tag and padding) did not match full read" - msg += "\nExpected: %r\nGot %r" % (ctfull_tags[:-2], ctpartial_tags) - missing = [Tag(0x7fe0, 0x10), Tag(0xfffc, 0xfffc)] - self.assertEqual(ctfull_tags, ctpartial_tags + missing, msg) - - def testPrivateSQ(self): - """Can read private undefined length SQ without error....................""" - # From issues 91, 97, 98. Bug introduced by fast reading, due to VR=None - # in raw data elements, then an undefined length private item VR is looked up, - # and there is no such tag, generating an exception - - # Simply read the file, in 0.9.5 this generated an exception - read_file(priv_SQ_name) - - def testNestedPrivateSQ(self): - """Can successfully read a private SQ which contains additional SQ's.....""" - # From issue 113. When a private SQ of undefined length is used, the - # sequence is read in and the length of the SQ is determined upon - # identification of the SQ termination sequence. When using nested - # Sequences, the first termination sequence encountered actually - # belongs to the nested Sequence not the parent, therefore the - # remainder of the file is not read in properly - ds = read_file(nested_priv_SQ_name) - - # Make sure that the entire dataset was read in - pixel_data_tag = TupleTag((0x7fe0, 0x10)) - self.assertTrue(pixel_data_tag in ds, - "Entire dataset was not parsed properly. PixelData is not present") - - # Check that the DataElement is indeed a Sequence - tag = TupleTag((0x01, 0x01)) - seq0 = ds[tag] - self.assertEqual(seq0.VR, 'SQ', - "First level sequence not parsed properly") - - # Now verify the presence of the nested private SQ - seq1 = seq0[0][tag] - self.assertEqual(seq1.VR, 'SQ', - "Second level sequence not parsed properly") - - # Now make sure the values that are parsed are correct - got = seq1[0][tag].value - expected = b'Double Nested SQ' - self.assertEqual(got, expected, - "Expected a value of %s, got %s'" % (expected, got)) - - got = seq0[0][0x01, 0x02].value - expected = b'Nested SQ' - self.assertEqual(got, expected, - "Expected a value of %s, got %s'" % (expected, got)) - - def testNoMetaGroupLength(self): - """Read file with no group length in file meta...........................""" - # Issue 108 -- iView example file with no group length (0002,0002) - # Originally crashed, now check no exception, but also check one item - # in file_meta, and second one in followinsg dataset - ds = read_file(no_meta_group_length) - got = ds.InstanceCreationDate - expected = "20111130" - self.assertEqual(got, expected, "Sample data element after file meta with no group length failed, expected '%s', got '%s'" % (expected, got)) - - -class JPEG2000Tests(unittest.TestCase): - def setUp(self): - self.jpeg = read_file(jpeg2000_name) - - def testJPEG2000(self): - """JPEG2000: Returns correct values for sample data elements............""" - expected = [Tag(0x0054, 0x0010), Tag(0x0054, 0x0020)] # XX also tests multiple-valued AT data element - got = self.jpeg.FrameIncrementPointer - self.assertEqual(got, expected, "JPEG2000 file, Frame Increment Pointer: expected %s, got %s" % (expected, got)) - - got = self.jpeg.DerivationCodeSequence[0].CodeMeaning - expected = 'Lossy Compression' - self.assertEqual(got, expected, "JPEG200 file, Code Meaning got %s, expected %s" % (got, expected)) - - def testJPEG2000PixelArray(self): - """JPEG2000: Fails gracefully when uncompressed data is asked for.......""" - self.assertRaises(NotImplementedError, self.jpeg._get_pixel_array) - - -class JPEGlossyTests(unittest.TestCase): - - def setUp(self): - self.jpeg = read_file(jpeg_lossy_name) - - def testJPEGlossy(self): - """JPEG-lossy: Returns correct values for sample data elements..........""" - got = self.jpeg.DerivationCodeSequence[0].CodeMeaning - expected = 'Lossy Compression' - self.assertEqual(got, expected, "JPEG-lossy file, Code Meaning got %s, expected %s" % (got, expected)) - - def testJPEGlossyPixelArray(self): - """JPEG-lossy: Fails gracefully when uncompressed data is asked for.....""" - self.assertRaises(NotImplementedError, self.jpeg._get_pixel_array) - - -class JPEGlosslessTests(unittest.TestCase): - def setUp(self): - self.jpeg = read_file(jpeg_lossless_name) - - def testJPEGlossless(self): - """JPEGlossless: Returns correct values for sample data elements........""" - got = self.jpeg.SourceImageSequence[0].PurposeOfReferenceCodeSequence[0].CodeMeaning - expected = 'Uncompressed predecessor' - self.assertEqual(got, expected, "JPEG-lossless file, Code Meaning got %s, expected %s" % (got, expected)) - - def testJPEGlosslessPixelArray(self): - """JPEGlossless: Fails gracefully when uncompressed data is asked for...""" - self.assertRaises(NotImplementedError, self.jpeg._get_pixel_array) - - # create an in-memory fragment - - -class DeferredReadTests(unittest.TestCase): - """Test that deferred data element reading (for large size) - works as expected - """ - # Copy one of test files and use temporarily, then later remove. - def setUp(self): - self.testfile_name = ct_name + ".tmp" - shutil.copyfile(ct_name, self.testfile_name) - - def testTimeCheck(self): - """Deferred read warns if file has been modified...........""" - if stat_available: - ds = read_file(self.testfile_name, defer_size=2000) - from time import sleep - sleep(1) - with open(self.testfile_name, "r+") as f: - f.write('\0') # "touch" the file - warning_start = "Deferred read warning -- file modification time " - - def read_value(): - ds.PixelData - - assertWarns(self, warning_start, read_value) - - def testFileExists(self): - """Deferred read raises error if file no longer exists.....""" - ds = read_file(self.testfile_name, defer_size=2000) - os.remove(self.testfile_name) - - def read_value(): - ds.PixelData - - self.assertRaises(IOError, read_value) - - def testValuesIdentical(self): - """Deferred values exactly matches normal read...............""" - ds_norm = read_file(self.testfile_name) - ds_defer = read_file(self.testfile_name, defer_size=2000) - for data_elem in ds_norm: - tag = data_elem.tag - self.assertEqual(data_elem.value, ds_defer[tag].value, "Mismatched value for tag %r" % tag) - - def testZippedDeferred(self): - """Deferred values from a gzipped file works..............""" - # Arose from issue 103 "Error for defer_size read of gzip file object" - fobj = gzip.open(gzip_name) - ds = read_file(fobj, defer_size=1) - fobj.close() - # before the fix, this threw an error as file reading was not in right place, - # it was re-opened as a normal file, not zip file - ds.InstanceNumber - - def tearDown(self): - if os.path.exists(self.testfile_name): - os.remove(self.testfile_name) - - -class FileLikeTests(unittest.TestCase): - """Test that can read DICOM files with file-like object rather than filename""" - def testReadFileGivenFileObject(self): - """filereader: can read using already opened file............""" - f = open(ct_name, 'rb') - ct = read_file(f) - # Tests here simply repeat testCT -- perhaps should collapse the code together? - got = ct.ImagePositionPatient - DS = dicom.valuerep.DS - expected = [DS('-158.135803'), DS('-179.035797'), DS('-75.699997')] - self.assertTrue(got == expected, "ImagePosition(Patient) values not as expected") - self.assertEqual(ct.file_meta.ImplementationClassUID, '1.3.6.1.4.1.5962.2', - "ImplementationClassUID not the expected value") - self.assertEqual(ct.file_meta.ImplementationClassUID, - ct.file_meta[0x2, 0x12].value, - "ImplementationClassUID does not match the value accessed by tag number") - # (0020, 0032) Image Position (Patient) [-158.13580300000001, -179.035797, -75.699996999999996] - got = ct.ImagePositionPatient - expected = [DS('-158.135803'), DS('-179.035797'), DS('-75.699997')] - self.assertTrue(got == expected, "ImagePosition(Patient) values not as expected") - self.assertEqual(ct.Rows, 128, "Rows not 128") - self.assertEqual(ct.Columns, 128, "Columns not 128") - self.assertEqual(ct.BitsStored, 16, "Bits Stored not 16") - self.assertEqual(len(ct.PixelData), 128 * 128 * 2, "Pixel data not expected length") - # Should also be able to close the file ourselves without exception raised: - f.close() - - def testReadFileGivenFileLikeObject(self): - """filereader: can read using a file-like (BytesIO) file....""" - with open(ct_name, 'rb') as f: - file_like = BytesIO(f.read()) - ct = read_file(file_like) - # Tests here simply repeat some of testCT test - got = ct.ImagePositionPatient - DS = dicom.valuerep.DS - expected = [DS('-158.135803'), DS('-179.035797'), DS('-75.699997')] - self.assertTrue(got == expected, "ImagePosition(Patient) values not as expected") - self.assertEqual(len(ct.PixelData), 128 * 128 * 2, "Pixel data not expected length") - # Should also be able to close the file ourselves without exception raised: - file_like.close() - - -if __name__ == "__main__": - # This is called if run alone, but not if loaded through run_tests.py - # If not run from the directory where the sample images are, then need to switch there - dir_name = os.path.dirname(sys.argv[0]) - save_dir = os.getcwd() - if dir_name: - os.chdir(dir_name) - os.chdir("../testfiles") - unittest.main() - os.chdir(save_dir) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filewriter.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filewriter.py deleted file mode 100644 index e0772b9f..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_filewriter.py +++ /dev/null @@ -1,220 +0,0 @@ -# test_filewriter.py -"""unittest cases for dicom.filewriter module""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import sys -import os.path -import os -import unittest -from dicom.filereader import read_file -from dicom.filewriter import write_data_element -from dicom.dataset import Dataset, FileDataset -from dicom.sequence import Sequence -from dicom.util.hexutil import hex2bytes, bytes2hex - -# from io import BytesIO -from dicom.filebase import DicomBytesIO -from dicom.dataelem import DataElement - -from pkg_resources import Requirement, resource_filename -test_dir = resource_filename(Requirement.parse("dicom"), "dicom/testfiles") -testcharset_dir = resource_filename(Requirement.parse("dicom"), - "dicom/testcharsetfiles") - -rtplan_name = os.path.join(test_dir, "rtplan.dcm") -rtdose_name = os.path.join(test_dir, "rtdose.dcm") -ct_name = os.path.join(test_dir, "CT_small.dcm") -mr_name = os.path.join(test_dir, "MR_small.dcm") -jpeg_name = os.path.join(test_dir, "JPEG2000.dcm") - -unicode_name = os.path.join(testcharset_dir, "chrH31.dcm") -multiPN_name = os.path.join(testcharset_dir, "chrFrenMulti.dcm") - -# Set up rtplan_out, rtdose_out etc. Filenames as above, with '2' appended -rtplan_out = rtplan_name + '2' -rtdose_out = rtdose_name + '2' -ct_out = ct_name + '2' -mr_out = mr_name + '2' -jpeg_out = jpeg_name + '2' -unicode_out = unicode_name + '2' -multiPN_out = multiPN_name + '2' - - -def files_identical(a, b): - """Return a tuple (file a == file b, index of first difference)""" - with open(a, "rb") as A: - with open(b, "rb") as B: - a_bytes = A.read() - b_bytes = B.read() - - return bytes_identical(a_bytes, b_bytes) - - -def bytes_identical(a_bytes, b_bytes): - """Return a tuple (bytes a == bytes b, index of first difference)""" - if a_bytes == b_bytes: - return True, 0 # True, dummy argument - else: - pos = 0 - while a_bytes[pos] == b_bytes[pos]: - pos += 1 - return False, pos # False if not identical, position of 1st diff - - -class WriteFileTests(unittest.TestCase): - def compare(self, in_filename, out_filename, decode=False): - """Read file1, write file2, then compare. - Return value as for files_identical. - """ - dataset = read_file(in_filename) - if decode: - dataset.decode() - - dataset.save_as(out_filename) - same, pos = files_identical(in_filename, out_filename) - self.assertTrue(same, - "Files are not identical - first difference at 0x%x" % pos) - if os.path.exists(out_filename): - os.remove(out_filename) # get rid of the file - - def testRTPlan(self): - """Input file, write back and verify them identical (RT Plan file)""" - self.compare(rtplan_name, rtplan_out) - - def testRTDose(self): - """Input file, write back and verify them identical (RT Dose file)""" - self.compare(rtdose_name, rtdose_out) - - def testCT(self): - """Input file, write back and verify them identical (CT file).....""" - self.compare(ct_name, ct_out) - - def testMR(self): - """Input file, write back and verify them identical (MR file).....""" - self.compare(mr_name, mr_out) - - def testUnicode(self): - """Ensure decoded string DataElements are written to file properly""" - self.compare(unicode_name, unicode_out, decode=True) - - def testMultiPN(self): - """Ensure multiple Person Names are written to the file correctly.""" - self.compare(multiPN_name, multiPN_out, decode=True) - - def testJPEG2000(self): - """Input file, write back and verify them identical (JPEG2K file).""" - self.compare(jpeg_name, jpeg_out) - - def testListItemWriteBack(self): - """Change item in a list and confirm it is written to file ..""" - DS_expected = 0 - CS_expected = "new" - SS_expected = 999 - ds = read_file(ct_name) - ds.ImagePositionPatient[2] = DS_expected - ds.ImageType[1] = CS_expected - ds[(0x0043, 0x1012)].value[0] = SS_expected - ds.save_as(ct_out) - # Now read it back in and check that the values were changed - ds = read_file(ct_out) - self.assertTrue(ds.ImageType[1] == CS_expected, - "Item in a list not written correctly to file (VR=CS)") - self.assertTrue(ds[0x00431012].value[0] == SS_expected, - "Item in a list not written correctly to file (VR=SS)") - self.assertTrue(ds.ImagePositionPatient[2] == DS_expected, - "Item in a list not written correctly to file (VR=DS)") - if os.path.exists(ct_out): - os.remove(ct_out) - - -class WriteDataElementTests(unittest.TestCase): - """Attempt to write data elements has the expected behaviour""" - def setUp(self): - # Create a dummy (in memory) file to write to - self.f1 = DicomBytesIO() - self.f1.is_little_endian = True - self.f1.is_implicit_VR = True - - def test_empty_AT(self): - """Write empty AT correctly..........""" - # Was issue 74 - data_elem = DataElement(0x00280009, "AT", []) - expected = hex2bytes(( - " 28 00 09 00" # (0028,0009) Frame Increment Pointer - " 00 00 00 00" # length 0 - )) - write_data_element(self.f1, data_elem) - got = self.f1.parent.getvalue() - msg = ("Did not write zero-length AT value correctly. " - "Expected %r, got %r") % (bytes2hex(expected), bytes2hex(got)) - msg = "%r %r" % (type(expected), type(got)) - msg = "'%r' '%r'" % (expected, got) - self.assertEqual(expected, got, msg) - - -class ScratchWriteTests(unittest.TestCase): - """Simple dataset from scratch, written in all endian/VR combinations""" - def setUp(self): - # Create simple dataset for all tests - ds = Dataset() - ds.PatientName = "Name^Patient" - - # Set up a simple nested sequence - # first, the innermost sequence - subitem1 = Dataset() - subitem1.ContourNumber = 1 - subitem1.ContourData = ['2', '4', '8', '16'] - subitem2 = Dataset() - subitem2.ContourNumber = 2 - subitem2.ContourData = ['32', '64', '128', '196'] - - sub_ds = Dataset() - sub_ds.ContourSequence = Sequence((subitem1, subitem2)) - - # Now the top-level sequence - ds.ROIContourSequence = Sequence((sub_ds,)) # Comma to make one-tuple - - # Store so each test can use it - self.ds = ds - - def compare_write(self, hex_std, file_ds): - """Write file and compare with expected byte string - - :arg hex_std: the bytes which should be written, as space separated hex - :arg file_ds: a FileDataset instance containing the dataset to write - """ - out_filename = "scratch.dcm" - file_ds.save_as(out_filename) - std = hex2bytes(hex_std) - with open(out_filename, 'rb') as f: - bytes_written = f.read() - # print "std :", bytes2hex(std) - # print "written:", bytes2hex(bytes_written) - same, pos = bytes_identical(std, bytes_written) - self.assertTrue(same, - "Writing from scratch unexpected result - 1st diff at 0x%x" % pos) - if os.path.exists(out_filename): - os.remove(out_filename) # get rid of the file - - def testImpl_LE_deflen_write(self): - """Scratch Write for implicit VR little endian, defined length SQ's""" - from dicom.test._write_stds import impl_LE_deflen_std_hex as std - - file_ds = FileDataset("test", self.ds) - self.compare_write(std, file_ds) - - -if __name__ == "__main__": - # This is called if run alone, but not if loaded through run_tests.py - # If not run from the directory where the sample images are, - # then need to switch there - dir_name = os.path.dirname(sys.argv[0]) - save_dir = os.getcwd() - if dir_name: - os.chdir(dir_name) - os.chdir("../testfiles") - unittest.main() - os.chdir(save_dir) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_multival.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_multival.py deleted file mode 100644 index 5bc1358f..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_multival.py +++ /dev/null @@ -1,64 +0,0 @@ -# test_multival.py -"""Test suite for MultiValue class""" -# Copyright (c) 2012 Darcy Mason -# This file is part of pydicom, relased under an MIT-style license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.multival import MultiValue -from dicom.valuerep import DS, DSfloat, DSdecimal, IS -import dicom.config - -import sys -python_version = sys.version_info - - -class MultiValuetests(unittest.TestCase): - def testMultiDS(self): - """MultiValue: Multi-valued data elements can be created........""" - multival = MultiValue(DS, ['11.1', '22.2', '33.3']) - for val in multival: - self.assertTrue(isinstance(val, (DSfloat, DSdecimal)), - "Multi-value DS item not converted to DS") - - def testLimits(self): - """MultiValue: Raise error if any item outside DICOM limits....""" - original_flag = dicom.config.enforce_valid_values - dicom.config.enforce_valid_values = True - self.assertRaises(OverflowError, MultiValue, IS, [1, -2 ** 31 - 1]) # Overflow error not raised for IS out of DICOM valid range - dicom.config.enforce_valid_values = original_flag - - def testAppend(self): - """MultiValue: Append of item converts it to required type...""" - multival = MultiValue(IS, [1, 5, 10]) - multival.append('5') - self.assertTrue(isinstance(multival[-1], IS)) - self.assertEqual(multival[-1], 5, "Item set by append is not correct value") - - def testSetIndex(self): - """MultiValue: Setting list item converts it to required type""" - multival = MultiValue(IS, [1, 5, 10]) - multival[1] = '7' - self.assertTrue(isinstance(multival[1], IS)) - self.assertEqual(multival[1], 7, "Item set by index is not correct value") - - def testExtend(self): - """MultiValue: Extending a list converts all to required type""" - multival = MultiValue(IS, [1, 5, 10]) - multival.extend(['7', 42]) - self.assertTrue(isinstance(multival[-2], IS)) - self.assertTrue(isinstance(multival[-1], IS)) - self.assertEqual(multival[-2], 7, "Item set by extend not correct value") - - def testSlice(self): - """MultiValue: Setting slice converts items to required type.""" - multival = MultiValue(IS, range(7)) - multival[2:7:2] = [4, 16, 36] - for val in multival: - self.assertTrue(isinstance(val, IS), "Slice IS value not correct type") - self.assertEqual(multival[4], 16, "Set by slice failed for item 4 of list") - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_rawread.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_rawread.py deleted file mode 100644 index 6daf6016..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_rawread.py +++ /dev/null @@ -1,274 +0,0 @@ -# test_rawread.py -"""unittest tests for dicom.filereader module -- simple raw data elements""" -# Copyright (c) 2010-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from io import BytesIO -import unittest -from dicom.filereader import data_element_generator -from dicom.values import convert_value -from dicom.sequence import Sequence -from dicom.util.hexutil import hex2bytes - - -class RawReaderExplVRTests(unittest.TestCase): - # See comments in data_element_generator -- summary of DICOM data element formats - # Here we are trying to test all those variations - - def testExplVRLittleEndianLongLength(self): - """Raw read: Explicit VR Little Endian long length......................""" - # (0002,0001) OB 2-byte-reserved 4-byte-length, value 0x00 0x01 - infile = BytesIO(hex2bytes("02 00 01 00 4f 42 00 00 02 00 00 00 00 01")) - expected = ((2, 1), 'OB', 2, b'\00\01', 0xc, False, True) - de_gen = data_element_generator(infile, is_implicit_VR=False, is_little_endian=True) - got = next(de_gen) - msg_loc = "in read of Explicit VR='OB' data element (long length format)" - self.assertEqual(got, expected, "Expected: %r, got %r in %s" % (expected, got, msg_loc)) - # (0002,0002) OB 2-byte-reserved 4-byte-length, value 0x00 0x01 - - def testExplVRLittleEndianShortLength(self): - """Raw read: Explicit VR Little Endian short length.....................""" - # (0008,212a) IS 2-byte-length, value '1 ' - infile = BytesIO(hex2bytes("08 00 2a 21 49 53 02 00 31 20")) - # XXX Assumes that a RawDataElement doesn't convert the value based - # upon the VR value, thus it will remain a byte string since that is - # the input - expected = ((8, 0x212a), 'IS', 2, b'1 ', 0x8, False, True) - de_gen = data_element_generator(infile, is_implicit_VR=False, is_little_endian=True) - got = next(de_gen) - msg_loc = "in read of Explicit VR='IS' data element (short length format)" - self.assertEqual(got, expected, "Expected: %r, got %r in %s" % (expected, got, msg_loc)) - - def testExplVRLittleEndianUndefLength(self): - """Raw read: Expl VR Little Endian with undefined length................""" - # (7fe0,0010), OB, 2-byte reserved, 4-byte-length (UNDEFINED) - hexstr1 = "e0 7f 10 00 4f 42 00 00 ff ff ff ff" - hexstr2 = " 41 42 43 44 45 46 47 48 49 4a" # 'content' - hexstr3 = " fe ff dd e0 00 00 00 00" # Sequence Delimiter - hexstr = hexstr1 + hexstr2 + hexstr3 - infile = BytesIO(hex2bytes(hexstr)) - expected = ((0x7fe0, 0x10), 'OB', 0xffffffffL, b'ABCDEFGHIJ', 0xc, False, True) - de_gen = data_element_generator(infile, is_implicit_VR=False, is_little_endian=True) - got = next(de_gen) - msg_loc = "in read of undefined length Explicit VR ='OB' short value)" - self.assertEqual(got, expected, "Expected: %r, got %r in %s" % (expected, got, msg_loc)) - - # Test again such that delimiter crosses default 128-byte read "chunks", etc - for multiplier in (116, 117, 118, 120): - multiplier = 116 - hexstr2b = hexstr2 + " 00" * multiplier - hexstr = hexstr1 + hexstr2b + hexstr3 - infile = BytesIO(hex2bytes(hexstr)) - expected = len('ABCDEFGHIJ' + '\0' * multiplier) - de_gen = data_element_generator(infile, is_implicit_VR=False, is_little_endian=True) - got = next(de_gen) - got_len = len(got.value) - msg_loc = "in read of undefined length Explicit VR ='OB' with 'multiplier' %d" % multiplier - self.assertEqual(expected, got_len, "Expected value length %d, got %d in %s" % (expected, got_len, msg_loc)) - msg = "Unexpected value start with multiplier %d on Expl VR undefined length" % multiplier - self.assertTrue(got.value.startswith(b'ABCDEFGHIJ\0'), msg) - - -class RawReaderImplVRTests(unittest.TestCase): - # See comments in data_element_generator -- summary of DICOM data element formats - # Here we are trying to test all those variations - - def testImplVRLittleEndian(self): - """Raw read: Implicit VR Little Endian..................................""" - # (0008,212a) {IS} 4-byte-length, value '1 ' - infile = BytesIO(hex2bytes("08 00 2a 21 02 00 00 00 31 20")) - expected = ((8, 0x212a), None, 2, b'1 ', 0x8, True, True) - de_gen = data_element_generator(infile, is_implicit_VR=True, is_little_endian=True) - got = next(de_gen) - msg_loc = "in read of Implicit VR='IS' data element (short length format)" - self.assertEqual(got, expected, "Expected: %r, got %r in %s" % (expected, got, msg_loc)) - - def testImplVRLittleEndianUndefLength(self): - """Raw read: Impl VR Little Endian with undefined length................""" - # (7fe0,0010), OB, 2-byte reserved, 4-byte-length (UNDEFINED) - hexstr1 = "e0 7f 10 00 ff ff ff ff" - hexstr2 = " 41 42 43 44 45 46 47 48 49 4a" # 'content' - hexstr3 = " fe ff dd e0 00 00 00 00" # Sequence Delimiter - hexstr = hexstr1 + hexstr2 + hexstr3 - infile = BytesIO(hex2bytes(hexstr)) - expected = ((0x7fe0, 0x10), 'OB or OW', 0xffffffffL, b'ABCDEFGHIJ', 0x8, True, True) - de_gen = data_element_generator(infile, is_implicit_VR=True, is_little_endian=True) - got = next(de_gen) - msg_loc = "in read of undefined length Implicit VR ='OB' short value)" - self.assertEqual(got, expected, "Expected: %r, got %r in %s" % (expected, got, msg_loc)) - - # Test again such that delimiter crosses default 128-byte read "chunks", etc - for multiplier in (116, 117, 118, 120): - multiplier = 116 - hexstr2b = hexstr2 + " 00" * multiplier - hexstr = hexstr1 + hexstr2b + hexstr3 - infile = BytesIO(hex2bytes(hexstr)) - expected = len('ABCDEFGHIJ' + '\0' * multiplier) - de_gen = data_element_generator(infile, is_implicit_VR=True, is_little_endian=True) - got = next(de_gen) - got_len = len(got.value) - msg_loc = "in read of undefined length Implicit VR with 'multiplier' %d" % multiplier - self.assertEqual(expected, got_len, "Expected value length %d, got %d in %s" % (expected, got_len, msg_loc)) - msg = "Unexpected value start with multiplier %d on Implicit VR undefined length" % multiplier - self.assertTrue(got.value.startswith(b'ABCDEFGHIJ\0'), msg) - - -class RawSequenceTests(unittest.TestCase): - # See DICOM standard PS3.5-2008 section 7.5 for sequence syntax - def testEmptyItem(self): - """Read sequence with a single empty item...............................""" - # This is fix for issue 27 - hexstr = ( - "08 00 32 10" # (0008, 1032) SQ "Procedure Code Sequence" - " 08 00 00 00" # length 8 - " fe ff 00 e0" # (fffe, e000) Item Tag - " 00 00 00 00" # length = 0 - ) + ( # --------------- end of Sequence - " 08 00 3e 10" # (0008, 103e) LO "Series Description" nopep8 - " 0c 00 00 00" # length nopep8 - " 52 20 41 44 44 20 56 49 45 57 53 20" # value nopep8 - ) - # "\x08\x00\x32\x10\x08\x00\x00\x00\xfe\xff\x00\xe0\x00\x00\x00\x00" # from issue 27, procedure code sequence (0008,1032) - # hexstr += "\x08\x00\x3e\x10\x0c\x00\x00\x00\x52\x20\x41\x44\x44\x20\x56\x49\x45\x57\x53\x20" # data element following - - fp = BytesIO(hex2bytes(hexstr)) - gen = data_element_generator(fp, is_implicit_VR=True, is_little_endian=True) - raw_seq = next(gen) - seq = convert_value("SQ", raw_seq) - - self.assertTrue(isinstance(seq, Sequence), "Did not get Sequence, got type {0}".format(str(type(seq)))) - self.assertTrue(len(seq) == 1, "Expected Sequence with single (empty) item, got {0:d} item(s)".format(len(seq))) - self.assertTrue(len(seq[0]) == 0, "Expected the sequence item (dataset) to be empty") - elem2 = next(gen) - self.assertEqual(elem2.tag, 0x0008103e, "Expected a data element after empty sequence item") - - def testImplVRLittleEndian_ExplicitLengthSeq(self): - """Raw read: ImplVR Little Endian SQ with explicit lengths..............""" - # Create a fictional sequence with bytes directly, - # similar to PS 3.5-2008 Table 7.5-1 p42 - hexstr = ( - "0a 30 B0 00" # (300a, 00b0) Beam Sequence - " 40 00 00 00" # length - " fe ff 00 e0" # (fffe, e000) Item Tag - " 18 00 00 00" # Item (dataset) Length - " 0a 30 c0 00" # (300A, 00C0) Beam Number - " 02 00 00 00" # length - " 31 20" # value '1 ' - " 0a 30 c2 00" # (300A, 00C2) Beam Name - " 06 00 00 00" # length - " 42 65 61 6d 20 31" # value 'Beam 1' - # ------------- - " fe ff 00 e0" # (fffe, e000) Item Tag - " 18 00 00 00" # Item (dataset) Length - " 0a 30 c0 00" # (300A, 00C0) Beam Number - " 02 00 00 00" # length - " 32 20" # value '2 ' - " 0a 30 c2 00" # (300A, 00C2) Beam Name - " 06 00 00 00" # length - " 42 65 61 6d 20 32" # value 'Beam 2' - ) - - infile = BytesIO(hex2bytes(hexstr)) - de_gen = data_element_generator(infile, is_implicit_VR=True, is_little_endian=True) - raw_seq = next(de_gen) - seq = convert_value("SQ", raw_seq) - - # The sequence is parsed, but only into raw data elements. - # They will be converted when asked for. Check some: - got = seq[0].BeamNumber - self.assertTrue(got == 1, "Expected Beam Number 1, got {0!r}".format(got)) - got = seq[1].BeamName - self.assertTrue(got == 'Beam 2', "Expected Beam Name 'Beam 2', got {0:s}".format(got)) - - def testImplVRBigEndian_ExplicitLengthSeq(self): - """Raw read: ImplVR BigEndian SQ with explicit lengths..................""" - # Create a fictional sequence with bytes directly, - # similar to PS 3.5-2008 Table 7.5-1 p42 - hexstr = ( - "30 0a 00 B0" # (300a, 00b0) Beam Sequence - " 00 00 00 40" # length - " ff fe e0 00" # (fffe, e000) Item Tag - " 00 00 00 18" # Item (dataset) Length - " 30 0a 00 c0" # (300A, 00C0) Beam Number - " 00 00 00 02" # length - " 31 20" # value '1 ' - " 30 0a 00 c2" # (300A, 00C2) Beam Name - " 00 00 00 06" # length - " 42 65 61 6d 20 31" # value 'Beam 1' - # ------------- - " ff fe e0 00" # (fffe, e000) Item Tag - " 00 00 00 18" # Item (dataset) Length - " 30 0a 00 c0" # (300A, 00C0) Beam Number - " 00 00 00 02" # length - " 32 20" # value '2 ' - " 30 0a 00 c2" # (300A, 00C2) Beam Name - " 00 00 00 06" # length - " 42 65 61 6d 20 32" # value 'Beam 2' - ) - - infile = BytesIO(hex2bytes(hexstr)) - de_gen = data_element_generator(infile, is_implicit_VR=True, is_little_endian=False) - raw_seq = next(de_gen) - seq = convert_value("SQ", raw_seq) - - # The sequence is parsed, but only into raw data elements. - # They will be converted when asked for. Check some: - got = seq[0].BeamNumber - self.assertTrue(got == 1, "Expected Beam Number 1, got {0!r}".format(got)) - got = seq[1].BeamName - self.assertTrue(got == 'Beam 2', "Expected Beam Name 'Beam 2', got {0:s}".format(got)) - - def testExplVRBigEndian_UndefinedLengthSeq(self): - """Raw read: ExplVR BigEndian Undefined Length SQ.......................""" - # Create a fictional sequence with bytes directly, - # similar to PS 3.5-2008 Table 7.5-2 p42 - hexstr = ( - "30 0a 00 B0" # (300a, 00b0) Beam Sequence - " 53 51" # SQ - " 00 00" # reserved - " ff ff ff ff" # undefined length - " ff fe e0 00" # (fffe, e000) Item Tag - " 00 00 00 18" # Item (dataset) Length - " 30 0a 00 c0" # (300A, 00C0) Beam Number - " 49 53" # IS - " 00 02" # length - " 31 20" # value '1 ' - " 30 0a 00 c2" # (300A, 00C2) Beam Name - " 4c 4F" # LO - " 00 06" # length - " 42 65 61 6d 20 31" # value 'Beam 1' - # ------------- - " ff fe e0 00" # (fffe, e000) Item Tag - " 00 00 00 18" # Item (dataset) Length - " 30 0a 00 c0" # (300A, 00C0) Beam Number - " 49 53" # IS - " 00 02" # length - " 32 20" # value '2 ' - " 30 0a 00 c2" # (300A, 00C2) Beam Name - " 4C 4F" # LO - " 00 06" # length - " 42 65 61 6d 20 32" # value 'Beam 2' - " ff fe E0 dd" # SQ delimiter - " 00 00 00 00" # zero length - ) - - infile = BytesIO(hex2bytes(hexstr)) - de_gen = data_element_generator(infile, is_implicit_VR=False, is_little_endian=False) - seq = next(de_gen) - # Note seq itself is not a raw data element. - # The parser does parse undefined length SQ - - # The sequence is parsed, but only into raw data elements. - # They will be converted when asked for. Check some: - got = seq[0].BeamNumber - self.assertTrue(got == 1, "Expected Beam Number 1, got {0!r}".format(got)) - got = seq[1].BeamName - self.assertTrue(got == 'Beam 2', "Expected Beam Name 'Beam 2', got {0:s}".format(got)) - - -if __name__ == "__main__": - # import dicom - # dicom.debug() - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_sequence.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_sequence.py deleted file mode 100644 index a18bab9d..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_sequence.py +++ /dev/null @@ -1,60 +0,0 @@ -# test_sequence.py -"""unittest cases for Sequence class""" -# Copyright (c) 2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.dataset import Dataset -from dicom.sequence import Sequence - - -class SequenceTests(unittest.TestCase): - def testDefaultInitialization(self): - """Sequence: Ensure a valid Sequence is created""" - empty = Sequence() - self.assertTrue(len(empty) == 0, "Non-empty Sequence created") - - def testValidInitialization(self): - """Sequence: Ensure valid creation of Sequences using Dataset inputs""" - inputs = {'PatientPosition': 'HFS', - 'PatientSetupNumber': '1', - 'SetupTechniqueDescription': ''} - patientSetups = Dataset() - patientSetups.update(inputs) - - # Construct the sequence - seq = Sequence((patientSetups,)) - self.assertTrue(isinstance(seq[0], Dataset), - "Dataset modified during Sequence creation") - - def testInvalidInitialization(self): - """Sequence: Raise error if inputs are not iterables or Datasets""" - # Error on construction with single Dataset - self.assertRaises(TypeError, Sequence, Dataset()) - # Test for non-iterable - self.assertRaises(TypeError, Sequence, 1) - # Test for invalid iterable contents - self.assertRaises(TypeError, Sequence, [1, 2]) - - def testInvalidAssignment(self): - """Sequence: validate exception for invalid assignment""" - seq = Sequence([Dataset(), ]) - # Attempt to assign an integer to the first element - self.assertRaises(TypeError, seq.__setitem__, 0, 1) - - def testValidAssignment(self): - """Sequence: ensure ability to assign a Dataset to a Sequence item""" - ds = Dataset() - ds.add_new((1, 1), 'IS', 1) - - # Create a single element Sequence first - seq = Sequence([Dataset(), ]) - seq[0] = ds - - self.assertEqual(seq[0], ds, "Dataset modified during assignment") - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_tag.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_tag.py deleted file mode 100644 index d93e4c4c..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_tag.py +++ /dev/null @@ -1,93 +0,0 @@ -"""Test suite for Tag.py""" -# Copyright (c) 2008 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom.tag import Tag, TupleTag - - -class Values(unittest.TestCase): - def testGoodInts(self): - """Tags can be constructed with 4-byte integers..............""" - Tag(0x300a00b0) - Tag(0xFFFFFFEE) - - def testGoodTuple(self): - """Tags can be constructed with two-tuple of 2-byte integers.""" - TupleTag((0xFFFF, 0xFFee)) - tag = TupleTag((0x300a, 0x00b0)) - self.assertEqual(tag.group, 0x300a, "Expected tag.group 0x300a, got %r" % tag.group) - - def testAnyUnpack(self): - """Tags can be constructed from list.........................""" - Tag([2, 0]) - - def testBadTuple(self): - """Tags: if a tuple, must be a 2-tuple.......................""" - self.assertRaises(ValueError, Tag, (1, 2, 3, 4)) - - def testNonNumber(self): - """Tags cannot be instantiated from a non-hex string.........""" - self.assertRaises(ValueError, Tag, "hello") - - def testHexString(self): - """Tags can be instantiated from hex strings.................""" - tag = Tag('0010', '0002') - self.assertEqual(tag.group, 16) - self.assertEqual(tag.elem, 2) - - def testStr(self): - """Tags have (gggg, eeee) string rep.........................""" - self.assertTrue(str(Tag(0x300a00b0)) == "(300a, 00b0)") - - def testGroup(self): - """Tags' group and elem portions extracted properly..........""" - tag = Tag(0x300a00b0) - self.assertTrue(tag.group == 0x300a) - self.assertTrue(tag.elem == 0xb0) - self.assertTrue(tag.element == 0xb0) - - def testZeroElem(self): - """Tags with arg2=0 ok (was issue 47)........................""" - tag = Tag(2, 0) - self.assertTrue(tag.group == 2 and tag.elem == 0) - - def testBadInts(self): - """Tags constructed with > 8 bytes gives OverflowError.......""" - self.assertRaises(OverflowError, Tag, 0x123456789) - - -class Comparisons(unittest.TestCase): - def setUp(self): - self.int1 = 0x300a00b0 - self.tup1 = (0x300a, 0xb0) - self.tup3 = (0xFFFE, 0xFFFC) - self.t1 = Tag(self.int1) - self.t2 = Tag(self.tup1) - self.t3 = Tag(self.tup3) - - def testCmpEq(self): - """Tags compare correctly (==)...............................""" - self.assertTrue(self.t1 == self.int1, "tag t1 was not equal to int1") - self.assertTrue(self.t1 == self.t2, "tag t1 did not equal other tag") - self.assertTrue(self.t1 == self.tup1, "tag t1 did not equal its tuple") - - def testCmpNotEq(self): - self.assertTrue(self.t1 != self.t3, "Not equal comparison failed") - - def testCmpLT(self): - """Tags compare correctly (<, >).............................""" - self.assertTrue(self.t1 < self.int1 + 1, "tag < failed") - self.assertTrue(self.int1 + 1 > self.t1, "int > tag failed") - self.assertTrue(self.t3 > self.t1, "'negative' int tag > other tag failed") - - def testHash(self): - """Tags hash the same as an int..............................""" - self.assertTrue(hash(self.t1) == hash(self.int1)) - self.assertTrue(hash(self.t2) == hash(self.int1)) - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_unicode.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_unicode.py deleted file mode 100644 index 0a12cc80..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_unicode.py +++ /dev/null @@ -1,22 +0,0 @@ -# test_unicode.py -# -*- coding: utf-8 -*- - -import dicom -import unittest - - -class UnicodeFilenames(unittest.TestCase): - def testRead(self): - """Unicode: Can read a file with unicode characters in name................""" - uni_name = u'test°' - try: - dicom.read_file(uni_name) - except UnicodeEncodeError: - self.fail("UnicodeEncodeError generated for unicode name") - # ignore file doesn't exist error - except IOError: - pass - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_valuerep.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_valuerep.py deleted file mode 100644 index a2e416bf..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/test_valuerep.py +++ /dev/null @@ -1,117 +0,0 @@ -# test_valuerep.py -"""Test suite for valuerep.py""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import unittest -from dicom import in_py3 -import dicom.config - -if in_py3: - from dicom.valuerep import PersonName3 as PersonNameUnicode - PersonName = PersonNameUnicode -else: - from dicom.valuerep import PersonName, PersonNameUnicode - - -default_encoding = 'iso8859' - - -class DecimalStringtests(unittest.TestCase): - """Unit tests unique to the use of DS class derived from python Decimal""" - - def setUp(self): - dicom.config.DS_decimal(True) - - def tearDown(self): - dicom.config.DS_decimal(False) - - def testValidDecimalStrings(self): - # Ensures that decimal.Decimal doesn't cause a valid string to become - # invalid - valid_str = '-9.81338674e-006' - ds = dicom.valuerep.DS(valid_str) - L = len(str(ds)) - self.assertTrue(L <= 16, "DS: expected a string of length 16 but got %d" % (L,)) - - # Now the input string is too long but decimal.Decimal can convert it - # to a valid 16-character string - long_str = '-0.000000981338674' - ds = dicom.valuerep.DS(long_str) - L = len(str(ds)) - self.assertTrue(L <= 16, "DS: expected a string of length 16 but got %d" % (L,)) - - def testInvalidDecimalStrings(self): - # Now the input string truly is invalid - invalid_string = '-9.813386743e-006' - self.assertRaises(OverflowError, dicom.valuerep.DS, invalid_string) - - -class PersonNametests(unittest.TestCase): - def testLastFirst(self): - """PN: Simple Family-name^Given-name works...............................""" - pn = PersonName("Family^Given") - expected = "Family" - got = pn.family_name - self.assertEqual(got, expected, "PN: expected '%s', got '%s' for family name" % (expected, got)) - - expected = 'Given' - got = pn.given_name - self.assertEqual(got, expected, "PN: expected '%s', got '%s' for given name" % (expected, got)) - - expected = '' - got = pn.name_suffix - self.assertEqual(got, expected, "PN: expected '%s', got '%s' for name_suffix" % (expected, got)) - - expected = '' - got = pn.phonetic - self.assertEqual(got, expected, "PN: expected '%s', got '%s' for phonetic component" % (expected, got)) - - def testThreeComponent(self): - """PN: 3component (single-byte, ideographic, phonetic characters) works..""" - # Example name from PS3.5-2008 section I.2 p. 108 - pn = PersonName("""Hong^Gildong=\033$)C\373\363^\033$)C\321\316\324\327=\033$)C\310\253^\033$)C\261\346\265\277""") - expected = ("Hong", "Gildong") - got = (pn.family_name, pn.given_name) - self.assertEqual(got, expected, "PN: Expected single_byte name '%s', got '%s'" % (expected, got)) - - def testFormatting(self): - """PN: Formatting works..................................................""" - pn = PersonName("Family^Given") - expected = "Family, Given" - got = pn.family_comma_given() - self.assertEqual(got, expected, "PN: expected '%s', got '%s' for formatted Family, Given" % (expected, got)) - - def testUnicodeKr(self): - """PN: 3component in unicode works (Korean)..............................""" - # Example name from PS3.5-2008 section I.2 p. 101 - pn = PersonNameUnicode( - """Hong^Gildong=\033$)C\373\363^\033$)C\321\316\324\327=\033$)C\310\253^\033$)C\261\346\265\277""", - [default_encoding, 'euc_kr']) - expected = ("Hong", "Gildong") - got = (pn.family_name, pn.given_name) - self.assertEqual(got, expected, "PN: Expected single_byte name '{0!s}', got '{1!s}'".format(expected, got)) - - def testUnicodeJp(self): - """PN: 3component in unicode works (Japanese)............................""" - # Example name from PS3.5-2008 section H p. 98 - pn = PersonNameUnicode( - """Yamada^Tarou=\033$B;3ED\033(B^\033$BB@O:\033(B=\033$B$d$^$@\033(B^\033$B$?$m$&\033(B""", - [default_encoding, 'iso2022_jp']) - expected = ("Yamada", "Tarou") - got = (pn.family_name, pn.given_name) - self.assertEqual(got, expected, "PN: Expected single_byte name '{0!s}', got '{1!s}'".format(expected, got)) - - def testNotEqual(self): - """PN3: Not equal works correctly (issue 121)...........................""" - # Meant to only be used in python 3 but doing simple check here - from dicom.valuerep import PersonName3 - pn = PersonName3("John^Doe") - msg = "PersonName3 not equal comparison did not work correctly" - self.assertFalse(pn != "John^Doe", msg) - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/version_dep.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/version_dep.py deleted file mode 100644 index d3f2e1ca..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/version_dep.py +++ /dev/null @@ -1,18 +0,0 @@ -# version_dep.py -"""Holds test code that is dependent on certain python versions""" -# Copyright (c) 2009-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import warnings - - -def capture_warnings(function, *func_args, **func_kwargs): - """Capture function result and warnings. - """ - with warnings.catch_warnings(record=True) as w: - warnings.simplefilter("always") - result = function(*func_args, **func_kwargs) - all_warnings = w - return result, [str(warning.message) for warning in all_warnings] diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/warncheck.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/warncheck.py deleted file mode 100644 index 9a61381e..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/test/warncheck.py +++ /dev/null @@ -1,43 +0,0 @@ -# warncheck.py -# -import warnings -import unittest -from dicom.test.version_dep import capture_warnings - - -def assertWarns(self, warn_msg, function, *func_args, **func_kwargs): - """ - Check that the function generates the expected warning - with the arguments given. - - warn_msg -- part of the warning string, any warnings should contain this - function -- the function to call (expected to issue a warning) - func_args -- positional arguments to the function - func_kwargs -- keyword arguments to the function - - Return the function return value. - """ - result, all_warnings = capture_warnings(function, *func_args, - **func_kwargs) - - msg = "Expected one warning; got {0:d}" - self.assertTrue(len(all_warnings) == 1, msg.format(len(all_warnings))) - msg = "Expected warning message '{0:s}...'; got '{1:s}'" - self.assertTrue(warn_msg in all_warnings[0], - msg.format(warn_msg, all_warnings[0])) - return result - - -def test_warning(the_warning): - if the_warning: - warnings.warn(the_warning) - - -class WarnTests(unittest.TestCase): - def testWarn(self): - """Test that assertWarns works as expected""" - assertWarns(self, "Look", test_warning, "Look out") - - -if __name__ == "__main__": - unittest.main() diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/FileInfo.txt b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/FileInfo.txt deleted file mode 100644 index 170f74fc..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/FileInfo.txt +++ /dev/null @@ -1,18 +0,0 @@ -Filename Character Sets "Patient's Name" --------- -------------- '--------------' -chrArab.dcm ISO_IR 127 '\xe2\xc8\xc7\xe6\xea^\xe4\xe6\xd2\xc7\xd1' -chrFren.dcm ISO_IR 100 'Buc^J\xe9r\xf4me' -chrFrenMulti.dcm ISO_IR 100 'Buc^J\xe9r\xf4me' -chrGerm.dcm ISO_IR 100 '\xc4neas^R\xfcdiger' -chrGreek.dcm ISO_IR 126 '\xc4\xe9\xef\xed\xf5\xf3\xe9\xef\xf2' -chrH31.dcm ['', 'ISO 2022 IR 87'] 'Yamada^Tarou=\x1b$B;3ED\x1b(B^\x1b$BB@O:\x1b(B=\x1b$B$d$^$@\x1b(B^\x1b$B$?$m$&\x1b(B' -chrH32.dcm ['ISO 2022 IR 13', 'ISO 2022 IR 87'] '\xd4\xcf\xc0\xde^\xc0\xdb\xb3=\x1b$B;3ED\x1b(J^\x1b$BB@O:\x1b(J=\x1b$B$d$^$@\x1b(J^\x1b$B$?$m$&\x1b(J' -chrHbrw.dcm ISO_IR 138 '\xf9\xf8\xe5\xef^\xe3\xe1\xe5\xf8\xe4' -chrI2.dcm ['', 'ISO 2022 IR 149'] 'Hong^Gildong=\x1b$)C\xfb\xf3^\x1b$)C\xd1\xce\xd4\xd7=\x1b$)C\xc8\xab^\x1b$)C\xb1\xe6\xb5\xbf' -chrRuss.dcm ISO_IR 144 '\xbb\xee\xdace\xdc\xd1yp\xd3' -chrX1.dcm ISO_IR 192 'Wang^XiaoDong=\xe7\x8e\x8b^\xe5\xb0\x8f\xe6\x9d\xb1=' -chrX2.dcm GB18030 'Wang^XiaoDong=\xcd\xf5^\xd0\xa1\xb6\xab=' - -Other -===== -chrFrenMulti.dcm is a modified version of chrFren.dcm with multi-valued PN and LO for testing decoding diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/charlist.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/charlist.py deleted file mode 100644 index 1d64deb4..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/charlist.py +++ /dev/null @@ -1,38 +0,0 @@ -# charlist.py -"""List summary info for the test files in the charset directory""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -import logging -logging.basicConfig(level=logging.INFO, - format='%(message)s') - -if __name__ == "__main__": - from glob import glob - import dicom - - # Get list of all DICOM files - names = glob("*.dcm") - - # Collect summary information from the files - files_info = [] - for name in names: - ds = dicom.read_file(name) - ds.decode() - files_info.append((name, ds.SpecificCharacterSet, ds.PatientsName)) - - # Show the information - format = "%-16s %-40s %s" - logging.info(format % ("Filename", "Character Sets", "Patient's Name")) - logging.info(format % ("--------", "--------------", "--------------")) - for file_info in files_info: - logging.info(format % file_info) - - if "chrFrenMulti.dcm" in names: - logging.info("\nOther\n=====") - logging.info( - "chrFrenMulti.dcm is a modified version of chrFren.dcm" - " with multi-valued PN and LO for testing decoding" - ) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrArab.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrArab.dcm deleted file mode 100644 index 251f7748be275d2e10e4f366f2ebd64562123f56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1892 zcmeHG!A{#i5Pe<(T_K7LMHS+-$Ea#oyPG&pZw*eQSW2={oTxY210TR210 zenC}L9QqUVt(8&94@jrn*Brt4hdBo6A&YDrdJ-?zjeBmS&!2}L%5gdvNdr|c-`kK`@j=Mty18hBsy z+07Y7KA`8AP8v9&NUo$9Zs84^F)HR9r;{Cgy}G>qe)8@5^W`V{6tg6Xtmw^p$9y-{ znK9n6GKfAW@8cXy?*%lKDy@vRVFml3n8UknuXxDf%X6sP~wQWcwKxL?E~ zG|`}E2V+0+*>L8^1E-qoFQAI(-mQfw_#}PNttBe!8GRd-1$4f+iBi=Kjt9O?Ecz4IvFcbU}C2`_ktK-BPZ3IH*Y+YmZXGG-N zB(`~z&kDRoIcj5&&Ya6xi4xex{!k*#=S4P*l*BWnWgA)PK4(+K5J|SdzJxU9+i81b;aB^0XxBn+$Ydcuyp{=&Ki+)Uydtrk9&19tNR zx%22LCPfQJ6v-uZ^fgc5Pfz-Sw(={4^rGsTTU#e6Mvga%6LF~u2&$ecRaBhw7y5%L z`LA&8oqKs}MQPQ#DTo6cI!QF6c{6XmHo(7?UYZPjwlK{axS;mo!R|Xv@qFrO`Vyfs zs@u^j)LM5{q(arPM_cbbtjaJ%6z?{untgc2# zzI9^jclnHu4HSbWddbAvjGagyTiELhB-u1i`=Jzgf~067E$qj1EEyum*4q;>TF1Jh zBSDVIa22|1Ok@N$>ua?InU~Kku+4}+n_ED#8$dv_3#Uh%$mvh)+lQS9e5KXEhoZ-6 zPLWxMo@10Za7Yn6NikT(8xEsoz&(!gCicI7IedTl?dQo+zzUfaD3apcxSumZR}};7 zk{66ekl7}Vj*rg{&Q3p{Fv1H)`PL1NgKIh|@tjk(?q0(ki`TtR{#J2 diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGerm.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGerm.dcm deleted file mode 100644 index 4717a4b6eb5d5f34092f2842c58714ccc8090ca0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1894 zcmeHG!A{#i5PjaHbcG5EDMD3GdyJ~GT5n<;Zh#Xtmf~y_C+ZET1gd(e5dDDsLO-aI zFZ~cc1S!0=0+qmoRz0)_CXQx2Z)Wz*%o_N&(o2&}kiu+O#}8_O0Pe_ZN+76b>05-_ z>TbvA&=}Lzkq&i-|4_%oYm9i$h_>Ea`lJ0lTf$86zc7ws|5zQxwyljogE`yxs`@iR z)@u@LKCEX2ULzl@qnAvb8VE`QR4=g)QzxAXJL;zqM4!rsZ!K zu>dX9>3N0Bja)LAxU6qgi^Hoy( vr94&tx9}Al%KWEs|IJp)GJo-yEb+=*?|jbZ{V9sa#I{ diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGreek.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrGreek.dcm deleted file mode 100644 index ab2256d59442755875185fc56f5da5476dcb83cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmeHGO>Yx15Pj>0)`|daKU5)3K1K*E+sS6r8)dU1E0Q?MCgKJh_yPQb{DuA?q`mM% zxb}c5fqE{_tF%b%HU)8jLnn!5G;ikl&Da6{tqqH8A}C=wZs9Y%Km`9Pcv>Xrm&H?9 z?ew5$v^B;IbfT^9@n>~Pe2W#&S<%(~bv`-jyBcOg_}DZ_!`JB~wW&4&F?$ZKv4%4& z`SytI-Q;ru`zS|k46}vzV=7Sshd9n9vhi|SU7&SJw3<*@njw&Y0Bn zOd`p#m~6ugoJ*XsP5U@&d_m`2X)pWw^A{L>8 z7Bdeq@l&6T=6;ep)uHNuDx$kr5u%Wj%tcp`sG}X`w(1D@x{B*pOj@j}YPHF#zqGsf se+%EBq3*vM5C7LjTlZhwW^25$Hze=-`F^VEw)I`y@2}p^fBSxZ0!5{xh5!Hn diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH31.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH31.dcm deleted file mode 100644 index dbbb41b8de575eabb9225bd8876e2ca6f6c80059..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1950 zcmeHGU5nFD5IxD(^|GjB>muU5+=n1RG~9dJZ0Z-bO#=<2y=B|t3Q{cebx{PL`xpE{ zLjQ{YWIZ?36?VH_#Rq-ZNy1F#%uLSA+yMVpdPO$yNnu*n@QvDs2itX;;`!9m;t_Og z;#O0|S}E0vlUT=1J~~c`?=a#iBO3A1+Mhf>G8N1Ocj+`q-L2y!RVG$G0_GfCsOr9< zS+7p4ez~6UaUbLU9(vit+LBD9j|b@F0$Dj77P*!Jw~&nkyf4O98fAd~?qv0#Oo1e}X^Vwwn`Qw+@hhg_+BkvtX z-5Jep+rFUbyx}68h3&OJd=s9AkNFaiQ)&0mZ|MA_GZ>Y5Kz5F0fHt{+_+54yUEYgZ z8~1#1#}fA#|725q!^LmP2&(=5;vlh)f)mkFa$`R&S@DV7$t30>LXDm~7}%lB`p0&V z8yUG1MpP2rKeymHpPxBSYwP2Wys0pFKF^#`ylmaElro2>p)uB-oB_!bUT{`I)~ i*Eh;K|LiJR;~R6G^Cq9?XSKR&d}lZFtLF3Ho}V8D&a1Zo diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH32.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrH32.dcm deleted file mode 100644 index 89e8647885f073b0a4625129d33f8483bbe5cc61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1960 zcmeHG&2G~`5dPwZvZ?^NX@wA#&>k!lA+UDWaUDR2{Mb^AoNUx2DhCvC=oP7NkXPVc zxFV%*z=azU;!Vo8Rw$@-QxFF@bZl$J^UchDJF^S?TS@c&&?ALeQO8GW4>j1H)0CP= zJAoppCb&l@apGPb#)*nU<-upp z?zyUN4b6HDVvURSjE5ae23tt`Q)>${ksj`%n+f!b*(lGn6u5!@uqmmCt?z}vJx2UlF9amn00N3EoE~$R zPQT?|JlLtg5v@87Cn>ofqp%KrkMXFEIYn?xlffpQa5GB!?Cp5e#^+BbU*{)ZKD^iq zde5UQ-D|#@)9iKZGn&pD90l{Bv+@TogLlD0{`llm*ewhqlfCW^$3^ConPcdqLmnW0 zo4agYoRAwJCw_j~5_cH?s46~k@l_dqIq9DqB(^zK4_Zo2>xU&vK23K9vgytmQAu?B%tFoi1bwwL%PXy$^lg+D@NMCjcY$TGSS}aqWcinJRsG+> p*KjEFug2Z2uas5(>1DFQD|4OmI-lofxxB1>r`P=}`}5zPpYNWOur>ey diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrHbrw.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrHbrw.dcm deleted file mode 100644 index 038e299641dff84c8ee86a48a948cb796230d3ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmeHG!EVz)5PjZ;vWft?r9xFtdyEjQcGqzoZf%`NvE*cxHs zdgfYA<*k(#sdZBj2RL+WYew^C-pb1og5wfYnY9 z`bJx0%s{8w>OMcKGvZr}c*TfBAFloBn?u*YObCz7(k#4Ar&;2(5r~oI*>jRkyO#myFz7OT2mZIb#gJNA3Th*hVGupX7(UBW`Yw)Cc|b1J;>l;K?KqL2lE&F zAD%pT6LR$=2!dBn{sE63*4NFr!ftj}@t}vTWT;BLs_Iu&J;1+}L6#IgDNOSg-ckGT zP~Nwi;`!9m>^gL4!d_Q}S}D~Fqfm!k{&W}HBRb*E!XNGK7zZ=KK01zK`|2=? znXY^U%-K3t)t;eQZ-dyz$$G}eCaU2Y2Fau>b25=WuA-j`B>8ldrCJJHKvD&GoK>YX z${3mLN!{HQtU2fl7^Py>Rgqw&NwEsmGbYjkTg@kS1nV#FUf>!d{;YceNj89hA`7d> z?91vWWbdP#2<+2p;bApkPY1|Li@w5m)WVD+xR`3ViaTsZ$$--wkG3&<`Qqv9!L#T4 z)OT;(yp??aHnZyEhfkl~_xsoG`_0$4bwCbzxrWT7kNU+pPgzAdRsrtuY!JW9&e|vU zVAsUG9^a|N6~^CgitpI?ri{St^A`t+b!41?mXaI#X-UVYZEqqm4{fyQxrCw|mC10g zEK(!e_C^tvMAwfjc-ANA^NuXvSr_SBaTf4p9=IFNvY6NPe3{gLDQDIHEqnb)M(*{?zqp<2yW`pPSErdw+faBrmT( diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrJapMulti.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrJapMulti.dcm deleted file mode 100644 index b22bdbab64cfa921565ee0dbcffe3219712ee1f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1918 zcmc&#-EQMl5FWcBSS3Vmn_YQ#Z_Fw}xv6!I|BV!=YdftaJ5KF%1*>SAWg9?9hzeHw z09I~EKjpKf0m`IMV*&% z{RQNQl*SstXDB@3YVfu!`y_=M$xwrzcUMLu2FE>BDHsdqoeM^fu*Gt!%^FAzXPe3a4 zq5}G6^W$rvPk{yL|XwFwhuw-bkb&1!cKuV_up??y~~HL#|=kg z>M3d?aGTh1zkO6J2kpIYgF*%;#gfq9?cDqcYS05jg8H0i&C)bbjxM$m1yrR)49PledR%q$ zQJ3WqGxP{G;%wrxSqxsk#5;KdeU?mxg|LcxOUq=6Srn^z4GMXgis`YiTyzb*gb`2j zY8FqE)ocOCi)D2h7x6sFrm!i>d=4>EZ9)9`)b7BnVqdI4WJhfTJ&wTkfFJBI_7(8D z#k|WD#QtTA`aswYiG+T0M}Kn%{j@{ZIQvVB_Hj0;%0-bav(z+!cyIm+YSM@Qoc1X6 zg(CtdLep#)TMx_2w;YJEK*PunEZY$tHlyp>!lWT?c=~pe@~B{y;@NPm+6@HAyC*W~ zfcRBNL~yj@OuWAy6{{JfJmVbG_MJ|;IDZG7U~6*M6>vRR4XCW^bOrR4_T)Ry}I++NGEU4O^DzvC8o(fpp=a6%U?kN*t*gzE04PpD}* zj$zqONtK#)R^VR2FOK_*#M*ifkp}~ww|P~Uaj`G98s07Y;!x#y_r*x%Dh&Uo8wzYb L%tBIUF?aAU$1EUE diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrKoreanMulti.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrKoreanMulti.dcm deleted file mode 100644 index 83c11fedb5102a96479387b3a477c2c9f26bc30c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1898 zcmc&#PjBN?5FfiCSfxa6n_XpD4raw6d#LrE{~IZ2UE66b*>P&SD_BKpmTdrWp@P+Z z08Sh$apgn6oeMWkd;l(7x$+J8%}a<#SK`8fq|wZ8X5O2BZ>B{5?@c}Gc+n2VmLt9EG2t^pXk!Sm! zh+!H;ZeV+1Bpln5B64gec5#smy+G<@;)dZJAMBBDKZ5SQ(&3=(z&}VFvo~musXafS zVm2*iMb}+HsMCE)@;+U(Cv7T?O=jO}Li`0X+E|L_|6i8;4>1w@Cg$(49|9e0&^)p5XVBbSpIdI|4d{R#zW+G=@sD5r{Q38X<5O7O;-o=I zmR|YN56n%6z5q4xef@-qDzInn!-;E>P&JT|dJ58{Cn}%HGD(BKcX$0QcD=)cnY8T5 zGBZ>`;FQ>MKfG6VcjHBTPs)za%k_->20Eg9@QGTS=WS<=P|@{Wut9D;l2Ir})Km2; zGVwHdHiAFS`i0|PVTPg+B^$3J%C=l{Sg4prbbXk$1H!!dLM+w|Z%Zo3s zS8g~WZOGLLgz#h7=)<%{C+enalA;^Y9x$Kj4KH!`GjMdVmS~_l%@atLS=;0KS`Ri^ z4lpkdP$kYLIh!Wn%}czASJ3C_MA!(cY}T|&Czw02m^Gk~SDBcc2-`z{z)KkM)GnsU zBwbABfV@N&r%9R2(tHA&vMOc}BUJ^Gk0#CrOl$VV3Pg6SBIt1hjt_iqi?N%4mkRUV z(h&P63iW}o2~r9DYDa&wgTC3KYn=T~p?#c9>uO%+U7lGM5bwzEK`naw^~sK-K)51w zV>He2u;H+%0^5Zc%QA|C&~{wmV+(qoj4c}AhDU#IO&$cSO*|W}mD)CdYR_17Nc<`! zA~@c17T#Zv%Ec5?o@b6}{Z7Z5IDY~iV?%P+HE=yx9Z*%z>h!#+t6W-R^p~|3w1->H zgAYDQ8tY7On&J+?>56*`+@9jtuD|8p+;VfgXns##G^Pv1@y5FNQi-Vek*#Kw!&Z7Sbk9 HxPyNI*mNzk diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrRuss.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrRuss.dcm deleted file mode 100644 index 8c13d401198af121e939dbd6ecdee79ab3951c1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1890 zcmeHG!EVz)5PjZ;vWft?rK%98Jw^ytyBoVsZ!J!wSaPyaoQNAB0ry@x2X ze7nSUuk$&9$Ee0#4D*HeB`Z+^`#2s+vJHnN#@OcOFUu3pY<)FSPdXySVhn?b`ihjY%yuEs_WGzssB=L to^-beDyPID#pZ|7$&H)Xsq3Hks diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrSQEncoding.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrSQEncoding.dcm deleted file mode 100644 index 54750b975ac168cb1ea1d003d9bf1d0541d2f6fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmc&v%}T>S5S~Vb(1V2P$%5pth^J+CHc3-OtVx6hOj8?LFS12U!GjVI1&=?99qwKKrC!fc zjI|hR{nce;4T`=E*=Rb6lz(8u3dBVd(juRxBUg3F=FN+K6XL3zxs$WY+Zh2l!@(*f z)%i_zZB8yKW3q&xbc$nudp`C31K#e~f2(cQYAzv>TTANG#Wd`=ixa*ExDMYk9E9-v oG=DYom&d)fh<5d1(%y~?hfy!z;jpfXQW(+usf&GaCAK*E1j)=!SpWb4 diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrX1.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testcharsetfiles/chrX1.dcm deleted file mode 100644 index 43733b224781ae7dd552106f24dc0b7bcd7fb18d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 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%0A1(@0_|5zSU2X~{4J=Tmtilyliv)&wfMKwk#f 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 diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/ExplVR_BigEnd.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/ExplVR_BigEnd.dcm deleted file mode 100644 index 45d7fa372497f3b4ee41034478a3fa404bbe044e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15412 zcmeHNPfXip6#t;8LzOnAe>8F6kWM?GNwpkEA)p;bfzoJD7%7KJJ#1PzR2to+PLsMG zR&7$XKiX8a4eEeaXh4Am3N&3qqc(*U0)zzQjkGmns;hdErMYsY9CFCPd!HQ#hdEFu zNUJtmO8orZ`~Cdh@B8e7^$_}Zk6L?8V?LD7+E9Q(aLz}0sObPc!;zN{=T>_$vJj<& z%}Np$k|b@!e!@an;b$Sr2@7OwgPf|h97|cbrINH%?k}~G`zx%rQfs*laAXBZ5@iIC z5SGfy3es9?wOC1OnGG0Bz_4eHLAndRXDP&Xr79?`C z=C?Y)`mCV|?Wrf~2y&%UHu#C`v!Hd_T;ork;~4Ndj-56rL#(C6N_?7%NsZ(|E9n>S!)x!&I zf&FCzE#$2tZIjdnBFX^w2H+qoxeq1PWt@T`@cx3`rGgP80_4tQUuLvB*;h%bqGPB; z(iv~!5>x=H7qrwLFoV4v)W;7)2{K96yI}2GX@|tKJ8T_h%l>tVCWw_Je5&Dc+m$&X3)m8k)E$OHTy;+1&CJ_17G;!mJE0J-)dRggi``Jlqd%-@5IZo$kHjo9G-?yvg%)vfjv( z<*{(c`|#Pr)zzh`naR0@N6WM8a+OP8XyWGG;n|MP$r0yO#i>3|PY$RrQ})c_)0C|; z7DB%9*`?X;uB#nG=T-h}&4uZK{?N+eHRrXiJK1ui;X)&>5VbIL{l?{~G=H`izVW-% ztY^$Q;!ZAkwnRx>->@%q^OwGhL$`7yQs6y(0~b5`on0=)k>h#zn)7mZZ>KXynl-p* zu)p`xm9N(vIa>XLJzdTVTe11%LVmn-eeA-|ITodc4~&g>{G@i|XuHQdo!{rkp@t9k zf1~*-Q0M5fyUum%%HJ&chi^B_&>26YGk>%6vzsO8jQ8lwH_{CS3*$T8sD!pWzpd@zF+AO%Sbg8 zFcdHp*hm3>qhJ;>CJW3)5O$+r7BN1W1!yBkd@ZOl*PO3}#U{3}3}`bN6(mA#3zjDl z6GZ__7vtEiSe$S~?lr;7HRjei$A&4Hfr2`7KLT{bEfa=wCj$mA%eg!>7(%w%ska87 z@N=A>#;YoCW{v|9vtH#mD+ZZpQa^za1V$>7qJ=D8J5XmF>SLs3O^9%rh(#kb2ODQY zCDr|@6M-it#KSbr!~{MMFqlG zfJE3wCB&FqA#jG3&RMuyoKwDE;b|3 z5!2_d(t|Q-=J_j)Y%zWQN+Uy`OH7-;(udW|7S;1tni=|>qWb%lKB#84sG7ghOwj8T z*XFPELN)Wn)cloZSie(LzF+BwY9d5s{z@~d-zg^Nuk<4`AVhioDnnGiTa>?F=?7*& zh|>I3hF~^s5zk*`1I&OCVg4#ZC_A@!W{dgGZZTg^c70_;ZEbl7z3O}!g)jn!0)_&H V0)_&H0)_&H0)_&H0{;aC{ssfJNXY;I diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-LL.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-LL.dcm deleted file mode 100644 index dfb880cf19a9bff9736bdcf101c18cb1d786e31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118986 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

2Y6iOl%TP4{|FHqgU*?Y4?E+2* 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 EKY1(~sQ>@~ diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-lossy.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG-lossy.dcm deleted file mode 100644 index 4d91043653728d85f472e95ce19b8845f112b80e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9844 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 R|KD~Sbnv$@n}1dEe*k8t+nWFY diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG2000.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/JPEG2000.dcm deleted file mode 100644 index af09b6d3f3157225eb0b1ecf8b9f9a0173673561..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3308 zcmc&$O>7%g5T141c3skTZKuJ6QZ{KR2BpisU9YoSewrU|6NA@wvNlmsL=$4uMs4B{ z7plUcp$F6hi0~sMBqV+W5~3U`AtY|(#GN7z6+(ncTq;1lA@xx6y%#%ioD{@~wY+a; z-n^OF`Flh3|30bokQaan#Y~Wvu?9$@+#p}^NCB+HbQdwr(Cmb+Fq$W^Tap@G8M`lki=DvYt#OKtUS! zQ}EI}WpWW3c2%!jnwg$Dqx$EoXUnrynHI6rK_ivw{LERMO>T0Q>|cAUN=JToHQ z{wPrm&+Qtm@KvUK_}?N~1jj!_5=px`zx!$a2+WYn$wJ{T(->fY{8SWi*sIGCQ zGN-oc386|expqX}^G^)BsILT6kR($jh3HF63(gg2Uis{69g)=kB z9A4n2#*&N~n!ysxNhY)e(~?ZH`*hp3EdzbU36TmNJ88XUL)6_Qxd%DKwH**N-l;-# zP{5NnIQ)QsRb*d?4mF*7u!;X+0plomdZCT4nsO{9bJFDV&)+^861ln2ihgjmQ-12~ zOnL5XZ{bu~4bec8hCyYmpP*htG^DKd6T>oX1>VeOJE`IEa><{Xoj+5qKAZKJs-X5W zxggm<6w*=G1pas>H)Hp0iScIO3FtSX~=#&IN5?vc5`1Tbfr5};4Ag> zH4LaVvSHe}_9bDuOThB^2zYlv_jW2wJI<_%lfnn=B~u_bo$UIAZk3yp(9%Mk%@6Y!&r+yQp;XqX;r!ns9H2;QB7_o#qZ zEloA?eFP7te^Bp>s8BbkJhUe zAmG*Lye{Co*S;@Gu_j%duMs&gE{;N8SIhps7W}>z{E)))Fh+Zk;mtJ`!)=pBMw=KS z5|*LH=ml{Tc>~#EOjJQTu|A9!7&aWt7BSH)f@EkqczIkm-zK1kQ_zyM5}J)}ZCEj4 zpg@uZQAQFZu4ypBHKRZ42{QqF2zZbji%X^`uQRl&K4v*~jHD>PA6eeVULeZ(nC&>= z8|CzoW4@}=F3bQAZ=PbrFtydKq0(-g=-ujssqtBAiaQb zPCHPLsQ}9hkR8X$&rvWA`voM$c?a|(h$;_`u1_=o$QgxfnX+TU$0suBY#dW6Kchg7 zv<3wPv{h8y^+8U8~Tqk*$}Oz5Ty2yd;uHyg-m@A{3ogAWNwqO*$F@YalzWQFzGhJ6Fe|l^F>y=we2Zr}vN1xuYF7b@RfleY@v7 zznZ+OC-S?r-1cRE+o#KI7hidD=KU|W{qV?+V-s%gpRZ*u=$d=*@xQ*k6z=`wRPPP> ggG*h@fm8G=y?eQ>aP5chK6g$mE-u!tHRhJT0c!YO-2eap diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/MR_small.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/MR_small.dcm deleted file mode 100644 index d8661a4dea07e9a49674053cdcc78ec069cd3723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9830 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 O0;?ac51ZmV)ahR<`@9DL diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/nested_priv_SQ.dcm b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/nested_priv_SQ.dcm deleted file mode 100644 index 056441285d2e9c67e890f6aa5a98925c6814b92a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmZQz7+B!q>Fmn{bV8^P3quHyW@2Du@OJ{yK)}cZq(ePHJZ2~@0HlQ&4E2okEKCga z3=IqnEcAdppb8c6-{qM6-HS>E4q|tQudsKu!>0L$jSi+nxXKl;d+6~I3y0q##n{(uuEXEJlfbBV_wo4H>!P6Qw0tRCyGYh!h2fwooyu?hSOyFRnF9L^X zvnd+{9--C!vO$0%MgRhjQ&<^dRqqS`!ra5y)!P>sYaTq8zy-9OLwGiqK{%D8`IttD zp+bMIV@`g8UiSdn!7QZRU@X3Fj^tuWK+Abw09@m9bq#OSNFbl{TDx#^a(W}Z1Rmu2 z_R$(vP$P)v{ha3?#hlQH6I!31jV43t4PJ?{KqQA~@!4ve$JCmknfy)+sc}q=5;r(? z&dxXZYNUyH{ibeuVYdaq;yn3OW55l<=XVeuJQyD7nz8GJe z2ceh|_#AC1*e#2GB?3te`YH8B_*GDQ91O)`6M?^p=3_AlsXq$OMVg^1^w1vx&+66Onr~G>{+4)) zvs;Cqe^)kW;oG$~BKif_JJ9bww_LkvTa7BPKayQB#wuudvIec1N1Z1gRS{WV`nX#~ zxP=im(A$RCjI7umf%9@E5Y_auSQX zAl?E+*hY@bEW97D#_PyoFd6+AGpE{Kf^3QX#bw_I*uidcfBbjSSSbtt|EMv%&sO(t zRi~=DeB0{!w^&RvbCWZ&>=52PIz}Z63HBy2h$^Zjf=Fixf+aWUp0Td_(`(pxl?<(xyCvE(^;!}VzCY*8nUnW-p7;H}G5i0%&Q6X^ce`7-IMrjfT-$A3HuDm#dv$fY_TuCT%aTUY z9!ireP1APLOtNIi$-TGT5qHipch(E}StBDOiC2<$_TL(5I+(VzcGethX2b3ik^4lw za9w|`x;ygJBd(Qy2HxymD==vzn$^?2bjxy15IhoyE1wo#nN7_O-?3<)!6U z;o z(Q$X|_0He;G`5!iWb$yze=<$dc`19uLHFI~ z@=rFB2LGLS4?BKXd`}v&jYiz|fcq=>i@IE|$DlSn^O>2kiE}g4HE^K$KfWss&j>tfAkkVcX<29u%YaMEhK43h4TT1k6^zB|yOXJz-~p4$H&yj^yL z@Gakq_sZ#G{^^O!>B;@x_BSG1`LNker7zc3z0Xkp<9)X9Ufpg#(`PFuz1C0k*=SnN zH84~+v@+n%iR-raiMrhztK0Ucylz~q*`=3j)?TdH?B{F7_}*mA;!e$WU#nSZ$@lMk zJ+h5&MYizW$gY1UGRF5`k8I+5k@f$;<&*FG{`ya=w(_&8jsBu)b3d;d(TR%9o%Qpx*Lp4fTCd$-_uBn-ueIOkwYzWj+QwVGc4wp4m|Oo<*+&0Rw&+h~ z+k3~ibH6Lw_IBCc-tq0gAIok`M?4uup$0%5DW2u4?GZTh(8<mU(#eX9q0c!WbU6&w3^~E60P_!$U0a2jio7hz0(D58eoQ;0<`d0&gG~i3ct5 zC-!(mEbs?>@P<4>{6lZR0>KAw$Rmn9OvFNS;(=F)edrCwMINvzdIJ_k9(V;W;0t*J z7D)b(M<$;4EbxImA|Cid9wF}VFvn%$LEY~B-HY+&(+4?=xZ?%d^=BQgr@R;|XTe0d ziWXn&o$+EE<}Bha9(TVQS?P)w^U7H;A?_iMtsl9VIx(l51rvP1^DiFcD#Tovv+x7) zh6#Ogm3WY=l(Q6j`2#-8k*APymSP|Bzz=W;Jwk4Rg?Pv-Vu45S3M|Cq`oHUT|1X{g zUSVDyp=OB3=11z*-|Kncl`v=F1Nj4A41C=4Aa^k@kH7*Ee|!;tC9>VsgPJ0b5O?vw z7dt=n^@H364|xO*;(;%2yz6-|4-Y(o$WtK?d;TyFn2?`%{t#Hu!}WzraNPASWSs?EcyFfC+5KSz2d>JYaz)K6E%|i3dJ` z1)6Id&ROIn`2!ZSuXy2+u!g`xOkjcfZ+VY|Jn#S__OL)Vw-0hw$b-1Ur2je3gH|~U z76=x^ofa07a+dNHEbs!NmcXOv5soSD#9l0DLyvHbe1t-O#P8JY?qA*W@77!5q4g~F z0)N0_q02F=`Sq4+2>A$6FXWGvq-N14{d!9^MD?23;}3XT`l9bs<5fdcuZcbWfJJ)K z_rsd5c*8^f5D#*ej>`k^fC2u1ht|A09(n)<@LFks=SR zXQ>q%|MdQV2X#a|;6<%Q#ipToI!MavFXjMbuw}_=0%Ts(#2HArI;Y9zo)v8WQrLPVoFA`9n1%^hcPl z@I=T1@4zB&UG2ad8X|wFp2I>s!u@WKxv5BidLp1ub(Z_mJbExZ{;j%N^WD#e~QlsLhR+!WT3kd684AyiIH~a?fd(i_vX#4 z5dZI3T3K8h0fgr2nD`R&h{%cBn>=IWMld&5W`&ZL^c|9lh(E(VydcK$ z%}#BV7Z=1Ve?1dxUd)L3RLk=`nLJVx>FdyaiZw6Hqo|%LOr4*O!UfO)aDR&Pd? z5NR^=;##o?UfA01wBk;$Yeq0{_2Iq9dFb`=754^taZr2(-_fAmig(-H*sSlgy4_Cq zeY0_IFK+K1g*J=G{1kLoTYK^5a%X_|ZfAS5KWG=zb#}HI#q(MVIk%*3+t?Pa9c`&nr~;8a?(kepD%JHiMqi(xi|E6|}Toj#etw2)0GBloR6bf5elo z5y_w_9fQ42i=-B{aA~Dljw%iCF6f$d_IjXagar%B4y0=<3)@eRji(q3o};AirE(&J zc;(1tc)eV`RgP|jD~-3|?+R8cgy+hkCKCo-J(bUhzsMlwtelOw9`9!TX=F;0<+%>=NyWpU&lA2XA-Q&`6eQIs(D)F|x8m_=g8etl+`GKXS3BL-mbulF z=)-Kkp4F2Fx;Nfy_0g39BF~_8xXW=G1_nLUdvCwniMh87`c6k*YZ~+@!3T?M^$q%7 z_-SUQb!L9h7Vp6J#}qkdJ1cuPBQxly;rf2ov6nmToo$n2|DwC15up(l4f-|dpc}QQ zRyF8%z4j=ql%utzOCD=K1iL3g>dztd*N~dX@g7G0j}3GgZV~hf>?d=ZAQ|-^=sWbA zmayk(ZOawP4uf7y`0laPpr#jdchlTBCvtNscNv@olt1fih!+$x$zntM;$?#vz@aHo8*N`91(Cg_upUziv$+_c7PbuYDzHM89 zwPE4-RJQBb;F9NC8w;N0$iVXzIw1&@ZxHEB`hhPUD=3v5-&VMg4RVGE3RD+wAS!2u z?=GB|8QD!;XQlIYmekVHPqb}PTi$KXsr!PX)zfHvYjZR{bNPRPtddXd1y!JIRIV#) zowmykH7%SdAErog-sI*o5zvn}xoS6-`80o^_a5VWsB>Guy%ML|JD72=PoC#*qB%Ja zZI%4&JoC@Tah2s`1xlV2wiMhO~+*6if>hMD6I=Ua!5kF3GlCk^Q5MQvr%ntgPEwYIe7~ zj%Xzg6+#?1_92!wO4>nM3JIM^^CQ9Xis7%`B`| zwNEB%HHnL;p6>@Hb>WR*@xIpf zqV7h$ZPEyAh+6Sr|5m)4?T?eOJ&5-b`%W@WOnOLj*uAdh0|f`(vKBC}bz0r6sL?~3 zY?H277IeM1pT=1_9M}=y@d(~6m51R7t86$n>A-po>u8+B*{!M&+~9Cd_81UW%k5j(?tWJ(x_O8|2 zH|x>OUUTzp_`8795(U1TS}H;CrGL~b#-ElLtE`;NxEtO0PmKL%7^^x&_1?8cB>19c zll+9Q4csA$$3ue{3>XvV$gLv289ZK|JxnED} z$phUR@5Li@Wet&+(K@Qj@inXo{#xI?{Xv?k-V*$cj^5f5{3z!KM7jEczooFq%#zN` zcN*~yu-_NVRkq7}@0Rui|1dq@k2?0%G`ZWiRqUU1S8PUTgf+oG=N)vt6Ls2xf7NG? zdX0M2%Dd#T_QSwEnM%J;r9Y<9DMQ_1(=D{tbPHe$zY3^ODA@ z3YCZ8Gr8VBk{ZR%P32f_UN+7{a~b6?JKH|CW?Qi+V^!{+7b|$hP?bdppkC2( zyVGu zANwJs&!zP16#OLG*}c1Xcb?ivY2a>lW@mPOJHOezSa1&>06?|5yI*Z^iDgOXYYj%`U=ItqCPORTLj+P{C68jCz_ZxHrFlg3M1lNVdg$#@ z1bHpNa_p72j!;OE3SA0EN&cL?fh0yUfEgM|Zozx90yJ99R%5TyvS4WR;ito+gF%nx zzeN$Yt^G#h&iH81m*i*beI52Xqd}j%>{-%UL6h5HQw?a`9gW`wA3FW6dA zJftdAM}q@G(*4M#L1U+E8{JNi%fCb6{1X&0vTa+>VP&euy*=@Ym-=;2rVRN226;NE(A_pely9~$otbgo#9M)Hc;_Za$D>dz{O((xuh7Jyq7$cly|&hDb?P0g zu0Wnbo>j@ZS>H0L6H0@dh0-=4&7}J`cvZ+@5vYr*N!mbc*EcHVX>#j9rxDbH_NB*e zw%1I0EtI$z;lr_S2 zcS3UPhx8~p%blS8G=MG!?fRAHz_%V+h=blsAG2lSku73)D|AQ5t}pRBTl;go6?!im zyB3WthhvqQaeT3gSqJe&o&Ff_4$gOz+M!jTBrNpi4Q5ZyDOHLVv*)cF?4SNsP-``E zT7mB?t;YIOK{r@EDNK4hT(fAocEPstIH6D2$|q)}ML!DVCcw%Boy&T{IqL~#yLG|G zT4w(d_*>q!3O(ju!U{eMW|(9?qNb5dsfek}{lVM<=Ua_HK-6f4nRL%))sBZ8x7_t&Z_vLjpB4PIx2wztX2JF7uH4&MthFZjEWt3YHouLNzbD*IH3mxE`-Q}t$`#;5MP_nuEqojm=(BWIp}@u7#A zBVY9C!8vHfbt;zY+g6m{9U(90I4*KmdD|^vKCkPKu%j|FMA%%b)m|MpH(RGuR468} zQ}1~xNAyx|9kn>;#5vo|6)i^b6DCNnpAIwVz3BZv0lojb(1R(Pvd(<8WR*FS&ur$s zqsXYyvcYrFQ0Kxg_(jIq{(82jjb|0DoWISf&bQU#B$uk_@W`GJ>whiA_nfTB&S0F! z(s(O0vL@4Y%;K6%p#?Rg&a3Ijl7lk*QpNFX-`Ya_LzExCkG&*fS;1s;=XX^w6X-s0 zwItcYIV)pyLyTOxNA*ioyAQ5kAfwhDD?>iH8TFMk-O$p!)4O9J^zG7Ug!|^#xb^Fe zu@Iix3_D$DeQ6rw`*b8e4GI6q`{;CbT518R1<%yv?|G zqSJgmJWXbt>|G4%PZ|;1Cbug~Rm0fQjEx#hr)tMEsEl-y~*;mq7wOYn`$(*By> zg3Nxnis(xngdutsxE68Y8_ei=>fRe?xc{fHif@~qpQ2@jerC^>gENnwU&^~ 1] - print(" " * 8 + "Series {0.SeriesNumber}: {0.SeriesDescription}" - " ({1} image{2})".format(series, image_count, plural)) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/zipMR.gz b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/testfiles/zipMR.gz deleted file mode 100644 index 26eea3eb3e44d7777a7953d3d5afdf4c749c597b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6958 zcmV+}8`0z+iwFqIVFFJA|9WX~O;RprdTDR~#hPb$R@Jue=NNO&m4E?5XrU;fhnAg6 zQ+gsGBmqKEskV)%6v4eMTSW!2Ac_Ktpj1IRQbnXAO51FtgNT9%2qMy3fcsmob zp=D{4l9ZZMH$6EiB{?~{Zc;{4N>Vx>zPWFCB8ex`l4}1ppHZ)N>aVvW->J#T>B)6d zYp2xBNY1F2l#!lMM@=km75gvihF2-97{|T1|98byHAPKci-IPzS^M1F*1VITri5vd z6>XZe?vT?mDKu6@EJ>|E?deM4J?@!r9c{ z&TYUWJomtAHQDW=O+V8*H^#Kj&1=!JX_M~RSdPvhaS;d9!@nPkq*I8Gae)|^8%BcRF~J|u{blYpuw&`)_cK(>!+sw zIuUOMMV?Rj?P@SrF{XA}QoYplw6uDWH(ml;H7ytoF)fjj!ssnVpTOapc(Pd0Ox~%-J<~SSyTu)O2??eU9I5_S97*NkFZhvQ3iC$Izj`Ar za`Bh%#G?7Hh$omLzv-R;^TSaxqoRMzrDAuysZ|%llWV7SsZ}qsVse+-Nww3HYbTgG z+^_x{N?nrw>hyozW5ss=oxbV+y}msn-b^r!V?&=Om?p8m`ZBVlF^yZdk1-wk-2Vr^ z62q*N7iOwN<9Ij5WasAOHfzx?H#;jeAu-G?+-=O=B7clvUS46=OiM}4=<@4{Cyj*n zW4SMXj5IR3nUR&>r38|f7iPpn6BQXvxH-|ZK}%<9qhg|I8yTl?@!h~!liSIJW|&v) zRlCWZaF=zY4Ai%6U4L(MPgmJBu(#?E=_QZKKp7@)%W&x-%_K!?%58Fw)Rv+0iENUo z(uijU$vhb#$x=gNrKmh9cj{FgZ$EU0>;^5VugW5sC~c*S6q1rsUaCpF6cH;)ywO4) zSG7a!8!pkc;K`o)y1n5yN9}em*k|=~$&&}Ar}U9G$u)DsRF_tAznqcUx<>Qt zbFQ*oD-)!jjX1XA?o!ljZrJPhjqY4rw z1+gk0^lQqC@}wTNlij~;l0G1hNk`U6kgG^NVZJlhdFG;tms_ynoa~a)I#XNQ`fja0 zEnmw;O>x!zQ9H(7(dya_dta8xGE*LxZqh_bgWm1r~k$7qp<8q{DS1yn9?$%L{zJ#Q0uG2Z1X1;FO7j zd)453AO+B*1fv3Y;a23QqE!ZO4Z)&B_k$gy+h9vMbi4%bPMSl+L2=1~nWJTdY>@M^ z7;X2;B^jjF4$_aLmJYH{*=t%J1jfp{#9(vKuS?7p!^1aB1vu~vd8mwdaPSgxI^PsT z{&l`f@myzo+gOilRd4wUvs4#Q4J5Hz_TwnKFZx1a3)Gdg6YIac6mhlgT^=VPranW^grmH5O@iJcz*|+shT}pmQ$M$sAKa1y1 zQWGwla-bZ=Cys2|l+guq1?*$dr6KmsAg=dg*(F_RA9ZEi8l8^+E)jpL&H9M+|8V}& z43<$cMqWpc4&>+;iPWp|u%6P6`lj5i-`F3ts}|HJuqceTqGZnFaQ7(I=9@w=uN+vn zmilrl5fP0hwIcPQFP`p(wLeHTo9$XTZ(rfbd?K$F%)Dl5;K#PiGz6s)p#BuP)dsU1 zcs5GB?$FJ;PYUTX_7knIiTWB(-^BZuBRTE@sF&ohL|Jv@hk6;l3v-pi`nSu&toKle zwr;l0jnpM*T9c>pO;7GL=c!6W`G>@Pr${y*0$Xb_Y9MWhiJ4MUPiRjKw1BN+s}KYI z@aaX+6**zfa1NPwGrsPG{&_@vQJ7a846313IVwgS?06b1OWCeAS2KBH8vN=+CAvo4 zX@;E@s2@w^3i9rap#CDW36bjBmPlA7b9J>A&^L6nt*lqku$r95XGVSo`(Hre0ytbV z)yUwPNG^%(1wp7JJWMA`_or(2mIV^0gUAbwiLCSF(7CWZlN@mm`5_UU?jZiUB6~2F z50<|Z5s74|23$>*Ycg0{Yqn0b)pU*g3lHBg-{W~BKa#mG5cyGZkQ`W!T&JvA9yw7F z7M8?3q?19Y8CkE1=98J91(){n5B${-`EjgP1MMwV z_ta|I5BopICpn;f*8EJoUx-w$%T%&L@&kGl5y6(4QkJ@K4ZoCvt6h-&0d|%lyX=!5 zxt8gySm>=x7_dRlwyD^!T*;b%O# zFCGo!;QASJj#w)!$EjjUY*a)3O=PARux$?iU%}r^>6s2v&5pyRt1=rDdt!Ngvi&o* zf&0YGcK>v3$!vF^X&&>%$!lSca2gN)ooujB3V=W-*#8JQ@)`8($oe;fbRh}37}mTi z=usHH6(tjtmN5P+!3y#>4C632mXrrKQ%@XuX@6#`t=S)Ua)xx(e=JAaFO<=R~Y81jA2I8-D)B(1id&Ir!7Pu|09emHgQyGyOb{dW!g<*x|Yp{r-!(7UG>xt4FnZmg< z{D?yC1-fldHaUT|1>r<|#1jrF1JED=9_Ps+`JSsjfebM$Jdl zLB|uY-tO_9+iFC$&GeX-89$V^>8h@S1$5S9Jv0( znqg)C8T`M&%2@iwm#P2#@m&u*(1YBXjD1Dq2t3)1+_NV1`VO=XyMla^fF)@hMZu~r zbv_!d6d^im5?z^i4O+b$7kpGwvHVh&9V`B#=Fe;oC5Z10wLWIY=K{0BQHb z{^zMqcT>;5f(-#r#*vK=n4RWWq?6f(uIK6Kw$WD|Bu6L_Sph7%5^eG5Qiqib5OoLi zA-fviFLl>kA%DXycYWM&P^l5gIycB|C0IRR?K5C{nl%ILu19tngf)*6zsINspYjjm@R0YnPeZ6{(Y%ym^~d*VE;>qqejwMo%=)edtQM zH;_;p`-_rGl=q5Dn9(3JhacESZyx4-gIg+@V4IfnwA#W!dZh#|u%x3J~9I^Z( zvj!Ht5_a&^@B6hqHM|zKJs_pDoGtI1%eOIZzfEweEHt0+8ErVXFJ-v>`^=3eN4pFaRuCYTgP>BkGn<@4!%g*uUiq`QomtTj_4NC?Df@V)&)_a9f=-{xn!q3&gO-WB#&-9|UV zJ?YxIO71uqEw)STG216nClW!u43*;+&fiCJUqLhp^K1pU;n_7@foUgA38H#99$jT7 zqQP4BQrqyv7pAv-t(WZr7lXux{!M?@_wfV$WBzZxq@U|%x@aHxuR!4wH{HGHPS|Xl zY&+Nyc9}gyR(%c)nh_@n*k1zs3n8I0Qsaplj~-F@VkefKL9Yz*XhT_RCY#x28uAyz zf`g`^wzP3>l>6R^zsVnWmHY+&sh{Gz`rCa$f7mVK&Nptq+d=Hb*!MKa*0)D>z0T3j z*Kj%O9ANafcEk52y`MvJ2JL7h_+ueHh00(4%F4NsQRvRO|a%8`h zP8_tQb~i?&JLw?mMxwYpS$P-H{yn|&N#g!I+}IEDpQFtZ^3F1{bR}t^*>-?Er?2Qx zJ)+0#Hait2?D0?gRv?h#6Y&07juvjZ&C#aVRufNFLw;Fg#A0tLYF0XRVv2mt?r#qL zMAgVH`vS2Z_Ed*Kc|Xy<4yLch_C08Dgj%%%w$_sCQrQ-^N7zSR(tF;Ack7{B5_7k5r!=|lYpgGd z$2XakAif(tj$r#&=HK|_1gLy#?v-5>hOA*=br;_Oi|nRtoo$Rmp!DNUsh8Eg02?2Tjl@+)sve=Aa3GEm}pK&w_2s(PJ0y z?tlefaqLHjN^(Ia>wGQ44txuGeJK-klQz~@ZAahP-|I`jfphS0I{9a(&C?%wrXt>M zL1pmRRvrE~hlA~ifkd+Xy^K?sk3qZh^!lY`Kbdtl@xC0-Z#PTv`ZBCv%dwIBHozH<+pNs;-xXy2Q=)9eq>(liTY)!1}$myB(}2Smyw%S~`v}zHbBXmdMS4 zi}he%AF5qK8O7w4Ocw za=9$;uz%e_KBz|09S!9`p;L#Y*-_6w{AQ9$brKc%^ zCdphCm3{bZCXC-}rh>#w?EC_sEC%u2Sg}fm>QD3-<;j$#iKu6!h?cdr+&}f}r+W=Iu;N%r5LB46g^)=pD!#j&P zW`N&Za{ofuw*-5a5|eGk=yuK3<#c;9Q)IpmT{U;urnwc7ydCHU?>+rQ?!_~QPEo8aQy2HO?+cd^=Wc>7BjK~(h)bf^!o54aNq!fKx; z;V)B7kR9%CJK)W*!&`yRSAzWt`ko{3XD2>bO$IthEX?B0d@|LG?A;&HEt+g=BFXqy z{e0@cXn!}^=XH0@?y}FhYeZX_$S*aAu;d84)OXo`+|TSCWWZ{$urizrqoO*}`%|A= zfz<*!j0seoWklRI;&%(@8Pve-a9}B#Y(b-?XnD?*2hZnZgGB3G?W>3NQTwD@>&Cg^ z)ZRPj0PfQ^c()>Zh_KFIlCAW&z2HDY(7sbbuBAruKrOUri}b!k<^}VG3{d;yJ7aaG}4ROn_f)) z95>SLWzRK;E@6WnqMOeKgMoIHmeHl`j9(?=)I@R`C{)G+Wzn!Y6<`N4!l<7Hza}DS z7M6dG?1gywM1=kC^wHOQ!du$yPur(qg-qExvgfuhi%if zj9sKvb*{Wchkp&N2i;2@%=os7-Qby2<4AQlaY8mjEU*Ye8^7WN7F|q*dDHmA7?Y{ zT>F)sV#O|zd*IwtzLOv8=g(Gn5>t@+C+E$wA2|cOHwTXVrE;Ib4qX8O} zhj-sa>>F#|M8YWWeh=P|1oxF2N9Q%lcD5(<0y(9T zcK4_J82^rcg0B31I^yZ{ME8NgcvsPl(P!jtU7+K2vEHX&$}$;-=Y3=+{taB77Kynx z&2TIp59g=i?}PMPU&8%&kUJFnCxOHVXx3e(+8Hn`*Y&Uu=zC=Ehh(!#P$Br%kMxu1 z!=CW}U{COde-90MQ4!vEt!$JQAxHMm7c`G3T*O;9$O#4I7vwBv?J=xAoMR%gmlEOA z=>}Ke>oDW}dUpn%nM4e(GO5~^tlyam+(RCx3!Pw}30ei;`3-)&-|xTno7orj^;z`7 z(f$e<;TpTZFLaYs)r)*eM}CEuY|TLRM-z=`m@2&wO4|76fu z0Y4|1A!eX?o668jI@0+S@~eVdf*{!K=YsyrevyC055p51{X{>&&qAkO^hD?FNI3*= zXRxoEO6OUNz5gzAldOk(vx%sQuzY%CuN7vzO+?&gWPgSRAArb55e%lVNBoC;rgiB6 zFX_FR1hR~0Uigf;^sL4N@ z@b}$(D*VTIcLFT@3?!Cf`4ncty+?R`%sfYJnM{up7gUb=mQD6|QAdKVQRz`Z)Sh4< zcDmp?_Erzhg8xu3_!J~2(~ac##$Nq;dhrf!lYPVH5chLs96j%y)Z`cth~j*ejP?oM zU4=jQk>6$`eJZ(c3iZCN+^QYyX_p?b(sRyS zigYxq@W#GK#4RS@7Y_dwN{87EZnu9UI3C;xb_er=;lZF_1n6tjwqQZL_@=h6ellKHl~#MLYsOz7m?oCC5$LPv>P?6e^d#hl7_#6Mf z!FnNHUTF@)z5;Say4v^MINvgu6}%km45kEYg4MzF;DKOnur}BbOb+G+BVpJvzum7T z-sbvou)e=P;!l9WO!D7SvS4+;!hcB~y4&}1-E97i{2Sr_rFza7Q_x&D&dBfo?Mi+d zE5kpHRcvG&%g6pU4nM)4#zlU6e!n-S_@CxW{Arz%zmLtY|Fi7>0Dl>}S7s&v0Gewb AM*si- diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/__init__.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/__init__.py deleted file mode 100644 index 3b466331..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# __init__.py diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/codify.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/codify.py deleted file mode 100644 index 7e9f40b0..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/codify.py +++ /dev/null @@ -1,317 +0,0 @@ -# codify.py -"""Produce runnable python code which can recreate DICOM objects or files. - -Can run as a script to produce code for an entire file, -or import and use specific functions to provide code for pydicom DICOM classes - -""" -# Copyright (c) 2013 Darcy Mason -# This file is part of pydicom, released under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -# Run this from the same directory as a "base" dicom file and -# this code will output to screen the dicom parameters like: -# ds.PatientName = 'TEST' -# etc for all parameters in the file. -# This can then be pasted into a python file and parameters edited as necessary -# to create a DICOM file from scratch - -import sys -import dicom -from dicom.datadict import dictionary_keyword - -import re - -line_term = "\n" - -# Helper functions first - -# Precompiled search patterns for camel_to_underscore() -first_cap_re = re.compile('(.)([A-Z][a-z]+)') -all_cap_re = re.compile('([a-z0-9])([A-Z])') - -byte_VRs = ['OB', 'OW', 'OW/OB', 'OW or OB', 'OB or OW', - 'US or SS or OW', 'US or SS'] - - -def camel_to_underscore(name): - """Convert name from CamelCase to lower_case_with_underscores""" - # From http://stackoverflow.com/questions/1175208 - s1 = first_cap_re.sub(r'\1_\2', name) - return all_cap_re.sub(r'\1_\2', s1).lower() - - -def tag_repr(tag): - """String of tag value as (0xgggg, 0xeeee)""" - return "(0x{group:04x}, 0x{elem:04x})".format(group=tag.group, - elem=tag.element) - - -def default_name_filter(name): - """Callable to reduce some names in code to more readable short form - - :arg name: a sequence variable name or sequence item name - :return: a shorter version of name if a known conversion, - else return original name - - """ - name = camel_to_underscore(name) - name = name.replace("control_point", "cp") - name = name.replace("reference", "ref") - name = name.replace("fraction_group", "frxn_gp") - return name - - -# Functions to produce python code -def code_imports(): - """Code the import statements needed by other codify results - - :return: a string of import statement lines - - """ - line1 = "import dicom" - line2 = "from dicom.dataset import Dataset" - line3 = "from dicom.sequence import Sequence" - return line_term.join((line1, line2, line3)) - - -def code_dataelem(dataelem, dataset_name="ds", exclude_size=None, - include_private=False): - """Code lines for a single DICOM data element - - :arg dataelem: the DataElement instance to turn into code - :arg dataset_name: variable name of the Dataset containing dataelem - :arg exclude_size: if specified, values longer than this (in bytes) - will only have a commented string for a value, - causing a syntax error when the code is run, - and thus prompting the user to remove or fix that line. - :return: a string containing code to recreate the data element - If the data element is a sequence, calls code_sequence - - """ - - if dataelem.VR == "SQ": - return code_sequence(dataelem, dataset_name, exclude_size, - include_private) - - # If in DICOM dictionary, set using the keyword - # If not (e.g. is private element), set using add_new method - have_keyword = True - try: - keyword = dictionary_keyword(dataelem.tag) - except KeyError: - have_keyword = False - - valuerep = repr(dataelem.value) - if exclude_size: - if dataelem.VR in byte_VRs and len(dataelem.value) > exclude_size: - valuerep = "# XXX Array of %d bytes excluded" % len(dataelem.value) - - if have_keyword: - format_str = "{ds_name}.{keyword} = {valuerep}" - line = format_str.format(ds_name=dataset_name, - keyword=keyword, - valuerep=valuerep) - else: - format_str = "{ds_name}.add_new({tag}, '{VR}', {valuerep})" - line = format_str.format(ds_name=dataset_name, - tag=tag_repr(dataelem.tag), - VR=dataelem.VR, - valuerep=valuerep) - return line - - -def code_sequence(dataelem, dataset_name="ds", - exclude_size=None, include_private=False, - name_filter=default_name_filter): - """Code lines for recreating a Sequence data element - - :arg dataelem: the DataElement instance of the Sequence - :arg dataset_name: variable name of the dataset containing the Sequence - :arg exclude_size: if specified, values longer than this (in bytes) - will only have a commented string for a value, - causing a syntax error when the code is run, - and thus prompting the user to remove or fix that line. - :arg include_private: If True, private data elements will be coded. - If False, private elements are skipped - :arg name_filter: a callable taking a sequence name or sequence item name, - and returning a shorter name for easier code reading - :return: a string containing code lines to recreate a DICOM sequence - - """ - lines = [] - seq = dataelem.value - seq_name = dataelem.name - seq_item_name = seq_name.replace(' Sequence', '') - seq_keyword = dictionary_keyword(dataelem.tag) - - # Create comment line to document the start of Sequence - lines.append('') - lines.append("# " + seq_name) - - # Code line to create a new Sequence object - if name_filter: - seq_var = name_filter(seq_keyword) - lines.append(seq_var + " = Sequence()") - - # Code line to add the sequence to its parent - lines.append(dataset_name + "." + seq_keyword + " = " + seq_var) - - # Code lines to add sequence items to the Sequence - for i, ds in enumerate(seq): - # Determine index to use. If seq item has a data element with 'Index', - # use that; if one with 'Number', use that, else start at 1 - index_keyword = seq_keyword.replace("Sequence", "") + "Index" - number_keyword = seq_keyword.replace("Sequence", "") + "Number" - if index_keyword in ds: - index_str = str(getattr(ds, index_keyword)) - elif number_keyword in ds: - index_str = str(getattr(ds, number_keyword)) - else: - index_str = str(i + 1) - - # Code comment line to mark start of sequence item - lines.append('') - lines.append("# " + seq_name + ": " + seq_item_name + " " + index_str) - - # Determine the variable name to use for the sequence item (dataset) - ds_name = seq_var.replace("_sequence", "") + index_str - - # Code the sequence item - code_item = code_dataset(ds, ds_name, exclude_size, include_private) - lines.append(code_item) - - # Code the line to append the item to its parent sequence - lines.append(seq_var + ".append(" + ds_name + ")") - - # Join the lines and return a single string - return line_term.join(lines) - - -def code_dataset(ds, dataset_name="ds", exclude_size=None, - include_private=False): - """Return python code lines for import statements needed by other code - - :arg exclude_size: if specified, values longer than this (in bytes) - will only have a commented string for a value, - causing a syntax error when the code is run, - and thus prompting the user to remove or fix that line. - :arg include_private: If True, private data elements will be coded. - If False, private elements are skipped - :return: a list of code lines containing import statements - - """ - lines = [] - lines.append(dataset_name + " = Dataset()") - for dataelem in ds: - # If a private data element and flag says so, skip it and go to next - if not include_private and dataelem.tag.is_private: - continue - # Otherwise code the line and add it to the lines list - code_line = code_dataelem(dataelem, dataset_name, exclude_size, - include_private) - lines.append(code_line) - # Add blank line if just coded a sequence - if dataelem.VR == "SQ": - lines.append('') - # If sequence was end of this dataset, remove the extra blank line - if len(lines) and lines[-1] == '': - lines.pop() - # Join all the code lines and return them - return line_term.join(lines) - - -def code_file(filename, exclude_size=None, include_private=False): - """Write a complete source code file to recreate a DICOM file - - :arg filename: complete path and filename of a DICOM file to convert - :arg exclude_size: if specified, values longer than this (in bytes) - will only have a commented string for a value, - causing a syntax error when the code is run, - and thus prompting the user to remove or fix that line. - :arg include_private: If True, private data elements will be coded. - If False, private elements are skipped - :return: a string containing code lines to recreate entire file - - """ - lines = [] - - ds = dicom.read_file(filename, force=True) - - # Code a nice header for the python file - lines.append("# Coded version of DICOM file '{0}'".format(filename)) - lines.append("# Produced by pydicom codify utility script") - - # Code the necessary imports - lines.append(code_imports()) - lines.append('') - - # Code the file_meta information - lines.append("# File meta info data elements") - code_meta = code_dataset(ds.file_meta, "file_meta", exclude_size, include_private) - lines.append(code_meta) - lines.append('') - - # Code the main dataset - lines.append("# Main data elements") - code_ds = code_dataset(ds, exclude_size=exclude_size, - include_private=include_private) - lines.append(code_ds) - lines.append('') - - # Add the file meta to the dataset, and set transfer syntax - lines.append("ds.file_meta = file_meta") - lines.append("ds.is_implicit_VR = " + str(ds.is_implicit_VR)) - lines.append("ds.is_little_endian = " + str(ds.is_little_endian)) - - # Return the complete code string - return line_term.join(lines) - - -if __name__ == "__main__": - default_exclude_size = 100 # bytes - - try: - import argparse - except ImportError: - print "The argparse module is required to run this script" - print "argparse is standard in python >= 2.7," - print " or can be installed with 'pip install argparse'" - sys.exit(-1) - - parser = argparse.ArgumentParser( - description="Produce python/pydicom code from a DICOM file", - epilog="Binary data (e.g. pixels) larger than --exclude-size " - "(default %d bytes) is not included. A dummy line with a syntax " - "error is produced. " - "Private data elements are not included " - "by default." % default_exclude_size) - parser.add_argument('filename', - help="DICOM file from which to produce code lines") - parser.add_argument('outfile', nargs='?', type=argparse.FileType('wb'), - help="Filename to write python code to. " - "If not specified, code is written to stdout", - default=sys.stdout) - parser.add_argument('-e', '--exclude-size', type=long, - default=default_exclude_size, - help='Exclude binary data larger than specified (bytes)' - '. Default is %d bytes' % default_exclude_size) - parser.add_argument('-p', '--include-private', action="store_true", - help='Include private data elements ' - '(default is to exclude them)') - parser.add_argument('-s', '--save-as', - help="End the code with a ds.save_as(save_filename)") - - args = parser.parse_args() - # Read the requested file and convert to python/pydicom code lines - filename = args.filename - code_lines = code_file(filename, args.exclude_size, args.include_private) - - # If requested, write a code line to save the dataset - if args.save_as: - save_line = "\nds.save_as('{filename}')".format(filename=args.save_as) - code_lines += save_line - - # Write the code lines to specified file or to standard output - args.outfile.write(code_lines) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/dump.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/dump.py deleted file mode 100644 index 213e27c0..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/dump.py +++ /dev/null @@ -1,98 +0,0 @@ -# dump.py -"""Utility functions used in debugging writing and reading""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from __future__ import print_function -from io import BytesIO - - -def print_character(ordchr): - """Return a printable character, or '.' for non-printable ones.""" - if 31 < ordchr < 126 and ordchr != 92: - return chr(ordchr) - else: - return '.' - - -def filedump(filename, start_address=0, stop_address=None): - """Dump out the contents of a file to a standard hex dump 16 bytes wide""" - fp = file(filename, 'rb') - return hexdump(fp, start_address, stop_address) - - -def datadump(data): - stop_address = len(data) + 1 - fp = BytesIO(data) - print(hexdump(fp, 0, stop_address)) - - -def hexdump(file_in, start_address=0, stop_address=None, showAddress=True): - """Return a formatted string of hex bytes and characters in data. - - This is a utility function for debugging file writing. - - file_in -- a file-like object to get the bytes to show from""" - - str_out = BytesIO() - byteslen = 16 * 3 - 1 # space taken up if row has a full 16 bytes - blanks = ' ' * byteslen - - file_in.seek(start_address) - data = True # dummy to start the loop - while data: - if stop_address and file_in.tell() > stop_address: - break - if showAddress: - str_out.write("%04x : " % file_in.tell()) # address at start of line - data = file_in.read(16) - if not data: - break - row = [ord(x) for x in data] # need ord twice below so convert once - byte_string = ' '.join(["%02x" % x for x in row]) # string of two digit hex bytes - str_out.write(byte_string) - str_out.write(blanks[:byteslen - len(byte_string)]) # if not 16, pad - str_out.write(' ') - str_out.write(''.join([print_character(x) for x in row])) # character rep of bytes - str_out.write("\n") - - return str_out.getvalue() - - -def pretty_print(ds, indent=0, indent_chars=" "): - """Print a dataset directly, with indented levels. - - This is just like Dataset._pretty_str, but more useful for debugging as it - prints each item immediately rather than composing a string, making it - easier to immediately see where an error in processing a dataset starts. - - """ - - indentStr = indent_chars * indent - nextIndentStr = indent_chars * (indent + 1) - for data_element in ds: - if data_element.VR == "SQ": # a sequence - fmt_str = "{0:s}{1:s} {2:s} {3:d} item(s) ---" - new_str = fmt_str.format(indentStr, str(data_element.tag), - data_element.name, len(data_element.value)) - print(new_str) - for dataset in data_element.value: - pretty_print(dataset, indent + 1) - print(nextIndentStr + "---------") - else: - print(indentStr + repr(data_element)) - - -if __name__ == "__main__": - import sys - filename = sys.argv[1] - start_address = 0 - stop_address = None - if len(sys.argv) > 2: # then have start address - start_address = eval(sys.argv[2]) - if len(sys.argv) > 3: - stop_address = eval(sys.argv[3]) - - print(filedump(filename, start_address, stop_address)) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/hexutil.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/hexutil.py deleted file mode 100644 index c80d7f82..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/util/hexutil.py +++ /dev/null @@ -1,40 +0,0 @@ -# hexutil.py -"""Miscellaneous utility routines relating to hex and byte strings""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from binascii import a2b_hex, b2a_hex -from dicom import in_py3 -from dicom.charset import default_encoding - - -def hex2bytes(hexstring): - """Return bytestring for a string of hex bytes separated by whitespace - - This is useful for creating specific byte sequences for testing, using - python's implied concatenation for strings with comments allowed. - Example: - hex_string = ( - "08 00 32 10" # (0008, 1032) SQ "Procedure Code Sequence" - " 08 00 00 00" # length 8 - " fe ff 00 e0" # (fffe, e000) Item Tag - ) - byte_string = hex2bytes(hex_string) - Note in the example that all lines except the first must start with a space, - alternatively the space could end the previous line. - """ - # This works in both 3.x and 2.x because the first conditional evaluates to - # true in 2.x so the difference in bytes constructor doesn't matter - if isinstance(hexstring, bytes): - return a2b_hex(hexstring.replace(b" ", b"")) - else: - return a2b_hex(bytes(hexstring.replace(" ", ""), default_encoding)) - - -def bytes2hex(byte_string): - s = b2a_hex(byte_string) - if in_py3: - s = s.decode() - return " ".join(s[i:i + 2] for i in range(0, len(s), 2)) diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/valuerep.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/valuerep.py deleted file mode 100644 index ee95a29e..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/valuerep.py +++ /dev/null @@ -1,442 +0,0 @@ -# valuerep.py -"""Special classes for DICOM value representations (VR)""" -# Copyright (c) 2008-2012 Darcy Mason -# This file is part of pydicom, released under a modified MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from decimal import Decimal -import dicom.config -from dicom.multival import MultiValue -from dicom import in_py3 - -import logging -logger = logging.getLogger('pydicom') - -default_encoding = "iso8859" # can't import from charset or get circular import - -# For reading/writing data elements, these ones have longer explicit VR format -extra_length_VRs = ('OB', 'OW', 'OF', 'SQ', 'UN', 'UT') - -# VRs that can be affected by character repertoire in (0008,0005) Specific Character Set -# See PS-3.5 (2011), section 6.1.2 Graphic Characters -text_VRs = ('SH', 'LO', 'ST', 'LT', 'UT') # and PN, but it is handled separately. - -import re - -match_string = b''.join([ - b'(?P', - b'(?P[^=\^]*)', - b'\^?(?P[^=\^]*)', - b'\^?(?P[^=\^]*)', - b'\^?(?P[^=\^]*)', - b'\^?(?P[^=\^]*)', - b')', - b'=?(?P[^=]*)', - b'=?(?P[^=]*)$']) - -match_string_uni = re.compile(match_string.decode('iso8859')) -match_string_bytes = re.compile(match_string) - - -class DSfloat(float): - """Store values for DICOM VR of DS (Decimal String) as a float. - - If constructed from an empty string, return the empty string, - not an instance of this class. - - """ - __slots__ = 'original_string' - - def __init__(self, val): - """Store the original string if one given, for exact write-out of same - value later. - """ - # ... also if user changes a data element value, then will get - # a different object, becuase float is immutable. - - if isinstance(val, (str, unicode)): - self.original_string = val - elif isinstance(val, (DSfloat, DSdecimal)) and hasattr(val, 'original_string'): - self.original_string = val.original_string - - def __str__(self): - if hasattr(self, 'original_string'): - return self.original_string - else: - return super(DSfloat, self).__str__() - - def __repr__(self): - return "'" + str(self) + "'" - - -class DSdecimal(Decimal): - """Store values for DICOM VR of DS (Decimal String). - Note: if constructed by an empty string, returns the empty string, - not an instance of this class. - """ - __slots__ = 'original_string' - - def __new__(cls, val): - """Create an instance of DS object, or return a blank string if one is - passed in, e.g. from a type 2 DICOM blank value. - - :param val: val must be a string or a number type which can be - converted to a decimal - """ - # Store this value here so that if the input string is actually a valid - # string but decimal.Decimal transforms it to an invalid string it will - # still be initialized properly - enforce_length = dicom.config.enforce_valid_values - # DICOM allows spaces around the string, but python doesn't, so clean it - if isinstance(val, (str, unicode)): - val = val.strip() - # If the input string is actually invalid that we relax the valid - # value constraint for this particular instance - if len(val) <= 16: - enforce_length = False - if val == '': - return val - if isinstance(val, float) and not dicom.config.allow_DS_float: - msg = ("DS cannot be instantiated with a float value, unless " - "config.allow_DS_float is set to True. It is recommended to " - "convert to a string instead, with the desired number of digits, " - "or use Decimal.quantize and pass a Decimal instance.") - raise TypeError(msg) - if not isinstance(val, Decimal): - val = super(DSdecimal, cls).__new__(cls, val) - if len(str(val)) > 16 and enforce_length: - msg = ("DS value representation must be <= 16 characters by DICOM " - "standard. Initialize with a smaller string, or set config.enforce_valid_values " - "to False to override, " - "or use Decimal.quantize() and initialize with a Decimal instance.") - raise OverflowError(msg) - return val - - def __init__(self, val): - """Store the original string if one given, for exact write-out of same - value later. E.g. if set '1.23e2', Decimal would write '123', but DS - will use the original - """ - # ... also if user changes a data element value, then will get - # a different Decimal, as Decimal is immutable. - if isinstance(val, (str, unicode)): - self.original_string = val - elif isinstance(val, (DSfloat, DSdecimal)) and hasattr(val, 'original_string'): - self.original_string = val.original_string - - def __str__(self): - if hasattr(self, 'original_string') and len(self.original_string) <= 16: - return self.original_string - else: - return super(DSdecimal, self).__str__() - - def __repr__(self): - return "'" + str(self) + "'" - -# CHOOSE TYPE OF DS -if dicom.config.use_DS_decimal: - DSclass = DSdecimal -else: - DSclass = DSfloat - - -def DS(val): - """Factory function for creating DS class instances. - Checks for blank string; if so, return that. Else calls DSfloat or DSdecimal - to create the class instance. This avoids overriding __new__ in DSfloat - (which carries a time penalty for large arrays of DS). - Similarly the string clean and check can be avoided and DSfloat called - directly if a string has already been processed. - """ - if isinstance(val, (str, unicode)): - val = val.strip() - if val == '': - return val - return DSclass(val) - - -class IS(int): - """Derived class of int. Stores original integer string for exact rewriting - of the string originally read or stored. - """ - if not in_py3: - __slots__ = 'original_string' - # Unlikely that str(int) will not be the same as the original, but could happen - # with leading zeros. - - def __new__(cls, val): - """Create instance if new integer string""" - if isinstance(val, (str, unicode)) and val.strip() == '': - return '' - newval = super(IS, cls).__new__(cls, val) - # check if a float or Decimal passed in, then could have lost info, - # and will raise error. E.g. IS(Decimal('1')) is ok, but not IS(1.23) - if isinstance(val, (float, Decimal)) and newval != val: - raise TypeError("Could not convert value to integer without loss") - # Checks in case underlying int is >32 bits, DICOM does not allow this - if (newval < -2 ** 31 or newval >= 2 ** 31) and dicom.config.enforce_valid_values: - message = "Value exceeds DICOM limits of -2**31 to (2**31 - 1) for IS" - raise OverflowError(message) - return newval - - def __init__(self, val): - # If a string passed, then store it - if isinstance(val, (str, unicode)): - self.original_string = val - elif isinstance(val, IS) and hasattr(val, 'original_string'): - self.original_string = val.original_string - - def __repr__(self): - if hasattr(self, 'original_string'): - return "'" + self.original_string + "'" - else: - return "'" + int.__str__(self) + "'" - - -def MultiString(val, valtype=str): - """Split a bytestring by delimiters if there are any - - val -- DICOM bytestring to split up - valtype -- default str, but can be e.g. UID to overwrite to a specific type - """ - # Remove trailing blank used to pad to even length - # 2005.05.25: also check for trailing 0, error made in PET files we are converting - - if val and (val.endswith(' ') or val.endswith('\x00')): - val = val[:-1] - splitup = val.split("\\") - - if len(splitup) == 1: - val = splitup[0] - return valtype(val) if val else val - else: - return MultiValue(valtype, splitup) - - -class PersonName3(object): - def __init__(self, val, encodings=default_encoding): - if isinstance(val, PersonName3): - val = val.original_string - - self.original_string = val - - self.encodings = self._verify_encodings(encodings) - self.parse(val) - - def parse(self, val): - if isinstance(val, bytes): - matchstr = match_string_bytes - else: - matchstr = match_string_uni - - matchobj = re.match(matchstr, val) - - self.__dict__.update(matchobj.groupdict()) - - groups = matchobj.groups() - self.components = [groups[i] for i in (0, -2, -1)] - - def __eq__(self, other): - return self.original_string == other - - def __ne__(self, other): - return not self == other - - def __str__(self): - return self.original_string.__str__() - - def __repr__(self): - return self.original_string.__repr__() - - def decode(self, encodings=None): - encodings = self._verify_encodings(encodings) - - from dicom.charset import clean_escseq - if not isinstance(self.components[0], bytes): - comps = self.components - else: - comps = [clean_escseq(comp.decode(enc), encodings) - for comp, enc in zip(self.components, encodings)] - - while len(comps) and not comps[-1]: - comps.pop() - - return PersonName3('='.join(comps), encodings) - - def encode(self, encodings=None): - encodings = self._verify_encodings(encodings) - - if isinstance(self.components[0], bytes): - comps = self.components - else: - comps = [C.encode(enc) for C, enc in zip(self.components, encodings)] - - # Remove empty elements from the end - while len(comps) and not comps[-1]: - comps.pop() - - return b'='.join(comps) - - def family_comma_given(self): - return self.formatted('%(family_name)s, %(given_name)s') - - def formatted(self, format_str): - if isinstance(self.original_string, bytes): - return format_str % self.decode(default_encoding).__dict__ - else: - return format_str % self.__dict__ - - def _verify_encodings(self, encodings): - if encodings is None: - return self.encodings - - if not isinstance(encodings, list): - encodings = [encodings] * 3 - - if len(encodings) == 2: - encodings.append(encodings[1]) - - return encodings - - -class PersonNameBase(object): - """Base class for Person Name classes""" - - def __init__(self, val): - """Initialize the PN properties""" - # Note normally use __new__ on subclassing an immutable, but here we just want - # to do some pre-processing for properties - # PS 3.5-2008 section 6.2 (p.28) and 6.2.1 describes PN. Briefly: - # single-byte-characters=ideographic characters=phonetic-characters - # (each with?): - # family-name-complex^Given-name-complex^Middle-name^name-prefix^name-suffix - self.parse() - - def formatted(self, format_str): - """Return a formatted string according to the format pattern - - Use "...%(property)...%(property)..." where property is one of - family_name, given_name, middle_name, name_prefix, name_suffix - """ - return format_str % self.__dict__ - - def parse(self): - """Break down the components and name parts""" - self.components = self.split("=") - nComponents = len(self.components) - self.single_byte = self.components[0] - self.ideographic = '' - self.phonetic = '' - if nComponents > 1: - self.ideographic = self.components[1] - if nComponents > 2: - self.phonetic = self.components[2] - - if self.single_byte: - name_string = self.single_byte + "^^^^" # in case missing trailing items are left out - parts = name_string.split("^")[:5] - self.family_name, self.given_name, self.middle_name = parts[:3] - self.name_prefix, self.name_suffix = parts[3:] - else: - (self.family_name, self.given_name, self.middle_name, - self.name_prefix, self.name_suffix) = ('', '', '', '', '') - - -class PersonName(PersonNameBase, bytes): - """Human-friendly class to hold VR of Person Name (PN) - - Name is parsed into the following properties: - single-byte, ideographic, and phonetic components (PS3.5-2008 6.2.1) - family_name, - given_name, - middle_name, - name_prefix, - name_suffix - - """ - def __new__(cls, val): - """Return instance of the new class""" - # Check if trying to convert a string that has already been converted - if isinstance(val, PersonName): - return val - return super(PersonName, cls).__new__(cls, val) - - def encode(self, *args): - """Dummy method to mimic py2 str behavior in py3 bytes subclass""" - # This greatly simplifies the write process so all objects have the - # "encode" method - return self - - def family_comma_given(self): - """Return name as 'Family-name, Given-name'""" - return self.formatted("%(family_name)s, %(given_name)s") - # def __str__(self): - # return str(self.byte_string) - # XXX need to process the ideographic or phonetic components? - # def __len__(self): - # return len(self.byte_string) - - -class PersonNameUnicode(PersonNameBase, unicode): - """Unicode version of Person Name""" - - def __new__(cls, val, encodings): - """Return unicode string after conversion of each part - val -- the PN value to store - encodings -- a list of python encodings, generally found - from dicom.charset.python_encodings mapping - of values in DICOM data element (0008,0005). - """ - from dicom.charset import clean_escseq # in here to avoid circular import - - # Make the possible three character encodings explicit: - if not isinstance(encodings, list): - encodings = [encodings] * 3 - if len(encodings) == 2: - encodings.append(encodings[1]) - components = val.split(b"=") - # Remove the first encoding if only one component is present - if (len(components) == 1): - del encodings[0] - - comps = [clean_escseq(C.decode(enc), encodings) - for C, enc in zip(components, encodings)] - new_val = u"=".join(comps) - - return unicode.__new__(cls, new_val) - - def __init__(self, val, encodings): - self.encodings = self._verify_encodings(encodings) - PersonNameBase.__init__(self, val) - - def _verify_encodings(self, encodings): - """Checks the encoding to ensure proper format""" - if encodings is None: - return self.encodings - - if not isinstance(encodings, list): - encodings = [encodings] * 3 - - if len(encodings) == 2: - encodings.append(encodings[1]) - - return encodings - - def encode(self, encodings): - """Encode the unicode using the specified encoding""" - encodings = self._verify_encodings(encodings) - - components = self.split('=') - - comps = [C.encode(enc) for C, enc in zip(components, encodings)] - - # Remove empty elements from the end - while len(comps) and not comps[-1]: - comps.pop() - - return '='.join(comps) - - def family_comma_given(self): - """Return name as 'Family-name, Given-name'""" - return self.formatted("%(family_name)u, %(given_name)u") diff --git a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/values.py b/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/values.py deleted file mode 100644 index cf88763f..00000000 --- a/.eggs/dicom-0.9.9.post1-py2.7.egg/dicom/values.py +++ /dev/null @@ -1,242 +0,0 @@ -# values.py -"""Functions for converting values of DICOM data elements to proper python types -""" -# Copyright (c) 2010-2012 Darcy Mason -# This file is part of pydicom, relased under an MIT license. -# See the file license.txt included with this distribution, also -# available at https://github.com/darcymason/pydicom - -from dicom import in_py3 -from struct import unpack, calcsize -import logging -logger = logging.getLogger('pydicom') - -# Because DS can be based on float or decimal, import whole module, not DS -# directly, so it can be changed in user code and be updated here also -import dicom.valuerep -from dicom.valuerep import MultiString - -if in_py3: - from dicom.valuerep import PersonName3 as PersonName -else: - from dicom.valuerep import PersonName # NOQA - -from dicom.multival import MultiValue -import dicom.UID -from dicom.tag import Tag, TupleTag -from dicom.filereader import read_sequence -from io import BytesIO -from dicom.charset import default_encoding, text_VRs - - -def convert_tag(byte_string, is_little_endian, offset=0): - if is_little_endian: - struct_format = " 4 - if length % 4 != 0: - logger.warn("Expected length to be multiple of 4 for VR 'AT', " - "got length %d", length) - return MultiValue(Tag, [convert_tag(byte_string, is_little_endian, offset=x) - for x in range(0, length, 4)]) - - -def convert_DS_string(byte_string, is_little_endian, struct_format=None): - """Read and return a DS value or list of values""" - if in_py3: - byte_string = byte_string.decode(default_encoding) - # Below, go directly to DS class instance rather than factory DS, - # but need to ensure last string doesn't have blank padding (use strip()) - return MultiString(byte_string.strip(), valtype=dicom.valuerep.DSclass) - - -def convert_IS_string(byte_string, is_little_endian, struct_format=None): - """Read and return an IS value or list of values""" - if in_py3: - byte_string = byte_string.decode(default_encoding) - return MultiString(byte_string, valtype=dicom.valuerep.IS) - - -def convert_numbers(byte_string, is_little_endian, struct_format): - """Read a "value" of type struct_format from the dicom file. "Value" can be more than one number""" - endianChar = '><'[is_little_endian] - bytes_per_value = calcsize("=" + struct_format) # "=" means use 'standard' size, needed on 64-bit systems. - length = len(byte_string) - if length % bytes_per_value != 0: - logger.warn("Expected length to be even multiple of number size") - format_string = "%c%u%c" % (endianChar, length // bytes_per_value, struct_format) - value = unpack(format_string, byte_string) - if len(value) == 1: - return value[0] - else: - return list(value) # convert from tuple to a list so can modify if need to - - -def convert_OBvalue(byte_string, is_little_endian, struct_format=None): - """Return the raw bytes from reading an OB value""" - return byte_string - - -def convert_OWvalue(byte_string, is_little_endian, struct_format=None): - """Return the raw bytes from reading an OW value rep - - Note: pydicom does NOT do byte swapping, except in - dataset.pixel_array function - """ - return convert_OBvalue(byte_string, is_little_endian) # for now, Maybe later will have own routine - - -def convert_PN(byte_string, is_little_endian, struct_format=None, encoding=None): - """Read and return string(s) as PersonName instance(s)""" - - # XXX - We have to replicate MultiString functionality here because we can't decode - # easily here since that is performed in PersonNameUnicode - if byte_string and (byte_string.endswith(b' ') or byte_string.endswith(b'\x00')): - byte_string = byte_string[:-1] - - splitup = byte_string.split(b"\\") - - if encoding and in_py3: - args = (encoding,) - else: - args = () - - # We would like to return string literals - if in_py3: - valtype = lambda x: PersonName(x, *args).decode() - else: - valtype = lambda x: PersonName(x, *args) - - if len(splitup) == 1: - return valtype(splitup[0]) - else: - return MultiValue(valtype, splitup) - - -def convert_string(byte_string, is_little_endian, struct_format=None, encoding=default_encoding): - """Read and return a string or strings""" - if in_py3: - byte_string = byte_string.decode(encoding) - return MultiString(byte_string) - - -def convert_single_string(byte_string, is_little_endian, struct_format=None, - encoding=default_encoding): - """Read and return a single string (backslash character does not split)""" - if in_py3: - byte_string = byte_string.decode(encoding) - if byte_string and byte_string.endswith(' '): - byte_string = byte_string[:-1] - return byte_string - - -def convert_SQ(byte_string, is_implicit_VR, is_little_endian, - encoding=default_encoding, offset=0): - """Convert a sequence that has been read as bytes but not yet parsed.""" - fp = BytesIO(byte_string) - seq = read_sequence(fp, is_implicit_VR, is_little_endian, len(byte_string), - encoding, offset) - return seq - - -def convert_UI(byte_string, is_little_endian, struct_format=None): - """Read and return a UI values or values""" - # Strip off 0-byte padding for even length (if there) - if in_py3: - byte_string = byte_string.decode(default_encoding) - if byte_string and byte_string.endswith('\0'): - byte_string = byte_string[:-1] - return MultiString(byte_string, dicom.UID.UID) - - -def convert_UN(byte_string, is_little_endian, struct_format=None): - """Return a byte string for a VR of 'UN' (unknown)""" - return byte_string - - -def convert_value(VR, raw_data_element, encoding=default_encoding): - """Return the converted value (from raw bytes) for the given VR""" - if VR not in converters: - raise NotImplementedError("Unknown Value Representation '{0}'".format(VR)) - - # Look up the function to convert that VR - # Dispatch two cases: a plain converter, or a number one which needs a format string - if isinstance(converters[VR], tuple): - converter, num_format = converters[VR] - else: - converter = converters[VR] - num_format = None - - # Ensure that encoding is in the proper 3-element format - if isinstance(encoding, basestring): - encoding = [encoding, ] * 3 - - byte_string = raw_data_element.value - is_little_endian = raw_data_element.is_little_endian - is_implicit_VR = raw_data_element.is_implicit_VR - - # Not only two cases. Also need extra info if is a raw sequence - # Pass the encoding to the converter if it is a specific VR - if VR == 'PN': - value = converter(byte_string, is_little_endian, encoding=encoding) - elif VR in text_VRs: - # Text VRs use the 2nd specified encoding - value = converter(byte_string, is_little_endian, encoding=encoding[1]) - elif VR != "SQ": - value = converter(byte_string, is_little_endian, num_format) - else: - value = convert_SQ(byte_string, is_implicit_VR, is_little_endian, - encoding, raw_data_element.value_tell) - return value - -# converters map a VR to the function to read the value(s). -# for convert_numbers, the converter maps to a tuple (function, struct_format) -# (struct_format in python struct module style) -converters = { - 'UL': (convert_numbers, 'L'), - 'SL': (convert_numbers, 'l'), - 'US': (convert_numbers, 'H'), - 'SS': (convert_numbers, 'h'), - 'FL': (convert_numbers, 'f'), - 'FD': (convert_numbers, 'd'), - 'OF': (convert_numbers, 'f'), - 'OB': convert_OBvalue, - 'UI': convert_UI, - 'SH': convert_string, - 'DA': convert_string, - 'TM': convert_string, - 'CS': convert_string, - 'PN': convert_PN, - 'LO': convert_string, - 'IS': convert_IS_string, - 'DS': convert_DS_string, - 'AE': convert_string, - 'AS': convert_string, - 'LT': convert_single_string, - 'SQ': convert_SQ, - 'UN': convert_UN, - 'AT': convert_ATvalue, - 'ST': convert_string, - 'OW': convert_OWvalue, - 'OW/OB': convert_OBvalue, # note OW/OB depends on other items, which we don't know at read time - 'OB/OW': convert_OBvalue, - 'OW or OB': convert_OBvalue, - 'OB or OW': convert_OBvalue, - 'US or SS': convert_OWvalue, - 'US or OW': convert_OWvalue, - 'US or SS or OW': convert_OWvalue, - 'US\\US or SS\\US': convert_OWvalue, - 'DT': convert_string, - 'UT': convert_single_string, -} -if __name__ == "__main__": - pass diff --git a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/PKG-INFO b/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/PKG-INFO deleted file mode 100644 index e03caec4..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/PKG-INFO +++ /dev/null @@ -1,52 +0,0 @@ -Metadata-Version: 1.2 -Name: futures -Version: 3.2.0 -Summary: Backport of the concurrent.futures package from Python 3 -Home-page: https://github.com/agronholm/pythonfutures -Author: Alex Grönholm -Author-email: alex.gronholm@nextday.fi -License: PSF -Description: .. image:: https://travis-ci.org/agronholm/pythonfutures.svg?branch=master - :target: https://travis-ci.org/agronholm/pythonfutures - :alt: Build Status - - This is a backport of the `concurrent.futures`_ standard library module to Python 2. - - It should not be installed on Python 3, although there should be no harm in doing so, as the - standard library takes precedence over third party libraries. - - To conditionally require this library only on Python 2, you can do this in your ``setup.py``: - - .. code-block:: python - - setup( - ... - extras_require={ - ':python_version == "2.7"': ['futures'] - } - ) - - Or, using the newer syntax: - - .. code-block:: python - - setup( - ... - install_requires={ - 'futures; python_version == "2.7"' - } - ) - - .. warning:: The ``ProcessPoolExecutor`` class has known (unfixable) problems on Python 2 and - should not be relied on for mission critical work. - - .. _concurrent.futures: https://docs.python.org/library/concurrent.futures.html - -Platform: UNKNOWN -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 2 :: Only -Requires-Python: >=2.6, <3 diff --git a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/SOURCES.txt b/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/SOURCES.txt deleted file mode 100644 index 74f5f722..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/SOURCES.txt +++ /dev/null @@ -1,23 +0,0 @@ -LICENSE -MANIFEST.in -README.rst -crawl.py -primes.py -setup.cfg -setup.py -test_futures.py -tox.ini -concurrent/__init__.py -concurrent/futures/__init__.py -concurrent/futures/_base.py -concurrent/futures/process.py -concurrent/futures/thread.py -docs/Makefile -docs/conf.py -docs/index.rst -docs/make.bat -futures.egg-info/PKG-INFO -futures.egg-info/SOURCES.txt -futures.egg-info/dependency_links.txt -futures.egg-info/not-zip-safe -futures.egg-info/top_level.txt \ No newline at end of file diff --git a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/dependency_links.txt b/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/not-zip-safe b/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/top_level.txt b/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/top_level.txt deleted file mode 100644 index e4d7bdcb..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/EGG-INFO/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -concurrent diff --git a/.eggs/futures-3.2.0-py2.7.egg/concurrent/__init__.py b/.eggs/futures-3.2.0-py2.7.egg/concurrent/__init__.py deleted file mode 100644 index b36383a6..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/concurrent/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from pkgutil import extend_path - -__path__ = extend_path(__path__, __name__) diff --git a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/__init__.py b/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/__init__.py deleted file mode 100644 index 428b14bd..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Execute computations asynchronously using threads or processes.""" - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -from concurrent.futures._base import (FIRST_COMPLETED, - FIRST_EXCEPTION, - ALL_COMPLETED, - CancelledError, - TimeoutError, - Future, - Executor, - wait, - as_completed) -from concurrent.futures.thread import ThreadPoolExecutor - -try: - from concurrent.futures.process import ProcessPoolExecutor -except ImportError: - # some platforms don't have multiprocessing - pass diff --git a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/_base.py b/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/_base.py deleted file mode 100644 index 510ffa53..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/_base.py +++ /dev/null @@ -1,667 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -import collections -import logging -import threading -import itertools -import time -import types - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -FIRST_COMPLETED = 'FIRST_COMPLETED' -FIRST_EXCEPTION = 'FIRST_EXCEPTION' -ALL_COMPLETED = 'ALL_COMPLETED' -_AS_COMPLETED = '_AS_COMPLETED' - -# Possible future states (for internal use by the futures package). -PENDING = 'PENDING' -RUNNING = 'RUNNING' -# The future was cancelled by the user... -CANCELLED = 'CANCELLED' -# ...and _Waiter.add_cancelled() was called by a worker. -CANCELLED_AND_NOTIFIED = 'CANCELLED_AND_NOTIFIED' -FINISHED = 'FINISHED' - -_FUTURE_STATES = [ - PENDING, - RUNNING, - CANCELLED, - CANCELLED_AND_NOTIFIED, - FINISHED -] - -_STATE_TO_DESCRIPTION_MAP = { - PENDING: "pending", - RUNNING: "running", - CANCELLED: "cancelled", - CANCELLED_AND_NOTIFIED: "cancelled", - FINISHED: "finished" -} - -# Logger for internal use by the futures package. -LOGGER = logging.getLogger("concurrent.futures") - -class Error(Exception): - """Base class for all future-related exceptions.""" - pass - -class CancelledError(Error): - """The Future was cancelled.""" - pass - -class TimeoutError(Error): - """The operation exceeded the given deadline.""" - pass - -class _Waiter(object): - """Provides the event that wait() and as_completed() block on.""" - def __init__(self): - self.event = threading.Event() - self.finished_futures = [] - - def add_result(self, future): - self.finished_futures.append(future) - - def add_exception(self, future): - self.finished_futures.append(future) - - def add_cancelled(self, future): - self.finished_futures.append(future) - -class _AsCompletedWaiter(_Waiter): - """Used by as_completed().""" - - def __init__(self): - super(_AsCompletedWaiter, self).__init__() - self.lock = threading.Lock() - - def add_result(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_result(future) - self.event.set() - - def add_exception(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_exception(future) - self.event.set() - - def add_cancelled(self, future): - with self.lock: - super(_AsCompletedWaiter, self).add_cancelled(future) - self.event.set() - -class _FirstCompletedWaiter(_Waiter): - """Used by wait(return_when=FIRST_COMPLETED).""" - - def add_result(self, future): - super(_FirstCompletedWaiter, self).add_result(future) - self.event.set() - - def add_exception(self, future): - super(_FirstCompletedWaiter, self).add_exception(future) - self.event.set() - - def add_cancelled(self, future): - super(_FirstCompletedWaiter, self).add_cancelled(future) - self.event.set() - -class _AllCompletedWaiter(_Waiter): - """Used by wait(return_when=FIRST_EXCEPTION and ALL_COMPLETED).""" - - def __init__(self, num_pending_calls, stop_on_exception): - self.num_pending_calls = num_pending_calls - self.stop_on_exception = stop_on_exception - self.lock = threading.Lock() - super(_AllCompletedWaiter, self).__init__() - - def _decrement_pending_calls(self): - with self.lock: - self.num_pending_calls -= 1 - if not self.num_pending_calls: - self.event.set() - - def add_result(self, future): - super(_AllCompletedWaiter, self).add_result(future) - self._decrement_pending_calls() - - def add_exception(self, future): - super(_AllCompletedWaiter, self).add_exception(future) - if self.stop_on_exception: - self.event.set() - else: - self._decrement_pending_calls() - - def add_cancelled(self, future): - super(_AllCompletedWaiter, self).add_cancelled(future) - self._decrement_pending_calls() - -class _AcquireFutures(object): - """A context manager that does an ordered acquire of Future conditions.""" - - def __init__(self, futures): - self.futures = sorted(futures, key=id) - - def __enter__(self): - for future in self.futures: - future._condition.acquire() - - def __exit__(self, *args): - for future in self.futures: - future._condition.release() - -def _create_and_install_waiters(fs, return_when): - if return_when == _AS_COMPLETED: - waiter = _AsCompletedWaiter() - elif return_when == FIRST_COMPLETED: - waiter = _FirstCompletedWaiter() - else: - pending_count = sum( - f._state not in [CANCELLED_AND_NOTIFIED, FINISHED] for f in fs) - - if return_when == FIRST_EXCEPTION: - waiter = _AllCompletedWaiter(pending_count, stop_on_exception=True) - elif return_when == ALL_COMPLETED: - waiter = _AllCompletedWaiter(pending_count, stop_on_exception=False) - else: - raise ValueError("Invalid return condition: %r" % return_when) - - for f in fs: - f._waiters.append(waiter) - - return waiter - - -def _yield_finished_futures(fs, waiter, ref_collect): - """ - Iterate on the list *fs*, yielding finished futures one by one in - reverse order. - Before yielding a future, *waiter* is removed from its waiters - and the future is removed from each set in the collection of sets - *ref_collect*. - - The aim of this function is to avoid keeping stale references after - the future is yielded and before the iterator resumes. - """ - while fs: - f = fs[-1] - for futures_set in ref_collect: - futures_set.remove(f) - with f._condition: - f._waiters.remove(waiter) - del f - # Careful not to keep a reference to the popped value - yield fs.pop() - - -def as_completed(fs, timeout=None): - """An iterator over the given futures that yields each as it completes. - - Args: - fs: The sequence of Futures (possibly created by different Executors) to - iterate over. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - - Returns: - An iterator that yields the given Futures as they complete (finished or - cancelled). If any given Futures are duplicated, they will be returned - once. - - Raises: - TimeoutError: If the entire result iterator could not be generated - before the given timeout. - """ - if timeout is not None: - end_time = timeout + time.time() - - fs = set(fs) - total_futures = len(fs) - with _AcquireFutures(fs): - finished = set( - f for f in fs - if f._state in [CANCELLED_AND_NOTIFIED, FINISHED]) - pending = fs - finished - waiter = _create_and_install_waiters(fs, _AS_COMPLETED) - finished = list(finished) - try: - for f in _yield_finished_futures(finished, waiter, - ref_collect=(fs,)): - f = [f] - yield f.pop() - - while pending: - if timeout is None: - wait_timeout = None - else: - wait_timeout = end_time - time.time() - if wait_timeout < 0: - raise TimeoutError( - '%d (of %d) futures unfinished' % ( - len(pending), total_futures)) - - waiter.event.wait(wait_timeout) - - with waiter.lock: - finished = waiter.finished_futures - waiter.finished_futures = [] - waiter.event.clear() - - # reverse to keep finishing order - finished.reverse() - for f in _yield_finished_futures(finished, waiter, - ref_collect=(fs, pending)): - f = [f] - yield f.pop() - - finally: - # Remove waiter from unfinished futures - for f in fs: - with f._condition: - f._waiters.remove(waiter) - -DoneAndNotDoneFutures = collections.namedtuple( - 'DoneAndNotDoneFutures', 'done not_done') -def wait(fs, timeout=None, return_when=ALL_COMPLETED): - """Wait for the futures in the given sequence to complete. - - Args: - fs: The sequence of Futures (possibly created by different Executors) to - wait upon. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - return_when: Indicates when this function should return. The options - are: - - FIRST_COMPLETED - Return when any future finishes or is - cancelled. - FIRST_EXCEPTION - Return when any future finishes by raising an - exception. If no future raises an exception - then it is equivalent to ALL_COMPLETED. - ALL_COMPLETED - Return when all futures finish or are cancelled. - - Returns: - A named 2-tuple of sets. The first set, named 'done', contains the - futures that completed (is finished or cancelled) before the wait - completed. The second set, named 'not_done', contains uncompleted - futures. - """ - with _AcquireFutures(fs): - done = set(f for f in fs - if f._state in [CANCELLED_AND_NOTIFIED, FINISHED]) - not_done = set(fs) - done - - if (return_when == FIRST_COMPLETED) and done: - return DoneAndNotDoneFutures(done, not_done) - elif (return_when == FIRST_EXCEPTION) and done: - if any(f for f in done - if not f.cancelled() and f.exception() is not None): - return DoneAndNotDoneFutures(done, not_done) - - if len(done) == len(fs): - return DoneAndNotDoneFutures(done, not_done) - - waiter = _create_and_install_waiters(fs, return_when) - - waiter.event.wait(timeout) - for f in fs: - with f._condition: - f._waiters.remove(waiter) - - done.update(waiter.finished_futures) - return DoneAndNotDoneFutures(done, set(fs) - done) - -class Future(object): - """Represents the result of an asynchronous computation.""" - - def __init__(self): - """Initializes the future. Should not be called by clients.""" - self._condition = threading.Condition() - self._state = PENDING - self._result = None - self._exception = None - self._traceback = None - self._waiters = [] - self._done_callbacks = [] - - def _invoke_callbacks(self): - for callback in self._done_callbacks: - try: - callback(self) - except Exception: - LOGGER.exception('exception calling callback for %r', self) - except BaseException: - # Explicitly let all other new-style exceptions through so - # that we can catch all old-style exceptions with a simple - # "except:" clause below. - # - # All old-style exception objects are instances of - # types.InstanceType, but "except types.InstanceType:" does - # not catch old-style exceptions for some reason. Thus, the - # only way to catch all old-style exceptions without catching - # any new-style exceptions is to filter out the new-style - # exceptions, which all derive from BaseException. - raise - except: - # Because of the BaseException clause above, this handler only - # executes for old-style exception objects. - LOGGER.exception('exception calling callback for %r', self) - - def __repr__(self): - with self._condition: - if self._state == FINISHED: - if self._exception: - return '<%s at %#x state=%s raised %s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state], - self._exception.__class__.__name__) - else: - return '<%s at %#x state=%s returned %s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state], - self._result.__class__.__name__) - return '<%s at %#x state=%s>' % ( - self.__class__.__name__, - id(self), - _STATE_TO_DESCRIPTION_MAP[self._state]) - - def cancel(self): - """Cancel the future if possible. - - Returns True if the future was cancelled, False otherwise. A future - cannot be cancelled if it is running or has already completed. - """ - with self._condition: - if self._state in [RUNNING, FINISHED]: - return False - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - return True - - self._state = CANCELLED - self._condition.notify_all() - - self._invoke_callbacks() - return True - - def cancelled(self): - """Return True if the future was cancelled.""" - with self._condition: - return self._state in [CANCELLED, CANCELLED_AND_NOTIFIED] - - def running(self): - """Return True if the future is currently executing.""" - with self._condition: - return self._state == RUNNING - - def done(self): - """Return True of the future was cancelled or finished executing.""" - with self._condition: - return self._state in [CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED] - - def __get_result(self): - if self._exception: - if isinstance(self._exception, types.InstanceType): - # The exception is an instance of an old-style class, which - # means type(self._exception) returns types.ClassType instead - # of the exception's actual class type. - exception_type = self._exception.__class__ - else: - exception_type = type(self._exception) - raise exception_type, self._exception, self._traceback - else: - return self._result - - def add_done_callback(self, fn): - """Attaches a callable that will be called when the future finishes. - - Args: - fn: A callable that will be called with this future as its only - argument when the future completes or is cancelled. The callable - will always be called by a thread in the same process in which - it was added. If the future has already completed or been - cancelled then the callable will be called immediately. These - callables are called in the order that they were added. - """ - with self._condition: - if self._state not in [CANCELLED, CANCELLED_AND_NOTIFIED, FINISHED]: - self._done_callbacks.append(fn) - return - fn(self) - - def result(self, timeout=None): - """Return the result of the call that the future represents. - - Args: - timeout: The number of seconds to wait for the result if the future - isn't done. If None, then there is no limit on the wait time. - - Returns: - The result of the call that the future represents. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - Exception: If the call raised then that exception will be raised. - """ - with self._condition: - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self.__get_result() - - self._condition.wait(timeout) - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self.__get_result() - else: - raise TimeoutError() - - def exception_info(self, timeout=None): - """Return a tuple of (exception, traceback) raised by the call that the - future represents. - - Args: - timeout: The number of seconds to wait for the exception if the - future isn't done. If None, then there is no limit on the wait - time. - - Returns: - The exception raised by the call that the future represents or None - if the call completed without raising. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - """ - with self._condition: - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self._exception, self._traceback - - self._condition.wait(timeout) - - if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]: - raise CancelledError() - elif self._state == FINISHED: - return self._exception, self._traceback - else: - raise TimeoutError() - - def exception(self, timeout=None): - """Return the exception raised by the call that the future represents. - - Args: - timeout: The number of seconds to wait for the exception if the - future isn't done. If None, then there is no limit on the wait - time. - - Returns: - The exception raised by the call that the future represents or None - if the call completed without raising. - - Raises: - CancelledError: If the future was cancelled. - TimeoutError: If the future didn't finish executing before the given - timeout. - """ - return self.exception_info(timeout)[0] - - # The following methods should only be used by Executors and in tests. - def set_running_or_notify_cancel(self): - """Mark the future as running or process any cancel notifications. - - Should only be used by Executor implementations and unit tests. - - If the future has been cancelled (cancel() was called and returned - True) then any threads waiting on the future completing (though calls - to as_completed() or wait()) are notified and False is returned. - - If the future was not cancelled then it is put in the running state - (future calls to running() will return True) and True is returned. - - This method should be called by Executor implementations before - executing the work associated with this future. If this method returns - False then the work should not be executed. - - Returns: - False if the Future was cancelled, True otherwise. - - Raises: - RuntimeError: if this method was already called or if set_result() - or set_exception() was called. - """ - with self._condition: - if self._state == CANCELLED: - self._state = CANCELLED_AND_NOTIFIED - for waiter in self._waiters: - waiter.add_cancelled(self) - # self._condition.notify_all() is not necessary because - # self.cancel() triggers a notification. - return False - elif self._state == PENDING: - self._state = RUNNING - return True - else: - LOGGER.critical('Future %s in unexpected state: %s', - id(self), - self._state) - raise RuntimeError('Future in unexpected state') - - def set_result(self, result): - """Sets the return value of work associated with the future. - - Should only be used by Executor implementations and unit tests. - """ - with self._condition: - self._result = result - self._state = FINISHED - for waiter in self._waiters: - waiter.add_result(self) - self._condition.notify_all() - self._invoke_callbacks() - - def set_exception_info(self, exception, traceback): - """Sets the result of the future as being the given exception - and traceback. - - Should only be used by Executor implementations and unit tests. - """ - with self._condition: - self._exception = exception - self._traceback = traceback - self._state = FINISHED - for waiter in self._waiters: - waiter.add_exception(self) - self._condition.notify_all() - self._invoke_callbacks() - - def set_exception(self, exception): - """Sets the result of the future as being the given exception. - - Should only be used by Executor implementations and unit tests. - """ - self.set_exception_info(exception, None) - -class Executor(object): - """This is an abstract base class for concrete asynchronous executors.""" - - def submit(self, fn, *args, **kwargs): - """Submits a callable to be executed with the given arguments. - - Schedules the callable to be executed as fn(*args, **kwargs) and returns - a Future instance representing the execution of the callable. - - Returns: - A Future representing the given call. - """ - raise NotImplementedError() - - def map(self, fn, *iterables, **kwargs): - """Returns an iterator equivalent to map(fn, iter). - - Args: - fn: A callable that will take as many arguments as there are - passed iterables. - timeout: The maximum number of seconds to wait. If None, then there - is no limit on the wait time. - - Returns: - An iterator equivalent to: map(func, *iterables) but the calls may - be evaluated out-of-order. - - Raises: - TimeoutError: If the entire result iterator could not be generated - before the given timeout. - Exception: If fn(*args) raises for any values. - """ - timeout = kwargs.get('timeout') - if timeout is not None: - end_time = timeout + time.time() - - fs = [self.submit(fn, *args) for args in itertools.izip(*iterables)] - - # Yield must be hidden in closure so that the futures are submitted - # before the first iterator value is required. - def result_iterator(): - try: - # reverse to keep finishing order - fs.reverse() - while fs: - # Careful not to keep a reference to the popped future - if timeout is None: - yield fs.pop().result() - else: - yield fs.pop().result(end_time - time.time()) - finally: - for future in fs: - future.cancel() - return result_iterator() - - def shutdown(self, wait=True): - """Clean-up the resources associated with the Executor. - - It is safe to call this method several times. Otherwise, no other - methods can be called after this one. - - Args: - wait: If True then shutdown will not return until all running - futures have finished executing and the resources used by the - executor have been reclaimed. - """ - pass - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.shutdown(wait=True) - return False diff --git a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/process.py b/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/process.py deleted file mode 100644 index fa5b96fd..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/process.py +++ /dev/null @@ -1,363 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Implements ProcessPoolExecutor. - -The follow diagram and text describe the data-flow through the system: - -|======================= In-process =====================|== Out-of-process ==| - -+----------+ +----------+ +--------+ +-----------+ +---------+ -| | => | Work Ids | => | | => | Call Q | => | | -| | +----------+ | | +-----------+ | | -| | | ... | | | | ... | | | -| | | 6 | | | | 5, call() | | | -| | | 7 | | | | ... | | | -| Process | | ... | | Local | +-----------+ | Process | -| Pool | +----------+ | Worker | | #1..n | -| Executor | | Thread | | | -| | +----------- + | | +-----------+ | | -| | <=> | Work Items | <=> | | <= | Result Q | <= | | -| | +------------+ | | +-----------+ | | -| | | 6: call() | | | | ... | | | -| | | future | | | | 4, result | | | -| | | ... | | | | 3, except | | | -+----------+ +------------+ +--------+ +-----------+ +---------+ - -Executor.submit() called: -- creates a uniquely numbered _WorkItem and adds it to the "Work Items" dict -- adds the id of the _WorkItem to the "Work Ids" queue - -Local worker thread: -- reads work ids from the "Work Ids" queue and looks up the corresponding - WorkItem from the "Work Items" dict: if the work item has been cancelled then - it is simply removed from the dict, otherwise it is repackaged as a - _CallItem and put in the "Call Q". New _CallItems are put in the "Call Q" - until "Call Q" is full. NOTE: the size of the "Call Q" is kept small because - calls placed in the "Call Q" can no longer be cancelled with Future.cancel(). -- reads _ResultItems from "Result Q", updates the future stored in the - "Work Items" dict and deletes the dict entry - -Process #1..n: -- reads _CallItems from "Call Q", executes the calls, and puts the resulting - _ResultItems in "Request Q" -""" - -import atexit -from concurrent.futures import _base -import Queue as queue -import multiprocessing -import threading -import weakref -import sys - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -# Workers are created as daemon threads and processes. This is done to allow the -# interpreter to exit when there are still idle processes in a -# ProcessPoolExecutor's process pool (i.e. shutdown() was not called). However, -# allowing workers to die with the interpreter has two undesirable properties: -# - The workers would still be running during interpretor shutdown, -# meaning that they would fail in unpredictable ways. -# - The workers could be killed while evaluating a work item, which could -# be bad if the callable being evaluated has external side-effects e.g. -# writing to a file. -# -# To work around this problem, an exit handler is installed which tells the -# workers to exit when their work queues are empty and then waits until the -# threads/processes finish. - -_threads_queues = weakref.WeakKeyDictionary() -_shutdown = False - -def _python_exit(): - global _shutdown - _shutdown = True - items = list(_threads_queues.items()) if _threads_queues else () - for t, q in items: - q.put(None) - for t, q in items: - t.join(sys.maxint) - -# Controls how many more calls than processes will be queued in the call queue. -# A smaller number will mean that processes spend more time idle waiting for -# work while a larger number will make Future.cancel() succeed less frequently -# (Futures in the call queue cannot be cancelled). -EXTRA_QUEUED_CALLS = 1 - -class _WorkItem(object): - def __init__(self, future, fn, args, kwargs): - self.future = future - self.fn = fn - self.args = args - self.kwargs = kwargs - -class _ResultItem(object): - def __init__(self, work_id, exception=None, result=None): - self.work_id = work_id - self.exception = exception - self.result = result - -class _CallItem(object): - def __init__(self, work_id, fn, args, kwargs): - self.work_id = work_id - self.fn = fn - self.args = args - self.kwargs = kwargs - -def _process_worker(call_queue, result_queue): - """Evaluates calls from call_queue and places the results in result_queue. - - This worker is run in a separate process. - - Args: - call_queue: A multiprocessing.Queue of _CallItems that will be read and - evaluated by the worker. - result_queue: A multiprocessing.Queue of _ResultItems that will written - to by the worker. - shutdown: A multiprocessing.Event that will be set as a signal to the - worker that it should exit when call_queue is empty. - """ - while True: - call_item = call_queue.get(block=True) - if call_item is None: - # Wake up queue management thread - result_queue.put(None) - return - try: - r = call_item.fn(*call_item.args, **call_item.kwargs) - except: - e = sys.exc_info()[1] - result_queue.put(_ResultItem(call_item.work_id, - exception=e)) - else: - result_queue.put(_ResultItem(call_item.work_id, - result=r)) - -def _add_call_item_to_queue(pending_work_items, - work_ids, - call_queue): - """Fills call_queue with _WorkItems from pending_work_items. - - This function never blocks. - - Args: - pending_work_items: A dict mapping work ids to _WorkItems e.g. - {5: <_WorkItem...>, 6: <_WorkItem...>, ...} - work_ids: A queue.Queue of work ids e.g. Queue([5, 6, ...]). Work ids - are consumed and the corresponding _WorkItems from - pending_work_items are transformed into _CallItems and put in - call_queue. - call_queue: A multiprocessing.Queue that will be filled with _CallItems - derived from _WorkItems. - """ - while True: - if call_queue.full(): - return - try: - work_id = work_ids.get(block=False) - except queue.Empty: - return - else: - work_item = pending_work_items[work_id] - - if work_item.future.set_running_or_notify_cancel(): - call_queue.put(_CallItem(work_id, - work_item.fn, - work_item.args, - work_item.kwargs), - block=True) - else: - del pending_work_items[work_id] - continue - -def _queue_management_worker(executor_reference, - processes, - pending_work_items, - work_ids_queue, - call_queue, - result_queue): - """Manages the communication between this process and the worker processes. - - This function is run in a local thread. - - Args: - executor_reference: A weakref.ref to the ProcessPoolExecutor that owns - this thread. Used to determine if the ProcessPoolExecutor has been - garbage collected and that this function can exit. - process: A list of the multiprocessing.Process instances used as - workers. - pending_work_items: A dict mapping work ids to _WorkItems e.g. - {5: <_WorkItem...>, 6: <_WorkItem...>, ...} - work_ids_queue: A queue.Queue of work ids e.g. Queue([5, 6, ...]). - call_queue: A multiprocessing.Queue that will be filled with _CallItems - derived from _WorkItems for processing by the process workers. - result_queue: A multiprocessing.Queue of _ResultItems generated by the - process workers. - """ - nb_shutdown_processes = [0] - def shutdown_one_process(): - """Tell a worker to terminate, which will in turn wake us again""" - call_queue.put(None) - nb_shutdown_processes[0] += 1 - while True: - _add_call_item_to_queue(pending_work_items, - work_ids_queue, - call_queue) - - result_item = result_queue.get(block=True) - if result_item is not None: - work_item = pending_work_items[result_item.work_id] - del pending_work_items[result_item.work_id] - - if result_item.exception: - work_item.future.set_exception(result_item.exception) - else: - work_item.future.set_result(result_item.result) - # Delete references to object. See issue16284 - del work_item - # Check whether we should start shutting down. - executor = executor_reference() - # No more work items can be added if: - # - The interpreter is shutting down OR - # - The executor that owns this worker has been collected OR - # - The executor that owns this worker has been shutdown. - if _shutdown or executor is None or executor._shutdown_thread: - # Since no new work items can be added, it is safe to shutdown - # this thread if there are no pending work items. - if not pending_work_items: - while nb_shutdown_processes[0] < len(processes): - shutdown_one_process() - # If .join() is not called on the created processes then - # some multiprocessing.Queue methods may deadlock on Mac OS - # X. - for p in processes: - p.join() - call_queue.close() - return - del executor - -_system_limits_checked = False -_system_limited = None -def _check_system_limits(): - global _system_limits_checked, _system_limited - if _system_limits_checked: - if _system_limited: - raise NotImplementedError(_system_limited) - _system_limits_checked = True - try: - import os - nsems_max = os.sysconf("SC_SEM_NSEMS_MAX") - except (AttributeError, ValueError): - # sysconf not available or setting not available - return - if nsems_max == -1: - # indetermine limit, assume that limit is determined - # by available memory only - return - if nsems_max >= 256: - # minimum number of semaphores available - # according to POSIX - return - _system_limited = "system provides too few semaphores (%d available, 256 necessary)" % nsems_max - raise NotImplementedError(_system_limited) - - -class ProcessPoolExecutor(_base.Executor): - def __init__(self, max_workers=None): - """Initializes a new ProcessPoolExecutor instance. - - Args: - max_workers: The maximum number of processes that can be used to - execute the given calls. If None or not given then as many - worker processes will be created as the machine has processors. - """ - _check_system_limits() - - if max_workers is None: - self._max_workers = multiprocessing.cpu_count() - else: - if max_workers <= 0: - raise ValueError("max_workers must be greater than 0") - - self._max_workers = max_workers - - # Make the call queue slightly larger than the number of processes to - # prevent the worker processes from idling. But don't make it too big - # because futures in the call queue cannot be cancelled. - self._call_queue = multiprocessing.Queue(self._max_workers + - EXTRA_QUEUED_CALLS) - self._result_queue = multiprocessing.Queue() - self._work_ids = queue.Queue() - self._queue_management_thread = None - self._processes = set() - - # Shutdown is a two-step process. - self._shutdown_thread = False - self._shutdown_lock = threading.Lock() - self._queue_count = 0 - self._pending_work_items = {} - - def _start_queue_management_thread(self): - # When the executor gets lost, the weakref callback will wake up - # the queue management thread. - def weakref_cb(_, q=self._result_queue): - q.put(None) - if self._queue_management_thread is None: - self._queue_management_thread = threading.Thread( - target=_queue_management_worker, - args=(weakref.ref(self, weakref_cb), - self._processes, - self._pending_work_items, - self._work_ids, - self._call_queue, - self._result_queue)) - self._queue_management_thread.daemon = True - self._queue_management_thread.start() - _threads_queues[self._queue_management_thread] = self._result_queue - - def _adjust_process_count(self): - for _ in range(len(self._processes), self._max_workers): - p = multiprocessing.Process( - target=_process_worker, - args=(self._call_queue, - self._result_queue)) - p.start() - self._processes.add(p) - - def submit(self, fn, *args, **kwargs): - with self._shutdown_lock: - if self._shutdown_thread: - raise RuntimeError('cannot schedule new futures after shutdown') - - f = _base.Future() - w = _WorkItem(f, fn, args, kwargs) - - self._pending_work_items[self._queue_count] = w - self._work_ids.put(self._queue_count) - self._queue_count += 1 - # Wake up queue management thread - self._result_queue.put(None) - - self._start_queue_management_thread() - self._adjust_process_count() - return f - submit.__doc__ = _base.Executor.submit.__doc__ - - def shutdown(self, wait=True): - with self._shutdown_lock: - self._shutdown_thread = True - if self._queue_management_thread: - # Wake up queue management thread - self._result_queue.put(None) - if wait: - self._queue_management_thread.join(sys.maxint) - # To reduce the risk of openning too many files, remove references to - # objects that use file descriptors. - self._queue_management_thread = None - self._call_queue = None - self._result_queue = None - self._processes = None - shutdown.__doc__ = _base.Executor.shutdown.__doc__ - -atexit.register(_python_exit) diff --git a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/thread.py b/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/thread.py deleted file mode 100644 index bb0ce9d7..00000000 --- a/.eggs/futures-3.2.0-py2.7.egg/concurrent/futures/thread.py +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2009 Brian Quinlan. All Rights Reserved. -# Licensed to PSF under a Contributor Agreement. - -"""Implements ThreadPoolExecutor.""" - -import atexit -from concurrent.futures import _base -import itertools -import Queue as queue -import threading -import weakref -import sys - -try: - from multiprocessing import cpu_count -except ImportError: - # some platforms don't have multiprocessing - def cpu_count(): - return None - -__author__ = 'Brian Quinlan (brian@sweetapp.com)' - -# Workers are created as daemon threads. This is done to allow the interpreter -# to exit when there are still idle threads in a ThreadPoolExecutor's thread -# pool (i.e. shutdown() was not called). However, allowing workers to die with -# the interpreter has two undesirable properties: -# - The workers would still be running during interpretor shutdown, -# meaning that they would fail in unpredictable ways. -# - The workers could be killed while evaluating a work item, which could -# be bad if the callable being evaluated has external side-effects e.g. -# writing to a file. -# -# To work around this problem, an exit handler is installed which tells the -# workers to exit when their work queues are empty and then waits until the -# threads finish. - -_threads_queues = weakref.WeakKeyDictionary() -_shutdown = False - -def _python_exit(): - global _shutdown - _shutdown = True - items = list(_threads_queues.items()) if _threads_queues else () - for t, q in items: - q.put(None) - for t, q in items: - t.join(sys.maxint) - -atexit.register(_python_exit) - -class _WorkItem(object): - def __init__(self, future, fn, args, kwargs): - self.future = future - self.fn = fn - self.args = args - self.kwargs = kwargs - - def run(self): - if not self.future.set_running_or_notify_cancel(): - return - - try: - result = self.fn(*self.args, **self.kwargs) - except: - e, tb = sys.exc_info()[1:] - self.future.set_exception_info(e, tb) - else: - self.future.set_result(result) - -def _worker(executor_reference, work_queue): - try: - while True: - work_item = work_queue.get(block=True) - if work_item is not None: - work_item.run() - # Delete references to object. See issue16284 - del work_item - continue - executor = executor_reference() - # Exit if: - # - The interpreter is shutting down OR - # - The executor that owns the worker has been collected OR - # - The executor that owns the worker has been shutdown. - if _shutdown or executor is None or executor._shutdown: - # Notice other workers - work_queue.put(None) - return - del executor - except: - _base.LOGGER.critical('Exception in worker', exc_info=True) - - -class ThreadPoolExecutor(_base.Executor): - - # Used to assign unique thread names when thread_name_prefix is not supplied. - _counter = itertools.count().next - - def __init__(self, max_workers=None, thread_name_prefix=''): - """Initializes a new ThreadPoolExecutor instance. - - Args: - max_workers: The maximum number of threads that can be used to - execute the given calls. - thread_name_prefix: An optional name prefix to give our threads. - """ - if max_workers is None: - # Use this number because ThreadPoolExecutor is often - # used to overlap I/O instead of CPU work. - max_workers = (cpu_count() or 1) * 5 - if max_workers <= 0: - raise ValueError("max_workers must be greater than 0") - - self._max_workers = max_workers - self._work_queue = queue.Queue() - self._threads = set() - self._shutdown = False - self._shutdown_lock = threading.Lock() - self._thread_name_prefix = (thread_name_prefix or - ("ThreadPoolExecutor-%d" % self._counter())) - - def submit(self, fn, *args, **kwargs): - with self._shutdown_lock: - if self._shutdown: - raise RuntimeError('cannot schedule new futures after shutdown') - - f = _base.Future() - w = _WorkItem(f, fn, args, kwargs) - - self._work_queue.put(w) - self._adjust_thread_count() - return f - submit.__doc__ = _base.Executor.submit.__doc__ - - def _adjust_thread_count(self): - # When the executor gets lost, the weakref callback will wake up - # the worker threads. - def weakref_cb(_, q=self._work_queue): - q.put(None) - # TODO(bquinlan): Should avoid creating new threads if there are more - # idle threads than items in the work queue. - num_threads = len(self._threads) - if num_threads < self._max_workers: - thread_name = '%s_%d' % (self._thread_name_prefix or self, - num_threads) - t = threading.Thread(name=thread_name, target=_worker, - args=(weakref.ref(self, weakref_cb), - self._work_queue)) - t.daemon = True - t.start() - self._threads.add(t) - _threads_queues[t] = self._work_queue - - def shutdown(self, wait=True): - with self._shutdown_lock: - self._shutdown = True - self._work_queue.put(None) - if wait: - for t in self._threads: - t.join(sys.maxint) - shutdown.__doc__ = _base.Executor.shutdown.__doc__ diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/PKG-INFO b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/PKG-INFO deleted file mode 100644 index 08ca29b8..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/PKG-INFO +++ /dev/null @@ -1,58 +0,0 @@ -Metadata-Version: 1.1 -Name: hyperopt -Version: 0.1 -Summary: Distributed Asynchronous Hyperparameter Optimization -Home-page: http://hyperopt.github.com/hyperopt/ -Author: James Bergstra -Author-email: james.bergstra@gmail.com -License: BSD -Description: hyperopt: Distributed Asynchronous Hyper-parameter Optimization - =============================================================== - - Hyperopt is a Python library for serial and parallel optimization over awkward - search spaces, which may include real-valued, discrete, and conditional - dimensions. - - Official project git repository: - http://github.com/hyperopt/hyperopt - - Documentation: - http://hyperopt.github.io/hyperopt - - Announcements mailing list: - https://groups.google.com/forum/#!forum/hyperopt-announce - - Discussion mailing list: - https://groups.google.com/forum/#!forum/hyperopt-discuss - - - Thanks - ------ - This project has received support from - * National Science Foundation (IIS-0963668), - * Banting Postdoctoral Fellowship program, - * National Science and Engineering Research Council of Canada (NSERC), - * D-Wave Systems, Inc. - - - - -Keywords: Bayesian optimization hyperparameter model selection -Platform: Linux -Platform: OS-X -Platform: Windows -Classifier: Development Status :: 3 - Alpha -Classifier: Intended Audience :: Education -Classifier: Intended Audience :: Science/Research -Classifier: Intended Audience :: Developers -Classifier: Environment :: Console -Classifier: License :: OSI Approved :: BSD License -Classifier: Operating System :: MacOS :: MacOS X -Classifier: Operating System :: Microsoft :: Windows -Classifier: Operating System :: POSIX -Classifier: Operating System :: Unix -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 3 -Classifier: Topic :: Scientific/Engineering -Classifier: Topic :: Software Development diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/SOURCES.txt b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/SOURCES.txt deleted file mode 100644 index 9a3da471..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/SOURCES.txt +++ /dev/null @@ -1,53 +0,0 @@ -README.txt -setup.cfg -setup.py -hyperopt/__init__.py -hyperopt/algobase.py -hyperopt/anneal.py -hyperopt/base.py -hyperopt/criteria.py -hyperopt/exceptions.py -hyperopt/fmin.py -hyperopt/graphviz.py -hyperopt/hp.py -hyperopt/ipy.py -hyperopt/main.py -hyperopt/mix.py -hyperopt/mongoexp.py -hyperopt/plotting.py -hyperopt/pyll_utils.py -hyperopt/rand.py -hyperopt/rdists.py -hyperopt/tpe.py -hyperopt/utils.py -hyperopt/vectorize.py -hyperopt.egg-info/PKG-INFO -hyperopt.egg-info/SOURCES.txt -hyperopt.egg-info/dependency_links.txt -hyperopt.egg-info/not-zip-safe -hyperopt.egg-info/requires.txt -hyperopt.egg-info/top_level.txt -hyperopt/pyll/__init__.py -hyperopt/pyll/base.py -hyperopt/pyll/stochastic.py -hyperopt/pyll/tests/__init__.py -hyperopt/pyll/tests/test_base.py -hyperopt/pyll/tests/test_stochastic.py -hyperopt/tests/__init__.py -hyperopt/tests/test_anneal.py -hyperopt/tests/test_base.py -hyperopt/tests/test_criteria.py -hyperopt/tests/test_domains.py -hyperopt/tests/test_fmin.py -hyperopt/tests/test_ipy.py -hyperopt/tests/test_mongoexp.py -hyperopt/tests/test_pchoice.py -hyperopt/tests/test_plotting.py -hyperopt/tests/test_pyll_utils.py -hyperopt/tests/test_rand.py -hyperopt/tests/test_rdists.py -hyperopt/tests/test_tpe.py -hyperopt/tests/test_utils.py -hyperopt/tests/test_vectorize.py -hyperopt/tests/test_webpage.py -scripts/hyperopt-mongo-worker \ No newline at end of file diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/dependency_links.txt b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/dependency_links.txt deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/not-zip-safe b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/not-zip-safe deleted file mode 100644 index 8b137891..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/requires.txt b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/requires.txt deleted file mode 100644 index 0234167b..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/requires.txt +++ /dev/null @@ -1,7 +0,0 @@ -numpy -scipy -nose -pymongo -six -networkx -future diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/scripts/hyperopt-mongo-worker b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/scripts/hyperopt-mongo-worker deleted file mode 100755 index 28f398ca..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/scripts/hyperopt-mongo-worker +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python -import sys -import hyperopt.mongoexp -import logging -logging.basicConfig(stream=sys.stderr, level=logging.INFO) -sys.exit(hyperopt.mongoexp.main_worker()) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/top_level.txt b/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/top_level.txt deleted file mode 100644 index e02561d9..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/EGG-INFO/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -hyperopt diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/__init__.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/__init__.py deleted file mode 100644 index 5d1eddcd..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -from __future__ import absolute_import - -from .base import STATUS_STRINGS -from .base import STATUS_NEW -from .base import STATUS_RUNNING -from .base import STATUS_SUSPENDED -from .base import STATUS_OK -from .base import STATUS_FAIL - -from .base import JOB_STATES -from .base import JOB_STATE_NEW -from .base import JOB_STATE_RUNNING -from .base import JOB_STATE_DONE -from .base import JOB_STATE_ERROR - -from .base import Ctrl -from .base import Trials -from .base import trials_from_docs -from .base import Domain - -from .fmin import fmin -from .fmin import fmin_pass_expr_memo_ctrl -from .fmin import FMinIter -from .fmin import partial -from .fmin import space_eval - -# -- syntactic sugar -from . import hp - -# -- exceptions -from . import exceptions - -# -- Import built-in optimization algorithms -from . import rand -from . import tpe -from . import mix -from . import anneal - -__version__ = '0.1' diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/algobase.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/algobase.py deleted file mode 100644 index 64044c29..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/algobase.py +++ /dev/null @@ -1,270 +0,0 @@ -""" Support code for new-style search algorithms. -""" -from __future__ import print_function -from builtins import object -import copy -from collections import deque - -import numpy as np - -from . import pyll -from .base import miscs_update_idxs_vals - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - - -class ExprEvaluator(object): - def __init__(self, expr, - deepcopy_inputs=False, - max_program_len=None, - memo_gc=True): - """ - Parameters - ---------- - - expr - pyll Apply instance to be evaluated - - deepcopy_inputs - deepcopy inputs to every node prior to calling that - node's function on those inputs. If this leads to a different - return value, then some function (XXX add more complete DebugMode - functionality) in your graph is modifying its inputs and causing - mis-calculation. XXX: This is not a fully-functional DebugMode - because if the offender happens on account of the toposort order - to be the last user of said input, then it will not be detected as - a potential problem. - - max_program_len : int (default pyll.base.DEFAULT_MAX_PROGRAM_LEN) - If more than this many nodes are evaluated in the course of - evaluating `expr`, then evaluation is aborted under the assumption - that an infinite recursion is underway. - - memo_gc : bool - If True, values computed for apply nodes within `expr` may be - cleared during computation. The bookkeeping required to do this - takes a bit of extra time, but usually no big deal. - - """ - self.expr = pyll.as_apply(expr) - if deepcopy_inputs not in (0, 1, False, True): - # -- I've been calling rec_eval(expr, memo) by accident a few times - # this error would have been appreciated. - # - # TODO: Good candidate for Py3K keyword-only argument - raise ValueError('deepcopy_inputs should be bool', deepcopy_inputs) - self.deepcopy_inputs = deepcopy_inputs - if max_program_len is None: - self.max_program_len = pyll.base.DEFAULT_MAX_PROGRAM_LEN - else: - self.max_program_len = max_program_len - self.memo_gc = memo_gc - - def eval_nodes(self, memo=None): - if memo is None: - memo = {} - else: - memo = dict(memo) - - # TODO: optimize dfs to not recurse past the items in memo - # this is especially important for evaluating Lambdas - # which cause rec_eval to recurse - # - # N.B. that Lambdas may expand the graph during the evaluation - # so that this iteration may be an incomplete - if self.memo_gc: - clients = self.clients = {} - for aa in pyll.dfs(self.expr): - clients.setdefault(aa, set()) - for ii in aa.inputs(): - clients.setdefault(ii, set()).add(aa) - - todo = deque([self.expr]) - while todo: - if len(todo) > self.max_program_len: - raise RuntimeError('Probably infinite loop in document') - node = todo.pop() - - if node in memo: - # -- we've already computed this, move on. - continue - - # -- different kinds of nodes are treated differently: - if node.name == 'switch': - waiting_on = self.on_switch(memo, node) - if waiting_on is None: - continue - elif isinstance(node, pyll.Literal): - # -- constants go straight into the memo - self.set_in_memo(memo, node, node.obj) - continue - else: - # -- normal instruction-type nodes have inputs - waiting_on = [v for v in node.inputs() if v not in memo] - - if waiting_on: - # -- Necessary inputs have yet to be evaluated. - # push the node back in the queue, along with the - # inputs it still needs - todo.append(node) - todo.extend(waiting_on) - else: - rval = self.on_node(memo, node) - if isinstance(rval, pyll.Apply): - # -- if an instruction returns a Pyll apply node - # it means evaluate that too. Lambdas do this. - # - # XXX: consider if it is desirable, efficient, buggy - # etc. to keep using the same memo dictionary. - # I think it is OK because by using the same - # dictionary all of the nodes are stored in the memo - # so all keys are preserved until the entire outer - # function returns - evaluator = self.__class__(rval, - self.deep_copy_inputs, - self.max_program_len, - self.memo_gc) - foo = evaluator(memo) - self.set_in_memo(memo, node, foo) - else: - self.set_in_memo(memo, node, rval) - return memo - - def set_in_memo(self, memo, k, v): - """Assign memo[k] = v - - This is implementation optionally drops references to the arguments - "clients" required to compute apply-node `k`, which allows those - objects to be garbage-collected. This feature is enabled by - `self.memo_gc`. - - """ - if self.memo_gc: - assert v is not pyll.base.GarbageCollected - memo[k] = v - for ii in k.inputs(): - # -- if all clients of ii are already in the memo - # then we can free memo[ii] by replacing it - # with a dummy symbol - if all(iic in memo for iic in self.clients[ii]): - memo[ii] = pyll.base.GarbageCollected - else: - memo[k] = v - - def on_switch(self, memo, node): - # -- pyll.base.switch is a control-flow expression. - # - # It's signature is - # int, option0, option1, option2, ..., optionN - # - # The semantics of a switch node are to only evaluate the option - # corresponding to the value of the leading integer. (Think of - # a switch block in the C language.) - # - # This is a helper-function to self.eval_nodes. It returns None, - # or a list of apply-nodes required to evaluate the given switch - # node. - # - # When it returns None, the memo has been updated so that - # memo[`node`] has been assigned the computed value for the given - # switch node. - # - switch_i_var = node.pos_args[0] - if switch_i_var in memo: - switch_i = memo[switch_i_var] - try: - int(switch_i) - except: - raise TypeError('switch argument was', switch_i) - if switch_i != int(switch_i) or switch_i < 0: - raise ValueError('switch pos must be positive int', - switch_i) - rval_var = node.pos_args[switch_i + 1] - if rval_var in memo: - self.set_in_memo(memo, node, memo[rval_var]) - return - else: - return [rval_var] - else: - return [switch_i_var] - - def on_node(self, memo, node): - # -- Retrieve computed arguments of apply node - args = _args = [memo[v] for v in node.pos_args] - kwargs = _kwargs = dict([(k, memo[v]) - for (k, v) in node.named_args]) - - if self.memo_gc: - # -- Ensure no computed argument has been (accidentally) freed for - # garbage-collection. - for aa in args + list(kwargs.values()): - assert aa is not pyll.base.GarbageCollected - - if self.deepcopy_inputs: - # -- I think this is supposed to be skipped if node.pure == True - # because that attribute is supposed to mark the node as having - # no side-effects that affect expression-evaluation. - # - # HOWEVER That has not been tested in a while, and it's hard to - # verify (with e.g. unit tests) that a node marked "pure" isn't - # lying. So we hereby ignore the `pure` attribute and copy - # everything to be on the safe side. - args = copy.deepcopy(_args) - kwargs = copy.deepcopy(_kwargs) - - return pyll.scope._impls[node.name](*args, **kwargs) - - -class SuggestAlgo(ExprEvaluator): - """Add constructor and call signature to match suggest() - - Also, detect when on_node is handling a hyperparameter, and - delegate that to an `on_node_hyperparameter` method. This method - must be implemented by a derived class. - """ - def __init__(self, domain, trials, seed): - ExprEvaluator.__init__(self, domain.s_idxs_vals) - self.domain = domain - self.trials = trials - self.label_by_node = dict([ - (n, l) for l, n in list(self.domain.vh.vals_by_label().items())]) - self._seed = seed - self.rng = np.random.RandomState(seed) - - def __call__(self, new_id): - self.rng.seed(self._seed + new_id) - memo = self.eval_nodes( - memo={ - self.domain.s_new_ids: [new_id], - self.domain.s_rng: self.rng, - }) - idxs, vals = memo[self.expr] - new_result = self.domain.new_result() - new_misc = dict( - tid=new_id, - cmd=self.domain.cmd, - workdir=self.domain.workdir) - miscs_update_idxs_vals([new_misc], idxs, vals) - rval = self.trials.new_trial_docs( - [new_id], [None], [new_result], [new_misc]) - return rval - - def on_node(self, memo, node): - if node in self.label_by_node: - label = self.label_by_node[node] - return self.on_node_hyperparameter(memo, node, label) - else: - return ExprEvaluator.on_node(self, memo, node) - - def batch(self, new_ids): - new_ids = list(new_ids) - self.rng.seed([self._seed] + new_ids) - memo = self.eval_nodes( - memo={ - self.domain.s_new_ids: new_ids, - self.domain.s_rng: self.rng, - }) - idxs, vals = memo[self.expr] - return idxs, vals - -# -- flake-8 abhors blank line EOF diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/anneal.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/anneal.py deleted file mode 100644 index 5018ab4b..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/anneal.py +++ /dev/null @@ -1,416 +0,0 @@ -""" -Annealing algorithm for hyperopt - -Annealing is a simple but effective variant on random search that -takes some advantage of a smooth response surface. - -The simple (but not overly simple) code of simulated annealing makes this file -a good starting point for implementing new search algorithms. - -""" -from __future__ import print_function -from __future__ import absolute_import -from __future__ import division -from builtins import zip -from past.utils import old_div -import logging -import numpy as np -from .pyll.stochastic import ( - categorical, - normal, - lognormal, - qnormal, - qlognormal, - uniform, - loguniform, - quniform, - qloguniform, -) -from .base import miscs_to_idxs_vals -from .algobase import ( - SuggestAlgo, - ExprEvaluator, -) - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - -logger = logging.getLogger(__name__) - - -class AnnealingAlgo(SuggestAlgo): - """ - This simple annealing algorithm begins by sampling from the prior, - but tends over time to sample from points closer and closer to the best - ones observed. - - In addition to the value of this algorithm as a baseline optimization - strategy, it is a simple starting point for implementing new algorithms. - - # The Annealing Algorithm - - The annealing algorithm is to choose one of the previous trial points - as a starting point, and then to sample each hyperparameter from a similar - distribution to the one specified in the prior, but whose density is more - concentrated around the trial point we selected. - - This algorithm is a simple variation on random search that leverages - smoothness in the response surface. The annealing rate is not adaptive. - - ## Choosing a Best Trial - - The algorithm formalizes the notion of "one of the best trials" by - sampling a position from a geometric distribution whose mean is the - `avg_best_idx` parameter. The "best trial" is the trial thus selected - from the set of all trials (`self.trials`). - - It may happen that in the process of ancestral sampling, we may find that - the best trial at some ancestral point did not use the hyperparameter we - need to draw. In such a case, this algorithm will draw a new "runner up" - best trial, and use that one as if it had been chosen as the best trial. - - The set of best trials, and runner-up best trials obtained during the - process of choosing all hyperparameters is kept sorted by the validation - loss, and at each point where the best trial does not define a - required hyperparameter value, we actually go through all the list of - runners-up too, before giving up and adding a new runner-up trial. - - - ## Concentrating Prior Distributions - - To sample a hyperparameter X within a search space, we look at - what kind of hyperparameter it is (what kind of distribution it's from) - and the previous successful values of that hyperparameter, and make - a new proposal for that hyperparameter independently of other - hyperparameters (except technically any choice nodes that led us to use - this current hyperparameter in the first place). - - For example, if X is a uniform-distributed hyperparameters drawn from - `U(l, h)`, we look at the value `x` of the hyperparameter in the selected - trial, and draw from a new uniform density `U(x - w/2, x + w/2)`, where w - is related to the initial range, and the number of observations we have for - X so far. If W is the initial range, and T is the number of observations - we have, then w = W / (1 + T * shrink_coef). If the resulting range would - extend either below l or above h, we shift it to fit into the original - bounds. - - """ - - def __init__(self, domain, trials, seed, - avg_best_idx=2.0, - shrink_coef=0.1): - """ - Parameters - ---------- - avg_best_idx: float - Mean of geometric distribution over which trial to explore around, - selecting from trials sorted by score (0 is best) - - shrink_coef: float - Rate of reduction in the size of sampling neighborhood as more - points have been explored. - """ - SuggestAlgo.__init__(self, domain, trials, seed=seed) - self.avg_best_idx = avg_best_idx - self.shrink_coef = shrink_coef - doc_by_tid = {} - for doc in trials.trials: - # get either this docs own tid or the one that it's from - tid = doc['tid'] - loss = domain.loss(doc['result'], doc['spec']) - if loss is None: - # -- associate infinite loss to new/running/failed jobs - loss = float('inf') - else: - loss = float(loss) - doc_by_tid[tid] = (doc, loss) - self.tid_docs_losses = sorted(doc_by_tid.items()) - self.tids = np.asarray([t for (t, (d, l)) in self.tid_docs_losses]) - self.losses = np.asarray([l for (t, (d, l)) in self.tid_docs_losses]) - self.tid_losses_dct = dict(list(zip(self.tids, self.losses))) - # node_tids: dict from hp label -> trial ids (tids) using that hyperparam - # node_vals: dict from hp label -> values taken by that hyperparam - self.node_tids, self.node_vals = miscs_to_idxs_vals( - [d['misc'] for (tid, (d, l)) in self.tid_docs_losses], - keys=list(domain.params.keys())) - self.best_tids = [] - - def shrinking(self, label): - """Return fraction of original search width - - Parameters - ---------- - label: string - the name of a hyperparameter - """ - T = len(self.node_vals[label]) - return old_div(1.0, (1.0 + T * self.shrink_coef)) - - def choose_ltv(self, label, size): - """Returns (loss, tid, val) of best/runner-up trial - """ - tids = self.node_tids[label] - vals = self.node_vals[label] - losses = [self.tid_losses_dct[tid] for tid in tids] - - if size == 1: - # -- try to return the value corresponding to one of the - # trials that was previously chosen (non-independence - # of hyperparameter values) - # This doesn't really make sense if we're sampling a lot of - # points at a time. - tid_set = set(tids) - for tid in self.best_tids: - if tid in tid_set: - idx = tids.index(tid) - rval = losses[idx], tid, vals[idx] - return rval - - # -- choose a new good seed point - good_idx = self.rng.geometric(old_div(1.0, self.avg_best_idx), size=size) - 1 - good_idx = np.clip(good_idx, 0, len(tids) - 1).astype('int32') - - picks = np.argsort(losses)[good_idx] - picks_loss = np.asarray(losses)[picks] - picks_tids = np.asarray(tids)[picks] - picks_vals = np.asarray(vals)[picks] - - if size == 1: - self.best_tids.append(int(picks_tids)) - return picks_loss, picks_tids, picks_vals - - def on_node_hyperparameter(self, memo, node, label): - """ - Return a new value for one hyperparameter. - - Parameters: - ----------- - - memo - a partially-filled dictionary of node -> list-of-values - for the nodes in a vectorized representation of the - original search space. - - node - an Apply instance in the vectorized search space, - which corresponds to a hyperparameter - - label - a string, the name of the hyperparameter - - - Returns: a list with one value in it: the suggested value for this - hyperparameter - - - Notes - ----- - - This function works by delegating to self.hp_HPTYPE functions to - handle each of the kinds of hyperparameters in hyperopt.pyll_utils. - - Other search algorithms can implement this function without - delegating based on the hyperparameter type, but it's a pattern - I've used a few times so I show it here. - - """ - n_observations = len(self.node_vals[label]) - if n_observations > 0: - # -- Pick a previous trial on which to base the new sample - size = memo[node.arg['size']] - loss, tid, val = self.choose_ltv(label, size=size) - try: - handler = getattr(self, 'hp_%s' % node.name) - except AttributeError: - raise NotImplementedError('Annealing', node.name) - return handler(memo, node, label, tid, val) - else: - # -- Draw the new sample from the prior - return ExprEvaluator.on_node(self, memo, node) - - def hp_uniform(self, memo, node, label, tid, val, - log_scale=False, - pass_q=False, - uniform_like=uniform): - """ - Return a new value for a uniform hyperparameter. - - Parameters: - ----------- - - memo - (see on_node_hyperparameter) - - node - (see on_node_hyperparameter) - - label - (see on_node_hyperparameter) - - tid - trial-identifier of the model trial on which to base a new sample - - val - the value of this hyperparameter on the model trial - - Returns: a list with one value in it: the suggested value for this - hyperparameter - """ - if log_scale: - midpt = np.log(val) - else: - midpt = val - high = memo[node.arg['high']] - low = memo[node.arg['low']] - width = (high - low) * self.shrinking(label) - half = .5 * width - min_midpt = low + half - max_midpt = high - half - clipped_midpt = np.clip(midpt, min_midpt, max_midpt) - - # if pass_q: - # assert low <= val <= high, (low, val, high) - # else: - # val = min(high, max(val, low)) - # new_high = min(high, val + width / 2) - # if new_high == high: - # new_low = new_high - width - # else: - # new_low = max(low, val - width / 2) - # if new_low == low: - # new_high = min(high, new_low + width) - # assert low <= new_low <= new_high <= high - if pass_q: - return uniform_like( - low=clipped_midpt - half, - high=clipped_midpt + half, - rng=self.rng, - q=memo[node.arg['q']], - size=memo[node.arg['size']]) - else: - return uniform_like( - low=clipped_midpt - half, - high=clipped_midpt + half, - rng=self.rng, - size=memo[node.arg['size']]) - - def hp_quniform(self, *args, **kwargs): - return self.hp_uniform( - pass_q=True, - uniform_like=quniform, - *args, - **kwargs) - - def hp_loguniform(self, *args, **kwargs): - return self.hp_uniform( - log_scale=True, - pass_q=False, - uniform_like=loguniform, - *args, - **kwargs) - - def hp_qloguniform(self, *args, **kwargs): - return self.hp_uniform( - log_scale=True, - pass_q=True, - uniform_like=qloguniform, - *args, - **kwargs) - - def hp_randint(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - upper = memo[node.arg['upper']] - val1 = np.atleast_1d(val) - if val1.size: - counts = old_div(np.bincount(val1, minlength=upper), float(val1.size)) - else: - counts = np.zeros(upper) - prior = 1.0 - prior = self.shrinking(label) - p = (1 - prior) * counts + prior * (old_div(1.0, upper)) - rval = categorical(p=p, upper=upper, rng=self.rng, - size=memo[node.arg['size']]) - return rval - - def hp_categorical(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - size = memo[node.arg['size']] - if size == 0: - return [] - val1 = np.atleast_1d(val) - p = p_orig = np.asarray(memo[node.arg['p']]) - if p.ndim == 2: - if len(p) not in (1, len(val1)): - print(node) - print(p) - print(np.asarray(p).shape) - assert len(p) in (1, len(val1)) - else: - assert p.ndim == 1 - p = p[np.newaxis, :] - upper = memo[node.arg['upper']] - if val1.size: - counts = old_div(np.bincount(val1, minlength=upper), float(val1.size)) - prior = self.shrinking(label) - else: - counts = np.zeros(upper) - prior = 1.0 - new_p = (1 - prior) * counts + prior * p - assert new_p.ndim == 2 - rval = categorical(p=new_p, rng=self.rng, size=size) - if p_orig.ndim == 1: - assert len(rval) == 1 - return rval[0] - else: - return rval - - def hp_normal(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - return normal( - mu=val, - sigma=memo[node.arg['sigma']] * self.shrinking(label), - rng=self.rng, - size=memo[node.arg['size']]) - - def hp_lognormal(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - return lognormal( - mu=np.log(val), - sigma=memo[node.arg['sigma']] * self.shrinking(label), - rng=self.rng, - size=memo[node.arg['size']]) - - def hp_qlognormal(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - return qlognormal( - # -- prevent log(0) without messing up algo - mu=np.log(1e-16 + val), - sigma=memo[node.arg['sigma']] * self.shrinking(label), - q=memo[node.arg['q']], - rng=self.rng, - size=memo[node.arg['size']]) - - def hp_qnormal(self, memo, node, label, tid, val): - """ - Parameters: See `hp_uniform` - """ - return qnormal( - mu=val, - sigma=memo[node.arg['sigma']] * self.shrinking(label), - q=memo[node.arg['q']], - rng=self.rng, - size=memo[node.arg['size']]) - - -def suggest(new_ids, domain, trials, seed, *args, **kwargs): - new_id, = new_ids - return AnnealingAlgo(domain, trials, seed, *args, **kwargs)(new_id) - - -def suggest_batch(new_ids, domain, trials, seed, *args, **kwargs): - return AnnealingAlgo(domain, trials, seed, *args, **kwargs).batch(new_ids) - -# -- flake-8 abhors blank line EOF diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/base.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/base.py deleted file mode 100644 index 956fcc9e..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/base.py +++ /dev/null @@ -1,955 +0,0 @@ -"""Base classes / Design - -The design is that there are three components fitting together in this project: - -- Trials - a list of documents including at least sub-documents: - ['spec'] - the specification of hyper-parameters for a job - ['result'] - the result of Domain.evaluate(). Typically includes: - ['status'] - one of the STATUS_STRINGS - ['loss'] - real-valued scalar that hyperopt is trying to minimize - ['idxs'] - compressed representation of spec - ['vals'] - compressed representation of spec - ['tid'] - trial id (unique in Trials list) - -- Domain - specifies a search problem - -- Ctrl - a channel for two-way communication - between an Experiment and Domain.evaluate. - Experiment subclasses may subclass Ctrl to match. For example, if an - experiment is going to dispatch jobs in other threads, then an - appropriate thread-aware Ctrl subclass should go with it. - -""" -from __future__ import print_function -from __future__ import absolute_import -from builtins import str -from builtins import map -from builtins import zip -from builtins import range -from past.builtins import basestring -from builtins import object -import logging -import datetime -import sys - -import numpy as np - -try: - import bson # -- comes with pymongo - from bson.objectid import ObjectId - have_bson = True -except ImportError: - have_bson = False - -from . import pyll -from .pyll.stochastic import recursive_set_rng_kwarg - -from .exceptions import ( - DuplicateLabel, InvalidTrial, InvalidResultStatus, InvalidLoss) -from .utils import pmin_sampled -from .utils import use_obj_for_literal_in_memo -from .vectorize import VectorizeHelper - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - -logger = logging.getLogger(__name__) - - -# -- STATUS values -# An eval_fn returning a dictionary must have a status key with -# one of these values. They are used by optimization routines -# and plotting functions. - -STATUS_NEW = 'new' -STATUS_RUNNING = 'running' -STATUS_SUSPENDED = 'suspended' -STATUS_OK = 'ok' -STATUS_FAIL = 'fail' -STATUS_STRINGS = ( - 'new', # computations have not started - 'running', # computations are in prog - 'suspended', # computations have been suspended, job is not finished - 'ok', # computations are finished, terminated normally - 'fail') # computations are finished, terminated with error -# - result['status_fail'] should contain more info - - -# -- JOBSTATE values -# These are used internally by the scheduler. -# These values are used to communicate between an Experiment -# and a worker process. Consider moving them to mongoexp. - -# -- named constants for job execution pipeline -JOB_STATE_NEW = 0 -JOB_STATE_RUNNING = 1 -JOB_STATE_DONE = 2 -JOB_STATE_ERROR = 3 -JOB_STATES = [ - JOB_STATE_NEW, - JOB_STATE_RUNNING, - JOB_STATE_DONE, - JOB_STATE_ERROR] - - -TRIAL_KEYS = [ - 'tid', - 'spec', - 'result', - 'misc', - 'state', - 'owner', - 'book_time', - 'refresh_time', - 'exp_key'] - -TRIAL_MISC_KEYS = [ - 'tid', - 'cmd', - 'idxs', - 'vals'] - - -def _all_same(*args): - return 1 == len(set(args)) - - -def SONify(arg, memo=None): - if not have_bson: - return arg - add_arg_to_raise = True - try: - if memo is None: - memo = {} - if id(arg) in memo: - rval = memo[id(arg)] - if isinstance(arg, ObjectId): - rval = arg - elif isinstance(arg, datetime.datetime): - rval = arg - elif isinstance(arg, np.floating): - rval = float(arg) - elif isinstance(arg, np.integer): - rval = int(arg) - elif isinstance(arg, (list, tuple)): - rval = type(arg)([SONify(ai, memo) for ai in arg]) - elif isinstance(arg, dict): - rval = dict( - [(SONify(k, memo), SONify(v, memo)) for k, v in list(arg.items())]) - elif isinstance(arg, (basestring, float, int, int, type(None))): - rval = arg - elif isinstance(arg, np.ndarray): - if arg.ndim == 0: - rval = SONify(arg.sum()) - else: - rval = list(map(SONify, arg)) # N.B. memo None - # -- put this after ndarray because ndarray not hashable - elif arg in (True, False): - rval = int(arg) - else: - add_arg_to_raise = False - raise TypeError('SONify', arg) - except Exception as e: - if add_arg_to_raise: - e.args = e.args + (arg,) - raise - memo[id(rval)] = rval - return rval - - -def miscs_update_idxs_vals(miscs, idxs, vals, - assert_all_vals_used=True, - idxs_map=None): - """ - Unpack the idxs-vals format into the list of dictionaries that is - `misc`. - - idxs_map: a dictionary of id->id mappings so that the misc['idxs'] can - contain different numbers than the idxs argument. XXX CLARIFY - """ - if idxs_map is None: - idxs_map = {} - - assert set(idxs.keys()) == set(vals.keys()) - - misc_by_id = dict([(m['tid'], m) for m in miscs]) - for m in miscs: - m['idxs'] = dict([(key, []) for key in idxs]) - m['vals'] = dict([(key, []) for key in idxs]) - - for key in idxs: - assert len(idxs[key]) == len(vals[key]) - for tid, val in zip(idxs[key], vals[key]): - tid = idxs_map.get(tid, tid) - if assert_all_vals_used or tid in misc_by_id: - misc_by_id[tid]['idxs'][key] = [tid] - misc_by_id[tid]['vals'][key] = [val] - - return miscs - - -def miscs_to_idxs_vals(miscs, keys=None): - if keys is None: - if len(miscs) == 0: - raise ValueError('cannot infer keys from empty miscs') - keys = list(miscs[0]['idxs'].keys()) - idxs = dict([(k, []) for k in keys]) - vals = dict([(k, []) for k in keys]) - for misc in miscs: - for node_id in idxs: - t_idxs = misc['idxs'][node_id] - t_vals = misc['vals'][node_id] - assert len(t_idxs) == len(t_vals) - assert t_idxs == [] or t_idxs == [misc['tid']] - idxs[node_id].extend(t_idxs) - vals[node_id].extend(t_vals) - return idxs, vals - - -def spec_from_misc(misc): - spec = {} - for k, v in list(misc['vals'].items()): - if len(v) == 0: - pass - elif len(v) == 1: - spec[k] = v[0] - else: - raise NotImplementedError('multiple values', (k, v)) - return spec - - -class Trials(object): - """Database interface supporting data-driven model-based optimization. - - The model-based optimization algorithms used by hyperopt's fmin function - work by analyzing samples of a response surface--a history of what points - in the search space were tested, and what was discovered by those tests. - A Trials instance stores that history and makes it available to fmin and - to the various optimization algorithms. - - This class (`base.Trials`) is a pure-Python implementation of the database - in terms of lists of dictionaries. Subclass `mongoexp.MongoTrials` - implements the same API in terms of a mongodb database running in another - process. Other subclasses may be implemented in future. - - The elements of `self.trials` represent all of the completed, in-progress, - and scheduled evaluation points from an e.g. `fmin` call. - - Each element of `self.trials` is a dictionary with *at least* the following - keys: - - * **tid**: a unique trial identification object within this Trials instance - usually it is an integer, but it isn't obvious that other sortable, - hashable objects couldn't be used at some point. - - * **result**: a sub-dictionary representing what was returned by the fmin - evaluation function. This sub-dictionary has a key 'status' with a value - from `STATUS_STRINGS` and the status is `STATUS_OK`, then there should be - a 'loss' key as well with a floating-point value. Other special keys in - this sub-dictionary may be used by optimization algorithms (see them - for details). Other keys in this sub-dictionary can be used by the - evaluation function to store miscelaneous diagnostics and debugging - information. - - * **misc**: despite generic name, this is currently where the trial's - hyperparameter assigments are stored. This sub-dictionary has two - elements: `'idxs'` and `'vals'`. The `vals` dictionary is - a sub-sub-dictionary mapping each hyperparameter to either `[]` (if the - hyperparameter is inactive in this trial), or `[]` (if the - hyperparameter is active). The `idxs` dictionary is technically - redundant -- it is the same as `vals` but it maps hyperparameter names - to either `[]` or `[]`. - - """ - - async = False - - def __init__(self, exp_key=None, refresh=True): - self._ids = set() - self._dynamic_trials = [] - self._exp_key = exp_key - self.attachments = {} - if refresh: - self.refresh() - - def view(self, exp_key=None, refresh=True): - rval = object.__new__(self.__class__) - rval._exp_key = exp_key - rval._ids = self._ids - rval._dynamic_trials = self._dynamic_trials - rval.attachments = self.attachments - if refresh: - rval.refresh() - return rval - - def aname(self, trial, name): - return 'ATTACH::%s::%s' % (trial['tid'], name) - - def trial_attachments(self, trial): - """ - Support syntax for load: self.trial_attachments(doc)[name] - # -- does this work syntactically? - # (In any event a 2-stage store will work) - Support syntax for store: self.trial_attachments(doc)[name] = value - """ - - # don't offer more here than in MongoCtrl - class Attachments(object): - - def __contains__(_self, name): - return self.aname(trial, name) in self.attachments - - def __getitem__(_self, name): - return self.attachments[self.aname(trial, name)] - - def __setitem__(_self, name, value): - self.attachments[self.aname(trial, name)] = value - - def __delitem__(_self, name): - del self.attachments[self.aname(trial, name)] - - return Attachments() - - def __iter__(self): - try: - return iter(self._trials) - except AttributeError: - print("You have to refresh before you iterate", file=sys.stderr) - raise - - def __len__(self): - try: - return len(self._trials) - except AttributeError: - print("You have to refresh before you compute len", file=sys.stderr) - raise - - def __getitem__(self, item): - # -- how to make it obvious whether indexing is by _trials position - # or by tid if both are integers? - raise NotImplementedError('') - - def refresh(self): - # In MongoTrials, this method fetches from database - if self._exp_key is None: - self._trials = [ - tt for tt in self._dynamic_trials - if tt['state'] != JOB_STATE_ERROR] - else: - self._trials = [tt - for tt in self._dynamic_trials - if (tt['state'] != JOB_STATE_ERROR and - tt['exp_key'] == self._exp_key)] - self._ids.update([tt['tid'] for tt in self._trials]) - - @property - def trials(self): - return self._trials - - @property - def tids(self): - return [tt['tid'] for tt in self._trials] - - @property - def specs(self): - return [tt['spec'] for tt in self._trials] - - @property - def results(self): - return [tt['result'] for tt in self._trials] - - @property - def miscs(self): - return [tt['misc'] for tt in self._trials] - - @property - def idxs_vals(self): - return miscs_to_idxs_vals(self.miscs) - - @property - def idxs(self): - return self.idxs_vals[0] - - @property - def vals(self): - return self.idxs_vals[1] - - def assert_valid_trial(self, trial): - if not (hasattr(trial, 'keys') and hasattr(trial, 'values')): - raise InvalidTrial('trial should be dict-like', trial) - for key in TRIAL_KEYS: - if key not in trial: - raise InvalidTrial('trial missing key %s', key) - for key in TRIAL_MISC_KEYS: - if key not in trial['misc']: - raise InvalidTrial('trial["misc"] missing key', key) - if trial['tid'] != trial['misc']['tid']: - raise InvalidTrial( - 'tid mismatch between root and misc', - trial) - # -- check for SON-encodable - if have_bson: - try: - bson.BSON.encode(trial) - except: - # TODO: save the trial object somewhere to inspect, fix, re-insert - # so that precious data is not simply deallocated and lost. - print('-' * 80) - print("CANT ENCODE") - print('-' * 80) - raise - if trial['exp_key'] != self._exp_key: - raise InvalidTrial('wrong exp_key', - (trial['exp_key'], self._exp_key)) - # XXX how to assert that tids are unique? - return trial - - def _insert_trial_docs(self, docs): - """insert with no error checking - """ - rval = [doc['tid'] for doc in docs] - self._dynamic_trials.extend(docs) - return rval - - def insert_trial_doc(self, doc): - """insert trial after error checking - - Does not refresh. Call self.refresh() for the trial to appear in - self.specs, self.results, etc. - """ - doc = self.assert_valid_trial(SONify(doc)) - return self._insert_trial_docs([doc])[0] - # refreshing could be done fast in this base implementation, but with - # a real DB the steps should be separated. - - def insert_trial_docs(self, docs): - """ trials - something like is returned by self.new_trial_docs() - """ - docs = [self.assert_valid_trial(SONify(doc)) - for doc in docs] - return self._insert_trial_docs(docs) - - def new_trial_ids(self, N): - aa = len(self._ids) - rval = list(range(aa, aa + N)) - self._ids.update(rval) - return rval - - def new_trial_docs(self, tids, specs, results, miscs): - assert len(tids) == len(specs) == len(results) == len(miscs) - rval = [] - for tid, spec, result, misc in zip(tids, specs, results, miscs): - doc = dict( - state=JOB_STATE_NEW, - tid=tid, - spec=spec, - result=result, - misc=misc) - doc['exp_key'] = self._exp_key - doc['owner'] = None - doc['version'] = 0 - doc['book_time'] = None - doc['refresh_time'] = None - rval.append(doc) - return rval - - def source_trial_docs(self, tids, specs, results, miscs, sources): - assert _all_same(list(map(len, [tids, specs, results, miscs, sources]))) - rval = [] - for tid, spec, result, misc, source in zip(tids, specs, results, miscs, - sources): - doc = dict( - version=0, - tid=tid, - spec=spec, - result=result, - misc=misc, - state=source['state'], - exp_key=source['exp_key'], - owner=source['owner'], - book_time=source['book_time'], - refresh_time=source['refresh_time'], - ) - # -- ensure that misc has the following fields, - # some of which may already by set correctly. - assign = ('tid', tid), ('cmd', None), ('from_tid', source['tid']) - for k, v in assign: - assert doc['misc'].setdefault(k, v) == v - rval.append(doc) - return rval - - def delete_all(self): - self._dynamic_trials = [] - self.attachments = {} - self.refresh() - - def count_by_state_synced(self, arg, trials=None): - """ - Return trial counts by looking at self._trials - """ - if trials is None: - trials = self._trials - if arg in JOB_STATES: - queue = [doc for doc in trials if doc['state'] == arg] - elif hasattr(arg, '__iter__'): - states = set(arg) - assert all([x in JOB_STATES for x in states]) - queue = [doc for doc in trials if doc['state'] in states] - else: - raise TypeError(arg) - rval = len(queue) - return rval - - def count_by_state_unsynced(self, arg): - """ - Return trial counts that count_by_state_synced would return if we - called refresh() first. - """ - if self._exp_key is not None: - exp_trials = [tt - for tt in self._dynamic_trials - if tt['exp_key'] == self._exp_key] - else: - exp_trials = self._dynamic_trials - return self.count_by_state_synced(arg, trials=exp_trials) - - def losses(self, bandit=None): - if bandit is None: - return [r.get('loss') for r in self.results] - else: - return list(map(bandit.loss, self.results, self.specs)) - - def statuses(self, bandit=None): - if bandit is None: - return [r.get('status') for r in self.results] - else: - return list(map(bandit.status, self.results, self.specs)) - - def average_best_error(self, bandit=None): - """Return the average best error of the experiment - - Average best error is defined as the average of bandit.true_loss, - weighted by the probability that the corresponding bandit.loss is best. - - For domains with loss measurement variance of 0, this function simply - returns the true_loss corresponding to the result with the lowest loss. - """ - - if bandit is None: - results = self.results - loss = [r['loss'] - for r in results if r['status'] == STATUS_OK] - loss_v = [r.get('loss_variance', 0) - for r in results if r['status'] == STATUS_OK] - true_loss = [r.get('true_loss', r['loss']) - for r in results if r['status'] == STATUS_OK] - else: - def fmap(f): - rval = np.asarray([ - f(r, s) - for (r, s) in zip(self.results, self.specs) - if bandit.status(r) == STATUS_OK]).astype('float') - if not np.all(np.isfinite(rval)): - raise ValueError() - return rval - loss = fmap(bandit.loss) - loss_v = fmap(bandit.loss_variance) - true_loss = fmap(bandit.true_loss) - loss3 = list(zip(loss, loss_v, true_loss)) - if not loss3: - raise ValueError('Empty loss vector') - loss3.sort() - loss3 = np.asarray(loss3) - if np.all(loss3[:, 1] == 0): - best_idx = np.argmin(loss3[:, 0]) - return loss3[best_idx, 2] - else: - cutoff = 0 - sigma = np.sqrt(loss3[0][1]) - while (cutoff < len(loss3) and - loss3[cutoff][0] < loss3[0][0] + 3 * sigma): - cutoff += 1 - pmin = pmin_sampled(loss3[:cutoff, 0], loss3[:cutoff, 1]) - avg_true_loss = (pmin * loss3[:cutoff, 2]).sum() - return avg_true_loss - - @property - def best_trial(self): - """Trial with lowest loss and status=STATUS_OK - """ - candidates = [t for t in self.trials - if t['result']['status'] == STATUS_OK] - losses = [float(t['result']['loss']) for t in candidates] - assert not np.any(np.isnan(losses)) - best = np.argmin(losses) - return candidates[best] - - @property - def argmin(self): - best_trial = self.best_trial - vals = best_trial['misc']['vals'] - # unpack the one-element lists to values - # and skip over the 0-element lists - rval = {} - for k, v in list(vals.items()): - if v: - rval[k] = v[0] - return rval - - def fmin(self, fn, space, algo, max_evals, - rstate=None, - verbose=0, - pass_expr_memo_ctrl=None, - catch_eval_exceptions=False, - return_argmin=True, - ): - """Minimize a function over a hyperparameter space. - - For most parameters, see `hyperopt.fmin.fmin`. - - Parameters - ---------- - - catch_eval_exceptions : bool, default False - If set to True, exceptions raised by either the evaluation of the - configuration space from hyperparameters or the execution of `fn` - , will be caught by fmin, and recorded in self._dynamic_trials as - error jobs (JOB_STATE_ERROR). If set to False, such exceptions - will not be caught, and so they will propagate to calling code. - - - """ - # -- Stop-gap implementation! - # fmin should have been a Trials method in the first place - # but for now it's still sitting in another file. - from .fmin import fmin - return fmin( - fn, space, algo, max_evals, - trials=self, - rstate=rstate, - verbose=verbose, - allow_trials_fmin=False, # -- prevent recursion - pass_expr_memo_ctrl=pass_expr_memo_ctrl, - catch_eval_exceptions=catch_eval_exceptions, - return_argmin=return_argmin) - - -def trials_from_docs(docs, validate=True, **kwargs): - """Construct a Trials base class instance from a list of trials documents - """ - rval = Trials(**kwargs) - if validate: - rval.insert_trial_docs(docs) - else: - rval._insert_trial_docs(docs) - rval.refresh() - return rval - - -class Ctrl(object): - """Control object for interruptible, checkpoint-able evaluation - """ - info = logger.info - warn = logger.warn - error = logger.error - debug = logger.debug - - def __init__(self, trials, current_trial=None): - # -- attachments should be used like - # attachments[key] - # attachments[key] = value - # where key and value are strings. Client code should not - # expect any dictionary-like behaviour beyond that (no update) - if trials is None: - self.trials = Trials() - else: - self.trials = trials - self.current_trial = current_trial - - def checkpoint(self, r=None): - assert self.current_trial in self.trials._trials - if r is not None: - self.current_trial['result'] = r - - @property - def attachments(self): - """ - Support syntax for load: self.attachments[name] - Support syntax for store: self.attachments[name] = value - """ - return self.trials.trial_attachments(trial=self.current_trial) - - def inject_results(self, specs, results, miscs, new_tids=None): - """Inject new results into self.trials - - Returns ??? XXX - - new_tids can be None, in which case new tids will be generated - automatically - - """ - trial = self.current_trial - assert trial is not None - num_news = len(specs) - assert len(specs) == len(results) == len(miscs) - if new_tids is None: - new_tids = self.trials.new_trial_ids(num_news) - new_trials = self.trials.source_trial_docs(tids=new_tids, - specs=specs, - results=results, - miscs=miscs, - sources=[trial]) - for t in new_trials: - t['state'] = JOB_STATE_DONE - return self.trials.insert_trial_docs(new_trials) - - -class Domain(object): - """Picklable representation of search space and evaluation function. - - """ - rec_eval_print_node_on_error = False - - # -- the Ctrl object is not used directly, but rather - # a live Ctrl instance is inserted for the pyll_ctrl - # in self.evaluate so that it can be accessed from within - # the pyll graph describing the search space. - pyll_ctrl = pyll.as_apply(Ctrl) - - def __init__(self, fn, expr, - workdir=None, - pass_expr_memo_ctrl=None, - name=None, - loss_target=None, - ): - """ - Paramaters - ---------- - - fn : callable - This stores the `fn` argument to `fmin`. (See `hyperopt.fmin.fmin`) - - expr : hyperopt.pyll.Apply - This is the `space` argument to `fmin`. (See `hyperopt.fmin.fmin`) - - workdir : string (or None) - If non-None, the current working directory will be `workdir`while - `expr` and `fn` are evaluated. (XXX Currently only respected by - jobs run via MongoWorker) - - pass_expr_memo_ctrl : bool - If True, `fn` will be called like this: - `fn(self.expr, memo, ctrl)`, - where `memo` is a dictionary mapping `Apply` nodes to their - computed values, and `ctrl` is a `Ctrl` instance for communicating - with a Trials database. This lower-level calling convention is - useful if you want to call e.g. `hyperopt.pyll.rec_eval` yourself - in some customized way. - - name : string (or None) - Label, used for pretty-printing. - - loss_target : float (or None) - The actual or estimated minimum of `fn`. - Some optimization algorithms may behave differently if their first - objective is to find an input that achieves a certain value, - rather than the more open-ended objective of pure minimization. - XXX: Move this from Domain to be an fmin arg. - - """ - self.fn = fn - if pass_expr_memo_ctrl is None: - self.pass_expr_memo_ctrl = getattr(fn, - 'fmin_pass_expr_memo_ctrl', - False) - else: - self.pass_expr_memo_ctrl = pass_expr_memo_ctrl - - self.expr = pyll.as_apply(expr) - - self.params = {} - for node in pyll.dfs(self.expr): - if node.name == 'hyperopt_param': - label = node.arg['label'].obj - if label in self.params: - raise DuplicateLabel(label) - self.params[label] = node.arg['obj'] - - self.loss_target = loss_target - self.name = name - - self.workdir = workdir - self.s_new_ids = pyll.Literal('new_ids') # -- list at eval-time - before = pyll.dfs(self.expr) - # -- raises exception if expr contains cycles - pyll.toposort(self.expr) - vh = self.vh = VectorizeHelper(self.expr, self.s_new_ids) - # -- raises exception if v_expr contains cycles - pyll.toposort(vh.v_expr) - - idxs_by_label = vh.idxs_by_label() - vals_by_label = vh.vals_by_label() - after = pyll.dfs(self.expr) - # -- try to detect if VectorizeHelper screwed up anything inplace - assert before == after - assert set(idxs_by_label.keys()) == set(vals_by_label.keys()) - assert set(idxs_by_label.keys()) == set(self.params.keys()) - - self.s_rng = pyll.Literal('rng-placeholder') - # -- N.B. operates inplace: - self.s_idxs_vals = recursive_set_rng_kwarg( - pyll.scope.pos_args(idxs_by_label, vals_by_label), - self.s_rng) - - # -- raises an exception if no topological ordering exists - pyll.toposort(self.s_idxs_vals) - - # -- Protocol for serialization. - # self.cmd indicates to e.g. MongoWorker how this domain - # should be [un]serialized. - # XXX This mechanism deserves review as support for ipython - # workers improves. - self.cmd = ('domain_attachment', 'FMinIter_Domain') - - def memo_from_config(self, config): - memo = {} - for node in pyll.dfs(self.expr): - if node.name == 'hyperopt_param': - label = node.arg['label'].obj - # -- hack because it's not really garbagecollected - # this does have the desired effect of crashing the - # function if rec_eval actually needs a value that - # the the optimization algorithm thought to be unnecessary - memo[node] = config.get(label, pyll.base.GarbageCollected) - return memo - - def evaluate(self, config, ctrl, attach_attachments=True): - memo = self.memo_from_config(config) - use_obj_for_literal_in_memo(self.expr, ctrl, Ctrl, memo) - if self.pass_expr_memo_ctrl: - rval = self.fn(expr=self.expr, memo=memo, ctrl=ctrl) - else: - # -- the "work" of evaluating `config` can be written - # either into the pyll part (self.expr) - # or the normal Python part (self.fn) - pyll_rval = pyll.rec_eval( - self.expr, - memo=memo, - print_node_on_error=self.rec_eval_print_node_on_error) - rval = self.fn(pyll_rval) - - if isinstance(rval, (float, int, np.number)): - dict_rval = {'loss': float(rval), 'status': STATUS_OK} - else: - dict_rval = dict(rval) - status = dict_rval['status'] - if status not in STATUS_STRINGS: - raise InvalidResultStatus(dict_rval) - - if status == STATUS_OK: - # -- make sure that the loss is present and valid - try: - dict_rval['loss'] = float(dict_rval['loss']) - except (TypeError, KeyError): - raise InvalidLoss(dict_rval) - - if attach_attachments: - attachments = dict_rval.pop('attachments', {}) - for key, val in list(attachments.items()): - ctrl.attachments[key] = val - - # -- don't do this here because SON-compatibility is only a requirement - # for trials destined for a mongodb. In-memory rvals can contain - # anything. - return dict_rval - - def evaluate_async(self, config, ctrl, attach_attachments=True,): - ''' - this is the first part of async evaluation for ipython parallel engines (see ipy.py) - - This breaks evaluate into two parts to allow for the apply_async call - to only pass the objective function and arguments. - ''' - memo = self.memo_from_config(config) - use_obj_for_literal_in_memo(self.expr, ctrl, Ctrl, memo) - if self.pass_expr_memo_ctrl: - pyll_rval = self.fn(expr=self.expr, memo=memo, ctrl=ctrl) - else: - # -- the "work" of evaluating `config` can be written - # either into the pyll part (self.expr) - # or the normal Python part (self.fn) - pyll_rval = pyll.rec_eval( - self.expr, - memo=memo, - print_node_on_error=self.rec_eval_print_node_on_error) - return (self.fn, pyll_rval) - - def evaluate_async2(self, rval, ctrl, attach_attachments=True): - ''' - this is the second part of async evaluation for ipython parallel engines (see ipy.py) - ''' - if isinstance(rval, (float, int, np.number)): - dict_rval = {'loss': float(rval), 'status': STATUS_OK} - else: - dict_rval = dict(rval) - status = dict_rval['status'] - if status not in STATUS_STRINGS: - raise InvalidResultStatus(dict_rval) - - if status == STATUS_OK: - # -- make sure that the loss is present and valid - try: - dict_rval['loss'] = float(dict_rval['loss']) - except (TypeError, KeyError): - raise InvalidLoss(dict_rval) - - if attach_attachments: - attachments = dict_rval.pop('attachments', {}) - for key, val in list(attachments.items()): - ctrl.attachments[key] = val - - # -- don't do this here because SON-compatibility is only a requirement - # for trials destined for a mongodb. In-memory rvals can contain - # anything. - return dict_rval - - def short_str(self): - return 'Domain{%s}' % str(self.fn) - - def loss(self, result, config=None): - """Extract the scalar-valued loss from a result document - """ - return result.get('loss', None) - - def loss_variance(self, result, config=None): - """Return the variance in the estimate of the loss""" - return result.get('loss_variance', 0.0) - - def true_loss(self, result, config=None): - """Return a true loss, in the case that the `loss` is a surrogate""" - # N.B. don't use get() here, it evaluates self.loss un-necessarily - try: - return result['true_loss'] - except KeyError: - return self.loss(result, config=config) - - def true_loss_variance(self, config=None): - """Return the variance in true loss, - in the case that the `loss` is a surrogate. - """ - raise NotImplementedError() - - def status(self, result, config=None): - """Extract the job status from a result document - """ - return result['status'] - - def new_result(self): - """Return a JSON-encodable object - to serve as the 'result' for new jobs. - """ - return {'status': STATUS_NEW} - - -# -- flake8 doesn't like blank last line diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/criteria.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/criteria.py deleted file mode 100644 index 856621d5..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/criteria.py +++ /dev/null @@ -1,98 +0,0 @@ -"""Criteria for Bayesian optimization -""" -from __future__ import division -from past.utils import old_div -import numpy as np -import scipy.stats - - -def EI_empirical(samples, thresh): - """Expected Improvement over threshold from samples - - (See example usage in EI_gaussian_empirical) - """ - improvement = np.maximum(samples - thresh, 0) - return improvement.mean() - - -def EI_gaussian_empirical(mean, var, thresh, rng, N): - """Expected Improvement of Gaussian over threshold - - (estimated empirically) - """ - return EI_empirical(rng.randn(N) * np.sqrt(var) + mean, thresh) - - -def EI_gaussian(mean, var, thresh): - """Expected Improvement of Gaussian over threshold - - (estimated analytically) - """ - sigma = np.sqrt(var) - score = old_div((mean - thresh), sigma) - n = scipy.stats.norm - return sigma * (score * n.cdf(score) + n.pdf(score)) - - -def logEI_gaussian(mean, var, thresh): - """Return log(EI(mean, var, thresh)) - - This formula avoids underflow in cdf for - thresh >= mean + 37 * sqrt(var) - - """ - assert np.asarray(var).min() >= 0 - sigma = np.sqrt(var) - score = old_div((mean - thresh), sigma) - n = scipy.stats.norm - try: - float(mean) - is_scalar = True - except TypeError: - is_scalar = False - - if is_scalar: - if score < 0: - pdf = n.logpdf(score) - r = np.exp(np.log(-score) + n.logcdf(score) - pdf) - rval = np.log(sigma) + pdf + np.log1p(-r) - if not np.isfinite(rval): - return -np.inf - else: - return rval - else: - return np.log(sigma) + np.log(score * n.cdf(score) + n.pdf(score)) - else: - score = np.asarray(score) - rval = np.zeros_like(score) - - olderr = np.seterr(all='ignore') - try: - negs = score < 0 - nonnegs = np.logical_not(negs) - negs_score = score[negs] - negs_pdf = n.logpdf(negs_score) - r = np.exp(np.log(-negs_score) + - n.logcdf(negs_score) - - negs_pdf) - rval[negs] = np.log(sigma[negs]) + negs_pdf + np.log1p(-r) - nonnegs_score = score[nonnegs] - rval[nonnegs] = np.log(sigma[nonnegs]) + np.log( - nonnegs_score * n.cdf(nonnegs_score) + n.pdf(nonnegs_score)) - rval[np.logical_not(np.isfinite(rval))] = -np.inf - finally: - np.seterr(**olderr) - return rval - - -def UCB(mean, var, zscore): - """Upper Confidence Bound - - For a model which predicts a Gaussian-distributed outcome, the UCB is - - mean + zscore * sqrt(var) - """ - return mean + np.sqrt(var) * zscore - - -# -- flake8 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/exceptions.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/exceptions.py deleted file mode 100644 index f411c187..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/exceptions.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -""" -from builtins import str - - -class BadSearchSpace(Exception): - """Something is wrong in the description of the search space""" - - -class DuplicateLabel(BadSearchSpace): - """A search space included a duplicate label """ - - -class InvalidTrial(ValueError): - """Non trial-like object used as Trial""" - def __init__(self, msg, obj): - ValueError.__init__(self, msg + ' ' + str(obj)) - self.obj = obj - - -class InvalidResultStatus(ValueError): - """Status of fmin evaluation was not in base.STATUS_STRINGS""" - def __init__(self, result): - ValueError.__init__(self) - self.result = result - - -class InvalidLoss(ValueError): - """fmin evaluation returned invalid loss value""" - def __init__(self, result): - ValueError.__init__(self) - self.result = result - -# -- flake8 doesn't like blank last line diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/fmin.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/fmin.py deleted file mode 100644 index 5a7e0afe..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/fmin.py +++ /dev/null @@ -1,345 +0,0 @@ -from __future__ import print_function -from __future__ import absolute_import -from future import standard_library -from builtins import str -from builtins import object -import six.moves.cPickle as pickle - -import functools -import logging -import os -import sys -import time - -import numpy as np - -from . import pyll -from .utils import coarse_utcnow -from . import base - -standard_library.install_aliases() -logger = logging.getLogger(__name__) - - -def fmin_pass_expr_memo_ctrl(f): - """ - Mark a function as expecting kwargs 'expr', 'memo' and 'ctrl' from - hyperopt.fmin. - - expr - the pyll expression of the search space - memo - a partially-filled memo dictionary such that - `rec_eval(expr, memo=memo)` will build the proposed trial point. - ctrl - the Experiment control object (see base.Ctrl) - - """ - f.fmin_pass_expr_memo_ctrl = True - return f - - -def partial(fn, **kwargs): - """functools.partial work-alike for functions decorated with - fmin_pass_expr_memo_ctrl - """ - rval = functools.partial(fn, **kwargs) - if hasattr(fn, 'fmin_pass_expr_memo_ctrl'): - rval.fmin_pass_expr_memo_ctrl = fn.fmin_pass_expr_memo_ctrl - return rval - - -class FMinIter(object): - """Object for conducting search experiments. - """ - catch_eval_exceptions = False - pickle_protocol = -1 - - def __init__(self, algo, domain, trials, rstate, async=None, - max_queue_len=1, - poll_interval_secs=1.0, - max_evals=sys.maxsize, - verbose=0, - ): - self.algo = algo - self.domain = domain - self.trials = trials - if async is None: - self.async = trials.async - else: - self.async = async - self.poll_interval_secs = poll_interval_secs - self.max_queue_len = max_queue_len - self.max_evals = max_evals - self.rstate = rstate - - if self.async: - if 'FMinIter_Domain' in trials.attachments: - logger.warn('over-writing old domain trials attachment') - msg = pickle.dumps( - domain, protocol=self.pickle_protocol) - # -- sanity check for unpickling - pickle.loads(msg) - trials.attachments['FMinIter_Domain'] = msg - - def serial_evaluate(self, N=-1): - for trial in self.trials._dynamic_trials: - if trial['state'] == base.JOB_STATE_NEW: - trial['state'] == base.JOB_STATE_RUNNING - now = coarse_utcnow() - trial['book_time'] = now - trial['refresh_time'] = now - spec = base.spec_from_misc(trial['misc']) - ctrl = base.Ctrl(self.trials, current_trial=trial) - try: - result = self.domain.evaluate(spec, ctrl) - except Exception as e: - logger.info('job exception: %s' % str(e)) - trial['state'] = base.JOB_STATE_ERROR - trial['misc']['error'] = (str(type(e)), str(e)) - trial['refresh_time'] = coarse_utcnow() - if not self.catch_eval_exceptions: - # -- JOB_STATE_ERROR means this trial - # will be removed from self.trials.trials - # by this refresh call. - self.trials.refresh() - raise - else: - trial['state'] = base.JOB_STATE_DONE - trial['result'] = result - trial['refresh_time'] = coarse_utcnow() - N -= 1 - if N == 0: - break - self.trials.refresh() - - def block_until_done(self): - already_printed = False - if self.async: - unfinished_states = [base.JOB_STATE_NEW, base.JOB_STATE_RUNNING] - - def get_queue_len(): - return self.trials.count_by_state_unsynced(unfinished_states) - - qlen = get_queue_len() - while qlen > 0: - if not already_printed: - logger.info('Waiting for %d jobs to finish ...' % qlen) - already_printed = True - time.sleep(self.poll_interval_secs) - qlen = get_queue_len() - self.trials.refresh() - else: - self.serial_evaluate() - - def run(self, N, block_until_done=True): - """ - block_until_done means that the process blocks until ALL jobs in - trials are not in running or new state - - """ - trials = self.trials - algo = self.algo - n_queued = 0 - - def get_queue_len(): - return self.trials.count_by_state_unsynced(base.JOB_STATE_NEW) - - stopped = False - while n_queued < N: - qlen = get_queue_len() - while qlen < self.max_queue_len and n_queued < N: - n_to_enqueue = min(self.max_queue_len - qlen, N - n_queued) - new_ids = trials.new_trial_ids(n_to_enqueue) - self.trials.refresh() - if 0: - for d in self.trials.trials: - print('trial %i %s %s' % (d['tid'], d['state'], - d['result'].get('status'))) - new_trials = algo(new_ids, self.domain, trials, - self.rstate.randint(2 ** 31 - 1)) - assert len(new_ids) >= len(new_trials) - if len(new_trials): - self.trials.insert_trial_docs(new_trials) - self.trials.refresh() - n_queued += len(new_trials) - qlen = get_queue_len() - else: - stopped = True - break - - if self.async: - # -- wait for workers to fill in the trials - time.sleep(self.poll_interval_secs) - else: - # -- loop over trials and do the jobs directly - self.serial_evaluate() - - if stopped: - break - - if block_until_done: - self.block_until_done() - self.trials.refresh() - logger.info('Queue empty, exiting run.') - else: - qlen = get_queue_len() - if qlen: - msg = 'Exiting run, not waiting for %d jobs.' % qlen - logger.info(msg) - - def __iter__(self): - return self - - def __next__(self): - self.run(1, block_until_done=self.async) - if len(self.trials) >= self.max_evals: - raise StopIteration() - return self.trials - - def exhaust(self): - n_done = len(self.trials) - self.run(self.max_evals - n_done, block_until_done=self.async) - self.trials.refresh() - return self - - -def fmin(fn, space, algo, max_evals, trials=None, rstate=None, - allow_trials_fmin=True, pass_expr_memo_ctrl=None, - catch_eval_exceptions=False, - verbose=0, - return_argmin=True, - ): - """Minimize a function over a hyperparameter space. - - More realistically: *explore* a function over a hyperparameter space - according to a given algorithm, allowing up to a certain number of - function evaluations. As points are explored, they are accumulated in - `trials` - - - Parameters - ---------- - - fn : callable (trial point -> loss) - This function will be called with a value generated from `space` - as the first and possibly only argument. It can return either - a scalar-valued loss, or a dictionary. A returned dictionary must - contain a 'status' key with a value from `STATUS_STRINGS`, must - contain a 'loss' key if the status is `STATUS_OK`. Particular - optimization algorithms may look for other keys as well. An - optional sub-dictionary associated with an 'attachments' key will - be removed by fmin its contents will be available via - `trials.trial_attachments`. The rest (usually all) of the returned - dictionary will be stored and available later as some 'result' - sub-dictionary within `trials.trials`. - - space : hyperopt.pyll.Apply node - The set of possible arguments to `fn` is the set of objects - that could be created with non-zero probability by drawing randomly - from this stochastic program involving involving hp_ nodes - (see `hyperopt.hp` and `hyperopt.pyll_utils`). - - algo : search algorithm - This object, such as `hyperopt.rand.suggest` and - `hyperopt.tpe.suggest` provides logic for sequential search of the - hyperparameter space. - - max_evals : int - Allow up to this many function evaluations before returning. - - trials : None or base.Trials (or subclass) - Storage for completed, ongoing, and scheduled evaluation points. If - None, then a temporary `base.Trials` instance will be created. If - a trials object, then that trials object will be affected by - side-effect of this call. - - rstate : numpy.RandomState, default numpy.random or `$HYPEROPT_FMIN_SEED` - Each call to `algo` requires a seed value, which should be different - on each call. This object is used to draw these seeds via `randint`. - The default rstate is - `numpy.random.RandomState(int(env['HYPEROPT_FMIN_SEED']))` - if the `HYPEROPT_FMIN_SEED` environment variable is set to a non-empty - string, otherwise np.random is used in whatever state it is in. - - verbose : int - Print out some information to stdout during search. - - allow_trials_fmin : bool, default True - If the `trials` argument - - pass_expr_memo_ctrl : bool, default False - If set to True, `fn` will be called in a different more low-level - way: it will receive raw hyperparameters, a partially-populated - `memo`, and a Ctrl object for communication with this Trials - object. - - return_argmin : bool, default True - If set to False, this function returns nothing, which can be useful - for example if it is expected that `len(trials)` may be zero after - fmin, and therefore `trials.argmin` would be undefined. - - - Returns - ------- - - argmin : None or dictionary - If `return_argmin` is False, this function returns nothing. - Otherwise, it returns `trials.argmin`. This argmin can be converted - to a point in the configuration space by calling - `hyperopt.space_eval(space, best_vals)`. - - - """ - if rstate is None: - env_rseed = os.environ.get('HYPEROPT_FMIN_SEED', '') - if env_rseed: - rstate = np.random.RandomState(int(env_rseed)) - else: - rstate = np.random.RandomState() - - if allow_trials_fmin and hasattr(trials, 'fmin'): - return trials.fmin( - fn, space, - algo=algo, - max_evals=max_evals, - rstate=rstate, - pass_expr_memo_ctrl=pass_expr_memo_ctrl, - verbose=verbose, - catch_eval_exceptions=catch_eval_exceptions, - return_argmin=return_argmin, - ) - - if trials is None: - trials = base.Trials() - - domain = base.Domain(fn, space, - pass_expr_memo_ctrl=pass_expr_memo_ctrl) - - rval = FMinIter(algo, domain, trials, max_evals=max_evals, - rstate=rstate, - verbose=verbose) - rval.catch_eval_exceptions = catch_eval_exceptions - rval.exhaust() - if return_argmin: - return trials.argmin - - -def space_eval(space, hp_assignment): - """Compute a point in a search space from a hyperparameter assignment. - - Parameters: - ----------- - space - a pyll graph involving hp nodes (see `pyll_utils`). - - hp_assignment - a dictionary mapping hp node labels to values. - """ - space = pyll.as_apply(space) - nodes = pyll.toposort(space) - memo = {} - for node in nodes: - if node.name == 'hyperopt_param': - label = node.arg['label'].eval() - if label in hp_assignment: - memo[node] = hp_assignment[label] - rval = pyll.rec_eval(space, memo=memo) - return rval - -# -- flake8 doesn't like blank last line diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/graphviz.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/graphviz.py deleted file mode 100644 index 49e3aefb..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/graphviz.py +++ /dev/null @@ -1,80 +0,0 @@ -""" -Use graphviz's dot language to express the relationship between hyperparamters -in a search space. - -""" -from __future__ import print_function -from __future__ import absolute_import -from future import standard_library - -import io -from .pyll_utils import expr_to_config - -standard_library.install_aliases() - - -def dot_hyperparameters(expr): - """ - Return a dot language specification of a graph which describes the - relationship between hyperparameters. Each hyperparameter within the - pyll expression `expr` is represented by a rectangular node, and - each value of each choice node that creates a conditional variable - in the search space is represented by an elliptical node. - - The direction of the arrows corresponds to the sequence of events - in an ancestral sampling process. - - E.g.: - >>> open('foo.dot', 'wb').write(dot_hyperparameters(search_space())) - - Then later from the shell, type e.g. - dot -Tpng foo.dot > foo.png && eog foo.png - - Graphviz has other tools too: http://www.graphviz.org - - """ - conditions = () - hps = {} - expr_to_config(expr, conditions, hps) - rval = io.StringIO() - print("digraph {", file=rval) - edges = set() - - def var_node(a): - print('"%s" [ shape=box];' % a, file=rval) - - def cond_node(a): - print('"%s" [ shape=ellipse];' % a, file=rval) - - def edge(a, b): - text = '"%s" -> "%s";' % (a, b) - if text not in edges: - print(text, file=rval) - edges.add(text) - - for hp, dct in list(hps.items()): - # create the node - var_node(hp) - - # create an edge from anything it depends on - for and_conds in dct['conditions']: - if len(and_conds) > 1: - parent_label = ' & '.join([ - '%(name)s%(op)s%(val)s' % cond.__dict__ - for cond in and_conds]) - cond_node(parent_label) - edge(parent_label, hp) - for cond in and_conds: - sub_parent_label = '%s%s%s' % ( - cond.name, cond.op, cond.val) - cond_node(sub_parent_label) - edge(cond.name, sub_parent_label) - edge(sub_parent_label, parent_label) - elif len(and_conds) == 1: - parent_label = '%s%s%s' % ( - and_conds[0].name, and_conds[0].op, and_conds[0].val) - edge(and_conds[0].name, parent_label) - cond_node(parent_label) - edge(parent_label, hp) - print("}", file=rval) - return rval.getvalue() diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/hp.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/hp.py deleted file mode 100644 index 8550e141..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/hp.py +++ /dev/null @@ -1,19 +0,0 @@ -""" -Support nicer user syntax: - from hyperopt import hp - hp.uniform('x', 0, 1) -""" -from __future__ import absolute_import -from .pyll_utils import hp_choice as choice -from .pyll_utils import hp_randint as randint -from .pyll_utils import hp_pchoice as pchoice - -from .pyll_utils import hp_uniform as uniform -from .pyll_utils import hp_quniform as quniform -from .pyll_utils import hp_loguniform as loguniform -from .pyll_utils import hp_qloguniform as qloguniform - -from .pyll_utils import hp_normal as normal -from .pyll_utils import hp_qnormal as qnormal -from .pyll_utils import hp_lognormal as lognormal -from .pyll_utils import hp_qlognormal as qlognormal diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/ipy.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/ipy.py deleted file mode 100644 index 08cd3a31..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/ipy.py +++ /dev/null @@ -1,250 +0,0 @@ -"""Utilities for Parallel Model Selection with -on - -Author: James Bergstra -Licensed: MIT -""" -from __future__ import print_function -from __future__ import absolute_import -from builtins import zip -from builtins import str -from builtins import object -from time import sleep, time - -import numpy as np - -from .base import Trials -from .base import Domain -from .base import JOB_STATE_NEW -from .base import JOB_STATE_RUNNING -from .base import JOB_STATE_DONE -from .base import JOB_STATE_ERROR -from .base import spec_from_misc -from .base import Ctrl -from .utils import coarse_utcnow - -import sys -print(sys.stderr, "WARNING: IPythonTrials is not as complete, stable", file=sys.stderr) -print(" or well tested as Trials or MongoTrials.", file=sys.stderr) - - -class LostEngineError(RuntimeError): - """An IPEngine disappeared during computation, and a job with it.""" - - -class IPythonTrials(Trials): - - def __init__(self, client, - job_error_reaction='raise', - save_ipy_metadata=True): - self._client = client - self._clientlbv = client.load_balanced_view() - self.job_map = {} - self.job_error_reaction = job_error_reaction - self.save_ipy_metadata = save_ipy_metadata - Trials.__init__(self) - self._testing_fmin_was_called = False - - def _insert_trial_docs(self, docs): - rval = [doc['tid'] for doc in docs] - self._dynamic_trials.extend(docs) - return rval - - def refresh(self): - job_map = {} - - # -- carry over state for active engines - for eid in self._client.ids: - job_map[eid] = self.job_map.pop(eid, (None, None)) - - # -- deal with lost engines, abandoned promises - for eid, (p, tt) in list(self.job_map.items()): - if self.job_error_reaction == 'raise': - raise LostEngineError(p) - elif self.job_error_reaction == 'log': - tt['error'] = 'LostEngineError (%s)' % str(p) - tt['state'] = JOB_STATE_ERROR - else: - raise ValueError(self.job_error_reaction) - - # -- remove completed jobs from job_map - for eid, (p, tt) in list(job_map.items()): - if p is None: - continue - if p.ready(): - try: - tt['result'] = p.get() - tt['state'] = JOB_STATE_DONE - job_map[eid] = (None, None) - except Exception as e: - if self.job_error_reaction == 'raise': - raise - elif self.job_error_reaction == 'log': - tt['error'] = str(e) - tt['state'] = JOB_STATE_ERROR - else: - raise ValueError(self.job_error_reaction) - if self.save_ipy_metadata: - tt['ipy_metadata'] = p.metadata - tt['refresh_time'] = coarse_utcnow() - del job_map[eid] - - self.job_map = job_map - Trials.refresh(self) - - def fmin(self, fn, space, **kw): - # TODO: all underscore variables are completely unused throughout. - algo = kw.get('algo') - max_evals = kw.get('max_evals') - rstate = kw.get('rstate', None) - _allow_trials_fmin = True, - _pass_expr_memo_ctrl = None, - _catch_eval_exceptions = False, - verbose = kw.get('verbose', 0) - _return_argmin = True, - wait = True, - pass_expr_memo_ctrl = None, - - if rstate is None: - rstate = np.random - - # -- used in test_ipy - self._testing_fmin_was_called = True - - if pass_expr_memo_ctrl is None: - try: - pass_expr_memo_ctrl = fn.pass_expr_memo_ctrl - except AttributeError: - pass_expr_memo_ctrl = False - - domain = Domain(fn, space, None, - pass_expr_memo_ctrl=False) - - last_print_time = 0 - - while len(self._dynamic_trials) < max_evals: - self.refresh() - - if verbose and last_print_time + 1 < time(): - print('fmin: %4i/%4i/%4i/%4i %f' % ( - self.count_by_state_unsynced(JOB_STATE_NEW), - self.count_by_state_unsynced(JOB_STATE_RUNNING), - self.count_by_state_unsynced(JOB_STATE_DONE), - self.count_by_state_unsynced(JOB_STATE_ERROR), - min([float('inf')] + [l for l in self.losses() if l is not None]) - )) - last_print_time = time() - - idles = [eid for (eid, (p, tt)) in list(self.job_map.items()) if p is None] - - if idles: - new_ids = self.new_trial_ids(len(idles)) - new_trials = algo(new_ids, domain, self, rstate.randint(2 ** 31 - 1)) - if len(new_trials) == 0: - break - else: - assert len(idles) >= len(new_trials) - for eid, new_trial in zip(idles, new_trials): - now = coarse_utcnow() - new_trial['book_time'] = now - new_trial['refresh_time'] = now - tid, = self.insert_trial_docs([new_trial]) - promise = call_domain( - domain, - spec_from_misc(new_trial['misc']), - Ctrl(self, current_trial=new_trial), - new_trial, - self._clientlbv, - eid, - tid, - ) - - # -- XXX bypassing checks because 'ar' - # is not ok for SONify... but should check - # for all else being SONify - - tt = self._dynamic_trials[-1] - assert tt['tid'] == tid - self.job_map[eid] = (promise, tt) - tt['state'] = JOB_STATE_RUNNING - - if wait: - if verbose: - print('fmin: Waiting on remaining jobs...') - self.wait(verbose=verbose) - - return self.argmin - - def wait(self, verbose=False, verbose_print_interval=1.0): - last_print_time = 0 - while True: - self.refresh() - if verbose and last_print_time + verbose_print_interval < time(): - print('fmin: %4i/%4i/%4i/%4i %f' % ( - self.count_by_state_unsynced(JOB_STATE_NEW), - self.count_by_state_unsynced(JOB_STATE_RUNNING), - self.count_by_state_unsynced(JOB_STATE_DONE), - self.count_by_state_unsynced(JOB_STATE_ERROR), - min([float('inf')] + - [l for l in self.losses() if l is not None]) - )) - last_print_time = time() - if self.count_by_state_unsynced(JOB_STATE_NEW): - sleep(1e-1) - continue - if self.count_by_state_unsynced(JOB_STATE_RUNNING): - sleep(1e-1) - continue - break - - def __getstate__(self): - rval = dict(self.__dict__) - del rval['_client'] - del rval['_trials'] - del rval['job_map'] - # print rval.keys() - return rval - - def __setstate__(self, dct): - self.__dict__ = dct - self.job_map = {} - Trials.refresh(self) - - -# Monkey patching to allow the apply_async call and response to -# be handled on behalf of the domain. -class IPYAsync(object): - - def __init__(self, async, domain, rv, eid, tid, ctrl): - self.async = async - self.domain = domain - self.rv = rv - self.metadata = self.async.metadata - self.eid = eid - self.tid = tid - self.ctrl = ctrl - - def ready(self): - return self.async.ready() - - def get(self): - if self.async.successful(): - val = self.async.get() - return self.domain.evaluate_async2(val, self.ctrl) - else: - return self.rv - pass - -# @interactive - - -def call_domain(domain, spec, ctrl, trial, view, eid, tid): - rv = {'loss': None, 'status': 'fail'} - # TODO: rt unused - rt = coarse_utcnow() - # print "in call domain for spec", str(spec) - promise = None - fn, pyll_rval = domain.evaluate_async(spec, ctrl) - promise = IPYAsync(view.apply_async(fn, pyll_rval), domain, rv, eid, tid, ctrl) - - return promise diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/main.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/main.py deleted file mode 100644 index 14cf88a6..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/main.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/env python - -""" -Entry point for bin/* scripts -""" -from __future__ import absolute_import -from future import standard_library -import six.moves.cPickle as pickle -import logging -import os -from . import utils -from .base import SerialExperiment -import sys - -standard_library.install_aliases() -logger = logging.getLogger(__name__) - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - - -def main_search(): - from optparse import OptionParser - parser = OptionParser( - usage="%prog [options] [ ]") - parser.add_option('--load', - default='', - dest="load", - metavar='FILE', - help="unpickle experiment from here on startup") - parser.add_option('--save', - default='experiment.pkl', - dest="save", - metavar='FILE', - help="pickle experiment to here on exit") - parser.add_option("--steps", - dest='steps', - default='100', - metavar='N', - help="exit after queuing this many jobs (default: 100)") - parser.add_option("--workdir", - dest="workdir", - default=os.path.expanduser('~/.hyperopt.workdir'), - help="create workdirs here", - metavar="DIR") - parser.add_option("--bandit-argfile", - dest="bandit_argfile", - default=None, - help="path to file containing arguments bandit constructor \ - file format: pickle of dictionary containing two keys,\ - {'args' : tuple of positional arguments, \ - 'kwargs' : dictionary of keyword arguments}") - parser.add_option("--bandit-algo-argfile", - dest="bandit_algo_argfile", - default=None, - help="path to file containing arguments for bandit_algo " - "constructor. File format is pickled dictionary containing " - "two keys: 'args', a tuple of positional arguments, and " - "'kwargs', a dictionary of keyword arguments. " - "NOTE: bandit is pre-pended as first element of arg tuple.") - - (options, args) = parser.parse_args() - try: - bandit_json, bandit_algo_json = args - except: - parser.print_help() - return -1 - - try: - if not options.load: - raise IOError() - handle = open(options.load, 'rb') - self = pickle.load(handle) - handle.close() - except IOError: - bandit = utils.get_obj(bandit_json, argfile=options.bandit_argfile) - bandit_algo = utils.get_obj(bandit_algo_json, - argfile=options.bandit_algo_argfile, - args=(bandit,)) - self = SerialExperiment(bandit_algo) - - try: - self.run(int(options.steps)) - finally: - if options.save: - pickle.dump(self, open(options.save, 'wb')) - - -def main(cmd, fn_pos=1): - """ - Entry point for bin/* scripts - XXX - """ - logging.basicConfig( - stream=sys.stderr, - level=logging.INFO) - try: - runner = dict( - search='main_search', - dryrun='main_dryrun', - plot_history='main_plot_history', - )[cmd] - except KeyError: - logger.error("Command not recognized: %s" % cmd) - # XXX: Usage message - sys.exit(1) - try: - # TODO: argv1 never used - argv1 = sys.argv[fn_pos] - except IndexError: - logger.error('Module name required (XXX: print Usage)') - return 1 - - # TODO: datasets is not imported at this point - fn = datasets.main.load_tokens(sys.argv[fn_pos].split('.') + [runner]) - sys.exit(fn(sys.argv[fn_pos + 1:])) - -if __name__ == '__main__': - cmd = sys.argv[1] - sys.exit(main(cmd, 2)) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mix.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mix.py deleted file mode 100644 index 998d1774..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mix.py +++ /dev/null @@ -1,36 +0,0 @@ -from builtins import zip -import numpy as np - - -def suggest(new_ids, domain, trials, seed, p_suggest): - """Return the result of a randomly-chosen suggest function - - For exampl to search by sometimes using random search, sometimes anneal, - and sometimes tpe, type: - - fmin(..., - algo=partial(mix.suggest, - p_suggest=[ - (.1, rand.suggest), - (.2, anneal.suggest), - (.7, tpe.suggest),]), - ) - - - Parameters - ---------- - - p_suggest: list of (probability, suggest) pairs - Make a suggestion from one of the suggest functions, - in proportion to its corresponding probability. - sum(probabilities) must be [close to] 1.0 - - """ - rng = np.random.RandomState(seed) - ps, suggests = list(zip(*p_suggest)) - assert len(ps) == len(suggests) == len(p_suggest) - if not np.isclose(sum(ps), 1.0): - raise ValueError('Probabilities should sum to 1', ps) - idx = rng.multinomial(n=1, pvals=ps).argmax() - return suggests[idx](new_ids, domain, trials, - seed=int(rng.randint(2 ** 31))) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mongoexp.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mongoexp.py deleted file mode 100644 index e7cd1ce2..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/mongoexp.py +++ /dev/null @@ -1,1302 +0,0 @@ -""" -Mongodb-based Trials Object -=========================== - -Components involved: - -- mongo - e.g. mongod ... - -- driver - e.g. hyperopt-mongo-search mongo://address bandit_json bandit_algo_json - -- worker - e.g. hyperopt-mongo-worker --loop mongo://address - - -Mongo -===== - -Mongo (daemon process mongod) is used for IPC between the driver and worker. -Configure it as you like, so that hyperopt-mongo-search can communicate with it. -I think there is some support in this file for an ssh+mongo connection type. - -The experiment uses the following collections for IPC: - -* jobs - documents of a standard form used to store suggested trials and their - results. These documents have keys: - * spec : subdocument returned by bandit_algo.suggest - * exp_key: an identifier of which driver suggested this trial - * cmd: a tuple (protocol, ...) identifying bandit.evaluate - * state: 0, 1, 2, 3 for job state (new, running, ok, fail) - * owner: None for new jobs, (hostname, pid) for started jobs - * book_time: time a job was reserved - * refresh_time: last time the process running the job checked in - * result: the subdocument returned by bandit.evaluate - * error: for jobs of state 3, a reason for failure. - * logs: a dict of sequences of strings received by ctrl object - * info: info messages - * warn: warning messages - * error: error messages - -* fs - a gridfs storage collection (used for pickling) - -* drivers - documents describing drivers. These are used to prevent two drivers - from using the same exp_key simultaneously, and to attach saved states. - * exp_key - * workdir: [optional] path where workers should chdir to - Attachments: - * pkl: [optional] saved state of experiment class - * bandit_args_kwargs: [optional] pickled (clsname, args, kwargs) to - reconstruct bandit in worker processes - -The MongoJobs, and CtrlObj classes as well as the main_worker -method form the abstraction barrier around this database layout. - - -Worker -====== - -A worker looks up a job in a mongo database, maps that job document to a -runnable python object, calls that object, and writes the return value back to -the database. - -A worker *reserves* a job by atomically identifying a document in the jobs -collection whose owner is None and whose state is 0, and setting the state to -1. If it fails to identify such a job, it loops with a random sleep interval -of a few seconds and polls the database. - -If hyperopt-mongo-worker is called with a --loop argument then it goes back to -the database after finishing a job to identify and perform another one. - -CtrlObj -------- - -The worker allocates a CtrlObj and passes it to bandit.evaluate in addition to -the subdocument found at job['spec']. A bandit can use ctrl.info, ctrl.warn, -ctrl.error and so on like logger methods, and those messages will be written -to the mongo database (to job['logs']). They are not written synchronously -though, they are written when the bandit.evaluate function calls -ctrl.checkpoint(). - -Ctrl.checkpoint does several things: -* flushes logging messages to the database -* updates the refresh_time -* optionally updates the result subdocument - -The main_worker routine calls Ctrl.checkpoint(rval) once after the -bandit.evalute function has returned before setting the state to 2 or 3 to -finalize the job in the database. - -""" -from __future__ import print_function -from __future__ import absolute_import -from future import standard_library -import copy -import six.moves.cPickle as pickle -# import hashlib -import logging -import optparse -import os -# import shutil -import signal -import socket -import subprocess -import sys -import time -import urllib.parse -import warnings - -import numpy -import pymongo -import gridfs -from bson import SON - -from .base import JOB_STATES -from .base import (JOB_STATE_NEW, JOB_STATE_RUNNING, JOB_STATE_DONE, - JOB_STATE_ERROR) -from .base import Trials -from .base import InvalidTrial -from .base import Ctrl -from .base import SONify -from .base import spec_from_misc -from .utils import coarse_utcnow -from .utils import fast_isin -from .utils import get_most_recent_inds -from .utils import json_call -from .utils import working_dir, temp_dir -import six -from six.moves import map -from six.moves import range - -__authors__ = ["James Bergstra", "Dan Yamins"] -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - -standard_library.install_aliases() -logger = logging.getLogger(__name__) - - -class OperationFailure(Exception): - """Proxy that could be factored out if we also want to use CouchDB and - JobmanDB classes with this interface - """ - - -class Shutdown(Exception): - """ - Exception for telling mongo_worker loop to quit - """ - - -class WaitQuit(Exception): - """ - Exception for telling mongo_worker loop to quit - """ - - -class InvalidMongoTrial(InvalidTrial): - pass - - -class DomainSwapError(Exception): - """Raised when the search program tries to change the bandit attached to - an experiment. - """ - - -class ReserveTimeout(Exception): - """No job was reserved in the alotted time - """ - - -def read_pw(): - username = 'hyperopt' - password = open(os.path.join(os.getenv('HOME'), ".hyperopt")).read()[:-1] - return dict( - username=username, - password=password) - - -def authenticate_for_db(db): - d = read_pw() - db.authenticate(d['username'], d['password']) - - -def parse_url(url, pwfile=None): - """Unpacks a url of the form - protocol://[username[:pw]]@hostname[:port]/db/collection - - :rtype: tuple of strings - :returns: protocol, username, password, hostname, port, dbname, collection - - :note: - If the password is not given in the url but the username is, then - this function will read the password from file by calling - ``open(pwfile).read()[:-1]`` - - """ - - protocol = url[:url.find(':')] - ftp_url = 'ftp' + url[url.find(':'):] - - # -- parse the string as if it were an ftp address - tmp = urllib.parse.urlparse(ftp_url) - - logger.info('PROTOCOL %s' % protocol) - logger.info('USERNAME %s' % tmp.username) - logger.info('HOSTNAME %s' % tmp.hostname) - logger.info('PORT %s' % tmp.port) - logger.info('PATH %s' % tmp.path) - try: - _, dbname, collection = tmp.path.split('/') - except: - print("Failed to parse '%s'" % (str(tmp.path)), file=sys.stderr) - raise - logger.info('DB %s' % dbname) - logger.info('COLLECTION %s' % collection) - - if tmp.password is None: - if (tmp.username is not None) and pwfile: - password = open(pwfile).read()[:-1] - else: - password = None - else: - password = tmp.password - logger.info('PASS %s' % password) - port = int(float(tmp.port)) # port has to be casted explicitly here. - - return (protocol, tmp.username, password, tmp.hostname, port, dbname, collection) - - -def connection_with_tunnel(host='localhost', - auth_dbname='admin', port=27017, - ssh=False, user='hyperopt', pw=None): - if ssh: - local_port = numpy.random.randint(low=27500, high=28000) - # -- forward from local to remote machine - ssh_tunnel = subprocess.Popen( - ['ssh', '-NTf', '-L', - '%i:%s:%i' % (local_port, '127.0.0.1', port), - host], - ) - # -- give the subprocess time to set up - time.sleep(.5) - connection = pymongo.MongoClient('127.0.0.1', local_port, - document_class=SON, w=1, j=True) - else: - connection = pymongo.MongoClient(host, port, document_class=SON, w=1, j=True) - if user: - if user == 'hyperopt': - authenticate_for_db(connection[auth_dbname]) - else: - raise NotImplementedError() - ssh_tunnel = None - - # Note that the w=1 and j=True args to MongoClient above should: - # -- Ensure that changes are written to at least one server. - # -- Ensure that changes are written to the journal if there is one. - - return connection, ssh_tunnel - - -def connection_from_string(s): - protocol, user, pw, host, port, db, collection = parse_url(s) - if protocol == 'mongo': - ssh = False - elif protocol in ('mongo+ssh', 'ssh+mongo'): - ssh = True - else: - raise ValueError('unrecognized protocol for MongoJobs', protocol) - connection, tunnel = connection_with_tunnel( - ssh=ssh, - user=user, - pw=pw, - host=host, - port=port, - ) - return connection, tunnel, connection[db], connection[db][collection] - - -class MongoJobs(object): - """ - # Interface to a Jobs database structured like this - # - # Collections: - # - # db.jobs - structured {config_name, 'cmd', 'owner', 'book_time', - # 'refresh_time', 'state', 'exp_key', 'owner', 'result'} - # This is the collection that the worker nodes write to - # - # db.gfs - file storage via gridFS for all collections - # - """ - - def __init__(self, db, jobs, gfs, conn, tunnel, config_name): - """ - Parameters - ---------- - - db - Mongo Database (e.g. `Connection()[dbname]`) - database in which all job-related info is stored - - jobs - Mongo Collection handle - collection within `db` to use for job arguments, return vals, - and various bookkeeping stuff and meta-data. Typically this is - `db['jobs']` - - gfs - Mongo GridFS handle - GridFS is used to store attachments - binary blobs that don't fit - or are awkward to store in the `jobs` collection directly. - - conn - Mongo Connection - Why we need to keep this, I'm not sure. - - tunnel - something for ssh tunneling if you're doing that - See `connection_with_tunnel` for more info. - - config_name - string - XXX: No idea what this is for, seems unimportant. - - """ - self.db = db - self.jobs = jobs - self.gfs = gfs - self.conn = conn - self.tunnel = tunnel - self.config_name = config_name - - # TODO: rename jobs -> coll throughout - coll = property(lambda s: s.jobs) - - @classmethod - def alloc(cls, dbname, host='localhost', - auth_dbname='admin', port=27017, - jobs_coll='jobs', gfs_coll='fs', ssh=False, user=None, pw=None): - connection, tunnel = connection_with_tunnel( - host, auth_dbname, port, ssh, user, pw) - db = connection[dbname] - gfs = gridfs.GridFS(db, collection=gfs_coll) - return cls(db, db[jobs_coll], gfs, connection, tunnel) - - @classmethod - def new_from_connection_str(cls, conn_str, gfs_coll='fs', config_name='spec'): - connection, tunnel, db, coll = connection_from_string(conn_str) - gfs = gridfs.GridFS(db, collection=gfs_coll) - return cls(db, coll, gfs, connection, tunnel, config_name) - - def __iter__(self): - return self.jobs.find() - - def __len__(self): - try: - return self.jobs.count() - except: - return 0 - - def create_jobs_indexes(self): - jobs = self.db.jobs - for k in ['exp_key', 'result.loss', 'book_time']: - jobs.create_index(k) - - def create_drivers_indexes(self): - drivers = self.db.drivers - drivers.create_index('exp_key', unique=True) - - def create_indexes(self): - self.create_jobs_indexes() - self.create_drivers_indexes() - - def jobs_complete(self, cursor=False): - c = self.jobs.find(filter=dict(state=JOB_STATE_DONE)) - return c if cursor else list(c) - - def jobs_error(self, cursor=False): - c = self.jobs.find(filter=dict(state=JOB_STATE_ERROR)) - return c if cursor else list(c) - - def jobs_running(self, cursor=False): - if cursor: - raise NotImplementedError() - rval = list(self.jobs.find(filter=dict(state=JOB_STATE_RUNNING))) - # TODO: mark some as MIA - rval = [r for r in rval if not r.get('MIA', False)] - return rval - - def jobs_dead(self, cursor=False): - if cursor: - raise NotImplementedError() - rval = list(self.jobs.find(filter=dict(state=JOB_STATE_RUNNING))) - # TODO: mark some as MIA - rval = [r for r in rval if r.get('MIA', False)] - return rval - - def jobs_queued(self, cursor=False): - c = self.jobs.find(filter=dict(state=JOB_STATE_NEW)) - return c if cursor else list(c) - - def insert(self, job): - """Return a job dictionary by inserting the job dict into the database""" - try: - cpy = copy.deepcopy(job) - # -- this call adds an _id field to cpy - _id = self.jobs.insert(cpy, check_keys=True) - # -- so now we return the dict with the _id field - assert _id == cpy['_id'] - return cpy - except pymongo.errors.OperationFailure as e: - # -- translate pymongo error class into hyperopt error class - # This was meant to make it easier to catch insertion errors - # in a generic way even if different databases were used. - # ... but there's just MongoDB so far, so kinda goofy. - raise OperationFailure(e) - - def delete(self, job): - """Delete job[s]""" - try: - self.jobs.remove(job) - except pymongo.errors.OperationFailure as e: - # -- translate pymongo error class into hyperopt error class - # see insert() code for rationale. - raise OperationFailure(e) - - def delete_all(self, cond=None): - """Delete all jobs and attachments""" - if cond is None: - cond = {} - try: - for d in self.jobs.find(filter=cond, projection=['_id', '_attachments']): - logger.info('deleting job %s' % d['_id']) - for name, file_id in d.get('_attachments', []): - try: - self.gfs.delete(file_id) - except gridfs.errors.NoFile: - logger.error('failed to remove attachment %s:%s' % ( - name, file_id)) - self.jobs.remove(d) - except pymongo.errors.OperationFailure as e: - # -- translate pymongo error class into hyperopt error class - # see insert() code for rationale. - raise OperationFailure(e) - - def delete_all_error_jobs(self): - return self.delete_all(cond={'state': JOB_STATE_ERROR}) - - def reserve(self, host_id, cond=None, exp_key=None): - now = coarse_utcnow() - if cond is None: - cond = {} - else: - cond = copy.copy(cond) # copy is important, will be modified, but only the top-level - - if exp_key is not None: - cond['exp_key'] = exp_key - - # having an owner of None implies state==JOB_STATE_NEW, so this effectively - # acts as a filter to make sure that only new jobs get reserved. - if cond.get('owner') is not None: - raise ValueError('refusing to reserve owned job') - else: - cond['owner'] = None - cond['state'] = JOB_STATE_NEW # theoretically this is redundant, theoretically - - try: - rval = self.jobs.find_and_modify( - cond, - {'$set': - {'owner': host_id, - 'book_time': now, - 'state': JOB_STATE_RUNNING, - 'refresh_time': now, - } - }, - new=True, - upsert=False) - except pymongo.errors.OperationFailure as e: - logger.error('Error during reserve_job: %s' % str(e)) - rval = None - return rval - - def refresh(self, doc): - self.update(doc, dict(refresh_time=coarse_utcnow())) - - def update(self, doc, dct, collection=None, do_sanity_checks=True): - """Return union of doc and dct, after making sure that dct has been - added to doc in `collection`. - - This function does not modify either `doc` or `dct`. - - """ - if collection is None: - collection = self.coll - - dct = copy.deepcopy(dct) - if '_id' not in doc: - raise ValueError('doc must have an "_id" key to be updated') - - if '_id' in dct: - if dct['_id'] != doc['_id']: - raise ValueError('cannot update the _id field') - del dct['_id'] - - if 'version' in dct: - if dct['version'] != doc['version']: - warnings.warn('Ignoring "version" field in update dictionary') - - if 'version' in doc: - doc_query = dict(_id=doc['_id'], version=doc['version']) - dct['version'] = doc['version'] + 1 - else: - doc_query = dict(_id=doc['_id']) - dct['version'] = 1 - try: - # warning - if doc matches nothing then this function succeeds - # N.B. this matches *at most* one entry, and possibly zero - collection.update( - doc_query, - {'$set': dct}, - upsert=False, - multi=False,) - except pymongo.errors.OperationFailure as e: - # -- translate pymongo error class into hyperopt error class - # see insert() code for rationale. - raise OperationFailure(e) - - # update doc in-place to match what happened on the server side - doc.update(dct) - - if do_sanity_checks: - server_doc = collection.find_one( - dict(_id=doc['_id'], version=doc['version'])) - if server_doc is None: - raise OperationFailure('updated doc not found : %s' - % str(doc)) - elif server_doc != doc: - if 0: # This is all commented out because it is tripping on the fact that - # str('a') != unicode('a'). - # TODO: eliminate false alarms and catch real ones - mismatching_keys = [] - for k, v in list(server_doc.items()): - if k in doc: - if doc[k] != v: - mismatching_keys.append((k, v, doc[k])) - else: - mismatching_keys.append((k, v, '')) - for k, v in list(doc.items()): - if k not in server_doc: - mismatching_keys.append((k, '', v)) - - raise OperationFailure('local and server doc documents are out of sync: %s' % - repr((doc, server_doc, mismatching_keys))) - return doc - - def attachment_names(self, doc): - def as_str(name_id): - assert isinstance(name_id[0], six.string_types), name_id - return str(name_id[0]) - return list(map(as_str, doc.get('_attachments', []))) - - def set_attachment(self, doc, blob, name, collection=None): - """Attach potentially large data string `blob` to `doc` by name `name` - - blob must be a string - - doc must have been saved in some collection (must have an _id), but not - necessarily the jobs collection. - - name must be a string - - Returns None - """ - - # If there is already a file with the given name for this doc, then we will delete it - # after writing the new file - attachments = doc.get('_attachments', []) - name_matches = [a for a in attachments if a[0] == name] - - # the filename is set to something so that fs.list() will display the file - new_file_id = self.gfs.put(blob, filename='%s_%s' % (doc['_id'], name)) - logger.info('stored blob of %i bytes with id=%s and filename %s_%s' % ( - len(blob), str(new_file_id), doc['_id'], name)) - - new_attachments = ([a for a in attachments if a[0] != name] + - [(name, new_file_id)]) - - try: - ii = 0 - doc = self.update(doc, {'_attachments': new_attachments}, - collection=collection) - # there is a database leak until we actually delete the files that - # are no longer pointed to by new_attachments - while ii < len(name_matches): - self.gfs.delete(name_matches[ii][1]) - ii += 1 - except: - while ii < len(name_matches): - logger.warning("Leak during set_attachment: old_file_id=%s" % ( - name_matches[ii][1])) - ii += 1 - raise - assert len([n for n in self.attachment_names(doc) if n == name]) == 1 - # return new_file_id - - def get_attachment(self, doc, name): - """Retrieve data attached to `doc` by `attach_blob`. - - Raises OperationFailure if `name` does not correspond to an attached blob. - - Returns the blob as a string. - """ - attachments = doc.get('_attachments', []) - file_ids = [a[1] for a in attachments if a[0] == name] - if not file_ids: - raise OperationFailure('Attachment not found: %s' % name) - if len(file_ids) > 1: - raise OperationFailure('multiple name matches', (name, file_ids)) - return self.gfs.get(file_ids[0]).read() - - def delete_attachment(self, doc, name, collection=None): - attachments = doc.get('_attachments', []) - file_id = None - for i, a in enumerate(attachments): - if a[0] == name: - file_id = a[1] - break - if file_id is None: - raise OperationFailure('Attachment not found: %s' % name) - del attachments[i] - self.update(doc, {'_attachments': attachments}, collection=collection) - self.gfs.delete(file_id) - - -class MongoTrials(Trials): - """Trials maps on to an entire mongo collection. It's basically a wrapper - around MongoJobs for now. - - As a concession to performance, this object permits trial filtering based - on the exp_key, but I feel that's a hack. The case of `cmd` is similar-- - the exp_key and cmd are semantically coupled. - - WRITING TO THE DATABASE - ----------------------- - The trials object is meant for *reading* a trials database. Writing - to a database is different enough from writing to an in-memory - collection that no attempt has been made to abstract away that - difference. If you want to update the documents within - a MongoTrials collection, then retrieve the `.handle` attribute (a - MongoJobs instance) and use lower-level methods, or pymongo's - interface directly. When you are done writing, call refresh() or - refresh_tids() to bring the MongoTrials up to date. - """ - async = True - - def __init__(self, arg, exp_key=None, cmd=None, workdir=None, - refresh=True): - if isinstance(arg, MongoJobs): - self.handle = arg - else: - connection_string = arg - self.handle = MongoJobs.new_from_connection_str(connection_string) - self.handle.create_indexes() - self._exp_key = exp_key - self.cmd = cmd - self.workdir = workdir - if refresh: - self.refresh() - - def view(self, exp_key=None, cmd=None, workdir=None, refresh=True): - rval = self.__class__(self.handle, - exp_key=self._exp_key if exp_key is None else exp_key, - cmd=self.cmd if cmd is None else cmd, - workdir=self.workdir if workdir is None else workdir, - refresh=refresh) - return rval - - def refresh_tids(self, tids): - """ Sync documents with `['tid']` in the list of `tids` from the - database (not *to* the database). - - Local trial documents whose tid is not in `tids` are not - affected by this call. Local trial documents whose tid is in `tids` may - be: - - * *deleted* (if db no longer has corresponding document), or - * *updated* (if db has an updated document) or, - * *left alone* (if db document matches local one). - - Additionally, if the db has a matching document, but there is no - local trial with a matching tid, then the db document will be - *inserted* into the local collection. - - """ - exp_key = self._exp_key - if exp_key != None: - query = {'exp_key': exp_key} - else: - query = {} - t0 = time.time() - query['state'] = {'$ne': JOB_STATE_ERROR} - if tids is not None: - query['tid'] = {'$in': list(tids)} - orig_trials = getattr(self, '_trials', []) - _trials = orig_trials[:] # copy to make sure it doesn't get screwed up - if _trials: - db_data = list(self.handle.jobs.find(query, - projection=['_id', 'version'])) - # -- pull down a fresh list of ids from mongo - if db_data: - # make numpy data arrays - db_data = numpy.rec.array([(x['_id'], int(x['version'])) - for x in db_data], - names=['_id', 'version']) - db_data.sort(order=['_id', 'version']) - db_data = db_data[get_most_recent_inds(db_data)] - - existing_data = numpy.rec.array([(x['_id'], - int(x['version'])) for x in _trials], - names=['_id', 'version']) - existing_data.sort(order=['_id', 'version']) - - # which records are in db but not in existing, and vice versa - db_in_existing = fast_isin(db_data['_id'], existing_data['_id']) - existing_in_db = fast_isin(existing_data['_id'], db_data['_id']) - - # filtering out out-of-date records - _trials = [_trials[_ind] for _ind in existing_in_db.nonzero()[0]] - - # new data is what's in db that's not in existing - new_data = db_data[numpy.invert(db_in_existing)] - - # having removed the new and out of data data, - # concentrating on data in db and existing for state changes - db_data = db_data[db_in_existing] - existing_data = existing_data[existing_in_db] - try: - assert len(db_data) == len(existing_data) - assert (existing_data['_id'] == db_data['_id']).all() - assert (existing_data['version'] <= db_data['version']).all() - except: - reportpath = os.path.join(os.getcwd(), - 'hyperopt_refresh_crash_report_' + - str(numpy.random.randint(1e8)) + '.pkl') - logger.error('HYPEROPT REFRESH ERROR: writing error file to %s' % reportpath) - _file = open(reportpath, 'w') - pickle.dump({'db_data': db_data, - 'existing_data': existing_data}, - _file) - _file.close() - raise - - same_version = existing_data['version'] == db_data['version'] - _trials = [_trials[_ind] for _ind in same_version.nonzero()[0]] - version_changes = existing_data[numpy.invert(same_version)] - - # actually get the updated records - update_ids = new_data['_id'].tolist() + version_changes['_id'].tolist() - num_new = len(update_ids) - update_query = copy.deepcopy(query) - update_query['_id'] = {'$in': update_ids} - updated_trials = list(self.handle.jobs.find(update_query)) - _trials.extend(updated_trials) - else: - num_new = 0 - _trials = [] - else: - # this case is for performance, though should be able to be removed - # without breaking correctness. - _trials = list(self.handle.jobs.find(query)) - if _trials: - _trials = [_trials[_i] for _i in get_most_recent_inds(_trials)] - num_new = len(_trials) - - logger.debug('Refresh data download took %f seconds for %d ids' % - (time.time() - t0, num_new)) - - if tids is not None: - # -- If tids were given, then _trials only contains - # documents with matching tids. Here we augment these - # fresh matching documents, with our current ones whose - # tids don't match. - new_trials = _trials - tids_set = set(tids) - assert all(t['tid'] in tids_set for t in new_trials) - old_trials = [t for t in orig_trials if t['tid'] not in tids_set] - _trials = new_trials + old_trials - - # -- reassign new trials to self, in order of increasing tid - jarray = numpy.array([j['_id'] for j in _trials]) - jobsort = jarray.argsort() - self._trials = [_trials[_idx] for _idx in jobsort] - self._specs = [_trials[_idx]['spec'] for _idx in jobsort] - self._results = [_trials[_idx]['result'] for _idx in jobsort] - self._miscs = [_trials[_idx]['misc'] for _idx in jobsort] - - def refresh(self): - self.refresh_tids(None) - - def _insert_trial_docs(self, docs): - rval = [] - for doc in docs: - rval.append(self.handle.jobs.insert(doc)) - return rval - - def count_by_state_unsynced(self, arg): - exp_key = self._exp_key - # TODO: consider searching by SON rather than dict - if isinstance(arg, int): - if arg not in JOB_STATES: - raise ValueError('invalid state', arg) - query = dict(state=arg) - else: - assert hasattr(arg, '__iter__') - states = list(arg) - assert all([x in JOB_STATES for x in states]) - query = dict(state={'$in': states}) - if exp_key != None: - query['exp_key'] = exp_key - rval = self.handle.jobs.find(query).count() - return rval - - def delete_all(self, cond=None): - if cond is None: - cond = {} - else: - cond = dict(cond) - - if self._exp_key: - cond['exp_key'] = self._exp_key - # -- remove all documents matching condition - self.handle.delete_all(cond) - gfs = self.handle.gfs - for filename in gfs.list(): - try: - fdoc = gfs.get_last_version(filename=filename, **cond) - except gridfs.errors.NoFile: - continue - gfs.delete(fdoc._id) - self.refresh() - - def new_trial_ids(self, N): - db = self.handle.db - # N.B. that the exp key is *not* used here. It was once, but it caused - # a nasty bug: tids were generated by a global experiment - # with exp_key=None, running a suggest() that introduced sub-experiments - # with exp_keys, which ran jobs that did result injection. The tids of - # injected jobs were sometimes unique within an experiment, and - # sometimes not. Hilarious! - # - # Solution: tids are generated to be unique across the db, not just - # within an exp_key. - # - - # -- mongo docs say you can't upsert an empty document - query = {'a': 0} - - doc = None - while doc is None: - doc = db.job_ids.find_and_modify( - query, - {'$inc': {'last_id': N}}, - upsert=True) - if doc is None: - logger.warning('no last_id found, re-trying') - time.sleep(1.0) - lid = doc.get('last_id', 0) - return list(range(lid, lid + N)) - - def trial_attachments(self, trial): - """ - Attachments to a single trial (e.g. learned weights) - - Returns a dictionary interface to the attachments. - """ - - # don't offer more here than in MongoCtrl - class Attachments(object): - - def __contains__(_self, name): - return name in self.handle.attachment_names(doc=trial) - - def __len__(_self): - return len(self.handle.attachment_names(doc=trial)) - - def __iter__(_self): - return iter(self.handle.attachment_names(doc=trial)) - - def __getitem__(_self, name): - try: - return self.handle.get_attachment( - doc=trial, - name=name) - except OperationFailure: - raise KeyError(name) - - def __setitem__(_self, name, value): - self.handle.set_attachment( - doc=trial, - blob=value, - name=name, - collection=self.handle.db.jobs) - - def __delitem__(_self, name): - raise NotImplementedError('delete trial_attachment') - - def keys(self): - return [k for k in self] - - def values(self): - return [self[k] for k in self] - - def items(self): - return [(k, self[k]) for k in self] - - return Attachments() - - @property - def attachments(self): - """ - Attachments to a Trials set (such as bandit args). - - Support syntax for load: self.attachments[name] - Support syntax for store: self.attachments[name] = value - """ - gfs = self.handle.gfs - - query = {} - if self._exp_key: - query['exp_key'] = self._exp_key - - class Attachments(object): - - def __iter__(_self): - if query: - # -- gfs.list does not accept query kwargs - # (at least, as of pymongo 2.4) - filenames = [fname - for fname in gfs.list() - if fname in _self] - else: - filenames = gfs.list() - return iter(filenames) - - def __contains__(_self, name): - return gfs.exists(filename=name, **query) - - def __getitem__(_self, name): - try: - rval = gfs.get_version(filename=name, **query).read() - return rval - except gridfs.NoFile: - raise KeyError(name) - - def __setitem__(_self, name, value): - if gfs.exists(filename=name, **query): - gout = gfs.get_last_version(filename=name, **query) - gfs.delete(gout._id) - gfs.put(value, filename=name, encoding='utf-8', **query) - - def __delitem__(_self, name): - gout = gfs.get_last_version(filename=name, **query) - gfs.delete(gout._id) - - return Attachments() - - -class MongoWorker(object): - poll_interval = 3.0 # -- seconds - workdir = None - - def __init__(self, mj, - poll_interval=poll_interval, - workdir=workdir, - exp_key=None, - logfilename='logfile.txt', - ): - """ - mj - MongoJobs interface to jobs collection - poll_interval - seconds - workdir - string - exp_key - restrict reservations to this key - """ - self.mj = mj - self.poll_interval = poll_interval - self.workdir = workdir - self.exp_key = exp_key - self.logfilename = logfilename - - def make_log_handler(self): - self.log_handler = logging.FileHandler(self.logfilename) - self.log_handler.setFormatter( - logging.Formatter( - fmt='%(levelname)s (%(name)s): %(message)s')) - self.log_handler.setLevel(logging.INFO) - - def run_one(self, - host_id=None, - reserve_timeout=None, - erase_created_workdir=False, - ): - if host_id == None: - host_id = '%s:%i' % (socket.gethostname(), os.getpid()), - job = None - start_time = time.time() - mj = self.mj - while job is None: - if (reserve_timeout and - (time.time() - start_time) > reserve_timeout): - raise ReserveTimeout() - job = mj.reserve(host_id, exp_key=self.exp_key) - if not job: - interval = (1 + - numpy.random.rand() * - (float(self.poll_interval) - 1.0)) - logger.info('no job found, sleeping for %.1fs' % interval) - time.sleep(interval) - - logger.debug('job found: %s' % str(job)) - - # -- don't let the cmd mess up our trial object - spec = spec_from_misc(job['misc']) - - ctrl = MongoCtrl( - trials=MongoTrials(mj, exp_key=job['exp_key'], refresh=False), - read_only=False, - current_trial=job) - if self.workdir is None: - workdir = job['misc'].get('workdir', os.getcwd()) - if workdir is None: - workdir = '' - workdir = os.path.join(workdir, str(job['_id'])) - else: - workdir = self.workdir - workdir = os.path.abspath(os.path.expanduser(workdir)) - try: - root_logger = logging.getLogger() - if self.logfilename: - self.make_log_handler() - root_logger.addHandler(self.log_handler) - - cmd = job['misc']['cmd'] - cmd_protocol = cmd[0] - try: - if cmd_protocol == 'cpickled fn': - worker_fn = pickle.loads(cmd[1]) - elif cmd_protocol == 'call evaluate': - bandit = pickle.loads(cmd[1]) - worker_fn = bandit.evaluate - elif cmd_protocol == 'token_load': - cmd_toks = cmd[1].split('.') - cmd_module = '.'.join(cmd_toks[:-1]) - worker_fn = exec_import(cmd_module, cmd[1]) - elif cmd_protocol == 'bandit_json evaluate': - bandit = json_call(cmd[1]) - worker_fn = bandit.evaluate - elif cmd_protocol == 'driver_attachment': - # name = 'driver_attachment_%s' % job['exp_key'] - blob = ctrl.trials.attachments[cmd[1]] - bandit_name, bandit_args, bandit_kwargs = pickle.loads(blob) - worker_fn = json_call(bandit_name, - args=bandit_args, - kwargs=bandit_kwargs).evaluate - elif cmd_protocol == 'domain_attachment': - blob = ctrl.trials.attachments[cmd[1]] - try: - domain = pickle.loads(blob) - except BaseException as e: - logger.info( - 'Error while unpickling. Try installing dill via "pip install dill" for enhanced pickling support.') - raise - worker_fn = domain.evaluate - else: - raise ValueError('Unrecognized cmd protocol', cmd_protocol) - - with temp_dir(workdir, erase_created_workdir), working_dir(workdir): - result = worker_fn(spec, ctrl) - result = SONify(result) - except BaseException as e: - # XXX: save exception to database, but if this fails, then - # at least raise the original traceback properly - logger.info('job exception: %s' % str(e)) - ctrl.checkpoint() - mj.update(job, - {'state': JOB_STATE_ERROR, - 'error': (str(type(e)), str(e))}) - raise - finally: - if self.logfilename: - root_logger.removeHandler(self.log_handler) - - logger.info('job finished: %s' % str(job['_id'])) - attachments = result.pop('attachments', {}) - for aname, aval in list(attachments.items()): - logger.info( - 'mongoexp: saving attachment name=%s (%i bytes)' % ( - aname, len(aval))) - ctrl.attachments[aname] = aval - ctrl.checkpoint(result) - mj.update(job, {'state': JOB_STATE_DONE}) - - -class MongoCtrl(Ctrl): - """ - Attributes: - - current_trial - current job document - jobs - MongoJobs object in which current_trial resides - read_only - True means don't change the db - - """ - - def __init__(self, trials, current_trial, read_only): - self.trials = trials - self.current_trial = current_trial - self.read_only = read_only - - def debug(self, *args, **kwargs): - # XXX: This is supposed to log to db - return logger.debug(*args, **kwargs) - - def info(self, *args, **kwargs): - # XXX: This is supposed to log to db - return logger.info(*args, **kwargs) - - def warn(self, *args, **kwargs): - # XXX: This is supposed to log to db - return logger.warn(*args, **kwargs) - - def error(self, *args, **kwargs): - # XXX: This is supposed to log to db - return logger.error(*args, **kwargs) - - def checkpoint(self, result=None): - if not self.read_only: - handle = self.trials.handle - handle.refresh(self.current_trial) - if result is not None: - return handle.update(self.current_trial, dict(result=result)) - - @property - def attachments(self): - """ - Support syntax for load: self.attachments[name] - Support syntax for store: self.attachments[name] = value - """ - return self.trials.trial_attachments(trial=self.current_trial) - - @property - def set_attachment(self): - # XXX: Is there a better deprecation error? - raise RuntimeError( - 'set_attachment deprecated. Use `self.attachments[name] = value`') - - -def exec_import(cmd_module, cmd): - worker_fn = None - exec('import %s; worker_fn = %s' % (cmd_module, cmd)) - return worker_fn - - -def as_mongo_str(s): - if s.startswith('mongo://'): - return s - else: - return 'mongo://%s' % s - - -def main_worker_helper(options, args): - N = int(options.max_jobs) - if options.last_job_timeout is not None: - last_job_timeout = time.time() + float(options.last_job_timeout) - else: - last_job_timeout = None - - def sighandler_shutdown(signum, frame): - logger.info('Caught signal %i, shutting down.' % signum) - raise Shutdown(signum) - - def sighandler_wait_quit(signum, frame): - logger.info('Caught signal %i, shutting down.' % signum) - raise WaitQuit(signum) - - signal.signal(signal.SIGINT, sighandler_shutdown) - signal.signal(signal.SIGHUP, sighandler_shutdown) - signal.signal(signal.SIGTERM, sighandler_shutdown) - signal.signal(signal.SIGUSR1, sighandler_wait_quit) - - if N > 1: - proc = None - cons_errs = 0 - if last_job_timeout and time.time() > last_job_timeout: - logger.info("Exiting due to last_job_timeout") - return - - while N and cons_errs < int(options.max_consecutive_failures): - try: - # recursive Popen, dropping N from the argv - # By using another process to run this job - # we protect ourselves from memory leaks, bad cleanup - # and other annoying details. - # The tradeoff is that a large dataset must be reloaded once for - # each subprocess. - sub_argv = [sys.argv[0], - '--poll-interval=%s' % options.poll_interval, - '--max-jobs=1', - '--mongo=%s' % options.mongo, - '--reserve-timeout=%s' % options.reserve_timeout] - if options.workdir is not None: - sub_argv.append('--workdir=%s' % options.workdir) - if options.exp_key is not None: - sub_argv.append('--exp-key=%s' % options.exp_key) - proc = subprocess.Popen(sub_argv) - retcode = proc.wait() - proc = None - - except Shutdown: - # this is the normal way to stop the infinite loop (if originally N=-1) - if proc: - # proc.terminate() is only available as of 2.6 - os.kill(proc.pid, signal.SIGTERM) - return proc.wait() - else: - return 0 - - except WaitQuit: - # -- sending SIGUSR1 to a looping process will cause it to - # break out of the loop after the current subprocess finishes - # normally. - if proc: - return proc.wait() - else: - return 0 - - if retcode != 0: - cons_errs += 1 - else: - cons_errs = 0 - N -= 1 - logger.info("exiting with N=%i after %i consecutive exceptions" % ( - N, cons_errs)) - elif N == 1: - # XXX: the name of the jobs collection is a parameter elsewhere, - # so '/jobs' should not be hard-coded here - mj = MongoJobs.new_from_connection_str( - as_mongo_str(options.mongo) + '/jobs') - - mworker = MongoWorker(mj, - float(options.poll_interval), - workdir=options.workdir, - exp_key=options.exp_key) - mworker.run_one(reserve_timeout=float(options.reserve_timeout)) - else: - raise ValueError("N <= 0") - - -def main_worker(): - parser = optparse.OptionParser(usage="%prog [options]") - - parser.add_option("--exp-key", - dest='exp_key', - default=None, - metavar='str', - help="identifier for this workers's jobs") - parser.add_option("--last-job-timeout", - dest='last_job_timeout', - metavar='T', - default=None, - help="Do not reserve a job after T seconds have passed") - parser.add_option("--max-consecutive-failures", - dest="max_consecutive_failures", - metavar='N', - default=4, - help="stop if N consecutive jobs fail (default: 4)") - parser.add_option("--max-jobs", - dest='max_jobs', - default=sys.maxsize, - help="stop after running this many jobs (default: inf)") - parser.add_option("--mongo", - dest='mongo', - default='localhost/hyperopt', - help="[:port]/ for IPC and job storage") - parser.add_option("--poll-interval", - dest='poll_interval', - metavar='N', - default=5, - help="check work queue every 1 < T < N seconds (default: 5") - parser.add_option("--reserve-timeout", - dest='reserve_timeout', - metavar='T', - default=120.0, - help="poll database for up to T seconds to reserve a job") - parser.add_option("--workdir", - dest="workdir", - default=None, - help="root workdir (default: load from mongo)", - metavar="DIR") - - (options, args) = parser.parse_args() - - if args: - parser.print_help() - return -1 - - return main_worker_helper(options, args) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/plotting.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/plotting.py deleted file mode 100644 index d0ae0a76..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/plotting.py +++ /dev/null @@ -1,609 +0,0 @@ -""" -Functions to visualize an Experiment. - -""" -from __future__ import print_function -import math -import sys -from past.builtins import xrange -from hyperopt.mongoexp import MongoJobs -try: - unicode = unicode -except NameError: - basestring = (str, bytes) -else: - basestring = basestring -# -- don't import this here because it locks in the backend -# and we want the unittests to be able to set the backend -# TODO: this is really bad style, create a backend plotting -# module for this that defaults to matplotlib. -# import matplotlib.pyplot as plt - -import numpy as np -from . import base -from .base import miscs_to_idxs_vals - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/hyperopt/hyperopt" - -default_status_colors = { - base.STATUS_NEW: 'k', - base.STATUS_RUNNING: 'g', - base.STATUS_OK: 'b', - base.STATUS_FAIL: 'r'} - - -def algo_as_str(algo): - if isinstance(algo, basestring): - return algo - return str(algo) - - -def main_plot_history(trials, bandit=None, algo=None, do_show=True, - status_colors=None): - # -- import here because file-level import is too early - import matplotlib.pyplot as plt - - # self is an Experiment - if status_colors is None: - status_colors = default_status_colors - - # XXX: show the un-finished or error trials - Ys, colors = zip(*[(y, status_colors[s]) - for y, s in zip(trials.losses(bandit), trials.statuses(bandit)) - if y is not None]) - plt.scatter(range(len(Ys)), Ys, c=colors) - plt.xlabel('time') - plt.ylabel('loss') - - if bandit is not None and bandit.loss_target is not None: - plt.axhline(bandit.loss_target) - ymin = min(np.min(Ys), bandit.loss_target) - ymax = max(np.max(Ys), bandit.loss_target) - yrange = ymax - ymin - ymean = (ymax + ymin) / 2.0 - plt.ylim( - ymean - 0.53 * yrange, - ymean + 0.53 * yrange, - ) - best_err = trials.average_best_error(bandit) - print("avg best error:", best_err) - plt.axhline(best_err, c='g') - - plt.title('bandit: %s algo: %s' % ( - bandit.short_str() if bandit else '-', - algo_as_str(algo))) - if do_show: - plt.show() - - -def main_plot_histogram(trials, bandit=None, algo=None, do_show=True): - # -- import here because file-level import is too early - import matplotlib.pyplot as plt - - status_colors = default_status_colors - Xs, Ys, Ss, Cs = zip(*[(x, y, s, status_colors[s]) - for (x, y, s) in zip(trials.specs, trials.losses(bandit), - trials.statuses(bandit)) - if y is not None]) - - # XXX: deal with ok vs. un-finished vs. error trials - print('Showing Histogram of %i jobs' % len(Ys)) - plt.hist(Ys) - plt.xlabel('loss') - plt.ylabel('frequency') - - plt.title('bandit: %s algo: %s' % ( - bandit.short_str() if bandit else '-', - algo_as_str(algo))) - if do_show: - plt.show() - - -def main_plot_vars(trials, bandit=None, do_show=True, fontsize=10, - colorize_best=None, - columns=5, - ): - # -- import here because file-level import is too early - import matplotlib.pyplot as plt - - idxs, vals = miscs_to_idxs_vals(trials.miscs) - losses = trials.losses() - finite_losses = [y for y in losses if y not in (None, float('inf'))] - asrt = np.argsort(finite_losses) - if colorize_best != None: - colorize_thresh = finite_losses[asrt[colorize_best + 1]] - else: - # -- set to lower than best (disabled) - colorize_thresh = finite_losses[asrt[0]] - 1 - - loss_min = min(finite_losses) - loss_max = max(finite_losses) - print('finite loss range', loss_min, loss_max, colorize_thresh) - - loss_by_tid = dict(zip(trials.tids, losses)) - - def color_fn(lossval): - if lossval is None: - return (1, 1, 1) - else: - t = 4 * (lossval - loss_min) / (loss_max - loss_min + .0001) - if t < 1: - return t, 0, 0 - if t < 2: - return 2 - t, t - 1, 0 - if t < 3: - return 0, 3 - t, t - 2 - return 0, 0, 4 - t - - def color_fn_bw(lossval): - if lossval in (None, float('inf')): - return (1, 1, 1) - else: - t = (lossval - loss_min) / (loss_max - loss_min + .0001) - if lossval < colorize_thresh: - return (0., 1. - t, 0.) # -- red best black worst - else: - return (t, t, t) # -- white=worst, black=best - - all_labels = list(idxs.keys()) - titles = ['%s (%s)' % (label, bandit.params[label].name) - for label in all_labels] - order = np.argsort(titles) - - C = columns - R = int(np.ceil(len(all_labels) / float(C))) - - for plotnum, varnum in enumerate(order): - label = all_labels[varnum] - plt.subplot(R, C, plotnum + 1) - - # hide x ticks - ticks_num, ticks_txt = plt.xticks() - plt.xticks(ticks_num, ['' for i in xrange(len(ticks_num))]) - - dist_name = bandit.params[label].name - x = idxs[label] - if 'log' in dist_name: - y = np.log(vals[label]) - else: - y = vals[label] - plt.title(titles[varnum], fontsize=fontsize) - c = list(map(color_fn_bw, [loss_by_tid[ii] for ii in idxs[label]])) - if len(y): - plt.scatter(x, y, c=c) - if 'log' in dist_name: - nums, texts = plt.yticks() - plt.yticks(nums, ['%.2e' % np.exp(t) for t in nums]) - - if do_show: - plt.show() - - -if 0: - def erf(x): - """Erf impl that doesn't require scipy. - """ - # from http://www.math.sfu.ca/~cbm/aands/frameindex.htm - # via - # http://stackoverflow.com/questions/457408/ - # is-there-an-easily-available-implementation-of-erf-for-python - # - # - - # save the sign of x - sign = 1 - if x < 0: - sign = -1 - x = abs(x) - - # constants - a1 = 0.254829592 - a2 = -0.284496736 - a3 = 1.421413741 - a4 = -1.453152027 - a5 = 1.061405429 - p = 0.3275911 - - # A&S formula 7.1.26 - t = 1.0 / (1.0 + p * x) - y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * math.exp(-x * x) - return sign * y # erf(-x) = -erf(x) - - def mixed_max_erf(scores, n_valid): - scores = list(scores) # shallow copy - scores.sort() # sort the copy - scores.reverse() # reverse the order - - # this is valid for classification - # where the scores are the means of Bernoulli variables. - best_mean = scores[0][0] - best_variance = best_mean * (1.0 - best_mean) / (n_valid - 1) - - rval = 0.0 - rval_denom = 0.0 - - for i, (vscore, tscore) in enumerate(scores): - mean = vscore - variance = mean * (1.0 - mean) / (n_valid - 1) - diff_mean = mean - best_mean - diff_variance = variance + best_variance - # for scores, which should approach 1, the diff here will be negative (or zero). - # so the probability of the current point being the best is the probability that - # the current gaussian puts on positive values. - assert diff_mean <= 0.0 - p_current_is_best = 0.5 - 0.5 * erf(-diff_mean / math.sqrt(diff_variance)) - rval += p_current_is_best * tscore - rval_denom += p_current_is_best - if p_current_is_best < 0.001: - break - return rval / rval_denom - - def mixed_max_sampled(scores, n_valid, n_samples=100, rng=None): - scores = list(scores) # shallow copy - scores.sort() # sort the copy - scores.reverse() # reverse the order - - # this is valid for classification - # where the scores are the means of Bernoulli variables. - best_mean = scores[0][0] - best_variance = best_mean * (1.0 - best_mean) / (n_valid - 1) - mu = [] - sigma = [] - tscores = [] - for i, (vscore, tscore) in enumerate(scores): - mean = vscore - variance = mean * (1.0 - mean) / (n_valid - 1) - diff_mean = mean - best_mean - diff_variance = variance + best_variance - # for scores, which should approach 1, the diff here will be negative (or zero). - # so the probability of the current point being the best is the probability that - # the current gaussian puts on positive values. - - if -diff_mean / np.sqrt(diff_variance) > 3: - # print 'breaking after', len(tscores), len(scores) - break - else: - mu.append(diff_mean) - sigma.append(np.sqrt(diff_variance)) - tscores.append(tscore) - - if rng is None: - rng = np.random.RandomState(232342) - - mu = np.asarray(mu) - sigma = np.asarray(sigma) - tscores = np.asarray(tscores) - - nrml = rng.randn(n_samples, len(mu)) * sigma + mu - winners = (nrml.T == nrml.max(axis=1)) - p_best_ = winners.sum(axis=0) - p_best = p_best_ / p_best_.sum() - - # TODO: t_scores is undefined - return np.dot(p_best, t_scores), p_best - - -if 0: - def rexp_plot_acc(scores, n_valid, n_test, pbest_n_samples=100, rng=None): - """ - Uses the current pyplot figure to show efficiency of random experiment. - - :type scores: a list of (validation accuracy, test accuracy) pairs - :param scores: results from the trials of a random experiment - - :type n_valid: integer - :param n_valid: size of the validation set - - :type n_test: integer - :param n_test: size of the test set - - :type mixed_max: function like mixed_max_erf or mixed_max_sampled - :param mixed_max: the function to estimate the maximum of a validation sample - - """ - if rng is None: - rng = np.random.RandomState(232342) - K = 1 - scatter_x = [] - scatter_y = [] - scatter_c = [] - box_x = [] - log_K = 0 - while K < len(scores): - n_batches_of_K = len(scores) // K - if n_batches_of_K < 2: - break - - def best_score(i): - scores_i = scores[i * K:(i + 1) * K] - rval = np.dot( - [tscore for (vscore, tscore) in scores_i], - # TODO: where is pbest_sampled defined? - pbest_sampled( - [vscore for (vscore, tscore) in scores_i], - n_valid, - n_samples=pbest_n_samples, - rng=rng)) - # print rval - return rval - - if n_batches_of_K < 10: - # use scatter plot - for i in xrange(n_batches_of_K): - scatter_x.append(log_K + 1) - scatter_y.append(best_score(i)) - scatter_c.append((0, 0, 0)) - box_x.append([]) - else: - # use box plot - box_x.append([best_score(i) for i in xrange(n_batches_of_K)]) - K *= 2 - log_K += 1 - plt.scatter(scatter_x, scatter_y, c=scatter_c, marker='+', linewidths=0.2, - edgecolors=scatter_c) - boxplot_lines = plt.boxplot(box_x) - for key in boxplot_lines: - plt.setp(boxplot_lines[key], color='black') - # plt.setp(boxplot_lines['medians'], color=(.5,.5,.5)) - - # draw the spans - # - # the 'test performance of the best model' is a mixture of gaussian-distributed quantity - # with components comp_mean, and comp_var and weights w - # - # w[i] is prob. of i'th model being best in validation - w = pbest_sampled([vs for (vs, ts) in scores], n_valid, n_samples=pbest_n_samples, rng=rng) - comp_mean = np.asarray([ts for (vs, ts) in scores]) - comp_var = (comp_mean * (1 - comp_mean)) / (n_test - 1) - - # the mean of the mixture is - mean = np.dot(w, comp_mean) - - # the variance of the mixture is - var = np.dot(w, comp_mean**2 + comp_var) - mean**2 - - # test average is distributed according to a mixture of gaussians, so we - # have to use the following fo - std = math.sqrt(var) - # plt.axhline(mean, color=(1.0,1.0,1.0), linestyle='--', linewidth=0.1) - # plt.axhspan(mean-1.96*std, mean+1.96*std, color=(0.5,0.5,0.5)) - plt.axhline(mean - 1.96 * std, color=(0.0, 0.0, 0.0)) - plt.axhline(mean + 1.96 * std, color=(0.0, 0.0, 0.0)) - - # get margin: - if 0: - margin = 1.0 - mean - plt.ylim(0.5 - margin, 1.0) - - # set ticks - ticks_num, ticks_txt = plt.xticks() - plt.xticks(ticks_num, ['%i' % (2**i) for i in xrange(len(ticks_num))]) - - def rexp_pairs_raw(x, y, vscores): - if len(x) != len(y): - raise ValueError() - if len(x) != len(vscores): - raise ValueError() - - vxy = zip(vscores, x, y) - vxy.sort() - vscores, x, y = zip(*vxy) - - vscores = np.asarray(vscores) - - max_score = vscores.max() - min_score = vscores.min() - colors = np.outer(0.9 - 0.89 * (vscores - min_score) / (max_score - min_score), [1, 1, 1]) - plt.scatter(x, y, c=colors, marker='o', linewidths=0.1) - - # remove ticks labels - nums, texts = plt.xticks() - plt.xticks(nums, [''] * len(nums)) - nums, texts = plt.yticks() - plt.yticks(nums, [''] * len(nums)) - - class CoordType(object): - pass - - class RealCoord(CoordType): - - @staticmethod - def preimage(x): - return np.asarray(x) - - class LogCoord(CoordType): - - @staticmethod - def preimage(x): - return np.log(x) - - class Log0Coord(CoordType): - - @staticmethod - def preimage(x): - x = np.asarray(x) - return np.log(x + (x == 0) * x.min() / 2) - IntCoord = RealCoord - LogIntCoord = LogCoord - - class CategoryCoord(CoordType): - - def __init__(self, categories=None): - self.categories = categories - - def preimage(self, x): - if self.categories: - return np.asarray([self.categories.index(xi) for xi in x]) - else: - return x - - def rexp_pairs(x, y, vscores, xtype, ytype): - return rexp_pairs_raw(xtype.preimage(x), ytype.preimage(y), vscores) - - class MultiHistory(object): - """ - Show the history of multiple optimization algorithms. - """ - - def __init__(self): - self.histories = [] - - def add_experiment(self, mj, y_fn, start=0, stop=sys.maxint, - color=None, - label=None): - trials = [(job['book_time'], job, y_fn(job)) - for job in mj if ('book_time' in job and - y_fn(job) is not None and - np.isfinite(y_fn(job)))] - trials.sort() - trials = trials[start:stop] - if trials: - self.histories.append(( - [t[1] for t in trials], - [t[2] for t in trials], - color, label)) - else: - print('NO TRIALS') - - def add_scatters(self): - for t, y, c, l in self.histories: - print('setting label', l) - plt.scatter( - np.arange(len(y)), - y, - c=c, - label=l, - s=12) - - def main_show(self, title=None): - self.add_scatters() - if title: - plt.title(title) - # plt.axvline(25) # make a parameter - # plt.axhline(.2) - # plt.axhline(.3) - plt.show() - - def main_plot_histories(cls): - import plotting - conn_str_template = sys.argv[2] - algos = sys.argv[3].split(',') - dataset_name = sys.argv[4] - start = int(sys.argv[5]) if len(sys.argv) > 5 else 0 - stop = int(sys.argv[6]) if len(sys.argv) > 6 else sys.maxint - mh = plotting.MultiHistory() - colors = ['r', 'y', 'b', 'g', 'c', 'k'] - - def custom_err_fn(trial): - if 2 == trial['status']: - rval = 1.0 - trial['result']['best_epoch_valid'] - if rval > dict( - convex=.4, - mnist_rotated_background_images=2)[dataset_name]: - return None - else: - return rval - - for c, algo in zip(colors, algos): - conn_str = conn_str_template % (algo, dataset_name) - print('algo', algo) - mh.add_experiment( - mj=MongoJobs.new_from_connection_str(conn_str), - y_fn=custom_err_fn, - color=c, - label=algo, - start=start, - stop=stop) - plt = plotting.plt - # TODO: icml07 undefined - plt.axhline( - 1.0 - icml07.dbn3_scores[dataset_name], - c='k', label='manual+grid') # , dashes=[0,1]) - mh.add_scatters() - plt.legend() - plt.title(dataset_name) - plt.show() - - class ScatterByConf(object): - trial_color_dict = {0: 'k', 1: 'g', 2: 'b', 3: 'r'} - - def __init__(self, conf_template, confs, status, y): - self.conf_template = conf_template - self.confs = confs - self.y = np.asarray(y) - assert self.y.ndim == 1 - self.status = status - - self.colors = np.asarray( - [self.trial_color_dict.get(s, None) for s in self.status]) - - self.a_choices = np.array([[e['choice'] - for e in t.flatten()] - for t in confs]) - self.nones = np.array([[None - for e in t.flatten()] - for t in confs]) - self.a_names = conf_template.flatten_names() - self.a_vars = [not np.all(self.a_choices[:, i] == self.nones[:, i]) - for i, name in enumerate(self.a_names)] - - assert len(self.y) == len(self.a_choices) - assert len(self.y) == len(self.colors) - - def trial_color(self, t): - return self.trial_color_dict.get(t['status'], None) - - def scatter_one(self, column): - assert self.a_vars[column] - - non_missing = self.a_choices[:, column] != self.nones[:, column] - x = self.a_choices[non_missing, column] - y = self.y[non_missing] - c = self.colors[non_missing] - plt.xlabel(self.a_names[column]) - plt.scatter(x, y, c=c) - - def main_show_one(self, column): - # show all conf effects in a grid of scatter-plots - self.scatter_one(column) - plt.show() - - def main_show_all(self, columns=None): - if columns == None: - columns = range(len(self.a_vars)) - - columns = [c for c in columns if c < len(self.a_vars)] - - n_vars = np.sum(self.a_vars[c] for c in columns) - print(n_vars) - n_rows = 1 - n_cols = 10000 - n_vars -= 1 - while n_cols > 5 and n_cols > 3 * n_rows: # while "is ugly" - n_vars += 1 # leave one more space at the end... - n_rows = int(np.sqrt(n_vars)) - while n_vars % n_rows: - n_rows -= 1 - n_cols = n_vars / n_rows - print(n_rows, n_cols) - - subplot_idx = 0 - for var_idx in columns: - if self.a_vars[var_idx]: - plt.subplot(n_rows, n_cols, subplot_idx + 1) - self.scatter_one(var_idx) - subplot_idx += 1 - plt.show() - - def main_plot_scatter(self, argv): - low_col = int(argv[0]) - high_col = int(argv[1]) - # upgrade jobs in db to ht_dist2-compatible things - scatter_by_conf = ScatterByConf( - self.bandit.template, - self.trials, - status=self.statuses(), - y=self.losses()) - return scatter_by_conf.main_show_all(range(low_col, high_col)) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/__init__.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/__init__.py deleted file mode 100644 index 41659662..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -from __future__ import absolute_import -from .base import Apply -from .base import Literal -from .base import as_apply -from .base import scope -from .base import rec_eval -from .base import clone -from .base import clone_merge -from .base import dfs -from .base import toposort - -# -- adds symbols to scope -from . import stochastic diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/base.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/base.py deleted file mode 100644 index e6b34233..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/base.py +++ /dev/null @@ -1,1148 +0,0 @@ -# file is called AST to not collide with std lib module 'ast' -# -# It provides types to build ASTs in a simple lambda-notation style -# -from __future__ import print_function -from __future__ import absolute_import -from future import standard_library -import copy -import logging -import operator -import time - -from collections import deque - -import networkx as nx - -# TODO: move things depending on numpy (among others too) to a library file -import numpy as np -import six -from six import StringIO -from six.moves import zip -from six.moves import map -from six.moves import range - -standard_library.install_aliases() -logger = logging.getLogger(__name__) -np_versions = list(map(int, np.__version__.split('.')[:2])) - -DEFAULT_MAX_PROGRAM_LEN = 100000 - - -class PyllImportError(ImportError): - """A pyll symbol was not defined in the scope """ - - -class MissingArgument(object): - """Object to represent a missing argument to a function application - """ - - -class SymbolTable(object): - """ - An object whose methods generally allocate Apply nodes. - - _impls is a dictionary containing implementations for those nodes. - - >>> self.add(a, b) # -- creates a new 'add' Apply node - >>> self._impl['add'](a, b) # -- this computes a + b - """ - - def __init__(self): - # -- list and dict are special because they are Python builtins - self._impls = { - 'list': list, - 'dict': dict, - 'range': range, - 'len': len, - 'int': int, - 'float': float, - 'map': map, - 'max': max, - 'min': min, - 'getattr': getattr, - } - - def _new_apply(self, name, args, kwargs, o_len, pure): - pos_args = [as_apply(a) for a in args] - named_args = [(k, as_apply(v)) for (k, v) in list(kwargs.items())] - named_args.sort() - return Apply(name, - pos_args=pos_args, - named_args=named_args, - o_len=o_len, - pure=pure) - - def dict(self, *args, **kwargs): - # XXX: figure out len - return self._new_apply('dict', args, kwargs, o_len=None, - pure=True) - - def int(self, arg): - return self._new_apply('int', [as_apply(arg)], {}, o_len=None, - pure=True) - - def float(self, arg): - return self._new_apply('float', [as_apply(arg)], {}, o_len=None, - pure=True) - - def len(self, obj): - return self._new_apply('len', [obj], {}, o_len=None, - pure=True) - - def list(self, init): - return self._new_apply('list', [as_apply(init)], {}, o_len=None, - pure=True) - - def map(self, fn, seq, pure=False): - """ - pure - True is assertion that fn does not modify seq[i] - """ - return self._new_apply('map', [as_apply(fn), as_apply(seq)], {}, - o_len=seq.o_len, pure=pure) - - def range(self, *args): - return self._new_apply('range', args, {}, o_len=None, pure=True) - - def max(self, *args): - """ return max of args """ - return self._new_apply('max', list(map(as_apply, args)), {}, - o_len=None, pure=True) - - def min(self, *args): - """ return min of args """ - return self._new_apply('min', list(map(as_apply, args)), {}, - o_len=None, pure=True) - - def getattr(self, obj, attr, *args): - return self._new_apply( - 'getattr', - [as_apply(obj), as_apply(attr)] + list(map(as_apply, args)), - {}, - o_len=None, - pure=True) - - def _define(self, f, o_len, pure): - name = f.__name__ - entry = SymbolTableEntry(self, name, o_len, pure) - setattr(self, name, entry) - self._impls[name] = f - return f - - def define(self, f, o_len=None, pure=False): - """Decorator for adding python functions to self - """ - name = f.__name__ - if hasattr(self, name): - raise ValueError('Cannot override existing symbol', name) - return self._define(f, o_len, pure) - - def define_if_new(self, f, o_len=None, pure=False): - """Pass silently if f matches the current implementation - for f.__name__""" - name = f.__name__ - if hasattr(self, name) and self._impls[name] is not f: - raise ValueError('Cannot redefine existing symbol', name) - return self._define(f, o_len, pure) - - def undefine(self, f): - if isinstance(f, six.string_types): - name = f - else: - name = f.__name__ - del self._impls[name] - delattr(self, name) - - def define_pure(self, f): - return self.define(f, o_len=None, pure=True) - - def define_info(self, o_len=None, pure=False): - def wrapper(f): - return self.define(f, o_len=o_len, pure=pure) - return wrapper - - def inject(self, *args, **kwargs): - """ - Add symbols from self into a dictionary and return the dict. - - This is used for import-like syntax: see `import_`. - """ - rval = {} - for k in args: - try: - rval[k] = getattr(self, k) - except AttributeError: - raise PyllImportError(k) - for k, origk in list(kwargs.items()): - try: - rval[k] = getattr(self, origk) - except AttributeError: - raise PyllImportError(origk) - return rval - - def import_(self, _globals, *args, **kwargs): - _globals.update(self.inject(*args, **kwargs)) - - -class SymbolTableEntry(object): - """A functools.partial-like class for adding symbol table entries. - """ - def __init__(self, symbol_table, apply_name, o_len, pure): - self.symbol_table = symbol_table - self.apply_name = apply_name - self.o_len = o_len - self.pure = pure - - def __call__(self, *args, **kwargs): - return self.symbol_table._new_apply( - self.apply_name, - args, - kwargs, - self.o_len, - self.pure) - -scope = SymbolTable() - - -def as_apply(obj): - """Smart way of turning object into an Apply - """ - if isinstance(obj, Apply): - rval = obj - elif isinstance(obj, tuple): - rval = Apply('pos_args', [as_apply(a) for a in obj], {}, len(obj)) - elif isinstance(obj, list): - rval = Apply('pos_args', [as_apply(a) for a in obj], {}, None) - elif isinstance(obj, dict): - items = list(obj.items()) - # -- should be fine to allow numbers and simple things - # but think about if it's ok to allow Applys - # it messes up sorting at the very least. - items.sort() - if all(isinstance(k, six.string_types) for k in obj): - named_args = [(k, as_apply(v)) for (k, v) in items] - rval = Apply('dict', [], named_args, len(named_args)) - else: - new_items = [(k, as_apply(v)) for (k, v) in items] - rval = Apply('dict', [as_apply(new_items)], {}, o_len=None) - else: - rval = Literal(obj) - assert isinstance(rval, Apply) - return rval - - -class Apply(object): - """ - Represent a symbolic application of a symbol to arguments. - - o_len - None or int if the function is guaranteed to return a fixed number - `o_len` of outputs if it returns successfully - pure - True only if the function has no relevant side-effects - """ - - def __init__(self, name, pos_args, named_args, - o_len=None, pure=False, define_params=None): - self.name = name - # -- tuples or arrays -> lists - self.pos_args = list(pos_args) - self.named_args = [[kw, arg] for (kw, arg) in named_args] - # -- o_len is attached this early to support tuple unpacking and - # list coersion. - self.o_len = o_len - self.pure = pure - # -- define_params lets us cope with stuff that may be in the - # SymbolTable on the master but not on the worker. - self.define_params = define_params - assert all(isinstance(v, Apply) for v in pos_args) - assert all(isinstance(v, Apply) for k, v in named_args) - assert all(isinstance(k, six.string_types) for k, v in named_args) - - def __setstate__(self, state): - self.__dict__.update(state) - # -- On deserialization, update scope if need be. - if self.define_params: - scope.define_if_new(**self.define_params) - - def eval(self, memo=None): - """ - Recursively evaluate an expression graph. - - This method operates directly on the graph of extended inputs to this - node, making no attempt to modify or optimize the expression graph. - - Caveats: - - * If there are nodes in the graph that do not represent expressions, - (e.g. nodes that correspond to statement blocks or assertions) - then it's not clear what this routine should do, and you should - probably not call it. - - * If there are Lambdas in the graph, this procedure will not evluate - them -- see rec_eval for that. - - However, for many cases that are pure expression graphs, this - offers a quick and simple way to evaluate them. - """ - if memo is None: - memo = {} - if id(self) in memo: - return memo[id(self)] - else: - args = [a.eval() for a in self.pos_args] - kwargs = dict([(n, a.eval()) for (n, a) in self.named_args]) - f = scope._impls[self.name] - memo[id(self)] = rval = f(*args, **kwargs) - return rval - - def inputs(self): - # -- this function gets called a lot and it's not 100% safe to cache - # so the if/else is a small optimization - if self.named_args: - rval = self.pos_args + [v for (k, v) in self.named_args] - else: - rval = self.pos_args - return rval - - @property - def arg(self): - # XXX: move this introspection to __init__, and change - # the basic data-structure to not use pos_args and named_args. - # XXX: think though... we want the binding to be updated if pos_args - # and named_args is modified... so maybe this is an ok way to do it? - # - # XXX: extend something to deal with Lambda objects instead of - # decorated python functions. - # - # http://docs.python.org/reference/expressions.html#calls - # - binding = {} - - fn = scope._impls[self.name] - # XXX does not work for builtin functions - defaults = fn.__defaults__ # right-aligned default values for params - code = fn.__code__ - - extra_args_ok = bool(code.co_flags & 0x04) - extra_kwargs_ok = bool(code.co_flags & 0x08) - - # -- assert that my understanding of calling protocol is correct - try: - if extra_args_ok and extra_kwargs_ok: - assert len(code.co_varnames) >= code.co_argcount + 2 - param_names = code.co_varnames[:code.co_argcount + 2] - args_param = param_names[code.co_argcount] - kwargs_param = param_names[code.co_argcount + 1] - pos_params = param_names[:code.co_argcount] - elif extra_kwargs_ok: - assert len(code.co_varnames) >= code.co_argcount + 1 - param_names = code.co_varnames[:code.co_argcount + 1] - kwargs_param = param_names[code.co_argcount] - pos_params = param_names[:code.co_argcount] - elif extra_args_ok: - assert len(code.co_varnames) >= code.co_argcount + 1 - param_names = code.co_varnames[:code.co_argcount + 1] - args_param = param_names[code.co_argcount] - pos_params = param_names[:code.co_argcount] - else: - assert len(code.co_varnames) >= code.co_argcount - param_names = code.co_varnames[:code.co_argcount] - pos_params = param_names[:code.co_argcount] - except AssertionError: - print('YIKES: MISUNDERSTANDING OF CALL PROTOCOL:') - print(code.co_argcount) - print(code.co_varnames) - print('%x' % code.co_flags) - raise - - if extra_args_ok: - binding[args_param] == [] - - if extra_kwargs_ok: - binding[kwargs_param] == {} - - if len(self.pos_args) > code.co_argcount and not extra_args_ok: - raise TypeError('Argument count exceeds number of positional params') - - # -- bind positional arguments - for param_i, arg_i in zip(param_names, self.pos_args): - binding[param_i] = arg_i - - if extra_args_ok: - # XXX: THIS IS NOT BEING TESTED AND IS OBVIOUSLY BROKEN - # TODO: 'args' does not even exist at this point - binding[args_param].extend(args[code.co_argcount:]) - - # -- bind keyword arguments - for aname, aval in self.named_args: - try: - pos = pos_params.index(aname) - except ValueError: - if extra_kwargs_ok: - binding[kwargs_param][aname] = aval - continue - else: - raise TypeError('Unrecognized keyword argument', aname) - param = param_names[pos] - if param in binding: - raise TypeError('Duplicate argument for parameter', param) - binding[param] = aval - - assert len(binding) <= len(param_names) - - if len(binding) < len(param_names): - for p in param_names: - if p not in binding: - binding[p] = MissingArgument - - return binding - - def set_kwarg(self, name, value): - for ii, (key, val) in enumerate(self.named_args): - if key == name: - self.named_args[ii][1] = as_apply(value) - return - arg = self.arg - if name in arg and arg[name] != MissingArgument: - raise NotImplementedError('change pos arg to kw arg') - else: - self.named_args.append([name, as_apply(value)]) - self.named_args.sort() - - def clone_from_inputs(self, inputs, o_len='same'): - if len(inputs) != len(self.inputs()): - raise TypeError() - L = len(self.pos_args) - pos_args = list(inputs[:L]) - named_args = [[kw, inputs[L + ii]] - for ii, (kw, arg) in enumerate(self.named_args)] - # -- danger cloning with new inputs can change the o_len - if o_len == 'same': - o_len = self.o_len - return self.__class__(self.name, pos_args, named_args, o_len) - - def replace_input(self, old_node, new_node): - rval = [] - for ii, aa in enumerate(self.pos_args): - if aa is old_node: - self.pos_args[ii] = new_node - rval.append(ii) - for ii, (nn, aa) in enumerate(self.named_args): - if aa is old_node: - self.named_args[ii][1] = new_node - rval.append(ii + len(self.pos_args)) - return rval - - def pprint(self, ofile, lineno=None, indent=0, memo=None): - if memo is None: - memo = {} - if lineno is None: - lineno = [0] - - if self in memo: - print(lineno[0], ' ' * indent + memo[self], file=ofile) - lineno[0] += 1 - else: - memo[self] = self.name + (' [line:%i]' % lineno[0]) - print(lineno[0], ' ' * indent + self.name, file=ofile) - lineno[0] += 1 - for arg in self.pos_args: - arg.pprint(ofile, lineno, indent + 2, memo) - for name, arg in self.named_args: - print(lineno[0], ' ' * indent + ' ' + name + ' =', file=ofile) - lineno[0] += 1 - arg.pprint(ofile, lineno, indent + 2, memo) - - def __str__(self): - sio = StringIO() - self.pprint(sio) - return sio.getvalue()[:-1] # remove trailing '\n' - - def __add__(self, other): - return scope.add(self, other) - - def __radd__(self, other): - return scope.add(other, self) - - def __sub__(self, other): - return scope.sub(self, other) - - def __rsub__(self, other): - return scope.sub(other, self) - - def __neg__(self): - return scope.neg(self) - - def __mul__(self, other): - return scope.mul(self, other) - - def __rmul__(self, other): - return scope.mul(other, self) - - def __div__(self, other): - return scope.div(self, other) - - def __rdiv__(self, other): - return scope.div(other, self) - - def __truediv__(self, other): - return scope.truediv(self, other) - - def __rtruediv__(self, other): - return scope.truediv(other, self) - - def __floordiv__(self, other): - return scope.floordiv(self, other) - - def __rfloordiv__(self, other): - return scope.floordiv(other, self) - - def __pow__(self, other): - return scope.pow(self, other) - - def __rpow__(self, other): - return scope.pow(other, self) - - def __gt__(self, other): - return scope.gt(self, other) - - def __ge__(self, other): - return scope.ge(self, other) - - def __lt__(self, other): - return scope.lt(self, other) - - def __le__(self, other): - return scope.le(self, other) - - def __getitem__(self, idx): - if self.o_len is not None and isinstance(idx, int): - if idx >= self.o_len: - # -- this IndexError is essential for supporting - # tuple-unpacking syntax or list coersion of self. - raise IndexError() - return scope.getitem(self, idx) - - def __len__(self): - if self.o_len is None: - raise TypeError('len of pyll.Apply either undefined or unknown') - return self.o_len - - def __call__(self, *args, **kwargs): - return scope.call(self, args, kwargs) - - -def apply(name, *args, **kwargs): - pos_args = [as_apply(a) for a in args] - named_args = [(k, as_apply(v)) for (k, v) in list(kwargs.items())] - named_args.sort() - return Apply(name, - pos_args=pos_args, - named_args=named_args, - o_len=None) - - -class Literal(Apply): - def __init__(self, obj=None): - try: - o_len = len(obj) - except TypeError: - o_len = None - Apply.__init__(self, 'literal', [], {}, o_len, pure=True) - self._obj = obj - - def eval(self, memo=None): - if memo is None: - memo = {} - return memo.setdefault(id(self), self._obj) - - @property - def obj(self): - return self._obj - - @property - def arg(self): - return {} - - def pprint(self, ofile, lineno=None, indent=0, memo=None): - if lineno is None: - lineno = [0] - if memo is None: - memo = {} - if self in memo: - print(lineno[0], ' ' * indent + memo[self], file=ofile) - else: - # TODO: set up a registry for this - if isinstance(self._obj, np.ndarray): - msg = 'Literal{np.ndarray,shape=%s,min=%f,max=%f}' % ( - self._obj.shape, self._obj.min(), self._obj.max()) - else: - msg = 'Literal{%s}' % str(self._obj) - memo[self] = '%s [line:%i]' % (msg, lineno[0]) - print(lineno[0], ' ' * indent + msg, file=ofile) - lineno[0] += 1 - - def replace_input(self, old_node, new_node): - return [] - - def clone_from_inputs(self, inputs, o_len='same'): - return self.__class__(self._obj) - - -class Lambda(object): - - # XXX: Extend Lambda objects to have a list of exception clauses. - # If the code of the expr() throws an error, these clauses convert - # that error to a return value. - - def __init__(self, name, params, expr): - self.__name__ = name # like a python function - self.params = params # list of (name, symbol[, default_value]) tuples - self.expr = expr # pyll graph defining this Lambda - - def __call__(self, *args, **kwargs): - # -- return `expr` cloned from given args and kwargs - if len(args) > len(self.params): - raise TypeError('too many arguments') - memo = {} - for arg, param in zip(args, self.params): - # print('applying with arg', param, arg) - memo[param[1]] = as_apply(arg) - if len(args) != len(self.params) or kwargs: - raise NotImplementedError('named / default arguments', - (args, self.params)) - rval = clone(self.expr, memo) - return rval - - -class UndefinedValue(object): - pass - - -# -- set up some convenience symbols to use as parameters in Lambda definitions -p0 = Literal(UndefinedValue) -p1 = Literal(UndefinedValue) -p2 = Literal(UndefinedValue) -p3 = Literal(UndefinedValue) -p4 = Literal(UndefinedValue) - - -@scope.define -def call(fn, args=(), kwargs={}): - """ call fn with given args and kwargs. - - This is used to represent Apply.__call__ - """ - return fn(*args, **kwargs) - - -@scope.define -def callpipe1(fn_list, arg): - """ - - fn_list: a list lambdas that return either pyll expressions or python - values - - arg: the argument to the first function in the list - - return: `fn_list[-1]( ... (fn_list[1](fn_list[0](arg))))` - - """ - # XXX: in current implementation, if fs are `partial`, then - # this loop will expand all functions f at once, so that they - # will all be evaluated in the same scope/memo by rec_eval. - # Normally programming languages would evaluate each f in a private - # scope - for f in fn_list: - arg = f(arg) - return arg - - -@scope.define -def partial(name, *args, **kwargs): - # TODO: introspect the named instruction, to retrieve the - # list of parameters *not* accounted for by args and kwargs - # then delete these stupid functions and just have one `partial` - try: - name = name.apply_name # to retrieve name from scope.foo methods - except AttributeError: - pass - - my_id = len(scope._impls) - # -- create a function with this name - # the name is the string used index into scope._impls - temp_name = 'partial_%s_id%i' % (name, my_id) - l = Lambda(temp_name, [('x', p0)], - expr=apply(name, *(args + (p0,)), **kwargs)) - scope.define(l) - # assert that the next partial will get a different id - # XXX; THIS ASSUMES THAT SCOPE ONLY GROWS - assert my_id < len(scope._impls) - rval = getattr(scope, temp_name) - return rval - - -def dfs(aa, seq=None, seqset=None): - if seq is None: - assert seqset is None - seq = [] - seqset = {} - # -- seqset is the set of all nodes we have seen (which may be still on - # the stack) - # N.B. it used to be a stack, but now it's a dict mapping to inputs - # because that's an optimization saving us from having to call inputs - # so often. - if aa in seqset: - return - assert isinstance(aa, Apply) - seqset[aa] = aa.inputs() - for ii in seqset[aa]: - dfs(ii, seq, seqset) - seq.append(aa) - return seq - - -def toposort(expr): - """ - Return apply nodes of `expr` sub-tree in topological order. - - Raises networkx.NetworkXUnfeasible if subtree contains cycle. - - """ - G = nx.DiGraph() - for node in dfs(expr): - G.add_edges_from([(n_in, node) for n_in in node.inputs()]) - order = nx.topological_sort(G) - assert order[-1] == expr - return order - - -def clone(expr, memo=None): - if memo is None: - memo = {} - nodes = dfs(expr) - for node in nodes: - if node not in memo: - new_inputs = [memo[arg] for arg in node.inputs()] - new_node = node.clone_from_inputs(new_inputs) - memo[node] = new_node - return memo[expr] - - -def clone_merge(expr, memo=None, merge_literals=False): - nodes = dfs(expr) - if memo is None: - memo = {} - # -- args are somewhat slow to construct, so cache them out front - # XXX node.arg does not always work (builtins, weird co_flags) - node_args = [(node.pos_args, node.named_args) for node in nodes] - try: - del node - except: - pass - for ii, node_ii in enumerate(nodes): - if node_ii in memo: - continue - new_ii = None - if node_ii.pure: - for jj in range(ii): - node_jj = nodes[jj] - if node_ii.name != node_jj.name: - continue - if node_ii.name == 'literal': - if not merge_literals: - continue - if node_ii._obj != node_jj._obj: - continue - else: - if node_args[ii] != node_args[jj]: - continue - logger.debug('clone_merge %s %i <- %i' % ( - node_ii.name, jj, ii)) - new_ii = node_jj - break - if new_ii is None: - new_inputs = [memo[arg] for arg in node_ii.inputs()] - new_ii = node_ii.clone_from_inputs(new_inputs) - memo[node_ii] = new_ii - - return memo[expr] - - -############################################################################## -############################################################################## - - -class GarbageCollected(object): - '''Placeholder representing a garbage-collected value ''' - - -def rec_eval(expr, deepcopy_inputs=False, memo=None, - max_program_len=None, - memo_gc=True, - print_trace=False, - print_node_on_error=True, - ): - """ - expr - pyll Apply instance to be evaluated - - memo - optional dictionary of values to use for particular nodes - - deepcopy_inputs - deepcopy inputs to every node prior to calling that - node's function on those inputs. If this leads to a different return - value, then some function (XXX add more complete DebugMode - functionality) in your graph is modifying its inputs and causing - mis-calculation. XXX: This is not a fully-functional DebugMode because - if the offender happens on account of the toposort order to be the last - user of said input, then it will not be detected as a potential - problem. - - """ - if max_program_len == None: - max_program_len = DEFAULT_MAX_PROGRAM_LEN - - if deepcopy_inputs not in (0, 1, False, True): - # -- I've been calling rec_eval(expr, memo) by accident a few times - # this error would have been appreciated. - raise ValueError('deepcopy_inputs should be bool', deepcopy_inputs) - - node = as_apply(expr) - topnode = node - - if memo is None: - memo = {} - else: - memo = dict(memo) - - # -- hack for speed - # since the inputs are constant during rec_eval - # but not constant in general - node_inputs = {} - node_list = [] - dfs(node, node_list, seqset=node_inputs) - - # TODO: optimize dfs to not recurse past the items in memo - # this is especially important for evaluating Lambdas - # which cause rec_eval to recurse - # - # N.B. that Lambdas may expand the graph during the evaluation - # so that this iteration may be an incomplete - if memo_gc: - clients = {} - for aa in node_list: - clients.setdefault(aa, set()) - for ii in node_inputs[aa]: - clients.setdefault(ii, set()).add(aa) - - def set_memo(k, v): - assert v is not GarbageCollected - memo[k] = v - for ii in node_inputs[k]: - # -- if all clients of ii are already in the memo - # then we can free memo[ii] by replacing it - # with a dummy symbol - if all(iic in memo for iic in clients[ii]): - memo[ii] = GarbageCollected - else: - def set_memo(k, v): - memo[k] = v - - todo = deque([topnode]) - while todo: - if len(todo) > max_program_len: - raise RuntimeError('Probably infinite loop in document') - node = todo.pop() - if print_trace: - print('rec_eval:print_trace', len(todo), node.name) - - if node in memo: - # -- we've already computed this, move on. - continue - - # -- different kinds of nodes are treated differently: - if node.name == 'switch': - # -- switch is the conditional evaluation node - switch_i_var = node.pos_args[0] - if switch_i_var in memo: - switch_i = memo[switch_i_var] - try: - int(switch_i) - except: - raise TypeError('switch argument was', switch_i) - if switch_i != int(switch_i) or switch_i < 0: - raise ValueError('switch pos must be positive int', - switch_i) - rval_var = node.pos_args[switch_i + 1] - if rval_var in memo: - set_memo(node, memo[rval_var]) - continue - else: - waiting_on = [rval_var] - else: - waiting_on = [switch_i_var] - elif isinstance(node, Literal): - # -- constants go straight into the memo - set_memo(node, node.obj) - continue - else: - # -- normal instruction-type nodes have inputs - waiting_on = [v for v in node_inputs[node] if v not in memo] - - if waiting_on: - # -- Necessary inputs have yet to be evaluated. - # push the node back in the queue, along with the - # inputs it still needs - todo.append(node) - todo.extend(waiting_on) - else: - # -- not waiting on anything; - # this instruction can be evaluated. - args = _args = [memo[v] for v in node.pos_args] - kwargs = _kwargs = dict( - [(k, memo[v]) for (k, v) in node.named_args] - ) - - if memo_gc: - for aa in args + list(kwargs.values()): - assert aa is not GarbageCollected - - if deepcopy_inputs: - args = copy.deepcopy(_args) - kwargs = copy.deepcopy(_kwargs) - - try: - rval = scope._impls[node.name](*args, **kwargs) - - except Exception as e: - if print_node_on_error: - print('=' * 80) - print('ERROR in rec_eval') - print('EXCEPTION', type(e), str(e)) - print('NODE') - print(node) # -- typically a multi-line string - print('=' * 80) - raise - - if isinstance(rval, Apply): - # -- if an instruction returns a Pyll apply node - # it means evaluate that too. Lambdas do this. - # - # XXX: consider if it is desirable, efficient, buggy - # etc. to keep using the same memo dictionary - foo = rec_eval(rval, deepcopy_inputs, memo, - memo_gc=memo_gc) - set_memo(node, foo) - else: - set_memo(node, rval) - - return memo[topnode] - - -############################################################################ -############################################################################ - -@scope.define_pure -def pos_args(*args): - return args - - -@scope.define_pure -def identity(obj): - return obj - - -# -- We used to define these as Python functions in this file, but the operator -# module already provides them, is slightly more efficient about it. Since -# searchspaces uses the same convention, we can more easily map graphs back -# and forth and reduce the amount of code in both codebases. -scope.define_pure(operator.getitem) -scope.define_pure(operator.add) -scope.define_pure(operator.sub) -scope.define_pure(operator.mul) -try: - scope.define_pure(operator.div) -except AttributeError: - pass # No more operator.div in Python3, but truediv also exists since Python2.2 -scope.define_pure(operator.truediv) -scope.define_pure(operator.floordiv) -scope.define_pure(operator.neg) -scope.define_pure(operator.eq) -scope.define_pure(operator.lt) -scope.define_pure(operator.le) -scope.define_pure(operator.gt) -scope.define_pure(operator.ge) - - -@scope.define_pure -def exp(a): - return np.exp(a) - - -@scope.define_pure -def log(a): - return np.log(a) - - -@scope.define_pure -def pow(a, b): - return a ** b - - -@scope.define_pure -def sin(a): - return np.sin(a) - - -@scope.define_pure -def cos(a): - return np.cos(a) - - -@scope.define_pure -def tan(a): - return np.tan(a) - - -@scope.define_pure -def sum(x, axis=None): - if axis is None: - return np.sum(x) - else: - return np.sum(x, axis=axis) - - -@scope.define_pure -def sqrt(x): - return np.sqrt(x) - - -@scope.define_pure -def minimum(x, y): - return np.minimum(x, y) - - -@scope.define_pure -def maximum(x, y): - return np.maximum(x, y) - - -@scope.define_pure -def array_union1(args): - s = set() - for a in args: - s.update(a) - return np.asarray(sorted(s)) - - -@scope.define_pure -def array_union(*args): - return array_union1(args) - - -@scope.define_pure -def asarray(a, dtype=None): - if dtype is None: - return np.asarray(a) - else: - return np.asarray(a, dtype=dtype) - - -@scope.define_pure -def str_join(s, seq): - return s.join(seq) - - -def _bincount_slow(x, weights=None, minlength=None): - """backport of np.bincount post numpy 1.6 - """ - if weights is not None: - raise NotImplementedError() - if minlength is None: - rlen = np.max(x) + 1 - else: - rlen = max(np.max(x) + 1, minlength) - rval = np.zeros(rlen, dtype='int') - for xi in np.asarray(x).flatten(): - rval[xi] += 1 - return rval - - -@scope.define_pure -def bincount(x, weights=None, minlength=None): - if np_versions[0] == 1 and np_versions[1] < 6: - # -- np.bincount doesn't have minlength arg - return _bincount_slow(x, weights, minlength) - else: - if np.asarray(x).size: - return np.bincount(x, weights, minlength) - else: - # -- currently numpy rejects this case, - # but it seems sensible enough to me. - return np.zeros(minlength, dtype='int') - - -@scope.define_pure -def repeat(n_times, obj): - return [obj] * n_times - - -@scope.define -def call_method(obj, methodname, *args, **kwargs): - method = getattr(obj, methodname) - return method(*args, **kwargs) - - -@scope.define_pure -def call_method_pure(obj, methodname, *args, **kwargs): - method = getattr(obj, methodname) - return method(*args, **kwargs) - - -@scope.define_pure -def copy_call_method_pure(obj, methodname, *args, **kwargs): - # -- this method copies object before calling the method - # so that in the case where args and kwargs are not modified - # the call_method can be done in a no-side-effect way. - # - # It is a mistake to use this method when args or kwargs are modified - # by the call to method. - method = getattr(copy.copy(obj), methodname) - return method(*args, **kwargs) - - -@scope.define_pure -def switch(pos, *args): - # switch is an unusual expression, in that it affects control flow - # when executed with rec_eval. args are not all evaluated, only - # args[pos] is evaluated. - # raise RuntimeError('switch is not meant to be evaluated') - # - # .. However, in quick-evaluation schemes it is handy that this be defined - # as follows: - return args[pos] - - -def _kwswitch(kw, **kwargs): - """conditional evaluation according to string value""" - # Get the index of the string in kwargs to use switch - keys, values = list(zip(*sorted(kwargs.items()))) - match_idx = scope.call_method_pure(keys, 'index', kw) - return scope.switch(match_idx, *values) - -scope.kwswitch = _kwswitch - - -@scope.define_pure -def Raise(etype, *args, **kwargs): - raise etype(*args, **kwargs) - - -@scope.define_info(o_len=2) -def curtime(obj): - return time.time(), obj - - -@scope.define -def pdb_settrace(obj): - import pdb - pdb.set_trace() - return obj diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/stochastic.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/stochastic.py deleted file mode 100644 index 016b0fd6..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/stochastic.py +++ /dev/null @@ -1,196 +0,0 @@ -""" -Constructs for annotating base graphs. -""" -from __future__ import print_function -from __future__ import division -from builtins import range -from past.utils import old_div -import sys -import numpy as np -from .base import scope, as_apply, dfs, rec_eval, clone - -################################################################################ -################################################################################ - - -def ERR(msg): - print(msg, file=sys.stderr) - - -implicit_stochastic_symbols = set() - - -def implicit_stochastic(f): - implicit_stochastic_symbols.add(f.__name__) - return f - - -@scope.define -def rng_from_seed(seed): - return np.random.RandomState(seed) - - -# -- UNIFORM - -@implicit_stochastic -@scope.define -def uniform(low, high, rng=None, size=()): - return rng.uniform(low, high, size=size) - - -@implicit_stochastic -@scope.define -def loguniform(low, high, rng=None, size=()): - draw = rng.uniform(low, high, size=size) - return np.exp(draw) - - -@implicit_stochastic -@scope.define -def quniform(low, high, q, rng=None, size=()): - draw = rng.uniform(low, high, size=size) - return np.round(old_div(draw, q)) * q - - -@implicit_stochastic -@scope.define -def qloguniform(low, high, q, rng=None, size=()): - draw = np.exp(rng.uniform(low, high, size=size)) - return np.round(old_div(draw, q)) * q - - -# -- NORMAL - -@implicit_stochastic -@scope.define -def normal(mu, sigma, rng=None, size=()): - return rng.normal(mu, sigma, size=size) - - -@implicit_stochastic -@scope.define -def qnormal(mu, sigma, q, rng=None, size=()): - draw = rng.normal(mu, sigma, size=size) - return np.round(old_div(draw, q)) * q - - -@implicit_stochastic -@scope.define -def lognormal(mu, sigma, rng=None, size=()): - draw = rng.normal(mu, sigma, size=size) - return np.exp(draw) - - -@implicit_stochastic -@scope.define -def qlognormal(mu, sigma, q, rng=None, size=()): - draw = np.exp(rng.normal(mu, sigma, size=size)) - return np.round(old_div(draw, q)) * q - - -# -- CATEGORICAL - - -@implicit_stochastic -@scope.define -def randint(upper, rng=None, size=()): - # this is tricky because numpy doesn't support - # upper being a list of len size[0] - if isinstance(upper, (list, tuple)): - if isinstance(size, int): - assert len(upper) == size - return np.asarray([rng.randint(uu) for uu in upper]) - elif len(size) == 1: - assert len(upper) == size[0] - return np.asarray([rng.randint(uu) for uu in upper]) - return rng.randint(upper, size=size) - - -@implicit_stochastic -@scope.define -def categorical(p, upper=None, rng=None, size=()): - """Draws i with probability p[i]""" - if len(p) == 1 and isinstance(p[0], np.ndarray): - p = p[0] - p = np.asarray(p) - - if size == (): - size = (1,) - elif isinstance(size, (int, np.number)): - size = (size,) - else: - size = tuple(size) - - if size == (0,): - return np.asarray([]) - assert len(size) - - if p.ndim == 0: - raise NotImplementedError() - elif p.ndim == 1: - n_draws = int(np.prod(size)) - sample = rng.multinomial(n=1, pvals=p, size=int(n_draws)) - assert sample.shape == size + (len(p),) - rval = np.dot(sample, np.arange(len(p))) - rval.shape = size - return rval - elif p.ndim == 2: - n_draws_, n_choices = p.shape - n_draws, = size - assert n_draws == n_draws_ - rval = [np.where(rng.multinomial(pvals=p[ii], n=1))[0][0] - for ii in range(n_draws)] - rval = np.asarray(rval) - rval.shape = size - return rval - else: - raise NotImplementedError() - - -def choice(args): - return scope.one_of(*args) -scope.choice = choice - - -def one_of(*args): - ii = scope.randint(len(args)) - return scope.switch(ii, *args) -scope.one_of = one_of - - -def recursive_set_rng_kwarg(expr, rng=None): - """ - Make all of the stochastic nodes in expr use the rng - - uniform(0, 1) -> uniform(0, 1, rng=rng) - """ - if rng is None: - rng = np.random.RandomState() - lrng = as_apply(rng) - for node in dfs(expr): - if node.name in implicit_stochastic_symbols: - for ii, (name, arg) in enumerate(list(node.named_args)): - if name == 'rng': - node.named_args[ii] = ('rng', lrng) - break - else: - node.named_args.append(('rng', lrng)) - return expr - - -def sample(expr, rng=None, **kwargs): - """ - Parameters: - expr - a pyll expression to be evaluated - - rng - a np.random.RandomState instance - default: `np.random.RandomState()` - - **kwargs - optional arguments passed along to - `hyperopt.pyll.rec_eval` - - """ - if rng is None: - rng = np.random.RandomState() - foo = recursive_set_rng_kwarg(clone(as_apply(expr)), as_apply(rng)) - return rec_eval(foo, **kwargs) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/__init__.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_base.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_base.py deleted file mode 100644 index 196d9803..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_base.py +++ /dev/null @@ -1,288 +0,0 @@ -from __future__ import division -from hyperopt.pyll import base -from hyperopt.pyll.base import ( - Literal, as_apply, Apply, dfs, scope, rec_eval, p0, Lambda, clone_merge -) - -from nose import SkipTest -from nose.tools import assert_raises -import numpy as np - - -def test_literal_pprint(): - l = Literal(5) - print(str(l)) - assert str(l) == '0 Literal{5}' - - -def test_literal_apply(): - l0 = Literal([1, 2, 3]) - print(str(l0)) - assert str(l0) == '0 Literal{[1, 2, 3]}' - - -def test_literal_unpacking(): - l0 = Literal([1, 2, 3]) - a, b, c = l0 - print(a) - assert c.name == 'getitem' - assert c.pos_args[0] is l0 - assert isinstance(c.pos_args[1], Literal) - assert c.pos_args[1]._obj == 2 - - -def test_as_apply_passthrough(): - a4 = as_apply(4) - assert a4 is as_apply(a4) - - -def test_as_apply_literal(): - assert isinstance(as_apply(7), Literal) - - -def test_as_apply_list_of_literals(): - l = [9, 3] - al = as_apply(l) - assert isinstance(al, Apply) - assert al.name == 'pos_args' - assert isinstance(al.pos_args[0], Literal) - assert isinstance(al.pos_args[1], Literal) - al.pos_args[0]._obj == 9 - al.pos_args[1]._obj == 3 - - -def test_as_apply_tuple_of_literals(): - l = (9, 3) - al = as_apply(l) - assert isinstance(al, Apply) - assert al.name == 'pos_args' - assert isinstance(al.pos_args[0], Literal) - assert isinstance(al.pos_args[1], Literal) - al.pos_args[0]._obj == 9 - al.pos_args[1]._obj == 3 - assert len(al) == 2 - - -def test_as_apply_list_of_applies(): - alist = [as_apply(i) for i in range(5)] - - al = as_apply(alist) - assert isinstance(al, Apply) - assert al.name == 'pos_args' - # -- have to come back to this if Literal copies args - assert al.pos_args == alist - - -def test_as_apply_dict_of_literals(): - d = {'a': 9, 'b': 10} - ad = as_apply(d) - assert isinstance(ad, Apply) - assert ad.name == 'dict' - assert len(ad) == 2 - assert ad.named_args[0][0] == 'a' - assert ad.named_args[0][1]._obj == 9 - assert ad.named_args[1][0] == 'b' - assert ad.named_args[1][1]._obj == 10 - - -def test_as_apply_dict_of_applies(): - d = {'a': as_apply(9), 'b': as_apply(10)} - ad = as_apply(d) - assert isinstance(ad, Apply) - assert ad.name == 'dict' - assert len(ad) == 2 - assert ad.named_args[0][0] == 'a' - assert ad.named_args[0][1]._obj == 9 - assert ad.named_args[1][0] == 'b' - assert ad.named_args[1][1]._obj == 10 - - -def test_as_apply_nested_dict(): - d = {'a': 9, 'b': {'c': 11, 'd': 12}} - ad = as_apply(d) - assert isinstance(ad, Apply) - assert ad.name == 'dict' - assert len(ad) == 2 - assert ad.named_args[0][0] == 'a' - assert ad.named_args[0][1]._obj == 9 - assert ad.named_args[1][0] == 'b' - assert ad.named_args[1][1].name == 'dict' - assert ad.named_args[1][1].named_args[0][0] == 'c' - assert ad.named_args[1][1].named_args[0][1]._obj == 11 - assert ad.named_args[1][1].named_args[1][0] == 'd' - assert ad.named_args[1][1].named_args[1][1]._obj == 12 - - -def test_dfs(): - dd = as_apply({'c': 11, 'd': 12}) - - d = {'a': 9, 'b': dd, 'y': dd, 'z': dd + 1} - ad = as_apply(d) - order = dfs(ad) - print([str(o) for o in order]) - assert order[0]._obj == 9 - assert order[1]._obj == 11 - assert order[2]._obj == 12 - assert order[3].named_args[0][0] == 'c' - assert order[4]._obj == 1 - assert order[5].name == 'add' - assert order[6].named_args[0][0] == 'a' - assert len(order) == 7 - - -@scope.define_info(o_len=2) -def _test_foo(): - return 1, 2 - - -def test_o_len(): - obj = scope._test_foo() - x, y = obj - assert x.name == 'getitem' - assert x.pos_args[1]._obj == 0 - assert y.pos_args[1]._obj == 1 - - -def test_eval_arithmetic(): - a, b, c = as_apply((2, 3, 4)) - - assert (a + b).eval() == 5 - assert (a + b + c).eval() == 9 - assert (a + b + 1 + c).eval() == 10 - - assert (a * b).eval() == 6 - assert (a * b * c * (-1)).eval() == -24 - - assert (a - b).eval() == -1 - assert (a - b * c).eval() == -10 - - assert (a // b).eval() == 0 # int div - assert (b // a).eval() == 1 # int div - assert (c / a).eval() == 2 - assert (4 / a).eval() == 2 - assert (a / 4.0).eval() == 0.5 - - -def test_bincount(): - def test_f(f): - r = np.arange(10) - counts = f(r) - assert isinstance(counts, np.ndarray) - assert len(counts) == 10 - assert np.all(counts == 1) - - r = np.arange(10) + 3 - counts = f(r) - assert isinstance(counts, np.ndarray) - assert len(counts) == 13 - assert np.all(counts[3:] == 1) - assert np.all(counts[:3] == 0) - - r = np.arange(10) + 3 - counts = f(r, minlength=5) # -- ignore minlength - assert isinstance(counts, np.ndarray) - assert len(counts) == 13 - assert np.all(counts[3:] == 1) - assert np.all(counts[:3] == 0) - - r = np.arange(10) + 3 - counts = f(r, minlength=15) # -- pad to minlength - assert isinstance(counts, np.ndarray) - assert len(counts) == 15 - assert np.all(counts[:3] == 0) - assert np.all(counts[3:13] == 1) - assert np.all(counts[13:] == 0) - - r = np.arange(10) % 3 + 3 - counts = f(r, minlength=7) # -- pad to minlength - assert list(counts) == [0, 0, 0, 4, 3, 3, 0] - - try: - test_f(base._bincount_slow) - test_f(base.bincount) - except TypeError as e: - if 'function takes at most 2 arguments' in str(e): - raise SkipTest() - raise - - -def test_switch_and_Raise(): - i = Literal() - ab = scope.switch(i, 'a', 'b', scope.Raise(Exception)) - assert rec_eval(ab, memo={i: 0}) == 'a' - assert rec_eval(ab, memo={i: 1}) == 'b' - assert_raises(Exception, rec_eval, ab, memo={i: 2}) - - -def test_kwswitch(): - i = Literal() - ab = scope.kwswitch(i, k1='a', k2='b', err=scope.Raise(Exception)) - assert rec_eval(ab, memo={i: 'k1'}) == 'a' - assert rec_eval(ab, memo={i: 'k2'}) == 'b' - assert_raises(Exception, rec_eval, ab, memo={i: 'err'}) - - -def test_recursion(): - scope.define(Lambda('Fact', [('x', p0)], - expr=scope.switch(p0 > 1, 1, p0 * base.apply('Fact', p0 - 1)))) - print(scope.Fact(3)) - assert rec_eval(scope.Fact(3)) == 6 - - -def test_partial(): - add2 = scope.partial('add', 2) - print(add2) - assert len(str(add2).split('\n')) == 3 - - # add2 evaluates to a scope method - thing = rec_eval(add2) - print(thing) - assert 'SymbolTableEntry' in str(thing) - - # add2() evaluates to a failure because it's only a partial application - assert_raises(NotImplementedError, rec_eval, add2()) - - # add2(3) evaluates to 5 because we've filled in all the blanks - thing = rec_eval(add2(3)) - print(thing) - assert thing == 5 - - -def test_callpipe(): - - # -- set up some 1-variable functions - a2 = scope.partial('add', 2) - a3 = scope.partial('add', 3) - - def s9(a): - return scope.sub(a, 9) - - # x + 2 + 3 - 9 == x - 4 - r = scope.callpipe1([a2, a3, s9], 5) - thing = rec_eval(r) - assert thing == 1 - - -def test_clone_merge(): - a, b, c = as_apply((2, 3, 2)) - d = (a + b) * (c + b) - len_d = len(dfs(d)) - - e = clone_merge(d, merge_literals=True) - assert len_d == len(dfs(d)) - assert len_d > len(dfs(e)) - assert e.eval() == d.eval() - - -def test_clone_merge_no_merge_literals(): - a, b, c = as_apply((2, 3, 2)) - d = (a + b) * (c + b) - len_d = len(dfs(d)) - e = clone_merge(d, merge_literals=False) - assert len_d == len(dfs(d)) - assert len_d == len(dfs(e)) - assert e.eval() == d.eval() - - -def test_len(): - assert_raises(TypeError, len, scope.uniform(0, 1)) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_stochastic.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_stochastic.py deleted file mode 100644 index 2e0045f8..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll/tests/test_stochastic.py +++ /dev/null @@ -1,76 +0,0 @@ -from __future__ import print_function -from __future__ import division -from builtins import str -from past.utils import old_div -import numpy as np -from hyperopt.pyll import scope, as_apply, rec_eval -from hyperopt.pyll.stochastic import recursive_set_rng_kwarg, sample - - -def test_recursive_set_rng_kwarg(): - uniform = scope.uniform - a = as_apply([uniform(0, 1), uniform(2, 3)]) - rng = np.random.RandomState(234) - recursive_set_rng_kwarg(a, rng) - print(a) - val_a = rec_eval(a) - assert 0 < val_a[0] < 1 - assert 2 < val_a[1] < 3 - - -def test_lnorm(): - G = scope - choice = G.choice - uniform = G.uniform - quantized_uniform = G.quniform - - inker_size = quantized_uniform(low=0, high=7.99, q=2) + 3 - # -- test that it runs - lnorm = as_apply({'kwargs': {'inker_shape': (inker_size, inker_size), - 'outker_shape': (inker_size, inker_size), - 'remove_mean': choice([0, 1]), - 'stretch': uniform(low=0, high=10), - 'threshold': uniform( - low=old_div(.1, np.sqrt(10.)), - high=10 * np.sqrt(10)) - }}) - print(lnorm) - print(('len', len(str(lnorm)))) - # not sure what to assert - # ... this is too fagile - # assert len(str(lnorm)) == 980 - - -def test_sample_deterministic(): - aa = as_apply([0, 1]) - print(aa) - dd = sample(aa, np.random.RandomState(3)) - assert dd == (0, 1) - - -def test_repeatable(): - u = scope.uniform(0, 1) - aa = as_apply(dict( - u=u, - n=scope.normal(5, 0.1), - l=[0, 1, scope.one_of(2, 3), u])) - dd1 = sample(aa, np.random.RandomState(3)) - dd2 = sample(aa, np.random.RandomState(3)) - dd3 = sample(aa, np.random.RandomState(4)) - assert dd1 == dd2 - assert dd1 != dd3 - - -def test_sample(): - u = scope.uniform(0, 1) - aa = as_apply(dict( - u=u, - n=scope.normal(5, 0.1), - l=[0, 1, scope.one_of(2, 3), u])) - print(aa) - dd = sample(aa, np.random.RandomState(3)) - assert 0 < dd['u'] < 1 - assert 4 < dd['n'] < 6 - assert dd['u'] == dd['l'][3] - assert dd['l'][:2] == (0, 1) - assert dd['l'][2] in (2, 3) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll_utils.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll_utils.py deleted file mode 100644 index 5ba0e7f3..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/pyll_utils.py +++ /dev/null @@ -1,237 +0,0 @@ -from __future__ import absolute_import -from builtins import str -from builtins import zip -from builtins import range -from past.builtins import basestring -from builtins import object -from functools import partial, wraps -from .base import DuplicateLabel -from .pyll.base import Apply, Literal -from .pyll import scope -from .pyll import as_apply - - -def validate_label(f): - @wraps(f) - def wrapper(label, *args, **kwargs): - is_real_string = isinstance(label, basestring) - is_literal_string = (isinstance(label, Literal) and - isinstance(label.obj, basestring)) - if not is_real_string and not is_literal_string: - raise TypeError('require string label') - return f(label, *args, **kwargs) - return wrapper - - -# -# Hyperparameter Types -# - -@scope.define -def hyperopt_param(label, obj): - """ A graph node primarily for annotating - VectorizeHelper looks out - for these guys, and optimizes subgraphs of the form: - - hyperopt_param((...)) - - """ - return obj - - -@validate_label -def hp_pchoice(label, p_options): - """ - label: string - p_options: list of (probability, option) pairs - """ - p, options = list(zip(*p_options)) - n_options = len(options) - ch = scope.hyperopt_param(label, - scope.categorical( - p, - upper=n_options)) - return scope.switch(ch, *options) - - -@validate_label -def hp_choice(label, options): - ch = scope.hyperopt_param(label, - scope.randint(len(options))) - return scope.switch(ch, *options) - - -@validate_label -def hp_randint(label, *args, **kwargs): - return scope.hyperopt_param(label, - scope.randint(*args, **kwargs)) - - -@validate_label -def hp_uniform(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.uniform(*args, **kwargs))) - - -@validate_label -def hp_quniform(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.quniform(*args, **kwargs))) - - -@validate_label -def hp_loguniform(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.loguniform(*args, **kwargs))) - - -@validate_label -def hp_qloguniform(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.qloguniform(*args, **kwargs))) - - -@validate_label -def hp_normal(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.normal(*args, **kwargs))) - - -@validate_label -def hp_qnormal(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.qnormal(*args, **kwargs))) - - -@validate_label -def hp_lognormal(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.lognormal(*args, **kwargs))) - - -@validate_label -def hp_qlognormal(label, *args, **kwargs): - return scope.float( - scope.hyperopt_param(label, - scope.qlognormal(*args, **kwargs))) - - -# -# Tools for extracting a search space from a Pyll graph -# - - -class Cond(object): - - def __init__(self, name, val, op): - self.op = op - self.name = name - self.val = val - - def __str__(self): - return 'Cond{%s %s %s}' % (self.name, self.op, self.val) - - def __eq__(self, other): - return self.op == other.op and self.name == other.name and self.val == other.val - - def __hash__(self): - return hash((self.op, self.name, self.val)) - - def __repr__(self): - return str(self) - -EQ = partial(Cond, op='=') - - -def _expr_to_config(expr, conditions, hps): - if expr.name == 'switch': - idx = expr.inputs()[0] - options = expr.inputs()[1:] - assert idx.name == 'hyperopt_param' - assert idx.arg['obj'].name in ( - 'randint', # -- in case of hp.choice - 'categorical', # -- in case of hp.pchoice - ) - _expr_to_config(idx, conditions, hps) - for ii, opt in enumerate(options): - _expr_to_config(opt, - conditions + (EQ(idx.arg['label'].obj, ii),), - hps) - elif expr.name == 'hyperopt_param': - label = expr.arg['label'].obj - if label in hps: - if hps[label]['node'] != expr.arg['obj']: - raise DuplicateLabel(label) - hps[label]['conditions'].add(conditions) - else: - hps[label] = {'node': expr.arg['obj'], - 'conditions': set((conditions,)), - 'label': label, - } - else: - for ii in expr.inputs(): - _expr_to_config(ii, conditions, hps) - - -def expr_to_config(expr, conditions, hps): - """ - Populate dictionary `hps` with the hyperparameters in pyll graph `expr` - and conditions for participation in the evaluation of `expr`. - - Arguments: - expr - a pyll expression root. - conditions - a tuple of conditions (`Cond`) that must be True for - `expr` to be evaluated. - hps - dictionary to populate - - Creates `hps` dictionary: - label -> { 'node': apply node of hyperparameter distribution, - 'conditions': `conditions` + tuple, - 'label': label - } - """ - expr = as_apply(expr) - if conditions is None: - conditions = () - assert isinstance(expr, Apply) - _expr_to_config(expr, conditions, hps) - _remove_allpaths(hps, conditions) - - -def _remove_allpaths(hps, conditions): - """Hacky way to recognize some kinds of false dependencies - Better would be logic programming. - """ - potential_conds = {} - for k, v in list(hps.items()): - if v['node'].name in ('randint', 'categorical'): - upper = v['node'].arg['upper'].obj - potential_conds[k] = frozenset([EQ(k, ii) for ii in range(upper)]) - - for k, v in list(hps.items()): - if len(v['conditions']) > 1: - all_conds = [[c for c in cond if c is not True] - for cond in v['conditions']] - all_conds = [cond for cond in all_conds if len(cond) >= 1] - if len(all_conds) == 0: - v['conditions'] = set([conditions]) - continue - - depvar = all_conds[0][0].name - - all_one_var = all(len(cond) == 1 and cond[0].name == depvar - for cond in all_conds) - if all_one_var: - conds = [cond[0] for cond in all_conds] - if frozenset(conds) == potential_conds[depvar]: - v['conditions'] = set([conditions]) - continue - - -# -- eof diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rand.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rand.py deleted file mode 100644 index aac7d5bf..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rand.py +++ /dev/null @@ -1,47 +0,0 @@ -""" -Random search - presented as hyperopt.fmin_random -""" -from __future__ import absolute_import -import logging -import numpy as np - -from . import pyll - -from .base import miscs_update_idxs_vals - -logger = logging.getLogger(__name__) - - -def suggest(new_ids, domain, trials, seed): - rng = np.random.RandomState(seed) - rval = [] - for ii, new_id in enumerate(new_ids): - # -- sample new specs, idxs, vals - idxs, vals = pyll.rec_eval( - domain.s_idxs_vals, - memo={ - domain.s_new_ids: [new_id], - domain.s_rng: rng, - }) - new_result = domain.new_result() - new_misc = dict(tid=new_id, cmd=domain.cmd, workdir=domain.workdir) - miscs_update_idxs_vals([new_misc], idxs, vals) - rval.extend(trials.new_trial_docs([new_id], - [None], [new_result], [new_misc])) - return rval - - -def suggest_batch(new_ids, domain, trials, seed): - - rng = np.random.RandomState(seed) - # -- sample new specs, idxs, vals - idxs, vals = pyll.rec_eval( - domain.s_idxs_vals, - memo={ - domain.s_new_ids: new_ids, - domain.s_rng: rng, - }) - return idxs, vals - - -# flake8 likes no trailing blank line diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rdists.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rdists.py deleted file mode 100644 index cf1503f5..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/rdists.py +++ /dev/null @@ -1,325 +0,0 @@ -""" -Extra distributions to complement scipy.stats - -""" -from __future__ import division -from builtins import map -from builtins import object -from past.utils import old_div -import numpy as np -import numpy.random as mtrand -import scipy.stats -from scipy.stats import rv_continuous # , rv_discrete - - -class loguniform_gen(rv_continuous): - """ Stats for Y = e^X where X ~ U(low, high). - - """ - - def __init__(self, low=0, high=1): - rv_continuous.__init__(self, - a=np.exp(low), - b=np.exp(high)) - self._low = low - self._high = high - - def _rvs(self): - rval = np.exp(mtrand.uniform( - self._low, - self._high, - self._size)) - return rval - - def _pdf(self, x): - return old_div(1.0, (x * (self._high - self._low))) - - def _logpdf(self, x): - return - np.log(x) - np.log(self._high - self._low) - - def _cdf(self, x): - return old_div((np.log(x) - self._low), (self._high - self._low)) - - -# -- cut and paste from scipy.stats -# because the way s is passed to these functions makes it impossible -# to construct this class. insane -class lognorm_gen(rv_continuous): - """A lognormal continuous random variable. - - %(before_notes)s - - Notes - ----- - The probability density function for `lognorm` is:: - - lognorm.pdf(x, s) = 1 / (s*x*sqrt(2*pi)) * exp(-1/2*(log(x)/s)**2) - - for ``x > 0``, ``s > 0``. - - If log x is normally distributed with mean mu and variance sigma**2, - then x is log-normally distributed with shape paramter sigma and scale - parameter exp(mu). - - %(example)s - - """ - - def __init__(self, mu, sigma): - self.mu_ = mu - self.s_ = sigma - self.norm_ = scipy.stats.norm - rv_continuous.__init__(self, a=0.0, name='loguniform', shapes='s') - - def _rvs(self): - s = self.s_ - return np.exp(self.mu_ + s * self.norm_.rvs(size=self._size)) - - def _pdf(self, x): - s = self.s_ - Px = np.exp(old_div(-(np.log(x) - self.mu_) ** 2, (2 * s ** 2))) - return old_div(Px, (s * x * np.sqrt(2 * np.pi))) - - def _cdf(self, x): - s = self.s_ - return self.norm_.cdf(old_div((np.log(x) - self.mu_), s)) - - def _ppf(self, q): - s = self.s_ - return np.exp(s * self.norm_._ppf(q) + self.mu_) - - def _stats(self): - if self.mu_ != 0.0: - raise NotImplementedError() - s = self.s_ - p = np.exp(s * s) - mu = np.sqrt(p) - mu2 = p * (p - 1) - g1 = np.sqrt((p - 1)) * (2 + p) - g2 = np.polyval([1, 2, 3, 0, -6.0], p) - return mu, mu2, g1, g2 - - def _entropy(self): - if self.mu_ != 0.0: - raise NotImplementedError() - s = self.s_ - return 0.5 * (1 + np.log(2 * np.pi) + 2 * np.log(s)) - - -def qtable_pmf(x, q, qlow, xs, ps): - qx = np.round(old_div(np.atleast_1d(x).astype(np.float), q)) * q - is_multiple = np.isclose(qx, x) - ix = np.round(old_div((qx - qlow), q)).astype(np.int) - is_inbounds = np.logical_and(ix >= 0, ix < len(ps)) - oks = np.logical_and(is_multiple, is_inbounds) - rval = np.zeros_like(qx) - rval[oks] = np.asarray(ps)[ix[oks]] - if isinstance(x, np.ndarray): - return rval.reshape(x.shape) - else: - return float(rval) - - -def qtable_logpmf(x, q, qlow, xs, ps): - p = qtable_pmf(np.atleast_1d(x), q, qlow, xs, ps) - # -- this if/else avoids np warning about underflow - rval = np.zeros_like(p) - rval[p == 0] = -np.inf - rval[p != 0] = np.log(p[p != 0]) - if isinstance(x, np.ndarray): - return rval - else: - return float(rval) - - -class quniform_gen(object): - # -- not inheriting from scipy.stats.rv_discrete - # because I don't understand the design of those rv classes - """ Stats for Y = q * round(X / q) where X ~ U(low, high). - - """ - - def __init__(self, low, high, q): - low, high, q = list(map(float, (low, high, q))) - qlow = np.round(old_div(low, q)) * q - qhigh = np.round(old_div(high, q)) * q - if qlow == qhigh: - xs = [qlow] - ps = [1.0] - else: - lowmass = 1 - (old_div((low - qlow + .5 * q), q)) - assert 0 <= lowmass <= 1.0, (lowmass, low, qlow, q) - highmass = old_div((high - qhigh + .5 * q), q) - assert 0 <= highmass <= 1.0, (highmass, high, qhigh, q) - # -- xs: qlow to qhigh inclusive - xs = np.arange(qlow, qhigh + .5 * q, q) - ps = np.ones(len(xs)) - ps[0] = lowmass - ps[-1] = highmass - ps /= ps.sum() - - self.low = low - self.high = high - self.q = q - self.qlow = qlow - self.qhigh = qhigh - self.xs = np.asarray(xs) - self.ps = np.asarray(ps) - - def pmf(self, x): - return qtable_pmf(x, self.q, self.qlow, self.xs, self.ps) - - def logpmf(self, x): - return qtable_logpmf(x, self.q, self.qlow, self.xs, self.ps) - - def rvs(self, size=()): - rval = mtrand.uniform(low=self.low, high=self.high, size=size) - rval = np.round(old_div(rval, self.q)) * self.q - return rval - - -class qloguniform_gen(quniform_gen): - """ Stats for Y = q * round(e^X / q) where X ~ U(low, high). - - """ - # -- not inheriting from scipy.stats.rv_discrete - # because I don't understand the design of those rv classes - - def __init__(self, low, high, q): - low, high, q = list(map(float, (low, high, q))) - elow = np.exp(low) - ehigh = np.exp(high) - qlow = np.round(old_div(elow, q)) * q - qhigh = np.round(old_div(ehigh, q)) * q - - # -- loguniform for using the CDF - lu = loguniform_gen(low=low, high=high) - - cut_low = np.exp(low) # -- lowest possible pre-round value - cut_high = min(qlow + .5 * q, # -- highest value that would ... - ehigh) # -- round to qlow - xs = [qlow] - ps = [lu.cdf(cut_high)] - ii = 0 - cdf_high = ps[0] - - while cut_high < (ehigh - 1e-10): - # TODO: cut_low never used - cut_high, cut_low = min(cut_high + q, ehigh), cut_high - cdf_high, cdf_low = lu.cdf(cut_high), cdf_high - ii += 1 - xs.append(qlow + ii * q) - ps.append(cdf_high - cdf_low) - - ps = np.asarray(ps) - ps /= ps.sum() - - self.low = low - self.high = high - self.q = q - self.qlow = qlow - self.qhigh = qhigh - self.xs = np.asarray(xs) - self.ps = ps - - def pmf(self, x): - return qtable_pmf(x, self.q, self.qlow, self.xs, self.ps) - - def logpmf(self, x): - return qtable_logpmf(x, self.q, self.qlow, self.xs, self.ps) - - def rvs(self, size=()): - x = mtrand.uniform(low=self.low, high=self.high, size=size) - rval = np.round(old_div(np.exp(x), self.q)) * self.q - return rval - - -class qnormal_gen(object): - """Stats for Y = q * round(X / q) where X ~ N(mu, sigma) - """ - - def __init__(self, mu, sigma, q): - self.mu, self.sigma, self.q = list(map(float, (mu, sigma, q))) - # -- distfn for using the CDF - self._norm_logcdf = scipy.stats.norm(loc=mu, scale=sigma).logcdf - - def in_domain(self, x): - return np.isclose(x, np.round(old_div(x, self.q)) * self.q) - - def pmf(self, x): - return np.exp(self.logpmf(x)) - - def logpmf(self, x): - x1 = np.atleast_1d(x) - in_domain = self.in_domain(x1) - rval = np.zeros_like(x1, dtype=np.float) - np.inf - x_in_domain = x1[in_domain] - - ubound = x_in_domain + self.q * 0.5 - lbound = x_in_domain - self.q * 0.5 - # -- reflect intervals right of mu to other side - # for more accurate calculation - flip = (lbound > self.mu) - tmp = lbound[flip].copy() - lbound[flip] = self.mu - (ubound[flip] - self.mu) - ubound[flip] = self.mu - (tmp - self.mu) - - assert np.all(ubound > lbound) - a = self._norm_logcdf(ubound) - b = self._norm_logcdf(lbound) - rval[in_domain] = a + np.log1p(- np.exp(b - a)) - if isinstance(x, np.ndarray): - return rval - else: - return float(rval) - - def rvs(self, size=()): - x = mtrand.normal(loc=self.mu, scale=self.sigma, size=size) - rval = np.round(old_div(x, self.q)) * self.q - return rval - - -class qlognormal_gen(object): - """Stats for Y = q * round(exp(X) / q) where X ~ N(mu, sigma) - """ - - def __init__(self, mu, sigma, q): - self.mu, self.sigma, self.q = list(map(float, (mu, sigma, q))) - # -- distfn for using the CDF - self._norm_cdf = scipy.stats.norm(loc=mu, scale=sigma).cdf - - def in_domain(self, x): - return np.logical_and((x >= 0), - np.isclose(x, np.round(old_div(x, self.q)) * self.q)) - - def pmf(self, x): - x1 = np.atleast_1d(x) - in_domain = self.in_domain(x1) - x1_in_domain = x1[in_domain] - rval = np.zeros_like(x1, dtype=np.float) - rval_in_domain = self._norm_cdf(np.log(x1_in_domain + 0.5 * self.q)) - rval_in_domain[x1_in_domain != 0] -= self._norm_cdf( - np.log(x1_in_domain[x1_in_domain != 0] - 0.5 * self.q)) - rval[in_domain] = rval_in_domain - if isinstance(x, np.ndarray): - return rval - else: - return float(rval) - - def logpmf(self, x): - pmf = self.pmf(np.atleast_1d(x)) - assert np.all(pmf >= 0) - pmf[pmf == 0] = -np.inf - pmf[pmf > 0] = np.log(pmf[pmf > 0]) - if isinstance(x, np.ndarray): - return pmf - else: - return float(pmf) - - def rvs(self, size=()): - x = mtrand.normal(loc=self.mu, scale=self.sigma, size=size) - rval = np.round(old_div(np.exp(x), self.q)) * self.q - return rval - - -# -- non-empty last line for flake8 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/__init__.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_anneal.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_anneal.py deleted file mode 100644 index 93e962a5..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_anneal.py +++ /dev/null @@ -1,114 +0,0 @@ -from __future__ import print_function -from __future__ import absolute_import -from builtins import range -from functools import partial -import unittest -import numpy as np -from hyperopt import anneal -from hyperopt import rand -from hyperopt import Trials, fmin -import matplotlib.pyplot as plt - -from .test_domains import CasePerDomain - - -def passthrough(x): - return x - - -class TestItJustRuns(unittest.TestCase, CasePerDomain): - - def work(self): - trials = Trials() - space = self.bandit.expr - fmin( - fn=passthrough, - space=space, - trials=trials, - algo=anneal.suggest, - max_evals=10) - - -class TestItAtLeastSortOfWorks(unittest.TestCase, CasePerDomain): - thresholds = dict( - quadratic1=1e-5, - q1_lognormal=0.01, - distractor=-0.96, # -- anneal is a strategy that can really - # get tricked by the distractor. - gauss_wave=-2.0, - gauss_wave2=-2.0, - n_arms=-2.5, - many_dists=.0005, - branin=0.7, - ) - - LEN = dict( - # -- running a long way out tests overflow/underflow - # to some extent - quadratic1=1000, - many_dists=200, - # -- anneal is pretty bad at this kind of function - distractor=150, - # q1_lognormal=100, - branin=200, - ) - - def setUp(self): - self.olderr = np.seterr('raise') - np.seterr(under='ignore') - - def tearDown(self, *args): - np.seterr(**self.olderr) - - def work(self): - bandit = self.bandit - assert bandit.name is not None - algo = partial( - anneal.suggest, - ) - LEN = self.LEN.get(bandit.name, 50) - - trials = Trials() - fmin(fn=passthrough, - space=self.bandit.expr, - trials=trials, - algo=algo, - max_evals=LEN) - assert len(trials) == LEN - - if 1: - rtrials = Trials() - fmin(fn=passthrough, - space=self.bandit.expr, - trials=rtrials, - algo=rand.suggest, - max_evals=LEN) - print('RANDOM BEST 6:', list(sorted(rtrials.losses()))[:6]) - - if 0: - plt.subplot(2, 2, 1) - plt.scatter(list(range(LEN)), trials.losses()) - plt.title('TPE losses') - plt.subplot(2, 2, 2) - plt.scatter(list(range(LEN)), ([s['x'] for s in trials.specs])) - plt.title('TPE x') - plt.subplot(2, 2, 3) - plt.title('RND losses') - plt.scatter(list(range(LEN)), rtrials.losses()) - plt.subplot(2, 2, 4) - plt.title('RND x') - plt.scatter(list(range(LEN)), ([s['x'] for s in rtrials.specs])) - plt.show() - if 0: - plt.hist( - [t['x'] for t in self.experiment.trials], - bins=20) - - # print trials.losses() - print('ANNEAL BEST 6:', list(sorted(trials.losses()))[:6]) - # logx = np.log([s['x'] for s in trials.specs]) - # print 'TPE MEAN', np.mean(logx) - # print 'TPE STD ', np.std(logx) - thresh = self.thresholds[bandit.name] - print('Thresh', thresh) - assert min(trials.losses()) < thresh diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_base.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_base.py deleted file mode 100644 index 43ca0054..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_base.py +++ /dev/null @@ -1,219 +0,0 @@ -from __future__ import print_function -from builtins import range -from builtins import object -import copy -import unittest -import numpy as np -import bson - -from hyperopt.pyll import scope - -from hyperopt.base import JOB_STATE_NEW -from hyperopt.base import TRIAL_KEYS -from hyperopt.base import TRIAL_MISC_KEYS -from hyperopt.base import InvalidTrial -from hyperopt.base import miscs_to_idxs_vals -from hyperopt.base import SONify -from hyperopt.base import Trials -from hyperopt.base import trials_from_docs - -uniform = scope.uniform -normal = scope.normal -one_of = scope.one_of - - -def ok_trial(tid, *args, **kwargs): - return dict( - tid=tid, - result={'status': 'algo, ok'}, - spec={'a': 1, 'foo': (args, kwargs)}, - misc={ - 'tid': tid, - 'cmd': ("some cmd",), - 'idxs': {'z': [tid]}, - 'vals': {'z': [1]}}, - extra='extra', # -- more stuff here is ok - owner=None, - state=JOB_STATE_NEW, - version=0, - book_time=None, - refresh_time=None, - exp_key=None, - ) - - -class Suggest_API(object): - """ - Run some generic sanity-checks of a suggest algorithm to make sure that - it respects the semantics expected by e.g. fmin. - - Use it like this: - - TestRand = Suggest_API.make_test_class(rand.suggest, 'TestRand') - - """ - - @classmethod - def make_tst_class(cls, suggest, domain, name): - class Tester(unittest.TestCase, cls): - - def suggest(self, *args, **kwargs): - print(args, kwargs) - return suggest(*args, **kwargs) - - def setUp(self): - self.domain = domain - Tester.__name__ = name - return Tester - - seed_randomizes = True - - def idxs_vals_from_ids(self, ids, seed): - docs = self.suggest(ids, self.domain, Trials(), seed) - trials = trials_from_docs(docs) - idxs, vals = miscs_to_idxs_vals(trials.miscs) - return idxs, vals - - def test_arbitrary_ids(self): - # -- suggest implementations should work for arbitrary ID - # values (possibly assuming they are hashable), and the - # ID values should have no effect on the return values. - ids_1 = [-2, 0, 7, 'a', '007', 66, 'a3', '899', 23, 2333] - ids_2 = ['a', 'b', 'c', 'd', 1, 2, 3, 0.1, 0.2, 0.3] - idxs_1, vals_1 = self.idxs_vals_from_ids(ids=ids_1, seed=45) - idxs_2, vals_2 = self.idxs_vals_from_ids(ids=ids_2, seed=45) - all_ids_1 = set() - for var, ids in list(idxs_1.items()): - all_ids_1.update(ids) - all_ids_2 = set() - for var, ids in list(idxs_2.items()): - all_ids_2.update(ids) - self.assertEqual(all_ids_1, set(ids_1)) - self.assertEqual(all_ids_2, set(ids_2)) - self.assertEqual(vals_1, vals_2) - - def test_seed_randomizes(self): - # - # suggest() algorithms can be either stochastic (e.g. random search) - # or deterministic (e.g. grid search). If an suggest implementation - # is stochastic, then changing the seed argument should change the - # return value. - # - if not self.seed_randomizes: - return - - # -- sample 20 points to make sure we get some differences even - # for small search spaces (chance of false failure is 1/million). - idxs_1, vals_1 = self.idxs_vals_from_ids(ids=list(range(20)), seed=45) - idxs_2, vals_2 = self.idxs_vals_from_ids(ids=list(range(20)), seed=46) - self.assertNotEqual((idxs_1, vals_1), (idxs_2, vals_2)) - - -class TestTrials(unittest.TestCase): - - def setUp(self): - self.trials = Trials() - - def test_valid(self): - trials = self.trials - f = trials.insert_trial_doc - fine = ok_trial('ID', 1, 2, 3) - - # --original runs fine - f(fine) - - # -- take out each mandatory root key - def knockout(key): - rval = copy.deepcopy(fine) - del rval[key] - return rval - for key in TRIAL_KEYS: - self.assertRaises(InvalidTrial, f, knockout(key)) - - # -- take out each mandatory misc key - def knockout2(key): - rval = copy.deepcopy(fine) - del rval['misc'][key] - return rval - for key in TRIAL_MISC_KEYS: - self.assertRaises(InvalidTrial, f, knockout2(key)) - - def test_insert_sync(self): - trials = self.trials - assert len(trials) == 0 - trials.insert_trial_doc(ok_trial('a', 8)) - assert len(trials) == 0 - trials.insert_trial_doc(ok_trial(5, a=1, b=3)) - assert len(trials) == 0 - trials.insert_trial_docs( - [ok_trial(tid=4, a=2, b=3), ok_trial(tid=9, a=4, b=3)]) - assert len(trials) == 0 - trials.refresh() - - assert len(trials) == 4, len(trials) - assert len(trials) == len(trials.specs) - assert len(trials) == len(trials.results) - assert len(trials) == len(trials.miscs) - - trials.insert_trial_docs( - trials.new_trial_docs( - ['id0', 'id1'], - [dict(a=1), dict(a=2)], - [dict(status='new'), dict(status='new')], - [dict(tid='id0', idxs={}, vals={}, cmd=None), - dict(tid='id1', idxs={}, vals={}, cmd=None)],)) - - assert len(trials) == 4 - assert len(trials) == len(trials.specs) - assert len(trials) == len(trials.results) - assert len(trials) == len(trials.miscs) - - trials.refresh() - assert len(trials) == 6 - assert len(trials) == len(trials.specs) - assert len(trials) == len(trials.results) - assert len(trials) == len(trials.miscs) - - -class TestSONify(unittest.TestCase): - - def SONify(self, foo): - rval = SONify(foo) - assert bson.BSON.encode(dict(a=rval)) - return rval - - def test_int(self): - assert self.SONify(1) == 1 - - def test_float(self): - assert self.SONify(1.1) == 1.1 - - def test_np_int(self): - assert self.SONify(np.int(1)) == 1 - - def test_np_float(self): - assert self.SONify(np.float(1.1)) == 1.1 - - def test_np_1d_int(self): - assert np.all(self.SONify(np.asarray([1, 2, 3])) == - [1, 2, 3]) - - def test_np_1d_float(self): - assert np.all(self.SONify(np.asarray([1, 2, 3.4])) == - [1, 2, 3.4]) - - def test_np_1d_str(self): - assert np.all(self.SONify(np.asarray(['a', 'b', 'ccc'])) == - ['a', 'b', 'ccc']) - - def test_np_2d_int(self): - assert np.all(self.SONify(np.asarray([[1, 2], [3, 4]])) == - [[1, 2], [3, 4]]) - - def test_np_2d_float(self): - assert np.all(self.SONify(np.asarray([[1, 2], [3, 4.5]])) == - [[1, 2], [3, 4.5]]) - - def test_nested_w_bool(self): - thing = dict(a=1, b='2', c=True, d=False, e=np.int(3), f=[1]) - assert thing == SONify(thing) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_criteria.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_criteria.py deleted file mode 100644 index 01a82573..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_criteria.py +++ /dev/null @@ -1,66 +0,0 @@ -from __future__ import print_function -from __future__ import division -from builtins import zip -from past.utils import old_div -import numpy as np -import hyperopt.criteria as crit - - -def test_ei(): - rng = np.random.RandomState(123) - for mean, var in [(0, 1), (-4, 9)]: - thresholds = np.arange(-5, 5, .25) * np.sqrt(var) + mean - - v_n = [crit.EI_gaussian_empirical(mean, var, thresh, rng, 10000) - for thresh in thresholds] - v_a = [crit.EI_gaussian(mean, var, thresh) - for thresh in thresholds] - - # import matplotlib.pyplot as plt - # plt.plot(thresholds, v_n) - # plt.plot(thresholds, v_a) - # plt.show() - - if not np.allclose(v_n, v_a, atol=0.03, rtol=0.03): - for t, n, a in zip(thresholds, v_n, v_a): - print((t, n, a, abs(n - a), old_div(abs(n - a), (abs(n) + abs(a))))) - assert 0 - # mean, var, thresh, v_n, v_a) - - -def test_log_ei(): - for mean, var in [(0, 1), (-4, 9)]: - thresholds = np.arange(-5, 30, .25) * np.sqrt(var) + mean - - ei = np.asarray( - [crit.EI_gaussian(mean, var, thresh) - for thresh in thresholds]) - nlei = np.asarray( - [crit.logEI_gaussian(mean, var, thresh) - for thresh in thresholds]) - naive = np.log(ei) - # import matplotlib.pyplot as plt - # plt.plot(thresholds, ei, label='ei') - # plt.plot(thresholds, nlei, label='nlei') - # plt.plot(thresholds, naive, label='naive') - # plt.legend() - # plt.show() - - # -- assert that they match when the threshold isn't too high - assert np.allclose(nlei, naive) - - -def test_log_ei_range(): - assert np.all( - np.isfinite( - [crit.logEI_gaussian(0, 1, thresh) - for thresh in [-500, 0, 50, 100, 500, 5000]])) - - -def test_ucb(): - assert np.allclose(crit.UCB(0, 1, 1), 1) - assert np.allclose(crit.UCB(0, 1, 2), 2) - assert np.allclose(crit.UCB(0, 4, 1), 2) - assert np.allclose(crit.UCB(1, 4, 1), 3) - -# -- flake8 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_domains.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_domains.py deleted file mode 100644 index 2ca8e511..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_domains.py +++ /dev/null @@ -1,275 +0,0 @@ -from __future__ import division -from builtins import object -from past.utils import old_div -import unittest - -import numpy as np - -from hyperopt import Trials, Domain, fmin, hp, base -from hyperopt.rand import suggest -from hyperopt.pyll import as_apply -from hyperopt.pyll import scope - - -# -- define this bandit here too for completeness' sake -def domain_constructor(**b_kwargs): - """ - Decorate a function that returns a pyll expressions so that - it becomes a Domain instance instead of a function - - Example: - - @domain_constructor(loss_target=0) - def f(low, high): - return {'loss': hp.uniform('x', low, high) ** 2 } - - """ - def deco(f): - def wrapper(*args, **kwargs): - if 'name' in b_kwargs: - _b_kwargs = b_kwargs - else: - _b_kwargs = dict(b_kwargs, name=f.__name__) - f_rval = f(*args, **kwargs) - domain = Domain(lambda x: x, f_rval, **_b_kwargs) - return domain - wrapper.__name__ = f.__name__ - return wrapper - return deco - - -@domain_constructor() -def coin_flip(): - """ Possibly the simplest possible Bandit implementation - """ - return {'loss': hp.choice('flip', [0.0, 1.0]), 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=0) -def quadratic1(): - """ - About the simplest problem you could ask for: - optimize a one-variable quadratic function. - """ - return {'loss': (hp.uniform('x', -5, 5) - 3) ** 2, 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=0) -def q1_choice(): - o_x = hp.choice('o_x', [ - (-3, hp.uniform('x_neg', -5, 5)), - (3, hp.uniform('x_pos', -5, 5)), - ]) - return {'loss': (o_x[0] - o_x[1]) ** 2, 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=0) -def q1_lognormal(): - """ - About the simplest problem you could ask for: - optimize a one-variable quadratic function. - """ - return {'loss': scope.min(0.1 * (hp.lognormal('x', 0, 2) - 10) ** 2, - 10), - 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=-2) -def n_arms(N=2): - """ - Each arm yields a reward from a different Gaussian. - - The correct arm is arm 0. - - """ - rng = np.random.RandomState(123) - x = hp.choice('x', [0, 1]) - reward_mus = as_apply([-1] + [0] * (N - 1)) - reward_sigmas = as_apply([1] * N) - return {'loss': scope.normal(reward_mus[x], reward_sigmas[x], rng=rng), - 'loss_variance': 1.0, - 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=-2) -def distractor(): - """ - This is a nasty function: it has a max in a spike near -10, and a long - asymptote that is easy to find, but guides hill-climbing approaches away - from the true max. - - The second peak is at x=-10. - The prior mean is 0. - """ - - x = hp.uniform('x', -15, 15) - f1 = old_div(1.0, (1.0 + scope.exp(-x))) # climbs rightward from 0.0 to 1.0 - f2 = 2 * scope.exp(-(x + 10) ** 2) # bump with height 2 at (x=-10) - return {'loss': -f1 - f2, 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=-1) -def gauss_wave(): - """ - Essentially, this is a high-frequency sinusoidal function plus a broad quadratic. - One variable controls the position along the curve. - The binary variable determines whether the sinusoidal is shifted by pi. - - So there are actually two maxima in this problem, it's just one is more - probable. The tricky thing here is dealing with the fact that there are two - variables and one is discrete. - - """ - - x = hp.uniform('x', -20, 20) - t = hp.choice('curve', [x, x + np.pi]) - f1 = scope.sin(t) - f2 = 2 * scope.exp(-(old_div(t, 5.0)) ** 2) - return {'loss': - (f1 + f2), 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=-2.5) -def gauss_wave2(): - """ - Variant of the GaussWave problem in which noise is added to the score - function, and there is an option to either have no sinusoidal variation, or - a negative cosine with variable amplitude. - - Immediate local max is to sample x from spec and turn off the neg cos. - Better solution is to move x a bit to the side, turn on the neg cos and turn - up the amp to 1. - """ - - rng = np.random.RandomState(123) - var = .1 - x = hp.uniform('x', -20, 20) - amp = hp.uniform('amp', 0, 1) - t = (scope.normal(0, var, rng=rng) + 2 * scope.exp(-(old_div(x, 5.0)) ** 2)) - return {'loss': - hp.choice('hf', [t, t + scope.sin(x) * amp]), - 'loss_variance': var, 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=0) -def many_dists(): - a = hp.choice('a', [0, 1, 2]) - b = hp.randint('b', 10) - c = hp.uniform('c', 4, 7) - d = hp.loguniform('d', -2, 0) - e = hp.quniform('e', 0, 10, 3) - f = hp.qloguniform('f', 0, 3, 2) - g = hp.normal('g', 4, 7) - h = hp.lognormal('h', -2, 2) - i = hp.qnormal('i', 0, 10, 2) - j = hp.qlognormal('j', 0, 2, 1) - k = hp.pchoice('k', [(.1, 0), (.9, 1)]) - z = a + b + c + d + e + f + g + h + i + j + k - return {'loss': scope.float(scope.log(1e-12 + z ** 2)), - 'status': base.STATUS_OK} - - -@domain_constructor(loss_target=0.398) -def branin(): - """ - The Branin, or Branin-Hoo, function has three global minima, - and is roughly an angular trough across a 2D input space. - - f(x, y) = a (y - b x ** 2 + c x - r ) ** 2 + s (1 - t) cos(x) + s - - The recommended values of a, b, c, r, s and t are: - a = 1 - b = 5.1 / (4 pi ** 2) - c = 5 / pi - r = 6 - s = 10 - t = 1 / (8 * pi) - - Global Minima: - [(-pi, 12.275), - (pi, 2.275), - (9.42478, 2.475)] - - Source: http://www.sfu.ca/~ssurjano/branin.html - """ - x = hp.uniform('x', -5., 10.) - y = hp.uniform('y', 0., 15.) - pi = float(np.pi) - loss = ((y - (old_div(5.1, (4 * pi ** 2))) * x ** 2 + 5 * x / pi - 6) ** 2 + - 10 * (1 - old_div(1, (8 * pi))) * scope.cos(x) + 10) - return {'loss': loss, - 'loss_variance': 0, - 'status': base.STATUS_OK} - - -class DomainExperimentMixin(object): - - def test_basic(self): - domain = self._domain_cls() - # print 'domain params', domain.params, domain - # print 'algo params', algo.vh.params - trials = Trials() - fmin(lambda x: x, domain.expr, - trials=trials, - algo=suggest, - max_evals=self._n_steps) - assert trials.average_best_error(domain) - domain.loss_target < .2 - - @classmethod - def make(cls, domain_cls, n_steps=500): - class Tester(unittest.TestCase, cls): - - def setUp(self): - self._n_steps = n_steps - self._domain_cls = domain_cls - Tester.__name__ = domain_cls.__name__ + 'Tester' - return Tester - - -quadratic1Tester = DomainExperimentMixin.make(quadratic1) -q1_lognormalTester = DomainExperimentMixin.make(q1_lognormal) -q1_choiceTester = DomainExperimentMixin.make(q1_choice) -n_armsTester = DomainExperimentMixin.make(n_arms) -distractorTester = DomainExperimentMixin.make(distractor) -gauss_waveTester = DomainExperimentMixin.make(gauss_wave) -gauss_wave2Tester = DomainExperimentMixin.make(gauss_wave2, - n_steps=5000) -many_distsTester = DomainExperimentMixin.make(many_dists) -braninTester = DomainExperimentMixin.make(branin) - - -class CasePerDomain(object): - # -- this is a mixin - # -- Override self.work to execute a test for each kind of self.bandit - - def test_quadratic1(self): - self.bandit = quadratic1() - self.work() - - def test_q1lognormal(self): - self.bandit = q1_lognormal() - self.work() - - def test_twoarms(self): - self.bandit = n_arms() - self.work() - - def test_distractor(self): - self.bandit = distractor() - self.work() - - def test_gausswave(self): - self.bandit = gauss_wave() - self.work() - - def test_gausswave2(self): - self.bandit = gauss_wave2() - self.work() - - def test_many_dists(self): - self.bandit = many_dists() - self.work() - - def test_branin(self): - self.bandit = branin() - self.work() - -# -- non-blank last line for flake8 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_fmin.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_fmin.py deleted file mode 100644 index db558995..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_fmin.py +++ /dev/null @@ -1,171 +0,0 @@ -from __future__ import print_function -import unittest -import numpy as np -import nose.tools - -from hyperopt import fmin, rand, tpe, hp, Trials, exceptions, space_eval, STATUS_FAIL, STATUS_OK -from hyperopt.base import JOB_STATE_ERROR - - -def test_quadratic1_rand(): - trials = Trials() - - argmin = fmin( - fn=lambda x: (x - 3) ** 2, - space=hp.uniform('x', -5, 5), - algo=rand.suggest, - max_evals=500, - trials=trials) - - assert len(trials) == 500 - assert abs(argmin['x'] - 3.0) < .25 - - -def test_quadratic1_tpe(): - trials = Trials() - - argmin = fmin( - fn=lambda x: (x - 3) ** 2, - space=hp.uniform('x', -5, 5), - algo=tpe.suggest, - max_evals=50, - trials=trials) - - assert len(trials) == 50, len(trials) - assert abs(argmin['x'] - 3.0) < .25, argmin - - -def test_quadratic1_anneal(): - trials = Trials() - import hyperopt.anneal - - N = 30 - - def fn(x): - return (x - 3) ** 2 - - argmin = fmin( - fn=fn, - space=hp.uniform('x', -5, 5), - algo=hyperopt.anneal.suggest, - max_evals=N, - trials=trials) - - print(argmin) - - assert len(trials) == N - assert abs(argmin['x'] - 3.0) < .25 - - -@nose.tools.raises(exceptions.DuplicateLabel) -def test_duplicate_label_is_error(): - trials = Trials() - - def fn(xy): - x, y = xy - return x ** 2 + y ** 2 - - fmin(fn=fn, - space=[ - hp.uniform('x', -5, 5), - hp.uniform('x', -5, 5), - ], - algo=rand.suggest, - max_evals=500, - trials=trials) - - -def test_space_eval(): - space = hp.choice('a', - [ - ('case 1', 1 + hp.lognormal('c1', 0, 1)), - ('case 2', hp.uniform('c2', -10, 10)) - ]) - - assert space_eval(space, {'a': 0, 'c1': 1.0}) == ('case 1', 2.0) - assert space_eval(space, {'a': 1, 'c2': 3.5}) == ('case 2', 3.5) - - -def test_set_fmin_rstate(): - def lossfn(x): - return (x - 3) ** 2 - trials_seed0 = Trials() - argmin_seed0 = fmin( - fn=lossfn, - space=hp.uniform('x', -5, 5), - algo=rand.suggest, - max_evals=1, - trials=trials_seed0, - rstate=np.random.RandomState(0)) - assert len(trials_seed0) == 1 - trials_seed1 = Trials() - argmin_seed1 = fmin( - fn=lossfn, - space=hp.uniform('x', -5, 5), - algo=rand.suggest, - max_evals=1, - trials=trials_seed1, - rstate=np.random.RandomState(1)) - assert len(trials_seed1) == 1 - assert argmin_seed0 != argmin_seed1 - - -class TestFmin(unittest.TestCase): - - class SomeError(Exception): - # XXX also test domain.exceptions mechanism that actually catches this - pass - - def eval_fn(self, space): - raise TestFmin.SomeError() - - def setUp(self): - self.trials = Trials() - - def test_catch_eval_exceptions_True(self): - - # -- should go to max_evals, catching all exceptions, so all jobs - # should have JOB_STATE_ERROR - fmin(self.eval_fn, - space=hp.uniform('x', 0, 1), - algo=rand.suggest, - trials=self.trials, - max_evals=2, - catch_eval_exceptions=True, - return_argmin=False,) - trials = self.trials - assert len(trials) == 0 - assert len(trials._dynamic_trials) == 2 - assert trials._dynamic_trials[0]['state'] == JOB_STATE_ERROR - assert trials._dynamic_trials[0]['misc']['error'] != None - assert trials._dynamic_trials[1]['state'] == JOB_STATE_ERROR - assert trials._dynamic_trials[1]['misc']['error'] != None - - def test_catch_eval_exceptions_False(self): - with self.assertRaises(TestFmin.SomeError): - fmin(self.eval_fn, - space=hp.uniform('x', 0, 1), - algo=rand.suggest, - trials=self.trials, - max_evals=2, - catch_eval_exceptions=False) - print(len(self.trials)) - assert len(self.trials) == 0 - assert len(self.trials._dynamic_trials) == 1 - - -def test_status_fail_tpe(): - trials = Trials() - - argmin = fmin( - fn=lambda x: ({'loss': (x - 3) ** 2, 'status': STATUS_OK} if (x < 0) else - {'status': STATUS_FAIL}), - space=hp.uniform('x', -5, 5), - algo=tpe.suggest, - max_evals=50, - trials=trials) - - assert len(trials) == 50, len(trials) - assert argmin['x'] < 0, argmin - assert 'loss' in trials.best_trial['result'], 'loss' in trials.best_trial['result'] - assert trials.best_trial['result']['loss'] >= 9, trials.best_trial['result']['loss'] diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_ipy.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_ipy.py deleted file mode 100644 index 3c5427c8..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_ipy.py +++ /dev/null @@ -1,76 +0,0 @@ -''' -To use this test script, there should be a cluster of ipython parallel engines -instantiated already. Their working directory should be the current -directory: hyperopt/tests - -To start the engines in hyperopt/hyperopt/tests/ - use: $ ipcluster start --n=2 - - -''' -from __future__ import print_function -import sys -from nose import SkipTest -try: - from IPython.parallel import Client -except ImportError: - print("Skipping IPython Tests (IPython not found)", file=sys.stderr) - raise SkipTest('IPython not present') - -from hyperopt.ipy import IPythonTrials -import hyperopt.hp -import hyperopt.tpe -import hyperopt - - -def test0(): - try: - client = Client(debug=True) - except IOError: - raise SkipTest() - - client[:].use_dill() - trials = IPythonTrials(client, 'log') - - def simple_objective(args): - # -- why are these imports here !? - # -- is it because they need to be imported on the client? - # - # Yes, the client namespace is empty, so some imports may be - # needed here. Errors on the engines can be found by - # using debug=True when instantiating the Client. - import hyperopt - return {'loss': args ** 2, 'status': hyperopt.STATUS_OK} - - space = hyperopt.hp.uniform('x', 0, 1) - - minval = trials.fmin(simple_objective, space=space, - algo=hyperopt.tpe.suggest, max_evals=25, verbose=True) - print(minval) - assert minval['x'] < .2 - - -def test_fmin_fn(): - try: - client = Client() - except IOError: - raise SkipTest() - - client[:].use_dill() - - trials = IPythonTrials(client, 'log') - assert not trials._testing_fmin_was_called - - def simple_objective(args): - import hyperopt - return {'loss': args ** 2, 'status': hyperopt.STATUS_OK} - - space = hyperopt.hp.uniform('x', 0, 1) - - minval = hyperopt.fmin(simple_objective, space=space, - algo=hyperopt.tpe.suggest, - max_evals=25, - trials=trials) - - assert minval['x'] < .2 - assert trials._testing_fmin_was_called diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_mongoexp.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_mongoexp.py deleted file mode 100644 index 956bd430..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_mongoexp.py +++ /dev/null @@ -1,382 +0,0 @@ -from __future__ import print_function -from __future__ import absolute_import -import six.moves.cPickle as pickle -import os -import signal -import subprocess -import sys -import threading -import time -import unittest - -import numpy as np -import nose -import nose.plugins.skip - -from hyperopt.base import JOB_STATE_DONE -from hyperopt.mongoexp import MongoTrials -from hyperopt.mongoexp import MongoWorker -from hyperopt.mongoexp import ReserveTimeout -from hyperopt.mongoexp import as_mongo_str -from hyperopt.mongoexp import main_worker_helper -from hyperopt.mongoexp import MongoJobs -from hyperopt.fmin import fmin -from hyperopt import rand -import hyperopt.tests.test_base -from .test_domains import gauss_wave2 -from six.moves import map -from six.moves import range -from six.moves import zip - - -def skiptest(f): - def wrapper(*args, **kwargs): - raise nose.plugins.skip.SkipTest() - wrapper.__name__ = f.__name__ - return wrapper - - -class TempMongo(object): - """ - Context manager for tests requiring a live database. - - with TempMongo() as foo: - mj = foo.mongo_jobs('test1') - """ - - def __init__(self, workdir="/tmp/hyperopt_test"): - self.workdir = workdir - - def __enter__(self): - try: - open(self.workdir) - assert 0 - except IOError: - subprocess.call(["mkdir", "-p", '%s/db' % self.workdir]) - proc_args = ["mongod", - "--dbpath=%s/db" % self.workdir, - "--noprealloc", - "--port=22334"] - print("starting mongod", proc_args) - self.mongo_proc = subprocess.Popen( - proc_args, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - cwd=self.workdir, # this prevented mongod assertion fail - ) - try: - interval = .125 - while interval <= 2: - if interval > .125: - print("Waiting for mongo to come up") - time.sleep(interval) - interval *= 2 - if self.db_up(): - break - if self.db_up(): - return self - else: - try: - os.kill(self.mongo_proc.pid, signal.SIGTERM) - except OSError: - pass # if it crashed there is no such process - out, err = self.mongo_proc.communicate() - print(out, file=sys.stderr) - print(err, file=sys.stderr) - raise RuntimeError('No database connection', proc_args) - except Exception as e: - try: - os.kill(self.mongo_proc.pid, signal.SIGTERM) - except OSError: - pass # if it crashed there is no such process - raise e - - def __exit__(self, *args): - os.kill(self.mongo_proc.pid, signal.SIGTERM) - self.mongo_proc.wait() - subprocess.call(["rm", "-Rf", self.workdir]) - - @staticmethod - def connection_string(dbname): - return as_mongo_str('localhost:22334/{}/jobs'.format(dbname)) - - @staticmethod - def mongo_jobs(dbname): - return MongoJobs.new_from_connection_str( - TempMongo.connection_string(dbname)) - - def db_up(self): - try: - self.mongo_jobs('__test_db') - return True - except: # XXX: don't know what exceptions to put here - return False - -# -- If we can't create a TempMongo instance, then -# simply print what happened, -try: - with TempMongo() as temp_mongo: - pass -except OSError as e: - print(e, file=sys.stderr) - print(("Failed to create a TempMongo context," - " skipping all mongo tests."), file=sys.stderr) - if "such file" in str(e): - print("Hint: is mongod executable on path?", file=sys.stderr) - raise nose.SkipTest() - - -class TestMongoTrials(hyperopt.tests.test_base.TestTrials): - - def setUp(self): - self.temp_mongo = TempMongo() - self.temp_mongo.__enter__() - self.trials = MongoTrials( - self.temp_mongo.connection_string('foo'), - exp_key=None) - - def tearDown(self, *args): - self.temp_mongo.__exit__(*args) - - -def with_mongo_trials(f, exp_key=None): - def wrapper(): - with TempMongo() as temp_mongo: - trials = MongoTrials(temp_mongo.connection_string('foo'), - exp_key=exp_key) - print('Length of trials: ', len(trials.results)) - f(trials) - wrapper.__name__ = f.__name__ - return wrapper - - -def _worker_thread_fn(host_id, n_jobs, timeout, dbname='foo', logfilename=None): - mw = MongoWorker( - mj=TempMongo.mongo_jobs(dbname), - logfilename=logfilename, - workdir="mongoexp_test_dir", - ) - try: - while n_jobs: - mw.run_one(host_id, timeout, erase_created_workdir=True) - print('worker: %s ran job' % str(host_id)) - n_jobs -= 1 - except ReserveTimeout: - print('worker timed out:', host_id) - pass - - -def with_worker_threads(n_threads, dbname='foo', - n_jobs=sys.maxsize, timeout=10.0): - """ - Decorator that will run a test with some MongoWorker threads in flight - """ - def newth(ii): - return threading.Thread( - target=_worker_thread_fn, - args=(('hostname', ii), n_jobs, timeout, dbname)) - - def deco(f): - def wrapper(*args, **kwargs): - # --start some threads - threads = list(map(newth, list(range(n_threads)))) - [th.start() for th in threads] - try: - return f(*args, **kwargs) - finally: - [th.join() for th in threads] - wrapper.__name__ = f.__name__ # -- nose requires test in name - return wrapper - return deco - - -@with_mongo_trials -def test_with_temp_mongo(trials): - pass # -- just verify that the decorator can run - - -@with_mongo_trials -def test_new_trial_ids(trials): - a = trials.new_trial_ids(1) - b = trials.new_trial_ids(2) - c = trials.new_trial_ids(3) - - assert len(a) == 1 - assert len(b) == 2 - assert len(c) == 3 - s = set() - s.update(a) - s.update(b) - s.update(c) - assert len(s) == 6 - - -@with_mongo_trials -def test_attachments(trials): - blob = b'abcde' - assert 'aname' not in trials.attachments - trials.attachments['aname'] = blob - assert 'aname' in trials.attachments - assert trials.attachments[u'aname'] == blob - assert trials.attachments['aname'] == blob - - blob2 = b'zzz' - trials.attachments['aname'] = blob2 - assert 'aname' in trials.attachments - assert trials.attachments[u'aname'] == blob2 - assert trials.attachments['aname'] == blob2 - - del trials.attachments['aname'] - assert 'aname' not in trials.attachments - - -@with_mongo_trials -def test_delete_all_on_attachments(trials): - trials.attachments['aname'] = 'a' - trials.attachments['aname2'] = 'b' - assert 'aname2' in trials.attachments - trials.delete_all() - assert 'aname' not in trials.attachments - assert 'aname2' not in trials.attachments - - -def test_handles_are_independent(): - with TempMongo() as tm: - t1 = tm.mongo_jobs('t1') - t2 = tm.mongo_jobs('t2') - assert len(t1) == 0 - assert len(t2) == 0 - - # test that inserting into t1 doesn't affect t2 - t1.insert({'a': 7}) - assert len(t1) == 1 - assert len(t2) == 0 - - -def passthrough(x): - assert os.path.split(os.getcwd()).count("mongoexp_test_dir") == 1, "cwd is %s" % os.getcwd() - return x - - -class TestExperimentWithThreads(unittest.TestCase): - - @staticmethod - def worker_thread_fn(host_id, n_jobs, timeout): - mw = MongoWorker( - mj=TempMongo.mongo_jobs('foodb'), - logfilename=None, - workdir="mongoexp_test_dir") - while n_jobs: - mw.run_one(host_id, timeout, erase_created_workdir=True) - print('worker: %s ran job' % str(host_id)) - n_jobs -= 1 - - @staticmethod - def fmin_thread_fn(space, trials, max_evals, seed): - fmin( - fn=passthrough, - space=space, - algo=rand.suggest, - trials=trials, - rstate=np.random.RandomState(seed), - max_evals=max_evals, - return_argmin=False) - - def test_seeds_AAB(self): - # launch 3 simultaneous experiments with seeds A, A, B. - # Verify all experiments run to completion. - # Verify first two experiments run identically. - # Verify third experiment runs differently. - - exp_keys = ['A0', 'A1', 'B'] - seeds = [1, 1, 2] - n_workers = 2 - jobs_per_thread = 6 - # -- total jobs = 2 * 6 = 12 - # -- divided by 3 experiments: 4 jobs per fmin - max_evals = (n_workers * jobs_per_thread) // len(exp_keys) - - # -- should not matter which domain is used here - domain = gauss_wave2() - - pickle.dumps(domain.expr) - pickle.dumps(passthrough) - - worker_threads = [ - threading.Thread( - target=TestExperimentWithThreads.worker_thread_fn, - args=(('hostname', ii), jobs_per_thread, 30.0)) - for ii in range(n_workers)] - - with TempMongo() as tm: - mj = tm.mongo_jobs('foodb') - print(mj) - trials_list = [ - MongoTrials(tm.connection_string('foodb'), key) - for key in exp_keys] - - fmin_threads = [ - threading.Thread( - target=TestExperimentWithThreads.fmin_thread_fn, - args=(domain.expr, trials, max_evals, seed)) - for seed, trials in zip(seeds, trials_list)] - - try: - [th.start() for th in worker_threads + fmin_threads] - finally: - print('joining worker threads...') - [th.join() for th in worker_threads + fmin_threads] - - # -- not using an exp_key gives a handle to all the trials - # in foodb - all_trials = MongoTrials(tm.connection_string('foodb')) - self.assertEqual(len(all_trials), n_workers * jobs_per_thread) - - # Verify that the fmin calls terminated correctly: - for trials in trials_list: - self.assertEqual( - trials.count_by_state_synced(JOB_STATE_DONE), - max_evals) - self.assertEqual( - trials.count_by_state_unsynced(JOB_STATE_DONE), - max_evals) - self.assertEqual(len(trials), max_evals) - - # Verify that the first two experiments match. - # (Do these need sorting by trial id?) - trials_A0, trials_A1, trials_B0 = trials_list - self.assertEqual( - [t['misc']['vals'] for t in trials_A0.trials], - [t['misc']['vals'] for t in trials_A1.trials]) - - # Verify that the last experiment does not match. - # (Do these need sorting by trial id?) - self.assertNotEqual( - [t['misc']['vals'] for t in trials_A0.trials], - [t['misc']['vals'] for t in trials_B0.trials]) - - -class FakeOptions(object): - - def __init__(self, **kwargs): - self.__dict__.update(kwargs) - - -# -- assert that the test raises a ReserveTimeout within 5 seconds -@nose.tools.timed(10.0) # XXX: this needs a suspiciously long timeout -@nose.tools.raises(ReserveTimeout) -@with_mongo_trials -def test_main_worker(trials): - options = FakeOptions( - max_jobs=1, - # XXX: sync this with TempMongo - mongo=as_mongo_str('localhost:22334/foodb'), - reserve_timeout=1, - poll_interval=.5, - workdir=None, - exp_key='foo', - last_job_timeout=None, - ) - # -- check that it runs - # and that the reserve timeout is respected - main_worker_helper(options, ()) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pchoice.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pchoice.py deleted file mode 100644 index f80aed0a..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pchoice.py +++ /dev/null @@ -1,181 +0,0 @@ -from __future__ import print_function -from builtins import range -from functools import partial -import numpy as np -import unittest -from hyperopt import hp, Trials, fmin, tpe, anneal, rand -import hyperopt.pyll.stochastic - - -class TestPChoice(unittest.TestCase): - - def test_basic(self): - - space = hp.pchoice('naive_type', - [(.14, 'gaussian'), - (.02, 'multinomial'), - (.84, 'bernoulli')]) - a, b, c = 0, 0, 0 - rng = np.random.RandomState(123) - for i in range(0, 1000): - nesto = hyperopt.pyll.stochastic.sample(space, rng=rng) - if nesto == 'gaussian': - a += 1 - elif nesto == 'multinomial': - b += 1 - elif nesto == 'bernoulli': - c += 1 - print((a, b, c)) - assert a + b + c == 1000 - assert 120 < a < 160 - assert 0 < b < 40 - assert 800 < c < 900 - - def test_basic2(self): - space = hp.choice('normal_choice', [ - hp.pchoice('fsd', - [(.1, 'first'), - (.8, 'second'), - (.1, 2)]), - hp.choice('something_else', [10, 20]) - ]) - a, b, c = 0, 0, 0 - rng = np.random.RandomState(123) - for i in range(0, 1000): - nesto = hyperopt.pyll.stochastic.sample(space, rng=rng) - if nesto == 'first': - a += 1 - elif nesto == 'second': - b += 1 - elif nesto == 2: - c += 1 - elif nesto in (10, 20): - pass - else: - assert 0, nesto - print((a, b, c)) - assert b > 2 * a - assert b > 2 * c - - def test_basic3(self): - space = hp.pchoice('something', [ - (.2, hp.pchoice('number', [(.8, 2), (.2, 1)])), - (.8, hp.pchoice('number1', [(.7, 5), (.3, 6)])) - ]) - a, b, c, d = 0, 0, 0, 0 - rng = np.random.RandomState(123) - for i in range(0, 2000): - nesto = hyperopt.pyll.stochastic.sample(space, rng=rng) - if nesto == 2: - a += 1 - elif nesto == 1: - b += 1 - elif nesto == 5: - c += 1 - elif nesto == 6: - d += 1 - else: - assert 0, nesto - print((a, b, c, d)) - assert a + b + c + d == 2000 - assert 300 < a + b < 500 - assert 1500 < c + d < 1700 - assert a * .3 > b # a * 1.2 > 4 * b - assert c * 3 * 1.2 > d * 7 - - -class TestSimpleFMin(unittest.TestCase): - # test that that a space with a pchoice in it is - # (a) accepted by various algos and - # (b) handled correctly. - # - - def setUp(self): - self.space = hp.pchoice('a', [ - (.1, 0), - (.2, 1), - (.3, 2), - (.4, 3)]) - self.trials = Trials() - - def objective(self, a): - return [1, 1, 1, 0][a] - - def test_random(self): - # test that that a space with a pchoice in it is - # (a) accepted by tpe.suggest and - # (b) handled correctly. - N = 150 - fmin(self.objective, - space=self.space, - trials=self.trials, - algo=rand.suggest, - max_evals=N) - - a_vals = [t['misc']['vals']['a'][0] for t in self.trials.trials] - counts = np.bincount(a_vals) - print(counts) - assert counts[3] > N * .35 - assert counts[3] < N * .60 - - def test_tpe(self): - N = 100 - fmin(self.objective, - space=self.space, - trials=self.trials, - algo=partial(tpe.suggest, n_startup_jobs=10), - max_evals=N) - - a_vals = [t['misc']['vals']['a'][0] for t in self.trials.trials] - counts = np.bincount(a_vals) - print(counts) - assert counts[3] > N * .6 - - def test_anneal(self): - N = 100 - fmin(self.objective, - space=self.space, - trials=self.trials, - algo=partial(anneal.suggest), - max_evals=N) - - a_vals = [t['misc']['vals']['a'][0] for t in self.trials.trials] - counts = np.bincount(a_vals) - print(counts) - assert counts[3] > N * .6 - - -def test_bug1_rand(): - space = hp.choice('preprocess_choice', [ - {'pwhiten': hp.pchoice('whiten_randomPCA', - [(.3, False), (.7, True)])}, - {'palgo': False}, - {'pthree': 7}]) - fmin(fn=lambda x: 1, - space=space, - algo=rand.suggest, - max_evals=50) - - -def test_bug1_tpe(): - space = hp.choice('preprocess_choice', [ - {'pwhiten': hp.pchoice('whiten_randomPCA', - [(.3, False), (.7, True)])}, - {'palgo': False}, - {'pthree': 7}]) - fmin(fn=lambda x: 1, - space=space, - algo=tpe.suggest, - max_evals=50) - - -def test_bug1_anneal(): - space = hp.choice('preprocess_choice', [ - {'pwhiten': hp.pchoice('whiten_randomPCA', - [(.3, False), (.7, True)])}, - {'palgo': False}, - {'pthree': 7}]) - fmin(fn=lambda x: 1, - space=space, - algo=anneal.suggest, - max_evals=50) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_plotting.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_plotting.py deleted file mode 100644 index d4e33424..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_plotting.py +++ /dev/null @@ -1,57 +0,0 @@ -""" -Verify that the plotting routines can at least run. - -If environment variable HYPEROPT_SHOW is defined and true, -then the plots actually appear. - -""" -from __future__ import print_function -from __future__ import absolute_import -import unittest -import os - -try: - import matplotlib - matplotlib.use('svg') # -- prevents trying to connect to X server -except ImportError: - import nose - raise nose.SkipTest() - -from hyperopt import Trials -import hyperopt.plotting -from hyperopt import rand, fmin -from .test_domains import many_dists - - -def get_do_show(): - rval = int(os.getenv('HYPEROPT_SHOW', '0')) - print('do_show =', rval) - return rval - - -class TestPlotting(unittest.TestCase): - - def setUp(self): - domain = self.domain = many_dists() - trials = self.trials = Trials() - fmin(lambda x: x, - space=domain.expr, - trials=trials, - algo=rand.suggest, - max_evals=200) - - def test_plot_history(self): - hyperopt.plotting.main_plot_history( - self.trials, - do_show=get_do_show()) - - def test_plot_histogram(self): - hyperopt.plotting.main_plot_histogram( - self.trials, - do_show=get_do_show()) - - def test_plot_vars(self): - hyperopt.plotting.main_plot_vars( - self.trials, - self.domain, - do_show=get_do_show()) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pyll_utils.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pyll_utils.py deleted file mode 100644 index 7b780e3e..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_pyll_utils.py +++ /dev/null @@ -1,68 +0,0 @@ -from __future__ import print_function -from builtins import map -from hyperopt.pyll_utils import EQ -from hyperopt.pyll_utils import expr_to_config -from hyperopt import hp -from hyperopt.pyll import as_apply - - -def test_expr_to_config(): - - z = hp.randint('z', 10) - a = hp.choice('a', - [ - hp.uniform('b', -1, 1) + z, - {'c': 1, 'd': hp.choice('d', - [3 + hp.loguniform('c', 0, 1), - 1 + hp.loguniform('e', 0, 1)]) - }]) - - expr = as_apply((a, z)) - - hps = {} - expr_to_config(expr, (True,), hps) - - for label, dct in list(hps.items()): - print(label) - print(' dist: %s(%s)' % ( - dct['node'].name, - ', '.join(map(str, [ii.eval() for ii in dct['node'].inputs()])))) - if len(dct['conditions']) > 1: - print(' conditions (OR):') - for condseq in dct['conditions']: - print(' ', ' AND '.join(map(str, condseq))) - elif dct['conditions']: - for condseq in dct['conditions']: - print(' conditions :', ' AND '.join(map(str, condseq))) - - assert hps['a']['node'].name == 'randint' - assert hps['b']['node'].name == 'uniform' - assert hps['c']['node'].name == 'loguniform' - assert hps['d']['node'].name == 'randint' - assert hps['e']['node'].name == 'loguniform' - assert hps['z']['node'].name == 'randint' - - assert set([(True, EQ('a', 0))]) == set([(True, EQ('a', 0))]) - assert hps['a']['conditions'] == set([(True,)]) - assert hps['b']['conditions'] == set([ - (True, EQ('a', 0))]), hps['b']['conditions'] - assert hps['c']['conditions'] == set([ - (True, EQ('a', 1), EQ('d', 0))]) - assert hps['d']['conditions'] == set([ - (True, EQ('a', 1))]) - assert hps['e']['conditions'] == set([ - (True, EQ('a', 1), EQ('d', 1))]) - assert hps['z']['conditions'] == set([ - (True,), - (True, EQ('a', 0))]) - - -def test_remove_allpaths(): - z = hp.uniform('z', 0, 10) - a = hp.choice('a', [z + 1, z - 1]) - hps = {} - expr_to_config(a, (True,), hps) - aconds = hps['a']['conditions'] - zconds = hps['z']['conditions'] - assert aconds == set([(True,)]), aconds - assert zconds == set([(True,)]), zconds diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rand.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rand.py deleted file mode 100644 index 8d439bf9..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rand.py +++ /dev/null @@ -1,27 +0,0 @@ -from __future__ import absolute_import -from builtins import range -import unittest -from hyperopt.base import Trials, trials_from_docs, miscs_to_idxs_vals -from hyperopt import rand -from hyperopt.tests.test_base import Suggest_API -from .test_domains import gauss_wave2, coin_flip - -TestRand = Suggest_API.make_tst_class(rand.suggest, gauss_wave2(), 'TestRand') - - -class TestRand(unittest.TestCase): - - def test_seeding(self): - # -- assert that the seeding works a particular way - - domain = coin_flip() - docs = rand.suggest(list(range(10)), domain, Trials(), seed=123) - trials = trials_from_docs(docs) - idxs, vals = miscs_to_idxs_vals(trials.miscs) - - # Passes Nov 8 / 2013 - self.assertEqual(list(idxs['flip']), list(range(10))) - self.assertEqual(list(vals['flip']), [0, 1, 0, 0, 0, 0, 0, 1, 1, 0]) - - # -- TODO: put in a test that guarantees that - # stochastic nodes are sampled in a paricular order. diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rdists.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rdists.py deleted file mode 100644 index 1c4f1f3b..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_rdists.py +++ /dev/null @@ -1,265 +0,0 @@ -from __future__ import print_function -from __future__ import division -from past.utils import old_div -from collections import defaultdict -import unittest -import numpy as np -import numpy.testing as npt -from hyperopt.rdists import ( - loguniform_gen, - lognorm_gen, - quniform_gen, - qloguniform_gen, - qnormal_gen, - qlognormal_gen, -) -from scipy import stats -try: - from scipy.stats.tests.test_continuous_basic import ( - check_cdf_logcdf, - check_pdf_logpdf, - check_pdf, - check_cdf_ppf, - ) - # from scipy.stats.tests import test_discrete_basic as tdb -except ImportError: - - def check_cdf_logcdf(*args): - pass - - def check_pdf_logpdf(*args): - pass - - def check_pdf(*args): - pass - - def check_cdf_ppf(*args): - pass - - -class TestLogUniform(unittest.TestCase): - - def test_cdf_logcdf(self): - check_cdf_logcdf(loguniform_gen(0, 1), (0, 1), '') - check_cdf_logcdf(loguniform_gen(0, 1), (-5, 5), '') - - def test_cdf_ppf(self): - check_cdf_ppf(loguniform_gen(0, 1), (0, 1), '') - check_cdf_ppf(loguniform_gen(-2, 1), (-5, 5), '') - - def test_pdf_logpdf(self): - check_pdf_logpdf(loguniform_gen(0, 1), (0, 1), '') - check_pdf_logpdf(loguniform_gen(low=-4, high=-0.5), (-2, 1), '') - - def test_pdf(self): - check_pdf(loguniform_gen(0, 1), (0, 1), '') - check_pdf(loguniform_gen(low=-4, high=-2), (-3, 2), '') - - def test_distribution_rvs(self): - alpha = 0.01 - loc = 0 - scale = 1 - arg = (loc, scale) - distfn = loguniform_gen(0, 1) - D, pval = stats.kstest(distfn.rvs, distfn.cdf, args=arg, N=1000) - if (pval < alpha): - npt.assert_(pval > alpha, - "D = %f; pval = %f; alpha = %f; args=%s" % ( - D, pval, alpha, arg)) - - -class TestLogNormal(unittest.TestCase): - - def test_cdf_logcdf(self): - check_cdf_logcdf(lognorm_gen(0, 1), (0, 1), '') - check_cdf_logcdf(lognorm_gen(0, 1), (-5, 5), '') - - def test_cdf_ppf(self): - check_cdf_ppf(lognorm_gen(0, 1), (0, 1), '') - check_cdf_ppf(lognorm_gen(-2, 1), (-5, 5), '') - - def test_pdf_logpdf(self): - check_pdf_logpdf(lognorm_gen(0, 1), (0, 1), '') - check_pdf_logpdf(lognorm_gen(mu=-4, sigma=0.5), (-2, 1), '') - - def test_pdf(self): - check_pdf(lognorm_gen(0, 1), (0, 1), '') - check_pdf(lognorm_gen(mu=-4, sigma=2), (-3, 2), '') - - def test_distribution_rvs(self): - return - alpha = 0.01 - loc = 0 - scale = 1 - arg = (loc, scale) - distfn = lognorm_gen(0, 1) - D, pval = stats.kstest(distfn.rvs, distfn.cdf, args=arg, N=1000) - if (pval < alpha): - npt.assert_(pval > alpha, - "D = %f; pval = %f; alpha = %f; args=%s" % ( - D, pval, alpha, arg)) - - -def check_d_samples(dfn, n, rtol=1e-2, atol=1e-2): - counts = defaultdict(lambda: 0) - # print 'sample', dfn.rvs(size=n) - inc = old_div(1.0, n) - for s in dfn.rvs(size=n): - counts[s] += inc - for ii, p in sorted(counts.items()): - t = np.allclose(dfn.pmf(ii), p, rtol=rtol, atol=atol) - if not t: - print(('Error in sampling frequencies', ii)) - print('value\tpmf\tfreq') - for jj in sorted(counts): - print(('%.2f\t%.3f\t%.4f' % ( - jj, dfn.pmf(jj), counts[jj]))) - npt.assert_(t, - "n = %i; pmf = %f; p = %f" % ( - n, dfn.pmf(ii), p)) - - -class TestQUniform(unittest.TestCase): - - def test_smallq(self): - low, high, q = (0, 1, .1) - qu = quniform_gen(low, high, q) - check_d_samples(qu, n=10000) - - def test_bigq(self): - low, high, q = (-20, -1, 3) - qu = quniform_gen(low, high, q) - check_d_samples(qu, n=10000) - - def test_offgrid_int(self): - qn = quniform_gen(0, 2, 2) - assert qn.pmf(0) > 0.0 - assert qn.pmf(1) == 0.0 - assert qn.pmf(2) > 0.0 - assert qn.pmf(3) == 0.0 - assert qn.pmf(-1) == 0.0 - - def test_offgrid_float(self): - qn = quniform_gen(0, 1, .2) - assert qn.pmf(0) > 0.0 - assert qn.pmf(.1) == 0.0 - assert qn.pmf(.2) > 0.0 - assert qn.pmf(.4) > 0.0 - assert qn.pmf(.8) > 0.0 - assert qn.pmf(-.2) == 0.0 - assert qn.pmf(.99) == 0.0 - assert qn.pmf(-.99) == 0.0 - - -class TestQLogUniform(unittest.TestCase): - - def logp(self, x, low, high, q): - return qloguniform_gen(low, high, q).logpmf(x) - - def test_smallq(self): - low, high, q = (0, 1, .1) - qlu = qloguniform_gen(low, high, q) - check_d_samples(qlu, n=10000) - - def test_bigq(self): - low, high, q = (-20, 4, 3) - qlu = qloguniform_gen(low, high, q) - check_d_samples(qlu, n=10000) - - def test_point(self): - low, high, q = (np.log(.05), np.log(.15), 0.5) - qlu = qloguniform_gen(low, high, q) - check_d_samples(qlu, n=10000) - - def test_2points(self): - low, high, q = (np.log(.05), np.log(.75), 0.5) - qlu = qloguniform_gen(low, high, q) - check_d_samples(qlu, n=10000) - - def test_point_logpmf(self): - assert np.allclose(self.logp(0, np.log(.25), np.log(.5), 1), 0.0) - - def test_rounding_logpmf(self): - assert (self.logp(0, np.log(.25), np.log(.75), 1) > - self.logp(1, np.log(.25), np.log(.75), 1)) - assert (self.logp(-1, np.log(.25), np.log(.75), 1) == - self.logp(2, np.log(.25), np.log(.75), 1) == - -np.inf) - - def test_smallq_logpmf(self): - assert (self.logp(0.2, np.log(.16), np.log(.55), .1) > - self.logp(0.3, np.log(.16), np.log(.55), .1) > - self.logp(0.4, np.log(.16), np.log(.55), .1) > - self.logp(0.5, np.log(.16), np.log(.55), .1) > - -10) - - assert (self.logp(0.1, np.log(.16), np.log(.55), 1) == - self.logp(0.6, np.log(.16), np.log(.55), 1) == - -np.inf) - - -class TestQNormal(unittest.TestCase): - - def test_smallq(self): - mu, sigma, q = (0, 1, .1) - qn = qnormal_gen(mu, sigma, q) - check_d_samples(qn, n=10000) - - def test_bigq(self): - mu, sigma, q = (-20, 4, 3) - qn = qnormal_gen(mu, sigma, q) - check_d_samples(qn, n=10000) - - def test_offgrid_int(self): - qn = qnormal_gen(0, 1, 2) - assert qn.pmf(0) > 0.0 - assert qn.pmf(1) == 0.0 - assert qn.pmf(2) > 0.0 - - def test_offgrid_float(self): - qn = qnormal_gen(0, 1, .2) - assert qn.pmf(0) > 0.0 - assert qn.pmf(.1) == 0.0 - assert qn.pmf(.2) > 0.0 - assert qn.pmf(.4) > 0.0 - assert qn.pmf(-.2) > 0.0 - assert qn.pmf(-.4) > 0.0 - assert qn.pmf(.99) == 0.0 - assert qn.pmf(-.99) == 0.0 - - def test_numeric(self): - qn = qnormal_gen(0, 1, 1) - assert qn.pmf(500) > -np.inf - - -class TestQLogNormal(unittest.TestCase): - - def test_smallq(self): - mu, sigma, q = (0, 1, .1) - qn = qlognormal_gen(mu, sigma, q) - check_d_samples(qn, n=10000) - - def test_bigq(self): - mu, sigma, q = (-20, 4, 3) - qn = qlognormal_gen(mu, sigma, q) - check_d_samples(qn, n=10000) - - def test_offgrid_int(self): - mu, sigma, q = (1, 2, 2) - qn = qlognormal_gen(mu, sigma, q) - assert qn.pmf(0) > qn.pmf(2) > qn.pmf(20) > 0 - assert qn.pmf(1) == qn.pmf(2 - .001) == qn.pmf(-1) == 0 - - def test_offgrid_float(self): - mu, sigma, q = (-.5, 2, .2) - qn = qlognormal_gen(mu, sigma, q) - assert qn.pmf(0) > qn.pmf(.2) > qn.pmf(2) > 0 - assert qn.pmf(.1) == qn.pmf(.2 - .001) == qn.pmf(-.2) == 0 - - def test_numeric(self): - # XXX we don't have a numerically accurate computation for this guy - # qn = qlognormal_gen(0, 1, 1) - # assert -np.inf < qn.logpmf(1e-20) < -50 - # assert -np.inf < qn.logpmf(1e20) < -50 - pass -# -- non-empty last line for flake8 diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_tpe.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_tpe.py deleted file mode 100644 index 186f35f4..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_tpe.py +++ /dev/null @@ -1,781 +0,0 @@ -from __future__ import print_function -from __future__ import absolute_import -from __future__ import division -from builtins import str -from builtins import zip -from builtins import range -from builtins import object -from past.utils import old_div -from functools import partial -import os -import unittest - -import nose - -import numpy as np -try: - import matplotlib.pyplot as plt -except ImportError: - pass - -from hyperopt import pyll -from hyperopt.pyll import scope - -from hyperopt import Trials - -from hyperopt.base import miscs_to_idxs_vals, STATUS_OK - -from hyperopt import hp - -from hyperopt.tpe import adaptive_parzen_normal_orig -from hyperopt.tpe import GMM1 -from hyperopt.tpe import GMM1_lpdf -from hyperopt.tpe import LGMM1 -from hyperopt.tpe import LGMM1_lpdf - -import hyperopt.rand as rand -import hyperopt.tpe as tpe -from hyperopt import fmin - -from .test_domains import ( - domain_constructor, - CasePerDomain) - -DO_SHOW = int(os.getenv('HYPEROPT_SHOW', '0')) - - -def passthrough(x): - return x - - -def test_adaptive_parzen_normal_orig(): - rng = np.random.RandomState(123) - - prior_mu = 7 - prior_sigma = 2 - mus = rng.randn(10) + 5 - - weights2, mus2, sigmas2 = adaptive_parzen_normal_orig( - mus, 3.3, prior_mu, prior_sigma) - - print(weights2) - print(mus2) - print(sigmas2) - - assert len(weights2) == len(mus2) == len(sigmas2) == 11 - assert np.all(weights2[0] > weights2[1:]) - assert mus2[0] == 7 - assert np.all(mus2[1:] == mus) - assert sigmas2[0] == 2 - - -class TestGMM1(unittest.TestCase): - - def setUp(self): - self.rng = np.random.RandomState(234) - - def test_mu_is_used_correctly(self): - assert np.allclose(10, - GMM1([1], [10.0], [0.0000001], rng=self.rng)) - - def test_sigma_is_used_correctly(self): - samples = GMM1([1], [0.0], [10.0], size=[1000], rng=self.rng) - assert 9 < np.std(samples) < 11 - - def test_mus_make_variance(self): - samples = GMM1([.5, .5], [0.0, 1.0], [0.000001, 0.000001], - rng=self.rng, size=[1000]) - print(samples.shape) - # import matplotlib.pyplot as plt - # plt.hist(samples) - # plt.show() - assert .45 < np.mean(samples) < .55, np.mean(samples) - assert .2 < np.var(samples) < .3, np.var(samples) - - def test_weights(self): - samples = GMM1([.9999, .0001], [0.0, 1.0], [0.000001, 0.000001], - rng=self.rng, - size=[1000]) - assert samples.shape == (1000,) - # import matplotlib.pyplot as plt - # plt.hist(samples) - # plt.show() - assert -.001 < np.mean(samples) < .001, np.mean(samples) - assert np.var(samples) < .0001, np.var(samples) - - def test_mat_output(self): - samples = GMM1([.9999, .0001], [0.0, 1.0], [0.000001, 0.000001], - rng=self.rng, - size=[40, 20]) - assert samples.shape == (40, 20) - assert -.001 < np.mean(samples) < .001, np.mean(samples) - assert np.var(samples) < .0001, np.var(samples) - - def test_lpdf_scalar_one_component(self): - llval = GMM1_lpdf(1.0, # x - [1.], # weights - [1.0], # mu - [2.0], # sigma - ) - assert llval.shape == () - assert np.allclose(llval, - np.log(old_div(1.0, np.sqrt(2 * np.pi * 2.0 ** 2)))) - - def test_lpdf_scalar_N_components(self): - llval = GMM1_lpdf(1.0, # x - [0.25, 0.25, .5], # weights - [0.0, 1.0, 2.0], # mu - [1.0, 2.0, 5.0], # sigma - ) - print(llval) - - a = (.25 / np.sqrt(2 * np.pi * 1.0 ** 2) * - np.exp(-.5 * (1.0) ** 2)) - a += (old_div(.25, np.sqrt(2 * np.pi * 2.0 ** 2))) - a += (.5 / np.sqrt(2 * np.pi * 5.0 ** 2) * - np.exp(-.5 * (old_div(1.0, 5.0)) ** 2)) - - def test_lpdf_vector_N_components(self): - llval = GMM1_lpdf([1.0, 0.0], # x - [0.25, 0.25, .5], # weights - [0.0, 1.0, 2.0], # mu - [1.0, 2.0, 5.0], # sigma - ) - - # case x = 1.0 - a = (.25 / np.sqrt(2 * np.pi * 1.0 ** 2) * - np.exp(-.5 * (1.0) ** 2)) - a += (old_div(.25, np.sqrt(2 * np.pi * 2.0 ** 2))) - a += (.5 / np.sqrt(2 * np.pi * 5.0 ** 2) * - np.exp(-.5 * (old_div(1.0, 5.0)) ** 2)) - - assert llval.shape == (2,) - assert np.allclose(llval[0], np.log(a)) - - # case x = 0.0 - a = (old_div(.25, np.sqrt(2 * np.pi * 1.0 ** 2))) - a += (.25 / np.sqrt(2 * np.pi * 2.0 ** 2) * - np.exp(-.5 * (old_div(1.0, 2.0)) ** 2)) - a += (.5 / np.sqrt(2 * np.pi * 5.0 ** 2) * - np.exp(-.5 * (old_div(2.0, 5.0)) ** 2)) - assert np.allclose(llval[1], np.log(a)) - - def test_lpdf_matrix_N_components(self): - llval = GMM1_lpdf( - [ - [1.0, 0.0, 0.0], - [0, 0, 1], - [0, 0, 1000], - ], - [0.25, 0.25, .5], # weights - [0.0, 1.0, 2.0], # mu - [1.0, 2.0, 5.0], # sigma - ) - print(llval) - assert llval.shape == (3, 3) - - a = (.25 / np.sqrt(2 * np.pi * 1.0 ** 2) * - np.exp(-.5 * (1.0) ** 2)) - a += (old_div(.25, np.sqrt(2 * np.pi * 2.0 ** 2))) - a += (.5 / np.sqrt(2 * np.pi * 5.0 ** 2) * - np.exp(-.5 * (old_div(1.0, 5.0)) ** 2)) - - assert np.allclose(llval[0, 0], np.log(a)) - assert np.allclose(llval[1, 2], np.log(a)) - - # case x = 0.0 - a = (old_div(.25, np.sqrt(2 * np.pi * 1.0 ** 2))) - a += (.25 / np.sqrt(2 * np.pi * 2.0 ** 2) * - np.exp(-.5 * (old_div(1.0, 2.0)) ** 2)) - a += (.5 / np.sqrt(2 * np.pi * 5.0 ** 2) * - np.exp(-.5 * (old_div(2.0, 5.0)) ** 2)) - - assert np.allclose(llval[0, 1], np.log(a)) - assert np.allclose(llval[0, 2], np.log(a)) - assert np.allclose(llval[1, 0], np.log(a)) - assert np.allclose(llval[1, 1], np.log(a)) - assert np.allclose(llval[2, 0], np.log(a)) - assert np.allclose(llval[2, 1], np.log(a)) - - assert np.isfinite(llval[2, 2]) - - -class TestGMM1Math(unittest.TestCase): - - def setUp(self): - self.rng = np.random.RandomState(234) - self.weights = [.1, .3, .4, .2] - self.mus = [1.0, 2.0, 3.0, 4.0] - self.sigmas = [.1, .4, .8, 2.0] - self.q = None - self.low = None - self.high = None - self.n_samples = 10001 - self.samples_per_bin = 500 - self.show = False - # -- triggers error if test case forgets to call work() - self.worked = False - - def tearDown(self): - assert self.worked - - def work(self): - self.worked = True - kwargs = dict( - weights=self.weights, - mus=self.mus, - sigmas=self.sigmas, - low=self.low, - high=self.high, - q=self.q, - ) - samples = GMM1(rng=self.rng, - size=(self.n_samples,), - **kwargs) - samples = np.sort(samples) - edges = samples[::self.samples_per_bin] - # print samples - - pdf = np.exp(GMM1_lpdf(edges[:-1], **kwargs)) - dx = edges[1:] - edges[:-1] - y = 1 / dx / len(dx) - - if self.show: - plt.scatter(edges[:-1], y) - plt.plot(edges[:-1], pdf) - plt.show() - err = (pdf - y) ** 2 - print(np.max(err)) - print(np.mean(err)) - print(np.median(err)) - if not self.show: - assert np.max(err) < .1 - assert np.mean(err) < .01 - assert np.median(err) < .01 - - def test_basic(self): - self.work() - - def test_bounded(self): - self.low = 2.5 - self.high = 3.5 - self.work() - - -class TestQGMM1Math(unittest.TestCase): - - def setUp(self): - self.rng = np.random.RandomState(234) - self.weights = [.1, .3, .4, .2] - self.mus = [1.0, 2.0, 3.0, 4.0] - self.sigmas = [.1, .4, .8, 2.0] - self.low = None - self.high = None - self.n_samples = 1001 - self.show = DO_SHOW # or put a string - # -- triggers error if test case forgets to call work() - self.worked = False - - def tearDown(self): - assert self.worked - - def work(self, **kwargs): - self.__dict__.update(kwargs) - del kwargs - self.worked = True - gkwargs = dict( - weights=self.weights, - mus=self.mus, - sigmas=self.sigmas, - low=self.low, - high=self.high, - q=self.q, - ) - samples = old_div(GMM1(rng=self.rng, - size=(self.n_samples,), - **gkwargs), self.q) - print('drew', len(samples), 'samples') - assert np.all(samples == samples.astype('int')) - min_max = int(samples.min()), int(samples.max()) - counts = np.bincount(samples.astype('int') - min_max[0]) - - print(counts) - xcoords = np.arange(min_max[0], min_max[1] + 1) * self.q - prob = np.exp(GMM1_lpdf(xcoords, **gkwargs)) - assert counts.sum() == self.n_samples - y = old_div(counts, float(self.n_samples)) - - if self.show: - plt.scatter(xcoords, y, c='r', label='empirical') - plt.scatter(xcoords, prob, c='b', label='predicted') - plt.legend() - plt.title(str(self.show)) - plt.show() - err = (prob - y) ** 2 - print(np.max(err)) - print(np.mean(err)) - print(np.median(err)) - if self.show: - raise nose.SkipTest() - else: - assert np.max(err) < .1 - assert np.mean(err) < .01 - assert np.median(err) < .01 - - def test_basic_1(self): - self.work(q=1) - - def test_basic_2(self): - self.work(q=2) - - def test_basic_pt5(self): - self.work(q=0.5) - - def test_bounded_1(self): - self.work(q=1, low=2, high=4) - - def test_bounded_2(self): - self.work(q=2, low=2, high=4) - - def test_bounded_1b(self): - self.work(q=1, low=1, high=4.1) - - def test_bounded_2b(self): - self.work(q=2, low=1, high=4.1) - - def test_bounded_3(self): - self.work( - weights=[0.14285714, 0.28571429, 0.28571429, 0.28571429], - mus=[5.505, 7., 2., 10.], - sigmas=[8.99, 5., 8., 8.], - q=1, - low=1.01, - high=10, - n_samples=10000, - # show='bounded_3', - ) - - def test_bounded_3b(self): - self.work( - weights=[0.33333333, 0.66666667], - mus=[5.505, 5.], - sigmas=[8.99, 5.19], - q=1, - low=1.01, - high=10, - n_samples=10000, - # show='bounded_3b', - ) - - -class TestLGMM1Math(unittest.TestCase): - - def setUp(self): - self.rng = np.random.RandomState(234) - self.weights = [.1, .3, .4, .2] - self.mus = [-2.0, 1.0, 0.0, 3.0] - self.sigmas = [.1, .4, .8, 2.0] - self.low = None - self.high = None - self.n_samples = 10001 - self.samples_per_bin = 200 - self.show = False - # -- triggers error if test case forgets to call work() - self.worked = False - - def tearDown(self): - assert self.worked - - @property - def LGMM1_kwargs(self): - return dict( - weights=self.weights, - mus=self.mus, - sigmas=self.sigmas, - low=self.low, - high=self.high, - ) - - def LGMM1_lpdf(self, samples): - return self.LGMM1(samples, **self.LGMM1_kwargs) - - def work(self, **kwargs): - self.__dict__.update(kwargs) - self.worked = True - samples = LGMM1(rng=self.rng, - size=(self.n_samples,), - **self.LGMM1_kwargs) - samples = np.sort(samples) - edges = samples[::self.samples_per_bin] - centers = .5 * edges[:-1] + .5 * edges[1:] - print(edges) - - pdf = np.exp(LGMM1_lpdf(centers, **self.LGMM1_kwargs)) - dx = edges[1:] - edges[:-1] - y = 1 / dx / len(dx) - - if self.show: - plt.scatter(centers, y) - plt.plot(centers, pdf) - plt.show() - err = (pdf - y) ** 2 - print(np.max(err)) - print(np.mean(err)) - print(np.median(err)) - if not self.show: - assert np.max(err) < .1 - assert np.mean(err) < .01 - assert np.median(err) < .01 - - def test_basic(self): - self.work() - - def test_bounded(self): - self.work(low=2, high=4) - - -class TestQLGMM1Math(unittest.TestCase): - - def setUp(self): - self.rng = np.random.RandomState(234) - self.weights = [.1, .3, .4, .2] - self.mus = [-2, 0.0, -3.0, 1.0] - self.sigmas = [2.1, .4, .8, 2.1] - self.low = None - self.high = None - self.n_samples = 1001 - self.show = DO_SHOW - # -- triggers error if test case forgets to call work() - self.worked = False - - def tearDown(self): - assert self.worked - - @property - def kwargs(self): - return dict( - weights=self.weights, - mus=self.mus, - sigmas=self.sigmas, - low=self.low, - high=self.high, - q=self.q) - - def QLGMM1_lpdf(self, samples): - return self.LGMM1(samples, **self.kwargs) - - def work(self, **kwargs): - self.__dict__.update(kwargs) - self.worked = True - samples = old_div(LGMM1(rng=self.rng, - size=(self.n_samples,), - **self.kwargs), self.q) - # -- we've divided the LGMM1 by self.q to get ints here - assert np.all(samples == samples.astype('int')) - min_max = int(samples.min()), int(samples.max()) - print('SAMPLES RANGE', min_max) - counts = np.bincount(samples.astype('int') - min_max[0]) - - # print samples - # print counts - xcoords = np.arange(min_max[0], min_max[1] + 0.5) * self.q - prob = np.exp(LGMM1_lpdf(xcoords, **self.kwargs)) - print(xcoords) - print(prob) - assert counts.sum() == self.n_samples - y = old_div(counts, float(self.n_samples)) - - if self.show: - plt.scatter(xcoords, y, c='r', label='empirical') - plt.scatter(xcoords, prob, c='b', label='predicted') - plt.legend() - plt.show() - # -- calculate errors on the low end, don't take a mean - # over all the range spanned by a few outliers. - err = ((prob - y) ** 2)[:20] - print(np.max(err)) - print(np.mean(err)) - print(np.median(err)) - if self.show: - raise nose.SkipTest() - else: - assert np.max(err) < .1 - assert np.mean(err) < .01 - assert np.median(err) < .01 - - def test_basic_1(self): - self.work(q=1) - - def test_basic_2(self): - self.work(q=2) - - def test_basic_pt5(self): - self.work(q=0.5) - - def test_basic_pt125(self): - self.work(q=0.125) - - def test_bounded_1(self): - self.work(q=1, low=2, high=4) - - def test_bounded_2(self): - self.work(q=2, low=2, high=4) - - def test_bounded_1b(self): - self.work(q=1, low=1, high=4.1) - - def test_bounded_2b(self): - self.work(q=2, low=1, high=4.1) - - -class TestSuggest(unittest.TestCase, CasePerDomain): - - def work(self): - # -- smoke test that things simply run, - # for each type of several search spaces. - trials = Trials() - fmin(passthrough, - space=self.bandit.expr, - algo=partial(tpe.suggest, n_EI_candidates=3), - trials=trials, - max_evals=10) - - -class TestOpt(unittest.TestCase, CasePerDomain): - thresholds = dict( - quadratic1=1e-5, - q1_lognormal=0.01, - distractor=-1.96, - gauss_wave=-2.0, - gauss_wave2=-2.0, - n_arms=-2.5, - many_dists=.0005, - branin=0.7, - ) - - LEN = dict( - # -- running a long way out tests overflow/underflow - # to some extent - quadratic1=1000, - many_dists=200, - distractor=100, - # XXX - q1_lognormal=250, - gauss_wave2=75, # -- boosted from 50 on Nov/2013 after new - # sampling order made thresh test fail. - branin=200, - ) - - gammas = dict( - distractor=.05, - ) - - prior_weights = dict( - distractor=.01, - ) - - n_EIs = dict( - # XXX - # -- this can be low in a few dimensions - quadratic1=5, - # -- lower number encourages exploration - # XXX: this is a damned finicky way to get TPE - # to solve the Distractor problem - distractor=15, - ) - - def setUp(self): - self.olderr = np.seterr('raise') - np.seterr(under='ignore') - - def tearDown(self, *args): - np.seterr(**self.olderr) - - def work(self): - - bandit = self.bandit - assert bandit.name is not None - algo = partial(tpe.suggest, - gamma=self.gammas.get(bandit.name, - tpe._default_gamma), - prior_weight=self.prior_weights.get(bandit.name, - tpe._default_prior_weight), - n_EI_candidates=self.n_EIs.get(bandit.name, - tpe._default_n_EI_candidates), - ) - LEN = self.LEN.get(bandit.name, 50) - - trials = Trials() - fmin(passthrough, - space=bandit.expr, - algo=algo, - trials=trials, - max_evals=LEN, - rstate=np.random.RandomState(123), - catch_eval_exceptions=False) - assert len(trials) == LEN - - if 1: - rtrials = Trials() - fmin(passthrough, - space=bandit.expr, - algo=rand.suggest, - trials=rtrials, - max_evals=LEN) - print('RANDOM MINS', list(sorted(rtrials.losses()))[:6]) - # logx = np.log([s['x'] for s in rtrials.specs]) - # print 'RND MEAN', np.mean(logx) - # print 'RND STD ', np.std(logx) - - if 0: - plt.subplot(2, 2, 1) - plt.scatter(list(range(LEN)), trials.losses()) - plt.title('TPE losses') - plt.subplot(2, 2, 2) - plt.scatter(list(range(LEN)), ([s['x'] for s in trials.specs])) - plt.title('TPE x') - plt.subplot(2, 2, 3) - plt.title('RND losses') - plt.scatter(list(range(LEN)), rtrials.losses()) - plt.subplot(2, 2, 4) - plt.title('RND x') - plt.scatter(list(range(LEN)), ([s['x'] for s in rtrials.specs])) - plt.show() - if 0: - plt.hist( - [t['x'] for t in self.experiment.trials], - bins=20) - - # print trials.losses() - print('TPE MINS', list(sorted(trials.losses()))[:6]) - # logx = np.log([s['x'] for s in trials.specs]) - # print 'TPE MEAN', np.mean(logx) - # print 'TPE STD ', np.std(logx) - thresh = self.thresholds[bandit.name] - print('Thresh', thresh) - assert min(trials.losses()) < thresh - - -@domain_constructor(loss_target=0) -def opt_q_uniform(target): - rng = np.random.RandomState(123) - x = hp.quniform('x', 1.01, 10, 1) - return {'loss': (x - target) ** 2 + scope.normal(0, 1, rng=rng), - 'status': STATUS_OK} - - -class TestOptQUniform(object): - - show_steps = False - show_vars = DO_SHOW - LEN = 25 - - def work(self, **kwargs): - self.__dict__.update(kwargs) - bandit = opt_q_uniform(self.target) - prior_weight = 2.5 - gamma = 0.20 - algo = partial(tpe.suggest, - prior_weight=prior_weight, - n_startup_jobs=2, - n_EI_candidates=128, - gamma=gamma) - # print algo.opt_idxs['x'] - # print algo.opt_vals['x'] - - trials = Trials() - fmin(passthrough, - space=bandit.expr, - algo=algo, - trials=trials, - max_evals=self.LEN) - if self.show_vars: - import hyperopt.plotting - hyperopt.plotting.main_plot_vars(trials, bandit, do_show=1) - - idxs, vals = miscs_to_idxs_vals(trials.miscs) - idxs = idxs['x'] - vals = vals['x'] - - losses = trials.losses() - - from hyperopt.tpe import ap_filter_trials - from hyperopt.tpe import adaptive_parzen_samplers - - qu = scope.quniform(1.01, 10, 1) - fn = adaptive_parzen_samplers['quniform'] - fn_kwargs = dict(size=(4,), rng=np.random) - s_below = pyll.Literal() - s_above = pyll.Literal() - b_args = [s_below, prior_weight] + qu.pos_args - b_post = fn(*b_args, **fn_kwargs) - a_args = [s_above, prior_weight] + qu.pos_args - a_post = fn(*a_args, **fn_kwargs) - - # print b_post - # print a_post - fn_lpdf = getattr(scope, a_post.name + '_lpdf') - print(fn_lpdf) - # calculate the llik of b_post under both distributions - a_kwargs = dict([(n, a) for n, a in a_post.named_args - if n not in ('rng', 'size')]) - b_kwargs = dict([(n, a) for n, a in b_post.named_args - if n not in ('rng', 'size')]) - below_llik = fn_lpdf(*([b_post] + b_post.pos_args), **b_kwargs) - above_llik = fn_lpdf(*([b_post] + a_post.pos_args), **a_kwargs) - new_node = scope.broadcast_best(b_post, below_llik, above_llik) - - print('=' * 80) - - do_show = self.show_steps - - for ii in range(2, 9): - if ii > len(idxs): - break - print('-' * 80) - print('ROUND', ii) - print('-' * 80) - all_vals = [2, 3, 4, 5, 6, 7, 8, 9, 10] - below, above = ap_filter_trials(idxs[:ii], - vals[:ii], idxs[:ii], losses[:ii], gamma) - below = below.astype('int') - above = above.astype('int') - print('BB0', below) - print('BB1', above) - # print 'BELOW', zip(range(100), np.bincount(below, minlength=11)) - # print 'ABOVE', zip(range(100), np.bincount(above, minlength=11)) - memo = {b_post: all_vals, s_below: below, s_above: above} - bl, al, nv = pyll.rec_eval([below_llik, above_llik, new_node], - memo=memo) - # print bl - al - print('BB2', dict(list(zip(all_vals, bl - al)))) - print('BB3', dict(list(zip(all_vals, bl)))) - print('BB4', dict(list(zip(all_vals, al)))) - print('ORIG PICKED', vals[ii]) - print('PROPER OPT PICKS:', nv) - - # assert np.allclose(below, [3, 3, 9]) - # assert len(below) + len(above) == len(vals) - - if do_show: - plt.subplot(8, 1, ii) - # plt.scatter(all_vals, - # np.bincount(below, minlength=11)[2:], c='b') - # plt.scatter(all_vals, - # np.bincount(above, minlength=11)[2:], c='c') - plt.scatter(all_vals, bl, c='g') - plt.scatter(all_vals, al, c='r') - if do_show: - plt.show() - - def test4(self): - self.work(target=4, LEN=100) - - def test2(self): - self.work(target=2, LEN=100) - - def test6(self): - self.work(target=6, LEN=100) - - def test10(self): - self.work(target=10, LEN=100) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_utils.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_utils.py deleted file mode 100644 index 881fab19..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_utils.py +++ /dev/null @@ -1,147 +0,0 @@ -from __future__ import print_function -from builtins import range -import numpy as np -from nose.tools import raises, eq_ -import shutil -import os -from hyperopt.utils import fast_isin -from hyperopt.utils import get_most_recent_inds -from hyperopt.utils import temp_dir, working_dir, get_closest_dir, path_split_all - - -def test_fast_isin(): - Y = np.random.randint(0, 10000, size=(100, )) - X = np.arange(10000) - Z = fast_isin(X, Y) - D = np.unique(Y) - D.sort() - T1 = (X[Z] == D).all() - - X = np.array(list(range(10000)) + list(range(10000))) - Z = fast_isin(X, Y) - T2 = (X[Z] == np.append(D, D.copy())).all() - - X = np.random.randint(0, 100, size=(40, )) - X.sort() - Y = np.random.randint(0, 100, size=(60, )) - Y.sort() - - XinY = np.array([ind for ind in range(len(X)) if X[ind] in Y]) - YinX = np.array([ind for ind in range(len(Y)) if Y[ind] in X]) - - T3 = (fast_isin(X, Y).nonzero()[0] == XinY).all() - T4 = (fast_isin(Y, X).nonzero()[0] == YinX).all() - - assert T1 & T2 & T3 & T4 - - -def test_get_most_recent_inds(): - test_data = [] - most_recent_data = [] - for ind in range(300): - k = np.random.randint(1, 6) - for _ind in range(k): - test_data.append({'_id': ind, 'version': _ind}) - most_recent_data.append({'_id': ind, 'version': _ind}) - rng = np.random.RandomState(0) - p = rng.permutation(len(test_data)) - test_data_rearranged = [test_data[_p] for _p in p] - rind = get_most_recent_inds(test_data_rearranged) - test_data_rearranged_most_recent = [test_data_rearranged[idx] for idx in rind] - assert all([t in most_recent_data for t in test_data_rearranged_most_recent]) - assert len(test_data_rearranged_most_recent) == len(most_recent_data) - - test_data = [{'_id': 0, 'version': 1}] - - assert get_most_recent_inds(test_data).tolist() == [0] - - test_data = [{'_id': 0, 'version': 1}, {'_id': 0, 'version': 2}] - assert get_most_recent_inds(test_data).tolist() == [1] - - test_data = [{'_id': 0, 'version': 1}, {'_id': 0, 'version': 2}, - {'_id': 1, 'version': 1}] - - assert get_most_recent_inds(test_data).tolist() == [1, 2] - - test_data = [{'_id': -1, 'version': 1}, {'_id': 0, 'version': 1}, - {'_id': 0, 'version': 2}, {'_id': 1, 'version': 1}] - - assert get_most_recent_inds(test_data).tolist() == [0, 2, 3] - - test_data = [{'_id': -1, 'version': 1}, {'_id': 0, 'version': 1}, - {'_id': 0, 'version': 2}, {'_id': 0, 'version': 2}] - - assert get_most_recent_inds(test_data).tolist() == [0, 3] - - -@raises(RuntimeError) -def test_temp_dir_pardir(): - with temp_dir("../test_temp_dir"): - pass - - -def test_temp_dir(): - fn = "test_temp_dir" - if os.path.exists(fn): - print("Path %s exists, not running test_temp_dir()" % fn) - return - try: - assert not os.path.exists(fn) - with temp_dir(fn): - assert os.path.exists(fn) - assert os.path.exists(fn) - os.rmdir(fn) - - assert not os.path.exists(fn) - with temp_dir(fn, erase_after=True): - assert os.path.exists(fn) - assert not os.path.exists(fn) - finally: - if os.path.isdir(fn): - os.rmdir(fn) - - -def test_path_split_all(): - ll = "foo bar baz".split() - path = os.path.join(*ll) - eq_(list(path_split_all(path)), ll) - - -def test_temp_dir_sentinel(): - from os.path import join, isdir, exists, abspath - basedir = "test_temp_dir_sentinel" - fn = join(basedir, "foo", "bar") - if exists(basedir): - print("Path %s exists, not running test_temp_dir_sentinel()" % basedir) - return - os.makedirs(basedir) - eq_(get_closest_dir(fn)[0], basedir) - eq_(get_closest_dir(fn)[1], "foo") - sentinel = join(basedir, "foo.inuse") - try: - with temp_dir(fn, erase_after=True, with_sentinel=True): - assert isdir(fn) - assert exists(sentinel) - # simulate work - open(join(fn, "dummy.txt"), "w").close() - # work file should be deleted together with directory - assert not exists(fn) - assert not exists(join(basedir, "foo")) - # basedir should still exist, though! - assert isdir(basedir) - finally: - if isdir(basedir): - shutil.rmtree(basedir) - - -def test_workdir(): - fn = "test_work_dir" - os.makedirs(fn) - try: - assert fn not in os.getcwd() - with working_dir(fn): - assert fn in os.getcwd() - assert fn not in os.getcwd() - finally: - if os.path.isdir(fn): - os.rmdir(fn) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_vectorize.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_vectorize.py deleted file mode 100644 index b8e91913..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_vectorize.py +++ /dev/null @@ -1,293 +0,0 @@ -from __future__ import print_function -from builtins import zip -import numpy as np - -from hyperopt.pyll import as_apply, scope, rec_eval, clone, dfs -from hyperopt.pyll.stochastic import recursive_set_rng_kwarg - -from hyperopt import base, fmin, rand -from hyperopt.vectorize import VectorizeHelper -from hyperopt.vectorize import replace_repeat_stochastic -from hyperopt.pyll_utils import hp_choice -from hyperopt.pyll_utils import hp_uniform -from hyperopt.pyll_utils import hp_quniform -from hyperopt.pyll_utils import hp_loguniform -from hyperopt.pyll_utils import hp_qloguniform - - -def config0(): - p0 = scope.uniform(0, 1) - p1 = scope.uniform(2, 3) - p2 = scope.one_of(-1, p0) - p3 = scope.one_of(-2, p1) - p4 = 1 - p5 = [3, 4, p0] - p6 = scope.one_of(-3, p1) - d = locals() - d['p1'] = None # -- don't sample p1 all the time, only if p3 says so - s = as_apply(d) - return s - - -def test_clone(): - config = config0() - config2 = clone(config) - - nodeset = set(dfs(config)) - assert not any(n in nodeset for n in dfs(config2)) - - foo = recursive_set_rng_kwarg( - config, - scope.rng_from_seed(5)) - r = rec_eval(foo) - print(r) - r2 = rec_eval( - recursive_set_rng_kwarg( - config2, - scope.rng_from_seed(5))) - - print(r2) - assert r == r2 - - -def test_vectorize_trivial(): - N = as_apply(15) - - p0 = hp_uniform('p0', 0, 1) - loss = p0 - print(loss) - expr_idxs = scope.range(N) - vh = VectorizeHelper(loss, expr_idxs, build=True) - vloss = vh.v_expr - - full_output = as_apply([vloss, - vh.idxs_by_label(), - vh.vals_by_label()]) - fo2 = replace_repeat_stochastic(full_output) - - new_vc = recursive_set_rng_kwarg( - fo2, - as_apply(np.random.RandomState(1)), - ) - - # print new_vc - losses, idxs, vals = rec_eval(new_vc) - print('losses', losses) - print('idxs p0', idxs['p0']) - print('vals p0', vals['p0']) - p0dct = dict(list(zip(idxs['p0'], vals['p0']))) - for ii, li in enumerate(losses): - assert p0dct[ii] == li - - -def test_vectorize_simple(): - N = as_apply(15) - - p0 = hp_uniform('p0', 0, 1) - loss = p0 ** 2 - print(loss) - expr_idxs = scope.range(N) - vh = VectorizeHelper(loss, expr_idxs, build=True) - vloss = vh.v_expr - - full_output = as_apply([vloss, - vh.idxs_by_label(), - vh.vals_by_label()]) - fo2 = replace_repeat_stochastic(full_output) - - new_vc = recursive_set_rng_kwarg( - fo2, - as_apply(np.random.RandomState(1)), - ) - - # print new_vc - losses, idxs, vals = rec_eval(new_vc) - print('losses', losses) - print('idxs p0', idxs['p0']) - print('vals p0', vals['p0']) - p0dct = dict(list(zip(idxs['p0'], vals['p0']))) - for ii, li in enumerate(losses): - assert p0dct[ii] ** 2 == li - - -def test_vectorize_multipath(): - N = as_apply(15) - - p0 = hp_uniform('p0', 0, 1) - loss = hp_choice('p1', [1, p0, -p0]) ** 2 - expr_idxs = scope.range(N) - vh = VectorizeHelper(loss, expr_idxs, build=True) - - vloss = vh.v_expr - print(vloss) - - full_output = as_apply([vloss, - vh.idxs_by_label(), - vh.vals_by_label()]) - - new_vc = recursive_set_rng_kwarg( - full_output, - as_apply(np.random.RandomState(1)), - ) - - losses, idxs, vals = rec_eval(new_vc) - print('losses', losses) - print('idxs p0', idxs['p0']) - print('vals p0', vals['p0']) - print('idxs p1', idxs['p1']) - print('vals p1', vals['p1']) - p0dct = dict(list(zip(idxs['p0'], vals['p0']))) - p1dct = dict(list(zip(idxs['p1'], vals['p1']))) - for ii, li in enumerate(losses): - print(ii, li) - if p1dct[ii] != 0: - assert li == p0dct[ii] ** 2 - else: - assert li == 1 - - -def test_vectorize_config0(): - p0 = hp_uniform('p0', 0, 1) - p1 = hp_loguniform('p1', 2, 3) - p2 = hp_choice('p2', [-1, p0]) - p3 = hp_choice('p3', [-2, p1]) - p4 = 1 - p5 = [3, 4, p0] - p6 = hp_choice('p6', [-3, p1]) - d = locals() - d['p1'] = None # -- don't sample p1 all the time, only if p3 says so - config = as_apply(d) - - N = as_apply('N:TBA') - expr = config - expr_idxs = scope.range(N) - vh = VectorizeHelper(expr, expr_idxs, build=True) - vconfig = vh.v_expr - - full_output = as_apply([vconfig, vh.idxs_by_label(), vh.vals_by_label()]) - - if 1: - print('=' * 80) - print('VECTORIZED') - print(full_output) - print('\n' * 1) - - fo2 = replace_repeat_stochastic(full_output) - if 0: - print('=' * 80) - print('VECTORIZED STOCHASTIC') - print(fo2) - print('\n' * 1) - - new_vc = recursive_set_rng_kwarg( - fo2, - as_apply(np.random.RandomState(1)) - ) - if 0: - print('=' * 80) - print('VECTORIZED STOCHASTIC WITH RNGS') - print(new_vc) - - Nval = 10 - foo, idxs, vals = rec_eval(new_vc, memo={N: Nval}) - - print('foo[0]', foo[0]) - print('foo[1]', foo[1]) - assert len(foo) == Nval - if 0: # XXX refresh these values to lock down sampler - assert foo[0] == { - 'p0': 0.39676747423066994, - 'p1': None, - 'p2': 0.39676747423066994, - 'p3': 2.1281244479293568, - 'p4': 1, - 'p5': (3, 4, 0.39676747423066994)} - assert foo[1] != foo[2] - - print(idxs) - print(vals['p3']) - print(vals['p6']) - print(idxs['p1']) - print(vals['p1']) - assert len(vals['p3']) == Nval - assert len(vals['p6']) == Nval - assert len(idxs['p1']) < Nval - p1d = dict(list(zip(idxs['p1'], vals['p1']))) - for ii, (p3v, p6v) in enumerate(zip(vals['p3'], vals['p6'])): - if p3v == p6v == 0: - assert ii not in idxs['p1'] - if p3v: - assert foo[ii]['p3'] == p1d[ii] - if p6v: - print('p6', foo[ii]['p6'], p1d[ii]) - assert foo[ii]['p6'] == p1d[ii] - - -def test_distributions(): - # test that the distributions come out right - - # XXX: test more distributions - space = { - 'loss': ( - hp_loguniform('lu', -2, 2) + - hp_qloguniform('qlu', np.log(1 + 0.01), np.log(20), 2) + - hp_quniform('qu', -4.999, 5, 1) + - hp_uniform('u', 0, 10)), - 'status': 'ok'} - trials = base.Trials() - N = 1000 - fmin(lambda x: x, - space=space, - algo=rand.suggest, - trials=trials, - max_evals=N, - rstate=np.random.RandomState(124), - catch_eval_exceptions=False) - assert len(trials) == N - idxs, vals = base.miscs_to_idxs_vals(trials.miscs) - print(list(idxs.keys())) - - COUNTMAX = 130 - COUNTMIN = 70 - - # -- loguniform - log_lu = np.log(vals['lu']) - assert len(log_lu) == N - assert -2 < np.min(log_lu) - assert np.max(log_lu) < 2 - h = np.histogram(log_lu)[0] - print(h) - assert np.all(COUNTMIN < h) - assert np.all(h < COUNTMAX) - - # -- quantized log uniform - qlu = vals['qlu'] - assert np.all(np.fmod(qlu, 2) == 0) - assert np.min(qlu) == 2 - assert np.max(qlu) == 20 - bc_qlu = np.bincount(qlu) - assert bc_qlu[2] > bc_qlu[4] > bc_qlu[6] > bc_qlu[8] - - # -- quantized uniform - qu = vals['qu'] - assert np.min(qu) == -5 - assert np.max(qu) == 5 - assert np.all(np.fmod(qu, 1) == 0) - bc_qu = np.bincount(np.asarray(qu).astype('int') + 5) - assert np.all(40 < bc_qu), bc_qu # XXX: how to get the distribution flat - # with new rounding rule? - assert np.all(bc_qu < 125), bc_qu - assert np.all(bc_qu < COUNTMAX) - - # -- uniform - u = vals['u'] - assert np.min(u) > 0 - assert np.max(u) < 10 - h = np.histogram(u)[0] - print(h) - assert np.all(COUNTMIN < h) - assert np.all(h < COUNTMAX) - - # import matplotlib.pyplot as plt - # plt.hist(np.log(vals['node_2'])) - # plt.show() diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_webpage.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_webpage.py deleted file mode 100644 index e5ec288b..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tests/test_webpage.py +++ /dev/null @@ -1,32 +0,0 @@ -from __future__ import print_function - - -def test_landing_screen(): - - # define an objective function - def objective(args): - case, val = args - if case == 'case 1': - return val - else: - return val ** 2 - - # define a search space - from hyperopt import hp - space = hp.choice('a', - [ - ('case 1', 1 + hp.lognormal('c1', 0, 1)), - ('case 2', hp.uniform('c2', -10, 10)) - ]) - - # minimize the objective over the space - import hyperopt - best = hyperopt.fmin(objective, space, - algo=hyperopt.tpe.suggest, - max_evals=100) - - print(best) - # -> {'a': 1, 'c2': 0.01420615366247227} - - print(hyperopt.space_eval(space, best)) - # -> ('case 2', 0.01420615366247227} diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tpe.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tpe.py deleted file mode 100644 index 1bce21cf..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/tpe.py +++ /dev/null @@ -1,893 +0,0 @@ -""" -Graphical model (GM)-based optimization algorithm using Theano -""" -from __future__ import print_function -from __future__ import absolute_import -from __future__ import division -from builtins import str -from builtins import map -from builtins import zip -from builtins import range -from past.utils import old_div -import logging -import time - -import numpy as np -from scipy.special import erf -from . import pyll -from .pyll import scope -from .pyll.stochastic import implicit_stochastic - -from .base import miscs_to_idxs_vals -from .base import miscs_update_idxs_vals -# from .base import Trials -from . import rand - -__authors__ = "James Bergstra" -__license__ = "3-clause BSD License" -__contact__ = "github.com/jaberg/hyperopt" -logger = logging.getLogger(__name__) - -EPS = 1e-12 - -# -- default linear forgetting. don't try to change by writing this variable -# because it's captured in function default args when this file is read -DEFAULT_LF = 25 - - -adaptive_parzen_samplers = {} - - -def adaptive_parzen_sampler(name): - def wrapper(f): - assert name not in adaptive_parzen_samplers - adaptive_parzen_samplers[name] = f - return f - return wrapper - - -# -# These are some custom distributions -# that are used to represent posterior distributions. -# - -# -- Categorical - -@scope.define -def categorical_lpdf(sample, p, upper): - """ - """ - if sample.size: - return np.log(np.asarray(p)[sample]) - else: - return np.asarray([]) - - -# -- Bounded Gaussian Mixture Model (BGMM) - -@implicit_stochastic -@scope.define -def GMM1(weights, mus, sigmas, low=None, high=None, q=None, rng=None, - size=()): - """Sample from truncated 1-D Gaussian Mixture Model""" - weights, mus, sigmas = list(map(np.asarray, (weights, mus, sigmas))) - assert len(weights) == len(mus) == len(sigmas) - n_samples = np.prod(size) - # n_components = len(weights) - if low is None and high is None: - # -- draw from a standard GMM - active = np.argmax(rng.multinomial(1, weights, (n_samples,)), axis=1) - samples = rng.normal(loc=mus[active], scale=sigmas[active]) - else: - # -- draw from truncated components - # TODO: one-sided-truncation - low = float(low) - high = float(high) - if low >= high: - raise ValueError('low >= high', (low, high)) - samples = [] - while len(samples) < n_samples: - active = np.argmax(rng.multinomial(1, weights)) - draw = rng.normal(loc=mus[active], scale=sigmas[active]) - if low <= draw < high: - samples.append(draw) - samples = np.reshape(np.asarray(samples), size) - # print 'SAMPLES', samples - if q is None: - return samples - else: - return np.round(old_div(samples, q)) * q - - -@scope.define -def normal_cdf(x, mu, sigma): - top = (x - mu) - bottom = np.maximum(np.sqrt(2) * sigma, EPS) - z = old_div(top, bottom) - return 0.5 * (1 + erf(z)) - - -@scope.define -def GMM1_lpdf(samples, weights, mus, sigmas, low=None, high=None, q=None): - verbose = 0 - samples, weights, mus, sigmas = list(map(np.asarray, - (samples, weights, mus, sigmas))) - if samples.size == 0: - return np.asarray([]) - if weights.ndim != 1: - raise TypeError('need vector of weights', weights.shape) - if mus.ndim != 1: - raise TypeError('need vector of mus', mus.shape) - if sigmas.ndim != 1: - raise TypeError('need vector of sigmas', sigmas.shape) - assert len(weights) == len(mus) == len(sigmas) - _samples = samples - samples = _samples.flatten() - - if verbose: - print('GMM1_lpdf:samples', set(samples)) - print('GMM1_lpdf:weights', weights) - print('GMM1_lpdf:mus', mus) - print('GMM1_lpdf:sigmas', sigmas) - print('GMM1_lpdf:low', low) - print('GMM1_lpdf:high', high) - print('GMM1_lpdf:q', q) - - if low is None and high is None: - p_accept = 1 - else: - p_accept = np.sum( - weights * ( - normal_cdf(high, mus, sigmas) - - normal_cdf(low, mus, sigmas))) - - if q is None: - dist = samples[:, None] - mus - mahal = (old_div(dist, np.maximum(sigmas, EPS))) ** 2 - # mahal shape is (n_samples, n_components) - Z = np.sqrt(2 * np.pi * sigmas ** 2) - coef = weights / Z / p_accept - rval = logsum_rows(- 0.5 * mahal + np.log(coef)) - else: - prob = np.zeros(samples.shape, dtype='float64') - for w, mu, sigma in zip(weights, mus, sigmas): - if high is None: - ubound = samples + old_div(q, 2.0) - else: - ubound = np.minimum(samples + old_div(q, 2.0), high) - if low is None: - lbound = samples - old_div(q, 2.0) - else: - lbound = np.maximum(samples - old_div(q, 2.0), low) - # -- two-stage addition is slightly more numerically accurate - inc_amt = w * normal_cdf(ubound, mu, sigma) - inc_amt -= w * normal_cdf(lbound, mu, sigma) - prob += inc_amt - rval = np.log(prob) - np.log(p_accept) - - if verbose: - print('GMM1_lpdf:rval:', dict(list(zip(samples, rval)))) - - rval.shape = _samples.shape - return rval - - -# -- Mixture of Log-Normals - -@scope.define -def lognormal_cdf(x, mu, sigma): - # wikipedia claims cdf is - # .5 + .5 erf( log(x) - mu / sqrt(2 sigma^2)) - # - # the maximum is used to move negative values and 0 up to a point - # where they do not cause nan or inf, but also don't contribute much - # to the cdf. - if len(x) == 0: - return np.asarray([]) - if x.min() < 0: - raise ValueError('negative arg to lognormal_cdf', x) - olderr = np.seterr(divide='ignore') - try: - top = np.log(np.maximum(x, EPS)) - mu - bottom = np.maximum(np.sqrt(2) * sigma, EPS) - z = old_div(top, bottom) - return .5 + .5 * erf(z) - finally: - np.seterr(**olderr) - - -@scope.define -def lognormal_lpdf(x, mu, sigma): - # formula copied from wikipedia - # http://en.wikipedia.org/wiki/Log-normal_distribution - assert np.all(sigma >= 0) - sigma = np.maximum(sigma, EPS) - Z = sigma * x * np.sqrt(2 * np.pi) - E = 0.5 * (old_div((np.log(x) - mu), sigma)) ** 2 - rval = -E - np.log(Z) - return rval - - -@scope.define -def qlognormal_lpdf(x, mu, sigma, q): - # casting rounds up to nearest step multiple. - # so lpdf is log of integral from x-step to x+1 of P(x) - - # XXX: subtracting two numbers potentially very close together. - return np.log( - lognormal_cdf(x, mu, sigma) - - lognormal_cdf(x - q, mu, sigma)) - - -@implicit_stochastic -@scope.define -def LGMM1(weights, mus, sigmas, low=None, high=None, q=None, - rng=None, size=()): - weights, mus, sigmas = list(map(np.asarray, (weights, mus, sigmas))) - n_samples = np.prod(size) - # n_components = len(weights) - if low is None and high is None: - active = np.argmax( - rng.multinomial(1, weights, (n_samples,)), - axis=1) - assert len(active) == n_samples - samples = np.exp( - rng.normal( - loc=mus[active], - scale=sigmas[active])) - else: - # -- draw from truncated components - # TODO: one-sided-truncation - low = float(low) - high = float(high) - if low >= high: - raise ValueError('low >= high', (low, high)) - samples = [] - while len(samples) < n_samples: - active = np.argmax(rng.multinomial(1, weights)) - draw = rng.normal(loc=mus[active], scale=sigmas[active]) - if low <= draw < high: - samples.append(np.exp(draw)) - samples = np.asarray(samples) - - samples = np.reshape(np.asarray(samples), size) - if q is not None: - samples = np.round(old_div(samples, q)) * q - return samples - - -def logsum_rows(x): - R, C = x.shape - m = x.max(axis=1) - return np.log(np.exp(x - m[:, None]).sum(axis=1)) + m - - -@scope.define -def LGMM1_lpdf(samples, weights, mus, sigmas, low=None, high=None, q=None): - samples, weights, mus, sigmas = list(map(np.asarray, - (samples, weights, mus, sigmas))) - assert weights.ndim == 1 - assert mus.ndim == 1 - assert sigmas.ndim == 1 - _samples = samples - if samples.ndim != 1: - samples = samples.flatten() - - if low is None and high is None: - p_accept = 1 - else: - p_accept = np.sum( - weights * ( - normal_cdf(high, mus, sigmas) - - normal_cdf(low, mus, sigmas))) - - if q is None: - # compute the lpdf of each sample under each component - lpdfs = lognormal_lpdf(samples[:, None], mus, sigmas) - rval = logsum_rows(lpdfs + np.log(weights)) - else: - # compute the lpdf of each sample under each component - prob = np.zeros(samples.shape, dtype='float64') - for w, mu, sigma in zip(weights, mus, sigmas): - if high is None: - ubound = samples + old_div(q, 2.0) - else: - ubound = np.minimum(samples + old_div(q, 2.0), np.exp(high)) - if low is None: - lbound = samples - old_div(q, 2.0) - else: - lbound = np.maximum(samples - old_div(q, 2.0), np.exp(low)) - lbound = np.maximum(0, lbound) - # -- two-stage addition is slightly more numerically accurate - inc_amt = w * lognormal_cdf(ubound, mu, sigma) - inc_amt -= w * lognormal_cdf(lbound, mu, sigma) - prob += inc_amt - rval = np.log(prob) - np.log(p_accept) - rval.shape = _samples.shape - return rval - - -# -# This is the weird heuristic ParzenWindow estimator used for continuous -# distributions in various ways. -# - -@scope.define_info(o_len=3) -def adaptive_parzen_normal_orig(mus, prior_weight, prior_mu, prior_sigma): - """ - A heuristic estimator for the mu and sigma values of a GMM - TODO: try to find this heuristic in the literature, and cite it - Yoshua - mentioned the term 'elastic' I think? - - mus - matrix (N, M) of M, N-dimensional component centers - """ - mus_orig = np.array(mus) - mus = np.array(mus) - assert str(mus.dtype) != 'object' - - if mus.ndim != 1: - raise TypeError('mus must be vector', mus) - if len(mus) == 0: - mus = np.asarray([prior_mu]) - sigma = np.asarray([prior_sigma]) - elif len(mus) == 1: - mus = np.asarray([prior_mu] + [mus[0]]) - sigma = np.asarray([prior_sigma, prior_sigma * .5]) - elif len(mus) >= 2: - order = np.argsort(mus) - mus = mus[order] - sigma = np.zeros_like(mus) - sigma[1:-1] = np.maximum( - mus[1:-1] - mus[0:-2], - mus[2:] - mus[1:-1]) - if len(mus) > 2: - lsigma = mus[2] - mus[0] - usigma = mus[-1] - mus[-3] - else: - lsigma = mus[1] - mus[0] - usigma = mus[-1] - mus[-2] - - sigma[0] = lsigma - sigma[-1] = usigma - - # XXX: is sorting them necessary anymore? - # un-sort the mus and sigma - mus[order] = mus.copy() - sigma[order] = sigma.copy() - - if not np.all(mus_orig == mus): - print('orig', mus_orig) - print('mus', mus) - assert np.all(mus_orig == mus) - - # put the prior back in - mus = np.asarray([prior_mu] + list(mus)) - sigma = np.asarray([prior_sigma] + list(sigma)) - - maxsigma = prior_sigma - # -- magic formula: - minsigma = old_div(prior_sigma, np.sqrt(1 + len(mus))) - - sigma = np.clip(sigma, minsigma, maxsigma) - - weights = np.ones(len(mus), dtype=mus.dtype) - weights[0] = prior_weight - - weights = old_div(weights, weights.sum()) - if 0: - print('WEIGHTS', weights) - print('MUS', mus) - print('SIGMA', sigma) - - return weights, mus, sigma - - -@scope.define -def linear_forgetting_weights(N, LF): - assert N >= 0 - assert LF > 0 - if N == 0: - return np.asarray([]) - elif N < LF: - return np.ones(N) - else: - ramp = np.linspace(old_div(1.0, N), 1.0, num=N - LF) - flat = np.ones(LF) - weights = np.concatenate([ramp, flat], axis=0) - assert weights.shape == (N,), (weights.shape, N) - return weights - -# XXX: make TPE do a post-inference pass over the pyll graph and insert -# non-default LF argument - - -@scope.define_info(o_len=3) -def adaptive_parzen_normal(mus, prior_weight, prior_mu, prior_sigma, - LF=DEFAULT_LF): - """ - mus - matrix (N, M) of M, N-dimensional component centers - """ - mus = np.array(mus) - assert str(mus.dtype) != 'object' - - if mus.ndim != 1: - raise TypeError('mus must be vector', mus) - if len(mus) == 0: - srtd_mus = np.asarray([prior_mu]) - sigma = np.asarray([prior_sigma]) - prior_pos = 0 - elif len(mus) == 1: - if prior_mu < mus[0]: - prior_pos = 0 - srtd_mus = np.asarray([prior_mu, mus[0]]) - sigma = np.asarray([prior_sigma, prior_sigma * .5]) - else: - prior_pos = 1 - srtd_mus = np.asarray([mus[0], prior_mu]) - sigma = np.asarray([prior_sigma * .5, prior_sigma]) - elif len(mus) >= 2: - - # create new_mus, which is sorted, and in which - # the prior has been inserted - order = np.argsort(mus) - prior_pos = np.searchsorted(mus[order], prior_mu) - srtd_mus = np.zeros(len(mus) + 1) - srtd_mus[:prior_pos] = mus[order[:prior_pos]] - srtd_mus[prior_pos] = prior_mu - srtd_mus[prior_pos + 1:] = mus[order[prior_pos:]] - sigma = np.zeros_like(srtd_mus) - sigma[1:-1] = np.maximum( - srtd_mus[1:-1] - srtd_mus[0:-2], - srtd_mus[2:] - srtd_mus[1:-1]) - lsigma = srtd_mus[1] - srtd_mus[0] - usigma = srtd_mus[-1] - srtd_mus[-2] - sigma[0] = lsigma - sigma[-1] = usigma - - if LF and LF < len(mus): - unsrtd_weights = linear_forgetting_weights(len(mus), LF) - srtd_weights = np.zeros_like(srtd_mus) - assert len(unsrtd_weights) + 1 == len(srtd_mus) - srtd_weights[:prior_pos] = unsrtd_weights[order[:prior_pos]] - srtd_weights[prior_pos] = prior_weight - srtd_weights[prior_pos + 1:] = unsrtd_weights[order[prior_pos:]] - - else: - srtd_weights = np.ones(len(srtd_mus)) - srtd_weights[prior_pos] = prior_weight - - # -- magic formula: - maxsigma = old_div(prior_sigma, 1.0) - minsigma = old_div(prior_sigma, min(100.0, (1.0 + len(srtd_mus)))) - - sigma = np.clip(sigma, minsigma, maxsigma) - - sigma[prior_pos] = prior_sigma - assert prior_sigma > 0 - assert maxsigma > 0 - assert minsigma > 0 - assert np.all(sigma > 0), (sigma.min(), minsigma, maxsigma) - - srtd_weights /= srtd_weights.sum() - if 0: - print('WEIGHTS', srtd_weights) - print('MUS', srtd_mus) - print('SIGMA', sigma) - - return srtd_weights, srtd_mus, sigma - -# -# Adaptive Parzen Samplers -# These produce conditional estimators for various prior distributions -# - -# -- Uniform - - -@adaptive_parzen_sampler('uniform') -def ap_uniform_sampler(obs, prior_weight, low, high, size=(), rng=None): - prior_mu = 0.5 * (high + low) - prior_sigma = 1.0 * (high - low) - weights, mus, sigmas = scope.adaptive_parzen_normal(obs, - prior_weight, prior_mu, prior_sigma) - return scope.GMM1(weights, mus, sigmas, low=low, high=high, q=None, - size=size, rng=rng) - - -@adaptive_parzen_sampler('quniform') -def ap_quniform_sampler(obs, prior_weight, low, high, q, size=(), rng=None): - prior_mu = 0.5 * (high + low) - prior_sigma = 1.0 * (high - low) - weights, mus, sigmas = scope.adaptive_parzen_normal(obs, - prior_weight, prior_mu, prior_sigma) - return scope.GMM1(weights, mus, sigmas, low=low, high=high, q=q, - size=size, rng=rng) - - -@adaptive_parzen_sampler('loguniform') -def ap_loguniform_sampler(obs, prior_weight, low, high, - size=(), rng=None): - prior_mu = 0.5 * (high + low) - prior_sigma = 1.0 * (high - low) - weights, mus, sigmas = scope.adaptive_parzen_normal( - scope.log(obs), prior_weight, prior_mu, prior_sigma) - rval = scope.LGMM1(weights, mus, sigmas, low=low, high=high, - size=size, rng=rng) - return rval - - -@adaptive_parzen_sampler('qloguniform') -def ap_qloguniform_sampler(obs, prior_weight, low, high, q, - size=(), rng=None): - prior_mu = 0.5 * (high + low) - prior_sigma = 1.0 * (high - low) - weights, mus, sigmas = scope.adaptive_parzen_normal( - scope.log( - # -- map observations that were quantized to be below exp(low) - # (particularly 0) back up to exp(low) where they will - # interact in a reasonable way with the AdaptiveParzen - # thing. - scope.maximum( - obs, - scope.maximum( # -- protect against exp(low) underflow - EPS, - scope.exp(low)))), - prior_weight, prior_mu, prior_sigma) - return scope.LGMM1(weights, mus, sigmas, low, high, q=q, - size=size, rng=rng) - - -# -- Normal - -@adaptive_parzen_sampler('normal') -def ap_normal_sampler(obs, prior_weight, mu, sigma, size=(), rng=None): - weights, mus, sigmas = scope.adaptive_parzen_normal( - obs, prior_weight, mu, sigma) - return scope.GMM1(weights, mus, sigmas, size=size, rng=rng) - - -@adaptive_parzen_sampler('qnormal') -def ap_qnormal_sampler(obs, prior_weight, mu, sigma, q, size=(), rng=None): - weights, mus, sigmas = scope.adaptive_parzen_normal( - obs, prior_weight, mu, sigma) - return scope.GMM1(weights, mus, sigmas, q=q, size=size, rng=rng) - - -@adaptive_parzen_sampler('lognormal') -def ap_loglognormal_sampler(obs, prior_weight, mu, sigma, size=(), rng=None): - weights, mus, sigmas = scope.adaptive_parzen_normal( - scope.log(obs), prior_weight, mu, sigma) - rval = scope.LGMM1(weights, mus, sigmas, size=size, rng=rng) - return rval - - -@adaptive_parzen_sampler('qlognormal') -def ap_qlognormal_sampler(obs, prior_weight, mu, sigma, q, size=(), rng=None): - log_obs = scope.log(scope.maximum(obs, EPS)) - weights, mus, sigmas = scope.adaptive_parzen_normal( - log_obs, prior_weight, mu, sigma) - rval = scope.LGMM1(weights, mus, sigmas, q=q, size=size, rng=rng) - return rval - - -# -- Categorical - -@adaptive_parzen_sampler('randint') -def ap_categorical_sampler(obs, prior_weight, upper, - size=(), rng=None, LF=DEFAULT_LF): - weights = scope.linear_forgetting_weights(scope.len(obs), LF=LF) - counts = scope.bincount(obs, minlength=upper, weights=weights) - # -- add in some prior pseudocounts - pseudocounts = counts + prior_weight - return scope.categorical(old_div(pseudocounts, scope.sum(pseudocounts)), - upper=upper, size=size, rng=rng) - - -# @adaptive_parzen_sampler('categorical') -# def ap_categorical_sampler(obs, prior_weight, p, upper, size=(), rng=None, -# LF=DEFAULT_LF): -# return scope.categorical(p, upper, size=size, rng -# =rng) - -@scope.define -def tpe_cat_pseudocounts(counts, upper, prior_weight, p, size): - if size == 0 or np.prod(size) == 0: - return [] - if p.ndim == 2: - assert np.all(p == p[0]) - p = p[0] - pseudocounts = counts + upper * (prior_weight * p) - return old_div(pseudocounts, np.sum(pseudocounts)) - - -# TODO: this seems to be a redefinition of the function -# starting in line 573. -@adaptive_parzen_sampler('categorical') -def ap_categorical_sampler(obs, prior_weight, p, upper=None, - size=(), rng=None, LF=DEFAULT_LF): - weights = scope.linear_forgetting_weights(scope.len(obs), LF=LF) - counts = scope.bincount(obs, minlength=upper, weights=weights) - pseudocounts = scope.tpe_cat_pseudocounts(counts, upper, prior_weight, p, size) - return scope.categorical(pseudocounts, upper=upper, size=size, rng=rng) - -# -# Posterior clone performs symbolic inference on the pyll graph of priors. -# - - -@scope.define_info(o_len=2) -def ap_filter_trials(o_idxs, o_vals, l_idxs, l_vals, gamma, - gamma_cap=DEFAULT_LF): - """Return the elements of o_vals that correspond to trials whose losses - were above gamma, or below gamma. - """ - o_idxs, o_vals, l_idxs, l_vals = list(map(np.asarray, - [o_idxs, o_vals, l_idxs, l_vals])) - - # XXX if this is working, refactor this sort for efficiency - - # Splitting is done this way to cope with duplicate loss values. - n_below = min(int(np.ceil(gamma * np.sqrt(len(l_vals)))), gamma_cap) - l_order = np.argsort(l_vals) - - keep_idxs = set(l_idxs[l_order[:n_below]]) - below = [v for i, v in zip(o_idxs, o_vals) if i in keep_idxs] - - if 0: - print('DEBUG: thresh', l_vals[l_order[:n_below]]) - - keep_idxs = set(l_idxs[l_order[n_below:]]) - above = [v for i, v in zip(o_idxs, o_vals) if i in keep_idxs] - - return np.asarray(below), np.asarray(above) - - -def build_posterior(specs, prior_idxs, prior_vals, obs_idxs, obs_vals, - oloss_idxs, oloss_vals, oloss_gamma, prior_weight): - """ - This method clones a posterior inference graph by iterating forward in - topological order, and replacing prior random-variables (prior_vals) with - new posterior distributions that make use of observations (obs_vals). - - """ - assert all(isinstance(arg, pyll.Apply) - for arg in [oloss_idxs, oloss_vals, oloss_gamma]) - - expr = pyll.as_apply([specs, prior_idxs, prior_vals]) - nodes = pyll.dfs(expr) - - # build the joint posterior distribution as the values in this memo - memo = {} - # map prior RVs to observations - obs_memo = {} - - for nid in prior_vals: - # construct the leading args for each call to adaptive_parzen_sampler - # which will permit the "adaptive parzen samplers" to adapt to the - # correct samples. - obs_below, obs_above = scope.ap_filter_trials( - obs_idxs[nid], obs_vals[nid], - oloss_idxs, oloss_vals, oloss_gamma) - obs_memo[prior_vals[nid]] = [obs_below, obs_above] - for node in nodes: - if node not in memo: - new_inputs = [memo[arg] for arg in node.inputs()] - if node in obs_memo: - # -- this case corresponds to an observed Random Var - # node.name is a distribution like "normal", "randint", etc. - obs_below, obs_above = obs_memo[node] - aa = [memo[a] for a in node.pos_args] - fn = adaptive_parzen_samplers[node.name] - b_args = [obs_below, prior_weight] + aa - named_args = [[kw, memo[arg]] - for (kw, arg) in node.named_args] - b_post = fn(*b_args, **dict(named_args)) - a_args = [obs_above, prior_weight] + aa - a_post = fn(*a_args, **dict(named_args)) - - assert a_post.name == b_post.name - fn_lpdf = getattr(scope, a_post.name + '_lpdf') - a_kwargs = dict([(n, a) for n, a in a_post.named_args - if n not in ('rng', 'size')]) - b_kwargs = dict([(n, a) for n, a in b_post.named_args - if n not in ('rng', 'size')]) - - # calculate the llik of b_post under both distributions - below_llik = fn_lpdf(*([b_post] + b_post.pos_args), **b_kwargs) - above_llik = fn_lpdf(*([b_post] + a_post.pos_args), **a_kwargs) - - # improvement = below_llik - above_llik - # new_node = scope.broadcast_best(b_post, improvement) - new_node = scope.broadcast_best(b_post, below_llik, above_llik) - elif hasattr(node, 'obj'): - # -- keep same literals in the graph - new_node = node - else: - # -- this case is for all the other stuff in the graph - new_node = node.clone_from_inputs(new_inputs) - memo[node] = new_node - post_specs = memo[specs] - post_idxs = dict([(nid, memo[idxs]) - for nid, idxs in list(prior_idxs.items())]) - post_vals = dict([(nid, memo[vals]) - for nid, vals in list(prior_vals.items())]) - assert set(post_idxs.keys()) == set(post_vals.keys()) - assert set(post_idxs.keys()) == set(prior_idxs.keys()) - return post_specs, post_idxs, post_vals - - -@scope.define -def idxs_prod(full_idxs, idxs_by_label, llik_by_label): - """Add all of the log-likelihoods together by id. - - Example arguments: - full_idxs = [0, 1, ... N-1] - idxs_by_label = {'node_a': [1, 3], 'node_b': [3]} - llik_by_label = {'node_a': [0.1, -3.3], node_b: [1.0]} - - This would return N elements: [0, 0.1, 0, -2.3, 0, 0, ... ] - """ - assert len(set(full_idxs)) == len(full_idxs) - full_idxs = list(full_idxs) - rval = np.zeros(len(full_idxs)) - pos_of_tid = dict(list(zip(full_idxs, list(range(len(full_idxs)))))) - assert set(idxs_by_label.keys()) == set(llik_by_label.keys()) - for nid in idxs_by_label: - idxs = idxs_by_label[nid] - llik = llik_by_label[nid] - assert np.all(np.asarray(idxs) > 1) - assert len(set(idxs)) == len(idxs) - assert len(idxs) == len(llik) - for ii, ll in zip(idxs, llik): - rval[pos_of_tid[ii]] += ll - return rval - - -@scope.define -def broadcast_best(samples, below_llik, above_llik): - if len(samples): - score = below_llik - above_llik - if len(samples) != len(score): - raise ValueError() - best = np.argmax(score) - return [samples[best]] * len(samples) - else: - return [] - - -_default_prior_weight = 1.0 - -# -- suggest best of this many draws on every iteration -_default_n_EI_candidates = 24 - -# -- gamma * sqrt(n_trials) is fraction of to use as good -_default_gamma = 0.25 - -_default_n_startup_jobs = 20 - -_default_linear_forgetting = DEFAULT_LF - - -def tpe_transform(domain, prior_weight, gamma): - s_prior_weight = pyll.Literal(float(prior_weight)) - - # -- these dummy values will be replaced in suggest1() and never used - observed = dict( - idxs=pyll.Literal(), - vals=pyll.Literal()) - observed_loss = dict( - idxs=pyll.Literal(), - vals=pyll.Literal()) - - specs, idxs, vals = build_posterior( - # -- vectorized clone of bandit template - domain.vh.v_expr, - # -- this dict and next represent prior dists - domain.vh.idxs_by_label(), - domain.vh.vals_by_label(), - observed['idxs'], - observed['vals'], - observed_loss['idxs'], - observed_loss['vals'], - pyll.Literal(gamma), - s_prior_weight - ) - - return (s_prior_weight, observed, observed_loss, - specs, idxs, vals) - - -def suggest(new_ids, domain, trials, seed, - prior_weight=_default_prior_weight, - n_startup_jobs=_default_n_startup_jobs, - n_EI_candidates=_default_n_EI_candidates, - gamma=_default_gamma, - linear_forgetting=_default_linear_forgetting, - ): - - new_id = new_ids[0] - - t0 = time.time() - (s_prior_weight, observed, observed_loss, specs, opt_idxs, opt_vals) \ - = tpe_transform(domain, prior_weight, gamma) - tt = time.time() - t0 - logger.info('tpe_transform took %f seconds' % tt) - - best_docs = dict() - best_docs_loss = dict() - for doc in trials.trials: - # get either this docs own tid or the one that it's from - tid = doc['misc'].get('from_tid', doc['tid']) - loss = domain.loss(doc['result'], doc['spec']) - if loss is None: - # -- associate infinite loss to new/running/failed jobs - loss = float('inf') - else: - loss = float(loss) - best_docs_loss.setdefault(tid, loss) - if loss <= best_docs_loss[tid]: - best_docs_loss[tid] = loss - best_docs[tid] = doc - - tid_docs = list(best_docs.items()) - # -- sort docs by order of suggestion - # so that linear_forgetting removes the oldest ones - tid_docs.sort() - losses = [best_docs_loss[k] for k, v in tid_docs] - tids = [k for k, v in tid_docs] - docs = [v for k, v in tid_docs] - - if docs: - logger.info('TPE using %i/%i trials with best loss %f' % ( - len(docs), len(trials), min(best_docs_loss.values()))) - else: - logger.info('TPE using 0 trials') - - if len(docs) < n_startup_jobs: - # N.B. THIS SEEDS THE RNG BASED ON THE new_id - return rand.suggest(new_ids, domain, trials, seed) - - # Sample and compute log-probability. - if tids: - # -- the +2 co-ordinates with an assertion above - # to ensure that fake ids are used during sampling - fake_id_0 = max(max(tids), new_id) + 2 - else: - # -- weird - we're running the TPE algo from scratch - assert n_startup_jobs <= 0 - fake_id_0 = new_id + 2 - - fake_ids = list(range(fake_id_0, fake_id_0 + n_EI_candidates)) - - # -- this dictionary will map pyll nodes to the values - # they should take during the evaluation of the pyll program - memo = { - domain.s_new_ids: fake_ids, - domain.s_rng: np.random.RandomState(seed), - } - - o_idxs_d, o_vals_d = miscs_to_idxs_vals( - [d['misc'] for d in docs], keys=list(domain.params.keys())) - memo[observed['idxs']] = o_idxs_d - memo[observed['vals']] = o_vals_d - - memo[observed_loss['idxs']] = tids - memo[observed_loss['vals']] = losses - - idxs, vals = pyll.rec_eval([opt_idxs, opt_vals], memo=memo, - print_node_on_error=False) - - # -- retrieve the best of the samples and form the return tuple - # the build_posterior makes all specs the same - - rval_specs = [None] # -- specs are deprecated - rval_results = [domain.new_result()] - rval_miscs = [dict(tid=new_id, cmd=domain.cmd, workdir=domain.workdir)] - - miscs_update_idxs_vals(rval_miscs, idxs, vals, - idxs_map={fake_ids[0]: new_id}, - assert_all_vals_used=False) - rval_docs = trials.new_trial_docs([new_id], - rval_specs, rval_results, rval_miscs) - - return rval_docs diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/utils.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/utils.py deleted file mode 100644 index 80708f7f..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/utils.py +++ /dev/null @@ -1,246 +0,0 @@ -from __future__ import absolute_import -from __future__ import division -from future import standard_library -from builtins import str -from builtins import range -from past.builtins import basestring -from past.utils import old_div -import datetime -import numpy as np -import logging -import six.moves.cPickle as pickle -import os -import shutil -import numpy -from . import pyll -from contextlib import contextmanager - -standard_library.install_aliases() -logger = logging.getLogger(__name__) - - -def import_tokens(tokens): - # XXX Document me - # import as many as we can - rval = None - for i in range(len(tokens)): - modname = '.'.join(tokens[:i + 1]) - # XXX: try using getattr, and then merge with load_tokens - try: - logger.info('importing %s' % modname) - exec("import {}".format(modname)) - exec("rval = {}".format(modname)) - except ImportError as e: - logger.info('failed to import %s' % modname) - logger.info('reason: %s' % str(e)) - break - return rval, tokens[i:] - - -def load_tokens(tokens): - # XXX: merge with import_tokens - logger.info('load_tokens: %s' % str(tokens)) - symbol, remainder = import_tokens(tokens) - for attr in remainder: - symbol = getattr(symbol, attr) - return symbol - - -def json_lookup(json): - symbol = load_tokens(json.split('.')) - return symbol - - -def json_call(json, args=(), kwargs=None): - """ - Return a dataset class instance based on a string, tuple or dictionary - - .. code-block:: python - - iris = json_call('datasets.toy.Iris') - - This function works by parsing the string, and calling import and getattr a - lot. (XXX) - - """ - if kwargs is None: - kwargs = {} - if isinstance(json, basestring): - symbol = json_lookup(json) - return symbol(*args, **kwargs) - elif isinstance(json, dict): - raise NotImplementedError('dict calling convention undefined', json) - elif isinstance(json, (tuple, list)): - raise NotImplementedError('seq calling convention undefined', json) - else: - raise TypeError(json) - - -def get_obj(f, argfile=None, argstr=None, args=(), kwargs=None): - """ - XXX: document me - """ - if kwargs is None: - kwargs = {} - if argfile is not None: - argstr = open(argfile).read() - if argstr is not None: - argd = pickle.loads(argstr) - else: - argd = {} - args = args + argd.get('args', ()) - kwargs.update(argd.get('kwargs', {})) - return json_call(f, args=args, kwargs=kwargs) - - -def pmin_sampled(mean, var, n_samples=1000, rng=None): - """Probability that each Gaussian-dist R.V. is less than the others - - :param vscores: mean vector - :param var: variance vector - - This function works by sampling n_samples from every (gaussian) mean distribution, - and counting up the number of times each element's sample is the best. - - """ - if rng is None: - rng = numpy.random.RandomState(232342) - - samples = rng.randn(n_samples, len(mean)) * numpy.sqrt(var) + mean - winners = (samples.T == samples.min(axis=1)).T - wincounts = winners.sum(axis=0) - assert wincounts.shape == mean.shape - return old_div(wincounts.astype('float64'), wincounts.sum()) - - -def fast_isin(X, Y): - """ - Indices of elements in a numpy array that appear in another. - - Fast routine for determining indices of elements in numpy array `X` that - appear in numpy array `Y`, returning a boolean array `Z` such that:: - - Z[i] = X[i] in Y - - """ - if len(Y) > 0: - T = Y.copy() - T.sort() - D = T.searchsorted(X) - T = np.append(T, np.array([0])) - W = (T[D] == X) - if isinstance(W, bool): - return np.zeros((len(X),), bool) - else: - return (T[D] == X) - else: - return np.zeros((len(X),), bool) - - -def get_most_recent_inds(obj): - data = numpy.rec.array([(x['_id'], int(x['version'])) - for x in obj], - names=['_id', 'version']) - s = data.argsort(order=['_id', 'version']) - data = data[s] - recent = (data['_id'][1:] != data['_id'][:-1]).nonzero()[0] - recent = numpy.append(recent, [len(data) - 1]) - return s[recent] - - -def use_obj_for_literal_in_memo(expr, obj, lit, memo): - """ - Set `memo[node] = obj` for all nodes in expr such that `node.obj == lit` - - This is a useful routine for fmin-compatible functions that are searching - domains that include some leaf nodes that are complicated - runtime-generated objects. One option is to make such leaf nodes pyll - functions, but it can be easier to construct those objects the normal - Python way in the fmin function, and just stick them into the evaluation - memo. The experiment ctrl object itself is inserted using this technique. - """ - for node in pyll.dfs(expr): - try: - if node.obj == lit: - memo[node] = obj - except AttributeError: - # -- non-literal nodes don't have node.obj - pass - return memo - - -def coarse_utcnow(): - """ - # MongoDB stores only to the nearest millisecond - # This is mentioned in a footnote here: - # http://api.mongodb.org/python/current/api/bson/son.html#dt - """ - now = datetime.datetime.utcnow() - microsec = (now.microsecond // 10 ** 3) * (10 ** 3) - return datetime.datetime(now.year, now.month, now.day, now.hour, - now.minute, now.second, microsec) - - -@contextmanager -def working_dir(dir): - cwd = os.getcwd() - os.chdir(dir) - yield - os.chdir(cwd) - - -def path_split_all(path): - """split a path at all path separaters, return list of parts""" - parts = [] - while True: - path, fn = os.path.split(path) - if len(fn) == 0: - break - parts.append(fn) - return reversed(parts) - - -def get_closest_dir(workdir): - """ - returns the topmost already-existing directory in the given path - erasing work-dirs should never progress above this file. - Also returns the name of first non-existing dir for use as filename. - """ - closest_dir = '' - for wdi in path_split_all(workdir): - if os.path.isdir(os.path.join(closest_dir, wdi)): - closest_dir = os.path.join(closest_dir, wdi) - else: - break - assert closest_dir != workdir - return closest_dir, wdi - - -@contextmanager -def temp_dir(dir, erase_after=False, with_sentinel=True): - created_by_me = False - if not os.path.exists(dir): - if os.pardir in dir: - raise RuntimeError("workdir contains os.pardir ('..')") - if erase_after and with_sentinel: - closest_dir, fn = get_closest_dir(dir) - sentinel = os.path.join(closest_dir, fn + ".inuse") - open(sentinel, 'w').close() - os.makedirs(dir) - created_by_me = True - else: - assert os.path.isdir(dir) - yield - if erase_after and created_by_me: - # erase all files in workdir - shutil.rmtree(dir) - if with_sentinel: - # put dir back as starting point for recursive remove - os.mkdir(dir) - - # also try to erase any other empty directories up to - # sentinel file - os.removedirs(dir) - - # remove sentinel file - os.remove(sentinel) diff --git a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/vectorize.py b/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/vectorize.py deleted file mode 100644 index 0b932afe..00000000 --- a/.eggs/hyperopt-0.1-py2.7.egg/hyperopt/vectorize.py +++ /dev/null @@ -1,446 +0,0 @@ -from __future__ import print_function -from __future__ import absolute_import -from builtins import str -from builtins import zip -from builtins import range -from builtins import object -import sys - -import numpy as np - -from .pyll import Apply -from .pyll import as_apply -from .pyll import dfs -from .pyll import toposort -from .pyll import scope -from .pyll import stochastic - -stoch = stochastic.implicit_stochastic_symbols - - -def ERR(msg): - print('hyperopt.vectorize.ERR', msg, file=sys.stderr) - - -@scope.define_pure -def vchoice_split(idxs, choices, n_options): - rval = [[] for ii in range(n_options)] - if len(idxs) != len(choices): - raise ValueError('idxs and choices different len', - (len(idxs), len(choices))) - for ii, cc in zip(idxs, choices): - rval[cc].append(ii) - return rval - - -@scope.define_pure -def vchoice_merge(idxs, choices, *vals): - rval = [] - assert len(idxs) == len(choices) - for idx, ch in zip(idxs, choices): - vi, vv = vals[ch] - rval.append(vv[list(vi).index(idx)]) - return rval - - -@scope.define_pure -def idxs_map(idxs, cmd, *args, **kwargs): - """ - Return the cmd applied at positions idxs, by retrieving args and kwargs - from the (idxs, vals) pair elements of `args` and `kwargs`. - - N.B. args and kwargs may generally include information for more idx values - than are requested by idxs. - """ - # XXX: consider insisting on sorted idxs - # XXX: use np.searchsorted instead of dct - - if 0: # these should all be true, but evaluating them is slow - for ii, (idxs_ii, vals_ii) in enumerate(args): - for jj in idxs: - assert jj in idxs_ii - for kw, (idxs_kw, vals_kw) in list(kwargs.items()): - for jj in idxs: - assert jj in idxs_kw - - args_imap = [] - for idxs_j, vals_j in args: - if len(idxs_j): - args_imap.append(dict(list(zip(idxs_j, vals_j)))) - else: - args_imap.append({}) - - kwargs_imap = {} - for kw, (idxs_j, vals_j) in list(kwargs.items()): - if len(idxs_j): - kwargs_imap[kw] = dict(list(zip(idxs_j, vals_j))) - else: - kwargs_imap[kw] = {} - - f = scope._impls[cmd] - rval = [] - for ii in idxs: - try: - args_nn = [arg_imap[ii] for arg_imap in args_imap] - except: - ERR('args_nn %s' % cmd) - ERR('ii %s' % ii) - ERR('arg_imap %s' % str(args_imap)) - ERR('args_imap %s' % str(args_imap)) - raise - try: - kwargs_nn = dict([(kw, arg_imap[ii]) - for kw, arg_imap in list(kwargs_imap.items())]) - except: - ERR('args_nn %s' % cmd) - ERR('ii %s' % ii) - ERR('kw %s' % kw) - ERR('arg_imap %s' % str(args_imap)) - raise - try: - rval_nn = f(*args_nn, **kwargs_nn) - except: - ERR('error calling impl of %s' % cmd) - raise - rval.append(rval_nn) - return rval - - -@scope.define_pure -def idxs_take(idxs, vals, which): - """ - Return `vals[which]` where `which` is a subset of `idxs` - """ - # TODO: consider insisting on sorted idxs - # TODO: use np.searchsorted instead of dct - assert len(idxs) == len(vals) - table = dict(list(zip(idxs, vals))) - return np.asarray([table[w] for w in which]) - - -@scope.define_pure -def uniq(lst): - s = set() - rval = [] - for l in lst: - if id(l) not in s: - s.add(id(l)) - rval.append(l) - return rval - - -def vectorize_stochastic(orig): - if orig.name == 'idxs_map' and orig.pos_args[1]._obj in stoch: - # -- this is an idxs_map of a random draw of distribution `dist` - idxs = orig.pos_args[0] - dist = orig.pos_args[1]._obj - - def foo(arg): - # -- each argument is an idxs, vals pair - assert arg.name == 'pos_args' - assert len(arg.pos_args) == 2 - arg_vals = arg.pos_args[1] - - # XXX: write a pattern-substitution rule for this case - if arg_vals.name == 'idxs_take': - if arg_vals.arg['vals'].name == 'asarray': - if arg_vals.arg['vals'].inputs()[0].name == 'repeat': - # -- draws are iid, so forget about - # repeating the distribution parameters - repeated_thing = arg_vals.arg['vals'].inputs()[0].inputs()[1] - return repeated_thing - if arg.pos_args[0] is idxs: - return arg_vals - else: - # -- arg.pos_args[0] is a superset of idxs - # TODO: slice out correct elements using - # idxs_take, but more importantly - test this case. - raise NotImplementedError() - new_pos_args = [foo(arg) for arg in orig.pos_args[2:]] - new_named_args = [[aname, foo(arg)] - for aname, arg in orig.named_args] - vnode = Apply(dist, new_pos_args, new_named_args, o_len=None) - n_times = scope.len(idxs) - if 'size' in dict(vnode.named_args): - raise NotImplementedError('random node already has size') - vnode.named_args.append(['size', n_times]) - return vnode - else: - return orig - - -def replace_repeat_stochastic(expr, return_memo=False): - nodes = dfs(expr) - memo = {} - for ii, orig in enumerate(nodes): - if orig.name == 'idxs_map' and orig.pos_args[1]._obj in stoch: - # -- this is an idxs_map of a random draw of distribution `dist` - idxs = orig.pos_args[0] - dist = orig.pos_args[1]._obj - - def foo(arg): - # -- each argument is an idxs, vals pair - assert arg.name == 'pos_args' - assert len(arg.pos_args) == 2 - arg_vals = arg.pos_args[1] - if (arg_vals.name == 'asarray' and - arg_vals.inputs()[0].name == 'repeat'): - # -- draws are iid, so forget about - # repeating the distribution parameters - repeated_thing = arg_vals.inputs()[0].inputs()[1] - return repeated_thing - else: - if arg.pos_args[0] is idxs: - return arg_vals - else: - # -- arg.pos_args[0] is a superset of idxs - # TODO: slice out correct elements using - # idxs_take, but more importantly - test this case. - raise NotImplementedError() - new_pos_args = [foo(arg) for arg in orig.pos_args[2:]] - new_named_args = [[aname, foo(arg)] - for aname, arg in orig.named_args] - vnode = Apply(dist, new_pos_args, new_named_args, None) - n_times = scope.len(idxs) - if 'size' in dict(vnode.named_args): - raise NotImplementedError('random node already has size') - vnode.named_args.append(['size', n_times]) - # -- loop over all nodes that *use* this one, and change them - for client in nodes[ii + 1:]: - client.replace_input(orig, vnode) - if expr is orig: - expr = vnode - memo[orig] = vnode - if return_memo: - return expr, memo - else: - return expr - - -class VectorizeHelper(object): - """ - Convert a pyll expression representing a single trial into a pyll - expression representing multiple trials. - - The resulting multi-trial expression is not meant to be evaluated - directly. It is meant to serve as the input to a suggest algo. - - idxs_memo - node in expr graph -> all elements we might need for it - take_memo - node in expr graph -> all exprs retrieving computed elements - - """ - - def __init__(self, expr, expr_idxs, build=True): - self.expr = expr - self.expr_idxs = expr_idxs - self.dfs_nodes = dfs(expr) - self.params = {} - for ii, node in enumerate(self.dfs_nodes): - if node.name == 'hyperopt_param': - label = node.arg['label'].obj - self.params[label] = node.arg['obj'] - # -- recursive construction - # This makes one term in each idxs, vals memo for every - # directed path through the switches in the graph. - - self.idxs_memo = {} # node -> union, all idxs computed - self.take_memo = {} # node -> list of idxs_take retrieving node vals - self.v_expr = self.build_idxs_vals(expr, expr_idxs) - - # TODO: graph-optimization pass to remove cruft: - # - unions of 1 - # - unions of full sets with their subsets - # - idxs_take that can be merged - - self.assert_integrity_idxs_take() - - def assert_integrity_idxs_take(self): - idxs_memo = self.idxs_memo - take_memo = self.take_memo - after = dfs(self.expr) - assert after == self.dfs_nodes - assert set(idxs_memo.keys()) == set(take_memo.keys()) - for node in idxs_memo: - idxs = idxs_memo[node] - assert idxs.name == 'array_union' - vals = take_memo[node][0].pos_args[1] - for take in take_memo[node]: - assert take.name == 'idxs_take' - assert [idxs, vals] == take.pos_args[:2] - - def build_idxs_vals(self, node, wanted_idxs): - """ - This recursive procedure should be called on an output-node. - """ - checkpoint_asserts = False - - def checkpoint(): - if checkpoint_asserts: - self.assert_integrity_idxs_take() - if node in self.idxs_memo: - toposort(self.idxs_memo[node]) - if node in self.take_memo: - for take in self.take_memo[node]: - toposort(take) - - checkpoint() - - # wanted_idxs are fixed, whereas idxs_memo - # is full of unions, that can grow in subsequent recursive - # calls to build_idxs_vals with node as argument. - assert wanted_idxs != self.idxs_memo.get(node) - - # -- easy exit case - if node.name == 'hyperopt_param': - # -- ignore, not vectorizing - return self.build_idxs_vals(node.arg['obj'], wanted_idxs) - - # -- easy exit case - elif node.name == 'hyperopt_result': - # -- ignore, not vectorizing - return self.build_idxs_vals(node.arg['obj'], wanted_idxs) - - # -- literal case: always take from universal set - elif node.name == 'literal': - if node in self.idxs_memo: - all_idxs, all_vals = self.take_memo[node][0].pos_args[:2] - wanted_vals = scope.idxs_take(all_idxs, all_vals, wanted_idxs) - self.take_memo[node].append(wanted_vals) - checkpoint() - else: - # -- initialize idxs_memo to full set - all_idxs = self.expr_idxs - n_times = scope.len(all_idxs) - # -- put array_union into graph for consistency, though it is - # not necessary - all_idxs = scope.array_union(all_idxs) - self.idxs_memo[node] = all_idxs - all_vals = scope.asarray(scope.repeat(n_times, node)) - wanted_vals = scope.idxs_take(all_idxs, all_vals, wanted_idxs) - assert node not in self.take_memo - self.take_memo[node] = [wanted_vals] - checkpoint() - return wanted_vals - - # -- switch case: complicated - elif node.name == 'switch': - if (node in self.idxs_memo and - wanted_idxs in self.idxs_memo[node].pos_args): - # -- phew, easy case - all_idxs, all_vals = self.take_memo[node][0].pos_args[:2] - wanted_vals = scope.idxs_take(all_idxs, all_vals, wanted_idxs) - self.take_memo[node].append(wanted_vals) - checkpoint() - else: - # -- we need to add some indexes - if node in self.idxs_memo: - all_idxs = self.idxs_memo[node] - assert all_idxs.name == 'array_union' - all_idxs.pos_args.append(wanted_idxs) - else: - all_idxs = scope.array_union(wanted_idxs) - - choice = node.pos_args[0] - all_choices = self.build_idxs_vals(choice, all_idxs) - - options = node.pos_args[1:] - args_idxs = scope.vchoice_split(all_idxs, all_choices, - len(options)) - all_vals = scope.vchoice_merge(all_idxs, all_choices) - for opt_ii, idxs_ii in zip(options, args_idxs): - all_vals.pos_args.append( - as_apply([ - idxs_ii, - self.build_idxs_vals(opt_ii, idxs_ii), - ])) - - wanted_vals = scope.idxs_take( - all_idxs, # -- may grow in future - all_vals, # -- may be replaced in future - wanted_idxs) # -- fixed. - if node in self.idxs_memo: - assert self.idxs_memo[node].name == 'array_union' - self.idxs_memo[node].pos_args.append(wanted_idxs) - for take in self.take_memo[node]: - assert take.name == 'idxs_take' - take.pos_args[1] = all_vals - self.take_memo[node].append(wanted_vals) - else: - self.idxs_memo[node] = all_idxs - self.take_memo[node] = [wanted_vals] - checkpoint() - - # -- general case - else: - # -- this is a general node. - # It is generally handled with idxs_memo, - # but vectorize_stochastic may immediately transform it into - # a more compact form. - if (node in self.idxs_memo and - wanted_idxs in self.idxs_memo[node].pos_args): - # -- phew, easy case - for take in self.take_memo[node]: - if take.pos_args[2] == wanted_idxs: - return take - raise NotImplementedError('how did this happen?') - # all_idxs, all_vals = self.take_memo[node][0].pos_args[:2] - # wanted_vals = scope.idxs_take(all_idxs, all_vals, wanted_idxs) - # self.take_memo[node].append(wanted_vals) - # checkpoint() - else: - # XXX - # -- determine if wanted_idxs is actually a subset of the idxs - # that we are already computing. This is not only an - # optimization, but prevents the creation of cycles, which - # would otherwise occur if we have a graph of the form - # switch(f(a), g(a), 0). If there are other switches inside f - # and g, does this get trickier? - - # -- assume we need to add some indexes - checkpoint() - if node in self.idxs_memo: - all_idxs = self.idxs_memo[node] - - else: - all_idxs = scope.array_union(wanted_idxs) - checkpoint() - - all_vals = scope.idxs_map(all_idxs, node.name) - for ii, aa in enumerate(node.pos_args): - all_vals.pos_args.append(as_apply([ - all_idxs, self.build_idxs_vals(aa, all_idxs)])) - checkpoint() - for ii, (nn, aa) in enumerate(node.named_args): - all_vals.named_args.append([nn, as_apply([ - all_idxs, self.build_idxs_vals(aa, all_idxs)])]) - checkpoint() - all_vals = vectorize_stochastic(all_vals) - - checkpoint() - wanted_vals = scope.idxs_take( - all_idxs, # -- may grow in future - all_vals, # -- may be replaced in future - wanted_idxs) # -- fixed. - if node in self.idxs_memo: - assert self.idxs_memo[node].name == 'array_union' - self.idxs_memo[node].pos_args.append(wanted_idxs) - toposort(self.idxs_memo[node]) - # -- this catches the cycle bug mentioned above - for take in self.take_memo[node]: - assert take.name == 'idxs_take' - take.pos_args[1] = all_vals - self.take_memo[node].append(wanted_vals) - else: - self.idxs_memo[node] = all_idxs - self.take_memo[node] = [wanted_vals] - checkpoint() - - return wanted_vals - - def idxs_by_label(self): - return dict([(name, self.idxs_memo[node]) - for name, node in list(self.params.items())]) - - def vals_by_label(self): - return dict([(name, self.take_memo[node][0].pos_args[1]) - for name, node in list(self.params.items())]) diff --git a/.eggs/jmespath-0.9.3-py2.7.egg b/.eggs/jmespath-0.9.3-py2.7.egg deleted file mode 100644 index 4ed504ae688dae8245ef36072691f2673f31a970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41736 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 W&%jrZ$E0+8sLf|kP$*fC&;B3Ncs#BE diff --git a/.eggs/phasepack-1.5-py2.7.egg b/.eggs/phasepack-1.5-py2.7.egg deleted file mode 100644 index e9abbf18e5027f0cfdf0c18862808b11fae9e3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45607 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 ImHayTf66TDH~;_u diff --git a/.eggs/pymongo-3.7.1-py2.7-linux-x86_64.egg b/.eggs/pymongo-3.7.1-py2.7-linux-x86_64.egg deleted file mode 100644 index f035cf936679077dfb9bafe35ccca222a12dc827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706264 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%0D7HQ7_Es>DsbNgFlRnB0~CfUt~LGg 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

soxVF#I;38*?#kX%- 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

K3;C_lFKXh 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

n}BqKhwF`+uuu;qN}C;RS-oz}rSUf8 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

Lu%4g-1pkO?Y4d9ZXs`ng0r)~ExLVp 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⪚gO2wnB5~y2*8g`aoRVEt^whwq985$`0Q7%?FO_ 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 z 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 diff --git a/.eggs/s3transfer-0.1.13-py2.7.egg b/.eggs/s3transfer-0.1.13-py2.7.egg deleted file mode 100644 index 104daa47770e6e98538f55944fd8f2e4f71b6a98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125260 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 and this project adheres to `Semantic Versioning `_ -Unreleased - rc2.1.1 +2019-02-15 - 2.1.1 ------------------ Added diff --git a/README.md b/README.md index b258ebf3..a5210a05 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Build Status](https://travis-ci.com/MStarmans91/WORC.svg?token=qyvaeq7Cpwu7hJGB98Gp&branch=master)](https://travis-ci.com/MStarmans91/WORC) -# WORC v2.1.0 +# WORC v2.1.1 ## Workflow for Optimal Radiomics Classification @@ -34,9 +34,13 @@ The documentation can then be viewed in a browser by opening `PACKAGE_ROOT\build WORC currently only supports Unix with Python 2 (>2.7.6) systems. Windows is not supported, although WORC can still work under windows. -The package can be installed through pip (Note due to a bug, the versioning like this is needed): +Please first install PREDICT: - pip install "WORC==2.1.0_2" + pip install PREDICT + +The package can be installed through pip: + + pip install WORC Alternatively, you can directly install WORC from this repository: diff --git a/README.rst b/README.rst index 80f8dba2..3afa271c 100644 --- a/README.rst +++ b/README.rst @@ -1,6 +1,6 @@ |Build Status| -WORC v2.1.0 +WORC v2.1.1 =========== Workflow for Optimal Radiomics Classification @@ -53,12 +53,18 @@ Installation WORC currently only supports Unix with Python 2 (>2.7.6) systems. Windows is not supported, although WORC can still work under windows. -The package can be installed through pip (Note due to a bug, the -versioning like this is needed): +Please first install PREDICT: :: - pip install "WORC==2.1.0_2" + pip install PREDICT + + +The package can be installed through pip: + +:: + + pip install WORC Alternatively, you can directly install WORC from this repository: @@ -202,6 +208,8 @@ License This package is covered by the open source `APACHE 2.0 License `__. +When using WORC, please cite this repository. + Contact ------- diff --git a/WORC.egg-info/PKG-INFO b/WORC.egg-info/PKG-INFO index 30f28e55..007187fe 100644 --- a/WORC.egg-info/PKG-INFO +++ b/WORC.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: WORC -Version: 2.1.0 +Version: 2.1.1 Summary: Workflow for Optimal Radiomics Classification. Home-page: https://github.com/MStarmans91/WORC Author: M. Starmans @@ -8,7 +8,7 @@ Author-email: m.starmans@erasmusmc.nl License: Apache License, Version 2.0 Description: |Build Status| - WORC v2.1.0 + WORC v2.1.1 =========== Workflow for Optimal Radiomics Classification @@ -66,7 +66,7 @@ Description: |Build Status| :: - pip install "WORC==2.1.0_2" + pip install WORC Alternatively, you can directly install WORC from this repository: @@ -210,6 +210,8 @@ Description: |Build Status| This package is covered by the open source `APACHE 2.0 License `__. + When using WORC, please cite this repository. + Contact ------- @@ -226,7 +228,7 @@ Description: |Build Status| Keywords: bioinformatics radiomics features Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha +Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Science/Research Classifier: Intended Audience :: Healthcare Industry diff --git a/WORC.egg-info/SOURCES.txt b/WORC.egg-info/SOURCES.txt index 2c59f567..a4c6a5bf 100644 --- a/WORC.egg-info/SOURCES.txt +++ b/WORC.egg-info/SOURCES.txt @@ -140,4 +140,44 @@ WORC/resources/fastr_types/ZipFile.py WORC/tools/Elastix.py WORC/tools/Evaluate.py WORC/tools/Transformix.py -WORC/tools/__init__.py \ No newline at end of file +WORC/tools/__init__.py +docs/_build/html/.buildinfo +docs/_build/html/WORC.IOparser.html +docs/_build/html/WORC.html +docs/_build/html/WORC.processing.html +docs/_build/html/WORC.tools.html +docs/_build/html/genindex.html +docs/_build/html/index.html +docs/_build/html/modules.html +docs/_build/html/objects.inv +docs/_build/html/py-modindex.html +docs/_build/html/search.html +docs/_build/html/searchindex.js +docs/_build/html/_sources/WORC.IOparser.rst.txt +docs/_build/html/_sources/WORC.processing.rst.txt +docs/_build/html/_sources/WORC.rst.txt +docs/_build/html/_sources/WORC.tools.rst.txt +docs/_build/html/_sources/index.rst.txt +docs/_build/html/_sources/modules.rst.txt +docs/_build/html/_static/ajax-loader.gif +docs/_build/html/_static/alabaster.css +docs/_build/html/_static/basic.css +docs/_build/html/_static/comment-bright.png +docs/_build/html/_static/comment-close.png +docs/_build/html/_static/comment.png +docs/_build/html/_static/custom.css +docs/_build/html/_static/doctools.js +docs/_build/html/_static/down-pressed.png +docs/_build/html/_static/down.png +docs/_build/html/_static/file.png +docs/_build/html/_static/jquery-3.1.0.js +docs/_build/html/_static/jquery.js +docs/_build/html/_static/minus.png +docs/_build/html/_static/plus.png +docs/_build/html/_static/pygments.css +docs/_build/html/_static/searchtools.js +docs/_build/html/_static/underscore-1.3.1.js +docs/_build/html/_static/underscore.js +docs/_build/html/_static/up-pressed.png +docs/_build/html/_static/up.png +docs/_build/html/_static/websupport.js \ No newline at end of file diff --git a/WORC/WORC.py b/WORC/WORC.py index 4bf06f34..e82f972e 100644 --- a/WORC/WORC.py +++ b/WORC/WORC.py @@ -174,6 +174,7 @@ def defaultconfig(self): config['Segmentix']['segtype'] = 'None' config['Segmentix']['segradius'] = '5' config['Segmentix']['N_blobs'] = '1' + config['Segmentix']['fillholes'] = 'False' # Preprocessing config['Normalize'] = dict() diff --git a/WORC/tools/Evaluate.py b/WORC/tools/Evaluate.py index 9e21e405..6ca15935 100644 --- a/WORC/tools/Evaluate.py +++ b/WORC/tools/Evaluate.py @@ -65,17 +65,17 @@ def create_network(self): # Create all nodes self.network.node_ROC =\ - self.network.create_node('PlotROC', memory='8G', id_='plot_ROC') + self.network.create_node('PlotROC', memory='20G', id_='plot_ROC') self.network.node_SVM =\ - self.network.create_node('PlotSVM', memory='8G', id_='plot_SVM') + self.network.create_node('PlotSVM', memory='20G', id_='plot_SVM') self.network.node_Barchart =\ self.network.create_node('PlotBarchart', memory='4G', id_='plot_Barchart') self.network.node_STest =\ self.network.create_node('StatisticalTestFeatures', memory='4G', id_='statistical_test_features') self.network.node_Ranked_Percentages =\ - self.network.create_node('PlotRankedScores', memory='8G', id_='plot_ranked_percentages') + self.network.create_node('PlotRankedScores', memory='20G', id_='plot_ranked_percentages') self.network.node_Ranked_Posteriors =\ - self.network.create_node('PlotRankedScores', memory='8G', id_='plot_ranked_posteriors') + self.network.create_node('PlotRankedScores', memory='20G', id_='plot_ranked_posteriors') # Create sinks self.network.sink_ROC_PNG =\ diff --git a/dist/WORC-2.1.0.tar.gz b/dist/WORC-2.1.0.tar.gz deleted file mode 100644 index 0b580e98c890e40ee3179ee3c41aaab16148ad42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 552233 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ℑCuv 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

ZZV0)3#6-^<|yP2Ohj0Mh$A?7{Dl0pEDf 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

&#O`840CERon0k{~WWy$7GM&Fj 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 BUpoK* diff --git a/dist/WORC-2.1.1.tar.gz b/dist/WORC-2.1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fa2ab7abca5a131e4ddb493850bd8c12cec7f263 GIT binary patch literal 720279 zcmV(=K-s?^iwFof>t{kR8m+vlrUDuBw;(_vA*K5&TPyFwQ$g8Tldrn}t8z!?dGvdXI7w^4z@gm~I zuI)PqyOOa)EYZE}Nd3j(FPF>UJ(0`Ay?6PyERjm55}9l!orCxEuuRD;I|_dd%T`TA zSyoj|Ti;V_n{J`+vLf>SEcx5zw*S_FZJRd^4Ufe1+Tm~iY&PAl{S)alwtp&>PUf=d zTngGhlgK5PDe+v}=nX=Zo(Bz4m$YL=zfCg(|HYL?M3A>E?V5NhMtM%Do&H;l@GB%iHom^>6( zSu%vTPLPM{Vy32O8g1OvO+6$M5vh}!@0R66Une-hp&9U1wr&vsP}XwQ;16T=rrM*b6N9PIn$Kaq=Pm*oFw{H+D?(PjE8Fyrd))7*a zjA4nshD9-c8~1ro*epWRY$zzT#^dU^G>lid@HjFL1Mqs?zff@>*)^*t0j7{9!rxeRL z#J1Np?1`?P4yBtRF*sYdD_Z}KS-T7hZL3jgfWq61jIXR-*^^8p``Eugf};4wv1_|I zuLoE~uk8iJR$13!*|VSm%bI3)C}mTdSl2ObVYXtoT2TuyKGw`w(Xu)e93=~6=~*DR zC{Xp;Np`Kw2Z_O1MN_Za-ZXpEDV5)La6(0y0(k(YxNPgtwvmC6&D*z)Z{LBpVP&0i zjYy*?m+jm#zH|HbkzRc0jCFTLolln!?Hq>m^hN0;nt8qsZr`$HV8`&#_~vaJhF;dI zOsEx0b3bp~yk%&7__B=~H^aA1(mS5a7Y_`N4{yJ0=im@Px6OtpBfs9VdD}}p+3gv- zQ>576$292X>h>>!B8p`eT{`dC*U-$_*dD8+|KNc@-v_;G(J-|`1O!Y-o|sl(T&^MI z4NQS7x~^k0KQa4EYBg82x8yiYHH&2@^RRg2-2Bna8)6{*p>fh8Lz2T zNHC>q({;nNJ(4}Gm+bPok~XCmwJv&yg82d(My+&NMHNtv$MR97s?O-uM%8`A=pw>v zyQM-|TQEwqifLdyrF4@#gqSELeM%`-RLcr{ZufE8RO@xkbkg`!VPVZFn$vU$jH;?$ z^Cc8`tt}^7sVt~gf*ZsOQ1;|qdm7bx!I)uyYgN%UD~oEqYZ^GovQ48l**^^|#lO~e ztDLkOpb5CPT7c37WCF`?WFhnqaQ!4 z?Z)@iP|ftvs_>F7?Fl;xSo=v4#E@IbdtDsPF|`EjP}J(!Ra$Lp;7|4ps*m)`H&;x4 zX!#*TI4oSpmf4<_6}L39ru3P`SK7()tgP_7s-

XHYd=W^1nK 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
6>%Zdc0~VEh-0Z%SO|U_V=*|l#E0j6szX;6 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 kqZGx% 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腤iXqykWOu^6yPp-C$_t|4n8w9O9Oz!Pe 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 z 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

j6T!1jE6-o7wOBy5{f9 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 z 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

c1kt>P5 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

UG5^M~d}aG!a`{Ai?q`DOIXF8gM&@9Me7XL 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ⓈBu;(mnbQ6-= z1EcE$?;EMImfVo>y5=vlI7zB4v(^6hqb+lFeO5ZPPxTs`6r#X-$bFO6o!Tq8ox0O+1t_$RSF`aym-%Em_t8x|2le6a zIPVEl*{`g%hUXJ+G}owR9G*E_^Lm71%S_L*2m1haV9UdZ=^NmOqZPel)kn)*zjSb0 zjV<=)A(=p8|J}4^>M-4(xem`TQ@enrpaCarS!_HnEYAaPU&H=mT#_3N2lx>d*nu&Z z=tJzQrFQ3-f=+GMb>#DWc9!Or341(j^J4K|xv%+TBEI|yAiRYv~ziFI$-`{;t? z9LK?P7H~Jxkz@?svY1_^ozaE_`GfMvzlw1tTk&`$a$SN>SA%1!j5{pE>Tb1#Q1cN2FqX(?#d;IZC81MyG50py)v-c9E&v$RTgIqIC zS6i2AjR>g~dtH0Q?BLlkynH@a9KJXn&VCrCUjPpO8o2K8>ovl1*mTLzhwI;W1;ev& zfD7&^UF$0tz8!vuCR}lbxZr7y->)&^J$PawNK_vG(*+#*8XYVN4xI#NE?UVxJF0AB zsjgy3MW``wfI@Z&wi6Y+8_e^Q&D*A|xqvOlBJG*FPeXF;CuzpcQLm6$&$y?;!EWPs zXQBf~yknk0k`uAzfQYQNX-Q;uL{|q-d8y`%|4&fD)^VG_v7g*E?4h~6=~YGk<%k@Q zaF)GV$9aL~^sSX1PF!t<*8E?tyS|5G>ynE$4-MOb4lL!dQg@-n!AX0XZ~QN@{OF*2 z&^MUMwI;#Lj%$~t<65_6tnS9>f-EDn=805eZA&~dPP_D6)($*tG@H8{?+irl&Cr2= zG*eFE!vw9p&`Z0t&DLJNQr|yQ*XRZ{hGL@mVvsM{_J?Mp4!v zv$WUe6=ZRf=b8ATZ@`Ry+(Px>&mz%!Vg0Z%h+cw6)$nn=dmgO)wA+J5?R1x1x$xES zOJ#a*ho!@teC`^N|07`$^d(oAFBGP@#`SV<5|8$FOWa7JQt3i>oU2{}bFwu9UaFpS z;hT=oEWp9GrcDnf!~F^dZ~I@G%SiExuJ0zPB&H)3S$CO)bv|bvHEBeKONjS!njN4+ z3O>20c>;|Y;dO+amo)F0PA1O$#W_-u&L4Q@zXA{4OLVRHzL&9`o^~FXQrKL=){pVn zs@3JEAl-vpYdg=5de`yln|Y+`9-$c;bH?*(K2rd6$wxeLT34V`yxOLKUku+hf#`pD za4M*cHD0tAkkbzBr5O#gddq%ozd`T1Ydy?3-E}`#rI*4H+jKoVN~>iyK}$MlkJSi8 zkQG{yZIadm*sFDb?%N#LwNz*s0=CR#6i1;c%j`K@3;+KRR(aQ*1GD=g+Z$Z5zt#Xc zpz*%U{K~3OBz}4cUOkoHi^1&MF#5{jw_(%p3m$J_<5j|Eu>K_7*Lx3)xWqZ~peN`d_ln6HAm|)3i1fOq5p_yMNvE zCMsMDDpxVx%}Db(+AtMK<~Glo4kp#iF>er~?eMCZhy6!_#30oU!YfuGB9^Ksi}2)m z;F(*{5UD1Zh0K>~C*Mqv=dxGCNX-xF2fa}J%nUq15=WLbpTQa|kBcD16zvqa!W&`Y z{l390tvda0P>XN48K0l57A<=n8sTy3VTt{aakAFfSgAc%#%lJ(f4pAoB33;^BkX^; z)>}IR`<+c@tI*A)Z^K;66Cdz$8$58!?~ zq2=A|A8??bu#T7PwICDj-^{OSq!P~}oxvTh{$9F+XY>4^cL_GP#xyZ0M0mHo4D*to zf(>r<-ZcA+^{1Jd=3jjAbv$$dQ^&NykKD$#3!3F773qw!E!>CBb6JetJ$oGKTQp`T z=RJWBIG~-}=OO!49&6Ep`QXkVuOFU10j-ceA!lG0RpAyEt(y5i%ynxK!j@BMc%e0DChGvaLGm?FE4OKcte}c|Dfz|JEM_mTC_mO)Vzh2(SE~DbE zsCx=FHdANiuetvruTR4UApTSk`XX`sqv1)oet^YafXAJ6yJ1VK;Cgr5DVH1GUzo`L z5oG>3QvMdc_eS_GziYz*pX0yg;V)s!uv7R=_(Ul6zel^Fu)s~Q(LS!Vd(V}Equ$h* zKOWh)LHZN9|G}U@BksMrEo`N)>s!GszjnBisGRV+SL=1B=_Fv-r=0<(*)6YrUt< zRa4NfYnFk_@0;iRfBXwr<4v&obG-d$Si8iGyOGfbkUF=iYAV9-4twvKBK|o)I|yA9 z>_IZ)t2^I3#PMm!I~tbQQ!BrY(ulDy7TwPKlh-13=6AY!0GV}+g<;G^)*H23Y^3fP zl?oCY@EhNnU;KB10YTef+yf7gp|f~9@$Eab*5^88JXAAlC97(&_UGxV*_WNQ*IttL zbXmf?vNj^sy!&VzP#1iZ-da&wC$58XN!dlWUD;F;*b&8f`hpQ}+V5;7(7Z4*-su(~ z@jkAp`_oN#>+tXwk^cMm_HwZK+3sgo(^Vtpn}V*K0Oz+5GhB8#@!uY}e+(^}1)qN; zyv)0sc<-)z3oCDh$M_Z5|AYoKge^XcPk0Xu9H*Ne9eieN6 zi)ORgW?I17Lh}U-Z>9O!JYuea&fD+}yH#)2>57q5ikA)#1I zv5Y%{{clx0S)@HYBDAt!yw3H@4#U57_CHSR{w$XL9e5(y9o(0{nM4`~wI{)7jvCET z`#^{F-V-L5f7tJ#)xU2B@8Y{x>uSpa{l2Tf{jT`wud!w6_c%x6u|(eKqrKfDbR|Ug za3?Y<-`NlOyyX1+0Y28@*-v15A9P2m0Z!L?{wK9dbb{v24nr@*54>uhVdoRD`cLr=Z^98`vGQB)4%nX)uYcX;hsPB~1G3#pJU{|* z;YoPk88}^z@b9pD__am|g8d(cwRFy>Dp!-5KacR*kNlh_%1UtEVV`}$o!5v?bL0Q_ z;q#=z)eXFnWJCAl`*hSELEqU5*4pS`iQf~yDiv1d!2OPUC-J*|kx7D?>;L9AFzF!h zAd_w8n~vbYn_zosliO_2ETGZa$$2Z@|1?tD&Lc_J^79cDtYj$CO{D)vkZjlBm#S#5 z0?GJH#p6##z5~1=;D5Z%=C#K9Cm{8moJaZ$%<%f?J^-=!4)}%9+5`%bbp1{X1LHd0dg;A~pGFkvKTyo`+c@89a$6Wy>PCH@n>yZB# zEIHooNB(DB8fU2-md8`P0C#vDxfcs1*S`dxEDff-7*--8Yzjjx9cH`Eu#H@t6p#p+=?{vhA%&e_M>c==z!1-a02g@gpf?0`{wio_ zV_iS@tV_Ww%gXXj%@j#QSH|G&|3;n>@VRlSf0EfNS-`UYYoc}rXzG3HeS;1}5(lPe zRUp{|c98SLdVg@lqvlz^M9?Yd8LSRU*w>L;d)-AhRoD6?zkR&c`us!dD@@WZkMni! z^?yAaT52pXjAJ6OiKhHWAF!q{R$UPK>aiOVN|@9}v4GGQrrU2(1AV8Sduxtw>V;s4ix z8c8k=^w^6=2n)4Ot79*=nWGE~2Qmr8k>2E-?7rpyf<_4rA)g4|o&-+z_k8PA2 z?uxlNNMt<`=3(tL{9i@!jmR<;J5B+CX7c~s2fI%<<5{HEd@JuG?;ZTn20pi$pXFS6 z1Bm2I7CP~fS6}iJ%znQ`Fc=ni8Xxc!Qr@h&){_4<90ZU({cXVo*?AwWdoPo9&G!%O z_0U0C|72YoY!B}LhDLm+QKR&KJpq5}Vqe3;ern0$%U0(*{H{!jw;;mQcDxs_e$)4Rr-aY2sL|%vSAGgq=IYbjutLwIR!d&+A z+i85S0xpV?OhhwQYXzV*uGYZ3Vb1U=sVgfpdnw*B>^p^XpX5Bph(f!0jl7@GFjz$o&`MM5*r*t-YIjC?3RUzr;WAk&-Vt4*r;gcc=@}ORu0rt=xN0ckVCOZfyF$vqDTEQIav)173}VW_?K{~Ba#68Yt{ZG%SsduA6FDBa)Ic^%DgKf)hq z&N1Hm)GqIMPr~QR;qeb@)?X^J--wSt#DD*-;BEx%p9CAqn-HY1c>djZ?O(m-NN&2< z!%XrI1w-7s;ag66YyMYFWV*(RkC@)3gSoG>PRF&{v_$?9S`|(zgsnnHCV&Pbb&r@t z3^CgM<$3cYtVFs+Ov4`>^?oDHtP*@o92*fByuH-w+JH3v#-@|d0jYBLw`N+6)XdvX zIw#l#{g?}m&qmg*(202M-LhJ1_s`Zj!hs;ARLc9-zK3=!)pdexnwft<`vA7#osVG+ zuiJaUl3;#N!REl0H{-K2h}(*VmY94y&xT>!lZeYsyMJK_ukm;siRD1fg~DrY8G^+Bkk+x!!hKa2YYuMl{vQqr zxl7i;wq9_d%Zb@O;5Pb~NlQp_?*r8rzTFz%AFT691Kso~bSMhtjcK(_H zSM2Ha!^`aQa+#OR>!uKzcH29J<_IF3_cF~||BK*vscpUrt0Pep7tloju?!js&;}d416I*x`3acQkxA5DS@Zr0`_y6Yl zZt##AK3|2^;dS@1{l}5;0sO&vIASS~J%5-d%#ANNi)K^@JIWCm6yRKM!vHShXATf+ z{-k?;OS?N@R5A!vz~ytNwEm4$tQe<#!=yUd5iqW%y&gO*m3e{~vmC6R1A^Bw@usc+ z9*m&6|C%Xkqyq1DB)t<0p8{7Op&dKNV~Hzx?JmfWjGfLy2G_ju=6h4yJZ-8V|FST~ zqZ&hgi~RR^1^m`Q4Yv#qyvo+HlllB6ttUG3LB3BH?>A6h_5gL@GqS5^Ab)%FUmSQN zRU$`vzoSj<`D9-6oGFOx3!!P{%w_E({u}qu*-ZA^1xtg}AU)U@l!L*`D)&-i9l^Wb z;X5^LNh03SXogg8N!CoBSftt!jo7a>y_4_;vI968t>_A348d#ENB*@zt${?6yL49J zC=cff5M`!Qa@@_DNX4Cumd=us$9ye~L#EJbsM&^0OKnzJR6P2jP9}^*rcq ziR7eyTQL};toxMW?|x#2D&Y>i$T}YRzyptw+Y1Xk%sF1*6OF@f@%u+Xl8?jhVgIGU zk}LR+ChiCKwJQk+kjk-(wco)RuyClZdL-!nQpt^3$sOmldHDGyc-X(hXpg|k9yaYv zlBwt~^LP1`{I8MXRq$8V=8y5y#cSxb(>b?=yt*21eFN*w1T_+nU^?F7sA7f4M|k4< z#y9h^FBqC|EKa;9IOutW9`zteGuQZBaeni z@o7-J8&o> z1e~e}*m_+nxJggY4~Z9g^X!&=4qGgPgm&v}{8nAdccIvR5t#mB@ImJ13x!v);QHa` z#PSdGPEM@*7MhX-W-KR0Y>CW$-m6LUkQ3~`2XiP3+J6B`)WzfHhV``wyTSaw3O@rO zdb(eERCEWB^FX52#k%s4#XXPE{U%X5U!8*hg(zaN6%-rZbuwh}bKc?@U7z zZH|}%{xDM*3!bmFcy@=lkO*+LCmoU{Jzf}oYdI^Sv!`We&9i0uOpI| zJwK7?-C^%6NOOX_P2;+m>O(f;6H?Hp%BHwq{y{(E(c1aF1c={VD}eOlZ*L^u1gsu{ zP?fhif>QhTd4mfniTA39_3H~MfK`^n<56bqL*f&b&_EWoX*o;JQ$ZBnEK z2|+{!ML>}f6BAoeP(n~p1SO?ArKP*O`*P`!l+H_c2~twhe7_m~&-a|?+&E{SefC~6 z^UgbK&6;Va-9zvAr$VvtwD#JS9y`+IZ7(r`)Cpgpc}B@YS!~tBN5k;YJxs;QQ^Vly z=sI7j_!u_5AH2>JS4AI^#buHI7x9y^0~2n;8YjaPMu%R+@x6%ya>RLv{Il`?vvDyZ z$+zHpGUHbQRQL!jsLkU`5TQW4Abif_g&-(4S6S>#-C;0KbN@uA8~ciQE6HEz!ALys zFSuV^2m6CruQ@wsqckRic>?q!ke$@m7{`c5=5MXaI8A5brt|k6^$3gLe``SA z(Y!YqdG^3V_u+^Q=u0+J!eleM!SohLuC`ffbNJ<pTeutg_W8;z6v}z0Uyj9PUCea<3*kht;6gvD|95Ln@beG z1HN`2NoE4+iy+0+*m551`ZcZIQvl9a1F3FMrne_d48y`=v|tw2pA#v+g7iHeB2`?5 zM<#IOdUzJ=e~x&sIok6U=gfrW3<}SINoTai)qZqw7-%K4yfPQIP`loaQ_nZw%XJRG z7dCMTb~}u1Ib%H-E80!`b_GZ-}W*x#|;)v&F!W(U?Th`$A^9Hepk2@qfrcDxkp zmYJh1e14Q>@($G6o;$U7(0t@4x&CE{DNeg4p)c2d*AGFWgEZqiQ9I3U;7o!hm!m@H z-G96zyNl=Otngg8-(I{*q-(yb(bWCAW;6)Rlw3q%58b0*qw3&9I+F(k=l}*R#1E`< zx8OIg67^5l?yP;ZL;4KlF8y<*%EDyqycT#MU4Q3;2GaAPkJjdB$wM+ehH&g)ohjc?ZnLtucy^8Nw0(__2Y<9kR> zspKSZ^CJCH zah|9=POJQk zRGzU?W6giiCHbydk?b9wfu;>dxQMj0gwAhYex>zeoH&FGJFT3 zC-I*dvHr|qiS|-Fq4hmhaBLO-ivNz7@bl0wjKzkhfc#RgDM$QRoE{(k9d@1xU zF=TQ+)iS&i@`9~Hb=6~()(n!}Y{FNMYxSaoc&k(B=>ejgcl|>5uia#BGN#9nt7L9Z zV4SZ-&g=zK`|-Cm$xUP=3wJIkJsMq*{ka>o66*~9TYxUi(~8W!dCJ4x8w@tGDXZ|<}By@g+~i4d@cyF z4Ly3&l*2E{n&d=Y6@8h(RVO!D&A(t&BaW>X{RV^F5;ZbqZD!Y%C}5*I=gt$4CG#cl z`w3XUDJ*m|wmx1fF&x$m=w?KA)wD-yH(uST`GTEc0-q!2MY_Xl597BF^py3Y@BIt@ zX}HsW{>gA!`*5z+T7D8G*7arZHmw=o7GVzdI~@kN99gD{pC_6xh?V~kmyb)SHWYxh z)rbpY%d(&Qa_EnrkUd;Q(1|nQYRG~;FMvP14DL_oELUNH*FlGaL<||=e+BUy<>Oz# zj#O~Mz|mu{{CVothj88VK%z0)r(`J)seQafdlb(nW|h^@cHa7mu86g!8r=I}6q~DB zS4Z-#wu9}nu)ZZxFi*k(Z}7?#`1cU)3co?KbH{3hZrOP=QdjPq5##mJ+U#B7?8C8N zsoOqLbz~MtPK^qfX?C5%_kw8$Luzwd=MHy*A{#XGLy%l5{7fd67^8jQq{_%l-aiI+ zxMMDx7O?(BTt^SB9g&e(v$)BEuh^pa(ln|Gmz)!2HWST{_6671Ex`jM;Q{g^%U?8a zZ#N?_RC}RzP%V&}i&A+(I@WTsu zhQpvlz$?6pv}IN=Js9x-{&)+YaWt&pT)T)0ZXx?UV1Ud8WkFL)fgYE_HF(8MkS0f% zjqKkB>2`7#6Sd3dYOv{$)-YVDJ;>H^H>bgZzu>^j-45Hu^p7fHIhz>GLgqCh_vA)q zWo2$ocG|87UDFZ6ok#McR2q|&gYDq=Se@H#M?}^M4QLxxh^leSMEJt*{G6;ScD=NB z$0W33RrHhDY}Mi+FJd);&WbfE66q3keDrlzGSDQA2d9Cg1#qdD?cg z>1-7~F++O<$WGxWOevGgq%koFun!c0VZs6Wf*r<;F(YghH^41*N8JUN-IqmnleJ>+ zc%9vq?kODuu+Z}EC2f8M3^FT)TL{ZW5c z_YFypV5$4pPAi6W;=jHAmyi@r;iEqQr%UJ_?VL#SUPuW~dl$>k&1)6o@8gnq?VBMN ze&A|25K7_6pNsztn?nk%jw z5WYTGXL!28x_e-c$&G;r?u2t4(A@sz*uP}u_U3cVqUK0@I4pd$)?${*FjAwhD>^h> ztGEbD5M4MFEio7EVwZ*({DJ>HoH9d9K660#dJNM_u){f1Q?zLi-;|T@oDh8&y#lT; zjp~~(Y%{wYJzNK#$o`O7;K}w#s)C$`7aRt^wqyB!zycpuj>&DD^=>FEa1H)HyY{;2 zuWWC&=4(Fe_0}1Gehq8QPYi!iD}m2emb{knl9k=5d}0Z@A~m_U{BMo$JFTFx54$=} z%>htK&oyhLi{phd@sfk%f`z*esd&U+qGWL@+r@o;XVOk^q;zq`E zmGk+Hz)_*7EO;)T>4{qWVPnb!psLRDk*&yZ#q^N@B#MK7&;IoCq37{l$gabz3TheZ!Gb^}QYZ zFoQ3xUD=u;`)B!T71G*|CsgM-hLf~F9Zk7s(BlibcOE< zGMxeATZhFz6`w%1`{50n!%VOw9eimXKH@+)8$_d~;p>}(%Asi(0mmF0#)XRLZ#S;& zJ!Ibmv@4@s=p>(2y4lDMC&`4CS|Ydj+0ZX_zuT{k+vt0{_V#@^A*RB!p!c67vgu|ewFa=&*Jm{hV$JdlFJ%L|I7DG z9iP>mL+i2pNAVfby=MpStO%>M%1Z{2;6&IWEafN4JR#)?r;;wR6iPWY843)d8W$5$FHMXQp7WbE3576J_zz9c-C) zcbKVr#haRAb{Kek&pqjD`rYm;o7(h=%12eO`{vP)c>B(1kmMgMg<<3~r8&be@a4DY zN;KE(G_M-j`#+c~=%dv}=V_IJzGy=y?NzXVtN&NC1jlgQyP{O)y2 zdjmGy7u4^el`#A0?&}4L21CJi=@QgQ_XBpp!hh4gSgo`!ZXcM#O&H&17{QOey#EN< ze?;{BjxUEU$PVG6@XG<<$mhghle9BOF8s9Y(kiJly1C<*V1U`<8=(B(Nb)RFEf+U{ z5k89LU&X@DBWal>+KRnLaQa)iQnU}h;J}KPIG;ybWCu{PI7PgUXt5JGFbx#AsX58* z@J#iw{i^y>yR~xlhSkk)Bka`X}8Ma~esVfh$Y>h9>4Ga}R4;sIw{) zbo`D+cd_9Gis~bEZ_bhEDxZ)_zXOow2&C0GYNCA`XA>u+A~u_>xRA;GZn~K-i5w0P zEzZ(?9V2uv@KD$=7Sw*& z0bv04EOoD1Dh_mFY(^s4F}jW?ncnpo!A4kpU9I*u0KK^8GlhS&4qs!C{tfMQ{;76P zsKEG+=Tq}wgqe}Xps+054bNi3Iq~WtcF1=JGS7xg)5n=XgEQE0%J{>$P27dZe-C^w z5D#30;jaycz>XyRd8~VWb|UTLM2E%VqMR=)jQ;_z9N}!|IjVK26EcKZnv*K>{|3ze z20!->&(E|UNq65IEU2b4RC4dKvweggLDc6>dk{Xescb$rg^8j6)4mF;qQyvjj?U&t z_MRa|`xhLLirX_Z+vbMm1P^7rM<9iISe?x7%w*g%!_FjAKx%WoVBW!6gRbaKmg;=y zKv(difvx3wx%KWJx7Q8zW$pB+G7Pdm67K`5x8l(Wt?H_KiU%Ui0_ap-WZcfYWH*~f z@fJO`K42e>^_uCblvE#*+@lp-n>Tmigo`!nWCGfp&Kxo4Y&SQK?|Z~Q=PO~|qczK8 zhUPt2z-LPCr|g0m#(O=HV=pjsm>#oQD`iS%_-10LquM)Y0J!jhe;#eB?7!z(4qfS^ zb^WIM6rn6$dLt5h9E*JwUUw>N0MU;ju?$3g?-K<+fm}~u!LRDPT}fhr14unN7JU|$ zX!!r}I0+1h`TcLW%xABLXNVs%XitwUaEh65zEN<4#E>%d;QOm{-7R$ga1~;|H~s5i zQ7-(_FFNl#T01*PO|sL(D<}DHt?O&6nz6)L8>2^&(@Tu&5uL}ARh&h-^J2En?p{L! zZsPT0Bl~fM_y3Fi3onq>*+Iy)HRCSxcPr71oLKAC=rZw~RD+ZnpnvNA@a9@Aa2z_7 z*?ey+yY_C5+s|{n|JHT|`|H6chH2MNi6x}l#5DX(4bHtGdc}NYl9?Aw7Te99{D>E?O5h%q$jI1k0Gt)aJr2!x2(wfGcY_?Y~mg8y4T|xaW!~AN`Q zA}k;uD8B$ixC`pvA>Ml$n=cVd40s32A066<#-Vg58485QLu;h{9@j4UDbl;VJY4iO zaOrKI*B9ryWS998t$DFa>pe)`?=CmcHaA;A$Jxkn6Ih)an~`;t6^ys!QXWQzN3{~0 z)Yo3Y7(R$1cWCKqOU1Yx9prZbP&V==CTYarnvTB99f?DM)xidvLln4Dw;8 z$R|v7+rag6%Rqohu7z)Jck+Ha-ND@jParxq1A88h$FGD}*cAPQ*FSD9nWna}on>|* z`{roIH`snYCJE?yU`HlO5&B&0e$AzJms=bSK

eFk3>w~nS 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 KfO+x&z#ITZ?M?mw literal 0 HcmV?d00001 diff --git a/docs/Makefile b/docs/Makefile index 278e6ff3..c0118b42 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,8 +5,8 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build SPHINXPROJ = WORC -SOURCEDIR = source -BUILDDIR = build +SOURCEDIR = . +BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: diff --git a/docs/WORC.IOparser.rst b/docs/WORC.IOparser.rst index 1ec14d16..35cddac7 100644 --- a/docs/WORC.IOparser.rst +++ b/docs/WORC.IOparser.rst @@ -4,24 +4,24 @@ WORC.IOparser package Submodules ---------- -WORC.IOparser.config\_WORC module ---------------------------------- +WORC.IOparser.config_WORC module +-------------------------------- .. automodule:: WORC.IOparser.config_WORC :members: :undoc-members: :show-inheritance: -WORC.IOparser.config\_preprocessing module ------------------------------------------- +WORC.IOparser.config_preprocessing module +----------------------------------------- .. automodule:: WORC.IOparser.config_preprocessing :members: :undoc-members: :show-inheritance: -WORC.IOparser.config\_segmentix module --------------------------------------- +WORC.IOparser.config_segmentix module +------------------------------------- .. automodule:: WORC.IOparser.config_segmentix :members: diff --git a/docs/_build/doctrees/WORC.IOparser.doctree b/docs/_build/doctrees/WORC.IOparser.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7bc7f1a456f499ce36f72c97020d5fc3fbdd0489 GIT binary patch literal 14552 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 literal 0 HcmV?d00001 diff --git a/docs/_build/doctrees/WORC.doctree b/docs/_build/doctrees/WORC.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e3a683637964575ffd3c31b7d08692956269d2d7 GIT binary patch literal 43615 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 literal 0 HcmV?d00001 diff --git a/docs/_build/doctrees/WORC.processing.doctree b/docs/_build/doctrees/WORC.processing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0420e32905195330b255dedf7e5a3167f4ef2909 GIT binary patch literal 27034 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 literal 0 HcmV?d00001 diff --git a/docs/_build/doctrees/WORC.tools.doctree b/docs/_build/doctrees/WORC.tools.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ce2d0575a08e822b55ca7333abb85251a508ee6b GIT binary patch literal 24439 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 literal 0 HcmV?d00001 diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..5fbca10f1a9fa38bbe2ff508db1187c1ac36a84f GIT binary patch literal 24356 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 ITlO~p2kQ#=hyVZp literal 0 HcmV?d00001 diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo new file mode 100644 index 00000000..d9d0ee9b --- /dev/null +++ b/docs/_build/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 84e41921f4afb45f609a372870d7d850 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/WORC.IOparser.html b/docs/_build/html/WORC.IOparser.html new file mode 100644 index 00000000..bd6bb434 --- /dev/null +++ b/docs/_build/html/WORC.IOparser.html @@ -0,0 +1,160 @@ + + + + + + + + WORC.IOparser package — WORC 2.1.1 documentation + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + \ No newline at end of file diff --git a/docs/_build/html/WORC.html b/docs/_build/html/WORC.html new file mode 100644 index 00000000..a6b6fd3f --- /dev/null +++ b/docs/_build/html/WORC.html @@ -0,0 +1,311 @@ + + + + + + + + WORC package — WORC 2.1.1 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

WORC package

+ +
+

Submodules

+
+
+

WORC.WORC module

+
+
+class WORC.WORC.Tools
+

Bases: object

+

This object can be used to create other pipelines besides the default +Radiomics executions. Currently only includes a registratio pipeline.

+
+ +
+
+class WORC.WORC.WORC(name='WORC')
+

Bases: object

+

A Workflow for Optimal Radiomics Classification (WORC) object that +serves as a pipeline spawner and manager for optimizating radiomics +studies. Depending on the attributes set, the object will spawn an +appropriate pipeline and manage it.

+

Note that many attributes are lists and can therefore contain multiple +instances. For example, when providing two sequences per patient, +the “images” list contains two items. The type of items in the lists +is described below.

+

All objects that serve as source for your network, i.e. refer to +actual files to be used, should be formatted as fastr sources suited for +one of the fastr plugings, see also +http://fastr.readthedocs.io/en/stable/fastr.reference.html#ioplugin-reference +The objects should be lists of these fastr sources or dictionaries with the +sample ID’s, e.g.

+
+
images_train = [{‘Patient001’: vfs://input/CT001.nii.gz,
+
+
‘Patient002’: vfs://input/CT002.nii.gz},
+
+
{‘Patient001’: vfs://input/MR001.nii.gz,
+
‘Patient002’: vfs://input/MR002.nii.gz}]
+
+
+
+
+
+
name: String, default ‘WORC’
+
name of the network.
+
configs: list, required
+
Configuration parameters, either ConfigParser objects +created through the defaultconfig function or paths of config .ini +files. (list, required)
+
labels: list, required
+
Paths to files containing patient labels (.txt files).
+
network: automatically generated
+
The FASTR network generated through the “build” function.
+
images: list, optional
+
Paths refering to the images used for Radiomics computation. Images +should be of the ITK Image type.
+
segmentations: list, optional
+
Paths refering to the segmentations used for Radiomics computation. +Segmentations should be of the ITK Image type.
+
+

semantics: semantic features per image type (list, optional)

+

masks: state which pixels of images are valid (list, optional)

+

features: input Radiomics features for classification (list, optional)

+

metadata: DICOM headers belonging to images (list, optional)

+

Elastix_Para: parameter files for Elastix (list, optional)

+

fastr_plugin: plugin to use for FASTR execution

+

fastr_tempdir: temporary directory to use for FASTR execution

+

additions: additional inputs for your network (dict, optional)

+

source_data: data to use as sources for FASTR (dict)

+

sink_data: data to use as sinks for FASTR (dict)

+
+
CopyMetadata: Boolean, default True
+
when using elastix, copy metadata from image to segmentation or not
+
+
+
+
+add_tools()
+
+ +
+
+build(wtype='training')
+

Build the network based on the given attributes.

+
+
wtype: string, default ‘training’
+

Specify the WORC execution type. +- testing: use if you have a trained classifier and want to

+
+
train it on some new images.
+
    +
  • training: use if you want to train a classifier from a dataset.
  • +
+
+
+
+ +
+
+build_testing()
+

todo

+
+ +
+
+build_training()
+

Build the training network based on the given attributes.

+
+ +
+
+defaultconfig()
+

Generate a configparser object holding all default configuration values.

+
+
Returns:
+
config: configparser configuration file
+
+
+ +
+
+execute()
+

Execute the network through the fastr.network.execute command.

+
+ +
+
+set()
+

Set the FASTR source and sink data based on the given attributes.

+
+ +
+ +
+
+

WORC.addexceptions module

+

This module contains all WORC-related Exceptions

+
+
+exception WORC.addexceptions.WORCError
+

Bases: exceptions.Exception

+

This is the base class for all WORC related exceptions. Catching this +class of exceptions should ensure a proper execution of WORC.

+
+ +
+
+exception WORC.addexceptions.WORCIOError
+

Bases: WORC.addexceptions.WORCError, exceptions.IOError

+

IOError in WORC

+
+ +
+
+exception WORC.addexceptions.WORCNotImplementedError
+

Bases: WORC.addexceptions.WORCError, exceptions.NotImplementedError

+

This function/method has not been implemented on purpose (e.g. should be +overwritten in a sub-class)

+
+ +
+
+exception WORC.addexceptions.WORCTypeError
+

Bases: WORC.addexceptions.WORCError, exceptions.TypeError

+

TypeError in the WORC system

+
+ +
+
+

Module contents

+
+
+ + +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/_build/html/WORC.processing.html b/docs/_build/html/WORC.processing.html new file mode 100644 index 00000000..2a86cc40 --- /dev/null +++ b/docs/_build/html/WORC.processing.html @@ -0,0 +1,210 @@ + + + + + + + + WORC.processing package — WORC 2.1.1 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

WORC.processing package

+
+

Submodules

+
+
+

WORC.processing.ExtractNLargestBlobsn module

+
+
+WORC.processing.ExtractNLargestBlobsn.ExtractNLargestBlobsn(binaryImage, numberToExtract=1)
+

Extract N largest blobs from binary image.

+
+
Arguments:
+
binaryImage: boolean numpy array one or several contours. +numberToExtract: number of blobs to extract (integer).
+
Returns:
+
+
binaryImage: boolean numpy are containing only the N
+
extracted blobs.
+
+
+
+
+ +
+
+

WORC.processing.RTStructReader module

+

@author: Zhenwei.Shi, Maastro

+

usage:

+
+

paste this file in same directory as your main script file +and use the following lines

+

import DCM_ImgRT_Reader_ZW

+

path1=r’c:ABCFolderContainingDicomOfimageCTscan’ +path2=r’c:ABCFolderContainingDicomOfRTstruct’ +DCM_ImgRT_Reader_ZW.Img_Bimask(image_path=path1,rtstruct_path=path2,ROI_name)

+
+
+
+WORC.processing.RTStructReader.ROI_ref(rtstruct_path, ROI_name)
+
+ +
+
+WORC.processing.RTStructReader.RTStructReader(RTStructFile, ROI_name, image_folder)
+
+
Input:
+

image_path is directory containing dicom files +rtstruct_path is directory containing RTstruct files

+
+
ROI_name is the ROI stored in RTstructure
+
+
Output:
+
mask file written in current directory +image volume file written in current directory
+
+
+ +
+
+WORC.processing.RTStructReader.get_dicoms(input_dir, logfile=None)
+
+ +
+
+WORC.processing.RTStructReader.get_pixels(scan)
+
+ +
+
+WORC.processing.RTStructReader.load_dicom(dicom_folder)
+
+ +
+
+WORC.processing.RTStructReader.match_ROIid(rtstruct_path, ROI_number)
+
+ +
+
+WORC.processing.RTStructReader.poly2mask(vertex_row_coords, vertex_col_coords, shape)
+
+ +
+
+

WORC.processing.classes module

+
+
+class WORC.processing.classes.switch(value)
+

Bases: object

+

Object to mimic the MATLAB switch - case statement.

+
+
+match(*args)
+

Indicate whether or not to enter a case suite

+
+ +
+ +
+
+

Module contents

+
+
+ + +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/_build/html/WORC.tools.html b/docs/_build/html/WORC.tools.html new file mode 100644 index 00000000..b0033417 --- /dev/null +++ b/docs/_build/html/WORC.tools.html @@ -0,0 +1,197 @@ + + + + + + + + WORC.tools package — WORC 2.1.1 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

WORC.tools package

+
+

Submodules

+
+
+

WORC.tools.Elastix module

+
+
+class WORC.tools.Elastix.Elastix
+

Bases: object

+
+
+addchangeorder()
+
+ +
+
+create_bbox(seg, pad=[2, 25, 25])
+

Create a bounding box around an input segmentation +with a certain padding

+
+ +
+
+create_network(nettype)
+
+ +
+
+execute()
+
+ +
+
+getparametermap(model='affine', size=(512, 512, 128))
+
+ +
+ +
+
+

WORC.tools.Evaluate module

+
+
+class WORC.tools.Evaluate.Evaluate(label_type, ensemble=50, scores='percentages', network=None, features=None, fastr_plugin='ProcessPoolExecution', name='Example')
+

Bases: object

+
+
+create_network()
+

Add evaluate components to network.

+
+ +
+
+execute()
+

Execute the network through the fastr.network.execute command.

+
+ +
+
+set(estimator=None, pinfo=None, images=None, segmentations=None, config=None, features=None, sink_data={})
+

Set the sources and sinks based on the provided attributes.

+
+ +
+ +
+
+

WORC.tools.Transformix module

+
+
+class WORC.tools.Transformix.Transformix
+

Bases: object

+
+
+create_network()
+
+ +
+
+execute()
+
+ +
+ +
+
+

Module contents

+
+
+ + +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/_build/html/_sources/WORC.IOparser.rst.txt b/docs/_build/html/_sources/WORC.IOparser.rst.txt new file mode 100644 index 00000000..35cddac7 --- /dev/null +++ b/docs/_build/html/_sources/WORC.IOparser.rst.txt @@ -0,0 +1,38 @@ +WORC.IOparser package +===================== + +Submodules +---------- + +WORC.IOparser.config_WORC module +-------------------------------- + +.. automodule:: WORC.IOparser.config_WORC + :members: + :undoc-members: + :show-inheritance: + +WORC.IOparser.config_preprocessing module +----------------------------------------- + +.. automodule:: WORC.IOparser.config_preprocessing + :members: + :undoc-members: + :show-inheritance: + +WORC.IOparser.config_segmentix module +------------------------------------- + +.. automodule:: WORC.IOparser.config_segmentix + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: WORC.IOparser + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/_build/html/_sources/WORC.processing.rst.txt b/docs/_build/html/_sources/WORC.processing.rst.txt new file mode 100644 index 00000000..1e968aed --- /dev/null +++ b/docs/_build/html/_sources/WORC.processing.rst.txt @@ -0,0 +1,38 @@ +WORC.processing package +======================= + +Submodules +---------- + +WORC.processing.ExtractNLargestBlobsn module +-------------------------------------------- + +.. automodule:: WORC.processing.ExtractNLargestBlobsn + :members: + :undoc-members: + :show-inheritance: + +WORC.processing.RTStructReader module +------------------------------------- + +.. automodule:: WORC.processing.RTStructReader + :members: + :undoc-members: + :show-inheritance: + +WORC.processing.classes module +------------------------------ + +.. automodule:: WORC.processing.classes + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: WORC.processing + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/_build/html/_sources/WORC.rst.txt b/docs/_build/html/_sources/WORC.rst.txt new file mode 100644 index 00000000..0ac3b73c --- /dev/null +++ b/docs/_build/html/_sources/WORC.rst.txt @@ -0,0 +1,39 @@ +WORC package +============ + +Subpackages +----------- + +.. toctree:: + + WORC.IOparser + WORC.processing + WORC.tools + +Submodules +---------- + +WORC.WORC module +---------------- + +.. automodule:: WORC.WORC + :members: + :undoc-members: + :show-inheritance: + +WORC.addexceptions module +------------------------- + +.. automodule:: WORC.addexceptions + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: WORC + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/_build/html/_sources/WORC.tools.rst.txt b/docs/_build/html/_sources/WORC.tools.rst.txt new file mode 100644 index 00000000..dd491568 --- /dev/null +++ b/docs/_build/html/_sources/WORC.tools.rst.txt @@ -0,0 +1,38 @@ +WORC.tools package +================== + +Submodules +---------- + +WORC.tools.Elastix module +------------------------- + +.. automodule:: WORC.tools.Elastix + :members: + :undoc-members: + :show-inheritance: + +WORC.tools.Evaluate module +-------------------------- + +.. automodule:: WORC.tools.Evaluate + :members: + :undoc-members: + :show-inheritance: + +WORC.tools.Transformix module +----------------------------- + +.. automodule:: WORC.tools.Transformix + :members: + :undoc-members: + :show-inheritance: + + +Module contents +--------------- + +.. automodule:: WORC.tools + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/_build/html/_sources/index.rst.txt b/docs/_build/html/_sources/index.rst.txt new file mode 100644 index 00000000..9e4c8aab --- /dev/null +++ b/docs/_build/html/_sources/index.rst.txt @@ -0,0 +1,22 @@ +.. WORC documentation master file, created by + sphinx-quickstart on Fri Feb 15 17:36:43 2019. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to WORC's documentation! +================================ + + .. include:: ../README.rst + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/_build/html/_sources/modules.rst.txt b/docs/_build/html/_sources/modules.rst.txt new file mode 100644 index 00000000..2ca6467a --- /dev/null +++ b/docs/_build/html/_sources/modules.rst.txt @@ -0,0 +1,7 @@ +WORC +==== + +.. toctree:: + :maxdepth: 4 + + WORC diff --git a/docs/_build/html/_static/ajax-loader.gif b/docs/_build/html/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/alabaster.css b/docs/_build/html/_static/alabaster.css new file mode 100644 index 00000000..be65b137 --- /dev/null +++ b/docs/_build/html/_static/alabaster.css @@ -0,0 +1,693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: 'Garamond', 'Georgia', serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: 'Garamond', 'Georgia', serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} \ No newline at end of file diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css new file mode 100644 index 00000000..7ed0e58e --- /dev/null +++ b/docs/_build/html/_static/basic.css @@ -0,0 +1,632 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 170px; +} + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/_build/html/_static/comment-bright.png b/docs/_build/html/_static/comment-bright.png new file mode 100644 index 0000000000000000000000000000000000000000..15e27edb12ac25701ac0ac21b97b52bb4e45415e GIT binary patch literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/custom.css b/docs/_build/html/_static/custom.css new file mode 100644 index 00000000..2a924f1d --- /dev/null +++ b/docs/_build/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/docs/_build/html/_static/doctools.js b/docs/_build/html/_static/doctools.js new file mode 100644 index 00000000..81634956 --- /dev/null +++ b/docs/_build/html/_static/doctools.js @@ -0,0 +1,287 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s == 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node) { + if (node.nodeType == 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); \ No newline at end of file diff --git a/docs/_build/html/_static/down-pressed.png b/docs/_build/html/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/down.png b/docs/_build/html/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/file.png b/docs/_build/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/docs/_build/html/_static/jquery-3.1.0.js b/docs/_build/html/_static/jquery-3.1.0.js new file mode 100644 index 00000000..f2fc2747 --- /dev/null +++ b/docs/_build/html/_static/jquery-3.1.0.js @@ -0,0 +1,10074 @@ +/*eslint-disable no-unused-vars*/ +/*! + * jQuery JavaScript Library v3.1.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2016-07-07T21:44Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + + + + function DOMEval( code, doc ) { + doc = doc || document; + + var script = doc.createElement( "script" ); + + script.text = code; + doc.head.appendChild( script ).parentNode.removeChild( script ); + } +/* global Symbol */ +// Defining this global in .eslintrc would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.1.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray, + + isWindow: function( obj ) { + return obj != null && obj === obj.window; + }, + + isNumeric: function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); + }, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + + /* eslint-disable no-unused-vars */ + // See https://github.com/eslint/eslint/issues/6125 + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Evaluates a script in a global context + globalEval: function( code ) { + DOMEval( code ); + }, + + // Convert dashed to camelCase; used by the css and data modules + // Support: IE <=9 - 11, Edge 12 - 13 + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: Date.now, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.0 + * https://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-01-04 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + disabledAncestor = addCombinator( + function( elem ) { + return elem.disabled === true; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + // Known :disabled false positives: + // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) + // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Check form elements and option elements for explicit disabling + return "label" in elem && elem.disabled === disabled || + "form" in elem && elem.disabled === disabled || + + // Check non-disabled form elements for fieldset[disabled] ancestors + "form" in elem && elem.disabled === false && ( + // Support: IE6-11+ + // Ancestry is covered for us + elem.isDisabled === disabled || + + // Otherwise, assume any non-
+
+
+
+ +
+

WORC.IOparser package

+
+

Submodules

+
+
+

WORC.IOparser.config_WORC module

+
+
+WORC.IOparser.config_WORC.load_config(config_file_path)
+

Parse a WORC configuration file.

+
+
Arguments:
+
config_file_path: path to the configuration file to be parsed.
+
Returns:
+
settings_dict: dictionary containing all parsed settings.
+
+
+ +
+
+

WORC.IOparser.config_preprocessing module

+
+
+WORC.IOparser.config_preprocessing.load_config(config_file_path)
+

Parse a WORC configuration file.

+
+
Arguments:
+
config_file_path: path to the configuration file to be parsed.
+
Returns:
+
settings_dict: dictionary containing all parsed settings.
+
+
+ +
+
+

WORC.IOparser.config_segmentix module

+
+
+WORC.IOparser.config_segmentix.load_config(config_file_path)
+

Parse a segmentix configuration file.

+
+
Arguments:
+
config_file_path: path to the configuration file to be parsed.
+
Returns:
+
settings_dict: dictionary containing all parsed settings.
+
+
+ +
+
+

Module contents

+
+
+ + +
+
+
+ +
+